@plumbus/core 0.8.0-beta.0 → 0.8.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ai/ai/provider.d.ts +2 -0
  4. package/dist/ai/ai-service.d.ts +35 -0
  5. package/dist/ai/ai-service.d.ts.map +1 -1
  6. package/dist/ai/ai-service.js +132 -13
  7. package/dist/ai/ai-service.js.map +1 -1
  8. package/dist/ai/index.d.ts +1 -1
  9. package/dist/ai/index.d.ts.map +1 -1
  10. package/dist/ai/index.js.map +1 -1
  11. package/dist/ai/provider.d.ts +2 -0
  12. package/dist/ai/provider.d.ts.map +1 -1
  13. package/dist/ai/provider.js +5 -0
  14. package/dist/ai/provider.js.map +1 -1
  15. package/dist/audit/service.d.ts.map +1 -1
  16. package/dist/audit/service.js +6 -1
  17. package/dist/audit/service.js.map +1 -1
  18. package/dist/cli/commands/dev.d.ts.map +1 -1
  19. package/dist/cli/commands/dev.js +4 -0
  20. package/dist/cli/commands/dev.js.map +1 -1
  21. package/dist/cli/commands/start.d.ts.map +1 -1
  22. package/dist/cli/commands/start.js +6 -0
  23. package/dist/cli/commands/start.js.map +1 -1
  24. package/dist/durable/index.d.ts +2 -2
  25. package/dist/durable/index.d.ts.map +1 -1
  26. package/dist/durable/index.js +2 -2
  27. package/dist/durable/index.js.map +1 -1
  28. package/dist/durable/postgres-persist.d.ts +39 -2
  29. package/dist/durable/postgres-persist.d.ts.map +1 -1
  30. package/dist/durable/postgres-persist.js +67 -4
  31. package/dist/durable/postgres-persist.js.map +1 -1
  32. package/dist/durable/spine-claim.d.ts +11 -0
  33. package/dist/durable/spine-claim.d.ts.map +1 -1
  34. package/dist/durable/spine-claim.js +36 -2
  35. package/dist/durable/spine-claim.js.map +1 -1
  36. package/dist/errors/http.d.ts.map +1 -1
  37. package/dist/errors/http.js +9 -1
  38. package/dist/errors/http.js.map +1 -1
  39. package/dist/events/dispatcher.d.ts.map +1 -1
  40. package/dist/events/dispatcher.js +21 -4
  41. package/dist/events/dispatcher.js.map +1 -1
  42. package/dist/events/worker.d.ts.map +1 -1
  43. package/dist/events/worker.js +1 -3
  44. package/dist/events/worker.js.map +1 -1
  45. package/dist/execution/context-factory.d.ts.map +1 -1
  46. package/dist/execution/context-factory.js +6 -1
  47. package/dist/execution/context-factory.js.map +1 -1
  48. package/dist/execution/deferred-flow-service.d.ts.map +1 -1
  49. package/dist/execution/deferred-flow-service.js +7 -0
  50. package/dist/execution/deferred-flow-service.js.map +1 -1
  51. package/dist/flows/dead-letter.d.ts +18 -1
  52. package/dist/flows/dead-letter.d.ts.map +1 -1
  53. package/dist/flows/dead-letter.js +17 -1
  54. package/dist/flows/dead-letter.js.map +1 -1
  55. package/dist/flows/engine.d.ts +15 -0
  56. package/dist/flows/engine.d.ts.map +1 -1
  57. package/dist/flows/engine.js +149 -22
  58. package/dist/flows/engine.js.map +1 -1
  59. package/dist/flows/flow-service.d.ts.map +1 -1
  60. package/dist/flows/flow-service.js +3 -0
  61. package/dist/flows/flow-service.js.map +1 -1
  62. package/dist/index.d.ts +1 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/runtime/bootstrap.d.ts +16 -1
  66. package/dist/runtime/bootstrap.d.ts.map +1 -1
  67. package/dist/runtime/bootstrap.js +7 -1
  68. package/dist/runtime/bootstrap.js.map +1 -1
  69. package/dist/runtime/load-extensions.d.ts.map +1 -1
  70. package/dist/runtime/load-extensions.js +33 -0
  71. package/dist/runtime/load-extensions.js.map +1 -1
  72. package/dist/runtime/start-worker-pool.d.ts.map +1 -1
  73. package/dist/runtime/start-worker-pool.js +33 -15
  74. package/dist/runtime/start-worker-pool.js.map +1 -1
  75. package/dist/server/bootstrap.d.ts +19 -0
  76. package/dist/server/bootstrap.d.ts.map +1 -1
  77. package/dist/server/bootstrap.js +31 -3
  78. package/dist/server/bootstrap.js.map +1 -1
  79. package/dist/testing/context.d.ts.map +1 -1
  80. package/dist/testing/context.js +1 -0
  81. package/dist/testing/context.js.map +1 -1
  82. package/dist/types/context.d.ts +3 -0
  83. package/dist/types/context.d.ts.map +1 -1
  84. package/dist/worker/bootstrap.d.ts +8 -0
  85. package/dist/worker/bootstrap.d.ts.map +1 -1
  86. package/dist/worker/bootstrap.js +19 -7
  87. package/dist/worker/bootstrap.js.map +1 -1
  88. package/instructions/ai.md +14 -0
  89. package/instructions/flows.md +6 -0
  90. package/instructions/framework.md +3 -0
  91. package/package.json +3 -3
