@dudousxd/nestjs-durable-dashboard 0.4.0 → 0.4.1
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.
|
@@ -15,19 +15,37 @@ export interface WorkflowRun {
|
|
|
15
15
|
createdAt: string;
|
|
16
16
|
updatedAt: string;
|
|
17
17
|
}
|
|
18
|
+
export interface StepEvent {
|
|
19
|
+
at: number;
|
|
20
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
21
|
+
message: string;
|
|
22
|
+
/** For a sub-step/sub-process within the step: its name. */
|
|
23
|
+
name?: string;
|
|
24
|
+
/** For a sub-step: its outcome. */
|
|
25
|
+
status?: 'ok' | 'failed' | 'skipped';
|
|
26
|
+
data?: unknown;
|
|
27
|
+
}
|
|
18
28
|
export interface StepCheckpoint {
|
|
19
29
|
runId: string;
|
|
20
30
|
seq: number;
|
|
21
31
|
name: string;
|
|
22
32
|
kind: StepKind;
|
|
23
|
-
|
|
33
|
+
/** `pending` = a remote step dispatched and awaiting its worker result (in-flight). */
|
|
34
|
+
status: 'pending' | 'completed' | 'failed';
|
|
35
|
+
/** What the step was called with (a remote step's `ctx.call` args). */
|
|
36
|
+
input?: unknown;
|
|
24
37
|
output?: unknown;
|
|
25
38
|
error?: {
|
|
26
39
|
message: string;
|
|
27
40
|
};
|
|
41
|
+
/** Structured events the step (or its worker) emitted — sub-process outcomes + debug/error logs. */
|
|
42
|
+
events?: StepEvent[];
|
|
28
43
|
attempts: number;
|
|
29
44
|
workerGroup?: string;
|
|
30
45
|
wakeAt?: number;
|
|
46
|
+
/** When the step was dispatched (remote) or began (local). Queue-wait = startedAt − enqueuedAt. */
|
|
47
|
+
enqueuedAt?: string;
|
|
48
|
+
/** When processing actually began: worker pickup for a remote step, execution start for a local one. */
|
|
31
49
|
startedAt: string;
|
|
32
50
|
finishedAt: string;
|
|
33
51
|
}
|
|
@@ -37,8 +55,10 @@ export interface RunDetail {
|
|
|
37
55
|
}
|
|
38
56
|
declare global {
|
|
39
57
|
interface Window {
|
|
40
|
-
/**
|
|
58
|
+
/** UI mount base (e.g. `/durable`) injected by the UI controller; falls back to `/durable`. */
|
|
41
59
|
__DURABLE_BASE__?: string;
|
|
60
|
+
/** JSON API base (e.g. `/api/durable`) injected by the UI controller; falls back to `<base>/api`. */
|
|
61
|
+
__DURABLE_API__?: string;
|
|
42
62
|
}
|
|
43
63
|
}
|
|
44
64
|
export declare const durableClient: {
|
|
@@ -46,5 +66,6 @@ export declare const durableClient: {
|
|
|
46
66
|
run(id: string): Promise<RunDetail>;
|
|
47
67
|
retry(id: string): Promise<WorkflowRun>;
|
|
48
68
|
cancel(id: string): Promise<WorkflowRun>;
|
|
69
|
+
continue(id: string): Promise<WorkflowRun>;
|
|
49
70
|
};
|
|
50
71
|
//# sourceMappingURL=durable-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AACvF,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,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;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,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AACvF,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,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,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,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAGxC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;cAGzB,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;eAG5B,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;iBAG3B,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAG3C,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
function apiBase() {
|
|
2
|
+
if (typeof window !== 'undefined' && window.__DURABLE_API__)
|
|
3
|
+
return window.__DURABLE_API__;
|
|
2
4
|
const base = (typeof window !== 'undefined' && window.__DURABLE_BASE__) || '/durable';
|
|
3
5
|
return `${base}/api`;
|
|
4
6
|
}
|
|
@@ -21,5 +23,8 @@ export const durableClient = {
|
|
|
21
23
|
cancel(id) {
|
|
22
24
|
return http(`/runs/${encodeURIComponent(id)}/cancel`, { method: 'POST' });
|
|
23
25
|
},
|
|
26
|
+
continue(id) {
|
|
27
|
+
return http(`/runs/${encodeURIComponent(id)}/continue`, { method: 'POST' });
|
|
28
|
+
},
|
|
24
29
|
};
|
|
25
30
|
//# sourceMappingURL=durable-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"AAgEA,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;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dudousxd/nestjs-durable-dashboard",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Embedded control plane (runs, step timeline, retry/cancel) for nestjs-durable — bundled React SPA served by NestJS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Davide Carvalho",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"types": "./dist/server/index.d.ts",
|
|
18
18
|
"import": "./dist/server/index.js",
|
|
19
19
|
"default": "./dist/server/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./client": {
|
|
22
|
+
"types": "./dist/client/durable-client.d.ts",
|
|
23
|
+
"import": "./dist/client/durable-client.js",
|
|
24
|
+
"default": "./dist/client/durable-client.js"
|
|
20
25
|
}
|
|
21
26
|
},
|
|
22
27
|
"files": [
|
|
@@ -46,7 +51,7 @@
|
|
|
46
51
|
"@dudousxd/nestjs-durable-core": "^0.3.0"
|
|
47
52
|
},
|
|
48
53
|
"scripts": {
|
|
49
|
-
"build": "vite build && tsc -p tsconfig.server.json",
|
|
54
|
+
"build": "vite build && tsc -p tsconfig.server.json && tsc -p tsconfig.client.json",
|
|
50
55
|
"typecheck": "tsc -p tsconfig.server.json --noEmit && tsc -p tsconfig.app.json --noEmit"
|
|
51
56
|
}
|
|
52
57
|
}
|