From 64e9688cc27ceea6eba442d156868d82d7aafb75 Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Fri, 5 Jun 2026 01:14:29 +0900 Subject: feat(tool-read-file): add read_file tool extension + wire into host-bin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First TOOL extension (standard tier, fs capability). Pure-core/shell split with workdir containment (realpath symlink guard). host-bin registers it in CORE_EXTENSIONS; flows into runTurn via session-orchestrator's resolveTools. Verified: typecheck clean, 214 tests pass (was 185), biome clean. Live curl against flash produced a real tool-call + tool-result round-trip with correct final answer. Proves the kernel tool-dispatch loop end-to-end (plan ยง3.3). --- packages/host-bin/src/main.ts | 2 ++ 1 file changed, 2 insertions(+) (limited to 'packages/host-bin/src') diff --git a/packages/host-bin/src/main.ts b/packages/host-bin/src/main.ts index fe36e80..e26b8c6 100644 --- a/packages/host-bin/src/main.ts +++ b/packages/host-bin/src/main.ts @@ -19,6 +19,7 @@ import { import { extension as providerOpenaiCompatExt } from "@dispatch/provider-openai-compat"; import { extension as sessionOrchestratorExt } from "@dispatch/session-orchestrator"; import { createSqliteStorage, extension as storageSqliteExt } from "@dispatch/storage-sqlite"; +import { extension as toolReadFileExt } from "@dispatch/tool-read-file"; import { createServer, extension as transportHttpExt } from "@dispatch/transport-http"; import { configMapToAccess, envToConfigMap } from "./config.js"; @@ -93,6 +94,7 @@ const CORE_EXTENSIONS: readonly Extension[] = [ conversationStoreExt, authApikeyExt, providerOpenaiCompatExt, + toolReadFileExt, sessionOrchestratorExt, transportHttpExt, ]; -- cgit v1.2.3