@openclaw/diffs 2026.8.1-beta.3 → 2026.8.2

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 (620) hide show
  1. package/dist/assets/viewer-runtime.js +129 -156
  2. package/dist/{browser.runtime-_hkQDewM.js → browser.runtime-DTKAejqd.js} +1 -1
  3. package/dist/index.js +18 -16
  4. package/dist/{viewer-assets-DKR8WLAI.js → viewer-assets-D3qrnaxI.js} +11 -23
  5. package/node_modules/@pierre/diffs/README.md +9 -0
  6. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +94 -7
  7. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
  8. package/node_modules/@pierre/diffs/dist/components/CodeView.js +333 -47
  9. package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
  10. package/node_modules/@pierre/diffs/dist/components/File.d.ts +22 -4
  11. package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
  12. package/node_modules/@pierre/diffs/dist/components/File.js +143 -23
  13. package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
  14. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +83 -19
  15. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
  16. package/node_modules/@pierre/diffs/dist/components/FileDiff.js +461 -46
  17. package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
  18. package/node_modules/@pierre/diffs/dist/components/FileStream.d.ts.map +1 -1
  19. package/node_modules/@pierre/diffs/dist/components/FileStream.js +2 -1
  20. package/node_modules/@pierre/diffs/dist/components/FileStream.js.map +1 -1
  21. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts +2 -2
  22. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts.map +1 -1
  23. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js +9 -4
  24. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js.map +1 -1
  25. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts +7 -3
  26. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
  27. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +87 -60
  28. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
  29. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts +30 -5
  30. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  31. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +277 -56
  32. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
  33. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts +17 -3
  34. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts.map +1 -1
  35. package/node_modules/@pierre/diffs/dist/components/Virtualizer.js +44 -5
  36. package/node_modules/@pierre/diffs/dist/components/Virtualizer.js.map +1 -1
  37. package/node_modules/@pierre/diffs/dist/constants.d.ts +4 -1
  38. package/node_modules/@pierre/diffs/dist/constants.d.ts.map +1 -1
  39. package/node_modules/@pierre/diffs/dist/constants.js +4 -1
  40. package/node_modules/@pierre/diffs/dist/constants.js.map +1 -1
  41. package/node_modules/@pierre/diffs/dist/edit/index.d.ts +6 -0
  42. package/node_modules/@pierre/diffs/dist/edit/index.js +3 -0
  43. package/node_modules/@pierre/diffs/dist/editor/command.d.ts +15 -0
  44. package/node_modules/@pierre/diffs/dist/editor/command.d.ts.map +1 -0
  45. package/node_modules/@pierre/diffs/dist/editor/command.js +128 -0
  46. package/node_modules/@pierre/diffs/dist/editor/command.js.map +1 -0
  47. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts +76 -0
  48. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts.map +1 -0
  49. package/node_modules/@pierre/diffs/dist/editor/editStack.js +259 -0
  50. package/node_modules/@pierre/diffs/dist/editor/editStack.js.map +1 -0
  51. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts +118 -0
  52. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -0
  53. package/node_modules/@pierre/diffs/dist/editor/editor.js +2880 -0
  54. package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -0
  55. package/node_modules/@pierre/diffs/dist/editor/editor2.js +6 -0
  56. package/node_modules/@pierre/diffs/dist/editor/editor2.js.map +1 -0
  57. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts +26 -0
  58. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts.map +1 -0
  59. package/node_modules/@pierre/diffs/dist/editor/languages.js +363 -0
  60. package/node_modules/@pierre/diffs/dist/editor/languages.js.map +1 -0
  61. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts +9 -0
  62. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts.map +1 -0
  63. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js +212 -0
  64. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js.map +1 -0
  65. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts +38 -0
  66. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts.map +1 -0
  67. package/node_modules/@pierre/diffs/dist/editor/marker.js +245 -0
  68. package/node_modules/@pierre/diffs/dist/editor/marker.js.map +1 -0
  69. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts +9 -0
  70. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts.map +1 -0
  71. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js +138 -0
  72. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js.map +1 -0
  73. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts +40 -0
  74. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts.map +1 -0
  75. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js +706 -0
  76. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js.map +1 -0
  77. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts +11 -0
  78. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts.map +1 -0
  79. package/node_modules/@pierre/diffs/dist/editor/platform.js +31 -0
  80. package/node_modules/@pierre/diffs/dist/editor/platform.js.map +1 -0
  81. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts +65 -0
  82. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts.map +1 -0
  83. package/node_modules/@pierre/diffs/dist/editor/popover.js +191 -0
  84. package/node_modules/@pierre/diffs/dist/editor/popover.js.map +1 -0
  85. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts +41 -0
  86. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts.map +1 -0
  87. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js +318 -0
  88. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js.map +1 -0
  89. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts +211 -0
  90. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts.map +1 -0
  91. package/node_modules/@pierre/diffs/dist/editor/selection.js +1626 -0
  92. package/node_modules/@pierre/diffs/dist/editor/selection.js.map +1 -0
  93. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts +47 -0
  94. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts.map +1 -0
  95. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js +66 -0
  96. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js.map +1 -0
  97. package/node_modules/@pierre/diffs/dist/editor/sprite.d.ts +8 -0
  98. package/node_modules/@pierre/diffs/dist/editor/sprite.d.ts.map +1 -0
  99. package/node_modules/@pierre/diffs/dist/editor/sprite.js +45 -0
  100. package/node_modules/@pierre/diffs/dist/editor/sprite.js.map +1 -0
  101. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts +15 -0
  102. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts.map +1 -0
  103. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js +65 -0
  104. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js.map +1 -0
  105. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts +67 -0
  106. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts.map +1 -0
  107. package/node_modules/@pierre/diffs/dist/editor/textDocument.js +278 -0
  108. package/node_modules/@pierre/diffs/dist/editor/textDocument.js.map +1 -0
  109. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts +61 -0
  110. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts.map +1 -0
  111. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js +209 -0
  112. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js.map +1 -0
  113. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts +41 -0
  114. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts.map +1 -0
  115. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js +596 -0
  116. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js.map +1 -0
  117. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts +22 -0
  118. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts.map +1 -0
  119. package/node_modules/@pierre/diffs/dist/editor/utils.js +78 -0
  120. package/node_modules/@pierre/diffs/dist/editor/utils.js.map +1 -0
  121. package/node_modules/@pierre/diffs/dist/index.d.ts +12 -9
  122. package/node_modules/@pierre/diffs/dist/index.js +13 -10
  123. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts +20 -2
  124. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts.map +1 -1
  125. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js +155 -79
  126. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js.map +1 -1
  127. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts +10 -2
  128. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts.map +1 -1
  129. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.js +33 -13
  130. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.js.map +1 -1
  131. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.d.ts +2 -1
  132. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  133. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js +7 -3
  134. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js.map +1 -1
  135. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts +29 -3
  136. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts.map +1 -1
  137. package/node_modules/@pierre/diffs/dist/react/CodeView.js +111 -30
  138. package/node_modules/@pierre/diffs/dist/react/CodeView.js.map +1 -1
  139. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts +20 -0
  140. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts.map +1 -0
  141. package/node_modules/@pierre/diffs/dist/react/EditContext.js +27 -0
  142. package/node_modules/@pierre/diffs/dist/react/EditContext.js.map +1 -0
  143. package/node_modules/@pierre/diffs/dist/react/File.d.ts +4 -1
  144. package/node_modules/@pierre/diffs/dist/react/File.d.ts.map +1 -1
  145. package/node_modules/@pierre/diffs/dist/react/File.js +5 -2
  146. package/node_modules/@pierre/diffs/dist/react/File.js.map +1 -1
  147. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts +4 -1
  148. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts.map +1 -1
  149. package/node_modules/@pierre/diffs/dist/react/FileDiff.js +5 -2
  150. package/node_modules/@pierre/diffs/dist/react/FileDiff.js.map +1 -1
  151. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts +7 -5
  152. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts.map +1 -1
  153. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js +5 -2
  154. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js.map +1 -1
  155. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts +4 -1
  156. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts.map +1 -1
  157. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js +5 -2
  158. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js.map +1 -1
  159. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts +2 -1
  160. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts.map +1 -1
  161. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js +2 -1
  162. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js.map +1 -1
  163. package/node_modules/@pierre/diffs/dist/react/index.d.ts +4 -3
  164. package/node_modules/@pierre/diffs/dist/react/index.js +3 -2
  165. package/node_modules/@pierre/diffs/dist/react/types.d.ts +11 -0
  166. package/node_modules/@pierre/diffs/dist/react/types.d.ts.map +1 -1
  167. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts +2 -0
  168. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  169. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js +16 -8
  170. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js.map +1 -1
  171. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts +2 -0
  172. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  173. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js +16 -8
  174. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js.map +1 -1
  175. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts +6 -2
  176. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  177. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +21 -6
  178. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
  179. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts +7 -2
  180. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts.map +1 -1
  181. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js +21 -6
  182. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js.map +1 -1
  183. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.js +4 -4
  184. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  185. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts +47 -2
  186. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  187. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +361 -37
  188. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
  189. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts +26 -1
  190. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
  191. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +240 -55
  192. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
  193. package/node_modules/@pierre/diffs/dist/ssr/index.d.ts +2 -2
  194. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts +11 -10
  195. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts.map +1 -1
  196. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js +17 -7
  197. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js.map +1 -1
  198. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts.map +1 -1
  199. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js +2 -0
  200. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js.map +1 -1
  201. package/node_modules/@pierre/diffs/dist/style.js +1 -1
  202. package/node_modules/@pierre/diffs/dist/types.d.ts +336 -5
  203. package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
  204. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts +20 -0
  205. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts.map +1 -0
  206. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.js +29 -0
  207. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.js.map +1 -0
  208. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.d.ts +5 -0
  209. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.d.ts.map +1 -0
  210. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js +11 -0
  211. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js.map +1 -0
  212. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js +1 -1
  213. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js.map +1 -1
  214. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts +2 -2
  215. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  216. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js +6 -1
  217. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  218. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.d.ts +5 -0
  219. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.d.ts.map +1 -0
  220. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js +15 -0
  221. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js.map +1 -0
  222. package/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js +6 -1
  223. package/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js.map +1 -1
  224. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts +7 -0
  225. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -0
  226. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js +16 -0
  227. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js.map +1 -0
  228. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts +3 -1
  229. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  230. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js +8 -1
  231. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
  232. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.d.ts +21 -0
  233. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.d.ts.map +1 -0
  234. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js +80 -0
  235. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js.map +1 -0
  236. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.d.ts +5 -0
  237. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -0
  238. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.js +19 -0
  239. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.js.map +1 -0
  240. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  241. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js +5 -1
  242. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js.map +1 -1
  243. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js +9 -0
  244. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js.map +1 -1
  245. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +66 -0
  246. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -0
  247. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js +437 -0
  248. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js.map +1 -0
  249. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts +14 -0
  250. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts.map +1 -0
  251. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js +24 -0
  252. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js.map +1 -0
  253. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  254. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js +3 -1
  255. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  256. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  257. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js +2 -1
  258. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js.map +1 -1
  259. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  260. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js +2 -0
  261. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js.map +1 -1
  262. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.d.ts +7 -0
  263. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.d.ts.map +1 -0
  264. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js +12 -0
  265. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js.map +1 -0
  266. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  267. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js +2 -1
  268. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  269. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.d.ts +20 -0
  270. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.d.ts.map +1 -0
  271. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js +34 -0
  272. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js.map +1 -0
  273. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts +10 -0
  274. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts.map +1 -0
  275. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js +141 -0
  276. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js.map +1 -0
  277. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.d.ts +5 -0
  278. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.d.ts.map +1 -0
  279. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js +12 -0
  280. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js.map +1 -0
  281. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.d.ts.map +1 -1
  282. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js +20 -15
  283. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js.map +1 -1
  284. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts +1 -1
  285. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  286. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js +26 -5
  287. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js.map +1 -1
  288. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  289. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js +9 -6
  290. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  291. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
  292. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +6 -3
  293. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
  294. package/node_modules/@pierre/diffs/dist/utils/platform.d.ts +14 -0
  295. package/node_modules/@pierre/diffs/dist/utils/platform.d.ts.map +1 -0
  296. package/node_modules/@pierre/diffs/dist/utils/platform.js +32 -0
  297. package/node_modules/@pierre/diffs/dist/utils/platform.js.map +1 -0
  298. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts +33 -0
  299. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts.map +1 -0
  300. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js +148 -0
  301. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js.map +1 -0
  302. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +1 -1
  303. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  304. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js +5 -14
  305. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js.map +1 -1
  306. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.d.ts.map +1 -1
  307. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.js +18 -2
  308. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.js.map +1 -1
  309. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts +7 -3
  310. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  311. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js +1 -1
  312. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js.map +1 -1
  313. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts +24 -0
  314. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts.map +1 -0
  315. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js +236 -0
  316. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js.map +1 -0
  317. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts +43 -2
  318. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  319. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js +107 -5
  320. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js.map +1 -1
  321. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts +9 -3
  322. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  323. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js +86 -18
  324. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js.map +1 -1
  325. package/node_modules/@pierre/diffs/dist/worker/index.d.ts +2 -2
  326. package/node_modules/@pierre/diffs/dist/worker/types.d.ts +11 -1
  327. package/node_modules/@pierre/diffs/dist/worker/types.d.ts.map +1 -1
  328. package/node_modules/@pierre/diffs/dist/worker/wasm-B9ZqxnKj.js.map +1 -1
  329. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +116 -95
  330. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
  331. package/node_modules/@pierre/diffs/dist/worker/worker.js +102 -80
  332. package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
  333. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/LICENSE +189 -21
  334. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/NOTICE.md +32 -0
  335. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/package.json +3 -2
  336. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/LICENSE.md +189 -0
  337. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/README.md +9 -0
  338. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/package.json +5 -5
  339. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.d.mts +0 -1
  340. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.mjs +22 -3
  341. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/package.json +4 -4
  342. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/{engine-compile-CMRQUZTL.d.mts → engine-compile-Bdn9ihA2.d.mts} +0 -1
  343. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-compile.d.mts +1 -1
  344. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-raw.d.mts +0 -1
  345. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/index.d.mts +1 -1
  346. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/package.json +2 -2
  347. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-oniguruma/package.json +2 -2
  348. package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/dist/index.d.mts +0 -1
  349. package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/package.json +3 -3
  350. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-frappe.mjs +1 -1
  351. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-latte.mjs +1 -1
  352. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-macchiato.mjs +1 -1
  353. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-mocha.mjs +1 -1
  354. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/kanagawa-dragon.mjs +1 -1
  355. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/kanagawa-lotus.mjs +1 -1
  356. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/kanagawa-wave.mjs +1 -1
  357. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/monokai.mjs +1 -1
  358. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/red.mjs +1 -1
  359. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/rose-pine-dawn.mjs +1 -1
  360. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/rose-pine-moon.mjs +1 -1
  361. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/rose-pine.mjs +1 -1
  362. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-dark.mjs +1 -1
  363. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-light.mjs +1 -1
  364. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/package.json +3 -3
  365. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.d.mts +0 -1
  366. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.mjs +2 -1
  367. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/package.json +3 -3
  368. package/node_modules/@pierre/diffs/node_modules/@shikijs/types/dist/index.d.mts +0 -1
  369. package/node_modules/@pierre/diffs/node_modules/@shikijs/types/package.json +2 -2
  370. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-full.d.mts +4 -7
  371. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-full.mjs +3 -19
  372. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-web.d.mts +5 -6
  373. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-web.mjs +7 -0
  374. package/node_modules/@pierre/diffs/node_modules/shiki/dist/core-CaxrMD1A.d.mts +1 -0
  375. package/node_modules/@pierre/diffs/node_modules/shiki/dist/core.d.mts +1 -0
  376. package/node_modules/@pierre/diffs/node_modules/shiki/dist/index.d.mts +3 -9
  377. package/node_modules/@pierre/diffs/node_modules/shiki/dist/index.mjs +3 -24
  378. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/actionscript.d.mts +1 -0
  379. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/actionscript.mjs +1 -0
  380. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk.d.mts +1 -0
  381. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk.mjs +1 -0
  382. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk1.d.mts +1 -0
  383. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk1.mjs +1 -0
  384. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk2.d.mts +1 -0
  385. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk2.mjs +1 -0
  386. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/as3.d.mts +1 -0
  387. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/as3.mjs +1 -0
  388. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chapel.d.mts +1 -0
  389. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chapel.mjs +1 -0
  390. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chpl.d.mts +1 -0
  391. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chpl.mjs +1 -0
  392. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/justfile.d.mts +1 -0
  393. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/justfile.mjs +1 -0
  394. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/nsis.d.mts +1 -0
  395. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/nsis.mjs +1 -0
  396. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/org.d.mts +1 -0
  397. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/org.mjs +1 -0
  398. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/pwsh.d.mts +1 -0
  399. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/pwsh.mjs +1 -0
  400. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/rbs.d.mts +1 -0
  401. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/rbs.mjs +1 -0
  402. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ruby-signature.d.mts +1 -0
  403. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ruby-signature.mjs +1 -0
  404. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/smithy.d.mts +1 -0
  405. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/smithy.mjs +1 -0
  406. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-B38xGbib.d.mts +1 -0
  407. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-bundle-full-B4n9xYHw.d.mts +13 -0
  408. package/node_modules/@pierre/diffs/node_modules/shiki/dist/{langs-bundle-full-4noeO3oH.mjs → langs-bundle-full-xQVO1Cek.mjs} +48 -5
  409. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs.d.mts +2 -1
  410. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs.mjs +1 -1
  411. package/node_modules/@pierre/diffs/node_modules/shiki/dist/{themes-NeZbxnKu.d.mts → themes-BKdFAJ1v.d.mts} +0 -1
  412. package/node_modules/@pierre/diffs/node_modules/shiki/dist/themes.d.mts +1 -1
  413. package/node_modules/@pierre/diffs/node_modules/shiki/dist/types.d.mts +3 -3
  414. package/node_modules/@pierre/diffs/node_modules/shiki/package.json +10 -10
  415. package/node_modules/@pierre/diffs/package.json +13 -4
  416. package/node_modules/@shikijs/langs/dist/actionscript-3.mjs +1 -1
  417. package/node_modules/@shikijs/langs/dist/actionscript.d.mts +3 -0
  418. package/node_modules/@shikijs/langs/dist/actionscript.mjs +2 -0
  419. package/node_modules/@shikijs/langs/dist/ahk.d.mts +3 -0
  420. package/node_modules/@shikijs/langs/dist/ahk.mjs +5 -0
  421. package/node_modules/@shikijs/langs/dist/ahk1.d.mts +3 -0
  422. package/node_modules/@shikijs/langs/dist/ahk1.mjs +2 -0
  423. package/node_modules/@shikijs/langs/dist/ahk2.d.mts +3 -0
  424. package/node_modules/@shikijs/langs/dist/ahk2.mjs +5 -0
  425. package/node_modules/@shikijs/langs/dist/apex.mjs +1 -1
  426. package/node_modules/@shikijs/langs/dist/as3.d.mts +3 -0
  427. package/node_modules/@shikijs/langs/dist/as3.mjs +2 -0
  428. package/node_modules/@shikijs/langs/dist/asciidoc.mjs +1 -1
  429. package/node_modules/@shikijs/langs/dist/bat.mjs +1 -1
  430. package/node_modules/@shikijs/langs/dist/bird2.mjs +1 -1
  431. package/node_modules/@shikijs/langs/dist/bsl.mjs +1 -1
  432. package/node_modules/@shikijs/langs/dist/c3.mjs +1 -1
  433. package/node_modules/@shikijs/langs/dist/chapel.d.mts +3 -0
  434. package/node_modules/@shikijs/langs/dist/chapel.mjs +8 -0
  435. package/node_modules/@shikijs/langs/dist/chpl.d.mts +3 -0
  436. package/node_modules/@shikijs/langs/dist/chpl.mjs +2 -0
  437. package/node_modules/@shikijs/langs/dist/clarity.mjs +1 -1
  438. package/node_modules/@shikijs/langs/dist/cmd.mjs +2 -2
  439. package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
  440. package/node_modules/@shikijs/langs/dist/cpp-macro.mjs +1 -3
  441. package/node_modules/@shikijs/langs/dist/cpp.mjs +1 -3
  442. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  443. package/node_modules/@shikijs/langs/dist/gdscript.mjs +1 -1
  444. package/node_modules/@shikijs/langs/dist/hack.mjs +1 -1
  445. package/node_modules/@shikijs/langs/dist/haxe.mjs +1 -1
  446. package/node_modules/@shikijs/langs/dist/hxml.mjs +1 -1
  447. package/node_modules/@shikijs/langs/dist/index.mjs +14 -0
  448. package/node_modules/@shikijs/langs/dist/just.mjs +1 -1
  449. package/node_modules/@shikijs/langs/dist/justfile.d.mts +3 -0
  450. package/node_modules/@shikijs/langs/dist/justfile.mjs +2 -0
  451. package/node_modules/@shikijs/langs/dist/llvm.mjs +1 -1
  452. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  453. package/node_modules/@shikijs/langs/dist/mdc.mjs +1 -1
  454. package/node_modules/@shikijs/langs/dist/mermaid.mjs +1 -1
  455. package/node_modules/@shikijs/langs/dist/mojo.mjs +1 -1
  456. package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
  457. package/node_modules/@shikijs/langs/dist/move.mjs +1 -1
  458. package/node_modules/@shikijs/langs/dist/nsis.d.mts +3 -0
  459. package/node_modules/@shikijs/langs/dist/nsis.mjs +5 -0
  460. package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
  461. package/node_modules/@shikijs/langs/dist/org.d.mts +3 -0
  462. package/node_modules/@shikijs/langs/dist/org.mjs +100 -0
  463. package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
  464. package/node_modules/@shikijs/langs/dist/prisma.mjs +1 -1
  465. package/node_modules/@shikijs/langs/dist/pwsh.d.mts +3 -0
  466. package/node_modules/@shikijs/langs/dist/pwsh.mjs +2 -0
  467. package/node_modules/@shikijs/langs/dist/r.mjs +1 -1
  468. package/node_modules/@shikijs/langs/dist/rbs.d.mts +3 -0
  469. package/node_modules/@shikijs/langs/dist/rbs.mjs +5 -0
  470. package/node_modules/@shikijs/langs/dist/ruby-signature.d.mts +3 -0
  471. package/node_modules/@shikijs/langs/dist/ruby-signature.mjs +2 -0
  472. package/node_modules/@shikijs/langs/dist/scala.mjs +1 -1
  473. package/node_modules/@shikijs/langs/dist/smalltalk.mjs +1 -1
  474. package/node_modules/@shikijs/langs/dist/smithy.d.mts +3 -0
  475. package/node_modules/@shikijs/langs/dist/smithy.mjs +5 -0
  476. package/node_modules/@shikijs/langs/dist/solidity.mjs +1 -1
  477. package/node_modules/@shikijs/langs/dist/surrealql.mjs +1 -1
  478. package/node_modules/@shikijs/langs/dist/swift.mjs +1 -1
  479. package/node_modules/@shikijs/langs/dist/system-verilog.mjs +1 -1
  480. package/node_modules/@shikijs/langs/dist/twig.mjs +1 -1
  481. package/node_modules/@shikijs/langs/dist/typst.mjs +116 -1
  482. package/node_modules/@shikijs/langs/dist/v.mjs +1 -1
  483. package/node_modules/@shikijs/langs/dist/vb.mjs +1 -1
  484. package/node_modules/@shikijs/langs/dist/verilog.mjs +1 -1
  485. package/node_modules/@shikijs/langs/dist/vue.mjs +1 -1
  486. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/dist/index.d.mts +0 -1
  487. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/package.json +2 -2
  488. package/node_modules/@shikijs/langs/package.json +18 -4
  489. package/node_modules/typebox/build/format/date.d.mts +1 -1
  490. package/node_modules/typebox/build/format/date.mjs +1 -1
  491. package/node_modules/typebox/build/format/date_time.d.mts +2 -2
  492. package/node_modules/typebox/build/format/date_time.mjs +3 -3
  493. package/node_modules/typebox/build/format/email.d.mts +1 -1
  494. package/node_modules/typebox/build/format/email.mjs +2 -2
  495. package/node_modules/typebox/build/format/hostname.mjs +2 -10
  496. package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
  497. package/node_modules/typebox/build/format/idn_email.mjs +3 -3
  498. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
  499. package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
  500. package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
  501. package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
  502. package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
  503. package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
  504. package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
  505. package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
  506. package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
  507. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +41 -0
  508. package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
  509. package/node_modules/typebox/build/format/idna/index.mjs +2 -0
  510. package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
  511. package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
  512. package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
  513. package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
  514. package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
  515. package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
  516. package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
  517. package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
  518. package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
  519. package/node_modules/typebox/build/format/ipv4.mjs +2 -32
  520. package/node_modules/typebox/build/format/ipv6.mjs +2 -61
  521. package/node_modules/typebox/build/format/iri.d.mts +2 -2
  522. package/node_modules/typebox/build/format/iri.mjs +26 -8
  523. package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
  524. package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
  525. package/node_modules/typebox/build/format/regex.d.mts +1 -2
  526. package/node_modules/typebox/build/format/regex.mjs +2 -6
  527. package/node_modules/typebox/build/format/time.d.mts +2 -2
  528. package/node_modules/typebox/build/format/time.mjs +19 -14
  529. package/node_modules/typebox/build/format/uri.d.mts +1 -1
  530. package/node_modules/typebox/build/format/uri.mjs +3 -130
  531. package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
  532. package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
  533. package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
  534. package/node_modules/typebox/build/format/uri_template.mjs +4 -5
  535. package/node_modules/typebox/build/format/url.d.mts +3 -3
  536. package/node_modules/typebox/build/format/url.mjs +4 -5
  537. package/node_modules/typebox/build/guard/emit.d.mts +3 -1
  538. package/node_modules/typebox/build/guard/emit.mjs +12 -5
  539. package/node_modules/typebox/build/guard/guard.d.mts +8 -2
  540. package/node_modules/typebox/build/guard/guard.mjs +25 -4
  541. package/node_modules/typebox/build/guard/string.d.mts +2 -2
  542. package/node_modules/typebox/build/guard/string.mjs +7 -7
  543. package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
  544. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
  545. package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
  546. package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
  547. package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
  548. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
  549. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
  550. package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
  551. package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
  552. package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
  553. package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
  554. package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
  555. package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
  556. package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
  557. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
  558. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
  559. package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
  560. package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
  561. package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
  562. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
  563. package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
  564. package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
  565. package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
  566. package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
  567. package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
  568. package/node_modules/typebox/build/schema/types/index.mjs +0 -2
  569. package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
  570. package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
  571. package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
  572. package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
  573. package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
  574. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
  575. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
  576. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
  577. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
  578. package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
  579. package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
  580. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
  581. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
  582. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
  583. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
  584. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
  585. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
  586. package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
  587. package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
  588. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
  589. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
  590. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
  591. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
  592. package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
  593. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
  594. package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
  595. package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
  596. package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
  597. package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
  598. package/node_modules/typebox/build/type/script/parser.mjs +27 -23
  599. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
  600. package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
  601. package/node_modules/typebox/package.json +27 -27
  602. package/node_modules/typebox/readme.md +79 -82
  603. package/package.json +9 -8
  604. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.d.ts +0 -50
  605. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.d.ts.map +0 -1
  606. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.js +0 -49
  607. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.js.map +0 -1
  608. package/node_modules/@pierre/diffs/node_modules/shiki/dist/core-BVVgDSdq.d.mts +0 -1
  609. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-BVVgDSdq.d.mts +0 -1
  610. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-bundle-full-WSWgUeqW.d.mts +0 -14
  611. package/node_modules/typebox/build/format/_idna.d.mts +0 -2
  612. package/node_modules/typebox/build/format/_idna.mjs +0 -246
  613. package/node_modules/typebox/build/format/_puny.d.mts +0 -1
  614. package/node_modules/typebox/build/format/_puny.mjs +0 -77
  615. package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
  616. package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
  617. package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
  618. package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
  619. package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
  620. package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedFileDiff.d.ts","names":[],"sources":["../../src/components/VirtualizedFileDiff.ts"],"mappings":";;;;;;;cAqFa,mBAAA,kCAEH,QAAA,CAAS,WAAA;EAAA,SACC,IAAA;EAEX,GAAA;EACA,MAAA;EAAA,QACC,OAAA;EAAA,QACA,KAAA;EAAA,QASA,SAAA;EAAA,QACA,OAAA;EAAA,QACA,WAAA;EAAA,QACA,WAAA;EAAA,QACA,mBAAA;EAAA,QACA,gBAAA;EAER,WAAA,CACE,OAAA,EAAS,eAAA,CAAgB,WAAA,eACzB,WAAA,EAAa,WAAA,GAAc,QAAA,CAAS,WAAA,GACpC,OAAA,GAAU,OAAA,CAAQ,kBAAA,GAClB,aAAA,GAAgB,iBAAA,EAChB,kBAAA;EAOK,UAAA,CACL,OAAA,GAAU,OAAA,CAAQ,kBAAA,GAClB,KAAA;EAWO,kBAAA,CACP,eAAA,EAAiB,kBAAA,CAAmB,WAAA;EAAA,QAO9B,mBAAA;EAAA,QAcA,uBAAA;EAAA,QAWA,kBAAA;EAAA,QAuBA,aAAA;EAAA,QAOA,sBAAA;EAKC,UAAA,CAAW,OAAA,EAAS,eAAA,CAAgB,WAAA;EAkCpC,YAAA,CAAa,SAAA,EAAW,UAAA;EAAA,QAUzB,gBAAA;EAoCD,gBAAA;EA6FA,QAAA,GAAQ,KAAA;EAcR,mBAAA,CACL,QAAA,EAAU,gBAAA,EACV,GAAA,UACA,KAAA,GAAQ,0BAAA,EACR,eAAA,GAAkB,kBAAA,CAAmB,WAAA;EAkChC,eAAA,CACL,UAAA,UACA,IAAA,GAAM,aAAA;IACH,GAAA;IAAa,MAAA;EAAA;EA2HX,sBAAA,CACL,gBAAA,WACC,uBAAA;EA8GI,oBAAA;EAIA,sBAAA,CACL,WAAA,GAAc,YAAA,GACb,WAAA;EA4CM,OAAA,CAAQ,OAAA;EAWR,UAAA,GAAU,SAAA,UACA,SAAA,EACN,mBAAA,EAAmB,0BAAA;EAgBzB,aAAA,CAAc,OAAA;EAcZ,QAAA;EAAA,QAkBD,sBAAA;EAAA,QAoCA,wBAAA;EAAA,QAcA,0BAAA;EAAA,QA+BA,sBAAA;EAsBC,MAAA;IACP,aAAA;IACA,OAAA;IACA,OAAA;IACA,QAAA;IACA,WAAA;IACA,eAAA;IAAA,GACG;EAAA,IACF,mBAAA,CAAoB,WAAA;EAyEhB,kBAAA;EAAA,UAIY,kCAAA;EAAA,QAIX,YAAA;EAAA,QAIA,cAAA;EAAA,QAIA,iBAAA;EAAA,QASA,oBAAA;EAAA,QAIA,wBAAA;EAAA,QAIA,YAAA;EAAA,QAIA,oBAAA;EAAA,QAIA,4BAAA;EAAA,QA2LA,kCAAA;EAAA,QAiCA,4BAAA;EAAA,QAuCA,oBAAA;EAAA,QAoDA,4BAAA;AAAA"}
