@voltro/workflow 0.82.0 → 0.83.1

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.
@@ -1,179 +1,180 @@
1
1
  import { E as e, F as t, L as n, M as r, N as i, P as a, R as o, T as s, w as c } from "./primitives-Btjhjm8P.js";
2
2
  import { S as l, T as u, _ as d, a as f, b as p, g as m, h, i as g, l as _, n as v, u as y, v as ee, x as b } from "./journalEncryption--n5VDdYO.js";
3
- import { $ as x, A as te, At as ne, Bt as re, C as ie, Ct as S, D as C, Dt as w, E as T, F as ae, Gt as oe, H as se, I as E, It as D, J as ce, L as O, Mt as k, N as A, Nt as le, O as ue, Ot as de, Pt as fe, Q as j, S as pe, St as me, T as he, Tt as ge, U as _e, V as ve, Vt as ye, Wt as be, Z as xe, _t as Se, at as Ce, dt as we, gt as Te, h as Ee, ht as De, i as Oe, it as ke, jt as Ae, k as je, kt as Me, mt as Ne, ot as Pe, q as Fe, rt as M, st as Ie, tt as Le, ut as N, v as Re, vt as ze, w as Be, wt as Ve, xt as He, y as Ue, yt as We } from "./clusterDiagnostics-Dc7yBP3b.js";
4
- import { DurableClock as Ge, DurableDeferred as Ke, Workflow as qe, WorkflowEngine as Je } from "@effect/workflow";
5
- import { Cause as P, Effect as F, Either as I, Exit as Ye, Fiber as Xe, FiberRef as Ze, Layer as Qe, Schema as L } from "effect";
3
+ import { $ as x, A as te, At as ne, C as re, Ct as ie, D as ae, Dt as S, E as C, Et as w, F as oe, Ft as se, H as ce, Ht as T, I as E, It as le, J as ue, Kt as D, L as de, Mt as fe, N as O, Nt as k, O as pe, Pt as me, Q as A, Rt as j, S as he, T as ge, Tt as M, U as _e, Ut as ve, V as ye, Z as be, _t as xe, bt as Se, ct as Ce, ft as N, gt as we, h as Te, i as Ee, it as De, jt as Oe, k as ke, kt as Ae, ot as je, pt as Me, q as Ne, qt as Pe, rt as P, st as Fe, tt as Ie, v as Le, vt as Re, w as ze, wt as Be, xt as Ve, y as He, yt as Ue } from "./clusterDiagnostics-CGUtnJkX.js";
4
+ import { DurableClock as We, DurableDeferred as Ge, Workflow as Ke, WorkflowEngine as qe } from "@effect/workflow";
5
+ import { Cause as F, Context as Je, Effect as I, Either as L, Exit as Ye, Fiber as Xe, FiberRef as Ze, Layer as Qe, Schema as R } from "effect";
6
6
  import { WorkflowQueuedCancellationResultSchema as $e, publishServerError as et } from "@voltro/protocol";
7
- import { and as R, boolean as tt, derivedRowId as nt, eq as z, generateId as rt, gt as B, gte as it, id as V, inSet as at, integer as H, isNotNull as ot, isNull as U, json as W, lt as st, or as ct, queryFor as lt, real as ut, reference as dt, registerRetention as ft, retentionTtlMsFromEnv as pt, table as G, text as K, timestamp as q } from "@voltro/database";
7
+ import { and as z, boolean as tt, derivedRowId as nt, eq as B, generateId as rt, gt as V, gte as it, id as H, inSet as at, integer as U, isNotNull as ot, isNull as W, json as G, lt as st, or as ct, queryFor as lt, real as ut, reference as dt, registerRetention as ft, retentionTtlMsFromEnv as pt, table as K, text as q, timestamp as J } from "@voltro/database";
8
8
  import { createHash as mt, randomUUID as ht } from "node:crypto";
9
- import { WorkflowInstance as J } from "@effect/workflow/WorkflowEngine";
9
+ import { WorkflowInstance as Y } from "@effect/workflow/WorkflowEngine";
10
10
  //#region src/inMemoryLayer.ts
