文件最后提交记录最后更新时间
fix(tui): apply details mode live 1 个月前
fix(tui): improve macOS paste and shortcut parity - support Cmd-as-super and readline-style fallback shortcuts on macOS - add layered clipboard/OSC52 paste handling and immediate image-path attach - add IDE terminal setup helpers, terminal parity hints, and aligned docs 1 个月前
chore(tui): /clean pass — inline one-off locals, tighten ConfirmPrompt - providers.ts: drop the dup intermediate, fold the ternary inline - paths.ts (fmtCwdBranch): inline b into the tag template - prompts.tsx (ConfirmPrompt): hoist a single lower = ch.toLowerCase(), collapse the three early-return branches into two, drop the redundant bounds checks on arrow-key handlers (setSel is idempotent at 0/1), inline the confirmLabel/cancelLabel defaults at the use site - modelPicker.tsx / config/env.ts / providers.test.ts: auto-formatter reflows picked up by npm run fix - useInputHandlers.ts: drop the stray blank line that was tripping perfectionist/sort-imports (pre-existing lint error) 1 个月前
chore(tui): /clean pass — inline one-off locals, tighten ConfirmPrompt - providers.ts: drop the dup intermediate, fold the ternary inline - paths.ts (fmtCwdBranch): inline b into the tag template - prompts.tsx (ConfirmPrompt): hoist a single lower = ch.toLowerCase(), collapse the three early-return branches into two, drop the redundant bounds checks on arrow-key handlers (setSel is idempotent at 0/1), inline the confirmLabel/cancelLabel defaults at the use site - modelPicker.tsx / config/env.ts / providers.test.ts: auto-formatter reflows picked up by npm run fix - useInputHandlers.ts: drop the stray blank line that was tripping perfectionist/sort-imports (pre-existing lint error) 1 个月前
fix(tui): restore macOS copy behavior and theme polish (#17131) This PR groups the TUI fixes that restore macOS Terminal usability and clean up the theme/composer regressions: - copy transcript selections on macOS drag-release so Terminal.app users can copy while mouse tracking is enabled - copy composer selections on macOS drag-release; composer selection is internal to TextInput and does not use the global Ink selection bus - keep IDE Cmd+C forwarding setup macOS-only, and make keybinding conflict checks respect simple when-clause overlap/negation - force truecolor before chalk initializes (unless NO_COLOR / FORCE_COLOR / HERMES_TUI_TRUECOLOR opt-outs apply) so the default banner keeps its gold/amber/bronze gradient in Terminal.app - move TUI surfaces onto semantic theme tokens and preserve skin prompt symbols as bare tokens with renderer-owned spacing - render focused placeholders as dim hint text in TTY mode instead of inverse/selected-looking synthetic cursor text1 个月前
fix(review): address copilot review 1 个月前
refactor(tui): store-driven turn state + slash registry + module split Hoist turn state from a 286-line hook into $turnState atom + turnController singleton. createGatewayEventHandler becomes a typed dispatch over the controller; its ctx shrinks from 30 fields to 5. Event-handler refs and 16 threaded actions are gone. Fold three createSlash*Handler factories into a data-driven SlashCommand[] registry under slash/commands/{core,session,ops}.ts. Aliases are data; findSlashCommand does name+alias lookup. Shared guarded/guardedErr combinator in slash/guarded.ts. Split constants.ts + app/helpers.ts into config/ (timing/limits/env), content/ (faces/placeholders/hotkeys/verbs/charms/fortunes), domain/ (roles/ details/messages/paths/slash/viewport/usage), protocol/ (interpolation/paste). Type every RPC response in gatewayTypes.ts (26 new interfaces); drop all (r: any) across slash + main app. Shrink useMainApp from 1216 -> 646 lines by extracting useSessionLifecycle, useSubmission, useConfigSync. Add <Fg> themed primitive and strip ~50 as any color casts. Tests: 50 passing. Build + type-check clean. 1 个月前
fix(tui): stabilize sticky prompt tracking Keep the latest prompt sticky while the viewport is in live assistant output beyond history, and clear stale sticky state at the real bottom using fresh scroll height. 1 个月前