@meetploy/emulator 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,348 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { Hono } from "hono";
3
+ import { afterEach, beforeEach, describe, expect, test } from "vitest";
4
+ import { createWorkflowHandlers } from "../services/workflow-service.js";
5
+ import { openDatabase } from "../utils/sqlite-db.js";
6
+ const SCHEMA = `
7
+ CREATE TABLE IF NOT EXISTS workflow_executions (
8
+ id TEXT PRIMARY KEY,
9
+ workflow_name TEXT NOT NULL,
10
+ status TEXT DEFAULT 'pending',
11
+ input TEXT,
12
+ output TEXT,
13
+ error TEXT,
14
+ started_at INTEGER,
15
+ completed_at INTEGER,
16
+ created_at INTEGER DEFAULT (strftime('%s', 'now'))
17
+ );
18
+
19
+ CREATE TABLE IF NOT EXISTS workflow_steps (
20
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
21
+ execution_id TEXT NOT NULL,
22
+ step_name TEXT NOT NULL,
23
+ step_index INTEGER NOT NULL,
24
+ status TEXT DEFAULT 'pending',
25
+ output TEXT,
26
+ error TEXT,
27
+ duration_ms INTEGER,
28
+ attempt INTEGER,
29
+ max_retries INTEGER,
30
+ created_at INTEGER DEFAULT (strftime('%s', 'now')),
31
+ FOREIGN KEY (execution_id) REFERENCES workflow_executions(id),
32
+ UNIQUE (execution_id, step_name, step_index)
33
+ );
34
+ `;
35
+ function createTestApp(db) {
36
+ const handlers = createWorkflowHandlers(db);
37
+ const app = new Hono();
38
+ app.post("/workflow/trigger", handlers.triggerHandler);
39
+ app.post("/workflow/status", handlers.statusHandler);
40
+ app.post("/workflow/step/start", handlers.stepStartHandler);
41
+ app.post("/workflow/step/complete", handlers.stepCompleteHandler);
42
+ app.post("/workflow/step/fail", handlers.stepFailHandler);
43
+ app.post("/workflow/complete", handlers.completeHandler);
44
+ app.post("/workflow/fail", handlers.failHandler);
45
+ return app;
46
+ }
47
+ function post(app, path, body) {
48
+ return app.request(path, {
49
+ method: "POST",
50
+ headers: { "Content-Type": "application/json" },
51
+ body: JSON.stringify(body),
52
+ });
53
+ }
54
+ function getStep(db, executionId, stepName) {
55
+ return db
56
+ .prepare(`SELECT status, output, error, attempt, max_retries, duration_ms
57
+ FROM workflow_steps WHERE execution_id = ? AND step_name = ?`)
58
+ .get(executionId, stepName);
59
+ }
60
+ describe("workflow runtime retry integration", () => {
61
+ let db;
62
+ let app;
63
+ beforeEach(() => {
64
+ db = openDatabase(":memory:");
65
+ db.exec(SCHEMA);
66
+ app = createTestApp(db);
67
+ });
68
+ afterEach(() => {
69
+ db.close();
70
+ });
71
+ function insertExecution(id) {
72
+ const now = Math.floor(Date.now() / 1000);
73
+ db.prepare(`INSERT INTO workflow_executions (id, workflow_name, status, started_at, created_at)
74
+ VALUES (?, ?, 'running', ?, ?)`).run(id, "test_workflow", now, now);
75
+ }
76
+ async function simulateStepRun(executionId, stepName, stepIndex, opts) {
77
+ const { maxRetries, succeedOnAttempt } = opts;
78
+ const startRes = await post(app, "/workflow/step/start", {
79
+ executionId,
80
+ stepName,
81
+ stepIndex,
82
+ });
83
+ const startBody = (await startRes.json());
84
+ if (startBody.alreadyCompleted) {
85
+ return { succeeded: true, attempts: 0 };
86
+ }
87
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
88
+ const attemptNum = attempt + 1;
89
+ if (succeedOnAttempt !== undefined && attemptNum === succeedOnAttempt) {
90
+ await post(app, "/workflow/step/complete", {
91
+ executionId,
92
+ stepName,
93
+ stepIndex,
94
+ output: { result: "ok" },
95
+ durationMs: 100,
96
+ attempt: attemptNum,
97
+ maxRetries,
98
+ });
99
+ return { succeeded: true, attempts: attemptNum };
100
+ }
101
+ }
102
+ await post(app, "/workflow/step/fail", {
103
+ executionId,
104
+ stepName,
105
+ stepIndex,
106
+ error: "Step failed after all retries",
107
+ durationMs: 500,
108
+ attempt: maxRetries + 1,
109
+ maxRetries,
110
+ });
111
+ return { succeeded: false, attempts: maxRetries + 1 };
112
+ }
113
+ test("step succeeds on first attempt — attempt=1, maxRetries stored", async () => {
114
+ const executionId = randomUUID();
115
+ insertExecution(executionId);
116
+ await simulateStepRun(executionId, "load_data", 0, {
117
+ maxRetries: 3,
118
+ succeedOnAttempt: 1,
119
+ });
120
+ const step = getStep(db, executionId, "load_data");
121
+ expect(step.status).toBe("completed");
122
+ expect(step.attempt).toBe(1);
123
+ expect(step.max_retries).toBe(3);
124
+ expect(step.output).toBe(JSON.stringify({ result: "ok" }));
125
+ });
126
+ test("step succeeds after retries — attempt reflects actual attempt number", async () => {
127
+ const executionId = randomUUID();
128
+ insertExecution(executionId);
129
+ const result = await simulateStepRun(executionId, "flaky_api", 0, {
130
+ maxRetries: 3,
131
+ succeedOnAttempt: 3,
132
+ });
133
+ expect(result.succeeded).toBe(true);
134
+ expect(result.attempts).toBe(3);
135
+ const step = getStep(db, executionId, "flaky_api");
136
+ expect(step.status).toBe("completed");
137
+ expect(step.attempt).toBe(3);
138
+ expect(step.max_retries).toBe(3);
139
+ });
140
+ test("step fails after exhausting all retries — attempt = maxRetries + 1", async () => {
141
+ const executionId = randomUUID();
142
+ insertExecution(executionId);
143
+ const result = await simulateStepRun(executionId, "broken_step", 0, {
144
+ maxRetries: 3,
145
+ });
146
+ expect(result.succeeded).toBe(false);
147
+ expect(result.attempts).toBe(4);
148
+ const step = getStep(db, executionId, "broken_step");
149
+ expect(step.status).toBe("failed");
150
+ expect(step.attempt).toBe(4);
151
+ expect(step.max_retries).toBe(3);
152
+ expect(step.error).toBe("Step failed after all retries");
153
+ });
154
+ test("step with retries=0 fails immediately without retrying", async () => {
155
+ const executionId = randomUUID();
156
+ insertExecution(executionId);
157
+ const result = await simulateStepRun(executionId, "no_retry_step", 0, {
158
+ maxRetries: 0,
159
+ });
160
+ expect(result.succeeded).toBe(false);
161
+ expect(result.attempts).toBe(1);
162
+ const step = getStep(db, executionId, "no_retry_step");
163
+ expect(step.status).toBe("failed");
164
+ expect(step.attempt).toBe(1);
165
+ expect(step.max_retries).toBe(0);
166
+ });
167
+ test("step with retries=0 succeeds on first attempt", async () => {
168
+ const executionId = randomUUID();
169
+ insertExecution(executionId);
170
+ const result = await simulateStepRun(executionId, "one_shot", 0, {
171
+ maxRetries: 0,
172
+ succeedOnAttempt: 1,
173
+ });
174
+ expect(result.succeeded).toBe(true);
175
+ expect(result.attempts).toBe(1);
176
+ const step = getStep(db, executionId, "one_shot");
177
+ expect(step.status).toBe("completed");
178
+ expect(step.attempt).toBe(1);
179
+ expect(step.max_retries).toBe(0);
180
+ });
181
+ test("only the failing step retries — earlier completed steps are unaffected", async () => {
182
+ const executionId = randomUUID();
183
+ insertExecution(executionId);
184
+ await simulateStepRun(executionId, "step_0", 0, {
185
+ maxRetries: 3,
186
+ succeedOnAttempt: 1,
187
+ });
188
+ await simulateStepRun(executionId, "step_1", 1, {
189
+ maxRetries: 3,
190
+ succeedOnAttempt: 1,
191
+ });
192
+ await simulateStepRun(executionId, "step_2", 2, {
193
+ maxRetries: 3,
194
+ });
195
+ const step0 = getStep(db, executionId, "step_0");
196
+ expect(step0.status).toBe("completed");
197
+ expect(step0.attempt).toBe(1);
198
+ const step1 = getStep(db, executionId, "step_1");
199
+ expect(step1.status).toBe("completed");
200
+ expect(step1.attempt).toBe(1);
201
+ const step2 = getStep(db, executionId, "step_2");
202
+ expect(step2.status).toBe("failed");
203
+ expect(step2.attempt).toBe(4);
204
+ expect(step2.max_retries).toBe(3);
205
+ });
206
+ test("different steps can have different retry counts", async () => {
207
+ const executionId = randomUUID();
208
+ insertExecution(executionId);
209
+ await simulateStepRun(executionId, "quick_retry", 0, {
210
+ maxRetries: 1,
211
+ succeedOnAttempt: 2,
212
+ });
213
+ await simulateStepRun(executionId, "many_retries", 1, {
214
+ maxRetries: 5,
215
+ succeedOnAttempt: 4,
216
+ });
217
+ const step0 = getStep(db, executionId, "quick_retry");
218
+ expect(step0.status).toBe("completed");
219
+ expect(step0.attempt).toBe(2);
220
+ expect(step0.max_retries).toBe(1);
221
+ const step1 = getStep(db, executionId, "many_retries");
222
+ expect(step1.status).toBe("completed");
223
+ expect(step1.attempt).toBe(4);
224
+ expect(step1.max_retries).toBe(5);
225
+ });
226
+ test("step complete without attempt/maxRetries stores null (backwards compat)", async () => {
227
+ const executionId = randomUUID();
228
+ insertExecution(executionId);
229
+ await post(app, "/workflow/step/start", {
230
+ executionId,
231
+ stepName: "legacy_step",
232
+ stepIndex: 0,
233
+ });
234
+ await post(app, "/workflow/step/complete", {
235
+ executionId,
236
+ stepName: "legacy_step",
237
+ stepIndex: 0,
238
+ output: { data: 1 },
239
+ durationMs: 50,
240
+ });
241
+ const step = getStep(db, executionId, "legacy_step");
242
+ expect(step.status).toBe("completed");
243
+ expect(step.attempt).toBeNull();
244
+ expect(step.max_retries).toBeNull();
245
+ });
246
+ test("step fail without attempt/maxRetries stores null (backwards compat)", async () => {
247
+ const executionId = randomUUID();
248
+ insertExecution(executionId);
249
+ await post(app, "/workflow/step/start", {
250
+ executionId,
251
+ stepName: "legacy_fail",
252
+ stepIndex: 0,
253
+ });
254
+ await post(app, "/workflow/step/fail", {
255
+ executionId,
256
+ stepName: "legacy_fail",
257
+ stepIndex: 0,
258
+ error: "Something went wrong",
259
+ durationMs: 50,
260
+ });
261
+ const step = getStep(db, executionId, "legacy_fail");
262
+ expect(step.status).toBe("failed");
263
+ expect(step.attempt).toBeNull();
264
+ expect(step.max_retries).toBeNull();
265
+ });
266
+ });
267
+ describe("workflow runtime retry — dashboard API contract", () => {
268
+ let db;
269
+ let app;
270
+ beforeEach(() => {
271
+ db = openDatabase(":memory:");
272
+ db.exec(SCHEMA);
273
+ app = createTestApp(db);
274
+ });
275
+ afterEach(() => {
276
+ db.close();
277
+ });
278
+ function insertExecution(id) {
279
+ const now = Math.floor(Date.now() / 1000);
280
+ db.prepare(`INSERT INTO workflow_executions (id, workflow_name, status, started_at, created_at)
281
+ VALUES (?, ?, 'running', ?, ?)`).run(id, "test_workflow", now, now);
282
+ }
283
+ test("dashboard API includes attempt and maxRetries in step data", async () => {
284
+ const executionId = randomUUID();
285
+ insertExecution(executionId);
286
+ await post(app, "/workflow/step/start", {
287
+ executionId,
288
+ stepName: "process_data",
289
+ stepIndex: 0,
290
+ });
291
+ await post(app, "/workflow/step/complete", {
292
+ executionId,
293
+ stepName: "process_data",
294
+ stepIndex: 0,
295
+ output: { ok: true },
296
+ durationMs: 200,
297
+ attempt: 2,
298
+ maxRetries: 3,
299
+ });
300
+ const step = getStep(db, executionId, "process_data");
301
+ expect(step.attempt).toBe(2);
302
+ expect(step.max_retries).toBe(3);
303
+ expect(step.status).toBe("completed");
304
+ });
305
+ test("dashboard API shows null attempt/maxRetries when not sent", async () => {
306
+ const executionId = randomUUID();
307
+ insertExecution(executionId);
308
+ await post(app, "/workflow/step/start", {
309
+ executionId,
310
+ stepName: "old_step",
311
+ stepIndex: 0,
312
+ });
313
+ await post(app, "/workflow/step/complete", {
314
+ executionId,
315
+ stepName: "old_step",
316
+ stepIndex: 0,
317
+ output: { ok: true },
318
+ durationMs: 100,
319
+ });
320
+ const step = getStep(db, executionId, "old_step");
321
+ expect(step.attempt).toBeNull();
322
+ expect(step.max_retries).toBeNull();
323
+ });
324
+ test("failed step stores attempt and maxRetries for dashboard display", async () => {
325
+ const executionId = randomUUID();
326
+ insertExecution(executionId);
327
+ await post(app, "/workflow/step/start", {
328
+ executionId,
329
+ stepName: "failing_step",
330
+ stepIndex: 0,
331
+ });
332
+ await post(app, "/workflow/step/fail", {
333
+ executionId,
334
+ stepName: "failing_step",
335
+ stepIndex: 0,
336
+ error: "Service unavailable",
337
+ durationMs: 800,
338
+ attempt: 4,
339
+ maxRetries: 3,
340
+ });
341
+ const step = getStep(db, executionId, "failing_step");
342
+ expect(step.status).toBe("failed");
343
+ expect(step.attempt).toBe(4);
344
+ expect(step.max_retries).toBe(3);
345
+ expect(step.error).toBe("Service unavailable");
346
+ });
347
+ });
348
+ //# sourceMappingURL=workflow-runtime.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-runtime.spec.js","sourceRoot":"","sources":["../../src/runtime/workflow-runtime.spec.ts"],"names":[],"mappings":"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"}
@@ -631,7 +631,7 @@ export function createDashboardRoutes(app, dbManager, config) {
631
631
  return c.json({ error: "Execution not found" }, 404);
632
632
  }
