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

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 (86) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/api/route-generator.js +6 -6
  4. package/dist/api/route-generator.js.map +1 -1
  5. package/dist/approvals/index.d.ts +1 -1
  6. package/dist/approvals/index.d.ts.map +1 -1
  7. package/dist/approvals/index.js.map +1 -1
  8. package/dist/approvals/memory-store.d.ts.map +1 -1
  9. package/dist/approvals/memory-store.js +22 -0
  10. package/dist/approvals/memory-store.js.map +1 -1
  11. package/dist/approvals/schema.d.ts +34 -0
  12. package/dist/approvals/schema.d.ts.map +1 -1
  13. package/dist/approvals/schema.js +2 -0
  14. package/dist/approvals/schema.js.map +1 -1
  15. package/dist/approvals/service.d.ts.map +1 -1
  16. package/dist/approvals/service.js +36 -0
  17. package/dist/approvals/service.js.map +1 -1
  18. package/dist/approvals/sql-store.d.ts.map +1 -1
  19. package/dist/approvals/sql-store.js +42 -1
  20. package/dist/approvals/sql-store.js.map +1 -1
  21. package/dist/approvals/types.d.ts +11 -0
  22. package/dist/approvals/types.d.ts.map +1 -1
  23. package/dist/approvals/types.js +1 -0
  24. package/dist/approvals/types.js.map +1 -1
  25. package/dist/audit/service.d.ts.map +1 -1
  26. package/dist/audit/service.js +16 -1
  27. package/dist/audit/service.js.map +1 -1
  28. package/dist/cli/commands/browser-extension.d.ts +16 -0
  29. package/dist/cli/commands/browser-extension.d.ts.map +1 -1
  30. package/dist/cli/commands/browser-extension.js +16 -5
  31. package/dist/cli/commands/browser-extension.js.map +1 -1
  32. package/dist/cli/commands/dev.d.ts.map +1 -1
  33. package/dist/cli/commands/dev.js +1 -0
  34. package/dist/cli/commands/dev.js.map +1 -1
  35. package/dist/cli/commands/migrate.d.ts.map +1 -1
  36. package/dist/cli/commands/migrate.js +5 -0
  37. package/dist/cli/commands/migrate.js.map +1 -1
  38. package/dist/cli/commands/start.d.ts.map +1 -1
  39. package/dist/cli/commands/start.js +1 -0
  40. package/dist/cli/commands/start.js.map +1 -1
  41. package/dist/durable/index.d.ts +2 -2
  42. package/dist/durable/index.d.ts.map +1 -1
  43. package/dist/durable/index.js +2 -2
  44. package/dist/durable/index.js.map +1 -1
  45. package/dist/durable/postgres-persist.d.ts +10 -2
  46. package/dist/durable/postgres-persist.d.ts.map +1 -1
  47. package/dist/durable/postgres-persist.js +89 -6
  48. package/dist/durable/postgres-persist.js.map +1 -1
  49. package/dist/durable/spine-claim.d.ts +11 -1
  50. package/dist/durable/spine-claim.d.ts.map +1 -1
  51. package/dist/durable/spine-claim.js +18 -1
  52. package/dist/durable/spine-claim.js.map +1 -1
  53. package/dist/events/dispatcher.d.ts +11 -0
  54. package/dist/events/dispatcher.d.ts.map +1 -1
  55. package/dist/events/dispatcher.js +7 -8
  56. package/dist/events/dispatcher.js.map +1 -1
  57. package/dist/execution/capability-executor.d.ts +2 -2
  58. package/dist/execution/capability-executor.d.ts.map +1 -1
  59. package/dist/execution/capability-executor.js +45 -7
  60. package/dist/execution/capability-executor.js.map +1 -1
  61. package/dist/flows/engine.d.ts +1 -1
  62. package/dist/flows/engine.d.ts.map +1 -1
  63. package/dist/flows/engine.js +70 -10
  64. package/dist/flows/engine.js.map +1 -1
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/runtime/bootstrap.d.ts +1 -1
  69. package/dist/runtime/bootstrap.d.ts.map +1 -1
  70. package/dist/runtime/load-extensions.d.ts.map +1 -1
  71. package/dist/runtime/load-extensions.js +8 -0
  72. package/dist/runtime/load-extensions.js.map +1 -1
  73. package/dist/runtime/start-worker-pool.d.ts.map +1 -1
  74. package/dist/runtime/start-worker-pool.js +1 -0
  75. package/dist/runtime/start-worker-pool.js.map +1 -1
  76. package/dist/server/bootstrap.d.ts +2 -0
  77. package/dist/server/bootstrap.d.ts.map +1 -1
  78. package/dist/server/bootstrap.js +21 -1
  79. package/dist/server/bootstrap.js.map +1 -1
  80. package/dist/worker/bootstrap.d.ts +2 -0
  81. package/dist/worker/bootstrap.d.ts.map +1 -1
  82. package/dist/worker/bootstrap.js +110 -85
  83. package/dist/worker/bootstrap.js.map +1 -1
  84. package/migrations/durable-tenant/0002_approval_cancellation.sql +3 -0
  85. package/migrations/durable-tenant/meta/_journal.json +7 -0
  86. package/package.json +2 -2
