agenticdome-python-sdk 1.2.43__tar.gz → 1.2.46__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.43 → agenticdome_python_sdk-1.2.46}/PKG-INFO +11 -6
  2. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/README.md +7 -2
  3. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_python_sdk.egg-info/PKG-INFO +11 -6
  4. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/__init__.py +2 -1
  5. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/_framework_firewall.py +5 -1
  6. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/catalog_snapshot.json +6 -6
  7. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/client.py +58 -0
  8. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/hook_catalog.py +7 -1
  9. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/pyproject.toml +7 -7
  10. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/CONTRIBUTING.md +0 -0
  11. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/LICENSE +0 -0
  12. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/MANIFEST.in +0 -0
  13. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/NOTICE +0 -0
  14. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/SECURITY.md +0 -0
  15. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_python_sdk.egg-info/SOURCES.txt +0 -0
  16. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
  17. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
  18. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_python_sdk.egg-info/requires.txt +0 -0
  19. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
  20. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/_mode.py +0 -0
  21. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/action_path_proof.py +0 -0
  22. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/agno.py +0 -0
  23. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/attestation.py +0 -0
  24. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/autogen.py +0 -0
  25. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/aws_bedrock.py +0 -0
  26. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/claude.py +0 -0
  27. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/connect.py +0 -0
  28. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/copilot_ir.py +0 -0
  29. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/copilot_ir_collector.cjs +0 -0
  30. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/crewai.py +0 -0
  31. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/demo.py +0 -0
  32. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/existing_integration.py +0 -0
  33. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/framework_edits.py +0 -0
  34. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/generic_python.py +0 -0
  35. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/google_adk.py +0 -0
  36. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/guided_integration.py +0 -0
  37. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/identity.py +0 -0
  38. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/langgraph.py +0 -0
  39. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/lifecycle.py +0 -0
  40. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/llamaindex.py +0 -0
  41. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/mcp_host.py +0 -0
  42. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/mcp_http_gateway.py +0 -0
  43. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/mcp_rehearsal_server.py +0 -0
  44. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/mcp_verification.py +0 -0
  45. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
  46. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
  47. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/onboarding_cli.py +0 -0
  48. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/onboarding_observations.py +0 -0
  49. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/openai_agents.py +0 -0
  50. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/outcomes.py +0 -0
  51. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/proof.py +0 -0
  52. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/pydantic.py +0 -0
  53. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/report_scope.py +0 -0
  54. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/simulation.py +0 -0
  55. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/agenticdome_sdk/smolagents.py +0 -0
  56. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/customer-onboarding.md +0 -0
  57. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/README.md +0 -0
  58. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/agno.md +0 -0
  59. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/autogen.md +0 -0
  60. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/aws-bedrock.md +0 -0
  61. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/claude-agent-sdk.md +0 -0
  62. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/crewai.md +0 -0
  63. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/custom-python.md +0 -0
  64. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/google-adk.md +0 -0
  65. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/langgraph.md +0 -0
  66. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/llamaindex.md +0 -0
  67. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/microsoft-agent-framework.md +0 -0
  68. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/microsoft-ai-foundry.md +0 -0
  69. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/openai-agents.md +0 -0
  70. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/pydanticai.md +0 -0
  71. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/frameworks/smolagents.md +0 -0
  72. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/mcp-integration.md +0 -0
  73. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/performance-evidence.md +0 -0
  74. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/docs/runtime-deployment.md +0 -0
  75. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/PRODUCTION_INTEGRATION.md +0 -0
  76. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/README.md +0 -0
  77. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/attack_demo.py +0 -0
  78. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/crewai_agenticdome_firewall.py +0 -0
  79. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/README.md +0 -0
  80. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/_shared.py +0 -0
  81. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/agno.py +0 -0
  82. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/autogen.py +0 -0
  83. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/aws_bedrock.py +0 -0
  84. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/claude_agent_sdk.py +0 -0
  85. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/crewai.py +0 -0
  86. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/custom_python.py +0 -0
  87. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/google_adk.py +0 -0
  88. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/langgraph.py +0 -0
  89. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/llamaindex.py +0 -0
  90. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/mcp.py +0 -0
  91. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/microsoft_agent_framework.py +0 -0
  92. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/microsoft_ai_foundry.py +0 -0
  93. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/openai_agents.py +0 -0
  94. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/pydanticai.py +0 -0
  95. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/frameworks/smolagents.py +0 -0
  96. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/langgraph_agenticdome_firewall.py +0 -0
  97. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/local_simulation_gallery.py +0 -0
  98. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/examples/mcp_gateway_action_firewall.py +0 -0
  99. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/setup.cfg +0 -0
  100. {agenticdome_python_sdk-1.2.43 → agenticdome_python_sdk-1.2.46}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.2.43
