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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
  4. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
  5. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
  6. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
  7. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
  8. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  9. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  10. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
  11. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
  12. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
  60. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +12 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -4
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +18 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
  137. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
  140. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  146. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
  155. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
  157. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  160. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +5 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  183. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
  184. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
  208. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
  209. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
  210. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
  211. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  213. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
  219. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  224. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
  250. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
@@ -63,43 +63,43 @@ const gaugeForeground = registerColor("gauge.foreground", {
63
63
  light: inputValidationInfoBorder,
64
64
  hcDark: contrastBorder,
65
65
  hcLight: contrastBorder
66
- }, ( localize(6074, "Gauge foreground color.")));
66
+ }, ( localize(6145, "Gauge foreground color.")));
67
67
  registerColor("gauge.background", {
68
68
  dark: ( transparent(gaugeForeground, 0.3)),
69
69
  light: ( transparent(gaugeForeground, 0.3)),
70
70
  hcDark: Color.white,
71
71
  hcLight: Color.white
72
- }, ( localize(6075, "Gauge background color.")));
72
+ }, ( localize(6146, "Gauge background color.")));
73
73
  registerColor("gauge.border", {
74
74
  dark: null,
75
75
  light: null,
76
76
  hcDark: contrastBorder,
77
77
  hcLight: contrastBorder
78
- }, ( localize(6076, "Gauge border color.")));
78
+ }, ( localize(6147, "Gauge border color.")));
79
79
  const gaugeWarningForeground = registerColor("gauge.warningForeground", {
80
80
  dark: inputValidationWarningBorder,
81
81
  light: inputValidationWarningBorder,
82
82
  hcDark: contrastBorder,
83
83
  hcLight: contrastBorder
84
- }, ( localize(6077, "Gauge warning foreground color.")));
84
+ }, ( localize(6148, "Gauge warning foreground color.")));
85
85
  registerColor("gauge.warningBackground", {
86
86
  dark: ( transparent(gaugeWarningForeground, 0.3)),
87
87
  light: ( transparent(gaugeWarningForeground, 0.3)),
88
88
  hcDark: Color.white,
89
89
  hcLight: Color.white
90
- }, ( localize(6078, "Gauge warning background color.")));
90
+ }, ( localize(6149, "Gauge warning background color.")));
91
91
  const gaugeErrorForeground = registerColor("gauge.errorForeground", {
92
92
  dark: inputValidationErrorBorder,
93
93
  light: inputValidationErrorBorder,
94
94
  hcDark: contrastBorder,
95
95
  hcLight: contrastBorder
96
- }, ( localize(6079, "Gauge error foreground color.")));
96
+ }, ( localize(6150, "Gauge error foreground color.")));
97
97
  registerColor("gauge.errorBackground", {
98
98
  dark: ( transparent(gaugeErrorForeground, 0.3)),
99
99
  light: ( transparent(gaugeErrorForeground, 0.3)),
100
100
  hcDark: Color.white,
101
101
  hcLight: Color.white
102
- }, ( localize(6080, "Gauge error background color.")));
102
+ }, ( localize(6151, "Gauge error background color.")));
103
103
  let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
104
104
  constructor(
105
105
  chatEntitlementService,
@@ -182,18 +182,18 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
182
182
  const usageTitle = this.getUsageTitle();
183
183
  addSeparator(usageTitle, toAction({
184
184
  id: "workbench.action.manageCopilot",
185
- label: ( localize(6081, "Manage Chat")),
186
- tooltip: ( localize(6082, "Manage Chat")),
185
+ label: ( localize(6152, "Manage Chat")),
186
+ tooltip: ( localize(6153, "Manage Chat")),
187
187
  class: ThemeIcon.asClassName(Codicon.settings),
188
188
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl))))
189
189
  }));
