unique_deep_research 3.1.0__tar.gz → 3.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/CHANGELOG.md +4 -1
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/PKG-INFO +5 -2
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/pyproject.toml +1 -1
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/config.py +7 -22
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/service.py +1 -1
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/unique_custom/tools.py +1 -1
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/LICENSE +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/README.md +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/__init__.py +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/markdown_utils.py +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/clarifying_agent.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/openai/oai_research_system_message.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/report_cleanup_prompt.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/research_instructions_agent.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/unique/compress_research_system.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/unique/lead_agent_system.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/unique/report_writer_system_open_deep_research.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/templates/unique/research_agent_system.j2 +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/unique_custom/__init__.py +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/unique_custom/agents.py +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/unique_custom/citation.py +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/unique_custom/state.py +0 -0
- {unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/unique_custom/utils.py +0 -0
|
@@ -5,7 +5,10 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [3.
|
|
8
|
+
## [3.2.0] - 2026-02-03
|
|
9
|
+
- Use a backwards compatible config style
|
|
10
|
+
|
|
11
|
+
## [3.1.0] - 2026-01-30
|
|
9
12
|
- Support other search engines than Google
|
|
10
13
|
|
|
11
14
|
## [3.0.28] - 2026-01-26
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_deep_research
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2.0
|
|
4
4
|
Summary: Deep Research Tool for complex research tasks
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Martin Fadler
|
|
@@ -36,7 +36,10 @@ All notable changes to this project will be documented in this file.
|
|
|
36
36
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
37
37
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
38
38
|
|
|
39
|
-
## [3.
|
|
39
|
+
## [3.2.0] - 2026-02-03
|
|
40
|
+
- Use a backwards compatible config style
|
|
41
|
+
|
|
42
|
+
## [3.1.0] - 2026-01-30
|
|
40
43
|
- Support other search engines than Google
|
|
41
44
|
|
|
42
45
|
## [3.0.28] - 2026-01-26
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
from enum import StrEnum
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import Generic, Literal, TypeVar
|
|
5
5
|
|
|
6
6
|
from jinja2 import Environment, FileSystemLoader
|
|
7
|
-
from pydantic import BaseModel, Field
|
|
7
|
+
from pydantic import BaseModel, Field
|
|
8
8
|
from unique_toolkit._common.validators import LMI, get_LMI_default_field
|
|
9
9
|
from unique_toolkit.agentic.tools.config import get_configuration_dict
|
|
10
10
|
from unique_toolkit.agentic.tools.schemas import BaseToolConfig
|
|
@@ -13,7 +13,6 @@ from unique_web_search.config import (
|
|
|
13
13
|
ActivatedSearchEngine,
|
|
14
14
|
DefaultSearchEngine,
|
|
15
15
|
)
|
|
16
|
-
from unique_web_search.services.search_engine import GoogleConfig
|
|
17
16
|
|
|
18
17
|
# Global template environment for the deep research tool
|
|
19
18
|
TEMPLATE_DIR = Path(__file__).parent / "templates"
|
|
@@ -80,11 +79,6 @@ class OpenAIEngine(BaseEngine[Literal[DeepResearchEngine.OPENAI]]):
|
|
|
80
79
|
class WebToolsConfig(BaseModel):
|
|
81
80
|
model_config = get_configuration_dict()
|
|
82
81
|
|
|
83
|
-
enable: bool = Field(
|
|
84
|
-
default=True,
|
|
85
|
-
description="Allow agent to use web search tools to access the web",
|
|
86
|
-
)
|
|
87
|
-
|
|
88
82
|
search_engine: ActivatedSearchEngine = Field( # pyright: ignore[reportInvalidTypeForm]
|
|
89
83
|
default_factory=DefaultSearchEngine, # pyright: ignore[reportArgumentType]
|
|
90
84
|
description="Search Engine Configuration",
|
|
@@ -96,7 +90,11 @@ class WebToolsConfig(BaseModel):
|
|
|
96
90
|
class Tools(BaseModel):
|
|
97
91
|
model_config = get_configuration_dict()
|
|
98
92
|
|
|
99
|
-
web_tools:
|
|
93
|
+
web_tools: bool = Field(
|
|
94
|
+
default=True,
|
|
95
|
+
description="Allow agent to use web search tools to access the web",
|
|
96
|
+
)
|
|
97
|
+
web_tools_config: WebToolsConfig = Field(
|
|
100
98
|
default=WebToolsConfig(),
|
|
101
99
|
description="Configuration for web search tools",
|
|
102
100
|
)
|
|
@@ -105,19 +103,6 @@ class Tools(BaseModel):
|
|
|
105
103
|
description="Allow agent to use internal search tools access information from the knowledge base and uploaded documents",
|
|
106
104
|
)
|
|
107
105
|
|
|
108
|
-
@field_validator("web_tools", mode="before")
|
|
109
|
-
@classmethod
|
|
110
|
-
def handle_bool_case(cls, v: Any) -> Any:
|
|
111
|
-
if isinstance(v, bool):
|
|
112
|
-
if v:
|
|
113
|
-
# Backward compatibility with old config behaviour
|
|
114
|
-
return WebToolsConfig(
|
|
115
|
-
enable=True, search_engine=GoogleConfig(fetch_size=10)
|
|
116
|
-
)
|
|
117
|
-
else:
|
|
118
|
-
return WebToolsConfig(enable=False)
|
|
119
|
-
return v
|
|
120
|
-
|
|
121
106
|
|
|
122
107
|
class UniqueEngine(BaseEngine[Literal[DeepResearchEngine.UNIQUE]]):
|
|
123
108
|
model_config = get_configuration_dict()
|
|
@@ -427,7 +427,7 @@ class DeepResearchTool(Tool[DeepResearchToolConfig]):
|
|
|
427
427
|
enable_web_tools = True
|
|
428
428
|
enable_internal_tools = True
|
|
429
429
|
if isinstance(self.config.engine, UniqueEngine):
|
|
430
|
-
enable_web_tools = self.config.engine.tools.web_tools
|
|
430
|
+
enable_web_tools = self.config.engine.tools.web_tools
|
|
431
431
|
enable_internal_tools = self.config.engine.tools.internal_tools
|
|
432
432
|
|
|
433
433
|
config = {
|
|
@@ -156,7 +156,7 @@ async def web_search(query: str, config: RunnableConfig) -> str:
|
|
|
156
156
|
raise ValueError("RunnableConfig missing 'configurable' section")
|
|
157
157
|
|
|
158
158
|
configurable = config["configurable"]
|
|
159
|
-
engine_config = configurable["engine_config"].tools.
|
|
159
|
+
engine_config = configurable["engine_config"].tools.web_tools_config.search_engine
|
|
160
160
|
|
|
161
161
|
search_engine_service = get_search_engine_service(
|
|
162
162
|
engine_config, configurable["language_model_service"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_deep_research-3.1.0 → unique_deep_research-3.2.0}/unique_deep_research/markdown_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|