Something went wrong. Try again.
more up to date at codeberg https://codeberg.org/cowie/tau.git
Something went wrong. Try again.
1.2 kB · 30 lines
TypeScript
at main
12345678910111213141516171819202122232425262728293031/** * Tool wrappers for extension-registered tools. * * These wrappers only adapt tool execution so extension tools receive the runner context. * Tool call and tool result interception is handled by AgentSession via agent-core hooks. */
import type { AgentTool } from "@earendil-works/pi-agent-core";import { wrapToolDefinition, wrapToolDefinitions } from "../tools/tool-definition-wrapper.ts";import type { ExtensionRunner } from "./runner.ts";import type { RegisteredTool } from "./types.ts";
/** * Wrap a RegisteredTool into an AgentTool. * Uses the runner's createContext() for consistent context across tools and event handlers. */export function wrapRegisteredTool(registeredTool: RegisteredTool, runner: ExtensionRunner): AgentTool { return wrapToolDefinition(registeredTool.definition, () => runner.createContext());}
/** * Wrap all registered tools into AgentTools. * Uses the runner's createContext() for consistent context across tools and event handlers. */export function wrapRegisteredTools(registeredTools: RegisteredTool[], runner: ExtensionRunner): AgentTool[] { return wrapToolDefinitions( registeredTools.map((registeredTool) => registeredTool.definition), () => runner.createContext(), );}