agenticdome-python-sdk 1.2.35__tar.gz → 1.2.36__tar.gz
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.
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/PKG-INFO +64 -17
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/README.md +53 -6
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_python_sdk.egg-info/PKG-INFO +64 -17
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_python_sdk.egg-info/SOURCES.txt +4 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_python_sdk.egg-info/requires.txt +10 -10
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/__init__.py +5 -0
- agenticdome_python_sdk-1.2.36/agenticdome_sdk/action_path_proof.py +263 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/catalog_snapshot.json +4 -4
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/client.py +6 -0
- agenticdome_python_sdk-1.2.36/agenticdome_sdk/existing_integration.py +250 -0
- agenticdome_python_sdk-1.2.36/agenticdome_sdk/framework_edits.py +448 -0
- agenticdome_python_sdk-1.2.36/agenticdome_sdk/generic_python.py +149 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/guided_integration.py +226 -20
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/hook_catalog.py +8 -8
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/mcp_host.py +177 -91
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/mcp_http_gateway.py +9 -10
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/mcp_verification.py +5 -2
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/onboarding_cli.py +299 -16
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/openai_agents.py +7 -2
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/customer-onboarding.md +78 -6
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/custom-python.md +24 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/mcp-integration.md +68 -13
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/mcp_gateway_action_firewall.py +2 -2
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/pyproject.toml +11 -11
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/CONTRIBUTING.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/LICENSE +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/NOTICE +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/SECURITY.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/_framework_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/_mode.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/attestation.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/claude.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/connect.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/copilot_ir.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/copilot_ir_collector.cjs +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/demo.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/identity.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/lifecycle.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/mcp_rehearsal_server.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/outcomes.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/proof.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/simulation.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/agenticdome_sdk/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/agno.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/autogen.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/aws-bedrock.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/claude-agent-sdk.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/crewai.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/google-adk.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/langgraph.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/llamaindex.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/microsoft-agent-framework.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/microsoft-ai-foundry.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/openai-agents.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/pydanticai.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/frameworks/smolagents.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/performance-evidence.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/docs/runtime-deployment.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/PRODUCTION_INTEGRATION.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/README.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/crewai_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/_shared.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/agno.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/claude_agent_sdk.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/custom_python.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/mcp.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/pydanticai.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/frameworks/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/langgraph_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/examples/local_simulation_gallery.py +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.2.35 → agenticdome_python_sdk-1.2.36}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.36
|
|
4
4
|
Summary: Official Python SDK for AgenticDome security guardrails, DLP, tool authorization, and multi-agent delegation enforcement.
|
|
5
5
|
Author: AgenticDome
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -33,7 +33,7 @@ Requires-Dist: requests>=2.31.0
|
|
|
33
33
|
Requires-Dist: urllib3>=2.0.0
|
|
34
34
|
Requires-Dist: cryptography>=42.0.0
|
|
35
35
|
Provides-Extra: crewai
|
|
36
|
-
Requires-Dist: crewai<=1.15.
|
|
36
|
+
Requires-Dist: crewai<=1.15.23,>=1.15.5; extra == "crewai"
|
|
37
37
|
Provides-Extra: redis
|
|
38
38
|
Requires-Dist: redis>=4.5.0; extra == "redis"
|
|
39
39
|
Provides-Extra: pop
|
|
@@ -46,7 +46,7 @@ Requires-Dist: pydantic-ai<=2.51.0,>=2.16.0; extra == "pydantic"
|
|
|
46
46
|
Requires-Dist: anyio>=4.0.0; extra == "pydantic"
|
|
47
47
|
Provides-Extra: langgraph
|
|
48
48
|
Requires-Dist: langgraph<=1.2.12,>=1.2.9; extra == "langgraph"
|
|
49
|
-
Requires-Dist: langchain-core<=1.6.
|
|
49
|
+
Requires-Dist: langchain-core<=1.6.6,>=1.5.0; extra == "langgraph"
|
|
50
50
|
Requires-Dist: langchain-openai==1.3.5; extra == "langgraph"
|
|
51
51
|
Requires-Dist: anyio>=4.0.0; extra == "langgraph"
|
|
52
52
|
Provides-Extra: microsoft
|
|
@@ -64,9 +64,9 @@ Requires-Dist: openai-agents<=0.22.3,>=0.18.3; extra == "openai-agents"
|
|
|
64
64
|
Provides-Extra: mcp
|
|
65
65
|
Requires-Dist: mcp<=2.2.0,>=1.26.0; extra == "mcp"
|
|
66
66
|
Provides-Extra: bedrock
|
|
67
|
-
Requires-Dist: boto3<=1.43.
|
|
67
|
+
Requires-Dist: boto3<=1.43.105,>=1.43.54; extra == "bedrock"
|
|
68
68
|
Provides-Extra: aws-bedrock
|
|
69
|
-
Requires-Dist: boto3<=1.43.
|
|
69
|
+
Requires-Dist: boto3<=1.43.105,>=1.43.54; extra == "aws-bedrock"
|
|
70
70
|
Provides-Extra: llamaindex
|
|
71
71
|
Requires-Dist: llama-index<=0.14.25,>=0.14.23; extra == "llamaindex"
|
|
72
72
|
Provides-Extra: llama-index
|
|
@@ -76,19 +76,19 @@ Requires-Dist: google-adk<=2.10.0,>=2.5.0; extra == "google-adk"
|
|
|
76
76
|
Provides-Extra: adk
|
|
77
77
|
Requires-Dist: google-adk<=2.10.0,>=2.5.0; extra == "adk"
|
|
78
78
|
Provides-Extra: claude
|
|
79
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
79
|
+
Requires-Dist: claude-agent-sdk<=0.2.162,>=0.2.126; extra == "claude"
|
|
80
80
|
Provides-Extra: claude-agent-sdk
|
|
81
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
81
|
+
Requires-Dist: claude-agent-sdk<=0.2.162,>=0.2.126; extra == "claude-agent-sdk"
|
|
82
82
|
Provides-Extra: smolagents
|
|
83
83
|
Requires-Dist: smolagents==1.26.0; extra == "smolagents"
|
|
84
84
|
Provides-Extra: all
|
|
85
|
-
Requires-Dist: crewai<=1.15.
|
|
85
|
+
Requires-Dist: crewai<=1.15.23,>=1.15.5; extra == "all"
|
|
86
86
|
Requires-Dist: redis>=4.5.0; extra == "all"
|
|
87
87
|
Requires-Dist: cryptography>=42.0.0; extra == "all"
|
|
88
88
|
Requires-Dist: pydantic-ai<=2.51.0,>=2.16.0; extra == "all"
|
|
89
89
|
Requires-Dist: anyio>=4.0.0; extra == "all"
|
|
90
90
|
Requires-Dist: langgraph<=1.2.12,>=1.2.9; extra == "all"
|
|
91
|
-
Requires-Dist: langchain-core<=1.6.
|
|
91
|
+
Requires-Dist: langchain-core<=1.6.6,>=1.5.0; extra == "all"
|
|
92
92
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
93
93
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
94
94
|
Requires-Dist: agno<=3.0.11,>=2.8.0; extra == "all"
|
|
@@ -96,10 +96,10 @@ Requires-Dist: azure-ai-projects<=2.7.0,>=2.3.0; extra == "all"
|
|
|
96
96
|
Requires-Dist: azure-identity==1.25.3; extra == "all"
|
|
97
97
|
Requires-Dist: openai-agents<=0.22.3,>=0.18.3; extra == "all"
|
|
98
98
|
Requires-Dist: mcp<=2.2.0,>=1.26.0; extra == "all"
|
|
99
|
-
Requires-Dist: boto3<=1.43.
|
|
99
|
+
Requires-Dist: boto3<=1.43.105,>=1.43.54; extra == "all"
|
|
100
100
|
Requires-Dist: llama-index<=0.14.25,>=0.14.23; extra == "all"
|
|
101
101
|
Requires-Dist: google-adk<=2.10.0,>=2.5.0; extra == "all"
|
|
102
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
102
|
+
Requires-Dist: claude-agent-sdk<=0.2.162,>=0.2.126; extra == "all"
|
|
103
103
|
Requires-Dist: smolagents==1.26.0; extra == "all"
|
|
104
104
|
Provides-Extra: dev
|
|
105
105
|
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
@@ -177,16 +177,51 @@ agenticdome inspect --output agenticdome-inspection.json
|
|
|
177
177
|
|
|
178
178
|
`init` writes the secret-free inspection and local configuration. For the
|
|
179
179
|
certified onboarding path, obtain the assigned sidecar and a dedicated
|
|
180
|
-
`integration_copilot` key, run `agenticdome integrate preview
|
|
180
|
+
`integration_copilot` key, run `agenticdome integrate preview` and
|
|
181
|
+
`agenticdome integrate status`, review the saved
|
|
181
182
|
local exact diff and change summary, explicitly approve a supported edit or
|
|
182
183
|
attach other boundaries manually, then run
|
|
183
184
|
`agenticdome verify --run-tests --output .agenticdome/verification.json`.
|
|
184
185
|
Preview obtains the private, signed, catalog-bound semantic plan and keeps
|
|
185
186
|
application source on your machine. `agenticdome integrate apply` creates a
|
|
186
187
|
local Git review branch but never commits, pushes or deploys. Existing-source
|
|
187
|
-
automatic edits
|
|
188
|
-
|
|
188
|
+
automatic edits cover unambiguous CrewAI bootstrap, PydanticAI `Agent(...)`,
|
|
189
|
+
LangChain `create_agent(...)`, Google ADK agent construction, Claude options,
|
|
190
|
+
Agno `Agent(...)`, direct LlamaIndex `FunctionTool.from_defaults(...)`, direct
|
|
191
|
+
OpenAI Agents `FunctionTool(...)` handlers, explicit custom-Python tool
|
|
192
|
+
dispatchers, and the exact smolagents run pattern.
|
|
193
|
+
The CLI leaves dynamic construction,
|
|
194
|
+
existing handwritten AgenticDome calls, MCP forwarding and other framework
|
|
195
|
+
paths for explicit review; a patch never proves all routes are intercepted.
|
|
196
|
+
The older `agenticdome plan`
|
|
189
197
|
and `agenticdome scaffold` remain available as advanced review-only commands.
|
|
198
|
+
Preview auto-selects an application or pure-MCP review path and reports
|
|
199
|
+
existing Python SDK call-site candidates, including handwritten local
|
|
200
|
+
wrappers. Discovery uses the versioned framework hook catalog plus documented
|
|
201
|
+
prompt, tool, A2A/delegation, MCP and output API methods; categories may
|
|
202
|
+
overlap and TypeScript call sites are not parsed by this Python checker. Mixed
|
|
203
|
+
application/MCP workloads get a separate MCP review path.
|
|
204
|
+
Each preview rescans the selected workload. If code added a framework after
|
|
205
|
+
`init`, its certified hook contract is included in the new plan and flagged for
|
|
206
|
+
review without changing `.agenticdome/config.json`; a framework still in that
|
|
207
|
+
config but absent from the current scan is flagged for confirmation. Run
|
|
208
|
+
`agenticdome integrate status` for the saved next action and import a fresh
|
|
209
|
+
`agenticdome inspect --output agenticdome-inspection.json` after reviewing it.
|
|
210
|
+
These static observations do not prove interception; the CLI avoids
|
|
211
|
+
overlapping automatic rewrites and requires real blocked-action tests.
|
|
212
|
+
|
|
213
|
+
For one consequential tool, run your own safe integration test through the
|
|
214
|
+
actual application route with an `ExecutionSpy` around its test handler, then
|
|
215
|
+
correlate the SDK adapter call, live-mode verdict and handler invocation:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
agenticdome verify-action --tool billing.refund --expect-verdict BLOCKED --expect-executed no -- pytest -q tests/test_blocked_refund.py
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
The test must call `spy.assert_calls(0)` (or `1` for an allowed test); see the
|
|
222
|
+
[real action-path test guide](docs/customer-onboarding.md#prove-one-real-action-path).
|
|
223
|
+
This opt-in command does not execute a business action itself, and a fixed
|
|
224
|
+
`agenticdome verify` probe is not a substitute for the real-path test.
|
|
190
225
|
|
|
191
226
|
For an MCP client, host, gateway or server workload, use the focused path:
|
|
192
227
|
|
|
@@ -224,6 +259,7 @@ openclaw plugins install npm:agenticdome-openclaw-security
|
|
|
224
259
|
openclaw plugins enable agenticdome-security
|
|
225
260
|
openclaw config set plugins.entries.agenticdome-security.hooks.allowConversationAccess true
|
|
226
261
|
openclaw gateway restart
|
|
262
|
+
openclaw gateway status --require-rpc
|
|
227
263
|
agenticdome openclaw protect
|
|
228
264
|
# With AGENTICDOME_API_BASE, AGENTICDOME_TENANT_ID and the dedicated
|
|
229
265
|
# AGENTICDOME_COPILOT_API_KEY set, generate and review the signed plan:
|
|
@@ -232,8 +268,11 @@ agenticdome plan
|
|
|
232
268
|
agenticdome openclaw verify --output .agenticdome/verification.json
|
|
233
269
|
```
|
|
234
270
|
|
|
235
|
-
`openclaw protect`
|
|
236
|
-
|
|
271
|
+
`openclaw protect` checks the AgenticDome plugin, explicit consent and exact
|
|
272
|
+
typed hooks in the inspecting CLI process. `gateway status` checks the serving
|
|
273
|
+
Gateway's RPC reachability; neither proves that this Gateway ran a hook on a
|
|
274
|
+
customer tool call. Exercise a safe tool through the actual Gateway and inspect
|
|
275
|
+
the matching AgenticDome runtime decision before claiming that route is protected.
|
|
237
276
|
The official `openclaw plugins install`, `enable`, `config set` and gateway
|
|
238
277
|
restart commands are the actual runtime configuration change; the Python CLI
|
|
239
278
|
does not apply or undo them. No application source patch is needed for native
|
|
@@ -246,7 +285,8 @@ includes the MCP transport rehearsal and both `mcp_verification` and
|
|
|
246
285
|
`openclaw_verification` in one report. Both sections must be ready before the
|
|
247
286
|
report is imported; `mcp verify` alone is not a combined-workload proof. The
|
|
248
287
|
customer Control Panel separately confirms tenant binding and retained
|
|
249
|
-
telemetry; neither command silently modifies customer source
|
|
288
|
+
telemetry for its probes; neither command silently modifies customer source or
|
|
289
|
+
proves that every live Gateway tool route was intercepted.
|
|
250
290
|
|
|
251
291
|
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
252
292
|
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
@@ -1582,6 +1622,13 @@ async def lookup_customer(customer_id: str) -> str:
|
|
|
1582
1622
|
)
|
|
1583
1623
|
```
|
|
1584
1624
|
|
|
1625
|
+
If you construct `agents.FunctionTool` directly, its `on_invoke_tool`
|
|
1626
|
+
handler receives JSON text. Use `handler_args_format="json"` with
|
|
1627
|
+
`wrap_tool_handler` so the approved or sanitized arguments reach the original
|
|
1628
|
+
handler in that same format. The guided integration preview offers this edit
|
|
1629
|
+
only for a direct, statically named `FunctionTool` with an identifiable
|
|
1630
|
+
handler; other tool factories require manual review and a real-route test.
|
|
1631
|
+
|
|
1585
1632
|
**Delegated specialist tool pattern:**
|
|
1586
1633
|
|
|
1587
1634
|
```python
|
|
@@ -64,16 +64,51 @@ agenticdome inspect --output agenticdome-inspection.json
|
|
|
64
64
|
|
|
65
65
|
`init` writes the secret-free inspection and local configuration. For the
|
|
66
66
|
certified onboarding path, obtain the assigned sidecar and a dedicated
|
|
67
|
-
`integration_copilot` key, run `agenticdome integrate preview
|
|
67
|
+
`integration_copilot` key, run `agenticdome integrate preview` and
|
|
68
|
+
`agenticdome integrate status`, review the saved
|
|
68
69
|
local exact diff and change summary, explicitly approve a supported edit or
|
|
69
70
|
attach other boundaries manually, then run
|
|
70
71
|
`agenticdome verify --run-tests --output .agenticdome/verification.json`.
|
|
71
72
|
Preview obtains the private, signed, catalog-bound semantic plan and keeps
|
|
72
73
|
application source on your machine. `agenticdome integrate apply` creates a
|
|
73
74
|
local Git review branch but never commits, pushes or deploys. Existing-source
|
|
74
|
-
automatic edits
|
|
75
|
-
|
|
75
|
+
automatic edits cover unambiguous CrewAI bootstrap, PydanticAI `Agent(...)`,
|
|
76
|
+
LangChain `create_agent(...)`, Google ADK agent construction, Claude options,
|
|
77
|
+
Agno `Agent(...)`, direct LlamaIndex `FunctionTool.from_defaults(...)`, direct
|
|
78
|
+
OpenAI Agents `FunctionTool(...)` handlers, explicit custom-Python tool
|
|
79
|
+
dispatchers, and the exact smolagents run pattern.
|
|
80
|
+
The CLI leaves dynamic construction,
|
|
81
|
+
existing handwritten AgenticDome calls, MCP forwarding and other framework
|
|
82
|
+
paths for explicit review; a patch never proves all routes are intercepted.
|
|
83
|
+
The older `agenticdome plan`
|
|
76
84
|
and `agenticdome scaffold` remain available as advanced review-only commands.
|
|
85
|
+
Preview auto-selects an application or pure-MCP review path and reports
|
|
86
|
+
existing Python SDK call-site candidates, including handwritten local
|
|
87
|
+
wrappers. Discovery uses the versioned framework hook catalog plus documented
|
|
88
|
+
prompt, tool, A2A/delegation, MCP and output API methods; categories may
|
|
89
|
+
overlap and TypeScript call sites are not parsed by this Python checker. Mixed
|
|
90
|
+
application/MCP workloads get a separate MCP review path.
|
|
91
|
+
Each preview rescans the selected workload. If code added a framework after
|
|
92
|
+
`init`, its certified hook contract is included in the new plan and flagged for
|
|
93
|
+
review without changing `.agenticdome/config.json`; a framework still in that
|
|
94
|
+
config but absent from the current scan is flagged for confirmation. Run
|
|
95
|
+
`agenticdome integrate status` for the saved next action and import a fresh
|
|
96
|
+
`agenticdome inspect --output agenticdome-inspection.json` after reviewing it.
|
|
97
|
+
These static observations do not prove interception; the CLI avoids
|
|
98
|
+
overlapping automatic rewrites and requires real blocked-action tests.
|
|
99
|
+
|
|
100
|
+
For one consequential tool, run your own safe integration test through the
|
|
101
|
+
actual application route with an `ExecutionSpy` around its test handler, then
|
|
102
|
+
correlate the SDK adapter call, live-mode verdict and handler invocation:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
agenticdome verify-action --tool billing.refund --expect-verdict BLOCKED --expect-executed no -- pytest -q tests/test_blocked_refund.py
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The test must call `spy.assert_calls(0)` (or `1` for an allowed test); see the
|
|
109
|
+
[real action-path test guide](docs/customer-onboarding.md#prove-one-real-action-path).
|
|
110
|
+
This opt-in command does not execute a business action itself, and a fixed
|
|
111
|
+
`agenticdome verify` probe is not a substitute for the real-path test.
|
|
77
112
|
|
|
78
113
|
For an MCP client, host, gateway or server workload, use the focused path:
|
|
79
114
|
|
|
@@ -111,6 +146,7 @@ openclaw plugins install npm:agenticdome-openclaw-security
|
|
|
111
146
|
openclaw plugins enable agenticdome-security
|
|
112
147
|
openclaw config set plugins.entries.agenticdome-security.hooks.allowConversationAccess true
|
|
113
148
|
openclaw gateway restart
|
|
149
|
+
openclaw gateway status --require-rpc
|
|
114
150
|
agenticdome openclaw protect
|
|
115
151
|
# With AGENTICDOME_API_BASE, AGENTICDOME_TENANT_ID and the dedicated
|
|
116
152
|
# AGENTICDOME_COPILOT_API_KEY set, generate and review the signed plan:
|
|
@@ -119,8 +155,11 @@ agenticdome plan
|
|
|
119
155
|
agenticdome openclaw verify --output .agenticdome/verification.json
|
|
120
156
|
```
|
|
121
157
|
|
|
122
|
-
`openclaw protect`
|
|
123
|
-
|
|
158
|
+
`openclaw protect` checks the AgenticDome plugin, explicit consent and exact
|
|
159
|
+
typed hooks in the inspecting CLI process. `gateway status` checks the serving
|
|
160
|
+
Gateway's RPC reachability; neither proves that this Gateway ran a hook on a
|
|
161
|
+
customer tool call. Exercise a safe tool through the actual Gateway and inspect
|
|
162
|
+
the matching AgenticDome runtime decision before claiming that route is protected.
|
|
124
163
|
The official `openclaw plugins install`, `enable`, `config set` and gateway
|
|
125
164
|
restart commands are the actual runtime configuration change; the Python CLI
|
|
126
165
|
does not apply or undo them. No application source patch is needed for native
|
|
@@ -133,7 +172,8 @@ includes the MCP transport rehearsal and both `mcp_verification` and
|
|
|
133
172
|
`openclaw_verification` in one report. Both sections must be ready before the
|
|
134
173
|
report is imported; `mcp verify` alone is not a combined-workload proof. The
|
|
135
174
|
customer Control Panel separately confirms tenant binding and retained
|
|
136
|
-
telemetry; neither command silently modifies customer source
|
|
175
|
+
telemetry for its probes; neither command silently modifies customer source or
|
|
176
|
+
proves that every live Gateway tool route was intercepted.
|
|
137
177
|
|
|
138
178
|
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
139
179
|
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
@@ -1469,6 +1509,13 @@ async def lookup_customer(customer_id: str) -> str:
|
|
|
1469
1509
|
)
|
|
1470
1510
|
```
|
|
1471
1511
|
|
|
1512
|
+
If you construct `agents.FunctionTool` directly, its `on_invoke_tool`
|
|
1513
|
+
handler receives JSON text. Use `handler_args_format="json"` with
|
|
1514
|
+
`wrap_tool_handler` so the approved or sanitized arguments reach the original
|
|
1515
|
+
handler in that same format. The guided integration preview offers this edit
|
|
1516
|
+
only for a direct, statically named `FunctionTool` with an identifiable
|
|
1517
|
+
handler; other tool factories require manual review and a real-route test.
|
|
1518
|
+
|
|
1472
1519
|
**Delegated specialist tool pattern:**
|
|
1473
1520
|
|
|
1474
1521
|
```python
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.36
|
|
4
4
|
Summary: Official Python SDK for AgenticDome security guardrails, DLP, tool authorization, and multi-agent delegation enforcement.
|
|
5
5
|
Author: AgenticDome
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -33,7 +33,7 @@ Requires-Dist: requests>=2.31.0
|
|
|
33
33
|
Requires-Dist: urllib3>=2.0.0
|
|
34
34
|
Requires-Dist: cryptography>=42.0.0
|
|
35
35
|
Provides-Extra: crewai
|
|
36
|
-
Requires-Dist: crewai<=1.15.
|
|
36
|
+
Requires-Dist: crewai<=1.15.23,>=1.15.5; extra == "crewai"
|
|
37
37
|
Provides-Extra: redis
|
|
38
38
|
Requires-Dist: redis>=4.5.0; extra == "redis"
|
|
39
39
|
Provides-Extra: pop
|
|
@@ -46,7 +46,7 @@ Requires-Dist: pydantic-ai<=2.51.0,>=2.16.0; extra == "pydantic"
|
|
|
46
46
|
Requires-Dist: anyio>=4.0.0; extra == "pydantic"
|
|
47
47
|
Provides-Extra: langgraph
|
|
48
48
|
Requires-Dist: langgraph<=1.2.12,>=1.2.9; extra == "langgraph"
|
|
49
|
-
Requires-Dist: langchain-core<=1.6.
|
|
49
|
+
Requires-Dist: langchain-core<=1.6.6,>=1.5.0; extra == "langgraph"
|
|
50
50
|
Requires-Dist: langchain-openai==1.3.5; extra == "langgraph"
|
|
51
51
|
Requires-Dist: anyio>=4.0.0; extra == "langgraph"
|
|
52
52
|
Provides-Extra: microsoft
|
|
@@ -64,9 +64,9 @@ Requires-Dist: openai-agents<=0.22.3,>=0.18.3; extra == "openai-agents"
|
|
|
64
64
|
Provides-Extra: mcp
|
|
65
65
|
Requires-Dist: mcp<=2.2.0,>=1.26.0; extra == "mcp"
|
|
66
66
|
Provides-Extra: bedrock
|
|
67
|
-
Requires-Dist: boto3<=1.43.
|
|
67
|
+
Requires-Dist: boto3<=1.43.105,>=1.43.54; extra == "bedrock"
|
|
68
68
|
Provides-Extra: aws-bedrock
|
|
69
|
-
Requires-Dist: boto3<=1.43.
|
|
69
|
+
Requires-Dist: boto3<=1.43.105,>=1.43.54; extra == "aws-bedrock"
|
|
70
70
|
Provides-Extra: llamaindex
|
|
71
71
|
Requires-Dist: llama-index<=0.14.25,>=0.14.23; extra == "llamaindex"
|
|
72
72
|
Provides-Extra: llama-index
|
|
@@ -76,19 +76,19 @@ Requires-Dist: google-adk<=2.10.0,>=2.5.0; extra == "google-adk"
|
|
|
76
76
|
Provides-Extra: adk
|
|
77
77
|
Requires-Dist: google-adk<=2.10.0,>=2.5.0; extra == "adk"
|
|
78
78
|
Provides-Extra: claude
|
|
79
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
79
|
+
Requires-Dist: claude-agent-sdk<=0.2.162,>=0.2.126; extra == "claude"
|
|
80
80
|
Provides-Extra: claude-agent-sdk
|
|
81
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
81
|
+
Requires-Dist: claude-agent-sdk<=0.2.162,>=0.2.126; extra == "claude-agent-sdk"
|
|
82
82
|
Provides-Extra: smolagents
|
|
83
83
|
Requires-Dist: smolagents==1.26.0; extra == "smolagents"
|
|
84
84
|
Provides-Extra: all
|
|
85
|
-
Requires-Dist: crewai<=1.15.
|
|
85
|
+
Requires-Dist: crewai<=1.15.23,>=1.15.5; extra == "all"
|
|
86
86
|
Requires-Dist: redis>=4.5.0; extra == "all"
|
|
87
87
|
Requires-Dist: cryptography>=42.0.0; extra == "all"
|
|
88
88
|
Requires-Dist: pydantic-ai<=2.51.0,>=2.16.0; extra == "all"
|
|
89
89
|
Requires-Dist: anyio>=4.0.0; extra == "all"
|
|
90
90
|
Requires-Dist: langgraph<=1.2.12,>=1.2.9; extra == "all"
|
|
91
|
-
Requires-Dist: langchain-core<=1.6.
|
|
91
|
+
Requires-Dist: langchain-core<=1.6.6,>=1.5.0; extra == "all"
|
|
92
92
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
93
93
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
94
94
|
Requires-Dist: agno<=3.0.11,>=2.8.0; extra == "all"
|
|
@@ -96,10 +96,10 @@ Requires-Dist: azure-ai-projects<=2.7.0,>=2.3.0; extra == "all"
|
|
|
96
96
|
Requires-Dist: azure-identity==1.25.3; extra == "all"
|
|
97
97
|
Requires-Dist: openai-agents<=0.22.3,>=0.18.3; extra == "all"
|
|
98
98
|
Requires-Dist: mcp<=2.2.0,>=1.26.0; extra == "all"
|
|
99
|
-
Requires-Dist: boto3<=1.43.
|
|
99
|
+
Requires-Dist: boto3<=1.43.105,>=1.43.54; extra == "all"
|
|
100
100
|
Requires-Dist: llama-index<=0.14.25,>=0.14.23; extra == "all"
|
|
101
101
|
Requires-Dist: google-adk<=2.10.0,>=2.5.0; extra == "all"
|
|
102
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
102
|
+
Requires-Dist: claude-agent-sdk<=0.2.162,>=0.2.126; extra == "all"
|
|
103
103
|
Requires-Dist: smolagents==1.26.0; extra == "all"
|
|
104
104
|
Provides-Extra: dev
|
|
105
105
|
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
@@ -177,16 +177,51 @@ agenticdome inspect --output agenticdome-inspection.json
|
|
|
177
177
|
|
|
178
178
|
`init` writes the secret-free inspection and local configuration. For the
|
|
179
179
|
certified onboarding path, obtain the assigned sidecar and a dedicated
|
|
180
|
-
`integration_copilot` key, run `agenticdome integrate preview
|
|
180
|
+
`integration_copilot` key, run `agenticdome integrate preview` and
|
|
181
|
+
`agenticdome integrate status`, review the saved
|
|
181
182
|
local exact diff and change summary, explicitly approve a supported edit or
|
|
182
183
|
attach other boundaries manually, then run
|
|
183
184
|
`agenticdome verify --run-tests --output .agenticdome/verification.json`.
|
|
184
185
|
Preview obtains the private, signed, catalog-bound semantic plan and keeps
|
|
185
186
|
application source on your machine. `agenticdome integrate apply` creates a
|
|
186
187
|
local Git review branch but never commits, pushes or deploys. Existing-source
|
|
187
|
-
automatic edits
|
|
188
|
-
|
|
188
|
+
automatic edits cover unambiguous CrewAI bootstrap, PydanticAI `Agent(...)`,
|
|
189
|
+
LangChain `create_agent(...)`, Google ADK agent construction, Claude options,
|
|
190
|
+
Agno `Agent(...)`, direct LlamaIndex `FunctionTool.from_defaults(...)`, direct
|
|
191
|
+
OpenAI Agents `FunctionTool(...)` handlers, explicit custom-Python tool
|
|
192
|
+
dispatchers, and the exact smolagents run pattern.
|
|
193
|
+
The CLI leaves dynamic construction,
|
|
194
|
+
existing handwritten AgenticDome calls, MCP forwarding and other framework
|
|
195
|
+
paths for explicit review; a patch never proves all routes are intercepted.
|
|
196
|
+
The older `agenticdome plan`
|
|
189
197
|
and `agenticdome scaffold` remain available as advanced review-only commands.
|
|
198
|
+
Preview auto-selects an application or pure-MCP review path and reports
|
|
199
|
+
existing Python SDK call-site candidates, including handwritten local
|
|
200
|
+
wrappers. Discovery uses the versioned framework hook catalog plus documented
|
|
201
|
+
prompt, tool, A2A/delegation, MCP and output API methods; categories may
|
|
202
|
+
overlap and TypeScript call sites are not parsed by this Python checker. Mixed
|
|
203
|
+
application/MCP workloads get a separate MCP review path.
|
|
204
|
+
Each preview rescans the selected workload. If code added a framework after
|
|
205
|
+
`init`, its certified hook contract is included in the new plan and flagged for
|
|
206
|
+
review without changing `.agenticdome/config.json`; a framework still in that
|
|
207
|
+
config but absent from the current scan is flagged for confirmation. Run
|
|
208
|
+
`agenticdome integrate status` for the saved next action and import a fresh
|
|
209
|
+
`agenticdome inspect --output agenticdome-inspection.json` after reviewing it.
|
|
210
|
+
These static observations do not prove interception; the CLI avoids
|
|
211
|
+
overlapping automatic rewrites and requires real blocked-action tests.
|
|
212
|
+
|
|
213
|
+
For one consequential tool, run your own safe integration test through the
|
|
214
|
+
actual application route with an `ExecutionSpy` around its test handler, then
|
|
215
|
+
correlate the SDK adapter call, live-mode verdict and handler invocation:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
agenticdome verify-action --tool billing.refund --expect-verdict BLOCKED --expect-executed no -- pytest -q tests/test_blocked_refund.py
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
The test must call `spy.assert_calls(0)` (or `1` for an allowed test); see the
|
|
222
|
+
[real action-path test guide](docs/customer-onboarding.md#prove-one-real-action-path).
|
|
223
|
+
This opt-in command does not execute a business action itself, and a fixed
|
|
224
|
+
`agenticdome verify` probe is not a substitute for the real-path test.
|
|
190
225
|
|
|
191
226
|
For an MCP client, host, gateway or server workload, use the focused path:
|
|
192
227
|
|
|
@@ -224,6 +259,7 @@ openclaw plugins install npm:agenticdome-openclaw-security
|
|
|
224
259
|
openclaw plugins enable agenticdome-security
|
|
225
260
|
openclaw config set plugins.entries.agenticdome-security.hooks.allowConversationAccess true
|
|
226
261
|
openclaw gateway restart
|
|
262
|
+
openclaw gateway status --require-rpc
|
|
227
263
|
agenticdome openclaw protect
|
|
228
264
|
# With AGENTICDOME_API_BASE, AGENTICDOME_TENANT_ID and the dedicated
|
|
229
265
|
# AGENTICDOME_COPILOT_API_KEY set, generate and review the signed plan:
|
|
@@ -232,8 +268,11 @@ agenticdome plan
|
|
|
232
268
|
agenticdome openclaw verify --output .agenticdome/verification.json
|
|
233
269
|
```
|
|
234
270
|
|
|
235
|
-
`openclaw protect`
|
|
236
|
-
|
|
271
|
+
`openclaw protect` checks the AgenticDome plugin, explicit consent and exact
|
|
272
|
+
typed hooks in the inspecting CLI process. `gateway status` checks the serving
|
|
273
|
+
Gateway's RPC reachability; neither proves that this Gateway ran a hook on a
|
|
274
|
+
customer tool call. Exercise a safe tool through the actual Gateway and inspect
|
|
275
|
+
the matching AgenticDome runtime decision before claiming that route is protected.
|
|
237
276
|
The official `openclaw plugins install`, `enable`, `config set` and gateway
|
|
238
277
|
restart commands are the actual runtime configuration change; the Python CLI
|
|
239
278
|
does not apply or undo them. No application source patch is needed for native
|
|
@@ -246,7 +285,8 @@ includes the MCP transport rehearsal and both `mcp_verification` and
|
|
|
246
285
|
`openclaw_verification` in one report. Both sections must be ready before the
|
|
247
286
|
report is imported; `mcp verify` alone is not a combined-workload proof. The
|
|
248
287
|
customer Control Panel separately confirms tenant binding and retained
|
|
249
|
-
telemetry; neither command silently modifies customer source
|
|
288
|
+
telemetry for its probes; neither command silently modifies customer source or
|
|
289
|
+
proves that every live Gateway tool route was intercepted.
|
|
250
290
|
|
|
251
291
|
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
252
292
|
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
@@ -1582,6 +1622,13 @@ async def lookup_customer(customer_id: str) -> str:
|
|
|
1582
1622
|
)
|
|
1583
1623
|
```
|
|
1584
1624
|
|
|
1625
|
+
If you construct `agents.FunctionTool` directly, its `on_invoke_tool`
|
|
1626
|
+
handler receives JSON text. Use `handler_args_format="json"` with
|
|
1627
|
+
`wrap_tool_handler` so the approved or sanitized arguments reach the original
|
|
1628
|
+
handler in that same format. The guided integration preview offers this edit
|
|
1629
|
+
only for a direct, statically named `FunctionTool` with an identifiable
|
|
1630
|
+
handler; other tool factories require manual review and a real-route test.
|
|
1631
|
+
|
|
1585
1632
|
**Delegated specialist tool pattern:**
|
|
1586
1633
|
|
|
1587
1634
|
```python
|
|
@@ -15,6 +15,7 @@ agenticdome_python_sdk.egg-info/top_level.txt
|
|
|
15
15
|
agenticdome_sdk/__init__.py
|
|
16
16
|
agenticdome_sdk/_framework_firewall.py
|
|
17
17
|
agenticdome_sdk/_mode.py
|
|
18
|
+
agenticdome_sdk/action_path_proof.py
|
|
18
19
|
agenticdome_sdk/agno.py
|
|
19
20
|
agenticdome_sdk/attestation.py
|
|
20
21
|
agenticdome_sdk/autogen.py
|
|
@@ -27,6 +28,9 @@ agenticdome_sdk/copilot_ir.py
|
|
|
27
28
|
agenticdome_sdk/copilot_ir_collector.cjs
|
|
28
29
|
agenticdome_sdk/crewai.py
|
|
29
30
|
agenticdome_sdk/demo.py
|
|
31
|
+
agenticdome_sdk/existing_integration.py
|
|
32
|
+
agenticdome_sdk/framework_edits.py
|
|
33
|
+
agenticdome_sdk/generic_python.py
|
|
30
34
|
agenticdome_sdk/google_adk.py
|
|
31
35
|
agenticdome_sdk/guided_integration.py
|
|
32
36
|
agenticdome_sdk/hook_catalog.py
|
|
@@ -9,13 +9,13 @@ google-adk<=2.10.0,>=2.5.0
|
|
|
9
9
|
agno<=3.0.11,>=2.8.0
|
|
10
10
|
|
|
11
11
|
[all]
|
|
12
|
-
crewai<=1.15.
|
|
12
|
+
crewai<=1.15.23,>=1.15.5
|
|
13
13
|
redis>=4.5.0
|
|
14
14
|
cryptography>=42.0.0
|
|
15
15
|
pydantic-ai<=2.51.0,>=2.16.0
|
|
16
16
|
anyio>=4.0.0
|
|
17
17
|
langgraph<=1.2.12,>=1.2.9
|
|
18
|
-
langchain-core<=1.6.
|
|
18
|
+
langchain-core<=1.6.6,>=1.5.0
|
|
19
19
|
langchain-openai==1.3.5
|
|
20
20
|
autogen-agentchat==0.7.5
|
|
21
21
|
agno<=3.0.11,>=2.8.0
|
|
@@ -23,29 +23,29 @@ azure-ai-projects<=2.7.0,>=2.3.0
|
|
|
23
23
|
azure-identity==1.25.3
|
|
24
24
|
openai-agents<=0.22.3,>=0.18.3
|
|
25
25
|
mcp<=2.2.0,>=1.26.0
|
|
26
|
-
boto3<=1.43.
|
|
26
|
+
boto3<=1.43.105,>=1.43.54
|
|
27
27
|
llama-index<=0.14.25,>=0.14.23
|
|
28
28
|
google-adk<=2.10.0,>=2.5.0
|
|
29
|
-
claude-agent-sdk<=0.2.
|
|
29
|
+
claude-agent-sdk<=0.2.162,>=0.2.126
|
|
30
30
|
smolagents==1.26.0
|
|
31
31
|
|
|
32
32
|
[autogen]
|
|
33
33
|
autogen-agentchat==0.7.5
|
|
34
34
|
|
|
35
35
|
[aws-bedrock]
|
|
36
|
-
boto3<=1.43.
|
|
36
|
+
boto3<=1.43.105,>=1.43.54
|
|
37
37
|
|
|
38
38
|
[bedrock]
|
|
39
|
-
boto3<=1.43.
|
|
39
|
+
boto3<=1.43.105,>=1.43.54
|
|
40
40
|
|
|
41
41
|
[claude]
|
|
42
|
-
claude-agent-sdk<=0.2.
|
|
42
|
+
claude-agent-sdk<=0.2.162,>=0.2.126
|
|
43
43
|
|
|
44
44
|
[claude-agent-sdk]
|
|
45
|
-
claude-agent-sdk<=0.2.
|
|
45
|
+
claude-agent-sdk<=0.2.162,>=0.2.126
|
|
46
46
|
|
|
47
47
|
[crewai]
|
|
48
|
-
crewai<=1.15.
|
|
48
|
+
crewai<=1.15.23,>=1.15.5
|
|
49
49
|
|
|
50
50
|
[dev]
|
|
51
51
|
pytest>=8.0.0
|
|
@@ -67,7 +67,7 @@ google-adk<=2.10.0,>=2.5.0
|
|
|
67
67
|
|
|
68
68
|
[langgraph]
|
|
69
69
|
langgraph<=1.2.12,>=1.2.9
|
|
70
|
-
langchain-core<=1.6.
|
|
70
|
+
langchain-core<=1.6.6,>=1.5.0
|
|
71
71
|
langchain-openai==1.3.5
|
|
72
72
|
anyio>=4.0.0
|
|
73
73
|
|
|
@@ -3,6 +3,8 @@ from .identity import IDENTITY_CONTEXT_VERSION, canonicalize_identity_context, e
|
|
|
3
3
|
from .proof import create_dpop_proof, generate_rsa_proof_key, jwk_thumbprint
|
|
4
4
|
from ._mode import LIVE_MODE, LOCAL_SIM_MODE, is_local_sim_mode, resolve_mode
|
|
5
5
|
from .lifecycle import VerifiedActionContext, VerifiedActionDenied, VerifiedActionReporter, verified_action
|
|
6
|
+
from .action_path_proof import ExecutionSpy
|
|
7
|
+
from .generic_python import AgenticDomeActionDenied, guarded_tool_executor
|
|
6
8
|
|
|
7
9
|
__all__ = [
|
|
8
10
|
"AgenticDomeClient",
|
|
@@ -22,4 +24,7 @@ __all__ = [
|
|
|
22
24
|
"VerifiedActionDenied",
|
|
23
25
|
"VerifiedActionReporter",
|
|
24
26
|
"verified_action",
|
|
27
|
+
"ExecutionSpy",
|
|
28
|
+
"AgenticDomeActionDenied",
|
|
29
|
+
"guarded_tool_executor",
|
|
25
30
|
]
|