@upstash/workflow 0.2.3 → 0.2.4
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 +1 -1
- package/astro.d.ts +1 -1
- package/astro.js +146 -78
- package/astro.mjs +7 -1
- package/{chunk-QBJ3LQIO.mjs → chunk-ETDFMXER.mjs} +139 -69
- package/cloudflare.d.mts +1 -1
- package/cloudflare.d.ts +1 -1
- package/cloudflare.js +152 -82
- package/cloudflare.mjs +13 -5
- package/express.d.mts +1 -1
- package/express.d.ts +1 -1
- package/express.js +147 -79
- package/express.mjs +8 -2
- package/h3.d.mts +1 -1
- package/h3.d.ts +1 -1
- package/h3.js +150 -79
- package/h3.mjs +11 -2
- package/hono.d.mts +1 -1
- package/hono.d.ts +1 -1
- package/hono.js +154 -84
- package/hono.mjs +15 -7
- package/index.d.mts +2 -2
- package/index.d.ts +2 -2
- package/index.js +160 -83
- package/index.mjs +10 -4
- package/nextjs.d.mts +1 -1
- package/nextjs.d.ts +1 -1
- package/nextjs.js +155 -79
- package/nextjs.mjs +16 -2
- package/package.json +1 -1
- package/solidjs.d.mts +1 -1
- package/solidjs.d.ts +1 -1
- package/solidjs.js +150 -79
- package/solidjs.mjs +11 -2
- package/svelte.d.mts +1 -1
- package/svelte.d.ts +1 -1
- package/svelte.js +152 -82
- package/svelte.mjs +13 -5
- package/{types-R9q4MUwl.d.mts → types-Bt4-paRy.d.mts} +89 -4
- package/{types-R9q4MUwl.d.ts → types-Bt4-paRy.d.ts} +89 -4
package/express.js
CHANGED
|
@@ -23696,6 +23696,23 @@ __export(express_exports, {
|
|
|
23696
23696
|
});
|
|
23697
23697
|
module.exports = __toCommonJS(express_exports);
|
|
23698
23698
|
|
|
23699
|
+
// src/constants.ts
|
|
23700
|
+
var WORKFLOW_ID_HEADER = "Upstash-Workflow-RunId";
|
|
23701
|
+
var WORKFLOW_INIT_HEADER = "Upstash-Workflow-Init";
|
|
23702
|
+
var WORKFLOW_URL_HEADER = "Upstash-Workflow-Url";
|
|
23703
|
+
var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
|
|
23704
|
+
var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
|
|
23705
|
+
var WORKFLOW_PROTOCOL_VERSION = "1";
|
|
23706
|
+
var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
23707
|
+
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
23708
|
+
var NO_CONCURRENCY = 1;
|
|
23709
|
+
var DEFAULT_RETRIES = 3;
|
|
23710
|
+
var VERSION = "v0.2.3";
|
|
23711
|
+
var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
|
|
23712
|
+
var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
|
|
23713
|
+
var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
|
|
23714
|
+
var TELEMETRY_HEADER_RUNTIME = "Upstash-Telemetry-Runtime";
|
|
23715
|
+
|
|
23699
23716
|
// src/client/utils.ts
|
|
23700
23717
|
var import_qstash = require("@upstash/qstash");
|
|
23701
23718
|
var makeNotifyRequest = async (requester, eventId, eventData) => {
|
|
@@ -24386,18 +24403,6 @@ var Err = class {
|
|
|
24386
24403
|
};
|
|
24387
24404
|
var fromThrowable = Result.fromThrowable;
|
|
24388
24405
|
|
|
24389
|
-
// src/constants.ts
|
|
24390
|
-
var WORKFLOW_ID_HEADER = "Upstash-Workflow-RunId";
|
|
24391
|
-
var WORKFLOW_INIT_HEADER = "Upstash-Workflow-Init";
|
|
24392
|
-
var WORKFLOW_URL_HEADER = "Upstash-Workflow-Url";
|
|
24393
|
-
var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
|
|
24394
|
-
var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
|
|
24395
|
-
var WORKFLOW_PROTOCOL_VERSION = "1";
|
|
24396
|
-
var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
|
|
24397
|
-
var DEFAULT_CONTENT_TYPE = "application/json";
|
|
24398
|
-
var NO_CONCURRENCY = 1;
|
|
24399
|
-
var DEFAULT_RETRIES = 3;
|
|
24400
|
-
|
|
24401
24406
|
// src/types.ts
|
|
24402
24407
|
var StepTypes = [
|
|
24403
24408
|
"Initial",
|
|
@@ -24411,16 +24416,21 @@ var StepTypes = [
|
|
|
24411
24416
|
|
|
24412
24417
|
// src/workflow-requests.ts
|
|
24413
24418
|
var import_qstash3 = require("@upstash/qstash");
|
|
24414
|
-
var triggerFirstInvocation = async (
|
|
24415
|
-
|
|
24416
|
-
|
|
24417
|
-
|
|
24418
|
-
|
|
24419
|
-
|
|
24420
|
-
|
|
24421
|
-
|
|
24422
|
-
|
|
24423
|
-
|
|
24419
|
+
var triggerFirstInvocation = async ({
|
|
24420
|
+
workflowContext,
|
|
24421
|
+
useJSONContent,
|
|
24422
|
+
telemetry,
|
|
24423
|
+
debug
|
|
24424
|
+
}) => {
|
|
24425
|
+
const { headers } = getHeaders({
|
|
24426
|
+
initHeaderValue: "true",
|
|
24427
|
+
workflowRunId: workflowContext.workflowRunId,
|
|
24428
|
+
workflowUrl: workflowContext.url,
|
|
24429
|
+
userHeaders: workflowContext.headers,
|
|
24430
|
+
failureUrl: workflowContext.failureUrl,
|
|
24431
|
+
retries: workflowContext.retries,
|
|
24432
|
+
telemetry
|
|
24433
|
+
});
|
|
24424
24434
|
if (useJSONContent) {
|
|
24425
24435
|
headers["content-type"] = "application/json";
|
|
24426
24436
|
}
|
|
@@ -24526,7 +24536,16 @@ var recreateUserHeaders = (headers) => {
|
|
|
24526
24536
|
}
|
|
24527
24537
|
return filteredHeaders;
|
|
24528
24538
|
};
|
|
24529
|
-
var handleThirdPartyCallResult = async (
|
|
24539
|
+
var handleThirdPartyCallResult = async ({
|
|
24540
|
+
request,
|
|
24541
|
+
requestPayload,
|
|
24542
|
+
client,
|
|
24543
|
+
workflowUrl,
|
|
24544
|
+
failureUrl,
|
|
24545
|
+
retries,
|
|
24546
|
+
telemetry,
|
|
24547
|
+
debug
|
|
24548
|
+
}) => {
|
|
24530
24549
|
try {
|
|
24531
24550
|
if (request.headers.get("Upstash-Workflow-Callback")) {
|
|
24532
24551
|
let callbackPayload;
|
|
@@ -24585,15 +24604,15 @@ ${atob(callbackMessage.body ?? "")}`
|
|
|
24585
24604
|
);
|
|
24586
24605
|
}
|
|
24587
24606
|
const userHeaders = recreateUserHeaders(request.headers);
|
|
24588
|
-
const { headers: requestHeaders } = getHeaders(
|
|
24589
|
-
"false",
|
|
24607
|
+
const { headers: requestHeaders } = getHeaders({
|
|
24608
|
+
initHeaderValue: "false",
|
|
24590
24609
|
workflowRunId,
|
|
24591
24610
|
workflowUrl,
|
|
24592
24611
|
userHeaders,
|
|
24593
|
-
void 0,
|
|
24594
24612
|
failureUrl,
|
|
24595
|
-
retries
|
|
24596
|
-
|
|
24613
|
+
retries,
|
|
24614
|
+
telemetry
|
|
24615
|
+
});
|
|
24597
24616
|
const callResponse = {
|
|
24598
24617
|
status: callbackMessage.status,
|
|
24599
24618
|
body: atob(callbackMessage.body ?? ""),
|
|
@@ -24631,12 +24650,31 @@ ${atob(callbackMessage.body ?? "")}`
|
|
|
24631
24650
|
);
|
|
24632
24651
|
}
|
|
24633
24652
|
};
|
|
24634
|
-
var
|
|
24653
|
+
var getTelemetryHeaders = (telemetry) => {
|
|
24654
|
+
return {
|
|
24655
|
+
[TELEMETRY_HEADER_SDK]: telemetry.sdk,
|
|
24656
|
+
[TELEMETRY_HEADER_FRAMEWORK]: telemetry.framework,
|
|
24657
|
+
[TELEMETRY_HEADER_RUNTIME]: telemetry.runtime ?? "unknown"
|
|
24658
|
+
};
|
|
24659
|
+
};
|
|
24660
|
+
var getHeaders = ({
|
|
24661
|
+
initHeaderValue,
|
|
24662
|
+
workflowRunId,
|
|
24663
|
+
workflowUrl,
|
|
24664
|
+
userHeaders,
|
|
24665
|
+
failureUrl,
|
|
24666
|
+
retries,
|
|
24667
|
+
step,
|
|
24668
|
+
callRetries,
|
|
24669
|
+
callTimeout,
|
|
24670
|
+
telemetry
|
|
24671
|
+
}) => {
|
|
24635
24672
|
const baseHeaders = {
|
|
24636
24673
|
[WORKFLOW_INIT_HEADER]: initHeaderValue,
|
|
24637
24674
|
[WORKFLOW_ID_HEADER]: workflowRunId,
|
|
24638
24675
|
[WORKFLOW_URL_HEADER]: workflowUrl,
|
|
24639
|
-
[WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody"
|
|
24676
|
+
[WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody",
|
|
24677
|
+
...telemetry ? getTelemetryHeaders(telemetry) : {}
|
|
24640
24678
|
};
|
|
24641
24679
|
if (!step?.callUrl) {
|
|
24642
24680
|
baseHeaders[`Upstash-Forward-${WORKFLOW_PROTOCOL_VERSION_HEADER}`] = WORKFLOW_PROTOCOL_VERSION;
|
|
@@ -24710,6 +24748,13 @@ var getHeaders = (initHeaderValue, workflowRunId, workflowUrl, userHeaders, step
|
|
|
24710
24748
|
...Object.fromEntries(
|
|
24711
24749
|
Object.entries(baseHeaders).map(([header, value]) => [header, [value]])
|
|
24712
24750
|
),
|
|
24751
|
+
// to include telemetry headers:
|
|
24752
|
+
...telemetry ? Object.fromEntries(
|
|
24753
|
+
Object.entries(getTelemetryHeaders(telemetry)).map(([header, value]) => [
|
|
24754
|
+
header,
|
|
24755
|
+
[value]
|
|
24756
|
+
])
|
|
24757
|
+
) : {},
|
|
24713
24758
|
// note: using WORKFLOW_ID_HEADER doesn't work, because Runid -> RunId:
|
|
24714
24759
|
"Upstash-Workflow-Runid": [workflowRunId],
|
|
24715
24760
|
[WORKFLOW_INIT_HEADER]: ["false"],
|
|
@@ -24748,6 +24793,7 @@ If you want to disable QStash Verification, you should clear env variables QSTAS
|
|
|
24748
24793
|
};
|
|
24749
24794
|
|
|
24750
24795
|
// src/context/auto-executor.ts
|
|
24796
|
+
var import_qstash4 = require("@upstash/qstash");
|
|
24751
24797
|
var AutoExecutor = class _AutoExecutor {
|
|
24752
24798
|
context;
|
|
24753
24799
|
promises = /* @__PURE__ */ new WeakMap();
|
|
@@ -24756,13 +24802,15 @@ var AutoExecutor = class _AutoExecutor {
|
|
|
24756
24802
|
nonPlanStepCount;
|
|
24757
24803
|
steps;
|
|
24758
24804
|
indexInCurrentList = 0;
|
|
24805
|
+
telemetry;
|
|
24759
24806
|
stepCount = 0;
|
|
24760
24807
|
planStepCount = 0;
|
|
24761
24808
|
executingStep = false;
|
|
24762
|
-
constructor(context, steps, debug) {
|
|
24809
|
+
constructor(context, steps, telemetry, debug) {
|
|
24763
24810
|
this.context = context;
|
|
24764
|
-
this.debug = debug;
|
|
24765
24811
|
this.steps = steps;
|
|
24812
|
+
this.telemetry = telemetry;
|
|
24813
|
+
this.debug = debug;
|
|
24766
24814
|
this.nonPlanStepCount = this.steps.filter((step) => !step.targetStep).length;
|
|
24767
24815
|
}
|
|
24768
24816
|
/**
|
|
@@ -24905,7 +24953,7 @@ var AutoExecutor = class _AutoExecutor {
|
|
|
24905
24953
|
);
|
|
24906
24954
|
await this.submitStepsToQStash([resultStep], [parallelStep]);
|
|
24907
24955
|
} catch (error) {
|
|
24908
|
-
if (error instanceof WorkflowAbort) {
|
|
24956
|
+
if (error instanceof WorkflowAbort || error instanceof import_qstash4.QstashError && error.status === 400) {
|
|
24909
24957
|
throw error;
|
|
24910
24958
|
}
|
|
24911
24959
|
throw new WorkflowError(
|
|
@@ -24976,15 +25024,16 @@ var AutoExecutor = class _AutoExecutor {
|
|
|
24976
25024
|
});
|
|
24977
25025
|
if (steps[0].waitEventId && steps.length === 1) {
|
|
24978
25026
|
const waitStep = steps[0];
|
|
24979
|
-
const { headers, timeoutHeaders } = getHeaders(
|
|
24980
|
-
"false",
|
|
24981
|
-
this.context.workflowRunId,
|
|
24982
|
-
this.context.url,
|
|
24983
|
-
this.context.headers,
|
|
24984
|
-
waitStep,
|
|
24985
|
-
this.context.failureUrl,
|
|
24986
|
-
this.context.retries
|
|
24987
|
-
|
|
25027
|
+
const { headers, timeoutHeaders } = getHeaders({
|
|
25028
|
+
initHeaderValue: "false",
|
|
25029
|
+
workflowRunId: this.context.workflowRunId,
|
|
25030
|
+
workflowUrl: this.context.url,
|
|
25031
|
+
userHeaders: this.context.headers,
|
|
25032
|
+
step: waitStep,
|
|
25033
|
+
failureUrl: this.context.failureUrl,
|
|
25034
|
+
retries: this.context.retries,
|
|
25035
|
+
telemetry: this.telemetry
|
|
25036
|
+
});
|
|
24988
25037
|
const waitBody = {
|
|
24989
25038
|
url: this.context.url,
|
|
24990
25039
|
timeout: waitStep.timeout,
|
|
@@ -25011,17 +25060,18 @@ var AutoExecutor = class _AutoExecutor {
|
|
|
25011
25060
|
const result = await this.context.qstashClient.batchJSON(
|
|
25012
25061
|
steps.map((singleStep, index) => {
|
|
25013
25062
|
const lazyStep = lazySteps[index];
|
|
25014
|
-
const { headers } = getHeaders(
|
|
25015
|
-
"false",
|
|
25016
|
-
this.context.workflowRunId,
|
|
25017
|
-
this.context.url,
|
|
25018
|
-
this.context.headers,
|
|
25019
|
-
singleStep,
|
|
25020
|
-
this.context.failureUrl,
|
|
25021
|
-
this.context.retries,
|
|
25022
|
-
lazyStep instanceof LazyCallStep ? lazyStep.retries : void 0,
|
|
25023
|
-
lazyStep instanceof LazyCallStep ? lazyStep.timeout : void 0
|
|
25024
|
-
|
|
25063
|
+
const { headers } = getHeaders({
|
|
25064
|
+
initHeaderValue: "false",
|
|
25065
|
+
workflowRunId: this.context.workflowRunId,
|
|
25066
|
+
workflowUrl: this.context.url,
|
|
25067
|
+
userHeaders: this.context.headers,
|
|
25068
|
+
step: singleStep,
|
|
25069
|
+
failureUrl: this.context.failureUrl,
|
|
25070
|
+
retries: this.context.retries,
|
|
25071
|
+
callRetries: lazyStep instanceof LazyCallStep ? lazyStep.retries : void 0,
|
|
25072
|
+
callTimeout: lazyStep instanceof LazyCallStep ? lazyStep.timeout : void 0,
|
|
25073
|
+
telemetry: this.telemetry
|
|
25074
|
+
});
|
|
25025
25075
|
const willWait = singleStep.concurrent === NO_CONCURRENCY || singleStep.stepId === 0;
|
|
25026
25076
|
singleStep.out = JSON.stringify(singleStep.out);
|
|
25027
25077
|
return singleStep.callUrl ? (
|
|
@@ -25134,7 +25184,7 @@ var sortSteps = (steps) => {
|
|
|
25134
25184
|
};
|
|
25135
25185
|
|
|
25136
25186
|
// src/context/api/anthropic.ts
|
|
25137
|
-
var
|
|
25187
|
+
var import_qstash5 = require("@upstash/qstash");
|
|
25138
25188
|
|
|
25139
25189
|
// src/context/provider.ts
|
|
25140
25190
|
var getProviderInfo = (api) => {
|
|
@@ -25198,7 +25248,7 @@ var AnthropicAPI = class extends BaseWorkflowApi {
|
|
|
25198
25248
|
return await this.callApi(stepName, {
|
|
25199
25249
|
api: {
|
|
25200
25250
|
name: "llm",
|
|
25201
|
-
provider: (0,
|
|
25251
|
+
provider: (0, import_qstash5.anthropic)({ token })
|
|
25202
25252
|
},
|
|
25203
25253
|
...parameters
|
|
25204
25254
|
});
|
|
@@ -25206,14 +25256,14 @@ var AnthropicAPI = class extends BaseWorkflowApi {
|
|
|
25206
25256
|
};
|
|
25207
25257
|
|
|
25208
25258
|
// src/context/api/openai.ts
|
|
25209
|
-
var
|
|
25259
|
+
var import_qstash6 = require("@upstash/qstash");
|
|
25210
25260
|
var OpenAIAPI = class extends BaseWorkflowApi {
|
|
25211
25261
|
async call(stepName, settings) {
|
|
25212
25262
|
const { token, organization, operation, ...parameters } = settings;
|
|
25213
25263
|
return await this.callApi(stepName, {
|
|
25214
25264
|
api: {
|
|
25215
25265
|
name: "llm",
|
|
25216
|
-
provider: (0,
|
|
25266
|
+
provider: (0, import_qstash6.openai)({ token, organization })
|
|
25217
25267
|
},
|
|
25218
25268
|
...parameters
|
|
25219
25269
|
});
|
|
@@ -25221,14 +25271,14 @@ var OpenAIAPI = class extends BaseWorkflowApi {
|
|
|
25221
25271
|
};
|
|
25222
25272
|
|
|
25223
25273
|
// src/context/api/resend.ts
|
|
25224
|
-
var
|
|
25274
|
+
var import_qstash7 = require("@upstash/qstash");
|
|
25225
25275
|
var ResendAPI = class extends BaseWorkflowApi {
|
|
25226
25276
|
async call(stepName, settings) {
|
|
25227
25277
|
const { token, batch = false, ...parameters } = settings;
|
|
25228
25278
|
return await this.callApi(stepName, {
|
|
25229
25279
|
api: {
|
|
25230
25280
|
name: "email",
|
|
25231
|
-
provider: (0,
|
|
25281
|
+
provider: (0, import_qstash7.resend)({ token, batch })
|
|
25232
25282
|
},
|
|
25233
25283
|
...parameters
|
|
25234
25284
|
});
|
|
@@ -25386,7 +25436,8 @@ var WorkflowContext = class {
|
|
|
25386
25436
|
debug,
|
|
25387
25437
|
initialPayload,
|
|
25388
25438
|
env,
|
|
25389
|
-
retries
|
|
25439
|
+
retries,
|
|
25440
|
+
telemetry
|
|
25390
25441
|
}) {
|
|
25391
25442
|
this.qstashClient = qstashClient;
|
|
25392
25443
|
this.workflowRunId = workflowRunId;
|
|
@@ -25397,7 +25448,7 @@ var WorkflowContext = class {
|
|
|
25397
25448
|
this.requestPayload = initialPayload;
|
|
25398
25449
|
this.env = env ?? {};
|
|
25399
25450
|
this.retries = retries ?? DEFAULT_RETRIES;
|
|
25400
|
-
this.executor = new AutoExecutor(this, this.steps, debug);
|
|
25451
|
+
this.executor = new AutoExecutor(this, this.steps, telemetry, debug);
|
|
25401
25452
|
}
|
|
25402
25453
|
/**
|
|
25403
25454
|
* Executes a workflow step
|
|
@@ -25715,7 +25766,7 @@ function decodeBase64(base64) {
|
|
|
25715
25766
|
}
|
|
25716
25767
|
|
|
25717
25768
|
// src/serve/authorization.ts
|
|
25718
|
-
var
|
|
25769
|
+
var import_qstash8 = require("@upstash/qstash");
|
|
25719
25770
|
var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
|
|
25720
25771
|
static disabledMessage = "disabled-qstash-worklfow-run";
|
|
25721
25772
|
/**
|
|
@@ -25746,7 +25797,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
|
|
|
25746
25797
|
*/
|
|
25747
25798
|
static async tryAuthentication(routeFunction, context) {
|
|
25748
25799
|
const disabledContext = new _DisabledWorkflowContext({
|
|
25749
|
-
qstashClient: new
|
|
25800
|
+
qstashClient: new import_qstash8.Client({
|
|
25750
25801
|
baseUrl: "disabled-client",
|
|
25751
25802
|
token: "disabled-client"
|
|
25752
25803
|
}),
|
|
@@ -25910,7 +25961,7 @@ var parseRequest = async (requestPayload, isFirstInvocation, workflowRunId, requ
|
|
|
25910
25961
|
};
|
|
25911
25962
|
}
|
|
25912
25963
|
};
|
|
25913
|
-
var handleFailure = async (request, requestPayload, qstashClient, initialPayloadParser, routeFunction, failureFunction, debug) => {
|
|
25964
|
+
var handleFailure = async (request, requestPayload, qstashClient, initialPayloadParser, routeFunction, failureFunction, env, retries, debug) => {
|
|
25914
25965
|
if (request.headers.get(WORKFLOW_FAILURE_HEADER) !== "true") {
|
|
25915
25966
|
return ok("not-failure-callback");
|
|
25916
25967
|
}
|
|
@@ -25935,7 +25986,11 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
|
|
|
25935
25986
|
steps: [],
|
|
25936
25987
|
url,
|
|
25937
25988
|
failureUrl: url,
|
|
25938
|
-
debug
|
|
25989
|
+
debug,
|
|
25990
|
+
env,
|
|
25991
|
+
retries,
|
|
25992
|
+
telemetry: void 0
|
|
25993
|
+
// not going to make requests in authentication check
|
|
25939
25994
|
});
|
|
25940
25995
|
const authCheck = await DisabledWorkflowContext.tryAuthentication(
|
|
25941
25996
|
routeFunction,
|
|
@@ -25960,15 +26015,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
|
|
|
25960
26015
|
};
|
|
25961
26016
|
|
|
25962
26017
|
// src/serve/options.ts
|
|
25963
|
-
var import_qstash8 = require("@upstash/qstash");
|
|
25964
26018
|
var import_qstash9 = require("@upstash/qstash");
|
|
26019
|
+
var import_qstash10 = require("@upstash/qstash");
|
|
25965
26020
|
var processOptions = (options) => {
|
|
25966
26021
|
const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
|
|
25967
26022
|
const receiverEnvironmentVariablesSet = Boolean(
|
|
25968
26023
|
environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
|
|
25969
26024
|
);
|
|
25970
26025
|
return {
|
|
25971
|
-
qstashClient: new
|
|
26026
|
+
qstashClient: new import_qstash10.Client({
|
|
25972
26027
|
baseUrl: environment.QSTASH_URL,
|
|
25973
26028
|
token: environment.QSTASH_TOKEN
|
|
25974
26029
|
}),
|
|
@@ -26002,7 +26057,7 @@ var processOptions = (options) => {
|
|
|
26002
26057
|
throw error;
|
|
26003
26058
|
}
|
|
26004
26059
|
},
|
|
26005
|
-
receiver: receiverEnvironmentVariablesSet ? new
|
|
26060
|
+
receiver: receiverEnvironmentVariablesSet ? new import_qstash9.Receiver({
|
|
26006
26061
|
currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
|
|
26007
26062
|
nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
|
|
26008
26063
|
}) : void 0,
|
|
@@ -26010,6 +26065,7 @@ var processOptions = (options) => {
|
|
|
26010
26065
|
env: environment,
|
|
26011
26066
|
retries: DEFAULT_RETRIES,
|
|
26012
26067
|
useJSONContent: false,
|
|
26068
|
+
disableTelemetry: false,
|
|
26013
26069
|
...options
|
|
26014
26070
|
};
|
|
26015
26071
|
};
|
|
@@ -26044,7 +26100,7 @@ var determineUrls = async (request, url, baseUrl, failureFunction, failureUrl, d
|
|
|
26044
26100
|
var AUTH_FAIL_MESSAGE = `Failed to authenticate Workflow request. If this is unexpected, see the caveat https://upstash.com/docs/workflow/basics/caveats#avoid-non-deterministic-code-outside-context-run`;
|
|
26045
26101
|
|
|
26046
26102
|
// src/serve/index.ts
|
|
26047
|
-
var serveBase = (routeFunction, options) => {
|
|
26103
|
+
var serveBase = (routeFunction, telemetry, options) => {
|
|
26048
26104
|
const {
|
|
26049
26105
|
qstashClient,
|
|
26050
26106
|
onStepFinish,
|
|
@@ -26057,8 +26113,10 @@ var serveBase = (routeFunction, options) => {
|
|
|
26057
26113
|
baseUrl,
|
|
26058
26114
|
env,
|
|
26059
26115
|
retries,
|
|
26060
|
-
useJSONContent
|
|
26116
|
+
useJSONContent,
|
|
26117
|
+
disableTelemetry
|
|
26061
26118
|
} = processOptions(options);
|
|
26119
|
+
telemetry = disableTelemetry ? void 0 : telemetry;
|
|
26062
26120
|
const debug = WorkflowLogger.getLogger(verbose);
|
|
26063
26121
|
const handler = async (request) => {
|
|
26064
26122
|
await debug?.log("INFO", "ENDPOINT_START");
|
|
@@ -26094,7 +26152,10 @@ var serveBase = (routeFunction, options) => {
|
|
|
26094
26152
|
qstashClient,
|
|
26095
26153
|
initialPayloadParser,
|
|
26096
26154
|
routeFunction,
|
|
26097
|
-
failureFunction
|
|
26155
|
+
failureFunction,
|
|
26156
|
+
env,
|
|
26157
|
+
retries,
|
|
26158
|
+
debug
|
|
26098
26159
|
);
|
|
26099
26160
|
if (failureCheck.isErr()) {
|
|
26100
26161
|
throw failureCheck.error;
|
|
@@ -26112,7 +26173,8 @@ var serveBase = (routeFunction, options) => {
|
|
|
26112
26173
|
failureUrl: workflowFailureUrl,
|
|
26113
26174
|
debug,
|
|
26114
26175
|
env,
|
|
26115
|
-
retries
|
|
26176
|
+
retries,
|
|
26177
|
+
telemetry
|
|
26116
26178
|
});
|
|
26117
26179
|
const authCheck = await DisabledWorkflowContext.tryAuthentication(
|
|
26118
26180
|
routeFunction,
|
|
@@ -26128,22 +26190,23 @@ var serveBase = (routeFunction, options) => {
|
|
|
26128
26190
|
"auth-fail"
|
|
26129
26191
|
);
|
|
26130
26192
|
}
|
|
26131
|
-
const callReturnCheck = await handleThirdPartyCallResult(
|
|
26193
|
+
const callReturnCheck = await handleThirdPartyCallResult({
|
|
26132
26194
|
request,
|
|
26133
|
-
rawInitialPayload,
|
|
26134
|
-
qstashClient,
|
|
26195
|
+
requestPayload: rawInitialPayload,
|
|
26196
|
+
client: qstashClient,
|
|
26135
26197
|
workflowUrl,
|
|
26136
|
-
workflowFailureUrl,
|
|
26198
|
+
failureUrl: workflowFailureUrl,
|
|
26137
26199
|
retries,
|
|
26200
|
+
telemetry,
|
|
26138
26201
|
debug
|
|
26139
|
-
);
|
|
26202
|
+
});
|
|
26140
26203
|
if (callReturnCheck.isErr()) {
|
|
26141
26204
|
await debug?.log("ERROR", "SUBMIT_THIRD_PARTY_RESULT", {
|
|
26142
26205
|
error: callReturnCheck.error.message
|
|
26143
26206
|
});
|
|
26144
26207
|
throw callReturnCheck.error;
|
|
26145
26208
|
} else if (callReturnCheck.value === "continue-workflow") {
|
|
26146
|
-
const result = isFirstInvocation ? await triggerFirstInvocation(workflowContext,
|
|
26209
|
+
const result = isFirstInvocation ? await triggerFirstInvocation({ workflowContext, useJSONContent, telemetry, debug }) : await triggerRouteFunction({
|
|
26147
26210
|
onStep: async () => routeFunction(workflowContext),
|
|
26148
26211
|
onCleanup: async () => {
|
|
26149
26212
|
await triggerWorkflowDelete(workflowContext, debug);
|
|
@@ -26204,7 +26267,12 @@ function serve(routeFunction, options) {
|
|
|
26204
26267
|
body: requestBody
|
|
26205
26268
|
});
|
|
26206
26269
|
const { handler: serveHandler } = serveBase(
|
|
26207
|
-
|
|
26270
|
+
routeFunction,
|
|
26271
|
+
{
|
|
26272
|
+
sdk: SDK_TELEMETRY,
|
|
26273
|
+
framework: "express",
|
|
26274
|
+
runtime: process.versions.bun ? `bun@${process.versions.bun}/node@${process.version}` : `node@${process.version}`
|
|
26275
|
+
},
|
|
26208
26276
|
{
|
|
26209
26277
|
...options,
|
|
26210
26278
|
useJSONContent: true
|
package/express.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
+
SDK_TELEMETRY,
|
|
2
3
|
__commonJS,
|
|
3
4
|
__require,
|
|
4
5
|
__toESM,
|
|
5
6
|
serveBase
|
|
6
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ETDFMXER.mjs";
|
|
7
8
|
|
|
8
9
|
// node_modules/depd/index.js
|
|
9
10
|
var require_depd = __commonJS({
|
|
@@ -23690,7 +23691,12 @@ function serve(routeFunction, options) {
|
|
|
23690
23691
|
body: requestBody
|
|
23691
23692
|
});
|
|
23692
23693
|
const { handler: serveHandler } = serveBase(
|
|
23693
|
-
|
|
23694
|
+
routeFunction,
|
|
23695
|
+
{
|
|
23696
|
+
sdk: SDK_TELEMETRY,
|
|
23697
|
+
framework: "express",
|
|
23698
|
+
runtime: process.versions.bun ? `bun@${process.versions.bun}/node@${process.version}` : `node@${process.version}`
|
|
23699
|
+
},
|
|
23694
23700
|
{
|
|
23695
23701
|
...options,
|
|
23696
23702
|
useJSONContent: true
|
package/h3.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as h3 from 'h3';
|
|
2
|
-
import { R as RouteFunction, j as PublicServeOptions } from './types-
|
|
2
|
+
import { R as RouteFunction, j as PublicServeOptions } from './types-Bt4-paRy.mjs';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
|
|
5
5
|
declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options?: PublicServeOptions<TInitialPayload>) => {
|
package/h3.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as h3 from 'h3';
|
|
2
|
-
import { R as RouteFunction, j as PublicServeOptions } from './types-
|
|
2
|
+
import { R as RouteFunction, j as PublicServeOptions } from './types-Bt4-paRy.js';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
|
|
5
5
|
declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options?: PublicServeOptions<TInitialPayload>) => {
|