@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
36 lines (35 loc) • 1.85 kB
TypeScript
/**
* 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 `<available_skills>` 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<string, Tool>;
/**
* 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<string, Tool>;