@codingame/monaco-vscode-chat-service-override 29.1.1 → 30.0.1

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 (258) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
  15. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
  16. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
  17. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  18. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  20. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +37 -16
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +10 -8
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +6 -6
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +20 -11
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -76
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +27 -35
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -8
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
  80. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +21 -21
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  137. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  141. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +3 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
  144. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
  145. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +181 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  154. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  155. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  156. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +8 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
  160. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  161. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
  184. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +2 -18
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
  201. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
  202. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
  203. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  210. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -6
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +66 -5
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
  249. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
  250. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
  251. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
  253. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
  258. /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
@@ -9,6 +9,44 @@ export type URI = string;
9
9
  export type StringOrMarkdown = string | {
10
10
  markdown: string;
11
11
  };
12
+ /**
13
+ * An optionally-sized icon that can be displayed in a user interface.
14
+ *
15
+ * @category Common Types
16
+ */
17
+ export interface Icon {
18
+ /**
19
+ * A standard URI pointing to an icon resource. May be an HTTP/HTTPS URL or a
20
+ * `data:` URI with Base64-encoded image data.
21
+ *
22
+ * Consumers SHOULD take steps to ensure URLs serving icons are from the
23
+ * same domain as the client/server or a trusted domain.
24
+ *
25
+ * Consumers SHOULD take appropriate precautions when consuming SVGs as they can contain
26
+ * executable JavaScript.
27
+ */
28
+ src: URI;
29
+ /**
30
+ * Optional MIME type override if the source MIME type is missing or generic.
31
+ * For example: `"image/png"`, `"image/jpeg"`, or `"image/svg+xml"`.
32
+ */
33
+ contentType?: string;
34
+ /**
35
+ * Optional array of strings that specify sizes at which the icon can be used.
36
+ * Each string should be in WxH format (e.g., `"48x48"`, `"96x96"`) or `"any"` for scalable formats like SVG.
37
+ *
38
+ * If not provided, the client should assume that the icon can be used at any size.
39
+ */
40
+ sizes?: string[];
41
+ /**
42
+ * Optional specifier for the theme this icon is designed for. `"light"` indicates
43
+ * the icon is designed to be used with a light background, and `"dark"` indicates
44
+ * the icon is designed to be used with a dark background.
45
+ *
46
+ * If not provided, the client should assume the icon can be used with any theme.
47
+ */
48
+ theme?: "light" | "dark";
49
+ }
12
50
  /**
13
51
  * Describes a protected resource's authentication requirements using
14
52
  * [RFC 9728](https://datatracker.ietf.org/doc/html/rfc9728) (OAuth 2.0
@@ -105,6 +143,13 @@ export interface IAgentInfo {
105
143
  * @see {@link /specification/authentication | Authentication}
106
144
  */
107
145
  protectedResources?: IProtectedResourceMetadata[];
146
+ /**
147
+ * Customizations (Open Plugins) associated with this agent.
148
+ *
149
+ * Each entry is a reference to an [Open Plugins](https://open-plugins.com/)
150
+ * plugin that the agent host can activate for sessions using this agent.
151
+ */
152
+ customizations?: ICustomizationRef[];
108
153
  }
109
154
  /**
110
155
  * @category Root State
@@ -123,6 +168,32 @@ export interface ISessionModelInfo {
123
168
  /** Policy configuration state */
124
169
  policyState?: PolicyState;
125
170
  }
171
+ /**
172
+ * Discriminant for pending message kinds.
173
+ *
174
+ * @category Pending Message Types
175
+ */
176
+ export declare enum PendingMessageKind {
177
+ /** Injected into the current turn at a convenient point */
178
+ Steering = "steering",
179
+ /** Sent automatically as a new turn after the current turn finishes */
180
+ Queued = "queued"
181
+ }
182
+ /**
183
+ * A message queued for future delivery to the agent.
184
+ *
185
+ * Steering messages are injected into the current turn mid-flight.
186
+ * Queued messages are automatically started as new turns after the
187
+ * current turn naturally finishes.
188
+ *
189
+ * @category Pending Message Types
190
+ */
191
+ export interface IPendingMessage {
192
+ /** Unique identifier for this pending message */
193
+ id: string;
194
+ /** The message content */
195
+ userMessage: IUserMessage;
196
+ }
126
197
  /**
127
198
  * Session initialization state.
128
199
  *
@@ -165,6 +236,17 @@ export interface ISessionState {
165
236
  turns: ITurn[];
166
237
  /** Currently in-progress turn */
167
238
  activeTurn?: IActiveTurn;
239
+ /** Message to inject into the current turn at a convenient point */
240
+ steeringMessage?: IPendingMessage;
241
+ /** Messages to send automatically as new turns after the current turn finishes */
242
+ queuedMessages?: IPendingMessage[];
243
+ /**
244
+ * Server-provided customizations active in this session.
245
+ *
246
+ * Client-provided customizations are available on
247
+ * {@link ISessionActiveClient.customizations | activeClient.customizations}.
248
+ */
249
+ customizations?: ISessionCustomization[];
168
250
  }
