/** * Built-in skill tools. * * Two factories, mirroring the two disclosure levels: * * createSkillTools — instance tools registered once at construction: * list_skills (lightweight catalog) plus the gated skill_create / * skill_update / skill_delete mutation tools. * * createSkillCallTools — per-call tools injected into options.tools by * prepareGenerate/prepareStream (the RAG-tool pattern): use_skill, whose * description embeds the `` listing so the model * decides from context when a skill applies (no mandatory pre-flight * call), and read_skill_resource for on-demand auxiliary files. The * sessionId rides in by closure, so activations pin to the session * without runtime tool-context plumbing. * * The manager is resolved lazily via a resolver callback so tools can be * registered at construction time while the store initializes on first * use (mirrors how retrieve_context resolves conversationMemory lazily). */ import type { SkillCallToolsContext, SkillsManagerLike, SkillToolsOptions, Tool } from "../types/index.js"; /** * Per-call skill tools: use_skill + read_skill_resource. Injected into * options.tools for one generate()/stream() call; same-name entries shadow * any registered tool, so the description always reflects this call's * listing and scope. */ export declare function createSkillCallTools(resolveManager: () => SkillsManagerLike | null, context: SkillCallToolsContext): Record; /** * Instance skill tools bound to a lazily-resolved manager: list_skills * plus the gated mutation tools. Returns Vercel AI SDK tool() objects * (description + Zod inputSchema + execute) keyed by tool name. */ export declare function createSkillTools(resolveManager: () => SkillsManagerLike | null, options?: SkillToolsOptions): Record;