@decionis/agent-safe-pipeline 0.3.5 → 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 (81) hide show
  1. package/README.md +7 -6
  2. package/dist/Index.d.ts +6 -0
  3. package/dist/Index.d.ts.map +1 -1
  4. package/dist/Index.js +6 -0
  5. package/dist/Index.js.map +1 -1
  6. package/dist/approval/PresenceApprovalCoordinator.d.ts +2 -2
  7. package/dist/audit/AuditRecorder.d.ts +6 -6
  8. package/dist/audit/AuditRecorder.d.ts.map +1 -1
  9. package/dist/audit/AuditRecorder.js.map +1 -1
  10. package/dist/decision/DecionisGate.d.ts +16 -5
  11. package/dist/decision/DecionisGate.d.ts.map +1 -1
  12. package/dist/decision/DecionisGate.js +113 -11
  13. package/dist/decision/DecionisGate.js.map +1 -1
  14. package/dist/decision/DecisionAuthority.d.ts +42 -4
  15. package/dist/decision/DecisionAuthority.d.ts.map +1 -1
  16. package/dist/decision/DecisionAuthority.js +2 -2
  17. package/dist/decision/DecisionAuthority.js.map +1 -1
  18. package/dist/decision/FixtureDecisionAuthority.d.ts +7 -3
  19. package/dist/decision/FixtureDecisionAuthority.d.ts.map +1 -1
  20. package/dist/decision/FixtureDecisionAuthority.js +26 -3
  21. package/dist/decision/FixtureDecisionAuthority.js.map +1 -1
  22. package/dist/decision/ImmutableDecisionGate.d.ts +3 -0
  23. package/dist/decision/ImmutableDecisionGate.d.ts.map +1 -0
  24. package/dist/decision/{ImmutableGateDecision.js → ImmutableDecisionGate.js} +2 -2
  25. package/dist/decision/{ImmutableGateDecision.js.map → ImmutableDecisionGate.js.map} +1 -1
  26. package/dist/decision/ShadowGate.d.ts +2 -2
  27. package/dist/decision/ShadowGate.js +2 -2
  28. package/dist/decision/edge/BundleWindow.d.ts +43 -0
  29. package/dist/decision/edge/BundleWindow.d.ts.map +1 -0
  30. package/dist/decision/edge/BundleWindow.js +41 -0
  31. package/dist/decision/edge/BundleWindow.js.map +1 -0
  32. package/dist/decision/edge/EdgeBundleManager.d.ts +87 -0
  33. package/dist/decision/edge/EdgeBundleManager.d.ts.map +1 -0
  34. package/dist/decision/edge/EdgeBundleManager.js +175 -0
  35. package/dist/decision/edge/EdgeBundleManager.js.map +1 -0
  36. package/dist/decision/edge/EdgeBundleSource.d.ts +59 -0
  37. package/dist/decision/edge/EdgeBundleSource.d.ts.map +1 -0
  38. package/dist/decision/edge/EdgeBundleSource.js +99 -0
  39. package/dist/decision/edge/EdgeBundleSource.js.map +1 -0
  40. package/dist/decision/edge/EdgeDecisionAuthority.d.ts +104 -0
  41. package/dist/decision/edge/EdgeDecisionAuthority.d.ts.map +1 -0
  42. package/dist/decision/edge/EdgeDecisionAuthority.js +197 -0
  43. package/dist/decision/edge/EdgeDecisionAuthority.js.map +1 -0
  44. package/dist/decision/edge/EdgeModule.d.ts +63 -0
  45. package/dist/decision/edge/EdgeModule.d.ts.map +1 -0
  46. package/dist/decision/edge/EdgeModule.js +147 -0
  47. package/dist/decision/edge/EdgeModule.js.map +1 -0
  48. package/dist/execution/ActionRegistry.d.ts +23 -0
  49. package/dist/execution/ActionRegistry.d.ts.map +1 -1
  50. package/dist/execution/ActionRegistry.js +32 -2
  51. package/dist/execution/ActionRegistry.js.map +1 -1
  52. package/dist/execution/AuthorizationVerifier.d.ts +19 -4
  53. package/dist/execution/AuthorizationVerifier.d.ts.map +1 -1
  54. package/dist/execution/AuthorizationVerifier.js +41 -2
  55. package/dist/execution/AuthorizationVerifier.js.map +1 -1
  56. package/dist/execution/LocalAuthorizationVerifier.d.ts +74 -0
  57. package/dist/execution/LocalAuthorizationVerifier.d.ts.map +1 -0
  58. package/dist/execution/LocalAuthorizationVerifier.js +138 -0
  59. package/dist/execution/LocalAuthorizationVerifier.js.map +1 -0
  60. package/dist/execution/PostgresReplayStore.d.ts +57 -0
  61. package/dist/execution/PostgresReplayStore.d.ts.map +1 -0
  62. package/dist/execution/PostgresReplayStore.js +81 -0
  63. package/dist/execution/PostgresReplayStore.js.map +1 -0
  64. package/dist/execution/ReplayStore.d.ts +14 -0
  65. package/dist/execution/ReplayStore.d.ts.map +1 -1
  66. package/dist/execution/ReplayStore.js +8 -0
  67. package/dist/execution/ReplayStore.js.map +1 -1
  68. package/dist/execution/SafeExecutor.d.ts +117 -5
  69. package/dist/execution/SafeExecutor.d.ts.map +1 -1
  70. package/dist/execution/SafeExecutor.js +259 -67
  71. package/dist/execution/SafeExecutor.js.map +1 -1
  72. package/dist/report/DecisionReport.d.ts +2 -2
  73. package/dist/report/HostedOutcome.d.ts +2 -2
  74. package/dist/shadow/ShadowPipeline.d.ts +1 -1
  75. package/dist/testing/LocalAuthority.d.ts +35 -2
  76. package/dist/testing/LocalAuthority.d.ts.map +1 -1
  77. package/dist/testing/LocalAuthority.js +54 -1
  78. package/dist/testing/LocalAuthority.js.map +1 -1
  79. package/package.json +3 -3
  80. package/dist/decision/ImmutableGateDecision.d.ts +0 -3
  81. 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 |
