agenticdome-python-sdk 1.2.12__tar.gz → 1.2.13__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/PKG-INFO +5 -4
  2. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/README.md +3 -3
  3. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_python_sdk.egg-info/PKG-INFO +5 -4
  4. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_python_sdk.egg-info/SOURCES.txt +17 -0
  5. agenticdome_python_sdk-1.2.13/docs/frameworks/README.md +43 -0
  6. agenticdome_python_sdk-1.2.13/docs/frameworks/agno.md +46 -0
  7. agenticdome_python_sdk-1.2.13/docs/frameworks/autogen.md +45 -0
  8. agenticdome_python_sdk-1.2.13/docs/frameworks/aws-bedrock.md +49 -0
  9. agenticdome_python_sdk-1.2.13/docs/frameworks/claude-agent-sdk.md +47 -0
  10. agenticdome_python_sdk-1.2.13/docs/frameworks/crewai.md +51 -0
  11. agenticdome_python_sdk-1.2.13/docs/frameworks/custom-python.md +62 -0
  12. agenticdome_python_sdk-1.2.13/docs/frameworks/google-adk.md +46 -0
  13. agenticdome_python_sdk-1.2.13/docs/frameworks/langgraph.md +49 -0
  14. agenticdome_python_sdk-1.2.13/docs/frameworks/llamaindex.md +52 -0
  15. agenticdome_python_sdk-1.2.13/docs/frameworks/microsoft-agent-framework.md +47 -0
  16. agenticdome_python_sdk-1.2.13/docs/frameworks/microsoft-ai-foundry.md +48 -0
  17. agenticdome_python_sdk-1.2.13/docs/frameworks/openai-agents.md +52 -0
  18. agenticdome_python_sdk-1.2.13/docs/frameworks/pydanticai.md +51 -0
  19. agenticdome_python_sdk-1.2.13/docs/frameworks/smolagents.md +46 -0
  20. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/docs/mcp-integration.md +7 -20
  21. agenticdome_python_sdk-1.2.13/docs/performance-evidence.md +43 -0
  22. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/PRODUCTION_INTEGRATION.md +15 -16
  23. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/README.md +15 -15
  24. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/pyproject.toml +2 -1
  25. agenticdome_python_sdk-1.2.13/tests/test_framework_guides.py +124 -0
  26. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_local_simulation.py +15 -15
  27. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/CONTRIBUTING.md +0 -0
  28. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/LICENSE +0 -0
  29. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/MANIFEST.in +0 -0
  30. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/NOTICE +0 -0
  31. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/SECURITY.md +0 -0
  32. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
  33. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
  34. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_python_sdk.egg-info/requires.txt +0 -0
  35. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
  36. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/__init__.py +0 -0
  37. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/_framework_firewall.py +0 -0
  38. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/_mode.py +0 -0
  39. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/agno.py +0 -0
  40. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/autogen.py +0 -0
  41. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/aws_bedrock.py +0 -0
  42. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/claude.py +0 -0
  43. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/client.py +0 -0
  44. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/crewai.py +0 -0
  45. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/demo.py +0 -0
  46. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/google_adk.py +0 -0
  47. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/identity.py +0 -0
  48. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/langgraph.py +0 -0
  49. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/llamaindex.py +0 -0
  50. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/mcp_host.py +0 -0
  51. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
  52. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
  53. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/openai_agents.py +0 -0
  54. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/proof.py +0 -0
  55. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/pydantic.py +0 -0
  56. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/simulation.py +0 -0
  57. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/agenticdome_sdk/smolagents.py +0 -0
  58. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/attack_demo.py +0 -0
  59. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/crewai_agenticdome_firewall.py +0 -0
  60. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/README.md +0 -0
  61. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/_shared.py +0 -0
  62. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/agno.py +0 -0
  63. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/autogen.py +0 -0
  64. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/aws_bedrock.py +0 -0
  65. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/claude_agent_sdk.py +0 -0
  66. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/crewai.py +0 -0
  67. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/custom_python.py +0 -0
  68. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/google_adk.py +0 -0
  69. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/langgraph.py +0 -0
  70. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/llamaindex.py +0 -0
  71. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/mcp.py +0 -0
  72. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/microsoft_agent_framework.py +0 -0
  73. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/microsoft_ai_foundry.py +0 -0
  74. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/openai_agents.py +0 -0
  75. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/pydanticai.py +0 -0
  76. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/frameworks/smolagents.py +0 -0
  77. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/langgraph_agenticdome_firewall.py +0 -0
  78. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/local_simulation_gallery.py +0 -0
  79. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/examples/mcp_gateway_action_firewall.py +0 -0
  80. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/setup.cfg +0 -0
  81. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/setup.py +0 -0
  82. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_agno_integration.py +0 -0
  83. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_attack_demo.py +0 -0
  84. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_autogen_integration.py +0 -0
  85. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_aws_bedrock_integration.py +0 -0
  86. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_claude_integration.py +0 -0
  87. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_client.py +0 -0
  88. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_crewai_integration.py +0 -0
  89. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_execution_broker.py +0 -0
  90. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_google_adk_integration.py +0 -0
  91. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_identity_context.py +0 -0
  92. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_langgraph_integration.py +0 -0
  93. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_llamaindex_integration.py +0 -0
  94. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_mcp_host_integration.py +0 -0
  95. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_mcp_launch_example.py +0 -0
  96. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_microsoft_agent_framework_integration.py +0 -0
  97. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_microsoft_ai_foundry_integration.py +0 -0
  98. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_openai_agents_integration.py +0 -0
  99. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_pydanticai_integration.py +0 -0
  100. {agenticdome_python_sdk-1.2.12 → agenticdome_python_sdk-1.2.13}/tests/test_smolagents_integration.py +0 -0
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.2.12
3
+ Version: 1.2.13
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
7
7
  Project-URL: Homepage, https://www.agenticdome.io
