swiftapi-python 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.
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/CHANGELOG.md +6 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/PKG-INFO +10 -13
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/README.md +9 -12
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/pyproject.toml +1 -1
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/scripts/qualify_artifacts.py +1 -1
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/__init__.py +1 -1
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/broker.py +1 -1
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/install.py +1 -1
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/mcp.py +1 -1
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/qualification.py +1 -1
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi_python.egg-info/PKG-INFO +10 -13
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_release_contract.py +13 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/LICENSE +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/MANIFEST.in +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/MIGRATION_1_2_2.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/PRODUCT_TRUTH_MAP.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/benchmarks/corpora.lock.json +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/benchmarks/sources.lock.json +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/ACTION_ENVELOPES.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/BENCHMARKING.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/BYOK.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/CLAUDE_CODE.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/CODEX.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/CONCEPTS.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/CONDITIONS.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/LOCAL_BRAKE.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/NATIVE_NONCONTINUATION.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/PYTHON_SDK.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/QUICKSTART.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/RECEIPTS.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/REMOTE_SWIFTAPI.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/RESEARCH_PROVENANCE.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/SECURITY_MODEL.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/THREAT_MODEL.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/docs/VERIFICATION.md +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/scripts/fetch_benchmarks.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/scripts/fetch_corpora.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/setup.cfg +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/__main__.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/anthropic.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/__init__.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/benchmarks.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/core.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/observations.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/brake/remote.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/cli.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/client.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/enforcement.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/exceptions.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/openai.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/py.typed +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/utils.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi/verifier.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi_python.egg-info/SOURCES.txt +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi_python.egg-info/dependency_links.txt +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi_python.egg-info/entry_points.txt +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi_python.egg-info/requires.txt +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi_python.egg-info/top_level.txt +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/conftest.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_anthropic.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_brake.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_brake_benchmarks_remote.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_client.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_exceptions.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_legacy_security.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_openai.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_responses.py +0 -0
- {swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/tests/test_verifier.py +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.1 — 2026-09-22
|
|
4
|
+
|
|
5
|
+
Fix package-index README guide links by pointing to the public source distribution
|
|
6
|
+
and documentation. Runtime behavior is unchanged from 1.3.0; version reporting
|
|
7
|
+
identifies this patch. Historical distributions remain immutable.
|
|
8
|
+
|
|
3
9
|
## 1.3.0 — 2026-09-22
|
|
4
10
|
|
|
5
11
|
Add local prerequisite evaluation, canonical action envelopes, Ed25519 decisions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: swiftapi-python
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: SwiftAPI Python SDK - AI Action Verification Gateway
|
|
5
5
|
Author-email: Rayan Pal <rayan@swiftapi.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -131,17 +131,14 @@ causal, theoretical, and protocol boundaries.
|
|
|
131
131
|
|
|
132
132
|
## Documentation
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
[
|
|
143
|
-
|
|
144
|
-
[Migration from 1.2.2](MIGRATION_1_2_2.md) documents security corrections and
|
|
145
|
-
termination-metadata changes. Historical 1.2.2 bytes remain immutable on PyPI.
|
|
134
|
+
The full guides ship in the [source distribution on PyPI](https://pypi.org/project/swiftapi-python/#files),
|
|
135
|
+
inside `docs/`. Start with `docs/QUICKSTART.md`. The source also includes guides
|
|
136
|
+
for concepts, the local brake, Codex, Claude Code, the Python SDK, conditions,
|
|
137
|
+
action envelopes, receipts, verification, remote authority, BYOK, security,
|
|
138
|
+
the threat model, native noncontinuation, benchmarks, and research provenance.
|
|
139
|
+
|
|
140
|
+
`MIGRATION_1_2_2.md` documents security corrections and termination-metadata
|
|
141
|
+
changes. Historical 1.2.2 bytes remain immutable on PyPI. The public
|
|
142
|
+
[SwiftAPI documentation](https://getswiftapi.com/docs) remains available online.
|
|
146
143
|
|
|
147
144
|
MIT license. Research and software by Rayan Pal / SwiftAPI Labs.
|
|
@@ -95,17 +95,14 @@ causal, theoretical, and protocol boundaries.
|
|
|
95
95
|
|
|
96
96
|
## Documentation
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
[
|
|
107
|
-
|
|
108
|
-
[Migration from 1.2.2](MIGRATION_1_2_2.md) documents security corrections and
|
|
109
|
-
termination-metadata changes. Historical 1.2.2 bytes remain immutable on PyPI.
|
|
98
|
+
The full guides ship in the [source distribution on PyPI](https://pypi.org/project/swiftapi-python/#files),
|
|
99
|
+
inside `docs/`. Start with `docs/QUICKSTART.md`. The source also includes guides
|
|
100
|
+
for concepts, the local brake, Codex, Claude Code, the Python SDK, conditions,
|
|
101
|
+
action envelopes, receipts, verification, remote authority, BYOK, security,
|
|
102
|
+
the threat model, native noncontinuation, benchmarks, and research provenance.
|
|
103
|
+
|
|
104
|
+
`MIGRATION_1_2_2.md` documents security corrections and termination-metadata
|
|
105
|
+
changes. Historical 1.2.2 bytes remain immutable on PyPI. The public
|
|
106
|
+
[SwiftAPI documentation](https://getswiftapi.com/docs) remains available online.
|
|
110
107
|
|
|
111
108
|
MIT license. Research and software by Rayan Pal / SwiftAPI Labs.
|
|
@@ -60,7 +60,7 @@ def main():
|
|
|
60
60
|
[
|
|
61
61
|
python,
|
|
62
62
|
"-c",
|
|
63
|
-
'import swiftapi,sys,pathlib; assert pathlib.Path(sys.prefix) in pathlib.Path(swiftapi.__file__).parents; assert swiftapi.__version__ == "1.3.
|
|
63
|
+
'import swiftapi,sys,pathlib; assert pathlib.Path(sys.prefix) in pathlib.Path(swiftapi.__file__).parents; assert swiftapi.__version__ == "1.3.1"; print(swiftapi.__file__)',
|
|
64
64
|
],
|
|
65
65
|
)
|
|
66
66
|
run("doctor", [command, "doctor"])
|
|
@@ -260,7 +260,7 @@ def doctor(home: Optional[Path] = None) -> dict:
|
|
|
260
260
|
check["error"] = "configuration invalid"
|
|
261
261
|
checks[h] = check
|
|
262
262
|
return {
|
|
263
|
-
"version": "1.3.
|
|
263
|
+
"version": "1.3.1",
|
|
264
264
|
"python": sys.version.split()[0],
|
|
265
265
|
"local_brake": "available",
|
|
266
266
|
"hosts": checks,
|
|
@@ -94,7 +94,7 @@ def serve() -> None:
|
|
|
94
94
|
result = {
|
|
95
95
|
"protocolVersion": requested if requested in supported else supported[-1],
|
|
96
96
|
"capabilities": {"tools": {"listChanged": False}},
|
|
97
|
-
"serverInfo": {"name": "swiftapi_brake", "version": "1.3.
|
|
97
|
+
"serverInfo": {"name": "swiftapi_brake", "version": "1.3.1"},
|
|
98
98
|
"instructions": "Use the broker for its sandbox markers. Approval is operator-only. A denied action is GATE_BLOCK, never native Void.",
|
|
99
99
|
}
|
|
100
100
|
elif method == "ping":
|
|
@@ -102,7 +102,7 @@ def qualify(root: Path) -> dict:
|
|
|
102
102
|
checks.append({"name": name, "passed": blocked})
|
|
103
103
|
result = {
|
|
104
104
|
"schema": "swiftapi.qualification/v1",
|
|
105
|
-
"version": "1.3.
|
|
105
|
+
"version": "1.3.1",
|
|
106
106
|
"checks": checks,
|
|
107
107
|
"passed": sum(c["passed"] for c in checks),
|
|
108
108
|
"total": len(checks),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: swiftapi-python
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: SwiftAPI Python SDK - AI Action Verification Gateway
|
|
5
5
|
Author-email: Rayan Pal <rayan@swiftapi.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -131,17 +131,14 @@ causal, theoretical, and protocol boundaries.
|
|
|
131
131
|
|
|
132
132
|
## Documentation
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
[
|
|
143
|
-
|
|
144
|
-
[Migration from 1.2.2](MIGRATION_1_2_2.md) documents security corrections and
|
|
145
|
-
termination-metadata changes. Historical 1.2.2 bytes remain immutable on PyPI.
|
|
134
|
+
The full guides ship in the [source distribution on PyPI](https://pypi.org/project/swiftapi-python/#files),
|
|
135
|
+
inside `docs/`. Start with `docs/QUICKSTART.md`. The source also includes guides
|
|
136
|
+
for concepts, the local brake, Codex, Claude Code, the Python SDK, conditions,
|
|
137
|
+
action envelopes, receipts, verification, remote authority, BYOK, security,
|
|
138
|
+
the threat model, native noncontinuation, benchmarks, and research provenance.
|
|
139
|
+
|
|
140
|
+
`MIGRATION_1_2_2.md` documents security corrections and termination-metadata
|
|
141
|
+
changes. Historical 1.2.2 bytes remain immutable on PyPI. The public
|
|
142
|
+
[SwiftAPI documentation](https://getswiftapi.com/docs) remains available online.
|
|
146
143
|
|
|
147
144
|
MIT license. Research and software by Rayan Pal / SwiftAPI Labs.
|
|
@@ -90,3 +90,16 @@ def test_revocation_unknown_stops_paranoid_callback():
|
|
|
90
90
|
api._request = Mock(side_effect=NetworkError("offline"))
|
|
91
91
|
with pytest.raises(NetworkError):
|
|
92
92
|
api.check_revocation("x")
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def test_readme_document_links_resolve_outside_source_checkout():
|
|
96
|
+
from urllib.parse import urlparse
|
|
97
|
+
|
|
98
|
+
source = (Path(__file__).resolve().parents[1] / "README.md").read_text()
|
|
99
|
+
links = re.findall(r"\[[^\]]+\]\(([^)]+)\)", source)
|
|
100
|
+
assert links
|
|
101
|
+
for link in links:
|
|
102
|
+
parsed = urlparse(link)
|
|
103
|
+
assert parsed.scheme == "https" and parsed.netloc, (
|
|
104
|
+
"PyPI does not resolve repository-relative README links"
|
|
105
|
+
)
|
|
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
|
{swiftapi_python-1.3.0 → swiftapi_python-1.3.1}/swiftapi_python.egg-info/dependency_links.txt
RENAMED
|
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
|