agenticdome-python-sdk 1.2.24__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.
Files changed (89) hide show
  1. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/PKG-INFO +64 -16
  2. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/README.md +49 -1
  3. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/PKG-INFO +64 -16
  4. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/SOURCES.txt +4 -0
  5. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/requires.txt +14 -14
  6. agenticdome_python_sdk-1.2.26/agenticdome_sdk/catalog_snapshot.json +28 -0
  7. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/hook_catalog.py +51 -59
  8. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/mcp_host.py +47 -7
  9. agenticdome_python_sdk-1.2.26/agenticdome_sdk/mcp_http_gateway.py +301 -0
  10. agenticdome_python_sdk-1.2.26/agenticdome_sdk/mcp_rehearsal_server.py +63 -0
  11. agenticdome_python_sdk-1.2.26/agenticdome_sdk/mcp_verification.py +331 -0
  12. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/onboarding_cli.py +653 -7
  13. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/mcp-integration.md +48 -4
  14. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/pyproject.toml +16 -16
  15. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/CONTRIBUTING.md +0 -0
  16. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/LICENSE +0 -0
  17. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/MANIFEST.in +0 -0
  18. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/NOTICE +0 -0
  19. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/SECURITY.md +0 -0
  20. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
  21. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
  22. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
  23. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/__init__.py +0 -0
  24. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/_framework_firewall.py +0 -0
  25. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/_mode.py +0 -0
  26. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/agno.py +0 -0
  27. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/autogen.py +0 -0
  28. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/aws_bedrock.py +0 -0
  29. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/claude.py +0 -0
  30. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/client.py +0 -0
  31. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/copilot_ir.py +0 -0
  32. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/copilot_ir_collector.cjs +0 -0
  33. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/crewai.py +0 -0
  34. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/demo.py +0 -0
  35. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/google_adk.py +0 -0
  36. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/identity.py +0 -0
  37. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/langgraph.py +0 -0
  38. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/llamaindex.py +0 -0
  39. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
  40. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
  41. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/openai_agents.py +0 -0
  42. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/proof.py +0 -0
  43. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/pydantic.py +0 -0
  44. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/simulation.py +0 -0
  45. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/agenticdome_sdk/smolagents.py +0 -0
  46. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/customer-onboarding.md +0 -0
  47. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/README.md +0 -0
  48. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/agno.md +0 -0
  49. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/autogen.md +0 -0
  50. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/aws-bedrock.md +0 -0
  51. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/claude-agent-sdk.md +0 -0
  52. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/crewai.md +0 -0
  53. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/custom-python.md +0 -0
  54. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/google-adk.md +0 -0
  55. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/langgraph.md +0 -0
  56. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/llamaindex.md +0 -0
  57. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/microsoft-agent-framework.md +0 -0
  58. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/microsoft-ai-foundry.md +0 -0
  59. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/openai-agents.md +0 -0
  60. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/pydanticai.md +0 -0
  61. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/frameworks/smolagents.md +0 -0
  62. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/performance-evidence.md +0 -0
  63. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/docs/runtime-deployment.md +0 -0
  64. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/PRODUCTION_INTEGRATION.md +0 -0
  65. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/README.md +0 -0
  66. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/attack_demo.py +0 -0
  67. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/crewai_agenticdome_firewall.py +0 -0
  68. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/README.md +0 -0
  69. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/_shared.py +0 -0
  70. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/agno.py +0 -0
  71. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/autogen.py +0 -0
  72. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/aws_bedrock.py +0 -0
  73. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/claude_agent_sdk.py +0 -0
  74. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/crewai.py +0 -0
  75. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/custom_python.py +0 -0
  76. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/google_adk.py +0 -0
  77. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/langgraph.py +0 -0
  78. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/llamaindex.py +0 -0
  79. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/mcp.py +0 -0
  80. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/microsoft_agent_framework.py +0 -0
  81. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/microsoft_ai_foundry.py +0 -0
  82. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/openai_agents.py +0 -0
  83. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/pydanticai.py +0 -0
  84. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/frameworks/smolagents.py +0 -0
  85. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/langgraph_agenticdome_firewall.py +0 -0
  86. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/local_simulation_gallery.py +0 -0
  87. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/examples/mcp_gateway_action_firewall.py +0 -0
  88. {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.26}/setup.cfg +0 -0
  89. {agenticdome_python_sdk-1.2.24 → 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.24
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.33.0,>=2.16.0; extra == "pydanticai"
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.33.0,>=2.16.0; extra == "pydantic"
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<=2.9.0,>=2.8.0; extra == "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.78,>=1.43.54; extra == "bedrock"
66
+ Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "bedrock"
67
67
  Provides-Extra: aws-bedrock
68
- Requires-Dist: boto3<=1.43.78,>=1.43.54; extra == "aws-bedrock"
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.7.1,>=2.5.0; extra == "google-adk"
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.7.1,>=2.5.0; extra == "adk"
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.144,>=0.2.126; extra == "claude"
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.144,>=0.2.126; extra == "claude-agent-sdk"
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.33.0,>=2.16.0; extra == "all"
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<=2.9.0,>=2.8.0; extra == "all"
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.78,>=1.43.54; extra == "all"
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.7.1,>=2.5.0; extra == "all"
101
- Requires-Dist: claude-agent-sdk<=0.2.144,>=0.2.126; extra == "all"
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()` enforces policy blocks, but currently returns the original response after an unexpected non-policy result-sanitization error. Applications requiring fail-closed output handling must catch and block review failures explicitly. 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.
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()` enforces policy blocks, but currently returns the original response after an unexpected non-policy result-sanitization error. Applications requiring fail-closed output handling must catch and block review failures explicitly. 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.
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.24
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.33.0,>=2.16.0; extra == "pydanticai"
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.33.0,>=2.16.0; extra == "pydantic"
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<=2.9.0,>=2.8.0; extra == "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.78,>=1.43.54; extra == "bedrock"
66
+ Requires-Dist: boto3<=1.43.81,>=1.43.54; extra == "bedrock"
67
67
  Provides-Extra: aws-bedrock
68
- Requires-Dist: boto3<=1.43.78,>=1.43.54; extra == "aws-bedrock"
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.7.1,>=2.5.0; extra == "google-adk"
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.7.1,>=2.5.0; extra == "adk"
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.144,>=0.2.126; extra == "claude"
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.144,>=0.2.126; extra == "claude-agent-sdk"
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.33.0,>=2.16.0; extra == "all"
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<=2.9.0,>=2.8.0; extra == "all"
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.78,>=1.43.54; extra == "all"
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.7.1,>=2.5.0; extra == "all"
101
- Requires-Dist: claude-agent-sdk<=0.2.144,>=0.2.126; extra == "all"
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()` enforces policy blocks, but currently returns the original response after an unexpected non-policy result-sanitization error. Applications requiring fail-closed output handling must catch and block review failures explicitly. 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.
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 (
@@ -18,6 +18,7 @@ agenticdome_sdk/_mode.py
18
18
  agenticdome_sdk/agno.py
19
19
  agenticdome_sdk/autogen.py
20
20
  agenticdome_sdk/aws_bedrock.py
21
+ agenticdome_sdk/catalog_snapshot.json
21
22
  agenticdome_sdk/claude.py
22
23
  agenticdome_sdk/client.py
23
24
  agenticdome_sdk/copilot_ir.py
@@ -30,6 +31,9 @@ agenticdome_sdk/identity.py
30
31
  agenticdome_sdk/langgraph.py
31
32
  agenticdome_sdk/llamaindex.py
32
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
33
37
  agenticdome_sdk/microsoft_agent_framework.py
34
38
  agenticdome_sdk/microsoft_ai_foundry.py
35
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.7.1,>=2.5.0
5
+ google-adk<=2.8.0,>=2.5.0
6
6
 
7
7
  [agno]
8
- agno<=2.9.0,>=2.8.0
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.33.0,>=2.16.0
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<=2.9.0,>=2.8.0
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.78,>=1.43.54
25
+ boto3<=1.43.81,>=1.43.54
26
26
  llama-index<=0.14.24,>=0.14.23
27
- google-adk<=2.7.1,>=2.5.0
28
- claude-agent-sdk<=0.2.144,>=0.2.126
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.78,>=1.43.54
35
+ boto3<=1.43.81,>=1.43.54
36
36
 
37
37
  [bedrock]
38
- boto3<=1.43.78,>=1.43.54
38
+ boto3<=1.43.81,>=1.43.54
39
39
 
40
40
  [claude]
41
- claude-agent-sdk<=0.2.144,>=0.2.126
41
+ claude-agent-sdk<=0.2.145,>=0.2.126
42
42
 
43
43
  [claude-agent-sdk]
44
- claude-agent-sdk<=0.2.144,>=0.2.126
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.7.1,>=2.5.0
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.33.0,>=2.16.0
94
+ pydantic-ai<=2.35.1,>=2.16.0
95
95
  anyio>=4.0.0
96
96
 
97
97
  [pydanticai]
98
- pydantic-ai<=2.33.0,>=2.16.0
98
+ pydantic-ai<=2.35.1,>=2.16.0
99
99
  anyio>=4.0.0
100
100
 
101
101
  [redis]
@@ -0,0 +1,28 @@
1
+ {
2
+ "schema": "agenticdome.catalog-snapshot.v1",
3
+ "catalog_schema": "agenticdome.hook-catalog.v1",
4
+ "verified_at": "2026-08-27",
5
+ "python_sdk_version": "1.2.26",
6
+ "published_packages": {
7
+ "agenticdome-python-sdk": {
8
+ "registry": "pypi",
9
+ "version": "1.2.26",
10
+ "url": "https://pypi.org/project/agenticdome-python-sdk/1.2.26/"
11
+ },
12
+ "agenticdome-sdk": {
13
+ "registry": "npm",
14
+ "version": "0.6.3",
15
+ "url": "https://www.npmjs.com/package/agenticdome-sdk/v/0.6.3"
16
+ },
17
+ "agenticdome-openclaw-security": {
18
+ "registry": "npm",
19
+ "version": "1.0.2",
20
+ "url": "https://www.npmjs.com/package/agenticdome-openclaw-security/v/1.0.2"
21
+ },
22
+ "openclaw": {
23
+ "registry": "npm",
24
+ "version": "2026.7.1-2",
25
+ "url": "https://www.npmjs.com/package/openclaw/v/2026.7.1-2"
26
+ }
27
+ }
28
+ }