pydantic-ai-slim 0.6.1__py3-none-any.whl → 0.7.0__py3-none-any.whl

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.

Files changed (63) hide show
  1. pydantic_ai/__init__.py +5 -0
  2. pydantic_ai/_a2a.py +6 -4
  3. pydantic_ai/_agent_graph.py +32 -32
  4. pydantic_ai/_cli.py +3 -3
  5. pydantic_ai/_output.py +8 -0
  6. pydantic_ai/_tool_manager.py +3 -0
  7. pydantic_ai/_utils.py +7 -1
  8. pydantic_ai/ag_ui.py +25 -14
  9. pydantic_ai/{agent.py → agent/__init__.py} +217 -1026
  10. pydantic_ai/agent/abstract.py +942 -0
  11. pydantic_ai/agent/wrapper.py +227 -0
  12. pydantic_ai/builtin_tools.py +105 -0
  13. pydantic_ai/direct.py +9 -9
  14. pydantic_ai/durable_exec/__init__.py +0 -0
  15. pydantic_ai/durable_exec/temporal/__init__.py +83 -0
  16. pydantic_ai/durable_exec/temporal/_agent.py +699 -0
  17. pydantic_ai/durable_exec/temporal/_function_toolset.py +92 -0
  18. pydantic_ai/durable_exec/temporal/_logfire.py +48 -0
  19. pydantic_ai/durable_exec/temporal/_mcp_server.py +145 -0
  20. pydantic_ai/durable_exec/temporal/_model.py +168 -0
  21. pydantic_ai/durable_exec/temporal/_run_context.py +50 -0
  22. pydantic_ai/durable_exec/temporal/_toolset.py +77 -0
  23. pydantic_ai/ext/aci.py +10 -9
  24. pydantic_ai/ext/langchain.py +4 -2
  25. pydantic_ai/mcp.py +203 -75
  26. pydantic_ai/messages.py +75 -13
  27. pydantic_ai/models/__init__.py +66 -8
  28. pydantic_ai/models/anthropic.py +135 -18
  29. pydantic_ai/models/bedrock.py +16 -5
  30. pydantic_ai/models/cohere.py +11 -4
  31. pydantic_ai/models/fallback.py +4 -2
  32. pydantic_ai/models/function.py +18 -4
  33. pydantic_ai/models/gemini.py +20 -9
  34. pydantic_ai/models/google.py +53 -15
  35. pydantic_ai/models/groq.py +47 -11
  36. pydantic_ai/models/huggingface.py +26 -11
  37. pydantic_ai/models/instrumented.py +3 -1
  38. pydantic_ai/models/mcp_sampling.py +3 -1
  39. pydantic_ai/models/mistral.py +27 -17
  40. pydantic_ai/models/openai.py +97 -33
  41. pydantic_ai/models/test.py +12 -0
  42. pydantic_ai/models/wrapper.py +6 -2
  43. pydantic_ai/profiles/groq.py +23 -0
  44. pydantic_ai/profiles/openai.py +1 -1
  45. pydantic_ai/providers/google.py +7 -7
  46. pydantic_ai/providers/groq.py +2 -0
  47. pydantic_ai/result.py +21 -55
  48. pydantic_ai/run.py +357 -0
  49. pydantic_ai/tools.py +0 -1
  50. pydantic_ai/toolsets/__init__.py +2 -0
  51. pydantic_ai/toolsets/_dynamic.py +87 -0
  52. pydantic_ai/toolsets/abstract.py +23 -3
  53. pydantic_ai/toolsets/combined.py +19 -4
  54. pydantic_ai/toolsets/deferred.py +10 -2
  55. pydantic_ai/toolsets/function.py +23 -8
  56. pydantic_ai/toolsets/prefixed.py +4 -0
  57. pydantic_ai/toolsets/wrapper.py +14 -1
  58. {pydantic_ai_slim-0.6.1.dist-info → pydantic_ai_slim-0.7.0.dist-info}/METADATA +7 -5
  59. pydantic_ai_slim-0.7.0.dist-info/RECORD +115 -0
  60. pydantic_ai_slim-0.6.1.dist-info/RECORD +0 -100
  61. {pydantic_ai_slim-0.6.1.dist-info → pydantic_ai_slim-0.7.0.dist-info}/WHEEL +0 -0
  62. {pydantic_ai_slim-0.6.1.dist-info → pydantic_ai_slim-0.7.0.dist-info}/entry_points.txt +0 -0
  63. {pydantic_ai_slim-0.6.1.dist-info → pydantic_ai_slim-0.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import asyncio
4
4
  from collections.abc import Sequence
5
5
  from contextlib import AsyncExitStack
6
- from dataclasses import dataclass, field
6
+ from dataclasses import dataclass, field, replace
7
7
  from typing import Any, Callable
8
8
 
9
9
  from typing_extensions import Self
@@ -40,6 +40,14 @@ class CombinedToolset(AbstractToolset[AgentDepsT]):
40
40
  self._entered_count = 0
41
41
  self._exit_stack = None
42
42
 
43
+ @property
44
+ def id(self) -> str | None:
45
+ return None # pragma: no cover
46
+
47
+ @property
48
+ def label(self) -> str:
49
+ return f'{self.__class__.__name__}({", ".join(toolset.label for toolset in self.toolsets)})' # pragma: no cover
50
+
43
51
  async def __aenter__(self) -> Self:
44
52
  async with self._enter_lock:
45
53
  if self._entered_count == 0:
@@ -63,13 +71,15 @@ class CombinedToolset(AbstractToolset[AgentDepsT]):
63
71
 
64
72
  for toolset, tools in zip(self.toolsets, toolsets_tools):
65
73
  for name, tool in tools.items():
66
- if existing_tools := all_tools.get(name):
74
+ tool_toolset = tool.toolset
75
+ if existing_tool := all_tools.get(name):
76
+ capitalized_toolset_label = tool_toolset.label[0].upper() + tool_toolset.label[1:]
67
77
  raise UserError(
68
- f'{toolset.name} defines a tool whose name conflicts with existing tool from {existing_tools.toolset.name}: {name!r}. {toolset.tool_name_conflict_hint}'
78
+ f'{capitalized_toolset_label} defines a tool whose name conflicts with existing tool from {existing_tool.toolset.label}: {name!r}. {toolset.tool_name_conflict_hint}'
69
79
  )
70
80
 
71
81
  all_tools[name] = _CombinedToolsetTool(
72
- toolset=tool.toolset,
82
+ toolset=tool_toolset,
73
83
  tool_def=tool.tool_def,
74
84
  max_retries=tool.max_retries,
75
85
  args_validator=tool.args_validator,
@@ -87,3 +97,8 @@ class CombinedToolset(AbstractToolset[AgentDepsT]):
87
97
  def apply(self, visitor: Callable[[AbstractToolset[AgentDepsT]], None]) -> None:
88
98
  for toolset in self.toolsets:
89
99
  toolset.apply(visitor)
100
+
101
+ def visit_and_replace(
102
+ self, visitor: Callable[[AbstractToolset[AgentDepsT]], AbstractToolset[AgentDepsT]]
103
+ ) -> AbstractToolset[AgentDepsT]:
104
+ return replace(self, toolsets=[toolset.visit_and_replace(visitor) for toolset in self.toolsets])
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from dataclasses import dataclass, replace
3
+ from dataclasses import replace
4
4
  from typing import Any
5
5
 
6
6
  from pydantic_core import SchemaValidator, core_schema
@@ -12,7 +12,6 @@ from .abstract import AbstractToolset, ToolsetTool
12
12
  TOOL_SCHEMA_VALIDATOR = SchemaValidator(schema=core_schema.any_schema())
13
13
 
14
14
 
15
- @dataclass
16
15
  class DeferredToolset(AbstractToolset[AgentDepsT]):
17
16
  """A toolset that holds deferred tools whose results will be produced outside of the Pydantic AI agent run in which they were called.
18
17
 
@@ -20,6 +19,15 @@ class DeferredToolset(AbstractToolset[AgentDepsT]):
20
19
  """
21
20
 
22
21
  tool_defs: list[ToolDefinition]
22
+ _id: str | None
23
+
24
+ def __init__(self, tool_defs: list[ToolDefinition], *, id: str | None = None):
25
+ self.tool_defs = tool_defs
26
+ self._id = id
27
+
28
+ @property
29
+ def id(self) -> str | None:
30
+ return self._id
23
31
 
24
32
  async def get_tools(self, ctx: RunContext[AgentDepsT]) -> dict[str, ToolsetTool[AgentDepsT]]:
25
33
  return {
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Awaitable, Sequence
4
- from dataclasses import dataclass, field, replace
4
+ from dataclasses import dataclass, replace
5
5
  from typing import Any, Callable, overload
6
6
 
7
7
  from pydantic.json_schema import GenerateJsonSchema
@@ -20,30 +20,40 @@ from .abstract import AbstractToolset, ToolsetTool
20
20
 
21
21
 
22
22
  @dataclass
23
- class _FunctionToolsetTool(ToolsetTool[AgentDepsT]):
23
+ class FunctionToolsetTool(ToolsetTool[AgentDepsT]):
24
24
  """A tool definition for a function toolset tool that keeps track of the function to call."""
25
25
 
26
26
  call_func: Callable[[dict[str, Any], RunContext[AgentDepsT]], Awaitable[Any]]
27
+ is_async: bool
27
28
 
28
29
 
29
- @dataclass(init=False)
30
30
  class FunctionToolset(AbstractToolset[AgentDepsT]):
31
31
  """A toolset that lets Python functions be used as tools.
32
32
 
33
33
  See [toolset docs](../toolsets.md#function-toolset) for more information.
34
34
  """
35
35
 
36
- max_retries: int = field(default=1)
37
- tools: dict[str, Tool[Any]] = field(default_factory=dict)
36
+ max_retries: int
37
+ tools: dict[str, Tool[Any]]
38
+ _id: str | None
38
39
 
39
- def __init__(self, tools: Sequence[Tool[AgentDepsT] | ToolFuncEither[AgentDepsT, ...]] = [], max_retries: int = 1):
40
+ def __init__(
41
+ self,
42
+ tools: Sequence[Tool[AgentDepsT] | ToolFuncEither[AgentDepsT, ...]] = [],
43
+ max_retries: int = 1,
44
+ *,
45
+ id: str | None = None,
46
+ ):
40
47
  """Build a new function toolset.
41
48
 
42
49
  Args:
43
50
  tools: The tools to add to the toolset.
44
51
  max_retries: The maximum number of retries for each tool during a run.
52
+ id: An optional unique ID for the toolset. A toolset needs to have an ID in order to be used in a durable execution environment like Temporal, in which case the ID will be used to identify the toolset's activities within the workflow.
45
53
  """
46
54
  self.max_retries = max_retries
55
+ self._id = id
56
+
47
57
  self.tools = {}
48
58
  for tool in tools:
49
59
  if isinstance(tool, Tool):
@@ -51,6 +61,10 @@ class FunctionToolset(AbstractToolset[AgentDepsT]):
51
61
  else:
52
62
  self.add_function(tool)
53
63
 
64
+ @property
65
+ def id(self) -> str | None:
66
+ return self._id
67
+
54
68
  @overload
55
69
  def tool(self, func: ToolFuncEither[AgentDepsT, ToolParams], /) -> ToolFuncEither[AgentDepsT, ToolParams]: ...
56
70
 
@@ -222,17 +236,18 @@ class FunctionToolset(AbstractToolset[AgentDepsT]):
222
236
  else:
223
237
  raise UserError(f'Tool name conflicts with previously renamed tool: {new_name!r}.')
224
238
 
225
- tools[new_name] = _FunctionToolsetTool(
239
+ tools[new_name] = FunctionToolsetTool(
226
240
  toolset=self,
227
241
  tool_def=tool_def,
228
242
  max_retries=tool.max_retries if tool.max_retries is not None else self.max_retries,
229
243
  args_validator=tool.function_schema.validator,
230
244
  call_func=tool.function_schema.call,
245
+ is_async=tool.function_schema.is_async,
231
246
  )
232
247
  return tools
233
248
 
234
249
  async def call_tool(
235
250
  self, name: str, tool_args: dict[str, Any], ctx: RunContext[AgentDepsT], tool: ToolsetTool[AgentDepsT]
236
251
  ) -> Any:
237
- assert isinstance(tool, _FunctionToolsetTool)
252
+ assert isinstance(tool, FunctionToolsetTool)
238
253
  return await tool.call_func(tool_args, ctx)
@@ -17,6 +17,10 @@ class PrefixedToolset(WrapperToolset[AgentDepsT]):
17
17
 
18
18
  prefix: str
19
19
 
20
+ @property
21
+ def tool_name_conflict_hint(self) -> str:
22
+ return 'Change the `prefix` attribute to avoid name conflicts.'
23
+
20
24
  async def get_tools(self, ctx: RunContext[AgentDepsT]) -> dict[str, ToolsetTool[AgentDepsT]]:
21
25
  return {
22
26
  new_name: replace(
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from dataclasses import dataclass
3
+ from dataclasses import dataclass, replace
4
4
  from typing import Any, Callable
5
5
 
6
6
  from typing_extensions import Self
@@ -18,6 +18,14 @@ class WrapperToolset(AbstractToolset[AgentDepsT]):
18
18
 
19
19
  wrapped: AbstractToolset[AgentDepsT]
20
20
 
21
+ @property
22
+ def id(self) -> str | None:
23
+ return None # pragma: no cover
24
+
25
+ @property
26
+ def label(self) -> str:
27
+ return f'{self.__class__.__name__}({self.wrapped.label})'
28
+
21
29
  async def __aenter__(self) -> Self:
22
30
  await self.wrapped.__aenter__()
23
31
  return self
@@ -35,3 +43,8 @@ class WrapperToolset(AbstractToolset[AgentDepsT]):
35
43
 
36
44
  def apply(self, visitor: Callable[[AbstractToolset[AgentDepsT]], None]) -> None:
37
45
  self.wrapped.apply(visitor)
46
+
47
+ def visit_and_replace(
48
+ self, visitor: Callable[[AbstractToolset[AgentDepsT]], AbstractToolset[AgentDepsT]]
49
+ ) -> AbstractToolset[AgentDepsT]:
50
+ return replace(self, wrapped=self.wrapped.visit_and_replace(visitor))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai-slim
3
- Version: 0.6.1
3
+ Version: 0.7.0
4
4
  Summary: Agent Framework / shim to use Pydantic with LLMs, slim package
5
5
  Author-email: Samuel Colvin <samuel@pydantic.dev>, Marcelo Trylesinski <marcelotryle@gmail.com>, David Montague <david@pydantic.dev>, Alex Hall <alex@pydantic.dev>, Douwe Maan <douwe@pydantic.dev>
6
6
  License-Expression: MIT
@@ -30,7 +30,7 @@ Requires-Dist: exceptiongroup; python_version < '3.11'
30
30
  Requires-Dist: griffe>=1.3.2
31
31
  Requires-Dist: httpx>=0.27
32
32
  Requires-Dist: opentelemetry-api>=1.28.0
33
- Requires-Dist: pydantic-graph==0.6.1
33
+ Requires-Dist: pydantic-graph==0.7.0
34
34
  Requires-Dist: pydantic>=2.10
35
35
  Requires-Dist: typing-inspection>=0.4.0
36
36
  Provides-Extra: a2a
@@ -51,15 +51,15 @@ Requires-Dist: cohere>=5.16.0; (platform_system != 'Emscripten') and extra == 'c
51
51
  Provides-Extra: duckduckgo
52
52
  Requires-Dist: ddgs>=9.0.0; extra == 'duckduckgo'
53
53
  Provides-Extra: evals
54
- Requires-Dist: pydantic-evals==0.6.1; extra == 'evals'
54
+ Requires-Dist: pydantic-evals==0.7.0; extra == 'evals'
55
55
  Provides-Extra: google
56
56
  Requires-Dist: google-genai>=1.28.0; extra == 'google'
57
57
  Provides-Extra: groq
58
- Requires-Dist: groq>=0.19.0; extra == 'groq'
58
+ Requires-Dist: groq>=0.25.0; extra == 'groq'
59
59
  Provides-Extra: huggingface
60
60
  Requires-Dist: huggingface-hub[inference]>=0.33.5; extra == 'huggingface'
61
61
  Provides-Extra: logfire
62
- Requires-Dist: logfire>=3.11.0; extra == 'logfire'
62
+ Requires-Dist: logfire>=3.14.1; extra == 'logfire'
63
63
  Provides-Extra: mcp
64
64
  Requires-Dist: mcp>=1.10.0; (python_version >= '3.10') and extra == 'mcp'
65
65
  Provides-Extra: mistral
@@ -70,6 +70,8 @@ Provides-Extra: retries
70
70
  Requires-Dist: tenacity>=8.2.3; extra == 'retries'
71
71
  Provides-Extra: tavily
72
72
  Requires-Dist: tavily-python>=0.5.0; extra == 'tavily'
73
+ Provides-Extra: temporal
74
+ Requires-Dist: temporalio>=1.15.0; extra == 'temporal'
73
75
  Provides-Extra: vertexai
74
76
  Requires-Dist: google-auth>=2.36.0; extra == 'vertexai'
75
77
  Requires-Dist: requests>=2.32.2; extra == 'vertexai'
@@ -0,0 +1,115 @@
1
+ pydantic_ai/__init__.py,sha256=Uy0J4BgX4CXsa0sUUb5K0FC4uUWGIwBici93QHLkNsk,1478
2
+ pydantic_ai/__main__.py,sha256=Q_zJU15DUA01YtlJ2mnaLCoId2YmgmreVEERGuQT-Y0,132
3
+ pydantic_ai/_a2a.py,sha256=wux52DmJQceLJwF71qxb0Uqupk3aS61m005-NmuWZIw,12164
4
+ pydantic_ai/_agent_graph.py,sha256=nAtd8XjS_Bj5_AHwBrJJ8POkEbxNS4kj30wNDpNRYFY,37406
5
+ pydantic_ai/_cli.py,sha256=nr3hW7Y4vHzk7oXpfOCupwuJ6Z2SmZLz2dYS6ljCpuc,13281
6
+ pydantic_ai/_function_schema.py,sha256=YFHxb6bKfhgeY6rNdbuYXgndGCDanveUx2258xkSNlQ,11233
7
+ pydantic_ai/_griffe.py,sha256=Ugft16ZHw9CN_6-lW0Svn6jESK9zHXO_x4utkGBkbBI,5253
8
+ pydantic_ai/_mcp.py,sha256=PuvwnlLjv7YYOa9AZJCrklevBug99zGMhwJCBGG7BHQ,5626
9
+ pydantic_ai/_output.py,sha256=6Vxlw8F9nRWCkjy4qvFF8tmDi2xZn7Dq72T6s4C5kAM,37640
10
+ pydantic_ai/_parts_manager.py,sha256=lWXN75zLy_MSDz4Wib65lqIPHk1SY8KDU8_OYaxG3yw,17788
11
+ pydantic_ai/_run_context.py,sha256=pqb_HPXytE1Z9zZRRuBboRYes_tVTC75WGTpZgnb2Ko,1691
12
+ pydantic_ai/_system_prompt.py,sha256=lUSq-gDZjlYTGtd6BUm54yEvTIvgdwBmJ8mLsNZZtYU,1142
13
+ pydantic_ai/_thinking_part.py,sha256=x80-Vkon16GOyq3W6f2qzafTVPC5dCgF7QD3k8ZMmYU,1304
14
+ pydantic_ai/_tool_manager.py,sha256=0_4Ed8kUj_Z_AdTpyBdz5rdYbmlCxf1DUh2vrIk7rYE,9031
15
+ pydantic_ai/_utils.py,sha256=Ge9rtu8NJvsfSFjx1MduITPr0-9b_I0emDFSpwJbYes,16372
16
+ pydantic_ai/ag_ui.py,sha256=2cKSSvl1j0pxVNCFQO82l7LVtkJMt0HUaEXGwy3y558,26463
17
+ pydantic_ai/builtin_tools.py,sha256=mwIq-7m0ZSbCZp1zxswjRfQM648QE01IDfifvqDGxUQ,3023
18
+ pydantic_ai/direct.py,sha256=mduSzkCapSAuzV90da1aARy9n-Jwj6papgbMWGbWIkQ,14943
19
+ pydantic_ai/exceptions.py,sha256=vHRH_b6JpMi5p5EGhz2O4FSeKGJv3WMD291Y1FjHYFc,3528
20
+ pydantic_ai/format_prompt.py,sha256=Or-Ytq55RQb1UJqy2HKIyPpZ-knWXfdDP3Z6tNc6Orw,4244
21
+ pydantic_ai/mcp.py,sha256=n9_ECHmFE-eOZmb1bDh94oy81caefdtSGo1oH2KKWMo,31162
22
+ pydantic_ai/messages.py,sha256=kLw3yBtUEoRQ43zZ43PpasgC6EeVbSQi4Fl0PB1tQwA,45700
23
+ pydantic_ai/output.py,sha256=54Cwd1RruXlA5hucZ1h-SxFrzKHJuLvYvLtH9iyg2GI,11988
24
+ pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ pydantic_ai/result.py,sha256=PgsaEcIFt9rkWs3F3RW2jqI8Qhmf5gEtCHZ7jVr2d34,19765
26
+ pydantic_ai/retries.py,sha256=Xkj-gZAd3wc12CVsIErVYx2EIdIwD5yJOL4Ou6jDQ2s,10498
27
+ pydantic_ai/run.py,sha256=VSZEadgzRc_tytnHt2Gemdv9z05e6aEJTNPQ7DmuUck,15130
28
+ pydantic_ai/settings.py,sha256=yuUZ7-GkdPB-Gbx71kSdh8dSr6gwM9gEwk84qNxPO_I,3552
29
+ pydantic_ai/tools.py,sha256=H7pCfLYvtQ9j2I5qQGF_UCzUpufO14vEgLowFE8msNA,14764
30
+ pydantic_ai/usage.py,sha256=ceC9HHflyM_rkLBJqtaWPc-M8bEoq5rZF4XwGblPQoU,5830
31
+ pydantic_ai/agent/__init__.py,sha256=GrQ_HqEo8Usw4QGzCOqD6zjn_htDs2zK53ocm1Fr4WM,60033
32
+ pydantic_ai/agent/abstract.py,sha256=m83vk00sV7q3MqIHucExkMsiEF52dANHptGl8TNEkbw,42035
33
+ pydantic_ai/agent/wrapper.py,sha256=cVIpfPWF63oTD1jeWdFY-OS_ty2nwbeSwsI7upd30Kw,9155
34
+ pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ pydantic_ai/common_tools/duckduckgo.py,sha256=aQsm7zKuoRNgPM8ltbdyj8dPkREEkQenimsf_laF6kc,2245
36
+ pydantic_ai/common_tools/tavily.py,sha256=Q1xxSF5HtXAaZ10Pp-OaDOHXwJf2mco9wScGEQXD7E4,2495
37
+ pydantic_ai/durable_exec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ pydantic_ai/durable_exec/temporal/__init__.py,sha256=kzUnYUOmHNIsn6UzAa3-vEZx0VpIDZiY84iaRm6z-Qs,3356
39
+ pydantic_ai/durable_exec/temporal/_agent.py,sha256=hKJW-oCU5W83sofQ-1f40IQe1FS-qrcmq4Dr-KcSy2c,32864
40
+ pydantic_ai/durable_exec/temporal/_function_toolset.py,sha256=qKTs7T6YcJ2LBOvrlYBRUHd9zn86TuUaY0Qw5TPGSmE,3848
41
+ pydantic_ai/durable_exec/temporal/_logfire.py,sha256=_dsvVIdpYJEUyoFUIDYQjCO6TjTITqvlJHwNy_Fi2cw,1866
42
+ pydantic_ai/durable_exec/temporal/_mcp_server.py,sha256=J7CC4gRDhM4uQo3_kNKV7e4uiWC0He0AgS7bdq9Pt4o,6005
43
+ pydantic_ai/durable_exec/temporal/_model.py,sha256=3EN9NuTjmWsB57Y9ukvo4hFf3bw-xF90QNSJ18y1iRk,6631
44
+ pydantic_ai/durable_exec/temporal/_run_context.py,sha256=5NTomzWBAlFcXeVw-4mqa76Rmrc8b3G1bB5ElVsAyCY,2310
45
+ pydantic_ai/durable_exec/temporal/_toolset.py,sha256=XlQx7NGSKR9n-mjNWaTn-i3HW9X4z5fZUAM9DwDTBwY,2865
46
+ pydantic_ai/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ pydantic_ai/ext/aci.py,sha256=sUllKDNO-LOMurbFgxwRHuzNlBkSa3aVBqXfEm-A_vo,2545
48
+ pydantic_ai/ext/langchain.py,sha256=iLVEZv1kcLkdIHo3us2yfdi0kVqyJ6qTaCt9BoLWm4k,2335
49
+ pydantic_ai/models/__init__.py,sha256=EUcD1SZ26bGkyaB2MQBRDF8X333ewR4irQ-xEieJfAg,33518
50
+ pydantic_ai/models/anthropic.py,sha256=th3jyYMcqa-I_hyOvtH5PKyOCX-IDnriaMT5VPKBVAo,29777
51
+ pydantic_ai/models/bedrock.py,sha256=wlw-9zuRnvMW-T5Nt1_rBTLWrYBllhCbu1GzkaBWddk,30819
52
+ pydantic_ai/models/cohere.py,sha256=ZbRvCPgPjDLItUj-r08VPmR8D8e6ARbUiRd8rsZ-1sY,13094
53
+ pydantic_ai/models/fallback.py,sha256=4SngTis3tJ8HBFJUwoNG7_c0Z33hYBf2eIGGStCP4Yg,5248
54
+ pydantic_ai/models/function.py,sha256=CKSy_xA__n92BnOzfI9BXRsRVy3WjvuRyzibU26I8Js,14299
55
+ pydantic_ai/models/gemini.py,sha256=SWeahyDS_8STbofWJoIDvayBIGv-d4CYUuIBERPZkpI,38676
56
+ pydantic_ai/models/google.py,sha256=LjnEdpzbZTZi_QB_R3Iy0WFkwBaxpb9eNYgKyCDxO2c,26331
57
+ pydantic_ai/models/groq.py,sha256=xibIAuIpSbdlF5ONAKLpEcU3qYX3JfAJRBh2K7Fh_U4,20840
58
+ pydantic_ai/models/huggingface.py,sha256=ONsqk_4YiojEpVzJvAjc5z92Bln71PKvk8eK53309bk,19731
59
+ pydantic_ai/models/instrumented.py,sha256=vVHO2sHkZnH7kcFr2iozOOuacfwGQYORhSgUtvDYZEU,16315
60
+ pydantic_ai/models/mcp_sampling.py,sha256=0pAMCTkzmhQuyhik8KG2ZUYGVh4tofjdZBf6WdR78ik,3490
61
+ pydantic_ai/models/mistral.py,sha256=-nB6VoHvNveLZHRCmXQaX9EFUJlFHXXt7nRyFtI2SIE,32251
62
+ pydantic_ai/models/openai.py,sha256=MIHrlxwsJThP5b9MmDf_mIHFLRmUQzGjjrh_vt0Oq38,59806
63
+ pydantic_ai/models/test.py,sha256=XKfJOwjnaMAuGpQwMT-H99vIicFymdJDpAtr0PU0Zoo,19151
64
+ pydantic_ai/models/wrapper.py,sha256=9MeHW7mXPsEK03IKL0rtjeX6QgXyZROOOzLh72GiX2k,2148
65
+ pydantic_ai/profiles/__init__.py,sha256=Ggk_pbNnRcaGnDWEBppsH3sUk8ajckaaXKfJlkLQWVo,2775
66
+ pydantic_ai/profiles/_json_schema.py,sha256=CthOGmPSjgEZRRglfvg31zyQ9vjHDdacXoFpmba93dE,7206
67
+ pydantic_ai/profiles/amazon.py,sha256=IPa2wydpcbFLLvhDK35-pwwoKo0Pg4vP84823fHx0zc,314
68
+ pydantic_ai/profiles/anthropic.py,sha256=J9N46G8eOjHdQ5CwZSLiwGdPb0eeIMdsMjwosDpvNhI,275
69
+ pydantic_ai/profiles/cohere.py,sha256=lcL34Ht1jZopwuqoU6OV9l8vN4zwF-jiPjlsEABbSRo,215
70
+ pydantic_ai/profiles/deepseek.py,sha256=DS_idprnXpMliKziKF0k1neLDJOwUvpatZ3YLaiYnCM,219
71
+ pydantic_ai/profiles/google.py,sha256=cd5zwtx0MU1Xwm8c-oqi2_OJ2-PMJ8Vy23mxvSJF7ik,4856
72
+ pydantic_ai/profiles/grok.py,sha256=nBOxOCYCK9aiLmz2Q-esqYhotNbbBC1boAoOYIk1tVw,211
73
+ pydantic_ai/profiles/groq.py,sha256=5jLNnOuxq3HTrbY-cizJyGa1hIluW7sCPLmDP1C1unc,668
74
+ pydantic_ai/profiles/meta.py,sha256=JdZcpdRWx8PY1pU9Z2i_TYtA0Cpbg23xyFrV7eXnooY,309
75
+ pydantic_ai/profiles/mistral.py,sha256=ll01PmcK3szwlTfbaJLQmfd0TADN8lqjov9HpPJzCMQ,217
76
+ pydantic_ai/profiles/moonshotai.py,sha256=LL5RacKHKn6rdvhoKjpGgZ8aVriv5NMeL6HCWEANAiU,223
77
+ pydantic_ai/profiles/openai.py,sha256=YIzZAeJWO8dhmeHcOQk-Kyh6DUd5b0I5EQSTcK0-qy4,7564
78
+ pydantic_ai/profiles/qwen.py,sha256=zU19r2lVBxU0v0fXyA9G-VvG3XzBZMZJVxCpQutU9k0,309
79
+ pydantic_ai/providers/__init__.py,sha256=yxPgiTJKFYZbDW18tmVM6mmD2Znol3WwniwnhtlN0Ak,4141
80
+ pydantic_ai/providers/anthropic.py,sha256=D35UXxCPXv8yIbD0fj9Zg2FvNyoMoJMeDUtVM8Sn78I,3046
81
+ pydantic_ai/providers/azure.py,sha256=y77IHGiSQ9Ttx9f4SGMgdpin2Daq6eYyzUdM9ET22RQ,5819
82
+ pydantic_ai/providers/bedrock.py,sha256=8jz77ySKv6CzCktN9YbZb1736gZM0d_btcKvXiZSSHI,5784
83
+ pydantic_ai/providers/cohere.py,sha256=LT6QaLPJBBlFUgYgXQOfKpbM9SXLzorWFxI7jNfOX_4,2892
84
+ pydantic_ai/providers/deepseek.py,sha256=kUdM8eVp1lse4bS_uy70Gy7wgog94NTZ36GY-vhSB50,3060
85
+ pydantic_ai/providers/fireworks.py,sha256=TPbqOpNgXG59qovBaHWbbV2vsvROwlHwQ3PvqHUBH-s,3626
86
+ pydantic_ai/providers/github.py,sha256=zPu3oVJKjUE4zIqZ0YfgcTFBNdEy5rIBrSOdPCHJEG4,4406
87
+ pydantic_ai/providers/google.py,sha256=iLXcKUl5r7wdLuZtT1IM3obGZi7ecLM_PDyWdQKDncI,6038
88
+ pydantic_ai/providers/google_gla.py,sha256=dLkDxps5gEtxsQiDbs1e88lXLYeX4i2qnJtDiFFJ0Ng,1965
89
+ pydantic_ai/providers/google_vertex.py,sha256=9wJGctzQTEtmTTr3KCFAubDREMQJ4zOXt9k52F8R8Zs,9739
90
+ pydantic_ai/providers/grok.py,sha256=dIkpxuuJlZ4pFtTSgeeJgiM_Z3mJU9qvk4f7jvSzi24,3141
91
+ pydantic_ai/providers/groq.py,sha256=AeG5flZ_n4fRy8RWm0RGvDBEDrdaLfR8gMOTRHQB368,4059
92
+ pydantic_ai/providers/heroku.py,sha256=NmDIkAdxtWsvCjlX-bKI5FgI4HW1zO9-e0mrNQNGMCk,2990
93
+ pydantic_ai/providers/huggingface.py,sha256=LRmJcJpQRRYvam3IAPkYs2fMUJf70GgE3aDgQltGRCU,3821
94
+ pydantic_ai/providers/mistral.py,sha256=EIUSENjFuGzBhvbdrarUTM4VPkesIMnZrzfnEKHOsc4,3120
95
+ pydantic_ai/providers/moonshotai.py,sha256=3BAE9eC9QaD3kblVwxtQWEln0-PhgK7bRvrYTCEYXbY,3471
96
+ pydantic_ai/providers/openai.py,sha256=7iGij0EaFylab7dTZAZDgXr78tr-HsZrn9EI9AkWBNQ,3091
97
+ pydantic_ai/providers/openrouter.py,sha256=NXjNdnlXIBrBMMqbzcWQnowXOuZh4NHikXenBn5h3mc,4061
98
+ pydantic_ai/providers/together.py,sha256=zFVSMSm5jXbpkNouvBOTjWrPmlPpCp6sQS5LMSyVjrQ,3482
99
+ pydantic_ai/providers/vercel.py,sha256=wFIfyfD2RCAVRWtveDDMjumOkP8v9AHy94KV1HXF180,4285
100
+ pydantic_ai/toolsets/__init__.py,sha256=btvEfRHUzW8E6HiWP-AUKc0xBvIEigW6qWqVfnN11Ag,643
101
+ pydantic_ai/toolsets/_dynamic.py,sha256=EdhClHnmxEy3bdGdVrzg4TLGlYrK3m8VIqWxzGdIXew,2957
102
+ pydantic_ai/toolsets/abstract.py,sha256=jYgDcgnuWfMAgcjqripJQOlxWf2O7R-rAfsZUcC1MoI,7061
103
+ pydantic_ai/toolsets/combined.py,sha256=QmzU7jA98hnbddMOqvwuu2vUZoaPspu37-W0-hlQ-lw,4122
104
+ pydantic_ai/toolsets/deferred.py,sha256=Bm2ZthtjpmeZqlH57zFJc9z7n_xYtZgjX5hog36Qm9U,1654
105
+ pydantic_ai/toolsets/filtered.py,sha256=qmPeQDTZoWa_yyk6VXKHcpV9NFgdnLN48sBf7WItjBs,855
106
+ pydantic_ai/toolsets/function.py,sha256=KKmHMljuV8YdaIDtHEs6xmyiUl-kaqTiQQGYtoWEfEs,10613
107
+ pydantic_ai/toolsets/prefixed.py,sha256=0KwcDkW8OM36ZUsOLVP5h-Nj2tPq78L3_E2c-1Fbh5s,1426
108
+ pydantic_ai/toolsets/prepared.py,sha256=Zjfz6S8In6PBVxoKFN9sKPN984zO6t0awB7Lnq5KODw,1431
109
+ pydantic_ai/toolsets/renamed.py,sha256=JuLHpi-hYPiSPlaTpN8WiXLiGsywYK0axi2lW2Qs75k,1637
110
+ pydantic_ai/toolsets/wrapper.py,sha256=mMuMPdko9PJUdcsexlRXbwViSwKKJfv6JE58d8HK3ds,1646
111
+ pydantic_ai_slim-0.7.0.dist-info/METADATA,sha256=Nl4WmKOT_sypJ2t_6eIDW34s2ziLkzlmMeA75-KOtqY,4252
112
+ pydantic_ai_slim-0.7.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
113
+ pydantic_ai_slim-0.7.0.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
114
+ pydantic_ai_slim-0.7.0.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
115
+ pydantic_ai_slim-0.7.0.dist-info/RECORD,,
@@ -1,100 +0,0 @@
1
- pydantic_ai/__init__.py,sha256=h6Rll8pEzUUUX6SckosummoAFbq7ctfBlI6WSyaXR4I,1300
2
- pydantic_ai/__main__.py,sha256=Q_zJU15DUA01YtlJ2mnaLCoId2YmgmreVEERGuQT-Y0,132
3
- pydantic_ai/_a2a.py,sha256=Tw_j9VRud0rLEk5kRs4GhRyhWYioXnsoZaTTyISq4M4,12126
4
- pydantic_ai/_agent_graph.py,sha256=ineJtkOyBzFhu0GVBiRxsQT6yEVE6oHyp3d7xHV2XG8,37351
5
- pydantic_ai/_cli.py,sha256=YkiW2u9HGPd9fsgo9dpK1DZvtUPk4uXGQJcm75XgfhU,13250
6
- pydantic_ai/_function_schema.py,sha256=YFHxb6bKfhgeY6rNdbuYXgndGCDanveUx2258xkSNlQ,11233
7
- pydantic_ai/_griffe.py,sha256=Ugft16ZHw9CN_6-lW0Svn6jESK9zHXO_x4utkGBkbBI,5253
8
- pydantic_ai/_mcp.py,sha256=PuvwnlLjv7YYOa9AZJCrklevBug99zGMhwJCBGG7BHQ,5626
9
- pydantic_ai/_output.py,sha256=2k-nxfPNLJEb-wjnPhQo63lh-yQH1XsIhNG1hjsrim0,37462
10
- pydantic_ai/_parts_manager.py,sha256=lWXN75zLy_MSDz4Wib65lqIPHk1SY8KDU8_OYaxG3yw,17788
11
- pydantic_ai/_run_context.py,sha256=pqb_HPXytE1Z9zZRRuBboRYes_tVTC75WGTpZgnb2Ko,1691
12
- pydantic_ai/_system_prompt.py,sha256=lUSq-gDZjlYTGtd6BUm54yEvTIvgdwBmJ8mLsNZZtYU,1142
13
- pydantic_ai/_thinking_part.py,sha256=x80-Vkon16GOyq3W6f2qzafTVPC5dCgF7QD3k8ZMmYU,1304
14
- pydantic_ai/_tool_manager.py,sha256=BdjPntbSshNvYVpYZUNxb-yib5n4GPqcDinbNpzhBVo,8960
15
- pydantic_ai/_utils.py,sha256=0Pte4mjir4YFZJTa6i-H6Cra9NbVwSKjOKegArzUggk,16283
16
- pydantic_ai/ag_ui.py,sha256=snIBVMcUUm3WWZ5P5orikyAzvM-7vGunNMgIudhvK-A,26156
17
- pydantic_ai/agent.py,sha256=qFxTtf98oUX59ARP5FQub-lwpClCldXJEBS6-vi_0nM,95777
18
- pydantic_ai/direct.py,sha256=WRfgke3zm-eeR39LTuh9XI2TrdHXAqO81eDvFwih4Ko,14803
19
- pydantic_ai/exceptions.py,sha256=vHRH_b6JpMi5p5EGhz2O4FSeKGJv3WMD291Y1FjHYFc,3528
20
- pydantic_ai/format_prompt.py,sha256=Or-Ytq55RQb1UJqy2HKIyPpZ-knWXfdDP3Z6tNc6Orw,4244
21
- pydantic_ai/mcp.py,sha256=v_f4CRzJ399uPC96aqTiEzpaYvuo6vIQyLIpXQBudsY,26271
22
- pydantic_ai/messages.py,sha256=OfaGM4AfMNTQJOCNJWDB1dVtMlLhPh2vzufCOPx2vjI,43767
23
- pydantic_ai/output.py,sha256=54Cwd1RruXlA5hucZ1h-SxFrzKHJuLvYvLtH9iyg2GI,11988
24
- pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- pydantic_ai/result.py,sha256=N9YJ8WshUUyLgdbDVivmhgn8e6NPqFH9JQjEoR2_J9E,21767
26
- pydantic_ai/retries.py,sha256=Xkj-gZAd3wc12CVsIErVYx2EIdIwD5yJOL4Ou6jDQ2s,10498
27
- pydantic_ai/settings.py,sha256=yuUZ7-GkdPB-Gbx71kSdh8dSr6gwM9gEwk84qNxPO_I,3552
28
- pydantic_ai/tools.py,sha256=4UNpllVugXaJWLlehVgjoOyM-r4jy4vJ7uSUSbsPBiQ,14765
29
- pydantic_ai/usage.py,sha256=ceC9HHflyM_rkLBJqtaWPc-M8bEoq5rZF4XwGblPQoU,5830
30
- pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- pydantic_ai/common_tools/duckduckgo.py,sha256=aQsm7zKuoRNgPM8ltbdyj8dPkREEkQenimsf_laF6kc,2245
32
- pydantic_ai/common_tools/tavily.py,sha256=Q1xxSF5HtXAaZ10Pp-OaDOHXwJf2mco9wScGEQXD7E4,2495
33
- pydantic_ai/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- pydantic_ai/ext/aci.py,sha256=vUaNIj6pRM52x6RkPW_DohSYxJPm75pPUfOMw2i5Xx0,2515
35
- pydantic_ai/ext/langchain.py,sha256=GemxfhpyG1JPxj69PbRiSJANnY8Q5s4hSB7wqt-uTbo,2266
36
- pydantic_ai/models/__init__.py,sha256=LRXVWRpnKt8ZZ_4nud2EAImuJoZWH4ONNTcm0lllUvg,30998
37
- pydantic_ai/models/anthropic.py,sha256=WtugATjLkmuNMtOeitKPNDjc6iE5NO_UxBKisHL_JNY,24171
38
- pydantic_ai/models/bedrock.py,sha256=uQD6ciolrjXTFxvcLZALfaYnggmHMjpAUp6VxJ1bwL4,30450
39
- pydantic_ai/models/cohere.py,sha256=DnIbZuUP3LuJ7FS0KYqt3BU3blyG3Xs44XqhSshvhI4,12832
40
- pydantic_ai/models/fallback.py,sha256=URaV-dTQWkg99xrlkmknue5lXZWDcEt7cJ1Vsky4oB4,5130
41
- pydantic_ai/models/function.py,sha256=iHhG6GYN14XDo3_qbdliv_umY10B7-k11aoDoVF4xP8,13563
42
- pydantic_ai/models/gemini.py,sha256=dRN50u8I0PMy-GwVrPn4M4qzfYTMO6dCKksBXaC6Fxc,38313
43
- pydantic_ai/models/google.py,sha256=ZjU2qjdtf8jNWoeswS13g198lamzsBr5K0QuX0QcLzM,24479
44
- pydantic_ai/models/groq.py,sha256=RQzehpgBRaY0Nit7b4LW-lOrNA3qYHpiUpodn0YjjfE,19039
45
- pydantic_ai/models/huggingface.py,sha256=g4Z2C_e_OddYyGKLSOtP4nCL-AbWxmOdkW4zFcFtLq0,19222
46
- pydantic_ai/models/instrumented.py,sha256=j6zFwfF_xxog2OrU2xaObBRkc0wyGqjIqFIMv7cxqmI,16212
47
- pydantic_ai/models/mcp_sampling.py,sha256=q9nnjNEAAbhrfRc_Qw5z9TtCHMG_SwlCWW9FvKWjh8k,3395
48
- pydantic_ai/models/mistral.py,sha256=rGhIHl2fS2LIJWzXNwYZTw2ZGJviF4Rfr36wS7mlcNc,31459
49
- pydantic_ai/models/openai.py,sha256=d7KCXaPl0txvJ3647USvFM-8T-iF5ue1XpXlo-IwHIg,56130
50
- pydantic_ai/models/test.py,sha256=lGMblastixKF_f5MhP3TcvLWx7jj94H4ohmL7DMpdGo,18482
51
- pydantic_ai/models/wrapper.py,sha256=A5-ncYhPF8c9S_czGoXkd55s2KOQb65p3jbVpwZiFPA,2043
52
- pydantic_ai/profiles/__init__.py,sha256=Ggk_pbNnRcaGnDWEBppsH3sUk8ajckaaXKfJlkLQWVo,2775
53
- pydantic_ai/profiles/_json_schema.py,sha256=CthOGmPSjgEZRRglfvg31zyQ9vjHDdacXoFpmba93dE,7206
54
- pydantic_ai/profiles/amazon.py,sha256=IPa2wydpcbFLLvhDK35-pwwoKo0Pg4vP84823fHx0zc,314
55
- pydantic_ai/profiles/anthropic.py,sha256=J9N46G8eOjHdQ5CwZSLiwGdPb0eeIMdsMjwosDpvNhI,275
56
- pydantic_ai/profiles/cohere.py,sha256=lcL34Ht1jZopwuqoU6OV9l8vN4zwF-jiPjlsEABbSRo,215
57
- pydantic_ai/profiles/deepseek.py,sha256=DS_idprnXpMliKziKF0k1neLDJOwUvpatZ3YLaiYnCM,219
58
- pydantic_ai/profiles/google.py,sha256=cd5zwtx0MU1Xwm8c-oqi2_OJ2-PMJ8Vy23mxvSJF7ik,4856
59
- pydantic_ai/profiles/grok.py,sha256=nBOxOCYCK9aiLmz2Q-esqYhotNbbBC1boAoOYIk1tVw,211
60
- pydantic_ai/profiles/meta.py,sha256=JdZcpdRWx8PY1pU9Z2i_TYtA0Cpbg23xyFrV7eXnooY,309
61
- pydantic_ai/profiles/mistral.py,sha256=ll01PmcK3szwlTfbaJLQmfd0TADN8lqjov9HpPJzCMQ,217
62
- pydantic_ai/profiles/moonshotai.py,sha256=LL5RacKHKn6rdvhoKjpGgZ8aVriv5NMeL6HCWEANAiU,223
63
- pydantic_ai/profiles/openai.py,sha256=80ffJK9T7YbBRR7mhyRkjDB29pYi2H4dIQOAmIr5Ppc,7530
64
- pydantic_ai/profiles/qwen.py,sha256=zU19r2lVBxU0v0fXyA9G-VvG3XzBZMZJVxCpQutU9k0,309
65
- pydantic_ai/providers/__init__.py,sha256=yxPgiTJKFYZbDW18tmVM6mmD2Znol3WwniwnhtlN0Ak,4141
66
- pydantic_ai/providers/anthropic.py,sha256=D35UXxCPXv8yIbD0fj9Zg2FvNyoMoJMeDUtVM8Sn78I,3046
67
- pydantic_ai/providers/azure.py,sha256=y77IHGiSQ9Ttx9f4SGMgdpin2Daq6eYyzUdM9ET22RQ,5819
68
- pydantic_ai/providers/bedrock.py,sha256=8jz77ySKv6CzCktN9YbZb1736gZM0d_btcKvXiZSSHI,5784
69
- pydantic_ai/providers/cohere.py,sha256=LT6QaLPJBBlFUgYgXQOfKpbM9SXLzorWFxI7jNfOX_4,2892
70
- pydantic_ai/providers/deepseek.py,sha256=kUdM8eVp1lse4bS_uy70Gy7wgog94NTZ36GY-vhSB50,3060
71
- pydantic_ai/providers/fireworks.py,sha256=TPbqOpNgXG59qovBaHWbbV2vsvROwlHwQ3PvqHUBH-s,3626
72
- pydantic_ai/providers/github.py,sha256=zPu3oVJKjUE4zIqZ0YfgcTFBNdEy5rIBrSOdPCHJEG4,4406
73
- pydantic_ai/providers/google.py,sha256=iyAqYB-Rcpy6Rea-QfS_FL1v6ej-DZpGx-rPY3X_df0,6067
74
- pydantic_ai/providers/google_gla.py,sha256=dLkDxps5gEtxsQiDbs1e88lXLYeX4i2qnJtDiFFJ0Ng,1965
75
- pydantic_ai/providers/google_vertex.py,sha256=9wJGctzQTEtmTTr3KCFAubDREMQJ4zOXt9k52F8R8Zs,9739
76
- pydantic_ai/providers/grok.py,sha256=dIkpxuuJlZ4pFtTSgeeJgiM_Z3mJU9qvk4f7jvSzi24,3141
77
- pydantic_ai/providers/groq.py,sha256=hqcR-RFHHHeemYP3K16IFeQTJKywNEU2wNZOSGTz6fE,3957
78
- pydantic_ai/providers/heroku.py,sha256=NmDIkAdxtWsvCjlX-bKI5FgI4HW1zO9-e0mrNQNGMCk,2990
79
- pydantic_ai/providers/huggingface.py,sha256=LRmJcJpQRRYvam3IAPkYs2fMUJf70GgE3aDgQltGRCU,3821
80
- pydantic_ai/providers/mistral.py,sha256=EIUSENjFuGzBhvbdrarUTM4VPkesIMnZrzfnEKHOsc4,3120
81
- pydantic_ai/providers/moonshotai.py,sha256=3BAE9eC9QaD3kblVwxtQWEln0-PhgK7bRvrYTCEYXbY,3471
82
- pydantic_ai/providers/openai.py,sha256=7iGij0EaFylab7dTZAZDgXr78tr-HsZrn9EI9AkWBNQ,3091
83
- pydantic_ai/providers/openrouter.py,sha256=NXjNdnlXIBrBMMqbzcWQnowXOuZh4NHikXenBn5h3mc,4061
84
- pydantic_ai/providers/together.py,sha256=zFVSMSm5jXbpkNouvBOTjWrPmlPpCp6sQS5LMSyVjrQ,3482
85
- pydantic_ai/providers/vercel.py,sha256=wFIfyfD2RCAVRWtveDDMjumOkP8v9AHy94KV1HXF180,4285
86
- pydantic_ai/toolsets/__init__.py,sha256=JCnqqAFeuHhmVW4XK0LM6Op_9B1cvsQUJ3vTmQ9Z5cQ,590
87
- pydantic_ai/toolsets/abstract.py,sha256=LqunlpwUsoHVn4VMtdjEoLY5kiMUF74PZ4KW539K8tQ,6027
88
- pydantic_ai/toolsets/combined.py,sha256=UBSZ5quJAm4aITkI4enOTJ6sEDndkJ2sKvT1sTeX5LU,3440
89
- pydantic_ai/toolsets/deferred.py,sha256=j_CO2KesBXFPyVYiIk3sO2bimJ1bssnShdaGx4UNuPQ,1444
90
- pydantic_ai/toolsets/filtered.py,sha256=qmPeQDTZoWa_yyk6VXKHcpV9NFgdnLN48sBf7WItjBs,855
91
- pydantic_ai/toolsets/function.py,sha256=Pgc8q6vh3qkBzI3xL0k-CQaETGG63zfy1PyWtqqzXwc,10186
92
- pydantic_ai/toolsets/prefixed.py,sha256=MIStkzUdiU0rk2Y6P19IrTBxspH5pTstGxsqCBt-CX0,1293
93
- pydantic_ai/toolsets/prepared.py,sha256=Zjfz6S8In6PBVxoKFN9sKPN984zO6t0awB7Lnq5KODw,1431
94
- pydantic_ai/toolsets/renamed.py,sha256=JuLHpi-hYPiSPlaTpN8WiXLiGsywYK0axi2lW2Qs75k,1637
95
- pydantic_ai/toolsets/wrapper.py,sha256=WjLoiM1WDuffSJ4mDS6pZrEZGHgZ421fjrqFcB66W94,1205
96
- pydantic_ai_slim-0.6.1.dist-info/METADATA,sha256=5Y2UZkxTg01RSfy5t9C8xSaHnmcT8M7vcFFA4zCVRR4,4172
97
- pydantic_ai_slim-0.6.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
98
- pydantic_ai_slim-0.6.1.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
99
- pydantic_ai_slim-0.6.1.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
100
- pydantic_ai_slim-0.6.1.dist-info/RECORD,,