169
251
  /**
170
252
  * The client currently providing tools and interactive capabilities to a session.
@@ -181,6 +263,8 @@ export interface ISessionActiveClient {
181
263
  displayName?: string;
182
264
  /** Tools this client provides to the session */
183
265
  tools: IToolDefinition[];
266
+ /** Customizations this client contributes to the session */
267
+ customizations?: ICustomizationRef[];
184
268
  }
185
269
  /**
186
270
  * @category Session State
@@ -233,12 +317,13 @@ export interface ITurn {
233
317
  id: string;
234
318
  /** The user's input */
235
319
  userMessage: IUserMessage;
236
- /** Final response text (captured from streaming) */
237
- responseText: string;
238
- /** Structured response content */
320
+ /**
321
+ * All response content in stream order: text, tool calls, reasoning, and content refs.
322
+ *
323
+ * Consumers should derive display text by concatenating markdown parts,
324
+ * and find tool calls by filtering for `ToolCall` parts.
325
+ */
239
326
  responseParts: IResponsePart[];
240
- /** Tool invocations in terminal states (completed or cancelled) */
241
- toolCalls: (IToolCallCompletedState | IToolCallCancelledState)[];
242
327
  /** Token usage info */
243
328
  usage: IUsageInfo | undefined;
244
329
  /** How the turn ended */
@@ -256,16 +341,12 @@ export interface IActiveTurn {
256
341
  id: string;
257
342
  /** The user's input */
258
343
  userMessage: IUserMessage;
259
- /** Accumulated streaming response text */
260
- streamingText: string;
261
- /** Structured response content so far */
344
+ /**
345
+ * All response content in stream order: text, tool calls, reasoning, and content refs.
346
+ *
347
+ * Tool call parts include `pendingPermissions` when permissions are awaiting user approval.
348
+ */
262
349
  responseParts: IResponsePart[];
263
- /** Active tool invocations keyed by tool call ID */
264
- toolCalls: Record<string, IToolCallState>;
265
- /** Pending permission requests keyed by request ID */
266
- pendingPermissions: Record<string, IPermissionRequest>;
267
- /** Accumulated reasoning/thinking text */
268
- reasoning: string;
269
350
  /** Token usage info */
270
351
  usage: IUsageInfo | undefined;
271
352
  }
@@ -296,7 +377,9 @@ export interface IMessageAttachment {
296
377
  */
297
378
  export declare enum ResponsePartKind {
298
379
  Markdown = "markdown",
299
- ContentRef = "contentRef"
380
+ ContentRef = "contentRef",
381
+ ToolCall = "toolCall",
382
+ Reasoning = "reasoning"
300
383
  }
301
384
  /**
302
385
  * @category Response Parts
@@ -304,6 +387,8 @@ export declare enum ResponsePartKind {
304
387
  export interface IMarkdownResponsePart {
305
388
  /** Discriminant */
306
389
  kind: ResponsePartKind.Markdown;
390
+ /** Part identifier, used by `session/delta` to target this part for content appends */
391
+ id: string;
307
392
  /** Markdown content */
308
393
  content: string;
309
394
  }
@@ -322,10 +407,38 @@ export interface IContentRef {
322
407
  /** Content MIME type */
323
408
  contentType?: string;
324
409
  }
410
+ /**
411
+ * A tool call represented as a response part.
412
+ *
413
+ * Tool calls are part of the response stream, interleaved with text and
414
+ * reasoning. The `toolCall.toolCallId` serves as the part identifier for
415
+ * actions that target this part.
416
+ *
417
+ * @category Response Parts
418
+ */
419
+ export interface IToolCallResponsePart {
420
+ /** Discriminant */
421
+ kind: ResponsePartKind.ToolCall;
422
+ /** Full tool call lifecycle state */
423
+ toolCall: IToolCallState;
424
+ }
425
+ /**
426
+ * Reasoning/thinking content from the model.
427
+ *
428
+ * @category Response Parts
429
+ */
430
+ export interface IReasoningResponsePart {
431
+ /** Discriminant */
432
+ kind: ResponsePartKind.Reasoning;
433
+ /** Part identifier, used by `session/reasoning` to target this part for content appends */
434
+ id: string;
435
+ /** Accumulated reasoning text */
436
+ content: string;
437
+ }
325
438
  /**
326
439
  * @category Response Parts
327
440
  */
