From 016545513fae13e47c65462bf3d235550a92b532 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Tue, 14 Jul 2026 15:13:16 -0400 Subject: [PATCH] feat(tui): group sequential thinking (#36901) Co-authored-by: Kit Langton <7587245+kitlangton@users.noreply.github.com> --- .../thinking-flat-markdown-disclosure.mp4 | Bin 0 -> 118309 bytes packages/tui/src/routes/session/index.tsx | 113 +++++++++++++++++- packages/tui/src/routes/session/rows.ts | 33 ++++- packages/tui/src/ui/dialog-prompt.tsx | 1 + .../tui/test/cli/tui/dialog-prompt.test.tsx | 47 ++++---- .../tui/test/cli/tui/dialog-select.test.tsx | 97 +++++++-------- packages/tui/test/cli/tui/form.test.tsx | 19 +-- .../tui/test/cli/tui/session-rows.test.ts | 51 +++++++- 8 files changed, 262 insertions(+), 99 deletions(-) create mode 100644 artifacts/tui-thinking-disclosure/thinking-flat-markdown-disclosure.mp4 diff --git a/artifacts/tui-thinking-disclosure/thinking-flat-markdown-disclosure.mp4 b/artifacts/tui-thinking-disclosure/thinking-flat-markdown-disclosure.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..7df912aad156a2b3f646a7dc9e3c45557d34cde7 GIT binary patch literal 118309 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 G{{H~8z*f`% literal 0 HcmV?d00001 diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index 47ee2d55fc..054d35d405 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -968,7 +968,10 @@ function SessionRowView(props: { row: SessionRow; message: (messageID: string) = {(row) => } - + + {(row) => } + + {(row) => ( SessionMessageInfo | undefined +}) { + const ctx = use() + const { theme, syntax } = useTheme() + const renderer = useRenderer() + const [expanded, setExpanded] = createSignal(false) + const parts = createMemo<{ message: SessionMessageAssistant; part: SessionMessageAssistantReasoning }[]>( + (previous) => { + const next = props.refs.flatMap((ref) => { + const message = props.message(ref.messageID) + if (message?.type !== "assistant") return [] + const part = resolvePart(message, ref.partID) + if (part?.type !== "reasoning" || !part.text.replace("[REDACTED]", "").trim()) return [] + return [{ message, part }] + }) + return next.length > 0 ? next : previous + }, + [] as { message: SessionMessageAssistant; part: SessionMessageAssistantReasoning }[], + ) + const latest = createMemo((previous: string | null) => { + const item = parts().at(-1) + if (!item) return previous + const title = reasoningSummary(item.part.text.replace("[REDACTED]", "").trim()).title + if (title) return title + if (item.part.time?.completed !== undefined || item.message.time.completed !== undefined) return null + return previous + }, null) + const duration = createMemo(() => + parts().reduce((total, item) => { + const end = item.part.time?.completed ?? item.message.time.completed + const start = item.part.time?.created ?? item.message.time.created + return total + (end === undefined ? 0 : Math.max(0, end - start)) + }, 0), + ) + + return ( + 0}> + {(item) => } + } + > + + { + if (renderer.getSelection()?.getSelectedText()) return + setExpanded((value) => !value) + }} + > + {latest() ? `Thinking: ${latest()}` : "Thinking"}} + > + + + Thought + : {latest()} + 1}> · {parts().length} steps + · {Locale.duration(duration())} + + } + > + + - Thought + 1}> · {parts().length} steps + · {Locale.duration(duration())} + + + + + + + {(item) => { + const content = createMemo(() => item.part.text.replace("[REDACTED]", "").trim()) + const summary = createMemo(() => reasoningSummary(content())) + const markdown = createMemo(() => { + if (!summary().title) return content() + if (!summary().body) return `**${summary().title}**` + return `**${summary().title}** · ${summary().body}` + }) + return ( + + + + ) + }} + + + + + + ) +} + function SessionGroupView(props: { refs: PartRef[] pending: PartRef[] diff --git a/packages/tui/src/routes/session/rows.ts b/packages/tui/src/routes/session/rows.ts index c7afea1252..6d3f4cf422 100644 --- a/packages/tui/src/routes/session/rows.ts +++ b/packages/tui/src/routes/session/rows.ts @@ -12,6 +12,12 @@ export type SessionRow = | { type: "message"; messageID: string } | { type: "compaction-queued"; inputID: string } | { type: "part"; ref: PartRef } + | { + type: "group" + kind: "reasoning" + refs: PartRef[] + completed: boolean + } | { type: "group" kind: "exploration" @@ -131,6 +137,16 @@ export function createSessionRows(sessionID: Accessor) { produce((draft) => { if (hasPart(draft, ref)) return const index = queuedStart(draft) + if (ref.partID.startsWith("reasoning:")) { + const previous = draft[index - 1] + if (previous?.type === "group" && previous.kind === "reasoning") { + previous.refs.push(ref) + return + } + completePrevious(draft, index) + draft.splice(index, 0, { type: "group", kind: "reasoning", refs: [ref], completed: false }) + return + } if (name && exploration(name)) { const previous = draft[index - 1] if (previous?.type === "group" && previous.kind === "exploration") { @@ -213,7 +229,7 @@ export function createSessionRows(sessionID: Accessor) { data.on("session.agent.selected", message), data.on("session.model.selected", message), data.on("session.text.delta", (event) => { - if (event.data.sessionID === sessionID()) + if (event.data.sessionID === sessionID() && event.data.delta.trim()) appendPart({ messageID: event.data.assistantMessageID, partID: `text:${event.data.ordinal}` }) }), data.on("session.text.ended", (event) => { @@ -290,6 +306,16 @@ export function resolvePart(message: SessionMessageAssistant, partID: string) { } function append(rows: SessionRow[], ref: PartRef, part: SessionMessageAssistant["content"][number]) { + if (part.type === "reasoning") { + const previous = rows.at(-1) + if (previous?.type === "group" && previous.kind === "reasoning") { + previous.refs.push(ref) + return + } + completePrevious(rows) + rows.push({ type: "group", kind: "reasoning", refs: [ref], completed: false }) + return + } if (part.type === "tool") { if (exploration(part.name)) { const previous = rows.at(-1) @@ -313,7 +339,7 @@ function completePrevious(rows: SessionRow[], index = rows.length) { function partitionPending(rows: SessionRow[], pending: Set) { rows.forEach((row) => { - if (row.type !== "group") return + if (row.type !== "group" || row.kind !== "exploration") return const refs = [...row.refs, ...row.pending] row.refs = refs.filter((ref) => !pending.has(ref.partID)) row.pending = refs.filter((ref) => pending.has(ref.partID)) @@ -328,6 +354,7 @@ function hasPart(rows: SessionRow[], ref: PartRef) { return rows.some((row) => { if (row.type === "part") return row.ref.messageID === ref.messageID && row.ref.partID === ref.partID if (row.type !== "group") return false - return [...row.refs, ...row.pending].some((item) => item.messageID === ref.messageID && item.partID === ref.partID) + const refs = row.kind === "exploration" ? [...row.refs, ...row.pending] : row.refs + return refs.some((item) => item.messageID === ref.messageID && item.partID === ref.partID) }) } diff --git a/packages/tui/src/ui/dialog-prompt.tsx b/packages/tui/src/ui/dialog-prompt.tsx index 094e87e58b..be89c9a8d4 100644 --- a/packages/tui/src/ui/dialog-prompt.tsx +++ b/packages/tui/src/ui/dialog-prompt.tsx @@ -38,6 +38,7 @@ export function DialogPrompt(props: DialogPromptProps) { { id: "dialog.prompt.submit", title: "Submit dialog prompt", + bind: "return", group: "Dialog", run: confirm, }, diff --git a/packages/tui/test/cli/tui/dialog-prompt.test.tsx b/packages/tui/test/cli/tui/dialog-prompt.test.tsx index d648258746..b2716d0559 100644 --- a/packages/tui/test/cli/tui/dialog-prompt.test.tsx +++ b/packages/tui/test/cli/tui/dialog-prompt.test.tsx @@ -1,7 +1,6 @@ /** @jsxImportSource @opentui/solid */ import { TextareaRenderable } from "@opentui/core" -import { createDefaultOpenTuiKeymap } from "@opentui/keymap/opentui" -import { testRender, useRenderer } from "@opentui/solid" +import { testRender } from "@opentui/solid" import { expect, test } from "bun:test" import { mkdir } from "node:fs/promises" import path from "node:path" @@ -27,31 +26,26 @@ async function mountPrompt(input: { const state = path.join(input.root, "state") await mkdir(state, { recursive: true }) - const [ - { DialogProvider }, - { DialogPrompt }, - { ThemeProvider }, - { ConfigProvider }, - { ToastProvider }, - { OpencodeKeymapProvider, registerOpencodeKeymap }, - ] = await Promise.all([ - import("../../../src/ui/dialog"), - import("../../../src/ui/dialog-prompt"), - import("../../../src/context/theme"), - import("../../../src/config"), - import("../../../src/ui/toast"), - import("../../../src/keymap"), - ]) + const [{ DialogProvider }, { DialogPrompt }, { ThemeProvider }, { ConfigProvider }, { ToastProvider }, { Keymap }] = + await Promise.all([ + import("../../../src/ui/dialog"), + import("../../../src/ui/dialog-prompt"), + import("../../../src/context/theme"), + import("../../../src/config"), + import("../../../src/ui/toast"), + import("../../../src/context/keymap"), + ]) function Harness() { - const renderer = useRenderer() - const keymap = createDefaultOpenTuiKeymap(renderer) const resolvedConfig = createTuiResolvedConfig({ keybinds: input.keybinds, leader: { timeout: 1000 }, }) - const off = registerOpencodeKeymap(keymap, renderer, resolvedConfig) - onCleanup(off) + + function Prompt() { + onCleanup(Keymap.use().mode.push("modal")) + return + } return ( - - + + - + - - + + ) } const app = await testRender(() => , { kittyKeyboard: true }) + app.renderer.start() return { app, async cleanup() { diff --git a/packages/tui/test/cli/tui/dialog-select.test.tsx b/packages/tui/test/cli/tui/dialog-select.test.tsx index 8bfcb0929d..5e6a28e9be 100644 --- a/packages/tui/test/cli/tui/dialog-select.test.tsx +++ b/packages/tui/test/cli/tui/dialog-select.test.tsx @@ -1,7 +1,6 @@ /** @jsxImportSource @opentui/solid */ import { InputRenderable } from "@opentui/core" -import { createDefaultOpenTuiKeymap } from "@opentui/keymap/opentui" -import { testRender, useRenderer } from "@opentui/solid" +import { testRender } from "@opentui/solid" import { expect, test } from "bun:test" import { mkdir } from "node:fs/promises" import path from "node:path" @@ -21,58 +20,54 @@ async function renderSelect( const state = path.join(root, "state") await mkdir(state, { recursive: true }) const config = createTuiResolvedConfig() - const [ - { ConfigProvider }, - { ThemeProvider }, - { OpencodeKeymapProvider, registerOpencodeKeymap }, - { DialogProvider }, - { DialogSelect }, - { ToastProvider }, - ] = await Promise.all([ - import("../../../src/config"), - import("../../../src/context/theme"), - import("../../../src/keymap"), - import("../../../src/ui/dialog"), - import("../../../src/ui/dialog-select"), - import("../../../src/ui/toast"), - ]) + const [{ ConfigProvider }, { ThemeProvider }, { Keymap }, { DialogProvider }, { DialogSelect }, { ToastProvider }] = + await Promise.all([ + import("../../../src/config"), + import("../../../src/context/theme"), + import("../../../src/context/keymap"), + import("../../../src/ui/dialog"), + import("../../../src/ui/dialog-select"), + import("../../../src/ui/toast"), + ]) function Harness() { - const renderer = useRenderer() - const keymap = createDefaultOpenTuiKeymap(renderer) - const off = registerOpencodeKeymap(keymap, renderer, config) - onCleanup(off) + function Select() { + onCleanup(Keymap.use().mode.push("modal")) + return ( + + ) + } return ( - - + + Promise.resolve({}) }}> - +