agenticdome-python-sdk 1.2.14__tar.gz → 1.2.16__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.14 → agenticdome_python_sdk-1.2.16}/PKG-INFO +67 -31
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/README.md +50 -15
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_python_sdk.egg-info/PKG-INFO +67 -31
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_python_sdk.egg-info/SOURCES.txt +1 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_python_sdk.egg-info/requires.txt +16 -15
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/README.md +8 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/agno.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/autogen.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/aws-bedrock.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/claude-agent-sdk.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/crewai.md +7 -1
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/custom-python.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/google-adk.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/langgraph.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/llamaindex.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/microsoft-agent-framework.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/microsoft-ai-foundry.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/openai-agents.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/pydanticai.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/frameworks/smolagents.md +5 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/mcp-integration.md +45 -3
- agenticdome_python_sdk-1.2.16/docs/runtime-deployment.md +51 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/PRODUCTION_INTEGRATION.md +8 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/README.md +6 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/pyproject.toml +17 -16
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_framework_guides.py +22 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_mcp_launch_example.py +15 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/CONTRIBUTING.md +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/LICENSE +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/NOTICE +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/SECURITY.md +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/__init__.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/_framework_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/_mode.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/claude.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/client.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/demo.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/identity.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/mcp_host.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/proof.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/simulation.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/agenticdome_sdk/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/docs/performance-evidence.md +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/crewai_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/_shared.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/agno.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/claude_agent_sdk.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/custom_python.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/mcp.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/pydanticai.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/frameworks/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/langgraph_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/local_simulation_gallery.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/examples/mcp_gateway_action_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/setup.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_agno_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_autogen_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_aws_bedrock_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_claude_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_client.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_crewai_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_execution_broker.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_google_adk_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_identity_context.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_langgraph_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_llamaindex_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_local_simulation.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_mcp_host_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_microsoft_agent_framework_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_microsoft_ai_foundry_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_openai_agents_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/tests/test_pydanticai_integration.py +0 -0
- {agenticdome_python_sdk-1.2.14 → agenticdome_python_sdk-1.2.16}/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.16
|
|
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
|
|
@@ -32,20 +32,20 @@ License-File: NOTICE
|
|
|
32
32
|
Requires-Dist: requests>=2.31.0
|
|
33
33
|
Requires-Dist: urllib3>=2.0.0
|
|
34
34
|
Provides-Extra: crewai
|
|
35
|
-
Requires-Dist: crewai<=1.15.
|
|
35
|
+
Requires-Dist: crewai<=1.15.15,>=1.15.5; extra == "crewai"
|
|
36
36
|
Provides-Extra: redis
|
|
37
37
|
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.28.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.28.0,>=2.16.0; extra == "pydantic"
|
|
45
45
|
Requires-Dist: anyio>=4.0.0; extra == "pydantic"
|
|
46
46
|
Provides-Extra: langgraph
|
|
47
|
-
Requires-Dist: langgraph<=1.2.
|
|
48
|
-
Requires-Dist: langchain-core<=1.5.
|
|
47
|
+
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "langgraph"
|
|
48
|
+
Requires-Dist: langchain-core<=1.5.4,>=1.5.0; extra == "langgraph"
|
|
49
49
|
Requires-Dist: langchain-openai==1.3.5; extra == "langgraph"
|
|
50
50
|
Requires-Dist: anyio>=4.0.0; extra == "langgraph"
|
|
51
51
|
Provides-Extra: microsoft
|
|
@@ -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.69,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
68
|
+
Requires-Dist: boto3<=1.43.69,>=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,19 +75,19 @@ 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.136,>=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.136,>=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
|
-
Requires-Dist: crewai<=1.15.
|
|
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.28.0,>=2.16.0; extra == "all"
|
|
88
88
|
Requires-Dist: anyio>=4.0.0; extra == "all"
|
|
89
|
-
Requires-Dist: langgraph<=1.2.
|
|
90
|
-
Requires-Dist: langchain-core<=1.5.
|
|
89
|
+
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "all"
|
|
90
|
+
Requires-Dist: langchain-core<=1.5.4,>=1.5.0; extra == "all"
|
|
91
91
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
92
92
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
93
93
|
Requires-Dist: agno<=2.8.7,>=2.8.0; extra == "all"
|
|
@@ -95,13 +95,14 @@ 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.69,>=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.136,>=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"
|
|
105
|
+
Requires-Dist: anyio>=4.0.0; extra == "dev"
|
|
105
106
|
Requires-Dist: tomli>=2.0.0; python_version < "3.11" and extra == "dev"
|
|
106
107
|
Requires-Dist: ruff>=0.5.0; extra == "dev"
|
|
107
108
|
Requires-Dist: mypy>=1.8.0; extra == "dev"
|
|
@@ -265,6 +266,20 @@ Customer application |
|
|
|
265
266
|
|
|
266
267
|
The SDK must be attached in application code; setting environment variables alone does not intercept a framework. The assigned sidecar authenticates the tenant and evaluates live requests. Tools still execute in the customer's environment or selected provider unless a separate execution service has been deliberately configured.
|
|
267
268
|
|
|
269
|
+
### Where the assigned runtime runs
|
|
270
|
+
|
|
271
|
+
- **Managed service:** AgenticDome assigns the tenant a managed sidecar in the
|
|
272
|
+
selected supported geographic region, subject to availability and the
|
|
273
|
+
customer's plan or contract.
|
|
274
|
+
- **Sovereign deployment:** the runtime is deployed within the contracted
|
|
275
|
+
customer-controlled boundary, such as a dedicated VPC, customer cloud, or
|
|
276
|
+
on-premises environment.
|
|
277
|
+
|
|
278
|
+
The SDK does not choose or change runtime placement; it connects to the
|
|
279
|
+
tenant-specific API base supplied during onboarding. See
|
|
280
|
+
[Runtime location and Redis responsibilities](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/runtime-deployment.md) for
|
|
281
|
+
the deployment boundary and customer responsibilities.
|
|
282
|
+
|
|
268
283
|
### Who does what
|
|
269
284
|
|
|
270
285
|
| Persona / component | Responsibilities | Commercial model |
|
|
@@ -371,7 +386,7 @@ pip install agenticdome-python-sdk
|
|
|
371
386
|
| LlamaIndex | `pip install "agenticdome-python-sdk[llamaindex]"` |
|
|
372
387
|
| AWS Bedrock / Bedrock Agents | `pip install "agenticdome-python-sdk[bedrock]"` |
|
|
373
388
|
| MCP host / gateway | `pip install "agenticdome-python-sdk[mcp]"` |
|
|
374
|
-
|
|
|
389
|
+
| Optional cross-process delegation store | `pip install "agenticdome-python-sdk[redis]"` |
|
|
375
390
|
| Proof-of-possession helpers | `pip install "agenticdome-python-sdk[pop]"` |
|
|
376
391
|
| All optional integrations | `pip install "agenticdome-python-sdk[all]"` |
|
|
377
392
|
|
|
@@ -425,7 +440,10 @@ export AGENTICDOME_REQUIRE_TOKEN="true"
|
|
|
425
440
|
export AGENTICDOME_REPORT_INCIDENTS="true"
|
|
426
441
|
```
|
|
427
442
|
|
|
428
|
-
|
|
443
|
+
Redis is **not required for normal SDK policy calls** or when using an assigned
|
|
444
|
+
managed sidecar. Add customer-managed Redis only when manager-to-specialist
|
|
445
|
+
delegation is authorised in one application process, worker, or pod and its
|
|
446
|
+
one-time handoff state must be consumed in another:
|
|
429
447
|
|
|
430
448
|
```bash
|
|
431
449
|
export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
@@ -473,8 +491,8 @@ export AGENTICDOME_PRODUCTION_MODE="false" # production hardening (st
|
|
|
473
491
|
| `AGENTICDOME_REQUIRE_SESSION_ID` | boolean | framework-specific | Requires explicit session ID for strict audit mapping. |
|
|
474
492
|
| `AGENTICDOME_DEFAULT_TOOL_PLATFORM` | string | `unknown` / `python` | Fallback platform for tools. |
|
|
475
493
|
| `AGENTICDOME_HANDOFF_TOKEN_TTL_S` | integer | `900` | Delegation token TTL in seconds. |
|
|
476
|
-
| `AGENTICDOME_REDIS_URL` | string | empty | Optional Redis
|
|
477
|
-
| `AGENTICDOME_REDIS_KEY_PREFIX` | string | framework-specific |
|
|
494
|
+
| `AGENTICDOME_REDIS_URL` | string | empty | Optional customer-application Redis URL, needed only when one-time delegation state must cross processes, workers, or pods. It is unrelated to the managed sidecar's internal backing services. |
|
|
495
|
+
| `AGENTICDOME_REDIS_KEY_PREFIX` | string | framework-specific | Optional key prefix for the customer application's cross-process delegation store. |
|
|
478
496
|
| `AGENTICDOME_TOKEN_HMAC_SECRET` | string | empty | Optional secret-manager value used by the SDK to protect shared delegation state. Applications should not inspect or construct that state. |
|
|
479
497
|
| `AGENTICDOME_PRODUCTION_MODE` | boolean | `false` | Enables production hardening such as stable session ID enforcement. |
|
|
480
498
|
| `AGENTICDOME_REQUIRE_STABLE_SESSION_ID_IN_PROD` | boolean | `true` | Requires a stable session/run/trace ID when production mode is enabled. |
|
|
@@ -1227,10 +1245,10 @@ export AGENTICDOME_PRODUCTION_MODE="true"
|
|
|
1227
1245
|
export AGENTICDOME_REQUIRE_STABLE_SESSION_ID_IN_PROD="true"
|
|
1228
1246
|
export AGENTICDOME_FOUNDRY_REQUIRE_OUTPUT_SANITIZATION_IN_PROD="true"
|
|
1229
1247
|
|
|
1230
|
-
#
|
|
1231
|
-
export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
1232
|
-
export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:foundry:handoff"
|
|
1233
|
-
export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-kms"
|
|
1248
|
+
# Optional only when delegated execution crosses processes/workers/pods:
|
|
1249
|
+
# export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
1250
|
+
# export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:foundry:handoff"
|
|
1251
|
+
# export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-kms"
|
|
1234
1252
|
```
|
|
1235
1253
|
|
|
1236
1254
|
**Attach middleware, then secure the run boundary:**
|
|
@@ -1301,7 +1319,10 @@ def create_refund(ctx, args):
|
|
|
1301
1319
|
return {"refund_id": "rfnd_123", "status": "created"}
|
|
1302
1320
|
```
|
|
1303
1321
|
|
|
1304
|
-
**Delegated Foundry tool execution** —
|
|
1322
|
+
**Delegated Foundry tool execution** — authorization stores decision state in
|
|
1323
|
+
memory by default. Configure the optional Redis store only when the specialist
|
|
1324
|
+
executes in another process, worker, or pod; the specialist consumes and
|
|
1325
|
+
verifies the decision before executing:
|
|
1305
1326
|
|
|
1306
1327
|
```python
|
|
1307
1328
|
await firewall.authorize_manager_handoff(
|
|
@@ -1680,7 +1701,8 @@ firewall.pre_hook(
|
|
|
1680
1701
|
)
|
|
1681
1702
|
```
|
|
1682
1703
|
|
|
1683
|
-
The specialist side verifies a token passed in args or recovers it from
|
|
1704
|
+
The specialist side verifies a token passed in args or recovers it from the
|
|
1705
|
+
configured in-process or optional Redis store; stored tokens are consumed once:
|
|
1684
1706
|
|
|
1685
1707
|
```python
|
|
1686
1708
|
firewall.pre_hook(
|
|
@@ -1732,7 +1754,7 @@ export AGENTICDOME_AGNO_OTEL_ENABLED="true"
|
|
|
1732
1754
|
# export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-your-secret-manager"
|
|
1733
1755
|
```
|
|
1734
1756
|
|
|
1735
|
-
Notes: environment configuration alone does not attach AgenticDome — call `attach_firewall(agent_or_team)`, register `create_hook_bundle()`, use the middleware/plugin helper, or assign `cybersec_pre_hook`, `cybersec_post_hook`, and `cybersec_tool_hook` directly. Hosted/remote tools can only be protected at the local request/response boundary.
|
|
1757
|
+
Notes: environment configuration alone does not attach AgenticDome — call `attach_firewall(agent_or_team)`, register `create_hook_bundle()`, use the middleware/plugin helper, or assign `cybersec_pre_hook`, `cybersec_post_hook`, and `cybersec_tool_hook` directly. Hosted/remote tools can only be protected at the local request/response boundary. Use stable `session_id`/`run_id`/`trace_id` values. Configure the optional Redis store only when delegation authorization and execution cross workers or pods.
|
|
1736
1758
|
|
|
1737
1759
|
Official references: [Agno SDK overview](https://docs.agno.com/features/sdk) · [Agent reference](https://docs.agno.com/reference/agents/agent)
|
|
1738
1760
|
|
|
@@ -2119,7 +2141,9 @@ result = await secure_refund(
|
|
|
2119
2141
|
)
|
|
2120
2142
|
```
|
|
2121
2143
|
|
|
2122
|
-
**Multi-agent delegation** —
|
|
2144
|
+
**Multi-agent delegation** — the in-process store is sufficient when
|
|
2145
|
+
authorization and execution stay in one process. Configure Redis only when the
|
|
2146
|
+
one-time delegation state must cross workers or pods:
|
|
2123
2147
|
|
|
2124
2148
|
```python
|
|
2125
2149
|
record = await firewall.authorize_manager_handoff(
|
|
@@ -2527,9 +2551,16 @@ The middleware supports configurable fail behavior:
|
|
|
2527
2551
|
- **Fail closed** (`AGENTICDOME_FAIL_CLOSED="true"`): block execution if security checks fail or the AgenticDome API is unavailable. **Use this in production.**
|
|
2528
2552
|
- **Fail open** (`AGENTICDOME_FAIL_CLOSED="false"`): allow execution for development or non-critical environments. Do not use in production unless you have compensating controls.
|
|
2529
2553
|
|
|
2530
|
-
### Redis
|
|
2554
|
+
### Optional Redis for cross-process delegation
|
|
2555
|
+
|
|
2556
|
+
Most customers do not need to install or configure Redis. Prompt screening,
|
|
2557
|
+
tool authorization, MCP checks, output review, and calls to an assigned runtime
|
|
2558
|
+
sidecar do not require customer-managed Redis. The Python adapters use an
|
|
2559
|
+
in-process token store by default.
|
|
2531
2560
|
|
|
2532
|
-
|
|
2561
|
+
Use Redis only when manager-to-specialist delegation is authorised in one
|
|
2562
|
+
application process, worker, or pod and the one-time handoff state must be
|
|
2563
|
+
consumed in another:
|
|
2533
2564
|
|
|
2534
2565
|
```bash
|
|
2535
2566
|
pip install "agenticdome-python-sdk[redis]"
|
|
@@ -2538,7 +2569,12 @@ export AGENTICDOME_REDIS_URL="redis://redis.example.internal:6379/0"
|
|
|
2538
2569
|
export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:runtime:handoff"
|
|
2539
2570
|
```
|
|
2540
2571
|
|
|
2541
|
-
|
|
2572
|
+
This is the customer application's shared token store; it is not the Redis
|
|
2573
|
+
service operated behind an AgenticDome-managed sidecar. The SDK provides
|
|
2574
|
+
integrity-protected, one-time delegation state for supported shared-store
|
|
2575
|
+
deployments. Configure `AGENTICDOME_TOKEN_HMAC_SECRET` from a secret manager and
|
|
2576
|
+
let the SDK create and consume these records; applications should not construct
|
|
2577
|
+
or modify their internal representation.
|
|
2542
2578
|
|
|
2543
2579
|
### Production checklist
|
|
2544
2580
|
|
|
@@ -154,6 +154,20 @@ Customer application |
|
|
|
154
154
|
|
|
155
155
|
The SDK must be attached in application code; setting environment variables alone does not intercept a framework. The assigned sidecar authenticates the tenant and evaluates live requests. Tools still execute in the customer's environment or selected provider unless a separate execution service has been deliberately configured.
|
|
156
156
|
|
|
157
|
+
### Where the assigned runtime runs
|
|
158
|
+
|
|
159
|
+
- **Managed service:** AgenticDome assigns the tenant a managed sidecar in the
|
|
160
|
+
selected supported geographic region, subject to availability and the
|
|
161
|
+
customer's plan or contract.
|
|
162
|
+
- **Sovereign deployment:** the runtime is deployed within the contracted
|
|
163
|
+
customer-controlled boundary, such as a dedicated VPC, customer cloud, or
|
|
164
|
+
on-premises environment.
|
|
165
|
+
|
|
166
|
+
The SDK does not choose or change runtime placement; it connects to the
|
|
167
|
+
tenant-specific API base supplied during onboarding. See
|
|
168
|
+
[Runtime location and Redis responsibilities](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/runtime-deployment.md) for
|
|
169
|
+
the deployment boundary and customer responsibilities.
|
|
170
|
+
|
|
157
171
|
### Who does what
|
|
158
172
|
|
|
159
173
|
| Persona / component | Responsibilities | Commercial model |
|
|
@@ -260,7 +274,7 @@ pip install agenticdome-python-sdk
|
|
|
260
274
|
| LlamaIndex | `pip install "agenticdome-python-sdk[llamaindex]"` |
|
|
261
275
|
| AWS Bedrock / Bedrock Agents | `pip install "agenticdome-python-sdk[bedrock]"` |
|
|
262
276
|
| MCP host / gateway | `pip install "agenticdome-python-sdk[mcp]"` |
|
|
263
|
-
|
|
|
277
|
+
| Optional cross-process delegation store | `pip install "agenticdome-python-sdk[redis]"` |
|
|
264
278
|
| Proof-of-possession helpers | `pip install "agenticdome-python-sdk[pop]"` |
|
|
265
279
|
| All optional integrations | `pip install "agenticdome-python-sdk[all]"` |
|
|
266
280
|
|
|
@@ -314,7 +328,10 @@ export AGENTICDOME_REQUIRE_TOKEN="true"
|
|
|
314
328
|
export AGENTICDOME_REPORT_INCIDENTS="true"
|
|
315
329
|
```
|
|
316
330
|
|
|
317
|
-
|
|
331
|
+
Redis is **not required for normal SDK policy calls** or when using an assigned
|
|
332
|
+
managed sidecar. Add customer-managed Redis only when manager-to-specialist
|
|
333
|
+
delegation is authorised in one application process, worker, or pod and its
|
|
334
|
+
one-time handoff state must be consumed in another:
|
|
318
335
|
|
|
319
336
|
```bash
|
|
320
337
|
export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
@@ -362,8 +379,8 @@ export AGENTICDOME_PRODUCTION_MODE="false" # production hardening (st
|
|
|
362
379
|
| `AGENTICDOME_REQUIRE_SESSION_ID` | boolean | framework-specific | Requires explicit session ID for strict audit mapping. |
|
|
363
380
|
| `AGENTICDOME_DEFAULT_TOOL_PLATFORM` | string | `unknown` / `python` | Fallback platform for tools. |
|
|
364
381
|
| `AGENTICDOME_HANDOFF_TOKEN_TTL_S` | integer | `900` | Delegation token TTL in seconds. |
|
|
365
|
-
| `AGENTICDOME_REDIS_URL` | string | empty | Optional Redis
|
|
366
|
-
| `AGENTICDOME_REDIS_KEY_PREFIX` | string | framework-specific |
|
|
382
|
+
| `AGENTICDOME_REDIS_URL` | string | empty | Optional customer-application Redis URL, needed only when one-time delegation state must cross processes, workers, or pods. It is unrelated to the managed sidecar's internal backing services. |
|
|
383
|
+
| `AGENTICDOME_REDIS_KEY_PREFIX` | string | framework-specific | Optional key prefix for the customer application's cross-process delegation store. |
|
|
367
384
|
| `AGENTICDOME_TOKEN_HMAC_SECRET` | string | empty | Optional secret-manager value used by the SDK to protect shared delegation state. Applications should not inspect or construct that state. |
|
|
368
385
|
| `AGENTICDOME_PRODUCTION_MODE` | boolean | `false` | Enables production hardening such as stable session ID enforcement. |
|
|
369
386
|
| `AGENTICDOME_REQUIRE_STABLE_SESSION_ID_IN_PROD` | boolean | `true` | Requires a stable session/run/trace ID when production mode is enabled. |
|
|
@@ -1116,10 +1133,10 @@ export AGENTICDOME_PRODUCTION_MODE="true"
|
|
|
1116
1133
|
export AGENTICDOME_REQUIRE_STABLE_SESSION_ID_IN_PROD="true"
|
|
1117
1134
|
export AGENTICDOME_FOUNDRY_REQUIRE_OUTPUT_SANITIZATION_IN_PROD="true"
|
|
1118
1135
|
|
|
1119
|
-
#
|
|
1120
|
-
export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
1121
|
-
export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:foundry:handoff"
|
|
1122
|
-
export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-kms"
|
|
1136
|
+
# Optional only when delegated execution crosses processes/workers/pods:
|
|
1137
|
+
# export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
1138
|
+
# export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:foundry:handoff"
|
|
1139
|
+
# export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-kms"
|
|
1123
1140
|
```
|
|
1124
1141
|
|
|
1125
1142
|
**Attach middleware, then secure the run boundary:**
|
|
@@ -1190,7 +1207,10 @@ def create_refund(ctx, args):
|
|
|
1190
1207
|
return {"refund_id": "rfnd_123", "status": "created"}
|
|
1191
1208
|
```
|
|
1192
1209
|
|
|
1193
|
-
**Delegated Foundry tool execution** —
|
|
1210
|
+
**Delegated Foundry tool execution** — authorization stores decision state in
|
|
1211
|
+
memory by default. Configure the optional Redis store only when the specialist
|
|
1212
|
+
executes in another process, worker, or pod; the specialist consumes and
|
|
1213
|
+
verifies the decision before executing:
|
|
1194
1214
|
|
|
1195
1215
|
```python
|
|
1196
1216
|
await firewall.authorize_manager_handoff(
|
|
@@ -1569,7 +1589,8 @@ firewall.pre_hook(
|
|
|
1569
1589
|
)
|
|
1570
1590
|
```
|
|
1571
1591
|
|
|
1572
|
-
The specialist side verifies a token passed in args or recovers it from
|
|
1592
|
+
The specialist side verifies a token passed in args or recovers it from the
|
|
1593
|
+
configured in-process or optional Redis store; stored tokens are consumed once:
|
|
1573
1594
|
|
|
1574
1595
|
```python
|
|
1575
1596
|
firewall.pre_hook(
|
|
@@ -1621,7 +1642,7 @@ export AGENTICDOME_AGNO_OTEL_ENABLED="true"
|
|
|
1621
1642
|
# export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-your-secret-manager"
|
|
1622
1643
|
```
|
|
1623
1644
|
|
|
1624
|
-
Notes: environment configuration alone does not attach AgenticDome — call `attach_firewall(agent_or_team)`, register `create_hook_bundle()`, use the middleware/plugin helper, or assign `cybersec_pre_hook`, `cybersec_post_hook`, and `cybersec_tool_hook` directly. Hosted/remote tools can only be protected at the local request/response boundary.
|
|
1645
|
+
Notes: environment configuration alone does not attach AgenticDome — call `attach_firewall(agent_or_team)`, register `create_hook_bundle()`, use the middleware/plugin helper, or assign `cybersec_pre_hook`, `cybersec_post_hook`, and `cybersec_tool_hook` directly. Hosted/remote tools can only be protected at the local request/response boundary. Use stable `session_id`/`run_id`/`trace_id` values. Configure the optional Redis store only when delegation authorization and execution cross workers or pods.
|
|
1625
1646
|
|
|
1626
1647
|
Official references: [Agno SDK overview](https://docs.agno.com/features/sdk) · [Agent reference](https://docs.agno.com/reference/agents/agent)
|
|
1627
1648
|
|
|
@@ -2008,7 +2029,9 @@ result = await secure_refund(
|
|
|
2008
2029
|
)
|
|
2009
2030
|
```
|
|
2010
2031
|
|
|
2011
|
-
**Multi-agent delegation** —
|
|
2032
|
+
**Multi-agent delegation** — the in-process store is sufficient when
|
|
2033
|
+
authorization and execution stay in one process. Configure Redis only when the
|
|
2034
|
+
one-time delegation state must cross workers or pods:
|
|
2012
2035
|
|
|
2013
2036
|
```python
|
|
2014
2037
|
record = await firewall.authorize_manager_handoff(
|
|
@@ -2416,9 +2439,16 @@ The middleware supports configurable fail behavior:
|
|
|
2416
2439
|
- **Fail closed** (`AGENTICDOME_FAIL_CLOSED="true"`): block execution if security checks fail or the AgenticDome API is unavailable. **Use this in production.**
|
|
2417
2440
|
- **Fail open** (`AGENTICDOME_FAIL_CLOSED="false"`): allow execution for development or non-critical environments. Do not use in production unless you have compensating controls.
|
|
2418
2441
|
|
|
2419
|
-
### Redis
|
|
2442
|
+
### Optional Redis for cross-process delegation
|
|
2443
|
+
|
|
2444
|
+
Most customers do not need to install or configure Redis. Prompt screening,
|
|
2445
|
+
tool authorization, MCP checks, output review, and calls to an assigned runtime
|
|
2446
|
+
sidecar do not require customer-managed Redis. The Python adapters use an
|
|
2447
|
+
in-process token store by default.
|
|
2420
2448
|
|
|
2421
|
-
|
|
2449
|
+
Use Redis only when manager-to-specialist delegation is authorised in one
|
|
2450
|
+
application process, worker, or pod and the one-time handoff state must be
|
|
2451
|
+
consumed in another:
|
|
2422
2452
|
|
|
2423
2453
|
```bash
|
|
2424
2454
|
pip install "agenticdome-python-sdk[redis]"
|
|
@@ -2427,7 +2457,12 @@ export AGENTICDOME_REDIS_URL="redis://redis.example.internal:6379/0"
|
|
|
2427
2457
|
export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:runtime:handoff"
|
|
2428
2458
|
```
|
|
2429
2459
|
|
|
2430
|
-
|
|
2460
|
+
This is the customer application's shared token store; it is not the Redis
|
|
2461
|
+
service operated behind an AgenticDome-managed sidecar. The SDK provides
|
|
2462
|
+
integrity-protected, one-time delegation state for supported shared-store
|
|
2463
|
+
deployments. Configure `AGENTICDOME_TOKEN_HMAC_SECRET` from a secret manager and
|
|
2464
|
+
let the SDK create and consume these records; applications should not construct
|
|
2465
|
+
or modify their internal representation.
|
|
2431
2466
|
|
|
2432
2467
|
### Production checklist
|
|
2433
2468
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.16
|
|
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
|
|
@@ -32,20 +32,20 @@ License-File: NOTICE
|
|
|
32
32
|
Requires-Dist: requests>=2.31.0
|
|
33
33
|
Requires-Dist: urllib3>=2.0.0
|
|
34
34
|
Provides-Extra: crewai
|
|
35
|
-
Requires-Dist: crewai<=1.15.
|
|
35
|
+
Requires-Dist: crewai<=1.15.15,>=1.15.5; extra == "crewai"
|
|
36
36
|
Provides-Extra: redis
|
|
37
37
|
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.28.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.28.0,>=2.16.0; extra == "pydantic"
|
|
45
45
|
Requires-Dist: anyio>=4.0.0; extra == "pydantic"
|
|
46
46
|
Provides-Extra: langgraph
|
|
47
|
-
Requires-Dist: langgraph<=1.2.
|
|
48
|
-
Requires-Dist: langchain-core<=1.5.
|
|
47
|
+
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "langgraph"
|
|
48
|
+
Requires-Dist: langchain-core<=1.5.4,>=1.5.0; extra == "langgraph"
|
|
49
49
|
Requires-Dist: langchain-openai==1.3.5; extra == "langgraph"
|
|
50
50
|
Requires-Dist: anyio>=4.0.0; extra == "langgraph"
|
|
51
51
|
Provides-Extra: microsoft
|
|
@@ -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.69,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
68
|
+
Requires-Dist: boto3<=1.43.69,>=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,19 +75,19 @@ 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.136,>=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.136,>=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
|
-
Requires-Dist: crewai<=1.15.
|
|
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.28.0,>=2.16.0; extra == "all"
|
|
88
88
|
Requires-Dist: anyio>=4.0.0; extra == "all"
|
|
89
|
-
Requires-Dist: langgraph<=1.2.
|
|
90
|
-
Requires-Dist: langchain-core<=1.5.
|
|
89
|
+
Requires-Dist: langgraph<=1.2.11,>=1.2.9; extra == "all"
|
|
90
|
+
Requires-Dist: langchain-core<=1.5.4,>=1.5.0; extra == "all"
|
|
91
91
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
92
92
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
93
93
|
Requires-Dist: agno<=2.8.7,>=2.8.0; extra == "all"
|
|
@@ -95,13 +95,14 @@ 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.69,>=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.136,>=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"
|
|
105
|
+
Requires-Dist: anyio>=4.0.0; extra == "dev"
|
|
105
106
|
Requires-Dist: tomli>=2.0.0; python_version < "3.11" and extra == "dev"
|
|
106
107
|
Requires-Dist: ruff>=0.5.0; extra == "dev"
|
|
107
108
|
Requires-Dist: mypy>=1.8.0; extra == "dev"
|
|
@@ -265,6 +266,20 @@ Customer application |
|
|
|
265
266
|
|
|
266
267
|
The SDK must be attached in application code; setting environment variables alone does not intercept a framework. The assigned sidecar authenticates the tenant and evaluates live requests. Tools still execute in the customer's environment or selected provider unless a separate execution service has been deliberately configured.
|
|
267
268
|
|
|
269
|
+
### Where the assigned runtime runs
|
|
270
|
+
|
|
271
|
+
- **Managed service:** AgenticDome assigns the tenant a managed sidecar in the
|
|
272
|
+
selected supported geographic region, subject to availability and the
|
|
273
|
+
customer's plan or contract.
|
|
274
|
+
- **Sovereign deployment:** the runtime is deployed within the contracted
|
|
275
|
+
customer-controlled boundary, such as a dedicated VPC, customer cloud, or
|
|
276
|
+
on-premises environment.
|
|
277
|
+
|
|
278
|
+
The SDK does not choose or change runtime placement; it connects to the
|
|
279
|
+
tenant-specific API base supplied during onboarding. See
|
|
280
|
+
[Runtime location and Redis responsibilities](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/runtime-deployment.md) for
|
|
281
|
+
the deployment boundary and customer responsibilities.
|
|
282
|
+
|
|
268
283
|
### Who does what
|
|
269
284
|
|
|
270
285
|
| Persona / component | Responsibilities | Commercial model |
|
|
@@ -371,7 +386,7 @@ pip install agenticdome-python-sdk
|
|
|
371
386
|
| LlamaIndex | `pip install "agenticdome-python-sdk[llamaindex]"` |
|
|
372
387
|
| AWS Bedrock / Bedrock Agents | `pip install "agenticdome-python-sdk[bedrock]"` |
|
|
373
388
|
| MCP host / gateway | `pip install "agenticdome-python-sdk[mcp]"` |
|
|
374
|
-
|
|
|
389
|
+
| Optional cross-process delegation store | `pip install "agenticdome-python-sdk[redis]"` |
|
|
375
390
|
| Proof-of-possession helpers | `pip install "agenticdome-python-sdk[pop]"` |
|
|
376
391
|
| All optional integrations | `pip install "agenticdome-python-sdk[all]"` |
|
|
377
392
|
|
|
@@ -425,7 +440,10 @@ export AGENTICDOME_REQUIRE_TOKEN="true"
|
|
|
425
440
|
export AGENTICDOME_REPORT_INCIDENTS="true"
|
|
426
441
|
```
|
|
427
442
|
|
|
428
|
-
|
|
443
|
+
Redis is **not required for normal SDK policy calls** or when using an assigned
|
|
444
|
+
managed sidecar. Add customer-managed Redis only when manager-to-specialist
|
|
445
|
+
delegation is authorised in one application process, worker, or pod and its
|
|
446
|
+
one-time handoff state must be consumed in another:
|
|
429
447
|
|
|
430
448
|
```bash
|
|
431
449
|
export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
@@ -473,8 +491,8 @@ export AGENTICDOME_PRODUCTION_MODE="false" # production hardening (st
|
|
|
473
491
|
| `AGENTICDOME_REQUIRE_SESSION_ID` | boolean | framework-specific | Requires explicit session ID for strict audit mapping. |
|
|
474
492
|
| `AGENTICDOME_DEFAULT_TOOL_PLATFORM` | string | `unknown` / `python` | Fallback platform for tools. |
|
|
475
493
|
| `AGENTICDOME_HANDOFF_TOKEN_TTL_S` | integer | `900` | Delegation token TTL in seconds. |
|
|
476
|
-
| `AGENTICDOME_REDIS_URL` | string | empty | Optional Redis
|
|
477
|
-
| `AGENTICDOME_REDIS_KEY_PREFIX` | string | framework-specific |
|
|
494
|
+
| `AGENTICDOME_REDIS_URL` | string | empty | Optional customer-application Redis URL, needed only when one-time delegation state must cross processes, workers, or pods. It is unrelated to the managed sidecar's internal backing services. |
|
|
495
|
+
| `AGENTICDOME_REDIS_KEY_PREFIX` | string | framework-specific | Optional key prefix for the customer application's cross-process delegation store. |
|
|
478
496
|
| `AGENTICDOME_TOKEN_HMAC_SECRET` | string | empty | Optional secret-manager value used by the SDK to protect shared delegation state. Applications should not inspect or construct that state. |
|
|
479
497
|
| `AGENTICDOME_PRODUCTION_MODE` | boolean | `false` | Enables production hardening such as stable session ID enforcement. |
|
|
480
498
|
| `AGENTICDOME_REQUIRE_STABLE_SESSION_ID_IN_PROD` | boolean | `true` | Requires a stable session/run/trace ID when production mode is enabled. |
|
|
@@ -1227,10 +1245,10 @@ export AGENTICDOME_PRODUCTION_MODE="true"
|
|
|
1227
1245
|
export AGENTICDOME_REQUIRE_STABLE_SESSION_ID_IN_PROD="true"
|
|
1228
1246
|
export AGENTICDOME_FOUNDRY_REQUIRE_OUTPUT_SANITIZATION_IN_PROD="true"
|
|
1229
1247
|
|
|
1230
|
-
#
|
|
1231
|
-
export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
1232
|
-
export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:foundry:handoff"
|
|
1233
|
-
export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-kms"
|
|
1248
|
+
# Optional only when delegated execution crosses processes/workers/pods:
|
|
1249
|
+
# export AGENTICDOME_REDIS_URL="redis://redis.internal:6379/0"
|
|
1250
|
+
# export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:foundry:handoff"
|
|
1251
|
+
# export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-kms"
|
|
1234
1252
|
```
|
|
1235
1253
|
|
|
1236
1254
|
**Attach middleware, then secure the run boundary:**
|
|
@@ -1301,7 +1319,10 @@ def create_refund(ctx, args):
|
|
|
1301
1319
|
return {"refund_id": "rfnd_123", "status": "created"}
|
|
1302
1320
|
```
|
|
1303
1321
|
|
|
1304
|
-
**Delegated Foundry tool execution** —
|
|
1322
|
+
**Delegated Foundry tool execution** — authorization stores decision state in
|
|
1323
|
+
memory by default. Configure the optional Redis store only when the specialist
|
|
1324
|
+
executes in another process, worker, or pod; the specialist consumes and
|
|
1325
|
+
verifies the decision before executing:
|
|
1305
1326
|
|
|
1306
1327
|
```python
|
|
1307
1328
|
await firewall.authorize_manager_handoff(
|
|
@@ -1680,7 +1701,8 @@ firewall.pre_hook(
|
|
|
1680
1701
|
)
|
|
1681
1702
|
```
|
|
1682
1703
|
|
|
1683
|
-
The specialist side verifies a token passed in args or recovers it from
|
|
1704
|
+
The specialist side verifies a token passed in args or recovers it from the
|
|
1705
|
+
configured in-process or optional Redis store; stored tokens are consumed once:
|
|
1684
1706
|
|
|
1685
1707
|
```python
|
|
1686
1708
|
firewall.pre_hook(
|
|
@@ -1732,7 +1754,7 @@ export AGENTICDOME_AGNO_OTEL_ENABLED="true"
|
|
|
1732
1754
|
# export AGENTICDOME_TOKEN_HMAC_SECRET="replace-with-secret-from-your-secret-manager"
|
|
1733
1755
|
```
|
|
1734
1756
|
|
|
1735
|
-
Notes: environment configuration alone does not attach AgenticDome — call `attach_firewall(agent_or_team)`, register `create_hook_bundle()`, use the middleware/plugin helper, or assign `cybersec_pre_hook`, `cybersec_post_hook`, and `cybersec_tool_hook` directly. Hosted/remote tools can only be protected at the local request/response boundary.
|
|
1757
|
+
Notes: environment configuration alone does not attach AgenticDome — call `attach_firewall(agent_or_team)`, register `create_hook_bundle()`, use the middleware/plugin helper, or assign `cybersec_pre_hook`, `cybersec_post_hook`, and `cybersec_tool_hook` directly. Hosted/remote tools can only be protected at the local request/response boundary. Use stable `session_id`/`run_id`/`trace_id` values. Configure the optional Redis store only when delegation authorization and execution cross workers or pods.
|
|
1736
1758
|
|
|
1737
1759
|
Official references: [Agno SDK overview](https://docs.agno.com/features/sdk) · [Agent reference](https://docs.agno.com/reference/agents/agent)
|
|
1738
1760
|
|
|
@@ -2119,7 +2141,9 @@ result = await secure_refund(
|
|
|
2119
2141
|
)
|
|
2120
2142
|
```
|
|
2121
2143
|
|
|
2122
|
-
**Multi-agent delegation** —
|
|
2144
|
+
**Multi-agent delegation** — the in-process store is sufficient when
|
|
2145
|
+
authorization and execution stay in one process. Configure Redis only when the
|
|
2146
|
+
one-time delegation state must cross workers or pods:
|
|
2123
2147
|
|
|
2124
2148
|
```python
|
|
2125
2149
|
record = await firewall.authorize_manager_handoff(
|
|
@@ -2527,9 +2551,16 @@ The middleware supports configurable fail behavior:
|
|
|
2527
2551
|
- **Fail closed** (`AGENTICDOME_FAIL_CLOSED="true"`): block execution if security checks fail or the AgenticDome API is unavailable. **Use this in production.**
|
|
2528
2552
|
- **Fail open** (`AGENTICDOME_FAIL_CLOSED="false"`): allow execution for development or non-critical environments. Do not use in production unless you have compensating controls.
|
|
2529
2553
|
|
|
2530
|
-
### Redis
|
|
2554
|
+
### Optional Redis for cross-process delegation
|
|
2555
|
+
|
|
2556
|
+
Most customers do not need to install or configure Redis. Prompt screening,
|
|
2557
|
+
tool authorization, MCP checks, output review, and calls to an assigned runtime
|
|
2558
|
+
sidecar do not require customer-managed Redis. The Python adapters use an
|
|
2559
|
+
in-process token store by default.
|
|
2531
2560
|
|
|
2532
|
-
|
|
2561
|
+
Use Redis only when manager-to-specialist delegation is authorised in one
|
|
2562
|
+
application process, worker, or pod and the one-time handoff state must be
|
|
2563
|
+
consumed in another:
|
|
2533
2564
|
|
|
2534
2565
|
```bash
|
|
2535
2566
|
pip install "agenticdome-python-sdk[redis]"
|
|
@@ -2538,7 +2569,12 @@ export AGENTICDOME_REDIS_URL="redis://redis.example.internal:6379/0"
|
|
|
2538
2569
|
export AGENTICDOME_REDIS_KEY_PREFIX="AgenticDome:runtime:handoff"
|
|
2539
2570
|
```
|
|
2540
2571
|
|
|
2541
|
-
|
|
2572
|
+
This is the customer application's shared token store; it is not the Redis
|
|
2573
|
+
service operated behind an AgenticDome-managed sidecar. The SDK provides
|
|
2574
|
+
integrity-protected, one-time delegation state for supported shared-store
|
|
2575
|
+
deployments. Configure `AGENTICDOME_TOKEN_HMAC_SECRET` from a secret manager and
|
|
2576
|
+
let the SDK create and consume these records; applications should not construct
|
|
2577
|
+
or modify their internal representation.
|
|
2542
2578
|
|
|
2543
2579
|
### Production checklist
|
|
2544
2580
|
|