pydantic-ai-slim 1.8.0__py3-none-any.whl → 1.9.1__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 (33) hide show
  1. pydantic_ai/__init__.py +2 -0
  2. pydantic_ai/_agent_graph.py +3 -0
  3. pydantic_ai/ag_ui.py +50 -696
  4. pydantic_ai/agent/abstract.py +13 -3
  5. pydantic_ai/direct.py +12 -0
  6. pydantic_ai/durable_exec/dbos/_agent.py +3 -0
  7. pydantic_ai/durable_exec/prefect/_agent.py +3 -0
  8. pydantic_ai/durable_exec/temporal/_agent.py +3 -0
  9. pydantic_ai/messages.py +39 -7
  10. pydantic_ai/models/__init__.py +42 -1
  11. pydantic_ai/models/google.py +5 -12
  12. pydantic_ai/models/groq.py +9 -1
  13. pydantic_ai/providers/anthropic.py +2 -2
  14. pydantic_ai/result.py +19 -7
  15. pydantic_ai/ui/__init__.py +16 -0
  16. pydantic_ai/ui/_adapter.py +386 -0
  17. pydantic_ai/ui/_event_stream.py +591 -0
  18. pydantic_ai/ui/_messages_builder.py +28 -0
  19. pydantic_ai/ui/ag_ui/__init__.py +9 -0
  20. pydantic_ai/ui/ag_ui/_adapter.py +187 -0
  21. pydantic_ai/ui/ag_ui/_event_stream.py +227 -0
  22. pydantic_ai/ui/ag_ui/app.py +148 -0
  23. pydantic_ai/ui/vercel_ai/__init__.py +16 -0
  24. pydantic_ai/ui/vercel_ai/_adapter.py +199 -0
  25. pydantic_ai/ui/vercel_ai/_event_stream.py +187 -0
  26. pydantic_ai/ui/vercel_ai/_utils.py +16 -0
  27. pydantic_ai/ui/vercel_ai/request_types.py +275 -0
  28. pydantic_ai/ui/vercel_ai/response_types.py +230 -0
  29. {pydantic_ai_slim-1.8.0.dist-info → pydantic_ai_slim-1.9.1.dist-info}/METADATA +5 -3
  30. {pydantic_ai_slim-1.8.0.dist-info → pydantic_ai_slim-1.9.1.dist-info}/RECORD +33 -19
  31. {pydantic_ai_slim-1.8.0.dist-info → pydantic_ai_slim-1.9.1.dist-info}/WHEEL +0 -0
  32. {pydantic_ai_slim-1.8.0.dist-info → pydantic_ai_slim-1.9.1.dist-info}/entry_points.txt +0 -0
  33. {pydantic_ai_slim-1.8.0.dist-info → pydantic_ai_slim-1.9.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,230 @@
1
+ """Vercel AI response types (SSE chunks).
2
+
3
+ Converted to Python from:
4
+ https://github.com/vercel/ai/blob/ai%405.0.59/packages/ai/src/ui-message-stream/ui-message-chunks.ts
5
+ """
6
+
7
+ from abc import ABC
8
+ from typing import Annotated, Any, Literal
9
+
10
+ from pydantic import Field
11
+
12
+ from ._utils import CamelBaseModel
13
+
14
+ # Technically this is recursive union of JSON types; for simplicity, we call it Any
15
+ JSONValue = Any
16
+ ProviderMetadata = dict[str, dict[str, JSONValue]]
17
+ """Provider metadata."""
18
+
19
+
20
+ class BaseChunk(CamelBaseModel, ABC):
21
+ """Abstract base class for response SSE events."""
22
+
23
+ def encode(self) -> str:
24
+ return self.model_dump_json(by_alias=True, exclude_none=True)
25
+
26
+
27
+ class TextStartChunk(BaseChunk):
28
+ """Text start chunk."""
29
+
30
+ type: Literal['text-start'] = 'text-start'
31
+ id: str
32
+ provider_metadata: ProviderMetadata | None = None
33
+
34
+
35
+ class TextDeltaChunk(BaseChunk):
36
+ """Text delta chunk."""
37
+
38
+ type: Literal['text-delta'] = 'text-delta'
39
+ delta: str
40
+ id: str
41
+ provider_metadata: ProviderMetadata | None = None
42
+
43
+
44
+ class TextEndChunk(BaseChunk):
45
+ """Text end chunk."""
46
+
47
+ type: Literal['text-end'] = 'text-end'
48
+ id: str
49
+ provider_metadata: ProviderMetadata | None = None
50
+
51
+
52
+ class ReasoningStartChunk(BaseChunk):
53
+ """Reasoning start chunk."""
54
+
55
+ type: Literal['reasoning-start'] = 'reasoning-start'
56
+ id: str
57
+ provider_metadata: ProviderMetadata | None = None
58
+
59
+
60
+ class ReasoningDeltaChunk(BaseChunk):
61
+ """Reasoning delta chunk."""
62
+
63
+ type: Literal['reasoning-delta'] = 'reasoning-delta'
64
+ id: str
65
+ delta: str
66
+ provider_metadata: ProviderMetadata | None = None
67
+
68
+
69
+ class ReasoningEndChunk(BaseChunk):
70
+ """Reasoning end chunk."""
71
+
72
+ type: Literal['reasoning-end'] = 'reasoning-end'
73
+ id: str
74
+ provider_metadata: ProviderMetadata | None = None
75
+
76
+
77
+ class ErrorChunk(BaseChunk):
78
+ """Error chunk."""
79
+
80
+ type: Literal['error'] = 'error'
81
+ error_text: str
82
+
83
+
84
+ class ToolInputStartChunk(BaseChunk):
85
+ """Tool input start chunk."""
86
+
87
+ type: Literal['tool-input-start'] = 'tool-input-start'
88
+ tool_call_id: str
89
+ tool_name: str
90
+ provider_executed: bool | None = None
91
+ dynamic: bool | None = None
92
+
93
+
94
+ class ToolInputDeltaChunk(BaseChunk):
95
+ """Tool input delta chunk."""
96
+
97
+ type: Literal['tool-input-delta'] = 'tool-input-delta'
98
+ tool_call_id: str
99
+ input_text_delta: str
100
+
101
+
102
+ class ToolOutputAvailableChunk(BaseChunk):
103
+ """Tool output available chunk."""
104
+
105
+ type: Literal['tool-output-available'] = 'tool-output-available'
106
+ tool_call_id: str
107
+ output: Any
108
+ provider_executed: bool | None = None
109
+ dynamic: bool | None = None
110
+ preliminary: bool | None = None
111
+
112
+
113
+ class ToolInputAvailableChunk(BaseChunk):
114
+ """Tool input available chunk."""
115
+
116
+ type: Literal['tool-input-available'] = 'tool-input-available'
117
+ tool_call_id: str
118
+ tool_name: str
119
+ input: Any
120
+ provider_executed: bool | None = None
121
+ provider_metadata: ProviderMetadata | None = None
122
+ dynamic: bool | None = None
123
+
124
+
125
+ class ToolInputErrorChunk(BaseChunk):
126
+ """Tool input error chunk."""
127
+
128
+ type: Literal['tool-input-error'] = 'tool-input-error'
129
+ tool_call_id: str
130
+ tool_name: str
131
+ input: Any
132
+ provider_executed: bool | None = None
133
+ provider_metadata: ProviderMetadata | None = None
134
+ dynamic: bool | None = None
135
+ error_text: str
136
+
137
+
138
+ class ToolOutputErrorChunk(BaseChunk):
139
+ """Tool output error chunk."""
140
+
141
+ type: Literal['tool-output-error'] = 'tool-output-error'
142
+ tool_call_id: str
143
+ error_text: str
144
+ provider_executed: bool | None = None
145
+ dynamic: bool | None = None
146
+
147
+
148
+ class SourceUrlChunk(BaseChunk):
149
+ """Source URL chunk."""
150
+
151
+ type: Literal['source-url'] = 'source-url'
152
+ source_id: str
153
+ url: str
154
+ title: str | None = None
155
+ provider_metadata: ProviderMetadata | None = None
156
+
157
+
158
+ class SourceDocumentChunk(BaseChunk):
159
+ """Source document chunk."""
160
+
161
+ type: Literal['source-document'] = 'source-document'
162
+ source_id: str
163
+ media_type: str
164
+ title: str
165
+ filename: str | None = None
166
+ provider_metadata: ProviderMetadata | None = None
167
+
168
+
169
+ class FileChunk(BaseChunk):
170
+ """File chunk."""
171
+
172
+ type: Literal['file'] = 'file'
173
+ url: str
174
+ media_type: str
175
+
176
+
177
+ class DataChunk(BaseChunk):
178
+ """Data chunk with dynamic type."""
179
+
180
+ type: Annotated[str, Field(pattern=r'^data-')]
181
+ data: Any
182
+
183
+
184
+ class StartStepChunk(BaseChunk):
185
+ """Start step chunk."""
186
+
187
+ type: Literal['start-step'] = 'start-step'
188
+
189
+
190
+ class FinishStepChunk(BaseChunk):
191
+ """Finish step chunk."""
192
+
193
+ type: Literal['finish-step'] = 'finish-step'
194
+
195
+
196
+ class StartChunk(BaseChunk):
197
+ """Start chunk."""
198
+
199
+ type: Literal['start'] = 'start'
200
+ message_id: str | None = None
201
+ message_metadata: Any | None = None
202
+
203
+
204
+ class FinishChunk(BaseChunk):
205
+ """Finish chunk."""
206
+
207
+ type: Literal['finish'] = 'finish'
208
+ message_metadata: Any | None = None
209
+
210
+
211
+ class AbortChunk(BaseChunk):
212
+ """Abort chunk."""
213
+
214
+ type: Literal['abort'] = 'abort'
215
+
216
+
217
+ class MessageMetadataChunk(BaseChunk):
218
+ """Message metadata chunk."""
219
+
220
+ type: Literal['message-metadata'] = 'message-metadata'
221
+ message_metadata: Any
222
+
223
+
224
+ class DoneChunk(BaseChunk):
225
+ """Done chunk."""
226
+
227
+ type: Literal['done'] = 'done'
228
+
229
+ def encode(self) -> str:
230
+ return '[DONE]'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai-slim
3
- Version: 1.8.0
3
+ Version: 1.9.1
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.8.0
36
+ Requires-Dist: pydantic-graph==1.9.1
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.8.0; extra == 'evals'
60
+ Requires-Dist: pydantic-evals==1.9.1; extra == 'evals'
61
61
  Provides-Extra: fastmcp
62
62
  Requires-Dist: fastmcp>=2.12.0; extra == 'fastmcp'
63
63
  Provides-Extra: google
@@ -96,6 +96,8 @@ Provides-Extra: tavily
96
96
  Requires-Dist: tavily-python>=0.5.0; extra == 'tavily'
97
97
  Provides-Extra: temporal
98
98
  Requires-Dist: temporalio==1.18.0; extra == 'temporal'
99
+ Provides-Extra: ui
100
+ Requires-Dist: starlette>=0.45.3; extra == 'ui'
99
101
  Provides-Extra: vertexai
100
102
  Requires-Dist: google-auth>=2.36.0; extra == 'vertexai'
101
103
  Requires-Dist: requests>=2.32.2; extra == 'vertexai'
@@ -1,7 +1,7 @@
1
- pydantic_ai/__init__.py,sha256=KAHapOSW1U5w9qiC5YDoe8e-YCS1aO5t0HDRrbICGXA,5239
1
+ pydantic_ai/__init__.py,sha256=gHQPGEDDX6Xuq9yrq32BVjU8umFNVjgixjR9QXmxGmo,5277
2
2
  pydantic_ai/__main__.py,sha256=Q_zJU15DUA01YtlJ2mnaLCoId2YmgmreVEERGuQT-Y0,132
3
3
  pydantic_ai/_a2a.py,sha256=3_pl7JW2yHdu31qLgCrdcTZTqXaJNjAwUV6zavah_w8,12159
4
- pydantic_ai/_agent_graph.py,sha256=u64CnBpj7OgXIkhcpc54RWLt-bRWP_60caXJLKZ4Vtw,56710
4
+ pydantic_ai/_agent_graph.py,sha256=ILOZhU_cZzsYV6-Pt3JGZibrlky4svv-1EnsH3uma-4,56897
5
5
  pydantic_ai/_cli.py,sha256=py1MytXDXwVxlSMsTBRqSjI_tHO2wNUChyGVaMvbacc,14001
6
6
  pydantic_ai/_function_schema.py,sha256=UnDGh7Wh5z70pEaRujXF_hKsSibQdN2ywI6lZGz3LUo,11663
7
7
  pydantic_ai/_griffe.py,sha256=BphvTL00FHxsSY56GM-bNyCOdwrpL0T3LbDQITWUK_Q,5280
@@ -16,35 +16,35 @@ pydantic_ai/_system_prompt.py,sha256=WdDW_DTGHujcFFaK-J7J6mA4ZDJZ0IOKpyizJA-1Y5Q
16
16
  pydantic_ai/_thinking_part.py,sha256=_0DajGyWPa50WUTPWN1UPfZw0xD8_hHcuSt0T3fgRr0,1295
17
17
  pydantic_ai/_tool_manager.py,sha256=se5Fikg4HaiTOnxJ4LFrezktZ2Zfv9a2OH0V9PtFE54,10464
18
18
  pydantic_ai/_utils.py,sha256=65H0E1GVGO2OmXpSoSbWDEPUxqLFVOzDXs3UkN2fyik,16580
19
- pydantic_ai/ag_ui.py,sha256=X3b4P_IraypCE3r-L2ETIo8G951A1MDdP4P5TQ8Fces,32067
19
+ pydantic_ai/ag_ui.py,sha256=kE7bk-yH7_GLkup0_EGqSiA5ZpxGqeeN0tb8tQ3QXe4,6974
20
20
  pydantic_ai/builtin_tools.py,sha256=EYSp9JVRethTLz-cL6HNrFRqnYaJMYBoDi-FTMcFf8c,8448
21
- pydantic_ai/direct.py,sha256=WAvW6siVCKbLg-D8Trla1vfMInPhHQDQsTu6uoveYR8,15083
21
+ pydantic_ai/direct.py,sha256=GnPFyHa2HkUEAKd2uVHMxZ90KM76lYGa9AQM84dEUXg,15513
22
22
  pydantic_ai/exceptions.py,sha256=gCmXLaic_PLD6_X6CNY0hcKRGr-bNUeKeV_ZR9Xyt7U,5141
23
23
  pydantic_ai/format_prompt.py,sha256=cLyWO8g77Y4JzqVSikqodXaAfTn6i-k206rNhYTiIsE,9710
24
24
  pydantic_ai/mcp.py,sha256=FHlD5pHH7Z6h76P6IjddQz0Pt6F0gAVlepmks4U1Cho,36190
25
- pydantic_ai/messages.py,sha256=z7pXZd5GaL1gAegHQyG3Tmjny3tfA20yc0p5y2_7NiA,64860
25
+ pydantic_ai/messages.py,sha256=th9AyBBrpyXZeHOVDJkWJZZkMGsL3vYJ7E5vDFYmItc,65957
26
26
  pydantic_ai/output.py,sha256=q91oqvJ-FqV9GbUUil7WVWbii66SVsVZ54AEm_NWSEo,13002
27
27
  pydantic_ai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- pydantic_ai/result.py,sha256=sVabgrAJXmj96I7NM-w0RBz1rH5x_zZql1V6epei4JU,26700
28
+ pydantic_ai/result.py,sha256=nOTTGUJUHqSbOQzWikzPJa3sJmztDzEeV-5DVHd_q0o,26998
29
29
  pydantic_ai/retries.py,sha256=QM4oDA9DG-Y2qP06fbCp8Dqq8ups40Rr4HYjAOlbNyM,14650
30
30
  pydantic_ai/run.py,sha256=5mOgh7UkLRtCjs1S85NM6OjcWvOy91VQhCkNMQQPhxs,17039
31
31
  pydantic_ai/settings.py,sha256=HlQxrw62YsXpIIhhddecYNTquDfhnpfaZU7y1p4CuVs,3935
32
32
  pydantic_ai/tools.py,sha256=dCecmJtRkF1ioqFYbfT00XGGqzGB4PPO9n6IrHCQtnc,20343
33
33
  pydantic_ai/usage.py,sha256=lhReoVNwqt7mfmWk40A1ddnKk4-MVFJ0qCl_oFdGzxo,16251
34
34
  pydantic_ai/agent/__init__.py,sha256=rvVo5Fw78yu5IOVE6ub6tmJTIuDGsIY15D3_KTFXtx4,66525
35
- pydantic_ai/agent/abstract.py,sha256=sFxoAFPlyZhg0xEefRq1cmAQaXKNd7mal-1jK0-_rPE,55677
35
+ pydantic_ai/agent/abstract.py,sha256=zXj7fZHG7Nj6WwVajWuNI0xHqWEX2Zyte_lGmyDZd6o,56378
36
36
  pydantic_ai/agent/wrapper.py,sha256=ygwfMq24mGe3pGIK-TtPAy3cV7M8VZJW3ulEHvwNTck,10293
37
37
  pydantic_ai/common_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  pydantic_ai/common_tools/duckduckgo.py,sha256=1ae_o3zqMGrC6KFqAmuqPwJqQgNBTisuvU2jX9KU8PI,2273
39
39
  pydantic_ai/common_tools/tavily.py,sha256=a7p2X03l9GS9B_0mvZZV3jePlCwf2TLNeej62-sPycs,2505
40
40
  pydantic_ai/durable_exec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
41
  pydantic_ai/durable_exec/dbos/__init__.py,sha256=H_dT0ERuNCBP0Im8eVGl8F9h7E9Aj87-pvmnLpDelF0,199
42
- pydantic_ai/durable_exec/dbos/_agent.py,sha256=5yKDlsMVNKzX3Tth-HC-TAwtEhCUbhL4TBpPCcQ-LJ8,40014
42
+ pydantic_ai/durable_exec/dbos/_agent.py,sha256=glD0RNOsNjZJl7srLdsgIW5zTQF3YDzsuOWEEtPiYw8,40150
43
43
  pydantic_ai/durable_exec/dbos/_mcp_server.py,sha256=cLMCKmXQHqhqnn_E3Nf4IsNFIbqk-V7gnIvpmYeDCSA,2989
44
44
  pydantic_ai/durable_exec/dbos/_model.py,sha256=_Cxh0zYFF3cungXiSXpGHmjyBQF7KnksfurV7hMKp-E,5106
45
45
  pydantic_ai/durable_exec/dbos/_utils.py,sha256=_aNceFvTcNeqb78sTDYM2TdYph85tbdeLueyXY1lbTA,242
46
46
  pydantic_ai/durable_exec/prefect/__init__.py,sha256=Ear0mrffOkmSG8itNo7U-LnLoU5-eyWK_9AcfPwJjZ0,422
47
- pydantic_ai/durable_exec/prefect/_agent.py,sha256=tJZj21nV_IEXMnOR2Mx7p4nnjlY0r_rPvuHAczc8wlQ,39606
47
+ pydantic_ai/durable_exec/prefect/_agent.py,sha256=sGZovZ9VfLHP9Jq381AGEEqvuAYxg-wPbL2qWAlI6UQ,39742
48
48
  pydantic_ai/durable_exec/prefect/_cache_policies.py,sha256=Sc6_xeDQ3NzuksoSa7KLXa64LhnLErt1UnPOXWFQArU,3399
49
49
  pydantic_ai/durable_exec/prefect/_function_toolset.py,sha256=TEytP8WAVIgz897mWy_dKmFOOXq3gHq6CIDWOUYjKL0,2052
50
50
  pydantic_ai/durable_exec/prefect/_mcp_server.py,sha256=5uHe2BNJyZUVeNPNo2HI0jtQkSyxAdOJGBTAwP1St04,1861
@@ -52,7 +52,7 @@ pydantic_ai/durable_exec/prefect/_model.py,sha256=-lJeI1LLc_v2R6yWpxmRuT_wjS-dgU
52
52
  pydantic_ai/durable_exec/prefect/_toolset.py,sha256=dBgIMsQikjJgGr7_QAs3UG7nycBBH61eioMwN8mPqoA,2050
53
53
  pydantic_ai/durable_exec/prefect/_types.py,sha256=cTtXnKokPSCDMBQJrLlEho0mJLvDIGNCZF-q6infkkU,1270
54
54
  pydantic_ai/durable_exec/temporal/__init__.py,sha256=KTbzwj9C-Xu6i5kwgMraUsKfmjfz6yxBc4FCJNEbFjs,6187
55
- pydantic_ai/durable_exec/temporal/_agent.py,sha256=BKbKKo6FM2zx-5ohc9voDyMYONH_8sZwUNypjonWDlA,44458
55
+ pydantic_ai/durable_exec/temporal/_agent.py,sha256=I03CafhyyZ4KVN9DtnypMvRcNXYsfapDv9LUwCGZPzM,44594
56
56
  pydantic_ai/durable_exec/temporal/_function_toolset.py,sha256=blGpeMWDfqgGcGrPEnQ2LE0FGv_jQ6legY4o2PWd3Fo,5582
57
57
  pydantic_ai/durable_exec/temporal/_logfire.py,sha256=ASd7vb0cd61yESI0mgU2w9SCGxsOegz95HtQjKdlQkE,2472
58
58
  pydantic_ai/durable_exec/temporal/_mcp_server.py,sha256=vxfWeI7ZtYyXVgX621rPtG-WOZjlKWnqJhcvR9eBgIo,6014
@@ -62,15 +62,15 @@ pydantic_ai/durable_exec/temporal/_toolset.py,sha256=IlPQrumm2MpZrb518ru15s0jIl8
62
62
  pydantic_ai/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  pydantic_ai/ext/aci.py,sha256=YWYLXzTQJ6hS7qfgNycA8cRl69gogGgThqEU6II7eMA,2527
64
64
  pydantic_ai/ext/langchain.py,sha256=kmbbV3Cx2BiNYEJCZMHVYQquUQD-zG2L_bwDangy0Ww,2317
65
- pydantic_ai/models/__init__.py,sha256=YPE0kbN0C71ljqH75m4Xsnlq5gkTxiIQt9efSGKHpf8,36146
65
+ pydantic_ai/models/__init__.py,sha256=Ez54Nc4c_VKF4RBQmIasz2ekbpvCLF9Ss-ZWaa5BYu4,37818
66
66
  pydantic_ai/models/anthropic.py,sha256=tNHLk-sao7YEFNr8-bWU2rJS3a_yO8SHgrDacScvk_k,44772
67
67
  pydantic_ai/models/bedrock.py,sha256=M_3h_S3t2s7GOiP0YIHoJjwW3d2PLzNnmXTENomV9GM,33699
68
68
  pydantic_ai/models/cohere.py,sha256=wQ3UYiFMs5Oyeyz5sd6NyG3b94iCeYBptnJC8bEYOUA,13892
69
69
  pydantic_ai/models/fallback.py,sha256=fjQz7qRuxEwC6aFYkglBv-2Z39-6kZ931vs6o7PIti8,5016
70
70
  pydantic_ai/models/function.py,sha256=7-ej1m4f7c1TbvgB8sF02qlFD7Kf-EX-k_xN4RkbIEw,15880
71
71
  pydantic_ai/models/gemini.py,sha256=ZMO1mUX6GXPo0N2OHoi_nS9Lb-Rqf0YFsILoRcssaG4,40410
72
- pydantic_ai/models/google.py,sha256=rcYzRMELj98dgnw8YrBHM1R3HLVjCTkWgDXMSNQrxOA,42141
73
- pydantic_ai/models/groq.py,sha256=cB42E-EPX5O-lRRMsd3FTypVVuVVMDc2hV2c8H4N4rA,29665
72
+ pydantic_ai/models/google.py,sha256=xaQkej5FYD4LRil4enwZHb5GmYmUqB_Wvj7-1oWdBnk,41700
73
+ pydantic_ai/models/groq.py,sha256=HxJSquMfqOAS8gsQQQJyM8iReaPYp0VywK740thOYCU,29931
74
74
  pydantic_ai/models/huggingface.py,sha256=iADyoCKYrNyjixr55rEpXW02F-sah4rLmqrThEcNNDw,21464
75
75
  pydantic_ai/models/instrumented.py,sha256=J8eVTutr3UP1r_wd5sM5c0BIdzkRqT-EGgd2NiF0ssQ,22319
76
76
  pydantic_ai/models/mcp_sampling.py,sha256=qY4y4nXbRpNp2QbkfjzWLvF_8KLZGXypz4cc0lYRHXU,3553
@@ -94,7 +94,7 @@ pydantic_ai/profiles/moonshotai.py,sha256=e1RJnbEvazE6aJAqfmYLYGNtwNwg52XQDRDkcL
94
94
  pydantic_ai/profiles/openai.py,sha256=kve8KnvsGguioNi1gQtO7dqF8vvxR8W21fERehb3GPo,10053
95
95
  pydantic_ai/profiles/qwen.py,sha256=9SnTpMKndxNQMFyumyaOczJa5JGWbYQdpVKKW4OzKjk,749
96
96
  pydantic_ai/providers/__init__.py,sha256=Fwpu0w2-NpkKYQkDS2__kaWOR3dMW2KiE9v0K1EKwP4,4985
97
- pydantic_ai/providers/anthropic.py,sha256=vwNjO2JJ0Ux_3PXI9_XvzNZ24PKessm8z2ja1uzbBwM,3327
97
+ pydantic_ai/providers/anthropic.py,sha256=gAxVAJYrhUhq3FEUaYy3rNxkB52EDISL4Zf5yzd5ups,3372
98
98
  pydantic_ai/providers/azure.py,sha256=PFRykTOfARMdANODnTLq__0ZynX7DlQ35GVf2Qs9VBY,5814
99
99
  pydantic_ai/providers/bedrock.py,sha256=bPbz-o3UhDzCRrg5xCrTfluLpDi2Yy9-JiCtC5mCIRk,8539
100
100
  pydantic_ai/providers/cerebras.py,sha256=3rIu092TYYuI5S4mlRjWxay5uomPbEDyHWIBMfrDBdA,3427
@@ -134,8 +134,22 @@ pydantic_ai/toolsets/prefixed.py,sha256=0KwcDkW8OM36ZUsOLVP5h-Nj2tPq78L3_E2c-1Fb
134
134
  pydantic_ai/toolsets/prepared.py,sha256=Zjfz6S8In6PBVxoKFN9sKPN984zO6t0awB7Lnq5KODw,1431
135
135
  pydantic_ai/toolsets/renamed.py,sha256=JuLHpi-hYPiSPlaTpN8WiXLiGsywYK0axi2lW2Qs75k,1637
136
136
  pydantic_ai/toolsets/wrapper.py,sha256=KRzF1p8dncHbva8CE6Ud-IC5E_aygIHlwH5atXK55k4,1673
137
- pydantic_ai_slim-1.8.0.dist-info/METADATA,sha256=qy-glRMISQ6gZQHM1HCjJKM_vd9VUlPKKCCXVwmVlos,5592
138
- pydantic_ai_slim-1.8.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
139
- pydantic_ai_slim-1.8.0.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
140
- pydantic_ai_slim-1.8.0.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
141
- pydantic_ai_slim-1.8.0.dist-info/RECORD,,
137
+ pydantic_ai/ui/__init__.py,sha256=J19J5ZWFWcg_SbnHxqwR_tK4A53NlpaTFk898n7tQww,406
138
+ pydantic_ai/ui/_adapter.py,sha256=f73ChFKjAmg1Tios3-rvE70htpEGMKwx-bhWg7ZAMGI,16573
139
+ pydantic_ai/ui/_event_stream.py,sha256=MsS4PZ88RkYjhqq1zOotBLoDvI5D5DS8Ed2sIGQXBss,24984
140
+ pydantic_ai/ui/_messages_builder.py,sha256=jQaKD8B8GtkDXCRb1134ufnRpv84mLgGzdZeCsFwikY,1215
141
+ pydantic_ai/ui/ag_ui/__init__.py,sha256=CWtc_Xu-upchzJYoEgJy_0o2NnfUItT-gFbOVWDO8UE,192
142
+ pydantic_ai/ui/ag_ui/_adapter.py,sha256=UbXbT3Iq0h-_UAIR7dcDPnomfSE2uM05O58e3PLt51I,6988
143
+ pydantic_ai/ui/ag_ui/_event_stream.py,sha256=_NEZvOaVNSTBTD2hSoVUeUZ13mzzqaQQC9SrM1Tg48o,9017
144
+ pydantic_ai/ui/ag_ui/app.py,sha256=0reVNuSOF3vNuONjbFys8pUl0wikgJ4lIMffwzc_8so,7927
145
+ pydantic_ai/ui/vercel_ai/__init__.py,sha256=RG6J_W7Hr89XP-GST8uRPMbxveA2EB4BmoYSuUko79s,488
146
+ pydantic_ai/ui/vercel_ai/_adapter.py,sha256=8QWDzGuIb2paM1nivS7w8x9-a7TPM8DJ6lggKkm-nrM,8723
147
+ pydantic_ai/ui/vercel_ai/_event_stream.py,sha256=78DXqziNDtdtxrgiilYQqCNXh3Ct62jWcCwtVsy__3U,6806
148
+ pydantic_ai/ui/vercel_ai/_utils.py,sha256=F-2qOC8Ckp-xSwuKp4Y0_8achi8RIGWHOSs1y7diD48,441
149
+ pydantic_ai/ui/vercel_ai/request_types.py,sha256=VQpYZJdJ2aCm2NtZPhHzBws6Qkm5aYdNcGyq-Q8IQV8,7387
150
+ pydantic_ai/ui/vercel_ai/response_types.py,sha256=nuU41wFXOCdnlyQRPZZmV9HEOvCZVjdczlg5A8qADTY,5258
151
+ pydantic_ai_slim-1.9.1.dist-info/METADATA,sha256=rWm-ut16E02EZA0XP54ROEBkZlKao7xeC6jlibnP1ko,5659
152
+ pydantic_ai_slim-1.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
153
+ pydantic_ai_slim-1.9.1.dist-info/entry_points.txt,sha256=kbKxe2VtDCYS06hsI7P3uZGxcVC08-FPt1rxeiMpIps,50
154
+ pydantic_ai_slim-1.9.1.dist-info/licenses/LICENSE,sha256=vA6Jc482lEyBBuGUfD1pYx-cM7jxvLYOxPidZ30t_PQ,1100
155
+ pydantic_ai_slim-1.9.1.dist-info/RECORD,,