Some OpenAI-compatible providers occasionally emit chat.completion.chunk choices
without a delta object. Guard optional reasoning_content access and add a
regression test to ensure chunk conversion does not throw.
- Enhanced authentication method validation in `auth.ts` and `auth.test.ts`.
- Introduced new model provider configuration logic
- Updated environment variable handling for various auth types.
- Removed deprecated utility functions and tests related to fallback mechanisms.
Fixes#1418
- Remove JSON.stringify() and code fences from getIdeContextParts()
- Use human-readable plain text format for better LLM comprehension
- Full context: 'Active file:', 'Cursor: line X, character Y'
- Delta updates: 'Files opened:', 'Files closed:', 'Cursor moved:', etc.
- Update all related tests to match new plain text format
- All 49 tests passing
This change improves the model's ability to read and reason about IDE
state by eliminating escaped characters and rigid JSON structure that
can confuse LLMs when interpreting file paths, cursor positions, or
selection ranges.
- Change IDE context from JSON to plain text format for better LLM comprehension
- Remove JSON.stringify() and code fences from getIdeContextParts()
- Use human-readable format: 'Active file:', 'Cursor: line X, character Y'
- Apply same format to delta updates: 'Files opened:', 'Files closed:', etc.
- Update all related tests to match new plain text format
- Fix editor command fallback logic in useLaunchEditor
- Throw clear error when no editor command is available
- Remove meaningless fallback to last command in list
- Provide helpful error message with tried commands and solution
Add try/catch to gracefully handle errors when setting privileged
modes (yolo/auto-edit) in untrusted folders, returning an error
message instead of throwing.
- Remove persistence to user settings (no setValue call)
- Only use config.setApprovalMode() for session scope
- Remove autocomplete feature for simplicity
- Align with Shift+Tab behavior
Allow users to set approval mode directly via argument instead of
opening the dialog. For example:
- /approval-mode plan
- /approval-mode yolo
- /approval-mode auto-edit
- /approval-mode default
If no argument is provided, the dialog opens as before.
If an invalid argument is provided, an error message shows valid options.
Also adds tab completion for mode arguments.
Fixes#1353