@codingame/monaco-vscode-chat-service-override 31.0.1 → 32.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +21 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/base/common/defaultAccount.d.ts +69 -0
  5. package/vscode/src/vs/base/common/defaultAccount.js +12 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +91 -22
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +301 -68
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +24 -5
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +89 -16
  10. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +17 -5
  11. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +73 -10
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +32 -6
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +32 -20
  14. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.d.ts +37 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.js +15 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +242 -201
  17. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  18. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +35 -0
  19. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +106 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +38 -30
  21. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +2 -1
  22. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +114 -4
  23. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -10
  24. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +52 -19
  25. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +42 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +7 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +42 -41
  28. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +6 -6
  29. package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
  30. package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
  31. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +4 -3
  32. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +4 -3
  33. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +4 -2
  34. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +15 -7
  35. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.d.ts +19 -0
  36. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.js +17 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -10
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +64 -59
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +31 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +18 -9
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +16 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +30 -5
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +8 -7
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +27 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -20
  60. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +22 -22
  61. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.d.ts +12 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +171 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +4 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -10
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +28 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +99 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +2 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +11 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +9 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +63 -53
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +10 -7
  78. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -48
  84. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  85. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  86. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +8 -4
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +99 -39
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -30
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +78 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +38 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +35 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +347 -326
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +6 -2
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +1 -11
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +113 -109
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +37 -15
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +436 -134
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +2 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +52 -26
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +13 -5
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +23 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +60 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +25 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +93 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +73 -104
  112. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +272 -41
  113. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +12 -2
  114. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +30 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +430 -185
  116. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +5 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +44 -3
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +480 -279
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.d.ts +138 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +221 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +84 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +1216 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +2 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +32 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +26 -19
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +28 -25
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -24
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +68 -33
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +650 -6
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +29 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +390 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +11 -11
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +1 -7
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +6 -87
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +116 -182
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -39
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +61 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -13
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +20 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +106 -36
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +25 -7
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +629 -425
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +9 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +105 -29
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +175 -148
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +20 -33
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +9 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  188. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  190. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  191. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.d.ts +58 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +339 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +160 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +9 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +123 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +37 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +572 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +36 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +167 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +49 -7
  203. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +315 -19
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +45 -24
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +44 -40
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  218. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  219. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +9 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +111 -52
  221. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +3 -7
  222. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +13 -47
  223. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +3 -2
  224. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +4 -8
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +18 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +56 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -7
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +14 -52
  229. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +3 -1
  231. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +17 -2
  232. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +23 -12
  234. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +39 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +136 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +72 -0
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +56 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +7 -0
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +14 -1
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +41 -26
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +30 -12
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +2 -5
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +25 -6
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -2
  248. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +5 -4
  249. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -0
  250. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +108 -45
  251. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -3
  252. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +3 -1
  253. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +20 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +65 -26
  255. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  256. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +38 -11
  257. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +17 -1
  258. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +165 -16
  259. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +1 -0
  260. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +62 -1
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -1
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -3
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +15 -21
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -3
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +18 -24
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +4 -2
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +203 -180
  270. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  271. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +30 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +2 -1
  274. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +27 -2
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +14 -49
  277. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +0 -16
  278. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +35 -177
  279. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -8
  280. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -2
  281. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +2 -3
  282. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +4 -4
  283. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  284. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +13 -13
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +29 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +129 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -2
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +2 -1
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -6
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -4
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +12 -38
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +12 -7
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +77 -70
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +32 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +232 -0
  311. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +83 -0
  312. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.js +243 -0
  313. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +0 -749
  314. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -14
  315. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +0 -17
  316. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +0 -5
  317. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +0 -40
  318. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +0 -14
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +0 -61
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +0 -638
  321. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -131
  322. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -363
  323. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -24
  324. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -306
  325. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -23
  326. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +0 -97
  327. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatStatusWidget.css +0 -57
  328. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +0 -50
  329. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +0 -29
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +0 -50
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +0 -78
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +0 -77
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +0 -120
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -10
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +0 -23
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +0 -242
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +0 -1701
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +0 -191
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +0 -728
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +0 -14
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +0 -69
@@ -9,8 +9,12 @@ export declare function truncateToFirstLine(text: string): string;
9
9
  */
