agenticdome-python-sdk 1.1.1__tar.gz → 1.1.3__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 (53) hide show
  1. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/MANIFEST.in +0 -1
  2. {agenticdome_python_sdk-1.1.1/agenticdome_python_sdk.egg-info → agenticdome_python_sdk-1.1.3}/PKG-INFO +132 -39
  3. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/README.md +102 -6
  4. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3/agenticdome_python_sdk.egg-info}/PKG-INFO +132 -39
  5. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_python_sdk.egg-info/SOURCES.txt +2 -0
  6. agenticdome_python_sdk-1.1.3/agenticdome_python_sdk.egg-info/requires.txt +77 -0
  7. agenticdome_python_sdk-1.1.3/agenticdome_sdk/__init__.py +10 -0
  8. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/client.py +42 -8
  9. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/crewai.py +13 -0
  10. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/pyproject.toml +30 -30
  11. agenticdome_python_sdk-1.1.3/setup.py +7 -0
  12. agenticdome_python_sdk-1.1.3/tests/test_live_tenant.py +67 -0
  13. agenticdome_python_sdk-1.1.3/tests/test_packaging_contract.py +128 -0
  14. agenticdome_python_sdk-1.1.1/agenticdome_python_sdk.egg-info/requires.txt +0 -77
  15. agenticdome_python_sdk-1.1.1/agenticdome_sdk/__init__.py +0 -26
  16. agenticdome_python_sdk-1.1.1/setup.py +0 -128
  17. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/LICENSE +0 -0
  18. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
  19. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
  20. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/agno.py +0 -0
  21. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/aws_bedrock.py +0 -0
  22. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/google_adk.py +0 -0
  23. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/langgraph.py +0 -0
  24. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/llamaindex.py +0 -0
  25. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/mcp_host.py +0 -0
  26. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
  27. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
  28. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/openai_agents.py +0 -0
  29. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/pydantic.py +0 -0
  30. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/agenticdome_sdk/scenarios.py +0 -0
  31. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/agno_lateral_refund.py +0 -0
  32. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/ai_foundry_callback_export.py +0 -0
  33. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/attack_demo.py +0 -0
  34. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/crewai_agenticdome_firewall.py +0 -0
  35. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/crewai_lateral_refund.py +0 -0
  36. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/mcp_remote_patch.py +0 -0
  37. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/mesh_output_redaction.py +0 -0
  38. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/microsoft_metadata_exfil.py +0 -0
  39. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/salesforce_hidden_bcc.py +0 -0
  40. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/examples/servicenow_delete_logs.py +0 -0
  41. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/setup.cfg +0 -0
  42. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_agno_integration.py +0 -0
  43. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_aws_bedrock_integration.py +0 -0
  44. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_client.py +0 -0
  45. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_crewai_integration.py +0 -0
  46. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_google_adk_integration.py +0 -0
  47. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_langgraph_integration.py +0 -0
  48. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_llamaindex_integration.py +0 -0
  49. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_mcp_host_integration.py +0 -0
  50. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_microsoft_agent_framework_integration.py +0 -0
  51. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_microsoft_ai_foundry_integration.py +0 -0
  52. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_openai_agents_integration.py +0 -0
  53. {agenticdome_python_sdk-1.1.1 → agenticdome_python_sdk-1.1.3}/tests/test_pydanticai_integration.py +0 -0
@@ -5,7 +5,6 @@ include setup.py
5
5
 
6
6
  recursive-include examples *.py
7
7
  recursive-include tests *.py
8
-
9
8
  global-exclude __pycache__
10
9
  global-exclude *.py[cod]
11
10
  global-exclude .DS_Store
@@ -1,8 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.1.1
4
- Summary: Official Python SDK for AgentGuard Intelligence Engine and Action Firewall.
5
- Home-page: https://github.com/agenticdome/agenticdome-python-sdk-python
3
+ Version: 1.1.3
4
+ Summary: Official Python SDK for AgenticDome security guardrails, DLP, tool authorization, and multi-agent delegation enforcement.
6
5
  Author: AgenticDome
7
6
  License: Proprietary
8
7
  Project-URL: Homepage, https://au.agenticdome.io
@@ -28,65 +27,63 @@ License-File: LICENSE
28
27
  Requires-Dist: requests>=2.31.0
29
28
  Requires-Dist: urllib3>=2.0.0
30
29
  Provides-Extra: crewai
31
- Requires-Dist: crewai; extra == "crewai"
30
+ Requires-Dist: crewai>=1.15.2; extra == "crewai"
32
31
  Provides-Extra: redis
33
32
  Requires-Dist: redis>=4.5.0; extra == "redis"
34
33
  Provides-Extra: pydanticai
35
- Requires-Dist: pydantic-ai; extra == "pydanticai"
34
+ Requires-Dist: pydantic-ai>=2.10.0; extra == "pydanticai"
36
35
  Requires-Dist: anyio>=4.0.0; extra == "pydanticai"
37
36
  Provides-Extra: pydantic
38
- Requires-Dist: pydantic-ai; extra == "pydantic"
37
+ Requires-Dist: pydantic-ai>=2.10.0; extra == "pydantic"
39
38
  Requires-Dist: anyio>=4.0.0; extra == "pydantic"
40
39
  Provides-Extra: langgraph
41
- Requires-Dist: langgraph; extra == "langgraph"
42
- Requires-Dist: langchain-core; extra == "langgraph"
40
+ Requires-Dist: langgraph>=1.2.9; extra == "langgraph"
41
+ Requires-Dist: langchain-core>=1.4.9; extra == "langgraph"
43
42
  Requires-Dist: anyio>=4.0.0; extra == "langgraph"
