/** * [WHO]: Tool registry, all tool creators and types * [FROM]: Depends on bash.ts, read.ts, edit.ts, write.ts, grep.ts, find.ts, ls.ts, source.ts * [TO]: Consumed by index.ts, main.ts, cli/args.ts, modes/interactive/components/tool-execution.ts, extensions/builtin/team/index.ts, and test files * [HERE]: Tool system public API; consumed by SDK and orchestrator */ export { fileStateCache, type FileState } from "./file-state-cache.js"; export { type BashOperations, type BashSandboxOptions, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, bashTool, createBashTool, createSandboxHook, } from "./bash.js"; export { createEditTool, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, editTool, } from "./edit.js"; export { createFindTool, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, findTool, } from "./find.js"; export { createGrepTool, type GrepOperations, type GrepToolDetails, type GrepToolInput, type GrepToolOptions, grepTool, } from "./grep.js"; export { createLsTool, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, lsTool, } from "./ls.js"; export { createReadTool, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, readTool, } from "./read.js"; export { createTimeTool, type TimeToolInput, timeTool } from "./time.js"; export { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, } from "./truncate.js"; export { createWriteTool, type WriteOperations, type WriteToolInput, type WriteToolOptions, writeTool, } from "./write.js"; export { createWorkspaceWriteGuard, isPathWithinRoot } from "./write-guard.js"; import type { AgentTool } from "@catui/agent-core"; import { type BashToolOptions } from "./bash.js"; import { type EditToolOptions } from "./edit.js"; import { type ReadToolOptions } from "./read.js"; import { type WriteToolOptions } from "./write.js"; /** Tool type (AgentTool from catui-ai) */ export type Tool = AgentTool; export declare const codingTools: Tool[]; export declare const readOnlyTools: Tool[]; export declare const allTools: { read: AgentTool; limit: import("@sinclair/typebox").TOptional; pages: import("@sinclair/typebox").TOptional; }>, any>; bash: AgentTool; timeout: import("@sinclair/typebox").TOptional; description: import("@sinclair/typebox").TOptional; run_in_background: import("@sinclair/typebox").TOptional; task_id: import("@sinclair/typebox").TOptional; }>, any>; edit: AgentTool, any>; write: AgentTool, any>; grep: AgentTool; glob: import("@sinclair/typebox").TOptional; ignoreCase: import("@sinclair/typebox").TOptional; literal: import("@sinclair/typebox").TOptional; context: import("@sinclair/typebox").TOptional; output_mode: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"files_with_matches">, import("@sinclair/typebox").TLiteral<"count">]>>; type: import("@sinclair/typebox").TOptional; contextBefore: import("@sinclair/typebox").TOptional; contextAfter: import("@sinclair/typebox").TOptional; offset: import("@sinclair/typebox").TOptional; multiline: import("@sinclair/typebox").TOptional; limit: import("@sinclair/typebox").TOptional; head_limit: import("@sinclair/typebox").TOptional; }>, any>; find: AgentTool; limit: import("@sinclair/typebox").TOptional; sort: import("@sinclair/typebox").TOptional; }>, any>; ls: AgentTool; limit: import("@sinclair/typebox").TOptional; }>, any>; time: AgentTool; locale: import("@sinclair/typebox").TOptional; }>, any>; }; export type ToolName = keyof typeof allTools; export interface ToolsOptions { /** Options for the read tool */ read?: ReadToolOptions; /** Options for the bash tool */ bash?: BashToolOptions; /** Options for the edit tool */ edit?: EditToolOptions; /** Options for the write tool */ write?: WriteToolOptions; } /** * Create coding tools configured for a specific working directory. */ export declare function createCodingTools(cwd: string, options?: ToolsOptions): Tool[]; /** * Create read-only tools configured for a specific working directory. */ export declare function createReadOnlyTools(cwd: string, options?: ToolsOptions): Tool[]; /** * Create all tools configured for a specific working directory. */ export declare function createAllTools(cwd: string, options?: ToolsOptions): Record; /** * Tool guidance for system prompt. * These are usage guidelines shown to the AI to help it use tools correctly. */ export declare const toolGuidance: Record; /** * Get guidance for a specific tool */ export declare function getToolGuidance(toolName: string): string | undefined; /** * Get guidance for multiple tools */ export declare function getToolsGuidance(toolNames: string[]): Record;