@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/nextjs.js CHANGED
@@ -1462,6 +1462,127 @@ var sortSteps = (steps) => {
1462
1462
  return [...steps].sort((step, stepOther) => getStepId(step) - getStepId(stepOther));
1463
1463
  };
1464
1464
 
1465
+ // src/context/api/anthropic.ts
1466
+ var import_qstash4 = require("@upstash/qstash");
1467
+
1468
+ // src/context/provider.ts
1469
+ var getProviderInfo = (api) => {
1470
+ if (!api.provider) {
1471
+ throw new WorkflowError("A Provider must be provided.");
1472
+ }
1473
+ if (api.provider.owner === "upstash") {
1474
+ throw new WorkflowError("Upstash provider isn't supported.");
1475
+ }
1476
+ const { name, provider, ...parameters } = api;
1477
+ if (!provider.baseUrl) throw new TypeError("baseUrl cannot be empty or undefined!");
1478
+ if (!provider.token) throw new TypeError("token cannot be empty or undefined!");
1479
+ if (provider.apiKind !== name) {
1480
+ throw new TypeError(`Unexpected api name. Expected '${provider.apiKind}', received ${name}`);
1481
+ }
1482
+ const providerInfo = {
1483
+ url: provider.getUrl(),
1484
+ baseUrl: provider.baseUrl,
1485
+ route: provider.getRoute(),
1486
+ appendHeaders: provider.getHeaders(parameters),
1487
+ owner: provider.owner,
1488
+ method: provider.method
1489
+ };
1490
+ return provider.onFinish(providerInfo, parameters);
1491
+ };
1492
+
1493
+ // src/context/api/base.ts
1494
+ var BaseWorkflowApi = class {
1495
+ context;
1496
+ constructor({ context }) {
1497
+ this.context = context;
1498
+ }
1499
+ /**
1500
+ * context.call which uses a QStash API
1501
+ *
1502
+ * @param stepName
1503
+ * @param settings
1504
+ * @returns
1505
+ */
1506
+ async callApi(stepName, settings) {
1507
+ const { url, appendHeaders, method } = getProviderInfo(settings.api);
1508
+ const { method: userMethod, body, headers = {}, retries = 0, timeout } = settings;
1509
+ return await this.context.call(stepName, {
1510
+ url,
1511
+ method: userMethod ?? method,
1512
+ body,
1513
+ headers: {
1514
+ ...appendHeaders,
1515
+ ...headers
1516
+ },
1517
+ retries,
1518
+ timeout
1519
+ });
1520
+ }
1521
+ };
1522
+
1523
+ // src/context/api/anthropic.ts
1524
+ var AnthropicAPI = class extends BaseWorkflowApi {
1525
+ async call(stepName, settings) {
1526
+ const { token, operation, ...parameters } = settings;
1527
+ return await this.callApi(stepName, {
1528
+ api: {
1529
+ name: "llm",
1530
+ provider: (0, import_qstash4.anthropic)({ token })
1531
+ },
1532
+ ...parameters
1533
+ });
1534
+ }
1535
+ };
1536
+
1537
+ // src/context/api/openai.ts
1538
+ var import_qstash5 = require("@upstash/qstash");
1539
+ var OpenAIAPI = class extends BaseWorkflowApi {
1540
+ async call(stepName, settings) {
1541
+ const { token, organization, operation, ...parameters } = settings;
1542
+ return await this.callApi(stepName, {
1543
+ api: {
1544
+ name: "llm",
1545
+ provider: (0, import_qstash5.openai)({ token, organization })
1546
+ },
1547
+ ...parameters
1548
+ });
1549
+ }
1550
+ };
1551
+
1552
+ // src/context/api/resend.ts
1553
+ var import_qstash6 = require("@upstash/qstash");
1554
+ var ResendAPI = class extends BaseWorkflowApi {
1555
+ async call(stepName, settings) {
1556
+ const { token, batch = false, ...parameters } = settings;
1557
+ return await this.callApi(stepName, {
1558
+ api: {
1559
+ name: "email",
1560
+ provider: (0, import_qstash6.resend)({ token, batch })
1561
+ },
1562
+ ...parameters
1563
+ });
1564
+ }
1565
+ };
1566
+
1567
+ // src/context/api/index.ts
1568
+ var WorkflowApi = class extends BaseWorkflowApi {
1569
+ get openai() {
1570
+ return new OpenAIAPI({
1571
+ context: this.context
1572
+ });
1573
+ }
1574
+ get resend() {
1575
+ return new ResendAPI({
1576
+ context: this.context
1577
+ });
1578
+ }
1579
+ get anthropic() {
1580
+ return new AnthropicAPI({
1581
+ context: this.context
1582
+ });
1583
+ }
1584
+ };
1585
+
1465
1586
  // src/context/context.ts
