@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.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 (334) hide show
  1. package/index.js +24 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
  4. package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
  5. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
  6. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
  10. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
  61. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
  62. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
  132. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
  133. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
  134. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
  147. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
  148. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
  149. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
  150. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
  175. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
  176. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
  177. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
  178. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
  179. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
  184. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
  185. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
  205. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
  206. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
  207. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
  208. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
  209. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
  222. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  223. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
  235. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
  314. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
  315. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
  316. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
  317. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
  318. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
  321. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
  329. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
  330. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
  331. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
  332. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
@@ -0,0 +1,60 @@
1
+ import { PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
2
+ import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { IWorkspaceFolder } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace";
5
+ /**
6
+ * Information about a file that was loaded or skipped.
7
+ */
8
+ export interface IFileStatusInfo {
9
+ uri: URI;
10
+ status: "loaded" | "skipped" | "overwritten";
11
+ reason?: string;
12
+ name?: string;
13
+ storage: PromptsStorage;
14
+ /** For overwritten files, the name of the file that took precedence */
15
+ overwrittenBy?: string;
16
+ /** Extension ID if this file comes from an extension */
17
+ extensionId?: string;
18
+ }
19
+ /**
20
+ * Path information with scan order.
21
+ */
22
+ export interface IPathInfo {
23
+ uri: URI;
24
+ exists: boolean;
25
+ storage: PromptsStorage;
26
+ /** 1-based scan order (lower = higher priority) */
27
+ scanOrder: number;
28
+ /** Original path string for display (e.g., '~/.copilot/agents' or '.github/agents') */
29
+ displayPath: string;
30
+ /** Whether this is a default folder (vs custom configured) */
31
+ isDefault: boolean;
32
+ }
33
+ /**
34
+ * Status information for a specific type of prompt files.
35
+ */
36
+ export interface ITypeStatusInfo {
37
+ type: PromptsType;
38
+ paths: IPathInfo[];
39
+ files: IFileStatusInfo[];
40
+ enabled: boolean;
41
+ }
42
+ /**
43
+ * Registers the Diagnostics action for the chat context menu.
44
+ */
45
+ export declare function registerChatCustomizationDiagnosticsAction(): void;
46
+ /**
47
+ * Formats the status output as a compact markdown string with tree structure.
48
+ * Files are grouped under their parent paths.
49
+ * Special files (AGENTS.md, copilot-instructions.md) are merged into their respective sections.
50
+ */
51
+ export declare function formatStatusOutput(statusInfos: ITypeStatusInfo[], specialFiles: {
52
+ agentsMd: {
53
+ enabled: boolean;
54
+ files: URI[];
55
+ };
56
+ copilotInstructions: {
57
+ enabled: boolean;
58
+ files: URI[];
59
+ };
60
+ }, workspaceFolders: readonly IWorkspaceFolder[]): string;
@@ -0,0 +1,435 @@
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 { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
9
+ import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
10
+ import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
11
+ import { relativePath, basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
12
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
13
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
14
+ import { COPILOT_CUSTOM_INSTRUCTIONS_FILENAME } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
15
+ import { IUntitledTextEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.service';
16
+ import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
17
+ import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
18
+ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
19
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
20
+
21
+ function encodePathForMarkdown(path) {
22
+ return ( path.split("/").map(segment => encodeURIComponent(segment))).join("/");
23
+ }
24
+ function getRelativePath(uri, workspaceFolders) {
25
+ const normalizedUri = uri.scheme === Schemas.vscodeUserData ? uri.with({
26
+ scheme: Schemas.file
27
+ }) : uri;
28
+ for (const folder of workspaceFolders) {
29
+ const relative = relativePath(folder.uri, normalizedUri);
30
+ if (relative) {
31
+ return encodePathForMarkdown(relative);
32
+ }
33
+ }
34
+ return encodePathForMarkdown(normalizedUri.fsPath.replace(/\\/g, "/"));
35
+ }
36
+ const TREE_BRANCH = "├─";
37
+ const TREE_END = "└─";
38
+ const ICON_ERROR = "❌";
39
+ const ICON_WARN = "⚠️";
40
+ function registerChatCustomizationDiagnosticsAction() {
41
+ registerAction2(class DiagnosticsAction extends Action2 {
42
+ constructor() {
43
+ super({
44
+ id: "workbench.action.chat.diagnostics",
45
+ title: ( localize2(4743, "Diagnostics")),
46
+ f1: false,
47
+ category: CHAT_CATEGORY,
48
+ menu: [{
49
+ id: MenuId.ChatContext,
50
+ group: "z_clear",
51
+ order: -1
52
+ }, {
53
+ id: CHAT_CONFIG_MENU_ID,
54
+ when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals("view", ChatViewId)))),
55
+ order: 14,
56
+ group: "3_configure"
57
+ }, {
58
+ id: MenuId.ChatWelcomeContext,
59
+ group: "2_settings",
60
+ order: 0,
61
+ when: ( ChatContextKeys.inChatEditor.negate())
62
+ }]
63
+ });
64
+ }
65
+ async run(accessor) {
66
+ const promptsService = accessor.get(IPromptsService);
67
+ const configurationService = accessor.get(IConfigurationService);
68
+ const fileService = accessor.get(IFileService);
69
+ const untitledTextEditorService = accessor.get(IUntitledTextEditorService);
70
+ const commandService = accessor.get(ICommandService);
71
+ const workspaceContextService = accessor.get(IWorkspaceContextService);
72
+ const token = CancellationToken.None;
73
+ const workspaceFolders = workspaceContextService.getWorkspace().folders;
74
+ const statusInfos = [];
75
+ const agentsStatus = await collectAgentsStatus(promptsService, fileService, token);
76
+ statusInfos.push(agentsStatus);
77
+ const instructionsStatus = await collectInstructionsStatus(promptsService, fileService, token);
78
+ statusInfos.push(instructionsStatus);
79
+ const promptsStatus = await collectPromptsStatus(promptsService, fileService, token);
80
+ statusInfos.push(promptsStatus);
81
+ const skillsStatus = await collectSkillsStatus(promptsService, configurationService, fileService, token);
82
+ statusInfos.push(skillsStatus);
83
+ const specialFilesStatus = await collectSpecialFilesStatus(promptsService, configurationService, token);
84
+ const output = formatStatusOutput(statusInfos, specialFilesStatus, workspaceFolders);
85
+ const untitledModel = untitledTextEditorService.create({
86
+ initialValue: output,
87
+ languageId: "markdown"
88
+ });
89
+ await commandService.executeCommand("vscode.open", untitledModel.resource);
90
+ }
91
+ });
92
+ }
93
+ async function collectAgentsStatus(promptsService, fileService, token) {
94
+ const type = PromptsType.agent;
95
+ const enabled = true;
96
+ const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
97
+ const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
98
+ const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
99
+ const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
100
+ return {
101
+ type,
102
+ paths,
103
+ files,
104
+ enabled
105
+ };
106
+ }
107
+ async function collectInstructionsStatus(promptsService, fileService, token) {
108
+ const type = PromptsType.instructions;
109
+ const enabled = true;
110
+ const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
111
+ const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
112
+ const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
113
+ const files = ( discoveryInfo.files.filter(f => basename(f.uri) !== COPILOT_CUSTOM_INSTRUCTIONS_FILENAME).map(convertDiscoveryResultToFileStatus));
114
+ return {
115
+ type,
116
+ paths,
117
+ files,
118
+ enabled
119
+ };
120
+ }
121
+ async function collectPromptsStatus(promptsService, fileService, token) {
122
+ const type = PromptsType.prompt;
123
+ const enabled = true;
124
+ const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
125
+ const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
126
+ const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
127
+ const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
128
+ return {
129
+ type,
130
+ paths,
131
+ files,
132
+ enabled
133
+ };
134
+ }
135
+ async function collectSkillsStatus(promptsService, configurationService, fileService, token) {
136
+ const type = PromptsType.skill;
137
+ const enabled = configurationService.getValue(PromptsConfig.USE_AGENT_SKILLS) ?? false;
138
+ const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
139
+ const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
140
+ const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
141
+ const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
142
+ return {
143
+ type,
144
+ paths,
145
+ files,
146
+ enabled
147
+ };
148
+ }
149
+ async function collectSpecialFilesStatus(promptsService, configurationService, token) {
150
+ const useAgentMd = configurationService.getValue(PromptsConfig.USE_AGENT_MD) ?? false;
151
+ let agentMdFiles = [];
152
+ if (useAgentMd) {
153
+ agentMdFiles = await promptsService.listAgentMDs(token, false);
154
+ }
155
+ const useCopilotInstructions = configurationService.getValue(PromptsConfig.USE_COPILOT_INSTRUCTION_FILES) ?? false;
156
+ let copilotInstructionsFiles = [];
157
+ if (useCopilotInstructions) {
158
+ copilotInstructionsFiles = await promptsService.listCopilotInstructionsMDs(token);
159
+ }
160
+ return {
161
+ agentsMd: {
162
+ enabled: useAgentMd,
163
+ files: agentMdFiles
164
+ },
165
+ copilotInstructions: {
166
+ enabled: useCopilotInstructions,
167
+ files: copilotInstructionsFiles
168
+ }
169
+ };
170
+ }
171
+ async function checkDirectoryExists(fileService, uri) {
172
+ try {
173
+ const stat = await fileService.stat(uri);
174
+ return stat.isDirectory;
175
+ } catch {
176
+ return false;
177
+ }
178
+ }
179
+ async function convertResolvedFoldersToPathInfo(resolvedFolders, fileService) {
180
+ const paths = [];
181
+ let scanOrder = 1;
182
+ for (const folder of resolvedFolders) {
183
+ const exists = await checkDirectoryExists(fileService, folder.uri);
184
+ paths.push({
185
+ uri: folder.uri,
186
+ exists,
187
+ storage: folder.storage,
188
+ scanOrder: scanOrder++,
189
+ displayPath: folder.displayPath ?? folder.uri.path,
190
+ isDefault: folder.isDefault ?? false
191
+ });
192
+ }
193
+ return paths;
194
+ }
195
+ function getSkipReasonMessage(skipReason, errorMessage) {
196
+ switch (skipReason) {
197
+ case "missing-name":
198
+ return localize(4744, "Missing name attribute");
199
+ case "missing-description":
200
+ return localize(4745, "Missing description attribute");
201
+ case "name-mismatch":
202
+ return errorMessage ?? ( localize(4746, "Name does not match folder"));
203
+ case "duplicate-name":
204
+ return localize(4747, "Overwritten by higher priority file");
205
+ case "parse-error":
206
+ return errorMessage ?? ( localize(4748, "Parse error"));
207
+ case "disabled":
208
+ return localize(4749, "Disabled");
209
+ default:
210
+ return errorMessage ?? ( localize(4750, "Unknown error"));
211
+ }
212
+ }
213
+ function convertDiscoveryResultToFileStatus(result) {
214
+ if (result.status === "loaded") {
215
+ return {
216
+ uri: result.uri,
217
+ status: "loaded",
218
+ name: result.name,
219
+ storage: result.storage,
220
+ extensionId: result.extensionId
221
+ };
222
+ }
223
+ if (result.skipReason === "duplicate-name" && result.duplicateOf) {
224
+ return {
225
+ uri: result.uri,
226
+ status: "overwritten",
227
+ name: result.name,
228
+ storage: result.storage,
229
+ overwrittenBy: result.name,
230
+ extensionId: result.extensionId
231
+ };
232
+ }
233
+ return {
234
+ uri: result.uri,
235
+ status: "skipped",
236
+ name: result.name,
237
+ reason: getSkipReasonMessage(result.skipReason, result.errorMessage),
238
+ storage: result.storage,
239
+ extensionId: result.extensionId
240
+ };
241
+ }
242
+ function formatStatusOutput(statusInfos, specialFiles, workspaceFolders) {
243
+ const lines = [];
244
+ lines.push(`## ${( localize(4751, "Chat Customization Diagnostics"))}`);
245
+ lines.push(`*${( localize(4752, "WARNING: This file may contain sensitive information."))}*`);
246
+ lines.push("");
247
+ for (const info of statusInfos) {
248
+ const typeName = getTypeName(info.type);
249
+ if (info.type === PromptsType.skill && !info.enabled) {
250
+ lines.push(`**${typeName}**`);
251
+ lines.push(`*${( localize(
252
+ 4753,
253
+ "Skills are disabled. Enable them by setting `chat.useAgentSkills` to `true` in your settings."
254
+ ))}*`);
255
+ lines.push("");
256
+ continue;
257
+ }
258
+ const enabledStatus = info.enabled ? "" : ` *(${( localize(4754, "disabled"))})*`;
259
+ let loadedCount = info.files.filter(f => f.status === "loaded").length;
260
+ const skippedCount = info.files.filter(f => f.status === "skipped" || f.status === "overwritten").length;
261
+ if (info.type === PromptsType.instructions) {
262
+ if (specialFiles.agentsMd.enabled) {
263
+ loadedCount += specialFiles.agentsMd.files.length;
264
+ }
265
+ if (specialFiles.copilotInstructions.enabled) {
266
+ loadedCount += specialFiles.copilotInstructions.files.length;
267
+ }
268
+ }
269
+ lines.push(`**${typeName}**${enabledStatus}<br>`);
270
+ const statsParts = [];
271
+ if (loadedCount > 0) {
272
+ if (info.type === PromptsType.skill) {
273
+ statsParts.push(loadedCount === 1 ? ( localize(4755, "1 skill loaded")) : ( localize(4756, "{0} skills loaded", loadedCount)));
274
+ } else {
275
+ statsParts.push(loadedCount === 1 ? ( localize(4757, "1 file loaded")) : ( localize(4758, "{0} files loaded", loadedCount)));
276
+ }
277
+ }
278
+ if (skippedCount > 0) {
279
+ statsParts.push(( localize(4759, "{0} skipped", skippedCount)));
280
+ }
281
+ if (statsParts.length > 0) {
282
+ lines.push(`*${statsParts.join(", ")}*`);
283
+ }
284
+ lines.push("");
285
+ const allPaths = info.paths;
286
+ const allFiles = info.files;
287
+ const filesByPath = ( new Map());
288
+ const unmatchedFiles = [];
289
+ for (const file of allFiles) {
290
+ let matched = false;
291
+ for (const path of allPaths) {
292
+ if (isFileUnderPath(file.uri, path.uri)) {
293
+ const key = ( path.uri.toString());
294
+ if (!( filesByPath.has(key))) {
295
+ filesByPath.set(key, []);
296
+ }
297
+ filesByPath.get(key).push(file);
298
+ matched = true;
299
+ break;
300
+ }
301
+ }
302
+ if (!matched) {
303
+ unmatchedFiles.push(file);
304
+ }
305
+ }
306
+ let hasContent = false;
307
+ for (const path of allPaths) {
308
+ const pathFiles = filesByPath.get(( path.uri.toString())) || [];
309
+ if (path.exists) {
310
+ lines.push(`${path.displayPath}<br>`);
311
+ } else if (path.isDefault) {
312
+ lines.push(`${path.displayPath}<br>`);
313
+ } else {
314
+ lines.push(`${ICON_ERROR} ${path.displayPath} - *${( localize(4760, "Folder does not exist"))}*<br>`);
315
+ }
316
+ if (path.exists && pathFiles.length > 0) {
317
+ for (let i = 0; i < pathFiles.length; i++) {
318
+ const file = pathFiles[i];
319
+ let fileName;
320
+ if (info.type === PromptsType.skill) {
321
+ fileName = file.name || `${basename(dirname(file.uri))}`;
322
+ } else {
323
+ fileName = basename(file.uri);
324
+ }
325
+ const isLast = i === pathFiles.length - 1;
326
+ const prefix = isLast ? TREE_END : TREE_BRANCH;
327
+ const filePath = getRelativePath(file.uri, workspaceFolders);
328
+ if (file.status === "loaded") {
329
+ lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
330
+ } else if (file.status === "overwritten") {
331
+ lines.push(`${prefix} ${ICON_WARN} [\`${fileName}\`](${filePath}) - *${( localize(4747, "Overwritten by higher priority file"))}*<br>`);
332
+ } else {
333
+ lines.push(
334
+ `${prefix} ${ICON_ERROR} [\`${fileName}\`](${filePath}) - *${file.reason}*<br>`
335
+ );
336
+ }
337
+ }
338
+ }
339
+ hasContent = true;
340
+ }
341
+ if (unmatchedFiles.length > 0) {
342
+ const filesByExtension = ( new Map());
343
+ for (const file of unmatchedFiles) {
344
+ const extId = file.extensionId || "unknown";
345
+ if (!( filesByExtension.has(extId))) {
346
+ filesByExtension.set(extId, []);
347
+ }
348
+ filesByExtension.get(extId).push(file);
349
+ }
350
+ for (const [extId, extFiles] of filesByExtension) {
351
+ lines.push(`${( localize(4761, "Extension"))}: ${extId}<br>`);
352
+ for (let i = 0; i < extFiles.length; i++) {
353
+ const file = extFiles[i];
354
+ let fileName;
355
+ if (info.type === PromptsType.skill) {
356
+ fileName = file.name || `${basename(dirname(file.uri))}`;
357
+ } else {
358
+ fileName = basename(file.uri);
359
+ }
360
+ const isLast = i === extFiles.length - 1;
361
+ const prefix = isLast ? TREE_END : TREE_BRANCH;
362
+ const filePath = getRelativePath(file.uri, workspaceFolders);
363
+ if (file.status === "loaded") {
364
+ lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
365
+ } else if (file.status === "overwritten") {
366
+ lines.push(`${prefix} ${ICON_WARN} [\`${fileName}\`](${filePath}) - *${( localize(4747, "Overwritten by higher priority file"))}*<br>`);
367
+ } else {
368
+ lines.push(
369
+ `${prefix} ${ICON_ERROR} [\`${fileName}\`](${filePath}) - *${file.reason}*<br>`
370
+ );
371
+ }
372
+ }
373
+ }
374
+ hasContent = true;
375
+ }
376
+ if (info.type === PromptsType.instructions) {
377
+ if (specialFiles.agentsMd.enabled && specialFiles.agentsMd.files.length > 0) {
378
+ lines.push(`AGENTS.md<br>`);
379
+ for (let i = 0; i < specialFiles.agentsMd.files.length; i++) {
380
+ const file = specialFiles.agentsMd.files[i];
381
+ const fileName = basename(file);
382
+ const isLast = i === specialFiles.agentsMd.files.length - 1;
383
+ const prefix = isLast ? TREE_END : TREE_BRANCH;
384
+ const filePath = getRelativePath(file, workspaceFolders);
385
+ lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
386
+ }
387
+ hasContent = true;
388
+ } else if (!specialFiles.agentsMd.enabled) {
389
+ lines.push(`AGENTS.md -<br>`);
390
+ hasContent = true;
391
+ }
392
+ if (specialFiles.copilotInstructions.enabled && specialFiles.copilotInstructions.files.length > 0) {
393
+ lines.push(`${COPILOT_CUSTOM_INSTRUCTIONS_FILENAME}<br>`);
394
+ for (let i = 0; i < specialFiles.copilotInstructions.files.length; i++) {
395
+ const file = specialFiles.copilotInstructions.files[i];
396
+ const fileName = basename(file);
397
+ const isLast = i === specialFiles.copilotInstructions.files.length - 1;
398
+ const prefix = isLast ? TREE_END : TREE_BRANCH;
399
+ const filePath = getRelativePath(file, workspaceFolders);
400
+ lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
401
+ }
402
+ hasContent = true;
403
+ } else if (!specialFiles.copilotInstructions.enabled) {
404
+ lines.push(`${COPILOT_CUSTOM_INSTRUCTIONS_FILENAME} -<br>`);
405
+ hasContent = true;
406
+ }
407
+ }
408
+ if (!hasContent && info.enabled) {
409
+ lines.push(`*${( localize(4762, "No files loaded"))}*`);
410
+ }
411
+ lines.push("");
412
+ }
413
+ return lines.join("\n");
414
+ }
415
+ function isFileUnderPath(fileUri, pathUri) {
416
+ const filePath = ( fileUri.toString());
417
+ const folderPath = ( pathUri.toString());
418
+ return filePath.startsWith(folderPath + "/") || filePath.startsWith(folderPath + "\\");
419
+ }
420
+ function getTypeName(type) {
421
+ switch (type) {
422
+ case PromptsType.agent:
423
+ return localize(4763, "Custom Agents");
424
+ case PromptsType.instructions:
425
+ return localize(4764, "Instructions");
426
+ case PromptsType.prompt:
427
+ return localize(4765, "Prompt Files");
428
+ case PromptsType.skill:
429
+ return localize(4766, "Skills");
430
+ default:
431
+ return type;
432
+ }
433
+ }
434
+
435
+ export { formatStatusOutput, registerChatCustomizationDiagnosticsAction };
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
3
+ import { URI, isUriComponents } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
3
4
  import { localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
5
  import { Categories } from '@codingame/monaco-vscode-api/vscode/vs/platform/action/common/actionCommonCategories';
5
6
  import { registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
@@ -8,17 +9,28 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
8
9
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
9
10
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
10
11
 
12
+ function uriReplacer(_key, value) {
13
+ if (URI.isUri(value)) {
14
+ return ( value.toString());
15
+ }
16
+ if (isUriComponents(value)) {
17
+ return ( ( URI.from(value)).toString());
18
+ }
19
+ return value;
20
+ }
11
21
  function registerChatDeveloperActions() {
12
22
  registerAction2(LogChatInputHistoryAction);
13
23
  registerAction2(LogChatIndexAction);
14
24
  registerAction2(InspectChatModelAction);
15
25
  }
16
26
  class LogChatInputHistoryAction extends Action2 {
17
- static { this.ID = 'workbench.action.chat.logInputHistory'; }
27
+ static {
28
+ this.ID = "workbench.action.chat.logInputHistory";
29
+ }
18
30
  constructor() {
19
31
  super({
20
32
  id: LogChatInputHistoryAction.ID,
21
- title: ( localize2(4732, "Log Chat Input History")),
33
+ title: ( localize2(4767, "Log Chat Input History")),
22
34
  icon: Codicon.attach,
23
35
  category: Categories.Developer,
24
36
  f1: true,
@@ -31,11 +43,13 @@ class LogChatInputHistoryAction extends Action2 {
31
43
  }
32
44
  }
33
45
  class LogChatIndexAction extends Action2 {
34
- static { this.ID = 'workbench.action.chat.logChatIndex'; }
46
+ static {
47
+ this.ID = "workbench.action.chat.logChatIndex";
48
+ }
35
49
  constructor() {
36
50
  super({
37
51
  id: LogChatIndexAction.ID,
38
- title: ( localize2(4733, "Log Chat Index")),
52
+ title: ( localize2(4768, "Log Chat Index")),
39
53
  icon: Codicon.attach,
40
54
  category: Categories.Developer,
41
55
  f1: true,
@@ -48,11 +62,13 @@ class LogChatIndexAction extends Action2 {
48
62
  }
49
63
  }
50
64
  class InspectChatModelAction extends Action2 {
51
- static { this.ID = 'workbench.action.chat.inspectChatModel'; }
65
+ static {
66
+ this.ID = "workbench.action.chat.inspectChatModel";
67
+ }
52
68
  constructor() {
53
69
  super({
54
70
  id: InspectChatModelAction.ID,
55
- title: ( localize2(4734, "Inspect Chat Model")),
71
+ title: ( localize2(4769, "Inspect Chat Model")),
56
72
  icon: Codicon.inspect,
57
73
  category: Categories.Developer,
58
74
  f1: true,
@@ -68,21 +84,21 @@ class InspectChatModelAction extends Action2 {
68
84
  }
69
85
  const model = widget.viewModel.model;
70
86
  const modelData = model.toJSON();
71
- let output = '# Chat Model Inspection\n\n';
87
+ let output = "# Chat Model Inspection\n\n";
72
88
  const requests = modelData.requests;
73
89
  if (requests && requests.length > 0) {
74
90
  const latestRequest = requests[requests.length - 1];
75
91
  if (latestRequest.response) {
76
- output += '## Latest Response\n\n';
77
- output += '```json\n' + JSON.stringify(latestRequest.response, null, 2) + '\n```\n\n';
92
+ output += "## Latest Response\n\n";
93
+ output += "```json\n" + JSON.stringify(latestRequest.response, uriReplacer, 2) + "\n```\n\n";
78
94
  }
79
95
  }
80
- output += '## Full Chat Model\n\n';
81
- output += '```json\n' + JSON.stringify(modelData, null, 2) + '\n```\n';
96
+ output += "## Full Chat Model\n\n";
97
+ output += "```json\n" + JSON.stringify(modelData, uriReplacer, 2) + "\n```\n";
82
98
  await editorService.openEditor({
83
99
  resource: undefined,
84
100
  contents: output,
85
- languageId: 'markdown',
101
+ languageId: "markdown",
86
102
  options: {
87
103
  pinned: true
88
104
  }
@@ -12,16 +12,16 @@ function registerChatFileTreeActions() {
12
12
  registerAction2(class NextFileTreeAction extends Action2 {
13
13
  constructor() {
14
14
  super({
15
- id: 'workbench.action.chat.nextFileTree',
16
- title: ( localize2(4760, "Next File Tree")),
15
+ id: "workbench.action.chat.nextFileTree",
16
+ title: ( localize2(4800, "Next File Tree")),
17
17
  keybinding: {
18
18
  primary: KeyMod.CtrlCmd | KeyCode.F9,
19
19
  weight: KeybindingWeight.WorkbenchContrib,
20
- when: ChatContextKeys.inChatSession,
20
+ when: ChatContextKeys.inChatSession
21
21
  },
22
22
  precondition: ChatContextKeys.enabled,
23
23
  f1: true,
24
- category: CHAT_CATEGORY,
24
+ category: CHAT_CATEGORY
25
25
  });
26
26
  }
27
27
  run(accessor, ...args) {
@@ -31,16 +31,16 @@ function registerChatFileTreeActions() {
31
31
  registerAction2(class PreviousFileTreeAction extends Action2 {
32
32
  constructor() {
33
33
  super({
34
- id: 'workbench.action.chat.previousFileTree',
35
- title: ( localize2(4761, "Previous File Tree")),
34
+ id: "workbench.action.chat.previousFileTree",
35
+ title: ( localize2(4801, "Previous File Tree")),
36
36
  keybinding: {
37
37
  primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F9,
38
38
  weight: KeybindingWeight.WorkbenchContrib,
39
- when: ChatContextKeys.inChatSession,
39
+ when: ChatContextKeys.inChatSession
40
40
  },
41
41
  precondition: ChatContextKeys.enabled,
42
42
  f1: true,
43
- category: CHAT_CATEGORY,
43
+ category: CHAT_CATEGORY
44
44
  });
45
45
  }
46
46
  run(accessor, ...args) {
@@ -56,16 +56,14 @@ function navigateTrees(accessor, reverse) {
56
56
  }
57
57
  const focused = !widget.inputEditor.hasWidgetFocus() && widget.getFocus();
58
58
  const focusedResponse = isResponseVM(focused) ? focused : undefined;
59
- const currentResponse = focusedResponse ?? widget.viewModel?.getItems().reverse().find((item) => isResponseVM(item));
59
+ const currentResponse = focusedResponse ?? widget.viewModel?.getItems().reverse().find(item => isResponseVM(item));
60
60
  if (!currentResponse) {
61
61
  return;
62
62
  }
63
63
  widget.reveal(currentResponse);
64
64
  const responseFileTrees = widget.getFileTreeInfosForResponse(currentResponse);
65
65
  const lastFocusedFileTree = widget.getLastFocusedFileTreeForResponse(currentResponse);
66
- const focusIdx = lastFocusedFileTree ?
67
- (lastFocusedFileTree.treeIndex + (reverse ? -1 : 1) + responseFileTrees.length) % responseFileTrees.length :
68
- reverse ? responseFileTrees.length - 1 : 0;
66
+ const focusIdx = lastFocusedFileTree ? (lastFocusedFileTree.treeIndex + (reverse ? -1 : 1) + responseFileTrees.length) % responseFileTrees.length : reverse ? responseFileTrees.length - 1 : 0;
69
67
  responseFileTrees[focusIdx]?.focus();
70
68
  }
71
69
 
@@ -5,16 +5,18 @@ import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbe
5
5
  import { IExtensionManagementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagement.service";
6
6
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
7
7
  import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
8
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
8
9
  export declare class ChatGettingStartedContribution extends Disposable implements IWorkbenchContribution {
9
10
  private readonly productService;
10
11
  private readonly extensionService;
11
12
  private readonly extensionManagementService;
12
13
  private readonly storageService;
13
14
  private readonly chatWidgetService;
15
+ private readonly configurationService;
14
16
  static readonly ID = "workbench.contrib.chatGettingStarted";
15
17
  private recentlyInstalled;
16
18
  private static readonly hideWelcomeView;
17
- constructor(productService: IProductService, extensionService: IExtensionService, extensionManagementService: IExtensionManagementService, storageService: IStorageService, chatWidgetService: IChatWidgetService);
19
+ constructor(productService: IProductService, extensionService: IExtensionService, extensionManagementService: IExtensionManagementService, storageService: IStorageService, chatWidgetService: IChatWidgetService, configurationService: IConfigurationService);
18
20
  private registerListeners;
19
21
  private onDidInstallChat;
20
22
  }