agenticdome-python-sdk 1.2.16__tar.gz → 1.2.17__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 (102) hide show
  1. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/PKG-INFO +51 -15
  2. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/README.md +41 -5
  3. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/PKG-INFO +51 -15
  4. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/requires.txt +9 -9
  5. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/demo.py +14 -3
  6. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/README.md +10 -2
  7. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/agno.md +10 -0
  8. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/autogen.md +10 -0
  9. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/aws-bedrock.md +10 -0
  10. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/claude-agent-sdk.md +10 -0
  11. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/crewai.md +9 -2
  12. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/custom-python.md +10 -0
  13. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/google-adk.md +10 -0
  14. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/langgraph.md +10 -0
  15. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/llamaindex.md +10 -0
  16. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/microsoft-agent-framework.md +10 -0
  17. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/microsoft-ai-foundry.md +10 -0
  18. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/openai-agents.md +10 -0
  19. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/pydanticai.md +10 -0
  20. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/smolagents.md +10 -0
  21. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/mcp-integration.md +37 -3
  22. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/README.md +21 -3
  23. agenticdome_python_sdk-1.2.17/examples/frameworks/README.md +21 -0
  24. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/pyproject.toml +10 -10
  25. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_local_simulation.py +56 -1
  26. agenticdome_python_sdk-1.2.16/examples/frameworks/README.md +0 -13
  27. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/CONTRIBUTING.md +0 -0
  28. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/LICENSE +0 -0
  29. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/MANIFEST.in +0 -0
  30. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/NOTICE +0 -0
  31. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/SECURITY.md +0 -0
  32. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/SOURCES.txt +0 -0
  33. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
  34. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
  35. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
  36. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/__init__.py +0 -0
  37. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/_framework_firewall.py +0 -0
  38. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/_mode.py +0 -0
  39. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/agno.py +0 -0
  40. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/autogen.py +0 -0
  41. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/aws_bedrock.py +0 -0
  42. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/claude.py +0 -0
  43. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/client.py +0 -0
  44. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/crewai.py +0 -0
  45. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/google_adk.py +0 -0
  46. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/identity.py +0 -0
  47. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/langgraph.py +0 -0
  48. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/llamaindex.py +0 -0
  49. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/mcp_host.py +0 -0
  50. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
  51. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
  52. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/openai_agents.py +0 -0
  53. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/proof.py +0 -0
  54. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/pydantic.py +0 -0
  55. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/simulation.py +0 -0
  56. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/smolagents.py +0 -0
  57. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/performance-evidence.md +0 -0
  58. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/runtime-deployment.md +0 -0
  59. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/PRODUCTION_INTEGRATION.md +0 -0
  60. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/attack_demo.py +0 -0
  61. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/crewai_agenticdome_firewall.py +0 -0
  62. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/_shared.py +0 -0
  63. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/agno.py +0 -0
  64. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/autogen.py +0 -0
  65. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/aws_bedrock.py +0 -0
  66. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/claude_agent_sdk.py +0 -0
  67. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/crewai.py +0 -0
  68. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/custom_python.py +0 -0
  69. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/google_adk.py +0 -0
  70. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/langgraph.py +0 -0
  71. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/llamaindex.py +0 -0
  72. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/mcp.py +0 -0
  73. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/microsoft_agent_framework.py +0 -0
  74. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/microsoft_ai_foundry.py +0 -0
  75. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/openai_agents.py +0 -0
  76. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/pydanticai.py +0 -0
  77. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/smolagents.py +0 -0
  78. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/langgraph_agenticdome_firewall.py +0 -0
  79. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/local_simulation_gallery.py +0 -0
  80. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/mcp_gateway_action_firewall.py +0 -0
  81. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/setup.cfg +0 -0
  82. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/setup.py +0 -0
  83. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_agno_integration.py +0 -0
  84. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_attack_demo.py +0 -0
  85. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_autogen_integration.py +0 -0
  86. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_aws_bedrock_integration.py +0 -0
  87. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_claude_integration.py +0 -0
  88. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_client.py +0 -0
  89. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_crewai_integration.py +0 -0
  90. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_execution_broker.py +0 -0
  91. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_framework_guides.py +0 -0
  92. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_google_adk_integration.py +0 -0
  93. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_identity_context.py +0 -0
  94. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_langgraph_integration.py +0 -0
  95. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_llamaindex_integration.py +0 -0
  96. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_mcp_host_integration.py +0 -0
  97. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_mcp_launch_example.py +0 -0
  98. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_microsoft_agent_framework_integration.py +0 -0
  99. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_microsoft_ai_foundry_integration.py +0 -0
  100. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_openai_agents_integration.py +0 -0
  101. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_pydanticai_integration.py +0 -0
  102. {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_smolagents_integration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.2.16
3
+ Version: 1.2.17
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.28.0,>=2.16.0; extra == "pydanticai"
41
+ Requires-Dist: pydantic-ai<=2.29.0,>=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.28.0,>=2.16.0; extra == "pydantic"
44
+ Requires-Dist: pydantic-ai<=2.29.0,>=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"
@@ -63,9 +63,9 @@ Requires-Dist: openai-agents<=0.20.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.69,>=1.43.54; extra == "bedrock"
66
+ Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "bedrock"
67
67
  Provides-Extra: aws-bedrock
68
- Requires-Dist: boto3<=1.43.69,>=1.43.54; extra == "aws-bedrock"
68
+ Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "aws-bedrock"
69
69
  Provides-Extra: llamaindex
70
70
  Requires-Dist: llama-index==0.14.23; extra == "llamaindex"
71
71
  Provides-Extra: llama-index
@@ -75,16 +75,16 @@ Requires-Dist: google-adk<=2.6.3,>=2.5.0; extra == "google-adk"
75
75
  Provides-Extra: adk
76
76
  Requires-Dist: google-adk<=2.6.3,>=2.5.0; extra == "adk"
77
77
  Provides-Extra: claude
78
- Requires-Dist: claude-agent-sdk<=0.2.136,>=0.2.126; extra == "claude"
78
+ Requires-Dist: claude-agent-sdk<=0.2.137,>=0.2.126; extra == "claude"
79
79
  Provides-Extra: claude-agent-sdk
80
- Requires-Dist: claude-agent-sdk<=0.2.136,>=0.2.126; extra == "claude-agent-sdk"
80
+ Requires-Dist: claude-agent-sdk<=0.2.137,>=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.15,>=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.28.0,>=2.16.0; extra == "all"
87
+ Requires-Dist: pydantic-ai<=2.29.0,>=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.5.4,>=1.5.0; extra == "all"
@@ -95,10 +95,10 @@ Requires-Dist: azure-ai-projects<=2.4.0,>=2.3.0; extra == "all"
95
95
  Requires-Dist: azure-identity==1.25.3; extra == "all"
96
96
  Requires-Dist: openai-agents<=0.20.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.69,>=1.43.54; extra == "all"
98
+ Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "all"
99
99
  Requires-Dist: llama-index==0.14.23; extra == "all"
100
100
  Requires-Dist: google-adk<=2.6.3,>=2.5.0; extra == "all"
101
- Requires-Dist: claude-agent-sdk<=0.2.136,>=0.2.126; extra == "all"
101
+ Requires-Dist: claude-agent-sdk<=0.2.137,>=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"
@@ -147,7 +147,14 @@ No account, API key, tenant, network connection, or third-party framework packag
147
147
  agenticdome-demo --framework langgraph --scenario both
148
148
  ```
149
149
 
150
- Look for `ALLOWED — TOOL WOULD EXECUTE` followed by `BLOCKED — TOOL WOULD NOT EXECUTE`. These are simulations: the example does not execute either tool.
150
+ Look for `ALLOWED — TOOL WOULD EXECUTE` followed by `BLOCKED — TOOL WOULD NOT EXECUTE`.
151
+
152
+ > **Offline demonstration—not runtime evidence.** This command evaluates two
153
+ > fixed onboarding scenarios with a deterministic, bundled public baseline. It
154
+ > does not contact AgenticDome, load tenant policy, execute either tool, or
155
+ > instantiate a LangGraph graph. `--framework langgraph` labels the example
156
+ > payload and points you to the matching integration; it is not a LangGraph
157
+ > integration test.
151
158
 
152
159
  ### 4. Select your framework
153
160
 
@@ -170,7 +177,13 @@ export AGENTICDOME_TENANT_ID="your_tenant_id"
170
177
  agenticdome-demo --framework langgraph --scenario both --live
171
178
  ```
172
179
 
173
- Offline simulation demonstrates the SDK decision flow using a bundled public baseline. Only live mode applies the customer's policy, topology, telemetry, signed decisions and runtime enforcement.
180
+ With `--live`, the same fixed scenarios are sent to the actual assigned
181
+ AgenticDome runtime sidecar, so their verdicts come from the customer's tenant
182
+ policy and engine. The live demo still does not instantiate LangGraph or prove
183
+ that an application has attached the framework adapter at every execution
184
+ boundary. Use the framework guide to attach the adapter, test the real
185
+ application path, and use AgenticDome Runtime Assurance for production
186
+ evidence.
174
187
 
175
188
  ```python
176
189
  # The 30-second version: block a prompt-injected refund before it executes.
@@ -205,6 +218,21 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
205
218
 
206
219
  An agent can be hijacked while holding valid tokens, approved tools, and fully authorized paths. Legacy security sees a compliant request; the business sees a breach. AgenticDome adds an intent-aware enforcement layer at the exact boundaries where agents act:
207
220
 
221
+ ### Identity is necessary, but it is not the action decision
222
+
223
+ Give every agent and workload a distinct principal and keep your identity
224
+ provider authoritative for authentication, scopes, conditional access,
225
+ credential lifecycle, and downstream entitlements. Then pass the identity the
226
+ application has actually authenticated into AgenticDome alongside the agent,
227
+ purpose, tool, final arguments, session, and delegation context. A valid token
228
+ proves access authority; it does not prove that a prompt-influenced action is
229
+ appropriate. AgenticDome complements IAM by evaluating that action at the
230
+ application-controlled execution boundary. It does not issue enterprise
231
+ identities or make a stolen credential safe.
232
+
233
+ For the architectural rationale, see
234
+ [An agent principal proves who—not why](https://www.agenticdome.io/research/agent-principal-identity).
235
+
208
236
  | Control | What it stops | Where it runs |
209
237
  | :--- | :--- | :--- |
210
238
  | **Prompt ingress guardrails** | Prompt injection, jailbreaks, system-prompt extraction, instruction override, policy bypass | Before agent/LLM execution |
@@ -300,15 +328,23 @@ Start with a network-free simulation, then connect the same SDK to your assigned
300
328
 
301
329
  ```bash
302
330
  pip install agenticdome-python-sdk
303
- # Show one ALLOWED and one BLOCKED action for LangGraph.
331
+ # Label the fixed demonstration as LangGraph and show one ALLOWED and one BLOCKED path.
304
332
  agenticdome-demo --framework langgraph --scenario both
305
333
 
306
- # Or prove the same offline contract across all 15 integrations.
334
+ # Or repeat the fixed demonstration under every supported framework label.
307
335
  agenticdome-demo --framework all --scenario both
308
336
  agenticdome-demo --list-frameworks
309
337
  ```
310
338
 
311
- This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It evaluates a small bundled demonstration policy through the real public client contract, but it does not load tenant policy, issue signed decision tokens or execution receipts, write cloud evidence, or provide runtime assurance. To exercise any wrapper inside your own process without credentials, set `AGENTICDOME_MODE=local_sim`. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
339
+ This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
340
+ evaluates two fixed inputs with a small deterministic bundled baseline through
341
+ the public core-client response shape. The `--framework` option changes the
342
+ payload label and integration guidance; it does not import, instantiate, or run
343
+ the selected framework. The simulation does not load tenant policy, issue
344
+ signed decision tokens or execution receipts, write cloud evidence, or provide
345
+ runtime assurance. To exercise a real adapter inside your own process without
346
+ credentials, set `AGENTICDOME_MODE=local_sim` in that application or framework
347
+ example. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
312
348
 
313
349
  Browse the public [`examples/`](examples/README.md) gallery for a runnable allowed/blocked example for CrewAI, PydanticAI, LangGraph, Microsoft Agent Framework, AutoGen, AI Foundry, OpenAI Agents, Claude, smolagents, Agno, Google ADK, LlamaIndex, Bedrock, MCP, and custom Python. Local blocked/redacted results emit safe terminal logs containing verdict metadata only—not raw prompts, arguments, keys, or secrets.
314
350
 
@@ -35,7 +35,14 @@ No account, API key, tenant, network connection, or third-party framework packag
35
35
  agenticdome-demo --framework langgraph --scenario both
36
36
  ```
37
37
 
38
- Look for `ALLOWED — TOOL WOULD EXECUTE` followed by `BLOCKED — TOOL WOULD NOT EXECUTE`. These are simulations: the example does not execute either tool.
38
+ Look for `ALLOWED — TOOL WOULD EXECUTE` followed by `BLOCKED — TOOL WOULD NOT EXECUTE`.
39
+
40
+ > **Offline demonstration—not runtime evidence.** This command evaluates two
41
+ > fixed onboarding scenarios with a deterministic, bundled public baseline. It
42
+ > does not contact AgenticDome, load tenant policy, execute either tool, or
43
+ > instantiate a LangGraph graph. `--framework langgraph` labels the example
44
+ > payload and points you to the matching integration; it is not a LangGraph
45
+ > integration test.
39
46
 
40
47
  ### 4. Select your framework
41
48
 
@@ -58,7 +65,13 @@ export AGENTICDOME_TENANT_ID="your_tenant_id"
58
65
  agenticdome-demo --framework langgraph --scenario both --live
59
66
  ```
60
67
 
61
- Offline simulation demonstrates the SDK decision flow using a bundled public baseline. Only live mode applies the customer's policy, topology, telemetry, signed decisions and runtime enforcement.
68
+ With `--live`, the same fixed scenarios are sent to the actual assigned
69
+ AgenticDome runtime sidecar, so their verdicts come from the customer's tenant
70
+ policy and engine. The live demo still does not instantiate LangGraph or prove
71
+ that an application has attached the framework adapter at every execution
72
+ boundary. Use the framework guide to attach the adapter, test the real
73
+ application path, and use AgenticDome Runtime Assurance for production
74
+ evidence.
62
75
 
63
76
  ```python
64
77
  # The 30-second version: block a prompt-injected refund before it executes.
@@ -93,6 +106,21 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
93
106
 
94
107
  An agent can be hijacked while holding valid tokens, approved tools, and fully authorized paths. Legacy security sees a compliant request; the business sees a breach. AgenticDome adds an intent-aware enforcement layer at the exact boundaries where agents act:
95
108
 
109
+ ### Identity is necessary, but it is not the action decision
110
+
111
+ Give every agent and workload a distinct principal and keep your identity
112
+ provider authoritative for authentication, scopes, conditional access,
113
+ credential lifecycle, and downstream entitlements. Then pass the identity the
114
+ application has actually authenticated into AgenticDome alongside the agent,
115
+ purpose, tool, final arguments, session, and delegation context. A valid token
116
+ proves access authority; it does not prove that a prompt-influenced action is
117
+ appropriate. AgenticDome complements IAM by evaluating that action at the
118
+ application-controlled execution boundary. It does not issue enterprise
119
+ identities or make a stolen credential safe.
120
+
121
+ For the architectural rationale, see
122
+ [An agent principal proves who—not why](https://www.agenticdome.io/research/agent-principal-identity).
123
+
96
124
  | Control | What it stops | Where it runs |
97
125
  | :--- | :--- | :--- |
98
126
  | **Prompt ingress guardrails** | Prompt injection, jailbreaks, system-prompt extraction, instruction override, policy bypass | Before agent/LLM execution |
@@ -188,15 +216,23 @@ Start with a network-free simulation, then connect the same SDK to your assigned
188
216
 
189
217
  ```bash
190
218
  pip install agenticdome-python-sdk
191
- # Show one ALLOWED and one BLOCKED action for LangGraph.
219
+ # Label the fixed demonstration as LangGraph and show one ALLOWED and one BLOCKED path.
192
220
  agenticdome-demo --framework langgraph --scenario both
193
221
 
194
- # Or prove the same offline contract across all 15 integrations.
222
+ # Or repeat the fixed demonstration under every supported framework label.
195
223
  agenticdome-demo --framework all --scenario both
196
224
  agenticdome-demo --list-frameworks
197
225
  ```
198
226
 
199
- This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It evaluates a small bundled demonstration policy through the real public client contract, but it does not load tenant policy, issue signed decision tokens or execution receipts, write cloud evidence, or provide runtime assurance. To exercise any wrapper inside your own process without credentials, set `AGENTICDOME_MODE=local_sim`. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
227
+ This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
228
+ evaluates two fixed inputs with a small deterministic bundled baseline through
229
+ the public core-client response shape. The `--framework` option changes the
230
+ payload label and integration guidance; it does not import, instantiate, or run
231
+ the selected framework. The simulation does not load tenant policy, issue
232
+ signed decision tokens or execution receipts, write cloud evidence, or provide
233
+ runtime assurance. To exercise a real adapter inside your own process without
234
+ credentials, set `AGENTICDOME_MODE=local_sim` in that application or framework
235
+ example. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
200
236
 
201
237
  Browse the public [`examples/`](examples/README.md) gallery for a runnable allowed/blocked example for CrewAI, PydanticAI, LangGraph, Microsoft Agent Framework, AutoGen, AI Foundry, OpenAI Agents, Claude, smolagents, Agno, Google ADK, LlamaIndex, Bedrock, MCP, and custom Python. Local blocked/redacted results emit safe terminal logs containing verdict metadata only—not raw prompts, arguments, keys, or secrets.
202
238
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.2.16
3
+ Version: 1.2.17
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.28.0,>=2.16.0; extra == "pydanticai"
41
+ Requires-Dist: pydantic-ai<=2.29.0,>=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.28.0,>=2.16.0; extra == "pydantic"
44
+ Requires-Dist: pydantic-ai<=2.29.0,>=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"
@@ -63,9 +63,9 @@ Requires-Dist: openai-agents<=0.20.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.69,>=1.43.54; extra == "bedrock"
66
+ Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "bedrock"
67
67
  Provides-Extra: aws-bedrock
68
- Requires-Dist: boto3<=1.43.69,>=1.43.54; extra == "aws-bedrock"
68
+ Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "aws-bedrock"
69
69
  Provides-Extra: llamaindex
70
70
  Requires-Dist: llama-index==0.14.23; extra == "llamaindex"
71
71
  Provides-Extra: llama-index
@@ -75,16 +75,16 @@ Requires-Dist: google-adk<=2.6.3,>=2.5.0; extra == "google-adk"
75
75
  Provides-Extra: adk
76
76
  Requires-Dist: google-adk<=2.6.3,>=2.5.0; extra == "adk"
77
77
  Provides-Extra: claude
78
- Requires-Dist: claude-agent-sdk<=0.2.136,>=0.2.126; extra == "claude"
78
+ Requires-Dist: claude-agent-sdk<=0.2.137,>=0.2.126; extra == "claude"
79
79
  Provides-Extra: claude-agent-sdk
80
- Requires-Dist: claude-agent-sdk<=0.2.136,>=0.2.126; extra == "claude-agent-sdk"
80
+ Requires-Dist: claude-agent-sdk<=0.2.137,>=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.15,>=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.28.0,>=2.16.0; extra == "all"
87
+ Requires-Dist: pydantic-ai<=2.29.0,>=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.5.4,>=1.5.0; extra == "all"
@@ -95,10 +95,10 @@ Requires-Dist: azure-ai-projects<=2.4.0,>=2.3.0; extra == "all"
95
95
  Requires-Dist: azure-identity==1.25.3; extra == "all"
96
96
  Requires-Dist: openai-agents<=0.20.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.69,>=1.43.54; extra == "all"
98
+ Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "all"
99
99
  Requires-Dist: llama-index==0.14.23; extra == "all"
100
100
  Requires-Dist: google-adk<=2.6.3,>=2.5.0; extra == "all"
101
- Requires-Dist: claude-agent-sdk<=0.2.136,>=0.2.126; extra == "all"
101
+ Requires-Dist: claude-agent-sdk<=0.2.137,>=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"
@@ -147,7 +147,14 @@ No account, API key, tenant, network connection, or third-party framework packag
147
147
  agenticdome-demo --framework langgraph --scenario both
148
148
  ```
149
149
 
150
- Look for `ALLOWED — TOOL WOULD EXECUTE` followed by `BLOCKED — TOOL WOULD NOT EXECUTE`. These are simulations: the example does not execute either tool.
150
+ Look for `ALLOWED — TOOL WOULD EXECUTE` followed by `BLOCKED — TOOL WOULD NOT EXECUTE`.
151
+
152
+ > **Offline demonstration—not runtime evidence.** This command evaluates two
153
+ > fixed onboarding scenarios with a deterministic, bundled public baseline. It
154
+ > does not contact AgenticDome, load tenant policy, execute either tool, or
155
+ > instantiate a LangGraph graph. `--framework langgraph` labels the example
156
+ > payload and points you to the matching integration; it is not a LangGraph
157
+ > integration test.
151
158
 
152
159
  ### 4. Select your framework
153
160
 
@@ -170,7 +177,13 @@ export AGENTICDOME_TENANT_ID="your_tenant_id"
170
177
  agenticdome-demo --framework langgraph --scenario both --live
171
178
  ```
172
179
 
173
- Offline simulation demonstrates the SDK decision flow using a bundled public baseline. Only live mode applies the customer's policy, topology, telemetry, signed decisions and runtime enforcement.
180
+ With `--live`, the same fixed scenarios are sent to the actual assigned
181
+ AgenticDome runtime sidecar, so their verdicts come from the customer's tenant
182
+ policy and engine. The live demo still does not instantiate LangGraph or prove
183
+ that an application has attached the framework adapter at every execution
184
+ boundary. Use the framework guide to attach the adapter, test the real
185
+ application path, and use AgenticDome Runtime Assurance for production
186
+ evidence.
174
187
 
175
188
  ```python
176
189
  # The 30-second version: block a prompt-injected refund before it executes.
@@ -205,6 +218,21 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
205
218
 
206
219
  An agent can be hijacked while holding valid tokens, approved tools, and fully authorized paths. Legacy security sees a compliant request; the business sees a breach. AgenticDome adds an intent-aware enforcement layer at the exact boundaries where agents act:
207
220
 
221
+ ### Identity is necessary, but it is not the action decision
222
+
223
+ Give every agent and workload a distinct principal and keep your identity
224
+ provider authoritative for authentication, scopes, conditional access,
225
+ credential lifecycle, and downstream entitlements. Then pass the identity the
226
+ application has actually authenticated into AgenticDome alongside the agent,
227
+ purpose, tool, final arguments, session, and delegation context. A valid token
228
+ proves access authority; it does not prove that a prompt-influenced action is
229
+ appropriate. AgenticDome complements IAM by evaluating that action at the
230
+ application-controlled execution boundary. It does not issue enterprise
231
+ identities or make a stolen credential safe.
232
+
233
+ For the architectural rationale, see
234
+ [An agent principal proves who—not why](https://www.agenticdome.io/research/agent-principal-identity).
235
+
208
236
  | Control | What it stops | Where it runs |
209
237
  | :--- | :--- | :--- |
210
238
  | **Prompt ingress guardrails** | Prompt injection, jailbreaks, system-prompt extraction, instruction override, policy bypass | Before agent/LLM execution |
@@ -300,15 +328,23 @@ Start with a network-free simulation, then connect the same SDK to your assigned
300
328
 
301
329
  ```bash
302
330
  pip install agenticdome-python-sdk
303
- # Show one ALLOWED and one BLOCKED action for LangGraph.
331
+ # Label the fixed demonstration as LangGraph and show one ALLOWED and one BLOCKED path.
304
332
  agenticdome-demo --framework langgraph --scenario both
305
333
 
306
- # Or prove the same offline contract across all 15 integrations.
334
+ # Or repeat the fixed demonstration under every supported framework label.
307
335
  agenticdome-demo --framework all --scenario both
308
336
  agenticdome-demo --list-frameworks
309
337
  ```
310
338
 
311
- This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It evaluates a small bundled demonstration policy through the real public client contract, but it does not load tenant policy, issue signed decision tokens or execution receipts, write cloud evidence, or provide runtime assurance. To exercise any wrapper inside your own process without credentials, set `AGENTICDOME_MODE=local_sim`. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
339
+ This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
340
+ evaluates two fixed inputs with a small deterministic bundled baseline through
341
+ the public core-client response shape. The `--framework` option changes the
342
+ payload label and integration guidance; it does not import, instantiate, or run
343
+ the selected framework. The simulation does not load tenant policy, issue
344
+ signed decision tokens or execution receipts, write cloud evidence, or provide
345
+ runtime assurance. To exercise a real adapter inside your own process without
346
+ credentials, set `AGENTICDOME_MODE=local_sim` in that application or framework
347
+ example. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
312
348
 
313
349
  Browse the public [`examples/`](examples/README.md) gallery for a runnable allowed/blocked example for CrewAI, PydanticAI, LangGraph, Microsoft Agent Framework, AutoGen, AI Foundry, OpenAI Agents, Claude, smolagents, Agno, Google ADK, LlamaIndex, Bedrock, MCP, and custom Python. Local blocked/redacted results emit safe terminal logs containing verdict metadata only—not raw prompts, arguments, keys, or secrets.
314
350
 
@@ -11,7 +11,7 @@ agno<=2.8.7,>=2.8.0
11
11
  crewai<=1.15.15,>=1.15.5
12
12
  redis>=4.5.0
13
13
  cryptography>=42.0.0
14
- pydantic-ai<=2.28.0,>=2.16.0
14
+ pydantic-ai<=2.29.0,>=2.16.0
15
15
  anyio>=4.0.0
16
16
  langgraph<=1.2.11,>=1.2.9
17
17
  langchain-core<=1.5.4,>=1.5.0
@@ -22,26 +22,26 @@ azure-ai-projects<=2.4.0,>=2.3.0
22
22
  azure-identity==1.25.3
23
23
  openai-agents<=0.20.0,>=0.18.3
24
24
  mcp<=1.28.1,>=1.26.0
25
- boto3<=1.43.69,>=1.43.54
25
+ boto3<=1.43.70,>=1.43.54
26
26
  llama-index==0.14.23
27
27
  google-adk<=2.6.3,>=2.5.0
28
- claude-agent-sdk<=0.2.136,>=0.2.126
28
+ claude-agent-sdk<=0.2.137,>=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.69,>=1.43.54
35
+ boto3<=1.43.70,>=1.43.54
36
36
 
37
37
  [bedrock]
38
- boto3<=1.43.69,>=1.43.54
38
+ boto3<=1.43.70,>=1.43.54
39
39
 
40
40
  [claude]
41
- claude-agent-sdk<=0.2.136,>=0.2.126
41
+ claude-agent-sdk<=0.2.137,>=0.2.126
42
42
 
43
43
  [claude-agent-sdk]
44
- claude-agent-sdk<=0.2.136,>=0.2.126
44
+ claude-agent-sdk<=0.2.137,>=0.2.126
45
45
 
46
46
  [crewai]
47
47
  crewai<=1.15.15,>=1.15.5
@@ -91,11 +91,11 @@ openai-agents<=0.20.0,>=0.18.3
91
91
  cryptography>=42.0.0
92
92
 
93
93
  [pydantic]
94
- pydantic-ai<=2.28.0,>=2.16.0
94
+ pydantic-ai<=2.29.0,>=2.16.0
95
95
  anyio>=4.0.0
96
96
 
97
97
  [pydanticai]
98
- pydantic-ai<=2.28.0,>=2.16.0
98
+ pydantic-ai<=2.29.0,>=2.16.0
99
99
  anyio>=4.0.0
100
100
 
101
101
  [redis]
@@ -81,6 +81,16 @@ def _run_demo(framework_key: str, scenario_key: str, *, live: bool) -> Dict[str,
81
81
  mode = "LIVE SIDECAR" if live else "LOCAL SIMULATION — NOT CLOUD ENFORCEMENT"
82
82
  print(f"AgenticDome demo: {framework['label']}")
83
83
  print(f"Mode: {mode}")
84
+ if live:
85
+ print(
86
+ "Scope: fixed onboarding input sent to the assigned runtime sidecar; "
87
+ f"this does not instantiate {framework['label']}."
88
+ )
89
+ else:
90
+ print(
91
+ "Scope: fixed onboarding input evaluated by the bundled deterministic baseline; "
92
+ f"this does not instantiate {framework['label']} or contact AgenticDome."
93
+ )
84
94
  print(f"Scenario: {scenario['title']}")
85
95
  print("Without AgenticDome: TOOL WOULD EXECUTE (no policy decision)")
86
96
 
@@ -102,7 +112,7 @@ def _run_demo(framework_key: str, scenario_key: str, *, live: bool) -> Dict[str,
102
112
  outcome = "TOOL WOULD EXECUTE" if verdict in {"ALLOWED", "REDACTED"} else "TOOL WOULD NOT EXECUTE"
103
113
  print(f"With AgenticDome: {verdict} — {outcome}")
104
114
  print(json.dumps(decision, indent=2, sort_keys=True))
105
- print("Production integration import:")
115
+ print("Next step — production adapter import (not executed by this demo):")
106
116
  print(framework["import"])
107
117
  return decision
108
118
 
@@ -113,7 +123,7 @@ def main(argv: Optional[List[str]] = None) -> int:
113
123
  "--framework",
114
124
  choices=[*sorted(FRAMEWORKS), "all"],
115
125
  default="crewai",
116
- help="Framework to demonstrate, or 'all' for complete parity coverage.",
126
+ help="Framework label for the fixed demo payload and integration guidance; this does not run the framework.",
117
127
  )
118
128
  parser.add_argument(
119
129
  "--scenario",
@@ -148,7 +158,8 @@ def main(argv: Optional[List[str]] = None) -> int:
148
158
 
149
159
  if total > 1:
150
160
  summary = ", ".join(f"{key}={value}" for key, value in sorted(verdict_totals.items()))
151
- print(f"\nCompleted {total} offline framework/scenario proofs: {summary}")
161
+ evidence_scope = "live sidecar decision checks" if args.live else "offline SDK-flow demonstrations"
162
+ print(f"\nCompleted {total} {evidence_scope}: {summary}")
152
163
  return 0
153
164
 
154
165
 
@@ -26,7 +26,10 @@ prove both an allowed and blocked path.
26
26
  ## Shared five-step path
27
27
 
28
28
  1. Install the matching package extra.
29
- 2. Run `AGENTICDOME_MODE=local_sim` with one allowed and one blocked scenario.
29
+ 2. Run `AGENTICDOME_MODE=local_sim` with one allowed and one blocked fixed
30
+ scenario to understand the SDK decision flow. This deterministic offline
31
+ demo does not import or execute the selected framework and is not runtime
32
+ assurance evidence.
30
33
  3. Obtain the assigned runtime sidecar URL, Runtime/SDK key and tenant ID.
31
34
  4. Attach the adapter in the application construction path and remove raw
32
35
  execution routes that bypass it.
@@ -41,7 +44,12 @@ to install Redis; Redis is optional only for Python delegation state that must
41
44
  cross application processes, workers, or pods. See
42
45
  [Runtime location and Redis responsibilities](../runtime-deployment.md).
43
46
 
44
- The offline simulator proves SDK control flow, not tenant enforcement. The
47
+ The offline simulator proves core SDK control flow, not framework attachment or
48
+ tenant enforcement. The `--framework` option labels the fixed demo payload and
49
+ selects the relevant guidance; it does not instantiate that framework. Adding
50
+ `--live` sends those same inputs to the assigned sidecar and proves the real
51
+ engine decision path, but application-level framework attachment must still be
52
+ tested at the actual prompt, tool, delegation, and output boundaries. The
45
53
  public SDK does not expose AgenticDome policy algorithms, private threat
46
54
  signatures, decision-token formats or control-plane internals.
47
55
 
@@ -12,6 +12,11 @@ export AGENTICDOME_MODE=local_sim
12
12
  agenticdome-demo --framework agno --scenario both
13
13
  ```
14
14
 
15
+ **Demo scope:** this command evaluates two fixed inputs with a deterministic,
16
+ bundled public baseline. It does not contact AgenticDome, load tenant policy,
17
+ execute tools, or instantiate Agno. The framework option is a label and guide
18
+ selector, not an Agno integration test.
19
+
15
20
  ## Attach in production
16
21
 
17
22
  Configure the assigned runtime, and make sure simulation is not inherited by
@@ -24,6 +29,11 @@ export AGENTICDOME_API_KEY="your-runtime-sdk-key"
24
29
  export AGENTICDOME_TENANT_ID="your-tenant-id"
25
30
  ```
26
31
 
32
+ Run `agenticdome-demo --framework agno --scenario both --live` to obtain real
33
+ tenant-engine decisions for those fixed inputs. That checks the assigned
34
+ sidecar, not Agno attachment; the code below attaches the adapter to the real
35
+ application boundary.
36
+
27
37
  For managed service, the API base is assigned in the selected supported
28
38
  geographic region, subject to availability. A contracted Sovereign runtime is
29
39
  inside the customer-controlled environment. Normal SDK calls do not require
@@ -12,6 +12,11 @@ export AGENTICDOME_MODE=local_sim
12
12
  agenticdome-demo --framework autogen --scenario both
13
13
  ```
14
14
 
15
+ **Demo scope:** this command evaluates two fixed inputs with a deterministic,
16
+ bundled public baseline. It does not contact AgenticDome, load tenant policy,
17
+ execute tools, or instantiate AutoGen. The framework option is a label and
18
+ guide selector, not an AutoGen integration test.
19
+
15
20
  ## Attach in production
16
21
 
17
22
  Configure the assigned runtime first:
@@ -23,6 +28,11 @@ export AGENTICDOME_API_KEY="your-runtime-sdk-key"
23
28
  export AGENTICDOME_TENANT_ID="your-tenant-id"
24
29
  ```
25
30
 
31
+ Run `agenticdome-demo --framework autogen --scenario both --live` to obtain
32
+ real tenant-engine decisions for those fixed inputs. That checks the assigned
33
+ sidecar, not AutoGen attachment; the code below attaches the adapter to the
34
+ real application boundary.
35
+
26
36
  For managed service, the API base is assigned in the selected supported
27
37
  geographic region, subject to availability. A contracted Sovereign runtime is
28
38
  inside the customer-controlled environment. Normal SDK calls do not require
@@ -12,6 +12,11 @@ export AGENTICDOME_MODE=local_sim
12
12
  agenticdome-demo --framework bedrock --scenario both
13
13
  ```
14
14
 
15
+ **Demo scope:** this command evaluates two fixed inputs with a deterministic,
16
+ bundled public baseline. It does not contact AgenticDome, load tenant policy,
17
+ execute tools, or call AWS Bedrock. The framework option is a label and guide
18
+ selector, not a Bedrock integration test.
19
+
15
20
  ## Attach in production
16
21
 
17
22
  Configure the assigned runtime first:
@@ -23,6 +28,11 @@ export AGENTICDOME_API_KEY="your-runtime-sdk-key"
23
28
  export AGENTICDOME_TENANT_ID="your-tenant-id"
24
29
  ```
25
30
 
31
+ Run `agenticdome-demo --framework bedrock --scenario both --live` to obtain
32
+ real tenant-engine decisions for those fixed inputs. That checks the assigned
33
+ sidecar, not Bedrock attachment; the code below attaches the adapter to the
34
+ real application boundary.
35
+
26
36
  For managed service, the API base is assigned in the selected supported
27
37
  geographic region, subject to availability. A contracted Sovereign runtime is
28
38
  inside the customer-controlled environment. Normal SDK calls do not require
@@ -12,6 +12,11 @@ export AGENTICDOME_MODE=local_sim
12
12
  agenticdome-demo --framework claude --scenario both
13
13
  ```
14
14
 
15
+ **Demo scope:** this command evaluates two fixed inputs with a deterministic,
16
+ bundled public baseline. It does not contact AgenticDome, load tenant policy,
17
+ execute tools, or instantiate the Claude Agent SDK. The framework option is a
18
+ label and guide selector, not a Claude integration test.
19
+
15
20
  ## Attach in production
16
21
 
17
22
  Configure the assigned runtime first:
@@ -23,6 +28,11 @@ export AGENTICDOME_API_KEY="your-runtime-sdk-key"
23
28
  export AGENTICDOME_TENANT_ID="your-tenant-id"
24
29
  ```
25
30
 
31
+ Run `agenticdome-demo --framework claude --scenario both --live` to obtain real
32
+ tenant-engine decisions for those fixed inputs. That checks the assigned
33
+ sidecar, not Claude Agent SDK attachment; the code below attaches the adapter
34
+ to the real application boundary.
35
+
26
36
  For managed service, the API base is assigned in the selected supported
27
37
  geographic region, subject to availability. A contracted Sovereign runtime is
28
38
  inside the customer-controlled environment. Normal SDK calls do not require
@@ -12,8 +12,10 @@ export AGENTICDOME_MODE=local_sim
12
12
  agenticdome-demo --framework crewai --scenario both
13
13
  ```
14
14
 
15
- This prints one allowed and one blocked decision without importing CrewAI,
16
- contacting a sidecar or executing either demonstration tool.
15
+ **Demo scope:** this command evaluates two fixed inputs with a deterministic,
16
+ bundled public baseline. It does not contact AgenticDome, load tenant policy,
17
+ execute tools, or instantiate CrewAI. The framework option is a label and guide
18
+ selector, not a CrewAI integration test.
17
19
 
18
20
  ## Attach in production
19
21
 
@@ -27,6 +29,11 @@ export AGENTICDOME_API_KEY="your-runtime-sdk-key"
27
29
  export AGENTICDOME_TENANT_ID="your-tenant-id"
28
30
  ```
29
31
 
32
+ Run `agenticdome-demo --framework crewai --scenario both --live` to obtain real
33
+ tenant-engine decisions for those fixed inputs. That checks the assigned
34
+ sidecar, not CrewAI attachment; the code below attaches the adapter to the real
35
+ application boundary.
36
+
30
37
  For managed service, the API base is assigned in the selected supported
31
38
  geographic region, subject to availability. A contracted Sovereign runtime is
32
39
  inside the customer-controlled environment. Normal SDK calls do not require
@@ -12,6 +12,11 @@ export AGENTICDOME_MODE=local_sim
12
12
  agenticdome-demo --framework custom-python --scenario both
13
13
  ```
14
14
 
15
+ **Demo scope:** this command evaluates two fixed inputs with a deterministic,
16
+ bundled public baseline. It does not contact AgenticDome, load tenant policy,
17
+ or execute either example tool. The framework option labels this core-client
18
+ example; it is not a live application integration test.
19
+
15
20
  ## Attach in production
16
21
 
17
22
  Configure the assigned runtime first. The executor remains application-owned:
@@ -23,6 +28,11 @@ export AGENTICDOME_API_KEY="your-runtime-sdk-key"
23
28
  export AGENTICDOME_TENANT_ID="your-tenant-id"
24
29
  ```
25
30
 
31
+ Run `agenticdome-demo --framework custom-python --scenario both --live` to
32
+ obtain real tenant-engine decisions for those fixed inputs. That checks the
33
+ assigned sidecar; the code below is what places the client at the application's
34
+ real execution boundary.
35
+
26
36
  For managed service, the API base is assigned in the selected supported
27
37
  geographic region, subject to availability. A contracted Sovereign runtime is
28
38
  inside the customer-controlled environment. Normal SDK calls do not require