@codingame/monaco-vscode-chat-service-override 31.0.0 → 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
@@ -41,7 +41,6 @@ import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/
41
41
  import { LayoutSettings } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
42
42
  import { WindowTitle } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/titlebar/windowTitle';
43
43
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
44
- import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
45
44
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
46
45
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
47
46
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
@@ -49,8 +48,6 @@ import { isSessionInProgressStatus, ChatSessionStatus } from '@codingame/monaco-
49
48
 
50
49
  registerCss(agenttitlebarstatuswidget);
51
50
  const TOGGLE_CHAT_ACTION_ID = "workbench.action.chat.toggle";
52
- const CHAT_SETUP_ACTION_ID = "workbench.action.chat.triggerSetup";
53
- const OPEN_CHAT_QUOTA_EXCEEDED_DIALOG = "workbench.action.chat.openQuotaExceededDialog";
54
51
  const QUICK_OPEN_ACTION_ID = "workbench.action.quickOpenWithModes";
55
52
  const FILTER_STORAGE_KEY = "agentSessions.filterExcludes.agentsessionsviewerfiltersubmenu";
56
53
  const PREVIOUS_FILTER_STORAGE_KEY = "agentSessions.filterExcludes.previousUserFilter";
@@ -162,7 +159,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
162
159
  this._render();
163
160
  }));
