@codingame/monaco-vscode-chat-service-override 37.0.0 → 37.1.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 (324) hide show
  1. package/index.js +11 -0
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1 -1
  4. package/vscode/src/vs/platform/agentHost/common/agentHostCustomizationConfig.d.ts +74 -0
  5. package/vscode/src/vs/platform/agentHost/common/agentHostCustomizationConfig.js +90 -0
  6. package/vscode/src/vs/platform/agentHost/common/agentHostSlashCommand.d.ts +8 -0
  7. package/vscode/src/vs/platform/agentHost/common/agentHostSlashCommand.js +16 -0
  8. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +53 -53
  9. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.d.ts +16 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.js +14 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +7 -7
  12. package/vscode/src/vs/platform/agentHost/common/agentModelByokMeta.d.ts +24 -0
  13. package/vscode/src/vs/platform/agentHost/common/agentModelByokMeta.js +13 -0
  14. package/vscode/src/vs/platform/agentHost/common/agentModelNotices.d.ts +22 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentModelNotices.js +21 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentModelPricing.d.ts +114 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentModelPricing.js +56 -0
  18. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +15 -1
  19. package/vscode/src/vs/platform/agentHost/common/copilotConfigSlashCommands.d.ts +73 -0
  20. package/vscode/src/vs/platform/agentHost/common/copilotConfigSlashCommands.js +141 -0
  21. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +42 -1
  22. package/vscode/src/vs/platform/agentHost/common/meta/agentCustomizationMeta.d.ts +27 -0
  23. package/vscode/src/vs/platform/agentHost/common/meta/agentCustomizationMeta.js +14 -0
  24. package/vscode/src/vs/platform/agentHost/common/meta/agentEphemeralSessionMeta.d.ts +14 -0
  25. package/vscode/src/vs/platform/agentHost/common/meta/agentEphemeralSessionMeta.js +11 -0
  26. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +13 -13
  27. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +1 -1
  28. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -1
  29. package/vscode/src/vs/platform/agentHost/common/toolSearchConstants.d.ts +4 -0
  30. package/vscode/src/vs/platform/agentHost/common/toolSearchConstants.js +6 -0
  31. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  32. package/vscode/src/vs/workbench/browser/chatChangesPill.js +2 -2
  33. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +28 -28
  34. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  35. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +18 -18
  36. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  38. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  39. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +11 -11
  40. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  41. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  42. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  43. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  45. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  46. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +28 -28
  47. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +18 -18
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +93 -93
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +7 -7
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +7 -7
  58. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  59. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  60. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  61. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  62. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  63. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +14 -14
  64. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  65. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -15
  66. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  67. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  68. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +32 -32
  69. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +5 -5
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +7 -7
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -12
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +15 -15
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.d.ts +34 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.js +229 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.d.ts +57 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.js +460 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.d.ts +1 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.js +92 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAllowSignedOutWhenUsableContribution.d.ts +23 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAllowSignedOutWhenUsableContribution.js +46 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.d.ts +142 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.js +746 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.d.ts +77 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.js +474 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostConfigEditor.d.ts +169 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostConfigEditor.js +261 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCopilotCliSettingsContribution.d.ts +20 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCopilotCliSettingsContribution.js +90 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.d.ts +35 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.js +73 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostExistingSessionHarnessPickerEnablement.d.ts +20 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostExistingSessionHarnessPickerEnablement.js +61 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.d.ts +112 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.js +192 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.d.ts +21 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.js +137 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +301 -12
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostRootConfigForwarder.d.ts +84 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostRootConfigForwarder.js +96 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.d.ts +884 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.js +5868 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +19 -19
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListContribution.d.ts +27 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListContribution.js +129 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListController.d.ts +42 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListController.js +221 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.d.ts +125 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.js +345 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.d.ts +1 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.js +68 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.d.ts +62 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.js +163 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.d.ts +54 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.js +219 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSubagentProgress.d.ts +10 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSubagentProgress.js +50 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.d.ts +42 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.js +132 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.d.ts +1 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.js +85 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.d.ts +79 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.js +161 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSubmitConfig.d.ts +18 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSubmitConfig.js +13 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/copilotConfigSlashSubmitHandler.d.ts +28 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/copilotConfigSlashSubmitHandler.js +71 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.d.ts +35 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.js +205 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +50 -50
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +3 -3
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +6 -6
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +7 -7
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +3 -3
  147. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -15
  148. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +126 -126
  149. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +44 -44
  150. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +137 -137
  151. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +6 -6
  153. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +37 -37
  154. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +1 -1
  155. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +6 -6
  157. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +145 -145
  158. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +29 -29
  159. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +9 -9
  160. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +40 -40
  161. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +8 -8
  163. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +5 -5
  164. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +75 -75
  165. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +115 -115
  166. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +4 -4
  167. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +50 -50
  168. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +344 -344
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +37 -37
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +5 -5
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +124 -124
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +3 -3
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +35 -35
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +40 -40
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  193. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  194. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +2 -2
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +3 -3
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -63
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +12 -12
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +1 -1
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +35 -35
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +25 -25
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +19 -19
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -16
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +20 -20
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +62 -62
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +10 -10
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +7 -7
  227. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  228. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  229. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  230. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  231. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +6 -6
  233. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +6 -6
  234. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +27 -27
  235. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  236. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  237. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +2 -2
  238. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  239. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  243. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  244. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  245. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  246. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  247. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +5 -5
  248. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +4 -4
  249. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +4 -4
  250. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +3 -3
  251. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +1 -1
  252. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +3 -3
  253. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  254. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +18 -18
  255. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +2 -2
  256. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +10 -10
  257. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  258. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +25 -25
  259. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +8 -8
  260. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  261. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  262. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  263. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +1 -1
  264. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +17 -17
  265. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +15 -15
  266. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +11 -11
  267. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +10 -10
  269. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  270. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +3 -3
  271. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  273. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -11
  274. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  275. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +8 -8
  276. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  277. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +12 -12
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +154 -154
  283. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +9 -9
  284. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  285. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  286. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  288. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  289. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  290. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +1 -1
  291. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  292. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  296. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +10 -10
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +73 -73
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +4 -4
  320. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +3 -3
  321. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +0 -30
  322. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +0 -87
  323. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +0 -205
  324. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +0 -1580
