pipework 0.88.1 → 0.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/async/jobs/errors.d.ts +25 -0
  3. package/dist/async/jobs/errors.d.ts.map +1 -1
  4. package/dist/async/jobs/errors.js +27 -0
  5. package/dist/async/jobs/errors.js.map +1 -1
  6. package/dist/async/jobs/execute.d.ts +1 -1
  7. package/dist/async/jobs/execute.d.ts.map +1 -1
  8. package/dist/async/jobs/index.d.ts +1 -1
  9. package/dist/async/jobs/index.d.ts.map +1 -1
  10. package/dist/async/jobs/index.js +1 -1
  11. package/dist/async/jobs/index.js.map +1 -1
  12. package/dist/async/jobs/namespace.d.ts +10 -0
  13. package/dist/async/jobs/namespace.d.ts.map +1 -1
  14. package/dist/async/jobs/namespace.js +5 -0
  15. package/dist/async/jobs/namespace.js.map +1 -1
  16. package/dist/async/jobs/queue.d.ts +7 -2
  17. package/dist/async/jobs/queue.d.ts.map +1 -1
  18. package/dist/async/jobs/queue.js +27 -6
  19. package/dist/async/jobs/queue.js.map +1 -1
  20. package/dist/async/steps/errors.d.ts +8 -0
  21. package/dist/async/steps/errors.d.ts.map +1 -0
  22. package/dist/async/steps/errors.js +12 -0
  23. package/dist/async/steps/errors.js.map +1 -0
  24. package/dist/async/steps/graph.d.ts.map +1 -1
  25. package/dist/async/steps/graph.js +119 -37
  26. package/dist/async/steps/graph.js.map +1 -1
  27. package/dist/async/steps/types.d.ts +19 -1
  28. package/dist/async/steps/types.d.ts.map +1 -1
  29. package/dist/core/surface/worker.d.ts.map +1 -1
  30. package/dist/core/surface/worker.js +9 -2
  31. package/dist/core/surface/worker.js.map +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/package.json +1 -1
@@ -12,7 +12,6 @@ import { randomUUID } from 'node:crypto';
12
12
  import { sql } from '../../data/db/sql.js';
13
13
  import { schema } from '../../data/schema/namespace.js';
14
14
  import { fitting } from '../../request/di/index.js';
15
- import { pipeRaw } from '../../data/db/db.js';
16
15
  import { getContext, runInContext } from '../../request/context/store.js';
17
16
  import { createJobContext } from '../../request/context/create.js';
18
17
  import { bindTransaction } from '../../request/context/guard.js';
@@ -20,6 +19,8 @@ import { propagateLocals } from '../../request/context/run-in-transaction.js';
20
19
  import { parentTraceRef } from '../../trace/entry/parent-trace.js';
21
20
  import { serializeForTrace } from '../../trace/capture/bounded-serializer.js';
22
21
  import { getBaseLogger } from '../../core/logging/index.js';
22
+ import { projectStepError } from '../../trace/runtime/step-error.js';
23
+ import { StepTimeoutError } from './errors.js';
23
24
  import { canonicalJson, inputHash, sha256Hex, valueHash } from './hash.js';
24
25
  import { SINGLE, registerStepTables } from './table.js';
25
26
  const RUN = 'pipework_step_run';
@@ -60,6 +61,12 @@ function stepDefinitionChecks(config) {
60
61
  if (def.workers !== undefined && (typeof def.workers !== 'string' || !CLASS_RE.test(def.workers))) {
61
62
  fail(graph, `step "${name}" names worker class "${String(def.workers)}", which must start with a letter and use letters, digits, "_" or "-".`);
62
63
  }
64
+ if (def.timeoutMs !== undefined) {
65
+ if (!Number.isInteger(def.timeoutMs) || def.timeoutMs <= 0)
66
+ fail(graph, `step "${name}" has timeoutMs ${String(def.timeoutMs)}, which must be a positive integer (milliseconds).`);
67
+ if (def.person === true)
68
+ fail(graph, `step "${name}" is a person step and cannot have timeoutMs: it holds no worker.`);
69
+ }
63
70
  if (def.person === true) {
64
71
  if (def.forEach !== undefined)
65
72
  fail(graph, `step "${name}" is a person step and cannot have forEach.`);
@@ -299,6 +306,23 @@ export function defineGraph(config) {
299
306
  error: null,
300
307
  });
301
308
  }