328
- export type IResponsePart = IMarkdownResponsePart | IContentRef;
441
+ export type IResponsePart = IMarkdownResponsePart | IContentRef | IToolCallResponsePart | IReasoningResponsePart;
329
442
  /**
330
443
  * Status of a tool call in the lifecycle state machine.
331
444
  *
@@ -450,12 +563,15 @@ export interface IToolCallStreamingState extends IToolCallBase {
450
563
  invocationMessage?: StringOrMarkdown;
451
564
  }
452
565
  /**
453
- * Parameters are complete, waiting for client to confirm execution.
566
+ * Parameters are complete, or a running tool requires re-confirmation
567
+ * (e.g. a mid-execution permission check).
454
568
  *
455
569
  * @category Tool Call Types
456
570
  */
457
571
  export interface IToolCallPendingConfirmationState extends IToolCallBase, IToolCallParameterFields {
458
572
  status: ToolCallStatus.PendingConfirmation;
573
+ /** Short title for the confirmation prompt (e.g. `"Run in terminal"`, `"Write file"`) */
574
+ confirmationTitle?: StringOrMarkdown;
459
575
  }
460
576
  /**
461
577
  * Tool is actively executing.
@@ -643,44 +759,65 @@ export interface IToolResultFileEditContent {
643
759
  */
644
760
  export type IToolResultContent = IToolResultTextContent | IToolResultBinaryContent | IToolResultFileEditContent | IContentRef;
645
761
  /**
646
- * Type of permission requested.
762
+ * A reference to an [Open Plugins](https://open-plugins.com/) plugin.
647
763
  *
648
- * @category Permission Types
764
+ * This is intentionally thin — AHP specifies plugin identity and metadata
765
+ * but not implementation details, which are defined by the Open Plugins spec.
766
+ *
767
+ * @category Customization Types
649
768
  */