3
+ Version: 1.2.46
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
- Requires-Python: >=3.9
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
  [![PyPI version](https://img.shields.io/pypi/v/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
117
122
  [![Python Versions](https://img.shields.io/pypi/pyversions/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
118
123
  [![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)
@@ -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.10+) | `pip install "agenticdome-python-sdk[autogen]"` |
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
- # AutoGen AgentChat requires Python 3.10+.
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
  [![PyPI version](https://img.shields.io/pypi/v/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
4
9
  [![Python Versions](https://img.shields.io/pypi/pyversions/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
5
10
  [![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)
@@ -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.10+) | `pip install "agenticdome-python-sdk[autogen]"` |
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
- # AutoGen AgentChat requires Python 3.10+.
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.43
3
+ Version: 1.2.46
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
- Requires-Python: >=3.9
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
  [![PyPI version](https://img.shields.io/pypi/v/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
117
122
  [![Python Versions](https://img.shields.io/pypi/pyversions/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
118
123
  [![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)
@@ -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.10+) | `pip install "agenticdome-python-sdk[autogen]"` |
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
- # AutoGen AgentChat requires Python 3.10+.
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:
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "schema": "agenticdome.catalog-snapshot.v1",
3
3
  "catalog_schema": "agenticdome.hook-catalog.v1",
4
- "verified_at": "2026-10-02",
5
- "python_sdk_version": "1.2.43",
4
+ "verified_at": "2026-10-12",
5
+ "python_sdk_version": "1.2.46",
6
6
  "published_packages": {
7
7
  "agenticdome-python-sdk": {
8
8
  "registry": "pypi",
9
- "version": "1.2.43",
10
- "url": "https://pypi.org/project/agenticdome-python-sdk/1.2.43/"
9
+ "version": "1.2.46",
10
+ "url": "https://pypi.org/project/agenticdome-python-sdk/1.2.46/"
11
11
  },
12
12
  "agenticdome-sdk": {
13
13
  "registry": "npm",
@@ -21,8 +21,8 @@
21
21
  },
22
22
  "openclaw": {
23
23
  "registry": "npm",
24
- "version": "2026.9.7",
25
- "url": "https://www.npmjs.com/package/openclaw/v/2026.9.7"
24
+ "version": "2026.10.2",
25
+ "url": "https://www.npmjs.com/package/openclaw/v/2026.10.2"
26
26
  }
27
27
  }
28
28
  }
@@ -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."""
@@ -39,7 +39,7 @@ CATALOG_VERIFIED_AT = str(_CATALOG_SNAPSHOT["verified_at"])
39
39
 
40
40
 
41
41
  _OPENCLAW_RUNTIME_MIN_VERSION = "2026.7.1-2"
42
- _OPENCLAW_RUNTIME_MAX_VERSION = "2026.9.7"
42
+ _OPENCLAW_RUNTIME_MAX_VERSION = "2026.10.2"
43
43
  _OPENCLAW_RUNTIME_VERSION = _OPENCLAW_RUNTIME_MAX_VERSION
44
44
  _OPENCLAW_NODE_RANGE = ">=24.16.0 <25 || >=26.1.0"
45
45
 
@@ -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.43"
7
+ version = "1.2.46"
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.9"
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 = "py39"
178
+ target-version = "py311"
179
179
 
180
180
  [tool.mypy]
181
- python_version = "3.9"
181
+ python_version = "3.11"
182
182
  ignore_missing_imports = true
183
183
  strict = false