44
43
  Provides-Extra: microsoft
45
44
  Provides-Extra: foundry
46
- Requires-Dist: azure-ai-projects; extra == "foundry"
47
- Requires-Dist: azure-identity; extra == "foundry"
45
+ Requires-Dist: azure-ai-projects>=2.3.0; extra == "foundry"
46
+ Requires-Dist: azure-identity>=1.25.3; extra == "foundry"
48
47
  Provides-Extra: agno
49
- Requires-Dist: agno; extra == "agno"
48
+ Requires-Dist: agno>=2.7.3; extra == "agno"
50
49
  Provides-Extra: openai-agents
51
- Requires-Dist: openai-agents; extra == "openai-agents"
50
+ Requires-Dist: openai-agents>=0.18.2; extra == "openai-agents"
52
51
  Provides-Extra: mcp
53
- Requires-Dist: mcp; extra == "mcp"
52
+ Requires-Dist: mcp>=1.26.0; extra == "mcp"
54
53
  Provides-Extra: bedrock
55
- Requires-Dist: boto3; extra == "bedrock"
54
+ Requires-Dist: boto3>=1.43.48; extra == "bedrock"
56
55
  Provides-Extra: aws-bedrock
57
- Requires-Dist: boto3; extra == "aws-bedrock"
56
+ Requires-Dist: boto3>=1.43.48; extra == "aws-bedrock"
58
57
  Provides-Extra: llamaindex
59
- Requires-Dist: llama-index; extra == "llamaindex"
58
+ Requires-Dist: llama-index>=0.14.23; extra == "llamaindex"
60
59
  Provides-Extra: llama-index
61
- Requires-Dist: llama-index; extra == "llama-index"
60
+ Requires-Dist: llama-index>=0.14.23; extra == "llama-index"
62
61
  Provides-Extra: google-adk
63
- Requires-Dist: google-adk; extra == "google-adk"
62
+ Requires-Dist: google-adk>=2.4.0; extra == "google-adk"
64
63
  Provides-Extra: adk
65
- Requires-Dist: google-adk; extra == "adk"
64
+ Requires-Dist: google-adk>=2.4.0; extra == "adk"
66
65
  Provides-Extra: all
67
- Requires-Dist: crewai; extra == "all"
66
+ Requires-Dist: crewai>=1.15.2; extra == "all"
68
67
  Requires-Dist: redis>=4.5.0; extra == "all"
69
- Requires-Dist: pydantic-ai; extra == "all"
68
+ Requires-Dist: pydantic-ai>=2.10.0; extra == "all"
70
69
  Requires-Dist: anyio>=4.0.0; extra == "all"
71
- Requires-Dist: langgraph; extra == "all"
72
- Requires-Dist: langchain-core; extra == "all"
73
- Requires-Dist: agno; extra == "all"
74
- Requires-Dist: azure-ai-projects; extra == "all"
75
- Requires-Dist: azure-identity; extra == "all"
76
- Requires-Dist: openai-agents; extra == "all"
77
- Requires-Dist: mcp; extra == "all"
78
- Requires-Dist: boto3; extra == "all"
79
- Requires-Dist: llama-index; extra == "all"
80
- Requires-Dist: google-adk; extra == "all"
70
+ Requires-Dist: langgraph>=1.2.9; extra == "all"
71
+ Requires-Dist: langchain-core>=1.4.9; extra == "all"
72
+ Requires-Dist: agno>=2.7.3; extra == "all"
73
+ Requires-Dist: azure-ai-projects>=2.3.0; extra == "all"
74
+ Requires-Dist: azure-identity>=1.25.3; extra == "all"
75
+ Requires-Dist: openai-agents>=0.18.2; extra == "all"
76
+ Requires-Dist: mcp>=1.26.0; extra == "all"
77
+ Requires-Dist: boto3>=1.43.48; extra == "all"
78
+ Requires-Dist: llama-index>=0.14.23; extra == "all"
79
+ Requires-Dist: google-adk>=2.4.0; extra == "all"
81
80
  Provides-Extra: dev
82
81
  Requires-Dist: pytest>=8.0.0; extra == "dev"
83
82
  Requires-Dist: ruff>=0.5.0; extra == "dev"
84
83
  Requires-Dist: mypy>=1.8.0; extra == "dev"
85
84
  Requires-Dist: build>=1.0.0; extra == "dev"
86
85
  Requires-Dist: twine>=5.0.0; extra == "dev"
87
- Dynamic: home-page
88
86
  Dynamic: license-file
89
- Dynamic: requires-python
90
87
 
91
88
 
92
89
 
@@ -3009,8 +3006,6 @@ client.report_incident(
3009
3006
  )
3010
3007
  ```
3011
3008
 
3012
- ---
3013
-
3014
3009
  ## Prompt Guardrail Example
3015
3010
 
3016
3011
  ```python
@@ -3308,25 +3303,123 @@ from agenticdome_sdk.llamaindex import AgenticDomeLlamaIndexFirewall, FirewallCo
3308
3303
 
3309
3304
  ---
3310
3305
 
3311
- ## Package Build
3306
+ ## Package Build and Verification
3312
3307
 
3313
- For maintainers:
3308
+ For maintainers, run the Python SDK release gate from the SDK root:
3314
3309
 
