aip-agents-binary 0.6.5__py3-none-macosx_13_0_arm64.whl → 0.6.7__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.
Files changed (47) hide show
  1. aip_agents/agent/langgraph_react_agent.py +66 -19
  2. aip_agents/examples/hello_world_ptc_custom_tools.py +83 -0
  3. aip_agents/examples/hello_world_ptc_custom_tools.pyi +7 -0
  4. aip_agents/examples/tools/multiply_tool.py +43 -0
  5. aip_agents/examples/tools/multiply_tool.pyi +18 -0
  6. aip_agents/memory/adapters/base_adapter.py +25 -21
  7. aip_agents/memory/adapters/base_adapter.pyi +7 -8
  8. aip_agents/ptc/__init__.py +42 -3
  9. aip_agents/ptc/__init__.pyi +5 -1
  10. aip_agents/ptc/custom_tools.py +473 -0
  11. aip_agents/ptc/custom_tools.pyi +184 -0
  12. aip_agents/ptc/custom_tools_payload.py +400 -0
  13. aip_agents/ptc/custom_tools_payload.pyi +31 -0
  14. aip_agents/ptc/custom_tools_templates/__init__.py +1 -0
  15. aip_agents/ptc/custom_tools_templates/__init__.pyi +0 -0
  16. aip_agents/ptc/custom_tools_templates/custom_build_function.py.template +23 -0
  17. aip_agents/ptc/custom_tools_templates/custom_init.py.template +15 -0
  18. aip_agents/ptc/custom_tools_templates/custom_invoke.py.template +60 -0
  19. aip_agents/ptc/custom_tools_templates/custom_registry.py.template +87 -0
  20. aip_agents/ptc/custom_tools_templates/custom_sources_init.py.template +7 -0
  21. aip_agents/ptc/custom_tools_templates/custom_wrapper.py.template +19 -0
  22. aip_agents/ptc/exceptions.py +18 -0
  23. aip_agents/ptc/exceptions.pyi +15 -0
  24. aip_agents/ptc/executor.py +151 -33
  25. aip_agents/ptc/executor.pyi +34 -8
  26. aip_agents/ptc/naming.py +13 -1
  27. aip_agents/ptc/naming.pyi +9 -0
  28. aip_agents/ptc/prompt_builder.py +118 -16
  29. aip_agents/ptc/prompt_builder.pyi +12 -8
  30. aip_agents/ptc/sandbox_bridge.py +206 -8
  31. aip_agents/ptc/sandbox_bridge.pyi +18 -5
  32. aip_agents/ptc/tool_def_helpers.py +101 -0
  33. aip_agents/ptc/tool_def_helpers.pyi +38 -0
  34. aip_agents/ptc/tool_enrichment.py +163 -0
  35. aip_agents/ptc/tool_enrichment.pyi +60 -0
  36. aip_agents/sandbox/defaults.py +197 -1
  37. aip_agents/sandbox/defaults.pyi +28 -0
  38. aip_agents/sandbox/e2b_runtime.py +28 -0
  39. aip_agents/sandbox/e2b_runtime.pyi +7 -1
  40. aip_agents/sandbox/template_builder.py +2 -2
  41. aip_agents/tools/execute_ptc_code.py +59 -10
  42. aip_agents/tools/execute_ptc_code.pyi +5 -5
  43. aip_agents/tools/memory_search/mem0.py +8 -2
  44. {aip_agents_binary-0.6.5.dist-info → aip_agents_binary-0.6.7.dist-info}/METADATA +3 -3
  45. {aip_agents_binary-0.6.5.dist-info → aip_agents_binary-0.6.7.dist-info}/RECORD +47 -27
  46. {aip_agents_binary-0.6.5.dist-info → aip_agents_binary-0.6.7.dist-info}/WHEEL +0 -0
  47. {aip_agents_binary-0.6.5.dist-info → aip_agents_binary-0.6.7.dist-info}/top_level.txt +0 -0
@@ -3,7 +3,9 @@ from aip_agents.sandbox.defaults import DEFAULT_PTC_PACKAGES as DEFAULT_PTC_PACK
3
3
  from aip_agents.sandbox.types import SandboxExecutionResult as SandboxExecutionResult
4
4
  from aip_agents.sandbox.validation import validate_package_names as validate_package_names
5
5
  from aip_agents.utils.logger import get_logger as get_logger
6
+ from collections.abc import Callable
6
7
 
8
+ PackageSelector = Callable[[str | None], list[str] | None]
7
9
  logger: Incomplete
8
10
  SANDBOX_NOT_INITIALIZED_ERROR: str
9
11
 
@@ -24,12 +26,16 @@ class E2BSandboxRuntime:
24
26
  )
25
27
  await runtime.cleanup()
