@upstash/workflow 1.2.0-demo-rc.1 → 1.2.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.
- package/README.md +1 -0
- package/astro.d.mts +2 -2
- package/astro.d.ts +2 -2
- package/astro.js +72 -69
- package/astro.mjs +1 -1
- package/{chunk-NZCQPOPR.mjs → chunk-V5ZUHMAF.mjs} +66 -257
- package/cloudflare.d.mts +2 -2
- package/cloudflare.d.ts +2 -2
- package/cloudflare.js +72 -69
- package/cloudflare.mjs +1 -1
- package/express.d.mts +2 -2
- package/express.d.ts +2 -2
- package/express.js +72 -69
- package/express.mjs +1 -1
- package/h3.d.mts +2 -2
- package/h3.d.ts +2 -2
- package/h3.js +76 -73
- package/h3.mjs +5 -5
- package/hono.d.mts +2 -2
- package/hono.d.ts +2 -2
- package/hono.js +73 -265
- package/hono.mjs +2 -7
- package/index.d.mts +30 -12
- package/index.d.ts +30 -12
- package/index.js +93 -298
- package/index.mjs +21 -41
- package/nextjs.d.mts +2 -2
- package/nextjs.d.ts +2 -2
- package/nextjs.js +72 -263
- package/nextjs.mjs +1 -5
- package/package.json +1 -1
- package/react-router.d.mts +38 -0
- package/react-router.d.ts +38 -0
- package/react-router.js +3881 -0
- package/react-router.mjs +45 -0
- package/{serve-many-Bi8XaOyq.d.ts → serve-many-B-fe7bh7.d.ts} +1 -1
- package/{serve-many-CppVPJrh.d.mts → serve-many-C6sa_DxN.d.mts} +1 -1
- package/solidjs.d.mts +1 -1
- package/solidjs.d.ts +1 -1
- package/solidjs.js +72 -69
- package/solidjs.mjs +1 -1
- package/svelte.d.mts +2 -2
- package/svelte.d.ts +2 -2
- package/svelte.js +72 -69
- package/svelte.mjs +1 -1
- package/tanstack.d.mts +2 -2
- package/tanstack.d.ts +2 -2
- package/tanstack.js +72 -69
- package/tanstack.mjs +1 -1
- package/{types-CUwgrpCM.d.ts → types-B2S08hRU.d.mts} +18 -3
- package/{types-CUwgrpCM.d.mts → types-B2S08hRU.d.ts} +18 -3
package/react-router.mjs
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SDK_TELEMETRY,
|
|
3
|
+
serveBase,
|
|
4
|
+
serveManyBase
|
|
5
|
+
} from "./chunk-V5ZUHMAF.mjs";
|
|
6
|
+
|
|
7
|
+
// platforms/react-router.ts
|
|
8
|
+
var telemetry = {
|
|
9
|
+
sdk: SDK_TELEMETRY,
|
|
10
|
+
framework: "react-router",
|
|
11
|
+
runtime: process.versions.bun ? `bun@${process.versions.bun}/node@${process.version}` : `node@${process.version}`
|
|
12
|
+
};
|
|
13
|
+
var serve = (routeFunction, options) => {
|
|
14
|
+
const { handler: serveHandler } = serveBase(
|
|
15
|
+
routeFunction,
|
|
16
|
+
telemetry,
|
|
17
|
+
options
|
|
18
|
+
);
|
|
19
|
+
return async ({ request }) => {
|
|
20
|
+
return await serveHandler(request);
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
var createWorkflow = (...params) => {
|
|
24
|
+
const [routeFunction, options = {}] = params;
|
|
25
|
+
return {
|
|
26
|
+
routeFunction,
|
|
27
|
+
options,
|
|
28
|
+
workflowId: void 0
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
var serveMany = (workflows, options) => {
|
|
32
|
+
return serveManyBase({
|
|
33
|
+
workflows,
|
|
34
|
+
getUrl(params) {
|
|
35
|
+
return params.request.url;
|
|
36
|
+
},
|
|
37
|
+
serveMethod: (...params) => serve(...params),
|
|
38
|
+
options
|
|
39
|
+
}).handler;
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
createWorkflow,
|
|
43
|
+
serve,
|
|
44
|
+
serveMany
|
|
45
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as WorkflowServeOptions, c as RouteFunction,
|
|
1
|
+
import { d as WorkflowServeOptions, c as RouteFunction, I as InvokableWorkflow } from './types-B2S08hRU.js';
|
|
2
2
|
|
|
3
3
|
type OmitOptionsInServeMany<TOptions> = Omit<TOptions, "env" | "url" | "schema" | "initialPayloadParser">;
|
|
4
4
|
declare const serveManyBase: <THandler extends (...params: any[]) => any, TOptions extends OmitOptionsInServeMany<WorkflowServeOptions> = OmitOptionsInServeMany<WorkflowServeOptions>, TServeParams extends [routeFunction: RouteFunction<any, any>, options: TOptions] = [routeFunction: RouteFunction<any, any>, options: TOptions]>({ workflows, getUrl, serveMethod, options, }: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as WorkflowServeOptions, c as RouteFunction,
|
|
1
|
+
import { d as WorkflowServeOptions, c as RouteFunction, I as InvokableWorkflow } from './types-B2S08hRU.mjs';
|
|
2
2
|
|
|
3
3
|
type OmitOptionsInServeMany<TOptions> = Omit<TOptions, "env" | "url" | "schema" | "initialPayloadParser">;
|
|
4
4
|
declare const serveManyBase: <THandler extends (...params: any[]) => any, TOptions extends OmitOptionsInServeMany<WorkflowServeOptions> = OmitOptionsInServeMany<WorkflowServeOptions>, TServeParams extends [routeFunction: RouteFunction<any, any>, options: TOptions] = [routeFunction: RouteFunction<any, any>, options: TOptions]>({ workflows, getUrl, serveMethod, options, }: {
|
package/solidjs.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { APIEvent } from '@solidjs/start/server';
|
|
2
|
-
import { c as RouteFunction, d as WorkflowServeOptions } from './types-
|
|
2
|
+
import { c as RouteFunction, d as WorkflowServeOptions } from './types-B2S08hRU.mjs';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
|
package/solidjs.d.ts
CHANGED
package/solidjs.js
CHANGED
|
@@ -124,9 +124,10 @@ function isInstanceOf(v, ctor) {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
// src/client/utils.ts
|
|
127
|
-
var makeNotifyRequest = async (requester, eventId, eventData) => {
|
|
127
|
+
var makeNotifyRequest = async (requester, eventId, eventData, workflowRunId) => {
|
|
128
|
+
const path = workflowRunId ? ["v2", "notify", workflowRunId, eventId] : ["v2", "notify", eventId];
|
|
128
129
|
const result = await requester.request({
|
|
129
|
-
path
|
|
130
|
+
path,
|
|
130
131
|
method: "POST",
|
|
131
132
|
body: typeof eventData === "string" ? eventData : JSON.stringify(eventData)
|
|
132
133
|
});
|
|
@@ -184,6 +185,7 @@ var getSteps = async (requester, workflowRunId, messageId, dispatchDebug) => {
|
|
|
184
185
|
var WORKFLOW_ID_HEADER = "Upstash-Workflow-RunId";
|
|
185
186
|
var WORKFLOW_INIT_HEADER = "Upstash-Workflow-Init";
|
|
186
187
|
var WORKFLOW_URL_HEADER = "Upstash-Workflow-Url";
|
|
188
|
+
var WORKFLOW_CREATED_AT_HEADER = "Upstash-Workflow-CreatedAt";
|
|
187
189
|
var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
|
|
188
190
|
var WORKFLOW_FAILURE_CALLBACK_HEADER = "Upstash-Workflow-Failure-Callback";
|
|
189
191
|
var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
|
|
@@ -719,6 +721,7 @@ var triggerFirstInvocation = async (params) => {
|
|
|
719
721
|
retries,
|
|
720
722
|
retryDelay,
|
|
721
723
|
flowControl,
|
|
724
|
+
redact,
|
|
722
725
|
unknownSdk
|
|
723
726
|
}) => {
|
|
724
727
|
const { headers } = getHeaders({
|
|
@@ -755,7 +758,8 @@ var triggerFirstInvocation = async (params) => {
|
|
|
755
758
|
body,
|
|
756
759
|
url: workflowContext.url,
|
|
757
760
|
delay,
|
|
758
|
-
notBefore
|
|
761
|
+
notBefore,
|
|
762
|
+
redact
|
|
759
763
|
};
|
|
760
764
|
}
|
|
761
765
|
);
|
|
@@ -914,7 +918,6 @@ ${atob(callbackMessage.body ?? "")}`
|
|
|
914
918
|
})}`
|
|
915
919
|
);
|
|
916
920
|
}
|
|
917
|
-
const userHeaders = recreateUserHeaders(request.headers);
|
|
918
921
|
const { headers: requestHeaders } = getHeaders({
|
|
919
922
|
initHeaderValue: "false",
|
|
920
923
|
workflowConfig: {
|
|
@@ -922,7 +925,6 @@ ${atob(callbackMessage.body ?? "")}`
|
|
|
922
925
|
workflowUrl,
|
|
923
926
|
telemetry
|
|
924
927
|
},
|
|
925
|
-
userHeaders,
|
|
926
928
|
invokeCount: Number(invokeCount)
|
|
927
929
|
});
|
|
928
930
|
const callResponse = {
|
|
@@ -1071,7 +1073,6 @@ var BaseLazyStep = class _BaseLazyStep {
|
|
|
1071
1073
|
useJSONContent: false,
|
|
1072
1074
|
telemetry
|
|
1073
1075
|
},
|
|
1074
|
-
userHeaders: context.headers,
|
|
1075
1076
|
invokeCount,
|
|
1076
1077
|
stepInfo: {
|
|
1077
1078
|
step,
|
|
@@ -1429,9 +1430,9 @@ var LazyWaitEventStep = class extends BaseLazyStep {
|
|
|
1429
1430
|
};
|
|
1430
1431
|
var LazyNotifyStep = class extends LazyFunctionStep {
|
|
1431
1432
|
stepType = "Notify";
|
|
1432
|
-
constructor(context, stepName, eventId, eventData, requester) {
|
|
1433
|
+
constructor(context, stepName, eventId, eventData, requester, workflowRunId) {
|
|
1433
1434
|
super(context, stepName, async () => {
|
|
1434
|
-
const notifyResponse = await makeNotifyRequest(requester, eventId, eventData);
|
|
1435
|
+
const notifyResponse = await makeNotifyRequest(requester, eventId, eventData, workflowRunId);
|
|
1435
1436
|
return {
|
|
1436
1437
|
eventId,
|
|
1437
1438
|
eventData,
|
|
@@ -1501,7 +1502,6 @@ var LazyInvokeStep = class extends BaseLazyStep {
|
|
|
1501
1502
|
telemetry,
|
|
1502
1503
|
useJSONContent: false
|
|
1503
1504
|
},
|
|
1504
|
-
userHeaders: context.headers,
|
|
1505
1505
|
invokeCount
|
|
1506
1506
|
});
|
|
1507
1507
|
context.qstashClient.http.headers?.forEach((value, key) => {
|
|
@@ -1514,6 +1514,7 @@ var LazyInvokeStep = class extends BaseLazyStep {
|
|
|
1514
1514
|
Object.entries(invokerHeaders).map((pairs) => [pairs[0], [pairs[1]]])
|
|
1515
1515
|
),
|
|
1516
1516
|
workflowRunId: context.workflowRunId,
|
|
1517
|
+
workflowRunCreatedAt: context.workflowRunCreatedAt,
|
|
1517
1518
|
workflowUrl: context.url,
|
|
1518
1519
|
step
|
|
1519
1520
|
};
|
|
@@ -1609,12 +1610,14 @@ var LazyWaitForWebhookStep = class extends LazyWaitEventStep {
|
|
|
1609
1610
|
const parsedEventData = BaseLazyStep.tryParsing(eventData);
|
|
1610
1611
|
const body = parsedEventData.body;
|
|
1611
1612
|
const parsedBody = typeof body === "string" ? decodeBase64(body) : void 0;
|
|
1613
|
+
const methodUpper = parsedEventData.method.toUpperCase();
|
|
1614
|
+
const canHaveBody = methodUpper !== "GET" && methodUpper !== "HEAD";
|
|
1612
1615
|
const request = new Request(
|
|
1613
1616
|
`${parsedEventData.proto}://${parsedEventData.host}${parsedEventData.url}`,
|
|
1614
1617
|
{
|
|
1615
1618
|
method: parsedEventData.method,
|
|
1616
1619
|
headers: parsedEventData.header,
|
|
1617
|
-
body: parsedBody
|
|
1620
|
+
body: canHaveBody ? parsedBody : void 0
|
|
1618
1621
|
}
|
|
1619
1622
|
);
|
|
1620
1623
|
return {
|
|
@@ -1748,6 +1751,9 @@ var WorkflowHeaders = class {
|
|
|
1748
1751
|
}
|
|
1749
1752
|
}
|
|
1750
1753
|
addUserHeaders() {
|
|
1754
|
+
if (!this.userHeaders) {
|
|
1755
|
+
return;
|
|
1756
|
+
}
|
|
1751
1757
|
for (const [key, value] of this.userHeaders.entries()) {
|
|
1752
1758
|
const forwardKey = `Forward-${key}`;
|
|
1753
1759
|
this.headers.workflowHeaders[forwardKey] = value;
|
|
@@ -1854,7 +1860,6 @@ var submitParallelSteps = async ({
|
|
|
1854
1860
|
workflowUrl: context.url,
|
|
1855
1861
|
telemetry
|
|
1856
1862
|
},
|
|
1857
|
-
userHeaders: context.headers,
|
|
1858
1863
|
invokeCount
|
|
1859
1864
|
});
|
|
1860
1865
|
return {
|
|
@@ -2107,7 +2112,7 @@ var AutoExecutor = class _AutoExecutor {
|
|
|
2107
2112
|
});
|
|
2108
2113
|
throw new WorkflowAbort(parallelStep.stepName, resultStep);
|
|
2109
2114
|
} catch (error) {
|
|
2110
|
-
if (isInstanceOf(error, WorkflowAbort) || isInstanceOf(error, import_qstash5.QstashError) && error.status === 400) {
|
|
2115
|
+
if (isInstanceOf(error, WorkflowAbort) || isInstanceOf(error, import_qstash5.QstashError) && error.status === 400 || isInstanceOf(error, import_qstash5.QstashError) && error.status === 412) {
|
|
2111
2116
|
throw error;
|
|
2112
2117
|
}
|
|
2113
2118
|
throw new WorkflowError(
|
|
@@ -2514,6 +2519,7 @@ var MiddlewareManager = class {
|
|
|
2514
2519
|
};
|
|
2515
2520
|
|
|
2516
2521
|
// src/context/context.ts
|
|
2522
|
+
var import_qstash9 = require("@upstash/qstash");
|
|
2517
2523
|
var WorkflowContext = class {
|
|
2518
2524
|
executor;
|
|
2519
2525
|
steps;
|
|
@@ -2540,6 +2546,10 @@ var WorkflowContext = class {
|
|
|
2540
2546
|
* Run id of the workflow
|
|
2541
2547
|
*/
|
|
2542
2548
|
workflowRunId;
|
|
2549
|
+
/**
|
|
2550
|
+
* Creation time of the workflow run
|
|
2551
|
+
*/
|
|
2552
|
+
workflowRunCreatedAt;
|
|
2543
2553
|
/**
|
|
2544
2554
|
* URL of the workflow
|
|
2545
2555
|
*
|
|
@@ -2631,6 +2641,7 @@ var WorkflowContext = class {
|
|
|
2631
2641
|
constructor({
|
|
2632
2642
|
qstashClient,
|
|
2633
2643
|
workflowRunId,
|
|
2644
|
+
workflowRunCreatedAt,
|
|
2634
2645
|
headers,
|
|
2635
2646
|
steps,
|
|
2636
2647
|
url,
|
|
@@ -2643,6 +2654,7 @@ var WorkflowContext = class {
|
|
|
2643
2654
|
}) {
|
|
2644
2655
|
this.qstashClient = qstashClient;
|
|
2645
2656
|
this.workflowRunId = workflowRunId;
|
|
2657
|
+
this.workflowRunCreatedAt = workflowRunCreatedAt;
|
|
2646
2658
|
this.steps = steps;
|
|
2647
2659
|
this.url = url;
|
|
2648
2660
|
this.headers = headers;
|
|
@@ -2817,14 +2829,23 @@ var WorkflowContext = class {
|
|
|
2817
2829
|
* a notifyResponse field which contains a list of `Waiter` objects, each corresponding
|
|
2818
2830
|
* to a notified workflow run.
|
|
2819
2831
|
*
|
|
2832
|
+
* Optionally, you can pass a workflowRunId to enable lookback functionality:
|
|
2833
|
+
*
|
|
2834
|
+
* ```ts
|
|
2835
|
+
* const { eventId, eventData, notifyResponse } = await context.notify(
|
|
2836
|
+
* "notify step", "event-id", "event-data", "wfr_123"
|
|
2837
|
+
* );
|
|
2838
|
+
* ```
|
|
2839
|
+
*
|
|
2820
2840
|
* @param stepName
|
|
2821
2841
|
* @param eventId event id to notify
|
|
2822
2842
|
* @param eventData event data to notify with
|
|
2843
|
+
* @param workflowRunId optional workflow run id for lookback support
|
|
2823
2844
|
* @returns notify response which has event id, event data and list of waiters which were notified
|
|
2824
2845
|
*/
|
|
2825
|
-
async notify(stepName, eventId, eventData) {
|
|
2846
|
+
async notify(stepName, eventId, eventData, workflowRunId) {
|
|
2826
2847
|
return await this.addStep(
|
|
2827
|
-
new LazyNotifyStep(this, stepName, eventId, eventData, this.qstashClient.http)
|
|
2848
|
+
new LazyNotifyStep(this, stepName, eventId, eventData, this.qstashClient.http, workflowRunId)
|
|
2828
2849
|
);
|
|
2829
2850
|
}
|
|
2830
2851
|
async invoke(stepName, settings) {
|
|
@@ -2852,7 +2873,14 @@ var WorkflowContext = class {
|
|
|
2852
2873
|
* DisabledWorkflowContext.
|
|
2853
2874
|
*/
|
|
2854
2875
|
async addStep(step) {
|
|
2855
|
-
|
|
2876
|
+
try {
|
|
2877
|
+
return await this.executor.addStep(step);
|
|
2878
|
+
} catch (error) {
|
|
2879
|
+
if (isInstanceOf(error, import_qstash9.QstashError) && error.status === 412) {
|
|
2880
|
+
throw new WorkflowNonRetryableError(error.message);
|
|
2881
|
+
}
|
|
2882
|
+
throw error;
|
|
2883
|
+
}
|
|
2856
2884
|
}
|
|
2857
2885
|
get api() {
|
|
2858
2886
|
return new WorkflowApi({
|
|
@@ -2861,23 +2889,8 @@ var WorkflowContext = class {
|
|
|
2861
2889
|
}
|
|
2862
2890
|
};
|
|
2863
2891
|
|
|
2864
|
-
// src/dev-server.ts
|
|
2865
|
-
var import_path = require("path");
|
|
2866
|
-
var DEV_QSTASH_TOKEN = "eyJVc2VySUQiOiJkZWZhdWx0VXNlciIsIlBhc3N3b3JkIjoiZGVmYXVsdFBhc3N3b3JkIn0=";
|
|
2867
|
-
var DEV_QSTASH_CURRENT_SIGNING_KEY = "sig_7kYjw48mhY7kAjqNGcy6cr29RJ6r";
|
|
2868
|
-
var DEV_QSTASH_NEXT_SIGNING_KEY = "sig_5ZB6DVzB1wjE8S6rZ7eenA8Pdnhs";
|
|
2869
|
-
function getDevCredentials(port) {
|
|
2870
|
-
return {
|
|
2871
|
-
QSTASH_URL: `http://localhost:${port}`,
|
|
2872
|
-
QSTASH_TOKEN: DEV_QSTASH_TOKEN,
|
|
2873
|
-
QSTASH_CURRENT_SIGNING_KEY: DEV_QSTASH_CURRENT_SIGNING_KEY,
|
|
2874
|
-
QSTASH_NEXT_SIGNING_KEY: DEV_QSTASH_NEXT_SIGNING_KEY
|
|
2875
|
-
};
|
|
2876
|
-
}
|
|
2877
|
-
var CACHE_DIR = (0, import_path.join)("node_modules", ".cache", "upstash");
|
|
2878
|
-
|
|
2879
2892
|
// src/serve/authorization.ts
|
|
2880
|
-
var
|
|
2893
|
+
var import_qstash10 = require("@upstash/qstash");
|
|
2881
2894
|
var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
|
|
2882
2895
|
static disabledMessage = "disabled-qstash-worklfow-run";
|
|
2883
2896
|
disabled = true;
|
|
@@ -2909,11 +2922,12 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
2909
2922
|
*/
|
|
2910
2923
|
static async tryAuthentication(routeFunction, context) {
|
|
2911
2924
|
const disabledContext = new _DisabledWorkflowContext({
|
|
2912
|
-
qstashClient: new
|
|
2925
|
+
qstashClient: new import_qstash10.Client({
|
|
2913
2926
|
baseUrl: "disabled-client",
|
|
2914
2927
|
token: "disabled-client"
|
|
2915
2928
|
}),
|
|
2916
2929
|
workflowRunId: context.workflowRunId,
|
|
2930
|
+
workflowRunCreatedAt: context.workflowRunCreatedAt,
|
|
2917
2931
|
headers: context.headers,
|
|
2918
2932
|
steps: [],
|
|
2919
2933
|
url: context.url,
|
|
@@ -3115,7 +3129,9 @@ var handleFailure = async ({
|
|
|
3115
3129
|
return ok({ result: "failure-function-undefined" });
|
|
3116
3130
|
}
|
|
3117
3131
|
try {
|
|
3118
|
-
const { status, header, body, url, sourceBody, workflowRunId } = JSON.parse(
|
|
3132
|
+
const { status, header, body, url, sourceBody, workflowRunId, workflowCreatedAt } = JSON.parse(
|
|
3133
|
+
requestPayload
|
|
3134
|
+
);
|
|
3119
3135
|
const decodedBody = body ? decodeBase64(body) : "{}";
|
|
3120
3136
|
let errorMessage = "";
|
|
3121
3137
|
let failStack = "";
|
|
@@ -3144,6 +3160,7 @@ var handleFailure = async ({
|
|
|
3144
3160
|
telemetry: void 0,
|
|
3145
3161
|
// not going to make requests in authentication check
|
|
3146
3162
|
label: userHeaders.get(WORKFLOW_LABEL_HEADER) ?? void 0,
|
|
3163
|
+
workflowRunCreatedAt: workflowCreatedAt,
|
|
3147
3164
|
middlewareManager: void 0
|
|
3148
3165
|
});
|
|
3149
3166
|
const authCheck = await DisabledWorkflowContext.tryAuthentication(
|
|
@@ -3172,7 +3189,7 @@ var handleFailure = async ({
|
|
|
3172
3189
|
};
|
|
3173
3190
|
|
|
3174
3191
|
// src/serve/multi-region/handlers.ts
|
|
3175
|
-
var
|
|
3192
|
+
var import_qstash11 = require("@upstash/qstash");
|
|
3176
3193
|
|
|
3177
3194
|
// src/serve/multi-region/utils.ts
|
|
3178
3195
|
var VALID_REGIONS = ["EU_CENTRAL_1", "US_EAST_1"];
|
|
@@ -3237,7 +3254,7 @@ var getHandlersForRequest = (qstashHandlers, regionHeader, isFirstInvocation) =>
|
|
|
3237
3254
|
};
|
|
3238
3255
|
var createRegionalHandler = (environment, receiverConfig, region, clientOptions) => {
|
|
3239
3256
|
const clientEnv = readClientEnvironmentVariables(environment, region);
|
|
3240
|
-
const client = new
|
|
3257
|
+
const client = new import_qstash11.Client({
|
|
3241
3258
|
...clientOptions,
|
|
3242
3259
|
baseUrl: clientEnv.QSTASH_URL,
|
|
3243
3260
|
token: clientEnv.QSTASH_TOKEN
|
|
@@ -3287,7 +3304,7 @@ var getQStashHandlers = ({
|
|
|
3287
3304
|
return {
|
|
3288
3305
|
mode: "single-region",
|
|
3289
3306
|
handlers: {
|
|
3290
|
-
client: qstashClientOption && "http" in qstashClientOption ? qstashClientOption : new
|
|
3307
|
+
client: qstashClientOption && "http" in qstashClientOption ? qstashClientOption : new import_qstash11.Client({
|
|
3291
3308
|
...qstashClientOption,
|
|
3292
3309
|
baseUrl: environment.QSTASH_URL,
|
|
3293
3310
|
token: environment.QSTASH_TOKEN
|
|
@@ -3303,7 +3320,7 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3303
3320
|
return void 0;
|
|
3304
3321
|
}
|
|
3305
3322
|
const receiverEnv = readReceiverEnvironmentVariables(environment, region);
|
|
3306
|
-
return receiverEnv.QSTASH_CURRENT_SIGNING_KEY && receiverEnv.QSTASH_NEXT_SIGNING_KEY ? new
|
|
3323
|
+
return receiverEnv.QSTASH_CURRENT_SIGNING_KEY && receiverEnv.QSTASH_NEXT_SIGNING_KEY ? new import_qstash11.Receiver({
|
|
3307
3324
|
currentSigningKey: receiverEnv.QSTASH_CURRENT_SIGNING_KEY,
|
|
3308
3325
|
nextSigningKey: receiverEnv.QSTASH_NEXT_SIGNING_KEY
|
|
3309
3326
|
}) : void 0;
|
|
@@ -3529,33 +3546,19 @@ var AUTH_FAIL_MESSAGE = `Failed to authenticate Workflow request. If this is une
|
|
|
3529
3546
|
|
|
3530
3547
|
// src/serve/index.ts
|
|
3531
3548
|
var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
3532
|
-
const
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
const
|
|
3544
|
-
options,
|
|
3545
|
-
internalOptions
|
|
3546
|
-
);
|
|
3549
|
+
const {
|
|
3550
|
+
initialPayloadParser,
|
|
3551
|
+
url,
|
|
3552
|
+
failureFunction,
|
|
3553
|
+
baseUrl,
|
|
3554
|
+
env,
|
|
3555
|
+
disableTelemetry,
|
|
3556
|
+
middlewares,
|
|
3557
|
+
internal
|
|
3558
|
+
} = processOptions(options, internalOptions);
|
|
3559
|
+
telemetry = disableTelemetry ? void 0 : telemetry;
|
|
3560
|
+
const { generateResponse: responseGenerator, useJSONContent } = internal;
|
|
3547
3561
|
const handler = async (request, middlewareManager) => {
|
|
3548
|
-
const {
|
|
3549
|
-
initialPayloadParser,
|
|
3550
|
-
url,
|
|
3551
|
-
failureFunction,
|
|
3552
|
-
baseUrl,
|
|
3553
|
-
env,
|
|
3554
|
-
disableTelemetry: optDisableTelemetry,
|
|
3555
|
-
internal
|
|
3556
|
-
} = resolvedOptions;
|
|
3557
|
-
const currentTelemetry = optDisableTelemetry ? void 0 : telemetry;
|
|
3558
|
-
const { generateResponse: responseGenerator, useJSONContent } = internal;
|
|
3559
3562
|
await middlewareManager.dispatchDebug("onInfo", {
|
|
3560
3563
|
info: `Received request for workflow execution.`
|
|
3561
3564
|
});
|
|
@@ -3635,6 +3638,7 @@ var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
|
3635
3638
|
}
|
|
3636
3639
|
const invokeCount = Number(request.headers.get(WORKFLOW_INVOKE_COUNT_HEADER) ?? "0");
|
|
3637
3640
|
const label = request.headers.get(WORKFLOW_LABEL_HEADER) ?? void 0;
|
|
3641
|
+
const workflowRunCreatedAt = request.headers.get(WORKFLOW_CREATED_AT_HEADER);
|
|
3638
3642
|
const workflowContext = new WorkflowContext({
|
|
3639
3643
|
qstashClient: regionalClient,
|
|
3640
3644
|
workflowRunId,
|
|
@@ -3643,9 +3647,10 @@ var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
|
3643
3647
|
steps,
|
|
3644
3648
|
url: workflowUrl,
|
|
3645
3649
|
env,
|
|
3646
|
-
telemetry
|
|
3650
|
+
telemetry,
|
|
3647
3651
|
invokeCount,
|
|
3648
3652
|
label,
|
|
3653
|
+
workflowRunCreatedAt: Number(workflowRunCreatedAt),
|
|
3649
3654
|
middlewareManager
|
|
3650
3655
|
});
|
|
3651
3656
|
const authCheck = await DisabledWorkflowContext.tryAuthentication(
|
|
@@ -3669,7 +3674,7 @@ var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
|
3669
3674
|
requestPayload: rawInitialPayload,
|
|
3670
3675
|
client: regionalClient,
|
|
3671
3676
|
workflowUrl,
|
|
3672
|
-
telemetry
|
|
3677
|
+
telemetry,
|
|
3673
3678
|
middlewareManager
|
|
3674
3679
|
});
|
|
3675
3680
|
if (callReturnCheck.isErr()) {
|
|
@@ -3678,7 +3683,7 @@ var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
|
3678
3683
|
const result = isFirstInvocation ? await triggerFirstInvocation({
|
|
3679
3684
|
workflowContext,
|
|
3680
3685
|
useJSONContent,
|
|
3681
|
-
telemetry
|
|
3686
|
+
telemetry,
|
|
3682
3687
|
invokeCount,
|
|
3683
3688
|
middlewareManager,
|
|
3684
3689
|
unknownSdk
|
|
@@ -3746,9 +3751,7 @@ var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
|
3746
3751
|
);
|
|
3747
3752
|
};
|
|
3748
3753
|
const safeHandler = async (request) => {
|
|
3749
|
-
const middlewareManager = new MiddlewareManager(
|
|
3750
|
-
resolvedOptions.middlewares
|
|
3751
|
-
);
|
|
3754
|
+
const middlewareManager = new MiddlewareManager(middlewares);
|
|
3752
3755
|
try {
|
|
3753
3756
|
return await handler(request, middlewareManager);
|
|
3754
3757
|
} catch (error) {
|
package/solidjs.mjs
CHANGED
package/svelte.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _sveltejs_kit from '@sveltejs/kit';
|
|
2
2
|
import { RequestHandler } from '@sveltejs/kit';
|
|
3
|
-
import { c as RouteFunction, d as WorkflowServeOptions,
|
|
4
|
-
import { s as serveManyBase } from './serve-many-
|
|
3
|
+
import { c as RouteFunction, d as WorkflowServeOptions, I as InvokableWorkflow } from './types-B2S08hRU.mjs';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-C6sa_DxN.mjs';
|
|
5
5
|
import '@upstash/qstash';
|
|
6
6
|
import 'zod';
|
|
7
7
|
|
package/svelte.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _sveltejs_kit from '@sveltejs/kit';
|
|
2
2
|
import { RequestHandler } from '@sveltejs/kit';
|
|
3
|
-
import { c as RouteFunction, d as WorkflowServeOptions,
|
|
4
|
-
import { s as serveManyBase } from './serve-many-
|
|
3
|
+
import { c as RouteFunction, d as WorkflowServeOptions, I as InvokableWorkflow } from './types-B2S08hRU.js';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-B-fe7bh7.js';
|
|
5
5
|
import '@upstash/qstash';
|
|
6
6
|
import 'zod';
|
|
7
7
|
|