- add TextEdits to chat model
- add IChatTextEdit and IChatUsedSlashCommand to chat progress types
- hook up ad-hoc agent to inline chat session (no more custom commands)
- add new `State.SHOW_REQUEST` state for when new requests are made
* 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