11
- var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
12
- id: V({ prefix: "wfrun" }),
13
- tag: K(),
14
- executionId: K().unique(),
15
- status: K().oneOf([
11
+ var gt = qe.layerMemory, _t = K("_voltro_workflow_runs", {
12
+ id: H({ prefix: "wfrun" }),
13
+ tag: q(),
14
+ executionId: q().unique(),
15
+ status: q().oneOf([
16
16
  "running",
17
17
  "succeeded",
18
18
  "failed",
19
19
  "cancelled",
20
20
  "suspended"
21
21
  ]).default("running"),
22
- payload: W(),
23
- workflowVersion: K().nullable(),
24
- workflowPatches: W().nullable(),
25
- runnerEnteredAt: q().nullable(),
26
- runnerGeneration: K().nullable(),
27
- engineDelivery: W().nullable(),
28
- reclaimCount: H().default(0),
29
- output: W().nullable(),
30
- subject: W().nullable(),
31
- source: K().nullable(),
32
- errorTag: K().nullable(),
33
- errorMessage: K().nullable(),
22
+ payload: G(),
23
+ workflowVersion: q().nullable(),
24
+ workflowPatches: G().nullable(),
25
+ runnerEnteredAt: J().nullable(),
26
+ runnerGeneration: q().nullable(),
27
+ engineDelivery: G().nullable(),
28
+ reclaimCount: U().default(0),
29
+ output: G().nullable(),
30
+ subject: G().nullable(),
31
+ source: q().nullable(),
32
+ errorTag: q().nullable(),
33
+ errorMessage: q().nullable(),
34
34
  cancelled: tt().default(!1),
35
- discardedAt: q().nullable(),
36
- discardedBy: K().nullable(),
37
- startedAt: q().default("now"),
38
- completedAt: q().nullable(),
39
- durationMs: H().nullable(),
40
- traceId: K().nullable(),
41
- parentExecutionId: K().nullable(),
42
- parentGeneration: K().nullable(),
43
- parentClosePolicy: K().oneOf([
35
+ discardedAt: J().nullable(),
36
+ discardedBy: q().nullable(),
37
+ startedAt: J().default("now"),
38
+ completedAt: J().nullable(),
39
+ durationMs: U().nullable(),
40
+ traceId: q().nullable(),
41
+ parentExecutionId: q().nullable(),
42
+ parentGeneration: q().nullable(),
43
+ parentClosePolicy: q().oneOf([
44
44
  "cancel",
45
45
  "terminate",
46
46
  "abandon"
47
47
  ]).nullable()
48
- }).index(["tag"]).index(["status"]).index(["source"]).index(["startedAt"]).index(["parentExecutionId"]).index(["parentClosePolicy"]), vt = G("_voltro_workflow_run_steps", {
49
- id: V({ prefix: "wfstep" }),
48
+ }).index(["tag"]).index(["status"]).index(["source"]).index(["startedAt"]).index(["parentExecutionId"]).index(["parentClosePolicy"]), vt = K("_voltro_workflow_run_steps", {
49
+ id: H({ prefix: "wfstep" }),
50
50
  runId: dt(() => _t, {
51
51
  index: !1,
52
52
  onDelete: "cascade"
53
53
  }),
54
- stepName: K(),
55
- attempt: H().default(1),
56
- status: K().oneOf([
54
+ stepName: q(),
55
+ attempt: U().default(1),
56
+ status: q().oneOf([
57
57
  "running",
58
58
  "succeeded",
59
59
  "failed"
60
60
  ]).default("running"),
61
- input: W().nullable(),
62
- retryPolicy: W().nullable(),
63
- output: W().nullable(),
64
- errorTag: K().nullable(),
65
- errorMessage: K().nullable(),
66
- errorCause: W().nullable(),
67
- startedAt: q().default("now"),
68
- completedAt: q().nullable(),
69
- durationMs: H().nullable()
70
- }).index(["runId", "stepName"]).index(["startedAt"]), yt = G("_voltro_workflow_run_events", {
71
- id: V({ prefix: "wfev" }),
61
+ input: G().nullable(),
62
+ retryPolicy: G().nullable(),
63
+ output: G().nullable(),
64
+ errorTag: q().nullable(),
65
+ errorMessage: q().nullable(),
66
+ errorCause: G().nullable(),
67
+ startedAt: J().default("now"),
68
+ completedAt: J().nullable(),
69
+ durationMs: U().nullable()
70
+ }).index(["runId", "stepName"]).index(["startedAt"]), yt = K("_voltro_workflow_run_events", {
71
+ id: H({ prefix: "wfev" }),
72
72
  runId: dt(() => _t, {
73
73
  index: !1,
74
74
  onDelete: "cascade"
75
75
  }),
76
- eventType: K(),
77
- payload: W().nullable(),
78
- occurredAt: q().default("now"),
79
- stepName: K().nullable(),
80
- attempt: H().nullable()
81
- }).index(["runId", "occurredAt"]).index(["eventType"]), bt = G("_voltro_workflow_start_contexts", {
82
- id: V({ prefix: "wfctx" }),
83
- workflowName: K(),
84
- executionId: K().unique(),
85
- subject: W().nullable(),
86
- traceId: K().nullable(),
87
- source: K().nullable(),
88
- parentExecutionId: K().nullable(),
89
- parentGeneration: K().nullable(),
90
- parentClosePolicy: K().oneOf([
76
+ eventType: q(),
77
+ payload: G().nullable(),
78
+ occurredAt: J().default("now"),
79
+ stepName: q().nullable(),
80
+ attempt: U().nullable()
81
+ }).index(["runId", "occurredAt"]).index(["eventType"]), bt = K("_voltro_workflow_start_contexts", {
82
+ id: H({ prefix: "wfctx" }),
83
+ workflowName: q(),
84
+ executionId: q().unique(),
85
+ subject: G().nullable(),
86
+ traceId: q().nullable(),
87
+ source: q().nullable(),
88
+ parentExecutionId: q().nullable(),
89
+ parentGeneration: q().nullable(),
90
+ parentClosePolicy: q().oneOf([
91
91
  "cancel",
92
92
  "terminate",
93
93
  "abandon"
94
94
  ]).nullable(),
95
- createdAt: q().default("now")
96
- }).index(["workflowName"]).index(["executionId"]).index(["parentExecutionId"]), xt = G("_voltro_workflow_admission_locks", {
97
- id: V({ prefix: "wfalk" }),
98
- nonce: K()
99
- }).nonReactive(), St = G("_voltro_workflow_parent_closures", {
100
- id: V({ prefix: "wfpc" }),
101
- runId: K(),
102
- workflowName: K(),
103
- executionId: K(),
104
- generation: K(),
105
- parentStatus: K().oneOf([
95
+ createdAt: J().default("now")
96
+ }).index(["workflowName"]).index(["executionId"]).index(["parentExecutionId"]), xt = K("_voltro_workflow_admission_locks", {
97
+ id: H({ prefix: "wfalk" }),
98
+ nonce: q()
99
+ }).nonReactive(), St = K("_voltro_workflow_parent_closures", {
100
+ id: H({ prefix: "wfpc" }),
101
+ runId: q(),
102
+ workflowName: q(),
103
+ executionId: q(),
104
+ generation: q(),
105
+ parentStatus: q().oneOf([
106
106
  "succeeded",
107
107
  "failed",
108
108
  "cancelled"
109
109
  ]),
110
- closedAt: q(),
111
- afterChildId: K().nullable(),
110
+ closedAt: J(),
111
+ afterChildId: q().nullable(),
112
112
  scanHasOpenChildren: tt().default(!1),
113
- completedAt: q().nullable()
114
- }).index(["executionId"]).index(["completedAt", "id"]).nonReactive(), Ct = G("_voltro_workflow_control_requests", {
115
- id: V({ prefix: "wfctl" }),
116
- runId: K(),
117
- workflowName: K(),
118
- executionId: K(),
119
- generation: K(),
120
- operation: K().oneOf([
113
+ completedAt: J().nullable()
114
+ }).index(["executionId"]).index(["completedAt", "id"]).nonReactive(), Ct = K("_voltro_workflow_control_requests", {
115
+ id: H({ prefix: "wfctl" }),
116
+ runId: q(),
117
+ workflowName: q(),
118
+ executionId: q(),
119
+ generation: q(),
120
+ operation: q().oneOf([
121
121
  "cancel",
122
122
  "terminate",
123
123
  "resume"
124
124
  ]),
125
- requestedAt: q(),
126
- owner: W().nullable(),
127
- cause: W().nullable(),
128
- parentClosureId: K().nullable(),
129
- resumeJournal: W().nullable(),
130
- dispatchAttempts: H().default(0),
131
- result: W().nullable()
132
- }).index(["runId"]).index(["parentClosureId", "id"]).nonReactive(), wt = G("_voltro_workflow_failure_reports", {
133
- id: V({ prefix: "wffr" }),
134
- workflowName: K(),
135
- tenantId: K().nullable(),
136
- sourceId: K(),
137
- sourceKind: K().oneOf([
125
+ requestedAt: J(),
126
+ owner: G().nullable(),
127
+ cause: G().nullable(),
128
+ parentClosureId: q().nullable(),
129
+ resumeJournal: G().nullable(),
130
+ dispatchAttempts: U().default(0),
131
+ result: G().nullable()
132
+ }).index(["runId"]).index(["parentClosureId", "id"]).nonReactive(), wt = K("_voltro_workflow_failure_reports", {
133
+ id: H({ prefix: "wffr" }),
134
+ workflowName: q(),
135
+ tenantId: q().nullable(),
136
+ sourceId: q(),
137
+ sourceKind: q().oneOf([
138
138
  "submission",
139
139
  "intent",
140
140
  "run"
141
141
  ]),
142
- handler: K().nullable(),
143
- callerContext: W().nullable(),
144
- report: W(),
145
- handoffReceiptId: K().nullable(),
146
- handoffAttempt: H().default(0),
147
- acceptedExecutionId: K().nullable()
148
- }).index(["sourceKind", "sourceId"]).nonReactive(), Tt = G("_voltro_workflow_submissions", {
149
- id: V({ prefix: "wfsub" }),
150
- workflowName: K(),
151
- tenantId: K().nullable(),
152
- ledgerId: K(),
153
- executionId: K().nullable(),
154
- runId: K().nullable(),
142
+ handler: q().nullable(),
143
+ callerContext: G().nullable(),
144
+ report: G(),
145
+ handoffReceiptId: q().nullable(),
146
+ handoffAttempt: U().default(0),
147
+ acceptedExecutionId: q().nullable()
148
+ }).index(["sourceKind", "sourceId"]).nonReactive(), Tt = K("_voltro_workflow_submissions", {
149
+ id: H({ prefix: "wfsub" }),
150
+ workflowName: q(),
151
+ tenantId: q().nullable(),
152
+ ledgerId: q(),
153
+ executionId: q().nullable(),
154
+ runId: q().nullable(),
155
155
  receiptsBound: tt().default(!1),
156
- preparedExecutionId: K().nullable(),
157
- dispatchAttempts: H().default(0),
158
- failureId: K().nullable(),
159
- retry: W(),
160
- payload: W(),
161
- callerContext: W().nullable(),
162
- intentIds: W(),
163
- eviction: W().nullable()
164
- }).nonReactive(), Et = G("_voltro_workflow_start_receipts", {
165
- id: V({ prefix: "wfrc" }),
166
- workflowName: K(),
167
- tenantId: K().nullable(),
168
- pendingId: K().maxLength(64),
169
- submissionId: K().maxLength(64).nullable(),
170
- terminal: W().nullable()
171
- }).index(["pendingId"]).nonReactive(), Dt = G("_voltro_workflow_pending", {
172
- id: V({ prefix: "wfp" }),
173
- tenantId: K().nullable(),
174
- workflowName: K(),
175
- controlKey: K(),
176
- mode: K().oneOf([
156
+ preparedExecutionId: q().nullable(),
157
+ dispatchAttempts: U().default(0),
158
+ failureId: q().nullable(),
159
+ retry: G(),
160
+ payload: G(),
161
+ callerContext: G().nullable(),
162
+ intentIds: G(),
163
+ eviction: G().nullable()
164
+ }).nonReactive(), Et = K("_voltro_workflow_start_receipts", {
165
+ id: H({ prefix: "wfrc" }),
166
+ workflowName: q(),
167
+ tenantId: q().nullable(),
168
+ pendingId: q().maxLength(64),
169
+ submissionId: q().maxLength(64).nullable(),
170
+ terminal: G().nullable(),
171
+ requestFingerprint: q().maxLength(64).nullable()
172
+ }).index(["pendingId"]).nonReactive(), Dt = K("_voltro_workflow_pending", {
173
+ id: H({ prefix: "wfp" }),
174
+ tenantId: q().nullable(),
175
+ workflowName: q(),
176
+ controlKey: q(),
177
+ mode: q().oneOf([
177
178
  "debounce",
178
179
  "batch",
179
180
  "throttle",
@@ -181,24 +182,24 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
181
182
  "paused",
182
183
  "delayed"
183
184
  ]),
184
- payload: W(),
185
- callerContext: W().nullable(),
186
- queuedAppVersion: K().nullable(),
187
- queuedSchemaFingerprint: K().nullable(),
188
- priority: H().default(0),
189
- dueAt: q(),
190
- deadlineAt: q().nullable(),
191
- collapsed: H().default(1),
192
- firstSeenAt: q().default("now"),
193
- updatedAt: q().default("now"),
194
- attempts: H().default(0),
195
- lastError: K().nullable(),
196
- deadLetteredAt: q().nullable()
197
- }).index(["workflowName", "controlKey"]).index(["dueAt"]).index(["workflowName", "mode"]).index(["tenantId"]), Ot = G("_voltro_workflow_admissions", {
198
- id: V({ prefix: "wfadm" }),
199
- tenantId: K().nullable(),
200
- workflowName: K(),
201
- outcome: K().oneOf([
185
+ payload: G(),
186
+ callerContext: G().nullable(),
187
+ queuedAppVersion: q().nullable(),
188
+ queuedSchemaFingerprint: q().nullable(),
189
+ priority: U().default(0),
190
+ dueAt: J(),
191
+ deadlineAt: J().nullable(),
192
+ collapsed: U().default(1),
193
+ firstSeenAt: J().default("now"),
194
+ updatedAt: J().default("now"),
195
+ attempts: U().default(0),
196
+ lastError: q().nullable(),
197
+ deadLetteredAt: J().nullable()
198
+ }).index(["workflowName", "controlKey"]).index(["dueAt"]).index(["workflowName", "mode"]).index(["tenantId"]), Ot = K("_voltro_workflow_admissions", {
199
+ id: H({ prefix: "wfadm" }),
200
+ tenantId: q().nullable(),
201
+ workflowName: q(),
202
+ outcome: q().oneOf([
202
203
  "admitted",
203
204
  "dropped",
204
205
  "skipped",
@@ -206,34 +207,34 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
206
207
  "expired",
207
208
  "discarded"
208
209
  ]),
209
- mode: K().nullable(),
210
- reason: K().nullable(),
211
- collapsed: H().default(1),
210
+ mode: q().nullable(),
211
+ reason: q().nullable(),
212
+ collapsed: U().default(1),
212
213
  waitedMs: ut().nullable().narrowedFrom("integer"),
213
- executionId: K().nullable(),
214
- runId: K().nullable(),
215
- singletonKey: K().nullable(),
216
- concurrencyKey: K().nullable(),
217
- concurrencyReservation: W().nullable(),
218
- rateKey: K().nullable(),
219
- admittedAt: q().default("now"),
220
- expiresAt: q().nullable(),
221
- releasedAt: q().nullable()
222
- }).index(["workflowName", "admittedAt"]).index(["concurrencyKey", "releasedAt"]).index(["singletonKey", "releasedAt"]).index(["rateKey", "admittedAt"]).index(["executionId"]).index(["tenantId"]), kt = G("_voltro_workflow_pauses", {
223
- id: V({ prefix: "wfpause" }),
224
- pausedAt: q().default("now"),
225
- pausedBy: K().nullable(),
226
- reason: K().nullable()
214
+ executionId: q().nullable(),
215
+ runId: q().nullable(),
216
+ singletonKey: q().nullable(),
217
+ concurrencyKey: q().nullable(),
218
+ concurrencyReservation: G().nullable(),
219
+ rateKey: q().nullable(),
220
+ admittedAt: J().default("now"),
221
+ expiresAt: J().nullable(),
222
+ releasedAt: J().nullable()
223
+ }).index(["workflowName", "admittedAt"]).index(["concurrencyKey", "releasedAt"]).index(["singletonKey", "releasedAt"]).index(["rateKey", "admittedAt"]).index(["executionId"]).index(["tenantId"]), kt = K("_voltro_workflow_pauses", {
224
+ id: H({ prefix: "wfpause" }),
225
+ pausedAt: J().default("now"),
226
+ pausedBy: q().nullable(),
227
+ reason: q().nullable()
227
228
  }), At = async (e, t) => {
228
229
  if (!Number.isFinite(t.now) || !Number.isFinite(new Date(t.now).getTime())) throw Error("Queued cancellation requires a valid timestamp");
229
- let n = await Ie(e, t.receiptId);
230
+ let n = await Ce(e, t.receiptId);
230
231
  if (n === void 0 || n.workflowName !== t.workflowName || n.tenantId !== t.tenantId) throw Error("Queued cancellation receipt is missing or belongs to another workflow or tenant");
231
232
  if (n.terminal !== null) return {
232
233
  kind: "terminal",
233
234
  outcome: n.terminal
234
235
  };
235
236
  if (n.submissionId !== null) {
236
- let t = await S(e, n.submissionId);
237
+ let t = await M(e, n.submissionId);
237
238
  if (t === void 0 || !t.receiptsBound || t.workflowName !== n.workflowName || t.tenantId !== n.tenantId || !t.intentIds.includes(n.pendingId)) throw Error("Queued cancellation receipt has no matching submission");
238
239
  return {
239
240
  kind: "submitted",
@@ -241,8 +242,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
241
242
  };
242
243
  }
243
244
  let [r] = await e.query({
244
- table: A,
245
- predicate: z("id", n.pendingId),
245
+ table: O,
246
+ predicate: B("id", n.pendingId),
246
247
  lock: "update",
247
248
  order: [],
248
249
  take: 1,
@@ -250,7 +251,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
250
251
  projection: void 0
251
252
  });
252
253
  if (r === void 0) throw Error("Queued cancellation has no pending input or submission");
253
- let i = M(r);
254
+ let i = P(r);
254
255
  if (i.workflowName !== n.workflowName || i.tenantId !== n.tenantId || i.deadLetteredAt !== void 0) throw Error("Queued cancellation input has contradictory ownership or is dead-lettered");
255
256
  let a = {
256
257
  kind: "cancelled",
@@ -266,31 +267,31 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
266
267
  kind: "terminal",
267
268
  outcome: a
268
269
  };
269
- }, jt = "_voltro_workflow_parent_closures", Y = L.NonEmptyString, Mt = L.Struct({
270
- id: Y,
271
- runId: Y,
272
- workflowName: Y,
273
- executionId: Y,
274
- generation: Y,
275
- parentStatus: L.Literal("succeeded", "failed", "cancelled"),
276
- closedAt: L.DateFromSelf,
277
- afterChildId: L.NullOr(Y),
278
- scanHasOpenChildren: L.Boolean,
279
- completedAt: L.NullOr(L.DateFromSelf)
280
- }), Nt = L.Struct({
281
- id: Y,
282
- tag: Y,
283
- executionId: Y,
284
- status: L.Literal("running", "suspended", "succeeded", "failed", "cancelled"),
285
- runnerGeneration: L.optional(L.NullOr(Y)),
286
- parentGeneration: L.optional(L.NullOr(Y)),
287
- parentClosePolicy: L.NullOr(L.Literal("cancel", "terminate", "abandon"))
270
+ }, jt = "_voltro_workflow_parent_closures", X = R.NonEmptyString, Mt = R.Struct({
271
+ id: X,
272
+ runId: X,
273
+ workflowName: X,
274
+ executionId: X,
275
+ generation: X,
276
+ parentStatus: R.Literal("succeeded", "failed", "cancelled"),
277
+ closedAt: R.DateFromSelf,
278
+ afterChildId: R.NullOr(X),
279
+ scanHasOpenChildren: R.Boolean,
280
+ completedAt: R.NullOr(R.DateFromSelf)
281
+ }), Nt = R.Struct({
282
+ id: X,
283
+ tag: X,
284
+ executionId: X,
285
+ status: R.Literal("running", "suspended", "succeeded", "failed", "cancelled"),
286
+ runnerGeneration: R.optional(R.NullOr(X)),
287
+ parentGeneration: R.optional(R.NullOr(X)),
288
+ parentClosePolicy: R.NullOr(R.Literal("cancel", "terminate", "abandon"))
288
289
  }), Pt = async (e, t, n) => {
289
290
  if (t.parentClosePolicy !== "cancel" && t.parentClosePolicy !== "terminate") return !1;
290
291
  if (typeof t.parentExecutionId != "string" || t.parentExecutionId.length === 0 || typeof t.parentGeneration != "string" || t.parentGeneration.length === 0) throw Error("Child entry requires its original parent execution and generation");
291
292
  let r = n ?? (await e.query({
292
293
  table: jt,
293
- predicate: R(z("executionId", t.parentExecutionId), z("generation", t.parentGeneration)),
294
+ predicate: z(B("executionId", t.parentExecutionId), B("generation", t.parentGeneration)),
294
295
  lock: "update",
295
296
  order: [],
296
297
  take: 1,
@@ -298,19 +299,19 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
298
299
  projection: void 0
299
300
  }))[0];
300
301
  if (r === void 0) return !1;
301
- let i = L.decodeUnknownSync(Mt)(r);
302
+ let i = R.decodeUnknownSync(Mt)(r);
302
303
  if (i.executionId !== t.parentExecutionId || i.generation !== t.parentGeneration) return !1;
303
- let a = L.decodeUnknownSync(Nt)(t), o = nt("wfctl", JSON.stringify([
304
+ let a = R.decodeUnknownSync(Nt)(t), o = nt("wfctl", JSON.stringify([
304
305
  "parent-close",
305
306
  i.id,
306
307
  a.id
307
- ])), s = await C(e, o);
308
+ ])), s = await ae(e, o);
308
309
  if (s !== void 0) {
309
310
  if (s.runId !== a.id || s.workflowName !== a.tag || s.executionId !== a.executionId || s.operation === "resume" || s.cause?.reason !== "parent-close" || s.cause.detail?.closureId !== i.id) throw Error("Parent closure receipt belongs to another child");
310
311
  } else {
311
312
  if (a.status !== "running" && a.status !== "suspended") return !1;
312
313
  if (a.runnerGeneration === void 0 || a.runnerGeneration === null) throw Error("Child entry requires its own generation");
313
- await Ue(e, {
314
+ await He(e, {
314
315
  id: o,
315
316
  runId: a.id,
316
317
  workflowName: a.tag,
@@ -335,7 +336,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
335
336
  }, Ft = async (e, t, n = Date.now()) => {
336
337
  let [r] = await e.query({
337
338
  table: jt,
338
- predicate: z("id", t),
339
+ predicate: B("id", t),
339
340
  lock: "update",
340
341
  order: [],
341
342
  take: 1,
@@ -343,7 +344,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
343
344
  projection: void 0
344
345
  });
345
346
  if (r === void 0) throw Error("Parent closure is missing");
346
- let i = L.decodeUnknownSync(Mt)(r);
347
+ let i = R.decodeUnknownSync(Mt)(r);
347
348
  if (i.completedAt !== null) return {
348
349
  scanned: 0,
349
350
  controls: 0,
@@ -352,7 +353,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
352
353
  if (!Number.isFinite(n)) throw Error("Parent closure requires a finite completion timestamp");
353
354
  let a = await e.query({
354
355
  table: "_voltro_workflow_runs",
355
- predicate: R(z("parentExecutionId", i.executionId), ...i.afterChildId === null ? [] : [B("id", i.afterChildId)]),
356
+ predicate: z(B("parentExecutionId", i.executionId), ...i.afterChildId === null ? [] : [V("id", i.afterChildId)]),
356
357
  lock: "update",
357
358
  order: [{
358
359
  column: "id",
@@ -363,10 +364,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
363
364
  projection: void 0
364
365
  }), o = 0, s = i.scanHasOpenChildren, c = null;
365
366
  for (let t of a) {
366
- let r = L.decodeUnknownSync(Nt)(t);
367
+ let r = R.decodeUnknownSync(Nt)(t);
367
368
  if (c = r.id, r.parentClosePolicy !== null && r.parentClosePolicy !== "abandon") {
368
369
  if (r.parentGeneration === void 0 || r.parentGeneration === null) throw Error("Parent closure cannot attribute a child without its parent generation");
369
- r.parentGeneration === i.generation && ((r.status === "running" || r.status === "suspended") && (s = !0), await Pt(e, t, i) && (o++, r.status === "suspended" && typeof r.runnerGeneration == "string" && await Vt(e, {
370
+ r.parentGeneration === i.generation && ((r.status === "running" || r.status === "suspended") && (s = !0), await Pt(e, t, i) && (o++, r.status === "suspended" && typeof r.runnerGeneration == "string" && await Ht(e, {
370
371
  runId: r.id,
371
372
  workflowName: r.tag,
372
373
  executionId: r.executionId,
@@ -374,7 +375,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
374
375
  }, n)));
375
376
  }
376
377
  }
377
- let l = a.length < 100, u = l && !s && !await Be(e, i.id);
378
+ let l = a.length < 100, u = l && !s && !await ze(e, i.id);
378
379
  if (await e.update(jt, i.id, {
379
380
  afterChildId: l ? null : c,
380
381
  scanHasOpenChildren: !l && s,
@@ -385,19 +386,19 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
385
386
  controls: o,
386
387
  wrapped: l
387
388
  };
388
- }, X = "_voltro_workflow_runs", It = L.NullOr(L.Struct({
389
- requestId: L.NonEmptyString,
390
- restartToken: L.NullOr(L.NonEmptyString)
391
- })), Lt = async (e, t, n, r) => {
389
+ }, It = "_voltro_workflow_runs", Lt = R.NullOr(R.Struct({
390
+ requestId: R.NonEmptyString,
391
+ restartToken: R.NullOr(R.NonEmptyString)
392
+ })), Rt = async (e, t, n, r) => {
392
393
  if (typeof t.id != "string") throw Error("Child entry has no allocated run identity");
393
394
  let i = {
394
395
  runId: t.id,
395
396
  workflowName: n.workflowName,
396
397
  executionId: n.executionId,
397
398
  generation: n.generation
398
- }, a = await nn(e, i), o = await Pt(e, t);
399
+ }, a = await rn(e, i), o = await Pt(e, t);
399
400
  if (!a && !o) return;
400
- let s = await Ut(e, {
401
+ let s = await Wt(e, {
401
402
  owner: i,
402
403
  now: n.now,
403
404
  durationMs: 0,
@@ -410,43 +411,43 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
410
411
  previous: r,
411
412
  terminalEvent: s.terminalEvent
412
413
  };
413
- }, Rt = async (e, t) => {
414
- let n = await Oe(e, t);
414
+ }, zt = async (e, t) => {
415
+ let n = await Ee(e, t);
415
416
  return {
416
- ...await Lt(e, n.row, t, n.previous) ?? {
417
+ ...await Rt(e, n.row, t, n.previous) ?? {
417
418
  kind: "entered",
418
419
  row: n.row,
419
420
  previous: n.previous
420
421
  },
421
422
  restartEvent: n.event
422
423
  };
423
- }, zt = async (e, t) => {
424
+ }, Bt = async (e, t) => {
424
425
  if ([
425
426
  t.workflowName,
426
427
  t.executionId,
427
428
  t.generation
428
429
  ].some((e) => e.length === 0) || typeof t.initialRow.id != "string" || t.initialRow.id.length === 0 || !Number.isFinite(t.now)) throw Error("Workflow entry requires allocated identities and a finite timestamp");
429
430
  let n = (await e.query({
430
- table: X,
431
- predicate: z("executionId", t.executionId),
431
+ table: It,
432
+ predicate: B("executionId", t.executionId),
432
433
  lock: "update",
433
434
  order: [],
434
435
  take: 1,
435
436
  skip: void 0,
436
437
  projection: void 0
437
- }))[0], r = L.decodeUnknownSync(It)(t.delivery ?? null), i = (r) => Lt(e, r, t, n);
438
+ }))[0], r = R.decodeUnknownSync(Lt)(t.delivery ?? null), i = (r) => Rt(e, r, t, n);
438
439
  if (n === void 0) {
439
440
  if (r !== null && r.restartToken !== null) throw Error("Workflow restart delivery has no resident authorization");
440
441
  if ((await e.query({
441
442
  table: "_voltro_workflow_parent_closures",
442
- predicate: z("executionId", t.executionId),
443
+ predicate: B("executionId", t.executionId),
443
444
  lock: "update",
444
445
  order: [],
445
446
  take: 1,
446
447
  skip: void 0,
447
448
  projection: ["id"]
448
449
  })).length !== 0) throw Error("Workflow execution is already terminal; restore its engine journal instead of re-entering the body");
449
- let n = await e.insert(X, {
450
+ let n = await e.insert(It, {
450
451
  ...t.initialRow,
451
452
  tag: t.workflowName,
452
453
  executionId: t.executionId,
@@ -463,9 +464,9 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
463
464
  };
464
465
  }
465
466
  if (n.tag !== t.workflowName || typeof n.id != "string") throw Error("Workflow entry execution belongs to a different resident run");
466
- let a = L.decodeUnknownSync(It)(n.engineDelivery ?? null);
467
+ let a = R.decodeUnknownSync(Lt)(n.engineDelivery ?? null);
467
468
  if (a?.requestId !== r?.requestId || a?.restartToken !== r?.restartToken) {
468
- if (n.status === "failed" && r !== null && r.restartToken !== null && a?.requestId === r.requestId) return Rt(e, {
469
+ if (n.status === "failed" && r !== null && r.restartToken !== null && a?.requestId === r.requestId) return zt(e, {
469
470
  runId: n.id,
470
471
  workflowName: t.workflowName,
471
472
  executionId: t.executionId,
@@ -488,8 +489,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
488
489
  executionId: t.executionId,
489
490
  generation: n.runnerGeneration
490
491
  };
491
- if (await ie(e, r)) {
492
- let i = await Ut(e, {
492
+ if (await re(e, r)) {
493
+ let i = await Wt(e, {
493
494
  owner: r,
494
495
  now: t.now,
495
496
  durationMs: 0,
@@ -513,7 +514,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
513
514
  if (typeof s != "number" || !Number.isSafeInteger(s) || s < 0) throw Error("Workflow entry has an invalid resident reclaim counter");
514
515
  let c = o ? s + 1 : 0;
515
516
  if (!Number.isSafeInteger(c)) throw Error("Workflow reclaim counter exhausted");
516
- let l = await e.update(X, n.id, {
517
+ let l = await e.update(It, n.id, {
517
518
  runnerGeneration: t.generation,
518
519
  runnerEnteredAt: new Date(t.now),
519
520
  reclaimCount: c,
@@ -525,7 +526,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
525
526
  });
526
527
  if (l === null) throw Error("Workflow run disappeared while entering its new generation");
527
528
  let u = await i(l);
528
- return u === void 0 ? (n.status === "suspended" && n.runnerEnteredAt === null && typeof n.runnerGeneration == "string" && await je(e, {
529
+ return u === void 0 ? (n.status === "suspended" && n.runnerEnteredAt === null && typeof n.runnerGeneration == "string" && await ke(e, {
529
530
  runId: n.id,
530
531
  workflowName: t.workflowName,
531
532
  executionId: t.executionId,
@@ -535,7 +536,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
535
536
  row: l,
536
537
  previous: n
537
538
  }) : u;
538
- }, Bt = async (e, t) => {
539
+ }, Vt = async (e, t) => {
539
540
  if ([
540
541
  t.runId,
541
542
  t.workflowName,
@@ -543,8 +544,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
543
544
  t.generation
544
545
  ].some((e) => e.length === 0)) throw Error("Workflow runner ownership requires non-empty identities");
545
546
  let n = (await e.query({
546
- table: X,
547
- predicate: z("id", t.runId),
547
+ table: It,
548
+ predicate: B("id", t.runId),
548
549
  lock: "update",
549
550
  order: [],
550
551
  take: 1,
@@ -553,21 +554,21 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
553
554
  }))[0];
554
555
  if (n === void 0 || n.tag !== t.workflowName || n.executionId !== t.executionId) throw Error("Workflow runner ownership does not match its resident run");
555
556
  return n;
556
- }, Vt = async (e, t, n) => {
557
- let r = await Bt(e, t);
558
- if (r.runnerGeneration !== t.generation || r.status !== "suspended" || r.runnerEnteredAt !== null || !await ie(e, t)) return !1;
559
- if ((await Ut(e, {
557
+ }, Ht = async (e, t, n) => {
558
+ let r = await Vt(e, t);
559
+ if (r.runnerGeneration !== t.generation || r.status !== "suspended" || r.runnerEnteredAt !== null || !await re(e, t)) return !1;
560
+ if ((await Wt(e, {
560
561
  owner: t,
561
562
  now: n,
562
563
  durationMs: 0,
563
564
  outcome: { status: "cancelled" }
564
565
  }, "suspended")).kind !== "committed") throw Error("Suspended cancellation lost its resident owner");
565
566
  return !0;
566
- }, Ht = async (e, t, n) => {
567
- let r = await Bt(e, t);
567
+ }, Ut = async (e, t, n) => {
568
+ let r = await Vt(e, t);
568
569
  if (r.runnerGeneration !== t.generation) return { kind: "superseded" };
569
570
  if (r.status !== "running") return { kind: "not-running" };
570
- let i = await e.update(X, t.runId, {
571
+ let i = await e.update(It, t.runId, {
571
572
  status: "suspended",
572
573
  runnerEnteredAt: null,
573
574
  errorTag: n.errorTag,
@@ -578,8 +579,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
578
579
  kind: "committed",
579
580
  row: i
580
581
  };
581
- }, Ut = async (e, t, n) => {
582
- let r = await Bt(e, t.owner);
582
+ }, Wt = async (e, t, n) => {
583
+ let r = await Vt(e, t.owner);
583
584
  if (r.runnerGeneration !== t.owner.generation) return { kind: "superseded" };
584
585
  if (r.status !== n) return { kind: "not-running" };
585
586
  if (!Number.isFinite(t.now) || !Number.isFinite(t.durationMs) || t.durationMs < 0) throw Error("Workflow completion requires finite time and non-negative duration");
@@ -589,13 +590,13 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
589
590
  t.owner.workflowName,
590
591
  t.owner.runId,
591
592
  t.owner.generation
592
- ])).digest("hex").slice(0, 40)}`, await D(e, {
593
+ ])).digest("hex").slice(0, 40)}`, await j(e, {
593
594
  id: a,
594
595
  sourceKind: "run",
595
596
  sourceId: t.owner.runId,
596
597
  workflowName: t.owner.workflowName,
597
598
  tenantId: i.tenantId,
598
- handler: await Ae(e, t.owner.executionId, t.owner.workflowName, i.tenantId) ? null : i.handler,
599
+ handler: await k(e, t.owner.executionId, t.owner.workflowName, i.tenantId) ? null : i.handler,
599
600
  callerContext: i.callerContext,
600
601
  report: {
601
602
  workflow: t.owner.workflowName,
@@ -607,28 +608,28 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
607
608
  reason: "the run failed",
608
609
  failedAt: t.now
609
610
  }
610
- }), await ne(e, a, t.now)), i.status === "cancelled") {
611
- let n = (await T((t) => e.query({
611
+ }), await fe(e, a, t.now)), i.status === "cancelled") {
612
+ let n = (await C((t) => e.query({
612
613
  ...t,
613
614
  lock: "update"
614
615
  }), t.owner)).map((e) => ({
615
616
  request: e,
616
- cause: pe(e)
617
+ cause: he(e)
617
618
  })).find((e) => e.cause !== void 0);
618
619
  if (n !== void 0 && n.cause !== void 0) {
619
- let i = L.decodeUnknownOption(L.Struct({ tenantId: L.NullOr(L.String) }))(r.subject), o = n.request.owner?.tenantId ?? (i._tag === "Some" ? i.value.tenantId : null);
620
+ let i = R.decodeUnknownOption(R.Struct({ tenantId: R.NullOr(R.String) }))(r.subject), o = n.request.owner?.tenantId ?? (i._tag === "Some" ? i.value.tenantId : null);
620
621
  a = `wffr_${mt("sha256").update(JSON.stringify([
621
622
  "finish-timeout",
622
623
  t.owner.workflowName,
623
624
  t.owner.runId,
624
625
  t.owner.generation
625
- ])).digest("hex").slice(0, 40)}`, await D(e, {
626
+ ])).digest("hex").slice(0, 40)}`, await j(e, {
626
627
  id: a,
627
628
  sourceKind: "run",
628
629
  sourceId: t.owner.runId,
629
630
  workflowName: t.owner.workflowName,
630
631
  tenantId: o,
631
- handler: await Ae(e, t.owner.executionId, t.owner.workflowName, o) ? null : n.cause.detail.onFailure,
632
+ handler: await k(e, t.owner.executionId, t.owner.workflowName, o) ? null : n.cause.detail.onFailure,
632
633
  callerContext: {
633
634
  subject: r.subject ?? null,
634
635
  traceId: r.traceId ?? null,
@@ -647,10 +648,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
647
648
  reason: n.cause.reason,
648
649
  failedAt: t.now
649
650
  }
650
- }), await ne(e, a, t.now);
651
+ }), await fe(e, a, t.now);
651
652
  }
652
653
  }
653
- let o = await e.update(X, t.owner.runId, {
654
+ let o = await e.update(It, t.owner.runId, {
654
655
  status: i.status,
655
656
  completedAt: new Date(t.now),
656
657
  durationMs: t.durationMs,
@@ -694,11 +695,11 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
694
695
  } : {}
695
696
  }
696
697
  });
697
- await ue(e, t), await x(e, t.owner.executionId, t.now);
698
- for await (let n of Se(e, t.owner.executionId, t.owner.workflowName)) {
698
+ await pe(e, t), await x(e, t.owner.executionId, t.now);
699
+ for await (let n of Ue(e, t.owner.executionId, t.owner.workflowName)) {
699
700
  let [r] = await e.query({
700
701
  table: te,
701
- predicate: z("id", n.ledgerId),
702
+ predicate: B("id", n.ledgerId),
702
703
  lock: "update",
703
704
  order: [],
704
705
  take: 1,
@@ -714,49 +715,49 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
714
715
  failureId: a,
715
716
  terminalEvent: s
716
717
  };
717
- }, Wt = (e, t) => Ut(e, t, "running"), Gt = G("_voltro_workflow_queued_cancellations", {
718
- id: V({ prefix: "wfqc" }),
719
- receiptId: K(),
720
- workflowName: K(),
721
- tenantId: K().nullable(),
722
- requestedAt: q(),
723
- cause: W().nullable(),
724
- target: W(),
725
- controlBinding: W().nullable()
726
- }).index(["receiptId"]).index(["workflowName", "id"]).nonReactive(), Kt = L.NullOr(L.Struct({
727
- reason: L.NonEmptyString,
728
- detail: L.optional(L.Record({
729
- key: L.String,
730
- value: L.Unknown
718
+ }, Gt = (e, t) => Wt(e, t, "running"), Kt = K("_voltro_workflow_queued_cancellations", {
719
+ id: H({ prefix: "wfqc" }),
720
+ receiptId: q(),
721
+ workflowName: q(),
722
+ tenantId: q().nullable(),
723
+ requestedAt: J(),
724
+ cause: G().nullable(),
725
+ target: G(),
726
+ controlBinding: G().nullable()
727
+ }).index(["receiptId"]).index(["workflowName", "id"]).nonReactive(), qt = R.NullOr(R.Struct({
728
+ reason: R.NonEmptyString,
729
+ detail: R.optional(R.Record({
730
+ key: R.String,
731
+ value: R.Unknown
731
732
  }))
732
- })), qt = L.Struct({
733
- id: L.NonEmptyString,
734
- receiptId: L.NonEmptyString,
735
- workflowName: L.NonEmptyString,
736
- tenantId: L.NullOr(L.String),
737
- requestedAt: L.DateFromSelf,
738
- cause: Kt,
739
- controlBinding: L.NullOr(L.Struct({
740
- controlId: L.NonEmptyString,
741
- runId: L.NonEmptyString,
742
- executionId: L.NonEmptyString,
743
- generation: L.NonEmptyString
733
+ })), Jt = R.Struct({
734
+ id: R.NonEmptyString,
735
+ receiptId: R.NonEmptyString,
736
+ workflowName: R.NonEmptyString,
737
+ tenantId: R.NullOr(R.String),
738
+ requestedAt: R.DateFromSelf,
739
+ cause: qt,
740
+ controlBinding: R.NullOr(R.Struct({
741
+ controlId: R.NonEmptyString,
742
+ runId: R.NonEmptyString,
743
+ executionId: R.NonEmptyString,
744
+ generation: R.NonEmptyString
744
745
  })),
745
- target: L.Union(L.Struct({
746
- kind: L.Literal("submission"),
747
- submissionId: L.NonEmptyString
748
- }), L.Struct({
749
- kind: L.Literal("terminal"),
750
- receipt: L.Unknown
746
+ target: R.Union(R.Struct({
747
+ kind: R.Literal("submission"),
748
+ submissionId: R.NonEmptyString
749
+ }), R.Struct({
750
+ kind: R.Literal("terminal"),
751
+ receipt: R.Unknown
751
752
  }))
752
- }), Jt = (e) => {
753
- let t = L.decodeUnknownSync(qt)(e);
753
+ }), Yt = (e) => {
754
+ let t = R.decodeUnknownSync(Jt)(e);
754
755
  if (!Number.isFinite(t.requestedAt.getTime())) throw Error("Queued cancellation request has an invalid timestamp");
755
756
  if (t.target.kind === "submission") return {
756
757
  ...t,
757
758
  target: t.target
758
759
  };
759
- let n = Pe(t.target.receipt);
760
+ let n = Fe(t.target.receipt);
760
761
  if (t.controlBinding !== null) throw Error("A non-executed start cannot have a run control binding");
761
762
  if (n.id !== t.receiptId || n.workflowName !== t.workflowName || n.tenantId !== t.tenantId || n.terminal === null) throw Error("Queued cancellation terminal evidence belongs to another start or is not terminal");
762
763
  return {
@@ -766,44 +767,44 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
766
767
  receipt: n
767
768
  }
768
769
  };
769
- }, Yt = async (e, t) => {
770
+ }, Xt = async (e, t) => {
770
771
  let [n] = await e.query({
771
- table: Gt.tableName,
772
- predicate: z("id", t),
772
+ table: Kt.tableName,
773
+ predicate: B("id", t),
773
774
  lock: "update",
774
775
  order: [],
775
776
  take: 1,
776
777
  skip: void 0,
777
778
  projection: void 0
778
779
  });
779
- return n === void 0 ? void 0 : Jt(n);
780
- }, Xt = async (e, t) => {
780
+ return n === void 0 ? void 0 : Yt(n);
781
+ }, Zt = async (e, t) => {
781
782
  let n = t.controlBinding;
782
783
  if (n === null) throw Error("Queued cancellation has no control binding");
783
- let r = await C(e, n.controlId);
784
+ let r = await ae(e, n.controlId);
784
785
  if (r === void 0 || r.operation !== "cancel" || r.workflowName !== t.workflowName || r.runId !== n.runId || r.executionId !== n.executionId || r.generation !== n.generation || r.owner?.tenantId !== t.tenantId || r.result?.status === "running") throw Error("Queued cancellation lost its original resident control owner");
785
786
  return r;
786
- }, Zt = async (e, t, n) => {
787
+ }, Qt = async (e, t, n) => {
787
788
  if (t.controlBinding === null) return;
788
- let r = await Xt(e, t);
789
+ let r = await Zt(e, t);
789
790
  if (r.result !== null) return;
790
791
  let [i] = await e.query({
791
792
  table: "_voltro_workflow_runs",
792
- predicate: z("id", r.runId),
793
+ predicate: B("id", r.runId),
793
794
  lock: "update",
794
795
  order: [],
795
796
  take: 1,
796
797
  skip: void 0,
797
798
  projection: void 0
798
799
  });
799
- i !== void 0 && await Vt(e, {
800
+ i !== void 0 && await Ht(e, {
800
801
  runId: r.runId,
801
802
  workflowName: r.workflowName,
802
803
  executionId: r.executionId,
803
804
  generation: r.generation
804
805
  }, n);
805
- }, Qt = async (e, t) => {
806
- let n = await Yt(e, t.requestId);
806
+ }, $t = async (e, t) => {
807
+ let n = await Xt(e, t.requestId);
807
808
  if (n === void 0) return {
808
809
  kind: "unknown",
809
810
  reason: "missing-request"
@@ -819,7 +820,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
819
820
  };
820
821
  }
821
822
  if (n.controlBinding !== null) {
822
- let t = await Xt(e, n);
823
+ let t = await Zt(e, n);
823
824
  if (t.result !== null) return {
824
825
  kind: t.result.kind,
825
826
  request: n,
@@ -827,7 +828,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
827
828
  };
828
829
  let [r] = await e.query({
829
830
  table: "_voltro_workflow_runs",
830
- predicate: z("id", t.runId),
831
+ predicate: B("id", t.runId),
831
832
  lock: "update",
832
833
  order: [],
833
834
  take: 1,
@@ -853,7 +854,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
853
854
  run: r
854
855
  };
855
856
  }
856
- let r = await S(e, n.target.submissionId);
857
+ let r = await M(e, n.target.submissionId);
857
858
  if (r === void 0 || !r.receiptsBound || r.workflowName !== n.workflowName || r.tenantId !== n.tenantId) throw Error("Queued cancellation has no matching submission evidence");
858
859
  return r.failureId === null ? r.retry.stoppedAt !== null || r.runId !== null ? {
859
860
  kind: "unknown",
@@ -867,10 +868,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
867
868
  request: n,
868
869
  outcome: {
869
870
  kind: "rejected",
870
- failureId: await we(e, r)
871
+ failureId: await Me(e, r)
871
872
  }
872
873
  };
873
- }, $t = (e, t) => {
874
+ }, en = (e, t) => {
874
875
  let n = "request" in t ? t.request : void 0;
875
876
  if (n !== void 0 && (n.id !== e.requestId || n.receiptId !== e.receiptId || n.workflowName !== e.workflowName)) throw Error("Queued control result belongs to another request or receipt");
876
877
  let r = {
@@ -879,7 +880,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
879
880
  receiptId: e.receiptId,
880
881
  requestId: n?.id ?? null,
881
882
  kind: t.kind
882
- }, i = L.decodeUnknownSync($e);
883
+ }, i = R.decodeUnknownSync($e);
883
884
  if (t.kind === "unknown") return i({
884
885
  ...r,
885
886
  observation: {
@@ -918,14 +919,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
918
919
  ...r,
919
920
  observation: { kind: "pending" }
920
921
  });
921
- }, en = async (e, t) => {
922
- let n = L.decodeUnknownSync(L.Struct({
923
- id: L.NonEmptyString,
924
- receiptId: L.NonEmptyString,
925
- workflowName: L.NonEmptyString,
926
- tenantId: L.NullOr(L.String),
927
- requestedAt: L.DateFromSelf,
928
- cause: Kt
922
+ }, tn = async (e, t) => {
923
+ let n = R.decodeUnknownSync(R.Struct({
924
+ id: R.NonEmptyString,
925
+ receiptId: R.NonEmptyString,
926
+ workflowName: R.NonEmptyString,
927
+ tenantId: R.NullOr(R.String),
928
+ requestedAt: R.DateFromSelf,
929
+ cause: qt
929
930
  }))({
930
931
  id: t.requestId,
931
932
  receiptId: t.receiptId,
@@ -935,10 +936,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
935
936
  cause: t.cause ?? null
936
937
  });
937
938
  if (!Number.isFinite(n.requestedAt.getTime())) throw Error("Queued cancellation request requires a valid timestamp");
938
- let r = await Yt(e, n.id);
939
+ let r = await Xt(e, n.id);
939
940
  if (r !== void 0) {
940
941
  if (r.receiptId !== n.receiptId || r.workflowName !== n.workflowName || r.tenantId !== n.tenantId) throw Error("Queued cancellation identity belongs to a different start or owner");
941
- return await Zt(e, r, t.now), r;
942
+ return await Qt(e, r, t.now), r;
942
943
  }
943
944
  let i = await At(e, t), a;
944
945
  if (i.kind === "submitted") a = {
@@ -946,25 +947,25 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
946
947
  submissionId: i.submissionId
947
948
  };
948
949
  else {
949
- let n = await Ie(e, t.receiptId);
950
+ let n = await Ce(e, t.receiptId);
950
951
  if (n === void 0) throw Error("Cancelled start receipt disappeared during request acceptance");
951
952
  a = {
952
953
  kind: "terminal",
953
954
  receipt: n
954
955
  };
955
956
  }
956
- let o = Jt({
957
+ let o = Yt({
957
958
  ...n,
958
959
  target: a,
959
960
  controlBinding: null
960
961
  });
961
- if (await e.insert(Gt.tableName, o), a.kind === "submission") {
962
- let n = await S(e, a.submissionId);
962
+ if (await e.insert(Kt.tableName, o), a.kind === "submission") {
963
+ let n = await M(e, a.submissionId);
963
964
  if (n === void 0) throw Error("Queued cancellation submission disappeared during acceptance");
964
965
  if (n.preparedExecutionId !== null && n.dispatchAttempts > 0) {
965
966
  let [r] = await e.query({
966
967
  table: "_voltro_workflow_runs",
967
- predicate: z("executionId", n.preparedExecutionId),
968
+ predicate: B("executionId", n.preparedExecutionId),
968
969
  lock: "update",
969
970
  order: [],
970
971
  take: 1,
@@ -972,24 +973,24 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
972
973
  projection: void 0
973
974
  });
974
975
  if (r !== void 0) {
975
- let n = L.decodeUnknownSync(L.Struct({
976
- id: L.NonEmptyString,
977
- tag: L.NonEmptyString,
978
- executionId: L.NonEmptyString,
979
- runnerGeneration: L.NonEmptyString
976
+ let n = R.decodeUnknownSync(R.Struct({
977
+ id: R.NonEmptyString,
978
+ tag: R.NonEmptyString,
979
+ executionId: R.NonEmptyString,
980
+ runnerGeneration: R.NonEmptyString
980
981
  }))(r), i = {
981
982
  runId: n.id,
982
983
  workflowName: n.tag,
983
984
  executionId: n.executionId,
984
985
  generation: n.runnerGeneration
985
- }, a = await tn(e, o.id, i);
986
- return await Zt(e, a.request, t.now), a.request;
986
+ }, a = await nn(e, o.id, i);
987
+ return await Qt(e, a.request, t.now), a.request;
987
988
  }
988
989
  }
989
990
  }
990
991
  return o;
991
- }, tn = async (e, t, n) => {
992
- let r = await Yt(e, t);
992
+ }, nn = async (e, t, n) => {
993
+ let r = await Xt(e, t);
993
994
  if (r === void 0) throw Error("Queued cancellation request is missing");
994
995
  if (r.target.kind === "terminal") return {
995
996
  kind: "terminal",
@@ -998,19 +999,19 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
998
999
  if (r.controlBinding !== null) return {
999
1000
  kind: "bound",
1000
1001
  request: r,
1001
- control: await Xt(e, r)
1002
+ control: await Zt(e, r)
1002
1003
  };
1003
- let i = await S(e, r.target.submissionId);
1004
+ let i = await M(e, r.target.submissionId);
1004
1005
  if (i === void 0 || i.workflowName !== r.workflowName || i.tenantId !== r.tenantId || !i.receiptsBound || i.failureId !== null || i.dispatchAttempts === 0 || i.preparedExecutionId !== n.executionId || i.executionId !== null && i.executionId !== n.executionId || i.runId !== null && i.runId !== n.runId || n.workflowName !== r.workflowName) throw Error("Queued cancellation has no dispatched submission for this resident execution");
1005
1006
  let [a] = await e.query({
1006
1007
  table: "_voltro_workflow_runs",
1007
- predicate: z("id", n.runId),
1008
+ predicate: B("id", n.runId),
1008
1009
  lock: "update",
1009
1010
  order: [],
1010
1011
  take: 1,
1011
1012
  skip: void 0,
1012
1013
  projection: void 0
1013
- }), o = L.decodeUnknownOption(L.Struct({ tenantId: L.NullOr(L.String) }))(a?.subject);
1014
+ }), o = R.decodeUnknownOption(R.Struct({ tenantId: R.NullOr(R.String) }))(a?.subject);
1014
1015
  if (a === void 0 || a.tag !== n.workflowName || a.executionId !== n.executionId || a.runnerGeneration !== n.generation || o._tag === "None" || o.value.tenantId !== r.tenantId || ![
1015
1016
  "running",
1016
1017
  "suspended",
@@ -1023,14 +1024,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1023
1024
  runId: n.runId,
1024
1025
  executionId: n.executionId,
1025
1026
  generation: n.generation
1026
- }, c = await Ue(e, {
1027
+ }, c = await He(e, {
1027
1028
  id: s.controlId,
1028
1029
  ...n,
1029
1030
  operation: "cancel",
1030
1031
  requestedAt: r.requestedAt.getTime(),
1031
1032
  cause: r.cause
1032
1033
  });
1033
- if (await e.update(Gt.tableName, r.id, { controlBinding: s }) === null) throw Error("Queued cancellation request disappeared during run binding");
1034
+ if (await e.update(Kt.tableName, r.id, { controlBinding: s }) === null) throw Error("Queued cancellation request disappeared during run binding");
1034
1035
  return {
1035
1036
  kind: "bound",
1036
1037
  request: {
@@ -1039,15 +1040,15 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1039
1040
  },
1040
1041
  control: c
1041
1042
  };
1042
- }, nn = async (e, t) => {
1043
+ }, rn = async (e, t) => {
1043
1044
  let n = /* @__PURE__ */ new Set();
1044
- for await (let r of Se(e, t.executionId, t.workflowName)) n.add(r.id);
1045
+ for await (let r of Ue(e, t.executionId, t.workflowName)) n.add(r.id);
1045
1046
  if (n.size === 0) return !1;
1046
1047
  let r, i = !1;
1047
1048
  for (;;) {
1048
1049
  let a = await e.query({
1049
- table: Gt.tableName,
1050
- predicate: R(z("workflowName", t.workflowName), ...r === void 0 ? [] : [B("id", r)]),
1050
+ table: Kt.tableName,
1051
+ predicate: z(B("workflowName", t.workflowName), ...r === void 0 ? [] : [V("id", r)]),
1051
1052
  lock: "update",
1052
1053
  order: [{
1053
1054
  column: "id",
@@ -1058,9 +1059,9 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1058
1059
  projection: void 0
1059
1060
  });
1060
1061
  for (let o of a) {
1061
- let a = Jt(o);
1062
+ let a = Yt(o);
1062
1063
  if (r = a.id, a.target.kind !== "submission" || !n.has(a.target.submissionId)) continue;
1063
- let s = await tn(e, a.id, t);
1064
+ let s = await nn(e, a.id, t);
1064
1065
  if (s.kind === "bound") {
1065
1066
  if (s.control.runId !== t.runId || s.control.executionId !== t.executionId || s.control.workflowName !== t.workflowName) throw Error("Queued cancellation entry does not match its original resident execution");
1066
1067
  s.control.result === null && (i = !0);
@@ -1068,32 +1069,32 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1068
1069
  }
1069
1070
  if (a.length < 100) return i;
1070
1071
  }
1071
- }, rn = L.Struct({
1072
- requestId: L.NonEmptyString,
1073
- receiptId: L.NonEmptyString,
1074
- workflowName: L.NonEmptyString,
1075
- tenantId: L.NullOr(L.String)
1076
- }), an = async (e, t) => {
1077
- let n = L.decodeUnknownSync(rn)(t);
1078
- return await en(e, {
1072
+ }, an = R.Struct({
1073
+ requestId: R.NonEmptyString,
1074
+ receiptId: R.NonEmptyString,
1075
+ workflowName: R.NonEmptyString,
1076
+ tenantId: R.NullOr(R.String)
1077
+ }), on = async (e, t) => {
1078
+ let n = R.decodeUnknownSync(an)(t);
1079
+ return await tn(e, {
1079
1080
  ...n,
1080
1081
  now: t.now,
1081
1082
  ...t.cause === void 0 ? {} : { cause: t.cause }
1082
- }), on(e, n);
1083
- }, on = async (e, t) => {
1084
- let n = L.decodeUnknownSync(rn)(t);
1085
- return $t(n, await Qt(e, n));
1083
+ }), sn(e, n);
1086
1084
  }, sn = async (e, t) => {
1085
+ let n = R.decodeUnknownSync(an)(t);
1086
+ return en(n, await $t(e, n));
1087
+ }, cn = async (e, t) => {
1087
1088
  if (new Set(t.intentIds).size !== t.intentIds.length) throw Error("Admitted transfer requires distinct pending identities");
1088
- let n = await S(e, t.id);
1089
+ let n = await M(e, t.id);
1089
1090
  if (n !== void 0) {
1090
1091
  if (n.workflowName !== t.workflowName || n.tenantId !== t.tenantId || n.ledgerId !== t.ledgerId || !n.receiptsBound) throw Error("Admitted transfer contradicts its existing submission");
1091
1092
  return n;
1092
1093
  }
1093
1094
  for (let n of t.intentIds) {
1094
1095
  let r = await e.query({
1095
- table: A,
1096
- predicate: z("id", n),
1096
+ table: O,
1097
+ predicate: B("id", n),
1097
1098
  order: [],
1098
1099
  take: 1,
1099
1100
  skip: void 0,
@@ -1101,19 +1102,19 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1101
1102
  lock: "update"
1102
1103
  });
1103
1104
  if (r[0] === void 0) throw Error("Admitted transfer lost a selected input");
1104
- let i = M(r[0]);
1105
+ let i = P(r[0]);
1105
1106
  if (i.workflowName !== t.workflowName || i.tenantId !== t.tenantId || i.deadLetteredAt !== void 0) throw Error("Admitted transfer selected a foreign or dead-lettered input");
1106
1107
  }
1107
- let r = await He(e, t);
1108
- await Ce(e, r.id);
1108
+ let r = await ie(e, t);
1109
+ await je(e, r.id);
1109
1110
  for (let t of r.intentIds) if (!await e.delete("_voltro_workflow_pending", t)) throw Error("Admitted input disappeared during submission transfer");
1110
1111
  return {
1111
1112
  ...r,
1112
1113
  receiptsBound: !0
1113
1114
  };
1114
- }, cn = async (e, t) => oe(e, (e) => ln(e, t)), ln = async (e, t) => {
1115
+ }, ln = async (e, t) => Pe(e, (e) => un(e, t)), un = async (e, t) => {
1115
1116
  if (t.id.length === 0 || t.intentIds.length === 0 || new Set(t.intentIds).size !== t.intentIds.length) throw Error("Queue transfer requires a submission identity and distinct pending identities");
1116
- let n = await S(e, t.id);
1117
+ let n = await M(e, t.id);
1117
1118
  if (n !== void 0) {
1118
1119
  if (n.workflowName !== t.workflowName || n.tenantId !== t.tenantId) throw Error("Admission submission identity belongs to a different workflow or tenant");
1119
1120
  if (!n.receiptsBound) throw Error("Submission exists without completed queue transfer");
@@ -1126,8 +1127,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1126
1127
  let r = [];
1127
1128
  for (let n of t.intentIds) {
1128
1129
  let i = await e.query({
1129
- table: A,
1130
- predicate: z("id", n),
1130
+ table: O,
1131
+ predicate: B("id", n),
1131
1132
  order: [],
1132
1133
  take: 1,
1133
1134
  skip: void 0,
@@ -1135,14 +1136,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1135
1136
  lock: "update"
1136
1137
  });
1137
1138
  if (i[0] === void 0) return { kind: "selection-unavailable" };
1138
- let a = M(i[0]);
1139
+ let a = P(i[0]);
1139
1140
  if (a.workflowName !== t.workflowName || a.tenantId !== t.tenantId) throw Error("Selected pending start belongs to a different workflow or tenant");
1140
1141
  if (a.deadLetteredAt !== void 0 || a.dueAt > t.now) return { kind: "selection-unavailable" };
1141
1142
  r.push(a);
1142
1143
  }
1143
1144
  let i = t.prepare(r);
1144
1145
  if (i.control.workflowName !== t.workflowName) throw Error("Prepared submission belongs to a different workflow");
1145
- let a = await w(e, {
1146
+ let a = await Ae(e, {
1146
1147
  ...i,
1147
1148
  id: t.id,
1148
1149
  tenantId: t.tenantId,
@@ -1150,7 +1151,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1150
1151
  now: t.now
1151
1152
  });
1152
1153
  if (a.kind !== "reserved") return a;
1153
- await Ce(e, t.id);
1154
+ await je(e, t.id);
1154
1155
  for (let t of r) if (!await e.delete("_voltro_workflow_pending", t.id)) throw Error("Pending start disappeared during queue transfer");
1155
1156
  return {
1156
1157
  ...a,
@@ -1159,8 +1160,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1159
1160
  receiptsBound: !0
1160
1161
  }
1161
1162
  };
1162
- }, un = async (e) => {
1163
- let { store: t, control: n, now: r } = e, i = be(n, e.payload), a = await se({
1163
+ }, dn = async (e) => {
1164
+ let { store: t, control: n, now: r } = e, i = D(n, e.payload), a = await ce({
1164
1165
  store: t,
1165
1166
  control: n,
1166
1167
  keys: i,
@@ -1168,7 +1169,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1168
1169
  now: r,
1169
1170
  reconsidering: !1
1170
1171
  });
1171
- if (a.kind === "drop") return await j({
1172
+ if (a.kind === "drop") return await A({
1172
1173
  store: t,
1173
1174
  control: n,
1174
1175
  keys: i,
@@ -1185,7 +1186,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1185
1186
  kind: "dropped",
1186
1187
  retryAfterMs: a.retryAfterMs
1187
1188
  };
1188
- if (a.kind === "skip") return await j({
1189
+ if (a.kind === "skip") return await A({
1189
1190
  store: t,
1190
1191
  control: n,
1191
1192
  keys: i,
@@ -1205,7 +1206,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1205
1206
  };
1206
1207
  if (a.kind === "defer") return {
1207
1208
  kind: "queued",
1208
- intentId: await ce({
1209
+ intentId: await ue({
1209
1210
  store: t,
1210
1211
  control: n,
1211
1212
  decision: a,
@@ -1221,12 +1222,12 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1221
1222
  };
1222
1223
  let o = e.payload, s = [], c = 1;
1223
1224
  if (n.batch !== void 0 && i.batchKey !== void 0) {
1224
- let r = await dn(t, n.workflowName, i.batchKey, n.batch.maxSize);
1225
+ let r = await fn(t, n.workflowName, i.batchKey, n.batch.maxSize);
1225
1226
  o = { items: [...r.map((e) => e.payload), e.payload] }, s = r.map((e) => e.id), c = r.length + 1;
1226
1227
  }
1227
1228
  return {
1228
1229
  kind: "start",
1229
- ledgerId: await j({
1230
+ ledgerId: await A({
1230
1231
  store: t,
1231
1232
  control: n,
1232
1233
  keys: i,
@@ -1249,9 +1250,9 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1249
1250
  runId: a.evict.runId
1250
1251
  } }
1251
1252
  };
1252
- }, dn = async (e, t, n, r) => (await e.query({
1253
+ }, fn = async (e, t, n, r) => (await e.query({
1253
1254
  table: "_voltro_workflow_pending",
1254
- predicate: R(z("workflowName", t), z("controlKey", n), z("mode", "batch")),
1255
+ predicate: z(B("workflowName", t), B("controlKey", n), B("mode", "batch")),
1255
1256
  order: [{
1256
1257
  column: "firstSeenAt",
1257
1258
  direction: "asc"
@@ -1262,22 +1263,22 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1262
1263
  })).map((n) => ({
1263
1264
  id: String(n.id),
1264
1265
  payload: E(e, t, n.payload)
1265
- })), fn = async (e, t, n, r) => {
1266
+ })), pn = async (e, t, n, r) => {
1266
1267
  await e.update("_voltro_workflow_admissions", t, {
1267
1268
  executionId: n,
1268
1269
  runId: r
1269
1270
  });
1270
- }, pn = G("_voltro_workflow_watermarks", {
1271
- id: V({ prefix: "wfwm" }),
1272
- positionAt: q(),
1273
- updatedAt: q().default("now")
1274
- }), mn = (e) => {
1271
+ }, mn = K("_voltro_workflow_watermarks", {
1272
+ id: H({ prefix: "wfwm" }),
1273
+ positionAt: J(),
1274
+ updatedAt: J().default("now")
1275
+ }), hn = (e) => {
1275
1276
  let t = e instanceof Error ? e.message : String(e);
1276
1277
  return t.length > 400 ? `${t.slice(0, 400)}…` : t;
1277
- }, hn = (e) => {
1278
- let t = [], n = [], r = [], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = e.payloadSchema === void 0 ? (e) => I.right(e) : (t) => {
1279
- let n = L.decodeUnknownEither(e.payloadSchema)(t);
1280
- return I.isRight(n) ? I.right(n.right) : I.left(mn(n.left));
1278
+ }, gn = (e) => {
1279
+ let t = [], n = [], r = [], i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = e.payloadSchema === void 0 ? (e) => L.right(e) : (t) => {
1280
+ let n = R.decodeUnknownEither(e.payloadSchema)(t);
1281
+ return L.isRight(n) ? L.right(n.right) : L.left(hn(n.left));
1281
1282
  }, s = e.runs.map((e) => ({
1282
1283
  run: e,
1283
1284
  decoded: o(e.payload)
@@ -1287,19 +1288,19 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1287
1288
  }));
1288
1289
  for (let o of e.entries) for (let l of e.events) {
1289
1290
  if (l.name !== o.event) continue;
1290
- let u = L.decodeUnknownEither(o.schema)(l.payload);
1291
- if (I.isLeft(u)) {
1291
+ let u = R.decodeUnknownEither(o.schema)(l.payload);
1292
+ if (L.isLeft(u)) {
1292
1293
  r.push({
1293
1294
  kind: "event-decode",
1294
1295
  workflowName: e.workflowName,
1295
1296
  event: o.event,
1296
1297
  subject: l.id,
1297
- detail: mn(u.left)
1298
+ detail: hn(u.left)
1298
1299
  });
1299
1300
  continue;
1300
1301
  }
1301
1302
  let d = u.right, f = (e) => e.getTime() > l.occurredAt.getTime() ? !1 : o.withinMs === void 0 || l.occurredAt.getTime() - e.getTime() <= o.withinMs, p = (t, n) => {
1302
- if (I.isLeft(t)) return r.push({
1303
+ if (L.isLeft(t)) return r.push({
1303
1304
  kind: "payload-decode",
1304
1305
  workflowName: e.workflowName,
1305
1306
  event: o.event,
@@ -1314,7 +1315,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1314
1315
  workflowName: e.workflowName,
1315
1316
  event: o.event,
1316
1317
  subject: n,
1317
- detail: mn(t)
1318
+ detail: hn(t)
1318
1319
  }), !1;
1319
1320
  }
1320
1321
  };
@@ -1337,33 +1338,33 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1337
1338
  discards: n,
1338
1339
  problems: r
1339
1340
  };
1340
- }, gn = (e) => {
1341
+ }, _n = (e) => {
1341
1342
  let t;
1342
1343
  for (let n of e) (t === void 0 || n.occurredAt.getTime() > t.getTime()) && (t = n.occurredAt);
1343
1344
  return t;
1344
- }, _n = "_voltro_workflow_watermarks", vn = "_voltro_workflow_events", yn = "cancelOn", bn = 36e5, xn = 500, Sn = (e) => {
1345
+ }, vn = "_voltro_workflow_watermarks", yn = "_voltro_workflow_events", bn = "cancelOn", xn = 36e5, Sn = 500, Cn = (e) => {
1345
1346
  if (e instanceof Date) return e;
1346
1347
  if (typeof e == "number") return new Date(e);
1347
1348
  if (typeof e == "string") {
1348
1349
  let t = new Date(e);
1349
1350
  if (!Number.isNaN(t.getTime())) return t;
1350
1351
  }
1351
- }, Cn = (e) => e instanceof Error ? e.message : String(e), wn = async (e, t) => Sn((await e.query({
1352
- table: _n,
1353
- predicate: z("id", t),
1352
+ }, wn = (e) => e instanceof Error ? e.message : String(e), Tn = async (e, t) => Cn((await e.query({
1353
+ table: vn,
1354
+ predicate: B("id", t),
1354
1355
  order: [],
1355
1356
  take: 1,
1356
1357
  skip: void 0,
1357
1358
  projection: void 0
1358
- }))[0]?.positionAt), Tn = async (e, t, n) => {
1359
- await e.upsert(_n, {
1359
+ }))[0]?.positionAt), En = async (e, t, n) => {
1360
+ await e.upsert(vn, {
1360
1361
  id: t,
1361
1362
  positionAt: n,
1362
1363
  updatedAt: /* @__PURE__ */ new Date()
1363
1364
  }, {
1364
1365
  conflictColumns: ["id"],
1365
1366
  update: (e) => {
1366
- let t = Sn(e.positionAt);
1367
+ let t = Cn(e.positionAt);
1367
1368
  return t !== void 0 && t.getTime() >= n.getTime() ? {
1368
1369
  positionAt: t,
1369
1370
  updatedAt: /* @__PURE__ */ new Date()
@@ -1373,10 +1374,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1373
1374
  };
1374
1375
  }
1375
1376
  });
1376
- }, En = async (e, t, n) => {
1377
+ }, Dn = async (e, t, n) => {
1377
1378
  let r = async (r) => e.query({
1378
1379
  table: "_voltro_workflow_runs",
1379
- predicate: R(z("tag", t), z("status", r)),
1380
+ predicate: z(B("tag", t), B("status", r)),
1380
1381
  order: [{
1381
1382
  column: "startedAt",
1382
1383
  direction: "asc"
@@ -1386,7 +1387,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1386
1387
  projection: void 0
1387
1388
  });
1388
1389
  return [...await r("running"), ...await r("suspended")].flatMap((e) => {
1389
- let t = e, n = Sn(t.startedAt);
1390
+ let t = e, n = Cn(t.startedAt);
1390
1391
  return typeof t.id != "string" || typeof t.executionId != "string" || n === void 0 ? [] : [{
1391
1392
  runId: t.id,
1392
1393
  executionId: t.executionId,
@@ -1394,9 +1395,9 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1394
1395
  startedAt: n
1395
1396
  }];
1396
1397
  });
1397
- }, Dn = async (e, t, n) => (await e.query({
1398
+ }, On = async (e, t, n) => (await e.query({
1398
1399
  table: "_voltro_workflow_pending",
1399
- predicate: z("workflowName", t),
1400
+ predicate: B("workflowName", t),
1400
1401
  order: [{
1401
1402
  column: "firstSeenAt",
1402
1403
  direction: "asc"
@@ -1405,13 +1406,13 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1405
1406
  skip: void 0,
1406
1407
  projection: void 0
1407
1408
  })).flatMap((e) => {
1408
- let t = e, n = Sn(t.firstSeenAt);
1409
+ let t = e, n = Cn(t.firstSeenAt);
1409
1410
  return typeof t.id != "string" || n === void 0 ? [] : [{
1410
1411
  intentId: t.id,
1411
1412
  payload: t.payload,
1412
1413
  firstSeenAt: n
1413
1414
  }];
1414
- }), On = async (e, t) => {
1415
+ }), kn = async (e, t) => {
1415
1416
  let n = t.workflows.filter((e) => e.entries.length > 0);
1416
1417
  if (n.length === 0) return {
1417
1418
  examined: !1,
@@ -1426,10 +1427,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1426
1427
  };
1427
1428
  let r = e.now?.() ?? Date.now(), i = t.batch ?? 500, a = t.coldLookbackMs ?? 36e5, o = /* @__PURE__ */ new Set();
1428
1429
  for (let e of n) for (let t of e.entries) o.add(t.event);
1429
- let s = await wn(e.store, yn), c = s ?? new Date(r - a);
1430
- s === void 0 && (await Tn(e.store, yn, c), s = c);
1430
+ let s = await Tn(e.store, bn), c = s ?? new Date(r - a);
1431
+ s === void 0 && (await En(e.store, bn, c), s = c);
1431
1432
  let l = await e.store.query({
1432
- table: vn,
1433
+ table: yn,
1433
1434
  predicate: it("occurredAt", c),
1434
1435
  order: [{
1435
1436
  column: "occurredAt",
@@ -1440,7 +1441,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1440
1441
  projection: void 0
1441
1442
  }), u = [];
1442
1443
  for (let e of l) {
1443
- let t = e, n = Sn(t.occurredAt);
1444
+ let t = e, n = Cn(t.occurredAt);
1444
1445
  typeof t.id == "string" && typeof t.name == "string" && n !== void 0 && o.has(t.name) && u.push({
1445
1446
  id: t.id,
1446
1447
  name: t.name,
@@ -1454,15 +1455,15 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1454
1455
  if (n.length === 0) continue;
1455
1456
  let r = [], i = [];
1456
1457
  try {
1457
- r = await En(e.store, t.workflowName, _), i = await Dn(e.store, t.workflowName, _), (r.length >= _ || i.length >= _) && (h = !0);
1458
+ r = await Dn(e.store, t.workflowName, _), i = await On(e.store, t.workflowName, _), (r.length >= _ || i.length >= _) && (h = !0);
1458
1459
  } catch (e) {
1459
1460
  f.push({
1460
1461
  subject: t.workflowName,
1461
- detail: Cn(e)
1462
+ detail: wn(e)
1462
1463
  }), g = !0;
1463
1464
  continue;
1464
1465
  }
1465
- let a = hn({
1466
+ let a = gn({
1466
1467
  workflowName: t.workflowName,
1467
1468
  entries: t.entries,
1468
1469
  payloadSchema: t.payloadSchema,
@@ -1484,7 +1485,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1484
1485
  } catch (e) {
1485
1486
  f.push({
1486
1487
  subject: n.runId,
1487
- detail: Cn(e)
1488
+ detail: wn(e)
1488
1489
  }), g = !0;
1489
1490
  }
1490
1491
  for (let n of a.discards) try {
@@ -1495,18 +1496,18 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1495
1496
  } catch (e) {
1496
1497
  f.push({
1497
1498
  subject: n.intentId,
1498
- detail: Cn(e)
1499
+ detail: wn(e)
1499
1500
  }), g = !0;
1500
1501
  }
1501
1502
  }
1502
- let v = gn(u), y = s;
1503
+ let v = _n(u), y = s;
1503
1504
  if (g) e.log?.warn("workflow.cancelOn: holding the watermark — evaluation or delivery remains incomplete", { failures: f.length });
1504
1505
  else if (v !== void 0) try {
1505
- await Tn(e.store, yn, v), y = v;
1506
+ await En(e.store, bn, v), y = v;
1506
1507
  } catch (e) {
1507
1508
  f.push({
1508
- subject: yn,
1509
- detail: Cn(e)
1509
+ subject: bn,
1510
+ detail: wn(e)
1510
1511
  });
1511
1512
  }
1512
1513
  return d.length > 0 && e.log?.warn("workflow.cancelOn: some events could not be evaluated", {
@@ -1523,16 +1524,16 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1523
1524
  failures: f,
1524
1525
  watermark: y
1525
1526
  };
1526
- }, kn = 18e5, An = 200, jn = 20, Mn = (e) => {
1527
+ }, An = 18e5, jn = 200, Mn = 20, Nn = (e) => {
1527
1528
  if (e instanceof Date) return e;
1528
1529
  if (typeof e == "number") return new Date(e);
1529
1530
  if (typeof e == "string") {
1530
1531
  let t = new Date(e);
1531
1532
  if (!Number.isNaN(t.getTime())) return t;
1532
1533
  }
1533
- }, Nn = (e) => e instanceof Error ? e.message : String(e), Pn = async (e, t, n) => (await e.query({
1534
+ }, Pn = (e) => e instanceof Error ? e.message : String(e), Fn = async (e, t, n) => (await e.query({
1534
1535
  table: "_voltro_workflow_run_events",
1535
- predicate: z("runId", t),
1536
+ predicate: B("runId", t),
1536
1537
  order: [{
1537
1538
  column: "occurredAt",
1538
1539
  direction: "desc"
@@ -1541,16 +1542,16 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1541
1542
  skip: void 0,
1542
1543
  projection: void 0
1543
1544
  })).flatMap((e) => {
1544
- let t = e, n = Mn(t.occurredAt);
1545
+ let t = e, n = Nn(t.occurredAt);
1545
1546
  return typeof t.eventType != "string" || n === void 0 ? [] : [{
1546
1547
  eventType: t.eventType,
1547
1548
  occurredAt: n,
1548
1549
  payload: t.payload
1549
1550
  }];
1550
- }), Fn = async (e, t) => {
1551
+ }), In = async (e, t) => {
1551
1552
  let n = (await e.query({
1552
1553
  table: "_voltro_workflow_run_steps",
1553
- predicate: z("runId", t),
1554
+ predicate: B("runId", t),
1554
1555
  order: [{
1555
1556
  column: "startedAt",
1556
1557
  direction: "desc"
@@ -1560,24 +1561,24 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1560
1561
  projection: void 0
1561
1562
  }))[0];
1562
1563
  if (n === void 0) return;
1563
- let r = Mn(n.startedAt), i = Mn(n.completedAt);
1564
+ let r = Nn(n.startedAt), i = Nn(n.completedAt);
1564
1565
  return r === void 0 ? i : i === void 0 ? r : i.getTime() > r.getTime() ? i : r;
1565
- }, In = (e, t) => {
1566
+ }, Ln = (e, t) => {
1566
1567
  for (let n of e) {
1567
1568
  if (n.eventType === "timer-fired") return !1;
1568
1569
  if (n.eventType !== "timer-set") continue;
1569
- let e = Mn(n.payload?.scheduledWakeAt);
1570
+ let e = Nn(n.payload?.scheduledWakeAt);
1570
1571
  return e !== void 0 && e.getTime() > t;
1571
1572
  }
1572
1573
  return !1;
1573
- }, Ln = (e, t) => {
1574
+ }, Rn = (e, t) => {
1574
1575
  if (e !== "suspended") return "no-progress";
1575
1576
  for (let e of t) {
1576
1577
  if (e.eventType === "signal-received" || e.eventType === "signal-sent") return "suspended";
1577
1578
  if (e.eventType === "signal-awaited") return "awaiting-signal";
1578
1579
  }
1579
1580
  return "suspended";
1580
- }, Rn = async (e, t = {}) => {
1581
+ }, zn = async (e, t = {}) => {
1581
1582
  let n = e.now?.() ?? Date.now(), r = t.stallAfterMs ?? 18e5, i = t.runPage ?? 200, a = t.eventLookback ?? 20, o = new Date(n - r), s = [], c = [], l = 0, u = 0, d, f;
1582
1583
  try {
1583
1584
  if (!Number.isSafeInteger(i) || i < 1) throw Error("Staleness run page must be a positive integer");
@@ -1585,7 +1586,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1585
1586
  if (n !== void 0 && (!(n.startedAt instanceof Date) || !Number.isFinite(n.startedAt.getTime()) || typeof n.runId != "string" || n.runId.length === 0)) throw Error("Invalid staleness run cursor");
1586
1587
  d = await e.store.query({
1587
1588
  table: "_voltro_workflow_runs",
1588
- predicate: R(at("status", ["running", "suspended"]), st("startedAt", o), ...n === void 0 ? [] : [ct(B("startedAt", n.startedAt), R(z("startedAt", n.startedAt), B("id", n.runId)))]),
1589
+ predicate: z(at("status", ["running", "suspended"]), st("startedAt", o), ...n === void 0 ? [] : [ct(V("startedAt", n.startedAt), z(B("startedAt", n.startedAt), V("id", n.runId)))]),
1589
1590
  order: [{
1590
1591
  column: "startedAt",
1591
1592
  direction: "asc"
@@ -1599,7 +1600,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1599
1600
  });
1600
1601
  let r = n;
1601
1602
  for (let e of d) {
1602
- let t = Mn(e.startedAt);
1603
+ let t = Nn(e.startedAt);
1603
1604
  if (t === void 0 || !Number.isFinite(t.getTime()) || typeof e.id != "string" || e.id.length === 0) throw Error("Staleness candidate has no valid pagination identity");
1604
1605
  if (r !== void 0 && (t.getTime() < r.startedAt.getTime() || t.getTime() === r.startedAt.getTime() && e.id <= r.runId)) throw Error("Staleness candidate page did not advance");
1605
1606
  r = {
@@ -1617,24 +1618,24 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1617
1618
  sawFullRunPage: !1,
1618
1619
  failures: [{
1619
1620
  subject: "_voltro_workflow_runs",
1620
- detail: Nn(e)
1621
+ detail: Pn(e)
1621
1622
  }]
1622
1623
  };
1623
1624
  }
1624
1625
  for (let t of d) {
1625
- let i = t, o = Mn(i.startedAt);
1626
+ let i = t, o = Nn(i.startedAt);
1626
1627
  if (typeof i.id != "string" || typeof i.tag != "string" || typeof i.executionId != "string" || typeof i.status != "string" || o === void 0) continue;
1627
1628
  let d, f;
1628
1629
  try {
1629
- d = await Pn(e.store, i.id, a), f = await Fn(e.store, i.id);
1630
+ d = await Fn(e.store, i.id, a), f = await In(e.store, i.id);
1630
1631
  } catch (e) {
1631
1632
  s.push({
1632
1633
  subject: i.id,
1633
- detail: Nn(e)
1634
+ detail: Pn(e)
1634
1635
  });
1635
1636
  continue;
1636
1637
  }
1637
- if (In(d, n)) {
1638
+ if (Ln(d, n)) {
1638
1639
  u += 1;
1639
1640
  continue;
1640
1641
  }
@@ -1653,7 +1654,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1653
1654
  status: i.status,
1654
1655
  lastProgressAt: m,
1655
1656
  idleMs: h,
1656
- reason: Ln(i.status, d)
1657
+ reason: Rn(i.status, d)
1657
1658
  };
1658
1659
  c.push(g);
1659
1660
  let _ = {};
@@ -1662,7 +1663,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1662
1663
  } catch (e) {
1663
1664
  s.push({
1664
1665
  subject: `${g.runId}:describeRun`,
1665
- detail: Nn(e)
1666
+ detail: Pn(e)
1666
1667
  });
1667
1668
  }
1668
1669
  if (e.log?.warn("workflow.staleness: run has made no progress", {
@@ -1688,7 +1689,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1688
1689
  } catch (e) {
1689
1690
  s.push({
1690
1691
  subject: g.runId,
1691
- detail: Nn(e)
1692
+ detail: Pn(e)
1692
1693
  });
1693
1694
  }
1694
1695
  if (e.onStalled !== void 0) try {
@@ -1696,7 +1697,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1696
1697
  } catch (e) {
1697
1698
  s.push({
1698
1699
  subject: `${g.runId}:onStalled`,
1699
- detail: Nn(e)
1700
+ detail: Pn(e)
1700
1701
  });
1701
1702
  }
1702
1703
  }
@@ -1709,8 +1710,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1709
1710
  failures: s,
1710
1711
  ...f === void 0 ? {} : { nextRun: f }
1711
1712
  };
1712
- }, zn = async (e, t, n) => {
1713
- let r = await e.transaction((e) => S(e, t.id));
1713
+ }, Bn = async (e, t, n) => {
1714
+ let r = await e.transaction((e) => M(e, t.id));
1714
1715
  if (r === void 0 || r.workflowName !== t.workflowName || r.tenantId !== t.tenantId || r.ledgerId !== t.ledgerId) throw Error("Submission dispatch lost its resident owner");
1715
1716
  if (!r.receiptsBound || r.failureId !== null) throw Error("Cannot dispatch an incomplete or rejected submission");
1716
1717
  if (r.preparedExecutionId !== null) {
@@ -1718,26 +1719,26 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1718
1719
  return r.preparedExecutionId;
1719
1720
  }
1720
1721
  if (r.dispatchAttempts !== 0 || r.executionId !== null) throw Error("Submission has an unbound prior dispatch; reconciliation required");
1721
- let i = await e.resolveExecutionId(t.workflowName, n), a = await e.transaction((e) => me(e, t.id, i));
1722
+ let i = await e.resolveExecutionId(t.workflowName, n), a = await e.transaction((e) => Be(e, t.id, i));
1722
1723
  if (a.preparedExecutionId === null) throw Error("Submission preparation returned no execution identity");
1723
1724
  return a.preparedExecutionId;
1724
- }, Bn = /* @__PURE__ */ new WeakMap(), Vn = async (e, t, n, r) => {
1725
- let i = Bn.get(e), a = await Ve(e.store, n, i?.afterId), o = 0, s = 0, c = 0, l = 0, u = i?.nextDueAt, d = (e) => {
1725
+ }, Vn = /* @__PURE__ */ new WeakMap(), Hn = async (e, t, n, r) => {
1726
+ let i = Vn.get(e), a = await w(e.store, n, i?.afterId), o = 0, s = 0, c = 0, l = 0, u = i?.nextDueAt, d = (e) => {
1726
1727
  u = Math.min(u ?? e, e);
1727
1728
  };
1728
1729
  for (let n of a) {
1729
1730
  let i;
1730
1731
  try {
1731
- i = Te(n);
1732
+ i = Re(n);
1732
1733
  } catch {
1733
- o++, c++, d(t + Le(1)), e.log?.warn?.("workflow submission metadata is invalid", { submissionId: typeof n.id == "string" ? n.id : null });
1734
+ o++, c++, d(t + Ie(1)), e.log?.warn?.("workflow submission metadata is invalid", { submissionId: typeof n.id == "string" ? n.id : null });
1734
1735
  continue;
1735
1736
  }
1736
1737
  o++;
1737
1738
  let a = i.dispatchAttempts === 0 ? 0 : void 0;
1738
1739
  try {
1739
1740
  let n = i.preparedExecutionId, r = n === null || i.dispatchAttempts === 0 ? void 0 : await e.transaction(async (e) => {
1740
- let t = await de(e, i.workflowName, n);
1741
+ let t = await ne(e, i.workflowName, n);
1741
1742
  return t === void 0 ? void 0 : {
1742
1743
  executionId: n,
1743
1744
  runId: t.runId
@@ -1756,7 +1757,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1756
1757
  continue;
1757
1758
  }
1758
1759
  let c = r ?? await (async () => {
1759
- let n = e.controls.get(i.workflowName)?.batch === void 0 ? E(e.store, i.workflowName, i.payload) : { items: L.decodeUnknownSync(L.Struct({ items: L.Array(L.Unknown) }))(i.payload).items.map((t) => E(e.store, i.workflowName, t)) }, r = await zn(e, i, n), o = await e.transaction((e) => De(e, i.id, t));
1760
+ let n = e.controls.get(i.workflowName)?.batch === void 0 ? E(e.store, i.workflowName, i.payload) : { items: R.decodeUnknownSync(R.Struct({ items: R.Array(R.Unknown) }))(i.payload).items.map((t) => E(e.store, i.workflowName, t)) }, r = await Bn(e, i, n), o = await e.transaction((e) => xe(e, i.id, t));
1760
1761
  if (o === null) return;
1761
1762
  a = o.dispatchAttempts === 1 ? 1 : void 0;
1762
1763
  let s = await e.startAdmitted(i.workflowName, n, i.callerContext, r);
@@ -1772,7 +1773,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1772
1773
  source: "flow-control",
1773
1774
  mode: "singleton"
1774
1775
  }
1775
- }), await x(e.store, i.eviction.executionId, t)), await e.transaction((e) => Ne(e, i.id, {
1776
+ }), await x(e.store, i.eviction.executionId, t)), await e.transaction((e) => we(e, i.id, {
1776
1777
  executionId: c.executionId,
1777
1778
  runId: c.runId ?? null
1778
1779
  })), s++;
@@ -1781,7 +1782,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1781
1782
  let o;
1782
1783
  try {
1783
1784
  if (a !== void 0 && e.isPermanentStartError?.(n) === !0) {
1784
- let r = a, o = await e.transaction((a) => ge(a, i.id, r, {
1785
+ let r = a, o = await e.transaction((a) => S(a, i.id, r, {
1785
1786
  handler: e.controls.get(i.workflowName)?.onFailure ?? null,
1786
1787
  errorMessage: String(n),
1787
1788
  now: t
@@ -1795,7 +1796,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1795
1796
  continue;
1796
1797
  }
1797
1798
  }
1798
- o = await e.transaction((e) => We(e, i.id, String(n), t, r));
1799
+ o = await e.transaction((e) => Ve(e, i.id, String(n), t, r));
1799
1800
  } catch (r) {
1800
1801
  d(t), e.log?.warn?.("workflow submission retry state could not be recorded", {
1801
1802
  workflow: i.workflowName,
@@ -1815,7 +1816,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1815
1816
  }
1816
1817
  }
1817
1818
  let f = a.at(-1);
1818
- return a.length === n && f !== void 0 && typeof f.id == "string" ? (Bn.set(e, {
1819
+ return a.length === n && f !== void 0 && typeof f.id == "string" ? (Vn.set(e, {
1819
1820
  afterId: f.id,
1820
1821
  nextDueAt: u
1821
1822
  }), {
@@ -1825,7 +1826,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1825
1826
  rejected: l,
1826
1827
  nextDueAt: t,
1827
1828
  examined: !0
1828
- }) : (Bn.delete(e), {
1829
+ }) : (Vn.delete(e), {
1829
1830
  scanned: o,
1830
1831
  admitted: s,
1831
1832
  failed: c,
@@ -1833,10 +1834,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1833
1834
  nextDueAt: u,
1834
1835
  examined: a.length > 0
1835
1836
  });
1836
- }, Hn = /* @__PURE__ */ new WeakMap(), Un = async (e, t, n) => {
1837
- let r = Hn.get(e), i = await e.store.query({
1838
- table: fe,
1839
- predicate: R(ot("handler"), U("acceptedExecutionId"), ...r === void 0 ? [] : [B("id", r.afterId)]),
1837
+ }, Un = /* @__PURE__ */ new WeakMap(), Wn = async (e, t, n) => {
1838
+ let r = Un.get(e), i = await e.store.query({
1839
+ table: le,
1840
+ predicate: z(ot("handler"), W("acceptedExecutionId"), ...r === void 0 ? [] : [V("id", r.afterId)]),
1840
1841
  order: [{
1841
1842
  column: "id",
1842
1843
  direction: "asc"
@@ -1845,21 +1846,21 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1845
1846
  skip: void 0,
1846
1847
  projection: void 0
1847
1848
  }), a = 0, o = !1, s = r?.nextDueAt, c = () => {
1848
- let e = t + Le(1, () => 1);
1849
+ let e = t + Ie(1, () => 1);
1849
1850
  s = Math.min(s ?? e, e);
1850
1851
  };
1851
1852
  for (let n of i) try {
1852
1853
  if (typeof n.id != "string" || n.id.length === 0) throw Error("Failure report has no identity");
1853
1854
  let r = n.id;
1854
- (await e.transaction((e) => le(e, r, t))).kind === "queued" && (o = !0, c());
1855
+ (await e.transaction((e) => se(e, r, t))).kind === "queued" && (o = !0, c());
1855
1856
  } catch (t) {
1856
1857
  a++, c(), e.log?.warn?.("workflow failure delivery could not be reconciled", {
1857
1858
  failureId: typeof n.id == "string" ? n.id : null,
1858
- ...t instanceof Me ? { reason: t.reason } : {}
1859
+ ...t instanceof Oe ? { reason: t.reason } : {}
1859
1860
  });
1860
1861
  }
1861
1862
  let l = i.at(-1);
1862
- return i.length === n && l !== void 0 && typeof l.id == "string" ? (Hn.set(e, {
1863
+ return i.length === n && l !== void 0 && typeof l.id == "string" ? (Un.set(e, {
1863
1864
  afterId: l.id,
1864
1865
  nextDueAt: s
1865
1866
  }), {
@@ -1868,17 +1869,17 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1868
1869
  hasPending: o,
1869
1870
  nextDueAt: t,
1870
1871
  examined: !0
1871
- }) : (Hn.delete(e), {
1872
+ }) : (Un.delete(e), {
1872
1873
  scanned: i.length,
1873
1874
  failed: a,
1874
1875
  hasPending: o,
1875
1876
  nextDueAt: s,
1876
1877
  examined: i.length > 0
1877
1878
  });
1878
- }, Wn = "_voltro_workflow_parent_closures", Gn = /* @__PURE__ */ new WeakMap(), Kn = async (e, t, n) => {
1879
- let r = Gn.get(e), i = await e.store.query({
1880
- table: Wn,
1881
- predicate: R(U("completedAt"), ...r === void 0 ? [] : [B("id", r.afterId)]),
1879
+ }, Gn = "_voltro_workflow_parent_closures", Kn = /* @__PURE__ */ new WeakMap(), qn = async (e, t, n) => {
1880
+ let r = Kn.get(e), i = await e.store.query({
1881
+ table: Gn,
1882
+ predicate: z(W("completedAt"), ...r === void 0 ? [] : [V("id", r.afterId)]),
1882
1883
  order: [{
1883
1884
  column: "id",
1884
1885
  direction: "asc"
@@ -1895,8 +1896,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1895
1896
  await e.transaction(async (e) => {
1896
1897
  await Ft(e, r, t);
1897
1898
  let [n] = await e.query({
1898
- table: Wn,
1899
- predicate: z("id", r),
1899
+ table: Gn,
1900
+ predicate: B("id", r),
1900
1901
  order: [],
1901
1902
  take: 1,
1902
1903
  skip: void 0,
@@ -1909,7 +1910,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1909
1910
  a++, s(), e.log?.warn?.("workflow parent closure could not be reconciled", { closureId: typeof n.id == "string" ? n.id : null });
1910
1911
  }
1911
1912
  let c = i.at(-1);
1912
- return i.length === n && typeof c?.id == "string" ? (Gn.set(e, {
1913
+ return i.length === n && typeof c?.id == "string" ? (Kn.set(e, {
1913
1914
  afterId: c.id,
1914
1915
  nextDueAt: o
1915
1916
  }), {
@@ -1917,30 +1918,30 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1917
1918
  failed: a,
1918
1919
  nextDueAt: t,
1919
1920
  examined: !0
1920
- }) : (Gn.delete(e), {
1921
+ }) : (Kn.delete(e), {
1921
1922
  scanned: i.length,
1922
1923
  failed: a,
1923
1924
  nextDueAt: o,
1924
1925
  examined: i.length > 0
1925
1926
  });
1926
- }, qn = async (e, t) => {
1927
+ }, Jn = async (e, t) => {
1927
1928
  if (t.from === t.to) throw Error("Queue transfer requires distinct source and target");
1928
1929
  let n = await e.query({
1929
- table: A,
1930
- predicate: z("id", t.to),
1930
+ table: O,
1931
+ predicate: B("id", t.to),
1931
1932
  order: [],
1932
1933
  take: 1,
1933
1934
  skip: void 0,
1934
1935
  projection: void 0
1935
- }), r = L.decodeUnknownSync(L.Struct({
1936
- workflowName: L.String,
1937
- tenantId: L.NullOr(L.String)
1936
+ }), r = R.decodeUnknownSync(R.Struct({
1937
+ workflowName: R.String,
1938
+ tenantId: R.NullOr(R.String)
1938
1939
  }))(n[0]);
1939
1940
  if (r.workflowName !== t.workflowName || r.tenantId !== t.tenantId) throw Error("Receipt target belongs to a different workflow or tenant");
1940
1941
  for (;;) {
1941
1942
  let n = await e.query({
1942
- table: ke,
1943
- predicate: R(z("pendingId", t.from), U("submissionId"), U("terminal")),
1943
+ table: De,
1944
+ predicate: z(B("pendingId", t.from), W("submissionId"), W("terminal")),
1944
1945
  order: [{
1945
1946
  column: "id",
1946
1947
  direction: "asc"
@@ -1951,12 +1952,12 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1951
1952
  });
1952
1953
  if (n.length === 0) return;
1953
1954
  for (let r of n) {
1954
- let n = Pe(r);
1955
+ let n = Fe(r);
1955
1956
  if (n.workflowName !== t.workflowName || n.tenantId !== t.tenantId) throw Error("Forwarded receipt belongs to a different workflow or tenant");
1956
1957
  if (await e.update("_voltro_workflow_start_receipts", n.id, { pendingId: t.to }) === null) throw Error("Start receipt disappeared during queue transfer");
1957
1958
  }
1958
1959
  }
1959
- }, Jn = {
1960
+ }, Yn = {
1960
1961
  scanned: 0,
1961
1962
  admitted: 0,
1962
1963
  deferred: 0,
@@ -1968,24 +1969,24 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
1968
1969
  deadLettered: 0,
1969
1970
  timedOut: 0,
1970
1971
  examined: !1
1971
- }, Yn = 200, Xn = class extends Error {
1972
+ }, Xn = 200, Zn = class extends Error {
1972
1973
  submissionId;
1973
1974
  rejected;
1974
1975
  constructor(e, t, n = !1) {
1975
1976
  super(n ? `Submission ${e} rejected; failure report retained` : `Submission ${e} remains unacknowledged`, { cause: t }), this.submissionId = e, this.rejected = n;
1976
1977
  }
1977
- }, Zn = (e) => e instanceof Xn && !e.rejected, Qn = async (e, t = {}) => {
1978
+ }, Qn = (e) => e instanceof Zn && !e.rejected, $n = async (e, t = {}) => {
1978
1979
  let n = e.now ?? (() => Date.now()), r = e.log, i = t.batchSize ?? 200, a, o, s, c, l, u;
1979
1980
  try {
1980
- c = await Vn(e, n(), i, e.deadLetterAfterAttempts ?? 50), l = await Un(e, n(), i), u = await Kn(e, n(), i), a = await (e.readPauses?.() ?? xe(e.store));
1981
+ c = await Hn(e, n(), i, e.deadLetterAfterAttempts ?? 50), l = await Wn(e, n(), i), u = await qn(e, n(), i), a = await (e.readPauses?.() ?? be(e.store));
1981
1982
  let r = t.skipPending === !0 && !l.hasPending ? {
1982
1983
  due: [],
1983
1984
  nextDueAt: void 0
1984
- } : await Fe(e.store, n(), i);
1985
+ } : await Ne(e.store, n(), i);
1985
1986
  o = r.due, s = c.nextDueAt === void 0 ? r.nextDueAt : Math.min(r.nextDueAt ?? c.nextDueAt, c.nextDueAt), l.nextDueAt !== void 0 && (s = Math.min(s ?? l.nextDueAt, l.nextDueAt)), u.nextDueAt !== void 0 && (s = Math.min(s ?? u.nextDueAt, u.nextDueAt));
1986
1987
  } catch (e) {
1987
1988
  return r?.warn?.("workflow flow control: could not read the admission queue", { cause: String(e) }), {
1988
- ...Jn,
1989
+ ...Yn,
1989
1990
  scanned: (c?.scanned ?? 0) + (l?.scanned ?? 0) + (u?.scanned ?? 0),
1990
1991
  admitted: c?.admitted ?? 0,
1991
1992
  deadLettered: c?.rejected ?? 0,
@@ -2018,9 +2019,9 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2018
2019
  if (h !== !1 && t.attempts + 1 >= h) return `pending ${r} was dead-lettered after ${t.attempts + 1} failed attempts: ${String(n)}`;
2019
2020
  };
2020
2021
  for (let t of m) try {
2021
- await nr(e, t, a, d, n());
2022
+ await rr(e, t, a, d, n());
2022
2023
  } catch (i) {
2023
- if (d.failed++, i instanceof Xn) {
2024
+ if (d.failed++, i instanceof Zn) {
2024
2025
  i.rejected && d.deadLettered++, r?.warn?.(i.message, {
2025
2026
  submissionId: i.submissionId,
2026
2027
  cause: y(t.workflowName, i.cause)
@@ -2030,7 +2031,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2030
2031
  let a = g(t, i, "intent");
2031
2032
  if (a !== void 0) {
2032
2033
  let o = n(), s = String(i);
2033
- if (await er(e, [t], a, s, o, !1).catch((e) => (r?.warn?.("workflow flow control: intent could not be dead-lettered with its report", {
2034
+ if (await tr(e, [t], a, s, o, !1).catch((e) => (r?.warn?.("workflow flow control: intent could not be dead-lettered with its report", {
2034
2035
  workflow: t.workflowName,
2035
2036
  intent: t.id,
2036
2037
  cause: String(e)
@@ -2050,9 +2051,9 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2050
2051
  }), await _e(e.store, t, String(i), n()).catch(() => {});
2051
2052
  }
2052
2053
  for (let t of f.values()) try {
2053
- await ir(e, t, a, d, n());
2054
+ await ar(e, t, a, d, n());
2054
2055
  } catch (i) {
2055
- if (d.failed++, i instanceof Xn) {
2056
+ if (d.failed++, i instanceof Zn) {
2056
2057
  i.rejected && d.deadLettered++, r?.warn?.(i.message, {
2057
2058
  submissionId: i.submissionId,
2058
2059
  cause: y(t[0]?.workflowName, i.cause)
@@ -2062,7 +2063,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2062
2063
  let a = t[0], o = a === void 0 ? void 0 : g(a, i, "batch");
2063
2064
  if (a !== void 0 && o !== void 0) {
2064
2065
  let s = n(), c = String(i);
2065
- if (await er(e, t, o, c, s, !0).catch((e) => (r?.warn?.("workflow flow control: batch could not be dead-lettered with its report", {
2066
+ if (await tr(e, t, o, c, s, !0).catch((e) => (r?.warn?.("workflow flow control: batch could not be dead-lettered with its report", {
2066
2067
  workflow: a.workflowName,
2067
2068
  intents: t.map((e) => e.id),
2068
2069
  size: t.length,
@@ -2087,8 +2088,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2087
2088
  let n = [];
2088
2089
  for (let r of t) {
2089
2090
  let t = await e.query({
2090
- table: A,
2091
- predicate: z("id", r.id),
2091
+ table: O,
2092
+ predicate: B("id", r.id),
2092
2093
  order: [],
2093
2094
  take: 1,
2094
2095
  skip: void 0,
@@ -2096,11 +2097,11 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2096
2097
  lock: "update"
2097
2098
  });
2098
2099
  if (t[0] === void 0) return;
2099
- let i = M(t[0]);
2100
+ let i = P(t[0]);
2100
2101
  if (i.workflowName !== r.workflowName || i.tenantId !== r.tenantId || i.mode !== r.mode || i.firstSeenAt !== r.firstSeenAt || i.dueAt !== r.dueAt || i.deadLetteredAt !== void 0) return;
2101
2102
  n.push(i);
2102
2103
  }
2103
- let r = new Date(s + Le(Math.max(...n.map((e) => e.attempts + 1)), () => c));
2104
+ let r = new Date(s + Ie(Math.max(...n.map((e) => e.attempts + 1)), () => c));
2104
2105
  for (let t of n) if (await e.update("_voltro_workflow_pending", t.id, {
2105
2106
  attempts: t.attempts + 1,
2106
2107
  lastError: p(t.workflowName, String(i).slice(0, 500)),
@@ -2113,13 +2114,13 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2113
2114
  cause: String(e)
2114
2115
  }));
2115
2116
  }
2116
- let _ = await cr(e, n()).catch(() => ({ cancelled: 0 }));
2117
+ let _ = await lr(e, n()).catch(() => ({ cancelled: 0 }));
2117
2118
  return d.timedOut = _.cancelled, _.nextDeadlineAt !== void 0 && (s === void 0 || _.nextDeadlineAt < s) && (s = _.nextDeadlineAt), {
2118
2119
  ...d,
2119
2120
  examined: t.skipPending !== !0 || c.examined || l.examined || u.examined,
2120
2121
  ...s === void 0 ? {} : { nextDueAt: s }
2121
2122
  };
2122
- }, $n = async (e, t, n) => {
2123
+ }, er = async (e, t, n) => {
2123
2124
  let r = t.map((e) => ({
2124
2125
  intent: e,
2125
2126
  failureId: `wff_${ht()}`
@@ -2128,8 +2129,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2128
2129
  let t = 0;
2129
2130
  for (let { intent: i, failureId: a } of r) {
2130
2131
  let r = (await e.query({
2131
- table: A,
2132
- predicate: z("id", i.id),
2132
+ table: O,
2133
+ predicate: B("id", i.id),
2133
2134
  order: [],
2134
2135
  take: 1,
2135
2136
  skip: void 0,
@@ -2137,11 +2138,11 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2137
2138
  lock: "update"
2138
2139
  }))[0];
2139
2140
  if (r === void 0) continue;
2140
- let o = M(r);
2141
+ let o = P(r);
2141
2142
  if (o.workflowName !== i.workflowName || o.tenantId !== i.tenantId) throw Error("Abandoned queue selection belongs to another workflow or tenant");
2142
2143
  if (o.dueAt > n || o.deadLetteredAt !== void 0) continue;
2143
2144
  let s = `workflow '${o.workflowName}' no longer has its queued declaration`;
2144
- if (await D(e, {
2145
+ if (await j(e, {
2145
2146
  id: a,
2146
2147
  sourceKind: "intent",
2147
2148
  sourceId: o.id,
@@ -2173,14 +2174,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2173
2174
  }
2174
2175
  return t;
2175
2176
  });
2176
- }, er = async (e, t, n, r, i, a) => {
2177
+ }, tr = async (e, t, n, r, i, a) => {
2177
2178
  let o = `wff_${ht()}`;
2178
2179
  return e.transaction(async (s) => {
2179
2180
  let c = [];
2180
2181
  for (let e of t) {
2181
2182
  let t = await s.query({
2182
- table: A,
2183
- predicate: z("id", e.id),
2183
+ table: O,
2184
+ predicate: B("id", e.id),
2184
2185
  order: [],
2185
2186
  take: 1,
2186
2187
  skip: void 0,
@@ -2188,17 +2189,17 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2188
2189
  lock: "update"
2189
2190
  });
2190
2191
  if (t[0] === void 0) return 0;
2191
- let n = M(t[0]);
2192
+ let n = P(t[0]);
2192
2193
  if (n.workflowName !== e.workflowName || n.tenantId !== e.tenantId) throw Error("Dead-letter selection belongs to another workflow or tenant");
2193
2194
  if (n.deadLetteredAt !== void 0) return 0;
2194
2195
  c.push(n);
2195
2196
  }
2196
2197
  let l = c[0];
2197
2198
  if (l === void 0) return 0;
2198
- let u = await Promise.all(c.map((e) => k(s, e.id)));
2199
+ let u = await Promise.all(c.map((e) => me(s, e.id)));
2199
2200
  if (u.some(Boolean) && !u.every(Boolean)) throw Error("Dead-lettered batch mixes failure delivery and ordinary callers; reconciliation required");
2200
2201
  let d = e.controls.get(l.workflowName);
2201
- await D(s, {
2202
+ await j(s, {
2202
2203
  id: o,
2203
2204
  sourceKind: "intent",
2204
2205
  sourceId: l.id,
@@ -2226,17 +2227,17 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2226
2227
  at: i,
2227
2228
  failureId: o
2228
2229
  }
2229
- }), !await ae(s, e, r, i)) throw Error("Dead-lettered queue row disappeared before marking");
2230
- return await ne(s, o, i), c.length;
2230
+ }), !await oe(s, e, r, i)) throw Error("Dead-lettered queue row disappeared before marking");
2231
+ return await fe(s, o, i), c.length;
2231
2232
  });
2232
- }, tr = async (e, t, n, r, i) => {
2233
+ }, nr = async (e, t, n, r, i) => {
2233
2234
  let a = `wff_${ht()}`;
2234
2235
  return e.transaction(async (e) => {
2235
2236
  let o = [];
2236
2237
  for (let i of t) {
2237
2238
  let t = await e.query({
2238
- table: A,
2239
- predicate: z("id", i.id),
2239
+ table: O,
2240
+ predicate: B("id", i.id),
2240
2241
  order: [],
2241
2242
  take: 1,
2242
2243
  skip: void 0,
@@ -2244,18 +2245,18 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2244
2245
  lock: "update"
2245
2246
  });
2246
2247
  if (t[0] === void 0) return 0;
2247
- let a = M(t[0]);
2248
+ let a = P(t[0]);
2248
2249
  if (a.workflowName !== n.workflowName || a.tenantId !== i.tenantId) throw Error("Expired queue selection belongs to another workflow or tenant");
2249
2250
  if (a.mode !== i.mode || a.dueAt > r || a.deadLetteredAt !== void 0) return 0;
2250
2251
  o.push(a);
2251
2252
  }
2252
2253
  o.sort((e, t) => e.firstSeenAt - t.firstSeenAt || e.id.localeCompare(t.id));
2253
2254
  let s = o[0];
2254
- if (s === void 0 || !ye(n, s, r)) return 0;
2255
- let c = await Promise.all(o.map((t) => k(e, t.id)));
2255
+ if (s === void 0 || !ve(n, s, r)) return 0;
2256
+ let c = await Promise.all(o.map((t) => me(e, t.id)));
2256
2257
  if (c.some(Boolean) && !c.every(Boolean)) throw Error("Expired batch mixes failure delivery and ordinary callers; reconciliation required");
2257
2258
  let l = `timeouts.start (${n.timeouts?.startMs}ms) elapsed while ${o.length} queued input(s) waited`;
2258
- await D(e, {
2259
+ await j(e, {
2259
2260
  id: a,
2260
2261
  sourceKind: "intent",
2261
2262
  sourceId: s.id,
@@ -2273,10 +2274,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2273
2274
  runId: null,
2274
2275
  executionId: null
2275
2276
  }
2276
- }), await j({
2277
+ }), await A({
2277
2278
  store: e,
2278
2279
  control: n,
2279
- keys: be(n, E(e, s.workflowName, s.payload)),
2280
+ keys: D(n, E(e, s.workflowName, s.payload)),
2280
2281
  outcome: "expired",
2281
2282
  mode: s.mode,
2282
2283
  reason: l,
@@ -2297,23 +2298,23 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2297
2298
  failureId: a
2298
2299
  }
2299
2300
  }), !await e.delete("_voltro_workflow_pending", t.id)) throw Error("Expired queue row disappeared before deletion");
2300
- return await ne(e, a, r), o.length;
2301
+ return await fe(e, a, r), o.length;
2301
2302
  });
2302
- }, nr = async (e, t, n, r, i) => {
2303
+ }, rr = async (e, t, n, r, i) => {
2303
2304
  if (t = {
2304
2305
  ...t,
2305
2306
  payload: E(e.store, t.workflowName, t.payload)
2306
- }, t.mode === "delayed") return rr(e, t, n, r, i);
2307
+ }, t.mode === "delayed") return ir(e, t, n, r, i);
2307
2308
  let a = e.controls.get(t.workflowName);
2308
2309
  if (a === void 0) {
2309
- r.expired += await $n(e, [t], i);
2310
+ r.expired += await er(e, [t], i);
2310
2311
  return;
2311
2312
  }
2312
- if (ye(a, t, i)) {
2313
- r.expired += await tr(e, [t], a, i, !1);
2313
+ if (ve(a, t, i)) {
2314
+ r.expired += await nr(e, [t], a, i, !1);
2314
2315
  return;
2315
2316
  }
2316
- let o = be(a, t.payload), s = await se({
2317
+ let o = D(a, t.payload), s = await ce({
2317
2318
  store: e.store,
2318
2319
  control: a,
2319
2320
  keys: o,
@@ -2321,7 +2322,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2321
2322
  now: i,
2322
2323
  reconsidering: !0
2323
2324
  });
2324
- await ar(e, {
2325
+ await or(e, {
2325
2326
  control: a,
2326
2327
  intent: t,
2327
2328
  decision: s,
@@ -2331,15 +2332,15 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2331
2332
  paused: n,
2332
2333
  items: void 0
2333
2334
  });
2334
- }, rr = async (e, t, n, r, i) => {
2335
+ }, ir = async (e, t, n, r, i) => {
2335
2336
  if (e.registeredWorkflows !== void 0 && !e.registeredWorkflows.has(t.workflowName)) {
2336
- r.expired += await $n(e, [t], i);
2337
+ r.expired += await er(e, [t], i);
2337
2338
  return;
2338
2339
  }
2339
- let a = e.controls.get(t.workflowName) ?? { workflowName: t.workflowName }, o = ze(), s = await e.transaction(async (e) => {
2340
+ let a = e.controls.get(t.workflowName) ?? { workflowName: t.workflowName }, o = Se(), s = await e.transaction(async (e) => {
2340
2341
  let r = await e.query({
2341
- table: A,
2342
- predicate: z("id", t.id),
2342
+ table: O,
2343
+ predicate: B("id", t.id),
2343
2344
  lock: "update",
2344
2345
  order: [],
2345
2346
  take: 1,
@@ -2347,10 +2348,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2347
2348
  projection: void 0
2348
2349
  });
2349
2350
  if (r[0] === void 0) return;
2350
- let s = M(r[0]);
2351
+ let s = P(r[0]);
2351
2352
  if (s.workflowName !== t.workflowName || s.tenantId !== t.tenantId) throw Error("Delayed arrival belongs to a different workflow or tenant");
2352
2353
  if (s.mode !== "delayed" || s.deadLetteredAt !== void 0 || s.dueAt > i) return;
2353
- let c = await un({
2354
+ let c = await dn({
2354
2355
  store: e,
2355
2356
  control: a,
2356
2357
  payload: E(e, s.workflowName, s.payload),
@@ -2360,18 +2361,18 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2360
2361
  now: i,
2361
2362
  waiting: !1
2362
2363
  });
2363
- if (c.kind === "queued" && (await qn(e, {
2364
+ if (c.kind === "queued" && (await Jn(e, {
2364
2365
  from: s.id,
2365
2366
  to: c.intentId,
2366
2367
  workflowName: s.workflowName,
2367
2368
  tenantId: s.tenantId
2368
- }), !await O(e, s.id))) throw Error("Delayed arrival disappeared during queue transfer");
2369
+ }), !await de(e, s.id))) throw Error("Delayed arrival disappeared during queue transfer");
2369
2370
  if (c.kind === "start") {
2370
2371
  if (c.ledgerId === void 0) throw Error("Delayed arrival has no admission reservation");
2371
- let t = a.batch === void 0 ? ve(e, s.workflowName, c.payload) : { items: L.decodeUnknownSync(L.Struct({ items: L.Array(L.Unknown) }))(c.payload).items.map((t) => ve(e, s.workflowName, t)) };
2372
+ let t = a.batch === void 0 ? ye(e, s.workflowName, c.payload) : { items: R.decodeUnknownSync(R.Struct({ items: R.Array(R.Unknown) }))(c.payload).items.map((t) => ye(e, s.workflowName, t)) };
2372
2373
  return {
2373
2374
  kind: "submission",
2374
- submission: await sn(e, {
2375
+ submission: await cn(e, {
2375
2376
  id: o,
2376
2377
  workflowName: s.workflowName,
2377
2378
  tenantId: s.tenantId,
@@ -2392,7 +2393,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2392
2393
  ...c,
2393
2394
  at: i
2394
2395
  }
2395
- }), !await O(e, s.id))) throw Error("Delayed arrival disappeared while recording its outcome");
2396
+ }), !await de(e, s.id))) throw Error("Delayed arrival disappeared while recording its outcome");
2396
2397
  return c;
2397
2398
  });
2398
2399
  if (s !== void 0) {
@@ -2408,9 +2409,9 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2408
2409
  r.skipped++;
2409
2410
  return;
2410
2411
  }
2411
- await sr(e, s.submission, a, r, i, a.batch !== void 0, s.keys);
2412
+ await cr(e, s.submission, a, r, i, a.batch !== void 0, s.keys);
2412
2413
  }
2413
- }, ir = async (e, t, n, r, i) => {
2414
+ }, ar = async (e, t, n, r, i) => {
2414
2415
  t = t.map((t) => ({
2415
2416
  ...t,
2416
2417
  payload: E(e.store, t.workflowName, t.payload)
@@ -2419,19 +2420,19 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2419
2420
  if (a === void 0) return;
2420
2421
  let o = e.controls.get(a.workflowName);
2421
2422
  if (o === void 0 || o.batch === void 0) {
2422
- r.expired += await $n(e, t, i);
2423
+ r.expired += await er(e, t, i);
2423
2424
  return;
2424
2425
  }
2425
2426
  let s = [...t].sort((e, t) => e.firstSeenAt - t.firstSeenAt), c = s[0];
2426
- if (ye(o, c, i)) {
2427
- r.expired += await tr(e, s, o, i, !0);
2427
+ if (ve(o, c, i)) {
2428
+ r.expired += await nr(e, s, o, i, !0);
2428
2429
  return;
2429
2430
  }
2430
- let l = be(o, c.payload);
2431
- await ar(e, {
2431
+ let l = D(o, c.payload);
2432
+ await or(e, {
2432
2433
  control: o,
2433
2434
  intent: c,
2434
- decision: await se({
2435
+ decision: await ce({
2435
2436
  store: e.store,
2436
2437
  control: o,
2437
2438
  keys: l,
@@ -2445,10 +2446,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2445
2446
  paused: n,
2446
2447
  items: s
2447
2448
  });
2448
- }, ar = async (e, t) => {
2449
+ }, or = async (e, t) => {
2449
2450
  let { control: n, intent: r, decision: i, keys: a, counters: o, now: s, items: c, paused: l } = t;
2450
2451
  if (i.kind === "defer") {
2451
- await ce({
2452
+ await ue({
2452
2453
  store: e.store,
2453
2454
  control: n,
2454
2455
  decision: i,
@@ -2465,8 +2466,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2465
2466
  let t = [];
2466
2467
  for (let i of c ?? [r]) {
2467
2468
  let a = await e.query({
2468
- table: A,
2469
- predicate: z("id", i.id),
2469
+ table: O,
2470
+ predicate: B("id", i.id),
2470
2471
  lock: "update",
2471
2472
  order: [],
2472
2473
  take: 1,
@@ -2474,17 +2475,17 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2474
2475
  projection: void 0
2475
2476
  });
2476
2477
  if (a[0] === void 0) return;
2477
- let o = M(a[0]);
2478
+ let o = P(a[0]);
2478
2479
  if (o.workflowName !== n.workflowName || o.tenantId !== r.tenantId) throw Error("Terminal queue selection belongs to a different workflow or tenant");
2479
2480
  if (o.dueAt > s || o.deadLetteredAt !== void 0 || o.mode !== i.mode) return;
2480
2481
  t.push(o);
2481
2482
  }
2482
2483
  t.sort((e, t) => e.firstSeenAt - t.firstSeenAt);
2483
- let i = t[0], a = be(n, E(e, n.workflowName, i.payload)), o = await se({
2484
+ let i = t[0], a = D(n, E(e, n.workflowName, i.payload)), o = await ce({
2484
2485
  store: e,
2485
2486
  control: n,
2486
2487
  keys: a,
2487
- paused: l.has(n.workflowName) || (await xe(e)).has(n.workflowName),
2488
+ paused: l.has(n.workflowName) || (await be(e)).has(n.workflowName),
2488
2489
  now: s,
2489
2490
  reconsidering: !0
2490
2491
  });
@@ -2499,7 +2500,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2499
2500
  executionId: o.incumbent.executionId,
2500
2501
  runId: o.incumbent.runId
2501
2502
  };
2502
- await j({
2503
+ await A({
2503
2504
  store: e,
2504
2505
  control: n,
2505
2506
  keys: a,
@@ -2518,13 +2519,13 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2518
2519
  workflowName: n.workflowName,
2519
2520
  tenantId: n.tenantId,
2520
2521
  terminal: u
2521
- }), !await O(e, n.id)) throw Error("Queued input disappeared while recording its terminal outcome");
2522
+ }), !await de(e, n.id)) throw Error("Queued input disappeared while recording its terminal outcome");
2522
2523
  return u.kind;
2523
2524
  });
2524
2525
  t !== void 0 && o[t]++;
2525
2526
  return;
2526
2527
  }
2527
- let u = ze(), d = await e.transaction((t) => ln(t, {
2528
+ let u = Se(), d = await e.transaction((t) => un(t, {
2528
2529
  id: u,
2529
2530
  workflowName: n.workflowName,
2530
2531
  tenantId: r.tenantId,
@@ -2549,16 +2550,16 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2549
2550
  o.deferred++;
2550
2551
  return;
2551
2552
  }
2552
- await sr(e, d.submission, n, o, s, c !== void 0, a);
2553
+ await cr(e, d.submission, n, o, s, c !== void 0, a);
2553
2554
  }
2554
- }, or = async (e, t, n, r, i) => {
2555
- let a = await e.transaction((e) => S(e, t.id));
2555
+ }, sr = async (e, t, n, r, i) => {
2556
+ let a = await e.transaction((e) => M(e, t.id));
2556
2557
  if (a === void 0 || !a.receiptsBound || a.workflowName !== n.workflowName || a.workflowName !== t.workflowName || a.tenantId !== t.tenantId || a.ledgerId !== t.ledgerId) throw Error("Admission acceptance callback no longer has its resident submission owner");
2557
2558
  if (a.executionId !== null) {
2558
2559
  if (a.failureId !== null || a.executionId.length === 0 || a.executionId !== a.preparedExecutionId) throw Error("Admission acceptance has contradictory resident execution evidence");
2559
2560
  return a.executionId;
2560
2561
  }
2561
- await sr(e, a, n, {
2562
+ await cr(e, a, n, {
2562
2563
  admitted: 0,
2563
2564
  deferred: 0,
2564
2565
  dropped: 0,
@@ -2566,17 +2567,17 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2566
2567
  expired: 0,
2567
2568
  evicted: 0
2568
2569
  }, i, n.batch !== void 0, r);
2569
- let o = await e.transaction((e) => S(e, t.id));
2570
+ let o = await e.transaction((e) => M(e, t.id));
2570
2571
  if (o?.executionId == null || o.executionId !== o.preparedExecutionId) throw Error("Admission submission has no confirmed engine acceptance");
2571
2572
  return o.executionId;
2572
- }, sr = async (e, t, n, r, i, a, o) => {
2573
+ }, cr = async (e, t, n, r, i, a, o) => {
2573
2574
  let s = t.dispatchAttempts === 0 ? 0 : void 0;
2574
2575
  try {
2575
2576
  if (e.acquireSubmissionCapacity !== void 0 && !await e.acquireSubmissionCapacity(t)) {
2576
2577
  r.deferred++;
2577
2578
  return;
2578
2579
  }
2579
- let c = a ? { items: L.decodeUnknownSync(L.Struct({ items: L.Array(L.Unknown) }))(t.payload).items.map((t) => E(e.store, n.workflowName, t)) } : E(e.store, n.workflowName, t.payload), l = await zn(e, t, c), u = await e.transaction((e) => De(e, t.id, i));
2580
+ let c = a ? { items: R.decodeUnknownSync(R.Struct({ items: R.Array(R.Unknown) }))(t.payload).items.map((t) => E(e.store, n.workflowName, t)) } : E(e.store, n.workflowName, t.payload), l = await Bn(e, t, c), u = await e.transaction((e) => xe(e, t.id, i));
2580
2581
  if (u === null) return;
2581
2582
  s = u.dispatchAttempts === 1 ? 1 : void 0;
2582
2583
  let d = await e.startAdmitted(n.workflowName, c, t.callerContext, l);
@@ -2590,7 +2591,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2590
2591
  source: "flow-control",
2591
2592
  mode: "singleton"
2592
2593
  }
2593
- }), await x(e.store, t.eviction.executionId, i), await j({
2594
+ }), await x(e.store, t.eviction.executionId, i), await A({
2594
2595
  store: e.store,
2595
2596
  control: n,
2596
2597
  keys: o,
@@ -2603,7 +2604,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2603
2604
  runId: t.eviction.runId || null,
2604
2605
  tenantId: t.tenantId,
2605
2606
  now: i
2606
- }), r.evicted++), await e.transaction((e) => Ne(e, t.id, {
2607
+ }), r.evicted++), await e.transaction((e) => we(e, t.id, {
2607
2608
  executionId: d.executionId,
2608
2609
  runId: d.runId ?? null
2609
2610
  })), r.admitted++;
@@ -2612,14 +2613,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2612
2613
  try {
2613
2614
  if (s !== void 0 && e.isPermanentStartError?.(r) === !0) {
2614
2615
  let o = s;
2615
- a = await e.transaction((e) => ge(e, t.id, o, {
2616
+ a = await e.transaction((e) => S(e, t.id, o, {
2616
2617
  handler: n.onFailure ?? null,
2617
2618
  errorMessage: String(r),
2618
2619
  now: i
2619
2620
  })) !== void 0;
2620
2621
  }
2621
2622
  if (!a) {
2622
- let n = await e.transaction((n) => We(n, t.id, String(r), i, e.deadLetterAfterAttempts ?? 50));
2623
+ let n = await e.transaction((n) => Ve(n, t.id, String(r), i, e.deadLetterAfterAttempts ?? 50));
2623
2624
  n.retry.stoppedAt !== null && e.log?.warn?.("workflow submission automatic retry stopped; engine acceptance unknown", {
2624
2625
  submissionId: t.id,
2625
2626
  workflow: t.workflowName,
@@ -2627,18 +2628,18 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2627
2628
  });
2628
2629
  }
2629
2630
  } catch (e) {
2630
- throw new Xn(t.id, AggregateError([r, e], "Submission and retry recording failed"));
2631
+ throw new Zn(t.id, AggregateError([r, e], "Submission and retry recording failed"));
2631
2632
  }
2632
- throw new Xn(t.id, r, a);
2633
+ throw new Zn(t.id, r, a);
2633
2634
  }
2634
- }, cr = async (e, t) => {
2635
+ }, lr = async (e, t) => {
2635
2636
  if (e.listRunningRuns === void 0) return { cancelled: 0 };
2636
2637
  let n = 0, r;
2637
2638
  for (let i of e.controls.values()) {
2638
2639
  if (i.timeouts?.finishMs === void 0) continue;
2639
2640
  let a = await e.listRunningRuns(i.workflowName);
2640
2641
  for (let o of a) {
2641
- if (!re(i, {
2642
+ if (!T(i, {
2642
2643
  startedAt: o.startedAt,
2643
2644
  terminal: !1
2644
2645
  }, t)) {
@@ -2653,7 +2654,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2653
2654
  executionId: o.executionId,
2654
2655
  reason: a,
2655
2656
  detail: {
2656
- ...Re,
2657
+ ...Le,
2657
2658
  onFailure: i.onFailure ?? null
2658
2659
  }
2659
2660
  }) && (await x(e.store, o.executionId, t), n++);
@@ -2663,44 +2664,44 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2663
2664
  cancelled: n,
2664
2665
  ...r === void 0 ? {} : { nextDeadlineAt: r }
2665
2666
  };
2666
- }, lr = 3e5, ur, dr = (e) => {
2667
- ur = e !== void 0 && Number.isFinite(e) && e > 0 ? e : void 0;
2668
- }, fr = () => {
2667
+ }, ur = 3e5, dr, fr = (e) => {
2668
+ dr = e !== void 0 && Number.isFinite(e) && e > 0 ? e : void 0;
2669
+ }, pr = () => {
2669
2670
  let e = process.env.VOLTRO_WORKFLOW_SUSPEND_HINT_MS;
2670
2671
  if (e !== void 0) {
2671
2672
  let t = Number(e);
2672
2673
  if (Number.isFinite(t) && t > 0) return t;
2673
2674
  }
2674
- return ur ?? 3e5;
2675
- }, pr = /* @__PURE__ */ new Set(), mr = () => {
2676
- pr.clear();
2677
- }, hr = (e) => {
2678
- let t = fr();
2675
+ return dr ?? 3e5;
2676
+ }, mr = /* @__PURE__ */ new Set(), hr = () => {
2677
+ mr.clear();
2678
+ }, gr = (e) => {
2679
+ let t = pr();
2679
2680
  if (!(e.timeoutMs > t)) return !1;
2680
2681
  let n = `${e.workflowName ?? ""}\u0000${e.signalName}`;
2681
- if (pr.has(n)) return !1;
2682
- pr.add(n);
2682
+ if (mr.has(n)) return !1;
2683
+ mr.add(n);
2683
2684
  let r = e.workflowName === void 0 ? "" : ` in workflow '${e.workflowName}'`;
2684
2685
  return (e.warn ?? ((e) => console.warn(e)))(`awaitSignal('${e.signalName}')${r} declares a ${Math.round(e.timeoutMs / 1e3)}s timeout — a wait that long holds a worker fiber for its whole duration. For human-approval-length waits, awaitSignalSuspending (same call shape, from @voltro/workflow) SUSPENDS the run and frees the slot until the signal arrives. This is a hint, not a behaviour change; it is logged once per workflow. Threshold: workflows.suspendSignalHintMs in app.config.ts, or VOLTRO_WORKFLOW_SUSPEND_HINT_MS.`), !0;
2685
- }, gr = async (e, t) => {
2686
+ }, _r = async (e, t) => {
2686
2687
  if (e) try {
2687
2688
  await e.recordEvent(t);
2688
2689
  } catch {}
2689
- }, _r = (e, n) => {
2690
- let r = F.gen(function* () {
2691
- let r = n.pollIntervalMs ?? 200, i = n.maxPollIntervalMs ?? 5e3, a = n.timeoutMs ?? 864e5, s = yield* F.serviceOption(J), c;
2692
- hr({
2690
+ }, vr = (e, n) => {
2691
+ let r = I.gen(function* () {
2692
+ let r = n.pollIntervalMs ?? 200, i = n.maxPollIntervalMs ?? 5e3, a = n.timeoutMs ?? 864e5, s = yield* I.serviceOption(Y), c;
2693
+ gr({
2693
2694
  workflowName: s._tag === "Some" ? s.value.workflow.name : void 0,
2694
2695
  signalName: n.name,
2695
2696
  timeoutMs: a,
2696
2697
  warn: (e) => {
2697
2698
  c = e;
2698
2699
  }
2699
- }), c !== void 0 && (yield* F.logWarning(c));
2700
- let l = yield* t, u = yield* F.serviceOption(o), d = u._tag === "Some" ? u.value : void 0;
2701
- if (l === void 0) return yield* F.die(/* @__PURE__ */ Error("awaitSignal: no active workflow run id in scope"));
2700
+ }), c !== void 0 && (yield* I.logWarning(c));
2701
+ let l = yield* t, u = yield* I.serviceOption(o), d = u._tag === "Some" ? u.value : void 0;
2702
+ if (l === void 0) return yield* I.die(/* @__PURE__ */ Error("awaitSignal: no active workflow run id in scope"));
2702
2703
  let f = l;
2703
- yield* F.promise(() => gr(d, {
2704
+ yield* I.promise(() => _r(d, {
2704
2705
  runId: f,
2705
2706
  eventType: "signal-awaited",
2706
2707
  payload: { signalName: n.name }
@@ -2708,24 +2709,24 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2708
2709
  let p = Date.now(), m = r;
2709
2710
  for (;;) {
2710
2711
  let t = Date.now() - p;
2711
- if (t > a) return yield* F.die(/* @__PURE__ */ Error(`awaitSignal('${n.name}') timed out after ${t}ms`));
2712
+ if (t > a) return yield* I.die(/* @__PURE__ */ Error(`awaitSignal('${n.name}') timed out after ${t}ms`));
2712
2713
  let r = {
2713
2714
  table: "_voltro_workflow_run_events",
2714
2715
  order: [{
2715
2716
  column: "occurredAt",
2716
2717
  direction: "asc"
2717
2718
  }],
2718
- predicate: R(z("runId", f), z("eventType", "signal-sent")),
2719
+ predicate: z(B("runId", f), B("eventType", "signal-sent")),
2719
2720
  projection: void 0,
2720
2721
  skip: void 0,
2721
2722
  take: 1e3
2722
- }, o = (yield* F.tryPromise({
2723
+ }, o = (yield* I.tryPromise({
2723
2724
  try: () => e.store.query(r),
2724
2725
  catch: (e) => e
2725
2726
  })).find((e) => e.payload?.signalName === n.name);
2726
2727
  if (o !== void 0) {
2727
- let e = h(o.payload)?.value, t = yield* L.decodeUnknown(n.schema)(e);
2728
- return yield* F.promise(() => gr(d, {
2728
+ let e = h(o.payload)?.value, t = yield* R.decodeUnknown(n.schema)(e);
2729
+ return yield* I.promise(() => _r(d, {
2729
2730
  runId: f,
2730
2731
  eventType: "signal-received",
2731
2732
  payload: {
@@ -2734,7 +2735,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2734
2735
  }
2735
2736
  })), t;
2736
2737
  }
2737
- yield* F.sleep(`${m} millis`), m = Math.min(m * 2, i);
2738
+ yield* I.sleep(`${m} millis`), m = Math.min(m * 2, i);
2738
2739
  }
2739
2740
  });
2740
2741
  return f({
@@ -2742,16 +2743,16 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2742
2743
  success: n.schema,
2743
2744
  execute: r
2744
2745
  });
2745
- }, vr = async (e, t) => {
2746
+ }, yr = async (e, t) => {
2746
2747
  if (e !== void 0) try {
2747
2748
  await e.recordEvent(t);
2748
2749
  } catch {}
2749
- }, yr = (e, n) => {
2750
- let r = F.gen(function* () {
2751
- let r = n.pollIntervalMs ?? 200, i = n.maxPollIntervalMs ?? 5e3, a = n.timeoutMs ?? 864e5, s = n.take ?? 500, c = yield* t, l = yield* F.serviceOption(o), u = l._tag === "Some" ? l.value : void 0;
2752
- if (c === void 0) return yield* F.die(/* @__PURE__ */ Error("awaitEvent: no active workflow run id in scope"));
2753
- let d = c, f = yield* n.since === "run-start" ? br(e, d) : F.succeed(/* @__PURE__ */ new Date());
2754
- yield* F.promise(() => vr(u, {
2750
+ }, br = (e, n) => {
2751
+ let r = I.gen(function* () {
2752
+ let r = n.pollIntervalMs ?? 200, i = n.maxPollIntervalMs ?? 5e3, a = n.timeoutMs ?? 864e5, s = n.take ?? 500, c = yield* t, l = yield* I.serviceOption(o), u = l._tag === "Some" ? l.value : void 0;
2753
+ if (c === void 0) return yield* I.die(/* @__PURE__ */ Error("awaitEvent: no active workflow run id in scope"));
2754
+ let d = c, f = yield* n.since === "run-start" ? xr(e, d) : I.succeed(/* @__PURE__ */ new Date());
2755
+ yield* I.promise(() => yr(u, {
2755
2756
  runId: d,
2756
2757
  eventType: "event-awaited",
2757
2758
  payload: {
@@ -2763,10 +2764,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2763
2764
  let p = Date.now(), m = r, h = 0;
2764
2765
  for (;;) {
2765
2766
  let t = Date.now() - p;
2766
- if (t > a) return yield* F.die(/* @__PURE__ */ Error(`awaitEvent('${n.event}') timed out after ${t}ms having examined ${h} candidate event(s). ${h === 0 ? "NONE were published under that name in the window — check the spelling against ctx.events.publish, and consider since: 'run-start' if the event may have arrived before this step began." : "The predicate rejected all of them — log one payload and compare it with what `match` expects."}`));
2767
+ if (t > a) return yield* I.die(/* @__PURE__ */ Error(`awaitEvent('${n.event}') timed out after ${t}ms having examined ${h} candidate event(s). ${h === 0 ? "NONE were published under that name in the window — check the spelling against ctx.events.publish, and consider since: 'run-start' if the event may have arrived before this step began." : "The predicate rejected all of them — log one payload and compare it with what `match` expects."}`));
2767
2768
  let r = {
2768
2769
  table: "_voltro_workflow_events",
2769
- predicate: R(z("name", n.event), it("occurredAt", f)),
2770
+ predicate: z(B("name", n.event), it("occurredAt", f)),
2770
2771
  order: [{
2771
2772
  column: "occurredAt",
2772
2773
  direction: "asc"
@@ -2774,14 +2775,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2774
2775
  take: s,
2775
2776
  skip: void 0,
2776
2777
  projection: void 0
2777
- }, o = yield* F.tryPromise({
2778
+ }, o = yield* I.tryPromise({
2778
2779
  try: () => e.store.query(r),
2779
2780
  catch: (e) => e
2780
2781
  });
2781
2782
  h = o.length;
2782
2783
  for (let e of o) {
2783
- let t = yield* L.decodeUnknown(n.schema)(e.payload);
2784
- if (n.match(t)) return yield* F.promise(() => vr(u, {
2784
+ let t = yield* R.decodeUnknown(n.schema)(e.payload);
2785
+ if (n.match(t)) return yield* I.promise(() => yr(u, {
2785
2786
  runId: d,
2786
2787
  eventType: "event-received",
2787
2788
  payload: {
@@ -2790,7 +2791,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2790
2791
  }
2791
2792
  })), t;
2792
2793
  }
2793
- yield* F.sleep(`${m} millis`), m = Math.min(m * 2, i);
2794
+ yield* I.sleep(`${m} millis`), m = Math.min(m * 2, i);
2794
2795
  }
2795
2796
  });
2796
2797
  return f({
@@ -2798,11 +2799,11 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2798
2799
  success: n.schema,
2799
2800
  execute: r
2800
2801
  });
2801
- }, br = (e, t) => F.gen(function* () {
2802
- let n = (yield* F.tryPromise({
2802
+ }, xr = (e, t) => I.gen(function* () {
2803
+ let n = (yield* I.tryPromise({
2803
2804
  try: () => e.store.query({
2804
2805
  table: "_voltro_workflow_runs",
2805
- predicate: z("id", t),
2806
+ predicate: B("id", t),
2806
2807
  order: [],
2807
2808
  take: 1,
2808
2809
  skip: void 0,
@@ -2816,16 +2817,20 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2816
2817
  if (!Number.isNaN(e.getTime())) return e;
2817
2818
  }
2818
2819
  return /* @__PURE__ */ new Date(0);
2819
- }), xr = (e) => new Promise((t) => setTimeout(t, e)), Sr = () => {
2820
+ }), Sr = class extends Je.Reference()("@voltro/workflow/SuspensionUnavailable", { defaultValue: () => void 0 }) {}, Cr = class extends Error {
2821
+ constructor(e, t) {
2822
+ super(`${e} cannot wait for a durable result here: ${t}`), this.name = "WorkflowCannotPark";
2823
+ }
2824
+ }, wr = (e) => new Promise((t) => setTimeout(t, e)), Tr = () => {
2820
2825
  let e = globalThis.crypto;
2821
2826
  return typeof e?.randomUUID == "function" ? e.randomUUID() : `${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`;
2822
- }, Cr = () => `wfu_${Sr()}`, wr = async (e, t) => {
2827
+ }, Er = () => `wfu_${Tr()}`, Dr = async (e, t) => {
2823
2828
  let n = t.id ?? t.executionId;
2824
2829
  if (!n) throw Error("workflow message target requires target.id or target.executionId");
2825
2830
  let r = await e.query({
2826
2831
  table: "_voltro_workflow_runs",
2827
2832
  order: [],
2828
- predicate: z("id", n),
2833
+ predicate: B("id", n),
2829
2834
  projection: void 0,
2830
2835
  skip: void 0,
2831
2836
  take: 1
@@ -2834,14 +2839,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2834
2839
  let i = (await e.query({
2835
2840
  table: "_voltro_workflow_runs",
2836
2841
  order: [],
2837
- predicate: z("executionId", n),
2842
+ predicate: B("executionId", n),
2838
2843
  projection: void 0,
2839
2844
  skip: void 0,
2840
2845
  take: 1
2841
2846
  }))[0];
2842
2847
  if (!i) throw Error(`workflow message target not found: ${n}`);
2843
2848
  return i;
2844
- }, Tr = class extends Error {
2849
+ }, Or = class extends Error {
2845
2850
  runId;
2846
2851
  eventType;
2847
2852
  eventId;
@@ -2849,8 +2854,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2849
2854
  constructor(e, t, n) {
2850
2855
  super(`workflow ${t} for run ${e} was NOT recorded (event ${n}): the run will not see it — the store refused the row, see the recorder's warning`), this.runId = e, this.eventType = t, this.eventId = n, this.name = "WorkflowMessageNotRecorded";
2851
2856
  }
2852
- }, Er = async (e) => {
2853
- let t = await wr(e.store, e.target), n = await e.recorder.recordEvent({
2857
+ }, kr = async (e) => {
2858
+ let t = await Dr(e.store, e.target), n = await e.recorder.recordEvent({
2854
2859
  runId: t.id,
2855
2860
  eventType: "signal-sent",
2856
2861
  payload: {
@@ -2858,10 +2863,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2858
2863
  value: e.payload
2859
2864
  }
2860
2865
  });
2861
- if (n.recorded === !1) throw new Tr(t.id, "signal-sent", n.id);
2866
+ if (n.recorded === !1) throw new Or(t.id, "signal-sent", n.id);
2862
2867
  return { eventId: n.id };
2863
- }, Dr = async (e) => {
2864
- let t = await wr(e.store, e.target), n = Cr(), r = await e.recorder.recordEvent({
2868
+ }, Ar = async (e) => {
2869
+ let t = await Dr(e.store, e.target), n = Er(), r = await e.recorder.recordEvent({
2865
2870
  runId: t.id,
2866
2871
  eventType: "update-requested",
2867
2872
  payload: {
@@ -2870,7 +2875,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2870
2875
  value: e.payload
2871
2876
  }
2872
2877
  });
2873
- if (r.recorded === !1) throw new Tr(t.id, "update-requested", r.id);
2878
+ if (r.recorded === !1) throw new Or(t.id, "update-requested", r.id);
2874
2879
  let i = Date.now(), a = e.options?.timeoutMs ?? 3e4, o = e.options?.pollIntervalMs ?? 100;
2875
2880
  for (;;) {
2876
2881
  let s = {
@@ -2879,7 +2884,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2879
2884
  column: "occurredAt",
2880
2885
  direction: "asc"
2881
2886
  }],
2882
- predicate: z("runId", t.id),
2887
+ predicate: B("runId", t.id),
2883
2888
  projection: void 0,
2884
2889
  skip: void 0,
2885
2890
  take: 1e3
@@ -2900,99 +2905,101 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
2900
2905
  }), t;
2901
2906
  }
2902
2907
  if (Date.now() - i >= a) throw Error(`Timed out waiting for workflow update '${e.updateName}' (${n})`);
2903
- await xr(o);
2908
+ await wr(o);
2904
2909
  }
2905
- }, Or = 864e5, kr = "voltro/suspending-signal", Ar = (e, t) => `${kr}/${e}/${t}`, jr = (e, t) => Ke.make(e, { success: _(t) ? u(L.Unknown, `signal '${e}' value`) : L.Unknown }), Mr = async (e, t) => {
2910
+ }, jr = 864e5, Mr = "voltro/suspending-signal", Nr = (e, t) => `${Mr}/${e}/${t}`, Pr = (e, t) => Ge.make(e, { success: _(t) ? u(R.Unknown, `signal '${e}' value`) : R.Unknown }), Fr = async (e, t) => {
2906
2911
  if (e) try {
2907
2912
  await e.recordEvent(t);
2908
2913
  } catch {}
2909
- }, Nr = (e, n) => F.gen(function* () {
2910
- let e = n.timeoutMs ?? Or, r = yield* Je.WorkflowInstance, i = jr(Ar(r.workflow.name, n.name), r.workflow.name), a = yield* t, s = yield* F.serviceOption(o), c = s._tag === "Some" ? s.value : void 0;
2911
- a !== void 0 && (yield* F.promise(() => Mr(c, {
2912
- runId: a,
2914
+ }, Ir = (e, n) => I.gen(function* () {
2915
+ let e = yield* Sr;
2916
+ if (e !== void 0) return yield* I.die(new Cr(`awaitSignalSuspending('${n.name}')`, e));
2917
+ let r = n.timeoutMs ?? jr, i = yield* qe.WorkflowInstance, a = Pr(Nr(i.workflow.name, n.name), i.workflow.name), s = yield* t, c = yield* I.serviceOption(o), l = c._tag === "Some" ? c.value : void 0;
2918
+ s !== void 0 && (yield* I.promise(() => Fr(l, {
2919
+ runId: s,
2913
2920
  eventType: "signal-awaited",
2914
2921
  payload: { signalName: n.name }
2915
2922
  })));
2916
- let l = Ke.await(i), u = Number.isFinite(e) ? yield* F.race(l, Ge.sleep({
2923
+ let u = Ge.await(a), d = Number.isFinite(r) ? yield* I.race(u, We.sleep({
2917
2924
  name: `await-signal-timeout/${n.name}`,
2918
2925
  inMemoryThreshold: "0 millis",
2919
- duration: `${e} millis`
2920
- }).pipe(F.andThen(F.die(/* @__PURE__ */ Error(`awaitSignalSuspending('${n.name}') timed out after ${e}ms`))))).pipe(F.catchAllCause((e) => r.suspended ? P.isInterruptedOnly(e) ? qe.suspend(r) : F.failCause(P.filter(e, (e) => !P.isInterruptType(e))) : F.failCause(e))) : yield* l, d = yield* L.decodeUnknown(n.schema)(u);
2921
- return a !== void 0 && (yield* F.promise(() => Mr(c, {
2922
- runId: a,
2926
+ duration: `${r} millis`
2927
+ }).pipe(I.andThen(I.die(/* @__PURE__ */ Error(`awaitSignalSuspending('${n.name}') timed out after ${r}ms`))))).pipe(I.catchAllCause((e) => i.suspended ? F.isInterruptedOnly(e) ? Ke.suspend(i) : I.failCause(F.filter(e, (e) => !F.isInterruptType(e))) : I.failCause(e))) : yield* u, f = yield* R.decodeUnknown(n.schema)(d);
2928
+ return s !== void 0 && (yield* I.promise(() => Fr(l, {
2929
+ runId: s,
2923
2930
  eventType: "signal-received",
2924
2931
  payload: {
2925
2932
  signalName: n.name,
2926
- value: d
2933
+ value: f
2927
2934
  }
2928
- }))), d;
2929
- }), Pr = (e) => F.gen(function* () {
2935
+ }))), f;
2936
+ }), Lr = (e) => I.gen(function* () {
2930
2937
  let t = e.target.executionId, n = e.target.workflowName;
2931
2938
  if (t === void 0 || n === void 0) {
2932
2939
  let r = e.store;
2933
- if (r === void 0) return yield* F.die(/* @__PURE__ */ Error("completeSuspendingSignal: provide a store, or target.executionId AND target.workflowName"));
2934
- let i = yield* F.tryPromise({
2935
- try: () => wr(r, e.target),
2940
+ if (r === void 0) return yield* I.die(/* @__PURE__ */ Error("completeSuspendingSignal: provide a store, or target.executionId AND target.workflowName"));
2941
+ let i = yield* I.tryPromise({
2942
+ try: () => Dr(r, e.target),
2936
2943
  catch: (e) => e
2937
2944
  });
2938
2945
  t ??= i.executionId, n ??= i.tag;
2939
2946
  }
2940
2947
  if (t === void 0 || n === void 0) return { completed: !1 };
2941
- let r = Ar(n, e.signalName), i = jr(r, n), a = new Ke.TokenParsed({
2948
+ let r = Nr(n, e.signalName), i = Pr(r, n), a = new Ge.TokenParsed({
2942
2949
  workflowName: n,
2943
2950
  executionId: t,
2944
2951
  deferredName: r
2945
2952
  }).asToken;
2946
- return yield* Ke.done(i, {
2953
+ return yield* Ge.done(i, {
2947
2954
  token: a,
2948
2955
  exit: Ye.succeed(e.payload)
2949
2956
  }), { completed: !0 };
2950
- }), Z = "_voltro_budget_holds", Fr = "budget-hold", Ir = (e) => `${Fr}:${e}`, Lr = (e) => `${e.executionId}/${e.stepName}/${e.budget}#${e.generation}`, Rr = async (e, t) => (await e.query({
2957
+ }), Z = "_voltro_budget_holds", Rr = "budget-hold", zr = (e) => `${Rr}:${e}`, Br = (e) => `${e.executionId}/${e.stepName}/${e.budget}#${e.generation}`, Vr = async (e, t) => (await e.query({
2951
2958
  table: Z,
2952
- predicate: R(z("executionId", t.executionId), z("stepName", t.stepName), z("budget", t.budget)),
2959
+ predicate: z(B("executionId", t.executionId), B("stepName", t.stepName), B("budget", t.budget)),
2953
2960
  order: []
2954
- })).length, zr = G(Z, {
2955
- id: V({ prefix: "bhd" }),
2956
- holdKey: K().maxLength(191).unique(),
2957
- budget: K(),
2958
- tenantId: K().nullable(),
2959
- executionId: K(),
2960
- workflowName: K(),
2961
- signalName: K(),
2962
- stepName: K(),
2963
- spentMicroUsd: K().nullable(),
2964
- limitMicroUsd: K().nullable(),
2965
- heldAt: q().default("now"),
2966
- releasedAt: q().nullable(),
2967
- outcome: K().nullable()
2968
- }).index(["budget", "releasedAt"]), Br = () => {
2961
+ })).length, Hr = K(Z, {
2962
+ id: H({ prefix: "bhd" }),
2963
+ holdKey: q().maxLength(191).unique(),
2964
+ budget: q(),
2965
+ tenantId: q().nullable(),
2966
+ executionId: q(),
2967
+ workflowName: q(),
2968
+ signalName: q(),
2969
+ stepName: q(),
2970
+ spentMicroUsd: q().nullable(),
2971
+ limitMicroUsd: q().nullable(),
2972
+ heldAt: J().default("now"),
2973
+ releasedAt: J().nullable(),
2974
+ outcome: q().nullable()
2975
+ }).index(["budget", "releasedAt"]), Ur = () => {
2969
2976
  ft({
2970
2977
  source: "framework",
2971
2978
  table: Z,
2972
2979
  timeColumn: "releasedAt",
2973
2980
  ttlMs: pt(process.env.VOLTRO_BUDGET_HOLDS_TTL_HOURS, 720)
2974
2981
  });
2975
- }, Vr = class extends Error {
2982
+ }, Wr = class extends Error {
2976
2983
  budget;
2977
2984
  holdKey;
2978
2985
  constructor(e, t, n) {
2979
2986
  super(`budget '${e}': the run was suspended waiting for headroom and gave up after ${n}ms (hold ${t}). Nothing was spent. Raise the budget, reset its window, or lift the hold, then re-drive the run.`), this.name = "BudgetHoldExpired", this.budget = e, this.holdKey = t;
2980
2987
  }
2981
- }, Hr = 6048e5, Ur = (e) => F.gen(function* () {
2982
- Br();
2988
+ }, Gr = 6048e5, Kr = (e) => I.gen(function* () {
2989
+ Ur();
2983
2990
  let t = e.timeoutMs ?? 6048e5, n = e.recheckEveryMs ?? 9e5, r = {
2984
2991
  executionId: e.executionId,
2985
2992
  stepName: e.stepName,
2986
2993
  budget: e.budget
2987
2994
  };
2988
2995
  for (let i = 0;; i++) {
2989
- let a = yield* F.promise(() => Gr(e.store, r)), o = a.length === 0 ? Date.now() : Wr(a[0]?.heldAt), s = Number.isFinite(t) ? t - (Date.now() - o) : Infinity, c = Lr({
2996
+ let a = yield* I.promise(() => Jr(e.store, r)), o = a.length === 0 ? Date.now() : qr(a[0]?.heldAt), s = Number.isFinite(t) ? t - (Date.now() - o) : Infinity, c = Br({
2990
2997
  ...r,
2991
2998
  generation: i
2992
2999
  });
2993
- if (s <= 0) return yield* F.promise(() => Kr(e.store, r, "expired")), yield* F.fail(new Vr(e.budget, c, t));
2994
- let l = Ir(c);
2995
- yield* F.promise(() => e.store.insertIgnore(Z, {
3000
+ if (s <= 0) return yield* I.promise(() => Yr(e.store, r, "expired")), yield* I.fail(new Wr(e.budget, c, t));
3001
+ let l = zr(c);
3002
+ yield* I.promise(() => e.store.insertIgnore(Z, {
2996
3003
  id: rt({
2997
3004
  kind: "typeid",
2998
3005
  prefix: "bhd"
@@ -3011,34 +3018,34 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3011
3018
  outcome: null
3012
3019
  }, { conflictColumns: ["holdKey"] }));
3013
3020
  let u = Math.min(n, s);
3014
- if (yield* Nr({ store: e.store }, {
3021
+ if (yield* Ir({ store: e.store }, {
3015
3022
  name: l,
3016
- schema: L.Unknown,
3023
+ schema: R.Unknown,
3017
3024
  timeoutMs: u
3018
- }).pipe(F.catchAllCause((e) => P.isInterruptedOnly(e) ? F.failCause(e) : F.void)), yield* F.promise(() => e.store.updateMany(Z, {
3025
+ }).pipe(I.catchAllCause((e) => F.isInterruptedOnly(e) ? I.failCause(e) : I.void)), yield* I.promise(() => e.store.updateMany(Z, {
3019
3026
  releasedAt: /* @__PURE__ */ new Date(),
3020
3027
  outcome: "recheck"
3021
- }, { where: R(z("holdKey", c), U("releasedAt")) })), yield* e.hasHeadroom) return;
3028
+ }, { where: z(B("holdKey", c), W("releasedAt")) })), yield* e.hasHeadroom) return;
3022
3029
  }
3023
- }), Wr = (e) => e instanceof Date ? e.getTime() : typeof e == "string" ? Date.parse(e) : Date.now(), Gr = async (e, t) => [...await e.query({
3030
+ }), qr = (e) => e instanceof Date ? e.getTime() : typeof e == "string" ? Date.parse(e) : Date.now(), Jr = async (e, t) => [...await e.query({
3024
3031
  table: Z,
3025
- predicate: R(z("executionId", t.executionId), z("stepName", t.stepName), z("budget", t.budget)),
3032
+ predicate: z(B("executionId", t.executionId), B("stepName", t.stepName), B("budget", t.budget)),
3026
3033
  order: []
3027
- })].sort((e, t) => String(e.id).localeCompare(String(t.id))), Kr = async (e, t, n) => {
3034
+ })].sort((e, t) => String(e.id).localeCompare(String(t.id))), Yr = async (e, t, n) => {
3028
3035
  await e.updateMany(Z, {
3029
3036
  releasedAt: /* @__PURE__ */ new Date(),
3030
3037
  outcome: n
3031
- }, { where: R(z("executionId", t.executionId), z("stepName", t.stepName), z("budget", t.budget), U("releasedAt")) });
3032
- }, qr = (e) => F.gen(function* () {
3033
- let t = e.tenantId === void 0 ? R(z("budget", e.budget), U("releasedAt")) : R(z("budget", e.budget), z("tenantId", e.tenantId), U("releasedAt")), n = yield* F.promise(() => e.store.query({
3038
+ }, { where: z(B("executionId", t.executionId), B("stepName", t.stepName), B("budget", t.budget), W("releasedAt")) });
3039
+ }, Xr = (e) => I.gen(function* () {
3040
+ let t = e.tenantId === void 0 ? z(B("budget", e.budget), W("releasedAt")) : z(B("budget", e.budget), B("tenantId", e.tenantId), W("releasedAt")), n = yield* I.promise(() => e.store.query({
3034
3041
  table: Z,
3035
3042
  predicate: t,
3036
3043
  order: []
3037
3044
  })), r = 0;
3038
- for (let t of n) (yield* F.promise(() => e.store.updateMany("_voltro_budget_holds", {
3045
+ for (let t of n) (yield* I.promise(() => e.store.updateMany("_voltro_budget_holds", {
3039
3046
  releasedAt: /* @__PURE__ */ new Date(),
3040
3047
  outcome: e.outcome ?? "released"
3041
- }, { where: R(z("id", String(t.id)), U("releasedAt")) }))) === 1 && (yield* Pr({
3048
+ }, { where: z(B("id", String(t.id)), W("releasedAt")) }))) === 1 && (yield* Lr({
3042
3049
  target: {
3043
3050
  executionId: String(t.executionId),
3044
3051
  workflowName: String(t.workflowName)
@@ -3048,10 +3055,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3048
3055
  released: !0,
3049
3056
  budget: e.budget
3050
3057
  }
3051
- }).pipe(F.catchAll(() => F.succeed({ completed: !1 }))), r += 1);
3058
+ }).pipe(I.catchAll(() => I.succeed({ completed: !1 }))), r += 1);
3052
3059
  return { released: r };
3053
- }), Jr = async (e, t) => {
3054
- let n = t?.budget === void 0 ? U("releasedAt") : R(z("budget", t.budget), U("releasedAt"));
3060
+ }), Zr = async (e, t) => {
3061
+ let n = t?.budget === void 0 ? W("releasedAt") : z(B("budget", t.budget), W("releasedAt"));
3055
3062
  return (await e.query({
3056
3063
  table: Z,
3057
3064
  predicate: n,
@@ -3066,8 +3073,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3066
3073
  stepName: String(e.stepName),
3067
3074
  heldAt: e.heldAt instanceof Date ? e.heldAt.toISOString() : String(e.heldAt ?? "")
3068
3075
  }));
3069
- }, Yr = async (e) => {
3070
- let t = await Jr(e), n = /* @__PURE__ */ new Map();
3076
+ }, Qr = async (e) => {
3077
+ let t = await Zr(e), n = /* @__PURE__ */ new Map();
3071
3078
  for (let e of t) {
3072
3079
  let t = `${e.budget}\u0000${e.tenantId ?? ""}`;
3073
3080
  n.has(t) || n.set(t, {
@@ -3076,41 +3083,41 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3076
3083
  });
3077
3084
  }
3078
3085
  return [...n.values()];
3079
- }, Xr = async (e, t) => {
3086
+ }, $r = async (e, t) => {
3080
3087
  if (e) try {
3081
3088
  await e.recordEvent(t);
3082
3089
  } catch {}
3083
- }, Zr = (e) => {
3084
- let t = P.failureOption(e), n = Array.from(P.defects(e)), r = t._tag === "Some" ? t.value : n[0] ?? P.squash(e);
3090
+ }, ei = (e) => {
3091
+ let t = F.failureOption(e), n = Array.from(F.defects(e)), r = t._tag === "Some" ? t.value : n[0] ?? F.squash(e);
3085
3092
  return {
3086
3093
  errorTag: r && typeof r == "object" && "_tag" in r ? String(r._tag) : null,
3087
3094
  errorMessage: r?.message ?? String(r)
3088
3095
  };
3089
- }, Qr = (e, n) => {
3090
- let r = F.gen(function* () {
3091
- let r = n.pollIntervalMs ?? 200, i = n.maxPollIntervalMs ?? 5e3, a = n.timeoutMs ?? 3e4, s = yield* t, c = yield* F.serviceOption(o), l = c._tag === "Some" ? c.value : void 0;
3092
- if (s === void 0) return yield* F.die(/* @__PURE__ */ Error("awaitUpdate: no active workflow run id in scope"));
3096
+ }, ti = (e, n) => {
3097
+ let r = I.gen(function* () {
3098
+ let r = n.pollIntervalMs ?? 200, i = n.maxPollIntervalMs ?? 5e3, a = n.timeoutMs ?? 3e4, s = yield* t, c = yield* I.serviceOption(o), l = c._tag === "Some" ? c.value : void 0;
3099
+ if (s === void 0) return yield* I.die(/* @__PURE__ */ Error("awaitUpdate: no active workflow run id in scope"));
3093
3100
  let u = s, d = Date.now(), f = r;
3094
3101
  for (;;) {
3095
3102
  let t = Date.now() - d;
3096
- if (t > a) return yield* F.die(/* @__PURE__ */ Error(`awaitUpdate('${n.name}') timed out after ${t}ms`));
3103
+ if (t > a) return yield* I.die(/* @__PURE__ */ Error(`awaitUpdate('${n.name}') timed out after ${t}ms`));
3097
3104
  let r = {
3098
3105
  table: "_voltro_workflow_run_events",
3099
3106
  order: [{
3100
3107
  column: "occurredAt",
3101
3108
  direction: "asc"
3102
3109
  }],
3103
- predicate: z("runId", u),
3110
+ predicate: B("runId", u),
3104
3111
  projection: void 0,
3105
3112
  skip: void 0,
3106
3113
  take: 1e3
3107
- }, o = yield* F.tryPromise({
3114
+ }, o = yield* I.tryPromise({
3108
3115
  try: () => e.store.query(r),
3109
3116
  catch: (e) => e
3110
3117
  }), s = new Set(o.filter((e) => e.eventType === "update-completed" || e.eventType === "update-failed").map((e) => e.payload?.updateId).filter((e) => typeof e == "string" && e.length > 0)), c = o.find((e) => e.eventType === "update-requested" && e.payload?.updateName === n.name && typeof e.payload.updateId == "string" && !s.has(e.payload.updateId));
3111
3118
  if (c !== void 0) {
3112
3119
  let e = c.payload.updateId;
3113
- yield* F.promise(() => Xr(l, {
3120
+ yield* I.promise(() => $r(l, {
3114
3121
  runId: u,
3115
3122
  eventType: "update-received",
3116
3123
  payload: {
@@ -3118,24 +3125,24 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3118
3125
  updateName: n.name
3119
3126
  }
3120
3127
  }));
3121
- let t = yield* L.decodeUnknown(n.schema)(h(c.payload)?.value).pipe(F.tapErrorCause((t) => F.promise(() => Xr(l, {
3128
+ let t = yield* R.decodeUnknown(n.schema)(h(c.payload)?.value).pipe(I.tapErrorCause((t) => I.promise(() => $r(l, {
3122
3129
  runId: u,
3123
3130
  eventType: "update-failed",
3124
3131
  payload: {
3125
3132
  updateId: e,
3126
3133
  updateName: n.name,
3127
- ...Zr(t)
3134
+ ...ei(t)
3128
3135
  }
3129
- })))), r = yield* (n.handle ? n.handle(t) : F.succeed(t)).pipe(F.flatMap((e) => n.success ? L.decodeUnknown(n.success)(e) : F.succeed(e))).pipe(F.tapErrorCause((t) => F.promise(() => Xr(l, {
3136
+ })))), r = yield* (n.handle ? n.handle(t) : I.succeed(t)).pipe(I.flatMap((e) => n.success ? R.decodeUnknown(n.success)(e) : I.succeed(e))).pipe(I.tapErrorCause((t) => I.promise(() => $r(l, {
3130
3137
  runId: u,
3131
3138
  eventType: "update-failed",
3132
3139
  payload: {
3133
3140
  updateId: e,
3134
3141
  updateName: n.name,
3135
- ...Zr(t)
3142
+ ...ei(t)
3136
3143
  }
3137
3144
  }))));
3138
- return yield* F.promise(() => Xr(l, {
3145
+ return yield* I.promise(() => $r(l, {
3139
3146
  runId: u,
3140
3147
  eventType: "update-completed",
3141
3148
  payload: {
@@ -3145,7 +3152,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3145
3152
  }
3146
3153
  })), r;
3147
3154
  }
3148
- yield* F.sleep(`${f} millis`), f = Math.min(f * 2, i);
3155
+ yield* I.sleep(`${f} millis`), f = Math.min(f * 2, i);
3149
3156
  }
3150
3157
  });
3151
3158
  return f({
@@ -3153,7 +3160,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3153
3160
  success: n.success ?? n.schema,
3154
3161
  execute: r
3155
3162
  });
3156
- }, $r = (e) => {
3163
+ }, ni = (e) => {
3157
3164
  if (e == null) return null;
3158
3165
  if (e instanceof Date) return e;
3159
3166
  if (typeof e == "string" || typeof e == "number") {
@@ -3161,7 +3168,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3161
3168
  return Number.isNaN(t.getTime()) ? null : t;
3162
3169
  }
3163
3170
  return null;
3164
- }, ei = (e) => typeof e == "number" ? e : e == null ? null : Number(e), Q = (e) => e == null ? null : String(e), ti = (e) => {
3171
+ }, ri = (e) => typeof e == "number" ? e : e == null ? null : Number(e), Q = (e) => e == null ? null : String(e), ii = (e) => {
3165
3172
  let t = /* @__PURE__ */ new Map();
3166
3173
  for (let n of e) {
3167
3174
  let e = String(n.stepName), r = t.get(e);
@@ -3169,27 +3176,27 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3169
3176
  }
3170
3177
  let n = [];
3171
3178
  for (let [e, r] of t) {
3172
- r.sort((e, t) => (ei(e.attempt) ?? 0) - (ei(t.attempt) ?? 0));
3179
+ r.sort((e, t) => (ri(e.attempt) ?? 0) - (ri(t.attempt) ?? 0));
3173
3180
  let t = r[r.length - 1], i = Q(t.errorTag), a = Q(t.errorMessage), o = i !== null || a !== null ? {
3174
3181
  tag: i,
3175
3182
  message: a ?? ""
3176
3183
  } : null;
3177
3184
  n.push({
3178
3185
  name: e,
3179
- attempt: ei(t.attempt) ?? r.length,
3186
+ attempt: ri(t.attempt) ?? r.length,
3180
3187
  attempts: r.length,
3181
3188
  status: t.status ?? "running",
3182
3189
  input: t.input ?? null,
3183
3190
  output: t.output ?? null,
3184
3191
  error: o,
3185
- durationMs: ei(t.durationMs)
3192
+ durationMs: ri(t.durationMs)
3186
3193
  });
3187
3194
  }
3188
3195
  return n.sort((t, n) => {
3189
3196
  let r = e.find((e) => String(e.stepName) === t.name), i = e.find((e) => String(e.stepName) === n.name);
3190
- return ($r(r?.startedAt)?.getTime() ?? 0) - ($r(i?.startedAt)?.getTime() ?? 0);
3197
+ return (ni(r?.startedAt)?.getTime() ?? 0) - (ni(i?.startedAt)?.getTime() ?? 0);
3191
3198
  }), n;
3192
- }, ni = (e) => {
3199
+ }, ai = (e) => {
3193
3200
  if (e == null) return null;
3194
3201
  if (typeof e == "string") try {
3195
3202
  return JSON.parse(e);
@@ -3197,10 +3204,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3197
3204
  return null;
3198
3205
  }
3199
3206
  return typeof e == "object" ? e : null;
3200
- }, ri = async (e, t) => {
3201
- let n = lt(_t), r = (await t.query(n.where(ct(z("id", e), z("executionId", e))).limit(1).descriptor))[0];
3207
+ }, oi = async (e, t) => {
3208
+ let n = lt(_t), r = (await t.query(n.where(ct(B("id", e), B("executionId", e))).limit(1).descriptor))[0];
3202
3209
  if (r === void 0) return null;
3203
- let i = String(r.id), a = lt(vt), o = await t.query(a.where(z("runId", i)).descriptor);
3210
+ let i = String(r.id), a = lt(vt), o = await t.query(a.where(B("runId", i)).descriptor);
3204
3211
  return {
3205
3212
  id: i,
3206
3213
  executionId: Q(r.executionId) ?? "",
@@ -3208,16 +3215,16 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3208
3215
  status: r.status ?? "running",
3209
3216
  input: d(r.payload ?? null, "workflow run payload"),
3210
3217
  output: m(r.output ?? null, "workflow run result"),
3211
- subject: ni(r.subject),
3218
+ subject: ai(r.subject),
3212
3219
  source: Q(r.source),
3213
- steps: ti(o),
3214
- startedAt: $r(r.startedAt) ?? /* @__PURE__ */ new Date(0),
3215
- finishedAt: $r(r.completedAt),
3220
+ steps: ii(o),
3221
+ startedAt: ni(r.startedAt) ?? /* @__PURE__ */ new Date(0),
3222
+ finishedAt: ni(r.completedAt),
3216
3223
  traceId: Q(r.traceId),
3217
3224
  parentExecutionId: Q(r.parentExecutionId),
3218
3225
  parentClosePolicy: Q(r.parentClosePolicy)
3219
3226
  };
3220
- }, ii = () => {
3227
+ }, si = () => {
3221
3228
  let e = [], t = [], n = 0, r = 0;
3222
3229
  return {
3223
3230
  layer: Qe.succeed(o, {
@@ -3267,13 +3274,13 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3267
3274
  readSteps: () => e,
3268
3275
  readEvents: () => t
3269
3276
  };
3270
- }, ai = (e, t, n) => F.gen(function* () {
3271
- let r = yield* J;
3277
+ }, ci = (e, t, n) => I.gen(function* () {
3278
+ let r = yield* Y;
3272
3279
  for (;;) {
3273
- if (yield* F.tryPromise(() => he(t, e)).pipe(F.catchAll(() => F.sync(() => (n(), !1))))) return r.interrupted = !0, yield* F.interrupt;
3274
- yield* F.sleep(1e3);
3280
+ if (yield* I.tryPromise(() => ge(t, e)).pipe(I.catchAll(() => I.sync(() => (n(), !1))))) return r.interrupted = !0, yield* I.interrupt;
3281
+ yield* I.sleep(1e3);
3275
3282
  }
3276
- }), oi = 8192, si = 3, ci = 2e3, li = () => {
3283
+ }), li = 8192, ui = 3, di = 2e3, fi = () => {
3277
3284
  let e = (e) => {
3278
3285
  if (e === void 0) return;
3279
3286
  let t = Number(e);
@@ -3283,7 +3290,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3283
3290
  ...t === void 0 ? {} : { maxRunReclaims: t },
3284
3291
  ...n === void 0 ? {} : { replayShapeLimit: n }
3285
3292
  };
3286
- }, ui = (e) => {
3293
+ }, pi = (e) => {
3287
3294
  let t = typeof e == "string" ? (() => {
3288
3295
  try {
3289
3296
  return JSON.parse(e);
@@ -3292,10 +3299,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3292
3299
  }
3293
3300
  })() : e;
3294
3301
  if (Array.isArray(t)) return t.filter((e) => typeof e == "string");
3295
- }, di = () => {
3302
+ }, mi = () => {
3296
3303
  let e = globalThis.crypto;
3297
3304
  return typeof e?.randomUUID == "function" ? e.randomUUID() : `${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`;
3298
- }, fi = (e) => `${e}_${di()}`, pi = (e, t = oi) => {
3305
+ }, hi = (e) => `${e}_${mi()}`, gi = (e, t = li) => {
3299
3306
  if (e == null) return e;
3300
3307
  try {
3301
3308
  let n = JSON.stringify(e);
@@ -3307,11 +3314,11 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3307
3314
  } catch {
3308
3315
  return { __unserialisable: String(e) };
3309
3316
  }
3310
- }, mi = async (e, t, n) => {
3317
+ }, _i = async (e, t, n) => {
3311
3318
  if (n === null || !g() || !("value" in n || "result" in n || "errorMessage" in n) || e.query === void 0) return n;
3312
3319
  let [r] = await e.query({
3313
3320
  table: "_voltro_workflow_runs",
3314
- predicate: z("id", t),
3321
+ predicate: B("id", t),
3315
3322
  order: [],
3316
3323
  take: 1,
3317
3324
  skip: void 0,
@@ -3322,8 +3329,8 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3322
3329
  let t = {};
3323
3330
  for (let [n, r] of Object.entries(e)) t[n] = r instanceof Date ? r.toISOString() : r;
3324
3331
  return ee(t);
3325
- }, hi = (e) => {
3326
- let t = e.truncateBytes ?? oi, n = e.makeId ?? fi, r = (t, n) => e.log?.warn(t, n), i = (e, t) => t === !0 ? l(e, "workflow step value", v) : e, a = e.emit, o = e.recording === "coarse";
3332
+ }, vi = (e) => {
3333
+ let t = e.truncateBytes ?? li, n = e.makeId ?? hi, r = (t, n) => e.log?.warn(t, n), i = (e, t) => t === !0 ? l(e, "workflow step value", v) : e, a = e.emit, o = e.recording === "coarse";
3327
3334
  return {
3328
3335
  startStep: async ({ runId: s, stepName: c, attempt: l, stepInput: u, retryPolicy: d, sealed: f }) => {
3329
3336
  if (!o) try {
@@ -3333,7 +3340,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3333
3340
  stepName: c,
3334
3341
  attempt: l,
3335
3342
  status: "running",
3336
- input: u === void 0 ? null : i(pi(u, t), f),
3343
+ input: u === void 0 ? null : i(gi(u, t), f),
3337
3344
  retryPolicy: d ?? null,
3338
3345
  output: null,
3339
3346
  errorTag: null,
@@ -3360,7 +3367,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3360
3367
  if (!o) try {
3361
3368
  let r = await e.store.update("_voltro_workflow_run_steps", n, {
3362
3369
  status: "succeeded",
3363
- output: i(pi(s, t), l),
3370
+ output: i(gi(s, t), l),
3364
3371
  completedAt: /* @__PURE__ */ new Date(),
3365
3372
  durationMs: c
3366
3373
  });
@@ -3381,7 +3388,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3381
3388
  status: "failed",
3382
3389
  errorTag: s,
3383
3390
  errorMessage: c == null ? c : i(c, d),
3384
- errorCause: l === void 0 ? null : i(pi(l, t), d),
3391
+ errorCause: l === void 0 ? null : i(gi(l, t), d),
3385
3392
  completedAt: /* @__PURE__ */ new Date(),
3386
3393
  durationMs: u
3387
3394
  });
@@ -3403,7 +3410,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3403
3410
  id: l,
3404
3411
  runId: t,
3405
3412
  eventType: i,
3406
- payload: await mi(e.store, t, o ?? null),
3413
+ payload: await _i(e.store, t, o ?? null),
3407
3414
  occurredAt: /* @__PURE__ */ new Date(),
3408
3415
  stepName: s ?? null,
3409
3416
  attempt: c ?? null
@@ -3429,16 +3436,16 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3429
3436
  };
3430
3437
  }
3431
3438
  };
3432
- }, gi = (e, t, n) => F.gen(function* () {
3439
+ }, yi = (e, t, n) => I.gen(function* () {
3433
3440
  let r = e.store.query;
3434
3441
  if (r === void 0) return;
3435
- let i = e.replayShapeLimit ?? 2e3, a = yield* F.promise(() => r.call(e.store, {
3442
+ let i = e.replayShapeLimit ?? 2e3, a = yield* I.promise(() => r.call(e.store, {
3436
3443
  table: "_voltro_workflow_run_steps",
3437
3444
  order: [{
3438
3445
  column: "startedAt",
3439
3446
  direction: "asc"
3440
3447
  }],
3441
- predicate: z("runId", t),
3448
+ predicate: B("runId", t),
3442
3449
  projection: ["stepName"],
3443
3450
  skip: void 0,
3444
3451
  take: i + 1
@@ -3459,20 +3466,20 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3459
3466
  return typeof t == "string" ? [{ stepName: t }] : [];
3460
3467
  });
3461
3468
  return o.length === 0 ? void 0 : s(o);
3462
- }), _i = (s, l) => {
3463
- let u = s.truncateBytes ?? oi, d = s.makeId ?? fi, f = s.recorder ?? hi(s), p = (e, t) => s.log?.warn(e, t), m = s.emit, h = (e) => F.gen(function* () {
3464
- yield* F.sync(() => m?.("workflowEvents", {
3469
+ }), bi = (s, l) => {
3470
+ let u = s.truncateBytes ?? li, d = s.makeId ?? hi, f = s.recorder ?? vi(s), p = (e, t) => s.log?.warn(e, t), m = s.emit, h = (e) => I.gen(function* () {
3471
+ yield* I.sync(() => m?.("workflowEvents", {
3465
3472
  op: "insert",
3466
3473
  row: $(e)
3467
3474
  }));
3468
3475
  let t = s.wakeups, n = e.runId;
3469
3476
  if (t !== void 0 && typeof n == "string") {
3470
3477
  let e = s.subject?.tenantId;
3471
- yield* F.promise(() => t.cancel(n, typeof e == "string" ? e : void 0).catch(() => {
3478
+ yield* I.promise(() => t.cancel(n, typeof e == "string" ? e : void 0).catch(() => {
3472
3479
  p("failed to clear terminal workflow wakeup", { runId: n });
3473
3480
  }));
3474
3481
  }
3475
- }), g = (e, t, n) => F.promise(async () => {
3482
+ }), g = (e, t, n) => I.promise(async () => {
3476
3483
  if (s.onParentClose) try {
3477
3484
  await s.onParentClose({
3478
3485
  workflowName: s.name,
@@ -3488,7 +3495,7 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3488
3495
  reason: n?.message ?? String(n)
3489
3496
  });
3490
3497
  }
3491
- }), v = (e, t, n, r) => F.promise(async () => {
3498
+ }), v = (e, t, n, r) => I.promise(async () => {
3492
3499
  if (s.onTerminal) try {
3493
3500
  await s.onTerminal({
3494
3501
  workflowName: s.name,
@@ -3506,23 +3513,23 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3506
3513
  });
3507
3514
  }
3508
3515
  });
3509
- return (ee, b) => F.gen(function* () {
3510
- let x = Date.now(), te = yield* Ze.get(r), ne = yield* Ze.get(i), re = s.parentExecutionId ?? te ?? null, ie = s.parentGeneration ?? (s.parentExecutionId == null ? ne : void 0) ?? null, S = s.parentClosePolicy ?? null, C, w = (e, t) => t.pipe(F.catchAllCause((t) => P.isInterrupted(t) ? F.failCause(t) : F.sync(() => {
3511
- let n = P.squash(t);
3516
+ return (ee, b) => I.gen(function* () {
3517
+ let x = Date.now(), te = yield* Ze.get(r), ne = yield* Ze.get(i), re = s.parentExecutionId ?? te ?? null, ie = s.parentGeneration ?? (s.parentExecutionId == null ? ne : void 0) ?? null, ae = s.parentClosePolicy ?? null, S, C = (e, t) => t.pipe(I.catchAllCause((t) => F.isInterrupted(t) ? I.failCause(t) : I.sync(() => {
3518
+ let n = F.squash(t);
3512
3519
  p(e, {
3513
3520
  tag: s.name,
3514
3521
  executionId: b,
3515
3522
  reason: n?.message ?? String(n)
3516
3523
  });
3517
- }))), T = `wfrg_${di()}`, ae = yield* F.serviceOption(Ee), oe = d("wr"), se = yield* F.sync(() => s.encodePayload === void 0 ? ee : s.encodePayload(ee)), E = yield* F.promise(() => s.transaction((e) => zt(e, {
3524
+ }))), w = `wfrg_${mi()}`, oe = yield* I.serviceOption(Te), se = d("wr"), ce = yield* I.sync(() => s.encodePayload === void 0 ? ee : s.encodePayload(ee)), T = yield* I.promise(() => s.transaction((e) => Bt(e, {
3518
3525
  workflowName: s.name,
3519
3526
  executionId: b,
3520
- generation: T,
3527
+ generation: w,
3521
3528
  now: x,
3522
- delivery: ae._tag === "Some" ? ae.value : null,
3529
+ delivery: oe._tag === "Some" ? oe.value : null,
3523
3530
  initialRow: {
3524
- id: oe,
3525
- payload: se,
3531
+ id: se,
3532
+ payload: ce,
3526
3533
  workflowVersion: s.workflowVersion ?? null,
3527
3534
  workflowPatches: s.workflowPatches ?? null,
3528
3535
  output: null,
@@ -3537,45 +3544,45 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3537
3544
  traceId: s.traceId ?? null,
3538
3545
  parentExecutionId: re,
3539
3546
  parentGeneration: ie,
3540
- parentClosePolicy: S
3547
+ parentClosePolicy: ae
3541
3548
  }
3542
3549
  })));
3543
- if (typeof E.row.id != "string") return yield* F.die(/* @__PURE__ */ Error("Recorded workflow entry has no run identity"));
3544
- if (C = E.row.id, E.restartEvent !== void 0) {
3545
- let e = E.restartEvent;
3546
- yield* w("failed to observe recorded workflow restart", F.sync(() => {
3550
+ if (typeof T.row.id != "string") return yield* I.die(/* @__PURE__ */ Error("Recorded workflow entry has no run identity"));
3551
+ if (S = T.row.id, T.restartEvent !== void 0) {
3552
+ let e = T.restartEvent;
3553
+ yield* C("failed to observe recorded workflow restart", I.sync(() => {
3547
3554
  m?.("workflowEvents", {
3548
3555
  op: "insert",
3549
3556
  row: $(e)
3550
3557
  });
3551
3558
  }));
3552
3559
  }
3553
- if (E.kind === "cancelled" || E.kind === "already-cancelled") {
3554
- let e = yield* J;
3555
- return e.interrupted = !0, E.kind === "cancelled" && (yield* w("failed to observe suspended workflow cancellation", F.gen(function* () {
3560
+ if (T.kind === "cancelled" || T.kind === "already-cancelled") {
3561
+ let e = yield* Y;
3562
+ return e.interrupted = !0, T.kind === "cancelled" && (yield* C("failed to observe suspended workflow cancellation", I.gen(function* () {
3556
3563
  if (m?.("workflowRuns", {
3557
3564
  op: "update",
3558
- row: $(E.row)
3559
- }), E.terminalEvent === void 0) return yield* F.die(/* @__PURE__ */ Error("Cancelled entry has no terminal event"));
3560
- yield* h(E.terminalEvent), yield* g(b, "cancelled", C);
3561
- })), yield* v(b, "cancelled", C), yield* F.sync(() => s.recordRun?.({
3565
+ row: $(T.row)
3566
+ }), T.terminalEvent === void 0) return yield* I.die(/* @__PURE__ */ Error("Cancelled entry has no terminal event"));
3567
+ yield* h(T.terminalEvent), yield* g(b, "cancelled", S);
3568
+ })), yield* v(b, "cancelled", S), yield* I.sync(() => s.recordRun?.({
3562
3569
  name: s.name,
3563
3570
  status: "cancelled",
3564
3571
  durationMs: 0
3565
- }))), yield* F.interrupt;
3572
+ }))), yield* I.interrupt;
3566
3573
  }
3567
- let D = E.previous, ce = D?.workflowVersion ?? null;
3568
- if (D?.id !== void 0 && ce !== null && s.workflowCompatibleVersions !== void 0 && s.workflowCompatibleVersions !== null && !s.workflowCompatibleVersions.includes(ce)) {
3569
- let e = `Workflow '${s.name}' run '${b}' was started on version ${ce}, but current code is compatible with ${s.workflowCompatibleVersions.join(", ")}`, t = s.failureContext ?? {
3574
+ let E = T.previous, le = E?.workflowVersion ?? null;
3575
+ if (E?.id !== void 0 && le !== null && s.workflowCompatibleVersions !== void 0 && s.workflowCompatibleVersions !== null && !s.workflowCompatibleVersions.includes(le)) {
3576
+ let e = `Workflow '${s.name}' run '${b}' was started on version ${le}, but current code is compatible with ${s.workflowCompatibleVersions.join(", ")}`, t = s.failureContext ?? {
3570
3577
  handler: null,
3571
3578
  callerContext: null,
3572
3579
  tenantId: null
3573
- }, n = yield* F.promise(() => s.transaction((n) => Wt(n, {
3580
+ }, n = yield* I.promise(() => s.transaction((n) => Gt(n, {
3574
3581
  owner: {
3575
- runId: C,
3582
+ runId: S,
3576
3583
  workflowName: s.name,
3577
3584
  executionId: b,
3578
- generation: T
3585
+ generation: w
3579
3586
  },
3580
3587
  now: Date.now(),
3581
3588
  durationMs: 0,
@@ -3586,49 +3593,49 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3586
3593
  ...t
3587
3594
  }
3588
3595
  })));
3589
- return n.kind === "committed" && (yield* w("failed to observe workflow version rejection", F.gen(function* () {
3596
+ return n.kind === "committed" && (yield* C("failed to observe workflow version rejection", I.gen(function* () {
3590
3597
  m?.("workflowRuns", {
3591
3598
  op: "update",
3592
3599
  row: $(n.row)
3593
- }), yield* h(n.terminalEvent), yield* g(b, "failed", C);
3594
- })), yield* v(b, "failed", C, {
3595
- payload: E.row.payload,
3600
+ }), yield* h(n.terminalEvent), yield* g(b, "failed", S);
3601
+ })), yield* v(b, "failed", S, {
3602
+ payload: T.row.payload,
3596
3603
  errorTag: "WorkflowVersionIncompatible",
3597
3604
  errorMessage: e
3598
- }), yield* F.sync(() => s.recordRun?.({
3605
+ }), yield* I.sync(() => s.recordRun?.({
3599
3606
  name: s.name,
3600
3607
  status: "failed",
3601
3608
  durationMs: 0
3602
3609
  })), p("workflow run failed", {
3603
3610
  workflow: s.name,
3604
3611
  executionId: b,
3605
- runId: C,
3612
+ runId: S,
3606
3613
  errorTag: "WorkflowVersionIncompatible",
3607
3614
  cause: e
3608
- })), yield* F.fail(Error(e));
3615
+ })), yield* I.fail(Error(e));
3609
3616
  }
3610
- let O = s.workflowPatches ?? [], k;
3611
- if (D?.id !== void 0) {
3612
- C = D.id, O = ui(D.workflowPatches) ?? O;
3613
- let e = E.row.reclaimCount;
3614
- if (typeof e != "number" || !Number.isSafeInteger(e) || e < 0) return yield* F.die(/* @__PURE__ */ Error("Recorded workflow entry has an invalid reclaim counter"));
3617
+ let ue = s.workflowPatches ?? [], D;
3618
+ if (E?.id !== void 0) {
3619
+ S = E.id, ue = pi(E.workflowPatches) ?? ue;
3620
+ let e = T.row.reclaimCount;
3621
+ if (typeof e != "number" || !Number.isSafeInteger(e) || e < 0) return yield* I.die(/* @__PURE__ */ Error("Recorded workflow entry has an invalid reclaim counter"));
3615
3622
  let t = e > 0, n = s.maxRunReclaims ?? 3;
3616
3623
  if (t && e >= n) {
3617
- let t = `Workflow '${s.name}' run '${b}' killed its runner ${e} times in a row; parked instead of reclaimed again (maxRunReclaims=${n}).`, r = yield* F.promise(() => s.transaction((e) => Ht(e, {
3618
- runId: C,
3624
+ let t = `Workflow '${s.name}' run '${b}' killed its runner ${e} times in a row; parked instead of reclaimed again (maxRunReclaims=${n}).`, r = yield* I.promise(() => s.transaction((e) => Ut(e, {
3625
+ runId: S,
3619
3626
  workflowName: s.name,
3620
3627
  executionId: b,
3621
- generation: T
3628
+ generation: w
3622
3629
  }, {
3623
3630
  errorTag: "WorkflowCrashLooped",
3624
3631
  errorMessage: t
3625
3632
  })));
3626
- r.kind === "committed" && (yield* w("failed to observe workflow crash-loop park", F.gen(function* () {
3633
+ r.kind === "committed" && (yield* C("failed to observe workflow crash-loop park", I.gen(function* () {
3627
3634
  m?.("workflowRuns", {
3628
3635
  op: "update",
3629
3636
  row: $(r.row)
3630
- }), yield* F.promise(() => f.recordEvent({
3631
- runId: C,
3637
+ }), yield* I.promise(() => f.recordEvent({
3638
+ runId: S,
3632
3639
  eventType: "run-crashlooped",
3633
3640
  payload: {
3634
3641
  reclaimCount: e,
@@ -3640,19 +3647,19 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3640
3647
  })), p("workflow run parked after repeated runner deaths", {
3641
3648
  tag: s.name,
3642
3649
  executionId: b,
3643
- runId: C,
3650
+ runId: S,
3644
3651
  reclaimCount: e,
3645
3652
  maxRunReclaims: n
3646
3653
  }));
3647
- let i = yield* J;
3648
- return yield* qe.suspend(i);
3654
+ let i = yield* Y;
3655
+ return yield* Ke.suspend(i);
3649
3656
  }
3650
- k = yield* gi(s, C, p), yield* w("failed to record workflow re-entry", F.gen(function* () {
3657
+ D = yield* yi(s, S, p), yield* C("failed to record workflow re-entry", I.gen(function* () {
3651
3658
  m?.("workflowRuns", {
3652
3659
  op: "update",
3653
- row: $(E.row)
3654
- }), t && (yield* F.promise(() => f.recordEvent({
3655
- runId: C,
3660
+ row: $(T.row)
3661
+ }), t && (yield* I.promise(() => f.recordEvent({
3662
+ runId: S,
3656
3663
  eventType: "run-resumed",
3657
3664
  payload: {
3658
3665
  reason: "runner-reclaim",
@@ -3661,13 +3668,13 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3661
3668
  }
3662
3669
  })));
3663
3670
  }));
3664
- } else yield* w("failed to emit recorded workflow start", F.gen(function* () {
3671
+ } else yield* C("failed to emit recorded workflow start", I.gen(function* () {
3665
3672
  if (m?.("workflowRuns", {
3666
3673
  op: "insert",
3667
- row: $(E.row)
3668
- }), C) {
3669
- let e = C;
3670
- yield* F.promise(() => f.recordEvent({
3674
+ row: $(T.row)
3675
+ }), S) {
3676
+ let e = S;
3677
+ yield* I.promise(() => f.recordEvent({
3671
3678
  runId: e,
3672
3679
  eventType: "run-started",
3673
3680
  payload: {
@@ -3677,34 +3684,34 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3677
3684
  workflowVersion: s.workflowVersion ?? null,
3678
3685
  workflowPatches: s.workflowPatches ?? null,
3679
3686
  parentExecutionId: re,
3680
- parentClosePolicy: S
3687
+ parentClosePolicy: ae
3681
3688
  }
3682
3689
  }));
3683
3690
  }
3684
3691
  }));
3685
- let A = s.subject?.tenantId, le = F.suspend(() => l(ee, b, T)).pipe(F.locally(t, C), F.locally(r, b), F.locally(i, T), F.locally(n, typeof A == "string" ? A : void 0), F.locally(a, O), F.locally(c, k), F.provideService(o, f)), ue = s.pluginWorkflowStepLayer ? le.pipe(F.provide(s.pluginWorkflowStepLayer)) : le, de = yield* qe.intoResult(F.raceWith(ue, ai({
3686
- runId: C,
3692
+ let de = s.subject?.tenantId, fe = I.suspend(() => l(ee, b, w)).pipe(I.locally(t, S), I.locally(r, b), I.locally(i, w), I.locally(n, typeof de == "string" ? de : void 0), I.locally(a, ue), I.locally(c, D), I.provideService(o, f)), O = s.pluginWorkflowStepLayer ? fe.pipe(I.provide(s.pluginWorkflowStepLayer)) : fe, k = yield* Ke.intoResult(I.raceWith(O, ci({
3693
+ runId: S,
3687
3694
  workflowName: s.name,
3688
3695
  executionId: b,
3689
- generation: T
3696
+ generation: w
3690
3697
  }, async (e) => s.store.query(e), () => p("workflow control read failed; retrying without claiming cancellation", {
3691
3698
  executionId: b,
3692
- runId: C
3693
- })).pipe(F.interruptible), {
3694
- onSelfDone: (e, t) => Xe.interrupt(t).pipe(F.zipRight(e)),
3695
- onOtherDone: (e, t) => Xe.interrupt(t).pipe(F.zipRight(e))
3699
+ runId: S
3700
+ })).pipe(I.interruptible), {
3701
+ onSelfDone: (e, t) => Xe.interrupt(t).pipe(I.zipRight(e)),
3702
+ onOtherDone: (e, t) => Xe.interrupt(t).pipe(I.zipRight(e))
3696
3703
  }));
3697
- if (qe.isResult(de) && de._tag === "Suspended") {
3698
- let e = de.cause, t = e !== void 0 && !P.isEmpty(e), n = t ? P.squash(e) : void 0, r = n && typeof n == "object" && "_tag" in n ? String(n._tag) : null, i = t ? n?.message ?? String(n) : null, a = yield* F.promise(() => s.transaction((e) => Ht(e, {
3699
- runId: C,
3704
+ if (Ke.isResult(k) && k._tag === "Suspended") {
3705
+ let e = k.cause, t = e !== void 0 && !F.isEmpty(e), n = t ? F.squash(e) : void 0, r = n && typeof n == "object" && "_tag" in n ? String(n._tag) : null, i = t ? n?.message ?? String(n) : null, a = yield* I.promise(() => s.transaction((e) => Ut(e, {
3706
+ runId: S,
3700
3707
  workflowName: s.name,
3701
3708
  executionId: b,
3702
- generation: T
3709
+ generation: w
3703
3710
  }, {
3704
3711
  errorTag: r,
3705
3712
  errorMessage: i
3706
3713
  })));
3707
- a.kind === "committed" && t && (yield* F.sync(() => et({
3714
+ a.kind === "committed" && t && (yield* I.sync(() => et({
3708
3715
  error: n,
3709
3716
  source: "workflow",
3710
3717
  name: s.name,
@@ -3714,14 +3721,14 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3714
3721
  executionId: b,
3715
3722
  suspendedOnFailure: !0,
3716
3723
  ...r ? { errorTag: r } : {},
3717
- ...C ? { runId: C } : {}
3724
+ ...S ? { runId: S } : {}
3718
3725
  }
3719
- }))), a.kind === "committed" && (yield* w("failed to observe workflow suspend", F.gen(function* () {
3726
+ }))), a.kind === "committed" && (yield* C("failed to observe workflow suspend", I.gen(function* () {
3720
3727
  m?.("workflowRuns", {
3721
3728
  op: "update",
3722
3729
  row: $(a.row)
3723
- }), yield* F.promise(() => f.recordEvent({
3724
- runId: C,
3730
+ }), yield* I.promise(() => f.recordEvent({
3731
+ runId: S,
3725
3732
  eventType: "run-suspended",
3726
3733
  payload: t ? {
3727
3734
  reason: "suspend-on-failure",
@@ -3730,20 +3737,20 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3730
3737
  } : { reason: "workflow-suspend" }
3731
3738
  }));
3732
3739
  })));
3733
- let o = yield* J;
3734
- return yield* qe.suspend(o);
3740
+ let o = yield* Y;
3741
+ return yield* Ke.suspend(o);
3735
3742
  }
3736
- let fe = de;
3737
- if (k !== void 0 && C !== void 0) {
3738
- let t = k.settle();
3743
+ let pe = k;
3744
+ if (D !== void 0 && S !== void 0) {
3745
+ let t = D.settle();
3739
3746
  if (t.length > 0) {
3740
- let n = C;
3747
+ let n = S;
3741
3748
  p("workflow replay reached a different step shape than this run recorded", {
3742
3749
  tag: s.name,
3743
3750
  executionId: b,
3744
3751
  runId: n,
3745
3752
  findings: t.map((e) => `${e.kind}:${e.stepName}`)
3746
- }), yield* w("failed to record nondeterminism findings", F.promise(async () => {
3753
+ }), yield* C("failed to record nondeterminism findings", I.promise(async () => {
3747
3754
  for (let r of t) await f.recordEvent({
3748
3755
  runId: n,
3749
3756
  eventType: "nondeterminism-suspected",
@@ -3752,41 +3759,41 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3752
3759
  }));
3753
3760
  }
3754
3761
  }
3755
- if (Ye.isFailure(fe.exit)) {
3756
- let e = fe.exit.cause;
3757
- if ((yield* J).interrupted && P.isInterruptedOnly(e)) {
3758
- let t = Date.now(), n = yield* F.promise(() => s.transaction((e) => Wt(e, {
3762
+ if (Ye.isFailure(pe.exit)) {
3763
+ let e = pe.exit.cause;
3764
+ if ((yield* Y).interrupted && F.isInterruptedOnly(e)) {
3765
+ let t = Date.now(), n = yield* I.promise(() => s.transaction((e) => Gt(e, {
3759
3766
  owner: {
3760
- runId: C,
3767
+ runId: S,
3761
3768
  workflowName: s.name,
3762
3769
  executionId: b,
3763
- generation: T
3770
+ generation: w
3764
3771
  },
3765
3772
  now: t,
3766
3773
  durationMs: t - x,
3767
3774
  outcome: { status: "cancelled" }
3768
3775
  })));
3769
- return n.kind === "committed" && (yield* w("failed to observe workflow cancellation", F.gen(function* () {
3776
+ return n.kind === "committed" && (yield* C("failed to observe workflow cancellation", I.gen(function* () {
3770
3777
  m?.("workflowRuns", {
3771
3778
  op: "update",
3772
3779
  row: $(n.row)
3773
- }), yield* h(n.terminalEvent), yield* g(b, "cancelled", C);
3774
- })), yield* v(b, "cancelled", C), yield* F.sync(() => s.recordRun?.({
3780
+ }), yield* h(n.terminalEvent), yield* g(b, "cancelled", S);
3781
+ })), yield* v(b, "cancelled", S), yield* I.sync(() => s.recordRun?.({
3775
3782
  name: s.name,
3776
3783
  status: "cancelled",
3777
3784
  durationMs: t - x
3778
- }))), yield* F.failCause(e);
3785
+ }))), yield* I.failCause(e);
3779
3786
  }
3780
- let t = P.failureOption(e), n = t._tag === "Some" ? t.value : P.squash(e), r = n && typeof n == "object" && "_tag" in n ? String(n._tag) : null, i = n?.message ?? String(n), a = Date.now(), o = s.failureContext ?? {
3787
+ let t = F.failureOption(e), n = t._tag === "Some" ? t.value : F.squash(e), r = n && typeof n == "object" && "_tag" in n ? String(n._tag) : null, i = n?.message ?? String(n), a = Date.now(), o = s.failureContext ?? {
3781
3788
  handler: null,
3782
3789
  callerContext: null,
3783
3790
  tenantId: null
3784
- }, c = yield* F.promise(() => s.transaction((e) => Wt(e, {
3791
+ }, c = yield* I.promise(() => s.transaction((e) => Gt(e, {
3785
3792
  owner: {
3786
- runId: C,
3793
+ runId: S,
3787
3794
  workflowName: s.name,
3788
3795
  executionId: b,
3789
- generation: T
3796
+ generation: w
3790
3797
  },
3791
3798
  now: a,
3792
3799
  durationMs: a - x,
@@ -3800,10 +3807,10 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3800
3807
  return c.kind === "committed" ? (p("workflow run failed", {
3801
3808
  workflow: s.name,
3802
3809
  executionId: b,
3803
- runId: C,
3810
+ runId: S,
3804
3811
  ...r ? { errorTag: r } : {},
3805
3812
  cause: y(s.name, n)
3806
- }), yield* F.sync(() => et({
3813
+ }), yield* I.sync(() => et({
3807
3814
  error: n,
3808
3815
  source: "workflow",
3809
3816
  name: s.name,
@@ -3812,49 +3819,49 @@ var gt = Je.layerMemory, _t = G("_voltro_workflow_runs", {
3812
3819
  fields: {
3813
3820
  executionId: b,
3814
3821
  ...r ? { errorTag: r } : {},
3815
- ...C ? { runId: C } : {}
3822
+ ...S ? { runId: S } : {}
3816
3823
  }
3817
- })), C && (yield* w("failed to record workflow failure", F.gen(function* () {
3824
+ })), S && (yield* C("failed to record workflow failure", I.gen(function* () {
3818
3825
  m?.("workflowRuns", {
3819
3826
  op: "update",
3820
3827
  row: $(c.row)
3821
- }), yield* h(c.terminalEvent), yield* g(b, "failed", C);
3822
- }))), yield* v(b, "failed", C, {
3828
+ }), yield* h(c.terminalEvent), yield* g(b, "failed", S);
3829
+ }))), yield* v(b, "failed", S, {
3823
3830
  payload: ee,
3824
3831
  errorTag: r,
3825
3832
  errorMessage: i
3826
- }), yield* F.sync(() => s.recordRun?.({
3833
+ }), yield* I.sync(() => s.recordRun?.({
3827
3834
  name: s.name,
3828
3835
  status: "failed",
3829
3836
  durationMs: Date.now() - x
3830
- })), yield* F.failCause(e)) : yield* F.failCause(e);
3837
+ })), yield* I.failCause(e)) : yield* I.failCause(e);
3831
3838
  }
3832
- let j = fe.exit.value, pe = Date.now(), me = yield* F.promise(() => s.transaction((e) => Wt(e, {
3839
+ let me = pe.exit.value, A = Date.now(), j = yield* I.promise(() => s.transaction((e) => Gt(e, {
3833
3840
  owner: {
3834
- runId: C,
3841
+ runId: S,
3835
3842
  workflowName: s.name,
3836
3843
  executionId: b,
3837
- generation: T
3844
+ generation: w
3838
3845
  },
3839
- now: pe,
3840
- durationMs: pe - x,
3846
+ now: A,
3847
+ durationMs: A - x,
3841
3848
  outcome: {
3842
3849
  status: "succeeded",
3843
- output: pi(j, u)
3850
+ output: gi(me, u)
3844
3851
  }
3845
3852
  })));
3846
- return me.kind === "committed" ? (C && (yield* w("failed to record workflow success", F.gen(function* () {
3853
+ return j.kind === "committed" ? (S && (yield* C("failed to record workflow success", I.gen(function* () {
3847
3854
  m?.("workflowRuns", {
3848
3855
  op: "update",
3849
- row: $(me.row)
3850
- }), yield* h(me.terminalEvent), yield* g(b, "succeeded", C);
3851
- }))), yield* v(b, "succeeded", C), yield* F.sync(() => s.recordRun?.({
3856
+ row: $(j.row)
3857
+ }), yield* h(j.terminalEvent), yield* g(b, "succeeded", S);
3858
+ }))), yield* v(b, "succeeded", S), yield* I.sync(() => s.recordRun?.({
3852
3859
  name: s.name,
3853
3860
  status: "succeeded",
3854
3861
  durationMs: Date.now() - x,
3855
3862
  completedAtSec: Date.now() / 1e3
3856
- })), j) : j;
3863
+ })), me) : me;
3857
3864
  });
3858
3865
  };
3859
3866
  //#endregion
3860
- export { gn as $, yr as A, Zn as B, Nr as C, yt as Ct, wr as D, Cr as E, gt as Et, fr as F, yn as G, jn as H, dr as I, vn as J, bn as K, Yn as L, lr as M, hr as N, Er as O, mr as P, Tn as Q, or as R, Ur as S, bt as St, Ar as T, _t as Tt, An as U, kn as V, Rn as W, wn as X, _n as Y, On as Z, Lr as _, St as _t, li as a, cn as at, Jr as b, Et as bt, _i as c, Gt as ct, Qr as d, zt as dt, hn as et, Z as f, Ft as ft, Rr as g, wt as gt, zr as h, Ct as ht, ui as i, sn as it, _r as j, Dr as k, ii as l, Vt as lt, Hr as m, Ot as mt, ci as n, un as nt, $ as o, an as ot, Vr as p, xt as pt, xn as q, hi as r, fn as rt, pi as s, on as st, si as t, pn as tt, ri as u, Wt as ut, Ir as v, kt as vt, Pr as w, vt as wt, qr as x, Tt as xt, Yr as y, Dt as yt, Qn as z };
3867
+ export { kn as $, Sr as A, sr as B, Ir as C, Tt as Ct, Dr as D, _t as Dt, Er as E, vt as Et, gr as F, jn as G, Qn as H, hr as I, xn as J, zn as K, pr as L, br as M, vr as N, kr as O, gt as Ot, ur as P, Tn as Q, fr as R, Kr as S, Et as St, Nr as T, yt as Tt, An as U, $n as V, Mn as W, yn as X, Sn as Y, vn as Z, Br as _, Ct as _t, fi as a, pn as at, Zr as b, kt as bt, bi as c, on as ct, ti as d, Ht as dt, En as et, Z as f, Gt as ft, Vr as g, Ot as gt, Hr as h, xt as ht, pi as i, dn as it, Cr as j, Ar as k, si as l, sn as lt, Gr as m, Ft as mt, di as n, gn as nt, $ as o, cn as ot, Wr as p, Bt as pt, bn as q, vi as r, mn as rt, gi as s, ln as st, ui as t, _n as tt, oi as u, Kt as ut, zr as v, wt as vt, Lr as w, bt as wt, Xr as x, Dt as xt, Qr as y, St as yt, Xn as z };