@decionis/agent-safe-pipeline 0.3.6 → 0.3.8

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 (56) hide show
  1. package/README.md +2 -2
  2. package/dist/approval/PresenceApprovalCoordinator.d.ts +2 -2
  3. package/dist/audit/AuditRecorder.d.ts +5 -5
  4. package/dist/decision/DecionisGate.d.ts +11 -5
  5. package/dist/decision/DecionisGate.d.ts.map +1 -1
  6. package/dist/decision/DecionisGate.js +119 -16
  7. package/dist/decision/DecionisGate.js.map +1 -1
  8. package/dist/decision/DecisionAuthority.d.ts +43 -3
  9. package/dist/decision/DecisionAuthority.d.ts.map +1 -1
  10. package/dist/decision/DecisionAuthority.js +2 -2
  11. package/dist/decision/DecisionAuthority.js.map +1 -1
  12. package/dist/decision/FixtureDecisionAuthority.d.ts +7 -3
  13. package/dist/decision/FixtureDecisionAuthority.d.ts.map +1 -1
  14. package/dist/decision/FixtureDecisionAuthority.js +26 -3
  15. package/dist/decision/FixtureDecisionAuthority.js.map +1 -1
  16. package/dist/decision/ImmutableDecisionGate.d.ts +3 -0
  17. package/dist/decision/ImmutableDecisionGate.d.ts.map +1 -0
  18. package/dist/decision/{ImmutableGateDecision.js → ImmutableDecisionGate.js} +2 -2
  19. package/dist/decision/{ImmutableGateDecision.js.map → ImmutableDecisionGate.js.map} +1 -1
  20. package/dist/decision/ShadowGate.d.ts +2 -2
  21. package/dist/decision/ShadowGate.js +2 -2
  22. package/dist/decision/edge/EdgeDecisionAuthority.d.ts +2 -2
  23. package/dist/decision/edge/EdgeDecisionAuthority.js +2 -2
  24. package/dist/execution/AuthorizationVerifier.d.ts +19 -4
  25. package/dist/execution/AuthorizationVerifier.d.ts.map +1 -1
  26. package/dist/execution/AuthorizationVerifier.js +34 -0
  27. package/dist/execution/AuthorizationVerifier.js.map +1 -1
  28. package/dist/execution/LocalAuthorizationVerifier.d.ts +6 -2
  29. package/dist/execution/LocalAuthorizationVerifier.d.ts.map +1 -1
  30. package/dist/execution/LocalAuthorizationVerifier.js +19 -0
  31. package/dist/execution/LocalAuthorizationVerifier.js.map +1 -1
  32. package/dist/execution/SafeExecutor.d.ts +31 -5
  33. package/dist/execution/SafeExecutor.d.ts.map +1 -1
  34. package/dist/execution/SafeExecutor.js +53 -1
  35. package/dist/execution/SafeExecutor.js.map +1 -1
  36. package/dist/report/DecisionReport.d.ts +2 -2
  37. package/dist/report/HostedOutcome.d.ts +2 -2
  38. package/dist/shadow/ShadowPipeline.d.ts +4 -2
  39. package/dist/shadow/ShadowPipeline.d.ts.map +1 -1
  40. package/dist/shadow/ShadowPipeline.js +3 -3
  41. package/dist/shadow/ShadowPipeline.js.map +1 -1
  42. package/dist/testing/Index.d.ts +2 -1
  43. package/dist/testing/Index.d.ts.map +1 -1
  44. package/dist/testing/Index.js +2 -1
  45. package/dist/testing/Index.js.map +1 -1
  46. package/dist/testing/LocalAuthority.d.ts +45 -1
  47. package/dist/testing/LocalAuthority.d.ts.map +1 -1
  48. package/dist/testing/LocalAuthority.js +71 -2
  49. package/dist/testing/LocalAuthority.js.map +1 -1
  50. package/dist/testing/SignedSignals.d.ts +150 -0
  51. package/dist/testing/SignedSignals.d.ts.map +1 -0
  52. package/dist/testing/SignedSignals.js +291 -0
  53. package/dist/testing/SignedSignals.js.map +1 -0
  54. package/package.json +1 -1
  55. package/dist/decision/ImmutableGateDecision.d.ts +0 -3
  56. package/dist/decision/ImmutableGateDecision.d.ts.map +0 -1