@@ -1,10 +1,10 @@
1
1
  // Tenant-local Protocol A writes against real Postgres. Same CAS + outbox
2
2
  // pairing as persist-before-ack.ts; used by the flow engine when spineDispatch
3
3
  // is configured.
4
- import { sql } from 'drizzle-orm';
5
4
  import { randomUUID } from 'node:crypto';
6
- import { PlumbusError } from '../errors/index.js';
5
+ import { sql } from 'drizzle-orm';
7
6
  import { FRAMEWORK_SCHEMA } from '../data/schema-generator.js';
7
+ import { PlumbusError } from '../errors/index.js';
8
8
  import { qualifyTable } from './apply-ddl.js';
9
9
  import { createOpaqueDispatchRecord } from './opaque-dispatch.js';
10
10
  import { upsertSpineDispatch } from './spine-claim.js';
@@ -146,6 +146,83 @@ export async function casAdvanceExecution(db, input, schemaName = FRAMEWORK_SCHE
146
146
  }
147
147
  return 'ok';
148
148
  }
149
+ /**
150
+ * Persist a retry delay on the tenant plane before the current spine hint is acknowledged.
151
+ * The execution-state CAS, retry wait, and future-dated outbox row are one transaction.
152
+ */
153
+ export async function persistRetryScheduleOnDb(db, input, nowIso, schemaName = FRAMEWORK_SCHEMA) {
154
+ const executionTable = qualifyTable(schemaName, 'execution_state');
155
+ const waitTable = qualifyTable(schemaName, 'wait_state');
156
+ const outboxTable = qualifyTable(schemaName, 'dispatch_outbox');
157
+ return db.transaction(async (tx) => {
158
+ const scoped = tx;
159
+ const current = await loadExecutionState(scoped, input.executionId, schemaName);
160
+ if (!current)
161
+ return { kind: 'missing' };
162
+ if (current.tenantEpoch !== input.tenantEpoch)
163
+ return { kind: 'epoch-mismatch' };
164
+ if (current.revision !== input.expectedRevision || current.terminal) {
165
+ return { kind: 'stale', execution: current };
166
+ }
167
+ const updated = asRows(await scoped.execute(sql `
168
+ UPDATE ${sql.raw(executionTable)}
169
+ SET revision = ${input.expectedRevision + 1},
170
+ status = ${DurableExecutionStatus.RetryScheduled},
171
+ current_step_id = ${input.stepId},
172
+ attempt = attempt + 1,
173
+ wake_at = ${input.notBefore}::timestamptz,
174
+ updated_at = ${nowIso}::timestamptz,
175
+ terminal = false
176
+ WHERE execution_id = ${input.executionId}
177
+ AND revision = ${input.expectedRevision}
178
+ AND tenant_epoch = ${input.tenantEpoch}
179
+ AND terminal = false
180
+ RETURNING *
181
+ `));
182
+ const nextRow = updated[0];
183
+ if (!nextRow) {
184
+ const latest = await loadExecutionState(scoped, input.executionId, schemaName);
185
+ return latest ? { kind: 'stale', execution: latest } : { kind: 'missing' };
186
+ }
187
+ const next = mapExecution(nextRow);
188
+ const waitStateId = `wait:${input.executionId}:${next.revision}`;
189
+ await scoped.execute(sql `
190
+ INSERT INTO ${sql.raw(waitTable)} (
191
+ wait_state_id, execution_id, step_id, kind, state,
192
+ created_at, updated_at, not_before
193
+ ) VALUES (
194
+ ${waitStateId}, ${input.executionId}, ${input.stepId}, 'retry', 'waiting',
195
+ ${nowIso}::timestamptz, ${nowIso}::timestamptz, ${input.notBefore}::timestamptz
196
+ )
197
+ ON CONFLICT (wait_state_id) DO NOTHING
198
+ `);
199
+ const outboxId = `outbox:${input.executionId}:${next.revision}:${randomUUID()}`;
200
+ const inserted = asRows(await scoped.execute(sql `
201
+ INSERT INTO ${sql.raw(outboxTable)} (
202
+ outbox_id, execution_id, state_ref_id, expected_revision, tenant_epoch,
203
+ tenant_ref, step_id, definition_id, definition_version, correlation_id,
204
+ work_class_id, priority_class_id, not_before, created_at, superseded
205
+ ) VALUES (
206
+ ${outboxId}, ${next.executionId}, ${next.stateRefId}, ${next.revision},
207
+ ${next.tenantEpoch}, ${next.tenantRef}, ${input.stepId}, ${next.definitionId},
208
+ ${next.definitionVersion}, ${next.correlationId}, ${DEFAULT_WORK_CLASS_ID},
209
+ ${DEFAULT_PRIORITY_CLASS_ID}, ${input.notBefore}::timestamptz,
210
+ ${nowIso}::timestamptz, false
211
+ )
212
+ RETURNING *
213
+ `));
214
+ const outboxRow = inserted[0];
215
+ if (!outboxRow) {
216
+ throw new PlumbusError('internal', 'Retry schedule wrote no dispatch outbox row');
217
+ }
218
+ return {
219
+ kind: 'committed',
220
+ execution: next,
221
+ outbox: mapOutbox(outboxRow),
222
+ sideEffectApplied: false,
223
+ };
224
+ });
225
+ }
149
226
  /**
150
227
  * Closes a tenant execution's durable state without a claimed hint — an operator cancel, or
151
228
  * any terminal transition taken outside the run loop. The spine hint, if one is still ready,
@@ -250,7 +327,13 @@ export async function markOutboxAckedBySpineRow(db, spineRowId, nowIso, schemaNa
250
327
  * worker — the one that will run the step in the same drain without a claim in between —
251
328
  * so no other worker claims it meanwhile; the lease lapses like any other if the worker dies.
252
329
  */
