@workflow/world-postgres 4.1.0-beta.46 → 4.1.0-beta.48
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.
- package/README.md +22 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -6
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +12 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/drizzle/index.d.ts +3 -3
- package/dist/drizzle/index.d.ts.map +1 -1
- package/dist/drizzle/index.js +3 -3
- package/dist/drizzle/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -16
- package/dist/index.js.map +1 -1
- package/dist/queue.d.ts +2 -2
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +17 -25
- package/dist/queue.js.map +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +128 -63
- package/dist/storage.js.map +1 -1
- package/dist/streamer.d.ts +9 -2
- package/dist/streamer.d.ts.map +1 -1
- package/dist/streamer.js +140 -9
- package/dist/streamer.js.map +1 -1
- package/package.json +8 -7
package/dist/storage.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HookNotFoundError, RunNotSupportedError,
|
|
1
|
+
import { EntityConflictError, HookNotFoundError, RunExpiredError, RunNotSupportedError, TooEarlyError, WorkflowWorldError, WorkflowRunNotFoundError, } from '@workflow/errors';
|
|
2
2
|
import { EventSchema, HookSchema, isLegacySpecVersion, requiresNewerWorld, SPEC_VERSION_CURRENT, StepSchema, stripEventDataRefs, validateUlidTimestamp, WorkflowRunSchema, } from '@workflow/world';
|
|
3
3
|
import { and, asc, desc, eq, gt, lt, notInArray, sql } from 'drizzle-orm';
|
|
4
4
|
import { monotonicFactory } from 'ulid';
|
|
@@ -73,7 +73,7 @@ export function createRunsStorage(drizzle) {
|
|
|
73
73
|
get: (async (id, params) => {
|
|
74
74
|
const [value] = await get.execute({ id });
|
|
75
75
|
if (!value) {
|
|
76
|
-
throw new
|
|
76
|
+
throw new WorkflowRunNotFoundError(id);
|
|
77
77
|
}
|
|
78
78
|
value.output ||= value.outputJson;
|
|
79
79
|
value.input ||= value.inputJson;
|
|
@@ -242,7 +242,7 @@ export function createEventsStorage(drizzle) {
|
|
|
242
242
|
if (data.eventType === 'run_created' && runId && runId !== '') {
|
|
243
243
|
const validationError = validateUlidTimestamp(effectiveRunId, 'wrun_');
|
|
244
244
|
if (validationError) {
|
|
245
|
-
throw new
|
|
245
|
+
throw new WorkflowWorldError(validationError);
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
// specVersion is always sent by the runtime, but we provide a fallback for safety
|
|
@@ -256,7 +256,11 @@ export function createEventsStorage(drizzle) {
|
|
|
256
256
|
// Helper to check if run is in terminal state
|
|
257
257
|
const isRunTerminal = (status) => ['completed', 'failed', 'cancelled'].includes(status);
|
|
258
258
|
// Helper to check if step is in terminal state
|
|
259
|
-
const isStepTerminal = (status) => ['completed', 'failed'].includes(status);
|
|
259
|
+
const isStepTerminal = (status) => ['completed', 'failed', 'cancelled'].includes(status);
|
|
260
|
+
// Terminal step statuses for use in SQL WHERE clauses (atomic guard).
|
|
261
|
+
// Must match the Vercel world's conditional expressions:
|
|
262
|
+
// ne(status, 'completed') AND ne(status, 'failed') AND ne(status, 'cancelled')
|
|
263
|
+
const terminalStepStatuses = ['completed', 'failed', 'cancelled'];
|
|
260
264
|
// ============================================================
|
|
261
265
|
// VALIDATION: Terminal state and event ordering checks
|
|
262
266
|
// ============================================================
|
|
@@ -328,13 +332,13 @@ export function createEventsStorage(drizzle) {
|
|
|
328
332
|
// Run state transitions are not allowed on terminal runs
|
|
329
333
|
if (runTerminalEvents.includes(data.eventType) ||
|
|
330
334
|
data.eventType === 'run_cancelled') {
|
|
331
|
-
throw new
|
|
335
|
+
throw new EntityConflictError(`Cannot transition run from terminal state "${currentRun.status}"`);
|
|
332
336
|
}
|
|
333
337
|
// Creating new entities on terminal runs is not allowed
|
|
334
338
|
if (data.eventType === 'step_created' ||
|
|
335
339
|
data.eventType === 'hook_created' ||
|
|
336
340
|
data.eventType === 'wait_created') {
|
|
337
|
-
throw new
|
|
341
|
+
throw new EntityConflictError(`Cannot create new entities on run in terminal state "${currentRun.status}"`);
|
|
338
342
|
}
|
|
339
343
|
}
|
|
340
344
|
// Step-related event validation (ordering and terminal state)
|
|
@@ -352,18 +356,16 @@ export function createEventsStorage(drizzle) {
|
|
|
352
356
|
validatedStep = existingStep ?? null;
|
|
353
357
|
// Event ordering: step must exist before these events
|
|
354
358
|
if (!validatedStep) {
|
|
355
|
-
throw new
|
|
356
|
-
status: 404,
|
|
357
|
-
});
|
|
359
|
+
throw new WorkflowWorldError(`Step "${data.correlationId}" not found`);
|
|
358
360
|
}
|
|
359
361
|
// Step terminal state validation
|
|
360
362
|
if (isStepTerminal(validatedStep.status)) {
|
|
361
|
-
throw new
|
|
363
|
+
throw new EntityConflictError(`Cannot modify step in terminal state "${validatedStep.status}"`);
|
|
362
364
|
}
|
|
363
365
|
// On terminal runs: only allow completing/failing in-progress steps
|
|
364
366
|
if (currentRun && isRunTerminal(currentRun.status)) {
|
|
365
367
|
if (validatedStep.status !== 'running') {
|
|
366
|
-
throw new
|
|
368
|
+
throw new RunExpiredError(`Cannot modify non-running step on run in terminal state "${currentRun.status}"`);
|
|
367
369
|
}
|
|
368
370
|
}
|
|
369
371
|
}
|
|
@@ -377,9 +379,7 @@ export function createEventsStorage(drizzle) {
|
|
|
377
379
|
.where(eq(Schema.hooks.hookId, data.correlationId))
|
|
378
380
|
.limit(1);
|
|
379
381
|
if (!existingHook) {
|
|
380
|
-
throw new
|
|
381
|
-
status: 404,
|
|
382
|
-
});
|
|
382
|
+
throw new HookNotFoundError(data.correlationId);
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
// ============================================================
|
|
@@ -421,7 +421,12 @@ export function createEventsStorage(drizzle) {
|
|
|
421
421
|
run = deserializeRunError(compact(runValue));
|
|
422
422
|
}
|
|
423
423
|
}
|
|
424
|
+
// Terminal run statuses for use in SQL WHERE clauses (atomic guard).
|
|
425
|
+
// Must match the Vercel world's conditional expressions:
|
|
426
|
+
// ne(status, 'completed') AND ne(status, 'failed') AND ne(status, 'cancelled')
|
|
427
|
+
const terminalRunStatuses = ['completed', 'failed', 'cancelled'];
|
|
424
428
|
// Handle run_completed event: update run status and cleanup hooks
|
|
429
|
+
// Uses conditional UPDATE to prevent completing an already-terminal run.
|
|
425
430
|
if (data.eventType === 'run_completed') {
|
|
426
431
|
const eventData = data.eventData;
|
|
427
432
|
const [runValue] = await drizzle
|
|
@@ -432,11 +437,22 @@ export function createEventsStorage(drizzle) {
|
|
|
432
437
|
completedAt: now,
|
|
433
438
|
updatedAt: now,
|
|
434
439
|
})
|
|
435
|
-
.where(eq(Schema.runs.runId, effectiveRunId))
|
|
440
|
+
.where(and(eq(Schema.runs.runId, effectiveRunId), notInArray(Schema.runs.status, terminalRunStatuses)))
|
|
436
441
|
.returning();
|
|
437
442
|
if (runValue) {
|
|
438
443
|
run = deserializeRunError(compact(runValue));
|
|
439
444
|
}
|
|
445
|
+
else {
|
|
446
|
+
const [existing] = await getRunForValidation.execute({
|
|
447
|
+
runId: effectiveRunId,
|
|
448
|
+
});
|
|
449
|
+
if (!existing) {
|
|
450
|
+
throw new WorkflowRunNotFoundError(effectiveRunId);
|
|
451
|
+
}
|
|
452
|
+
if (isRunTerminal(existing.status)) {
|
|
453
|
+
throw new EntityConflictError(`Cannot transition run from terminal state "${existing.status}"`);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
440
456
|
// Delete all hooks and waits for this run to allow token reuse
|
|
441
457
|
await Promise.all([
|
|
442
458
|
drizzle
|
|
@@ -448,6 +464,7 @@ export function createEventsStorage(drizzle) {
|
|
|
448
464
|
]);
|
|
449
465
|
}
|
|
450
466
|
// Handle run_failed event: update run status and cleanup hooks
|
|
467
|
+
// Uses conditional UPDATE to prevent failing an already-terminal run.
|
|
451
468
|
if (data.eventType === 'run_failed') {
|
|
452
469
|
const eventData = data.eventData;
|
|
453
470
|
const errorMessage = typeof eventData.error === 'string'
|
|
@@ -465,11 +482,22 @@ export function createEventsStorage(drizzle) {
|
|
|
465
482
|
completedAt: now,
|
|
466
483
|
updatedAt: now,
|
|
467
484
|
})
|
|
468
|
-
.where(eq(Schema.runs.runId, effectiveRunId))
|
|
485
|
+
.where(and(eq(Schema.runs.runId, effectiveRunId), notInArray(Schema.runs.status, terminalRunStatuses)))
|
|
469
486
|
.returning();
|
|
470
487
|
if (runValue) {
|
|
471
488
|
run = deserializeRunError(compact(runValue));
|
|
472
489
|
}
|
|
490
|
+
else {
|
|
491
|
+
const [existing] = await getRunForValidation.execute({
|
|
492
|
+
runId: effectiveRunId,
|
|
493
|
+
});
|
|
494
|
+
if (!existing) {
|
|
495
|
+
throw new WorkflowRunNotFoundError(effectiveRunId);
|
|
496
|
+
}
|
|
497
|
+
if (isRunTerminal(existing.status)) {
|
|
498
|
+
throw new EntityConflictError(`Cannot transition run from terminal state "${existing.status}"`);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
473
501
|
// Delete all hooks and waits for this run to allow token reuse
|
|
474
502
|
await Promise.all([
|
|
475
503
|
drizzle
|
|
@@ -481,6 +509,9 @@ export function createEventsStorage(drizzle) {
|
|
|
481
509
|
]);
|
|
482
510
|
}
|
|
483
511
|
// Handle run_cancelled event: update run status and cleanup hooks
|
|
512
|
+
// Uses conditional UPDATE to prevent cancelling an already-terminal run.
|
|
513
|
+
// Note: idempotent run_cancelled on already-cancelled runs is handled
|
|
514
|
+
// earlier in the pre-validation block (creates event and returns early).
|
|
484
515
|
if (data.eventType === 'run_cancelled') {
|
|
485
516
|
const [runValue] = await drizzle
|
|
486
517
|
.update(Schema.runs)
|
|
@@ -489,11 +520,22 @@ export function createEventsStorage(drizzle) {
|
|
|
489
520
|
completedAt: now,
|
|
490
521
|
updatedAt: now,
|
|
491
522
|
})
|
|
492
|
-
.where(eq(Schema.runs.runId, effectiveRunId))
|
|
523
|
+
.where(and(eq(Schema.runs.runId, effectiveRunId), notInArray(Schema.runs.status, terminalRunStatuses)))
|
|
493
524
|
.returning();
|
|
494
525
|
if (runValue) {
|
|
495
526
|
run = deserializeRunError(compact(runValue));
|
|
496
527
|
}
|
|
528
|
+
else {
|
|
529
|
+
const [existing] = await getRunForValidation.execute({
|
|
530
|
+
runId: effectiveRunId,
|
|
531
|
+
});
|
|
532
|
+
if (!existing) {
|
|
533
|
+
throw new WorkflowRunNotFoundError(effectiveRunId);
|
|
534
|
+
}
|
|
535
|
+
if (isRunTerminal(existing.status)) {
|
|
536
|
+
throw new EntityConflictError(`Cannot transition run from terminal state "${existing.status}"`);
|
|
537
|
+
}
|
|
538
|
+
}
|
|
497
539
|
// Delete all hooks and waits for this run to allow token reuse
|
|
498
540
|
await Promise.all([
|
|
499
541
|
drizzle
|
|
@@ -527,40 +569,53 @@ export function createEventsStorage(drizzle) {
|
|
|
527
569
|
}
|
|
528
570
|
// Handle step_started event: increment attempt, set status to 'running'
|
|
529
571
|
// Sets startedAt (maps to startedAt) only on first start
|
|
530
|
-
//
|
|
572
|
+
// Uses conditional UPDATE to prevent re-starting a step that has already
|
|
573
|
+
// reached a terminal state (completed/failed). Without this guard a
|
|
574
|
+
// concurrent step_started could revert a completed step back to 'running',
|
|
575
|
+
// allowing a duplicate execution that corrupts the event log.
|
|
531
576
|
if (data.eventType === 'step_started') {
|
|
532
577
|
// Check if retryAfter timestamp hasn't been reached yet
|
|
533
578
|
if (validatedStep?.retryAfter &&
|
|
534
579
|
validatedStep.retryAfter.getTime() > Date.now()) {
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
stepId: data.correlationId,
|
|
539
|
-
retryAfter: validatedStep.retryAfter.toISOString(),
|
|
540
|
-
};
|
|
541
|
-
throw err;
|
|
580
|
+
throw new TooEarlyError(`Cannot start step "${data.correlationId}": retryAfter timestamp has not been reached yet`, {
|
|
581
|
+
retryAfter: Math.ceil((validatedStep.retryAfter.getTime() - Date.now()) / 1000),
|
|
582
|
+
});
|
|
542
583
|
}
|
|
543
|
-
const isFirstStart = !validatedStep?.startedAt;
|
|
544
|
-
const hadRetryAfter = !!validatedStep?.retryAfter;
|
|
545
584
|
const [stepValue] = await drizzle
|
|
546
585
|
.update(Schema.steps)
|
|
547
586
|
.set({
|
|
548
587
|
status: 'running',
|
|
549
588
|
// Increment attempt counter using SQL
|
|
550
589
|
attempt: sql `${Schema.steps.attempt} + 1`,
|
|
551
|
-
// Only set startedAt on first start
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
590
|
+
// Only set startedAt on first start — use COALESCE so concurrent
|
|
591
|
+
// step_started calls can't clobber the original timestamp.
|
|
592
|
+
startedAt: sql `COALESCE(${Schema.steps.startedAt}, ${now.toISOString()})`,
|
|
593
|
+
// Always clear retryAfter now that the step has started
|
|
594
|
+
retryAfter: null,
|
|
555
595
|
})
|
|
556
|
-
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId)
|
|
596
|
+
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId),
|
|
597
|
+
// Only update if not already in terminal state (prevents TOCTOU race)
|
|
598
|
+
notInArray(Schema.steps.status, terminalStepStatuses)))
|
|
557
599
|
.returning();
|
|
558
600
|
if (stepValue) {
|
|
559
601
|
step = deserializeStepError(compact(stepValue));
|
|
560
602
|
}
|
|
603
|
+
else {
|
|
604
|
+
// Step not updated - check if it exists and why
|
|
605
|
+
const [existing] = await getStepForValidation.execute({
|
|
606
|
+
runId: effectiveRunId,
|
|
607
|
+
stepId: data.correlationId,
|
|
608
|
+
});
|
|
609
|
+
if (!existing) {
|
|
610
|
+
throw new WorkflowWorldError(`Step "${data.correlationId}" not found`);
|
|
611
|
+
}
|
|
612
|
+
if (isStepTerminal(existing.status)) {
|
|
613
|
+
throw new EntityConflictError(`Cannot modify step in terminal state "${existing.status}"`);
|
|
614
|
+
}
|
|
615
|
+
}
|
|
561
616
|
}
|
|
562
617
|
// Handle step_completed event: update step status
|
|
563
|
-
// Uses conditional UPDATE to
|
|
618
|
+
// Uses conditional UPDATE to prevent completing an already-terminal step.
|
|
564
619
|
if (data.eventType === 'step_completed') {
|
|
565
620
|
const eventData = data.eventData;
|
|
566
621
|
const [stepValue] = await drizzle
|
|
@@ -570,9 +625,7 @@ export function createEventsStorage(drizzle) {
|
|
|
570
625
|
output: eventData.result,
|
|
571
626
|
completedAt: now,
|
|
572
627
|
})
|
|
573
|
-
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId),
|
|
574
|
-
// Only update if not already in terminal state (validation in WHERE clause)
|
|
575
|
-
notInArray(Schema.steps.status, ['completed', 'failed'])))
|
|
628
|
+
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId), notInArray(Schema.steps.status, terminalStepStatuses)))
|
|
576
629
|
.returning();
|
|
577
630
|
if (stepValue) {
|
|
578
631
|
step = deserializeStepError(compact(stepValue));
|
|
@@ -584,15 +637,15 @@ export function createEventsStorage(drizzle) {
|
|
|
584
637
|
stepId: data.correlationId,
|
|
585
638
|
});
|
|
586
639
|
if (!existing) {
|
|
587
|
-
throw new
|
|
640
|
+
throw new WorkflowWorldError(`Step "${data.correlationId}" not found`);
|
|
588
641
|
}
|
|
589
|
-
if (
|
|
590
|
-
throw new
|
|
642
|
+
if (isStepTerminal(existing.status)) {
|
|
643
|
+
throw new EntityConflictError(`Cannot modify step in terminal state "${existing.status}"`);
|
|
591
644
|
}
|
|
592
645
|
}
|
|
593
646
|
}
|
|
594
647
|
// Handle step_failed event: terminal state with error
|
|
595
|
-
// Uses conditional UPDATE to
|
|
648
|
+
// Uses conditional UPDATE to prevent failing an already-terminal step.
|
|
596
649
|
if (data.eventType === 'step_failed') {
|
|
597
650
|
const eventData = data.eventData;
|
|
598
651
|
const errorMessage = typeof eventData.error === 'string'
|
|
@@ -608,9 +661,7 @@ export function createEventsStorage(drizzle) {
|
|
|
608
661
|
},
|
|
609
662
|
completedAt: now,
|
|
610
663
|
})
|
|
611
|
-
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId),
|
|
612
|
-
// Only update if not already in terminal state (validation in WHERE clause)
|
|
613
|
-
notInArray(Schema.steps.status, ['completed', 'failed'])))
|
|
664
|
+
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId), notInArray(Schema.steps.status, terminalStepStatuses)))
|
|
614
665
|
.returning();
|
|
615
666
|
if (stepValue) {
|
|
616
667
|
step = deserializeStepError(compact(stepValue));
|
|
@@ -622,14 +673,15 @@ export function createEventsStorage(drizzle) {
|
|
|
622
673
|
stepId: data.correlationId,
|
|
623
674
|
});
|
|
624
675
|
if (!existing) {
|
|
625
|
-
throw new
|
|
676
|
+
throw new WorkflowWorldError(`Step "${data.correlationId}" not found`);
|
|
626
677
|
}
|
|
627
|
-
if (
|
|
628
|
-
throw new
|
|
678
|
+
if (isStepTerminal(existing.status)) {
|
|
679
|
+
throw new EntityConflictError(`Cannot modify step in terminal state "${existing.status}"`);
|
|
629
680
|
}
|
|
630
681
|
}
|
|
631
682
|
}
|
|
632
683
|
// Handle step_retrying event: sets status back to 'pending', records error
|
|
684
|
+
// Uses conditional UPDATE to prevent retrying an already-terminal step.
|
|
633
685
|
if (data.eventType === 'step_retrying') {
|
|
634
686
|
const eventData = data.eventData;
|
|
635
687
|
const errorMessage = typeof eventData.error === 'string'
|
|
@@ -645,11 +697,24 @@ export function createEventsStorage(drizzle) {
|
|
|
645
697
|
},
|
|
646
698
|
retryAfter: eventData.retryAfter,
|
|
647
699
|
})
|
|
648
|
-
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId)))
|
|
700
|
+
.where(and(eq(Schema.steps.runId, effectiveRunId), eq(Schema.steps.stepId, data.correlationId), notInArray(Schema.steps.status, terminalStepStatuses)))
|
|
649
701
|
.returning();
|
|
650
702
|
if (stepValue) {
|
|
651
703
|
step = deserializeStepError(compact(stepValue));
|
|
652
704
|
}
|
|
705
|
+
else {
|
|
706
|
+
// Step not updated - check if it exists and why
|
|
707
|
+
const [existing] = await getStepForValidation.execute({
|
|
708
|
+
runId: effectiveRunId,
|
|
709
|
+
stepId: data.correlationId,
|
|
710
|
+
});
|
|
711
|
+
if (!existing) {
|
|
712
|
+
throw new WorkflowWorldError(`Step "${data.correlationId}" not found`);
|
|
713
|
+
}
|
|
714
|
+
if (isStepTerminal(existing.status)) {
|
|
715
|
+
throw new EntityConflictError(`Cannot modify step in terminal state "${existing.status}"`);
|
|
716
|
+
}
|
|
717
|
+
}
|
|
653
718
|
}
|
|
654
719
|
// Handle hook_created event: create hook entity
|
|
655
720
|
// Uses prepared statement for token uniqueness check (performance optimization)
|
|
@@ -677,7 +742,7 @@ export function createEventsStorage(drizzle) {
|
|
|
677
742
|
})
|
|
678
743
|
.returning({ createdAt: events.createdAt });
|
|
679
744
|
if (!conflictValue) {
|
|
680
|
-
throw new
|
|
745
|
+
throw new EntityConflictError(`Event ${eventId} could not be created`);
|
|
681
746
|
}
|
|
682
747
|
const conflictResult = {
|
|
683
748
|
eventType: 'hook_conflict',
|
|
@@ -717,11 +782,17 @@ export function createEventsStorage(drizzle) {
|
|
|
717
782
|
hook = HookSchema.parse(compact(hookValue));
|
|
718
783
|
}
|
|
719
784
|
}
|
|
720
|
-
// Handle hook_disposed event: delete hook entity
|
|
785
|
+
// Handle hook_disposed event: delete hook entity atomically.
|
|
786
|
+
// Uses DELETE ... RETURNING to ensure only one concurrent caller
|
|
787
|
+
// succeeds — if no rows are returned, the hook was already disposed.
|
|
721
788
|
if (data.eventType === 'hook_disposed' && data.correlationId) {
|
|
722
|
-
await drizzle
|
|
789
|
+
const [deleted] = await drizzle
|
|
723
790
|
.delete(Schema.hooks)
|
|
724
|
-
.where(eq(Schema.hooks.hookId, data.correlationId))
|
|
791
|
+
.where(eq(Schema.hooks.hookId, data.correlationId))
|
|
792
|
+
.returning({ hookId: Schema.hooks.hookId });
|
|
793
|
+
if (!deleted) {
|
|
794
|
+
throw new EntityConflictError(`Hook "${data.correlationId}" already disposed`);
|
|
795
|
+
}
|
|
725
796
|
}
|
|
726
797
|
// Handle wait_created event: create wait entity
|
|
727
798
|
if (data.eventType === 'wait_created') {
|
|
@@ -751,7 +822,7 @@ export function createEventsStorage(drizzle) {
|
|
|
751
822
|
};
|
|
752
823
|
}
|
|
753
824
|
else {
|
|
754
|
-
throw new
|
|
825
|
+
throw new EntityConflictError(`Wait "${data.correlationId}" already exists`);
|
|
755
826
|
}
|
|
756
827
|
}
|
|
757
828
|
// Handle wait_completed event: transition wait to 'completed'
|
|
@@ -784,10 +855,10 @@ export function createEventsStorage(drizzle) {
|
|
|
784
855
|
waitId,
|
|
785
856
|
});
|
|
786
857
|
if (!existing) {
|
|
787
|
-
throw new
|
|
858
|
+
throw new WorkflowWorldError(`Wait "${data.correlationId}" not found`);
|
|
788
859
|
}
|
|
789
860
|
if (existing.status === 'completed') {
|
|
790
|
-
throw new
|
|
861
|
+
throw new EntityConflictError(`Wait "${data.correlationId}" already completed`);
|
|
791
862
|
}
|
|
792
863
|
}
|
|
793
864
|
}
|
|
@@ -803,9 +874,7 @@ export function createEventsStorage(drizzle) {
|
|
|
803
874
|
})
|
|
804
875
|
.returning({ createdAt: events.createdAt });
|
|
805
876
|
if (!value) {
|
|
806
|
-
throw new
|
|
807
|
-
status: 409,
|
|
808
|
-
});
|
|
877
|
+
throw new EntityConflictError(`Event ${eventId} could not be created`);
|
|
809
878
|
}
|
|
810
879
|
const result = { ...data, ...value, runId: effectiveRunId, eventId };
|
|
811
880
|
const parsed = EventSchema.parse(result);
|
|
@@ -825,9 +894,7 @@ export function createEventsStorage(drizzle) {
|
|
|
825
894
|
.where(and(eq(events.runId, runId), eq(events.eventId, eventId)))
|
|
826
895
|
.limit(1);
|
|
827
896
|
if (!value) {
|
|
828
|
-
throw new
|
|
829
|
-
status: 404,
|
|
830
|
-
});
|
|
897
|
+
throw new WorkflowWorldError(`Event not found: ${eventId}`);
|
|
831
898
|
}
|
|
832
899
|
value.eventData ||= value.eventDataJson;
|
|
833
900
|
const parsed = EventSchema.parse(compact(value));
|
|
@@ -957,9 +1024,7 @@ export function createStepsStorage(drizzle) {
|
|
|
957
1024
|
.where(whereClause)
|
|
958
1025
|
.limit(1);
|
|
959
1026
|
if (!value) {
|
|
960
|
-
throw new
|
|
961
|
-
status: 404,
|
|
962
|
-
});
|
|
1027
|
+
throw new WorkflowWorldError(`Step not found: ${stepId}`);
|
|
963
1028
|
}
|
|
964
1029
|
value.output ||= value.outputJson;
|
|
965
1030
|
value.input ||= value.inputJson;
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/streamer.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import type { Streamer } from '@workflow/world';
|
|
2
|
-
import type
|
|
2
|
+
import { type Pool } from 'pg';
|
|
3
3
|
import { type Drizzle } from './drizzle/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Subscribe to a PostgreSQL NOTIFY channel using a dedicated client created
|
|
6
|
+
* from the pool's connection options. `channel` must be a trusted identifier.
|
|
7
|
+
*/
|
|
8
|
+
export declare const listenChannel: (pool: Pool, channel: string, onPayload: (payload: string) => Promise<void>) => Promise<{
|
|
9
|
+
close: () => Promise<void>;
|
|
10
|
+
}>;
|
|
4
11
|
export type PostgresStreamer = Streamer & {
|
|
5
12
|
/** Unlisten from the LISTEN subscription and release resources. */
|
|
6
13
|
close(): Promise<void>;
|
|
7
14
|
};
|
|
8
|
-
export declare function createStreamer(
|
|
15
|
+
export declare function createStreamer(pool: Pool, drizzle: Drizzle): PostgresStreamer;
|
|
9
16
|
//# sourceMappingURL=streamer.d.ts.map
|
package/dist/streamer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../src/streamer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,QAAQ,EAET,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC;AAGvC,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,oBAAoB,CAAC;AAkC1D;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,EACV,SAAS,MAAM,EACf,WAAW,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAC5C,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA2BxC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,mEAAmE;IACnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAsW7E"}
|