190
- const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(6083, "Inline Suggestions")), false) : undefined;
191
- const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(6084, "Chat messages")), false) : undefined;
192
- const premiumChatLabel = premiumChatQuota?.overageEnabled && !premiumChatQuota?.unlimited ? ( localize(6085, "Included premium requests")) : ( localize(6086, "Premium requests"));
190
+ const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, completionsQuota, ( localize(6154, "Inline Suggestions")), false) : undefined;
191
+ const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, chatQuota, ( localize(6155, "Chat messages")), false) : undefined;
192
+ const premiumChatLabel = premiumChatQuota?.overageEnabled && !premiumChatQuota?.unlimited ? ( localize(6156, "Included premium requests")) : ( localize(6157, "Premium requests"));
193
193
  const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, this._store, premiumChatQuota, premiumChatLabel, true) : undefined;
194
194
  if (resetDate) {
195
195
  this.element.appendChild($("div.description", undefined, ( localize(
196
- 6087,
196
+ 6158,
197
197
  "Allowance resets {0}.",
198
198
  resetDateHasTime ? this.dateTimeFormatter.value.format(( new Date(resetDate))) : this.dateFormatter.value.format(( new Date(resetDate)))
199
199
  ))));
@@ -204,7 +204,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
204
204
  hoverDelegate: nativeHoverDelegate,
205
205
  secondary: this.canUseChat()
206
206
  })));
207
- upgradeProButton.label = ( localize(6088, "Upgrade to GitHub Copilot Pro"));
207
+ upgradeProButton.label = ( localize(6159, "Upgrade to GitHub Copilot Pro"));
208
208
  this._store.add(
209
209
  upgradeProButton.onDidClick(() => this.runCommandAndClose("workbench.action.chat.upgradePlan"))
210
210
  );
@@ -231,17 +231,17 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
231
231
  })();
232
232
  }
233
233
  else if (this.chatEntitlementService.anonymous && this.chatEntitlementService.sentiment.installed) {
234
- addSeparator(( localize(6089, "Copilot Usage")));
235
- this.createQuotaIndicator(this.element, this._store, ( localize(6090, "Limited")), ( localize(6083, "Inline Suggestions")), false);
236
- this.createQuotaIndicator(this.element, this._store, ( localize(6090, "Limited")), ( localize(6084, "Chat messages")), false);
234
+ addSeparator(( localize(6160, "Copilot Usage")));
235
+ this.createQuotaIndicator(this.element, this._store, ( localize(6161, "Limited")), ( localize(6154, "Inline Suggestions")), false);
236
+ this.createQuotaIndicator(this.element, this._store, ( localize(6161, "Limited")), ( localize(6155, "Chat messages")), false);
237
237
  }
