@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/solidjs.js CHANGED
@@ -90,7 +90,7 @@ var WORKFLOW_PROTOCOL_VERSION_HEADER = "Upstash-Workflow-Sdk-Version";
90
90
  var DEFAULT_CONTENT_TYPE = "application/json";
91
91
  var NO_CONCURRENCY = 1;
92
92
  var DEFAULT_RETRIES = 3;
93
- var VERSION = "v0.2.18";
93
+ var VERSION = "v0.2.21";
94
94
  var SDK_TELEMETRY = `@upstash/workflow@${VERSION}`;
95
95
  var TELEMETRY_HEADER_SDK = "Upstash-Telemetry-Sdk";
96
96
  var TELEMETRY_HEADER_FRAMEWORK = "Upstash-Telemetry-Framework";
@@ -141,7 +141,8 @@ var WorkflowNonRetryableError = class extends WorkflowAbort {
141
141
  var formatWorkflowError = (error) => {
142
142
  return error instanceof Error ? {
143
143
  error: error.name,
144
- message: error.message
144
+ message: error.message,
145
+ stack: error.stack
145
146
  } : {
146
147
  error: "Error",
147
148
  message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
@@ -612,7 +613,15 @@ var triggerFirstInvocation = async (params) => {
612
613
  const firstInvocationParams = Array.isArray(params) ? params : [params];
613
614
  const workflowContextClient = firstInvocationParams[0].workflowContext.qstashClient;
614
615
  const invocationBatch = firstInvocationParams.map(
615
- ({ workflowContext, useJSONContent, telemetry, invokeCount, delay, notBefore }) => {
616
+ ({
617
+ workflowContext,
618
+ useJSONContent,
619
+ telemetry,
620
+ invokeCount,
621
+ delay,
622
+ notBefore,
623
+ keepTriggerConfig
624
+ }) => {
616
625
  const { headers } = getHeaders({
617
626
  initHeaderValue: "true",
618
627
  workflowConfig: {
@@ -626,7 +635,8 @@ var triggerFirstInvocation = async (params) => {
626
635
  useJSONContent: useJSONContent ?? false
627
636
  },
628
637
  invokeCount: invokeCount ?? 0,
629
- userHeaders: workflowContext.headers
638
+ userHeaders: workflowContext.headers,
639
+ keepTriggerConfig
630
640
  });
631
641
  if (workflowContext.headers.get("content-type")) {
632
642
  headers["content-type"] = workflowContext.headers.get("content-type");
@@ -1132,9 +1142,10 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1132
1142
  retryDelay;
1133
1143
  timeout;
1134
1144
  flowControl;
1145
+ stringifyBody;
1135
1146
  stepType = "Call";
1136
1147
  allowUndefinedOut = false;
1137
- constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl) {
1148
+ constructor(stepName, url, method, body, headers, retries, retryDelay, timeout, flowControl, stringifyBody) {
1138
1149
  super(stepName);
1139
1150
  this.url = url;
1140
1151
  this.method = method;
@@ -1144,6 +1155,7 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1144
1155
  this.retryDelay = retryDelay;
1145
1156
  this.timeout = timeout;
1146
1157
  this.flowControl = flowControl;
1158
+ this.stringifyBody = stringifyBody;
1147
1159
  }
1148
1160
  getPlanStep(concurrent, targetStep) {
1149
1161
  return {
@@ -1253,10 +1265,22 @@ var LazyCallStep = class _LazyCallStep extends BaseLazyStep {
1253
1265
  };
1254
1266
  }
1255
1267
  async submitStep({ context, headers }) {
1268
+ let callBody;
1269
+ if (this.stringifyBody) {
1270
+ callBody = JSON.stringify(this.body);
1271
+ } else {
1272
+ if (typeof this.body === "string") {
1273
+ callBody = this.body;
1274
+ } else {
1275
+ throw new WorkflowError(
1276
+ "When stringifyBody is false, body must be a string. Please check the body type of your call step."
1277
+ );
1278
+ }
1279
+ }
1256
1280
  return await context.qstashClient.batch([
1257
1281
  {
1258
1282
  headers,
1259
- body: JSON.stringify(this.body),
1283
+ body: callBody,
1260
1284
  method: this.method,
1261
1285
  url: this.url,
1262
1286
  retries: DEFAULT_RETRIES === this.retries ? void 0 : this.retries,
@@ -1391,7 +1415,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1391
1415
  workflowRunId,
1392
1416
  retries,
1393
1417
  retryDelay,
1394
- flowControl
1418
+ flowControl,
1419
+ stringifyBody = true
1395
1420
  }) {
1396
1421
  super(stepName);
1397
1422
  this.params = {
@@ -1401,7 +1426,8 @@ var LazyInvokeStep = class extends BaseLazyStep {
1401
1426
  workflowRunId: getWorkflowRunId(workflowRunId),
1402
1427
  retries,
1403
1428
  retryDelay,
1404
- flowControl
1429
+ flowControl,
1430
+ stringifyBody
1405
1431
  };
1406
1432
  const { workflowId } = workflow;
1407
1433
  if (!workflowId) {
@@ -1454,8 +1480,20 @@ var LazyInvokeStep = class extends BaseLazyStep {
1454
1480
  invokeCount
1455
1481
  });
1456
1482
  invokerHeaders["Upstash-Workflow-Runid"] = context.workflowRunId;
1483
+ let invokeBody;
1484
+ if (this.params.stringifyBody) {
1485
+ invokeBody = JSON.stringify(this.params.body);
1486
+ } else {
1487
+ if (typeof this.params.body === "string") {
1488
+ invokeBody = this.params.body;
1489
+ } else {
1490
+ throw new WorkflowError(
1491
+ "When stringifyBody is false, body must be a string. Please check the body type of your invoke step."
1492
+ );
1493
+ }
1494
+ }
1457
1495
  const request = {
1458
- body: JSON.stringify(this.params.body),
1496
+ body: invokeBody,
1459
1497
  headers: Object.fromEntries(
1460
1498
  Object.entries(invokerHeaders).map((pairs) => [pairs[0], [pairs[1]]])
1461
1499
  ),
@@ -1535,12 +1573,14 @@ var WorkflowHeaders = class {
1535
1573
  initHeaderValue;
1536
1574
  stepInfo;
1537
1575
  headers;
1576
+ keepTriggerConfig;
1538
1577
  constructor({
1539
1578
  userHeaders,
1540
1579
  workflowConfig,
1541
1580
  invokeCount,
1542
1581
  initHeaderValue,
1543
- stepInfo
1582
+ stepInfo,
1583
+ keepTriggerConfig
1544
1584
  }) {
1545
1585
  this.userHeaders = userHeaders;
1546
1586
  this.workflowConfig = workflowConfig;
@@ -1552,6 +1592,7 @@ var WorkflowHeaders = class {
1552
1592
  workflowHeaders: {},
1553
1593
  failureHeaders: {}
1554
1594
  };
1595
+ this.keepTriggerConfig = keepTriggerConfig;
1555
1596
  }
1556
1597
  getHeaders() {
1557
1598
  this.addBaseHeaders();
@@ -1570,7 +1611,7 @@ var WorkflowHeaders = class {
1570
1611
  [WORKFLOW_INIT_HEADER]: this.initHeaderValue,
1571
1612
  [WORKFLOW_ID_HEADER]: this.workflowConfig.workflowRunId,
1572
1613
  [WORKFLOW_URL_HEADER]: this.workflowConfig.workflowUrl,
1573
- [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody,WF_DetectTrigger",
1614
+ [WORKFLOW_FEATURE_HEADER]: "LazyFetch,InitialBody,WF_DetectTrigger" + (this.keepTriggerConfig ? ",WF_TriggerOnConfig" : ""),
1574
1615
  [WORKFLOW_PROTOCOL_VERSION_HEADER]: WORKFLOW_PROTOCOL_VERSION,
1575
1616
  ...this.workflowConfig.telemetry ? getTelemetryHeaders(this.workflowConfig.telemetry) : {},
1576
1617
  ...this.workflowConfig.telemetry && this.stepInfo?.lazyStep instanceof LazyCallStep && this.stepInfo.lazyStep.headers[AGENT_NAME_HEADER] ? { [TELEMETRY_HEADER_AGENT]: "true" } : {}
@@ -2832,7 +2873,8 @@ var WorkflowContext = class {
2832
2873
  settings.retries || 0,
2833
2874
  settings.retryDelay,
2834
2875
  settings.timeout,
2835
- settings.flowControl ?? settings.workflow.options.flowControl
2876
+ settings.flowControl ?? settings.workflow.options.flowControl,
2877
+ settings.stringifyBody ?? true
2836
2878
  );
2837
2879
  } else {
2838
2880
  const {
@@ -2843,7 +2885,8 @@ var WorkflowContext = class {
2843
2885
  retries = 0,
2844
2886
  retryDelay,
2845
2887
  timeout,
2846
- flowControl
2888
+ flowControl,
2889
+ stringifyBody = true
2847
2890
  } = settings;
2848
2891
  callStep = new LazyCallStep(
2849
2892
  stepName,
@@ -2854,7 +2897,8 @@ var WorkflowContext = class {
2854
2897
  retries,
2855
2898
  retryDelay,
2856
2899
  timeout,
2857
- flowControl
2900
+ flowControl,
2901
+ stringifyBody
2858
2902
  );
2859
2903
  }
2860
2904
  return await this.addStep(callStep);
@@ -3218,11 +3262,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3218
3262
  const { status, header, body, url, sourceBody, workflowRunId } = JSON.parse(requestPayload);
3219
3263
  const decodedBody = body ? decodeBase64(body) : "{}";
3220
3264
  let errorMessage = "";
3265
+ let failStack = "";
3221
3266
  try {
3222
3267
  const errorPayload = JSON.parse(decodedBody);
3223
3268
  if (errorPayload.message) {
3224
3269
  errorMessage = errorPayload.message;
3225
3270
  }
3271
+ if (errorPayload.stack) {
3272
+ failStack = errorPayload.stack;
3273
+ }
3226
3274
  } catch {
3227
3275
  }
3228
3276
  if (!errorMessage) {
@@ -3260,7 +3308,8 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
3260
3308
  context: workflowContext,
3261
3309
  failStatus: status,
3262
3310
  failResponse: errorMessage,
3263
- failHeaders: header
3311
+ failHeaders: header,
3312
+ failStack
3264
3313
  });
3265
3314
  return ok({ result: "is-failure-callback", response: failureResponse });
3266
3315
  } catch (error) {
package/solidjs.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SDK_TELEMETRY,
3
3
  serveBase
4
- } from "./chunk-37XOXDLZ.mjs";
4
+ } from "./chunk-NQDNC5P4.mjs";
5
5
 
6
6
  // platforms/solidjs.ts
7
7
  var serve = (routeFunction, options) => {
package/svelte.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _sveltejs_kit from '@sveltejs/kit';
2
2
  import { RequestHandler } from '@sveltejs/kit';
3
- import { R as RouteFunction, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.mjs';
4
- import { s as serveManyBase } from './serve-many-CEUYWQvV.mjs';
3
+ import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.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/svelte.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _sveltejs_kit from '@sveltejs/kit';
2
2
  import { RequestHandler } from '@sveltejs/kit';
3
- import { R as RouteFunction, n as PublicServeOptions, x as InvokableWorkflow } from './types-B7_5AkKQ.js';
4
- import { s as serveManyBase } from './serve-many-BObe3pdI.js';
3
+ import { R as RouteFunction, n as PublicServeOptions, y as InvokableWorkflow } from './types-Q3dM0UlR.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/svelte.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/svelte.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/svelte.ts
8
8
  var telemetry = {
package/tanstack.d.mts ADDED
@@ -0,0 +1,36 @@
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
+ import '@upstash/qstash';
4
+ import 'zod';
5
+ import 'ai';
6
+ import '@ai-sdk/openai';
7
+
8
+ /**
9
+ * Serve method to serve a Upstash Workflow in a TanStack Start project
10
+ *
11
+ * This wrapper allows you to access both the workflow context and TanStack route context
12
+ *
13
+ * @param routeFunction workflow function that receives both workflow context and TanStack route context
14
+ * @param options workflow options (same as Next.js serve options)
15
+ * @returns handler object with POST method compatible with TanStack Start
16
+ */
17
+ declare function serve<TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>): {
18
+ POST: (tanstackContext: {
19
+ request: Request;
20
+ }) => Promise<Response>;
21
+ };
22
+ declare const createWorkflow: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload> | undefined) => InvokableWorkflow<TInitialPayload, TResult>;
23
+ /**
24
+ * Serve multiple workflows from a single endpoint using dynamic routing in TanStack Start
25
+ *
26
+ * @param workflows object containing workflow definitions
27
+ * @param options serve options
28
+ * @returns handler object with POST method
29
+ */
30
+ declare const serveMany: (workflows: Parameters<typeof serveManyBase>[0]["workflows"], options?: Parameters<typeof serveManyBase>[0]["options"]) => {
31
+ POST: (tanstackContext: {
32
+ request: Request;
33
+ }) => Promise<any>;
34
+ };
35
+
36
+ export { createWorkflow, serve, serveMany };
package/tanstack.d.ts ADDED
@@ -0,0 +1,36 @@
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
+ import '@upstash/qstash';
4
+ import 'zod';
5
+ import 'ai';
6
+ import '@ai-sdk/openai';
7
+
8
+ /**
9
+ * Serve method to serve a Upstash Workflow in a TanStack Start project
10
+ *
11
+ * This wrapper allows you to access both the workflow context and TanStack route context
12
+ *
13
+ * @param routeFunction workflow function that receives both workflow context and TanStack route context
14
+ * @param options workflow options (same as Next.js serve options)
15
+ * @returns handler object with POST method compatible with TanStack Start
16
+ */
17
+ declare function serve<TInitialPayload = unknown, TResult = unknown>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload>): {
18
+ POST: (tanstackContext: {
19
+ request: Request;
20
+ }) => Promise<Response>;
21
+ };
22
+ declare const createWorkflow: <TInitialPayload, TResult>(routeFunction: RouteFunction<TInitialPayload, TResult>, options?: PublicServeOptions<TInitialPayload> | undefined) => InvokableWorkflow<TInitialPayload, TResult>;
23
+ /**
24
+ * Serve multiple workflows from a single endpoint using dynamic routing in TanStack Start
25
+ *
26
+ * @param workflows object containing workflow definitions
27
+ * @param options serve options
28
+ * @returns handler object with POST method
29
+ */
30
+ declare const serveMany: (workflows: Parameters<typeof serveManyBase>[0]["workflows"], options?: Parameters<typeof serveManyBase>[0]["options"]) => {
31
+ POST: (tanstackContext: {
32
+ request: Request;
33
+ }) => Promise<any>;
34
+ };
35
+
36
+ export { createWorkflow, serve, serveMany };