@ironflow/node 0.3.0 → 0.5.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.
Files changed (43) hide show
  1. package/dist/client.d.ts +37 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +68 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/index.d.ts +2 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/internal/context.d.ts +45 -1
  10. package/dist/internal/context.d.ts.map +1 -1
  11. package/dist/internal/context.js +89 -1
  12. package/dist/internal/context.js.map +1 -1
  13. package/dist/internal/errors.d.ts +20 -1
  14. package/dist/internal/errors.d.ts.map +1 -1
  15. package/dist/internal/errors.js.map +1 -1
  16. package/dist/serve.d.ts.map +1 -1
  17. package/dist/serve.js +104 -4
  18. package/dist/serve.js.map +1 -1
  19. package/dist/step.d.ts +7 -1
  20. package/dist/step.d.ts.map +1 -1
  21. package/dist/step.js +221 -5
  22. package/dist/step.js.map +1 -1
  23. package/dist/test/index.d.ts +22 -0
  24. package/dist/test/index.d.ts.map +1 -0
  25. package/dist/test/index.js +112 -0
  26. package/dist/test/index.js.map +1 -0
  27. package/dist/test/test-step.d.ts +21 -0
  28. package/dist/test/test-step.d.ts.map +1 -0
  29. package/dist/test/test-step.js +83 -0
  30. package/dist/test/test-step.js.map +1 -0
  31. package/dist/types.d.ts +5 -1
  32. package/dist/types.d.ts.map +1 -1
  33. package/dist/webhook.d.ts +22 -0
  34. package/dist/webhook.d.ts.map +1 -0
  35. package/dist/webhook.js +23 -0
  36. package/dist/webhook.js.map +1 -0
  37. package/dist/worker-streaming.d.ts.map +1 -1
  38. package/dist/worker-streaming.js +29 -7
  39. package/dist/worker-streaming.js.map +1 -1
  40. package/dist/worker.d.ts.map +1 -1
  41. package/dist/worker.js +23 -10
  42. package/dist/worker.js.map +1 -1
  43. package/package.json +6 -1
package/dist/serve.js CHANGED
@@ -10,7 +10,7 @@
10
10
  import { IronflowError, FunctionNotFoundError, isRetryable, PushRequestSchema, createLogger, createNoopLogger, HEADERS, DEFAULT_ENVIRONMENT, } from "@ironflow/core";
11
11
  import { createHmac, timingSafeEqual } from "node:crypto";
12
12
  import { ExecutionContext } from "./internal/context.js";
13
- import { createStepClient } from "./step.js";
13
+ import { createStepClient, executeCompensations } from "./step.js";
14
14
  import { isYieldSignal } from "./internal/errors.js";
15
15
  import { createSecretsClient } from "./secrets.js";
