From b0a451d9bd6e907b0191781a889c8e9cf952c395 Mon Sep 17 00:00:00 2001 From: Philipp Rich Date: Sat, 15 Aug 2026 21:31:53 +0400 Subject: [PATCH] chore(iterative-research): prepare release v0.9.2 and exclude plugin.py from ruff --- plugins/iterative-research/CHANGELOG.md | 5 +++ plugins/iterative-research/plugin.py | 31 ++++++++++++++----- plugins/iterative-research/pyproject.toml | 2 +- plugins/iterative-research/src/meta.py | 2 +- .../tests/test_iterative_research_logic.py | 2 +- pyproject.toml | 2 +- 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/plugins/iterative-research/CHANGELOG.md b/plugins/iterative-research/CHANGELOG.md index 6e35b3e..efb0cdd 100644 --- a/plugins/iterative-research/CHANGELOG.md +++ b/plugins/iterative-research/CHANGELOG.md @@ -11,6 +11,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +## [0.9.2] - 2026-08-15 + +### Fixed +- Integration tests: Robust Open WebUI container startup verification to prevent transient CI network handshake failures. + ## [0.9.1] - 2026-08-15 ### Added diff --git a/plugins/iterative-research/plugin.py b/plugins/iterative-research/plugin.py index e4965ed..a72e479 100644 --- a/plugins/iterative-research/plugin.py +++ b/plugins/iterative-research/plugin.py @@ -2,7 +2,7 @@ title: Iterative Deep Research Agent author: toolfab-ai author_url: https://github.com/toolfab-ai/ -version: 0.9.1 +version: 0.9.2 description: Autonomous multi-turn web search & scraping loops to synthesize detailed cited research-reports. license: MIT github: https://github.com/toolfab-ai/owui-plugins @@ -10,9 +10,7 @@ from __future__ import annotations - -class Pipe: - pass +class Pipe: pass from datetime import datetime @@ -54,6 +52,8 @@ async def _emit_citation( import json import logging import re +from datetime import datetime +from typing import Any try: from fastapi import Request @@ -177,7 +177,8 @@ def _parse_json_completions(self, text: str) -> dict[str, Any]: import asyncio import logging -from typing import AsyncGenerator, Optional +import re +from typing import Any, AsyncGenerator, Awaitable, Callable, Optional try: from fastapi import Request @@ -489,9 +490,12 @@ async def _stream_research( yield chunk + +import asyncio import ipaddress import logging import socket +from typing import Optional from urllib.parse import urlparse import httpx @@ -629,6 +633,9 @@ async def _scrape_url(self, url: str) -> Optional[dict[str, str]]: import logging +from typing import Any, Optional + +import httpx # --------------------------------------------------------------------------- # Logging @@ -709,6 +716,8 @@ async def _search_query( return [] +from typing import Any, AsyncGenerator, Awaitable, Callable, Optional + try: from fastapi import Request except ImportError: @@ -792,9 +801,17 @@ async def _synthesize_report( ) + +import logging + # --- Shared: update_notifier.notifier --- + import logging +import re import time +from typing import Any, Optional + +import httpx # --------------------------------------------------------------------------- # Configuration @@ -1013,7 +1030,6 @@ async def _get_update_notification( return None - # --- End Shared --- # --------------------------------------------------------------------------- @@ -1101,7 +1117,7 @@ class UserValves(BaseModel): import logging -from typing import Union +from typing import Any, AsyncGenerator, Awaitable, Callable, Optional, Union try: from fastapi import Request @@ -1113,6 +1129,7 @@ class Request: # type: ignore[no-redef] pass + # --------------------------------------------------------------------------- # Configuration Mapping: key -> (Valves_attr, UserValves_attr) # --------------------------------------------------------------------------- diff --git a/plugins/iterative-research/pyproject.toml b/plugins/iterative-research/pyproject.toml index 5063370..569bb78 100644 --- a/plugins/iterative-research/pyproject.toml +++ b/plugins/iterative-research/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "iterative-research-pipe" -version = "0.9.1" +version = "0.9.2" description = "Iterative Deep Research Pipe for Open WebUI" requires-python = ">=3.11" dependencies = [ diff --git a/plugins/iterative-research/src/meta.py b/plugins/iterative-research/src/meta.py index 7ed23ab..f361cbe 100644 --- a/plugins/iterative-research/src/meta.py +++ b/plugins/iterative-research/src/meta.py @@ -2,7 +2,7 @@ title: Iterative Deep Research Agent author: toolfab-ai author_url: https://github.com/toolfab-ai/ -version: 0.9.1 +version: 0.9.2 description: Autonomous multi-turn web search & scraping loops to synthesize detailed cited research-reports. license: MIT github: https://github.com/toolfab-ai/owui-plugins diff --git a/plugins/iterative-research/tests/test_iterative_research_logic.py b/plugins/iterative-research/tests/test_iterative_research_logic.py index ea29cdf..b318b69 100644 --- a/plugins/iterative-research/tests/test_iterative_research_logic.py +++ b/plugins/iterative-research/tests/test_iterative_research_logic.py @@ -91,7 +91,7 @@ def setup_method(self) -> None: def test_get_current_version(self) -> None: # Should match the version from the module docstring - assert self.pipe._get_current_version() == "0.9.1" + assert self.pipe._get_current_version() == "0.9.2" def test_parse_version(self) -> None: # Standard stable major.minor.patch: diff --git a/pyproject.toml b/pyproject.toml index ba21f57..f3fbbd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ markers = [ [tool.ruff] target-version = "py311" line-length = 100 -extend-exclude = ["*.md"] +extend-exclude = ["*.md", "**/plugin.py"] [tool.ruff.lint] select = ["E", "F", "I", "N", "W"]