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.
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/PKG-INFO +51 -15
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/README.md +41 -5
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/PKG-INFO +51 -15
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/requires.txt +9 -9
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/demo.py +14 -3
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/README.md +10 -2
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/agno.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/autogen.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/aws-bedrock.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/claude-agent-sdk.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/crewai.md +9 -2
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/custom-python.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/google-adk.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/langgraph.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/llamaindex.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/microsoft-agent-framework.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/microsoft-ai-foundry.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/openai-agents.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/pydanticai.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/smolagents.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/mcp-integration.md +37 -3
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/README.md +21 -3
- agenticdome_python_sdk-1.2.17/examples/frameworks/README.md +21 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/pyproject.toml +10 -10
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_local_simulation.py +56 -1
- agenticdome_python_sdk-1.2.16/examples/frameworks/README.md +0 -13
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/CONTRIBUTING.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/LICENSE +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/NOTICE +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/SECURITY.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/SOURCES.txt +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/__init__.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/_framework_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/_mode.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/claude.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/client.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/identity.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/mcp_host.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/proof.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/simulation.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/agenticdome_sdk/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/performance-evidence.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/runtime-deployment.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/PRODUCTION_INTEGRATION.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/crewai_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/_shared.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/agno.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/claude_agent_sdk.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/custom_python.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/mcp.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/pydanticai.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/frameworks/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/langgraph_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/local_simulation_gallery.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/examples/mcp_gateway_action_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/setup.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_agno_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_autogen_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_aws_bedrock_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_claude_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_client.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_crewai_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_execution_broker.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_framework_guides.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_google_adk_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_identity_context.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_langgraph_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_llamaindex_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_mcp_host_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_mcp_launch_example.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_microsoft_agent_framework_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_microsoft_ai_foundry_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_openai_agents_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/tests/test_pydanticai_integration.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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.
|
|
66
|
+
Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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`.
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
|
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
|
|
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`.
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
66
|
+
Requires-Dist: boto3<=1.43.70,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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`.
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
35
|
+
boto3<=1.43.70,>=1.43.54
|
|
36
36
|
|
|
37
37
|
[bedrock]
|
|
38
|
-
boto3<=1.43.
|
|
38
|
+
boto3<=1.43.70,>=1.43.54
|
|
39
39
|
|
|
40
40
|
[claude]
|
|
41
|
-
claude-agent-sdk<=0.2.
|
|
41
|
+
claude-agent-sdk<=0.2.137,>=0.2.126
|
|
42
42
|
|
|
43
43
|
[claude-agent-sdk]
|
|
44
|
-
claude-agent-sdk<=0.2.
|
|
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.
|
|
94
|
+
pydantic-ai<=2.29.0,>=2.16.0
|
|
95
95
|
anyio>=4.0.0
|
|
96
96
|
|
|
97
97
|
[pydanticai]
|
|
98
|
-
pydantic-ai<=2.
|
|
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("
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
{agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/aws-bedrock.md
RENAMED
|
@@ -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
|
{agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/claude-agent-sdk.md
RENAMED
|
@@ -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
|
-
|
|
16
|
-
|
|
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
|
{agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.17}/docs/frameworks/custom-python.md
RENAMED
|
@@ -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
|