@codingame/monaco-vscode-chat-service-override 26.2.1 → 27.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/index.js +31 -1
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
  4. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
  5. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
  6. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +39 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +83 -0
  8. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
  9. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +274 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +71 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +284 -0
  12. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +79 -0
  13. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +378 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  15. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +84 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +1 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -29
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +16 -16
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +33 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +204 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +77 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +541 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -65
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +48 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +19 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +181 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +943 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +248 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +57 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +27 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +118 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +727 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +72 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +623 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +858 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +19 -3
  93. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +529 -363
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +305 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +111 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +58 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +429 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +45 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +781 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +5 -22
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +15 -7
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +15 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +351 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +182 -13
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +892 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +55 -25
  174. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  175. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  177. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  183. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +27 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +102 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +16 -1
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +69 -47
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +2 -41
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +7 -7
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +43 -31
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +67 -42
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +10 -10
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +64 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +42 -8
  223. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  224. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +58 -31
  225. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  226. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -20
  227. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  228. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +39 -0
  229. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +27 -0
  230. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  231. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  232. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +36 -0
  233. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +188 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +18 -8
  235. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +192 -85
  236. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +2 -1
  237. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -1
  238. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  239. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  240. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +8 -4
  241. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +111 -7
  242. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +2 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +52 -0
  244. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  245. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +73 -0
  246. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +622 -0
  247. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +64 -0
  248. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +478 -0
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +1 -30
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -5
  252. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +2 -8
  253. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +8 -8
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +23 -22
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +44 -14
  258. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +345 -113
  259. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +14 -1
  260. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -24
  261. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  262. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  263. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  264. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +11 -5
  265. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +23 -0
  266. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +248 -24
  267. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  268. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  269. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  270. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  271. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  272. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  273. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  274. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  275. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  276. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +5 -6
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +9 -0
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +280 -65
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +1 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +47 -19
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +38 -16
  311. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  312. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  313. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  314. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
@@ -7,6 +7,8 @@ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode
7
7
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
8
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
9
  import { AccessibleViewType, AccessibleViewProviderId } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView';
