Commit Graph

68 Commits

Author SHA1 Message Date
Johannes Rieken
5e38f282a2 edits fixes (#238826)
one inline chat session per file, fix revealing for 1+n requests
2025-01-27 10:35:39 +01:00
Johannes
8d5f6f0050 inline chat edits 2025-01-23 15:39:06 +01:00
Johannes
3aece83761 wip - inline chat via editing session 2025-01-22 09:13:23 +01:00
Johannes Rieken
24f6dafe20 debt - remove inline chat preview mode (#237654) 2025-01-10 15:24:34 +01:00
Johannes Rieken
be760b0915 fix how context key is updated (#229818) 2024-09-26 13:18:45 +02:00
Johannes Rieken
67a93b0e45 Revert "Revert "chat command center polish (#229674)" (#229755)" (#229802)
This reverts commit 11fb5bbfdb.

Add another context key `inlineChatPossible` which truely checks code editors so that a global command works
2024-09-26 11:11:36 +02:00
Johannes Rieken
82a1f0b276 finish inline chat session when EH restarts or dies (#229132)
fixes https://github.com/microsoft/vscode-copilot-release/issues/1535
2024-09-20 10:53:06 +02:00
Benjamin Pasero
6b924c5152 ESM merge to main (#227184)
Co-authored-by: Johannes Rieken <jrieken@microsoft.com>
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
2024-08-30 10:31:46 +02:00
Johannes Rieken
76d6785781 fixes https://github.com/microsoft/vscode/issues/226140 (#226149) 2024-08-21 12:28:28 +02:00
Johannes Rieken
6f13ec62fc chore - inline chat work (#226139)
* chore - prepare inline chat to be started with an existing model that has edits

* debt - remove `SessionExchange` et al.

* Makes inline chat be entirely grounded in the chat model
* Removes the copy recordings command which never got used
2024-08-21 11:55:19 +02:00
Johannes Rieken
5a8d73cebb debt - simplify logic around lastInput (#226046) 2024-08-20 12:40:44 +02:00
Johannes Rieken
469f45091d add InlineChatController#reviewEdits which allows to reuse the inline code review flow/ui (#225981) 2024-08-19 17:51:14 +02:00
Ulugbek Abdullaev
ab1d4f50c5 inline chat: pass a single option prop to createSession 2024-08-15 17:14:55 +02:00
Ulugbek Abdullaev
adc3fe4984 inline chat: also migrate lastInput and exchanges from old session to new session of the migrated inline chat 2024-08-15 12:53:47 +02:00
Ulugbek Abdullaev
60cfd4ddec WIP: move-able inline chat 2024-08-15 11:00:08 +02:00
Johannes Rieken
b5c96d96ca debt - remove defaultImplicitVariables from agents and remove variable resolvers for inline chat (editor, notebook) (#219659) 2024-07-02 11:09:55 +02:00
Johannes Rieken
1c967bb7c6 fix leaking listeners, track dispoable workbench contributions (#214301)
* fix leaking listener

https://github.com/microsoft/vscode/issues/214234

* track disposable workbench contribution and dispose them on shutdown fyi @bpasero

https://github.com/microsoft/vscode/issues/214234

* fix leaking listener

https://github.com/microsoft/vscode/issues/214234
2024-06-05 08:38:34 +02:00
Johannes Rieken
5c31068a22 chore - remove unused/dead code (#214009)
* remove dead `IInlineChatResponse`

* remove `IInlineChatSession`
2024-05-31 15:50:39 +02:00
Johannes Rieken
e67cdb56b1 clean up dead context keys and other dead code (#213387) 2024-05-24 14:07:41 +02:00
Johannes Rieken
2e98100d22 Joh/homely-damselfly (#213376)
* 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
2024-05-24 11:14:49 +02:00
Johannes Rieken
3683ed7151 remove IInlineChatService and types around it (#213298) 2024-05-23 11:03:49 +02:00
Johannes Rieken
a54e247fba Enable roaming of inflight chat requests (#213239)
This enables to remove the special handling for `/explain`

- fixes https://github.com/microsoft/vscode-copilot/issues/2192
- fixes https://github.com/microsoft/vscode/issues/208706 because inline chat now closes on "view in chat"
- fixes https://github.com/microsoft/vscode-copilot/issues/5288
2024-05-22 18:47:03 +02:00
Johannes
dd05a6ff19 remove bridge agents and agent providers because inline chat is all participants now
* remove much of IInlineChatSessionProvider
* deprecate IInlineChatService and move most consumers off
2024-05-21 17:41:25 +02:00
Johannes Rieken
462a2a7c8f use agent's full name in the inline chat provider wrapper (#212871) 2024-05-16 16:19:53 +02:00
Rob Lourens
6643db734a Add chat variable id and rename to 'references' (#212480)
* Add chat variable id

* Rename 'variables' to 'references'

* Replace other 'variables' usages

* Fix tests
2024-05-13 14:30:14 -07:00
Rob Lourens
29aeab1cbb Include chat agent ID in telemetry (#212516) 2024-05-13 01:55:23 +02:00
Rob Lourens
aed4230a89 Fix chat agent hover for dynamic agents (#211990)
* Fix chat agent hover for dynamic agents

* Fix tests
2024-05-03 15:51:42 -07:00
Rob Lourens
a1f2ea3162 Move from chat variable values array to a single value (#211897)
* Move from chat variable values array to a single value

* Update
2024-05-02 21:40:52 -07:00
Rob Lourens
ea00756b91 Fix broken chat layout after reloading window
Added a new property to the chat agent, but then it's missing from older rehydrated chat models.
2024-04-24 15:27:54 -07:00
Johannes Rieken
71ebcf973c send inline chat variable as dedicated hidden variable (#211285)
https://github.com/microsoft/vscode-copilot/issues/5236
2024-04-24 20:00:45 +02:00
Johannes Rieken
321938130d make sure hold a session-long reference to untitled documents (#210969) 2024-04-22 15:32:10 -07:00
Johannes Rieken
ba65916262 improve CodeCompareBlockPart (#210964)
* 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
2024-04-23 00:28:59 +02:00
Rob Lourens
73579dc2b6 Fix 2024-04-19 13:23:33 -07:00
Rob Lourens
7b22c151b3 Merge remote-tracking branch 'origin/main' into roblou/chat-agent-hover 2024-04-19 11:30:40 -07:00
Johannes Rieken
7b91c2d1ba Live mode uses chat widget rendering (#210157)
* 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
2024-04-11 14:43:53 +02:00
Johannes Rieken
3ebe5a4ef7 prepare for not having a "real" inline chat provider (#210069)
* prepare for not having a "real" inline chat provider

- add location to provideWelcomeMessage
- add dynamic/fake inline chat provider for editor agents
- fix inline content widget when not having a message

* fix tests
2024-04-10 18:25:52 +02:00
Johannes Rieken
6a06de0033 Hook up feedback/user-action events for inline chat participants (#210040)
- add a special user-action
- inline chat controller doesn't call handleFeedback directly anymore
- ReplyResonse knows its chat model response
2024-04-10 13:15:40 +02:00
Rob Lourens
437a79c17e Render publisher with dupe chat participant names (#209983)
* Render publisher with dupe chat participant names

* Use publisher for suggest as well
2024-04-09 15:39:53 -07:00
Johannes Rieken
ace2b1b336 use provideSampleQuestions to show initial input of inline chat session (#209947)
* use `provideSampleQuestions` to show initial input of inline chat session

* fix test
2024-04-09 16:01:35 +02:00
Johannes Rieken
abb831f432 add IChatModel#initialLocation (#209930)
This represents the location in which chat started, it also comes with `startSession(location)`. Finally, pass the location along when asking for sample questions
2024-04-09 12:02:29 +02:00
Johannes Rieken
e8836b1f62 add an implict variable that is the inline chat selection and whole range (#209832) 2024-04-08 06:32:40 -07:00
Johannes Rieken
ef6345ae05 Support for attempt and enableCommandDetection in chat model/service (#209826)
* add `IChatRequestModel#attempt` so that rerun request/response can be supported

* - support to run with/without command detection enabled
- adopt agent brigde to new chat request
- add share rerun-commands (but only enable them for inline chat for now)
2024-04-08 14:08:22 +02:00
Rob Lourens
ed6c6d3f28 Kill "interactive session provider" DEAD (#209700)
* Reduce chat provider usage

* Clear out IChat props

* Delete interactive session provider API

* Totally remove static chat provider registration

* Clean up onDidRegisterProvider events

* Remove provider ID references from model

* Eliminate many 'providerId' references

* Simplify view registration

* Clean up participant-specific actions

* Delete getProviderInfos

* Rename context key

* Fix tests

* Fix action label

* Fix view title

* Fix test

* Fix test

* Fix integration test

* Remove more providerId

* Add API stub to make this compatible with the existing Copilot Chat
2024-04-07 21:06:43 -07:00
Johannes Rieken
2a347db49e Prepare for inline chat participants (#209628)
* debt - remove bridge agent when "true" agent appears

* create a SessionExchange from chat model request/response pair

* fix markdown message passing

* use (a little) more of ChatModel world and less of inline chat models

* remove unused test

* fix tests
2024-04-05 16:27:17 +02:00
Johannes Rieken
ad5a40fb18 Inline chat fixes/feature (#208393)
* 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
2024-03-22 13:24:07 +01:00
Johannes
3ab4e99de2 - getDefaultAgent takes chat agent location
- forward agent location to more places
- updated snapshots
2024-03-21 16:19:43 +01:00
Johannes
42383cb45f post merge fixes 2024-03-21 12:11:06 +01:00
Johannes
bb289d3280 small todo updates 2024-03-20 17:07:46 +01:00
Johannes
15441f4251 Merge branch 'main' into joh/chatWidget 2024-03-20 16:06:03 +01:00
Johannes
6ae696aa56 - first run of cleanup
- update new required services for tests and adjust them
2024-03-20 15:58:55 +01:00