export { createAskUserQuestionToolDefinition } from "./ask-user-question/index.ts"; export { BASH_SHELL_PRESENTATION, type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, bashToolSystemPromptContribution, createBashTool, createBashToolDefinition, createLocalBashOperations, type ShellToolPresentation, } from "./bash.js"; export { createEditTool, createEditToolDefinition, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, editToolSystemPromptContribution, } from "./edit.ts"; export { FILE_MUTATION_CONFLICT_CODE, FileMutationConflict, type FileMutationConflictDetails, type FileMutationConflictEvidence, type FileMutationConflictReason, type FileMutationLiveState, type MutationRequester, type MutationRequesterResolver, } from "./file-mutation-coordinator.ts"; export { withFileMutationQueue } from "./file-mutation-queue.ts"; export { createFindTool, createFindToolDefinition, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, findToolSystemPromptContribution, } from "./find.ts"; export { createKillTool, createKillToolDefinition, type KillToolOptions } from "./kill.ts"; export { createLsTool, createLsToolDefinition, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, lsToolSystemPromptContribution, } from "./ls.ts"; export { createLocalPowerShellOperations, createPowerShellTool, createPowerShellToolDefinition, type PowerShellOperations, type PowerShellSpawnContext, type PowerShellSpawnHook, type PowerShellToolDetails, type PowerShellToolInput, type PowerShellToolOptions, } from "./powershell.ts"; export { createReadTool, createReadToolDefinition, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, readToolSystemPromptContribution, } from "./read.ts"; export { createSearchTool, createSearchToolDefinition, type SearchToolDetails, type SearchToolInput, type SearchToolOptions, searchToolSystemPromptContribution, } from "./search.ts"; export { createStructuredOutputCapture, createStructuredOutputTool, type JsonObject, type JsonPrimitive, type JsonValue, STRUCTURED_OUTPUT_TOOL_NAME, type StructuredOutputCapture, type StructuredOutputFileCapture, type StructuredOutputToolOptions, } from "./structured-output.ts"; export { createTodoToolDefinition } from "./todos.ts"; export { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, } from "./truncate.ts"; export { createWriteTool, createWriteToolDefinition, type WriteFileOptions, type WriteOperations, type WriteToolInput, type WriteToolOptions, writeToolSystemPromptContribution, } from "./write.ts"; import type { AgentTool } from "@earendil-works/pi-agent-core"; import type { TSchema } from "typebox"; import type { ToolDefinition } from "../extensions/types.ts"; import { type BashToolOptions } from "./bash.js"; import { type EditToolOptions } from "./edit.ts"; import type { MutationRequesterResolver } from "./file-mutation-coordinator.ts"; import { type FindToolOptions } from "./find.ts"; import { type HashlineSnapshotStore } from "./hashline.ts"; import { type KillToolOptions } from "./kill.ts"; import { type LsToolOptions } from "./ls.ts"; import { type PowerShellToolOptions } from "./powershell.ts"; import { type ReadToolOptions } from "./read.ts"; import { type SearchToolOptions } from "./search.ts"; import { type WriteToolOptions } from "./write.ts"; export type Tool = AgentTool; export type ToolDef = ToolDefinition; export type ToolName = "read" | "bash" | "powershell" | "kill" | "edit" | "write" | "find" | "search" | "ls" | "ask_user_question" | "todo"; export type BuiltinToolMap = Omit, "powershell"> & { powershell?: T; }; export declare const allToolNames: Set; /** * Built-in tools enabled at startup. * * `powershell` is conditional: it is Windows-only and additionally needs a * resolvable `pwsh.exe`/`powershell.exe`. That probe reads PATH, so it runs per * call rather than at module load, and callers can decide it explicitly through * `powerShellAvailable` instead of depending on the host running the process. */ export declare function getDefaultToolNames(options?: { powerShellAvailable?: boolean; }): readonly ToolName[]; export interface ToolsOptions { read?: ReadToolOptions; bash?: BashToolOptions; powershell?: PowerShellToolOptions; kill?: KillToolOptions; write?: WriteToolOptions; edit?: EditToolOptions; find?: FindToolOptions; search?: SearchToolOptions; ls?: LsToolOptions; hashlineStore?: HashlineSnapshotStore; /** * Session-scoped identity for whichever mutation gets rejected, forwarded to the two tools * that can raise a conflict. Deliberately not defaulted the way `hashlineStore` is: absence * means no identity is available, which the conflict path already handles. */ resolveMutationRequester?: MutationRequesterResolver; } 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): BuiltinToolMap; 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): BuiltinToolMap; //# sourceMappingURL=index.d.ts.map