aip-agents-binary 0.5.25b9__py3-none-any.whl → 0.6.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.
@@ -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.25b9
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=noyxX-rddnulFTp9CLOPmlpsysteku3Q2r_nBbfECvc,
20
20
  aip_agents/agent/__init__.pyi,sha256=N-XcIaJOUMl6-ZVEHlZNN6PcahotUSeLRYMWxC2Juj0,864
21
21
  aip_agents/agent/base_agent.py,sha256=-8TyVGRUqPBwREoDoU14UbSJ3qdtfQ_a6VxdU8P4BCM,40639
22
22
  aip_agents/agent/base_agent.pyi,sha256=piwAfkyD4Zw1IESdrx4lIrR8oBABrYai88EzabKTtZ0,11339
23
- aip_agents/agent/base_langgraph_agent.py,sha256=XqsSQtxHCiAqQoi5ib8RW00BbpeujNONEAdkqQQYLV4,122974
24
- aip_agents/agent/base_langgraph_agent.pyi,sha256=vfRtRAHT7Hb4Pq2uprmFUgQcsK_Tac2fv1Xoht5GPiU,11801
23
+ aip_agents/agent/base_langgraph_agent.py,sha256=LwEKqv6htsnRjz5ucGlrw1JLmUE1ZQ5FckjAJykMrFc,126035
24
+ aip_agents/agent/base_langgraph_agent.pyi,sha256=XBPJi_FP-HAv9gQYz70yOUDttekKkeHV8g8tXTz5lmY,11826
25
25
  aip_agents/agent/google_adk_agent.py,sha256=8zNLEnWlvwh0qxY65bZKuxBipsTFT-sbmb6zD12cMDA,38062
26
26
  aip_agents/agent/google_adk_agent.pyi,sha256=O7DDlLAHLFBLpBKt1wMIqWX9GqI-_x2mGpkIACyXqf4,6389
27
27
  aip_agents/agent/google_adk_constants.py,sha256=kU-zSncuifqO6UWtpG9QG15MeQZiK5bVwf9iSpj9SyY,216
@@ -34,7 +34,7 @@ aip_agents/agent/langflow_agent.py,sha256=3KjB4ZBAIAqPKK5pML3DuiQ_yixx2L4dTQSW2p
34
34
  aip_agents/agent/langflow_agent.pyi,sha256=HOzMWIkga8F_ZFrzT62JdX9vhh8JhQVg-ylrr2Tglyo,5800
35
35
  aip_agents/agent/langgraph_memory_enhancer_agent.py,sha256=1AvvqvFfeLf80Jw2W2Mm7TdpwO3o_OC7r-30M4EIWeU,17859
36
36
  aip_agents/agent/langgraph_memory_enhancer_agent.pyi,sha256=6n6cd3udUhSaVTxqulnjCCgR-eUROnBEW2lFkAQCBQ4,2644
37
- aip_agents/agent/langgraph_react_agent.py,sha256=tp5luLsB9_Of00yNidcX6Q9QWbZFwZcVuzYC6ck3Egg,108894
37
+ aip_agents/agent/langgraph_react_agent.py,sha256=oGUzQZu7XiXrbuLAEJote5sBGkjnKYYck352E5LhZdE,111126
38
38
  aip_agents/agent/langgraph_react_agent.pyi,sha256=bVzM5w98biRwV6GTzaIeKu_rwIQ8d-q7EugZk9N-0vQ,8487
39
39
  aip_agents/agent/system_instruction_context.py,sha256=6lQAJ6DJv1aF8wjalxdsNWqEDZmomHwnhnPikLCfzj4,1220
40
40
  aip_agents/agent/system_instruction_context.pyi,sha256=gpYUr_CjWU_qVFobX_sduKDQN_wwtRL9BdnYv0WZ0Mc,424
