@upstash/workflow 0.2.21 → 0.2.22

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.
package/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-Q3dM0UlR.mjs';
2
- export { A as AsyncStepFunction, C as CallResponse, w as CallSettings, D as DetailedFinishCondition, t as Duration, o as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, y as InvokableWorkflow, x as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, z as LogLevel, s as NotifyStepResponse, P as ParallelCallState, n as PublicServeOptions, p as RequiredExceptFields, k as Step, m as StepFunction, j as StepTypes, v as StringifyBody, l as SyncStepFunction, u as WaitEventOptions, q as WaitRequest, r as WaitStepResponse, d as WorkflowAbort, h as WorkflowClient, g as WorkflowContext, c as WorkflowError, G as WorkflowLogger, B as WorkflowLoggerOptions, e as WorkflowNonRetryableError, i as WorkflowReceiver, f as WorkflowTool } from './types-Q3dM0UlR.mjs';
1
+ import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-9nCq6bRP.mjs';
2
+ export { A as AsyncStepFunction, C as CallResponse, x as CallSettings, D as DetailedFinishCondition, u as Duration, p as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, z as InvokableWorkflow, y as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, B as LogLevel, t as NotifyStepResponse, P as ParallelCallState, o as PublicServeOptions, q as RequiredExceptFields, l as Step, n as StepFunction, k as StepTypes, w as StringifyBody, m as SyncStepFunction, v as WaitEventOptions, r as WaitRequest, s as WaitStepResponse, d as WorkflowAbort, i as WorkflowClient, h as WorkflowContext, c as WorkflowError, J as WorkflowLogger, G as WorkflowLoggerOptions, e as WorkflowNonRetryableError, j as WorkflowReceiver, f as WorkflowRetryAfterError, g as WorkflowTool } from './types-9nCq6bRP.mjs';
3
3
  import { FlowControl, PublishRequest, HTTPMethods, State, Client as Client$1 } from '@upstash/qstash';
4
4
  import 'zod';
5
5
  import 'ai';
