agenticdome-python-sdk 1.1.3__tar.gz → 1.2.0__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.1.3/agenticdome_python_sdk.egg-info → agenticdome_python_sdk-1.2.0}/PKG-INFO +90 -52
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/README.md +56 -22
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0/agenticdome_python_sdk.egg-info}/PKG-INFO +90 -52
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_python_sdk.egg-info/SOURCES.txt +3 -0
- agenticdome_python_sdk-1.2.0/agenticdome_python_sdk.egg-info/requires.txt +84 -0
- agenticdome_python_sdk-1.2.0/agenticdome_sdk/__init__.py +18 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/client.py +153 -9
- agenticdome_python_sdk-1.2.0/agenticdome_sdk/identity.py +129 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/langgraph.py +34 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/microsoft_agent_framework.py +3 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/microsoft_ai_foundry.py +1 -0
- agenticdome_python_sdk-1.2.0/agenticdome_sdk/proof.py +80 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/crewai_agenticdome_firewall.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/pyproject.toml +35 -30
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_agno_integration.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_aws_bedrock_integration.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_client.py +63 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_crewai_integration.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_google_adk_integration.py +1 -1
- agenticdome_python_sdk-1.2.0/tests/test_identity_context.py +40 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_langgraph_integration.py +5 -5
- agenticdome_python_sdk-1.2.0/tests/test_live_tenant.py +113 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_llamaindex_integration.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_microsoft_agent_framework_integration.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_microsoft_ai_foundry_integration.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_openai_agents_integration.py +1 -1
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_packaging_contract.py +29 -5
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_pydanticai_integration.py +2 -2
- agenticdome_python_sdk-1.1.3/agenticdome_python_sdk.egg-info/requires.txt +0 -77
- agenticdome_python_sdk-1.1.3/agenticdome_sdk/__init__.py +0 -10
- agenticdome_python_sdk-1.1.3/tests/test_live_tenant.py +0 -67
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/LICENSE +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/mcp_host.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/agenticdome_sdk/scenarios.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/agno_lateral_refund.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/ai_foundry_callback_export.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/crewai_lateral_refund.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/mcp_remote_patch.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/mesh_output_redaction.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/microsoft_metadata_exfil.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/salesforce_hidden_bcc.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/examples/servicenow_delete_logs.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/setup.py +0 -0
- {agenticdome_python_sdk-1.1.3 → agenticdome_python_sdk-1.2.0}/tests/test_mcp_host_integration.py +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
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: Proprietary
|
|
7
|
-
Project-URL: Homepage, https://
|
|
7
|
+
Project-URL: Homepage, https://www.agenticdome.io
|
|
8
8
|
Project-URL: Repository, https://github.com/agenticdome/agenticdome-python-sdk
|
|
9
9
|
Project-URL: Documentation, https://github.com/agenticdome/agenticdome-python-sdk#readme
|
|
10
10
|
Project-URL: Issues, https://github.com/agenticdome/agenticdome-python-sdk/issues
|
|
@@ -27,58 +27,62 @@ License-File: LICENSE
|
|
|
27
27
|
Requires-Dist: requests>=2.31.0
|
|
28
28
|
Requires-Dist: urllib3>=2.0.0
|
|
29
29
|
Provides-Extra: crewai
|
|
30
|
-
Requires-Dist: crewai
|
|
30
|
+
Requires-Dist: crewai==1.15.5; extra == "crewai"
|
|
31
31
|
Provides-Extra: redis
|
|
32
32
|
Requires-Dist: redis>=4.5.0; extra == "redis"
|
|
33
|
+
Provides-Extra: pop
|
|
34
|
+
Requires-Dist: cryptography>=42.0.0; extra == "pop"
|
|
33
35
|
Provides-Extra: pydanticai
|
|
34
|
-
Requires-Dist: pydantic-ai
|
|
36
|
+
Requires-Dist: pydantic-ai==2.14.1; extra == "pydanticai"
|
|
35
37
|
Requires-Dist: anyio>=4.0.0; extra == "pydanticai"
|
|
36
38
|
Provides-Extra: pydantic
|
|
37
|
-
Requires-Dist: pydantic-ai
|
|
39
|
+
Requires-Dist: pydantic-ai==2.14.1; extra == "pydantic"
|
|
38
40
|
Requires-Dist: anyio>=4.0.0; extra == "pydantic"
|
|
39
41
|
Provides-Extra: langgraph
|
|
40
|
-
Requires-Dist: langgraph
|
|
41
|
-
Requires-Dist: langchain-core
|
|
42
|
+
Requires-Dist: langgraph==1.2.9; extra == "langgraph"
|
|
43
|
+
Requires-Dist: langchain-core==1.5.0; extra == "langgraph"
|
|
42
44
|
Requires-Dist: anyio>=4.0.0; extra == "langgraph"
|
|
43
45
|
Provides-Extra: microsoft
|
|
44
46
|
Provides-Extra: foundry
|
|
45
|
-
Requires-Dist: azure-ai-projects
|
|
46
|
-
Requires-Dist: azure-identity
|
|
47
|
+
Requires-Dist: azure-ai-projects==2.3.0; extra == "foundry"
|
|
48
|
+
Requires-Dist: azure-identity==1.25.3; extra == "foundry"
|
|
47
49
|
Provides-Extra: agno
|
|
48
|
-
Requires-Dist: agno
|
|
50
|
+
Requires-Dist: agno==2.8.0; extra == "agno"
|
|
49
51
|
Provides-Extra: openai-agents
|
|
50
|
-
Requires-Dist: openai-agents
|
|
52
|
+
Requires-Dist: openai-agents==0.18.3; extra == "openai-agents"
|
|
51
53
|
Provides-Extra: mcp
|
|
52
|
-
Requires-Dist: mcp
|
|
54
|
+
Requires-Dist: mcp<=1.28.1,>=1.26.0; extra == "mcp"
|
|
53
55
|
Provides-Extra: bedrock
|
|
54
|
-
Requires-Dist: boto3
|
|
56
|
+
Requires-Dist: boto3==1.43.52; extra == "bedrock"
|
|
55
57
|
Provides-Extra: aws-bedrock
|
|
56
|
-
Requires-Dist: boto3
|
|
58
|
+
Requires-Dist: boto3==1.43.52; extra == "aws-bedrock"
|
|
57
59
|
Provides-Extra: llamaindex
|
|
58
|
-
Requires-Dist: llama-index
|
|
60
|
+
Requires-Dist: llama-index==0.14.23; extra == "llamaindex"
|
|
59
61
|
Provides-Extra: llama-index
|
|
60
|
-
Requires-Dist: llama-index
|
|
62
|
+
Requires-Dist: llama-index==0.14.23; extra == "llama-index"
|
|
61
63
|
Provides-Extra: google-adk
|
|
62
|
-
Requires-Dist: google-adk
|
|
64
|
+
Requires-Dist: google-adk==2.5.0; extra == "google-adk"
|
|
63
65
|
Provides-Extra: adk
|
|
64
|
-
Requires-Dist: google-adk
|
|
66
|
+
Requires-Dist: google-adk==2.5.0; extra == "adk"
|
|
65
67
|
Provides-Extra: all
|
|
66
|
-
Requires-Dist: crewai
|
|
68
|
+
Requires-Dist: crewai==1.15.5; extra == "all"
|
|
67
69
|
Requires-Dist: redis>=4.5.0; extra == "all"
|
|
68
|
-
Requires-Dist:
|
|
70
|
+
Requires-Dist: cryptography>=42.0.0; extra == "all"
|
|
71
|
+
Requires-Dist: pydantic-ai==2.14.1; extra == "all"
|
|
69
72
|
Requires-Dist: anyio>=4.0.0; extra == "all"
|
|
70
|
-
Requires-Dist: langgraph
|
|
71
|
-
Requires-Dist: langchain-core
|
|
72
|
-
Requires-Dist: agno
|
|
73
|
-
Requires-Dist: azure-ai-projects
|
|
74
|
-
Requires-Dist: azure-identity
|
|
75
|
-
Requires-Dist: openai-agents
|
|
76
|
-
Requires-Dist: mcp
|
|
77
|
-
Requires-Dist: boto3
|
|
78
|
-
Requires-Dist: llama-index
|
|
79
|
-
Requires-Dist: google-adk
|
|
73
|
+
Requires-Dist: langgraph==1.2.9; extra == "all"
|
|
74
|
+
Requires-Dist: langchain-core==1.5.0; extra == "all"
|
|
75
|
+
Requires-Dist: agno==2.8.0; extra == "all"
|
|
76
|
+
Requires-Dist: azure-ai-projects==2.3.0; extra == "all"
|
|
77
|
+
Requires-Dist: azure-identity==1.25.3; extra == "all"
|
|
78
|
+
Requires-Dist: openai-agents==0.18.3; extra == "all"
|
|
79
|
+
Requires-Dist: mcp<=1.28.1,>=1.26.0; extra == "all"
|
|
80
|
+
Requires-Dist: boto3==1.43.52; extra == "all"
|
|
81
|
+
Requires-Dist: llama-index==0.14.23; extra == "all"
|
|
82
|
+
Requires-Dist: google-adk==2.5.0; extra == "all"
|
|
80
83
|
Provides-Extra: dev
|
|
81
84
|
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
85
|
+
Requires-Dist: tomli>=2.0.0; python_version < "3.11" and extra == "dev"
|
|
82
86
|
Requires-Dist: ruff>=0.5.0; extra == "dev"
|
|
83
87
|
Requires-Dist: mypy>=1.8.0; extra == "dev"
|
|
84
88
|
Requires-Dist: build>=1.0.0; extra == "dev"
|
|
@@ -155,7 +159,7 @@ Your local Python runtime executes agents, tools, workflows, and framework-speci
|
|
|
155
159
|
[ LOCAL ENTERPRISE RUNTIME PERIMETER ] [ AGENTICDOME CENTRAL PLANE ]
|
|
156
160
|
|
|
157
161
|
+-------------------------------------------------+ +-----------------------------+
|
|
158
|
-
| Python Agent Runtime | | https://
|
|
162
|
+
| Python Agent Runtime | | https://demo-sidecar.agenticdome.io |
|
|
159
163
|
| CrewAI / PydanticAI / LangGraph / Microsoft AF / AI Foundry / Agno / OpenAI Agents / MCP Hosts / Bedrock / Google ADK / LlamaIndex | | Centralized Policy Engine |
|
|
160
164
|
+-------------------------------------------------+ +-----------------------------+
|
|
161
165
|
| | ^ ^
|
|
@@ -225,15 +229,48 @@ Authorizes tool calls before execution using:
|
|
|
225
229
|
|
|
226
230
|
AgenticDome can transparently authorize multi-agent delegation workflows and issue decision tokens that bind:
|
|
227
231
|
|
|
232
|
+
- Originating human subject, when present
|
|
233
|
+
- Ordered and nested agent actor chain
|
|
228
234
|
- Source manager agent
|
|
229
235
|
- Target specialist agent
|
|
230
236
|
- Tool name
|
|
231
237
|
- Tool arguments
|
|
232
238
|
- Session ID
|
|
239
|
+
- Trace and lineage root/parent IDs
|
|
240
|
+
- Intent digest, policy binding, authorized scopes, and trust epochs
|
|
233
241
|
- Tenant context
|
|
234
242
|
- Policy decision
|
|
235
243
|
|
|
236
|
-
|
|
244
|
+
Execution verification consumes the server-side call budget and checks revocation state. Optional proof-bound decisions use a DPoP-style signed JWT tied to the decision token hash; sending the public-key thumbprint alone is not treated as proof.
|
|
245
|
+
|
|
246
|
+
Install the proof helper extra and create a runtime-held key:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
pip install "agenticdome-python-sdk[pop]"
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
```python
|
|
253
|
+
from agenticdome_sdk import create_dpop_proof, generate_rsa_proof_key
|
|
254
|
+
|
|
255
|
+
proof_key = generate_rsa_proof_key()
|
|
256
|
+
# Pass proof_key["thumbprint"] as proof_thumbprint when authorizing.
|
|
257
|
+
proof = create_dpop_proof(
|
|
258
|
+
proof_key["private_key_pem"],
|
|
259
|
+
access_token=decision_token,
|
|
260
|
+
method="POST",
|
|
261
|
+
uri="/a2a",
|
|
262
|
+
)
|
|
263
|
+
client.a2a_verify_decision_token_rpc(
|
|
264
|
+
decision_token,
|
|
265
|
+
tool_name=tool_name,
|
|
266
|
+
tool_args=tool_args,
|
|
267
|
+
agent_id=worker_id,
|
|
268
|
+
source_agent_id=manager_id,
|
|
269
|
+
proof_token=proof,
|
|
270
|
+
)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
This helps prevent unauthorized lateral privilege escalation and stolen-token replay between agents.
|
|
237
274
|
|
|
238
275
|
### Inline Output Data Loss Prevention, DLP
|
|
239
276
|
|
|
@@ -302,6 +339,7 @@ Install the extra for the framework you use:
|
|
|
302
339
|
| AWS Bedrock / Bedrock Agents | `pip install "agenticdome-python-sdk[bedrock]"` |
|
|
303
340
|
| MCP host / gateway | `pip install "agenticdome-python-sdk[mcp]"` |
|
|
304
341
|
| Redis token storage | `pip install "agenticdome-python-sdk[redis]"` |
|
|
342
|
+
| Proof-of-possession helpers | `pip install "agenticdome-python-sdk[pop]"` |
|
|
305
343
|
| All optional integrations | `pip install "agenticdome-python-sdk[all]"` |
|
|
306
344
|
|
|
307
345
|
Some adapters are dependency-light at import time. Google ADK, LlamaIndex, Bedrock, MCP, and Microsoft helpers can wrap local boundaries without forcing one exact runtime stack; install the framework packages your application actually uses.
|
|
@@ -315,8 +353,8 @@ Set these environment variables in your local shell, container, CI/CD environmen
|
|
|
315
353
|
### Required Variables
|
|
316
354
|
|
|
317
355
|
```bash
|
|
318
|
-
#
|
|
319
|
-
export AGENTICDOME_API_BASE="https://
|
|
356
|
+
# Tenant runtime sidecar URL. Do not use the control-plane website URL here.
|
|
357
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
320
358
|
|
|
321
359
|
# Secure access token generated in the AgenticDome console.
|
|
322
360
|
export AGENTICDOME_API_KEY="your_api_key_abc123..."
|
|
@@ -409,7 +447,7 @@ Set these values in the same place you configure your Python application runtime
|
|
|
409
447
|
Minimum production configuration:
|
|
410
448
|
|
|
411
449
|
```bash
|
|
412
|
-
export AGENTICDOME_API_BASE="https://
|
|
450
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
413
451
|
export AGENTICDOME_API_KEY="your_api_key"
|
|
414
452
|
export AGENTICDOME_TENANT_ID="your_tenant_id"
|
|
415
453
|
export AGENTICDOME_FAIL_CLOSED="true"
|
|
@@ -569,7 +607,7 @@ secure_refund = firewall.wrap_delegated_tool_handler(
|
|
|
569
607
|
|
|
570
608
|
| Environment Variable | Type | Default | Description |
|
|
571
609
|
| :--- | :--- | :--- | :--- |
|
|
572
|
-
| `AGENTICDOME_API_BASE` | string | required |
|
|
610
|
+
| `AGENTICDOME_API_BASE` | string | required | Tenant runtime sidecar origin, for example `https://demo-sidecar.agenticdome.io`. This is separate from the control-plane console URL. |
|
|
573
611
|
| `AGENTICDOME_API_KEY` | string | required | API key generated in the AgenticDome console. |
|
|
574
612
|
| `AGENTICDOME_TENANT_ID` | string | required | Tenant or organization isolation namespace. |
|
|
575
613
|
| `AGENTICDOME_PLATFORM` | string | framework-specific | Runtime platform label included in policy context. |
|
|
@@ -777,7 +815,7 @@ Use the core client when you own the runtime loop or have a custom gateway. This
|
|
|
777
815
|
from agenticdome_sdk.client import AgentGuardClient
|
|
778
816
|
|
|
779
817
|
client = AgentGuardClient(
|
|
780
|
-
api_base="https://
|
|
818
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
781
819
|
api_key="your-api-key",
|
|
782
820
|
tenant_id="your-tenant-id",
|
|
783
821
|
timeout=20,
|
|
@@ -1132,7 +1170,7 @@ pip install "agenticdome-python-sdk[pydanticai]"
|
|
|
1132
1170
|
[ PYDANTICAI AGENT RUNTIME PERIMETER ] [ AGENTICDOME CONTROL PLANE ]
|
|
1133
1171
|
|
|
1134
1172
|
+-------------------------------------------------+ +-----------------------------+
|
|
1135
|
-
| Agent.run() Execution Loop | | https://
|
|
1173
|
+
| Agent.run() Execution Loop | | https://demo-sidecar.agenticdome.io |
|
|
1136
1174
|
+-------------------------------------------------+ +-----------------------------+
|
|
1137
1175
|
| | ^ ^
|
|
1138
1176
|
| 1. before_runner_init | 4. after | Verdict / DLP |
|
|
@@ -1261,7 +1299,7 @@ PydanticAI lifecycle hook APIs have evolved. Current PydanticAI documents `pydan
|
|
|
1261
1299
|
- If compatible legacy lifecycle decorators are available, `attach_to_agent()` attaches prompt ingress and egress DLP hooks.
|
|
1262
1300
|
- If native `Hooks` capabilities are available, `create_hooks()` returns a capability object you can pass into `Agent(..., capabilities=[...])`.
|
|
1263
1301
|
- If lifecycle decorators are not available, `@firewall.secure_tool(...)` still protects tool execution.
|
|
1264
|
-
- In production mode, configure
|
|
1302
|
+
- In production mode, configure the tenant runtime sidecar, API key, tenant ID, and stable session IDs.
|
|
1265
1303
|
- `AGENTICDOME_BLOCK_ON_SENSITIVE_OUTPUT=true` means AgenticDome may ask Mesh to block sensitive output; the SDK only blocks when the policy response verdict is `BLOCKED`.
|
|
1266
1304
|
|
|
1267
1305
|
---
|
|
@@ -1297,7 +1335,7 @@ pip install "agenticdome-python-sdk[langgraph]"
|
|
|
1297
1335
|
[ LANGGRAPH STATEGRAPH RUNTIME ] [ AGENTICDOME CONTROL PLANE ]
|
|
1298
1336
|
|
|
1299
1337
|
+-----------------------------------------------+ +-----------------------------+
|
|
1300
|
-
| StateGraph / CompiledStateGraph | | https://
|
|
1338
|
+
| StateGraph / CompiledStateGraph | | https://demo-sidecar.agenticdome.io |
|
|
1301
1339
|
+-----------------------------------------------+ +-----------------------------+
|
|
1302
1340
|
| | ^ ^
|
|
1303
1341
|
| 1. user message | 2. tool calls | 4. verdict / token | validate
|
|
@@ -1512,7 +1550,7 @@ Install the Microsoft Agent Framework packages used by your application separate
|
|
|
1512
1550
|
[ MICROSOFT AGENT FRAMEWORK PYTHON RUNTIME ] [ AGENTICDOME CONTROL PLANE ]
|
|
1513
1551
|
|
|
1514
1552
|
+------------------------------------------------+ +-----------------------------+
|
|
1515
|
-
| Agent.run / Workflow.run / Function Tool | | https://
|
|
1553
|
+
| Agent.run / Workflow.run / Function Tool | | https://demo-sidecar.agenticdome.io |
|
|
1516
1554
|
+------------------------------------------------+ +-----------------------------+
|
|
1517
1555
|
| | ^ ^
|
|
1518
1556
|
| 1. input text | 2. tool args | verdict / token | validate
|
|
@@ -1709,7 +1747,7 @@ The Foundry integration supports:
|
|
|
1709
1747
|
- Direct tool-argument stripping, lightweight JSON-schema validation, and sanitized-argument execution when AgenticDome returns safer arguments
|
|
1710
1748
|
- Enterprise identity context propagation for Entra IDs, roles/scopes, Foundry project IDs, and Purview or sensitivity labels
|
|
1711
1749
|
- Production-mode stable session ID enforcement and output-sanitization requirements
|
|
1712
|
-
- Output DLP through Mesh using the required
|
|
1750
|
+
- Output DLP through Mesh using the required tenant runtime sidecar URL, API key, and tenant ID
|
|
1713
1751
|
- Structured-output preservation by parsing sanitized JSON back to dictionaries/lists where possible
|
|
1714
1752
|
- Local rate limits, input/output/tool-argument size limits, retries, circuit breaker behavior, audit logging, and OpenTelemetry span events
|
|
1715
1753
|
- Streaming response sanitization through `sanitize_streaming_response()`
|
|
@@ -1735,7 +1773,7 @@ If your application uses Microsoft Agent Framework hosted agents, install the Fo
|
|
|
1735
1773
|
Foundry threat-contract calls use bearer authentication:
|
|
1736
1774
|
|
|
1737
1775
|
```bash
|
|
1738
|
-
export AGENTICDOME_API_BASE="https://
|
|
1776
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
1739
1777
|
export AGENTICDOME_BEARER_TOKEN="your_foundry_threat_contract_bearer_token"
|
|
1740
1778
|
```
|
|
1741
1779
|
|
|
@@ -1894,7 +1932,7 @@ from agenticdome_sdk.microsoft_ai_foundry import (
|
|
|
1894
1932
|
- Production deployments should pass a stable `session_id`, `run_id`, `trace_id`, `conversation_id`, or `thread_id`; generated fallback IDs are intended for local development only.
|
|
1895
1933
|
- Pass Entra identity, roles/scopes, Foundry project IDs, and Purview/sensitivity labels on `ctx` or `policy_context` so server-side policy can make identity-aware decisions.
|
|
1896
1934
|
- If a Foundry hosted tool executes entirely inside a remote provider runtime, this local Python SDK can protect the local request/response boundary but cannot inspect inside the remote execution environment.
|
|
1897
|
-
- Microsoft AI Foundry requires the
|
|
1935
|
+
- Microsoft AI Foundry requires the tenant runtime sidecar URL, API key, and tenant ID. Threat-contract prompt and tool analysis also require `AGENTICDOME_BEARER_TOKEN`.
|
|
1898
1936
|
|
|
1899
1937
|
Official references:
|
|
1900
1938
|
|
|
@@ -2991,7 +3029,7 @@ If you need to call AgenticDome APIs manually, use the core SDK client.
|
|
|
2991
3029
|
from agenticdome_sdk.client import AgentGuardClient
|
|
2992
3030
|
|
|
2993
3031
|
client = AgentGuardClient(
|
|
2994
|
-
api_base="https://
|
|
3032
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
2995
3033
|
api_key="your-api-key",
|
|
2996
3034
|
tenant_id="your-tenant-id",
|
|
2997
3035
|
timeout=20,
|
|
@@ -3012,7 +3050,7 @@ client.report_incident(
|
|
|
3012
3050
|
from agenticdome_sdk.client import AgentGuardClient
|
|
3013
3051
|
|
|
3014
3052
|
client = AgentGuardClient(
|
|
3015
|
-
api_base="https://
|
|
3053
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
3016
3054
|
api_key="your-api-key",
|
|
3017
3055
|
tenant_id="your-tenant-id",
|
|
3018
3056
|
timeout=20,
|
|
@@ -3040,7 +3078,7 @@ print(result)
|
|
|
3040
3078
|
from agenticdome_sdk.client import AgentGuardClient
|
|
3041
3079
|
|
|
3042
3080
|
client = AgentGuardClient(
|
|
3043
|
-
api_base="https://
|
|
3081
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
3044
3082
|
api_key="your-api-key",
|
|
3045
3083
|
tenant_id="your-tenant-id",
|
|
3046
3084
|
timeout=20,
|
|
@@ -3076,7 +3114,7 @@ print(result)
|
|
|
3076
3114
|
from agenticdome_sdk.client import AgentGuardClient
|
|
3077
3115
|
|
|
3078
3116
|
client = AgentGuardClient(
|
|
3079
|
-
api_base="https://
|
|
3117
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
3080
3118
|
api_key="your-api-key",
|
|
3081
3119
|
tenant_id="your-tenant-id",
|
|
3082
3120
|
timeout=20,
|
|
@@ -3113,7 +3151,7 @@ print(authorization)
|
|
|
3113
3151
|
from agenticdome_sdk.client import AgentGuardClient
|
|
3114
3152
|
|
|
3115
3153
|
client = AgentGuardClient(
|
|
3116
|
-
api_base="https://
|
|
3154
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
3117
3155
|
api_key="your-api-key",
|
|
3118
3156
|
tenant_id="your-tenant-id",
|
|
3119
3157
|
timeout=20,
|
|
@@ -3144,7 +3182,7 @@ print(verification)
|
|
|
3144
3182
|
from agenticdome_sdk.client import AgentGuardClient
|
|
3145
3183
|
|
|
3146
3184
|
client = AgentGuardClient(
|
|
3147
|
-
api_base="https://
|
|
3185
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
3148
3186
|
api_key="your-api-key",
|
|
3149
3187
|
tenant_id="your-tenant-id",
|
|
3150
3188
|
timeout=20,
|
|
@@ -3193,7 +3231,7 @@ In-memory token storage is suitable for local development and single-process wor
|
|
|
3193
3231
|
## Recommended Production Settings
|
|
3194
3232
|
|
|
3195
3233
|
```bash
|
|
3196
|
-
export AGENTICDOME_API_BASE="https://
|
|
3234
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
3197
3235
|
export AGENTICDOME_API_KEY="your_api_key"
|
|
3198
3236
|
export AGENTICDOME_TENANT_ID="your_tenant_id"
|
|
3199
3237
|
|
|
@@ -3418,7 +3456,7 @@ For strict security-policy validation, add:
|
|
|
3418
3456
|
export AGENTICDOME_LIVE_EXPECT_STRICT=1
|
|
3419
3457
|
```
|
|
3420
3458
|
|
|
3421
|
-
The live tenant
|
|
3459
|
+
The live tenant suite performs real `guardrail_validate()` and `mesh_validate()` calls, verifies that one request can carry an originating human subject and upstream agent actor together, and queries the tenant's active threat-signature bundle through the public SDK method. With `AGENTICDOME_LIVE_EXPECT_STRICT=1`, it additionally requires sensitive output enforcement plus a signed bundle whose provenance is `agenticdome_private_collection`. Framework-specific behavior remains covered by the offline adapter test matrix above.
|
|
3422
3460
|
|
|
3423
3461
|
---
|
|
3424
3462
|
|
|
@@ -68,7 +68,7 @@ Your local Python runtime executes agents, tools, workflows, and framework-speci
|
|
|
68
68
|
[ LOCAL ENTERPRISE RUNTIME PERIMETER ] [ AGENTICDOME CENTRAL PLANE ]
|
|
69
69
|
|
|
70
70
|
+-------------------------------------------------+ +-----------------------------+
|
|
71
|
-
| Python Agent Runtime | | https://
|
|
71
|
+
| Python Agent Runtime | | https://demo-sidecar.agenticdome.io |
|
|
72
72
|
| CrewAI / PydanticAI / LangGraph / Microsoft AF / AI Foundry / Agno / OpenAI Agents / MCP Hosts / Bedrock / Google ADK / LlamaIndex | | Centralized Policy Engine |
|
|
73
73
|
+-------------------------------------------------+ +-----------------------------+
|
|
74
74
|
| | ^ ^
|
|
@@ -138,15 +138,48 @@ Authorizes tool calls before execution using:
|
|
|
138
138
|
|
|
139
139
|
AgenticDome can transparently authorize multi-agent delegation workflows and issue decision tokens that bind:
|
|
140
140
|
|
|
141
|
+
- Originating human subject, when present
|
|
142
|
+
- Ordered and nested agent actor chain
|
|
141
143
|
- Source manager agent
|
|
142
144
|
- Target specialist agent
|
|
143
145
|
- Tool name
|
|
144
146
|
- Tool arguments
|
|
145
147
|
- Session ID
|
|
148
|
+
- Trace and lineage root/parent IDs
|
|
149
|
+
- Intent digest, policy binding, authorized scopes, and trust epochs
|
|
146
150
|
- Tenant context
|
|
147
151
|
- Policy decision
|
|
148
152
|
|
|
149
|
-
|
|
153
|
+
Execution verification consumes the server-side call budget and checks revocation state. Optional proof-bound decisions use a DPoP-style signed JWT tied to the decision token hash; sending the public-key thumbprint alone is not treated as proof.
|
|
154
|
+
|
|
155
|
+
Install the proof helper extra and create a runtime-held key:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
pip install "agenticdome-python-sdk[pop]"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
```python
|
|
162
|
+
from agenticdome_sdk import create_dpop_proof, generate_rsa_proof_key
|
|
163
|
+
|
|
164
|
+
proof_key = generate_rsa_proof_key()
|
|
165
|
+
# Pass proof_key["thumbprint"] as proof_thumbprint when authorizing.
|
|
166
|
+
proof = create_dpop_proof(
|
|
167
|
+
proof_key["private_key_pem"],
|
|
168
|
+
access_token=decision_token,
|
|
169
|
+
method="POST",
|
|
170
|
+
uri="/a2a",
|
|
171
|
+
)
|
|
172
|
+
client.a2a_verify_decision_token_rpc(
|
|
173
|
+
decision_token,
|
|
174
|
+
tool_name=tool_name,
|
|
175
|
+
tool_args=tool_args,
|
|
176
|
+
agent_id=worker_id,
|
|
177
|
+
source_agent_id=manager_id,
|
|
178
|
+
proof_token=proof,
|
|
179
|
+
)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
This helps prevent unauthorized lateral privilege escalation and stolen-token replay between agents.
|
|
150
183
|
|
|
151
184
|
### Inline Output Data Loss Prevention, DLP
|
|
152
185
|
|
|
@@ -215,6 +248,7 @@ Install the extra for the framework you use:
|
|
|
215
248
|
| AWS Bedrock / Bedrock Agents | `pip install "agenticdome-python-sdk[bedrock]"` |
|
|
216
249
|
| MCP host / gateway | `pip install "agenticdome-python-sdk[mcp]"` |
|
|
217
250
|
| Redis token storage | `pip install "agenticdome-python-sdk[redis]"` |
|
|
251
|
+
| Proof-of-possession helpers | `pip install "agenticdome-python-sdk[pop]"` |
|
|
218
252
|
| All optional integrations | `pip install "agenticdome-python-sdk[all]"` |
|
|
219
253
|
|
|
220
254
|
Some adapters are dependency-light at import time. Google ADK, LlamaIndex, Bedrock, MCP, and Microsoft helpers can wrap local boundaries without forcing one exact runtime stack; install the framework packages your application actually uses.
|
|
@@ -228,8 +262,8 @@ Set these environment variables in your local shell, container, CI/CD environmen
|
|
|
228
262
|
### Required Variables
|
|
229
263
|
|
|
230
264
|
```bash
|
|
231
|
-
#
|
|
232
|
-
export AGENTICDOME_API_BASE="https://
|
|
265
|
+
# Tenant runtime sidecar URL. Do not use the control-plane website URL here.
|
|
266
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
233
267
|
|
|
234
268
|
# Secure access token generated in the AgenticDome console.
|
|
235
269
|
export AGENTICDOME_API_KEY="your_api_key_abc123..."
|
|
@@ -322,7 +356,7 @@ Set these values in the same place you configure your Python application runtime
|
|
|
322
356
|
Minimum production configuration:
|
|
323
357
|
|
|
324
358
|
```bash
|
|
325
|
-
export AGENTICDOME_API_BASE="https://
|
|
359
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
326
360
|
export AGENTICDOME_API_KEY="your_api_key"
|
|
327
361
|
export AGENTICDOME_TENANT_ID="your_tenant_id"
|
|
328
362
|
export AGENTICDOME_FAIL_CLOSED="true"
|
|
@@ -482,7 +516,7 @@ secure_refund = firewall.wrap_delegated_tool_handler(
|
|
|
482
516
|
|
|
483
517
|
| Environment Variable | Type | Default | Description |
|
|
484
518
|
| :--- | :--- | :--- | :--- |
|
|
485
|
-
| `AGENTICDOME_API_BASE` | string | required |
|
|
519
|
+
| `AGENTICDOME_API_BASE` | string | required | Tenant runtime sidecar origin, for example `https://demo-sidecar.agenticdome.io`. This is separate from the control-plane console URL. |
|
|
486
520
|
| `AGENTICDOME_API_KEY` | string | required | API key generated in the AgenticDome console. |
|
|
487
521
|
| `AGENTICDOME_TENANT_ID` | string | required | Tenant or organization isolation namespace. |
|
|
488
522
|
| `AGENTICDOME_PLATFORM` | string | framework-specific | Runtime platform label included in policy context. |
|
|
@@ -690,7 +724,7 @@ Use the core client when you own the runtime loop or have a custom gateway. This
|
|
|
690
724
|
from agenticdome_sdk.client import AgentGuardClient
|
|
691
725
|
|
|
692
726
|
client = AgentGuardClient(
|
|
693
|
-
api_base="https://
|
|
727
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
694
728
|
api_key="your-api-key",
|
|
695
729
|
tenant_id="your-tenant-id",
|
|
696
730
|
timeout=20,
|
|
@@ -1045,7 +1079,7 @@ pip install "agenticdome-python-sdk[pydanticai]"
|
|
|
1045
1079
|
[ PYDANTICAI AGENT RUNTIME PERIMETER ] [ AGENTICDOME CONTROL PLANE ]
|
|
1046
1080
|
|
|
1047
1081
|
+-------------------------------------------------+ +-----------------------------+
|
|
1048
|
-
| Agent.run() Execution Loop | | https://
|
|
1082
|
+
| Agent.run() Execution Loop | | https://demo-sidecar.agenticdome.io |
|
|
1049
1083
|
+-------------------------------------------------+ +-----------------------------+
|
|
1050
1084
|
| | ^ ^
|
|
1051
1085
|
| 1. before_runner_init | 4. after | Verdict / DLP |
|
|
@@ -1174,7 +1208,7 @@ PydanticAI lifecycle hook APIs have evolved. Current PydanticAI documents `pydan
|
|
|
1174
1208
|
- If compatible legacy lifecycle decorators are available, `attach_to_agent()` attaches prompt ingress and egress DLP hooks.
|
|
1175
1209
|
- If native `Hooks` capabilities are available, `create_hooks()` returns a capability object you can pass into `Agent(..., capabilities=[...])`.
|
|
1176
1210
|
- If lifecycle decorators are not available, `@firewall.secure_tool(...)` still protects tool execution.
|
|
1177
|
-
- In production mode, configure
|
|
1211
|
+
- In production mode, configure the tenant runtime sidecar, API key, tenant ID, and stable session IDs.
|
|
1178
1212
|
- `AGENTICDOME_BLOCK_ON_SENSITIVE_OUTPUT=true` means AgenticDome may ask Mesh to block sensitive output; the SDK only blocks when the policy response verdict is `BLOCKED`.
|
|
1179
1213
|
|
|
1180
1214
|
---
|
|
@@ -1210,7 +1244,7 @@ pip install "agenticdome-python-sdk[langgraph]"
|
|
|
1210
1244
|
[ LANGGRAPH STATEGRAPH RUNTIME ] [ AGENTICDOME CONTROL PLANE ]
|
|
1211
1245
|
|
|
1212
1246
|
+-----------------------------------------------+ +-----------------------------+
|
|
1213
|
-
| StateGraph / CompiledStateGraph | | https://
|
|
1247
|
+
| StateGraph / CompiledStateGraph | | https://demo-sidecar.agenticdome.io |
|
|
1214
1248
|
+-----------------------------------------------+ +-----------------------------+
|
|
1215
1249
|
| | ^ ^
|
|
1216
1250
|
| 1. user message | 2. tool calls | 4. verdict / token | validate
|
|
@@ -1425,7 +1459,7 @@ Install the Microsoft Agent Framework packages used by your application separate
|
|
|
1425
1459
|
[ MICROSOFT AGENT FRAMEWORK PYTHON RUNTIME ] [ AGENTICDOME CONTROL PLANE ]
|
|
1426
1460
|
|
|
1427
1461
|
+------------------------------------------------+ +-----------------------------+
|
|
1428
|
-
| Agent.run / Workflow.run / Function Tool | | https://
|
|
1462
|
+
| Agent.run / Workflow.run / Function Tool | | https://demo-sidecar.agenticdome.io |
|
|
1429
1463
|
+------------------------------------------------+ +-----------------------------+
|
|
1430
1464
|
| | ^ ^
|
|
1431
1465
|
| 1. input text | 2. tool args | verdict / token | validate
|
|
@@ -1622,7 +1656,7 @@ The Foundry integration supports:
|
|
|
1622
1656
|
- Direct tool-argument stripping, lightweight JSON-schema validation, and sanitized-argument execution when AgenticDome returns safer arguments
|
|
1623
1657
|
- Enterprise identity context propagation for Entra IDs, roles/scopes, Foundry project IDs, and Purview or sensitivity labels
|
|
1624
1658
|
- Production-mode stable session ID enforcement and output-sanitization requirements
|
|
1625
|
-
- Output DLP through Mesh using the required
|
|
1659
|
+
- Output DLP through Mesh using the required tenant runtime sidecar URL, API key, and tenant ID
|
|
1626
1660
|
- Structured-output preservation by parsing sanitized JSON back to dictionaries/lists where possible
|
|
1627
1661
|
- Local rate limits, input/output/tool-argument size limits, retries, circuit breaker behavior, audit logging, and OpenTelemetry span events
|
|
1628
1662
|
- Streaming response sanitization through `sanitize_streaming_response()`
|
|
@@ -1648,7 +1682,7 @@ If your application uses Microsoft Agent Framework hosted agents, install the Fo
|
|
|
1648
1682
|
Foundry threat-contract calls use bearer authentication:
|
|
1649
1683
|
|
|
1650
1684
|
```bash
|
|
1651
|
-
export AGENTICDOME_API_BASE="https://
|
|
1685
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
1652
1686
|
export AGENTICDOME_BEARER_TOKEN="your_foundry_threat_contract_bearer_token"
|
|
1653
1687
|
```
|
|
1654
1688
|
|
|
@@ -1807,7 +1841,7 @@ from agenticdome_sdk.microsoft_ai_foundry import (
|
|
|
1807
1841
|
- Production deployments should pass a stable `session_id`, `run_id`, `trace_id`, `conversation_id`, or `thread_id`; generated fallback IDs are intended for local development only.
|
|
1808
1842
|
- Pass Entra identity, roles/scopes, Foundry project IDs, and Purview/sensitivity labels on `ctx` or `policy_context` so server-side policy can make identity-aware decisions.
|
|
1809
1843
|
- If a Foundry hosted tool executes entirely inside a remote provider runtime, this local Python SDK can protect the local request/response boundary but cannot inspect inside the remote execution environment.
|
|
1810
|
-
- Microsoft AI Foundry requires the
|
|
1844
|
+
- Microsoft AI Foundry requires the tenant runtime sidecar URL, API key, and tenant ID. Threat-contract prompt and tool analysis also require `AGENTICDOME_BEARER_TOKEN`.
|
|
1811
1845
|
|
|
1812
1846
|
Official references:
|
|
1813
1847
|
|
|
@@ -2904,7 +2938,7 @@ If you need to call AgenticDome APIs manually, use the core SDK client.
|
|
|
2904
2938
|
from agenticdome_sdk.client import AgentGuardClient
|
|
2905
2939
|
|
|
2906
2940
|
client = AgentGuardClient(
|
|
2907
|
-
api_base="https://
|
|
2941
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
2908
2942
|
api_key="your-api-key",
|
|
2909
2943
|
tenant_id="your-tenant-id",
|
|
2910
2944
|
timeout=20,
|
|
@@ -2925,7 +2959,7 @@ client.report_incident(
|
|
|
2925
2959
|
from agenticdome_sdk.client import AgentGuardClient
|
|
2926
2960
|
|
|
2927
2961
|
client = AgentGuardClient(
|
|
2928
|
-
api_base="https://
|
|
2962
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
2929
2963
|
api_key="your-api-key",
|
|
2930
2964
|
tenant_id="your-tenant-id",
|
|
2931
2965
|
timeout=20,
|
|
@@ -2953,7 +2987,7 @@ print(result)
|
|
|
2953
2987
|
from agenticdome_sdk.client import AgentGuardClient
|
|
2954
2988
|
|
|
2955
2989
|
client = AgentGuardClient(
|
|
2956
|
-
api_base="https://
|
|
2990
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
2957
2991
|
api_key="your-api-key",
|
|
2958
2992
|
tenant_id="your-tenant-id",
|
|
2959
2993
|
timeout=20,
|
|
@@ -2989,7 +3023,7 @@ print(result)
|
|
|
2989
3023
|
from agenticdome_sdk.client import AgentGuardClient
|
|
2990
3024
|
|
|
2991
3025
|
client = AgentGuardClient(
|
|
2992
|
-
api_base="https://
|
|
3026
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
2993
3027
|
api_key="your-api-key",
|
|
2994
3028
|
tenant_id="your-tenant-id",
|
|
2995
3029
|
timeout=20,
|
|
@@ -3026,7 +3060,7 @@ print(authorization)
|
|
|
3026
3060
|
from agenticdome_sdk.client import AgentGuardClient
|
|
3027
3061
|
|
|
3028
3062
|
client = AgentGuardClient(
|
|
3029
|
-
api_base="https://
|
|
3063
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
3030
3064
|
api_key="your-api-key",
|
|
3031
3065
|
tenant_id="your-tenant-id",
|
|
3032
3066
|
timeout=20,
|
|
@@ -3057,7 +3091,7 @@ print(verification)
|
|
|
3057
3091
|
from agenticdome_sdk.client import AgentGuardClient
|
|
3058
3092
|
|
|
3059
3093
|
client = AgentGuardClient(
|
|
3060
|
-
api_base="https://
|
|
3094
|
+
api_base="https://demo-sidecar.agenticdome.io",
|
|
3061
3095
|
api_key="your-api-key",
|
|
3062
3096
|
tenant_id="your-tenant-id",
|
|
3063
3097
|
timeout=20,
|
|
@@ -3106,7 +3140,7 @@ In-memory token storage is suitable for local development and single-process wor
|
|
|
3106
3140
|
## Recommended Production Settings
|
|
3107
3141
|
|
|
3108
3142
|
```bash
|
|
3109
|
-
export AGENTICDOME_API_BASE="https://
|
|
3143
|
+
export AGENTICDOME_API_BASE="https://demo-sidecar.agenticdome.io"
|
|
3110
3144
|
export AGENTICDOME_API_KEY="your_api_key"
|
|
3111
3145
|
export AGENTICDOME_TENANT_ID="your_tenant_id"
|
|
3112
3146
|
|
|
@@ -3331,7 +3365,7 @@ For strict security-policy validation, add:
|
|
|
3331
3365
|
export AGENTICDOME_LIVE_EXPECT_STRICT=1
|
|
3332
3366
|
```
|
|
3333
3367
|
|
|
3334
|
-
The live tenant
|
|
3368
|
+
The live tenant suite performs real `guardrail_validate()` and `mesh_validate()` calls, verifies that one request can carry an originating human subject and upstream agent actor together, and queries the tenant's active threat-signature bundle through the public SDK method. With `AGENTICDOME_LIVE_EXPECT_STRICT=1`, it additionally requires sensitive output enforcement plus a signed bundle whose provenance is `agenticdome_private_collection`. Framework-specific behavior remains covered by the offline adapter test matrix above.
|
|
3335
3369
|
|
|
3336
3370
|
---
|
|
3337
3371
|
|