633
633
  const steps = db
634
- .prepare(`SELECT id, step_name, step_index, status, output, error, duration_ms, created_at
634
+ .prepare(`SELECT id, step_name, step_index, status, output, error, duration_ms, attempt, max_retries, created_at
635
635
  FROM workflow_steps
636
636
  WHERE execution_id = ?
637
637
  ORDER BY step_index`)
@@ -668,6 +668,8 @@ export function createDashboardRoutes(app, dbManager, config) {
668
668
  output: s.output ? JSON.parse(s.output) : null,
669
669
  errorMessage: s.error,
670
670
  durationMs: s.duration_ms,
671
+ attempt: s.attempt,
672
+ maxRetries: s.max_retries,
671
673
  createdAt: new Date(s.created_at * 1000).toISOString(),
672
674
  })),
673
675
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-routes.js","sourceRoot":"","sources":["../../src/services/dashboard-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-routes.js","sourceRoot":"","sources":["../../src/services/dashboard-routes.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ export interface WorkflowStep {
20
20
  output: unknown;
21
21
  error: string | null;
22
22
  durationMs: number | null;
23
+ attempt: number | null;
24
+ maxRetries: number | null;
23
25
  createdAt: number;
24
26
  }
25
27
  export declare function createWorkflowHandlers(db: SqliteDatabase, workerUrl?: string): {
@@ -134,16 +134,16 @@ export function createWorkflowHandlers(db, workerUrl) {
134
134
  const stepCompleteHandler = async (c) => {
135
135
  try {
136
136
  const body = await c.req.json();
137
- const { executionId, stepName, stepIndex, output, durationMs } = body;
137
+ const { executionId, stepName, stepIndex, output, durationMs, attempt, maxRetries, } = body;
138
138
  if (stepIndex !== undefined) {
139
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);
140
+ SET status = 'completed', output = ?, duration_ms = ?, attempt = ?, max_retries = ?
141
+ WHERE execution_id = ? AND step_name = ? AND step_index = ?`).run(JSON.stringify(output), durationMs, attempt ?? null, maxRetries ?? null, executionId, stepName, stepIndex);
142
142
  }
