Create command palette and add new features for search and actions (#728)

* refactor(ui): replace in-repo Command primitive with cmdk wrapper

* feat(command-palette): add global Cmd+K palette with v1 actions

* feat(command-palette): add session, file, and commit search sources

* refactor: add provider names to model constants

* feat(command-palette): add settings, navigation, message search, and ⌘K hints

* feat(command-palette): add git fetch/pull/push and branch switch actions

* refactor(command-palette): consolidate fetch source hooks behind useApiSource

* refactor(command-palette): extract useCommandKey and SETTINGS_MAIN_TABS metadata

* refactor(command-palette): extract groups into declarative registry

* refactor(command-palette): wire openFile through PaletteOpsContext

* refactor: migrate openSettings and refreshProjects from window.* to PaletteOpsContext

* refactor(command-palette): inline groups and delete registry indirection

* refactor(command-palette): return items array directly from source hooks

* refactor(palette-ops): flatten Handle wrapper into ref-based registry

* refactor: inline useCommandKey as MOD_KEY constant in two call sites

* feat: introduce pages and fix bug on branch switching

* fix: small labels

* fix: coderabbit issues

* fix: coderabbit comments

* Update src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Simos Mikelatos
2026-04-30 14:48:48 +03:00
committed by GitHub
parent df3d5de8c1
commit 9f2afebc66
39 changed files with 1594 additions and 379 deletions

View File

@@ -188,7 +188,8 @@
"codex": "Bereit, Codex mit {{model}} zu verwenden. Gib unten deine Nachricht ein.",
"gemini": "Bereit, Gemini mit {{model}} zu verwenden. Gib unten deine Nachricht ein.",
"default": "Wähl oben einen Anbieter, um zu beginnen"
}
},
"pressToSearch": "Drücke <kbd>{{shortcut}}</kbd>, um Sitzungen, Dateien und Commits zu durchsuchen"
},
"session": {
"continue": {

View File

@@ -47,7 +47,8 @@
"deleteSession": "Diese Sitzung dauerhaft löschen",
"save": "Speichern",
"cancel": "Abbrechen",
"clearSearch": "Suche leeren"
"clearSearch": "Suche leeren",
"openCommandPalette": "Befehlspalette öffnen"
},
"navigation": {
"chat": "Chat",

View File

@@ -188,7 +188,8 @@
"codex": "Ready to use Codex with {{model}}. Start typing your message below.",
"gemini": "Ready to use Gemini with {{model}}. Start typing your message below.",
"default": "Select a provider above to begin"
}
},
"pressToSearch": "Press <kbd>{{shortcut}}</kbd> to search sessions, files, and commits"
},
"session": {
"continue": {

View File

@@ -47,7 +47,8 @@
"deleteSession": "Delete this session permanently",
"save": "Save",
"cancel": "Cancel",
"clearSearch": "Clear search"
"clearSearch": "Clear search",
"openCommandPalette": "Open command palette"
},
"navigation": {
"chat": "Chat",

View File

@@ -188,7 +188,8 @@
"codex": "Pronto a usare Codex con {{model}}. Inizia a digitare il tuo messaggio qui sotto.",
"gemini": "Pronto a usare Gemini con {{model}}. Inizia a digitare il tuo messaggio qui sotto.",
"default": "Seleziona un provider sopra per iniziare"
}
},
"pressToSearch": "Premi <kbd>{{shortcut}}</kbd> per cercare sessioni, file e commit"
},
"session": {
"continue": {

View File

@@ -47,7 +47,8 @@
"deleteSession": "Elimina questa sessione permanentemente",
"save": "Salva",
"cancel": "Annulla",
"clearSearch": "Cancella ricerca"
"clearSearch": "Cancella ricerca",
"openCommandPalette": "Apri tavolozza comandi"
},
"navigation": {
"chat": "Chat",

View File

@@ -165,7 +165,8 @@
"cursor": "{{model}}でCursorを使用する準備ができました。下にメッセージを入力してください。",
"codex": "{{model}}でCodexを使用する準備ができました。下にメッセージを入力してください。",
"default": "上からプロバイダーを選択して開始してください"
}
},
"pressToSearch": "<kbd>{{shortcut}}</kbd> を押してセッション、ファイル、コミットを検索"
},
"session": {
"continue": {

View File

@@ -46,7 +46,8 @@
"editSessionName": "セッション名を手動で編集",
"deleteSession": "このセッションを完全に削除",
"save": "保存",
"cancel": "キャンセル"
"cancel": "キャンセル",
"openCommandPalette": "コマンドパレットを開く"
},
"navigation": {
"chat": "チャット",

View File

@@ -170,7 +170,8 @@
"codex": "{{model}} 모델로 Codex를 사용할 준비가 되었습니다. 아래에 메시지를 입력하세요.",
"gemini": "{{model}} 모델로 Gemini를 사용할 준비가 되었습니다. 아래에 메시지를 입력하세요.",
"default": "시작하려면 위에서 제공자를 선택하세요"
}
},
"pressToSearch": "<kbd>{{shortcut}}</kbd>를 눌러 세션, 파일 및 커밋을 검색하세요"
},
"session": {
"continue": {

View File

@@ -46,7 +46,8 @@
"editSessionName": "세션 이름 직접 편집",
"deleteSession": "이 세션 영구 삭제",
"save": "저장",
"cancel": "취소"
"cancel": "취소",
"openCommandPalette": "명령 팔레트 열기"
},
"navigation": {
"chat": "채팅",

View File

@@ -188,7 +188,8 @@
"codex": "Готов использовать Codex с {{model}}. Начните вводить сообщение ниже.",
"gemini": "Готов использовать Gemini с {{model}}. Начните вводить сообщение ниже.",
"default": "Выберите провайдера выше для начала"
}
},
"pressToSearch": "Нажмите <kbd>{{shortcut}}</kbd>, чтобы искать сессии, файлы и коммиты"
},
"session": {
"continue": {

View File

@@ -47,7 +47,8 @@
"deleteSession": "Удалить этот сеанс навсегда",
"save": "Сохранить",
"cancel": "Отмена",
"clearSearch": "Очистить поиск"
"clearSearch": "Очистить поиск",
"openCommandPalette": "Открыть палитру команд"
},
"navigation": {
"chat": "Чат",

View File

@@ -188,7 +188,8 @@
"codex": "Codex'i {{model}} ile kullanmaya hazır. Mesajını aşağıya yazmaya başla.",
"gemini": "Gemini'yi {{model}} ile kullanmaya hazır. Mesajını aşağıya yazmaya başla.",
"default": "Başlamak için yukarıdan bir sağlayıcı seç"
}
},
"pressToSearch": "Oturumlarda, dosyalarda ve commit'lerde arama yapmak için <kbd>{{shortcut}}</kbd> tuşlarına bas"
},
"session": {
"continue": {

View File

@@ -47,7 +47,8 @@
"deleteSession": "Bu oturumu kalıcı olarak sil",
"save": "Kaydet",
"cancel": "İptal",
"clearSearch": "Aramayı temizle"
"clearSearch": "Aramayı temizle",
"openCommandPalette": "Komut paletini aç"
},
"navigation": {
"chat": "Sohbet",

View File

@@ -170,7 +170,8 @@
"codex": "准备好使用带有 {{model}} 的 Codex。请在下方开始输入您的消息。",
"gemini": "准备好使用带有 {{model}} 的 Gemini。请在下方开始输入您的消息。",
"default": "请在上方选择一个提供者以开始"
}
},
"pressToSearch": "按 <kbd>{{shortcut}}</kbd> 搜索会话、文件和提交"
},
"session": {
"continue": {

View File

@@ -47,7 +47,8 @@
"deleteSession": "永久删除此会话",
"save": "保存",
"cancel": "取消",
"clearSearch": "清除搜索"
"clearSearch": "清除搜索",
"openCommandPalette": "打开命令面板"
},
"navigation": {
"chat": "聊天",