@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
TypeScript
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