164
161
  this._register(this.configurationService.onDidChangeConfiguration(e => {
165
- if (e.affectsConfiguration(ChatConfiguration.AgentStatusEnabled) || e.affectsConfiguration(ChatConfiguration.UnifiedAgentsBar) || e.affectsConfiguration(ChatConfiguration.ChatViewSessionsEnabled) || e.affectsConfiguration(ChatConfiguration.AIDisabled) || e.affectsConfiguration(ChatConfiguration.SignInTitleBarEnabled) || e.affectsConfiguration("disableAICustomizations") || e.affectsConfiguration("workbench.disableAICustomizations")) {
162
+ if (e.affectsConfiguration(ChatConfiguration.AgentStatusEnabled) || e.affectsConfiguration(ChatConfiguration.UnifiedAgentsBar) || e.affectsConfiguration(ChatConfiguration.ChatViewSessionsEnabled) || e.affectsConfiguration(ChatConfiguration.AIDisabled) || e.affectsConfiguration("disableAICustomizations") || e.affectsConfiguration("workbench.disableAICustomizations")) {
166
163
  this._lastRenderState = undefined;
167
164
  this._render();
168
165
  }
@@ -188,7 +185,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
188
185
  this._container = container;
189
186
  container.classList.add("agent-status-container");
190
187
  container.setAttribute("role", "toolbar");
191
- container.setAttribute("aria-label", ( localize(5244, "Agent Status")));
188
+ container.setAttribute("aria-label", ( localize(5301, "Agent Status")));
192
189
  container.tabIndex = -1;
193
190
  this._render();
194
191
  }
@@ -370,7 +367,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
370
367
  }
371
368
  const inputArea = $("div.agent-status-input-area");
372
369
  inputArea.setAttribute("role", "button");
373
- inputArea.setAttribute("aria-label", ( localize(5245, "Open Quick Access")));
370
+ inputArea.setAttribute("aria-label", ( localize(5302, "Open Quick Access")));
374
371
  inputArea.tabIndex = 0;
375
372
  this._rovingElements.push(inputArea);
376
373
  pill.appendChild(inputArea);
@@ -392,7 +389,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
392
389
  const hoverDelegate = getDefaultHoverDelegate("mouse");
393
390
  disposables.add(this.hoverService.setupManagedHover(hoverDelegate, inputArea, () => {
394
391
  const kbForTooltip = this.keybindingService.lookupKeybinding(UNIFIED_QUICK_ACCESS_ACTION_ID)?.getLabel();
395
- return kbForTooltip ? ( localize(5246, "Open Quick Access ({0})", kbForTooltip)) : ( localize(5247, "Open Quick Access"));
392
+ return kbForTooltip ? ( localize(5303, "Open Quick Access ({0})", kbForTooltip)) : ( localize(5304, "Open Quick Access"));
396
393
  }));
397
394
  disposables.add(addDisposableListener(inputArea, EventType.CLICK, e => {
398
395
  e.preventDefault();
@@ -437,13 +434,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
437
434
  this._renderSearchButton(disposables, pill);
438
435
  const titleLabel = $("span.agent-status-title");
439
436
  const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
440
- titleLabel.textContent = sessionInfo?.title ?? ( localize(5248, "Agent Session Projection"));
437
+ titleLabel.textContent = sessionInfo?.title ?? ( localize(5305, "Agent Session Projection"));
441
438
  pill.appendChild(titleLabel);
442
439
  this._renderEscapeButton(disposables, pill);
443
440
  const hoverDelegate = getDefaultHoverDelegate("mouse");
444
441
  disposables.add(this.hoverService.setupManagedHover(hoverDelegate, pill, () => {
445
442
  const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
446
- return sessionInfo ? ( localize(5249, "Agent Session Projection: {0}", sessionInfo.title)) : ( localize(5248, "Agent Session Projection"));
443
+ return sessionInfo ? ( localize(5306, "Agent Session Projection: {0}", sessionInfo.title)) : ( localize(5305, "Agent Session Projection"));
447
444
  }));
448
445
  const exitHandler = e => {
449
446
  e.preventDefault();
@@ -467,13 +464,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
467
464
  this._container.appendChild(pill);
468
465
  const titleLabel = $("span.agent-status-title");
469
466
  const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
470
- titleLabel.textContent = sessionInfo?.title ?? ( localize(5250, "Review Changes"));
467
+ titleLabel.textContent = sessionInfo?.title ?? ( localize(5307, "Review Changes"));
471
468
  pill.appendChild(titleLabel);
472
469
  this._renderEnterButton(disposables, pill);
473
470
  const hoverDelegate = getDefaultHoverDelegate("mouse");
474
471
  disposables.add(this.hoverService.setupManagedHover(hoverDelegate, pill, () => {
475
472
  const sessionInfo = this.agentTitleBarStatusService.sessionInfo;
476
- return sessionInfo ? ( localize(5251, "Review changes from: {0}", sessionInfo.title)) : ( localize(5252, "Review agent session changes"));
473
+ return sessionInfo ? ( localize(5308, "Review changes from: {0}", sessionInfo.title)) : ( localize(5309, "Review agent session changes"));
477
474
  }));
478
475
  const enterHandler = e => {
479
476
  e.preventDefault();
@@ -545,13 +542,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
545
542
  const searchButton = $("span.agent-status-search");
546
543
  reset(searchButton, renderIcon(Codicon.searchSparkle));
547
544
  searchButton.setAttribute("role", "button");
548
- searchButton.setAttribute("aria-label", ( localize(5253, "Open Quick Open")));
545
+ searchButton.setAttribute("aria-label", ( localize(5310, "Open Quick Open")));
549
546
  searchButton.tabIndex = 0;
550
547
  this._rovingElements.push(searchButton);
551
548
  container.appendChild(searchButton);
552
549
  const hoverDelegate = getDefaultHoverDelegate("mouse");
553
550
  const searchKb = this.keybindingService.lookupKeybinding(QUICK_OPEN_ACTION_ID)?.getLabel();
554
- const searchTooltip = searchKb ? ( localize(5254, "Go to File ({0})", searchKb)) : ( localize(5255, "Go to File"));
551
+ const searchTooltip = searchKb ? ( localize(5311, "Go to File ({0})", searchKb)) : ( localize(5312, "Go to File"));
555
552
  disposables.add(
556
553
  this.hoverService.setupManagedHover(hoverDelegate, searchButton, searchTooltip)
557
554
  );
@@ -594,29 +591,9 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
594
591
  const menuActions = Separator.join(...( this._chatTitleBarMenu.getActions({
595
592
  shouldForwardArgs: true
596
593
  }).map(([, actions]) => actions)));
597
- const chatSentiment = this.chatEntitlementService.sentiment;
598
- const chatQuotaExceeded = this.chatEntitlementService.quotas.chat?.percentRemaining === 0;
599
- const signedOut = this.chatEntitlementService.entitlement === ChatEntitlement.Unknown;
600
- const anonymous = this.chatEntitlementService.anonymous;
601
- const free = this.chatEntitlementService.entitlement === ChatEntitlement.Free;
602
- let primaryActionId = TOGGLE_CHAT_ACTION_ID;
603
- let primaryActionTitle = ( localize(5256, "Toggle Chat"));
604
- let primaryActionIcon = Codicon.chatSparkle;
605
- const signInTitleBarEnabled = this.configurationService.getValue(ChatConfiguration.SignInTitleBarEnabled);
606
- if (chatSentiment.completed && !chatSentiment.disabled) {
607
- if (signedOut && !anonymous && !signInTitleBarEnabled) {
608
- primaryActionId = CHAT_SETUP_ACTION_ID;
609
- primaryActionTitle = ( localize(5257, "Sign in to use AI features..."));
610
- primaryActionIcon = Codicon.chatSparkleError;
611
- } else if (chatQuotaExceeded && free) {
612
- primaryActionId = OPEN_CHAT_QUOTA_EXCEEDED_DIALOG;
613
- primaryActionTitle = ( localize(
614
- 5258,
615
- "GitHub Copilot Free plan chat messages quota reached. Click for details."
616
- ));
617
- primaryActionIcon = Codicon.chatSparkleWarning;
618
- }
619
- }
594
+ const primaryActionId = TOGGLE_CHAT_ACTION_ID;
595
+ const primaryActionTitle = ( localize(5313, "Toggle Chat"));
596
+ const primaryActionIcon = Codicon.chatSparkle;
620
597
  const primaryAction = this.instantiationService.createInstance(MenuItemAction, {
621
598
  id: primaryActionId,
622
599
  title: primaryActionTitle,
@@ -624,7 +601,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
624
601
  }, undefined, undefined, undefined, undefined);
625
602
  const dropdownAction = toAction({
626
603
  id: "agentStatus.sparkle.dropdown",
627
- label: ( localize(5259, "More Actions")),
604
+ label: ( localize(5314, "More Actions")),
628
605
  run() {}
629
606
  });
630
607
  const sparkleDropdown = this.instantiationService.createInstance(
@@ -701,7 +678,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
701
678
  this._openSessionsWithFilter("unread");
702
679
  }
703
680
  }));
704
- const unreadTooltip = unreadSessions.length === 1 ? ( localize(5260, "{0} unread session", unreadSessions.length)) : ( localize(5261, "{0} unread sessions", unreadSessions.length));
681
+ const unreadTooltip = unreadSessions.length === 1 ? ( localize(5315, "{0} unread session", unreadSessions.length)) : ( localize(5316, "{0} unread sessions", unreadSessions.length));
705
682
  disposables.add(
706
683
  this.hoverService.setupManagedHover(hoverDelegate, unreadSection, unreadTooltip)
707
684
  );
@@ -734,7 +711,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
734
711
  this._openSessionsWithFilter("needsInput");
735
712
  }
736
713
  }));
