@upstash/workflow 0.2.19 → 0.2.20

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  import { APIContext, APIRoute } from 'astro';
2
- import { g as WorkflowContext, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.mjs';
3
- import { s as serveManyBase } from './serve-many-CEUYWQvV.mjs';
2
+ import { g as WorkflowContext, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.mjs';
3
+ import { s as serveManyBase } from './serve-many-BNusWYgt.mjs';
4
4
  import '@upstash/qstash';
5
5
  import 'zod';
6
6
  import 'ai';
package/astro.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { APIContext, APIRoute } from 'astro';
2
- import { g as WorkflowContext, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.js';
3
- import { s as serveManyBase } from './serve-many-BObe3pdI.js';
2
+ import { g as WorkflowContext, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.js';
3
+ import { s as serveManyBase } from './serve-many-CXqQP3RI.js';
4
4
  import '@upstash/qstash';
5
5
  import 'zod';
6
6
  import 'ai';
package/astro.js CHANGED
@@ -92,7 +92,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
92
92
  var DEFAULT_CONTENT_TYPE = "application/json";
93
93
  var NO_CONCURRENCY = 1;
94
94
  var DEFAULT_RETRIES = 3;
95
- var VERSION = "v0.2.18";
95
+ var VERSION = "v0.2.20";
96
96
  var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
97
97
  var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
98
98
  var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
@@ -143,7 +143,8 @@ var WorkflowNonRetryableError = class extends WorkflowAbort {
143
143
  var formatWorkflowError = (error) => {
144
144
  return error instanceof Error ? {
145
145
  error: error.name,
146
- message: error.message
146
+ message: error.message,
147
+ stack: error.stack
147
148
  } : {
148
149
  error: "Error",
149
150
  message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
@@ -1134,9 +1135,10 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1134
1135
  retryDelay;
1135
1136
  timeout;
1136
1137
  flowControl;
1138
+ stringifyBody;
1137
1139
  stepType = "Call";
1138
1140
  allowUndefinedOut = false;
1139
- constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl) {
1141
+ constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl, stringifyBody) {
1140
1142
  super(stepName);
1141
1143
  this.url = url;
1142
1144
  this.method = method;
@@ -1146,6 +1148,7 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1146
1148
  this.retryDelay = retryDelay;
1147
1149
  this.timeout = timeout;
1148
1150
  this.flowControl = flowControl;
1151
+ this.stringifyBody = stringifyBody;
1149
1152
  }
1150
1153
  getPlanStep(concurrent, targetStep) {
1151
1154
  return {
@@ -1255,10 +1258,22 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1255
1258
  };
1256
1259
  }
1257
1260
  async submitStep({ context, headers }) {
1261
+ let callBody;
1262
+ if (this.stringifyBody) {
1263
+ callBody = JSON.stringify(this.body);
1264
+ } else {
1265
+ if (typeof this.body === "string") {
1266
+ callBody = this.body;
1267
+ } else {
1268
+ throw new WorkflowError(
1269
+ "When stringifyBody is false, body must be a string. Please check the body type of your call step."
1270
+ );
1271
+ }
1272
+ }
1258
1273
  return await context.qstashClient.batch([
1259
1274
  {
1260
1275
  headers,
1261
- body: JSON.stringify(this.body),
1276
+ body: callBody,
1262
1277
  method: this.method,
1263
1278
  url: this.url,
1264
1279
  retries: DEFAULT_RETRIES === this.retries ? void 0 : this.retries,
@@ -1393,7 +1408,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1393
1408
  workflowRunId,
1394
1409
  retries,
1395
1410
  retryDelay,
1396
- flowControl
1411
+ flowControl,
1412
+ stringifyBody = true
1397
1413
  }) {
1398
1414
  super(stepName);
1399
1415
  this.params = {
@@ -1403,7 +1419,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1403
1419
  workflowRunId: getWorkflowRunId(workflowRunId),
1404
1420
  retries,
1405
1421
  retryDelay,
1406
- flowControl
1422
+ flowControl,
1423
+ stringifyBody
1407
1424
  };
1408
1425
  const { workflowId } = workflow;
1409
1426
  if (!workflowId) {
@@ -1456,8 +1473,20 @@ var LazyInvokeStep = class extends BaseLazyStep {
1456
1473
  invokeCount
1457
1474
  });
1458
1475
  invokerHeaders["Upstash-Workflow-Runid"] = context.workflowRunId;
1476
+ let invokeBody;
1477
+ if (this.params.stringifyBody) {
1478
+ invokeBody = JSON.stringify(this.params.body);
1479
+ } else {
1480
+ if (typeof this.params.body === "string") {
1481
+ invokeBody = this.params.body;
1482
+ } else {
1483
+ throw new WorkflowError(
1484
+ "When stringifyBody is false, body must be a string. Please check the body type of your invoke step."
1485
+ );
1486
+ }
1487
+ }
1459
1488
  const request = {
1460
- body: JSON.stringify(this.params.body),
1489
+ body: invokeBody,
1461
1490
  headers: Object.fromEntries(
1462
1491
  Object.entries(invokerHeaders).map((pairs) => [pairs[0], [pairs[1]]])
1463
1492
  ),
@@ -2901,7 +2930,8 @@ var WorkflowContext = class {
2901
2930
  settings.retries || 0,
2902
2931
  settings.retryDelay,
2903
2932
  settings.timeout,
2904
- settings.flowControl ?? settings.workflow.options.flowControl
2933
+ settings.flowControl ?? settings.workflow.options.flowControl,
2934
+ settings.stringifyBody ?? true
2905
2935
  );
2906
2936
  } else {
2907
2937
  const {
@@ -2912,7 +2942,8 @@ var WorkflowContext = class {
2912
2942
  retries = 0,
2913
2943
  retryDelay,
2914
2944
  timeout,
2915
- flowControl
2945
+ flowControl,
2946
+ stringifyBody = true
2916
2947
  } = settings;
2917
2948
  callStep = new LazyCallStep(
2918
2949
  stepName,
@@ -2923,7 +2954,8 @@ var WorkflowContext = class {
2923
2954
  retries,
2924
2955
  retryDelay,
2925
2956
  timeout,
2926
- flowControl
2957
+ flowControl,
2958
+ stringifyBody
2927
2959
  );
2928
2960
  }
2929
2961
  return await this.addStep(callStep);
@@ -3287,11 +3319,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3287
3319
  const { status, header, body, url, sourceBody, workflowRunId } = JSON.parse(requestPayload);
3288
3320
  const decodedBody = body ? decodeBase64(body) : "{}";
3289
3321
  let errorMessage = "";
3322
+ let failStack = "";
3290
3323
  try {
3291
3324
  const errorPayload = JSON.parse(decodedBody);
3292
3325
  if (errorPayload.message) {
3293
3326
  errorMessage = errorPayload.message;
3294
3327
  }
3328
+ if (errorPayload.stack) {
3329
+ failStack = errorPayload.stack;
3330
+ }
3295
3331
  } catch {
3296
3332
  }
3297
3333
  if (!errorMessage) {
@@ -3329,7 +3365,8 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3329
3365
  context: workflowContext,
3330
3366
  failStatus: status,
3331
3367
  failResponse: errorMessage,
3332
- failHeaders: header
3368
+ failHeaders: header,
3369
+ failStack
3333
3370
  });
3334
3371
  return ok({ result: "is-failure-callback", response: failureResponse });
3335
3372
  } catch (error) {
package/astro.mjs CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  SDK_TELEMETRY,
3
3
  serveBase,
4
4
  serveManyBase
5
- } from "./chunk-37XOXDLZ.mjs";
5
+ } from "./chunk-LZGX3WMF.mjs";
6
6
 
7
7
  // platforms/astro.ts
8
8
  var telemetry = {
@@ -43,7 +43,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
43
43
  var DEFAULT_CONTENT_TYPE = "application/json";
44
44
  var NO_CONCURRENCY = 1;
45
45
  var DEFAULT_RETRIES = 3;
46
- var VERSION = "v0.2.18";
46
+ var VERSION = "v0.2.20";
47
47
  var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
48
48
  var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
49
49
  var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
@@ -94,7 +94,8 @@ var WorkflowNonRetryableError = class extends WorkflowAbort {
94
94
  var formatWorkflowError = (error) => {
95
95
  return error instanceof Error ? {
96
96
  error: error.name,
97
- message: error.message
97
+ message: error.message,
98
+ stack: error.stack
98
99
  } : {
99
100
  error: "Error",
100
101
  message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
@@ -1351,9 +1352,10 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1351
1352
  retryDelay;
1352
1353
  timeout;
1353
1354
  flowControl;
1355
+ stringifyBody;
1354
1356
  stepType = "Call";
1355
1357
  allowUndefinedOut = false;
1356
- constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl) {
1358
+ constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl, stringifyBody) {
1357
1359
  super(stepName);
1358
1360
  this.url = url;
1359
1361
  this.method = method;
@@ -1363,6 +1365,7 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1363
1365
  this.retryDelay = retryDelay;
1364
1366
  this.timeout = timeout;
1365
1367
  this.flowControl = flowControl;
1368
+ this.stringifyBody = stringifyBody;
1366
1369
  }
1367
1370
  getPlanStep(concurrent, targetStep) {
1368
1371
  return {
@@ -1472,10 +1475,22 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1472
1475
  };
1473
1476
  }
1474
1477
  async submitStep({ context, headers }) {
1478
+ let callBody;
1479
+ if (this.stringifyBody) {
1480
+ callBody = JSON.stringify(this.body);
1481
+ } else {
1482
+ if (typeof this.body === "string") {
1483
+ callBody = this.body;
1484
+ } else {
1485
+ throw new WorkflowError(
1486
+ "When stringifyBody is false, body must be a string. Please check the body type of your call step."
1487
+ );
1488
+ }
1489
+ }
1475
1490
  return await context.qstashClient.batch([
1476
1491
  {
1477
1492
  headers,
1478
- body: JSON.stringify(this.body),
1493
+ body: callBody,
1479
1494
  method: this.method,
1480
1495
  url: this.url,
1481
1496
  retries: DEFAULT_RETRIES === this.retries ? void 0 : this.retries,
@@ -1610,7 +1625,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1610
1625
  workflowRunId,
1611
1626
  retries,
1612
1627
  retryDelay,
1613
- flowControl
1628
+ flowControl,
1629
+ stringifyBody = true
1614
1630
  }) {
1615
1631
  super(stepName);
1616
1632
  this.params = {
@@ -1620,7 +1636,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1620
1636
  workflowRunId: getWorkflowRunId(workflowRunId),
1621
1637
  retries,
1622
1638
  retryDelay,
1623
- flowControl
1639
+ flowControl,
1640
+ stringifyBody
1624
1641
  };
1625
1642
  const { workflowId } = workflow;
1626
1643
  if (!workflowId) {
@@ -1673,8 +1690,20 @@ var LazyInvokeStep = class extends BaseLazyStep {
1673
1690
  invokeCount
1674
1691
  });
1675
1692
  invokerHeaders["Upstash-Workflow-Runid"] = context.workflowRunId;
1693
+ let invokeBody;
1694
+ if (this.params.stringifyBody) {
1695
+ invokeBody = JSON.stringify(this.params.body);
1696
+ } else {
1697
+ if (typeof this.params.body === "string") {
1698
+ invokeBody = this.params.body;
1699
+ } else {
1700
+ throw new WorkflowError(
1701
+ "When stringifyBody is false, body must be a string. Please check the body type of your invoke step."
1702
+ );
1703
+ }
1704
+ }
1676
1705
  const request = {
1677
- body: JSON.stringify(this.params.body),
1706
+ body: invokeBody,
1678
1707
  headers: Object.fromEntries(
1679
1708
  Object.entries(invokerHeaders).map((pairs) => [pairs[0], [pairs[1]]])
1680
1709
  ),
@@ -2945,7 +2974,8 @@ var WorkflowContext = class {
2945
2974
  settings.retries || 0,
2946
2975
  settings.retryDelay,
2947
2976
  settings.timeout,
2948
- settings.flowControl ?? settings.workflow.options.flowControl
2977
+ settings.flowControl ?? settings.workflow.options.flowControl,
2978
+ settings.stringifyBody ?? true
2949
2979
  );
2950
2980
  } else {
2951
2981
  const {
@@ -2956,7 +2986,8 @@ var WorkflowContext = class {
2956
2986
  retries = 0,
2957
2987
  retryDelay,
2958
2988
  timeout,
2959
- flowControl
2989
+ flowControl,
2990
+ stringifyBody = true
2960
2991
  } = settings;
2961
2992
  callStep = new LazyCallStep(
2962
2993
  stepName,
@@ -2967,7 +2998,8 @@ var WorkflowContext = class {
2967
2998
  retries,
2968
2999
  retryDelay,
2969
3000
  timeout,
2970
- flowControl
3001
+ flowControl,
3002
+ stringifyBody
2971
3003
  );
2972
3004
  }
2973
3005
  return await this.addStep(callStep);
@@ -3331,11 +3363,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3331
3363
  const { status, header, body, url, sourceBody, workflowRunId } = JSON.parse(requestPayload);
3332
3364
  const decodedBody = body ? decodeBase64(body) : "{}";
3333
3365
  let errorMessage = "";
3366
+ let failStack = "";
3334
3367
  try {
3335
3368
  const errorPayload = JSON.parse(decodedBody);
3336
3369
  if (errorPayload.message) {
3337
3370
  errorMessage = errorPayload.message;
3338
3371
  }
3372
+ if (errorPayload.stack) {
3373
+ failStack = errorPayload.stack;
3374
+ }
3339
3375
  } catch {
3340
3376
  }
3341
3377
  if (!errorMessage) {
@@ -3373,7 +3409,8 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3373
3409
  context: workflowContext,
3374
3410
  failStatus: status,
3375
3411
  failResponse: errorMessage,
3376
- failHeaders: header
3412
+ failHeaders: header,
3413
+ failStack
3377
3414
  });
3378
3415
  return ok({ result: "is-failure-callback", response: failureResponse });
3379
3416
  } catch (error) {
package/cloudflare.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.mjs';
2
- import { s as serveManyBase } from './serve-many-CEUYWQvV.mjs';
1
+ import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.mjs';
2
+ import { s as serveManyBase } from './serve-many-BNusWYgt.mjs';
3
3
  import '@upstash/qstash';
4
4
  import 'zod';
5
5
  import 'ai';
package/cloudflare.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.js';
2
- import { s as serveManyBase } from './serve-many-BObe3pdI.js';
1
+ import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.js';
2
+ import { s as serveManyBase } from './serve-many-CXqQP3RI.js';
3
3
  import '@upstash/qstash';
4
4
  import 'zod';
5
5
  import 'ai';
package/cloudflare.js CHANGED
@@ -39,7 +39,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
39
39
  var DEFAULT_CONTENT_TYPE = "application/json";
40
40
  var NO_CONCURRENCY = 1;
41
41
  var DEFAULT_RETRIES = 3;
42
- var VERSION = "v0.2.18";
42
+ var VERSION = "v0.2.20";
43
43
  var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
44
44
  var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
45
45
  var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
@@ -143,7 +143,8 @@ var WorkflowNonRetryableError = class extends WorkflowAbort {
143
143
  var formatWorkflowError = (error) => {
144
144
  return error instanceof Error ? {
145
145
  error: error.name,
146
- message: error.message
146
+ message: error.message,
147
+ stack: error.stack
147
148
  } : {
148
149
  error: "Error",
149
150
  message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
@@ -1134,9 +1135,10 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1134
1135
  retryDelay;
1135
1136
  timeout;
1136
1137
  flowControl;
1138
+ stringifyBody;
1137
1139
  stepType = "Call";
1138
1140
  allowUndefinedOut = false;
1139
- constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl) {
1141
+ constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl, stringifyBody) {
1140
1142
  super(stepName);
1141
1143
  this.url = url;
1142
1144
  this.method = method;
@@ -1146,6 +1148,7 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1146
1148
  this.retryDelay = retryDelay;
1147
1149
  this.timeout = timeout;
1148
1150
  this.flowControl = flowControl;
1151
+ this.stringifyBody = stringifyBody;
1149
1152
  }
1150
1153
  getPlanStep(concurrent, targetStep) {
1151
1154
  return {
@@ -1255,10 +1258,22 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1255
1258
  };
1256
1259
  }
1257
1260
  async submitStep({ context, headers }) {
1261
+ let callBody;
1262
+ if (this.stringifyBody) {
1263
+ callBody = JSON.stringify(this.body);
1264
+ } else {
1265
+ if (typeof this.body === "string") {
1266
+ callBody = this.body;
1267
+ } else {
1268
+ throw new WorkflowError(
1269
+ "When stringifyBody is false, body must be a string. Please check the body type of your call step."
1270
+ );
1271
+ }
1272
+ }
1258
1273
  return await context.qstashClient.batch([
1259
1274
  {
1260
1275
  headers,
1261
- body: JSON.stringify(this.body),
1276
+ body: callBody,
1262
1277
  method: this.method,
1263
1278
  url: this.url,
1264
1279
  retries: DEFAULT_RETRIES === this.retries ? void 0 : this.retries,
@@ -1393,7 +1408,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1393
1408
  workflowRunId,
1394
1409
  retries,
1395
1410
  retryDelay,
1396
- flowControl
1411
+ flowControl,
1412
+ stringifyBody = true
1397
1413
  }) {
1398
1414
  super(stepName);
1399
1415
  this.params = {
@@ -1403,7 +1419,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1403
1419
  workflowRunId: getWorkflowRunId(workflowRunId),
1404
1420
  retries,
1405
1421
  retryDelay,
1406
- flowControl
1422
+ flowControl,
1423
+ stringifyBody
1407
1424
  };
1408
1425
  const { workflowId } = workflow;
1409
1426
  if (!workflowId) {
@@ -1456,8 +1473,20 @@ var LazyInvokeStep = class extends BaseLazyStep {
1456
1473
  invokeCount
1457
1474
  });
1458
1475
  invokerHeaders["Upstash-Workflow-Runid"] = context.workflowRunId;
1476
+ let invokeBody;
1477
+ if (this.params.stringifyBody) {
1478
+ invokeBody = JSON.stringify(this.params.body);
1479
+ } else {
1480
+ if (typeof this.params.body === "string") {
1481
+ invokeBody = this.params.body;
1482
+ } else {
1483
+ throw new WorkflowError(
1484
+ "When stringifyBody is false, body must be a string. Please check the body type of your invoke step."
1485
+ );
1486
+ }
1487
+ }
1459
1488
  const request = {
1460
- body: JSON.stringify(this.params.body),
1489
+ body: invokeBody,
1461
1490
  headers: Object.fromEntries(
1462
1491
  Object.entries(invokerHeaders).map((pairs) => [pairs[0], [pairs[1]]])
1463
1492
  ),
@@ -2901,7 +2930,8 @@ var WorkflowContext = class {
2901
2930
  settings.retries || 0,
2902
2931
  settings.retryDelay,
2903
2932
  settings.timeout,
2904
- settings.flowControl ?? settings.workflow.options.flowControl
2933
+ settings.flowControl ?? settings.workflow.options.flowControl,
2934
+ settings.stringifyBody ?? true
2905
2935
  );
2906
2936
  } else {
2907
2937
  const {
@@ -2912,7 +2942,8 @@ var WorkflowContext = class {
2912
2942
  retries = 0,
2913
2943
  retryDelay,
2914
2944
  timeout,
2915
- flowControl
2945
+ flowControl,
2946
+ stringifyBody = true
2916
2947
  } = settings;
2917
2948
  callStep = new LazyCallStep(
2918
2949
  stepName,
@@ -2923,7 +2954,8 @@ var WorkflowContext = class {
2923
2954
  retries,
2924
2955
  retryDelay,
2925
2956
  timeout,
2926
- flowControl
2957
+ flowControl,
2958
+ stringifyBody
2927
2959
  );
2928
2960
  }
2929
2961
  return await this.addStep(callStep);
@@ -3287,11 +3319,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3287
3319
  const { status, header, body, url, sourceBody, workflowRunId } = JSON.parse(requestPayload);
3288
3320
  const decodedBody = body ? decodeBase64(body) : "{}";
3289
3321
  let errorMessage = "";
3322
+ let failStack = "";
3290
3323
  try {
3291
3324
  const errorPayload = JSON.parse(decodedBody);
3292
3325
  if (errorPayload.message) {
3293
3326
  errorMessage = errorPayload.message;
3294
3327
  }
3328
+ if (errorPayload.stack) {
3329
+ failStack = errorPayload.stack;
3330
+ }
3295
3331
  } catch {
3296
3332
  }
3297
3333
  if (!errorMessage) {
@@ -3329,7 +3365,8 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3329
3365
  context: workflowContext,
3330
3366
  failStatus: status,
3331
3367
  failResponse: errorMessage,
3332
- failHeaders: header
3368
+ failHeaders: header,
3369
+ failStack
3333
3370
  });
3334
3371
  return ok({ result: "is-failure-callback", response: failureResponse });
3335
3372
  } catch (error) {
package/cloudflare.mjs CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  SDK_TELEMETRY,
3
3
  serveBase,
4
4
  serveManyBase
5
- } from "./chunk-37XOXDLZ.mjs";
5
+ } from "./chunk-LZGX3WMF.mjs";
6
6
 
7
7
  // platforms/cloudflare.ts
8
8
  var getArgs = (args) => {
package/express.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as express_serve_static_core from 'express-serve-static-core';
2
- import { R as RouteFunction, W as WorkflowServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.mjs';
2
+ import { R as RouteFunction, W as WorkflowServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.mjs';
3
3
  import { Router } from 'express';
4
- import { s as serveManyBase } from './serve-many-CEUYWQvV.mjs';
4
+ import { s as serveManyBase } from './serve-many-BNusWYgt.mjs';
5
5
  import '@upstash/qstash';
6
6
  import 'zod';
7
7
  import 'ai';
package/express.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as express_serve_static_core from 'express-serve-static-core';
2
- import { R as RouteFunction, W as WorkflowServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.js';
2
+ import { R as RouteFunction, W as WorkflowServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.js';
3
3
  import { Router } from 'express';
4
- import { s as serveManyBase } from './serve-many-BObe3pdI.js';
4
+ import { s as serveManyBase } from './serve-many-CXqQP3RI.js';
5
5
  import '@upstash/qstash';
6
6
  import 'zod';
7
7
  import 'ai';