draft-protocol 1.3.0__tar.gz → 1.3.1__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.
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/PKG-INFO +1 -1
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/pyproject.toml +1 -1
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/__init__.py +1 -1
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/hmac_utils.py +18 -1
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.dockerignore +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.editorconfig +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.github/CODEOWNERS +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.github/dependabot.yml +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.github/workflows/ci.yml +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.github/workflows/release.yml +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.gitignore +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/.pre-commit-config.yaml +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/AGENTS.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/BENCHMARKS.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/CHANGELOG.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/CODE_OF_CONDUCT.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/CONFORMANCE.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/CONTRIBUTING.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/Dockerfile +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/INTEGRATIONS.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/LICENSE +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/METHODOLOGY.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/Makefile +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/README.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/RELEASING.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/ROADMAP.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/RULES.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/SECURITY.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/STRUCTURE.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/THREAT_MODEL.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/docker-compose.example.yml +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/docs/README.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/docs/api.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/docs/architecture.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/examples/README.md +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/examples/basic_usage.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/background.js +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/content.css +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/content.js +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/icons/icon128.png +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/icons/icon16.png +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/icons/icon48.png +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/manifest.json +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/popup.html +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/popup.js +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/sidepanel.html +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/extension/sidepanel.js +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/scripts/tmp/run_lint.ps1 +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/scripts/tmp/run_new_tests.ps1 +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/scripts/tmp/run_tests.ps1 +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/__main__.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/config.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/engine.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/extension_points.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/providers.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/py.typed +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/rest.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/server.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/src/draft_protocol/storage.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/tests/conftest.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/tests/test_draft_protocol.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/tests/test_rest.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/tests/test_security.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/tests/test_v1_1_features.py +0 -0
- {draft_protocol-1.3.0 → draft_protocol-1.3.1}/tests/test_v1_2_features.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: draft-protocol
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: DRAFT Protocol — Intake governance for AI tool calls. Ensures AI understands human intent before execution begins.
|
|
5
5
|
Project-URL: Homepage, https://github.com/manifold-vectors/draft-protocol
|
|
6
6
|
Project-URL: Documentation, https://github.com/manifold-vectors/draft-protocol#readme
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "draft-protocol"
|
|
7
|
-
version = "1.3.
|
|
7
|
+
version = "1.3.1"
|
|
8
8
|
description = "DRAFT Protocol — Intake governance for AI tool calls. Ensures AI understands human intent before execution begins."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -19,8 +19,25 @@ _nonce_counter: int = 0
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
def _get_secret() -> bytes:
|
|
22
|
-
"""Get HMAC secret from environment.
|
|
22
|
+
"""Get HMAC secret from environment, .env file, or dev fallback."""
|
|
23
23
|
secret = os.environ.get("GATE_HMAC_SECRET", "")
|
|
24
|
+
if not secret:
|
|
25
|
+
for env_path in [
|
|
26
|
+
os.path.join(os.environ.get("VECTORLAB_ROOT", ""), ".env"),
|
|
27
|
+
r"D:\VECTOR\VectorLab\.env",
|
|
28
|
+
]:
|
|
29
|
+
if env_path and os.path.isfile(env_path):
|
|
30
|
+
try:
|
|
31
|
+
with open(env_path) as f2:
|
|
32
|
+
for line in f2:
|
|
33
|
+
line = line.strip()
|
|
34
|
+
if line.startswith("GATE_HMAC_SECRET=") and not line.startswith("#"):
|
|
35
|
+
secret = line.split("=", 1)[1].strip().strip("\"'")
|
|
36
|
+
break
|
|
37
|
+
except OSError:
|
|
38
|
+
continue
|
|
39
|
+
if secret:
|
|
40
|
+
break
|
|
24
41
|
if not secret:
|
|
25
42
|
secret = "vector-gate-dev-secret-change-me"
|
|
26
43
|
return secret.encode()
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|