apps/desktop/src/clientPersistence.test.ts | 1 + apps/server/src/keybindings.test.ts | 3 + apps/server/src/keybindings.ts | 7 + apps/server/src/provider/opencodeRuntime.test.ts | 59 ++- apps/server/src/provider/opencodeRuntime.ts | 3 +- apps/web/src/components/AppSidebarLayout.tsx | 32 +- apps/web/src/components/ChatView.browser.tsx | 237 ++++++++++ apps/web/src/components/ChatView.tsx | 10 + apps/web/src/components/CommandPalette.logic.ts | 34 +- apps/web/src/components/Icons.tsx | 43 +- apps/web/src/components/Sidebar.tsx | 145 ++---- apps/web/src/components/chat/ChatComposer.tsx | 110 ++--- apps/web/src/components/chat/ComposerCommandMenu.tsx | 14 - apps/web/src/components/chat/ModelListRow.tsx | 104 +++++ apps/web/src/components/chat/ModelPickerContent.tsx | 519 ++++++++++++++++++++++ apps/web/src/components/chat/ModelPickerSidebar.tsx | 210 +++++++++ apps/web/src/components/chat/ProviderModelPicker.browser.tsx | 751 +++++++++++++++++++++++++++++--- apps/web/src/components/chat/ProviderModelPicker.tsx | 277 +++++------- apps/web/src/components/chat/modelPickerModelHighlights.ts | 13 + apps/web/src/components/chat/modelPickerSearch.test.ts | 109 +++++ apps/web/src/components/chat/modelPickerSearch.ts | 83 ++++ apps/web/src/components/chat/providerIconUtils.ts | 52 +++ apps/web/src/components/ui/autocomplete.tsx | 2 +- apps/web/src/components/ui/combobox.tsx | 16 +- apps/web/src/components/ui/scroll-area.tsx | 7 +- apps/web/src/composer-logic.test.ts | 15 +- apps/web/src/composer-logic.ts | 20 +- apps/web/src/hooks/useSettings.ts | 7 +- apps/web/src/index.css | 22 + apps/web/src/keybindings.test.ts | 60 +++ apps/web/src/keybindings.ts | 60 ++- apps/web/src/localApi.test.ts | 2 + apps/web/src/modelPickerOpenState.ts | 17 + apps/web/src/modelSelection.ts | 9 +- apps/web/src/session-logic.ts | 6 +- apps/web/src/shortcutModifierState.test.ts | 146 +++++++ apps/web/src/shortcutModifierState.ts | 96 ++++ packages/contracts/src/keybindings.test.ts | 12 + packages/contracts/src/keybindings.ts | 21 + packages/contracts/src/server.ts | 2 + packages/contracts/src/settings.ts | 31 +- 41 files changed, 2832 insertions(+), 535 deletions(-)