aip-agents-binary 0.5.25b8__py3-none-macosx_13_0_arm64.whl → 0.6.0__py3-none-macosx_13_0_arm64.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.
@@ -471,6 +471,86 @@ class ToolOutputManager:
471
471
  """
472
472
  return self._generate_json_summary(thread_id, max_entries)
473
473
 
474
+ def get_latest_reference(self, thread_id: str) -> str | None:
475
+ """Return the most recent tool output reference for a thread.
476
+
477
+ Args:
478
+ thread_id: Thread ID to retrieve the latest output reference for.
479
+
480
+ Returns:
481
+ Latest tool output reference string or None when unavailable.
482
+ """
483
+ try:
484
+ summary = json.loads(self.generate_summary(thread_id, max_entries=1))
485
+ except Exception as exc:
486
+ logger.debug("Failed to parse tool output summary: %s", exc)
487
+ return None
488
+
489
+ if not summary:
490
+ return None
491
+ latest = summary[0].get("reference")
492
+ return latest if isinstance(latest, str) and latest else None
493
+
494
+ def has_reference(self, value: Any) -> bool:
495
+ """Check whether a value contains a tool output reference.
496
+
497
+ Args:
498
+ value: Value to inspect for tool output references.
499
+
500
+ Returns:
501
+ True if any tool output reference is present.
502
+ """
503
+ if isinstance(value, str):
504
+ return value.startswith(TOOL_OUTPUT_REFERENCE_PREFIX)
505
+ if isinstance(value, dict):
506
+ return any(self.has_reference(item) for item in value.values())
507
+ if isinstance(value, list):
508
+ return any(self.has_reference(item) for item in value)
509
+ return False
510
+
511
+ def should_replace_with_reference(self, value: Any) -> bool:
512
+ """Check whether a tool argument value should use a tool output reference.
513
+
514
+ Args:
515
+ value: Value to evaluate for replacement.
516
+
517
+ Returns:
518
+ True if the value should be replaced with a reference.
519
+ """
520
+ if isinstance(value, dict | list | tuple):
521
+ return True
522
+ if isinstance(value, str):
523
+ return len(value) > DATA_PREVIEW_TRUNCATION_LENGTH
524
+ return False
525
+
526
+ def rewrite_args_with_latest_reference(self, args: dict[str, Any], thread_id: str) -> dict[str, Any]:
527
+ """Rewrite tool args to use the latest tool output reference when appropriate.
528
+
529
+ Args:
530
+ args: Tool arguments to rewrite.
531
+ thread_id: Thread ID used for resolving stored outputs.
532
+
533
+ Returns:
534
+ Updated args dictionary with references substituted when needed.
535
+ """
536
+ if not self.has_outputs(thread_id):
537
+ return args
538
+ if self.has_reference(args):
539
+ return args
540
+
541
+ latest_reference = self.get_latest_reference(thread_id)
542
+ if not latest_reference:
543
+ return args
544
+
545
+ updated_args = dict(args)
546
+ replaced_any = False
547
+ for key, value in args.items():
548
+ if self.should_replace_with_reference(value):
549
+ updated_args[key] = latest_reference
550
+ replaced_any = True
551
+
552
+ return updated_args if replaced_any else args
553
+
474
554
  def _generate_json_summary(self, thread_id: str, max_entries: int) -> str:
475
555
  """Generate simplified JSON summary optimized for LLM prompts.
476
556
 
@@ -232,6 +232,43 @@ class ToolOutputManager:
232
232
  A JSON string containing structured data about tool outputs. Always returns
233
233
  valid JSON, even when no outputs are stored (empty entries list).
234
234
  """
235
+ def get_latest_reference(self, thread_id: str) -> str | None:
236
+ """Return the most recent tool output reference for a thread.
237
+
238
+ Args:
239
+ thread_id: Thread ID to retrieve the latest output reference for.
240
+
241
+ Returns:
242
+ Latest tool output reference string or None when unavailable.
243
+ """
244
+ def has_reference(self, value: Any) -> bool:
245
+ """Check whether a value contains a tool output reference.
246
+
247
+ Args:
248
+ value: Value to inspect for tool output references.
249
+
250
+ Returns:
251
+ True if any tool output reference is present.
252
+ """
253
+ def should_replace_with_reference(self, value: Any) -> bool:
254
+ """Check whether a tool argument value should use a tool output reference.
255
+
256
+ Args:
257
+ value: Value to evaluate for replacement.
258
+
259
+ Returns:
260
+ True if the value should be replaced with a reference.
261
+ """
262
+ def rewrite_args_with_latest_reference(self, args: dict[str, Any], thread_id: str) -> dict[str, Any]:
263
+ """Rewrite tool args to use the latest tool output reference when appropriate.
264
+
265
+ Args:
266
+ args: Tool arguments to rewrite.
267
+ thread_id: Thread ID used for resolving stored outputs.
268
+
269
+ Returns:
270
+ Updated args dictionary with references substituted when needed.
271
+ """
235
272
  def clear_all(self) -> None:
236
273
  """Clear all stored outputs from both metadata and storage.
237
274
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aip-agents-binary
3
- Version: 0.5.25b8
3
+ Version: 0.6.0
4
4
  Summary: A library for managing agents in Gen AI applications.
5
5
  Author-email: Raymond Christopher <raymond.christopher@gdplabs.id>
6
6
  Requires-Python: <3.13,>=3.11
@@ -21,22 +21,12 @@ Requires-Dist: langchain<0.4.0,>=0.3.0
21
21
  Requires-Dist: langchain-openai<0.4.0,>=0.3.17
22
22
  Requires-Dist: langchain-mcp-adapters<0.1.0,>=0.0.10
