agenticdome-python-sdk 1.2.24__tar.gz → 1.2.25__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/PKG-INFO +1 -1
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_python_sdk.egg-info/PKG-INFO +1 -1
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_python_sdk.egg-info/SOURCES.txt +1 -0
- agenticdome_python_sdk-1.2.25/agenticdome_sdk/catalog_snapshot.json +28 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/hook_catalog.py +27 -43
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/onboarding_cli.py +16 -5
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/pyproject.toml +2 -2
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/CONTRIBUTING.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/LICENSE +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/MANIFEST.in +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/NOTICE +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/README.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/SECURITY.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_python_sdk.egg-info/dependency_links.txt +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_python_sdk.egg-info/entry_points.txt +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_python_sdk.egg-info/requires.txt +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_python_sdk.egg-info/top_level.txt +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/__init__.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/_framework_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/_mode.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/agno.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/claude.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/client.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/copilot_ir.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/copilot_ir_collector.cjs +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/demo.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/identity.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/mcp_host.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/proof.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/pydantic.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/simulation.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/customer-onboarding.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/agno.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/autogen.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/aws-bedrock.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/claude-agent-sdk.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/crewai.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/custom-python.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/google-adk.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/langgraph.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/llamaindex.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/microsoft-agent-framework.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/microsoft-ai-foundry.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/openai-agents.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/pydanticai.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/smolagents.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/mcp-integration.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/performance-evidence.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/runtime-deployment.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/PRODUCTION_INTEGRATION.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/README.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/attack_demo.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/crewai_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/README.md +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/_shared.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/agno.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/autogen.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/aws_bedrock.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/claude_agent_sdk.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/crewai.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/custom_python.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/google_adk.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/langgraph.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/llamaindex.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/mcp.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/microsoft_agent_framework.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/microsoft_ai_foundry.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/openai_agents.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/pydanticai.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/smolagents.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/langgraph_agenticdome_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/local_simulation_gallery.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/mcp_gateway_action_firewall.py +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/setup.cfg +0 -0
- {agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.25
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agenticdome-python-sdk
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.25
|
|
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
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "agenticdome.catalog-snapshot.v1",
|
|
3
|
+
"catalog_schema": "agenticdome.hook-catalog.v1",
|
|
4
|
+
"verified_at": "2026-08-23",
|
|
5
|
+
"python_sdk_version": "1.2.25",
|
|
6
|
+
"published_packages": {
|
|
7
|
+
"agenticdome-python-sdk": {
|
|
8
|
+
"registry": "pypi",
|
|
9
|
+
"version": "1.2.25",
|
|
10
|
+
"url": "https://pypi.org/project/agenticdome-python-sdk/1.2.25/"
|
|
11
|
+
},
|
|
12
|
+
"agenticdome-sdk": {
|
|
13
|
+
"registry": "npm",
|
|
14
|
+
"version": "0.6.3",
|
|
15
|
+
"url": "https://www.npmjs.com/package/agenticdome-sdk/v/0.6.3"
|
|
16
|
+
},
|
|
17
|
+
"agenticdome-openclaw-security": {
|
|
18
|
+
"registry": "npm",
|
|
19
|
+
"version": "1.0.2",
|
|
20
|
+
"url": "https://www.npmjs.com/package/agenticdome-openclaw-security/v/1.0.2"
|
|
21
|
+
},
|
|
22
|
+
"openclaw": {
|
|
23
|
+
"registry": "npm",
|
|
24
|
+
"version": "2026.7.1-2",
|
|
25
|
+
"url": "https://www.npmjs.com/package/openclaw/v/2026.7.1-2"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/hook_catalog.py
RENAMED
|
@@ -11,65 +11,42 @@ import copy
|
|
|
11
11
|
import hashlib
|
|
12
12
|
import json
|
|
13
13
|
import re
|
|
14
|
-
from importlib import metadata as importlib_metadata
|
|
15
14
|
from pathlib import Path
|
|
16
15
|
from typing import Any, Dict, List, Optional
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
CATALOG_SCHEMA = "agenticdome.hook-catalog.v1"
|
|
20
|
-
|
|
21
|
-
_SDK_ROOT = Path(__file__).resolve().parents[2]
|
|
19
|
+
CATALOG_SNAPSHOT_SCHEMA = "agenticdome.catalog-snapshot.v1"
|
|
22
20
|
|
|
23
21
|
|
|
24
|
-
def
|
|
25
|
-
|
|
22
|
+
def _load_catalog_snapshot() -> Dict[str, Any]:
|
|
23
|
+
path = Path(__file__).with_name("catalog_snapshot.json")
|
|
26
24
|
try:
|
|
27
|
-
|
|
28
|
-
except (OSError,
|
|
29
|
-
|
|
25
|
+
snapshot = json.loads(path.read_text(encoding="utf-8"))
|
|
26
|
+
except (OSError, TypeError, ValueError, json.JSONDecodeError) as exc:
|
|
27
|
+
raise RuntimeError("The installed SDK is missing its canonical hook-catalog snapshot.") from exc
|
|
28
|
+
if not isinstance(snapshot, dict) or snapshot.get("schema") != CATALOG_SNAPSHOT_SCHEMA:
|
|
29
|
+
raise RuntimeError("The installed SDK contains an unsupported hook-catalog snapshot.")
|
|
30
|
+
if snapshot.get("catalog_schema") != CATALOG_SCHEMA:
|
|
31
|
+
raise RuntimeError("The installed SDK hook-catalog snapshot uses the wrong catalog schema.")
|
|
32
|
+
if not isinstance(snapshot.get("published_packages"), dict):
|
|
33
|
+
raise RuntimeError("The installed SDK hook-catalog snapshot has no published package map.")
|
|
34
|
+
return snapshot
|
|
30
35
|
|
|
31
36
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
try:
|
|
35
|
-
match = re.search(r"(?m)^version\s*=\s*\"([^\"]+)\"", manifest.read_text(encoding="utf-8"))
|
|
36
|
-
if match:
|
|
37
|
-
return match.group(1).strip()
|
|
38
|
-
except OSError:
|
|
39
|
-
pass
|
|
40
|
-
try:
|
|
41
|
-
return importlib_metadata.version("agenticdome-python-sdk")
|
|
42
|
-
except importlib_metadata.PackageNotFoundError:
|
|
43
|
-
return fallback
|
|
44
|
-
|
|
37
|
+
_CATALOG_SNAPSHOT = _load_catalog_snapshot()
|
|
38
|
+
CATALOG_VERIFIED_AT = str(_CATALOG_SNAPSHOT["verified_at"])
|
|
45
39
|
|
|
46
|
-
def _published_package(registry: str, package: str, version: str) -> Dict[str, str]:
|
|
47
|
-
if registry == "pypi":
|
|
48
|
-
url = f"https://pypi.org/project/{package}/{version}/"
|
|
49
|
-
else:
|
|
50
|
-
url = f"https://www.npmjs.com/package/{package}/v/{version}"
|
|
51
|
-
return {"registry": registry, "version": version, "url": url}
|
|
52
40
|
|
|
53
|
-
|
|
54
|
-
_PYTHON_SDK_VERSION = _python_manifest_version("1.2.21")
|
|
55
|
-
_TYPESCRIPT_SDK_VERSION = _json_manifest_version("js/agentguard_sdk/src/package.json", "0.6.2")
|
|
56
|
-
_OPENCLAW_PLUGIN_VERSION = _json_manifest_version(
|
|
57
|
-
"openclaw/ts/openclaw-agenticdome-security/package.json", "1.0.1"
|
|
58
|
-
)
|
|
59
41
|
_OPENCLAW_RUNTIME_MIN_VERSION = "2026.7.1-2"
|
|
60
42
|
_OPENCLAW_RUNTIME_MAX_VERSION = "2026.7.1-2"
|
|
61
43
|
_OPENCLAW_RUNTIME_VERSION = _OPENCLAW_RUNTIME_MAX_VERSION
|
|
62
44
|
_OPENCLAW_NODE_RANGE = ">=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0"
|
|
63
45
|
|
|
64
|
-
# The source checkout derives these values from the exact manifests that the
|
|
65
|
-
# release harness publishes. Installed wheels retain the certified fallbacks.
|
|
66
46
|
PUBLISHED_AGENTICDOME_PACKAGES: Dict[str, Dict[str, str]] = {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"npm", "agenticdome-openclaw-security", _OPENCLAW_PLUGIN_VERSION
|
|
71
|
-
),
|
|
72
|
-
"openclaw": _published_package("npm", "openclaw", _OPENCLAW_RUNTIME_VERSION),
|
|
47
|
+
str(package): {str(key): str(value) for key, value in row.items()}
|
|
48
|
+
for package, row in _CATALOG_SNAPSHOT["published_packages"].items()
|
|
49
|
+
if isinstance(row, dict)
|
|
73
50
|
}
|
|
74
51
|
|
|
75
52
|
|
|
@@ -545,11 +522,18 @@ def framework_contract(key: str, language: Optional[str] = None) -> Optional[Dic
|
|
|
545
522
|
|
|
546
523
|
|
|
547
524
|
def catalog_digest() -> str:
|
|
525
|
+
# Package versions are signed in the binding and excluded from this
|
|
526
|
+
# semantic Python hook-contract digest. npm/OpenClaw releases therefore
|
|
527
|
+
# cannot invalidate an already published Python wheel.
|
|
528
|
+
frameworks = copy.deepcopy(FRAMEWORK_HOOK_CATALOG)
|
|
529
|
+
for contract in frameworks.values():
|
|
530
|
+
for package in list((contract.get("packages") or {}).keys()):
|
|
531
|
+
if package in PUBLISHED_AGENTICDOME_PACKAGES:
|
|
532
|
+
contract["packages"][package] = {"binding": "signed_catalog"}
|
|
548
533
|
payload = {
|
|
549
534
|
"schema": CATALOG_SCHEMA,
|
|
550
535
|
"verified_at": CATALOG_VERIFIED_AT,
|
|
551
|
-
"
|
|
552
|
-
"frameworks": FRAMEWORK_HOOK_CATALOG,
|
|
536
|
+
"frameworks": frameworks,
|
|
553
537
|
}
|
|
554
538
|
encoded = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode("utf-8")
|
|
555
539
|
return "sha256:" + hashlib.sha256(encoded).hexdigest()
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/onboarding_cli.py
RENAMED
|
@@ -567,8 +567,14 @@ def _exact_version_from_spec(spec: str) -> Optional[str]:
|
|
|
567
567
|
return match.group(1) if match else None
|
|
568
568
|
|
|
569
569
|
|
|
570
|
-
def _hook_plans(
|
|
570
|
+
def _hook_plans(
|
|
571
|
+
root: Path,
|
|
572
|
+
report: Dict[str, Any],
|
|
573
|
+
frameworks: Sequence[str],
|
|
574
|
+
catalog_binding: Optional[Dict[str, Any]] = None,
|
|
575
|
+
) -> List[Dict[str, Any]]:
|
|
571
576
|
inventory = _manifest_dependency_specs(root)
|
|
577
|
+
bound_packages = (catalog_binding or {}).get("published_packages") or {}
|
|
572
578
|
languages = set(report.get("languages", []))
|
|
573
579
|
requested = list(dict.fromkeys(str(item) for item in frameworks))
|
|
574
580
|
if "typescript/javascript" in languages and not any(item in {"openclaw", "mcp", "typescript"} for item in requested):
|
|
@@ -597,10 +603,15 @@ def _hook_plans(root: Path, report: Dict[str, Any], frameworks: Sequence[str]) -
|
|
|
597
603
|
installed = observed.get("installed")
|
|
598
604
|
declared = observed.get("declared")
|
|
599
605
|
declared_exact = _exact_version_from_spec(str(declared or ""))
|
|
600
|
-
registry_version =
|
|
606
|
+
registry_version = (bound_packages.get(package) or {}).get("version")
|
|
607
|
+
if not registry_version:
|
|
608
|
+
registry_version = PUBLISHED_AGENTICDOME_PACKAGES.get(package, {}).get("version")
|
|
609
|
+
effective_certification = certification
|
|
610
|
+
if package in PUBLISHED_AGENTICDOME_PACKAGES and registry_version:
|
|
611
|
+
effective_certification = {"exact": str(registry_version)}
|
|
601
612
|
declared_latest = str(declared or "").strip().lower() in {"latest", "*"}
|
|
602
613
|
comparable = declared_exact or installed or (registry_version if declared_latest else None)
|
|
603
|
-
compatible = version_satisfies_certification(str(comparable),
|
|
614
|
+
compatible = version_satisfies_certification(str(comparable), effective_certification) if comparable else None
|
|
604
615
|
environment_conflict = bool(declared_exact and installed and declared_exact != installed)
|
|
605
616
|
# An explicit declared version outside the certified range must
|
|
606
617
|
# fail closed even when this machine happens to have a different,
|
|
@@ -622,7 +633,7 @@ def _hook_plans(root: Path, report: Dict[str, Any], frameworks: Sequence[str]) -
|
|
|
622
633
|
"package": package,
|
|
623
634
|
"installed_version": installed,
|
|
624
635
|
"declared_spec": declared,
|
|
625
|
-
"certified_versions": certification_label(
|
|
636
|
+
"certified_versions": certification_label(effective_certification),
|
|
626
637
|
"published_version": published,
|
|
627
638
|
"status": status,
|
|
628
639
|
"evidence": (
|
|
@@ -714,7 +725,7 @@ def integration_plan(root: Path) -> Dict[str, Any]:
|
|
|
714
725
|
required = ["prompt_ingress", "tool_execution", "output_egress"]
|
|
715
726
|
gaps = [boundary for boundary in required if not counts.get(boundary)]
|
|
716
727
|
frameworks = config.get("frameworks", [])
|
|
717
|
-
hook_plans = _hook_plans(root, report, frameworks)
|
|
728
|
+
hook_plans = _hook_plans(root, report, frameworks, active_catalog_binding)
|
|
718
729
|
semantic_bypasses = semantic.get("bypass_risks", []) if isinstance(semantic, dict) else []
|
|
719
730
|
semantic_reviews = semantic.get("review_findings", []) if isinstance(semantic, dict) else []
|
|
720
731
|
return {
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agenticdome-python-sdk"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.25"
|
|
8
8
|
description = "Official Python SDK for AgenticDome security guardrails, DLP, tool authorization, and multi-agent delegation enforcement."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -170,7 +170,7 @@ include = ["agenticdome_sdk*"]
|
|
|
170
170
|
exclude = ["tests*", "examples*"]
|
|
171
171
|
|
|
172
172
|
[tool.setuptools.package-data]
|
|
173
|
-
agenticdome_sdk = ["*.cjs"]
|
|
173
|
+
agenticdome_sdk = ["*.cjs", "catalog_snapshot.json"]
|
|
174
174
|
|
|
175
175
|
[tool.ruff]
|
|
176
176
|
line-length = 120
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/aws_bedrock.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/copilot_ir.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/google_adk.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/langgraph.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/llamaindex.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/openai_agents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/simulation.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/agenticdome_sdk/smolagents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/aws-bedrock.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/claude-agent-sdk.md
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/custom-python.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/google-adk.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/langgraph.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/llamaindex.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/openai-agents.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/pydanticai.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/frameworks/smolagents.md
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/docs/performance-evidence.md
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/PRODUCTION_INTEGRATION.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/README.md
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/_shared.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/autogen.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/aws_bedrock.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/crewai.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/custom_python.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/google_adk.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/langgraph.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/llamaindex.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/openai_agents.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/pydanticai.py
RENAMED
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/frameworks/smolagents.py
RENAMED
|
File without changes
|
|
File without changes
|
{agenticdome_python_sdk-1.2.24 → agenticdome_python_sdk-1.2.25}/examples/local_simulation_gallery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|