1
+ {"version":3,"file":"VirtualizedFileDiff.d.ts","names":[],"sources":["../../src/components/VirtualizedFileDiff.ts"],"mappings":";;;;;;;KAwDK,yBAAA,GAA4B,OAAA,CAC/B,UAAA,CAAW,WAAA,CAAY,eAAA;AAAA,cAiDZ,gDAAA;AAAA,cAIA,mBAAA,kCAEH,QAAA,CAAS,WAAA;EAAA,SACC,IAAA;EAEX,GAAA;EACA,MAAA;EAAA,QACC,OAAA;EAAA,QACA,KAAA;EAAA,QASA,SAAA;EAAA,QACA,OAAA;EAAA,QACA,WAAA;EAAA,QACA,WAAA;EAAA,QACA,mBAAA;EAAA,QACA,gBAAA;EAAA,QACA,sBAAA;EAAA,QACA,mBAAA;EAAA,QACA,iBAAA;EAER,WAAA,CACE,OAAA,EAAS,eAAA,CAAgB,WAAA,eACzB,WAAA,EAAa,WAAA,GAAc,QAAA,CAAS,WAAA,GACpC,OAAA,GAAU,OAAA,CAAQ,kBAAA,GAClB,aAAA,GAAgB,iBAAA,EAChB,kBAAA;EAOK,UAAA,CACL,OAAA,GAAU,OAAA,CAAQ,kBAAA,GAClB,KAAA;EAWO,kBAAA,CACP,eAAA,EAAiB,kBAAA,CAAmB,WAAA;EAAA,QAO9B,mBAAA;EAAA,QAcA,uBAAA;EAAA,QAWA,kBAAA;EAAA,QAuBA,aAAA;EAAA,QAOA,sBAAA;EAKC,UAAA,CAAW,OAAA,EAAS,eAAA,CAAgB,WAAA;EAkCpC,YAAA,CAAa,SAAA,EAAW,UAAA;EAAA,QAUzB,gBAAA;EAAA,QAwBA,4BAAA;EAwBD,gBAAA;EA6FA,QAAA,GAAQ,KAAA;EAYC,aAAA;EAWT,mBAAA,CACL,QAAA,EAAU,gBAAA,EACV,GAAA,UACA,KAAA,GAAQ,0BAAA,EACR,eAAA,GAAkB,kBAAA,CAAmB,WAAA;EA8ChC,eAAA,CACL,UAAA,UACA,IAAA,GAAM,aAAA;IACH,GAAA;IAAa,MAAA;EAAA;EA2HX,iBAAA,IAAqB,WAAA,GAAc,QAAA;EAMnC,sBAAA,CACL,gBAAA,WACC,uBAAA;EA8GI,oBAAA;EAIA,sBAAA,CACL,WAAA,GAAc,YAAA,GACb,WAAA;EA4CM,OAAA,CAAQ,OAAA;EAaR,UAAA,GAAU,SAAA,UACA,SAAA,EACN,mBAAA,EAAmB,0BAAA;EAAA,UA2BP,iBAAA,CACvB,YAAA,EAAc,gBAAA,EACd,KAAA,EAAO,yBAAA,GACN,OAAA;EAiCI,4BAAA,CACL,gBAAA,EAAkB,gBAAA,GACjB,gBAAA;EAAA,UAoCgB,oBAAA;EAeV,gBAAA,CAAiB,UAAA;EA3SE;;;;;;;;EA0VrB,2BAAA;EAAA,UAkBY,yBAAA;EAAA,UASA,yBAAA;EAMZ,aAAA,CAAc,OAAA;EAcZ,QAAA;EAcA,mBAAA,CACP,YAAA,EAAc,iBAAA,EACd,kBAAA,GAAqB,kBAAA,CAAmB,WAAA,KACxC,kBAAA;EAAA,QA4CM,sBAAA;EAAA,QAwCA,wBAAA;EAAA,QAgBA,0BAAA;EAAA,QAqCA,sBAAA;EAwBC,MAAA;IACP,aAAA;IACA,QAAA;IACA,WAAA;IACA,eAAA;IAAA,GACG;EAAA,IACF,mBAAA,CAAoB,WAAA;EAoHhB,kBAAA;EAAA,UAIY,kCAAA;EAAA,UAMA,wBAAA;EAAA,QAIX,YAAA;EAAA,QAIA,cAAA;EAAA,QAIA,iBAAA;EAAA,QASA,oBAAA;EAAA,QAIA,sBAAA;EAAA,QAIA,wBAAA;EAAA,QAIA,YAAA;EAAA,QAIA,oBAAA;EAAA,QAIA,4BAAA;EAAA,QAkMA,kCAAA;EAAA,QAiCA,4BAAA;EAAA,QAuCA,oBAAA;EAAA,QAuDA,kBAAA;EAAA,QAkBA,4BAAA;AAAA"}
@@ -1,16 +1,20 @@
1
1
  import "../constants.js";
