@codingame/monaco-vscode-api 32.0.1 → 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,886 @@
1
+
2
+ import { Emitter } from '../../../../../base/common/event.js';
3
+ import { hash } from '../../../../../base/common/hash.js';
4
+ import { Disposable } from '../../../../../base/common/lifecycle.js';
5
+ import { DiffEditorWidget } from '../../../../../editor/browser/widget/diffEditor/diffEditorWidget.js';
6
+ import { getEditorPadding } from './diffCellEditorOptions.js';
7
+ import { DiffNestedCellViewModel } from './diffNestedCellViewModel.js';
8
+ import { NotebookDiffViewEventType } from './eventDispatcher.js';
9
+ import { DIFF_CELL_MARGIN, DiffSide } from './notebookDiffEditorBrowser.js';
10
+ import { CellLayoutState } from '../notebookBrowser.js';
11
+ import { getFormattedMetadataJSON } from '../../common/model/notebookCellTextModel.js';
12
+ import { CellUri } from '../../common/notebookCommon.js';
13
+ import { Schemas } from '../../../../../base/common/network.js';
14
+ import { NotebookDocumentMetadataTextModel } from '../../common/model/notebookMetadataTextModel.js';
15
+
16
+ const PropertyHeaderHeight = 25;
17
+ const HeightOfHiddenLinesRegionInDiffEditor = 24;
18
+ const DefaultLineHeight = 17;
19
+ var PropertyFoldingState;
20
+ (function(PropertyFoldingState) {
21
+ PropertyFoldingState[PropertyFoldingState["Expanded"] = 0] = "Expanded";
22
+ PropertyFoldingState[PropertyFoldingState["Collapsed"] = 1] = "Collapsed";
23
+ })(PropertyFoldingState || (PropertyFoldingState = {}));
24
+ const OUTPUT_EDITOR_HEIGHT_MAGIC = 1440;
25
+ class DiffElementViewModelBase extends Disposable {
26
+ constructor(mainDocumentTextModel, editorEventDispatcher, initData) {
27
+ super();
28
+ this.mainDocumentTextModel = mainDocumentTextModel;
29
+ this.editorEventDispatcher = editorEventDispatcher;
30
+ this.initData = initData;
31
+ this._layoutInfoEmitter = this._register(( new Emitter()));
32
+ this.onDidLayoutChange = this._layoutInfoEmitter.event;
33
+ this._register(
34
+ this.editorEventDispatcher.onDidChangeLayout(e => this._layoutInfoEmitter.fire({
35
+ outerWidth: true
36
+ }))
37
+ );
38
+ }
39
+ }
40
+ class DiffElementPlaceholderViewModel extends DiffElementViewModelBase {
41
+ constructor(mainDocumentTextModel, editorEventDispatcher, initData) {
42
+ super(mainDocumentTextModel, editorEventDispatcher, initData);
43
+ this.type = "placeholder";
44
+ this.hiddenCells = [];
45
+ this._unfoldHiddenCells = this._register(( new Emitter()));
46
+ this.onUnfoldHiddenCells = this._unfoldHiddenCells.event;
47
+ this.renderOutput = false;
48
+ }
49
+ get totalHeight() {
50
+ return 24 + (2 * DIFF_CELL_MARGIN);
51
+ }
52
+ getHeight(_) {
53
+ return this.totalHeight;
54
+ }
55
+ layoutChange() {}
56
+ showHiddenCells() {
57
+ this._unfoldHiddenCells.fire();
58
+ }
59
+ }
60
+ class NotebookDocumentMetadataViewModel extends DiffElementViewModelBase {
61
+ set editorHeight(height) {
62
+ this._layout({
63
+ editorHeight: height
64
+ });
65
+ }
66
+ get editorHeight() {
67
+ throw ( new Error("Use Cell.layoutInfo.editorHeight"));
68
+ }
69
+ set editorMargin(margin) {
70
+ this._layout({
71
+ editorMargin: margin
72
+ });
73
+ }
74
+ get editorMargin() {
75
+ throw ( new Error("Use Cell.layoutInfo.editorMargin"));
76
+ }
77
+ get layoutInfo() {
78
+ return this._layoutInfo;
79
+ }
80
+ get totalHeight() {
81
+ return this.layoutInfo.totalHeight;
82
+ }
83
+ constructor(
84
+ originalDocumentTextModel,
85
+ modifiedDocumentTextModel,
86
+ type,
87
+ editorEventDispatcher,
88
+ initData,
89
+ notebookService,
90
+ editorHeightCalculator
91
+ ) {
92
+ super(originalDocumentTextModel, editorEventDispatcher, initData);
93
+ this.originalDocumentTextModel = originalDocumentTextModel;
94
+ this.modifiedDocumentTextModel = modifiedDocumentTextModel;
95
+ this.type = type;
96
+ this.editorHeightCalculator = editorHeightCalculator;
97
+ this.renderOutput = false;
98
+ this._sourceEditorViewState = null;
99
+ const cellStatusHeight = PropertyHeaderHeight;
100
+ this._layoutInfo = {
101
+ width: 0,
102
+ editorHeight: 0,
103
+ editorMargin: 0,
104
+ metadataHeight: 0,
105
+ cellStatusHeight,
106
+ metadataStatusHeight: 0,
107
+ rawOutputHeight: 0,
108
+ outputTotalHeight: 0,
109
+ outputStatusHeight: 0,
110
+ outputMetadataHeight: 0,
111
+ bodyMargin: 32,
112
+ totalHeight: 82 + cellStatusHeight + 0,
113
+ layoutState: CellLayoutState.Uninitialized
114
+ };
115
+ this.cellFoldingState = type === "modifiedMetadata" ? PropertyFoldingState.Expanded : PropertyFoldingState.Collapsed;
116
+ this.originalMetadata = this._register(( new NotebookDocumentMetadataTextModel(originalDocumentTextModel)));
117
+ this.modifiedMetadata = this._register(( new NotebookDocumentMetadataTextModel(modifiedDocumentTextModel)));
118
+ }
119
+ async computeHeights() {
120
+ if (this.type === "unchangedMetadata") {
121
+ this.editorHeight = this.editorHeightCalculator.computeHeightFromLines(this.originalMetadata.textBuffer.getLineCount());
122
+ } else {
123
+ const original = this.originalMetadata.uri;
124
+ const modified = this.modifiedMetadata.uri;
125
+ this.editorHeight = await this.editorHeightCalculator.diffAndComputeHeight(original, modified);
126
+ }
127
+ }
128
+ layoutChange() {
129
+ this._layout({
130
+ recomputeOutput: true
131
+ });
132
+ }
133
+ _layout(delta) {
134
+ const width = delta.width !== undefined ? delta.width : this._layoutInfo.width;
135
+ const editorHeight = delta.editorHeight !== undefined ? delta.editorHeight : this._layoutInfo.editorHeight;
136
+ const editorMargin = delta.editorMargin !== undefined ? delta.editorMargin : this._layoutInfo.editorMargin;
137
+ const cellStatusHeight = delta.cellStatusHeight !== undefined ? delta.cellStatusHeight : this._layoutInfo.cellStatusHeight;
138
+ const bodyMargin = delta.bodyMargin !== undefined ? delta.bodyMargin : this._layoutInfo.bodyMargin;
139
+ const totalHeight = editorHeight + editorMargin + cellStatusHeight + bodyMargin;
140
+ const newLayout = {
141
+ width: width,
142
+ editorHeight: editorHeight,
143
+ editorMargin: editorMargin,
144
+ metadataHeight: 0,
145
+ cellStatusHeight,
146
+ metadataStatusHeight: 0,
147
+ outputTotalHeight: 0,
148
+ outputStatusHeight: 0,
149
+ bodyMargin: bodyMargin,
150
+ rawOutputHeight: 0,
151
+ outputMetadataHeight: 0,
152
+ totalHeight: totalHeight,
153
+ layoutState: CellLayoutState.Measured
154
+ };
155
+ let somethingChanged = false;
156
+ const changeEvent = {};
157
+ if (newLayout.width !== this._layoutInfo.width) {
158
+ changeEvent.width = true;
159
+ somethingChanged = true;
160
+ }
161
+ if (newLayout.editorHeight !== this._layoutInfo.editorHeight) {
162
+ changeEvent.editorHeight = true;
163
+ somethingChanged = true;
164
+ }
165
+ if (newLayout.editorMargin !== this._layoutInfo.editorMargin) {
166
+ changeEvent.editorMargin = true;
167
+ somethingChanged = true;
168
+ }
169
+ if (newLayout.cellStatusHeight !== this._layoutInfo.cellStatusHeight) {
170
+ changeEvent.cellStatusHeight = true;
171
+ somethingChanged = true;
172
+ }
173
+ if (newLayout.bodyMargin !== this._layoutInfo.bodyMargin) {
174
+ changeEvent.bodyMargin = true;
175
+ somethingChanged = true;
176
+ }
177
+ if (newLayout.totalHeight !== this._layoutInfo.totalHeight) {
178
+ changeEvent.totalHeight = true;
179
+ somethingChanged = true;
180
+ }
181
+ if (somethingChanged) {
182
+ this._layoutInfo = newLayout;
183
+ this._fireLayoutChangeEvent(changeEvent);
184
+ }
185
+ }
186
+ getHeight(lineHeight) {
187
+ if (this._layoutInfo.layoutState === CellLayoutState.Uninitialized) {
188
+ const editorHeight = this.cellFoldingState === PropertyFoldingState.Collapsed ? 0 : this.computeInputEditorHeight(lineHeight);
189
+ return this._computeTotalHeight(editorHeight);
190
+ } else {
191
+ return this._layoutInfo.totalHeight;
192
+ }
193
+ }
194
+ _computeTotalHeight(editorHeight) {
195
+ const totalHeight = editorHeight + this._layoutInfo.editorMargin + this._layoutInfo.metadataHeight + this._layoutInfo.cellStatusHeight + this._layoutInfo.metadataStatusHeight + this._layoutInfo.outputTotalHeight + this._layoutInfo.outputStatusHeight + this._layoutInfo.outputMetadataHeight + this._layoutInfo.bodyMargin;
196
+ return totalHeight;
197
+ }
198
+ computeInputEditorHeight(_lineHeight) {
199
+ return this.editorHeightCalculator.computeHeightFromLines(Math.max(
200
+ this.originalMetadata.textBuffer.getLineCount(),
201
+ this.modifiedMetadata.textBuffer.getLineCount()
202
+ ));
203
+ }
204
+ _fireLayoutChangeEvent(state) {
205
+ this._layoutInfoEmitter.fire(state);
206
+ this.editorEventDispatcher.emit([{
207
+ type: NotebookDiffViewEventType.CellLayoutChanged,
208
+ source: this._layoutInfo
209
+ }]);
210
+ }
211
+ getComputedCellContainerWidth(layoutInfo, diffEditor, fullWidth) {
212
+ if (fullWidth) {
213
+ return layoutInfo.width - 2 * DIFF_CELL_MARGIN + (diffEditor ? DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH : 0) - 2;
214
+ }
215
+ return (layoutInfo.width - 2 * DIFF_CELL_MARGIN + (diffEditor ? DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH : 0)) / 2 - 18 - 2;
216
+ }
217
+ getSourceEditorViewState() {
218
+ return this._sourceEditorViewState;
219
+ }
220
+ saveSpirceEditorViewState(viewState) {
221
+ this._sourceEditorViewState = viewState;
222
+ }
223
+ }
224
+ class DiffElementCellViewModelBase extends DiffElementViewModelBase {
225
+ hideUnchangedCells() {
226
+ this._hideUnchangedCells.fire();
227
+ }
228
+ set rawOutputHeight(height) {
229
+ this._layout({
230
+ rawOutputHeight: Math.min(OUTPUT_EDITOR_HEIGHT_MAGIC, height)
231
+ });
232
+ }
233
+ get rawOutputHeight() {
234
+ throw ( new Error("Use Cell.layoutInfo.rawOutputHeight"));
235
+ }
236
+ set outputStatusHeight(height) {
237
+ this._layout({
238
+ outputStatusHeight: height
239
+ });
240
+ }
241
+ get outputStatusHeight() {
242
+ throw ( new Error("Use Cell.layoutInfo.outputStatusHeight"));
243
+ }
244
+ set outputMetadataHeight(height) {
245
+ this._layout({
246
+ outputMetadataHeight: height
247
+ });
248
+ }
249
+ get outputMetadataHeight() {
250
+ throw ( new Error("Use Cell.layoutInfo.outputStatusHeight"));
251
+ }
252
+ set editorHeight(height) {
253
+ this._layout({
254
+ editorHeight: height
255
+ });
256
+ }
257
+ get editorHeight() {
258
+ throw ( new Error("Use Cell.layoutInfo.editorHeight"));
259
+ }
260
+ set editorMargin(margin) {
261
+ this._layout({
262
+ editorMargin: margin
263
+ });
264
+ }
265
+ get editorMargin() {
266
+ throw ( new Error("Use Cell.layoutInfo.editorMargin"));
267
+ }
268
+ set metadataStatusHeight(height) {
269
+ this._layout({
270
+ metadataStatusHeight: height
271
+ });
272
+ }
273
+ get metadataStatusHeight() {
274
+ throw ( new Error("Use Cell.layoutInfo.outputStatusHeight"));
275
+ }
276
+ set metadataHeight(height) {
277
+ this._layout({
278
+ metadataHeight: height
279
+ });
280
+ }
281
+ get metadataHeight() {
282
+ throw ( new Error("Use Cell.layoutInfo.metadataHeight"));
283
+ }
284
+ set renderOutput(value) {
285
+ this._renderOutput = value;
286
+ this._layout({
287
+ recomputeOutput: true
288
+ });
289
+ this._stateChangeEmitter.fire({
290
+ renderOutput: this._renderOutput
291
+ });
292
+ }
293
+ get renderOutput() {
294
+ return this._renderOutput;
295
+ }
296
+ get layoutInfo() {
297
+ return this._layoutInfo;
298
+ }
299
+ get totalHeight() {
300
+ return this.layoutInfo.totalHeight;
301
+ }
302
+ get ignoreOutputs() {
303
+ return this.configurationService.getValue("notebook.diff.ignoreOutputs") || !!(this.mainDocumentTextModel?.transientOptions.transientOutputs);
304
+ }
305
+ get ignoreMetadata() {
306
+ return this.configurationService.getValue("notebook.diff.ignoreMetadata");
307
+ }
308
+ constructor(
309
+ mainDocumentTextModel,
310
+ original,
311
+ modified,
312
+ type,
313
+ editorEventDispatcher,
314
+ initData,
315
+ notebookService,
316
+ index,
317
+ configurationService,
318
+ diffEditorHeightCalculator
319
+ ) {
320
+ super(mainDocumentTextModel, editorEventDispatcher, initData);
321
+ this.type = type;
322
+ this.index = index;
323
+ this.configurationService = configurationService;
324
+ this.diffEditorHeightCalculator = diffEditorHeightCalculator;
325
+ this._stateChangeEmitter = this._register(( new Emitter()));
326
+ this.onDidStateChange = this._stateChangeEmitter.event;
327
+ this._hideUnchangedCells = this._register(( new Emitter()));
328
+ this.onHideUnchangedCells = this._hideUnchangedCells.event;
329
+ this._renderOutput = true;
330
+ this._sourceEditorViewState = null;
331
+ this._outputEditorViewState = null;
332
+ this._metadataEditorViewState = null;
333
+ this.original = original ? this._register(( new DiffNestedCellViewModel(original, notebookService))) : undefined;
334
+ this.modified = modified ? this._register(( new DiffNestedCellViewModel(modified, notebookService))) : undefined;
335
+ const editorHeight = this._estimateEditorHeight(initData.fontInfo);
336
+ const cellStatusHeight = PropertyHeaderHeight;
337
+ this._layoutInfo = {
338
+ width: 0,
339
+ editorHeight: editorHeight,
340
+ editorMargin: 0,
341
+ metadataHeight: 0,
342
+ cellStatusHeight,
343
+ metadataStatusHeight: this.ignoreMetadata ? 0 : PropertyHeaderHeight,
344
+ rawOutputHeight: 0,
345
+ outputTotalHeight: 0,
346
+ outputStatusHeight: this.ignoreOutputs ? 0 : PropertyHeaderHeight,
347
+ outputMetadataHeight: 0,
348
+ bodyMargin: 32,
349
+ totalHeight: 82 + cellStatusHeight + editorHeight,
350
+ layoutState: CellLayoutState.Uninitialized
351
+ };
352
+ this.cellFoldingState = modified?.getTextBufferHash() !== original?.getTextBufferHash() ? PropertyFoldingState.Expanded : PropertyFoldingState.Collapsed;
353
+ this.metadataFoldingState = PropertyFoldingState.Collapsed;
354
+ this.outputFoldingState = PropertyFoldingState.Collapsed;
355
+ }
356
+ layoutChange() {
357
+ this._layout({
358
+ recomputeOutput: true
359
+ });
360
+ }
361
+ _estimateEditorHeight(fontInfo) {
362
+ const lineHeight = fontInfo?.lineHeight ?? 17;
363
+ switch (this.type) {
364
+ case "unchanged":
365
+ case "insert":
366
+ {
367
+ const lineCount = this.modified.textModel.textBuffer.getLineCount();
368
+ const editorHeight = lineCount * lineHeight + getEditorPadding(lineCount).top + getEditorPadding(lineCount).bottom;
369
+ return editorHeight;
370
+ }
371
+ case "delete":
372
+ case "modified":
373
+ {
374
+ const lineCount = this.original.textModel.textBuffer.getLineCount();
375
+ const editorHeight = lineCount * lineHeight + getEditorPadding(lineCount).top + getEditorPadding(lineCount).bottom;
376
+ return editorHeight;
377
+ }
378
+ }
379
+ }
380
+ _layout(delta) {
381
+ const width = delta.width !== undefined ? delta.width : this._layoutInfo.width;
382
+ const editorHeight = delta.editorHeight !== undefined ? delta.editorHeight : this._layoutInfo.editorHeight;
383
+ const editorMargin = delta.editorMargin !== undefined ? delta.editorMargin : this._layoutInfo.editorMargin;
384
+ const metadataHeight = delta.metadataHeight !== undefined ? delta.metadataHeight : this._layoutInfo.metadataHeight;
385
+ const cellStatusHeight = delta.cellStatusHeight !== undefined ? delta.cellStatusHeight : this._layoutInfo.cellStatusHeight;
386
+ const metadataStatusHeight = delta.metadataStatusHeight !== undefined ? delta.metadataStatusHeight : this._layoutInfo.metadataStatusHeight;
387
+ const rawOutputHeight = delta.rawOutputHeight !== undefined ? delta.rawOutputHeight : this._layoutInfo.rawOutputHeight;
388
+ const outputStatusHeight = delta.outputStatusHeight !== undefined ? delta.outputStatusHeight : this._layoutInfo.outputStatusHeight;
389
+ const bodyMargin = delta.bodyMargin !== undefined ? delta.bodyMargin : this._layoutInfo.bodyMargin;
390
+ const outputMetadataHeight = delta.outputMetadataHeight !== undefined ? delta.outputMetadataHeight : this._layoutInfo.outputMetadataHeight;
391
+ const outputHeight = this.ignoreOutputs ? 0 : (delta.recomputeOutput || delta.rawOutputHeight !== undefined || delta.outputMetadataHeight !== undefined) ? this._getOutputTotalHeight(rawOutputHeight, outputMetadataHeight) : this._layoutInfo.outputTotalHeight;
392
+ const totalHeight = editorHeight + editorMargin + cellStatusHeight + metadataHeight + metadataStatusHeight + outputHeight + outputStatusHeight + bodyMargin;
393
+ const newLayout = {
394
+ width: width,
395
+ editorHeight: editorHeight,
396
+ editorMargin: editorMargin,
397
+ metadataHeight: metadataHeight,
398
+ cellStatusHeight,
399
+ metadataStatusHeight: metadataStatusHeight,
400
+ outputTotalHeight: outputHeight,
401
+ outputStatusHeight: outputStatusHeight,
402
+ bodyMargin: bodyMargin,
403
+ rawOutputHeight: rawOutputHeight,
404
+ outputMetadataHeight: outputMetadataHeight,
405
+ totalHeight: totalHeight,
406
+ layoutState: CellLayoutState.Measured
407
+ };
408
+ let somethingChanged = false;
409
+ const changeEvent = {};
410
+ if (newLayout.width !== this._layoutInfo.width) {
411
+ changeEvent.width = true;
412
+ somethingChanged = true;
413
+ }
414
+ if (newLayout.editorHeight !== this._layoutInfo.editorHeight) {
415
+ changeEvent.editorHeight = true;
416
+ somethingChanged = true;
417
+ }
418
+ if (newLayout.editorMargin !== this._layoutInfo.editorMargin) {
419
+ changeEvent.editorMargin = true;
420
+ somethingChanged = true;
421
+ }
422
+ if (newLayout.metadataHeight !== this._layoutInfo.metadataHeight) {
423
+ changeEvent.metadataHeight = true;
424
+ somethingChanged = true;
425
+ }
426
+ if (newLayout.cellStatusHeight !== this._layoutInfo.cellStatusHeight) {
427
+ changeEvent.cellStatusHeight = true;
428
+ somethingChanged = true;
429
+ }
430
+ if (newLayout.metadataStatusHeight !== this._layoutInfo.metadataStatusHeight) {
431
+ changeEvent.metadataStatusHeight = true;
432
+ somethingChanged = true;
433
+ }
434
+ if (newLayout.outputTotalHeight !== this._layoutInfo.outputTotalHeight) {
435
+ changeEvent.outputTotalHeight = true;
436
+ somethingChanged = true;
437
+ }
438
+ if (newLayout.outputStatusHeight !== this._layoutInfo.outputStatusHeight) {
439
+ changeEvent.outputStatusHeight = true;
440
+ somethingChanged = true;
441
+ }
442
+ if (newLayout.bodyMargin !== this._layoutInfo.bodyMargin) {
443
+ changeEvent.bodyMargin = true;
444
+ somethingChanged = true;
445
+ }
446
+ if (newLayout.outputMetadataHeight !== this._layoutInfo.outputMetadataHeight) {
447
+ changeEvent.outputMetadataHeight = true;
448
+ somethingChanged = true;
449
+ }
450
+ if (newLayout.totalHeight !== this._layoutInfo.totalHeight) {
451
+ changeEvent.totalHeight = true;
452
+ somethingChanged = true;
453
+ }
454
+ if (somethingChanged) {
455
+ this._layoutInfo = newLayout;
456
+ this._fireLayoutChangeEvent(changeEvent);
457
+ }
458
+ }
459
+ getHeight(lineHeight) {
460
+ if (this._layoutInfo.layoutState === CellLayoutState.Uninitialized) {
461
+ const editorHeight = this.cellFoldingState === PropertyFoldingState.Collapsed ? 0 : this.computeInputEditorHeight(lineHeight);
462
+ return this._computeTotalHeight(editorHeight);
463
+ } else {
464
+ return this._layoutInfo.totalHeight;
465
+ }
466
+ }
467
+ _computeTotalHeight(editorHeight) {
468
+ const totalHeight = editorHeight + this._layoutInfo.editorMargin + this._layoutInfo.metadataHeight + this._layoutInfo.cellStatusHeight + this._layoutInfo.metadataStatusHeight + this._layoutInfo.outputTotalHeight + this._layoutInfo.outputStatusHeight + this._layoutInfo.outputMetadataHeight + this._layoutInfo.bodyMargin;
469
+ return totalHeight;
470
+ }
471
+ computeInputEditorHeight(lineHeight) {
472
+ const lineCount = Math.max(
473
+ this.original?.textModel.textBuffer.getLineCount() ?? 1,
474
+ this.modified?.textModel.textBuffer.getLineCount() ?? 1
475
+ );
476
+ return this.diffEditorHeightCalculator.computeHeightFromLines(lineCount);
477
+ }
478
+ _getOutputTotalHeight(rawOutputHeight, metadataHeight) {
479
+ if (this.outputFoldingState === PropertyFoldingState.Collapsed) {
480
+ return 0;
481
+ }
482
+ if (this.renderOutput) {
483
+ if (this.isOutputEmpty()) {
484
+ return 24;
485
+ }
486
+ return this.getRichOutputTotalHeight() + metadataHeight;
487
+ } else {
488
+ return rawOutputHeight;
489
+ }
490
+ }
491
+ _fireLayoutChangeEvent(state) {
492
+ this._layoutInfoEmitter.fire(state);
493
+ this.editorEventDispatcher.emit([{
494
+ type: NotebookDiffViewEventType.CellLayoutChanged,
495
+ source: this._layoutInfo
496
+ }]);
497
+ }
498
+ getComputedCellContainerWidth(layoutInfo, diffEditor, fullWidth) {
499
+ if (fullWidth) {
500
+ return layoutInfo.width - 2 * DIFF_CELL_MARGIN + (diffEditor ? DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH : 0) - 2;
501
+ }
502
+ return (layoutInfo.width - 2 * DIFF_CELL_MARGIN + (diffEditor ? DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH : 0)) / 2 - 18 - 2;
503
+ }
504
+ getOutputEditorViewState() {
505
+ return this._outputEditorViewState;
506
+ }
507
+ saveOutputEditorViewState(viewState) {
508
+ this._outputEditorViewState = viewState;
509
+ }
510
+ getMetadataEditorViewState() {
511
+ return this._metadataEditorViewState;
512
+ }
513
+ saveMetadataEditorViewState(viewState) {
514
+ this._metadataEditorViewState = viewState;
515
+ }
516
+ getSourceEditorViewState() {
517
+ return this._sourceEditorViewState;
518
+ }
519
+ saveSpirceEditorViewState(viewState) {
520
+ this._sourceEditorViewState = viewState;
521
+ }
522
+ }
523
+ class SideBySideDiffElementViewModel extends DiffElementCellViewModelBase {
524
+ get originalDocument() {
525
+ return this.otherDocumentTextModel;
526
+ }
527
+ get modifiedDocument() {
528
+ return this.mainDocumentTextModel;
529
+ }
530
+ constructor(
531
+ mainDocumentTextModel,
532
+ otherDocumentTextModel,
533
+ original,
534
+ modified,
535
+ type,
536
+ editorEventDispatcher,
537
+ initData,
538
+ notebookService,
539
+ configurationService,
540
+ index,
541
+ diffEditorHeightCalculator
542
+ ) {
543
+ super(
544
+ mainDocumentTextModel,
545
+ original,
546
+ modified,
547
+ type,
548
+ editorEventDispatcher,
549
+ initData,
550
+ notebookService,
551
+ index,
552
+ configurationService,
553
+ diffEditorHeightCalculator
554
+ );
555
+ this.otherDocumentTextModel = otherDocumentTextModel;
556
+ this.type = type;
557
+ this.cellFoldingState = this.modified.textModel.getValue() !== this.original.textModel.getValue() ? PropertyFoldingState.Expanded : PropertyFoldingState.Collapsed;
558
+ this.metadataFoldingState = PropertyFoldingState.Collapsed;
559
+ this.outputFoldingState = PropertyFoldingState.Collapsed;
560
+ if (this.checkMetadataIfModified()) {
561
+ this.metadataFoldingState = PropertyFoldingState.Expanded;
562
+ }
563
+ if (this.checkIfOutputsModified()) {
564
+ this.outputFoldingState = PropertyFoldingState.Expanded;
565
+ }
566
+ this._register(this.original.onDidChangeOutputLayout(() => {
567
+ this._layout({
568
+ recomputeOutput: true
569
+ });
570
+ }));
571
+ this._register(this.modified.onDidChangeOutputLayout(() => {
572
+ this._layout({
573
+ recomputeOutput: true
574
+ });
575
+ }));
576
+ this._register(this.modified.textModel.onDidChangeContent(() => {
577
+ if (mainDocumentTextModel.transientOptions.cellContentMetadata) {
578
+ const cellMetadataKeys = [...( Object.keys(mainDocumentTextModel.transientOptions.cellContentMetadata))];
579
+ const modifiedMedataRaw = Object.assign({}, this.modified.metadata);
580
+ const originalCellMetadata = this.original.metadata;
581
+ for (const key of cellMetadataKeys) {
582
+ if (Object.hasOwn(originalCellMetadata, key)) {
583
+ modifiedMedataRaw[key] = originalCellMetadata[key];
584
+ }
585
+ }
586
+ this.modified.textModel.metadata = modifiedMedataRaw;
587
+ }
588
+ }));
589
+ }
590
+ checkIfInputModified() {
591
+ if (this.original.textModel.getTextBufferHash() === this.modified.textModel.getTextBufferHash()) {
592
+ return false;
593
+ }
594
+ return {
595
+ reason: "Cell content has changed"
596
+ };
597
+ }
598
+ checkIfOutputsModified() {
599
+ if (this.mainDocumentTextModel.transientOptions.transientOutputs || this.ignoreOutputs) {
600
+ return false;
601
+ }
602
+ const ret = outputsEqual(this.original?.outputs ?? [], this.modified?.outputs ?? []);
603
+ if (ret === OutputComparison.Unchanged) {
604
+ return false;
605
+ }
606
+ return {
607
+ reason: ret === OutputComparison.Metadata ? "Output metadata has changed" : undefined,
608
+ kind: ret
609
+ };
610
+ }
611
+ checkMetadataIfModified() {
612
+ if (this.ignoreMetadata) {
613
+ return false;
614
+ }
615
+ const modified = hash(getFormattedMetadataJSON(
616
+ this.mainDocumentTextModel.transientOptions.transientCellMetadata,
617
+ this.original?.metadata || {},
618
+ this.original?.language
619
+ )) !== hash(getFormattedMetadataJSON(
620
+ this.mainDocumentTextModel.transientOptions.transientCellMetadata,
621
+ this.modified?.metadata ?? {},
622
+ this.modified?.language
623
+ ));
624
+ if (modified) {
625
+ return {
626
+ reason: undefined
627
+ };
628
+ } else {
629
+ return false;
630
+ }
631
+ }
632
+ updateOutputHeight(diffSide, index, height) {
633
+ if (diffSide === DiffSide.Original) {
634
+ this.original.updateOutputHeight(index, height);
635
+ } else {
636
+ this.modified.updateOutputHeight(index, height);
637
+ }
638
+ }
639
+ getOutputOffsetInContainer(diffSide, index) {
640
+ if (diffSide === DiffSide.Original) {
641
+ return this.original.getOutputOffset(index);
642
+ } else {
643
+ return this.modified.getOutputOffset(index);
644
+ }
645
+ }
646
+ getOutputOffsetInCell(diffSide, index) {
647
+ const offsetInOutputsContainer = this.getOutputOffsetInContainer(diffSide, index);
648
+ return this._layoutInfo.editorHeight + this._layoutInfo.editorMargin + this._layoutInfo.metadataHeight + this._layoutInfo.cellStatusHeight + this._layoutInfo.metadataStatusHeight + this._layoutInfo.outputStatusHeight + this._layoutInfo.bodyMargin / 2 + offsetInOutputsContainer;
649
+ }
650
+ isOutputEmpty() {
651
+ if (this.mainDocumentTextModel.transientOptions.transientOutputs) {
652
+ return true;
653
+ }
654
+ if (this.checkIfOutputsModified()) {
655
+ return false;
656
+ }
657
+ return (this.original?.outputs || []).length === 0;
658
+ }
659
+ getRichOutputTotalHeight() {
660
+ return Math.max(this.original.getOutputTotalHeight(), this.modified.getOutputTotalHeight());
661
+ }
662
+ getNestedCellViewModel(diffSide) {
663
+ return diffSide === DiffSide.Original ? this.original : this.modified;
664
+ }
665
+ getCellByUri(cellUri) {
666
+ if (( cellUri.toString()) === ( this.original.uri.toString())) {
667
+ return this.original;
668
+ } else {
669
+ return this.modified;
670
+ }
671
+ }
672
+ computeInputEditorHeight(lineHeight) {
673
+ if (this.type === "modified" && typeof this.editorHeightWithUnchangedLinesCollapsed === "number" && this.checkIfInputModified()) {
674
+ return this.editorHeightWithUnchangedLinesCollapsed;
675
+ }
676
+ return super.computeInputEditorHeight(lineHeight);
677
+ }
678
+ async computeModifiedInputEditorHeight() {
679
+ if (this.checkIfInputModified()) {
680
+ this.editorHeightWithUnchangedLinesCollapsed = this._layoutInfo.editorHeight = await this.diffEditorHeightCalculator.diffAndComputeHeight(this.original.uri, this.modified.uri);
681
+ }
682
+ }
683
+ async computeModifiedMetadataEditorHeight() {
684
+ if (this.checkMetadataIfModified()) {
685
+ const originalMetadataUri = CellUri.generateCellPropertyUri(
686
+ this.originalDocument.uri,
687
+ this.original.handle,
688
+ Schemas.vscodeNotebookCellMetadata
689
+ );
690
+ const modifiedMetadataUri = CellUri.generateCellPropertyUri(
691
+ this.modifiedDocument.uri,
692
+ this.modified.handle,
693
+ Schemas.vscodeNotebookCellMetadata
694
+ );
695
+ this._layoutInfo.metadataHeight = await this.diffEditorHeightCalculator.diffAndComputeHeight(originalMetadataUri, modifiedMetadataUri);
696
+ }
697
+ }
698
+ async computeEditorHeights() {
699
+ if (this.type === "unchanged") {
700
+ return;
701
+ }
702
+ await Promise.all([
703
+ this.computeModifiedInputEditorHeight(),
704
+ this.computeModifiedMetadataEditorHeight()
705
+ ]);
706
+ }
707
+ }
708
+ class SingleSideDiffElementViewModel extends DiffElementCellViewModelBase {
709
+ get cellViewModel() {
710
+ return this.type === "insert" ? this.modified : this.original;
711
+ }
712
+ get originalDocument() {
713
+ if (this.type === "insert") {
714
+ return this.otherDocumentTextModel;
715
+ } else {
716
+ return this.mainDocumentTextModel;
717
+ }
718
+ }
719
+ get modifiedDocument() {
720
+ if (this.type === "insert") {
721
+ return this.mainDocumentTextModel;
722
+ } else {
723
+ return this.otherDocumentTextModel;
724
+ }
725
+ }
726
+ constructor(
727
+ mainDocumentTextModel,
728
+ otherDocumentTextModel,
729
+ original,
730
+ modified,
731
+ type,
732
+ editorEventDispatcher,
733
+ initData,
734
+ notebookService,
735
+ configurationService,
736
+ diffEditorHeightCalculator,
737
+ index
738
+ ) {
739
+ super(
740
+ mainDocumentTextModel,
741
+ original,
742
+ modified,
743
+ type,
744
+ editorEventDispatcher,
745
+ initData,
746
+ notebookService,
747
+ index,
748
+ configurationService,
749
+ diffEditorHeightCalculator
750
+ );
751
+ this.otherDocumentTextModel = otherDocumentTextModel;
752
+ this.type = type;
753
+ this._register(this.cellViewModel.onDidChangeOutputLayout(() => {
754
+ this._layout({
755
+ recomputeOutput: true
756
+ });
757
+ }));
758
+ }
759
+ checkIfInputModified() {
760
+ return {
761
+ reason: "Cell content has changed"
762
+ };
763
+ }
764
+ getNestedCellViewModel(diffSide) {
765
+ return this.type === "insert" ? this.modified : this.original;
766
+ }
767
+ checkIfOutputsModified() {
768
+ return false;
769
+ }
770
+ checkMetadataIfModified() {
771
+ return false;
772
+ }
773
+ updateOutputHeight(diffSide, index, height) {
774
+ this.cellViewModel?.updateOutputHeight(index, height);
775
+ }
776
+ getOutputOffsetInContainer(diffSide, index) {
777
+ return this.cellViewModel.getOutputOffset(index);
778
+ }
779
+ getOutputOffsetInCell(diffSide, index) {
780
+ const offsetInOutputsContainer = this.cellViewModel.getOutputOffset(index);
781
+ return this._layoutInfo.editorHeight + this._layoutInfo.editorMargin + this._layoutInfo.metadataHeight + this._layoutInfo.cellStatusHeight + this._layoutInfo.metadataStatusHeight + this._layoutInfo.outputStatusHeight + this._layoutInfo.bodyMargin / 2 + offsetInOutputsContainer;
782
+ }
783
+ isOutputEmpty() {
784
+ if (this.mainDocumentTextModel.transientOptions.transientOutputs) {
785
+ return true;
786
+ }
787
+ return (this.original?.outputs || this.modified?.outputs || []).length === 0;
788
+ }
789
+ getRichOutputTotalHeight() {
790
+ return this.cellViewModel?.getOutputTotalHeight() ?? 0;
791
+ }
792
+ getCellByUri(cellUri) {
793
+ return this.cellViewModel;
794
+ }
795
+ }
796
+ var OutputComparison;
797
+ (function(OutputComparison) {
798
+ OutputComparison[OutputComparison["Unchanged"] = 0] = "Unchanged";
799
+ OutputComparison[OutputComparison["Metadata"] = 1] = "Metadata";
800
+ OutputComparison[OutputComparison["Other"] = 2] = "Other";
801
+ })(OutputComparison || (OutputComparison = {}));
802
+ function outputEqual(a, b) {
803
+ if (hash(a.metadata) === hash(b.metadata)) {
804
+ return OutputComparison.Other;
805
+ }
806
+ for (let j = 0; j < a.outputs.length; j++) {
807
+ const aOutputItem = a.outputs[j];
808
+ const bOutputItem = b.outputs[j];
809
+ if (aOutputItem.mime !== bOutputItem.mime) {
810
+ return OutputComparison.Other;
811
+ }
812
+ if (aOutputItem.data.buffer.length !== bOutputItem.data.buffer.length) {
813
+ return OutputComparison.Other;
814
+ }
815
+ for (let k = 0; k < aOutputItem.data.buffer.length; k++) {
816
+ if (aOutputItem.data.buffer[k] !== bOutputItem.data.buffer[k]) {
817
+ return OutputComparison.Other;
818
+ }
819
+ }
820
+ }
821
+ return OutputComparison.Metadata;
822
+ }
823
+ function outputsEqual(original, modified) {
824
+ if (original.length !== modified.length) {
825
+ return OutputComparison.Other;
826
+ }
827
+ const len = original.length;
828
+ for (let i = 0; i < len; i++) {
829
+ const a = original[i];
830
+ const b = modified[i];
831
+ if (hash(a.metadata) !== hash(b.metadata)) {
832
+ return OutputComparison.Metadata;
833
+ }
834
+ if (a.outputs.length !== b.outputs.length) {
835
+ return OutputComparison.Other;
836
+ }
837
+ for (let j = 0; j < a.outputs.length; j++) {
838
+ const aOutputItem = a.outputs[j];
839
+ const bOutputItem = b.outputs[j];
840
+ if (aOutputItem.mime !== bOutputItem.mime) {
841
+ return OutputComparison.Other;
842
+ }
843
+ if (aOutputItem.data.buffer.length !== bOutputItem.data.buffer.length) {
844
+ return OutputComparison.Other;
845
+ }
846
+ for (let k = 0; k < aOutputItem.data.buffer.length; k++) {
847
+ if (aOutputItem.data.buffer[k] !== bOutputItem.data.buffer[k]) {
848
+ return OutputComparison.Other;
849
+ }
850
+ }
851
+ }
852
+ }
853
+ return OutputComparison.Unchanged;
854
+ }
855
+ function getStreamOutputData(outputs) {
856
+ if (!outputs.length) {
857
+ return null;
858
+ }
859
+ const first = outputs[0];
860
+ const mime = first.mime;
861
+ const sameStream = !outputs.find(op => op.mime !== mime);
862
+ if (sameStream) {
863
+ return ( outputs.map(opit => ( opit.data.toString()))).join("");
864
+ } else {
865
+ return null;
866
+ }
867
+ }
868
+ function getFormattedOutputJSON(outputs) {
869
+ if (outputs.length === 1) {
870
+ const streamOutputData = getStreamOutputData(outputs[0].outputs);
871
+ if (streamOutputData) {
872
+ return streamOutputData;
873
+ }
874
+ }
875
+ return JSON.stringify(( outputs.map(output => {
876
+ return ({
877
+ metadata: output.metadata,
878
+ outputItems: ( output.outputs.map(opit => ({
879
+ mimeType: opit.mime,
880
+ data: ( opit.data.toString())
881
+ })))
882
+ });
883
+ })), undefined, "\t");
884
+ }
885
+
886
+ export { DefaultLineHeight, DiffElementCellViewModelBase, DiffElementPlaceholderViewModel, DiffElementViewModelBase, HeightOfHiddenLinesRegionInDiffEditor, NotebookDocumentMetadataViewModel, OUTPUT_EDITOR_HEIGHT_MAGIC, OutputComparison, PropertyFoldingState, SideBySideDiffElementViewModel, SingleSideDiffElementViewModel, getFormattedOutputJSON, getStreamOutputData, outputEqual };