@decionis/agent-safe-pipeline 0.3.7 → 0.4.0

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 (85) hide show
  1. package/README.md +31 -0
  2. package/dist/Index.d.ts +12 -0
  3. package/dist/Index.d.ts.map +1 -1
  4. package/dist/Index.js +12 -0
  5. package/dist/Index.js.map +1 -1
  6. package/dist/decision/DecionisGate.d.ts +6 -1
  7. package/dist/decision/DecionisGate.d.ts.map +1 -1
  8. package/dist/decision/DecionisGate.js +61 -11
  9. package/dist/decision/DecionisGate.js.map +1 -1
  10. package/dist/decision/DecisionAuthority.d.ts +16 -0
  11. package/dist/decision/DecisionAuthority.d.ts.map +1 -1
  12. package/dist/decision/DecisionAuthority.js.map +1 -1
  13. package/dist/execution/AuthorizationVerifier.d.ts +33 -4
  14. package/dist/execution/AuthorizationVerifier.d.ts.map +1 -1
  15. package/dist/execution/AuthorizationVerifier.js +74 -10
  16. package/dist/execution/AuthorizationVerifier.js.map +1 -1
  17. package/dist/execution/EffectAdapter.d.ts +117 -0
  18. package/dist/execution/EffectAdapter.d.ts.map +1 -0
  19. package/dist/execution/EffectAdapter.js +22 -0
  20. package/dist/execution/EffectAdapter.js.map +1 -0
  21. package/dist/execution/ExecutionDeadline.d.ts +35 -0
  22. package/dist/execution/ExecutionDeadline.d.ts.map +1 -0
  23. package/dist/execution/ExecutionDeadline.js +52 -0
  24. package/dist/execution/ExecutionDeadline.js.map +1 -0
  25. package/dist/execution/ExecutionJournal.d.ts +148 -0
  26. package/dist/execution/ExecutionJournal.d.ts.map +1 -0
  27. package/dist/execution/ExecutionJournal.js +157 -0
  28. package/dist/execution/ExecutionJournal.js.map +1 -0
  29. package/dist/execution/ExecutionOutcome.d.ts +186 -0
  30. package/dist/execution/ExecutionOutcome.d.ts.map +1 -0
  31. package/dist/execution/ExecutionOutcome.js +2 -0
  32. package/dist/execution/ExecutionOutcome.js.map +1 -0
  33. package/dist/execution/ExecutionPosture.d.ts +50 -0
  34. package/dist/execution/ExecutionPosture.d.ts.map +1 -0
  35. package/dist/execution/ExecutionPosture.js +20 -0
  36. package/dist/execution/ExecutionPosture.js.map +1 -0
  37. package/dist/execution/ExecutorEvidence.d.ts +64 -0
  38. package/dist/execution/ExecutorEvidence.d.ts.map +1 -0
  39. package/dist/execution/ExecutorEvidence.js +14 -0
  40. package/dist/execution/ExecutorEvidence.js.map +1 -0
  41. package/dist/execution/GovernedExecutionRunner.d.ts +309 -0
  42. package/dist/execution/GovernedExecutionRunner.d.ts.map +1 -0
  43. package/dist/execution/GovernedExecutionRunner.js +1341 -0
  44. package/dist/execution/GovernedExecutionRunner.js.map +1 -0
  45. package/dist/execution/NativeExecutor.d.ts +220 -0
  46. package/dist/execution/NativeExecutor.d.ts.map +1 -0
  47. package/dist/execution/NativeExecutor.js +22 -0
  48. package/dist/execution/NativeExecutor.js.map +1 -0
  49. package/dist/execution/NativeExecutorSchema.d.ts +387 -0
  50. package/dist/execution/NativeExecutorSchema.d.ts.map +1 -0
  51. package/dist/execution/NativeExecutorSchema.js +261 -0
  52. package/dist/execution/NativeExecutorSchema.js.map +1 -0
  53. package/dist/execution/PostgresExecutionJournal.d.ts +54 -0
  54. package/dist/execution/PostgresExecutionJournal.d.ts.map +1 -0
  55. package/dist/execution/PostgresExecutionJournal.js +131 -0
  56. package/dist/execution/PostgresExecutionJournal.js.map +1 -0
  57. package/dist/execution/RegistryExecutor.d.ts +35 -0
  58. package/dist/execution/RegistryExecutor.d.ts.map +1 -0
  59. package/dist/execution/RegistryExecutor.js +84 -0
  60. package/dist/execution/RegistryExecutor.js.map +1 -0
  61. package/dist/execution/SafeExecutor.d.ts +22 -193
  62. package/dist/execution/SafeExecutor.d.ts.map +1 -1
  63. package/dist/execution/SafeExecutor.js +49 -521
  64. package/dist/execution/SafeExecutor.js.map +1 -1
  65. package/dist/http/AuthorityPaths.d.ts +51 -0
  66. package/dist/http/AuthorityPaths.d.ts.map +1 -0
  67. package/dist/http/AuthorityPaths.js +84 -0
  68. package/dist/http/AuthorityPaths.js.map +1 -0
  69. package/dist/shadow/ShadowPipeline.d.ts +3 -1
  70. package/dist/shadow/ShadowPipeline.d.ts.map +1 -1
  71. package/dist/shadow/ShadowPipeline.js +3 -3
  72. package/dist/shadow/ShadowPipeline.js.map +1 -1
  73. package/dist/testing/Index.d.ts +2 -1
  74. package/dist/testing/Index.d.ts.map +1 -1
  75. package/dist/testing/Index.js +2 -1
  76. package/dist/testing/Index.js.map +1 -1
  77. package/dist/testing/LocalAuthority.d.ts +35 -1
  78. package/dist/testing/LocalAuthority.d.ts.map +1 -1
  79. package/dist/testing/LocalAuthority.js +122 -2
  80. package/dist/testing/LocalAuthority.js.map +1 -1
  81. package/dist/testing/SignedSignals.d.ts +150 -0
  82. package/dist/testing/SignedSignals.d.ts.map +1 -0
  83. package/dist/testing/SignedSignals.js +291 -0
  84. package/dist/testing/SignedSignals.js.map +1 -0
  85. package/package.json +1 -1
