agenticdome-python-sdk 1.0.7__tar.gz → 1.1.0__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 (48) hide show
  1. agenticdome_python_sdk-1.1.0/LICENSE +14 -0
  2. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/MANIFEST.in +2 -1
  3. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/PKG-INFO +80 -123
  4. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/README.md +77 -122
  5. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_python_sdk.egg-info/PKG-INFO +80 -123
  6. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_python_sdk.egg-info/SOURCES.txt +1 -0
  7. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/agno.py +1 -1
  8. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/aws_bedrock.py +2 -2
  9. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/client.py +43 -25
  10. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/crewai.py +28 -11
  11. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/google_adk.py +2 -2
  12. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/langgraph.py +2 -2
  13. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/llamaindex.py +2 -2
  14. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/mcp_host.py +1 -1
  15. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/microsoft_agent_framework.py +2 -2
  16. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/microsoft_ai_foundry.py +10 -17
  17. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/openai_agents.py +1 -1
  18. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/pydantic.py +3 -10
  19. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/agno_lateral_refund.py +6 -4
  20. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/ai_foundry_callback_export.py +7 -3
  21. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/attack_demo.py +3 -3
  22. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/crewai_lateral_refund.py +6 -4
  23. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/mcp_remote_patch.py +6 -4
  24. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/mesh_output_redaction.py +6 -4
  25. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/microsoft_metadata_exfil.py +6 -4
  26. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/salesforce_hidden_bcc.py +6 -4
  27. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/servicenow_delete_logs.py +6 -4
  28. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/pyproject.toml +1 -1
  29. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/setup.py +3 -3
  30. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_client.py +13 -0
  31. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_crewai_integration.py +11 -1
  32. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_microsoft_ai_foundry_integration.py +3 -12
  33. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_pydanticai_integration.py +2 -2
  34. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
  35. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_python_sdk.egg-info/requires.txt +0 -0
  36. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
  37. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/__init__.py +0 -0
  38. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/agenticdome_sdk/scenarios.py +0 -0
  39. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/examples/crewai_agenticdome_firewall.py +0 -0
  40. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/setup.cfg +0 -0
  41. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_agno_integration.py +0 -0
  42. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_aws_bedrock_integration.py +0 -0
  43. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_google_adk_integration.py +0 -0
  44. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_langgraph_integration.py +0 -0
  45. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_llamaindex_integration.py +0 -0
  46. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_mcp_host_integration.py +0 -0
  47. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_microsoft_agent_framework_integration.py +0 -0
  48. {agenticdome_python_sdk-1.0.7 → agenticdome_python_sdk-1.1.0}/tests/test_openai_agents_integration.py +0 -0
@@ -0,0 +1,14 @@
1
+ Copyright (c) AgenticDome. All rights reserved.
2
+
3
+ This software and associated documentation files (the "Software") are
4
+ proprietary to AgenticDome.
5
+
6
+ Use, copying, modification, distribution, sublicensing, or resale of the
7
+ Software is permitted only under a written agreement with AgenticDome or terms
8
+ published by AgenticDome for this package.
9
+
10
+ The Software is provided "as is", without warranty of any kind, express or
11
+ implied, including but not limited to the warranties of merchantability, fitness
12
+ for a particular purpose, and noninfringement. In no event shall AgenticDome be
13
+ liable for any claim, damages, or other liability arising from use of the
14
+ Software, whether in an action of contract, tort, or otherwise.
@@ -1,4 +1,5 @@
1
1
  include README.md
2
+ include LICENSE
2
3
  include pyproject.toml
3
4
  include setup.py
4
5
 
@@ -7,4 +8,4 @@ recursive-include tests *.py
7
8
 
8
9
  global-exclude __pycache__
9
10
  global-exclude *.py[cod]
10
- global-exclude .DS_Store
11
+ global-exclude .DS_Store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.0.7
3
+ Version: 1.1.0
4
4
  Summary: Official Python SDK for AgentGuard Intelligence Engine and Action Firewall.
5
5
  Home-page: https://github.com/agenticdome/agenticdome-python-sdk-python
6
6
  Author: AgenticDome
@@ -24,6 +24,7 @@ Classifier: Programming Language :: Python :: 3.11
24
24
  Classifier: Programming Language :: Python :: 3.12
25
25
  Requires-Python: >=3.9
26
26
  Description-Content-Type: text/markdown
27
+ License-File: LICENSE
27
28
  Requires-Dist: requests>=2.31.0
28
29
  Requires-Dist: urllib3>=2.0.0
29
30
  Provides-Extra: crewai
@@ -84,13 +85,14 @@ Requires-Dist: mypy>=1.8.0; extra == "dev"
84
85
  Requires-Dist: build>=1.0.0; extra == "dev"
85
86
  Requires-Dist: twine>=5.0.0; extra == "dev"
86
87
  Dynamic: home-page
88
+ Dynamic: license-file
87
89
  Dynamic: requires-python
88
90
 
89
91
  # AgenticDome Python SDK
90
92
 
