@upstash/workflow 0.1.2-canary-astro → 0.1.2-omit-errors

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/nextjs.js CHANGED
@@ -494,6 +494,7 @@ var StepTypes = [
494
494
  ];
495
495
 
496
496
  // src/workflow-requests.ts
497
+ var import_qstash2 = require("@upstash/qstash");
497
498
  var triggerFirstInvocation = async (workflowContext, retries, debug) => {
498
499
  const { headers } = getHeaders(
499
500
  "true",
@@ -504,27 +505,37 @@ var triggerFirstInvocation = async (workflowContext, retries, debug) => {
504
505
  workflowContext.failureUrl,
505
506
  retries
506
507
  );
507
- await debug?.log("SUBMIT", "SUBMIT_FIRST_INVOCATION", {
508
- headers,
509
- requestPayload: workflowContext.requestPayload,
510
- url: workflowContext.url
511
- });
512
508
  try {
513
- await workflowContext.qstashClient.publishJSON({
509
+ const result = await workflowContext.qstashClient.publishJSON({
514
510
  headers,
515
511
  method: "POST",
516
512
  body: workflowContext.requestPayload,
517
513
  url: workflowContext.url
518
514
  });
515
+ await debug?.log("SUBMIT", "SUBMIT_FIRST_INVOCATION", {
516
+ headers,
517
+ requestPayload: workflowContext.requestPayload,
518
+ url: workflowContext.url,
519
+ messageId: result.messageId
520
+ });
519
521
  return ok("success");
520
522
  } catch (error) {
521
523
  const error_ = error;
524
+ if (error instanceof import_qstash2.QstashError && error.message.includes("a workflow already exists, can not initialize a new one with same id")) {
525
+ await debug?.log("WARN", "SUBMIT_FIRST_INVOCATION", {
526
+ message: `Workflow run ${workflowContext.workflowRunId} already exists.`,
527
+ name: error.name,
528
+ originalMessage: error.message
529
+ });
530
+ return ok("workflow-run-already-exists");
531
+ }
522
532
  return err(error_);
523
533
  }
524
534
  };
525
535
  var triggerRouteFunction = async ({
526
536
  onCleanup,
527
- onStep
537
+ onStep,
538
+ debug
528
539
  }) => {
529
540
  try {
530
541
  await onStep();
@@ -532,6 +543,14 @@ var triggerRouteFunction = async ({
532
543
  return ok("workflow-finished");
533
544
  } catch (error) {
534
545
  const error_ = error;
546
+ if (error instanceof import_qstash2.QstashError && error.message.includes("can not append to a a cancelled workflow")) {
547
+ await debug?.log("WARN", "RESPONSE_WORKFLOW", {
548
+ message: `tried to append to a cancelled workflow. exiting without publishing.`,
549
+ name: error.name,
550
+ originalMessage: error.message
551
+ });
552
+ return ok("workflow-was-finished");
553
+ }
535
554
  return error_ instanceof QStashWorkflowAbort ? ok("step-finished") : err(error_);
536
555
  }
537
556
  };
@@ -539,12 +558,29 @@ var triggerWorkflowDelete = async (workflowContext, debug, cancel = false) => {
539
558
  await debug?.log("SUBMIT", "SUBMIT_CLEANUP", {
540
559
  deletedWorkflowRunId: workflowContext.workflowRunId
541
560
  });
542
- const result = await workflowContext.qstashClient.http.request({
543
- path: ["v2", "workflows", "runs", `${workflowContext.workflowRunId}?cancel=${cancel}`],
544
- method: "DELETE",
545
- parseResponseAsJson: false
546
- });
547
- await debug?.log("SUBMIT", "SUBMIT_CLEANUP", result);
561
+ try {
562
+ await workflowContext.qstashClient.http.request({
563
+ path: ["v2", "workflows", "runs", `${workflowContext.workflowRunId}?cancel=${cancel}`],
564
+ method: "DELETE",
565
+ parseResponseAsJson: false
566
+ });
567
+ await debug?.log(
568
+ "SUBMIT",
569
+ "SUBMIT_CLEANUP",
570
+ `workflow run ${workflowContext.workflowRunId} deleted.`
571
+ );
572
+ return { deleted: true };
573
+ } catch (error) {
574
+ if (error instanceof import_qstash2.QstashError && error.message.includes(`workflowRun ${workflowContext.workflowRunId} not found`)) {
575
+ await debug?.log("WARN", "SUBMIT_CLEANUP", {
576
+ message: `Failed to remove workflow run ${workflowContext.workflowRunId} as it doesn't exist.`,
577
+ name: error.name,
578
+ originalMessage: error.message
579
+ });
580
+ return { deleted: false };
581
+ }
582
+ throw error;
583
+ }
548
584
  };
549
585
  var recreateUserHeaders = (headers) => {
550
586
  const filteredHeaders = new Headers();
@@ -1682,7 +1718,8 @@ var WorkflowLogger = class _WorkflowLogger {
1682
1718
  }
1683
1719
  writeToConsole(logEntry) {
1684
1720
  const JSON_SPACING = 2;
1685
- console.log(JSON.stringify(logEntry, void 0, JSON_SPACING));
1721
+ const logMethod = logEntry.logLevel === "ERROR" ? console.error : logEntry.logLevel === "WARN" ? console.warn : console.log;
1722
+ logMethod(JSON.stringify(logEntry, void 0, JSON_SPACING));
1686
1723
  }
1687
1724
  shouldLog(level) {
1688
1725
  return LOG_LEVELS.indexOf(level) >= LOG_LEVELS.indexOf(this.options.logLevel);
@@ -1726,7 +1763,7 @@ var getPayload = async (request) => {
1726
1763
  return;
1727
1764
  }
1728
1765
  };
1729
- var parsePayload = async (rawPayload, debug) => {
1766
+ var parsePayload = (rawPayload) => {
1730
1767
  const [encodedInitialPayload, ...encodedSteps] = JSON.parse(rawPayload);
1731
1768
  const rawInitialPayload = decodeBase64(encodedInitialPayload.body);
1732
1769
  const initialStep = {
@@ -1737,27 +1774,21 @@ var parsePayload = async (rawPayload, debug) => {
1737
1774
  concurrent: NO_CONCURRENCY
1738
1775
  };
1739
1776
  const stepsToDecode = encodedSteps.filter((step) => step.callType === "step");
1740
- const otherSteps = await Promise.all(
1741
- stepsToDecode.map(async (rawStep) => {
1742
- const step = JSON.parse(decodeBase64(rawStep.body));
1743
- try {
1744
- step.out = JSON.parse(step.out);
1745
- } catch {
1746
- await debug?.log("WARN", "ENDPOINT_START", {
1747
- message: "failed while parsing out field of step",
1748
- step
1749
- });
1750
- }
1751
- if (step.waitEventId) {
1752
- const newOut = {
1753
- eventData: step.out ? decodeBase64(step.out) : void 0,
1754
- timeout: step.waitTimeout ?? false
1755
- };
1756
- step.out = newOut;
1757
- }
1758
- return step;
1759
- })
1760
- );
1777
+ const otherSteps = stepsToDecode.map((rawStep) => {
1778
+ const step = JSON.parse(decodeBase64(rawStep.body));
1779
+ try {
1780
+ step.out = JSON.parse(step.out);
1781
+ } catch {
1782
+ }
1783
+ if (step.waitEventId) {
1784
+ const newOut = {
1785
+ eventData: step.out ? decodeBase64(step.out) : void 0,
1786
+ timeout: step.waitTimeout ?? false
1787
+ };
1788
+ step.out = newOut;
1789
+ }
1790
+ return step;
1791
+ });
1761
1792
  const steps = [initialStep, ...otherSteps];
1762
1793
  return {
1763
1794
  rawInitialPayload,
@@ -1829,7 +1860,7 @@ var parseRequest = async (requestPayload, isFirstInvocation, debug) => {
1829
1860
  if (!requestPayload) {
1830
1861
  throw new QStashWorkflowError("Only first call can have an empty body");
1831
1862
  }
1832
- const { rawInitialPayload, steps } = await parsePayload(requestPayload, debug);
1863
+ const { rawInitialPayload, steps } = parsePayload(requestPayload);
1833
1864
  const isLastDuplicate = await checkIfLastOneIsDuplicate(steps, debug);
1834
1865
  const deduplicatedSteps = deduplicateSteps(steps);
1835
1866
  return {
@@ -1881,7 +1912,7 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
1881
1912
  };
1882
1913
 
1883
1914
  // src/serve/authorization.ts
1884
- var import_qstash2 = require("@upstash/qstash");
1915
+ var import_qstash3 = require("@upstash/qstash");
1885
1916
  var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
1886
1917
  static disabledMessage = "disabled-qstash-worklfow-run";
1887
1918
  /**
@@ -1906,7 +1937,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
1906
1937
  */
1907
1938
  static async tryAuthentication(routeFunction, context) {
1908
1939
  const disabledContext = new _DisabledWorkflowContext({
1909
- qstashClient: new import_qstash2.Client({
1940
+ qstashClient: new import_qstash3.Client({
1910
1941
  baseUrl: "disabled-client",
1911
1942
  token: "disabled-client"
1912
1943
  }),
@@ -1933,15 +1964,15 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
1933
1964
  };
1934
1965
 
1935
1966
  // src/serve/options.ts
1936
- var import_qstash3 = require("@upstash/qstash");
1937
1967
  var import_qstash4 = require("@upstash/qstash");
1968
+ var import_qstash5 = require("@upstash/qstash");
1938
1969
  var processOptions = (options) => {
1939
1970
  const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
1940
1971
  const receiverEnvironmentVariablesSet = Boolean(
1941
1972
  environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
1942
1973
  );
1943
1974
  return {
1944
- qstashClient: new import_qstash4.Client({
1975
+ qstashClient: new import_qstash5.Client({
1945
1976
  baseUrl: environment.QSTASH_URL,
1946
1977
  token: environment.QSTASH_TOKEN
1947
1978
  }),
@@ -1962,7 +1993,7 @@ var processOptions = (options) => {
1962
1993
  throw error;
1963
1994
  }
1964
1995
  },
1965
- receiver: receiverEnvironmentVariablesSet ? new import_qstash3.Receiver({
1996
+ receiver: receiverEnvironmentVariablesSet ? new import_qstash4.Receiver({
1966
1997
  currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
1967
1998
  nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
1968
1999
  }) : void 0,
@@ -2084,7 +2115,8 @@ var serve = (routeFunction, options) => {
2084
2115
  onStep: async () => routeFunction(workflowContext),
2085
2116
  onCleanup: async () => {
2086
2117
  await triggerWorkflowDelete(workflowContext, debug);
2087
- }
2118
+ },
2119
+ debug
2088
2120
  });
2089
2121
  if (result.isErr()) {
2090
2122
  await debug?.log("ERROR", "ERROR", { error: result.error.message });
@@ -2110,7 +2142,7 @@ var serve = (routeFunction, options) => {
2110
2142
  };
2111
2143
 
2112
2144
  // src/client/index.ts
2113
- var import_qstash5 = require("@upstash/qstash");
2145
+ var import_qstash6 = require("@upstash/qstash");
2114
2146
 
2115
2147
  // platforms/nextjs.ts
2116
2148
  var serve2 = (routeFunction, options) => {
package/nextjs.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  serve
3
- } from "./chunk-EKVRVBHL.mjs";
3
+ } from "./chunk-ZPVH5ACW.mjs";
4
4
 
5
5
  // platforms/nextjs.ts
6
6
  var serve2 = (routeFunction, options) => {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@upstash/workflow","version":"v0.1.2-canary-astro","description":"Durable, Reliable and Performant Serverless Functions","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","files":["./*"],"exports":{".":{"import":"./index.mjs","require":"./index.js"},"./dist/nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./h3":{"import":"./h3.mjs","require":"./h3.js"},"./svelte":{"import":"./svelte.mjs","require":"./svelte.js"},"./solidjs":{"import":"./solidjs.mjs","require":"./solidjs.js"},"./workflow":{"import":"./workflow.mjs","require":"./workflow.js"},"./hono":{"import":"./hono.mjs","require":"./hono.js"},"./cloudflare":{"import":"./cloudflare.mjs","require":"./cloudflare.js"},"./astro":{"import":"./astro.mjs","require":"./astro.js"}},"scripts":{"build":"tsup && cp README.md ./dist/ && cp package.json ./dist/ && cp LICENSE ./dist/","test":"bun test src","fmt":"prettier --write .","lint":"tsc && eslint \"{src,platforms}/**/*.{js,ts,tsx}\" --quiet --fix","check-exports":"bun run build && cd dist && attw -P"},"repository":{"type":"git","url":"git+https://github.com/upstash/workflow-ts.git"},"keywords":["upstash","qstash","workflow","serverless"],"author":"Cahid Arda Oz","license":"MIT","bugs":{"url":"https://github.com/upstash/workflow-ts/issues"},"homepage":"https://github.com/upstash/workflow-ts#readme","devDependencies":{"@commitlint/cli":"^19.5.0","@commitlint/config-conventional":"^19.5.0","@eslint/js":"^9.11.1","@solidjs/start":"^1.0.8","@sveltejs/kit":"^2.6.1","@types/bun":"^1.1.10","astro":"^4.16.7","eslint":"^9.11.1","eslint-plugin-unicorn":"^55.0.0","globals":"^15.10.0","h3":"^1.12.0","hono":"^4.6.3","husky":"^9.1.6","next":"^14.2.14","prettier":"3.3.3","tsc":"^2.0.4","tsup":"^8.3.0","typescript":"5.4.5","typescript-eslint":"^8.8.0"},"dependencies":{"@upstash/qstash":"^2.7.12"},"directories":{"example":"examples"}}
1
+ {"name":"@upstash/workflow","version":"v0.1.2-omit-errors","description":"Durable, Reliable and Performant Serverless Functions","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","files":["./*"],"exports":{".":{"import":"./index.mjs","require":"./index.js"},"./dist/nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./h3":{"import":"./h3.mjs","require":"./h3.js"},"./svelte":{"import":"./svelte.mjs","require":"./svelte.js"},"./solidjs":{"import":"./solidjs.mjs","require":"./solidjs.js"},"./workflow":{"import":"./workflow.mjs","require":"./workflow.js"},"./hono":{"import":"./hono.mjs","require":"./hono.js"},"./cloudflare":{"import":"./cloudflare.mjs","require":"./cloudflare.js"},"./astro":{"import":"./astro.mjs","require":"./astro.js"}},"scripts":{"build":"tsup && cp README.md ./dist/ && cp package.json ./dist/ && cp LICENSE ./dist/","test":"bun test src","fmt":"prettier --write .","lint":"tsc && eslint \"{src,platforms}/**/*.{js,ts,tsx}\" --quiet --fix","check-exports":"bun run build && cd dist && attw -P"},"repository":{"type":"git","url":"git+https://github.com/upstash/workflow-ts.git"},"keywords":["upstash","qstash","workflow","serverless"],"author":"Cahid Arda Oz","license":"MIT","bugs":{"url":"https://github.com/upstash/workflow-ts/issues"},"homepage":"https://github.com/upstash/workflow-ts#readme","devDependencies":{"@commitlint/cli":"^19.5.0","@commitlint/config-conventional":"^19.5.0","@eslint/js":"^9.11.1","@solidjs/start":"^1.0.8","@sveltejs/kit":"^2.6.1","@types/bun":"^1.1.10","astro":"^4.16.7","eslint":"^9.11.1","eslint-plugin-unicorn":"^55.0.0","globals":"^15.10.0","h3":"^1.12.0","hono":"^4.6.3","husky":"^9.1.6","next":"^14.2.14","prettier":"3.3.3","tsc":"^2.0.4","tsup":"^8.3.0","typescript":"5.4.5","typescript-eslint":"^8.8.0"},"dependencies":{"@upstash/qstash":"^2.7.12"},"directories":{"example":"examples"}}
package/solidjs.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { APIEvent } from '@solidjs/start/server';
2
- import { R as RouteFunction, W as WorkflowServeOptions } from './types-p7sxktVE.mjs';
2
+ import { R as RouteFunction, W as WorkflowServeOptions } from './types-CI-2skYU.mjs';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  /**
package/solidjs.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { APIEvent } from '@solidjs/start/server';
2
- import { R as RouteFunction, W as WorkflowServeOptions } from './types-p7sxktVE.js';
2
+ import { R as RouteFunction, W as WorkflowServeOptions } from './types-CI-2skYU.js';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  /**
package/solidjs.js CHANGED
@@ -493,6 +493,7 @@ var StepTypes = [
493
493
  ];
494
494
 
495
495
  // src/workflow-requests.ts
496
+ var import_qstash2 = require("@upstash/qstash");
496
497
  var triggerFirstInvocation = async (workflowContext, retries, debug) => {
497
498
  const { headers } = getHeaders(
498
499
  "true",
@@ -503,27 +504,37 @@ var triggerFirstInvocation = async (workflowContext, retries, debug) => {
503
504
  workflowContext.failureUrl,
504
505
  retries
505
506
  );
506
- await debug?.log("SUBMIT", "SUBMIT_FIRST_INVOCATION", {
507
- headers,
508
- requestPayload: workflowContext.requestPayload,
509
- url: workflowContext.url
510
- });
511
507
  try {
512
- await workflowContext.qstashClient.publishJSON({
508
+ const result = await workflowContext.qstashClient.publishJSON({
513
509
  headers,
514
510
  method: "POST",
515
511
  body: workflowContext.requestPayload,
516
512
  url: workflowContext.url
517
513
  });
514
+ await debug?.log("SUBMIT", "SUBMIT_FIRST_INVOCATION", {
515
+ headers,
516
+ requestPayload: workflowContext.requestPayload,
517
+ url: workflowContext.url,
518
+ messageId: result.messageId
519
+ });
518
520
  return ok("success");
519
521
  } catch (error) {
520
522
  const error_ = error;
523
+ if (error instanceof import_qstash2.QstashError && error.message.includes("a workflow already exists, can not initialize a new one with same id")) {
524
+ await debug?.log("WARN", "SUBMIT_FIRST_INVOCATION", {
525
+ message: `Workflow run ${workflowContext.workflowRunId} already exists.`,
526
+ name: error.name,
527
+ originalMessage: error.message
528
+ });
529
+ return ok("workflow-run-already-exists");
530
+ }
521
531
  return err(error_);
522
532
  }
523
533
  };
524
534
  var triggerRouteFunction = async ({
525
535
  onCleanup,
526
- onStep
536
+ onStep,
537
+ debug
527
538
  }) => {
528
539
  try {
529
540
  await onStep();
@@ -531,6 +542,14 @@ var triggerRouteFunction = async ({
531
542
  return ok("workflow-finished");
532
543
  } catch (error) {
533
544
  const error_ = error;
545
+ if (error instanceof import_qstash2.QstashError && error.message.includes("can not append to a a cancelled workflow")) {
546
+ await debug?.log("WARN", "RESPONSE_WORKFLOW", {
547
+ message: `tried to append to a cancelled workflow. exiting without publishing.`,
548
+ name: error.name,
549
+ originalMessage: error.message
550
+ });
551
+ return ok("workflow-was-finished");
552
+ }
534
553
  return error_ instanceof QStashWorkflowAbort ? ok("step-finished") : err(error_);
535
554
  }
536
555
  };
@@ -538,12 +557,29 @@ var triggerWorkflowDelete = async (workflowContext, debug, cancel = false) => {
538
557
  await debug?.log("SUBMIT", "SUBMIT_CLEANUP", {
539
558
  deletedWorkflowRunId: workflowContext.workflowRunId
540
559
  });
541
- const result = await workflowContext.qstashClient.http.request({
542
- path: ["v2", "workflows", "runs", `${workflowContext.workflowRunId}?cancel=${cancel}`],
543
- method: "DELETE",
544
- parseResponseAsJson: false
545
- });
546
- await debug?.log("SUBMIT", "SUBMIT_CLEANUP", result);
560
+ try {
561
+ await workflowContext.qstashClient.http.request({
562
+ path: ["v2", "workflows", "runs", `${workflowContext.workflowRunId}?cancel=${cancel}`],
563
+ method: "DELETE",
564
+ parseResponseAsJson: false
565
+ });
566
+ await debug?.log(
567
+ "SUBMIT",
568
+ "SUBMIT_CLEANUP",
569
+ `workflow run ${workflowContext.workflowRunId} deleted.`
570
+ );
571
+ return { deleted: true };
572
+ } catch (error) {
573
+ if (error instanceof import_qstash2.QstashError && error.message.includes(`workflowRun ${workflowContext.workflowRunId} not found`)) {
574
+ await debug?.log("WARN", "SUBMIT_CLEANUP", {
575
+ message: `Failed to remove workflow run ${workflowContext.workflowRunId} as it doesn't exist.`,
576
+ name: error.name,
577
+ originalMessage: error.message
578
+ });
579
+ return { deleted: false };
580
+ }
581
+ throw error;
582
+ }
547
583
  };
548
584
  var recreateUserHeaders = (headers) => {
549
585
  const filteredHeaders = new Headers();
@@ -1681,7 +1717,8 @@ var WorkflowLogger = class _WorkflowLogger {
1681
1717
  }
1682
1718
  writeToConsole(logEntry) {
1683
1719
  const JSON_SPACING = 2;
1684
- console.log(JSON.stringify(logEntry, void 0, JSON_SPACING));
1720
+ const logMethod = logEntry.logLevel === "ERROR" ? console.error : logEntry.logLevel === "WARN" ? console.warn : console.log;
1721
+ logMethod(JSON.stringify(logEntry, void 0, JSON_SPACING));
1685
1722
  }
1686
1723
  shouldLog(level) {
1687
1724
  return LOG_LEVELS.indexOf(level) >= LOG_LEVELS.indexOf(this.options.logLevel);
@@ -1725,7 +1762,7 @@ var getPayload = async (request) => {
1725
1762
  return;
1726
1763
  }
1727
1764
  };
1728
- var parsePayload = async (rawPayload, debug) => {
1765
+ var parsePayload = (rawPayload) => {
1729
1766
  const [encodedInitialPayload, ...encodedSteps] = JSON.parse(rawPayload);
1730
1767
  const rawInitialPayload = decodeBase64(encodedInitialPayload.body);
1731
1768
  const initialStep = {
@@ -1736,27 +1773,21 @@ var parsePayload = async (rawPayload, debug) => {
1736
1773
  concurrent: NO_CONCURRENCY
1737
1774
  };
1738
1775
  const stepsToDecode = encodedSteps.filter((step) => step.callType === "step");
1739
- const otherSteps = await Promise.all(
1740
- stepsToDecode.map(async (rawStep) => {
1741
- const step = JSON.parse(decodeBase64(rawStep.body));
1742
- try {
1743
- step.out = JSON.parse(step.out);
1744
- } catch {
1745
- await debug?.log("WARN", "ENDPOINT_START", {
1746
- message: "failed while parsing out field of step",
1747
- step
1748
- });
1749
- }
1750
- if (step.waitEventId) {
1751
- const newOut = {
1752
- eventData: step.out ? decodeBase64(step.out) : void 0,
1753
- timeout: step.waitTimeout ?? false
1754
- };
1755
- step.out = newOut;
1756
- }
1757
- return step;
1758
- })
1759
- );
1776
+ const otherSteps = stepsToDecode.map((rawStep) => {
1777
+ const step = JSON.parse(decodeBase64(rawStep.body));
1778
+ try {
1779
+ step.out = JSON.parse(step.out);
1780
+ } catch {
1781
+ }
1782
+ if (step.waitEventId) {
1783
+ const newOut = {
1784
+ eventData: step.out ? decodeBase64(step.out) : void 0,
1785
+ timeout: step.waitTimeout ?? false
1786
+ };
1787
+ step.out = newOut;
1788
+ }
1789
+ return step;
1790
+ });
1760
1791
  const steps = [initialStep, ...otherSteps];
1761
1792
  return {
1762
1793
  rawInitialPayload,
@@ -1828,7 +1859,7 @@ var parseRequest = async (requestPayload, isFirstInvocation, debug) => {
1828
1859
  if (!requestPayload) {
1829
1860
  throw new QStashWorkflowError("Only first call can have an empty body");
1830
1861
  }
1831
- const { rawInitialPayload, steps } = await parsePayload(requestPayload, debug);
1862
+ const { rawInitialPayload, steps } = parsePayload(requestPayload);
1832
1863
  const isLastDuplicate = await checkIfLastOneIsDuplicate(steps, debug);
1833
1864
  const deduplicatedSteps = deduplicateSteps(steps);
1834
1865
  return {
@@ -1880,7 +1911,7 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
1880
1911
  };
1881
1912
 
1882
1913
  // src/serve/authorization.ts
1883
- var import_qstash2 = require("@upstash/qstash");
1914
+ var import_qstash3 = require("@upstash/qstash");
1884
1915
  var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
1885
1916
  static disabledMessage = "disabled-qstash-worklfow-run";
1886
1917
  /**
@@ -1905,7 +1936,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
1905
1936
  */
1906
1937
  static async tryAuthentication(routeFunction, context) {
1907
1938
  const disabledContext = new _DisabledWorkflowContext({
1908
- qstashClient: new import_qstash2.Client({
1939
+ qstashClient: new import_qstash3.Client({
1909
1940
  baseUrl: "disabled-client",
1910
1941
  token: "disabled-client"
1911
1942
  }),
@@ -1932,15 +1963,15 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
1932
1963
  };
1933
1964
 
1934
1965
  // src/serve/options.ts
1935
- var import_qstash3 = require("@upstash/qstash");
1936
1966
  var import_qstash4 = require("@upstash/qstash");
1967
+ var import_qstash5 = require("@upstash/qstash");
1937
1968
  var processOptions = (options) => {
1938
1969
  const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
1939
1970
  const receiverEnvironmentVariablesSet = Boolean(
1940
1971
  environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
1941
1972
  );
1942
1973
  return {
1943
- qstashClient: new import_qstash4.Client({
1974
+ qstashClient: new import_qstash5.Client({
1944
1975
  baseUrl: environment.QSTASH_URL,
1945
1976
  token: environment.QSTASH_TOKEN
1946
1977
  }),
@@ -1961,7 +1992,7 @@ var processOptions = (options) => {
1961
1992
  throw error;
1962
1993
  }
1963
1994
  },
1964
- receiver: receiverEnvironmentVariablesSet ? new import_qstash3.Receiver({
1995
+ receiver: receiverEnvironmentVariablesSet ? new import_qstash4.Receiver({
1965
1996
  currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
1966
1997
  nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
1967
1998
  }) : void 0,
@@ -2083,7 +2114,8 @@ var serve = (routeFunction, options) => {
2083
2114
  onStep: async () => routeFunction(workflowContext),
2084
2115
  onCleanup: async () => {
2085
2116
  await triggerWorkflowDelete(workflowContext, debug);
2086
- }
2117
+ },
2118
+ debug
2087
2119
  });
2088
2120
  if (result.isErr()) {
2089
2121
  await debug?.log("ERROR", "ERROR", { error: result.error.message });
@@ -2109,7 +2141,7 @@ var serve = (routeFunction, options) => {
2109
2141
  };
2110
2142
 
2111
2143
  // src/client/index.ts
2112
- var import_qstash5 = require("@upstash/qstash");
2144
+ var import_qstash6 = require("@upstash/qstash");
2113
2145
 
2114
2146
  // platforms/solidjs.ts
2115
2147
  var serve2 = (routeFunction, options) => {
package/solidjs.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  serve
3
- } from "./chunk-EKVRVBHL.mjs";
3
+ } from "./chunk-ZPVH5ACW.mjs";
4
4
 
5
5
  // platforms/solidjs.ts
6
6
  var serve2 = (routeFunction, options) => {
package/svelte.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RequestHandler } from '@sveltejs/kit';
2
- import { R as RouteFunction, W as WorkflowServeOptions } from './types-p7sxktVE.mjs';
2
+ import { R as RouteFunction, W as WorkflowServeOptions } from './types-CI-2skYU.mjs';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  /**
package/svelte.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RequestHandler } from '@sveltejs/kit';
2
- import { R as RouteFunction, W as WorkflowServeOptions } from './types-p7sxktVE.js';
2
+ import { R as RouteFunction, W as WorkflowServeOptions } from './types-CI-2skYU.js';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  /**