@@ -58,8 +58,24 @@ export interface AttestedHumanApprovalEvidence {
58
58
  readonly provider: "attestation";
59
59
  readonly attestation: string;
60
60
  }
61
+ /**
62
+ * A producer's signed, standing signal about a subject (a compact Ed25519
63
+ * JWS, at most 20,000 characters): a cardholder's grant of permission to an
64
+ * agent, within limits and until a time, as Koard's "Tap to Authenticate"
65
+ * produces it. Evidence, never authority: the authority verifies it against
66
+ * the key the organisation registered for the producer (purpose
67
+ * `signed_signal`), writes the verified facts under
68
+ * `agent_safe.signed_signals.<name>` for policy to name, and records facts
69
+ * only. This package carries the token bounded and shaped, never reads it,
70
+ * and never writes it to a record: it is not kept on the decision.
71
+ */
72
+ export interface SignedSignalEvidence {
73
+ readonly token: string;
74
+ }
61
75
  export interface DecisionEvidence {
62
76
  readonly humanApproval?: HumanApprovalEvidence | AttestedHumanApprovalEvidence;
77
+ /** At most eight; verified before the evaluation, and only on the hosted authority. */
78
+ readonly signals?: readonly SignedSignalEvidence[];
63
79
  }
64
80
  /**
65
81
  * What Decionis said about the same intent when a hosted evaluation ran
@@ -83,7 +99,29 @@ export interface HostedEvaluation {
83
99
  */
84
100
  readonly verificationUrl: string | null;
85
101
  }