@@ -439,6 +439,14 @@ type TriggerOptions = {
439
439
  * @default false
440
440
  */
441
441
  keepTriggerConfig?: boolean;
442
+ /**
443
+ * By default, Workflow SDK sends telemetry about SDK version, framework or runtime.
444
+ *
445
+ * Set `disableTelemetry` to disable this behavior.
446
+ *
447
+ * @default false
448
+ */
449
+ disableTelemetry?: boolean;
442
450
  } & ({
443
451
  /**
444
452
  * URL to call if the first request to the workflow endpoint fails
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-Q3dM0UlR.js';
2
- export { A as AsyncStepFunction, C as CallResponse, w as CallSettings, D as DetailedFinishCondition, t as Duration, o as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, y as InvokableWorkflow, x as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, z as LogLevel, s as NotifyStepResponse, P as ParallelCallState, n as PublicServeOptions, p as RequiredExceptFields, k as Step, m as StepFunction, j as StepTypes, v as StringifyBody, l as SyncStepFunction, u as WaitEventOptions, q as WaitRequest, r as WaitStepResponse, d as WorkflowAbort, h as WorkflowClient, g as WorkflowContext, c as WorkflowError, G as WorkflowLogger, B as WorkflowLoggerOptions, e as WorkflowNonRetryableError, i as WorkflowReceiver, f as WorkflowTool } from './types-Q3dM0UlR.js';
1
+ import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-9nCq6bRP.js';
2
+ export { A as AsyncStepFunction, C as CallResponse, x as CallSettings, D as DetailedFinishCondition, u as Duration, p as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, z as InvokableWorkflow, y as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, B as LogLevel, t as NotifyStepResponse, P as ParallelCallState, o as PublicServeOptions, q as RequiredExceptFields, l as Step, n as StepFunction, k as StepTypes, w as StringifyBody, m as SyncStepFunction, v as WaitEventOptions, r as WaitRequest, s as WaitStepResponse, d as WorkflowAbort, i as WorkflowClient, h as WorkflowContext, c as WorkflowError, J as WorkflowLogger, G as WorkflowLoggerOptions, e as WorkflowNonRetryableError, j as WorkflowReceiver, f as WorkflowRetryAfterError, g as WorkflowTool } from './types-9nCq6bRP.js';
3
3
  import { FlowControl, PublishRequest, HTTPMethods, State, Client as Client$1 } from '@upstash/qstash';
4
4
  import 'zod';
5
5
  import 'ai';
@@ -439,6 +439,14 @@ type TriggerOptions = {
439
439
  * @default false
440
440
  */
441
441
  keepTriggerConfig?: boolean;
442
+ /**
443
+ * By default, Workflow SDK sends telemetry about SDK version, framework or runtime.
444
+ *
445
+ * Set `disableTelemetry` to disable this behavior.
446
+ *
447
+ * @default false
448
+ */
449
+ disableTelemetry?: boolean;
442
450
  } & ({
443
451
  /**
444
452
  * URL to call if the first request to the workflow endpoint fails
package/index.js CHANGED
@@ -27,13 +27,102 @@ __export(src_exports, {
27
27
  WorkflowError: () => WorkflowError,
28
28
  WorkflowLogger: () => WorkflowLogger,
29
29
  WorkflowNonRetryableError: () => WorkflowNonRetryableError,
30
+ WorkflowRetryAfterError: () => WorkflowRetryAfterError,
30
31
  WorkflowTool: () => WorkflowTool,
31
32
  serve: () => serve
32
33
  });
33
34
  module.exports = __toCommonJS(src_exports);
34
35
 
35
36
  // src/client/utils.ts
37
+ var import_qstash2 = require("@upstash/qstash");
38
+
39
+ // src/error.ts
36
40
  var import_qstash = require("@upstash/qstash");
41
+ var WorkflowError = class extends import_qstash.QstashError {
42
+ constructor(message) {
43
+ super(message);
44
+ this.name = "WorkflowError";
45
+ }
46
+ };
47
+ var WorkflowAbort = class extends Error {
48
+ stepInfo;
49
+ stepName;
50
+ /**
51
+ * whether workflow is to be canceled on abort
52
+ */
53
+ cancelWorkflow;
54
+ /**
55
+ *
56
+ * @param stepName name of the aborting step
57
+ * @param stepInfo step information
58
+ * @param cancelWorkflow
59
+ */
60
+ constructor(stepName, stepInfo, cancelWorkflow = false) {
61
+ super(
62
+ `This is an Upstash Workflow error thrown after a step executes. It is expected to be raised. Make sure that you await for each step. Also, if you are using try/catch blocks, you should not wrap context.run/sleep/sleepUntil/call methods with try/catch. Aborting workflow after executing step '${stepName}'.`
63
+ );
64
+ this.name = "WorkflowAbort";
65
+ this.stepName = stepName;
66
+ this.stepInfo = stepInfo;
67
+ this.cancelWorkflow = cancelWorkflow;
68
+ }
69
+ };
70
+ var WorkflowNonRetryableError = class extends WorkflowAbort {
71
+ /**
72
+ * @param message error message to be displayed
73
+ */
74
+ constructor(message) {
75
+ super("fail", void 0, false);
76
+ this.name = "WorkflowNonRetryableError";
77
+ if (message) this.message = message;
78
+ }
79
+ };
80
+ var WorkflowRetryAfterError = class extends WorkflowAbort {
81
+ retryAfter;
82
+ /**
83
+ * @param retryAfter time in seconds after which the workflow should be retried
84
+ * @param message error message to be displayed
85
+ */
86
+ constructor(message, retryAfter) {
87
+ super("retry", void 0, false);
88
+ this.name = "WorkflowRetryAfterError";
89
+ this.retryAfter = retryAfter;
90
+ if (message) this.message = message;
91
+ }
92
+ };
93
+ var formatWorkflowError = (error) => {
94
+ return error instanceof Error ? {
95
+ error: error.name,
96
+ message: error.message,
97
+ stack: error.stack
98
+ } : {
99
+ error: "Error",
100
+ message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
101
+ };
102
+ };
103
+ function getConstructorName(obj) {
104
+ if (obj === null || obj === void 0) {
105
+ return null;
106
+ }
107
+ const ctor = obj.constructor;
108
+ if (!ctor || ctor.name === "Object") {
109
+ return null;
110
+ }
111
+ return ctor.name;
112
+ }
113
+ function getConstructorNames(obj) {
114
+ const proto = Object.getPrototypeOf(obj);
115
+ const name = getConstructorName(proto);
116
+ if (name === null) {
117
+ return [];
118
+ }
119
+ return [name, ...getConstructorNames(proto)];
120
+ }
121
+ function isInstanceOf(v, ctor) {
122
+ return getConstructorNames(v).includes(ctor.name);
123
+ }
124
+
125
+ // src/client/utils.ts
37
126
  var makeNotifyRequest = async (requester, eventId, eventData) => {
38
127
  const result = await requester.request({
39
128
  path: ["v2", "notify", eventId],
@@ -80,7 +169,7 @@ var getSteps = async (requester, workflowRunId, messageId, debug) => {
80
169
  return { steps: filteredSteps, workflowRunEnded: false };
81
170
  }
82
171
  } catch (error) {
83
- if (error instanceof import_qstash.QstashError && error.status === 404) {
172
+ if (isInstanceOf(error, import_qstash2.QstashError) && error.status === 404) {
84
173
  await debug?.log("WARN", "ENDPOINT_START", {
85
174
  message: "Couldn't fetch workflow run steps. This can happen if the workflow run succesfully ends before some callback is executed.",
86
175
  error
@@ -105,65 +194,13 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
105
194
  var DEFAULT_CONTENT_TYPE = "application/json";
106
195
  var NO_CONCURRENCY = 1;
107
196
  var DEFAULT_RETRIES = 3;
108
- var VERSION = "v0.2.21";
197
+ var VERSION = "v0.2.22";
109
198
  var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
110
199
  var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
111
200
  var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
112
201
  var TELEMETRY_HEADER_RUNTIME = "Upstash-Telemetry-Runtime";
113
202
  var TELEMETRY_HEADER_AGENT = "Upstash-Telemetry-Agent";
114
203
 
115
- // src/error.ts
116
- var import_qstash2 = require("@upstash/qstash");
117
- var WorkflowError = class extends import_qstash2.QstashError {
118
- constructor(message) {
119
- super(message);
120
- this.name = "WorkflowError";
121
- }
122
- };
123
- var WorkflowAbort = class extends Error {
124
- stepInfo;
125
- stepName;
126
- /**
127
- * whether workflow is to be canceled on abort
128
- */
129
- cancelWorkflow;
130
- /**
131
- *
132
- * @param stepName name of the aborting step
133
- * @param stepInfo step information
134
- * @param cancelWorkflow
135
- */
136
- constructor(stepName, stepInfo, cancelWorkflow = false) {
137
- super(
138
- `This is an Upstash Workflow error thrown after a step executes. It is expected to be raised. Make sure that you await for each step. Also, if you are using try/catch blocks, you should not wrap context.run/sleep/sleepUntil/call methods with try/catch. Aborting workflow after executing step '${stepName}'.`
139
- );
140
- this.name = "WorkflowAbort";
141
- this.stepName = stepName;
142
- this.stepInfo = stepInfo;
143
- this.cancelWorkflow = cancelWorkflow;
144
- }
145
- };
146
- var WorkflowNonRetryableError = class extends WorkflowAbort {
147
- /**
148
- * @param message error message to be displayed
149
- */
150
- constructor(message) {
151
- super("fail", void 0, false);
152
- this.name = "WorkflowNonRetryableError";
153
- if (message) this.message = message;
154
- }
155
- };
156
- var formatWorkflowError = (error) => {
157
- return error instanceof Error ? {
158
- error: error.name,
159
- message: error.message,
160
- stack: error.stack
161
- } : {
162
- error: "Error",
163
- message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
164
- };
165
- };
166
-
167
204
  // src/context/auto-executor.ts
168
205
  var import_qstash5 = require("@upstash/qstash");
169
206
 
@@ -723,17 +760,17 @@ var triggerRouteFunction = async ({
723
760
  return ok("workflow-finished");
724
761
  } catch (error) {
725
762
  const error_ = error;
726
- if (error instanceof import_qstash3.QstashError && error.status === 400) {
763
+ if (isInstanceOf(error, import_qstash3.QstashError) && error.status === 400) {
727
764
  await debug?.log("WARN", "RESPONSE_WORKFLOW", {
728
765
  message: `tried to append to a cancelled workflow. exiting without publishing.`,
729
766
  name: error.name,
730
767
  errorMessage: error.message
731
768
  });
732
769
  return ok("workflow-was-finished");
733
- } else if (!(error_ instanceof WorkflowAbort)) {
734
- return err(error_);
735
- } else if (error_ instanceof WorkflowNonRetryableError) {
770
+ } else if (isInstanceOf(error_, WorkflowNonRetryableError) || isInstanceOf(error_, WorkflowRetryAfterError)) {
736
771
  return ok(error_);
772
+ } else if (!isInstanceOf(error_, WorkflowAbort)) {
773
+ return err(error_);
737
774
  } else if (error_.cancelWorkflow) {
738
775
  await onCancel();
739
776
  return ok("workflow-finished");
@@ -2040,7 +2077,7 @@ var AutoExecutor = class _AutoExecutor {
2040
2077
  });
2041
2078
  throw new WorkflowAbort(parallelStep.stepName, resultStep);
2042
2079
  } catch (error) {
2043
- if (error instanceof WorkflowAbort || error instanceof import_qstash5.QstashError && error.status === 400) {
2080
+ if (isInstanceOf(error, WorkflowAbort) || isInstanceOf(error, import_qstash5.QstashError) && error.status === 400) {
2044
2081
  throw error;
2045
2082
  }
2046
2083
  throw new WorkflowError(
@@ -2147,7 +2184,7 @@ var validateParallelSteps = (lazySteps, stepsFromRequest) => {
2147
2184
  validateStep(lazySteps[index], stepFromRequest);
2148
2185
  }
2149
2186
  } catch (error) {
2150
- if (error instanceof WorkflowError) {
2187
+ if (isInstanceOf(error, WorkflowError)) {
2151
2188
  const lazyStepNames = lazySteps.map((lazyStep) => lazyStep.stepName);
2152
2189
  const lazyStepTypes = lazySteps.map((lazyStep) => lazyStep.stepType);
2153
2190
  const requestStepNames = stepsFromRequest.map((step) => step.stepName);
@@ -2328,7 +2365,7 @@ var fetchWithContextCall = async (context, agentCallParams, ...params) => {
2328
2365
  headers: responseHeaders
2329
2366
  });
2330
2367
  } catch (error) {
2331
- if (error instanceof Error && error.name === "WorkflowAbort") {
2368
+ if (error instanceof Error && isInstanceOf(error, WorkflowAbort)) {
2332
2369
  throw error;
2333
2370
  } else {
2334
2371
  console.error("Error in fetch implementation:", error);
@@ -2461,10 +2498,10 @@ var Agent = class {
2461
2498
  });
2462
2499
  return { text: result.text };
2463
2500
  } catch (error) {
2464
- if (error instanceof import_ai2.ToolExecutionError) {
2465
- if (error.cause instanceof Error && error.cause.name === "WorkflowAbort") {
2501
+ if (isInstanceOf(error, import_ai2.ToolExecutionError)) {
2502
+ if (error.cause instanceof Error && isInstanceOf(error.cause, WorkflowAbort)) {
2466
2503
  throw error.cause;
2467
- } else if (error.cause instanceof import_ai2.ToolExecutionError && error.cause.cause instanceof Error && error.cause.cause.name === "WorkflowAbort") {
2504
+ } else if (isInstanceOf(error.cause, import_ai2.ToolExecutionError) && isInstanceOf(error.cause.cause, WorkflowAbort)) {
2468
2505
  throw error.cause.cause;
2469
2506
  } else {
2470
2507
  throw error;
@@ -3146,7 +3183,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
3146
3183
  try {
3147
3184
  await routeFunction(disabledContext);
3148
3185
  } catch (error) {
3149
- if (error instanceof WorkflowAbort && error.stepName === this.disabledMessage || error instanceof WorkflowNonRetryableError) {
3186
+ if (isInstanceOf(error, WorkflowAbort) && error.stepName === this.disabledMessage || isInstanceOf(error, WorkflowNonRetryableError) || isInstanceOf(error, WorkflowRetryAfterError)) {
3150
3187
  return ok("step-found");
3151
3188
  }
3152
3189
  console.warn(
@@ -3399,13 +3436,24 @@ var processOptions = (options) => {
3399
3436
  },
3400
3437
  status: 489
3401
3438
  });
3402
- } else if (detailedFinishCondition?.condition === "failure-callback") {
3403
- return new Response(detailedFinishCondition.result ?? void 0, {
3404
- status: 200,
3439
+ } else if (detailedFinishCondition?.condition === "retry-after-error") {
3440
+ return new Response(JSON.stringify(formatWorkflowError(detailedFinishCondition.result)), {
3405
3441
  headers: {
3442
+ "Retry-After": detailedFinishCondition.result.retryAfter.toString(),
3406
3443
  [WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION
3407
- }
3444
+ },
3445
+ status: 429
3408
3446
  });
3447
+ } else if (detailedFinishCondition?.condition === "failure-callback") {
3448
+ return new Response(
3449
+ JSON.stringify({ result: detailedFinishCondition.result ?? void 0 }),
3450
+ {
3451
+ status: 200,
3452
+ headers: {
3453
+ [WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION
3454
+ }
3455
+ }
3456
+ );
3409
3457
  }
3410
3458
  return new Response(JSON.stringify({ workflowRunId }), {
3411
3459
  status: 200,
@@ -3615,12 +3663,18 @@ var serveBase = (routeFunction, telemetry, options) => {
3615
3663
  },
3616
3664
  debug
3617
3665
  });
3618
- if (result.isOk() && result.value instanceof WorkflowNonRetryableError) {
3666
+ if (result.isOk() && isInstanceOf(result.value, WorkflowNonRetryableError)) {
3619
3667
  return onStepFinish(workflowRunId, result.value, {
3620
3668
  condition: "non-retryable-error",
3621
3669
  result: result.value
3622
3670
  });
3623
3671
  }
3672
+ if (result.isOk() && isInstanceOf(result.value, WorkflowRetryAfterError)) {
3673
+ return onStepFinish(workflowRunId, result.value, {
3674
+ condition: "retry-after-error",
3675
+ result: result.value
3676
+ });
3677
+ }
3624
3678
  if (result.isErr()) {
3625
3679
  await debug?.log("ERROR", "ERROR", { error: result.error.message });
3626
3680
  throw result.error;
@@ -3651,7 +3705,7 @@ var serveBase = (routeFunction, telemetry, options) => {
3651
3705
  const errorMessage = `Error while running onError callback: '${formattedOnErrorError.message}'.
3652
3706
  Original error: '${formattedError.message}'`;
3653
3707
  console.error(errorMessage);
3654
- return new Response(errorMessage, {
3708
+ return new Response(JSON.stringify({ error: errorMessage }), {
3655
3709
  status: 500,
3656
3710
  headers: {
3657
3711
  [WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION
@@ -3920,14 +3974,14 @@ var Client4 = class {
3920
3974
  workflowRunId: finalWorkflowRunId,
3921
3975
  retries: option.retries,
3922
3976
  retryDelay: option.retryDelay,
3923
- telemetry: { sdk: SDK_TELEMETRY },
3977
+ telemetry: option.disableTelemetry ? void 0 : { sdk: SDK_TELEMETRY },
3924
3978
  flowControl: option.flowControl,
3925
3979
  failureUrl,
3926
3980
  label: option.label
3927
3981
  });
3928
3982
  return {
3929
3983
  workflowContext: context,
3930
- telemetry: { sdk: SDK_TELEMETRY },
3984
+ telemetry: option.disableTelemetry ? void 0 : { sdk: SDK_TELEMETRY },
3931
3985
  delay: option.delay,
3932
3986
  notBefore: option.notBefore,
3933
3987
  keepTriggerConfig: option.keepTriggerConfig
@@ -4012,6 +4066,7 @@ var Client4 = class {
4012
4066
  WorkflowError,
4013
4067
  WorkflowLogger,
4014
4068
  WorkflowNonRetryableError,
4069
+ WorkflowRetryAfterError,
4015
4070
  WorkflowTool,
4016
4071
  serve
4017
4072
  });
package/index.mjs CHANGED
@@ -7,6 +7,7 @@ import {
7
7
  WorkflowError,
8
8
  WorkflowLogger,
9
9
  WorkflowNonRetryableError,
10
+ WorkflowRetryAfterError,
10
11
  WorkflowTool,
11
12
  getWorkflowRunId,
12
13
  makeGetWaitersRequest,
@@ -14,7 +15,7 @@ import {
14
15
  prepareFlowControl,
15
16
  serve,
16
17
  triggerFirstInvocation
17
- } from "./chunk-NQDNC5P4.mjs";
18
+ } from "./chunk-BON2RKOR.mjs";
18
19
 
19
20
  // src/client/index.ts
20
21
  import { Client as QStashClient } from "@upstash/qstash";
@@ -257,14 +258,14 @@ var Client = class {
257
258
  workflowRunId: finalWorkflowRunId,
258
259
  retries: option.retries,
259
260
  retryDelay: option.retryDelay,
260
- telemetry: { sdk: SDK_TELEMETRY },
261
+ telemetry: option.disableTelemetry ? void 0 : { sdk: SDK_TELEMETRY },
261
262
  flowControl: option.flowControl,
262
263
  failureUrl,
263
264
  label: option.label
264
265
  });
265
266
  return {
266
267
  workflowContext: context,
267
- telemetry: { sdk: SDK_TELEMETRY },
268
+ telemetry: option.disableTelemetry ? void 0 : { sdk: SDK_TELEMETRY },
268
269
  delay: option.delay,
269
270
  notBefore: option.notBefore,
270
271
  keepTriggerConfig: option.keepTriggerConfig
@@ -348,6 +349,7 @@ export {
348
349
  WorkflowError,
349
350
  WorkflowLogger,
350
351
  WorkflowNonRetryableError,
352
+ WorkflowRetryAfterError,
351
353
  WorkflowTool,
352
354
  serve
353
355
  };
package/nextjs.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';
2
- import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.mjs';
3
- import { s as serveManyBase } from './serve-many-BNusWYgt.mjs';
2
+ import { R as RouteFunction, o as PublicServeOptions, z as InvokableWorkflow } from './types-9nCq6bRP.mjs';
3
+ import { s as serveManyBase } from './serve-many-CctdYIfB.mjs';
4
4
  import '@upstash/qstash';
5
5
  import 'zod';
6
6
  import 'ai';
package/nextjs.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';
2
- import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.js';
3
- import { s as serveManyBase } from './serve-many-CXqQP3RI.js';
2
+ import { R as RouteFunction, o as PublicServeOptions, z as InvokableWorkflow } from './types-9nCq6bRP.js';
3
+ import { s as serveManyBase } from './serve-many-BXDr30rl.js';
4
4
  import '@upstash/qstash';
5
5
  import 'zod';
6
6
  import 'ai';