16
16
  /**
@@ -45,6 +45,13 @@ export function serve(config) {
45
45
  for (const fn of config.functions) {
46
46
  functionMap.set(fn.config.id, fn);
47
47
  }
48
+ // Build webhook map for fast lookup
49
+ const webhookMap = new Map();
50
+ if (config.webhooks) {
51
+ for (const wh of config.webhooks) {
52
+ webhookMap.set(wh.config.id, wh);
53
+ }
54
+ }
48
55
  // Resolve environment
49
56
  const environment = config.environment ?? process.env.IRONFLOW_ENV ?? DEFAULT_ENVIRONMENT;
50
57
  // Initialize logger
@@ -73,6 +80,94 @@ export function serve(config) {
73
80
  // Detect environment and normalize request
74
81
  const { request, sendResponse } = normalizeRequest(requestOrReq, resOrContext, environment);
75
82
  try {
83
+ // Check if this is a webhook request
84
+ let webhookProvider;
85
+ if (requestOrReq instanceof Request) {
86
+ const url = new URL(requestOrReq.url, "http://localhost");
87
+ const webhookMatch = url.pathname.match(/\/webhooks\/([^/]+)/);
88
+ if (webhookMatch) {
89
+ webhookProvider = webhookMatch[1];
90
+ }
91
+ }
92
+ else {
93
+ // Node.js request
94
+ const nodeReq = requestOrReq;
95
+ const webhookMatch = (nodeReq.url || "").match(/\/webhooks\/([^/]+)/);
96
+ if (webhookMatch) {
97
+ webhookProvider = webhookMatch[1];
98
+ }
99
+ }
100
+ if (webhookProvider && webhookMap.size > 0) {
101
+ const wh = webhookMap.get(webhookProvider);
102
+ if (!wh) {
103
+ return sendResponse(404, {
104
+ error: { message: `Webhook source not found: ${webhookProvider}`, code: "WEBHOOK_NOT_FOUND" },
105
+ });
106
+ }
107
+ const body = await request.text();
108
+ const headers = {};
109
+ // Extract headers from the original request
110
+ if (requestOrReq instanceof Request) {
111
+ requestOrReq.headers.forEach((value, key) => {
112
+ headers[key] = value;
113
+ });
114
+ }
115
+ else {
116
+ const nodeReq = requestOrReq;
117
+ for (const [key, value] of Object.entries(nodeReq.headers)) {
118
+ if (typeof value === "string")
119
+ headers[key] = value;
120
+ else if (Array.isArray(value))
121
+ headers[key] = value[0] ?? "";
122
+ }
123
+ }
124
+ try {
125
+ await wh.config.verify({ body, headers });
126
+ }
127
+ catch (err) {
128
+ return sendResponse(401, {
129
+ error: {
130
+ message: err instanceof Error ? err.message : "Verification failed",
131
+ code: "VERIFY_FAILED",
132
+ },
133
+ });
134
+ }
135
+ try {
136
+ const payload = JSON.parse(body);
137
+ const event = await wh.config.transform(payload);
138
+ // Emit event to Ironflow server if configured
139
+ const emitUrl = config.serverUrl || process.env.IRONFLOW_URL;
140
+ if (emitUrl) {
141
+ const emitBody = {
142
+ event: event.name,
143
+ data: event.data,
144
+ };
145
+ if (event.idempotencyKey) {
146
+ emitBody.idempotencyKey = event.idempotencyKey;
147
+ }
148
+ const emitResp = await fetch(`${emitUrl}/api/v1/events`, {
149
+ method: "POST",
150
+ headers: { "Content-Type": "application/json" },
151
+ body: JSON.stringify(emitBody),
152
+ });
153
+ if (!emitResp.ok) {
154
+ const errText = await emitResp.text();
155
+ return sendResponse(502, {
156
+ error: { message: `Failed to emit event: ${errText}`, code: "EMIT_FAILED" },
157
+ });
158
+ }
159
+ }
160
+ return sendResponse(200, { status: "accepted", event });
161
+ }
162
+ catch (err) {
163
+ return sendResponse(400, {
164
+ error: {
165
+ message: err instanceof Error ? err.message : "Transform failed",
166
+ code: "TRANSFORM_FAILED",
167
+ },
168
+ });
169
+ }
170
+ }
76
171
  // Read body
77
172
  const body = await request.text();
78
173
  // Verify signature (unless skipped for dev)
@@ -123,7 +218,8 @@ export function serve(config) {
123
218
  });
124
219
  }
125
220
  // Execute function
126
- const response = await executeHandler(fn, pushRequest, config.eventDefinitions);
221
+ const serverUrl = config.serverUrl || process.env.IRONFLOW_URL || process.env.IRONFLOW_SERVER_URL;
222
+ const response = await executeHandler(fn, pushRequest, config.eventDefinitions, serverUrl);
127
223
  return sendResponse(200, response);
128
224
  }
129
225
  catch (error) {
@@ -144,9 +240,9 @@ export function serve(config) {
144
240
  /**
145
241
  * Execute a function handler and build the response
146
242
  */
