@codingame/monaco-vscode-chat-service-override 37.0.0 → 37.2.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 (459) hide show
  1. package/index.js +26 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +1 -1
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1 -1
  5. package/vscode/src/vs/platform/agentHost/common/agentHostCustomizationConfig.d.ts +74 -0
  6. package/vscode/src/vs/platform/agentHost/common/agentHostCustomizationConfig.js +90 -0
  7. package/vscode/src/vs/platform/agentHost/common/agentHostSlashCommand.d.ts +8 -0
  8. package/vscode/src/vs/platform/agentHost/common/agentHostSlashCommand.js +16 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +53 -53
  10. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.d.ts +16 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.js +14 -0
  12. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +7 -7
  13. package/vscode/src/vs/platform/agentHost/common/agentModelByokMeta.d.ts +24 -0
  14. package/vscode/src/vs/platform/agentHost/common/agentModelByokMeta.js +13 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentModelNotices.d.ts +22 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentModelNotices.js +21 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentModelPricing.d.ts +114 -0
  18. package/vscode/src/vs/platform/agentHost/common/agentModelPricing.js +56 -0
  19. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +15 -1
  20. package/vscode/src/vs/platform/agentHost/common/copilotConfigSlashCommands.d.ts +73 -0
  21. package/vscode/src/vs/platform/agentHost/common/copilotConfigSlashCommands.js +141 -0
  22. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +42 -1
  23. package/vscode/src/vs/platform/agentHost/common/meta/agentCustomizationMeta.d.ts +27 -0
  24. package/vscode/src/vs/platform/agentHost/common/meta/agentCustomizationMeta.js +14 -0
  25. package/vscode/src/vs/platform/agentHost/common/meta/agentEphemeralSessionMeta.d.ts +14 -0
  26. package/vscode/src/vs/platform/agentHost/common/meta/agentEphemeralSessionMeta.js +11 -0
  27. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +13 -13
  28. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +1 -1
  29. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -1
  30. package/vscode/src/vs/platform/agentHost/common/toolSearchConstants.d.ts +4 -0
  31. package/vscode/src/vs/platform/agentHost/common/toolSearchConstants.js +6 -0
  32. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  33. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +104 -0
  34. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +827 -0
  35. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +15 -0
  36. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +71 -0
  37. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +16 -0
  38. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +95 -0
  39. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +22 -0
  40. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +286 -0
  41. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.d.ts +10 -0
  42. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.js +38 -0
  43. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.d.ts +9 -0
  44. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.js +22 -0
  45. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +130 -0
  46. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +907 -0
  47. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.d.ts +10 -0
  48. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +28 -0
  49. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +27 -0
  50. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +167 -0
  51. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +46 -0
  52. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +356 -0
  53. package/vscode/src/vs/workbench/browser/chatChangesPill.js +2 -2
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +28 -28
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +18 -18
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +11 -11
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +28 -28
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +18 -18
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +93 -93
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +7 -7
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  78. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +7 -7
  79. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  81. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  83. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  84. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +16 -16
  85. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -15
  87. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  88. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +32 -32
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +10 -10
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +5 -5
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +7 -7
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +3 -3
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -2
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +14 -14
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.d.ts +34 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.js +229 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.d.ts +57 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.js +460 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.d.ts +1 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.js +92 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAllowSignedOutWhenUsableContribution.d.ts +23 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAllowSignedOutWhenUsableContribution.js +46 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.d.ts +142 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.js +746 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.d.ts +77 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.js +474 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostConfigEditor.d.ts +169 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostConfigEditor.js +261 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCopilotCliSettingsContribution.d.ts +20 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCopilotCliSettingsContribution.js +90 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.d.ts +35 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.js +73 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostExistingSessionHarnessPickerEnablement.d.ts +20 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostExistingSessionHarnessPickerEnablement.js +61 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.d.ts +112 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.js +192 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +1 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +6 -6
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.d.ts +21 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.js +137 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +301 -12
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostRootConfigForwarder.d.ts +84 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostRootConfigForwarder.js +96 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.d.ts +884 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.js +5870 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +19 -19
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListContribution.d.ts +27 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListContribution.js +129 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListController.d.ts +42 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListController.js +221 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.d.ts +125 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.js +345 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +1 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.d.ts +1 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.js +68 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.d.ts +62 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.js +163 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.d.ts +54 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.js +219 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSubagentProgress.d.ts +10 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSubagentProgress.js +50 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.d.ts +42 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.js +132 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.d.ts +1 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.js +85 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.d.ts +79 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.js +161 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSubmitConfig.d.ts +18 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSubmitConfig.js +13 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/copilotConfigSlashSubmitHandler.d.ts +28 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/copilotConfigSlashSubmitHandler.js +71 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.d.ts +35 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.js +205 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +1 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +51 -51
  163. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +1 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +4 -4
  165. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +1 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  170. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +2 -2
  172. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
  173. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +23 -23
  174. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  175. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  176. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +6 -6
  177. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +2 -2
  178. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +7 -7
  179. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +3 -3
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -15
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -3
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +126 -126
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +44 -44
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +138 -138
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +3 -3
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +1 -1
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +6 -6
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +37 -37
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +6 -6
  197. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +146 -146
  198. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +29 -29
  199. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +9 -9
  200. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +1 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +40 -40
  202. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  203. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +8 -8
  204. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +5 -5
  205. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +76 -76
  206. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +116 -116
  208. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +1 -1
  209. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +4 -4
  210. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +50 -50
  211. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +2 -2
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +356 -356
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +38 -38
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +5 -5
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +1 -1
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +124 -124
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +8 -8
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +1 -1
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +18 -18
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +1 -1
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +1 -1
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +36 -36
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +1 -1
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +40 -40
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +3 -3
  262. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  263. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  264. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -63
  265. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  267. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +12 -12
  268. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +1 -1
  269. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +1 -1
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +35 -35
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +27 -27
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  274. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.d.ts +2 -0
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +57 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +21 -21
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +1 -1
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +11 -11
  279. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +1 -1
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
  282. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +17 -17
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +20 -20
  285. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +62 -62
  286. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  288. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  289. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  291. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  292. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  293. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +1 -1
  295. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +1 -1
  296. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +6 -6
  299. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +6 -6
  300. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  301. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +29 -29
  302. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  303. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
  304. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +7 -7
  305. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +2 -2
  306. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +30 -30
  307. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +4 -4
  308. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  309. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  310. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  311. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  312. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  313. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  314. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  315. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +5 -5
  316. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +4 -4
  317. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +4 -4
  318. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +3 -3
  319. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +1 -1
  320. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +21 -21
  322. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +18 -18
  323. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +2 -2
  324. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +10 -10
  325. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  326. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +26 -26
  327. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +9 -9
  328. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +1 -1
  329. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  330. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  331. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  332. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +17 -17
  334. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +15 -15
  335. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +11 -11
  336. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +2 -2
  337. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +1 -1
  338. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +12 -12
  339. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +13 -5
  341. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  343. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  344. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -1
  345. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -11
  346. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +1 -1
  348. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +253 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +20 -0
  350. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +1 -1
  351. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +1 -1
  352. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +10 -10
  353. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +300 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +272 -0
  355. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +25 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +178 -0
  358. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +78 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +51 -0
  360. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -2
  361. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +14 -14
  362. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +67 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +195 -0
  364. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +67 -0
  365. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +294 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +212 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +955 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  369. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  370. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  371. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  372. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  373. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +65 -0
  374. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +698 -0
  375. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +50 -0
  376. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +78 -0
  377. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +77 -0
  378. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +120 -0
  379. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +10 -0
  380. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +23 -0
  381. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  382. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  383. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  384. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +154 -154
  385. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.d.ts +92 -0
  386. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.js +335 -0
  387. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +235 -0
  388. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +1673 -0
  389. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +202 -0
  390. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +872 -0
  391. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +9 -9
  392. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.d.ts +36 -0
  393. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +239 -0
  394. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.d.ts +21 -0
  395. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.js +143 -0
  396. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.d.ts +24 -0
  397. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +298 -0
  398. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.d.ts +25 -0
  399. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +177 -0
  400. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +73 -0
  401. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +577 -0
  402. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.d.ts +11 -0
  403. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +90 -0
  404. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.d.ts +16 -0
  405. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +130 -0
  406. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.d.ts +12 -0
  407. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.js +53 -0
  408. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.d.ts +5 -0
  409. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.js +12 -0
  410. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.d.ts +10 -0
  411. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +91 -0
  412. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +38 -0
  413. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +518 -0
  414. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +6 -0
  415. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +231 -0
  416. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  418. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  419. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  420. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  421. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  422. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  424. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
  427. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +9 -9
  428. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  429. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  430. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +10 -10
  431. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  432. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  433. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  434. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  435. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  436. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  437. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  438. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  439. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  440. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  441. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  442. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  443. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  444. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -5
  445. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +74 -74
  446. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +11 -11
  447. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
  448. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
  449. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
  450. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  451. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +1 -1
  452. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +1 -1
  453. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +1 -1
  454. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +4 -4
  455. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +3 -3
  456. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +0 -30
  457. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +0 -87
  458. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +0 -205
  459. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +0 -1580