10
10
  export declare function getCustomizationSecondaryText(description: string | undefined, filename: string, promptType: PromptsType): string;
11
11
  /**
12
- * Extracts an extension ID from a file path if the path is inside an
13
- * extension install directory (e.g. `~/.vscode/extensions/<id>-<version>/...`).
12
+ * Extracts an extension ID from a file path if the path is inside either
13
+ * an extension install directory (e.g. `~/.vscode/extensions/<id>-<version>/...`)
14
+ * or an extension's globalStorage directory
15
+ * (e.g. `~/<userdata>/User/globalStorage/<id>/...`). The latter is used by
16
+ * extensions like Copilot Chat that materialize prompt files under their
17
+ * own globalStorage and register them via the prompt-file provider API.
14
18
  *
15
19
  * Returns the extension ID (e.g. `github.copilot-chat`) or `undefined`
16
20
  * if the path is not inside an extension directory.
@@ -14,15 +14,5 @@ function getCustomizationSecondaryText(description, filename, promptType) {
14
14
  }
15
15
  return promptType === PromptsType.hook ? description : truncateToFirstLine(description);
16
16
  }
17
- function extractExtensionIdFromPath(uriPath) {
18
- const segments = uriPath.split('/');
19
- const extensionsIdx = segments.lastIndexOf('extensions');
20
- if (extensionsIdx < 0 || extensionsIdx + 1 >= segments.length) {
21
- return undefined;
22
- }
23
- const folderName = segments[extensionsIdx + 1];
24
- const versionMatch = folderName.match(/^(.+)-\d+\./);
25
- return versionMatch ? versionMatch[1] : undefined;
26
- }
27
17
 
28
- export { extractExtensionIdFromPath, getCustomizationSecondaryText, truncateToFirstLine };
18
+ export { getCustomizationSecondaryText, truncateToFirstLine };
@@ -1,4 +1,5 @@
1
1
 
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
2
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
3
4
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
4
5
  import { removeProperty, applyEdits } from '@codingame/monaco-vscode-api/vscode/vs/base/common/jsonEdit';
@@ -14,8 +15,10 @@ import { Categories } from '@codingame/monaco-vscode-api/vscode/vs/platform/acti
14
15
  import { registerAction2, Action2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
15
16
  import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
16
17
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
17
- import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
18
+ import { RawContextKey, ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
19
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
18
20
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
21
+ import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
19
22
  import { FileSystemProviderCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
20
23
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
21
24
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
@@ -23,12 +26,12 @@ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/regist
23
26
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
24
27
  import { EditorPaneDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/editor';
25
28
  import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
26
- import { EditorExtensions, EditorsOrder } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
29
+ import { EditorExtensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
30
+ import { SYNCED_CUSTOMIZATION_SCHEME } from '../../../../services/agentHost/common/agentHostFileSystemService.js';
27
31
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
32
+ import { IWorkbenchExtensionManagementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
28
33
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
29
34
  import { IAICustomizationWorkspaceService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service';
30
- import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
31
- import { CustomizationHarness } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService';
32
35
  import { ICustomizationHarnessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service';
33
36
  import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
34
37
  import { IAgentPluginService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service';
@@ -38,7 +41,7 @@ import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
38
41
  import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
39
42
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
40
43
  import { AgentPluginItemKind } from '../agentPluginEditor/agentPluginItems.js';
41
- import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID, AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID, AI_CUSTOMIZATION_ITEM_STORAGE_KEY, AICustomizationManagementItemMenuId, AI_CUSTOMIZATION_SUPPORTS_TROUBLESHOOT_KEY, AI_CUSTOMIZATION_ITEM_TYPE_KEY, AI_CUSTOMIZATION_ITEM_URI_KEY, AI_CUSTOMIZATION_ITEM_DISABLED_KEY, AICustomizationManagementCommands } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
44
+ import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID, AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID, AI_CUSTOMIZATION_ITEM_STORAGE_KEY, AI_CUSTOMIZATION_ITEM_PLUGIN_URI_KEY, AICustomizationManagementItemMenuId, AI_CUSTOMIZATION_ITEM_TYPE_KEY, AI_CUSTOMIZATION_ITEM_URI_KEY, AI_CUSTOMIZATION_ITEM_DISABLED_KEY, AICustomizationManagementCommands } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
42
45
  import { AICustomizationManagementEditor } from './aiCustomizationManagementEditor.js';
43
46
  import { AICustomizationManagementEditorInput } from './aiCustomizationManagementEditorInput.js';
44
47
  import { BUILTIN_STORAGE, AICustomizationManagementSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
@@ -46,7 +49,7 @@ import { BUILTIN_STORAGE, AICustomizationManagementSection } from '@codingame/mo
46
49
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(
47
50
  AICustomizationManagementEditor,
48
51
  AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID,
49
- ( localize(5374, "Agent Customizations Editor"))
52
+ ( localize(5455, "Agent Customizations Editor"))
50
53
  ), [(
51
54
  new SyncDescriptor(AICustomizationManagementEditorInput))]);
52
55
  class AICustomizationManagementEditorInputSerializer {
@@ -98,12 +101,6 @@ function extractPluginUri(context) {
98
101
  }
99
102
  return URI.isUri(raw) ? raw : typeof raw === "string" ? ( URI.parse(raw)) : undefined;
100
103
  }
101
- function extractName(context) {
102
- if (URI.isUri(context) || typeof context === "string") {
103
- return undefined;
104
- }
105
- return typeof context.name === "string" ? context.name : undefined;
106
- }
107
104
  function extractItemId(context) {
108
105
  if (URI.isUri(context) || typeof context === "string") {
109
106
  return undefined;
@@ -130,7 +127,7 @@ registerAction2(class extends Action2 {
130
127
  constructor() {
131
128
  super({
132
129
  id: OPEN_AI_CUSTOMIZATION_MGMT_FILE_ID,
133
- title: ( localize2(5375, "Open")),
130
+ title: ( localize2(5456, "Open")),
134
131
  icon: Codicon.goToFile
135
132
  });
136
133
  }
@@ -145,7 +142,7 @@ registerAction2(class extends Action2 {
145
142
  codeEditor.updateOptions({
146
143
  readOnly: true,
147
144
  readOnlyMessage: ( new MarkdownString(( localize(
148
- 5376,
145
+ 5457,
149
146
  "This file is provided by a plugin or extension and cannot be edited."
150
147
  ))))
151
148
  });
@@ -157,7 +154,7 @@ registerAction2(class extends Action2 {
157
154
  constructor() {
158
155
  super({
159
156
  id: RUN_PROMPT_MGMT_ID,
160
- title: ( localize2(5377, "Run Prompt")),
157
+ title: ( localize2(5458, "Run Prompt")),
161
158
  icon: Codicon.play
162
159
  });
163
160
  }
@@ -166,36 +163,7 @@ registerAction2(class extends Action2 {
166
163
  await commandService.executeCommand("workbench.action.chat.run.prompt.current", extractURI(context));
167
164
  }
168
165
  });
169
- const TROUBLESHOOT_AI_CUSTOMIZATION_ID = "aiCustomizationManagement.troubleshoot";
170
- registerAction2(class extends Action2 {
171
- constructor() {
172
- super({
173
- id: TROUBLESHOOT_AI_CUSTOMIZATION_ID,
174
- title: ( localize2(5378, "Troubleshoot")),
175
- icon: Codicon.bug
176
- });
177
- }
178
- async run(accessor, context) {
179
- const commandService = accessor.get(ICommandService);
180
- const editorService = accessor.get(IEditorService);
181
- const rawName = extractName(context);
182
- const displayName = rawName?.replace(/\.md$/i, "");
183
- const query = displayName ? `/troubleshoot ${displayName}` : "/troubleshoot";
184
- const customizationEditors = editorService.getEditors(EditorsOrder.SEQUENTIAL).filter((
185
- {
186
- editor
187
- }
188
- ) => editor instanceof AICustomizationManagementEditorInput);
189
- if (customizationEditors.length) {
190
- await editorService.closeEditors(customizationEditors);
191
- }
192
- await commandService.executeCommand("workbench.action.chat.open", {
193
- query,
194
- isPartialQuery: false
195
- });
196
- }
197
- });
198
- const REVEAL_IN_OS_LABEL = isWindows ? ( localize2(5379, "Reveal in File Explorer")) : isMacintosh ? ( localize2(5380, "Reveal in Finder")) : ( localize2(5381, "Open Containing Folder"));
166
+ const REVEAL_IN_OS_LABEL = isWindows ? ( localize2(5459, "Reveal in File Explorer")) : isMacintosh ? ( localize2(5460, "Reveal in Finder")) : ( localize2(5461, "Open Containing Folder"));
199
167
  const REVEAL_AI_CUSTOMIZATION_IN_OS_ID = "aiCustomizationManagement.revealInOS";
200
168
  registerAction2(class extends Action2 {
201
169
  constructor() {
@@ -216,7 +184,7 @@ registerAction2(class extends Action2 {
216
184
  constructor() {
217
185
  super({
218
186
  id: DELETE_AI_CUSTOMIZATION_ID,
219
- title: ( localize2(5382, "Delete")),
187
+ title: ( localize2(5462, "Delete")),
220
188
  icon: Codicon.trash
221
189
  });
222
190
  }
@@ -238,12 +206,12 @@ registerAction2(class extends Action2 {
238
206
  const plugin = agentPluginService.plugins.get().find(p => isEqualOrParent(uri, p.uri));
239
207
  if (plugin) {
240
208
  const result = await dialogService.confirm({
241
- message: ( localize(5383, "This item is provided by the plugin '{0}'", plugin.label)),
209
+ message: ( localize(5463, "This item is provided by the plugin '{0}'", plugin.label)),
242
210
  detail: ( localize(
243
- 5384,
211
+ 5464,
244
212
  "Individual components from a plugin cannot be removed separately. Would you like to uninstall the entire plugin?"
245
213
  )),
246
- primaryButton: ( localize(5385, "Uninstall Plugin")),
214
+ primaryButton: ( localize(5465, "Uninstall Plugin")),
247
215
  type: "question"
248
216
  });
249
217
  if (result.confirmed) {
@@ -253,8 +221,8 @@ registerAction2(class extends Action2 {
253
221
  return;
254
222
  }
255
223
  if (storage === PromptsStorage.extension || storage === BUILTIN_STORAGE) {
256
- await dialogService.info(( localize(5386, "Cannot Delete Extension File")), ( localize(
257
- 5387,
224
+ await dialogService.info(( localize(5466, "Cannot Delete Extension File")), ( localize(
225
+ 5467,
258
226
  "Files provided by extensions cannot be deleted. You can disable the extension if you no longer want to use this customization."
259
227
  )));
260
228
  return;
@@ -262,14 +230,14 @@ registerAction2(class extends Action2 {
262
230
  const hookInfo = isHook && itemId ? parseHookItemId(itemId) : undefined;
263
231
  const hookName = typeof context !== "string" && !URI.isUri(context) ? context.name : undefined;
264
232
  const message = isSkill ? ( localize(
265
- 5388,
233
+ 5468,
266
234
  "Are you sure you want to delete skill '{0}' and its folder?",
267
235
  fileName
268
- )) : hookInfo && hookName ? ( localize(5389, "Are you sure you want to delete the '{0}' hook?", hookName)) : ( localize(5390, "Are you sure you want to delete '{0}'?", fileName));
236
+ )) : hookInfo && hookName ? ( localize(5469, "Are you sure you want to delete the '{0}' hook?", hookName)) : ( localize(5470, "Are you sure you want to delete '{0}'?", fileName));
269
237
  const confirmation = await dialogService.confirm({
270
238
  message,
271
- detail: ( localize(5391, "This action cannot be undone.")),
272
- primaryButton: ( localize(5382, "Delete")),
239
+ detail: ( localize(5471, "This action cannot be undone.")),
240
+ primaryButton: ( localize(5462, "Delete")),
273
241
  type: "warning"
274
242
  });
275
243
  if (confirmation.confirmed) {
@@ -299,9 +267,9 @@ registerAction2(class extends Action2 {
299
267
  }
300
268
  } catch {
301
269
  await dialogService.error(( localize(
302
- 5392,
270
+ 5472,
303
271
  "Unable to delete this hook entry because the file contents have changed."
304
- )), ( localize(5393, "Refresh the view and try again.")));
272
+ )), ( localize(5473, "Refresh the view and try again.")));
305
273
  }
306
274
  return;
307
275
  }
@@ -329,7 +297,7 @@ registerAction2(class extends Action2 {
329
297
  constructor() {
330
298
  super({
331
299
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
332
- title: ( localize2(5394, "Copy Path")),
300
+ title: ( localize2(5474, "Copy Path")),
333
301
  icon: Codicon.clippy
334
302
  });
335
303
  }
@@ -340,41 +308,63 @@ registerAction2(class extends Action2 {
340
308
  await clipboardService.writeText(textToCopy);
341
309
  }
342
310
  });
311
+ const INSTALL_CHAT_CUSTOMIZATION_EXTENSION_ID = "aiCustomizationManagement.installChatCustomizationExtension";
312
+ const CHAT_CUSTOMIZATION_EXTENSION_ID = "ms-vscode.vscode-chat-customizations-evaluations";
313
+ const CHAT_CUSTOMIZATION_EXTENSION_NOT_INSTALLED_CONTEXT = ( new RawContextKey("chat.customizationExtensionNotInstalled", false));
314
+ const CHAT_CUSTOMIZATION_EXTENSION_NOT_INSTALLED = ( CHAT_CUSTOMIZATION_EXTENSION_NOT_INSTALLED_CONTEXT.isEqualTo(true));
315
+ registerAction2(class extends Action2 {
316
+ constructor() {
317
+ super({
318
+ id: INSTALL_CHAT_CUSTOMIZATION_EXTENSION_ID,
319
+ title: ( localize2(5475, "Install Chat Customization Extension")),
320
+ icon: Codicon.beaker
321
+ });
322
+ }
323
+ async run(accessor, context) {
324
+ await accessor.get(ICommandService).executeCommand(
325
+ "workbench.extensions.installExtension",
326
+ CHAT_CUSTOMIZATION_EXTENSION_ID,
327
+ {
328
+ enable: true
329
+ }
330
+ );
331
+ }
332
+ });
343
333
  const WHEN_ITEM_IS_DELETABLE = ( ContextKeyExpr.and(( ContextKeyExpr.notEquals(AI_CUSTOMIZATION_ITEM_STORAGE_KEY, PromptsStorage.extension)), ( ContextKeyExpr.notEquals(AI_CUSTOMIZATION_ITEM_STORAGE_KEY, PromptsStorage.plugin)), ( ContextKeyExpr.notEquals(AI_CUSTOMIZATION_ITEM_STORAGE_KEY, BUILTIN_STORAGE))));
344
- const WHEN_ITEM_IS_PLUGIN = ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_STORAGE_KEY, PromptsStorage.plugin));
334
+ const WHEN_ITEM_IS_PLUGIN = ( ContextKeyExpr.and(( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_STORAGE_KEY, PromptsStorage.plugin)), ( ( ContextKeyExpr.regex(AI_CUSTOMIZATION_ITEM_PLUGIN_URI_KEY, ( new RegExp(`^${SYNCED_CUSTOMIZATION_SCHEME}:`)))).negate())));
335
+ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
336
+ command: {
337
+ id: INSTALL_CHAT_CUSTOMIZATION_EXTENSION_ID,
338
+ title: ( localize(5476, "Install Chat Customization Extension")),
339
+ icon: Codicon.beaker
340
+ },
341
+ group: "inline",
342
+ order: 1,
343
+ when: ( ContextKeyExpr.and(CHAT_CUSTOMIZATION_EXTENSION_NOT_INSTALLED, ( ContextKeyExpr.or(( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_TYPE_KEY, PromptsType.prompt)), ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_TYPE_KEY, PromptsType.instructions)), ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_TYPE_KEY, PromptsType.agent)), ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_TYPE_KEY, PromptsType.skill))))))
344
+ });
345
345
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
346
346
  command: {
347
347
  id: COPY_AI_CUSTOMIZATION_PATH_ID,
348
- title: ( localize(5394, "Copy Path")),
348
+ title: ( localize(5474, "Copy Path")),
349
349
  icon: Codicon.clippy
350
350
  },
351
351
  group: "inline",
352
- order: 1
352
+ order: 2
353
353
  });
354
354
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
355
355
  command: {
356
356
  id: DELETE_AI_CUSTOMIZATION_ID,
357
- title: ( localize(5382, "Delete")),
357
+ title: ( localize(5462, "Delete")),
358
358
  icon: Codicon.trash
359
359
  },
360
360
  group: "inline",
361
361
  order: 10,
362
362
  when: WHEN_ITEM_IS_DELETABLE
363
363
  });
364
- MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
365
- command: {
366
- id: TROUBLESHOOT_AI_CUSTOMIZATION_ID,
367
- title: ( localize(5395, "Troubleshoot")),
368
- icon: Codicon.bug
369
- },
370
- group: "inline",
371
- order: 2,
372
- when: ( ContextKeyExpr.equals(AI_CUSTOMIZATION_SUPPORTS_TROUBLESHOOT_KEY, true))
373
- });
374
364
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
375
365
  command: {
376
366
  id: OPEN_AI_CUSTOMIZATION_MGMT_FILE_ID,
377
- title: ( localize(5375, "Open"))
367
+ title: ( localize(5456, "Open"))
378
368
  },
379
369
  group: "1_open",
380
370
  order: 1
@@ -382,22 +372,13 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
382
372
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
383
373
  command: {
384
374
  id: RUN_PROMPT_MGMT_ID,
385
- title: ( localize(5377, "Run Prompt")),
375
+ title: ( localize(5458, "Run Prompt")),
386
376
  icon: Codicon.play
387
377
  },
388
378
  group: "2_run",
389
379
  order: 1,
390
380
  when: ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_TYPE_KEY, PromptsType.prompt))
391
381
  });
392
- MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
393
- command: {
394
- id: TROUBLESHOOT_AI_CUSTOMIZATION_ID,
395
- title: ( localize(5396, "Troubleshoot"))
396
- },
397
- group: "2_run",
398
- order: 2,
399
- when: ( ContextKeyExpr.equals(AI_CUSTOMIZATION_SUPPORTS_TROUBLESHOOT_KEY, true))
400
- });
401
382
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
402
383
  command: {
403
384
  id: REVEAL_AI_CUSTOMIZATION_IN_OS_ID,
@@ -410,7 +391,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
410
391
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
411
392
  command: {
412
393
  id: DELETE_AI_CUSTOMIZATION_ID,
413
- title: ( localize(5382, "Delete"))
394
+ title: ( localize(5462, "Delete"))
414
395
  },
415
396
  group: "4_modify",
416
397
  order: 1,
@@ -421,7 +402,7 @@ registerAction2(class extends Action2 {
421
402
  constructor() {
422
403
  super({
423
404
  id: UNINSTALL_PLUGIN_AI_CUSTOMIZATION_ID,
424
- title: ( localize2(5385, "Uninstall Plugin")),
405
+ title: ( localize2(5465, "Uninstall Plugin")),
425
406
  icon: Codicon.trash
426
407
  });
427
408
  }
@@ -434,12 +415,12 @@ registerAction2(class extends Action2 {
434
415
  return;
435
416
  }
436
417
  const result = await dialogService.confirm({
437
- message: ( localize(5397, "This item is provided by the plugin '{0}'", plugin.label)),
418
+ message: ( localize(5477, "This item is provided by the plugin '{0}'", plugin.label)),
438
419
  detail: ( localize(
439
- 5398,
420
+ 5478,
440
421
  "Individual components from a plugin cannot be removed separately. Would you like to uninstall the entire plugin?"
441
422
  )),
442
- primaryButton: ( localize(5399, "Uninstall Plugin")),
423
+ primaryButton: ( localize(5479, "Uninstall Plugin")),
443
424
  type: "question"
444
425
  });
445
426
  if (result.confirmed) {
@@ -450,7 +431,7 @@ registerAction2(class extends Action2 {
450
431
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
451
432
  command: {
452
433
  id: UNINSTALL_PLUGIN_AI_CUSTOMIZATION_ID,
453
- title: ( localize(5385, "Uninstall Plugin")),
434
+ title: ( localize(5465, "Uninstall Plugin")),
454
435
  icon: Codicon.trash
455
436
  },
456
437
  group: "inline",
@@ -460,7 +441,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
460
441
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
461
442
  command: {
462
443
  id: UNINSTALL_PLUGIN_AI_CUSTOMIZATION_ID,
463
- title: ( localize(5385, "Uninstall Plugin"))
444
+ title: ( localize(5465, "Uninstall Plugin"))
464
445
  },
465
446
  group: "4_modify",
466
447
  order: 1,
@@ -471,7 +452,7 @@ registerAction2(class extends Action2 {
471
452
  constructor() {
472
453
  super({
473
454
  id: SHOW_PLUGIN_AI_CUSTOMIZATION_ID,
474
- title: ( localize2(5400, "Show Plugin"))
455
+ title: ( localize2(5480, "Show Plugin"))
475
456
  });
476
457
  }
477
458
  async run(accessor, context) {
@@ -504,7 +485,7 @@ registerAction2(class extends Action2 {
504
485
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
505
486
  command: {
506
487
  id: SHOW_PLUGIN_AI_CUSTOMIZATION_ID,
507
- title: ( localize(5400, "Show Plugin"))
488
+ title: ( localize(5480, "Show Plugin"))
508
489
  },
509
490
  group: "1_open",
510
491
  order: 2,
@@ -515,7 +496,7 @@ registerAction2(class extends Action2 {
515
496
  constructor() {
516
497
  super({
517
498
  id: DISABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
518
- title: ( localize2(5401, "Disable")),
499
+ title: ( localize2(5481, "Disable")),
519
500
  icon: Codicon.eyeClosed
520
501
  });
521
502
  }
@@ -536,7 +517,7 @@ registerAction2(class extends Action2 {
536
517
  constructor() {
537
518
  super({
538
519
  id: ENABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
539
- title: ( localize2(5402, "Enable")),
520
+ title: ( localize2(5482, "Enable")),
540
521
  icon: Codicon.eye
541
522
  });
542
523
  }
@@ -555,7 +536,7 @@ registerAction2(class extends Action2 {
555
536
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
556
537
  command: {
557
538
  id: DISABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
558
- title: ( localize(5401, "Disable"))
539
+ title: ( localize(5481, "Disable"))
559
540
  },
560
541
  group: "5_toggle",
561
542
  order: 1,
@@ -564,7 +545,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
564
545
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
565
546
  command: {
566
547
  id: ENABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
567
- title: ( localize(5402, "Enable"))
548
+ title: ( localize(5482, "Enable"))
568
549
  },
569
550
  group: "5_toggle",
570
551
  order: 1,
@@ -573,7 +554,7 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
573
554
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
574
555
  command: {
575
556
  id: DISABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
576
- title: ( localize(5401, "Disable")),
557
+ title: ( localize(5481, "Disable")),
577
558
  icon: Codicon.eyeClosed
578
559
  },
579
560
  group: "inline",
@@ -583,28 +564,51 @@ MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
583
564
  MenuRegistry.appendMenuItem(AICustomizationManagementItemMenuId, {
584
565
  command: {
585
566
  id: ENABLE_AI_CUSTOMIZATION_MGMT_ITEM_ID,
586
- title: ( localize(5402, "Enable")),
567
+ title: ( localize(5482, "Enable")),
587
568
  icon: Codicon.eye
588
569
  },
589
570
  group: "inline",
590
571
  order: 5,
591
572
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_DISABLED_KEY, true)), ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_STORAGE_KEY, BUILTIN_STORAGE)), ( ContextKeyExpr.equals(AI_CUSTOMIZATION_ITEM_TYPE_KEY, PromptsType.skill))))
592
573
  });
593
- class AICustomizationManagementActionsContribution extends Disposable {
574
+ let AICustomizationManagementActionsContribution = class AICustomizationManagementActionsContribution extends Disposable {
594
575
  static {
595
576
  this.ID = "workbench.contrib.aiCustomizationManagementActions";
596
577
  }
597
- constructor() {
578
+ constructor(contextKeyService, extensionManagementService) {
598
579
  super();
580
+ this.extensionManagementService = extensionManagementService;
581
+ this.chatCustomizationExtensionNotInstalledContext = CHAT_CUSTOMIZATION_EXTENSION_NOT_INSTALLED_CONTEXT.bindTo(contextKeyService);
582
+ const refreshExtensionContext = () => this.updateChatCustomizationExtensionContext();
583
+ this._register(
584
+ this.extensionManagementService.onProfileAwareDidInstallExtensions(refreshExtensionContext)
585
+ );
586
+ this._register(
587
+ this.extensionManagementService.onProfileAwareDidUninstallExtension(refreshExtensionContext)
588
+ );
589
+ this._register(
590
+ this.extensionManagementService.onDidChangeProfile(refreshExtensionContext)
591
+ );
592
+ void this.updateChatCustomizationExtensionContext();
599
593
  this.registerActions();
600
594
  }
595
+ async updateChatCustomizationExtensionContext() {
596
+ try {
597
+ const installedExtensions = await this.extensionManagementService.getInstalled();
598
+ const extensionKey = ExtensionIdentifier.toKey(CHAT_CUSTOMIZATION_EXTENSION_ID);
599
+ const isInstalled = ( installedExtensions.some(ext => ExtensionIdentifier.toKey(ext.identifier.id) === extensionKey));
600
+ this.chatCustomizationExtensionNotInstalledContext.set(!isInstalled);
601
+ } catch {
602
+ this.chatCustomizationExtensionNotInstalledContext.set(false);
603
+ }
604
+ }
601
605
  registerActions() {
602
606
  this._register(registerAction2(class extends Action2 {
603
607
  constructor() {
604
608
  super({
605
609
  id: AICustomizationManagementCommands.OpenEditor,
606
- title: ( localize2(5403, "Open Customizations")),
607
- shortTitle: ( localize2(5404, "Customizations")),
610
+ title: ( localize2(5483, "Open Customizations")),
611
+ shortTitle: ( localize2(5484, "Customizations")),
608
612
  category: CHAT_CATEGORY,
609
613
  precondition: ChatContextKeys.enabled,
610
614
  f1: true
@@ -617,10 +621,9 @@ class AICustomizationManagementActionsContribution extends Disposable {
617
621
  const sessionResource = chatWidgetService.lastFocusedWidget?.viewModel?.sessionResource;
618
622
  if (sessionResource) {
619
623
  const sessionType = getChatSessionType(sessionResource);
620
- const harnessId = sessionType === localChatSessionType ? CustomizationHarness.VSCode : sessionType;
621
- const available = harnessService.availableHarnesses.get();
622
- if (( available.some(h => h.id === harnessId))) {
623
- harnessService.setActiveHarness(harnessId);
624
+ const harness = harnessService.findHarnessById(sessionType);
625
+ if (harness) {
626
+ harnessService.setActiveHarness(sessionType);
624
627
  }
625
628
  }
626
629
  const input = AICustomizationManagementEditorInput.getOrCreate();
@@ -636,7 +639,7 @@ class AICustomizationManagementActionsContribution extends Disposable {
636
639
  constructor() {
637
640
  super({
638
641
  id: AICustomizationManagementCommands.OpenMarketplace,
639
- title: ( localize2(5405, "Open Marketplace")),
642
+ title: ( localize2(5485, "Open Marketplace")),
640
643
  category: CHAT_CATEGORY,
641
644
  precondition: ChatContextKeys.enabled
642
645
  });
@@ -659,7 +662,7 @@ class AICustomizationManagementActionsContribution extends Disposable {
659
662
  constructor() {
660
663
  super({
661
664
  id: AICustomizationManagementCommands.GenerateDebugReport,
662
- title: ( localize2(5406, "Generate Customization Debug Report")),
665
+ title: ( localize2(5486, "Generate Customization Debug Report")),
663
666
  category: Categories.Developer,
664
667
  precondition: ChatContextKeys.enabled,
665
668
  f1: true
@@ -683,7 +686,8 @@ class AICustomizationManagementActionsContribution extends Disposable {
683
686
  }
684
687
  }));
685
688
  }
686
- }
689
+ };
690
+ AICustomizationManagementActionsContribution = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IWorkbenchExtensionManagementService))], AICustomizationManagementActionsContribution));
687
691
  registerWorkbenchContribution2(
688
692
  AICustomizationManagementActionsContribution.ID,
689
693
  AICustomizationManagementActionsContribution,