253
- export async function publishOutboxToSpine(tenantDb, spineDb, outbox, dispatchId, nowIso, schemaName = FRAMEWORK_SCHEMA, lease) {
330
+ export async function publishOutboxToSpine(tenantDb, spineDb, outbox, dispatchId, nowIso, schemaName = FRAMEWORK_SCHEMA, options) {
331
+ const leased = options !== undefined && 'workerId' in options;
332
+ const deliveryState = options !== undefined && 'deliveryState' in options
333
+ ? options.deliveryState
334
+ : leased
335
+ ? SpineDeliveryState.Leased
336
+ : SpineDeliveryState.Ready;
254
337
  const record = createOpaqueDispatchRecord({
255
338
  dispatchId,
256
339
  tenantRouteId: outbox.tenantRef,
@@ -263,10 +346,10 @@ export async function publishOutboxToSpine(tenantDb, spineDb, outbox, dispatchId
263
346
  tenantEpoch: outbox.tenantEpoch,
264
347
  workClassId: outbox.workClassId,
265
348
  priorityClassId: outbox.priorityClassId,
266
- deliveryState: lease ? SpineDeliveryState.Leased : SpineDeliveryState.Ready,
267
- attempt: lease ? 1 : 0,
349
+ deliveryState,
350
+ attempt: leased ? 1 : 0,
268
351
  notBefore: outbox.notBefore,
269
- ...(lease ? { leaseRefId: lease.workerId, leaseExpiresAt: lease.leaseExpiresAt } : {}),
352
+ ...(leased ? { leaseRefId: options.workerId, leaseExpiresAt: options.leaseExpiresAt } : {}),
270
353
  correlationId: outbox.correlationId,
271
354
  createdAt: nowIso,
272
355
  updatedAt: nowIso,
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-persist.js","sourceRoot":"","sources":["../../src/durable/postgres-persist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-persist.js","sourceRoot":"","sources":["../../src/durable/postgres-persist.ts"],"names":[],"mappings":"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"}
@@ -6,18 +6,28 @@ export interface SpineClaimOptions {
6
6
  leaseDurationMs: number;
7
7
  limit?: number;
8
8
  }
9
+ export interface SpineLeaseOptions {
10
+ dispatchId: string;
11
+ workerId: string;
12
+ leaseDurationMs: number;
13
+ }
9
14
  /**
10
15
  * Claim ready (or lease-expired) spine rows. Concurrent callers each get
11
16
  * different rows because of FOR UPDATE SKIP LOCKED.
12
17
  */
13
18
  export declare function claimSpineDispatch(db: PostgresJsDatabase, options: SpineClaimOptions): Promise<OpaqueDispatchRecord[]>;
19
+ /**
20
+ * Extend one leased spine hint only while the same worker still owns it.
21
+ * A zero-row result is lease loss, not a transient database failure.
22
+ */
23
+ export declare function extendSpineDispatchLease(db: PostgresJsDatabase, options: SpineLeaseOptions): Promise<boolean>;
14
24
  /**
15
25
  * The tenant route the spine last dispatched an execution for, whatever the hint's state.
16
26
  * A request-side engine that never claimed the execution uses this to find the plane its row
17
27
  * lives on before it reads, cancels or resumes it. Undefined when the spine holds no hint.
18
28
  */
19
29
  export declare function findSpineDispatchTenantRoute(db: PostgresJsDatabase, executionId: string): Promise<string | undefined>;
20
- export declare function ackSpineDispatch(db: PostgresJsDatabase, dispatchId: string): Promise<boolean>;
30
+ export declare function ackSpineDispatch(db: PostgresJsDatabase, dispatchId: string, workerId?: string): Promise<boolean>;
21
31
  /**
22
32
  * Parks a hint no claim can act on — its tenant route cannot be resolved claim after claim —
23
33
  * so it stops being re-leased on every poll. Left for an operator; never claimed again.
@@ -1 +1 @@
1
- {"version":3,"file":"spine-claim.d.ts","sourceRoot":"","sources":["../../src/durable/spine-claim.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAqB3E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CA0BlF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,kBAAkB,EACtB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA0BjC;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,EAAE,EAAE,kBAAkB,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,OAAO,CAAC,CAalB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,kBAAkB,EACtB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAgC/B"}
1
+ {"version":3,"file":"spine-claim.d.ts","sourceRoot":"","sources":["../../src/durable/spine-claim.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,KAAK,oBAAoB,EAAsB,MAAM,YAAY,CAAC;AAqB3E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CA0BlF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,kBAAkB,EACtB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA0BjC;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,kBAAkB,EACtB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,EAAE,EAAE,kBAAkB,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,OAAO,CAAC,CAalB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,kBAAkB,EACtB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAgC/B"}
@@ -82,6 +82,22 @@ export async function claimSpineDispatch(db, options) {
82
82
  `);
83
83
  return asRows(result).map(spineRowFromSql);
84
84
  }
85
+ /**
86
+ * Extend one leased spine hint only while the same worker still owns it.
87
+ * A zero-row result is lease loss, not a transient database failure.
88
+ */
89
+ export async function extendSpineDispatchLease(db, options) {
90
+ const leaseDurationInterval = `${options.leaseDurationMs} milliseconds`;
91
+ const result = await db.execute(sql `
92
+ UPDATE opaque_dispatch
93
+ SET lease_expires_at = now() + ${leaseDurationInterval}::interval,
94
+ updated_at = now()
95
+ WHERE dispatch_id = ${options.dispatchId}
96
+ AND delivery_state = ${SpineDeliveryState.Leased}
97
+ AND lease_ref_id = ${options.workerId}
98
+ `);
99
+ return getRowsAffected(result) > 0;
100
+ }
85
101
  /**
86
102
  * The tenant route the spine last dispatched an execution for, whatever the hint's state.
87
103
  * A request-side engine that never claimed the execution uses this to find the plane its row
@@ -98,7 +114,7 @@ export async function findSpineDispatchTenantRoute(db, executionId) {
98
114
  const row = asRows(result)[0];
99
115
  return row?.tenant_route_id == null ? undefined : String(row.tenant_route_id);
100
116
  }
101
- export async function ackSpineDispatch(db, dispatchId) {
117
+ export async function ackSpineDispatch(db, dispatchId, workerId) {
102
118
  const result = await db.execute(sql `
103
119
  UPDATE opaque_dispatch
104
120
  SET delivery_state = ${SpineDeliveryState.Acknowledged},
@@ -107,6 +123,7 @@ export async function ackSpineDispatch(db, dispatchId) {
107
123
  updated_at = now()
108
124
  WHERE dispatch_id = ${dispatchId}
109
125
  AND delivery_state <> ${SpineDeliveryState.Acknowledged}
126
+ ${workerId === undefined ? sql `` : sql `AND lease_ref_id = ${workerId}`}
110
127
  `);
111
128
  return getRowsAffected(result) > 0;
112
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spine-claim.js","sourceRoot":"","sources":["../../src/durable/spine-claim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spine-claim.js","sourceRoot":"","sources":["../../src/durable/spine-claim.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,17 @@ export interface DispatcherConfig {
32
32
  * the dispatcher only drains `event_outbox` (historical behavior).
33
33
  */
34
34
  spineDb?: PostgresJsDatabase;
35
+ /**
36
+ * The schema every plane's durable `dispatch_outbox` lives in — the same one the flow
37
+ * engine writes it under (`spineDispatch.coreSchema`, else `PLUMBUS_FRAMEWORK_SCHEMA`,
38
+ * else the framework default). Defaults the same way, so a host that configures nothing
39
+ * reads where it wrote. This is deliberately *not* the plane handle's `coreSchema`: that
40
+ * names the tenant's own entity tables, which a host may keep in `public` while the
41
+ * durable tables sit in the framework schema — reading `dispatch_outbox` from the
42
+ * handle's schema answered `relation "dispatch_outbox" does not exist` for every tenant
43
+ * on every poll.
44
+ */
45
+ frameworkSchema?: string;
35
46
  }
36
47
  /**
37
48
  * Creates a dispatcher that polls the outbox table for pending events,
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAQD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB;IAkO3D,mDAAmD;gBAhC9B,OAAO,CAAC,MAAM,CAAC;IAmCpC,wCAAwC;aAC/B,IAAI;IASb,uCAAuC;YAC/B,IAAI;wBAQK,OAAO;EAI3B"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAOD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB;IAiO3D,mDAAmD;gBAhC9B,OAAO,CAAC,MAAM,CAAC;IAmCpC,wCAAwC;aAC/B,IAAI;IASb,uCAAuC;YAC/B,IAAI;wBAQK,OAAO;EAI3B"}
@@ -1,4 +1,5 @@
1
1
  import { and, eq } from 'drizzle-orm';
2
+ import { FRAMEWORK_SCHEMA, resolveFrameworkSchema } from '../data/schema-generator.js';
2
3
  import { deadLetterTable, outboxTable } from './outbox.js';
3
4
  /**
4
5
  * Creates a dispatcher that polls the outbox table for pending events,
@@ -18,19 +19,17 @@ export function createOutboxDispatcher(config) {
18
19
  function computeBackoff(attempt) {
19
20
  return Math.min(backoffBaseMs * 2 ** attempt, backoffMaxMs);
20
21
  }
22
+ // Where `dispatch_outbox` is, on every plane: the engine's own resolution, mirrored.
23
+ const durableSchema = config.frameworkSchema ?? resolveFrameworkSchema() ?? FRAMEWORK_SCHEMA;
21
24
  async function resolveTargets() {
22
25
  if (!resolver || !listTenantRefs) {
23
- return [{ db, tenantRef: 'default', coreSchema: 'public' }];
26
+ return [{ db, tenantRef: 'default' }];
24
27
  }
25
28
  const refs = [...(await listTenantRefs())];
26
29
  const targets = [];
27
30
  for (const tenantRef of refs) {
28
31
  const handle = await resolver.resolve(tenantRef);
29
- targets.push({
30
- db: handle.db,
31
- tenantRef: handle.tenantRef,
32
- coreSchema: handle.coreSchema,
33
- });
32
+ targets.push({ db: handle.db, tenantRef: handle.tenantRef });
34
33
  }
35
34
  return targets;
36
35
  }
@@ -156,12 +155,12 @@ export function createOutboxDispatcher(config) {
156
155
  if (!spineDb)
157
156
  return 0;
158
157
  const { listUnpublishedOutbox, publishOutboxToSpine } = await import('../durable/postgres-persist.js');
159
- const unpublished = await listUnpublishedOutbox(target.db, target.coreSchema);
158
+ const unpublished = await listUnpublishedOutbox(target.db, durableSchema);
160
159
  let published = 0;
161
160
  for (const row of unpublished) {
162
161
  try {
163
162
  const dispatchId = row.spineRowId ?? `disp:${row.executionId}:${row.expectedRevision}`;
164
- await publishOutboxToSpine(target.db, spineDb, row, dispatchId, new Date().toISOString(), target.coreSchema);
163
+ await publishOutboxToSpine(target.db, spineDb, row, dispatchId, new Date().toISOString(), durableSchema);
165
164
  published += 1;
166
165
  }
167
166
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/events/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ export type CapabilityResult<T = unknown> = ExecutionResult<T> | ExecutionFailur
15
15
  export declare function authorizeCapability<TInput extends z.ZodTypeAny>(capability: CapabilityContract<TInput>, ctx: ExecutionContext, input: z.infer<TInput>): Promise<CapabilityResult<void>>;
16
16
  /**
17
17
  * Execute a capability through the full pipeline:
18
- * 1. Validate input
19
- * 2. Evaluate access policy
18
+ * 1. Evaluate static access policy
19
+ * 2. Validate input and run input-aware authorization
20
20
  * 3. Approval gate (consequential risk tier)
21
21
  * 4. Execute handler (with scoped ctx.capabilities)
22
22
  * 5. Validate output
@@ -1 +1 @@
1
- {"version":3,"file":"capability-executor.d.ts","sourceRoot":"","sources":["../../src/execution/capability-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiB3D,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;AAElF,iFAAiF;AACjF,wBAAsB,mBAAmB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EACnE,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACtC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAkBjC;AAyHD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EAAE,OAAO,SAAS,CAAC,CAAC,UAAU,EAC/F,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CA8G7C"}
1
+ {"version":3,"file":"capability-executor.d.ts","sourceRoot":"","sources":["../../src/execution/capability-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiB3D,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;AAiBlF,iFAAiF;AACjF,wBAAsB,mBAAmB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EACnE,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACtC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAgBjC;AAyHD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EAAE,OAAO,SAAS,CAAC,CAAC,UAAU,EAC/F,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CA2H7C"}
@@ -7,15 +7,26 @@ import { createDeferredJobDispatchService } from '../jobs/deferred-job-dispatch-
7
7
  import { createCapabilityInvokeService, createUnavailableCapabilityService, stripHandlerRuntime, } from './capability-invocation.js';
8
8
  import { evaluateApprovalGate } from '../approvals/gate.js';
9
9
  import { CapabilityOutputValidationError, shouldUseTransactionalOutbox, } from './transactional-outbox.js';
10
+ /** Static access is independent of input and must precede schema parsing. */
11
+ async function authorizeAccessPolicy(capability, ctx) {
12
+ const access = evaluateAccess(capability.access, ctx.auth);
13
+ if (access.allowed)
14
+ return { success: true, data: undefined };
15
+ const canonicalName = getCanonicalCapabilityName(capability);
16
+ const error = ctx.errors.forbidden(access.reason ?? 'Access denied', {
17
+ capability: canonicalName,
18
+ });
19
+ await recordAudit(ctx, capability, canonicalName, 'denied', { error });
20
+ return { success: false, error };
21
+ }
10
22
  /** Check current access without invoking a mutation or consuming an approval. */
11
23
  export async function authorizeCapability(capability, ctx, input) {
12
24
  const canonicalName = getCanonicalCapabilityName(capability);
13
25
  const contract = capability;
14
- const access = evaluateAccess(capability.access, ctx.auth);
26
+ const access = await authorizeAccessPolicy(contract, ctx);
27
+ if (!access.success)
28
+ return access;
15
29
  try {
16
- if (!access.allowed) {
17
- throw ctx.errors.forbidden(access.reason ?? 'Access denied', { capability: canonicalName });
18
- }
19
30
  // Authorization is a read-only phase, with no capability invocation runtime exposed.
20
31
  await capability.authorize?.(buildHandlerContext(ctx, contract, undefined), input);
21
32
  return { success: true, data: undefined };
@@ -115,8 +126,8 @@ async function handleExecutionError(err, ctx, capability, canonicalName) {
115
126
  }
116
127
  /**
117
128
  * Execute a capability through the full pipeline:
118
- * 1. Validate input
119
- * 2. Evaluate access policy
129
+ * 1. Evaluate static access policy
130
+ * 2. Validate input and run input-aware authorization
120
131
  * 3. Approval gate (consequential risk tier)
121
132
  * 4. Execute handler (with scoped ctx.capabilities)
122
133
  * 5. Validate output
@@ -124,12 +135,21 @@ async function handleExecutionError(err, ctx, capability, canonicalName) {
124
135
  */
125
136
  export async function executeCapability(capability, ctx, rawInput) {
126
137
  const canonicalName = getCanonicalCapabilityName(capability);
127
- // 1. Validate input against schema
138
+ const access = await authorizeAccessPolicy(capability, ctx);
139
+ if (!access.success)
140
+ return access;
141
+ // Parse only after static access has been granted. Input-aware hooks receive parsed input.
128
142
  const inputResult = capability.input.safeParse(rawInput);
129
143
  if (!inputResult.success) {
130
144
  const error = ctx.errors.validation('Invalid input', {
131
145
  capability: canonicalName,
132
146
  issues: inputResult.error.issues,
147
+ // The first failing field, as the wire exposes it (SAFE_ERROR_METADATA_KEYS carries
148
+ // 'field' and 'reason'): the caller marks the input and moves on instead of receiving a
149
+ // bare 'Invalid input' it cannot map anywhere. Custom messages ride
150
+ // along in `reason` when a check set one.
151
+ field: zodIssueField(inputResult.error.issues),
152
+ reason: zodIssueReason(inputResult.error.issues),
133
153
  });
134
154
  await recordAudit(ctx, capability, canonicalName, 'failure', { error });
135
155
  return { success: false, error };
@@ -229,6 +249,24 @@ export async function executeCapability(capability, ctx, rawInput) {
229
249
  }
230
250
  return { success: true, data: validatedOutput };
231
251
  }
252
+ /**
253
+ * The input boundary's answer to "where and why": the first issue's path as a dotted field
254
+ * name and its rule. Keys match the safe-metadata allow-list (`field`, `reason`), so the
255
+ * refusal reaches the caller with something a form can mark — a bare 'Invalid input' left
256
+ * validation refusals unable to identify the affected field.
257
+ */
258
+ function zodIssueField(issues) {
259
+ const first = issues[0];
260
+ if (!first)
261
+ return undefined;
262
+ const path = first.path ?? [];
263
+ return path.length > 0 ? path.map(String).join('.') : 'body';
264
+ }
265
+ function zodIssueReason(issues) {
266
+ const first = issues[0];
267
+ const paramReason = first?.params?.reason;
268
+ return typeof paramReason === 'string' && paramReason.length > 0 ? paramReason : undefined;
269
+ }
232
270
  async function recordAudit(ctx, capability, canonicalName, outcome, metadata) {
233
271
  if (capability.audit?.enabled === false)
234
272
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"capability-executor.js","sourceRoot":"","sources":["../../src/execution/capability-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-executor.js","sourceRoot":"","sources":["../../src/execution/capability-executor.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
2
2
  import type { ApprovalService } from '../approvals/types.js';
3
3
  import type { EventQueue } from '../events/queue.js';
4
+ import type { DataPlaneResolver } from '../tenancy/types.js';
4
5
  import type { AuditService } from '../types/audit.js';
5
6
  import type { DataService, EventService, ExecutionContext, FlowExecution, LoggerService } from '../types/context.js';
6
7
  import type { AuthContext } from '../types/security.js';
7
- import type { DataPlaneResolver } from '../tenancy/types.js';
8
8
  import type { CompiledFlowRegistry } from './compiled-registry.js';
9
9
  import { type DefinitionInFlightStrategy as DefinitionInFlightStrategyName } from './definition-strategy.js';
10
10
  import type { FlowRegistry } from './registry.js';
@@ -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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"}