@kya-os/mcp 1.14.0 → 1.15.0
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.
- package/CHANGELOG.md +79 -0
- package/CONFORMANCE.md +17 -2
- package/README.md +42 -160
- package/SPEC.md +21 -3
- package/dist/delegation/holder-binding.d.ts.map +1 -1
- package/dist/delegation/holder-binding.js +8 -1
- package/dist/delegation/holder-binding.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/middleware/with-kya-os.config-types.d.ts +22 -1
- package/dist/middleware/with-kya-os.config-types.d.ts.map +1 -1
- package/dist/middleware/with-kya-os.d.ts.map +1 -1
- package/dist/middleware/with-kya-os.delegation-gate.d.ts.map +1 -1
- package/dist/middleware/with-kya-os.delegation-gate.js +13 -53
- package/dist/middleware/with-kya-os.delegation-gate.js.map +1 -1
- package/dist/middleware/with-kya-os.delegation-verify.d.ts +23 -10
- package/dist/middleware/with-kya-os.delegation-verify.d.ts.map +1 -1
- package/dist/middleware/with-kya-os.delegation-verify.js +68 -2
- package/dist/middleware/with-kya-os.delegation-verify.js.map +1 -1
- package/dist/middleware/with-kya-os.deps.d.ts +7 -0
- package/dist/middleware/with-kya-os.deps.d.ts.map +1 -1
- package/dist/middleware/with-kya-os.js +6 -1
- package/dist/middleware/with-kya-os.js.map +1 -1
- package/dist/middleware/with-kya-os.session.d.ts.map +1 -1
- package/dist/middleware/with-kya-os.session.js +28 -6
- package/dist/middleware/with-kya-os.session.js.map +1 -1
- package/dist/proof/generator.d.ts +38 -5
- package/dist/proof/generator.d.ts.map +1 -1
- package/dist/proof/generator.js +95 -25
- package/dist/proof/generator.js.map +1 -1
- package/dist/proof/index.d.ts +1 -1
- package/dist/proof/index.d.ts.map +1 -1
- package/dist/proof/index.js +1 -1
- package/dist/proof/index.js.map +1 -1
- package/dist/proof/verifier.d.ts +6 -1
- package/dist/proof/verifier.d.ts.map +1 -1
- package/dist/proof/verifier.js +20 -27
- package/dist/proof/verifier.js.map +1 -1
- package/dist/types/protocol.d.ts +27 -0
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +31 -0
- package/dist/types/protocol.js.map +1 -1
- package/package.json +13 -13
- package/schemas/detached-proof.json +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,85 @@ Versioning: https://semver.org/spec/v2.0.0.html
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.15.0] - 2026-08-25
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Response-proof `envelope` profile** (`org.kya-os/response-proof.envelope`).
|
|
15
|
+
The `body` profile binds `responseHash` over the response body only, leaving
|
|
16
|
+
result members such as `structuredContent`, `isError` and `resultType`
|
|
17
|
+
unauthenticated - an in-path intermediary could rewrite them under a still
|
|
18
|
+
valid proof. The envelope profile covers the ENTIRE result object with the
|
|
19
|
+
top-level `_meta` member removed, mirroring the request side's
|
|
20
|
+
`{method, params minus _meta}` rule, so every present and future result
|
|
21
|
+
member is authenticated while `_meta` stays intermediary-mutable (which is
|
|
22
|
+
what keeps attach-after-sign sound). The profile is discriminated by a `prf`
|
|
23
|
+
claim COVERED by the JWS signature, so a proof cannot be silently downgraded
|
|
24
|
+
to body semantics, and `validateDetachedProof` rejects unknown `prf` values
|
|
25
|
+
fail-closed. Verification always derives the profile from the proof's own
|
|
26
|
+
claim, never from configuration, so one verifier accepts both.
|
|
27
|
+
- **Conformance vector-set immutability.** `conformance/SUITE-MANIFEST.json`
|
|
28
|
+
pins the vector set by hash, `scripts/suite-hash.mjs` computes and checks it,
|
|
29
|
+
and CI enforces it as its own line - a published vector set can no longer be
|
|
30
|
+
edited in place without the check failing. Suite is at 1.1.0.
|
|
31
|
+
- **`DEPRECATIONS.md`** - an internal ledger of deferred breaking changes.
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
|
|
35
|
+
- **Sessionless request proofs now bind.** `generateRequestProof` defaulted
|
|
36
|
+
`meta.sessionId` to `''` when the caller omitted it, but `sessionId` is a
|
|
37
|
+
required non-empty string in the proof meta schema, so the proof failed
|
|
38
|
+
validation as `INVALID_PROOF_STRUCTURE` and `assertHolderBinding` returned
|
|
39
|
+
`unbound` for the LEGITIMATE holder - indistinguishable from the thief the
|
|
40
|
+
gate exists to catch. `sessionId` is documented as optional and a request
|
|
41
|
+
proof routinely precedes any handshake on a stateless core, so this was the
|
|
42
|
+
normal path rather than an edge case. It failed closed (nothing was wrongly
|
|
43
|
+
admitted), but phase-1 holder binding was unusable without a `sessionId` the
|
|
44
|
+
signature never said was mandatory. A per-proof id is now minted when none is
|
|
45
|
+
supplied; verification, the schema and the conformance vectors are unchanged.
|
|
46
|
+
- The `prf` claim is derived only from the profile option, and the proof schema
|
|
47
|
+
id is bumped accordingly.
|
|
48
|
+
- A challenge proof that the degraded-audit `isError` flip would have broken is
|
|
49
|
+
now stripped rather than emitted.
|
|
50
|
+
- `suite-hash` hashes the committed blob bytes rather than the working tree, so
|
|
51
|
+
a dirty checkout cannot produce a passing hash.
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
|
|
55
|
+
- **Response-proof profiles are named by mechanism, not sequence**:
|
|
56
|
+
`org.kya-os/response-proof.v2` -> `.envelope`, `.v1` -> `.body`, and
|
|
57
|
+
`RESPONSE_PROOF_PROFILE_V2`/`_V1` -> `_ENVELOPE`/`_BODY`. The sequence
|
|
58
|
+
framing was wrong on its own terms - original proofs carry no profile
|
|
59
|
+
identifier at all, so the first wire identifier would have debuted as `.v2`
|
|
60
|
+
naming a v1 that never existed. **No published API changes**: these
|
|
61
|
+
identifiers and constants are new in this release and never shipped in
|
|
62
|
+
1.14.2, so nothing downstream can be pinned to the old names. The
|
|
63
|
+
request-proof profile keeps its shipped `org.kya-os/proof.v1` name.
|
|
64
|
+
- Conformance vectors use semantic names and a more robust signature-tamper
|
|
65
|
+
case.
|
|
66
|
+
- Dependency bumps across the minor-and-patch group.
|
|
67
|
+
- README restructures `did:cheqd` into a hierarchical Integrations section.
|
|
68
|
+
|
|
69
|
+
## [1.14.2] - 2026-08-19
|
|
70
|
+
|
|
71
|
+
### Fixed
|
|
72
|
+
|
|
73
|
+
- VC-JWT (string) delegations are now verified by their envelope signature in
|
|
74
|
+
the delegation gate before authorization, matching the embedded-proof (object)
|
|
75
|
+
path. Existing object and signed `did:key` VC-JWT flows are unaffected.
|
|
76
|
+
|
|
77
|
+
## [1.14.1] - 2026-08-15
|
|
78
|
+
|
|
79
|
+
### Fixed
|
|
80
|
+
|
|
81
|
+
- **Fresh installs no longer break on `json-canonicalize`.** The dependency is
|
|
82
|
+
now pinned to `2.0.0` exactly. The upstream `2.0.1` publish ships raw
|
|
83
|
+
TypeScript sources with no compiled JavaScript (its `main` points at a
|
|
84
|
+
nonexistent path), so any install resolving `^2.0.0` without a lockfile -
|
|
85
|
+
every new adopter - got a package that cannot be imported. Pinning restores
|
|
86
|
+
installability for `@kya-os/mcp` and everything downstream of it. The pin
|
|
87
|
+
can be relaxed once upstream publishes a corrected release.
|
|
88
|
+
|
|
10
89
|
## [1.14.0] - 2026-08-13
|
|
11
90
|
|
|
12
91
|
### Added
|
package/CONFORMANCE.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Compliance levels for KYA-OS implementations**
|
|
4
4
|
|
|
5
|
-
Version: 1.
|
|
5
|
+
Version: 1.1.0
|
|
6
6
|
Status: Stable
|
|
7
7
|
|
|
8
8
|
---
|
|
@@ -411,7 +411,7 @@ so it is reproducible against any implementation without re-signing.
|
|
|
411
411
|
|
|
412
412
|
| File | Category | Positive | Negative |
|
|
413
413
|
|------|----------|----------|----------|
|
|
414
|
-
| `vectors/signed-proof.json` | Detached proof verification | valid signature + in-window ts | tampered signature, tampered meta, wrong key, timestamp skew exceeded |
|
|
414
|
+
| `vectors/signed-proof.json` | Detached proof verification | valid signature + in-window ts; envelope content binding (profile `org.kya-os/response-proof.envelope`) | tampered signature, tampered meta, wrong key, timestamp skew exceeded; tampered `structuredContent` under envelope coverage, `prf` stripped (downgrade), unknown profile |
|
|
415
415
|
| `vectors/delegation-chain.json` | Delegation chain verification | single-hop, two-hop attenuated | broken issuer↔subject linkage, scope widening, tampered signature, audience mismatch |
|
|
416
416
|
| `vectors/status-list.json` | StatusList2021 revocation | active (bit unset) | revoked (bit set) |
|
|
417
417
|
| `vectors/did-key-resolution.json` | did:key resolution | valid Ed25519 | malformed multibase, wrong method |
|
|
@@ -430,6 +430,11 @@ protocol, and `negotiation` exercises the MCP extension admission gate
|
|
|
430
430
|
A `fail` vector passes the suite only when the implementation correctly **rejects**
|
|
431
431
|
it. The runner exits non-zero on any mismatch.
|
|
432
432
|
|
|
433
|
+
**On the envelope-profile vectors (`signed-proof/envelope-*`, `prf-stripped-downgrade`, `unknown-profile`; suite ≥ 1.1.0).**
|
|
434
|
+
These exercise the `org.kya-os/response-proof.envelope` profile (SPEC.md §7.3): `responseHash` covers the full result envelope with the top-level `_meta` member removed, discriminated by a signature-covered `prf` claim.
|
|
435
|
+
Their inputs carry an OPTIONAL `expected` member (`{ request, response }`) — the content the verifier "received" — which a conformant verifier re-hashes under the proof's own `prf` profile and reconciles against the bound hashes.
|
|
436
|
+
Vectors without `expected` remain pure signature/skew checks.
|
|
437
|
+
|
|
433
438
|
**On `signed-proof/tampered-meta`.**
|
|
434
439
|
The proof's `meta` block mirrors the claims signed inside the JWS, but it is a convenience for consumers that read the proof without decoding the token, not an authoritative copy.
|
|
435
440
|
This vector leaves the JWS byte-identical to `valid-basic` and alters only the mirrored `meta.requestHash`, so the JWS signature still verifies.
|
|
@@ -457,6 +462,16 @@ pnpm run conformance:generate
|
|
|
457
462
|
|
|
458
463
|
Re-running mints fresh keys but preserves every positive/negative relationship by
|
|
459
464
|
construction.
|
|
465
|
+
Because fresh keys change the committed bytes, regenerated output MUST NOT be committed over an existing `suiteVersion` (see [Suite versioning and immutability](#suite-versioning-and-immutability)).
|
|
466
|
+
|
|
467
|
+
### Suite versioning and immutability
|
|
468
|
+
|
|
469
|
+
The committed vector set is immutable at a given `suiteVersion`: the vector bytes may only change together with a `suiteVersion` bump.
|
|
470
|
+
`conformance/SUITE-MANIFEST.json` pins the current set (`suiteVersion`, `vectorSetHash`, `vectorCount`, per-file hashes) and is the anchor CI verifies against.
|
|
471
|
+
The hash recipe: SHA-256 each vector file's raw committed bytes, sort the `[filename, hex]` pairs by filename, canonicalize the array with RFC 8785 (JCS), SHA-256 that, prefix with `sha256:`.
|
|
472
|
+
CI enforces the invariant twice: a vitest guard (`conformance/__tests__/suite-immutability.test.ts`) and a dedicated step running `node conformance/suite-hash.mjs --check`.
|
|
473
|
+
To change vectors intentionally, bump `suiteVersion` (including the in-file `version` fields), regenerate the manifest with `node conformance/suite-hash.mjs --json`, and keep `pinnedAt` current.
|
|
474
|
+
The SIGNED public suite manifest published by the Conformance Attestation Program is a separate artifact built on this committed one.
|
|
460
475
|
|
|
461
476
|
### Running the harness against YOUR implementation
|
|
462
477
|
|
package/README.md
CHANGED
|
@@ -188,6 +188,18 @@ Miss the proof, replay a nonce, or tamper the body and `requireProof` fails clos
|
|
|
188
188
|
|
|
189
189
|
## See it in action
|
|
190
190
|
|
|
191
|
+
### REVOKED: an on-chain kill switch for AI agents with wallet access
|
|
192
|
+
|
|
193
|
+
[](https://www.loom.com/share/f32b82a292f14a6c952dba3a0a246e45)
|
|
194
|
+
|
|
195
|
+
A live agent (Claude Desktop) pays invoices from a testnet wallet under a signed, scoped, revocable credential. When it goes rogue, a FIDO2 hardware touch revokes that credential on a public chain: the StatusList2021 bit flips in a cheqd DID-Linked Resource, and the agent's next transaction is refused in about half a second. Funds never move.
|
|
196
|
+
|
|
197
|
+
Built in a weekend on this package (2nd place, DEF CON 34 Cryptocurrency Village), and everything the demo had to invent now ships here: the on-chain resolver, the always-fresh revocation checks, the DLR artifact type ([#165](https://github.com/decentralized-identity/kya-os-mcp/pull/165) through [#169](https://github.com/decentralized-identity/kya-os-mcp/pull/169)).
|
|
198
|
+
|
|
199
|
+
Start with the 60-second path: verify a genuinely revoked credential against the live testnet, zero configuration. **[examples/revoked](./examples/revoked/)**
|
|
200
|
+
|
|
201
|
+
### Run the example servers
|
|
202
|
+
|
|
191
203
|
```bash
|
|
192
204
|
git clone https://github.com/decentralized-identity/kya-os-mcp.git
|
|
193
205
|
cd kya-os-mcp && npm install
|
|
@@ -253,182 +265,52 @@ flows, and sessions are shared across instances and survive restarts.
|
|
|
253
265
|
|
|
254
266
|
---
|
|
255
267
|
|
|
256
|
-
##
|
|
268
|
+
## Integrations
|
|
269
|
+
|
|
270
|
+
KYA-OS reaches the outside world two ways: shipped **modules** for specific
|
|
271
|
+
systems and standards, and typed **adapter seams** with in-memory defaults you
|
|
272
|
+
swap out. Adding one is "drop a folder under `src/integrations/`" or "implement
|
|
273
|
+
this interface" — contributions welcome.
|
|
274
|
+
|
|
275
|
+
### Modules
|
|
257
276
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
277
|
+
| Module | Adds | Docs |
|
|
278
|
+
| --- | --- | --- |
|
|
279
|
+
| **cheqd** (on-chain) | `did:cheqd` resolution, StatusList2021 revocation, DID-Linked Resources + registrar | [src/integrations/cheqd](./src/integrations/cheqd/README.md) |
|
|
280
|
+
| **OAuth / OIDC** | PKCE + protected-resource metadata; generic-OIDC reference adapter | [`@kya-os/mcp/authz`](./src/authz/) · [example](./examples/authz-inspector/) |
|
|
281
|
+
| **Verifiable audit** | RFC 9162 ledger; local or Checkpoint recorders, on-chain anchoring | [AUDITABILITY.md](./AUDITABILITY.md) |
|
|
261
282
|
|
|
262
|
-
|
|
283
|
+
Enabling a module is a small config change. cheqd, for example, is a resolver
|
|
284
|
+
you register under `didResolvers`:
|
|
263
285
|
|
|
264
286
|
```typescript
|
|
265
|
-
import { RuntimeFetchProvider, withKyaOs, NodeCryptoProvider } from '@kya-os/mcp';
|
|
266
287
|
import { cheqdResolver } from '@kya-os/mcp/cheqd';
|
|
267
288
|
|
|
268
|
-
const crypto = new NodeCryptoProvider();
|
|
269
|
-
const fetchProvider = new RuntimeFetchProvider();
|
|
270
|
-
const didResolvers = {
|
|
271
|
-
cheqd: cheqdResolver({ resolverUrl: 'https://resolver.cheqd.net' }),
|
|
272
|
-
};
|
|
273
|
-
|
|
274
289
|
await withKyaOs(server, {
|
|
275
290
|
crypto,
|
|
276
291
|
delegation: {
|
|
277
|
-
|
|
278
|
-
didResolvers,
|
|
279
|
-
},
|
|
280
|
-
});
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
`did:cheqd` is resolved only when a resolver for the `cheqd` DID method is
|
|
284
|
-
explicitly supplied. The core middleware and fetch provider use the generic
|
|
285
|
-
`didResolvers` registry; cheqd-specific URL/cache/header options live in the
|
|
286
|
-
`cheqdResolver()` factory from `@kya-os/mcp/cheqd`.
|
|
287
|
-
`RuntimeFetchProvider` accepts the same registry when it is used directly by a
|
|
288
|
-
standalone verifier or operator script.
|
|
289
|
-
Unsupported methods, malformed DIDs, fetch failures, invalid JSON, malformed DID
|
|
290
|
-
Documents, and DID id mismatches fail closed by returning `null`. The resolver
|
|
291
|
-
accepts both raw DID Documents and Universal Resolver-style DID Resolution
|
|
292
|
-
Results (`{ didDocument: ... }`).
|
|
293
|
-
|
|
294
|
-
### Registrar writes
|
|
295
|
-
|
|
296
|
-
Registrar writes are explicit operator/admin actions. The package exposes
|
|
297
|
-
`CheqdDidRegistrarClient` for cheqd DID Registrar `/create`, `/update`, and
|
|
298
|
-
`/{did}/create-resource` flows, using cheqd's client-managed-secret pattern:
|
|
299
|
-
the registrar returns a serialized payload, your signer signs it, and the
|
|
300
|
-
signature is submitted back. Private keys are not sent to the registrar.
|
|
301
|
-
|
|
302
|
-
```typescript
|
|
303
|
-
import {
|
|
304
|
-
CheqdDidRegistrarClient,
|
|
305
|
-
createLocalEd25519CheqdRegistrarSigner,
|
|
306
|
-
} from '@kya-os/mcp/cheqd';
|
|
307
|
-
import {
|
|
308
|
-
NodeCryptoProvider,
|
|
309
|
-
} from '@kya-os/mcp';
|
|
310
|
-
|
|
311
|
-
const crypto = new NodeCryptoProvider();
|
|
312
|
-
const registrar = new CheqdDidRegistrarClient({
|
|
313
|
-
registrarUrl: 'https://did-registrar-staging.cheqd.net/1.0',
|
|
314
|
-
fetchProvider,
|
|
315
|
-
// Optional static or async auth headers for private registrar deployments.
|
|
316
|
-
// headers: async () => ({ Authorization: `Bearer ${token}` }),
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
const signer = createLocalEd25519CheqdRegistrarSigner({
|
|
320
|
-
cryptoProvider: crypto,
|
|
321
|
-
privateKey: process.env.CHEQD_DID_PRIVATE_KEY_BASE64!,
|
|
322
|
-
verificationMethodId: 'did:cheqd:testnet:...#key-1',
|
|
323
|
-
signatureEncoding: 'base64url',
|
|
324
|
-
});
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
For mainnet, run or contract against your own fee-payer registrar deployment and
|
|
328
|
-
provide the signer hook from your KMS/HSM boundary. The local Ed25519 helper is
|
|
329
|
-
for simple controlled deployments and tests; it still signs locally and sends
|
|
330
|
-
only signatures to the registrar.
|
|
331
|
-
|
|
332
|
-
Runtime proof generation does not perform registrar writes. Create/update/DLR
|
|
333
|
-
publishing should be triggered by an explicit operator workflow, deployment
|
|
334
|
-
step, or admin tool.
|
|
335
|
-
|
|
336
|
-
### DID linkage
|
|
337
|
-
|
|
338
|
-
For `did:web` <-> `did:cheqd` binding, publish reciprocal `alsoKnownAs` values
|
|
339
|
-
and verify both DID Documents with `verifyDidLinkage()`. `buildDidWebDocument`
|
|
340
|
-
can include the `did:cheqd` reference on the `did:web` side, while
|
|
341
|
-
`updateCheqdAlsoKnownAs()` updates the cheqd side through the registrar.
|
|
342
|
-
|
|
343
|
-
```typescript
|
|
344
|
-
import { verifyDidLinkage } from '@kya-os/mcp';
|
|
345
|
-
import { updateCheqdAlsoKnownAs } from '@kya-os/mcp/cheqd';
|
|
346
|
-
|
|
347
|
-
await updateCheqdAlsoKnownAs({
|
|
348
|
-
didWeb: 'did:web:agent.example.com',
|
|
349
|
-
didCheqd: 'did:cheqd:testnet:...',
|
|
350
|
-
resolver: cheqdResolver,
|
|
351
|
-
registrar,
|
|
352
|
-
signer,
|
|
353
|
-
verificationMethodId: 'did:cheqd:testnet:...#key-1',
|
|
354
|
-
});
|
|
355
|
-
|
|
356
|
-
const linkage = verifyDidLinkage({
|
|
357
|
-
primaryDid: 'did:web:agent.example.com',
|
|
358
|
-
secondaryDid: 'did:cheqd:testnet:...',
|
|
359
|
-
primaryDidDocument: didWebDocument,
|
|
360
|
-
secondaryDidDocument: didCheqdDocument,
|
|
361
|
-
});
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
### DID-Linked Resource helpers
|
|
365
|
-
|
|
366
|
-
DID-Linked Resource helpers are intended for durable manifests only. Supported
|
|
367
|
-
artifact types are:
|
|
368
|
-
|
|
369
|
-
- `CapabilityManifest`
|
|
370
|
-
- `ConformanceManifest`
|
|
371
|
-
- `AccessHashManifest`
|
|
372
|
-
- `TrustConfigManifest`
|
|
373
|
-
|
|
374
|
-
`prepareCheqdDlrResource()` validates the artifact, canonicalizes its `content`
|
|
375
|
-
with JSON Canonicalization Scheme, computes or validates a `sha256:<64 hex>`
|
|
376
|
-
content hash, and returns a registrar resource body. Updates are modeled as new
|
|
377
|
-
resource versions under the same resource `name` and `type`; prior resources are
|
|
378
|
-
not overwritten. Do not write high-volume tool calls, raw operational logs, or
|
|
379
|
-
normal runtime proof events to cheqd; keep those in your normal audit/hash
|
|
380
|
-
stores.
|
|
381
|
-
|
|
382
|
-
```typescript
|
|
383
|
-
import { prepareCheqdDlrResource } from '@kya-os/mcp/cheqd';
|
|
384
|
-
|
|
385
|
-
const prepared = await prepareCheqdDlrResource({
|
|
386
|
-
type: 'TrustConfigManifest',
|
|
387
|
-
subjectDid: 'did:cheqd:testnet:...',
|
|
388
|
-
name: 'agent-trust-config',
|
|
389
|
-
resourceType: 'TrustConfigManifest',
|
|
390
|
-
version: '2026-06-01',
|
|
391
|
-
content: {
|
|
392
|
-
acceptedDidMethods: ['did:web', 'did:key', 'did:cheqd'],
|
|
393
|
-
requiredLinkage: { type: 'alsoKnownAs', bidirectional: true },
|
|
292
|
+
didResolvers: { cheqd: cheqdResolver({ resolverUrl: 'https://resolver.cheqd.net' }) },
|
|
394
293
|
},
|
|
395
|
-
}, crypto);
|
|
396
|
-
|
|
397
|
-
await registrar.createResource({
|
|
398
|
-
did: 'did:cheqd:testnet:...',
|
|
399
|
-
resource: prepared.resource,
|
|
400
|
-
signer,
|
|
401
|
-
verificationMethodId: 'did:cheqd:testnet:...#key-1',
|
|
402
294
|
});
|
|
403
295
|
```
|
|
404
296
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
Live registrar coverage is opt-in because it performs real writes to cheqd
|
|
410
|
-
testnet. The default endpoint is the cheqd-published testnet staging registrar;
|
|
411
|
-
override it only with another testnet registrar. The live test creates a testnet
|
|
412
|
-
DID, adds a realistic `did:web` alias via `alsoKnownAs`, then publishes one
|
|
413
|
-
resource for each supported KYA DLR artifact type.
|
|
414
|
-
|
|
415
|
-
```powershell
|
|
416
|
-
$env:KYA_OS_CHEQD_E2E = '1'
|
|
417
|
-
npm run test:e2e:cheqd:testnet
|
|
418
|
-
Remove-Item Env:\KYA_OS_CHEQD_E2E
|
|
419
|
-
```
|
|
297
|
+
Its full reference (registrar writes, `did:web` <-> `did:cheqd` linkage,
|
|
298
|
+
DID-Linked Resource helpers, live testnet E2E) lives in
|
|
299
|
+
[src/integrations/cheqd/README.md](./src/integrations/cheqd/README.md); see
|
|
300
|
+
[examples/cheqd-dlr](./examples/cheqd-dlr/) for a complete operator flow.
|
|
420
301
|
|
|
421
|
-
|
|
302
|
+
### Adapter seams (bring your own)
|
|
422
303
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
| `KYA_OS_CHEQD_TESTNET_REGISTRAR_URL` | `https://did-registrar-staging.cheqd.net/1.0` |
|
|
426
|
-
| `KYA_OS_CHEQD_TESTNET_RESOLVER_URL` | `https://resolver.cheqd.net` |
|
|
427
|
-
| `KYA_OS_CHEQD_E2E_TIMEOUT_MS` | `180000` |
|
|
304
|
+
Every external dependency is a typed interface with an in-memory default, so you
|
|
305
|
+
can swap in your own backend without touching the middleware.
|
|
428
306
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
307
|
+
| Seam | Default | Swap in |
|
|
308
|
+
| --- | --- | --- |
|
|
309
|
+
| DID resolution — `DIDResolver` | `did:key`, `did:web` | `did:cheqd`, custom |
|
|
310
|
+
| Revocation — `StatusListResolver` | none | cheqd StatusList2021 |
|
|
311
|
+
| State — `GrantStore`, `SessionStore`, `NonceCacheProvider`, `PendingFlowStore` | in-memory | Redis, DynamoDB, KV, Durable Objects, DB ([multi-instance](#multi-instance-deployments)) |
|
|
312
|
+
| Crypto — `CryptoProvider` | Node, WebCrypto | your KMS / HSM |
|
|
313
|
+
| Policy — `PolicyEngine` | default | custom |
|
|
432
314
|
|
|
433
315
|
## Links
|
|
434
316
|
|
package/SPEC.md
CHANGED
|
@@ -878,6 +878,11 @@ interface ProofMeta {
|
|
|
878
878
|
outcome?: 'allowed' | 'denied' | 'step_up_required' | 'needs_authorization';
|
|
879
879
|
// Authorization outcome; ABSENT ⇒ implicitly 'allowed' (success)
|
|
880
880
|
reason?: string; // Human-readable reason on a non-'allowed' outcome
|
|
881
|
+
prf?: 'org.kya-os/response-proof.envelope';
|
|
882
|
+
// Response-proof profile discriminator, COVERED by the
|
|
883
|
+
// JWS signature. ABSENT ⇒ the body profile (body-only
|
|
884
|
+
// responseHash, the original wire shape). Verifiers
|
|
885
|
+
// MUST reject any other value (fail-closed; §7.3).
|
|
881
886
|
}
|
|
882
887
|
```
|
|
883
888
|
|
|
@@ -895,7 +900,16 @@ Request canonicalization includes:
|
|
|
895
900
|
}
|
|
896
901
|
```
|
|
897
902
|
|
|
898
|
-
Response canonicalization is the
|
|
903
|
+
Response canonicalization is selected by the proof's response-proof profile, named by the signature-covered `prf` claim (§7.2):
|
|
904
|
+
|
|
905
|
+
- **body** (`prf` ABSENT — the original profile): the `data` field only (excludes `_meta`).
|
|
906
|
+
Under MCP carriage, `data` is the result's `content` array; result members outside it are NOT covered.
|
|
907
|
+
- **envelope** (`prf: "org.kya-os/response-proof.envelope"`): the ENTIRE result object with the top-level `_meta` member removed, mirroring the request side's `{method, params minus _meta}` rule.
|
|
908
|
+
This authenticates result members such as `structuredContent`, `isError`, and `resultType` that the body profile leaves uncovered, while `_meta` stays intermediary-mutable — which is what lets the proof itself be attached there after signing.
|
|
909
|
+
|
|
910
|
+
A verifier derives the profile from the received proof's own `prf` claim, never from configuration, and MUST reject an unrecognized `prf` outright.
|
|
911
|
+
Because `prf` is covered by the signature, stripping it from an envelope-profile proof breaks verification — a downgrade to body-only semantics is a hard failure, not a silent fallback.
|
|
912
|
+
Producers default to the body profile (wire compatibility with existing verifiers); the envelope profile is an explicit opt-in (`responseProofProfile` in the middleware configuration).
|
|
899
913
|
|
|
900
914
|
### 7.4 JWS Compact Serialization
|
|
901
915
|
|
|
@@ -927,6 +941,9 @@ BASE64URL(header) . BASE64URL(payload) . BASE64URL(signature)
|
|
|
927
941
|
}
|
|
928
942
|
```
|
|
929
943
|
|
|
944
|
+
An envelope-profile proof (§7.3) additionally carries its `prf` claim in this payload — profile selection is signed, never advisory.
|
|
945
|
+
Every optional `ProofMeta` member present on the proof (`scopeId`, `delegationRef`, `clientDid`, `outcome`, `reason`, `prf`) appears in the payload; the mirrored `meta` block and the decoded payload MUST reconcile exactly.
|
|
946
|
+
|
|
930
947
|
**Denial** and **step-up** proofs have no response body, so `responseHash` is
|
|
931
948
|
omitted and `outcome` (plus an optional `reason`) is included instead. Keys
|
|
932
949
|
remain RFC 8785-sorted:
|
|
@@ -1040,8 +1057,9 @@ verifier treats `_meta` keys that are *not* KYA-OS's proof key:
|
|
|
1040
1057
|
`_meta` keys to the application layer rather than discarding them.
|
|
1041
1058
|
|
|
1042
1059
|
Under no policy does a verifier include any non-proof `_meta` key in a hash or
|
|
1043
|
-
signature computation. The signature covers the
|
|
1044
|
-
|
|
1060
|
+
signature computation. The signature covers the profile-selected response
|
|
1061
|
+
material only — the `data` body under the body profile, the result envelope minus
|
|
1062
|
+
its top-level `_meta` under the envelope profile — and never covers `_meta` itself (§7.3).
|
|
1045
1063
|
|
|
1046
1064
|
> **Note.** The proof object's shape is normatively defined by
|
|
1047
1065
|
> `schemas/detached-proof.json` (`$schema: draft/2020-12`). The *placement* key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holder-binding.d.ts","sourceRoot":"","sources":["../../src/delegation/holder-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAU3D;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,WAAW,CAMb;AAED,MAAM,WAAW,yBAAyB;IACxC,uEAAuE;IACvE,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,sEAAsE;IACtE,MAAM,EAAE,cAAc,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"holder-binding.d.ts","sourceRoot":"","sources":["../../src/delegation/holder-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAU3D;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,WAAW,CAMb;AAED,MAAM,WAAW,yBAAyB;IACxC,uEAAuE;IACvE,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,sEAAsE;IACtE,MAAM,EAAE,cAAc,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,aAAa,CAAC,CAuBxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,KAAK,EAAE,aAAa,CAAC;IACrB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,uFAAuF;IACvF,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACxC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CA4E9B"}
|
|
@@ -69,8 +69,15 @@ export async function generateRequestProof(input) {
|
|
|
69
69
|
const request = toHolderBindingRequest(toolName, args);
|
|
70
70
|
const nonce = base64urlEncodeFromBytes(await crypto.randomBytes(16));
|
|
71
71
|
const now = Math.floor(Date.now() / 1000);
|
|
72
|
+
// `sessionId` is optional on the way in (a request proof can precede any
|
|
73
|
+
// handshake), but `meta.sessionId` is a REQUIRED non-empty string in the
|
|
74
|
+
// proof schema. Defaulting to '' therefore minted a proof that could never
|
|
75
|
+
// verify: `assertHolderBinding` rejected the LEGITIMATE holder as
|
|
76
|
+
// INVALID_PROOF_STRUCTURE, indistinguishably from a thief. Mint a per-proof
|
|
77
|
+
// id instead, so the sessionless case (the stateless MCP core) works.
|
|
78
|
+
const boundSessionId = sessionId ?? `req-${base64urlEncodeFromBytes(await crypto.randomBytes(9))}`;
|
|
72
79
|
return generator.generateProof(request, undefined, {
|
|
73
|
-
sessionId:
|
|
80
|
+
sessionId: boundSessionId,
|
|
74
81
|
audience,
|
|
75
82
|
nonce,
|
|
76
83
|
timestamp: now,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holder-binding.js","sourceRoot":"","sources":["../../src/delegation/holder-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAO9D;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,IAA6B;IAE7B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAiBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAgC;IAEhC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE;QACjD,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"holder-binding.js","sourceRoot":"","sources":["../../src/delegation/holder-binding.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export { KYA_OS_ERROR_CODES, createKyaOsError, type KyaOsErrorCode, type KyaOsErrorResponse, } from './errors.js';
|
|
18
18
|
export { base64urlEncodeFromBytes, base64urlDecodeToBytes, bytesToBase64, base64ToBytes, } from './utils/base64.js';
|
|
19
|
-
export type { DelegationConstraints, DelegationRecord, DelegationCredential, DelegationStatus, CredentialStatus, StatusList2021Credential, Proof, HandshakeRequest, SessionContext, NonceCache, MCPClientInfo, MCPClientSessionInfo, SessionIdentityState, DetachedProof, ProofMeta, CanonicalHashes, AuditRecord, AuditContext, AuditEventContext, NeedsAuthorizationError, NeedsApprovalError, AuthorizationDisplay, CrispBudget, CrispScope, } from './types/protocol.js';
|
|
20
|
-
export { wrapDelegationAsVC, extractDelegationFromVC, isDelegationCredentialExpired, isDelegationCredentialNotYetValid, validateDelegationCredential, validateDetachedProof, createNeedsAuthorizationError, isNeedsAuthorizationError, createNeedsApprovalError, isNeedsApprovalError, DELEGATION_CREDENTIAL_CONTEXT, DEFAULT_SESSION_TTL_MINUTES, DEFAULT_TIMESTAMP_SKEW_SECONDS, NONCE_LENGTH_BYTES, AUTH_NONCE_TTL_MS, ANON_NONCE_TTL_MS, type MetaPolicy, } from './types/protocol.js';
|
|
19
|
+
export type { DelegationConstraints, DelegationRecord, DelegationCredential, DelegationStatus, CredentialStatus, StatusList2021Credential, Proof, HandshakeRequest, SessionContext, NonceCache, MCPClientInfo, MCPClientSessionInfo, SessionIdentityState, DetachedProof, ProofMeta, ResponseProofProfile, CanonicalHashes, AuditRecord, AuditContext, AuditEventContext, NeedsAuthorizationError, NeedsApprovalError, AuthorizationDisplay, CrispBudget, CrispScope, } from './types/protocol.js';
|
|
20
|
+
export { wrapDelegationAsVC, extractDelegationFromVC, isDelegationCredentialExpired, isDelegationCredentialNotYetValid, validateDelegationCredential, validateDetachedProof, createNeedsAuthorizationError, isNeedsAuthorizationError, createNeedsApprovalError, isNeedsApprovalError, DELEGATION_CREDENTIAL_CONTEXT, DEFAULT_SESSION_TTL_MINUTES, DEFAULT_TIMESTAMP_SKEW_SECONDS, NONCE_LENGTH_BYTES, AUTH_NONCE_TTL_MS, ANON_NONCE_TTL_MS, RESPONSE_PROOF_PROFILE_BODY, RESPONSE_PROOF_PROFILE_ENVELOPE, type MetaPolicy, } from './types/protocol.js';
|
|
21
21
|
export { DelegationCredentialIssuer, createDelegationIssuer, type IssueDelegationOptions, type VCSigningFunction, type IdentityProvider as DelegationIdentityProvider, } from './delegation/vc-issuer.js';
|
|
22
22
|
export { DelegationCredentialVerifier, createDelegationVerifier, type DelegationVCVerificationResult, type StatusOutcome, type VerifyDelegationVCOptions, type DIDResolver, type DIDDocument, type VerificationMethod, type StatusListResolver, type SignatureVerificationFunction, } from './delegation/vc-verifier.js';
|
|
23
23
|
export { DelegationGraphManager, createDelegationGraph, type DelegationNode, type DelegationGraphStorageProvider, } from './delegation/delegation-graph.js';
|
|
@@ -38,7 +38,7 @@ export { buildDidResolverRegistry, type DIDResolverFactory, type DIDResolverRegi
|
|
|
38
38
|
export { base58Encode, base58Decode, isValidBase58, } from './utils/base58.js';
|
|
39
39
|
export { isValidDid, getDidMethod, normalizeDid, compareDids, getServerDid, extractAgentId, extractAgentSlug, generateDidKeyFromBytes, generateDidKeyFromBase64, didKeyFragment, } from './utils/did-helpers.js';
|
|
40
40
|
export { verifyOrHints, hasSensitiveScopes, MemoryResumeTokenStore, type AuthHandshakeConfig, type VerifyOrHintsResult, type AgentReputation, type ResumeTokenStore, type UnknownAgentPolicy, type DelegationVerifier, type VerifyDelegationResult, } from './auth/index.js';
|
|
41
|
-
export { ProofGenerator, createProofResponse, extractCanonicalData, KYA_OS_PROOF_META_KEY, LEGACY_NAMESPACED_PROOF_META_KEY, LEGACY_PROOF_META_KEY, type ProofAgentIdentity, type ToolRequest, type ToolResponse, type ProofOptions, } from './proof/index.js';
|
|
41
|
+
export { ProofGenerator, createProofResponse, extractCanonicalData, computeCanonicalHashes, buildProofJwsPayload, KYA_OS_PROOF_META_KEY, LEGACY_NAMESPACED_PROOF_META_KEY, LEGACY_PROOF_META_KEY, type ProofAgentIdentity, type ToolRequest, type ToolResponse, type ProofOptions, } from './proof/index.js';
|
|
42
42
|
export { ProofVerifier, validateMetaStructure, extractProofFromMeta, isReservedMcpMetaKey, DEFAULT_CLOCK_SKEW_SECONDS, MIN_CLOCK_SKEW_SECONDS, MAX_CLOCK_SKEW_SECONDS, type ProofVerifierConfig, type ProofVerificationResult, } from './proof/verifier.js';
|
|
43
43
|
export { ProofVerificationError, PROOF_VERIFICATION_ERROR_CODES, createProofVerificationError, type ProofVerificationErrorCode, } from './proof/errors.js';
|
|
44
44
|
export { SessionManager, createHandshakeRequest, validateHandshakeFormat, SessionStore, MemorySessionStore, type SessionConfig, type HandshakeResult, type MemorySessionStoreOptions, } from './session/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
export { KYA_OS_ERROR_CODES, createKyaOsError, } from './errors.js';
|
|
19
19
|
// Encoding utilities (RFC 4648 base64url + standard base64, byte variants)
|
|
20
20
|
export { base64urlEncodeFromBytes, base64urlDecodeToBytes, bytesToBase64, base64ToBytes, } from './utils/base64.js';
|
|
21
|
-
export { wrapDelegationAsVC, extractDelegationFromVC, isDelegationCredentialExpired, isDelegationCredentialNotYetValid, validateDelegationCredential, validateDetachedProof, createNeedsAuthorizationError, isNeedsAuthorizationError, createNeedsApprovalError, isNeedsApprovalError, DELEGATION_CREDENTIAL_CONTEXT, DEFAULT_SESSION_TTL_MINUTES, DEFAULT_TIMESTAMP_SKEW_SECONDS, NONCE_LENGTH_BYTES, AUTH_NONCE_TTL_MS, ANON_NONCE_TTL_MS, } from './types/protocol.js';
|
|
21
|
+
export { wrapDelegationAsVC, extractDelegationFromVC, isDelegationCredentialExpired, isDelegationCredentialNotYetValid, validateDelegationCredential, validateDetachedProof, createNeedsAuthorizationError, isNeedsAuthorizationError, createNeedsApprovalError, isNeedsApprovalError, DELEGATION_CREDENTIAL_CONTEXT, DEFAULT_SESSION_TTL_MINUTES, DEFAULT_TIMESTAMP_SKEW_SECONDS, NONCE_LENGTH_BYTES, AUTH_NONCE_TTL_MS, ANON_NONCE_TTL_MS, RESPONSE_PROOF_PROFILE_BODY, RESPONSE_PROOF_PROFILE_ENVELOPE, } from './types/protocol.js';
|
|
22
22
|
// Delegation module
|
|
23
23
|
export { DelegationCredentialIssuer, createDelegationIssuer, } from './delegation/vc-issuer.js';
|
|
24
24
|
export { DelegationCredentialVerifier, createDelegationVerifier, } from './delegation/vc-verifier.js';
|
|
@@ -43,7 +43,7 @@ export { isValidDid, getDidMethod, normalizeDid, compareDids, getServerDid, extr
|
|
|
43
43
|
// Auth module
|
|
44
44
|
export { verifyOrHints, hasSensitiveScopes, MemoryResumeTokenStore, } from './auth/index.js';
|
|
45
45
|
// Proof module
|
|
46
|
-
export { ProofGenerator, createProofResponse, extractCanonicalData, KYA_OS_PROOF_META_KEY, LEGACY_NAMESPACED_PROOF_META_KEY, LEGACY_PROOF_META_KEY, } from './proof/index.js';
|
|
46
|
+
export { ProofGenerator, createProofResponse, extractCanonicalData, computeCanonicalHashes, buildProofJwsPayload, KYA_OS_PROOF_META_KEY, LEGACY_NAMESPACED_PROOF_META_KEY, LEGACY_PROOF_META_KEY, } from './proof/index.js';
|
|
47
47
|
export { ProofVerifier, validateMetaStructure, extractProofFromMeta, isReservedMcpMetaKey, DEFAULT_CLOCK_SKEW_SECONDS, MIN_CLOCK_SKEW_SECONDS, MAX_CLOCK_SKEW_SECONDS, } from './proof/verifier.js';
|
|
48
48
|
export { ProofVerificationError, PROOF_VERIFICATION_ERROR_CODES, createProofVerificationError, } from './proof/errors.js';
|
|
49
49
|
// Session module
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GAGjB,MAAM,aAAa,CAAC;AAErB,2EAA2E;AAC3E,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ import type { SessionConfig } from "../session/manager.js";
|
|
|
22
22
|
import type { DIDResolver, StatusListResolver } from "../delegation/vc-verifier.js";
|
|
23
23
|
import type { DIDResolverRegistry } from "../delegation/did-resolver-registry.js";
|
|
24
24
|
import type { RevocationChecker } from "../delegation/chain-enforcement.js";
|
|
25
|
-
import type { DelegationCredential } from "../types/protocol.js";
|
|
25
|
+
import type { DelegationCredential, ResponseProofProfile } from "../types/protocol.js";
|
|
26
26
|
export interface KyaOsIdentityConfig {
|
|
27
27
|
did: string;
|
|
28
28
|
kid: string;
|
|
@@ -150,6 +150,27 @@ export interface KyaOsConfig {
|
|
|
150
150
|
* dropped at 2.0.
|
|
151
151
|
*/
|
|
152
152
|
emitLegacyProofKey?: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Response-proof profile every proof this server mints is bound under
|
|
155
|
+
* (SPEC §7.3).
|
|
156
|
+
*
|
|
157
|
+
* - `"org.kya-os/response-proof.body"` (default): `responseHash` covers the
|
|
158
|
+
* response BODY only (the MCP `content` array). Wire-identical to earlier
|
|
159
|
+
* releases — any existing verifier keeps working.
|
|
160
|
+
* - `"org.kya-os/response-proof.envelope"`: `responseHash` covers the ENTIRE result
|
|
161
|
+
* object with the top-level `_meta` member removed, so `structuredContent`,
|
|
162
|
+
* `isError`, and `resultType` are authenticated. Each proof carries a
|
|
163
|
+
* signature-covered `prf` claim naming the profile, so verification cannot
|
|
164
|
+
* silently fall back to body-only semantics.
|
|
165
|
+
*
|
|
166
|
+
* Opting into the envelope profile requires clients whose verifiers
|
|
167
|
+
* understand `prf` (this package's verifier accepts both profiles, keyed off
|
|
168
|
+
* each proof's own claim); an older verifier rejects envelope-profile proofs
|
|
169
|
+
* outright rather than mis-verifying them. The default stays body-only so
|
|
170
|
+
* existing verifiers keep working; opt in once your client population
|
|
171
|
+
* verifies the envelope profile.
|
|
172
|
+
*/
|
|
173
|
+
responseProofProfile?: ResponseProofProfile;
|
|
153
174
|
/** Delegation verification overrides */
|
|
154
175
|
delegation?: KyaOsDelegationConfig;
|
|
155
176
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-kya-os.config-types.d.ts","sourceRoot":"","sources":["../../src/middleware/with-kya-os.config-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,oFAAoF;IACpF,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AACD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"with-kya-os.config-types.d.ts","sourceRoot":"","sources":["../../src/middleware/with-kya-os.config-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-kya-os.d.ts","sourceRoot":"","sources":["../../src/middleware/with-kya-os.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"with-kya-os.d.ts","sourceRoot":"","sources":["../../src/middleware/with-kya-os.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgB3D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAUhC,cAAc,wBAAwB,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,cAAc,GAC7B,eAAe,CAsIjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-kya-os.delegation-gate.d.ts","sourceRoot":"","sources":["../../src/middleware/with-kya-os.delegation-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"with-kya-os.delegation-gate.d.ts","sourceRoot":"","sources":["../../src/middleware/with-kya-os.delegation-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAkC/D,gFAAgF;AAChF,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC9D,kBAAkB,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAC3D;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAsQjD"}
|