26
28
  '''
27
- def __init__(self, template: str | None = None, ptc_packages: list[str] | None = None) -> None:
29
+ def __init__(self, template: str | None = None, ptc_packages: list[str] | None = None, package_selector: PackageSelector | None = None) -> None:
28
30
  """Initialize E2B sandbox runtime.
29
31
 
30
32
  Args:
31
33
  template: Optional E2B template ID for custom sandbox environments.
32
34
  ptc_packages: Packages to install in sandbox. If None or empty, skip install.
35
+ Overwritten by package_selector if provided.
36
+ package_selector: Optional callback to select packages after sandbox creation.
37
+ Called with actual template (None if template failed) to enable smart
38
+ package selection based on whether template was successfully created.
33
39
  """
34
40
  async def execute(self, code: str, *, timeout: float = 300.0, files: dict[str, str] | None = None, env: dict[str, str] | None = None, template: str | None = None) -> SandboxExecutionResult:
35
41
  """Execute code inside the sandbox.
@@ -52,9 +52,9 @@ def _template_exists(template_id: str) -> bool:
52
52
  bool: True if alias exists, False otherwise.
53
53
  """
54
54
  try:
55
- return Template.alias_exists(template_id)
55
+ return Template.exists(template_id)
56
56
  except Exception:
57
- logger.warning(f"Template alias check failed for: {template_id}")
57
+ logger.warning(f"Template exists check failed for: {template_id}")
58
58
  return False
59
59
 
60
60
 
@@ -39,8 +39,9 @@ class PTCCodeInput(BaseModel):
39
39
  ...,
40
40
  description=(
41
41
  "Python code to execute. Import MCP tools from the generated `tools` package, "
42
- "for example: `from tools.yfinance import get_stock_history`. "
43
- "The code runs in a sandboxed environment with access to all configured MCP tools. "
42
+ "for example: `from tools.yfinance import get_stock_history`, and custom tools "
43
+ "from `tools.custom`. The code runs in a sandboxed environment with access "
44
+ "to all configured MCP and custom tools. "
44
45
  "Use print() to output results. The tool returns JSON with keys: "
45
46
  "ok, stdout, stderr, exit_code."
46
47
  ),
@@ -134,7 +135,8 @@ class PTCCodeTool(BaseTool):
134
135
  description: str = (
135
136
  "Execute Python code that can call MCP tools programmatically. "
136
137
  "Import tools from the generated `tools` package (e.g., `from tools.yfinance import get_stock`) "
137
- "and run normal Python code. Use print() to output results. "
138
+ "and custom tools from `tools.custom` when enabled. "
139
+ "Run normal Python code. Use print() to output results. "
138
140
  "Returns JSON with ok, stdout, stderr, and exit_code keys. "
139
141
  "This tool is useful for chaining multiple MCP tool calls with local data processing."
140
142
  )
@@ -218,8 +220,17 @@ class PTCCodeTool(BaseTool):
218
220
  ) -> str:
219
221
  """Internal execution logic."""
220
222
  try:
223
+ # Merge agent defaults with runtime overrides
224
+ merged_configs = merge_tool_configs(
225
+ self._agent_tool_configs,
226
+ runtime_metadata,
227
+ )
228
+
221
229
  logger.info("Executing PTC code in sandbox")
222
- result = await self._ptc_executor.execute_code(code)
230
+ result = await self._ptc_executor.execute_code(
231
+ code,
232
+ tool_configs=merged_configs or None,
233
+ )
223
234
 
224
235
  if result.exit_code == 0:
225
236
  logger.info("PTC code execution completed successfully")
@@ -255,19 +266,42 @@ class PTCCodeTool(BaseTool):
255
266
  await self._ptc_runtime.cleanup()
256
267
 
257
268
 
269
+ def _get_user_provided_packages(config: "PTCSandboxConfig | None") -> list[str] | None:
270
+ """Determine if user explicitly provided ptc_packages.
271
+
272
+ Args:
273
+ config: Optional sandbox executor configuration.
274
+
275
+ Returns:
276
+ None if packages not explicitly set (equals DEFAULT_PTC_PACKAGES or config is None).
277
+ List of packages if user explicitly modified ptc_packages.
278
+ """
279
+ from aip_agents.sandbox.defaults import DEFAULT_PTC_PACKAGES
280
+
281
+ if config is None or config.ptc_packages is None:
282
+ return None
283
+
284
+ # Check if it's the default value (not user-modified)
285
+ if list(config.ptc_packages) == list(DEFAULT_PTC_PACKAGES):
286
+ return None
287
+
288
+ # User explicitly changed ptc_packages
289
+ return config.ptc_packages
290
+
291
+
258
292
  def create_execute_ptc_code_tool(
259
293
  mcp_client: "BaseMCPClient | None",
260
294
  config: "PTCSandboxConfig | None" = None, # noqa: F821
261
295
  agent_tool_configs: dict[str, Any] | None = None,
262
296
  ) -> PTCCodeTool:
263
- r"""Create a tool that executes Python code with MCP tool access.
297
+ r"""Create a tool that executes Python code with MCP and/or custom tool access.
264
298
 
265
- The code runs inside an E2B sandbox with access to generated MCP tool modules.
266
- This tool is designed for LLM-generated code that needs to call multiple tools
267
- programmatically in a single execution.
299
+ The code runs inside an E2B sandbox with access to generated MCP tool modules
300
+ and/or custom LangChain tools. This tool is designed for LLM-generated code
301
+ that needs to call multiple tools programmatically in a single execution.
268
302
 
269
303
  Args:
270
- mcp_client: The MCP client with configured servers.
304
+ mcp_client: The MCP client with configured servers. Can be None for custom-only configs.
271
305
  config: Optional sandbox executor configuration.
272
306
  agent_tool_configs: Optional agent-level tool configs (from agent.tool_configs).
273
307
  These are merged with runtime overrides from RunnableConfig.metadata.
@@ -289,15 +323,30 @@ def create_execute_ptc_code_tool(
289
323
  """
290
324
  # Import here to avoid circular dependencies and allow lazy loading
291
325
  from aip_agents.ptc.executor import PTCSandboxConfig, PTCSandboxExecutor
326
+ from aip_agents.sandbox.defaults import select_sandbox_packages
292
327
  from aip_agents.sandbox.e2b_runtime import E2BSandboxRuntime
293
328
 
294
329
  # Use provided config or create default
295
330
  sandbox_config = config or PTCSandboxConfig()
296
331
 
332
+ # Determine if user explicitly provided packages (None means use smart selection)
333
+ user_ptc_packages = _get_user_provided_packages(config)
334
+
335
+ # Create a package selector callback that defers package selection until after
336
+ # sandbox creation, when we know if the template actually succeeded.
337
+ # This ensures smart package selection works correctly even with template fallback.
338
+ def package_selector(actual_template: str | None) -> list[str] | None:
339
+ return select_sandbox_packages(
340
+ mcp_client=mcp_client,
341
+ custom_tools_config=sandbox_config.custom_tools,
342
+ template=actual_template,
343
+ user_ptc_packages=user_ptc_packages,
344
+ )
345
+
297
346
  # Create runtime and executor
298
347
  runtime = E2BSandboxRuntime(
299
348
  template=sandbox_config.sandbox_template,
300
- ptc_packages=sandbox_config.ptc_packages,
349
+ package_selector=package_selector,
301
350
  )
302
351
  executor = PTCSandboxExecutor(mcp_client, runtime, sandbox_config)
303
352
 
@@ -61,14 +61,14 @@ class PTCCodeTool(BaseTool):
61
61
  """Clean up the sandbox runtime."""
62
62
 
63
63
  def create_execute_ptc_code_tool(mcp_client: BaseMCPClient | None, config: PTCSandboxConfig | None = None, agent_tool_configs: dict[str, Any] | None = None) -> PTCCodeTool:
64
- '''Create a tool that executes Python code with MCP tool access.
64
+ '''Create a tool that executes Python code with MCP and/or custom tool access.
65
65
 
66
- The code runs inside an E2B sandbox with access to generated MCP tool modules.
67
- This tool is designed for LLM-generated code that needs to call multiple tools
68
- programmatically in a single execution.
66
+ The code runs inside an E2B sandbox with access to generated MCP tool modules
67
+ and/or custom LangChain tools. This tool is designed for LLM-generated code
68
+ that needs to call multiple tools programmatically in a single execution.
69
69
 
70
70
  Args:
71
- mcp_client: The MCP client with configured servers.
71
+ mcp_client: The MCP client with configured servers. Can be None for custom-only configs.
72
72
  config: Optional sandbox executor configuration.
73
73
  agent_tool_configs: Optional agent-level tool configs (from agent.tool_configs).
74
74
  These are merged with runtime overrides from RunnableConfig.metadata.
@@ -320,13 +320,19 @@ class Mem0DeleteTool(LongTermMemorySearchTool):
320
320
  if not hasattr(self.memory, "delete_by_query"):
321
321
  return f"Error executing memory tool '{self.name}': backend does not support delete_by_query()"
322
322
  mode = "query"
323
+ filters: dict[str, Any] | None = None
324
+ if metadata_filter or categories:
325
+ filters = {}
326
+ if metadata_filter:
327
+ filters["metadata"] = metadata_filter
328
+ if categories:
329
+ filters["categories"] = categories
323
330
  result = self.memory.delete_by_query( # type: ignore[attr-defined]
324
331
  query=query,
325
332
  user_id=user_id,
326
- metadata=metadata_filter,
327
333
  threshold=threshold,
328
334
  top_k=top_k,
329
- categories=categories,
335
+ filters=filters,
330
336
  )
331
337
  elif delete_all:
332
338
  if not hasattr(self.memory, "delete"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aip-agents-binary
3
- Version: 0.6.5
3
+ Version: 0.6.7
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
@@ -37,7 +37,7 @@ Requires-Dist: gllm-guardrail-binary<0.1.0,>=0.0.1; extra == "guardrails"
37
37
  Provides-Extra: gl-connector
38
38
  Requires-Dist: bosa-connectors-binary<0.4.0,>=0.3.1; extra == "gl-connector"
39
39
  Provides-Extra: local
40
- Requires-Dist: e2b<3.0.0,>=2.3.0; extra == "local"
40
+ Requires-Dist: e2b<3.0.0,>=2.13.0; extra == "local"
41
41
  Requires-Dist: browser-use==0.5.9; extra == "local"
42
42
  Requires-Dist: steel-sdk>=0.7.0; extra == "local"
43
43
  Requires-Dist: json-repair>=0.52.3; extra == "local"
@@ -52,7 +52,7 @@ Requires-Dist: mypy<2.0.0,>=1.15.0; extra == "dev"
52
52
  Requires-Dist: nest-asyncio<2.0.0,>=1.6.0; extra == "dev"
53
53
  Requires-Dist: pre-commit<4.0.0,>=3.7.0; extra == "dev"
54
54
  Requires-Dist: pytest<9.0.0,>=8.1.1; extra == "dev"
55
- Requires-Dist: pytest-asyncio<0.24.0,>=0.23.6; extra == "dev"
55
+ Requires-Dist: pytest-asyncio<1.0.0,>=0.26.0; extra == "dev"
56
56
  Requires-Dist: pytest-cov<6.0.0,>=5.0.0; extra == "dev"
57
57
  Requires-Dist: pytest-xdist>=3.8.0; extra == "dev"
58
58
  Requires-Dist: ruff<0.7.0,>=0.6.7; extra == "dev"
@@ -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=gsnS1iiygrNWHv-KJjmdqzQGWrS8Ia5v_91Z2Zvz2_M,31696
36
36
  aip_agents/agent/langgraph_memory_enhancer_agent.pyi,sha256=5vP11BeaQhVryNKfve3c0mUoKsIBlEN15YbLJcej5pI,2905
37
- aip_agents/agent/langgraph_react_agent.py,sha256=tY-KmRR_L6h46ygHNJrwTuCTc-sJJabDOrIfllJlrdQ,117670
37
+ aip_agents/agent/langgraph_react_agent.py,sha256=vpkKOFd3KcZqM3fmUnimT609EUx73WPti8ieH4cEjLs,119802
38
38
  aip_agents/agent/langgraph_react_agent.pyi,sha256=5X7PO-GD0UMKly-dgksCPHpP2kXb2b5qNcRbRGH5BY0,10527
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
@@ -209,6 +209,8 @@ aip_agents/examples/hello_world_pii_logger.py,sha256=pm9LK-doZwQL-VdJYFHziuvwH56
209
209
  aip_agents/examples/hello_world_pii_logger.pyi,sha256=5gOVrvhQV2DxIwr7ocL1-oTUXsO8XSyl5WN70c7rl_w,134
210
210
  aip_agents/examples/hello_world_ptc.py,sha256=A3aadYO3H41UgKZoHqrThXz2_hOFGX8-E4XwFnRi7P4,1410
211
211
  aip_agents/examples/hello_world_ptc.pyi,sha256=Dbo4myHbndrL6PyA_mgf3HTIYqLudTaF4h_nsdqOyKs,231
212
+ aip_agents/examples/hello_world_ptc_custom_tools.py,sha256=rFloWUt0PES0OWv26dq1tefJPyLp-gHSB0kU8NSev20,2775
213
+ aip_agents/examples/hello_world_ptc_custom_tools.pyi,sha256=B0QEK94lDleccYOYePBHnUzdoU1AJLZ4vI7rJR_sCvE,488
212
214
  aip_agents/examples/hello_world_sentry.py,sha256=Gccr6WCevSnMFZYT5M6uJ_22EvLmAMUE8Et_H510_kM,3976
213
215
  aip_agents/examples/hello_world_sentry.pyi,sha256=k0wFj46QqXEjBU0CEERmiEf2bovVFkupzuzQzeD6h00,671
214
216
  aip_agents/examples/hello_world_step_limits.py,sha256=hRV9XERlq2qW_yZ4kHAe1hTgukrSZjThIrsY9NuTdJg,9809
@@ -264,6 +266,8 @@ aip_agents/examples/tools/langgraph_streaming_tool.py,sha256=m2r5C6g4eUIOllOZLMn
264
266
  aip_agents/examples/tools/langgraph_streaming_tool.pyi,sha256=bV93AHiynYkvsq4plnbDZ_yw3EA3sxI3xBo8VBKc4Jw,1659
265
267
  aip_agents/examples/tools/mock_retrieval_tool.py,sha256=zHmjTDPkOOF6b9Z8E6C-ETuAg63RmPNTe8645ZdiVUE,1844
266
268
  aip_agents/examples/tools/mock_retrieval_tool.pyi,sha256=h4Yx9A5DEFMc62aJoiL91Tpwe-ivmS7ezUhyVoBAcas,377
269
+ aip_agents/examples/tools/multiply_tool.py,sha256=2pmAQxL9-Tu9j08Y3zmYYV_FccFXl5h99AR5fGo4fcs,1252
270
+ aip_agents/examples/tools/multiply_tool.pyi,sha256=sD2-r8AX7yGWyQGhqk-y7pwrlU4kQ4YQeCUjo1qi2Tk,453
267
271
  aip_agents/examples/tools/pii_demo_tools.py,sha256=wm7K60BD7kn38oWRxz1C9t3qruR7a_Ji5LDq6ddyzWg,5771
268
272
  aip_agents/examples/tools/pii_demo_tools.pyi,sha256=JY02wNgmcKeCea-u5k9GHo93llWs9mvrwMTUkBQQUlw,1682
269
273
  aip_agents/examples/tools/random_chart_tool.py,sha256=rOOVRI-C51UXnvrQMYq4fV-7ePyqn3kWWfDUKBZ12xs,4983
@@ -340,8 +344,8 @@ aip_agents/memory/simple_memory.py,sha256=CpLr7mI_LyurFR6LHqFWXABxGP2Q0ef2GxZyGT
340
344
  aip_agents/memory/simple_memory.pyi,sha256=E-UJ-pqDOpHqMozwf5M3yHuim_46vzHmUwf_SthHIb4,1126
341
345
  aip_agents/memory/adapters/__init__.py,sha256=j-loIdfx_2K4JsjjolEeUrINgwogOOs_jm5pQlhZzac,279
342
346
  aip_agents/memory/adapters/__init__.pyi,sha256=KDmdDvG1tcfEQJ8c5_i9q3m74LPTlGsyTTY7b6n5nno,207
343
- aip_agents/memory/adapters/base_adapter.py,sha256=BIrmiD7sTVsUNzBRerdkOkqNQh0fY3en-StTw1RKr8M,28976
344
- aip_agents/memory/adapters/base_adapter.pyi,sha256=a2NF-qNq6CuNzz2y6W_CL3V_AVrnYbpZ1TTnurU6CtE,7320
347
+ aip_agents/memory/adapters/base_adapter.py,sha256=rCOWbPY3IgRYbzQthKXTTydrWdeayvmEMfcSkbt2jzk,28969
348
+ aip_agents/memory/adapters/base_adapter.pyi,sha256=zNFC9GZN98mWg9KgitXy4hLQWs3wQV7bBLQvnaB32YU,7187
345
349
  aip_agents/memory/adapters/mem0.py,sha256=wWRUlCusOpMMayj4Uw8nYiAuI4TKxaKXqaTTerzXDL4,2955
346
350
  aip_agents/memory/adapters/mem0.pyi,sha256=C8hVoXKmk2J62Lns-OdafTiEEFEcH-SJn-bF3ATHx7s,1093
347
351
  aip_agents/middleware/__init__.py,sha256=ggAQsp9G0jNsrQ59unPrv6K8Bapi-WvLMwnI84Tt_Dg,485
@@ -352,26 +356,42 @@ aip_agents/middleware/manager.py,sha256=dlFhWC8fmKzbL6KIioeBv6cO8TSNfwmSYbciTxGN
352
356
  aip_agents/middleware/manager.pyi,sha256=a-OJeUVP6pIVvG9p8nyIC3oCOWfPVqH1EGykUeePXAs,3577
353
357
  aip_agents/middleware/todolist.py,sha256=BwElJRwn_hG-EC6YJOiaCG3zbAab03e0HkIbHv4LSik,10514
354
358
  aip_agents/middleware/todolist.pyi,sha256=AvRUtHdchxbP9A3ikJwF1EmQqJ-tbzy12eSXpQ-ZDiU,4195
355
- aip_agents/ptc/__init__.py,sha256=khwauiDZ7ZozQaPmnkszDcwEwnBkfuhZ69_obuQVXWY,1410
356
- aip_agents/ptc/__init__.pyi,sha256=oWHcEv30flFGfDSNHoOCbR_W5hLeyPPLSZcf02Qok9o,565
359
+ aip_agents/ptc/__init__.py,sha256=oMH-VPja2p9QtmE5jIg-sBqVZDFXPNlievhVehXitrg,2505
360
+ aip_agents/ptc/__init__.pyi,sha256=KStzEo05ai3EVYdhPRFBhWRb8U8J1Lrh5bHEB5Xb57U,1786
361
+ aip_agents/ptc/custom_tools.py,sha256=I8-NGiJ3VEYB63dDKm6VzfGBuXKAfaSaLbbmu8MGo5M,16424
362
+ aip_agents/ptc/custom_tools.pyi,sha256=jRjzMuPi9wsu4bUCoopyiZhe_NQUTA-tpU_F19Xq6qg,6551
363
+ aip_agents/ptc/custom_tools_payload.py,sha256=fLKmduAaITGu71VR8PahgKhEHf5GNDbc0zytAwqN37Y,13298
364
+ aip_agents/ptc/custom_tools_payload.pyi,sha256=MDxnGnkzweZSe04uQ92m5JczdHBmwhjIJlkPzS8wJWw,1264
357
365
  aip_agents/ptc/doc_gen.py,sha256=ym6psNvZ_8iKB3AGrb1TTFoQiXXLdP2zKp6c4SPf4JA,3382
358
366
  aip_agents/ptc/doc_gen.pyi,sha256=fJ92pbil2mMPv_9AHctVqFNZVE7P8njisLrn9zSSmdA,1266
359
- aip_agents/ptc/exceptions.py,sha256=iNO9Xmz5P34K6FLnxgiGxA9bjPceVf6rUqhrugc5Xq8,905
360
- aip_agents/ptc/exceptions.pyi,sha256=VmypiFm4ZWv5KIYwxUMN9GWOmDMMzkdYdVSoKxfqLTw,664
361
- aip_agents/ptc/executor.py,sha256=I9YqEZx1BN7QhU00TIOmIGQ5xY3-kxWlU0zNxp4SgeM,5063
362
- aip_agents/ptc/executor.pyi,sha256=h9kAq8Un7ShSQxi-_JXFIXyCQz3pDCwx0zs5h56B3rQ,3251
363
- aip_agents/ptc/naming.py,sha256=Cb0Q3SoBNPLGrmWG6Fn2KBzKoJIuSXzy-A_hUw0kWCg,5001
364
- aip_agents/ptc/naming.pyi,sha256=TgIbV0lLStbtjTKadnGlgDVjH90L0IOHXd5W10YUpvg,2141
367
+ aip_agents/ptc/exceptions.py,sha256=_ZhE-XOM1bktsqg1tbtaNo7oI7P89fgg6iQ2apeuOJY,1388
368
+ aip_agents/ptc/exceptions.pyi,sha256=zhniFvKkFuxTK6mX7RwgGjuG1qcScdPvkC5FK4_GSx4,1102
369
+ aip_agents/ptc/executor.py,sha256=eyaa77ghq0swPFKIWAQrDcjLLS_CiUiJ5s4YaxeXiMM,10101
370
+ aip_agents/ptc/executor.pyi,sha256=rGTmH_kEjJgt-t7_X6HyqyrD5MUI9WvyF79bAF__nZo,4746
371
+ aip_agents/ptc/naming.py,sha256=me8YpfBToUmYbwrUx8miGfueYTs-3aW3eMoFIYjK4fE,5324
372
+ aip_agents/ptc/naming.pyi,sha256=TQC3UWhhWCqxCJzxNW4B6HDBY6oZFLRafkaRTBSj78Y,2389
365
373
  aip_agents/ptc/payload.py,sha256=DPEeunaKGk3iWxdpE-1YVD_iuHQPhWqIvcL2TaYPfig,835
366
374
  aip_agents/ptc/payload.pyi,sha256=qPgwyDY14tAsx-r_nt3ACZAfgBmJiAPdH7MXBJJVqjk,631
367
- aip_agents/ptc/prompt_builder.py,sha256=3Xu0Fi3j6yhxRWJAuST8yjYTRfTbYUEBdz53dXWwjMw,17640
368
- aip_agents/ptc/prompt_builder.pyi,sha256=b0njp0fb0LmlqCJs59xCv-yc2hGzaadoXVQWTdfrKhU,2234
375
+ aip_agents/ptc/prompt_builder.py,sha256=NtMg_TWQcKjC_nR0CS-nEmznbO-9Yz47X39ZSCdFXNE,22246
376
+ aip_agents/ptc/prompt_builder.pyi,sha256=cwvCSsVe2nahX1M1LodEZnaQxVcneQXqY5Pc1AaLWpU,2751
369
377
  aip_agents/ptc/ptc_helper.py,sha256=DARdrCwEfuaKOGdVYE1YuudXCbIvkv6rSgcGYK7S_z8,439
370
378
  aip_agents/ptc/ptc_helper.pyi,sha256=FOgjwJR_J15JQjjTNU9oTG-s6d7ocks364ijMuVTHT0,77
371
- aip_agents/ptc/sandbox_bridge.py,sha256=DeLA1REOcaOfsHHGB_446VNRo9UfrgNExxx4eOWU-OM,1635
372
- aip_agents/ptc/sandbox_bridge.pyi,sha256=RqZmnNDMcvFJREWC3QeBcgSvZDYeYf1vhG5dNe8zAmw,979
379
+ aip_agents/ptc/sandbox_bridge.py,sha256=NyS2b0euKJ2vj-7xNhtHMzXdtAhRTmlbGMfQtb4LJ80,8872
380
+ aip_agents/ptc/sandbox_bridge.pyi,sha256=gkdT1Jcb43QoLZPzPEWy9USxv0TFf-eGF3qQ0ttzIk8,2143
373
381
  aip_agents/ptc/template_utils.py,sha256=wHwnMNnf_lz-dj8oWnVXwCp7szw4_Nk4kh4FLcRxlfM,898
374
382
  aip_agents/ptc/template_utils.pyi,sha256=hNpgwyalUMezalSJry9FeQsFfjwuCxl_dZHBimkShF0,438
383
+ aip_agents/ptc/tool_def_helpers.py,sha256=ZlENwzQMWnfGYlNzsZjl-wEs6VR3e1c3QKIX3RI54oU,3562
384
+ aip_agents/ptc/tool_def_helpers.pyi,sha256=Gz_c1h9Vr6WVEPvyQ_afOaWFQkg9vPmBRZWwb0lo_SQ,2101
385
+ aip_agents/ptc/tool_enrichment.py,sha256=Znvgi1jPfp6fzyOtogAObN6e6POU4EPnnLuia2m6iag,5210
386
+ aip_agents/ptc/tool_enrichment.pyi,sha256=uBEK1iMBBT2XcMtCo6TaWNU6c-0nd02SIHNSZ5Hf0h8,2480
387
+ aip_agents/ptc/custom_tools_templates/__init__.py,sha256=46-6eUrhSb8FZAodhM3Xxp8ajUiDWfeZBc4n2kRC__Q,62
388
+ aip_agents/ptc/custom_tools_templates/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
+ aip_agents/ptc/custom_tools_templates/custom_build_function.py.template,sha256=LJ9CfBJHAsA0ERYhm8dEx35GiZreV2kRyFnU_tc9c24,744
390
+ aip_agents/ptc/custom_tools_templates/custom_init.py.template,sha256=72QPUEt9XJC-yrj31CcvpL85dqkYcI2egJ3cM267dmY,321
391
+ aip_agents/ptc/custom_tools_templates/custom_invoke.py.template,sha256=xkESlaWHzqTsuvy0X_F8FFqLVyqX1hXIFabAwr_scLg,1702
392
+ aip_agents/ptc/custom_tools_templates/custom_registry.py.template,sha256=g42X0fSKha0ki0Xc1AaMuHtP8VOLt3yCIW_mrqz2X-o,2929
393
+ aip_agents/ptc/custom_tools_templates/custom_sources_init.py.template,sha256=KaKzBFBDc5hF9dFZtBb8Nc5k2UNsf1ZIiuO3RlfC39c,173
394
+ aip_agents/ptc/custom_tools_templates/custom_wrapper.py.template,sha256=M0-CUQdi0b7XNSiVwNAvXGl9hfDdc9Yx-nIfYV7mWg4,462
375
395
  aip_agents/ptc/mcp/__init__.py,sha256=DlT25Zs_SDstW8vAFxomKlSF4QCpe_k6Sa42fN22ikg,1118
376
396
  aip_agents/ptc/mcp/__init__.pyi,sha256=nKRY7DrlqgmDThlBh9uDQ5LCchfWteaPX0Er37-AtMI,916
377
397
  aip_agents/ptc/mcp/sandbox_bridge.py,sha256=HzzmEJmkkNb6ZNVUIq0gHBSD-ZXOZnp1n_PyYGAHk58,20418
@@ -384,11 +404,11 @@ aip_agents/ptc/templates/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
384
404
  aip_agents/ptc/templates/ptc_helper.py.template,sha256=_heBHy5XtLWYGONtof7qstyEbeHMtHDwCYhxL4-BNDM,4064
385
405
  aip_agents/sandbox/__init__.py,sha256=1zA88_E_WaOm0KaDMsaznWm9qEQvqPF8Ain4w4LFFQo,1366
386
406
  aip_agents/sandbox/__init__.pyi,sha256=l-anSofX18C7Mk0PReCTDZ-tIv8PGg9w0YdNnppve2k,341
387
- aip_agents/sandbox/defaults.py,sha256=rKvzBl494N1Qx3-GZ7yBM07xUVSZo675OCVfROlDcUI,232
388
- aip_agents/sandbox/defaults.pyi,sha256=TV4aNiyAwsERFBa6cnYmUC2jyBVxccDR1v5wW6M6YJU,64
389
- aip_agents/sandbox/e2b_runtime.py,sha256=_Fht2K9rB-RGuX0lulQedw4DLxdOkG288g_ALEWBQaM,9217
390
- aip_agents/sandbox/e2b_runtime.pyi,sha256=sQvrc-hg9CV4KU7D9vJdaLjVY7knT_S-BnszwLB4Sno,2152
391
- aip_agents/sandbox/template_builder.py,sha256=COZr33dVodBag4Kz3o7qHqyyykQGErHbL4DZw3Hn7Zs,4348
407
+ aip_agents/sandbox/defaults.py,sha256=WpZKCVlKWFob8QXnJQr5fzpQTTYnaboLHNJ0YVWFABA,6965
408
+ aip_agents/sandbox/defaults.pyi,sha256=jvBK8W_1J2qH7d5cHpYA-QyvC1gGGgRI7omW9Ct71vs,1618
409
+ aip_agents/sandbox/e2b_runtime.py,sha256=te4jL99Wqs4iQQiEN4r6ZpPmdhrV-phPDH7qhfUiPgI,10662
410
+ aip_agents/sandbox/e2b_runtime.pyi,sha256=ClLy7khXATLSJKpQLEKCXuDPQCjMgenCrXIldmQekrg,2621
411
+ aip_agents/sandbox/template_builder.py,sha256=YX7k57OSu-LGDxwURTJLd1MHeD1295d9-cmW_Ndy4EM,4343
392
412
  aip_agents/sandbox/template_builder.pyi,sha256=DFOrf1IVkRBcrI4fPm-_CrO_n4JQM4xMfX2z2APIm68,1522
393
413
  aip_agents/sandbox/types.py,sha256=D4f3k8bfJwRYM2re0e-5Dxfg58FLIFYY3YE_z1Wqgh8,528
394
414
  aip_agents/sandbox/types.pyi,sha256=P-BGzoiSJA8nQPQNluowNyrFKt5UnLBxeeOL5pamiRU,366
@@ -438,8 +458,8 @@ aip_agents/tools/constants.py,sha256=AabnuPQG_mc2sVdr9jV23_6bFempAsxQv3kdCR_ztLA
438
458
  aip_agents/tools/constants.pyi,sha256=kFY8dKgRqHKGvPqG3QUyuEc8C5yRaDj7DYQDH88K2T0,3552
439
459
  aip_agents/tools/date_range_tool.py,sha256=t0vQqb0du1Q2n4q8V_-TPmfjSuwr4MYRMi6OpXMvVrw,22807
440
460
  aip_agents/tools/date_range_tool.pyi,sha256=1Caen334PHliSJOmXpu94kIFP_PPOdOj3dhKqdfMe8o,570
441
- aip_agents/tools/execute_ptc_code.py,sha256=mN8-G50voxVqWH9r3uJGQOtgPtxsHaTOnJrJuojQLIM,11396
442
- aip_agents/tools/execute_ptc_code.pyi,sha256=nDlpxV-kcKuNmtghahjXAtjWvtNv6D38x8-VTNCKYjU,4089
461
+ aip_agents/tools/execute_ptc_code.py,sha256=e2-TAhsc0REK2bLJScCZfhZv9nkGYUPz8kShc0-6O-o,13399
462
+ aip_agents/tools/execute_ptc_code.pyi,sha256=aD7zbjZgLC4SnVuhSVgP3GMhHBvLpgGHQzJ6fxzbSho,4170
443
463
  aip_agents/tools/gl_connector_tools.py,sha256=bxl_3VQYZDv3lFn6Y3kDVVRFwH4cntOLz3f74YzDcic,3936
444
464
  aip_agents/tools/gl_connector_tools.pyi,sha256=2ATn_MW_FRg5Uv7dLI_ToBOtlgTSfj0zgDQpN1N-cJs,1366
445
465
  aip_agents/tools/memory_search_tool.py,sha256=AOk9lySj6qR9e1uCrGd-DuGltosbKOx6eTZdQKxQbMY,863
@@ -502,7 +522,7 @@ aip_agents/tools/memory_search/__init__.py,sha256=LGVryzA5hiOGBPBdqQyAX34odd-2gZ
502
522
  aip_agents/tools/memory_search/__init__.pyi,sha256=T2ROZSTHZz3sL3QGbqVxHVqJLj9i017DIt5gk8haX30,825
503
523
  aip_agents/tools/memory_search/base.py,sha256=M4Vq5CnXge1rhVkESfVCAjyWEc6Ijmh8-6oAMkcZkjY,7333
504
524
  aip_agents/tools/memory_search/base.pyi,sha256=onVYE9m7WxUQ4qmW5Tj4xBLgFaBGcg8pJj-n6nR5FIw,3087
505
- aip_agents/tools/memory_search/mem0.py,sha256=7bULcmax2TKonTFC_hHq1lBDXOd77wwTvD9pDPLn83I,13786
525
+ aip_agents/tools/memory_search/mem0.py,sha256=GDHBloF5GyqV10y0yrXwIKp2gfQzk-hkd7gE4GvV1Qk,14043
506
526
  aip_agents/tools/memory_search/mem0.pyi,sha256=Cg7EO70QIK8EwD4-nNARd7qp2izZiquxmhBIt5R6afg,1314
507
527
  aip_agents/tools/memory_search/schema.py,sha256=7URsggujl5kw0d-1b71ymLzc9oZ_-xQGgkXuE1bXJow,2775
508
528
  aip_agents/tools/memory_search/schema.pyi,sha256=qK_xhhSFo3ncVvybMXlAtUpg9XPydrB84-bsIzfLAzI,744
@@ -606,7 +626,7 @@ aip_agents/utils/pii/pii_helper.py,sha256=g0yRzakfA2AA6vjUNLWHqFlcxyLql6MXQ90NN3
606
626
  aip_agents/utils/pii/pii_helper.pyi,sha256=dulZs150ikbAL3Bw2YLcz3_g4DsGmL3lciwf8mKxEjI,2939
607
627
  aip_agents/utils/pii/uuid_deanonymizer_mapping.py,sha256=Gks8l8t0cuS9pzoQnrpiK1CaLmWYksjOnTeiHh3_7EE,7348
608
628
  aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi,sha256=gnWfD1rWZh_tloJjgKiZ6f6iNUuBaHpKqCSiP0d-9bs,3084
609
- aip_agents_binary-0.6.5.dist-info/METADATA,sha256=oTbOgYNNZ2IWWrrf2uSGyocsC5qcFNh1WGX5pOpZDXA,22194
610
- aip_agents_binary-0.6.5.dist-info/WHEEL,sha256=KxCTaSkoYs_EnWvWxmau4HAvN-_rCRYV_bfRc_41A9k,106
611
- aip_agents_binary-0.6.5.dist-info/top_level.txt,sha256=PEz8vcwC1bH4UrkhF0LkIYCNfXGWZUHdSklbvkBe25E,11
612
- aip_agents_binary-0.6.5.dist-info/RECORD,,
629
+ aip_agents_binary-0.6.7.dist-info/METADATA,sha256=-e2ySxZ7jiX4lfWRCFDK7Y1YfvNlFX49tepp3Vw7dPQ,22194
630
+ aip_agents_binary-0.6.7.dist-info/WHEEL,sha256=KxCTaSkoYs_EnWvWxmau4HAvN-_rCRYV_bfRc_41A9k,106
631
+ aip_agents_binary-0.6.7.dist-info/top_level.txt,sha256=PEz8vcwC1bH4UrkhF0LkIYCNfXGWZUHdSklbvkBe25E,11
632
+ aip_agents_binary-0.6.7.dist-info/RECORD,,