@codingame/monaco-vscode-chat-service-override 37.1.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 (205) hide show
  1. package/index.js +15 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +1 -1
  4. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +104 -0
  5. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +827 -0
  6. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +15 -0
  7. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +71 -0
  8. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +16 -0
  9. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +95 -0
  10. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +22 -0
  11. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +286 -0
  12. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.d.ts +10 -0
  13. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.js +38 -0
  14. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.d.ts +9 -0
  15. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.js +22 -0
  16. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +130 -0
  17. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +907 -0
  18. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.d.ts +10 -0
  19. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +28 -0
  20. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +27 -0
  21. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +167 -0
  22. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +46 -0
  23. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +356 -0
  24. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -1
  31. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +2 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +1 -1
  33. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.d.ts +1 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostExistingSessionHarnessPickerEnablement.js +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +1 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.js +5 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +2 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +1 -1
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +12 -12
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +1 -1
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +1 -1
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +1 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +1 -1
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +1 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +1 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +2 -2
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.d.ts +2 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +57 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +2 -2
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +1 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +2 -2
  112. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +1 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +3 -3
  116. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +1 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +2 -2
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +10 -2
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +1 -1
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -1
  129. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +1 -1
  130. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +253 -0
  131. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +20 -0
  132. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +1 -1
  134. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +300 -0
  136. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +272 -0
  137. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +25 -0
  138. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +178 -0
  139. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +78 -0
  140. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +51 -0
  141. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -2
  142. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +2 -2
  143. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +67 -0
  144. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +195 -0
  145. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +67 -0
  146. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +294 -0
  147. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +212 -0
  148. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +955 -0
  149. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  150. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  151. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  152. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +65 -0
  154. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +698 -0
  155. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +50 -0
  156. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +78 -0
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +77 -0
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +120 -0
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +10 -0
  160. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +23 -0
  161. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.d.ts +92 -0
  162. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.js +335 -0
  163. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +235 -0
  164. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +1673 -0
  165. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +202 -0
  166. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +872 -0
  167. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.d.ts +36 -0
  168. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +239 -0
  169. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.d.ts +21 -0
  170. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.js +143 -0
  171. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.d.ts +24 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +298 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.d.ts +25 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +177 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +73 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +577 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.d.ts +11 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +90 -0
  179. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.d.ts +16 -0
  180. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +130 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.d.ts +12 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.js +53 -0
  183. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.d.ts +5 -0
  184. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.js +12 -0
  185. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.d.ts +10 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +91 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +38 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +518 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +6 -0
  190. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +231 -0
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +4 -4
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +1 -1
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +1 -1
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +1 -1
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +1 -1
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +1 -1
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +1 -1
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +1 -1
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +1 -1
@@ -0,0 +1,294 @@
1
+
2
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
3
+ import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
4
+
5
+ var MarketplaceReferenceKind;
6
+ (function(MarketplaceReferenceKind) {
7
+ MarketplaceReferenceKind["GitHubShorthand"] = "githubShorthand";
8
+ MarketplaceReferenceKind["GitUri"] = "gitUri";
9
+ MarketplaceReferenceKind["LocalFileUri"] = "localFileUri";
10
+ })(MarketplaceReferenceKind || (MarketplaceReferenceKind = {}));
11
+ const _githubShorthandRe = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#.+)?$/;
12
+ function readConfiguredMarketplaces(configurationService) {
13
+ const userValues = configurationService.getValue(ChatConfiguration.PluginMarketplaces) ?? [];
14
+ const extraObj = configurationService.getValue(ChatConfiguration.ExtraMarketplaces) ?? {};
15
+ const extraValues = Object.entries(extraObj).flatMap(([name, value]) => {
16
+ if (typeof value !== "string") {
17
+ return [];
18
+ }
19
+ const encoded = parseExtraMarketplaceConfigValue(value);
20
+ const src = encoded?.source ?? value;
21
+ const autoUpdate = encoded?.autoUpdate;
22
+ const isGithubShorthand = _githubShorthandRe.test(src);
23
+ return [isGithubShorthand ? {
24
+ name,
25
+ autoUpdate,
26
+ source: {
27
+ source: "github",
28
+ repo: src
29
+ }
30
+ } : {
31
+ name,
32
+ autoUpdate,
33
+ source: {
34
+ source: "git",
35
+ url: src
36
+ }
37
+ }];
38
+ });
39
+ return {
40
+ userValues,
41
+ extraValues,
42
+ effectiveValues: [...userValues, ...extraValues]
43
+ };
44
+ }
45
+ function parseExtraMarketplaceConfigValue(value) {
46
+ try {
47
+ const parsed = JSON.parse(value);
48
+ return parsed && typeof parsed === "object" && typeof parsed.source === "string" && typeof parsed.autoUpdate === "boolean" ? parsed : undefined;
49
+ } catch {
50
+ return undefined;
51
+ }
52
+ }
53
+ function parseMarketplaceReferences(values) {
54
+ const byCanonicalId = ( new Map());
55
+ for (const value of values) {
56
+ let parsed;
57
+ if (typeof value === "string") {
58
+ parsed = parseMarketplaceReference(value);
59
+ } else if (value && typeof value === "object") {
60
+ parsed = parseMarketplaceObjectEntry(value);
61
+ }
62
+ if (parsed) {
63
+ const existing = byCanonicalId.get(parsed.canonicalId);
64
+ if (!existing) {
65
+ byCanonicalId.set(parsed.canonicalId, parsed);
66
+ } else if (parsed.autoUpdate !== undefined) {
67
+ byCanonicalId.set(parsed.canonicalId, {
68
+ ...existing,
69
+ autoUpdate: parsed.autoUpdate
70
+ });
71
+ }
72
+ }
73
+ }
74
+ return [...( byCanonicalId.values())];
75
+ }
76
+ function parseMarketplaceObjectEntry(entry) {
77
+ let sourceType;
78
+ let repo;
79
+ let url;
80
+ let ref;
81
+ if (entry.source && typeof entry.source === "object") {
82
+ const nested = entry.source;
83
+ sourceType = nested.source;
84
+ repo = nested.repo;
85
+ url = nested.url;
86
+ ref = nested.ref;
87
+ } else {
88
+ sourceType = entry.source;
89
+ repo = entry.repo;
90
+ url = entry.url;
91
+ ref = entry.ref;
92
+ }
93
+ let parsed;
94
+ if (sourceType === "github" && typeof repo === "string") {
95
+ parsed = parseMarketplaceReference(appendMarketplaceRef(repo, ref));
96
+ } else if (sourceType === "git" && typeof url === "string") {
97
+ parsed = parseMarketplaceReference(appendMarketplaceRef(url, ref));
98
+ }
99
+ if (parsed && typeof entry.name === "string" && entry.name.length > 0) {
100
+ parsed = {
101
+ ...parsed,
102
+ displayLabel: entry.name
103
+ };
104
+ }
105
+ if (parsed && typeof entry.autoUpdate === "boolean") {
106
+ parsed = {
107
+ ...parsed,
108
+ autoUpdate: entry.autoUpdate
109
+ };
110
+ }
111
+ return parsed;
112
+ }
113
+ function appendMarketplaceRef(value, ref) {
114
+ if (!ref) {
115
+ return value;
116
+ }
117
+ const fragmentIndex = value.indexOf("#");
118
+ const base = fragmentIndex === -1 ? value : value.slice(0, fragmentIndex);
119
+ return `${base}#${ref}`;
120
+ }
121
+ function deduplicateMarketplaceReferences(primary, secondary) {
122
+ const byCanonicalId = ( new Map());
123
+ for (const ref of primary) {
124
+ byCanonicalId.set(ref.canonicalId, ref);
125
+ }
126
+ for (const ref of secondary) {
127
+ if (!( byCanonicalId.has(ref.canonicalId))) {
128
+ byCanonicalId.set(ref.canonicalId, ref);
129
+ }
130
+ }
131
+ return [...( byCanonicalId.values())];
132
+ }
133
+ function parseMarketplaceReference(value) {
134
+ const rawValue = value.trim();
135
+ if (!rawValue) {
136
+ return undefined;
137
+ }
138
+ const uriReference = parseUriMarketplaceReference(rawValue);
139
+ if (uriReference) {
140
+ return uriReference;
141
+ }
142
+ const scpReference = parseScpMarketplaceReference(rawValue);
143
+ if (scpReference) {
144
+ return scpReference;
145
+ }
146
+ const shorthandMatch = /^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)(?:#(.+))?$/.exec(rawValue);
147
+ if (shorthandMatch) {
148
+ const owner = shorthandMatch[1];
149
+ const repo = shorthandMatch[2];
150
+ const ref = shorthandMatch[3];
151
+ return {
152
+ rawValue,
153
+ displayLabel: rawValue,
154
+ cloneUrl: `https://github.com/${owner}/${repo}.git`,
155
+ canonicalId: getGitHubCanonicalId(owner, repo, ref),
156
+ cacheSegments: ["github.com", owner, repo, ...getRefCacheSegments(ref)],
157
+ kind: MarketplaceReferenceKind.GitHubShorthand,
158
+ ref,
159
+ githubRepo: `${owner}/${repo}`
160
+ };
161
+ }
162
+ return undefined;
163
+ }
164
+ function parseUriMarketplaceReference(rawValue) {
165
+ let uri;
166
+ try {
167
+ uri = ( URI.parse(rawValue));
168
+ } catch {
169
+ return undefined;
170
+ }
171
+ const scheme = uri.scheme.toLowerCase();
172
+ if (scheme === "file" && /^file:\/\//i.test(rawValue)) {
173
+ if (uri.fragment) {
174
+ return undefined;
175
+ }
176
+ const localRepositoryUri = URI.file(uri.fsPath);
177
+ return {
178
+ rawValue,
179
+ displayLabel: localRepositoryUri.fsPath,
180
+ cloneUrl: rawValue,
181
+ canonicalId: `file:${( localRepositoryUri.toString()).toLowerCase()}`,
182
+ cacheSegments: [],
183
+ kind: MarketplaceReferenceKind.LocalFileUri,
184
+ localRepositoryUri
185
+ };
186
+ }
187
+ if (scheme !== "http" && scheme !== "https" && scheme !== "ssh") {
188
+ return undefined;
189
+ }
190
+ if (!uri.authority) {
191
+ return undefined;
192
+ }
193
+ const ref = uri.fragment || undefined;
194
+ const cloneUri = uri.fragment ? uri.with({
195
+ fragment: ""
196
+ }) : uri;
197
+ const sanitizedAuthority = sanitizePathSegment(uri.authority.toLowerCase());
198
+ const trimmedPath = uri.path.replace(/\/+/g, "/").replace(/\/+$/g, "").replace(/^\/+/, "");
199
+ if (!trimmedPath) {
200
+ return {
201
+ rawValue,
202
+ displayLabel: rawValue,
203
+ cloneUrl: ( cloneUri.toString()),
204
+ canonicalId: appendRefSuffix(`git:${uri.authority.toLowerCase()}/`, ref),
205
+ cacheSegments: [sanitizedAuthority, ...getRefCacheSegments(ref)],
206
+ kind: MarketplaceReferenceKind.GitUri,
207
+ ref
208
+ };
209
+ }
210
+ const gitSuffix = ".git";
211
+ const pathHasGitSuffix = trimmedPath.toLowerCase().endsWith(gitSuffix);
212
+ const pathWithoutGit = pathHasGitSuffix ? trimmedPath.slice(0, trimmedPath.length - gitSuffix.length) : trimmedPath;
213
+ const pathSegments = ( pathWithoutGit.split("/").map(sanitizePathSegment));
214
+ const canonicalPath = pathHasGitSuffix ? trimmedPath.toLowerCase() : `${trimmedPath.toLowerCase()}${gitSuffix}`;
215
+ const githubRepo = extractGitHubRepo(uri.authority, pathWithoutGit);
216
+ let canonicalId;
217
+ if (githubRepo) {
218
+ const [owner, repo] = githubRepo.split("/");
219
+ canonicalId = getGitHubCanonicalId(owner, repo, ref);
220
+ } else {
221
+ canonicalId = appendRefSuffix(`git:${uri.authority.toLowerCase()}/${canonicalPath}`, ref);
222
+ }
223
+ return {
224
+ rawValue,
225
+ displayLabel: rawValue,
226
+ cloneUrl: ( cloneUri.toString()),
227
+ canonicalId,
228
+ cacheSegments: [sanitizedAuthority, ...pathSegments, ...getRefCacheSegments(ref)],
229
+ kind: MarketplaceReferenceKind.GitUri,
230
+ ref,
231
+ githubRepo
232
+ };
233
+ }
234
+ function parseScpMarketplaceReference(rawValue) {
235
+ const match = /^([^@\s]+)@([^:\s]+):(.+?\.git)(?:#(.+))?$/i.exec(rawValue);
236
+ if (!match) {
237
+ return undefined;
238
+ }
239
+ const gitSuffix = ".git";
240
+ const authority = match[2];
241
+ const pathWithGit = match[3].replace(/^\/+/, "");
242
+ const ref = match[4];
243
+ if (!pathWithGit.toLowerCase().endsWith(gitSuffix)) {
244
+ return undefined;
245
+ }
246
+ const pathWithoutGit = pathWithGit.slice(0, -gitSuffix.length);
247
+ const pathSegments = ( pathWithoutGit.split("/").map(sanitizePathSegment));
248
+ const githubRepo = extractGitHubRepo(authority, pathWithoutGit);
249
+ let canonicalId;
250
+ if (githubRepo) {
251
+ const [owner, repo] = githubRepo.split("/");
252
+ canonicalId = getGitHubCanonicalId(owner, repo, ref);
253
+ } else {
254
+ canonicalId = appendRefSuffix(`git:${authority.toLowerCase()}/${pathWithGit.toLowerCase()}`, ref);
255
+ }
256
+ return {
257
+ rawValue,
258
+ displayLabel: rawValue,
259
+ cloneUrl: `${match[1]}@${authority}:${pathWithGit}`,
260
+ canonicalId,
261
+ cacheSegments: [
262
+ sanitizePathSegment(authority.toLowerCase()),
263
+ ...pathSegments,
264
+ ...getRefCacheSegments(ref)
265
+ ],
266
+ kind: MarketplaceReferenceKind.GitUri,
267
+ ref,
268
+ githubRepo
269
+ };
270
+ }
271
+ function extractGitHubRepo(authority, pathWithoutGit) {
272
+ if (authority.toLowerCase() !== "github.com") {
273
+ return undefined;
274
+ }
275
+ const parts = pathWithoutGit.split("/");
276
+ if (parts.length >= 2 && parts[0] && parts[1]) {
277
+ return `${parts[0]}/${parts[1]}`;
278
+ }
279
+ return undefined;
280
+ }
281
+ function getGitHubCanonicalId(owner, repo, ref) {
282
+ return appendRefSuffix(`github:${owner.toLowerCase()}/${repo.toLowerCase()}`, ref);
283
+ }
284
+ function appendRefSuffix(canonicalId, ref) {
285
+ return ref ? `${canonicalId}#${encodeURIComponent(ref)}` : canonicalId;
286
+ }
287
+ function getRefCacheSegments(ref) {
288
+ return ref ? [`ref_${encodeURIComponent(ref)}`] : [];
289
+ }
290
+ function sanitizePathSegment(value) {
291
+ return value.replace(/[\\/:*?"<>|]/g, "_");
292
+ }
293
+
294
+ export { MarketplaceReferenceKind, deduplicateMarketplaceReferences, parseMarketplaceObjectEntry, parseMarketplaceReference, parseMarketplaceReferences, readConfiguredMarketplaces };
@@ -0,0 +1,212 @@
1
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
5
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
6
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
7
+ import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
8
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
9
+ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
10
+ import { IMeteredConnectionService } from "@codingame/monaco-vscode-api/vscode/vs/platform/meteredConnection/common/meteredConnection.service";
11
+ import { IRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service";
12
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
13
+ import { IExtensionsWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service";
14
+ import { IAgentPluginRepositoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service";
15
+ import { IWorkspacePluginSettingsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.service";
16
+ import { IWorkspaceTrustManagementService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspaceTrust.service";
17
+ import { type IMarketplaceReference } from "./marketplaceReference.js";
18
+ import { IPluginMarketplaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service";
19
+ export { deduplicateMarketplaceReferences, extraKnownMarketplacesToConfigDict, MarketplaceReferenceKind, parseMarketplaceReference, parseMarketplaceReferences, readConfiguredMarketplaces } from "./marketplaceReference.js";
20
+ export type { IConfiguredMarketplaces, IMarketplaceReference } from "./marketplaceReference.js";
21
+ export declare enum MarketplaceType {
22
+ Copilot = "copilot",
23
+ Claude = "claude",
24
+ OpenPlugin = "openPlugin"
25
+ }
26
+ export declare enum PluginSourceKind {
27
+ RelativePath = "relativePath",
28
+ GitHub = "github",
29
+ GitUrl = "url",
30
+ Npm = "npm",
31
+ Pip = "pip"
32
+ }
33
+ export interface IRelativePathPluginSource {
34
+ readonly kind: PluginSourceKind.RelativePath;
35
+ /** Resolved relative path within the marketplace repository. */
36
+ readonly path: string;
37
+ }
38
+ export interface IGitHubPluginSource {
39
+ readonly kind: PluginSourceKind.GitHub;
40
+ readonly repo: string;
41
+ readonly ref?: string;
42
+ readonly sha?: string;
43
+ readonly path?: string;
44
+ }
45
+ export interface IGitUrlPluginSource {
46
+ readonly kind: PluginSourceKind.GitUrl;
47
+ /** Full git repository URL (must end with .git). */
48
+ readonly url: string;
49
+ readonly ref?: string;
50
+ readonly sha?: string;
51
+ /** Subdirectory within the repository where the plugin lives (for `git-subdir` sources). */
52
+ readonly path?: string;
53
+ }
54
+ export interface INpmPluginSource {
55
+ readonly kind: PluginSourceKind.Npm;
56
+ readonly package: string;
57
+ readonly version?: string;
58
+ readonly registry?: string;
59
+ }
60
+ export interface IPipPluginSource {
61
+ readonly kind: PluginSourceKind.Pip;
62
+ readonly package: string;
63
+ readonly version?: string;
64
+ readonly registry?: string;
65
+ }
66
+ export type IPluginSourceDescriptor = IRelativePathPluginSource | IGitHubPluginSource | IGitUrlPluginSource | INpmPluginSource | IPipPluginSource;
67
+ export interface IMarketplacePlugin {
68
+ readonly name: string;
69
+ readonly description: string;
70
+ readonly version: string;
71
+ /** Subdirectory within the repository where the plugin lives (for relative-path sources). */
72
+ readonly source: string;
73
+ /** Structured source descriptor indicating how the plugin should be fetched/installed. */
74
+ readonly sourceDescriptor: IPluginSourceDescriptor;
75
+ /** Marketplace label shown in UI and plugin provenance. */
76
+ readonly marketplace: string;
77
+ /** Canonical reference for clone/update/install location resolution. */
78
+ readonly marketplaceReference: IMarketplaceReference;
79
+ /** The type of marketplace this plugin comes from. */
80
+ readonly marketplaceType: MarketplaceType;
81
+ readonly readmeUri?: URI;
82
+ }
83
+ /** Raw JSON shape of a remote plugin source object in marketplace.json. */
84
+ interface IJsonPluginSource {
85
+ readonly source: string;
86
+ readonly repo?: string;
87
+ readonly url?: string;
88
+ readonly package?: string;
89
+ readonly ref?: string;
90
+ readonly sha?: string;
91
+ readonly path?: string;
92
+ readonly version?: string;
93
+ readonly registry?: string;
94
+ }
95
+ export interface IMarketplaceInstalledPlugin {
96
+ readonly pluginUri: URI;
97
+ readonly plugin: IMarketplacePlugin;
98
+ }
99
+ /**
100
+ * Options for fetching marketplace plugins.
101
+ */
102
+ export interface IFetchMarketplacePluginsOptions {
103
+ /** Bypass the marketplace caches (HTTP TTL cache and cloned-repository TTL) and re-read from the remote. */
104
+ readonly refresh?: boolean;
105
+ /**
106
+ * Called for each marketplace that could not be read. Individual failures
107
+ * are otherwise swallowed so that one bad marketplace cannot fail the
108
+ * whole fetch, which leaves callers unable to tell a partial result from
109
+ * a complete one.
110
+ */
111
+ readonly onMarketplaceError?: (reference: IMarketplaceReference, error: unknown) => void;
112
+ }
113
+ export declare class PluginMarketplaceService extends Disposable implements IPluginMarketplaceService {
114
+ private readonly _configurationService;
115
+ private readonly _requestService;
116
+ private readonly _fileService;
117
+ private readonly _pluginRepositoryService;
118
+ private readonly _logService;
119
+ private readonly _storageService;
120
+ private readonly _workspacePluginSettingsService;
121
+ private readonly _workspaceTrustService;
122
+ private readonly _extensionsWorkbenchService;
123
+ private readonly _meteredConnectionService;
124
+ readonly _serviceBrand: undefined;
125
+ private readonly _gitHubMarketplaceCache;
126
+ private readonly _installedPluginsStore;
127
+ private readonly _pluginMetadata;
128
+ private readonly _trustedMarketplacesStore;
129
+ private readonly _lastFetchedPluginsStore;
130
+ private readonly _marketplacesWithUpdates;
131
+ private readonly _updateCheckDelayer;
132
+ private _updateChecksInitialized;
133
+ private _updateCheckRunning;
134
+ readonly onDidChangeMarketplaces: Event<void>;
135
+ readonly installedPlugins: IObservable<readonly IMarketplaceInstalledPlugin[]>;
136
+ readonly marketplacesWithUpdates: IObservable<ReadonlySet<string>>;
137
+ readonly lastFetchedPlugins: IObservable<readonly IMarketplacePlugin[]>;
138
+ readonly recommendedPlugins: IObservable<ReadonlySet<string>>;
139
+ constructor(_configurationService: IConfigurationService, _requestService: IRequestService, environmentService: IEnvironmentService, _fileService: IFileService, _pluginRepositoryService: IAgentPluginRepositoryService, _logService: ILogService, _storageService: IStorageService, _workspacePluginSettingsService: IWorkspacePluginSettingsService, _workspaceTrustService: IWorkspaceTrustManagementService, _extensionsWorkbenchService: IExtensionsWorkbenchService, _meteredConnectionService: IMeteredConnectionService);
140
+ clearUpdatesAvailable(marketplaceIds?: ReadonlySet<string>): void;
141
+ fetchMarketplacePlugins(token: CancellationToken, marketplaceIds?: ReadonlySet<string>, options?: IFetchMarketplacePluginsOptions): Promise<IMarketplacePlugin[]>;
142
+ private _fetchFromGitHubRepo;
143
+ private _getCachedGitHubMarketplacePlugins;
144
+ private _loadPersistedGitHubMarketplaceCache;
145
+ private _savePersistedGitHubMarketplaceCache;
146
+ getMarketplacePluginMetadata(pluginUri: URI): IMarketplacePlugin | undefined;
147
+ addInstalledPlugin(pluginUri: URI, plugin: IMarketplacePlugin): void;
148
+ removeInstalledPlugin(pluginUri: URI): void;
149
+ isMarketplaceTrusted(ref: IMarketplaceReference): boolean;
150
+ isStrictMarketplacePolicyActive(): boolean;
151
+ isMarketplaceAutoUpdateEnabled(ref: IMarketplaceReference): boolean;
152
+ private _isMarketplaceAllowedByStrictPolicy;
153
+ /**
154
+ * Hydrates installed entries from marketplace metadata. Entries written
155
+ * by current builds include the marketplace plugin name, which is enough
156
+ * to re-read the full plugin descriptor from the marketplace source. Old
157
+ * entries without a name fall back to matching by install URI. Entries
158
+ * that came from a single-plugin repository have no marketplace index to
159
+ * look up at all and are recovered from the manifest in their install
160
+ * directory.
161
+ *
162
+ * After hydration completes the installed-plugins store is "touched" so
163
+ * that the derived {@link installedPlugins} observable re-evaluates with
164
+ * the newly available metadata.
165
+ */
166
+ private _hydratePluginMetadata;
167
+ private _readPluginsForInstalledEntry;
168
+ /**
169
+ * Shared logic to parse a marketplace.json into {@link IMarketplacePlugin}
170
+ * objects. Used by both fetch and hydration paths.
171
+ */
172
+ private _parseMarketplacePlugins;
173
+ trustMarketplace(ref: IMarketplaceReference): void;
174
+ private _hasAutoUpdateEnabledMarketplace;
175
+ /**
176
+ * (Re-)schedules the next periodic update check after startup idle and
177
+ * whenever the auto-update config or metered connection state changes.
178
+ */
179
+ private _scheduleUpdateCheck;
180
+ private _doRunUpdateCheck;
181
+ private _fetchFromClonedRepo;
182
+ readPluginsFromDirectory(repoDir: URI, reference: IMarketplaceReference): Promise<IMarketplacePlugin[]>;
183
+ readSinglePluginManifest(repoDir: URI, reference: IMarketplaceReference): Promise<IMarketplacePlugin | undefined>;
184
+ isPluginDirectory(repoDir: URI): Promise<boolean>;
185
+ private _readPluginsFromDirectory;
186
+ /**
187
+ * Iterates over {@link MARKETPLACE_DEFINITIONS} paths, calling
188
+ * {@link readJson} for each to obtain the parsed JSON. Returns the
189
+ * plugins from the first definition that yields a valid result.
190
+ */
191
+ private _readPluginsFromDefinitions;
192
+ }
193
+ /**
194
+ * Parse a raw `source` field from marketplace.json into a structured
195
+ * {@link IPluginSourceDescriptor}. Accepts either a relative-path string
196
+ * or a JSON object with a `source` discriminant indicating the kind.
197
+ */
198
+ export declare function parsePluginSource(rawSource: string | IJsonPluginSource | undefined, pluginRoot: string | undefined, logContext: {
199
+ pluginName: string;
200
+ logService: ILogService;
201
+ logPrefix: string;
202
+ }): IPluginSourceDescriptor | undefined;
203
+ /**
204
+ * Returns a human-readable label for a plugin source descriptor,
205
+ * suitable for error messages and UI display.
206
+ */
207
+ export declare function getPluginSourceLabel(descriptor: IPluginSourceDescriptor): string;
208
+ /**
209
+ * Returns `true` when the marketplace source descriptor differs from the
210
+ * installed one — meaning an update should be performed.
211
+ */
212
+ export declare function hasSourceChanged(installed: IPluginSourceDescriptor, marketplace: IPluginSourceDescriptor): boolean;