@codingame/monaco-vscode-extensions-service-override 16.1.1 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +2 -1
  3. package/package.json +28 -32
  4. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
  5. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.d.ts +1 -1
  6. package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.d.ts +14 -0
  7. package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +38 -0
  8. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +10 -10
  9. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +1 -1
  10. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
  11. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +3 -1
  12. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +18 -7
  13. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +2 -0
  14. package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +4 -4
  15. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
  16. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +4 -4
  17. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +1 -1
  18. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +1 -1
  19. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  20. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +2 -2
  21. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
  22. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +7 -7
  23. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
  24. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +4 -4
  25. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
  26. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
  27. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.d.ts +1 -1
  28. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +2 -1
  29. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +27 -2
  30. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +5 -4
  31. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +15 -10
  32. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +5 -4
  33. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +2 -3
  34. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +21 -27
  35. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  36. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +1 -1
  37. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +2 -2
  38. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.d.ts +1 -1
  39. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +2 -2
  40. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +2 -2
  41. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +1 -1
  42. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +2 -2
  43. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
  44. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
  45. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.d.ts +1 -1
  46. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +3 -3
  47. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +29 -5
  48. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
  49. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +2 -0
  50. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +21 -3
  51. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +1 -1
  52. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +1 -1
  53. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +7 -1
  54. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  55. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
  56. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
  57. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +1 -1
  58. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +4 -4
  59. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +7 -5
  60. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +1 -1
  61. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
  62. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +13 -4
  63. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +12 -13
  64. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +2 -2
  65. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +1 -1
  66. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
  67. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -1
  68. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +1 -1
  69. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +1 -1
  70. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +1 -1
  71. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +12 -12
  72. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
  73. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
  74. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