23
23
  Requires-Dist: langchain-experimental<0.4.0,>=0.3.4
24
- Requires-Dist: langgraph<0.3.0,>=0.2.16
24
+ Requires-Dist: langgraph<0.7.0,>=0.6.0
25
25
  Requires-Dist: minio<8.0.0,>=7.2.20
26
26
  Requires-Dist: pydantic<3.0.0,>=2.11.7
27
27
  Requires-Dist: python-dotenv<2.0.0,>=1.1.0
28
28
  Requires-Dist: requests<3.0.0,>=2.32.4
29
29
  Requires-Dist: uvicorn<0.35.0,>=0.34.3
30
- Provides-Extra: dev
31
- Requires-Dist: coverage<8.0.0,>=7.4.4; extra == "dev"
32
- Requires-Dist: mypy<2.0.0,>=1.15.0; extra == "dev"
33
- Requires-Dist: pre-commit<4.0.0,>=3.7.0; extra == "dev"
34
- Requires-Dist: pytest<9.0.0,>=8.1.1; extra == "dev"
35
- Requires-Dist: pytest-asyncio<0.24.0,>=0.23.6; extra == "dev"
36
- Requires-Dist: pytest-cov<6.0.0,>=5.0.0; extra == "dev"
37
- Requires-Dist: pytest-xdist>=3.8.0; extra == "dev"
38
- Requires-Dist: ruff<0.7.0,>=0.6.7; extra == "dev"
39
- Requires-Dist: pillow<12.0.0,>=11.3.0; extra == "dev"
40
30
  Provides-Extra: memory
41
31
  Requires-Dist: gllm-memory-binary[mem0ai]<0.2.0,>=0.1.1; extra == "memory"
42
32
  Provides-Extra: privacy
@@ -55,6 +45,17 @@ Requires-Dist: unidecode<2.0.0,>=1.3.0; extra == "local"
55
45
  Requires-Dist: gllm-docproc-binary[docx,pdf,xlsx]<0.8.0,>=0.7.21; extra == "local"
56
46
  Requires-Dist: gllm-multimodal-binary==0.2.0.post1; extra == "local"
57
47
  Requires-Dist: bosa-connectors-binary<0.4.0,>=0.3.1; extra == "local"
48
+ Provides-Extra: dev
49
+ Requires-Dist: coverage<8.0.0,>=7.4.4; extra == "dev"
50
+ Requires-Dist: mypy<2.0.0,>=1.15.0; extra == "dev"
51
+ Requires-Dist: nest-asyncio<2.0.0,>=1.6.0; extra == "dev"
52
+ Requires-Dist: pre-commit<4.0.0,>=3.7.0; extra == "dev"
53
+ Requires-Dist: pytest<9.0.0,>=8.1.1; extra == "dev"
54
+ Requires-Dist: pytest-asyncio<0.24.0,>=0.23.6; extra == "dev"
55
+ Requires-Dist: pytest-cov<6.0.0,>=5.0.0; extra == "dev"
56
+ Requires-Dist: pytest-xdist>=3.8.0; extra == "dev"
57
+ Requires-Dist: ruff<0.7.0,>=0.6.7; extra == "dev"
58
+ Requires-Dist: pillow<12.0.0,>=11.3.0; extra == "dev"
58
59
 
59
60
  # AIP Agents
60
61
 
@@ -73,13 +74,13 @@ You can use `aip-agents` directly for local execution, or let `glaip-sdk` manage
73
74
  ### Prerequisites
