Commit Graph

6 Commits

Author SHA1 Message Date
Connor Peet
41cc1e2836 update with api feedback 2025-04-23 11:09:15 -07:00
Connor Peet
dd5b6c1235 Revert "pass in an options object instead"
This reverts commit c6c85b3e9d.
2025-04-23 10:58:44 -07:00
Connor Peet
c6c85b3e9d pass in an options object instead 2025-04-22 10:33:18 -07:00
Connor Peet
9ea17f8a1c pr comments 2025-04-22 09:20:51 -07:00
Connor Peet
edc8644253 be less creative ;) 2025-04-17 10:51:04 -07:00
Connor Peet
38768712a3 chat: allow tools to report progress
This adds a `toolProgress` proposed API that allows extensions to report
progress keyed on the `toolInvocationToken`. Internally, when given to a
tool, this now includes the call ID of the tool.

We can use that both from extensions and internally to report progress
for tools, and I hooked this up for MCP servers. Currently only the text
is updated.

Involved some changes in the progress service internally:

- Previously `viewId` was a naked string, I wrapped it in an object to
  make it more identifiable.
- The progress service is in `workbench/services` and directly calls
  into other services to effect progress. In leui of going for a full
  'contribution' model, I made a small `ILanguageModelToolProgressService`
	that it writes state into and that can be read back out. The state
	(an observable) is kept as long as progress is ongoing or this is
	is an observer.
2025-04-16 19:42:32 -07:00