238
238
  {
239
239
  const inProgress = this.chatSessionsService.getInProgress();
240
240
  if (( inProgress.some(item => item.count > 0))) {
241
- addSeparator(( localize(6091, "Agent Sessions")), toAction({
241
+ addSeparator(( localize(6162, "Agent Sessions")), toAction({
242
242
  id: "workbench.view.chat.status.sessions",
243
- label: ( localize(6092, "View Agent Sessions")),
244
- tooltip: ( localize(6093, "View Agent Sessions")),
243
+ label: ( localize(6163, "View Agent Sessions")),
244
+ tooltip: ( localize(6164, "View Agent Sessions")),
245
245
  class: ThemeIcon.asClassName(Codicon.eye),
246
246
  run: () => {
247
247
  this.viewService.openView(ChatViewId, true);
@@ -253,7 +253,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
253
253
  count
254
254
  } of inProgress) {
255
255
  if (count > 0) {
256
- const text = ( localize(6094, "$(loading~spin) {0} in progress", displayName));
256
+ const text = ( localize(6165, "$(loading~spin) {0} in progress", displayName));
257
257
  const chatSessionsElement = this.element.appendChild($("div.description"));
258
258
  const parts = renderLabelWithIcons(text);
259
259
  chatSessionsElement.append(...parts);
@@ -280,10 +280,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
280
280
  }
281
281
  {
282
282
  const chatSentiment = this.chatEntitlementService.sentiment;
283
- addSeparator(( localize(6095, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
283
+ addSeparator(( localize(6166, "Inline Suggestions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
284
284
  id: "workbench.action.openChatSettings",
285
- label: ( localize(6096, "Settings")),
286
- tooltip: ( localize(6097, "Open Settings")),
285
+ label: ( localize(6167, "Settings")),
286
+ tooltip: ( localize(6168, "Open Settings")),
287
287
  class: ThemeIcon.asClassName(Codicon.settingsGear),
288
288
  run: () => this.runCommandAndClose(
289
289
  () => this.commandService.executeCommand("workbench.action.openSettings", {
@@ -301,7 +301,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
301
301
  const currentModel = modelInfo.models.find(m => m.id === modelInfo.currentModelId);
302
302
  if (currentModel) {
303
303
  const modelContainer = this.element.appendChild($("div.model-selection"));
304
- modelContainer.appendChild($("span.model-text", undefined, ( localize(6098, "Model"))));
304
+ modelContainer.appendChild($("span.model-text", undefined, ( localize(6169, "Model"))));
305
305
  const actionBar = modelContainer.appendChild($("div.model-action-bar"));
306
306
  const toolbar = this._store.add(( new ActionBar(actionBar, {
307
307
  hoverDelegate: nativeHoverDelegate
@@ -309,7 +309,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
309
309
  toolbar.push([toAction({
310
310
  id: "workbench.action.selectInlineCompletionsModel",
311
311
  label: currentModel.name,
312
- tooltip: ( localize(6099, "Select Model")),
312
+ tooltip: ( localize(6170, "Select Model")),
313
313
  class: ThemeIcon.asClassName(Codicon.gear),
314
314
  run: async () => {
315
315
  await this.showModelPicker(provider);
@@ -337,7 +337,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
337
337
  toolbar.push([toAction({
338
338
  id: `workbench.action.selectProviderOption.${option.id}`,
339
339
  label: currentValue.label,
340
- tooltip: ( localize(6100, "Select {0}", option.label)),
340
+ tooltip: ( localize(6171, "Select {0}", option.label)),
341
341
  run: async () => {
342
342
  await this.showProviderOptionPicker(provider, option);
343
343
  }
@@ -352,7 +352,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
352
352
  }
353
353
  if (this.canUseChat()) {
354
354
  const snooze = append(this.element, $("div.snooze-completions"));
355
- this.createCompletionsSnooze(snooze, ( localize(6101, "Snooze")), this._store);
355
+ this.createCompletionsSnooze(snooze, ( localize(6172, "Snooze")), this._store);
356
356
  }
357
357
  {
358
358
  const newUser = isNewUser(this.chatEntitlementService);
@@ -365,7 +365,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
365
365
  let descriptionClass = ".description";
366
366
  if (newUser && anonymousUser) {
367
367
  descriptionText = ( new MarkdownString(( localize(
368
- 6102,
368
+ 6173,
369
369
  "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
370
370
  defaultChat.provider.default.name,
371
371
  defaultChat.provider.default.name,
@@ -376,23 +376,23 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
376
376
  }));
377
377
  descriptionClass = `${descriptionClass}.terms`;
378
378
  } else if (newUser) {
379
- descriptionText = ( localize(6103, "Set up Copilot to use AI features."));
379
+ descriptionText = ( localize(6174, "Set up Copilot to use AI features."));
380
380
  } else if (anonymousUser) {
381
- descriptionText = ( localize(6104, "Sign in to enable more Copilot AI features."));
381
+ descriptionText = ( localize(6175, "Sign in to enable more Copilot AI features."));
382
382
  } else if (disabled) {
383
- descriptionText = ( localize(6105, "Enable Copilot to use AI features."));
383
+ descriptionText = ( localize(6176, "Enable Copilot to use AI features."));
384
384
  } else {
385
- descriptionText = ( localize(6106, "Sign in to use Copilot AI features."));
385
+ descriptionText = ( localize(6177, "Sign in to use Copilot AI features."));
386
386
  }
387
387
  let buttonLabel;
388
388
  if (newUser) {
389
- buttonLabel = ( localize(6107, "Use AI Features"));
389
+ buttonLabel = ( localize(6178, "Use AI Features"));
390
390
  } else if (anonymousUser) {
391
- buttonLabel = ( localize(6108, "Enable more AI Features"));
391
+ buttonLabel = ( localize(6179, "Enable more AI Features"));
392
392
  } else if (disabled) {
393
- buttonLabel = ( localize(6109, "Enable AI Features"));
393
+ buttonLabel = ( localize(6180, "Enable AI Features"));
394
394
  } else {
395
- buttonLabel = ( localize(6110, "Sign in to use AI Features"));
395
+ buttonLabel = ( localize(6181, "Sign in to use AI Features"));
396
396
  }
397
397
  let commandId;
398
398
  if (newUser && anonymousUser) {
@@ -432,7 +432,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
432
432
  }
433
433
  getUsageTitle() {
434
434
  const planName = getChatPlanName(this.chatEntitlementService.entitlement);
435
- return localize(6111, "{0} Usage", planName);
435
+ return localize(6182, "{0} Usage", planName);
436
436
  }
437
437
  renderHeader(container, disposables, label, action) {
438
438
  const header = container.appendChild($("div.header", undefined, label ?? ""));
@@ -453,8 +453,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
453
453
  const headerLink = typeof item.label === "string" ? undefined : item.label.link;
454
454
  this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
455
455
  id: "workbench.action.openChatStatusItemLink",
456
- label: ( localize(6112, "Learn More")),
457
- tooltip: ( localize(6112, "Learn More")),
456
+ label: ( localize(6183, "Learn More")),
457
+ tooltip: ( localize(6183, "Learn More")),
458
458
  class: ThemeIcon.asClassName(Codicon.linkExternal),
459
459
  run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink))))
460
460
  }) : undefined);
@@ -509,7 +509,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
509
509
  secondary: true,
510
510
  hoverDelegate: nativeHoverDelegate
511
511
  })));
512
- manageOverageButton.label = ( localize(6113, "Manage paid premium requests"));
512
+ manageOverageButton.label = ( localize(6184, "Manage paid premium requests"));
513
513
  disposables.add(
514
514
  manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl)))))
515
515
  );
@@ -526,15 +526,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
526
526
  if (typeof quota === "string") {
527
527
  quotaValue.textContent = quota;
528
528
  } else if (quota.unlimited) {
529
- quotaValue.textContent = ( localize(6114, "Included"));
529
+ quotaValue.textContent = ( localize(6185, "Included"));
530
530
  } else if (quota.overageCount) {
531
531
  quotaValue.textContent = ( localize(
532
- 6115,
532
+ 6186,
533
533
  "+{0} requests",
534
534
  this.quotaOverageFormatter.value.format(quota.overageCount)
535
535
  ));
536
536
  } else {
537
- quotaValue.textContent = ( localize(6116, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
537
+ quotaValue.textContent = ( localize(6187, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
538
538
  }
539
539
  quotaBit.style.width = `${usedPercentage}%`;
540
540
  const overageEnabled = supportsOverage && typeof quota !== "string" && quota?.overageEnabled;
@@ -547,12 +547,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
547
547
  if (typeof quota !== "string" && quota.unlimited) {
548
548
  overageLabel.textContent = "";
549
549
  } else if (typeof quota !== "string" && quota?.overageEnabled) {
550
- overageLabel.replaceChildren(( localize(6117, "Additional premium requests approved.")), $("br"), ( localize(
551
- 6118,
550
+ overageLabel.replaceChildren(( localize(6188, "Additional premium requests approved.")), $("br"), ( localize(
551
+ 6189,
552
552
  "You can continue after the included premium requests limit reaches 100%."
553
553
  )));
554
554
  } else {
555
- overageLabel.textContent = ( localize(6119, "Additional paid premium requests disabled."));
555
+ overageLabel.textContent = ( localize(6190, "Additional paid premium requests disabled."));
556
556
  }
557
557
  } else {
558
558
  overageLabel.textContent = "";
@@ -566,15 +566,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
566
566
  const settings = container.appendChild($("div.settings"));
567
567
  {
568
568
  const globalSetting = append(settings, $("div.setting"));
569
- this.createInlineSuggestionsSetting(globalSetting, ( localize(6120, "All files")), "*", disposables);
569
+ this.createInlineSuggestionsSetting(globalSetting, ( localize(6191, "All files")), "*", disposables);
570
570
  if (modeId) {
571
571
  const languageSetting = append(settings, $("div.setting"));
572
- this.createInlineSuggestionsSetting(languageSetting, ( localize(6121, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
572
+ this.createInlineSuggestionsSetting(languageSetting, ( localize(6192, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
573
573
  }
574
574
  }
575
575
  {
576
576
  const setting = append(settings, $("div.setting"));
577
- this.createNextEditSuggestionsSetting(setting, ( localize(6122, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
577
+ this.createNextEditSuggestionsSetting(setting, ( localize(6193, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
578
578
  }
579
579
  return settings;
580
580
  }
@@ -691,7 +691,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
691
691
  })));
692
692
  const cancelAction = toAction({
693
693
  id: "workbench.action.cancelSnoozeStatusBarLink",
694
- label: ( localize(6123, "Cancel Snooze")),
694
+ label: ( localize(6194, "Cancel Snooze")),
695
695
  run: () => this.inlineCompletionsService.cancelSnooze(),
696
696
  class: ThemeIcon.asClassName(Codicon.stopCircle)
697
697
  });
@@ -700,19 +700,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
700
700
  toolbar.clear();
701
701
  const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
702
702
  if (!isEnabled || timeLeftMs <= 0) {
703
- timerDisplay.textContent = ( localize(6124, "Hide suggestions for 5 min"));
703
+ timerDisplay.textContent = ( localize(6195, "Hide suggestions for 5 min"));
704
704
  timerDisplay.title = "";
705
705
  button.label = label;
706
- button.setTitle(( localize(6125, "Hide inline suggestions for 5 min")));
706
+ button.setTitle(( localize(6196, "Hide inline suggestions for 5 min")));
707
707
  return true;
708
708
  }
709
709
  const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
710
710
  const minutes = Math.floor(timeLeftSeconds / 60);
711
711
  const seconds = timeLeftSeconds % 60;
712
- timerDisplay.textContent = `${minutes}:${seconds < 10 ? "0" : ""}${seconds} ${( localize(6126, "remaining"))}`;
713
- timerDisplay.title = ( localize(6127, "Inline suggestions are hidden for the remaining duration"));
714
- button.label = ( localize(6128, "+5 min"));
715
- button.setTitle(( localize(6129, "Snooze additional 5 min")));
712
+ timerDisplay.textContent = `${minutes}:${seconds < 10 ? "0" : ""}${seconds} ${( localize(6197, "remaining"))}`;
713
+ timerDisplay.title = ( localize(6198, "Inline suggestions are hidden for the remaining duration"));
714
+ button.label = ( localize(6199, "+5 min"));
715
+ button.setTitle(( localize(6200, "Snooze additional 5 min")));
716
716
  toolbar.push([cancelAction], {
717
717
  icon: true,
718
718
  label: false
@@ -753,12 +753,12 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
753
753
  const items = ( modelInfo.models.map(model => ({
754
754
  id: model.id,
755
755
  label: model.name,
756
- description: model.id === modelInfo.currentModelId ? ( localize(6130, "Currently selected")) : undefined,
756
+ description: model.id === modelInfo.currentModelId ? ( localize(6201, "Currently selected")) : undefined,
757
757
  picked: model.id === modelInfo.currentModelId
758
758
  })));
759
759
  const selected = await this.quickInputService.pick(items, {
760
760
  placeHolder: ( localize(
761
- 6131,
761
+ 6202,
762
762
  "Select a model for {0}",
763
763
  provider.displayName || "inline completions"
764
764
  )),
@@ -776,11 +776,11 @@ let ChatStatusDashboard = class ChatStatusDashboard extends DomWidget {
776
776
  const items = ( option.values.map(value => ({
777
777
  id: value.id,
778
778
  label: value.label,
779
- description: value.id === option.currentValueId ? ( localize(6132, "Currently selected")) : undefined,
779
+ description: value.id === option.currentValueId ? ( localize(6203, "Currently selected")) : undefined,
780
780
  picked: value.id === option.currentValueId
781
781
  })));
782
782
  const selected = await this.quickInputService.pick(items, {
783
- placeHolder: ( localize(6133, "Select {0}", option.label)),
783
+ placeHolder: ( localize(6204, "Select {0}", option.label)),
784
784
  canPickMany: false
785
785
  });
786
786
  if (selected && selected.id && selected.id !== option.currentValueId) {
@@ -102,13 +102,13 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
102
102
  }
103
103
  getEntryProps() {
104
104
  let text = "$(copilot)";
105
- let ariaLabel = ( localize(6134, "Copilot status"));
105
+ let ariaLabel = ( localize(6205, "Copilot status"));
106
106
  let kind;
107
107
  if (isNewUser(this.chatEntitlementService)) {
108
108
  const entitlement = this.chatEntitlementService.entitlement;
109
109
  if (
110
110
  this.chatEntitlementService.sentiment.later || entitlement === ChatEntitlement.Available || isProUser(entitlement) || entitlement === ChatEntitlement.Free) {
111
- const finishSetup = ( localize(6135, "Finish Setup"));
111
+ const finishSetup = ( localize(6206, "Finish Setup"));
112
112
  text = `$(copilot) ${finishSetup}`;
113
113
  ariaLabel = finishSetup;
114
114
  kind = "prominent";
@@ -118,18 +118,18 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
118
118
  const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
119
119
  if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
120
120
  text = "$(copilot-unavailable)";
121
- ariaLabel = ( localize(6136, "Copilot disabled"));
121
+ ariaLabel = ( localize(6207, "Copilot disabled"));
122
122
  }
123
123
  else if (this.runningSessionsCount > 0) {
124
124
  text = "$(copilot-in-progress)";
125
125
  if (this.runningSessionsCount > 1) {
126
- ariaLabel = ( localize(6137, "{0} agent sessions in progress", this.runningSessionsCount));
126
+ ariaLabel = ( localize(6208, "{0} agent sessions in progress", this.runningSessionsCount));
127
127
  } else {
128
- ariaLabel = ( localize(6138, "1 agent session in progress"));
128
+ ariaLabel = ( localize(6209, "1 agent session in progress"));
129
129
  }
130
130
  }
131
131
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
132
- const signedOutWarning = ( localize(6139, "Signed out"));
132
+ const signedOutWarning = ( localize(6210, "Signed out"));
133
133
  text = `${this.chatEntitlementService.anonymous ? "$(copilot)" : "$(copilot-not-connected)"} ${signedOutWarning}`;
134
134
  ariaLabel = signedOutWarning;
135
135
  kind = "prominent";
@@ -137,11 +137,11 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
137
137
  else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
138
138
  let quotaWarning;
139
139
  if (chatQuotaExceeded && !completionsQuotaExceeded) {
140
- quotaWarning = ( localize(6140, "Chat quota reached"));
140
+ quotaWarning = ( localize(6211, "Chat quota reached"));
141
141
  } else if (completionsQuotaExceeded && !chatQuotaExceeded) {
142
- quotaWarning = ( localize(6141, "Inline suggestions quota reached"));
142
+ quotaWarning = ( localize(6212, "Inline suggestions quota reached"));
143
143
  } else {
144
- quotaWarning = ( localize(6142, "Quota reached"));
144
+ quotaWarning = ( localize(6213, "Quota reached"));
145
145
  }
146
146
  text = `$(copilot-warning) ${quotaWarning}`;
147
147
  ariaLabel = quotaWarning;
@@ -149,15 +149,15 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
149
149
  }
150
150
  else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
151
151
  text = "$(copilot-unavailable)";
152
- ariaLabel = ( localize(6143, "Inline suggestions disabled"));
152
+ ariaLabel = ( localize(6214, "Inline suggestions disabled"));
153
153
  }
154
154
  else if (this.completionsService.isSnoozing()) {
155
155
  text = "$(copilot-snooze)";
156
- ariaLabel = ( localize(6144, "Inline suggestions snoozed"));
156
+ ariaLabel = ( localize(6215, "Inline suggestions snoozed"));
157
157
  }
158
158
  }
159
159
  const baseResult = {
160
- name: ( localize(6145, "Copilot Status")),
160
+ name: ( localize(6216, "Copilot Status")),
161
161
  text,
162
162
  ariaLabel,
163
163
  command: ShowTooltipCommand,
@@ -0,0 +1,66 @@
1
+ import { MarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
2
+ import { ContextKeyExpression } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
3
+ import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
4
+ import { ITipExclusionConfig } from "./chatTipEligibilityTracker.js";
5
+ export declare enum ChatTipTier {
6
+ Foundational = "foundational",
7
+ Qol = "qol"
8
+ }
9
+ /**
10
+ * Context provided to tip builders for dynamic message construction.
11
+ */
12
+ export interface ITipBuildContext {
13
+ /**
14
+ * Keybinding service for looking up keyboard shortcuts.
15
+ */
16
+ readonly keybindingService: IKeybindingService;
17
+ }
18
+ /**
19
+ * Gets the display label for a command, looking it up from MenuRegistry.
20
+ * Falls back to extracting a readable name from the command ID.
21
+ */
22
+ export declare function getCommandLabel(commandId: string): string;
23
+ /**
24
+ * Extracts command IDs from command: links in a markdown string.
25
+ * Used to automatically populate enabledCommands for trusted markdown.
26
+ */
27
+ export declare function extractCommandIds(markdown: string): string[];
28
+ /**
29
+ * Interface for tip definitions in the catalog.
30
+ */
31
+ export interface ITipDefinition extends ITipExclusionConfig {
32
+ readonly id: string;
33
+ readonly tier: ChatTipTier;
34
+ /**
35
+ * Optional priority for ordering tips within the same tier.
36
+ * Lower values are shown first.
37
+ */
38
+ readonly priority?: number;
39
+ /**
40
+ * Builds the tip message dynamically at runtime.
41
+ * This enables keybindings and command labels to be looked up fresh.
42
+ * The returned MarkdownString should NOT include the "Tip:" prefix.
43
+ */
44
+ buildMessage(ctx: ITipBuildContext): MarkdownString;
45
+ /**
46
+ * When clause expression that determines if this tip is eligible to be shown.
47
+ */
48
+ readonly when?: ContextKeyExpression;
49
+ /**
50
+ * Chat model IDs for which this tip is eligible (lowercase).
51
+ */
52
+ readonly onlyWhenModelIds?: readonly string[];
53
+ /**
54
+ * Setting keys that, if changed from default, make this tip ineligible.
55
+ */
56
+ readonly excludeWhenSettingsChanged?: readonly string[];
57
+ /**
58
+ * Command IDs that dismiss this tip when clicked from the tip markdown.
59
+ */
60
+ readonly dismissWhenCommandsClicked?: readonly string[];
61
+ }
62
+ /**
63
+ * Static catalog of tips. Tips are built dynamically at runtime to enable
64
+ * keybindings and command labels to be resolved fresh.
65
+ */
66
+ export declare const TIP_CATALOG: readonly ITipDefinition[];