86
- export interface GateDecision {
102
+ /**
103
+ * Where an `ESCALATE` goes, as the authority read it from the policy: which
104
+ * authority the policy requires (its kind and role, never a person) and who
105
+ * proves that person, by which method. `decionis` names Decionis Presence;
106
+ * any other provider is a third party whose signed attestation resumes the
107
+ * hold (a cardholder's card tap through the issuer's app). Routing, never
108
+ * authority: only a fresh evaluation with the proof as evidence can turn the
109
+ * hold into a grant.
110
+ */
111
+ export interface EscalationRequirement {
112
+ readonly requirementId: string | null;
113
+ readonly expiresAt: string;
114
+ readonly selector: {
115
+ readonly kind: "ROLE" | "PRINCIPAL";
116
+ readonly roleId?: string;
117
+ } | null;
118
+ readonly verification: {
119
+ readonly provider: string;
120
+ readonly methods: readonly string[];
121
+ readonly level: "STANDARD" | "HIGH_CONFIDENCE";
122
+ } | null;
123
+ }
124
+ export interface DecisionGate {
87
125
  readonly verdict: DecisionVerdict;
88
126
  readonly decisionId: string;
89
127
  readonly dossierId: string | null;
@@ -102,6 +140,8 @@ export interface GateDecision {
102
140
  readonly managedEscalation?: ManagedEscalationState;
103
141
  /** Present only when a hosted Decionis evaluation ran beside the local authority. */
104
142
  readonly hosted?: HostedEvaluation;
143
+ /** Present on an `ESCALATE` when the authority said where it goes. */
144
+ readonly escalationRequirement?: EscalationRequirement;
105
145
  }
106
146
  export interface DecisionAuthority {
107
147
  /**
@@ -110,9 +150,9 @@ export interface DecisionAuthority {
110
150
  * cannot be sent through a grant-issuing path by mistake.
111
151
  */
112
152
  readonly evaluationMode?: DecisionEvaluationMode;
113
- evaluate(intent: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<GateDecision>;
153
+ evaluate(intent: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<DecisionGate>;
114
154
  }
115
155
  export declare class FailClosedDecision {
116
- static create(intentHash: string, reasonCode: string): GateDecision;
156
+ static create(intentHash: string, reasonCode: string): DecisionGate;
117
157
  }
118
158
  //# sourceMappingURL=DecisionAuthority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionAuthority.d.ts","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE9D,uFAAuF;AACvF,MAAM,MAAM,mCAAmC,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,yBAAyB,CAAC,EAAE;QACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,mCAAmC,EAAE,CAAC;QACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,wBAAwB,CAAC;CAChD;AAED,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,SAAS,GACT,UAAU,GACV,SAAS,GACT,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAExF,8FAA8F;AAC9F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,GAAG,6BAA6B,CAAC;CAChF;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,0GAA0G;IAC1G,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,mFAAmF;IACnF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IACpD,qFAAqF;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CACN,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAED,qBAAa,kBAAkB;WACf,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY;CAW3E"}
1
+ {"version":3,"file":"DecisionAuthority.d.ts","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { immutableGateDecision } from "./ImmutableGateDecision.js";
1
+ import { immutableDecisionGate } from "./ImmutableDecisionGate.js";
2
2
  export class FailClosedDecision {
3
3
  static create(intentHash, reasonCode) {
4
- return immutableGateDecision({
4
+ return immutableDecisionGate({
5
5
  verdict: "BLOCK",
6
6
  decisionId: "unavailable",
7
7
  dossierId: null,
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionAuthority.js","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAgJnE,MAAM,OAAO,kBAAkB;IACtB,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,UAAkB;QACzD,OAAO,qBAAqB,CAAC;YAC3B,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,IAAI;YACf,UAAU;YACV,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"DecisionAuthority.js","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AA0LnE,MAAM,OAAO,kBAAkB;IACtB,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,UAAkB;QACzD,OAAO,qBAAqB,CAAC;YAC3B,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,IAAI;YACf,UAAU;YACV,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,8 +1,9 @@
1
1
  import { type KeyObject } from "node:crypto";
2
2
  import type { CapturedIntent } from "../intent/ExecutionIntent.js";
3
+ import type { JsonObject } from "../intent/JsonValue.js";
3
4
  import type { AuthorizationFinalizationInput, AuthorizationVerifier, ExecutionCommitOutcome, VerifiedAuthorization } from "../execution/AuthorizationVerifier.js";
4
5
  import type { ReplayStore } from "../execution/ReplayStore.js";
5
- import type { DecisionAuthority, DecisionEvidence, DecisionVerdict, GateDecision } from "./DecisionAuthority.js";
6
+ import type { DecisionAuthority, DecisionEvidence, DecisionVerdict, DecisionGate } from "./DecisionAuthority.js";
6
7
  export type FixtureVerdictResolver = (intent: CapturedIntent, evidence?: DecisionEvidence) => DecisionVerdict;
7
8
  export interface FixtureAuthorityPair {
8
9
  readonly authority: FixtureDecisionAuthority;
@@ -20,7 +21,7 @@ export declare class FixtureDecisionAuthority implements DecisionAuthority {
20
21
  private readonly keyId;
21
22
  constructor(resolveVerdict: FixtureVerdictResolver, options: UnsafeFixtureAuthorityOptions);
22
23
  publicKey(): KeyObject;
23
- evaluate(intent: CapturedIntent, evidence?: DecisionEvidence): Promise<GateDecision>;
24
+ evaluate(intent: CapturedIntent, evidence?: DecisionEvidence): Promise<DecisionGate>;
24
25
  }
25
26
  /** One claimed fixture grant and, once finalized, the commit outcome recorded for it. */
26
27
  export interface FixtureCommitRecord {
@@ -47,12 +48,15 @@ export declare class FixtureAuthorizationVerifier implements AuthorizationVerifi
47
48
  /** Every claimed grant with its recorded outcome, oldest first. */
48
49
  ledger(): readonly FixtureCommitRecord[];
49
50
  commitOf(grantId: string): FixtureCommitRecord | null;
51
+ /** A fixture claim's material is its grant id: the ledger here is the only record it has. */
52
+ claimMaterial(authorization: VerifiedAuthorization): JsonObject | null;
53
+ adoptClaim(authorization: VerifiedAuthorization, material: JsonObject): boolean;
50
54
  /**
51
55
  * Records the outcome for an authorization this verifier claimed. Unknown,
52
56
  * foreign, or already finalized grants stay `PENDING`; nothing throws.
53
57
  */
54
58
  finalize(input: AuthorizationFinalizationInput): Promise<"RECORDED" | "PENDING">;
55
- verifyAndConsume(captured: CapturedIntent, decision: GateDecision): Promise<VerifiedAuthorization | null>;
59
+ verifyAndConsume(captured: CapturedIntent, decision: DecisionGate): Promise<VerifiedAuthorization | null>;
56
60
  }
57
61
  export declare function createFixtureAuthorityPair(resolver: FixtureVerdictResolver, options: UnsafeFixtureAuthorityOptions): FixtureAuthorityPair;
58
62
  //# sourceMappingURL=FixtureDecisionAuthority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FixtureDecisionAuthority.d.ts","sourceRoot":"","sources":["../../src/decision/FixtureDecisionAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,gBAAgB,KACxB,eAAe,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED,qBAAa,wBAAyB,YAAW,iBAAiB;IAK9D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAGZ,cAAc,EAAE,sBAAsB,EACvD,OAAO,EAAE,6BAA6B;IAOjC,SAAS,IAAI,SAAS;IAIhB,QAAQ,CACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,YAAY,CAAC;CAkDzB;AAED,yFAAyF;AACzF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IAItE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJ9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;gBAG/C,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACzC,6BAA6B,EAAE,IAAI;IAKrC,mEAAmE;IAC5D,MAAM,IAAI,SAAS,mBAAmB,EAAE;IAIxC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAI5D;;;OAGG;IACU,QAAQ,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAsBhF,gBAAgB,CAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;CA8CzC;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,6BAA6B,GACrC,oBAAoB,CAUtB"}
1
+ {"version":3,"file":"FixtureDecisionAuthority.d.ts","sourceRoot":"","sources":["../../src/decision/FixtureDecisionAuthority.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { createPublicKey, generateKeyPairSync, randomUUID } from "node:crypto";
2
2
  import { SignJWT, jwtVerify } from "jose";
3
3
  import { InMemoryReplayStore } from "../execution/ReplayStore.js";
4
- import { immutableGateDecision } from "./ImmutableGateDecision.js";
4
+ import { immutableDecisionGate } from "./ImmutableDecisionGate.js";
5
5
  export class FixtureDecisionAuthority {
6
6
  resolveVerdict;
7
7
  privateKey;
@@ -21,7 +21,7 @@ export class FixtureDecisionAuthority {
21
21
  const dossierId = `fixture_dossier_${randomUUID()}`;
22
22
  const evidenceField = evidence === undefined ? {} : { evidence };
23
23
  if (verdict !== "ALLOW") {
24
- return immutableGateDecision({
24
+ return immutableDecisionGate({
25
25
  verdict,
26
26
  decisionId,
27
27
  dossierId,
@@ -49,7 +49,7 @@ export class FixtureDecisionAuthority {
49
49
  .setNotBefore(issuedAt)
50
50
  .setExpirationTime(expiresAt)
51
51
  .sign(this.privateKey);
52
- return immutableGateDecision({
52
+ return immutableDecisionGate({
53
53
  verdict,
54
54
  decisionId,
55
55
  dossierId,
@@ -84,6 +84,29 @@ export class FixtureAuthorizationVerifier {
84
84
  commitOf(grantId) {
85
85
  return this.commits.get(grantId) ?? null;
86
86
  }
87
+ /** A fixture claim's material is its grant id: the ledger here is the only record it has. */
88
+ claimMaterial(authorization) {
89
+ return this.commits.has(authorization.grantId)
90
+ ? { kind: "fixture", grant_id: authorization.grantId }
91
+ : null;
92
+ }
93
+ adoptClaim(authorization, material) {
94
+ if (material["kind"] !== "fixture" || material["grant_id"] !== authorization.grantId) {
95
+ return false;
96
+ }
97
+ if (!this.commits.has(authorization.grantId)) {
98
+ this.commits.set(authorization.grantId, Object.freeze({
99
+ grantId: authorization.grantId,
100
+ decisionId: authorization.decisionId,
101
+ dossierId: authorization.dossierId,
102
+ intentHash: authorization.intentHash,
103
+ claimedAt: new Date().toISOString(),
104
+ outcome: null,
105
+ finalizedAt: null,
106
+ }));
107
+ }
108
+ return true;
109
+ }
87
110
  /**
88
111
  * Records the outcome for an authorization this verifier claimed. Unknown,
89
112
  * foreign, or already finalized grants stay `PENDING`; nothing throws.
@@ -1 +1 @@
1
- {"version":3,"file":"FixtureDecisionAuthority.js","sourceRoot":"","sources":["../../src/decision/FixtureDecisionAuthority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FixtureDecisionAuthority.js","sourceRoot":"","sources":["../../src/decision/FixtureDecisionAuthority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { DecisionGate } from "./DecisionAuthority.js";
2
+ export declare function immutableDecisionGate(decision: DecisionGate): DecisionGate;
3
+ //# sourceMappingURL=ImmutableDecisionGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImmutableDecisionGate.d.ts","sourceRoot":"","sources":["../../src/decision/ImmutableDecisionGate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAiC1E"}
@@ -1,4 +1,4 @@
1
- export function immutableGateDecision(decision) {
1
+ export function immutableDecisionGate(decision) {
2
2
  return Object.freeze({
3
3
  ...decision,
4
4
  reasonCodes: Object.freeze([...decision.reasonCodes]),
@@ -31,4 +31,4 @@ export function immutableGateDecision(decision) {
31
31
  }),
32
32
  });
33
33
  }
34
- //# sourceMappingURL=ImmutableGateDecision.js.map
34
+ //# sourceMappingURL=ImmutableDecisionGate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImmutableGateDecision.js","sourceRoot":"","sources":["../../src/decision/ImmutableGateDecision.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,QAAsB;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,QAAQ;QACX,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrD,aAAa,EACX,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QACvF,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;oBACtB,GAAG,QAAQ,CAAC,QAAQ;oBACpB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS;wBAC/C,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;iBAC9E,CAAC;aACH,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,iBAAiB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;oBAC/B,GAAG,QAAQ,CAAC,iBAAiB;oBAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;iBACxE,CAAC;aACH,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;oBACpB,GAAG,QAAQ,CAAC,MAAM;oBAClB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;iBAC7D,CAAC;aACH,CAAC;KACP,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ImmutableDecisionGate.js","sourceRoot":"","sources":["../../src/decision/ImmutableDecisionGate.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,QAAsB;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,QAAQ;QACX,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrD,aAAa,EACX,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QACvF,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;oBACtB,GAAG,QAAQ,CAAC,QAAQ;oBACpB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS;wBAC/C,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;iBAC9E,CAAC;aACH,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,iBAAiB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;oBAC/B,GAAG,QAAQ,CAAC,iBAAiB;oBAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;iBACxE,CAAC;aACH,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;oBACpB,GAAG,QAAQ,CAAC,MAAM;oBAClB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;iBAC7D,CAAC;aACH,CAAC;KACP,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { CapturedIntent } from "../intent/ExecutionIntent.js";
2
- import { type DecisionAuthority, type DecisionEvaluationMode, type DecisionEvaluationOptions, type DecisionEvidence, type GateDecision } from "./DecisionAuthority.js";
2
+ import { type DecisionAuthority, type DecisionEvaluationMode, type DecisionEvaluationOptions, type DecisionEvidence, type DecisionGate } from "./DecisionAuthority.js";
3
3
  /**
4
4
  * Runs a local authority and a hosted Decionis gate against the same intent.
5
5
  *
@@ -21,7 +21,7 @@ export declare class ShadowGate implements DecisionAuthority {
21
21
  private readonly mode;
22
22
  readonly evaluationMode?: DecisionEvaluationMode;
23
23
  constructor(local: DecisionAuthority, hosted: DecisionAuthority, mode: DecisionEvaluationMode);
24
- evaluate(captured: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<GateDecision>;
24
+ evaluate(captured: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<DecisionGate>;
25
25
  /**
26
26
  * The hosted side never rejects and never answers about another intent:
27
27
  * either would let a network fault or a misbound service reach execution.
@@ -1,5 +1,5 @@
1
1
  import { FailClosedDecision, } from "./DecisionAuthority.js";
2
- import { immutableGateDecision } from "./ImmutableGateDecision.js";
2
+ import { immutableDecisionGate } from "./ImmutableDecisionGate.js";
3
3
  /** Higher is more restrictive. The Decionis contract has no fourth verdict. */
4
4
  const RESTRICTIVENESS = Object.freeze({
5
5
  ALLOW: 0,
@@ -44,7 +44,7 @@ export class ShadowGate {
44
44
  ]);
45
45
  const governs = this.mode === "ENFORCEMENT" &&
46
46
  RESTRICTIVENESS[hosted.verdict] >= RESTRICTIVENESS[local.verdict];
47
- return immutableGateDecision({
47
+ return immutableDecisionGate({
48
48
  ...(governs ? hosted : local),
49
49
  hosted: {
50
50
  mode: this.mode,
@@ -1,7 +1,7 @@
1
1
  import type { LocalGrants } from "../../execution/LocalAuthorizationVerifier.js";
2
2
  import type { ReplayStore } from "../../execution/ReplayStore.js";
3
3
  import type { CapturedIntent } from "../../intent/ExecutionIntent.js";
4
- import { type DecisionAuthority, type DecisionEvaluationMode, type DecisionEvaluationOptions, type DecisionEvidence, type DecisionVerdict, type GateDecision } from "../DecisionAuthority.js";
4
+ import { type DecisionAuthority, type DecisionEvaluationMode, type DecisionEvaluationOptions, type DecisionEvidence, type DecisionVerdict, type DecisionGate } from "../DecisionAuthority.js";
5
5
  import type { EdgeBundleManager } from "./EdgeBundleManager.js";
6
6
  import type { EdgeModule } from "./EdgeModule.js";
7
7
  /** What happens when no local decision can be made: ask Decionis, or refuse. */
@@ -87,7 +87,7 @@ export declare class EdgeDecisionAuthority implements DecisionAuthority {
87
87
  private readonly onUnavailable;
88
88
  private readonly clock;
89
89
  constructor(options: EdgeDecisionAuthorityOptions);
90
- evaluate(captured: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<GateDecision>;
90
+ evaluate(captured: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<DecisionGate>;
91
91
  private local;
92
92
  private unavailable;
93
93
  /**
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { z } from "zod";
3
3
  import { DecionisGate } from "../DecionisGate.js";
4
4
  import { FailClosedDecision, } from "../DecisionAuthority.js";
5
- import { immutableGateDecision } from "../ImmutableGateDecision.js";
5
+ import { immutableDecisionGate } from "../ImmutableDecisionGate.js";
6
6
  const sha256 = z.string().regex(/^sha256:[0-9a-f]{64}$/);
7
7
  const identifier = z.string().min(1).max(200);
8
8
  /** The `decide` result (module ABI 3). Fields beyond these are not read. */
@@ -134,7 +134,7 @@ export class EdgeDecisionAuthority {
134
134
  });
135
135
  authorization = { token, expiresAt };
136
136
  }
137
- return immutableGateDecision({
137
+ return immutableDecisionGate({
138
138
  verdict: result.verdict,
139
139
  decisionId,
140
140
  dossierId,
@@ -1,7 +1,7 @@
1
1
  import { type Credential } from "../http/Credential.js";
2
2
  import type { CapturedIntent } from "../intent/ExecutionIntent.js";
3
3
  import type { JsonObject } from "../intent/JsonValue.js";
4
- import type { GateDecision } from "../decision/DecisionAuthority.js";
4
+ import type { DecisionGate } from "../decision/DecisionAuthority.js";
5
5
  export interface VerifiedAuthorization {
6
6
  readonly decisionId: string;
7
7
  readonly dossierId: string;
@@ -99,7 +99,7 @@ export interface AuthorityEffectReport {
99
99
  }
100
100
  export interface AuthorizationFinalizationInput {
101
101
  readonly captured: CapturedIntent;
102
- readonly decision: GateDecision;
102
+ readonly decision: DecisionGate;
103
103
  readonly authorization: VerifiedAuthorization;
104
104
  readonly outcome: ExecutionCommitOutcome;
105
105
  /**
@@ -124,13 +124,26 @@ export interface AuthorizationFinalizationInput {
124
124
  readonly effectReceipt?: string;
125
125
  }
126
126
  export interface AuthorizationVerifier {
127
- verifyAndConsume(captured: CapturedIntent, decision: GateDecision): Promise<VerifiedAuthorization | null>;
127
+ verifyAndConsume(captured: CapturedIntent, decision: DecisionGate): Promise<VerifiedAuthorization | null>;
128
128
  /**
129
129
  * Reports the downstream attempt outcome for an authorization returned by
130
130
  * this verifier's `verifyAndConsume`. Finalization is evidence, never
131
131
  * authority: it must not retry a side effect, and it must not throw.
132
132
  */
133
133
  finalize?(input: AuthorizationFinalizationInput): Promise<"RECORDED" | "PENDING">;
134
+ /**
135
+ * What another process needs to finalize a claim this verifier made, for
136
+ * a store the replicas share to keep sealed; it is claim material, which
137
+ * this verifier exposes nowhere else. Absent on a verifier whose claims
138
+ * cannot leave the process; null for an authorization it did not claim.
139
+ */
140
+ claimMaterial?(authorization: VerifiedAuthorization): JsonObject | null;
141
+ /**
142
+ * Registers claim material read back from such a store against an
143
+ * authorization rebuilt from it, so `finalize` can proceed in this
144
+ * process. False when the material is not this verifier's.
145
+ */
146
+ adoptClaim?(authorization: VerifiedAuthorization, material: JsonObject): boolean;
134
147
  }
135
148
  export interface DecionisGrantVerifierOptions {
136
149
  readonly baseUrl: string;
@@ -163,7 +176,9 @@ export declare class DecionisGrantVerifier implements AuthorizationVerifier {
163
176
  */
164
177
  static parametersDigest(parameters: JsonObject): `sha256:${string}`;
165
178
  constructor(options: DecionisGrantVerifierOptions);
166
- verifyAndConsume(captured: CapturedIntent, decision: GateDecision): Promise<VerifiedAuthorization | null>;
179
+ verifyAndConsume(captured: CapturedIntent, decision: DecisionGate): Promise<VerifiedAuthorization | null>;
180
+ claimMaterial(authorization: VerifiedAuthorization): JsonObject | null;
181
+ adoptClaim(authorization: VerifiedAuthorization, material: JsonObject): boolean;
167
182
  finalize(input: AuthorizationFinalizationInput): Promise<"RECORDED" | "PENDING">;
168
183
  /**
169
184
  * What the authority reported about effect evidence for an authorization this
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationVerifier.d.ts","sourceRoot":"","sources":["../../src/execution/AuthorizationVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthorizationVerifier.d.ts","sourceRoot":"","sources":["../../src/execution/AuthorizationVerifier.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,14 @@ const boundedIdentifier = z
12
12
  const sha256Digest = z.string().regex(/^sha256:[0-9a-f]{64}$/);
13
13
  const intentHash = sha256Digest;
14
14
  const CLAIM_TOKEN_PATTERN = /^[\w-]{43,128}$/;
15
+ /** Claim material as a shared store hands it back: the claim's two tokens and its correlation. */
16
+ const ClaimMaterialSchema = z.object({
17
+ kind: z.literal("decionis"),
18
+ execution_token: z.string().min(1).max(8_192),
19
+ claim_token: z.string().regex(CLAIM_TOKEN_PATTERN),
20
+ commit_correlation_id: z.string().min(1).max(200),
21
+ expected_effect_digest: sha256Digest.optional(),
22
+ });
15
23
  const COMPACT_JWS_PATTERN = /^[\w-]+\.[\w-]+\.[\w-]+$/;
16
24
  /** `boundedIdentifier` from the Decionis `EffectEvidence` contract, verbatim. */
17
25
  const effectIdentifier = z.string().trim().min(1).max(500);
@@ -258,6 +266,32 @@ export class DecionisGrantVerifier {
258
266
  clearTimeout(timeout);
259
267
  }
260
268
  }
269
+ claimMaterial(authorization) {
270
+ const claim = this.claims.get(authorization);
271
+ if (claim === undefined)
272
+ return null;
273
+ return {
274
+ kind: "decionis",
275
+ execution_token: claim.executionToken,
276
+ claim_token: claim.claimToken,
277
+ commit_correlation_id: claim.commitCorrelationId,
278
+ ...(claim.expectedEffectDigest === undefined
279
+ ? {}
280
+ : { expected_effect_digest: claim.expectedEffectDigest }),
281
+ };
282
+ }
283
+ adoptClaim(authorization, material) {
284
+ const parsed = ClaimMaterialSchema.safeParse(material);
285
+ if (!parsed.success)
286
+ return false;
287
+ this.claims.set(authorization, {
288
+ executionToken: parsed.data.execution_token,
289
+ claimToken: parsed.data.claim_token,
290
+ commitCorrelationId: parsed.data.commit_correlation_id,
291
+ expectedEffectDigest: parsed.data.expected_effect_digest,
292
+ });
293
+ return true;
294
+ }
261
295
  async finalize(input) {
262
296
  const claim = this.claims.get(input.authorization);
263
297
  if (claim === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationVerifier.js","sourceRoot":"","sources":["../../src/execution/AuthorizationVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthorizationVerifier.js","sourceRoot":"","sources":["../../src/execution/AuthorizationVerifier.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { GateDecision } from "../decision/DecisionAuthority.js";
1
+ import type { DecisionGate } from "../decision/DecisionAuthority.js";
2
2
  import type { CapturedIntent } from "../intent/ExecutionIntent.js";
3
+ import type { JsonObject } from "../intent/JsonValue.js";
3
4
  import type { AuthorizationFinalizationInput, AuthorizationVerifier, ExecutionCommitOutcome, VerifiedAuthorization } from "./AuthorizationVerifier.js";
4
5
  import type { ReplayStore } from "./ReplayStore.js";
5
6
  /** What an in-process authority decided, held until the executor consumes it. */
@@ -59,7 +60,10 @@ export declare class LocalAuthorizationVerifier implements AuthorizationVerifier
59
60
  private readonly clock;
60
61
  private readonly local;
61
62
  constructor(options: LocalAuthorizationVerifierOptions);
62
- verifyAndConsume(captured: CapturedIntent, decision: GateDecision): Promise<VerifiedAuthorization | null>;
63
+ verifyAndConsume(captured: CapturedIntent, decision: DecisionGate): Promise<VerifiedAuthorization | null>;
64
+ /** A local claim's material says only that it is local; a delegated one is the delegate's. */
65
+ claimMaterial(authorization: VerifiedAuthorization): JsonObject | null;
66
+ adoptClaim(authorization: VerifiedAuthorization, material: JsonObject): boolean;
63
67
  /**
64
68
  * A local attempt's outcome is recorded where its decision was: in this
65
69
  * process's evidence. A delegated one is finalized by its own verifier.
@@ -1 +1 @@
1
- {"version":3,"file":"LocalAuthorizationVerifier.d.ts","sourceRoot":"","sources":["../../src/execution/LocalAuthorizationVerifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAGrC,KAAK,GAAE,MAAM,MAAiB,EAC9B,UAAU,SAAS;IAGtC,0FAA0F;IACnF,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAWvC,6EAA6E;IACtE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAKnD;AAED,gGAAgG;AAChG,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC5D;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,YAAW,qBAAqB;IAInD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;gBAE1B,OAAO,EAAE,iCAAiC;IAIjE,gBAAgB,CAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IA6BxC;;;OAGG;IACU,QAAQ,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;YAoB/E,SAAS;CAcxB"}
1
+ {"version":3,"file":"LocalAuthorizationVerifier.d.ts","sourceRoot":"","sources":["../../src/execution/LocalAuthorizationVerifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAGrC,KAAK,GAAE,MAAM,MAAiB,EAC9B,UAAU,SAAS;IAGtC,0FAA0F;IACnF,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAWvC,6EAA6E;IACtE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAKnD;AAED,gGAAgG;AAChG,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC5D;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,YAAW,qBAAqB;IAInD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;gBAE1B,OAAO,EAAE,iCAAiC;IAIjE,gBAAgB,CAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IA6BxC,8FAA8F;IACvF,aAAa,CAAC,aAAa,EAAE,qBAAqB,GAAG,UAAU,GAAG,IAAI;IAOtE,UAAU,CAAC,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO;IAUtF;;;OAGG;IACU,QAAQ,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;YAoB/E,SAAS;CAcxB"}
@@ -80,6 +80,25 @@ export class LocalAuthorizationVerifier {
80
80
  this.local.add(authorization);
81
81
  return authorization;
82
82
  }
83
+ /** A local claim's material says only that it is local; a delegated one is the delegate's. */
84
+ claimMaterial(authorization) {
85
+ if (this.local.has(authorization))
86
+ return { kind: "local" };
87
+ const delegate = this.options.delegate;
88
+ if (delegate?.claimMaterial === undefined)
89
+ return null;
90
+ return delegate.claimMaterial(authorization);
91
+ }
92
+ adoptClaim(authorization, material) {
93
+ if (material["kind"] === "local") {
94
+ this.local.add(authorization);
95
+ return true;
96
+ }
97
+ const delegate = this.options.delegate;
98
+ if (delegate?.adoptClaim === undefined)
99
+ return false;
100
+ return delegate.adoptClaim(authorization, material);
101
+ }
83
102
  /**
84
103
  * A local attempt's outcome is recorded where its decision was: in this
85
104
  * process's evidence. A delegated one is finalized by its own verifier.