147
- async function executeHandler(fn, request, eventDefinitions) {
243
+ async function executeHandler(fn, request, eventDefinitions, serverUrl) {
148
244
  // Create execution context (with optional upcasting)
149
- const ctx = new ExecutionContext(request, undefined, eventDefinitions);
245
+ const ctx = new ExecutionContext(request, undefined, eventDefinitions, fn.config.stepTimeout, serverUrl);
150
246
  // Create step client
151
247
  const step = createStepClient(ctx);
152
248
  // Build function context
@@ -181,6 +277,10 @@ async function executeHandler(fn, request, eventDefinitions) {
181
277
  const errorStack = error instanceof Error ? error.stack : undefined;
182
278
  const errorCode = error instanceof IronflowError ? error.code : "ERROR";
183
279
  const retryable = isRetryable(error);
280
+ // Run compensations only if error is not retryable (terminal failure)
281
+ if (ctx.hasCompensations() && !retryable) {
282
+ await executeCompensations(ctx);
283
+ }
184
284
  // Get step ID if it's a step error
185
285
  let stepId;
186
286
  if (error instanceof FunctionNotFoundError) {
package/dist/serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
package/dist/step.d.ts CHANGED
@@ -4,9 +4,15 @@
4
4
  * Implements durable step primitives: run, sleep, sleepUntil, waitForEvent, parallel, map
5
5
  */
6
6
  import type { StepClient } from "@ironflow/core";
7
- import type { ExecutionContext } from "./internal/context.js";
7
+ import { ExecutionContext } from "./internal/context.js";
8
8
  /**
9
9
  * Create a step client for the given execution context
10
10
  */
11
11
  export declare function createStepClient(ctx: ExecutionContext): StepClient;
12
+ /**
13
+ * Execute registered compensations in reverse order.
14
+ * Each compensation is executed as a durable step (memoized).
15
+ * Compensation failures are recorded but don't stop remaining compensations.
16
+ */
17
+ export declare function executeCompensations(ctx: ExecutionContext): Promise<void>;
12
18
  //# sourceMappingURL=step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAKV,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAwB9D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAElE"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAKV,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAiCxE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAElE;AAqdD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE/E"}
package/dist/step.js CHANGED
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Implements durable step primitives: run, sleep, sleepUntil, waitForEvent, parallel, map
5
5
  */
6
- import { StepError, isRetryable, parseDuration } from "@ironflow/core";
7
- import { BranchContext } from "./internal/context.js";
6
+ import { StepError, StepTimeoutError, isRetryable, parseDuration, InvokeError } from "@ironflow/core";
7
+ import { ExecutionContext, BranchContext } from "./internal/context.js";
8
8
  import { YieldSignal, } from "./internal/errors.js";
9
9
  /**
10
10
  * Create a step client for the given execution context
@@ -17,18 +17,48 @@ export function createStepClient(ctx) {
17
17
  */
18
18
  function createStepClientInternal(ctx) {
19
19
  return {
20
- run: (name, fn) => executeStep(ctx, name, fn),
20
+ run: (name, fn, options) => executeStep(ctx, name, fn, options),
21
21
  sleep: (name, duration) => executeSleep(ctx, name, duration),
22
22
  sleepUntil: (name, until) => executeSleepUntil(ctx, name, until),
23
23
  waitForEvent: (name, filter) => executeWaitForEvent(ctx, name, filter),
24
24
  parallel: (name, branches, options) => executeParallel(ctx, name, branches, options),
25
25
  map: (name, items, fn, options) => executeMap(ctx, name, items, fn, options),
26
+ compensate: (stepName, fn) => {
27
+ ctx.registerCompensation(stepName, fn);
28
+ },
29
+ invoke: (functionId, input, options) => executeInvoke(ctx, functionId, input, options),
30
+ invokeAsync: (functionId, input) => executeInvokeAsync(ctx, functionId, input),
31
+ publish: (topic, data) => executePublish(ctx, topic, data),
26
32
  };
27
33
  }
34
+ /**
35
+ * Wrap a step function with a timeout.
36
+ * If the timeout fires before fn() resolves, throws StepTimeoutError.
37
+ */
38
+ async function withStepTimeout(fn, stepName, timeout) {
39
+ const timeoutMs = parseDuration(timeout);
40
+ return new Promise((resolve, reject) => {
41
+ const timer = setTimeout(() => {
42
+ reject(new StepTimeoutError(stepName, timeout));
43
+ }, timeoutMs);
44
+ fn().then((result) => {
45
+ clearTimeout(timer);
46
+ resolve(result);
47
+ }, (error) => {
48
+ clearTimeout(timer);
49
+ reject(error);
50
+ });
51
+ });
52
+ }
28
53
  /**
29
54
  * Execute a step with memoization
55
+ *
56
+ * WHY: Use step.run() for any non-idempotent operation (e.g., sending an email,
57
+ * charging a card, calling an external API). Ironflow memoizes the result
58
+ * of the first successful execution. If the workflow retries, this step will
59
+ * be skipped and the previously stored result will be returned.
30
60
  */
31
- async function executeStep(ctx, name, fn) {
61
+ async function executeStep(ctx, name, fn, options) {
32
62
  const stepId = ctx.generateStepId(name);
33
63
  // Check if step is already completed (memoized)
34
64
  if (ctx.shouldSkipStep(stepId)) {
@@ -39,7 +69,10 @@ async function executeStep(ctx, name, fn) {
39
69
  const startedAt = new Date();
40
70
  ctx.logger.debug(`Step starting: ${name}`, { stepId });
41
71
  try {
42
- const output = await fn();
72
+ const timeoutStr = options?.timeout ?? ctx.stepTimeout;
73
+ const output = timeoutStr
74
+ ? await withStepTimeout(fn, name, timeoutStr)
75
+ : await fn();
43
76
  const endedAt = new Date();
44
77
  const durationMs = endedAt.getTime() - startedAt.getTime();
45
78
  // Record successful step
@@ -82,6 +115,15 @@ async function executeStep(ctx, name, fn) {
82
115
  },
83
116
  };
84
117
  ctx.recordStep(result);
118
+ // Re-throw StepTimeoutError as-is (already has step context)
119
+ if (error instanceof StepTimeoutError) {
120
+ ctx.logger.error(`Step timed out: ${name}`, {
121
+ stepId,
122
+ error: errorMessage,
123
+ durationMs,
124
+ });
125
+ throw error;
126
+ }
85
127
  ctx.logger.error(`Step failed: ${name}`, {
86
128
  stepId,
87
129
  error: errorMessage,
@@ -98,6 +140,11 @@ async function executeStep(ctx, name, fn) {
98
140
  }
99
141
  /**
100
142
  * Execute a durable sleep
143
+ *
144
+ * WHY: Use step.sleep() for long-running pauses (minutes, hours, or days).
145
+ * Unlike setTimeout, this is durable—the worker can restart or the server
146
+ * can be upgraded, and the workflow will resume exactly where it left off
147
+ * once the duration has elapsed.
101
148
  */
102
149
  async function executeSleep(ctx, name, duration) {
103
150
  const stepId = ctx.generateStepId(name);
@@ -164,6 +211,11 @@ async function executeSleepUntil(ctx, name, until) {
164
211
  }
165
212
  /**
166
213
  * Execute a durable wait for event
214
+ *
215
+ * WHY: Use step.waitForEvent() to implement choreography-based orchestration.
216
+ * The workflow pauses durably until an external event arrives that matches
217
+ * the provided filter. This is the primary way to handle human-in-the-loop
218
+ * or asynchronous external callbacks.
167
219
  */
168
220
  async function executeWaitForEvent(ctx, name, filter) {
169
221
  const stepId = ctx.generateStepId(name);
@@ -303,6 +355,170 @@ async function executeMap(ctx, name, items, fn, options = {}) {
303
355
  });
304
356
  return executeParallel(ctx, name, branches, options);
305
357
  }
358
+ /**
359
+ * Execute registered compensations in reverse order.
360
+ * Each compensation is executed as a durable step (memoized).
361
+ * Compensation failures are recorded but don't stop remaining compensations.
362
+ */
363
+ export async function executeCompensations(ctx) {
364
+ const compensations = ctx.getCompensationsInReverse();
365
+ for (const { stepName, fn } of compensations) {
366
+ const compStepName = `compensate:${stepName}`;
367
+ const stepId = ctx.generateStepId(compStepName);
368
+ // Check memoization - skip if already completed
369
+ if (ctx.shouldSkipStep(stepId)) {
370
+ ctx.logger.debug(`Compensation memoized: ${compStepName}`, { stepId });
371
+ continue;
372
+ }
373
+ const startedAt = new Date();
374
+ try {
375
+ await fn();
376
+ const endedAt = new Date();
377
+ const durationMs = endedAt.getTime() - startedAt.getTime();
378
+ const result = {
379
+ id: stepId,
380
+ name: compStepName,
381
+ type: "compensate",
382
+ status: "completed",
383
+ started_at: startedAt.toISOString(),
384
+ ended_at: endedAt.toISOString(),
385
+ duration_ms: durationMs,
386
+ compensation_for: stepName,
387
+ };
388
+ ctx.recordStep(result);
389
+ ctx.logger.debug(`Compensation completed: ${compStepName}`, { stepId, durationMs });
390
+ }
391
+ catch (error) {
392
+ const endedAt = new Date();
393
+ const durationMs = endedAt.getTime() - startedAt.getTime();
394
+ const errorMessage = error instanceof Error ? error.message : String(error);
395
+ const errorStack = error instanceof Error ? error.stack : undefined;
396
+ const result = {
397
+ id: stepId,
398
+ name: compStepName,
399
+ type: "compensate",
400
+ status: "failed",
401
+ started_at: startedAt.toISOString(),
402
+ ended_at: endedAt.toISOString(),
403
+ duration_ms: durationMs,
404
+ compensation_for: stepName,
405
+ error: {
406
+ message: errorMessage,
407
+ retryable: false,
408
+ stack: errorStack,
409
+ },
410
+ };
411
+ ctx.recordStep(result);
412
+ ctx.logger.error(`Compensation failed: ${compStepName}`, {
413
+ stepId,
414
+ error: errorMessage,
415
+ durationMs,
416
+ });
417
+ // Don't throw - continue with remaining compensations
418
+ }
419
+ }
420
+ }
421
+ /**
422
+ * Execute a durable invoke (calls another function and waits for result)
423
+ */
424
+ async function executeInvoke(ctx, functionId, input, options) {
425
+ const stepId = ctx.generateStepId(functionId);
426
+ // Check memoization — completed
427
+ if (ctx.shouldSkipStep(stepId)) {
428
+ ctx.logger.debug(`Invoke memoized: ${functionId}`, { stepId });
429
+ return ctx.getMemoizedOutput(stepId);
430
+ }
431
+ // Check for failed invoke step — surface as InvokeError
432
+ const failedStepError = ctx.getFailedStep?.(stepId);
433
+ if (failedStepError !== undefined) {
434
+ throw parseInvokeError(functionId, failedStepError);
435
+ }
436
+ // Check for timed out invoke step
437
+ if (ctx.isStepTimedOut?.(stepId)) {
438
+ throw new InvokeError(functionId, undefined, "invoke timed out");
439
+ }
440
+ // Calculate timeout
441
+ let timeoutMs = 30000;
442
+ if (options?.timeout) {
443
+ timeoutMs = parseDuration(options.timeout);
444
+ }
445
+ ctx.logger.debug(`Invoke yielding: ${functionId}`, { stepId, timeoutMs });
446
+ const yieldInfo = {
447
+ step_id: stepId,
448
+ type: "invoke_function",
449
+ function_id: functionId,
450
+ input,
451
+ invoke_timeout_ms: timeoutMs,
452
+ };
453
+ throw new YieldSignal(yieldInfo);
454
+ }
455
+ /**
456
+ * Execute a fire-and-forget invoke (calls another function without waiting)
457
+ */
458
+ async function executeInvokeAsync(ctx, functionId, input) {
459
+ const stepId = ctx.generateStepId(functionId);
460
+ if (ctx.shouldSkipStep(stepId)) {
461
+ ctx.logger.debug(`InvokeAsync memoized: ${functionId}`, { stepId });
462
+ const output = ctx.getMemoizedOutput(stepId);
463
+ return { runId: output.run_id };
464
+ }
465
+ // Surface a previously failed async invoke step as an error to the caller.
466
+ const failedStepError = ctx.getFailedStep?.(stepId);
467
+ if (failedStepError !== undefined) {
468
+ throw parseInvokeError(functionId, failedStepError);
469
+ }
470
+ ctx.logger.debug(`InvokeAsync yielding: ${functionId}`, { stepId });
471
+ const yieldInfo = {
472
+ step_id: stepId,
473
+ type: "invoke_function_async",
474
+ function_id: functionId,
475
+ input,
476
+ };
477
+ throw new YieldSignal(yieldInfo);
478
+ }
479
+ /**
480
+ * Parse engine error data for a failed invoke step into an InvokeError.
481
+ */
482
+ function parseInvokeError(functionId, errorData) {
483
+ if (typeof errorData === "object" && errorData !== null) {
484
+ const e = errorData;
485
+ return new InvokeError(e["function_id"] || functionId, e["child_run_id"] || undefined, e["cause"] || e["message"] || "unknown error");
486
+ }
487
+ return new InvokeError(functionId, undefined, String(errorData));
488
+ }
489
+ /**
490
+ * Execute a durable publish to a developer pub/sub topic.
491
+ * Wraps step.run() so the publish is memoized and retried like any other step.
492
+ */
493
+ async function executePublish(ctx, topic, data) {
494
+ return executeStep(ctx, `publish:${topic}`, async () => {
495
+ const serverUrl = ctx.serverUrl;
496
+ if (!serverUrl) {
497
+ throw new Error("Server URL not configured for publish step");
498
+ }
499
+ const url = `${serverUrl}/ironflow.v1.PubSubService/Publish`;
500
+ const headers = {
501
+ "Content-Type": "application/json",
502
+ };
503
+ if (ctx.apiKey) {
504
+ headers["Authorization"] = `Bearer ${ctx.apiKey}`;
505
+ }
506
+ const response = await fetch(url, {
507
+ method: "POST",
508
+ headers,
509
+ body: JSON.stringify({ topic, data: data ?? {} }),
510
+ });
511
+ if (!response.ok) {
512
+ const body = await response.text();
513
+ throw new Error(body || `Publish failed: ${response.status}`);
514
+ }
515
+ const result = (await response.json());
516
+ return {
517
+ eventId: result.eventId,
518
+ sequence: parseInt(result.sequence, 10) || 0,
519
+ };
520
+ });
521
+ }
306
522
  /**
307
523
  * Convert a duration to a string representation
308
524
  */
package/dist/step.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { IronflowFunction } from "@ironflow/core";
2
+ import { type TestStep } from "./test-step.js";
3
+ export interface TestClientConfig {
4
+ functions: IronflowFunction[];
5
+ }
6
+ export interface TestRun {
7
+ status: "completed" | "failed";
8
+ steps: TestStep[];
9
+ output: unknown;
10
+ error?: Error;
11
+ compensationsRan: string[];
12
+ stepOutput(name: string): unknown;
13
+ }
14
+ export interface TestClient {
15
+ mockStep(name: string, fn: () => unknown): void;
16
+ mockInvoke(functionId: string, fn: (data: unknown) => unknown): void;
17
+ sendEvent(eventName: string, data: unknown): void;
18
+ emit(eventName: string, data: unknown): Promise<TestRun>;
19
+ }
20
+ export declare function createTestClient(config: TestClientConfig): TestClient;
21
+ export type { TestStep };
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAChD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,CAAC;IACrE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA6GrE;AAsBD,YAAY,EAAE,QAAQ,EAAE,CAAC"}