@meetploy/emulator 1.11.0 → 1.12.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.
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Ploy Dev Dashboard</title>
7
- <script type="module" crossorigin src="/assets/main-BFhQn9QT.js"></script>
7
+ <script type="module" crossorigin src="/assets/main-CZRtZPnP.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/main-5Kt9I_hM.css">
9
9
  </head>
10
10
  <body>
@@ -1,5 +1,6 @@
1
1
  import { serve } from "@hono/node-server";
2
2
  import { Hono } from "hono";
3
+ import { DEFAULT_STEP_TIMEOUT_S, DEFAULT_WORKFLOW_TIMEOUT_S, getWorkflowName, getWorkflowStepTimeout, getWorkflowTimeout, } from "../config/ploy-config.js";
3
4
  import { getDataDir } from "../utils/paths.js";
4
5
  import { createAuthHandlers } from "./auth-service.js";
5
6
  import { createCacheHandlers } from "./cache-service.js";
@@ -9,7 +10,7 @@ import { createFsHandlers } from "./fs-service.js";
9
10
  import { createQueueHandlers } from "./queue-service.js";
10
11
  import { createStateHandlers } from "./state-service.js";
11
12
  import { createTimerHandlers } from "./timer-service.js";
12
- import { createWorkflowHandlers } from "./workflow-service.js";
13
+ import { createWorkflowHandlers, DEFAULT_STALL_TIMEOUT_S, startStalledWorkflowRecovery, startWorkflowTimeoutEnforcement, } from "./workflow-service.js";
13
14
  export const DEFAULT_MOCK_SERVER_PORT = 4003;
