xytara 3.9.2 → 3.9.3

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 +5 -4
  2. package/package.json +1 -1
package/RELEASE_NOTES.md CHANGED
@@ -1,6 +1,7 @@
1
- `xytara` 3.9.2 says, for every paid resource in x402 discovery, how an unpaid call is answered and what the advertised `payTo` means, and sends the runtime's `PAYMENT-REQUIRED` header in standard base64.
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.
2
2
 
3
- - **Payment transport per resource** — `resource_details[]` in the runtime's and the MCP executor's `/.well-known/x402` now carries `payment_transport`: `http-402` (HTTP 402 with a `PAYMENT-REQUIRED` header) or `mcp-tool-result` (x402 MCP transport: HTTP 200 with a payment-required tool result), plus a one-line `payment_transport_detail`. An indexer that probes only for HTTP 402 can tell a working MCP endpoint from an unpaid one.
4
- - **What `payTo` means** — `payment.pay_to` states that `payTo` is naxytra's settlement address for every paid call, provider-run tools included: it identifies who receives the payment, not who ran the call. Each provider's share is paid out to its own address by a weekly sweep once at least $1.00 is owed, and the signed delivery receipt names the provider that executed the call.
5
- - **`PAYMENT-REQUIRED` in standard base64** — the runtime encoded the header as base64url, which browser clients decoding with `atob()` reject. It is now standard base64, like `PAYMENT-RESPONSE` and the MCP executor; the verifier checks the encoding and that the header decodes to exactly the body's `payment_required`.
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.
6
7
  - Client package (thin): unchanged.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xytara",
3
- "version": "3.9.2",
3
+ "version": "3.9.3",
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": {