3315
3310
  ```bash
3316
3311
  python3 -m venv .venv
3317
3312
  source .venv/bin/activate
3318
3313
 
3319
- python -m pip install --upgrade pip setuptools wheel build twine pytest
3314
+ python -m pip install --upgrade pip setuptools wheel
3320
3315
  python -m pip install -e ".[dev]"
3321
3316
  python -m pip install -e ".[crewai,pydanticai,langgraph,microsoft,foundry,agno,openai-agents,mcp,bedrock,google-adk,llamaindex,redis]"
3322
3317
 
3323
- pytest -q
3318
+ python -m pytest -q
3319
+ rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3320
+ python -m build
3321
+ python -m twine check dist/*
3322
+ ```
3323
+
3324
+ `python -m pytest -q` runs the core SDK tests, package metadata contract tests, and every dependency-light framework adapter test in one go. This is the normal offline full-suite command for all supported Python integrations.
3325
+
3326
+ The adapter tests use fake framework/client boundaries where possible so normal CI can verify authorization, delegation-token handling, sanitized tool arguments, output DLP, streaming sanitization, rate limits, and fail-open/fail-closed behavior without requiring live third-party services.
3327
+
3328
+ To run one framework at a time, execute the matching test file from the matrix below. For example, `python -m pytest -q tests/test_langgraph_integration.py` runs only the LangGraph/LangChain adapter tests.
3329
+
3330
+ ### Verification Command Details
3331
+
3332
+ Use this focused verification command when you only want release/package checks plus the optional live tenant smoke tests:
3333
+
3334
+ ```bash
3335
+ python -m pytest -q tests/test_packaging_contract.py tests/test_live_tenant.py
3336
+ ```
3337
+
3338
+ What each part does:
3339
+
3340
+ | Part | Meaning |
3341
+ | :--- | :--- |
3342
+ | `python -m pytest` | Runs `pytest` using the current Python environment. |
3343
+ | `-q` | Quiet mode. It prints compact test results instead of verbose test names. |
3344
+ | `tests/test_packaging_contract.py` | Runs packaging and release-quality checks: `pyproject.toml` metadata, the minimal `setup.py` shim, public imports, `.gitignore`, `MANIFEST.in`, and README verification coverage. |
3345
+ | `tests/test_live_tenant.py` | Runs live AgenticDome tenant smoke tests only when explicitly enabled. By default these tests are skipped. |
3346
+
3347
+ By default, `tests/test_live_tenant.py` is skipped unless you set:
3348
+
3349
+ ```bash
3350
+ export AGENTICDOME_LIVE_TENANT_TEST=1
3351
+ ```
3352
+
3353
+ For strict live policy validation, also set:
3354
+
3355
+ ```bash
3356
+ export AGENTICDOME_LIVE_EXPECT_STRICT=1
3357
+ ```
3358
+
3359
+ ### Framework Test Matrix
3360
+
3361
+ | Runtime / integration | Test command | Coverage focus |
3362
+ | :--- | :--- | :--- |
3363
+ | Core SDK client | `python -m pytest -q tests/test_client.py` | Request validation, headers, guardrail calls, A2A/MCP JSON-RPC calls, Mesh DLP, HTTP errors, and JSON handling. |
3364
+ | Package contract | `python -m pytest -q tests/test_packaging_contract.py` | `pyproject.toml` metadata, legacy `setup.py` shim, public exports, manifest hygiene, ignored build artifacts, and documented extras. |
3365
+ | CrewAI | `python -m pytest -q tests/test_crewai_integration.py` | Prompt/tool hooks, manager handoff token injection, specialist verification, output redaction, schema checks, rate limits, retries, and streaming DLP. |
3366
+ | PydanticAI | `python -m pytest -q tests/test_pydanticai_integration.py` | Agent hooks, secure tools, sanitized arguments, token-store fallback, production session enforcement, rate limits, retries, and streaming output. |
3367
+ | LangGraph / LangChain | `python -m pytest -q tests/test_langgraph_integration.py` | Graph input, transition, tool, retrieval, middleware, security routing, token consumption, output DLP, and streaming events. |
3368
+ | Microsoft Agent Framework | `python -m pytest -q tests/test_microsoft_agent_framework_integration.py` | Tool/run boundaries, delegated tool verification, middleware install helpers, identity context, Copilot enforcement hooks, and streaming output. |
3369
+ | Microsoft AI Foundry | `python -m pytest -q tests/test_microsoft_ai_foundry_integration.py` | Prompt threat contracts, local tool executors, run boundaries, bearer/API-key configuration, delegated execution, circuit breaker, and stream DLP. |
3370
+ | OpenAI Agents SDK | `python -m pytest -q tests/test_openai_agents_integration.py` | Runner wrappers, guardrail helpers, function-tool wrappers, handoff/delegated tools, HMAC token storage, schema checks, retries, and streaming output. |
3371
+ | Agno | `python -m pytest -q tests/test_agno_integration.py` | Agent/team hooks, tool hooks, middleware/plugin helpers, delegated specialist execution, retrieved text sanitization, schema checks, and stream DLP. |
3372
+ | MCP host / gateway | `python -m pytest -q tests/test_mcp_host_integration.py` | JSON-RPC preflight, tool/resource/prompt authorization, private metadata stripping, delegated token verification, response filtering, and forwarder DLP. |
3373
+ | AWS Bedrock | `python -m pytest -q tests/test_aws_bedrock_integration.py` | Converse/InvokeModel wrappers, Bedrock Agents streams, action-group Lambda wrappers, retrieval DLP, tool authorization, handoff tokens, and retries. |
3374
+ | Google ADK | `python -m pytest -q tests/test_google_adk_integration.py` | Model/tool callbacks, plugin helpers, secure tools, delegated execution, sanitized args, production sessions, rate limits, retries, and stream DLP. |
3375
+ | LlamaIndex | `python -m pytest -q tests/test_llamaindex_integration.py` | FunctionTool/query/retrieval wrappers, callback handlers, secure tools, delegated execution, fail-open behavior, and output DLP. |
3376
+
3377
+ For a single-framework development loop, install only the extra and run the matching test file, for example:
3378
+
3379
+ ```bash
3380
+ python -m pip install -e ".[langgraph]"
3381
+ python -m pytest -q tests/test_langgraph_integration.py
3382
+ ```
3383
+
3384
+ ### Release Gates
3324
3385
 
