@upstash/workflow 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -90,6 +90,23 @@ var getSteps = async (requester, workflowRunId, messageId, debug) => {
90
90
  }
91
91
  };
92
92
 
93
+ // src/constants.ts
94
+ var WORKFLOW_ID_HEADER = "Upstash-Workflow-RunId";
95
+ var WORKFLOW_INIT_HEADER = "Upstash-Workflow-Init";
96
+ var WORKFLOW_URL_HEADER = "Upstash-Workflow-Url";
97
+ var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
98
+ var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
99
+ var WORKFLOW_PROTOCOL_VERSION = "1";
100
+ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
101
+ var DEFAULT_CONTENT_TYPE = "application/json";
102
+ var NO_CONCURRENCY = 1;
103
+ var DEFAULT_RETRIES = 3;
104
+ var VERSION = "v0.2.3";
105
+ var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
106
+ var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
107
+ var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
108
+ var TELEMETRY_HEADER_RUNTIME = "Upstash-Telemetry-Runtime";
109
+
93
110
  // src/error.ts
94
111
  var import_qstash2 = require("@upstash/qstash");
95
112
  var WorkflowError = class extends import_qstash2.QstashError {
@@ -727,18 +744,6 @@ var Err = class {
727
744
  };
728
745
  var fromThrowable = Result.fromThrowable;
729
746
 
730
- // src/constants.ts
731
- var WORKFLOW_ID_HEADER = "Upstash-Workflow-RunId";
732
- var WORKFLOW_INIT_HEADER = "Upstash-Workflow-Init";
733
- var WORKFLOW_URL_HEADER = "Upstash-Workflow-Url";
734
- var WORKFLOW_FAILURE_HEADER = "Upstash-Workflow-Is-Failure";
735
- var WORKFLOW_FEATURE_HEADER = "Upstash-Feature-Set";
736
- var WORKFLOW_PROTOCOL_VERSION = "1";
737
- var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
738
- var DEFAULT_CONTENT_TYPE = "application/json";
739
- var NO_CONCURRENCY = 1;
740
- var DEFAULT_RETRIES = 3;
741
-
742
747
  // src/types.ts
743
748
  var StepTypes = [
744
749
  "Initial",
@@ -752,16 +757,21 @@ var StepTypes = [
752
757
 
753
758
  // src/workflow-requests.ts
754
759
  var import_qstash3 = require("@upstash/qstash");
755
- var triggerFirstInvocation = async (workflowContext, retries, useJSONContent, debug) => {
756
- const { headers } = getHeaders(
757
- "true",
758
- workflowContext.workflowRunId,
759
- workflowContext.url,
760
- workflowContext.headers,
761
- void 0,
762
- workflowContext.failureUrl,
763
- retries
764
- );
760
+ var triggerFirstInvocation = async ({
761
+ workflowContext,
762
+ useJSONContent,
763
+ telemetry,
764
+ debug
765
+ }) => {
766
+ const { headers } = getHeaders({
767
+ initHeaderValue: "true",
768
+ workflowRunId: workflowContext.workflowRunId,
769
+ workflowUrl: workflowContext.url,
770
+ userHeaders: workflowContext.headers,
771
+ failureUrl: workflowContext.failureUrl,
772
+ retries: workflowContext.retries,
773
+ telemetry
774
+ });
765
775
  if (useJSONContent) {
766
776
  headers["content-type"] = "application/json";
767
777
  }
@@ -867,7 +877,16 @@ var recreateUserHeaders = (headers) => {
867
877
  }
868
878
  return filteredHeaders;
869
879
  };
870
- var handleThirdPartyCallResult = async (request, requestPayload, client, workflowUrl, failureUrl, retries, debug) => {
880
+ var handleThirdPartyCallResult = async ({
881
+ request,
882
+ requestPayload,
883
+ client,
884
+ workflowUrl,
885
+ failureUrl,
886
+ retries,
887
+ telemetry,
888
+ debug
889
+ }) => {
871
890
  try {
872
891
  if (request.headers.get("Upstash-Workflow-Callback")) {
873
892
  let callbackPayload;
@@ -926,15 +945,15 @@ ${atob(callbackMessage.body ?? "")}`
926
945
  );
927
946
  }
928
947
  const userHeaders = recreateUserHeaders(request.headers);
929
- const { headers: requestHeaders } = getHeaders(
930
- "false",
948
+ const { headers: requestHeaders } = getHeaders({
949
+ initHeaderValue: "false",
931
950
  workflowRunId,
932
951
  workflowUrl,
933
952
  userHeaders,
934
- void 0,
935
953
  failureUrl,
936
- retries
937
- );
954
+ retries,
955
+ telemetry
956
+ });
938
957
  const callResponse = {
939
958
  status: callbackMessage.status,
940
959
  body: atob(callbackMessage.body ?? ""),
@@ -972,12 +991,31 @@ ${atob(callbackMessage.body ?? "")}`
972
991
  );
973
992
  }
974
993
  };
975
- var getHeaders = (initHeaderValue, workflowRunId, workflowUrl, userHeaders, step, failureUrl, retries, callRetries, callTimeout) => {
994
+ var getTelemetryHeaders = (telemetry) => {
995
+ return {
996
+ [TELEMETRY_HEADER_SDK]: telemetry.sdk,
997
+ [TELEMETRY_HEADER_FRAMEWORK]: telemetry.framework,
998
+ [TELEMETRY_HEADER_RUNTIME]: telemetry.runtime ?? "unknown"
999
+ };
1000
+ };
1001
+ var getHeaders = ({
1002
+ initHeaderValue,
1003
+ workflowRunId,
1004
+ workflowUrl,
1005
+ userHeaders,
1006
+ failureUrl,
1007
+ retries,
1008
+ step,
1009
+ callRetries,
1010
+ callTimeout,
1011
+ telemetry
1012
+ }) => {
976
1013
  const baseHeaders = {
977
1014
  [WORKFLOW_INIT_HEADER]: initHeaderValue,
978
1015
  [WORKFLOW_ID_HEADER]: workflowRunId,
979
1016
  [WORKFLOW_URL_HEADER]: workflowUrl,
980
- [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody"
1017
+ [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody",
1018
+ ...telemetry ? getTelemetryHeaders(telemetry) : {}
981
1019
  };
982
1020
  if (!step?.callUrl) {
983
1021
  baseHeaders[`Upstash-Forward-${WORKFLOW_PROTOCOL_VERSION_HEADER}`] = WORKFLOW_PROTOCOL_VERSION;
@@ -1051,6 +1089,13 @@ var getHeaders = (initHeaderValue, workflowRunId, workflowUrl, userHeaders, step
1051
1089
  ...Object.fromEntries(
1052
1090
  Object.entries(baseHeaders).map(([header, value]) => [header, [value]])
1053
1091
  ),
1092
+ // to include telemetry headers:
1093
+ ...telemetry ? Object.fromEntries(
1094
+ Object.entries(getTelemetryHeaders(telemetry)).map(([header, value]) => [
1095
+ header,
1096
+ [value]
1097
+ ])
1098
+ ) : {},
1054
1099
  // note: using WORKFLOW_ID_HEADER doesn't work, because Runid -> RunId:
1055
1100
  "Upstash-Workflow-Runid": [workflowRunId],
1056
1101
  [WORKFLOW_INIT_HEADER]: ["false"],
@@ -1089,6 +1134,7 @@ If you want to disable QStash Verification, you should clear env variables QSTAS
1089
1134
  };
1090
1135
 
1091
1136
  // src/context/auto-executor.ts
1137
+ var import_qstash4 = require("@upstash/qstash");
1092
1138
  var AutoExecutor = class _AutoExecutor {
1093
1139
  context;
1094
1140
  promises = /* @__PURE__ */ new WeakMap();
@@ -1097,13 +1143,15 @@ var AutoExecutor = class _AutoExecutor {
1097
1143
  nonPlanStepCount;
1098
1144
  steps;
1099
1145
  indexInCurrentList = 0;
1146
+ telemetry;
1100
1147
  stepCount = 0;
1101
1148
  planStepCount = 0;
1102
1149
  executingStep = false;
1103
- constructor(context, steps, debug) {
1150
+ constructor(context, steps, telemetry, debug) {
1104
1151
  this.context = context;
1105
- this.debug = debug;
1106
1152
  this.steps = steps;
1153
+ this.telemetry = telemetry;
1154
+ this.debug = debug;
1107
1155
  this.nonPlanStepCount = this.steps.filter((step) => !step.targetStep).length;
1108
1156
  }
1109
1157
  /**
@@ -1246,7 +1294,7 @@ var AutoExecutor = class _AutoExecutor {
1246
1294
  );
1247
1295
  await this.submitStepsToQStash([resultStep], [parallelStep]);
1248
1296
  } catch (error) {
1249
- if (error instanceof WorkflowAbort) {
1297
+ if (error instanceof WorkflowAbort || error instanceof import_qstash4.QstashError && error.status === 400) {
1250
1298
  throw error;
1251
1299
  }
1252
1300
  throw new WorkflowError(
@@ -1317,15 +1365,16 @@ var AutoExecutor = class _AutoExecutor {
1317
1365
  });
1318
1366
  if (steps[0].waitEventId && steps.length === 1) {
1319
1367
  const waitStep = steps[0];
1320
- const { headers, timeoutHeaders } = getHeaders(
1321
- "false",
1322
- this.context.workflowRunId,
1323
- this.context.url,
1324
- this.context.headers,
1325
- waitStep,
1326
- this.context.failureUrl,
1327
- this.context.retries
1328
- );
1368
+ const { headers, timeoutHeaders } = getHeaders({
1369
+ initHeaderValue: "false",
1370
+ workflowRunId: this.context.workflowRunId,
1371
+ workflowUrl: this.context.url,
1372
+ userHeaders: this.context.headers,
1373
+ step: waitStep,
1374
+ failureUrl: this.context.failureUrl,
1375
+ retries: this.context.retries,
1376
+ telemetry: this.telemetry
1377
+ });
1329
1378
  const waitBody = {
1330
1379
  url: this.context.url,
1331
1380
  timeout: waitStep.timeout,
@@ -1352,17 +1401,18 @@ var AutoExecutor = class _AutoExecutor {
1352
1401
  const result = await this.context.qstashClient.batchJSON(
1353
1402
  steps.map((singleStep, index) => {
1354
1403
  const lazyStep = lazySteps[index];
1355
- const { headers } = getHeaders(
1356
- "false",
1357
- this.context.workflowRunId,
1358
- this.context.url,
1359
- this.context.headers,
1360
- singleStep,
1361
- this.context.failureUrl,
1362
- this.context.retries,
1363
- lazyStep instanceof LazyCallStep ? lazyStep.retries : void 0,
1364
- lazyStep instanceof LazyCallStep ? lazyStep.timeout : void 0
1365
- );
1404
+ const { headers } = getHeaders({
1405
+ initHeaderValue: "false",
1406
+ workflowRunId: this.context.workflowRunId,
1407
+ workflowUrl: this.context.url,
1408
+ userHeaders: this.context.headers,
1409
+ step: singleStep,
1410
+ failureUrl: this.context.failureUrl,
1411
+ retries: this.context.retries,
1412
+ callRetries: lazyStep instanceof LazyCallStep ? lazyStep.retries : void 0,
1413
+ callTimeout: lazyStep instanceof LazyCallStep ? lazyStep.timeout : void 0,
1414
+ telemetry: this.telemetry
1415
+ });
1366
1416
  const willWait = singleStep.concurrent === NO_CONCURRENCY || singleStep.stepId === 0;
1367
1417
  singleStep.out = JSON.stringify(singleStep.out);
1368
1418
  return singleStep.callUrl ? (
@@ -1475,7 +1525,7 @@ var sortSteps = (steps) => {
1475
1525
  };
1476
1526
 
1477
1527
  // src/context/api/anthropic.ts
1478
- var import_qstash4 = require("@upstash/qstash");
1528
+ var import_qstash5 = require("@upstash/qstash");
1479
1529
 
1480
1530
  // src/context/provider.ts
1481
1531
  var getProviderInfo = (api) => {
@@ -1539,7 +1589,7 @@ var AnthropicAPI = class extends BaseWorkflowApi {
1539
1589
  return await this.callApi(stepName, {
1540
1590
  api: {
1541
1591
  name: "llm",
1542
- provider: (0, import_qstash4.anthropic)({ token })
1592
+ provider: (0, import_qstash5.anthropic)({ token })
1543
1593
  },
1544
1594
  ...parameters
1545
1595
  });
@@ -1547,14 +1597,14 @@ var AnthropicAPI = class extends BaseWorkflowApi {
1547
1597
  };
1548
1598
 
1549
1599
  // src/context/api/openai.ts
1550
- var import_qstash5 = require("@upstash/qstash");
1600
+ var import_qstash6 = require("@upstash/qstash");
1551
1601
  var OpenAIAPI = class extends BaseWorkflowApi {
1552
1602
  async call(stepName, settings) {
1553
1603
  const { token, organization, operation, ...parameters } = settings;
1554
1604
  return await this.callApi(stepName, {
1555
1605
  api: {
1556
1606
  name: "llm",
1557
- provider: (0, import_qstash5.openai)({ token, organization })
1607
+ provider: (0, import_qstash6.openai)({ token, organization })
1558
1608
  },
1559
1609
  ...parameters
1560
1610
  });
@@ -1562,14 +1612,14 @@ var OpenAIAPI = class extends BaseWorkflowApi {
1562
1612
  };
1563
1613
 
1564
1614
  // src/context/api/resend.ts
1565
- var import_qstash6 = require("@upstash/qstash");
1615
+ var import_qstash7 = require("@upstash/qstash");
1566
1616
  var ResendAPI = class extends BaseWorkflowApi {
1567
1617
  async call(stepName, settings) {
1568
1618
  const { token, batch = false, ...parameters } = settings;
1569
1619
  return await this.callApi(stepName, {
1570
1620
  api: {
1571
1621
  name: "email",
1572
- provider: (0, import_qstash6.resend)({ token, batch })
1622
+ provider: (0, import_qstash7.resend)({ token, batch })
1573
1623
  },
1574
1624
  ...parameters
1575
1625
  });
@@ -1727,7 +1777,8 @@ var WorkflowContext = class {
1727
1777
  debug,
1728
1778
  initialPayload,
1729
1779
  env,
1730
- retries
1780
+ retries,
1781
+ telemetry
1731
1782
  }) {
1732
1783
  this.qstashClient = qstashClient;
1733
1784
  this.workflowRunId = workflowRunId;
@@ -1738,7 +1789,7 @@ var WorkflowContext = class {
1738
1789
  this.requestPayload = initialPayload;
1739
1790
  this.env = env ?? {};
1740
1791
  this.retries = retries ?? DEFAULT_RETRIES;
1741
- this.executor = new AutoExecutor(this, this.steps, debug);
1792
+ this.executor = new AutoExecutor(this, this.steps, telemetry, debug);
1742
1793
  }
1743
1794
  /**
1744
1795
  * Executes a workflow step
@@ -2056,7 +2107,7 @@ function decodeBase64(base64) {
2056
2107
  }
2057
2108
 
2058
2109
  // src/serve/authorization.ts
2059
- var import_qstash7 = require("@upstash/qstash");
2110
+ var import_qstash8 = require("@upstash/qstash");
2060
2111
  var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
2061
2112
  static disabledMessage = "disabled-qstash-worklfow-run";
2062
2113
  /**
@@ -2087,7 +2138,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
2087
2138
  */
2088
2139
  static async tryAuthentication(routeFunction, context) {
2089
2140
  const disabledContext = new _DisabledWorkflowContext({
2090
- qstashClient: new import_qstash7.Client({
2141
+ qstashClient: new import_qstash8.Client({
2091
2142
  baseUrl: "disabled-client",
2092
2143
  token: "disabled-client"
2093
2144
  }),
@@ -2251,7 +2302,7 @@ var parseRequest = async (requestPayload, isFirstInvocation, workflowRunId, requ
2251
2302
  };
2252
2303
  }
2253
2304
  };
2254
- var handleFailure = async (request, requestPayload, qstashClient, initialPayloadParser, routeFunction, failureFunction, debug) => {
2305
+ var handleFailure = async (request, requestPayload, qstashClient, initialPayloadParser, routeFunction, failureFunction, env, retries, debug) => {
2255
2306
  if (request.headers.get(WORKFLOW_FAILURE_HEADER) !== "true") {
2256
2307
  return ok("not-failure-callback");
2257
2308
  }
@@ -2276,7 +2327,11 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
2276
2327
  steps: [],
2277
2328
  url,
2278
2329
  failureUrl: url,
2279
- debug
2330
+ debug,
2331
+ env,
2332
+ retries,
2333
+ telemetry: void 0
2334
+ // not going to make requests in authentication check
2280
2335
  });
2281
2336
  const authCheck = await DisabledWorkflowContext.tryAuthentication(
2282
2337
  routeFunction,
@@ -2301,15 +2356,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
2301
2356
  };
2302
2357
 
2303
2358
  // src/serve/options.ts
2304
- var import_qstash8 = require("@upstash/qstash");
2305
2359
  var import_qstash9 = require("@upstash/qstash");
2360
+ var import_qstash10 = require("@upstash/qstash");
2306
2361
  var processOptions = (options) => {
2307
2362
  const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
2308
2363
  const receiverEnvironmentVariablesSet = Boolean(
2309
2364
  environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
2310
2365
  );
2311
2366
  return {
2312
- qstashClient: new import_qstash9.Client({
2367
+ qstashClient: new import_qstash10.Client({
2313
2368
  baseUrl: environment.QSTASH_URL,
2314
2369
  token: environment.QSTASH_TOKEN
2315
2370
  }),
@@ -2343,7 +2398,7 @@ var processOptions = (options) => {
2343
2398
  throw error;
2344
2399
  }
2345
2400
  },
2346
- receiver: receiverEnvironmentVariablesSet ? new import_qstash8.Receiver({
2401
+ receiver: receiverEnvironmentVariablesSet ? new import_qstash9.Receiver({
2347
2402
  currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
2348
2403
  nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
2349
2404
  }) : void 0,
@@ -2351,6 +2406,7 @@ var processOptions = (options) => {
2351
2406
  env: environment,
2352
2407
  retries: DEFAULT_RETRIES,
2353
2408
  useJSONContent: false,
2409
+ disableTelemetry: false,
2354
2410
  ...options
2355
2411
  };
2356
2412
  };
@@ -2385,7 +2441,7 @@ var determineUrls = async (request, url, baseUrl, failureFunction, failureUrl, d
2385
2441
  var AUTH_FAIL_MESSAGE = `Failed to authenticate Workflow request. If this is unexpected, see the caveat https://upstash.com/docs/workflow/basics/caveats#avoid-non-deterministic-code-outside-context-run`;
2386
2442
 
2387
2443
  // src/serve/index.ts
2388
- var serveBase = (routeFunction, options) => {
2444
+ var serveBase = (routeFunction, telemetry, options) => {
2389
2445
  const {
2390
2446
  qstashClient,
2391
2447
  onStepFinish,
@@ -2398,8 +2454,10 @@ var serveBase = (routeFunction, options) => {
2398
2454
  baseUrl,
2399
2455
  env,
2400
2456
  retries,
2401
- useJSONContent
2457
+ useJSONContent,
2458
+ disableTelemetry
2402
2459
  } = processOptions(options);
2460
+ telemetry = disableTelemetry ? void 0 : telemetry;
2403
2461
  const debug = WorkflowLogger.getLogger(verbose);
2404
2462
  const handler = async (request) => {
2405
2463
  await debug?.log("INFO", "ENDPOINT_START");
@@ -2435,7 +2493,10 @@ var serveBase = (routeFunction, options) => {
2435
2493
  qstashClient,
2436
2494
  initialPayloadParser,
2437
2495
  routeFunction,
2438
- failureFunction
2496
+ failureFunction,
2497
+ env,
2498
+ retries,
2499
+ debug
2439
2500
  );
2440
2501
  if (failureCheck.isErr()) {
2441
2502
  throw failureCheck.error;
@@ -2453,7 +2514,8 @@ var serveBase = (routeFunction, options) => {
2453
2514
  failureUrl: workflowFailureUrl,
2454
2515
  debug,
2455
2516
  env,
2456
- retries
2517
+ retries,
2518
+ telemetry
2457
2519
  });
2458
2520
  const authCheck = await DisabledWorkflowContext.tryAuthentication(
2459
2521
  routeFunction,
@@ -2469,22 +2531,23 @@ var serveBase = (routeFunction, options) => {
2469
2531
  "auth-fail"
2470
2532
  );
2471
2533
  }
2472
- const callReturnCheck = await handleThirdPartyCallResult(
2534
+ const callReturnCheck = await handleThirdPartyCallResult({
2473
2535
  request,
2474
- rawInitialPayload,
2475
- qstashClient,
2536
+ requestPayload: rawInitialPayload,
2537
+ client: qstashClient,
2476
2538
  workflowUrl,
2477
- workflowFailureUrl,
2539
+ failureUrl: workflowFailureUrl,
2478
2540
  retries,
2541
+ telemetry,
2479
2542
  debug
2480
- );
2543
+ });
2481
2544
  if (callReturnCheck.isErr()) {
2482
2545
  await debug?.log("ERROR", "SUBMIT_THIRD_PARTY_RESULT", {
2483
2546
  error: callReturnCheck.error.message
2484
2547
  });
2485
2548
  throw callReturnCheck.error;
2486
2549
  } else if (callReturnCheck.value === "continue-workflow") {
2487
- const result = isFirstInvocation ? await triggerFirstInvocation(workflowContext, retries, useJSONContent, debug) : await triggerRouteFunction({
2550
+ const result = isFirstInvocation ? await triggerFirstInvocation({ workflowContext, useJSONContent, telemetry, debug }) : await triggerRouteFunction({
2488
2551
  onStep: async () => routeFunction(workflowContext),
2489
2552
  onCleanup: async () => {
2490
2553
  await triggerWorkflowDelete(workflowContext, debug);
@@ -2519,11 +2582,18 @@ var serveBase = (routeFunction, options) => {
2519
2582
  return { handler: safeHandler };
2520
2583
  };
2521
2584
  var serve = (routeFunction, options) => {
2522
- return serveBase(routeFunction, options);
2585
+ return serveBase(
2586
+ routeFunction,
2587
+ {
2588
+ sdk: SDK_TELEMETRY,
2589
+ framework: "unknown"
2590
+ },
2591
+ options
2592
+ );
2523
2593
  };
2524
2594
 
2525
2595
  // src/client/index.ts
2526
- var import_qstash10 = require("@upstash/qstash");
2596
+ var import_qstash11 = require("@upstash/qstash");
2527
2597
  var Client4 = class {
2528
2598
  client;
2529
2599
  constructor(clientConfig) {
@@ -2532,7 +2602,7 @@ var Client4 = class {
2532
2602
  "QStash token is required for Upstash Workflow!\n\nTo fix this:\n1. Get your token from the Upstash Console (https://console.upstash.com/qstash)\n2. Initialize the workflow client with:\n\n const client = new Client({\n token: '<YOUR_QSTASH_TOKEN>'\n });"
2533
2603
  );
2534
2604
  }
2535
- this.client = new import_qstash10.Client(clientConfig);
2605
+ this.client = new import_qstash11.Client(clientConfig);
2536
2606
  }
2537
2607
  /**
2538
2608
  * Cancel an ongoing workflow
@@ -2693,9 +2763,16 @@ var Client4 = class {
2693
2763
  initialPayload: body,
2694
2764
  steps: [],
2695
2765
  url,
2696
- workflowRunId: finalWorkflowRunId
2766
+ workflowRunId: finalWorkflowRunId,
2767
+ retries,
2768
+ telemetry: void 0
2769
+ // can't know workflow telemetry here
2770
+ });
2771
+ const result = await triggerFirstInvocation({
2772
+ workflowContext: context,
2773
+ telemetry: void 0
2774
+ // can't know workflow telemetry here
2697
2775
  });
2698
- const result = await triggerFirstInvocation(context, retries ?? DEFAULT_RETRIES);
2699
2776
  if (result.isOk()) {
2700
2777
  return { workflowRunId: finalWorkflowRunId };
2701
2778
  } else {
package/index.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  import {
2
- DEFAULT_RETRIES,
3
2
  StepTypes,
4
3
  WorkflowAbort,
5
4
  WorkflowContext,
@@ -10,7 +9,7 @@ import {
10
9
  makeNotifyRequest,
11
10
  serve,
12
11
  triggerFirstInvocation
13
- } from "./chunk-QBJ3LQIO.mjs";
12
+ } from "./chunk-ETDFMXER.mjs";
14
13
 
15
14
  // src/client/index.ts
16
15
  import { Client as QStashClient } from "@upstash/qstash";
@@ -183,9 +182,16 @@ var Client = class {
183
182
  initialPayload: body,
184
183
  steps: [],
185
184
  url,
186
- workflowRunId: finalWorkflowRunId
185
+ workflowRunId: finalWorkflowRunId,
186
+ retries,
187
+ telemetry: void 0
188
+ // can't know workflow telemetry here
189
+ });
190
+ const result = await triggerFirstInvocation({
191
+ workflowContext: context,
192
+ telemetry: void 0
193
+ // can't know workflow telemetry here
187
194
  });
188
- const result = await triggerFirstInvocation(context, retries ?? DEFAULT_RETRIES);
189
195
  if (result.isOk()) {
190
196
  return { workflowRunId: finalWorkflowRunId };
191
197
  } else {
package/nextjs.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NextApiHandler } from 'next';
2
- import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.mjs';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-Bt4-paRy.mjs';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  /**
package/nextjs.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NextApiHandler } from 'next';
2
- import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.js';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-Bt4-paRy.js';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  /**