@codingame/monaco-vscode-api 32.0.2 → 33.0.3

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 (630) hide show
  1. package/missing-services.js +51 -7
  2. package/package.json +8 -8
  3. package/service-override/tools/views.d.ts +2 -2
  4. package/services.d.ts +3 -0
  5. package/services.js +8 -3
  6. package/vscode/product.json.js +1 -1
  7. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  8. package/vscode/src/vs/base/common/arrays.js +5 -1
  9. package/vscode/src/vs/base/common/async.js +94 -1
  10. package/vscode/src/vs/base/common/cache.js +22 -1
  11. package/vscode/src/vs/base/common/defaultAccount.d.ts +63 -0
  12. package/vscode/src/vs/base/common/policy.d.ts +1 -1
  13. package/vscode/src/vs/base/common/product.d.ts +0 -2
  14. package/vscode/src/vs/base/parts/ipc/common/ipc.net.d.ts +12 -0
  15. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +1 -1
  16. package/vscode/src/vs/editor/common/config/editorOptions.js +1 -1
  17. package/vscode/src/vs/editor/common/textModelEditSource.js +18 -1
  18. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +2 -2
  19. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +2 -0
  20. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +22 -2
  21. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +1 -0
  22. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +58 -17
  23. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  24. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  25. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  26. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
  27. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  28. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  29. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  30. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  31. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  32. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  33. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  34. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  35. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  36. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  37. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  38. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +6 -3
  39. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  40. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  41. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +3 -0
  42. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  43. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  44. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +7 -0
  45. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +24 -10
  46. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +1 -0
  47. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +12 -12
  48. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +3 -3
  49. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  50. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  51. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  52. package/vscode/src/vs/platform/agentHost/browser/nullAgentHostService.d.ts +1 -1
  53. package/vscode/src/vs/platform/agentHost/common/agentHostUri.js +3 -0
  54. package/vscode/src/vs/platform/agentHost/common/agentPluginManager.d.ts +1 -1
  55. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +1 -1
  56. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.d.ts +13 -4
  57. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.js +8 -3
  58. package/vscode/src/vs/platform/agentHost/common/remoteAgentHostService.service.d.ts +17 -1
  59. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.d.ts +27 -0
  60. package/vscode/src/vs/platform/agentHost/common/sshRemoteAgentHost.service.d.ts +20 -1
  61. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +1 -1
  62. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +1054 -0
  63. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.js +59 -0
  64. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +17 -1
  65. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +6 -2
  66. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +5 -0
  67. package/vscode/src/vs/platform/agentHost/common/state/protocolUpgrade.d.ts +73 -0
  68. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +139 -0
  69. package/vscode/src/vs/platform/agentHost/common/state/sessionState.js +24 -0
  70. package/vscode/src/vs/platform/browserView/common/browserView.d.ts +20 -0
  71. package/vscode/src/vs/platform/browserView/common/browserView.js +1 -0
  72. package/vscode/src/vs/platform/browserView/common/browserViewTelemetry.d.ts +3 -1
  73. package/vscode/src/vs/platform/configuration/common/configuration.js +1 -1
  74. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
  75. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  76. package/vscode/src/vs/platform/contextkey/common/contextkey.js +10 -10
  77. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  78. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  79. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +16 -1
  80. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.js +8 -0
  81. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +9 -1
  82. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  83. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  84. package/vscode/src/vs/platform/environment/common/argv.d.ts +0 -2
  85. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
  86. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  87. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  88. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
  89. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  90. package/vscode/src/vs/platform/files/common/files.js +6 -6
  91. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  92. package/vscode/src/vs/platform/hover/browser/hoverService.js +1 -1
  93. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +1 -1
  94. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  95. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  96. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  97. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  98. package/vscode/src/vs/platform/list/browser/listService.js +25 -25
  99. package/vscode/src/vs/platform/log/common/log.js +6 -6
  100. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  101. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  102. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +1 -1
  103. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +5 -5
  104. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.service.d.ts +2 -4
  105. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  106. package/vscode/src/vs/platform/policy/common/policy.d.ts +1 -1
  107. package/vscode/src/vs/platform/product/common/product.js +3 -3
  108. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  109. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  110. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +6 -6
  111. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +1 -1
  112. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  113. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
  114. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  115. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  116. package/vscode/src/vs/platform/request/common/request.js +20 -20
  117. package/vscode/src/vs/platform/telemetry/common/telemetry.js +4 -1
  118. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  119. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +34 -34
  120. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
  121. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  122. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +19 -19
  123. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +9 -9
  124. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  125. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +48 -48
  126. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  127. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  128. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  129. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
  130. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +10 -10
  131. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  132. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  133. package/vscode/src/vs/platform/theme/common/sizeUtils.d.ts +5 -3
  134. package/vscode/src/vs/platform/theme/common/sizeUtils.js +17 -3
  135. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +11 -11
  136. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  137. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  138. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  139. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  140. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
  141. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
  142. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  143. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  144. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  145. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
  146. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +7 -1
  147. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -5
  148. package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.d.ts +2 -2
  149. package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.js +2 -2
  150. package/vscode/src/vs/workbench/api/common/extHostChatStatus.js +9 -1
  151. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +1 -0
  152. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  153. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  154. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +2 -2
  155. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +3 -4
  156. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  157. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  158. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  159. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +4 -1
  160. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  161. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  162. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +12 -0
  163. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +98 -38
  164. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
  165. package/vscode/src/vs/workbench/browser/actions/developerActions.js +35 -35
  166. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +127 -127
  167. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  168. package/vscode/src/vs/workbench/browser/actions/windowActions.js +29 -29
  169. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +21 -21
  170. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  171. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  172. package/vscode/src/vs/workbench/browser/labels.js +4 -4
  173. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +23 -23
  174. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +26 -26
  175. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +4 -4
  176. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  177. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +9 -9
  178. package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
  179. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +1 -1
  180. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +3 -3
  181. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  182. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  183. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +37 -37
  184. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -12
  185. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
  186. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +19 -9
  187. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.d.ts +1 -2
  188. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +139 -176
  189. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +28 -27
  190. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +1 -1
  191. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
  192. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +12 -12
  193. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  194. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +16 -10
  195. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
  196. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
  197. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
  198. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -3
  199. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +24 -7
  200. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1 -1
  201. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  202. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  203. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  204. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  205. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +19 -19
  206. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +22 -22
  207. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  208. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +6 -6
  209. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +13 -13
  210. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
  211. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
  212. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +2 -2
  213. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
  214. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +4 -4
  215. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +3 -3
  216. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +27 -27
  217. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +3 -3
  218. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +2 -2
  219. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
  220. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +10 -10
  221. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +15 -15
  222. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
  223. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  224. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -7
  225. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +4 -4
  226. package/vscode/src/vs/workbench/browser/parts/views/viewMenuActions.d.ts +7 -2
  227. package/vscode/src/vs/workbench/browser/parts/views/viewMenuActions.js +28 -5
  228. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +7 -0
  229. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +11 -5
  230. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +12 -9
  231. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  232. package/vscode/src/vs/workbench/browser/window.js +14 -14
  233. package/vscode/src/vs/workbench/browser/workbench.contribution.js +225 -225
  234. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  235. package/vscode/src/vs/workbench/common/contextkeys.js +82 -82
  236. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  237. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  238. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  239. package/vscode/src/vs/workbench/common/editor.js +4 -4
  240. package/vscode/src/vs/workbench/common/theme.js +161 -161
  241. package/vscode/src/vs/workbench/common/views.js +4 -4
  242. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +156 -156
  243. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  244. package/vscode/src/vs/workbench/contrib/browserView/common/browserEditorInput.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.js +10 -7
  246. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +68 -66
  247. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.service.d.ts +8 -0
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.service.js +6 -0
  249. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service.d.ts +70 -0
  250. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.service.js +6 -0
  251. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +12 -12
  252. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +1 -1
  253. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -3
  254. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.d.ts +4 -2
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +2 -2
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +43 -43
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatOutputPartStateCache.service.d.ts +7 -0
  261. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatOutputPartStateCache.service.js +6 -0
  262. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +9 -9
  263. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +1 -0
  264. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +93 -86
  265. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +2 -2
  266. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +4 -6
  267. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +29 -21
  268. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.service.d.ts +7 -8
  269. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +1 -1
  270. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +41 -2
  271. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +3 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +3 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +1 -1
  274. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  275. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  276. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +17 -4
  277. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +152 -49
  278. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +20 -0
  279. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +3 -0
  280. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +17 -8
  281. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +1 -1
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +21 -19
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +18 -18
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +20 -20
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +79 -79
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.d.ts +92 -0
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.js +329 -0
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -44
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +33 -276
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +8 -8
  293. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +10 -10
  294. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +7 -7
  295. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +2 -2
  296. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +3 -3
  297. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +4 -4
  298. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  299. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +2 -1
  300. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +6 -5
  301. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service.d.ts +2 -1
  302. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  303. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  304. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  305. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  306. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
  307. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  308. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  309. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  310. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  311. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  312. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  313. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  314. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +12 -12
  315. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  316. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  317. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  318. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  319. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
  320. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  322. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  323. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  324. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  325. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  326. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
  327. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  328. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  329. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  330. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  331. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  332. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  333. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.d.ts +7 -12
  334. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorDiffInput.js +68 -64
  335. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  336. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  337. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  338. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
  339. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  340. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  341. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
  342. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  343. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  344. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  345. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  346. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  347. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  348. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  349. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  350. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
  351. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  352. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  353. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  354. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  355. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +6 -6
  356. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  357. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  358. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  359. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  360. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  361. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  362. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +15 -0
  363. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +85 -0
  364. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  366. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +41 -41
  367. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  368. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  369. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  370. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +149 -151
  371. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +179 -179
  372. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  374. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  375. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -25
  376. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  377. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  378. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +47 -47
  379. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +6 -6
  380. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +30 -30
  381. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +79 -76
  382. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  383. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  385. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  386. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  387. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  388. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  389. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  390. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  391. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  392. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  393. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  394. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  395. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  396. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  397. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
  398. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  399. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  400. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  401. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +28 -28
  402. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
  403. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  404. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  405. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  406. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  407. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  408. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  409. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  410. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  411. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  412. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  413. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  414. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  415. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  416. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  417. package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletionLanguageStatusBarContribution.d.ts +17 -0
  418. package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletionLanguageStatusBarContribution.js +108 -0
  419. package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletions.contribution.d.ts +8 -0
  420. package/vscode/src/vs/workbench/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +49 -0
  421. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  422. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  423. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
  424. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +40 -40
  425. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +42 -42
  426. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +16 -16
  427. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +4 -4
  428. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  429. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  430. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  431. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  432. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +8 -8
  433. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +4 -4
  434. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  435. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
  436. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  437. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  438. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
  439. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
  440. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  441. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  442. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  443. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
  444. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
  445. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
  447. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
  448. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
  449. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
  450. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
  451. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
  452. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
  453. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
  454. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
  455. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
  456. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
  457. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
  458. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
  459. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
  460. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
  461. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
  462. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
  463. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
  464. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
  465. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
  466. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
  467. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
  468. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
  469. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
  470. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
  471. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
  472. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
  473. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
  474. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
  475. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +933 -0
  476. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
  477. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +32 -0
  478. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
  479. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
  480. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
  481. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
  482. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
  483. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
  484. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
  485. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
  486. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  487. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  488. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
  489. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  490. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  491. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  492. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  493. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  494. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  495. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  496. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  497. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  498. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  499. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  500. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  501. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  502. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  503. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
  504. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
  505. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
  506. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
  507. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  508. package/vscode/src/vs/workbench/contrib/opener/browser/opener.contribution.d.ts +1 -0
  509. package/vscode/src/vs/workbench/contrib/opener/browser/opener.contribution.js +44 -0
  510. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  511. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  512. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
  513. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +60 -60
  514. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  515. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  516. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  517. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  518. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  519. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  520. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  521. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  522. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
  523. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  524. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  525. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  526. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  527. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  528. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  529. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  530. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  531. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
  532. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
  533. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  534. package/vscode/src/vs/workbench/contrib/search/common/search.d.ts +2 -0
  535. package/vscode/src/vs/workbench/contrib/search/common/search.js +9 -1
  536. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  537. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  538. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  539. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  540. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  541. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  542. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  543. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +6 -6
  544. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  545. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  546. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  547. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  548. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  549. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  550. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +10 -10
  551. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  552. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  553. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  554. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  555. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  556. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +9 -9
  557. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +2 -0
  558. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +104 -74
  559. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  560. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  561. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +2 -2
  562. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
  563. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  564. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  565. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  566. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  567. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  568. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  569. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  570. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  571. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  572. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
  573. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  574. package/vscode/src/vs/workbench/contrib/welcomeOnboarding/common/onboardingTypes.js +14 -14
  575. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  576. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +2 -1
  577. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +14 -3
  578. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -25
  579. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +15 -0
  580. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  581. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +11 -2
  582. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +65 -22
  583. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +2 -0
  584. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  585. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  586. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  587. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +15 -3
  588. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +19 -3
  589. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.service.d.ts +2 -2
  590. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  591. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  592. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  593. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +88 -88
  594. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  595. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  596. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  597. package/vscode/src/vs/workbench/services/policies/common/accountPolicyService.js +1 -1
  598. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  599. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  600. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  601. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +2 -2
  602. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +30 -30
  603. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  604. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  605. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  606. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  607. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  608. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  609. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  610. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  611. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  612. package/vscode/src/vs/workbench/services/title/browser/titleService.service.d.ts +7 -0
  613. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  614. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  615. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  616. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  617. package/vscode-dts/vscode.proposed.authIssuers.d.ts +14 -0
  618. package/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts +23 -3
  619. package/vscode-dts/vscode.proposed.chatProvider.d.ts +0 -9
  620. package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +5 -0
  621. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.d.ts +0 -7
  622. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.js +0 -6
  623. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +0 -39
  624. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.d.ts +0 -4
  625. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +0 -9
  626. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.d.ts +0 -76
  627. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +0 -470
  628. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css +0 -86
  629. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.d.ts +0 -15
  630. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +0 -47
