- Added RPC host-owned custom tools framework enabling bidirectional tool execution between RPC client and host. - Added `set_host_tools` RPC command and `refreshRpcHostTools()` method for dynamic tool registry management. - Added RpcHostToolBridge and RpcHostToolAdapter classes with abort signal handling for cancellable tool execution. - Added `defineRpcClientTool` helper and customTools option to RpcClient for embedding host tool definitions. - Added comprehensive test suite covering RPC host tool execution, cancellation, and client-host communication.
35 lines
886 B
TypeScript
35 lines
886 B
TypeScript
import { emergencyTerminalRestore } from "@oh-my-pi/pi-tui";
|
|
import { postmortem } from "@oh-my-pi/pi-utils";
|
|
|
|
/**
|
|
* Run modes for the coding agent.
|
|
*/
|
|
export { runAcpMode } from "./acp";
|
|
export { InteractiveMode, type InteractiveModeOptions } from "./interactive-mode";
|
|
export { type PrintModeOptions, runPrintMode } from "./print-mode";
|
|
export {
|
|
defineRpcClientTool,
|
|
type ModelInfo,
|
|
RpcClient,
|
|
type RpcClientCustomTool,
|
|
type RpcClientOptions,
|
|
type RpcClientToolContext,
|
|
type RpcClientToolResult,
|
|
type RpcEventListener,
|
|
} from "./rpc/rpc-client";
|
|
export { runRpcMode } from "./rpc/rpc-mode";
|
|
export type {
|
|
RpcCommand,
|
|
RpcHostToolCallRequest,
|
|
RpcHostToolCancelRequest,
|
|
RpcHostToolDefinition,
|
|
RpcHostToolResult,
|
|
RpcHostToolUpdate,
|
|
RpcResponse,
|
|
RpcSessionState,
|
|
} from "./rpc/rpc-types";
|
|
|
|
postmortem.register("terminal-restore", () => {
|
|
emergencyTerminalRestore();
|
|
});
|