@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/solidjs.js
CHANGED
|
@@ -88,7 +88,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
|
88
88
|
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
89
89
|
var NO_CONCURRENCY = 1;
|
|
90
90
|
var DEFAULT_RETRIES = 3;
|
|
91
|
-
var VERSION = "v0.2.
|
|
91
|
+
var VERSION = "v0.2.7";
|
|
92
92
|
var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
|
|
93
93
|
var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
|
|
94
94
|
var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
|
|
@@ -135,6 +135,31 @@ var formatWorkflowError = (error) => {
|
|
|
135
135
|
};
|
|
136
136
|
};
|
|
137
137
|
|
|
138
|
+
// src/utils.ts
|
|
139
|
+
var NANOID_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
|
|
140
|
+
var NANOID_LENGTH = 21;
|
|
141
|
+
function getRandomInt() {
|
|
142
|
+
return Math.floor(Math.random() * NANOID_CHARS.length);
|
|
143
|
+
}
|
|
144
|
+
function nanoid() {
|
|
145
|
+
return Array.from({ length: NANOID_LENGTH }).map(() => NANOID_CHARS[getRandomInt()]).join("");
|
|
146
|
+
}
|
|
147
|
+
function getWorkflowRunId(id) {
|
|
148
|
+
return `wfr_${id ?? nanoid()}`;
|
|
149
|
+
}
|
|
150
|
+
function decodeBase64(base64) {
|
|
151
|
+
try {
|
|
152
|
+
const binString = atob(base64);
|
|
153
|
+
const intArray = Uint8Array.from(binString, (m) => m.codePointAt(0));
|
|
154
|
+
return new TextDecoder().decode(intArray);
|
|
155
|
+
} catch (error) {
|
|
156
|
+
console.warn(
|
|
157
|
+
`Upstash Qstash: Failed while decoding base64 "${base64}". Decoding with atob and returning it instead. ${error}`
|
|
158
|
+
);
|
|
159
|
+
return atob(base64);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
138
163
|
// src/context/steps.ts
|
|
139
164
|
var BaseLazyStep = class {
|
|
140
165
|
stepName;
|
|
@@ -315,6 +340,41 @@ var LazyNotifyStep = class extends LazyFunctionStep {
|
|
|
315
340
|
});
|
|
316
341
|
}
|
|
317
342
|
};
|
|
343
|
+
var LazyInvokeStep = class extends BaseLazyStep {
|
|
344
|
+
stepType = "Invoke";
|
|
345
|
+
params;
|
|
346
|
+
constructor(stepName, { workflow, body, headers = {}, workflowRunId, retries }) {
|
|
347
|
+
super(stepName);
|
|
348
|
+
this.params = {
|
|
349
|
+
workflow,
|
|
350
|
+
body,
|
|
351
|
+
headers,
|
|
352
|
+
workflowRunId: getWorkflowRunId(workflowRunId),
|
|
353
|
+
retries
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
getPlanStep(concurrent, targetStep) {
|
|
357
|
+
return {
|
|
358
|
+
stepId: 0,
|
|
359
|
+
stepName: this.stepName,
|
|
360
|
+
stepType: this.stepType,
|
|
361
|
+
concurrent,
|
|
362
|
+
targetStep
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* won't be used as it's the server who will add the result step
|
|
367
|
+
* in Invoke step.
|
|
368
|
+
*/
|
|
369
|
+
getResultStep(concurrent, stepId) {
|
|
370
|
+
return Promise.resolve({
|
|
371
|
+
stepId,
|
|
372
|
+
stepName: this.stepName,
|
|
373
|
+
stepType: this.stepType,
|
|
374
|
+
concurrent
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
};
|
|
318
378
|
|
|
319
379
|
// node_modules/neverthrow/dist/index.es.js
|
|
320
380
|
var defaultErrorConfig = {
|
|
@@ -739,7 +799,8 @@ var StepTypes = [
|
|
|
739
799
|
"SleepUntil",
|
|
740
800
|
"Call",
|
|
741
801
|
"Wait",
|
|
742
|
-
"Notify"
|
|
802
|
+
"Notify",
|
|
803
|
+
"Invoke"
|
|
743
804
|
];
|
|
744
805
|
|
|
745
806
|
// src/workflow-requests.ts
|
|
@@ -803,8 +864,8 @@ var triggerRouteFunction = async ({
|
|
|
803
864
|
debug
|
|
804
865
|
}) => {
|
|
805
866
|
try {
|
|
806
|
-
await onStep();
|
|
807
|
-
await onCleanup();
|
|
867
|
+
const result = await onStep();
|
|
868
|
+
await onCleanup(result);
|
|
808
869
|
return ok("workflow-finished");
|
|
809
870
|
} catch (error) {
|
|
810
871
|
const error_ = error;
|
|
@@ -825,14 +886,15 @@ var triggerRouteFunction = async ({
|
|
|
825
886
|
}
|
|
826
887
|
}
|
|
827
888
|
};
|
|
828
|
-
var triggerWorkflowDelete = async (workflowContext, debug, cancel = false) => {
|
|
889
|
+
var triggerWorkflowDelete = async (workflowContext, result, debug, cancel = false) => {
|
|
829
890
|
await debug?.log("SUBMIT", "SUBMIT_CLEANUP", {
|
|
830
891
|
deletedWorkflowRunId: workflowContext.workflowRunId
|
|
831
892
|
});
|
|
832
893
|
await workflowContext.qstashClient.http.request({
|
|
833
894
|
path: ["v2", "workflows", "runs", `${workflowContext.workflowRunId}?cancel=${cancel}`],
|
|
834
895
|
method: "DELETE",
|
|
835
|
-
parseResponseAsJson: false
|
|
896
|
+
parseResponseAsJson: false,
|
|
897
|
+
body: JSON.stringify(result)
|
|
836
898
|
});
|
|
837
899
|
await debug?.log(
|
|
838
900
|
"SUBMIT",
|
|
@@ -987,11 +1049,14 @@ var getHeaders = ({
|
|
|
987
1049
|
callTimeout,
|
|
988
1050
|
telemetry
|
|
989
1051
|
}) => {
|
|
1052
|
+
const contentType = (userHeaders ? userHeaders.get("Content-Type") : void 0) ?? DEFAULT_CONTENT_TYPE;
|
|
990
1053
|
const baseHeaders = {
|
|
991
1054
|
[WORKFLOW_INIT_HEADER]: initHeaderValue,
|
|
992
1055
|
[WORKFLOW_ID_HEADER]: workflowRunId,
|
|
993
1056
|
[WORKFLOW_URL_HEADER]: workflowUrl,
|
|
994
1057
|
[WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody",
|
|
1058
|
+
[WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION,
|
|
1059
|
+
"content-type": contentType,
|
|
995
1060
|
...telemetry ? getTelemetryHeaders(telemetry) : {}
|
|
996
1061
|
};
|
|
997
1062
|
if (!step?.callUrl) {
|
|
@@ -1006,6 +1071,9 @@ var getHeaders = ({
|
|
|
1006
1071
|
baseHeaders["Upstash-Failure-Callback"] = failureUrl;
|
|
1007
1072
|
}
|
|
1008
1073
|
}
|
|
1074
|
+
if (step?.stepType === "Invoke") {
|
|
1075
|
+
baseHeaders["upstash-workflow-invoke"] = "true";
|
|
1076
|
+
}
|
|
1009
1077
|
if (step?.callUrl) {
|
|
1010
1078
|
baseHeaders["Upstash-Retries"] = callRetries?.toString() ?? "0";
|
|
1011
1079
|
baseHeaders[WORKFLOW_FEATURE_HEADER] = "WF_NoDelete,InitialBody";
|
|
@@ -1027,7 +1095,6 @@ var getHeaders = ({
|
|
|
1027
1095
|
baseHeaders[`Upstash-Failure-Callback-Forward-${header}`] = userHeaders.get(header);
|
|
1028
1096
|
}
|
|
1029
1097
|
}
|
|
1030
|
-
const contentType = (userHeaders ? userHeaders.get("Content-Type") : void 0) ?? DEFAULT_CONTENT_TYPE;
|
|
1031
1098
|
if (step?.callHeaders) {
|
|
1032
1099
|
const forwardedHeaders = Object.fromEntries(
|
|
1033
1100
|
Object.entries(step.callHeaders).map(([header, value]) => [
|
|
@@ -1077,8 +1144,7 @@ var getHeaders = ({
|
|
|
1077
1144
|
"Upstash-Workflow-Runid": [workflowRunId],
|
|
1078
1145
|
[WORKFLOW_INIT_HEADER]: ["false"],
|
|
1079
1146
|
[WORKFLOW_URL_HEADER]: [workflowUrl],
|
|
1080
|
-
"Upstash-Workflow-CallType": ["step"]
|
|
1081
|
-
"Content-Type": [contentType]
|
|
1147
|
+
"Upstash-Workflow-CallType": ["step"]
|
|
1082
1148
|
}
|
|
1083
1149
|
};
|
|
1084
1150
|
}
|
|
@@ -1373,7 +1439,23 @@ var AutoExecutor = class _AutoExecutor {
|
|
|
1373
1439
|
method: "POST",
|
|
1374
1440
|
parseResponseAsJson: false
|
|
1375
1441
|
});
|
|
1376
|
-
throw new WorkflowAbort(
|
|
1442
|
+
throw new WorkflowAbort(waitStep.stepName, waitStep);
|
|
1443
|
+
}
|
|
1444
|
+
if (steps.length === 1 && lazySteps[0] instanceof LazyInvokeStep) {
|
|
1445
|
+
const invokeStep = steps[0];
|
|
1446
|
+
const lazyInvokeStep = lazySteps[0];
|
|
1447
|
+
await lazyInvokeStep.params.workflow.callback(
|
|
1448
|
+
{
|
|
1449
|
+
body: lazyInvokeStep.params.body,
|
|
1450
|
+
headers: lazyInvokeStep.params.headers,
|
|
1451
|
+
workflowRunId: lazyInvokeStep.params.workflowRunId,
|
|
1452
|
+
workflow: lazyInvokeStep.params.workflow,
|
|
1453
|
+
retries: lazyInvokeStep.params.retries
|
|
1454
|
+
},
|
|
1455
|
+
invokeStep,
|
|
1456
|
+
this.context
|
|
1457
|
+
);
|
|
1458
|
+
throw new WorkflowAbort(invokeStep.stepName, invokeStep);
|
|
1377
1459
|
}
|
|
1378
1460
|
const result = await this.context.qstashClient.batchJSON(
|
|
1379
1461
|
steps.map((singleStep, index) => {
|
|
@@ -2290,6 +2372,13 @@ var WorkflowContext = class {
|
|
|
2290
2372
|
return result;
|
|
2291
2373
|
}
|
|
2292
2374
|
}
|
|
2375
|
+
async invoke(stepName, settings) {
|
|
2376
|
+
const result = await this.addStep(new LazyInvokeStep(stepName, settings));
|
|
2377
|
+
return {
|
|
2378
|
+
...result,
|
|
2379
|
+
body: result.body ? JSON.parse(result.body) : void 0
|
|
2380
|
+
};
|
|
2381
|
+
}
|
|
2293
2382
|
/**
|
|
2294
2383
|
* Cancel the current workflow run
|
|
2295
2384
|
*
|
|
@@ -2367,31 +2456,6 @@ var WorkflowLogger = class _WorkflowLogger {
|
|
|
2367
2456
|
}
|
|
2368
2457
|
};
|
|
2369
2458
|
|
|
2370
|
-
// src/utils.ts
|
|
2371
|
-
var NANOID_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
|
|
2372
|
-
var NANOID_LENGTH = 21;
|
|
2373
|
-
function getRandomInt() {
|
|
2374
|
-
return Math.floor(Math.random() * NANOID_CHARS.length);
|
|
2375
|
-
}
|
|
2376
|
-
function nanoid() {
|
|
2377
|
-
return Array.from({ length: NANOID_LENGTH }).map(() => NANOID_CHARS[getRandomInt()]).join("");
|
|
2378
|
-
}
|
|
2379
|
-
function getWorkflowRunId(id) {
|
|
2380
|
-
return `wfr_${id ?? nanoid()}`;
|
|
2381
|
-
}
|
|
2382
|
-
function decodeBase64(base64) {
|
|
2383
|
-
try {
|
|
2384
|
-
const binString = atob(base64);
|
|
2385
|
-
const intArray = Uint8Array.from(binString, (m) => m.codePointAt(0));
|
|
2386
|
-
return new TextDecoder().decode(intArray);
|
|
2387
|
-
} catch (error) {
|
|
2388
|
-
console.warn(
|
|
2389
|
-
`Upstash Qstash: Failed while decoding base64 "${base64}". Decoding with atob and returning it instead. ${error}`
|
|
2390
|
-
);
|
|
2391
|
-
return atob(base64);
|
|
2392
|
-
}
|
|
2393
|
-
}
|
|
2394
|
-
|
|
2395
2459
|
// src/serve/authorization.ts
|
|
2396
2460
|
var import_qstash8 = require("@upstash/qstash");
|
|
2397
2461
|
var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
|
|
@@ -2837,8 +2901,8 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
2837
2901
|
} else if (callReturnCheck.value === "continue-workflow") {
|
|
2838
2902
|
const result = isFirstInvocation ? await triggerFirstInvocation({ workflowContext, useJSONContent, telemetry, debug }) : await triggerRouteFunction({
|
|
2839
2903
|
onStep: async () => routeFunction(workflowContext),
|
|
2840
|
-
onCleanup: async () => {
|
|
2841
|
-
await triggerWorkflowDelete(workflowContext, debug);
|
|
2904
|
+
onCleanup: async (result2) => {
|
|
2905
|
+
await triggerWorkflowDelete(workflowContext, result2, debug);
|
|
2842
2906
|
},
|
|
2843
2907
|
onCancel: async () => {
|
|
2844
2908
|
await makeCancelRequest(workflowContext.qstashClient.http, workflowRunId);
|
|
@@ -2872,6 +2936,11 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
2872
2936
|
|
|
2873
2937
|
// platforms/solidjs.ts
|
|
2874
2938
|
var serve = (routeFunction, options) => {
|
|
2939
|
+
const telemetry = {
|
|
2940
|
+
sdk: SDK_TELEMETRY,
|
|
2941
|
+
framework: "solidjs",
|
|
2942
|
+
runtime: process.versions.bun ? `bun@${process.versions.bun}/node@${process.version}` : `node@${process.version}`
|
|
2943
|
+
};
|
|
2875
2944
|
const handler = async (event) => {
|
|
2876
2945
|
const method = event.request.method;
|
|
2877
2946
|
if (method.toUpperCase() !== "POST") {
|
|
@@ -2879,15 +2948,7 @@ var serve = (routeFunction, options) => {
|
|
|
2879
2948
|
status: 405
|
|
2880
2949
|
});
|
|
2881
2950
|
}
|
|
2882
|
-
const { handler: serveHandler } = serveBase(
|
|
2883
|
-
routeFunction,
|
|
2884
|
-
{
|
|
2885
|
-
sdk: SDK_TELEMETRY,
|
|
2886
|
-
framework: "solidjs",
|
|
2887
|
-
runtime: process.versions.bun ? `bun@${process.versions.bun}/node@${process.version}` : `node@${process.version}`
|
|
2888
|
-
},
|
|
2889
|
-
options
|
|
2890
|
-
);
|
|
2951
|
+
const { handler: serveHandler } = serveBase(routeFunction, telemetry, options);
|
|
2891
2952
|
return await serveHandler(event.request);
|
|
2892
2953
|
};
|
|
2893
2954
|
return { POST: handler };
|
package/solidjs.mjs
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SDK_TELEMETRY,
|
|
3
3
|
serveBase
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IWAW7GIG.mjs";
|
|
5
5
|
|
|
6
6
|
// platforms/solidjs.ts
|
|
7
7
|
var serve = (routeFunction, options) => {
|
|
8
|
+
const telemetry = {
|
|
9
|
+
sdk: SDK_TELEMETRY,
|
|
10
|
+
framework: "solidjs",
|
|
11
|
+
runtime: process.versions.bun ? `bun@${process.versions.bun}/node@${process.version}` : `node@${process.version}`
|
|
12
|
+
};
|
|
8
13
|
const handler = async (event) => {
|
|
9
14
|
const method = event.request.method;
|
|
10
15
|
if (method.toUpperCase() !== "POST") {
|
|
@@ -12,15 +17,7 @@ var serve = (routeFunction, options) => {
|
|
|
12
17
|
status: 405
|
|
13
18
|
});
|
|
14
19
|
}
|
|
15
|
-
const { handler: serveHandler } = serveBase(
|
|
16
|
-
routeFunction,
|
|
17
|
-
{
|
|
18
|
-
sdk: SDK_TELEMETRY,
|
|
19
|
-
framework: "solidjs",
|
|
20
|
-
runtime: process.versions.bun ? `bun@${process.versions.bun}/node@${process.version}` : `node@${process.version}`
|
|
21
|
-
},
|
|
22
|
-
options
|
|
23
|
-
);
|
|
20
|
+
const { handler: serveHandler } = serveBase(routeFunction, telemetry, options);
|
|
24
21
|
return await serveHandler(event.request);
|
|
25
22
|
};
|
|
26
23
|
return { POST: handler };
|
package/svelte.d.mts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import * as _sveltejs_kit from '@sveltejs/kit';
|
|
1
2
|
import { RequestHandler } from '@sveltejs/kit';
|
|
2
|
-
import { R as RouteFunction, j as PublicServeOptions } from './types-
|
|
3
|
+
import { R as RouteFunction, j as PublicServeOptions, t as InvokableWorkflow } from './types-C7Y7WUQd.mjs';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-BlBvXfBS.mjs';
|
|
3
5
|
import '@upstash/qstash';
|
|
4
6
|
import 'zod';
|
|
5
7
|
import 'ai';
|
|
6
8
|
import '@ai-sdk/openai';
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
|
-
* Serve method to serve a Upstash Workflow in a
|
|
11
|
+
* Serve method to serve a Upstash Workflow in a Svelte project
|
|
10
12
|
*
|
|
11
13
|
* See for options https://upstash.com/docs/qstash/workflows/basics/serve
|
|
12
14
|
*
|
|
@@ -14,10 +16,16 @@ import '@ai-sdk/openai';
|
|
|
14
16
|
* @param options workflow options
|
|
15
17
|
* @returns
|
|
16
18
|
*/
|
|
17
|
-
declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options: PublicServeOptions<TInitialPayload> & {
|
|
19
|
+
declare const serve: <TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options: PublicServeOptions<TInitialPayload> & {
|
|
18
20
|
env: PublicServeOptions["env"];
|
|
19
21
|
}) => {
|
|
20
22
|
POST: RequestHandler;
|
|
21
23
|
};
|
|
24
|
+
declare const createWorkflow: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options: PublicServeOptions<TInitialPayload> & {
|
|
25
|
+
env: PublicServeOptions["env"];
|
|
26
|
+
}) => InvokableWorkflow<TInitialPayload, TResult, Parameters<ReturnType<typeof serve<TInitialPayload, TResult>>["POST"]>>;
|
|
27
|
+
declare const serveMany: (workflows: Parameters<typeof serveManyBase>[0]["workflows"]) => {
|
|
28
|
+
POST: (event: _sveltejs_kit.RequestEvent<Partial<Record<string, string>>, string | null>) => Promise<any>;
|
|
29
|
+
};
|
|
22
30
|
|
|
23
|
-
export { serve };
|
|
31
|
+
export { createWorkflow, serve, serveMany };
|
package/svelte.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import * as _sveltejs_kit from '@sveltejs/kit';
|
|
1
2
|
import { RequestHandler } from '@sveltejs/kit';
|
|
2
|
-
import { R as RouteFunction, j as PublicServeOptions } from './types-
|
|
3
|
+
import { R as RouteFunction, j as PublicServeOptions, t as InvokableWorkflow } from './types-C7Y7WUQd.js';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-Dw-UUnH6.js';
|
|
3
5
|
import '@upstash/qstash';
|
|
4
6
|
import 'zod';
|
|
5
7
|
import 'ai';
|
|
6
8
|
import '@ai-sdk/openai';
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
|
-
* Serve method to serve a Upstash Workflow in a
|
|
11
|
+
* Serve method to serve a Upstash Workflow in a Svelte project
|
|
10
12
|
*
|
|
11
13
|
* See for options https://upstash.com/docs/qstash/workflows/basics/serve
|
|
12
14
|
*
|
|
@@ -14,10 +16,16 @@ import '@ai-sdk/openai';
|
|
|
14
16
|
* @param options workflow options
|
|
15
17
|
* @returns
|
|
16
18
|
*/
|
|
17
|
-
declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options: PublicServeOptions<TInitialPayload> & {
|
|
19
|
+
declare const serve: <TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options: PublicServeOptions<TInitialPayload> & {
|
|
18
20
|
env: PublicServeOptions["env"];
|
|
19
21
|
}) => {
|
|
20
22
|
POST: RequestHandler;
|
|
21
23
|
};
|
|
24
|
+
declare const createWorkflow: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options: PublicServeOptions<TInitialPayload> & {
|
|
25
|
+
env: PublicServeOptions["env"];
|
|
26
|
+
}) => InvokableWorkflow<TInitialPayload, TResult, Parameters<ReturnType<typeof serve<TInitialPayload, TResult>>["POST"]>>;
|
|
27
|
+
declare const serveMany: (workflows: Parameters<typeof serveManyBase>[0]["workflows"]) => {
|
|
28
|
+
POST: (event: _sveltejs_kit.RequestEvent<Partial<Record<string, string>>, string | null>) => Promise<any>;
|
|
29
|
+
};
|
|
22
30
|
|
|
23
|
-
export { serve };
|
|
31
|
+
export { createWorkflow, serve, serveMany };
|