Skip to content

Commit 49e6ec4

Browse files
committed
Add agentic CLI as an alternative action for voice input transcription
- add option 'invoke agent' for voice input. handle by saving audio file to disk, adding exception_read_autio - should show quick pick with send request/invoke agent at all times - some state keys are not in state keys └── apps └── editor └── src ├── commands │ ├── code-at-cursor-command │ │ └── utils │ │ └── perform-code-at-cursor.ts │ └── generate-commit-message-commands │ └── actions │ └── run-generate-action.ts ├── constants │ ├── instructions.ts │ └── state-keys.ts ├── features │ ├── agentic-search │ │ └── agentic-search.ts │ └── search-files │ └── search-modes │ └── perform-intelligent-search-mode.ts ├── i18n │ └── translations │ └── views │ └── prompt │ └── handlers │ └── handle-invoke-agentic-cli.ts ├── utils │ └── agentic-cli-invocation │ ├── agents │ │ ├── antigravity.ts │ │ ├── claude.ts │ │ ├── codex.ts │ │ ├── cursor.ts │ │ ├── grok.ts │ │ ├── index.ts │ │ └── opencode.ts │ ├── index.ts │ ├── invoke-agentic-cli.ts │ ├── types.ts │ └── utils │ ├── check-command-exists.ts │ ├── format-duration.ts │ ├── generate-diff-markdown.ts │ └── get-progress-dots.ts └── views └── prompt ├── backend │ ├── message-handlers │ │ ├── handle-invoke-agentic-cli.ts │ │ ├── handle-patch-repair.ts │ │ ├── handle-voice-input.ts │ │ └── utils │ │ └── build-cli-prompt.ts │ └── prompt-view-provider.ts ├── frontend │ ├── Main │ │ └── Main.tsx │ ├── Prompt.tsx │ └── hooks │ └── use-prompt │ └── use-prompt.ts └── types └── messages.ts
1 parent 6b321ca commit 49e6ec4

4 files changed

Lines changed: 274 additions & 81 deletions

File tree

‎apps/editor/src/constants/instructions.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,7 @@ export const cli_edit_ask_requirements = {
7676
exception_read_images:
7777
'Exception: If [task](#task) includes *.png image paths, read them using the appropriate tool.',
7878
exception_allow_file_system_operations:
79-
'Exception: Perform file system operations (create, update, delete) required to complete the [task](#task).'
79+
'Exception: Perform file system operations (create, update, delete) required to complete the [task](#task).',
80+
exception_read_audio:
81+
'Exception: If [task](#task) includes *.wav audio file paths, read them using the appropriate tool.'
8082
}

‎apps/editor/src/constants/state-keys.ts‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ export const LAST_USED_AGENT_FOR_PATCH_REPAIR_STATE_KEY =
7070
'last-used-agent-for-patch-repair'
7171
export const LAST_USED_VOICE_INPUT_CONFIG_ID_STATE_KEY =
7272
'last-used-voice-input-config-id'
73+
export const LAST_USED_VOICE_INPUT_ACTION_STATE_KEY =
74+
'last-used-voice-input-action'
75+
export const LAST_SELECTED_WORKSPACE_FOR_VOICE_INPUT_STATE_KEY =
76+
'last-selected-workspace-for-voice-input'
77+
export const LAST_USED_AGENT_FOR_VOICE_INPUT_STATE_KEY =
78+
'last-used-agent-for-voice-input'
7379

7480
export const get_last_used_web_configuration_key = (web_prompt_type: string) =>
7581
`last-used-web-configuration-${web_prompt_type}`

‎apps/editor/src/i18n/translations/views/prompt/handlers/handle-voice-input.ts‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
export const translations = {
2+
'views.prompt.handlers.handle-voice-input.title': {
3+
en: 'Voice Input',
4+
pl: 'Wprowadzanie głosowe',
5+
'zh-cn': '语音输入',
6+
ja: '音声入力',
7+
'zh-tw': '語音輸入',
8+
de: 'Spracheingabe',
9+
es: 'Entrada de voz',
10+
fr: 'Saisie vocale',
11+
'pt-br': 'Entrada de voz',
12+
ru: 'Голосовой ввод',
13+
ko: '음성 입력',
14+
it: 'Input vocale',
15+
tr: 'Sesli giriş',
16+
cs: 'Hlasový vstup',
17+
hu: 'Hangbemenet',
18+
bg: 'Гласово въвеждане'
19+
},
220
'views.prompt.handlers.handle-voice-input.error.sox-missing': {
321
en: 'Please install SoX to record audio.',
422
pl: 'Zainstaluj SoX, aby nagrywać dźwięk.',

0 commit comments

Comments
 (0)