@@ -487,9 +487,10 @@ Runnable, offline, and fixture-backed unless noted. Each one uses this package u
487
487
  ## Open core
488
488
 
489
489
  This package and the repository's architecture, intent contract, execution boundary, client
490
- adapters, audit contract, shadow mode, conformance vectors, and examples are Apache-2.0. The sole
491
- license exception is the dedicated MIT-licensed Claude Desktop wrapper in
492
- `packages/commerce-mcp-claude-extension`; the CommerceGate runtime it bundles remains Apache-2.0.
490
+ adapters, audit contract, shadow mode, conformance vectors, and examples are Apache-2.0. Commerce
491
+ owns ongoing development of the Commerce Gate MCP and Claude Desktop wrapper. Their
492
+ [released-source indexes](https://github.com/decionis/agent-safe-pipeline/tree/master/packages/mcp)
493
+ preserve the runtime's Apache-2.0 license and the historical wrapper's MIT license.
493
494
  Decionis operates the policy control plane behind `DecionisGate`: policy evaluation, grant issuance
494
495
  and atomic consumption, Decision Dossier signing and retention, and Presence.
495
496
  [OPEN-CORE.md](https://github.com/decionis/agent-safe-pipeline/blob/master/OPEN-CORE.md) states the
@@ -502,7 +503,7 @@ Decionis platform operates it as a hosted authority.
502
503
 
503
504
  The banking profile of the protocol, whose reference runtime builds on this package, is published at
504
505
  [banking.decionis.com](https://banking.decionis.com) (BEAP v1.0, published 2026-09-15; the profile
505
- Decionis publishes and implements, not a standard approved by any body). The Commerce Gate this repository's MCP server fronts is at
506
+ Decionis publishes and implements, not a standard approved by any body). The separately maintained Commerce Gate product is at
506
507
  [commerce.decionis.com](https://commerce.decionis.com).
507
508
  The proof-of-human infrastructure this package's `PresenceApprovalCoordinator` coordinates with is
508
509
  described at [decionis.com/proof-of-human-infrastructure](https://decionis.com/proof-of-human-infrastructure)
package/dist/Index.d.ts CHANGED
@@ -3,11 +3,17 @@ export * from "./audit/AuditRecorder.js";
3
3
  export * from "./decision/CreateGate.js";
4
4
  export * from "./decision/DecisionAuthority.js";
5
5
  export * from "./decision/DecionisGate.js";
6
+ export { EdgeBundleManager, type EdgeBundleEvent, type EdgeBundleManagerOptions, type LoadedBundle, } from "./decision/edge/EdgeBundleManager.js";
7
+ export { FileBundleSource, UrlBundleSource, type BundleRead, type EdgeBundleSource, type UrlBundleSourceOptions, } from "./decision/edge/EdgeBundleSource.js";
8
+ export * from "./decision/edge/EdgeDecisionAuthority.js";
9
+ export * from "./decision/edge/EdgeModule.js";
6
10
  export * from "./decision/FixtureDecisionAuthority.js";
7
11
  export * from "./decision/Provision.js";
8
12
  export * from "./decision/ShadowGate.js";
9
13
  export * from "./execution/ActionRegistry.js";
10
14
  export * from "./execution/AuthorizationVerifier.js";
15
+ export * from "./execution/LocalAuthorizationVerifier.js";
16
+ export * from "./execution/PostgresReplayStore.js";
11
17
  export * from "./execution/ReplayStore.js";
12
18
  export * from "./execution/SafeExecutor.js";
13
19
  export type { ClientSource } from "./http/ClientIdentification.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,GAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
package/dist/Index.js CHANGED
@@ -3,11 +3,17 @@ export * from "./audit/AuditRecorder.js";
3
3
  export * from "./decision/CreateGate.js";
4
4
  export * from "./decision/DecisionAuthority.js";
5
5
  export * from "./decision/DecionisGate.js";
6
+ export { EdgeBundleManager, } from "./decision/edge/EdgeBundleManager.js";
7
+ export { FileBundleSource, UrlBundleSource, } from "./decision/edge/EdgeBundleSource.js";
8
+ export * from "./decision/edge/EdgeDecisionAuthority.js";
9
+ export * from "./decision/edge/EdgeModule.js";
6
10
  export * from "./decision/FixtureDecisionAuthority.js";
7
11
  export * from "./decision/Provision.js";
8
12
  export * from "./decision/ShadowGate.js";
9
13
  export * from "./execution/ActionRegistry.js";
10
14
  export * from "./execution/AuthorizationVerifier.js";
15
+ export * from "./execution/LocalAuthorizationVerifier.js";
16
+ export * from "./execution/PostgresReplayStore.js";
11
17
  export * from "./execution/ReplayStore.js";
12
18
  export * from "./execution/SafeExecutor.js";
13
19
  export * from "./http/StoredCredentials.js";
package/dist/Index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Index.js","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"Index.js","sourceRoot":"","sources":["../src/Index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,iBAAiB,GAIlB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,eAAe,GAIhB,MAAM,qCAAqC,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC"}
@@ -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,8 +1,8 @@
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";
5
- export type AuditEventType = "INTENT_CAPTURED" | "AUTHORITY_DECISION" | "AUTHORITY_FAILED_CLOSED" | "PRESENCE_ESCALATED" | "PRESENCE_RESOLVED" | "SHADOW_EVALUATED" | "GRANT_CONSUMED" | "EXECUTION_STARTED" | "EXECUTION_COMPLETED" | "EXECUTION_BLOCKED" | "EXECUTION_FAILED_BEFORE_DISPATCH" | "EXECUTION_REFUSED_AFTER_DISPATCH" | "EXECUTION_OUTCOME_UNKNOWN" | "RECONCILIATION_COMPLETED" | "RECONCILIATION_NOT_EXECUTED" | "RECONCILIATION_UNKNOWN";
5
+ export type AuditEventType = "INTENT_CAPTURED" | "AUTHORITY_DECISION" | "AUTHORITY_FAILED_CLOSED" | "PRESENCE_ESCALATED" | "PRESENCE_RESOLVED" | "SHADOW_EVALUATED" | "GRANT_HELD" | "GRANT_CONSUMED" | "EXECUTION_STARTED" | "EXECUTION_COMPLETED" | "EXECUTION_BLOCKED" | "EXECUTION_FAILED_BEFORE_DISPATCH" | "EXECUTION_REFUSED_AFTER_DISPATCH" | "EXECUTION_OUTCOME_UNKNOWN" | "RECONCILIATION_COMPLETED" | "RECONCILIATION_NOT_EXECUTED" | "RECONCILIATION_UNKNOWN";
6
6
  export type AuditAuthority = "AUTHORITATIVE" | "OBSERVATIONAL" | "NON_AUTHORITATIVE";
7
7
  export interface AuditPolicyRevision {
8
8
  readonly policyId: string;
@@ -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 +1 @@
1
- {"version":3,"file":"AuditRecorder.d.ts","sourceRoot":"","sources":["../../src/audit/AuditRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuditRecorder.d.ts","sourceRoot":"","sources":["../../src/audit/AuditRecorder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuditRecorder.js","sourceRoot":"","sources":["../../src/audit/AuditRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuditRecorder.js","sourceRoot":"","sources":["../../src/audit/AuditRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsHzC,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAiB;IAChD,eAAe;IACf,eAAe;IACf,mBAAmB;CACpB,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AACxF,MAAM,uBAAuB,GAC3B,wFAAwF,CAAC;AAC3F,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC;AAEpC;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAOY;IANnB,SAAS,CAAS;IAClB,aAAa,CAA6C;IAC1D,iBAAiB,CAAsB;IACvC,KAAK,CAAa;IAClB,QAAQ,CAAe;IAExC,YAAoC,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC;QAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC;QAC/C,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,oBAAoB,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB;YAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,IAAW,+BAA+B;QACxC,OAAO,IAAI,CAAC,aAAa,KAAK,0BAA0B,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAuB;QACzC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACvD,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,MAAM,GAAG,CAAC,MAAe,EAAQ,EAAE;oBACvC,IAAI,OAAO;wBAAE,OAAO;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CAAC;gBACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChE,KAAK,OAAO,CAAC,OAAO,EAAE;qBACnB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACtD,IAAI,CACH,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAClB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,CAAC;YACN,CAAC,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAuB;QACnC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/D,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,IACE,KAAK,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC;QAC3E,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC;QACjE,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;QAClE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,IAAI,SAAS,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC;QAC9D,qEAAqE;QACrE,IAAI,SAAS,KAAK,eAAe,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,UAAU,KAAK,SAAS;YAAE,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,SAAS,KAAK,SAAS;YAAE,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,OAAO,KAAK,SAAS;YAAE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtD,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,KAAK,GAAiB;YAC1B,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE;YACtD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS;YACT,WAAW,EAAE;gBACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ;gBACxC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;gBACrC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS;oBACnD,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC3D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;gBACnD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;aAC9C;YACD,UAAU;YACV,OAAO;YACP,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;YAC7B,UAAU,EACR,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK;YACtF,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACxC,CAAC;QACF,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEO,UAAU,CAChB,QAAwB,EACxB,QAAsB,EACtB,QAAkC;QAElC,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,QAAQ,CAAC,UAAU,CAAC;QACnE,MAAM,mBAAmB,GAAG,QAAQ,EAAE,mBAAmB,IAAI,QAAQ,CAAC,UAAU,CAAC;QACjF,MAAM,iBAAiB,GAAG,QAAQ,EAAE,iBAAiB,IAAI,QAAQ,CAAC,SAAS,CAAC;QAC5E,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC7C,aAAa,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,iBAAiB,KAAK,IAAI;YAAE,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAElF,IAAI,MAAM,GAA+B,IAAI,CAAC;QAC9C,IAAI,QAAQ,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzD,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1C,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;YACD,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC;QACD,OAAO;YACL,YAAY;YACZ,mBAAmB;YACnB,MAAM;YACN,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,KAA2C;QAC1D,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YACpF,MAAM,QAAQ,GACZ,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9F,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEO,QAAQ,CAAC,KAAgB,EAAE,KAAa,EAAE,KAA0B;QAC1E,IAAI,KAAK,GAAG,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC1F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;gBACnB,IAAI,KAAK,CAAC,OAAO,GAAG,oBAAoB;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACxF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAY,CAAC;QAC1D,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,GAAe,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YACnB,IAAI,KAAK,CAAC,OAAO,GAAG,oBAAoB;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACxF,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,SAAS,CAAC,KAAW;QAC3B,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,SAAyB;QACvD,IAAI,SAAS,KAAK,iBAAiB;YAAE,OAAO,mBAAmB,CAAC;QAChE,IAAI,SAAS,KAAK,kBAAkB;YAAE,OAAO,eAAe,CAAC;QAC7D,IAAI,SAAS,KAAK,oBAAoB,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;YAC5E,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,KAAa;QAC3C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC/E,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,KAAa;QACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC3E,CAAC;IAEO,MAAM,CAAC,UAAU,CAAI,KAAQ;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,EAAE,CAAC;gBACpE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,4FAA4F;AAC5F,MAAM,OAAO,2BAA2B;IAInB;IAHF,SAAS,CAAS;IAEnC,YACmB,QAAqC,EACtD,SAAS,GAAG,KAAK;QADA,aAAQ,GAAR,QAAQ,CAA6B;QAGtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAmB;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;QAC3C,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAChC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,KAAqD,EAAQ,EAAE;gBAC7E,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACpE,KAAK,OAAO,CAAC,OAAO,EAAE;iBACnB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;iBACvF,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC9B,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CACxB,CAAC;QACN,CAAC,CACF,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7E,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpE,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;YAC7F,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvD,CAAC;QACD,IACE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAChD,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzC,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EACrC,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;SACzC,CAAC;IACJ,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IACzD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Credential } from "../http/Credential.js";
2
2
  import { type ClientSource } from "../http/ClientIdentification.js";
3
- import type { CapturedIntent } from "../intent/ExecutionIntent.js";
4
- import { type DecisionAuthority, type DecisionEvaluationMode, type DecisionEvaluationOptions, type DecisionEvidence, type GateDecision, type ManagedEscalationState } from "./DecisionAuthority.js";
3
+ import type { AuthorityIntentBinding, CapturedIntent } from "../intent/ExecutionIntent.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,16 +79,27 @@ 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
+ /**
84
+ * The `ExecutionIntentBinding` exactly as `enforce-and-bind` receives it:
85
+ * the intent's binding and the hash this process computed over it. The
86
+ * request adds `mode` and, when present, `evidence` and `escalation` beside
87
+ * it; an evaluator that must answer as the hosted route does starts from
88
+ * these same bytes.
89
+ */
90
+ static binding(captured: CapturedIntent): AuthorityIntentBinding & {
91
+ readonly intent_hash: string;
92
+ };
83
93
  /** Performs one authenticated, read-only status lookup against Decionis. */
84
94
  getManagedEscalationStatus(captured: CapturedIntent, escalation: ManagedEscalationState, options?: ManagedEscalationStatusOptions): Promise<ManagedEscalationStatusResult>;
85
95
  /**
86
96
  * Waits only on Decionis. Presence credentials, invitation locators, and
87
97
  * receipt evidence never cross this client boundary in managed mode.
88
98
  */
89
- waitForAuthorization(captured: CapturedIntent, pendingDecision: GateDecision, options?: ManagedAuthorizationWaitOptions): Promise<GateDecision>;
99
+ waitForAuthorization(captured: CapturedIntent, pendingDecision: DecisionGate, options?: ManagedAuthorizationWaitOptions): Promise<DecisionGate>;
90
100
  private waitForAuthorizationInternal;
91
101
  private decisionFromResponse;
102
+ private static escalationRequirementFromWire;
92
103
  private initialManagedState;
93
104
  private statusResult;
94
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
@@ -149,6 +176,33 @@ const WAITING_STATUS_RANK = Object.freeze({
149
176
  PRESENCE_VERIFIED: 3,
150
177
  REAUTHORIZING: 4,
151
178
  });
179
+ /**
180
+ * The two shapes `evidence.humanApproval` takes on `enforce-and-bind`: a
181
+ * Presence receipt reference, or a presence provider's signed attestation.
182
+ * Both are mirrored strictly, and the parsed copy is what is sent, so a
183
+ * caller object with a field the contract does not name cannot put it on an
184
+ * authenticated request. The attestation is shaped and bounded here and
185
+ * nothing more: verifying it is the authority's work, against the key the
186
+ * organisation registered for its provider.
187
+ */
188
+ const DecisionEvidenceSchema = z.strictObject({
189
+ humanApproval: z
190
+ .discriminatedUnion("provider", [
191
+ z.strictObject({
192
+ provider: z.literal("presence"),
193
+ requestId: z.string().min(1).max(200),
194
+ receiptDossierId: z.string().min(1).max(200),
195
+ }),
196
+ z.strictObject({
197
+ provider: z.literal("attestation"),
198
+ attestation: z
199
+ .string()
200
+ .max(20_000)
201
+ .regex(/^[\w-]+\.[\w-]+\.[\w-]+$/),
202
+ }),
203
+ ])
204
+ .optional(),
205
+ });
152
206
  const MAX_RESPONSE_BYTES = 100 * 1024;
153
207
  const DEFAULT_MANAGED_INITIAL_DELAY_MS = 500;
154
208
  const DEFAULT_MANAGED_MAX_DELAY_MS = 5_000;
@@ -191,6 +245,15 @@ export class DecionisGate {
191
245
  if (escalation !== undefined && evidence !== undefined) {
192
246
  return FailClosedDecision.create(captured.intentHash, "MANAGED_ESCALATION_EVIDENCE_FORBIDDEN");
193
247
  }
248
+ let sent;
249
+ if (evidence !== undefined) {
250
+ const presented = DecisionEvidenceSchema.safeParse(evidence);
251
+ if (!presented.success) {
252
+ return FailClosedDecision.create(captured.intentHash, "HUMAN_APPROVAL_EVIDENCE_INVALID");
253
+ }
254
+ const approval = presented.data.humanApproval;
255
+ sent = approval === undefined ? {} : { humanApproval: approval };
256
+ }
194
257
  const controller = new AbortController();
195
258
  const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
196
259
  try {
@@ -205,10 +268,9 @@ export class DecionisGate {
205
268
  "user-agent": this.userAgent,
206
269
  },
207
270
  body: JSON.stringify({
208
- ...CanonicalIntentHasher.bindingOf(captured.intent),
209
- intent_hash: captured.intentHash,
271
+ ...DecionisGate.binding(captured),
210
272
  mode: this.evaluationMode,
211
- ...(evidence === undefined ? {} : { evidence }),
273
+ ...(sent === undefined ? {} : { evidence: sent }),
212
274
  ...(escalation === undefined ? {} : { escalation }),
213
275
  }),
214
276
  signal: controller.signal,
@@ -225,7 +287,7 @@ export class DecionisGate {
225
287
  if (managed.reasonCode !== undefined) {
226
288
  return FailClosedDecision.create(captured.intentHash, managed.reasonCode);
227
289
  }
228
- return this.decisionFromResponse(captured, parsed, evidence, managed.state);
290
+ return this.decisionFromResponse(captured, parsed, sent, managed.state);
229
291
  }
230
292
  catch {
231
293
  return FailClosedDecision.create(captured.intentHash, "AUTHORITY_UNAVAILABLE");
@@ -234,6 +296,19 @@ export class DecionisGate {
234
296
  clearTimeout(timeout);
235
297
  }
236
298
  }
299
+ /**
300
+ * The `ExecutionIntentBinding` exactly as `enforce-and-bind` receives it:
301
+ * the intent's binding and the hash this process computed over it. The
302
+ * request adds `mode` and, when present, `evidence` and `escalation` beside
303
+ * it; an evaluator that must answer as the hosted route does starts from
304
+ * these same bytes.
305
+ */
306
+ static binding(captured) {
307
+ return {
308
+ ...CanonicalIntentHasher.bindingOf(captured.intent),
309
+ intent_hash: captured.intentHash,
310
+ };
311
+ }
237
312
  /** Performs one authenticated, read-only status lookup against Decionis. */
238
313
  async getManagedEscalationStatus(captured, escalation, options = {}) {
239
314
  const expectedFailure = this.expectedStateFailure(captured, escalation);
@@ -421,8 +496,14 @@ export class DecionisGate {
421
496
  : "BLOCK";
422
497
  const verificationUrl = parsed.verification?.verification_page_url;
423
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
+ : {};
424
505
  if (this.evaluationMode === "SHADOW") {
425
- return immutableGateDecision({
506
+ return immutableDecisionGate({
426
507
  verdict,
427
508
  decisionId: parsed.decision_id,
428
509
  dossierId: parsed.dossier_id,
@@ -431,6 +512,7 @@ export class DecionisGate {
431
512
  authorization: null,
432
513
  failClosed: parsed.status === "ERROR",
433
514
  ...verification,
515
+ ...routing,
434
516
  ...(evidence === undefined ? {} : { evidence }),
435
517
  });
436
518
  }
@@ -451,7 +533,7 @@ export class DecionisGate {
451
533
  if (verdict === "ALLOW" && !canExecute) {
452
534
  return FailClosedDecision.create(captured.intentHash, "AUTHORITY_GRANT_MISSING");
453
535
  }
454
- return immutableGateDecision({
536
+ return immutableDecisionGate({
455
537
  verdict,
456
538
  decisionId: parsed.decision_id,
457
539
  dossierId: parsed.dossier_id,
@@ -465,10 +547,30 @@ export class DecionisGate {
465
547
  : null,
466
548
  failClosed: parsed.status === "ERROR",
467
549
  ...verification,
550
+ ...routing,
468
551
  ...(evidence === undefined ? {} : { evidence }),
469
552
  ...(managedEscalation === undefined ? {} : { managedEscalation }),
470
553
  });
471
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
+ }
472
574
  initialManagedState(captured, response, requested) {
473
575
  const managed = response.managed_escalation ?? undefined;
474
576
  if (managed === undefined) {
@@ -602,7 +704,7 @@ export class DecionisGate {
602
704
  ? ["CANCELLED"]
603
705
  : ["MANAGED_ESCALATION_FAILED"];
604
706
  const codes = status.reasonCodes.length === 0 ? fallback : status.reasonCodes;
605
- return immutableGateDecision({
707
+ return immutableDecisionGate({
606
708
  verdict: "BLOCK",
607
709
  decisionId: pending.decisionId,
608
710
  dossierId: pending.dossierId,
@@ -614,7 +716,7 @@ export class DecionisGate {
614
716
  });
615
717
  }
616
718
  expiredWaitDecision(captured, pending, escalation) {
617
- return immutableGateDecision({
719
+ return immutableDecisionGate({
618
720
  verdict: "BLOCK",
619
721
  decisionId: pending.decisionId,
620
722
  dossierId: pending.dossierId,
@@ -631,7 +733,7 @@ export class DecionisGate {
631
733
  });
632
734
  }
633
735
  failedWaitDecision(captured, pending, escalation, reasonCode) {
634
- return immutableGateDecision({
736
+ return immutableDecisionGate({
635
737
  verdict: "BLOCK",
636
738
  decisionId: pending.decisionId,
637
739
  dossierId: pending.dossierId,
@@ -859,7 +961,7 @@ export class DecionisGate {
859
961
  if (parsed.status !== "ERROR" || parsed.action_hash !== captured.intentHash) {
860
962
  return FailClosedDecision.create(captured.intentHash, "AUTHORITY_REQUEST_FAILED");
861
963
  }
862
- return immutableGateDecision({
964
+ return immutableDecisionGate({
863
965
  verdict: "BLOCK",
864
966
  decisionId: parsed.decision_id,
865
967
  dossierId: parsed.dossier_id,