1466
1587
  var WorkflowContext = class {
1467
1588
  executor;
@@ -1841,6 +1962,11 @@ var WorkflowContext = class {
1841
1962
  async addStep(step) {
1842
1963
  return await this.executor.addStep(step);
1843
1964
  }
1965
+ get api() {
1966
+ return new WorkflowApi({
1967
+ context: this
1968
+ });
1969
+ }
1844
1970
  };
1845
1971
 
1846
1972
  // src/logger.ts
@@ -1918,7 +2044,7 @@ function decodeBase64(base64) {
1918
2044
  }
1919
2045
 
1920
2046
  // src/serve/authorization.ts
1921
- var import_qstash4 = require("@upstash/qstash");
2047
+ var import_qstash7 = require("@upstash/qstash");
1922
2048
  var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowContext {
1923
2049
  static disabledMessage = "disabled-qstash-worklfow-run";
1924
2050
  /**
@@ -1949,7 +2075,7 @@ var DisabledWorkflowContext = class _DisabledWorkflowContext extends WorkflowCon
1949
2075
  */
1950
2076
  static async tryAuthentication(routeFunction, context) {
1951
2077
  const disabledContext = new _DisabledWorkflowContext({
1952
- qstashClient: new import_qstash4.Client({
2078
+ qstashClient: new import_qstash7.Client({
1953
2079
  baseUrl: "disabled-client",
1954
2080
  token: "disabled-client"
1955
2081
  }),
@@ -2163,15 +2289,15 @@ var handleFailure = async (request, requestPayload, qstashClient, initialPayload
2163
2289
  };
2164
2290
 
2165
2291
  // src/serve/options.ts
2166
- var import_qstash5 = require("@upstash/qstash");
2167
- var import_qstash6 = require("@upstash/qstash");
2292
+ var import_qstash8 = require("@upstash/qstash");
2293
+ var import_qstash9 = require("@upstash/qstash");
2168
2294
  var processOptions = (options) => {
2169
2295
  const environment = options?.env ?? (typeof process === "undefined" ? {} : process.env);
2170
2296
  const receiverEnvironmentVariablesSet = Boolean(
2171
2297
  environment.QSTASH_CURRENT_SIGNING_KEY && environment.QSTASH_NEXT_SIGNING_KEY
2172
2298
  );
2173
2299
  return {
2174
- qstashClient: new import_qstash6.Client({
2300
+ qstashClient: new import_qstash9.Client({
2175
2301
  baseUrl: environment.QSTASH_URL,
2176
2302
  token: environment.QSTASH_TOKEN
2177
2303
  }),
@@ -2205,7 +2331,7 @@ var processOptions = (options) => {
2205
2331
  throw error;
2206
2332
  }
2207
2333
  },
2208
- receiver: receiverEnvironmentVariablesSet ? new import_qstash5.Receiver({
2334
+ receiver: receiverEnvironmentVariablesSet ? new import_qstash8.Receiver({
2209
2335
  currentSigningKey: environment.QSTASH_CURRENT_SIGNING_KEY,
2210
2336
  nextSigningKey: environment.QSTASH_NEXT_SIGNING_KEY
2211
2337
  }) : void 0,
package/nextjs.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/nextjs.ts
6
6
  var serve = (routeFunction, options) => {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@upstash/workflow","version":"v0.2.2","description":"Durable, Reliable and Performant Serverless Functions","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","files":["./*"],"exports":{".":{"import":"./index.mjs","require":"./index.js"},"./dist/nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./h3":{"import":"./h3.mjs","require":"./h3.js"},"./svelte":{"import":"./svelte.mjs","require":"./svelte.js"},"./solidjs":{"import":"./solidjs.mjs","require":"./solidjs.js"},"./workflow":{"import":"./workflow.mjs","require":"./workflow.js"},"./hono":{"import":"./hono.mjs","require":"./hono.js"},"./cloudflare":{"import":"./cloudflare.mjs","require":"./cloudflare.js"},"./astro":{"import":"./astro.mjs","require":"./astro.js"},"./express":{"import":"./express.mjs","require":"./express.js"}},"scripts":{"build":"tsup && cp README.md ./dist/ && cp package.json ./dist/ && cp LICENSE ./dist/","test":"bun test src","fmt":"prettier --write .","lint":"tsc && eslint \"{src,platforms}/**/*.{js,ts,tsx}\" --quiet --fix","check-exports":"bun run build && cd dist && attw -P"},"repository":{"type":"git","url":"git+https://github.com/upstash/workflow-ts.git"},"keywords":["upstash","qstash","workflow","serverless"],"author":"Cahid Arda Oz","license":"MIT","bugs":{"url":"https://github.com/upstash/workflow-ts/issues"},"homepage":"https://github.com/upstash/workflow-ts#readme","devDependencies":{"@commitlint/cli":"^19.5.0","@commitlint/config-conventional":"^19.5.0","@eslint/js":"^9.11.1","@solidjs/start":"^1.0.8","@sveltejs/kit":"^2.6.1","@types/bun":"^1.1.10","@types/express":"^5.0.0","astro":"^4.16.7","eslint":"^9.11.1","eslint-plugin-unicorn":"^55.0.0","express":"^4.21.1","globals":"^15.10.0","h3":"^1.12.0","hono":"^4.6.3","husky":"^9.1.6","next":"^14.2.14","prettier":"3.3.3","tsc":"^2.0.4","tsup":"^8.3.0","typescript":"^5.6.3","typescript-eslint":"^8.8.0"},"dependencies":{"@upstash/qstash":"^2.7.17"},"directories":{"example":"examples"}}
1
+ {"name":"@upstash/workflow","version":"v0.2.3","description":"Durable, Reliable and Performant Serverless Functions","main":"./index.js","module":"./index.mjs","types":"./index.d.ts","files":["./*"],"exports":{".":{"import":"./index.mjs","require":"./index.js"},"./dist/nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./nextjs":{"import":"./nextjs.mjs","require":"./nextjs.js"},"./h3":{"import":"./h3.mjs","require":"./h3.js"},"./svelte":{"import":"./svelte.mjs","require":"./svelte.js"},"./solidjs":{"import":"./solidjs.mjs","require":"./solidjs.js"},"./workflow":{"import":"./workflow.mjs","require":"./workflow.js"},"./hono":{"import":"./hono.mjs","require":"./hono.js"},"./cloudflare":{"import":"./cloudflare.mjs","require":"./cloudflare.js"},"./astro":{"import":"./astro.mjs","require":"./astro.js"},"./express":{"import":"./express.mjs","require":"./express.js"}},"scripts":{"build":"tsup && cp README.md ./dist/ && cp package.json ./dist/ && cp LICENSE ./dist/","test":"bun test src","fmt":"prettier --write .","lint":"tsc && eslint \"{src,platforms}/**/*.{js,ts,tsx}\" --quiet --fix","check-exports":"bun run build && cd dist && attw -P"},"repository":{"type":"git","url":"git+https://github.com/upstash/workflow-ts.git"},"keywords":["upstash","qstash","workflow","serverless"],"author":"Cahid Arda Oz","license":"MIT","bugs":{"url":"https://github.com/upstash/workflow-ts/issues"},"homepage":"https://github.com/upstash/workflow-ts#readme","devDependencies":{"@commitlint/cli":"^19.5.0","@commitlint/config-conventional":"^19.5.0","@eslint/js":"^9.11.1","@solidjs/start":"^1.0.8","@sveltejs/kit":"^2.6.1","@types/bun":"^1.1.10","@types/express":"^5.0.0","astro":"^4.16.7","eslint":"^9.11.1","eslint-plugin-unicorn":"^55.0.0","express":"^4.21.1","globals":"^15.10.0","h3":"^1.12.0","hono":"^4.6.3","husky":"^9.1.6","next":"^14.2.14","prettier":"3.3.3","tsup":"^8.3.0","typescript":"^5.7.2","typescript-eslint":"^8.18.0"},"dependencies":{"@upstash/qstash":"^2.7.20"},"directories":{"example":"examples"}}
package/solidjs.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { APIEvent } from '@solidjs/start/server';
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/solidjs.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { APIEvent } from '@solidjs/start/server';
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
  /**
package/solidjs.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/solidjs.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/solidjs.ts
6
6
  var serve = (routeFunction, options) => {
package/svelte.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RequestHandler } from '@sveltejs/kit';
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/svelte.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RequestHandler } from '@sveltejs/kit';
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
  /**
package/svelte.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/svelte.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/svelte.ts
6
6
  var serve = (routeFunction, options) => {