@@ -74,13 +74,13 @@ let PromptValidator = class PromptValidator {
74
74
  const location = this.promptsService.getAgentFileURIFromModeFile(promptAST.uri);
75
75
  if (location && (await this.fileService.canCreateFile(location))) {
76
76
  report(toMarker(( localize(
77
- 10497,
77
+ 10692,
78
78
  "Chat modes have been renamed to agents. Please move this file to {0}",
79
79
  (location.toString())
80
80
  )), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
81
81
  } else {
82
82
  report(toMarker(( localize(
83
- 10498,
83
+ 10693,
84
84
  "Chat modes have been renamed to agents. Please move the file to {0}",
85
85
  AGENTS_SOURCE_FOLDER
86
86
  )), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
@@ -93,13 +93,13 @@ let PromptValidator = class PromptValidator {
93
93
  }
94
94
  const nameAttribute = promptAST.header.getAttribute(PromptHeaderAttributes.name);
95
95
  if (!nameAttribute) {
96
- report(toMarker(( localize(10499, "Skill should provide a name.")), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
96
+ report(toMarker(( localize(10694, "Skill should provide a name.")), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
97
97
  } else if (nameAttribute.value.type === "scalar") {
98
98
  const skillName = nameAttribute.value.value.trim();
99
99
  if (skillName.length > 0) {
100
100
  if (!VALID_SKILL_NAME_REGEX.test(skillName)) {
101
101
  report(toMarker(( localize(
102
- 10500,
102
+ 10695,
103
103
  "Skill name may only contain lowercase letters, numbers, and hyphens."
104
104
  )), nameAttribute.value.range, MarkerSeverity.Error));
105
105
  }
@@ -109,7 +109,7 @@ let PromptValidator = class PromptValidator {
109
109
  const folderName = pathParts[skillIndex - 1];
110
110
  if (folderName && skillName !== folderName) {
111
111
  report(toMarker(( localize(
112
- 10501,
112
+ 10696,
113
113
  "The skill name '{0}' should match the folder name '{1}'.",
114
114
  skillName,
115
115
  folderName
@@ -120,12 +120,12 @@ let PromptValidator = class PromptValidator {
120
120
  }
121
121
  const descriptionAttribute = promptAST.header.getAttribute(PromptHeaderAttributes.description);
122
122
  if (!descriptionAttribute) {
123
- report(toMarker(( localize(10502, "Skill should provide a description.")), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
123
+ report(toMarker(( localize(10697, "Skill should provide a description.")), ( new Range(1, 1, 1, 4)), MarkerSeverity.Warning));
124
124
  if (promptAST.header.userInvocable === false) {
125
125
  const userInvocableAttr = promptAST.header.getAttribute(PromptHeaderAttributes.userInvocable);
126
126
  if (userInvocableAttr) {
127
127
  report(toMarker(( localize(
128
- 10503,
128
+ 10698,
129
129
  "A description is required when user-invocable is false, because the model needs a description to decide when to load the skill."
130
130
  )), userInvocableAttr.value.range, MarkerSeverity.Error));
131
131
  }
@@ -134,7 +134,7 @@ let PromptValidator = class PromptValidator {
134
134
  const disableModelInvocationAttr = promptAST.header.getAttribute(PromptHeaderAttributes.disableModelInvocation);
135
135
  if (disableModelInvocationAttr) {
136
136
  report(toMarker(( localize(
137
- 10504,
137
+ 10699,
138
138
  "A description is required when model invocation is enabled, because the model needs a description to decide when to load the skill."
139
139
  )), disableModelInvocationAttr.value.range, MarkerSeverity.Error));
140
140
  }
@@ -145,7 +145,7 @@ let PromptValidator = class PromptValidator {
145
145
  const skillToolEnabled = this.configurationService.getValue("github.copilot.chat.skillTool.enabled");
146
146
  if (!skillToolEnabled) {
147
147
  report(toMarker(( localize(
148
- 10505,
148
+ 10700,
149
149
  "The 'context: fork' attribute requires the skill tool to be enabled (github.copilot.chat.skillTool.enabled)."
150
150
  )), contextAttribute.value.range, MarkerSeverity.Warning));
151
151
  }
@@ -164,7 +164,7 @@ let PromptValidator = class PromptValidator {
164
164
  }
165
165
  const resolved = body.resolveFilePath(ref.content, userHome);
166
166
  if (!resolved) {
167
- report(toMarker(( localize(10506, "Invalid file reference '{0}'.", ref.content)), ref.range, MarkerSeverity.Warning));
167
+ report(toMarker(( localize(10701, "Invalid file reference '{0}'.", ref.content)), ref.range, MarkerSeverity.Warning));
168
168
  continue;
169
169
  }
170
170
  if (promptAST.uri.scheme === resolved.scheme) {
@@ -173,7 +173,7 @@ let PromptValidator = class PromptValidator {
173
173
  const exists = await this.fileService.exists(resolved);
174
174
  if (!exists) {
175
175
  const loc = this.labelService.getUriLabel(resolved);
176
- report(toMarker(( localize(10507, "File '{0}' not found at '{1}'.", ref.content, loc)), ref.range, MarkerSeverity.Warning));
176
+ report(toMarker(( localize(10702, "File '{0}' not found at '{1}'.", ref.content, loc)), ref.range, MarkerSeverity.Warning));
177
177
  }
178
178
  } catch (e) {
179
179
  this.logger.warn(
@@ -196,7 +196,7 @@ let PromptValidator = class PromptValidator {
196
196
  if (currentNames.size === 1) {
197
197
  const newName = Array.from(currentNames)[0];
198
198
  report(toMarker(( localize(
199
- 10508,
199
+ 10703,
200
200
  "Tool or toolset '{0}' has been renamed, use '{1}' instead.",
201
201
  variable.name,
202
202
  newName
@@ -204,7 +204,7 @@ let PromptValidator = class PromptValidator {
204
204
  } else {
205
205
  const newNames = Array.from(currentNames).sort((a, b) => a.localeCompare(b)).join(", ");
206
206
  report(toMarker(( localize(
207
- 10509,
207
+ 10704,
208
208
  "Tool or toolset '{0}' has been renamed, use the following tools instead: {1}",
209
209
  variable.name,
210
210
  newNames
@@ -228,7 +228,7 @@ let PromptValidator = class PromptValidator {
228
228
  const tool = this.languageModelToolsService.getToolByFullReferenceName(variable.name);
229
229
  if (tool && headerToolsMap.get(tool) === false) {
230
230
  report(toMarker(( localize(
231
- 10510,
231
+ 10705,
232
232
  "Tool or toolset '{0}' also needs to be enabled in the header.",
233
233
  variable.name
234
234
  )), variable.range, MarkerSeverity.Warning));
@@ -302,7 +302,7 @@ let PromptValidator = class PromptValidator {
302
302
  switch (promptType) {
303
303
  case PromptsType.prompt:
304
304
  report(toMarker(( localize(
305
- 10511,
305
+ 10706,
306
306
  "Attribute '{0}' is not supported in prompt files. Supported: {1}.",
307
307
  attribute.key,
308
308
  supportedNames.value
@@ -311,7 +311,7 @@ let PromptValidator = class PromptValidator {
311
311
  case PromptsType.agent:
312
312
  if (target === Target.GitHubCopilot) {
313
313
  report(toMarker(( localize(
314
- 10512,
314
+ 10707,
315
315
  "Attribute '{0}' is not supported in custom GitHub Copilot agent files. Supported: {1}.",
316
316
  attribute.key,
317
317
  supportedNames.value
@@ -320,13 +320,13 @@ let PromptValidator = class PromptValidator {
320
320
  ; else {
321
321
  if (( validGithubCopilotAttributeNames.value.has(attribute.key))) {
322
322
  report(toMarker(( localize(
323
- 10513,
323
+ 10708,
324
324
  "Attribute '{0}' is ignored when running locally in VS Code.",
325
325
  attribute.key
326
326
  )), attribute.range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
327
327
  } else {
328
328
  report(toMarker(( localize(
329
- 10514,
329
+ 10709,
330
330
  "Attribute '{0}' is not supported in VS Code agent files. Supported: {1}.",
331
331
  attribute.key,
332
332
  supportedNames.value
@@ -337,14 +337,14 @@ let PromptValidator = class PromptValidator {
337
337
  case PromptsType.instructions:
338
338
  if (target === Target.Claude) {
339
339
  report(toMarker(( localize(
340
- 10515,
340
+ 10710,
341
341
  "Attribute '{0}' is not supported in rules files by VS Code agents. Supported: {1}.",
342
342
  attribute.key,
343
343
  supportedNames.value
344
344
  )), attribute.range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
345
345
  } else {
346
346
  report(toMarker(( localize(
347
- 10516,
347
+ 10711,
348
348
  "Attribute '{0}' is not supported in instructions files. Supported: {1}.",
349
349
  attribute.key,
350
350
  supportedNames.value
@@ -353,7 +353,7 @@ let PromptValidator = class PromptValidator {
353
353
  break;
354
354
  case PromptsType.skill:
355
355
  report(toMarker(( localize(
356
- 10517,
356
+ 10712,
357
357
  "Attribute '{0}' is not supported by VS Code skills. Supported: {1}.",
358
358
  attribute.key,
359
359
  supportedNames.value
@@ -369,11 +369,11 @@ let PromptValidator = class PromptValidator {
369
369
  return;
370
370
  }
371
371
  if (nameAttribute.value.type !== "scalar") {
372
- report(toMarker(( localize(10518, "The 'name' attribute must be a string.")), nameAttribute.range, MarkerSeverity.Error));
372
+ report(toMarker(( localize(10713, "The 'name' attribute must be a string.")), nameAttribute.range, MarkerSeverity.Error));
373
373
  return;
374
374
  }
375
375
  if (nameAttribute.value.value.trim().length === 0) {
376
- report(toMarker(( localize(10519, "The 'name' attribute must not be empty.")), nameAttribute.value.range, MarkerSeverity.Error));
376
+ report(toMarker(( localize(10714, "The 'name' attribute must not be empty.")), nameAttribute.value.range, MarkerSeverity.Error));
377
377
  return;
378
378
  }
379
379
  }
@@ -383,11 +383,11 @@ let PromptValidator = class PromptValidator {
383
383
  return;
384
384
  }
385
385
  if (descriptionAttribute.value.type !== "scalar") {
386
- report(toMarker(( localize(10520, "The 'description' attribute must be a string.")), descriptionAttribute.range, MarkerSeverity.Error));
386
+ report(toMarker(( localize(10715, "The 'description' attribute must be a string.")), descriptionAttribute.range, MarkerSeverity.Error));
387
387
  return;
388
388
  }
389
389
  if (descriptionAttribute.value.value.trim().length === 0) {
390
- report(toMarker(( localize(10521, "The 'description' attribute should not be empty.")), descriptionAttribute.value.range, MarkerSeverity.Error));
390
+ report(toMarker(( localize(10716, "The 'description' attribute should not be empty.")), descriptionAttribute.value.range, MarkerSeverity.Error));
391
391
  return;
392
392
  }
393
393
  }
@@ -397,11 +397,11 @@ let PromptValidator = class PromptValidator {
397
397
  return;
398
398
  }
399
399
  if (argumentHintAttribute.value.type !== "scalar") {
400
- report(toMarker(( localize(10522, "The 'argument-hint' attribute must be a string.")), argumentHintAttribute.range, MarkerSeverity.Error));
400
+ report(toMarker(( localize(10717, "The 'argument-hint' attribute must be a string.")), argumentHintAttribute.range, MarkerSeverity.Error));
401
401
  return;
402
402
  }
403
403
  if (argumentHintAttribute.value.value.trim().length === 0) {
404
- report(toMarker(( localize(10523, "The 'argument-hint' attribute should not be empty.")), argumentHintAttribute.value.range, MarkerSeverity.Warning));
404
+ report(toMarker(( localize(10718, "The 'argument-hint' attribute should not be empty.")), argumentHintAttribute.value.range, MarkerSeverity.Warning));
405
405
  return;
406
406
  }
407
407
  }
@@ -411,30 +411,30 @@ let PromptValidator = class PromptValidator {
411
411
  return;
412
412
  }
413
413
  if (attribute.value.type !== "scalar" && attribute.value.type !== "sequence") {
414
- report(toMarker(( localize(10524, "The 'model' attribute must be a string or an array of strings.")), attribute.value.range, MarkerSeverity.Error));
414
+ report(toMarker(( localize(10719, "The 'model' attribute must be a string or an array of strings.")), attribute.value.range, MarkerSeverity.Error));
415
415
  return;
416
416
  }
417
417
  const modelNames = [];
418
418
  if (attribute.value.type === "scalar") {
419
419
  const modelName = attribute.value.value.trim();
420
420
  if (modelName.length === 0) {
421
- report(toMarker(( localize(10525, "The 'model' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
421
+ report(toMarker(( localize(10720, "The 'model' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
422
422
  return;
423
423
  }
424
424
  modelNames.push([modelName, attribute.value.range]);
425
425
  } else if (attribute.value.type === "sequence") {
426
426
  if (attribute.value.items.length === 0) {
427
- report(toMarker(( localize(10526, "The 'model' array must not be empty.")), attribute.value.range, MarkerSeverity.Error));
427
+ report(toMarker(( localize(10721, "The 'model' array must not be empty.")), attribute.value.range, MarkerSeverity.Error));
428
428
  return;
429
429
  }
430
430
  for (const item of attribute.value.items) {
431
431
  if (item.type !== "scalar") {
432
- report(toMarker(( localize(10527, "The 'model' array must contain only strings.")), item.range, MarkerSeverity.Error));
432
+ report(toMarker(( localize(10722, "The 'model' array must contain only strings.")), item.range, MarkerSeverity.Error));
433
433
  return;
434
434
  }
435
435
  const modelName = item.value.trim();
436
436
  if (modelName.length === 0) {
437
- report(toMarker(( localize(10528, "Model names in the array must be non-empty strings.")), item.range, MarkerSeverity.Error));
437
+ report(toMarker(( localize(10723, "Model names in the array must be non-empty strings.")), item.range, MarkerSeverity.Error));
438
438
  return;
439
439
  }
440
440
  modelNames.push([modelName, item.range]);
@@ -447,9 +447,9 @@ let PromptValidator = class PromptValidator {
447
447
  for (const [modelName, range] of modelNames) {
448
448
  const modelMetadata = this.findModelByName(modelName);
449
449
  if (!modelMetadata) {
450
- report(toMarker(( localize(10529, "Unknown model '{0}' will be ignored.", modelName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
450
+ report(toMarker(( localize(10724, "Unknown model '{0}' will be ignored.", modelName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary]));
451
451
  } else if (agentKind === ChatModeKind.Agent && !ILanguageModelChatMetadata.suitableForAgentMode(modelMetadata)) {
452
- report(toMarker(( localize(10530, "Model '{0}' is not suited for agent mode.", modelName)), range, MarkerSeverity.Warning));
452
+ report(toMarker(( localize(10725, "Model '{0}' is not suited for agent mode.", modelName)), range, MarkerSeverity.Warning));
453
453
  }
454
454
  }
455
455
  }
@@ -463,13 +463,13 @@ let PromptValidator = class PromptValidator {
463
463
  continue;
464
464
  }
465
465
  if (attribute.value.type !== "scalar") {
466
- report(toMarker(( localize(10531, "The '{0}' attribute must be a string.", claudeAttributeName)), attribute.value.range, MarkerSeverity.Error));
466
+ report(toMarker(( localize(10726, "The '{0}' attribute must be a string.", claudeAttributeName)), attribute.value.range, MarkerSeverity.Error));
467
467
  continue;
468
468
  } else {
469
469
  const modelName = attribute.value.value.trim();
470
470
  if (enumValues.every(model => model.name !== modelName)) {
471
471
  const validValues = ( enumValues.map(model => model.name)).join(", ");
472
- report(toMarker(( localize(10532, "Unknown value '{0}', valid: {1}.", modelName, validValues)), attribute.value.range, MarkerSeverity.Warning));
472
+ report(toMarker(( localize(10727, "Unknown value '{0}', valid: {1}.", modelName, validValues)), attribute.value.range, MarkerSeverity.Warning));
473
473
  }
474
474
  }
475
475
  }
@@ -488,12 +488,12 @@ let PromptValidator = class PromptValidator {
488
488
  if (modeAttribute) {
489
489
  if (agentAttribute) {
490
490
  report(toMarker(( localize(
491
- 10533,
491
+ 10728,
492
492
  "The 'mode' attribute has been deprecated. The 'agent' attribute is used instead."
493
493
  )), modeAttribute.range, MarkerSeverity.Warning, [MarkerTag.Deprecated]));
494
494
  } else {
495
495
  report(toMarker(( localize(
496
- 10534,
496
+ 10729,
497
497
  "The 'mode' attribute has been deprecated. Please rename it to 'agent'."
498
498
  )), modeAttribute.range, MarkerSeverity.Warning, [MarkerTag.Deprecated]));
499
499
  }
@@ -503,12 +503,12 @@ let PromptValidator = class PromptValidator {
503
503
  return undefined;
504
504
  }
505
505
  if (attribute.value.type !== "scalar") {
506
- report(toMarker(( localize(10535, "The '{0}' attribute must be a string.", attribute.key)), attribute.value.range, MarkerSeverity.Error));
506
+ report(toMarker(( localize(10730, "The '{0}' attribute must be a string.", attribute.key)), attribute.value.range, MarkerSeverity.Error));
507
507
  return undefined;
508
508
  }
509
509
  const agentValue = attribute.value.value;
510
510
  if (agentValue.trim().length === 0) {
511
- report(toMarker(( localize(10536, "The '{0}' attribute must be a non-empty string.", attribute.key)), attribute.value.range, MarkerSeverity.Error));
511
+ report(toMarker(( localize(10731, "The '{0}' attribute must be a non-empty string.", attribute.key)), attribute.value.range, MarkerSeverity.Error));
512
512
  return undefined;
513
513
  }
514
514
  return await this.validateAgentValue(attribute.value, report);
@@ -523,7 +523,7 @@ let PromptValidator = class PromptValidator {
523
523
  availableAgents.push(agent.name.get());
524
524
  }
525
525
  const errorMessage = ( localize(
526
- 10537,
526
+ 10732,
527
527
  "Unknown agent '{0}'. Available agents: {1}.",
528
528
  value.value,
529
529
  availableAgents.join(", ")
@@ -538,7 +538,7 @@ let PromptValidator = class PromptValidator {
538
538
  }
539
539
  if (agentKind !== ChatModeKind.Agent) {
540
540
  report(toMarker(( localize(
541
- 10538,
541
+ 10733,
542
542
  "The 'tools' attribute is only supported when using agents. Attribute will be ignored."
543
543
  )), attribute.range, MarkerSeverity.Warning));
544
544
  }
@@ -548,7 +548,7 @@ let PromptValidator = class PromptValidator {
548
548
  }
549
549
  if (value.type !== "sequence") {
550
550
  report(toMarker(( localize(
551
- 10539,
551
+ 10734,
552
552
  "The 'tools' attribute must be an array or a comma separated string."
553
553
  )), attribute.value.range, MarkerSeverity.Error));
554
554
  return;
@@ -564,7 +564,7 @@ let PromptValidator = class PromptValidator {
564
564
  const deprecatedNames = this.languageModelToolsService.getDeprecatedFullReferenceNames();
565
565
  for (const item of valueItem.items) {
566
566
  if (item.type !== "scalar") {
567
- report(toMarker(( localize(10540, "Each tool name in the 'tools' attribute must be a string.")), item.range, MarkerSeverity.Error));
567
+ report(toMarker(( localize(10735, "Each tool name in the 'tools' attribute must be a string.")), item.range, MarkerSeverity.Error));
568
568
  } else if (item.value) {
569
569
  if (!( available.has(item.value))) {
570
570
  const currentNames = deprecatedNames.get(item.value);
@@ -572,7 +572,7 @@ let PromptValidator = class PromptValidator {
572
572
  if (currentNames?.size === 1) {
573
573
  const newName = Array.from(currentNames)[0];
574
574
  report(toMarker(( localize(
575
- 10541,
575
+ 10736,
576
576
  "Tool or toolset '{0}' has been renamed, use '{1}' instead.",
577
577
  item.value,
578
578
  newName
@@ -580,7 +580,7 @@ let PromptValidator = class PromptValidator {
580
580
  } else {
581
581
  const newNames = Array.from(currentNames).sort((a, b) => a.localeCompare(b)).join(", ");
582
582
  report(toMarker(( localize(
583
- 10542,
583
+ 10737,
584
584
  "Tool or toolset '{0}' has been renamed, use the following tools instead: {1}",
585
585
  item.value,
586
586
  newNames
@@ -610,22 +610,22 @@ let PromptValidator = class PromptValidator {
610
610
  const hasExtensionLikeName = splitBySlash[0].includes(".");
611
611
  if (slashCount >= 2) {
612
612
  return toMarker(( localize(
613
- 10543,
613
+ 10738,
614
614
  "Unknown tool '{0}'. It is likely to be a missing MCP server, please ensure it is installed and enabled.",
615
615
  toolReferenceName
616
616
  )), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownMcpServerReference);
617
617
  }
618
618
  if (hasExtensionLikeName) {
619
619
  return toMarker(( localize(
620
- 10544,
620
+ 10739,
621
621
  "Unknown extension tool '{0}'. It is likely to be a missing extension, please ensure it is installed and enabled.",
622
622
  toolReferenceName
623
623
  )), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionReference);
624
624
  }
625
625
  if (isVariableReference) {
626
- return toMarker(( localize(10545, "Unknown tool or toolset '{0}'.", toolReferenceName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionOrMcpServerReference);
626
+ return toMarker(( localize(10740, "Unknown tool or toolset '{0}'.", toolReferenceName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionOrMcpServerReference);
627
627
  } else {
628
- return toMarker(( localize(10546, "Unknown tool '{0}' will be ignored.", toolReferenceName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionOrMcpServerReference);
628
+ return toMarker(( localize(10741, "Unknown tool '{0}' will be ignored.", toolReferenceName)), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.UnknownExtensionOrMcpServerReference);
629
629
  }
630
630
  }
631
631
  getMissingGithubMcpServerMarker(toolReferenceName, range) {
@@ -633,7 +633,7 @@ let PromptValidator = class PromptValidator {
633
633
  return undefined;
634
634
  }
635
635
  return toMarker(( localize(
636
- 10547,
636
+ 10742,
637
637
  "Tool alias '{0}' requires the GitHub MCP server. Enable the built-in server with setting 'github.copilot.chat.githubMcpServer.enabled' or install extension 'io.github.github/github-mcp-server' from Extensions (`@mcp github`).",
638
638
  toolReferenceName
639
639
  )), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.MissingGithubMcpServer);
@@ -643,7 +643,7 @@ let PromptValidator = class PromptValidator {
643
643
  return undefined;
644
644
  }
645
645
  return toMarker(( localize(
646
- 10548,
646
+ 10743,
647
647
  "Tool alias '{0}' requires the Playwright MCP server. Install it from Extensions (`@mcp playwright`).",
648
648
  toolReferenceName
649
649
  )), range, MarkerSeverity.Hint, [MarkerTag.Unnecessary], PromptValidatorMarkerCode.MissingPlaywrightMcpServer);
@@ -654,25 +654,25 @@ let PromptValidator = class PromptValidator {
654
654
  return;
655
655
  }
656
656
  if (attribute.value.type !== "scalar") {
657
- report(toMarker(( localize(10549, "The 'applyTo' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
657
+ report(toMarker(( localize(10744, "The 'applyTo' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
658
658
  return;
659
659
  }
660
660
  const pattern = attribute.value.value;
661
661
  try {
662
662
  const patterns = splitGlobAware(pattern, ",");
663
663
  if (patterns.length === 0) {
664
- report(toMarker(( localize(10550, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
664
+ report(toMarker(( localize(10745, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
665
665
  return;
666
666
  }
667
667
  for (const pattern of patterns) {
668
668
  const globPattern = parse(pattern);
669
669
  if (isEmptyPattern(globPattern)) {
670
- report(toMarker(( localize(10550, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
670
+ report(toMarker(( localize(10745, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
671
671
  return;
672
672
  }
673
673
  }
674
674
  } catch (_error) {
675
- report(toMarker(( localize(10550, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
675
+ report(toMarker(( localize(10745, "The 'applyTo' attribute must be a valid glob pattern.")), attribute.value.range, MarkerSeverity.Error));
676
676
  }
677
677
  }
678
678
  validatePaths(attributes, report) {
@@ -681,26 +681,26 @@ let PromptValidator = class PromptValidator {
681
681
  return;
682
682
  }
683
683
  if (attribute.value.type !== "sequence") {
684
- report(toMarker(( localize(10551, "The 'paths' attribute must be an array of glob patterns.")), attribute.value.range, MarkerSeverity.Error));
684
+ report(toMarker(( localize(10746, "The 'paths' attribute must be an array of glob patterns.")), attribute.value.range, MarkerSeverity.Error));
685
685
  return;
686
686
  }
687
687
  for (const item of attribute.value.items) {
688
688
  if (item.type !== "scalar") {
689
- report(toMarker(( localize(10552, "Each entry in the 'paths' attribute must be a string.")), item.range, MarkerSeverity.Error));
689
+ report(toMarker(( localize(10747, "Each entry in the 'paths' attribute must be a string.")), item.range, MarkerSeverity.Error));
690
690
  continue;
691
691
  }
692
692
  const pattern = item.value.trim();
693
693
  if (pattern.length === 0) {
694
- report(toMarker(( localize(10553, "Path entries must be non-empty glob patterns.")), item.range, MarkerSeverity.Error));
694
+ report(toMarker(( localize(10748, "Path entries must be non-empty glob patterns.")), item.range, MarkerSeverity.Error));
695
695
  continue;
696
696
  }
697
697
  try {
698
698
  const globPattern = parse(pattern);
699
699
  if (isEmptyPattern(globPattern)) {
700
- report(toMarker(( localize(10554, "'{0}' is not a valid glob pattern.", pattern)), item.range, MarkerSeverity.Error));
700
+ report(toMarker(( localize(10749, "'{0}' is not a valid glob pattern.", pattern)), item.range, MarkerSeverity.Error));
701
701
  }
702
702
  } catch (_error) {
703
- report(toMarker(( localize(10554, "'{0}' is not a valid glob pattern.", pattern)), item.range, MarkerSeverity.Error));
703
+ report(toMarker(( localize(10749, "'{0}' is not a valid glob pattern.", pattern)), item.range, MarkerSeverity.Error));
704
704
  }
705
705
  }
706
706
  }
@@ -710,7 +710,7 @@ let PromptValidator = class PromptValidator {
710
710
  return;
711
711
  }
712
712
  if (attribute.value.type !== "sequence" && attribute.value.type !== "scalar") {
713
- report(toMarker(( localize(10555, "The 'excludeAgent' attribute must be an string or array.")), attribute.value.range, MarkerSeverity.Error));
713
+ report(toMarker(( localize(10750, "The 'excludeAgent' attribute must be an string or array.")), attribute.value.range, MarkerSeverity.Error));
714
714
  return;
715
715
  }
716
716
  }
@@ -721,7 +721,7 @@ let PromptValidator = class PromptValidator {
721
721
  }
722
722
  if (attribute.value.type !== "map") {
723
723
  report(toMarker(( localize(
724
- 10556,
724
+ 10751,
725
725
  "The 'hooks' attribute must be a map of hook event types to command arrays."
726
726
  )), attribute.value.range, MarkerSeverity.Error));
727
727
  return;
@@ -730,7 +730,7 @@ let PromptValidator = class PromptValidator {
730
730
  for (const prop of attribute.value.properties) {
731
731
  if (!( validHookNames.has(prop.key.value))) {
732
732
  report(toMarker(( localize(
733
- 10557,
733
+ 10752,
734
734
  "Unknown hook event type '{0}'. Supported: {1}.",
735
735
  prop.key.value,
736
736
  Array.from(validHookNames).join(", ")
@@ -738,7 +738,7 @@ let PromptValidator = class PromptValidator {
738
738
  }
739
739
  if (prop.value.type !== "sequence") {
740
740
  report(toMarker(( localize(
741
- 10558,
741
+ 10753,
742
742
  "Hook event '{0}' must have an array of command objects as its value.",
743
743
  prop.key.value
744
744
  )), prop.value.range, MarkerSeverity.Error));
@@ -751,19 +751,19 @@ let PromptValidator = class PromptValidator {
751
751
  }
752
752
  validateHookCommand(item, target, report) {
753
753
  if (item.type !== "map") {
754
- report(toMarker(( localize(10559, "Each hook command must be an object.")), item.range, MarkerSeverity.Error));
754
+ report(toMarker(( localize(10754, "Each hook command must be an object.")), item.range, MarkerSeverity.Error));
755
755
  return;
756
756
  }
757
757
  const hooksProperty = item.properties.find(p => p.key.value === "hooks");
758
758
  if (hooksProperty) {
759
759
  for (const prop of item.properties) {
760
760
  if (prop.key.value !== "hooks" && prop.key.value !== "matcher") {
761
- report(toMarker(( localize(10560, "Unknown property '{0}' in hook matcher.", prop.key.value)), prop.key.range, MarkerSeverity.Warning));
761
+ report(toMarker(( localize(10755, "Unknown property '{0}' in hook matcher.", prop.key.value)), prop.key.range, MarkerSeverity.Warning));
762
762
  }
763
763
  }
764
764
  if (hooksProperty.value.type !== "sequence") {
765
765
  report(toMarker(( localize(
766
- 10561,
766
+ 10756,
767
767
  "The 'hooks' property in a matcher must be an array of command objects."
768
768
  )), hooksProperty.value.range, MarkerSeverity.Error));
769
769
  return;
@@ -792,37 +792,37 @@ let PromptValidator = class PromptValidator {
792
792
  for (const prop of item.properties) {
793
793
  const key = prop.key.value;
794
794
  if (!( validProperties.has(key))) {
795
- report(toMarker(( localize(10562, "Unknown property '{0}' in hook command.", key)), prop.key.range, MarkerSeverity.Warning));
795
+ report(toMarker(( localize(10757, "Unknown property '{0}' in hook command.", key)), prop.key.range, MarkerSeverity.Warning));
796
796
  }
797
797
  if (key === "type") {
798
798
  hasType = true;
799
799
  if (prop.value.type !== "scalar" || prop.value.value !== "command") {
800
- report(toMarker(( localize(10563, "The 'type' property in a hook command must be 'command'.")), prop.value.range, MarkerSeverity.Error));
800
+ report(toMarker(( localize(10758, "The 'type' property in a hook command must be 'command'.")), prop.value.range, MarkerSeverity.Error));
801
801
  }
802
802
  } else if (( validCommandFields.has(key))) {
803
803
  hasCommandField = true;
804
804
  if (prop.value.type !== "scalar" || prop.value.value.trim().length === 0) {
805
805
  report(toMarker(( localize(
806
- 10564,
806
+ 10759,
807
807
  "The '{0}' property in a hook command must be a non-empty string.",
808
808
  key
809
809
  )), prop.value.range, MarkerSeverity.Error));
810
810
  }
811
811
  } else if (key === "cwd") {
812
812
  if (prop.value.type !== "scalar") {
813
- report(toMarker(( localize(10565, "The 'cwd' property in a hook command must be a string.")), prop.value.range, MarkerSeverity.Error));
813
+ report(toMarker(( localize(10760, "The 'cwd' property in a hook command must be a string.")), prop.value.range, MarkerSeverity.Error));
814
814
  }
815
815
  } else if (key === "env") {
816
816
  if (prop.value.type !== "map") {
817
817
  report(toMarker(( localize(
818
- 10566,
818
+ 10761,
819
819
  "The 'env' property in a hook command must be a map of string values."
820
820
  )), prop.value.range, MarkerSeverity.Error));
821
821
  } else {
822
822
  for (const envProp of prop.value.properties) {
823
823
  if (envProp.value.type !== "scalar") {
824
824
  report(toMarker(( localize(
825
- 10567,
825
+ 10762,
826
826
  "Environment variable '{0}' must have a string value.",
827
827
  envProp.key.value
828
828
  )), envProp.value.range, MarkerSeverity.Error));
@@ -831,19 +831,19 @@ let PromptValidator = class PromptValidator {
831
831
  }
832
832
  } else if (key === "timeout" || key === "timeoutSec") {
833
833
  if (prop.value.type !== "scalar" || isNaN(Number(prop.value.value))) {
834
- report(toMarker(( localize(10568, "The '{0}' property in a hook command must be a number.", key)), prop.value.range, MarkerSeverity.Error));
834
+ report(toMarker(( localize(10763, "The '{0}' property in a hook command must be a number.", key)), prop.value.range, MarkerSeverity.Error));
835
835
  }
836
836
  }
837
837
  }
838
838
  if (!hasType) {
839
- report(toMarker(( localize(10569, "Hook command is missing required property 'type'.")), item.range, MarkerSeverity.Error));
839
+ report(toMarker(( localize(10764, "Hook command is missing required property 'type'.")), item.range, MarkerSeverity.Error));
840
840
  }
841
841
  if (!hasCommandField) {
842
842
  if (isCopilotCli) {
843
- report(toMarker(( localize(10570, "Hook command must specify at least one of 'bash' or 'powershell'.")), item.range, MarkerSeverity.Error));
843
+ report(toMarker(( localize(10765, "Hook command must specify at least one of 'bash' or 'powershell'.")), item.range, MarkerSeverity.Error));
844
844
  } else {
845
845
  report(toMarker(( localize(
846
- 10571,
846
+ 10766,
847
847
  "Hook command must specify at least one of 'command', 'windows', 'linux', or 'osx'."
848
848
  )), item.range, MarkerSeverity.Error));
849
849
  }
@@ -855,14 +855,14 @@ let PromptValidator = class PromptValidator {
855
855
  return;
856
856
  }
857
857
  if (attribute.value.type !== "sequence") {
858
- report(toMarker(( localize(10572, "The 'handoffs' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
858
+ report(toMarker(( localize(10767, "The 'handoffs' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
859
859
  return;
860
860
  }
861
861
  const seenLabels = ( new Map());
862
862
  for (const item of attribute.value.items) {
863
863
  if (item.type !== "map") {
864
864
  report(toMarker(( localize(
865
- 10573,
865
+ 10768,
866
866
  "Each handoff in the 'handoffs' attribute must be an object with 'label', 'agent', 'prompt' and optional 'send'."
867
867
  )), item.range, MarkerSeverity.Error));
868
868
  continue;
@@ -872,44 +872,44 @@ let PromptValidator = class PromptValidator {
872
872
  switch (prop.key.value) {
873
873
  case "label":
874
874
  if (prop.value.type !== "scalar" || prop.value.value.trim().length === 0) {
875
- report(toMarker(( localize(10574, "The 'label' property in a handoff must be a non-empty string.")), prop.value.range, MarkerSeverity.Error));
875
+ report(toMarker(( localize(10769, "The 'label' property in a handoff must be a non-empty string.")), prop.value.range, MarkerSeverity.Error));
876
876
  } else if (!/[a-zA-Z0-9]/.test(prop.value.value)) {
877
877
  report(toMarker(( localize(
878
- 10575,
878
+ 10770,
879
879
  "The 'label' property in a handoff must contain at least one alphanumeric character."
880
880
  )), prop.value.range, MarkerSeverity.Error));
881
881
  }
882
882
  break;
883
883
  case "agent":
884
884
  if (prop.value.type !== "scalar" || prop.value.value.trim().length === 0) {
885
- report(toMarker(( localize(10576, "The 'agent' property in a handoff must be a non-empty string.")), prop.value.range, MarkerSeverity.Error));
885
+ report(toMarker(( localize(10771, "The 'agent' property in a handoff must be a non-empty string.")), prop.value.range, MarkerSeverity.Error));
886
886
  } else {
887
887
  this.validateAgentValue(prop.value, report);
888
888
  }
889
889
  break;
890
890
  case "prompt":
891
891
  if (prop.value.type !== "scalar") {
892
- report(toMarker(( localize(10577, "The 'prompt' property in a handoff must be a string.")), prop.value.range, MarkerSeverity.Error));
892
+ report(toMarker(( localize(10772, "The 'prompt' property in a handoff must be a string.")), prop.value.range, MarkerSeverity.Error));
893
893
  }
894
894
  break;
895
895
  case "send":
896
896
  if (!isTrueOrFalse(prop.value)) {
897
- report(toMarker(( localize(10578, "The 'send' property in a handoff must be a boolean.")), prop.value.range, MarkerSeverity.Error));
897
+ report(toMarker(( localize(10773, "The 'send' property in a handoff must be a boolean.")), prop.value.range, MarkerSeverity.Error));
898
898
  }
899
899
  break;
900
900
  case "showContinueOn":
901
901
  if (!isTrueOrFalse(prop.value)) {
902
- report(toMarker(( localize(10579, "The 'showContinueOn' property in a handoff must be a boolean.")), prop.value.range, MarkerSeverity.Error));
902
+ report(toMarker(( localize(10774, "The 'showContinueOn' property in a handoff must be a boolean.")), prop.value.range, MarkerSeverity.Error));
903
903
  }
904
904
  break;
905
905
  case "model":
906
906
  if (prop.value.type !== "scalar") {
907
- report(toMarker(( localize(10580, "The 'model' property in a handoff must be a string.")), prop.value.range, MarkerSeverity.Error));
907
+ report(toMarker(( localize(10775, "The 'model' property in a handoff must be a string.")), prop.value.range, MarkerSeverity.Error));
908
908
  }
909
909
  break;
910
910
  default:
911
911
  report(toMarker(( localize(
912
- 10581,
912
+ 10776,
913
913
  "Unknown property '{0}' in handoff object. Supported properties are 'label', 'agent', 'prompt' and optional 'send', 'showContinueOn', 'model'.",
914
914
  prop.key.value
915
915
  )), prop.value.range, MarkerSeverity.Warning));
@@ -918,7 +918,7 @@ let PromptValidator = class PromptValidator {
918
918
  }
919
919
  if (required.size > 0) {
920
920
  report(toMarker(( localize(
921
- 10582,
921
+ 10777,
922
922
  "Missing required properties {0} in handoff object.",
923
923
  ( Array.from(required).map(s => `'${s}'`)).join(", ")
924
924
  )), item.range, MarkerSeverity.Error));
@@ -928,7 +928,7 @@ let PromptValidator = class PromptValidator {
928
928
  const normalizedLabel = labelProp.value.value.toLowerCase();
929
929
  if (normalizedLabel && ( seenLabels.has(normalizedLabel))) {
930
930
  report(toMarker(( localize(
931
- 10583,
931
+ 10778,
932
932
  "Duplicate handoff label '{0}'. Each handoff must have a unique label.",
933
933
  labelProp.value.value
934
934
  )), labelProp.value.range, MarkerSeverity.Error));
@@ -944,7 +944,7 @@ let PromptValidator = class PromptValidator {
944
944
  return;
945
945
  }
946
946
  report(toMarker(( localize(
947
- 10584,
947
+ 10779,
948
948
  "The 'infer' attribute is deprecated in favour of 'user-invocable' and 'disable-model-invocation'."
949
949
  )), attribute.value.range, MarkerSeverity.Error));
950
950
  }
@@ -954,18 +954,18 @@ let PromptValidator = class PromptValidator {
954
954
  return;
955
955
  }
956
956
  if (attribute.value.type !== "scalar") {
957
- report(toMarker(( localize(10585, "The 'target' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
957
+ report(toMarker(( localize(10780, "The 'target' attribute must be a string.")), attribute.value.range, MarkerSeverity.Error));
958
958
  return;
959
959
  }
960
960
  const targetValue = attribute.value.value.trim();
961
961
  if (targetValue.length === 0) {
962
- report(toMarker(( localize(10586, "The 'target' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
962
+ report(toMarker(( localize(10781, "The 'target' attribute must be a non-empty string.")), attribute.value.range, MarkerSeverity.Error));
963
963
  return;
964
964
  }
965
965
  const validTargets = ["github-copilot", "vscode"];
966
966
  if (!validTargets.includes(targetValue)) {
967
967
  report(toMarker(( localize(
968
- 10587,
968
+ 10782,
969
969
  "The 'target' attribute must be one of: {0}.",
970
970
  validTargets.join(", ")
971
971
  )), attribute.value.range, MarkerSeverity.Error));
@@ -977,7 +977,7 @@ let PromptValidator = class PromptValidator {
977
977
  return;
978
978
  }
979
979
  if (!isTrueOrFalse(attribute.value)) {
980
- report(toMarker(( localize(10588, "The 'user-invocable' attribute must be 'true' or 'false'.")), attribute.value.range, MarkerSeverity.Error));
980
+ report(toMarker(( localize(10783, "The 'user-invocable' attribute must be 'true' or 'false'.")), attribute.value.range, MarkerSeverity.Error));
981
981
  return;
982
982
  }
983
983
  }
@@ -988,7 +988,7 @@ let PromptValidator = class PromptValidator {
988
988
  }
989
989
  if (!isTrueOrFalse(attribute.value)) {
990
990
  report(toMarker(( localize(
991
- 10589,
991
+ 10784,
992
992
  "The 'disable-model-invocation' attribute must be 'true' or 'false'."
993
993
  )), attribute.value.range, MarkerSeverity.Error));
994
994
  return;
@@ -1000,7 +1000,7 @@ let PromptValidator = class PromptValidator {
1000
1000
  return;
1001
1001
  }
1002
1002
  if (attribute.value.type !== "sequence") {
1003
- report(toMarker(( localize(10590, "The 'agents' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
1003
+ report(toMarker(( localize(10785, "The 'agents' attribute must be an array.")), attribute.value.range, MarkerSeverity.Error));
1004
1004
  return;
1005
1005
  }
1006
1006
  const agents = (await this.promptsService.getCustomAgents(CancellationToken.None)).filter(a => a.enabled);
@@ -1009,12 +1009,12 @@ let PromptValidator = class PromptValidator {
1009
1009
  const agentNames = [];
1010
1010
  for (const item of attribute.value.items) {
1011
1011
  if (item.type !== "scalar") {
1012
- report(toMarker(( localize(10591, "Each agent name in the 'agents' attribute must be a string.")), item.range, MarkerSeverity.Error));
1012
+ report(toMarker(( localize(10786, "Each agent name in the 'agents' attribute must be a string.")), item.range, MarkerSeverity.Error));
1013
1013
  } else if (item.value) {
1014
1014
  agentNames.push(item.value);
1015
1015
  if (item.value !== "*" && !( availableAgentNames.has(item.value))) {
1016
1016
  report(toMarker(( localize(
1017
- 10592,
1017
+ 10787,
1018
1018
  "Unknown agent '{0}' will be ignored. Available agents: {1}.",
1019
1019
  item.value,
1020
1020
  Array.from(availableAgentNames).join(", ")
@@ -1026,7 +1026,7 @@ let PromptValidator = class PromptValidator {
1026
1026
  const tools = header.tools;
1027
1027
  if (tools && !tools.includes(SpecedToolAliases.agent)) {
1028
1028
  report(toMarker(( localize(
1029
- 10593,
1029
+ 10788,
1030
1030
  "When 'agents' and 'tools' are specified, the 'agent' tool must be included in the 'tools' attribute."
1031
1031
  )), attribute.value.range, MarkerSeverity.Warning));
1032
1032
  }
@@ -1038,20 +1038,20 @@ let PromptValidator = class PromptValidator {
1038
1038
  return;
1039
1039
  }
1040
1040
  if (attribute.value.type !== "map") {
1041
- report(toMarker(( localize(10594, "The 'github' attribute must be an object.")), attribute.value.range, MarkerSeverity.Error));
1041
+ report(toMarker(( localize(10789, "The 'github' attribute must be an object.")), attribute.value.range, MarkerSeverity.Error));
1042
1042
  return;
1043
1043
  }
1044
1044
  for (const prop of attribute.value.properties) {
1045
1045
  if (prop.key.value !== "permissions") {
1046
1046
  report(toMarker(( localize(
1047
- 10595,
1047
+ 10790,
1048
1048
  "Unknown property '{0}' in 'github' object. Supported: 'permissions'.",
1049
1049
  prop.key.value
1050
1050
  )), prop.key.range, MarkerSeverity.Warning));
1051
1051
  continue;
1052
1052
  }
1053
1053
  if (prop.value.type !== "map") {
1054
- report(toMarker(( localize(10596, "The 'permissions' property must be an object.")), prop.value.range, MarkerSeverity.Error));
1054
+ report(toMarker(( localize(10791, "The 'permissions' property must be an object.")), prop.value.range, MarkerSeverity.Error));
1055
1055
  continue;
1056
1056
  }
1057
1057
  for (const permProp of prop.value.properties) {
@@ -1060,7 +1060,7 @@ let PromptValidator = class PromptValidator {
1060
1060
  if (!scopeInfo) {
1061
1061
  const validScopes = ( Object.keys(githubPermissionScopes)).sort().join(", ");
1062
1062
  report(toMarker(( localize(
1063
- 10597,
1063
+ 10792,
1064
1064
  "Unknown permission scope '{0}'. Valid scopes: {1}.",
1065
1065
  scope,
1066
1066
  validScopes
@@ -1068,13 +1068,13 @@ let PromptValidator = class PromptValidator {
1068
1068
  continue;
1069
1069
  }
1070
1070
  if (permProp.value.type !== "scalar") {
1071
- report(toMarker(( localize(10598, "The permission value for '{0}' must be a string.", scope)), permProp.value.range, MarkerSeverity.Error));
1071
+ report(toMarker(( localize(10793, "The permission value for '{0}' must be a string.", scope)), permProp.value.range, MarkerSeverity.Error));
1072
1072
  continue;
1073
1073
  }
1074
1074
  const value = permProp.value.value;
1075
1075
  if (!scopeInfo.allowedValues.includes(value)) {
1076
1076
  report(toMarker(( localize(
1077
- 10599,
1077
+ 10794,
1078
1078
  "Invalid permission value '{0}' for scope '{1}'. Allowed values: {2}.",
1079
1079
  value,
1080
1080
  scope,
@@ -1089,39 +1089,39 @@ PromptValidator = ( __decorate([( __param(0, ILanguageModelsService)), ( __param
1089
1089
  const githubPermissionScopes = {
1090
1090
  "actions": {
1091
1091
  allowedValues: ["read", "write", "none"],
1092
- description: ( localize(10600, "Access to GitHub Actions workflows and runs"))
1092
+ description: ( localize(10795, "Access to GitHub Actions workflows and runs"))
1093
1093
  },
1094
1094
  "checks": {
1095
1095
  allowedValues: ["read", "none"],
1096
- description: ( localize(10601, "Access to check runs and statuses"))
1096
+ description: ( localize(10796, "Access to check runs and statuses"))
1097
1097
  },
1098
1098
  "contents": {
1099
1099
  allowedValues: ["read", "write", "none"],
1100
- description: ( localize(10602, "Access to repository contents (files, commits, branches)"))
1100
+ description: ( localize(10797, "Access to repository contents (files, commits, branches)"))
1101
1101
  },
1102
1102
  "discussions": {
1103
1103
  allowedValues: ["read", "write", "none"],
1104
- description: ( localize(10603, "Access to discussions"))
1104
+ description: ( localize(10798, "Access to discussions"))
1105
1105
  },
1106
1106
  "issues": {
1107
1107
  allowedValues: ["read", "write", "none"],
1108
- description: ( localize(10604, "Access to issues (read, create, update, comment)"))
1108
+ description: ( localize(10799, "Access to issues (read, create, update, comment)"))
1109
1109
  },
1110
1110
  "metadata": {
1111
1111
  allowedValues: ["read"],
1112
- description: ( localize(10605, "Repository metadata (always read-only)"))
1112
+ description: ( localize(10800, "Repository metadata (always read-only)"))
1113
1113
  },
1114
1114
  "pull-requests": {
1115
1115
  allowedValues: ["read", "write", "none"],
1116
- description: ( localize(10606, "Access to pull requests (read, create, update, review)"))
1116
+ description: ( localize(10801, "Access to pull requests (read, create, update, review)"))
1117
1117
  },
1118
1118
  "security-events": {
1119
1119
  allowedValues: ["read", "none"],
1120
- description: ( localize(10607, "Access to security-related events"))
1120
+ description: ( localize(10802, "Access to security-related events"))
1121
1121
  },
1122
1122
  "workflows": {
1123
1123
  allowedValues: ["write", "none"],
1124
- description: ( localize(10608, "Access to modify workflow files"))
1124
+ description: ( localize(10803, "Access to modify workflow files"))
1125
1125
  }
1126
1126
  };
1127
1127
  function isTrueOrFalse(value) {
@@ -1212,91 +1212,91 @@ function isNonRecommendedAttribute(attributeName) {
1212
1212
  }
1213
1213
  const knownClaudeTools = [{
1214
1214
  name: "Bash",
1215
- description: ( localize(10609, "Execute shell commands")),
1215
+ description: ( localize(10804, "Execute shell commands")),
1216
1216
  toolEquivalent: [SpecedToolAliases.execute]
1217
1217
  }, {
1218
1218
  name: "Edit",
1219
- description: ( localize(10610, "Make targeted file edits")),
1219
+ description: ( localize(10805, "Make targeted file edits")),
1220
1220
  toolEquivalent: ["edit/editNotebook", "edit/editFiles"]
1221
1221
  }, {
1222
1222
  name: "Glob",
1223
- description: ( localize(10611, "Find files by pattern")),
1223
+ description: ( localize(10806, "Find files by pattern")),
1224
1224
  toolEquivalent: ["search/fileSearch"]
1225
1225
  }, {
1226
1226
  name: "Grep",
1227
- description: ( localize(10612, "Search file contents with regex")),
1227
+ description: ( localize(10807, "Search file contents with regex")),
1228
1228
  toolEquivalent: ["search/textSearch"]
1229
1229
  }, {
1230
1230
  name: "Read",
1231
- description: ( localize(10613, "Read file contents")),
1231
+ description: ( localize(10808, "Read file contents")),
1232
1232
  toolEquivalent: ["read/readFile", "read/getNotebookSummary"]
1233
1233
  }, {
1234
1234
  name: "Write",
1235
- description: ( localize(10614, "Create/overwrite files")),
1235
+ description: ( localize(10809, "Create/overwrite files")),
1236
1236
  toolEquivalent: ["edit/createDirectory", "edit/createFile", "edit/createJupyterNotebook"]
1237
1237
  }, {
1238
1238
  name: "WebFetch",
1239
- description: ( localize(10615, "Fetch URL content")),
1239
+ description: ( localize(10810, "Fetch URL content")),
1240
1240
  toolEquivalent: [SpecedToolAliases.web]
1241
1241
  }, {
1242
1242
  name: "WebSearch",
1243
- description: ( localize(10616, "Perform web searches")),
1243
+ description: ( localize(10811, "Perform web searches")),
1244
1244
  toolEquivalent: [SpecedToolAliases.web]
1245
1245
  }, {
1246
1246
  name: "Task",
1247
- description: ( localize(10617, "Run subagents for complex tasks")),
1247
+ description: ( localize(10812, "Run subagents for complex tasks")),
1248
1248
  toolEquivalent: [SpecedToolAliases.agent]
1249
1249
  }, {
1250
1250
  name: "Skill",
1251
- description: ( localize(10618, "Execute skills")),
1251
+ description: ( localize(10813, "Execute skills")),
1252
1252
  toolEquivalent: []
1253
1253
  }, {
1254
1254
  name: "LSP",
1255
- description: ( localize(10619, "Code intelligence (requires plugin)")),
1255
+ description: ( localize(10814, "Code intelligence (requires plugin)")),
1256
1256
  toolEquivalent: []
1257
1257
  }, {
1258
1258
  name: "NotebookEdit",
1259
- description: ( localize(10620, "Modify Jupyter notebooks")),
1259
+ description: ( localize(10815, "Modify Jupyter notebooks")),
1260
1260
  toolEquivalent: ["edit/editNotebook"]
1261
1261
  }, {
1262
1262
  name: "AskUserQuestion",
1263
- description: ( localize(10621, "Ask multiple-choice questions")),
1263
+ description: ( localize(10816, "Ask multiple-choice questions")),
1264
1264
  toolEquivalent: ["vscode/askQuestions"]
1265
1265
  }, {
1266
1266
  name: "MCPSearch",
1267
- description: ( localize(10622, "Searches for MCP tools when tool search is enabled")),
1267
+ description: ( localize(10817, "Searches for MCP tools when tool search is enabled")),
1268
1268
  toolEquivalent: []
1269
1269
  }];
1270
1270
  const knownClaudeModels = [{
1271
1271
  name: "sonnet",
1272
- description: ( localize(10623, "Latest Claude Sonnet")),
1272
+ description: ( localize(10818, "Latest Claude Sonnet")),
1273
1273
  modelEquivalent: "Claude Sonnet 4.5 (copilot)"
1274
1274
  }, {
1275
1275
  name: "opus",
1276
- description: ( localize(10624, "Latest Claude Opus")),
1276
+ description: ( localize(10819, "Latest Claude Opus")),
1277
1277
  modelEquivalent: "Claude Opus 4.6 (copilot)"
1278
1278
  }, {
1279
1279
  name: "haiku",
1280
- description: ( localize(10625, "Latest Claude Haiku, fast for simple tasks")),
1280
+ description: ( localize(10820, "Latest Claude Haiku, fast for simple tasks")),
1281
1281
  modelEquivalent: "Claude Haiku 4.5 (copilot)"
1282
1282
  }, {
1283
1283
  name: "inherit",
1284
- description: ( localize(10626, "Inherit model from parent agent or prompt")),
1284
+ description: ( localize(10821, "Inherit model from parent agent or prompt")),
1285
1285
  modelEquivalent: undefined
1286
1286
  }];
1287
1287
  const claudeAgentAttributes = {
1288
1288
  "name": {
1289
1289
  type: "scalar",
1290
- description: ( localize(10627, "Unique identifier using lowercase letters and hyphens (required)"))
1290
+ description: ( localize(10822, "Unique identifier using lowercase letters and hyphens (required)"))
1291
1291
  },
1292
1292
  "description": {
1293
1293
  type: "scalar",
1294
- description: ( localize(10628, "When to delegate to this subagent (required)"))
1294
+ description: ( localize(10823, "When to delegate to this subagent (required)"))
1295
1295
  },
1296
1296
  "tools": {
1297
1297
  type: "sequence",
1298
1298
  description: ( localize(
1299
- 10629,
1299
+ 10824,
1300
1300
  "Array of tools the subagent can use. Inherits all tools if omitted"
1301
1301
  )),
1302
1302
  defaults: ["Read, Edit, Bash"],
@@ -1304,14 +1304,14 @@ const claudeAgentAttributes = {
1304
1304
  },
1305
1305
  "disallowedTools": {
1306
1306
  type: "sequence",
1307
- description: ( localize(10630, "Tools to deny, removed from inherited or specified list")),
1307
+ description: ( localize(10825, "Tools to deny, removed from inherited or specified list")),
1308
1308
  defaults: ["Write, Edit, Bash"],
1309
1309
  items: knownClaudeTools
1310
1310
  },
1311
1311
  "model": {
1312
1312
  type: "scalar",
1313
1313
  description: ( localize(
1314
- 10631,
1314
+ 10826,
1315
1315
  "Model to use: sonnet, opus, haiku, or inherit. Defaults to inherit."
1316
1316
  )),
1317
1317
  defaults: ["sonnet", "opus", "haiku", "inherit"],
@@ -1320,77 +1320,77 @@ const claudeAgentAttributes = {
1320
1320
  "permissionMode": {
1321
1321
  type: "scalar",
1322
1322
  description: ( localize(
1323
- 10632,
1323
+ 10827,
1324
1324
  "Permission mode: default, acceptEdits, dontAsk, bypassPermissions, or plan."
1325
1325
  )),
1326
1326
  defaults: ["default", "acceptEdits", "dontAsk", "bypassPermissions", "plan"],
1327
1327
  enums: [{
1328
1328
  name: "default",
1329
1329
  description: ( localize(
1330
- 10633,
1330
+ 10828,
1331
1331
  "Standard behavior: prompts for permission on first use of each tool."
1332
1332
  ))
1333
1333
  }, {
1334
1334
  name: "acceptEdits",
1335
- description: ( localize(10634, "Automatically accepts file edit permissions for the session."))
1335
+ description: ( localize(10829, "Automatically accepts file edit permissions for the session."))
1336
1336
  }, {
1337
1337
  name: "plan",
1338
1338
  description: ( localize(
1339
- 10635,
1339
+ 10830,
1340
1340
  "Plan Mode: Claude can analyze but not modify files or execute commands."
1341
1341
  ))
1342
1342
  }, {
1343
1343
  name: "delegate",
1344
1344
  description: ( localize(
1345
- 10636,
1345
+ 10831,
1346
1346
  "Coordination-only mode for agent team leads. Only available when an agent team is active."
1347
1347
  ))
1348
1348
  }, {
1349
1349
  name: "dontAsk",
1350
1350
  description: ( localize(
1351
- 10637,
1351
+ 10832,
1352
1352
  "Auto-denies tools unless pre-approved via /permissions or permissions.allow rules."
1353
1353
  ))
1354
1354
  }, {
1355
1355
  name: "bypassPermissions",
1356
1356
  description: ( localize(
1357
- 10638,
1357
+ 10833,
1358
1358
  "Skips all permission prompts (requires safe environment like containers)."
1359
1359
  ))
1360
1360
  }]
1361
1361
  },
1362
1362
  "skills": {
1363
1363
  type: "sequence",
1364
- description: ( localize(10639, "Skills to load into the subagent's context at startup."))
1364
+ description: ( localize(10834, "Skills to load into the subagent's context at startup."))
1365
1365
  },
1366
1366
  "mcpServers": {
1367
1367
  type: "sequence",
1368
- description: ( localize(10640, "MCP servers available to this subagent."))
1368
+ description: ( localize(10835, "MCP servers available to this subagent."))
1369
1369
  },
1370
1370
  "hooks": {
1371
1371
  type: "object",
1372
- description: ( localize(10641, "Lifecycle hooks scoped to this subagent."))
1372
+ description: ( localize(10836, "Lifecycle hooks scoped to this subagent."))
1373
1373
  },
1374
1374
  "memory": {
1375
1375
  type: "scalar",
1376
1376
  description: ( localize(
1377
- 10642,
1377
+ 10837,
1378
1378
  "Persistent memory scope: user, project, or local. Enables cross-session learning."
1379
1379
  )),
1380
1380
  defaults: ["user", "project", "local"],
1381
1381
  enums: [{
1382
1382
  name: "user",
1383
- description: ( localize(10643, "Remember learnings across all projects."))
1383
+ description: ( localize(10838, "Remember learnings across all projects."))
1384
1384
  }, {
1385
1385
  name: "project",
1386
1386
  description: ( localize(
1387
- 10644,
1387
+ 10839,
1388
1388
  "The subagent's knowledge is project-specific and shareable via version control."
1389
1389
  ))
1390
1390
  }, {
1391
1391
  name: "local",
1392
1392
  description: ( localize(
1393
- 10645,
1393
+ 10840,
1394
1394
  "The subagent's knowledge is project-specific but should not be checked into version control."
1395
1395
  ))
1396
1396
  }]
@@ -1400,14 +1400,14 @@ const claudeRulesAttributes = {
1400
1400
  "description": {
1401
1401
  type: "scalar",
1402
1402
  description: ( localize(
1403
- 10646,
1403
+ 10841,
1404
1404
  "A description of what this rule covers, used to provide context about when it applies."
1405
1405
  ))
1406
1406
  },
1407
1407
  "paths": {
1408
1408
  type: "sequence",
1409
1409
  description: ( localize(
1410
- 10647,
1410
+ 10842,
1411
1411
  "Array of glob patterns that describe for which files the rule applies. Based on these patterns, the file is automatically included in the prompt when the context contains a file that matches.\nExample: `['src/**/*.ts', 'test/**']`"
1412
1412
  ))
1413
1413
  }