@agenticprimitives/delegation 0.1.0-alpha.3 → 1.0.0-alpha.11
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/README.md +17 -2
- package/dist/caveats.d.ts +72 -1
- package/dist/caveats.d.ts.map +1 -1
- package/dist/caveats.js +113 -2
- package/dist/caveats.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/evaluator.d.ts +1 -1
- package/dist/evaluator.d.ts.map +1 -1
- package/dist/evaluator.js +4 -1
- package/dist/evaluator.js.map +1 -1
- package/dist/hash.d.ts +1 -1
- package/dist/hash.d.ts.map +1 -1
- package/dist/index.d.ts +20 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -8
- package/dist/index.js.map +1 -1
- package/dist/onchain.d.ts +17 -4
- package/dist/onchain.d.ts.map +1 -1
- package/dist/onchain.js +77 -6
- package/dist/onchain.js.map +1 -1
- package/dist/session-delegation.d.ts +30 -0
- package/dist/session-delegation.d.ts.map +1 -0
- package/dist/session-delegation.js +32 -0
- package/dist/session-delegation.js.map +1 -0
- package/dist/session-manager.d.ts +1 -2
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +14 -5
- package/dist/session-manager.js.map +1 -1
- package/dist/token.d.ts +13 -1
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +233 -96
- package/dist/token.js.map +1 -1
- package/dist/types.d.ts +56 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -1
- package/dist/types.js.map +1 -1
- package/dist/verify-authorization.d.ts +28 -0
- package/dist/verify-authorization.d.ts.map +1 -0
- package/dist/verify-authorization.js +73 -0
- package/dist/verify-authorization.js.map +1 -0
- package/package.json +11 -11
package/dist/token.js
CHANGED
|
@@ -10,30 +10,55 @@
|
|
|
10
10
|
// 6. evaluateCaveats (fail-closed) — pass toolName via opts for tool-scope
|
|
11
11
|
// 7. atomic JTI usage tracking
|
|
12
12
|
// 8. return { principal: delegator }
|
|
13
|
-
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
14
|
-
import { keccak_256 } from '@noble/hashes/sha3';
|
|
13
|
+
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
14
|
+
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
15
15
|
import { createPublicClient, http } from 'viem';
|
|
16
|
-
import { hashDelegation } from './hash';
|
|
17
|
-
import { evaluateCaveats } from './evaluator';
|
|
16
|
+
import { hashDelegation } from './hash.js';
|
|
17
|
+
import { evaluateCaveats } from './evaluator.js';
|
|
18
18
|
import { buildEvent } from '@agenticprimitives/audit';
|
|
19
19
|
// ─── base64url + canonical JSON helpers ──────────────────────────────────
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
//
|
|
21
|
+
// ISOMORPHIC base64 — `btoa`/`atob` + `TextEncoder/Decoder` are available in every target runtime
|
|
22
|
+
// (browser, Cloudflare Workers, Node ≥16). Node's `Buffer` is NOT defined in the browser, and demo-jp
|
|
23
|
+
// now mints tokens CLIENT-SIDE (spec 270 v4 client-mint), so a `Buffer.from(...)` here threw
|
|
24
|
+
// `ReferenceError: Buffer is not defined` before any network call. The byte output is identical to the
|
|
25
|
+
// old Buffer path (standard base64), so existing signatures still verify — byte-stability is a SECURITY
|
|
26
|
+
// invariant (see `canonicalJSON`), and standard base64 is the same across all runtimes.
|
|
27
|
+
function bytesToBase64url(bytes) {
|
|
28
|
+
let bin = '';
|
|
29
|
+
for (let i = 0; i < bytes.length; i++)
|
|
30
|
+
bin += String.fromCharCode(bytes[i]);
|
|
31
|
+
return btoa(bin).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
22
32
|
}
|
|
23
|
-
function
|
|
33
|
+
function base64urlToBytes(s) {
|
|
24
34
|
let padded = s.replace(/-/g, '+').replace(/_/g, '/');
|
|
25
35
|
while (padded.length % 4)
|
|
26
36
|
padded += '=';
|
|
27
|
-
|
|
37
|
+
const bin = atob(padded);
|
|
38
|
+
const out = new Uint8Array(bin.length);
|
|
39
|
+
for (let i = 0; i < bin.length; i++)
|
|
40
|
+
out[i] = bin.charCodeAt(i);
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
function base64urlEncode(s) {
|
|
44
|
+
return bytesToBase64url(new TextEncoder().encode(s));
|
|
45
|
+
}
|
|
46
|
+
function base64urlDecodeStr(s) {
|
|
47
|
+
return new TextDecoder().decode(base64urlToBytes(s));
|
|
28
48
|
}
|
|
29
49
|
function base64urlEncodeBytes(b) {
|
|
30
|
-
return
|
|
50
|
+
return bytesToBase64url(b);
|
|
31
51
|
}
|
|
32
52
|
function base64urlDecodeBytes(s) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
53
|
+
return base64urlToBytes(s);
|
|
54
|
+
}
|
|
55
|
+
/** Isomorphic hex → bytes (replaces `Buffer.from(hex, 'hex')`, which is Node-only). */
|
|
56
|
+
function hexToBytes(hex) {
|
|
57
|
+
const clean = hex.startsWith('0x') ? hex.slice(2) : hex;
|
|
58
|
+
const out = new Uint8Array(clean.length >> 1);
|
|
59
|
+
for (let i = 0; i < out.length; i++)
|
|
60
|
+
out[i] = parseInt(clean.substr(i * 2, 2), 16);
|
|
61
|
+
return out;
|
|
37
62
|
}
|
|
38
63
|
/** Sorted-key JSON; BigInt → numeric string. Both sides must produce the
|
|
39
64
|
* exact same bytes for the signature to round-trip.
|
|
@@ -90,7 +115,7 @@ function recoverEoaFromEip191Sig(message, signature) {
|
|
|
90
115
|
const recovery = v >= 27 ? v - 27 : v;
|
|
91
116
|
const eipSig = new secp256k1.Signature(r, s).addRecoveryBit(recovery);
|
|
92
117
|
const digest = eip191Digest(message);
|
|
93
|
-
const pub = eipSig.recoverPublicKey(digest).
|
|
118
|
+
const pub = eipSig.recoverPublicKey(digest).toBytes(false);
|
|
94
119
|
const hash = keccak_256(pub.slice(1));
|
|
95
120
|
let hex = '0x';
|
|
96
121
|
for (const b of hash.slice(12))
|
|
@@ -148,6 +173,8 @@ export async function mintDelegationToken(claims, signMessage, opts) {
|
|
|
148
173
|
sub: claims.sub,
|
|
149
174
|
delegation: claims.delegation,
|
|
150
175
|
sessionKeyAddress: claims.sessionKeyAddress,
|
|
176
|
+
// DEL-001: carry the session-delegate-binding leaf when the minter produced one.
|
|
177
|
+
...(claims.sessionDelegation ? { sessionDelegation: claims.sessionDelegation } : {}),
|
|
151
178
|
jti,
|
|
152
179
|
iat,
|
|
153
180
|
exp,
|
|
@@ -156,31 +183,31 @@ export async function mintDelegationToken(claims, signMessage, opts) {
|
|
|
156
183
|
const canonical = canonicalJSON(full);
|
|
157
184
|
const sig = await signMessage(canonical);
|
|
158
185
|
const sigHex = sig.startsWith('0x') ? sig.slice(2) : sig;
|
|
159
|
-
const sigBytes =
|
|
186
|
+
const sigBytes = hexToBytes(sigHex);
|
|
160
187
|
const token = `${base64urlEncode(canonical)}.${base64urlEncodeBytes(sigBytes)}`;
|
|
161
|
-
// Audit emit (C3 pass 3c).
|
|
188
|
+
// Audit emit (C3 pass 3c). R11.1 / N16: NO try/catch around the sink
|
|
189
|
+
// write — the sink composition (`composeSinks` fail-soft vs
|
|
190
|
+
// `composeFailHardSinks` fail-hard) expresses the caller's intent.
|
|
191
|
+
// For production callers using fail-hard sinks, a `delegation.mint`
|
|
192
|
+
// emission failure aborts the mint flow — the token is NOT returned
|
|
193
|
+
// without a recorded audit row. JTI is logged because it's the
|
|
162
194
|
// correlation primitive for downstream verify events — not secret.
|
|
163
195
|
if (opts?.auditSink) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}));
|
|
180
|
-
}
|
|
181
|
-
catch {
|
|
182
|
-
/* fail-soft */
|
|
183
|
-
}
|
|
196
|
+
await opts.auditSink.write(buildEvent({
|
|
197
|
+
action: 'delegation.mint',
|
|
198
|
+
outcome: 'success',
|
|
199
|
+
correlationId: opts.correlationId,
|
|
200
|
+
actor: { type: 'user', id: claims.delegation.delegator },
|
|
201
|
+
subject: { type: 'jti', id: jti },
|
|
202
|
+
audience: claims.aud,
|
|
203
|
+
context: {
|
|
204
|
+
iss: claims.iss,
|
|
205
|
+
sub: claims.sub,
|
|
206
|
+
sessionKeyAddress: claims.sessionKeyAddress,
|
|
207
|
+
ttlSeconds: ttl,
|
|
208
|
+
usageLimit: claims.usageLimit ?? null,
|
|
209
|
+
},
|
|
210
|
+
}));
|
|
184
211
|
}
|
|
185
212
|
return { token, jti };
|
|
186
213
|
}
|
|
@@ -206,6 +233,25 @@ const ACCOUNT_ABI_ERC1271 = [
|
|
|
206
233
|
outputs: [{ name: '', type: 'bytes4' }],
|
|
207
234
|
},
|
|
208
235
|
];
|
|
236
|
+
/** spec 270 v4 — the deployed UniversalSignatureValidator: ONE connection-agnostic surface that validates
|
|
237
|
+
* a signature for a deployed SA (ERC-1271), a counterfactual SA (ERC-6492 deploy-on-verify), or a raw EOA
|
|
238
|
+
* (ECDSA). `isValidSig` is state-changing on-chain (the 6492 path may deploy), but we call it via
|
|
239
|
+
* `eth_call` — marking it `view` here makes viem `readContract` execute it ephemerally + decode the bool,
|
|
240
|
+
* the standard off-chain ERC-6492 pattern. Routing the delegation + leaf checks through this is what makes
|
|
241
|
+
* the verifier never branch on HOW the user connected — every credential strategy validates via one surface. */
|
|
242
|
+
const UNIVERSAL_SIG_VALIDATOR_ABI = [
|
|
243
|
+
{
|
|
244
|
+
type: 'function',
|
|
245
|
+
name: 'isValidSig',
|
|
246
|
+
stateMutability: 'view',
|
|
247
|
+
inputs: [
|
|
248
|
+
{ name: 'signer', type: 'address' },
|
|
249
|
+
{ name: 'hash', type: 'bytes32' },
|
|
250
|
+
{ name: 'sig', type: 'bytes' },
|
|
251
|
+
],
|
|
252
|
+
outputs: [{ name: '', type: 'bool' }],
|
|
253
|
+
},
|
|
254
|
+
];
|
|
209
255
|
const ACCEPTED_SESSION_DELEGATION_ABI = [
|
|
210
256
|
{
|
|
211
257
|
type: 'function',
|
|
@@ -239,6 +285,28 @@ function decodeToken(token) {
|
|
|
239
285
|
sigHex += b.toString(16).padStart(2, '0');
|
|
240
286
|
return { claims, canonical, signature: sigHex };
|
|
241
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* DEL-001 (spec 270 v4) — the chain-free part of the session-key binding (testable without an RPC).
|
|
290
|
+
* Returns an error reason, or `null` when the leaf links correctly: `sessionDelegation` present, its
|
|
291
|
+
* delegator is the outer delegation's DELEGATOR (the principal's SA — the canonical identity every
|
|
292
|
+
* connection strategy signs for), and its delegate is the presenting session key. The signature proof
|
|
293
|
+
* (the delegator SA authorized the leaf — validated via the UniversalSignatureValidator, so any
|
|
294
|
+
* credential type works) is checked separately in `verifyDelegationToken`.
|
|
295
|
+
*
|
|
296
|
+
* v4 binds to the DELEGATOR (was the delegate in v3): the SA's own authority — recoverable at connect
|
|
297
|
+
* under every credential strategy alike — vouches for the session key.
|
|
298
|
+
*/
|
|
299
|
+
export function sessionDelegateBindingError(delegation, sessionDelegation, sessionKeyAddress) {
|
|
300
|
+
if (!sessionDelegation)
|
|
301
|
+
return 'session-delegation required (DEL-001)';
|
|
302
|
+
if (sessionDelegation.delegator.toLowerCase() !== delegation.delegator.toLowerCase()) {
|
|
303
|
+
return 'session-delegation delegator != delegation delegator (DEL-001)';
|
|
304
|
+
}
|
|
305
|
+
if (sessionDelegation.delegate.toLowerCase() !== sessionKeyAddress.toLowerCase()) {
|
|
306
|
+
return 'session key is not the session-delegation delegate (DEL-001)';
|
|
307
|
+
}
|
|
308
|
+
return null;
|
|
309
|
+
}
|
|
242
310
|
/**
|
|
243
311
|
* Full verification pipeline. Caller passes `toolName` in opts for tool-scope
|
|
244
312
|
* caveat evaluation; without it the mcp-tool-scope caveat denies.
|
|
@@ -249,27 +317,24 @@ export async function verifyDelegationToken(token, opts) {
|
|
|
249
317
|
const emit = async (outcome, reason, principal, delegationDigest) => {
|
|
250
318
|
if (!opts.auditSink)
|
|
251
319
|
return;
|
|
252
|
-
try
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
catch {
|
|
271
|
-
/* fail-soft */
|
|
272
|
-
}
|
|
320
|
+
// R11.1 / N16: NO try/catch — sink composition determines fail-hard
|
|
321
|
+
// vs fail-soft. See `mintDelegationToken` doc-comment for rationale.
|
|
322
|
+
await opts.auditSink.write(buildEvent({
|
|
323
|
+
action: outcome === 'success'
|
|
324
|
+
? 'delegation.verify.accept'
|
|
325
|
+
: 'delegation.verify.reject',
|
|
326
|
+
outcome,
|
|
327
|
+
correlationId: opts.correlationId,
|
|
328
|
+
actor: principal ? { type: 'user', id: principal } : { type: 'unknown' },
|
|
329
|
+
subject: delegationDigest
|
|
330
|
+
? { type: 'delegation', id: delegationDigest }
|
|
331
|
+
: undefined,
|
|
332
|
+
audience: opts.audience,
|
|
333
|
+
chainId: opts.chainId,
|
|
334
|
+
digest: delegationDigest,
|
|
335
|
+
reason,
|
|
336
|
+
context: opts.toolName ? { tool: opts.toolName } : undefined,
|
|
337
|
+
}));
|
|
273
338
|
};
|
|
274
339
|
const rejectWith = async (reason, principal, delegationDigest) => {
|
|
275
340
|
await emit('denied', reason, principal, delegationDigest);
|
|
@@ -305,6 +370,16 @@ export async function verifyDelegationToken(token, opts) {
|
|
|
305
370
|
// permissive behavior MUST set `revocationFailMode: 'open'` explicitly.
|
|
306
371
|
const revocationFailMode = opts.revocationFailMode ?? 'closed';
|
|
307
372
|
const publicClient = createPublicClient({ transport: http(opts.rpcUrl) });
|
|
373
|
+
// spec 270 v4 — validate an SA's signature through the UniversalSignatureValidator (one surface for
|
|
374
|
+
// ERC-1271 / ERC-6492 / ECDSA), called via eth_call. `null` when no USV is configured (legacy path).
|
|
375
|
+
const validateSaSig = opts.universalSignatureValidator
|
|
376
|
+
? async (signer, hash, sig) => (await publicClient.readContract({
|
|
377
|
+
address: opts.universalSignatureValidator,
|
|
378
|
+
abi: UNIVERSAL_SIG_VALIDATOR_ABI,
|
|
379
|
+
functionName: 'isValidSig',
|
|
380
|
+
args: [signer, hash, sig],
|
|
381
|
+
}))
|
|
382
|
+
: null;
|
|
308
383
|
try {
|
|
309
384
|
const revoked = (await publicClient.readContract({
|
|
310
385
|
address: opts.delegationManager,
|
|
@@ -322,29 +397,94 @@ export async function verifyDelegationToken(token, opts) {
|
|
|
322
397
|
}
|
|
323
398
|
void e;
|
|
324
399
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
if (
|
|
330
|
-
return rejectWith(
|
|
400
|
+
if (validateSaSig) {
|
|
401
|
+
// spec 270 v4 — one connection-agnostic surface; counterfactual delegators verify via ERC-6492, so
|
|
402
|
+
// no requireDeployed hard-reject.
|
|
403
|
+
try {
|
|
404
|
+
if (!(await validateSaSig(claims.delegation.delegator, eip712Hash, claims.delegation.signature))) {
|
|
405
|
+
return rejectWith('signature validation failed', claims.delegation.delegator, eip712Hash);
|
|
331
406
|
}
|
|
332
|
-
// Tolerated: caller opted into the undeployed path explicitly.
|
|
333
407
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
})
|
|
341
|
-
|
|
342
|
-
|
|
408
|
+
catch (e) {
|
|
409
|
+
return rejectWith(`signature validation reverted: ${e instanceof Error ? e.message : e}`, claims.delegation.delegator, eip712Hash);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
try {
|
|
414
|
+
const code = await publicClient.getCode({ address: claims.delegation.delegator });
|
|
415
|
+
const isDeployed = !!(code && code !== '0x' && code.length > 2);
|
|
416
|
+
if (!isDeployed) {
|
|
417
|
+
if (requireDeployed) {
|
|
418
|
+
return rejectWith(`delegator smart account ${claims.delegation.delegator} is not deployed — cannot verify ERC-1271. Set verifyDelegationToken opt requireDeployed=false only for explicit counterfactual-demo use cases.`, claims.delegation.delegator, eip712Hash);
|
|
419
|
+
}
|
|
420
|
+
// Tolerated: caller opted into the undeployed path explicitly.
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
const magic = (await publicClient.readContract({
|
|
424
|
+
address: claims.delegation.delegator,
|
|
425
|
+
abi: ACCOUNT_ABI_ERC1271,
|
|
426
|
+
functionName: 'isValidSignature',
|
|
427
|
+
args: [eip712Hash, claims.delegation.signature],
|
|
428
|
+
}));
|
|
429
|
+
if (magic.toLowerCase() !== ERC1271_MAGIC) {
|
|
430
|
+
return rejectWith('erc1271 validation failed', claims.delegation.delegator, eip712Hash);
|
|
431
|
+
}
|
|
343
432
|
}
|
|
344
433
|
}
|
|
434
|
+
catch (e) {
|
|
435
|
+
return rejectWith(`erc1271 call reverted: ${e instanceof Error ? e.message : e}`, claims.delegation.delegator, eip712Hash);
|
|
436
|
+
}
|
|
345
437
|
}
|
|
346
|
-
|
|
347
|
-
|
|
438
|
+
// 3.5. DEL-001 (spec 270 v4) — session-key↔identity binding.
|
|
439
|
+
//
|
|
440
|
+
// The full signed `delegation` travels in cleartext inside every token, so a verifier that only
|
|
441
|
+
// checks "some session key signed these claims" lets anyone who OBSERVES a token re-mint it with their
|
|
442
|
+
// own session key and impersonate the delegator. We close that by requiring a `sessionDelegation` LEAF
|
|
443
|
+
// whose delegator is `delegation.delegator` (the principal's SA — the canonical identity, v4) and whose
|
|
444
|
+
// delegate IS the presenting session key, signed by that SA. The signature is validated through the
|
|
445
|
+
// UniversalSignatureValidator (ERC-1271 / ERC-6492 / ECDSA), so it works for ANY connection strategy and
|
|
446
|
+
// an attacker can't forge the SA's authorization of THEIR key. `principal` stays `delegation.delegator`.
|
|
447
|
+
// DEL-001 (ADR-0036): binding is ENFORCED BY DEFAULT — fail-closed. Only an explicit
|
|
448
|
+
// `allowUnboundSessionToken: true` (legacy / non-client-minted path) skips it.
|
|
449
|
+
if (!opts.allowUnboundSessionToken) {
|
|
450
|
+
// Chain-free checks: leaf present, delegator-link, delegate === presenting session key.
|
|
451
|
+
const bindErr = sessionDelegateBindingError(claims.delegation, claims.sessionDelegation, recovered);
|
|
452
|
+
if (bindErr)
|
|
453
|
+
return rejectWith(bindErr, claims.delegation.delegator, eip712Hash);
|
|
454
|
+
const sd = claims.sessionDelegation;
|
|
455
|
+
// The delegator SA (the principal's canonical identity) actually authorized THIS session key. Validated
|
|
456
|
+
// via the UniversalSignatureValidator when configured (v4 — connection-agnostic: every credential
|
|
457
|
+
// strategy passes through one surface), else legacy deployed-ERC-1271.
|
|
458
|
+
const sdHash = hashDelegation(sd, opts.chainId, opts.delegationManager);
|
|
459
|
+
try {
|
|
460
|
+
if (validateSaSig) {
|
|
461
|
+
if (!(await validateSaSig(sd.delegator, sdHash, sd.signature))) {
|
|
462
|
+
return rejectWith('session-delegation signature validation failed (DEL-001)', claims.delegation.delegator, eip712Hash);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
const sdCode = await publicClient.getCode({ address: sd.delegator });
|
|
467
|
+
if (!sdCode || sdCode === '0x' || sdCode.length <= 2) {
|
|
468
|
+
if (requireDeployed) {
|
|
469
|
+
return rejectWith('session-delegation delegator SA not deployed — cannot verify ERC-1271 (DEL-001)', claims.delegation.delegator, eip712Hash);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
else {
|
|
473
|
+
const magic = (await publicClient.readContract({
|
|
474
|
+
address: sd.delegator,
|
|
475
|
+
abi: ACCOUNT_ABI_ERC1271,
|
|
476
|
+
functionName: 'isValidSignature',
|
|
477
|
+
args: [sdHash, sd.signature],
|
|
478
|
+
}));
|
|
479
|
+
if (magic.toLowerCase() !== ERC1271_MAGIC) {
|
|
480
|
+
return rejectWith('session-delegation erc1271 validation failed (DEL-001)', claims.delegation.delegator, eip712Hash);
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
catch (e) {
|
|
486
|
+
return rejectWith(`session-delegation signature check reverted: ${e instanceof Error ? e.message : e}`, claims.delegation.delegator, eip712Hash);
|
|
487
|
+
}
|
|
348
488
|
}
|
|
349
489
|
// 4. caveat evaluation
|
|
350
490
|
//
|
|
@@ -420,29 +560,26 @@ export async function verifyDelegationToken(token, opts) {
|
|
|
420
560
|
// Accept emit — extended context to capture the threshold-policy
|
|
421
561
|
// outcome (`acceptedOnChain`) for forensics + dashboards. Reuses the
|
|
422
562
|
// same `emit` shape as the reject path but with extra context fields.
|
|
563
|
+
// R11.1 / N16: NO try/catch — sink composition determines fail-hard
|
|
564
|
+
// vs fail-soft.
|
|
423
565
|
if (opts.auditSink) {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
context.acceptedOnChain = acceptedOnChain;
|
|
430
|
-
}
|
|
431
|
-
await opts.auditSink.write(buildEvent({
|
|
432
|
-
action: 'delegation.verify.accept',
|
|
433
|
-
outcome: 'success',
|
|
434
|
-
correlationId: opts.correlationId,
|
|
435
|
-
actor: { type: 'user', id: claims.delegation.delegator },
|
|
436
|
-
subject: { type: 'delegation', id: eip712Hash },
|
|
437
|
-
audience: opts.audience,
|
|
438
|
-
chainId: opts.chainId,
|
|
439
|
-
digest: eip712Hash,
|
|
440
|
-
context: Object.keys(context).length > 0 ? context : undefined,
|
|
441
|
-
}));
|
|
442
|
-
}
|
|
443
|
-
catch {
|
|
444
|
-
/* fail-soft */
|
|
566
|
+
const context = {};
|
|
567
|
+
if (opts.toolName)
|
|
568
|
+
context.tool = opts.toolName;
|
|
569
|
+
if (opts.requireAcceptedOnChain !== undefined) {
|
|
570
|
+
context.acceptedOnChain = acceptedOnChain;
|
|
445
571
|
}
|
|
572
|
+
await opts.auditSink.write(buildEvent({
|
|
573
|
+
action: 'delegation.verify.accept',
|
|
574
|
+
outcome: 'success',
|
|
575
|
+
correlationId: opts.correlationId,
|
|
576
|
+
actor: { type: 'user', id: claims.delegation.delegator },
|
|
577
|
+
subject: { type: 'delegation', id: eip712Hash },
|
|
578
|
+
audience: opts.audience,
|
|
579
|
+
chainId: opts.chainId,
|
|
580
|
+
digest: eip712Hash,
|
|
581
|
+
context: Object.keys(context).length > 0 ? context : undefined,
|
|
582
|
+
}));
|
|
446
583
|
}
|
|
447
584
|
return { principal: claims.delegation.delegator };
|
|
448
585
|
}
|
package/dist/token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -19,12 +19,43 @@ export interface DataScopeGrant {
|
|
|
19
19
|
resources: string[];
|
|
20
20
|
fields: string[];
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Vault-key-use grant (spec 278 §3.2). The scope of a `VAULT_KEY_USE` caveat: the
|
|
24
|
+
* person SA authorizes a specific vault host to WIELD a specific KMS/HSM KEK for a
|
|
25
|
+
* bounded set of resources/ops. This is a key-USE authorization, NOT a data
|
|
26
|
+
* delegation — it gates *whether* a host may decrypt/seal a person's vault, while
|
|
27
|
+
* the per-object envelope binding gates *which* person's ciphertext (spec 278 VKB-D3,
|
|
28
|
+
* the two-gates model; the envelope/binding mechanics live in key-custody).
|
|
29
|
+
* Off-chain sentinel: the scope is enforced by the KAS (key-authorization, P2), not
|
|
30
|
+
* an on-chain enforcer; the delegation evaluator treats it as inert (shape-only).
|
|
31
|
+
*/
|
|
32
|
+
export interface VaultKeyUseGrant {
|
|
33
|
+
vaultId: string;
|
|
34
|
+
/** KMS/HSM key resource name the host is authorized to wield (the person's KEK). */
|
|
35
|
+
kmsKeyRef: string;
|
|
36
|
+
resources: string[];
|
|
37
|
+
classificationCeiling: string;
|
|
38
|
+
/** Authorized ops — `'read'` and/or `'write'`. */
|
|
39
|
+
ops: string[];
|
|
40
|
+
/** The host may not re-delegate key use. MUST be true for vault-key authorizations. */
|
|
41
|
+
noSubdelegation: boolean;
|
|
42
|
+
}
|
|
22
43
|
export interface DelegationTokenClaims {
|
|
23
44
|
iss: string;
|
|
24
45
|
aud: string;
|
|
25
46
|
sub: Address;
|
|
26
47
|
delegation: Delegation;
|
|
27
48
|
sessionKeyAddress: Address;
|
|
49
|
+
/**
|
|
50
|
+
* DEL-001 (audit 2026-06-09) — the session-scoped leaf delegation that BINDS the session key to the
|
|
51
|
+
* delegator. v4 binds to the DELEGATOR (the principal's canonical SA), not the delegate: its
|
|
52
|
+
* `delegator` MUST equal `delegation.delegator` and its `delegate` MUST equal `sessionKeyAddress`;
|
|
53
|
+
* the delegator SA authorized it (validated via the UniversalSignatureValidator, so any credential
|
|
54
|
+
* strategy works). Without this leaf the full `delegation` travels in cleartext and anyone observing a
|
|
55
|
+
* token re-mints it with their own session key (permanent delegator impersonation). `principal` stays
|
|
56
|
+
* `delegation.delegator` — the leaf proves the presenting session key was authorized by that principal.
|
|
57
|
+
*/
|
|
58
|
+
sessionDelegation?: Delegation;
|
|
28
59
|
jti: string;
|
|
29
60
|
iat: number;
|
|
30
61
|
exp: number;
|
|
@@ -40,6 +71,8 @@ export interface EnforcerAddressMap {
|
|
|
40
71
|
callDataHash?: Address;
|
|
41
72
|
recovery?: Address;
|
|
42
73
|
rateLimit?: Address;
|
|
74
|
+
/** Spec 272 PAY-CON-1 — the x402 PaymentEnforcer (spend + frequency cap + transfer-only). */
|
|
75
|
+
payment?: Address;
|
|
43
76
|
}
|
|
44
77
|
export interface CaveatContext {
|
|
45
78
|
timestamp: number;
|
|
@@ -87,6 +120,29 @@ export interface VerifyOpts {
|
|
|
87
120
|
* Off-chain JTI / session-token verify uses strict mode. Spec 202 §11.
|
|
88
121
|
*/
|
|
89
122
|
enforceOnChain?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* DEL-001 (ADR-0036) — explicit opt-OUT of the session-key↔delegator binding. FAIL-CLOSED BY DEFAULT:
|
|
125
|
+
* with `allowUnboundSessionToken` unset/false, `verifyDelegationToken` REQUIRES the token to carry a
|
|
126
|
+
* valid `sessionDelegation` leaf binding the presenting session key to the DELEGATOR — the principal SA
|
|
127
|
+
* (`leaf.delegator === delegation.delegator` + `leaf.delegate === sessionKeyAddress` + the delegator
|
|
128
|
+
* SA's signature, validated via the UniversalSignatureValidator / deployed-ERC-1271). This closes the
|
|
129
|
+
* observe-and-re-mint vector on EVERY verify path, including one that forgets to configure it — the
|
|
130
|
+
* whole point of the flip (a critical authz control is not a per-call soft option a route can drop).
|
|
131
|
+
*
|
|
132
|
+
* Set `true` ONLY for an explicit legacy / non-client-minted path that issues UNBOUND tokens (e.g. a
|
|
133
|
+
* trusted-relayer / persona path where the relayer — not a client — signed the token). It is the
|
|
134
|
+
* greppable, audit-worthy escape hatch; a token without a leaf is REJECTED unless this is set.
|
|
135
|
+
*/
|
|
136
|
+
allowUnboundSessionToken?: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* spec 270 v4 — the deployed `UniversalSignatureValidator` address. When set, the delegation AND the
|
|
139
|
+
* `sessionDelegation` leaf signatures are validated through it (ERC-1271 deployed / ERC-6492
|
|
140
|
+
* counterfactual / ECDSA EOA) instead of a raw `isValidSignature` against a deployed SA — making the
|
|
141
|
+
* verifier connection-agnostic (every credential strategy validates via one
|
|
142
|
+
* surface) and removing the `requireDeployed` hard-reject for counterfactual SAs. Omit ⇒ legacy
|
|
143
|
+
* deployed-ERC-1271-only path (non-breaking).
|
|
144
|
+
*/
|
|
145
|
+
universalSignatureValidator?: Address;
|
|
90
146
|
}
|
|
91
147
|
/**
|
|
92
148
|
* H7-B.2 — options for `evaluateCaveats`. Mirrors the `enforceOnChain` flag
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE7D,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
// Shared types for @agenticprimitives/delegation.
|
|
2
|
-
|
|
2
|
+
// MUST equal DelegationManager.ROOT_AUTHORITY (the root-delegation sentinel the
|
|
3
|
+
// on-chain authority-chain check compares against). The contract uses
|
|
4
|
+
// bytes32(type(uint256).max) — the DeleGator-framework convention — NOT the zero
|
|
5
|
+
// hash. A root delegation carrying any other authority reverts `InvalidAuthority`
|
|
6
|
+
// on redeemDelegation. (Was 0x00…00, which silently broke every on-chain
|
|
7
|
+
// redemption; off-chain token paths never exercised the on-chain chain check.)
|
|
8
|
+
export const ROOT_AUTHORITY = '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff';
|
|
3
9
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAMlD,MAAM,CAAC,MAAM,cAAc,GACzB,oEAAoE,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAMlD,gFAAgF;AAChF,sEAAsE;AACtE,iFAAiF;AACjF,kFAAkF;AAClF,yEAAyE;AACzE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GACzB,oEAAoE,CAAC"}
|