From bf862168f0fd7b10d02ae04a9d82f7c37b9d85e5 Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Wed, 10 Jun 2026 16:01:33 +0900 Subject: feat(tools): add run_shell, edit_file, write_file + read_file directory listing Four standard-tier tool extensions (one tool per extension, zero ABI change): - tool-read-file: read_file now lists directory contents (sorted, /-suffixed subdirs) - tool-shell: run_shell (foreground, streamed, cancellable, cwd, timeout + output cap) - tool-edit-file: edit_file (oldString/newString/replaceAll; errors on absent/non-unique) - tool-write-file: write_file (explicit overwrite flag) Registered in host-bin CORE_EXTENSIONS. Live boot clean (shell capability accepted). 686 vitest + 89 bun = 775 tests; tsc -b EXIT 0; biome clean. --- packages/host-bin/src/main.ts | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'packages/host-bin/src') diff --git a/packages/host-bin/src/main.ts b/packages/host-bin/src/main.ts index 7f219d1..588dfb8 100644 --- a/packages/host-bin/src/main.ts +++ b/packages/host-bin/src/main.ts @@ -24,7 +24,10 @@ import { createSqliteStorage, extension as storageSqliteExt } from "@dispatch/st import { createLoadedExtensionsExtension } from "@dispatch/surface-loaded-extensions"; import { createSurfaceRegistryExtension } from "@dispatch/surface-registry"; import { extension as throughputStoreExt } from "@dispatch/throughput-store"; +import { extension as toolEditFileExt } from "@dispatch/tool-edit-file"; import { extension as toolReadFileExt } from "@dispatch/tool-read-file"; +import { extension as toolShellExt } from "@dispatch/tool-shell"; +import { extension as toolWriteFileExt } from "@dispatch/tool-write-file"; import { createTransportHttpExtension } from "@dispatch/transport-http"; import { createTransportWsExtension } from "@dispatch/transport-ws"; import type { ChildHandle } from "./collector-supervisor.js"; @@ -62,7 +65,10 @@ const CORE_EXTENSIONS: readonly Extension[] = [ conversationStoreExt, authApikeyExt, providerOpenaiCompatExt, + toolEditFileExt, toolReadFileExt, + toolShellExt, + toolWriteFileExt, throughputStoreExt, sessionOrchestratorExt, createTransportHttpExtension(), -- cgit v1.2.3