@@ -1,4 +1,6 @@
1
1
  import { eq } from 'drizzle-orm';
2
+ import { FRAMEWORK_SCHEMA } from '../data/schema-generator.js';
3
+ import { insertDispatchOutbox, publishOutboxToSpine, reopenExecutionState, } from '../durable/index.js';
2
4
  import { flowDeadLetterTable, flowExecutionsTable } from './schema.js';
3
5
  import { FlowStatus } from './state-machine.js';
4
6
  /**
@@ -65,7 +67,7 @@ export async function sweepFailedFlows(db, limit = 100) {
65
67
  * Attribution is recorded on the dead-letter row and execution state.
66
68
  * Failed → Created is an operator exception (not a normal state-machine edge).
67
69
  */
68
- export async function retryDeadLetteredFlow(db, executionId, opts) {
70
+ export async function retryDeadLetteredFlow(db, executionId, opts, placement) {
69
71
  if (!opts.actor?.trim()) {
70
72
  throw new Error('Operator retry requires an actor');
71
73
  }
@@ -120,11 +122,25 @@ export async function retryDeadLetteredFlow(db, executionId, opts) {
120
122
  metadata: { ...existingMeta, ...attribution },
121
123
  })
122
124
  .where(eq(flowDeadLetterTable.executionId, executionId));
125
+ let republished = false;
126
+ if (placement) {
127
+ // Reopen the durable state and hand the spine a fresh hint, so a worker claims the
128
+ // reset row again. A plane without state for this execution has nothing to reopen: the
129
+ // row is claimed from its own table as before.
130
+ const schemaName = placement.coreSchema ?? FRAMEWORK_SCHEMA;
131
+ const reopened = await reopenExecutionState(db, { executionId, stepId: row.currentStep ?? '', nowIso: retriedAt }, schemaName);
132
+ if (reopened) {
133
+ const outbox = await insertDispatchOutbox(db, reopened, reopened.currentStepId, retriedAt, schemaName);
134
+ await publishOutboxToSpine(db, placement.spineDb, outbox, `disp:${executionId}:${reopened.revision}`, retriedAt, schemaName);
135
+ republished = true;
136
+ }
137
+ }
123
138
  return {
124
139
  executionId,
125
140
  flowName: row.flowName,
126
141
  retriedBy: opts.actor,
127
142
  retriedAt,
143
+ republished,
128
144
  };
129
145
  }
