kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
29 wiersze
722 B
TypeScript
29 wiersze
722 B
TypeScript
import {
|
|
type AIFunctionLike,
|
|
AIFunctionSet,
|
|
asAgenticSchema,
|
|
isZodSchema
|
|
} from '@agentic/core'
|
|
import { jsonSchema, tool } from 'ai'
|
|
|
|
/**
|
|
* Converts a set of Agentic stdlib AI functions to an object compatible with
|
|
* the Vercel AI SDK's `tools` parameter.
|
|
*/
|
|
export function createAISDKTools(...aiFunctionLikeTools: AIFunctionLike[]) {
|
|
const fns = new AIFunctionSet(aiFunctionLikeTools)
|
|
|
|
return Object.fromEntries(
|
|
fns.map((fn) => [
|
|
fn.spec.name,
|
|
tool({
|
|
description: fn.spec.description,
|
|
parameters: isZodSchema(fn.inputSchema)
|
|
? fn.inputSchema
|
|
: jsonSchema(asAgenticSchema(fn.inputSchema).jsonSchema),
|
|
execute: fn.execute
|
|
})
|
|
])
|
|
)
|
|
}
|