@@ -0,0 +1,698 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { splitGlobAware, match } from '@codingame/monaco-vscode-api/vscode/vs/base/common/glob';
4
+ import { ResourceMap, ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
5
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
+ import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
7
+ import { basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
8
+ import { escape } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
9
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
10
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
11
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
12
+ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
13
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
14
+ import { IRemoteAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
15
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
16
+ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
17
+ import { toPromptFileVariableEntry, PromptFileVariableKind, isPromptFileVariableEntry, IChatRequestVariableEntry, ChatRequestVariableSet, toToolVariableEntry, toPromptTextVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
18
+ import { VSCodeToolReference } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
19
+ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
20
+ import { PromptsConfig } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
21
+ import { isInClaudeRulesFolder, isInClaudeAgentsFolder, isPromptOrInstructionsFile } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
22
+ import { isPromptFileTildePath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser';
23
+ import { newInstructionsCollectionEvent, newInstructionsCollectionDebugInfo, matchesSessionType, AgentInstructionFileType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
24
+ export { newInstructionsCollectionDebugInfo, newInstructionsCollectionEvent } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
25
+ import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
26
+ import { AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING, TROUBLESHOOT_SKILL_PATH } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
27
+ import { OffsetRange } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/ranges/offsetRange';
28
+ import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
29
+ import { hash } from '@codingame/monaco-vscode-api/vscode/vs/base/common/hash';
30
+ import { IAgentPluginService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service';
31
+ import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
32
+
33
+ let lastInstructionsCollectionResult;
34
+ let ComputeAutomaticInstructions = class ComputeAutomaticInstructions {
35
+ constructor(
36
+ _modeKind,
37
+ _enabledTools,
38
+ _enabledSubagents,
39
+ _currentSessionType,
40
+ _promptsService,
41
+ _logService,
42
+ _labelService,
43
+ _configurationService,
44
+ _workspaceService,
45
+ _fileService,
46
+ _remoteAgentService,
47
+ _telemetryService,
48
+ _languageModelToolsService,
49
+ _agentPluginService,
50
+ _pathService
51
+ ) {
52
+ this._modeKind = _modeKind;
53
+ this._enabledTools = _enabledTools;
54
+ this._enabledSubagents = _enabledSubagents;
55
+ this._currentSessionType = _currentSessionType;
56
+ this._promptsService = _promptsService;
57
+ this._logService = _logService;
58
+ this._labelService = _labelService;
59
+ this._configurationService = _configurationService;
60
+ this._workspaceService = _workspaceService;
61
+ this._fileService = _fileService;
62
+ this._remoteAgentService = _remoteAgentService;
63
+ this._telemetryService = _telemetryService;
64
+ this._languageModelToolsService = _languageModelToolsService;
65
+ this._agentPluginService = _agentPluginService;
66
+ this._pathService = _pathService;
67
+ this._parseResults = ( new ResourceMap());
68
+ }
69
+ async _parseInstructionsFile(uri, token) {
70
+ if (( this._parseResults.has(uri))) {
71
+ return this._parseResults.get(uri);
72
+ }
73
+ try {
74
+ const result = await this._promptsService.parseNew(uri, token);
75
+ this._parseResults.set(uri, result);
76
+ return result;
77
+ } catch (error) {
78
+ this._logService.error(
79
+ `[InstructionsContextComputer] Failed to parse instruction file: ${uri}`,
80
+ error
81
+ );
82
+ return undefined;
83
+ }
84
+ }
85
+ async collect(variables, token) {
86
+ const startTime = performance.now();
87
+ const instructionFiles = await this._promptsService.getInstructionFiles(token);
88
+ this._logService.trace(
89
+ `[InstructionsContextComputer] ${instructionFiles.length} instruction files available.`
90
+ );
91
+ const telemetryEvent = newInstructionsCollectionEvent();
92
+ const debugInfo = newInstructionsCollectionDebugInfo();
93
+ const context = this._getContext(variables);
94
+ await this.addApplyingInstructions(instructionFiles, context, variables, telemetryEvent, debugInfo, token);
95
+ await this._addReferencedInstructions(variables, telemetryEvent, debugInfo, token);
96
+ await this._addAgentInstructions(variables, telemetryEvent, debugInfo, token);
97
+ const customizationsIndexVariable = await this._getCustomizationsIndex(instructionFiles, variables, telemetryEvent, debugInfo, token);
98
+ if (customizationsIndexVariable) {
99
+ variables.add(customizationsIndexVariable);
100
+ telemetryEvent.listedInstructionsCount++;
101
+ }
102
+ debugInfo.durationInMillis = performance.now() - startTime;
103
+ this.sendTelemetry(telemetryEvent);
104
+ lastInstructionsCollectionResult = {
105
+ telemetryEvent,
106
+ debugInfo
107
+ };
108
+ }
109
+ sendTelemetry(telemetryEvent) {
110
+ telemetryEvent.totalInstructionsCount = telemetryEvent.agentInstructionsCount + telemetryEvent.referencedInstructionsCount + telemetryEvent.applyingInstructionsCount + telemetryEvent.listedInstructionsCount;
111
+ this._telemetryService.publicLog2("instructionsCollected", telemetryEvent);
112
+ }
113
+ async _logSkillLoadedTelemetry(skills) {
114
+ try {
115
+ const pluginByUri = ( new ResourceMap());
116
+ const allPlugins = this._agentPluginService.plugins.get();
117
+ for (const plugin of allPlugins) {
118
+ pluginByUri.set(plugin.uri, plugin);
119
+ }
120
+ const hashOrEmpty = value => {
121
+ return value !== undefined ? String(hash(value)) : "";
122
+ };
123
+ for (const skill of skills) {
124
+ const skillPlugin = skill.pluginUri ? pluginByUri.get(skill.pluginUri) : undefined;
125
+ this._telemetryService.publicLog2("skillLoadedIntoContext", {
126
+ skillNameHash: hashOrEmpty(skill.name),
127
+ skillStorage: skill.storage,
128
+ extensionIdHash: hashOrEmpty(skill.extension?.identifier.value),
129
+ extensionVersion: skill.extension?.version ?? "",
130
+ pluginNameHash: hashOrEmpty(skillPlugin?.label),
131
+ pluginVersion: skillPlugin?.fromMarketplace?.version ?? ""
132
+ });
133
+ }
134
+ } catch (err) {
135
+ this._logService.error("[InstructionsContextComputer] Failed to log skill telemetry", err);
136
+ }
137
+ }
138
+ async addApplyingInstructions(instructionFiles, context, variables, telemetryEvent, debugInfo, token) {
139
+ const includeApplyingInstructions = this._configurationService.getValue(PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS);
140
+ if (!includeApplyingInstructions && this._modeKind !== ChatModeKind.Edit) {
141
+ this._logService.trace(
142
+ `[InstructionsContextComputer] includeApplyingInstructions is disabled and agent kind is not Edit. No applying instructions will be added.`
143
+ );
144
+ return;
145
+ }
146
+ const currentSessionType = this._currentSessionType;
147
+ for (const instructionFile of instructionFiles) {
148
+ if (token.isCancellationRequested) {
149
+ return;
150
+ }
151
+ const {
152
+ uri,
153
+ pattern
154
+ } = instructionFile;
155
+ if (!matchesSessionType(instructionFile.sessionTypes, currentSessionType)) {
156
+ continue;
157
+ }
158
+ if (!pattern) {
159
+ this._logService.trace(`[InstructionsContextComputer] No pattern (applyTo / paths) found: ${uri}`);
160
+ debugInfo.debugDetails.push({
161
+ category: "skipped",
162
+ name: ( basename(uri).toString()),
163
+ uri,
164
+ reason: ( localize(10532, "no applyTo pattern"))
165
+ });
166
+ continue;
167
+ }
168
+ const isClaudeRules = isInClaudeRulesFolder(uri);
169
+ if (( context.instructions.has(uri))) {
170
+ this._logService.trace(
171
+ `[InstructionsContextComputer] Skipping already processed instruction file: ${uri}`
172
+ );
173
+ debugInfo.debugDetails.push({
174
+ category: "skipped",
175
+ name: ( basename(uri).toString()),
176
+ uri,
177
+ reason: ( localize(10533, "already processed"))
178
+ });
179
+ continue;
180
+ }
181
+ const match = this._matches(context.files, pattern);
182
+ if (match) {
183
+ this._logService.trace(
184
+ `[InstructionsContextComputer] Match for ${uri} with ${match.pattern}${match.file ? ` for file ${match.file}` : ""}`
185
+ );
186
+ const reason = !match.file ? ( localize(10534, "automatically attached as pattern is **")) : ( localize(
187
+ 10535,
188
+ "automatically attached as pattern {0} matches {1}",
189
+ pattern,
190
+ this._labelService.getUriLabel(match.file, {
191
+ relative: true
192
+ })
193
+ ));
194
+ variables.add(
195
+ toPromptFileVariableEntry(uri, PromptFileVariableKind.Instruction, reason, true)
196
+ );
197
+ telemetryEvent.applyingInstructionsCount++;
198
+ debugInfo.debugDetails.push({
199
+ category: "applying",
200
+ name: ( basename(uri).toString()),
201
+ uri,
202
+ reason
203
+ });
204
+ if (isClaudeRules) {
205
+ telemetryEvent.claudeRulesCount++;
206
+ }
207
+ } else {
208
+ this._logService.trace(`[InstructionsContextComputer] No match for ${uri} with ${pattern}`);
209
+ debugInfo.debugDetails.push({
210
+ category: "skipped",
211
+ name: ( basename(uri).toString()),
212
+ uri,
213
+ reason: ( localize(10536, "applyTo '{0}' did not match any attached files", pattern))
214
+ });
215
+ }
216
+ }
217
+ }
218
+ _getContext(attachedContext) {
219
+ const files = ( new ResourceSet());
220
+ const instructions = ( new ResourceSet());
221
+ for (const variable of attachedContext.asArray()) {
222
+ if (isPromptFileVariableEntry(variable)) {
223
+ instructions.add(variable.value);
224
+ } else {
225
+ const uri = IChatRequestVariableEntry.toUri(variable);
226
+ if (uri) {
227
+ files.add(uri);
228
+ }
229
+ }
230
+ }
231
+ return {
232
+ files,
233
+ instructions
234
+ };
235
+ }
236
+ async _addAgentInstructions(variables, telemetryEvent, debugInfo, token) {
237
+ const logger = {
238
+ logInfo: message => this._logService.trace(`[InstructionsContextComputer] ${message}`)
239
+ };
240
+ const allCandidates = await this._promptsService.listAgentInstructions(token, logger);
241
+ const entries = ( new ChatRequestVariableSet());
242
+ const copilotEntries = ( new ChatRequestVariableSet());
243
+ for (const {
244
+ uri,
245
+ type
246
+ } of allCandidates) {
247
+ const varEntry = toPromptFileVariableEntry(uri, PromptFileVariableKind.Instruction, undefined, true);
248
+ entries.add(varEntry);
249
+ if (type === AgentInstructionFileType.copilotInstructionsMd) {
250
+ copilotEntries.add(varEntry);
251
+ }
252
+ telemetryEvent.agentInstructionsCount++;
253
+ if (type === AgentInstructionFileType.claudeMd) {
254
+ telemetryEvent.claudeMdCount++;
255
+ }
256
+ debugInfo.debugDetails.push({
257
+ category: "applying",
258
+ name: ( basename(uri).toString()),
259
+ uri,
260
+ reason: ( localize(10537, "always added"))
261
+ });
262
+ logger.logInfo(`Agent instruction file added: ${( uri.toString())}`);
263
+ }
264
+ if (copilotEntries.length > 0) {
265
+ await this._addReferencedInstructions(copilotEntries, telemetryEvent, debugInfo, token);
266
+ for (const entry of copilotEntries.asArray()) {
267
+ variables.add(entry);
268
+ }
269
+ }
270
+ for (const entry of entries.asArray()) {
271
+ variables.add(entry);
272
+ }
273
+ }
274
+ _matches(files, applyToPattern) {
275
+ const patterns = splitGlobAware(applyToPattern, ",");
276
+ const patterMatches = pattern => {
277
+ pattern = pattern.trim();
278
+ if (pattern.length === 0) {
279
+ return undefined;
280
+ }
281
+ if (pattern === "**" || pattern === "**/*" || pattern === "*") {
282
+ return {
283
+ pattern
284
+ };
285
+ }
286
+ if (!pattern.startsWith("/") && !pattern.startsWith("**/")) {
287
+ pattern = "**/" + pattern;
288
+ }
289
+ for (const file of files) {
290
+ if (match(pattern, file.path, {
291
+ ignoreCase: true
292
+ })) {
293
+ return {
294
+ pattern,
295
+ file
296
+ };
297
+ }
298
+ }
299
+ return undefined;
300
+ };
301
+ for (const pattern of patterns) {
302
+ const matchResult = patterMatches(pattern);
303
+ if (matchResult) {
304
+ return matchResult;
305
+ }
306
+ }
307
+ return undefined;
308
+ }
309
+ _getTool(referenceName) {
310
+ if (!this._enabledTools) {
311
+ return undefined;
312
+ }
313
+ const tool = this._languageModelToolsService.getToolByName(referenceName);
314
+ if (tool && this._enabledTools[tool.id]) {
315
+ return {
316
+ tool,
317
+ variable: `#tool:${this._languageModelToolsService.getFullReferenceName(tool)}`
318
+ };
319
+ }
320
+ return undefined;
321
+ }
322
+ async _getCustomizationsIndex(instructionFiles, _existingVariables, telemetryEvent, debugInfo, token) {
323
+ const readTool = this._getTool("readFile");
324
+ const runInTerminalTool = this._getTool("runInTerminal");
325
+ const fileReadTool = readTool ?? runInTerminalTool;
326
+ const runSubagentTool = this._getTool(VSCodeToolReference.runSubagent);
327
+ const skillTool = this._getTool("skill");
328
+ const currentSessionType = this._currentSessionType;
329
+ const remoteEnv = await this._remoteAgentService.getEnvironment();
330
+ const remoteOS = remoteEnv?.os;
331
+ const isRemote = this._remoteAgentService.getConnection() !== null;
332
+ const filePath = uri => getFilePath(uri, remoteOS, isRemote);
333
+ const entries = [];
334
+ if (fileReadTool) {
335
+ const searchNestedAgentMd = this._configurationService.getValue(PromptsConfig.USE_NESTED_AGENT_MD);
336
+ const agentsMdPromise = searchNestedAgentMd ? this._promptsService.listNestedAgentMDs(token) : Promise.resolve([]);
337
+ entries.push("<instructions>");
338
+ entries.push(
339
+ "Here is a list of instruction files that contain rules for working with this codebase."
340
+ );
341
+ entries.push(
342
+ "These files are important for understanding the codebase structure, conventions, and best practices."
343
+ );
344
+ entries.push(
345
+ "When an instruction file applies to your task (based on its description or applyTo pattern), follow the rules specified in it."
346
+ );
347
+ entries.push(
348
+ `If the file content is not already included in the context, use the ${fileReadTool.variable} tool to read it before proceeding. Use the exact value from the <file> element as-is with the tool; do not add or remove prefixes or otherwise modify it.`
349
+ );
350
+ entries.push(
351
+ "Only load instruction files when they are relevant to the current task. Do not eagerly load all instructions upfront."
352
+ );
353
+ entries.push(
354
+ "When modifying or creating files, check for instructions whose applyTo pattern matches the file path and follow them."
355
+ );
356
+ let hasContent = false;
357
+ for (const instruction of instructionFiles) {
358
+ if (!matchesSessionType(instruction.sessionTypes, currentSessionType)) {
359
+ continue;
360
+ }
361
+ entries.push("<instruction>");
362
+ entries.push(`<file>${filePath(instruction.uri)}</file>`);
363
+ if (instruction.description) {
364
+ entries.push(`<description>${escape(instruction.description)}</description>`);
365
+ }
366
+ if (instruction.pattern) {
367
+ entries.push(`<applyTo>${escape(instruction.pattern)}</applyTo>`);
368
+ }
369
+ entries.push("</instruction>");
370
+ hasContent = true;
371
+ }
372
+ const agentsMdFiles = await agentsMdPromise;
373
+ for (const {
374
+ uri
375
+ } of agentsMdFiles) {
376
+ const folderName = this._labelService.getUriLabel(dirname(uri), {
377
+ relative: true
378
+ });
379
+ const description = folderName.trim().length === 0 ? ( localize(10538, "Instructions for the workspace")) : ( localize(10539, "Instructions for folder '{0}'", folderName));
380
+ entries.push("<instruction>");
381
+ entries.push(`<file>${filePath(uri)}</file>`);
382
+ entries.push(`<description>${escape(description)}</description>`);
383
+ entries.push("</instruction>");
384
+ hasContent = true;
385
+ }
386
+ if (!hasContent) {
387
+ entries.length = 0;
388
+ } else {
389
+ entries.push("</instructions>", "", "");
390
+ }
391
+ const agentSkills = await this._promptsService.findAgentSkills(token);
392
+ const isFileLoggingEnabled = this._configurationService.getValue(AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING);
393
+ const modelInvocableSkills = agentSkills?.filter(skill => {
394
+ if (!skill.description) {
395
+ debugInfo.debugDetails.push({
396
+ category: "skipped",
397
+ name: skill.name,
398
+ uri: skill.uri,
399
+ reason: ( localize(10540, "no description for model invocation"))
400
+ });
401
+ return false;
402
+ }
403
+ if (skill.disableModelInvocation) {
404
+ debugInfo.debugDetails.push({
405
+ category: "skipped",
406
+ name: skill.name,
407
+ uri: skill.uri,
408
+ reason: ( localize(10541, "model invocation disabled"))
409
+ });
410
+ return false;
411
+ }
412
+ if (!matchesSessionType(skill.sessionTypes, currentSessionType)) {
413
+ debugInfo.debugDetails.push({
414
+ category: "skipped",
415
+ name: skill.name,
416
+ uri: skill.uri,
417
+ reason: ( localize(10542, "session type not matched"))
418
+ });
419
+ return false;
420
+ }
421
+ if (!isFileLoggingEnabled && skill.uri.path.includes(TROUBLESHOOT_SKILL_PATH)) {
422
+ debugInfo.debugDetails.push({
423
+ category: "skipped",
424
+ name: skill.name,
425
+ uri: skill.uri,
426
+ reason: ( localize(10543, "debug logging disabled"))
427
+ });
428
+ return false;
429
+ }
430
+ return true;
431
+ });
432
+ if (modelInvocableSkills && modelInvocableSkills.length > 0) {
433
+ this._logSkillLoadedTelemetry(modelInvocableSkills);
434
+ for (const skill of modelInvocableSkills) {
435
+ debugInfo.debugDetails.push({
436
+ category: "skill",
437
+ name: skill.name,
438
+ uri: skill.uri,
439
+ reason: skill.storage
440
+ });
441
+ }
442
+ const useSkillAdherencePrompt = this._configurationService.getValue(PromptsConfig.USE_SKILL_ADHERENCE_PROMPT);
443
+ const skillLoadTool = skillTool ?? fileReadTool;
444
+ entries.push("<skills>");
445
+ if (useSkillAdherencePrompt) {
446
+ entries.push(
447
+ "Skills provide specialized capabilities, domain knowledge, and refined workflows for producing high-quality outputs. Each skill folder contains tested instructions for specific domains like testing strategies, API design, or performance optimization. Multiple skills can be combined when a task spans different domains."
448
+ );
449
+ if (skillTool) {
450
+ entries.push(
451
+ `BLOCKING REQUIREMENT: When a skill applies to the user's request, you MUST invoke it IMMEDIATELY as your first action, BEFORE generating any other response or taking action on the task. Use ${skillTool.variable} with the skill name to load the relevant skill(s).`
452
+ );
453
+ } else {
454
+ entries.push(
455
+ `BLOCKING REQUIREMENT: When a skill applies to the user's request, you MUST load and read the SKILL.md file IMMEDIATELY as your first action, BEFORE generating any other response or taking action on the task. Use ${fileReadTool.variable} to load the relevant skill(s).`
456
+ );
457
+ }
458
+ entries.push(
459
+ "NEVER just mention or reference a skill in your response without actually loading it first. If a skill is relevant, load it before proceeding."
460
+ );
461
+ entries.push("How to determine if a skill applies:");
462
+ entries.push(
463
+ "1. Review the available skills below and match their descriptions against the user's request"
464
+ );
465
+ entries.push(
466
+ "2. If any skill's domain overlaps with the task, load that skill immediately"
467
+ );
468
+ entries.push(
469
+ "3. When multiple skills apply (e.g., a flowchart in documentation), load all relevant skills"
470
+ );
471
+ entries.push("Examples:");
472
+ entries.push(
473
+ `- "Help me write unit tests for this module" -> Load the testing skill via ${skillLoadTool.variable} FIRST, then proceed`
474
+ );
475
+ entries.push(
476
+ `- "Optimize this slow function" -> Load the performance-profiling skill via ${skillLoadTool.variable} FIRST, then proceed`
477
+ );
478
+ entries.push(
479
+ `- "Add a discount code field to checkout" -> Load both the checkout-flow and form-validation skills FIRST`
480
+ );
481
+ entries.push("Available skills:");
482
+ } else {
483
+ if (skillTool) {
484
+ entries.push(
485
+ "Here is a list of skills that contain domain specific knowledge on a variety of topics."
486
+ );
487
+ entries.push(
488
+ `When a user asks you to perform a task that falls within the domain of a skill, use the ${skillTool.variable} tool with the skill name to load it.`
489
+ );
490
+ } else {
491
+ entries.push(
492
+ "Here is a list of skills that contain domain specific knowledge on a variety of topics."
493
+ );
494
+ entries.push(
495
+ "Each skill comes with a description of the topic and a file path that contains the detailed instructions."
496
+ );
497
+ entries.push(
498
+ `When a user asks you to perform a task that falls within the domain of a skill, use the ${fileReadTool.variable} tool to acquire the full instructions from the file URI.`
499
+ );
500
+ }
501
+ }
502
+ const SKILL_DESCRIPTION_CHAR_BUDGET = 15000;
503
+ const TRUNCATED_NAMES_CHAR_BUDGET = 5000;
504
+ let skillCharCount = 0;
505
+ let truncatedAtIndex = modelInvocableSkills.length;
506
+ for (let i = 0; i < modelInvocableSkills.length; i++) {
507
+ const skill = modelInvocableSkills[i];
508
+ const skillEntry = [`<skill>`, `<name>${escape(skill.name)}</name>`];
509
+ if (skill.description) {
510
+ skillEntry.push(`<description>${escape(skill.description)}</description>`);
511
+ }
512
+ skillEntry.push(`<file>${filePath(skill.uri)}</file>`);
513
+ skillEntry.push(`</skill>`);
514
+ const entryLength = skillEntry.join("\n").length + 1;
515
+ if (skillTool && skillCharCount + entryLength > SKILL_DESCRIPTION_CHAR_BUDGET) {
516
+ truncatedAtIndex = i;
517
+ break;
518
+ }
519
+ skillCharCount += entryLength;
520
+ entries.push(...skillEntry);
521
+ }
522
+ if (truncatedAtIndex < modelInvocableSkills.length) {
523
+ const truncatedSkills = modelInvocableSkills.slice(truncatedAtIndex);
524
+ const names = [];
525
+ let nameListLength = 0;
526
+ for (const skill of truncatedSkills) {
527
+ const escapedName = escape(skill.name);
528
+ const addition = (names.length > 0 ? 2 : 0) + escapedName.length;
529
+ if (nameListLength + addition > TRUNCATED_NAMES_CHAR_BUDGET) {
530
+ break;
531
+ }
532
+ nameListLength += addition;
533
+ names.push(escapedName);
534
+ }
535
+ const remaining = truncatedSkills.length - names.length;
536
+ const nameList = names.join(", ");
537
+ entries.push(
538
+ remaining > 0 ? `Additional skills available (invoke by name): ${nameList}... and ${remaining} more` : `Additional skills available (invoke by name): ${nameList}`
539
+ );
540
+ }
541
+ entries.push("</skills>", "", "");
542
+ }
543
+ }
544
+ if (runSubagentTool) {
545
+ const canUseAgent = (() => {
546
+ if (!this._enabledSubagents || this._enabledSubagents.includes("*")) {
547
+ return agent => agent.visibility.agentInvocable && matchesSessionType(agent.sessionTypes, currentSessionType);
548
+ } else {
549
+ const subagents = this._enabledSubagents;
550
+ return agent => subagents.includes(agent.name) && matchesSessionType(agent.sessionTypes, currentSessionType);
551
+ }
552
+ })();
553
+ const agents = (await this._promptsService.getCustomAgents(token)).filter(a => a.enabled);
554
+ if (agents.length > 0) {
555
+ entries.push("<agents>");
556
+ entries.push("Here is a list of agents that can be used when running a subagent.");
557
+ entries.push(
558
+ "Each agent has optionally a description with the agent's purpose and expertise. When asked to run a subagent, choose the most appropriate agent from this list."
559
+ );
560
+ entries.push(
561
+ `Use the ${runSubagentTool.variable} tool with the agent name to run the subagent.`
562
+ );
563
+ for (const agent of agents) {
564
+ if (canUseAgent(agent)) {
565
+ entries.push("<agent>");
566
+ entries.push(`<name>${escape(agent.name)}</name>`);
567
+ if (agent.description) {
568
+ entries.push(`<description>${escape(agent.description)}</description>`);
569
+ }
570
+ if (agent.argumentHint) {
571
+ entries.push(`<argumentHint>${escape(agent.argumentHint)}</argumentHint>`);
572
+ }
573
+ entries.push("</agent>");
574
+ debugInfo.debugDetails.push({
575
+ category: "custom-agent",
576
+ name: agent.name,
577
+ uri: agent.uri
578
+ });
579
+ if (isInClaudeAgentsFolder(agent.uri)) {
580
+ telemetryEvent.claudeAgentsCount++;
581
+ }
582
+ } else {
583
+ debugInfo.debugDetails.push({
584
+ category: "skipped",
585
+ name: agent.name,
586
+ uri: agent.uri,
587
+ reason: ( localize(10544, "not invocable by model"))
588
+ });
589
+ }
590
+ }
591
+ entries.push("</agents>", "", "");
592
+ }
593
+ }
594
+ if (entries.length === 0) {
595
+ return undefined;
596
+ }
597
+ const content = entries.join("\n");
598
+ const toolReferences = [];
599
+ const collectToolReference = tool => {
600
+ if (tool) {
601
+ let offset = content.indexOf(tool.variable);
602
+ while (offset >= 0) {
603
+ toolReferences.push(toToolVariableEntry(tool.tool, ( new OffsetRange(offset, offset + tool.variable.length))));
604
+ offset = content.indexOf(tool.variable, offset + 1);
605
+ }
606
+ }
607
+ };
608
+ collectToolReference(fileReadTool);
609
+ collectToolReference(runSubagentTool);
610
+ collectToolReference(skillTool);
611
+ return toPromptTextVariableEntry(content, true, toolReferences);
612
+ }
613
+ async _addReferencedInstructions(attachedContext, telemetryEvent, debugInfo, token) {
614
+ const includeReferencedInstructions = this._configurationService.getValue(PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS);
615
+ if (!includeReferencedInstructions && this._modeKind !== ChatModeKind.Edit) {
616
+ this._logService.trace(
617
+ `[InstructionsContextComputer] includeReferencedInstructions is disabled and agent kind is not Edit. No referenced instructions will be added.`
618
+ );
619
+ return;
620
+ }
621
+ const seen = ( new ResourceSet());
622
+ const todo = [];
623
+ for (const variable of attachedContext.asArray()) {
624
+ if (isPromptFileVariableEntry(variable)) {
625
+ if (!( seen.has(variable.value))) {
626
+ todo.push(variable.value);
627
+ seen.add(variable.value);
628
+ }
629
+ }
630
+ }
631
+ let next = todo.pop();
632
+ while (next) {
633
+ const result = await this._parseInstructionsFile(next, token);
634
+ if (result && result.body) {
635
+ const refsToCheck = [];
636
+ let userHome;
637
+ for (const ref of result.body.fileReferences) {
638
+ if (isPromptFileTildePath(ref.content)) {
639
+ userHome ??= await this._pathService.userHome();
640
+ }
641
+ const url = result.body.resolveFilePath(ref.content, userHome);
642
+ if (url && !( seen.has(url)) && (isPromptOrInstructionsFile(url) || this._workspaceService.getWorkspaceFolder(url) !== undefined)) {
643
+ refsToCheck.push({
644
+ resource: url
645
+ });
646
+ seen.add(url);
647
+ }
648
+ }
649
+ if (refsToCheck.length > 0) {
650
+ const stats = await this._fileService.resolveAll(refsToCheck);
651
+ for (let i = 0; i < stats.length; i++) {
652
+ const stat = stats[i];
653
+ const uri = refsToCheck[i].resource;
654
+ if (stat.success && stat.stat?.isFile) {
655
+ if (isPromptOrInstructionsFile(uri)) {
656
+ todo.push(uri);
657
+ }
658
+ const reason = ( localize(10545, "Referenced by {0}", basename(next)));
659
+ attachedContext.add(
660
+ toPromptFileVariableEntry(uri, PromptFileVariableKind.InstructionReference, reason, true)
661
+ );
662
+ telemetryEvent.referencedInstructionsCount++;
663
+ debugInfo.debugDetails.push({
664
+ category: "referenced",
665
+ name: ( basename(uri).toString()),
666
+ uri,
667
+ reason
668
+ });
669
+ this._logService.trace(`[InstructionsContextComputer] ${( uri.toString())} added, referenced by ${( next.toString())}`);
670
+ }
671
+ }
672
+ }
673
+ }
674
+ next = todo.pop();
675
+ }
676
+ }
677
+ };
678
+ ComputeAutomaticInstructions = ( __decorate([( __param(4, IPromptsService)), ( __param(5, ILogService)), ( __param(6, ILabelService)), ( __param(7, IConfigurationService)), ( __param(8, IWorkspaceContextService)), ( __param(9, IFileService)), ( __param(10, IRemoteAgentService)), ( __param(11, ITelemetryService)), ( __param(12, ILanguageModelToolsService)), ( __param(13, IAgentPluginService)), ( __param(14, IPathService))], ComputeAutomaticInstructions));
679
+ function getFilePath(uri, remoteOS, isRemote = false) {
680
+ if (isRemote && uri.scheme === Schemas.file) {
681
+ return ( uri.with({
682
+ scheme: "vscode-local"
683
+ }).toString());
684
+ }
685
+ if (uri.scheme === Schemas.file || uri.scheme === Schemas.vscodeRemote) {
686
+ const fsPath = uri.fsPath;
687
+ if (remoteOS !== undefined) {
688
+ if (remoteOS === OperatingSystem.Windows) {
689
+ return fsPath.replace(/\//g, "\\");
690
+ }
691
+ return fsPath.replace(/\\/g, "/");
692
+ }
693
+ return fsPath;
694
+ }
695
+ return ( uri.toString());
696
+ }
697
+
698
+ export { ComputeAutomaticInstructions, getFilePath, lastInstructionsCollectionResult };