130
146
  //# sourceMappingURL=dead-letter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dead-letter.js","sourceRoot":"","sources":["../../src/flows/dead-letter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAchD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAsB,EAAE,WAAmB;IAC9E,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,EAAE;SACR,IAAI,CAAC,mBAAmB,CAAC;SACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;SAC9C,KAAK,CAAC,CAAC,CAAC,CAAC;IAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,aAAa,CAAC,CAAC;IAEvE,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,4BAA4B,WAAW,kBAAkB,GAAG,CAAC,MAAM,sBAAsB,CAC1F,CAAC;IACJ,CAAC;IAED,MAAM,EAAE;SACL,MAAM,CAAC,mBAAmB,CAAC;SAC3B,MAAM,CAAC;QACN,WAAW,EAAE,GAAG,CAAC,EAAE;QACnB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAY;QACvB,KAAK,EAAE,GAAG,CAAC,KAAY;QACvB,WAAW,EAAE,GAAG,CAAC,WAAkB;QACnC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE;YACR,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE;YACvC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE;SACzC;KACF,CAAC;SACD,mBAAmB,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAsB,EAAE,KAAK,GAAG,GAAG;IACxE,MAAM,UAAU,GAAG,MAAM,EAAE;SACxB,MAAM,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,EAAE,EAAE,CAAC;SACtC,IAAI,CAAC,mBAAmB,CAAC;SACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;SACxD,KAAK,CAAC,KAAK,CAAC,CAAC;IAEhB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,KAAK,EAAE,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,EAAsB,EACtB,WAAmB,EACnB,IAA0B;IAE1B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE;SACrB,MAAM,EAAE;SACR,IAAI,CAAC,mBAAmB,CAAC;SACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACvD,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,YAAY,GAChB,GAAG,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9E,CAAC,CAAE,GAAG,CAAC,QAAoC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,cAAc,WAAW,4BAA4B,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,EAAE;SACtB,MAAM,EAAE;SACR,IAAI,CAAC,mBAAmB,CAAC;SACzB,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;SAC9C,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,WAAW,aAAa,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,SAAS;QACT,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,gBAAgB;KACxC,CAAC;IACF,MAAM,UAAU,GACd,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACrE,CAAC,CAAE,GAAG,CAAC,KAAiC;QACxC,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,EAAE;SACL,MAAM,CAAC,mBAAmB,CAAC;SAC3B,GAAG,CAAC;QACH,MAAM,EAAE,UAAU,CAAC,OAAO;QAC1B,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE;QACtD,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;SACD,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAElD,MAAM,EAAE;SACL,MAAM,CAAC,mBAAmB,CAAC;SAC3B,GAAG,CAAC;QACH,QAAQ,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,WAAW,EAAE;KAC9C,CAAC;SACD,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3D,OAAO;QACL,WAAW;QACX,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dead-letter.js","sourceRoot":"","sources":["../../src/flows/dead-letter.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,21 @@ export interface FlowSpineDispatchConfig {
69
69
  resolver: DataPlaneResolver;
70
70
  /** Schema holding tenant durable tables. Default `core_plumbus`. */
71
71
  coreSchema?: string;
72
+ /**
73
+ * What a flow started with no tenant reference does. `'refuse'` (the default) is the
74
+ * fail-closed choice a single-tenant-per-plane deployment wants. `'control-plane'` places
75
+ * such a flow on `db` — the spine — exactly as an engine without spine dispatch would, and
76
+ * claims it from there beside the tenant hints: control-plane work (a fleet sweep, a
77
+ * platform procedure an operator started) has no tenant plane to live on and no private
78
+ * state to keep off the spine.
79
+ */
80
+ untenanted?: 'refuse' | 'control-plane';
81
+ /**
82
+ * How many claims a hint survives without its tenant plane resolving before it is parked
83
+ * as dead-lettered instead of being re-leased on every poll — a tenant whose plane is gone
84
+ * (closed, dropped) leaves hints behind. Default 10.
85
+ */
86
+ maxClaimAttempts?: number;
72
87
  }