@@ -0,0 +1,746 @@
1
+
2
+ import { ResourceTextEdit } from '../../../../../editor/browser/services/bulkEditService.js';
3
+ import { Position } from '../../../../../editor/common/core/position.js';
4
+ import { Range } from '../../../../../editor/common/core/range.js';
5
+ import { EndOfLinePreference } from '../../../../../editor/common/model.js';
6
+ import { PLAINTEXT_LANGUAGE_ID } from '../../../../../editor/common/languages/modesRegistry.js';
7
+ import { ResourceNotebookCellEdit } from '../../../bulkEdit/browser/bulkCellEdits.js';
8
+ import { CellEditState, expandCellRangesWithHiddenCells, CellFocusMode } from '../notebookBrowser.js';
9
+ import { cloneNotebookCellTextModel } from '../../common/model/notebookCellTextModel.js';
10
+ import { CellEditType, SelectionStateType, CellKind } from '../../common/notebookCommon.js';
11
+ import { cellRangeContains, cellRangesToIndexes } from '../../common/notebookRange.js';
12
+ import { localize } from '../../../../../nls.js';
13
+
14
+ async function changeCellToKind(kind, context, language, mime) {
15
+ const {
16
+ notebookEditor
17
+ } = context;
18
+ if (!notebookEditor.hasModel()) {
19
+ return;
20
+ }
21
+ if (notebookEditor.isReadOnly) {
22
+ return;
23
+ }
24
+ if (context.ui && context.cell) {
25
+ const {
26
+ cell
27
+ } = context;
28
+ if (cell.cellKind === kind) {
29
+ return;
30
+ }
31
+ const text = cell.getText();
32
+ const idx = notebookEditor.getCellIndex(cell);
33
+ if (language === undefined) {
34
+ const availableLanguages = notebookEditor.activeKernel?.supportedLanguages ?? [];
35
+ language = availableLanguages[0] ?? PLAINTEXT_LANGUAGE_ID;
36
+ }
37
+ notebookEditor.textModel.applyEdits([{
38
+ editType: CellEditType.Replace,
39
+ index: idx,
40
+ count: 1,
41
+ cells: [{
42
+ cellKind: kind,
43
+ source: text,
44
+ language: language,
45
+ mime: mime ?? cell.mime,
46
+ outputs: cell.model.outputs,
47
+ metadata: cell.metadata
48
+ }]
49
+ }], true, {
50
+ kind: SelectionStateType.Index,
51
+ focus: notebookEditor.getFocus(),
52
+ selections: notebookEditor.getSelections()
53
+ }, () => {
54
+ return {
55
+ kind: SelectionStateType.Index,
56
+ focus: notebookEditor.getFocus(),
57
+ selections: notebookEditor.getSelections()
58
+ };
59
+ }, undefined, true);
60
+ const newCell = notebookEditor.cellAt(idx);
61
+ await notebookEditor.focusNotebookCell(
62
+ newCell,
63
+ cell.getEditState() === CellEditState.Editing ? "editor" : "container"
64
+ );
65
+ } else if (context.selectedCells) {
66
+ const selectedCells = context.selectedCells;
67
+ const rawEdits = [];
68
+ selectedCells.forEach(cell => {
69
+ if (cell.cellKind === kind) {
70
+ return;
71
+ }
72
+ const text = cell.getText();
73
+ const idx = notebookEditor.getCellIndex(cell);
74
+ if (language === undefined) {
75
+ const availableLanguages = notebookEditor.activeKernel?.supportedLanguages ?? [];
76
+ language = availableLanguages[0] ?? PLAINTEXT_LANGUAGE_ID;
77
+ }
78
+ rawEdits.push({
79
+ editType: CellEditType.Replace,
80
+ index: idx,
81
+ count: 1,
82
+ cells: [{
83
+ cellKind: kind,
84
+ source: text,
85
+ language: language,
86
+ mime: mime ?? cell.mime,
87
+ outputs: cell.model.outputs,
88
+ metadata: cell.metadata
89
+ }]
90
+ });
91
+ });
92
+ notebookEditor.textModel.applyEdits(rawEdits, true, {
93
+ kind: SelectionStateType.Index,
94
+ focus: notebookEditor.getFocus(),
95
+ selections: notebookEditor.getSelections()
96
+ }, () => {
97
+ return {
98
+ kind: SelectionStateType.Index,
99
+ focus: notebookEditor.getFocus(),
100
+ selections: notebookEditor.getSelections()
101
+ };
102
+ }, undefined, true);
103
+ }
104
+ }
105
+ function runDeleteAction(editor, cell) {
106
+ const textModel = editor.textModel;
107
+ const selections = editor.getSelections();
108
+ const targetCellIndex = editor.getCellIndex(cell);
109
+ const containingSelection = selections.find(
110
+ selection => selection.start <= targetCellIndex && targetCellIndex < selection.end
111
+ );
112
+ const computeUndoRedo = !editor.isReadOnly || textModel.viewType === "interactive";
113
+ if (containingSelection) {
114
+ const edits = ( selections.reverse().map(selection => ({
115
+ editType: CellEditType.Replace,
116
+ index: selection.start,
117
+ count: selection.end - selection.start,
118
+ cells: []
119
+ })));
120
+ const nextCellAfterContainingSelection = containingSelection.end >= editor.getLength() ? undefined : editor.cellAt(containingSelection.end);
121
+ textModel.applyEdits(edits, true, {
122
+ kind: SelectionStateType.Index,
123
+ focus: editor.getFocus(),
124
+ selections: editor.getSelections()
125
+ }, () => {
126
+ if (nextCellAfterContainingSelection) {
127
+ const cellIndex = textModel.cells.findIndex(cell => cell.handle === nextCellAfterContainingSelection.handle);
128
+ return {
129
+ kind: SelectionStateType.Index,
130
+ focus: {
131
+ start: cellIndex,
132
+ end: cellIndex + 1
133
+ },
134
+ selections: [{
135
+ start: cellIndex,
136
+ end: cellIndex + 1
137
+ }]
138
+ };
139
+ } else {
140
+ if (textModel.length) {
141
+ const lastCellIndex = textModel.length - 1;
142
+ return {
143
+ kind: SelectionStateType.Index,
144
+ focus: {
145
+ start: lastCellIndex,
146
+ end: lastCellIndex + 1
147
+ },
148
+ selections: [{
149
+ start: lastCellIndex,
150
+ end: lastCellIndex + 1
151
+ }]
152
+ };
153
+ } else {
154
+ return {
155
+ kind: SelectionStateType.Index,
156
+ focus: {
157
+ start: 0,
158
+ end: 0
159
+ },
160
+ selections: [{
161
+ start: 0,
162
+ end: 0
163
+ }]
164
+ };
165
+ }
166
+ }
167
+ }, undefined, computeUndoRedo);
168
+ } else {
169
+ const focus = editor.getFocus();
170
+ const edits = [{
171
+ editType: CellEditType.Replace,
172
+ index: targetCellIndex,
173
+ count: 1,
174
+ cells: []
175
+ }];
176
+ const finalSelections = [];
177
+ for (let i = 0; i < selections.length; i++) {
178
+ const selection = selections[i];
179
+ if (selection.end <= targetCellIndex) {
180
+ finalSelections.push(selection);
181
+ } else if (selection.start > targetCellIndex) {
182
+ finalSelections.push({
183
+ start: selection.start - 1,
184
+ end: selection.end - 1
185
+ });
186
+ } else {
187
+ finalSelections.push({
188
+ start: targetCellIndex,
189
+ end: targetCellIndex + 1
190
+ });
191
+ }
192
+ }
193
+ if (editor.cellAt(focus.start) === cell) {
194
+ const newFocus = focus.end === textModel.length ? {
195
+ start: focus.start - 1,
196
+ end: focus.end - 1
197
+ } : focus;
198
+ textModel.applyEdits(edits, true, {
199
+ kind: SelectionStateType.Index,
200
+ focus: editor.getFocus(),
201
+ selections: editor.getSelections()
202
+ }, () => ({
203
+ kind: SelectionStateType.Index,
204
+ focus: newFocus,
205
+ selections: finalSelections
206
+ }), undefined, computeUndoRedo);
207
+ } else {
208
+ const newFocus = focus.start > targetCellIndex ? {
209
+ start: focus.start - 1,
210
+ end: focus.end - 1
211
+ } : focus;
212
+ textModel.applyEdits(edits, true, {
213
+ kind: SelectionStateType.Index,
214
+ focus: editor.getFocus(),
215
+ selections: editor.getSelections()
216
+ }, () => ({
217
+ kind: SelectionStateType.Index,
218
+ focus: newFocus,
219
+ selections: finalSelections
220
+ }), undefined, computeUndoRedo);
221
+ }
222
+ }
223
+ }
224
+ async function moveCellRange(context, direction) {
225
+ if (!context.notebookEditor.hasModel()) {
226
+ return;
227
+ }
228
+ const editor = context.notebookEditor;
229
+ const textModel = editor.textModel;
230
+ if (editor.isReadOnly) {
231
+ return;
232
+ }
233
+ let range = undefined;
234
+ if (context.cell) {
235
+ const idx = editor.getCellIndex(context.cell);
236
+ range = {
237
+ start: idx,
238
+ end: idx + 1
239
+ };
240
+ } else {
241
+ const selections = editor.getSelections();
242
+ const modelRanges = expandCellRangesWithHiddenCells(editor, selections);
243
+ range = modelRanges[0];
244
+ }
245
+ if (!range || range.start === range.end) {
246
+ return;
247
+ }
248
+ if (direction === "up") {
249
+ if (range.start === 0) {
250
+ return;
251
+ }
252
+ const indexAbove = range.start - 1;
253
+ const finalSelection = {
254
+ start: range.start - 1,
255
+ end: range.end - 1
256
+ };
257
+ const focus = context.notebookEditor.getFocus();
258
+ const newFocus = cellRangeContains(range, focus) ? {
259
+ start: focus.start - 1,
260
+ end: focus.end - 1
261
+ } : {
262
+ start: range.start - 1,
263
+ end: range.start
264
+ };
265
+ textModel.applyEdits([{
266
+ editType: CellEditType.Move,
267
+ index: indexAbove,
268
+ length: 1,
269
+ newIdx: range.end - 1
270
+ }], true, {
271
+ kind: SelectionStateType.Index,
272
+ focus: editor.getFocus(),
273
+ selections: editor.getSelections()
274
+ }, () => ({
275
+ kind: SelectionStateType.Index,
276
+ focus: newFocus,
277
+ selections: [finalSelection]
278
+ }), undefined, true);
279
+ const focusRange = editor.getSelections()[0] ?? editor.getFocus();
280
+ editor.revealCellRangeInView(focusRange);
281
+ } else {
282
+ if (range.end >= textModel.length) {
283
+ return;
284
+ }
285
+ const indexBelow = range.end;
286
+ const finalSelection = {
287
+ start: range.start + 1,
288
+ end: range.end + 1
289
+ };
290
+ const focus = editor.getFocus();
291
+ const newFocus = cellRangeContains(range, focus) ? {
292
+ start: focus.start + 1,
293
+ end: focus.end + 1
294
+ } : {
295
+ start: range.start + 1,
296
+ end: range.start + 2
297
+ };
298
+ textModel.applyEdits([{
299
+ editType: CellEditType.Move,
300
+ index: indexBelow,
301
+ length: 1,
302
+ newIdx: range.start
303
+ }], true, {
304
+ kind: SelectionStateType.Index,
305
+ focus: editor.getFocus(),
306
+ selections: editor.getSelections()
307
+ }, () => ({
308
+ kind: SelectionStateType.Index,
309
+ focus: newFocus,
310
+ selections: [finalSelection]
311
+ }), undefined, true);
312
+ const focusRange = editor.getSelections()[0] ?? editor.getFocus();
313
+ editor.revealCellRangeInView(focusRange);
314
+ }
315
+ }
316
+ async function copyCellRange(context, direction) {
317
+ const editor = context.notebookEditor;
318
+ if (!editor.hasModel()) {
319
+ return;
320
+ }
321
+ const textModel = editor.textModel;
322
+ if (editor.isReadOnly) {
323
+ return;
324
+ }
325
+ let range = undefined;
326
+ if (context.ui) {
327
+ const targetCell = context.cell;
328
+ const targetCellIndex = editor.getCellIndex(targetCell);
329
+ range = {
330
+ start: targetCellIndex,
331
+ end: targetCellIndex + 1
332
+ };
333
+ } else {
334
+ const selections = editor.getSelections();
335
+ const modelRanges = expandCellRangesWithHiddenCells(editor, selections);
336
+ range = modelRanges[0];
337
+ }
338
+ if (!range || range.start === range.end) {
339
+ return;
340
+ }
341
+ if (direction === "up") {
342
+ const focus = editor.getFocus();
343
+ const selections = editor.getSelections();
344
+ textModel.applyEdits([{
345
+ editType: CellEditType.Replace,
346
+ index: range.end,
347
+ count: 0,
348
+ cells: ( cellRangesToIndexes([range]).map(index => cloneNotebookCellTextModel(editor.cellAt(index).model)))
349
+ }], true, {
350
+ kind: SelectionStateType.Index,
351
+ focus: focus,
352
+ selections: selections
353
+ }, () => ({
354
+ kind: SelectionStateType.Index,
355
+ focus: focus,
356
+ selections: selections
357
+ }), undefined, true);
358
+ } else {
359
+ const focus = editor.getFocus();
360
+ const selections = editor.getSelections();
361
+ const newCells = ( cellRangesToIndexes([range]).map(index => cloneNotebookCellTextModel(editor.cellAt(index).model)));
362
+ const countDelta = newCells.length;
363
+ const newFocus = context.ui ? focus : {
364
+ start: focus.start + countDelta,
365
+ end: focus.end + countDelta
366
+ };
367
+ const newSelections = context.ui ? selections : [{
368
+ start: range.start + countDelta,
369
+ end: range.end + countDelta
370
+ }];
371
+ textModel.applyEdits([{
372
+ editType: CellEditType.Replace,
373
+ index: range.end,
374
+ count: 0,
375
+ cells: ( cellRangesToIndexes([range]).map(index => cloneNotebookCellTextModel(editor.cellAt(index).model)))
376
+ }], true, {
377
+ kind: SelectionStateType.Index,
378
+ focus: focus,
379
+ selections: selections
380
+ }, () => ({
381
+ kind: SelectionStateType.Index,
382
+ focus: newFocus,
383
+ selections: newSelections
384
+ }), undefined, true);
385
+ const focusRange = editor.getSelections()[0] ?? editor.getFocus();
386
+ editor.revealCellRangeInView(focusRange);
387
+ }
388
+ }
389
+ async function joinSelectedCells(bulkEditService, notificationService, context) {
390
+ const editor = context.notebookEditor;
391
+ if (editor.isReadOnly) {
392
+ return;
393
+ }
394
+ const edits = [];
395
+ const cells = [];
396
+ for (const selection of editor.getSelections()) {
397
+ cells.push(...editor.getCellsInRange(selection));
398
+ }
399
+ if (cells.length <= 1) {
400
+ return;
401
+ }
402
+ const cellKind = cells[0].cellKind;
403
+ const isSameKind = cells.every(cell => cell.cellKind === cellKind);
404
+ if (!isSameKind) {
405
+ const message = ( localize(11670, "Cannot join cells of different kinds"));
406
+ return notificationService.warn(message);
407
+ }
408
+ const firstCell = cells[0];
409
+ const insertContent = ( cells.map(cell => cell.getText())).join(firstCell.textBuffer.getEOL());
410
+ const firstSelection = editor.getSelections()[0];
411
+ edits.push(( new ResourceNotebookCellEdit(editor.textModel.uri, {
412
+ editType: CellEditType.Replace,
413
+ index: firstSelection.start,
414
+ count: firstSelection.end - firstSelection.start,
415
+ cells: [{
416
+ cellKind: firstCell.cellKind,
417
+ source: insertContent,
418
+ language: firstCell.language,
419
+ mime: firstCell.mime,
420
+ outputs: firstCell.model.outputs,
421
+ metadata: firstCell.metadata
422
+ }]
423
+ })));
424
+ for (const selection of editor.getSelections().slice(1)) {
425
+ edits.push(( new ResourceNotebookCellEdit(editor.textModel.uri, {
426
+ editType: CellEditType.Replace,
427
+ index: selection.start,
428
+ count: selection.end - selection.start,
429
+ cells: []
430
+ })));
431
+ }
432
+ if (edits.length) {
433
+ await bulkEditService.apply(edits, {
434
+ quotableLabel: ( localize(11671, "Join Notebook Cells"))
435
+ });
436
+ }
437
+ }
438
+ async function joinNotebookCells(editor, range, direction, constraint) {
439
+ if (editor.isReadOnly) {
440
+ return null;
441
+ }
442
+ const textModel = editor.textModel;
443
+ const cells = editor.getCellsInRange(range);
444
+ if (!cells.length) {
445
+ return null;
446
+ }
447
+ if (range.start === 0 && direction === "above") {
448
+ return null;
449
+ }
450
+ if (range.end === textModel.length && direction === "below") {
451
+ return null;
452
+ }
453
+ if (direction === "above") {
454
+ const above = editor.cellAt(range.start - 1);
455
+ const insertContent = ( cells.map(cell => (cell.textBuffer.getEOL() ?? "") + cell.getText())).join("");
456
+ const aboveCellLineCount = above.textBuffer.getLineCount();
457
+ const aboveCellLastLineEndColumn = above.textBuffer.getLineLength(aboveCellLineCount);
458
+ return {
459
+ edits: [( new ResourceTextEdit(above.uri, {
460
+ range: ( new Range(
461
+ aboveCellLineCount,
462
+ aboveCellLastLineEndColumn + 1,
463
+ aboveCellLineCount,
464
+ aboveCellLastLineEndColumn + 1
465
+ )),
466
+ text: insertContent
467
+ })), ( new ResourceNotebookCellEdit(textModel.uri, {
468
+ editType: CellEditType.Replace,
469
+ index: range.start,
470
+ count: range.end - range.start,
471
+ cells: []
472
+ }))],
473
+ cell: above,
474
+ endFocus: {
475
+ start: range.start - 1,
476
+ end: range.start
477
+ },
478
+ endSelections: [{
479
+ start: range.start - 1,
480
+ end: range.start
481
+ }]
482
+ };
483
+ } else {
484
+ const below = editor.cellAt(range.end);
485
+ const cell = cells[0];
486
+ const restCells = [...cells.slice(1), below];
487
+ const insertContent = ( restCells.map(cl => (cl.textBuffer.getEOL() ?? "") + cl.getText())).join("");
488
+ const cellLineCount = cell.textBuffer.getLineCount();
489
+ const cellLastLineEndColumn = cell.textBuffer.getLineLength(cellLineCount);
490
+ return {
491
+ edits: [( new ResourceTextEdit(cell.uri, {
492
+ range: ( new Range(
493
+ cellLineCount,
494
+ cellLastLineEndColumn + 1,
495
+ cellLineCount,
496
+ cellLastLineEndColumn + 1
497
+ )),
498
+ text: insertContent
499
+ })), ( new ResourceNotebookCellEdit(textModel.uri, {
500
+ editType: CellEditType.Replace,
501
+ index: range.start + 1,
502
+ count: range.end - range.start,
503
+ cells: []
504
+ }))],
505
+ cell,
506
+ endFocus: {
507
+ start: range.start,
508
+ end: range.start + 1
509
+ },
510
+ endSelections: [{
511
+ start: range.start,
512
+ end: range.start + 1
513
+ }]
514
+ };
515
+ }
516
+ }
517
+ async function joinCellsWithSurrounds(bulkEditService, context, direction) {
518
+ const editor = context.notebookEditor;
519
+ const textModel = editor.textModel;
520
+ const viewModel = editor.getViewModel();
521
+ let ret = null;
522
+ if (context.ui) {
523
+ const focusMode = context.cell.focusMode;
524
+ const cellIndex = editor.getCellIndex(context.cell);
525
+ ret = await joinNotebookCells(editor, {
526
+ start: cellIndex,
527
+ end: cellIndex + 1
528
+ }, direction);
529
+ if (!ret) {
530
+ return;
531
+ }
532
+ await bulkEditService.apply(ret?.edits, {
533
+ quotableLabel: "Join Notebook Cells"
534
+ });
535
+ viewModel.updateSelectionsState({
536
+ kind: SelectionStateType.Index,
537
+ focus: ret.endFocus,
538
+ selections: ret.endSelections
539
+ });
540
+ ret.cell.updateEditState(CellEditState.Editing, "joinCellsWithSurrounds");
541
+ editor.revealCellRangeInView(editor.getFocus());
542
+ if (focusMode === CellFocusMode.Editor) {
543
+ ret.cell.focusMode = CellFocusMode.Editor;
544
+ }
545
+ } else {
546
+ const selections = editor.getSelections();
547
+ if (!selections.length) {
548
+ return;
549
+ }
550
+ const focus = editor.getFocus();
551
+ const focusMode = editor.cellAt(focus.start)?.focusMode;
552
+ const edits = [];
553
+ let cell = null;
554
+ const cells = [];
555
+ for (let i = selections.length - 1; i >= 0; i--) {
556
+ const selection = selections[i];
557
+ const containFocus = cellRangeContains(selection, focus);
558
+ if (selection.end >= textModel.length && direction === "below" || selection.start === 0 && direction === "above") {
559
+ if (containFocus) {
560
+ cell = editor.cellAt(focus.start);
561
+ }
562
+ cells.push(...editor.getCellsInRange(selection));
563
+ continue;
564
+ }
565
+ const singleRet = await joinNotebookCells(editor, selection, direction);
566
+ if (!singleRet) {
567
+ return;
568
+ }
569
+ edits.push(...singleRet.edits);
570
+ cells.push(singleRet.cell);
571
+ if (containFocus) {
572
+ cell = singleRet.cell;
573
+ }
574
+ }
575
+ if (!edits.length) {
576
+ return;
577
+ }
578
+ if (!cell || !cells.length) {
579
+ return;
580
+ }
581
+ await bulkEditService.apply(edits, {
582
+ quotableLabel: "Join Notebook Cells"
583
+ });
584
+ cells.forEach(cell => {
585
+ cell.updateEditState(CellEditState.Editing, "joinCellsWithSurrounds");
586
+ });
587
+ viewModel.updateSelectionsState({
588
+ kind: SelectionStateType.Handle,
589
+ primary: cell.handle,
590
+ selections: ( cells.map(cell => cell.handle))
591
+ });
592
+ editor.revealCellRangeInView(editor.getFocus());
593
+ const newFocusedCell = editor.cellAt(editor.getFocus().start);
594
+ if (focusMode === CellFocusMode.Editor && newFocusedCell) {
595
+ newFocusedCell.focusMode = CellFocusMode.Editor;
596
+ }
597
+ }
598
+ }
599
+ function _splitPointsToBoundaries(splitPoints, textBuffer) {
600
+ const boundaries = [];
601
+ const lineCnt = textBuffer.getLineCount();
602
+ const getLineLen = lineNumber => {
603
+ return textBuffer.getLineLength(lineNumber);
604
+ };
605
+ splitPoints = splitPoints.sort((l, r) => {
606
+ const lineDiff = l.lineNumber - r.lineNumber;
607
+ const columnDiff = l.column - r.column;
608
+ return lineDiff !== 0 ? lineDiff : columnDiff;
609
+ });
610
+ for (let sp of splitPoints) {
611
+ if (getLineLen(sp.lineNumber) + 1 === sp.column && sp.column !== 1 && sp.lineNumber < lineCnt) {
612
+ sp = ( new Position(sp.lineNumber + 1, 1));
613
+ }
614
+ _pushIfAbsent(boundaries, sp);
615
+ }
616
+ if (boundaries.length === 0) {
617
+ return null;
618
+ }
619
+ const modelStart = ( new Position(1, 1));
620
+ const modelEnd = ( new Position(lineCnt, getLineLen(lineCnt) + 1));
621
+ return [modelStart, ...boundaries, modelEnd];
622
+ }
623
+ function _pushIfAbsent(positions, p) {
624
+ const last = positions.length > 0 ? positions[positions.length - 1] : undefined;
625
+ if (!last || last.lineNumber !== p.lineNumber || last.column !== p.column) {
626
+ positions.push(p);
627
+ }
628
+ }
629
+ function computeCellLinesContents(cell, splitPoints) {
630
+ const rangeBoundaries = _splitPointsToBoundaries(splitPoints, cell.textBuffer);
631
+ if (!rangeBoundaries) {
632
+ return null;
633
+ }
634
+ const newLineModels = [];
635
+ for (let i = 1; i < rangeBoundaries.length; i++) {
636
+ const start = rangeBoundaries[i - 1];
637
+ const end = rangeBoundaries[i];
638
+ newLineModels.push(cell.textBuffer.getValueInRange(( new Range(start.lineNumber, start.column, end.lineNumber, end.column)), EndOfLinePreference.TextDefined));
639
+ }
640
+ return newLineModels;
641
+ }
642
+ function insertCell(
643
+ languageService,
644
+ editor,
645
+ index,
646
+ type,
647
+ direction = "above",
648
+ initialText = "",
649
+ ui = false,
650
+ kernelHistoryService
651
+ ) {
652
+ const viewModel = editor.getViewModel();
653
+ const activeKernel = editor.activeKernel;
654
+ if (viewModel.options.isReadOnly) {
655
+ return null;
656
+ }
657
+ const cell = editor.cellAt(index);
658
+ const nextIndex = ui ? viewModel.getNextVisibleCellIndex(index) : index + 1;
659
+ let language;
660
+ if (type === CellKind.Code) {
661
+ const supportedLanguages = activeKernel?.supportedLanguages ?? languageService.getRegisteredLanguageIds();
662
+ const defaultLanguage = supportedLanguages[0] || PLAINTEXT_LANGUAGE_ID;
663
+ if (cell?.cellKind === CellKind.Code) {
664
+ language = cell.language;
665
+ } else if (cell?.cellKind === CellKind.Markup) {
666
+ const nearestCodeCellIndex = viewModel.nearestCodeCellIndex(index);
667
+ if (nearestCodeCellIndex > -1) {
668
+ language = viewModel.cellAt(nearestCodeCellIndex).language;
669
+ } else {
670
+ language = defaultLanguage;
671
+ }
672
+ } else if (!cell && viewModel.length === 0) {
673
+ const lastKernels = kernelHistoryService?.getKernels(viewModel.notebookDocument);
674
+ if (lastKernels?.all.length) {
675
+ const lastKernel = lastKernels.all[0];
676
+ language = lastKernel.supportedLanguages[0] || defaultLanguage;
677
+ } else {
678
+ language = defaultLanguage;
679
+ }
680
+ } else {
681
+ if (cell === undefined && direction === "above") {
682
+ language = viewModel.viewCells.find(cell => cell.cellKind === CellKind.Code)?.language || defaultLanguage;
683
+ } else {
684
+ language = defaultLanguage;
685
+ }
686
+ }
687
+ if (!supportedLanguages.includes(language)) {
688
+ language = defaultLanguage;
689
+ }
690
+ } else {
691
+ language = "markdown";
692
+ }
693
+ const insertIndex = cell ? (direction === "above" ? index : nextIndex) : index;
694
+ return insertCellAtIndex(
695
+ viewModel,
696
+ insertIndex,
697
+ initialText,
698
+ language,
699
+ type,
700
+ undefined,
701
+ [],
702
+ true);
703
+ }
704
+ function insertCellAtIndex(
705
+ viewModel,
706
+ index,
707
+ source,
708
+ language,
709
+ type,
710
+ metadata,
711
+ outputs,
712
+ synchronous,
713
+ pushUndoStop
714
+ ) {
715
+ const endSelections = {
716
+ kind: SelectionStateType.Index,
717
+ focus: {
718
+ start: index,
719
+ end: index + 1
720
+ },
721
+ selections: [{
722
+ start: index,
723
+ end: index + 1
724
+ }]
725
+ };
726
+ viewModel.notebookDocument.applyEdits([{
727
+ editType: CellEditType.Replace,
728
+ index,
729
+ count: 0,
730
+ cells: [{
731
+ cellKind: type,
732
+ language: language,
733
+ mime: undefined,
734
+ outputs: outputs,
735
+ metadata: metadata,
736
+ source: source
737
+ }]
738
+ }], synchronous, {
739
+ kind: SelectionStateType.Index,
740
+ focus: viewModel.getFocus(),
741
+ selections: viewModel.getSelections()
742
+ }, () => endSelections, undefined, !viewModel.options.isReadOnly);
743
+ return viewModel.cellAt(index);
744
+ }
745
+
746
+ export { changeCellToKind, computeCellLinesContents, copyCellRange, insertCell, insertCellAtIndex, joinCellsWithSurrounds, joinNotebookCells, joinSelectedCells, moveCellRange, runDeleteAction };