2
2
  import { areObjectsEqual } from "../utils/areObjectsEqual.js";
3
3
  import { areOptionsEqual } from "../utils/areOptionsEqual.js";
4
+ import { parseDiffFromFile } from "../utils/parseDiffFromFile.js";
4
5
  import { computeVirtualFileMetrics, getVirtualFileHeaderRegion, getVirtualFilePaddingBottom } from "../utils/computeVirtualFileMetrics.js";
6
+ import { getExpandedRegion, getLeadingHunkSeparatorLayout, getTrailingExpandedRegion, getTrailingHunkSeparatorLayout, isAdditionLineRenderable } from "../utils/virtualDiffLayout.js";
7
+ import { areFilesEqual } from "../utils/areFilesEqual.js";
5
8
  import { FILE_ANNOTATION_DOM_KEY, includesFileAnnotations, shouldRenderFileAnnotations } from "../utils/includesFileAnnotations.js";
6
9
  import { areDiffTargetsEqual } from "../utils/areDiffTargetsEqual.js";
7
- import { getExpandedRegion, getLeadingHunkSeparatorLayout, getTrailingExpandedRegion, getTrailingHunkSeparatorLayout } from "../utils/virtualDiffLayout.js";
10
+ import { awaitWithTimeout } from "../utils/awaitWithTimeout.js";
8
11
  import { computeEstimatedDiffHeights } from "../utils/computeEstimatedDiffHeights.js";
