@codingame/monaco-vscode-chat-service-override 26.2.2 → 28.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 (356) hide show
  1. package/index.js +35 -2
  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 +89 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -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 +278 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
  12. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  13. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  14. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
  15. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +24 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
  193. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  194. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +19 -1
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  218. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  219. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  220. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  221. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  222. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
  229. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  231. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  232. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  234. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  247. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
  248. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  251. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
  252. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  253. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
  255. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  256. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  257. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
  258. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
  259. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
  260. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
  261. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
  262. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
  263. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  264. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  265. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
  266. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  268. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  269. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  270. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -0
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
  297. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  300. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  301. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  302. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
  303. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
  304. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
  305. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  306. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  307. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  308. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  309. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  312. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  313. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +17 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +7 -1
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  351. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  352. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
  353. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  354. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  356. 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,12 +0,0 @@
1
- import { IDynamicVariable } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariables";
2
- import { IChatVariablesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariables.service";
3
- import { IToolAndToolSetEnablementMap } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
4
- import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
5
- import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
6
- export declare class ChatVariablesService implements IChatVariablesService {
7
- private readonly chatWidgetService;
8
- _serviceBrand: undefined;
9
- constructor(chatWidgetService: IChatWidgetService);
10
- getDynamicVariables(sessionResource: URI): ReadonlyArray<IDynamicVariable>;
11
- getSelectedToolAndToolSets(sessionResource: URI): IToolAndToolSetEnablementMap;
12
- }
@@ -1,51 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
4
- import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
5
- import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
6
-
7
- let ChatVariablesService = class ChatVariablesService {
8
- constructor(chatWidgetService) {
9
- this.chatWidgetService = chatWidgetService;
10
- }
11
- getDynamicVariables(sessionResource) {
12
- const widget = this.chatWidgetService.getWidgetBySessionResource(sessionResource);
13
- if (!widget || !widget.viewModel || !widget.supportsFileReferences) {
14
- return [];
15
- }
16
- const model = widget.getContrib(ChatDynamicVariableModel.ID);
17
- if (!model) {
18
- return [];
19
- }
20
- if (widget.input.attachmentModel.attachments.length > 0 && widget.viewModel.editing) {
21
- const references = [];
22
- for (const attachment of widget.input.attachmentModel.attachments) {
23
- if (attachment.range) {
24
- const referenceObj = {
25
- id: attachment.id,
26
- fullName: attachment.name,
27
- modelDescription: attachment.modelDescription,
28
- range: ( new Range(1, attachment.range.start + 1, 1, attachment.range.endExclusive + 1)),
29
- icon: attachment.icon,
30
- isFile: attachment.kind === "file",
31
- isDirectory: attachment.kind === "directory",
32
- data: attachment.value
33
- };
34
- references.push(referenceObj);
35
- }
36
- }
37
- return [...model.variables, ...references];
38
- }
39
- return model.variables;
40
- }
41
- getSelectedToolAndToolSets(sessionResource) {
42
- const widget = this.chatWidgetService.getWidgetBySessionResource(sessionResource);
43
- if (!widget) {
44
- return ( new Map());
45
- }
46
- return widget.input.selectedToolsModel.entriesMap.get();
47
- }
48
- };
49
- ChatVariablesService = ( __decorate([( __param(0, IChatWidgetService))], ChatVariablesService));
50
-
51
- export { ChatVariablesService };