@upstash/workflow 0.2.2 → 0.2.3

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.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as h3 from 'h3';
2
- import { R as RouteFunction, j as PublicServeOptions } from './types-APRap-aV.mjs';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.mjs';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options?: PublicServeOptions<TInitialPayload>) => {
package/h3.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as h3 from 'h3';
2
- import { R as RouteFunction, j as PublicServeOptions } from './types-APRap-aV.js';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.js';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  declare const serve: <TInitialPayload = unknown>(routeFunction: RouteFunction<TInitialPayload>, options?: PublicServeOptions<TInitialPayload>) => {
package/h3.js CHANGED
@@ -1773,6 +1773,127 @@ var sortSteps = (steps) => {
1773
1773
  return [...steps].sort((step, stepOther) => getStepId(step) - getStepId(stepOther));
1774
1774
  };
1775
1775
 
1776
+ // src/context/api/anthropic.ts
1777
+ var import_qstash4 = require("@upstash/qstash");
1778
+
1779
+ // src/context/provider.ts
1780
+ var getProviderInfo = (api) => {
1781
+ if (!api.provider) {
1782
+ throw new WorkflowError("A Provider must be provided.");
1783
+ }
1784
+ if (api.provider.owner === "upstash") {
1785
+ throw new WorkflowError("Upstash provider isn't supported.");
1786
+ }
1787
+ const { name, provider, ...parameters } = api;
1788
+ if (!provider.baseUrl) throw new TypeError("baseUrl cannot be empty or undefined!");
1789
+ if (!provider.token) throw new TypeError("token cannot be empty or undefined!");
1790
+ if (provider.apiKind !== name) {
1791
+ throw new TypeError(`Unexpected api name. Expected '${provider.apiKind}', received ${name}`);
1792
+ }
1793
+ const providerInfo = {
1794
+ url: provider.getUrl(),
1795
+ baseUrl: provider.baseUrl,
1796
+ route: provider.getRoute(),
1797
+ appendHeaders: provider.getHeaders(parameters),
1798
+ owner: provider.owner,
1799
+ method: provider.method
1800
+ };
1801
+ return provider.onFinish(providerInfo, parameters);
1802
+ };
1803
+
1804
+ // src/context/api/base.ts
1805
+ var BaseWorkflowApi = class {
1806
+ context;
1807
+ constructor({ context }) {
1808
+ this.context = context;
1809
+ }
1810
+ /**
1811
+ * context.call which uses a QStash API
1812
+ *
1813
+ * @param stepName
1814
+ * @param settings
1815
+ * @returns
1816
+ */
1817
+ async callApi(stepName, settings) {
1818
+ const { url, appendHeaders, method } = getProviderInfo(settings.api);
1819
+ const { method: userMethod, body, headers = {}, retries = 0, timeout } = settings;
1820
+ return await this.context.call(stepName, {
1821
+ url,
1822
+ method: userMethod ?? method,
1823
+ body,
1824
+ headers: {
1825
+ ...appendHeaders,
1826
+ ...headers
1827
+ },
1828
+ retries,
1829
+ timeout
1830
+ });
1831
+ }
1832
+ };
1833
+
1834
+ // src/context/api/anthropic.ts
1835
+ var AnthropicAPI = class extends BaseWorkflowApi {
1836
+ async call(stepName, settings) {
1837
+ const { token, operation, ...parameters } = settings;
1838
+ return await this.callApi(stepName, {
1839
+ api: {
1840
+ name: "llm",
1841
+ provider: (0, import_qstash4.anthropic)({ token })
1842
+ },
1843
+ ...parameters
1844
+ });
1845
+ }
1846
+ };
1847
+
1848
+ // src/context/api/openai.ts
1849
+ var import_qstash5 = require("@upstash/qstash");
1850
+ var OpenAIAPI = class extends BaseWorkflowApi {
1851
+ async call(stepName, settings) {
1852
+ const { token, organization, operation, ...parameters } = settings;
1853
+ return await this.callApi(stepName, {
1854
+ api: {
1855
+ name: "llm",
1856
+ provider: (0, import_qstash5.openai)({ token, organization })
1857
+ },
1858
+ ...parameters
1859
+ });
1860
+ }
1861
+ };
1862
+
1863
+ // src/context/api/resend.ts
1864
+ var import_qstash6 = require("@upstash/qstash");
1865
+ var ResendAPI = class extends BaseWorkflowApi {
1866
+ async call(stepName, settings) {
1867
+ const { token, batch = false, ...parameters } = settings;
1868
+ return await this.callApi(stepName, {
1869
+ api: {
1870
+ name: "email",
1871
+ provider: (0, import_qstash6.resend)({ token, batch })
1872
+ },
1873
+ ...parameters
1874
+ });
1875
+ }
1876
+ };
1877
+
1878
+ // src/context/api/index.ts
1879
+ var WorkflowApi = class extends BaseWorkflowApi {
1880
+ get openai() {
1881
+ return new OpenAIAPI({
1882
+ context: this.context
1883
+ });
1884
+ }
1885
+ get resend() {
1886
+ return new ResendAPI({
1887
+ context: this.context
1888
+ });
1889
+ }
1890
+ get anthropic() {
1891
+ return new AnthropicAPI({
1892
+ context: this.context
1893
+ });
1894
+ }
1895
+ };
1896
+
1776
1897
  // src/context/context.ts
