@upstash/workflow 0.2.19 → 0.2.21

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/h3.js CHANGED
@@ -404,7 +404,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
404
404
  var DEFAULT_CONTENT_TYPE = "application/json";
405
405
  var NO_CONCURRENCY = 1;
406
406
  var DEFAULT_RETRIES = 3;
407
- var VERSION = "v0.2.18";
407
+ var VERSION = "v0.2.21";
408
408
  var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
409
409
  var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
410
410
  var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
@@ -455,7 +455,8 @@ var WorkflowNonRetryableError = class extends WorkflowAbort {
455
455
  var formatWorkflowError = (error) => {
456
456
  return error instanceof Error ? {
457
457
  error: error.name,
458
- message: error.message
458
+ message: error.message,
459
+ stack: error.stack
459
460
  } : {
460
461
  error: "Error",
461
462
  message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
@@ -926,7 +927,15 @@ var triggerFirstInvocation = async (params) => {
926
927
  const firstInvocationParams = Array.isArray(params) ? params : [params];
927
928
  const workflowContextClient = firstInvocationParams[0].workflowContext.qstashClient;
928
929
  const invocationBatch = firstInvocationParams.map(
929
- ({ workflowContext, useJSONContent, telemetry: telemetry2, invokeCount, delay, notBefore }) => {
930
+ ({
931
+ workflowContext,
932
+ useJSONContent,
933
+ telemetry: telemetry2,
934
+ invokeCount,
935
+ delay,
936
+ notBefore,
937
+ keepTriggerConfig
938
+ }) => {
930
939
  const { headers } = getHeaders({
931
940
  initHeaderValue: "true",
932
941
  workflowConfig: {
@@ -940,7 +949,8 @@ var triggerFirstInvocation = async (params) => {
940
949
  useJSONContent: useJSONContent ?? false
941
950
  },
942
951
  invokeCount: invokeCount ?? 0,
943
- userHeaders: workflowContext.headers
952
+ userHeaders: workflowContext.headers,
953
+ keepTriggerConfig
944
954
  });
945
955
  if (workflowContext.headers.get("content-type")) {
946
956
  headers["content-type"] = workflowContext.headers.get("content-type");
@@ -1446,9 +1456,10 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1446
1456
  retryDelay;
1447
1457
  timeout;
1448
1458
  flowControl;
1459
+ stringifyBody;
1449
1460
  stepType = "Call";
1450
1461
  allowUndefinedOut = false;
1451
- constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl) {
1462
+ constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl, stringifyBody) {
1452
1463
  super(stepName);
1453
1464
  this.url = url;
1454
1465
  this.method = method;
@@ -1458,6 +1469,7 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1458
1469
  this.retryDelay = retryDelay;
1459
1470
  this.timeout = timeout;
1460
1471
  this.flowControl = flowControl;
1472
+ this.stringifyBody = stringifyBody;
1461
1473
  }
1462
1474
  getPlanStep(concurrent, targetStep) {
1463
1475
  return {
@@ -1567,10 +1579,22 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1567
1579
  };
1568
1580
  }
1569
1581
  async submitStep({ context, headers }) {
1582
+ let callBody;
1583
+ if (this.stringifyBody) {
1584
+ callBody = JSON.stringify(this.body);
1585
+ } else {
1586
+ if (typeof this.body === "string") {
1587
+ callBody = this.body;
1588
+ } else {
1589
+ throw new WorkflowError(
1590
+ "When stringifyBody is false, body must be a string. Please check the body type of your call step."
1591
+ );
1592
+ }
1593
+ }
1570
1594
  return await context.qstashClient.batch([
1571
1595
  {
1572
1596
  headers,
1573
- body: JSON.stringify(this.body),
1597
+ body: callBody,
1574
1598
  method: this.method,
1575
1599
  url: this.url,
1576
1600
  retries: DEFAULT_RETRIES === this.retries ? void 0 : this.retries,
@@ -1705,7 +1729,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1705
1729
  workflowRunId,
1706
1730
  retries,
1707
1731
  retryDelay,
1708
- flowControl
1732
+ flowControl,
1733
+ stringifyBody = true
1709
1734
  }) {
1710
1735
  super(stepName);
1711
1736
  this.params = {
@@ -1715,7 +1740,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1715
1740
  workflowRunId: getWorkflowRunId(workflowRunId),
1716
1741
  retries,
1717
1742
  retryDelay,
1718
- flowControl
1743
+ flowControl,
1744
+ stringifyBody
1719
1745
  };
1720
1746
  const { workflowId } = workflow;
1721
1747
  if (!workflowId) {
@@ -1768,8 +1794,20 @@ var LazyInvokeStep = class extends BaseLazyStep {
1768
1794
  invokeCount
1769
1795
  });
1770
1796
  invokerHeaders["Upstash-Workflow-Runid"] = context.workflowRunId;
1797
+ let invokeBody;
1798
+ if (this.params.stringifyBody) {
1799
+ invokeBody = JSON.stringify(this.params.body);
1800
+ } else {
1801
+ if (typeof this.params.body === "string") {
1802
+ invokeBody = this.params.body;
1803
+ } else {
1804
+ throw new WorkflowError(
1805
+ "When stringifyBody is false, body must be a string. Please check the body type of your invoke step."
1806
+ );
1807
+ }
1808
+ }
1771
1809
  const request = {
1772
- body: JSON.stringify(this.params.body),
1810
+ body: invokeBody,
1773
1811
  headers: Object.fromEntries(
1774
1812
  Object.entries(invokerHeaders).map((pairs) => [pairs[0], [pairs[1]]])
1775
1813
  ),
@@ -1849,12 +1887,14 @@ var WorkflowHeaders = class {
1849
1887
  initHeaderValue;
1850
1888
  stepInfo;
1851
1889
  headers;
1890
+ keepTriggerConfig;
1852
1891
  constructor({
1853
1892
  userHeaders,
1854
1893
  workflowConfig,
1855
1894
  invokeCount,
1856
1895
  initHeaderValue,
1857
- stepInfo
1896
+ stepInfo,
1897
+ keepTriggerConfig
1858
1898
  }) {
1859
1899
  this.userHeaders = userHeaders;
1860
1900
  this.workflowConfig = workflowConfig;
@@ -1866,6 +1906,7 @@ var WorkflowHeaders = class {
1866
1906
  workflowHeaders: {},
1867
1907
  failureHeaders: {}
1868
1908
  };
1909
+ this.keepTriggerConfig = keepTriggerConfig;
1869
1910
  }
1870
1911
  getHeaders() {
1871
1912
  this.addBaseHeaders();
@@ -1884,7 +1925,7 @@ var WorkflowHeaders = class {
1884
1925
  [WORKFLOW_INIT_HEADER]: this.initHeaderValue,
1885
1926
  [WORKFLOW_ID_HEADER]: this.workflowConfig.workflowRunId,
1886
1927
  [WORKFLOW_URL_HEADER]: this.workflowConfig.workflowUrl,
1887
- [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody,WF_DetectTrigger",
1928
+ [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody,WF_DetectTrigger" + (this.keepTriggerConfig ? ",WF_TriggerOnConfig" : ""),
1888
1929
  [WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION,
1889
1930
  ...this.workflowConfig.telemetry ? getTelemetryHeaders(this.workflowConfig.telemetry) : {},
1890
1931
  ...this.workflowConfig.telemetry && this.stepInfo?.lazyStep instanceof LazyCallStep && this.stepInfo.lazyStep.headers[AGENT_NAME_HEADER] ? { [TELEMETRY_HEADER_AGENT]: "true" } : {}
@@ -3213,7 +3254,8 @@ var WorkflowContext = class {
3213
3254
  settings.retries || 0,
3214
3255
  settings.retryDelay,
3215
3256
  settings.timeout,
3216
- settings.flowControl ?? settings.workflow.options.flowControl
3257
+ settings.flowControl ?? settings.workflow.options.flowControl,
3258
+ settings.stringifyBody ?? true
3217
3259
  );
3218
3260
  } else {
3219
3261
  const {
@@ -3224,7 +3266,8 @@ var WorkflowContext = class {
3224
3266
  retries = 0,
3225
3267
  retryDelay,
3226
3268
  timeout,
3227
- flowControl
3269
+ flowControl,
3270
+ stringifyBody = true
3228
3271
  } = settings;
3229
3272
  callStep = new LazyCallStep(
3230
3273
  stepName,
@@ -3235,7 +3278,8 @@ var WorkflowContext = class {
3235
3278
  retries,
3236
3279
  retryDelay,
3237
3280
  timeout,
3238
- flowControl
3281
+ flowControl,
3282
+ stringifyBody
3239
3283
  );
3240
3284
  }
3241
3285
  return await this.addStep(callStep);
@@ -3599,11 +3643,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3599
3643
  const { status, header, body, url, sourceBody, workflowRunId } = JSON.parse(requestPayload);
3600
3644
  const decodedBody = body ? decodeBase64(body) : "{}";
3601
3645
  let errorMessage = "";
3646
+ let failStack = "";
3602
3647
  try {
3603
3648
  const errorPayload = JSON.parse(decodedBody);
3604
3649
  if (errorPayload.message) {
3605
3650
  errorMessage = errorPayload.message;
3606
3651
  }
3652
+ if (errorPayload.stack) {
3653
+ failStack = errorPayload.stack;
3654
+ }
3607
3655
  } catch {
3608
3656
  }
3609
3657
  if (!errorMessage) {
@@ -3641,7 +3689,8 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3641
3689
  context: workflowContext,
3642
3690
  failStatus: status,
3643
3691
  failResponse: errorMessage,
3644
- failHeaders: header
3692
+ failHeaders: header,
3693
+ failStack
3645
3694
  });
3646
3695
  return ok({ result: "is-failure-callback", response: failureResponse });
3647
3696
  } catch (error) {
package/h3.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-NQDNC5P4.mjs";
6
6
 
7
7
  // node_modules/defu/dist/defu.mjs
8
8
  function isPlainObject(value) {
package/hono.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Context } from 'hono';
2
- import { R as RouteFunction, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.mjs';
2
+ import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.mjs';
3
3
  import { Variables } from 'hono/types';
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/hono.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Context } from 'hono';
2
- import { R as RouteFunction, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.js';
2
+ import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.js';
3
3
  import { Variables } from 'hono/types';
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';
package/hono.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.21";
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)}'`
@@ -614,7 +615,15 @@ var triggerFirstInvocation = async (params) => {
614
615
  const firstInvocationParams = Array.isArray(params) ? params : [params];
615
616
  const workflowContextClient = firstInvocationParams[0].workflowContext.qstashClient;
616
617
  const invocationBatch = firstInvocationParams.map(
617
- ({ workflowContext, useJSONContent, telemetry: telemetry2, invokeCount, delay, notBefore }) => {
618
+ ({
619
+ workflowContext,
620
+ useJSONContent,
621
+ telemetry: telemetry2,
622
+ invokeCount,
623
+ delay,
624
+ notBefore,
625
+ keepTriggerConfig
626
+ }) => {
618
627
  const { headers } = getHeaders({
619
628
  initHeaderValue: "true",
620
629
  workflowConfig: {
@@ -628,7 +637,8 @@ var triggerFirstInvocation = async (params) => {
628
637
  useJSONContent: useJSONContent ?? false
629
638
  },
630
639
  invokeCount: invokeCount ?? 0,
631
- userHeaders: workflowContext.headers
640
+ userHeaders: workflowContext.headers,
641
+ keepTriggerConfig
632
642
  });
633
643
  if (workflowContext.headers.get("content-type")) {
634
644
  headers["content-type"] = workflowContext.headers.get("content-type");
@@ -1134,9 +1144,10 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1134
1144
  retryDelay;
1135
1145
  timeout;
1136
1146
  flowControl;
1147
+ stringifyBody;
1137
1148
  stepType = "Call";
1138
1149
  allowUndefinedOut = false;
1139
- constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl) {
1150
+ constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl, stringifyBody) {
1140
1151
  super(stepName);
1141
1152
  this.url = url;
1142
1153
  this.method = method;
@@ -1146,6 +1157,7 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1146
1157
  this.retryDelay = retryDelay;
1147
1158
  this.timeout = timeout;
1148
1159
  this.flowControl = flowControl;
1160
+ this.stringifyBody = stringifyBody;
1149
1161
  }
1150
1162
  getPlanStep(concurrent, targetStep) {
1151
1163
  return {
@@ -1255,10 +1267,22 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1255
1267
  };
1256
1268
  }
1257
1269
  async submitStep({ context, headers }) {
1270
+ let callBody;
1271
+ if (this.stringifyBody) {
1272
+ callBody = JSON.stringify(this.body);
1273
+ } else {
1274
+ if (typeof this.body === "string") {
1275
+ callBody = this.body;
1276
+ } else {
1277
+ throw new WorkflowError(
1278
+ "When stringifyBody is false, body must be a string. Please check the body type of your call step."
1279
+ );
1280
+ }
1281
+ }
1258
1282
  return await context.qstashClient.batch([
1259
1283
  {
1260
1284
  headers,
1261
- body: JSON.stringify(this.body),
1285
+ body: callBody,
1262
1286
  method: this.method,
1263
1287
  url: this.url,
1264
1288
  retries: DEFAULT_RETRIES === this.retries ? void 0 : this.retries,
@@ -1393,7 +1417,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1393
1417
  workflowRunId,
1394
1418
  retries,
1395
1419
  retryDelay,
1396
- flowControl
1420
+ flowControl,
1421
+ stringifyBody = true
1397
1422
  }) {
1398
1423
  super(stepName);
1399
1424
  this.params = {
@@ -1403,7 +1428,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1403
1428
  workflowRunId: getWorkflowRunId(workflowRunId),
1404
1429
  retries,
1405
1430
  retryDelay,
1406
- flowControl
1431
+ flowControl,
1432
+ stringifyBody
1407
1433
  };
1408
1434
  const { workflowId } = workflow;
1409
1435
  if (!workflowId) {
@@ -1456,8 +1482,20 @@ var LazyInvokeStep = class extends BaseLazyStep {
1456
1482
  invokeCount
1457
1483
  });
1458
1484
  invokerHeaders["Upstash-Workflow-Runid"] = context.workflowRunId;
1485
+ let invokeBody;
1486
+ if (this.params.stringifyBody) {
1487
+ invokeBody = JSON.stringify(this.params.body);
1488
+ } else {
1489
+ if (typeof this.params.body === "string") {
1490
+ invokeBody = this.params.body;
1491
+ } else {
1492
+ throw new WorkflowError(
1493
+ "When stringifyBody is false, body must be a string. Please check the body type of your invoke step."
1494
+ );
1495
+ }
1496
+ }
1459
1497
  const request = {
1460
- body: JSON.stringify(this.params.body),
1498
+ body: invokeBody,
1461
1499
  headers: Object.fromEntries(
1462
1500
  Object.entries(invokerHeaders).map((pairs) => [pairs[0], [pairs[1]]])
1463
1501
  ),
@@ -1537,12 +1575,14 @@ var WorkflowHeaders = class {
1537
1575
  initHeaderValue;
1538
1576
  stepInfo;
1539
1577
  headers;
1578
+ keepTriggerConfig;
1540
1579
  constructor({
1541
1580
  userHeaders,
1542
1581
  workflowConfig,
1543
1582
  invokeCount,
1544
1583
  initHeaderValue,
1545
- stepInfo
1584
+ stepInfo,
1585
+ keepTriggerConfig
1546
1586
  }) {
1547
1587
  this.userHeaders = userHeaders;
1548
1588
  this.workflowConfig = workflowConfig;
@@ -1554,6 +1594,7 @@ var WorkflowHeaders = class {
1554
1594
  workflowHeaders: {},
1555
1595
  failureHeaders: {}
1556
1596
  };
1597
+ this.keepTriggerConfig = keepTriggerConfig;
1557
1598
  }
1558
1599
  getHeaders() {
1559
1600
  this.addBaseHeaders();
@@ -1572,7 +1613,7 @@ var WorkflowHeaders = class {
1572
1613
  [WORKFLOW_INIT_HEADER]: this.initHeaderValue,
1573
1614
  [WORKFLOW_ID_HEADER]: this.workflowConfig.workflowRunId,
1574
1615
  [WORKFLOW_URL_HEADER]: this.workflowConfig.workflowUrl,
1575
- [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody,WF_DetectTrigger",
1616
+ [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody,WF_DetectTrigger" + (this.keepTriggerConfig ? ",WF_TriggerOnConfig" : ""),
1576
1617
  [WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION,
1577
1618
  ...this.workflowConfig.telemetry ? getTelemetryHeaders(this.workflowConfig.telemetry) : {},
1578
1619
  ...this.workflowConfig.telemetry && this.stepInfo?.lazyStep instanceof LazyCallStep && this.stepInfo.lazyStep.headers[AGENT_NAME_HEADER] ? { [TELEMETRY_HEADER_AGENT]: "true" } : {}
@@ -2901,7 +2942,8 @@ var WorkflowContext = class {
2901
2942
  settings.retries || 0,
2902
2943
  settings.retryDelay,
2903
2944
  settings.timeout,
2904
- settings.flowControl ?? settings.workflow.options.flowControl
2945
+ settings.flowControl ?? settings.workflow.options.flowControl,
2946
+ settings.stringifyBody ?? true
2905
2947
  );
2906
2948
  } else {
2907
2949
  const {
@@ -2912,7 +2954,8 @@ var WorkflowContext = class {
2912
2954
  retries = 0,
2913
2955
  retryDelay,
2914
2956
  timeout,
2915
- flowControl
2957
+ flowControl,
2958
+ stringifyBody = true
2916
2959
  } = settings;
2917
2960
  callStep = new LazyCallStep(
2918
2961
  stepName,
@@ -2923,7 +2966,8 @@ var WorkflowContext = class {
2923
2966
  retries,
2924
2967
  retryDelay,
2925
2968
  timeout,
2926
- flowControl
2969
+ flowControl,
2970
+ stringifyBody
2927
2971
  );
2928
2972
  }
2929
2973
  return await this.addStep(callStep);
@@ -3287,11 +3331,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3287
3331
  const { status, header, body, url, sourceBody, workflowRunId } = JSON.parse(requestPayload);
3288
3332
  const decodedBody = body ? decodeBase64(body) : "{}";
3289
3333
  let errorMessage = "";
3334
+ let failStack = "";
3290
3335
  try {
3291
3336
  const errorPayload = JSON.parse(decodedBody);
3292
3337
  if (errorPayload.message) {
3293
3338
  errorMessage = errorPayload.message;
3294
3339
  }
3340
+ if (errorPayload.stack) {
3341
+ failStack = errorPayload.stack;
3342
+ }
3295
3343
  } catch {
3296
3344
  }
3297
3345
  if (!errorMessage) {
@@ -3329,7 +3377,8 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3329
3377
  context: workflowContext,
3330
3378
  failStatus: status,
3331
3379
  failResponse: errorMessage,
3332
- failHeaders: header
3380
+ failHeaders: header,
3381
+ failStack
3333
3382
  });
3334
3383
  return ok({ result: "is-failure-callback", response: failureResponse });
3335
3384
  } catch (error) {
package/hono.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-NQDNC5P4.mjs";
6
6
 
7
7
  // platforms/hono.ts
8
8
  var telemetry = {
package/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-B7_5AkKQ.mjs';
2
- export { A as AsyncStepFunction, C as CallResponse, v as CallSettings, D as DetailedFinishCondition, t as Duration, o as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, x as InvokableWorkflow, w as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, y as LogLevel, s as NotifyStepResponse, P as ParallelCallState, n as PublicServeOptions, p as RequiredExceptFields, k as Step, m as StepFunction, j as StepTypes, l as SyncStepFunction, u as WaitEventOptions, q as WaitRequest, r as WaitStepResponse, d as WorkflowAbort, h as WorkflowClient, g as WorkflowContext, c as WorkflowError, B as WorkflowLogger, z as WorkflowLoggerOptions, e as WorkflowNonRetryableError, i as WorkflowReceiver, f as WorkflowTool } from './types-B7_5AkKQ.mjs';
1
+ import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-Q3dM0UlR.mjs';
2
+ export { A as AsyncStepFunction, C as CallResponse, w as CallSettings, D as DetailedFinishCondition, t as Duration, o as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, y as InvokableWorkflow, x as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, z as LogLevel, s as NotifyStepResponse, P as ParallelCallState, n as PublicServeOptions, p as RequiredExceptFields, k as Step, m as StepFunction, j as StepTypes, v as StringifyBody, l as SyncStepFunction, u as WaitEventOptions, q as WaitRequest, r as WaitStepResponse, d as WorkflowAbort, h as WorkflowClient, g as WorkflowContext, c as WorkflowError, G as WorkflowLogger, B as WorkflowLoggerOptions, e as WorkflowNonRetryableError, i as WorkflowReceiver, f as WorkflowTool } from './types-Q3dM0UlR.mjs';
3
3
  import { FlowControl, PublishRequest, HTTPMethods, State, Client as Client$1 } from '@upstash/qstash';
4
4
  import 'zod';
5
5
  import 'ai';
@@ -432,6 +432,13 @@ type TriggerOptions = {
432
432
  * Can be used to filter the workflow run logs.
433
433
  */
434
434
  label?: string;
435
+ /**
436
+ * Whether to apply the configuration (flow control,
437
+ * retries, failure url, retry delay) passed in trigger
438
+ *
439
+ * @default false
440
+ */
441
+ keepTriggerConfig?: boolean;
435
442
  } & ({
436
443
  /**
437
444
  * URL to call if the first request to the workflow endpoint fails
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-B7_5AkKQ.js';
2
- export { A as AsyncStepFunction, C as CallResponse, v as CallSettings, D as DetailedFinishCondition, t as Duration, o as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, x as InvokableWorkflow, w as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, y as LogLevel, s as NotifyStepResponse, P as ParallelCallState, n as PublicServeOptions, p as RequiredExceptFields, k as Step, m as StepFunction, j as StepTypes, l as SyncStepFunction, u as WaitEventOptions, q as WaitRequest, r as WaitStepResponse, d as WorkflowAbort, h as WorkflowClient, g as WorkflowContext, c as WorkflowError, B as WorkflowLogger, z as WorkflowLoggerOptions, e as WorkflowNonRetryableError, i as WorkflowReceiver, f as WorkflowTool } from './types-B7_5AkKQ.js';
1
+ import { R as RouteFunction, W as WorkflowServeOptions, E as ExclusiveValidationOptions, T as Telemetry, S as StepType, a as RawStep, N as NotifyResponse, b as Waiter } from './types-Q3dM0UlR.js';
2
+ export { A as AsyncStepFunction, C as CallResponse, w as CallSettings, D as DetailedFinishCondition, t as Duration, o as FailureFunctionPayload, F as FinishCondition, H as HeaderParams, y as InvokableWorkflow, x as InvokeStepResponse, I as InvokeWorkflowRequest, L as LazyInvokeStepParams, z as LogLevel, s as NotifyStepResponse, P as ParallelCallState, n as PublicServeOptions, p as RequiredExceptFields, k as Step, m as StepFunction, j as StepTypes, v as StringifyBody, l as SyncStepFunction, u as WaitEventOptions, q as WaitRequest, r as WaitStepResponse, d as WorkflowAbort, h as WorkflowClient, g as WorkflowContext, c as WorkflowError, G as WorkflowLogger, B as WorkflowLoggerOptions, e as WorkflowNonRetryableError, i as WorkflowReceiver, f as WorkflowTool } from './types-Q3dM0UlR.js';
3
3
  import { FlowControl, PublishRequest, HTTPMethods, State, Client as Client$1 } from '@upstash/qstash';
4
4
  import 'zod';
5
5
  import 'ai';
@@ -432,6 +432,13 @@ type TriggerOptions = {
432
432
  * Can be used to filter the workflow run logs.
433
433
  */
434
434
  label?: string;
435
+ /**
436
+ * Whether to apply the configuration (flow control,
437
+ * retries, failure url, retry delay) passed in trigger
438
+ *
439
+ * @default false
440
+ */
441
+ keepTriggerConfig?: boolean;
435
442
  } & ({
436
443
  /**
437
444
  * URL to call if the first request to the workflow endpoint fails