737
- const needsInputTooltip = attentionNeededSessions.length === 1 ? ( localize(5262, "{0} session needs input", attentionNeededSessions.length)) : ( localize(5263, "{0} sessions need input", attentionNeededSessions.length));
714
+ const needsInputTooltip = attentionNeededSessions.length === 1 ? ( localize(5317, "{0} session needs input", attentionNeededSessions.length)) : ( localize(5318, "{0} sessions need input", attentionNeededSessions.length));
738
715
  disposables.add(
739
716
  this.hoverService.setupManagedHover(hoverDelegate, needsInputSection, needsInputTooltip)
740
717
  );
@@ -768,7 +745,7 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
768
745
  this._openSessionsWithFilter("inProgress");
769
746
  }
770
747
  }));
771
- const activeTooltip = inProgressOnly.length === 1 ? ( localize(5264, "{0} session in progress", inProgressOnly.length)) : ( localize(5265, "{0} sessions in progress", inProgressOnly.length));
748
+ const activeTooltip = inProgressOnly.length === 1 ? ( localize(5319, "{0} session in progress", inProgressOnly.length)) : ( localize(5320, "{0} sessions in progress", inProgressOnly.length));
772
749
  disposables.add(
773
750
  this.hoverService.setupManagedHover(hoverDelegate, activeSection, activeTooltip)
774
751
  );
@@ -947,13 +924,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
947
924
  const escButton = $("span.agent-status-esc-button");
948
925
  escButton.textContent = "Esc";
949
926
  escButton.setAttribute("role", "button");
950
- escButton.setAttribute("aria-label", ( localize(5266, "Exit Agent Session Projection")));
927
+ escButton.setAttribute("aria-label", ( localize(5321, "Exit Agent Session Projection")));
951
928
  escButton.tabIndex = 0;
952
929
  this._rovingElements.push(escButton);
953
930
  parent.appendChild(escButton);
954
931
  const hoverDelegate = getDefaultHoverDelegate("mouse");
955
932
  disposables.add(
956
- this.hoverService.setupManagedHover(hoverDelegate, escButton, ( localize(5267, "Exit Agent Session Projection (Escape)")))
933
+ this.hoverService.setupManagedHover(hoverDelegate, escButton, ( localize(5322, "Exit Agent Session Projection (Escape)")))
957
934
  );
