@codingame/monaco-vscode-chat-service-override 26.2.2 → 27.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 (316) hide show
  1. package/index.js +31 -1
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
  4. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
  5. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
  6. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +39 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +83 -0
  8. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
  9. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +274 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +71 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +284 -0
  12. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +79 -0
  13. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +378 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  15. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +84 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +1 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -29
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +16 -16
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +33 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +204 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +77 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +541 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -65
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +48 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +19 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +181 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +943 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +248 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +57 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +27 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +118 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +727 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +72 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +623 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +858 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +19 -3
  93. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +529 -363
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +305 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +111 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +58 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +429 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +45 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +781 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +5 -22
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +15 -7
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +15 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +351 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +182 -13
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +892 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +55 -25
  174. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  175. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  177. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  183. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +27 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +102 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +16 -1
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +69 -47
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +2 -41
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +7 -7
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +43 -31
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +67 -42
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +10 -10
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +64 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +42 -8
  223. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  224. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +58 -31
  225. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  226. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -20
  227. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  228. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +39 -0
  229. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +27 -0
  230. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  231. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  232. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +36 -0
  233. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +188 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +18 -8
  235. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +192 -85
  236. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +2 -1
  237. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -1
  238. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  239. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  240. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +8 -4
  241. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +111 -7
  242. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +2 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +52 -0
  244. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  245. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +73 -0
  246. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +622 -0
  247. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +64 -0
  248. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +478 -0
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +1 -30
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -5
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +2 -8
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +8 -8
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +23 -22
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +44 -14
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +345 -113
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +14 -1
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -24
  261. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  262. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  263. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  264. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +11 -5
  265. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +23 -0
  266. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +248 -24
  267. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  268. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  269. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  270. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  271. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  272. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  273. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  274. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  275. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  276. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +9 -0
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +280 -65
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +1 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +47 -19
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  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/common/terminalSandboxService.d.ts +6 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +38 -16
  311. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  312. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  313. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  314. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
