@upstash/workflow 0.2.7 → 0.2.8-rc-invoke
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/astro.d.mts +8 -3
- package/astro.d.ts +8 -3
- package/astro.js +238 -65
- package/astro.mjs +33 -7
- package/{chunk-U6XFLG7W.mjs → chunk-IWAW7GIG.mjs} +103 -38
- package/chunk-LCZMBGEM.mjs +95 -0
- package/cloudflare.d.mts +9 -4
- package/cloudflare.d.ts +9 -4
- package/cloudflare.js +241 -71
- package/cloudflare.mjs +36 -13
- package/express.d.mts +7 -3
- package/express.d.ts +7 -3
- package/express.js +248 -68
- package/express.mjs +41 -10
- package/h3.d.mts +9 -7
- package/h3.d.ts +9 -7
- package/h3.js +249 -78
- package/h3.mjs +44 -20
- package/hono.d.mts +10 -4
- package/hono.d.ts +10 -4
- package/hono.js +240 -73
- package/hono.mjs +35 -15
- package/index.d.mts +17 -4
- package/index.d.ts +17 -4
- package/index.js +102 -38
- package/index.mjs +2 -2
- package/nextjs.d.mts +14 -5
- package/nextjs.d.ts +14 -5
- package/nextjs.js +249 -52
- package/nextjs.mjs +64 -16
- package/package.json +1 -1
- package/serve-many-BlBvXfBS.d.mts +10 -0
- package/serve-many-Dw-UUnH6.d.ts +10 -0
- package/solidjs.d.mts +3 -3
- package/solidjs.d.ts +3 -3
- package/solidjs.js +107 -46
- package/solidjs.mjs +7 -10
- package/svelte.d.mts +12 -4
- package/svelte.d.ts +12 -4
- package/svelte.js +240 -71
- package/svelte.mjs +35 -13
- package/{types-Cuqlx2Cr.d.mts → types-C7Y7WUQd.d.mts} +31 -3
- package/{types-Cuqlx2Cr.d.ts → types-C7Y7WUQd.d.ts} +31 -3
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, N as NotifyResponse, a as Waiter, S as Step } from './types-
|
|
2
|
-
export { A as AsyncStepFunction, C as CallResponse, q as CallSettings, D as Duration, k as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, L as LogLevel, o as NotifyStepResponse, P as ParallelCallState, j as PublicServeOptions, g as RawStep, l as RequiredExceptFields, i as StepFunction, f as StepType, e as StepTypes, h as SyncStepFunction,
|
|
1
|
+
import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, N as NotifyResponse, a as Waiter, S as Step } from './types-C7Y7WUQd.js';
|
|
2
|
+
export { A as AsyncStepFunction, C as CallResponse, q as CallSettings, D as Duration, k as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, t as InvokableWorkflow, s as InvokeCallback, r as InvokeStepResponse, I as InvokeWorkflowRequest, L as LogLevel, o as NotifyStepResponse, P as ParallelCallState, j as PublicServeOptions, g as RawStep, l as RequiredExceptFields, i as StepFunction, f as StepType, e as StepTypes, h as SyncStepFunction, p as WaitEventOptions, m as WaitRequest, n as WaitStepResponse, c as WorkflowClient, b as WorkflowContext, v as WorkflowLogger, u as WorkflowLoggerOptions, d as WorkflowReceiver } from './types-C7Y7WUQd.js';
|
|
3
3
|
import { Client as Client$1, QstashError } from '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'ai';
|
|
@@ -9,13 +9,26 @@ import '@ai-sdk/openai';
|
|
|
9
9
|
* Creates an async method that handles incoming requests and runs the provided
|
|
10
10
|
* route function as a workflow.
|
|
11
11
|
*
|
|
12
|
+
* Not exported in the package. Instead, used in framework specific serve implementations.
|
|
13
|
+
*
|
|
14
|
+
* Only difference from regular serve is the `useJSONContent` parameter.
|
|
15
|
+
*
|
|
12
16
|
* @param routeFunction - A function that uses WorkflowContext as a parameter and runs a workflow.
|
|
13
17
|
* @param options - Options including the client, onFinish callback, and initialPayloadParser.
|
|
14
18
|
* @returns An async method that consumes incoming requests and runs the workflow.
|
|
15
19
|
*/
|
|
16
|
-
declare const
|
|
20
|
+
declare const serveBase: <TInitialPayload = unknown, TRequest extends Request = Request, TResponse extends Response = Response, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, telemetry?: Telemetry, options?: WorkflowServeOptions<TResponse, TInitialPayload>) => {
|
|
17
21
|
handler: (request: TRequest) => Promise<TResponse>;
|
|
18
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Creates an async method that handles incoming requests and runs the provided
|
|
25
|
+
* route function as a workflow.
|
|
26
|
+
*
|
|
27
|
+
* @param routeFunction - A function that uses WorkflowContext as a parameter and runs a workflow.
|
|
28
|
+
* @param options - Options including the client, onFinish callback, and initialPayloadParser.
|
|
29
|
+
* @returns An async method that consumes incoming requests and runs the workflow.
|
|
30
|
+
*/
|
|
31
|
+
declare const serve: <TInitialPayload = unknown, TRequest extends Request = Request, TResponse extends Response = Response, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: Omit<WorkflowServeOptions<TResponse, TInitialPayload>, "useJSONContent" | "schema" | "initialPayloadParser"> & ExclusiveValidationOptions<TInitialPayload>) => ReturnType<typeof serveBase<TInitialPayload, TRequest, TResponse, TResult>>;
|
|
19
32
|
|
|
20
33
|
type ClientConfig = ConstructorParameters<typeof Client$1>[0];
|
|
21
34
|
/**
|
|
@@ -192,4 +205,4 @@ declare class WorkflowAbort extends Error {
|
|
|
192
205
|
constructor(stepName: string, stepInfo?: Step, cancelWorkflow?: boolean);
|
|
193
206
|
}
|
|
194
207
|
|
|
195
|
-
export { Client, ExclusiveValidationOptions, NotifyResponse, RouteFunction, Step, Waiter, WorkflowAbort, WorkflowError, WorkflowServeOptions, serve };
|
|
208
|
+
export { Client, ExclusiveValidationOptions, NotifyResponse, RouteFunction, Step, Telemetry, Waiter, WorkflowAbort, WorkflowError, WorkflowServeOptions, serve };
|
package/index.js
CHANGED
|
@@ -101,7 +101,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
|
101
101
|
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
102
102
|
var NO_CONCURRENCY = 1;
|
|
103
103
|
var DEFAULT_RETRIES = 3;
|
|
104
|
-
var VERSION = "v0.2.
|
|
104
|
+
var VERSION = "v0.2.7";
|
|
105
105
|
var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
|
|
106
106
|
var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
|
|
107
107
|
var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
|
|
@@ -148,6 +148,31 @@ var formatWorkflowError = (error) => {
|
|
|
148
148
|
};
|
|
149
149
|
};
|
|
150
150
|
|
|
151
|
+
// src/utils.ts
|
|
152
|
+
var NANOID_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
|
|
153
|
+
var NANOID_LENGTH = 21;
|
|
154
|
+
function getRandomInt() {
|
|
155
|
+
return Math.floor(Math.random() * NANOID_CHARS.length);
|
|
156
|
+
}
|
|
157
|
+
function nanoid() {
|
|
158
|
+
return Array.from({ length: NANOID_LENGTH }).map(() => NANOID_CHARS[getRandomInt()]).join("");
|
|
159
|
+
}
|
|
160
|
+
function getWorkflowRunId(id) {
|
|
161
|
+
return `wfr_${id ?? nanoid()}`;
|
|
162
|
+
}
|
|
163
|
+
function decodeBase64(base64) {
|
|
164
|
+
try {
|
|
165
|
+
const binString = atob(base64);
|
|
166
|
+
const intArray = Uint8Array.from(binString, (m) => m.codePointAt(0));
|
|
167
|
+
return new TextDecoder().decode(intArray);
|
|
168
|
+
} catch (error) {
|
|
169
|
+
console.warn(
|
|
170
|
+
`Upstash Qstash: Failed while decoding base64 "${base64}". Decoding with atob and returning it instead. ${error}`
|
|
171
|
+
);
|
|
172
|
+
return atob(base64);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
151
176
|
// src/context/steps.ts
|
|
152
177
|
var BaseLazyStep = class {
|
|
153
178
|
stepName;
|
|
@@ -328,6 +353,41 @@ var LazyNotifyStep = class extends LazyFunctionStep {
|
|
|
328
353
|
});
|
|
329
354
|
}
|
|
330
355
|
};
|
|
356
|
+
var LazyInvokeStep = class extends BaseLazyStep {
|
|
357
|
+
stepType = "Invoke";
|
|
358
|
+
params;
|
|
359
|
+
constructor(stepName, { workflow, body, headers = {}, workflowRunId, retries }) {
|
|
360
|
+
super(stepName);
|
|
361
|
+
this.params = {
|
|
362
|
+
workflow,
|
|
363
|
+
body,
|
|
364
|
+
headers,
|
|
365
|
+
workflowRunId: getWorkflowRunId(workflowRunId),
|
|
366
|
+
retries
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
getPlanStep(concurrent, targetStep) {
|
|
370
|
+
return {
|
|
371
|
+
stepId: 0,
|
|
372
|
+
stepName: this.stepName,
|
|
373
|
+
stepType: this.stepType,
|
|
374
|
+
concurrent,
|
|
375
|
+
targetStep
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* won't be used as it's the server who will add the result step
|
|
380
|
+
* in Invoke step.
|
|
381
|
+
*/
|
|
382
|
+
getResultStep(concurrent, stepId) {
|
|
383
|
+
return Promise.resolve({
|
|
384
|
+
stepId,
|
|
385
|
+
stepName: this.stepName,
|
|
386
|
+
stepType: this.stepType,
|
|
387
|
+
concurrent
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
};
|
|
331
391
|
|
|
332
392
|
// node_modules/neverthrow/dist/index.es.js
|
|
333
393
|
var defaultErrorConfig = {
|
|
@@ -752,7 +812,8 @@ var StepTypes = [
|
|
|
752
812
|
"SleepUntil",
|
|
753
813
|
"Call",
|
|
754
814
|
"Wait",
|
|
755
|
-
"Notify"
|
|
815
|
+
"Notify",
|
|
816
|
+
"Invoke"
|
|
756
817
|
];
|
|
757
818
|
|
|
758
819
|
// src/workflow-requests.ts
|
|
@@ -816,8 +877,8 @@ var triggerRouteFunction = async ({
|
|
|
816
877
|
debug
|
|
817
878
|
}) => {
|
|
818
879
|
try {
|
|
819
|
-
await onStep();
|
|
820
|
-
await onCleanup();
|
|
880
|
+
const result = await onStep();
|
|
881
|
+
await onCleanup(result);
|
|
821
882
|
return ok("workflow-finished");
|
|
822
883
|
} catch (error) {
|
|
823
884
|
const error_ = error;
|
|
@@ -838,14 +899,15 @@ var triggerRouteFunction = async ({
|
|
|
838
899
|
}
|
|
839
900
|
}
|
|
840
901
|
};
|
|
841
|
-
var triggerWorkflowDelete = async (workflowContext, debug, cancel = false) => {
|
|
902
|
+
var triggerWorkflowDelete = async (workflowContext, result, debug, cancel = false) => {
|
|
842
903
|
await debug?.log("SUBMIT", "SUBMIT_CLEANUP", {
|
|
843
904
|
deletedWorkflowRunId: workflowContext.workflowRunId
|
|
844
905
|
});
|
|
845
906
|
await workflowContext.qstashClient.http.request({
|
|
846
907
|
path: ["v2", "workflows", "runs", `${workflowContext.workflowRunId}?cancel=${cancel}`],
|
|
847
908
|
method: "DELETE",
|
|
848
|
-
parseResponseAsJson: false
|
|
909
|
+
parseResponseAsJson: false,
|
|
910
|
+
body: JSON.stringify(result)
|
|
849
911
|
});
|
|
850
912
|
await debug?.log(
|
|
851
913
|
"SUBMIT",
|
|
@@ -1000,11 +1062,14 @@ var getHeaders = ({
|
|
|
1000
1062
|
callTimeout,
|
|
1001
1063
|
telemetry
|
|
1002
1064
|
}) => {
|
|
1065
|
+
const contentType = (userHeaders ? userHeaders.get("Content-Type") : void 0) ?? DEFAULT_CONTENT_TYPE;
|
|
1003
1066
|
const baseHeaders = {
|
|
1004
1067
|
[WORKFLOW_INIT_HEADER]: initHeaderValue,
|
|
1005
1068
|
[WORKFLOW_ID_HEADER]: workflowRunId,
|
|
1006
1069
|
[WORKFLOW_URL_HEADER]: workflowUrl,
|
|
1007
1070
|
[WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody",
|
|
1071
|
+
[WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION,
|
|
1072
|
+
"content-type": contentType,
|
|
1008
1073
|
...telemetry ? getTelemetryHeaders(telemetry) : {}
|
|
1009
1074
|
};
|
|
1010
1075
|
if (!step?.callUrl) {
|
|
@@ -1019,6 +1084,9 @@ var getHeaders = ({
|
|
|
1019
1084
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
1020
1085
|
}
|
|
1021
1086
|
}
|
|
1087
|
+
if (step?.stepType === "Invoke") {
|
|
1088
|
+
baseHeaders["upstash-workflow-invoke"] = "true";
|
|
1089
|
+
}
|
|
1022
1090
|
if (step?.callUrl) {
|
|
1023
1091
|
baseHeaders["Upstash-Retries"] = callRetries?.toString() ?? "0";
|
|
1024
1092
|
baseHeaders[WORKFLOW_FEATURE_HEADER] = "WF_NoDelete,InitialBody";
|
|
@@ -1040,7 +1108,6 @@ var getHeaders = ({
|
|
|
1040
1108
|
baseHeaders[`Upstash-Failure-Callback-Forward-${header}`] = userHeaders.get(header);
|
|
1041
1109
|
}
|
|
1042
1110
|
}
|
|
1043
|
-
const contentType = (userHeaders ? userHeaders.get("Content-Type") : void 0) ?? DEFAULT_CONTENT_TYPE;
|
|
1044
1111
|
if (step?.callHeaders) {
|
|
1045
1112
|
const forwardedHeaders = Object.fromEntries(
|
|
1046
1113
|
Object.entries(step.callHeaders).map(([header, value]) => [
|
|
@@ -1090,8 +1157,7 @@ var getHeaders = ({
|
|
|
1090
1157
|
"Upstash-Workflow-Runid": [workflowRunId],
|
|
1091
1158
|
[WORKFLOW_INIT_HEADER]: ["false"],
|
|
1092
1159
|
[WORKFLOW_URL_HEADER]: [workflowUrl],
|
|
1093
|
-
"Upstash-Workflow-CallType": ["step"]
|
|
1094
|
-
"Content-Type": [contentType]
|
|
1160
|
+
"Upstash-Workflow-CallType": ["step"]
|
|
1095
1161
|
}
|
|
1096
1162
|
};
|
|
1097
1163
|
}
|
|
@@ -1386,7 +1452,23 @@ var AutoExecutor = class _AutoExecutor {
|
|
|
1386
1452
|
method: "POST",
|
|
1387
1453
|
parseResponseAsJson: false
|
|
1388
1454
|
});
|
|
1389
|
-
throw new WorkflowAbort(
|
|
1455
|
+
throw new WorkflowAbort(waitStep.stepName, waitStep);
|
|
1456
|
+
}
|
|
1457
|
+
if (steps.length === 1 && lazySteps[0] instanceof LazyInvokeStep) {
|
|
1458
|
+
const invokeStep = steps[0];
|
|
1459
|
+
const lazyInvokeStep = lazySteps[0];
|
|
1460
|
+
await lazyInvokeStep.params.workflow.callback(
|
|
1461
|
+
{
|
|
1462
|
+
body: lazyInvokeStep.params.body,
|
|
1463
|
+
headers: lazyInvokeStep.params.headers,
|
|
1464
|
+
workflowRunId: lazyInvokeStep.params.workflowRunId,
|
|
1465
|
+
workflow: lazyInvokeStep.params.workflow,
|
|
1466
|
+
retries: lazyInvokeStep.params.retries
|
|
1467
|
+
},
|
|
1468
|
+
invokeStep,
|
|
1469
|
+
this.context
|
|
1470
|
+
);
|
|
1471
|
+
throw new WorkflowAbort(invokeStep.stepName, invokeStep);
|
|
1390
1472
|
}
|
|
1391
1473
|
const result = await this.context.qstashClient.batchJSON(
|
|
1392
1474
|
steps.map((singleStep, index) => {
|
|
@@ -2303,6 +2385,13 @@ var WorkflowContext = class {
|
|
|
2303
2385
|
return result;
|
|
2304
2386
|
}
|
|
2305
2387
|
}
|
|
2388
|
+
async invoke(stepName, settings) {
|
|
2389
|
+
const result = await this.addStep(new LazyInvokeStep(stepName, settings));
|
|
2390
|
+
return {
|
|
2391
|
+
...result,
|
|
2392
|
+
body: result.body ? JSON.parse(result.body) : void 0
|
|
2393
|
+
};
|
|
2394
|
+
}
|
|
2306
2395
|
/**
|
|
2307
2396
|
* Cancel the current workflow run
|
|
2308
2397
|
*
|
|
@@ -2380,31 +2469,6 @@ var WorkflowLogger = class _WorkflowLogger {
|
|
|
2380
2469
|
}
|
|
2381
2470
|
};
|
|
2382
2471
|
|
|
2383
|
-
// src/utils.ts
|
|
2384
|
-
var NANOID_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
|
|
2385
|
-
var NANOID_LENGTH = 21;
|
|
2386
|
-
function getRandomInt() {
|
|
2387
|
-
return Math.floor(Math.random() * NANOID_CHARS.length);
|
|
2388
|
-
}
|
|
2389
|
-
function nanoid() {
|
|
2390
|
-
return Array.from({ length: NANOID_LENGTH }).map(() => NANOID_CHARS[getRandomInt()]).join("");
|
|
2391
|
-
}
|
|
2392
|
-
function getWorkflowRunId(id) {
|
|
2393
|
-
return `wfr_${id ?? nanoid()}`;
|
|
2394
|
-
}
|
|
2395
|
-
function decodeBase64(base64) {
|
|
2396
|
-
try {
|
|
2397
|
-
const binString = atob(base64);
|
|
2398
|
-
const intArray = Uint8Array.from(binString, (m) => m.codePointAt(0));
|
|
2399
|
-
return new TextDecoder().decode(intArray);
|
|
2400
|
-
} catch (error) {
|
|
2401
|
-
console.warn(
|
|
2402
|
-
`Upstash Qstash: Failed while decoding base64 "${base64}". Decoding with atob and returning it instead. ${error}`
|
|
2403
|
-
);
|
|
2404
|
-
return atob(base64);
|
|
2405
|
-
}
|
|
2406
|
-
}
|
|
2407
|
-
|
|
2408
2472
|
// src/serve/authorization.ts
|
|
2409
2473
|
var import_qstash8 = require("@upstash/qstash");
|
|
2410
2474
|
var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
|
|
@@ -2850,8 +2914,8 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
2850
2914
|
} else if (callReturnCheck.value === "continue-workflow") {
|
|
2851
2915
|
const result = isFirstInvocation ? await triggerFirstInvocation({ workflowContext, useJSONContent, telemetry, debug }) : await triggerRouteFunction({
|
|
2852
2916
|
onStep: async () => routeFunction(workflowContext),
|
|
2853
|
-
onCleanup: async () => {
|
|
2854
|
-
await triggerWorkflowDelete(workflowContext, debug);
|
|
2917
|
+
onCleanup: async (result2) => {
|
|
2918
|
+
await triggerWorkflowDelete(workflowContext, result2, debug);
|
|
2855
2919
|
},
|
|
2856
2920
|
onCancel: async () => {
|
|
2857
2921
|
await makeCancelRequest(workflowContext.qstashClient.http, workflowRunId);
|
|
@@ -2898,7 +2962,7 @@ var import_qstash11 = require("@upstash/qstash");
|
|
|
2898
2962
|
var Client4 = class {
|
|
2899
2963
|
client;
|
|
2900
2964
|
constructor(clientConfig) {
|
|
2901
|
-
if (!clientConfig
|
|
2965
|
+
if (!clientConfig?.token) {
|
|
2902
2966
|
console.error(
|
|
2903
2967
|
"QStash token is required for Upstash Workflow!\n\nTo fix this:\n1. Get your token from the Upstash Console (https://console.upstash.com/qstash)\n2. Initialize the workflow client with:\n\n const client = new Client({\n token: '<YOUR_QSTASH_TOKEN>'\n });"
|
|
2904
2968
|
);
|
package/index.mjs
CHANGED
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
makeNotifyRequest,
|
|
10
10
|
serve,
|
|
11
11
|
triggerFirstInvocation
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-IWAW7GIG.mjs";
|
|
13
13
|
|
|
14
14
|
// src/client/index.ts
|
|
15
15
|
import { Client as QStashClient } from "@upstash/qstash";
|
|
16
16
|
var Client = class {
|
|
17
17
|
client;
|
|
18
18
|
constructor(clientConfig) {
|
|
19
|
-
if (!clientConfig
|
|
19
|
+
if (!clientConfig?.token) {
|
|
20
20
|
console.error(
|
|
21
21
|
"QStash token is required for Upstash Workflow!\n\nTo fix this:\n1. Get your token from the Upstash Console (https://console.upstash.com/qstash)\n2. Initialize the workflow client with:\n\n const client = new Client({\n token: '<YOUR_QSTASH_TOKEN>'\n });"
|
|
22
22
|
);
|
package/nextjs.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { NextApiHandler } from 'next';
|
|
2
|
-
import { R as RouteFunction, j as PublicServeOptions } from './types-
|
|
1
|
+
import { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
+
import { R as RouteFunction, j as PublicServeOptions, t as InvokableWorkflow } from './types-C7Y7WUQd.mjs';
|
|
3
|
+
import { s as serveManyBase } from './serve-many-BlBvXfBS.mjs';
|
|
3
4
|
import '@upstash/qstash';
|
|
4
5
|
import 'zod';
|
|
5
6
|
import 'ai';
|
|
@@ -14,11 +15,19 @@ import '@ai-sdk/openai';
|
|
|
14
15
|
* @param options workflow options
|
|
15
16
|
* @returns
|
|
16
17
|
*/
|
|
17
|
-
declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options?: PublicServeOptions<TInitialPayload>) => {
|
|
18
|
+
declare const serve: <TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>) => {
|
|
18
19
|
POST: (request: Request) => Promise<Response>;
|
|
19
20
|
};
|
|
20
|
-
declare const
|
|
21
|
+
declare const createWorkflow: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload> | undefined) => InvokableWorkflow<TInitialPayload, TResult, Parameters<ReturnType<typeof serve<TInitialPayload, TResult>>["POST"]>>;
|
|
22
|
+
declare const serveMany: (workflows: Parameters<typeof serveManyBase>[0]["workflows"]) => {
|
|
23
|
+
POST: (request: Request) => Promise<any>;
|
|
24
|
+
};
|
|
25
|
+
declare const servePagesRouter: <TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>) => {
|
|
21
26
|
handler: NextApiHandler;
|
|
22
27
|
};
|
|
28
|
+
declare const createWorkflowPagesRouter: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload> | undefined) => InvokableWorkflow<TInitialPayload, TResult, Parameters<ReturnType<typeof servePagesRouter<TInitialPayload, TResult>>["handler"]>>;
|
|
29
|
+
declare const serveManyPagesRouter: (workflows: Parameters<typeof serveManyBase>[0]["workflows"]) => {
|
|
30
|
+
handler: (req: NextApiRequest, res: NextApiResponse<any>) => Promise<any>;
|
|
31
|
+
};
|
|
23
32
|
|
|
24
|
-
export { serve, servePagesRouter };
|
|
33
|
+
export { createWorkflow, createWorkflowPagesRouter, serve, serveMany, serveManyPagesRouter, servePagesRouter };
|
package/nextjs.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { NextApiHandler } from 'next';
|
|
2
|
-
import { R as RouteFunction, j as PublicServeOptions } from './types-
|
|
1
|
+
import { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
+
import { R as RouteFunction, j as PublicServeOptions, t as InvokableWorkflow } from './types-C7Y7WUQd.js';
|
|
3
|
+
import { s as serveManyBase } from './serve-many-Dw-UUnH6.js';
|
|
3
4
|
import '@upstash/qstash';
|
|
4
5
|
import 'zod';
|
|
5
6
|
import 'ai';
|
|
@@ -14,11 +15,19 @@ import '@ai-sdk/openai';
|
|
|
14
15
|
* @param options workflow options
|
|
15
16
|
* @returns
|
|
16
17
|
*/
|
|
17
|
-
declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options?: PublicServeOptions<TInitialPayload>) => {
|
|
18
|
+
declare const serve: <TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>) => {
|
|
18
19
|
POST: (request: Request) => Promise<Response>;
|
|
19
20
|
};
|
|
20
|
-
declare const
|
|
21
|
+
declare const createWorkflow: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload> | undefined) => InvokableWorkflow<TInitialPayload, TResult, Parameters<ReturnType<typeof serve<TInitialPayload, TResult>>["POST"]>>;
|
|
22
|
+
declare const serveMany: (workflows: Parameters<typeof serveManyBase>[0]["workflows"]) => {
|
|
23
|
+
POST: (request: Request) => Promise<any>;
|
|
24
|
+
};
|
|
25
|
+
declare const servePagesRouter: <TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>) => {
|
|
21
26
|
handler: NextApiHandler;
|
|
22
27
|
};
|
|
28
|
+
declare const createWorkflowPagesRouter: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload> | undefined) => InvokableWorkflow<TInitialPayload, TResult, Parameters<ReturnType<typeof servePagesRouter<TInitialPayload, TResult>>["handler"]>>;
|
|
29
|
+
declare const serveManyPagesRouter: (workflows: Parameters<typeof serveManyBase>[0]["workflows"]) => {
|
|
30
|
+
handler: (req: NextApiRequest, res: NextApiResponse<any>) => Promise<any>;
|
|
31
|
+
};
|
|
23
32
|
|
|
24
|
-
export { serve, servePagesRouter };
|
|
33
|
+
export { createWorkflow, createWorkflowPagesRouter, serve, serveMany, serveManyPagesRouter, servePagesRouter };
|