agenticdome-python-sdk 1.2.25__tar.gz → 1.2.26__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.25 → agenticdome_python_sdk-1.2.26}/PKG-INFO +64 -16
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/README.md +49 -1
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/PKG-INFO +64 -16
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/SOURCES.txt +3 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/requires.txt +14 -14
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/catalog_snapshot.json +4 -4
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/hook_catalog.py +24 -16
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/mcp_host.py +47 -7
- agenticdome_python_sdk-1.2.26/agenticdome_sdk/mcp_http_gateway.py +301 -0
- agenticdome_python_sdk-1.2.26/agenticdome_sdk/mcp_rehearsal_server.py +63 -0
- agenticdome_python_sdk-1.2.26/agenticdome_sdk/mcp_verification.py +331 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/onboarding_cli.py +637 -2
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/mcp-integration.md +48 -4
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/pyproject.toml +15 -15
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/CONTRIBUTING.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/LICENSE +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/NOTICE +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/SECURITY.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/__init__.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/_framework_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/_mode.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/claude.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/client.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/copilot_ir.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/copilot_ir_collector.cjs +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/demo.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/identity.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/proof.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/simulation.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/customer-onboarding.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/agno.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/autogen.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/aws-bedrock.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/claude-agent-sdk.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/crewai.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/custom-python.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/google-adk.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/langgraph.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/llamaindex.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/microsoft-agent-framework.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/microsoft-ai-foundry.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/openai-agents.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/pydanticai.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/frameworks/smolagents.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/performance-evidence.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/docs/runtime-deployment.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/PRODUCTION_INTEGRATION.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/README.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/crewai_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/_shared.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/agno.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/claude_agent_sdk.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/custom_python.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/mcp.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/pydanticai.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/frameworks/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/langgraph_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/local_simulation_gallery.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/examples/mcp_gateway_action_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/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.26
|
|
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
|
|
@@ -38,10 +38,10 @@ Requires-Dist: redis>=4.5.0; extra == "redis"
|
|
|
38
38
|
Provides-Extra: pop
|
|
39
39
|
Requires-Dist: cryptography>=42.0.0; extra == "pop"
|
|
40
40
|
Provides-Extra: pydanticai
|
|
41
|
-
Requires-Dist: pydantic-ai<=2.
|
|
41
|
+
Requires-Dist: pydantic-ai<=2.35.1,>=2.16.0; extra == "pydanticai"
|
|
42
42
|
Requires-Dist: anyio>=4.0.0; extra == "pydanticai"
|
|
43
43
|
Provides-Extra: pydantic
|
|
44
|
-
Requires-Dist: pydantic-ai<=2.
|
|
44
|
+
Requires-Dist: pydantic-ai<=2.35.1,>=2.16.0; extra == "pydantic"
|
|
45
45
|
Requires-Dist: anyio>=4.0.0; extra == "pydantic"
|
|
46
46
|
Provides-Extra: langgraph
|
|
47
47
|
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "langgraph"
|
|
@@ -57,48 +57,48 @@ Provides-Extra: foundry
|
|
|
57
57
|
Requires-Dist: azure-ai-projects<=2.5.0,>=2.3.0; extra == "foundry"
|
|
58
58
|
Requires-Dist: azure-identity==1.25.3; extra == "foundry"
|
|
59
59
|
Provides-Extra: agno
|
|
60
|
-
Requires-Dist: agno<=
|
|
60
|
+
Requires-Dist: agno<=3.0.1,>=2.8.0; extra == "agno"
|
|
61
61
|
Provides-Extra: openai-agents
|
|
62
62
|
Requires-Dist: openai-agents<=0.22.0,>=0.18.3; extra == "openai-agents"
|
|
63
63
|
Provides-Extra: mcp
|
|
64
64
|
Requires-Dist: mcp<=1.28.1,>=1.26.0; extra == "mcp"
|
|
65
65
|
Provides-Extra: bedrock
|
|
66
|
-
Requires-Dist: boto3<=1.43.
|
|
66
|
+
Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
68
|
+
Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "aws-bedrock"
|
|
69
69
|
Provides-Extra: llamaindex
|
|
70
70
|
Requires-Dist: llama-index<=0.14.24,>=0.14.23; extra == "llamaindex"
|
|
71
71
|
Provides-Extra: llama-index
|
|
72
72
|
Requires-Dist: llama-index<=0.14.24,>=0.14.23; extra == "llama-index"
|
|
73
73
|
Provides-Extra: google-adk
|
|
74
|
-
Requires-Dist: google-adk<=2.
|
|
74
|
+
Requires-Dist: google-adk<=2.8.0,>=2.5.0; extra == "google-adk"
|
|
75
75
|
Provides-Extra: adk
|
|
76
|
-
Requires-Dist: google-adk<=2.
|
|
76
|
+
Requires-Dist: google-adk<=2.8.0,>=2.5.0; extra == "adk"
|
|
77
77
|
Provides-Extra: claude
|
|
78
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
78
|
+
Requires-Dist: claude-agent-sdk<=0.2.145,>=0.2.126; extra == "claude"
|
|
79
79
|
Provides-Extra: claude-agent-sdk
|
|
80
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
80
|
+
Requires-Dist: claude-agent-sdk<=0.2.145,>=0.2.126; extra == "claude-agent-sdk"
|
|
81
81
|
Provides-Extra: smolagents
|
|
82
82
|
Requires-Dist: smolagents==1.26.0; extra == "smolagents"
|
|
83
83
|
Provides-Extra: all
|
|
84
84
|
Requires-Dist: crewai<=1.15.17,>=1.15.5; extra == "all"
|
|
85
85
|
Requires-Dist: redis>=4.5.0; extra == "all"
|
|
86
86
|
Requires-Dist: cryptography>=42.0.0; extra == "all"
|
|
87
|
-
Requires-Dist: pydantic-ai<=2.
|
|
87
|
+
Requires-Dist: pydantic-ai<=2.35.1,>=2.16.0; extra == "all"
|
|
88
88
|
Requires-Dist: anyio>=4.0.0; extra == "all"
|
|
89
89
|
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "all"
|
|
90
90
|
Requires-Dist: langchain-core<=1.6.0,>=1.5.0; extra == "all"
|
|
91
91
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
92
92
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
93
|
-
Requires-Dist: agno<=
|
|
93
|
+
Requires-Dist: agno<=3.0.1,>=2.8.0; extra == "all"
|
|
94
94
|
Requires-Dist: azure-ai-projects<=2.5.0,>=2.3.0; extra == "all"
|
|
95
95
|
Requires-Dist: azure-identity==1.25.3; extra == "all"
|
|
96
96
|
Requires-Dist: openai-agents<=0.22.0,>=0.18.3; extra == "all"
|
|
97
97
|
Requires-Dist: mcp<=1.28.1,>=1.26.0; extra == "all"
|
|
98
|
-
Requires-Dist: boto3<=1.43.
|
|
98
|
+
Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "all"
|
|
99
99
|
Requires-Dist: llama-index<=0.14.24,>=0.14.23; extra == "all"
|
|
100
|
-
Requires-Dist: google-adk<=2.
|
|
101
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
100
|
+
Requires-Dist: google-adk<=2.8.0,>=2.5.0; extra == "all"
|
|
101
|
+
Requires-Dist: claude-agent-sdk<=0.2.145,>=0.2.126; extra == "all"
|
|
102
102
|
Requires-Dist: smolagents==1.26.0; extra == "all"
|
|
103
103
|
Provides-Extra: dev
|
|
104
104
|
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
@@ -183,6 +183,44 @@ The private plan is required because production verification consumes its
|
|
|
183
183
|
signed, catalog-bound semantic analysis. `agenticdome scaffold` remains
|
|
184
184
|
optional and writes an unapplied patch for review.
|
|
185
185
|
|
|
186
|
+
For an MCP client, host, gateway or server workload, use the focused path:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
agenticdome mcp protect
|
|
190
|
+
# review the detected role/transport, boundaries, registry and unapplied patch
|
|
191
|
+
agenticdome mcp verify
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
`mcp protect` adds no customer source changes. `mcp verify` runs the workload's
|
|
195
|
+
tests, a real JSON-RPC stdio subprocess interception rehearsal and live
|
|
196
|
+
assigned-sidecar decisions. The customer Control Panel combines that evidence
|
|
197
|
+
with retained runtime evidence before representing production readiness.
|
|
198
|
+
|
|
199
|
+
For an OpenClaw workspace, first install and enable the published native
|
|
200
|
+
plugin, grant its explicit conversation-hook consent and restart the gateway.
|
|
201
|
+
Then use the focused, source-free proof path:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
openclaw plugins install npm:agenticdome-openclaw-security
|
|
205
|
+
openclaw plugins enable agenticdome-security
|
|
206
|
+
openclaw config set plugins.entries.agenticdome-security.hooks.allowConversationAccess true
|
|
207
|
+
openclaw gateway restart
|
|
208
|
+
agenticdome openclaw protect
|
|
209
|
+
# With AGENTICDOME_API_BASE, AGENTICDOME_TENANT_ID and the dedicated
|
|
210
|
+
# AGENTICDOME_COPILOT_API_KEY set, generate and review the signed plan:
|
|
211
|
+
agenticdome plan
|
|
212
|
+
# Also set AGENTICDOME_API_KEY for the live tenant decision proof:
|
|
213
|
+
agenticdome openclaw verify --output .agenticdome/verification.json
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
`openclaw protect` fails unless the active OpenClaw runtime reports the loaded
|
|
217
|
+
AgenticDome plugin, explicit consent and the exact certified typed hooks.
|
|
218
|
+
`agenticdome plan` returns source-free, tenant-bound Integration Copilot
|
|
219
|
+
guidance for review. `openclaw verify` adds workspace-test and assigned-tenant
|
|
220
|
+
policy evidence. The
|
|
221
|
+
customer Control Panel separately confirms tenant binding and retained
|
|
222
|
+
telemetry; neither command silently modifies customer source.
|
|
223
|
+
|
|
186
224
|
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
187
225
|
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
188
226
|
languages and candidate boundaries can be discovered locally; business
|
|
@@ -2386,7 +2424,17 @@ export AGENTICDOME_MCP_RATE_LIMIT_PER_MINUTE="0"
|
|
|
2386
2424
|
# export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:mcp:handoff"
|
|
2387
2425
|
```
|
|
2388
2426
|
|
|
2389
|
-
Notes: call `preflight_request()` or `forward_with_firewall()` in the host, gateway, proxy, or router that forwards JSON-RPC requests — env config alone does not intercept MCP traffic. Disable individual protections with the corresponding `AGENTICDOME_MCP_PROTECT_*` setting when a simple host needs passthrough behavior. AgenticDome protects only the routed local boundary and configured returned-result paths; it cannot inspect code inside a remote third-party MCP server you do not control. `forward_with_firewall()`
|
|
2427
|
+
Notes: call `preflight_request()` or `forward_with_firewall()` in the host, gateway, proxy, or router that forwards JSON-RPC requests — env config alone does not intercept MCP traffic. Disable individual protections with the corresponding `AGENTICDOME_MCP_PROTECT_*` setting when a simple host needs passthrough behavior. AgenticDome protects only the routed local boundary and configured returned-result paths; it cannot inspect code inside a remote third-party MCP server you do not control. `forward_with_firewall()` fails closed on request-policy or response-review failures unless fail-open was explicitly configured. Pass `mcp_server_id`, `mcp_server_url`, `mcp_server_vendor`, and trust metadata in `context` for per-server policy decisions. Use stable `session_id` values; set `AGENTICDOME_REQUIRE_SESSION_ID=true` when every host request should be traceable.
|
|
2428
|
+
|
|
2429
|
+
For a low-code Streamable HTTP boundary, configure the fixed upstream and real
|
|
2430
|
+
identity/purpose values generated by `agenticdome mcp protect`, then run
|
|
2431
|
+
`python -m agenticdome_sdk.mcp_http_gateway` behind authenticated TLS ingress.
|
|
2432
|
+
It accepts JSON responses and Streamable HTTP SSE on POST or GET, refuses
|
|
2433
|
+
redirects and fails closed. It blocks legacy SSE `endpoint` advertisements,
|
|
2434
|
+
whose separate message endpoint needs a separately reviewed local adapter.
|
|
2435
|
+
Enable `AGENTICDOME_MCP_TRUST_IDENTITY_HEADERS=true` only behind ingress that
|
|
2436
|
+
authenticates the caller, strips caller-supplied identity headers and sets the
|
|
2437
|
+
trusted session/user headers itself.
|
|
2390
2438
|
|
|
2391
2439
|
```python
|
|
2392
2440
|
from agenticdome_sdk.mcp_host import (
|
|
@@ -71,6 +71,44 @@ The private plan is required because production verification consumes its
|
|
|
71
71
|
signed, catalog-bound semantic analysis. `agenticdome scaffold` remains
|
|
72
72
|
optional and writes an unapplied patch for review.
|
|
73
73
|
|
|
74
|
+
For an MCP client, host, gateway or server workload, use the focused path:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
agenticdome mcp protect
|
|
78
|
+
# review the detected role/transport, boundaries, registry and unapplied patch
|
|
79
|
+
agenticdome mcp verify
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
`mcp protect` adds no customer source changes. `mcp verify` runs the workload's
|
|
83
|
+
tests, a real JSON-RPC stdio subprocess interception rehearsal and live
|
|
84
|
+
assigned-sidecar decisions. The customer Control Panel combines that evidence
|
|
85
|
+
with retained runtime evidence before representing production readiness.
|
|
86
|
+
|
|
87
|
+
For an OpenClaw workspace, first install and enable the published native
|
|
88
|
+
plugin, grant its explicit conversation-hook consent and restart the gateway.
|
|
89
|
+
Then use the focused, source-free proof path:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
openclaw plugins install npm:agenticdome-openclaw-security
|
|
93
|
+
openclaw plugins enable agenticdome-security
|
|
94
|
+
openclaw config set plugins.entries.agenticdome-security.hooks.allowConversationAccess true
|
|
95
|
+
openclaw gateway restart
|
|
96
|
+
agenticdome openclaw protect
|
|
97
|
+
# With AGENTICDOME_API_BASE, AGENTICDOME_TENANT_ID and the dedicated
|
|
98
|
+
# AGENTICDOME_COPILOT_API_KEY set, generate and review the signed plan:
|
|
99
|
+
agenticdome plan
|
|
100
|
+
# Also set AGENTICDOME_API_KEY for the live tenant decision proof:
|
|
101
|
+
agenticdome openclaw verify --output .agenticdome/verification.json
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
`openclaw protect` fails unless the active OpenClaw runtime reports the loaded
|
|
105
|
+
AgenticDome plugin, explicit consent and the exact certified typed hooks.
|
|
106
|
+
`agenticdome plan` returns source-free, tenant-bound Integration Copilot
|
|
107
|
+
guidance for review. `openclaw verify` adds workspace-test and assigned-tenant
|
|
108
|
+
policy evidence. The
|
|
109
|
+
customer Control Panel separately confirms tenant binding and retained
|
|
110
|
+
telemetry; neither command silently modifies customer source.
|
|
111
|
+
|
|
74
112
|
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
75
113
|
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
76
114
|
languages and candidate boundaries can be discovered locally; business
|
|
@@ -2274,7 +2312,17 @@ export AGENTICDOME_MCP_RATE_LIMIT_PER_MINUTE="0"
|
|
|
2274
2312
|
# export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:mcp:handoff"
|
|
2275
2313
|
```
|
|
2276
2314
|
|
|
2277
|
-
Notes: call `preflight_request()` or `forward_with_firewall()` in the host, gateway, proxy, or router that forwards JSON-RPC requests — env config alone does not intercept MCP traffic. Disable individual protections with the corresponding `AGENTICDOME_MCP_PROTECT_*` setting when a simple host needs passthrough behavior. AgenticDome protects only the routed local boundary and configured returned-result paths; it cannot inspect code inside a remote third-party MCP server you do not control. `forward_with_firewall()`
|
|
2315
|
+
Notes: call `preflight_request()` or `forward_with_firewall()` in the host, gateway, proxy, or router that forwards JSON-RPC requests — env config alone does not intercept MCP traffic. Disable individual protections with the corresponding `AGENTICDOME_MCP_PROTECT_*` setting when a simple host needs passthrough behavior. AgenticDome protects only the routed local boundary and configured returned-result paths; it cannot inspect code inside a remote third-party MCP server you do not control. `forward_with_firewall()` fails closed on request-policy or response-review failures unless fail-open was explicitly configured. Pass `mcp_server_id`, `mcp_server_url`, `mcp_server_vendor`, and trust metadata in `context` for per-server policy decisions. Use stable `session_id` values; set `AGENTICDOME_REQUIRE_SESSION_ID=true` when every host request should be traceable.
|
|
2316
|
+
|
|
2317
|
+
For a low-code Streamable HTTP boundary, configure the fixed upstream and real
|
|
2318
|
+
identity/purpose values generated by `agenticdome mcp protect`, then run
|
|
2319
|
+
`python -m agenticdome_sdk.mcp_http_gateway` behind authenticated TLS ingress.
|
|
2320
|
+
It accepts JSON responses and Streamable HTTP SSE on POST or GET, refuses
|
|
2321
|
+
redirects and fails closed. It blocks legacy SSE `endpoint` advertisements,
|
|
2322
|
+
whose separate message endpoint needs a separately reviewed local adapter.
|
|
2323
|
+
Enable `AGENTICDOME_MCP_TRUST_IDENTITY_HEADERS=true` only behind ingress that
|
|
2324
|
+
authenticates the caller, strips caller-supplied identity headers and sets the
|
|
2325
|
+
trusted session/user headers itself.
|
|
2278
2326
|
|
|
2279
2327
|
```python
|
|
2280
2328
|
from agenticdome_sdk.mcp_host import (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.26
|
|
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
|
|
@@ -38,10 +38,10 @@ Requires-Dist: redis>=4.5.0; extra == "redis"
|
|
|
38
38
|
Provides-Extra: pop
|
|
39
39
|
Requires-Dist: cryptography>=42.0.0; extra == "pop"
|
|
40
40
|
Provides-Extra: pydanticai
|
|
41
|
-
Requires-Dist: pydantic-ai<=2.
|
|
41
|
+
Requires-Dist: pydantic-ai<=2.35.1,>=2.16.0; extra == "pydanticai"
|
|
42
42
|
Requires-Dist: anyio>=4.0.0; extra == "pydanticai"
|
|
43
43
|
Provides-Extra: pydantic
|
|
44
|
-
Requires-Dist: pydantic-ai<=2.
|
|
44
|
+
Requires-Dist: pydantic-ai<=2.35.1,>=2.16.0; extra == "pydantic"
|
|
45
45
|
Requires-Dist: anyio>=4.0.0; extra == "pydantic"
|
|
46
46
|
Provides-Extra: langgraph
|
|
47
47
|
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "langgraph"
|
|
@@ -57,48 +57,48 @@ Provides-Extra: foundry
|
|
|
57
57
|
Requires-Dist: azure-ai-projects<=2.5.0,>=2.3.0; extra == "foundry"
|
|
58
58
|
Requires-Dist: azure-identity==1.25.3; extra == "foundry"
|
|
59
59
|
Provides-Extra: agno
|
|
60
|
-
Requires-Dist: agno<=
|
|
60
|
+
Requires-Dist: agno<=3.0.1,>=2.8.0; extra == "agno"
|
|
61
61
|
Provides-Extra: openai-agents
|
|
62
62
|
Requires-Dist: openai-agents<=0.22.0,>=0.18.3; extra == "openai-agents"
|
|
63
63
|
Provides-Extra: mcp
|
|
64
64
|
Requires-Dist: mcp<=1.28.1,>=1.26.0; extra == "mcp"
|
|
65
65
|
Provides-Extra: bedrock
|
|
66
|
-
Requires-Dist: boto3<=1.43.
|
|
66
|
+
Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
68
|
+
Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "aws-bedrock"
|
|
69
69
|
Provides-Extra: llamaindex
|
|
70
70
|
Requires-Dist: llama-index<=0.14.24,>=0.14.23; extra == "llamaindex"
|
|
71
71
|
Provides-Extra: llama-index
|
|
72
72
|
Requires-Dist: llama-index<=0.14.24,>=0.14.23; extra == "llama-index"
|
|
73
73
|
Provides-Extra: google-adk
|
|
74
|
-
Requires-Dist: google-adk<=2.
|
|
74
|
+
Requires-Dist: google-adk<=2.8.0,>=2.5.0; extra == "google-adk"
|
|
75
75
|
Provides-Extra: adk
|
|
76
|
-
Requires-Dist: google-adk<=2.
|
|
76
|
+
Requires-Dist: google-adk<=2.8.0,>=2.5.0; extra == "adk"
|
|
77
77
|
Provides-Extra: claude
|
|
78
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
78
|
+
Requires-Dist: claude-agent-sdk<=0.2.145,>=0.2.126; extra == "claude"
|
|
79
79
|
Provides-Extra: claude-agent-sdk
|
|
80
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
80
|
+
Requires-Dist: claude-agent-sdk<=0.2.145,>=0.2.126; extra == "claude-agent-sdk"
|
|
81
81
|
Provides-Extra: smolagents
|
|
82
82
|
Requires-Dist: smolagents==1.26.0; extra == "smolagents"
|
|
83
83
|
Provides-Extra: all
|
|
84
84
|
Requires-Dist: crewai<=1.15.17,>=1.15.5; extra == "all"
|
|
85
85
|
Requires-Dist: redis>=4.5.0; extra == "all"
|
|
86
86
|
Requires-Dist: cryptography>=42.0.0; extra == "all"
|
|
87
|
-
Requires-Dist: pydantic-ai<=2.
|
|
87
|
+
Requires-Dist: pydantic-ai<=2.35.1,>=2.16.0; extra == "all"
|
|
88
88
|
Requires-Dist: anyio>=4.0.0; extra == "all"
|
|
89
89
|
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "all"
|
|
90
90
|
Requires-Dist: langchain-core<=1.6.0,>=1.5.0; extra == "all"
|
|
91
91
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
92
92
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
93
|
-
Requires-Dist: agno<=
|
|
93
|
+
Requires-Dist: agno<=3.0.1,>=2.8.0; extra == "all"
|
|
94
94
|
Requires-Dist: azure-ai-projects<=2.5.0,>=2.3.0; extra == "all"
|
|
95
95
|
Requires-Dist: azure-identity==1.25.3; extra == "all"
|
|
96
96
|
Requires-Dist: openai-agents<=0.22.0,>=0.18.3; extra == "all"
|
|
97
97
|
Requires-Dist: mcp<=1.28.1,>=1.26.0; extra == "all"
|
|
98
|
-
Requires-Dist: boto3<=1.43.
|
|
98
|
+
Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "all"
|
|
99
99
|
Requires-Dist: llama-index<=0.14.24,>=0.14.23; extra == "all"
|
|
100
|
-
Requires-Dist: google-adk<=2.
|
|
101
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
100
|
+
Requires-Dist: google-adk<=2.8.0,>=2.5.0; extra == "all"
|
|
101
|
+
Requires-Dist: claude-agent-sdk<=0.2.145,>=0.2.126; extra == "all"
|
|
102
102
|
Requires-Dist: smolagents==1.26.0; extra == "all"
|
|
103
103
|
Provides-Extra: dev
|
|
104
104
|
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
@@ -183,6 +183,44 @@ The private plan is required because production verification consumes its
|
|
|
183
183
|
signed, catalog-bound semantic analysis. `agenticdome scaffold` remains
|
|
184
184
|
optional and writes an unapplied patch for review.
|
|
185
185
|
|
|
186
|
+
For an MCP client, host, gateway or server workload, use the focused path:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
agenticdome mcp protect
|
|
190
|
+
# review the detected role/transport, boundaries, registry and unapplied patch
|
|
191
|
+
agenticdome mcp verify
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
`mcp protect` adds no customer source changes. `mcp verify` runs the workload's
|
|
195
|
+
tests, a real JSON-RPC stdio subprocess interception rehearsal and live
|
|
196
|
+
assigned-sidecar decisions. The customer Control Panel combines that evidence
|
|
197
|
+
with retained runtime evidence before representing production readiness.
|
|
198
|
+
|
|
199
|
+
For an OpenClaw workspace, first install and enable the published native
|
|
200
|
+
plugin, grant its explicit conversation-hook consent and restart the gateway.
|
|
201
|
+
Then use the focused, source-free proof path:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
openclaw plugins install npm:agenticdome-openclaw-security
|
|
205
|
+
openclaw plugins enable agenticdome-security
|
|
206
|
+
openclaw config set plugins.entries.agenticdome-security.hooks.allowConversationAccess true
|
|
207
|
+
openclaw gateway restart
|
|
208
|
+
agenticdome openclaw protect
|
|
209
|
+
# With AGENTICDOME_API_BASE, AGENTICDOME_TENANT_ID and the dedicated
|
|
210
|
+
# AGENTICDOME_COPILOT_API_KEY set, generate and review the signed plan:
|
|
211
|
+
agenticdome plan
|
|
212
|
+
# Also set AGENTICDOME_API_KEY for the live tenant decision proof:
|
|
213
|
+
agenticdome openclaw verify --output .agenticdome/verification.json
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
`openclaw protect` fails unless the active OpenClaw runtime reports the loaded
|
|
217
|
+
AgenticDome plugin, explicit consent and the exact certified typed hooks.
|
|
218
|
+
`agenticdome plan` returns source-free, tenant-bound Integration Copilot
|
|
219
|
+
guidance for review. `openclaw verify` adds workspace-test and assigned-tenant
|
|
220
|
+
policy evidence. The
|
|
221
|
+
customer Control Panel separately confirms tenant binding and retained
|
|
222
|
+
telemetry; neither command silently modifies customer source.
|
|
223
|
+
|
|
186
224
|
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
187
225
|
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
188
226
|
languages and candidate boundaries can be discovered locally; business
|
|
@@ -2386,7 +2424,17 @@ export AGENTICDOME_MCP_RATE_LIMIT_PER_MINUTE="0"
|
|
|
2386
2424
|
# export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:mcp:handoff"
|
|
2387
2425
|
```
|
|
2388
2426
|
|
|
2389
|
-
Notes: call `preflight_request()` or `forward_with_firewall()` in the host, gateway, proxy, or router that forwards JSON-RPC requests — env config alone does not intercept MCP traffic. Disable individual protections with the corresponding `AGENTICDOME_MCP_PROTECT_*` setting when a simple host needs passthrough behavior. AgenticDome protects only the routed local boundary and configured returned-result paths; it cannot inspect code inside a remote third-party MCP server you do not control. `forward_with_firewall()`
|
|
2427
|
+
Notes: call `preflight_request()` or `forward_with_firewall()` in the host, gateway, proxy, or router that forwards JSON-RPC requests — env config alone does not intercept MCP traffic. Disable individual protections with the corresponding `AGENTICDOME_MCP_PROTECT_*` setting when a simple host needs passthrough behavior. AgenticDome protects only the routed local boundary and configured returned-result paths; it cannot inspect code inside a remote third-party MCP server you do not control. `forward_with_firewall()` fails closed on request-policy or response-review failures unless fail-open was explicitly configured. Pass `mcp_server_id`, `mcp_server_url`, `mcp_server_vendor`, and trust metadata in `context` for per-server policy decisions. Use stable `session_id` values; set `AGENTICDOME_REQUIRE_SESSION_ID=true` when every host request should be traceable.
|
|
2428
|
+
|
|
2429
|
+
For a low-code Streamable HTTP boundary, configure the fixed upstream and real
|
|
2430
|
+
identity/purpose values generated by `agenticdome mcp protect`, then run
|
|
2431
|
+
`python -m agenticdome_sdk.mcp_http_gateway` behind authenticated TLS ingress.
|
|
2432
|
+
It accepts JSON responses and Streamable HTTP SSE on POST or GET, refuses
|
|
2433
|
+
redirects and fails closed. It blocks legacy SSE `endpoint` advertisements,
|
|
2434
|
+
whose separate message endpoint needs a separately reviewed local adapter.
|
|
2435
|
+
Enable `AGENTICDOME_MCP_TRUST_IDENTITY_HEADERS=true` only behind ingress that
|
|
2436
|
+
authenticates the caller, strips caller-supplied identity headers and sets the
|
|
2437
|
+
trusted session/user headers itself.
|
|
2390
2438
|
|
|
2391
2439
|
```python
|
|
2392
2440
|
from agenticdome_sdk.mcp_host import (
|
|
@@ -31,6 +31,9 @@ agenticdome_sdk/identity.py
|
|
|
31
31
|
agenticdome_sdk/langgraph.py
|
|
32
32
|
agenticdome_sdk/llamaindex.py
|
|
33
33
|
agenticdome_sdk/mcp_host.py
|
|
34
|
+
agenticdome_sdk/mcp_http_gateway.py
|
|
35
|
+
agenticdome_sdk/mcp_rehearsal_server.py
|
|
36
|
+
agenticdome_sdk/mcp_verification.py
|
|
34
37
|
agenticdome_sdk/microsoft_agent_framework.py
|
|
35
38
|
agenticdome_sdk/microsoft_ai_foundry.py
|
|
36
39
|
agenticdome_sdk/onboarding_cli.py
|
|
@@ -2,46 +2,46 @@ requests>=2.31.0
|
|
|
2
2
|
urllib3>=2.0.0
|
|
3
3
|
|
|
4
4
|
[adk]
|
|
5
|
-
google-adk<=2.
|
|
5
|
+
google-adk<=2.8.0,>=2.5.0
|
|
6
6
|
|
|
7
7
|
[agno]
|
|
8
|
-
agno<=
|
|
8
|
+
agno<=3.0.1,>=2.8.0
|
|
9
9
|
|
|
10
10
|
[all]
|
|
11
11
|
crewai<=1.15.17,>=1.15.5
|
|
12
12
|
redis>=4.5.0
|
|
13
13
|
cryptography>=42.0.0
|
|
14
|
-
pydantic-ai<=2.
|
|
14
|
+
pydantic-ai<=2.35.1,>=2.16.0
|
|
15
15
|
anyio>=4.0.0
|
|
16
16
|
langgraph<=1.2.11,>=1.2.9
|
|
17
17
|
langchain-core<=1.6.0,>=1.5.0
|
|
18
18
|
langchain-openai==1.3.5
|
|
19
19
|
autogen-agentchat==0.7.5
|
|
20
|
-
agno<=
|
|
20
|
+
agno<=3.0.1,>=2.8.0
|
|
21
21
|
azure-ai-projects<=2.5.0,>=2.3.0
|
|
22
22
|
azure-identity==1.25.3
|
|
23
23
|
openai-agents<=0.22.0,>=0.18.3
|
|
24
24
|
mcp<=1.28.1,>=1.26.0
|
|
25
|
-
boto3<=1.43.
|
|
25
|
+
boto3<=1.43.81,>=1.43.54
|
|
26
26
|
llama-index<=0.14.24,>=0.14.23
|
|
27
|
-
google-adk<=2.
|
|
28
|
-
claude-agent-sdk<=0.2.
|
|
27
|
+
google-adk<=2.8.0,>=2.5.0
|
|
28
|
+
claude-agent-sdk<=0.2.145,>=0.2.126
|
|
29
29
|
smolagents==1.26.0
|
|
30
30
|
|
|
31
31
|
[autogen]
|
|
32
32
|
autogen-agentchat==0.7.5
|
|
33
33
|
|
|
34
34
|
[aws-bedrock]
|
|
35
|
-
boto3<=1.43.
|
|
35
|
+
boto3<=1.43.81,>=1.43.54
|
|
36
36
|
|
|
37
37
|
[bedrock]
|
|
38
|
-
boto3<=1.43.
|
|
38
|
+
boto3<=1.43.81,>=1.43.54
|
|
39
39
|
|
|
40
40
|
[claude]
|
|
41
|
-
claude-agent-sdk<=0.2.
|
|
41
|
+
claude-agent-sdk<=0.2.145,>=0.2.126
|
|
42
42
|
|
|
43
43
|
[claude-agent-sdk]
|
|
44
|
-
claude-agent-sdk<=0.2.
|
|
44
|
+
claude-agent-sdk<=0.2.145,>=0.2.126
|
|
45
45
|
|
|
46
46
|
[crewai]
|
|
47
47
|
crewai<=1.15.17,>=1.15.5
|
|
@@ -62,7 +62,7 @@ azure-ai-projects<=2.5.0,>=2.3.0
|
|
|
62
62
|
azure-identity==1.25.3
|
|
63
63
|
|
|
64
64
|
[google-adk]
|
|
65
|
-
google-adk<=2.
|
|
65
|
+
google-adk<=2.8.0,>=2.5.0
|
|
66
66
|
|
|
67
67
|
[langgraph]
|
|
68
68
|
langgraph<=1.2.11,>=1.2.9
|
|
@@ -91,11 +91,11 @@ openai-agents<=0.22.0,>=0.18.3
|
|
|
91
91
|
cryptography>=42.0.0
|
|
92
92
|
|
|
93
93
|
[pydantic]
|
|
94
|
-
pydantic-ai<=2.
|
|
94
|
+
pydantic-ai<=2.35.1,>=2.16.0
|
|
95
95
|
anyio>=4.0.0
|
|
96
96
|
|
|
97
97
|
[pydanticai]
|
|
98
|
-
pydantic-ai<=2.
|
|
98
|
+
pydantic-ai<=2.35.1,>=2.16.0
|
|
99
99
|
anyio>=4.0.0
|
|
100
100
|
|
|
101
101
|
[redis]
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "agenticdome.catalog-snapshot.v1",
|
|
3
3
|
"catalog_schema": "agenticdome.hook-catalog.v1",
|
|
4
|
-
"verified_at": "2026-08-
|
|
5
|
-
"python_sdk_version": "1.2.
|
|
4
|
+
"verified_at": "2026-08-27",
|
|
5
|
+
"python_sdk_version": "1.2.26",
|
|
6
6
|
"published_packages": {
|
|
7
7
|
"agenticdome-python-sdk": {
|
|
8
8
|
"registry": "pypi",
|
|
9
|
-
"version": "1.2.
|
|
10
|
-
"url": "https://pypi.org/project/agenticdome-python-sdk/1.2.
|
|
9
|
+
"version": "1.2.26",
|
|
10
|
+
"url": "https://pypi.org/project/agenticdome-python-sdk/1.2.26/"
|
|
11
11
|
},
|
|
12
12
|
"agenticdome-sdk": {
|
|
13
13
|
"registry": "npm",
|
{agenticdome_python_sdk-1.2.25 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/hook_catalog.py
RENAMED
|
@@ -116,7 +116,7 @@ FRAMEWORK_HOOK_CATALOG: Dict[str, Dict[str, Any]] = {
|
|
|
116
116
|
"agenticdome_sdk.integrations.pydanticai",
|
|
117
117
|
"CyberSecFirewall",
|
|
118
118
|
["install_native_hooks", "secure_tool"],
|
|
119
|
-
packages={"pydantic-ai": {"min":"2.16.0","max":"2.
|
|
119
|
+
packages={"pydantic-ai": {"min":"2.16.0","max":"2.35.1"}},
|
|
120
120
|
native_modules=[{"module": "pydantic_ai", "attrs": ["Agent", "RunContext"]}],
|
|
121
121
|
adapter_attrs=[
|
|
122
122
|
{
|
|
@@ -201,7 +201,7 @@ FRAMEWORK_HOOK_CATALOG: Dict[str, Dict[str, Any]] = {
|
|
|
201
201
|
"agenticdome_sdk.integrations.claude",
|
|
202
202
|
"AgenticDomeClaudeFirewall",
|
|
203
203
|
["install_on_options", "secure_query", "run_client_securely", "secure_sdk_tool"],
|
|
204
|
-
packages={"claude-agent-sdk": {"min":"0.2.126","max":"0.2.
|
|
204
|
+
packages={"claude-agent-sdk": {"min":"0.2.126","max":"0.2.145"}},
|
|
205
205
|
native_modules=[
|
|
206
206
|
{
|
|
207
207
|
"module": "claude_agent_sdk",
|
|
@@ -226,7 +226,7 @@ FRAMEWORK_HOOK_CATALOG: Dict[str, Dict[str, Any]] = {
|
|
|
226
226
|
"agenticdome_sdk.integrations.agno",
|
|
227
227
|
"AgenticDomeAgnoFirewall",
|
|
228
228
|
["attach_firewall", "secure_tool", "create_hook_bundle"],
|
|
229
|
-
packages={"agno": {"min":
|
|
229
|
+
packages={"agno": {"min":"2.8.0","max":"3.0.1"}},
|
|
230
230
|
native_modules=[{"module": "agno.agent", "attrs": ["Agent"]}],
|
|
231
231
|
native_smoke={"module": "agenticdome_sdk.integrations.agno", "call": "attach_firewall"},
|
|
232
232
|
docs="docs/frameworks/agno.md",
|
|
@@ -236,7 +236,7 @@ FRAMEWORK_HOOK_CATALOG: Dict[str, Dict[str, Any]] = {
|
|
|
236
236
|
"agenticdome_sdk.integrations.google_adk",
|
|
237
237
|
"AgenticDomeGoogleADKFirewall",
|
|
238
238
|
["build_callback_kwargs", "install_on_agent", "wrap_tool_handler"],
|
|
239
|
-
packages={"google-adk": {"min":
|
|
239
|
+
packages={"google-adk": {"min":"2.5.0","max":"2.8.0"}},
|
|
240
240
|
native_modules=[
|
|
241
241
|
{"module": "google.adk.agents", "attrs": ["Agent"]},
|
|
242
242
|
{"module": "google.adk.tools", "attrs": ["FunctionTool"]},
|
|
@@ -262,7 +262,7 @@ FRAMEWORK_HOOK_CATALOG: Dict[str, Dict[str, Any]] = {
|
|
|
262
262
|
"agenticdome_sdk.integrations.aws_bedrock",
|
|
263
263
|
"AgenticDomeAWSBedrockFirewall",
|
|
264
264
|
["converse_securely", "wrap_tool_handler", "wrap_action_group_lambda"],
|
|
265
|
-
packages={"boto3": {"min":"1.43.54","max":"1.43.
|
|
265
|
+
packages={"boto3": {"min":"1.43.54","max":"1.43.81"}},
|
|
266
266
|
native_modules=[{"module": "boto3", "attrs": ["client"]}],
|
|
267
267
|
native_smoke={"module": "agenticdome_sdk.integrations.aws_bedrock", "call": "wrap_tool_handler"},
|
|
268
268
|
docs="docs/frameworks/aws-bedrock.md",
|
|
@@ -277,6 +277,8 @@ FRAMEWORK_HOOK_CATALOG: Dict[str, Dict[str, Any]] = {
|
|
|
277
277
|
"authorize_mcp_method",
|
|
278
278
|
"sanitize_text",
|
|
279
279
|
"sanitize_mcp_result",
|
|
280
|
+
"review_forwarded_response",
|
|
281
|
+
"forward_with_firewall",
|
|
280
282
|
],
|
|
281
283
|
packages={"mcp": {"min": "1.26.0", "max": "1.28.1"}},
|
|
282
284
|
native_modules=[
|
|
@@ -327,23 +329,23 @@ FRAMEWORK_HOOK_CATALOG: Dict[str, Dict[str, Any]] = {
|
|
|
327
329
|
"docs": "agenticdome-openclaw-security package README",
|
|
328
330
|
},
|
|
329
331
|
"mcp-ts": {
|
|
330
|
-
"label": "MCP
|
|
332
|
+
"label": "MCP Host / Gateway Firewall (TypeScript)",
|
|
331
333
|
"language": "typescript",
|
|
332
334
|
"registry": "npm",
|
|
333
335
|
"agenticdome_package": "agenticdome-sdk",
|
|
334
336
|
"packages": {"agenticdome-sdk": {"exact": PUBLISHED_AGENTICDOME_PACKAGES["agenticdome-sdk"]["version"]}},
|
|
335
337
|
"runtime": {"node": ">=18"},
|
|
336
338
|
"adapter_module": "agenticdome-sdk",
|
|
337
|
-
"adapter_class": "
|
|
338
|
-
"attachment_methods": ["mcpToolCall", "mcpGuardrailValidate", "mcpListTools"],
|
|
339
|
+
"adapter_class": "AgenticDomeMCPGateway",
|
|
340
|
+
"attachment_methods": ["forward", "preflight", "mcpToolCall", "mcpGuardrailValidate", "mcpListTools"],
|
|
339
341
|
"native_hooks": [],
|
|
340
342
|
"protocol_methods": ["tools/call", "tools/list"],
|
|
341
|
-
"integration_scope": "
|
|
343
|
+
"integration_scope": "transport_neutral_host_gateway",
|
|
342
344
|
"external_sdk": {
|
|
343
345
|
"package": "@modelcontextprotocol/sdk",
|
|
344
346
|
"relationship": "not_a_dependency",
|
|
345
347
|
"certification": "not_applicable",
|
|
346
|
-
"note": "
|
|
348
|
+
"note": "AgenticDomeMCPGateway wraps an injected customer MCP transport without depending on it; customer transports may use @modelcontextprotocol/sdk independently.",
|
|
347
349
|
},
|
|
348
350
|
"docs": "agenticdome-sdk package README (MCP section)",
|
|
349
351
|
},
|
|
@@ -427,7 +429,13 @@ _HARNESS_VERIFICATION: Dict[str, Dict[str, Any]] = {
|
|
|
427
429
|
},
|
|
428
430
|
"mcp": {
|
|
429
431
|
"adapter_attrs": ["AgenticDomeMCPHostFirewall"],
|
|
430
|
-
"firewall_methods": ["screen_upstream_prompt", "authorize_mcp_tool_call", "authorize_mcp_method", "sanitize_text", "sanitize_mcp_result"],
|
|
432
|
+
"firewall_methods": ["screen_upstream_prompt", "authorize_mcp_tool_call", "authorize_mcp_method", "sanitize_text", "sanitize_mcp_result", "review_forwarded_response", "forward_with_firewall"],
|
|
433
|
+
"low_code_gateway": {
|
|
434
|
+
"module": "agenticdome_sdk.mcp_http_gateway",
|
|
435
|
+
"transport": "streamable_http",
|
|
436
|
+
"response_modes": ["application/json", "text/event-stream"],
|
|
437
|
+
"legacy_standalone_sse": "requires_reviewed_local_adapter",
|
|
438
|
+
},
|
|
431
439
|
},
|
|
432
440
|
"custom-python": {
|
|
433
441
|
"adapter_attrs": ["AgenticDomeClient"],
|
|
@@ -437,17 +445,17 @@ _HARNESS_VERIFICATION: Dict[str, Dict[str, Any]] = {
|
|
|
437
445
|
|
|
438
446
|
_PACKAGE_CERTIFICATION_DATES: Dict[str, Dict[str, str]] = {
|
|
439
447
|
"crewai": {"crewai":"2026-08-20"},
|
|
440
|
-
"pydanticai": {"pydantic-ai": "2026-08-
|
|
448
|
+
"pydanticai": {"pydantic-ai": "2026-08-27"},
|
|
441
449
|
"langgraph": {"langgraph": "2026-08-12", "langchain-core": "2026-08-20"},
|
|
442
450
|
"autogen": {"autogen-agentchat": "2026-07-26"},
|
|
443
451
|
"foundry": {"azure-ai-projects": "2026-08-22", "azure-identity": "2026-07-10"},
|
|
444
452
|
"openai-agents": {"openai-agents": "2026-08-22"},
|
|
445
|
-
"claude": {"claude-agent-sdk": "2026-08-
|
|
453
|
+
"claude": {"claude-agent-sdk": "2026-08-27"},
|
|
446
454
|
"smolagents": {"smolagents": "2026-07-23"},
|
|
447
|
-
"agno": {"agno": "2026-08-
|
|
448
|
-
"google-adk": {"google-adk": "2026-08-
|
|
455
|
+
"agno": {"agno": "2026-08-27"},
|
|
456
|
+
"google-adk": {"google-adk": "2026-08-27"},
|
|
449
457
|
"llamaindex": {"llama-index": "2026-08-20"},
|
|
450
|
-
"bedrock": {"boto3": "2026-08-
|
|
458
|
+
"bedrock": {"boto3": "2026-08-27"},
|
|
451
459
|
"mcp": {"mcp": "2026-07-10"},
|
|
452
460
|
}
|
|
453
461
|
|