xytara 3.9.3 → 3.9.4

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 (2) hide show
  1. package/RELEASE_NOTES.md +4 -5
  2. package/package.json +1 -1
package/RELEASE_NOTES.md CHANGED
@@ -1,7 +1,6 @@
1
- `xytara` 3.9.3 keeps every delegation-log checkpoint retrievable, so a checkpoint anchored elsewhere by its digest can always be fetched and checked.
1
+ `xytara` 3.9.4 keeps the signed bytes of every anchored attestation fetchable, across restarts and deploys.
2
2
 
3
- - **Durable checkpoints** — every checkpoint the runtime issues is stored in the durable runtime state. While the log head and the external binding are unchanged, the stored checkpoint is served again instead of being re-signed, so a restart or a deploy no longer replaces it (it is re-signed only if its signing keys are no longer published).
4
- - **Checkpoints by id** — `GET /v1/delegation-log/checkpoints` lists every issued checkpoint, newest first (id, `attestation_sha256`, head, binding tag, time; digests only), and `GET /v1/delegation-log/checkpoints/:id` returns one byte-identical, verifiable with the published keys. `GET /v1/delegation-log/checkpoint` still returns the current one.
5
- - **Anchoring record** — `scripts/record_delegation_checkpoint.js` now points the anchoring party at the checkpoint's permanent by-id URL.
6
- - **Verifier** — the delegation-log verifier runs two real server processes on one state file and checks that the unchanged head is served the same checkpoint after the restart and that it stays fetchable by id; the state-guard verifier checks the new collection is declared.
3
+ - **Attestation archive** — `POST /v1/attestations/archive { attestation }` stores an attestation durably and `GET /v1/attestations/:id` returns it byte-identical. Anyone may submit one, because only naxytra's own records are accepted: the signature must verify against the runtime's published keys (for its own attestations) or the MCP executor's published keys (for the executor's), and the attestation must carry an external anchoring binding (`ctp/1`). A delegation-log checkpoint is restored into the checkpoint store only if its head is a real head of this runtime's log, and a restored older checkpoint never replaces the current one.
4
+ - **MCP executor** — every attestation it issues with an external binding is archived on the runtime as it is issued. `GET /attestations/<id>` serves from memory, and falls back to the archive when the in-memory copy is gone (re-verified against the executor's own keys; the response says `source: "archive"`). `/health` reports archive counters.
5
+ - **Verifiers** — the delegation-log verifier covers the archive (own signed and anchored records only; idempotent; tampered, forged, foreign-issuer and fake-head records refused; executor keys); the executor verifier archives a bound attestation through a real runtime, wipes its in-memory copy, and gets it back byte-identical.
7
6
  - Client package (thin): unchanged.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xytara",
3
- "version": "3.9.3",
3
+ "version": "3.9.4",
4
4
  "description": "Client for the hosted naxytra runtime: discover a capability, pay per call with x402 (gasless USDC on Base) or credits, get the deliverable and a signed delivery receipt you can verify offline. The runtime is a hosted service; this package is the client.",
5
5
  "main": "client.js",
6
6
  "exports": {