@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.
Files changed (51) hide show
  1. package/README.md +1 -0
  2. package/astro.d.mts +2 -2
  3. package/astro.d.ts +2 -2
  4. package/astro.js +72 -69
  5. package/astro.mjs +1 -1
  6. package/{chunk-NZCQPOPR.mjs → chunk-V5ZUHMAF.mjs} +66 -257
  7. package/cloudflare.d.mts +2 -2
  8. package/cloudflare.d.ts +2 -2
  9. package/cloudflare.js +72 -69
  10. package/cloudflare.mjs +1 -1
  11. package/express.d.mts +2 -2
  12. package/express.d.ts +2 -2
  13. package/express.js +72 -69
  14. package/express.mjs +1 -1
  15. package/h3.d.mts +2 -2
  16. package/h3.d.ts +2 -2
  17. package/h3.js +76 -73
  18. package/h3.mjs +5 -5
  19. package/hono.d.mts +2 -2
  20. package/hono.d.ts +2 -2
  21. package/hono.js +73 -265
  22. package/hono.mjs +2 -7
  23. package/index.d.mts +30 -12
  24. package/index.d.ts +30 -12
  25. package/index.js +93 -298
  26. package/index.mjs +21 -41
  27. package/nextjs.d.mts +2 -2
  28. package/nextjs.d.ts +2 -2
  29. package/nextjs.js +72 -263
  30. package/nextjs.mjs +1 -5
  31. package/package.json +1 -1
  32. package/react-router.d.mts +38 -0
  33. package/react-router.d.ts +38 -0
  34. package/react-router.js +3881 -0
  35. package/react-router.mjs +45 -0
  36. package/{serve-many-Bi8XaOyq.d.ts → serve-many-B-fe7bh7.d.ts} +1 -1
  37. package/{serve-many-CppVPJrh.d.mts → serve-many-C6sa_DxN.d.mts} +1 -1
  38. package/solidjs.d.mts +1 -1
  39. package/solidjs.d.ts +1 -1
  40. package/solidjs.js +72 -69
  41. package/solidjs.mjs +1 -1
  42. package/svelte.d.mts +2 -2
  43. package/svelte.d.ts +2 -2
  44. package/svelte.js +72 -69
  45. package/svelte.mjs +1 -1
  46. package/tanstack.d.mts +2 -2
  47. package/tanstack.d.ts +2 -2
  48. package/tanstack.js +72 -69
  49. package/tanstack.mjs +1 -1
  50. package/{types-CUwgrpCM.d.ts → types-B2S08hRU.d.mts} +18 -3
  51. package/{types-CUwgrpCM.d.mts → types-B2S08hRU.d.ts} +18 -3
@@ -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, x as InvokableWorkflow } from './types-CUwgrpCM.js';
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, x as InvokableWorkflow } from './types-CUwgrpCM.mjs';
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-CUwgrpCM.mjs';
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
@@ -1,5 +1,5 @@
1
1
  import { APIEvent } from '@solidjs/start/server';
2
- import { c as RouteFunction, d as WorkflowServeOptions } from './types-CUwgrpCM.js';
2
+ import { c as RouteFunction, d as WorkflowServeOptions } from './types-B2S08hRU.js';
3
3
  import '@upstash/qstash';
4
4
  import 'zod';
5
5
 
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: ["v2", "notify", eventId],
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
- return await this.executor.addStep(step);
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 import_qstash9 = require("@upstash/qstash");
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 import_qstash9.Client({
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(requestPayload);
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 import_qstash10 = require("@upstash/qstash");
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 import_qstash10.Client({
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 import_qstash10.Client({
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 import_qstash10.Receiver({
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 environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
3533
- const devMode = environment.WORKFLOW_DEV === "true";
3534
- if (devMode) {
3535
- const port = Number(environment.WORKFLOW_DEV_PORT) || 8080;
3536
- const creds = getDevCredentials(port);
3537
- for (const [k, v] of Object.entries(creds)) {
3538
- if (!environment[k]) {
3539
- environment[k] = v;
3540
- }
3541
- }
3542
- }
3543
- const resolvedOptions = processOptions(
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: currentTelemetry,
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: currentTelemetry,
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: currentTelemetry,
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
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SDK_TELEMETRY,
3
3
  serveBase
4
- } from "./chunk-NZCQPOPR.mjs";
4
+ } from "./chunk-V5ZUHMAF.mjs";
5
5
 
6
6
  // platforms/solidjs.ts
7
7
  var serve = (routeFunction, options) => {
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, x as InvokableWorkflow } from './types-CUwgrpCM.mjs';
4
- import { s as serveManyBase } from './serve-many-CppVPJrh.mjs';
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, x as InvokableWorkflow } from './types-CUwgrpCM.js';
4
- import { s as serveManyBase } from './serve-many-Bi8XaOyq.js';
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