@@ -67,9 +67,9 @@ aip_agents/clients/langflow/types.pyi,sha256=BaCgeyoWNEYGH9_i436chTH-NZ-6RrU8QAB
67
67
  aip_agents/credentials/manager.py,sha256=IFJBiF-3LFkzLWz9xcNI1c5IxUriQjt5J_xATA9WMQU,4840
68
68
  aip_agents/examples/__init__.py,sha256=KDL2do9_iDjXNbrLPOzxegQPEQLm0tTMVNo5Uq2BpRA,188
69
69
  aip_agents/examples/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- aip_agents/examples/compare_streaming_client.py,sha256=562iaPEKOq4rIjkWaejWZ4_gi6SnQG5TSPkEC7c8qg0,34331
70
+ aip_agents/examples/compare_streaming_client.py,sha256=kzF_xdsxCvCe27N18ec0-oJ0zhdJZQOiwFnuDzF0X4M,34339
71
71
  aip_agents/examples/compare_streaming_client.pyi,sha256=5nArTm9Wv9KvABk-ALO5Fs1N58qV8ttl57kUuggSmxA,3056
72
- aip_agents/examples/compare_streaming_server.py,sha256=tN1D4n0tMtyPM0n3f_U0hPE4PWRt0qfIt-fFWxEJKiY,5772
72
+ aip_agents/examples/compare_streaming_server.py,sha256=49YlFviQhhSGUFbCmlqn4-LijAlPKyEu5NNNTEzQt50,5776
73
73
  aip_agents/examples/compare_streaming_server.pyi,sha256=khxXVb93GzTKrBCwQG_SDS_7jrlOCqrfJtcUFEhi2jM,860
74
74
  aip_agents/examples/demo_memory_recall.py,sha256=ZTQGgYeSRL0XXA50426Xqh6J7zhJULfVsZ7vobH3smg,15914
75
75
  aip_agents/examples/demo_memory_recall.pyi,sha256=BscHLiINZkZCD0EO3vzy6j2I0esb8abRHsvluoFkPXY,2628
@@ -215,7 +215,7 @@ aip_agents/examples/hello_world_step_limits.py,sha256=0f02AFrpfAertnjSHxQiU6uAyI
215
215
  aip_agents/examples/hello_world_step_limits.pyi,sha256=U9kx6rIgfZuNHxeAIiyW_Ae-KT65kNqCdCMQzKEKlBc,1077
216
216
  aip_agents/examples/hello_world_stock_a2a_server.py,sha256=LQUtBl5ibW4P1o6qHAnBsySg9DK2ffOthgxyPgmo53g,3536
217
217
  aip_agents/examples/hello_world_stock_a2a_server.pyi,sha256=5fuuaFEnaKlBaoNmY_LhHZ_d94Kek9a7wHwpkuGlZwQ,674
218
- aip_agents/examples/hello_world_tool_output_client.py,sha256=qFKvC4xbFNXdNbmsaNL_vS50TCNCX7yFnhAaxu09jo8,1369
218
+ aip_agents/examples/hello_world_tool_output_client.py,sha256=U1KTQpFfxr6KUNy0wQbM6q4W7ZOZVT4_7vC_E_iSaJw,2027
219
219
  aip_agents/examples/hello_world_tool_output_client.pyi,sha256=FvcNForrAMadrVhEG6wiY0ap5HobZjPZlUbhiON7Nss,245
220
220
  aip_agents/examples/hello_world_tool_output_server.py,sha256=Q2vYQZVTUW9zeaIk7CHXNWdsI_xHKES3jkt_luA4vSU,4153
221
221
  aip_agents/examples/hello_world_tool_output_server.pyi,sha256=wjt_j3ZhXTeVu_xouQRWrGMxNXikFt0qBKtaFYFVh_4,985
@@ -229,9 +229,9 @@ aip_agents/examples/pii_demo_multi_agent_client.py,sha256=la7LyDoCNYi4dipBRlo0oS
229
229
  aip_agents/examples/pii_demo_multi_agent_client.pyi,sha256=Udp6pOPNpS5mNSyORALua4ap0dcnRhVbCodwxLoCraY,236