10
+ import { StorageScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
11
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
10
12
  import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
11
13
  import { migrateLegacyTerminalToolSpecificData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chat';
12
14
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
@@ -24,6 +26,7 @@ class ChatResponseAccessibleView {
24
26
  }
25
27
  getProvider(accessor) {
26
28
  const widgetService = accessor.get(IChatWidgetService);
29
+ const storageService = accessor.get(IStorageService);
27
30
  const widget = widgetService.lastFocusedWidget;
28
31
  if (!widget) {
29
32
  return;
@@ -33,13 +36,30 @@ class ChatResponseAccessibleView {
33
36
  widget.focusResponseItem();
34
37
  }
35
38
  const verifiedWidget = widget;
36
- const focusedItem = verifiedWidget.getFocus();
37
- if (!focusedItem) {
39
+ let focusedItem = verifiedWidget.getFocus();
40
+ if (!focusedItem || !isResponseVM(focusedItem)) {
41
+ const responseItems = verifiedWidget.viewModel?.getItems().filter(isResponseVM);
42
+ const lastResponse = responseItems?.at(-1);
43
+ if (lastResponse) {
44
+ focusedItem = lastResponse;
45
+ verifiedWidget.focus(lastResponse);
46
+ }
47
+ }
48
+ if (!focusedItem || !isResponseVM(focusedItem)) {
38
49
  return;
39
50
  }
40
- return ( new ChatResponseAccessibleProvider(verifiedWidget, focusedItem, chatInputFocused));
51
+ return ( new ChatResponseAccessibleProvider(verifiedWidget, focusedItem, chatInputFocused, storageService));
41
52
  }
42
53
  }
54
+ const CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_STORAGE_KEY = "chat.accessibleView.includeThinking";
55
+ const CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_DEFAULT = true;
56
+ function isThinkingContentIncludedInAccessibleView(storageService) {
57
+ return storageService.getBoolean(
58
+ CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_STORAGE_KEY,
59
+ StorageScope.PROFILE,
60
+ CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_DEFAULT
61
+ );
62
+ }
43
63
  function isOutputDetailsSerialized(obj) {
44
64
  return typeof obj === "object" && obj !== null && "output" in obj && typeof obj.output === "object" && obj.output?.type === "data" && typeof obj.output?.base64Data === "string";
45
65
  }
@@ -56,31 +76,52 @@ function getToolSpecificDataDescription(toolSpecificData) {
56
76
  {
57
77
  const parts = [];
58
78
  if (toolSpecificData.agentName) {
59
- parts.push(( localize(4601, "Agent: {0}", toolSpecificData.agentName)));
79
+ parts.push(( localize(4688, "Agent: {0}", toolSpecificData.agentName)));
60
80
  }
61
81
  if (toolSpecificData.description) {
62
82
  parts.push(toolSpecificData.description);
63
83
  }
64
84
  if (toolSpecificData.prompt) {
65
- parts.push(( localize(4602, "Task: {0}", toolSpecificData.prompt)));
85
+ parts.push(( localize(4689, "Task: {0}", toolSpecificData.prompt)));
66
86
  }
67
87
  return parts.join(". ") || "";
68
88
  }
69
89
  case "extensions":
70
- return toolSpecificData.extensions.length > 0 ? ( localize(4603, "Extensions: {0}", toolSpecificData.extensions.join(", "))) : "";
90
+ return toolSpecificData.extensions.length > 0 ? ( localize(4690, "Extensions: {0}", toolSpecificData.extensions.join(", "))) : "";
71
91
  case "todoList":
72
92
  {
73
93
  const todos = toolSpecificData.todoList;
74
94
  if (todos.length === 0) {
75
95
  return "";
76
96
  }
77
- const todoDescriptions = ( todos.map(t => ( localize(4604, "{0} ({1})", t.title, t.status))));
78
- return localize(4605, "{0} items: {1}", todos.length, todoDescriptions.join("; "));
97
+ const todoDescriptions = ( todos.map(t => ( localize(4691, "{0} ({1})", t.title, t.status))));
98
+ return localize(4692, "{0} items: {1}", todos.length, todoDescriptions.join("; "));
79
99
  }
80
100
  case "pullRequest":
81
- return localize(4606, "PR: {0} by {1}", toolSpecificData.title, toolSpecificData.author);
101
+ return localize(4693, "PR: {0} by {1}", toolSpecificData.title, toolSpecificData.author);
82
102
  case "input":
83
103
  return typeof toolSpecificData.rawInput === "string" ? toolSpecificData.rawInput : JSON.stringify(toolSpecificData.rawInput);
104
+ case "resources":
105
+ {
106
+ const values = toolSpecificData.values;
107
+ if (values.length === 0) {
108
+ return "";
109
+ }
110
+ const paths = ( values.map(v => {
111
+ if ("uri" in v && "range" in v) {
112
+ return `${v.uri.fsPath || v.uri.path}:${v.range.startLineNumber}`;
113
+ } else {
114
+ return v.fsPath || v.path;
115
+ }
116
+ })).join(", ");
117
+ return localize(4694, "Resources: {0}", paths);
118
+ }
119
+ case "simpleToolInvocation":
120
+ {
121
+ const inputText = toolSpecificData.input;
122
+ const outputText = toolSpecificData.output;
123
+ return localize(4695, "Input: {0}, Output: {1}", inputText, outputText);
124
+ }
84
125
  default:
85
126
  return "";
86
127
  }
@@ -108,12 +149,12 @@ function getResultDetailsDescription(resultDetails) {
108
149
  }
109
150
  if (isOutputDetailsSerialized(resultDetails)) {
110
151
  return {
111
- input: ( localize(4607, "{0} data", resultDetails.output.mimeType))
152
+ input: ( localize(4696, "{0} data", resultDetails.output.mimeType))
112
153
  };
113
154
  }
114
155
  if (isToolResultOutputDetails(resultDetails)) {
115
156
  return {
116
- input: ( localize(4607, "{0} data", resultDetails.output.mimeType))
157
+ input: ( localize(4696, "{0} data", resultDetails.output.mimeType))
117
158
  };
118
159
  }
119
160
  return {};
@@ -137,23 +178,25 @@ function getToolInvocationA11yDescription(
137
178
  if (isComplete && resultDetails) {
138
179
  const details = getResultDetailsDescription(resultDetails);
139
180
  if (details.isError) {
140
- parts.unshift(( localize(4608, "Errored")));
181
+ parts.unshift(( localize(4697, "Errored")));
141
182
  }
142
183
  if (details.input && !toolDataDesc) {
143
- parts.push(( localize(4609, "Input: {0}", details.input)));
184
+ parts.push(( localize(4698, "Input: {0}", details.input)));
144
185
  }
145
186
  if (details.files && details.files.length > 0) {
146
- parts.push(( localize(4610, "Files: {0}", details.files.join(", "))));
187
+ parts.push(( localize(4699, "Files: {0}", details.files.join(", "))));
147
188
  }
148
189
  }
149
190
  return parts.join(". ");
150
191
  }
151
192
  class ChatResponseAccessibleProvider extends Disposable {
152
- constructor(_widget, item, _wasOpenedFromInput) {
193
+ constructor(_widget, item, _wasOpenedFromInput, _storageService) {
153
194
  super();
154
195
  this._widget = _widget;
155
196
  this._wasOpenedFromInput = _wasOpenedFromInput;
197
+ this._storageService = _storageService;
156
198
  this._focusedItemDisposables = this._register(( new DisposableStore()));
199
+ this._storageDisposables = this._register(( new DisposableStore()));
157
200
  this._onDidChangeContent = this._register(( new Emitter()));
158
201
  this.onDidChangeContent = this._onDidChangeContent.event;
159
202
  this.id = AccessibleViewProviderId.PanelChat;
@@ -161,6 +204,13 @@ class ChatResponseAccessibleProvider extends Disposable {
161
204
  this.options = {
162
205
  type: AccessibleViewType.View
163
206
  };
207
+ this._storageDisposables.add(this._storageService.onDidChangeValue(
208
+ StorageScope.PROFILE,
209
+ CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_STORAGE_KEY,
210
+ this._storageDisposables
211
+ )(() => {
212
+ this._onDidChangeContent.fire();
213
+ }));
164
214
  this._setFocusedItem(item);
165
215
  }
166
216
  provideContent() {
@@ -190,10 +240,13 @@ class ChatResponseAccessibleProvider extends Disposable {
190
240
  switch (part.kind) {
191
241
  case "thinking":
192
242
  {
243
+ if (!this._shouldIncludeThinkingContent()) {
244
+ break;
245
+ }
193
246
  const thinkingValue = Array.isArray(part.value) ? part.value.join("") : (part.value || "");
194
247
  const trimmed = thinkingValue.trim();
195
248
  if (trimmed) {
196
- contentParts.push(( localize(4611, "Thinking: {0}", trimmed)));
249
+ contentParts.push(( localize(4700, "Thinking: {0}", trimmed)));
197
250
  }
198
251
  break;
199
252
  }
@@ -250,7 +303,7 @@ class ChatResponseAccessibleProvider extends Disposable {
250
303
  contentParts.push(toolContent);
251
304
  } else if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
252
305
  const postApprovalDetails = isToolResultInputOutputDetails(state.resultDetails) ? state.resultDetails.input : isToolResultOutputDetails(state.resultDetails) ? undefined : toolContentToA11yString(state.contentForModel);
253
- contentParts.push(( localize(4612, "Approve results of {0}? Result: ", part.toolId)) + (postApprovalDetails ?? ""));
306
+ contentParts.push(( localize(4701, "Approve results of {0}? Result: ", part.toolId)) + (postApprovalDetails ?? ""));
254
307
  } else {
255
308
  const resultDetails = IChatToolInvocation.resultDetails(part);
256
309
  const isComplete = IChatToolInvocation.isComplete(part);
@@ -296,6 +349,9 @@ class ChatResponseAccessibleProvider extends Disposable {
296
349
  }
297
350
  return normalized.join("\n");
298
351
  }
352
+ _shouldIncludeThinkingContent() {
353
+ return isThinkingContentIncludedInAccessibleView(this._storageService);
354
+ }
299
355
  onClose() {
300
356
  this._widget.reveal(this._focusedItem);
301
357
  if (this._wasOpenedFromInput) {
@@ -322,4 +378,4 @@ class ChatResponseAccessibleProvider extends Disposable {
322
378
  }
323
379
  }
324
380
 
325
- export { ChatResponseAccessibleView, getResultDetailsDescription, getToolInvocationA11yDescription, getToolSpecificDataDescription };
381
+ export { CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_STORAGE_KEY, ChatResponseAccessibleView, getResultDetailsDescription, getToolInvocationA11yDescription, getToolSpecificDataDescription, isThinkingContentIncludedInAccessibleView };
@@ -1,2 +1,3 @@
1
1
  export declare const ACTION_ID_FOCUS_CHAT_CONFIRMATION = "workbench.action.chat.focusConfirmation";
2
+ export declare const ACTION_ID_TOGGLE_THINKING_CONTENT_ACCESSIBLE_VIEW = "workbench.action.chat.toggleThinkingContentAccessibleView";
2
3
  export declare function registerChatAccessibilityActions(): void;
@@ -4,22 +4,29 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
4
  import { Action2, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
5
5
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
6
6
  import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
7
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
8
+ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
9
+ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
7
10
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
8
11
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
9
12
  import { isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
13
+ import { AccessibleViewProviderId } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView';
10
14
  import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility';
15
+ import { accessibleViewIsShown, accessibleViewCurrentProviderId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
16
+ import { isThinkingContentIncludedInAccessibleView, CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_STORAGE_KEY } from '../accessibility/chatResponseAccessibleView.js';
11
17
 
12
18
  const ACTION_ID_FOCUS_CHAT_CONFIRMATION = "workbench.action.chat.focusConfirmation";
19
+ const ACTION_ID_TOGGLE_THINKING_CONTENT_ACCESSIBLE_VIEW = "workbench.action.chat.toggleThinkingContentAccessibleView";
13
20
  class AnnounceChatConfirmationAction extends Action2 {
14
21
  constructor() {
15
22
  super({
16
23
  id: ACTION_ID_FOCUS_CHAT_CONFIRMATION,
17
24
  title: {
18
- value: ( localize(4613, "Focus Chat Confirmation")),
25
+ value: ( localize(4702, "Focus Chat Confirmation")),
19
26
  original: "Focus Chat Confirmation"
20
27
  },
21
28
  category: {
22
- value: ( localize(4614, "Chat")),
29
+ value: ( localize(4703, "Chat")),
23
30
  original: "Chat"
24
31
  },
25
32
  precondition: ChatContextKeys.enabled,
@@ -27,7 +34,7 @@ class AnnounceChatConfirmationAction extends Action2 {
27
34
  keybinding: {
28
35
  weight: KeybindingWeight.WorkbenchContrib,
29
36
  primary: KeyMod.CtrlCmd | KeyCode.KeyA | KeyMod.Shift,
30
- when: CONTEXT_ACCESSIBILITY_MODE_ENABLED
37
+ when: ( ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED, ( ChatContextKeys.Editing.hasQuestionCarousel.negate())))
31
38
  }
32
39
  });
33
40
  }
@@ -35,12 +42,12 @@ class AnnounceChatConfirmationAction extends Action2 {
35
42
  const chatWidgetService = accessor.get(IChatWidgetService);
36
43
  const pendingWidget = chatWidgetService.getAllWidgets().find(widget => widget.viewModel?.model.requestNeedsInput.get());
37
44
  if (!pendingWidget) {
38
- alert(( localize(4615, "No active chat session found.")));
45
+ alert(( localize(4704, "No active chat session found.")));
39
46
  return;
40
47
  }
41
48
  const viewModel = pendingWidget.viewModel;
42
49
  if (!viewModel) {
43
- alert(( localize(4616, "Chat interface not ready.")));
50
+ alert(( localize(4705, "Chat interface not ready.")));
44
51
  return;
45
52
  }
46
53
  let firstConfirmationElement;
@@ -52,14 +59,53 @@ class AnnounceChatConfirmationAction extends Action2 {
52
59
  }
53
60
  }
54
61
  if (firstConfirmationElement) {
55
- firstConfirmationElement.focus();
62
+ if (firstConfirmationElement.contains(pendingWidget.domNode.ownerDocument.activeElement)) {
63
+ pendingWidget.focusInput();
64
+ } else {
65
+ firstConfirmationElement.focus();
66
+ }
56
67
  } else {
57
- alert(( localize(4617, "No chat confirmation required")));
68
+ alert(( localize(4706, "No chat confirmation required")));
58
69
  }
59
70
  }
60
71
  }
72
+ class ToggleThinkingContentAccessibleViewAction extends Action2 {
73
+ constructor() {
74
+ super({
75
+ id: ACTION_ID_TOGGLE_THINKING_CONTENT_ACCESSIBLE_VIEW,
76
+ title: {
77
+ value: ( localize(4707, "Toggle Thinking Content in Accessible View")),
78
+ original: "Toggle Thinking Content in Accessible View"
79
+ },
80
+ category: {
81
+ value: ( localize(4703, "Chat")),
82
+ original: "Chat"
83
+ },
84
+ precondition: ChatContextKeys.enabled,
85
+ f1: true,
86
+ keybinding: {
87
+ primary: KeyMod.Alt | KeyCode.KeyT,
88
+ weight: KeybindingWeight.WorkbenchContrib,
89
+ when: ( ContextKeyExpr.and(accessibleViewIsShown, ( ContextKeyExpr.equals(accessibleViewCurrentProviderId.key, AccessibleViewProviderId.PanelChat))))
90
+ }
91
+ });
92
+ }
93
+ async run(accessor) {
94
+ const storageService = accessor.get(IStorageService);
95
+ const includeThinking = isThinkingContentIncludedInAccessibleView(storageService);
96
+ const updatedValue = !includeThinking;
97
+ storageService.store(
98
+ CHAT_ACCESSIBLE_VIEW_INCLUDE_THINKING_STORAGE_KEY,
99
+ updatedValue,
100
+ StorageScope.PROFILE,
101
+ StorageTarget.USER
102
+ );
103
+ alert(updatedValue ? ( localize(4708, "Thinking content will be included in the accessible view.")) : ( localize(4709, "Thinking content will be hidden from the accessible view.")));
104
+ }
105
+ }
61
106
  function registerChatAccessibilityActions() {
62
107
  registerAction2(AnnounceChatConfirmationAction);
108
+ registerAction2(ToggleThinkingContentAccessibleViewAction);
63
109
  }
64
110
 
65
- export { ACTION_ID_FOCUS_CHAT_CONFIRMATION, registerChatAccessibilityActions };
111
+ export { ACTION_ID_FOCUS_CHAT_CONFIRMATION, ACTION_ID_TOGGLE_THINKING_CONTENT_ACCESSIBLE_VIEW, registerChatAccessibilityActions };
@@ -70,192 +70,226 @@ function getAccessibilityHelpText(type, keybindingService) {
70
70
  if (type === "panelChat" || type === "quickChat" || type === "agentView") {
71
71
  if (type === "quickChat") {
72
72
  content.push(( localize(
73
- 4618,
73
+ 4710,
74
74
  "The quick chat view is comprised of an input box and a request/response list. The input box is used to make requests and the list is used to display responses."
75
75
  )));
76
76
  content.push(( localize(
77
- 4619,
77
+ 4711,
78
78
  "The quick chat view is a transient interface for making and viewing requests, while the panel chat view is a persistent interface that also supports navigating suggested follow-up questions."
79
79
  )));
80
80
  } else {
81
81
  content.push(( localize(
82
- 4620,
82
+ 4712,
83
83
  "The chat view is a persistent interface that also supports navigating suggested follow-up questions, while the quick chat view is a transient interface for making and viewing requests."
84
84
  )));
85
85
  content.push(( localize(
86
- 4621,
86
+ 4713,
87
87
  "To create a new chat session, invoke the New Chat command{0}.",
88
88
  "<keybinding:workbench.action.chat.newChat>"
89
89
  )));
90
90
  content.push(( localize(
91
- 4622,
91
+ 4714,
92
92
  "To view all chat sessions, invoke the Show Chats command{0}.",
93
93
  "<keybinding:workbench.action.chat.history>"
94
94
  )));
95
95
  content.push(( localize(
96
- 4623,
96
+ 4715,
97
97
  "You can focus the agent sessions list by invoking the Focus Agent Sessions command{0}.",
98
98
  `<keybinding:${FocusAgentSessionsAction.id}>`
99
99
  )));
100
100
  }
101
101
  content.push(( localize(
102
- 4624,
102
+ 4716,
103
103
  "In the input box, use up and down arrows to navigate your request history. Edit input and use enter or the submit button to run a new request."
104
104
  )));
105
105
  content.push(( localize(
106
- 4625,
106
+ 4717,
107
107
  "To remove attached contexts, focus an attachment and press Delete or Backspace."
108
108
  )));
109
109
  content.push(( localize(
110
- 4626,
111
- "In the input box, inspect the last response in the accessible view{0}. Thinking content is included in order.",
110
+ 4718,
111
+ "In the input box, inspect the last response in the accessible view{0}. Thinking content is included in order by default.",
112
112
  "<keybinding:editor.action.accessibleView>"
113
113
  )));
114
114
  content.push(( localize(
115
- 4627,
115
+ 4719,
116
+ "To include or exclude thinking content in the accessible view, run the Toggle Thinking Content in Accessible View command from the Command Palette."
117
+ )));
118
+ content.push(( localize(
119
+ 4720,
116
120
  "To focus the chat request and response list, invoke the Focus Chat command{0}. This will move focus to the most recent response, which you can then navigate using the up and down arrow keys.",
117
121
  getChatFocusKeybindingLabel(keybindingService, type, "last")
118
122
  )));
119
123
  content.push(( localize(
120
- 4628,
124
+ 4721,
121
125
  "To return to the last chat response you focused, invoke the Focus Last Focused Chat Response command{0}.",
122
126
  getChatFocusKeybindingLabel(keybindingService, type, "lastFocused")
123
127
  )));
124
128
  content.push(( localize(
125
- 4629,
129
+ 4722,
126
130
  "To focus the input box for chat requests, invoke the Focus Chat Input command{0}.",
127
131
  getChatFocusKeybindingLabel(keybindingService, type, "input")
128
132
  )));
129
133
  content.push(( localize(
130
- 4630,
134
+ 4723,
131
135
  "As the chat request is being processed, you will hear verbose progress updates if the request takes more than 4 seconds. This includes information like searched text for <search term> with X results, created file <file_name>, or read file <file path>. This can be disabled with accessibility.verboseChatProgressUpdates."
132
136
  )));
133
137
  content.push(( localize(
134
- 4631,
138
+ 4724,
135
139
  "Chat responses will be announced as they come in. A response will indicate the number of code blocks, if any, and then the rest of the response."
136
140
  )));
137
141
  content.push(( localize(
138
- 4632,
142
+ 4725,
139
143
  "To focus the next code block within a response, invoke the Chat: Next Code Block command{0}.",
140
144
  "<keybinding:workbench.action.chat.nextCodeBlock>"
141
145
  )));
142
146
  content.push(( localize(
143
- 4633,
147
+ 4726,
144
148
  "To navigate to the next user prompt in the conversation, invoke the Next User Prompt command{0}.",
145
149
  "<keybinding:workbench.action.chat.nextUserPrompt>"
146
150
  )));
147
151
  content.push(( localize(
148
- 4634,
152
+ 4727,
149
153
  "To navigate to the previous user prompt in the conversation, invoke the Previous User Prompt command{0}.",
150
154
  "<keybinding:workbench.action.chat.previousUserPrompt>"
151
155
  )));
152
156
  content.push(( localize(
153
- 4635,
157
+ 4728,
154
158
  "To focus pending chat confirmation dialogs, invoke the Focus Chat Confirmation Status command{0}.",
155
159
  "<keybinding:workbench.action.chat.focusConfirmation>"
156
160
  )));
157
161
  content.push(( localize(
158
- 4636,
162
+ 4729,
159
163
  "If there are any hidden chat terminals, you can view them by invoking the View Hidden Chat Terminals command{0}.",
160
164
  "<keybinding:workbench.action.terminal.chat.viewHiddenChatTerminals>"
161
165
  )));
162
166
  content.push(( localize(
163
- 4637,
167
+ 4730,
164
168
  "To focus the last chat terminal that ran a tool, invoke the Focus Most Recent Chat Terminal command{0}.",
165
169
  `<keybinding:${TerminalContribCommandId.FocusMostRecentChatTerminal}>`
166
170
  )));
167
171
  content.push(( localize(
168
- 4638,
172
+ 4731,
169
173
  "To focus the output from the last chat terminal tool, invoke the Focus Most Recent Chat Terminal Output command{0}.",
170
174
  `<keybinding:${TerminalContribCommandId.FocusMostRecentChatTerminalOutput}>`
171
175
  )));
176
+ content.push(( localize(
177
+ 4732,
178
+ "When a chat question appears, toggle focus between the question and the chat input{0}.",
179
+ "<keybinding:workbench.action.chat.focusQuestionCarousel>"
180
+ )));
181
+ content.push(( localize(
182
+ 4733,
183
+ "When a chat question is focused, move to the previous question{0}.",
184
+ "<keybinding:workbench.action.chat.previousQuestion>"
185
+ )));
186
+ content.push(( localize(
187
+ 4734,
188
+ "When a chat question is focused, move to the next question{0}.",
189
+ "<keybinding:workbench.action.chat.nextQuestion>"
190
+ )));
191
+ content.push(( localize(
192
+ 4735,
193
+ "When a tip appears, toggle focus between the tip and the chat input{0}.",
194
+ "<keybinding:workbench.action.chat.focusTip>"
195
+ )));
172
196
  }
173
197
  if (type === "editsView" || type === "agentView") {
174
198
  if (type === "agentView") {
175
199
  content.push(( localize(
176
- 4639,
200
+ 4736,
177
201
  "The chat agent view is used to apply edits across files in your workspace, enable running commands in the terminal, and more."
178
202
  )));
179
203
  } else {
180
- content.push(( localize(4640, "The chat editing view is used to apply edits across files.")));
204
+ content.push(( localize(4737, "The chat editing view is used to apply edits across files.")));
181
205
  }
182
206
  content.push(( localize(
183
- 4641,
207
+ 4738,
184
208
  "It is comprised of an input box and a file working set (Shift+Tab)."
185
209
  )));
186
210
  content.push(( localize(
187
- 4642,
211
+ 4739,
188
212
  "When a request is made, a progress indicator will play while the edits are being applied."
189
213
  )));
190
214
  content.push(( localize(
191
- 4643,
215
+ 4740,
192
216
  "Once the edits are applied, a sound will play to indicate the document has been opened and is ready for review. The sound can be disabled with accessibility.signals.chatEditModifiedFile."
193
217
  )));
194
218
  content.push(( localize(
195
- 4644,
219
+ 4741,
196
220
  "Navigate between edits in the editor with navigate previous{0} and next{1}",
197
221
  "<keybinding:chatEditor.action.navigatePrevious>",
198
222
  "<keybinding:chatEditor.action.navigateNext>"
199
223
  )));
200
224
  content.push(( localize(
201
- 4645,
225
+ 4742,
202
226
  "In the editor, Keep{0}, Undo{1}, or Toggle the Diff{2} for the current Change.",
203
227
  "<keybinding:chatEditor.action.acceptHunk>",
204
228
  "<keybinding:chatEditor.action.undoHunk>",
205
229
  "<keybinding:chatEditor.action.toggleDiff>"
206
230
  )));
207
231
  content.push(( localize(
208
- 4646,
232
+ 4743,
209
233
  "Sounds will play when a change is accepted or undone. The sounds can be disabled with accessibility.signals.editsKept and accessibility.signals.editsUndone."
210
234
  )));
211
235
  if (type === "agentView") {
212
236
  content.push(( localize(
213
- 4647,
237
+ 4744,
214
238
  "An alert will indicate when user action is required. For example, if the agent wants to run something in the terminal, you will hear Action Required: Run Command in Terminal."
215
239
  )));
216
240
  content.push(( localize(
217
- 4648,
241
+ 4745,
218
242
  "To take the action, use the accept tool command{0}.",
219
243
  "<keybinding:workbench.action.chat.acceptTool>"
220
244
  )));
221
245
  content.push(( localize(
222
- 4649,
246
+ 4746,
223
247
  "To automatically approve tool actions without manual confirmation, set {0} to {1} in your settings.",
224
248
  ChatConfiguration.GlobalAutoApprove,
225
249
  "true"
226
250
  )));
227
251
  content.push(( localize(
228
- 4650,
252
+ 4747,
229
253
  "To accept a tool action, use the Accept Tool Confirmation command{0}.",
230
254
  "<keybinding:workbench.action.chat.acceptTool>"
231
255
  )));
232
256
  content.push(( localize(
233
- 4651,
257
+ 4748,
234
258
  "By default, when edits are made to files, they will be opened. To change this behavior, set accessibility.openChatEditedFiles to false in your settings."
235
259
  )));
260
+ content.push(( localize(
261
+ 4749,
262
+ "To toggle focus between the Agent TODOs view and the chat input, use Agent TODOs: Toggle Focus{0}.",
263
+ "<keybinding:workbench.action.chat.focusTodosView>"
264
+ )));
236
265
  }
237
- content.push(( localize(4652, "Some helpful commands include:")));
238
- content.push(( localize(4653, "- Undo Edits{0}.", "<keybinding:workbench.action.chat.undoEdits>")));
266
+ content.push(( localize(4750, "Some helpful commands include:")));
267
+ content.push(( localize(4751, "- Undo Edits{0}.", "<keybinding:workbench.action.chat.undoEdits>")));
268
+ content.push(( localize(
269
+ 4752,
270
+ "- Restore to Last Checkpoint{0}.",
271
+ "<keybinding:workbench.action.chat.restoreLastCheckpoint>"
272
+ )));
239
273
  content.push(( localize(
240
- 4654,
274
+ 4753,
241
275
  "- Attach Files{0}.",
242
276
  "<keybinding:workbench.action.chat.editing.attachFiles>"
243
277
  )));
244
278
  content.push(( localize(
245
- 4655,
279
+ 4754,
246
280
  "- Remove File from Working Set{0}.",
247
281
  "<keybinding:chatEditing.removeFileFromWorkingSet>"
248
282
  )));
249
283
  content.push(( localize(
250
- 4656,
284
+ 4755,
251
285
  "- Keep{0} and Undo File{1}.",
252
286
  "<keybinding:chatEditing.acceptFile>",
253
287
  "<keybinding:chatEditing.discardFile>"
254
288
  )));
255
- content.push(( localize(4657, "- Save All Files{0}.", "<keybinding:chatEditing.saveAllFiles>")));
256
- content.push(( localize(4658, "- Keep All Edits{0}.", "<keybinding:chatEditing.acceptAllFiles>")));
257
- content.push(( localize(4659, "- Undo All Edits{0}.", "<keybinding:chatEditing.discardAllFiles>")));
258
- content.push(( localize(4660, "- Open File in Diff{0}.", "<keybinding:chatEditing.openFileInDiff>")));
289
+ content.push(( localize(4756, "- Save All Files{0}.", "<keybinding:chatEditing.saveAllFiles>")));
290
+ content.push(( localize(4757, "- Keep All Edits{0}.", "<keybinding:chatEditing.acceptAllFiles>")));
291
+ content.push(( localize(4758, "- Undo All Edits{0}.", "<keybinding:chatEditing.discardAllFiles>")));
292
+ content.push(( localize(4759, "- Open File in Diff{0}.", "<keybinding:chatEditing.openFileInDiff>")));
259
293
  content.push(
260
294
  `- ${ChatEditingShowChangesAction.LABEL}<keybinding:chatEditing.viewChanges>`
261
295
  );
@@ -264,45 +298,45 @@ function getAccessibilityHelpText(type, keybindingService) {
264
298
  );
265
299
  } else {
266
300
  content.push(( localize(
267
- 4661,
301
+ 4760,
268
302
  "Inline chat occurs within a code editor and takes into account the current selection. It is useful for making changes to the current editor. For example, fixing diagnostics, documenting or refactoring code. Keep in mind that AI generated code may be incorrect."
269
303
  )));
270
304
  content.push(( localize(
271
- 4662,
305
+ 4761,
272
306
  "It can be activated via code actions or directly using the command: Inline Chat: Start Inline Chat{0}.",
273
307
  "<keybinding:inlineChat.start>"
274
308
  )));
275
309
  content.push(( localize(
276
- 4663,
310
+ 4762,
277
311
  "In the input box, use Show Previous{0} and Show Next{1} to navigate your request history. Edit input and use enter or the submit button to run a new request.",
278
312
  "<keybinding:history.showPrevious>",
279
313
  "<keybinding:history.showNext>"
280
314
  )));
281
315
  content.push(( localize(
282
- 4664,
316
+ 4763,
283
317
  "In the input box, inspect the response in the accessible view{0}.",
284
318
  "<keybinding:editor.action.accessibleView>"
285
319
  )));
286
320
  content.push(( localize(
287
- 4665,
321
+ 4764,
288
322
  "Context menu actions may run a request prefixed with a /. Type / to discover such ready-made commands."
289
323
  )));
290
324
  content.push(( localize(
291
- 4666,
325
+ 4765,
292
326
  "If a fix action is invoked, a response will indicate the problem with the current code. A diff editor will be rendered and can be reached by tabbing."
293
327
  )));
294
328
  content.push(( localize(
295
- 4667,
329
+ 4766,
296
330
  "Once in the diff editor, enter review mode with{0}. Use up and down arrows to navigate lines with the proposed changes.",
297
331
  AccessibleDiffViewerNext.id
298
332
  )));
299
333
  content.push(( localize(
300
- 4668,
334
+ 4767,
301
335
  "Use tab to reach conditional parts like commands, status, message responses and more."
302
336
  )));
303
337
  }
304
338
  content.push(( localize(
305
- 4669,
339
+ 4768,
306
340
  "Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
307
341
  )));
308
342
  return content.join("\n");