@dudousxd/nestjs-durable-dashboard 0.5.1 → 0.6.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.
@@ -1,4 +1,4 @@
1
- export type RunStatus = 'running' | 'suspended' | 'completed' | 'failed' | 'cancelled';
1
+ export type RunStatus = 'running' | 'suspended' | 'completed' | 'failed' | 'cancelled' | 'dead';
2
2
  export type StepKind = 'local' | 'remote' | 'sleep' | 'signal';
3
3
  export interface WorkflowRun {
4
4
  id: string;
@@ -12,6 +12,7 @@ export interface WorkflowRun {
12
12
  code?: string;
13
13
  };
14
14
  wakeAt?: number;
15
+ recoveryAttempts?: number;
15
16
  createdAt: string;
16
17
  updatedAt: string;
17
18
  }
@@ -75,7 +76,9 @@ export declare const durableClient: {
75
76
  runs(status?: RunStatus): Promise<WorkflowRun[]>;
76
77
  run(id: string): Promise<RunDetail>;
77
78
  retry(id: string): Promise<WorkflowRun>;
78
- cancel(id: string): Promise<WorkflowRun>;
79
+ cancel(id: string, opts?: {
80
+ compensate?: boolean;
81
+ }): Promise<WorkflowRun>;
79
82
  continue(id: string): Promise<WorkflowRun>;
80
83
  /**
81
84
  * Live-tail a run's lifecycle events over SSE (replaces polling). Calls `onEvent` per event;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,9 @@ export const durableClient = {
20
20
  retry(id) {
21
21
  return http(`/runs/${encodeURIComponent(id)}/retry`, { method: 'POST' });
22
22
  },
23
- cancel(id) {
24
- return http(`/runs/${encodeURIComponent(id)}/cancel`, { method: 'POST' });
23
+ cancel(id, opts) {
24
+ const qs = opts?.compensate ? '?compensate=true' : '';
25
+ return http(`/runs/${encodeURIComponent(id)}/cancel${qs}`, { method: 'POST' });
25
26
  },
26
27
  continue(id) {
27
28
  return http(`/runs/${encodeURIComponent(id)}/continue`, { method: 'POST' });
@@ -1 +1 @@
1
- {"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"AAkFA,SAAS,OAAO;IACd,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe;QAAE,OAAO,MAAM,CAAC,eAAe,CAAC;IAC3F,MAAM,IAAI,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC;IACtF,OAAO,GAAG,IAAI,MAAM,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,IAAI,CAAI,IAAY,EAAE,IAAkB;IACrD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,CAAC,MAAkB;QACrB,OAAO,IAAI,CAAgB,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IACD,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAY,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,EAAU;QACd,OAAO,IAAI,CAAc,SAAS,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAc,SAAS,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAc,SAAS,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD;;;OAGG;IACH,SAAS,CAAC,EAAU,EAAE,OAAqC;QACzD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,OAAO,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrF,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAgB,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"AAmFA,SAAS,OAAO;IACd,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe;QAAE,OAAO,MAAM,CAAC,eAAe,CAAC;IAC3F,MAAM,IAAI,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC;IACtF,OAAO,GAAG,IAAI,MAAM,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,IAAI,CAAI,IAAY,EAAE,IAAkB;IACrD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,CAAC,MAAkB;QACrB,OAAO,IAAI,CAAgB,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IACD,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAY,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,EAAU;QACd,OAAO,IAAI,CAAc,SAAS,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,CAAC,EAAU,EAAE,IAA+B;QAChD,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAc,SAAS,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAc,SAAS,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD;;;OAGG;IACH,SAAS,CAAC,EAAU,EAAE,OAAqC;QACzD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,OAAO,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrF,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAgB,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type EngineEvent, type RunQuery, type RunResult, type StateStore, type StepCheckpoint, WorkflowEngine, type WorkflowRun } from '@dudousxd/nestjs-durable-core';
1
+ import { type EngineEvent, type RunQuery, type RunResult, type StateStore, type StepCheckpoint, type UpdateResult, WorkflowEngine, type WorkflowRun } from '@dudousxd/nestjs-durable-core';
2
2
  import { Observable } from 'rxjs';
3
3
  export interface RunDetail {
4
4
  run: WorkflowRun;
@@ -14,9 +14,21 @@ export declare class DashboardService {
14
14
  getRunDetail(runId: string): Promise<RunDetail | null>;
15
15
  /** Re-run a failed/incomplete run; completed steps replay from their checkpoints. */
16
16
  retry(runId: string): Promise<RunResult>;
17
- cancel(runId: string): Promise<RunResult | null>;
17
+ cancel(runId: string, opts?: {
18
+ compensate?: boolean;
19
+ }): Promise<RunResult | null>;
18
20
  /** Resume a run paused at a `ctx.breakpoint` (the "continue" button). */
19
21
  continue(runId: string): Promise<RunResult | null>;
22
+ /**
23
+ * Deliver a `ctx.webhook()` callback: turn an inbound POST (token + body) into the signal the
24
+ * waiting run is parked on. Returns the run result, or `null` if no run waits on that token (a
25
+ * stale/duplicate callback) — a safe no-op the controller maps to 404.
26
+ */
27
+ deliverWebhook(token: string, body: unknown): Promise<RunResult | null>;
28
+ /** Side-effect-free read of a value a run published via `ctx.setEvent` (a live query). */
29
+ getEvent(runId: string, key: string): Promise<unknown>;
30
+ /** Deliver a validated `ctx.onUpdate` to a run; the validator may reject it (see UpdateResult). */
31
+ update(runId: string, name: string, arg: unknown): Promise<UpdateResult>;
20
32
  /**
21
33
  * Live stream of a run's lifecycle events for SSE. Backed by `engine.subscribe`, which — when the
22
34
  * transport has a control plane — receives events from EVERY instance, so a dashboard-only pod
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,WAAW,EACjB,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;IAEJ,OAAO,CAAC,QAAQ,CAAC,KAAK;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADe,KAAK,EAAE,UAAU,EACtC,MAAM,EAAE,cAAc;IAGzC,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,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIhD,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIlD;;;;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,EAChB,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,WAAW,EACjB,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;IAEJ,OAAO,CAAC,QAAQ,CAAC,KAAK;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADe,KAAK,EAAE,UAAU,EACtC,MAAM,EAAE,cAAc;IAGzC,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,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"}
@@ -35,13 +35,29 @@ let DashboardService = class DashboardService {
35
35
  retry(runId) {
36
36
  return this.engine.resume(runId);
37
37
  }
38
- cancel(runId) {
39
- return this.engine.cancel(runId);
38
+ cancel(runId, opts) {
39
+ return this.engine.cancel(runId, opts);
40
40
  }
41
41
  /** Resume a run paused at a `ctx.breakpoint` (the "continue" button). */
42
42
  continue(runId) {
43
43
  return this.engine.continue(runId);
44
44
  }
45
+ /**
46
+ * Deliver a `ctx.webhook()` callback: turn an inbound POST (token + body) into the signal the
47
+ * waiting run is parked on. Returns the run result, or `null` if no run waits on that token (a
48
+ * stale/duplicate callback) — a safe no-op the controller maps to 404.
49
+ */
50
+ deliverWebhook(token, body) {
51
+ return this.engine.signal(token, body);
52
+ }
53
+ /** Side-effect-free read of a value a run published via `ctx.setEvent` (a live query). */
54
+ getEvent(runId, key) {
55
+ return this.engine.getEvent(runId, key);
56
+ }
57
+ /** Deliver a validated `ctx.onUpdate` to a run; the validator may reject it (see UpdateResult). */
58
+ update(runId, name, arg) {
59
+ return this.engine.update(runId, name, arg);
60
+ }
45
61
  /**
46
62
  * Live stream of a run's lifecycle events for SSE. Backed by `engine.subscribe`, which — when the
47
63
  * transport has a control plane — receives events from EVERY instance, so a dashboard-only pod
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/server/dashboard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAIL,WAAW,EAGX,cAAc,GAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,2DAA2D;AAEpD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAEa;IACrB;IAFnB,YACwC,KAAiB,EACtC,MAAsB;QADD,UAAK,GAAL,KAAK,CAAY;QACtC,WAAM,GAAN,MAAM,CAAgB;IACtC,CAAC;IAEJ,QAAQ,CAAC,KAAe;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,yEAAyE;IACzE,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,UAAU,CAAwB,CAAC,UAAU,EAAE,EAAE;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;oBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5CY,gBAAgB;IAD5B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;6CACK,cAAc;GAH9B,gBAAgB,CA4C5B"}
1
+ {"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/server/dashboard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAIL,WAAW,EAIX,cAAc,GAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,2DAA2D;AAEpD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAEa;IACrB;IAFnB,YACwC,KAAiB,EACtC,MAAsB;QADD,UAAK,GAAL,KAAK,CAAY;QACtC,WAAM,GAAN,MAAM,CAAgB;IACtC,CAAC;IAEJ,QAAQ,CAAC,KAAe;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,IAA+B;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,yEAAyE;IACzE,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAa,EAAE,IAAa;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,0FAA0F;IAC1F,QAAQ,CAAC,KAAa,EAAE,GAAW;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,mGAAmG;IACnG,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,GAAY;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,UAAU,CAAwB,CAAC,UAAU,EAAE,EAAE;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;oBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA/DY,gBAAgB;IAD5B,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;6CACK,cAAc;GAH9B,gBAAgB,CA+D5B"}
@@ -12,7 +12,18 @@ export declare class DurableApiController {
12
12
  data: import("@dudousxd/nestjs-durable-core").EngineEvent;
13
13
  }>;
14
14
  retry(id: string): Promise<import("@dudousxd/nestjs-durable-core").RunResult>;
15
- cancel(id: string): Promise<import("@dudousxd/nestjs-durable-core").RunResult>;
15
+ cancel(id: string, compensate?: string): Promise<import("@dudousxd/nestjs-durable-core").RunResult>;
16
16
  continue(id: string): Promise<import("@dudousxd/nestjs-durable-core").RunResult>;
17
+ /**
18
+ * Public callback endpoint for `ctx.webhook()`: a third party POSTs here (the url handed to it),
19
+ * and the body resumes the waiting run. NOTE: this is reachable by external systems — protect it
20
+ * by treating the token as a secret (it embeds runId:seq) and/or fronting it with signature
21
+ * verification in your own middleware.
22
+ */
23
+ webhook(token: string, body: unknown): Promise<import("@dudousxd/nestjs-durable-core").RunResult>;
24
+ /** Live query: the latest value a run published for `key` via `ctx.setEvent` (no side effect). */
25
+ event(id: string, key: string): Promise<unknown>;
26
+ /** Deliver a validated `ctx.onUpdate` to a run; the body is the update argument. */
27
+ update(id: string, name: string, body: unknown): Promise<import("@dudousxd/nestjs-durable-core").UpdateResult>;
17
28
  }