74
75
  - Python 3.11 - 3.12 - [Install here](https://www.python.org/downloads/)
75
76
  - Pip (if using Pip) - [Install here](https://pip.pypa.io/en/stable/installation/)
76
- - uv (if using uv) - [Install here](https://docs.astral.sh/uv/)
77
+ - Poetry 1.8.1+ (if using Poetry) - [Install here](https://python-poetry.org/docs/#installation)
77
78
  - Git (if using Git) - [Install here](https://git-scm.com/downloads)
78
79
  - For git installation:
79
80
  - Access to the [GDP Labs SDK repository](https://github.com/GDP-ADMIN/glaip-sdk)
80
81
 
81
82
  ### 1. Installation from the GDP Labs registry
82
- This package is published to the internal GDP Labs registry. Ensure your uv/pip config includes the registry:
83
+ This package is published to the internal GDP Labs registry. Ensure your pip/Poetry config includes the registry:
83
84
  `https://glsdk.gdplabs.id/gen-ai-internal/simple/`.
84
85
 
85
86
  #### Using pip
@@ -87,15 +88,15 @@ This package is published to the internal GDP Labs registry. Ensure your uv/pip
87
88
  pip install aip-agents
88
89
  ```
89
90
 
90
- #### Using uv
91
+ #### Using Poetry
91
92
  ```bash
92
- uv pip install aip-agents
93
+ poetry add aip-agents
93
94
  ```
94
95
 
95
96
  ### 2. Development Installation (Git)
96
97
  For development purposes, you can install directly from the Git repository:
97
98
  ```bash
98
- uv pip install "git+ssh://git@github.com/GDP-ADMIN/glaip-sdk.git#subdirectory=python/aip-agents"
99
+ poetry add "git+ssh://git@github.com/GDP-ADMIN/glaip-sdk.git#subdirectory=python/aip-agents"
99
100
  ```
100
101
 
101
102
  ### 3. Recommended: install via glaip-sdk for local mode
@@ -112,19 +113,21 @@ pip install "aip-agents[privacy]"
112
113
 
113
114
  ## Managing Dependencies
114
115
  1. Go to the `aip-agents` module root, e.g. `cd python/aip-agents`.
115
- 2. Run `uv sync --extra dev` to install the `aip-agents` requirements.
116
- 3. Run `uv lock` if you change any dependency versions in `pyproject.toml`.
116
+ 2. Run `poetry shell` to create a virtual environment.
117
+ 3. Run `poetry install` to install the `aip-agents` requirements (Poetry will generate a local lock file for you if needed; the repository ignores it).
118
+ 4. Run `poetry update` if you change any dependency versions in `pyproject.toml`.
117
119
 
118
120
  ## Contributing
119
121
  Please refer to this [Python Style Guide](https://docs.google.com/document/d/1uRggCrHnVfDPBnG641FyQBwUwLoFw0kTzNqRm92vUwM/edit?usp=sharing)
120
122
  to get information about code style, documentation standard, and SCA that you need to use when contributing to this project
121
123
 
122
124
  1. Activate `pre-commit` hooks using `pre-commit install`
123
- 2. Run `uv sync --extra dev` to install the `aip-agents` requirements.
124
- 3. Run `which python` to get the path to be referenced at Visual Studio Code interpreter path (`Ctrl`+`Shift`+`P` or `Cmd`+`Shift`+`P`)
125
- 4. Try running the unit test to see if it's working:
125
+ 2. Run `poetry shell` to create a virtual environment.
126
+ 3. Run `poetry install` to install the `aip-agents` requirements (this will also create a local lock file that stays local).
127
+ 4. Run `which python` to get the path to be referenced at Visual Studio Code interpreter path (`Ctrl`+`Shift`+`P` or `Cmd`+`Shift`+`P`)
128
+ 5. Try running the unit test to see if it's working:
126
129
  ```bash
127
- uv run pytest -s tests/unit_tests/
130
+ poetry run pytest -s tests/unit_tests/
128
131
  ```
129
132
 
130
133
  ## Hello World Examples
@@ -225,57 +228,57 @@ For STDIO, SSE, and HTTP transports using local servers, open a terminal in the
225
228
  - For STDIO:
226
229
 
227
230
  ```bash
228
- uv run python aip_agents/examples/mcp_servers/mcp_server_stdio.py
231
+ poetry run python aip_agents/examples/mcp_servers/mcp_server_stdio.py
229
232
  ```
230
233
 
231
234
  - For SSE:
232
235
 
233
236
  ```bash
234
- uv run python aip_agents/examples/mcp_servers/mcp_server_sse.py
237
+ poetry run python aip_agents/examples/mcp_servers/mcp_server_sse.py
235
238
  ```
236
239
 
237
240
  - For HTTP:
238
241
 
239
242
  ```bash
240
- uv run python aip_agents/examples/mcp_servers/mcp_server_http.py
243
+ poetry run python aip_agents/examples/mcp_servers/mcp_server_http.py
241
244
  ```
242
245
 
243
246
  Note: Start the appropriate server before running the client examples for that transport.
244
247
 
245
248
  ### Running Examples
246
249
 
247
- All examples are run from the library root using `uv run python aip_agents/examples/<file>.py`. Examples support OpenAI for LangGraph/LangChain and Google ADK where specified.
250
+ All examples are run from the library root using `poetry run python aip_agents/examples/<file>.py`. Examples support OpenAI for LangGraph/LangChain and Google ADK where specified.
248
251
 
249
252
  #### LangChain Examples
250
253
 
251
254
  ##### STDIO Transport
252
255
  - Non-Streaming:
253
256
  ```bash
254
- uv run python aip_agents/examples/hello_world_langchain_mcp_stdio.py
257
+ poetry run python aip_agents/examples/hello_world_langchain_mcp_stdio.py
255
258
  ```
256
259
  - Streaming:
257
260
  ```bash
258
- uv run python aip_agents/examples/hello_world_langchain_mcp_stdio_stream.py
261
+ poetry run python aip_agents/examples/hello_world_langchain_mcp_stdio_stream.py
259
262
  ```
260
263
 
261
264
  ##### SSE Transport
262
265
  - Non-Streaming:
263
266
  ```bash
264
- uv run python aip_agents/examples/hello_world_langchain_mcp_sse.py
267
+ poetry run python aip_agents/examples/hello_world_langchain_mcp_sse.py
265
268
  ```
266
269
  - Streaming:
267
270
  ```bash
268
- uv run python aip_agents/examples/hello_world_langchain_mcp_sse_stream.py
271
+ poetry run python aip_agents/examples/hello_world_langchain_mcp_sse_stream.py
269
272
  ```
270
273
 
271
274
  ##### HTTP Transport
272
275
  - Non-Streaming:
273
276
  ```bash
274
- uv run python aip_agents/examples/hello_world_langchain_mcp_http.py
277
+ poetry run python aip_agents/examples/hello_world_langchain_mcp_http.py
275
278
  ```
276
279
  - Streaming:
277
280
  ```bash
278
- uv run python aip_agents/examples/hello_world_langchain_mcp_http_stream.py
281
+ poetry run python aip_agents/examples/hello_world_langchain_mcp_http_stream.py
279
282
  ```
280
283
 
281
284
  #### Google ADK Examples
@@ -283,31 +286,31 @@ uv run python aip_agents/examples/hello_world_langchain_mcp_http_stream.py
283
286
  ##### STDIO Transport
284
287
  - Non-Streaming:
285
288
  ```bash
286
- uv run python aip_agents/examples/hello_world_google_adk_mcp_stdio.py
289
+ poetry run python aip_agents/examples/hello_world_google_adk_mcp_stdio.py
287
290
  ```
288
291
  - Streaming:
289
292
  ```bash
290
- uv run python aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.py
293
+ poetry run python aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.py
291
294
  ```
292
295
 
293
296
  ##### SSE Transport
294
297
  - Non-Streaming:
295
298
  ```bash
296
- uv run python aip_agents/examples/hello_world_google_adk_mcp_sse.py
299
+ poetry run python aip_agents/examples/hello_world_google_adk_mcp_sse.py
297
300
  ```
298
301
  - Streaming:
299
302
  ```bash
300
- uv run python aip_agents/examples/hello_world_google_adk_mcp_sse_stream.py
303
+ poetry run python aip_agents/examples/hello_world_google_adk_mcp_sse_stream.py
301
304
  ```
302
305
 
303
306
  ##### HTTP Transport
304
307
  - Non-Streaming:
305
308
  ```bash
306
- uv run python aip_agents/examples/hello_world_google_adk_mcp_http.py
309
+ poetry run python aip_agents/examples/hello_world_google_adk_mcp_http.py
307
310
  ```
308
311
  - Streaming:
309
312
  ```bash
310
- uv run python aip_agents/examples/hello_world_google_adk_mcp_http_stream.py
313
+ poetry run python aip_agents/examples/hello_world_google_adk_mcp_http_stream.py
311
314
  ```
312
315
 
313
316
  #### LangGraph Examples (OpenAI)
@@ -315,31 +318,31 @@ uv run python aip_agents/examples/hello_world_google_adk_mcp_http_stream.py
315
318
  ##### STDIO Transport
316
319
  - Non-Streaming:
317
320
  ```bash
318
- uv run python aip_agents/examples/hello_world_langgraph_mcp_stdio.py
321
+ poetry run python aip_agents/examples/hello_world_langgraph_mcp_stdio.py
319
322
  ```
320
323
  - Streaming:
321
324
  ```bash
322
- uv run python aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.py
325
+ poetry run python aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.py
323
326
  ```
324
327
 
325
328
  ##### SSE Transport
326
329
  - Non-Streaming:
327
330
  ```bash
328
- uv run python aip_agents/examples/hello_world_langgraph_mcp_sse.py
331
+ poetry run python aip_agents/examples/hello_world_langgraph_mcp_sse.py
329
332
  ```
330
333
  - Streaming:
331
334
  ```bash
332
- uv run python aip_agents/examples/hello_world_langgraph_mcp_sse_stream.py
335
+ poetry run python aip_agents/examples/hello_world_langgraph_mcp_sse_stream.py
333
336
  ```
334
337
 
335
338
  ##### HTTP Transport
336
339
  - Non-Streaming:
337
340
  ```bash
338
- uv run python aip_agents/examples/hello_world_langgraph_mcp_http.py
341
+ poetry run python aip_agents/examples/hello_world_langgraph_mcp_http.py
339
342
  ```
340
343
  - Streaming:
341
344
  ```bash
342
- uv run python aip_agents/examples/hello_world_langgraph_mcp_http_stream.py
345
+ poetry run python aip_agents/examples/hello_world_langgraph_mcp_http_stream.py
343
346
  ```
344
347
 
345
348
  ### Multi-Server Example
@@ -355,13 +358,13 @@ npx @playwright/mcp@latest --headless --port 8931
355
358
  2. In another terminal, start the Name Generator SSE server:
356
359
 
357
360
  ```bash
358
- uv run python aip_agents/examples/mcp_servers/mcp_name.py
361
+ poetry run python aip_agents/examples/mcp_servers/mcp_name.py
359
362
  ```
360
363
 
361
364
  3. Run the multi-server client example:
362
365
 
363
366
  ```bash
364
- uv run python aip_agents/examples/hello_world_langchain_mcp_multi_server.py
367
+ poetry run python aip_agents/examples/hello_world_langchain_mcp_multi_server.py
365
368
  ```
366
369
  **3. Running Individual A2A Examples:**
367
370
 
@@ -477,7 +480,7 @@ The library supports Mem0 as a memory backend for long-term conversation recall.
477
480
  Use the coordinator example with memory enabled:
478
481
 
479
482
  ```bash
480
- uv run python aip_agents/examples/hello_world_a2a_mem0_coordinator_server.py
483
+ poetry run python aip_agents/examples/hello_world_a2a_mem0_coordinator_server.py
481
484
  ```
482
485
 
483
486
  In client:
@@ -20,8 +20,8 @@ aip_agents/agent/__init__.py,sha256=KBT-e5nEBMVJypC8OFulmErUK63gmQZus0UcBu6EqBo,
20
20
  aip_agents/agent/__init__.pyi,sha256=MxIAeAv1pPCtqfAa3lvmeCAN-IT5p3v77IeKhfKYvKo,855
21
21
  aip_agents/agent/base_agent.py,sha256=XH19lJZuumWBu2JMoretv6T4bSXcWMqK8jZ3mOWWzCk,39669
22
22
  aip_agents/agent/base_agent.pyi,sha256=xnWp05zTJrt1YfHmm9CsggBmrSsIY-SSy_G9EWGvEBQ,11118
23
- aip_agents/agent/base_langgraph_agent.py,sha256=88EUgf4i0OTO7lNqY6-yBUoEe-wfnFhPXfp80B5tibY,120026
24
- aip_agents/agent/base_langgraph_agent.pyi,sha256=6uUB4zyzKGQ62xVHvGEOp_lhav6df6f_Fq8Rzz2gdac,11569
23
+ aip_agents/agent/base_langgraph_agent.py,sha256=Bt3LFYtoSkPnnxXOyu2dn7OkReQ4y78mEVlwPzhCaAo,123018
24
+ aip_agents/agent/base_langgraph_agent.pyi,sha256=7X9GWkGK4QkYrnjuBC8U4zcOlzYCt7-TgPmFwhJMt1Q,11593
25
25
  aip_agents/agent/google_adk_agent.py,sha256=V_b72Ig87UiW15YNc-PCcxd25ia9pj2T0IlqCDJ-3_Q,37136
26
26
  aip_agents/agent/google_adk_agent.pyi,sha256=o06bPfA7bRQ_ufdOmJ6j6A2_WxWr5G6jZEKRzEPYjTU,6248
27
27
  aip_agents/agent/google_adk_constants.py,sha256=7Br4pVF56oLdU3dkh-kKKQeOy_mq8qVhliUdYNT1sSM,210
@@ -34,7 +34,7 @@ aip_agents/agent/langflow_agent.py,sha256=ZoJGOS8GcgGJ9Xfu4upzk3Nc1XVkpS8GSpcyKh
34
34
  aip_agents/agent/langflow_agent.pyi,sha256=z89Y7JifrsHi4Vn6LE_s0zbo77nLhkDKI-eRcxmnOr0,5667
35
35
  aip_agents/agent/langgraph_memory_enhancer_agent.py,sha256=EqH_olZ6Ue-SyQMrvYfuLkiCQAAZRMWx8izB19IYSlI,17426
36
36
  aip_agents/agent/langgraph_memory_enhancer_agent.pyi,sha256=e5sz1hbyOLw0eHo6fKf3HsCpyTe3yGqEidn9EOGb3QQ,2595
37
- aip_agents/agent/langgraph_react_agent.py,sha256=p_p4VccXagntQ6-83uBor4NPTvs0LydYB4qiIVUcRbs,106298
37
+ aip_agents/agent/langgraph_react_agent.py,sha256=C1JSXFemfCdpv9CxAy1F62YqFa2uCidfPmXOWkudTR8,108486
38
38
  aip_agents/agent/langgraph_react_agent.pyi,sha256=z9qvkaDZZO0oSqX-2O_cacuXEtMSGY8bbcI4PAN6gUg,8356
39
39
  aip_agents/agent/system_instruction_context.py,sha256=xTWdpKVJsWcR1uI0alCLnUsbP5sh_VWHxfF2zoi7NY0,1186
40
40
  aip_agents/agent/system_instruction_context.pyi,sha256=mdSg5sApS9G7-zr3d9BunJqwe2GB6dDD3DOCDfRrpkU,411
@@ -67,9 +67,9 @@ aip_agents/clients/langflow/types.pyi,sha256=GobtmPusKRbBy3QL9o8ci466bosvx6l_vH7
67
67
  aip_agents/credentials/manager.py,sha256=y9Hc6jMuHl-VddQqRIW1VzJ1H6LQ9N_e2xv-yzp-xyU,4708
68
68
  aip_agents/examples/__init__.py,sha256=o8_p5Vdm2gXR4AE_KbPNNrVQBp-0TvFVtYgMu4x9L8k,183
69
69
  aip_agents/examples/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- aip_agents/examples/compare_streaming_client.py,sha256=3HG_aFrpdsFqbtTkzLgOs9-vuPzzgFQVM4LXMzIVve0,33548
70
+ aip_agents/examples/compare_streaming_client.py,sha256=cUf2rv4ZfaDEJ-3cUb94qHh-a07PnkDisQ7bC8v7QbQ,33556
71
71
  aip_agents/examples/compare_streaming_client.pyi,sha256=caRzRGjAcs7Vdoecll1ud7SKGnbRh1RnYcKrkWpNiQE,3008
72
- aip_agents/examples/compare_streaming_server.py,sha256=8xWKTq7W4AaXTuU8PsjuLNARIiSS92UxJOWHWVPTsQ4,5630
72
+ aip_agents/examples/compare_streaming_server.py,sha256=PyLGALAL0qWJUo2Ju7YXvh8US9Gp6jf61fjUL1NeY9E,5634
73
73
  aip_agents/examples/compare_streaming_server.pyi,sha256=NNu30WWoC6QQt-hiAq4zwCX3qJaSwz-LE5KolEfBp0A,842
74
74
  aip_agents/examples/demo_memory_recall.py,sha256=7_FmFpBRWZmIfvrinwT_WgPmMRew_WEW5khQitESlqg,15513
75
75
  aip_agents/examples/demo_memory_recall.pyi,sha256=eX0GEZ9EVKvvmMBc_d9NKQkHWHsbfi-cDpensKHHqC4,2570
@@ -215,7 +215,7 @@ aip_agents/examples/hello_world_step_limits.py,sha256=hRV9XERlq2qW_yZ4kHAe1hTguk
215
215
  aip_agents/examples/hello_world_step_limits.pyi,sha256=V9KP6r5OEVq2lNUfnqMeCGH1nsNewDsRL1Uo9up8xis,1060
216
216
  aip_agents/examples/hello_world_stock_a2a_server.py,sha256=5OIhLDkuCKiTwQleyyXp83HwcUTIeESU5SKmFqs0m4U,3433
217
217
  aip_agents/examples/hello_world_stock_a2a_server.pyi,sha256=EYsTPyLYogpSr7HRZZdW7cbei0HSva-V6yL4RxjW2UQ,657
218
- aip_agents/examples/hello_world_tool_output_client.py,sha256=IEcQcmSWo5Gp8ZA0zHPt_ZyQR4MzEEs3QNp6KecAWEE,1323
218
+ aip_agents/examples/hello_world_tool_output_client.py,sha256=JShYKVRsRxHx097hR8UQQ2TUCW5jh8ZnhO-eYDpxat4,1972
219
219
  aip_agents/examples/hello_world_tool_output_client.pyi,sha256=bgTSPn-pf-UmLRhHGEjU2-Vha9EUhVjZQy1qcSHyf7A,240
220
220
  aip_agents/examples/hello_world_tool_output_server.py,sha256=E6ZCPlQheXVoXSk1n29fRPRVhGQLqasfYBOtxEI8BYQ,4039
221
221
  aip_agents/examples/hello_world_tool_output_server.pyi,sha256=YYRkV833qaLpAwPta3NUyIefvXX5puy-stfJGmjBsPc,966
@@ -229,9 +229,9 @@ aip_agents/examples/pii_demo_multi_agent_client.py,sha256=fIn2t7qYHhjMZSjggG9XVo
229
229
  aip_agents/examples/pii_demo_multi_agent_client.pyi,sha256=NjWmXcO_y-dF4WwZVZ09XR9Yl1sZM2eVnVT9pf2YCSQ,231
230
230
  aip_agents/examples/pii_demo_multi_agent_server.py,sha256=lZYOPJdx3lSiLSZzHYobi83mycvXbk4jrj3cyAWpb38,9359
231
231
  aip_agents/examples/pii_demo_multi_agent_server.pyi,sha256=ljccHg9TbEK2-kqFnSEtcFtdSGwJQspCzg3PE5W48dw,1571
232
- aip_agents/examples/todolist_planning_a2a_langchain_client.py,sha256=_6LUddgdwnyKekS9oJ9JmcvjDVdoGI0FXxstRH9gJt0,2563
232
+ aip_agents/examples/todolist_planning_a2a_langchain_client.py,sha256=1A8GVFsZuzgE4UrOsQ_0snh4oD-d78fPVaZh8wXHRPQ,2571
233
233
  aip_agents/examples/todolist_planning_a2a_langchain_client.pyi,sha256=KMMVNoJvOdajKj6lu-4oxTdrW56YRlx5YYa8pwF2u9w,234
234
- aip_agents/examples/todolist_planning_a2a_langgraph_server.py,sha256=qeVzOpkXtqteJJOlXsqdHsXE0pf6hdWSKmGBT5ptz9A,3011
234
+ aip_agents/examples/todolist_planning_a2a_langgraph_server.py,sha256=VwwQI7Lx5d9AGs6H-4b5uk2plzzbeVbOUOEodNgXd2k,3015
235
235
  aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi,sha256=8SGFJNxDTp9ojot5gXlod7FmIys48AnVGy4eXiSZl_I,756
236
236
  aip_agents/examples/mcp_configs/configs.py,sha256=dgKk5V14PrWLqMNOQw9OiJ4fTh1yfgasHUpx8LSHuos,1615
237
237
  aip_agents/examples/mcp_servers/common.py,sha256=o9D7PJ63XMbjsSZJjYuqY8icaKtgm8cpeqCYygIxi8o,2532
@@ -294,7 +294,7 @@ aip_agents/guardrails/utils.py,sha256=JzLa0IsDSRCQ4UjX4yILQcp9N2yZFhL7bhqAExOznx
294
294
  aip_agents/guardrails/utils.pyi,sha256=xpA-ON4Sf2vhobNSjpLHutHClIv5NQzjmmP8b93vWfY,690
295
295
  aip_agents/guardrails/engines/__init__.py,sha256=ms45MKhUEYPqXUf3SMSNpW6wazL9ZGVWznqRXDC3ER4,2170
296
296
  aip_agents/guardrails/engines/__init__.pyi,sha256=wDdok30WGjpFQuGnHE75Ddw6JmcF_9Ux0k0kBH-3Nzc,248
297
- aip_agents/guardrails/engines/base.py,sha256=5X-aixXjr5wm4jzgT8BO4OTYbX8x09PLp6R_eQwYBK4,2623
297
+ aip_agents/guardrails/engines/base.py,sha256=Ytkrhpr04tqcP1Ze5WX4cnjcy9nfheU610FjYoQFSdQ,2743
298
298
  aip_agents/guardrails/engines/base.pyi,sha256=BasnK5yWrAIDnGomqfaU9MlaJ_qj7LILO4U1_9miUxA,2236
299
299
  aip_agents/guardrails/engines/nemo.py,sha256=Qs2JX-1SVTrWvtrLH3wDezOSZsOdQYjwCvBC8PxbSZ4,3801
300
300
  aip_agents/guardrails/engines/nemo.pyi,sha256=wUGT1Q7WzGw4XPDLfIW4YQODAEzvEjP3fNCA2mBKWps,1981
@@ -306,14 +306,14 @@ aip_agents/mcp/client/__init__.py,sha256=85jA6v-bjjm13kCqnu57__fIprCAk5fC628API9
306
306
  aip_agents/mcp/client/__init__.pyi,sha256=XgIkFbbmAh5cqQM4t1xT5y-Avu0vf4b-YCn6btXjIK8,339
307
307
  aip_agents/mcp/client/base_mcp_client.py,sha256=36bY_4BbzVBogDekwBOCL3A12MuXmKiNTpbxQjBgjlM,13973
308
308
  aip_agents/mcp/client/base_mcp_client.pyi,sha256=FuJBA4TLFPBJzuHqpxMGOlODgMpT7avOoAR34TsiQAk,5881
309
- aip_agents/mcp/client/connection_manager.py,sha256=4dgwgZISkjevHTMH2E8aqLRwsybUKMP3IHxf1GKvCts,7487
310
- aip_agents/mcp/client/connection_manager.pyi,sha256=voj-rqqiZvSFYY7Z-X991xZlcFOMxsf1QDhuWMUaIvs,1772
311
- aip_agents/mcp/client/persistent_session.py,sha256=fPCbtWaF74pGzDCm3FEb1W_pKIdZHXmfsIuls3Ns8R0,14411
312
- aip_agents/mcp/client/persistent_session.pyi,sha256=in3TgtC-eHD6j2payC9_TryuOLOmqoeDKfl7UaZ_kBA,3908
309
+ aip_agents/mcp/client/connection_manager.py,sha256=RY0wtYu3pjcvaEPQVAKCRkOjhCHhS0di8OQVMjqCggs,9137
310
+ aip_agents/mcp/client/connection_manager.pyi,sha256=DhZPuCrK17wWBZ_oKhrHzwH6vv_Jy9NxHOEqo7rhnhY,1951
311
+ aip_agents/mcp/client/persistent_session.py,sha256=sucOlCDvpX70_Ru_BZDGX-dHGlG9cPA2R9PVL179hFE,23852
312
+ aip_agents/mcp/client/persistent_session.pyi,sha256=B0N7gY0NFidELB4IAE7pk0QuskjhIAgN662wSgRrKxc,4267
313
313
  aip_agents/mcp/client/session_pool.py,sha256=_J8WduSo3HAfhE5n4u67IQQ71m_L2aPUY1NOgX5e7yA,12617
314
314
  aip_agents/mcp/client/session_pool.pyi,sha256=RtzN-5QDLS5MFAlnR5TiarY1xW4xo780n7lQL0sQbRU,3579
315
- aip_agents/mcp/client/transports.py,sha256=i7cJ1_vUUrE4yVTq-nFf0AnfKv0j9k1d8EcVZBykTUI,8624
316
- aip_agents/mcp/client/transports.pyi,sha256=_V6ZaQyKtTMhHzNQH943asy0O6z2bHTOX8hc-lZlV2s,4576
315
+ aip_agents/mcp/client/transports.py,sha256=hHzZD-pmim5pj25ozV61lJ1D-hTYvvYXZryrRtPZBR8,9908
316
+ aip_agents/mcp/client/transports.pyi,sha256=S7uhJIh-6bZq8_tgqTdeez78vIrtHy4a10GO1GDgEio,4958
317
317
  aip_agents/mcp/client/google_adk/__init__.py,sha256=ZJZE7IusoWFzEwaWsHOk-8VMdR-LUmWacepw_HHuOlI,280
318
318
  aip_agents/mcp/client/google_adk/__init__.pyi,sha256=TAbiDbysxbCtHQSASGdko6JIaZEnPbCmUqt4Jf966cs,127
319
319
  aip_agents/mcp/client/google_adk/client.py,sha256=WAbUho8Et7XZ1RWu0ug1-61--kdUVH0wvpzDddT7cv8,15980
@@ -406,7 +406,7 @@ aip_agents/tools/browser_use/__init__.py,sha256=_ZYoSads6DRHK9odnPfvEBRDAncIkkFU
406
406
  aip_agents/tools/browser_use/__init__.pyi,sha256=GSn1A8ZIN9ii9EcG6GDQ-qfIsflCTI-1g9eYeY7kWwQ,497
407
407
  aip_agents/tools/browser_use/action_parser.py,sha256=Vr5dmGB9vkgdgsqEtstNwv8qEhuuhzxg4UO62faD_lk,3366
408
408
  aip_agents/tools/browser_use/action_parser.pyi,sha256=Cwxu-BBw8hG5Njt6NbBR9spfiTxSQTKn3iduembRjz8,723
409
- aip_agents/tools/browser_use/browser_use_tool.py,sha256=YA2G_EJjrZ8z6clZyuc8Kwl7Gu-QdhtbDYBtAUJj2nM,44556
409
+ aip_agents/tools/browser_use/browser_use_tool.py,sha256=JlVCbjRBiu-smzjZW3GoKOigm11ZRXIEBHP_giRdL68,45042
410
410
  aip_agents/tools/browser_use/browser_use_tool.pyi,sha256=TIfACXGGQYTT2eLXPxGHj8ynOVEPqcucBbC2LdLqR9g,3257
411
411
  aip_agents/tools/browser_use/llm_config.py,sha256=SmSd4ka5mizgZqIQhMvQqaAjlCjJ5BIpBX1U4ujYFlQ,3700
412
412
  aip_agents/tools/browser_use/llm_config.pyi,sha256=LgS7R3dqaNFoUZqzYRFx58X8FZ1phXwQZ2HQmcZ4KrA,2115
@@ -420,7 +420,7 @@ aip_agents/tools/browser_use/session_errors.py,sha256=9zGUjp5g1eppnrzncTvPANG9XZ
420
420
  aip_agents/tools/browser_use/session_errors.pyi,sha256=eW8rP7w-05jqlhtEP44rVP3TwSbV91UYY8taBuJdc90,1792
421
421
  aip_agents/tools/browser_use/steel_session_recording.py,sha256=cppLBU2LEYaxGkih14GlBm2h68gToN1_6cWAg2SGjiM,11654
422
422
  aip_agents/tools/browser_use/steel_session_recording.pyi,sha256=igIh4IvMGf49WG6De01lxmgdf5uXuBAFT4jNnD1Krco,2169
423
- aip_agents/tools/browser_use/streaming.py,sha256=Caq5QrwxQK55ufq3c_zot5y_3XZDWASu4jLZEtt-E8I,27712
423
+ aip_agents/tools/browser_use/streaming.py,sha256=E-LuyGbDkhbF-oq0m2zCODBju6nZUFw9yhlncpoRJjA,27835
424
424
  aip_agents/tools/browser_use/streaming.pyi,sha256=9DVFCLoFz0ZIPh00OVVnMHgsqHzTBj9e0m6jSgLgdxQ,3192
425
425
  aip_agents/tools/browser_use/structured_data_parser.py,sha256=G48eKMfrDE1BP7V8lJogfKWo5vSq_gzbodYDpKAxDV8,8372
426
426
  aip_agents/tools/browser_use/structured_data_parser.pyi,sha256=LkzuOf6yNoIHZsjAdIsuklMdOB0tAxNZLMkuIw3d2Cw,3842
@@ -508,15 +508,15 @@ aip_agents/utils/langgraph/__init__.py,sha256=Yq0TjNfQ7MH-dUui1bAh7qDXlwmM9yKaS9
508
508
  aip_agents/utils/langgraph/__init__.pyi,sha256=lmnwf_rn6QU0UTOR8hjTUzgDRHu3Am-gY9xQF0qDlDg,613
509
509
  aip_agents/utils/langgraph/converter.py,sha256=71YDkd0Iovq5LaNZFBcxn-DNjX_rn_WGIcqmDHlHfGs,4920
510
510
  aip_agents/utils/langgraph/converter.pyi,sha256=zodI3N5ml95kVv5IVl6_4JzOLtPZyzse4DPsanGgqmI,1985
511
- aip_agents/utils/langgraph/tool_output_management.py,sha256=5Xdzmwx_opTog0UDKwr-8j1PkZlSem2-LV-niIxudlI,39230
512
- aip_agents/utils/langgraph/tool_output_management.pyi,sha256=cQKH4VWfVl9e1MaIlFh6NQ-nBZHoH6gkaW_bIkJ-NaI,12477
511
+ aip_agents/utils/langgraph/tool_output_management.py,sha256=9zWs22D-iewnPdSbyExAg4BkOce-MsRh8snkv1V7KmI,42069
512
+ aip_agents/utils/langgraph/tool_output_management.pyi,sha256=39bRf3zifQiC_KrA1LW6MuwJXt5CZp8grDJWdpBhGJM,13835
513
513
  aip_agents/utils/langgraph/tool_managers/__init__.py,sha256=CqHnUOLc3jvNR3vHjcdOH_BXXC-LRgJR3CoXBm5EcgA,687
514
514
  aip_agents/utils/langgraph/tool_managers/__init__.pyi,sha256=xPvWR1cPtgD0V6td69vjYcTL4w5IGTc65IUabV1cxBE,434
515
515
  aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.py,sha256=oiyjoKOIgkoFXI69AJje00ZVkeS5sojj1sIOWUtpiPI,3814
516
516
  aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi,sha256=Zs3hEn_0CHCsi4bzBS_2iDMyWr1xGSbRl-u0JJbE67o,1399
517
517
  aip_agents/utils/langgraph/tool_managers/base_tool_manager.py,sha256=JkTik7JdUOXzWS3_iQhDJn0F3n0g-Jxgwz8GrUwLabk,2026
518
518
  aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi,sha256=G1WysOvmMv5iDPiwdKwa01w9bE5GMshuU_0xCALKQUQ,1511
519
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py,sha256=WrVkGAVvQEiS3qEQPVFGrB4fimYn5yUVWsTFF2KM9tU,42984
519
+ aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py,sha256=PX6PjWso0od6LSazni3CYLkXNi0IUQ0Sjkgr0orPi-A,44260
520
520
  aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi,sha256=SNBefHy-ZWZqDKA_LjBzevZ6HICSvWa-Oj0garP-7XE,2934
521
521
  aip_agents/utils/metadata/__init__.py,sha256=Jw3eFe00C7ekeNyO_eJxM9jmVvjaBWccNyI6d2vbvKg,722
522
522
  aip_agents/utils/metadata/__init__.pyi,sha256=nHRkW-eLNS0XB-Vs0fFbNOHfoLQfKT8BSoapFK3IyZ0,629
@@ -560,7 +560,7 @@ aip_agents/utils/pii/pii_helper.py,sha256=g0yRzakfA2AA6vjUNLWHqFlcxyLql6MXQ90NN3
560
560
  aip_agents/utils/pii/pii_helper.pyi,sha256=dulZs150ikbAL3Bw2YLcz3_g4DsGmL3lciwf8mKxEjI,2939
561
561
  aip_agents/utils/pii/uuid_deanonymizer_mapping.py,sha256=Gks8l8t0cuS9pzoQnrpiK1CaLmWYksjOnTeiHh3_7EE,7348
562
562
  aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi,sha256=gnWfD1rWZh_tloJjgKiZ6f6iNUuBaHpKqCSiP0d-9bs,3084
563
- aip_agents_binary-0.5.25b8.dist-info/METADATA,sha256=Cvu12iAPUw0tH0Iw0DJWYB7J2o8FSFjPuvRyMAYCM4c,21929
564
- aip_agents_binary-0.5.25b8.dist-info/WHEEL,sha256=KxCTaSkoYs_EnWvWxmau4HAvN-_rCRYV_bfRc_41A9k,106
565
- aip_agents_binary-0.5.25b8.dist-info/top_level.txt,sha256=PEz8vcwC1bH4UrkhF0LkIYCNfXGWZUHdSklbvkBe25E,11
566
- aip_agents_binary-0.5.25b8.dist-info/RECORD,,
563
+ aip_agents_binary-0.6.0.dist-info/METADATA,sha256=PC6WXiABFDyUIszE8akBBT0YZyQGLbVllkvhdnTLd7g,22371
564
+ aip_agents_binary-0.6.0.dist-info/WHEEL,sha256=KxCTaSkoYs_EnWvWxmau4HAvN-_rCRYV_bfRc_41A9k,106
565
+ aip_agents_binary-0.6.0.dist-info/top_level.txt,sha256=PEz8vcwC1bH4UrkhF0LkIYCNfXGWZUHdSklbvkBe25E,11
566
+ aip_agents_binary-0.6.0.dist-info/RECORD,,