8
8
  Project-URL: Repository, https://github.com/agenticdome/agenticdome-python-sdk
9
9
  Project-URL: Documentation, https://github.com/agenticdome/agenticdome-python-sdk#readme
10
+ Project-URL: Framework Integration Guides, https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks
10
11
  Project-URL: MCP Integration Guide, https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md
11
12
  Project-URL: Issues, https://github.com/agenticdome/agenticdome-python-sdk/issues
12
13
  Project-URL: Examples, https://github.com/agenticdome/agenticdome-python-sdk/tree/main/examples
@@ -115,7 +116,7 @@ Dynamic: license-file
115
116
  [![CI](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
116
117
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
117
118
 
118
- [Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [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/)
119
+ [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/)
119
120
 
120
121
  > **Production-grade security guardrails, DLP, tool authorization, and cryptographically verified multi-agent delegation for Python autonomous AI runtimes.**
121
122
 
@@ -154,7 +155,7 @@ agenticdome-demo --list-frameworks
154
155
  agenticdome-demo --framework all --scenario both
155
156
  ```
156
157
 
157
- You can also open the [framework example gallery](examples/README.md) and run the individual example matching your stack. Before editing production code, use the [production integration playbook](examples/PRODUCTION_INTEGRATION.md) to find the exact construction file, public attachment call and local execution boundary for your framework. 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).
158
+ 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).
158
159
 
159
160
  ### 5. Connect the same integration to AgenticDome
160
161
 
@@ -189,7 +190,7 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
189
190
  4. [Quickstart](#quickstart)
190
191
  5. [Installation](#installation)
191
192
  6. [Configuration](#configuration)
192
- 7. [Choosing Your Integration Point](#choosing-your-integration-point)
193
+ 7. [Choosing Your Integration Point](#choosing-your-integration-point) — [dedicated framework guides](docs/frameworks/README.md)
193
194
  8. [Framework Integrations](#framework-integrations)
194
195
  - [CrewAI](#crewai) · [PydanticAI](#pydanticai) · [LangGraph](#langgraph) · [Microsoft Agent Framework](#microsoft-agent-framework) · [Microsoft AutoGen](#microsoft-autogen) · [Microsoft AI Foundry](#microsoft-ai-foundry) · [OpenAI Agents SDK](#openai-agents-sdk) · [Claude Agent SDK](#claude-agent-sdk) · [Hugging Face smolagents](#hugging-face-smolagents) · [Agno](#agno) · [Google ADK](#google-adk) · [LlamaIndex](#llamaindex) · [AWS Bedrock](#aws-bedrock) · [MCP Host / Gateway](#mcp-host--gateway)
195
196
  9. [Core SDK Client (Custom Runtimes)](#core-sdk-client-custom-runtimes)
@@ -5,7 +5,7 @@
5
5
  [![CI](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
6
6
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
7
7
 
8
- [Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [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) · [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
 
@@ -44,7 +44,7 @@ agenticdome-demo --list-frameworks
44
44
  agenticdome-demo --framework all --scenario both
45
45
  ```
46
46
 
47
- You can also open the [framework example gallery](examples/README.md) and run the individual example matching your stack. Before editing production code, use the [production integration playbook](examples/PRODUCTION_INTEGRATION.md) to find the exact construction file, public attachment call and local execution boundary for your framework. 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).
47
+ 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
48
 
49
49
  ### 5. Connect the same integration to AgenticDome
50
50
 
@@ -79,7 +79,7 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
79
79
  4. [Quickstart](#quickstart)
80
80
  5. [Installation](#installation)
81
81
  6. [Configuration](#configuration)
82
- 7. [Choosing Your Integration Point](#choosing-your-integration-point)
82
+ 7. [Choosing Your Integration Point](#choosing-your-integration-point) — [dedicated framework guides](docs/frameworks/README.md)
83
83
  8. [Framework Integrations](#framework-integrations)
84
84
  - [CrewAI](#crewai) · [PydanticAI](#pydanticai) · [LangGraph](#langgraph) · [Microsoft Agent Framework](#microsoft-agent-framework) · [Microsoft AutoGen](#microsoft-autogen) · [Microsoft AI Foundry](#microsoft-ai-foundry) · [OpenAI Agents SDK](#openai-agents-sdk) · [Claude Agent SDK](#claude-agent-sdk) · [Hugging Face smolagents](#hugging-face-smolagents) · [Agno](#agno) · [Google ADK](#google-adk) · [LlamaIndex](#llamaindex) · [AWS Bedrock](#aws-bedrock) · [MCP Host / Gateway](#mcp-host--gateway)
85
85
  9. [Core SDK Client (Custom Runtimes)](#core-sdk-client-custom-runtimes)
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.2.12
3
+ Version: 1.2.13
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
7
7
  Project-URL: Homepage, https://www.agenticdome.io
8
8
  Project-URL: Repository, https://github.com/agenticdome/agenticdome-python-sdk
9
9
  Project-URL: Documentation, https://github.com/agenticdome/agenticdome-python-sdk#readme
10
+ Project-URL: Framework Integration Guides, https://github.com/agenticdome/agenticdome-python-sdk/tree/main/docs/frameworks
10
11
  Project-URL: MCP Integration Guide, https://github.com/agenticdome/agenticdome-python-sdk/blob/main/docs/mcp-integration.md
11
12
  Project-URL: Issues, https://github.com/agenticdome/agenticdome-python-sdk/issues
12
13
  Project-URL: Examples, https://github.com/agenticdome/agenticdome-python-sdk/tree/main/examples
@@ -115,7 +116,7 @@ Dynamic: license-file
115
116
  [![CI](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
116
117
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
117
118
 
118
- [Source and examples](https://github.com/agenticdome/agenticdome-python-sdk) · [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/)
119
+ [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/)
119
120
 
120
121
  > **Production-grade security guardrails, DLP, tool authorization, and cryptographically verified multi-agent delegation for Python autonomous AI runtimes.**
121
122
 
@@ -154,7 +155,7 @@ agenticdome-demo --list-frameworks
154
155
  agenticdome-demo --framework all --scenario both
155
156
  ```
156
157
 
157
- You can also open the [framework example gallery](examples/README.md) and run the individual example matching your stack. Before editing production code, use the [production integration playbook](examples/PRODUCTION_INTEGRATION.md) to find the exact construction file, public attachment call and local execution boundary for your framework. 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).
158
+ 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).
158
159
 
159
160
  ### 5. Connect the same integration to AgenticDome
160
161
 
@@ -189,7 +190,7 @@ result = crew.kickoff() # hostile prompts, unsafe tools, and rogue
189
190
  4. [Quickstart](#quickstart)
190
191
  5. [Installation](#installation)
191
192
  6. [Configuration](#configuration)
192
- 7. [Choosing Your Integration Point](#choosing-your-integration-point)
193
+ 7. [Choosing Your Integration Point](#choosing-your-integration-point) — [dedicated framework guides](docs/frameworks/README.md)
193
194
  8. [Framework Integrations](#framework-integrations)
194
195
  - [CrewAI](#crewai) · [PydanticAI](#pydanticai) · [LangGraph](#langgraph) · [Microsoft Agent Framework](#microsoft-agent-framework) · [Microsoft AutoGen](#microsoft-autogen) · [Microsoft AI Foundry](#microsoft-ai-foundry) · [OpenAI Agents SDK](#openai-agents-sdk) · [Claude Agent SDK](#claude-agent-sdk) · [Hugging Face smolagents](#hugging-face-smolagents) · [Agno](#agno) · [Google ADK](#google-adk) · [LlamaIndex](#llamaindex) · [AWS Bedrock](#aws-bedrock) · [MCP Host / Gateway](#mcp-host--gateway)
195
196
  9. [Core SDK Client (Custom Runtimes)](#core-sdk-client-custom-runtimes)
@@ -35,6 +35,22 @@ agenticdome_sdk/pydantic.py
35
35
  agenticdome_sdk/simulation.py
36
36
  agenticdome_sdk/smolagents.py
37
37
  docs/mcp-integration.md
38
+ docs/performance-evidence.md
39
+ docs/frameworks/README.md
40
+ docs/frameworks/agno.md
41
+ docs/frameworks/autogen.md
42
+ docs/frameworks/aws-bedrock.md
43
+ docs/frameworks/claude-agent-sdk.md
44
+ docs/frameworks/crewai.md
45
+ docs/frameworks/custom-python.md
46
+ docs/frameworks/google-adk.md
47
+ docs/frameworks/langgraph.md
48
+ docs/frameworks/llamaindex.md
49
+ docs/frameworks/microsoft-agent-framework.md
50
+ docs/frameworks/microsoft-ai-foundry.md
51
+ docs/frameworks/openai-agents.md
52
+ docs/frameworks/pydanticai.md
53
+ docs/frameworks/smolagents.md
38
54
  examples/PRODUCTION_INTEGRATION.md
39
55
  examples/README.md
40
56
  examples/attack_demo.py
@@ -67,6 +83,7 @@ tests/test_claude_integration.py
67
83
  tests/test_client.py
68
84
  tests/test_crewai_integration.py
69
85
  tests/test_execution_broker.py
86
+ tests/test_framework_guides.py
70
87
  tests/test_google_adk_integration.py
71
88
  tests/test_identity_context.py
72
89
  tests/test_langgraph_integration.py
@@ -0,0 +1,43 @@
1
+ # AgenticDome Python framework integration guides
2
+
3
+ Choose the runtime that owns your agent, graph, tool or gateway boundary. Each
4
+ guide uses the same production contract: configure the SDK, attach it in code,
5
+ authorize immediately before local execution, review returned content, and
6
+ prove both an allowed and blocked path.
7
+
8
+ | Integration | Guide | Primary protected boundary |
9
+ | --- | --- | --- |
10
+ | CrewAI | [CrewAI](crewai.md) | Crew bootstrap, LLM/tool hooks and local tools |
11
+ | PydanticAI | [PydanticAI](pydanticai.md) | Agent hooks and decorated tools |
12
+ | LangGraph / LangChain | [LangGraph](langgraph.md) | Graph nodes, transitions and tool nodes |
13
+ | Microsoft Agent Framework | [Microsoft Agent Framework](microsoft-agent-framework.md) | Agent run, middleware and function tools |
14
+ | Microsoft AutoGen | [AutoGen](autogen.md) | Team/Core message and tool execution |
15
+ | Microsoft AI Foundry | [Microsoft AI Foundry](microsoft-ai-foundry.md) | Client/run boundary and local tool executor |
16
+ | OpenAI Agents SDK | [OpenAI Agents SDK](openai-agents.md) | Runner guardrails and function tools |
17
+ | Anthropic Claude Agent SDK | [Claude Agent SDK](claude-agent-sdk.md) | Options hooks, query/client and SDK tools |
18
+ | Hugging Face smolagents | [smolagents](smolagents.md) | Agent run, generated code and native tools |
19
+ | Agno | [Agno](agno.md) | Agent/Team hooks, tools and returned content |
20
+ | Google ADK | [Google ADK](google-adk.md) | Agent callbacks and local tools |
21
+ | LlamaIndex | [LlamaIndex](llamaindex.md) | Query, retrieval and FunctionTool boundaries |
22
+ | AWS Bedrock | [AWS Bedrock](aws-bedrock.md) | boto3 calls, tool use and action groups |
23
+ | MCP host / gateway | [MCP](../mcp-integration.md) | JSON-RPC forwarding and returned content |
24
+ | Custom Python | [Custom Python](custom-python.md) | Application-owned prompt/tool/output boundary |
25
+
26
+ ## Shared five-step path
27
+
28
+ 1. Install the matching package extra.
29
+ 2. Run `AGENTICDOME_MODE=local_sim` with one allowed and one blocked scenario.
30
+ 3. Obtain the assigned runtime sidecar URL, Runtime/SDK key and tenant ID.
31
+ 4. Attach the adapter in the application construction path and remove raw
32
+ execution routes that bypass it.
33
+ 5. Prove safe, blocked, redacted and sidecar-unavailable behavior before
34
+ production, then run SDK Assurance and Performance Smoke.
35
+
36
+ The offline simulator proves SDK control flow, not tenant enforcement. The
37
+ public SDK does not expose AgenticDome policy algorithms, private threat
38
+ signatures, decision-token formats or control-plane internals.
39
+
40
+ Use the [production integration playbook](../../examples/PRODUCTION_INTEGRATION.md)
41
+ for the cross-framework handoff checklist and the
42
+ [performance evidence guide](../performance-evidence.md) when publishing
43
+ latency or throughput results.
@@ -0,0 +1,46 @@
1
+ # Agno integration
2
+
3
+ Attach AgenticDome centrally after constructing an Agno Agent or Team and
4
+ before its first run. Secure local tools explicitly, especially tools that
5
+ read protected data, mutate state or call an external service.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[agno]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework agno --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ from agenticdome_sdk.agno import AgenticDomeAgnoFirewall
19
+
20
+ firewall = AgenticDomeAgnoFirewall()
21
+ agent = firewall.attach_firewall(agent)
22
+
23
+ @firewall.secure_tool(
24
+ tool_name="crm.customer.read",
25
+ tool_platform="crm",
26
+ )
27
+ def read_customer(agent, customer_id: str):
28
+ return crm.read_customer(customer_id)
29
+ ```
30
+
31
+ Use `create_hook_bundle()`, `create_middleware()` or `create_plugin()` when the
32
+ selected Agno assembly style expects those objects. Ensure components created
33
+ later by factories receive the same attachment.
34
+
35
+ See the [Agno API guide](../../README.md#agno) for Agent/Team hooks, plugins,
36
+ secured tools, delegation, retrieval and streaming examples.
37
+
38
+ ## Launch checks
39
+
40
+ - The central Agent/Team/Workflow factory performs the attachment once.
41
+ - Components dynamically created after startup are also attached.
42
+ - Tool hooks execute sanitized arguments and review returned values.
43
+ - Retrieved content is sanitized before it enters model context.
44
+ - Specialist delegation is verified at the specialist's execution boundary.
45
+
46
+ An unattached component or raw tool remains outside SDK protection.
@@ -0,0 +1,45 @@
1
+ # Microsoft AutoGen integration
2
+
3
+ AgenticDome supports current AgentChat/Core applications and documented legacy
4
+ `ConversableAgent` deployments. For new Microsoft projects, evaluate Microsoft
5
+ Agent Framework while retaining this integration for existing AutoGen estates.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[autogen]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework autogen --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ from agenticdome_sdk.autogen import AgenticDomeAutoGenFirewall
19
+
20
+ firewall = AgenticDomeAutoGenFirewall()
21
+ secure_team = firewall.wrap_team(
22
+ team,
23
+ session_id="stable-session-id",
24
+ agent_id="operations-team",
25
+ )
26
+ result = await secure_team.run(task=user_prompt)
27
+ ```
28
+
29
+ For AutoGen Core, install `create_intervention_handler(...)` when constructing
30
+ the runtime. For legacy deployments, use `attach_conversable_agent(...)` and
31
+ the dependency-light base SDK. In every variant, wrap local side-effecting
32
+ handlers with `wrap_tool_handler(...)`.
33
+
34
+ See the [AutoGen API guide](../../README.md#microsoft-autogen) for AgentChat,
35
+ Core intervention, termination/freeze, legacy and tool examples.
36
+
37
+ ## Launch checks
38
+
39
+ - Application code invokes the secured team proxy, not the original team.
40
+ - Core runtimes include the intervention handler before startup.
41
+ - Session freeze/denial is terminal until an authorized resolution.
42
+ - Local tools cannot be reached through an unwrapped registration path.
43
+ - The selected AutoGen generation is inside its certified dependency range.
44
+
45
+ Conversation screening alone does not authorize the eventual tool execution.
@@ -0,0 +1,49 @@
1
+ # AWS Bedrock integration
2
+
3
+ Replace direct application-owned Bedrock Runtime/Agent calls with the matching
4
+ secure method. Separately wrap local tool-use handlers, action-group Lambda
5
+ handlers and knowledge-base retrieval results.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[bedrock]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework bedrock --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ import boto3
19
+ from agenticdome_sdk.aws_bedrock import AgenticDomeAWSBedrockFirewall
20
+
21
+ bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
22
+ firewall = AgenticDomeAWSBedrockFirewall()
23
+
24
+ response = await firewall.converse_securely(
25
+ bedrock_runtime_client=bedrock,
26
+ model_id=model_id,
27
+ messages=messages,
28
+ agent_id="support-agent",
29
+ session_id="stable-session-id",
30
+ )
31
+ ```
32
+
33
+ Use the corresponding secure methods for streaming, `InvokeModel` and Bedrock
34
+ Agents. Use `wrap_tool_handler(...)`, `secure_tool(...)`, and
35
+ `wrap_action_group_lambda(...)` at local execution boundaries.
36
+
37
+ See the [AWS Bedrock API guide](../../README.md#aws-bedrock) for Converse,
38
+ InvokeModel, streaming, Agents, action groups, tools, retrieval and handoffs.
39
+
40
+ ## Launch checks
41
+
42
+ - No production path calls boto3 directly for a protected model operation.
43
+ - Local tool-use and action-group handlers are independently authorized.
44
+ - Streamed events and final responses are reviewed before delivery.
45
+ - AWS principal, account, region and resource identifiers are propagated.
46
+ - Retrieved knowledge-base nodes are sanitized before planner reuse.
47
+
48
+ The SDK protects calls and content at the application boundary; it cannot
49
+ instrument execution occurring solely inside AWS-managed services.
@@ -0,0 +1,47 @@
1
+ # Anthropic Claude Agent SDK integration
2
+
3
+ Install hooks on the exact `ClaudeAgentOptions` instance passed to the SDK,
4
+ then consume the secured query/client iterator so returned messages cannot
5
+ bypass output review. Secure locally exposed SDK tools separately.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[claude]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework claude --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ from agenticdome_sdk.claude import AgenticDomeClaudeFirewall
19
+
20
+ firewall = AgenticDomeClaudeFirewall()
21
+ options = firewall.install_on_options(options)
22
+
23
+ async for message in firewall.secure_query(
24
+ prompt=user_prompt,
25
+ options=options,
26
+ session_id="stable-session-id",
27
+ agent_id="support-agent",
28
+ ):
29
+ consume(message)
30
+ ```
31
+
32
+ Use `run_client_securely(...)` for a constructed SDK client and
33
+ `secure_sdk_tool(...)` for local SDK MCP tools. Every query/client path must use
34
+ the options object containing the installed hooks.
35
+
36
+ See the [Claude Agent SDK API guide](../../README.md#claude-agent-sdk) for hook
37
+ composition, query/client, tool output, delegation and streaming behavior.
38
+
39
+ ## Launch checks
40
+
41
+ - The secured options instance is the one supplied to every production client.
42
+ - Pre-tool denials prevent the SDK tool implementation from running.
43
+ - Tool results and final messages pass through the secured iterator.
44
+ - Decision context is bound and consumed at delegated local execution.
45
+ - Alternate query/client construction paths are removed or equivalently wrapped.
46
+
47
+ Hooks cannot intercept an unrelated client created with different options.
@@ -0,0 +1,51 @@
1
+ # CrewAI integration
2
+
3
+ Use this integration when CrewAI owns the agent/crew lifecycle and local tool
4
+ execution. AgenticDome screens model input, authorizes tool and delegation
5
+ boundaries, and reviews tool/final output routed through the installed hooks.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[crewai]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework crewai --scenario both
13
+ ```
14
+
15
+ This prints one allowed and one blocked decision without importing CrewAI,
16
+ contacting a sidecar or executing either demonstration tool.
17
+
18
+ ## Attach in production
19
+
20
+ Configure the assigned runtime sidecar URL, Runtime/SDK key and matching tenant
21
+ ID, then import the adapter in application bootstrap **before** constructing
22
+ agents or crews:
23
+
24
+ ```python
25
+ import agenticdome_sdk.crewai # registers the process-wide hooks
26
+
27
+ from crewai import Agent, Crew, Task
28
+
29
+ # Construct agents, tasks and crews only after the security hooks are loaded.
30
+ ```
31
+
32
+ For explicit lifecycle control, instantiate `AgenticDomeCrewAIFirewall` and
33
+ call `attach(crew)`. Protect every high-impact local tool with
34
+ `@firewall.secure_tool(...)`; register the wrapped callable rather than its raw
35
+ implementation. Use the sanitized arguments supplied by the wrapper.
36
+
37
+ The complete, tested code patterns for scoped attachment, secured tools,
38
+ delegation, streaming output and multi-worker state are in the
39
+ [CrewAI API guide](../../README.md#crewai).
40
+
41
+ ## Launch checks
42
+
43
+ - Hooks load before any `Crew` executes.
44
+ - A blocked tool never reaches its function body.
45
+ - Allowed and sanitized arguments are the values the real function receives.
46
+ - Manager-to-specialist execution is verified at the specialist boundary.
47
+ - Every worker uses stable session identity; shared delegation uses Redis.
48
+ - A sidecar outage produces the deliberately selected fail posture.
49
+
50
+ AgenticDome cannot protect a raw tool or alternate execution route that bypasses
51
+ the hooks/wrapper. Offline simulation is not tenant assurance.
@@ -0,0 +1,62 @@
1
+ # Custom Python integration
2
+
3
+ Use the core client when your application owns the runtime loop: API handlers,
4
+ Celery workers, routers, bespoke agents, tool executors or custom gateways.
5
+ Make the policy check part of the same function that owns execution.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install agenticdome-python-sdk
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework custom-python --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ from agenticdome_sdk import AgentGuardClient
19
+
20
+ client = AgentGuardClient()
21
+ decision = client.guardrail_validate(
22
+ text="Support agent requests a customer lookup.",
23
+ agent_id="support-agent",
24
+ session_id="stable-session-id",
25
+ direction="outbound",
26
+ platform="python",
27
+ tool_name="crm.customer.read",
28
+ tool_args={"customer_id": customer_id},
29
+ )
30
+
31
+ if decision.get("verdict") == "BLOCKED":
32
+ raise PermissionError(decision.get("reason", "Action blocked"))
33
+
34
+ # Execute only after the decision and use sanitized arguments when returned.
35
+ raw_output = execute_customer_lookup(customer_id)
36
+ safe_output = client.mesh_validate(
37
+ agent_id="support-agent",
38
+ session_id="stable-session-id",
39
+ direction="output",
40
+ platform="python",
41
+ text=str(raw_output),
42
+ )
43
+ ```
44
+
45
+ Use the A2A authorization and verification methods when a manager delegates a
46
+ sensitive tool to another agent. For high-impact outbound HTTP execution, use
47
+ the documented broker receipt and enforcement headers at the last responsible
48
+ moment.
49
+
50
+ See the [core client API guide](../../README.md#core-sdk-client-custom-runtimes)
51
+ for prompt, tool, A2A, DLP, incident and brokered-execution examples.
52
+
53
+ ## Launch checks
54
+
55
+ - The real function is unreachable before an allowed decision.
56
+ - Sanitized arguments/text replace originals when returned.
57
+ - Output is reviewed before return, storage, logging or planner reuse.
58
+ - Delegation authorization is verified at the target execution boundary.
59
+ - Fail-closed behavior is tested against an unavailable sidecar.
60
+
61
+ A check performed in an unrelated helper does not protect another raw executor
62
+ path. Keep the decision and execution boundary structurally adjacent.
@@ -0,0 +1,46 @@
1
+ # Google ADK integration
2
+
3
+ Register AgenticDome callbacks when constructing each `LlmAgent`, attach them to
4
+ an existing agent, or register the plugin helper centrally. Explicitly secure
5
+ local tools that can cause a side effect.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[google-adk]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework google-adk --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ from google.adk.agents import LlmAgent
19
+ from agenticdome_sdk.google_adk import AgenticDomeGoogleADKFirewall
20
+
21
+ firewall = AgenticDomeGoogleADKFirewall()
22
+ agent = LlmAgent(
23
+ name="support-agent",
24
+ model="gemini-2.5-flash",
25
+ instruction="Help support users safely.",
26
+ **firewall.build_callback_kwargs(),
27
+ )
28
+ ```
29
+
30
+ Use `install_on_agent(...)` for an existing agent, `create_plugin()` for
31
+ central registration and `wrap_tool_handler(...)`/`secure_tool(...)` for local
32
+ tools. Prefer async callbacks in async ADK runtimes.
33
+
34
+ See the [Google ADK API guide](../../README.md#google-adk) for callbacks,
35
+ plugins, tools, handoffs, schema validation and streaming examples.
36
+
37
+ ## Launch checks
38
+
39
+ - Every production agent receives callbacks from the central factory.
40
+ - Tool handlers use sanitized arguments before local execution.
41
+ - Stable ADK session/run/trace identifiers are available to every callback.
42
+ - Google Cloud principal and project context is passed when authenticated.
43
+ - Delegation across workers uses shared, one-time verification state.
44
+
45
+ Configuration alone does not register ADK callbacks, and remote tools remain
46
+ outside the local process boundary.
@@ -0,0 +1,49 @@
1
+ # LangGraph and LangChain integration
2
+
3
+ LangGraph is graph-native: make security nodes or wrappers part of the graph
4
+ before compilation. For LangChain `create_agent`, install AgenticDome as
5
+ middleware and secure any local side-effecting tools separately.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[langgraph]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework langgraph --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ from langgraph.graph import START, StateGraph
19
+ from agenticdome_sdk.langgraph import AgentState, AgenticDomeLangGraphFirewall
20
+
21
+ firewall = AgenticDomeLangGraphFirewall()
22
+ graph = StateGraph(AgentState)
23
+ graph.add_node("input_security", firewall.input_node(agent_id="support"))
24
+ graph.add_node("agent", agent_node)
25
+ graph.add_node("tool_security", firewall.transition_node(agent_id="support"))
26
+ graph.add_node("tools", tool_node)
27
+ graph.add_node("output_security", firewall.output_node(agent_id="support"))
28
+ graph.add_edge(START, "input_security")
29
+ # Connect input_security -> agent -> tool_security -> tools -> output_security.
30
+ compiled = graph.compile()
31
+ ```
32
+
33
+ Alternatively use `wrap_agent_node()`, `wrap_tool_node()`, or
34
+ `as_langchain_middleware(...)`. Blocked state must route to a non-executing
35
+ security node; it must never fall through to the tool node.
36
+
37
+ See the [LangGraph API guide](../../README.md#langgraph) for complete graph
38
+ topology, middleware, handoff, retrieval and streaming examples.
39
+
40
+ ## Launch checks
41
+
42
+ - Security nodes/wrappers are present before `compile()` returns.
43
+ - Every path to a tool node crosses an authorization boundary.
44
+ - Blocked routes terminate without invoking the raw tool.
45
+ - Retrieval is sanitized before it becomes model context.
46
+ - Streaming and final output use the documented output boundary.
47
+ - A delegated specialist verifies the handoff before its tool executes.
48
+
49
+ An edge or node that calls a raw executor directly is outside SDK coverage.
@@ -0,0 +1,52 @@
1
+ # LlamaIndex integration
2
+
3
+ Protect both sides of a RAG application: query/tool execution and the retrieved
4
+ or synthesized content that is inserted into model context or returned to a
5
+ caller.
6
+
7
+ ## Try it without an account
8
+
9
+ ```bash
10
+ pip install "agenticdome-python-sdk[llamaindex]"
11
+ export AGENTICDOME_MODE=local_sim
12
+ agenticdome-demo --framework llamaindex --scenario both
13
+ ```
14
+
15
+ ## Attach in production
16
+
17
+ ```python
18
+ from agenticdome_sdk.llamaindex import AgenticDomeLlamaIndexFirewall
19
+
20
+ firewall = AgenticDomeLlamaIndexFirewall()
21
+ secure_lookup = firewall.to_function_tool(
22
+ lookup_customer,
23
+ tool_name="crm.customer.read",
24
+ tool_platform="crm",
25
+ agent_id="support-agent",
26
+ session_id="stable-session-id",
27
+ )
28
+
29
+ secure_query_engine = firewall.wrap_query_engine(
30
+ query_engine,
31
+ agent_id="support-agent",
32
+ session_id="stable-session-id",
33
+ )
34
+ ```
35
+
36
+ Also wrap retrievers or install the node postprocessor before retrieved text is
37
+ placed into a prompt. Callback handlers add visibility but do not replace hard
38
+ tool/query wrappers.
39
+
40
+ See the [LlamaIndex API guide](../../README.md#llamaindex) for FunctionTool,
41
+ query, retrieval, node postprocessor, callback and delegation examples.
42
+
43
+ ## Launch checks
44
+
45
+ - Every side-effecting FunctionTool is created from a secured callable.
46
+ - Query engines invoked directly are wrapped or called through `run_query_securely()`.
47
+ - Retrieved nodes are sanitized before model-context assembly.
48
+ - Final synthesized output is reviewed before return or storage.
49
+ - Callback visibility is not treated as the sole execution control.
50
+
51
+ Provider-native and remote tools require protection at their local request and
52
+ response boundary.