export { type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, createBashTool, createBashToolDefinition, createLocalBashOperations, } from "./bash.js"; export { createEditTool, createEditToolDefinition, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, } from "./edit.js"; export { withFileMutationQueue } from "./file-mutation-queue.js"; export { createReadTool, createReadToolDefinition, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, } from "./read.js"; export { buildTaskMainPrompt, createTaskOutputToolDefinition, createTaskToolDefinition, type TaskOutputDetails, type TaskToolDetails, } from "./subagent.js"; export { createTodoWriteToolDefinition, type TodoWriteDetails } from "./todo.js"; export { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, } from "./truncate.js"; export { createWriteTool, createWriteToolDefinition, type WriteOperations, type WriteToolInput, type WriteToolOptions, } from "./write.js"; import type { AgentTool } from "@kolisachint/hoocode-agent-core"; import type { ToolDefinition } from "../extensions/types.js"; import { type BashToolOptions, createBashToolDefinition } from "./bash.js"; import { createEditToolDefinition, type EditToolOptions } from "./edit.js"; import { createReadToolDefinition, type ReadToolOptions } from "./read.js"; import { createSearchToolDefinition, type SearchToolOptions } from "./search.js"; import { createWebFetchToolDefinition, type WebFetchToolOptions } from "./webfetch.js"; import { createWebSearchToolDefinition, type WebSearchToolOptions } from "./websearch.js"; import { createWriteToolDefinition, type WriteToolOptions } from "./write.js"; export type Tool = AgentTool; export type ToolDef = ToolDefinition; export interface ToolsOptions { read?: ReadToolOptions; bash?: BashToolOptions; write?: WriteToolOptions; edit?: EditToolOptions; SearchCodebase?: SearchToolOptions; webfetch?: WebFetchToolOptions; websearch?: WebSearchToolOptions; } /** * Single source of truth for built-in tools: name → definition factory. * Everything else (name unions, option lookups, bundle helpers) derives * from this table, so adding or removing a tool touches exactly one entry * (plus its `ToolsOptions` key). */ declare const TOOL_FACTORIES: { read: typeof createReadToolDefinition; bash: typeof createBashToolDefinition; edit: typeof createEditToolDefinition; write: typeof createWriteToolDefinition; SearchCodebase: typeof createSearchToolDefinition; webfetch: typeof createWebFetchToolDefinition; websearch: typeof createWebSearchToolDefinition; }; export type ToolName = keyof typeof TOOL_FACTORIES; export declare const allToolNames: Set; export declare function createToolDefinition(toolName: ToolName, cwd: string, options?: ToolsOptions): ToolDef; export declare function createTool(toolName: ToolName, cwd: string, options?: ToolsOptions): Tool; export declare function createCodingToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[]; export declare function createReadOnlyToolDefinitions(cwd: string, options?: ToolsOptions): ToolDef[]; export declare function createAllToolDefinitions(cwd: string, options?: ToolsOptions): Record; export declare function createCodingTools(cwd: string, options?: ToolsOptions): Tool[]; export declare function createReadOnlyTools(cwd: string, options?: ToolsOptions): Tool[]; export declare function createAllTools(cwd: string, options?: ToolsOptions): Record; //# sourceMappingURL=index.d.ts.map