import { type DirectToolSpecification } from "../catalog.js"; import { baseSchema } from "../input/resources/global.js"; export type DirectToolInput = Record & { queries: unknown[]; }; export type DirectToolDefinition = DirectToolSpecification; export type DirectToolCategory = "GitHub" | "Local Code" | "Package" | "Other"; export declare const DIRECT_TOOL_CATEGORIES: readonly DirectToolCategory[]; export interface DirectToolDisplayField { name: string; required: boolean; type: string; /** Numeric bounds and default, e.g. "1-100, default 30" — surfaced inline so * agents see the full constraint without fetching the raw JSON schema. */ constraints?: string | undefined; description?: string | undefined; } export interface DirectToolCommandPattern { label: string; query: Record; command: string; } export interface DirectToolMetadata { tools?: Record; }>; } export type DirectToolAutoFilledField = keyof typeof baseSchema.shape; export interface PrepareDirectToolInputOptions { sourceLabel?: string | undefined; /** Defaults to true. Set false only for deliberate field-filtering adapters. */ rejectUnknownFields?: boolean; onUnknownFields?: (unknownFields: string[], queryIndex: number) => void; } export declare class DirectToolInputError extends Error { readonly details: string[]; constructor(message: string, details?: string[]); } export declare const DIRECT_TOOL_AUTO_FILLED_FIELDS: ReadonlySet; /** Discovery and execution use the same canonical immutable specifications. */ export declare const DIRECT_TOOL_DEFINITIONS: readonly DirectToolSpecification[]; export declare const DIRECT_TOOL_DISCOVERY_DEFINITIONS: readonly DirectToolSpecification[]; export declare function findDirectToolDefinition(name: string): DirectToolDefinition | undefined; export declare function getDirectToolCategory(toolName: string): DirectToolCategory; export declare function sortDirectToolNames(toolNames: string[]): string[]; /** Whether a name belongs to the canonical agent-facing tool catalog. */ export declare function isToolInMetadata(toolName: string): boolean;