@codingame/monaco-vscode-chat-service-override 32.0.2 → 33.0.5

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 (257) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +15 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
  8. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
  12. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
  13. package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
  15. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
  22. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
  23. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
  24. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  25. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +10 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +6 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -28
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +26 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -4
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +53 -20
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -28
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
  147. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
  153. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  154. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +51 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
  158. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  159. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +38 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
  164. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  165. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  166. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  167. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  168. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -6
  171. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  172. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  174. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  175. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  177. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  178. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +1 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
  180. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
  181. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
  183. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
  184. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +58 -26
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +18 -9
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  198. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
  199. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
  200. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +6 -7
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
  208. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
  209. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
  210. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
  211. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
  212. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  213. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
  214. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
  215. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
  216. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
  217. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
  218. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
  219. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
  220. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
  221. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  223. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  225. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  230. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +12 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
  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 -9
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
  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/browser/tools/terminalCommandParser.d.ts +60 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
  252. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
  253. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
  254. package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
  255. package/vscode/src/vs/base/common/defaultAccount.js +0 -12
  256. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
  257. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
@@ -0,0 +1,257 @@
1
+
2
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
+ import { TelemetryLevel, TelemetryConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry';
4
+ import { SessionConfigKey } from '@codingame/monaco-vscode-katex-common/vscode/vs/platform/agentHost/common/sessionConfigKeys';
5
+ import { ProtocolError } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionProtocol';
6
+ import { JsonRpcErrorCodes } from './state/protocol/errors.js';
7
+
8
+ function schemaProperty(protocol) {
9
+ const assertFn = buildAssert(protocol);
10
+ const assertValid = (value, path = "") => assertFn(value, path);
11
+ const validate = value => {
12
+ try {
13
+ assertFn(value, "");
14
+ return true;
15
+ } catch {
16
+ return false;
17
+ }
18
+ };
19
+ return {
20
+ protocol,
21
+ validate,
22
+ assertValid
23
+ };
24
+ }
25
+ function createSchema(definition) {
26
+ return {
27
+ definition,
28
+ toProtocol() {
29
+ const properties = {};
30
+ for (const key of ( Object.keys(definition))) {
31
+ properties[key] = definition[key].protocol;
32
+ }
33
+ return {
34
+ type: "object",
35
+ properties
36
+ };
37
+ },
38
+ values(values) {
39
+ const raw = values;
40
+ for (const key of ( Object.keys(definition))) {
41
+ const value = raw[key];
42
+ if (value === undefined) {
43
+ continue;
44
+ }
45
+ const prop = definition[key];
46
+ prop.assertValid(value, key);
47
+ }
48
+ return {
49
+ ...raw
50
+ };
51
+ },
52
+ validate(key, value) {
53
+ const prop = definition[key];
54
+ return prop ? prop.validate(value) : false;
55
+ },
56
+ assertValid(key, value) {
57
+ const prop = definition[key];
58
+ if (!prop) {
59
+ throw ( new ProtocolError(JsonRpcErrorCodes.InvalidParams, `Unknown schema key '${key}'`));
60
+ }
61
+ const narrowed = prop;
62
+ narrowed.assertValid(value, key);
63
+ },
64
+ validateOrDefault(values, defaults) {
65
+ const result = {};
66
+ const raw = values ?? {};
67
+ for (const key of ( Object.keys(definition))) {
68
+ const prop = definition[key];
69
+ const candidate = raw[key];
70
+ if (candidate !== undefined && prop.validate(candidate)) {
71
+ result[key] = candidate;
72
+ } else if (Object.prototype.hasOwnProperty.call(defaults, key)) {
73
+ result[key] = defaults[key];
74
+ }
75
+ }
76
+ return result;
77
+ }
78
+ };
79
+ }
80
+ function buildAssert(schema) {
81
+ if (schema.type === "object" && schema.properties) {
82
+ const propAsserts = {};
83
+ for (const key of ( Object.keys(schema.properties))) {
84
+ propAsserts[key] = buildAssert(schema.properties[key]);
85
+ }
86
+ const required = ( new Set(schema.required ?? []));
87
+ return (value, path) => {
88
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
89
+ throw invalidParams(path, "object", value);
90
+ }
91
+ const obj = value;
92
+ for (const key of ( Object.keys(propAsserts))) {
93
+ const childPath = joinPath(path, key);
94
+ if (obj[key] === undefined) {
95
+ if (( required.has(key))) {
96
+ throw ( new ProtocolError(
97
+ JsonRpcErrorCodes.InvalidParams,
98
+ `Missing required property at '${childPath}'`
99
+ ));
100
+ }
101
+ continue;
102
+ }
103
+ propAsserts[key](obj[key], childPath);
104
+ }
105
+ };
106
+ }
107
+ if (schema.type === "array" && schema.items) {
108
+ const itemAssert = buildAssert(schema.items);
109
+ return (value, path) => {
110
+ if (!Array.isArray(value)) {
111
+ throw invalidParams(path, "array", value);
112
+ }
113
+ for (let i = 0; i < value.length; i++) {
114
+ itemAssert(value[i], `${path}[${i}]`);
115
+ }
116
+ };
117
+ }
118
+ return buildPrimitiveAssert(schema);
119
+ }
120
+ function buildPrimitiveAssert(schema) {
121
+ const enumDynamic = schema.enumDynamic === true;
122
+ return (value, path) => {
123
+ switch (schema.type) {
124
+ case "string":
125
+ if (typeof value !== "string") {
126
+ throw invalidParams(path, "string", value);
127
+ }
128
+ break;
129
+ case "number":
130
+ if (typeof value !== "number") {
131
+ throw invalidParams(path, "number", value);
132
+ }
133
+ break;
134
+ case "boolean":
135
+ if (typeof value !== "boolean") {
136
+ throw invalidParams(path, "boolean", value);
137
+ }
138
+ break;
139
+ case "array":
140
+ if (!Array.isArray(value)) {
141
+ throw invalidParams(path, "array", value);
142
+ }
143
+ break;
144
+ case "object":
145
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
146
+ throw invalidParams(path, "object", value);
147
+ }
148
+ break;
149
+ }
150
+ if (schema.enum && !enumDynamic && !schema.enum.includes(value)) {
151
+ throw ( new ProtocolError(
152
+ JsonRpcErrorCodes.InvalidParams,
153
+ `Invalid value at '${path || "<root>"}': ${safeStringify(value)} is not one of [${( schema.enum.map(v => JSON.stringify(v))).join(", ")}]`
154
+ ));
155
+ }
156
+ };
157
+ }
158
+ function invalidParams(path, expected, value) {
159
+ return ( new ProtocolError(
160
+ JsonRpcErrorCodes.InvalidParams,
161
+ `Invalid value at '${path || "<root>"}': expected ${expected}, got ${safeStringify(value)}`
162
+ ));
163
+ }
164
+ function joinPath(parent, key) {
165
+ return parent ? `${parent}.${key}` : key;
166
+ }
167
+ function safeStringify(value) {
168
+ try {
169
+ return JSON.stringify(value);
170
+ } catch {
171
+ return String(value);
172
+ }
173
+ }
174
+ const permissionsProperty = schemaProperty({
175
+ type: "object",
176
+ title: ( localize(1820, "Permissions")),
177
+ description: ( localize(
178
+ 1821,
179
+ "Per-tool session permissions. Updated automatically when approving a tool \"in this Session\"."
180
+ )),
181
+ properties: {
182
+ allow: {
183
+ type: "array",
184
+ title: ( localize(1822, "Allowed tools")),
185
+ items: {
186
+ type: "string",
187
+ title: ( localize(1823, "Tool name"))
188
+ }
189
+ },
190
+ deny: {
191
+ type: "array",
192
+ title: ( localize(1824, "Denied tools")),
193
+ items: {
194
+ type: "string",
195
+ title: ( localize(1823, "Tool name"))
196
+ }
197
+ }
198
+ },
199
+ default: {
200
+ allow: [],
201
+ deny: []
202
+ },
203
+ sessionMutable: true
204
+ });
205
+ createSchema({
206
+ [SessionConfigKey.AutoApprove]: schemaProperty({
207
+ type: "string",
208
+ title: ( localize(1825, "Approvals")),
209
+ description: ( localize(1826, "Tool approval behavior for this session")),
210
+ enum: ["default", "autoApprove", "autopilot"],
211
+ enumLabels: [( localize(1827, "Default Approvals")), ( localize(1828, "Bypass Approvals")), ( localize(1829, "Autopilot (Preview)"))],
212
+ enumDescriptions: [( localize(1830, "Copilot uses your configured settings")), ( localize(1831, "All tool calls are auto-approved")), ( localize(1832, "Autonomously iterates from start to finish"))],
213
+ default: "default",
214
+ sessionMutable: true
215
+ }),
216
+ [SessionConfigKey.Permissions]: permissionsProperty,
217
+ [SessionConfigKey.Mode]: schemaProperty({
218
+ type: "string",
219
+ title: ( localize(1833, "Agent Mode")),
220
+ description: ( localize(1834, "How the agent should approach this turn")),
221
+ enum: ["interactive", "plan"],
222
+ enumLabels: [( localize(1835, "Interactive")), ( localize(1836, "Plan"))],
223
+ enumDescriptions: [( localize(1837, "Ask for input and approval for each action")), ( localize(1838, "Generate a plan first, then choose how to execute it"))],
224
+ default: "interactive",
225
+ sessionMutable: true
226
+ })
227
+ });
228
+ const AgentHostTelemetryLevelConfigKey = "telemetryLevel";
229
+ function telemetryLevelToAgentHostConfigValue(telemetryLevel) {
230
+ switch (telemetryLevel) {
231
+ case TelemetryLevel.NONE:
232
+ return TelemetryConfiguration.OFF;
233
+ case TelemetryLevel.CRASH:
234
+ return TelemetryConfiguration.CRASH;
235
+ case TelemetryLevel.ERROR:
236
+ return TelemetryConfiguration.ERROR;
237
+ case TelemetryLevel.USAGE:
238
+ return TelemetryConfiguration.ON;
239
+ }
240
+ }
241
+ createSchema({
242
+ [SessionConfigKey.Permissions]: permissionsProperty,
243
+ [AgentHostTelemetryLevelConfigKey]: schemaProperty({
244
+ type: "string",
245
+ title: ( localize(1839, "Telemetry Level")),
246
+ description: ( localize(1840, "Most restrictive telemetry level requested by connected clients.")),
247
+ enum: [
248
+ TelemetryConfiguration.ON,
249
+ TelemetryConfiguration.ERROR,
250
+ TelemetryConfiguration.CRASH,
251
+ TelemetryConfiguration.OFF
252
+ ],
253
+ default: TelemetryConfiguration.ON
254
+ })
255
+ });
256
+
257
+ export { AgentHostTelemetryLevelConfigKey, createSchema, schemaProperty, telemetryLevelToAgentHostConfigValue };
@@ -8,14 +8,20 @@ import type { CompletionsParams, CompletionsResult, CreateTerminalParams, Resolv
8
8
  import { ProtectedResourceMetadata, type ConfigSchema, type FileEdit, type MessageAttachment, type ModelSelection, type SessionActiveClient, type ToolCallPendingConfirmationState, type ToolDefinition } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
9
9
  import type { ActionEnvelope, INotification, IRootConfigChangedAction, SessionAction, TerminalAction } from "./state/sessionActions.js";
10
10
  import type { ResourceCopyParams, ResourceCopyResult, ResourceDeleteParams, ResourceDeleteResult, ResourceListResult, ResourceMoveParams, ResourceMoveResult, ResourceReadResult, ResourceWriteParams, ResourceWriteResult } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionProtocol";
11
- import { ComponentToState, SessionInputResponseKind, SessionStatus, StateComponents, type CustomizationRef, type PendingMessage, type RootState, type SessionCustomization, type SessionInputAnswer, type SessionMeta, type ToolCallResult, type Turn, type PolicyState } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/sessionState";
11
+ import { ComponentToState, SessionInputResponseKind, SessionStatus, StateComponents, type CustomizationRef, type PendingMessage, type RootState, type SessionCustomization, type SessionInputAnswer, type SessionMeta, type ToolCallResult, type Turn, type PolicyState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState";
12
12
  export declare enum AgentHostIpcChannels {
13
13
  /** Channel for the agent host service on the main-process side */
14
14
  AgentHost = "agentHost",
15
15
  /** Channel for log forwarding from the agent host process */
16
16
  Logger = "agentHostLogger",
17
17
  /** Channel for WebSocket client connection count (server process management only) */
18
- ConnectionTracker = "agentHostConnectionTracker"
18
+ ConnectionTracker = "agentHostConnectionTracker",
19
+ /**
20
+ * Channel registered by the remote server that proxies AHP JSON-RPC
21
+ * frames between a renderer and the agent host running on the server.
22
+ * Pairs with `AgentHostIpcChannelTransport` on the renderer side.
23
+ */
24
+ RemoteProxy = "agentHostProxy"
19
25
  }
20
26
  /** Configuration key that controls whether the local agent host process is spawned. */
21
27
  export declare const AgentHostEnabledSettingId = "chat.agentHost.enabled";
@@ -23,6 +29,8 @@ export declare const AgentHostEnabledSettingId = "chat.agentHost.enabled";
23
29
  export declare const AgentHostIpcLoggingSettingId = "chat.agentHost.ipcLoggingEnabled";
24
30
  /** Configuration key that controls whether AHP JSONL logs are written for agent host transports. */
25
31
  export declare const AgentHostAhpJsonlLoggingSettingId = "chat.agentHost.ahpJsonlLoggingEnabled";
32
+ /** Configuration key that controls whether Agent Host uses its terminal tool override for Copilot SDK sessions. */
33
+ export declare const AgentHostCustomTerminalToolEnabledSettingId = "chat.agentHost.customTerminalTool.enabled";
26
34
  /**
27
35
  * Configuration key that holds the absolute path to a locally-installed
28
36
  * `@anthropic-ai/claude-agent-sdk` package. When non-empty, the Claude agent
@@ -43,6 +51,67 @@ export declare const AgentHostClaudeAgentSdkPathSettingId = "chat.agentHost.clau
43
51
  * by developers as an override.
44
52
  */
45
53
  export declare const AgentHostClaudeSdkPathEnvVar = "VSCODE_AGENT_HOST_CLAUDE_SDK_PATH";
54
+ /** Master toggle for agent-host OTel. Explicit opt-in; other settings imply this when set. */
55
+ export declare const AgentHostOTelEnabledSettingId = "chat.agentHost.otel.enabled";
56
+ /** Exporter type for the SDK's OTel pipeline. One of: `otlp-http`, `otlp-grpc`, `console`, `file`. */
57
+ export declare const AgentHostOTelExporterTypeSettingId = "chat.agentHost.otel.exporterType";
58
+ /** OTLP endpoint URL when `exporterType` is `otlp-http` or `otlp-grpc`. */
59
+ export declare const AgentHostOTelOtlpEndpointSettingId = "chat.agentHost.otel.otlpEndpoint";
60
+ /** Whether to include prompt/response content in span attributes (privacy-sensitive). */
61
+ export declare const AgentHostOTelCaptureContentSettingId = "chat.agentHost.otel.captureContent";
62
+ /** Output path when `exporterType` is `file`. */
63
+ export declare const AgentHostOTelOutfileSettingId = "chat.agentHost.otel.outfile";
64
+ /** When true, ALL spans are persisted to a local SQLite store regardless of `exporterType`. */
65
+ export declare const AgentHostOTelDbSpanExporterEnabledSettingId = "chat.agentHost.otel.dbSpanExporter.enabled";
66
+ /**
67
+ * Path of the local SQLite span database, relative to `INativeEnvironmentService.userDataPath`.
68
+ * Kept here so both the renderer-side export action and the agent-host-side service
69
+ * use the same on-disk location.
70
+ */
71
+ export declare const AgentHostOTelSpansDbSubPath = "agent-host/otel/agent-host-traces.db";
72
+ /**
73
+ * Environment variables consumed by `AgentHostOTelService` inside the agent host
74
+ * process. The workbench-side agent-host starters translate the corresponding
75
+ * `chat.agentHost.otel.*` settings into these variables (settings → env), while
76
+ * any value already present on the parent process's env wins (developer override).
77
+ *
78
+ * These names match the conventions documented in
79
+ * `extensions/copilot/docs/monitoring/agent_monitoring.md` so the same external
80
+ * tooling and `OTEL_EXPORTER_OTLP_*` config recipes work unchanged.
81
+ */
82
+ export declare const AgentHostOTelEnvVars: Readonly<{
83
+ readonly Enabled: "COPILOT_OTEL_ENABLED";
84
+ readonly ExporterType: "COPILOT_OTEL_EXPORTER_TYPE";
85
+ readonly OtlpEndpoint: "OTEL_EXPORTER_OTLP_ENDPOINT";
86
+ readonly OtlpEndpointAlt: "COPILOT_OTEL_ENDPOINT";
87
+ readonly OtlpProtocol: "OTEL_EXPORTER_OTLP_PROTOCOL";
88
+ readonly OtlpHeaders: "OTEL_EXPORTER_OTLP_HEADERS";
89
+ readonly CaptureContent: "OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT";
90
+ readonly FilePath: "COPILOT_OTEL_FILE_EXPORTER_PATH";
91
+ readonly SourceName: "COPILOT_OTEL_SOURCE_NAME";
92
+ readonly DbSpanExporterEnabled: "COPILOT_OTEL_DB_SPAN_EXPORTER_ENABLED";
93
+ }>;
94
+ /**
95
+ * Snapshot of the `chat.agentHost.otel.*` settings; produced by the workbench-side
96
+ * starters and merged with the parent process's env (env wins on key collision).
97
+ */
98
+ export interface IAgentHostOTelSettings {
99
+ readonly enabled?: boolean;
100
+ readonly exporterType?: string;
101
+ readonly otlpEndpoint?: string;
102
+ readonly captureContent?: boolean;
103
+ readonly outfile?: string;
104
+ readonly dbSpanExporterEnabled?: boolean;
105
+ }
106
+ /**
107
+ * Build the env-var overlay for the agent host process from user settings and
108
+ * inherited env. Settings are translated to env vars, but if the same env var is
109
+ * already present on `inheritedEnv` it wins (developer override).
110
+ *
111
+ * Only sets a key when the underlying setting was explicitly configured — empty
112
+ * string / undefined settings are dropped so they don't shadow inherited env.
113
+ */
114
+ export declare function buildAgentHostOTelEnv(settings: IAgentHostOTelSettings, inheritedEnv: Readonly<Record<string, string | undefined>>): Record<string, string>;
46
115
  /** Result of starting the agent host WebSocket server on-demand. */
47
116
  export interface IAgentHostSocketInfo {
48
117
  readonly socketPath: string;
@@ -223,7 +292,7 @@ export interface IAgentModelInfo {
223
292
  * acknowledgment) remain as discriminated non-action signals so the host
224
293
  * can perform side effects before — or instead of — dispatching an action.
225
294
  */
226
- export type AgentSignal = IAgentActionSignal | IAgentToolPendingConfirmationSignal | IAgentSubagentStartedSignal | IAgentSteeringConsumedSignal;
295
+ export type AgentSignal = IAgentActionSignal | IAgentToolPendingConfirmationSignal | IAgentSubagentStartedSignal | IAgentSubagentCompletedSignal | IAgentSteeringConsumedSignal;
227
296
  /**
228
297
  * Carries a protocol {@link SessionAction} produced by an agent. The host
229
298
  * dispatches the action through the state manager after routing via
@@ -288,6 +357,18 @@ export interface IAgentSubagentStartedSignal {
288
357
  readonly agentDisplayName: string;
289
358
  readonly agentDescription?: string;
290
359
  }
360
+ /**
361
+ * A subagent has finished — either successfully or with an error. The host
362
+ * uses this to tear down the child session after all of its events have been
363
+ * routed. The parent tool call completing is not a reliable signal for this
364
+ * because background subagents (e.g. Copilot's `mode: background` task) keep
365
+ * emitting events after their parent tool call returns immediately.
366
+ */
367
+ export interface IAgentSubagentCompletedSignal {
368
+ readonly kind: "subagent_completed";
369
+ readonly session: URI;
370
+ readonly toolCallId: string;
371
+ }
291
372
  /** A steering message was consumed (sent to the model). */
292
373
  export interface IAgentSteeringConsumedSignal {
293
374
  readonly kind: "steering_consumed";
@@ -6,11 +6,19 @@ var AgentHostIpcChannels;
6
6
  AgentHostIpcChannels["AgentHost"] = "agentHost";
7
7
  AgentHostIpcChannels["Logger"] = "agentHostLogger";
8
8
  AgentHostIpcChannels["ConnectionTracker"] = "agentHostConnectionTracker";
9
+ AgentHostIpcChannels["RemoteProxy"] = "agentHostProxy";
9
10
  })(AgentHostIpcChannels || (AgentHostIpcChannels = {}));
10
11
  const AgentHostEnabledSettingId = "chat.agentHost.enabled";
11
12
  const AgentHostIpcLoggingSettingId = "chat.agentHost.ipcLoggingEnabled";
12
13
  const AgentHostAhpJsonlLoggingSettingId = "chat.agentHost.ahpJsonlLoggingEnabled";
14
+ const AgentHostCustomTerminalToolEnabledSettingId = "chat.agentHost.customTerminalTool.enabled";
13
15
  const AgentHostClaudeAgentSdkPathSettingId = "chat.agentHost.claudeAgent.path";
16
+ const AgentHostOTelEnabledSettingId = "chat.agentHost.otel.enabled";
17
+ const AgentHostOTelExporterTypeSettingId = "chat.agentHost.otel.exporterType";
18
+ const AgentHostOTelOtlpEndpointSettingId = "chat.agentHost.otel.otlpEndpoint";
19
+ const AgentHostOTelCaptureContentSettingId = "chat.agentHost.otel.captureContent";
20
+ const AgentHostOTelOutfileSettingId = "chat.agentHost.otel.outfile";
21
+ const AgentHostOTelDbSpanExporterEnabledSettingId = "chat.agentHost.otel.dbSpanExporter.enabled";
14
22
  var AgentSession;
15
23
  (function(AgentSession) {
16
24
  function uri(provider, rawSessionId) {
@@ -32,4 +40,4 @@ var AgentSession;
32
40
  AgentSession.provider = provider;
33
41
  })(AgentSession || (AgentSession = {}));
34
42
 
35
- export { AgentHostAhpJsonlLoggingSettingId, AgentHostClaudeAgentSdkPathSettingId, AgentHostEnabledSettingId, AgentHostIpcChannels, AgentHostIpcLoggingSettingId, AgentSession };
43
+ export { AgentHostAhpJsonlLoggingSettingId, AgentHostClaudeAgentSdkPathSettingId, AgentHostCustomTerminalToolEnabledSettingId, AgentHostEnabledSettingId, AgentHostIpcChannels, AgentHostIpcLoggingSettingId, AgentHostOTelCaptureContentSettingId, AgentHostOTelDbSpanExporterEnabledSettingId, AgentHostOTelEnabledSettingId, AgentHostOTelExporterTypeSettingId, AgentHostOTelOtlpEndpointSettingId, AgentHostOTelOutfileSettingId, AgentSession };
@@ -6,7 +6,7 @@ import { ActionEnvelope, IRootConfigChangedAction, SessionAction, StateAction }
6
6
  import type { TerminalAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/action-origin.generated";
7
7
  import type { RootState, SessionState, TerminalState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state";
8
8
  import type { IStateSnapshot } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionProtocol";
9
- import { StateComponents } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/sessionState";
9
+ import { StateComponents } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState";
10
10
  /**
11
11
  * A read-only subscription to an agent host resource (root, session, or terminal).
12
12
  *
@@ -93,6 +93,14 @@ export declare class RootStateSubscription extends BaseAgentSubscription<RootSta
93
93
  protected _applyReducer(state: RootState, action: StateAction): RootState;
94
94
  protected _isRelevantAction(action: StateAction): boolean;
95
95
  }
96
+ interface IPendingAction {
97
+ readonly clientSeq: number;
98
+ readonly action: SessionAction;
99
+ }
100
+ export interface IPendingSessionAction extends IPendingAction {
101
+ /** URI of the session this action targets, as stored on the subscription. */
102
+ readonly sessionUri: string;
103
+ }
96
104
  /**
97
105
  * Subscription to a session at `copilot:/<uuid>`.
98
106
  * Supports write-ahead reconciliation for client-dispatchable actions.
@@ -119,6 +127,20 @@ export declare class SessionStateSubscription extends BaseAgentSubscription<Sess
119
127
  * Clear pending actions for this session (e.g., on unsubscribe).
120
128
  */
121
129
  clearPending(): void;
130
+ /**
131
+ * Snapshot of the currently-pending optimistic actions, with the session
132
+ * URI included so callers can re-issue them across a reconnect. The
133
+ * actions remain in the subscription so the optimistic state continues
134
+ * to reflect them — the client must explicitly drop entries echoed back
135
+ * by the server.
136
+ */
137
+ getPendingActions(): IPendingSessionAction[];
138
+ /**
139
+ * Drop the pending entry whose `clientSeq` matches the supplied value.
140
+ * Used during reconnect to evict actions the server already echoed back
141
+ * in the replay buffer so they're not resent.
142
+ */
143
+ dropPendingByClientSeq(clientSeq: number): boolean;
122
144
  }
123
145
  /**
124
146
  * Subscription to a terminal at an agent-host terminal URI.
@@ -176,6 +198,44 @@ export declare class AgentSubscriptionManager extends Disposable {
176
198
  * subscription if applicable, then returns the clientSeq.
177
199
  */
178
200
  dispatchOptimistic(action: SessionAction | TerminalAction | IRootConfigChangedAction): number;
201
+ /**
202
+ * URIs currently subscribed to via {@link getSubscription}. Used to
203
+ * build the `subscriptions` payload for a `reconnect` RPC so the
204
+ * server can restore them in one round-trip.
205
+ *
206
+ * Does NOT include the always-live root state, which the protocol
207
+ * client manages separately.
208
+ */
209
+ currentSubscriptionUris(): URI[];
210
+ /**
211
+ * Snapshot of every pending optimistic action across all session
212
+ * subscriptions. Callers use this to replay actions after a transport
213
+ * reconnect; entries are kept on their subscriptions until they're
214
+ * either echoed back by the server or explicitly dropped via
215
+ * {@link dropPendingSessionAction}.
216
+ */
217
+ getPendingSessionActions(): IPendingSessionAction[];
218
+ /**
219
+ * Remove a single pending optimistic action for a session by its
220
+ * `clientSeq`. Used during reconnect to evict actions the server
221
+ * already processed (and replayed back to us) so they're not resent.
222
+ */
223
+ dropPendingSessionAction(sessionUri: string, clientSeq: number): void;
224
+ /**
225
+ * Apply a fresh snapshot to a subscribed resource — used when the server
226
+ * responds to a `reconnect` request with `type: 'snapshot'` because the
227
+ * replay buffer no longer covers the client's gap. Routes to the root
228
+ * subscription when {@link ROOT_STATE_URI} matches, otherwise reseats the
229
+ * matching entry in {@link _subscriptions}. Unknown resources are ignored.
230
+ */
231
+ applyReconnectSnapshot(resource: URI, state: unknown, fromSeq: number): void;
232
+ /**
233
+ * Mark a set of subscriptions as no longer resumable on the server
234
+ * (reported via `ReconnectReplayResult.missing`). The subscriptions
235
+ * themselves stay alive so consumers continue to hold valid references,
236
+ * but their value transitions to an `Error` until they're recreated.
237
+ */
238
+ markSubscriptionsMissing(missing: readonly URI[]): void;
179
239
  private _createSubscription;
180
240
  private _releaseSubscription;
181
241
  dispose(): void;
@@ -6,7 +6,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/in
6
6
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
7
  import { isSessionAction } from './sessionActions.js';
8
8
  import { rootReducer, sessionReducer, terminalReducer } from './protocol/reducers.js';
9
- import { StateComponents } from '@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/sessionState';
9
+ import { ROOT_STATE_URI, StateComponents } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
10
10
 
11
11
  class BaseAgentSubscription extends Disposable {
12
12
  constructor(clientId, log) {
@@ -160,6 +160,21 @@ class SessionStateSubscription extends BaseAgentSubscription {
160
160
  this._pendingActions.length = 0;
161
161
  this._optimisticState = undefined;
162
162
  }
163
+ getPendingActions() {
164
+ return ( this._pendingActions.map(p => ({
165
+ clientSeq: p.clientSeq,
166
+ action: p.action,
167
+ sessionUri: this._sessionUri
168
+ })));
169
+ }
170
+ dropPendingByClientSeq(clientSeq) {
171
+ const idx = this._pendingActions.findIndex(p => p.clientSeq === clientSeq);
172
+ if (idx === -1) {
173
+ return false;
174
+ }
175
+ this._pendingActions.splice(idx, 1);
176
+ return true;
177
+ }
163
178
  }
164
179
  class TerminalStateSubscription extends BaseAgentSubscription {
165
180
  constructor(terminalUri, clientId, log) {
@@ -241,6 +256,51 @@ class AgentSubscriptionManager extends Disposable {
241
256
  }
242
257
  return this._seqAllocator();
243
258
  }
259
+ currentSubscriptionUris() {
260
+ return [...( this._subscriptions.keys())];
261
+ }
262
+ getPendingSessionActions() {
263
+ const out = [];
264
+ for (const {
265
+ sub
266
+ } of ( this._subscriptions.values())) {
267
+ if (sub instanceof SessionStateSubscription) {
268
+ out.push(...sub.getPendingActions());
269
+ }
270
+ }
271
+ return out;
272
+ }
273
+ dropPendingSessionAction(sessionUri, clientSeq) {
274
+ const entry = this._subscriptions.get(( URI.parse(sessionUri)));
275
+ if (entry?.sub instanceof SessionStateSubscription) {
276
+ entry.sub.dropPendingByClientSeq(clientSeq);
277
+ }
278
+ }
279
+ applyReconnectSnapshot(resource, state, fromSeq) {
280
+ if (( resource.toString()) === ROOT_STATE_URI) {
281
+ this._rootState.handleSnapshot(state, fromSeq);
282
+ return;
283
+ }
284
+ const entry = this._subscriptions.get(resource);
285
+ if (!entry) {
286
+ return;
287
+ }
288
+ if (entry.sub instanceof SessionStateSubscription) {
289
+ entry.sub.clearPending();
290
+ }
291
+ entry.sub.handleSnapshot(state, fromSeq);
292
+ }
293
+ markSubscriptionsMissing(missing) {
294
+ for (const resource of missing) {
295
+ const entry = this._subscriptions.get(resource);
296
+ if (entry) {
297
+ if (entry.sub instanceof SessionStateSubscription) {
298
+ entry.sub.clearPending();
299
+ }
300
+ entry.sub.setError(( new Error(`Subscription no longer available after reconnect: ${( resource.toString())}`)));
301
+ }
302
+ }
303
+ }
244
304
  _createSubscription(kind, key) {
245
305
  switch (kind) {
246
306
  case StateComponents.Session:
@@ -1,9 +1,11 @@
1
1
 
2
2
 
3
+ const JsonRpcErrorCodes = {
4
+ InvalidParams: -32602};
3
5
  const AhpErrorCodes = {
4
6
  NotFound: -32008,
5
7
  PermissionDenied: -32009,
6
8
  AlreadyExists: -32010,
7
9
  };
8
10
 
9
- export { AhpErrorCodes };
11
+ export { AhpErrorCodes, JsonRpcErrorCodes };
@@ -1,5 +1,5 @@
1
1
 
2
- import { ActionType } from '@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions';
2
+ import { ActionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions';
3
3
  import { ResponsePartKind, ToolCallStatus, SessionStatus, ToolCallCancellationReason, PendingMessageKind, TurnState, SessionLifecycle } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state';
4
4
 
5
5
  function softAssertNever(value, log) {
@@ -1,4 +1,4 @@
1
- import { type StateAction } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions";
1
+ import { type StateAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions";
2
2
  import { type ProtocolNotification } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/notifications";
3
3
  /**
4
4
  * The current protocol version that new code speaks.
@@ -1,5 +1,5 @@
1
1
 
2
- import '@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions';
2
+ import '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions';
3
3
  import '@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/notifications';
4
4
 
5
5
  const PROTOCOL_VERSION = "0.1.0";
@@ -1,6 +1,6 @@
1
- export { ActionType, type ActionEnvelope, type ActionOrigin, type RootAgentsChangedAction, type RootActiveSessionsChangedAction, type SessionCreationFailedAction, type SessionDeltaAction, type SessionDiffsChangedAction, type SessionErrorAction, type SessionModelChangedAction, type SessionReadyAction, type SessionReasoningAction, type SessionResponsePartAction, type SessionToolCallCompleteAction, type SessionToolCallConfirmedAction, type SessionToolCallApprovedAction, type SessionToolCallDeniedAction, type SessionToolCallDeltaAction, type SessionToolCallReadyAction, type SessionToolCallResultConfirmedAction, type SessionToolCallStartAction, type SessionTitleChangedAction, type SessionTurnCancelledAction, type SessionTurnCompleteAction, type SessionTurnStartedAction, type SessionUsageAction, type SessionServerToolsChangedAction, type SessionActiveClientChangedAction, type SessionActiveClientToolsChangedAction, type SessionCustomizationsChangedAction, type SessionCustomizationToggledAction, type SessionPendingMessageSetAction, type SessionPendingMessageRemovedAction, type SessionQueuedMessagesReorderedAction, type SessionInputRequestedAction, type SessionInputCompletedAction, type SessionIsReadChangedAction, type SessionIsArchivedChangedAction, type SessionToolCallContentChangedAction, type StateAction, } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions";
1
+ export { ActionType, type ActionEnvelope, type ActionOrigin, type RootAgentsChangedAction, type RootActiveSessionsChangedAction, type SessionCreationFailedAction, type SessionDeltaAction, type SessionDiffsChangedAction, type SessionErrorAction, type SessionModelChangedAction, type SessionReadyAction, type SessionReasoningAction, type SessionResponsePartAction, type SessionToolCallCompleteAction, type SessionToolCallConfirmedAction, type SessionToolCallApprovedAction, type SessionToolCallDeniedAction, type SessionToolCallDeltaAction, type SessionToolCallReadyAction, type SessionToolCallResultConfirmedAction, type SessionToolCallStartAction, type SessionTitleChangedAction, type SessionTurnCancelledAction, type SessionTurnCompleteAction, type SessionTurnStartedAction, type SessionUsageAction, type SessionServerToolsChangedAction, type SessionActiveClientChangedAction, type SessionActiveClientToolsChangedAction, type SessionCustomizationsChangedAction, type SessionCustomizationToggledAction, type SessionPendingMessageSetAction, type SessionPendingMessageRemovedAction, type SessionQueuedMessagesReorderedAction, type SessionInputRequestedAction, type SessionInputCompletedAction, type SessionIsReadChangedAction, type SessionIsArchivedChangedAction, type SessionToolCallContentChangedAction, type StateAction, } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions";
2
2
  export { NotificationType, AuthRequiredReason, type SessionAddedNotification, type SessionRemovedNotification, type AuthRequiredNotification, } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/notifications";
3
- import type { RootAgentsChangedAction, RootActiveSessionsChangedAction, SessionDeltaAction, SessionModelChangedAction, SessionReasoningAction, SessionResponsePartAction, SessionToolCallApprovedAction, SessionToolCallCompleteAction, SessionToolCallConfirmedAction, SessionToolCallDeniedAction, SessionToolCallDeltaAction, SessionToolCallReadyAction, SessionToolCallResultConfirmedAction, SessionToolCallStartAction, SessionTitleChangedAction, SessionTurnCancelledAction, SessionTurnCompleteAction, SessionTurnStartedAction, SessionUsageAction, StateAction, SessionPendingMessageSetAction, SessionPendingMessageRemovedAction, SessionQueuedMessagesReorderedAction, SessionIsReadChangedAction, SessionIsArchivedChangedAction, RootConfigChangedAction } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions";
3
+ import type { RootAgentsChangedAction, RootActiveSessionsChangedAction, SessionDeltaAction, SessionModelChangedAction, SessionReasoningAction, SessionResponsePartAction, SessionToolCallApprovedAction, SessionToolCallCompleteAction, SessionToolCallConfirmedAction, SessionToolCallDeniedAction, SessionToolCallDeltaAction, SessionToolCallReadyAction, SessionToolCallResultConfirmedAction, SessionToolCallStartAction, SessionTitleChangedAction, SessionTurnCancelledAction, SessionTurnCompleteAction, SessionTurnStartedAction, SessionUsageAction, StateAction, SessionPendingMessageSetAction, SessionPendingMessageRemovedAction, SessionQueuedMessagesReorderedAction, SessionIsReadChangedAction, SessionIsArchivedChangedAction, RootConfigChangedAction } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions";
4
4
  import type { ProtocolNotification } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/notifications";
5
5
  import type { RootAction as IRootAction_, SessionAction as ISessionAction_, ClientSessionAction as IClientSessionAction_, ServerSessionAction as IServerSessionAction_, TerminalAction as ITerminalAction_, ClientTerminalAction as IClientTerminalAction_ } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/action-origin.generated";
6
6
  export type RootAction = IRootAction_;
@@ -29,8 +29,8 @@ export type ITitleChangedAction = SessionTitleChangedAction;
29
29
  export type IUsageAction = SessionUsageAction;
30
30
  export type IReasoningAction = SessionReasoningAction;
31
31
  export type IModelChangedAction = SessionModelChangedAction;
32
- export type ICustomizationsChangedAction = import("@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions").SessionCustomizationsChangedAction;
33
- export type ICustomizationToggledAction = import("@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions").SessionCustomizationToggledAction;
32
+ export type ICustomizationsChangedAction = import("@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions").SessionCustomizationsChangedAction;
33
+ export type ICustomizationToggledAction = import("@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions").SessionCustomizationToggledAction;
34
34
  export type IPendingMessageSetAction = SessionPendingMessageSetAction;
35
35
  export type IPendingMessageRemovedAction = SessionPendingMessageRemovedAction;
36
36
  export type IQueuedMessagesReorderedAction = SessionQueuedMessagesReorderedAction;
@@ -1,5 +1,5 @@
1
1
 
2
- export { ActionType } from '@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/actions';
2
+ export { ActionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/actions';
3
3
  export { AuthRequiredReason, NotificationType } from '@codingame/monaco-vscode-xterm-common/vscode/vs/platform/agentHost/common/state/protocol/notifications';
4
4
 
5
5
  function isSessionAction(action) {