@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,7 +1,15 @@
1
- import { expect, test } from "vitest";
1
+ import { expect, expectTypeOf, test } from "vitest";
2
2
 
3
3
  import * as z from "../../index.js";
4
- import { ZodCompileAsyncError, ZodCompileUnsupportedError, compile } from "../compile.js";
4
+ import {
5
+ INVALID,
6
+ ZodCompileAsyncError,
7
+ ZodCompileUnsupportedError,
8
+ compile,
9
+ compileFn,
10
+ withParser,
11
+ } from "../compile.js";
12
+ import { $ZodAsyncError } from "../core.js";
5
13
 
6
14
  // Differential helper: assert compiled schema matches the original on a value.
7
15
  function expectMatch(schema: z.ZodType, value: unknown) {
@@ -1350,6 +1358,29 @@ test("runtime island inside array element", () => {
1350
1358
  invalid(aot, ["a", true]);
1351
1359
  });
1352
1360
 
1361
+ test("an island thrown from inside an indented block leaves the indent level alone", () => {
1362
+ // nullable opens an indented block, coerce throws inside it, and the property islands the pair — two of them so a leak compounds
1363
+ const schema = z.object({ a: z.coerce.number().nullable(), b: z.coerce.number().nullable(), tail: z.string() });
1364
+ expect(compileFn(schema, { debug: true }).code).toMatchInlineSnapshot(`
1365
+ "// Constants: INVALID, c0, c1, c2
1366
+ if (typeof input !== "object" || input === null || Array.isArray(input)) return INVALID;
1367
+ const v0 = input["a"];
1368
+ if (!("a" in input)) return INVALID;
1369
+ const v1 = c1(c0, v0);
1370
+ if (v1 === INVALID) return INVALID;
1371
+ const v2 = input["b"];
1372
+ if (!("b" in input)) return INVALID;
1373
+ const v3 = c1(c2, v2);
1374
+ if (v3 === INVALID) return INVALID;
1375
+ const v4 = input["tail"];
1376
+ if (typeof v4 !== "string") return INVALID;
1377
+ const v5 = { "a": v1, "b": v3, "tail": v4 };
1378
+ return v5;"
1379
+ `);
1380
+ expectMatch(schema, { a: "1", b: null, tail: "x" });
1381
+ expectMatch(schema, { a: "nope", b: null, tail: "x" });
1382
+ });
1383
+
1353
1384
  test("url string-format check never assigns to its accessor", () => {
1354
1385
  // const accessor (array element): previously emitted `elem = normalized`,
1355
1386
  // a TypeError on valid input.
@@ -1417,6 +1448,26 @@ test("xor and custom when-gated checks force runtime fallback", () => {
1417
1448
  expectMatch(z.object({ n: gated }), { n: 3 }); // runtime skips the gated check
1418
1449
  });
1419
1450
 
1451
+ test("compiled parse surfaces the interpreter's throws through the fallback", () => {
1452
+ // an unmergeable intersection bails to INVALID, and the fallback it hands to raises the interpreter's own error
1453
+ const unmergeable = compile(
1454
+ z.intersection(
1455
+ z.number(),
1456
+ z.number().transform((x) => x + 1)
1457
+ ),
1458
+ { strict: true }
1459
+ );
1460
+ expect(() => unmergeable.parse(1234)).toThrowErrorMatchingInlineSnapshot(
1461
+ `[Error: Unmergable intersection. Error path: []]`
1462
+ );
1463
+
1464
+ // a when-gated check islands at codegen, and the island's INVALID for an async run reaches the same fallback
1465
+ const gated = z.number().refine(() => Promise.resolve(true));
1466
+ (gated._zod.def.checks![0]!._zod.def as { when?: unknown }).when = () => true;
1467
+ const compiled = compile(z.object({ n: gated }), { strict: true });
1468
+ expect(() => compiled.parse({ n: 3 })).toThrow($ZodAsyncError);
1469
+ });
1470
+
1420
1471
  test("strict objects reject inherited enumerable keys like the runtime", () => {
1421
1472
  const schema = z.strictObject({ a: z.string() });
1422
1473
  expectMatch(schema, Object.assign(Object.create({ extra: 1 }), { a: "x" }));
@@ -1637,3 +1688,349 @@ test("strict is per-call, so a supported schema compiles either way", () => {
1637
1688
  invalid(aot, { a: 1, b: 1 });
1638
1689
  }
1639
1690
  });
1691
+
1692
+ test("compiled records walk own enumerable keys without Reflect.ownKeys", () => {
1693
+ // a getOwnPropertyNames snapshot plus a per-key recheck sees the same keys as the runtime's Reflect.ownKeys walk: inherited enumerables are skipped, symbols fail a string key schema but pass a symbol one, and the numeric-string retry still applies
1694
+ const sym = Symbol("s");
1695
+ const bare = compile(z.record(z.string(), z.number()));
1696
+ const inherited = Object.assign(Object.create({ proto: 1 }), { a: 1 });
1697
+ expect(bare.parse(inherited)).toEqual({ a: 1 });
1698
+ const symbolic = { a: 1, [sym]: 2 };
1699
+ expect(bare.safeParse(symbolic).error!.issues).toEqual(
1700
+ z.record(z.string(), z.number()).safeParse(symbolic).error!.issues
1701
+ );
1702
+ expect(bare.safeParse({ a: 1, b: "x" }).error!.issues).toEqual(
1703
+ z.record(z.string(), z.number()).safeParse({ a: 1, b: "x" }).error!.issues
1704
+ );
1705
+ const symKeys = compile(z.record(z.symbol(), z.number()));
1706
+ expect(symKeys.parse({ [sym]: 2 })).toEqual({ [sym]: 2 });
1707
+ expect(symKeys.safeParse({ a: 1 }).success).toBe(false);
1708
+ const emailKeys = compile(z.record(z.email(), z.number()));
1709
+ expect(emailKeys.parse({ "a@b.co": 1 })).toEqual({ "a@b.co": 1 });
1710
+ expect(emailKeys.safeParse({ "a@b.co": 1, [sym]: 2 }).success).toBe(false);
1711
+ expect(compile(z.record(z.number(), z.string())).parse({ 1: "a" })).toEqual({ 1: "a" });
1712
+ // keys are snapshotted before any value is read and rechecked when visited, like the runtime's Reflect.ownKeys walk: a getter that adds a key mid-walk is not visited, one that hides a later key skips it
1713
+ const mutating = (effect: (o: Record<PropertyKey, unknown>) => void) => {
1714
+ const o: Record<PropertyKey, unknown> = {};
1715
+ Object.defineProperty(o, "a", {
1716
+ enumerable: true,
1717
+ get() {
1718
+ effect(o);
1719
+ return 1;
1720
+ },
1721
+ });
1722
+ o.b = 2;
1723
+ return o;
1724
+ };
1725
+ const both = z.record(z.union([z.string(), z.symbol()]), z.number());
1726
+ for (const [schema, effect] of [
1727
+ [
1728
+ both,
1729
+ (o: Record<PropertyKey, unknown>) => {
1730
+ o[sym] = 2;
1731
+ },
1732
+ ],
1733
+ [
1734
+ z.record(z.string(), z.number()),
1735
+ (o: Record<PropertyKey, unknown>) => {
1736
+ o[sym] = "bad";
1737
+ },
1738
+ ],
1739
+ [
1740
+ z.record(z.string(), z.number()),
1741
+ (o: Record<PropertyKey, unknown>) => {
1742
+ o.z = "bad";
1743
+ },
1744
+ ],
1745
+ [
1746
+ z.record(z.string(), z.number()),
1747
+ (o: Record<PropertyKey, unknown>) => Object.defineProperty(o, "b", { enumerable: false }),
1748
+ ],
1749
+ ] as const) {
1750
+ const expected = schema.safeParse(mutating(effect));
1751
+ const actual = compile(schema).safeParse(mutating(effect));
1752
+ expect(actual.success).toBe(expected.success);
1753
+ if (expected.success)
1754
+ expect(Reflect.ownKeys(actual.data as object)).toEqual(Reflect.ownKeys(expected.data as object));
1755
+ else expect(actual.error!.issues).toEqual(expected.error!.issues);
1756
+ }
1757
+ // a getter that defines an own key under an inherited enumerable name mid-walk: the snapshot predates it, so neither walk visits it, and a union that accepts the record cannot be corrected by a fallback
1758
+ const shadowing = () => {
1759
+ const o = Object.create({ z: 0 });
1760
+ Object.defineProperty(o, "a", {
1761
+ enumerable: true,
1762
+ get() {
1763
+ Object.defineProperty(o, "z", { value: 2, enumerable: true });
1764
+ return 1;
1765
+ },
1766
+ });
1767
+ return o;
1768
+ };
1769
+ const inUnion = z.union([z.record(z.string(), z.number()), z.any()]);
1770
+ expect(compile(inUnion).parse(shadowing())).toStrictEqual(inUnion.parse(shadowing()));
1771
+ expect(compile(inUnion).parse(shadowing())).toStrictEqual({ a: 1 });
1772
+ // a key that is non-enumerable at snapshot time and revealed by an earlier getter is in the snapshot and passes the recheck, like the runtime
1773
+ const revealing = () => {
1774
+ const o: Record<string, unknown> = {};
1775
+ Object.defineProperty(o, "a", {
1776
+ enumerable: true,
1777
+ get() {
1778
+ Object.defineProperty(o, "b", { enumerable: true });
1779
+ return 1;
1780
+ },
1781
+ });
1782
+ Object.defineProperty(o, "b", { value: 2, enumerable: false, configurable: true });
1783
+ return o;
1784
+ };
1785
+ const plain = z.record(z.string(), z.number());
1786
+ expect(compile(plain).parse(revealing())).toStrictEqual(plain.parse(revealing()));
1787
+ expect(compile(plain).parse(revealing())).toStrictEqual({ a: 1, b: 2 });
1788
+ });
1789
+
1790
+ test("validate honors custom checks composed with format traits", () => {
1791
+ const postProcessor = z.core.globalConfig.postProcessor;
1792
+ z.core.globalConfig.postProcessor = undefined;
1793
+ try {
1794
+ const CustomEmail = z.core.$constructor<z.core.$ZodEmail>("CustomEmail", (inst, def) => {
1795
+ inst._zod.check = (payload) => {
1796
+ if (payload.value !== "custom") payload.issues.push({ code: "custom", input: payload.value });
1797
+ };
1798
+ z.core.$ZodEmail.init(inst, def);
1799
+ });
1800
+ const schema = new CustomEmail({ type: "string", format: "email", check: "string_format" });
1801
+ for (const [input, valid] of [
1802
+ ["custom", true],
1803
+ ["test@example.com", false],
1804
+ [42, false],
1805
+ ] as const) {
1806
+ expect(z.safeParse(schema, input).success).toBe(valid);
1807
+ expect(z.validate(schema, input)).toBe(valid);
1808
+ }
1809
+ } finally {
1810
+ z.core.globalConfig.postProcessor = postProcessor;
1811
+ }
1812
+ });
1813
+
1814
+ test("validate honors standalone format checks", () => {
1815
+ const cases = [
1816
+ [z.iso.datetime(), "2021-01-01T00:00:00Z"],
1817
+ [z.iso.date(), "2021-01-01"],
1818
+ [z.iso.time(), "00:00:00"],
1819
+ [z.iso.duration(), "P1Y2M3DT4H5M6S"],
1820
+ [z.email(), "test@example.com"],
1821
+ [z.uuid(), "20354d7a-e4fe-47af-8ff6-187bca92f3f9"],
1822
+ [z.ipv4(), "192.168.0.1"],
1823
+ ] as const;
1824
+
1825
+ for (const [schema, valid] of cases) {
1826
+ expect(schema._zod.traits.has("$ZodStringFormat")).toBe(true);
1827
+ expect(schema instanceof z.core.$ZodStringFormat).toBe(true);
1828
+ expect(z.validate(schema, valid)).toBe(true);
1829
+ expect(z.validate(schema, "invalid")).toBe(false);
1830
+ expect(z.validate(schema, 1)).toBe(false);
1831
+ }
1832
+
1833
+ const source = z.email();
1834
+ const refined = source.refine((value) => value.startsWith("x"));
1835
+ const asyncRefined = source.refine(async () => true);
1836
+ const coercedDef = Object.assign(Object.create({ coerce: true }), source._zod.def);
1837
+ const coerced = source.clone(coercedDef);
1838
+ const checkedDef = Object.assign(Object.create({ checks: refined._zod.def.checks }), source._zod.def);
1839
+ const inheritedChecked = source.clone(checkedDef);
1840
+ expect(z.validate(refined, "test@example.com")).toBe(false);
1841
+ expect(z.validate(refined, "x@example.com")).toBe(true);
1842
+ expect(z.validate(inheritedChecked, "test@example.com")).toBe(false);
1843
+ expect(() => z.validate(asyncRefined, "test@example.com")).toThrow($ZodAsyncError);
1844
+ expect(z.validate(coerced, { toString: () => "test@example.com" })).toBe(true);
1845
+ });
1846
+
1847
+ test("runtime validate preserves contexts, getters, errors, and regex state", () => {
1848
+ const postProcessor = z.core.globalConfig.postProcessor;
1849
+ z.core.globalConfig.postProcessor = undefined;
1850
+ try {
1851
+ const source = z.email();
1852
+ expect(z.validate(source, "invalid", { skipChecks: true } as any)).toBe(true);
1853
+
1854
+ let whenReads = 0;
1855
+ const whenProto = Object.defineProperty({}, "when", {
1856
+ enumerable: true,
1857
+ get() {
1858
+ whenReads++;
1859
+ return () => false;
1860
+ },
1861
+ });
1862
+ const whenDef = Object.assign(Object.create(whenProto), source._zod.def);
1863
+ const gated = source.clone(whenDef as typeof source._zod.def);
1864
+ expect(whenReads).toBe(0);
1865
+ expect(z.validate(gated, "invalid")).toBe(true);
1866
+ expect(whenReads).toBeGreaterThan(0);
1867
+
1868
+ let errorReads = 0;
1869
+ const errorDef = Object.defineProperties({}, Object.getOwnPropertyDescriptors(source._zod.def));
1870
+ Object.defineProperty(errorDef, "error", {
1871
+ enumerable: true,
1872
+ get() {
1873
+ errorReads++;
1874
+ return () => "custom";
1875
+ },
1876
+ });
1877
+ const customError = source.clone(errorDef as typeof source._zod.def);
1878
+ expect(z.validate(customError, "invalid")).toBe(false);
1879
+ expect(errorReads).toBe(0);
1880
+ const result = customError.safeParse("invalid");
1881
+ expect(errorReads).toBe(0);
1882
+ if (result.success) expect.unreachable();
1883
+ expect(result.error.issues[0]?.message).toBe("custom");
1884
+ expect(errorReads).toBeGreaterThan(0);
1885
+
1886
+ const pattern = /^a$/g;
1887
+ const cloned = source.clone({ ...source._zod.def, pattern });
1888
+ for (let i = 0; i < 3; i++) expect(z.validate(cloned, "a")).toBe(true);
1889
+ expect(z.validate(cloned, "b")).toBe(false);
1890
+ expect(pattern.lastIndex).toBe(0);
1891
+ const replacement = /^b$/g;
1892
+ cloned._zod.def.pattern = replacement;
1893
+ expect(z.validate(cloned, "a")).toBe(false);
1894
+ expect(z.validate(cloned, "b")).toBe(true);
1895
+ } finally {
1896
+ z.core.globalConfig.postProcessor = postProcessor;
1897
+ }
1898
+ });
1899
+
1900
+ test("validate preserves live pattern accessor reads", () => {
1901
+ const postProcessor = z.core.globalConfig.postProcessor;
1902
+ z.core.globalConfig.postProcessor = undefined;
1903
+ try {
1904
+ const schema = z.email();
1905
+ let reads = 0;
1906
+ Object.defineProperty(schema.def, "pattern", {
1907
+ get: () => (++reads % 2 === 1 ? /^a$/ : /^b$/),
1908
+ });
1909
+ expect(schema.safeParse("b").success).toBe(true);
1910
+ expect(reads).toBe(2);
1911
+ reads = 0;
1912
+ expect(z.validate(schema, "b")).toBe(true);
1913
+ expect(reads).toBe(2);
1914
+ } finally {
1915
+ z.core.globalConfig.postProcessor = postProcessor;
1916
+ }
1917
+ });
1918
+
1919
+ test.each(["when", "coerce"] as const)("runtime validate honors live %s options", (option) => {
1920
+ const postProcessor = z.core.globalConfig.postProcessor;
1921
+ z.core.globalConfig.postProcessor = undefined;
1922
+ try {
1923
+ for (const inherited of [false, true]) {
1924
+ const schema = z.email();
1925
+ const input = option === "when" ? "invalid" : { toString: () => "test@example.com" };
1926
+ expect(z.validate(schema, input)).toBe(false);
1927
+
1928
+ const target = inherited ? Object.create(Object.getPrototypeOf(schema.def)) : schema.def;
1929
+ let reads = 0;
1930
+ Object.defineProperty(target, option, {
1931
+ get() {
1932
+ reads++;
1933
+ return option === "when" ? () => false : true;
1934
+ },
1935
+ });
1936
+ if (inherited) Object.setPrototypeOf(schema.def, target);
1937
+ expect(reads).toBe(0);
1938
+ expect(z.validate(schema, input)).toBe(true);
1939
+ expect(reads).toBeGreaterThan(0);
1940
+ expect(schema.safeParse(input).success).toBe(true);
1941
+ }
1942
+ } finally {
1943
+ z.core.globalConfig.postProcessor = postProcessor;
1944
+ }
1945
+ });
1946
+
1947
+ test("validate uses compiled validators and runtime fallbacks", () => {
1948
+ const compiled = compile(z.email());
1949
+ expect((compiled._zod.bag as { validator?: unknown }).validator).toBeTypeOf("function");
1950
+ expect(z.validate(compiled, "test@example.com")).toBe(true);
1951
+ expect(z.validate(compiled, "invalid")).toBe(false);
1952
+ expect(z.validate(compiled, "invalid", { skipChecks: true } as any)).toBe(true);
1953
+
1954
+ const source = z.email();
1955
+ const installed = withParser(source, () => INVALID);
1956
+ const bag = installed._zod.bag as { fallbackRun: typeof source._zod.run };
1957
+ const originalRun = bag.fallbackRun;
1958
+ let fallbackRuns = 0;
1959
+ bag.fallbackRun = (payload, ctx) => {
1960
+ fallbackRuns++;
1961
+ return originalRun(payload, ctx);
1962
+ };
1963
+ expect(z.validate(installed, "invalid")).toBe(false);
1964
+ expect(fallbackRuns).toBeGreaterThan(0);
1965
+ });
1966
+
1967
+ // withParser: a parser Zod did not generate, installed on the same wrapper compile() uses.
1968
+
1969
+ // tags its output so a test fails loudly if the runtime ran instead of the supplied parser
1970
+ function taggedParser(input: unknown) {
1971
+ if (typeof input !== "object" || input === null) return INVALID;
1972
+ const o = input as Record<string, unknown>;
1973
+ if (typeof o.a !== "string") return INVALID;
1974
+ return { a: o.a, tag: "supplied" };
1975
+ }
1976
+
1977
+ const withParserSchema = z.object({ a: z.string() });
1978
+
1979
+ test("withParser installs the supplied parser", () => {
1980
+ const installed = withParser(withParserSchema, taggedParser);
1981
+ expect(installed.parse({ a: "x" })).toStrictEqual({ a: "x", tag: "supplied" });
1982
+ // the clone is a new schema; the original keeps the runtime
1983
+ expect(installed).not.toBe(withParserSchema);
1984
+ expect(withParserSchema.parse({ a: "x" })).toStrictEqual({ a: "x" });
1985
+ });
1986
+
1987
+ test("withParser hands INVALID to the runtime and gets a real ZodError", () => {
1988
+ const installed = withParser(withParserSchema, taggedParser);
1989
+ const result = installed.safeParse({ a: 1 });
1990
+ expect(result.success).toBe(false);
1991
+ expect(result.error!.issues).toEqual(withParserSchema.safeParse({ a: 1 }).error!.issues);
1992
+ });
1993
+
1994
+ test("withParser answers validate with the supplied parser", () => {
1995
+ const installed = withParser(withParserSchema, taggedParser);
1996
+ expect(z.validate(installed, { a: "x" })).toBe(true);
1997
+ expect(z.validate(installed, { a: 1 })).toBe(false);
1998
+ });
1999
+
2000
+ test("withParser bypasses the fast path on async, like compile()", async () => {
2001
+ const installed = withParser(withParserSchema, taggedParser);
2002
+ // async runs on the runtime, so the tag is absent
2003
+ await expect(installed.parseAsync({ a: "x" })).resolves.toStrictEqual({ a: "x" });
2004
+ });
2005
+
2006
+ test("withParser reaches a parse it does not own the call site of", () => {
2007
+ const installed = withParser(withParserSchema, taggedParser);
2008
+ // installing on _zod.run rather than wrapping a call site is the whole point: a framework holding the schema gets the supplied parser through Standard Schema, and so does z.parse
2009
+ expect((installed["~standard"].validate({ a: "x" }) as { value: unknown }).value).toStrictEqual({
2010
+ a: "x",
2011
+ tag: "supplied",
2012
+ });
2013
+ expect(z.parse(installed, { a: "x" })).toStrictEqual({ a: "x", tag: "supplied" });
2014
+ });
2015
+
2016
+ test("withParser refuses a recursive schema", () => {
2017
+ type Node = { next: Node | null };
2018
+ const Node: z.ZodType<Node> = z.object({ next: z.lazy(() => z.nullable(Node)) });
2019
+ expect(() => withParser(Node, () => INVALID)).toThrow(ZodCompileUnsupportedError);
2020
+ });
2021
+
2022
+ test("withParser leaves encode on the runtime", () => {
2023
+ const codec = z.codec(z.string(), z.number(), {
2024
+ decode: (s) => Number(s),
2025
+ encode: (n) => String(n),
2026
+ });
2027
+ const installed = withParser(codec, () => INVALID);
2028
+ expect(z.encode(installed, 5)).toBe("5");
2029
+ });
2030
+
2031
+ test("withParser rejects a parser whose output contradicts the schema", () => {
2032
+ // the returned schema still claims T, so a parser that succeeds with something else would make parse() lie about its own type
2033
+ // @ts-expect-error a number is not the output of z.string()
2034
+ withParser(z.string(), () => 123);
2035
+ expectTypeOf(withParser(z.string(), () => "ok")).toEqualTypeOf<z.ZodString>();
2036
+ });
@@ -0,0 +1,140 @@
1
+ import { expect, test } from "vitest";
2
+
3
+ import { regexes } from "zod/v4/core";
4
+
5
+ // the lookahead form `regexes.email` had before this rewrite
6
+ const legacy = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
7
+
8
+ const table: [string, boolean][] = [
9
+ ["a@b.cc", true],
10
+ ["first.last@example.com", true],
11
+ ["a.b.c.d@b.cc", true],
12
+ ["'a@b.cc", true],
13
+ ["a'b@b.cc", true],
14
+ ["a+b@b.cc", true],
15
+ ["a-@b.cc", true],
16
+ ["a_@b.cc", true],
17
+ ["a@0b.cc", true],
18
+ ["a@b.c.dd", true],
19
+ ["a@b-.cc", true],
20
+ [".a@b.cc", false],
21
+ ["a.@b.cc", false],
22
+ ["a..b@b.cc", false],
23
+ ["....@b.cc", false],
24
+ ["a@b..cc", false],
25
+ ["a@.b.cc", false],
26
+ ["a@b.cc.", false],
27
+ ["a'@b.cc", false],
28
+ ["'@b.cc", false],
29
+ ["@b.cc", false],
30
+ ["a@b.c", false],
31
+ ["a@b.c0", false],
32
+ ["a@-b.cc", false],
33
+ ["a@b.cc@d.ee", false],
34
+ ["a b@b.cc", false],
35
+ ["café@b.cc", false],
36
+ ["😀@b.cc", false],
37
+ ["a\0@b.cc", false],
38
+ // `$` is not multiline, so no trailing terminator is tolerated
39
+ ["a@b.cc\n", false],
40
+ ["a@b.cc\r", false],
41
+ ["\na@b.cc", false],
42
+ ];
43
+
44
+ test("boundary cases", () => {
45
+ for (const [input, expected] of table) {
46
+ expect([input, regexes.email.test(input)]).toEqual([input, expected]);
47
+ expect([input, legacy.test(input)]).toEqual([input, expected]);
48
+ }
49
+ });
50
+
51
+ // one representative per character class the two grammars can tell apart
52
+ const classes = ["a", "0", "_", "'", "-", ".", "@", "!", "\n"];
53
+
54
+ test("exhaustive agreement over every string of length <= 6 in the class alphabet", () => {
55
+ const idx: number[] = [];
56
+ let accepted = 0;
57
+ for (let len = 0; len <= 6; len++) {
58
+ idx.length = len;
59
+ idx.fill(0);
60
+ for (;;) {
61
+ let s = "";
62
+ for (let i = 0; i < len; i++) s += classes[idx[i]!];
63
+ const a = legacy.test(s);
64
+ if (a !== regexes.email.test(s)) expect.unreachable(`disagreement on ${JSON.stringify(s)}`);
65
+ if (a) accepted++;
66
+ let p = len - 1;
67
+ while (p >= 0 && ++idx[p]! === classes.length) idx[p--] = 0;
68
+ if (p < 0) break;
69
+ }
70
+ }
71
+ // 4 chars can precede `@`, 2 can open a domain label, 1 is a letter for the TLD
72
+ expect(accepted).toBe(8);
73
+ });
74
+
75
+ function rng(seed: number) {
76
+ let s = seed >>> 0;
77
+ return () => {
78
+ s = (s + 0x6d2b79f5) >>> 0;
79
+ let t = s;
80
+ t = Math.imul(t ^ (t >>> 15), t | 1);
81
+ t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
82
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
83
+ };
84
+ }
85
+
86
+ const local = "abZ09_'+-.".split("");
87
+ const domain = "abZ09-.".split("");
88
+ const hostile = ["@", ".", "..", "...", "\n", "\r", "\0", "\t", " ", '"', "é", "😀", "\\", "<", ";", "/", "{"];
89
+ const any = [...local, ...domain, ...hostile];
90
+
91
+ function fuzz(r: () => number): string {
92
+ const pick = <T>(xs: T[]): T => xs[Math.floor(r() * xs.length)]!;
93
+ const run = (xs: string[], max: number) => {
94
+ let out = "";
95
+ for (let i = Math.floor(r() * max); i > 0; i--) out += pick(xs);
96
+ return out;
97
+ };
98
+ switch (Math.floor(r() * 8)) {
99
+ case 0:
100
+ return run(any, 40);
101
+ case 1:
102
+ return `${run(local, 24)}@${run(domain, 24)}`;
103
+ case 2:
104
+ return `${run(local, 8)}${".".repeat(1 + Math.floor(r() * 6))}${run(local, 8)}@${run(domain, 12)}`;
105
+ case 3:
106
+ return `${run(local, 8)}@${run(domain, 8)}${".".repeat(1 + Math.floor(r() * 6))}${run(domain, 8)}`;
107
+ case 4: {
108
+ // single-character mutation of a valid address
109
+ const base = `${run("abZ09_'+-".split(""), 10)}@example.com`;
110
+ const i = Math.floor(r() * base.length);
111
+ return Math.floor(r() * 3) === 0
112
+ ? base.slice(0, i) + pick(any) + base.slice(i)
113
+ : base.slice(0, i) + (Math.floor(r() * 2) ? pick(any) : "") + base.slice(i + 1);
114
+ }
115
+ case 5:
116
+ return (
117
+ "a".repeat(1 + Math.floor(r() * 60)) +
118
+ ".".repeat(Math.floor(r() * 4)) +
119
+ run(local, 4) +
120
+ (r() < 0.5 ? "@" : "") +
121
+ run(domain, 10)
122
+ );
123
+ case 6:
124
+ return `${run(local, 8)}@${run(domain, 6)}@${run(domain, 8)}`;
125
+ default:
126
+ return pick(["", "\n", " "]) + run(local, 8) + "@example.com" + pick(["", "\n", "\r\n", " ", "\0"]);
127
+ }
128
+ }
129
+
130
+ test("differential fuzz", () => {
131
+ const r = rng(0x5eed);
132
+ let accepted = 0;
133
+ for (let i = 0; i < 25_000; i++) {
134
+ const s = fuzz(r);
135
+ const a = legacy.test(s);
136
+ if (a !== regexes.email.test(s)) expect.unreachable(`disagreement on ${JSON.stringify(s)}`);
137
+ if (a) accepted++;
138
+ }
139
+ expect(accepted).toBeGreaterThan(500);
140
+ });
@@ -0,0 +1,85 @@
1
+ import { expect, test } from "vitest";
2
+ import * as z from "zod/v4";
3
+
4
+ test("locales - tg", () => {
5
+ z.config(z.locales.tg());
6
+
7
+ const invalidType = z.number().safeParse("a");
8
+ expect(invalidType.error!.issues[0].code).toBe("invalid_type");
9
+ expect(invalidType.error!.issues[0].message).toBe("Вуруди нодуруст: рақам интизор мерафт, сатр гирифта шуд");
10
+
11
+ const invalidType2 = z.string().safeParse(1);
12
+ expect(invalidType2.error!.issues[0].code).toBe("invalid_type");
13
+ expect(invalidType2.error!.issues[0].message).toBe("Вуруди нодуруст: сатр интизор мерафт, рақам гирифта шуд");
14
+
15
+ const invalidValue = z.enum(["a", "b"]).safeParse(1);
16
+ expect(invalidValue.error!.issues[0].code).toBe("invalid_value");
17
+ expect(invalidValue.error!.issues[0].message).toBe('Интихоби нодуруст: яке аз "a"|"b" интизор мерафт');
18
+
19
+ const tooBig = z.number().max(10).safeParse(15);
20
+ expect(tooBig.error!.issues[0].code).toBe("too_big");
21
+ expect(tooBig.error!.issues[0].message).toBe("Хеле калон: number бояд <=10 бошад");
22
+
23
+ const tooSmall = z.number().min(10).safeParse(5);
24
+ expect(tooSmall.error!.issues[0].code).toBe("too_small");
25
+ expect(tooSmall.error!.issues[0].message).toBe("Хеле хурд: number бояд >=10 бошад");
26
+
27
+ // singular units after numerals in Tajik
28
+ const tooShort = z.string().min(5).safeParse("hi");
29
+ expect(tooShort.error!.issues[0].message).toBe("Хеле хурд: string бояд >=5 аломат дошта бошад");
30
+
31
+ const tooFewItems = z.array(z.number()).min(2).safeParse([1]);
32
+ expect(tooFewItems.error!.issues[0].message).toBe("Хеле хурд: array бояд >=2 унсур дошта бошад");
33
+
34
+ const invalidEmail = z.string().email().safeParse("nope");
35
+ expect(invalidEmail.error!.issues[0].code).toBe("invalid_format");
36
+ expect(invalidEmail.error!.issues[0].message).toBe("суроғаи email-и нодуруст");
37
+
38
+ const invalidStart = z.string().startsWith("ab").safeParse("xy");
39
+ expect(invalidStart.error!.issues[0].message).toBe('Сатри нодуруст: бояд бо "ab" оғоз шавад');
40
+
41
+ const invalidRegex = z.string().regex(/abcd/).safeParse("xy");
42
+ expect(invalidRegex.error!.issues[0].message).toContain("мувофиқат кунад");
43
+
44
+ const notMultipleOf = z.number().multipleOf(5).safeParse(7);
45
+ expect(notMultipleOf.error!.issues[0].message).toBe("Рақами нодуруст: бояд ба 5 бе бақия тақсим шавад");
46
+
47
+ const oneUnknownKey = z.strictObject({ a: z.string() }).safeParse({ a: "x", b: 1 });
48
+ expect(oneUnknownKey.error!.issues[0].message).toBe('Калиди номаълум: "b"');
49
+
50
+ const twoUnknownKeys = z.strictObject({ a: z.string() }).safeParse({ a: "x", b: 1, c: 2 });
51
+ expect(twoUnknownKeys.error!.issues[0].message).toBe('Калидҳои номаълум: "b", "c"');
52
+
53
+ const cases: [z.ZodType, unknown, string][] = [
54
+ [z.literal("a"), "b", 'Вуруди нодуруст: "a" интизор мерафт'],
55
+ [z.boolean(), null, "Вуруди нодуруст: boolean интизор мерафт, null гирифта шуд"],
56
+ [z.number(), Number.NaN, "Вуруди нодуруст: рақам интизор мерафт, NaN гирифта шуд"],
57
+ [z.number().lt(10), 10, "Хеле калон: number бояд <10 бошад"],
58
+ [z.number().gt(10), 10, "Хеле хурд: number бояд >10 бошад"],
59
+ [z.string().max(1), "ab", "Хеле калон: string бояд <=1 аломат дошта бошад"],
60
+ [z.set(z.string()).min(1), new Set(), "Хеле хурд: set бояд >=1 унсур дошта бошад"],
61
+ [z.map(z.string(), z.number()).min(1), new Map(), "Хеле хурд: map бояд >=1 сабт дошта бошад"],
62
+ [z.file().min(1), new File([], "empty"), "Хеле хурд: file бояд >=1 байт дошта бошад"],
63
+ [z.string().endsWith("ab"), "xy", 'Сатри нодуруст: бояд бо "ab" анҷом ёбад'],
64
+ [z.string().includes("ab"), "xy", 'Сатри нодуруст: бояд "ab"-ро дар бар гирад'],
65
+ [z.stringFormat("custom", () => false), "xy", "custom-и нодуруст"],
66
+ [z.union([z.string(), z.number()]), null, "Вуруди нодуруст"],
67
+ [
68
+ z.discriminatedUnion("kind", [z.object({ kind: z.literal("a") }), z.object({ kind: z.literal("b") })]),
69
+ { kind: "c" },
70
+ "Қимати нодурусти дискриминатор: 'a' | 'b' интизор мерафт",
71
+ ],
72
+ [z.record(z.string().min(2), z.number()), { a: 1 }, "Калиди нодуруст дар record"],
73
+ [z.map(z.string(), z.number()), new Map([[{}, 1]]), "Калиди нодуруст дар map"],
74
+ [z.map(z.object({}), z.number()), new Map([[{}, "a"]]), "Қимати нодуруст дар map"],
75
+ [z.custom(() => false), "a", "Вуруди нодуруст"],
76
+ ];
77
+ for (const [schema, input, message] of cases) {
78
+ expect(schema.safeParse(input).error!.issues[0].message).toBe(message);
79
+ }
80
+
81
+ expect(z.object({ name: z.string().min(1), age: z.number().min(0) }).parse({ name: "Ali", age: 30 })).toEqual({
82
+ name: "Ali",
83
+ age: 30,
84
+ });
85
+ });