@@ -0,0 +1,309 @@
1
+ import type { AuditRecorder } from "../audit/AuditRecorder.js";
2
+ import { type DecisionAuthority, type DecisionEvidence, type DecisionGate } from "../decision/DecisionAuthority.js";
3
+ import type { CapturedIntent, IntentActor } from "../intent/ExecutionIntent.js";
4
+ import { IntentCapture } from "../intent/IntentCapture.js";
5
+ import type { JsonObject } from "../intent/JsonValue.js";
6
+ import type { AuthorizationVerifier, ExecutionCommitOutcome, VerifiedAuthorization } from "./AuthorizationVerifier.js";
7
+ import { type ExecutionJournal } from "./ExecutionJournal.js";
8
+ import type { DispatchedAttempts, ExecutionBlockedResult, ExecutionHeldResult, ExecutionReconciliationResult, ExecutionRecoveryReference, ExecutionSettlement, HeldClaimResult, HeldExecution, PermitHeldResult, PermitPresentationResult, SafeExecutionResult } from "./ExecutionOutcome.js";
9
+ import { type ExecutionPosture } from "./ExecutionPosture.js";
10
+ import { type ExecutorEvidenceSink } from "./ExecutorEvidence.js";
11
+ import { type ExecutorScope, type NativeExecutor } from "./NativeExecutor.js";
12
+ export interface GovernedExecutionRunnerOptions {
13
+ /** Claims, finalization and reconciliation reports: the authority, through its verifier. */
14
+ readonly verifier: AuthorizationVerifier;
15
+ readonly audit?: AuditRecorder | undefined;
16
+ /** Who decides, for `submit`; a run handed a decision never asks it. */
17
+ readonly authority?: DecisionAuthority;
18
+ /** How `submit` captures intents; a fresh `IntentCapture` by default. */
19
+ readonly capture?: IntentCapture;
20
+ /** Durable claims and single-use idempotency keys. Absent, the runner journals nothing. */
21
+ readonly journal?: ExecutionJournal;
22
+ /** Where `agent-safe.executor-evidence/1` lines go. */
23
+ readonly evidence?: ExecutorEvidenceSink;
24
+ /** What a surface does when the authority cannot be reached; strict by default. */
25
+ readonly posture?: ExecutionPosture;
26
+ /**
27
+ * The enforcement boundary this process is. When it is set, an intent is
28
+ * executable here only if it was captured here.
29
+ */
30
+ readonly boundaryId?: string;
31
+ /** The digest of the workload this process runs as; an intent another artifact proposed is refused. */
32
+ readonly workloadDigest?: string;
33
+ /**
34
+ * This process's own record of the attempts it dispatched, which a
35
+ * recovery reference is held against. Defaults to the journal, when there
36
+ * is one.
37
+ */
38
+ readonly attempts?: DispatchedAttempts;
39
+ /** The configured dispatch timeout; the deadline is the smallest of this, the grant and the lease. */
40
+ readonly timeoutMs?: number;
41
+ /**
42
+ * Refuse a dispatch whose window has already closed, before the executor is
43
+ * called. On by default. The `SafeExecutor` facade turns it off because its
44
+ * handlers bound their own dispatch, exactly as they did before the runner.
45
+ */
46
+ readonly enforceDispatchWindow?: boolean;
47
+ /**
48
+ * Report a proven reconciliation to the authority through the verifier.
49
+ * On by default; the `SafeExecutor` facade turns it off so that a facade
50
+ * caller sees exactly the authority traffic it saw before.
51
+ */
52
+ readonly reportReconciliations?: boolean;
53
+ readonly clock?: () => number;
54
+ }
55
+ /** A run handed an existing decision. */
56
+ export interface RunRequest<TAction> {
57
+ readonly captured: CapturedIntent;
58
+ readonly decision: DecisionGate;
59
+ readonly action: TAction;
60
+ readonly scope?: ExecutorScope | null;
61
+ }
62
+ /** A run from the action alone: prepare, capture, decide, then run or hold. */
63
+ export interface SubmitRequest<TAction> {
64
+ readonly action: TAction;
65
+ readonly scope: ExecutorScope;
66
+ /** Who is acting; never the agent's own claim about itself. */
67
+ readonly actor: IntentActor;
68
+ readonly evidence?: DecisionEvidence;
69
+ readonly correlationId?: string;
70
+ }
71
+ export interface ReconcileRequest<TAction> {
72
+ readonly captured: CapturedIntent;
73
+ readonly recovery: ExecutionRecoveryReference;
74
+ readonly action: TAction;
75
+ readonly scope?: ExecutorScope | null;
76
+ }
77
+ export type GovernedRunResult<TResult = unknown> = SafeExecutionResult<TResult> | ExecutionHeldResult | PermitHeldResult;
78
+ export interface SubmitResult<TResult = unknown> {
79
+ readonly captured: CapturedIntent;
80
+ readonly decision: DecisionGate;
81
+ readonly result: GovernedRunResult<TResult>;
82
+ }
83
+ /** A settlement input: the outcome a caller observed, or the native receipt for the executor to read. */
84
+ export type SettlementInput<TReceipt> = {
85
+ readonly outcome: ExecutionCommitOutcome;
86
+ readonly signedReceipt?: string | null;
87
+ } | {
88
+ readonly receipt: TReceipt;
89
+ readonly signedReceipt?: string | null;
90
+ };
91
+ /**
92
+ * The one implementation of everything around a native write. Every executor,
93
+ * on every platform, runs through it, and none of them does any of this
94
+ * itself:
95
+ *
96
+ * - **admission**: an authoritative ALLOW (or PROCEED) only, never after a
97
+ * fail-closed gate, only with a dossier, only for the intent that was
98
+ * decided, at the boundary and by the workload that captured it, and only
99
+ * through a capability the connection has;
100
+ * - **authority calls**, through the `DecisionAuthority` and
101
+ * `AuthorizationVerifier` seams: the decision, one single-use claim, the
102
+ * receipt (finalization), and the reconciliation;
103
+ * - **execution control**: the dispatch deadline, the journal's durable claim
104
+ * and single-use idempotency key, and reconciliation after an outcome
105
+ * nobody knows;
106
+ * - **failure posture** when the authority cannot be reached;
107
+ * - **evidence**: the audit trail and the `agent-safe.executor-evidence/1`
108
+ * line, and the six outcomes every run ends in.
109
+ *
110
+ * Dispatch-style executors write inside the dispatch the runner opens. A
111
+ * permit-style executor's grant is held at admission; the native boundary
112
+ * presents the permit, which claims the grant once, and a later receipt
113
+ * settles it.
114
+ */
115
+ export declare class GovernedExecutionRunner {
116
+ private readonly hasher;
117
+ private readonly verifier;
118
+ private readonly audit;
119
+ private readonly authority;
120
+ private readonly capture;
121
+ private readonly journal;
122
+ private readonly evidence;
123
+ private readonly posture;
124
+ private readonly boundaryId;
125
+ private readonly workloadDigest;
126
+ private readonly attempts;
127
+ private readonly timeoutMs;
128
+ private readonly enforceDispatchWindow;
129
+ private readonly reportReconciliations;
130
+ private readonly clock;
131
+ /** The holds this runner issued and nobody has claimed, keyed by the frozen handle. */
132
+ private readonly holds;
133
+ /** The holds claimed and not yet settled, with the authorization each one consumed. */
134
+ private readonly claims;
135
+ /** The holds already settled, so a second receipt is told so rather than "never presented". */
136
+ private readonly settled;
137
+ constructor(options: GovernedExecutionRunnerOptions);
138
+ /**
139
+ * The whole path from an action: the executor prepares it, the runner
140
+ * captures the intent and asks the authority, then runs it (dispatch) or
141
+ * holds it for the boundary (permit). An authority that throws is a
142
+ * fail-closed decision, never an authorization.
143
+ */
144
+ submit<TAction, TResult = unknown>(executor: NativeExecutor<TAction, unknown, TResult>, request: SubmitRequest<TAction>): Promise<SubmitResult<TResult>>;
145
+ /**
146
+ * Runs a decided intent. A dispatch-style executor writes once, inside the
147
+ * dispatch; a permit-style executor's grant is held instead, as `hold`
148
+ * would, because the boundary performs its write.
149
+ */
150
+ run<TAction, TResult = unknown>(executor: NativeExecutor<TAction, unknown, TResult>, request: RunRequest<TAction>): Promise<GovernedRunResult<TResult>>;
151
+ /** Runs a decided intent through a dispatch-style write, whatever the executor's style says. */
152
+ dispatch<TAction, TResult = unknown>(executor: NativeExecutor<TAction, unknown, TResult>, request: RunRequest<TAction>): Promise<SafeExecutionResult<TResult>>;
153
+ /**
154
+ * Admits a decision exactly as a run would and holds its grant instead of
155
+ * consuming it. The intent, the decision and the hold are recorded; the
156
+ * grant stays unclaimed until the boundary presents it, and an unclaimed
157
+ * hold simply expires with its grant. A permit-style executor's hold
158
+ * carries the permit the boundary presents.
159
+ */
160
+ hold<TAction, TResult = unknown>(executor: NativeExecutor<TAction, unknown, TResult>, request: RunRequest<TAction>): Promise<ExecutionHeldResult | PermitHeldResult | ExecutionBlockedResult>;
161
+ /**
162
+ * Admits a hold this runner did not make: one another replica made, or
163
+ * this process made before a restart, read back from a store the replicas
164
+ * share. Every check a hold makes is made again on the way in, and the
165
+ * record says the hold was adopted. Adoption adds no authority: the grant
166
+ * is still the authority's to hand out once, so a hold claimed elsewhere is
167
+ * refused at the claim by the authority, never admitted twice here.
168
+ */
169
+ adoptHold<TAction, TResult = unknown>(executor: NativeExecutor<TAction, unknown, TResult>, request: RunRequest<TAction>): Promise<ExecutionHeldResult | PermitHeldResult | ExecutionBlockedResult>;
170
+ /**
171
+ * Registers a claim this runner did not make, so that `settle` can finalize
172
+ * it here: the hold's intent and decision, and the authorization the claim
173
+ * returned, as the store that shared them kept them. Nothing is consumed
174
+ * and nothing is checked against the authority.
175
+ */
176
+ adoptClaim<TAction>(executor: NativeExecutor<TAction, unknown, unknown>, request: RunRequest<TAction>, authorization: VerifiedAuthorization, material?: JsonObject | null): HeldExecution;
177
+ /**
178
+ * What another process needs to finalize a claim this runner's verifier
179
+ * made, for a store the replicas share to keep sealed; null when the
180
+ * verifier keeps its claims to itself or did not make this one.
181
+ */
182
+ claimMaterial(authorization: VerifiedAuthorization): JsonObject | null;
183
+ /**
184
+ * The boundary presents a held permit: the grant is claimed, once. The
185
+ * handle is forgotten before the verifier is asked, so a second
186
+ * presentation of the same hold, concurrent or later, is refused here
187
+ * without reaching the authority; a handle this runner did not issue is
188
+ * refused the same way. A permit-style executor then issues the claimed
189
+ * permit the boundary writes with.
190
+ */
191
+ present(held: HeldExecution): Promise<PermitPresentationResult | HeldClaimResult>;
192
+ /**
193
+ * Settles a presented execution, once, from what the boundary reported:
194
+ * the outcome it observed, or its native receipt for the executor to read.
195
+ * `COMMITTED` when the effect happened, `FAILED` when it definitively did
196
+ * not, `INDETERMINATE` when nobody can say. A second receipt is refused and
197
+ * changes nothing that was recorded.
198
+ */
199
+ settle<TReceipt = unknown, TResult = unknown>(held: HeldExecution, input: SettlementInput<TReceipt>): Promise<ExecutionSettlement<TResult>>;
200
+ /**
201
+ * Resolves an attempt whose outcome was lost. The recovery reference is
202
+ * the caller's claim until this runner's own record confirms it; the
203
+ * executor is asked read-only, and nothing is ever dispatched again. A
204
+ * proven answer is reported to the authority as evidence.
205
+ */
206
+ reconcile<TAction, TResult = unknown>(executor: NativeExecutor<TAction, unknown, TResult>, request: ReconcileRequest<TAction>): Promise<ExecutionReconciliationResult<TResult>>;
207
+ private holdWith;
208
+ /**
209
+ * Every check made before a grant may be consumed, with the evidence that
210
+ * the intent was captured and decided. A refusal is recorded and returned.
211
+ * The executor prepares the action last, so a malformed action is refused
212
+ * the way it always was, after the decision's own checks.
213
+ */
214
+ private admit;
215
+ /**
216
+ * A decision that is not an authoritative ALLOW. When it failed closed the
217
+ * posture says what the surface may do; the runner refuses either way, and
218
+ * never writes without a grant.
219
+ */
220
+ private notAllowed;
221
+ /**
222
+ * Opens the attempt in the journal, after admission and before anything is
223
+ * consumed: a key already dispatched under, or a journal that cannot take
224
+ * the record, is refused while the grant is still intact.
225
+ */
226
+ private openAttempt;
227
+ /**
228
+ * Consumes the grant through the verifier, checks what came back against
229
+ * the decision and the intent, makes the claim durable, and records the
230
+ * consumption and the start of execution. Nothing here dispatches.
231
+ */
232
+ private consume;
233
+ /**
234
+ * The write, inside the dispatch boundary the runner opens, and its
235
+ * observation. Whatever the executor says, the boundary decides which side
236
+ * of it an error fell: before it nothing was sent, after it a refusal is a
237
+ * refusal only if the platform said so, and anything else is unknown. The
238
+ * runner never moves "nobody knows" to "definitely not".
239
+ */
240
+ private write;
241
+ /** The permit a presented, claimed hold writes with; null when the executor issued none. */
242
+ private issuePermit;
243
+ /** What the executor reads a permit-style receipt as; a receipt it cannot read is unknown. */
244
+ private observeReceipt;
245
+ /** The terminal result of a dispatched write, finalized and recorded. */
246
+ private concluded;
247
+ /**
248
+ * Reports the attempt outcome to the verifier's authority, with the
249
+ * provider's effect receipt and the executor's observation when the attempt
250
+ * brought them back. A missing, failing, or malformed finalization can
251
+ * never alter the execution result.
252
+ */
253
+ private finalize;
254
+ /** The journal and the authority hear of a proven reconciliation; neither can change its result. */
255
+ private reconciled;
256
+ private static finalizationCode;
257
+ private static settledEvent;
258
+ private static outcomeOf;
259
+ private static observationOf;
260
+ /**
261
+ * Observational artifacts carry an explicit non-authoritative marker. They
262
+ * must never be interpreted as a `DecisionGate`, even after an unsafe cast
263
+ * or a JSON round trip.
264
+ */
265
+ private static isAuthoritativeDecision;
266
+ /**
267
+ * Whether this boundary is the one the intent was captured through. The
268
+ * boundary is read back out of the hashed context, so an intent whose
269
+ * boundary was edited after capture fails conformance before it reaches
270
+ * here, and one that never named a boundary cannot acquire one now.
271
+ */
272
+ private boundaryMatches;
273
+ /**
274
+ * Whether the workload that proposed the intent is the one running it. Like
275
+ * the boundary, the digest is read back out of the hashed context.
276
+ */
277
+ private workloadMatches;
278
+ private intentConforms;
279
+ /** The executor's description of the action, held to the decided intent field by field. */
280
+ private preparedMatches;
281
+ /**
282
+ * The connection must be able to take the write: connected, scope granted,
283
+ * switched on, for this action type on this platform. The refusal names
284
+ * what is missing in the Commerce executor's own words.
285
+ */
286
+ private static capabilityGap;
287
+ private block;
288
+ private failedBeforeDispatch;
289
+ private record;
290
+ /** Closes the attempt in the journal; the outcome is already final, so a failure is left to the reconciler. */
291
+ private close;
292
+ private appendQuietly;
293
+ private emitAdmission;
294
+ private emit;
295
+ /**
296
+ * What a step's result says, in the fields an evidence line and a closing
297
+ * journal record carry: one case per outcome, so no outcome is described by
298
+ * another's fields.
299
+ */
300
+ private static summaryOf;
301
+ private emitLine;
302
+ private static recoveryReference;
303
+ private static sameBinding;
304
+ private static authorizationFrom;
305
+ /** The journal, read as the attempts a recovery reference is held against. */
306
+ private static journalAttempts;
307
+ private static journalCode;
308
+ }
309
+ //# sourceMappingURL=GovernedExecutionRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GovernedExecutionRunner.d.ts","sourceRoot":"","sources":["../../src/execution/GovernedExecutionRunner.ts"],"names":[],"mappings":"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"}