@agenticprimitives/delegation 1.0.0-alpha.4 → 1.0.0-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +19 -2
  2. package/dist/authority-chain.d.ts +59 -0
  3. package/dist/authority-chain.d.ts.map +1 -0
  4. package/dist/authority-chain.js +70 -0
  5. package/dist/authority-chain.js.map +1 -0
  6. package/dist/caveats.d.ts +196 -1
  7. package/dist/caveats.d.ts.map +1 -1
  8. package/dist/caveats.js +374 -2
  9. package/dist/caveats.js.map +1 -1
  10. package/dist/client.d.ts +1 -1
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +2 -2
  13. package/dist/client.js.map +1 -1
  14. package/dist/evaluator.d.ts +1 -1
  15. package/dist/evaluator.d.ts.map +1 -1
  16. package/dist/evaluator.js +102 -2
  17. package/dist/evaluator.js.map +1 -1
  18. package/dist/hash.d.ts +1 -1
  19. package/dist/hash.d.ts.map +1 -1
  20. package/dist/index.d.ts +38 -11
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +43 -8
  23. package/dist/index.js.map +1 -1
  24. package/dist/invocation-proof.d.ts +133 -0
  25. package/dist/invocation-proof.d.ts.map +1 -0
  26. package/dist/invocation-proof.js +157 -0
  27. package/dist/invocation-proof.js.map +1 -0
  28. package/dist/lineage.d.ts +70 -0
  29. package/dist/lineage.d.ts.map +1 -0
  30. package/dist/lineage.js +65 -0
  31. package/dist/lineage.js.map +1 -0
  32. package/dist/mandate-handlers.d.ts +15 -0
  33. package/dist/mandate-handlers.d.ts.map +1 -0
  34. package/dist/mandate-handlers.js +279 -0
  35. package/dist/mandate-handlers.js.map +1 -0
  36. package/dist/mandate.d.ts +265 -0
  37. package/dist/mandate.d.ts.map +1 -0
  38. package/dist/mandate.js +275 -0
  39. package/dist/mandate.js.map +1 -0
  40. package/dist/method-authorization.d.ts +120 -0
  41. package/dist/method-authorization.d.ts.map +1 -0
  42. package/dist/method-authorization.js +173 -0
  43. package/dist/method-authorization.js.map +1 -0
  44. package/dist/onchain.d.ts +40 -4
  45. package/dist/onchain.d.ts.map +1 -1
  46. package/dist/onchain.js +140 -6
  47. package/dist/onchain.js.map +1 -1
  48. package/dist/presentation-release.d.ts +65 -0
  49. package/dist/presentation-release.d.ts.map +1 -0
  50. package/dist/presentation-release.js +81 -0
  51. package/dist/presentation-release.js.map +1 -0
  52. package/dist/quorum.d.ts +26 -0
  53. package/dist/quorum.d.ts.map +1 -0
  54. package/dist/quorum.js +80 -0
  55. package/dist/quorum.js.map +1 -0
  56. package/dist/session-delegation.d.ts +34 -0
  57. package/dist/session-delegation.d.ts.map +1 -0
  58. package/dist/session-delegation.js +33 -0
  59. package/dist/session-delegation.js.map +1 -0
  60. package/dist/session-manager.d.ts +1 -2
  61. package/dist/session-manager.d.ts.map +1 -1
  62. package/dist/session-manager.js +15 -6
  63. package/dist/session-manager.js.map +1 -1
  64. package/dist/standing.d.ts +101 -0
  65. package/dist/standing.d.ts.map +1 -0
  66. package/dist/standing.js +132 -0
  67. package/dist/standing.js.map +1 -0
  68. package/dist/token.d.ts +89 -1
  69. package/dist/token.d.ts.map +1 -1
  70. package/dist/token.js +485 -123
  71. package/dist/token.js.map +1 -1
  72. package/dist/types.d.ts +141 -0
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/types.js +7 -1
  75. package/dist/types.js.map +1 -1
  76. package/dist/verify-authorization.d.ts +28 -0
  77. package/dist/verify-authorization.d.ts.map +1 -0
  78. package/dist/verify-authorization.js +73 -0
  79. package/dist/verify-authorization.js.map +1 -0
  80. 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 { MCP_TOOL_SCOPE_ENFORCER, DATA_SCOPE_ENFORCER, DELEGATE_BINDING_ENFORCER, } from './caveats';
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 fn = dispatch.get(c.enforcer.toLowerCase());
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;
@@ -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";
@@ -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,SAAS,CAAC;AAKlD,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"}
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,39 @@
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, } from './caveats';
3
- export type { QuorumCaveatOpts } from './caveats';
4
- export { hashDelegation, hashCaveats, DELEGATION_EIP712_TYPES, delegationDomain } from './hash';
5
- export { evaluateCaveats } from './evaluator';
6
- export { DelegationClient } from './client';
7
- export { SessionManager, createMemorySessionStore } from './session-manager';
8
- export { mintDelegationToken, verifyDelegationToken } from './token';
9
- export { isRevoked, revokeDelegation } from './onchain';
10
- export type { Address, Hex, Caveat, CaveatContext, CaveatVerdict, Delegation, DataScopeGrant, DelegationClientOpts, DelegationTokenClaims, EnforcerAddressMap, EvaluateOpts, JtiStore, SessionMeta, SessionPackage, SessionRow, SessionStore, TxContext, VerifyError, VerifyOpts, } from './types';
11
- export type { VerifyOptsExt } from './token';
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, type PresentationIntentV1, type PresentationStepV1, type PresentationRelease, type PresentationReleaseInput, type DeviceSignerLike, type PresentationRefusalCode, } from './presentation-release.js';
12
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAM7E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExD,YAAY,EACV,OAAO,EACP,GAAG,EACH,MAAM,EACN,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AAKjB,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
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,51 @@
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, } from './caveats';
6
- export { hashDelegation, hashCaveats, DELEGATION_EIP712_TYPES, delegationDomain } from './hash';
7
- export { evaluateCaveats } from './evaluator';
8
- export { DelegationClient } from './client';
9
- export { SessionManager, createMemorySessionStore } from './session-manager';
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, revokeDelegation } from './onchain';
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, } from './presentation-release.js';
16
51
  //# 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,SAAS,CAAC;AAEzC,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,iEAAiE;AACjE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
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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"}