@openclaw/diffs 2026.9.5 → 2026.9.6

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 (837) hide show
  1. package/README.md +2 -1
  2. package/dist/assets/viewer-runtime.js +37 -37
  3. package/dist/index.js +42 -16
  4. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +4 -4
  5. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
  6. package/node_modules/@pierre/diffs/dist/components/CodeView.js +8 -6
  7. package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
  8. package/node_modules/@pierre/diffs/dist/components/File.d.ts +3 -15
  9. package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
  10. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +9 -37
  11. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
  12. package/node_modules/@pierre/diffs/dist/components/FileDiff.js +15 -12
  13. package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
  14. package/node_modules/@pierre/diffs/dist/components/FileStream.d.ts +1 -0
  15. package/node_modules/@pierre/diffs/dist/components/FileStream.d.ts.map +1 -1
  16. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts +1 -1
  17. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts.map +1 -1
  18. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js +2 -1
  19. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js.map +1 -1
  20. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts +2 -8
  21. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
  22. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +11 -9
  23. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
  24. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts +2 -8
  25. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  26. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +11 -9
  27. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
  28. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts +1 -5
  29. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts.map +1 -1
  30. package/node_modules/@pierre/diffs/dist/components/Virtualizer.js.map +1 -1
  31. package/node_modules/@pierre/diffs/dist/components/VirtulizerDevelopment.d.ts +0 -1
  32. package/node_modules/@pierre/diffs/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  33. package/node_modules/@pierre/diffs/dist/components/web-components.d.ts.map +1 -1
  34. package/node_modules/@pierre/diffs/dist/components/web-components.js +2 -1
  35. package/node_modules/@pierre/diffs/dist/components/web-components.js.map +1 -1
  36. package/node_modules/@pierre/diffs/dist/constants.d.ts +0 -1
  37. package/node_modules/@pierre/diffs/dist/constants.d.ts.map +1 -1
  38. package/node_modules/@pierre/diffs/dist/editor/EditStateManager.d.ts +0 -1
  39. package/node_modules/@pierre/diffs/dist/editor/EditStateManager.d.ts.map +1 -1
  40. package/node_modules/@pierre/diffs/dist/editor/EditStateManager.js.map +1 -1
  41. package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts +0 -1
  42. package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts.map +1 -1
  43. package/node_modules/@pierre/diffs/dist/editor/command.d.ts +2 -1
  44. package/node_modules/@pierre/diffs/dist/editor/command.d.ts.map +1 -1
  45. package/node_modules/@pierre/diffs/dist/editor/editPrediction.d.ts +3 -2
  46. package/node_modules/@pierre/diffs/dist/editor/editPrediction.d.ts.map +1 -1
  47. package/node_modules/@pierre/diffs/dist/editor/editPrediction.js +11 -11
  48. package/node_modules/@pierre/diffs/dist/editor/editPrediction.js.map +1 -1
  49. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts +0 -1
  50. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts.map +1 -1
  51. package/node_modules/@pierre/diffs/dist/editor/editStack.js.map +1 -1
  52. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts +1 -5
  53. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -1
  54. package/node_modules/@pierre/diffs/dist/editor/editor.js +24 -19
  55. package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -1
  56. package/node_modules/@pierre/diffs/dist/editor/editor2.js.map +1 -1
  57. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts +0 -1
  58. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts.map +1 -1
  59. package/node_modules/@pierre/diffs/dist/editor/languages.js +1 -1
  60. package/node_modules/@pierre/diffs/dist/editor/languages.js.map +1 -1
  61. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts +0 -1
  62. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts.map +1 -1
  63. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js +2 -1
  64. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js.map +1 -1
  65. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts +0 -1
  66. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts.map +1 -1
  67. package/node_modules/@pierre/diffs/dist/editor/marker.js +5 -3
  68. package/node_modules/@pierre/diffs/dist/editor/marker.js.map +1 -1
  69. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts +0 -1
  70. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts.map +1 -1
  71. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts +0 -1
  72. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts.map +1 -1
  73. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js.map +1 -1
  74. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts +1 -5
  75. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts.map +1 -1
  76. package/node_modules/@pierre/diffs/dist/editor/platform.js.map +1 -1
  77. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts +12 -12
  78. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts.map +1 -1
  79. package/node_modules/@pierre/diffs/dist/editor/popover.js.map +1 -1
  80. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts +0 -1
  81. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts.map +1 -1
  82. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js +16 -12
  83. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js.map +1 -1
  84. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts +0 -1
  85. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts.map +1 -1
  86. package/node_modules/@pierre/diffs/dist/editor/selection.js.map +1 -1
  87. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts +0 -1
  88. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts.map +1 -1
  89. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js.map +1 -1
  90. package/node_modules/@pierre/diffs/dist/editor/sprite.d.ts.map +1 -1
  91. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts +0 -1
  92. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts.map +1 -1
  93. package/node_modules/@pierre/diffs/dist/editor/textDocument.js.map +1 -1
  94. package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.d.ts +0 -1
  95. package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.d.ts.map +1 -1
  96. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts.map +1 -1
  97. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js.map +1 -1
  98. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts +1 -11
  99. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts.map +1 -1
  100. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js +8 -4
  101. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js.map +1 -1
  102. package/node_modules/@pierre/diffs/dist/editor/types.d.ts +0 -1
  103. package/node_modules/@pierre/diffs/dist/editor/types.d.ts.map +1 -1
  104. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts.map +1 -1
  105. package/node_modules/@pierre/diffs/dist/editor/utils.js +11 -7
  106. package/node_modules/@pierre/diffs/dist/editor/utils.js.map +1 -1
  107. package/node_modules/@pierre/diffs/dist/highlighter/languages/areLanguagesAttached.d.ts +0 -1
  108. package/node_modules/@pierre/diffs/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  109. package/node_modules/@pierre/diffs/dist/highlighter/languages/attachResolvedLanguages.d.ts +1 -0
  110. package/node_modules/@pierre/diffs/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  111. package/node_modules/@pierre/diffs/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  112. package/node_modules/@pierre/diffs/dist/highlighter/languages/constants.d.ts +1 -1
  113. package/node_modules/@pierre/diffs/dist/highlighter/languages/constants.d.ts.map +1 -1
  114. package/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedLanguages.d.ts +1 -0
  115. package/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  116. package/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -0
  117. package/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  118. package/node_modules/@pierre/diffs/dist/highlighter/languages/hasResolvedLanguages.d.ts +0 -1
  119. package/node_modules/@pierre/diffs/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  120. package/node_modules/@pierre/diffs/dist/highlighter/languages/registerCustomLanguage.d.ts +0 -1
  121. package/node_modules/@pierre/diffs/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
  122. package/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguage.d.ts +1 -0
  123. package/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  124. package/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguages.d.ts +1 -0
  125. package/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  126. package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.d.ts +1 -6
  127. package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  128. package/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.d.ts +0 -1
  129. package/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  130. package/node_modules/@pierre/diffs/dist/highlighter/themes/attachResolvedThemes.d.ts +0 -1
  131. package/node_modules/@pierre/diffs/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  132. package/node_modules/@pierre/diffs/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  133. package/node_modules/@pierre/diffs/dist/highlighter/themes/constants.d.ts.map +1 -1
  134. package/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +0 -1
  135. package/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  136. package/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedThemes.d.ts +0 -1
  137. package/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  138. package/node_modules/@pierre/diffs/dist/highlighter/themes/hasResolvedThemes.d.ts +0 -1
  139. package/node_modules/@pierre/diffs/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  140. package/node_modules/@pierre/diffs/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  141. package/node_modules/@pierre/diffs/dist/highlighter/themes/registerCustomTheme.d.ts +0 -1
  142. package/node_modules/@pierre/diffs/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  143. package/node_modules/@pierre/diffs/dist/highlighter/themes/resolveTheme.d.ts +0 -1
  144. package/node_modules/@pierre/diffs/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  145. package/node_modules/@pierre/diffs/dist/highlighter/themes/resolveThemes.d.ts +0 -1
  146. package/node_modules/@pierre/diffs/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  147. package/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolution.d.ts +0 -1
  148. package/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolution.d.ts.map +1 -1
  149. package/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolver.d.ts +0 -1
  150. package/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
  151. package/node_modules/@pierre/diffs/dist/index.d.ts +1 -0
  152. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts +2 -26
  153. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts.map +1 -1
  154. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js +1 -3
  155. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js.map +1 -1
  156. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts +1 -4
  157. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts.map +1 -1
  158. package/node_modules/@pierre/diffs/dist/managers/ScrollSyncManager.d.ts.map +1 -1
  159. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  160. package/node_modules/@pierre/diffs/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +0 -1
  161. package/node_modules/@pierre/diffs/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -1
  162. package/node_modules/@pierre/diffs/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts.map +1 -1
  163. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts +9 -1
  164. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts.map +1 -1
  165. package/node_modules/@pierre/diffs/dist/react/CodeView.js +39 -33
  166. package/node_modules/@pierre/diffs/dist/react/CodeView.js.map +1 -1
  167. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts +2 -5
  168. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts.map +1 -1
  169. package/node_modules/@pierre/diffs/dist/react/File.d.ts +1 -23
  170. package/node_modules/@pierre/diffs/dist/react/File.d.ts.map +1 -1
  171. package/node_modules/@pierre/diffs/dist/react/File.js +13 -12
  172. package/node_modules/@pierre/diffs/dist/react/File.js.map +1 -1
  173. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts +1 -23
  174. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts.map +1 -1
  175. package/node_modules/@pierre/diffs/dist/react/FileDiff.js +13 -12
  176. package/node_modules/@pierre/diffs/dist/react/FileDiff.js.map +1 -1
  177. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts +1 -24
  178. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts.map +1 -1
  179. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js +13 -12
  180. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js.map +1 -1
  181. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts +1 -23
  182. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts.map +1 -1
  183. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js +13 -12
  184. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js.map +1 -1
  185. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts +1 -18
  186. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts.map +1 -1
  187. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js +15 -14
  188. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js.map +1 -1
  189. package/node_modules/@pierre/diffs/dist/react/Virtualizer.d.ts +1 -9
  190. package/node_modules/@pierre/diffs/dist/react/Virtualizer.d.ts.map +1 -1
  191. package/node_modules/@pierre/diffs/dist/react/Virtualizer.js.map +1 -1
  192. package/node_modules/@pierre/diffs/dist/react/WorkerPoolContext.d.ts +2 -6
  193. package/node_modules/@pierre/diffs/dist/react/WorkerPoolContext.d.ts.map +1 -1
  194. package/node_modules/@pierre/diffs/dist/react/constants.d.ts +0 -1
  195. package/node_modules/@pierre/diffs/dist/react/constants.d.ts.map +1 -1
  196. package/node_modules/@pierre/diffs/dist/react/jsx.d.ts +1 -0
  197. package/node_modules/@pierre/diffs/dist/react/jsx.d.ts.map +1 -1
  198. package/node_modules/@pierre/diffs/dist/react/types.d.ts +1 -1
  199. package/node_modules/@pierre/diffs/dist/react/types.d.ts.map +1 -1
  200. package/node_modules/@pierre/diffs/dist/react/utils/assignRef.d.ts +6 -0
  201. package/node_modules/@pierre/diffs/dist/react/utils/assignRef.d.ts.map +1 -0
  202. package/node_modules/@pierre/diffs/dist/react/utils/assignRef.js +9 -0
  203. package/node_modules/@pierre/diffs/dist/react/utils/assignRef.js.map +1 -0
  204. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts +1 -16
  205. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  206. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js.map +1 -1
  207. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts +1 -13
  208. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  209. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js.map +1 -1
  210. package/node_modules/@pierre/diffs/dist/react/utils/templateRender.d.ts +0 -1
  211. package/node_modules/@pierre/diffs/dist/react/utils/templateRender.d.ts.map +1 -1
  212. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts +2 -18
  213. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  214. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +31 -17
  215. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
  216. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts +2 -16
  217. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts.map +1 -1
  218. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js +8 -4
  219. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js.map +1 -1
  220. package/node_modules/@pierre/diffs/dist/react/utils/useStableCallback.d.ts.map +1 -1
  221. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.d.ts +1 -12
  222. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
  223. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts +4 -9
  224. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  225. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +28 -21
  226. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
  227. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts +1 -0
  228. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
  229. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
  230. package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.d.ts +3 -9
  231. package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  232. package/node_modules/@pierre/diffs/dist/shiki-stream/stream.d.ts +0 -1
  233. package/node_modules/@pierre/diffs/dist/shiki-stream/stream.d.ts.map +1 -1
  234. package/node_modules/@pierre/diffs/dist/shiki-stream/stream.js.map +1 -1
  235. package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.d.ts +0 -1
  236. package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  237. package/node_modules/@pierre/diffs/dist/shiki-stream/types.d.ts +0 -1
  238. package/node_modules/@pierre/diffs/dist/shiki-stream/types.d.ts.map +1 -1
  239. package/node_modules/@pierre/diffs/dist/sprite.d.ts.map +1 -1
  240. package/node_modules/@pierre/diffs/dist/ssr/FileDiffReact.d.ts +1 -8
  241. package/node_modules/@pierre/diffs/dist/ssr/FileDiffReact.d.ts.map +1 -1
  242. package/node_modules/@pierre/diffs/dist/ssr/FileDiffReact.js +8 -3
  243. package/node_modules/@pierre/diffs/dist/ssr/FileDiffReact.js.map +1 -1
  244. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts +6 -34
  245. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts.map +1 -1
  246. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts +1 -6
  247. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts.map +1 -1
  248. package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.d.ts +1 -5
  249. package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  250. package/node_modules/@pierre/diffs/dist/ssr/renderHTML.d.ts +0 -1
  251. package/node_modules/@pierre/diffs/dist/ssr/renderHTML.d.ts.map +1 -1
  252. package/node_modules/@pierre/diffs/dist/string-import.d.ts.map +1 -1
  253. package/node_modules/@pierre/diffs/dist/style.js.map +1 -1
  254. package/node_modules/@pierre/diffs/dist/types.d.ts +0 -1
  255. package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
  256. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts +0 -1
  257. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts.map +1 -1
  258. package/node_modules/@pierre/diffs/dist/utils/appendItems.d.ts.map +1 -1
  259. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.d.ts.map +1 -1
  260. package/node_modules/@pierre/diffs/dist/utils/areDiffLineAnnotationsEqual.d.ts +0 -1
  261. package/node_modules/@pierre/diffs/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  262. package/node_modules/@pierre/diffs/dist/utils/areDiffRenderOptionsEqual.d.ts +0 -1
  263. package/node_modules/@pierre/diffs/dist/utils/areDiffRenderOptionsEqual.d.ts.map +1 -1
  264. package/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.d.ts +0 -1
  265. package/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.d.ts.map +1 -1
  266. package/node_modules/@pierre/diffs/dist/utils/areFileRenderOptionsEqual.d.ts +0 -1
  267. package/node_modules/@pierre/diffs/dist/utils/areFileRenderOptionsEqual.d.ts.map +1 -1
  268. package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.d.ts +0 -1
  269. package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.d.ts.map +1 -1
  270. package/node_modules/@pierre/diffs/dist/utils/areFilesEqual.d.ts +0 -1
  271. package/node_modules/@pierre/diffs/dist/utils/areFilesEqual.d.ts.map +1 -1
  272. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.d.ts +0 -1
  273. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  274. package/node_modules/@pierre/diffs/dist/utils/areLineAnnotationsEqual.d.ts +0 -1
  275. package/node_modules/@pierre/diffs/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  276. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts +0 -1
  277. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  278. package/node_modules/@pierre/diffs/dist/utils/areMergeConflictActionsEqual.d.ts +0 -1
  279. package/node_modules/@pierre/diffs/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -1
  280. package/node_modules/@pierre/diffs/dist/utils/areObjectsEqual.d.ts.map +1 -1
  281. package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.d.ts +1 -0
  282. package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.d.ts.map +1 -1
  283. package/node_modules/@pierre/diffs/dist/utils/arePrePropertiesEqual.d.ts +0 -1
  284. package/node_modules/@pierre/diffs/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  285. package/node_modules/@pierre/diffs/dist/utils/areRenderRangesEqual.d.ts +0 -1
  286. package/node_modules/@pierre/diffs/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  287. package/node_modules/@pierre/diffs/dist/utils/areSelectionPointsEqual.d.ts +0 -1
  288. package/node_modules/@pierre/diffs/dist/utils/areSelectionPointsEqual.d.ts.map +1 -1
  289. package/node_modules/@pierre/diffs/dist/utils/areSelectionsEqual.d.ts +0 -1
  290. package/node_modules/@pierre/diffs/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  291. package/node_modules/@pierre/diffs/dist/utils/areThemesEqual.d.ts +0 -1
  292. package/node_modules/@pierre/diffs/dist/utils/areThemesEqual.d.ts.map +1 -1
  293. package/node_modules/@pierre/diffs/dist/utils/areVirtualWindowSpecsEqual.d.ts +0 -1
  294. package/node_modules/@pierre/diffs/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  295. package/node_modules/@pierre/diffs/dist/utils/areWorkerStatsEqual.d.ts +1 -0
  296. package/node_modules/@pierre/diffs/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  297. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.d.ts.map +1 -1
  298. package/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.d.ts.map +1 -1
  299. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts +0 -1
  300. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -1
  301. package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.d.ts.map +1 -1
  302. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts +1 -11
  303. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  304. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.d.ts.map +1 -1
  305. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js +9 -8
  306. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js.map +1 -1
  307. package/node_modules/@pierre/diffs/dist/utils/computeVirtualFileMetrics.d.ts +0 -1
  308. package/node_modules/@pierre/diffs/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
  309. package/node_modules/@pierre/diffs/dist/utils/createAnnotationElement.d.ts +0 -1
  310. package/node_modules/@pierre/diffs/dist/utils/createAnnotationElement.d.ts.map +1 -1
  311. package/node_modules/@pierre/diffs/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  312. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -1
  313. package/node_modules/@pierre/diffs/dist/utils/createContentColumn.d.ts +0 -1
  314. package/node_modules/@pierre/diffs/dist/utils/createContentColumn.d.ts.map +1 -1
  315. package/node_modules/@pierre/diffs/dist/utils/createEmptyRowBuffer.d.ts +0 -1
  316. package/node_modules/@pierre/diffs/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  317. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.d.ts +1 -6
  318. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  319. package/node_modules/@pierre/diffs/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -1
  320. package/node_modules/@pierre/diffs/dist/utils/createGutterUtilityElement.d.ts +0 -1
  321. package/node_modules/@pierre/diffs/dist/utils/createGutterUtilityElement.d.ts.map +1 -1
  322. package/node_modules/@pierre/diffs/dist/utils/createNoNewlineElement.d.ts +0 -1
  323. package/node_modules/@pierre/diffs/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  324. package/node_modules/@pierre/diffs/dist/utils/createPreElement.d.ts +1 -11
  325. package/node_modules/@pierre/diffs/dist/utils/createPreElement.d.ts.map +1 -1
  326. package/node_modules/@pierre/diffs/dist/utils/createRowNodes.d.ts.map +1 -1
  327. package/node_modules/@pierre/diffs/dist/utils/createSeparator.d.ts +1 -10
  328. package/node_modules/@pierre/diffs/dist/utils/createSeparator.d.ts.map +1 -1
  329. package/node_modules/@pierre/diffs/dist/utils/createSeparator.js +12 -10
  330. package/node_modules/@pierre/diffs/dist/utils/createSeparator.js.map +1 -1
  331. package/node_modules/@pierre/diffs/dist/utils/createSpanNodeFromToken.d.ts +0 -1
  332. package/node_modules/@pierre/diffs/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  333. package/node_modules/@pierre/diffs/dist/utils/createSpanNodeFromToken.js +2 -1
  334. package/node_modules/@pierre/diffs/dist/utils/createSpanNodeFromToken.js.map +1 -1
  335. package/node_modules/@pierre/diffs/dist/utils/createStyleElement.d.ts +0 -1
  336. package/node_modules/@pierre/diffs/dist/utils/createStyleElement.d.ts.map +1 -1
  337. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.d.ts +0 -1
  338. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.d.ts.map +1 -1
  339. package/node_modules/@pierre/diffs/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  340. package/node_modules/@pierre/diffs/dist/utils/createWindowFromScrollPosition.d.ts +1 -9
  341. package/node_modules/@pierre/diffs/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  342. package/node_modules/@pierre/diffs/dist/utils/cssWrappers.d.ts +0 -1
  343. package/node_modules/@pierre/diffs/dist/utils/cssWrappers.d.ts.map +1 -1
  344. package/node_modules/@pierre/diffs/dist/utils/cssWrappers.js +5 -3
  345. package/node_modules/@pierre/diffs/dist/utils/cssWrappers.js.map +1 -1
  346. package/node_modules/@pierre/diffs/dist/utils/detachString.d.ts.map +1 -1
  347. package/node_modules/@pierre/diffs/dist/utils/diffAcceptRejectHunk.d.ts +0 -1
  348. package/node_modules/@pierre/diffs/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  349. package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.d.ts +0 -1
  350. package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.d.ts.map +1 -1
  351. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +0 -1
  352. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -1
  353. package/node_modules/@pierre/diffs/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  354. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts +1 -5
  355. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts.map +1 -1
  356. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts +0 -1
  357. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  358. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts +0 -1
  359. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  360. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.d.ts +0 -1
  361. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  362. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js.map +1 -1
  363. package/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.d.ts +1 -5
  364. package/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  365. package/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.js +1 -1
  366. package/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.js.map +1 -1
  367. package/node_modules/@pierre/diffs/dist/utils/getHighlighterThemeStyles.d.ts +1 -6
  368. package/node_modules/@pierre/diffs/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  369. package/node_modules/@pierre/diffs/dist/utils/getHunkSeparatorSlotName.d.ts +0 -1
  370. package/node_modules/@pierre/diffs/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  371. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.d.ts.map +1 -1
  372. package/node_modules/@pierre/diffs/dist/utils/getIconForType.d.ts +0 -1
  373. package/node_modules/@pierre/diffs/dist/utils/getIconForType.d.ts.map +1 -1
  374. package/node_modules/@pierre/diffs/dist/utils/getLineAnnotationName.d.ts +0 -1
  375. package/node_modules/@pierre/diffs/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  376. package/node_modules/@pierre/diffs/dist/utils/getLineEndingType.d.ts.map +1 -1
  377. package/node_modules/@pierre/diffs/dist/utils/getLineNodes.d.ts +0 -1
  378. package/node_modules/@pierre/diffs/dist/utils/getLineNodes.d.ts.map +1 -1
  379. package/node_modules/@pierre/diffs/dist/utils/getMergeConflictActionSlotName.d.ts +1 -5
  380. package/node_modules/@pierre/diffs/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
  381. package/node_modules/@pierre/diffs/dist/utils/getMergeConflictLineTypes.d.ts +0 -1
  382. package/node_modules/@pierre/diffs/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
  383. package/node_modules/@pierre/diffs/dist/utils/getOrCreateCodeNode.d.ts +1 -7
  384. package/node_modules/@pierre/diffs/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  385. package/node_modules/@pierre/diffs/dist/utils/getSingularPatch.d.ts +0 -1
  386. package/node_modules/@pierre/diffs/dist/utils/getSingularPatch.d.ts.map +1 -1
  387. package/node_modules/@pierre/diffs/dist/utils/getThemes.d.ts +0 -1
  388. package/node_modules/@pierre/diffs/dist/utils/getThemes.d.ts.map +1 -1
  389. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.d.ts +0 -1
  390. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  391. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.d.ts.map +1 -1
  392. package/node_modules/@pierre/diffs/dist/utils/hast_utils.d.ts +2 -12
  393. package/node_modules/@pierre/diffs/dist/utils/hast_utils.d.ts.map +1 -1
  394. package/node_modules/@pierre/diffs/dist/utils/hostTheme.d.ts +1 -5
  395. package/node_modules/@pierre/diffs/dist/utils/hostTheme.d.ts.map +1 -1
  396. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts +0 -1
  397. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts.map +1 -1
  398. package/node_modules/@pierre/diffs/dist/utils/includesFileAnnotations.d.ts +0 -1
  399. package/node_modules/@pierre/diffs/dist/utils/includesFileAnnotations.d.ts.map +1 -1
  400. package/node_modules/@pierre/diffs/dist/utils/isDefaultRenderRange.d.ts +0 -1
  401. package/node_modules/@pierre/diffs/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  402. package/node_modules/@pierre/diffs/dist/utils/isDiffPlainText.d.ts +0 -1
  403. package/node_modules/@pierre/diffs/dist/utils/isDiffPlainText.d.ts.map +1 -1
  404. package/node_modules/@pierre/diffs/dist/utils/isFilePlainText.d.ts +0 -1
  405. package/node_modules/@pierre/diffs/dist/utils/isFilePlainText.d.ts.map +1 -1
  406. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.d.ts.map +1 -1
  407. package/node_modules/@pierre/diffs/dist/utils/isStyleNode.d.ts.map +1 -1
  408. package/node_modules/@pierre/diffs/dist/utils/isWorkerContext.d.ts.map +1 -1
  409. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.d.ts +1 -10
  410. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.d.ts.map +1 -1
  411. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js +5 -3
  412. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js.map +1 -1
  413. package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.d.ts +0 -1
  414. package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.d.ts.map +1 -1
  415. package/node_modules/@pierre/diffs/dist/utils/normalizeDiffResolution.d.ts +0 -1
  416. package/node_modules/@pierre/diffs/dist/utils/normalizeDiffResolution.d.ts.map +1 -1
  417. package/node_modules/@pierre/diffs/dist/utils/parseDiffDecorations.d.ts +2 -13
  418. package/node_modules/@pierre/diffs/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  419. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts +0 -1
  420. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  421. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js +2 -1
  422. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js.map +1 -1
  423. package/node_modules/@pierre/diffs/dist/utils/parseLineType.d.ts +0 -1
  424. package/node_modules/@pierre/diffs/dist/utils/parseLineType.d.ts.map +1 -1
  425. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.d.ts +0 -1
  426. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  427. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts +0 -1
  428. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
  429. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +8 -5
  430. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
  431. package/node_modules/@pierre/diffs/dist/utils/platform.d.ts.map +1 -1
  432. package/node_modules/@pierre/diffs/dist/utils/prefersReducedMotion.d.ts.map +1 -1
  433. package/node_modules/@pierre/diffs/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  434. package/node_modules/@pierre/diffs/dist/utils/processLine.d.ts +0 -1
  435. package/node_modules/@pierre/diffs/dist/utils/processLine.d.ts.map +1 -1
  436. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts +0 -1
  437. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts.map +1 -1
  438. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.d.ts +1 -8
  439. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  440. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.d.ts +1 -11
  441. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  442. package/node_modules/@pierre/diffs/dist/utils/resolveConflict.d.ts +0 -1
  443. package/node_modules/@pierre/diffs/dist/utils/resolveConflict.d.ts.map +1 -1
  444. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.d.ts +0 -1
  445. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.d.ts.map +1 -1
  446. package/node_modules/@pierre/diffs/dist/utils/roundToDevicePixel.d.ts.map +1 -1
  447. package/node_modules/@pierre/diffs/dist/utils/scrollbarGutter.d.ts.map +1 -1
  448. package/node_modules/@pierre/diffs/dist/utils/scrollbarGutter.js +2 -1
  449. package/node_modules/@pierre/diffs/dist/utils/scrollbarGutter.js.map +1 -1
  450. package/node_modules/@pierre/diffs/dist/utils/setLanguageOverride.d.ts +0 -1
  451. package/node_modules/@pierre/diffs/dist/utils/setLanguageOverride.d.ts.map +1 -1
  452. package/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.d.ts +1 -11
  453. package/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  454. package/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.js +1 -3
  455. package/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.js.map +1 -1
  456. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts +0 -1
  457. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  458. package/node_modules/@pierre/diffs/dist/utils/splitFileContents.d.ts.map +1 -1
  459. package/node_modules/@pierre/diffs/dist/utils/trimPatchContext.d.ts.map +1 -1
  460. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts +0 -1
  461. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts.map +1 -1
  462. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts +10 -55
  463. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  464. package/node_modules/@pierre/diffs/dist/utils/wrapTokenFragments.d.ts +0 -1
  465. package/node_modules/@pierre/diffs/dist/utils/wrapTokenFragments.d.ts.map +1 -1
  466. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts +2 -17
  467. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  468. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js +8 -5
  469. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js.map +1 -1
  470. package/node_modules/@pierre/diffs/dist/worker/getOrCreateWorkerPoolSingleton.d.ts +1 -5
  471. package/node_modules/@pierre/diffs/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  472. package/node_modules/@pierre/diffs/dist/worker/types.d.ts +0 -1
  473. package/node_modules/@pierre/diffs/dist/worker/types.d.ts.map +1 -1
  474. package/node_modules/@pierre/diffs/dist/worker/worker-portable.d.ts +1 -1
  475. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +113 -354
  476. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
  477. package/node_modules/@pierre/diffs/dist/worker/worker.d.ts +1 -1
  478. package/node_modules/@pierre/diffs/dist/worker/worker.js +14 -11
  479. package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
  480. package/node_modules/@pierre/diffs/package.json +4 -5
  481. package/node_modules/zod/README.md +2 -2
  482. package/node_modules/zod/compile.cjs +19 -0
  483. package/node_modules/zod/index.cjs +19 -0
  484. package/node_modules/zod/locales/index.cjs +19 -0
  485. package/node_modules/zod/mini/index.cjs +19 -0
  486. package/node_modules/zod/package.json +8 -7
  487. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  488. package/node_modules/zod/src/v4/classic/external.ts +2 -0
  489. package/node_modules/zod/src/v4/classic/from-json-schema.ts +248 -25
  490. package/node_modules/zod/src/v4/classic/schemas.ts +243 -168
  491. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +60 -9
  492. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +6 -0
  493. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  494. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +265 -0
  495. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
  496. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +9 -0
  497. package/node_modules/zod/src/v4/classic/tests/error.test.ts +130 -1
  498. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +157 -0
  499. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  500. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +40 -2
  501. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +27 -7
  502. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +88 -56
  503. package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
  504. package/node_modules/zod/src/v4/classic/tests/object.test.ts +56 -0
  505. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +3 -2
  506. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  507. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  508. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +46 -1
  509. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  510. package/node_modules/zod/src/v4/classic/tests/string.test.ts +95 -1
  511. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +33 -1
  512. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +234 -38
  513. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +569 -0
  514. package/node_modules/zod/src/v4/core/api.ts +44 -28
  515. package/node_modules/zod/src/v4/core/checks.ts +62 -102
  516. package/node_modules/zod/src/v4/core/compile.ts +218 -93
  517. package/node_modules/zod/src/v4/core/core.ts +1 -3
  518. package/node_modules/zod/src/v4/core/doc.ts +6 -2
  519. package/node_modules/zod/src/v4/core/errors.ts +3 -6
  520. package/node_modules/zod/src/v4/core/json-schema-generator.ts +2 -2
  521. package/node_modules/zod/src/v4/core/json-schema-processors.ts +185 -81
  522. package/node_modules/zod/src/v4/core/memoizer.ts +75 -28
  523. package/node_modules/zod/src/v4/core/parse.ts +37 -16
  524. package/node_modules/zod/src/v4/core/regexes.ts +14 -4
  525. package/node_modules/zod/src/v4/core/schemas.ts +296 -132
  526. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  527. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
  528. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  529. package/node_modules/zod/src/v4/core/tests/compile.test.ts +399 -2
  530. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  531. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  532. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  533. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
  534. package/node_modules/zod/src/v4/core/to-json-schema.ts +9 -7
  535. package/node_modules/zod/src/v4/core/util.ts +218 -147
  536. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  537. package/node_modules/zod/src/v4/locales/ar.ts +2 -0
  538. package/node_modules/zod/src/v4/locales/az.ts +2 -0
  539. package/node_modules/zod/src/v4/locales/be.ts +2 -0
  540. package/node_modules/zod/src/v4/locales/bg.ts +2 -0
  541. package/node_modules/zod/src/v4/locales/bn.ts +2 -0
  542. package/node_modules/zod/src/v4/locales/ca.ts +2 -0
  543. package/node_modules/zod/src/v4/locales/ckb.ts +2 -0
  544. package/node_modules/zod/src/v4/locales/cs.ts +2 -0
  545. package/node_modules/zod/src/v4/locales/da.ts +2 -0
  546. package/node_modules/zod/src/v4/locales/de.ts +2 -0
  547. package/node_modules/zod/src/v4/locales/el.ts +2 -0
  548. package/node_modules/zod/src/v4/locales/en.ts +2 -0
  549. package/node_modules/zod/src/v4/locales/eo.ts +2 -0
  550. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  551. package/node_modules/zod/src/v4/locales/fa.ts +2 -0
  552. package/node_modules/zod/src/v4/locales/fi.ts +2 -0
  553. package/node_modules/zod/src/v4/locales/fr-CA.ts +2 -0
  554. package/node_modules/zod/src/v4/locales/fr.ts +2 -0
  555. package/node_modules/zod/src/v4/locales/gu.ts +2 -0
  556. package/node_modules/zod/src/v4/locales/he.ts +2 -0
  557. package/node_modules/zod/src/v4/locales/hi.ts +2 -0
  558. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  559. package/node_modules/zod/src/v4/locales/hu.ts +2 -0
  560. package/node_modules/zod/src/v4/locales/hy.ts +2 -0
  561. package/node_modules/zod/src/v4/locales/id.ts +2 -0
  562. package/node_modules/zod/src/v4/locales/index.ts +1 -0
  563. package/node_modules/zod/src/v4/locales/is.ts +2 -0
  564. package/node_modules/zod/src/v4/locales/it.ts +2 -0
  565. package/node_modules/zod/src/v4/locales/ja.ts +2 -0
  566. package/node_modules/zod/src/v4/locales/ka.ts +2 -0
  567. package/node_modules/zod/src/v4/locales/km.ts +2 -0
  568. package/node_modules/zod/src/v4/locales/kn.ts +2 -0
  569. package/node_modules/zod/src/v4/locales/ko.ts +2 -0
  570. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  571. package/node_modules/zod/src/v4/locales/mk.ts +2 -0
  572. package/node_modules/zod/src/v4/locales/ms.ts +2 -0
  573. package/node_modules/zod/src/v4/locales/ne.ts +2 -0
  574. package/node_modules/zod/src/v4/locales/nl.ts +2 -0
  575. package/node_modules/zod/src/v4/locales/nn.ts +2 -0
  576. package/node_modules/zod/src/v4/locales/no.ts +2 -0
  577. package/node_modules/zod/src/v4/locales/ota.ts +2 -0
  578. package/node_modules/zod/src/v4/locales/pl.ts +2 -0
  579. package/node_modules/zod/src/v4/locales/ps.ts +2 -0
  580. package/node_modules/zod/src/v4/locales/pt-BR.ts +2 -0
  581. package/node_modules/zod/src/v4/locales/pt.ts +2 -0
  582. package/node_modules/zod/src/v4/locales/ro.ts +2 -0
  583. package/node_modules/zod/src/v4/locales/ru.ts +2 -0
  584. package/node_modules/zod/src/v4/locales/sk.ts +2 -0
  585. package/node_modules/zod/src/v4/locales/sl.ts +2 -0
  586. package/node_modules/zod/src/v4/locales/sv.ts +2 -0
  587. package/node_modules/zod/src/v4/locales/ta.ts +2 -0
  588. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  589. package/node_modules/zod/src/v4/locales/th.ts +2 -0
  590. package/node_modules/zod/src/v4/locales/tk.ts +2 -0
  591. package/node_modules/zod/src/v4/locales/tr.ts +2 -0
  592. package/node_modules/zod/src/v4/locales/uk.ts +2 -0
  593. package/node_modules/zod/src/v4/locales/ur.ts +2 -0
  594. package/node_modules/zod/src/v4/locales/uz.ts +2 -0
  595. package/node_modules/zod/src/v4/locales/vi.ts +2 -0
  596. package/node_modules/zod/src/v4/locales/yo.ts +2 -0
  597. package/node_modules/zod/src/v4/locales/zh-CN.ts +2 -0
  598. package/node_modules/zod/src/v4/locales/zh-TW.ts +2 -0
  599. package/node_modules/zod/src/v4/mini/external.ts +2 -0
  600. package/node_modules/zod/src/v4/mini/schemas.ts +32 -7
  601. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +1 -1
  602. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  603. package/node_modules/zod/src/v4/mini/tests/index.test.ts +86 -0
  604. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  605. package/node_modules/zod/src/v4/mini/tests/string.test.ts +23 -0
  606. package/node_modules/zod/v3/ZodError.cjs +19 -0
  607. package/node_modules/zod/v3/errors.cjs +19 -0
  608. package/node_modules/zod/v3/external.cjs +19 -0
  609. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  610. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  611. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  612. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  613. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  614. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  615. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  616. package/node_modules/zod/v3/index.cjs +19 -0
  617. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  618. package/node_modules/zod/v3/types.cjs +19 -0
  619. package/node_modules/zod/v4/classic/checks.cjs +19 -0
  620. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  621. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  622. package/node_modules/zod/v4/classic/deep-partial.cjs +19 -0
  623. package/node_modules/zod/v4/classic/errors.cjs +19 -0
  624. package/node_modules/zod/v4/classic/external.cjs +22 -1
  625. package/node_modules/zod/v4/classic/external.d.cts +1 -1
  626. package/node_modules/zod/v4/classic/external.d.ts +1 -1
  627. package/node_modules/zod/v4/classic/external.js +1 -1
  628. package/node_modules/zod/v4/classic/from-json-schema.cjs +264 -24
  629. package/node_modules/zod/v4/classic/from-json-schema.js +245 -24
  630. package/node_modules/zod/v4/classic/in-out.cjs +19 -0
  631. package/node_modules/zod/v4/classic/index.cjs +19 -0
  632. package/node_modules/zod/v4/classic/iso.cjs +19 -0
  633. package/node_modules/zod/v4/classic/parse.cjs +19 -0
  634. package/node_modules/zod/v4/classic/schemas.cjs +100 -35
  635. package/node_modules/zod/v4/classic/schemas.d.cts +15 -1
  636. package/node_modules/zod/v4/classic/schemas.d.ts +15 -1
  637. package/node_modules/zod/v4/classic/schemas.js +77 -33
  638. package/node_modules/zod/v4/core/api.cjs +45 -22
  639. package/node_modules/zod/v4/core/api.d.cts +12 -6
  640. package/node_modules/zod/v4/core/api.d.ts +12 -6
  641. package/node_modules/zod/v4/core/api.js +25 -22
  642. package/node_modules/zod/v4/core/checks.cjs +51 -97
  643. package/node_modules/zod/v4/core/checks.d.cts +17 -1
  644. package/node_modules/zod/v4/core/checks.d.ts +17 -1
  645. package/node_modules/zod/v4/core/checks.js +31 -96
  646. package/node_modules/zod/v4/core/compile.cjs +173 -78
  647. package/node_modules/zod/v4/core/compile.d.cts +18 -4
  648. package/node_modules/zod/v4/core/compile.d.ts +18 -4
  649. package/node_modules/zod/v4/core/compile.js +154 -79
  650. package/node_modules/zod/v4/core/core.cjs +20 -1
  651. package/node_modules/zod/v4/core/core.js +1 -1
  652. package/node_modules/zod/v4/core/doc.cjs +26 -2
  653. package/node_modules/zod/v4/core/doc.js +7 -2
  654. package/node_modules/zod/v4/core/errors.cjs +21 -5
  655. package/node_modules/zod/v4/core/errors.js +2 -5
  656. package/node_modules/zod/v4/core/index.cjs +19 -0
  657. package/node_modules/zod/v4/core/json-schema-generator.cjs +20 -1
  658. package/node_modules/zod/v4/core/json-schema-generator.js +2 -2
  659. package/node_modules/zod/v4/core/json-schema-processors.cjs +188 -72
  660. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  661. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  662. package/node_modules/zod/v4/core/json-schema-processors.js +170 -74
  663. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  664. package/node_modules/zod/v4/core/memoizer.cjs +111 -23
  665. package/node_modules/zod/v4/core/memoizer.js +69 -23
  666. package/node_modules/zod/v4/core/parse.cjs +56 -16
  667. package/node_modules/zod/v4/core/parse.js +37 -16
  668. package/node_modules/zod/v4/core/regexes.cjs +31 -6
  669. package/node_modules/zod/v4/core/regexes.d.cts +3 -0
  670. package/node_modules/zod/v4/core/regexes.d.ts +3 -0
  671. package/node_modules/zod/v4/core/regexes.js +10 -4
  672. package/node_modules/zod/v4/core/registries.cjs +19 -0
  673. package/node_modules/zod/v4/core/schemas.cjs +302 -114
  674. package/node_modules/zod/v4/core/schemas.d.cts +28 -8
  675. package/node_modules/zod/v4/core/schemas.d.ts +28 -8
  676. package/node_modules/zod/v4/core/schemas.js +279 -113
  677. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  678. package/node_modules/zod/v4/core/to-json-schema.cjs +28 -7
  679. package/node_modules/zod/v4/core/to-json-schema.d.cts +4 -3
  680. package/node_modules/zod/v4/core/to-json-schema.d.ts +4 -3
  681. package/node_modules/zod/v4/core/to-json-schema.js +7 -6
  682. package/node_modules/zod/v4/core/util.cjs +177 -143
  683. package/node_modules/zod/v4/core/util.d.cts +25 -4
  684. package/node_modules/zod/v4/core/util.d.ts +25 -4
  685. package/node_modules/zod/v4/core/util.js +156 -143
  686. package/node_modules/zod/v4/core/versions.cjs +21 -2
  687. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  688. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  689. package/node_modules/zod/v4/core/versions.js +2 -2
  690. package/node_modules/zod/v4/core/visit.cjs +19 -0
  691. package/node_modules/zod/v4/index.cjs +19 -0
  692. package/node_modules/zod/v4/locales/ar.cjs +2 -0
  693. package/node_modules/zod/v4/locales/ar.js +2 -0
  694. package/node_modules/zod/v4/locales/az.cjs +2 -0
  695. package/node_modules/zod/v4/locales/az.js +2 -0
  696. package/node_modules/zod/v4/locales/be.cjs +2 -0
  697. package/node_modules/zod/v4/locales/be.js +2 -0
  698. package/node_modules/zod/v4/locales/bg.cjs +2 -0
  699. package/node_modules/zod/v4/locales/bg.js +2 -0
  700. package/node_modules/zod/v4/locales/bn.cjs +2 -0
  701. package/node_modules/zod/v4/locales/bn.js +2 -0
  702. package/node_modules/zod/v4/locales/ca.cjs +2 -0
  703. package/node_modules/zod/v4/locales/ca.js +2 -0
  704. package/node_modules/zod/v4/locales/ckb.cjs +2 -0
  705. package/node_modules/zod/v4/locales/ckb.js +2 -0
  706. package/node_modules/zod/v4/locales/cs.cjs +2 -0
  707. package/node_modules/zod/v4/locales/cs.js +2 -0
  708. package/node_modules/zod/v4/locales/da.cjs +2 -0
  709. package/node_modules/zod/v4/locales/da.js +2 -0
  710. package/node_modules/zod/v4/locales/de.cjs +2 -0
  711. package/node_modules/zod/v4/locales/de.js +2 -0
  712. package/node_modules/zod/v4/locales/el.cjs +2 -0
  713. package/node_modules/zod/v4/locales/el.js +2 -0
  714. package/node_modules/zod/v4/locales/en.cjs +2 -0
  715. package/node_modules/zod/v4/locales/en.js +2 -0
  716. package/node_modules/zod/v4/locales/eo.cjs +2 -0
  717. package/node_modules/zod/v4/locales/eo.js +2 -0
  718. package/node_modules/zod/v4/locales/es.cjs +2 -0
  719. package/node_modules/zod/v4/locales/es.js +2 -0
  720. package/node_modules/zod/v4/locales/fa.cjs +2 -0
  721. package/node_modules/zod/v4/locales/fa.js +2 -0
  722. package/node_modules/zod/v4/locales/fi.cjs +2 -0
  723. package/node_modules/zod/v4/locales/fi.js +2 -0
  724. package/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
  725. package/node_modules/zod/v4/locales/fr-CA.js +2 -0
  726. package/node_modules/zod/v4/locales/fr.cjs +2 -0
  727. package/node_modules/zod/v4/locales/fr.js +2 -0
  728. package/node_modules/zod/v4/locales/gu.cjs +2 -0
  729. package/node_modules/zod/v4/locales/gu.js +2 -0
  730. package/node_modules/zod/v4/locales/he.cjs +2 -0
  731. package/node_modules/zod/v4/locales/he.js +2 -0
  732. package/node_modules/zod/v4/locales/hi.cjs +2 -0
  733. package/node_modules/zod/v4/locales/hi.js +2 -0
  734. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  735. package/node_modules/zod/v4/locales/hr.js +2 -0
  736. package/node_modules/zod/v4/locales/hu.cjs +2 -0
  737. package/node_modules/zod/v4/locales/hu.js +2 -0
  738. package/node_modules/zod/v4/locales/hy.cjs +2 -0
  739. package/node_modules/zod/v4/locales/hy.js +2 -0
  740. package/node_modules/zod/v4/locales/id.cjs +2 -0
  741. package/node_modules/zod/v4/locales/id.js +2 -0
  742. package/node_modules/zod/v4/locales/index.cjs +22 -1
  743. package/node_modules/zod/v4/locales/index.d.cts +1 -0
  744. package/node_modules/zod/v4/locales/index.d.ts +1 -0
  745. package/node_modules/zod/v4/locales/index.js +1 -0
  746. package/node_modules/zod/v4/locales/is.cjs +2 -0
  747. package/node_modules/zod/v4/locales/is.js +2 -0
  748. package/node_modules/zod/v4/locales/it.cjs +2 -0
  749. package/node_modules/zod/v4/locales/it.js +2 -0
  750. package/node_modules/zod/v4/locales/ja.cjs +2 -0
  751. package/node_modules/zod/v4/locales/ja.js +2 -0
  752. package/node_modules/zod/v4/locales/ka.cjs +2 -0
  753. package/node_modules/zod/v4/locales/ka.js +2 -0
  754. package/node_modules/zod/v4/locales/km.cjs +2 -0
  755. package/node_modules/zod/v4/locales/km.js +2 -0
  756. package/node_modules/zod/v4/locales/kn.cjs +2 -0
  757. package/node_modules/zod/v4/locales/kn.js +2 -0
  758. package/node_modules/zod/v4/locales/ko.cjs +2 -0
  759. package/node_modules/zod/v4/locales/ko.js +2 -0
  760. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  761. package/node_modules/zod/v4/locales/lt.js +2 -0
  762. package/node_modules/zod/v4/locales/mk.cjs +2 -0
  763. package/node_modules/zod/v4/locales/mk.js +2 -0
  764. package/node_modules/zod/v4/locales/ms.cjs +2 -0
  765. package/node_modules/zod/v4/locales/ms.js +2 -0
  766. package/node_modules/zod/v4/locales/ne.cjs +2 -0
  767. package/node_modules/zod/v4/locales/ne.js +2 -0
  768. package/node_modules/zod/v4/locales/nl.cjs +2 -0
  769. package/node_modules/zod/v4/locales/nl.js +2 -0
  770. package/node_modules/zod/v4/locales/nn.cjs +2 -0
  771. package/node_modules/zod/v4/locales/nn.js +2 -0
  772. package/node_modules/zod/v4/locales/no.cjs +2 -0
  773. package/node_modules/zod/v4/locales/no.js +2 -0
  774. package/node_modules/zod/v4/locales/ota.cjs +2 -0
  775. package/node_modules/zod/v4/locales/ota.js +2 -0
  776. package/node_modules/zod/v4/locales/pl.cjs +2 -0
  777. package/node_modules/zod/v4/locales/pl.js +2 -0
  778. package/node_modules/zod/v4/locales/ps.cjs +2 -0
  779. package/node_modules/zod/v4/locales/ps.js +2 -0
  780. package/node_modules/zod/v4/locales/pt-BR.cjs +2 -0
  781. package/node_modules/zod/v4/locales/pt-BR.js +2 -0
  782. package/node_modules/zod/v4/locales/pt.cjs +2 -0
  783. package/node_modules/zod/v4/locales/pt.js +2 -0
  784. package/node_modules/zod/v4/locales/ro.cjs +2 -0
  785. package/node_modules/zod/v4/locales/ro.js +2 -0
  786. package/node_modules/zod/v4/locales/ru.cjs +2 -0
  787. package/node_modules/zod/v4/locales/ru.js +2 -0
  788. package/node_modules/zod/v4/locales/sk.cjs +2 -0
  789. package/node_modules/zod/v4/locales/sk.js +2 -0
  790. package/node_modules/zod/v4/locales/sl.cjs +2 -0
  791. package/node_modules/zod/v4/locales/sl.js +2 -0
  792. package/node_modules/zod/v4/locales/sv.cjs +2 -0
  793. package/node_modules/zod/v4/locales/sv.js +2 -0
  794. package/node_modules/zod/v4/locales/ta.cjs +2 -0
  795. package/node_modules/zod/v4/locales/ta.js +2 -0
  796. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  797. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  798. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  799. package/node_modules/zod/v4/locales/tg.js +117 -0
  800. package/node_modules/zod/v4/locales/th.cjs +2 -0
  801. package/node_modules/zod/v4/locales/th.js +2 -0
  802. package/node_modules/zod/v4/locales/tk.cjs +2 -0
  803. package/node_modules/zod/v4/locales/tk.js +2 -0
  804. package/node_modules/zod/v4/locales/tr.cjs +2 -0
  805. package/node_modules/zod/v4/locales/tr.js +2 -0
  806. package/node_modules/zod/v4/locales/uk.cjs +2 -0
  807. package/node_modules/zod/v4/locales/uk.js +2 -0
  808. package/node_modules/zod/v4/locales/ur.cjs +2 -0
  809. package/node_modules/zod/v4/locales/ur.js +2 -0
  810. package/node_modules/zod/v4/locales/uz.cjs +2 -0
  811. package/node_modules/zod/v4/locales/uz.js +2 -0
  812. package/node_modules/zod/v4/locales/vi.cjs +2 -0
  813. package/node_modules/zod/v4/locales/vi.js +2 -0
  814. package/node_modules/zod/v4/locales/yo.cjs +2 -0
  815. package/node_modules/zod/v4/locales/yo.js +2 -0
  816. package/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
  817. package/node_modules/zod/v4/locales/zh-CN.js +2 -0
  818. package/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
  819. package/node_modules/zod/v4/locales/zh-TW.js +2 -0
  820. package/node_modules/zod/v4/mini/checks.cjs +19 -0
  821. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  822. package/node_modules/zod/v4/mini/deep-partial.cjs +19 -0
  823. package/node_modules/zod/v4/mini/external.cjs +22 -1
  824. package/node_modules/zod/v4/mini/external.d.cts +1 -1
  825. package/node_modules/zod/v4/mini/external.d.ts +1 -1
  826. package/node_modules/zod/v4/mini/external.js +1 -1
  827. package/node_modules/zod/v4/mini/in-out.cjs +19 -0
  828. package/node_modules/zod/v4/mini/index.cjs +19 -0
  829. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  830. package/node_modules/zod/v4/mini/parse.cjs +19 -0
  831. package/node_modules/zod/v4/mini/schemas.cjs +44 -8
  832. package/node_modules/zod/v4/mini/schemas.d.cts +6 -1
  833. package/node_modules/zod/v4/mini/schemas.d.ts +6 -1
  834. package/node_modules/zod/v4/mini/schemas.js +21 -6
  835. package/node_modules/zod/v4-mini/index.cjs +19 -0
  836. package/openclaw.plugin.json +4 -2
  837. package/package.json +6 -6
