@tanstack/ai
Version:
Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.
43 lines (42 loc) • 1.18 kB
JavaScript
function createGenerationContext(args) {
return {
requestId: args.requestId,
activity: args.activity,
provider: args.provider,
model: args.model,
modelOptions: args.modelOptions,
source: "server",
createId: args.createId,
context: void 0
};
}
async function run(middleware, invoke) {
if (!middleware || middleware.length === 0) return;
for (const mw of middleware) {
await invoke(mw);
}
}
function runGenerationStart(middleware, ctx) {
return run(middleware, (mw) => mw.onStart?.(ctx));
}
function runGenerationUsage(middleware, ctx, usage) {
return run(middleware, (mw) => mw.onUsage?.(ctx, usage));
}
function runGenerationFinish(middleware, ctx, info) {
return run(middleware, (mw) => mw.onFinish?.(ctx, info));
}
function runGenerationAbort(middleware, ctx, info) {
return run(middleware, (mw) => mw.onAbort?.(ctx, info));
}
function runGenerationError(middleware, ctx, info) {
return run(middleware, (mw) => mw.onError?.(ctx, info));
}
export {
createGenerationContext,
runGenerationAbort,
runGenerationError,
runGenerationFinish,
runGenerationStart,
runGenerationUsage
};
//# sourceMappingURL=run.js.map