@@ -10,7 +10,7 @@ import { ICommentController } from "@codingame/monaco-vscode-comments-service-ov
10
10
  import { ICommentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/comments/browser/commentService.service";
11
11
  import { CommentProviderFeatures, ExtHostCommentsShape, MainThreadCommentsShape, CommentThreadChanges } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
12
12
  import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service";
13
- import { ICellRange } from "@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/notebook/common/notebookRange";
13
+ import { ICellRange } from "@codingame/monaco-vscode-324f9a6e-6231-5bfc-af17-e147abd2dfd2-common/vscode/vs/workbench/contrib/notebook/common/notebookRange";
14
14
  import { IViewsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service";
15
15
  import { MarshalledCommentThread } from "../../common/comments.js";
16
16
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
@@ -47,8 +47,8 @@ export declare class MainThreadCommentThread<T> implements languages.CommentThre
47
47
  get range(): T | undefined;
48
48
  private readonly _onDidChangeCanReply;
49
49
  get onDidChangeCanReply(): Event<boolean>;
50
- set canReply(state: boolean);
51
- get canReply(): boolean;
50
+ set canReply(state: boolean | languages.CommentAuthorInformation);
51
+ get canReply(): boolean | languages.CommentAuthorInformation;
52
52
  private _collapsibleState;
53
53
  get collapsibleState(): languages.CommentThreadCollapsibleState | undefined;
54
54
  set collapsibleState(newState: languages.CommentThreadCollapsibleState | undefined);
@@ -73,7 +73,7 @@ export declare class MainThreadCommentThread<T> implements languages.CommentThre
73
73
  get isTemplate(): boolean;
74
74
  private readonly _onDidChangeState;
75
75
  onDidChangeState: Event<languages.CommentThreadState | undefined>;
76
- constructor(commentThreadHandle: number, controllerHandle: number, extensionId: string, threadId: string, resource: string, _range: T | undefined, comments: languages.Comment[] | undefined, _canReply: boolean, _isTemplate: boolean, editorId?: string | undefined);
76
+ constructor(commentThreadHandle: number, controllerHandle: number, extensionId: string, threadId: string, resource: string, _range: T | undefined, comments: languages.Comment[] | undefined, _canReply: boolean | languages.CommentAuthorInformation, _isTemplate: boolean, editorId?: string | undefined);
77
77
  batchUpdate(changes: CommentThreadChanges<T>): void;
78
78
  hasComments(): boolean;
79
79
  dispose(): void;
@@ -64,7 +64,7 @@ class MainThreadCommentThread {
64
64
  get onDidChangeCanReply() { return this._onDidChangeCanReply.event; }
65
65
  set canReply(state) {
66
66
  this._canReply = state;
67
- this._onDidChangeCanReply.fire(this._canReply);
67
+ this._onDidChangeCanReply.fire(!!this._canReply);
68
68
  }
69
69
  get canReply() {
70
70
  return this._canReply;
@@ -423,7 +423,7 @@ class MainThreadCommentController {
423
423
  };
424
424
  }
425
425
  }
426
- const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(2374, 'View icon of the comments view.')));
426
+ const commentsViewIcon = registerIcon('comments-view-icon', Codicon.commentDiscussion, ( localize(2392, 'View icon of the comments view.')));
427
427
  let MainThreadComments = class MainThreadComments extends Disposable {
428
428
  constructor(extHostContext, _commentService, _viewsService, _viewDescriptorService, _uriIdentityService, _editorService) {
429
429
  super();
@@ -25,9 +25,9 @@ import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench
25
25
  import { CustomEditorInput } from '@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput';
26
26
  import { ICustomEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/customEditor/common/customEditor.service';
27
27
  import { CustomTextEditorModel } from '../../contrib/customEditor/common/customTextEditorModel.js';
28
- import { ExtensionKeyedWebviewOriginStore } from '@codingame/monaco-vscode-7ba0af96-90c2-5e11-ad7f-befdbbf246c8-common/vscode/vs/workbench/contrib/webview/browser/webview';
28
+ import { ExtensionKeyedWebviewOriginStore } from '@codingame/monaco-vscode-324f9a6e-6231-5bfc-af17-e147abd2dfd2-common/vscode/vs/workbench/contrib/webview/browser/webview';
29
29
  import { IWebviewWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service';
30
- import { editorGroupToColumn } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
30
+ import { editorGroupToColumn } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
31
31
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
32
32
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
33
33
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
@@ -302,7 +302,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
302
302
  this._register(workingCopyService.registerWorkingCopy(this));
303
303
  this._register(extensionService.onWillStop(e => {
304
304
  e.veto(true, ( localize(
305
- 2375,
305
+ 2393,
306
306
  "An extension provided editor for '{0}' is still open that would close otherwise.",
307
307
  this.name
308
308
  )));
@@ -370,7 +370,7 @@ let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThre
370
370
  this._undoService.pushElement({
371
371
  type: UndoRedoElementType.Resource,
372
372
  resource: this._editorResource,
373
- label: label ?? ( localize(2376, "Edit")),
373
+ label: label ?? ( localize(2394, "Edit")),
374
374
  code: 'undoredo.customEditorEdit',
375
375
  undo: () => this.undo(),
376
376
  redo: () => this.redo(),
@@ -22,7 +22,7 @@ let MainThreadDiagnostics = class MainThreadDiagnostics {
22
22
  _forwardMarkers(resources) {
23
23
  const data = [];
24
24
  for (const resource of resources) {
25
- const allMarkerData = this._markerService.read({ resource });
25
+ const allMarkerData = this._markerService.read({ resource, ignoreResourceFilters: true });
26
26
  if (allMarkerData.length === 0) {
27
27
  data.push([resource, []]);
28
28
  }
@@ -10,7 +10,7 @@ import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor
10
10
  import { FileOperation } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
11
11
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
12
12
  import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
13
- import { TextFileResolveReason, EncodingMode } from '@codingame/monaco-vscode-4893679b-56e5-52c5-a8fb-c366cce9660f-common/vscode/vs/workbench/services/textfile/common/textfiles';
13
+ import { TextFileResolveReason, EncodingMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles';
14
14
  import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
15
15
  import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
16
16
  import { extUri, toLocalResource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
@@ -13,7 +13,7 @@ import { MainThreadDocuments } from './mainThreadDocuments.js';
13
13
  import { MainThreadTextEditor } from './mainThreadEditor.js';
14
14
  import { MainThreadTextEditors } from './mainThreadEditors.js';
15
15
  import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
16
- import { editorGroupToColumn } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
16
+ import { editorGroupToColumn } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
17
17
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
18
18
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
19
19
  import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
@@ -9,12 +9,12 @@ import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench
9
9
 
10
10
  class ExtHostEditSessionIdentityCreateParticipant {
11
11
  constructor(extHostContext) {
12
- this.timeout = 10000;
12
+ this.timeout = 20000;
13
13
  this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostWorkspace));
14
14
  }
15
15
  async participate(workspaceFolder, token) {
16
16
  const p = ( new Promise((resolve, reject) => {
17
- setTimeout(() => reject(( new Error(( localize(2377, "Aborted onWillCreateEditSessionIdentity-event after 10000ms"))))), this.timeout);
17
+ setTimeout(() => reject(( new Error(( localize(2395, "Aborted onWillCreateEditSessionIdentity-event after 10000ms"))))), this.timeout);
18
18
  this._proxy.$onWillCreateEditSessionIdentity(workspaceFolder.uri, token, this.timeout).then(resolve, reject);
19
19
  }));
20
20
  return raceCancellationError(p, token);
@@ -1,7 +1,7 @@
1
1
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
2
2
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
3
3
  import { MainThreadEditorTabsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
4
- import { EditorGroupColumn } from "@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
4
+ import { EditorGroupColumn } from "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
5
5
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
6
6
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
7
7
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
@@ -8,19 +8,19 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
8
8
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
9
9
  import { ExtHostContext, TabInputKind, TabModelOperationKind, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
10
10
  import { EditorResourceAccessor, SideBySideEditor, GroupModelChangeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
11
- import { DiffEditorInput } from '@codingame/monaco-vscode-fdf643f9-94dd-5510-b97a-408abf26ad92-common/vscode/vs/workbench/common/editor/diffEditorInput';
12
- import { isGroupEditorMoveEvent } from '@codingame/monaco-vscode-ad89fae6-94f0-5ac2-a185-22dea4b68ee0-common/vscode/vs/workbench/common/editor/editorGroupModel';
13
- import { SideBySideEditorInput } from '@codingame/monaco-vscode-fdf643f9-94dd-5510-b97a-408abf26ad92-common/vscode/vs/workbench/common/editor/sideBySideEditorInput';
11
+ import { DiffEditorInput } from '@codingame/monaco-vscode-9c72783f-914c-50be-b9ef-da16356d81a8-common/vscode/vs/workbench/common/editor/diffEditorInput';
12
+ import { isGroupEditorMoveEvent } from '@codingame/monaco-vscode-c3c61c00-c254-5856-9dc9-d7929c1f9062-common/vscode/vs/workbench/common/editor/editorGroupModel';
13
+ import { SideBySideEditorInput } from '@codingame/monaco-vscode-9c72783f-914c-50be-b9ef-da16356d81a8-common/vscode/vs/workbench/common/editor/sideBySideEditorInput';
14
14
  import { AbstractTextResourceEditorInput } from '@codingame/monaco-vscode-86d65fc6-30f9-5dca-9501-e249de688591-common/vscode/vs/workbench/common/editor/textResourceEditorInput';
15
- import { ChatEditorInput } from '@codingame/monaco-vscode-9a6d8b6c-ad4c-5ea3-9558-f43d6dc4c0ad-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
15
+ import { ChatEditorInput } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
16
16
  import { CustomEditorInput } from '@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput';
17
17
  import { InteractiveEditorInput } from '@codingame/monaco-vscode-eba0b9b3-174c-5dae-9867-a37810ca1808-common/vscode/vs/workbench/contrib/interactive/browser/interactiveEditorInput';
18
18
  import { MergeEditorInput } from '@codingame/monaco-vscode-8ccb7637-50ea-5359-97bf-00015d7fe567-common/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput';
19
19
  import { MultiDiffEditorInput } from '@codingame/monaco-vscode-1cc4ea0a-c5b6-54ed-bb60-078a99119b55-common/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
20
- import { NotebookEditorInput } from '@codingame/monaco-vscode-9b5a5e82-d649-5455-b4bf-ef90d6afd294-common/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput';
20
+ import { NotebookEditorInput } from '@codingame/monaco-vscode-324f9a6e-6231-5bfc-af17-e147abd2dfd2-common/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput';
21
21
  import { TerminalEditorInput } from '@codingame/monaco-vscode-42931eb9-e564-530c-bafc-fa23ab43a070-common/vscode/vs/workbench/contrib/terminal/browser/terminalEditorInput';
22
- import { WebviewInput } from '@codingame/monaco-vscode-9b5a5e82-d649-5455-b4bf-ef90d6afd294-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput';
23
- import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
22
+ import { WebviewInput } from '@codingame/monaco-vscode-324f9a6e-6231-5bfc-af17-e147abd2dfd2-common/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput';
23
+ import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
24
24
  import { GroupDirection, preferredSideBySideGroupDirection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService';
25
25
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
26
26
  import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
@@ -6,7 +6,7 @@ import { IDecorationOptions, IDecorationRenderOptions } from "@codingame/monaco-
6
6
  import { ISingleEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation";
7
7
  import { MainThreadTextEditor } from "./mainThreadEditor.js";
8
8
  import { IApplyEditsOptions, ITextDocumentShowOptions, ITextEditorConfigurationUpdate, IUndoStopOptions, MainThreadTextEditorsShape, TextEditorRevealType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
9
- import { EditorGroupColumn } from "@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
9
+ import { EditorGroupColumn } from "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn";
10
10
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
11
11
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
12
12
  import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
@@ -8,7 +8,7 @@ import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/edito
8
8
  import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
9
9
  import { isTextEditorDiffInformationEqual, EditorResolution, EditorActivation } from '@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor';
10
10
  import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
11
- import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
11
+ import { editorGroupToColumn, columnToEditorGroup } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/services/editor/common/editorGroupColumn';
12
12
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
13
13
  import { IEditorGroupsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
14
14
  import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
@@ -310,9 +310,9 @@ let MainThreadTextEditors = class MainThreadTextEditors {
310
310
  return Promise.resolve([]);
311
311
  }
312
312
  try {
313
- const scmQuickDiff = quickDiffModelRef.object.quickDiffs.find(quickDiff => quickDiff.isSCM);
314
- const scmQuickDiffChanges = quickDiffModelRef.object.changes.filter(change => change.label === scmQuickDiff?.label);
315
- return Promise.resolve(( scmQuickDiffChanges.map(change => change.change)) ?? []);
313
+ const primaryQuickDiff = quickDiffModelRef.object.quickDiffs.find(quickDiff => quickDiff.kind === 'primary');
314
+ const primaryQuickDiffChanges = quickDiffModelRef.object.changes.filter(change => change.providerId === primaryQuickDiff?.id);
315
+ return Promise.resolve(( primaryQuickDiffChanges.map(change => change.change)) ?? []);
316
316
  }
317
317
  finally {
318
318
  quickDiffModelRef.dispose();
@@ -89,13 +89,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
89
89
  this._notificationService.notify({
90
90
  severity: Severity.Error,
91
91
  message: ( localize(
92
- 2378,
92
+ 2396,
93
93
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension, which is not loaded. Would you like to reload the window to load the extension?",
94
94
  extName,
95
95
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
96
96
  )),
97
97
  actions: {
98
- primary: [( new Action('reload', ( localize(2379, "Reload Window")), '', true, () => this._hostService.reload()))]
98
+ primary: [( new Action('reload', ( localize(2397, "Reload Window")), '', true, () => this._hostService.reload()))]
99
99
  }
100
100
  });
101
101
  }
@@ -105,7 +105,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
105
105
  this._notificationService.notify({
106
106
  severity: Severity.Error,
107
107
  message: ( localize(
108
- 2380,
108
+ 2398,
109
109
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
110
110
  extName,
111
111
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -116,13 +116,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
116
116
  this._notificationService.notify({
117
117
  severity: Severity.Error,
118
118
  message: ( localize(
119
- 2381,
119
+ 2399,
120
120
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
121
121
  extName,
122
122
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
123
123
  )),
124
124
  actions: {
125
- primary: [( new Action('manageWorkspaceTrust', ( localize(2382, "Manage Workspace Trust")), '', true, () => this._commandService.executeCommand('workbench.trust.manage')))]
125
+ primary: [( new Action('manageWorkspaceTrust', ( localize(2400, "Manage Workspace Trust")), '', true, () => this._commandService.executeCommand('workbench.trust.manage')))]
126
126
  }
127
127
  });
128
128
  }
@@ -130,13 +130,13 @@ let MainThreadExtensionService = class MainThreadExtensionService {
130
130
  this._notificationService.notify({
131
131
  severity: Severity.Error,
132
132
  message: ( localize(
133
- 2383,
133
+ 2401,
134
134
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled. Would you like to enable the extension and reload the window?",
135
135
  extName,
136
136
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
137
137
  )),
138
138
  actions: {
139
- primary: [( new Action('enable', ( localize(2384, "Enable and Reload")), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === EnablementState.DisabledGlobally ? EnablementState.EnabledGlobally : EnablementState.EnabledWorkspace)
139
+ primary: [( new Action('enable', ( localize(2402, "Enable and Reload")), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === EnablementState.DisabledGlobally ? EnablementState.EnabledGlobally : EnablementState.EnabledWorkspace)
140
140
  .then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
141
141
  }
142
142
  });
@@ -145,7 +145,7 @@ let MainThreadExtensionService = class MainThreadExtensionService {
145
145
  this._notificationService.notify({
146
146
  severity: Severity.Error,
147
147
  message: ( localize(
148
- 2385,
148
+ 2403,
149
149
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
150
150
  extName,
151
151
  missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
@@ -166,21 +166,21 @@ let MainThreadExtensionService = class MainThreadExtensionService {
166
166
  this._notificationService.notify({
167
167
  severity: Severity.Error,
168
168
  message: ( localize(
169
- 2386,
169
+ 2404,
170
170
  "Cannot activate the '{0}' extension because it depends on the '{1}' extension from '{2}', which is not installed. Would you like to install the extension and reload the window?",
171
171
  extName,
172
172
  dependencyExtension.displayName,
173
173
  dependencyExtension.publisherDisplayName
174
174
  )),
175
175
  actions: {
176
- primary: [( new Action('install', ( localize(2387, "Install and Reload")), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
176
+ primary: [( new Action('install', ( localize(2405, "Install and Reload")), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
177
177
  .then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
178
178
  }
179
179
  });
180
180
  }
181
181
  else {
182
182
  this._notificationService.error(( localize(
183
- 2388,
183
+ 2406,
184
184
  "Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
185
185
  extName,
186
186
  missingDependency
@@ -75,28 +75,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
75
75
  if (data.extensionNames.length === 1) {
76
76
  if (operation === FileOperation.CREATE) {
77
77
  message = ( localize(
78
- 2389,
78
+ 2407,
79
79
  "Extension '{0}' wants to make refactoring changes with this file creation",
80
80
  data.extensionNames[0]
81
81
  ));
82
82
  }
83
83
  else if (operation === FileOperation.COPY) {
84
84
  message = ( localize(
85
- 2390,
85
+ 2408,
86
86
  "Extension '{0}' wants to make refactoring changes with this file copy",
87
87
  data.extensionNames[0]
88
88
  ));
89
89
  }
90
90
  else if (operation === FileOperation.MOVE) {
91
91
  message = ( localize(
92
- 2391,
92
+ 2409,
93
93
  "Extension '{0}' wants to make refactoring changes with this file move",
94
94
  data.extensionNames[0]
95
95
  ));
96
96
  }
97
97
  else {
98
98
  message = ( localize(
99
- 2392,
99
+ 2410,
100
100
  "Extension '{0}' wants to make refactoring changes with this file deletion",
101
101
  data.extensionNames[0]
102
102
  ));
@@ -105,28 +105,28 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
105
105
  else {
106
106
  if (operation === FileOperation.CREATE) {
107
107
  message = ( localize(
108
- 2393,
108
+ 2411,
109
109
  "{0} extensions want to make refactoring changes with this file creation",
110
110
  data.extensionNames.length
111
111
  ));
112
112
  }
113
113
  else if (operation === FileOperation.COPY) {
114
114
  message = ( localize(
115
- 2394,
115
+ 2412,
116
116
  "{0} extensions want to make refactoring changes with this file copy",
117
117
  data.extensionNames.length
118
118
  ));
119
119
  }
120
120
  else if (operation === FileOperation.MOVE) {
121
121
  message = ( localize(
122
- 2395,
122
+ 2413,
123
123
  "{0} extensions want to make refactoring changes with this file move",
124
124
  data.extensionNames.length
125
125
  ));
126
126
  }
127
127
  else {
128
128
  message = ( localize(
129
- 2396,
129
+ 2414,
130
130
  "{0} extensions want to make refactoring changes with this file deletion",
131
131
  data.extensionNames.length
132
132
  ));
@@ -136,8 +136,8 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
136
136
  const { confirmed } = await dialogService.confirm({
137
137
  type: Severity.Info,
138
138
  message,
139
- primaryButton: ( localize(2397, "Show &&Preview")),
140
- cancelButton: ( localize(2398, "Skip Changes"))
139
+ primaryButton: ( localize(2415, "Show &&Preview")),
140
+ cancelButton: ( localize(2416, "Skip Changes"))
141
141
  });
142
142
  showPreview = true;
143
143
  if (!confirmed) {
@@ -156,19 +156,19 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
156
156
  message,
157
157
  buttons: [
158
158
  {
159
- label: ( localize(2399, "&&OK")),
159
+ label: ( localize(2417, "&&OK")),
160
160
  run: () => Choice.OK
161
161
  },
162
162
  {
163
- label: ( localize(2397, "Show &&Preview")),
163
+ label: ( localize(2415, "Show &&Preview")),
164
164
  run: () => Choice.Preview
165
165
  }
166
166
  ],
167
167
  cancelButton: {
168
- label: ( localize(2398, "Skip Changes")),
168
+ label: ( localize(2416, "Skip Changes")),
169
169
  run: () => Choice.Cancel
170
170
  },
171
- checkbox: { label: ( localize(2400, "Do not ask me again")) }
171
+ checkbox: { label: ( localize(2418, "Do not ask me again")) }
172
172
  });
173
173
  if (result === Choice.Cancel) {
174
174
  return;
@@ -185,15 +185,15 @@ let MainThreadFileSystemEventService = class MainThreadFileSystemEventService {
185
185
  _progressLabel(operation) {
186
186
  switch (operation) {
187
187
  case FileOperation.CREATE:
188
- return localize(2401, "Running 'File Create' participants...");
188
+ return localize(2419, "Running 'File Create' participants...");
189
189
  case FileOperation.MOVE:
190
- return localize(2402, "Running 'File Rename' participants...");
190
+ return localize(2420, "Running 'File Rename' participants...");
191
191
  case FileOperation.COPY:
192
- return localize(2403, "Running 'File Copy' participants...");
192
+ return localize(2421, "Running 'File Copy' participants...");
193
193
  case FileOperation.DELETE:
194
- return localize(2404, "Running 'File Delete' participants...");
194
+ return localize(2422, "Running 'File Delete' participants...");
195
195
  case FileOperation.WRITE:
196
- return localize(2405, "Running 'File Write' participants...");
196
+ return localize(2423, "Running 'File Write' participants...");
197
197
  }
198
198
  }
199
199
  });
@@ -264,7 +264,7 @@ registerAction2(class ResetMemento extends Action2 {
264
264
  super({
265
265
  id: 'files.participants.resetChoice',
266
266
  title: {
267
- value: ( localize(2406, "Reset choice for 'File operation needs preview'")),
267
+ value: ( localize(2424, "Reset choice for 'File operation needs preview'")),
268
268
  original: `Reset choice for 'File operation needs preview'`
269
269
  },
270
270
  f1: true
@@ -1,5 +1,5 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { ResourceLabelFormatter } from "@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common/vscode/vs/platform/label/common/label";
2
+ import { ResourceLabelFormatter } from "@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/label/common/label";
3
3
  import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
4
4
  import { MainThreadLabelServiceShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
5
5
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
@@ -58,7 +58,8 @@ export declare class MainThreadLanguageFeatures extends Disposable implements Ma
58
58
  $registerDocumentRangeSemanticTokensProvider(handle: number, selector: IDocumentFilterDto[], legend: languages.SemanticTokensLegend): void;
59
59
  private static _inflateSuggestDto;
60
60
  $registerCompletionsProvider(handle: number, selector: IDocumentFilterDto[], triggerCharacters: string[], supportsResolveDetails: boolean, extensionId: ExtensionIdentifier): void;
61
- $registerInlineCompletionsSupport(handle: number, selector: IDocumentFilterDto[], supportsHandleEvents: boolean, extensionId: string, yieldsToExtensionIds: string[], displayName: string | undefined, debounceDelayMs: number | undefined): void;
61
+ $registerInlineCompletionsSupport(handle: number, selector: IDocumentFilterDto[], supportsHandleEvents: boolean, extensionId: string, yieldsToExtensionIds: string[], displayName: string | undefined, debounceDelayMs: number | undefined, eventHandle: number | undefined): void;
62
+ $emitInlineCompletionsChange(handle: number): void;
62
63
  $registerInlineEditProvider(handle: number, selector: IDocumentFilterDto[], extensionId: ExtensionIdentifier, displayName: string): void;
63
64
  $registerSignatureHelpProvider(handle: number, selector: IDocumentFilterDto[], metadata: ISignatureHelpProviderMetadataDto): void;
64
65
  $registerInlayHintsProvider(handle: number, selector: IDocumentFilterDto[], supportsResolve: boolean, eventHandle: number | undefined, displayName: string | undefined): void;
@@ -9,7 +9,7 @@ import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/
9
9
  import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
10
10
  import { mixin } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
11
11
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
12
- import { CompletionItemKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
12
+ import { CompletionItemKind, InlineCompletionEndOfLifeReasonKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
13
13
  import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
14
14
  import { ILanguageConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/languageConfigurationRegistry.service';
15
15
  import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
@@ -496,7 +496,7 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
496
496
  }
497
497
  this._registrations.set(handle, this._languageFeaturesService.completionProvider.register(selector, provider));
498
498
  }
499
- $registerInlineCompletionsSupport(handle, selector, supportsHandleEvents, extensionId, yieldsToExtensionIds, displayName, debounceDelayMs) {
499
+ $registerInlineCompletionsSupport(handle, selector, supportsHandleEvents, extensionId, yieldsToExtensionIds, displayName, debounceDelayMs, eventHandle) {
500
500
  const provider = {
501
501
  provideInlineCompletions: async (model, position, context, token) => {
502
502
  return this._proxy.$provideInlineCompletions(handle, model.uri, position, context, token);
@@ -514,6 +514,20 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
514
514
  await this._proxy.$handleInlineCompletionPartialAccept(handle, completions.pid, item.idx, acceptedCharacters, info);
515
515
  }
516
516
  },
517
+ handleEndOfLifetime: async (completions, item, reason) => {
518
+ function mapReason(reason, f) {
519
+ if (reason.kind === InlineCompletionEndOfLifeReasonKind.Ignored) {
520
+ return {
521
+ ...reason,
522
+ supersededBy: reason.supersededBy ? f(reason.supersededBy) : undefined,
523
+ };
524
+ }
525
+ return reason;
526
+ }
527
+ if (supportsHandleEvents) {
528
+ await this._proxy.$handleInlineCompletionEndOfLifetime(handle, completions.pid, item.idx, mapReason(reason, i => ({ pid: completions.pid, idx: i.idx })));
529
+ }
530
+ },
517
531
  freeInlineCompletions: (completions) => {
518
532
  this._proxy.$freeInlineCompletionsList(handle, completions.pid);
519
533
  },
@@ -531,6 +545,17 @@ let MainThreadLanguageFeatures = MainThreadLanguageFeatures_1 = class MainThread
531
545
  },
532
546
  };
533
547
  this._registrations.set(handle, this._languageFeaturesService.inlineCompletionsProvider.register(selector, provider));
548
+ if (typeof eventHandle === 'number') {
549
+ const emitter = ( new Emitter());
550
+ this._registrations.set(eventHandle, emitter);
551
+ provider.onDidChangeInlineCompletions = emitter.event;
552
+ }
553
+ }
554
+ $emitInlineCompletionsChange(handle) {
555
+ const obj = this._registrations.get(handle);
556
+ if (obj instanceof Emitter) {
557
+ obj.fire(undefined);
558
+ }
534
559
  }
535
560
  $registerInlineEditProvider(handle, selector, extensionId, displayName) {
536
561
  const provider = {
@@ -1,18 +1,19 @@
1
1
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
2
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
- import { IToolData, IToolInvocation, IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
3
+ import { IToolData, IToolInvocation, IToolResult, IToolProgressStep } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService";
4
4
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service";
5
5
  import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
6
- import { Dto } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier";
6
+ import { Dto, SerializableObjectWithBuffers } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier";
7
7
  import { MainThreadLanguageModelToolsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
8
8
  export declare class MainThreadLanguageModelTools extends Disposable implements MainThreadLanguageModelToolsShape {
9
9
  private readonly _languageModelToolsService;
10
10
  private readonly _proxy;
11
11
  private readonly _tools;
12
- private readonly _countTokenCallbacks;
12
+ private readonly _runningToolCalls;
13
13
  constructor(extHostContext: IExtHostContext, _languageModelToolsService: ILanguageModelToolsService);
14
14
  $getTools(): Promise<IToolData[]>;
15
- $invokeTool(dto: IToolInvocation, token?: CancellationToken): Promise<Dto<IToolResult>>;
15
+ $invokeTool(dto: IToolInvocation, token?: CancellationToken): Promise<Dto<IToolResult> | SerializableObjectWithBuffers<Dto<IToolResult>>>;
16
+ $acceptToolProgress(callId: string, progress: IToolProgressStep): void;
16
17
  $countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise<number>;
17
18
  $registerTool(id: string): void;
18
19
  $unregisterTool(name: string): void;
@@ -3,8 +3,10 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
4
  import { Disposable, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
5
  import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
6
+ import { toolResultHasBuffers } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
6
7
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
7
8
  import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
9
+ import { SerializableObjectWithBuffers } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
8
10
  import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
9
11
 
10
12
  let MainThreadLanguageModelTools = class MainThreadLanguageModelTools extends Disposable {
@@ -12,7 +14,7 @@ let MainThreadLanguageModelTools = class MainThreadLanguageModelTools extends Di
12
14
  super();
13
15
  this._languageModelToolsService = _languageModelToolsService;
14
16
  this._tools = this._register(( new DisposableMap()));
15
- this._countTokenCallbacks = ( new Map());
17
+ this._runningToolCalls = ( new Map());
16
18
  this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostLanguageModelTools));
17
19
  this._register(this._languageModelToolsService.onDidChangeTools(e => this._proxy.$onDidChangeTools([...this._languageModelToolsService.getTools()])));
18
20
  }
@@ -21,27 +23,30 @@ let MainThreadLanguageModelTools = class MainThreadLanguageModelTools extends Di
21
23
  }
22
24
  async $invokeTool(dto, token) {
23
25
  const result = await this._languageModelToolsService.invokeTool(dto, (input, token) => this._proxy.$countTokensForInvocation(dto.callId, input, token), token ?? CancellationToken.None);
24
- return {
25
- content: result.content,
26
- };
26
+ const out = { content: result.content };
27
+ return toolResultHasBuffers(result) ? ( new SerializableObjectWithBuffers(out)) : out;
28
+ }
29
+ $acceptToolProgress(callId, progress) {
30
+ this._runningToolCalls.get(callId)?.progress.report(progress);
27
31
  }
28
32
  $countTokensForInvocation(callId, input, token) {
29
- const fn = this._countTokenCallbacks.get(callId);
33
+ const fn = this._runningToolCalls.get(callId);
30
34
  if (!fn) {
31
35
  throw ( new Error(`Tool invocation call ${callId} not found`));
32
36
  }
33
- return fn(input, token);
37
+ return fn.countTokens(input, token);
34
38
  }
35
39
  $registerTool(id) {
36
40
  const disposable = this._languageModelToolsService.registerToolImplementation(id, {
37
- invoke: async (dto, countTokens, token) => {
41
+ invoke: async (dto, countTokens, progress, token) => {
38
42
  try {
39
- this._countTokenCallbacks.set(dto.callId, countTokens);
40
- const resultDto = await this._proxy.$invokeTool(dto, token);
43
+ this._runningToolCalls.set(dto.callId, { countTokens, progress });
44
+ const resultSerialized = await this._proxy.$invokeTool(dto, token);
45
+ const resultDto = resultSerialized instanceof SerializableObjectWithBuffers ? resultSerialized.value : resultSerialized;
41
46
  return revive(resultDto);
42
47
  }
43
48
  finally {
44
- this._countTokenCallbacks.delete(dto.callId);
49
+ this._runningToolCalls.delete(dto.callId);
45
50
  }
46
51
  },
47
52
  prepareToolInvocation: (parameters, token) => this._proxy.$prepareToolInvocation(id, parameters, token),