@@ -1,6 +1,5 @@
1
1
  import { EditHistoryEntry, EditHistoryState, EditorLineAnnotation, EditorSelection, EditorType, ResolvedTextEdit } from "./types.js";
2
2
  import { TextDocument } from "./textDocument.js";
3
-
4
3
  //#region src/editor/editStack.d.ts
5
4
  type EditStackEntry<EType extends EditorType, LAnnotation = unknown> = EditHistoryEntry<EType, LAnnotation>;
6
5
  /** Options for the edit stack. */
@@ -1 +1 @@
1
- {"version":3,"file":"editStack.d.ts","names":[],"sources":["../../src/editor/editStack.ts"],"mappings":";;;;KAkBY,cAAA,eACI,UAAA,2BAEZ,gBAAA,CAAiB,KAAA,EAAO,WAAA;;UAIX,gBAAA;EAPS;EASxB,UAAU;AAAA;;cAIC,SAAA,eAAwB,UAAA;EAAA;EAMnC,WAAA,CAAY,OAAA,GAAU,gBAAA;EAAA,IAOlB,OAAA;EAAA,IAIA,OAAA;EA7BU;EAkCd,QAAA,IAAY,gBAAA,CAAiB,KAAA,EAAO,WAAA;EAhClC;EA0CF,YAAA,IAAgB,gBAAA,CAAiB,KAAA,EAAO,WAAA;EA1Cd;EAAA,OAmEnB,SAAA,eAAwB,UAAA,eAC7B,KAAA,EAAO,gBAAA,CAAiB,KAAA,EAAO,WAAA,IAC9B,SAAA,CAAU,KAAA,EAAO,WAAA;EArEiB;EAgFrC,KAAA;EA5E+B;EAmF/B,SAAA;EAjFU;EAsFV,IAAA,CAAK,KAAA,EAAO,cAAA,CAAe,KAAA,EAAO,WAAA;EAlFvB;EA4FX,0BAAA,CAA2B,UAAA,EAAY,eAAA;EA5FnB;EAsGpB,0BAAA,CACE,qBAAA,EAAuB,oBAAA,CAAqB,KAAA,EAAO,WAAA,KACnD,oBAAA,EAAsB,oBAAA,CAAqB,KAAA,EAAO,WAAA;EAlG9B;EA4GtB,QAAA,IAAY,cAAA,CAAe,KAAA,EAAO,WAAA;EA5FE;EAiGpC,qBAAA,IAAyB,cAAA,CAAe,KAAA,EAAO,WAAA;EAvFd;EA4FjC,eAAA,CAAgB,KAAA,EAAO,cAAA,CAAe,KAAA,EAAO,WAAA;EA5F7B;EAuGhB,aAAA,IAAiB,cAAA,CAAe,KAAA,EAAO,WAAA;EA7Eb;EAuF1B,aAAA,IAAiB,cAAA,CAAe,KAAA,EAAO,WAAA;AAAA;AAAA,iBA8CzB,oBAAA,eAAmC,UAAA,eACjD,YAAA,EAAc,YAAA,CAAa,KAAA,EAAO,WAAA,GAClC,aAAA,EAAe,gBAAA,IACf,aAAA,UACA,YAAA,UACA,gBAAA,GAAmB,eAAA,IACnB,eAAA,GAAkB,eAAA,IAClB,qBAAA,GAAwB,oBAAA,CAAqB,KAAA,EAAO,WAAA,KACpD,oBAAA,GAAuB,oBAAA,CAAqB,KAAA,EAAO,WAAA,MAClD,cAAA,CAAe,KAAA,EAAO,WAAA;;;;;;iBAmET,4BAAA,eACA,UAAA,eAGd,aAAA,EAAe,cAAA,CAAe,KAAA,EAAO,WAAA,eACrC,SAAA,EAAW,cAAA,CAAe,KAAA,EAAO,WAAA;;iBA8FnB,wBAAA,eAAuC,UAAA,eACrD,aAAA,EAAe,cAAA,CAAe,KAAA,EAAO,WAAA,GACrC,SAAA,EAAW,cAAA,CAAe,KAAA,EAAO,WAAA,IAChC,cAAA,CAAe,KAAA,EAAO,WAAA"}
1
+ {"version":3,"file":"editStack.d.ts","names":[],"sources":["../../src/editor/editStack.ts"],"mappings":";;;KAkBY,eACV,cAAc,YACd,yBACE,iBAAiB,OAAO;;UAIX;;EAEf;;;cAIW,UAAU,cAAc,YAAY;;EAM/C,YAAY,UAAU;MAOlB;MAIA;;EAKJ,YAAY,iBAAiB,OAAO;;EAUpC,gBAAgB,iBAAiB,OAAO;;SAyBjC,UAAU,cAAc,YAAY,aACzC,OAAO,iBAAiB,OAAO,eAC9B,UAAU,OAAO;;EAWpB;;EAOA;;EAKA,KAAK,OAAO,eAAe,OAAO;;EAUlC,2BAA2B,YAAY;;EAUvC,2BACE,uBAAuB,qBAAqB,OAAO,gBACnD,sBAAsB,qBAAqB,OAAO;;EAUpD,YAAY,eAAe,OAAO;;EAKlC,yBAAyB,eAAe,OAAO;;EAK/C,gBAAgB,OAAO,eAAe,OAAO;;EAW7C,iBAAiB,eAAe,OAAO;;EAUvC,iBAAiB,eAAe,OAAO;;iBA8CzB,qBAAqB,cAAc,YAAY,aAC7D,cAAc,aAAa,OAAO,cAClC,eAAe,oBACf,uBACA,sBACA,mBAAmB,mBACnB,kBAAkB,mBAClB,wBAAwB,qBAAqB,OAAO,gBACpD,uBAAuB,qBAAqB,OAAO,iBAClD,eAAe,OAAO;;;;;;iBAmET,6BACd,cAAc,YACd,aAEA,eAAe,eAAe,OAAO,0BACrC,WAAW,eAAe,OAAO;;iBA8FnB,yBAAyB,cAAc,YAAY,aACjE,eAAe,eAAe,OAAO,cACrC,WAAW,eAAe,OAAO,eAChC,eAAe,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"editStack.js","names":["#maxEntries","#undoStack","#redoStack","#canCoalesce"],"sources":["../../src/editor/editStack.ts"],"sourcesContent":["import type { TextDocument } from './textDocument';\nimport type {\n EditHistoryCoalescingMode,\n EditHistoryEntry,\n EditHistoryState,\n EditorLineAnnotation,\n EditorSelection,\n EditorType,\n ResolvedTextEdit,\n} from './types';\n\n/** Largest number of undo or redo entries kept; oldest entries drop first once exceeded. */\nconst DEFAULT_EDIT_STACK_MAX_ENTRIES = 100;\n\nconst COALESCING_MODE_INSERT = 'insert';\nconst COALESCING_MODE_BACKSPACE = 'backspace';\nconst COALESCING_MODE_DELETE = 'delete';\n\nexport type EditStackEntry<\n EType extends EditorType,\n LAnnotation = unknown,\n> = EditHistoryEntry<EType, LAnnotation>;\ntype EditStackCoalescingMode = EditHistoryCoalescingMode;\n\n/** Options for the edit stack. */\nexport interface EditStackOptions {\n /** The maximum number of entries to keep in the undo stack. */\n maxEntries?: number;\n}\n\n/** A stack of edit entries. */\nexport class EditStack<EType extends EditorType, LAnnotation = unknown> {\n #undoStack: EditStackEntry<EType, LAnnotation>[] = [];\n #redoStack: EditStackEntry<EType, LAnnotation>[] = [];\n #maxEntries: number;\n #canCoalesce = false;\n\n constructor(options?: EditStackOptions) {\n this.#maxEntries = Math.max(\n 1,\n options?.maxEntries ?? DEFAULT_EDIT_STACK_MAX_ENTRIES\n );\n }\n\n get canUndo(): boolean {\n return this.#undoStack.length > 0;\n }\n\n get canRedo(): boolean {\n return this.#redoStack.length > 0;\n }\n\n /** Return an independent, developer-editable history snapshot. */\n getState(): EditHistoryState<EType, LAnnotation> {\n return {\n undoStack: this.#undoStack.map(cloneEditStackEntryForState),\n redoStack: this.#redoStack.map(cloneEditStackEntryForState),\n maxEntries: this.#maxEntries,\n canCoalesce: this.#canCoalesce,\n };\n }\n\n /** Return a live view over this stack without copying its entries. */\n getLiveState(): EditHistoryState<EType, LAnnotation> {\n return Object.defineProperties(\n {},\n {\n undoStack: {\n enumerable: true,\n get: () => this.#undoStack,\n },\n redoStack: {\n enumerable: true,\n get: () => this.#redoStack,\n },\n maxEntries: {\n enumerable: true,\n get: () => this.#maxEntries,\n },\n canCoalesce: {\n enumerable: true,\n get: () => this.#canCoalesce,\n },\n }\n ) as EditHistoryState<EType, LAnnotation>;\n }\n\n /** Transfer developer-owned history into an edit stack. */\n static fromState<EType extends EditorType, LAnnotation>(\n state: EditHistoryState<EType, LAnnotation>\n ): EditStack<EType, LAnnotation> {\n const stack = new EditStack<EType, LAnnotation>({\n maxEntries: state.maxEntries,\n });\n stack.#undoStack = state.undoStack;\n stack.#redoStack = state.redoStack;\n stack.#canCoalesce = state.canCoalesce;\n return stack;\n }\n\n /** Clears both the undo and redo stacks. */\n clear(): void {\n this.#undoStack.length = 0;\n this.#redoStack.length = 0;\n this.#canCoalesce = false;\n }\n\n /** Clears the redo stack. */\n clearRedo(): void {\n this.#redoStack.length = 0;\n }\n\n /** Pushes a new entry onto the undo stack. */\n push(entry: EditStackEntry<EType, LAnnotation>): void {\n this.#undoStack.push(entry);\n this.clearRedo();\n this.#canCoalesce = true;\n if (this.#undoStack.length > this.#maxEntries) {\n this.#undoStack.shift();\n }\n }\n\n /** Sets the selections after the last undo entry. */\n setLastUndoSelectionsAfter(selections: EditorSelection[]): void {\n const lastEntry = this.#undoStack[this.#undoStack.length - 1];\n if (lastEntry !== undefined) {\n lastEntry.selectionsAfter = selections.map((selection) => ({\n ...selection,\n }));\n }\n }\n\n /** Sets the line annotations after the last undo entry. */\n setLastUndoLineAnnotations(\n lineAnnotationsBefore: EditorLineAnnotation<EType, LAnnotation>[],\n lineAnnotationsAfter: EditorLineAnnotation<EType, LAnnotation>[]\n ): void {\n const lastEntry = this.#undoStack[this.#undoStack.length - 1];\n if (lastEntry !== undefined) {\n lastEntry.lineAnnotationsBefore = lineAnnotationsBefore.slice();\n lastEntry.lineAnnotationsAfter = lineAnnotationsAfter.slice();\n }\n }\n\n /** Returns the last undo entry, or `undefined` if empty. */\n peekUndo(): EditStackEntry<EType, LAnnotation> | undefined {\n return this.#undoStack[this.#undoStack.length - 1];\n }\n\n /** Returns the last undo entry only while its coalescing group is open. */\n peekUndoForCoalescing(): EditStackEntry<EType, LAnnotation> | undefined {\n return this.#canCoalesce ? this.peekUndo() : undefined;\n }\n\n /** Replaces the last undo entry with the given entry. */\n replaceLastUndo(entry: EditStackEntry<EType, LAnnotation>): void {\n if (this.#undoStack.length === 0) {\n this.push(entry);\n return;\n }\n this.#undoStack[this.#undoStack.length - 1] = entry;\n this.clearRedo();\n this.#canCoalesce = true;\n }\n\n /** Moves the latest undo entry to the redo stack and returns it, or `undefined` if empty. */\n popUndoToRedo(): EditStackEntry<EType, LAnnotation> | void {\n const entry = this.#undoStack.pop();\n if (entry !== undefined) {\n this.#redoStack.push(entry);\n this.#canCoalesce = false;\n return entry;\n }\n }\n\n /** Moves the latest redo entry back to the undo stack and returns it, or `undefined` if empty. */\n popRedoToUndo(): EditStackEntry<EType, LAnnotation> | void {\n const entry = this.#redoStack.pop();\n if (entry !== undefined) {\n this.#undoStack.push(entry);\n this.#canCoalesce = false;\n return entry;\n }\n }\n}\n\nfunction cloneEditStackEntry<EType extends EditorType, LAnnotation>(\n entry: EditStackEntry<EType, LAnnotation>\n): EditStackEntry<EType, LAnnotation> {\n return {\n ...entry,\n forwardEdits: entry.forwardEdits.map((edit) => ({ ...edit })),\n inverseEdits: entry.inverseEdits.map((edit) => ({ ...edit })),\n selectionsBefore: entry.selectionsBefore?.map(cloneSelection),\n selectionsAfter: entry.selectionsAfter?.map(cloneSelection),\n lineAnnotationsBefore: entry.lineAnnotationsBefore?.slice(),\n lineAnnotationsAfter: entry.lineAnnotationsAfter?.slice(),\n };\n}\n\nfunction cloneEditStackEntryForState<EType extends EditorType, LAnnotation>(\n entry: EditStackEntry<EType, LAnnotation>\n): EditStackEntry<EType, LAnnotation> {\n return {\n ...cloneEditStackEntry(entry),\n lineAnnotationsBefore: entry.lineAnnotationsBefore?.map((annotation) => ({\n ...annotation,\n })),\n lineAnnotationsAfter: entry.lineAnnotationsAfter?.map((annotation) => ({\n ...annotation,\n })),\n };\n}\n\nfunction cloneSelection(selection: EditorSelection): EditorSelection {\n return {\n ...selection,\n start: { ...selection.start },\n end: { ...selection.end },\n };\n}\n\nexport function createEditStackEntry<EType extends EditorType, LAnnotation>(\n textDocument: TextDocument<EType, LAnnotation>,\n resolvedEdits: ResolvedTextEdit[],\n versionBefore: number,\n versionAfter: number,\n selectionsBefore?: EditorSelection[],\n selectionsAfter?: EditorSelection[],\n lineAnnotationsBefore?: EditorLineAnnotation<EType, LAnnotation>[],\n lineAnnotationsAfter?: EditorLineAnnotation<EType, LAnnotation>[]\n): EditStackEntry<EType, LAnnotation> {\n const forwardEdits = [...resolvedEdits].sort((a, b) => a.start - b.start);\n const inverseEdits: ResolvedTextEdit[] = [];\n let coalescingMode: EditStackCoalescingMode | undefined;\n if (selectionsBefore?.length === forwardEdits.length) {\n const caretOffsets: number[] = [];\n for (const selection of selectionsBefore) {\n if (\n selection.start.line !== selection.end.line ||\n selection.start.character !== selection.end.character\n ) {\n break;\n }\n caretOffsets.push(textDocument.offsetAt(selection.start));\n }\n if (caretOffsets.length === forwardEdits.length) {\n caretOffsets.sort((a, b) => a - b);\n let isBackspace = true;\n let isDelete = true;\n for (let i = 0; i < forwardEdits.length; i++) {\n const edit = forwardEdits[i];\n if (edit.text.length > 0 || edit.start === edit.end) {\n isBackspace = false;\n isDelete = false;\n break;\n }\n isBackspace &&= caretOffsets[i] === edit.end;\n isDelete &&= caretOffsets[i] === edit.start;\n }\n coalescingMode = isBackspace\n ? COALESCING_MODE_BACKSPACE\n : isDelete\n ? COALESCING_MODE_DELETE\n : undefined;\n }\n }\n for (let i = 0, offsetDelta = 0; i < forwardEdits.length; i++) {\n const edit = forwardEdits[i];\n const replacedText = textDocument.getTextSlice(edit.start, edit.end);\n const startAfterEdit = edit.start + offsetDelta;\n inverseEdits.push({\n start: startAfterEdit,\n end: startAfterEdit + edit.text.length,\n text: replacedText,\n });\n offsetDelta += edit.text.length - (edit.end - edit.start);\n }\n return {\n forwardEdits: forwardEdits.map((edit) => ({ ...edit })),\n inverseEdits: inverseEdits,\n versionBefore,\n versionAfter,\n selectionsBefore: selectionsBefore?.map((selection) => ({\n ...selection,\n })),\n selectionsAfter: selectionsAfter?.map((selection) => ({ ...selection })),\n lineAnnotationsBefore: lineAnnotationsBefore?.slice(),\n lineAnnotationsAfter: lineAnnotationsAfter?.slice(),\n coalescingMode,\n };\n}\n\n/** Determines if the change matches following modes:\n * - 'insert': simple typing\n * - 'backspace': backward delete\n * - 'delete': forward delete\n */\nexport function shouldCoalesceEditStackEntry<\n EType extends EditorType,\n LAnnotation,\n>(\n previousEntry: EditStackEntry<EType, LAnnotation> | undefined,\n nextEntry: EditStackEntry<EType, LAnnotation>\n): boolean {\n if (\n previousEntry === undefined ||\n previousEntry.undoBoundary === true ||\n nextEntry.undoBoundary === true ||\n previousEntry.forwardEdits.length === 0 ||\n previousEntry.forwardEdits.length !== previousEntry.inverseEdits.length ||\n previousEntry.forwardEdits.length !== nextEntry.forwardEdits.length ||\n nextEntry.forwardEdits.length !== nextEntry.inverseEdits.length\n ) {\n return false;\n }\n let mode: EditStackCoalescingMode | undefined;\n for (let i = 0; i < previousEntry.forwardEdits.length; i++) {\n const previousForward = previousEntry.forwardEdits[i];\n const previousInverse = previousEntry.inverseEdits[i];\n const nextForward = nextEntry.forwardEdits[i];\n const nextInverse = nextEntry.inverseEdits[i];\n const mappedNextStart = mapOffsetAfterForwardBatchToBefore(\n nextForward.start,\n previousEntry.forwardEdits\n );\n const previousWasInsert =\n previousForward.start <= previousForward.end &&\n previousForward.text.length > 0 &&\n !previousForward.text.includes('\\n') &&\n !previousInverse.text.includes('\\n');\n const nextIsInsert =\n nextForward.start === nextForward.end &&\n nextForward.text.length > 0 &&\n !nextForward.text.includes('\\n') &&\n nextInverse.text.length === 0;\n if (previousWasInsert && nextIsInsert) {\n // Merge only when the next insert starts exactly where the previous\n // inserted text ends, in after-edit offsets. `previousInverse.end` marks\n // that point, since undo replaces exactly the inserted range. A\n // base-offset check can't tell this apart from a caret that jumped to the\n // left edge: both edges of a pure insert map back to the same base offset,\n // so typing \"a\" then \"b\" at the left edge would merge as \"ab\" while the\n // buffer holds \"ba\", corrupting redo.\n if (nextForward.start !== previousInverse.end) {\n return false;\n }\n mode ??= COALESCING_MODE_INSERT;\n if (\n mode !== COALESCING_MODE_INSERT ||\n (previousEntry.coalescingMode !== undefined &&\n previousEntry.coalescingMode !== COALESCING_MODE_INSERT) ||\n (nextEntry.coalescingMode !== undefined &&\n nextEntry.coalescingMode !== COALESCING_MODE_INSERT)\n ) {\n return false;\n }\n continue;\n }\n const previousWasDelete =\n previousForward.text.length === 0 &&\n previousForward.end > previousForward.start &&\n previousInverse.text.length > 0;\n const nextIsDelete =\n nextForward.text.length === 0 &&\n nextForward.end > nextForward.start &&\n nextInverse.text.length > 0;\n if (previousWasDelete && nextIsDelete) {\n let nextMode: EditStackCoalescingMode;\n if (mappedNextStart === previousForward.end) {\n nextMode = COALESCING_MODE_DELETE;\n } else if (\n mappedNextStart + (nextForward.end - nextForward.start) !==\n previousForward.start\n ) {\n return false;\n } else {\n nextMode = COALESCING_MODE_BACKSPACE;\n }\n mode ??= nextMode;\n if (\n mode !== nextMode ||\n (previousEntry.coalescingMode !== undefined &&\n previousEntry.coalescingMode !== nextMode) ||\n (nextEntry.coalescingMode !== undefined &&\n nextEntry.coalescingMode !== nextMode)\n ) {\n return false;\n }\n continue;\n }\n return false;\n }\n return mode !== undefined;\n}\n\n/** Coalesce edit stack entries for simple typing and single-character deletes. */\nexport function coalesceEditStackEntries<EType extends EditorType, LAnnotation>(\n previousEntry: EditStackEntry<EType, LAnnotation>,\n nextEntry: EditStackEntry<EType, LAnnotation>\n): EditStackEntry<EType, LAnnotation> {\n const forwardEdits: ResolvedTextEdit[] = [];\n const replacedTexts: string[] = [];\n let coalescingMode: EditStackCoalescingMode | undefined;\n for (let i = 0; i < previousEntry.forwardEdits.length; i++) {\n const previousForward = previousEntry.forwardEdits[i];\n const previousInverse = previousEntry.inverseEdits[i];\n const nextForward = nextEntry.forwardEdits[i];\n const nextInverse = nextEntry.inverseEdits[i];\n const mappedNextStart = mapOffsetAfterForwardBatchToBefore(\n nextForward.start,\n previousEntry.forwardEdits\n );\n\n if (previousForward.text.length > 0) {\n coalescingMode ??= COALESCING_MODE_INSERT;\n forwardEdits.push({\n start: previousForward.start,\n end: previousForward.end,\n text: previousForward.text + nextForward.text,\n });\n replacedTexts.push(previousInverse.text);\n continue;\n }\n\n if (mappedNextStart === previousForward.end) {\n coalescingMode ??= COALESCING_MODE_DELETE;\n forwardEdits.push({\n start: previousForward.start,\n end: mappedNextStart + (nextForward.end - nextForward.start),\n text: '',\n });\n replacedTexts.push(previousInverse.text + nextInverse.text);\n continue;\n }\n\n coalescingMode ??= COALESCING_MODE_BACKSPACE;\n forwardEdits.push({\n start: Math.min(previousForward.start, mappedNextStart),\n end: previousForward.end,\n text: '',\n });\n replacedTexts.push(nextInverse.text + previousInverse.text);\n }\n\n return {\n forwardEdits,\n inverseEdits: buildInverseEditsFromReplacedTexts(\n forwardEdits,\n replacedTexts\n ),\n versionBefore: previousEntry.versionBefore,\n versionAfter: nextEntry.versionAfter,\n selectionsBefore: previousEntry.selectionsBefore?.slice(),\n selectionsAfter: nextEntry.selectionsAfter?.slice(),\n lineAnnotationsBefore: previousEntry.lineAnnotationsBefore?.slice(),\n lineAnnotationsAfter: nextEntry.lineAnnotationsAfter?.slice(),\n coalescingMode,\n };\n}\n\nfunction buildInverseEditsFromReplacedTexts(\n forwardEdits: readonly ResolvedTextEdit[],\n replacedTexts: readonly string[]\n): ResolvedTextEdit[] {\n const inverseEdits: ResolvedTextEdit[] = [];\n for (let i = 0, offsetDelta = 0; i < forwardEdits.length; i++) {\n const edit = forwardEdits[i];\n const startAfterEdit = edit.start + offsetDelta;\n inverseEdits.push({\n start: startAfterEdit,\n end: startAfterEdit + edit.text.length,\n text: replacedTexts[i],\n });\n offsetDelta += edit.text.length - (edit.end - edit.start);\n }\n return inverseEdits;\n}\n\nfunction mapOffsetAfterForwardBatchToBefore(\n offsetAfter: number,\n forwardEdits: readonly ResolvedTextEdit[]\n): number {\n let offset = offsetAfter;\n for (const edit of forwardEdits) {\n const oldLength = edit.end - edit.start;\n const newLength = edit.text.length;\n const delta = newLength - oldLength;\n if (offset < edit.start) {\n continue;\n }\n if (offset >= edit.start + newLength) {\n offset -= delta;\n continue;\n }\n offset = edit.start + Math.min(offset - edit.start, oldLength);\n }\n return offset;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"editStack.js","names":[],"sources":["../../src/editor/editStack.ts"],"sourcesContent":["import type { TextDocument } from './textDocument';\nimport type {\n EditHistoryCoalescingMode,\n EditHistoryEntry,\n EditHistoryState,\n EditorLineAnnotation,\n EditorSelection,\n EditorType,\n ResolvedTextEdit,\n} from './types';\n\n/** Largest number of undo or redo entries kept; oldest entries drop first once exceeded. */\nconst DEFAULT_EDIT_STACK_MAX_ENTRIES = 100;\n\nconst COALESCING_MODE_INSERT = 'insert';\nconst COALESCING_MODE_BACKSPACE = 'backspace';\nconst COALESCING_MODE_DELETE = 'delete';\n\nexport type EditStackEntry<\n EType extends EditorType,\n LAnnotation = unknown,\n> = EditHistoryEntry<EType, LAnnotation>;\ntype EditStackCoalescingMode = EditHistoryCoalescingMode;\n\n/** Options for the edit stack. */\nexport interface EditStackOptions {\n /** The maximum number of entries to keep in the undo stack. */\n maxEntries?: number;\n}\n\n/** A stack of edit entries. */\nexport class EditStack<EType extends EditorType, LAnnotation = unknown> {\n #undoStack: EditStackEntry<EType, LAnnotation>[] = [];\n #redoStack: EditStackEntry<EType, LAnnotation>[] = [];\n #maxEntries: number;\n #canCoalesce = false;\n\n constructor(options?: EditStackOptions) {\n this.#maxEntries = Math.max(\n 1,\n options?.maxEntries ?? DEFAULT_EDIT_STACK_MAX_ENTRIES\n );\n }\n\n get canUndo(): boolean {\n return this.#undoStack.length > 0;\n }\n\n get canRedo(): boolean {\n return this.#redoStack.length > 0;\n }\n\n /** Return an independent, developer-editable history snapshot. */\n getState(): EditHistoryState<EType, LAnnotation> {\n return {\n undoStack: this.#undoStack.map(cloneEditStackEntryForState),\n redoStack: this.#redoStack.map(cloneEditStackEntryForState),\n maxEntries: this.#maxEntries,\n canCoalesce: this.#canCoalesce,\n };\n }\n\n /** Return a live view over this stack without copying its entries. */\n getLiveState(): EditHistoryState<EType, LAnnotation> {\n return Object.defineProperties(\n {},\n {\n undoStack: {\n enumerable: true,\n get: () => this.#undoStack,\n },\n redoStack: {\n enumerable: true,\n get: () => this.#redoStack,\n },\n maxEntries: {\n enumerable: true,\n get: () => this.#maxEntries,\n },\n canCoalesce: {\n enumerable: true,\n get: () => this.#canCoalesce,\n },\n }\n ) as EditHistoryState<EType, LAnnotation>;\n }\n\n /** Transfer developer-owned history into an edit stack. */\n static fromState<EType extends EditorType, LAnnotation>(\n state: EditHistoryState<EType, LAnnotation>\n ): EditStack<EType, LAnnotation> {\n const stack = new EditStack<EType, LAnnotation>({\n maxEntries: state.maxEntries,\n });\n stack.#undoStack = state.undoStack;\n stack.#redoStack = state.redoStack;\n stack.#canCoalesce = state.canCoalesce;\n return stack;\n }\n\n /** Clears both the undo and redo stacks. */\n clear(): void {\n this.#undoStack.length = 0;\n this.#redoStack.length = 0;\n this.#canCoalesce = false;\n }\n\n /** Clears the redo stack. */\n clearRedo(): void {\n this.#redoStack.length = 0;\n }\n\n /** Pushes a new entry onto the undo stack. */\n push(entry: EditStackEntry<EType, LAnnotation>): void {\n this.#undoStack.push(entry);\n this.clearRedo();\n this.#canCoalesce = true;\n if (this.#undoStack.length > this.#maxEntries) {\n this.#undoStack.shift();\n }\n }\n\n /** Sets the selections after the last undo entry. */\n setLastUndoSelectionsAfter(selections: EditorSelection[]): void {\n const lastEntry = this.#undoStack[this.#undoStack.length - 1];\n if (lastEntry !== undefined) {\n lastEntry.selectionsAfter = selections.map((selection) => ({\n ...selection,\n }));\n }\n }\n\n /** Sets the line annotations after the last undo entry. */\n setLastUndoLineAnnotations(\n lineAnnotationsBefore: EditorLineAnnotation<EType, LAnnotation>[],\n lineAnnotationsAfter: EditorLineAnnotation<EType, LAnnotation>[]\n ): void {\n const lastEntry = this.#undoStack[this.#undoStack.length - 1];\n if (lastEntry !== undefined) {\n lastEntry.lineAnnotationsBefore = lineAnnotationsBefore.slice();\n lastEntry.lineAnnotationsAfter = lineAnnotationsAfter.slice();\n }\n }\n\n /** Returns the last undo entry, or `undefined` if empty. */\n peekUndo(): EditStackEntry<EType, LAnnotation> | undefined {\n return this.#undoStack[this.#undoStack.length - 1];\n }\n\n /** Returns the last undo entry only while its coalescing group is open. */\n peekUndoForCoalescing(): EditStackEntry<EType, LAnnotation> | undefined {\n return this.#canCoalesce ? this.peekUndo() : undefined;\n }\n\n /** Replaces the last undo entry with the given entry. */\n replaceLastUndo(entry: EditStackEntry<EType, LAnnotation>): void {\n if (this.#undoStack.length === 0) {\n this.push(entry);\n return;\n }\n this.#undoStack[this.#undoStack.length - 1] = entry;\n this.clearRedo();\n this.#canCoalesce = true;\n }\n\n /** Moves the latest undo entry to the redo stack and returns it, or `undefined` if empty. */\n popUndoToRedo(): EditStackEntry<EType, LAnnotation> | void {\n const entry = this.#undoStack.pop();\n if (entry !== undefined) {\n this.#redoStack.push(entry);\n this.#canCoalesce = false;\n return entry;\n }\n }\n\n /** Moves the latest redo entry back to the undo stack and returns it, or `undefined` if empty. */\n popRedoToUndo(): EditStackEntry<EType, LAnnotation> | void {\n const entry = this.#redoStack.pop();\n if (entry !== undefined) {\n this.#undoStack.push(entry);\n this.#canCoalesce = false;\n return entry;\n }\n }\n}\n\nfunction cloneEditStackEntry<EType extends EditorType, LAnnotation>(\n entry: EditStackEntry<EType, LAnnotation>\n): EditStackEntry<EType, LAnnotation> {\n return {\n ...entry,\n forwardEdits: entry.forwardEdits.map((edit) => ({ ...edit })),\n inverseEdits: entry.inverseEdits.map((edit) => ({ ...edit })),\n selectionsBefore: entry.selectionsBefore?.map(cloneSelection),\n selectionsAfter: entry.selectionsAfter?.map(cloneSelection),\n lineAnnotationsBefore: entry.lineAnnotationsBefore?.slice(),\n lineAnnotationsAfter: entry.lineAnnotationsAfter?.slice(),\n };\n}\n\nfunction cloneEditStackEntryForState<EType extends EditorType, LAnnotation>(\n entry: EditStackEntry<EType, LAnnotation>\n): EditStackEntry<EType, LAnnotation> {\n return {\n ...cloneEditStackEntry(entry),\n lineAnnotationsBefore: entry.lineAnnotationsBefore?.map((annotation) => ({\n ...annotation,\n })),\n lineAnnotationsAfter: entry.lineAnnotationsAfter?.map((annotation) => ({\n ...annotation,\n })),\n };\n}\n\nfunction cloneSelection(selection: EditorSelection): EditorSelection {\n return {\n ...selection,\n start: { ...selection.start },\n end: { ...selection.end },\n };\n}\n\nexport function createEditStackEntry<EType extends EditorType, LAnnotation>(\n textDocument: TextDocument<EType, LAnnotation>,\n resolvedEdits: ResolvedTextEdit[],\n versionBefore: number,\n versionAfter: number,\n selectionsBefore?: EditorSelection[],\n selectionsAfter?: EditorSelection[],\n lineAnnotationsBefore?: EditorLineAnnotation<EType, LAnnotation>[],\n lineAnnotationsAfter?: EditorLineAnnotation<EType, LAnnotation>[]\n): EditStackEntry<EType, LAnnotation> {\n const forwardEdits = [...resolvedEdits].sort((a, b) => a.start - b.start);\n const inverseEdits: ResolvedTextEdit[] = [];\n let coalescingMode: EditStackCoalescingMode | undefined;\n if (selectionsBefore?.length === forwardEdits.length) {\n const caretOffsets: number[] = [];\n for (const selection of selectionsBefore) {\n if (\n selection.start.line !== selection.end.line ||\n selection.start.character !== selection.end.character\n ) {\n break;\n }\n caretOffsets.push(textDocument.offsetAt(selection.start));\n }\n if (caretOffsets.length === forwardEdits.length) {\n caretOffsets.sort((a, b) => a - b);\n let isBackspace = true;\n let isDelete = true;\n for (let i = 0; i < forwardEdits.length; i++) {\n const edit = forwardEdits[i];\n if (edit.text.length > 0 || edit.start === edit.end) {\n isBackspace = false;\n isDelete = false;\n break;\n }\n isBackspace &&= caretOffsets[i] === edit.end;\n isDelete &&= caretOffsets[i] === edit.start;\n }\n coalescingMode = isBackspace\n ? COALESCING_MODE_BACKSPACE\n : isDelete\n ? COALESCING_MODE_DELETE\n : undefined;\n }\n }\n for (let i = 0, offsetDelta = 0; i < forwardEdits.length; i++) {\n const edit = forwardEdits[i];\n const replacedText = textDocument.getTextSlice(edit.start, edit.end);\n const startAfterEdit = edit.start + offsetDelta;\n inverseEdits.push({\n start: startAfterEdit,\n end: startAfterEdit + edit.text.length,\n text: replacedText,\n });\n offsetDelta += edit.text.length - (edit.end - edit.start);\n }\n return {\n forwardEdits: forwardEdits.map((edit) => ({ ...edit })),\n inverseEdits: inverseEdits,\n versionBefore,\n versionAfter,\n selectionsBefore: selectionsBefore?.map((selection) => ({\n ...selection,\n })),\n selectionsAfter: selectionsAfter?.map((selection) => ({ ...selection })),\n lineAnnotationsBefore: lineAnnotationsBefore?.slice(),\n lineAnnotationsAfter: lineAnnotationsAfter?.slice(),\n coalescingMode,\n };\n}\n\n/** Determines if the change matches following modes:\n * - 'insert': simple typing\n * - 'backspace': backward delete\n * - 'delete': forward delete\n */\nexport function shouldCoalesceEditStackEntry<\n EType extends EditorType,\n LAnnotation,\n>(\n previousEntry: EditStackEntry<EType, LAnnotation> | undefined,\n nextEntry: EditStackEntry<EType, LAnnotation>\n): boolean {\n if (\n previousEntry === undefined ||\n previousEntry.undoBoundary === true ||\n nextEntry.undoBoundary === true ||\n previousEntry.forwardEdits.length === 0 ||\n previousEntry.forwardEdits.length !== previousEntry.inverseEdits.length ||\n previousEntry.forwardEdits.length !== nextEntry.forwardEdits.length ||\n nextEntry.forwardEdits.length !== nextEntry.inverseEdits.length\n ) {\n return false;\n }\n let mode: EditStackCoalescingMode | undefined;\n for (let i = 0; i < previousEntry.forwardEdits.length; i++) {\n const previousForward = previousEntry.forwardEdits[i];\n const previousInverse = previousEntry.inverseEdits[i];\n const nextForward = nextEntry.forwardEdits[i];\n const nextInverse = nextEntry.inverseEdits[i];\n const mappedNextStart = mapOffsetAfterForwardBatchToBefore(\n nextForward.start,\n previousEntry.forwardEdits\n );\n const previousWasInsert =\n previousForward.start <= previousForward.end &&\n previousForward.text.length > 0 &&\n !previousForward.text.includes('\\n') &&\n !previousInverse.text.includes('\\n');\n const nextIsInsert =\n nextForward.start === nextForward.end &&\n nextForward.text.length > 0 &&\n !nextForward.text.includes('\\n') &&\n nextInverse.text.length === 0;\n if (previousWasInsert && nextIsInsert) {\n // Merge only when the next insert starts exactly where the previous\n // inserted text ends, in after-edit offsets. `previousInverse.end` marks\n // that point, since undo replaces exactly the inserted range. A\n // base-offset check can't tell this apart from a caret that jumped to the\n // left edge: both edges of a pure insert map back to the same base offset,\n // so typing \"a\" then \"b\" at the left edge would merge as \"ab\" while the\n // buffer holds \"ba\", corrupting redo.\n if (nextForward.start !== previousInverse.end) {\n return false;\n }\n mode ??= COALESCING_MODE_INSERT;\n if (\n mode !== COALESCING_MODE_INSERT ||\n (previousEntry.coalescingMode !== undefined &&\n previousEntry.coalescingMode !== COALESCING_MODE_INSERT) ||\n (nextEntry.coalescingMode !== undefined &&\n nextEntry.coalescingMode !== COALESCING_MODE_INSERT)\n ) {\n return false;\n }\n continue;\n }\n const previousWasDelete =\n previousForward.text.length === 0 &&\n previousForward.end > previousForward.start &&\n previousInverse.text.length > 0;\n const nextIsDelete =\n nextForward.text.length === 0 &&\n nextForward.end > nextForward.start &&\n nextInverse.text.length > 0;\n if (previousWasDelete && nextIsDelete) {\n let nextMode: EditStackCoalescingMode;\n if (mappedNextStart === previousForward.end) {\n nextMode = COALESCING_MODE_DELETE;\n } else if (\n mappedNextStart + (nextForward.end - nextForward.start) !==\n previousForward.start\n ) {\n return false;\n } else {\n nextMode = COALESCING_MODE_BACKSPACE;\n }\n mode ??= nextMode;\n if (\n mode !== nextMode ||\n (previousEntry.coalescingMode !== undefined &&\n previousEntry.coalescingMode !== nextMode) ||\n (nextEntry.coalescingMode !== undefined &&\n nextEntry.coalescingMode !== nextMode)\n ) {\n return false;\n }\n continue;\n }\n return false;\n }\n return mode !== undefined;\n}\n\n/** Coalesce edit stack entries for simple typing and single-character deletes. */\nexport function coalesceEditStackEntries<EType extends EditorType, LAnnotation>(\n previousEntry: EditStackEntry<EType, LAnnotation>,\n nextEntry: EditStackEntry<EType, LAnnotation>\n): EditStackEntry<EType, LAnnotation> {\n const forwardEdits: ResolvedTextEdit[] = [];\n const replacedTexts: string[] = [];\n let coalescingMode: EditStackCoalescingMode | undefined;\n for (let i = 0; i < previousEntry.forwardEdits.length; i++) {\n const previousForward = previousEntry.forwardEdits[i];\n const previousInverse = previousEntry.inverseEdits[i];\n const nextForward = nextEntry.forwardEdits[i];\n const nextInverse = nextEntry.inverseEdits[i];\n const mappedNextStart = mapOffsetAfterForwardBatchToBefore(\n nextForward.start,\n previousEntry.forwardEdits\n );\n\n if (previousForward.text.length > 0) {\n coalescingMode ??= COALESCING_MODE_INSERT;\n forwardEdits.push({\n start: previousForward.start,\n end: previousForward.end,\n text: previousForward.text + nextForward.text,\n });\n replacedTexts.push(previousInverse.text);\n continue;\n }\n\n if (mappedNextStart === previousForward.end) {\n coalescingMode ??= COALESCING_MODE_DELETE;\n forwardEdits.push({\n start: previousForward.start,\n end: mappedNextStart + (nextForward.end - nextForward.start),\n text: '',\n });\n replacedTexts.push(previousInverse.text + nextInverse.text);\n continue;\n }\n\n coalescingMode ??= COALESCING_MODE_BACKSPACE;\n forwardEdits.push({\n start: Math.min(previousForward.start, mappedNextStart),\n end: previousForward.end,\n text: '',\n });\n replacedTexts.push(nextInverse.text + previousInverse.text);\n }\n\n return {\n forwardEdits,\n inverseEdits: buildInverseEditsFromReplacedTexts(\n forwardEdits,\n replacedTexts\n ),\n versionBefore: previousEntry.versionBefore,\n versionAfter: nextEntry.versionAfter,\n selectionsBefore: previousEntry.selectionsBefore?.slice(),\n selectionsAfter: nextEntry.selectionsAfter?.slice(),\n lineAnnotationsBefore: previousEntry.lineAnnotationsBefore?.slice(),\n lineAnnotationsAfter: nextEntry.lineAnnotationsAfter?.slice(),\n coalescingMode,\n };\n}\n\nfunction buildInverseEditsFromReplacedTexts(\n forwardEdits: readonly ResolvedTextEdit[],\n replacedTexts: readonly string[]\n): ResolvedTextEdit[] {\n const inverseEdits: ResolvedTextEdit[] = [];\n for (let i = 0, offsetDelta = 0; i < forwardEdits.length; i++) {\n const edit = forwardEdits[i];\n const startAfterEdit = edit.start + offsetDelta;\n inverseEdits.push({\n start: startAfterEdit,\n end: startAfterEdit + edit.text.length,\n text: replacedTexts[i],\n });\n offsetDelta += edit.text.length - (edit.end - edit.start);\n }\n return inverseEdits;\n}\n\nfunction mapOffsetAfterForwardBatchToBefore(\n offsetAfter: number,\n forwardEdits: readonly ResolvedTextEdit[]\n): number {\n let offset = offsetAfter;\n for (const edit of forwardEdits) {\n const oldLength = edit.end - edit.start;\n const newLength = edit.text.length;\n const delta = newLength - oldLength;\n if (offset < edit.start) {\n continue;\n }\n if (offset >= edit.start + newLength) {\n offset -= delta;\n continue;\n }\n offset = edit.start + Math.min(offset - edit.start, oldLength);\n }\n return offset;\n}\n"],"mappings":"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"}
@@ -8,7 +8,6 @@ import { LanguageConfigMap } from "./languages.js";
8
8
  import { Marker } from "./marker.js";
9
9
  import { AutoSurround } from "./selection.js";
10
10
  import { SelectionActionContext } from "./selectionAction.js";
11
-
12
11
  //#region src/editor/editor.d.ts
13
12
  interface SyncRenderViewBaseProps {
14
13
  highlighter: DiffsHighlighter;
@@ -180,10 +179,7 @@ declare class Editor<EType extends EditorType = EditorType, LAnnotation = undefi
180
179
  * no complete session exists.
181
180
  */
182
181
  getEditState(): EditState<EType, LAnnotation> | undefined;
183
- setViewState({
184
- selections,
185
- view
186
- }: EditorViewState): void;
182
+ setViewState({ selections, view }: EditorViewState): void;
187
183
  setSelections(selections: (Range & {
188
184
  direction: 'none' | 'backward' | 'forward';
189
185
  })[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","names":[],"sources":["../../src/editor/editor.ts"],"mappings":"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"}
1
+ {"version":3,"file":"editor.d.ts","names":[],"sources":["../../src/editor/editor.ts"],"mappings":";;;;;;;;;;;UAwOU;EACR,aAAa;EACb,eAAe;EACf,aAAa;;EAEb;;UAGQ,wBAAwB,qBAAqB;EACrD,MAAM;EACN,iBAAiB,eAAe;;EAEhC;;UAGQ,wBAAwB,qBAAqB;EACrD,UAAU;EACV,iBAAiB,mBAAmB;;EAEpC;;KAGG,oBACH,cAAc,YACd,eACE,uBACA,wBAAwB,eACxB,wBAAwB;KAEvB,gBACH,cAAc,YACd,aACA,SACE,uBACA,KAAK,aAAa,SAClB,SAAS,aAAa;UAkBT,cAAc,cAAc,YAAY,aAAa;;EAEpE;;;;;;EAMA;;;;;;EAMA,eAAe,mBAAmB,OAAO;;EAEzC,SAAS;;EAET;;EAEA;;;;;EAKA,eAAe;;EAEf,wBAAwB;;;;;EAKxB;;;;EAIA;;;;;;;IAOE;;;;IAIA,UAAU;;;;;;IAMV,6BAA6B;;;;;;IAM7B,6BAA6B;;;;;;;EAO/B;IACE,WAAW,kBAAkB;;;EAG/B,yBACE,SAAS,uBAAuB,OAAO,iBACpC;;;;EAIL,eAAe,OAAO,YAAY,WAAW;;EAE7C,YACE,QAAQ,OAAO,OAAO,aAAa,QACnC,cAAc,gBAAgB,OAAO,aAAa;;;;;;EAOpD,YAAY,OAAO,kBAAkB,OAAO,aAAa;;;;;;EAMzD,cACE,OAAO,wBAAwB,OAAO,aAAa;;EAGrD;;EAEA;EAEA;;UAGe,2BAA2B;;EAE1C;;EAEA;;EAEA;;cAiDW,OACX,cAAc,aAAa,YAC3B,yBACA;;WAqMkB,MAAM;;;;;;;EADxB,YACkB,MAAM,OACtB,UAAS,cAAc,OAAO,aAAa,QAC3C;EAkBF,WAAW,SAAS,cAAc,OAAO,aAAa;EAmBtD,mBACE,OAAO,wBAAwB,OAAO,aAAa;;EAMrD,sBAAsB;EAItB,UAAU,QAAQ,YAAY;EA4B9B,KAAK,UAAU,gBAAgB,OAAO,aAAa,QACjD,cAAc;aAAqB;cAAoC;;;;;;;;;;;EA8HzE,WAAW,OAAO,YAAY;;MAmE1B;;MAOA;;EAOJ;;EAKA;EAIA,WAAW;EAeX;;EAKA,gBAAgB;;;;;EA6BhB,gBAAgB,UAAU,OAAO;EAcjC,eAAe,YAAY,QAAQ;EA2BnC,cACE,aAAa;IAAU;;EAoCzB,WAAW,SAAS;EA8BpB,MAAM,UAAU;EAuChB;EAiBA,QAAQ;;EAwJR;;EAWA;;EAeA,sBAAsB,eAAe,eAAe;;EAoBpD,6BAA6B;;EAQ7B,iBAAiB,OAAO,oBAAoB,OAAO"}
@@ -64,7 +64,7 @@ const MAX_EDIT_WIDEN_WINDOW_MULTIPLE = 2;
64
64
  const MAX_WRAP_OFFSETS_CACHE_LINES = 1e4;
65
65
  const EDIT_PREDICTION_DEBOUNCE_MS = 300;
66
66
  const MAX_EDIT_PREDICTION_RESPONSE_EDITS = 256;
67
- const MAX_EDIT_PREDICTION_RESPONSE_BYTES = 128 * 1024;
67
+ const MAX_EDIT_PREDICTION_RESPONSE_BYTES = 131072;
68
68
  const editPredictionTextEncoder = new TextEncoder();
69
69
  const SELECTION_ACTION_POPOVER_PLACEMENT_KEY = "selection-action";
70
70
  const MULTI_SELECTION_CLIPBOARD_TYPE = "application/vnd.pierre.diffs-selections+json";
@@ -290,8 +290,10 @@ var Editor = class {
290
290
  } catch (error) {
291
291
  this.cleanUp("recycle");
292
292
  if (editSession.type === "file-diff" && editSession.diffSession == null) editSession.diffSession = previousDiffSession;
293
- if (this.#detach == null && editStateKey != null) if (editor.type === "file") EditStateManager.releaseFile(editStateKey, editor);
294
- else EditStateManager.releaseFileDiff(editStateKey, editor);
293
+ if (this.#detach == null && editStateKey != null) {
294
+ if (editor.type === "file") EditStateManager.releaseFile(editStateKey, editor);
295
+ else EditStateManager.releaseFileDiff(editStateKey, editor);
296
+ }
295
297
  this.#editSession = previousSession;
296
298
  if (this.#detach == null) {
297
299
  this.#fileInstance = void 0;
@@ -642,10 +644,13 @@ var Editor = class {
642
644
  for (const child of el.children) {
643
645
  if (!(child instanceof HTMLElement)) continue;
644
646
  const { gutter, content } = child.dataset;
645
- if (gutter != null) if (isDeletions) deletionsGutterEl = child;
646
- else gutterEl = child;
647
- else if (content != null) if (isDeletions) deletionsContentEl = child;
648
- else contentEl = child;
647
+ if (gutter != null) {
648
+ if (isDeletions) deletionsGutterEl = child;
649
+ else gutterEl = child;
650
+ } else if (content != null) {
651
+ if (isDeletions) deletionsContentEl = child;
652
+ else contentEl = child;
653
+ }
649
654
  }
650
655
  }
651
656
  if (deletionsContentEl == null) this.#deletionsColumn = void 0;
@@ -969,9 +974,10 @@ var Editor = class {
969
974
  this.#updateSelections([extendSelection(primarySelection, selection)]);
970
975
  return;
971
976
  }
972
- if (this.#isContentMouseDown) if (this.#selectionStart !== void 0) selection = createSelectionFrom(this.#selectionStart, selection);
973
- else this.#selectionStart = selection;
974
- else if (this.#selectionStart !== void 0) selection.direction = createSelectionFrom(this.#selectionStart, selection).direction;
977
+ if (this.#isContentMouseDown) {
978
+ if (this.#selectionStart !== void 0) selection = createSelectionFrom(this.#selectionStart, selection);
979
+ else this.#selectionStart = selection;
980
+ } else if (this.#selectionStart !== void 0) selection.direction = createSelectionFrom(this.#selectionStart, selection).direction;
975
981
  else if (this.#selections !== void 0 && this.#selections.length === 1) {
976
982
  const previous = this.#selections[0];
977
983
  if (comparePosition(previous.start, selection.start) === 0 && comparePosition(previous.end, selection.end) === 0) selection.direction = previous.direction;
@@ -1522,9 +1528,7 @@ var Editor = class {
1522
1528
  }
1523
1529
  break;
1524
1530
  case "undo":
1525
- case "redo":
1526
- this.#applyHistoryChange(command);
1527
- break;
1531
+ case "redo": this.#applyHistoryChange(command);
1528
1532
  }
1529
1533
  }
1530
1534
  #applyHistoryChange(command) {
@@ -1925,9 +1929,7 @@ var Editor = class {
1925
1929
  case "insertTranspose":
1926
1930
  this.#insertTranspose();
1927
1931
  break;
1928
- default:
1929
- console.warn(`[diffs] Unknown input type: ${inputType}`, data);
1930
- break;
1932
+ default: console.warn(`[diffs] Unknown input type: ${inputType}`, data);
1931
1933
  }
1932
1934
  }
1933
1935
  #focus(position, preventScroll = true, shouldFocus) {
@@ -3077,9 +3079,11 @@ var Editor = class {
3077
3079
  const [left, wrapLine] = this.#getCharX(line, character);
3078
3080
  const cacheKey = "caret-" + line + "/" + wrapLine + ":" + character;
3079
3081
  if (renderCtx.elements.has(cacheKey)) return;
3082
+ const x = left - 1;
3083
+ const y = this.#getLineY(line) + wrapLine * this.#metrics.lineHeight;
3080
3084
  const caretEl = h("div", {
3081
3085
  dataset: "caret",
3082
- style: { transform: `translateX(${left - 1}px) translateY(${this.#getLineY(line) + wrapLine * this.#metrics.lineHeight}px)` }
3086
+ style: { transform: `translateX(${x}px) translateY(${y}px)` }
3083
3087
  }, renderCtx.fragment);
3084
3088
  renderCtx.elements.set(cacheKey, caretEl);
3085
3089
  if (isPrimary) {
@@ -3337,7 +3341,7 @@ var Editor = class {
3337
3341
  const selections = this.#selections;
3338
3342
  const textDocument = this.#editSession?.document;
3339
3343
  if (selections === void 0 || textDocument === void 0) return;
3340
- const { nextSelections, change } = applyDeleteSoftLineBackwardToSelections(textDocument, selections, this.#isWrap ? (line, character) => {
3344
+ const getSoftLineStart = this.#isWrap ? (line, character) => {
3341
3345
  const wrapOffsets = this.#wrapLineTextOrWholeLine(line);
3342
3346
  for (let w = 0; w + 1 < wrapOffsets.length; w++) {
3343
3347
  const segmentStart = wrapOffsets[w];
@@ -3345,7 +3349,8 @@ var Editor = class {
3345
3349
  if (character >= segmentStart && character <= segmentEnd) return segmentStart;
3346
3350
  }
3347
3351
  return 0;
3348
- } : void 0, this.#lineAnnotations);
3352
+ } : void 0;
3353
+ const { nextSelections, change } = applyDeleteSoftLineBackwardToSelections(textDocument, selections, getSoftLineStart, this.#lineAnnotations);
3349
3354
  if (change !== void 0) this.#applyChange(change, nextSelections, this.#applyChangeToLineAnnotations(change));
3350
3355
  }
3351
3356
  #deleteWordBackward() {