feat(coding-agent): add pluggable operations for remote tool execution

Adds optional operations parameter to create*Tool functions enabling
delegation to remote systems (SSH, containers, etc.):

- ReadOperations: readFile, access, detectImageMimeType
- WriteOperations: writeFile, mkdir
- EditOperations: readFile, writeFile, access
- BashOperations: exec (with streaming, signal, timeout)

Add ssh.ts example demonstrating --ssh flag for remote execution.
Built-in renderers used automatically for overrides without custom renderers.

fixes #564
This commit is contained in:
Mario Zechner 2026-01-08 13:44:34 +01:00
parent ba46a52415
commit 9ed88646a8
13 changed files with 782 additions and 264 deletions

View file

@ -176,19 +176,31 @@ export {
} from "./core/skills.js";
// Tools
export {
type BashOperations,
type BashToolDetails,
type BashToolOptions,
bashTool,
codingTools,
DEFAULT_MAX_BYTES,
DEFAULT_MAX_LINES,
type EditOperations,
type EditToolDetails,
type EditToolOptions,
editTool,
type FindOperations,
type FindToolDetails,
type FindToolOptions,
findTool,
formatSize,
type GrepOperations,
type GrepToolDetails,
type GrepToolOptions,
grepTool,
type LsOperations,
type LsToolDetails,
type LsToolOptions,
lsTool,
type ReadOperations,
type ReadToolDetails,
type ReadToolOptions,
readTool,
@ -198,6 +210,8 @@ export {
truncateHead,
truncateLine,
truncateTail,
type WriteOperations,
type WriteToolOptions,
writeTool,
} from "./core/tools/index.js";
// Main entry point