@upstash/workflow 1.2.0 → 1.3.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 +10 -0
- package/astro.d.mts +2 -2
- package/astro.d.ts +2 -2
- package/astro.js +31 -5
- package/astro.mjs +1 -1
- package/{chunk-V5ZUHMAF.mjs → chunk-G24J5PCC.mjs} +93 -5
- package/cloudflare.d.mts +2 -2
- package/cloudflare.d.ts +2 -2
- package/cloudflare.js +31 -5
- package/cloudflare.mjs +1 -1
- package/express.d.mts +2 -2
- package/express.d.ts +2 -2
- package/express.js +31 -5
- package/express.mjs +1 -1
- package/h3.d.mts +2 -2
- package/h3.d.ts +2 -2
- package/h3.js +31 -5
- package/h3.mjs +1 -1
- package/hono.d.mts +2 -2
- package/hono.d.ts +2 -2
- package/hono.js +31 -5
- package/hono.mjs +1 -1
- package/index.d.mts +201 -128
- package/index.d.ts +201 -128
- package/index.js +212 -160
- package/index.mjs +124 -156
- package/nextjs.d.mts +2 -2
- package/nextjs.d.ts +2 -2
- package/nextjs.js +31 -5
- package/nextjs.mjs +1 -1
- package/package.json +1 -1
- package/react-router.d.mts +2 -2
- package/react-router.d.ts +2 -2
- package/react-router.js +31 -5
- package/react-router.mjs +1 -1
- package/{serve-many-C6sa_DxN.d.mts → serve-many-D3D9uE4u.d.mts} +1 -1
- package/{serve-many-B-fe7bh7.d.ts → serve-many-kPOasiyb.d.ts} +1 -1
- package/solidjs.d.mts +1 -1
- package/solidjs.d.ts +1 -1
- package/solidjs.js +31 -5
- package/solidjs.mjs +1 -1
- package/svelte.d.mts +2 -2
- package/svelte.d.ts +2 -2
- package/svelte.js +31 -5
- package/svelte.mjs +1 -1
- package/tanstack.d.mts +2 -2
- package/tanstack.d.ts +2 -2
- package/tanstack.js +31 -5
- package/tanstack.mjs +1 -1
- package/{types-B2S08hRU.d.ts → types-B_E1VAK6.d.mts} +9 -1
- package/{types-B2S08hRU.d.mts → types-B_E1VAK6.d.ts} +9 -1
package/react-router.js
CHANGED
|
@@ -35,6 +35,7 @@ var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
|
|
|
35
35
|
var WORKFLOW_FAILURE_CALLBACK_HEADER = "Upstash-Workflow-Failure-Callback";
|
|
36
36
|
var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
|
|
37
37
|
var WORKFLOW_INVOKE_COUNT_HEADER = "Upstash-Workflow-Invoke-Count";
|
|
38
|
+
var WORKFLOW_RETRIED_HEADER = "Upstash-Retried";
|
|
38
39
|
var WORKFLOW_LABEL_HEADER = "Upstash-Label";
|
|
39
40
|
var WORKFLOW_UNKOWN_SDK_VERSION_HEADER = "Upstash-Workflow-Unknown-Sdk";
|
|
40
41
|
var WORKFLOW_UNKOWN_SDK_TRIGGER_HEADER = "upstash-workflow-trigger-by-sdk";
|
|
@@ -43,7 +44,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
|
43
44
|
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
44
45
|
var NO_CONCURRENCY = 1;
|
|
45
46
|
var DEFAULT_RETRIES = 3;
|
|
46
|
-
var VERSION = "v1.
|
|
47
|
+
var VERSION = "v1.2.1";
|
|
47
48
|
var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
|
|
48
49
|
var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
|
|
49
50
|
var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
|
|
@@ -855,6 +856,9 @@ var recreateUserHeaders = (headers) => {
|
|
|
855
856
|
}
|
|
856
857
|
return filteredHeaders;
|
|
857
858
|
};
|
|
859
|
+
var isThirdPartyCallResult = (request) => {
|
|
860
|
+
return request.headers.get("Upstash-Workflow-Callback") !== null;
|
|
861
|
+
};
|
|
858
862
|
var handleThirdPartyCallResult = async ({
|
|
859
863
|
request,
|
|
860
864
|
requestPayload,
|
|
@@ -864,7 +868,7 @@ var handleThirdPartyCallResult = async ({
|
|
|
864
868
|
middlewareManager
|
|
865
869
|
}) => {
|
|
866
870
|
try {
|
|
867
|
-
if (request
|
|
871
|
+
if (isThirdPartyCallResult(request)) {
|
|
868
872
|
let callbackPayload;
|
|
869
873
|
if (requestPayload) {
|
|
870
874
|
callbackPayload = requestPayload;
|
|
@@ -2707,6 +2711,13 @@ var WorkflowContext = class {
|
|
|
2707
2711
|
* ```
|
|
2708
2712
|
*/
|
|
2709
2713
|
label;
|
|
2714
|
+
/**
|
|
2715
|
+
* Number of times QStash has retried delivering the current request.
|
|
2716
|
+
*
|
|
2717
|
+
* Sourced from the `Upstash-Retried` header. `0` on the first delivery,
|
|
2718
|
+
* `1` on the first retry, `2` on the second, and so on.
|
|
2719
|
+
*/
|
|
2720
|
+
retried;
|
|
2710
2721
|
constructor({
|
|
2711
2722
|
qstashClient,
|
|
2712
2723
|
workflowRunId,
|
|
@@ -2719,6 +2730,7 @@ var WorkflowContext = class {
|
|
|
2719
2730
|
telemetry: telemetry2,
|
|
2720
2731
|
invokeCount,
|
|
2721
2732
|
label,
|
|
2733
|
+
retried,
|
|
2722
2734
|
middlewareManager
|
|
2723
2735
|
}) {
|
|
2724
2736
|
this.qstashClient = qstashClient;
|
|
@@ -2730,6 +2742,7 @@ var WorkflowContext = class {
|
|
|
2730
2742
|
this.requestPayload = initialPayload;
|
|
2731
2743
|
this.env = env ?? {};
|
|
2732
2744
|
this.label = label;
|
|
2745
|
+
this.retried = retried ?? 0;
|
|
2733
2746
|
const middlewareManagerInstance = middlewareManager ?? new MiddlewareManager([]);
|
|
2734
2747
|
middlewareManagerInstance.assignContext(this);
|
|
2735
2748
|
this.executor = new AutoExecutor(
|
|
@@ -2993,7 +3006,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
2993
3006
|
const disabledContext = new _DisabledWorkflowContext({
|
|
2994
3007
|
qstashClient: new import_qstash10.Client({
|
|
2995
3008
|
baseUrl: "disabled-client",
|
|
2996
|
-
token: "disabled-client"
|
|
3009
|
+
token: "disabled-client",
|
|
3010
|
+
devMode: false
|
|
2997
3011
|
}),
|
|
2998
3012
|
workflowRunId: context.workflowRunId,
|
|
2999
3013
|
workflowRunCreatedAt: context.workflowRunCreatedAt,
|
|
@@ -3002,7 +3016,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
3002
3016
|
url: context.url,
|
|
3003
3017
|
initialPayload: context.requestPayload,
|
|
3004
3018
|
env: context.env,
|
|
3005
|
-
label: context.label
|
|
3019
|
+
label: context.label,
|
|
3020
|
+
retried: context.retried
|
|
3006
3021
|
});
|
|
3007
3022
|
try {
|
|
3008
3023
|
await routeFunction(disabledContext);
|
|
@@ -3218,6 +3233,7 @@ var handleFailure = async ({
|
|
|
3218
3233
|
errorMessage = `Couldn't parse 'failResponse' in 'failureFunction', received: '${decodedBody}'`;
|
|
3219
3234
|
}
|
|
3220
3235
|
const userHeaders = recreateUserHeaders(request.headers);
|
|
3236
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3221
3237
|
const workflowContext = new WorkflowContext({
|
|
3222
3238
|
qstashClient,
|
|
3223
3239
|
workflowRunId,
|
|
@@ -3229,6 +3245,7 @@ var handleFailure = async ({
|
|
|
3229
3245
|
telemetry: void 0,
|
|
3230
3246
|
// not going to make requests in authentication check
|
|
3231
3247
|
label: userHeaders.get(WORKFLOW_LABEL_HEADER) ?? void 0,
|
|
3248
|
+
retried,
|
|
3232
3249
|
workflowRunCreatedAt: workflowCreatedAt,
|
|
3233
3250
|
middlewareManager: void 0
|
|
3234
3251
|
});
|
|
@@ -3388,6 +3405,9 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3388
3405
|
if (receiverConfig === "set-to-undefined") {
|
|
3389
3406
|
return void 0;
|
|
3390
3407
|
}
|
|
3408
|
+
if (isQStashDevModeEnabled(environment)) {
|
|
3409
|
+
return new import_qstash11.Receiver({ devMode: true });
|
|
3410
|
+
}
|
|
3391
3411
|
const receiverEnv = readReceiverEnvironmentVariables(environment, region);
|
|
3392
3412
|
return receiverEnv.QSTASH_CURRENT_SIGNING_KEY && receiverEnv.QSTASH_NEXT_SIGNING_KEY ? new import_qstash11.Receiver({
|
|
3393
3413
|
currentSigningKey: receiverEnv.QSTASH_CURRENT_SIGNING_KEY,
|
|
@@ -3397,6 +3417,10 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3397
3417
|
return receiverConfig;
|
|
3398
3418
|
}
|
|
3399
3419
|
};
|
|
3420
|
+
var isQStashDevModeEnabled = (env) => {
|
|
3421
|
+
const value = env.QSTASH_DEV;
|
|
3422
|
+
return value === "true" || value === "1";
|
|
3423
|
+
};
|
|
3400
3424
|
var getQStashHandlerOptions = (...params) => {
|
|
3401
3425
|
const handlers = getQStashHandlers(...params);
|
|
3402
3426
|
return {
|
|
@@ -3706,12 +3730,13 @@ var serveBase = (routeFunction, telemetry2, options, internalOptions) => {
|
|
|
3706
3730
|
);
|
|
3707
3731
|
}
|
|
3708
3732
|
const invokeCount = Number(request.headers.get(WORKFLOW_INVOKE_COUNT_HEADER) ?? "0");
|
|
3733
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3709
3734
|
const label = request.headers.get(WORKFLOW_LABEL_HEADER) ?? void 0;
|
|
3710
3735
|
const workflowRunCreatedAt = request.headers.get(WORKFLOW_CREATED_AT_HEADER);
|
|
3711
3736
|
const workflowContext = new WorkflowContext({
|
|
3712
3737
|
qstashClient: regionalClient,
|
|
3713
3738
|
workflowRunId,
|
|
3714
|
-
initialPayload: initialPayloadParser(rawInitialPayload),
|
|
3739
|
+
initialPayload: isThirdPartyCallResult(request) ? JSON.parse(rawInitialPayload) : initialPayloadParser(rawInitialPayload),
|
|
3715
3740
|
headers: recreateUserHeaders(request.headers),
|
|
3716
3741
|
steps,
|
|
3717
3742
|
url: workflowUrl,
|
|
@@ -3719,6 +3744,7 @@ var serveBase = (routeFunction, telemetry2, options, internalOptions) => {
|
|
|
3719
3744
|
telemetry: telemetry2,
|
|
3720
3745
|
invokeCount,
|
|
3721
3746
|
label,
|
|
3747
|
+
retried,
|
|
3722
3748
|
workflowRunCreatedAt: Number(workflowRunCreatedAt),
|
|
3723
3749
|
middlewareManager
|
|
3724
3750
|
});
|
package/react-router.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as WorkflowServeOptions, c as RouteFunction, I as InvokableWorkflow } from './types-
|
|
1
|
+
import { d as WorkflowServeOptions, c as RouteFunction, I as InvokableWorkflow } from './types-B_E1VAK6.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, }: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as WorkflowServeOptions, c as RouteFunction, I as InvokableWorkflow } from './types-
|
|
1
|
+
import { d as WorkflowServeOptions, c as RouteFunction, I as InvokableWorkflow } from './types-B_E1VAK6.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, }: {
|
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-B_E1VAK6.mjs';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
|
package/solidjs.d.ts
CHANGED
package/solidjs.js
CHANGED
|
@@ -190,6 +190,7 @@ var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
|
|
|
190
190
|
var WORKFLOW_FAILURE_CALLBACK_HEADER = "Upstash-Workflow-Failure-Callback";
|
|
191
191
|
var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
|
|
192
192
|
var WORKFLOW_INVOKE_COUNT_HEADER = "Upstash-Workflow-Invoke-Count";
|
|
193
|
+
var WORKFLOW_RETRIED_HEADER = "Upstash-Retried";
|
|
193
194
|
var WORKFLOW_LABEL_HEADER = "Upstash-Label";
|
|
194
195
|
var WORKFLOW_UNKOWN_SDK_VERSION_HEADER = "Upstash-Workflow-Unknown-Sdk";
|
|
195
196
|
var WORKFLOW_UNKOWN_SDK_TRIGGER_HEADER = "upstash-workflow-trigger-by-sdk";
|
|
@@ -198,7 +199,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
|
198
199
|
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
199
200
|
var NO_CONCURRENCY = 1;
|
|
200
201
|
var DEFAULT_RETRIES = 3;
|
|
201
|
-
var VERSION = "v1.
|
|
202
|
+
var VERSION = "v1.2.1";
|
|
202
203
|
var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
|
|
203
204
|
var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
|
|
204
205
|
var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
|
|
@@ -853,6 +854,9 @@ var recreateUserHeaders = (headers) => {
|
|
|
853
854
|
}
|
|
854
855
|
return filteredHeaders;
|
|
855
856
|
};
|
|
857
|
+
var isThirdPartyCallResult = (request) => {
|
|
858
|
+
return request.headers.get("Upstash-Workflow-Callback") !== null;
|
|
859
|
+
};
|
|
856
860
|
var handleThirdPartyCallResult = async ({
|
|
857
861
|
request,
|
|
858
862
|
requestPayload,
|
|
@@ -862,7 +866,7 @@ var handleThirdPartyCallResult = async ({
|
|
|
862
866
|
middlewareManager
|
|
863
867
|
}) => {
|
|
864
868
|
try {
|
|
865
|
-
if (request
|
|
869
|
+
if (isThirdPartyCallResult(request)) {
|
|
866
870
|
let callbackPayload;
|
|
867
871
|
if (requestPayload) {
|
|
868
872
|
callbackPayload = requestPayload;
|
|
@@ -2638,6 +2642,13 @@ var WorkflowContext = class {
|
|
|
2638
2642
|
* ```
|
|
2639
2643
|
*/
|
|
2640
2644
|
label;
|
|
2645
|
+
/**
|
|
2646
|
+
* Number of times QStash has retried delivering the current request.
|
|
2647
|
+
*
|
|
2648
|
+
* Sourced from the `Upstash-Retried` header. `0` on the first delivery,
|
|
2649
|
+
* `1` on the first retry, `2` on the second, and so on.
|
|
2650
|
+
*/
|
|
2651
|
+
retried;
|
|
2641
2652
|
constructor({
|
|
2642
2653
|
qstashClient,
|
|
2643
2654
|
workflowRunId,
|
|
@@ -2650,6 +2661,7 @@ var WorkflowContext = class {
|
|
|
2650
2661
|
telemetry,
|
|
2651
2662
|
invokeCount,
|
|
2652
2663
|
label,
|
|
2664
|
+
retried,
|
|
2653
2665
|
middlewareManager
|
|
2654
2666
|
}) {
|
|
2655
2667
|
this.qstashClient = qstashClient;
|
|
@@ -2661,6 +2673,7 @@ var WorkflowContext = class {
|
|
|
2661
2673
|
this.requestPayload = initialPayload;
|
|
2662
2674
|
this.env = env ?? {};
|
|
2663
2675
|
this.label = label;
|
|
2676
|
+
this.retried = retried ?? 0;
|
|
2664
2677
|
const middlewareManagerInstance = middlewareManager ?? new MiddlewareManager([]);
|
|
2665
2678
|
middlewareManagerInstance.assignContext(this);
|
|
2666
2679
|
this.executor = new AutoExecutor(
|
|
@@ -2924,7 +2937,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
2924
2937
|
const disabledContext = new _DisabledWorkflowContext({
|
|
2925
2938
|
qstashClient: new import_qstash10.Client({
|
|
2926
2939
|
baseUrl: "disabled-client",
|
|
2927
|
-
token: "disabled-client"
|
|
2940
|
+
token: "disabled-client",
|
|
2941
|
+
devMode: false
|
|
2928
2942
|
}),
|
|
2929
2943
|
workflowRunId: context.workflowRunId,
|
|
2930
2944
|
workflowRunCreatedAt: context.workflowRunCreatedAt,
|
|
@@ -2933,7 +2947,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
2933
2947
|
url: context.url,
|
|
2934
2948
|
initialPayload: context.requestPayload,
|
|
2935
2949
|
env: context.env,
|
|
2936
|
-
label: context.label
|
|
2950
|
+
label: context.label,
|
|
2951
|
+
retried: context.retried
|
|
2937
2952
|
});
|
|
2938
2953
|
try {
|
|
2939
2954
|
await routeFunction(disabledContext);
|
|
@@ -3149,6 +3164,7 @@ var handleFailure = async ({
|
|
|
3149
3164
|
errorMessage = `Couldn't parse 'failResponse' in 'failureFunction', received: '${decodedBody}'`;
|
|
3150
3165
|
}
|
|
3151
3166
|
const userHeaders = recreateUserHeaders(request.headers);
|
|
3167
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3152
3168
|
const workflowContext = new WorkflowContext({
|
|
3153
3169
|
qstashClient,
|
|
3154
3170
|
workflowRunId,
|
|
@@ -3160,6 +3176,7 @@ var handleFailure = async ({
|
|
|
3160
3176
|
telemetry: void 0,
|
|
3161
3177
|
// not going to make requests in authentication check
|
|
3162
3178
|
label: userHeaders.get(WORKFLOW_LABEL_HEADER) ?? void 0,
|
|
3179
|
+
retried,
|
|
3163
3180
|
workflowRunCreatedAt: workflowCreatedAt,
|
|
3164
3181
|
middlewareManager: void 0
|
|
3165
3182
|
});
|
|
@@ -3319,6 +3336,9 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3319
3336
|
if (receiverConfig === "set-to-undefined") {
|
|
3320
3337
|
return void 0;
|
|
3321
3338
|
}
|
|
3339
|
+
if (isQStashDevModeEnabled(environment)) {
|
|
3340
|
+
return new import_qstash11.Receiver({ devMode: true });
|
|
3341
|
+
}
|
|
3322
3342
|
const receiverEnv = readReceiverEnvironmentVariables(environment, region);
|
|
3323
3343
|
return receiverEnv.QSTASH_CURRENT_SIGNING_KEY && receiverEnv.QSTASH_NEXT_SIGNING_KEY ? new import_qstash11.Receiver({
|
|
3324
3344
|
currentSigningKey: receiverEnv.QSTASH_CURRENT_SIGNING_KEY,
|
|
@@ -3328,6 +3348,10 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3328
3348
|
return receiverConfig;
|
|
3329
3349
|
}
|
|
3330
3350
|
};
|
|
3351
|
+
var isQStashDevModeEnabled = (env) => {
|
|
3352
|
+
const value = env.QSTASH_DEV;
|
|
3353
|
+
return value === "true" || value === "1";
|
|
3354
|
+
};
|
|
3331
3355
|
var getQStashHandlerOptions = (...params) => {
|
|
3332
3356
|
const handlers = getQStashHandlers(...params);
|
|
3333
3357
|
return {
|
|
@@ -3637,12 +3661,13 @@ var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
|
3637
3661
|
);
|
|
3638
3662
|
}
|
|
3639
3663
|
const invokeCount = Number(request.headers.get(WORKFLOW_INVOKE_COUNT_HEADER) ?? "0");
|
|
3664
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3640
3665
|
const label = request.headers.get(WORKFLOW_LABEL_HEADER) ?? void 0;
|
|
3641
3666
|
const workflowRunCreatedAt = request.headers.get(WORKFLOW_CREATED_AT_HEADER);
|
|
3642
3667
|
const workflowContext = new WorkflowContext({
|
|
3643
3668
|
qstashClient: regionalClient,
|
|
3644
3669
|
workflowRunId,
|
|
3645
|
-
initialPayload: initialPayloadParser(rawInitialPayload),
|
|
3670
|
+
initialPayload: isThirdPartyCallResult(request) ? JSON.parse(rawInitialPayload) : initialPayloadParser(rawInitialPayload),
|
|
3646
3671
|
headers: recreateUserHeaders(request.headers),
|
|
3647
3672
|
steps,
|
|
3648
3673
|
url: workflowUrl,
|
|
@@ -3650,6 +3675,7 @@ var serveBase = (routeFunction, telemetry, options, internalOptions) => {
|
|
|
3650
3675
|
telemetry,
|
|
3651
3676
|
invokeCount,
|
|
3652
3677
|
label,
|
|
3678
|
+
retried,
|
|
3653
3679
|
workflowRunCreatedAt: Number(workflowRunCreatedAt),
|
|
3654
3680
|
middlewareManager
|
|
3655
3681
|
});
|
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, I as InvokableWorkflow } from './types-
|
|
4
|
-
import { s as serveManyBase } from './serve-many-
|
|
3
|
+
import { c as RouteFunction, d as WorkflowServeOptions, I as InvokableWorkflow } from './types-B_E1VAK6.mjs';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-D3D9uE4u.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, I as InvokableWorkflow } from './types-
|
|
4
|
-
import { s as serveManyBase } from './serve-many-
|
|
3
|
+
import { c as RouteFunction, d as WorkflowServeOptions, I as InvokableWorkflow } from './types-B_E1VAK6.js';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-kPOasiyb.js';
|
|
5
5
|
import '@upstash/qstash';
|
|
6
6
|
import 'zod';
|
|
7
7
|
|
package/svelte.js
CHANGED
|
@@ -192,6 +192,7 @@ var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
|
|
|
192
192
|
var WORKFLOW_FAILURE_CALLBACK_HEADER = "Upstash-Workflow-Failure-Callback";
|
|
193
193
|
var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
|
|
194
194
|
var WORKFLOW_INVOKE_COUNT_HEADER = "Upstash-Workflow-Invoke-Count";
|
|
195
|
+
var WORKFLOW_RETRIED_HEADER = "Upstash-Retried";
|
|
195
196
|
var WORKFLOW_LABEL_HEADER = "Upstash-Label";
|
|
196
197
|
var WORKFLOW_UNKOWN_SDK_VERSION_HEADER = "Upstash-Workflow-Unknown-Sdk";
|
|
197
198
|
var WORKFLOW_UNKOWN_SDK_TRIGGER_HEADER = "upstash-workflow-trigger-by-sdk";
|
|
@@ -200,7 +201,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
|
200
201
|
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
201
202
|
var NO_CONCURRENCY = 1;
|
|
202
203
|
var DEFAULT_RETRIES = 3;
|
|
203
|
-
var VERSION = "v1.
|
|
204
|
+
var VERSION = "v1.2.1";
|
|
204
205
|
var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
|
|
205
206
|
var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
|
|
206
207
|
var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
|
|
@@ -855,6 +856,9 @@ var recreateUserHeaders = (headers) => {
|
|
|
855
856
|
}
|
|
856
857
|
return filteredHeaders;
|
|
857
858
|
};
|
|
859
|
+
var isThirdPartyCallResult = (request) => {
|
|
860
|
+
return request.headers.get("Upstash-Workflow-Callback") !== null;
|
|
861
|
+
};
|
|
858
862
|
var handleThirdPartyCallResult = async ({
|
|
859
863
|
request,
|
|
860
864
|
requestPayload,
|
|
@@ -864,7 +868,7 @@ var handleThirdPartyCallResult = async ({
|
|
|
864
868
|
middlewareManager
|
|
865
869
|
}) => {
|
|
866
870
|
try {
|
|
867
|
-
if (request
|
|
871
|
+
if (isThirdPartyCallResult(request)) {
|
|
868
872
|
let callbackPayload;
|
|
869
873
|
if (requestPayload) {
|
|
870
874
|
callbackPayload = requestPayload;
|
|
@@ -2707,6 +2711,13 @@ var WorkflowContext = class {
|
|
|
2707
2711
|
* ```
|
|
2708
2712
|
*/
|
|
2709
2713
|
label;
|
|
2714
|
+
/**
|
|
2715
|
+
* Number of times QStash has retried delivering the current request.
|
|
2716
|
+
*
|
|
2717
|
+
* Sourced from the `Upstash-Retried` header. `0` on the first delivery,
|
|
2718
|
+
* `1` on the first retry, `2` on the second, and so on.
|
|
2719
|
+
*/
|
|
2720
|
+
retried;
|
|
2710
2721
|
constructor({
|
|
2711
2722
|
qstashClient,
|
|
2712
2723
|
workflowRunId,
|
|
@@ -2719,6 +2730,7 @@ var WorkflowContext = class {
|
|
|
2719
2730
|
telemetry: telemetry2,
|
|
2720
2731
|
invokeCount,
|
|
2721
2732
|
label,
|
|
2733
|
+
retried,
|
|
2722
2734
|
middlewareManager
|
|
2723
2735
|
}) {
|
|
2724
2736
|
this.qstashClient = qstashClient;
|
|
@@ -2730,6 +2742,7 @@ var WorkflowContext = class {
|
|
|
2730
2742
|
this.requestPayload = initialPayload;
|
|
2731
2743
|
this.env = env ?? {};
|
|
2732
2744
|
this.label = label;
|
|
2745
|
+
this.retried = retried ?? 0;
|
|
2733
2746
|
const middlewareManagerInstance = middlewareManager ?? new MiddlewareManager([]);
|
|
2734
2747
|
middlewareManagerInstance.assignContext(this);
|
|
2735
2748
|
this.executor = new AutoExecutor(
|
|
@@ -2993,7 +3006,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
2993
3006
|
const disabledContext = new _DisabledWorkflowContext({
|
|
2994
3007
|
qstashClient: new import_qstash10.Client({
|
|
2995
3008
|
baseUrl: "disabled-client",
|
|
2996
|
-
token: "disabled-client"
|
|
3009
|
+
token: "disabled-client",
|
|
3010
|
+
devMode: false
|
|
2997
3011
|
}),
|
|
2998
3012
|
workflowRunId: context.workflowRunId,
|
|
2999
3013
|
workflowRunCreatedAt: context.workflowRunCreatedAt,
|
|
@@ -3002,7 +3016,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
3002
3016
|
url: context.url,
|
|
3003
3017
|
initialPayload: context.requestPayload,
|
|
3004
3018
|
env: context.env,
|
|
3005
|
-
label: context.label
|
|
3019
|
+
label: context.label,
|
|
3020
|
+
retried: context.retried
|
|
3006
3021
|
});
|
|
3007
3022
|
try {
|
|
3008
3023
|
await routeFunction(disabledContext);
|
|
@@ -3218,6 +3233,7 @@ var handleFailure = async ({
|
|
|
3218
3233
|
errorMessage = `Couldn't parse 'failResponse' in 'failureFunction', received: '${decodedBody}'`;
|
|
3219
3234
|
}
|
|
3220
3235
|
const userHeaders = recreateUserHeaders(request.headers);
|
|
3236
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3221
3237
|
const workflowContext = new WorkflowContext({
|
|
3222
3238
|
qstashClient,
|
|
3223
3239
|
workflowRunId,
|
|
@@ -3229,6 +3245,7 @@ var handleFailure = async ({
|
|
|
3229
3245
|
telemetry: void 0,
|
|
3230
3246
|
// not going to make requests in authentication check
|
|
3231
3247
|
label: userHeaders.get(WORKFLOW_LABEL_HEADER) ?? void 0,
|
|
3248
|
+
retried,
|
|
3232
3249
|
workflowRunCreatedAt: workflowCreatedAt,
|
|
3233
3250
|
middlewareManager: void 0
|
|
3234
3251
|
});
|
|
@@ -3388,6 +3405,9 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3388
3405
|
if (receiverConfig === "set-to-undefined") {
|
|
3389
3406
|
return void 0;
|
|
3390
3407
|
}
|
|
3408
|
+
if (isQStashDevModeEnabled(environment)) {
|
|
3409
|
+
return new import_qstash11.Receiver({ devMode: true });
|
|
3410
|
+
}
|
|
3391
3411
|
const receiverEnv = readReceiverEnvironmentVariables(environment, region);
|
|
3392
3412
|
return receiverEnv.QSTASH_CURRENT_SIGNING_KEY && receiverEnv.QSTASH_NEXT_SIGNING_KEY ? new import_qstash11.Receiver({
|
|
3393
3413
|
currentSigningKey: receiverEnv.QSTASH_CURRENT_SIGNING_KEY,
|
|
@@ -3397,6 +3417,10 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3397
3417
|
return receiverConfig;
|
|
3398
3418
|
}
|
|
3399
3419
|
};
|
|
3420
|
+
var isQStashDevModeEnabled = (env) => {
|
|
3421
|
+
const value = env.QSTASH_DEV;
|
|
3422
|
+
return value === "true" || value === "1";
|
|
3423
|
+
};
|
|
3400
3424
|
var getQStashHandlerOptions = (...params) => {
|
|
3401
3425
|
const handlers = getQStashHandlers(...params);
|
|
3402
3426
|
return {
|
|
@@ -3706,12 +3730,13 @@ var serveBase = (routeFunction, telemetry2, options, internalOptions) => {
|
|
|
3706
3730
|
);
|
|
3707
3731
|
}
|
|
3708
3732
|
const invokeCount = Number(request.headers.get(WORKFLOW_INVOKE_COUNT_HEADER) ?? "0");
|
|
3733
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3709
3734
|
const label = request.headers.get(WORKFLOW_LABEL_HEADER) ?? void 0;
|
|
3710
3735
|
const workflowRunCreatedAt = request.headers.get(WORKFLOW_CREATED_AT_HEADER);
|
|
3711
3736
|
const workflowContext = new WorkflowContext({
|
|
3712
3737
|
qstashClient: regionalClient,
|
|
3713
3738
|
workflowRunId,
|
|
3714
|
-
initialPayload: initialPayloadParser(rawInitialPayload),
|
|
3739
|
+
initialPayload: isThirdPartyCallResult(request) ? JSON.parse(rawInitialPayload) : initialPayloadParser(rawInitialPayload),
|
|
3715
3740
|
headers: recreateUserHeaders(request.headers),
|
|
3716
3741
|
steps,
|
|
3717
3742
|
url: workflowUrl,
|
|
@@ -3719,6 +3744,7 @@ var serveBase = (routeFunction, telemetry2, options, internalOptions) => {
|
|
|
3719
3744
|
telemetry: telemetry2,
|
|
3720
3745
|
invokeCount,
|
|
3721
3746
|
label,
|
|
3747
|
+
retried,
|
|
3722
3748
|
workflowRunCreatedAt: Number(workflowRunCreatedAt),
|
|
3723
3749
|
middlewareManager
|
|
3724
3750
|
});
|
package/svelte.mjs
CHANGED
package/tanstack.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as RouteFunction, d as WorkflowServeOptions, E as ExclusiveValidationOptions, I as InvokableWorkflow } from './types-
|
|
2
|
-
import { s as serveManyBase } from './serve-many-
|
|
1
|
+
import { c as RouteFunction, d as WorkflowServeOptions, E as ExclusiveValidationOptions, I as InvokableWorkflow } from './types-B_E1VAK6.mjs';
|
|
2
|
+
import { s as serveManyBase } from './serve-many-D3D9uE4u.mjs';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
|
package/tanstack.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as RouteFunction, d as WorkflowServeOptions, E as ExclusiveValidationOptions, I as InvokableWorkflow } from './types-
|
|
2
|
-
import { s as serveManyBase } from './serve-many-
|
|
1
|
+
import { c as RouteFunction, d as WorkflowServeOptions, E as ExclusiveValidationOptions, I as InvokableWorkflow } from './types-B_E1VAK6.js';
|
|
2
|
+
import { s as serveManyBase } from './serve-many-kPOasiyb.js';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
|
package/tanstack.js
CHANGED
|
@@ -192,6 +192,7 @@ var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
|
|
|
192
192
|
var WORKFLOW_FAILURE_CALLBACK_HEADER = "Upstash-Workflow-Failure-Callback";
|
|
193
193
|
var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
|
|
194
194
|
var WORKFLOW_INVOKE_COUNT_HEADER = "Upstash-Workflow-Invoke-Count";
|
|
195
|
+
var WORKFLOW_RETRIED_HEADER = "Upstash-Retried";
|
|
195
196
|
var WORKFLOW_LABEL_HEADER = "Upstash-Label";
|
|
196
197
|
var WORKFLOW_UNKOWN_SDK_VERSION_HEADER = "Upstash-Workflow-Unknown-Sdk";
|
|
197
198
|
var WORKFLOW_UNKOWN_SDK_TRIGGER_HEADER = "upstash-workflow-trigger-by-sdk";
|
|
@@ -200,7 +201,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
|
200
201
|
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
201
202
|
var NO_CONCURRENCY = 1;
|
|
202
203
|
var DEFAULT_RETRIES = 3;
|
|
203
|
-
var VERSION = "v1.
|
|
204
|
+
var VERSION = "v1.2.1";
|
|
204
205
|
var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
|
|
205
206
|
var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
|
|
206
207
|
var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
|
|
@@ -855,6 +856,9 @@ var recreateUserHeaders = (headers) => {
|
|
|
855
856
|
}
|
|
856
857
|
return filteredHeaders;
|
|
857
858
|
};
|
|
859
|
+
var isThirdPartyCallResult = (request) => {
|
|
860
|
+
return request.headers.get("Upstash-Workflow-Callback") !== null;
|
|
861
|
+
};
|
|
858
862
|
var handleThirdPartyCallResult = async ({
|
|
859
863
|
request,
|
|
860
864
|
requestPayload,
|
|
@@ -864,7 +868,7 @@ var handleThirdPartyCallResult = async ({
|
|
|
864
868
|
middlewareManager
|
|
865
869
|
}) => {
|
|
866
870
|
try {
|
|
867
|
-
if (request
|
|
871
|
+
if (isThirdPartyCallResult(request)) {
|
|
868
872
|
let callbackPayload;
|
|
869
873
|
if (requestPayload) {
|
|
870
874
|
callbackPayload = requestPayload;
|
|
@@ -2707,6 +2711,13 @@ var WorkflowContext = class {
|
|
|
2707
2711
|
* ```
|
|
2708
2712
|
*/
|
|
2709
2713
|
label;
|
|
2714
|
+
/**
|
|
2715
|
+
* Number of times QStash has retried delivering the current request.
|
|
2716
|
+
*
|
|
2717
|
+
* Sourced from the `Upstash-Retried` header. `0` on the first delivery,
|
|
2718
|
+
* `1` on the first retry, `2` on the second, and so on.
|
|
2719
|
+
*/
|
|
2720
|
+
retried;
|
|
2710
2721
|
constructor({
|
|
2711
2722
|
qstashClient,
|
|
2712
2723
|
workflowRunId,
|
|
@@ -2719,6 +2730,7 @@ var WorkflowContext = class {
|
|
|
2719
2730
|
telemetry: telemetry2,
|
|
2720
2731
|
invokeCount,
|
|
2721
2732
|
label,
|
|
2733
|
+
retried,
|
|
2722
2734
|
middlewareManager
|
|
2723
2735
|
}) {
|
|
2724
2736
|
this.qstashClient = qstashClient;
|
|
@@ -2730,6 +2742,7 @@ var WorkflowContext = class {
|
|
|
2730
2742
|
this.requestPayload = initialPayload;
|
|
2731
2743
|
this.env = env ?? {};
|
|
2732
2744
|
this.label = label;
|
|
2745
|
+
this.retried = retried ?? 0;
|
|
2733
2746
|
const middlewareManagerInstance = middlewareManager ?? new MiddlewareManager([]);
|
|
2734
2747
|
middlewareManagerInstance.assignContext(this);
|
|
2735
2748
|
this.executor = new AutoExecutor(
|
|
@@ -2993,7 +3006,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
2993
3006
|
const disabledContext = new _DisabledWorkflowContext({
|
|
2994
3007
|
qstashClient: new import_qstash10.Client({
|
|
2995
3008
|
baseUrl: "disabled-client",
|
|
2996
|
-
token: "disabled-client"
|
|
3009
|
+
token: "disabled-client",
|
|
3010
|
+
devMode: false
|
|
2997
3011
|
}),
|
|
2998
3012
|
workflowRunId: context.workflowRunId,
|
|
2999
3013
|
workflowRunCreatedAt: context.workflowRunCreatedAt,
|
|
@@ -3002,7 +3016,8 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
3002
3016
|
url: context.url,
|
|
3003
3017
|
initialPayload: context.requestPayload,
|
|
3004
3018
|
env: context.env,
|
|
3005
|
-
label: context.label
|
|
3019
|
+
label: context.label,
|
|
3020
|
+
retried: context.retried
|
|
3006
3021
|
});
|
|
3007
3022
|
try {
|
|
3008
3023
|
await routeFunction(disabledContext);
|
|
@@ -3218,6 +3233,7 @@ var handleFailure = async ({
|
|
|
3218
3233
|
errorMessage = `Couldn't parse 'failResponse' in 'failureFunction', received: '${decodedBody}'`;
|
|
3219
3234
|
}
|
|
3220
3235
|
const userHeaders = recreateUserHeaders(request.headers);
|
|
3236
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3221
3237
|
const workflowContext = new WorkflowContext({
|
|
3222
3238
|
qstashClient,
|
|
3223
3239
|
workflowRunId,
|
|
@@ -3229,6 +3245,7 @@ var handleFailure = async ({
|
|
|
3229
3245
|
telemetry: void 0,
|
|
3230
3246
|
// not going to make requests in authentication check
|
|
3231
3247
|
label: userHeaders.get(WORKFLOW_LABEL_HEADER) ?? void 0,
|
|
3248
|
+
retried,
|
|
3232
3249
|
workflowRunCreatedAt: workflowCreatedAt,
|
|
3233
3250
|
middlewareManager: void 0
|
|
3234
3251
|
});
|
|
@@ -3388,6 +3405,9 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3388
3405
|
if (receiverConfig === "set-to-undefined") {
|
|
3389
3406
|
return void 0;
|
|
3390
3407
|
}
|
|
3408
|
+
if (isQStashDevModeEnabled(environment)) {
|
|
3409
|
+
return new import_qstash11.Receiver({ devMode: true });
|
|
3410
|
+
}
|
|
3391
3411
|
const receiverEnv = readReceiverEnvironmentVariables(environment, region);
|
|
3392
3412
|
return receiverEnv.QSTASH_CURRENT_SIGNING_KEY && receiverEnv.QSTASH_NEXT_SIGNING_KEY ? new import_qstash11.Receiver({
|
|
3393
3413
|
currentSigningKey: receiverEnv.QSTASH_CURRENT_SIGNING_KEY,
|
|
@@ -3397,6 +3417,10 @@ var getReceiver = (environment, receiverConfig, region) => {
|
|
|
3397
3417
|
return receiverConfig;
|
|
3398
3418
|
}
|
|
3399
3419
|
};
|
|
3420
|
+
var isQStashDevModeEnabled = (env) => {
|
|
3421
|
+
const value = env.QSTASH_DEV;
|
|
3422
|
+
return value === "true" || value === "1";
|
|
3423
|
+
};
|
|
3400
3424
|
var getQStashHandlerOptions = (...params) => {
|
|
3401
3425
|
const handlers = getQStashHandlers(...params);
|
|
3402
3426
|
return {
|
|
@@ -3706,12 +3730,13 @@ var serveBase = (routeFunction, telemetry2, options, internalOptions) => {
|
|
|
3706
3730
|
);
|
|
3707
3731
|
}
|
|
3708
3732
|
const invokeCount = Number(request.headers.get(WORKFLOW_INVOKE_COUNT_HEADER) ?? "0");
|
|
3733
|
+
const retried = Number(request.headers.get(WORKFLOW_RETRIED_HEADER) ?? "0");
|
|
3709
3734
|
const label = request.headers.get(WORKFLOW_LABEL_HEADER) ?? void 0;
|
|
3710
3735
|
const workflowRunCreatedAt = request.headers.get(WORKFLOW_CREATED_AT_HEADER);
|
|
3711
3736
|
const workflowContext = new WorkflowContext({
|
|
3712
3737
|
qstashClient: regionalClient,
|
|
3713
3738
|
workflowRunId,
|
|
3714
|
-
initialPayload: initialPayloadParser(rawInitialPayload),
|
|
3739
|
+
initialPayload: isThirdPartyCallResult(request) ? JSON.parse(rawInitialPayload) : initialPayloadParser(rawInitialPayload),
|
|
3715
3740
|
headers: recreateUserHeaders(request.headers),
|
|
3716
3741
|
steps,
|
|
3717
3742
|
url: workflowUrl,
|
|
@@ -3719,6 +3744,7 @@ var serveBase = (routeFunction, telemetry2, options, internalOptions) => {
|
|
|
3719
3744
|
telemetry: telemetry2,
|
|
3720
3745
|
invokeCount,
|
|
3721
3746
|
label,
|
|
3747
|
+
retried,
|
|
3722
3748
|
workflowRunCreatedAt: Number(workflowRunCreatedAt),
|
|
3723
3749
|
middlewareManager
|
|
3724
3750
|
});
|