230
230
  aip_agents/examples/pii_demo_multi_agent_server.py,sha256=2-dbylX8T4Raten84myUGc5uFkyKDTiXSgM05bTLIbo,9606
231
231
  aip_agents/examples/pii_demo_multi_agent_server.pyi,sha256=dUDUjt-oS5yMRjBKZ_18pv2EWs3k7QYfxRAaRknqEfg,1611
232
- aip_agents/examples/todolist_planning_a2a_langchain_client.py,sha256=PFO0owjw9_BQ498ia7Z7T0wtw2uafTIrAiSItdqKaD0,2633
232
+ aip_agents/examples/todolist_planning_a2a_langchain_client.py,sha256=zze0K8OhXrl-9oupd9Qk5r6h7uu_zrEsN85dW1G__oM,2641
233
233
  aip_agents/examples/todolist_planning_a2a_langchain_client.pyi,sha256=da6jTPvRHkT1BIaEqW_pBgJPPRM6v5YmhGehQFPLDLA,239
234
- aip_agents/examples/todolist_planning_a2a_langgraph_server.py,sha256=9JG148NgfX5Sa9DEhdYuGczCEKsGoG504zMJqSpQNrQ,3099
234
+ aip_agents/examples/todolist_planning_a2a_langgraph_server.py,sha256=9urX1m5f7gFH_5mUzr58Twl-LHshefjbY9OWeZHbync,3103
235
235
  aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi,sha256=FIV8kDQWe94Hm9gEwz8j3YEYgMVstkwzcPwAdyIglDQ,775
236
236
  aip_agents/examples/mcp_configs/configs.py,sha256=7ZhCRiHLCyolhmUxnwfqHihLc2-r0Paa-qr_LpZ7saY,1678
237
237
  aip_agents/examples/mcp_servers/common.py,sha256=G_f75ahqIDKLEnWltpH-jTkMbTTYcVeW_hIMY3dfDiM,2608
@@ -294,7 +294,7 @@ aip_agents/guardrails/utils.py,sha256=Rp9zwLWUydvZmZE4xvAXhIdN05LX-aTkPqWRaQb7-Y
294
294
  aip_agents/guardrails/utils.pyi,sha256=b7-XBFiv7QS0NG5AGvExmglp4UQJGpq-972dtgyMbhE,709
295
295
  aip_agents/guardrails/engines/__init__.py,sha256=j-H1-rOKe-R-WHyq1tjAi0usEUA7UjhLCwywhom-mo0,2239
296
296
  aip_agents/guardrails/engines/__init__.pyi,sha256=W7UjIO5tMaH8PbHs0AIKGV6A2OBNXYJPXsM_xhiQfw4,252
297
- aip_agents/guardrails/engines/base.py,sha256=wD-VW962WsqDMVEpLZdaKi0HNls3HcUX7pA7nQFRHJ8,2713
297
+ aip_agents/guardrails/engines/base.py,sha256=SLLaTpXbVrtkpL5ncPAR2xh53qHeJ_Ockp_xEbC9HnI,2833
298
298
  aip_agents/guardrails/engines/base.pyi,sha256=tTxR1zOL-YMEdWkXkU_Pj9y6gshR7mrcyHdjedkK41Y,2297
299
299
  aip_agents/guardrails/engines/nemo.py,sha256=1LtevUmghKbHmoj1wJKXVhPZd4ETRXD-X7DJo7xSiZw,3902
300
300
  aip_agents/guardrails/engines/nemo.pyi,sha256=Jh5Yma4uOXGrmJO_cshCKVkPd4wjXSmV-XxNuj-pjxc,2027
@@ -306,14 +306,14 @@ aip_agents/mcp/client/__init__.py,sha256=Kp0iOfmk2Vdo9wwKu3plcxmJT6HlWvpXiTm9MTX
306
306
  aip_agents/mcp/client/__init__.pyi,sha256=FTGGlE60OFEOhZYIUddQor5wQPD5JWMEJ2Wrw3LpZN8,344
