@t4h.framework/dev 0.3.0 → 0.3.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.
Files changed (74) hide show
  1. package/dist/AppManager.d.ts +21 -0
  2. package/dist/AppManager.js +83 -0
  3. package/dist/AppManager.js.map +1 -0
  4. package/dist/EventStore.d.ts +57 -0
  5. package/dist/EventStore.js +15 -0
  6. package/dist/EventStore.js.map +1 -0
  7. package/dist/Server.d.ts +27 -0
  8. package/dist/Server.js +64 -0
  9. package/dist/Server.js.map +1 -0
  10. package/dist/bootstrap.d.ts +8 -0
  11. package/dist/bootstrap.js +12 -0
  12. package/dist/bootstrap.js.map +1 -0
  13. package/dist/controllers/Environment.controller.d.ts +4 -0
  14. package/dist/controllers/Environment.controller.js +31 -0
  15. package/dist/controllers/Environment.controller.js.map +1 -0
  16. package/dist/controllers/Workflows.controller.d.ts +27 -0
  17. package/dist/controllers/Workflows.controller.js +119 -0
  18. package/dist/controllers/Workflows.controller.js.map +1 -0
  19. package/dist/decorators/JsonRpcMethod.d.ts +12 -0
  20. package/dist/decorators/JsonRpcMethod.js +15 -0
  21. package/dist/decorators/JsonRpcMethod.js.map +1 -0
  22. package/dist/events.d.ts +16 -0
  23. package/dist/events.js +2 -0
  24. package/dist/events.js.map +1 -0
  25. package/dist/helpers/get-json-rpc-server-methods.d.ts +4 -0
  26. package/dist/helpers/get-json-rpc-server-methods.js +17 -0
  27. package/dist/helpers/get-json-rpc-server-methods.js.map +1 -0
  28. package/dist/outputs/WorkflowRunActivityOutput.d.ts +10 -0
  29. package/dist/outputs/WorkflowRunActivityOutput.js +2 -0
  30. package/dist/outputs/WorkflowRunActivityOutput.js.map +1 -0
  31. package/dist/outputs/WorkflowRunAsyncActivityOutput.d.ts +6 -0
  32. package/dist/outputs/WorkflowRunAsyncActivityOutput.js +2 -0
  33. package/dist/outputs/WorkflowRunAsyncActivityOutput.js.map +1 -0
  34. package/dist/outputs/WorkflowRunOutput.d.ts +18 -0
  35. package/dist/outputs/WorkflowRunOutput.js +2 -0
  36. package/dist/outputs/WorkflowRunOutput.js.map +1 -0
  37. package/dist/services/DevEventNotifier.service.d.ts +18 -0
  38. package/dist/services/DevEventNotifier.service.js +43 -0
  39. package/dist/services/DevEventNotifier.service.js.map +1 -0
  40. package/dist/services/WorkflowRunEventEmitter.service.d.ts +17 -0
  41. package/dist/services/WorkflowRunEventEmitter.service.js +74 -0
  42. package/dist/services/WorkflowRunEventEmitter.service.js.map +1 -0
  43. package/dist/services/WorkflowRunEventProducer.service.d.ts +11 -0
  44. package/dist/services/WorkflowRunEventProducer.service.js +26 -0
  45. package/dist/services/WorkflowRunEventProducer.service.js.map +1 -0
  46. package/dist/socket/DevServerSocketBridge.d.ts +16 -0
  47. package/dist/socket/DevServerSocketBridge.js +75 -0
  48. package/dist/socket/DevServerSocketBridge.js.map +1 -0
  49. package/dist/socket/ServerSocket.d.ts +18 -0
  50. package/dist/socket/ServerSocket.js +57 -0
  51. package/dist/socket/ServerSocket.js.map +1 -0
  52. package/dist/tools/is-localhost.d.ts +1 -0
  53. package/dist/tools/is-localhost.js +11 -0
  54. package/dist/tools/is-localhost.js.map +1 -0
  55. package/dist/typings/events.d.ts +43 -0
  56. package/dist/typings/events.js +10 -0
  57. package/dist/typings/events.js.map +1 -0
  58. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js +1 -1
  59. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js.map +1 -1
  60. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js +1 -1
  61. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js.map +1 -1
  62. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js +1 -1
  63. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js.map +1 -1
  64. package/dist/use-cases/WorkflowRunBuildHistory.usecase.js +2 -1
  65. package/dist/use-cases/WorkflowRunBuildHistory.usecase.js.map +1 -1
  66. package/dist/use-cases/WorkflowRunSyncActivity.usecase.js +1 -1
  67. package/dist/use-cases/WorkflowRunSyncActivity.usecase.js.map +1 -1
  68. package/package.json +4 -4
  69. package/dist/models/SftpClientCache.d.ts +0 -6
  70. package/dist/models/SftpClientCache.js +0 -34
  71. package/dist/models/SftpClientCache.js.map +0 -1
  72. package/dist/tools/json-schema-to-inquirer-question.d.ts +0 -11
  73. package/dist/tools/json-schema-to-inquirer-question.js +0 -34
  74. package/dist/tools/json-schema-to-inquirer-question.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ import type { Log } from '@t4h.framework/core';
