@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/astro.d.mts +1 -1
- package/astro.d.ts +1 -1
- package/astro.js +132 -6
- package/astro.mjs +1 -1
- package/{chunk-Z7WS5XIR.mjs → chunk-QBJ3LQIO.mjs} +126 -0
- package/cloudflare.d.mts +1 -1
- package/cloudflare.d.ts +1 -1
- package/cloudflare.js +132 -6
- package/cloudflare.mjs +1 -1
- package/express.d.mts +1 -1
- package/express.d.ts +1 -1
- package/express.js +1507 -1245
- package/express.mjs +1387 -1251
- package/h3.d.mts +1 -1
- package/h3.d.ts +1 -1
- package/h3.js +132 -6
- package/h3.mjs +1 -1
- package/hono.d.mts +1 -1
- package/hono.d.ts +1 -1
- package/hono.js +132 -6
- package/hono.mjs +1 -1
- package/index.d.mts +2 -2
- package/index.d.ts +2 -2
- package/index.js +134 -8
- package/index.mjs +1 -1
- package/nextjs.d.mts +1 -1
- package/nextjs.d.ts +1 -1
- package/nextjs.js +132 -6
- package/nextjs.mjs +1 -1
- package/package.json +1 -1
- package/solidjs.d.mts +1 -1
- package/solidjs.d.ts +1 -1
- package/solidjs.js +132 -6
- package/solidjs.mjs +1 -1
- package/svelte.d.mts +1 -1
- package/svelte.d.ts +1 -1
- package/svelte.js +132 -6
- package/svelte.mjs +1 -1
- package/{types-APRap-aV.d.mts → types-R9q4MUwl.d.mts} +237 -11
- package/{types-APRap-aV.d.ts → types-R9q4MUwl.d.ts} +237 -11
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-
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
2478
|
-
var
|
|
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
|
|
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
|
|
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
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-
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
2166
|
-
var
|
|
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
|
|
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
|
|
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
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-
|
|
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,
|
|
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-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
2179
|
-
var
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2535
|
+
this.client = new import_qstash10.Client(clientConfig);
|
|
2410
2536
|
}
|
|
2411
2537
|
/**
|
|
2412
2538
|
* Cancel an ongoing workflow
|
package/index.mjs
CHANGED
package/nextjs.d.mts
CHANGED
package/nextjs.d.ts
CHANGED