Commit Graph

1596 Commits

Author SHA1 Message Date
Justin Chen
7f01c2f4f4 switch image mimetype to enum (#244776)
switch mimetype to enum
2025-03-26 11:31:25 -07:00
Matt Bierner
d8da0ea5ed Merge pull request #244302 from mjbvz/chat-status
Add chat status API proposal
2025-03-25 01:05:44 -07:00
Tyler James Leonhardt
c244b199e2 Delete Unused API (#244529)
ref https://github.com/microsoft/vscode/issues/243615
2025-03-25 01:48:56 +01:00
Matt Bierner
cadb511d36 Tweaks to UI 2025-03-24 14:28:30 -07:00
Matt Bierner
70c66eb148 Merge branch 'main' into chat-status 2025-03-24 08:27:51 -07:00
Rob Lourens
2bdf282f0a Pass model to tools (#244323)
* Pass model to tools
When tools make requests, they should use the right model. So we
- save the model id on the request
- look it up when the tool is invoked
- resolve it to a LanguageModelChat in the EH

* Fix build
2025-03-22 06:42:06 +00:00
Matt Bierner
cb6b626928 Add chat status API proposal
Adds a new proposal that lets extensions contribute to a basic status item for chat
2025-03-21 13:33:27 -07:00
Rob Lourens
4861c5b109 Add isEdit to ChatResponseCodeblockUriPart (#244190)
We need to distinguish between codeblocks that have URIs and should be rendered as codeblock pills, vs ones that should be rendered as normal codeblocks but get the "apply in foo.js" handling due to having URIs. Previously this was just based on the mode, but in order to render chat codeblocks and also edits codeblocks, we need this tracking of whether a codeblockuri represents an edited file, which comes from the intent invocation.

When we clean up codeblock-based edits in favor of tools all the time, we can clean up this crazy code...
2025-03-20 16:52:18 -07:00
Justin Chen
c9a3027e4c add back in original languageModelChatMessage (#244065) 2025-03-20 01:22:01 +01:00
Rob Lourens
dd6e06a8f2 Add onDidDisposeChatSession to enable closing chat terminals when a chat session ends (#244030) 2025-03-19 20:22:38 +01:00
Rob Lourens
60b20bc2b0 Change "send to @workspace" to "send with #codebase" (#243930)
Change "send to @workspace" to "send to #codebase"
2025-03-18 19:57:36 -07:00
Justin Chen
23b3085b84 allow extensions to make LLM requests with image attachment (#243151)
* first pass language model image

* add language model 2 instead

* more languagemodel2

* change api shape

* add back original languagemodelchatmessage

* fix imports

* allow old languageModelChatMessage to also b used

* handle vsbuffer case

* make sure to resize images before sending the chat request

* remove detail

* remove whitespace

* rename to languageModelDataPart
2025-03-18 14:29:23 -07:00
Tyler James Leonhardt
558d5df792 Add proposed API for trusted domains and for web page extraction (#243811)
* Add proposed API for trusted domains and for web page extraction

I don't love the shape of this API but I'm going with this for now to play with it.

This will help Chat provide contents of web pages as context but also allow it full control of the tool.

ref https://github.com/microsoft/vscode/issues/243615

* use a different url

* delete the test until we have a good way to mock
2025-03-17 22:26:13 +01:00
Tyler James Leonhardt
6eb0395980 Add call out that $(<name>) syntax only works for items (#243793)
Fixes https://github.com/microsoft/vscode/issues/243518
2025-03-17 20:04:06 +01:00
Megan Rogge
281e0a55b0 make task problem matcher events API simpler (#243756) 2025-03-17 16:12:35 +01:00
Anthony Kim
bf36be9c61 Finalize Shell API (#243274)
* Adopt terminal suggest to shell api change

* Internally bring string enum for terminal suggest to prevent Typos

* Better word description under api description

* Remove shell proposed api against vscode.d.ts

* Update `shell` description after looking at feedbacks.

* Update docs

* Change to a Map<TerminalShellTye, string[]>

* One last typo

---------

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
2025-03-15 15:28:19 -07:00
Rob Lourens
c45eab83be Make agent welcome content declared on the agent as metadata (#243618)
* Make agent welcome content declared on the agent as metadata
To make it easier when switching modes

* Remove internal plumbing

* Fix sample questions

* bump version
2025-03-15 08:22:40 +01:00
Connor Peet
248739282e mcp: support sse (#243621)
* mcp: support sse

Didn't seem like Claude Desktop configs have SSE support yet, but I did
the obvious of having an object with a `url`. I also added a `type`
(optional for stdio) so we can better disambiguate types of configs.

Example .vscode/mcp.json:

```
{
  "servers": {
    "everything": {
      "type": "sse",
      "url": "http://localhost:3001/sse"
    }
	}
}
```

Closes #243242

* update layer check
2025-03-15 06:32:00 +00:00
Johannes
18072d9217 Merge branch 'main' into joh/genetic-canidae 2025-03-14 14:16:00 +01:00
Johannes Rieken
6da38d10e9 make select tools for all tools, not just MCP tools (#243551)
* add `ChatRequest#tools`

* make select tools for all tools, not just MCP tools

* make the select tools work with all tools, group by MCP server, extension, and rest
* fill in the new ChatRequest#selectTools API with selected tools
* have the MCP server command be its own command with its own custom rendering

* remove old comment
2025-03-14 13:41:18 +01:00
Connor Peet
35614b626f Merge remote-tracking branch 'origin/main' into joh/genetic-canidae 2025-03-13 23:11:25 -07:00
Connor Peet
0f278b9a16 fixup tests and to .d.ts todos 2025-03-13 23:05:14 -07:00
Rob Lourens
2c7a028381 Fix inline chat after updating to use "edit2" in the extension (#243507)
Bump API version because these have to be aligned
2025-03-13 20:34:27 -07:00
Connor Peet
a1e2602ab0 wip on more extension-contributed collections 2025-03-13 18:17:39 -07:00
Johannes
ccca5fd4b5 also support SSE config 2025-03-13 18:04:20 +01:00
Johannes
00d7e7b228 wip up McpConfigurationProvider api
This allows to dynamically compute the well-known mcp configuration object so that config can be made simpler
2025-03-13 17:57:32 +01:00
Daniel Imms
484d16126b Only light up .shellIntegration API if it has rich command detection
Part of #242897
2025-03-13 07:42:21 -07:00
Anthony Kim
7209458e54 Remove undefined from TerminalShellIntegrationEnvironment.value (#243219)
Remove | undefined from TerminalShellIntegrationEnvironment.value
2025-03-12 09:42:10 -07:00
Megan Rogge
870d14c7b3 add task status API (#243092) 2025-03-12 10:24:22 -04:00
Matt Bierner
76cf96baa8 Merge pull request #241522 from mjbvz/conventional-unicorn
Clarify that our character offsets are in utf-16 code units
2025-03-11 12:53:17 -07:00
Logan Ramos
bea6e1ff1b Add id to chat request (#243239)
* Add id to chat request

* Support proposed api check

* Do some casting
2025-03-11 19:27:03 +00:00
Kevin Wang
856dbe90b0 Fix comment typo (#243145)
I think this is supposed to say "without deviating from it"?
2025-03-11 16:58:20 +00:00
Rob Lourens
2c19ac01f3 Add languageModelToolsForAgent proposal (#243105)
To have a cleaner proposal to enable the tag for extensions to contribute tools to agent mode
2025-03-10 20:00:27 +01:00
Logan Ramos
fddc71e69f Pass through chatInteractionId to tool calls (#242915) 2025-03-07 11:44:55 -08:00
Daniel Imms
a5d6d69da1 Add TerminalShellIntegration.hasRichCommandDetection API
Part of #242897
2025-03-07 07:10:40 -08:00
Connor Peet
f9e071530c chat: remove chatReadonlyPromptReference proposal (#242610)
We haven't found a use case that resonates here, and this got a bit broken with recent working set refactors.
2025-03-04 22:07:55 +01:00
David Sanders
6a9abc778e Fix a few broken @link in vscode.d.ts 2025-03-01 21:21:06 -08:00
Benjamin Pasero
7625487ec2 Improve documentation for text document encoding methods (#242299) 2025-02-28 13:54:30 +01:00
Benjamin Pasero
edf0ad763e api - clarify encoding for #241844 (#242278) 2025-02-28 11:23:16 +01:00
Rob Lourens
cfe8020e4e Add ChatErrorLevel to ChatErrorDetails (#242139)
We need this so that the error when the rate limit is exceeded can show as 'info' without having to set `responseIsFiltered`
2025-02-27 03:48:19 +01:00
Rob Lourens
ffa4a758e6 Move agent mode enablement for models to extension (#242104) 2025-02-26 20:11:16 +01:00
Benjamin Pasero
5b62c2e584 Very vague sentence about text encoding change (fix #241836) (#242019) 2025-02-26 07:23:37 +01:00
Matt Bierner
a8df977b0d Merge pull request #241502 from mjbvz/frantic-crayfish
Add explicit `| undefined` for `LanguageModelChatTool`
2025-02-24 23:18:00 -08:00
Rob Lourens
45f744af6c Custom tool invocation renderer for terminal tool (#241768)
* Custom tool invocation renderer for terminal tool
Enable editing the terminal command

* Fix issues
2025-02-24 14:35:06 -08:00
Rob Lourens
2e6b2792b9 Move edit_file tool to extension (#241657)
Core contributes a tool which is the real implementation of file editing, but the extension gets to control the tool result
2025-02-24 12:19:12 -08:00
Matt Bierner
012e593973 Merge pull request #241494 from mjbvz/married-sheep
Mark fields in `Selection` as readonly
2025-02-24 01:44:52 -08:00
Natha Paquette
87a6a6d463 Typo in storage URI docs (#241600)
typo fix
2025-02-24 09:37:21 +00:00
Daniel Imms
57109e1039 Merge pull request #241395 from microsoft/tyriar/241392
Differentiate flags/options, add option value type
2025-02-23 20:59:07 -08:00
Daniel Imms
7cc14fc51c Handle no environment reporting properly
We need to differentiate undefined (no env reporting ever) and an empty
environment (env was reported, but maybe incomplete).

Fixes #241504
2025-02-22 08:33:48 -08:00
Daniel Imms
f26d973b5a Merge remote-tracking branch 'origin/main' into tyriar/241392 2025-02-22 07:42:16 -08:00