@@ -1,587 +0,0 @@
1
-
2
- import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
3
- import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
4
- import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
- import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
6
- import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
7
- import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
8
- import { AgentFileType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
9
- import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
10
- import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
11
- import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
12
- import { relativePath, basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
13
- import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
14
- import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
15
- import { COPILOT_CUSTOM_INSTRUCTIONS_FILENAME } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
16
- import { IUntitledTextEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.service';
17
- import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
18
- import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
19
- import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
20
- import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
21
- import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
22
- import { parseAllHookFiles } from '../promptSyntax/hookUtils.js';
23
- import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
24
- import { IRemoteAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
25
- import { OS } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
26
-
27
- function encodePathForMarkdown(path) {
28
- return ( path.split("/").map(segment => encodeURIComponent(segment))).join("/");
29
- }
30
- function getRelativePath(uri, workspaceFolders) {
31
- const normalizedUri = uri.scheme === Schemas.vscodeUserData ? uri.with({
32
- scheme: Schemas.file
33
- }) : uri;
34
- for (const folder of workspaceFolders) {
35
- const relative = relativePath(folder.uri, normalizedUri);
36
- if (relative) {
37
- return encodePathForMarkdown(relative);
38
- }
39
- }
40
- return encodePathForMarkdown(normalizedUri.fsPath.replace(/\\/g, "/"));
41
- }
42
- const TREE_BRANCH = "├─";
43
- const TREE_END = "└─";
44
- const ICON_ERROR = "❌";
45
- const ICON_WARN = "⚠️";
46
- const ICON_MANUAL = "🔧";
47
- const ICON_HIDDEN = "👁️‍🗨️";
48
- function registerChatCustomizationDiagnosticsAction() {
49
- registerAction2(class DiagnosticsAction extends Action2 {
50
- constructor() {
51
- super({
52
- id: "workbench.action.chat.diagnostics",
53
- title: ( localize2(4743, "Diagnostics")),
54
- f1: false,
55
- category: CHAT_CATEGORY,
56
- menu: [{
57
- id: MenuId.ChatContext,
58
- group: "z_clear",
59
- order: -1
60
- }, {
61
- id: CHAT_CONFIG_MENU_ID,
62
- when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals("view", ChatViewId)))),
63
- order: 14,
64
- group: "3_configure"
65
- }, {
66
- id: MenuId.ChatWelcomeContext,
67
- group: "2_settings",
68
- order: 0,
69
- when: ( ChatContextKeys.inChatEditor.negate())
70
- }]
71
- });
72
- }
73
- async run(accessor) {
74
- const promptsService = accessor.get(IPromptsService);
75
- const configurationService = accessor.get(IConfigurationService);
76
- const fileService = accessor.get(IFileService);
77
- const untitledTextEditorService = accessor.get(IUntitledTextEditorService);
78
- const commandService = accessor.get(ICommandService);
79
- const workspaceContextService = accessor.get(IWorkspaceContextService);
80
- const labelService = accessor.get(ILabelService);
81
- const remoteAgentService = accessor.get(IRemoteAgentService);
82
- const token = CancellationToken.None;
83
- const workspaceFolders = workspaceContextService.getWorkspace().folders;
84
- const pathService = accessor.get(IPathService);
85
- const statusInfos = [];
86
- const agentsStatus = await collectAgentsStatus(promptsService, fileService, token);
87
- statusInfos.push(agentsStatus);
88
- const instructionsStatus = await collectInstructionsStatus(promptsService, fileService, token);
89
- statusInfos.push(instructionsStatus);
90
- const promptsStatus = await collectPromptsStatus(promptsService, fileService, token);
91
- statusInfos.push(promptsStatus);
92
- const skillsStatus = await collectSkillsStatus(promptsService, configurationService, fileService, token);
93
- statusInfos.push(skillsStatus);
94
- const hooksStatus = await collectHooksStatus(
95
- promptsService,
96
- fileService,
97
- labelService,
98
- pathService,
99
- workspaceContextService,
100
- remoteAgentService,
101
- token
102
- );
103
- statusInfos.push(hooksStatus);
104
- const specialFilesStatus = await collectSpecialFilesStatus(promptsService, configurationService, token);
105
- const output = formatStatusOutput(statusInfos, specialFilesStatus, workspaceFolders);
106
- const untitledModel = untitledTextEditorService.create({
107
- initialValue: output,
108
- languageId: "markdown"
109
- });
110
- await commandService.executeCommand("vscode.open", untitledModel.resource);
111
- }
112
- });
113
- }
114
- async function collectAgentsStatus(promptsService, fileService, token) {
115
- const type = PromptsType.agent;
116
- const enabled = true;
117
- const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
118
- const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
119
- const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
120
- const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
121
- return {
122
- type,
123
- paths,
124
- files,
125
- enabled
126
- };
127
- }
128
- async function collectInstructionsStatus(promptsService, fileService, token) {
129
- const type = PromptsType.instructions;
130
- const enabled = true;
131
- const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
132
- const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
133
- const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
134
- const files = ( discoveryInfo.files.filter(f => basename(f.uri) !== COPILOT_CUSTOM_INSTRUCTIONS_FILENAME).map(convertDiscoveryResultToFileStatus));
135
- return {
136
- type,
137
- paths,
138
- files,
139
- enabled
140
- };
141
- }
142
- async function collectPromptsStatus(promptsService, fileService, token) {
143
- const type = PromptsType.prompt;
144
- const enabled = true;
145
- const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
146
- const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
147
- const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
148
- const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
149
- return {
150
- type,
151
- paths,
152
- files,
153
- enabled
154
- };
155
- }
156
- async function collectSkillsStatus(promptsService, configurationService, fileService, token) {
157
- const type = PromptsType.skill;
158
- const enabled = configurationService.getValue(PromptsConfig.USE_AGENT_SKILLS) ?? false;
159
- const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
160
- const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
161
- const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
162
- const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
163
- return {
164
- type,
165
- paths,
166
- files,
167
- enabled
168
- };
169
- }
170
- async function collectHooksStatus(
171
- promptsService,
172
- fileService,
173
- labelService,
174
- pathService,
175
- workspaceContextService,
176
- remoteAgentService,
177
- token
178
- ) {
179
- const type = PromptsType.hook;
180
- const enabled = true;
181
- const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
182
- const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
183
- const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
184
- const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
185
- const disabledFileUris = ( discoveryInfo.files.filter(f => f.status === "skipped" && f.skipReason === "all-hooks-disabled").map(f => f.uri));
186
- const parsedHooks = await parseHookFiles(
187
- promptsService,
188
- fileService,
189
- labelService,
190
- pathService,
191
- workspaceContextService,
192
- remoteAgentService,
193
- token,
194
- disabledFileUris
195
- );
196
- return {
197
- type,
198
- paths,
199
- files,
200
- enabled,
201
- parsedHooks
202
- };
203
- }
204
- async function parseHookFiles(
205
- promptsService,
206
- fileService,
207
- labelService,
208
- pathService,
209
- workspaceContextService,
210
- remoteAgentService,
211
- token,
212
- additionalDisabledFileUris
213
- ) {
214
- const workspaceFolder = workspaceContextService.getWorkspace().folders[0];
215
- const workspaceRootUri = workspaceFolder?.uri;
216
- const userHomeUri = await pathService.userHome();
217
- const userHome = userHomeUri.fsPath ?? userHomeUri.path;
218
- const remoteEnv = await remoteAgentService.getEnvironment();
219
- const targetOS = remoteEnv?.os ?? OS;
220
- return parseAllHookFiles(
221
- promptsService,
222
- fileService,
223
- labelService,
224
- workspaceRootUri,
225
- userHome,
226
- targetOS,
227
- token,
228
- {
229
- additionalDisabledFileUris
230
- }
231
- );
232
- }
233
- async function collectSpecialFilesStatus(promptsService, configurationService, token) {
234
- const useAgentMd = configurationService.getValue(PromptsConfig.USE_AGENT_MD) ?? false;
235
- const useClaudeMd = configurationService.getValue(PromptsConfig.USE_CLAUDE_MD) ?? false;
236
- const useCopilotInstructions = configurationService.getValue(PromptsConfig.USE_COPILOT_INSTRUCTION_FILES) ?? false;
237
- const allFiles = await promptsService.listAgentInstructions(token);
238
- return {
239
- agentsMd: {
240
- enabled: useAgentMd,
241
- files: ( allFiles.filter(f => f.type === AgentFileType.agentsMd).map(f => f.uri))
242
- },
243
- claudeMd: {
244
- enabled: useClaudeMd,
245
- files: ( allFiles.filter(f => f.type === AgentFileType.claudeMd).map(f => f.uri))
246
- },
247
- copilotInstructions: {
248
- enabled: useCopilotInstructions,
249
- files: ( allFiles.filter(f => f.type === AgentFileType.copilotInstructionsMd).map(f => f.uri))
250
- }
251
- };
252
- }
253
- async function checkDirectoryExists(fileService, uri) {
254
- try {
255
- const stat = await fileService.stat(uri);
256
- return stat.isDirectory;
257
- } catch {
258
- return false;
259
- }
260
- }
261
- async function convertResolvedFoldersToPathInfo(resolvedFolders, fileService) {
262
- const paths = [];
263
- let scanOrder = 1;
264
- for (const folder of resolvedFolders) {
265
- const exists = await checkDirectoryExists(fileService, folder.uri);
266
- paths.push({
267
- uri: folder.uri,
268
- exists,
269
- storage: folder.storage,
270
- scanOrder: scanOrder++,
271
- displayPath: folder.displayPath ?? folder.uri.path,
272
- isDefault: folder.isDefault ?? false
273
- });
274
- }
275
- return paths;
276
- }
277
- function getSkipReasonMessage(skipReason, errorMessage) {
278
- switch (skipReason) {
279
- case "missing-name":
280
- return localize(4744, "Missing name attribute");
281
- case "missing-description":
282
- return localize(4745, "Missing description attribute");
283
- case "name-mismatch":
284
- return errorMessage ?? ( localize(4746, "Name does not match folder"));
285
- case "duplicate-name":
286
- return localize(4747, "Overwritten by higher priority file");
287
- case "parse-error":
288
- return errorMessage ?? ( localize(4748, "Parse error"));
289
- case "disabled":
290
- return localize(4749, "Disabled");
291
- case "all-hooks-disabled":
292
- return localize(4750, "All hooks disabled via disableAllHooks");
293
- case "claude-hooks-disabled":
294
- return localize(4751, "Claude hooks disabled via chat.useClaudeHooks setting");
295
- default:
296
- return errorMessage ?? ( localize(4752, "Unknown error"));
297
- }
298
- }
299
- function convertDiscoveryResultToFileStatus(result) {
300
- if (result.status === "loaded") {
301
- return {
302
- uri: result.uri,
303
- status: "loaded",
304
- name: result.name,
305
- storage: result.storage,
306
- extensionId: result.extensionId,
307
- userInvokable: result.userInvokable,
308
- disableModelInvocation: result.disableModelInvocation
309
- };
310
- }
311
- if (result.skipReason === "duplicate-name" && result.duplicateOf) {
312
- return {
313
- uri: result.uri,
314
- status: "overwritten",
315
- name: result.name,
316
- storage: result.storage,
317
- overwrittenBy: result.name,
318
- extensionId: result.extensionId
319
- };
320
- }
321
- return {
322
- uri: result.uri,
323
- status: "skipped",
324
- name: result.name,
325
- reason: getSkipReasonMessage(result.skipReason, result.errorMessage),
326
- storage: result.storage,
327
- extensionId: result.extensionId
328
- };
329
- }
330
- function formatStatusOutput(statusInfos, specialFiles, workspaceFolders) {
331
- const lines = [];
332
- lines.push(`## ${( localize(4753, "Chat Customization Diagnostics"))}`);
333
- lines.push(`*${( localize(4754, "WARNING: This file may contain sensitive information."))}*`);
334
- lines.push("");
335
- for (const info of statusInfos) {
336
- const typeName = getTypeName(info.type);
337
- if (info.type === PromptsType.skill && !info.enabled) {
338
- lines.push(`**${typeName}**`);
339
- lines.push(`*${( localize(
340
- 4755,
341
- "Skills are disabled. Enable them by setting `chat.useAgentSkills` to `true` in your settings."
342
- ))}*`);
343
- lines.push("");
344
- continue;
345
- }
346
- const enabledStatus = info.enabled ? "" : ` *(${( localize(4756, "disabled"))})*`;
347
- let loadedCount = info.files.filter(f => f.status === "loaded").length;
348
- const skippedCount = info.files.filter(f => f.status === "skipped" || f.status === "overwritten").length;
349
- if (info.type === PromptsType.instructions) {
350
- if (specialFiles.agentsMd.enabled) {
351
- loadedCount += specialFiles.agentsMd.files.length;
352
- }
353
- if (specialFiles.copilotInstructions.enabled) {
354
- loadedCount += specialFiles.copilotInstructions.files.length;
355
- }
356
- if (specialFiles.claudeMd.enabled) {
357
- loadedCount += specialFiles.claudeMd.files.length;
358
- }
359
- }
360
- lines.push(`**${typeName}**${enabledStatus}<br>`);
361
- const statsParts = [];
362
- if (info.type === PromptsType.hook) {
363
- if (loadedCount > 0) {
364
- statsParts.push(loadedCount === 1 ? ( localize(4757, "1 file loaded")) : ( localize(4758, "{0} files loaded", loadedCount)));
365
- }
366
- if (info.parsedHooks && info.parsedHooks.length > 0) {
367
- const hookCount = info.parsedHooks.length;
368
- statsParts.push(hookCount === 1 ? ( localize(4759, "1 hook loaded")) : ( localize(4760, "{0} hooks loaded", hookCount)));
369
- }
370
- } else if (loadedCount > 0) {
371
- if (info.type === PromptsType.skill) {
372
- statsParts.push(loadedCount === 1 ? ( localize(4761, "1 skill loaded")) : ( localize(4762, "{0} skills loaded", loadedCount)));
373
- } else {
374
- statsParts.push(loadedCount === 1 ? ( localize(4757, "1 file loaded")) : ( localize(4758, "{0} files loaded", loadedCount)));
375
- }
376
- }
377
- if (skippedCount > 0) {
378
- statsParts.push(( localize(4763, "{0} skipped", skippedCount)));
379
- }
380
- if (statsParts.length > 0) {
381
- lines.push(`*${statsParts.join(", ")}*`);
382
- }
383
- lines.push("");
384
- const allPaths = info.paths;
385
- const allFiles = info.files;
386
- const filesByPath = ( new Map());
387
- const unmatchedFiles = [];
388
- for (const file of allFiles) {
389
- let matched = false;
390
- for (const path of allPaths) {
391
- if (isFileUnderPath(file.uri, path.uri)) {
392
- const key = ( path.uri.toString());
393
- if (!( filesByPath.has(key))) {
394
- filesByPath.set(key, []);
395
- }
396
- filesByPath.get(key).push(file);
397
- matched = true;
398
- break;
399
- }
400
- }
401
- if (!matched) {
402
- unmatchedFiles.push(file);
403
- }
404
- }
405
- let hasContent = false;
406
- if (info.type !== PromptsType.hook) {
407
- for (const path of allPaths) {
408
- const pathFiles = filesByPath.get(( path.uri.toString())) || [];
409
- if (path.exists) {
410
- lines.push(`${path.displayPath}<br>`);
411
- } else if (path.isDefault) {
412
- lines.push(`${path.displayPath}<br>`);
413
- } else {
414
- lines.push(`${ICON_ERROR} ${path.displayPath} - *${( localize(4764, "Folder does not exist"))}*<br>`);
415
- }
416
- if (path.exists && pathFiles.length > 0) {
417
- for (let i = 0; i < pathFiles.length; i++) {
418
- const file = pathFiles[i];
419
- let fileName;
420
- if (info.type === PromptsType.skill) {
421
- fileName = file.name || `${basename(dirname(file.uri))}`;
422
- } else {
423
- fileName = basename(file.uri);
424
- }
425
- const isLast = i === pathFiles.length - 1;
426
- const prefix = isLast ? TREE_END : TREE_BRANCH;
427
- const filePath = getRelativePath(file.uri, workspaceFolders);
428
- if (file.status === "loaded") {
429
- lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
430
- } else if (file.status === "overwritten") {
431
- lines.push(`${prefix} ${ICON_WARN} [\`${fileName}\`](${filePath}) - *${( localize(4747, "Overwritten by higher priority file"))}*<br>`);
432
- } else {
433
- lines.push(
434
- `${prefix} ${ICON_ERROR} [\`${fileName}\`](${filePath}) - *${file.reason}*<br>`
435
- );
436
- }
437
- }
438
- }
439
- hasContent = true;
440
- }
441
- }
442
- if (info.type !== PromptsType.hook && unmatchedFiles.length > 0) {
443
- const filesByExtension = ( new Map());
444
- for (const file of unmatchedFiles) {
445
- const extId = file.extensionId || "unknown";
446
- if (!( filesByExtension.has(extId))) {
447
- filesByExtension.set(extId, []);
448
- }
449
- filesByExtension.get(extId).push(file);
450
- }
451
- for (const [extId, extFiles] of filesByExtension) {
452
- lines.push(`${( localize(4765, "Extension"))}: ${extId}<br>`);
453
- for (let i = 0; i < extFiles.length; i++) {
454
- const file = extFiles[i];
455
- let fileName;
456
- if (info.type === PromptsType.skill) {
457
- fileName = file.name || `${basename(dirname(file.uri))}`;
458
- } else {
459
- fileName = basename(file.uri);
460
- }
461
- const isLast = i === extFiles.length - 1;
462
- const prefix = isLast ? TREE_END : TREE_BRANCH;
463
- const filePath = getRelativePath(file.uri, workspaceFolders);
464
- if (file.status === "loaded") {
465
- const flags = getSkillFlags(file, info.type);
466
- lines.push(`${prefix} [\`${fileName}\`](${filePath})${flags}<br>`);
467
- } else if (file.status === "overwritten") {
468
- lines.push(`${prefix} ${ICON_WARN} [\`${fileName}\`](${filePath}) - *${( localize(4747, "Overwritten by higher priority file"))}*<br>`);
469
- } else {
470
- lines.push(
471
- `${prefix} ${ICON_ERROR} [\`${fileName}\`](${filePath}) - *${file.reason}*<br>`
472
- );
473
- }
474
- }
475
- }
476
- hasContent = true;
477
- }
478
- if (info.type === PromptsType.instructions) {
479
- if (specialFiles.agentsMd.enabled && specialFiles.agentsMd.files.length > 0) {
480
- lines.push(`AGENTS.md<br>`);
481
- for (let i = 0; i < specialFiles.agentsMd.files.length; i++) {
482
- const file = specialFiles.agentsMd.files[i];
483
- const fileName = basename(file);
484
- const isLast = i === specialFiles.agentsMd.files.length - 1;
485
- const prefix = isLast ? TREE_END : TREE_BRANCH;
486
- const filePath = getRelativePath(file, workspaceFolders);
487
- lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
488
- }
489
- hasContent = true;
490
- } else if (!specialFiles.agentsMd.enabled) {
491
- lines.push(`AGENTS.md -<br>`);
492
- hasContent = true;
493
- }
494
- if (specialFiles.copilotInstructions.enabled && specialFiles.copilotInstructions.files.length > 0) {
495
- lines.push(`${COPILOT_CUSTOM_INSTRUCTIONS_FILENAME}<br>`);
496
- for (let i = 0; i < specialFiles.copilotInstructions.files.length; i++) {
497
- const file = specialFiles.copilotInstructions.files[i];
498
- const fileName = basename(file);
499
- const isLast = i === specialFiles.copilotInstructions.files.length - 1;
500
- const prefix = isLast ? TREE_END : TREE_BRANCH;
501
- const filePath = getRelativePath(file, workspaceFolders);
502
- lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
503
- }
504
- hasContent = true;
505
- } else if (!specialFiles.copilotInstructions.enabled) {
506
- lines.push(`${COPILOT_CUSTOM_INSTRUCTIONS_FILENAME} -<br>`);
507
- hasContent = true;
508
- }
509
- }
510
- if (info.type === PromptsType.hook && info.parsedHooks && info.parsedHooks.length > 0) {
511
- const hooksByFile = ( new Map());
512
- for (const hook of info.parsedHooks) {
513
- const fileKey = ( hook.fileUri.toString());
514
- const existing = hooksByFile.get(fileKey) ?? [];
515
- existing.push(hook);
516
- hooksByFile.set(fileKey, existing);
517
- }
518
- const fileUris = Array.from(( hooksByFile.keys()));
519
- for (let fileIdx = 0; fileIdx < fileUris.length; fileIdx++) {
520
- const fileKey = fileUris[fileIdx];
521
- const fileHooks = hooksByFile.get(fileKey);
522
- const firstHook = fileHooks[0];
523
- const filePath = getRelativePath(firstHook.fileUri, workspaceFolders);
524
- const fileDisabled = fileHooks[0].disabled;
525
- if (fileDisabled) {
526
- lines.push(`[${firstHook.filePath}](${filePath}) - *${( localize(4766, "all hooks disabled via disableAllHooks"))}*<br>`);
527
- } else {
528
- lines.push(`[${firstHook.filePath}](${filePath})<br>`);
529
- }
530
- for (let i = 0; i < fileHooks.length; i++) {
531
- const hook = fileHooks[i];
532
- const isLast = i === fileHooks.length - 1;
533
- const prefix = isLast ? TREE_END : TREE_BRANCH;
534
- const disabledPrefix = hook.disabled ? `${ICON_ERROR} ` : "";
535
- lines.push(
536
- `${prefix} ${disabledPrefix}${hook.hookTypeLabel}: \`${hook.commandLabel}\`<br>`
537
- );
538
- }
539
- }
540
- hasContent = true;
541
- }
542
- if (!hasContent && info.enabled) {
543
- lines.push(`*${( localize(4767, "No files loaded"))}*`);
544
- }
545
- lines.push("");
546
- }
547
- return lines.join("\n");
548
- }
549
- function getSkillFlags(file, type) {
550
- if (type !== PromptsType.skill) {
551
- return "";
552
- }
553
- const flags = [];
554
- if (file.disableModelInvocation) {
555
- flags.push(`${ICON_MANUAL} *${( localize(4768, "manual only"))}*`);
556
- }
557
- if (file.userInvokable === false) {
558
- flags.push(`${ICON_HIDDEN} *${( localize(4769, "hidden from menu"))}*`);
559
- }
560
- if (flags.length === 0) {
561
- return "";
562
- }
563
- return ` - ${flags.join(", ")}`;
564
- }
565
- function isFileUnderPath(fileUri, pathUri) {
566
- const filePath = ( fileUri.toString());
567
- const folderPath = ( pathUri.toString());
568
- return filePath.startsWith(folderPath + "/") || filePath.startsWith(folderPath + "\\");
569
- }
570
- function getTypeName(type) {
571
- switch (type) {
572
- case PromptsType.agent:
573
- return localize(4770, "Custom Agents");
574
- case PromptsType.instructions:
575
- return localize(4771, "Instructions");
576
- case PromptsType.prompt:
577
- return localize(4772, "Prompt Files");
578
- case PromptsType.skill:
579
- return localize(4773, "Skills");
580
- case PromptsType.hook:
581
- return localize(4774, "Hooks");
582
- default:
583
- return type;
584
- }
585
- }
586
-
587
- export { formatStatusOutput, registerChatCustomizationDiagnosticsAction };
@@ -1,71 +0,0 @@
1
- import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
2
- import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
- import { ConfirmedReason, IChatExtensionsContent, IChatSubagentToolInvocationData, IChatTodoListContent, IChatToolInputInvocationData, IChatToolInvocation, IChatToolInvocationSerialized, ToolConfirmKind, type IChatTerminalToolInvocationData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
4
- import { IPreparedToolInvocation, IToolConfirmationMessages, IToolData, IToolProgressStep, IToolResult, ToolDataSource } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
5
- export interface IStreamingToolCallOptions {
6
- toolCallId: string;
7
- toolId: string;
8
- toolData: IToolData;
9
- subagentInvocationId?: string;
10
- chatRequestId?: string;
11
- }
12
- export declare class ChatToolInvocation implements IChatToolInvocation {
13
- readonly toolCallId: string;
14
- readonly kind: "toolInvocation";
15
- invocationMessage: string | IMarkdownString;
16
- readonly originMessage: string | IMarkdownString | undefined;
17
- pastTenseMessage: string | IMarkdownString | undefined;
18
- confirmationMessages: IToolConfirmationMessages | undefined;
19
- presentation: IPreparedToolInvocation["presentation"];
20
- readonly toolId: string;
21
- source: ToolDataSource;
22
- readonly subAgentInvocationId: string | undefined;
23
- parameters: unknown;
24
- generatedTitle?: string;
25
- readonly chatRequestId?: string;
26
- toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData | IChatExtensionsContent | IChatTodoListContent | IChatSubagentToolInvocationData;
27
- private readonly _progress;
28
- private readonly _state;
29
- private readonly _partialInput;
30
- private readonly _streamingMessage;
31
- get state(): IObservable<IChatToolInvocation.State>;
32
- /**
33
- * Create a tool invocation in streaming state.
34
- * Use this when the tool call is beginning to stream partial input from the LM.
35
- */
36
- static createStreaming(options: IStreamingToolCallOptions): ChatToolInvocation;
37
- /**
38
- * Create a tool invocation already in cancelled state.
39
- * Use this when a hook denies tool execution before it even starts.
40
- */
41
- static createCancelled(options: IStreamingToolCallOptions, parameters: unknown, reason: ToolConfirmKind.Denied | ToolConfirmKind.Skipped, reasonMessage?: string | IMarkdownString): ChatToolInvocation;
42
- constructor(preparedInvocation: IPreparedToolInvocation | undefined, toolData: IToolData, toolCallId: string, subAgentInvocationId: string | undefined, parameters: unknown, startOptions?: {
43
- startInStreaming?: boolean;
44
- startInCancelled?: boolean;
45
- cancelReason?: ToolConfirmKind.Denied | ToolConfirmKind.Skipped;
46
- cancelReasonMessage?: string | IMarkdownString;
47
- }, chatRequestId?: string);
48
- /**
49
- * Update the partial input observable during streaming.
50
- */
51
- updatePartialInput(input: unknown): void;
52
- /**
53
- * Update the streaming message (from handleToolStream).
54
- */
55
- updateStreamingMessage(message: string | IMarkdownString): void;
56
- /**
57
- * Cancel a streaming invocation directly (e.g., when preToolUse hook denies).
58
- * Only works when in Streaming state.
59
- * @returns true if the cancellation was applied, false if not in streaming state
60
- */
61
- cancelFromStreaming(reason: ToolConfirmKind.Denied | ToolConfirmKind.Skipped, reasonMessage?: string | IMarkdownString): boolean;
62
- /**
63
- * Transition from streaming state to prepared/executing state.
64
- * Called when the full tool call is ready.
65
- */
66
- transitionFromStreaming(preparedInvocation: IPreparedToolInvocation | undefined, parameters: unknown, autoConfirmed: ConfirmedReason | undefined): void;
67
- private _setCompleted;
68
- didExecuteTool(result: IToolResult | undefined, final?: boolean): IChatToolInvocation.State;
69
- acceptProgress(step: IToolProgressStep): void;
70
- toJSON(): IChatToolInvocationSerialized;
71
- }