* hightlight first button only when inline chat has a prompt
* rename "Cancel Request" to "Stop Request"
* mark `inlineChat.experimental.textButtons` as experimental
* show all "input" command when not using text btns
* When cancelling, undo untill before the request
* make sure to show close button when having just message responses
* * no more intented rendering of inline chat
* make sure the top of the view zone is always revealed
* chore - `ReplyResponse` cleanup
* associate hunk data with response id
* Associate hunk data with response state so that accepting hunks updates the text edit group
* first cut of moving N-edits conversion from inline chat to panel
Have a `DefaultChatTextEditor` that applies chat text edits using the diff editor if possible, normal edits otherwise. The former makes it possible to tweak the diff/changes before applying
* polish code compare block for chat widgets
* show edits unless applied
* show summary after applying
* know when original file has changed
* don't double apply edits
* separate `IChatTextEdit` (progress chunk) and `IChatTextEditGroup` (response value) so that latter can hold extra state and allows for groups of edits
* fix compile errors
* reveal editor after making changes
* also give preview models a path component
* workaround errors in diff computer fyi @hediet
* * make live mode be a rendering mode
* render new files with the chat widget and not with a separate zone
* 💄
* fix tests
* only show slash command as detected when not having typed one
* use clearer message that hunks need to be accepted or discard, also add hover with more details
fixes https://github.com/microsoft/vscode/issues/206939
* align preview and live mode for previewing new/untitled files
* fix layout when having preview-only changes
* increate max speed of progressive text edits
* History entries are tracked by object identity. Make sure `acceptInput` finds and updates previous entries by text
fyi @roblourens
fixes https://github.com/microsoft/vscode/issues/208386
* make status menu configurable
https://github.com/microsoft/vscode/issues/206940
* pull inline chat zone widget into its own file
* 💄
* remove expand/crop feature
* make chat message contents scrollable
* debt - use hunks to render preview diff
* add `InteractiveEditorRequest#previewDocument` to indicate for which document edits are previewed before being applied
* more test coverage
* - Session has textModelN and targetUri where they must not always be equal
- for preview mode create textModelN copy so that AI edits can always be applied
- let preview mode work with hunk information
* - live preview uses hunk information
- tweak utils
* fix live-mode toggle diff
* chore - move chat session service implementation and interface into their own files
* chore - move chat saving service implementation and interface into their own files
* - move hunks into session (instead of strategy)
- recompute them after receiving AI changes
- accept& discard moves hunks from textModelN to textModel0 and vice versa
- service renames
- tests
* - session doesn't know about an editor, only service does
- allow to "move" session to a different editor
- let controller pickup session after move to its editor
- session saving picks up orphand sessions
* try to restore editors when group is still valid
* ctrl - don't pause when cancellation happens during session create
* fix tests
* add inline chat save logic that ensures AI generated changes are only saved after consent
* live - when cancelling don't undo until start version but revert changes
* add setting to control save participation
* fix typo
* stub new services, fixes tests
* remove start-method from strategies
* rename - activeSession to session
* keep strategy alive when pausing session, let strategy participate in pause, allow to call LiveStrategy#renderChanges repeatedly without recomputing hunks
* reset diff toggled state
* make sure to reset hunk display on done (dipose, accept, discard)
* reset diff state in pause, not hide function