3386
+ For metadata and artifact validation only:
3387
+
3388
+ ```bash
3389
+ python -m pytest -q tests/test_packaging_contract.py
3325
3390
  rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3326
3391
  python -m build
3327
3392
  python -m twine check dist/*
3328
3393
  ```
3329
3394
 
3395
+ For a full offline release gate across all supported Python integrations:
3396
+
3397
+ ```bash
3398
+ python -m pip install -e ".[dev,crewai,pydanticai,langgraph,microsoft,foundry,agno,openai-agents,mcp,bedrock,google-adk,llamaindex,redis]"
3399
+ python -m pytest -q
3400
+ rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3401
+ python -m build
3402
+ python -m twine check dist/*
3403
+ ```
3404
+
3405
+ For a release gate against a real AgenticDome tenant:
3406
+
3407
+ ```bash
3408
+ export AGENTICDOME_API_BASE="https://www.agenticdome.io"
3409
+ export AGENTICDOME_TENANT_ID="<tenant_id>"
3410
+ export AGENTICDOME_API_KEY="<tenant_api_key>"
3411
+ export AGENTICDOME_LIVE_TENANT_TEST=1
3412
+ python -m pytest -q tests/test_live_tenant.py
3413
+ ```
3414
+
3415
+ For strict security-policy validation, add:
3416
+
3417
+ ```bash
3418
+ export AGENTICDOME_LIVE_EXPECT_STRICT=1
3419
+ ```
3420
+
3421
+ The live tenant test performs real `guardrail_validate()` and `mesh_validate()` calls through the core client. Framework-specific behavior remains covered by the offline adapter test matrix above, because those tests assert where each framework boundary calls the shared AgenticDome client and how it handles policy decisions.
3422
+
3330
3423
  ---
3331
3424
 
3332
3425
  ## License
@@ -2919,8 +2919,6 @@ client.report_incident(
2919
2919
  )
2920
2920
  ```
2921
2921
 
2922
- ---
2923
-
2924
2922
  ## Prompt Guardrail Example
2925
2923
 
2926
2924
  ```python
@@ -3218,25 +3216,123 @@ from agenticdome_sdk.llamaindex import AgenticDomeLlamaIndexFirewall, FirewallCo
3218
3216
 
3219
3217
  ---
3220
3218
 
3221
- ## Package Build
3219
+ ## Package Build and Verification
3222
3220
 
3223
- For maintainers:
3221
+ For maintainers, run the Python SDK release gate from the SDK root:
3224
3222
 
