pydantic-ai-slim 1.7.0__tar.gz → 1.8.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.
Potentially problematic release.
This version of pydantic-ai-slim might be problematic. Click here for more details.
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/PKG-INFO +3 -3
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_cli.py +2 -2
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/agent/abstract.py +4 -3
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/direct.py +4 -4
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/openai.py +2 -3
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/.gitignore +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/LICENSE +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/README.md +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/__main__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_a2a.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_agent_graph.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_function_schema.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_griffe.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_instrumentation.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_json_schema.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_mcp.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_otel_messages.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_output.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_parts_manager.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_run_context.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_system_prompt.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_thinking_part.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_tool_manager.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/_utils.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/ag_ui.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/agent/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/agent/wrapper.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/builtin_tools.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/common_tools/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/common_tools/duckduckgo.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/common_tools/tavily.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/dbos/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/dbos/_agent.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/dbos/_mcp_server.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/dbos/_model.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/dbos/_utils.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_agent.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_cache_policies.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_function_toolset.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_mcp_server.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_model.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_toolset.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_types.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_agent.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_function_toolset.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_logfire.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_mcp_server.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_model.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_run_context.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_toolset.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/exceptions.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/ext/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/ext/aci.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/ext/langchain.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/format_prompt.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/mcp.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/messages.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/anthropic.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/bedrock.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/cohere.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/fallback.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/function.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/gemini.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/google.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/groq.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/huggingface.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/instrumented.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/mcp_sampling.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/mistral.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/outlines.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/test.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/models/wrapper.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/output.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/amazon.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/anthropic.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/cohere.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/deepseek.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/google.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/grok.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/groq.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/harmony.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/meta.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/mistral.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/moonshotai.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/openai.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/profiles/qwen.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/anthropic.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/azure.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/bedrock.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/cerebras.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/cohere.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/deepseek.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/fireworks.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/gateway.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/github.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/google.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/google_gla.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/google_vertex.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/grok.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/groq.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/heroku.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/huggingface.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/litellm.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/mistral.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/moonshotai.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/nebius.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/ollama.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/openai.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/openrouter.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/outlines.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/ovhcloud.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/together.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/providers/vercel.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/py.typed +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/result.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/retries.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/run.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/settings.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/tools.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/__init__.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/_dynamic.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/abstract.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/approval_required.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/combined.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/external.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/fastmcp.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/filtered.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/function.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/prefixed.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/prepared.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/renamed.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/toolsets/wrapper.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/usage.py +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pyproject.toml +0 -0
- {pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/venv +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai-slim
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8.0
|
|
4
4
|
Summary: Agent Framework / shim to use Pydantic with LLMs, slim package
|
|
5
5
|
Project-URL: Homepage, https://github.com/pydantic/pydantic-ai/tree/main/pydantic_ai_slim
|
|
6
6
|
Project-URL: Source, https://github.com/pydantic/pydantic-ai/tree/main/pydantic_ai_slim
|
|
@@ -33,7 +33,7 @@ Requires-Dist: genai-prices>=0.0.35
|
|
|
33
33
|
Requires-Dist: griffe>=1.3.2
|
|
34
34
|
Requires-Dist: httpx>=0.27
|
|
35
35
|
Requires-Dist: opentelemetry-api>=1.28.0
|
|
36
|
-
Requires-Dist: pydantic-graph==1.
|
|
36
|
+
Requires-Dist: pydantic-graph==1.8.0
|
|
37
37
|
Requires-Dist: pydantic>=2.10
|
|
38
38
|
Requires-Dist: typing-inspection>=0.4.0
|
|
39
39
|
Provides-Extra: a2a
|
|
@@ -57,7 +57,7 @@ Requires-Dist: dbos>=1.14.0; extra == 'dbos'
|
|
|
57
57
|
Provides-Extra: duckduckgo
|
|
58
58
|
Requires-Dist: ddgs>=9.0.0; extra == 'duckduckgo'
|
|
59
59
|
Provides-Extra: evals
|
|
60
|
-
Requires-Dist: pydantic-evals==1.
|
|
60
|
+
Requires-Dist: pydantic-evals==1.8.0; extra == 'evals'
|
|
61
61
|
Provides-Extra: fastmcp
|
|
62
62
|
Requires-Dist: fastmcp>=2.12.0; extra == 'fastmcp'
|
|
63
63
|
Provides-Extra: google
|
|
@@ -103,7 +103,7 @@ def cli_exit(prog_name: str = 'pai'): # pragma: no cover
|
|
|
103
103
|
|
|
104
104
|
|
|
105
105
|
def cli( # noqa: C901
|
|
106
|
-
args_list: Sequence[str] | None = None, *, prog_name: str = 'pai', default_model: str = 'openai:gpt-
|
|
106
|
+
args_list: Sequence[str] | None = None, *, prog_name: str = 'pai', default_model: str = 'openai:gpt-5'
|
|
107
107
|
) -> int:
|
|
108
108
|
"""Run the CLI and return the exit code for the process."""
|
|
109
109
|
parser = argparse.ArgumentParser(
|
|
@@ -124,7 +124,7 @@ Special prompts:
|
|
|
124
124
|
'-m',
|
|
125
125
|
'--model',
|
|
126
126
|
nargs='?',
|
|
127
|
-
help=f'Model to use, in format "<provider>:<model>" e.g. "openai:gpt-
|
|
127
|
+
help=f'Model to use, in format "<provider>:<model>" e.g. "openai:gpt-5" or "anthropic:claude-sonnet-4-5". Defaults to "{default_model}".',
|
|
128
128
|
)
|
|
129
129
|
# we don't want to autocomplete or list models that don't include the provider,
|
|
130
130
|
# e.g. we want to show `openai:gpt-4o` but not `gpt-4o`
|
|
@@ -683,6 +683,9 @@ class AbstractAgent(Generic[AgentDepsT, OutputDataT], ABC):
|
|
|
683
683
|
An async iterable of stream events `AgentStreamEvent` and finally a `AgentRunResultEvent` with the final
|
|
684
684
|
run result.
|
|
685
685
|
"""
|
|
686
|
+
if infer_name and self.name is None:
|
|
687
|
+
self._infer_name(inspect.currentframe())
|
|
688
|
+
|
|
686
689
|
# unfortunately this hack of returning a generator rather than defining it right here is
|
|
687
690
|
# required to allow overloads of this method to work in python's typing system, or at least with pyright
|
|
688
691
|
# or at least I couldn't make it work without
|
|
@@ -696,7 +699,6 @@ class AbstractAgent(Generic[AgentDepsT, OutputDataT], ABC):
|
|
|
696
699
|
model_settings=model_settings,
|
|
697
700
|
usage_limits=usage_limits,
|
|
698
701
|
usage=usage,
|
|
699
|
-
infer_name=infer_name,
|
|
700
702
|
toolsets=toolsets,
|
|
701
703
|
builtin_tools=builtin_tools,
|
|
702
704
|
)
|
|
@@ -713,7 +715,6 @@ class AbstractAgent(Generic[AgentDepsT, OutputDataT], ABC):
|
|
|
713
715
|
model_settings: ModelSettings | None = None,
|
|
714
716
|
usage_limits: _usage.UsageLimits | None = None,
|
|
715
717
|
usage: _usage.RunUsage | None = None,
|
|
716
|
-
infer_name: bool = True,
|
|
717
718
|
toolsets: Sequence[AbstractToolset[AgentDepsT]] | None = None,
|
|
718
719
|
builtin_tools: Sequence[AbstractBuiltinTool] | None = None,
|
|
719
720
|
) -> AsyncIterator[_messages.AgentStreamEvent | AgentRunResultEvent[Any]]:
|
|
@@ -739,7 +740,7 @@ class AbstractAgent(Generic[AgentDepsT, OutputDataT], ABC):
|
|
|
739
740
|
model_settings=model_settings,
|
|
740
741
|
usage_limits=usage_limits,
|
|
741
742
|
usage=usage,
|
|
742
|
-
infer_name=
|
|
743
|
+
infer_name=False,
|
|
743
744
|
toolsets=toolsets,
|
|
744
745
|
builtin_tools=builtin_tools,
|
|
745
746
|
event_stream_handler=event_stream_handler,
|
|
@@ -50,7 +50,7 @@ async def model_request(
|
|
|
50
50
|
|
|
51
51
|
async def main():
|
|
52
52
|
model_response = await model_request(
|
|
53
|
-
'anthropic:claude-
|
|
53
|
+
'anthropic:claude-haiku-4-5',
|
|
54
54
|
[ModelRequest.user_text_prompt('What is the capital of France?')] # (1)!
|
|
55
55
|
)
|
|
56
56
|
print(model_response)
|
|
@@ -58,7 +58,7 @@ async def model_request(
|
|
|
58
58
|
ModelResponse(
|
|
59
59
|
parts=[TextPart(content='The capital of France is Paris.')],
|
|
60
60
|
usage=RequestUsage(input_tokens=56, output_tokens=7),
|
|
61
|
-
model_name='claude-
|
|
61
|
+
model_name='claude-haiku-4-5',
|
|
62
62
|
timestamp=datetime.datetime(...),
|
|
63
63
|
)
|
|
64
64
|
'''
|
|
@@ -103,7 +103,7 @@ def model_request_sync(
|
|
|
103
103
|
from pydantic_ai.direct import model_request_sync
|
|
104
104
|
|
|
105
105
|
model_response = model_request_sync(
|
|
106
|
-
'anthropic:claude-
|
|
106
|
+
'anthropic:claude-haiku-4-5',
|
|
107
107
|
[ModelRequest.user_text_prompt('What is the capital of France?')] # (1)!
|
|
108
108
|
)
|
|
109
109
|
print(model_response)
|
|
@@ -111,7 +111,7 @@ def model_request_sync(
|
|
|
111
111
|
ModelResponse(
|
|
112
112
|
parts=[TextPart(content='The capital of France is Paris.')],
|
|
113
113
|
usage=RequestUsage(input_tokens=56, output_tokens=7),
|
|
114
|
-
model_name='claude-
|
|
114
|
+
model_name='claude-haiku-4-5',
|
|
115
115
|
timestamp=datetime.datetime(...),
|
|
116
116
|
)
|
|
117
117
|
'''
|
|
@@ -1148,10 +1148,10 @@ class OpenAIResponsesModel(Model):
|
|
|
1148
1148
|
+ list(model_settings.get('openai_builtin_tools', []))
|
|
1149
1149
|
+ self._get_tools(model_request_parameters)
|
|
1150
1150
|
)
|
|
1151
|
-
|
|
1151
|
+
profile = OpenAIModelProfile.from_profile(self.profile)
|
|
1152
1152
|
if not tools:
|
|
1153
1153
|
tool_choice: Literal['none', 'required', 'auto'] | None = None
|
|
1154
|
-
elif not model_request_parameters.allow_text_output:
|
|
1154
|
+
elif not model_request_parameters.allow_text_output and profile.openai_supports_tool_choice_required:
|
|
1155
1155
|
tool_choice = 'required'
|
|
1156
1156
|
else:
|
|
1157
1157
|
tool_choice = 'auto'
|
|
@@ -1184,7 +1184,6 @@ class OpenAIResponsesModel(Model):
|
|
|
1184
1184
|
text = text or {}
|
|
1185
1185
|
text['verbosity'] = verbosity
|
|
1186
1186
|
|
|
1187
|
-
profile = OpenAIModelProfile.from_profile(self.profile)
|
|
1188
1187
|
unsupported_model_settings = profile.openai_unsupported_model_settings
|
|
1189
1188
|
for setting in unsupported_model_settings:
|
|
1190
1189
|
model_settings.pop(setting, None)
|
|
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
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/dbos/_mcp_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/__init__.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_mcp_server.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_model.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_toolset.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/prefect/_types.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/__init__.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_logfire.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_mcp_server.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_model.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_run_context.py
RENAMED
|
File without changes
|
{pydantic_ai_slim-1.7.0 → pydantic_ai_slim-1.8.0}/pydantic_ai/durable_exec/temporal/_toolset.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
|
|
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
|