307
307
  aip_agents/mcp/client/base_mcp_client.py,sha256=0S10MIi5rSlL350b9MiNLVPe8Tj3ytaG_Y3OpUb1NK4,14342
308
308
  aip_agents/mcp/client/base_mcp_client.pyi,sha256=LWnmN1IH1REdL0EebZN00gfZsico8jj0WDAI5vsJYEk,6029
309
- aip_agents/mcp/client/connection_manager.py,sha256=MwhJF5yyzQFWSkVPGnQ1OcMr0GTnBQFr5A4pU4zCNuU,7680
310
- aip_agents/mcp/client/connection_manager.pyi,sha256=CO190fuGjRxYLVK79ZJbtNhFiPqlQyv31RJvtjmqeqQ,1820
311
- aip_agents/mcp/client/persistent_session.py,sha256=yC9PhBsPqDO27-yN3EUxS5Hri33hqwa9h9h_9hpQUF4,14773
312
- aip_agents/mcp/client/persistent_session.pyi,sha256=eMqoGE84JJtDDwiJJSNIsjwWrldB9luaVA7UeXlBGrc,4021
309
+ aip_agents/mcp/client/connection_manager.py,sha256=QKsM8yBGn9aFpN4nZZMM04BA3JqwzFZP1UWUrUJ5-bY,9365
310
+ aip_agents/mcp/client/connection_manager.pyi,sha256=tBptBzvaRVj-u5HaZjvnf9zVQgTkki8yLV-QQLPRd8o,2002
311
+ aip_agents/mcp/client/persistent_session.py,sha256=1RUfoTVfKqxoY1nLLh4IcLVSYJkwMQRb2kDopDBlaW0,24464
312
+ aip_agents/mcp/client/persistent_session.pyi,sha256=fvzLGjpyyK-3XDI9CrJJGD1FQ7IHS7qv3AvLNOdscLM,4389
313
313
  aip_agents/mcp/client/session_pool.py,sha256=qYxtalGyT1Z4a5LIDe2X9QinduOz4f_U9yDzBH_qjKI,12968
314
314
  aip_agents/mcp/client/session_pool.pyi,sha256=dUXl8g4G4asZ1CplaeZaR24suyU4gAgKzvQNOlriQA0,3680
315
- aip_agents/mcp/client/transports.py,sha256=VsxJmNDb86_kdEmuc9T0764nELboc4_VvCLQ8OUDUDk,8852
316
- aip_agents/mcp/client/transports.pyi,sha256=LCZfHvwHRwk4T3EyK2RerpEFyIfwfVFuon2igbEVH28,4699
315
+ aip_agents/mcp/client/transports.py,sha256=rT6qaPEvMgotn61dDupNp19x6c3Ws_hKxiAx6MAKofE,10167
316
+ aip_agents/mcp/client/transports.pyi,sha256=YHOLyb2S8zwWMnwvCvv9uG9wyLj7rM_feLUlmJSU3lw,5090
317
317
  aip_agents/mcp/client/google_adk/__init__.py,sha256=mbVak_4MCHVNkgm6EQhkrR1HDAPo1Q7cP3nk55TPtu4,291
318
318
  aip_agents/mcp/client/google_adk/__init__.pyi,sha256=lG0PHv3Rcvl4BOeUkmJC5nx2HQJsmUMnYmC9iD99l0s,130
319
319
  aip_agents/mcp/client/google_adk/client.py,sha256=Q7nInxbOdCdy4ZCNvqtoqtlyzOd1teiq60JzbQZCjtI,16361
@@ -406,7 +406,7 @@ aip_agents/tools/browser_use/__init__.py,sha256=ARD9Y7nfd3uEUUbNIly97-Bib5RKrniW
406
406
  aip_agents/tools/browser_use/__init__.pyi,sha256=MMhZgelFElCdSk7zyk4tX7ehqU5bApaIksIjAW5bHeY,511