309
+ function stageTimeout(step, instance, timeoutMs, startedAt, error) {
310
+ const buffer = getContext()?.trace?.buffer;
311
+ if (buffer === undefined)
312
+ return;
313
+ const now = new Date();
314
+ buffer.stageExternal({
315
+ id: randomUUID(),
316
+ parentStepId: null,
317
+ flowStepRef: 'external:pipework.step.timeout',
318
+ status: 'error',
319
+ startedAt,
320
+ completedAt: now,
321
+ durationMicros: BigInt(Math.max(0, now.getTime() - startedAt.getTime())) * 1000n,
322
+ capturedInputs: [serializeForTrace({ step, instance: instance === SINGLE ? null : instance, timeoutMs })],
323
+ error: projectStepError(error),
324
+ });
325
+ }
302
326
  /** The state of one run during an `advance`: its tasks and the results they hold. */
303
327
  class RunState {
304
328
  run;
@@ -369,7 +393,7 @@ export function defineGraph(config) {
369
393
  const results = await loadResults(tx, tasks.flatMap(t => t.resultId === null ? [] : [t.resultId]));
370
394
  return new RunState(run, tasks, results, inputHashesOf(run.inputs));
371
395
  }
372
- function stepContext(state, def, task, fanOut, signal) {
396
+ function stepContext(state, def, task, fanOut, signal, io) {
373
397
  const g = state.gather(def);
374
398
  return {
375
399
  needs: g.values,
@@ -379,6 +403,8 @@ export function defineGraph(config) {
379
403
  inputs: g.inputs,
380
404
  runId: state.run.id,
381
405
  signal,
406
+ checkpoint: io.checkpoint,
407
+ withResult: io.withResult,
382
408
  };
383
409
  }
384
410
  async function setTask(tx, t, patch) {
@@ -423,7 +449,12 @@ export function defineGraph(config) {
423
449
  return;
424
450
  }
425
451
  if (def.person === true) {
426
- const accepted = def.autoAccept === undefined ? undefined : await def.autoAccept(stepContext(state, def, task, fanOut, signal));
452
+ const accepted = def.autoAccept === undefined ? undefined : await def.autoAccept(stepContext(state, def, task, fanOut, signal, {
453
+ checkpoint: (fn) => fn(tx),
454
+ withResult: () => {
455
+ throw new Error(`[pipework] ${graph}: step "${task.step}" is a person step; withResult is for steps that run (a person step records through decide).\n`);
456
+ },
457
+ }));
427
458
  if (accepted !== undefined) {
428
459
  const rec = await recordResult(tx, run, task.step, key, task.instance, toJson(accepted), false);
429
460
  state.results.set(rec.id, { value: rec.value, hash: rec.hash });
@@ -735,29 +766,40 @@ export function defineGraph(config) {
735
766
  await tx.execute(sql `DELETE FROM ${sql.raw(RESULT)} WHERE tenant_id = ${tenantId}::uuid`);
736
767
  });
737
768
  }
738
- /** The step job: runs one task's step, records its result and advances the run. */
739
- async function handleJob(tx, payload) {
769
+ /**
770
+ * The step job. The job holds no transaction while `run` waits: one short checkpoint
771
+ * checks the task and reads the run's state, `run` executes outside any transaction,
772
+ * and a second checkpoint records the result (with whatever `withResult` callbacks
773
+ * asked to write) and advances the run.
774
+ */
775
+ async function handleJob(checkpoint, payload) {
740
776
  if (payload.kind === 'finish') {
741
- await deliverDone(tx, payload.runId);
777
+ await checkpoint((tx) => deliverDone(tx, payload.runId));
742
778
  return { finished: payload.runId };
743
779
  }
744
- const live = await tx.execute(sql `
745
- SELECT 1 FROM ${sql.raw(TASK)} t JOIN ${sql.raw(RUN)} r ON r.id = t.run_id
746
- WHERE t.id = ${payload.taskId}::uuid AND t.run_id = ${payload.runId}::uuid AND t.status = 'queued' AND r.status = 'running'`);
747
- if (live.length === 0)
780
+ const loaded = await checkpoint(async (tx) => {
781
+ const live = await tx.execute(sql `
782
+ SELECT 1 FROM ${sql.raw(TASK)} t JOIN ${sql.raw(RUN)} r ON r.id = t.run_id
783
+ WHERE t.id = ${payload.taskId}::uuid AND t.run_id = ${payload.runId}::uuid AND t.status = 'queued' AND r.status = 'running'`);
784
+ if (live.length === 0)
785
+ return null;
786
+ // Read the run's state without the lock: the step may take a long time, and other steps of the run must proceed meanwhile.
787
+ const runRows = await tx.execute(sql `
788
+ SELECT id::text, tenant_id::text AS tenant, item, status, priority, targets, inputs FROM ${sql.raw(RUN)} WHERE id = ${payload.runId}::uuid`);
789
+ const r = runRows[0];
790
+ const run = {
791
+ id: r['id'], tenant: r['tenant'], item: r['item'], status: r['status'],
792
+ priority: r['priority'], targets: r['targets'], inputs: r['inputs'], parent: null,
793
+ };
794
+ return { run, state: await loadState(tx, run) };
795
+ });
796
+ if (loaded === null)
748
797
  return { skipped: payload.taskId };
749
- // Read the run's state without the lock: the step may take a long time, and other steps of the run must proceed meanwhile.
750
- const runRows = await tx.execute(sql `
751
- SELECT id::text, tenant_id::text AS tenant, item, status, priority, targets, inputs FROM ${sql.raw(RUN)} WHERE id = ${payload.runId}::uuid`);
752
- const r = runRows[0];
753
- const run = {
754
- id: r['id'], tenant: r['tenant'], item: r['item'], status: r['status'],
755
- priority: r['priority'], targets: r['targets'], inputs: r['inputs'], parent: null,
756
- };
757
- const state = await loadState(tx, run);
798
+ const { run, state } = loaded;
758
799
  const task = state.tasks.find(t => t.id === payload.taskId);
759
800
  const def = steps[task.step];
760
801
  const fanOut = isFanOut(task.step);
802
+ const resultWrites = [];
761
803
  const controller = new AbortController();
762
804
  let controllers = running.get(run.id);
763
805
  if (controllers === undefined) {
@@ -766,36 +808,76 @@ export function defineGraph(config) {
766
808
  }
767
809
  controllers.add(controller);
768
810
  let value;
811
+ let timer;
812
+ const startedAt = new Date();
769
813
  try {
770
- value = toJson(await def.run(stepContext(state, def, task, fanOut, controller.signal)));
814
+ const work = Promise.resolve(def.run(stepContext(state, def, task, fanOut, controller.signal, {
815
+ checkpoint,
816
+ withResult: (fn) => { resultWrites.push(fn); },
817
+ })));
818
+ if (def.timeoutMs === undefined) {
819
+ value = toJson(await work);
820
+ }
821
+ else {
822
+ const limit = def.timeoutMs;
823
+ const expired = new Promise((_, reject) => {
824
+ timer = setTimeout(() => {
825
+ const timeout = new StepTimeoutError(graph, task.step, limit);
826
+ controller.abort(timeout);
827
+ reject(timeout);
828
+ }, limit);
829
+ timer.unref();
830
+ });
831
+ work.catch(() => { });
832
+ try {
833
+ value = toJson(await Promise.race([work, expired]));
834
+ }
835
+ catch (err) {
836
+ if (err instanceof StepTimeoutError)
837
+ stageTimeout(task.step, task.instance, limit, startedAt, err);
838
+ throw err;
839
+ }
840
+ }
771
841
  }
772
842
  finally {
843
+ if (timer !== undefined)
844
+ clearTimeout(timer);
773
845
  controllers.delete(controller);
774
846
  if (controllers.size === 0)
775
847
  running.delete(run.id);
776
848
  }
777
- const locked = await lockRun(tx, run.id);
778
- if (locked === null)
779
- return { skipped: payload.taskId };
780
- const current = await tx.execute(sql `SELECT status FROM ${sql.raw(TASK)} WHERE id = ${task.id}::uuid FOR UPDATE`);
781
- const rec = await recordResult(tx, locked, task.step, task.inputKey, task.instance, value, false);
782
- if (current[0]?.['status'] !== 'queued' || locked.status !== 'running') {
783
- // Cancelled or failed while it ran: the result is kept for later requests, the run does not move.
784
- return { recorded: rec.id };
785
- }
786
- await tx.execute(sql `UPDATE ${sql.raw(TASK)} SET status = 'done', result_id = ${rec.id}::uuid WHERE id = ${task.id}::uuid`);
787
- const outcome = await advance(tx, run.id);
788
- if (outcome.completed)
789
- await deliverDone(tx, run.id);
790
- return { step: task.step, resultId: rec.id };
849
+ return checkpoint(async (tx) => {
850
+ const locked = await lockRun(tx, run.id);
851
+ if (locked === null)
852
+ return { skipped: payload.taskId };
853
+ const current = await tx.execute(sql `SELECT status FROM ${sql.raw(TASK)} WHERE id = ${task.id}::uuid FOR UPDATE`);
854
+ for (const write of resultWrites)
855
+ await write(tx);
856
+ const rec = await recordResult(tx, locked, task.step, task.inputKey, task.instance, value, false);
857
+ if (current[0]?.['status'] !== 'queued' || locked.status !== 'running') {
858
+ // Cancelled or failed while it ran: the result is kept for later requests, the run does not move.
859
+ return { recorded: rec.id };
860
+ }
861
+ await tx.execute(sql `UPDATE ${sql.raw(TASK)} SET status = 'done', result_id = ${rec.id}::uuid WHERE id = ${task.id}::uuid`);
862
+ const outcome = await advance(tx, run.id);
863
+ if (outcome.completed)
864
+ await deliverDone(tx, run.id);
865
+ return { step: task.step, resultId: rec.id };
866
+ });
791
867
  }
792
868
  function handlerFor(type, database) {
793
869
  const builder = database === undefined ? fitting.use() : fitting.use(database);
870
+ const key = database ?? 'db';
794
871
  return builder.job(type)
872
+ .transaction('manual')
795
873
  .input(schema.check.object({ kind: schema.check.string(), runId: schema.check.string(), taskId: schema.check.string() }))
796
- .fit(async ({ input }) => {
797
- const tx = pipeRaw(database);
798
- return asTenant(tx, getContext()?.tenant ?? null, () => handleJob(tx, input));
874
+ .fit(async ({ input, checkpoint }) => {
875
+ const tenant = getContext()?.tenant ?? null;
876
+ const atTenant = (fn) => checkpoint((dbs) => {
877
+ const tx = dbs[key];
878
+ return asTenant(tx, tenant, () => fn(tx));
879
+ });
880
+ return handleJob(atTenant, input);
799
881
  });
800
882
  }
801
883
  function handlers(database, selected) {
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/async/steps/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/async/steps/graph.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,21 @@ export interface GraphStepContext {
18
18
  readonly runId: string;
19
19
  /** Aborted when `cancel()` is called in this process while the step runs. */
20
20
  readonly signal: AbortSignal;
21
+ /**
22
+ * Runs `fn` in its own short transaction on the graph's database, as the run's tenant (RLS applies),
23
+ * and commits it on return. `run` itself holds no transaction: it is never open while the step waits.
24
+ * In `autoAccept`, `fn` runs in the transaction that advances the run.
25
+ */
26
+ checkpoint<R>(fn: (tx: DB) => Promise<R>): Promise<R>;
27
+ /**
28
+ * Registers `fn` to run, in registration order, in the transaction that records this step's result:
29
+ * the rows it writes and the result commit together or not at all. If `fn` throws, neither is kept,
30
+ * the attempt fails and the task stays queued. Not available in `autoAccept` (throws).
31
+ */
32
+ withResult(fn: (tx: DB) => Promise<void>): void;
21
33
  }
22
34
  /** What a `forEach` is handed: the step's needs, before any element exists. */
23
- export type GraphForEachContext = Omit<GraphStepContext, 'element' | 'index' | 'signal'>;
35
+ export type GraphForEachContext = Omit<GraphStepContext, 'element' | 'index' | 'signal' | 'checkpoint' | 'withResult'>;
24
36
  export interface GraphStepDefinition {
25
37
  /** Part of the content key: bump it and the step (and what depends on it) runs again. */
26
38
  readonly version: number;
@@ -36,6 +48,12 @@ export interface GraphStepDefinition {
36
48
  readonly autoAccept?: (ctx: GraphStepContext) => unknown;
37
49
  /** Attempts the step's job gets. Default: the queue's. */
38
50
  readonly maxAttempts?: number;
51
+ /**
52
+ * The longest one try of `run` may take, in milliseconds (a positive integer). A try that exceeds it is aborted
53
+ * through `signal` and counted as a failed attempt, so `maxAttempts` and dead-lettering apply; a `run` that
54
+ * ignores its signal still ends the try on time. The class's job timeout, if any, still applies on top.
55
+ */
56
+ readonly timeoutMs?: number;
39
57
  /**
40
58
  * The class of worker that takes this step: letters, digits, "_" and "-", starting with a letter. Default "default".
41
59
  * The step's job type is `pipework.step.<graph>` for the default class, `pipework.step.<graph>:<class>` otherwise.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/async/steps/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/async/steps/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/core/surface/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAiB,mBAAmB,EAA4B,MAAM,YAAY,CAAA;AAsB9G,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CA2V/E"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/core/surface/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAiB,mBAAmB,EAA4B,MAAM,YAAY,CAAA;AAuB9G,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CA+V/E"}
@@ -3,6 +3,7 @@ import { DEFAULT_DB } from '../../request/di/types.js';
3
3
  import { createQueue } from '../../async/jobs/queue.js';
4
4
  import { abortableDelay } from '../../async/jobs/abortable-delay.js';
5
5
  import { executeJob } from '../../async/jobs/execute.js';
6
+ import { JobLaterError, JobPermanentError } from '../../async/jobs/errors.js';
6
7
  import { executeWithTimeout } from './job-timeout.js';
7
8
  import { createJobContext } from '../../request/context/create.js';
8
9
  import { runInContext } from '../../request/context/store.js';
@@ -201,8 +202,14 @@ export function createWorkerSurface(config) {
201
202
  }
202
203
  catch (err) {
203
204
  // A job taken from this worker (handed back, claim lost) is not its failure to record.
204
- if (entry.endedBy === null)
205
- await queue.fail(db, claimed.id, err, claimed.claimToken);
205
+ if (entry.endedBy === null) {
206
+ if (err instanceof JobLaterError)
207
+ await queue.later(db, claimed.id, err, claimed.claimToken);
208
+ else if (err instanceof JobPermanentError)
209
+ await queue.fail(db, claimed.id, err, claimed.claimToken, { permanent: true });
210
+ else
211
+ await queue.fail(db, claimed.id, err, claimed.claimToken);
212
+ }
206
213
  }
207
214
  finally {
208
215
  clearInterval(heartbeatInterval);