@dudousxd/nestjs-durable-dashboard 0.12.0 → 0.15.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.
@@ -26,6 +26,8 @@ export interface StepEvent {
26
26
  name?: string;
27
27
  /** For a sub-step: its outcome. */
28
28
  status?: 'ok' | 'failed' | 'skipped';
29
+ /** For a log line emitted inside a sub-process: that sub-process's name, so logs group under it. */
30
+ process?: string;
29
31
  data?: unknown;
30
32
  }
31
33
  export interface StepCheckpoint {
@@ -55,15 +57,19 @@ export interface StepCheckpoint {
55
57
  export interface RunDetail {
56
58
  run: WorkflowRun;
57
59
  timeline: StepCheckpoint[];
60
+ /** Ids of runs this run spawned (ctx.child / ctx.startChild) — the parent→children tree. */
61
+ children?: string[];
58
62
  }
59
63
  export interface EngineEvent {
60
- type: 'run.started' | 'run.completed' | 'run.failed' | 'run.suspended' | 'step.started' | 'step.completed' | 'step.failed';
64
+ type: 'run.started' | 'run.completed' | 'run.failed' | 'run.suspended' | 'step.started' | 'step.completed' | 'step.failed' | 'step.progress';
61
65
  runId: string;
62
66
  workflow?: string;
63
67
  seq?: number;
64
68
  name?: string;
65
69
  kind?: StepKind;
66
70
  durationMs?: number;
71
+ /** The live step event carried by a `step.progress` (a running step's just-emitted log/sub-process). */
72
+ event?: StepEvent;
67
73
  at: string;
68
74
  }
69
75
  declare global {
@@ -78,6 +84,10 @@ export declare const durableClient: {
78
84
  runs(status?: RunStatus, tag?: string, attr?: string[]): Promise<WorkflowRun[]>;
79
85
  run(id: string): Promise<RunDetail>;
80
86
  retry(id: string): Promise<WorkflowRun>;
87
+ /** Fix-and-replay: re-run a dead/failed run with a corrected input. Returns the new run's id. */
88
+ retryWithInput(id: string, input: unknown): Promise<{
89
+ runId: string;
90
+ }>;
81
91
  /** Bulk retry/cancel every run matching a filter. Returns how many matched + were acted on. */
82
92
  bulk(action: "retry" | "cancel", filter: {
83
93
  status?: RunStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,SAAS,GACT,WAAW,GACX,WAAW,GACX,QAAQ,GACR,WAAW,GACX,MAAM,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,uFAAuF;IACvF,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,oGAAoG;IACpG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EACA,aAAa,GACb,eAAe,GACf,YAAY,GACZ,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,+FAA+F;QAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qGAAqG;QACrG,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;CACF;AAcD,eAAO,MAAM,aAAa;kBACV,SAAS,QAAQ,MAAM,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YASvE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;cAGzB,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAGvC,+FAA+F;iBAErF,OAAO,GAAG,QAAQ,UAClB;QAAE,MAAM,CAAC,EAAE,SAAS,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC5D,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;eAUrC,MAAM,SAAS;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC;iBAI5D,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAG1C;;;OAGG;kBACW,MAAM,WAAW,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI;CAWzE,CAAC"}
1
+ {"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,14 @@ export const durableClient = {
29
29
  retry(id) {
30
30
  return http(`/runs/${encodeURIComponent(id)}/retry`, { method: 'POST' });
31
31
  },
32
+ /** Fix-and-replay: re-run a dead/failed run with a corrected input. Returns the new run's id. */
33
+ retryWithInput(id, input) {
34
+ return http(`/runs/${encodeURIComponent(id)}/retry-with-input`, {
35
+ method: 'POST',
36
+ headers: { 'Content-Type': 'application/json' },
37
+ body: JSON.stringify({ input }),
38
+ });
39
+ },
32
40
  /** Bulk retry/cancel every run matching a filter. Returns how many matched + were acted on. */
33
41
  bulk(action, filter) {
34
42
  const q = new URLSearchParams();
@@ -1 +1 @@
1
- {"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export interface RunDetail {
4
4
  run: WorkflowRun;
5
5
  /** Steps in execution order — the end-to-end timeline (local + remote). */
6
6
  timeline: StepCheckpoint[];
7
+ /** Ids of runs this run spawned (ctx.child / ctx.startChild) — the parent→children tree. */
8
+ children: string[];
7
9
  }
8
10
  /** Read-model and actions backing the control-plane UI. */
9
11
  export declare class DashboardService {
@@ -12,12 +14,21 @@ export declare class DashboardService {
12
14
  /** Prometheus counters accumulated from engine events since boot (per process). */
13
15
  private readonly metricsCollector;
14
16
  constructor(store: StateStore, engine: WorkflowEngine);
15
- /** Prometheus-text metrics (runs/steps by outcome, per-workflow counts) for a `/metrics` scrape. */
16
- metrics(): string;
17
+ /**
18
+ * Prometheus-text metrics for a `/metrics` scrape: the event-counters (runs/steps by outcome,
19
+ * per-workflow counts) plus live **backlog gauges** queried at scrape time — `durable_pending_runs`
20
+ * (the dispatch backlog: the key health signal of the dispatch model) and `durable_dead_runs` (DLQ
21
+ * size). Capped per status so the scrape can't load an unbounded result set.
22
+ */
23
+ metrics(): Promise<string>;
17
24
  listRuns(query: RunQuery): Promise<WorkflowRun[]>;
18
25
  getRunDetail(runId: string): Promise<RunDetail | null>;
26
+ /** Fix-and-replay a dead/failed run with a corrected input — a fresh linked run. Returns its id. */
27
+ retryWithInput(runId: string, input: unknown): Promise<{
28
+ runId: string;
29
+ } | null>;
19
30
  /** Re-run a failed/incomplete run; completed steps replay from their checkpoints. */
20
- retry(runId: string): Promise<RunResult>;
31
+ retry(runId: string): Promise<RunResult | null>;
21
32
  cancel(runId: string, opts?: {
22
33
  compensate?: boolean;
23
34
  }): Promise<RunResult | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,2DAA2D;AAC3D,qBACa,gBAAgB;IAKJ,OAAO,CAAC,QAAQ,CAAC,KAAK;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAGZ,KAAK,EAAE,UAAU,EACtC,MAAM,EAAE,cAAc;IAKzC,oGAAoG;IACpG,OAAO,IAAI,MAAM;IAIjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI3C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAO5D,qFAAqF;IACrF,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIxC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIjF;;;;OAIG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC,EACpE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAehD,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIlD;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIvE,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItD,mGAAmG;IACnG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAIxE;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CAQ5D"}
1
+ {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2DAA2D;AAC3D,qBACa,gBAAgB;IAKJ,OAAO,CAAC,QAAQ,CAAC,KAAK;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAGZ,KAAK,EAAE,UAAU,EACtC,MAAM,EAAE,cAAc;IAKzC;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBhC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI3C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAgB5D,oGAAoG;IACpG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAIhF,qFAAqF;IACrF,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAM/C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIjF;;;;OAIG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC,EACpE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAehD,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIlD;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIvE,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItD,mGAAmG;IACnG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAIxE;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CAQ5D"}
@@ -24,9 +24,28 @@ let DashboardService = class DashboardService {
24
24
  this.engine = engine;
25
25
  this.metricsCollector = collectMetrics(this.engine);
26
26
  }
27
- /** Prometheus-text metrics (runs/steps by outcome, per-workflow counts) for a `/metrics` scrape. */
28
- metrics() {
29
- return this.metricsCollector.prometheus();
27
+ /**
28
+ * Prometheus-text metrics for a `/metrics` scrape: the event-counters (runs/steps by outcome,
29
+ * per-workflow counts) plus live **backlog gauges** queried at scrape time — `durable_pending_runs`
30
+ * (the dispatch backlog: the key health signal of the dispatch model) and `durable_dead_runs` (DLQ
31
+ * size). Capped per status so the scrape can't load an unbounded result set.
32
+ */
33
+ async metrics() {
34
+ const cap = 10_000;
35
+ const [pending, running, dead] = await Promise.all([
36
+ this.store.listRuns({ status: 'pending', limit: cap }),
37
+ this.store.listRuns({ status: 'running', limit: cap }),
38
+ this.store.listRuns({ status: 'dead', limit: cap }),
39
+ ]);
40
+ const gauges = [
41
+ '# TYPE durable_pending_runs gauge',
42
+ `durable_pending_runs ${pending.length}`,
43
+ '# TYPE durable_running_runs gauge',
44
+ `durable_running_runs ${running.length}`,
45
+ '# TYPE durable_dead_runs gauge',
46
+ `durable_dead_runs ${dead.length}`,
47
+ ].join('\n');
48
+ return `${this.metricsCollector.prometheus()}${gauges}\n`;
30
49
  }
31
50
  listRuns(query) {
32
51
  return this.store.listRuns(query);
@@ -36,11 +55,28 @@ let DashboardService = class DashboardService {
36
55
  if (!run)
37
56
  return null;
38
57
  const timeline = await this.store.listCheckpoints(runId);
39
- return { run, timeline };
58
+ // Children spawned by this run — fire-and-forget (`spawn:<id>` checkpoints) and awaited (live
59
+ // `child:<id>` waiters) — so the dashboard can render the parent→children tree.
60
+ const children = new Set();
61
+ for (const cp of timeline) {
62
+ if (cp.name.startsWith('spawn:') && typeof cp.output === 'string')
63
+ children.add(cp.output);
64
+ }
65
+ for (const w of await this.store.listSignalWaiters('child:')) {
66
+ if (w.runId === runId)
67
+ children.add(w.token.slice('child:'.length));
68
+ }
69
+ return { run, timeline, children: [...children] };
70
+ }
71
+ /** Fix-and-replay a dead/failed run with a corrected input — a fresh linked run. Returns its id. */
72
+ retryWithInput(runId, input) {
73
+ return this.engine.retryWithInput(runId, input);
40
74
  }
41
75
  /** Re-run a failed/incomplete run; completed steps replay from their checkpoints. */
42
76
  retry(runId) {
43
- return this.engine.resume(runId);
77
+ // Re-enqueue (dispatch model) instead of resuming inline, so the request can't hang on workflow
78
+ // execution — a worker picks the run up and replays it.
79
+ return this.engine.requeue(runId);
44
80
  }
45
81
  cancel(runId, opts) {
46
82
  return this.engine.cancel(runId, opts);
@@ -56,7 +92,7 @@ let DashboardService = class DashboardService {
56
92
  for (const r of runs) {
57
93
  try {
58
94
  if (action === 'retry')
59
- await this.engine.resume(r.id);
95
+ await this.engine.requeue(r.id);
60
96
  else
61
97
  await this.engine.cancel(r.id, opts);
62
98
  applied += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/server/dashboard.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/server/dashboard.service.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,20 @@ export declare class DurableApiController {
6
6
  constructor(dashboard: DashboardService);
7
7
  runs(status?: RunStatus, workflow?: string, tag?: string, attr?: string | string[]): Promise<import("@dudousxd/nestjs-durable-core").WorkflowRun[]>;
8
8
  /** Prometheus-text metrics (runs/steps by outcome, per-workflow counts) for a scrape. */
9
- metrics(): string;
9
+ metrics(): Promise<string>;
10
10
  run(id: string): Promise<import("./dashboard.service.js").RunDetail>;
11
11
  /** Server-Sent Events stream of a run's live lifecycle events — the dashboard tails it instead
12
12
  * of polling. Cross-pod when the transport has a control plane (see DashboardService.streamRun). */
13
13
  stream(id: string): import("rxjs").Observable<{
14
14
  data: import("@dudousxd/nestjs-durable-core").EngineEvent;
15
15
  }>;
16
- retry(id: string): Promise<import("@dudousxd/nestjs-durable-core").RunResult>;
16
+ retry(id: string): Promise<import("@dudousxd/nestjs-durable-core").RunResult | null>;
17
+ /** Fix-and-replay: re-run a dead/failed run with a corrected input (a fresh linked run). */
18
+ retryWithInput(id: string, body: {
19
+ input: unknown;
20
+ }): Promise<{
21
+ runId: string;
22
+ } | null>;
17
23
  /** Bulk retry/cancel every run matching a filter (status / tag / workflow). */
18
24
  bulk(action: 'retry' | 'cancel', status?: RunStatus, tag?: string, workflow?: string, attr?: string | string[], compensate?: string): Promise<{
19
25
  matched: number;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-api.controller.d.ts","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAa/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,kGAAkG;AAClG,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAGxD,IAAI,CACe,MAAM,CAAC,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzC,yFAAyF;IAGzF,OAAO;IAKD,GAAG,CAAc,EAAE,EAAE,MAAM;IAMjC;yGACqG;IAErG,MAAM,CAAc,EAAE,EAAE,MAAM;;;IAK9B,KAAK,CAAc,EAAE,EAAE,MAAM;IAI7B,+EAA+E;IAE/E,IAAI,CACe,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,MAAM,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,EACP,QAAQ,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM;;;;IAUpC,MAAM,CAAc,EAAE,EAAE,MAAM,EAAuB,UAAU,CAAC,EAAE,MAAM;IAOxE,QAAQ,CAAc,EAAE,EAAE,MAAM;IAMtC;;;;;OAKG;IAEG,OAAO,CAAiB,KAAK,EAAE,MAAM,EAAU,IAAI,EAAE,OAAO;IAMlE,kGAAkG;IAElG,KAAK,CAAc,EAAE,EAAE,MAAM,EAAgB,GAAG,EAAE,MAAM;IAIxD,oFAAoF;IAEpF,MAAM,CAAc,EAAE,EAAE,MAAM,EAAiB,IAAI,EAAE,MAAM,EAAU,IAAI,EAAE,OAAO;CAGnF"}
1
+ {"version":3,"file":"durable-api.controller.d.ts","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAa/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,kGAAkG;AAClG,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAGxD,IAAI,CACe,MAAM,CAAC,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,MAAM,EACtB,GAAG,CAAC,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzC,yFAAyF;IAGzF,OAAO;IAKD,GAAG,CAAc,EAAE,EAAE,MAAM;IAMjC;yGACqG;IAErG,MAAM,CAAc,EAAE,EAAE,MAAM;;;IAK9B,KAAK,CAAc,EAAE,EAAE,MAAM;IAI7B,4FAA4F;IAE5F,cAAc,CAAc,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;;;IAIxE,+EAA+E;IAE/E,IAAI,CACe,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,MAAM,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,EACP,QAAQ,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM;;;;IAUpC,MAAM,CAAc,EAAE,EAAE,MAAM,EAAuB,UAAU,CAAC,EAAE,MAAM;IAOxE,QAAQ,CAAc,EAAE,EAAE,MAAM;IAMtC;;;;;OAKG;IAEG,OAAO,CAAiB,KAAK,EAAE,MAAM,EAAU,IAAI,EAAE,OAAO;IAMlE,kGAAkG;IAElG,KAAK,CAAc,EAAE,EAAE,MAAM,EAAgB,GAAG,EAAE,MAAM;IAIxD,oFAAoF;IAEpF,MAAM,CAAc,EAAE,EAAE,MAAM,EAAiB,IAAI,EAAE,MAAM,EAAU,IAAI,EAAE,OAAO;CAGnF"}
@@ -40,6 +40,10 @@ let DurableApiController = class DurableApiController {
40
40
  retry(id) {
41
41
  return this.dashboard.retry(id);
42
42
  }
43
+ /** Fix-and-replay: re-run a dead/failed run with a corrected input (a fresh linked run). */
44
+ retryWithInput(id, body) {
45
+ return this.dashboard.retryWithInput(id, body?.input);
46
+ }
43
47
  /** Bulk retry/cancel every run matching a filter (status / tag / workflow). */
44
48
  bulk(action, status, tag, workflow, attr, compensate) {
45
49
  return this.dashboard.bulk(action === 'cancel' ? 'cancel' : 'retry', { status, tag, workflow, attributes: parseAttrFilters(attr) }, { compensate: compensate === 'true' });
@@ -115,6 +119,14 @@ __decorate([
115
119
  __metadata("design:paramtypes", [String]),
116
120
  __metadata("design:returntype", void 0)
117
121
  ], DurableApiController.prototype, "retry", null);
122
+ __decorate([
123
+ Post('runs/:id/retry-with-input'),
124
+ __param(0, Param('id')),
125
+ __param(1, Body()),
126
+ __metadata("design:type", Function),
127
+ __metadata("design:paramtypes", [String, Object]),
128
+ __metadata("design:returntype", void 0)
129
+ ], DurableApiController.prototype, "retryWithInput", null);
118
130
  __decorate([
119
131
  Post('bulk/:action'),
120
132
  __param(0, Param('action')),
@@ -1 +1 @@
1
- {"version":3,"file":"durable-api.controller.js","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-api.controller.js","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":"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"}