91
93
  [![PyPI version](https://img.shields.io/pypi/v/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
92
94
  [![Python Versions](https://img.shields.io/pypi/pyversions/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
93
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
95
+ [![License: Proprietary](https://img.shields.io/badge/License-Proprietary-blue.svg)](#license)
94
96
 
95
97
  > **Production-grade security guardrails, DLP, tool authorization, and multi-agent delegation enforcement for Python autonomous AI runtimes.**
96
98
 
@@ -115,21 +117,32 @@ The package includes:
115
117
  - Optional Redis-backed distributed token storage
116
118
  - Enterprise-ready fail-open / fail-closed runtime behavior
117
119
 
118
- Supported runtime integrations include:
119
-
120
- - **CrewAI Open Source / Enterprise**
121
- - **PydanticAI**
122
- - **LangGraph / LangChain graph runtimes**
123
- - **Microsoft Agent Framework for Python**
124
- - **Microsoft AI Foundry / Azure AI Foundry**
125
- - **Agno**
126
- - **OpenAI Agents SDK**
127
- - **MCP hosts, gateways, and third-party MCP server proxies**
128
- - **AWS Bedrock Runtime / Bedrock Agents local tool handlers**
129
- - **Google ADK**
130
- - **LlamaIndex**
131
- - **Custom Python agent runtimes**
132
- - **Multi-agent routers and tool gateways**
120
+ ## Quick Navigation
121
+
122
+ Start with onboarding and configuration, then jump to the framework guide that matches where your agents and tools run.
123
+
124
+ | Start here | Link |
125
+ | :--- | :--- |
126
+ | Create tenant, tenant ID, and API key | [Getting Started and Onboarding](#getting-started-and-onboarding) |
127
+ | Install the SDK or a framework extra | [Installation](#installation) |
128
+ | Set required environment variables | [Configuration](#configuration) |
129
+ | Decide where to attach AgenticDome in code | [Framework-by-Framework Global Application Map](#framework-by-framework-global-application-map) |
130
+ | Low-level SDK calls for custom runtimes | [Core Python SDK Client Usage](#core-python-sdk-client-usage) |
131
+
132
+ | Framework / Runtime | Install extra | Framework guide |
133
+ | :--- | :--- | :--- |
134
+ | CrewAI Open Source / Enterprise | `crewai` | [CrewAI Integration](#crewai-integration) |
135
+ | PydanticAI | `pydanticai` | [PydanticAI Integration](#pydanticai-integration) |
136
+ | LangGraph / LangChain graph runtimes | `langgraph` | [LangGraph Integration](#langgraph-integration) |
137
+ | Microsoft Agent Framework for Python | `microsoft` | [Microsoft Agent Framework Integration](#microsoft-agent-framework-integration) |
138
+ | Microsoft AI Foundry / Azure AI Foundry | `foundry` | [Microsoft AI Foundry Integration](#microsoft-ai-foundry-integration) |
139
+ | OpenAI Agents SDK | `openai-agents` | [OpenAI Agents SDK Integration](#openai-agents-sdk-integration) |
140
+ | Agno | `agno` | [Agno Integration](#agno-integration) |
141
+ | Google ADK | `google-adk` | [Google ADK Integration](#google-adk-integration) |
142
+ | LlamaIndex | `llamaindex` | [LlamaIndex Integration](#llamaindex-integration) |
143
+ | AWS Bedrock Runtime / Bedrock Agents | `bedrock` | [AWS Bedrock Integration](#aws-bedrock-integration) |
144
+ | MCP host / gateway / proxy | `mcp` | [MCP Host Gateway Integration](#mcp-host-gateway-integration) |
145
+ | Custom Python agent runtimes | none | [Core Python SDK Client Usage](#core-python-sdk-client-usage) |
133
146
 
134
147
  ---
135
148
 
@@ -258,124 +271,64 @@ Delegation token storage can run in:
258
271
 
259
272
  ## Getting Started and Onboarding
260
273
 
261
- Before integrating the SDK, create an AgenticDome tenant and API key.
274
+ If you are an Enterprise Administrator securing your OpenClaw stack or another Python agent runtime:
262
275
 
263
- 1. Visit the [AgenticDome Management Console, AU Region](https://au.agenticdome.io).
264
- 2. Create or select your organization.
265
- 3. Copy your **Tenant ID**.
266
- 4. Generate an **API Key** from the access-control or API-key section.
267
- 5. Configure your runtime environment variables.
276
+ 1. Create an account in the AgenticDome Management Console for the AU region.
277
+ 2. Log in and copy your unique workspace or organization tenant identifier from organization settings.
278
+ 3. Navigate to the access-control or API-key section and generate a production API key.
279
+ 4. Configure your local OpenClaw runtime, server, worker, or hosting container with the required environment variables before attaching any SDK framework integration.
268
280
 
269
281
  ---
270
282
 
271
283
  ## Installation
272
284
 
273
- Install the core SDK:
285
+ Install the core SDK when you call AgenticDome from a custom runtime or want only the low-level client:
274
286
 
275
287
  ```bash
276
288
  pip install agenticdome-python-sdk
277
289
  ```
278
290
 
279
- Install with CrewAI support:
280
-
281
- ```bash
282
- pip install "agenticdome-python-sdk[crewai]"
283
- ```
284
-
285
- Install with PydanticAI support:
286
-
287
- ```bash
288
- pip install "agenticdome-python-sdk[pydanticai]"
289
- ```
290
-
291
- Install with LangGraph support:
292
-
293
- ```bash
294
- pip install "agenticdome-python-sdk[langgraph]"
295
- ```
296
-
297
- Install with Microsoft Agent Framework helper support:
298
-
299
- ```bash
300
- pip install "agenticdome-python-sdk[microsoft]"
301
- ```
302
-
303
- Install with Agno support:
304
-
305
- ```bash
306
- pip install "agenticdome-python-sdk[agno]"
307
- ```
308
-
309
- Install with Azure AI Foundry helper support:
310
-
311
- ```bash
312
- pip install "agenticdome-python-sdk[foundry]"
313
- ```
314
-
315
- Install with OpenAI Agents SDK helper support:
316
-
317
- ```bash
318
- pip install "agenticdome-python-sdk[openai-agents]"
319
- ```
320
-
321
- Install with MCP host / gateway helper support:
322
-
323
- ```bash
324
- pip install "agenticdome-python-sdk[mcp]"
325
- ```
326
-
327
- Install with AWS Bedrock helper support:
328
-
329
- ```bash
330
- pip install "agenticdome-python-sdk[bedrock]"
331
- ```
332
-
333
- Install with Google ADK helper support:
334
-
335
- ```bash
336
- pip install "agenticdome-python-sdk[google-adk]"
337
- ```
338
-
339
- Install with LlamaIndex helper support:
340
-
341
- ```bash
342
- pip install "agenticdome-python-sdk[llamaindex]"
343
- ```
344
-
345
- The Google ADK and LlamaIndex adapters are dependency-light at import time. Their extras install the framework packages for applications that want the SDK and framework in the same environment.
346
-
347
- The Bedrock firewall adapter itself is dependency-light and can wrap any boto3-compatible client object. The `bedrock` extra installs `boto3` for teams that want the AWS SDK in the same environment.
348
-
349
- The MCP firewall adapter itself protects JSON-RPC dictionaries and does not require the Python MCP package at runtime. The `mcp` extra is provided for teams building hosts or gateways with the standard Python MCP library.
291
+ Install the extra for the framework you use:
350
292
 
351
- The Microsoft integration does not require a hard SDK dependency because teams may use Azure OpenAI, Foundry, Copilot Studio, local function tools, hosted tools, or workflow executors differently. Install the Microsoft Agent Framework packages required by your application separately.
352
-
353
- Install with Redis support for distributed token storage:
354
-
355
- ```bash
356
- pip install "agenticdome-python-sdk[redis]"
357
- ```
358
-
359
- Install all optional integrations:
360
-
361
- ```bash
362
- pip install "agenticdome-python-sdk[all]"
363
- ```
293
+ | Target runtime | Command |
294
+ | :--- | :--- |
295
+ | CrewAI | `pip install "agenticdome-python-sdk[crewai]"` |
296
+ | PydanticAI | `pip install "agenticdome-python-sdk[pydanticai]"` |
297
+ | LangGraph / LangChain | `pip install "agenticdome-python-sdk[langgraph]"` |
298
+ | Microsoft Agent Framework helpers | `pip install "agenticdome-python-sdk[microsoft]"` |
299
+ | Microsoft AI Foundry helpers | `pip install "agenticdome-python-sdk[foundry]"` |
300
+ | OpenAI Agents SDK | `pip install "agenticdome-python-sdk[openai-agents]"` |
301
+ | Agno | `pip install "agenticdome-python-sdk[agno]"` |
302
+ | Google ADK | `pip install "agenticdome-python-sdk[google-adk]"` |
303
+ | LlamaIndex | `pip install "agenticdome-python-sdk[llamaindex]"` |
304
+ | AWS Bedrock / Bedrock Agents | `pip install "agenticdome-python-sdk[bedrock]"` |
305
+ | MCP host / gateway | `pip install "agenticdome-python-sdk[mcp]"` |
306
+ | Redis token storage | `pip install "agenticdome-python-sdk[redis]"` |
307
+ | All optional integrations | `pip install "agenticdome-python-sdk[all]"` |
308
+
309
+ Some adapters are dependency-light at import time. Google ADK, LlamaIndex, Bedrock, MCP, and Microsoft helpers can wrap local boundaries without forcing one exact runtime stack; install the framework packages your application actually uses.
364
310
 
365
311
  ---
366
312
 
367
313
  ## Configuration
368
314
 
369
- Set these environment variables in your local shell, container, CI/CD environment, or orchestrator secrets manager.
315
+ Set these environment variables in your local shell, container, CI/CD environment, or orchestrator secrets manager before using any AgenticDome SDK client or framework integration.
370
316
 
371
317
  ### Required Variables
372
318
 
373
319
  ```bash
320
+ # Regional gateway base URL.
374
321
  export AGENTICDOME_API_BASE="https://au.agenticdome.io"
322
+
323
+ # Secure access token generated in the AgenticDome console.
375
324
  export AGENTICDOME_API_KEY="your_api_key_abc123..."
325
+
326
+ # Unique workspace or organization tenant identifier.
376
327
  export AGENTICDOME_TENANT_ID="your_tenant_id_xyz789..."
377
328
  ```
378
329
 
330
+ All SDK clients and framework integrations require these three values before use. Missing values raise a configuration error instead of silently running without AgenticDome protection.
331
+
379
332
  ### Optional Runtime Controls
380
333
 
381
334
  ```bash
@@ -618,7 +571,7 @@ secure_refund = firewall.wrap_delegated_tool_handler(
618
571
 
619
572
  | Environment Variable | Type | Default | Description |
620
573
  | :--- | :--- | :--- | :--- |
621
- | `AGENTICDOME_API_BASE` | string | `https://au.agenticdome.io` | AgenticDome regional API and console endpoint. |
574
+ | `AGENTICDOME_API_BASE` | string | required | AgenticDome regional API and console endpoint, for example `https://au.agenticdome.io`. |
622
575
  | `AGENTICDOME_API_KEY` | string | required | API key generated in the AgenticDome console. |
623
576
  | `AGENTICDOME_TENANT_ID` | string | required | Tenant or organization isolation namespace. |
624
577
  | `AGENTICDOME_PLATFORM` | string | framework-specific | Runtime platform label included in policy context. |
@@ -1214,9 +1167,9 @@ from agenticdome_sdk.pydantic import CyberSecFirewall, FirewallConfig
1214
1167
  # 1. Instantiate the enterprise firewall capability.
1215
1168
  firewall = CyberSecFirewall(
1216
1169
  config=FirewallConfig(
1217
- api_base=os.getenv("AGENTICDOME_API_BASE", "https://au.agenticdome.io"),
1218
- api_key=os.getenv("AGENTICDOME_API_KEY", ""),
1219
- tenant_id=os.getenv("AGENTICDOME_TENANT_ID", ""),
1170
+ api_base=os.environ["AGENTICDOME_API_BASE"],
1171
+ api_key=os.environ["AGENTICDOME_API_KEY"],
1172
+ tenant_id=os.environ["AGENTICDOME_TENANT_ID"],
1220
1173
  fail_closed=True,
1221
1174
  block_on_sensitive_output=True,
1222
1175
  )
@@ -1271,9 +1224,9 @@ from agenticdome_sdk.pydantic import CyberSecFirewall, FirewallConfig
1271
1224
 
1272
1225
  firewall = CyberSecFirewall(
1273
1226
  FirewallConfig(
1274
- api_base=os.getenv("AGENTICDOME_API_BASE", "https://au.agenticdome.io"),
1275
- api_key=os.getenv("AGENTICDOME_API_KEY", ""),
1276
- tenant_id=os.getenv("AGENTICDOME_TENANT_ID", ""),
1227
+ api_base=os.environ["AGENTICDOME_API_BASE"],
1228
+ api_key=os.environ["AGENTICDOME_API_KEY"],
1229
+ tenant_id=os.environ["AGENTICDOME_TENANT_ID"],
1277
1230
  fail_closed=True,
1278
1231
  production_mode=True,
1279
1232
  )
@@ -1383,9 +1336,9 @@ from agenticdome_sdk.langgraph import AgentState, AgenticDomeLangGraphFirewall,
1383
1336
 
1384
1337
  firewall = AgenticDomeLangGraphFirewall(
1385
1338
  config=FirewallConfig(
1386
- api_base=os.getenv("AGENTICDOME_API_BASE", "https://au.agenticdome.io"),
1387
- api_key=os.getenv("AGENTICDOME_API_KEY", ""),
1388
- tenant_id=os.getenv("AGENTICDOME_TENANT_ID", ""),
1339
+ api_base=os.environ["AGENTICDOME_API_BASE"],
1340
+ api_key=os.environ["AGENTICDOME_API_KEY"],
1341
+ tenant_id=os.environ["AGENTICDOME_TENANT_ID"],
1389
1342
  fail_closed=True,
1390
1343
  production_mode=True,
1391
1344
  require_explicit_session_id=True,
@@ -1758,7 +1711,7 @@ The Foundry integration supports:
1758
1711
  - Direct tool-argument stripping, lightweight JSON-schema validation, and sanitized-argument execution when AgenticDome returns safer arguments
1759
1712
  - Enterprise identity context propagation for Entra IDs, roles/scopes, Foundry project IDs, and Purview or sensitivity labels
1760
1713
  - Production-mode stable session ID enforcement and output-sanitization requirements
1761
- - Output DLP through Mesh when `AGENTICDOME_API_KEY` and `AGENTICDOME_TENANT_ID` are configured
1714
+ - Output DLP through Mesh using the required AgenticDome API base URL, API key, and tenant ID
1762
1715
  - Structured-output preservation by parsing sanitized JSON back to dictionaries/lists where possible
1763
1716
  - Local rate limits, input/output/tool-argument size limits, retries, circuit breaker behavior, audit logging, and OpenTelemetry span events
1764
1717
  - Streaming response sanitization through `sanitize_streaming_response()`
@@ -1943,7 +1896,7 @@ from agenticdome_sdk.microsoft_ai_foundry import (
1943
1896
  - Production deployments should pass a stable `session_id`, `run_id`, `trace_id`, `conversation_id`, or `thread_id`; generated fallback IDs are intended for local development only.
1944
1897
  - Pass Entra identity, roles/scopes, Foundry project IDs, and Purview/sensitivity labels on `ctx` or `policy_context` so server-side policy can make identity-aware decisions.
1945
1898
  - If a Foundry hosted tool executes entirely inside a remote provider runtime, this local Python SDK can protect the local request/response boundary but cannot inspect inside the remote execution environment.
1946
- - Mesh output DLP is skipped when `AGENTICDOME_API_KEY` is not configured unless production mode requires output sanitization. Threat-contract prompt and tool analysis still use bearer auth.
1899
+ - Microsoft AI Foundry requires the standard AgenticDome API base URL, API key, and tenant ID. Threat-contract prompt and tool analysis also require `AGENTICDOME_BEARER_TOKEN`.
1947
1900
 
1948
1901
  Official references:
1949
1902
 
@@ -2863,7 +2816,7 @@ from agenticdome_sdk.aws_bedrock import (
2863
2816
 
2864
2817
  ---
2865
2818
 
2866
- ## MCP Host / Gateway Integration
2819
+ ## MCP Host Gateway Integration
2867
2820
 
2868
2821
  AgenticDome provides a production MCP host adapter for the process that controls JSON-RPC forwarding to third-party MCP servers. This is the right place to protect MCP because the host can inspect `tools/call` requests before side effects happen and can sanitize tool results before they return to the planner, agent, or client.
2869
2822
 
@@ -3377,7 +3330,11 @@ python -m twine check dist/*
3377
3330
 
3378
3331
  ## License
3379
3332
 
3380
- Distributed under the MIT License.
3333
+ Copyright (c) AgenticDome. All rights reserved.
3334
+
3335
+ This SDK is distributed under a proprietary license. Use, copying, modification,
3336
+ and redistribution are permitted only under a written agreement with AgenticDome
3337
+ or terms published by AgenticDome for this package.
3381
3338
 
3382
3339
  For enterprise deployments, advanced governance workflows, dedicated regional control planes, or priority integration support, visit:
3383
3340
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![PyPI version](https://img.shields.io/pypi/v/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
4
4
  [![Python Versions](https://img.shields.io/pypi/pyversions/agenticdome-python-sdk.svg)](https://pypi.org/project/agenticdome-python-sdk/)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ [![License: Proprietary](https://img.shields.io/badge/License-Proprietary-blue.svg)](#license)
6
6
 
7
7
  > **Production-grade security guardrails, DLP, tool authorization, and multi-agent delegation enforcement for Python autonomous AI runtimes.**
8
8
 
@@ -27,21 +27,32 @@ The package includes:
27
27
  - Optional Redis-backed distributed token storage
28
28
  - Enterprise-ready fail-open / fail-closed runtime behavior
29
29
 
30
- Supported runtime integrations include:
31
-
32
- - **CrewAI Open Source / Enterprise**
33
- - **PydanticAI**
34
- - **LangGraph / LangChain graph runtimes**
35
- - **Microsoft Agent Framework for Python**
36
- - **Microsoft AI Foundry / Azure AI Foundry**
37
- - **Agno**
38
- - **OpenAI Agents SDK**
39
- - **MCP hosts, gateways, and third-party MCP server proxies**
40
- - **AWS Bedrock Runtime / Bedrock Agents local tool handlers**
41
- - **Google ADK**
42
- - **LlamaIndex**
43
- - **Custom Python agent runtimes**
44
- - **Multi-agent routers and tool gateways**
30
+ ## Quick Navigation
31
+
32
+ Start with onboarding and configuration, then jump to the framework guide that matches where your agents and tools run.
33
+
34
+ | Start here | Link |
35
+ | :--- | :--- |
36
+ | Create tenant, tenant ID, and API key | [Getting Started and Onboarding](#getting-started-and-onboarding) |
37
+ | Install the SDK or a framework extra | [Installation](#installation) |
38
+ | Set required environment variables | [Configuration](#configuration) |
39
+ | Decide where to attach AgenticDome in code | [Framework-by-Framework Global Application Map](#framework-by-framework-global-application-map) |
40
+ | Low-level SDK calls for custom runtimes | [Core Python SDK Client Usage](#core-python-sdk-client-usage) |
41
+
42
+ | Framework / Runtime | Install extra | Framework guide |
43
+ | :--- | :--- | :--- |
44
+ | CrewAI Open Source / Enterprise | `crewai` | [CrewAI Integration](#crewai-integration) |
45
+ | PydanticAI | `pydanticai` | [PydanticAI Integration](#pydanticai-integration) |
46
+ | LangGraph / LangChain graph runtimes | `langgraph` | [LangGraph Integration](#langgraph-integration) |
47
+ | Microsoft Agent Framework for Python | `microsoft` | [Microsoft Agent Framework Integration](#microsoft-agent-framework-integration) |
48
+ | Microsoft AI Foundry / Azure AI Foundry | `foundry` | [Microsoft AI Foundry Integration](#microsoft-ai-foundry-integration) |
49
+ | OpenAI Agents SDK | `openai-agents` | [OpenAI Agents SDK Integration](#openai-agents-sdk-integration) |
50
+ | Agno | `agno` | [Agno Integration](#agno-integration) |
51
+ | Google ADK | `google-adk` | [Google ADK Integration](#google-adk-integration) |
52
+ | LlamaIndex | `llamaindex` | [LlamaIndex Integration](#llamaindex-integration) |
53
+ | AWS Bedrock Runtime / Bedrock Agents | `bedrock` | [AWS Bedrock Integration](#aws-bedrock-integration) |
54
+ | MCP host / gateway / proxy | `mcp` | [MCP Host Gateway Integration](#mcp-host-gateway-integration) |
55
+ | Custom Python agent runtimes | none | [Core Python SDK Client Usage](#core-python-sdk-client-usage) |
45
56
 
46
57
  ---
47
58
 
@@ -170,124 +181,64 @@ Delegation token storage can run in:
170
181
 
171
182
  ## Getting Started and Onboarding
172
183
 
173
- Before integrating the SDK, create an AgenticDome tenant and API key.
184
+ If you are an Enterprise Administrator securing your OpenClaw stack or another Python agent runtime:
174
185
 
175
- 1. Visit the [AgenticDome Management Console, AU Region](https://au.agenticdome.io).
176
- 2. Create or select your organization.
177
- 3. Copy your **Tenant ID**.
178
- 4. Generate an **API Key** from the access-control or API-key section.
179
- 5. Configure your runtime environment variables.
186
+ 1. Create an account in the AgenticDome Management Console for the AU region.
187
+ 2. Log in and copy your unique workspace or organization tenant identifier from organization settings.
188
+ 3. Navigate to the access-control or API-key section and generate a production API key.
189
+ 4. Configure your local OpenClaw runtime, server, worker, or hosting container with the required environment variables before attaching any SDK framework integration.
180
190
 
181
191
  ---
182
192
 
183
193
  ## Installation
184
194
 
185
- Install the core SDK:
195
+ Install the core SDK when you call AgenticDome from a custom runtime or want only the low-level client:
186
196
 
187
197
  ```bash
188
198
  pip install agenticdome-python-sdk
189
199
  ```
190
200
 
191
- Install with CrewAI support:
192
-
193
- ```bash
194
- pip install "agenticdome-python-sdk[crewai]"
195
- ```
196
-
197
- Install with PydanticAI support:
198
-
199
- ```bash
200
- pip install "agenticdome-python-sdk[pydanticai]"
201
- ```
202
-
203
- Install with LangGraph support:
204
-
205
- ```bash
206
- pip install "agenticdome-python-sdk[langgraph]"
207
- ```
208
-
209
- Install with Microsoft Agent Framework helper support:
210
-
211
- ```bash
212
- pip install "agenticdome-python-sdk[microsoft]"
213
- ```
214
-
215
- Install with Agno support:
216
-
217
- ```bash
218
- pip install "agenticdome-python-sdk[agno]"
219
- ```
220
-
221
- Install with Azure AI Foundry helper support:
222
-
223
- ```bash
224
- pip install "agenticdome-python-sdk[foundry]"
225
- ```
226
-
227
- Install with OpenAI Agents SDK helper support:
228
-
229
- ```bash
230
- pip install "agenticdome-python-sdk[openai-agents]"
231
- ```
232
-
233
- Install with MCP host / gateway helper support:
234
-
235
- ```bash
236
- pip install "agenticdome-python-sdk[mcp]"
237
- ```
238
-
239
- Install with AWS Bedrock helper support:
240
-
241
- ```bash
242
- pip install "agenticdome-python-sdk[bedrock]"
243
- ```
244
-
245
- Install with Google ADK helper support:
246
-
247
- ```bash
248
- pip install "agenticdome-python-sdk[google-adk]"
249
- ```
250
-
251
- Install with LlamaIndex helper support:
252
-
253
- ```bash
254
- pip install "agenticdome-python-sdk[llamaindex]"
255
- ```
256
-
257
- The Google ADK and LlamaIndex adapters are dependency-light at import time. Their extras install the framework packages for applications that want the SDK and framework in the same environment.
258
-
259
- The Bedrock firewall adapter itself is dependency-light and can wrap any boto3-compatible client object. The `bedrock` extra installs `boto3` for teams that want the AWS SDK in the same environment.
260
-
261
- The MCP firewall adapter itself protects JSON-RPC dictionaries and does not require the Python MCP package at runtime. The `mcp` extra is provided for teams building hosts or gateways with the standard Python MCP library.
201
+ Install the extra for the framework you use:
262
202
 
263
- The Microsoft integration does not require a hard SDK dependency because teams may use Azure OpenAI, Foundry, Copilot Studio, local function tools, hosted tools, or workflow executors differently. Install the Microsoft Agent Framework packages required by your application separately.
264
-
265
- Install with Redis support for distributed token storage:
266
-
267
- ```bash
268
- pip install "agenticdome-python-sdk[redis]"
269
- ```
270
-
271
- Install all optional integrations:
272
-
273
- ```bash
274
- pip install "agenticdome-python-sdk[all]"
275
- ```
203
+ | Target runtime | Command |
204
+ | :--- | :--- |
205
+ | CrewAI | `pip install "agenticdome-python-sdk[crewai]"` |
206
+ | PydanticAI | `pip install "agenticdome-python-sdk[pydanticai]"` |
207
+ | LangGraph / LangChain | `pip install "agenticdome-python-sdk[langgraph]"` |
208
+ | Microsoft Agent Framework helpers | `pip install "agenticdome-python-sdk[microsoft]"` |
209
+ | Microsoft AI Foundry helpers | `pip install "agenticdome-python-sdk[foundry]"` |
210
+ | OpenAI Agents SDK | `pip install "agenticdome-python-sdk[openai-agents]"` |
211
+ | Agno | `pip install "agenticdome-python-sdk[agno]"` |
212
+ | Google ADK | `pip install "agenticdome-python-sdk[google-adk]"` |
213
+ | LlamaIndex | `pip install "agenticdome-python-sdk[llamaindex]"` |
214
+ | AWS Bedrock / Bedrock Agents | `pip install "agenticdome-python-sdk[bedrock]"` |
215
+ | MCP host / gateway | `pip install "agenticdome-python-sdk[mcp]"` |
216
+ | Redis token storage | `pip install "agenticdome-python-sdk[redis]"` |
217
+ | All optional integrations | `pip install "agenticdome-python-sdk[all]"` |
218
+
219
+ Some adapters are dependency-light at import time. Google ADK, LlamaIndex, Bedrock, MCP, and Microsoft helpers can wrap local boundaries without forcing one exact runtime stack; install the framework packages your application actually uses.
276
220
 
277
221
  ---
278
222
 
279
223
  ## Configuration
280
224
 
281
- Set these environment variables in your local shell, container, CI/CD environment, or orchestrator secrets manager.
225
+ Set these environment variables in your local shell, container, CI/CD environment, or orchestrator secrets manager before using any AgenticDome SDK client or framework integration.
282
226
 
283
227
  ### Required Variables
284
228
 
285
229
  ```bash
230
+ # Regional gateway base URL.
286
231
  export AGENTICDOME_API_BASE="https://au.agenticdome.io"
232
+
233
+ # Secure access token generated in the AgenticDome console.
287
234
  export AGENTICDOME_API_KEY="your_api_key_abc123..."
235
+
236
+ # Unique workspace or organization tenant identifier.
288
237
  export AGENTICDOME_TENANT_ID="your_tenant_id_xyz789..."
289
238
  ```
290
239
 
240
+ All SDK clients and framework integrations require these three values before use. Missing values raise a configuration error instead of silently running without AgenticDome protection.
241
+
291
242
  ### Optional Runtime Controls
292
243
 
293
244
  ```bash
@@ -530,7 +481,7 @@ secure_refund = firewall.wrap_delegated_tool_handler(
530
481
 
531
482
  | Environment Variable | Type | Default | Description |
532
483
  | :--- | :--- | :--- | :--- |
533
- | `AGENTICDOME_API_BASE` | string | `https://au.agenticdome.io` | AgenticDome regional API and console endpoint. |
484
+ | `AGENTICDOME_API_BASE` | string | required | AgenticDome regional API and console endpoint, for example `https://au.agenticdome.io`. |
534
485
  | `AGENTICDOME_API_KEY` | string | required | API key generated in the AgenticDome console. |
535
486
  | `AGENTICDOME_TENANT_ID` | string | required | Tenant or organization isolation namespace. |
536
487
  | `AGENTICDOME_PLATFORM` | string | framework-specific | Runtime platform label included in policy context. |
@@ -1126,9 +1077,9 @@ from agenticdome_sdk.pydantic import CyberSecFirewall, FirewallConfig
1126
1077
  # 1. Instantiate the enterprise firewall capability.
1127
1078
  firewall = CyberSecFirewall(
1128
1079
  config=FirewallConfig(
1129
- api_base=os.getenv("AGENTICDOME_API_BASE", "https://au.agenticdome.io"),
1130
- api_key=os.getenv("AGENTICDOME_API_KEY", ""),
1131
- tenant_id=os.getenv("AGENTICDOME_TENANT_ID", ""),
1080
+ api_base=os.environ["AGENTICDOME_API_BASE"],
1081
+ api_key=os.environ["AGENTICDOME_API_KEY"],
1082
+ tenant_id=os.environ["AGENTICDOME_TENANT_ID"],
1132
1083
  fail_closed=True,
1133
1084
  block_on_sensitive_output=True,
1134
1085
  )
@@ -1183,9 +1134,9 @@ from agenticdome_sdk.pydantic import CyberSecFirewall, FirewallConfig
1183
1134
 
1184
1135
  firewall = CyberSecFirewall(
1185
1136
  FirewallConfig(
1186
- api_base=os.getenv("AGENTICDOME_API_BASE", "https://au.agenticdome.io"),
1187
- api_key=os.getenv("AGENTICDOME_API_KEY", ""),
1188
- tenant_id=os.getenv("AGENTICDOME_TENANT_ID", ""),
1137
+ api_base=os.environ["AGENTICDOME_API_BASE"],
1138
+ api_key=os.environ["AGENTICDOME_API_KEY"],
1139
+ tenant_id=os.environ["AGENTICDOME_TENANT_ID"],
1189
1140
  fail_closed=True,
1190
1141
  production_mode=True,
1191
1142
  )
@@ -1295,9 +1246,9 @@ from agenticdome_sdk.langgraph import AgentState, AgenticDomeLangGraphFirewall,
1295
1246
 
1296
1247
  firewall = AgenticDomeLangGraphFirewall(
1297
1248
  config=FirewallConfig(
1298
- api_base=os.getenv("AGENTICDOME_API_BASE", "https://au.agenticdome.io"),
1299
- api_key=os.getenv("AGENTICDOME_API_KEY", ""),
1300
- tenant_id=os.getenv("AGENTICDOME_TENANT_ID", ""),
1249
+ api_base=os.environ["AGENTICDOME_API_BASE"],
1250
+ api_key=os.environ["AGENTICDOME_API_KEY"],
1251
+ tenant_id=os.environ["AGENTICDOME_TENANT_ID"],
1301
1252
  fail_closed=True,
1302
1253
  production_mode=True,
1303
1254
  require_explicit_session_id=True,
@@ -1670,7 +1621,7 @@ The Foundry integration supports:
1670
1621
  - Direct tool-argument stripping, lightweight JSON-schema validation, and sanitized-argument execution when AgenticDome returns safer arguments
1671
1622
  - Enterprise identity context propagation for Entra IDs, roles/scopes, Foundry project IDs, and Purview or sensitivity labels
1672
1623
  - Production-mode stable session ID enforcement and output-sanitization requirements
1673
- - Output DLP through Mesh when `AGENTICDOME_API_KEY` and `AGENTICDOME_TENANT_ID` are configured
1624
+ - Output DLP through Mesh using the required AgenticDome API base URL, API key, and tenant ID
1674
1625
  - Structured-output preservation by parsing sanitized JSON back to dictionaries/lists where possible
1675
1626
  - Local rate limits, input/output/tool-argument size limits, retries, circuit breaker behavior, audit logging, and OpenTelemetry span events
1676
1627
  - Streaming response sanitization through `sanitize_streaming_response()`
@@ -1855,7 +1806,7 @@ from agenticdome_sdk.microsoft_ai_foundry import (
1855
1806
  - Production deployments should pass a stable `session_id`, `run_id`, `trace_id`, `conversation_id`, or `thread_id`; generated fallback IDs are intended for local development only.
1856
1807
  - Pass Entra identity, roles/scopes, Foundry project IDs, and Purview/sensitivity labels on `ctx` or `policy_context` so server-side policy can make identity-aware decisions.
1857
1808
  - If a Foundry hosted tool executes entirely inside a remote provider runtime, this local Python SDK can protect the local request/response boundary but cannot inspect inside the remote execution environment.
1858
- - Mesh output DLP is skipped when `AGENTICDOME_API_KEY` is not configured unless production mode requires output sanitization. Threat-contract prompt and tool analysis still use bearer auth.
1809
+ - Microsoft AI Foundry requires the standard AgenticDome API base URL, API key, and tenant ID. Threat-contract prompt and tool analysis also require `AGENTICDOME_BEARER_TOKEN`.
1859
1810
 
1860
1811
  Official references:
1861
1812
 
@@ -2775,7 +2726,7 @@ from agenticdome_sdk.aws_bedrock import (
2775
2726
 
2776
2727
  ---
2777
2728
 
2778
- ## MCP Host / Gateway Integration
2729
+ ## MCP Host Gateway Integration
2779
2730
 
2780
2731
  AgenticDome provides a production MCP host adapter for the process that controls JSON-RPC forwarding to third-party MCP servers. This is the right place to protect MCP because the host can inspect `tools/call` requests before side effects happen and can sanitize tool results before they return to the planner, agent, or client.
2781
2732
 
@@ -3289,7 +3240,11 @@ python -m twine check dist/*
3289
3240
 
3290
3241
  ## License
3291
3242
 
3292
- Distributed under the MIT License.
3243
+ Copyright (c) AgenticDome. All rights reserved.
3244
+
3245
+ This SDK is distributed under a proprietary license. Use, copying, modification,
3246
+ and redistribution are permitted only under a written agreement with AgenticDome
3247
+ or terms published by AgenticDome for this package.
3293
3248
 
3294
3249
  For enterprise deployments, advanced governance workflows, dedicated regional control planes, or priority integration support, visit:
3295
3250