diff --git a/packages/opencode/src/cli/cmd/tui/simulate.ts b/packages/opencode/src/cli/cmd/tui/simulate.ts index d0d0bb2b63..2052347010 100644 --- a/packages/opencode/src/cli/cmd/tui/simulate.ts +++ b/packages/opencode/src/cli/cmd/tui/simulate.ts @@ -21,7 +21,7 @@ import { fileURLToPath } from "url" import { writeHeapSnapshot } from "v8" type RpcClient = ReturnType> -const simulatedDirectory = "/" +const simulatedDirectory = "/opencode" const simulatedCwdEnv = "OPENCODE_SIMULATION_CWD" function fakeCwd(directory: string) { diff --git a/packages/opencode/src/cli/cmd/tui/simulation-mcp.ts b/packages/opencode/src/cli/cmd/tui/simulation-mcp.ts index 566b2aee2e..b89de021b0 100644 --- a/packages/opencode/src/cli/cmd/tui/simulation-mcp.ts +++ b/packages/opencode/src/cli/cmd/tui/simulation-mcp.ts @@ -16,7 +16,6 @@ export interface SimulationMcpHarness { readonly mockMouse: SimulationActions.MockMouse readonly renderOnce: () => Promise readonly screen: () => string - readonly spans: () => CapturedFrame } export interface SimulationMcpOptions { @@ -55,7 +54,6 @@ type RenderBuffer = { readonly width: number readonly height: number getRealCharBytes(includeAnsi?: boolean): Uint8Array - getSpanLines(): CapturedFrame["lines"] } const decoder = new TextDecoder() @@ -159,16 +157,6 @@ export function harnessFromRenderer(renderer: CliRenderer): SimulationMcpHarness await renderer.idle() }, screen: () => decoder.decode(currentBuffer(renderer).getRealCharBytes(true)), - spans: () => { - const buffer = currentBuffer(renderer) - const cursor = renderer.getCursorState() - return { - cols: buffer.width, - rows: buffer.height, - cursor: [cursor.x, cursor.y] as [number, number], - lines: buffer.getSpanLines(), - } - }, } } @@ -208,7 +196,6 @@ function snapshot(options: Options) { const running = current(options) return { screen: running.harness.screen(), - spans: running.harness.spans(), ui: state(options), } } @@ -238,9 +225,6 @@ function createServer(options: Options) { server.registerResource("screen", "simulation://screen", { mimeType: "text/plain" }, () => ({ contents: [{ uri: "simulation://screen", mimeType: "text/plain", text: current(options).harness.screen() }], })) - server.registerResource("spans", "simulation://spans", { mimeType: "application/json" }, () => ({ - contents: [{ uri: "simulation://spans", mimeType: "application/json", text: JSON.stringify(current(options).harness.spans()) }], - })) server.registerResource("ui-state", "simulation://ui-state", { mimeType: "application/json" }, () => ({ contents: [{ uri: "simulation://ui-state", mimeType: "application/json", text: JSON.stringify(state(options)) }], })) @@ -269,9 +253,6 @@ function createServer(options: Options) { server.registerTool("simulation_screen_get", { description: "Get the current TUI screen buffer." }, () => toolResult({ screen: current(options).harness.screen() }), ) - server.registerTool("simulation_spans_get", { description: "Get the current structured TUI spans." }, () => - toolResult(current(options).harness.spans()), - ) server.registerTool("simulation_ui_state_get", { description: "Get elements, focus state, and generated actions." }, () => toolResult(state(options)), )