import type { LLMToolSchema, ToolDefinition, ToolPermission } from '../tool/index.js'; export type ToolSourceKind = 'host_tool' | 'provider_builtin' | 'mcp_server' | 'skill' | 'plugin' | 'connector'; export type ToolLoadingMode = 'eager' | 'deferred' | 'disabled' | 'suspended'; export interface ToolSource { readonly id: string; readonly kind: ToolSourceKind; readonly name: string; readonly description?: string; readonly provider?: string; readonly mcpServer?: { readonly name: string; readonly url?: string; readonly transport?: 'streamable_http' | 'sse' | 'stdio'; readonly authorizationRef?: string; }; readonly providerTool?: { readonly type: string; readonly name?: string; readonly beta?: string; }; readonly skill?: { readonly type: 'published' | 'custom'; readonly skillId: string; readonly version?: string; }; readonly metadata?: Record; } export interface ToolsetPolicy { readonly enabled?: boolean; readonly loading?: ToolLoadingMode; readonly preferred?: boolean; readonly providerConfig?: Record; } export interface ToolsetDefinition { readonly id: string; readonly sourceId: string; readonly name: string; readonly description?: string; readonly defaultPolicy?: ToolsetPolicy; readonly metadata?: Record; } export interface ToolCatalogEntry { readonly name: string; readonly description: string; readonly sourceId: string; readonly toolsetId: string; readonly policy: ToolsetPolicy; readonly definition?: ToolDefinition; readonly llmSchema?: LLMToolSchema; readonly permissions?: readonly ToolPermission[]; readonly category?: ToolDefinition['category']; readonly metadata?: Record; } export interface ToolCatalogSearchResult { readonly tool: ToolCatalogEntry; readonly source: ToolSource; readonly toolset: ToolsetDefinition; readonly score: number; readonly matched: readonly string[]; } export interface ToolCatalogSnapshot { readonly sources: readonly ToolSource[]; readonly toolsets: readonly ToolsetDefinition[]; readonly tools: readonly ToolCatalogEntry[]; } //# sourceMappingURL=index.d.ts.map