3225
3223
  ```bash
3226
3224
  python3 -m venv .venv
3227
3225
  source .venv/bin/activate
3228
3226
 
3229
- python -m pip install --upgrade pip setuptools wheel build twine pytest
3227
+ python -m pip install --upgrade pip setuptools wheel
3230
3228
  python -m pip install -e ".[dev]"
3231
3229
  python -m pip install -e ".[crewai,pydanticai,langgraph,microsoft,foundry,agno,openai-agents,mcp,bedrock,google-adk,llamaindex,redis]"
3232
3230
 
3233
- pytest -q
3231
+ python -m pytest -q
3232
+ rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3233
+ python -m build
3234
+ python -m twine check dist/*
3235
+ ```
3236
+
3237
+ `python -m pytest -q` runs the core SDK tests, package metadata contract tests, and every dependency-light framework adapter test in one go. This is the normal offline full-suite command for all supported Python integrations.
3238
+
3239
+ The adapter tests use fake framework/client boundaries where possible so normal CI can verify authorization, delegation-token handling, sanitized tool arguments, output DLP, streaming sanitization, rate limits, and fail-open/fail-closed behavior without requiring live third-party services.
3240
+
3241
+ To run one framework at a time, execute the matching test file from the matrix below. For example, `python -m pytest -q tests/test_langgraph_integration.py` runs only the LangGraph/LangChain adapter tests.
3242
+
3243
+ ### Verification Command Details
3244
+
3245
+ Use this focused verification command when you only want release/package checks plus the optional live tenant smoke tests:
3246
+
3247
+ ```bash
3248
+ python -m pytest -q tests/test_packaging_contract.py tests/test_live_tenant.py
3249
+ ```
3250
+
3251
+ What each part does:
3252
+
3253
+ | Part | Meaning |
3254
+ | :--- | :--- |
3255
+ | `python -m pytest` | Runs `pytest` using the current Python environment. |
3256
+ | `-q` | Quiet mode. It prints compact test results instead of verbose test names. |
3257
+ | `tests/test_packaging_contract.py` | Runs packaging and release-quality checks: `pyproject.toml` metadata, the minimal `setup.py` shim, public imports, `.gitignore`, `MANIFEST.in`, and README verification coverage. |
3258
+ | `tests/test_live_tenant.py` | Runs live AgenticDome tenant smoke tests only when explicitly enabled. By default these tests are skipped. |
3259
+
3260
+ By default, `tests/test_live_tenant.py` is skipped unless you set:
3261
+
3262
+ ```bash
3263
+ export AGENTICDOME_LIVE_TENANT_TEST=1
3264
+ ```
3265
+
3266
+ For strict live policy validation, also set:
3267
+
3268
+ ```bash
3269
+ export AGENTICDOME_LIVE_EXPECT_STRICT=1
3270
+ ```
3271
+
3272
+ ### Framework Test Matrix
3273
+
3274
+ | Runtime / integration | Test command | Coverage focus |
3275
+ | :--- | :--- | :--- |
3276
+ | Core SDK client | `python -m pytest -q tests/test_client.py` | Request validation, headers, guardrail calls, A2A/MCP JSON-RPC calls, Mesh DLP, HTTP errors, and JSON handling. |
3277
+ | Package contract | `python -m pytest -q tests/test_packaging_contract.py` | `pyproject.toml` metadata, legacy `setup.py` shim, public exports, manifest hygiene, ignored build artifacts, and documented extras. |
3278
+ | CrewAI | `python -m pytest -q tests/test_crewai_integration.py` | Prompt/tool hooks, manager handoff token injection, specialist verification, output redaction, schema checks, rate limits, retries, and streaming DLP. |
3279
+ | PydanticAI | `python -m pytest -q tests/test_pydanticai_integration.py` | Agent hooks, secure tools, sanitized arguments, token-store fallback, production session enforcement, rate limits, retries, and streaming output. |
3280
+ | LangGraph / LangChain | `python -m pytest -q tests/test_langgraph_integration.py` | Graph input, transition, tool, retrieval, middleware, security routing, token consumption, output DLP, and streaming events. |
3281
+ | Microsoft Agent Framework | `python -m pytest -q tests/test_microsoft_agent_framework_integration.py` | Tool/run boundaries, delegated tool verification, middleware install helpers, identity context, Copilot enforcement hooks, and streaming output. |
3282
+ | Microsoft AI Foundry | `python -m pytest -q tests/test_microsoft_ai_foundry_integration.py` | Prompt threat contracts, local tool executors, run boundaries, bearer/API-key configuration, delegated execution, circuit breaker, and stream DLP. |
3283
+ | OpenAI Agents SDK | `python -m pytest -q tests/test_openai_agents_integration.py` | Runner wrappers, guardrail helpers, function-tool wrappers, handoff/delegated tools, HMAC token storage, schema checks, retries, and streaming output. |
3284
+ | Agno | `python -m pytest -q tests/test_agno_integration.py` | Agent/team hooks, tool hooks, middleware/plugin helpers, delegated specialist execution, retrieved text sanitization, schema checks, and stream DLP. |
3285
+ | MCP host / gateway | `python -m pytest -q tests/test_mcp_host_integration.py` | JSON-RPC preflight, tool/resource/prompt authorization, private metadata stripping, delegated token verification, response filtering, and forwarder DLP. |
3286
+ | AWS Bedrock | `python -m pytest -q tests/test_aws_bedrock_integration.py` | Converse/InvokeModel wrappers, Bedrock Agents streams, action-group Lambda wrappers, retrieval DLP, tool authorization, handoff tokens, and retries. |
3287
+ | Google ADK | `python -m pytest -q tests/test_google_adk_integration.py` | Model/tool callbacks, plugin helpers, secure tools, delegated execution, sanitized args, production sessions, rate limits, retries, and stream DLP. |
3288
+ | LlamaIndex | `python -m pytest -q tests/test_llamaindex_integration.py` | FunctionTool/query/retrieval wrappers, callback handlers, secure tools, delegated execution, fail-open behavior, and output DLP. |
3289
+
3290
+ For a single-framework development loop, install only the extra and run the matching test file, for example:
3291
+
3292
+ ```bash
3293
+ python -m pip install -e ".[langgraph]"
3294
+ python -m pytest -q tests/test_langgraph_integration.py
3295
+ ```
3296
+
3297
+ ### Release Gates
3234
3298
 
3299
+ For metadata and artifact validation only:
3300
+
3301
+ ```bash
3302
+ python -m pytest -q tests/test_packaging_contract.py
3235
3303
  rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3236
3304
  python -m build
3237
3305
  python -m twine check dist/*
3238
3306
  ```
3239
3307
 
3308
+ For a full offline release gate across all supported Python integrations:
3309
+
3310
+ ```bash
3311
+ python -m pip install -e ".[dev,crewai,pydanticai,langgraph,microsoft,foundry,agno,openai-agents,mcp,bedrock,google-adk,llamaindex,redis]"
3312
+ python -m pytest -q
3313
+ rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3314
+ python -m build
3315
+ python -m twine check dist/*
3316
+ ```
3317
+
3318
+ For a release gate against a real AgenticDome tenant:
3319
+
3320
+ ```bash
3321
+ export AGENTICDOME_API_BASE="https://www.agenticdome.io"
3322
+ export AGENTICDOME_TENANT_ID="<tenant_id>"
3323
+ export AGENTICDOME_API_KEY="<tenant_api_key>"
3324
+ export AGENTICDOME_LIVE_TENANT_TEST=1
3325
+ python -m pytest -q tests/test_live_tenant.py
3326
+ ```
3327
+
3328
+ For strict security-policy validation, add:
3329
+
3330
+ ```bash
3331
+ export AGENTICDOME_LIVE_EXPECT_STRICT=1
3332
+ ```
3333
+
3334
+ The live tenant test performs real `guardrail_validate()` and `mesh_validate()` calls through the core client. Framework-specific behavior remains covered by the offline adapter test matrix above, because those tests assert where each framework boundary calls the shared AgenticDome client and how it handles policy decisions.
3335
+
3240
3336
  ---
