agenticdome-python-sdk 1.2.16__tar.gz → 1.2.18__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.18}/PKG-INFO +92 -27
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/README.md +71 -6
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_python_sdk.egg-info/PKG-INFO +92 -27
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_python_sdk.egg-info/SOURCES.txt +3 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_python_sdk.egg-info/entry_points.txt +1 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_python_sdk.egg-info/requires.txt +20 -20
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/demo.py +14 -3
- agenticdome_python_sdk-1.2.18/agenticdome_sdk/onboarding_cli.py +649 -0
- agenticdome_python_sdk-1.2.18/docs/customer-onboarding.md +191 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/README.md +10 -2
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/agno.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/autogen.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/aws-bedrock.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/claude-agent-sdk.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/crewai.md +9 -2
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/custom-python.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/google-adk.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/langgraph.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/llamaindex.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/microsoft-agent-framework.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/microsoft-ai-foundry.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/openai-agents.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/pydanticai.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/frameworks/smolagents.md +10 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/mcp-integration.md +37 -3
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/README.md +21 -3
- agenticdome_python_sdk-1.2.18/examples/frameworks/README.md +21 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/pyproject.toml +22 -21
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_local_simulation.py +56 -1
- agenticdome_python_sdk-1.2.18/tests/test_onboarding_cli.py +209 -0
- agenticdome_python_sdk-1.2.16/examples/frameworks/README.md +0 -13
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/CONTRIBUTING.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/LICENSE +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/NOTICE +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/SECURITY.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/__init__.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/_framework_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/_mode.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/claude.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/client.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/identity.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/mcp_host.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/proof.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/simulation.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/agenticdome_sdk/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/performance-evidence.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/docs/runtime-deployment.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/PRODUCTION_INTEGRATION.md +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/crewai_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/_shared.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/agno.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/claude_agent_sdk.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/custom_python.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/mcp.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/pydanticai.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/frameworks/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/langgraph_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/local_simulation_gallery.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/examples/mcp_gateway_action_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/setup.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_agno_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_autogen_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_aws_bedrock_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_claude_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_client.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_crewai_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_execution_broker.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_framework_guides.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_google_adk_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_identity_context.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_langgraph_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_llamaindex_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_mcp_host_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_mcp_launch_example.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_microsoft_agent_framework_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_microsoft_ai_foundry_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_openai_agents_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/tests/test_pydanticai_integration.py +0 -0
- {agenticdome_python_sdk-1.2.16 → agenticdome_python_sdk-1.2.18}/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.18
|
|
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.16,>=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.31.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.31.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"
|
|
48
|
-
Requires-Dist: langchain-core<=1.5.
|
|
48
|
+
Requires-Dist: langchain-core<=1.5.5,>=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
|
|
@@ -57,48 +57,48 @@ Provides-Extra: foundry
|
|
|
57
57
|
Requires-Dist: azure-ai-projects<=2.4.0,>=2.3.0; extra == "foundry"
|
|
58
58
|
Requires-Dist: azure-identity==1.25.3; extra == "foundry"
|
|
59
59
|
Provides-Extra: agno
|
|
60
|
-
Requires-Dist: agno<=2.
|
|
60
|
+
Requires-Dist: agno<=2.9.0,>=2.8.0; extra == "agno"
|
|
61
61
|
Provides-Extra: openai-agents
|
|
62
|
-
Requires-Dist: openai-agents<=0.
|
|
62
|
+
Requires-Dist: openai-agents<=0.21.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.72,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
68
|
+
Requires-Dist: boto3<=1.43.72,>=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
|
|
72
72
|
Requires-Dist: llama-index==0.14.23; extra == "llama-index"
|
|
73
73
|
Provides-Extra: google-adk
|
|
74
|
-
Requires-Dist: google-adk<=2.
|
|
74
|
+
Requires-Dist: google-adk<=2.7.0,>=2.5.0; extra == "google-adk"
|
|
75
75
|
Provides-Extra: adk
|
|
76
|
-
Requires-Dist: google-adk<=2.
|
|
76
|
+
Requires-Dist: google-adk<=2.7.0,>=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.139,>=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.139,>=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.16,>=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.31.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
|
-
Requires-Dist: langchain-core<=1.5.
|
|
90
|
+
Requires-Dist: langchain-core<=1.5.5,>=1.5.0; extra == "all"
|
|
91
91
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
92
92
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
93
|
-
Requires-Dist: agno<=2.
|
|
93
|
+
Requires-Dist: agno<=2.9.0,>=2.8.0; extra == "all"
|
|
94
94
|
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
|
-
Requires-Dist: openai-agents<=0.
|
|
96
|
+
Requires-Dist: openai-agents<=0.21.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.72,>=1.43.54; extra == "all"
|
|
99
99
|
Requires-Dist: llama-index==0.14.23; extra == "all"
|
|
100
|
-
Requires-Dist: google-adk<=2.
|
|
101
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
100
|
+
Requires-Dist: google-adk<=2.7.0,>=2.5.0; extra == "all"
|
|
101
|
+
Requires-Dist: claude-agent-sdk<=0.2.139,>=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"
|
|
@@ -117,7 +117,7 @@ Dynamic: license-file
|
|
|
117
117
|
[](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
|
|
118
118
|
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
119
119
|
|
|
120
|
-
[Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [Framework integration guides](https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks) · [MCP integration guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md) · [Issue tracker](https://github.com/agenticdome/agenticdome-python-sdk/issues) · [Security policy](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/SECURITY.md) · [PyPI package](https://pypi.org/project/agenticdome-python-sdk/)
|
|
120
|
+
[Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [Customer onboarding guide](docs/customer-onboarding.md) · [Framework integration guides](https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks) · [MCP integration guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md) · [Issue tracker](https://github.com/agenticdome/agenticdome-python-sdk/issues) · [Security policy](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/SECURITY.md) · [PyPI package](https://pypi.org/project/agenticdome-python-sdk/)
|
|
121
121
|
|
|
122
122
|
> **Production-grade security guardrails, DLP, tool authorization, and cryptographically verified multi-agent delegation for Python autonomous AI runtimes.**
|
|
123
123
|
|
|
@@ -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
|
|
|
@@ -158,6 +165,35 @@ agenticdome-demo --framework all --scenario both
|
|
|
158
165
|
|
|
159
166
|
You can also open the [framework example gallery](examples/README.md) and run the individual example matching your stack. Before editing production code, choose the dedicated [framework integration guide](docs/frameworks/README.md), then use the [production integration playbook](examples/PRODUCTION_INTEGRATION.md) for the cross-framework attachment and proof checklist. MCP host and gateway developers can follow the dedicated [MCP Action Firewall guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md).
|
|
160
167
|
|
|
168
|
+
If this is an application you intend to connect, start the local Integration
|
|
169
|
+
Assistant from its repository root. It discovers likely protection points and
|
|
170
|
+
keeps source code on your machine:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
agenticdome init
|
|
174
|
+
agenticdome verify --run-tests --output .agenticdome/verification.json
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
`init` writes the secret-free inspection and local configuration. `verify` is
|
|
178
|
+
required before production because it rechecks the discovered boundaries,
|
|
179
|
+
runs harmless allowed/blocked cases and, with `--run-tests`, runs detected
|
|
180
|
+
application tests. If you want a suggested patch, run `agenticdome scaffold`;
|
|
181
|
+
that step is optional and writes an unapplied patch for review.
|
|
182
|
+
|
|
183
|
+
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
184
|
+
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
185
|
+
languages and candidate boundaries can be discovered locally; business
|
|
186
|
+
purpose, sensitive actions and managed-versus-sovereign deployment remain
|
|
187
|
+
explicit customer decisions and are not guessed from source code.
|
|
188
|
+
|
|
189
|
+
Use **Customer Control Panel → Activate Action Firewall → Core Config** to
|
|
190
|
+
choose the Developer Integration path and import the two evidence files. This
|
|
191
|
+
path is for SDK, MCP, framework or custom-code integrations; Microsoft
|
|
192
|
+
Discovery Scan and Copilot Studio external protection are separate optional
|
|
193
|
+
paths selected from Core Config. See the
|
|
194
|
+
[customer onboarding guide](docs/customer-onboarding.md) for the complete
|
|
195
|
+
required-versus-optional workflow.
|
|
196
|
+
|
|
161
197
|
### 5. Connect the same integration to AgenticDome
|
|
162
198
|
|
|
163
199
|
When you are ready to test real tenant policy, remove `AGENTICDOME_MODE=local_sim`, obtain the assigned runtime sidecar URL, Runtime/SDK API key and tenant ID from AgenticDome, and configure:
|
|
@@ -170,7 +206,13 @@ export AGENTICDOME_TENANT_ID="your_tenant_id"
|
|
|
170
206
|
agenticdome-demo --framework langgraph --scenario both --live
|
|
171
207
|
```
|
|
172
208
|
|
|
173
|
-
|
|
209
|
+
With `--live`, the same fixed scenarios are sent to the actual assigned
|
|
210
|
+
AgenticDome runtime sidecar, so their verdicts come from the customer's tenant
|
|
211
|
+
policy and engine. The live demo still does not instantiate LangGraph or prove
|
|
212
|
+
that an application has attached the framework adapter at every execution
|
|
213
|
+
boundary. Use the framework guide to attach the adapter, test the real
|
|
214
|
+
application path, and use AgenticDome Runtime Assurance for production
|
|
215
|
+
evidence.
|
|
174
216
|
|
|
175
217
|
```python
|
|
176
218
|
# The 30-second version: block a prompt-injected refund before it executes.
|
|
@@ -205,6 +247,21 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
|
|
|
205
247
|
|
|
206
248
|
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
249
|
|
|
250
|
+
### Identity is necessary, but it is not the action decision
|
|
251
|
+
|
|
252
|
+
Give every agent and workload a distinct principal and keep your identity
|
|
253
|
+
provider authoritative for authentication, scopes, conditional access,
|
|
254
|
+
credential lifecycle, and downstream entitlements. Then pass the identity the
|
|
255
|
+
application has actually authenticated into AgenticDome alongside the agent,
|
|
256
|
+
purpose, tool, final arguments, session, and delegation context. A valid token
|
|
257
|
+
proves access authority; it does not prove that a prompt-influenced action is
|
|
258
|
+
appropriate. AgenticDome complements IAM by evaluating that action at the
|
|
259
|
+
application-controlled execution boundary. It does not issue enterprise
|
|
260
|
+
identities or make a stolen credential safe.
|
|
261
|
+
|
|
262
|
+
For the architectural rationale, see
|
|
263
|
+
[An agent principal proves who—not why](https://www.agenticdome.io/research/agent-principal-identity).
|
|
264
|
+
|
|
208
265
|
| Control | What it stops | Where it runs |
|
|
209
266
|
| :--- | :--- | :--- |
|
|
210
267
|
| **Prompt ingress guardrails** | Prompt injection, jailbreaks, system-prompt extraction, instruction override, policy bypass | Before agent/LLM execution |
|
|
@@ -300,15 +357,23 @@ Start with a network-free simulation, then connect the same SDK to your assigned
|
|
|
300
357
|
|
|
301
358
|
```bash
|
|
302
359
|
pip install agenticdome-python-sdk
|
|
303
|
-
#
|
|
360
|
+
# Label the fixed demonstration as LangGraph and show one ALLOWED and one BLOCKED path.
|
|
304
361
|
agenticdome-demo --framework langgraph --scenario both
|
|
305
362
|
|
|
306
|
-
# Or
|
|
363
|
+
# Or repeat the fixed demonstration under every supported framework label.
|
|
307
364
|
agenticdome-demo --framework all --scenario both
|
|
308
365
|
agenticdome-demo --list-frameworks
|
|
309
366
|
```
|
|
310
367
|
|
|
311
|
-
This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
|
|
368
|
+
This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
|
|
369
|
+
evaluates two fixed inputs with a small deterministic bundled baseline through
|
|
370
|
+
the public core-client response shape. The `--framework` option changes the
|
|
371
|
+
payload label and integration guidance; it does not import, instantiate, or run
|
|
372
|
+
the selected framework. The simulation does not load tenant policy, issue
|
|
373
|
+
signed decision tokens or execution receipts, write cloud evidence, or provide
|
|
374
|
+
runtime assurance. To exercise a real adapter inside your own process without
|
|
375
|
+
credentials, set `AGENTICDOME_MODE=local_sim` in that application or framework
|
|
376
|
+
example. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
|
|
312
377
|
|
|
313
378
|
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
379
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
|
|
6
6
|
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
7
7
|
|
|
8
|
-
[Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [Framework integration guides](https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks) · [MCP integration guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md) · [Issue tracker](https://github.com/agenticdome/agenticdome-python-sdk/issues) · [Security policy](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/SECURITY.md) · [PyPI package](https://pypi.org/project/agenticdome-python-sdk/)
|
|
8
|
+
[Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [Customer onboarding guide](docs/customer-onboarding.md) · [Framework integration guides](https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks) · [MCP integration guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md) · [Issue tracker](https://github.com/agenticdome/agenticdome-python-sdk/issues) · [Security policy](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/SECURITY.md) · [PyPI package](https://pypi.org/project/agenticdome-python-sdk/)
|
|
9
9
|
|
|
10
10
|
> **Production-grade security guardrails, DLP, tool authorization, and cryptographically verified multi-agent delegation for Python autonomous AI runtimes.**
|
|
11
11
|
|
|
@@ -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
|
|
|
@@ -46,6 +53,35 @@ agenticdome-demo --framework all --scenario both
|
|
|
46
53
|
|
|
47
54
|
You can also open the [framework example gallery](examples/README.md) and run the individual example matching your stack. Before editing production code, choose the dedicated [framework integration guide](docs/frameworks/README.md), then use the [production integration playbook](examples/PRODUCTION_INTEGRATION.md) for the cross-framework attachment and proof checklist. MCP host and gateway developers can follow the dedicated [MCP Action Firewall guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md).
|
|
48
55
|
|
|
56
|
+
If this is an application you intend to connect, start the local Integration
|
|
57
|
+
Assistant from its repository root. It discovers likely protection points and
|
|
58
|
+
keeps source code on your machine:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
agenticdome init
|
|
62
|
+
agenticdome verify --run-tests --output .agenticdome/verification.json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`init` writes the secret-free inspection and local configuration. `verify` is
|
|
66
|
+
required before production because it rechecks the discovered boundaries,
|
|
67
|
+
runs harmless allowed/blocked cases and, with `--run-tests`, runs detected
|
|
68
|
+
application tests. If you want a suggested patch, run `agenticdome scaffold`;
|
|
69
|
+
that step is optional and writes an unapplied patch for review.
|
|
70
|
+
|
|
71
|
+
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
72
|
+
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
73
|
+
languages and candidate boundaries can be discovered locally; business
|
|
74
|
+
purpose, sensitive actions and managed-versus-sovereign deployment remain
|
|
75
|
+
explicit customer decisions and are not guessed from source code.
|
|
76
|
+
|
|
77
|
+
Use **Customer Control Panel → Activate Action Firewall → Core Config** to
|
|
78
|
+
choose the Developer Integration path and import the two evidence files. This
|
|
79
|
+
path is for SDK, MCP, framework or custom-code integrations; Microsoft
|
|
80
|
+
Discovery Scan and Copilot Studio external protection are separate optional
|
|
81
|
+
paths selected from Core Config. See the
|
|
82
|
+
[customer onboarding guide](docs/customer-onboarding.md) for the complete
|
|
83
|
+
required-versus-optional workflow.
|
|
84
|
+
|
|
49
85
|
### 5. Connect the same integration to AgenticDome
|
|
50
86
|
|
|
51
87
|
When you are ready to test real tenant policy, remove `AGENTICDOME_MODE=local_sim`, obtain the assigned runtime sidecar URL, Runtime/SDK API key and tenant ID from AgenticDome, and configure:
|
|
@@ -58,7 +94,13 @@ export AGENTICDOME_TENANT_ID="your_tenant_id"
|
|
|
58
94
|
agenticdome-demo --framework langgraph --scenario both --live
|
|
59
95
|
```
|
|
60
96
|
|
|
61
|
-
|
|
97
|
+
With `--live`, the same fixed scenarios are sent to the actual assigned
|
|
98
|
+
AgenticDome runtime sidecar, so their verdicts come from the customer's tenant
|
|
99
|
+
policy and engine. The live demo still does not instantiate LangGraph or prove
|
|
100
|
+
that an application has attached the framework adapter at every execution
|
|
101
|
+
boundary. Use the framework guide to attach the adapter, test the real
|
|
102
|
+
application path, and use AgenticDome Runtime Assurance for production
|
|
103
|
+
evidence.
|
|
62
104
|
|
|
63
105
|
```python
|
|
64
106
|
# The 30-second version: block a prompt-injected refund before it executes.
|
|
@@ -93,6 +135,21 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
|
|
|
93
135
|
|
|
94
136
|
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
137
|
|
|
138
|
+
### Identity is necessary, but it is not the action decision
|
|
139
|
+
|
|
140
|
+
Give every agent and workload a distinct principal and keep your identity
|
|
141
|
+
provider authoritative for authentication, scopes, conditional access,
|
|
142
|
+
credential lifecycle, and downstream entitlements. Then pass the identity the
|
|
143
|
+
application has actually authenticated into AgenticDome alongside the agent,
|
|
144
|
+
purpose, tool, final arguments, session, and delegation context. A valid token
|
|
145
|
+
proves access authority; it does not prove that a prompt-influenced action is
|
|
146
|
+
appropriate. AgenticDome complements IAM by evaluating that action at the
|
|
147
|
+
application-controlled execution boundary. It does not issue enterprise
|
|
148
|
+
identities or make a stolen credential safe.
|
|
149
|
+
|
|
150
|
+
For the architectural rationale, see
|
|
151
|
+
[An agent principal proves who—not why](https://www.agenticdome.io/research/agent-principal-identity).
|
|
152
|
+
|
|
96
153
|
| Control | What it stops | Where it runs |
|
|
97
154
|
| :--- | :--- | :--- |
|
|
98
155
|
| **Prompt ingress guardrails** | Prompt injection, jailbreaks, system-prompt extraction, instruction override, policy bypass | Before agent/LLM execution |
|
|
@@ -188,15 +245,23 @@ Start with a network-free simulation, then connect the same SDK to your assigned
|
|
|
188
245
|
|
|
189
246
|
```bash
|
|
190
247
|
pip install agenticdome-python-sdk
|
|
191
|
-
#
|
|
248
|
+
# Label the fixed demonstration as LangGraph and show one ALLOWED and one BLOCKED path.
|
|
192
249
|
agenticdome-demo --framework langgraph --scenario both
|
|
193
250
|
|
|
194
|
-
# Or
|
|
251
|
+
# Or repeat the fixed demonstration under every supported framework label.
|
|
195
252
|
agenticdome-demo --framework all --scenario both
|
|
196
253
|
agenticdome-demo --list-frameworks
|
|
197
254
|
```
|
|
198
255
|
|
|
199
|
-
This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
|
|
256
|
+
This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
|
|
257
|
+
evaluates two fixed inputs with a small deterministic bundled baseline through
|
|
258
|
+
the public core-client response shape. The `--framework` option changes the
|
|
259
|
+
payload label and integration guidance; it does not import, instantiate, or run
|
|
260
|
+
the selected framework. The simulation does not load tenant policy, issue
|
|
261
|
+
signed decision tokens or execution receipts, write cloud evidence, or provide
|
|
262
|
+
runtime assurance. To exercise a real adapter inside your own process without
|
|
263
|
+
credentials, set `AGENTICDOME_MODE=local_sim` in that application or framework
|
|
264
|
+
example. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
|
|
200
265
|
|
|
201
266
|
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
267
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.18
|
|
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.16,>=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.31.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.31.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"
|
|
48
|
-
Requires-Dist: langchain-core<=1.5.
|
|
48
|
+
Requires-Dist: langchain-core<=1.5.5,>=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
|
|
@@ -57,48 +57,48 @@ Provides-Extra: foundry
|
|
|
57
57
|
Requires-Dist: azure-ai-projects<=2.4.0,>=2.3.0; extra == "foundry"
|
|
58
58
|
Requires-Dist: azure-identity==1.25.3; extra == "foundry"
|
|
59
59
|
Provides-Extra: agno
|
|
60
|
-
Requires-Dist: agno<=2.
|
|
60
|
+
Requires-Dist: agno<=2.9.0,>=2.8.0; extra == "agno"
|
|
61
61
|
Provides-Extra: openai-agents
|
|
62
|
-
Requires-Dist: openai-agents<=0.
|
|
62
|
+
Requires-Dist: openai-agents<=0.21.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.72,>=1.43.54; extra == "bedrock"
|
|
67
67
|
Provides-Extra: aws-bedrock
|
|
68
|
-
Requires-Dist: boto3<=1.43.
|
|
68
|
+
Requires-Dist: boto3<=1.43.72,>=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
|
|
72
72
|
Requires-Dist: llama-index==0.14.23; extra == "llama-index"
|
|
73
73
|
Provides-Extra: google-adk
|
|
74
|
-
Requires-Dist: google-adk<=2.
|
|
74
|
+
Requires-Dist: google-adk<=2.7.0,>=2.5.0; extra == "google-adk"
|
|
75
75
|
Provides-Extra: adk
|
|
76
|
-
Requires-Dist: google-adk<=2.
|
|
76
|
+
Requires-Dist: google-adk<=2.7.0,>=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.139,>=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.139,>=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.16,>=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.31.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
|
-
Requires-Dist: langchain-core<=1.5.
|
|
90
|
+
Requires-Dist: langchain-core<=1.5.5,>=1.5.0; extra == "all"
|
|
91
91
|
Requires-Dist: langchain-openai==1.3.5; extra == "all"
|
|
92
92
|
Requires-Dist: autogen-agentchat==0.7.5; extra == "all"
|
|
93
|
-
Requires-Dist: agno<=2.
|
|
93
|
+
Requires-Dist: agno<=2.9.0,>=2.8.0; extra == "all"
|
|
94
94
|
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
|
-
Requires-Dist: openai-agents<=0.
|
|
96
|
+
Requires-Dist: openai-agents<=0.21.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.72,>=1.43.54; extra == "all"
|
|
99
99
|
Requires-Dist: llama-index==0.14.23; extra == "all"
|
|
100
|
-
Requires-Dist: google-adk<=2.
|
|
101
|
-
Requires-Dist: claude-agent-sdk<=0.2.
|
|
100
|
+
Requires-Dist: google-adk<=2.7.0,>=2.5.0; extra == "all"
|
|
101
|
+
Requires-Dist: claude-agent-sdk<=0.2.139,>=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"
|
|
@@ -117,7 +117,7 @@ Dynamic: license-file
|
|
|
117
117
|
[](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
|
|
118
118
|
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
119
119
|
|
|
120
|
-
[Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [Framework integration guides](https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks) · [MCP integration guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md) · [Issue tracker](https://github.com/agenticdome/agenticdome-python-sdk/issues) · [Security policy](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/SECURITY.md) · [PyPI package](https://pypi.org/project/agenticdome-python-sdk/)
|
|
120
|
+
[Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [Customer onboarding guide](docs/customer-onboarding.md) · [Framework integration guides](https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks) · [MCP integration guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md) · [Issue tracker](https://github.com/agenticdome/agenticdome-python-sdk/issues) · [Security policy](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/SECURITY.md) · [PyPI package](https://pypi.org/project/agenticdome-python-sdk/)
|
|
121
121
|
|
|
122
122
|
> **Production-grade security guardrails, DLP, tool authorization, and cryptographically verified multi-agent delegation for Python autonomous AI runtimes.**
|
|
123
123
|
|
|
@@ -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
|
|
|
@@ -158,6 +165,35 @@ agenticdome-demo --framework all --scenario both
|
|
|
158
165
|
|
|
159
166
|
You can also open the [framework example gallery](examples/README.md) and run the individual example matching your stack. Before editing production code, choose the dedicated [framework integration guide](docs/frameworks/README.md), then use the [production integration playbook](examples/PRODUCTION_INTEGRATION.md) for the cross-framework attachment and proof checklist. MCP host and gateway developers can follow the dedicated [MCP Action Firewall guide](https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md).
|
|
160
167
|
|
|
168
|
+
If this is an application you intend to connect, start the local Integration
|
|
169
|
+
Assistant from its repository root. It discovers likely protection points and
|
|
170
|
+
keeps source code on your machine:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
agenticdome init
|
|
174
|
+
agenticdome verify --run-tests --output .agenticdome/verification.json
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
`init` writes the secret-free inspection and local configuration. `verify` is
|
|
178
|
+
required before production because it rechecks the discovered boundaries,
|
|
179
|
+
runs harmless allowed/blocked cases and, with `--run-tests`, runs detected
|
|
180
|
+
application tests. If you want a suggested patch, run `agenticdome scaffold`;
|
|
181
|
+
that step is optional and writes an unapplied patch for review.
|
|
182
|
+
|
|
183
|
+
When `.agenticdome/inspection.json` is imported into Developer Integration,
|
|
184
|
+
the Control Panel adds its detected frameworks to the workload. Frameworks,
|
|
185
|
+
languages and candidate boundaries can be discovered locally; business
|
|
186
|
+
purpose, sensitive actions and managed-versus-sovereign deployment remain
|
|
187
|
+
explicit customer decisions and are not guessed from source code.
|
|
188
|
+
|
|
189
|
+
Use **Customer Control Panel → Activate Action Firewall → Core Config** to
|
|
190
|
+
choose the Developer Integration path and import the two evidence files. This
|
|
191
|
+
path is for SDK, MCP, framework or custom-code integrations; Microsoft
|
|
192
|
+
Discovery Scan and Copilot Studio external protection are separate optional
|
|
193
|
+
paths selected from Core Config. See the
|
|
194
|
+
[customer onboarding guide](docs/customer-onboarding.md) for the complete
|
|
195
|
+
required-versus-optional workflow.
|
|
196
|
+
|
|
161
197
|
### 5. Connect the same integration to AgenticDome
|
|
162
198
|
|
|
163
199
|
When you are ready to test real tenant policy, remove `AGENTICDOME_MODE=local_sim`, obtain the assigned runtime sidecar URL, Runtime/SDK API key and tenant ID from AgenticDome, and configure:
|
|
@@ -170,7 +206,13 @@ export AGENTICDOME_TENANT_ID="your_tenant_id"
|
|
|
170
206
|
agenticdome-demo --framework langgraph --scenario both --live
|
|
171
207
|
```
|
|
172
208
|
|
|
173
|
-
|
|
209
|
+
With `--live`, the same fixed scenarios are sent to the actual assigned
|
|
210
|
+
AgenticDome runtime sidecar, so their verdicts come from the customer's tenant
|
|
211
|
+
policy and engine. The live demo still does not instantiate LangGraph or prove
|
|
212
|
+
that an application has attached the framework adapter at every execution
|
|
213
|
+
boundary. Use the framework guide to attach the adapter, test the real
|
|
214
|
+
application path, and use AgenticDome Runtime Assurance for production
|
|
215
|
+
evidence.
|
|
174
216
|
|
|
175
217
|
```python
|
|
176
218
|
# The 30-second version: block a prompt-injected refund before it executes.
|
|
@@ -205,6 +247,21 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
|
|
|
205
247
|
|
|
206
248
|
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
249
|
|
|
250
|
+
### Identity is necessary, but it is not the action decision
|
|
251
|
+
|
|
252
|
+
Give every agent and workload a distinct principal and keep your identity
|
|
253
|
+
provider authoritative for authentication, scopes, conditional access,
|
|
254
|
+
credential lifecycle, and downstream entitlements. Then pass the identity the
|
|
255
|
+
application has actually authenticated into AgenticDome alongside the agent,
|
|
256
|
+
purpose, tool, final arguments, session, and delegation context. A valid token
|
|
257
|
+
proves access authority; it does not prove that a prompt-influenced action is
|
|
258
|
+
appropriate. AgenticDome complements IAM by evaluating that action at the
|
|
259
|
+
application-controlled execution boundary. It does not issue enterprise
|
|
260
|
+
identities or make a stolen credential safe.
|
|
261
|
+
|
|
262
|
+
For the architectural rationale, see
|
|
263
|
+
[An agent principal proves who—not why](https://www.agenticdome.io/research/agent-principal-identity).
|
|
264
|
+
|
|
208
265
|
| Control | What it stops | Where it runs |
|
|
209
266
|
| :--- | :--- | :--- |
|
|
210
267
|
| **Prompt ingress guardrails** | Prompt injection, jailbreaks, system-prompt extraction, instruction override, policy bypass | Before agent/LLM execution |
|
|
@@ -300,15 +357,23 @@ Start with a network-free simulation, then connect the same SDK to your assigned
|
|
|
300
357
|
|
|
301
358
|
```bash
|
|
302
359
|
pip install agenticdome-python-sdk
|
|
303
|
-
#
|
|
360
|
+
# Label the fixed demonstration as LangGraph and show one ALLOWED and one BLOCKED path.
|
|
304
361
|
agenticdome-demo --framework langgraph --scenario both
|
|
305
362
|
|
|
306
|
-
# Or
|
|
363
|
+
# Or repeat the fixed demonstration under every supported framework label.
|
|
307
364
|
agenticdome-demo --framework all --scenario both
|
|
308
365
|
agenticdome-demo --list-frameworks
|
|
309
366
|
```
|
|
310
367
|
|
|
311
|
-
This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
|
|
368
|
+
This is visibly labelled **LOCAL SIMULATION — NOT CLOUD ENFORCEMENT**. It
|
|
369
|
+
evaluates two fixed inputs with a small deterministic bundled baseline through
|
|
370
|
+
the public core-client response shape. The `--framework` option changes the
|
|
371
|
+
payload label and integration guidance; it does not import, instantiate, or run
|
|
372
|
+
the selected framework. The simulation does not load tenant policy, issue
|
|
373
|
+
signed decision tokens or execution receipts, write cloud evidence, or provide
|
|
374
|
+
runtime assurance. To exercise a real adapter inside your own process without
|
|
375
|
+
credentials, set `AGENTICDOME_MODE=local_sim` in that application or framework
|
|
376
|
+
example. The SDK refuses that mode when `AGENTICDOME_PRODUCTION_MODE=true`.
|
|
312
377
|
|
|
313
378
|
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
379
|
|
|
@@ -29,11 +29,13 @@ agenticdome_sdk/llamaindex.py
|
|
|
29
29
|
agenticdome_sdk/mcp_host.py
|
|
30
30
|
agenticdome_sdk/microsoft_agent_framework.py
|
|
31
31
|
agenticdome_sdk/microsoft_ai_foundry.py
|
|
32
|
+
agenticdome_sdk/onboarding_cli.py
|
|
32
33
|
agenticdome_sdk/openai_agents.py
|
|
33
34
|
agenticdome_sdk/proof.py
|
|
34
35
|
agenticdome_sdk/pydantic.py
|
|
35
36
|
agenticdome_sdk/simulation.py
|
|
36
37
|
agenticdome_sdk/smolagents.py
|
|
38
|
+
docs/customer-onboarding.md
|
|
37
39
|
docs/mcp-integration.md
|
|
38
40
|
docs/performance-evidence.md
|
|
39
41
|
docs/runtime-deployment.md
|
|
@@ -94,6 +96,7 @@ tests/test_mcp_host_integration.py
|
|
|
94
96
|
tests/test_mcp_launch_example.py
|
|
95
97
|
tests/test_microsoft_agent_framework_integration.py
|
|
96
98
|
tests/test_microsoft_ai_foundry_integration.py
|
|
99
|
+
tests/test_onboarding_cli.py
|
|
97
100
|
tests/test_openai_agents_integration.py
|
|
98
101
|
tests/test_pydanticai_integration.py
|
|
99
102
|
tests/test_smolagents_integration.py
|