refactor(tui): simplify config and tool display

This commit is contained in:
Dax Raad
2026-07-11 19:51:19 -04:00
parent 8f904c8e9a
commit ac1ddc3f83
44 changed files with 264 additions and 315 deletions
@@ -8,7 +8,7 @@ import path from "node:path"
import { onCleanup } from "solid-js"
import { tmpdir } from "../../fixture/fixture"
import { createTuiResolvedConfig } from "../../fixture/tui-runtime"
import type { TuiKeybind } from "../../../src/config/keybind"
import type { TuiKeybind } from "../../../src/config/v1/keybind"
import { TestTuiContexts } from "../../fixture/tui-environment"
async function wait(fn: () => boolean, timeout = 2000) {
@@ -41,7 +41,7 @@ async function mountPrompt(input: {
import("../../../src/ui/dialog-prompt"),
import("../../../src/context/kv"),
import("../../../src/context/theme"),
import("../../../src/config"),
import("../../../src/config/v1"),
import("../../../src/ui/toast"),
import("../../../src/keymap"),
])
@@ -6,7 +6,7 @@ import type { JSX } from "solid-js"
import { createTuiResolvedConfig } from "../../fixture/tui-runtime"
import { KVProvider } from "../../../src/context/kv"
import { ThemeProvider } from "../../../src/context/theme"
import { TuiConfigProvider } from "../../../src/config"
import { TuiConfigProvider } from "../../../src/config/v1"
import { DiffViewerFileTree } from "../../../src/feature-plugins/system/diff-viewer-file-tree"
import { TestTuiContexts } from "../../fixture/tui-environment"
import {
@@ -7,9 +7,9 @@ import type { TuiPluginApi, TuiPluginMeta, TuiRouteCurrent, TuiRouteDefinition }
import type { Session } from "@opencode-ai/sdk/v2"
import { KVProvider } from "../../../src/context/kv"
import { ThemeProvider } from "../../../src/context/theme"
import { TuiConfigProvider } from "../../../src/config"
import { TuiConfigProvider } from "../../../src/config/v1"
import { SDKProvider } from "../../../src/context/sdk"
import { TuiKeybind } from "../../../src/config/keybind"
import { TuiKeybind } from "../../../src/config/v1/keybind"
import { OpencodeKeymapProvider } from "../../../src/keymap"
import diffViewerPlugin from "../../../src/feature-plugins/system/diff-viewer"
import { createTuiPluginApi } from "../../fixture/tui-plugin"
+1 -1
View File
@@ -10,7 +10,7 @@ import type { FormWithLocation } from "../../../src/context/data"
import { KVProvider } from "../../../src/context/kv"
import { SDKProvider } from "../../../src/context/sdk"
import { ThemeProvider } from "../../../src/context/theme"
import { TuiConfigProvider } from "../../../src/config"
import { TuiConfigProvider } from "../../../src/config/v1"
import { OpencodeKeymapProvider, registerOpencodeKeymap } from "../../../src/keymap"
import { ToastProvider } from "../../../src/ui/toast"
import { tmpdir } from "../../fixture/fixture"
+1 -1
View File
@@ -11,7 +11,7 @@ import {
TuiConfigProvider,
type Info as TuiConfigInfo,
useTuiConfig,
} from "../src/config"
} from "../src/config/v1"
const decodeInfo = Schema.decodeUnknownSync(Info)
const decodePlugin = Schema.decodeUnknownSync(PluginSpec)
+2 -2
View File
@@ -1,5 +1,5 @@
import { resolve, type Info, type Resolved } from "../../src/config"
import { TuiKeybind } from "../../src/config/keybind"
import { resolve, type Info, type Resolved } from "../../src/config/v1"
import { TuiKeybind } from "../../src/config/v1/keybind"
type ResolvedInput = Omit<Info, "attention" | "keybinds" | "leader_timeout"> & {
attention?: Partial<Resolved["attention"]>
+1 -1
View File
@@ -4,7 +4,7 @@ import { createBindingLookup } from "@opentui/keymap/extras"
import { testRender, useRenderer } from "@opentui/solid"
import { expect, test } from "bun:test"
import { onCleanup } from "solid-js"
import { TuiKeybind } from "../src/config/keybind"
import { TuiKeybind } from "../src/config/v1/keybind"
import {
formatKeySequence,
getOpencodeModeStack,