3241
3337
 
3242
3338
  ## License
@@ -1,8 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agenticdome-python-sdk
3
- Version: 1.1.1
4
- Summary: Official Python SDK for AgentGuard Intelligence Engine and Action Firewall.
5
- Home-page: https://github.com/agenticdome/agenticdome-python-sdk-python
3
+ Version: 1.1.3
4
+ Summary: Official Python SDK for AgenticDome security guardrails, DLP, tool authorization, and multi-agent delegation enforcement.
6
5
  Author: AgenticDome
7
6
  License: Proprietary
8
7
  Project-URL: Homepage, https://au.agenticdome.io
@@ -28,65 +27,63 @@ License-File: LICENSE
28
27
  Requires-Dist: requests>=2.31.0
29
28
  Requires-Dist: urllib3>=2.0.0
30
29
  Provides-Extra: crewai
31
- Requires-Dist: crewai; extra == "crewai"
30
+ Requires-Dist: crewai>=1.15.2; extra == "crewai"
32
31
  Provides-Extra: redis
33
32
  Requires-Dist: redis>=4.5.0; extra == "redis"
34
33
  Provides-Extra: pydanticai
35
- Requires-Dist: pydantic-ai; extra == "pydanticai"
34
+ Requires-Dist: pydantic-ai>=2.10.0; extra == "pydanticai"
36
35
  Requires-Dist: anyio>=4.0.0; extra == "pydanticai"
37
36
  Provides-Extra: pydantic
38
- Requires-Dist: pydantic-ai; extra == "pydantic"
37
+ Requires-Dist: pydantic-ai>=2.10.0; extra == "pydantic"
39
38
  Requires-Dist: anyio>=4.0.0; extra == "pydantic"
40
39
  Provides-Extra: langgraph
41
- Requires-Dist: langgraph; extra == "langgraph"
42
- Requires-Dist: langchain-core; extra == "langgraph"
40
+ Requires-Dist: langgraph>=1.2.9; extra == "langgraph"
41
+ Requires-Dist: langchain-core>=1.4.9; extra == "langgraph"
43
42
  Requires-Dist: anyio>=4.0.0; extra == "langgraph"
44
43
  Provides-Extra: microsoft
45
44
  Provides-Extra: foundry
46
- Requires-Dist: azure-ai-projects; extra == "foundry"
47
- Requires-Dist: azure-identity; extra == "foundry"
45
+ Requires-Dist: azure-ai-projects>=2.3.0; extra == "foundry"
46
+ Requires-Dist: azure-identity>=1.25.3; extra == "foundry"
48
47
  Provides-Extra: agno
49
- Requires-Dist: agno; extra == "agno"
48
+ Requires-Dist: agno>=2.7.3; extra == "agno"
50
49
  Provides-Extra: openai-agents
51
- Requires-Dist: openai-agents; extra == "openai-agents"
50
+ Requires-Dist: openai-agents>=0.18.2; extra == "openai-agents"
52
51
  Provides-Extra: mcp
53
- Requires-Dist: mcp; extra == "mcp"
52
+ Requires-Dist: mcp>=1.26.0; extra == "mcp"
54
53
  Provides-Extra: bedrock
55
- Requires-Dist: boto3; extra == "bedrock"
54
+ Requires-Dist: boto3>=1.43.48; extra == "bedrock"
56
55
  Provides-Extra: aws-bedrock
57
- Requires-Dist: boto3; extra == "aws-bedrock"
56
+ Requires-Dist: boto3>=1.43.48; extra == "aws-bedrock"
58
57
  Provides-Extra: llamaindex
59
- Requires-Dist: llama-index; extra == "llamaindex"
58
+ Requires-Dist: llama-index>=0.14.23; extra == "llamaindex"
60
59
  Provides-Extra: llama-index
61
- Requires-Dist: llama-index; extra == "llama-index"
60
+ Requires-Dist: llama-index>=0.14.23; extra == "llama-index"
62
61
  Provides-Extra: google-adk
63
- Requires-Dist: google-adk; extra == "google-adk"
62
+ Requires-Dist: google-adk>=2.4.0; extra == "google-adk"
64
63
  Provides-Extra: adk
65
- Requires-Dist: google-adk; extra == "adk"
64
+ Requires-Dist: google-adk>=2.4.0; extra == "adk"
66
65
  Provides-Extra: all
67
- Requires-Dist: crewai; extra == "all"
66
+ Requires-Dist: crewai>=1.15.2; extra == "all"
68
67
  Requires-Dist: redis>=4.5.0; extra == "all"
69
- Requires-Dist: pydantic-ai; extra == "all"
68
+ Requires-Dist: pydantic-ai>=2.10.0; extra == "all"
70
69
  Requires-Dist: anyio>=4.0.0; extra == "all"
