agenticdome-python-sdk 1.2.43__tar.gz → 1.2.45__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.43 → agenticdome_python_sdk-1.2.45}/PKG-INFO +11 -6
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/README.md +7 -2
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_python_sdk.egg-info/PKG-INFO +11 -6
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/__init__.py +2 -1
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/_framework_firewall.py +5 -1
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/catalog_snapshot.json +3 -3
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/client.py +58 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/hook_catalog.py +6 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/pyproject.toml +7 -7
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/CONTRIBUTING.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/LICENSE +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/NOTICE +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/SECURITY.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_python_sdk.egg-info/SOURCES.txt +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_python_sdk.egg-info/requires.txt +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/_mode.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/action_path_proof.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/attestation.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/claude.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/connect.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/copilot_ir.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/copilot_ir_collector.cjs +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/demo.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/existing_integration.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/framework_edits.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/generic_python.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/guided_integration.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/identity.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/lifecycle.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/mcp_host.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/mcp_http_gateway.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/mcp_rehearsal_server.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/mcp_verification.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/onboarding_cli.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/onboarding_observations.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/outcomes.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/proof.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/report_scope.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/simulation.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/customer-onboarding.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/agno.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/autogen.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/aws-bedrock.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/claude-agent-sdk.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/crewai.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/custom-python.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/google-adk.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/langgraph.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/llamaindex.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/microsoft-agent-framework.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/microsoft-ai-foundry.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/openai-agents.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/pydanticai.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/smolagents.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/mcp-integration.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/performance-evidence.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/runtime-deployment.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/PRODUCTION_INTEGRATION.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/README.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/crewai_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/_shared.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/agno.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/claude_agent_sdk.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/custom_python.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/mcp.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/pydanticai.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/langgraph_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/local_simulation_gallery.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/mcp_gateway_action_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/setup.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.45
|
|
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
|
|
@@ -21,11 +21,11 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
21
21
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
22
22
|
Classifier: Operating System :: OS Independent
|
|
23
23
|
Classifier: Programming Language :: Python :: 3
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
26
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
27
25
|
Classifier: Programming Language :: Python :: 3.12
|
|
28
|
-
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
28
|
+
Requires-Python: >=3.11
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
License-File: NOTICE
|
|
@@ -113,6 +113,11 @@ Dynamic: license-file
|
|
|
113
113
|
|
|
114
114
|
# AgenticDome Python SDK
|
|
115
115
|
|
|
116
|
+
Python 3.11+ is required from SDK 1.2.44. Release certification gates cover
|
|
117
|
+
CPython 3.11–3.14 using the same built wheel; newer interpreters require a
|
|
118
|
+
separate qualification run. Framework compatibility also depends on that
|
|
119
|
+
framework's supported versions and resolved dependencies.
|
|
120
|
+
|
|
116
121
|
[](https://pypi.org/project/agenticdome-python-sdk/)
|
|
117
122
|
[](https://pypi.org/project/agenticdome-python-sdk/)
|
|
118
123
|
[](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
|
|
@@ -573,7 +578,7 @@ pip install agenticdome-python-sdk
|
|
|
573
578
|
| PydanticAI | `pip install "agenticdome-python-sdk[pydanticai]"` |
|
|
574
579
|
| LangGraph / LangChain | `pip install "agenticdome-python-sdk[langgraph]"` |
|
|
575
580
|
| Microsoft Agent Framework | `pip install "agenticdome-python-sdk[microsoft]"` |
|
|
576
|
-
| Microsoft AutoGen AgentChat / Core (Python 3.
|
|
581
|
+
| Microsoft AutoGen AgentChat / Core (Python 3.11+) | `pip install "agenticdome-python-sdk[autogen]"` |
|
|
577
582
|
| Microsoft AI Foundry | `pip install "agenticdome-python-sdk[foundry]"` |
|
|
578
583
|
| OpenAI Agents SDK | `pip install "agenticdome-python-sdk[openai-agents]"` |
|
|
579
584
|
| Anthropic Claude Agent SDK | `pip install "agenticdome-python-sdk[claude]"` |
|
|
@@ -1323,7 +1328,7 @@ from agenticdome_sdk.microsoft_agent_framework import (
|
|
|
1323
1328
|
AutoGen is Microsoft's open-source conversational multi-agent framework and is now community-managed in maintenance mode; Microsoft Agent Framework is the recommended successor for new systems. AgenticDome supports current AutoGen AgentChat/Core applications and existing legacy `ConversableAgent` deployments so teams can migrate without losing runtime enforcement.
|
|
1324
1329
|
|
|
1325
1330
|
```bash
|
|
1326
|
-
#
|
|
1331
|
+
# This SDK requires Python 3.11+.
|
|
1327
1332
|
pip install "agenticdome-python-sdk[autogen]"
|
|
1328
1333
|
```
|
|
1329
1334
|
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# AgenticDome Python SDK
|
|
2
2
|
|
|
3
|
+
Python 3.11+ is required from SDK 1.2.44. Release certification gates cover
|
|
4
|
+
CPython 3.11–3.14 using the same built wheel; newer interpreters require a
|
|
5
|
+
separate qualification run. Framework compatibility also depends on that
|
|
6
|
+
framework's supported versions and resolved dependencies.
|
|
7
|
+
|
|
3
8
|
[](https://pypi.org/project/agenticdome-python-sdk/)
|
|
4
9
|
[](https://pypi.org/project/agenticdome-python-sdk/)
|
|
5
10
|
[](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
|
|
@@ -460,7 +465,7 @@ pip install agenticdome-python-sdk
|
|
|
460
465
|
| PydanticAI | `pip install "agenticdome-python-sdk[pydanticai]"` |
|
|
461
466
|
| LangGraph / LangChain | `pip install "agenticdome-python-sdk[langgraph]"` |
|
|
462
467
|
| Microsoft Agent Framework | `pip install "agenticdome-python-sdk[microsoft]"` |
|
|
463
|
-
| Microsoft AutoGen AgentChat / Core (Python 3.
|
|
468
|
+
| Microsoft AutoGen AgentChat / Core (Python 3.11+) | `pip install "agenticdome-python-sdk[autogen]"` |
|
|
464
469
|
| Microsoft AI Foundry | `pip install "agenticdome-python-sdk[foundry]"` |
|
|
465
470
|
| OpenAI Agents SDK | `pip install "agenticdome-python-sdk[openai-agents]"` |
|
|
466
471
|
| Anthropic Claude Agent SDK | `pip install "agenticdome-python-sdk[claude]"` |
|
|
@@ -1210,7 +1215,7 @@ from agenticdome_sdk.microsoft_agent_framework import (
|
|
|
1210
1215
|
AutoGen is Microsoft's open-source conversational multi-agent framework and is now community-managed in maintenance mode; Microsoft Agent Framework is the recommended successor for new systems. AgenticDome supports current AutoGen AgentChat/Core applications and existing legacy `ConversableAgent` deployments so teams can migrate without losing runtime enforcement.
|
|
1211
1216
|
|
|
1212
1217
|
```bash
|
|
1213
|
-
#
|
|
1218
|
+
# This SDK requires Python 3.11+.
|
|
1214
1219
|
pip install "agenticdome-python-sdk[autogen]"
|
|
1215
1220
|
```
|
|
1216
1221
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.45
|
|
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
|
|
@@ -21,11 +21,11 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
21
21
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
22
22
|
Classifier: Operating System :: OS Independent
|
|
23
23
|
Classifier: Programming Language :: Python :: 3
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
26
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
27
25
|
Classifier: Programming Language :: Python :: 3.12
|
|
28
|
-
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
28
|
+
Requires-Python: >=3.11
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
License-File: NOTICE
|
|
@@ -113,6 +113,11 @@ Dynamic: license-file
|
|
|
113
113
|
|
|
114
114
|
# AgenticDome Python SDK
|
|
115
115
|
|
|
116
|
+
Python 3.11+ is required from SDK 1.2.44. Release certification gates cover
|
|
117
|
+
CPython 3.11–3.14 using the same built wheel; newer interpreters require a
|
|
118
|
+
separate qualification run. Framework compatibility also depends on that
|
|
119
|
+
framework's supported versions and resolved dependencies.
|
|
120
|
+
|
|
116
121
|
[](https://pypi.org/project/agenticdome-python-sdk/)
|
|
117
122
|
[](https://pypi.org/project/agenticdome-python-sdk/)
|
|
118
123
|
[](https://github.com/agenticdome/agenticdome-python-sdk/actions/workflows/ci.yml)
|
|
@@ -573,7 +578,7 @@ pip install agenticdome-python-sdk
|
|
|
573
578
|
| PydanticAI | `pip install "agenticdome-python-sdk[pydanticai]"` |
|
|
574
579
|
| LangGraph / LangChain | `pip install "agenticdome-python-sdk[langgraph]"` |
|
|
575
580
|
| Microsoft Agent Framework | `pip install "agenticdome-python-sdk[microsoft]"` |
|
|
576
|
-
| Microsoft AutoGen AgentChat / Core (Python 3.
|
|
581
|
+
| Microsoft AutoGen AgentChat / Core (Python 3.11+) | `pip install "agenticdome-python-sdk[autogen]"` |
|
|
577
582
|
| Microsoft AI Foundry | `pip install "agenticdome-python-sdk[foundry]"` |
|
|
578
583
|
| OpenAI Agents SDK | `pip install "agenticdome-python-sdk[openai-agents]"` |
|
|
579
584
|
| Anthropic Claude Agent SDK | `pip install "agenticdome-python-sdk[claude]"` |
|
|
@@ -1323,7 +1328,7 @@ from agenticdome_sdk.microsoft_agent_framework import (
|
|
|
1323
1328
|
AutoGen is Microsoft's open-source conversational multi-agent framework and is now community-managed in maintenance mode; Microsoft Agent Framework is the recommended successor for new systems. AgenticDome supports current AutoGen AgentChat/Core applications and existing legacy `ConversableAgent` deployments so teams can migrate without losing runtime enforcement.
|
|
1324
1329
|
|
|
1325
1330
|
```bash
|
|
1326
|
-
#
|
|
1331
|
+
# This SDK requires Python 3.11+.
|
|
1327
1332
|
pip install "agenticdome-python-sdk[autogen]"
|
|
1328
1333
|
```
|
|
1329
1334
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .client import AgenticDomeClient, AgenticDomeError, AgenticDomeHTTPError
|
|
1
|
+
from .client import AgenticDomeClient, AgenticDomeError, AgenticDomeHTTPError, ApprovalRequired
|
|
2
2
|
from .identity import IDENTITY_CONTEXT_VERSION, canonicalize_identity_context, enrich_policy_context
|
|
3
3
|
from .proof import create_dpop_proof, generate_rsa_proof_key, jwk_thumbprint
|
|
4
4
|
from ._mode import LIVE_MODE, LOCAL_SIM_MODE, is_local_sim_mode, resolve_mode
|
|
@@ -10,6 +10,7 @@ __all__ = [
|
|
|
10
10
|
"AgenticDomeClient",
|
|
11
11
|
"AgenticDomeError",
|
|
12
12
|
"AgenticDomeHTTPError",
|
|
13
|
+
"ApprovalRequired",
|
|
13
14
|
"IDENTITY_CONTEXT_VERSION",
|
|
14
15
|
"canonicalize_identity_context",
|
|
15
16
|
"enrich_policy_context",
|
|
@@ -15,7 +15,7 @@ from dataclasses import dataclass
|
|
|
15
15
|
from threading import Lock, Thread
|
|
16
16
|
from typing import Any, Awaitable, Callable, Deque, Dict, Optional, Tuple, Type
|
|
17
17
|
|
|
18
|
-
from .client import AgenticDomeClient
|
|
18
|
+
from .client import AgenticDomeClient, ApprovalRequired
|
|
19
19
|
from .lifecycle import VerifiedActionReporter
|
|
20
20
|
from ._mode import credentials_or_local_sim
|
|
21
21
|
|
|
@@ -335,6 +335,8 @@ class FrameworkFirewallBase:
|
|
|
335
335
|
self._circuit_open_until = 0.0
|
|
336
336
|
return result
|
|
337
337
|
except Exception as exc:
|
|
338
|
+
if isinstance(exc, ApprovalRequired):
|
|
339
|
+
raise
|
|
338
340
|
last_error = exc
|
|
339
341
|
with self._circuit_lock:
|
|
340
342
|
self._circuit_failures += 1
|
|
@@ -346,6 +348,8 @@ class FrameworkFirewallBase:
|
|
|
346
348
|
raise last_error
|
|
347
349
|
|
|
348
350
|
def _failure(self, context: str, exc: Exception, fallback: Any) -> Any:
|
|
351
|
+
if isinstance(exc, ApprovalRequired):
|
|
352
|
+
raise exc
|
|
349
353
|
if isinstance(exc, self.denied_error):
|
|
350
354
|
raise exc
|
|
351
355
|
if self.config.fail_closed:
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"schema": "agenticdome.catalog-snapshot.v1",
|
|
3
3
|
"catalog_schema": "agenticdome.hook-catalog.v1",
|
|
4
4
|
"verified_at": "2026-10-02",
|
|
5
|
-
"python_sdk_version": "1.2.
|
|
5
|
+
"python_sdk_version": "1.2.45",
|
|
6
6
|
"published_packages": {
|
|
7
7
|
"agenticdome-python-sdk": {
|
|
8
8
|
"registry": "pypi",
|
|
9
|
-
"version": "1.2.
|
|
10
|
-
"url": "https://pypi.org/project/agenticdome-python-sdk/1.2.
|
|
9
|
+
"version": "1.2.45",
|
|
10
|
+
"url": "https://pypi.org/project/agenticdome-python-sdk/1.2.45/"
|
|
11
11
|
},
|
|
12
12
|
"agenticdome-sdk": {
|
|
13
13
|
"registry": "npm",
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import base64
|
|
2
2
|
import hashlib
|
|
3
|
+
import json
|
|
4
|
+
import uuid
|
|
3
5
|
import logging
|
|
4
6
|
import os
|
|
5
7
|
import re
|
|
@@ -41,6 +43,36 @@ class AgenticDomeHTTPError(AgenticDomeError):
|
|
|
41
43
|
super().__init__(f"[{status_code}] {message}")
|
|
42
44
|
|
|
43
45
|
|
|
46
|
+
class ApprovalRequired(AgenticDomeError):
|
|
47
|
+
"""A prepared action is paused. Preserve it and resume only after review."""
|
|
48
|
+
|
|
49
|
+
def __init__(self, response: Dict[str, Any], prepared_request: Dict[str, Any]):
|
|
50
|
+
context = response.get("context") or {}
|
|
51
|
+
self.request_id = str((context.get("approval") or {}).get("id") or "")
|
|
52
|
+
self.approval_url = str(context.get("approval_url") or "")
|
|
53
|
+
self.response = response
|
|
54
|
+
# Freeze the prepared body independently of mutable handler arguments.
|
|
55
|
+
self._prepared_json = json.dumps(prepared_request, sort_keys=True, allow_nan=False)
|
|
56
|
+
super().__init__("Approval required" + (": " + self.request_id if self.request_id else ""))
|
|
57
|
+
|
|
58
|
+
def resume(self, client: "AgenticDomeClient", executor):
|
|
59
|
+
return client.resume_approved_action(self, executor)
|
|
60
|
+
|
|
61
|
+
def export_prepared_action(self):
|
|
62
|
+
"""Contains original arguments: encrypt in host storage and never log it."""
|
|
63
|
+
prepared = json.loads(self._prepared_json)
|
|
64
|
+
return {"schema": "agenticdome.sdk-prepared-approval.v1", "approval": {"id": self.request_id, "url": self.approval_url},
|
|
65
|
+
"prepared_request": prepared, "tenant_id": prepared.get("tenant_id")}
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def restore_prepared_action(cls, record):
|
|
69
|
+
prepared = record.get("prepared_request") if isinstance(record, dict) else None
|
|
70
|
+
approval = record.get("approval") if isinstance(record, dict) else None
|
|
71
|
+
if not isinstance(record, dict) or record.get("schema") != "agenticdome.sdk-prepared-approval.v1" or not isinstance(prepared, dict) or not prepared.get("tool_name") or not isinstance(approval, dict) or not approval.get("id"):
|
|
72
|
+
raise ValueError("Invalid prepared approval record")
|
|
73
|
+
return cls({"context": {"approval": {"id": approval["id"]}, "approval_url": approval.get("url", "")}}, record["prepared_request"])
|
|
74
|
+
|
|
75
|
+
|
|
44
76
|
class AgenticDomeClient:
|
|
45
77
|
"""
|
|
46
78
|
Official Python SDK for the AgenticDome Action Firewall.
|
|
@@ -794,10 +826,14 @@ class AgenticDomeClient:
|
|
|
794
826
|
raise ValueError("'workload_id' must be a non-empty SPIFFE ID up to 512 characters")
|
|
795
827
|
payload["workload_id"] = normalized_workload
|
|
796
828
|
|
|
829
|
+
if tool_name:
|
|
830
|
+
payload["policy_context"].setdefault("approval_action_id", str(uuid.uuid4()))
|
|
797
831
|
path = "/tools/execution/authorize" if broker_enabled else "/tools/guardrail/validate"
|
|
798
832
|
if broker_enabled and resolved_broker_mode == "policy" and execution_broker is not True:
|
|
799
833
|
path = "/tools/execution/resolve"
|
|
800
834
|
response = self._request("POST", path, json_body=payload, tenant_id=tenant_id)
|
|
835
|
+
if str(response.get("verdict") or "").upper() == "APPROVAL_REQUIRED":
|
|
836
|
+
raise ApprovalRequired(response, payload)
|
|
801
837
|
if broker_enabled:
|
|
802
838
|
if path == "/tools/execution/resolve":
|
|
803
839
|
contract = response.get("execution_broker_policy") or {}
|
|
@@ -819,6 +855,28 @@ class AgenticDomeClient:
|
|
|
819
855
|
)
|
|
820
856
|
return response
|
|
821
857
|
|
|
858
|
+
def resume_approved_action(self, pending: ApprovalRequired, executor):
|
|
859
|
+
"""Revalidate and consume one exact-action grant before invoking executor(args).
|
|
860
|
+
|
|
861
|
+
The caller retains the prepared request; the portal never holds payloads.
|
|
862
|
+
Approval does not execute anything until this explicit continuation runs.
|
|
863
|
+
"""
|
|
864
|
+
if not isinstance(pending, ApprovalRequired) or not callable(executor):
|
|
865
|
+
raise ValueError("A prepared approval request and executor are required")
|
|
866
|
+
request_id = str(uuid.UUID(pending.request_id))
|
|
867
|
+
payload = json.loads(pending._prepared_json)
|
|
868
|
+
tenant = payload.get("tenant_id")
|
|
869
|
+
grant = self._request("GET", f"/tools/approvals/{request_id}/grant", tenant_id=tenant).get("approval_grant")
|
|
870
|
+
if not isinstance(grant, str) or not grant:
|
|
871
|
+
raise AgenticDomeError("No current approval grant was returned")
|
|
872
|
+
payload["policy_context"] = {**(payload.get("policy_context") or {}), "approval_grant": grant}
|
|
873
|
+
payload.setdefault("boundary_id", "sdk:approval:" + request_id)
|
|
874
|
+
response = self._request("POST", "/tools/execution/authorize", json_body=payload, tenant_id=tenant)
|
|
875
|
+
broker = response.get("broker") or {}
|
|
876
|
+
if response.get("verdict") != "ALLOWED" or not broker.get("verified") or not broker.get("token_consumed") or broker.get("approval_request_id") != request_id or not response.get("execution_receipt"):
|
|
877
|
+
raise AgenticDomeError("The approved action could not be revalidated and consumed")
|
|
878
|
+
return executor(json.loads(pending._prepared_json)["tool_args"])
|
|
879
|
+
|
|
822
880
|
@staticmethod
|
|
823
881
|
def enforcement_headers(result: Dict[str, Any], *, workload_id: Optional[str] = None) -> Dict[str, str]:
|
|
824
882
|
"""Build headers for an AgenticDome egress gateway from a broker result."""
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/hook_catalog.py
RENAMED
|
@@ -49,6 +49,12 @@ PUBLISHED_AGENTICDOME_PACKAGES: Dict[str, Dict[str, str]] = {
|
|
|
49
49
|
if isinstance(row, dict)
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
# Prepared artifacts are kept separate from registry-verified published releases.
|
|
53
|
+
RELEASE_CANDIDATE_PACKAGES = {
|
|
54
|
+
'agenticdome-python-sdk': {'version': '1.2.44', 'status': 'unpublished'},
|
|
55
|
+
'agenticdome-sdk': {'version': '0.6.15', 'status': 'unpublished'},
|
|
56
|
+
}
|
|
57
|
+
|
|
52
58
|
|
|
53
59
|
def _python_contract(
|
|
54
60
|
label: str,
|
|
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agenticdome-python-sdk"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.45"
|
|
8
8
|
description = "Official Python SDK for AgenticDome security guardrails, DLP, tool authorization, and multi-agent delegation enforcement."
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
11
|
license = "Apache-2.0"
|
|
12
12
|
license-files = ["LICENSE", "NOTICE"]
|
|
13
13
|
|
|
@@ -36,10 +36,10 @@ classifiers = [
|
|
|
36
36
|
"Topic :: Internet :: WWW/HTTP",
|
|
37
37
|
"Operating System :: OS Independent",
|
|
38
38
|
"Programming Language :: Python :: 3",
|
|
39
|
-
"Programming Language :: Python :: 3.9",
|
|
40
|
-
"Programming Language :: Python :: 3.10",
|
|
41
39
|
"Programming Language :: Python :: 3.11",
|
|
42
|
-
"Programming Language :: Python :: 3.12"
|
|
40
|
+
"Programming Language :: Python :: 3.12",
|
|
41
|
+
"Programming Language :: Python :: 3.13",
|
|
42
|
+
"Programming Language :: Python :: 3.14"
|
|
43
43
|
]
|
|
44
44
|
|
|
45
45
|
dependencies = [
|
|
@@ -175,9 +175,9 @@ agenticdome_sdk = ["*.cjs", "catalog_snapshot.json"]
|
|
|
175
175
|
|
|
176
176
|
[tool.ruff]
|
|
177
177
|
line-length = 120
|
|
178
|
-
target-version = "
|
|
178
|
+
target-version = "py311"
|
|
179
179
|
|
|
180
180
|
[tool.mypy]
|
|
181
|
-
python_version = "3.
|
|
181
|
+
python_version = "3.11"
|
|
182
182
|
ignore_missing_imports = true
|
|
183
183
|
strict = false
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/action_path_proof.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/attestation.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/aws_bedrock.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/copilot_ir.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/framework_edits.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/generic_python.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/google_adk.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/langgraph.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/lifecycle.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/llamaindex.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/mcp_http_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/mcp_verification.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/onboarding_cli.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/openai_agents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/report_scope.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/simulation.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/agenticdome_sdk/smolagents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/aws-bedrock.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/claude-agent-sdk.md
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/custom-python.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/google-adk.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/langgraph.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/llamaindex.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/openai-agents.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/pydanticai.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/frameworks/smolagents.md
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/docs/performance-evidence.md
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/PRODUCTION_INTEGRATION.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/README.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/_shared.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/autogen.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/aws_bedrock.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/crewai.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/custom_python.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/google_adk.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/langgraph.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/llamaindex.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/openai_agents.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/pydanticai.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/frameworks/smolagents.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.45}/examples/local_simulation_gallery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|