407
407
  aip_agents/tools/browser_use/action_parser.py,sha256=Yoleq0S8iDehXvo-AvOFur6zbPOOoQFTh9rnYluN5ec,3469
408
408
  aip_agents/tools/browser_use/action_parser.pyi,sha256=rguXTXEL043jPNPrwhd7MRYZBk3EW_2QsMWMN4SHY_I,741
409
- aip_agents/tools/browser_use/browser_use_tool.py,sha256=XIPjXVEg8TJrU8crJ23m6Mhiy4oTRpX5O92R9hAFBYg,45668
409
+ aip_agents/tools/browser_use/browser_use_tool.py,sha256=BkIzEd5t6cHpSlkf_6pKRoV857_iAbdugXbAFzRLUPo,46162
410
410
  aip_agents/tools/browser_use/browser_use_tool.pyi,sha256=bcnTWav9HdpmTr3iBYd3x4UfeHnXgDJy-44FMh-nLD0,3307
411
411
  aip_agents/tools/browser_use/llm_config.py,sha256=8rC6ui12K5PQ4sl4OLYLbssN5ktgBUc9rWqQdqqjThw,3820
412
412
  aip_agents/tools/browser_use/llm_config.pyi,sha256=fqIaTaf10sg55O8rS3e2IcqCaONQdacJE0zA6abI7mA,2167
@@ -420,7 +420,7 @@ aip_agents/tools/browser_use/session_errors.py,sha256=rVXn0LbWllcASNQs2CbYCWX2K5
420
420
  aip_agents/tools/browser_use/session_errors.pyi,sha256=1ldh3XUNq2z858Q69TCOMJEmFP_AIHkxfCuk-TPEv-c,1845
421
421
  aip_agents/tools/browser_use/steel_session_recording.py,sha256=cG47Dy5BcqmRfJeNf2SK-1rxOiBE5DDBDDqaNodif48,11971
422
422
  aip_agents/tools/browser_use/steel_session_recording.pyi,sha256=istvwMc_mVt91FZLBDcHFcTrN6-jOzxIBNBEesjXK2E,2232
423
- aip_agents/tools/browser_use/streaming.py,sha256=QWNSMKUCPZHDR7p0xZNJQxI-3vfqiQQJZLo3glMutKM,28525
423
+ aip_agents/tools/browser_use/streaming.py,sha256=EcHdY4Uzl0mAuxBx6v8_a0r4RdPJKmtZPNI47iQPhyo,28650
424
424
  aip_agents/tools/browser_use/streaming.pyi,sha256=yWsp9uPlvPfia8iUqM4Xhvu-xdsEi_rlMru8QpZbjbw,3273
425
425
  aip_agents/tools/browser_use/structured_data_parser.py,sha256=xJfdrZMMdUh3FSTPIz0MfZKebHQNkQKcUFutcHlif8M,8629
426
426
  aip_agents/tools/browser_use/structured_data_parser.pyi,sha256=qK9FCc38aOO7grTepaWMkSw40YwoxGIiBzWp_WhQpNQ,3928
@@ -508,15 +508,15 @@ aip_agents/utils/langgraph/__init__.py,sha256=HtMR15klo5h2KBhG8uFIIurW3BLR5ibwXl
508
508
  aip_agents/utils/langgraph/__init__.pyi,sha256=FatR5jsVWWJ5Jw0UreaSHqYwk21xHEf4z36iBpE7N14,616
509
509
  aip_agents/utils/langgraph/converter.py,sha256=xxHpolY7RTJuNDtdkPhKRct3ranvSd1G02GFcx79bNc,5048
510
510
  aip_agents/utils/langgraph/converter.pyi,sha256=N8ZR0YpajpIidyZDsXWM-qu4iW68Juwdq0qn_mjlQiE,2034
