@upstash/workflow 0.2.11 → 0.2.12
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 +2 -2
- package/astro.d.ts +2 -2
- package/astro.js +69 -45
- package/astro.mjs +1 -1
- package/{chunk-WQAJ2RSZ.mjs → chunk-4GTHIL7S.mjs} +69 -45
- package/cloudflare.d.mts +2 -2
- package/cloudflare.d.ts +2 -2
- package/cloudflare.js +69 -45
- package/cloudflare.mjs +1 -1
- package/express.d.mts +2 -2
- package/express.d.ts +2 -2
- package/express.js +69 -45
- package/express.mjs +1 -1
- package/h3.d.mts +2 -2
- package/h3.d.ts +2 -2
- package/h3.js +69 -45
- package/h3.mjs +1 -1
- package/hono.d.mts +2 -2
- package/hono.d.ts +2 -2
- package/hono.js +69 -45
- package/hono.mjs +1 -1
- package/index.d.mts +8 -4
- package/index.d.ts +8 -4
- package/index.js +69 -45
- package/index.mjs +1 -1
- package/nextjs.d.mts +2 -2
- package/nextjs.d.ts +2 -2
- package/nextjs.js +69 -45
- package/nextjs.mjs +1 -1
- package/package.json +1 -1
- package/{serve-many-DNnLsDIp.d.ts → serve-many-BdMq5rFX.d.ts} +1 -1
- package/{serve-many-Fuovl7gl.d.mts → serve-many-DLguU9iR.d.mts} +1 -1
- package/solidjs.d.mts +1 -1
- package/solidjs.d.ts +1 -1
- package/solidjs.js +69 -45
- package/solidjs.mjs +1 -1
- package/svelte.d.mts +2 -2
- package/svelte.d.ts +2 -2
- package/svelte.js +69 -45
- package/svelte.mjs +1 -1
- package/{types-DS9q8FyV.d.ts → types-D1W0VOpy.d.mts} +56 -41
- package/{types-DS9q8FyV.d.mts → types-D1W0VOpy.d.ts} +56 -41
package/index.js
CHANGED
|
@@ -146,7 +146,7 @@ var formatWorkflowError = (error) => {
|
|
|
146
146
|
message: error.message
|
|
147
147
|
} : {
|
|
148
148
|
error: "Error",
|
|
149
|
-
message:
|
|
149
|
+
message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
|
|
150
150
|
};
|
|
151
151
|
};
|
|
152
152
|
|
|
@@ -1985,6 +1985,9 @@ var WorkflowApi = class extends BaseWorkflowApi {
|
|
|
1985
1985
|
}
|
|
1986
1986
|
};
|
|
1987
1987
|
|
|
1988
|
+
// src/agents/index.ts
|
|
1989
|
+
var import_openai3 = require("@ai-sdk/openai");
|
|
1990
|
+
|
|
1988
1991
|
// src/agents/adapters.ts
|
|
1989
1992
|
var import_openai2 = require("@ai-sdk/openai");
|
|
1990
1993
|
var import_ai = require("ai");
|
|
@@ -2004,46 +2007,49 @@ you need from that agent.
|
|
|
2004
2007
|
`;
|
|
2005
2008
|
|
|
2006
2009
|
// src/agents/adapters.ts
|
|
2007
|
-
var
|
|
2008
|
-
const
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
2040
|
-
throw error;
|
|
2041
|
-
} else {
|
|
2042
|
-
console.error("Error in fetch implementation:", error);
|
|
2043
|
-
throw error;
|
|
2044
|
-
}
|
|
2045
|
-
}
|
|
2010
|
+
var fetchWithContextCall = async (context, ...params) => {
|
|
2011
|
+
const [input, init] = params;
|
|
2012
|
+
try {
|
|
2013
|
+
const headers = init?.headers ? Object.fromEntries(new Headers(init.headers).entries()) : {};
|
|
2014
|
+
const body = init?.body ? JSON.parse(init.body) : void 0;
|
|
2015
|
+
const agentName = headers[AGENT_NAME_HEADER];
|
|
2016
|
+
const stepName = agentName ? `Call Agent ${agentName}` : "Call Agent";
|
|
2017
|
+
const responseInfo = await context.call(stepName, {
|
|
2018
|
+
url: input.toString(),
|
|
2019
|
+
method: init?.method,
|
|
2020
|
+
headers,
|
|
2021
|
+
body
|
|
2022
|
+
});
|
|
2023
|
+
const responseHeaders = new Headers(
|
|
2024
|
+
Object.entries(responseInfo.header).reduce(
|
|
2025
|
+
(acc, [key, values]) => {
|
|
2026
|
+
acc[key] = values.join(", ");
|
|
2027
|
+
return acc;
|
|
2028
|
+
},
|
|
2029
|
+
{}
|
|
2030
|
+
)
|
|
2031
|
+
);
|
|
2032
|
+
return new Response(JSON.stringify(responseInfo.body), {
|
|
2033
|
+
status: responseInfo.status,
|
|
2034
|
+
headers: responseHeaders
|
|
2035
|
+
});
|
|
2036
|
+
} catch (error) {
|
|
2037
|
+
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
2038
|
+
throw error;
|
|
2039
|
+
} else {
|
|
2040
|
+
console.error("Error in fetch implementation:", error);
|
|
2041
|
+
throw error;
|
|
2046
2042
|
}
|
|
2043
|
+
}
|
|
2044
|
+
};
|
|
2045
|
+
var createWorkflowModel = ({
|
|
2046
|
+
context,
|
|
2047
|
+
provider,
|
|
2048
|
+
providerParams
|
|
2049
|
+
}) => {
|
|
2050
|
+
return provider({
|
|
2051
|
+
fetch: (...params) => fetchWithContextCall(context, ...params),
|
|
2052
|
+
...providerParams
|
|
2047
2053
|
});
|
|
2048
2054
|
};
|
|
2049
2055
|
var wrapTools = ({
|
|
@@ -2314,9 +2320,14 @@ var WorkflowAgents = class {
|
|
|
2314
2320
|
openai(...params) {
|
|
2315
2321
|
const [model, settings] = params;
|
|
2316
2322
|
const { baseURL, apiKey, ...otherSettings } = settings ?? {};
|
|
2317
|
-
const
|
|
2318
|
-
|
|
2323
|
+
const openaiModel = this.AISDKModel({
|
|
2324
|
+
context: this.context,
|
|
2325
|
+
provider: import_openai3.createOpenAI,
|
|
2326
|
+
providerParams: { baseURL, apiKey, compatibility: "strict" }
|
|
2327
|
+
});
|
|
2328
|
+
return openaiModel(model, otherSettings);
|
|
2319
2329
|
}
|
|
2330
|
+
AISDKModel = createWorkflowModel;
|
|
2320
2331
|
};
|
|
2321
2332
|
|
|
2322
2333
|
// src/context/context.ts
|
|
@@ -3039,6 +3050,7 @@ var processOptions = (options) => {
|
|
|
3039
3050
|
retries: DEFAULT_RETRIES,
|
|
3040
3051
|
useJSONContent: false,
|
|
3041
3052
|
disableTelemetry: false,
|
|
3053
|
+
onError: console.error,
|
|
3042
3054
|
...options
|
|
3043
3055
|
};
|
|
3044
3056
|
};
|
|
@@ -3088,7 +3100,8 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
3088
3100
|
retries,
|
|
3089
3101
|
useJSONContent,
|
|
3090
3102
|
disableTelemetry,
|
|
3091
|
-
flowControl
|
|
3103
|
+
flowControl,
|
|
3104
|
+
onError
|
|
3092
3105
|
} = processOptions(options);
|
|
3093
3106
|
telemetry = disableTelemetry ? void 0 : telemetry;
|
|
3094
3107
|
const debug = WorkflowLogger.getLogger(verbose);
|
|
@@ -3217,8 +3230,19 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
3217
3230
|
try {
|
|
3218
3231
|
return await handler(request);
|
|
3219
3232
|
} catch (error) {
|
|
3220
|
-
|
|
3221
|
-
|
|
3233
|
+
const formattedError = formatWorkflowError(error);
|
|
3234
|
+
try {
|
|
3235
|
+
onError?.(error);
|
|
3236
|
+
} catch (onErrorError) {
|
|
3237
|
+
const formattedOnErrorError = formatWorkflowError(onErrorError);
|
|
3238
|
+
const errorMessage = `Error while running onError callback: '${formattedOnErrorError.message}'.
|
|
3239
|
+
Original error: '${formattedError.message}'`;
|
|
3240
|
+
console.error(errorMessage);
|
|
3241
|
+
return new Response(errorMessage, {
|
|
3242
|
+
status: 500
|
|
3243
|
+
});
|
|
3244
|
+
}
|
|
3245
|
+
return new Response(JSON.stringify(formattedError), {
|
|
3222
3246
|
status: 500
|
|
3223
3247
|
});
|
|
3224
3248
|
}
|
package/index.mjs
CHANGED
package/nextjs.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
-
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-
|
|
3
|
-
import { s as serveManyBase } from './serve-many-
|
|
2
|
+
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-D1W0VOpy.mjs';
|
|
3
|
+
import { s as serveManyBase } from './serve-many-DLguU9iR.mjs';
|
|
4
4
|
import '@upstash/qstash';
|
|
5
5
|
import 'zod';
|
|
6
6
|
import 'ai';
|
package/nextjs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
-
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-
|
|
3
|
-
import { s as serveManyBase } from './serve-many-
|
|
2
|
+
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-D1W0VOpy.js';
|
|
3
|
+
import { s as serveManyBase } from './serve-many-BdMq5rFX.js';
|
|
4
4
|
import '@upstash/qstash';
|
|
5
5
|
import 'zod';
|
|
6
6
|
import 'ai';
|
package/nextjs.js
CHANGED
|
@@ -137,7 +137,7 @@ var formatWorkflowError = (error) => {
|
|
|
137
137
|
message: error.message
|
|
138
138
|
} : {
|
|
139
139
|
error: "Error",
|
|
140
|
-
message:
|
|
140
|
+
message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
|
|
141
141
|
};
|
|
142
142
|
};
|
|
143
143
|
|
|
@@ -2037,6 +2037,9 @@ var WorkflowApi = class extends BaseWorkflowApi {
|
|
|
2037
2037
|
}
|
|
2038
2038
|
};
|
|
2039
2039
|
|
|
2040
|
+
// src/agents/index.ts
|
|
2041
|
+
var import_openai3 = require("@ai-sdk/openai");
|
|
2042
|
+
|
|
2040
2043
|
// src/agents/adapters.ts
|
|
2041
2044
|
var import_openai2 = require("@ai-sdk/openai");
|
|
2042
2045
|
var import_ai = require("ai");
|
|
@@ -2056,46 +2059,49 @@ you need from that agent.
|
|
|
2056
2059
|
`;
|
|
2057
2060
|
|
|
2058
2061
|
// src/agents/adapters.ts
|
|
2059
|
-
var
|
|
2060
|
-
const
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
2092
|
-
throw error;
|
|
2093
|
-
} else {
|
|
2094
|
-
console.error("Error in fetch implementation:", error);
|
|
2095
|
-
throw error;
|
|
2096
|
-
}
|
|
2097
|
-
}
|
|
2062
|
+
var fetchWithContextCall = async (context, ...params) => {
|
|
2063
|
+
const [input, init] = params;
|
|
2064
|
+
try {
|
|
2065
|
+
const headers = init?.headers ? Object.fromEntries(new Headers(init.headers).entries()) : {};
|
|
2066
|
+
const body = init?.body ? JSON.parse(init.body) : void 0;
|
|
2067
|
+
const agentName = headers[AGENT_NAME_HEADER];
|
|
2068
|
+
const stepName = agentName ? `Call Agent ${agentName}` : "Call Agent";
|
|
2069
|
+
const responseInfo = await context.call(stepName, {
|
|
2070
|
+
url: input.toString(),
|
|
2071
|
+
method: init?.method,
|
|
2072
|
+
headers,
|
|
2073
|
+
body
|
|
2074
|
+
});
|
|
2075
|
+
const responseHeaders = new Headers(
|
|
2076
|
+
Object.entries(responseInfo.header).reduce(
|
|
2077
|
+
(acc, [key, values]) => {
|
|
2078
|
+
acc[key] = values.join(", ");
|
|
2079
|
+
return acc;
|
|
2080
|
+
},
|
|
2081
|
+
{}
|
|
2082
|
+
)
|
|
2083
|
+
);
|
|
2084
|
+
return new Response(JSON.stringify(responseInfo.body), {
|
|
2085
|
+
status: responseInfo.status,
|
|
2086
|
+
headers: responseHeaders
|
|
2087
|
+
});
|
|
2088
|
+
} catch (error) {
|
|
2089
|
+
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
2090
|
+
throw error;
|
|
2091
|
+
} else {
|
|
2092
|
+
console.error("Error in fetch implementation:", error);
|
|
2093
|
+
throw error;
|
|
2098
2094
|
}
|
|
2095
|
+
}
|
|
2096
|
+
};
|
|
2097
|
+
var createWorkflowModel = ({
|
|
2098
|
+
context,
|
|
2099
|
+
provider,
|
|
2100
|
+
providerParams
|
|
2101
|
+
}) => {
|
|
2102
|
+
return provider({
|
|
2103
|
+
fetch: (...params) => fetchWithContextCall(context, ...params),
|
|
2104
|
+
...providerParams
|
|
2099
2105
|
});
|
|
2100
2106
|
};
|
|
2101
2107
|
var wrapTools = ({
|
|
@@ -2335,9 +2341,14 @@ var WorkflowAgents = class {
|
|
|
2335
2341
|
openai(...params) {
|
|
2336
2342
|
const [model, settings] = params;
|
|
2337
2343
|
const { baseURL, apiKey, ...otherSettings } = settings ?? {};
|
|
2338
|
-
const
|
|
2339
|
-
|
|
2344
|
+
const openaiModel = this.AISDKModel({
|
|
2345
|
+
context: this.context,
|
|
2346
|
+
provider: import_openai3.createOpenAI,
|
|
2347
|
+
providerParams: { baseURL, apiKey, compatibility: "strict" }
|
|
2348
|
+
});
|
|
2349
|
+
return openaiModel(model, otherSettings);
|
|
2340
2350
|
}
|
|
2351
|
+
AISDKModel = createWorkflowModel;
|
|
2341
2352
|
};
|
|
2342
2353
|
|
|
2343
2354
|
// src/context/context.ts
|
|
@@ -3060,6 +3071,7 @@ var processOptions = (options) => {
|
|
|
3060
3071
|
retries: DEFAULT_RETRIES,
|
|
3061
3072
|
useJSONContent: false,
|
|
3062
3073
|
disableTelemetry: false,
|
|
3074
|
+
onError: console.error,
|
|
3063
3075
|
...options
|
|
3064
3076
|
};
|
|
3065
3077
|
};
|
|
@@ -3109,7 +3121,8 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
3109
3121
|
retries,
|
|
3110
3122
|
useJSONContent,
|
|
3111
3123
|
disableTelemetry,
|
|
3112
|
-
flowControl
|
|
3124
|
+
flowControl,
|
|
3125
|
+
onError
|
|
3113
3126
|
} = processOptions(options);
|
|
3114
3127
|
telemetry = disableTelemetry ? void 0 : telemetry;
|
|
3115
3128
|
const debug = WorkflowLogger.getLogger(verbose);
|
|
@@ -3238,8 +3251,19 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
3238
3251
|
try {
|
|
3239
3252
|
return await handler(request);
|
|
3240
3253
|
} catch (error) {
|
|
3241
|
-
|
|
3242
|
-
|
|
3254
|
+
const formattedError = formatWorkflowError(error);
|
|
3255
|
+
try {
|
|
3256
|
+
onError?.(error);
|
|
3257
|
+
} catch (onErrorError) {
|
|
3258
|
+
const formattedOnErrorError = formatWorkflowError(onErrorError);
|
|
3259
|
+
const errorMessage = `Error while running onError callback: '${formattedOnErrorError.message}'.
|
|
3260
|
+
Original error: '${formattedError.message}'`;
|
|
3261
|
+
console.error(errorMessage);
|
|
3262
|
+
return new Response(errorMessage, {
|
|
3263
|
+
status: 500
|
|
3264
|
+
});
|
|
3265
|
+
}
|
|
3266
|
+
return new Response(JSON.stringify(formattedError), {
|
|
3243
3267
|
status: 500
|
|
3244
3268
|
});
|
|
3245
3269
|
}
|
package/nextjs.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@upstash/workflow","version":"v0.2.
|
|
1
|
+
{"name":"@upstash/workflow","version":"v0.2.12","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":{"@ai-sdk/anthropic":"^1.1.15","@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.20","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":{"@ai-sdk/openai":"^1.0.15","@upstash/qstash":"^2.7.22","ai":"^4.0.30","zod":"^3.24.1"},"directories":{"example":"examples"}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { k as PublicServeOptions, R as RouteFunction, t as InvokableWorkflow } from './types-
|
|
1
|
+
import { k as PublicServeOptions, R as RouteFunction, t as InvokableWorkflow } from './types-D1W0VOpy.js';
|
|
2
2
|
|
|
3
3
|
type OmitOptionsInServeMany<TOptions> = Omit<TOptions, "env" | "url" | "schema" | "initialPayloadParser">;
|
|
4
4
|
declare const serveManyBase: <THandler extends (...params: any[]) => any, TOptions extends OmitOptionsInServeMany<PublicServeOptions> = OmitOptionsInServeMany<PublicServeOptions>, TServeParams extends [routeFunction: RouteFunction<any, any>, options: TOptions] = [routeFunction: RouteFunction<any, any>, options: TOptions]>({ workflows, getUrl, serveMethod, options, }: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { k as PublicServeOptions, R as RouteFunction, t as InvokableWorkflow } from './types-
|
|
1
|
+
import { k as PublicServeOptions, R as RouteFunction, t as InvokableWorkflow } from './types-D1W0VOpy.mjs';
|
|
2
2
|
|
|
3
3
|
type OmitOptionsInServeMany<TOptions> = Omit<TOptions, "env" | "url" | "schema" | "initialPayloadParser">;
|
|
4
4
|
declare const serveManyBase: <THandler extends (...params: any[]) => any, TOptions extends OmitOptionsInServeMany<PublicServeOptions> = OmitOptionsInServeMany<PublicServeOptions>, TServeParams extends [routeFunction: RouteFunction<any, any>, options: TOptions] = [routeFunction: RouteFunction<any, any>, options: TOptions]>({ workflows, getUrl, serveMethod, options, }: {
|
package/solidjs.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { APIEvent } from '@solidjs/start/server';
|
|
2
|
-
import { R as RouteFunction, k as PublicServeOptions } from './types-
|
|
2
|
+
import { R as RouteFunction, k as PublicServeOptions } from './types-D1W0VOpy.mjs';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'ai';
|
package/solidjs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { APIEvent } from '@solidjs/start/server';
|
|
2
|
-
import { R as RouteFunction, k as PublicServeOptions } from './types-
|
|
2
|
+
import { R as RouteFunction, k as PublicServeOptions } from './types-D1W0VOpy.js';
|
|
3
3
|
import '@upstash/qstash';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'ai';
|
package/solidjs.js
CHANGED
|
@@ -132,7 +132,7 @@ var formatWorkflowError = (error) => {
|
|
|
132
132
|
message: error.message
|
|
133
133
|
} : {
|
|
134
134
|
error: "Error",
|
|
135
|
-
message:
|
|
135
|
+
message: `An error occured while executing workflow: '${typeof error === "string" ? error : JSON.stringify(error)}'`
|
|
136
136
|
};
|
|
137
137
|
};
|
|
138
138
|
|
|
@@ -1971,6 +1971,9 @@ var WorkflowApi = class extends BaseWorkflowApi {
|
|
|
1971
1971
|
}
|
|
1972
1972
|
};
|
|
1973
1973
|
|
|
1974
|
+
// src/agents/index.ts
|
|
1975
|
+
var import_openai3 = require("@ai-sdk/openai");
|
|
1976
|
+
|
|
1974
1977
|
// src/agents/adapters.ts
|
|
1975
1978
|
var import_openai2 = require("@ai-sdk/openai");
|
|
1976
1979
|
var import_ai = require("ai");
|
|
@@ -1990,46 +1993,49 @@ you need from that agent.
|
|
|
1990
1993
|
`;
|
|
1991
1994
|
|
|
1992
1995
|
// src/agents/adapters.ts
|
|
1993
|
-
var
|
|
1994
|
-
const
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
2026
|
-
throw error;
|
|
2027
|
-
} else {
|
|
2028
|
-
console.error("Error in fetch implementation:", error);
|
|
2029
|
-
throw error;
|
|
2030
|
-
}
|
|
2031
|
-
}
|
|
1996
|
+
var fetchWithContextCall = async (context, ...params) => {
|
|
1997
|
+
const [input, init] = params;
|
|
1998
|
+
try {
|
|
1999
|
+
const headers = init?.headers ? Object.fromEntries(new Headers(init.headers).entries()) : {};
|
|
2000
|
+
const body = init?.body ? JSON.parse(init.body) : void 0;
|
|
2001
|
+
const agentName = headers[AGENT_NAME_HEADER];
|
|
2002
|
+
const stepName = agentName ? `Call Agent ${agentName}` : "Call Agent";
|
|
2003
|
+
const responseInfo = await context.call(stepName, {
|
|
2004
|
+
url: input.toString(),
|
|
2005
|
+
method: init?.method,
|
|
2006
|
+
headers,
|
|
2007
|
+
body
|
|
2008
|
+
});
|
|
2009
|
+
const responseHeaders = new Headers(
|
|
2010
|
+
Object.entries(responseInfo.header).reduce(
|
|
2011
|
+
(acc, [key, values]) => {
|
|
2012
|
+
acc[key] = values.join(", ");
|
|
2013
|
+
return acc;
|
|
2014
|
+
},
|
|
2015
|
+
{}
|
|
2016
|
+
)
|
|
2017
|
+
);
|
|
2018
|
+
return new Response(JSON.stringify(responseInfo.body), {
|
|
2019
|
+
status: responseInfo.status,
|
|
2020
|
+
headers: responseHeaders
|
|
2021
|
+
});
|
|
2022
|
+
} catch (error) {
|
|
2023
|
+
if (error instanceof Error && error.name === "WorkflowAbort") {
|
|
2024
|
+
throw error;
|
|
2025
|
+
} else {
|
|
2026
|
+
console.error("Error in fetch implementation:", error);
|
|
2027
|
+
throw error;
|
|
2032
2028
|
}
|
|
2029
|
+
}
|
|
2030
|
+
};
|
|
2031
|
+
var createWorkflowModel = ({
|
|
2032
|
+
context,
|
|
2033
|
+
provider,
|
|
2034
|
+
providerParams
|
|
2035
|
+
}) => {
|
|
2036
|
+
return provider({
|
|
2037
|
+
fetch: (...params) => fetchWithContextCall(context, ...params),
|
|
2038
|
+
...providerParams
|
|
2033
2039
|
});
|
|
2034
2040
|
};
|
|
2035
2041
|
var wrapTools = ({
|
|
@@ -2269,9 +2275,14 @@ var WorkflowAgents = class {
|
|
|
2269
2275
|
openai(...params) {
|
|
2270
2276
|
const [model, settings] = params;
|
|
2271
2277
|
const { baseURL, apiKey, ...otherSettings } = settings ?? {};
|
|
2272
|
-
const
|
|
2273
|
-
|
|
2278
|
+
const openaiModel = this.AISDKModel({
|
|
2279
|
+
context: this.context,
|
|
2280
|
+
provider: import_openai3.createOpenAI,
|
|
2281
|
+
providerParams: { baseURL, apiKey, compatibility: "strict" }
|
|
2282
|
+
});
|
|
2283
|
+
return openaiModel(model, otherSettings);
|
|
2274
2284
|
}
|
|
2285
|
+
AISDKModel = createWorkflowModel;
|
|
2275
2286
|
};
|
|
2276
2287
|
|
|
2277
2288
|
// src/context/context.ts
|
|
@@ -2994,6 +3005,7 @@ var processOptions = (options) => {
|
|
|
2994
3005
|
retries: DEFAULT_RETRIES,
|
|
2995
3006
|
useJSONContent: false,
|
|
2996
3007
|
disableTelemetry: false,
|
|
3008
|
+
onError: console.error,
|
|
2997
3009
|
...options
|
|
2998
3010
|
};
|
|
2999
3011
|
};
|
|
@@ -3043,7 +3055,8 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
3043
3055
|
retries,
|
|
3044
3056
|
useJSONContent,
|
|
3045
3057
|
disableTelemetry,
|
|
3046
|
-
flowControl
|
|
3058
|
+
flowControl,
|
|
3059
|
+
onError
|
|
3047
3060
|
} = processOptions(options);
|
|
3048
3061
|
telemetry = disableTelemetry ? void 0 : telemetry;
|
|
3049
3062
|
const debug = WorkflowLogger.getLogger(verbose);
|
|
@@ -3172,8 +3185,19 @@ var serveBase = (routeFunction, telemetry, options) => {
|
|
|
3172
3185
|
try {
|
|
3173
3186
|
return await handler(request);
|
|
3174
3187
|
} catch (error) {
|
|
3175
|
-
|
|
3176
|
-
|
|
3188
|
+
const formattedError = formatWorkflowError(error);
|
|
3189
|
+
try {
|
|
3190
|
+
onError?.(error);
|
|
3191
|
+
} catch (onErrorError) {
|
|
3192
|
+
const formattedOnErrorError = formatWorkflowError(onErrorError);
|
|
3193
|
+
const errorMessage = `Error while running onError callback: '${formattedOnErrorError.message}'.
|
|
3194
|
+
Original error: '${formattedError.message}'`;
|
|
3195
|
+
console.error(errorMessage);
|
|
3196
|
+
return new Response(errorMessage, {
|
|
3197
|
+
status: 500
|
|
3198
|
+
});
|
|
3199
|
+
}
|
|
3200
|
+
return new Response(JSON.stringify(formattedError), {
|
|
3177
3201
|
status: 500
|
|
3178
3202
|
});
|
|
3179
3203
|
}
|
package/solidjs.mjs
CHANGED
package/svelte.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _sveltejs_kit from '@sveltejs/kit';
|
|
2
2
|
import { RequestHandler } from '@sveltejs/kit';
|
|
3
|
-
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-
|
|
4
|
-
import { s as serveManyBase } from './serve-many-
|
|
3
|
+
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-D1W0VOpy.mjs';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-DLguU9iR.mjs';
|
|
5
5
|
import '@upstash/qstash';
|
|
6
6
|
import 'zod';
|
|
7
7
|
import 'ai';
|
package/svelte.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _sveltejs_kit from '@sveltejs/kit';
|
|
2
2
|
import { RequestHandler } from '@sveltejs/kit';
|
|
3
|
-
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-
|
|
4
|
-
import { s as serveManyBase } from './serve-many-
|
|
3
|
+
import { R as RouteFunction, k as PublicServeOptions, t as InvokableWorkflow } from './types-D1W0VOpy.js';
|
|
4
|
+
import { s as serveManyBase } from './serve-many-BdMq5rFX.js';
|
|
5
5
|
import '@upstash/qstash';
|
|
6
6
|
import 'zod';
|
|
7
7
|
import 'ai';
|