14
15
  export async function startMockServer(dbManager, config, options = {}) {
15
16
  const app = new Hono();
@@ -25,6 +26,8 @@ export async function startMockServer(dbManager, config, options = {}) {
25
26
  app.post("/queue/ack", queueHandlers.ackHandler);
26
27
  app.post("/queue/retry", queueHandlers.retryHandler);
27
28
  }
29
+ let stalledRecoveryInterval;
30
+ let timeoutEnforcementInterval;
28
31
  if (config.workflow) {
29
32
  const workflowHandlers = createWorkflowHandlers(dbManager.emulatorDb, options.workerUrl);
30
33
  app.post("/workflow/trigger", workflowHandlers.triggerHandler);
@@ -35,6 +38,28 @@ export async function startMockServer(dbManager, config, options = {}) {
35
38
  app.post("/workflow/step/fail", workflowHandlers.stepFailHandler);
36
39
  app.post("/workflow/complete", workflowHandlers.completeHandler);
37
40
  app.post("/workflow/fail", workflowHandlers.failHandler);
41
+ const perWorkflow = {};
42
+ const perWorkflowStep = {};
43
+ for (const [, value] of Object.entries(config.workflow)) {
44
+ const workflowName = getWorkflowName(value);
45
+ const timeout = getWorkflowTimeout(value);
46
+ const stepTimeout = getWorkflowStepTimeout(value);
47
+ if (timeout !== undefined) {
48
+ perWorkflow[workflowName] = timeout;
49
+ }
50
+ if (stepTimeout !== undefined) {
51
+ perWorkflowStep[workflowName] = stepTimeout;
52
+ }
53
+ }
54
+ timeoutEnforcementInterval = startWorkflowTimeoutEnforcement(dbManager.emulatorDb, 5000, {
55
+ perWorkflow,
56
+ perWorkflowStep,
57
+ defaultTimeoutS: DEFAULT_WORKFLOW_TIMEOUT_S,
58
+ defaultStepTimeoutS: DEFAULT_STEP_TIMEOUT_S,
59
+ });
60
+ if (options.workerUrl) {
61
+ stalledRecoveryInterval = startStalledWorkflowRecovery(dbManager.emulatorDb, options.workerUrl, 5000, DEFAULT_STALL_TIMEOUT_S);
62
+ }
38
63
  }
39
64
  if (config.cache) {
40
65
  const cacheHandlers = createCacheHandlers(dbManager.emulatorDb);
@@ -82,6 +107,12 @@ export async function startMockServer(dbManager, config, options = {}) {
82
107
  resolve({
83
108
  port: info.port,
84
109
  close: () => new Promise((res) => {
110
+ if (stalledRecoveryInterval) {
111
+ clearInterval(stalledRecoveryInterval);
112
+ }
113
+ if (timeoutEnforcementInterval) {
114
+ clearInterval(timeoutEnforcementInterval);
115
+ }
85
116
  server.close(() => {
86
117
  res();
87
118
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../src/services/mock-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../src/services/mock-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EACN,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,+BAA+B,GAC/B,MAAM,uBAAuB,CAAC;AAU/B,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAQ7C,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,SAA0B,EAC1B,MAAkB,EAClB,UAA6B,EAAE;IAE/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,uBAAmD,CAAC;IACxD,IAAI,0BAAsD,CAAC;IAC3D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,gBAAgB,GAAG,sBAAsB,CAC9C,SAAS,CAAC,UAAU,EACpB,OAAO,CAAC,SAAS,CACjB,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAC1E,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAGzD,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,MAAM,eAAe,GAA2B,EAAE,CAAC;QACnD,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,WAAW,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;YACrC,CAAC;YACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC/B,eAAe,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;YAC7C,CAAC;QACF,CAAC;QAGD,0BAA0B,GAAG,+BAA+B,CAC3D,SAAS,CAAC,UAAU,EACpB,IAAI,EACJ;YACC,WAAW;YACX,eAAe;YACf,eAAe,EAAE,0BAA0B;YAC3C,mBAAmB,EAAE,sBAAsB;SAC3C,CACD,CAAC;QAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAEvB,uBAAuB,GAAG,4BAA4B,CACrD,SAAS,CAAC,UAAU,EACpB,OAAO,CAAC,SAAS,EACjB,IAAI,EACJ,uBAAuB,CACvB,CAAC;QACH,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAGpD,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;QACxC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,wBAAwB,CAAC;IAE5D,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,KAAK,CACnB;YACC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,UAAU;SAChB,EACD,CAAC,IAAI,EAAE,EAAE;YACR,OAAO,CAAC;gBACP,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,GAAG,EAAE,CACX,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;oBACzB,IAAI,uBAAuB,EAAE,CAAC;wBAC7B,aAAa,CAAC,uBAAuB,CAAC,CAAC;oBACxC,CAAC;oBACD,IAAI,0BAA0B,EAAE,CAAC;wBAChC,aAAa,CAAC,0BAA0B,CAAC,CAAC;oBAC3C,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBACjB,GAAG,EAAE,CAAC;oBACP,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC,CAAC;QACJ,CAAC,CACD,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -98,6 +98,15 @@ export declare function createWorkflowHandlers(db: SqliteDatabase, workerUrl?: s
98
98
  error: string;
99
99
  }, 500, "json">)>;
100
100
  };
101
+ export declare const DEFAULT_STALL_TIMEOUT_S: number;
102
+ export interface WorkflowTimeouts {
103
+ perWorkflow: Record<string, number>;
104
+ perWorkflowStep: Record<string, number>;
105
+ defaultTimeoutS: number;
106
+ defaultStepTimeoutS: number;
107
+ }
108
+ export declare function startWorkflowTimeoutEnforcement(db: SqliteDatabase, intervalMs: number | undefined, timeouts: WorkflowTimeouts): NodeJS.Timeout;
109
+ export declare function startStalledWorkflowRecovery(db: SqliteDatabase, workerUrl: string, intervalMs?: number, stallTimeoutS?: number): NodeJS.Timeout;
101
110
  export interface WorkflowExecutor {
102
111
  triggerWorkflow: (workflowName: string, input: unknown, workerUrl: string) => Promise<string>;
103
112
  }
@@ -1,4 +1,5 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import * as logger from "../utils/logger.js";
2
3
  export function createWorkflowHandlers(db, workerUrl) {
3
4
  const triggerHandler = async (c) => {
4
5
  try {
@@ -117,7 +118,7 @@ export function createWorkflowHandlers(db, workerUrl) {
117
118
  }
118
119
  const now = Math.floor(Date.now() / 1000);
119
120
  if (existing) {
120
- db.prepare(`UPDATE workflow_steps SET status = 'running' WHERE execution_id = ? AND step_name = ?`).run(executionId, stepName);
121
+ db.prepare(`UPDATE workflow_steps SET status = 'running', error = NULL, created_at = ? WHERE execution_id = ? AND step_name = ? AND step_index = ?`).run(now, executionId, stepName, stepIndex);
121
122
  }
122
123
  else {
123
124
  db.prepare(`INSERT INTO workflow_steps (execution_id, step_name, step_index, status, created_at)
@@ -133,10 +134,17 @@ export function createWorkflowHandlers(db, workerUrl) {
133
134
  const stepCompleteHandler = async (c) => {
134
135
  try {
135
136
  const body = await c.req.json();
136
- const { executionId, stepName, output, durationMs } = body;
137
- db.prepare(`UPDATE workflow_steps
138
- SET status = 'completed', output = ?, duration_ms = ?
139
- WHERE execution_id = ? AND step_name = ?`).run(JSON.stringify(output), durationMs, executionId, stepName);
137
+ const { executionId, stepName, stepIndex, output, durationMs } = body;
138
+ if (stepIndex !== undefined) {
139
+ db.prepare(`UPDATE workflow_steps
140
+ SET status = 'completed', output = ?, duration_ms = ?
141
+ WHERE execution_id = ? AND step_name = ? AND step_index = ?`).run(JSON.stringify(output), durationMs, executionId, stepName, stepIndex);
142
+ }
143
+ else {
144
+ db.prepare(`UPDATE workflow_steps
145
+ SET status = 'completed', output = ?, duration_ms = ?
146
+ WHERE execution_id = ? AND step_name = ?`).run(JSON.stringify(output), durationMs, executionId, stepName);
147
+ }
140
148
  return c.json({ success: true });
141
149
  }
142
150
  catch (err) {
@@ -147,10 +155,17 @@ export function createWorkflowHandlers(db, workerUrl) {
147
155
  const stepFailHandler = async (c) => {
148
156
  try {
149
157
  const body = await c.req.json();
150
- const { executionId, stepName, error, durationMs } = body;
151
- db.prepare(`UPDATE workflow_steps
152
- SET status = 'failed', error = ?, duration_ms = ?
153
- WHERE execution_id = ? AND step_name = ?`).run(error, durationMs, executionId, stepName);
158
+ const { executionId, stepName, stepIndex, error, durationMs } = body;
159
+ if (stepIndex !== undefined) {
160
+ db.prepare(`UPDATE workflow_steps
161
+ SET status = 'failed', error = ?, duration_ms = ?
162
+ WHERE execution_id = ? AND step_name = ? AND step_index = ?`).run(error, durationMs, executionId, stepName, stepIndex);
163
+ }
164
+ else {
165
+ db.prepare(`UPDATE workflow_steps
166
+ SET status = 'failed', error = ?, duration_ms = ?
167
+ WHERE execution_id = ? AND step_name = ?`).run(error, durationMs, executionId, stepName);
168
+ }
154
169
  return c.json({ success: true });
155
170
  }
156
171
  catch (err) {
@@ -199,6 +214,128 @@ export function createWorkflowHandlers(db, workerUrl) {
199
214
  failHandler,
200
215
  };
201
216
  }
217
+ export const DEFAULT_STALL_TIMEOUT_S = 100 * 60;
218
+ export function startWorkflowTimeoutEnforcement(db, intervalMs = 5000, timeouts) {
219
+ let isRunning = false;
220
+ return setInterval(() => void (async () => {
221
+ if (isRunning) {
222
+ return;
223
+ }
224
+ isRunning = true;
225
+ try {
226
+ const now = Math.floor(Date.now() / 1000);
227
+ const allTimeouts = [
228
+ timeouts.defaultTimeoutS,
229
+ ...Object.values(timeouts.perWorkflow),
230
+ ];
231
+ const minTimeoutS = Math.min(...allTimeouts);
232
+ const queryThreshold = now - minTimeoutS;
233
+ const timedOutCandidates = db
234
+ .prepare(`SELECT id, workflow_name, started_at FROM workflow_executions
235
+ WHERE status = 'running' AND started_at < ?`)
236
+ .all(queryThreshold);
237
+ for (const execution of timedOutCandidates) {
238
+ const timeoutS = timeouts.perWorkflow[execution.workflow_name] ??
239
+ timeouts.defaultTimeoutS;
240
+ const threshold = now - timeoutS;
241
+ if (execution.started_at >= threshold) {
242
+ continue;
243
+ }
244
+ db.prepare(`UPDATE workflow_executions
245
+ SET status = 'failed', error = ?, completed_at = ?
246
+ WHERE id = ? AND status = 'running'`).run(`Workflow exceeded timeout of ${timeoutS}s`, now, execution.id);
247
+ }
248
+ const allStepTimeouts = [
249
+ timeouts.defaultStepTimeoutS,
250
+ ...Object.values(timeouts.perWorkflowStep),
251
+ ];
252
+ const minStepTimeoutS = Math.min(...allStepTimeouts);
253
+ const stepQueryThreshold = now - minStepTimeoutS;
254
+ const timedOutSteps = db
255
+ .prepare(`SELECT ws.id, ws.execution_id, ws.step_name, ws.step_index, ws.created_at, we.workflow_name
256
+ FROM workflow_steps ws
257
+ JOIN workflow_executions we ON we.id = ws.execution_id
258
+ WHERE ws.status = 'running' AND ws.created_at < ?`)
259
+ .all(stepQueryThreshold);
260
+ for (const step of timedOutSteps) {
261
+ const stepTimeoutS = timeouts.perWorkflowStep[step.workflow_name] ??
262
+ timeouts.defaultStepTimeoutS;
263
+ const stepThreshold = now - stepTimeoutS;
264
+ if (step.created_at >= stepThreshold) {
265
+ continue;
266
+ }
267
+ db.transaction(() => {
268
+ db.prepare(`UPDATE workflow_steps
269
+ SET status = 'failed', error = ?
270
+ WHERE id = ? AND status = 'running'`).run(`Step exceeded timeout of ${stepTimeoutS}s`, step.id);
271
+ db.prepare(`UPDATE workflow_executions
272
+ SET status = 'failed', error = ?, completed_at = ?
273
+ WHERE id = ? AND status = 'running'`).run(`Step '${step.step_name}' exceeded timeout of ${stepTimeoutS}s`, now, step.execution_id);
274
+ })();
275
+ }
276
+ }
277
+ catch (err) {
278
+ logger.warn(`Failed to enforce workflow timeouts: ${err instanceof Error ? err.message : String(err)}`);
279
+ }
280
+ finally {
281
+ isRunning = false;
282
+ }
283
+ })(), intervalMs);
284
+ }
285
+ export function startStalledWorkflowRecovery(db, workerUrl, intervalMs = 5000, stallTimeoutS = DEFAULT_STALL_TIMEOUT_S) {
286
+ let isRunning = false;
287
+ return setInterval(() => void (async () => {
288
+ if (isRunning) {
289
+ return;
290
+ }
291
+ isRunning = true;
292
+ try {
293
+ const now = Math.floor(Date.now() / 1000);
294
+ const queryThreshold = now - stallTimeoutS;
295
+ const stalledExecutions = db
296
+ .prepare(`SELECT id, workflow_name, input, started_at FROM workflow_executions
297
+ WHERE status = 'running' AND started_at < ?`)
298
+ .all(queryThreshold);
299
+ for (const execution of stalledExecutions) {
300
+ let input = null;
301
+ if (execution.input) {
302
+ try {
303
+ input = JSON.parse(execution.input);
304
+ }
305
+ catch {
306
+ db.prepare(`UPDATE workflow_executions SET status = 'failed', error = 'Malformed workflow input payload', completed_at = ? WHERE id = ?`).run(now, execution.id);
307
+ continue;
308
+ }
309
+ }
310
+ db.prepare(`UPDATE workflow_steps SET status = 'pending', error = NULL
311
+ WHERE execution_id = ? AND status = 'running'`).run(execution.id);
312
+ try {
313
+ const response = await fetch(workerUrl, {
314
+ method: "POST",
315
+ headers: {
316
+ "Content-Type": "application/json",
317
+ "X-Ploy-Workflow-Execution": "true",
318
+ "X-Ploy-Workflow-Name": execution.workflow_name,
319
+ "X-Ploy-Execution-Id": execution.id,
320
+ },
321
+ body: JSON.stringify(input),
322
+ });
323
+ if (response.ok) {
324
+ db.prepare(`UPDATE workflow_executions SET started_at = ? WHERE id = ?`).run(Math.floor(Date.now() / 1000), execution.id);
325
+ }
326
+ }
327
+ catch {
328
+ }
329
+ }
330
+ }
331
+ catch (err) {
332
+ logger.warn(`Failed to recover stalled workflows: ${err instanceof Error ? err.message : String(err)}`);
333
+ }
334
+ finally {
335
+ isRunning = false;
336
+ }
337
+ })(), intervalMs);
338
+ }
202
339
  export function createWorkflowExecutor(db) {
203
340
  return {
204
341
  triggerWorkflow(workflowName, input, workerUrl) {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-service.js","sourceRoot":"","sources":["../../src/services/workflow-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-service.js","sourceRoot":"","sources":["../../src/services/workflow-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};