143
143
  else {
144
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);
145
+ SET status = 'completed', output = ?, duration_ms = ?, attempt = ?, max_retries = ?
146
+ WHERE execution_id = ? AND step_name = ?`).run(JSON.stringify(output), durationMs, attempt ?? null, maxRetries ?? null, executionId, stepName);
147
147
  }
148
148
  return c.json({ success: true });
149
149
  }
@@ -155,16 +155,16 @@ export function createWorkflowHandlers(db, workerUrl) {
155
155
  const stepFailHandler = async (c) => {
156
156
  try {
157
157
  const body = await c.req.json();
158
- const { executionId, stepName, stepIndex, error, durationMs } = body;
158
+ const { executionId, stepName, stepIndex, error, durationMs, attempt, maxRetries, } = body;
159
159
  if (stepIndex !== undefined) {
160
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);
161
+ SET status = 'failed', error = ?, duration_ms = ?, attempt = ?, max_retries = ?
162
+ WHERE execution_id = ? AND step_name = ? AND step_index = ?`).run(error, durationMs, attempt ?? null, maxRetries ?? null, executionId, stepName, stepIndex);
163
163
  }
164
164
  else {
165
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);
166
+ SET status = 'failed', error = ?, duration_ms = ?, attempt = ?, max_retries = ?
167
+ WHERE execution_id = ? AND step_name = ?`).run(error, durationMs, attempt ?? null, maxRetries ?? null, executionId, stepName);
168
168
  }
169
169
  return c.json({ success: true });
170
170
  }