12
+ import { getDiffFileInput } from "../utils/getDiffFileInput.js";
13
+ import { hydratePartialDiff } from "../utils/hydratePartialDiff.js";
9
14
  import { iterateOverDiff } from "../utils/iterateOverDiff.js";
10
- import { parseDiffFromFile } from "../utils/parseDiffFromFile.js";
11
15
  import { FileDiff } from "./FileDiff.js";
12
16
  //#region src/components/VirtualizedFileDiff.ts
13
- const LAYOUT_CHECKPOINT_INTERVAL = 5e3;
17
+ const VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL = 3e3;
14
18
  let instanceId = -1;
15
19
  var VirtualizedFileDiff = class extends FileDiff {
16
20
  __id = `little-virtualized-file-diff:${++instanceId}`;
@@ -32,6 +36,9 @@ var VirtualizedFileDiff = class extends FileDiff {
32
36
  layoutDirty = true;
33
37
  forceRenderOverride;
34
38
  currentCollapsed;
39
+ currentExpandUnchanged;
40
+ pendingHydratedDiff;
41
+ pendingExpansions;
35
42
  constructor(options, virtualizer, metrics, workerManager, isContainerManaged = false) {
36
43
  super(options, workerManager, isContainerManaged);
37
44
  this.virtualizer = virtualizer;
@@ -92,19 +99,23 @@ var VirtualizedFileDiff = class extends FileDiff {
92
99
  if (this.isAdvancedMode()) throw new Error("VirtualizedFileDiff.setThemeType cannot be used inside CodeView. Update CodeView options instead.");
93
100
  super.setThemeType(themeType);
94
101
  }
95
- resetLayoutCache({ forceSimpleRecompute = false, includeEstimatedHeights = false } = {}) {
102
+ resetLayoutCache({ forceSimpleRecompute = false, includeEstimatedHeights = false, resetRenderRange = true } = {}) {
96
103
  this.layoutDirty = true;
97
104
  this.cache.fileAnnotationHeight = 0;
98
105
  if (this.cache.heightDeltas.size > 0) this.cache.heightDeltas.clear();
99
106
  if (this.cache.measuredHeightDeltaTotal !== 0) this.cache.measuredHeightDeltaTotal = 0;
107
+ this.invalidateDerivedLayoutCache(includeEstimatedHeights, resetRenderRange);
108
+ if (forceSimpleRecompute && this.isSimpleMode()) this.computeApproximateSize();
109
+ }
110
+ invalidateDerivedLayoutCache(includeEstimatedHeights, resetRenderRange = true) {
111
+ this.layoutDirty = true;
100
112
  if (this.cache.checkpoints.length > 0) this.cache.checkpoints.length = 0;
101
113
  if (this.cache.totalLines !== 0) this.cache.totalLines = 0;
102
114
  if (includeEstimatedHeights) {
103
115
  this.cache.estimatedSplitHeight = void 0;
104
116
  this.cache.estimatedUnifiedHeight = void 0;
105
117
  }
106
- if (this.renderRange != null) this.renderRange = void 0;
107
- if (forceSimpleRecompute && this.isSimpleMode()) this.computeApproximateSize();
118
+ if (this.renderRange != null && resetRenderRange) this.renderRange = void 0;
108
119
  }
109
120
  reconcileHeights() {
110
121
  let hasHeightChange = false;
@@ -156,6 +167,10 @@ var VirtualizedFileDiff = class extends FileDiff {
156
167
  if (dirty) this.top = this.getVirtualizedTop();
157
168
  return this.render();
158
169
  };
170
+ flushManagers() {
171
+ super.flushManagers();
172
+ if (this.lineStateRefreshPending) this.flushDeferredLineState();
173
+ }
159
174
  prepareCodeViewItem(fileDiff, top, reset, lineAnnotations) {
160
175
  const targetChanged = !areDiffTargetsEqual(this.fileDiff, fileDiff);
161
176
  const annotationsChanged = this.syncLineAnnotations(lineAnnotations);
@@ -166,11 +181,16 @@ var VirtualizedFileDiff = class extends FileDiff {
166
181
  shouldResetLayoutCache = true;
167
182
  includeEstimatedHeights = true;
168
183
  }
169
- const { collapsed = false } = this.options;
184
+ const { collapsed = false, expandUnchanged = false } = this.options;
170
185
  if (this.currentCollapsed !== collapsed) {
171
186
  this.currentCollapsed = collapsed;
172
187
  shouldResetLayoutCache = true;
173
188
  }
189
+ if (this.currentExpandUnchanged !== expandUnchanged) {
190
+ this.currentExpandUnchanged = expandUnchanged;
191
+ shouldResetLayoutCache = true;
192
+ includeEstimatedHeights = true;
193
+ }
174
194
  if (shouldResetLayoutCache) this.resetLayoutCache({ includeEstimatedHeights });
175
195
  this.fileDiff = fileDiff;
176
196
  this.top = top;
@@ -252,6 +272,9 @@ var VirtualizedFileDiff = class extends FileDiff {
252
272
  });
253
273
  return position;
254
274
  }
275
+ getEditorViewport() {
276
+ return this.virtualizer.type === "simple" ? this.virtualizer.getRoot() : this.virtualizer.getContainerElement();
277
+ }
255
278
  getNumericScrollAnchor(localViewportTop) {
256
279
  if (this.fileDiff == null) return;
257
280
  const { disableFileHeader = false, expandUnchanged = false, collapsed = false, collapsedContextThreshold = 1 } = this.options;
@@ -331,17 +354,139 @@ var VirtualizedFileDiff = class extends FileDiff {
331
354
  }
332
355
  cleanUp(recycle = false) {
333
356
  if (this.fileContainer != null && this.isSimpleMode()) this.getSimpleVirtualizer()?.disconnect(this.fileContainer);
334
- if (!recycle) this.resetLayoutCache({ includeEstimatedHeights: true });
357
+ if (!recycle) {
358
+ this.resetLayoutCache({ includeEstimatedHeights: true });
359
+ this.pendingExpansions = void 0;
360
+ this.pendingHydratedDiff = void 0;
361
+ }
335
362
  this.isSetup = false;
336
363
  super.cleanUp(recycle);
337
364
  }
338
365
  expandHunk = (hunkIndex, direction, expansionLineCountOverride) => {
339
- this.hunksRenderer.expandHunk(hunkIndex, direction, expansionLineCountOverride);
366
+ if (this.fileDiff == null) return;
367
+ if (this.isAdvancedMode()) {
368
+ this.pendingExpansions ??= [];
369
+ this.pendingExpansions.push({
370
+ hunkIndex,
371
+ direction,
372
+ expansionLineCountOverride
373
+ });
374
+ } else {
375
+ this.hunksRenderer.expandHunk(hunkIndex, direction, expansionLineCountOverride);
376
+ this.resetLayoutCache({ includeEstimatedHeights: true });
377
+ this.computeApproximateSize();
378
+ }
379
+ this.loadFilesIfNecessary();
340
380
  this.forceRenderOverride = true;
341
- this.resetLayoutCache({ includeEstimatedHeights: true });
342
- if (this.isSimpleMode()) this.computeApproximateSize();
343
381
  this.virtualizer.instanceChanged(this, true);
344
382
  };
383
+ async handleFilesLoaded(expectedDiff, files) {
384
+ if (this.fileDiff !== expectedDiff || !expectedDiff.isPartial) return;
385
+ if (this.isAdvancedMode()) {
386
+ const nextDiff = hydratePartialDiff("clone", expectedDiff, files);
387
+ await awaitWithTimeout(() => this.primeHighlightCache(nextDiff));
388
+ if (!this.enabled || this.fileDiff !== expectedDiff) return;
389
+ this.pendingHydratedDiff = {
390
+ expectedDiff,
391
+ nextDiff,
392
+ files
393
+ };
394
+ } else {
395
+ hydratePartialDiff("merge", expectedDiff, files);
396
+ this.setHydratedState(files);
397
+ await awaitWithTimeout(() => this.primeHighlightCache(expectedDiff));
398
+ if (!this.enabled || this.fileDiff !== expectedDiff) return;
399
+ this.resetLayoutCache({ includeEstimatedHeights: true });
400
+ this.computeApproximateSize();
401
+ }
402
+ this.forceRenderOverride = true;
403
+ this.virtualizer.instanceChanged(this, true);
404
+ }
405
+ consumeCodeViewLayoutChanges(expectedFileDiff) {
406
+ let hasLayoutChange = false;
407
+ let nextDiff;
408
+ const { pendingExpansions, pendingHydratedDiff } = this;
409
+ if (pendingExpansions != null) {
410
+ this.pendingExpansions = void 0;
411
+ for (const pendingExpansion of pendingExpansions) {
412
+ this.hunksRenderer.expandHunk(pendingExpansion.hunkIndex, pendingExpansion.direction, pendingExpansion.expansionLineCountOverride);
413
+ hasLayoutChange = true;
414
+ }
415
+ }
416
+ if (pendingHydratedDiff != null) {
417
+ this.pendingHydratedDiff = void 0;
418
+ if (pendingHydratedDiff.expectedDiff === expectedFileDiff) {
419
+ this.setHydratedState(pendingHydratedDiff.files);
420
+ nextDiff = pendingHydratedDiff.nextDiff;
421
+ }
422
+ }
423
+ if (nextDiff != null) {
424
+ this.forceRenderOverride = true;
425
+ this.resetLayoutCache({ includeEstimatedHeights: true });
426
+ } else if (hasLayoutChange) {
427
+ this.forceRenderOverride = true;
428
+ this.invalidateDerivedLayoutCache(true);
429
+ }
430
+ return nextDiff;
431
+ }
432
+ loadFilesIfNecessary() {
433
+ if (this.pendingHydratedDiff != null) {
434
+ if (this.pendingHydratedDiff.expectedDiff === this.fileDiff) return;
435
+ this.pendingHydratedDiff = void 0;
436
+ }
437
+ super.loadFilesIfNecessary();
438
+ }
439
+ isLineRenderable(lineNumber) {
440
+ if (super.isLineRenderable(lineNumber)) return true;
441
+ const { pendingExpansions } = this;
442
+ const fileDiff = this.fileDiffCache;
443
+ if (pendingExpansions == null || pendingExpansions.length === 0 || fileDiff == null) return false;
444
+ const { expansionLineCount = 100, collapsedContextThreshold = 1 } = this.options;
445
+ const staged = new Map(this.hunksRenderer.getExpandedHunksMap());
446
+ for (const expansion of pendingExpansions) {
447
+ const region = { ...staged.get(expansion.hunkIndex) ?? {
448
+ fromStart: 0,
449
+ fromEnd: 0
450
+ } };
451
+ const count = expansion.expansionLineCountOverride ?? expansionLineCount;
452
+ if (expansion.direction === "up" || expansion.direction === "both") region.fromStart += count;
453
+ if (expansion.direction === "down" || expansion.direction === "both") region.fromEnd += count;
454
+ staged.set(expansion.hunkIndex, region);
455
+ }
456
+ return isAdditionLineRenderable({
457
+ fileDiff,
458
+ lineNumber,
459
+ expandedHunks: staged,
460
+ collapsedContextThreshold
461
+ });
462
+ }
463
+ /**
464
+ * Invalidate layout after an edit session changed the rendered row set
465
+ * without a line-count change (a mid-session region change or the exit
466
+ * recompute): estimated heights bake the hunk shapes in, and nothing else
467
+ * invalidates them now that editing does not flip expandUnchanged. Public
468
+ * so CodeView can run it when reaping a session whose instance was already
469
+ * released.
470
+ */
471
+ invalidateEditSessionLayout() {
472
+ this.getSimpleVirtualizer()?.markDOMDirty();
473
+ this.resetLayoutCache({
474
+ forceSimpleRecompute: this.isSimpleMode(),
475
+ includeEstimatedHeights: true,
476
+ resetRenderRange: false
477
+ });
478
+ if (!this.isSimpleMode()) this.computeApproximateSize(true);
479
+ this.getSimpleVirtualizer()?.requestHeightReconcile(this);
480
+ }
481
+ escalateEditSessionRender() {
482
+ this.invalidateEditSessionLayout();
483
+ if (!this.enabled || this.fileDiff == null) return;
484
+ this.forceRenderOverride = true;
485
+ this.virtualizer.instanceChanged(this, true);
486
+ }
487
+ shouldSelfHealEditSession() {
488
+ return !this.isAdvancedMode() && super.shouldSelfHealEditSession();
489
+ }
345
490
  setVisibility(visible) {
346
491
  if (this.isAdvancedMode() || this.fileContainer == null) return;
347
492
  this.renderRange = void 0;
@@ -358,14 +503,33 @@ var VirtualizedFileDiff = class extends FileDiff {
358
503
  this.forceRenderOverride = true;
359
504
  this.virtualizer.instanceChanged(this, false);
360
505
  }
361
- computeApproximateSize(force = false) {
506
+ applyDocumentChange(textDocument, newLineAnnotations, shouldUpdateBuffer = false) {
507
+ const { renderRange: previousRenderRange } = this;
508
+ this.getAdvancedVirtualizer()?.capturePendingLayoutAnchor();
509
+ super.applyDocumentChange(textDocument, newLineAnnotations);
510
+ this.getSimpleVirtualizer()?.markDOMDirty();
511
+ this.resetLayoutCache({
512
+ forceSimpleRecompute: this.isSimpleMode(),
513
+ includeEstimatedHeights: true,
514
+ resetRenderRange: false
515
+ });
516
+ if (!this.isSimpleMode()) this.computeApproximateSize(true);
517
+ else if (shouldUpdateBuffer && previousRenderRange !== void 0 && this.fileDiff !== void 0) {
518
+ const windowSpecs = this.virtualizer.getWindowSpecs();
519
+ const renderRange = this.computeRenderRangeFromWindow(this.fileDiff, this.top ?? 0, windowSpecs);
520
+ if (renderRange.bufferAfter !== previousRenderRange.bufferAfter) this.updateBuffers(renderRange);
521
+ }
522
+ this.forceRenderOverride = true;
523
+ this.virtualizer.instanceChanged(this, true);
524
+ }
525
+ computeApproximateSize(force = false, fileDiff = this.fileDiff) {
362
526
  const shouldValidateSize = this.isResizeDebuggingEnabled();
363
527
  if (!force && !this.layoutDirty && !shouldValidateSize) return;
364
528
  const isFirstCompute = this.height === 0;
365
529
  this.height = 0;
366
530
  this.cache.checkpoints = [];
367
531
  this.cache.totalLines = 0;
368
- if (this.fileDiff == null) {
532
+ if (fileDiff == null) {
369
533
  this.layoutDirty = false;
370
534
  return;
371
535
  }
@@ -376,18 +540,18 @@ var VirtualizedFileDiff = class extends FileDiff {
376
540
  this.layoutDirty = false;
377
541
  return;
378
542
  }
379
- this.height = this.getActiveEstimatedHeight() + this.cache.measuredHeightDeltaTotal;
380
- if (shouldValidateSize && !isFirstCompute) this.validateComputedHeight();
543
+ this.height = this.getActiveEstimatedHeight(fileDiff) + this.cache.measuredHeightDeltaTotal;
544
+ if (shouldValidateSize && !isFirstCompute) this.validateComputedHeight(fileDiff);
381
545
  this.layoutDirty = false;
382
546
  }
383
- getActiveEstimatedHeight() {
384
- this.ensureEstimatedDiffHeights();
547
+ getActiveEstimatedHeight(fileDiff = this.fileDiff) {
548
+ this.ensureEstimatedDiffHeights(fileDiff);
385
549
  const estimatedHeight = this.getDiffStyle() === "split" ? this.cache.estimatedSplitHeight : this.cache.estimatedUnifiedHeight;
386
550
  if (estimatedHeight == null) throw new Error("VirtualizedFileDiff.getActiveEstimatedHeight: missing estimated height");
387
551
  return estimatedHeight;
388
552
  }
389
- ensureEstimatedDiffHeights() {
390
- if (this.fileDiff == null) {
553
+ ensureEstimatedDiffHeights(fileDiff = this.fileDiff) {
554
+ if (fileDiff == null) {
391
555
  this.cache.estimatedSplitHeight = void 0;
392
556
  this.cache.estimatedUnifiedHeight = void 0;
393
557
  return;
@@ -395,40 +559,51 @@ var VirtualizedFileDiff = class extends FileDiff {
395
559
  if (this.cache.estimatedSplitHeight != null && this.cache.estimatedUnifiedHeight != null) return;
396
560
  const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = 1 } = this.options;
397
561
  const { splitHeight, unifiedHeight } = computeEstimatedDiffHeights({
398
- fileDiff: this.fileDiff,
562
+ fileDiff,
399
563
  metrics: this.metrics,
400
564
  disableFileHeader,
401
565
  hunkSeparators: this.getHunkSeparatorType(),
402
566
  expandUnchanged,
403
567
  expandedHunks: this.hunksRenderer.getExpandedHunksMap(),
404
- collapsedContextThreshold
568
+ collapsedContextThreshold,
569
+ canHydratePartialDiff: canHydrateCollapsedContext(fileDiff, this.options.loadDiffFiles != null)
405
570
  });
406
571
  this.cache.estimatedSplitHeight = splitHeight;
407
572
  this.cache.estimatedUnifiedHeight = unifiedHeight;
408
573
  }
409
- validateComputedHeight() {
410
- if (this.fileContainer == null || this.fileDiff == null) return;
574
+ validateComputedHeight(fileDiff = this.fileDiff) {
575
+ if (this.fileContainer == null || fileDiff == null) return;
411
576
  const rect = this.fileContainer.getBoundingClientRect();
412
577
  if (rect.height !== this.height) console.log("VirtualizedFileDiff.computeApproximateSize: computed height doesnt match", {
413
- name: this.fileDiff.name,
578
+ name: fileDiff.name,
414
579
  elementHeight: rect.height,
415
580
  computedHeight: this.height
416
581
  });
417
582
  else console.log("VirtualizedFileDiff.computeApproximateSize: computed height IS CORRECT");
418
583
  }
419
- render({ fileContainer, oldFile, newFile, fileDiff, forceRender = false, lineAnnotations, ...props } = {}) {
584
+ render({ fileContainer, fileDiff, forceRender = false, lineAnnotations, ...fileInputProps } = {}) {
585
+ const fileInput = getDiffFileInput(fileInputProps, "VirtualizedFileDiff.render");
586
+ const hasFileInput = fileInput != null;
587
+ const oldFile = fileInput?.oldFile;
588
+ const newFile = fileInput?.newFile;
589
+ const filesDidChange = hasFileInput && (!areOptionalFilesEqual(oldFile, this.deletionFile) || !areOptionalFilesEqual(newFile, this.additionFile));
590
+ let nextFileDiff = fileDiff ?? this.fileDiff;
591
+ if (fileDiff == null && hasFileInput && (filesDidChange || this.fileDiff == null)) nextFileDiff = parseDiffFromFile(fileInput.oldFile, fileInput.newFile, this.options.parseDiffOptions);
420
592
  const { forceRenderOverride, isSetup } = this;
421
593
  this.forceRenderOverride = void 0;
422
594
  const annotationsChanged = this.syncLineAnnotations(lineAnnotations);
423
595
  if (annotationsChanged) this.resetLayoutCache({ includeEstimatedHeights: false });
424
- this.fileDiff ??= fileDiff ?? (oldFile != null && newFile != null ? parseDiffFromFile(oldFile, newFile, this.options.parseDiffOptions) : void 0);
596
+ const diffInputChanged = fileDiff != null && fileDiff !== this.fileDiff;
597
+ const targetChanged = nextFileDiff != null && !areDiffTargetsEqual(this.fileDiff, nextFileDiff);
598
+ const dataChanged = diffInputChanged || filesDidChange;
599
+ if (targetChanged) this.resetLayoutCache({ includeEstimatedHeights: true });
425
600
  fileContainer = this.getOrCreateFileContainer(fileContainer);
426
- if (this.fileDiff == null) {
601
+ if (nextFileDiff == null) {
427
602
  console.error("VirtualizedFileDiff.render: attempting to virtually render when we dont have the correct data");
428
603
  return false;
429
604
  }
430
605
  if (!isSetup) {
431
- this.computeApproximateSize();
606
+ this.computeApproximateSize(false, nextFileDiff);
432
607
  const virtualizer = this.getSimpleVirtualizer();
433
608
  this.top ??= this.getVirtualizedTop();
434
609
  if (this.isAdvancedMode()) this.isVisible = true;
@@ -438,21 +613,36 @@ var VirtualizedFileDiff = class extends FileDiff {
438
613
  this.isVisible = virtualizer.isInstanceVisible(this.top ?? 0, this.height);
439
614
  }
440
615
  this.isSetup = true;
441
- } else this.top ??= this.getVirtualizedTop();
442
- if (!this.isVisible && this.isSimpleMode()) return this.renderPlaceholder(this.height);
616
+ } else {
617
+ this.top ??= this.getVirtualizedTop();
618
+ if (targetChanged) {
619
+ this.getSimpleVirtualizer()?.markDOMDirty();
620
+ this.computeApproximateSize(false, nextFileDiff);
621
+ }
622
+ }
623
+ if (!this.isVisible && this.isSimpleMode() && (!dataChanged || !isSetup)) {
624
+ this.fileDiff = nextFileDiff;
625
+ if (fileInput != null) {
626
+ this.deletionFile = oldFile;
627
+ this.additionFile = newFile;
628
+ }
629
+ if (targetChanged) this.cachedHeaderHTML = void 0;
630
+ return this.renderPlaceholder(this.height);
631
+ }
443
632
  const windowSpecs = this.virtualizer.getWindowSpecs();
444
633
  const fileTop = this.top ?? 0;
445
- const renderRange = this.computeRenderRangeFromWindow(this.fileDiff, fileTop, windowSpecs);
446
- return super.render({
447
- fileDiff: this.fileDiff,
634
+ const renderRange = this.computeRenderRangeFromWindow(nextFileDiff, fileTop, windowSpecs);
635
+ const rendered = super.render({
636
+ fileDiff: nextFileDiff,
448
637
  fileContainer,
449
638
  renderRange,
450
- oldFile,
451
- newFile,
452
639
  lineAnnotations,
453
- forceRender: (forceRenderOverride ?? forceRender) || annotationsChanged,
454
- ...props
640
+ forceRender: (forceRenderOverride ?? forceRender) || annotationsChanged || targetChanged,
641
+ ...fileInput,
642
+ ...fileInputProps
455
643
  });
644
+ if (this.isSimpleMode() && rendered) this.getSimpleVirtualizer()?.requestHeightReconcile(this);
645
+ return rendered;
456
646
  }
457
647
  syncVirtualizedTop() {
458
648
  this.top = this.getVirtualizedTop();
@@ -460,6 +650,9 @@ var VirtualizedFileDiff = class extends FileDiff {
460
650
  shouldDisableVirtualizationBuffers() {
461
651
  return this.isAdvancedMode() || super.shouldDisableVirtualizationBuffers();
462
652
  }
653
+ shouldGuardRebuildScroll() {
654
+ return false;
655
+ }
463
656
  isSimpleMode() {
464
657
  return this.virtualizer.type === "simple";
465
658
  }
@@ -473,6 +666,9 @@ var VirtualizedFileDiff = class extends FileDiff {
473
666
  getSimpleVirtualizer() {
474
667
  return this.virtualizer.type === "simple" ? this.virtualizer : void 0;
475
668
  }
669
+ getAdvancedVirtualizer() {
670
+ return this.virtualizer.type === "advanced" ? this.virtualizer : void 0;
671
+ }
476
672
  isResizeDebuggingEnabled() {
477
673
  return this.getSimpleVirtualizer()?.config.resizeDebugging ?? false;
478
674
  }
@@ -482,10 +678,11 @@ var VirtualizedFileDiff = class extends FileDiff {
482
678
  getHunkSeparatorType() {
483
679
  return getOptionHunkSeparatorType(this.options.hunkSeparators);
484
680
  }
485
- approximateLayoutCheckpoints() {
486
- if (this.cache.checkpoints.length > 0 || this.fileDiff == null || this.fileDiff.hunks.length === 0 || this.options.collapsed === true) return;
681
+ approximateLayoutCheckpoints(fileDiff = this.fileDiff) {
682
+ if (!this.layoutDirty && this.cache.checkpoints.length > 0 || fileDiff == null || fileDiff.hunks.length === 0 || this.options.collapsed === true) return;
487
683
  const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = 1 } = this.options;
488
- const finalHunkIndex = this.fileDiff.hunks.length - 1;
684
+ const finalHunkIndex = fileDiff.hunks.length - 1;
685
+ const canHydratePartialDiff = canHydrateCollapsedContext(fileDiff, this.options.loadDiffFiles != null);
489
686
  const diffStyle = this.getDiffStyle();
490
687
  const hunkSeparators = this.getHunkSeparatorType();
491
688
  const expandedHunks = expandUnchanged ? true : this.hunksRenderer.getExpandedHunksMap();
@@ -505,16 +702,16 @@ var VirtualizedFileDiff = class extends FileDiff {
505
702
  lineIndex: startLineIndex + offset,
506
703
  top: checkpointTop
507
704
  });
508
- nextCheckpoint += LAYOUT_CHECKPOINT_INTERVAL;
705
+ nextCheckpoint += VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL;
509
706
  }
510
707
  top += preSeparatorHeight + rowCount * this.metrics.lineHeight + metadataOffsets.length * this.metrics.lineHeight + sumHeightDeltas(heightDeltaPrefix, startLineIndex, startLineIndex + rowCount) + postSeparatorHeight;
511
708
  renderedLineIndex = blockEnd;
512
709
  };
513
- for (let hunkIndex = 0; hunkIndex < this.fileDiff.hunks.length; hunkIndex++) {
514
- const hunk = this.fileDiff.hunks[hunkIndex];
710
+ for (let hunkIndex = 0; hunkIndex < fileDiff.hunks.length; hunkIndex++) {
711
+ const hunk = fileDiff.hunks[hunkIndex];
515
712
  if (hunk == null) throw new Error("VirtualizedFileDiff.approximateLayoutCheckpoints: invalid hunk index");
516
713
  const leadingRegion = getExpandedRegion({
517
- isPartial: this.fileDiff.isPartial,
714
+ isPartial: fileDiff.isPartial,
518
715
  rangeSize: hunk.collapsedBefore,
519
716
  expandedHunks,
520
717
  hunkIndex,
@@ -538,7 +735,7 @@ var VirtualizedFileDiff = class extends FileDiff {
538
735
  });
539
736
  if (leadingRegion.fromEnd > 0) pendingLeadingSeparatorHeight = 0;
540
737
  const trailingRegion = hunkIndex === finalHunkIndex ? getTrailingExpandedRegion({
541
- fileDiff: this.fileDiff,
738
+ fileDiff,
542
739
  hunkIndex,
543
740
  expandedHunks,
544
741
  collapsedContextThreshold,
@@ -547,6 +744,9 @@ var VirtualizedFileDiff = class extends FileDiff {
547
744
  const trailingSeparatorHeight = trailingRegion != null && trailingRegion.collapsedLines > 0 ? getTrailingHunkSeparatorLayout({
548
745
  type: hunkSeparators,
549
746
  metrics: this.metrics
747
+ })?.totalHeight ?? 0 : hunkIndex === finalHunkIndex && canHydratePartialDiff ? getTrailingHunkSeparatorLayout({
748
+ type: hunkSeparators,
749
+ metrics: this.metrics
550
750
  })?.totalHeight ?? 0 : 0;
551
751
  const trailingExpandedCount = trailingRegion != null ? trailingRegion.fromStart + trailingRegion.fromEnd : 0;
552
752
  const hunkBodyRowCount = diffStyle === "split" ? hunk.splitLineCount : hunk.unifiedLineCount;
@@ -637,13 +837,19 @@ var VirtualizedFileDiff = class extends FileDiff {
637
837
  if (trailingRegion != null) count += trailingRegion.fromStart + trailingRegion.fromEnd;
638
838
  return count;
639
839
  }
840
+ getLayoutLineCount(fileDiff, diffStyle) {
841
+ const expandedLineCount = this.getExpandedLineCount(fileDiff, diffStyle);
842
+ const metadataLineCount = diffStyle === "split" ? fileDiff.splitLineCount : fileDiff.unifiedLineCount;
843
+ return Math.max(expandedLineCount, metadataLineCount, fileDiff.additionLines.length, fileDiff.deletionLines.length, this.cache.totalLines);
844
+ }
640
845
  computeRenderRangeFromWindow(fileDiff, fileTop, { top, bottom }) {
641
846
  const { disableFileHeader = false, expandUnchanged = false, collapsedContextThreshold = 1 } = this.options;
642
847
  const { hunkLineCount, lineHeight } = this.metrics;
643
848
  const diffStyle = this.getDiffStyle();
644
849
  const hunkSeparators = this.getHunkSeparatorType();
850
+ const canHydratePartialDiff = canHydrateCollapsedContext(fileDiff, this.options.loadDiffFiles != null);
645
851
  const fileHeight = this.height;
646
- let lineCount = this.cache.totalLines > 0 ? this.cache.totalLines : this.getExpandedLineCount(fileDiff, diffStyle);
852
+ let lineCount = this.getLayoutLineCount(fileDiff, diffStyle);
647
853
  const headerRegion = getVirtualFileHeaderRegion(this.metrics, disableFileHeader);
648
854
  const paddingBottom = fileDiff.hunks.length > 0 ? getVirtualFilePaddingBottom(this.metrics) : 0;
649
855
  const { fileAnnotationHeight } = this.cache;
@@ -664,8 +870,8 @@ var VirtualizedFileDiff = class extends FileDiff {
664
870
  bufferBefore: 0,
665
871
  bufferAfter: 0
666
872
  };
667
- this.approximateLayoutCheckpoints();
668
- lineCount = this.cache.totalLines > 0 ? this.cache.totalLines : lineCount;
873
+ this.approximateLayoutCheckpoints(fileDiff);
874
+ lineCount = this.getLayoutLineCount(fileDiff, diffStyle);
669
875
  const estimatedTargetLines = Math.ceil(Math.max(bottom - top, 0) / lineHeight);
670
876
  const totalLines = Math.ceil(estimatedTargetLines / hunkLineCount) * hunkLineCount + hunkLineCount;
671
877
  const totalHunks = totalLines / hunkLineCount;
@@ -688,6 +894,7 @@ var VirtualizedFileDiff = class extends FileDiff {
688
894
  const splitLineIndex = additionLine != null ? additionLine.splitLineIndex : deletionLine.splitLineIndex;
689
895
  const unifiedLineIndex = additionLine != null ? additionLine.unifiedLineIndex : deletionLine.unifiedLineIndex;
690
896
  const hasMetadata = (additionLine?.noEOFCR ?? false) || (deletionLine?.noEOFCR ?? false);
897
+ const isFinalHunkRow = hunkIndex === fileDiff.hunks.length - 1 && hunk != null && (diffStyle === "split" ? splitLineIndex === hunk.splitLineStart + hunk.splitLineCount - 1 : unifiedLineIndex === hunk.unifiedLineStart + hunk.unifiedLineCount - 1);
691
898
  const gapAdjustment = (collapsedBefore > 0 ? getLeadingHunkSeparatorLayout({
692
899
  type: hunkSeparators,
693
900
  metrics: this.metrics,
@@ -710,10 +917,17 @@ var VirtualizedFileDiff = class extends FileDiff {
710
917
  if (overflowCounter == null && absoluteLineTop >= bottom && isAtHunkBoundary) overflowCounter = overflowHunks;
711
918
  currentLine++;
712
919
  absoluteLineTop += lineHeight;
713
- if (collapsedAfter > 0) absoluteLineTop += getTrailingHunkSeparatorLayout({
714
- type: hunkSeparators,
715
- metrics: this.metrics
716
- })?.totalHeight ?? 0;
920
+ if (collapsedAfter > 0 || isFinalHunkRow && canHydratePartialDiff) {
921
+ const trailingSeparator = getTrailingHunkSeparatorLayout({
922
+ type: hunkSeparators,
923
+ metrics: this.metrics
924
+ });
925
+ if (trailingSeparator != null) {
926
+ if (absoluteLineTop < bottom && absoluteLineTop + trailingSeparator.totalHeight > top) firstVisibleHunk ??= currentHunk;
927
+ if (centerHunk == null && absoluteLineTop + trailingSeparator.totalHeight > viewportCenter) centerHunk = currentHunk;
928
+ absoluteLineTop += trailingSeparator.totalHeight;
929
+ }
930
+ }
717
931
  return false;
718
932
  }
719
933
  });
@@ -791,7 +1005,7 @@ function lowerBound(values, target) {
791
1005
  return low;
792
1006
  }
793
1007
  function getNextCheckpointIndex(renderedLineIndex) {
794
- return Math.ceil(renderedLineIndex / LAYOUT_CHECKPOINT_INTERVAL) * LAYOUT_CHECKPOINT_INTERVAL;
1008
+ return Math.ceil(renderedLineIndex / VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL) * VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL;
795
1009
  }
796
1010
  function countMetadataOffsetsBefore(metadataOffsets, offset) {
797
1011
  let count = 0;
@@ -813,19 +1027,26 @@ function getHunkMetadataOffsets({ diffStyle, hunk, rowCount }) {
813
1027
  return offsets;
814
1028
  }
815
1029
  function hasDiffLayoutOptionChanged(previousOptions, nextOptions) {
816
- return (previousOptions.diffStyle ?? "split") !== (nextOptions.diffStyle ?? "split") || (previousOptions.overflow ?? "scroll") !== (nextOptions.overflow ?? "scroll") || (previousOptions.collapsed ?? false) !== (nextOptions.collapsed ?? false) || (previousOptions.disableLineNumbers ?? false) !== (nextOptions.disableLineNumbers ?? false) || (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.diffIndicators ?? "bars") !== (nextOptions.diffIndicators ?? "bars") || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1) || previousOptions.unsafeCSS !== nextOptions.unsafeCSS;
1030
+ return (previousOptions.diffStyle ?? "split") !== (nextOptions.diffStyle ?? "split") || (previousOptions.overflow ?? "scroll") !== (nextOptions.overflow ?? "scroll") || (previousOptions.collapsed ?? false) !== (nextOptions.collapsed ?? false) || (previousOptions.disableLineNumbers ?? false) !== (nextOptions.disableLineNumbers ?? false) || (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.diffIndicators ?? "bars") !== (nextOptions.diffIndicators ?? "bars") || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || Boolean(previousOptions.loadDiffFiles) !== Boolean(nextOptions.loadDiffFiles) || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1) || previousOptions.unsafeCSS !== nextOptions.unsafeCSS;
817
1031
  }
818
1032
  function hasDiffEstimateOptionChanged(previousOptions, nextOptions) {
819
- return (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1);
1033
+ return (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || Boolean(previousOptions.loadDiffFiles) !== Boolean(nextOptions.loadDiffFiles) || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1);
1034
+ }
1035
+ function canHydrateCollapsedContext(fileDiff, hasFileLoader) {
1036
+ return fileDiff.isPartial && hasFileLoader && (fileDiff.type === "change" || fileDiff.type === "rename-changed");
820
1037
  }
821
1038
  function getOptionHunkSeparatorType(hunkSeparators) {
822
1039
  return typeof hunkSeparators === "function" ? "custom" : hunkSeparators ?? "line-info";
823
1040
  }
1041
+ function areOptionalFilesEqual(fileA, fileB) {
1042
+ if (fileA == null || fileB == null) return fileA == null && fileB == null;
1043
+ return areFilesEqual(fileA, fileB);
1044
+ }
824
1045
  function parseLineIndex(lineIndexAttr, diffStyle) {
825
1046
  const [unifiedIndex, splitIndex] = lineIndexAttr.split(",").map(Number);
826
1047
  return diffStyle === "split" ? splitIndex : unifiedIndex;
827
1048
  }
828
1049
  //#endregion
829
- export { VirtualizedFileDiff };
1050
+ export { VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, VirtualizedFileDiff };
830
1051
 
831
1052
  //# sourceMappingURL=VirtualizedFileDiff.js.map