@decionis/agent-safe-pipeline 0.3.6 → 0.3.7

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 (45) 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 +5 -4
  5. package/dist/decision/DecionisGate.d.ts.map +1 -1
  6. package/dist/decision/DecionisGate.js +61 -7
  7. package/dist/decision/DecionisGate.js.map +1 -1
  8. package/dist/decision/DecisionAuthority.d.ts +27 -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 +1 -1
  39. package/dist/testing/LocalAuthority.d.ts +18 -0
  40. package/dist/testing/LocalAuthority.d.ts.map +1 -1
  41. package/dist/testing/LocalAuthority.js +16 -0
  42. package/dist/testing/LocalAuthority.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/decision/ImmutableGateDecision.d.ts +0 -3
  45. package/dist/decision/ImmutableGateDecision.d.ts.map +0 -1
package/README.md CHANGED
@@ -267,7 +267,7 @@ const observation = await run.observation;
267
267
  // Decionis would have returned, the dossier identifier, and whether a grant was discarded.
268
268
  ```
269
269
 
270
- A shadow observation carries no grant, is structurally distinct from a `GateDecision`, and is
270
+ A shadow observation carries no grant, is structurally distinct from a `DecisionGate`, and is
271
271
  rejected by `SafeExecutor` at runtime. See
272
272
  [shadow mode](https://github.com/decionis/agent-safe-pipeline/blob/master/docs/shadow-mode.md).
273
273
 
@@ -411,7 +411,7 @@ them from the testing entry. See
411
411
  | Concern | Exports | Role |
412
412
  | -------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
413
413
  | Intent | `IntentCapture`, `CanonicalIntentHasher`, `ExecutionIntentSchema`, `AgentProposalSchema` | Build the immutable `agent-safe.intent/1` binding and its canonical SHA-256 hash |
414
- | Decision | `DecionisGate`, `DecisionAuthority`, `GateDecision`, `FailClosedDecision` | Obtain an independent `ALLOW` / `ESCALATE` / `BLOCK` decision with dossier identifiers |
414
+ | Decision | `DecionisGate`, `DecisionAuthority`, `DecisionGate`, `FailClosedDecision` | Obtain an independent `ALLOW` / `ESCALATE` / `BLOCK` decision with dossier identifiers |
415
415
  | Selection | `createGate`, `ShadowGate`, `SelectedGate`, `HostedEvaluation`, `printDecision` | Choose local, shadow, or enforcement from the environment; combine and report the two verdicts |
416
416
  | Human approval | `PresenceApprovalCoordinator`, `ManagedEscalationRequest`, `HumanApprovalEvidence` | Coordinate DIRECT Presence ceremonies or request MANAGED orchestration by Decionis |
417
417
  | Execution | `SafeExecutor`, `ActionRegistry`, `DecionisGrantVerifier`, `AuthorizationVerifier`, `ReplayStore` | Claim the single-use grant, validate parameters, invoke a sealed handler, finalize the attempt |
@@ -1,6 +1,6 @@
1
1
  import type { GateResult, HumanApprovalGate } from "@decionis/presence-node";
2
2
  import type { AuditRecorder } from "../audit/AuditRecorder.js";
3
- import type { DecisionAuthority, GateDecision } from "../decision/DecisionAuthority.js";
3
+ import type { DecisionAuthority, DecisionGate } from "../decision/DecisionAuthority.js";
4
4
  import type { CapturedIntent } from "../intent/ExecutionIntent.js";
5
5
  export type PresenceGateResult = GateResult;
6
6
  export type PresenceApprovalClient = Pick<HumanApprovalGate, "gate" | "outcome">;
@@ -52,7 +52,7 @@ export declare class PresenceApprovalCoordinator {
52
52
  private readonly ttlSeconds;
53
53
  constructor(presence: PresenceApprovalClient, authority: DecisionAuthority, organization: string, approverId: string, options?: PresenceApprovalCoordinatorOptions);
54
54
  request(captured: CapturedIntent): Promise<PresenceGateResult>;
55
- resolveAndReauthorize(captured: CapturedIntent, result: PresenceGateResult, options?: PresenceResolutionOptions): Promise<GateDecision>;
55
+ resolveAndReauthorize(captured: CapturedIntent, result: PresenceGateResult, options?: PresenceResolutionOptions): Promise<DecisionGate>;
56
56
  private terminalResult;
57
57
  private lookupOutcome;
58
58
  private evaluateAuthority;
@@ -1,4 +1,4 @@
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
3
  import type { JsonObject, JsonValue } from "../intent/JsonValue.js";
4
4
  import type { VerifiedAuthorization } from "../execution/AuthorizationVerifier.js";
@@ -36,7 +36,7 @@ export interface AuditEventV1 {
36
36
  readonly policy: AuditPolicyRevision | null;
37
37
  readonly evidenceReference: string | null;
38
38
  } | null;
39
- readonly verdict: GateDecision["verdict"] | null;
39
+ readonly verdict: DecisionGate["verdict"] | null;
40
40
  readonly reasonCodes: readonly string[];
41
41
  readonly durationMs: number | null;
42
42
  readonly metadata: Readonly<JsonObject>;
@@ -48,13 +48,13 @@ export interface AuditRecordInput {
48
48
  readonly eventType: AuditEventType;
49
49
  readonly captured: CapturedIntent;
50
50
  readonly authority?: AuditAuthority;
51
- readonly decision?: GateDecision;
51
+ readonly decision?: DecisionGate;
52
52
  readonly authorization?: VerifiedAuthorization;
53
53
  readonly decisionId?: string;
54
54
  readonly dossierId?: string;
55
55
  readonly grantId?: string;
56
- /** Verdict for events that carry no `GateDecision`, such as shadow observations. */
57
- readonly verdict?: GateDecision["verdict"];
56
+ /** Verdict for events that carry no `DecisionGate`, such as shadow observations. */
57
+ readonly verdict?: DecisionGate["verdict"];
58
58
  readonly evaluation?: AuditEvaluationEvidence;
59
59
  readonly reasonCodes?: readonly string[];
60
60
  readonly durationMs?: number;
@@ -1,7 +1,7 @@
1
1
  import { type Credential } from "../http/Credential.js";
2
2
  import { type ClientSource } from "../http/ClientIdentification.js";
3
3
  import type { AuthorityIntentBinding, CapturedIntent } from "../intent/ExecutionIntent.js";
4
- import { type DecisionAuthority, type DecisionEvaluationMode, type DecisionEvaluationOptions, type DecisionEvidence, type GateDecision, type ManagedEscalationState } from "./DecisionAuthority.js";
4
+ import { type DecisionAuthority, type DecisionEvaluationMode, type DecisionEvaluationOptions, type DecisionEvidence, type DecisionGate, type ManagedEscalationState } from "./DecisionAuthority.js";
5
5
  export type ManagedEscalationPendingStatus = "PENDING_PRESENCE" | "PRESENCE_REQUESTED" | "AWAITING_APPROVER" | "PRESENCE_VERIFIED" | "REAUTHORIZING";
6
6
  export type ManagedEscalationBlockedStatus = "EXPIRED" | "REJECTED" | "BLOCKED" | "CANCELLED";
7
7
  interface ManagedEscalationStatusBase {
@@ -19,7 +19,7 @@ export type ManagedEscalationStatusResult = ManagedEscalationStatusBase & ({
19
19
  } | {
20
20
  readonly status: "GRANT_READY";
21
21
  readonly outcome: "ALLOW";
22
- readonly decision: GateDecision;
22
+ readonly decision: DecisionGate;
23
23
  } | {
24
24
  readonly status: ManagedEscalationBlockedStatus;
25
25
  readonly outcome: "BLOCK";
@@ -79,7 +79,7 @@ export declare class DecionisGate implements DecisionAuthority {
79
79
  private readonly userAgent;
80
80
  private readonly pendingAuthorizationWaits;
81
81
  constructor(options: DecionisGateOptions);
82
- evaluate(captured: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<GateDecision>;
82
+ evaluate(captured: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<DecisionGate>;
83
83
  /**
84
84
  * The `ExecutionIntentBinding` exactly as `enforce-and-bind` receives it:
85
85
  * the intent's binding and the hash this process computed over it. The
@@ -96,9 +96,10 @@ export declare class DecionisGate implements DecisionAuthority {
96
96
  * Waits only on Decionis. Presence credentials, invitation locators, and
97
97
  * receipt evidence never cross this client boundary in managed mode.
98
98
  */
99
- waitForAuthorization(captured: CapturedIntent, pendingDecision: GateDecision, options?: ManagedAuthorizationWaitOptions): Promise<GateDecision>;
99
+ waitForAuthorization(captured: CapturedIntent, pendingDecision: DecisionGate, options?: ManagedAuthorizationWaitOptions): Promise<DecisionGate>;
100
100
  private waitForAuthorizationInternal;
101
101
  private decisionFromResponse;
102
+ private static escalationRequirementFromWire;
102
103
  private initialManagedState;
103
104
  private statusResult;
104
105
  private expectedStateFailure;
@@ -1 +1 @@
1
- {"version":3,"file":"DecionisGate.d.ts","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecionisGate.d.ts","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { BoundedResponseBody } from "../http/BoundedResponseBody.js";
5
5
  import { userAgent } from "../http/ClientIdentification.js";
6
6
  import { CanonicalIntentHasher } from "../intent/CanonicalIntentHasher.js";
7
7
  import { FailClosedDecision, } from "./DecisionAuthority.js";
8
- import { immutableGateDecision } from "./ImmutableGateDecision.js";
8
+ import { immutableDecisionGate } from "./ImmutableDecisionGate.js";
9
9
  const boundedIdentifier = z
10
10
  .string()
11
11
  .min(1)
@@ -99,6 +99,32 @@ const VerificationEnvelopeSchema = z
99
99
  link_expires_at: z.string().datetime().nullable().optional(),
100
100
  })
101
101
  .passthrough();
102
+ /**
103
+ * Where an ESCALATE goes, as the contract's `escalation_requirement` carries it
104
+ * for a runtime that reads it: the policy's selector (kind and role only) and
105
+ * who proves the person. Closed shapes, like the decision they ride on.
106
+ */
107
+ const EscalationRequirementWireSchema = z
108
+ .object({
109
+ requirement_id: boundedIdentifier.nullable(),
110
+ expires_at: z.string().datetime(),
111
+ selector: z
112
+ .object({
113
+ kind: z.enum(["ROLE", "PRINCIPAL"]),
114
+ role_id: boundedIdentifier.optional(),
115
+ })
116
+ .strict()
117
+ .nullable(),
118
+ verification: z
119
+ .object({
120
+ provider: z.string().regex(/^[a-z][a-z0-9_.:-]{0,63}$/),
121
+ methods: z.array(z.string().min(1).max(64)).min(1).max(3),
122
+ level: z.enum(["STANDARD", "HIGH_CONFIDENCE"]),
123
+ })
124
+ .strict()
125
+ .nullable(),
126
+ })
127
+ .strict();
102
128
  /**
103
129
  * Mirrors `ExecutionAuthorityDecision` in the Decionis OpenAPI contract, which
104
130
  * declares `additionalProperties: false`; an undocumented field therefore fails
@@ -128,6 +154,7 @@ const AuthorityResponseSchema = z
128
154
  execution_token_key_id: boundedIdentifier.nullable().optional(),
129
155
  managed_escalation: ManagedEscalationWireSchema.nullable().optional(),
130
156
  verification: VerificationEnvelopeSchema.nullable().optional(),
157
+ escalation_requirement: EscalationRequirementWireSchema.nullable().optional(),
131
158
  })
132
159
  .strict();
133
160
  const ManagedEscalationStatusResponseSchema = z
@@ -469,8 +496,14 @@ export class DecionisGate {
469
496
  : "BLOCK";
470
497
  const verificationUrl = parsed.verification?.verification_page_url;
471
498
  const verification = verificationUrl === undefined ? {} : { verificationUrl };
499
+ // Routing rides only on a hold: anywhere else it would say nothing true.
500
+ const routing = verdict === "ESCALATE" && parsed.escalation_requirement != null
501
+ ? {
502
+ escalationRequirement: DecionisGate.escalationRequirementFromWire(parsed.escalation_requirement),
503
+ }
504
+ : {};
472
505
  if (this.evaluationMode === "SHADOW") {
473
- return immutableGateDecision({
506
+ return immutableDecisionGate({
474
507
  verdict,
475
508
  decisionId: parsed.decision_id,
476
509
  dossierId: parsed.dossier_id,
@@ -479,6 +512,7 @@ export class DecionisGate {
479
512
  authorization: null,
480
513
  failClosed: parsed.status === "ERROR",
481
514
  ...verification,
515
+ ...routing,
482
516
  ...(evidence === undefined ? {} : { evidence }),
483
517
  });
484
518
  }
@@ -499,7 +533,7 @@ export class DecionisGate {
499
533
  if (verdict === "ALLOW" && !canExecute) {
500
534
  return FailClosedDecision.create(captured.intentHash, "AUTHORITY_GRANT_MISSING");
501
535
  }
502
- return immutableGateDecision({
536
+ return immutableDecisionGate({
503
537
  verdict,
504
538
  decisionId: parsed.decision_id,
505
539
  dossierId: parsed.dossier_id,
@@ -513,10 +547,30 @@ export class DecionisGate {
513
547
  : null,
514
548
  failClosed: parsed.status === "ERROR",
515
549
  ...verification,
550
+ ...routing,
516
551
  ...(evidence === undefined ? {} : { evidence }),
517
552
  ...(managedEscalation === undefined ? {} : { managedEscalation }),
518
553
  });
519
554
  }
555
+ static escalationRequirementFromWire(wire) {
556
+ return {
557
+ requirementId: wire.requirement_id,
558
+ expiresAt: wire.expires_at,
559
+ selector: wire.selector === null
560
+ ? null
561
+ : {
562
+ kind: wire.selector.kind,
563
+ ...(wire.selector.role_id === undefined ? {} : { roleId: wire.selector.role_id }),
564
+ },
565
+ verification: wire.verification === null
566
+ ? null
567
+ : {
568
+ provider: wire.verification.provider,
569
+ methods: [...wire.verification.methods],
570
+ level: wire.verification.level,
571
+ },
572
+ };
573
+ }
520
574
  initialManagedState(captured, response, requested) {
521
575
  const managed = response.managed_escalation ?? undefined;
522
576
  if (managed === undefined) {
@@ -650,7 +704,7 @@ export class DecionisGate {
650
704
  ? ["CANCELLED"]
651
705
  : ["MANAGED_ESCALATION_FAILED"];
652
706
  const codes = status.reasonCodes.length === 0 ? fallback : status.reasonCodes;
653
- return immutableGateDecision({
707
+ return immutableDecisionGate({
654
708
  verdict: "BLOCK",
655
709
  decisionId: pending.decisionId,
656
710
  dossierId: pending.dossierId,
@@ -662,7 +716,7 @@ export class DecionisGate {
662
716
  });
663
717
  }
664
718
  expiredWaitDecision(captured, pending, escalation) {
665
- return immutableGateDecision({
719
+ return immutableDecisionGate({
666
720
  verdict: "BLOCK",
667
721
  decisionId: pending.decisionId,
668
722
  dossierId: pending.dossierId,
@@ -679,7 +733,7 @@ export class DecionisGate {
679
733
  });
680
734
  }
681
735
  failedWaitDecision(captured, pending, escalation, reasonCode) {
682
- return immutableGateDecision({
736
+ return immutableDecisionGate({
683
737
  verdict: "BLOCK",
684
738
  decisionId: pending.decisionId,
685
739
  dossierId: pending.dossierId,
@@ -907,7 +961,7 @@ export class DecionisGate {
907
961
  if (parsed.status !== "ERROR" || parsed.action_hash !== captured.intentHash) {
908
962
  return FailClosedDecision.create(captured.intentHash, "AUTHORITY_REQUEST_FAILED");
909
963
  }
910
- return immutableGateDecision({
964
+ return immutableDecisionGate({
911
965
  verdict: "BLOCK",
912
966
  decisionId: parsed.decision_id,
913
967
  dossierId: parsed.dossier_id,
@@ -1 +1 @@
1
- {"version":3,"file":"DecionisGate.js","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecionisGate.js","sourceRoot":"","sources":["../../src/decision/DecionisGate.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,29 @@ export interface HostedEvaluation {
83
83
  */
84
84
  readonly verificationUrl: string | null;
85
85
  }
86
- export interface GateDecision {
86
+ /**
87
+ * Where an `ESCALATE` goes, as the authority read it from the policy: which
88
+ * authority the policy requires (its kind and role, never a person) and who
89
+ * proves that person, by which method. `decionis` names Decionis Presence;
90
+ * any other provider is a third party whose signed attestation resumes the
91
+ * hold (a cardholder's card tap through the issuer's app). Routing, never
92
+ * authority: only a fresh evaluation with the proof as evidence can turn the
93
+ * hold into a grant.
94
+ */
95
+ export interface EscalationRequirement {
96
+ readonly requirementId: string | null;
97
+ readonly expiresAt: string;
98
+ readonly selector: {
99
+ readonly kind: "ROLE" | "PRINCIPAL";
100
+ readonly roleId?: string;
101
+ } | null;
102
+ readonly verification: {
103
+ readonly provider: string;
104
+ readonly methods: readonly string[];
105
+ readonly level: "STANDARD" | "HIGH_CONFIDENCE";
106
+ } | null;
107
+ }
108
+ export interface DecisionGate {
87
109
  readonly verdict: DecisionVerdict;
88
110
  readonly decisionId: string;
89
111
  readonly dossierId: string | null;
@@ -102,6 +124,8 @@ export interface GateDecision {
102
124
  readonly managedEscalation?: ManagedEscalationState;
103
125
  /** Present only when a hosted Decionis evaluation ran beside the local authority. */
104
126
  readonly hosted?: HostedEvaluation;
127
+ /** Present on an `ESCALATE` when the authority said where it goes. */
128
+ readonly escalationRequirement?: EscalationRequirement;
105
129
  }
106
130
  export interface DecisionAuthority {
107
131
  /**
@@ -110,9 +134,9 @@ export interface DecisionAuthority {
110
134
  * cannot be sent through a grant-issuing path by mistake.
111
135
  */
112
136
  readonly evaluationMode?: DecisionEvaluationMode;
113
- evaluate(intent: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<GateDecision>;
137
+ evaluate(intent: CapturedIntent, evidence?: DecisionEvidence, options?: DecisionEvaluationOptions): Promise<DecisionGate>;
114
138
  }
115
139
  export declare class FailClosedDecision {
116
- static create(intentHash: string, reasonCode: string): GateDecision;
140
+ static create(intentHash: string, reasonCode: string): DecisionGate;
117
141
  }
118
142
  //# sourceMappingURL=DecisionAuthority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionAuthority.d.ts","sourceRoot":"","sources":["../../src/decision/DecisionAuthority.ts"],"names":[],"mappings":"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"}
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;AAyKnE,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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"}