2
+ import type { WorkflowRunActivityOutput } from './WorkflowRunActivityOutput.js';
3
+ import type { WorkflowRunStatus } from '../models/WorkflowRun.js';
4
+ export interface WorkflowRunOutput {
5
+ id: string;
6
+ workflow: string;
7
+ status: WorkflowRunStatus;
8
+ createdAt: number;
9
+ logs: Log[];
10
+ finishedAt?: number;
11
+ input?: unknown;
12
+ output?: unknown;
13
+ error?: {
14
+ message: string;
15
+ stack?: string;
16
+ };
17
+ activities: WorkflowRunActivityOutput[];
18
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WorkflowRunOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowRunOutput.js","sourceRoot":"","sources":["../../src/outputs/WorkflowRunOutput.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { Log } from '@t4h.framework/core';
2
+ import type { JSONRPCClient } from '../models/JSONRPCClient.js';
3
+ import type { WorkflowRunActivity } from '../models/WorkflowRunActivity.js';
4
+ import type { WorkflowRunAsyncActivityPending } from '../models/WorkflowRunActivity.js';
5
+ /**
6
+ * Encapsulates the worker-side IPC client so use-cases/repositories can push
7
+ * typed events to the dev server without depending on transport details.
8
+ *
9
+ * Always emits flat DTOs — the domain models hold circular references
10
+ * (run <-> activity <-> parent) that would break the IPC `JSON.stringify`.
11
+ */
12
+ export declare class DevEventNotifier {
13
+ private client?;
14
+ attach(client: JSONRPCClient): void;
15
+ workflowRunActivityCreated(activity: WorkflowRunActivity): void;
16
+ asyncActivityCreated(activity: WorkflowRunActivity, pending: WorkflowRunAsyncActivityPending): void;
17
+ log(workflowRunId: string, log: Log): void;
18
+ }
@@ -0,0 +1,43 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Injectable } from 'pleroma';
8
+ /**
9
+ * Encapsulates the worker-side IPC client so use-cases/repositories can push
10
+ * typed events to the dev server without depending on transport details.
11
+ *
12
+ * Always emits flat DTOs — the domain models hold circular references
13
+ * (run <-> activity <-> parent) that would break the IPC `JSON.stringify`.
14
+ */
15
+ let DevEventNotifier = class DevEventNotifier {
16
+ client;
17
+ attach(client) {
18
+ this.client = client;
19
+ }
20
+ workflowRunActivityCreated(activity) {
21
+ void this.client?.notify('workflow-run-activity.created', {
22
+ id: activity.id,
23
+ workflowRunId: activity.run.id,
24
+ type: activity.type,
25
+ });
26
+ }
27
+ asyncActivityCreated(activity, pending) {
28
+ void this.client?.notify('async-activity.created', {
29
+ id: pending.id,
30
+ workflowRunId: activity.run.id,
31
+ activityId: activity.id,
32
+ timeoutAt: pending.timeoutAt?.toISOString(),
33
+ });
34
+ }
35
+ log(workflowRunId, log) {
36
+ void this.client?.notify('log', { workflowRunId, log });
37
+ }
38
+ };
39
+ DevEventNotifier = __decorate([
40
+ Injectable()
41
+ ], DevEventNotifier);
42
+ export { DevEventNotifier };
43
+ //# sourceMappingURL=DevEventNotifier.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevEventNotifier.service.js","sourceRoot":"","sources":["../../src/services/DevEventNotifier.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMpC;;;;;;GAMG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACnB,MAAM,CAAgB;IAEvB,MAAM,CAAC,MAAqB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,0BAA0B,CAAC,QAA6B;QAC7D,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,+BAA+B,EAAE;YACxD,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,CAAA;IACJ,CAAC;IAEM,oBAAoB,CACzB,QAA6B,EAC7B,OAAwC;QAExC,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,wBAAwB,EAAE;YACjD,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE;SAC5C,CAAC,CAAA;IACJ,CAAC;IAEM,GAAG,CAAC,aAAqB,EAAE,GAAQ;QACxC,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AA9BY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA8B5B"}
@@ -0,0 +1,17 @@
1
+ import type { Log } from '@t4h.framework/core';
2
+ import type { JSONRPCClient } from '../models/JSONRPCClient.js';
3
+ import type { WorkflowRun } from '../models/WorkflowRun.js';
4
+ import type { WorkflowRunActivity, WorkflowRunAsyncActivityPending } from '../models/WorkflowRunActivity.js';
5
+ export declare class WorkflowRunEventEmitter {
6
+ #private;
7
+ attach(client: JSONRPCClient): void;
8
+ private get client();
9
+ onUpdateWorkflowRun(run: WorkflowRun): void;
10
+ onCreateWorkflowRunActivity(activity: WorkflowRunActivity): void;
11
+ onUpdateWorkflowRunActivity(activity: WorkflowRunActivity): void;
12
+ onCreateWorkflowRunAsyncActivity(activity: WorkflowRunActivity, pending: WorkflowRunAsyncActivityPending): void;
13
+ onResolveWorkflowRunAsyncActivity(activity: WorkflowRunActivity, pending: WorkflowRunAsyncActivityPending): void;
14
+ log(workflowRun: string, log: Log): void;
15
+ private notifyActivity;
16
+ private notifyAsyncActivity;
17
+ }
@@ -0,0 +1,74 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Injectable } from 'pleroma';
8
+ import { WorkflowRunEventMethod, } from '../typings/events.js';
9
+ let WorkflowRunEventEmitter = class WorkflowRunEventEmitter {
10
+ #client;
11
+ attach(client) {
12
+ this.#client = client;
13
+ }
14
+ get client() {
15
+ if (!this.#client)
16
+ throw new Error('Client not attached');
17
+ return this.#client;
18
+ }
19
+ onUpdateWorkflowRun(run) {
20
+ const event = {
21
+ id: run.id,
22
+ workflow: run.workflow,
23
+ status: run.status,
24
+ createdAt: run.createdAt,
25
+ finishedAt: run.finishedAt,
26
+ output: run.output,
27
+ error: run.rejectedReason,
28
+ };
29
+ void this.#client?.notify(WorkflowRunEventMethod.WorkflowRunUpdated, event);
30
+ }
31
+ onCreateWorkflowRunActivity(activity) {
32
+ this.notifyActivity(activity, WorkflowRunEventMethod.WorkflowRunActivityCreated);
33
+ }
34
+ onUpdateWorkflowRunActivity(activity) {
35
+ this.notifyActivity(activity, WorkflowRunEventMethod.WorkflowRunActivityUpdated);
36
+ }
37
+ onCreateWorkflowRunAsyncActivity(activity, pending) {
38
+ this.notifyAsyncActivity(activity, pending, WorkflowRunEventMethod.WorkflowRunAsyncActivityCreated);
39
+ }
40
+ onResolveWorkflowRunAsyncActivity(activity, pending) {
41
+ this.notifyAsyncActivity(activity, pending, WorkflowRunEventMethod.WorkflowRunAsyncActivityResolved);
42
+ }
43
+ log(workflowRun, log) {
44
+ const event = { workflowRun, log };
45
+ void this.#client?.notify(WorkflowRunEventMethod.Log, event);
46
+ }
47
+ notifyActivity(activity, method) {
48
+ const event = {
49
+ id: activity.id,
50
+ workflowRun: activity.run.id,
51
+ type: activity.type,
52
+ status: activity.status,
53
+ output: activity.output,
54
+ createdAt: activity.createdAt.getTime(),
55
+ finishedAt: activity.finishedAt?.getTime(),
56
+ };
57
+ void this.#client?.notify(method, event);
58
+ }
59
+ notifyAsyncActivity(activity, pending, method) {
60
+ const event = {
61
+ id: pending.id,
62
+ workflowRun: activity.run.id,
63
+ activity: activity.id,
64
+ status: pending.status,
65
+ timeoutAt: pending.timeoutAt?.getTime(),
66
+ };
67
+ void this.#client?.notify(method, event);
68
+ }
69
+ };
70
+ WorkflowRunEventEmitter = __decorate([
71
+ Injectable()
72
+ ], WorkflowRunEventEmitter);
73
+ export { WorkflowRunEventEmitter };
74
+ //# sourceMappingURL=WorkflowRunEventEmitter.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowRunEventEmitter.service.js","sourceRoot":"","sources":["../../src/services/WorkflowRunEventEmitter.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { IWorkflowRunActivityEvent, IWorkflowRunAsyncActivityEvent, IWorkflowRunEvent, IWorkflowRunLogEvent } from '../EventStore.js';
2
+ import type { JSONRPCClient } from '../models/JSONRPCClient.js';
3
+ export type WorkflowRunEvent = IWorkflowRunEvent | IWorkflowRunActivityEvent | IWorkflowRunAsyncActivityEvent | IWorkflowRunLogEvent;
4
+ export declare class WorkflowRunEventProducer {
5
+ #private;
6
+ attach(client: JSONRPCClient): void;
7
+ private get client();
8
+ send<T extends WorkflowRunEvent['event']>(event: T, data: Omit<Extract<WorkflowRunEvent, {
9
+ event: T;
10
+ }>, 'event'>): void;
11
+ }
@@ -0,0 +1,26 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Injectable } from 'pleroma';
8
+ let WorkflowRunEventProducer = class WorkflowRunEventProducer {
9
+ #client;
10
+ attach(client) {
11
+ this.#client = client;
12
+ }
13
+ get client() {
14
+ if (!this.#client)
15
+ throw new Error('JSON RPC client not attached');
16
+ return this.#client;
17
+ }
18
+ send(event, data) {
19
+ void this.client.notify(event, { event, ...data });
20
+ }
21
+ };
22
+ WorkflowRunEventProducer = __decorate([
23
+ Injectable()
24
+ ], WorkflowRunEventProducer);
25
+ export { WorkflowRunEventProducer };
26
+ //# sourceMappingURL=WorkflowRunEventProducer.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowRunEventProducer.service.js","sourceRoot":"","sources":["../../src/services/WorkflowRunEventProducer.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAiB7B,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,OAAO,CAAgB;IAEhB,MAAM,CAAC,MAAqB;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAY,MAAM;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAElE,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEM,IAAI,CACT,KAAQ,EACR,IAA4D;QAE5D,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;IACpD,CAAC;CACF,CAAA;AAnBY,wBAAwB;IADpC,UAAU,EAAE;GACA,wBAAwB,CAmBpC"}
@@ -0,0 +1,16 @@
1
+ import type { JSONRPCClient } from '../models/JSONRPCClient.js';
2
+ export interface DevServerSocketBridgeOptions {
3
+ port?: number;
4
+ }
5
+ export declare class DevServerSocketBridge {
6
+ private readonly jsonRpcClient;
7
+ private readonly options?;
8
+ private wss?;
9
+ private readonly connections;
10
+ constructor(jsonRpcClient: JSONRPCClient, options?: DevServerSocketBridgeOptions | undefined);
11
+ listen(): Promise<{
12
+ url: string;
13
+ close(): Promise<void>;
14
+ }>;
15
+ notify(method: string, ...params: unknown[]): void;
16
+ }
@@ -0,0 +1,75 @@
1
+ import {} from 'node:net';
2
+ import { WebSocket, WebSocketServer } from 'ws';
3
+ function isLocalhostOrigin(origin) {
4
+ try {
5
+ const { hostname } = new URL(origin);
6
+ return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1';
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ }
12
+ export class DevServerSocketBridge {
13
+ jsonRpcClient;
14
+ options;
15
+ wss;
16
+ connections = new Set();
17
+ constructor(jsonRpcClient, options) {
18
+ this.jsonRpcClient = jsonRpcClient;
19
+ this.options = options;
20
+ }
21
+ async listen() {
22
+ return new Promise((resolve, reject) => {
23
+ const wss = new WebSocketServer({
24
+ host: '127.0.0.1',
25
+ port: this.options?.port ?? 0,
26
+ });
27
+ this.wss = wss;
28
+ wss.on('connection', (ws, req) => {
29
+ const origin = req.headers['origin'];
30
+ if (origin && !isLocalhostOrigin(origin)) {
31
+ ws.close(1008, 'Forbidden');
32
+ return;
33
+ }
34
+ this.connections.add(ws);
35
+ ws.on('close', () => this.connections.delete(ws));
36
+ ws.on('message', async (raw) => {
37
+ let call;
38
+ try {
39
+ call = JSON.parse(raw.toString());
40
+ const result = await this.jsonRpcClient.call(call.method, ...(call.params ?? []));
41
+ ws.send(JSON.stringify({ jsonrpc: '2.0', id: call.id, result: result ?? null }));
42
+ }
43
+ catch (error) {
44
+ if (call?.id !== undefined) {
45
+ ws.send(JSON.stringify({
46
+ jsonrpc: '2.0',
47
+ id: call.id,
48
+ error: {
49
+ code: -32000,
50
+ message: error instanceof Error ? error.message : 'Internal error',
51
+ },
52
+ }));
53
+ }
54
+ }
55
+ });
56
+ });
57
+ wss.on('listening', () => {
58
+ const addr = wss.address();
59
+ resolve({
60
+ url: `ws://127.0.0.1:${addr.port}`,
61
+ close: () => new Promise((res, rej) => wss.close(err => (err ? rej(err) : res()))),
62
+ });
63
+ });
64
+ wss.on('error', reject);
65
+ });
66
+ }
67
+ notify(method, ...params) {
68
+ const data = JSON.stringify({ jsonrpc: '2.0', method, params });
69
+ for (const ws of this.connections) {
70
+ if (ws.readyState === WebSocket.OPEN)
71
+ ws.send(data);
72
+ }
73
+ }
74
+ }
75
+ //# sourceMappingURL=DevServerSocketBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevServerSocketBridge.js","sourceRoot":"","sources":["../../src/socket/DevServerSocketBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { WebSocket } from 'ws';
2
+ export interface ServerSocketOptions {
3
+ port?: number;
4
+ }
5
+ export interface ServerSocketListenResult {
6
+ url: string;
7
+ }
8
+ export declare class ServerSocket {
9
+ private readonly options?;
10
+ url: string | undefined;
11
+ private wss;
12
+ private readonly connections;
13
+ constructor(options?: ServerSocketOptions | undefined);
14
+ listen(): Promise<void>;
15
+ onConnection(listener: (ws: WebSocket) => void): void;
16
+ notify(data: string): void;
17
+ close(): Promise<void>;
18
+ }
@@ -0,0 +1,57 @@
1
+ import { WebSocket, WebSocketServer } from 'ws';
2
+ import { isLocalhost } from '../tools/is-localhost.js';
3
+ export class ServerSocket {
4
+ options;
5
+ url;
6
+ wss;
7
+ connections = new Set();
8
+ constructor(options) {
9
+ this.options = options;
10
+ }
11
+ async listen() {
12
+ this.wss = new WebSocketServer({
13
+ host: '127.0.0.1',
14
+ port: this.options?.port ?? 0,
15
+ });
16
+ return new Promise((resolve, reject) => {
17
+ this.wss.once('error', reject);
18
+ this.wss.once('listening', () => {
19
+ this.wss.off('error', reject);
20
+ const address = this.wss.address();
21
+ if (!address || typeof address === 'string')
22
+ return reject(new Error('Failed to resolve WebSocket address'));
23
+ this.url = `ws://127.0.0.1:${address.port}`;
24
+ resolve();
25
+ });
26
+ });
27
+ }
28
+ onConnection(listener) {
29
+ this.wss.on('connection', (ws, req) => {
30
+ const origin = req.headers.origin;
31
+ if (origin && !isLocalhost(origin)) {
32
+ ws.close(1008, 'Forbidden');
33
+ return;
34
+ }
35
+ this.connections.add(ws);
36
+ ws.on('close', () => this.connections.delete(ws));
37
+ listener(ws);
38
+ });
39
+ }
40
+ notify(data) {
41
+ for (const ws of this.connections) {
42
+ if (ws.readyState === WebSocket.OPEN)
43
+ ws.send(data);
44
+ }
45
+ }
46
+ async close() {
47
+ return new Promise((resolve, reject) => {
48
+ this.wss.close(error => {
49
+ if (error)
50
+ reject(error);
51
+ else
52
+ resolve();
53
+ });
54
+ });
55
+ }
56
+ }
57
+ //# sourceMappingURL=ServerSocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerSocket.js","sourceRoot":"","sources":["../../src/socket/ServerSocket.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAUtD,MAAM,OAAO,YAAY;IAMM;IALtB,GAAG,CAAoB;IACtB,GAAG,CAAkB;IAEZ,WAAW,GAAG,IAAI,GAAG,EAAa,CAAA;IAEnD,YAA6B,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IAEvD,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC;YAC7B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;SAC9B,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAE9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;gBAElC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;oBACzC,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;gBAEjE,IAAI,CAAC,GAAG,GAAG,kBAAmB,OAAuB,CAAC,IAAI,EAAE,CAAA;gBAE5D,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,YAAY,CAAC,QAAiC;QACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAA;YAEjC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;gBAC3B,OAAM;YACR,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAExB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAEjD,QAAQ,CAAC,EAAE,CAAC,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,MAAM,CAAC,IAAY;QACxB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACrB,IAAI,KAAK;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAA;;oBACnB,OAAO,EAAE,CAAA;YAChB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export declare function isLocalhost(origin: string): boolean;
@@ -0,0 +1,11 @@
1
+ const localhost = ['localhost', '127.0.0.1', '::1'];
2
+ export function isLocalhost(origin) {
3
+ try {
4
+ const { hostname } = new URL(origin);
5
+ return localhost.includes(hostname);
6
+ }
7
+ catch {
8
+ return false;
9
+ }
10
+ }
11
+ //# sourceMappingURL=is-localhost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-localhost.js","sourceRoot":"","sources":["../../src/tools/is-localhost.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;AAEnD,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;QAEpC,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { Log } from '@t4h.framework/core';
2
+ import type { WorkflowRunStatus } from '../models/WorkflowRun.js';
3
+ import type { AsyncActivityPendingStatus, WorkflowRunActivityStatus } from '../models/WorkflowRunActivity.js';
4
+ export declare enum WorkflowRunEventMethod {
5
+ WorkflowRunUpdated = "workflow-run.updated",
6
+ WorkflowRunActivityCreated = "workflow-run-activity.created",
7
+ WorkflowRunActivityUpdated = "workflow-run-activity.updated",
8
+ WorkflowRunAsyncActivityCreated = "workflow-run-async-activity.created",
9
+ WorkflowRunAsyncActivityResolved = "workflow-run-async-activity.resolved",
10
+ Log = "log"
11
+ }
12
+ export interface WorkflowRunEvent {
13
+ id: string;
14
+ workflow: string;
15
+ status: WorkflowRunStatus;
16
+ createdAt: number;
17
+ finishedAt?: number;
18
+ output?: unknown;
19
+ error?: {
20
+ message: string;
21
+ stack?: string;
22
+ };
23
+ }
24
+ export interface WorkflowRunActivityEvent {
25
+ id: string;
26
+ workflowRun: string;
27
+ type: 'sync' | 'async';
28
+ status: WorkflowRunActivityStatus;
29
+ output?: unknown;
30
+ createdAt: number;
31
+ finishedAt?: number;
32
+ }
33
+ export interface WorkflowRunAsyncActivityEvent {
34
+ id: string;
35
+ workflowRun: string;
36
+ activity: string;
37
+ status: AsyncActivityPendingStatus;
38
+ timeoutAt?: number;
39
+ }
40
+ export interface LogEvent {
41
+ workflowRun: string;
42
+ log: Log;
43
+ }
@@ -0,0 +1,10 @@
1
+ export var WorkflowRunEventMethod;
2
+ (function (WorkflowRunEventMethod) {
3
+ WorkflowRunEventMethod["WorkflowRunUpdated"] = "workflow-run.updated";
4
+ WorkflowRunEventMethod["WorkflowRunActivityCreated"] = "workflow-run-activity.created";
5
+ WorkflowRunEventMethod["WorkflowRunActivityUpdated"] = "workflow-run-activity.updated";
6
+ WorkflowRunEventMethod["WorkflowRunAsyncActivityCreated"] = "workflow-run-async-activity.created";
7
+ WorkflowRunEventMethod["WorkflowRunAsyncActivityResolved"] = "workflow-run-async-activity.resolved";
8
+ WorkflowRunEventMethod["Log"] = "log";
9
+ })(WorkflowRunEventMethod || (WorkflowRunEventMethod = {}));
10
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/typings/events.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,qEAA2C,CAAA;IAC3C,sFAA4D,CAAA;IAC5D,sFAA4D,CAAA;IAC5D,iGAAuE,CAAA;IACvE,mGAAyE,CAAA;IACzE,qCAAW,CAAA;AACb,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC"}
@@ -26,7 +26,7 @@ let CreateWorkflowRunAsyncActivity = class CreateWorkflowRunAsyncActivity {
26
26
  if (!activity.asyncActivity)
27
27
  throw new Error(`Activity is not an async activity: ${activity.id}`);
28
28
  const Activity = activity.constructable;
29
- const bootstrap = await Internals.runActivity(Activity, { claims, env }, async (activity) => {
29
+ const bootstrap = await Internals.runActivity(Activity, { claims, env, id: activity.id }, async (activity) => {
30
30
  if (!(activity instanceof AsyncActivity))
31
31
  throw new Error(`Activity is not an async activity: ${activity.constructor.name}`);
32
32
  return activity.bootstrap(input);
@@ -1 +1 @@
1
- {"version":3,"file":"CreateWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ let TimeoutWorkflowRunAsyncActivity = class TimeoutWorkflowRunAsyncActivity {
21
21
  async timeout(asyncActivity, pending) {
22
22
  await Claim.run(claims, async () => {
23
23
  const Activity = asyncActivity.activity.constructable;
24
- const result = await Internals.runActivity(new Activity(), { claims, env }, async (activity) => {
24
+ const result = await Internals.runActivity(new Activity(), { claims, env, id: asyncActivity.activity.id }, async (activity) => {
25
25
  if (!(activity instanceof AsyncActivity))
26
26
  throw new Error(`Activity is not an async activity: ${activity.constructor.name}`);
27
27
  if (!activity.onTimeout)
@@ -1 +1 @@
1
- {"version":3,"file":"TimeoutWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,KAAK,EACL,SAAS,GACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAA;AAElF,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAGvB;IAFnB,YAEmB,+BAAiE;QAAjE,oCAA+B,GAA/B,+BAA+B,CAAkC;IACjF,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,aAAuC,EACvC,OAAwC;QAExC,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAA;YAErD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,IAAI,QAAQ,EAAE,EACd,EAAE,MAAM,EAAE,GAAG,EAAE,EACf,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC;oBACtC,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAClE,CAAA;gBAEH,IAAI,CAAC,QAAQ,CAAC,SAAS;oBACrB,OAAO,IAAI,2BAA2B,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;gBAE/D,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAC9C,CAAC,CACF,CAAA;YAED,MAAM,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CACjD,OAAO,EACP,aAAa,CAAC,QAAQ,EACtB,MAAM,CACP,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AApCY,+BAA+B;IAD3C,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAA;GAFtC,+BAA+B,CAoC3C"}
1
+ {"version":3,"file":"TimeoutWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,KAAK,EACL,SAAS,GACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAA;AAElF,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAGvB;IAFnB,YAEmB,+BAAiE;QAAjE,oCAA+B,GAA/B,+BAA+B,CAAkC;IACjF,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,aAAuC,EACvC,OAAwC;QAExC,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAA;YAErD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,IAAI,QAAQ,EAAE,EACd,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,EAC9C,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC;oBACtC,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAClE,CAAA;gBAEH,IAAI,CAAC,QAAQ,CAAC,SAAS;oBACrB,OAAO,IAAI,2BAA2B,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;gBAE/D,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAC9C,CAAC,CACF,CAAA;YAED,MAAM,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CACjD,OAAO,EACP,aAAa,CAAC,QAAQ,EACtB,MAAM,CACP,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AApCY,+BAA+B;IAD3C,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAA;GAFtC,+BAA+B,CAoC3C"}
@@ -29,7 +29,7 @@ let WorkflowRunAsyncActivity = class WorkflowRunAsyncActivity {
29
29
  if (!initialPending)
30
30
  throw new Error(`Initial pending not found for async activity: ${activity.id}`);
31
31
  const Activity = activity.constructable;
32
- const result = await Internals.runActivity(new Activity(), { claims, env }, async (activity) => {
32
+ const result = await Internals.runActivity(new Activity(), { claims, env, id: activity.id }, async (activity) => {
33
33
  if (!(activity instanceof AsyncActivity))
34
34
  throw new Error(`Activity is not an async activity: ${activity.constructor.name}`);
35
35
  return activity.advance(pending.payload, initialPending.bootstrap);
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/WorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAA;AACtG,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAGhB;IAFnB,YAEmB,wBAAwD;QAAxD,6BAAwB,GAAxB,wBAAwB,CAAgC;IACxE,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,QAA6B;QAC5C,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEtE,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAA;YAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,wBAAwB,CAAA;YAEtD,IAAI,CAAC,OAAO;gBACV,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,CAAC,EAAE,EAAE,CAC5D,CAAA;YAEH,MAAM,cAAc,GAAG,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAC9D,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAC7B,CAAA;YAED,IAAI,CAAC,cAAc;gBACjB,MAAM,IAAI,KAAK,CACb,iDAAiD,QAAQ,CAAC,EAAE,EAAE,CAC/D,CAAA;YAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAA;YAEvC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,IAAI,QAAQ,EAAE,EACd,EAAE,MAAM,EAAE,GAAG,EAAE,EACf,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC;oBACtC,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAClE,CAAA;gBAEH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;YACpE,CAAC,CACF,CAAA;YAED,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA/CY,wBAAwB;IADpC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAA;GAFpC,wBAAwB,CA+CpC"}
1
+ {"version":3,"file":"WorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/WorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAA;AACtG,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAGhB;IAFnB,YAEmB,wBAAwD;QAAxD,6BAAwB,GAAxB,wBAAwB,CAAgC;IACxE,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,QAA6B;QAC5C,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEtE,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAA;YAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,wBAAwB,CAAA;YAEtD,IAAI,CAAC,OAAO;gBACV,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,CAAC,EAAE,EAAE,CAC5D,CAAA;YAEH,MAAM,cAAc,GAAG,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAC9D,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAC7B,CAAA;YAED,IAAI,CAAC,cAAc;gBACjB,MAAM,IAAI,KAAK,CACb,iDAAiD,QAAQ,CAAC,EAAE,EAAE,CAC/D,CAAA;YAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAA;YAEvC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,IAAI,QAAQ,EAAE,EACd,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAChC,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC;oBACtC,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAClE,CAAA;gBAEH,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;YACpE,CAAC,CACF,CAAA;YAED,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA/CY,wBAAwB;IADpC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAA;GAFpC,wBAAwB,CA+CpC"}
@@ -19,13 +19,14 @@ let WorkflowRunBuildHistory = class WorkflowRunBuildHistory {
19
19
  const activities = this.workflowRunActivityRepository.findByRunId(run.id);
20
20
  return activities.map(activity => {
21
21
  if (activity.type === 'sync')
22
- return { type: 'sync', output: activity.output };
22
+ return { id: activity.id, type: 'sync', output: activity.output };
23
23
  if (!activity.asyncActivity)
24
24
  throw new Error(`Async activity record not found: ${activity.id}`);
25
25
  const lastPending = activity.asyncActivity.lastPendingAsyncActivity;
26
26
  if (!lastPending)
27
27
  throw new Error(`Last pending not found for async activity: ${activity.id}`);
28
28
  return {
29
+ id: activity.id,
29
30
  type: 'async',
30
31
  status: lastPending.status,
31
32
  output: activity.output,
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowRunBuildHistory.usecase.js","sourceRoot":"","sources":["../../src/use-cases/WorkflowRunBuildHistory.usecase.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAA;AAG1F,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAGf;IAFnB,YAEmB,6BAA4D;QAA5D,kCAA6B,GAA7B,6BAA6B,CAA+B;IAC5E,CAAC;IAEG,KAAK,CAAC,GAAgB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEzE,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;gBAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;YAElD,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACzB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEpE,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAA;YAEnE,IAAI,CAAC,WAAW;gBACd,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,CAAC,EAAE,EAAE,CAC5D,CAAA;YAEH,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA9BY,uBAAuB;IADnC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;GAFnC,uBAAuB,CA8BnC"}
1
+ {"version":3,"file":"WorkflowRunBuildHistory.usecase.js","sourceRoot":"","sources":["../../src/use-cases/WorkflowRunBuildHistory.usecase.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAA;AAG1F,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAGf;IAFnB,YAEmB,6BAA4D;QAA5D,kCAA6B,GAA7B,6BAA6B,CAA+B;IAC5E,CAAC;IAEG,KAAK,CAAC,GAAgB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEzE,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;gBAC1B,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;YAEnE,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACzB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEpE,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAA;YAEnE,IAAI,CAAC,WAAW;gBACd,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,CAAC,EAAE,EAAE,CAC5D,CAAA;YAEH,OAAO;gBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA/BY,uBAAuB;IADnC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;GAFnC,uBAAuB,CA+BnC"}
@@ -12,7 +12,7 @@ import { env } from '../workers/app-process.js';
12
12
  let WorkflowRunSyncActivity = class WorkflowRunSyncActivity {
13
13
  async run(activity, input) {
14
14
  await Claim.run(claims, async () => {
15
- const output = await Internals.runActivity(activity.constructable, { claims, env }, async (activity) => {
15
+ const output = await Internals.runActivity(activity.constructable, { claims, env, id: activity.id }, async (activity) => {
16
16
  if (!(activity instanceof SyncActivity))
17
17
  throw new Error(`Activity is not a sync activity: ${activity.constructor.name}`);
18
18
  return activity.run(input);
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowRunSyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/WorkflowRunSyncActivity.usecase.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAC3B,KAAK,CAAC,GAAG,CAAC,QAA6B,EAAE,KAAc;QAC5D,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,QAAQ,CAAC,aAAa,EACtB,EAAE,MAAM,EAAE,GAAG,EAAE,EACf,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,YAAY,CAAC;oBACrC,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAChE,CAAA;gBAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC,CACF,CAAA;YAED,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAnBY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAmBnC"}
1
+ {"version":3,"file":"WorkflowRunSyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/WorkflowRunSyncActivity.usecase.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAC3B,KAAK,CAAC,GAAG,CAAC,QAA6B,EAAE,KAAc;QAC5D,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,QAAQ,CAAC,aAAa,EACtB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAChC,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,YAAY,CAAC;oBACrC,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAChE,CAAA;gBAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC,CACF,CAAA;YAED,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAnBY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAmBnC"}