650
- export declare enum PermissionKind {
651
- Shell = "shell",
652
- Write = "write",
653
- Mcp = "mcp",
654
- Read = "read",
655
- Url = "url"
769
+ export interface ICustomizationRef {
770
+ /** Plugin URI (e.g. an HTTPS URL or marketplace identifier) */
771
+ uri: URI;
772
+ /** Human-readable name */
773
+ displayName: string;
774
+ /** Description of what the plugin provides */
775
+ description?: string;
776
+ /** Icons for the plugin */
777
+ icons?: Icon[];
778
+ /**
779
+ * Opaque version token for this customization.
780
+ *
781
+ * Clients SHOULD include a nonce with every customization they provide.
782
+ * Consumers can compare nonces to detect whether a customization has
783
+ * changed since it was last seen, avoiding redundant reloads or copies.
784
+ */
785
+ nonce?: string;
656
786
  }
657
787
  /**
658
- * @category Permission Types
659
- * @remarks
660
- * Fields like `serverName`, `toolName`, and `rawRequest` carry agent-specific
661
- * identifiers on the wire despite the agent-agnostic design principle. These exist
662
- * for debugging and logging purposes.
663
- * @todo @connor4312, split this up into well-separated union types
664
- */
665
- export interface IPermissionRequest {
666
- /** Unique request identifier */
667
- requestId: string;
668
- /** Type of permission */
669
- permissionKind: PermissionKind;
670
- /** Associated tool call */
671
- toolCallId?: string;
672
- /** File/directory path */
673
- path?: string;
674
- /** Full command to execute */
675
- fullCommandText?: string;
676
- /** What the tool intends to do */
677
- intention?: string;
678
- /** MCP server name */
679
- serverName?: string;
680
- /** Tool requesting permission */
681
- toolName?: string;
682
- /** Raw request data */
683
- rawRequest?: string;
788
+ * Loading status for a server-managed customization.
789
+ *
790
+ * @category Customization Types
791
+ */
792
+ export declare enum CustomizationStatus {
793
+ /** Plugin is being loaded */
794
+ Loading = "loading",
795
+ /** Plugin is fully operational */
796
+ Loaded = "loaded",
797
+ /** Plugin partially loaded but has warnings */
798
+ Degraded = "degraded",
799
+ /** Plugin was unable to load */
800
+ Error = "error"
801
+ }
802
+ /**
803
+ * A customization active in a session.
804
+ *
805
+ * Entries without a `clientId` are server-provided; entries with a `clientId`
806
+ * originate from that client.
807
+ *
808
+ * @category Customization Types
809
+ */
810
+ export interface ISessionCustomization {
811
+ /** The plugin this customization refers to */
812
+ customization: ICustomizationRef;
813
+ /** Whether this customization is currently enabled */
814
+ enabled: boolean;
815
+ /** Server-reported loading status */
816
+ status?: CustomizationStatus;
817
+ /**
818
+ * Human-readable status detail (e.g. error message or degradation warning).
819
+ */
820
+ statusMessage?: string;
684
821
  }
685
822
  /**
686
823
  * @category Common Types
@@ -1,6 +1,6 @@
1
- export { ActionType, type IActionEnvelope, type IActionOrigin, type IRootAgentsChangedAction, type IRootActiveSessionsChangedAction, type ISessionCreationFailedAction, type ISessionDeltaAction, type ISessionErrorAction, type ISessionModelChangedAction, type ISessionReadyAction, type ISessionReasoningAction, type ISessionResponsePartAction, type ISessionPermissionRequestAction, type ISessionPermissionResolvedAction, type ISessionToolCallCompleteAction, type ISessionToolCallConfirmedAction, type ISessionToolCallApprovedAction, type ISessionToolCallDeniedAction, type ISessionToolCallDeltaAction, type ISessionToolCallReadyAction, type ISessionToolCallResultConfirmedAction, type ISessionToolCallStartAction, type ISessionTitleChangedAction, type ISessionTurnCancelledAction, type ISessionTurnCompleteAction, type ISessionTurnStartedAction, type ISessionUsageAction, type ISessionServerToolsChangedAction, type ISessionActiveClientChangedAction, type ISessionActiveClientToolsChangedAction, type IStateAction, } from "./protocol/actions.js";
1
+ export { ActionType, type IActionEnvelope, type IActionOrigin, type IRootAgentsChangedAction, type IRootActiveSessionsChangedAction, type ISessionCreationFailedAction, type ISessionDeltaAction, type ISessionErrorAction, type ISessionModelChangedAction, type ISessionReadyAction, type ISessionReasoningAction, type ISessionResponsePartAction, type ISessionToolCallCompleteAction, type ISessionToolCallConfirmedAction, type ISessionToolCallApprovedAction, type ISessionToolCallDeniedAction, type ISessionToolCallDeltaAction, type ISessionToolCallReadyAction, type ISessionToolCallResultConfirmedAction, type ISessionToolCallStartAction, type ISessionTitleChangedAction, type ISessionTurnCancelledAction, type ISessionTurnCompleteAction, type ISessionTurnStartedAction, type ISessionUsageAction, type ISessionServerToolsChangedAction, type ISessionActiveClientChangedAction, type ISessionActiveClientToolsChangedAction, type ISessionPendingMessageSetAction, type ISessionPendingMessageRemovedAction, type ISessionQueuedMessagesReorderedAction, type IStateAction, } from "./protocol/actions.js";
2
2
  export { NotificationType, AuthRequiredReason, type ISessionAddedNotification, type ISessionRemovedNotification, type IAuthRequiredNotification, } from "./protocol/notifications.js";
3
- import type { IRootAgentsChangedAction, IRootActiveSessionsChangedAction, ISessionDeltaAction, ISessionModelChangedAction, ISessionReasoningAction, ISessionResponsePartAction, ISessionPermissionRequestAction, ISessionPermissionResolvedAction, ISessionToolCallCompleteAction, ISessionToolCallConfirmedAction, ISessionToolCallDeltaAction, ISessionToolCallReadyAction, ISessionToolCallResultConfirmedAction, ISessionToolCallStartAction, ISessionTitleChangedAction, ISessionTurnCancelledAction, ISessionTurnCompleteAction, ISessionTurnStartedAction, ISessionUsageAction, IStateAction } from "./protocol/actions.js";
3
+ import type { IRootAgentsChangedAction, IRootActiveSessionsChangedAction, ISessionDeltaAction, ISessionModelChangedAction, ISessionReasoningAction, ISessionResponsePartAction, ISessionToolCallApprovedAction, ISessionToolCallCompleteAction, ISessionToolCallConfirmedAction, ISessionToolCallDeniedAction, ISessionToolCallDeltaAction, ISessionToolCallReadyAction, ISessionToolCallResultConfirmedAction, ISessionToolCallStartAction, ISessionTitleChangedAction, ISessionTurnCancelledAction, ISessionTurnCompleteAction, ISessionTurnStartedAction, ISessionUsageAction, IStateAction, ISessionPendingMessageSetAction, ISessionPendingMessageRemovedAction, ISessionQueuedMessagesReorderedAction } from "./protocol/actions.js";
4
4
  import type { IProtocolNotification } from "./protocol/notifications.js";
5
5
  import type { IRootAction as IRootAction_, ISessionAction as ISessionAction_, IClientSessionAction as IClientSessionAction_, IServerSessionAction as IServerSessionAction_ } from "./protocol/action-origin.generated.js";
6
6
  export type IRootAction = IRootAction_;
@@ -15,19 +15,20 @@ export type IResponsePartAction = ISessionResponsePartAction;
15
15
  export type IToolCallStartAction = ISessionToolCallStartAction;
16
16
  export type IToolCallDeltaAction = ISessionToolCallDeltaAction;
17
17
  export type IToolCallReadyAction = ISessionToolCallReadyAction;
18
- export type IToolCallApprovedAction = import("./protocol/actions.js").ISessionToolCallApprovedAction;
19
- export type IToolCallDeniedAction = import("./protocol/actions.js").ISessionToolCallDeniedAction;
18
+ export type IToolCallApprovedAction = ISessionToolCallApprovedAction;
19
+ export type IToolCallDeniedAction = ISessionToolCallDeniedAction;
20
20
  export type IToolCallConfirmedAction = ISessionToolCallConfirmedAction;
21
21
  export type IToolCallCompleteAction = ISessionToolCallCompleteAction;
22
22
  export type IToolCallResultConfirmedAction = ISessionToolCallResultConfirmedAction;
23
- export type IPermissionRequestAction = ISessionPermissionRequestAction;
24
- export type IPermissionResolvedAction = ISessionPermissionResolvedAction;
25
23
  export type ITurnCompleteAction = ISessionTurnCompleteAction;
26
24
  export type ITurnCancelledAction = ISessionTurnCancelledAction;
27
25
  export type ITitleChangedAction = ISessionTitleChangedAction;
28
26
  export type IUsageAction = ISessionUsageAction;
29
27
  export type IReasoningAction = ISessionReasoningAction;
30
28
  export type IModelChangedAction = ISessionModelChangedAction;
29
+ export type IPendingMessageSetAction = ISessionPendingMessageSetAction;
30
+ export type IPendingMessageRemovedAction = ISessionPendingMessageRemovedAction;
31
+ export type IQueuedMessagesReorderedAction = ISessionQueuedMessagesReorderedAction;
31
32
  export type INotification = IProtocolNotification;
32
33
  export declare function isRootAction(action: IStateAction): action is IRootAction;
33
34
  export declare function isSessionAction(action: IStateAction): action is ISessionAction;
@@ -1,6 +1,6 @@
1
1
  export type { IJsonRpcErrorResponse, IJsonRpcNotification, IJsonRpcRequest, IJsonRpcResponse, IJsonRpcSuccessResponse, } from "./protocol/messages.js";
2
2
  export type { IAhpClientNotification, IAhpNotification, IAhpRequest, IAhpResponse, IAhpServerNotification, IAhpSuccessResponse, ICommandMap, IClientNotificationMap, INotificationMap, INotificationMethodParams, IProtocolMessage, IServerNotificationMap, } from "./protocol/messages.js";
3
- export type { IBrowseDirectoryParams, IBrowseDirectoryResult, ICreateSessionParams, IDirectoryEntry, IDispatchActionParams, IDisposeSessionParams, IFetchContentParams, IFetchContentResult, IFetchTurnsParams, IFetchTurnsResult, IInitializeParams, IInitializeResult, IListSessionsParams, IListSessionsResult, IReconnectParams, IReconnectReplayResult, IReconnectResult, IReconnectSnapshotResult, ISubscribeParams, IUnsubscribeParams, } from "./protocol/commands.js";
3
+ export type { IBrowseDirectoryParams, IBrowseDirectoryResult, ICreateSessionParams, IDirectoryEntry, IDispatchActionParams, IDisposeSessionParams, IFetchContentParams, IFetchContentResult, IFetchTurnsParams, IFetchTurnsResult, IInitializeParams, IInitializeResult, IListSessionsParams, IListSessionsResult, IReconnectParams, IReconnectReplayResult, IReconnectResult, IReconnectSnapshotResult, ISubscribeParams, IUnsubscribeParams, IWriteFileParams, IWriteFileResult, } from "./protocol/commands.js";
4
4
  export { ContentEncoding, ReconnectResultType } from "./protocol/commands.js";
5
5
  export { AhpErrorCodes, JsonRpcErrorCodes } from "./protocol/errors.js";
6
6
  export type { AhpErrorCode, JsonRpcErrorCode } from "./protocol/errors.js";
@@ -1,5 +1,5 @@
1
- import { type IActiveTurn, type IRootState, type ISessionState, type ISessionSummary, type IToolCallCancelledState, type IToolCallCompletedState, type IToolCallResult, type IToolCallState, type IUserMessage } from "./protocol/state.js";
2
- export { type IActiveTurn, type IAgentInfo, type IContentRef, type IErrorInfo, type IMarkdownResponsePart, type IMessageAttachment, type IPermissionRequest, type IResponsePart, type IRootState, type ISessionActiveClient, type ISessionModelInfo, type ISessionState, type ISessionSummary, type ISnapshot, type IToolAnnotations, type IToolCallCancelledState, type IToolCallCompletedState, type IToolCallPendingConfirmationState, type IToolCallPendingResultConfirmationState, type IToolCallResult, type IToolCallRunningState, type IToolCallState, type IToolCallStreamingState, type IToolDefinition, type IToolResultBinaryContent, type IToolResultContent, type IToolResultTextContent, type ITurn, type IUsageInfo, type IUserMessage, type StringOrMarkdown, type URI, AttachmentType, PolicyState, PermissionKind, ResponsePartKind, SessionLifecycle, SessionStatus, ToolCallConfirmationReason, ToolCallCancellationReason, ToolCallStatus, ToolResultContentType, TurnState, } from "./protocol/state.js";
1
+ import { IToolResultFileEditContent, type IActiveTurn, type IRootState, type ISessionState, type ISessionSummary, type IToolCallCancelledState, type IToolCallCompletedState, type IToolCallResult, type IToolCallState, type IUserMessage } from "./protocol/state.js";
2
+ export { type IActiveTurn, type IAgentInfo, type IContentRef, type IErrorInfo, type IMarkdownResponsePart, type IMessageAttachment, type IReasoningResponsePart, type IResponsePart, type IRootState, type ISessionActiveClient, type ISessionModelInfo, type ISessionState, type ISessionSummary, type ISnapshot, type IToolAnnotations, type IToolCallCancelledState, type IToolCallCompletedState, type IToolCallPendingConfirmationState, type IToolCallPendingResultConfirmationState, type IToolCallResponsePart, type IToolCallResult, type IToolCallRunningState, type IToolCallState, type IToolCallStreamingState, type IToolDefinition, type IToolResultBinaryContent, type IToolResultContent, type IToolResultFileEditContent, type IToolResultTextContent, type ITurn, type IUsageInfo, type IUserMessage, type IPendingMessage, type StringOrMarkdown, type URI, AttachmentType, PendingMessageKind, PolicyState, ResponsePartKind, SessionLifecycle, SessionStatus, ToolCallConfirmationReason, ToolCallCancellationReason, ToolCallStatus, ToolResultContentType, TurnState, } from "./protocol/state.js";
3
3
  /** URI for the root state subscription. */
4
4
  export declare const ROOT_STATE_URI = "agenthost:/root";
5
5
  /**
@@ -17,6 +17,11 @@ export type ToolCallStatusString = IToolCallState["status"];
17
17
  * Returns `undefined` if there are no text content parts.
18
18
  */
19
19
  export declare function getToolOutputText(result: IToolCallResult): string | undefined;
20
+ /**
21
+ * Extracts file edit content entries from a tool call result's `content` array.
22
+ * Returns an empty array if there are no file edit content parts.
23
+ */
24
+ export declare function getToolFileEdits(result: IToolCallResult): IToolResultFileEditContent[];
20
25
  export declare function createRootState(): IRootState;
21
26
  export declare function createSessionState(summary: ISessionSummary): ISessionState;
22
27
  export declare function createActiveTurn(id: string, userMessage: IUserMessage): IActiveTurn;
@@ -0,0 +1,6 @@
1
+ import { ISandboxDependencyStatus } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/sandboxHelperService";
2
+ import { ISandboxHelperService } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/sandboxHelperService.service";
3
+ export declare class NullSandboxHelperService implements ISandboxHelperService {
4
+ readonly _serviceBrand: undefined;
5
+ checkSandboxDependencies(): Promise<ISandboxDependencyStatus>;
6
+ }
@@ -0,0 +1,14 @@
1
+
2
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
3
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
4
+
5
+ class NullSandboxHelperService {
6
+ async checkSandboxDependencies() {
7
+ return {
8
+ bubblewrapInstalled: true,
9
+ socatInstalled: true
10
+ };
11
+ }
12
+ }
13
+
14
+ export { NullSandboxHelperService };
@@ -0,0 +1,18 @@
1
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
2
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
3
+ import { IChannel, IServerChannel } from "@codingame/monaco-vscode-api/vscode/vs/base/parts/ipc/common/ipc";
4
+ import { ISandboxDependencyStatus } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/sandboxHelperService";
5
+ import { ISandboxHelperService } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/sandboxHelperService.service";
6
+ export declare const SANDBOX_HELPER_CHANNEL_NAME = "sandboxHelper";
7
+ export declare class SandboxHelperChannel implements IServerChannel {
8
+ private readonly service;
9
+ constructor(service: ISandboxHelperService);
10
+ listen<T>(_context: unknown, _event: string): Event<T>;
11
+ call<T>(_context: unknown, command: string, _arg?: unknown, _cancellationToken?: CancellationToken): Promise<T>;
12
+ }
13
+ export declare class SandboxHelperChannelClient implements ISandboxHelperService {
14
+ private readonly channel;
15
+ readonly _serviceBrand: undefined;
16
+ constructor(channel: IChannel);
17
+ checkSandboxDependencies(): Promise<ISandboxDependencyStatus | undefined>;
18
+ }
@@ -0,0 +1,13 @@
1
+
2
+
3
+ const SANDBOX_HELPER_CHANNEL_NAME = "sandboxHelper";
4
+ class SandboxHelperChannelClient {
5
+ constructor(channel) {
6
+ this.channel = channel;
7
+ }
8
+ checkSandboxDependencies() {
9
+ return this.channel.call("checkSandboxDependencies");
10
+ }
11
+ }
12
+
13
+ export { SANDBOX_HELPER_CHANNEL_NAME, SandboxHelperChannelClient };
@@ -117,7 +117,7 @@ let ChatAccessibilityService = class ChatAccessibilityService extends Disposable
117
117
  });
