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

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
@@ -0,0 +1,263 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { FileSystemProviderCapabilities, createFileSystemProviderError, FileSystemProviderErrorCode, FileType } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
6
+ import { asJson } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request';
7
+ import { IRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service';
8
+ import { IAuthenticationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service';
9
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
10
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
11
+
12
+ var GitHubFileSystemProvider_1;
13
+ const GITHUB_REMOTE_FILE_SCHEME = "github-remote-file";
14
+ let GitHubFileSystemProvider = class GitHubFileSystemProvider extends Disposable {
15
+ static {
16
+ GitHubFileSystemProvider_1 = this;
17
+ }
18
+ static {
19
+ this.CACHE_TTL_MS = 5 * 60 * 1000;
20
+ }
21
+ static {
22
+ this.NOT_FOUND_CACHE_TTL_MS = 60 * 1000;
23
+ }
24
+ constructor(requestService, authenticationService, logService) {
25
+ super();
26
+ this.requestService = requestService;
27
+ this.authenticationService = authenticationService;
28
+ this.logService = logService;
29
+ this._onDidChangeCapabilities = this._register(( new Emitter()));
30
+ this.onDidChangeCapabilities = this._onDidChangeCapabilities.event;
31
+ this.capabilities = FileSystemProviderCapabilities.Readonly | FileSystemProviderCapabilities.FileReadWrite | FileSystemProviderCapabilities.PathCaseSensitive;
32
+ this._onDidChangeFile = this._register(( new Emitter()));
33
+ this.onDidChangeFile = this._onDidChangeFile.event;
34
+ this.treeCache = ( new Map());
35
+ this.notFoundCache = ( new Map());
36
+ this.pendingFetches = ( new Map());
37
+ }
38
+ parseUri(resource) {
39
+ const parts = resource.path.split("/").filter(Boolean);
40
+ if (parts.length < 3) {
41
+ throw createFileSystemProviderError(
42
+ "Invalid github-remote-file URI: expected /{owner}/{repo}/{ref}/...",
43
+ FileSystemProviderErrorCode.FileNotFound
44
+ );
45
+ }
46
+ const owner = decodeURIComponent(parts[0]);
47
+ const repo = decodeURIComponent(parts[1]);
48
+ const ref = decodeURIComponent(parts[2]);
49
+ const path = ( parts.slice(3).map(decodeURIComponent)).join("/");
50
+ return {
51
+ owner,
52
+ repo,
53
+ ref,
54
+ path
55
+ };
56
+ }
57
+ getCacheKey(owner, repo, ref) {
58
+ return `${owner}/${repo}/${ref}`;
59
+ }
60
+ async getAuthToken() {
61
+ const sessions = (await this.authenticationService.getSessions("github", ["repo"], {
62
+ silent: true
63
+ })) ?? (await this.authenticationService.getSessions("github", ["repo"], {
64
+ createIfNone: true
65
+ }));
66
+ return sessions[0].accessToken ?? "";
67
+ }
68
+ fetchTree(owner, repo, ref) {
69
+ const cacheKey = this.getCacheKey(owner, repo, ref);
70
+ const cached = this.treeCache.get(cacheKey);
71
+ if (cached && (Date.now() - cached.fetchedAt) < GitHubFileSystemProvider_1.CACHE_TTL_MS) {
72
+ return Promise.resolve(cached);
73
+ }
74
+ const notFoundAt = this.notFoundCache.get(cacheKey);
75
+ if (notFoundAt !== undefined && (Date.now() - notFoundAt) < GitHubFileSystemProvider_1.NOT_FOUND_CACHE_TTL_MS) {
76
+ return Promise.reject(createFileSystemProviderError(
77
+ `Tree not found for ${owner}/${repo}@${ref}`,
78
+ FileSystemProviderErrorCode.FileNotFound
79
+ ));
80
+ }
81
+ const pending = this.pendingFetches.get(cacheKey);
82
+ if (pending) {
83
+ return pending;
84
+ }
85
+ const promise = this.doFetchTree(owner, repo, ref, cacheKey).finally(() => {
86
+ this.pendingFetches.delete(cacheKey);
87
+ });
88
+ this.pendingFetches.set(cacheKey, promise);
89
+ return promise;
90
+ }
91
+ async doFetchTree(owner, repo, ref, cacheKey) {
92
+ this.logService.info(`[SessionRepoFS] Fetching tree for ${owner}/${repo}@${ref}`);
93
+ const token = await this.getAuthToken();
94
+ const url = `https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/git/trees/${encodeURIComponent(ref)}?recursive=1`;
95
+ const response = await this.requestService.request({
96
+ type: "GET",
97
+ url,
98
+ headers: {
99
+ "Authorization": `token ${token}`,
100
+ "Accept": "application/vnd.github.v3+json",
101
+ "User-Agent": "VSCode-SessionRepoFS"
102
+ }
103
+ }, CancellationToken.None);
104
+ if (response.res.statusCode === 404) {
105
+ this.notFoundCache.set(cacheKey, Date.now());
106
+ throw createFileSystemProviderError(
107
+ `Tree not found for ${owner}/${repo}@${ref}`,
108
+ FileSystemProviderErrorCode.FileNotFound
109
+ );
110
+ }
111
+ const data = await asJson(response);
112
+ if (!data) {
113
+ throw createFileSystemProviderError(
114
+ `Failed to fetch tree for ${owner}/${repo}@${ref}`,
115
+ FileSystemProviderErrorCode.Unavailable
116
+ );
117
+ }
118
+ const entries = ( new Map());
119
+ entries.set("", {
120
+ type: FileType.Directory,
121
+ size: 0,
122
+ sha: data.sha
123
+ });
124
+ const dirs = ( new Set());
125
+ for (const entry of data.tree) {
126
+ const fileType = entry.type === "tree" ? FileType.Directory : FileType.File;
127
+ entries.set(entry.path, {
128
+ type: fileType,
129
+ size: entry.size ?? 0,
130
+ sha: entry.sha
131
+ });
132
+ if (fileType === FileType.Directory) {
133
+ dirs.add(entry.path);
134
+ }
135
+ const pathParts = entry.path.split("/");
136
+ for (let i = 1; i < pathParts.length; i++) {
137
+ const parentPath = pathParts.slice(0, i).join("/");
138
+ if (!( dirs.has(parentPath))) {
139
+ dirs.add(parentPath);
140
+ if (!( entries.has(parentPath))) {
141
+ entries.set(parentPath, {
142
+ type: FileType.Directory,
143
+ size: 0,
144
+ sha: ""
145
+ });
146
+ }
147
+ }
148
+ }
149
+ }
150
+ const cacheEntry = {
151
+ entries,
152
+ fetchedAt: Date.now()
153
+ };
154
+ this.treeCache.set(cacheKey, cacheEntry);
155
+ return cacheEntry;
156
+ }
157
+ async stat(resource) {
158
+ const {
159
+ owner,
160
+ repo,
161
+ ref,
162
+ path
163
+ } = this.parseUri(resource);
164
+ const tree = await this.fetchTree(owner, repo, ref);
165
+ const entry = tree.entries.get(path);
166
+ if (!entry) {
167
+ throw createFileSystemProviderError("File not found", FileSystemProviderErrorCode.FileNotFound);
168
+ }
169
+ return {
170
+ type: entry.type,
171
+ ctime: 0,
172
+ mtime: 0,
173
+ size: entry.size
174
+ };
175
+ }
176
+ async readdir(resource) {
177
+ const {
178
+ owner,
179
+ repo,
180
+ ref,
181
+ path
182
+ } = this.parseUri(resource);
183
+ const tree = await this.fetchTree(owner, repo, ref);
184
+ const prefix = path ? path + "/" : "";
185
+ const result = [];
186
+ for (const [entryPath, entry] of tree.entries) {
187
+ if (!entryPath.startsWith(prefix)) {
188
+ continue;
189
+ }
190
+ const relativePath = entryPath.slice(prefix.length);
191
+ if (relativePath && !relativePath.includes("/")) {
192
+ result.push([relativePath, entry.type]);
193
+ }
194
+ }
195
+ return result;
196
+ }
197
+ async readFile(resource) {
198
+ const {
199
+ owner,
200
+ repo,
201
+ ref,
202
+ path
203
+ } = this.parseUri(resource);
204
+ const tree = await this.fetchTree(owner, repo, ref);
205
+ const entry = tree.entries.get(path);
206
+ if (!entry || entry.type === FileType.Directory) {
207
+ throw createFileSystemProviderError("File not found", FileSystemProviderErrorCode.FileNotFound);
208
+ }
209
+ const token = await this.getAuthToken();
210
+ const url = `https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/git/blobs/${encodeURIComponent(entry.sha)}`;
211
+ const response = await this.requestService.request({
212
+ type: "GET",
213
+ url,
214
+ headers: {
215
+ "Authorization": `token ${token}`,
216
+ "Accept": "application/vnd.github.v3+json",
217
+ "User-Agent": "VSCode-SessionRepoFS"
218
+ }
219
+ }, CancellationToken.None);
220
+ const data = await asJson(response);
221
+ if (!data) {
222
+ throw createFileSystemProviderError(`Failed to read file ${path}`, FileSystemProviderErrorCode.Unavailable);
223
+ }
224
+ if (data.encoding === "base64") {
225
+ const binaryString = atob(data.content.replace(/\n/g, ""));
226
+ const bytes = ( new Uint8Array(binaryString.length));
227
+ for (let i = 0; i < binaryString.length; i++) {
228
+ bytes[i] = binaryString.charCodeAt(i);
229
+ }
230
+ return bytes;
231
+ }
232
+ return ( new TextEncoder()).encode(data.content);
233
+ }
234
+ watch() {
235
+ return Disposable.None;
236
+ }
237
+ async writeFile(_resource, _content, _opts) {
238
+ throw createFileSystemProviderError("Operation not supported", FileSystemProviderErrorCode.NoPermissions);
239
+ }
240
+ async mkdir(_resource) {
241
+ throw createFileSystemProviderError("Operation not supported", FileSystemProviderErrorCode.NoPermissions);
242
+ }
243
+ async delete(_resource, _opts) {
244
+ throw createFileSystemProviderError("Operation not supported", FileSystemProviderErrorCode.NoPermissions);
245
+ }
246
+ async rename(_from, _to, _opts) {
247
+ throw createFileSystemProviderError("Operation not supported", FileSystemProviderErrorCode.NoPermissions);
248
+ }
249
+ invalidateCache(owner, repo, ref) {
250
+ const cacheKey = this.getCacheKey(owner, repo, ref);
251
+ this.treeCache.delete(cacheKey);
252
+ this.notFoundCache.delete(cacheKey);
253
+ }
254
+ dispose() {
255
+ this.treeCache.clear();
256
+ this.notFoundCache.clear();
257
+ this.pendingFetches.clear();
258
+ super.dispose();
259
+ }
260
+ };
261
+ GitHubFileSystemProvider = GitHubFileSystemProvider_1 = ( __decorate([( __param(0, IRequestService)), ( __param(1, IAuthenticationService)), ( __param(2, ILogService))], GitHubFileSystemProvider));
262
+
263
+ export { GITHUB_REMOTE_FILE_SCHEME, GitHubFileSystemProvider };
@@ -18,6 +18,11 @@ import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/plat
18
18
  import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
19
19
  import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/sessionsManagementService.service";
20
20
  export declare const IsNewChatSessionContext: RawContextKey<boolean>;
21
+ /**
22
+ * True when the active session uses the Background provider type (copilotcli).
23
+ * Used to gate actions that require a local worktree (run script, open in VS Code, terminal).
24
+ */
25
+ export declare const IsActiveSessionBackgroundProviderContext: RawContextKey<boolean>;
21
26
  /**
22
27
  * An active session item extends IChatSessionItem with repository information.
23
28
  * - For agent session items: repository is the workingDirectory from metadata
@@ -49,6 +54,7 @@ export declare class SessionsManagementService extends Disposable implements ISe
49
54
  private readonly _newSession;
50
55
  private lastSelectedSession;
51
56
  private readonly isNewChatSessionContext;
57
+ private readonly _isBackgroundProvider;
52
58
  constructor(storageService: IStorageService, uriIdentityService: IUriIdentityService, agentSessionsService: IAgentSessionsService, chatSessionsService: IChatSessionsService, chatWidgetService: IChatWidgetService, chatService: IChatService, instantiationService: IInstantiationService, logService: ILogService, contextKeyService: IContextKeyService, commandService: ICommandService, languageModelsService: ILanguageModelsService);
53
59
  private refreshActiveSessionFromModel;
54
60
  private showNextSession;
@@ -4,6 +4,7 @@ import { Disposable, DisposableStore, MutableDisposable } from '@codingame/monac
4
4
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
5
5
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
6
6
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
8
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
8
9
  import { RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
9
10
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
@@ -23,9 +24,11 @@ import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/wo
23
24
  import { LocalNewSession, RemoteNewSession } from '../../chat/browser/newSession.js';
24
25
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
25
26
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
27
+ import { GITHUB_REMOTE_FILE_SCHEME } from '../../fileTreeView/browser/githubFileSystemProvider.js';
26
28
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
27
29
 
28
30
  const IsNewChatSessionContext = ( new RawContextKey("isNewChatSession", true));
31
+ const IsActiveSessionBackgroundProviderContext = ( new RawContextKey("isActiveSessionBackgroundProvider", false, ( localize(2519, "Whether the active session uses the background agent provider"))));
29
32
  const LAST_SELECTED_SESSION_KEY = "agentSessions.lastSelectedSession";
30
33
  const repositoryOptionId = "repository";
31
34
  let SessionsManagementService = class SessionsManagementService extends Disposable {
@@ -58,6 +61,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
58
61
  this._newActiveSessionDisposables = this._register(( new DisposableStore()));
59
62
  this._newSession = this._register(( new MutableDisposable()));
60
63
  this.isNewChatSessionContext = IsNewChatSessionContext.bindTo(contextKeyService);
64
+ this._isBackgroundProvider = IsActiveSessionBackgroundProviderContext.bindTo(contextKeyService);
61
65
  this.lastSelectedSession = this.loadLastSelectedSession();
62
66
  this._register(this.storageService.onWillSaveState(() => this.saveLastSelectedSession()));
63
67
  this._register(
@@ -104,10 +108,24 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
104
108
  this.openNewSessionView();
105
109
  }
106
110
  }
107
- getRepositoryFromMetadata(metadata) {
111
+ getRepositoryFromMetadata(session) {
112
+ const metadata = session.metadata;
108
113
  if (!metadata) {
109
114
  return [undefined, undefined];
110
115
  }
116
+ if (session.providerType === AgentSessionProviders.Cloud) {
117
+ const branch = typeof metadata.branch === "string" ? metadata.branch : "HEAD";
118
+ const repositoryUri = ( URI.from({
119
+ scheme: GITHUB_REMOTE_FILE_SCHEME,
120
+ authority: "github",
121
+ path: `/${metadata.owner}/${metadata.name}/${encodeURIComponent(branch)}`
122
+ }));
123
+ return [repositoryUri, undefined];
124
+ }
125
+ const workingDirectoryPath = metadata?.workingDirectoryPath;
126
+ if (workingDirectoryPath) {
127
+ return [URI.file(workingDirectoryPath), undefined];
128
+ }
111
129
  const repositoryPath = metadata?.repositoryPath;
112
130
  const repositoryPathUri = typeof repositoryPath === "string" ? URI.file(repositoryPath) : undefined;
113
131
  const worktreePath = metadata?.worktreePath;
@@ -149,7 +167,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
149
167
  this.isNewChatSessionContext.set(true);
150
168
  }
151
169
  let newSession;
152
- if (target === AgentSessionProviders.Background || target === AgentSessionProviders.Local) {
170
+ if (target === AgentSessionProviders.Background) {
153
171
  newSession = this.instantiationService.createInstance(LocalNewSession, sessionResource, defaultRepoUri);
154
172
  } else {
155
173
  newSession = this.instantiationService.createInstance(RemoteNewSession, sessionResource, target);
@@ -277,15 +295,15 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
277
295
  if (this.isNewChatSessionContext.get()) {
278
296
  return;
279
297
  }
280
- this.isNewChatSessionContext.set(true);
281
298
  this.setActiveSession(undefined);
299
+ this.isNewChatSessionContext.set(true);
282
300
  }
283
301
  setActiveSession(session) {
284
302
  let activeSessionItem;
285
303
  if (session) {
286
304
  if (isAgentSession(session)) {
287
305
  this.lastSelectedSession = session.resource;
288
- const [repository, worktree] = this.getRepositoryFromMetadata(session.metadata);
306
+ const [repository, worktree] = this.getRepositoryFromMetadata(session);
289
307
  activeSessionItem = {
290
308
  isUntitled: this.chatService.getSession(session.resource)?.contributedChatSession?.isUntitled ?? true,
291
309
  label: session.label,
@@ -332,6 +350,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
332
350
  } else {
333
351
  this.logService.trace("[ActiveSessionService] Active session cleared");
334
352
  }
353
+ this._isBackgroundProvider.set(activeSessionItem?.providerType === AgentSessionProviders.Background);
335
354
  this._activeSession.set(activeSessionItem, undefined);
336
355
  }
337
356
  equalsSessionItem(a, b) {
@@ -341,7 +360,7 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
341
360
  if (!a || !b) {
342
361
  return false;
343
362
  }
344
- return (a.label === b.label && ( a.resource.toString()) === ( b.resource.toString()) && a.repository?.toString() === b.repository?.toString() && a.worktree?.toString() === b.worktree?.toString());
363
+ return (a.label === b.label && ( a.resource.toString()) === ( b.resource.toString()) && a.repository?.toString() === b.repository?.toString() && a.worktree?.toString() === b.worktree?.toString() && a.providerType === b.providerType);
345
364
  }
346
365
  async commitWorktreeFiles(session, fileUris) {
347
366
  const worktreeUri = session.worktree;
@@ -375,4 +394,4 @@ let SessionsManagementService = class SessionsManagementService extends Disposab
375
394
  };
376
395
  SessionsManagementService = ( __decorate([( __param(0, IStorageService)), ( __param(1, IUriIdentityService)), ( __param(2, IAgentSessionsService)), ( __param(3, IChatSessionsService)), ( __param(4, IChatWidgetService)), ( __param(5, IChatService)), ( __param(6, IInstantiationService)), ( __param(7, ILogService)), ( __param(8, IContextKeyService)), ( __param(9, ICommandService)), ( __param(10, ILanguageModelsService))], SessionsManagementService));
377
396
 
378
- export { IsNewChatSessionContext, SessionsManagementService };
397
+ export { IsActiveSessionBackgroundProviderContext, IsNewChatSessionContext, SessionsManagementService };
@@ -117,7 +117,7 @@ let ChatAccessibilityService = class ChatAccessibilityService extends Disposable
117
117
  });
118
118
  }
119
119
  this.toasts.clearAndDisposeAll();
120
- const title = widget?.viewModel?.model.title ? ( localize(4685, "Chat: {0}", widget.viewModel.model.title)) : ( localize(4686, "Untitled Chat"));
120
+ const title = widget?.viewModel?.model.title ? ( localize(4690, "Chat: {0}", widget.viewModel.model.title)) : ( localize(4691, "Untitled Chat"));
121
121
  const cts = ( new CancellationTokenSource());
122
122
  const disposable = toDisposable(() => cts.dispose(true));
123
123
  this.toasts.add(disposable);
@@ -125,7 +125,7 @@ let ChatAccessibilityService = class ChatAccessibilityService extends Disposable
125
125
  clicked
126
126
  } = await this._hostService.showToast({
127
127
  title,
128
- body: ( localize(4687, "New chat response."))
128
+ body: ( localize(4692, "New chat response."))
129
129
  }, cts.token);
130
130
  this.toasts.deleteAndDispose(disposable);
131
131
  if (clicked) {
@@ -76,29 +76,29 @@ function getToolSpecificDataDescription(toolSpecificData) {
76
76
  {
77
77
  const parts = [];
78
78
  if (toolSpecificData.agentName) {
79
- parts.push(( localize(4688, "Agent: {0}", toolSpecificData.agentName)));
79
+ parts.push(( localize(4693, "Agent: {0}", toolSpecificData.agentName)));
80
80
  }
81
81
  if (toolSpecificData.description) {
82
82
  parts.push(toolSpecificData.description);
83
83
  }
84
84
  if (toolSpecificData.prompt) {
85
- parts.push(( localize(4689, "Task: {0}", toolSpecificData.prompt)));
85
+ parts.push(( localize(4694, "Task: {0}", toolSpecificData.prompt)));
86
86
  }
87
87
  return parts.join(". ") || "";
88
88
  }
89
89
  case "extensions":
90
- return toolSpecificData.extensions.length > 0 ? ( localize(4690, "Extensions: {0}", toolSpecificData.extensions.join(", "))) : "";
90
+ return toolSpecificData.extensions.length > 0 ? ( localize(4695, "Extensions: {0}", toolSpecificData.extensions.join(", "))) : "";
91
91
  case "todoList":
92
92
  {
93
93
  const todos = toolSpecificData.todoList;
94
94
  if (todos.length === 0) {
95
95
  return "";
96
96
  }
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("; "));
97
+ const todoDescriptions = ( todos.map(t => ( localize(4696, "{0} ({1})", t.title, t.status))));
98
+ return localize(4697, "{0} items: {1}", todos.length, todoDescriptions.join("; "));
99
99
  }
100
100
  case "pullRequest":
101
- return localize(4693, "PR: {0} by {1}", toolSpecificData.title, toolSpecificData.author);
101
+ return localize(4698, "PR: {0} by {1}", toolSpecificData.title, toolSpecificData.author);
102
102
  case "input":
103
103
  return typeof toolSpecificData.rawInput === "string" ? toolSpecificData.rawInput : JSON.stringify(toolSpecificData.rawInput);
104
104
  case "resources":
@@ -114,13 +114,13 @@ function getToolSpecificDataDescription(toolSpecificData) {
114
114
  return v.fsPath || v.path;
115
115
  }
116
116
  })).join(", ");
117
- return localize(4694, "Resources: {0}", paths);
117
+ return localize(4699, "Resources: {0}", paths);
118
118
  }
119
119
  case "simpleToolInvocation":
120
120
  {
121
121
  const inputText = toolSpecificData.input;
122
122
  const outputText = toolSpecificData.output;
123
- return localize(4695, "Input: {0}, Output: {1}", inputText, outputText);
123
+ return localize(4700, "Input: {0}, Output: {1}", inputText, outputText);
124
124
  }
125
125
  default:
126
126
  return "";
@@ -149,12 +149,12 @@ function getResultDetailsDescription(resultDetails) {
149
149
  }
150
150
  if (isOutputDetailsSerialized(resultDetails)) {
151
151
  return {
152
- input: ( localize(4696, "{0} data", resultDetails.output.mimeType))
152
+ input: ( localize(4701, "{0} data", resultDetails.output.mimeType))
153
153
  };
154
154
  }
155
155
  if (isToolResultOutputDetails(resultDetails)) {
156
156
  return {
157
- input: ( localize(4696, "{0} data", resultDetails.output.mimeType))
157
+ input: ( localize(4701, "{0} data", resultDetails.output.mimeType))
158
158
  };
159
159
  }
160
160
  return {};
@@ -178,13 +178,13 @@ function getToolInvocationA11yDescription(
178
178
  if (isComplete && resultDetails) {
179
179
  const details = getResultDetailsDescription(resultDetails);
180
180
  if (details.isError) {
181
- parts.unshift(( localize(4697, "Errored")));
181
+ parts.unshift(( localize(4702, "Errored")));
182
182
  }
183
183
  if (details.input && !toolDataDesc) {
184
- parts.push(( localize(4698, "Input: {0}", details.input)));
184
+ parts.push(( localize(4703, "Input: {0}", details.input)));
185
185
  }
186
186
  if (details.files && details.files.length > 0) {
187
- parts.push(( localize(4699, "Files: {0}", details.files.join(", "))));
187
+ parts.push(( localize(4704, "Files: {0}", details.files.join(", "))));
188
188
  }
189
189
  }
190
190
  return parts.join(". ");
@@ -246,7 +246,7 @@ class ChatResponseAccessibleProvider extends Disposable {
246
246
  const thinkingValue = Array.isArray(part.value) ? part.value.join("") : (part.value || "");
247
247
  const trimmed = thinkingValue.trim();
248
248
  if (trimmed) {
249
- contentParts.push(( localize(4700, "Thinking: {0}", trimmed)));
249
+ contentParts.push(( localize(4705, "Thinking: {0}", trimmed)));
250
250
  }
251
251
  break;
252
252
  }
@@ -303,7 +303,7 @@ class ChatResponseAccessibleProvider extends Disposable {
303
303
  contentParts.push(toolContent);
304
304
  } else if (state.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
305
305
  const postApprovalDetails = isToolResultInputOutputDetails(state.resultDetails) ? state.resultDetails.input : isToolResultOutputDetails(state.resultDetails) ? undefined : toolContentToA11yString(state.contentForModel);
306
- contentParts.push(( localize(4701, "Approve results of {0}? Result: ", part.toolId)) + (postApprovalDetails ?? ""));
306
+ contentParts.push(( localize(4706, "Approve results of {0}? Result: ", part.toolId)) + (postApprovalDetails ?? ""));
307
307
  } else {
308
308
  const resultDetails = IChatToolInvocation.resultDetails(part);
309
309
  const isComplete = IChatToolInvocation.isComplete(part);
@@ -22,11 +22,11 @@ class AnnounceChatConfirmationAction extends Action2 {
22
22
  super({
23
23
  id: ACTION_ID_FOCUS_CHAT_CONFIRMATION,
24
24
  title: {
25
- value: ( localize(4702, "Focus Chat Confirmation")),
25
+ value: ( localize(4707, "Focus Chat Confirmation")),
26
26
  original: "Focus Chat Confirmation"
27
27
  },
28
28
  category: {
29
- value: ( localize(4703, "Chat")),
29
+ value: ( localize(4708, "Chat")),
30
30
  original: "Chat"
31
31
  },
32
32
  precondition: ChatContextKeys.enabled,
@@ -42,12 +42,12 @@ class AnnounceChatConfirmationAction extends Action2 {
42
42
  const chatWidgetService = accessor.get(IChatWidgetService);
43
43
  const pendingWidget = chatWidgetService.getAllWidgets().find(widget => widget.viewModel?.model.requestNeedsInput.get());
44
44
  if (!pendingWidget) {
45
- alert(( localize(4704, "No active chat session found.")));
45
+ alert(( localize(4709, "No active chat session found.")));
46
46
  return;
47
47
  }
48
48
  const viewModel = pendingWidget.viewModel;
49
49
  if (!viewModel) {
50
- alert(( localize(4705, "Chat interface not ready.")));
50
+ alert(( localize(4710, "Chat interface not ready.")));
51
51
  return;
52
52
  }
53
53
  let firstConfirmationElement;
@@ -65,7 +65,7 @@ class AnnounceChatConfirmationAction extends Action2 {
65
65
  firstConfirmationElement.focus();
66
66
  }
67
67
  } else {
68
- alert(( localize(4706, "No chat confirmation required")));
68
+ alert(( localize(4711, "No chat confirmation required")));
69
69
  }
70
70
  }
71
71
  }
@@ -74,11 +74,11 @@ class ToggleThinkingContentAccessibleViewAction extends Action2 {
74
74
  super({
75
75
  id: ACTION_ID_TOGGLE_THINKING_CONTENT_ACCESSIBLE_VIEW,
76
76
  title: {
77
- value: ( localize(4707, "Toggle Thinking Content in Accessible View")),
77
+ value: ( localize(4712, "Toggle Thinking Content in Accessible View")),
78
78
  original: "Toggle Thinking Content in Accessible View"
79
79
  },
80
80
  category: {
81
- value: ( localize(4703, "Chat")),
81
+ value: ( localize(4708, "Chat")),
82
82
  original: "Chat"
83
83
  },
84
84
  precondition: ChatContextKeys.enabled,
@@ -100,7 +100,7 @@ class ToggleThinkingContentAccessibleViewAction extends Action2 {
100
100
  StorageScope.PROFILE,
101
101
  StorageTarget.USER
102
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.")));
103
+ alert(updatedValue ? ( localize(4713, "Thinking content will be included in the accessible view.")) : ( localize(4714, "Thinking content will be hidden from the accessible view.")));
104
104
  }
105
105
  }
106
106
  function registerChatAccessibilityActions() {