18
29
  //# sourceMappingURL=durable-api.controller.d.ts.map
@@ -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;AAE/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,CAAkB,MAAM,CAAC,EAAE,SAAS,EAAqB,QAAQ,CAAC,EAAE,MAAM;IAKxE,GAAG,CAAc,EAAE,EAAE,MAAM;IAMjC;yGACqG;IAErG,MAAM,CAAc,EAAE,EAAE,MAAM;;;IAK9B,KAAK,CAAc,EAAE,EAAE,MAAM;IAKvB,MAAM,CAAc,EAAE,EAAE,MAAM;IAO9B,QAAQ,CAAc,EAAE,EAAE,MAAM;CAKvC"}
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;AAW/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,CAAkB,MAAM,CAAC,EAAE,SAAS,EAAqB,QAAQ,CAAC,EAAE,MAAM;IAKxE,GAAG,CAAc,EAAE,EAAE,MAAM;IAMjC;yGACqG;IAErG,MAAM,CAAc,EAAE,EAAE,MAAM;;;IAK9B,KAAK,CAAc,EAAE,EAAE,MAAM;IAKvB,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"}
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { Controller, Get, NotFoundException, Param, Post, Query, Sse } from '@nestjs/common';
13
+ import { Body, Controller, Get, NotFoundException, Param, Post, Query, Sse, } from '@nestjs/common';
14
14
  import { DashboardService } from './dashboard.service.js';