958
935
  disposables.add(addDisposableListener(escButton, EventType.MOUSE_DOWN, e => {
959
936
  e.preventDefault();
@@ -976,14 +953,14 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
976
953
  _renderEnterButton(disposables, parent) {
977
954
  const enterButton = $("span.agent-status-enter-button");
978
955
  const keybinding = this.keybindingService.lookupKeybinding(EnterAgentSessionProjectionAction.ID);
979
- enterButton.textContent = keybinding?.getLabel() ?? ( localize(5268, "Review"));
956
+ enterButton.textContent = keybinding?.getLabel() ?? ( localize(5323, "Review"));
980
957
  enterButton.setAttribute("role", "button");
981
- enterButton.setAttribute("aria-label", ( localize(5269, "Enter Agent Session Projection")));
958
+ enterButton.setAttribute("aria-label", ( localize(5324, "Enter Agent Session Projection")));
982
959
  enterButton.tabIndex = 0;
983
960
  this._rovingElements.push(enterButton);
984
961
  parent.appendChild(enterButton);
985
962
  const hoverDelegate = getDefaultHoverDelegate("mouse");
986
- const hoverText = keybinding ? ( localize(5270, "Review Changes ({0})", keybinding.getLabel())) : ( localize(5271, "Review Changes"));
963
+ const hoverText = keybinding ? ( localize(5325, "Review Changes ({0})", keybinding.getLabel())) : ( localize(5326, "Review Changes"));
987
964
  disposables.add(this.hoverService.setupManagedHover(hoverDelegate, enterButton, hoverText));
988
965
  const enterProjection = e => {
989
966
  e.preventDefault();
@@ -1041,13 +1018,13 @@ let AgentTitleBarStatusWidget = class AgentTitleBarStatusWidget extends BaseActi
1041
1018
  label = this._windowTitle.fileName ?? "";
1042
1019
  }
1043
1020
  if (!label) {
1044
- label = ( localize(5272, "Search"));
1021
+ label = ( localize(5327, "Search"));
1045
1022
  }
1046
1023
  if (prefix) {
1047
- label = ( localize(5273, "{0} {1}", prefix, label));
1024
+ label = ( localize(5328, "{0} {1}", prefix, label));
1048
1025
  }
1049
1026
  if (suffix) {
1050
- label = ( localize(5274, "{0} {1}", label, suffix));
1027
+ label = ( localize(5329, "{0} {1}", label, suffix));
1051
1028
  }
1052
1029
  return label.replaceAll(/\r\n|\r|\n/g, "⏎");
1053
1030
  }
@@ -26,22 +26,22 @@ registerCss(unifiedQuickAccess);
26
26
  const SEND_TO_AGENT_ID = "unified-quick-access-send-to-agent";
27
27
  const DEFAULT_UNIFIED_QUICK_ACCESS_TABS = [{
28
28
  id: "agentSessions",
29
- label: ( localize(5275, "Sessions")),
29
+ label: ( localize(5330, "Sessions")),
30
30
  prefix: "agent ",
31
- placeholder: ( localize(5276, "Search sessions or type a message...")),
32
- tooltip: ( localize(5277, "Search sessions or send a message to agent"))
31
+ placeholder: ( localize(5331, "Search sessions or type a message...")),
32
+ tooltip: ( localize(5332, "Search sessions or send a message to agent"))
33
33
  }, {
34
34
  id: "commands",
35
- label: ( localize(5278, "Commands")),
35
+ label: ( localize(5333, "Commands")),
36
36
  prefix: ">",
37
- placeholder: ( localize(5279, "Search commands...")),
38
- tooltip: ( localize(5280, "Run commands"))
37
+ placeholder: ( localize(5334, "Search commands...")),
38
+ tooltip: ( localize(5335, "Run commands"))
39
39
  }, {
40
40
  id: "files",
41
- label: ( localize(5281, "Files")),
41
+ label: ( localize(5336, "Files")),
42
42
  prefix: "",
43
- placeholder: ( localize(5282, "Search files...")),
44
- tooltip: ( localize(5283, "Go to files"))
43
+ placeholder: ( localize(5337, "Search files...")),
44
+ tooltip: ( localize(5338, "Go to files"))
45
45
  }];
46
46
  let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
47
47
  constructor(
@@ -232,14 +232,14 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
232
232
  }
233
233
  const hasInput = value.trim().length > 0;
234
234
  if (hasInput) {
235
- this._sendButtonLabel.textContent = ( localize(5284, "Send"));
236
- this._sendButtonHover?.update(( localize(5285, "Send message to new agent session")));
235
+ this._sendButtonLabel.textContent = ( localize(5339, "Send"));
236
+ this._sendButtonHover?.update(( localize(5340, "Send message to new agent session")));
237
237
  this._sendButtonIcon.style.display = "";
238
238
  } else {
239
239
  const openChatKeybinding = this.keybindingService.lookupKeybinding(CHAT_OPEN_ACTION_ID);
240
240
  const openChatLabel = openChatKeybinding?.getLabel() ?? "";
241
- this._sendButtonLabel.textContent = ( localize(5286, "Open Chat"));
242
- const tooltip = openChatLabel ? ( localize(5287, "Open chat ({0})", openChatLabel)) : ( localize(5288, "Open chat"));
241
+ this._sendButtonLabel.textContent = ( localize(5341, "Open Chat"));
242
+ const tooltip = openChatLabel ? ( localize(5342, "Open chat ({0})", openChatLabel)) : ( localize(5343, "Open chat"));
243
243
  this._sendButtonHover?.update(tooltip);
244
244
  this._sendButtonIcon.style.display = "none";
245
245
  }
@@ -307,10 +307,10 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
307
307
  }
308
308
  const sendItem = {
309
309
  id: SEND_TO_AGENT_ID,
310
- label: `$(send) ${( localize(5289, "Send to agent"))}`,
310
+ label: `$(send) ${( localize(5344, "Send to agent"))}`,
311
311
  description: fullInput,
312
312
  alwaysShow: true,
313
- ariaLabel: ( localize(5290, "Send message to agent: {0}", fullInput))
313
+ ariaLabel: ( localize(5345, "Send message to agent: {0}", fullInput))
314
314
  };
315
315
  const currentItems = picker.items.filter(item => item.id !== SEND_TO_AGENT_ID);
316
316
  const isSessionsTab = this._currentTab?.id === "agentSessions";
@@ -399,7 +399,7 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
399
399
  if (tab.isSendTab) {
400
400
  picker.busy = false;
401
401
  picker.items = [{
402
- label: ( localize(5291, "Press Enter or click Send to create a new agent session")),
402
+ label: ( localize(5346, "Press Enter or click Send to create a new agent session")),
403
403
  alwaysShow: true
404
404
  }];
405
405
  return;
@@ -424,7 +424,7 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
424
424
  } else {
425
425
  picker.busy = false;
426
426
  picker.items = [{
427
- label: ( localize(5292, "No provider available for this tab")),
427
+ label: ( localize(5347, "No provider available for this tab")),
428
428
  alwaysShow: true
429
429
  }];
430
430
  }
@@ -22,7 +22,7 @@ class ShowUnifiedQuickAccessAction extends Action2 {
22
22
  constructor() {
23
23
  super({
24
24
  id: ShowUnifiedQuickAccessAction.ID,
25
- title: ( localize2(5293, "Show Agent Quick Access")),
25
+ title: ( localize2(5348, "Show Agent Quick Access")),
26
26
  f1: true,
27
27
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
28
28
  });
@@ -40,7 +40,7 @@ class ShowAgentSessionsQuickAccessAction extends Action2 {
40
40
  constructor() {
41
41
  super({
42
42
  id: ShowAgentSessionsQuickAccessAction.ID,
43
- title: ( localize2(5294, "Show Agent Sessions")),
43
+ title: ( localize2(5349, "Show Agent Sessions")),
44
44
  f1: true,
45
45
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
46
46
  });
@@ -58,7 +58,7 @@ class ShowCommandsQuickAccessAction extends Action2 {
58
58
  constructor() {
59
59
  super({
60
60
  id: ShowCommandsQuickAccessAction.ID,
61
- title: ( localize2(5295, "Show Commands (Unified)")),
61
+ title: ( localize2(5350, "Show Commands (Unified)")),
62
62
  f1: true,
63
63
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
64
64
  });
@@ -76,7 +76,7 @@ class ShowFilesQuickAccessAction extends Action2 {
76
76
  constructor() {
77
77
  super({
78
78
  id: ShowFilesQuickAccessAction.ID,
79
- title: ( localize2(5296, "Show Files (Unified)")),
79
+ title: ( localize2(5351, "Show Files (Unified)")),
80
80
  f1: true,
81
81
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
82
82
  });
@@ -17,6 +17,7 @@ import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/wor
17
17
  import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
18
18
  import { getInProgressSessionDescription } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription';
19
19
  import { getSessionStatusForModel, chatResponseStateToSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution';
20
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
20
21
  import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
21
22
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
22
23
 
@@ -154,6 +155,10 @@ class LocalChatSessionItem {
154
155
  deletions: chatDetail.stats.removed,
155
156
  files: chatDetail.stats.fileCount
156
157
  } : undefined;
158
+ const workingDirectoryPath = chatDetail.workingDirectory?.scheme === Schemas.file ? chatDetail.workingDirectory.fsPath : undefined;
159
+ this.metadata = workingDirectoryPath ? {
160
+ workingDirectoryPath: workingDirectoryPath
161
+ } : undefined;
157
162
  }
158
163
  isEqual(other) {
159
164
  return isEqual(this.resource, other.resource) && this.label === other.label && this.description === other.description && this.status === other.status && this.timing.created === other.timing.created && this.timing.lastRequestStarted === other.timing.lastRequestStarted && this.timing.lastRequestEnded === other.timing.lastRequestEnded && equals(this.changes, other.changes);
@@ -1,16 +1,20 @@
1
- import { PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
1
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
2
  import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
3
3
  import { IAICustomizationWorkspaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service";
4
- import { AICustomizationManagementSection } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement";
4
+ import { type AICustomizationPromptsStorage, AICustomizationManagementSection } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement";
5
5
  import { ICustomizationItemProvider, IHarnessDescriptor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService";
6
+ import { ICustomizationHarnessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service";
7
+ import { IAgentPluginService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service";
6
8
  /**
7
9
  * Snapshot of the list widget's internal state, passed in to avoid coupling.
8
10
  */
9
11
  export interface IDebugWidgetState {
10
12
  readonly allItems: readonly {
11
13
  readonly name?: string;
12
- readonly storage?: PromptsStorage;
14
+ readonly storage?: AICustomizationPromptsStorage;
13
15
  readonly groupKey?: string;
16
+ readonly syncable?: boolean;
17
+ readonly pluginUri?: URI;
14
18
  }[];
15
19
  readonly displayEntries: readonly {
16
20
  type: string;
@@ -28,4 +32,4 @@ export interface IDebugWidgetState {
28
32
  * 3. Widget state — normalized items and display entries after grouping
29
33
  * 4. Source folders — where files are discovered from
30
34
  */
31
- export declare function generateCustomizationDebugReport(section: AICustomizationManagementSection, promptsService: IPromptsService, workspaceService: IAICustomizationWorkspaceService, widgetState: IDebugWidgetState, activeDescriptor?: IHarnessDescriptor, promptsServiceItemProvider?: ICustomizationItemProvider): Promise<string>;
35
+ export declare function generateCustomizationDebugReport(section: AICustomizationManagementSection, promptsService: IPromptsService, workspaceService: IAICustomizationWorkspaceService, widgetState: IDebugWidgetState, activeDescriptor?: IHarnessDescriptor, promptsServiceItemProvider?: ICustomizationItemProvider, harnessService?: ICustomizationHarnessService, agentPluginService?: IAgentPluginService): Promise<string>;
@@ -2,31 +2,18 @@
2
2
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
3
3
  import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
4
4
  import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
5
- import { AICustomizationManagementSection, applyStorageSourceFilter } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
6
- import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
5
+ import { applyStorageSourceFilter, BUILTIN_STORAGE } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
6
+ import { sectionToPromptType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
7
7
 
8
- function sectionToPromptType(section) {
9
- switch (section) {
10
- case AICustomizationManagementSection.Agents:
11
- return PromptsType.agent;
12
- case AICustomizationManagementSection.Skills:
13
- return PromptsType.skill;
14
- case AICustomizationManagementSection.Instructions:
15
- return PromptsType.instructions;
16
- case AICustomizationManagementSection.Hooks:
17
- return PromptsType.hook;
18
- case AICustomizationManagementSection.Prompts:
19
- default:
20
- return PromptsType.prompt;
21
- }
22
- }
23
8
  async function generateCustomizationDebugReport(
24
9
  section,
25
10
  promptsService,
26
11
  workspaceService,
27
12
  widgetState,
28
13
  activeDescriptor,
29
- promptsServiceItemProvider
14
+ promptsServiceItemProvider,
15
+ harnessService,
16
+ agentPluginService
30
17
  ) {
31
18
  const promptType = sectionToPromptType(section);
32
19
  const filter = workspaceService.getStorageSourceFilter(promptType);
@@ -46,7 +33,7 @@ async function generateCustomizationDebugReport(
46
33
  lines.push(` id: ${activeDescriptor.id}`);
47
34
  lines.push(` label: ${activeDescriptor.label}`);
48
35
  lines.push(` hasItemProvider: ${!!activeDescriptor.itemProvider}`);
49
- lines.push(` hasSyncProvider: ${!!activeDescriptor.syncProvider}`);
36
+ lines.push(` hasDisableProvider: ${!!activeDescriptor.syncProvider}`);
50
37
  lines.push(
51
38
  ` hiddenSections: ${activeDescriptor.hiddenSections ? `[${activeDescriptor.hiddenSections.join(", ")}]` : "(none)"}`
52
39
  );
@@ -70,8 +57,7 @@ async function generateCustomizationDebugReport(
70
57
  }
71
58
  lines.push("");
72
59
  const extensionProvider = activeDescriptor?.itemProvider;
73
- const hasSyncProvider = !!activeDescriptor?.syncProvider;
74
- const effectiveProvider = extensionProvider ?? (hasSyncProvider ? undefined : promptsServiceItemProvider);
60
+ const effectiveProvider = extensionProvider ?? promptsServiceItemProvider;
75
61
  if (effectiveProvider) {
76
62
  let providerLabel;
77
63
  if (extensionProvider) {
@@ -80,9 +66,6 @@ async function generateCustomizationDebugReport(
80
66
  providerLabel = "PromptsService Adapter (fallback — no extension provider registered)";
81
67
  }
82
68
  await appendProviderData(lines, effectiveProvider, promptType, providerLabel);
83
- } else if (hasSyncProvider) {
84
- lines.push("--- Stage 1: No item provider (sync-only harness) ---");
85
- lines.push("");
86
69
  } else {
87
70
  lines.push("--- Stage 1: No provider available ---");
88
71
  lines.push("");
@@ -93,8 +76,26 @@ async function generateCustomizationDebugReport(
93
76
  }
94
77
  appendWidgetState(lines, widgetState);
95
78
  await appendSourceFolders(lines, promptsService, promptType);
79
+ if (harnessService) {
80
+ appendAllHarnesses(lines, harnessService);
81
+ }
82
+ if (agentPluginService) {
83
+ appendInstalledPlugins(lines, agentPluginService);
84
+ }
96
85
  return lines.join("\n");
97
86
  }
87
+ async function getPromptFilesByStorage(promptsService, promptType) {
88
+ const [localFiles, userFiles, extensionFiles] = await Promise.all([
89
+ promptsService.listPromptFilesForStorage(promptType, PromptsStorage.local, CancellationToken.None),
90
+ promptsService.listPromptFilesForStorage(promptType, PromptsStorage.user, CancellationToken.None),
91
+ promptsService.listPromptFilesForStorage(promptType, PromptsStorage.extension, CancellationToken.None)
92
+ ]);
93
+ return {
94
+ localFiles,
95
+ userFiles,
96
+ extensionFiles
97
+ };
98
+ }
98
99
  async function appendProviderData(lines, provider, promptType, label) {
99
100
  lines.push(`--- Stage 1: Provider Output (${label}) ---`);
100
101
  const allItems = await provider.provideChatSessionCustomizations(CancellationToken.None);
@@ -124,8 +125,14 @@ async function appendProviderData(lines, provider, promptType, label) {
124
125
  if (item.groupKey) {
125
126
  lines.push(` groupKey: ${item.groupKey}`);
126
127
  }
127
- if (item.extensionLabel) {
128
- lines.push(` extensionLabel: ${item.extensionLabel}`);
128
+ if (item.itemKey) {
129
+ lines.push(` itemKey: ${item.itemKey}`);
130
+ }
131
+ if (item.extensionId) {
132
+ lines.push(` extensionId: ${item.extensionId}`);
133
+ }
134
+ if (item.pluginUri) {
135
+ lines.push(` pluginUri: ${( item.pluginUri.toString())}`);
129
136
  }
130
137
  if (item.badge) {
131
138
  lines.push(` badge: ${item.badge}`);
@@ -146,11 +153,11 @@ async function appendProviderData(lines, provider, promptType, label) {
146
153
  }
147
154
  async function appendRawServiceData(lines, promptsService, promptType) {
148
155
  lines.push("--- Stage 2a: Raw PromptsService Data ---");
149
- const [localFiles, userFiles, extensionFiles] = await Promise.all([
150
- promptsService.listPromptFilesForStorage(promptType, PromptsStorage.local, CancellationToken.None),
151
- promptsService.listPromptFilesForStorage(promptType, PromptsStorage.user, CancellationToken.None),
152
- promptsService.listPromptFilesForStorage(promptType, PromptsStorage.extension, CancellationToken.None)
153
- ]);
156
+ const {
157
+ localFiles,
158
+ userFiles,
159
+ extensionFiles
160
+ } = await getPromptFilesByStorage(promptsService, promptType);
154
161
  lines.push(` listPromptFilesForStorage(local): ${localFiles.length} files`);
155
162
  appendFileList(lines, localFiles);
156
163
  lines.push(` listPromptFilesForStorage(user): ${userFiles.length} files`);
@@ -189,11 +196,11 @@ async function appendRawServiceData(lines, promptsService, promptType) {
189
196
  }
190
197
  async function appendFilteredData(lines, promptsService, promptType, filter) {
191
198
  lines.push("--- Stage 2b: After applyStorageSourceFilter ---");
192
- const [localFiles, userFiles, extensionFiles] = await Promise.all([
193
- promptsService.listPromptFilesForStorage(promptType, PromptsStorage.local, CancellationToken.None),
194
- promptsService.listPromptFilesForStorage(promptType, PromptsStorage.user, CancellationToken.None),
195
- promptsService.listPromptFilesForStorage(promptType, PromptsStorage.extension, CancellationToken.None)
196
- ]);
199
+ const {
200
+ localFiles,
201
+ userFiles,
202
+ extensionFiles
203
+ } = await getPromptFilesByStorage(promptsService, promptType);
197
204
  const all = [...localFiles, ...userFiles, ...extensionFiles];
198
205
  const filtered = applyStorageSourceFilter(all, filter);
199
206
  lines.push(` Input: ${all.length} → Filtered: ${filtered.length}`);
@@ -232,10 +239,22 @@ function appendWidgetState(lines, state) {
232
239
  lines.push(
233
240
  ` plugin: ${state.allItems.filter(i => i.storage === PromptsStorage.plugin).length}`
234
241
  );
242
+ lines.push(
243
+ ` built-in: ${state.allItems.filter(i => i.storage === BUILTIN_STORAGE).length}`
244
+ );
245
+ const syncableCount = state.allItems.filter(i => i.syncable).length;
246
+ if (syncableCount > 0) {
247
+ lines.push(` syncable: ${syncableCount}`);
248
+ }
235
249
  for (const item of state.allItems) {
236
- lines.push(
237
- ` - ${item.name} [storage=${item.storage ?? "?"}, groupKey=${item.groupKey ?? "(none)"}]`
238
- );
250
+ const flags = [`storage=${item.storage ?? "?"}`, `groupKey=${item.groupKey ?? "(none)"}`];
251
+ if (item.syncable) {
252
+ flags.push("syncable");
253
+ }
254
+ if (item.pluginUri) {
255
+ flags.push(`pluginUri=${( item.pluginUri.toString())}`);
256
+ }
257
+ lines.push(` - ${item.name} [${flags.join(", ")}]`);
239
258
  }
240
259
  lines.push(` displayEntries (after filterItems): ${state.displayEntries.length}`);
241
260
  const fileEntries = state.displayEntries.filter(e => e.type === "file-item");
@@ -266,5 +285,46 @@ function appendFileList(lines, files) {
266
285
  lines.push(` ${f.uri.fsPath}`);
267
286
  }
268
287
  }
288
+ function appendAllHarnesses(lines, harnessService) {
289
+ lines.push("--- Stage 5: All Registered Harnesses ---");
290
+ const activeId = harnessService.activeHarness.get();
291
+ const harnesses = harnessService.availableHarnesses.get();
292
+ lines.push(` Active: ${activeId}`);
293
+ lines.push(` Total harnesses: ${harnesses.length}`);
294
+ for (const h of harnesses) {
295
+ const isActive = h.id === activeId ? " (ACTIVE)" : "";
296
+ lines.push(` [${h.id}]${isActive} "${h.label}"`);
297
+ lines.push(` hasItemProvider: ${!!h.itemProvider}`);
298
+ lines.push(` hasDisableProvider: ${!!h.syncProvider}`);
299
+ lines.push(
300
+ ` hiddenSections: ${h.hiddenSections ? `[${h.hiddenSections.join(", ")}]` : "(none)"}`
301
+ );
302
+ lines.push(` hideGenerateButton: ${h.hideGenerateButton ?? false}`);
303
+ lines.push(` pluginActions: ${h.pluginActions?.length ?? 0}`);
304
+ if (h.pluginActions) {
305
+ for (const a of h.pluginActions) {
306
+ lines.push(` - ${a.id}: ${a.label}`);
307
+ }
308
+ }
309
+ }
310
+ lines.push("");
311
+ }
312
+ function appendInstalledPlugins(lines, agentPluginService) {
313
+ lines.push("--- Stage 6: Installed Plugins ---");
314
+ const plugins = agentPluginService.plugins.get();
315
+ lines.push(` Total: ${plugins.length}`);
316
+ for (const p of plugins) {
317
+ lines.push(` [${p.label}] ${( p.uri.toString())}`);
318
+ if (p.fromMarketplace) {
319
+ const m = p.fromMarketplace;
320
+ lines.push(
321
+ ` fromMarketplace: ${m.name}@${m.version} (marketplace=${m.marketplace}, type=${m.marketplaceType})`
322
+ );
323
+ } else {
324
+ lines.push(` fromMarketplace: (none)`);
325
+ }
326
+ }
327
+ lines.push("");
328
+ }
269
329
 
270
330
  export { generateCustomizationDebugReport };
@@ -1,5 +1,5 @@
1
1
  import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
2
- import { PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
2
+ import { type AICustomizationPromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService";
3
3
  /**
4
4
  * Icon for the AI Customization view container (sidebar).
5
5
  */
@@ -59,4 +59,4 @@ export declare const mcpServerIcon: ThemeIcon;
59
59
  /**
60
60
  * Returns the icon for a given storage type.
61
61
  */
62
- export declare function storageToIcon(storage: PromptsStorage): ThemeIcon;
62
+ export declare function storageToIcon(storage: AICustomizationPromptsStorage): ThemeIcon;