71
- Requires-Dist: langgraph; extra == "all"
72
- Requires-Dist: langchain-core; extra == "all"
73
- Requires-Dist: agno; extra == "all"
74
- Requires-Dist: azure-ai-projects; extra == "all"
75
- Requires-Dist: azure-identity; extra == "all"
76
- Requires-Dist: openai-agents; extra == "all"
77
- Requires-Dist: mcp; extra == "all"
78
- Requires-Dist: boto3; extra == "all"
79
- Requires-Dist: llama-index; extra == "all"
80
- Requires-Dist: google-adk; extra == "all"
70
+ Requires-Dist: langgraph>=1.2.9; extra == "all"
71
+ Requires-Dist: langchain-core>=1.4.9; extra == "all"
72
+ Requires-Dist: agno>=2.7.3; extra == "all"
73
+ Requires-Dist: azure-ai-projects>=2.3.0; extra == "all"
74
+ Requires-Dist: azure-identity>=1.25.3; extra == "all"
75
+ Requires-Dist: openai-agents>=0.18.2; extra == "all"
76
+ Requires-Dist: mcp>=1.26.0; extra == "all"
77
+ Requires-Dist: boto3>=1.43.48; extra == "all"
78
+ Requires-Dist: llama-index>=0.14.23; extra == "all"
79
+ Requires-Dist: google-adk>=2.4.0; extra == "all"
81
80
  Provides-Extra: dev
82
81
  Requires-Dist: pytest>=8.0.0; extra == "dev"
83
82
  Requires-Dist: ruff>=0.5.0; extra == "dev"
84
83
  Requires-Dist: mypy>=1.8.0; extra == "dev"
85
84
  Requires-Dist: build>=1.0.0; extra == "dev"
86
85
  Requires-Dist: twine>=5.0.0; extra == "dev"
87
- Dynamic: home-page
88
86
  Dynamic: license-file
89
- Dynamic: requires-python
90
87
 
91
88
 
92
89
 
@@ -3009,8 +3006,6 @@ client.report_incident(
3009
3006
  )
3010
3007
  ```
3011
3008
 
3012
- ---
3013
-
3014
3009
  ## Prompt Guardrail Example
3015
3010
 
3016
3011
  ```python
@@ -3308,25 +3303,123 @@ from agenticdome_sdk.llamaindex import AgenticDomeLlamaIndexFirewall, FirewallCo
3308
3303
 
3309
3304
  ---
3310
3305
 
3311
- ## Package Build
3306
+ ## Package Build and Verification
3312
3307
 
3313
- For maintainers:
3308
+ For maintainers, run the Python SDK release gate from the SDK root:
3314
3309
 
3315
3310
  ```bash
3316
3311
  python3 -m venv .venv
3317
3312
  source .venv/bin/activate
3318
3313
 
3319
- python -m pip install --upgrade pip setuptools wheel build twine pytest
3314
+ python -m pip install --upgrade pip setuptools wheel
3320
3315
  python -m pip install -e ".[dev]"
3321
3316
  python -m pip install -e ".[crewai,pydanticai,langgraph,microsoft,foundry,agno,openai-agents,mcp,bedrock,google-adk,llamaindex,redis]"
3322
3317
 
3323
- pytest -q
3318
+ python -m pytest -q
3319
+ rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3320
+ python -m build
3321
+ python -m twine check dist/*
3322
+ ```
3323
+
3324
+ `python -m pytest -q` runs the core SDK tests, package metadata contract tests, and every dependency-light framework adapter test in one go. This is the normal offline full-suite command for all supported Python integrations.
3325
+
3326
+ The adapter tests use fake framework/client boundaries where possible so normal CI can verify authorization, delegation-token handling, sanitized tool arguments, output DLP, streaming sanitization, rate limits, and fail-open/fail-closed behavior without requiring live third-party services.
3327
+
3328
+ To run one framework at a time, execute the matching test file from the matrix below. For example, `python -m pytest -q tests/test_langgraph_integration.py` runs only the LangGraph/LangChain adapter tests.
3329
+
3330
+ ### Verification Command Details
3331
+
3332
+ Use this focused verification command when you only want release/package checks plus the optional live tenant smoke tests:
3333
+
3334
+ ```bash
3335
+ python -m pytest -q tests/test_packaging_contract.py tests/test_live_tenant.py
3336
+ ```
3337
+
3338
+ What each part does:
3339
+
3340
+ | Part | Meaning |
3341
+ | :--- | :--- |
3342
+ | `python -m pytest` | Runs `pytest` using the current Python environment. |
3343
+ | `-q` | Quiet mode. It prints compact test results instead of verbose test names. |
3344
+ | `tests/test_packaging_contract.py` | Runs packaging and release-quality checks: `pyproject.toml` metadata, the minimal `setup.py` shim, public imports, `.gitignore`, `MANIFEST.in`, and README verification coverage. |
3345
+ | `tests/test_live_tenant.py` | Runs live AgenticDome tenant smoke tests only when explicitly enabled. By default these tests are skipped. |
3346
+
3347
+ By default, `tests/test_live_tenant.py` is skipped unless you set:
3348
+
3349
+ ```bash
3350
+ export AGENTICDOME_LIVE_TENANT_TEST=1
3351
+ ```
3352
+
3353
+ For strict live policy validation, also set:
3354
+
3355
+ ```bash
3356
+ export AGENTICDOME_LIVE_EXPECT_STRICT=1
3357
+ ```
3358
+
3359
+ ### Framework Test Matrix
3360
+
3361
+ | Runtime / integration | Test command | Coverage focus |
3362
+ | :--- | :--- | :--- |
3363
+ | Core SDK client | `python -m pytest -q tests/test_client.py` | Request validation, headers, guardrail calls, A2A/MCP JSON-RPC calls, Mesh DLP, HTTP errors, and JSON handling. |
3364
+ | Package contract | `python -m pytest -q tests/test_packaging_contract.py` | `pyproject.toml` metadata, legacy `setup.py` shim, public exports, manifest hygiene, ignored build artifacts, and documented extras. |
3365
+ | CrewAI | `python -m pytest -q tests/test_crewai_integration.py` | Prompt/tool hooks, manager handoff token injection, specialist verification, output redaction, schema checks, rate limits, retries, and streaming DLP. |
3366
+ | PydanticAI | `python -m pytest -q tests/test_pydanticai_integration.py` | Agent hooks, secure tools, sanitized arguments, token-store fallback, production session enforcement, rate limits, retries, and streaming output. |
3367
+ | LangGraph / LangChain | `python -m pytest -q tests/test_langgraph_integration.py` | Graph input, transition, tool, retrieval, middleware, security routing, token consumption, output DLP, and streaming events. |
3368
+ | Microsoft Agent Framework | `python -m pytest -q tests/test_microsoft_agent_framework_integration.py` | Tool/run boundaries, delegated tool verification, middleware install helpers, identity context, Copilot enforcement hooks, and streaming output. |
3369
+ | Microsoft AI Foundry | `python -m pytest -q tests/test_microsoft_ai_foundry_integration.py` | Prompt threat contracts, local tool executors, run boundaries, bearer/API-key configuration, delegated execution, circuit breaker, and stream DLP. |
3370
+ | OpenAI Agents SDK | `python -m pytest -q tests/test_openai_agents_integration.py` | Runner wrappers, guardrail helpers, function-tool wrappers, handoff/delegated tools, HMAC token storage, schema checks, retries, and streaming output. |
3371
+ | Agno | `python -m pytest -q tests/test_agno_integration.py` | Agent/team hooks, tool hooks, middleware/plugin helpers, delegated specialist execution, retrieved text sanitization, schema checks, and stream DLP. |
3372
+ | MCP host / gateway | `python -m pytest -q tests/test_mcp_host_integration.py` | JSON-RPC preflight, tool/resource/prompt authorization, private metadata stripping, delegated token verification, response filtering, and forwarder DLP. |
3373
+ | AWS Bedrock | `python -m pytest -q tests/test_aws_bedrock_integration.py` | Converse/InvokeModel wrappers, Bedrock Agents streams, action-group Lambda wrappers, retrieval DLP, tool authorization, handoff tokens, and retries. |
3374
+ | Google ADK | `python -m pytest -q tests/test_google_adk_integration.py` | Model/tool callbacks, plugin helpers, secure tools, delegated execution, sanitized args, production sessions, rate limits, retries, and stream DLP. |
3375
+ | LlamaIndex | `python -m pytest -q tests/test_llamaindex_integration.py` | FunctionTool/query/retrieval wrappers, callback handlers, secure tools, delegated execution, fail-open behavior, and output DLP. |
3376
+
3377
+ For a single-framework development loop, install only the extra and run the matching test file, for example:
3378
+
3379
+ ```bash
3380
+ python -m pip install -e ".[langgraph]"
3381
+ python -m pytest -q tests/test_langgraph_integration.py
3382
+ ```
3383
+
3384
+ ### Release Gates
3324
3385
 
