@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/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
|
|
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
|
|
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
|
|
2167
|
-
var
|
|
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
|
|
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
|
|
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
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@upstash/workflow","version":"v0.2.
|
|
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
package/solidjs.d.ts
CHANGED
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
|
|
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/solidjs.mjs
CHANGED
package/svelte.d.mts
CHANGED
package/svelte.d.ts
CHANGED
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
|
|
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,
|