118
118
  }
119
119
  this.toasts.clearAndDisposeAll();
120
- const title = widget?.viewModel?.model.title ? ( localize(4702, "Chat: {0}", widget.viewModel.model.title)) : ( localize(4703, "Untitled Chat"));
120
+ const title = widget?.viewModel?.model.title ? ( localize(4701, "Chat: {0}", widget.viewModel.model.title)) : ( localize(4702, "Untitled Chat"));
121
121
  const cts = ( new CancellationTokenSource());
122
122
  const disposable = toDisposable(() => cts.dispose(true));
123
123
  this.toasts.add(disposable);
@@ -125,7 +125,7 @@ let ChatAccessibilityService = class ChatAccessibilityService extends Disposable
125
125
  clicked
126
126
  } = await this._hostService.showToast({
127
127
  title,
128
- body: ( localize(4704, "New chat response."))
128
+ body: ( localize(4703, "New chat response."))
129
129
  }, cts.token);
130
130
  this.toasts.deleteAndDispose(disposable);
131
131
  if (clicked) {
@@ -4,6 +4,7 @@ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/even
4
4
  import { isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
5
5
  import { stripIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iconLabels';
6
6
  import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
8
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
9
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
10
  import { AccessibleViewType, AccessibleViewProviderId } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView';
@@ -16,6 +17,7 @@ import { isLegacyChatTerminalToolInvocationData, IChatToolInvocation } from '@co
16
17
  import { isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
17
18
  import { isToolResultInputOutputDetails, isToolResultOutputDetails, toolContentToA11yString } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
18
19
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
20
+ import { isLocation } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
19
21
 
20
22
  class ChatResponseAccessibleView {
21
23
  constructor() {
@@ -76,29 +78,29 @@ function getToolSpecificDataDescription(toolSpecificData) {
76
78
  {
77
79
  const parts = [];
78
80
  if (toolSpecificData.agentName) {
79
- parts.push(( localize(4705, "Agent: {0}", toolSpecificData.agentName)));
81
+ parts.push(( localize(4704, "Agent: {0}", toolSpecificData.agentName)));
80
82
  }
81
83
  if (toolSpecificData.description) {
82
84
  parts.push(toolSpecificData.description);
83
85
  }
84
86
  if (toolSpecificData.prompt) {
85
- parts.push(( localize(4706, "Task: {0}", toolSpecificData.prompt)));
87
+ parts.push(( localize(4705, "Task: {0}", toolSpecificData.prompt)));
86
88
  }
87
89
  return parts.join(". ") || "";
88
90
  }
89
91
  case "extensions":
90
- return toolSpecificData.extensions.length > 0 ? ( localize(4707, "Extensions: {0}", toolSpecificData.extensions.join(", "))) : "";
92
+ return toolSpecificData.extensions.length > 0 ? ( localize(4706, "Extensions: {0}", toolSpecificData.extensions.join(", "))) : "";
91
93
  case "todoList":
92
94
  {
93
95
  const todos = toolSpecificData.todoList;
94
96
  if (todos.length === 0) {
95
97
  return "";
96
98
  }
97
- const todoDescriptions = ( todos.map(t => ( localize(4708, "{0} ({1})", t.title, t.status))));
98
- return localize(4709, "{0} items: {1}", todos.length, todoDescriptions.join("; "));
99
+ const todoDescriptions = ( todos.map(t => ( localize(4707, "{0} ({1})", t.title, t.status))));
100
+ return localize(4708, "{0} items: {1}", todos.length, todoDescriptions.join("; "));
99
101
  }
100
102
  case "pullRequest":
101
- return localize(4710, "PR: {0} by {1}", toolSpecificData.title, toolSpecificData.author);
103
+ return localize(4709, "PR: {0} by {1}", toolSpecificData.title, toolSpecificData.author);
102
104
  case "input":
103
105
  return typeof toolSpecificData.rawInput === "string" ? toolSpecificData.rawInput : JSON.stringify(toolSpecificData.rawInput);
104
106
  case "resources":
@@ -114,13 +116,13 @@ function getToolSpecificDataDescription(toolSpecificData) {
114
116
  return v.fsPath || v.path;
115
117
  }
116
118
  })).join(", ");
117
- return localize(4711, "Resources: {0}", paths);
119
+ return localize(4710, "Resources: {0}", paths);
118
120
  }
119
121
  case "simpleToolInvocation":
120
122
  {
121
123
  const inputText = toolSpecificData.input;
122
124
  const outputText = toolSpecificData.output;
123
- return localize(4712, "Input: {0}, Output: {1}", inputText, outputText);
125
+ return localize(4711, "Input: {0}, Output: {1}", inputText, outputText);
124
126
  }
125
127
  case "modifiedFilesConfirmation":
126
128
  {
@@ -128,7 +130,7 @@ function getToolSpecificDataDescription(toolSpecificData) {
128
130
  return "";
129
131
  }
130
132
  return localize(
131
- 4713,
133
+ 4712,
132
134
  "Modified files: {0}",
133
135
  ( toolSpecificData.modifiedFiles.map(file => {
134
136
  const revivedUri = URI.revive(file.uri);
@@ -163,12 +165,12 @@ function getResultDetailsDescription(resultDetails) {
163
165
  }
164
166
  if (isOutputDetailsSerialized(resultDetails)) {
165
167
  return {
166
- input: ( localize(4714, "{0} data", resultDetails.output.mimeType))
168
+ input: ( localize(4713, "{0} data", resultDetails.output.mimeType))
167
169
  };
168
170
  }
169
171
  if (isToolResultOutputDetails(resultDetails)) {
170
172
  return {
171
- input: ( localize(4714, "{0} data", resultDetails.output.mimeType))
173
+ input: ( localize(4713, "{0} data", resultDetails.output.mimeType))
172
174
  };
173
175
  }
174
176
  return {};
@@ -192,13 +194,13 @@ function getToolInvocationA11yDescription(
192
194
  if (isComplete && resultDetails) {
193
195
  const details = getResultDetailsDescription(resultDetails);
194
196
  if (details.isError) {
195
- parts.unshift(( localize(4715, "Errored")));
197
+ parts.unshift(( localize(4714, "Errored")));
196
198
  }
197
199
  if (details.input && !toolDataDesc) {
198
- parts.push(( localize(4716, "Input: {0}", details.input)));
200
+ parts.push(( localize(4715, "Input: {0}", details.input)));
199
201
  }
200
202
  if (details.files && details.files.length > 0) {
201
- parts.push(( localize(4717, "Files: {0}", details.files.join(", "))));
203
+ parts.push(( localize(4716, "Files: {0}", details.files.join(", "))));
202
204
  }
203
205
  }
204
206
  return parts.join(". ");
@@ -260,7 +262,7 @@ class ChatResponseAccessibleProvider extends Disposable {
260
262
  const thinkingValue = Array.isArray(part.value) ? part.value.join("") : (part.value || "");
261
263
  const trimmed = thinkingValue.trim();
262
264
  if (trimmed) {
263
- contentParts.push(( localize(4718, "Thinking: {0}", trimmed)));
265
+ contentParts.push(( localize(4717, "Thinking: {0}", trimmed)));
264
266
  }
265
267
  break;
266
268
  }
@@ -275,6 +277,25 @@ class ChatResponseAccessibleProvider extends Disposable {
275
277
  }
276
278
  break;
277
279
  }
280
+ case "inlineReference":
281
+ {
282
+ const ref = part.inlineReference;
283
+ let text;
284
+ if (URI.isUri(ref)) {
285
+ const name = part.name || basename(ref);
286
+ const path = ref.scheme === "file" ? ref.path : ( ref.toString(true));
287
+ text = name !== path ? `${name} (${path})` : path;
288
+ } else if (isLocation(ref)) {
289
+ const name = part.name || basename(ref.uri);
290
+ const path = ref.uri.scheme === "file" ? ref.uri.path : ( ref.uri.toString(true));
291
+ text = `${name} (${path}:${ref.range.startLineNumber})`;
292
+ } else {
293
+ const path = ref.location.uri.scheme === "file" ? (ref.location.uri.fsPath || ref.location.uri.path) : ( ref.location.uri.toString(true));
294
+ text = `${ref.name} (${path}:${ref.location.range.startLineNumber})`;
295
+ }
296
+ contentParts.push(text);
297
+ break;
298
+ }
278
299
  case "elicitation2":
279
300
  case "elicitationSerialized":
280
301
  {
@@ -317,7 +338,7 @@ class ChatResponseAccessibleProvider extends Disposable {
317
338
  contentParts.push(toolContent);
318
339
  } else if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
319
340
  const postApprovalDetails = isToolResultInputOutputDetails(state.resultDetails) ? state.resultDetails.input : isToolResultOutputDetails(state.resultDetails) ? undefined : toolContentToA11yString(state.contentForModel);
320
- contentParts.push(( localize(4719, "Approve results of {0}? Result: ", part.toolId)) + (postApprovalDetails ?? ""));
341
+ contentParts.push(( localize(4718, "Approve results of {0}? Result: ", part.toolId)) + (postApprovalDetails ?? ""));
321
342
  } else {
322
343
  const resultDetails = IChatToolInvocation.resultDetails(part);
323
344
  const isComplete = IChatToolInvocation.isComplete(part);