unique_web_search 2026.34.0.dev3__tar.gz → 2026.34.0.dev5__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_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/PKG-INFO +4 -4
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/pyproject.toml +4 -4
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/bing.py +29 -6
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/README.md +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/client_settings.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/invocation_stats.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/metrics.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/prompts.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/service.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/_registry.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/exceptions.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/prompts/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/prompts/guidelines.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/prompts/guidelines_with_keywords.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/prompts/rejection_response.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/prompts/system_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/prompts/user_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/argument_screening/service.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/client/proxy_config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/cleaning/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/cleaning/character_sanitize.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/cleaning/clean.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/cleaning/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/base.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/llm_guard_judge.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/llm_keyword_redact.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/llm_process.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/judge_and_sanitize_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/judge_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/keyword_extract_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/page_context.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/sanitize_rules.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/system_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/prompts/user_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/settings.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/processing_strategies/truncate.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/content_processing/service.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/README.md +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/base.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/basic.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/firecrawl.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/jina.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/registry.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/tavily.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/url_safety/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/crawlers/utils.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/README.md +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/base_config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/base_executor.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/context.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/modes.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/executor.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/prompts/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/prompts/refine_query_system_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/prompts/tool_description.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/prompts/tool_description_for_system_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v1/strategy.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/executor.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/prompts/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/prompts/step_query_description.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/prompts/tool_description.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/prompts/tool_description_for_system_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v2/strategy.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/config.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/executor.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/prompts/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/prompts/tool_description.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/prompts/tool_description_for_system_prompt.j2 +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/executors/v3/strategy.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/helpers.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/message_log.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/proxy/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/proxy/bridge.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/proxy/mappers.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/query_elicitation.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/README.md +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/base.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/brave.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/custom_api.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/google.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/perplexity.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/registry.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/google/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/bing/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/bing/client.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/bing/models.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/bing/runner.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/models.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/response_parsing.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/vertexai/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/vertexai/client.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/vertexai/exceptions.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/vertexai/gemini.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/utils/grounding/vertexai/response_handler.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/search_engine/vertexai.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/snippet_judge/__init__.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/snippet_judge/prompts.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/snippet_judge/schema.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/snippet_judge/service.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/services/structured_llm.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/settings.py +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/skills/web-search-v3.md +0 -0
- {unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: unique-web-search
|
|
3
|
-
Version: 2026.34.0.
|
|
3
|
+
Version: 2026.34.0.dev5
|
|
4
4
|
Summary:
|
|
5
5
|
Author: Andreas Hauri, Gustav Hartz, Rami Azouz
|
|
6
6
|
Author-email: Andreas Hauri <andreas@unique.ch>, Gustav Hartz <gustav.hartz.ext@unique.ch>, Rami Azouz <rami.ext@unique.ch>
|
|
@@ -16,7 +16,7 @@ Requires-Dist: tavily-python>=0.7.11,<1
|
|
|
16
16
|
Requires-Dist: unidecode>=1.4.0,<2
|
|
17
17
|
Requires-Dist: azure-ai-projects>=2.3,<3
|
|
18
18
|
Requires-Dist: azure-identity>=1.25.0,<2
|
|
19
|
-
Requires-Dist: unique-toolkit[monitoring]>=2026.34.0.
|
|
19
|
+
Requires-Dist: unique-toolkit[monitoring]>=2026.34.0.dev6,<2026.34.0rc0
|
|
20
20
|
Requires-Dist: azure-core>=1.36.0,<2
|
|
21
21
|
Requires-Dist: google-cloud-aiplatform>=1.128.0,<2
|
|
22
22
|
Requires-Dist: google-auth>=2.43.0,<3
|
|
@@ -25,8 +25,8 @@ Requires-Dist: rapidfuzz>=3.0.0,<4
|
|
|
25
25
|
Requires-Dist: httpx>=0.28.1
|
|
26
26
|
Requires-Dist: certifi>=2025.11.12
|
|
27
27
|
Requires-Dist: jinja2>=3.1.6
|
|
28
|
-
Requires-Dist: unique-search-proxy-core>=2026.34.0.
|
|
29
|
-
Requires-Dist: unique-search-proxy-sdk>=2026.34.0.
|
|
28
|
+
Requires-Dist: unique-search-proxy-core>=2026.34.0.dev3,<2026.34.0rc0
|
|
29
|
+
Requires-Dist: unique-search-proxy-sdk>=2026.34.0.dev3,<2026.34.0rc0
|
|
30
30
|
Requires-Dist: openai>=1.105.0,<3
|
|
31
31
|
Requires-Python: >=3.12, <4.0
|
|
32
32
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "unique_web_search"
|
|
3
|
-
version = "2026.34.0.
|
|
3
|
+
version = "2026.34.0.dev5"
|
|
4
4
|
description = ""
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12,<4.0"
|
|
@@ -22,7 +22,7 @@ dependencies = [
|
|
|
22
22
|
"unidecode>=1.4.0,<2",
|
|
23
23
|
"azure-ai-projects>=2.3,<3",
|
|
24
24
|
"azure-identity>=1.25.0,<2",
|
|
25
|
-
"unique-toolkit[monitoring]>=2026.34.0.
|
|
25
|
+
"unique-toolkit[monitoring]>=2026.34.0.dev6,<2026.34.0rc0",
|
|
26
26
|
"azure-core>=1.36.0,<2",
|
|
27
27
|
"google-cloud-aiplatform>=1.128.0,<2",
|
|
28
28
|
"google-auth>=2.43.0,<3",
|
|
@@ -31,8 +31,8 @@ dependencies = [
|
|
|
31
31
|
"httpx>=0.28.1",
|
|
32
32
|
"certifi>=2025.11.12",
|
|
33
33
|
"jinja2>=3.1.6",
|
|
34
|
-
"unique-search-proxy-core>=2026.34.0.
|
|
35
|
-
"unique-search-proxy-sdk>=2026.34.0.
|
|
34
|
+
"unique-search-proxy-core>=2026.34.0.dev3,<2026.34.0rc0",
|
|
35
|
+
"unique-search-proxy-sdk>=2026.34.0.dev3,<2026.34.0rc0",
|
|
36
36
|
"openai>=1.105.0,<3",
|
|
37
37
|
]
|
|
38
38
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
-
from typing import override
|
|
2
|
+
from typing import Annotated, Any, override
|
|
3
3
|
|
|
4
|
-
from pydantic import Field
|
|
4
|
+
from pydantic import BeforeValidator, Field
|
|
5
5
|
from unique_search_proxy_core.agent_engines.base import AgentEngineType
|
|
6
6
|
from unique_search_proxy_core.agent_engines.bing.schema import BingAgentConfig
|
|
7
7
|
from unique_search_proxy_core.context import LOCAL_REQUEST_CONTEXT, RequestContext
|
|
8
8
|
from unique_search_proxy_core.param_policy.exposed_params import ExposedParams
|
|
9
9
|
from unique_toolkit._common.default_language_model import DEFAULT_LANGUAGE_MODEL
|
|
10
|
+
from unique_toolkit._common.pydantic.rjsf_tags import RJSFMetaTag
|
|
10
11
|
from unique_toolkit._common.validators import LMI, get_LMI_default_field
|
|
11
12
|
from unique_toolkit.language_model import LanguageModelService
|
|
12
13
|
|
|
@@ -31,13 +32,35 @@ from unique_web_search.services.search_engine.utils.grounding.bing import (
|
|
|
31
32
|
from unique_web_search.settings import env_settings
|
|
32
33
|
|
|
33
34
|
|
|
35
|
+
def _none_as_empty(value: Any) -> Any:
|
|
36
|
+
"""Accept the ``null`` written by previously stored configs."""
|
|
37
|
+
return "" if value is None else value
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# Plain ``str`` instead of ``str | None`` so the config form renders a single
|
|
41
|
+
# text input; a union would render an RJSF branch selector ("… option 1/2").
|
|
42
|
+
_OptionalText = Annotated[str, BeforeValidator(_none_as_empty)]
|
|
43
|
+
|
|
44
|
+
|
|
34
45
|
class BingSearchConfig(BingAgentConfig):
|
|
35
|
-
agent_id:
|
|
36
|
-
|
|
46
|
+
agent_id: Annotated[ # pyright: ignore[reportIncompatibleVariableOverride]
|
|
47
|
+
_OptionalText,
|
|
48
|
+
RJSFMetaTag.StringWidget.textfield(
|
|
49
|
+
placeholder="Leave empty to use the auto-provisioned agent",
|
|
50
|
+
empty_value="",
|
|
51
|
+
),
|
|
52
|
+
] = Field(
|
|
53
|
+
default=env_settings.azure_ai_assistant_id or "",
|
|
37
54
|
description="The ID of the agent to use for the search. **This parameter is temporary and will be auto-provisioned in future versions.**",
|
|
38
55
|
)
|
|
39
|
-
endpoint:
|
|
40
|
-
|
|
56
|
+
endpoint: Annotated[
|
|
57
|
+
_OptionalText,
|
|
58
|
+
RJSFMetaTag.StringWidget.textfield(
|
|
59
|
+
placeholder="Leave empty to use the auto-provisioned resource",
|
|
60
|
+
empty_value="",
|
|
61
|
+
),
|
|
62
|
+
] = Field(
|
|
63
|
+
default=env_settings.azure_ai_project_endpoint or "",
|
|
41
64
|
description="The endpoint to use for the search. **This parameter is not required to be set. It's loaded automatically from auto-provisioned resource**",
|
|
42
65
|
)
|
|
43
66
|
language_model: LMI = get_LMI_default_field(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
{unique_web_search-2026.34.0.dev3 → unique_web_search-2026.34.0.dev5}/src/unique_web_search/utils.py
RENAMED
|
File without changes
|