@agenticprimitives/delegation 1.0.0-alpha.4 → 1.0.0-alpha.41
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 +19 -2
- package/dist/authority-chain.d.ts +59 -0
- package/dist/authority-chain.d.ts.map +1 -0
- package/dist/authority-chain.js +70 -0
- package/dist/authority-chain.js.map +1 -0
- package/dist/caveats.d.ts +196 -1
- package/dist/caveats.d.ts.map +1 -1
- package/dist/caveats.js +374 -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/es256-evidence-minter.d.ts +28 -0
- package/dist/es256-evidence-minter.d.ts.map +1 -0
- package/dist/es256-evidence-minter.js +48 -0
- package/dist/es256-evidence-minter.js.map +1 -0
- package/dist/evaluator.d.ts +1 -1
- package/dist/evaluator.d.ts.map +1 -1
- package/dist/evaluator.js +102 -2
- 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 +40 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -8
- package/dist/index.js.map +1 -1
- package/dist/invocation-proof.d.ts +133 -0
- package/dist/invocation-proof.d.ts.map +1 -0
- package/dist/invocation-proof.js +157 -0
- package/dist/invocation-proof.js.map +1 -0
- package/dist/lineage.d.ts +70 -0
- package/dist/lineage.d.ts.map +1 -0
- package/dist/lineage.js +65 -0
- package/dist/lineage.js.map +1 -0
- package/dist/mandate-handlers.d.ts +15 -0
- package/dist/mandate-handlers.d.ts.map +1 -0
- package/dist/mandate-handlers.js +279 -0
- package/dist/mandate-handlers.js.map +1 -0
- package/dist/mandate.d.ts +265 -0
- package/dist/mandate.d.ts.map +1 -0
- package/dist/mandate.js +275 -0
- package/dist/mandate.js.map +1 -0
- package/dist/method-authorization.d.ts +120 -0
- package/dist/method-authorization.d.ts.map +1 -0
- package/dist/method-authorization.js +173 -0
- package/dist/method-authorization.js.map +1 -0
- package/dist/onchain.d.ts +40 -4
- package/dist/onchain.d.ts.map +1 -1
- package/dist/onchain.js +140 -6
- package/dist/onchain.js.map +1 -1
- package/dist/presentation-release.d.ts +94 -0
- package/dist/presentation-release.d.ts.map +1 -0
- package/dist/presentation-release.js +93 -0
- package/dist/presentation-release.js.map +1 -0
- package/dist/quorum.d.ts +26 -0
- package/dist/quorum.d.ts.map +1 -0
- package/dist/quorum.js +80 -0
- package/dist/quorum.js.map +1 -0
- package/dist/session-delegation.d.ts +34 -0
- package/dist/session-delegation.d.ts.map +1 -0
- package/dist/session-delegation.js +33 -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 +15 -6
- package/dist/session-manager.js.map +1 -1
- package/dist/standing.d.ts +101 -0
- package/dist/standing.d.ts.map +1 -0
- package/dist/standing.js +132 -0
- package/dist/standing.js.map +1 -0
- package/dist/token.d.ts +89 -1
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +485 -123
- package/dist/token.js.map +1 -1
- package/dist/types.d.ts +141 -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 +25 -16
package/dist/evaluator.js
CHANGED
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
// gating is not an on-chain redeem). Off-chain pre-checks pass strict mode;
|
|
24
24
|
// on-chain redeem flows pass `{ enforceOnChain: true }`.
|
|
25
25
|
import { decodeAbiParameters } from 'viem';
|
|
26
|
-
import {
|
|
26
|
+
import { DIGEST_KIND_NAMES, decodePayloadClassesTerms } from './caveats.js';
|
|
27
|
+
import { MCP_TOOL_SCOPE_ENFORCER, DATA_SCOPE_ENFORCER, DELEGATE_BINDING_ENFORCER, VAULT_KEY_USE_ENFORCER, VAULT_RECORD_SCOPE_ENFORCER, SESSION_AUDIENCE_ENFORCER, PRESENTATION_SCOPE_ENFORCER, decodeSessionAudienceTerms, } from './caveats.js';
|
|
27
28
|
function lower(a) {
|
|
28
29
|
return a?.toLowerCase();
|
|
29
30
|
}
|
|
@@ -111,6 +112,73 @@ function evalMcpToolScope(c, ctx) {
|
|
|
111
112
|
return { enforcer: c.enforcer, allowed: false, reason: `mcp-tool-scope decode error: ${e instanceof Error ? e.message : e}` };
|
|
112
113
|
}
|
|
113
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Spec 350 §2 — a digest-binding caveat, judged OFF-CHAIN against the artifact the step is acting
|
|
117
|
+
* under. This is where "does this step belong to this intent" is decided: the verifier computed the
|
|
118
|
+
* step's digest from the step, and the caveat carries the digest the grantor signed. On chain the
|
|
119
|
+
* enforcer only holds the redeemer to its stated commitment; here the two are actually compared.
|
|
120
|
+
*
|
|
121
|
+
* ctx.digests[kind] present ⇒ must equal the bound digest, else DENY
|
|
122
|
+
* absent, enforceOnChain ⇒ inert (a liveness check has no step to judge against)
|
|
123
|
+
* absent, strict ⇒ DENY — a mandate evaluated with no intent is not an authorization
|
|
124
|
+
*/
|
|
125
|
+
function evalPayloadClasses(c, ctx, opts) {
|
|
126
|
+
let allowed;
|
|
127
|
+
try {
|
|
128
|
+
allowed = decodePayloadClassesTerms(c.terms);
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
return { enforcer: c.enforcer, allowed: false, reason: `payload-classes decode error: ${e instanceof Error ? e.message : e}` };
|
|
132
|
+
}
|
|
133
|
+
// A LIVENESS check (no step: no selector, no target) has nothing to hold the caveat to and is not the
|
|
134
|
+
// authorization decision; the step's own verification is, and it always carries a selector. Only there is an
|
|
135
|
+
// undeclared payload a denial. (`enforceOnChain` alone is not enough: an on-chain-redeeming step still has a
|
|
136
|
+
// payload the chain cannot read.)
|
|
137
|
+
if (!ctx.payloadClasses && opts.enforceOnChain && ctx.selector === undefined && ctx.target === undefined)
|
|
138
|
+
return { enforcer: c.enforcer, allowed: true, reason: 'liveness only — judged at the step' };
|
|
139
|
+
if (!ctx.payloadClasses)
|
|
140
|
+
return { enforcer: c.enforcer, allowed: false, reason: 'the mandate names what a write may carry and the step declares no payload classes — an undeclared payload cannot be within it' };
|
|
141
|
+
const set = new Set(allowed.map((a) => a.toLowerCase()));
|
|
142
|
+
const outside = ctx.payloadClasses.filter((k) => !set.has(k.toLowerCase()));
|
|
143
|
+
if (outside.length)
|
|
144
|
+
return { enforcer: c.enforcer, allowed: false, reason: `the write carries ${outside.join(', ')}, which the mandate does not allow (allowed: ${allowed.join(', ')})` };
|
|
145
|
+
return { enforcer: c.enforcer, allowed: true, reason: 'payload classes within the mandate' };
|
|
146
|
+
}
|
|
147
|
+
function evalDigestBinding(c, ctx, opts) {
|
|
148
|
+
let kind;
|
|
149
|
+
let bound;
|
|
150
|
+
try {
|
|
151
|
+
[kind, bound] = decodeAbiParameters([{ type: 'bytes32' }, { type: 'bytes32' }], c.terms);
|
|
152
|
+
}
|
|
153
|
+
catch (e) {
|
|
154
|
+
return { enforcer: c.enforcer, allowed: false, reason: `digest-binding decode error: ${e instanceof Error ? e.message : e}` };
|
|
155
|
+
}
|
|
156
|
+
const name = DIGEST_KIND_NAMES.get(kind.toLowerCase());
|
|
157
|
+
if (!name)
|
|
158
|
+
return { enforcer: c.enforcer, allowed: false, reason: `digest-binding: unknown kind ${kind}` };
|
|
159
|
+
const presented = ctx.digests?.[name];
|
|
160
|
+
if (presented === undefined) {
|
|
161
|
+
if (opts.enforceOnChain)
|
|
162
|
+
return { enforcer: c.enforcer, allowed: true, reason: `${name} binding: enforced at the step, not at liveness` };
|
|
163
|
+
return { enforcer: c.enforcer, allowed: false, reason: `${name} binding present but no ${name} digest was supplied for this evaluation` };
|
|
164
|
+
}
|
|
165
|
+
if (presented.toLowerCase() !== bound.toLowerCase()) {
|
|
166
|
+
return { enforcer: c.enforcer, allowed: false, reason: `${name} digest mismatch: mandate is bound to ${bound}, step is acting under ${presented}` };
|
|
167
|
+
}
|
|
168
|
+
return { enforcer: c.enforcer, allowed: true };
|
|
169
|
+
}
|
|
170
|
+
/** Spec 408 §2.1 — the session leaf's audience: shape here (a non-empty address list); MEMBERSHIP of the
|
|
171
|
+
* presented delegation's delegate is judged by `sessionDelegateBindingError`, which is where the leaf and
|
|
172
|
+
* the root meet. A malformed or empty audience denies at the closest layer. */
|
|
173
|
+
function evalSessionAudience(c, _ctx, _opts) {
|
|
174
|
+
try {
|
|
175
|
+
decodeSessionAudienceTerms(c.terms);
|
|
176
|
+
return { enforcer: c.enforcer, allowed: true, reason: 'session-audience: membership judged by the DEL-001 binding' };
|
|
177
|
+
}
|
|
178
|
+
catch (e) {
|
|
179
|
+
return { enforcer: c.enforcer, allowed: false, reason: `session-audience: malformed terms — ${e instanceof Error ? e.message : e}` };
|
|
180
|
+
}
|
|
181
|
+
}
|
|
114
182
|
function evalInert(c, _ctx, opts) {
|
|
115
183
|
// DATA_SCOPE + DELEGATE_BINDING + on-chain-only enforcers (taskBinding,
|
|
116
184
|
// callDataHash, recovery, rateLimit) are evaluated outside this dispatcher
|
|
@@ -186,6 +254,17 @@ export function evaluateCaveats(caveats, ctx, enforcerMap, opts = {}) {
|
|
|
186
254
|
dispatch.set(MCP_TOOL_SCOPE_ENFORCER.toLowerCase(), evalMcpToolScope);
|
|
187
255
|
dispatch.set(DATA_SCOPE_ENFORCER.toLowerCase(), evalInert);
|
|
188
256
|
dispatch.set(DELEGATE_BINDING_ENFORCER.toLowerCase(), evalInert);
|
|
257
|
+
// Spec 278: VAULT_KEY_USE is enforced by the KAS (key-authorization), not on-chain
|
|
258
|
+
// or in this evaluator — inert here (shape-only / on-chain opt-in), like DATA_SCOPE.
|
|
259
|
+
dispatch.set(VAULT_KEY_USE_ENFORCER.toLowerCase(), evalInert);
|
|
260
|
+
// Spec 317: VAULT_RECORD_SCOPE is enforced by the resource server (demo-mcp vault runtime), not
|
|
261
|
+
// on-chain or in this evaluator — inert here (shape-only), like DATA_SCOPE / VAULT_KEY_USE.
|
|
262
|
+
dispatch.set(VAULT_RECORD_SCOPE_ENFORCER.toLowerCase(), evalInert);
|
|
263
|
+
// Spec 408 §2.1: the session leaf's audience — shape-checked here, membership judged by the DEL-001 binding.
|
|
264
|
+
dispatch.set(SESSION_AUDIENCE_ENFORCER.toLowerCase(), evalSessionAudience);
|
|
265
|
+
// Spec 305 W2 (Z2): the presentation scope is judged by the presentation mandate handler (`judgesEnforcers`), the
|
|
266
|
+
// off-chain judge of its terms, before a device key signs; inert here like the payment terms.
|
|
267
|
+
dispatch.set(PRESENTATION_SCOPE_ENFORCER.toLowerCase(), evalInert);
|
|
189
268
|
// On-chain-only enforcers are inert here (taskBinding, callDataHash, recovery, rateLimit).
|
|
190
269
|
if (enforcerMap.taskBinding)
|
|
191
270
|
dispatch.set(lower(enforcerMap.taskBinding), evalInert);
|
|
@@ -195,13 +274,34 @@ export function evaluateCaveats(caveats, ctx, enforcerMap, opts = {}) {
|
|
|
195
274
|
dispatch.set(lower(enforcerMap.recovery), evalInert);
|
|
196
275
|
if (enforcerMap.rateLimit)
|
|
197
276
|
dispatch.set(lower(enforcerMap.rateLimit), evalInert);
|
|
277
|
+
// Spec 272 PaymentEnforcer is STATEFUL (spend + frequency windows) and can only be judged on chain;
|
|
278
|
+
// off chain it is inert like callDataHash. It was missing from this table, so every payment
|
|
279
|
+
// delegation evaluated here was "unknown enforcer" ⇒ denied. The limits it encodes are compared by
|
|
280
|
+
// the mandate handler (`paymentHandler.isSubset`), which is the off-chain judge for them.
|
|
281
|
+
if (enforcerMap.payment)
|
|
282
|
+
dispatch.set(lower(enforcerMap.payment), evalInert);
|
|
283
|
+
// Spec 350 — digest bindings are judged HERE (off-chain, against the step) as well as on chain.
|
|
284
|
+
if (enforcerMap.digestBinding)
|
|
285
|
+
dispatch.set(lower(enforcerMap.digestBinding), evalDigestBinding);
|
|
286
|
+
// Spec 410 §7 — the information-flow caveat is judged HERE, against what the tool declares its write carries.
|
|
287
|
+
if (enforcerMap.payloadClasses)
|
|
288
|
+
dispatch.set(lower(enforcerMap.payloadClasses), evalPayloadClasses);
|
|
198
289
|
const verdicts = [];
|
|
199
290
|
for (const c of caveats) {
|
|
200
|
-
const
|
|
291
|
+
const key = c.enforcer.toLowerCase();
|
|
292
|
+
const fn = dispatch.get(key);
|
|
201
293
|
if (!fn) {
|
|
202
294
|
verdicts.push({ enforcer: c.enforcer, allowed: false, reason: 'unknown enforcer' });
|
|
203
295
|
continue;
|
|
204
296
|
}
|
|
297
|
+
// Spec 408 §2.2 — a caveat the CALLER judges itself (a type handler comparing its terms) is not judged
|
|
298
|
+
// here twice, and is not denied for lacking a context this evaluator never had. Shape checks still run:
|
|
299
|
+
// the verdict is taken in permissive mode for THIS caveat only, and renamed so the evidence says who judged.
|
|
300
|
+
if (opts.judgedElsewhere?.has(key)) {
|
|
301
|
+
const v = fn(c, ctx, { ...opts, enforceOnChain: true });
|
|
302
|
+
verdicts.push(v.allowed && v.reason ? { ...v, reason: 'judged-by-handler' } : v);
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
205
305
|
verdicts.push(fn(c, ctx, opts));
|
|
206
306
|
}
|
|
207
307
|
return verdicts;
|
package/dist/evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
|
package/dist/hash.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Hex, type Address } from 'viem';
|
|
2
|
-
import type { Caveat, Delegation } from './types';
|
|
2
|
+
import type { Caveat, Delegation } from './types.js';
|
|
3
3
|
export declare const DELEGATION_EIP712_TYPES: {
|
|
4
4
|
readonly Delegation: readonly [{
|
|
5
5
|
readonly name: "delegator";
|
package/dist/hash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiD,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiD,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKrD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AAEX,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO;;;;;EAO3E;AAWD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,GAAG,CAa9F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAclD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,41 @@
|
|
|
1
|
-
export { ROOT_AUTHORITY } from './types';
|
|
2
|
-
export { buildCaveat, buildMcpToolScopeCaveat, buildDataScopeCaveat, buildDelegateBindingCaveat, buildQuorumCaveat, encodeTimestampTerms, encodeValueTerms, encodeAllowedTargetsTerms, encodeAllowedMethodsTerms, MCP_TOOL_SCOPE_ENFORCER, DATA_SCOPE_ENFORCER, DELEGATE_BINDING_ENFORCER,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export
|
|
11
|
-
export
|
|
1
|
+
export { ROOT_AUTHORITY } from './types.js';
|
|
2
|
+
export { buildCaveat, buildMcpToolScopeCaveat, buildDataScopeCaveat, decodeDataScopeTerms, buildVaultKeyUseCaveat, decodeVaultKeyUseTerms, buildVaultRecordScopeCaveat, decodeVaultRecordScopeTerms, vaultRecordScopeAllows, buildDelegateBindingCaveat, buildQuorumCaveat, encodeTimestampTerms, encodeValueTerms, encodeAllowedTargetsTerms, encodeAllowedMethodsTerms, decodeTimestampTerms, decodeAllowedTargetsTerms, decodeAllowedMethodsTerms, encodeCallDataHashTerms, MCP_TOOL_SCOPE_ENFORCER, DATA_SCOPE_ENFORCER, DELEGATE_BINDING_ENFORCER, VAULT_KEY_USE_ENFORCER, VAULT_RECORD_SCOPE_ENFORCER, // spec 317 vault-record-scope sentinel
|
|
3
|
+
SESSION_AUDIENCE_ENFORCER, // spec 408 §2.1 session-audience sentinel (R917-P-2)
|
|
4
|
+
encodeSessionAudienceTerms, decodeSessionAudienceTerms, buildSessionAudienceCaveat, readSessionAudience, PAYMENT_TRANSFER_SELECTOR, encodePaymentTerms, decodePaymentTerms, buildPaymentMandateCaveats, describePaymentMandate, DIGEST_BINDING_KIND, encodeDigestBindingTerms, decodeDigestBindingTerms, encodeDigestBindingArgs, digestBindingStepNonce, buildDigestBindingCaveat, buildPayloadClassesCaveat, encodePayloadClassesTerms, decodePayloadClassesTerms, readDigestBindings, } from './caveats.js';
|
|
5
|
+
export type { QuorumCaveatOpts, PaymentMandateCaveatOpts, PaymentMandateConsent, DigestBindingKind, DigestBindingArgsScheme } from './caveats.js';
|
|
6
|
+
export { hashDelegation, hashCaveats, DELEGATION_EIP712_TYPES, delegationDomain } from './hash.js';
|
|
7
|
+
export { buildSessionDelegation } from './session-delegation.js';
|
|
8
|
+
export type { SessionDelegationParams } from './session-delegation.js';
|
|
9
|
+
export { evaluateCaveats } from './evaluator.js';
|
|
10
|
+
export { DelegationClient } from './client.js';
|
|
11
|
+
export { SessionManager, createMemorySessionStore } from './session-manager.js';
|
|
12
|
+
/**
|
|
13
|
+
* Spec 242 PD-9 — SDK helper for the `verifyAuthorization(...)` view entrypoint
|
|
14
|
+
* on DelegationManager.sol. View-only verification of a delegation chain.
|
|
15
|
+
* Consumed by `@agenticprimitives/attestations` for the bilateral-consent path.
|
|
16
|
+
*/
|
|
17
|
+
export { verifyAuthorization } from './verify-authorization.js';
|
|
18
|
+
export { authorizeMethodDelegation, verifyLiveDelegation, buildMethodAuthorityCaveats, methodSelector, } from './method-authorization.js';
|
|
19
|
+
export type { VerifyLiveDelegationInput, VerifyLiveDelegationResult, AuthorizeMethodInput, AuthorizeMethodResult, MethodAuthorizationChecks, } from './method-authorization.js';
|
|
20
|
+
export type { VerifyAuthorizationResult } from './verify-authorization.js';
|
|
21
|
+
export { mintDelegationToken, verifyDelegationToken, sessionDelegateBindingError } from './token.js';
|
|
22
|
+
export { isRevoked, buildRevokeDelegationCall, verifyUniversalSignature } from './onchain.js';
|
|
23
|
+
export { verifyOffChainQuorum } from './quorum.js';
|
|
24
|
+
export type { OffChainQuorumProof, VerifyOffChainQuorumInput, OffChainQuorumResult } from './quorum.js';
|
|
25
|
+
export { INVOCATION_PROOF_VERSION, INVOCATION_PROOF_EIP712_TYPES, DEFAULT_MAX_PROOF_TTL_MS, DEFAULT_PROOF_CLOCK_SKEW_MS, invocationProofDomain, hashInvocationProof, canonicalArgumentsHash, hashDelegationTokenString, buildInvocationProof, verifyInvocationProofClaims, } from './invocation-proof.js';
|
|
26
|
+
export type { AgenticInvocationProofV1, InvocationProofSignedFields, InvocationProofSignatureVerifier, VerifyInvocationProofInput, InvocationProofResult, } from './invocation-proof.js';
|
|
27
|
+
export type { Address, Hex, Caveat, CaveatContext, CaveatVerdict, Delegation, DataScopeGrant, VaultKeyUseGrant, VaultRecordScopeGrant, DelegationClientOpts, DelegationTokenClaims, EnforcerAddressMap, EvaluateOpts, JtiStore, JtiReservation, SessionMeta, SessionPackage, SessionRow, SessionStore, TxContext, VerifyError, VerifyOpts, } from './types.js';
|
|
28
|
+
export type { VerifyOptsExt } from './token.js';
|
|
29
|
+
export { intentDigest, registerSubsetHandler, subsetHandlerFor, baseIsSubset, deriveMandate, readMandate, verifyMandateForStep, _resetSubsetHandlers, withVersions, versionsOf, NO_SEMANTICS_DIGEST, type VersionBindingV1, } from './mandate.js';
|
|
30
|
+
export type { MandateRequirementV1, MandateSubsetHandler, SubsetHandlers, EnforcerAddresses, DeriveMandateInput, DeriveMandateResult, MandateStep, VerifyMandateInput, MandateDecision, DecisionReason, DecisionEvidence, Obligation, } from './mandate.js';
|
|
31
|
+
export { CAPABILITY_RAR_TYPE, PAYMENT_RAR_TYPE, DEFAULT_SUBSET_HANDLERS, capabilityHandler, paymentHandler, registerDefaultSubsetHandlers, _resetDefaultRegistration, } from './mandate-handlers.js';
|
|
32
|
+
export { assembleAuthorityChain, verifyAuthorityChain, AUTHORITY_CHAIN_MAX_DEPTH } from './authority-chain.js';
|
|
33
|
+
export type { AuthorityChainV1, AuthorityChainLinkV1, AuthorityChainFailure, AssembleAuthorityChainResult } from './authority-chain.js';
|
|
34
|
+
export { reissueForRotation, currentWireOf, wireSigning, lineageRecordType, LINEAGE_RECORD_PREFIX, APPROVED_DIGEST_SENTINEL, type DelegationLineageV1, type LineageWire, type WireLineageAnswer } from './lineage.js';
|
|
35
|
+
export { buildStandingWire, signedStandingWire, parkedNeedOf, standingCovers, standingFor, deriveFromStanding, isStandingWire, standingRequirementType, type StandingWireV1, type BuildStandingWireInput, type ParkedNeedV1, type DerivedChain, } from './standing.js';
|
|
36
|
+
export { PRESENTATION_SCOPE_ENFORCER, encodePresentationScopeTerms, decodePresentationScopeTerms, buildPresentationScopeCaveat, type PresentationScopeTerms, } from './caveats.js';
|
|
37
|
+
export { PRESENTATION_RAR_TYPE, PRESENTATION_CAPABILITY, presentationHandler } from './mandate-handlers.js';
|
|
38
|
+
export { createPresentationRelease, presentationIntent, parseAudienceBoundChallenge, PresentationReleaseRefused, boundEvidenceClaims, boundEvidenceFrom, type BoundEvidenceFactsV1, type BoundEvidencePort, } from './presentation-release.js';
|
|
39
|
+
export { createEs256EvidenceMinter, type Es256EvidenceMinter, type Es256EvidenceMinterInput } from './es256-evidence-minter.js';
|
|
40
|
+
export { type PresentationIntentV1, type PresentationStepV1, type PresentationRelease, type PresentationReleaseInput, type DeviceSignerLike, type PresentationRefusalCode, } from './presentation-release.js';
|
|
12
41
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,53 @@
|
|
|
1
1
|
// @agenticprimitives/delegation — public API
|
|
2
2
|
//
|
|
3
3
|
// See ../../specs/202-delegation.md for the full contract.
|
|
4
|
-
export { ROOT_AUTHORITY } from './types';
|
|
5
|
-
export { buildCaveat, buildMcpToolScopeCaveat, buildDataScopeCaveat, buildDelegateBindingCaveat, buildQuorumCaveat, encodeTimestampTerms, encodeValueTerms, encodeAllowedTargetsTerms, encodeAllowedMethodsTerms, MCP_TOOL_SCOPE_ENFORCER, DATA_SCOPE_ENFORCER, DELEGATE_BINDING_ENFORCER,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export {
|
|
9
|
-
|
|
4
|
+
export { ROOT_AUTHORITY } from './types.js';
|
|
5
|
+
export { buildCaveat, buildMcpToolScopeCaveat, buildDataScopeCaveat, decodeDataScopeTerms, buildVaultKeyUseCaveat, decodeVaultKeyUseTerms, buildVaultRecordScopeCaveat, decodeVaultRecordScopeTerms, vaultRecordScopeAllows, buildDelegateBindingCaveat, buildQuorumCaveat, encodeTimestampTerms, encodeValueTerms, encodeAllowedTargetsTerms, encodeAllowedMethodsTerms, decodeTimestampTerms, decodeAllowedTargetsTerms, decodeAllowedMethodsTerms, encodeCallDataHashTerms, MCP_TOOL_SCOPE_ENFORCER, DATA_SCOPE_ENFORCER, DELEGATE_BINDING_ENFORCER, VAULT_KEY_USE_ENFORCER, VAULT_RECORD_SCOPE_ENFORCER, // spec 317 vault-record-scope sentinel
|
|
6
|
+
SESSION_AUDIENCE_ENFORCER, // spec 408 §2.1 session-audience sentinel (R917-P-2)
|
|
7
|
+
encodeSessionAudienceTerms, decodeSessionAudienceTerms, buildSessionAudienceCaveat, readSessionAudience, PAYMENT_TRANSFER_SELECTOR, encodePaymentTerms, decodePaymentTerms, buildPaymentMandateCaveats, describePaymentMandate, DIGEST_BINDING_KIND, encodeDigestBindingTerms, decodeDigestBindingTerms, encodeDigestBindingArgs, digestBindingStepNonce, buildDigestBindingCaveat, buildPayloadClassesCaveat, encodePayloadClassesTerms, decodePayloadClassesTerms, readDigestBindings, } from './caveats.js';
|
|
8
|
+
export { hashDelegation, hashCaveats, DELEGATION_EIP712_TYPES, delegationDomain } from './hash.js';
|
|
9
|
+
// DEL-001 session-delegation leaf builder (spec 270 v4 W2) — every connect flow uses this.
|
|
10
|
+
export { buildSessionDelegation } from './session-delegation.js';
|
|
11
|
+
export { evaluateCaveats } from './evaluator.js';
|
|
12
|
+
export { DelegationClient } from './client.js';
|
|
13
|
+
export { SessionManager, createMemorySessionStore } from './session-manager.js';
|
|
14
|
+
/**
|
|
15
|
+
* Spec 242 PD-9 — SDK helper for the `verifyAuthorization(...)` view entrypoint
|
|
16
|
+
* on DelegationManager.sol. View-only verification of a delegation chain.
|
|
17
|
+
* Consumed by `@agenticprimitives/attestations` for the bilateral-consent path.
|
|
18
|
+
*/
|
|
19
|
+
export { verifyAuthorization } from './verify-authorization.js';
|
|
20
|
+
// Generic method authorization (spec 338 W6-c) — "may this delegate perform METHOD on behalf of
|
|
21
|
+
// TARGET?". The rail every plane composes instead of inventing its own authority record.
|
|
22
|
+
export { authorizeMethodDelegation, verifyLiveDelegation, buildMethodAuthorityCaveats, methodSelector, } from './method-authorization.js';
|
|
10
23
|
// H7-B.8: `verifyCrossDelegation` removed from the public surface (XPKG-002 /
|
|
11
24
|
// EXT-024 closure). The stub unconditionally returned a "not implemented"
|
|
12
25
|
// error string — a public symbol that lies about runtime capability. When the
|
|
13
26
|
// work resumes it lands behind `./experimental` per spec 100 §6.
|
|
14
|
-
export { mintDelegationToken, verifyDelegationToken } from './token';
|
|
15
|
-
export { isRevoked,
|
|
27
|
+
export { mintDelegationToken, verifyDelegationToken, sessionDelegateBindingError } from './token.js';
|
|
28
|
+
export { isRevoked, buildRevokeDelegationCall, verifyUniversalSignature } from './onchain.js';
|
|
29
|
+
// Off-chain quorum verification (spec 291 §6b) — for MCP-only ops that never redeem on chain.
|
|
30
|
+
export { verifyOffChainQuorum } from './quorum.js';
|
|
31
|
+
// Agentic Invocation Proof (spec 287) — per-call proof-of-possession for the
|
|
32
|
+
// public native MCP ingress. Crypto primitive only; mcp-runtime wires it.
|
|
33
|
+
export { INVOCATION_PROOF_VERSION, INVOCATION_PROOF_EIP712_TYPES, DEFAULT_MAX_PROOF_TTL_MS, DEFAULT_PROOF_CLOCK_SKEW_MS, invocationProofDomain, hashInvocationProof, canonicalArgumentsHash, hashDelegationTokenString, buildInvocationProof, verifyInvocationProofClaims, } from './invocation-proof.js';
|
|
34
|
+
// ─── Spec 350 §2 / spec 336 E4 — mandates: a delegation with a reason ──────────────────────────────
|
|
35
|
+
export { intentDigest, registerSubsetHandler, subsetHandlerFor, baseIsSubset, deriveMandate, readMandate, verifyMandateForStep, _resetSubsetHandlers,
|
|
36
|
+
// Spec 410 §5 — version binding
|
|
37
|
+
withVersions, versionsOf, NO_SEMANTICS_DIGEST, } from './mandate.js';
|
|
38
|
+
export { CAPABILITY_RAR_TYPE, PAYMENT_RAR_TYPE, DEFAULT_SUBSET_HANDLERS, capabilityHandler, paymentHandler, registerDefaultSubsetHandlers, _resetDefaultRegistration, } from './mandate-handlers.js';
|
|
39
|
+
// Spec 383 — the portable authority chain: assembled from what was presented, refused with a link missing, every parent verified live.
|
|
40
|
+
export { assembleAuthorityChain, verifyAuthorityChain, AUTHORITY_CHAIN_MAX_DEPTH } from './authority-chain.js';
|
|
41
|
+
// Spec 410 §1.2 — delegation lineage: a key-signed wire re-issued for a rotation, and the head of its chain.
|
|
42
|
+
export { reissueForRotation, currentWireOf, wireSigning, lineageRecordType, LINEAGE_RECORD_PREFIX, APPROVED_DIGEST_SENTINEL } from './lineage.js';
|
|
43
|
+
// Spec 397 `act-as-me` / spec 400 W2a — STANDING WIRES: one capability decided once (no intent binding); the holder of
|
|
44
|
+
// the delegate key derives the mandate a parked run asked for and presents the chain [child, standing].
|
|
45
|
+
export { buildStandingWire, signedStandingWire, parkedNeedOf, standingCovers, standingFor, deriveFromStanding, isStandingWire, standingRequirementType, } from './standing.js';
|
|
46
|
+
// Spec 305 W2 / zkID alignment §3 (Z2) — DELEGATED PRESENTATION: the `credential.present` requirement type, the
|
|
47
|
+
// presentation-scope caveat, and the key release that judges a mandate per signature before the device key signs.
|
|
48
|
+
export { PRESENTATION_SCOPE_ENFORCER, encodePresentationScopeTerms, decodePresentationScopeTerms, buildPresentationScopeCaveat, } from './caveats.js';
|
|
49
|
+
export { PRESENTATION_RAR_TYPE, PRESENTATION_CAPABILITY, presentationHandler } from './mandate-handlers.js';
|
|
50
|
+
export { createPresentationRelease, presentationIntent, parseAudienceBoundChallenge, PresentationReleaseRefused, boundEvidenceClaims, boundEvidenceFrom, } from './presentation-release.js';
|
|
51
|
+
// The release's attestation key: mints the bound-evidence statement a key-service P-256 key signs under (faithkms ADR-0012).
|
|
52
|
+
export { createEs256EvidenceMinter } from './es256-evidence-minter.js';
|
|
16
53
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,2DAA2D;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { Address, Hex } from '@agenticprimitives/types';
|
|
2
|
+
import type { JtiStore } from './types.js';
|
|
3
|
+
export declare const INVOCATION_PROOF_VERSION: "agentic-invocation-v1";
|
|
4
|
+
/** Default bounded TTL window (spec 287 §5). */
|
|
5
|
+
export declare const DEFAULT_MAX_PROOF_TTL_MS = 120000;
|
|
6
|
+
export declare const DEFAULT_PROOF_CLOCK_SKEW_MS = 30000;
|
|
7
|
+
/**
|
|
8
|
+
* The proof envelope. `chainId` + `audience` are domain separators; `principal`
|
|
9
|
+
* and `sessionKey` are carried for the runtime's cross-checks but are NOT in the
|
|
10
|
+
* signed message — their binding is closed by signature recovery + the delegation
|
|
11
|
+
* token's `sub` (spec 287 §6).
|
|
12
|
+
*/
|
|
13
|
+
export interface AgenticInvocationProofV1 {
|
|
14
|
+
version: typeof INVOCATION_PROOF_VERSION;
|
|
15
|
+
chainId: number;
|
|
16
|
+
audience: string;
|
|
17
|
+
principal: Address;
|
|
18
|
+
sessionKey: Address;
|
|
19
|
+
operation: string;
|
|
20
|
+
argumentsHash: Hex;
|
|
21
|
+
delegationTokenHash: Hex;
|
|
22
|
+
requestId: string;
|
|
23
|
+
issuedAt: number;
|
|
24
|
+
expiresAt: number;
|
|
25
|
+
signature: Hex;
|
|
26
|
+
}
|
|
27
|
+
/** The signed fields (spec 287 §3) — `chainId` rides in the EIP-712 domain. */
|
|
28
|
+
export type InvocationProofSignedFields = Pick<AgenticInvocationProofV1, 'chainId' | 'audience' | 'operation' | 'argumentsHash' | 'delegationTokenHash' | 'requestId' | 'issuedAt' | 'expiresAt'>;
|
|
29
|
+
export declare const INVOCATION_PROOF_EIP712_TYPES: {
|
|
30
|
+
readonly AgenticInvocationProofV1: readonly [{
|
|
31
|
+
readonly name: "audience";
|
|
32
|
+
readonly type: "string";
|
|
33
|
+
}, {
|
|
34
|
+
readonly name: "operation";
|
|
35
|
+
readonly type: "string";
|
|
36
|
+
}, {
|
|
37
|
+
readonly name: "argumentsHash";
|
|
38
|
+
readonly type: "bytes32";
|
|
39
|
+
}, {
|
|
40
|
+
readonly name: "delegationTokenHash";
|
|
41
|
+
readonly type: "bytes32";
|
|
42
|
+
}, {
|
|
43
|
+
readonly name: "requestId";
|
|
44
|
+
readonly type: "string";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "issuedAt";
|
|
47
|
+
readonly type: "uint256";
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "expiresAt";
|
|
50
|
+
readonly type: "uint256";
|
|
51
|
+
}];
|
|
52
|
+
};
|
|
53
|
+
/** EIP-712 domain — no `verifyingContract` (this is an off-chain proof). */
|
|
54
|
+
export declare function invocationProofDomain(chainId: number): {
|
|
55
|
+
readonly name: "AgenticInvocationProof";
|
|
56
|
+
readonly version: "1";
|
|
57
|
+
readonly chainId: number;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* The digest the session key signs (and the verifier recomputes). Building it is
|
|
61
|
+
* pure — importable client-side to build + sign a proof.
|
|
62
|
+
*/
|
|
63
|
+
export declare function hashInvocationProof(p: InvocationProofSignedFields): Hex;
|
|
64
|
+
/**
|
|
65
|
+
* Canonical hash of the EXACT tool arguments (spec 287 §4). Uses the repo's
|
|
66
|
+
* cross-runtime-stable `canonicalJSON` so the client's signed hash and the
|
|
67
|
+
* runtime's recomputed hash are byte-identical. The runtime MUST recompute this
|
|
68
|
+
* from the args it actually received — never trust the client's stated value.
|
|
69
|
+
*/
|
|
70
|
+
export declare function canonicalArgumentsHash(args: unknown): Hex;
|
|
71
|
+
/** Bind the proof to the presented delegation token (spec 287 §4). */
|
|
72
|
+
export declare function hashDelegationTokenString(rawToken: string): Hex;
|
|
73
|
+
/**
|
|
74
|
+
* Client-side builder: assemble + sign an invocation proof. The caller supplies
|
|
75
|
+
* a `sign(digest)` that produces the session key's signature over the EIP-712
|
|
76
|
+
* digest (e.g. `account.sign({ hash })` for an EOA session key, or any SA
|
|
77
|
+
* `Signer`). `args` MUST be the exact tool arguments the call will
|
|
78
|
+
* carry — the runtime recomputes `canonicalArgumentsHash(args)` from what it
|
|
79
|
+
* receives and rejects a mismatch. Pure (no chain); importable in the browser.
|
|
80
|
+
*/
|
|
81
|
+
export declare function buildInvocationProof(input: {
|
|
82
|
+
chainId: number;
|
|
83
|
+
audience: string;
|
|
84
|
+
principal: Address;
|
|
85
|
+
sessionKey: Address;
|
|
86
|
+
operation: string;
|
|
87
|
+
/** The exact tool arguments (excluding the token/quorumProof/invocationProof envelope). */
|
|
88
|
+
args: unknown;
|
|
89
|
+
/** The raw delegation token string presented alongside this call. */
|
|
90
|
+
rawDelegationToken: string;
|
|
91
|
+
requestId: string;
|
|
92
|
+
issuedAt: number;
|
|
93
|
+
expiresAt: number;
|
|
94
|
+
sign: (digest: Hex) => Promise<Hex>;
|
|
95
|
+
}): Promise<AgenticInvocationProofV1>;
|
|
96
|
+
/** Injected signature verifier — wired to `UniversalSignatureValidator` in prod. */
|
|
97
|
+
export type InvocationProofSignatureVerifier = (input: {
|
|
98
|
+
signer: Address;
|
|
99
|
+
digest: Hex;
|
|
100
|
+
signature: Hex;
|
|
101
|
+
}) => Promise<boolean>;
|
|
102
|
+
export interface VerifyInvocationProofInput {
|
|
103
|
+
proof: AgenticInvocationProofV1;
|
|
104
|
+
/** Server-recomputed values the proof MUST match (never the client's claims). */
|
|
105
|
+
expected: {
|
|
106
|
+
chainId: number;
|
|
107
|
+
audience: string;
|
|
108
|
+
operation: string;
|
|
109
|
+
argumentsHash: Hex;
|
|
110
|
+
delegationTokenHash: Hex;
|
|
111
|
+
};
|
|
112
|
+
verifySignature: InvocationProofSignatureVerifier;
|
|
113
|
+
jtiStore: JtiStore;
|
|
114
|
+
now?: () => number;
|
|
115
|
+
maxProofTtlMs?: number;
|
|
116
|
+
clockSkewMs?: number;
|
|
117
|
+
}
|
|
118
|
+
export type InvocationProofResult = {
|
|
119
|
+
ok: true;
|
|
120
|
+
} | {
|
|
121
|
+
ok: false;
|
|
122
|
+
reason: string;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Verify an invocation proof. Cheap local checks gate first; the (potentially
|
|
126
|
+
* chain-bound) signature verify runs next; the one-shot `requestId` is reserved
|
|
127
|
+
* ONLY after the signature verifies (so an unauthenticated party can't burn a
|
|
128
|
+
* victim's requestId). Fail-closed: every failure returns `{ ok: false, reason }`.
|
|
129
|
+
* Callers MUST NOT echo `reason` to external clients — log it, return a generic
|
|
130
|
+
* error (spec 287 §5, ADR-0013).
|
|
131
|
+
*/
|
|
132
|
+
export declare function verifyInvocationProofClaims(input: VerifyInvocationProofInput): Promise<InvocationProofResult>;
|
|
133
|
+
//# sourceMappingURL=invocation-proof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-proof.d.ts","sourceRoot":"","sources":["../src/invocation-proof.ts"],"names":[],"mappings":"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"}
|