511
- aip_agents/utils/langgraph/tool_output_management.py,sha256=VS1JKRAAseA6rvsC63MdCnb529787QgNiTfnm59SVu0,40197
512
- aip_agents/utils/langgraph/tool_output_management.pyi,sha256=g9qjlXCQS2TTbMQMvWZbved4V_9sqg85pdbewRjauuU,12769
511
+ aip_agents/utils/langgraph/tool_output_management.py,sha256=bklNSAi_Uo6snsC1c7lQssbD0MBDYCa-RiPn_fZpRkU,43116
512
+ aip_agents/utils/langgraph/tool_output_management.pyi,sha256=-6bRrKGTe1DvbfyMppqcjGSdKHSnKDj1A-D3aCy0jFI,14164
513
513
  aip_agents/utils/langgraph/tool_managers/__init__.py,sha256=Lwy2EIBaBj61TxapY16XfiQzry2EjfLN6QxPz3l6bUw,702
514
514
  aip_agents/utils/langgraph/tool_managers/__init__.pyi,sha256=ts9bnhpknKjOIIX2faLwYPMejq7Rn0mHZnwves5kBlQ,439
515
515
  aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.py,sha256=_iQJUEPhnw0xDGSReJmZ5aiIWIJAqSL76704NhZv3K8,3913
516
516
  aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi,sha256=QwXIb_7J4V_IHaUuk1nKfJ_DfWFKwjZVvmax63sTm2g,1434
517
517
  aip_agents/utils/langgraph/tool_managers/base_tool_manager.py,sha256=Ud64XEr1gJG3RFcrO7L9a5_MhMHmF2BN4RHMm7VTMDw,2092
518
518
  aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi,sha256=zqO4pblMPfQbrIwynECKuNCrpxiwTGQUy1QGbh0n6rY,1559
519
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py,sha256=wnPqfIbv6pZHhIO5N_uihlV2kvJwdZ9G_KHY_TyOC1g,44055
519
+ aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py,sha256=wA0HVFCvo-IPzUSMGMJcPDIx_PSq37zvP3mQwimPhRA,45356
520
520
  aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi,sha256=EKHSXUcA3Kv1HrLjbn8yA5OxOj5leN7-og-ckLpzB_c,2990
521
521
  aip_agents/utils/metadata/__init__.py,sha256=D9RwBkLNejVvKHwzauXZACECTt2wN4qTQvJLUEoWhlE,749
522
522
  aip_agents/utils/metadata/__init__.pyi,sha256=k-n5231rujm3t1j4_zz0-KF7JcUVPV4EEPDRVev9G74,634
@@ -560,7 +560,7 @@ aip_agents/utils/pii/pii_helper.py,sha256=8QGVC9lb7dic_vSfLDUaDvqm45BUbYyPeQTVva
560
560
  aip_agents/utils/pii/pii_helper.pyi,sha256=wEgOasJxwKObtQ9Cb1UsiyIaqq2JUYmdRwOZR9PnIjA,3017
561
561
  aip_agents/utils/pii/uuid_deanonymizer_mapping.py,sha256=X9zeX1bhb3rlCc8P5QnbHCILx2AIhGmZwjsjh_2G4ZQ,7543
562
562
  aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi,sha256=6H1xRV2Nr0LpP5K6fbz2uCobehTpM2626v8kiOd9W9Y,3157
563
- aip_agents_binary-0.5.25b9.dist-info/METADATA,sha256=49l94IbZpTPRCndxdFtCiNIR5S89Vu_27TbWK7kp4Fs,22610
564
- aip_agents_binary-0.5.25b9.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
565
- aip_agents_binary-0.5.25b9.dist-info/top_level.txt,sha256=PEz8vcwC1bH4UrkhF0LkIYCNfXGWZUHdSklbvkBe25E,11
566
- aip_agents_binary-0.5.25b9.dist-info/RECORD,,
563
+ aip_agents_binary-0.6.0.dist-info/METADATA,sha256=g7imubdoedmX0qX3mj2-NuuyLQ8XCG6pqOK_CmhavH4,23055
564
+ aip_agents_binary-0.6.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
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,,