1777
1898
  var WorkflowContext = class {
1778
1899
  executor;
@@ -2152,6 +2273,11 @@ var WorkflowContext = class {
2152
2273
  async addStep(step) {
2153
2274
  return await this.executor.addStep(step);
2154
2275
  }
2276
+ get api() {
2277
+ return new WorkflowApi({
2278
+ context: this
2279
+ });
2280
+ }
2155
2281
  };
2156
2282
 
2157
2283
  // src/logger.ts
@@ -2229,7 +2355,7 @@ function decodeBase64(base64) {
2229
2355
  }
2230
2356
 
2231
2357
  // src/serve/authorization.ts
2232
- var import_qstash4 = require("@upstash/qstash");
2358
+ var import_qstash7 = require("@upstash/qstash");
2233
2359
  var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
2234
2360
  static disabledMessage = "disabled-qstash-worklfow-run";
2235
2361
  /**
@@ -2260,7 +2386,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
2260
2386
  */
2261
2387
  static async tryAuthentication(routeFunction, context) {
2262
2388
  const disabledContext = new _DisabledWorkflowContext({
2263
- qstashClient: new import_qstash4.Client({
2389
+ qstashClient: new import_qstash7.Client({
2264
2390
  baseUrl: "disabled-client",
2265
2391
  token: "disabled-client"
2266
2392
  }),
@@ -2474,15 +2600,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
2474
2600
  };
2475
2601
 
2476
2602
  // src/serve/options.ts
2477
- var import_qstash5 = require("@upstash/qstash");
2478
- var import_qstash6 = require("@upstash/qstash");
2603
+ var import_qstash8 = require("@upstash/qstash");
2604
+ var import_qstash9 = require("@upstash/qstash");
2479
2605
  var processOptions = (options) => {
2480
2606
  const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
2481
2607
  const receiverEnvironmentVariablesSet = Boolean(
2482
2608
  environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
2483
2609
  );
2484
2610
  return {
2485
- qstashClient: new import_qstash6.Client({
2611
+ qstashClient: new import_qstash9.Client({
2486
2612
  baseUrl: environment.QSTASH_URL,
2487
2613
  token: environment.QSTASH_TOKEN
2488
2614
  }),
@@ -2516,7 +2642,7 @@ var processOptions = (options) => {
2516
2642
  throw error;
2517
2643
  }
2518
2644
  },
2519
- receiver: receiverEnvironmentVariablesSet ? new import_qstash5.Receiver({
2645
+ receiver: receiverEnvironmentVariablesSet ? new import_qstash8.Receiver({
2520
2646
  currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
2521
2647
  nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
2522
2648
  }) : void 0,
package/h3.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  serveBase
3
- } from "./chunk-Z7WS5XIR.mjs";
3
+ } from "./chunk-QBJ3LQIO.mjs";
4
4
 
5
5
  // node_modules/defu/dist/defu.mjs
6
6
  function isPlainObject(value) {
package/hono.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Context } from 'hono';
2
- import { R as RouteFunction, j as PublicServeOptions } from './types-APRap-aV.mjs';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.mjs';
3
3
  import { Variables } from 'hono/types';
4
4
  import '@upstash/qstash';
5
5
 
package/hono.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Context } from 'hono';
2
- import { R as RouteFunction, j as PublicServeOptions } from './types-APRap-aV.js';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.js';
3
3
  import { Variables } from 'hono/types';
4
4
  import '@upstash/qstash';
5
5
 
package/hono.js CHANGED
@@ -1461,6 +1461,127 @@ var sortSteps = (steps) => {
1461
1461
  return [...steps].sort((step, stepOther) => getStepId(step) - getStepId(stepOther));
1462
1462
  };
1463
1463
 
1464
+ // src/context/api/anthropic.ts
1465
+ var import_qstash4 = require("@upstash/qstash");
1466
+
1467
+ // src/context/provider.ts
1468
+ var getProviderInfo = (api) => {
1469
+ if (!api.provider) {
1470
+ throw new WorkflowError("A Provider must be provided.");
1471
+ }
1472
+ if (api.provider.owner === "upstash") {
1473
+ throw new WorkflowError("Upstash provider isn't supported.");
1474
+ }
1475
+ const { name, provider, ...parameters } = api;
1476
+ if (!provider.baseUrl) throw new TypeError("baseUrl cannot be empty or undefined!");
1477
+ if (!provider.token) throw new TypeError("token cannot be empty or undefined!");
1478
+ if (provider.apiKind !== name) {
1479
+ throw new TypeError(`Unexpected api name. Expected '${provider.apiKind}', received ${name}`);
1480
+ }
1481
+ const providerInfo = {
1482
+ url: provider.getUrl(),
1483
+ baseUrl: provider.baseUrl,
1484
+ route: provider.getRoute(),
1485
+ appendHeaders: provider.getHeaders(parameters),
1486
+ owner: provider.owner,
1487
+ method: provider.method
1488
+ };
1489
+ return provider.onFinish(providerInfo, parameters);
1490
+ };
1491
+
1492
+ // src/context/api/base.ts
1493
+ var BaseWorkflowApi = class {
1494
+ context;
1495
+ constructor({ context }) {
1496
+ this.context = context;
1497
+ }
1498
+ /**
1499
+ * context.call which uses a QStash API
1500
+ *
1501
+ * @param stepName
1502
+ * @param settings
1503
+ * @returns
1504
+ */
1505
+ async callApi(stepName, settings) {
1506
+ const { url, appendHeaders, method } = getProviderInfo(settings.api);
1507
+ const { method: userMethod, body, headers = {}, retries = 0, timeout } = settings;
1508
+ return await this.context.call(stepName, {
1509
+ url,
1510
+ method: userMethod ?? method,
1511
+ body,
1512
+ headers: {
1513
+ ...appendHeaders,
1514
+ ...headers
1515
+ },
1516
+ retries,
1517
+ timeout
1518
+ });
1519
+ }
1520
+ };
1521
+
1522
+ // src/context/api/anthropic.ts
1523
+ var AnthropicAPI = class extends BaseWorkflowApi {
1524
+ async call(stepName, settings) {
1525
+ const { token, operation, ...parameters } = settings;
1526
+ return await this.callApi(stepName, {
1527
+ api: {
1528
+ name: "llm",
1529
+ provider: (0, import_qstash4.anthropic)({ token })
1530
+ },
1531
+ ...parameters
1532
+ });
1533
+ }
1534
+ };
1535
+
1536
+ // src/context/api/openai.ts
1537
+ var import_qstash5 = require("@upstash/qstash");
1538
+ var OpenAIAPI = class extends BaseWorkflowApi {
1539
+ async call(stepName, settings) {
1540
+ const { token, organization, operation, ...parameters } = settings;
1541
+ return await this.callApi(stepName, {
1542
+ api: {
1543
+ name: "llm",
1544
+ provider: (0, import_qstash5.openai)({ token, organization })
1545
+ },
1546
+ ...parameters
1547
+ });
1548
+ }
1549
+ };
1550
+
1551
+ // src/context/api/resend.ts
1552
+ var import_qstash6 = require("@upstash/qstash");
1553
+ var ResendAPI = class extends BaseWorkflowApi {
1554
+ async call(stepName, settings) {
1555
+ const { token, batch = false, ...parameters } = settings;
1556
+ return await this.callApi(stepName, {
1557
+ api: {
1558
+ name: "email",
1559
+ provider: (0, import_qstash6.resend)({ token, batch })
1560
+ },
1561
+ ...parameters
1562
+ });
1563
+ }
1564
+ };
1565
+
1566
+ // src/context/api/index.ts
1567
+ var WorkflowApi = class extends BaseWorkflowApi {
1568
+ get openai() {
1569
+ return new OpenAIAPI({
1570
+ context: this.context
1571
+ });
1572
+ }
1573
+ get resend() {
1574
+ return new ResendAPI({
1575
+ context: this.context
1576
+ });
1577
+ }
1578
+ get anthropic() {
1579
+ return new AnthropicAPI({
1580
+ context: this.context
1581
+ });
1582
+ }
1583
+ };
1584
+
1464
1585
  // src/context/context.ts
1465
1586
  var WorkflowContext = class {
1466
1587
  executor;
@@ -1840,6 +1961,11 @@ var WorkflowContext = class {
1840
1961
  async addStep(step) {
1841
1962
  return await this.executor.addStep(step);
1842
1963
  }
1964
+ get api() {
1965
+ return new WorkflowApi({
1966
+ context: this
1967
+ });
1968
+ }
1843
1969
  };
1844
1970
 
1845
1971
  // src/logger.ts
@@ -1917,7 +2043,7 @@ function decodeBase64(base64) {
1917
2043
  }
1918
2044
 
1919
2045
  // src/serve/authorization.ts
1920
- var import_qstash4 = require("@upstash/qstash");
2046
+ var import_qstash7 = require("@upstash/qstash");
1921
2047
  var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
1922
2048
  static disabledMessage = "disabled-qstash-worklfow-run";
1923
2049
  /**
@@ -1948,7 +2074,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
1948
2074
  */
1949
2075
  static async tryAuthentication(routeFunction, context) {
1950
2076
  const disabledContext = new _DisabledWorkflowContext({
1951
- qstashClient: new import_qstash4.Client({
2077
+ qstashClient: new import_qstash7.Client({
1952
2078
  baseUrl: "disabled-client",
1953
2079
  token: "disabled-client"
1954
2080
  }),
@@ -2162,15 +2288,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
2162
2288
  };
2163
2289
 
2164
2290
  // src/serve/options.ts
2165
- var import_qstash5 = require("@upstash/qstash");
2166
- var import_qstash6 = require("@upstash/qstash");
2291
+ var import_qstash8 = require("@upstash/qstash");
2292
+ var import_qstash9 = require("@upstash/qstash");
2167
2293
  var processOptions = (options) => {
2168
2294
  const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
2169
2295
  const receiverEnvironmentVariablesSet = Boolean(
2170
2296
  environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
2171
2297
  );
2172
2298
  return {
2173
- qstashClient: new import_qstash6.Client({
2299
+ qstashClient: new import_qstash9.Client({
2174
2300
  baseUrl: environment.QSTASH_URL,
2175
2301
  token: environment.QSTASH_TOKEN
2176
2302
  }),
@@ -2204,7 +2330,7 @@ var processOptions = (options) => {
2204
2330
  throw error;
2205
2331
  }
2206
2332
  },
2207
- receiver: receiverEnvironmentVariablesSet ? new import_qstash5.Receiver({
2333
+ receiver: receiverEnvironmentVariablesSet ? new import_qstash8.Receiver({
2208
2334
  currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
2209
2335
  nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
2210
2336
  }) : void 0,
package/hono.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  serveBase
3
- } from "./chunk-Z7WS5XIR.mjs";
3
+ } from "./chunk-QBJ3LQIO.mjs";
4
4
 
5
5
  // platforms/hono.ts
6
6
  var serve = (routeFunction, options) => {
package/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, W as WorkflowServeOptions, N as NotifyResponse, a as Waiter, S as Step } from './types-APRap-aV.mjs';
2
- export { A as AsyncStepFunction, C as CallResponse, D as Duration, k as FailureFunctionPayload, F as FinishCondition, L as LogLevel, o as NotifyStepResponse, P as ParallelCallState, j as PublicServeOptions, g as RawStep, l as RequiredExceptFields, i as StepFunction, f as StepType, e as StepTypes, h as SyncStepFunction, p as WaitEventOptions, m as WaitRequest, n as WaitStepResponse, c as WorkflowClient, b as WorkflowContext, r as WorkflowLogger, q as WorkflowLoggerOptions, d as WorkflowReceiver } from './types-APRap-aV.mjs';
1
+ import { R as RouteFunction, W as WorkflowServeOptions, N as NotifyResponse, a as Waiter, S as Step } from './types-R9q4MUwl.mjs';
2
+ export { A as AsyncStepFunction, C as CallResponse, q as CallSettings, D as Duration, k as FailureFunctionPayload, F as FinishCondition, L as LogLevel, o as NotifyStepResponse, P as ParallelCallState, j as PublicServeOptions, g as RawStep, l as RequiredExceptFields, i as StepFunction, f as StepType, e as StepTypes, h as SyncStepFunction, p as WaitEventOptions, m as WaitRequest, n as WaitStepResponse, c as WorkflowClient, b as WorkflowContext, s as WorkflowLogger, r as WorkflowLoggerOptions, d as WorkflowReceiver } from './types-R9q4MUwl.mjs';
3
3
  import { Client as Client$1, QstashError } from '@upstash/qstash';
4
4
 
5
5
  /**
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RouteFunction, W as WorkflowServeOptions, N as NotifyResponse, a as Waiter, S as Step } from './types-APRap-aV.js';
2
- export { A as AsyncStepFunction, C as CallResponse, D as Duration, k as FailureFunctionPayload, F as FinishCondition, L as LogLevel, o as NotifyStepResponse, P as ParallelCallState, j as PublicServeOptions, g as RawStep, l as RequiredExceptFields, i as StepFunction, f as StepType, e as StepTypes, h as SyncStepFunction, p as WaitEventOptions, m as WaitRequest, n as WaitStepResponse, c as WorkflowClient, b as WorkflowContext, r as WorkflowLogger, q as WorkflowLoggerOptions, d as WorkflowReceiver } from './types-APRap-aV.js';
1
+ import { R as RouteFunction, W as WorkflowServeOptions, N as NotifyResponse, a as Waiter, S as Step } from './types-R9q4MUwl.js';
2
+ export { A as AsyncStepFunction, C as CallResponse, q as CallSettings, D as Duration, k as FailureFunctionPayload, F as FinishCondition, L as LogLevel, o as NotifyStepResponse, P as ParallelCallState, j as PublicServeOptions, g as RawStep, l as RequiredExceptFields, i as StepFunction, f as StepType, e as StepTypes, h as SyncStepFunction, p as WaitEventOptions, m as WaitRequest, n as WaitStepResponse, c as WorkflowClient, b as WorkflowContext, s as WorkflowLogger, r as WorkflowLoggerOptions, d as WorkflowReceiver } from './types-R9q4MUwl.js';
3
3
  import { Client as Client$1, QstashError } from '@upstash/qstash';
4
4
 
5
5
  /**
package/index.js CHANGED
@@ -1474,6 +1474,127 @@ var sortSteps = (steps) => {
1474
1474
  return [...steps].sort((step, stepOther) => getStepId(step) - getStepId(stepOther));
1475
1475
  };
1476
1476
 
1477
+ // src/context/api/anthropic.ts
1478
+ var import_qstash4 = require("@upstash/qstash");
1479
+
1480
+ // src/context/provider.ts
1481
+ var getProviderInfo = (api) => {
1482
+ if (!api.provider) {
1483
+ throw new WorkflowError("A Provider must be provided.");
1484
+ }
1485
+ if (api.provider.owner === "upstash") {
1486
+ throw new WorkflowError("Upstash provider isn't supported.");
1487
+ }
1488
+ const { name, provider, ...parameters } = api;
1489
+ if (!provider.baseUrl) throw new TypeError("baseUrl cannot be empty or undefined!");
1490
+ if (!provider.token) throw new TypeError("token cannot be empty or undefined!");
1491
+ if (provider.apiKind !== name) {
1492
+ throw new TypeError(`Unexpected api name. Expected '${provider.apiKind}', received ${name}`);
1493
+ }
1494
+ const providerInfo = {
1495
+ url: provider.getUrl(),
1496
+ baseUrl: provider.baseUrl,
1497
+ route: provider.getRoute(),
1498
+ appendHeaders: provider.getHeaders(parameters),
1499
+ owner: provider.owner,
1500
+ method: provider.method
1501
+ };
1502
+ return provider.onFinish(providerInfo, parameters);
1503
+ };
1504
+
1505
+ // src/context/api/base.ts
1506
+ var BaseWorkflowApi = class {
1507
+ context;
1508
+ constructor({ context }) {
1509
+ this.context = context;
1510
+ }
1511
+ /**
1512
+ * context.call which uses a QStash API
1513
+ *
1514
+ * @param stepName
1515
+ * @param settings
1516
+ * @returns
1517
+ */
1518
+ async callApi(stepName, settings) {
1519
+ const { url, appendHeaders, method } = getProviderInfo(settings.api);
1520
+ const { method: userMethod, body, headers = {}, retries = 0, timeout } = settings;
1521
+ return await this.context.call(stepName, {
1522
+ url,
1523
+ method: userMethod ?? method,
1524
+ body,
1525
+ headers: {
1526
+ ...appendHeaders,
1527
+ ...headers
1528
+ },
1529
+ retries,
1530
+ timeout
1531
+ });
1532
+ }
1533
+ };
1534
+
1535
+ // src/context/api/anthropic.ts
1536
+ var AnthropicAPI = class extends BaseWorkflowApi {
1537
+ async call(stepName, settings) {
1538
+ const { token, operation, ...parameters } = settings;
1539
+ return await this.callApi(stepName, {
1540
+ api: {
1541
+ name: "llm",
1542
+ provider: (0, import_qstash4.anthropic)({ token })
1543
+ },
1544
+ ...parameters
1545
+ });
1546
+ }
1547
+ };
1548
+
1549
+ // src/context/api/openai.ts
1550
+ var import_qstash5 = require("@upstash/qstash");
1551
+ var OpenAIAPI = class extends BaseWorkflowApi {
1552
+ async call(stepName, settings) {
1553
+ const { token, organization, operation, ...parameters } = settings;
1554
+ return await this.callApi(stepName, {
1555
+ api: {
1556
+ name: "llm",
1557
+ provider: (0, import_qstash5.openai)({ token, organization })
1558
+ },
1559
+ ...parameters
1560
+ });
1561
+ }
1562
+ };
1563
+
1564
+ // src/context/api/resend.ts
1565
+ var import_qstash6 = require("@upstash/qstash");
1566
+ var ResendAPI = class extends BaseWorkflowApi {
1567
+ async call(stepName, settings) {
1568
+ const { token, batch = false, ...parameters } = settings;
1569
+ return await this.callApi(stepName, {
1570
+ api: {
1571
+ name: "email",
1572
+ provider: (0, import_qstash6.resend)({ token, batch })
1573
+ },
1574
+ ...parameters
1575
+ });
1576
+ }
1577
+ };
1578
+
1579
+ // src/context/api/index.ts
1580
+ var WorkflowApi = class extends BaseWorkflowApi {
1581
+ get openai() {
1582
+ return new OpenAIAPI({
1583
+ context: this.context
1584
+ });
1585
+ }
1586
+ get resend() {
1587
+ return new ResendAPI({
1588
+ context: this.context
1589
+ });
1590
+ }
1591
+ get anthropic() {
1592
+ return new AnthropicAPI({
1593
+ context: this.context
1594
+ });
1595
+ }
1596
+ };
1597
+
1477
1598
  // src/context/context.ts
1478
1599
  var WorkflowContext = class {
1479
1600
  executor;
@@ -1853,6 +1974,11 @@ var WorkflowContext = class {
1853
1974
  async addStep(step) {
1854
1975
  return await this.executor.addStep(step);
1855
1976
  }
1977
+ get api() {
1978
+ return new WorkflowApi({
1979
+ context: this
1980
+ });
1981
+ }
1856
1982
  };
1857
1983
 
1858
1984
  // src/logger.ts
@@ -1930,7 +2056,7 @@ function decodeBase64(base64) {
1930
2056
  }
1931
2057
 
1932
2058
  // src/serve/authorization.ts
1933
- var import_qstash4 = require("@upstash/qstash");
2059
+ var import_qstash7 = require("@upstash/qstash");
1934
2060
  var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
1935
2061
  static disabledMessage = "disabled-qstash-worklfow-run";
1936
2062
  /**
@@ -1961,7 +2087,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
1961
2087
  */
1962
2088
  static async tryAuthentication(routeFunction, context) {
1963
2089
  const disabledContext = new _DisabledWorkflowContext({
1964
- qstashClient: new import_qstash4.Client({
2090
+ qstashClient: new import_qstash7.Client({
1965
2091
  baseUrl: "disabled-client",
1966
2092
  token: "disabled-client"
1967
2093
  }),
@@ -2175,15 +2301,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
2175
2301
  };
2176
2302
 
2177
2303
  // src/serve/options.ts
2178
- var import_qstash5 = require("@upstash/qstash");
2179
- var import_qstash6 = require("@upstash/qstash");
2304
+ var import_qstash8 = require("@upstash/qstash");
2305
+ var import_qstash9 = require("@upstash/qstash");
2180
2306
  var processOptions = (options) => {
2181
2307
  const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
2182
2308
  const receiverEnvironmentVariablesSet = Boolean(
2183
2309
  environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
2184
2310
  );
2185
2311
  return {
2186
- qstashClient: new import_qstash6.Client({
2312
+ qstashClient: new import_qstash9.Client({
2187
2313
  baseUrl: environment.QSTASH_URL,
2188
2314
  token: environment.QSTASH_TOKEN
2189
2315
  }),
@@ -2217,7 +2343,7 @@ var processOptions = (options) => {
2217
2343
  throw error;
2218
2344
  }
2219
2345
  },
2220
- receiver: receiverEnvironmentVariablesSet ? new import_qstash5.Receiver({
2346
+ receiver: receiverEnvironmentVariablesSet ? new import_qstash8.Receiver({
2221
2347
  currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
2222
2348
  nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
2223
2349
  }) : void 0,
@@ -2397,7 +2523,7 @@ var serve = (routeFunction, options) => {
2397
2523
  };
2398
2524
 
2399
2525
  // src/client/index.ts
2400
- var import_qstash7 = require("@upstash/qstash");
2526
+ var import_qstash10 = require("@upstash/qstash");
2401
2527
  var Client4 = class {
2402
2528
  client;
2403
2529
  constructor(clientConfig) {
@@ -2406,7 +2532,7 @@ var Client4 = class {
2406
2532
  "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 });"
2407
2533
  );
2408
2534
  }
2409
- this.client = new import_qstash7.Client(clientConfig);
2535
+ this.client = new import_qstash10.Client(clientConfig);
2410
2536
  }
2411
2537
  /**
2412
2538
  * Cancel an ongoing workflow
package/index.mjs CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  makeNotifyRequest,
11
11
  serve,
12
12
  triggerFirstInvocation
13
- } from "./chunk-Z7WS5XIR.mjs";
13
+ } from "./chunk-QBJ3LQIO.mjs";
14
14
 
15
15
  // src/client/index.ts
16
16
  import { Client as QStashClient } from "@upstash/qstash";
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-APRap-aV.mjs';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.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-APRap-aV.js';
2
+ import { R as RouteFunction, j as PublicServeOptions } from './types-R9q4MUwl.js';
3
3
  import '@upstash/qstash';
4
4
 
5
5
  /**