73
88
  interface FlowExecutionRow {
74
89
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/flows/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/flows/engine.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { FlowCancelledError, LeaseLostError, PlumbusError } from '../errors/inde
7
7
  import { BUDGET_EXHAUSTED, consumeExecutionBudget, createExecutionBudgetLedger, writeExecutionBudget, } from './budget.js';
8
8
  import { BackoffStrategy, ErrorCode, FlowStepType } from '../types/enums.js';
9
9
  import { FRAMEWORK_SCHEMA } from '../data/schema-generator.js';
10
- import { ackSpineDispatch, casAdvanceExecution, claimSpineDispatch, insertDispatchOutbox, loadExecutionState, persistAcceptanceOnDb, publishOutboxToSpine, } from '../durable/index.js';
10
+ import { ackSpineDispatch, casAdvanceExecution, claimSpineDispatch, deadLetterSpineDispatch, findSpineDispatchTenantRoute, insertDispatchOutbox, loadExecutionState, markExecutionStateTerminal, markOutboxAckedBySpineRow, persistAcceptanceOnDb, publishOutboxToSpine, } from '../durable/index.js';
11
11
  import { flowDefinitionId, hydrateCompiledFlow } from './compile-flow.js';
12
12
  import { assertSupportedDefinitionStrategy, DefinitionInFlightStrategy, } from './definition-strategy.js';
13
13
  import { flowExecutionsTable } from './schema.js';
@@ -89,6 +89,8 @@ export function createFlowEngine(config) {
89
89
  const onFlowStepEnqueue = config.onFlowStepEnqueue;
90
90
  const spineDispatch = config.spineDispatch;
91
91
  const durableSchema = spineDispatch?.coreSchema ?? FRAMEWORK_SCHEMA;
92
+ const maxClaimAttempts = spineDispatch?.maxClaimAttempts ?? 10;
93
+ const untenantedOnControlPlane = spineDispatch?.untenanted === 'control-plane';
92
94
  const executionStores = new Map();
93
95
  const claimedHints = new Map();
94
96
  const executionPins = new Map();
@@ -138,6 +140,35 @@ export function createFlowEngine(config) {
138
140
  function storeFor(executionId) {
139
141
  return executionStores.get(executionId) ?? db;
140
142
  }
143
+ /**
144
+ * Finds the plane an execution's row lives on when this engine did not start or claim it —
145
+ * a request-side engine reading, cancelling or resuming a flow another process placed on a
146
+ * tenant plane. The spine's dispatch hint names the tenant route; the resolver names the
147
+ * plane. Without a hint the execution is the engine's own (control-plane) row, or unknown,
148
+ * and `db` answers as before.
149
+ */
150
+ async function locateStore(executionId) {
151
+ const cached = executionStores.get(executionId);
152
+ if (cached)
153
+ return cached;
154
+ if (!spineDispatch)
155
+ return db;
156
+ try {
157
+ const tenantRouteId = await findSpineDispatchTenantRoute(spineDispatch.db, executionId);
158
+ if (!tenantRouteId)
159
+ return db;
160
+ const handle = await spineDispatch.resolver.resolve(tenantRouteId);
161
+ executionStores.set(executionId, handle.db);
162
+ return handle.db;
163
+ }
164
+ catch (error) {
165
+ logger?.warn('could not locate the plane of a dispatched execution; using the engine database', {
166
+ executionId,
167
+ error: error instanceof Error ? error.message : String(error),
168
+ });
169
+ return db;
170
+ }
171
+ }
141
172
  const onFlowDelayedSchedule = config.onFlowDelayedSchedule;
142
173
  async function maybeEnqueueFlowStep(executionId, correlationId) {
143
174
  if (onFlowStepEnqueue) {
@@ -194,11 +225,18 @@ export function createFlowEngine(config) {
194
225
  let writeDb = db;
195
226
  if (spineDispatch) {
196
227
  if (!auth.tenantId) {
197
- throw new PlumbusError(ErrorCode.Forbidden, 'spine dispatch requires a tenant reference on flow start', { reason: 'untenanted-flow-start' });
228
+ if (!untenantedOnControlPlane) {
229
+ throw new PlumbusError(ErrorCode.Forbidden, 'spine dispatch requires a tenant reference on flow start', { reason: 'untenanted-flow-start' });
230
+ }
231
+ // A control-plane flow: the classic row on the spine, claimed from there.
232
+ writeDb = spineDispatch.db;
233
+ executionStores.set(executionId, writeDb);
234
+ }
235
+ else {
236
+ const handle = await spineDispatch.resolver.resolve(auth.tenantId);
237
+ writeDb = handle.db;
238
+ executionStores.set(executionId, writeDb);
198
239
  }
199
- const handle = await spineDispatch.resolver.resolve(auth.tenantId);
200
- writeDb = handle.db;
201
- executionStores.set(executionId, writeDb);
202
240
  }
203
241
  await writeDb.insert(flowExecutionsTable).values({
204
242
  id: executionId,
@@ -269,7 +307,7 @@ export function createFlowEngine(config) {
269
307
  tenantState.terminal ||
270
308
  tenantState.revision !== hint.expectedRevision ||
271
309
  tenantState.tenantEpoch !== hint.tenantEpoch) {
272
- await ackSpineDispatch(spineDispatch.db, hint.dispatchId);
310
+ await dropSpineHint(handle.db, hint.dispatchId);
273
311
  continue;
274
312
  }
275
313
  const execRows = await handle.db
@@ -278,8 +316,16 @@ export function createFlowEngine(config) {
278
316
  .where(eq(flowExecutionsTable.id, hint.executionId))
279
317
  .limit(1);
280
318
  const row = execRows[0];
281
- if (!row) {
282
- await ackSpineDispatch(spineDispatch.db, hint.dispatchId);
319
+ // A row cancelled or otherwise closed outside the run loop keeps no claim on the
320
+ // hint that was published for it: drop the hint rather than revive the row.
321
+ if (!row || isTerminal(row.status)) {
322
+ await dropSpineHint(handle.db, hint.dispatchId);
323
+ continue;
324
+ }
325
+ // A row waiting for an event, or for a wake time that has not come, is not runnable
326
+ // whatever the hint says; leave the hint to lapse rather than run the wait step again.
327
+ if (row.status === FlowStatus.Waiting &&
328
+ (row.waitingForEvent !== null || (row.wakeAt !== null && row.wakeAt > new Date()))) {
283
329
  continue;
284
330
  }
285
331
  executionStores.set(hint.executionId, handle.db);
@@ -303,16 +349,40 @@ export function createFlowEngine(config) {
303
349
  logger?.error('spine claim failed closed for one dispatch', {
304
350
  dispatchId: hint.dispatchId,
305
351
  executionId: hint.executionId,
352
+ attempt: hint.attempt,
306
353
  error: error instanceof Error ? error.message : String(error),
307
354
  });
355
+ if (hint.attempt >= maxClaimAttempts) {
356
+ await deadLetterSpineDispatch(spineDispatch.db, hint.dispatchId, 'plane-unresolved');
357
+ logger?.warn('spine hint dead-lettered after repeated claim failures', {
358
+ dispatchId: hint.dispatchId,
359
+ executionId: hint.executionId,
360
+ tenantRouteId: hint.tenantRouteId,
361
+ attempt: hint.attempt,
362
+ });
363
+ }
308
364
  }
309
365
  }
310
366
  return rows;
311
367
  }
312
368
  async function claimNext(batchSize) {
313
369
  if (spineDispatch) {
314
- return claimNextFromSpine(batchSize);
370
+ const fromSpine = await claimNextFromSpine(batchSize);
371
+ if (!untenantedOnControlPlane)
372
+ return fromSpine;
373
+ // Control-plane flows live on the spine's own `flow_executions`; claim what budget is
374
+ // left there, after the tenant hints.
375
+ const remaining = (batchSize ?? claimBatchSize) - fromSpine.length;
376
+ if (remaining <= 0)
377
+ return fromSpine;
378
+ const fromControlPlane = await claimNextFromOwnDb(remaining);
379
+ for (const row of fromControlPlane)
380
+ executionStores.set(row.id, spineDispatch.db);
381
+ return [...fromSpine, ...fromControlPlane];
315
382
  }
383
+ return claimNextFromOwnDb(batchSize);
384
+ }
385
+ async function claimNextFromOwnDb(batchSize) {
316
386
  const limit = batchSize ?? claimBatchSize;
317
387
  const leaseDurationInterval = `${leaseDurationMs} milliseconds`;
318
388
  const result = await db.execute(sql `
@@ -548,7 +618,11 @@ export function createFlowEngine(config) {
548
618
  // Auto-thread `signal` into AI calls so capability authors don't have to
549
619
  // pass it explicitly. An explicit `signal` in the call overrides the
550
620
  // step default. See AIService type for the per-method signal parameter.
551
- const scopedAi = ctx.ai.withContext?.({ tenantId: flowAuth.tenantId, actor: flowAuth.userId }) ?? ctx.ai;
621
+ const scopedAi = ctx.ai.withContext?.({
622
+ tenantId: flowAuth.tenantId,
623
+ actor: flowAuth.userId,
624
+ correlationId: row.correlationId ?? undefined,
625
+ }) ?? ctx.ai;
552
626
  const flowAi = wrapAiWithDefaultSignal(scopedAi, stepAc.signal);
553
627
  const flowCtx = {
554
628
  ...ctx,
@@ -824,7 +898,7 @@ export function createFlowEngine(config) {
824
898
  * Resume a waiting flow (e.g., after an event arrives or approval granted).
825
899
  */
826
900
  async function resume(executionId, signal) {
827
- const rows = await storeFor(executionId)
901
+ const rows = await (await locateStore(executionId))
828
902
  .select()
829
903
  .from(flowExecutionsTable)
830
904
  .where(eq(flowExecutionsTable.id, executionId))
@@ -902,7 +976,7 @@ export function createFlowEngine(config) {
902
976
  * run their compensation capability first (recovery CompensationState v1).
903
977
  */
904
978
  async function cancel(executionId, opts) {
905
- const rows = await storeFor(executionId)
979
+ const rows = await (await locateStore(executionId))
906
980
  .select()
907
981
  .from(flowExecutionsTable)
908
982
  .where(eq(flowExecutionsTable.id, executionId))
@@ -932,6 +1006,7 @@ export function createFlowEngine(config) {
932
1006
  stepHistory: history,
933
1007
  completedAt: new Date(),
934
1008
  });
1009
+ await closeSpineState(executionId, 'cancelled');
935
1010
  if (audit) {
936
1011
  await audit.record(`flow.cancelled.${row.flowName}`, {
937
1012
  executionId,
@@ -1030,7 +1105,7 @@ export function createFlowEngine(config) {
1030
1105
  * Get the current status of a flow execution.
1031
1106
  */
1032
1107
  async function status(executionId) {
1033
- const rows = await storeFor(executionId)
1108
+ const rows = await (await locateStore(executionId))
1034
1109
  .select()
1035
1110
  .from(flowExecutionsTable)
1036
1111
  .where(eq(flowExecutionsTable.id, executionId))
@@ -1146,12 +1221,22 @@ export function createFlowEngine(config) {
1146
1221
  FlowStatus.Waiting,
1147
1222
  ])));
1148
1223
  const rowsAffected = getRowsAffected(result);
1149
- if (rowsAffected > 0 && audit) {
1150
- await audit.record('flow.runner.finalized', {
1151
- executionId,
1152
- workerId,
1153
- error: message,
1154
- });
1224
+ if (rowsAffected > 0) {
1225
+ await closeSpineState(executionId, 'failed');
1226
+ // The run never reached its sync: the hint this worker holds is dropped here.
1227
+ const hint = claimedHints.get(executionId);
1228
+ const tenantDb = executionStores.get(executionId);
1229
+ if (hint && tenantDb) {
1230
+ await dropSpineHint(tenantDb, hint.dispatchId);
1231
+ claimedHints.delete(executionId);
1232
+ }
1233
+ if (audit) {
1234
+ await audit.record('flow.runner.finalized', {
1235
+ executionId,
1236
+ workerId,
1237
+ error: message,
1238
+ });
1239
+ }
1155
1240
  }
1156
1241
  return rowsAffected > 0;
1157
1242
  }
@@ -1168,6 +1253,44 @@ export function createFlowEngine(config) {
1168
1253
  const rowsAffected = getRowsAffected(result);
1169
1254
  return rowsAffected > 0;
1170
1255
  }
1256
+ /** Acknowledges a hint on the spine and closes the outbox row behind it on the plane. */
1257
+ async function dropSpineHint(tenantDb, dispatchId) {
1258
+ if (!spineDispatch)
1259
+ return;
1260
+ await ackSpineDispatch(spineDispatch.db, dispatchId);
1261
+ try {
1262
+ await markOutboxAckedBySpineRow(tenantDb, dispatchId, new Date().toISOString(), durableSchema);
1263
+ }
1264
+ catch (error) {
1265
+ logger?.warn('acknowledged spine hint left its outbox row open', {
1266
+ dispatchId,
1267
+ error: error instanceof Error ? error.message : String(error),
1268
+ });
1269
+ }
1270
+ }
1271
+ /**
1272
+ * A terminal transition taken outside the run loop — an operator cancel, the runner
1273
+ * finalising a run that threw — leaves the tenant's durable state open and, possibly, a
1274
+ * hint on the spine. Close the state so the next claim drops the hint. Rows on the engine's
1275
+ * own database (classic placement, control-plane flows) carry no durable state.
1276
+ */
1277
+ async function closeSpineState(executionId, status) {
1278
+ if (!spineDispatch)
1279
+ return;
1280
+ const store = await locateStore(executionId);
1281
+ if (store === spineDispatch.db)
1282
+ return;
1283
+ try {
1284
+ await markExecutionStateTerminal(store, { executionId, status, nowIso: new Date().toISOString() }, durableSchema);
1285
+ }
1286
+ catch (error) {
1287
+ logger?.warn('could not close the durable state of a finished execution', {
1288
+ executionId,
1289
+ status,
1290
+ error: error instanceof Error ? error.message : String(error),
1291
+ });
1292
+ }
1293
+ }
1171
1294
  async function syncSpineAfterRun(executionId, result) {
1172
1295
  if (!spineDispatch)
1173
1296
  return;
@@ -1201,7 +1324,7 @@ export function createFlowEngine(config) {
1201
1324
  sideEffectKey: `${executionId}:${hint.stepId}:${hint.expectedRevision}`,
1202
1325
  sideEffectLabel: `${executionId}:${hint.stepId}`,
1203
1326
  }, durableSchema);
1204
- await ackSpineDispatch(spineDispatch.db, hint.dispatchId);
1327
+ await dropSpineHint(tenantDb, hint.dispatchId);
1205
1328
  claimedHints.delete(executionId);
1206
1329
  if (cas !== 'ok' || terminal)
1207
1330
  return;
@@ -1210,11 +1333,15 @@ export function createFlowEngine(config) {
1210
1333
  return;
1211
1334
  const nextStep = flowRow.currentStep;
1212
1335
  const outbox = await insertDispatchOutbox(tenantDb, advanced, nextStep, nowIso, durableSchema);
1213
- await publishOutboxToSpine(tenantDb, spineDispatch.db, outbox, `disp:${executionId}:${advanced.revision}`, nowIso, durableSchema);
1336
+ // The worker that ran this step drains the next one without claiming again, so the hint
1337
+ // for it is born under this worker's lease; a worker that dies mid-drain lets it lapse
1338
+ // and another claims it. Keeping the hint lets the next sync advance the durable state.
1339
+ const next = await publishOutboxToSpine(tenantDb, spineDispatch.db, outbox, `disp:${executionId}:${advanced.revision}`, nowIso, durableSchema, { workerId, leaseExpiresAt: new Date(Date.now() + leaseDurationMs).toISOString() });
1340
+ claimedHints.set(executionId, next);
1214
1341
  }
1215
1342
  async function applyDefinitionStrategy(executionId, strategy) {
1216
1343
  assertSupportedDefinitionStrategy(strategy);
1217
- const rows = await storeFor(executionId)
1344
+ const rows = await (await locateStore(executionId))
1218
1345
  .select()
1219
1346
  .from(flowExecutionsTable)
1220
1347
  .where(eq(flowExecutionsTable.id, executionId))
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/flows/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/flows/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-service.d.ts","sourceRoot":"","sources":["../../src/flows/flow-service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkC,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAC3C,IAAI,EAAE,WAAW,EACjB,QAAQ,CAAC,EAAE,YAAY,GACtB,WAAW,CA2Db"}
1
+ {"version":3,"file":"flow-service.d.ts","sourceRoot":"","sources":["../../src/flows/flow-service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkC,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAC3C,IAAI,EAAE,WAAW,EACjB,QAAQ,CAAC,EAAE,YAAY,GACtB,WAAW,CA+Db"}
@@ -20,6 +20,9 @@ export function createFlowService(engine, auth, registry) {
20
20
  async cancel(executionId) {
21
21
  return engine.cancel(executionId);
22
22
  },
23
+ async terminate(executionId) {
24
+ return engine.terminate(executionId);
25
+ },
23
26
  async status(executionId) {
24
27
  return engine.status(executionId);
25
28
  },