Commit Graph

1020 Commits

Author SHA1 Message Date
Benjamin Pasero
41bf82af6a watcher - enable event correlation for all users of new proposed API (#196629) 2023-10-26 06:58:56 +11:00
Justin Chen
8887abd9fc Allow additional extension data from Issue Reporter API (#196103)
* issue-reporter-main merge into branch (#13)

* laying the groundwork for issue reporter API

* working version 1

* added additional support, checkbox

* smol change with disabling edits and cleanup

* added blocker, timeout of 5 seconds, instead of rejecting we return

* added working template data as well

* removed test code

* cleaning up commit

* working with injecting template and allowing editing

* cleanup pass 1

* added progress bar and code cleanup

* cleanup and adding docs

* added default data in issuereporter test

* extension data hidden by default, better loading indication

* cleanup

* added codicons

* added codicon styling, removed progress bar:

* code cleanup

* better preview button handling

* cleaning up part 4

Co-authored-by: Tyler James Leonhardt <me@tylerleonhardt.com>

---------

Co-authored-by: Tyler James Leonhardt <me@tylerleonhardt.com>
2023-10-23 22:09:33 +02:00
Rob Lourens
f030465eb3 Support showing agent + slash command dynamically, when detected for a request 2023-10-21 20:14:41 -07:00
Connor Peet
d2b1eb8a36 testing: finalize TestMessage.contextValue (#195706)
Closes #190277
2023-10-16 20:37:37 +02:00
Johannes Rieken
717f3e3f6c Joh/tart-lamprey (#195554)
* some API todos

* add `ChatAgent2#onDidReceiveFeedback` for helpful/unhelpful feedback kinds

* add another proposal for chat additions

* small tweaks
2023-10-13 12:46:43 +02:00
Benjamin Pasero
7a03774b96 speech - core service and extension API (#195365)
* speech - scaffold a basic core service for registration

* speech - scaffold a basic extension API for speech providers

* cleanup

* speech - improve API to work with events

* simplify

* better api

* cleanup
2023-10-12 14:53:01 +02:00
Rob Lourens
901ac65ea9 Implement chatAgent2 proposal (#194635)
* Add notes on chat agent API

* Add request ID to context

* variables

* Add partial implementation for another option for a chat agent API

* update

* Notes from api sync

* More notes

* Can invoke an agent and get the response

* Provide a real request

* Notes

* add `slashCommandProvider` - not yet hooked up

* add metadata properties inline, some comments

* some more notes

* Put the new API side-by-side with the old one

* Fix agent title in response

* Fix agent display

* Send slashCommand to request

* Hook up variables

* Get rid of package.json registration option

* Start to implement followups provider

* Add comment

* make it `slashCommandProvider` all the way, use updateAgent for updates icon, fullName, description

* update docs

* only ask for slash command completions when completing a slash-word

* use complex completion item label for command/agent completions

* add `promptText` to `IParsedChatRequestPart` so that some parts don't make it into the prompt (like agent and slash commands)

* only allow agent and slash command at the beginning of the prompt

* remove unused method

* some jsdoc, many renames so that stuff starts with `ChatAgent...`

* reduce `createChatAgent` to the minimum, let the rest be set via setters

* in the renderer know if an agent has slash command and follow ups, safes IPC calls

* use `iconPath` to align with other APIs

* more jsdoc and more obvious TODOs

* fix chat parser with "late" command

* handle error so that the request stops. where is the rendering tho?

* Show error message in response properly

* Don't blow up global / list

* Change proposal name

* Inline followup types

* fix type

* Remove brace in error msg

---------

Co-authored-by: Johannes <johannes.rieken@gmail.com>
2023-10-12 05:23:51 +02:00
Benjamin Pasero
29b69437ab watcher - correlate events to their requesting source (#194776)
* watcher - emit `URI` instead of `string` for faster `fsPath` compute  (for #194341)

* wip

* more

* adopt

* some cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* implement correlation

* cleanup

* add correlation

* undo, leave for later

* tests

* tests

* tests

* tests

* tests

* log cId

* simpler correlation id

* 💄

* tests

* runs

* skip normalization

* fix tests

* tests

* fix tests

* add `createWatcher` API

* partition events in ext host

* allow custom excludes

* remove disk file change

* 💄

* 💄

* 💄

* wire in

* wire in
2023-10-10 10:27:18 +02:00
Rob Lourens
3ab789159e Clean up old unused chat API (#194857) 2023-10-05 09:48:34 +02:00
Rob Lourens
580dfe6e49 Remove legacy chatSlashCommands proposal (#194633)
Focus is on chat agents now, so removing this to avoid confusion.
2023-10-02 15:30:46 -07:00
Michael Lively
e6b8e0352e Notebook CodeActionKind Support (#192248)
* shift nb codeaction filter to editor layer

* readability

* revised API, clearer typings, filter out autosave triggers

* quick lil rename bc i kept confusing myself

* revert back to boolean setting. wait for editor enum
2023-09-18 19:07:54 +01:00
Alexandru Dima
63fa4bccfb Finalize LanguageConfiguration.autoClosingPairs (#193197)
Finalize LanguageConfiguration.autoClosingPairs
2023-09-18 18:01:25 +02:00
Rob Lourens
bc6b75eb2c Basic 'chat agent' API (#193152)
* Very basic chat agent API/UX

* Add custom name/avatar, and restore them in persisted sessions

* Show agent subcommands on the top level

* Show editor decorations for subcommands

* Fix unit tests

* Implement unregister

* Revert slash command content widget change, still used by inline editor

* Remove content widget reference

* Fix leaked disposable
2023-09-15 10:32:30 +02:00
Johannes
869f013f05 inline - some more API tweaks 2023-09-13 16:59:33 +02:00
Daniel Imms
cf7daf08e3 Finalize env.onDidChangeShell
Fixes #160694
2023-09-12 08:03:59 -07:00
Johannes
2856e2dd08 chore - small cleanup of the inline chat API proposal 2023-09-11 16:22:44 +02:00
Johannes
f44e4ed8d4 chore - some errors cleanup 2023-09-04 13:44:39 +02:00
Daniel Imms
03ca83baac Merge branch 'main' into tyriar/145234 2023-08-25 12:58:05 -07:00
Daniel Imms
5b5fbe166d Simplify api 2023-08-25 09:49:39 -07:00
Tyler James Leonhardt
aced05cf7c Remove Semantic Similarity Provider (#191039)
Now that RelatedInformationProvider has landed

ref https://github.com/microsoft/vscode/issues/190909
2023-08-25 09:35:31 -07:00
Daniel Imms
ae9df9733c Simplify events 2023-08-24 10:37:56 -07:00
Tyler James Leonhardt
9a69c2ab7c One Provider per Type (#191136)
Simpler design due to feedback from Logan.
2023-08-23 16:03:45 -07:00
Ulugbek Abdullaev
e4bfe48d92 Merge pull request #190649 from microsoft/ulugbekna/insert-at-cursor-api
MappedEditsProvider API
2023-08-23 12:28:24 +02:00
Tyler James Leonhardt
f058931630 RelatedInformation & EmbeddingVector API (#191006) 2023-08-22 20:22:53 +01:00
Ulugbek Abdullaev
2c9e2b85b2 use LanguageFeaturesService to support MappedEditsProviders instead of creating a new MappedEditsService 2023-08-22 15:46:44 +02:00
Martin Aeschlimann
98f63f1849 Merge branch 'main' into ulugbekna/insert-at-cursor-api 2023-08-21 18:43:52 +02:00
Ulugbek Abdullaev
3e9e7b3b5a Initial implementation of mappedEditsProvider proposed API 2023-08-17 17:10:35 +02:00
Ulugbek Abdullaev
0e2849672f refactor: add types to remove warning 2023-08-17 17:05:26 +02:00
Daniel Imms
4047859b0d Implement vscode command terminal quick fixes
Part of #162950
2023-08-16 12:23:49 -07:00
Johannes
66e5308af3 use proper enum for ChatVariableLevel 2023-08-15 14:47:22 +02:00
Johannes
f1c80a5c5a Merge branch 'main' into chatVariables 2023-08-14 08:37:41 +02:00
Connor Peet
2d9cc42045 testing: menu contribution points around messages (#190298)
- Implements the proposal in #190277 by adding a `contextValue` to
  TestMessages added to test runs.
- Make the `FloatingClickMenu` reusable outside the editor, and uses
  it to implement a `testing/message/content` contribution point.

With this extensions can do things like:

![](https://memes.peet.io/img/23-08-68e2f9db-abc4-4717-9da6-698b002c481c.png)
2023-08-12 08:03:01 -07:00
Johannes
487606d5e1 Merge branch 'main' into chatVariables 2023-08-11 13:50:13 +02:00
Johannes
2cb4a66f87 implement and wire-up chatVariables proposal 2023-08-11 11:15:57 +02:00
Johannes Rieken
bc4e606f7a remove old slash commands proposal (#190154) 2023-08-10 14:19:07 +02:00
Daniel Imms
ccf15d3964 Merge remote-tracking branch 'origin/main' into tyriar/162950_3 2023-08-09 15:33:54 -07:00
Daniel Imms
5edcca3b38 Update terminal quick fix proposal
Part of #162950
2023-08-09 07:41:00 -07:00
Johannes
465b94787f graceful metadata handling 2023-08-09 10:59:39 +02:00
Johannes
339afc23cb extract chatml things into its own proposal file, rename namespace from llm to chat 2023-08-08 11:47:08 +02:00
Johannes
c78af4fff4 Merge branch 'main' into joh/thoughtless-haddock 2023-07-21 14:41:31 +02:00
Alex Ross
acf5d15424 Expose tunnel factory API to non-resolvers (#188270) 2023-07-20 11:56:25 +02:00
Johannes
3cfa5b9ad4 add requestChatAccess proposal 2023-07-19 15:04:44 +02:00
Johannes
a155dbb793 register chat provider with an identifier 2023-07-18 15:39:00 +02:00
Johannes
f21001c1fe wip 2023-07-14 17:36:58 +02:00
Henning Dieterichs
d1ae8a6ecc Inline Completions: Implements yieldsTo (#187156)
Fixes #https://github.com/microsoft/vscode-internalbacklog/issues/4055
2023-07-07 16:29:09 +02:00
rebornix
818d4995b5 initial notebook save on remote eh 2023-06-23 15:19:01 -07:00
Benjamin Pasero
052ac9ca4c files - allow more file operations to run in the extension host (#172345) (#185988)
* files - allow more file operations to run in the extension host (#172345)

* fix tests

* tests

* tests

* tests
2023-06-23 17:18:44 +02:00
Alex Ross
f5fccbdfe8 Finalize tree checkbox API (#185846)
* Finalize tree checkbox API
Fixes #116141

* Remove TODO
2023-06-22 15:28:11 +02:00
Joyce Er
7c2d459318 Support transferring interactive sessions across workspaces (#185702)
---------

Co-authored-by: Rob Lourens <roblourens@gmail.com>
2023-06-21 10:30:40 -07:00
Connor Peet
69246279e5 resolvers: support nesting and exec server (#185169)
This adds support for nesting remote authorities via passing through
ExecServers.

- An authority like `wsl+Ubuntu@tunnel+my-pc` is parsed into
  the chain `tunnel+my-pc` -> `wsl+Ubuntu`
- An extension for the `tunnel` prefixed is resolved. We expect the
  resolver to implement the new `resolveExecServer` method.
- Resolution continues. `wsl+Ubuntu` is the last resolver, so the
  `resolve()` method is called and the exec server is passed in its
  `RemoteAuthorityResolverContext`

Currently the ExecServer is typed as `unknown` in the API. _Maybe_ we
want to make it real API in the future, but I don't want to do this
until it's generalized beyond a single consumer (WSL).

This also has adds utility method `getRemoteExecServer` to get an exec
server for a given remote. This is used by WSL to probe information
about a tunneled machine even when WSL isn't opened (e.g. to get the
list of distros to shop.)

The new `@` handling should not break remotes. WSL doesn't use `@` in
its remotes, SSH and containers both hex-encode information contained
in authorities. Codespaces does put the codespace name in the remote
authority, but it doesn't seem like it's possible to get `@` in those
names, since they're generated either randomly when opening a template
or from a repo name (where @ is not allowed).
2023-06-15 11:38:35 -07:00