15
15
  /** JSON API consumed by the control-plane SPA. Mounted at `apiBasePath` (set by RouterModule). */
16
16
  let DurableApiController = class DurableApiController {
@@ -35,8 +35,8 @@ let DurableApiController = class DurableApiController {
35
35
  retry(id) {
36
36
  return this.dashboard.retry(id);
37
37
  }
38
- async cancel(id) {
39
- const result = await this.dashboard.cancel(id);
38
+ async cancel(id, compensate) {
39
+ const result = await this.dashboard.cancel(id, { compensate: compensate === 'true' });
40
40
  if (!result)
41
41
  throw new NotFoundException(`run ${id} not found`);
42
42
  return result;
@@ -47,6 +47,26 @@ let DurableApiController = class DurableApiController {
47
47
  throw new NotFoundException(`run ${id} is not paused at a breakpoint`);
48
48
  return result;
49
49
  }
50
+ /**
51
+ * Public callback endpoint for `ctx.webhook()`: a third party POSTs here (the url handed to it),
52
+ * and the body resumes the waiting run. NOTE: this is reachable by external systems — protect it
53
+ * by treating the token as a secret (it embeds runId:seq) and/or fronting it with signature
54
+ * verification in your own middleware.
55
+ */
56
+ async webhook(token, body) {
57
+ const result = await this.dashboard.deliverWebhook(token, body);
58
+ if (!result)
59
+ throw new NotFoundException(`no run is waiting on webhook ${token}`);
60
+ return result;
61
+ }
62
+ /** Live query: the latest value a run published for `key` via `ctx.setEvent` (no side effect). */
63
+ event(id, key) {
64
+ return this.dashboard.getEvent(id, key);
65
+ }
66
+ /** Deliver a validated `ctx.onUpdate` to a run; the body is the update argument. */
67
+ update(id, name, body) {
68
+ return this.dashboard.update(id, name, body);
69
+ }
50
70
  };
51
71
  __decorate([
52
72
  Get('runs'),
@@ -80,8 +100,9 @@ __decorate([
80
100
  __decorate([
81
101
  Post('runs/:id/cancel'),
82
102
  __param(0, Param('id')),
103
+ __param(1, Query('compensate')),
83
104
  __metadata("design:type", Function),
84
- __metadata("design:paramtypes", [String]),
105
+ __metadata("design:paramtypes", [String, String]),
85
106
  __metadata("design:returntype", Promise)
86
107
  ], DurableApiController.prototype, "cancel", null);
87
108
  __decorate([
@@ -91,6 +112,31 @@ __decorate([
91
112
  __metadata("design:paramtypes", [String]),
92
113
  __metadata("design:returntype", Promise)
93
114
  ], DurableApiController.prototype, "continue", null);
115
+ __decorate([
116
+ Post('webhooks/:token'),
117
+ __param(0, Param('token')),
118
+ __param(1, Body()),
119
+ __metadata("design:type", Function),
120
+ __metadata("design:paramtypes", [String, Object]),
121
+ __metadata("design:returntype", Promise)
122
+ ], DurableApiController.prototype, "webhook", null);
123
+ __decorate([
124
+ Get('runs/:id/events/:key'),
125
+ __param(0, Param('id')),
126
+ __param(1, Param('key')),
127
+ __metadata("design:type", Function),
128
+ __metadata("design:paramtypes", [String, String]),
129
+ __metadata("design:returntype", void 0)
130
+ ], DurableApiController.prototype, "event", null);
131
+ __decorate([
132
+ Post('runs/:id/updates/:name'),
133
+ __param(0, Param('id')),
134
+ __param(1, Param('name')),
135
+ __param(2, Body()),
136
+ __metadata("design:type", Function),
137
+ __metadata("design:paramtypes", [String, String, Object]),
138
+ __metadata("design:returntype", void 0)
139
+ ], DurableApiController.prototype, "update", null);
94
140
  DurableApiController = __decorate([
95
141
  Controller(),
96
142
  __metadata("design:paramtypes", [DashboardService])
@@ -1 +1 @@
1
- {"version":3,"file":"durable-api.controller.js","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,kGAAkG;AAE3F,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACF;IAA7B,YAA6B,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAG5D,IAAI,CAAkB,MAAkB,EAAqB,QAAiB;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAGK,AAAN,KAAK,CAAC,GAAG,CAAc,EAAU;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;yGACqG;IAErG,MAAM,CAAc,EAAU;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAGD,KAAK,CAAc,EAAU;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAc,EAAU;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AApCC;IADC,GAAG,CAAC,MAAM,CAAC;IACN,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAsB,WAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;gDAE3D;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACL,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;+CAIrB;AAKD;IADC,GAAG,CAAC,iBAAiB,CAAC;IACf,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;kDAElB;AAGD;IADC,IAAI,CAAC,gBAAgB,CAAC;IAChB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAEjB;AAGK;IADL,IAAI,CAAC,iBAAiB,CAAC;IACV,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;kDAIxB;AAGK;IADL,IAAI,CAAC,mBAAmB,CAAC;IACV,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;oDAI1B;AAvCU,oBAAoB;IADhC,UAAU,EAAE;qCAE6B,gBAAgB;GAD7C,oBAAoB,CAwChC"}
1
+ {"version":3,"file":"durable-api.controller.js","sourceRoot":"","sources":["../../src/server/durable-api.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EACL,IAAI,EACJ,UAAU,EACV,GAAG,EACH,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,GACJ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,kGAAkG;AAE3F,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACF;IAA7B,YAA6B,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAG5D,IAAI,CAAkB,MAAkB,EAAqB,QAAiB;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAGK,AAAN,KAAK,CAAC,GAAG,CAAc,EAAU;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;yGACqG;IAErG,MAAM,CAAc,EAAU;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAGD,KAAK,CAAc,EAAU;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,EAAuB,UAAmB;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAc,EAAU;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IAEG,AAAN,KAAK,CAAC,OAAO,CAAiB,KAAa,EAAU,IAAa;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kGAAkG;IAElG,KAAK,CAAc,EAAU,EAAgB,GAAW;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,oFAAoF;IAEpF,MAAM,CAAc,EAAU,EAAiB,IAAY,EAAU,IAAa;QAChF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AA7DC;IADC,GAAG,CAAC,MAAM,CAAC;IACN,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAsB,WAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;gDAE3D;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACL,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;+CAIrB;AAKD;IADC,GAAG,CAAC,iBAAiB,CAAC;IACf,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;kDAElB;AAGD;IADC,IAAI,CAAC,gBAAgB,CAAC;IAChB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAEjB;AAGK;IADL,IAAI,CAAC,iBAAiB,CAAC;IACV,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAc,WAAA,KAAK,CAAC,YAAY,CAAC,CAAA;;;;kDAIzD;AAGK;IADL,IAAI,CAAC,mBAAmB,CAAC;IACV,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;oDAI1B;AASK;IADL,IAAI,CAAC,iBAAiB,CAAC;IACT,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAiB,WAAA,IAAI,EAAE,CAAA;;;;mDAInD;AAID;IADC,GAAG,CAAC,sBAAsB,CAAC;IACrB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAc,WAAA,KAAK,CAAC,KAAK,CAAC,CAAA;;;;iDAE3C;AAID;IADC,IAAI,CAAC,wBAAwB,CAAC;IACvB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;IAAc,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IAAgB,WAAA,IAAI,EAAE,CAAA;;;;kDAEnE;AAhEU,oBAAoB;IADhC,UAAU,EAAE;qCAE6B,gBAAgB;GAD7C,oBAAoB,CAiEhC"}