3386
+ For metadata and artifact validation only:
3387
+
3388
+ ```bash
3389
+ python -m pytest -q tests/test_packaging_contract.py
3325
3390
  rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3326
3391
  python -m build
3327
3392
  python -m twine check dist/*
3328
3393
  ```
3329
3394
 
3395
+ For a full offline release gate across all supported Python integrations:
3396
+
3397
+ ```bash
3398
+ python -m pip install -e ".[dev,crewai,pydanticai,langgraph,microsoft,foundry,agno,openai-agents,mcp,bedrock,google-adk,llamaindex,redis]"
3399
+ python -m pytest -q
3400
+ rm -rf build dist *.egg-info agenticdome_sdk.egg-info agenticdome_python_sdk.egg-info
3401
+ python -m build
3402
+ python -m twine check dist/*
3403
+ ```
3404
+
3405
+ For a release gate against a real AgenticDome tenant:
3406
+
3407
+ ```bash
3408
+ export AGENTICDOME_API_BASE="https://www.agenticdome.io"
3409
+ export AGENTICDOME_TENANT_ID="<tenant_id>"
3410
+ export AGENTICDOME_API_KEY="<tenant_api_key>"
3411
+ export AGENTICDOME_LIVE_TENANT_TEST=1
3412
+ python -m pytest -q tests/test_live_tenant.py
3413
+ ```
3414
+
3415
+ For strict security-policy validation, add:
3416
+
3417
+ ```bash
3418
+ export AGENTICDOME_LIVE_EXPECT_STRICT=1
3419
+ ```
3420
+
3421
+ The live tenant test performs real `guardrail_validate()` and `mesh_validate()` calls through the core client. Framework-specific behavior remains covered by the offline adapter test matrix above, because those tests assert where each framework boundary calls the shared AgenticDome client and how it handles policy decisions.
3422
+
3330
3423
  ---
3331
3424
 
3332
3425
  ## License
@@ -38,9 +38,11 @@ tests/test_client.py
38
38
  tests/test_crewai_integration.py
39
39
  tests/test_google_adk_integration.py
40
40
  tests/test_langgraph_integration.py
41
+ tests/test_live_tenant.py
41
42
  tests/test_llamaindex_integration.py
42
43
  tests/test_mcp_host_integration.py
43
44
  tests/test_microsoft_agent_framework_integration.py
44
45
  tests/test_microsoft_ai_foundry_integration.py
45
46
  tests/test_openai_agents_integration.py
47
+ tests/test_packaging_contract.py
46
48
  tests/test_pydanticai_integration.py