/** * Code Mode — Type stub generation * * Converts Mastra tools into TypeScript `declare function external_(...)` * stubs and assembles the instructions the model sees. The pipeline is: * * tool.inputSchema (StandardSchemaWithJSON) * -> standardSchemaToJSONSchema() (already in core, zod v3 + v4 + arktype) * -> jsonSchemaToTsString() (this file, synchronous, dependency-free) * -> stub string * * Only the subset of JSON Schema that tool schemas actually produce is handled; * anything else degrades to `unknown`. */ import type { JSONSchema7Definition } from 'json-schema'; import type { ToolsInput } from '../../agent/types.js'; import type { CodeModeConfig } from './types.js'; /** * Convert a JSON Schema (draft-07) node into a TypeScript type string. * Unsupported constructs return `unknown`. */ export declare function jsonSchemaToTsString(schema: JSONSchema7Definition | undefined): string; /** A single tool's TS declaration plus the original/sanitized id mapping. */ export interface CodeModeStub { /** Original tool id (key used by the RPC dispatcher). */ toolId: string; /** Sanitized identifier used in `external_`. */ externalName: string; /** The full `declare function ...` line(s). */ declaration: string; } /** Generate stubs for every tool in the config. */ export declare function generateStubs(tools: ToolsInput): CodeModeStub[]; /** Build the full instructions string (usage contract + stubs). */ export declare function createCodeModeInstructions(config: CodeModeConfig): string; //# sourceMappingURL=stub-generator.d.ts.map