UNPKG

@antl3x/toolrag

Version:

Context-aware tool retrieval for language models - unlock the full potential of LLM function calling without context window limitations or constraints.

208 lines 10.8 kB
import { Tool as OpenAITool } from 'openai/src/resources/responses/responses.js'; import { z } from 'zod'; import { ToolRAGConfigInput } from './ToolRAGConfig'; declare const mcpToolSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional<z.ZodString>; inputSchema: z.ZodObject<{ type: z.ZodLiteral<"object">; properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { type: "object"; properties?: Record<string, any> | undefined; }, { type: "object"; properties?: Record<string, any> | undefined; }>; }, "strip", z.ZodTypeAny, { name: string; inputSchema: { type: "object"; properties?: Record<string, any> | undefined; }; description?: string | undefined; }, { name: string; inputSchema: { type: "object"; properties?: Record<string, any> | undefined; }; description?: string | undefined; }>; type MCPTool = z.infer<typeof mcpToolSchema>; declare class ToolRAG { private _mcpClients; private _mcpTools; private _toolToClientMap; private _embeddingProvider; private _db; private _config; private _log; private _db_table_name; constructor(config?: ToolRAGConfigInput); static init(config?: ToolRAGConfigInput): Promise<ToolRAG>; private _initEmbeddingProvider; private _initMcpServers; private _hashTool; private _ensureInitialized; _initDatabase(): Promise<void>; private _registerMcpServer; private _formatToolText; _generateToolsEmbeddings(tools: MCPTool[]): Promise<{ tool: { name: string; inputSchema: { type: "object"; properties?: Record<string, any> | undefined; }; description?: string | undefined; }; toolName: string; toolHash: string; embedding: number[]; toolText: string; }[]>; private _refreshToolsEmbeddings; _pruneMissingTools(): Promise<number>; _findSimilarToolsByVector(query: string): Promise<{ toolName: string; relevance: number; tool: any; }[]>; private _convertToOpenAIFunction; listTools(query: string, options?: { relevanceThreshold?: number; }): Promise<OpenAITool[]>; callTool(toolName: string, input: any): Promise<z.objectOutputType<z.objectUtil.extendShape<{ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>; }, { content: import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodObject<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"text">; text: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"image">; data: import("zod").ZodString; mimeType: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ type: import("zod").ZodLiteral<"resource">; resource: import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { text: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{ uri: import("zod").ZodString; mimeType: import("zod").ZodOptional<import("zod").ZodString>; }, { blob: import("zod").ZodString; }>, import("zod").ZodTypeAny, "passthrough">>]>; }, import("zod").ZodTypeAny, "passthrough">>]>, "many">; isError: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>; }>, z.ZodTypeAny, "passthrough"> | z.objectOutputType<z.objectUtil.extendShape<{ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>; }, { toolResult: import("zod").ZodUnknown; }>, z.ZodTypeAny, "passthrough">>; } export default ToolRAG; //# sourceMappingURL=ToolRAG.d.ts.map