@openclaw/diffs 2026.9.3 → 2026.9.5

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 (950) hide show
  1. package/assets/activity.svg +3 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{browser.runtime-DTKAejqd.js → .setup/browser.runtime-VjaO3wrj.mjs} +1 -1
  4. package/dist/assets/viewer-runtime.js +48 -54
  5. package/dist/index.js +4 -4
  6. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +115 -68
  7. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
  8. package/node_modules/@pierre/diffs/dist/components/CodeView.js +189 -59
  9. package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
  10. package/node_modules/@pierre/diffs/dist/components/File.d.ts +79 -15
  11. package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
  12. package/node_modules/@pierre/diffs/dist/components/File.js +244 -66
  13. package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
  14. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +101 -21
  15. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
  16. package/node_modules/@pierre/diffs/dist/components/FileDiff.js +432 -102
  17. package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
  18. package/node_modules/@pierre/diffs/dist/components/FileStream.js +1 -1
  19. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts +2 -2
  20. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts.map +1 -1
  21. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js +2 -2
  22. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js.map +1 -1
  23. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts +17 -7
  24. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
  25. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +142 -53
  26. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
  27. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts +15 -8
  28. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  29. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +186 -96
  30. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
  31. package/node_modules/@pierre/diffs/dist/components/VirtulizerDevelopment.d.ts +1 -1
  32. package/node_modules/@pierre/diffs/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  33. package/node_modules/@pierre/diffs/dist/edit/index.d.ts +7 -4
  34. package/node_modules/@pierre/diffs/dist/edit/index.js +5 -1
  35. package/node_modules/@pierre/diffs/dist/editor/EditStateManager.d.ts +56 -0
  36. package/node_modules/@pierre/diffs/dist/editor/EditStateManager.d.ts.map +1 -0
  37. package/node_modules/@pierre/diffs/dist/editor/EditStateManager.js +135 -0
  38. package/node_modules/@pierre/diffs/dist/editor/EditStateManager.js.map +1 -0
  39. package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts +7 -0
  40. package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts.map +1 -0
  41. package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.js +16 -0
  42. package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.js.map +1 -0
  43. package/node_modules/@pierre/diffs/dist/editor/editPrediction.d.ts +76 -0
  44. package/node_modules/@pierre/diffs/dist/editor/editPrediction.d.ts.map +1 -0
  45. package/node_modules/@pierre/diffs/dist/editor/editPrediction.js +365 -0
  46. package/node_modules/@pierre/diffs/dist/editor/editPrediction.js.map +1 -0
  47. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts +19 -40
  48. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts.map +1 -1
  49. package/node_modules/@pierre/diffs/dist/editor/editStack.js +67 -4
  50. package/node_modules/@pierre/diffs/dist/editor/editStack.js.map +1 -1
  51. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts +118 -29
  52. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -1
  53. package/node_modules/@pierre/diffs/dist/editor/editor.js +1108 -384
  54. package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -1
  55. package/node_modules/@pierre/diffs/dist/editor/editor2.js +1 -1
  56. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts +3 -3
  57. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts.map +1 -1
  58. package/node_modules/@pierre/diffs/dist/editor/languages.js.map +1 -1
  59. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts +3 -3
  60. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts.map +1 -1
  61. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js +16 -7
  62. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js.map +1 -1
  63. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts +2 -2
  64. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts.map +1 -1
  65. package/node_modules/@pierre/diffs/dist/editor/marker.js.map +1 -1
  66. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts +2 -2
  67. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts.map +1 -1
  68. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js.map +1 -1
  69. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts +1 -1
  70. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js.map +1 -1
  71. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts +2 -2
  72. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js +1 -1
  73. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js.map +1 -1
  74. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts +32 -23
  75. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts.map +1 -1
  76. package/node_modules/@pierre/diffs/dist/editor/selection.js +3 -3
  77. package/node_modules/@pierre/diffs/dist/editor/selection.js.map +1 -1
  78. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts +3 -3
  79. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts.map +1 -1
  80. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js.map +1 -1
  81. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts +11 -8
  82. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts.map +1 -1
  83. package/node_modules/@pierre/diffs/dist/editor/textDocument.js +28 -5
  84. package/node_modules/@pierre/diffs/dist/editor/textDocument.js.map +1 -1
  85. package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.d.ts +15 -0
  86. package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.d.ts.map +1 -0
  87. package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.js +12 -0
  88. package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.js.map +1 -0
  89. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts +5 -0
  90. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts.map +1 -1
  91. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js +10 -0
  92. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js.map +1 -1
  93. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts +1 -1
  94. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js.map +1 -1
  95. package/node_modules/@pierre/diffs/dist/editor/types.d.ts +267 -0
  96. package/node_modules/@pierre/diffs/dist/editor/types.d.ts.map +1 -0
  97. package/node_modules/@pierre/diffs/dist/editor/types.js +0 -0
  98. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts +2 -1
  99. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts.map +1 -1
  100. package/node_modules/@pierre/diffs/dist/editor/utils.js +4 -1
  101. package/node_modules/@pierre/diffs/dist/editor/utils.js.map +1 -1
  102. package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.d.ts +6 -2
  103. package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  104. package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js +7 -3
  105. package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js.map +1 -1
  106. package/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.js +1 -1
  107. package/node_modules/@pierre/diffs/dist/index.d.ts +8 -6
  108. package/node_modules/@pierre/diffs/dist/index.js +22 -21
  109. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts.map +1 -1
  110. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js +7 -0
  111. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js.map +1 -1
  112. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts +36 -25
  113. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts.map +1 -1
  114. package/node_modules/@pierre/diffs/dist/react/CodeView.js +15 -14
  115. package/node_modules/@pierre/diffs/dist/react/CodeView.js.map +1 -1
  116. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts +8 -11
  117. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts.map +1 -1
  118. package/node_modules/@pierre/diffs/dist/react/EditContext.js +2 -9
  119. package/node_modules/@pierre/diffs/dist/react/EditContext.js.map +1 -1
  120. package/node_modules/@pierre/diffs/dist/react/File.d.ts +10 -6
  121. package/node_modules/@pierre/diffs/dist/react/File.d.ts.map +1 -1
  122. package/node_modules/@pierre/diffs/dist/react/File.js +8 -4
  123. package/node_modules/@pierre/diffs/dist/react/File.js.map +1 -1
  124. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts +10 -5
  125. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts.map +1 -1
  126. package/node_modules/@pierre/diffs/dist/react/FileDiff.js +8 -4
  127. package/node_modules/@pierre/diffs/dist/react/FileDiff.js.map +1 -1
  128. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts +8 -5
  129. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts.map +1 -1
  130. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js +8 -12
  131. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js.map +1 -1
  132. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts +7 -4
  133. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts.map +1 -1
  134. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js +8 -4
  135. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js.map +1 -1
  136. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts +3 -3
  137. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts.map +1 -1
  138. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js.map +1 -1
  139. package/node_modules/@pierre/diffs/dist/react/index.d.ts +8 -5
  140. package/node_modules/@pierre/diffs/dist/react/types.d.ts +46 -9
  141. package/node_modules/@pierre/diffs/dist/react/types.d.ts.map +1 -1
  142. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts +14 -12
  143. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  144. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js +2 -2
  145. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js.map +1 -1
  146. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts +14 -12
  147. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  148. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js +2 -2
  149. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js.map +1 -1
  150. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts +22 -10
  151. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  152. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +112 -22
  153. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
  154. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts +15 -9
  155. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts.map +1 -1
  156. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js +84 -25
  157. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js.map +1 -1
  158. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts +30 -15
  159. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  160. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +172 -109
  161. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
  162. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts +27 -11
  163. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
  164. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +141 -67
  165. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
  166. package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.d.ts +2 -2
  167. package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  168. package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.js +2 -2
  169. package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
  170. package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  171. package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.js +2 -1
  172. package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.js.map +1 -1
  173. package/node_modules/@pierre/diffs/dist/ssr/index.d.ts +2 -2
  174. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts +21 -21
  175. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts.map +1 -1
  176. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js +1 -1
  177. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js.map +1 -1
  178. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts +6 -6
  179. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts.map +1 -1
  180. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js.map +1 -1
  181. package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.d.ts +4 -4
  182. package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  183. package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.js.map +1 -1
  184. package/node_modules/@pierre/diffs/dist/style.js +1 -1
  185. package/node_modules/@pierre/diffs/dist/types.d.ts +13 -263
  186. package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
  187. package/node_modules/@pierre/diffs/dist/utils/appendItems.d.ts +5 -0
  188. package/node_modules/@pierre/diffs/dist/utils/appendItems.d.ts.map +1 -0
  189. package/node_modules/@pierre/diffs/dist/utils/appendItems.js +8 -0
  190. package/node_modules/@pierre/diffs/dist/utils/appendItems.js.map +1 -0
  191. package/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.js +1 -1
  192. package/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.js.map +1 -1
  193. package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.d.ts +7 -0
  194. package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.d.ts.map +1 -0
  195. package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.js +8 -0
  196. package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.js.map +1 -0
  197. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts +1 -1
  198. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  199. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  200. package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.d.ts +3 -3
  201. package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.d.ts.map +1 -1
  202. package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.js.map +1 -1
  203. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts +3 -2
  204. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -1
  205. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js +8 -5
  206. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js.map +1 -1
  207. package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.d.ts +6 -0
  208. package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.d.ts.map +1 -0
  209. package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.js +10 -0
  210. package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.js.map +1 -0
  211. package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.d.ts +69 -0
  212. package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.d.ts.map +1 -0
  213. package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.js +64 -0
  214. package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.js.map +1 -0
  215. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +5 -3
  216. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -1
  217. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js +7 -5
  218. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js.map +1 -1
  219. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts +1 -1
  220. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  221. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  222. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts +1 -1
  223. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  224. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js.map +1 -1
  225. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts.map +1 -1
  226. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js +2 -1
  227. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js.map +1 -1
  228. package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.d.ts +16 -0
  229. package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.d.ts.map +1 -0
  230. package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.js +17 -0
  231. package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.js.map +1 -0
  232. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts +2 -2
  233. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  234. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js +6 -6
  235. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js.map +1 -1
  236. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts +6 -3
  237. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
  238. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +34 -9
  239. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
  240. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  241. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +6 -5
  242. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  243. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  244. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js +7 -4
  245. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js.map +1 -1
  246. package/node_modules/@pierre/diffs/dist/utils/trimPatchContext.d.ts.map +1 -1
  247. package/node_modules/@pierre/diffs/dist/utils/trimPatchContext.js +3 -2
  248. package/node_modules/@pierre/diffs/dist/utils/trimPatchContext.js.map +1 -1
  249. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js +1 -1
  250. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js +1 -1
  251. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts +4 -3
  252. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  253. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js +44 -6
  254. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js.map +1 -1
  255. package/node_modules/@pierre/diffs/dist/worker/types.d.ts +5 -0
  256. package/node_modules/@pierre/diffs/dist/worker/types.d.ts.map +1 -1
  257. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +14 -6
  258. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
  259. package/node_modules/@pierre/diffs/dist/worker/worker.js +14 -6
  260. package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
  261. package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/cjs/deserialize.js +12 -2
  262. package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/cjs/serialize.js +5 -1
  263. package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/esm/deserialize.js +12 -2
  264. package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/esm/serialize.js +5 -1
  265. package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/package.json +1 -1
  266. package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/structured-json.js +1 -1
  267. package/node_modules/@pierre/diffs/package.json +9 -1
  268. package/node_modules/playwright-core/browsers.json +9 -32
  269. package/node_modules/playwright-core/lib/coreBundle.js +5402 -4419
  270. package/node_modules/playwright-core/lib/server/electron/loader.js +0 -2
  271. package/node_modules/playwright-core/lib/serverRegistry.js +1674 -7082
  272. package/node_modules/playwright-core/lib/serverRegistry.js.LICENSE +8 -297
  273. package/node_modules/playwright-core/lib/tools/cli-client/help.json +19 -6
  274. package/node_modules/playwright-core/lib/tools/cli-client/minimist.js +1 -1
  275. package/node_modules/playwright-core/lib/tools/cli-client/output.js +9 -1
  276. package/node_modules/playwright-core/lib/tools/cli-client/program.js +17 -3
  277. package/node_modules/playwright-core/lib/tools/cli-client/registry.js +9 -5
  278. package/node_modules/playwright-core/lib/tools/cli-client/session.js +2 -1
  279. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/SKILL.md +5 -0
  280. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/tracing.md +1 -1
  281. package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/SKILL.md +4 -11
  282. package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/migration.md +6 -2
  283. package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/react.md +2 -0
  284. package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/typing.md +173 -0
  285. package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/vue.md +2 -0
  286. package/node_modules/playwright-core/lib/tools/skills/playwright-trace/SKILL.md +6 -3
  287. package/node_modules/playwright-core/lib/tools/utils/extension.js +13 -2
  288. package/node_modules/playwright-core/lib/utilsBundle.js +1934 -7341
  289. package/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +8 -297
  290. package/node_modules/playwright-core/lib/vite/dashboard/assets/codeMirrorModule--QdMvsKi.css +1 -0
  291. package/node_modules/playwright-core/lib/vite/{recorder/assets/codeMirrorModule-CwYYHbcZ.js → dashboard/assets/codeMirrorModule-CQ8RZGBm.js} +1 -1
  292. package/node_modules/playwright-core/lib/vite/dashboard/assets/index-AwgwcYie.css +1 -0
  293. package/node_modules/playwright-core/lib/vite/dashboard/assets/index-hRvO4yU2.js +12 -0
  294. package/node_modules/playwright-core/lib/vite/dashboard/index.html +2 -2
  295. package/node_modules/playwright-core/lib/vite/htmlReport/report.css +1 -1
  296. package/node_modules/playwright-core/lib/vite/htmlReport/report.js +4 -4
  297. package/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-CVQWJZAA.js +32 -0
  298. package/node_modules/playwright-core/lib/vite/recorder/assets/index-BZpYJZ-P.css +1 -0
  299. package/node_modules/playwright-core/lib/vite/recorder/assets/index-hrlLqLtq.js +129 -0
  300. package/node_modules/playwright-core/lib/vite/recorder/index.html +2 -2
  301. package/node_modules/playwright-core/lib/vite/traceViewer/assets/{codeMirrorModule-rXmQmLUY.js → codeMirrorModule-BbkfBe3n.js} +1 -1
  302. package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +182 -0
  303. package/node_modules/playwright-core/lib/vite/traceViewer/assets/{xtermModule-BuZfJS5v.js → xtermModule-DywYcAf8.js} +1 -1
  304. package/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.Bqk9acqE.css +1 -0
  305. package/node_modules/playwright-core/lib/vite/traceViewer/index.B4cLoZK3.js +1 -0
  306. package/node_modules/playwright-core/lib/vite/traceViewer/index.html +3 -3
  307. package/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -3
  308. package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.CU5KtEkS.js +5 -0
  309. package/node_modules/playwright-core/lib/vite/traceViewer/{uiMode.C7UW1sC9.css → uiMode.CyMfwkXJ.css} +1 -1
  310. package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +4 -4
  311. package/node_modules/playwright-core/package.json +1 -1
  312. package/node_modules/playwright-core/types/protocol.d.ts +201 -398
  313. package/node_modules/playwright-core/types/types.d.ts +771 -327
  314. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  315. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  316. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  317. package/node_modules/typebox/build/format/iri.mjs +5 -1
  318. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  319. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  320. package/node_modules/typebox/build/guard/string.mjs +16 -24
  321. package/node_modules/typebox/build/schema/build.mjs +2 -2
  322. package/node_modules/typebox/build/schema/check.mjs +1 -1
  323. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  324. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  325. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  326. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  327. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  328. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  329. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  330. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  331. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  332. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  333. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  334. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  335. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  336. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  337. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  338. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  339. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  340. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  341. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  342. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  343. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  344. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  345. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  346. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  347. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  348. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  349. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  350. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  351. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  352. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  353. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  354. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  355. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  356. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  357. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  358. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  359. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  360. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  361. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  362. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  363. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  364. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  365. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  366. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  367. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  368. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  369. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  370. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  371. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  372. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  373. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  374. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  375. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  376. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  377. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  378. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  379. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  380. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  381. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  382. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  383. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  384. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  385. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  386. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  387. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  388. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  389. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  390. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  391. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  392. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  393. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  394. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  395. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  396. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  397. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  398. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  399. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  400. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  401. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  402. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  403. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  404. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  405. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  406. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  407. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  408. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  409. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  410. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  411. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  412. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  413. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  414. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  415. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  416. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  417. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  418. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  419. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  420. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  421. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  422. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  423. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  424. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  425. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  426. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  427. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  428. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  429. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  430. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  431. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  432. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  433. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  434. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  435. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  436. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  437. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  438. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  439. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  440. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  441. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  442. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  443. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  444. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  445. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  446. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  447. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  448. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  449. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  450. package/node_modules/typebox/package.json +1 -1
  451. package/node_modules/typebox/readme.md +59 -89
  452. package/node_modules/zod/README.md +27 -0
  453. package/node_modules/zod/compile.cjs +77 -0
  454. package/node_modules/zod/compile.d.cts +1 -0
  455. package/node_modules/zod/compile.d.ts +1 -0
  456. package/node_modules/zod/compile.js +52 -0
  457. package/node_modules/zod/index.cjs +2 -2
  458. package/node_modules/zod/index.d.cts +1 -2
  459. package/node_modules/zod/index.d.ts +1 -2
  460. package/node_modules/zod/index.js +5 -2
  461. package/node_modules/zod/package.json +13 -2
  462. package/node_modules/zod/src/compile.ts +56 -0
  463. package/node_modules/zod/src/index.ts +5 -2
  464. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  465. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  466. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  467. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  468. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  469. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  470. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  471. package/node_modules/zod/src/v3/types.ts +5 -5
  472. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  473. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  474. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  475. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  476. package/node_modules/zod/src/v4/classic/external.ts +12 -9
  477. package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
  478. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  479. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  480. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  481. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  482. package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
  483. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  484. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  485. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
  486. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
  487. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  488. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  489. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  490. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  491. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  492. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
  493. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  494. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  495. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  496. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  497. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  498. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  499. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
  500. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
  501. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  502. package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
  503. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
  504. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  505. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  506. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  507. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  508. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  509. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
  510. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
  511. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  512. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
  513. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  514. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  515. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  516. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  517. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  518. package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
  519. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
  520. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  521. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  522. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  523. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  524. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  525. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
  526. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  527. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  528. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  529. package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
  530. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  531. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
  532. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
  533. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  534. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  535. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
  536. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  537. package/node_modules/zod/src/v4/core/api.ts +48 -12
  538. package/node_modules/zod/src/v4/core/checks.ts +57 -44
  539. package/node_modules/zod/src/v4/core/compile.ts +2188 -0
  540. package/node_modules/zod/src/v4/core/core.ts +98 -19
  541. package/node_modules/zod/src/v4/core/doc.ts +11 -7
  542. package/node_modules/zod/src/v4/core/errors.ts +115 -24
  543. package/node_modules/zod/src/v4/core/index.ts +3 -0
  544. package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
  545. package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
  546. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  547. package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
  548. package/node_modules/zod/src/v4/core/parse.ts +131 -38
  549. package/node_modules/zod/src/v4/core/regexes.ts +30 -13
  550. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  551. package/node_modules/zod/src/v4/core/schemas.ts +759 -461
  552. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  553. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  554. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  555. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  556. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
  557. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  558. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  559. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  560. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  561. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  562. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  563. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  564. package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
  565. package/node_modules/zod/src/v4/core/util.ts +268 -42
  566. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  567. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  568. package/node_modules/zod/src/v4/index.ts +3 -3
  569. package/node_modules/zod/src/v4/locales/ar.ts +3 -0
  570. package/node_modules/zod/src/v4/locales/az.ts +3 -0
  571. package/node_modules/zod/src/v4/locales/be.ts +10 -0
  572. package/node_modules/zod/src/v4/locales/bg.ts +3 -0
  573. package/node_modules/zod/src/v4/locales/bn.ts +121 -0
  574. package/node_modules/zod/src/v4/locales/ca.ts +3 -0
  575. package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
  576. package/node_modules/zod/src/v4/locales/cs.ts +3 -0
  577. package/node_modules/zod/src/v4/locales/da.ts +5 -2
  578. package/node_modules/zod/src/v4/locales/de.ts +3 -0
  579. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  580. package/node_modules/zod/src/v4/locales/en.ts +15 -4
  581. package/node_modules/zod/src/v4/locales/eo.ts +3 -0
  582. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  583. package/node_modules/zod/src/v4/locales/fa.ts +3 -0
  584. package/node_modules/zod/src/v4/locales/fi.ts +3 -0
  585. package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
  586. package/node_modules/zod/src/v4/locales/fr.ts +19 -14
  587. package/node_modules/zod/src/v4/locales/gu.ts +121 -0
  588. package/node_modules/zod/src/v4/locales/he.ts +6 -1
  589. package/node_modules/zod/src/v4/locales/hi.ts +124 -0
  590. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  591. package/node_modules/zod/src/v4/locales/hu.ts +3 -0
  592. package/node_modules/zod/src/v4/locales/hy.ts +9 -0
  593. package/node_modules/zod/src/v4/locales/id.ts +3 -0
  594. package/node_modules/zod/src/v4/locales/index.ts +10 -0
  595. package/node_modules/zod/src/v4/locales/is.ts +3 -0
  596. package/node_modules/zod/src/v4/locales/it.ts +3 -0
  597. package/node_modules/zod/src/v4/locales/ja.ts +3 -0
  598. package/node_modules/zod/src/v4/locales/ka.ts +3 -0
  599. package/node_modules/zod/src/v4/locales/km.ts +3 -0
  600. package/node_modules/zod/src/v4/locales/kn.ts +124 -0
  601. package/node_modules/zod/src/v4/locales/ko.ts +3 -0
  602. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  603. package/node_modules/zod/src/v4/locales/mk.ts +3 -0
  604. package/node_modules/zod/src/v4/locales/ms.ts +3 -0
  605. package/node_modules/zod/src/v4/locales/ne.ts +126 -0
  606. package/node_modules/zod/src/v4/locales/nl.ts +3 -0
  607. package/node_modules/zod/src/v4/locales/nn.ts +119 -0
  608. package/node_modules/zod/src/v4/locales/no.ts +5 -2
  609. package/node_modules/zod/src/v4/locales/ota.ts +3 -0
  610. package/node_modules/zod/src/v4/locales/pl.ts +3 -0
  611. package/node_modules/zod/src/v4/locales/ps.ts +3 -0
  612. package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
  613. package/node_modules/zod/src/v4/locales/pt.ts +99 -58
  614. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  615. package/node_modules/zod/src/v4/locales/ru.ts +10 -0
  616. package/node_modules/zod/src/v4/locales/sk.ts +121 -0
  617. package/node_modules/zod/src/v4/locales/sl.ts +3 -0
  618. package/node_modules/zod/src/v4/locales/sv.ts +5 -2
  619. package/node_modules/zod/src/v4/locales/ta.ts +3 -0
  620. package/node_modules/zod/src/v4/locales/th.ts +3 -0
  621. package/node_modules/zod/src/v4/locales/tk.ts +111 -0
  622. package/node_modules/zod/src/v4/locales/tr.ts +3 -0
  623. package/node_modules/zod/src/v4/locales/uk.ts +3 -0
  624. package/node_modules/zod/src/v4/locales/ur.ts +3 -0
  625. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  626. package/node_modules/zod/src/v4/locales/vi.ts +3 -0
  627. package/node_modules/zod/src/v4/locales/yo.ts +3 -0
  628. package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
  629. package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
  630. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  631. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  632. package/node_modules/zod/src/v4/mini/external.ts +10 -1
  633. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  634. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  635. package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
  636. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  637. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  638. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  639. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  640. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  641. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  642. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  643. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  644. package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
  645. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  646. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  647. package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
  648. package/node_modules/zod/v3/ZodError.cjs +22 -12
  649. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  650. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  651. package/node_modules/zod/v3/ZodError.js +22 -12
  652. package/node_modules/zod/v3/types.cjs +7 -5
  653. package/node_modules/zod/v3/types.js +7 -5
  654. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  655. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  656. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  657. package/node_modules/zod/v4/classic/checks.js +1 -1
  658. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  659. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  660. package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
  661. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  662. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  663. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  664. package/node_modules/zod/v4/classic/errors.cjs +43 -34
  665. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  666. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  667. package/node_modules/zod/v4/classic/errors.js +43 -34
  668. package/node_modules/zod/v4/classic/external.cjs +30 -27
  669. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  670. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  671. package/node_modules/zod/v4/classic/external.js +5 -8
  672. package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
  673. package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
  674. package/node_modules/zod/v4/classic/in-out.cjs +63 -0
  675. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  676. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  677. package/node_modules/zod/v4/classic/in-out.js +36 -0
  678. package/node_modules/zod/v4/classic/index.cjs +2 -2
  679. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  680. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  681. package/node_modules/zod/v4/classic/index.js +2 -2
  682. package/node_modules/zod/v4/classic/iso.cjs +11 -22
  683. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  684. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  685. package/node_modules/zod/v4/classic/iso.js +2 -17
  686. package/node_modules/zod/v4/classic/parse.cjs +4 -1
  687. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  688. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  689. package/node_modules/zod/v4/classic/parse.js +1 -0
  690. package/node_modules/zod/v4/classic/schemas.cjs +498 -398
  691. package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
  692. package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
  693. package/node_modules/zod/v4/classic/schemas.js +492 -396
  694. package/node_modules/zod/v4/core/api.cjs +23 -4
  695. package/node_modules/zod/v4/core/api.d.cts +13 -9
  696. package/node_modules/zod/v4/core/api.d.ts +13 -9
  697. package/node_modules/zod/v4/core/api.js +21 -4
  698. package/node_modules/zod/v4/core/checks.cjs +37 -31
  699. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  700. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  701. package/node_modules/zod/v4/core/checks.js +37 -31
  702. package/node_modules/zod/v4/core/compile.cjs +1813 -0
  703. package/node_modules/zod/v4/core/compile.d.cts +51 -0
  704. package/node_modules/zod/v4/core/compile.d.ts +51 -0
  705. package/node_modules/zod/v4/core/compile.js +1783 -0
  706. package/node_modules/zod/v4/core/core.cjs +81 -18
  707. package/node_modules/zod/v4/core/core.d.cts +16 -4
  708. package/node_modules/zod/v4/core/core.d.ts +16 -4
  709. package/node_modules/zod/v4/core/core.js +82 -19
  710. package/node_modules/zod/v4/core/doc.cjs +5 -7
  711. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  712. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  713. package/node_modules/zod/v4/core/doc.js +5 -7
  714. package/node_modules/zod/v4/core/errors.cjs +110 -25
  715. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  716. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  717. package/node_modules/zod/v4/core/errors.js +110 -25
  718. package/node_modules/zod/v4/core/index.cjs +5 -1
  719. package/node_modules/zod/v4/core/index.d.cts +3 -0
  720. package/node_modules/zod/v4/core/index.d.ts +3 -0
  721. package/node_modules/zod/v4/core/index.js +3 -0
  722. package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
  723. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  724. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  725. package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
  726. package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
  727. package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
  728. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  729. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  730. package/node_modules/zod/v4/core/memoizer.cjs +272 -0
  731. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  732. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  733. package/node_modules/zod/v4/core/memoizer.js +265 -0
  734. package/node_modules/zod/v4/core/parse.cjs +96 -34
  735. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  736. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  737. package/node_modules/zod/v4/core/parse.js +94 -33
  738. package/node_modules/zod/v4/core/regexes.cjs +27 -15
  739. package/node_modules/zod/v4/core/regexes.d.cts +2 -0
  740. package/node_modules/zod/v4/core/regexes.d.ts +2 -0
  741. package/node_modules/zod/v4/core/regexes.js +24 -13
  742. package/node_modules/zod/v4/core/registries.js +2 -2
  743. package/node_modules/zod/v4/core/schemas.cjs +537 -326
  744. package/node_modules/zod/v4/core/schemas.d.cts +100 -31
  745. package/node_modules/zod/v4/core/schemas.d.ts +100 -31
  746. package/node_modules/zod/v4/core/schemas.js +526 -325
  747. package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
  748. package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
  749. package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
  750. package/node_modules/zod/v4/core/to-json-schema.js +241 -39
  751. package/node_modules/zod/v4/core/util.cjs +212 -31
  752. package/node_modules/zod/v4/core/util.d.cts +58 -1
  753. package/node_modules/zod/v4/core/util.d.ts +58 -1
  754. package/node_modules/zod/v4/core/util.js +202 -30
  755. package/node_modules/zod/v4/core/versions.cjs +2 -2
  756. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  757. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  758. package/node_modules/zod/v4/core/versions.js +2 -2
  759. package/node_modules/zod/v4/core/visit.cjs +195 -0
  760. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  761. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  762. package/node_modules/zod/v4/core/visit.js +169 -0
  763. package/node_modules/zod/v4/index.cjs +15 -5
  764. package/node_modules/zod/v4/index.d.cts +2 -2
  765. package/node_modules/zod/v4/index.d.ts +2 -2
  766. package/node_modules/zod/v4/index.js +3 -2
  767. package/node_modules/zod/v4/locales/ar.cjs +3 -0
  768. package/node_modules/zod/v4/locales/ar.js +3 -0
  769. package/node_modules/zod/v4/locales/az.cjs +3 -0
  770. package/node_modules/zod/v4/locales/az.js +3 -0
  771. package/node_modules/zod/v4/locales/be.cjs +10 -0
  772. package/node_modules/zod/v4/locales/be.js +10 -0
  773. package/node_modules/zod/v4/locales/bg.cjs +3 -0
  774. package/node_modules/zod/v4/locales/bg.js +3 -0
  775. package/node_modules/zod/v4/locales/bn.cjs +138 -0
  776. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  777. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  778. package/node_modules/zod/v4/locales/bn.js +111 -0
  779. package/node_modules/zod/v4/locales/ca.cjs +3 -0
  780. package/node_modules/zod/v4/locales/ca.js +3 -0
  781. package/node_modules/zod/v4/locales/ckb.cjs +158 -0
  782. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  783. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  784. package/node_modules/zod/v4/locales/ckb.js +131 -0
  785. package/node_modules/zod/v4/locales/cs.cjs +3 -0
  786. package/node_modules/zod/v4/locales/cs.js +3 -0
  787. package/node_modules/zod/v4/locales/da.cjs +5 -2
  788. package/node_modules/zod/v4/locales/da.js +5 -2
  789. package/node_modules/zod/v4/locales/de.cjs +3 -0
  790. package/node_modules/zod/v4/locales/de.js +3 -0
  791. package/node_modules/zod/v4/locales/el.cjs +1 -0
  792. package/node_modules/zod/v4/locales/el.js +1 -0
  793. package/node_modules/zod/v4/locales/en.cjs +14 -4
  794. package/node_modules/zod/v4/locales/en.js +14 -4
  795. package/node_modules/zod/v4/locales/eo.cjs +3 -0
  796. package/node_modules/zod/v4/locales/eo.js +3 -0
  797. package/node_modules/zod/v4/locales/es.cjs +2 -0
  798. package/node_modules/zod/v4/locales/es.js +2 -0
  799. package/node_modules/zod/v4/locales/fa.cjs +3 -0
  800. package/node_modules/zod/v4/locales/fa.js +3 -0
  801. package/node_modules/zod/v4/locales/fi.cjs +3 -0
  802. package/node_modules/zod/v4/locales/fi.js +3 -0
  803. package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
  804. package/node_modules/zod/v4/locales/fr-CA.js +3 -0
  805. package/node_modules/zod/v4/locales/fr.cjs +16 -14
  806. package/node_modules/zod/v4/locales/fr.js +16 -14
  807. package/node_modules/zod/v4/locales/gu.cjs +138 -0
  808. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  809. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  810. package/node_modules/zod/v4/locales/gu.js +111 -0
  811. package/node_modules/zod/v4/locales/he.cjs +5 -0
  812. package/node_modules/zod/v4/locales/he.js +5 -0
  813. package/node_modules/zod/v4/locales/hi.cjs +136 -0
  814. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  815. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  816. package/node_modules/zod/v4/locales/hi.js +109 -0
  817. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  818. package/node_modules/zod/v4/locales/hr.js +2 -0
  819. package/node_modules/zod/v4/locales/hu.cjs +3 -0
  820. package/node_modules/zod/v4/locales/hu.js +3 -0
  821. package/node_modules/zod/v4/locales/hy.cjs +9 -0
  822. package/node_modules/zod/v4/locales/hy.js +9 -0
  823. package/node_modules/zod/v4/locales/id.cjs +3 -0
  824. package/node_modules/zod/v4/locales/id.js +3 -0
  825. package/node_modules/zod/v4/locales/index.cjs +22 -2
  826. package/node_modules/zod/v4/locales/index.d.cts +10 -0
  827. package/node_modules/zod/v4/locales/index.d.ts +10 -0
  828. package/node_modules/zod/v4/locales/index.js +10 -0
  829. package/node_modules/zod/v4/locales/is.cjs +3 -0
  830. package/node_modules/zod/v4/locales/is.js +3 -0
  831. package/node_modules/zod/v4/locales/it.cjs +3 -0
  832. package/node_modules/zod/v4/locales/it.js +3 -0
  833. package/node_modules/zod/v4/locales/ja.cjs +3 -0
  834. package/node_modules/zod/v4/locales/ja.js +3 -0
  835. package/node_modules/zod/v4/locales/ka.cjs +3 -0
  836. package/node_modules/zod/v4/locales/ka.js +3 -0
  837. package/node_modules/zod/v4/locales/km.cjs +3 -0
  838. package/node_modules/zod/v4/locales/km.js +3 -0
  839. package/node_modules/zod/v4/locales/kn.cjs +141 -0
  840. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  841. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  842. package/node_modules/zod/v4/locales/kn.js +114 -0
  843. package/node_modules/zod/v4/locales/ko.cjs +3 -0
  844. package/node_modules/zod/v4/locales/ko.js +3 -0
  845. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  846. package/node_modules/zod/v4/locales/lt.js +2 -0
  847. package/node_modules/zod/v4/locales/mk.cjs +3 -0
  848. package/node_modules/zod/v4/locales/mk.js +3 -0
  849. package/node_modules/zod/v4/locales/ms.cjs +3 -0
  850. package/node_modules/zod/v4/locales/ms.js +3 -0
  851. package/node_modules/zod/v4/locales/ne.cjs +136 -0
  852. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  853. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  854. package/node_modules/zod/v4/locales/ne.js +109 -0
  855. package/node_modules/zod/v4/locales/nl.cjs +3 -0
  856. package/node_modules/zod/v4/locales/nl.js +3 -0
  857. package/node_modules/zod/v4/locales/nn.cjs +138 -0
  858. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  859. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  860. package/node_modules/zod/v4/locales/nn.js +111 -0
  861. package/node_modules/zod/v4/locales/no.cjs +5 -2
  862. package/node_modules/zod/v4/locales/no.js +5 -2
  863. package/node_modules/zod/v4/locales/ota.cjs +3 -0
  864. package/node_modules/zod/v4/locales/ota.js +3 -0
  865. package/node_modules/zod/v4/locales/pl.cjs +3 -0
  866. package/node_modules/zod/v4/locales/pl.js +3 -0
  867. package/node_modules/zod/v4/locales/ps.cjs +3 -0
  868. package/node_modules/zod/v4/locales/ps.js +3 -0
  869. package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
  870. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  871. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  872. package/node_modules/zod/v4/locales/pt-BR.js +141 -0
  873. package/node_modules/zod/v4/locales/pt.cjs +87 -55
  874. package/node_modules/zod/v4/locales/pt.js +87 -55
  875. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  876. package/node_modules/zod/v4/locales/ro.js +1 -0
  877. package/node_modules/zod/v4/locales/ru.cjs +10 -0
  878. package/node_modules/zod/v4/locales/ru.js +10 -0
  879. package/node_modules/zod/v4/locales/sk.cjs +141 -0
  880. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  881. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  882. package/node_modules/zod/v4/locales/sk.js +114 -0
  883. package/node_modules/zod/v4/locales/sl.cjs +3 -0
  884. package/node_modules/zod/v4/locales/sl.js +3 -0
  885. package/node_modules/zod/v4/locales/sv.cjs +5 -2
  886. package/node_modules/zod/v4/locales/sv.js +5 -2
  887. package/node_modules/zod/v4/locales/ta.cjs +3 -0
  888. package/node_modules/zod/v4/locales/ta.js +3 -0
  889. package/node_modules/zod/v4/locales/th.cjs +3 -0
  890. package/node_modules/zod/v4/locales/th.js +3 -0
  891. package/node_modules/zod/v4/locales/tk.cjs +132 -0
  892. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  893. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  894. package/node_modules/zod/v4/locales/tk.js +105 -0
  895. package/node_modules/zod/v4/locales/tr.cjs +3 -0
  896. package/node_modules/zod/v4/locales/tr.js +3 -0
  897. package/node_modules/zod/v4/locales/uk.cjs +3 -0
  898. package/node_modules/zod/v4/locales/uk.js +3 -0
  899. package/node_modules/zod/v4/locales/ur.cjs +3 -0
  900. package/node_modules/zod/v4/locales/ur.js +3 -0
  901. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  902. package/node_modules/zod/v4/locales/uz.js +1 -0
  903. package/node_modules/zod/v4/locales/vi.cjs +3 -0
  904. package/node_modules/zod/v4/locales/vi.js +3 -0
  905. package/node_modules/zod/v4/locales/yo.cjs +3 -0
  906. package/node_modules/zod/v4/locales/yo.js +3 -0
  907. package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
  908. package/node_modules/zod/v4/locales/zh-CN.js +3 -0
  909. package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
  910. package/node_modules/zod/v4/locales/zh-TW.js +3 -0
  911. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  912. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  913. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  914. package/node_modules/zod/v4/mini/checks.js +1 -1
  915. package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
  916. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  917. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  918. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  919. package/node_modules/zod/v4/mini/external.cjs +12 -1
  920. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  921. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  922. package/node_modules/zod/v4/mini/external.js +3 -1
  923. package/node_modules/zod/v4/mini/in-out.cjs +63 -0
  924. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  925. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  926. package/node_modules/zod/v4/mini/in-out.js +36 -0
  927. package/node_modules/zod/v4/mini/parse.cjs +3 -1
  928. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  929. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  930. package/node_modules/zod/v4/mini/parse.js +1 -1
  931. package/node_modules/zod/v4/mini/schemas.cjs +75 -47
  932. package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
  933. package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
  934. package/node_modules/zod/v4/mini/schemas.js +71 -45
  935. package/openclaw.plugin.json +15 -0
  936. package/package.json +10 -8
  937. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts +0 -15
  938. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts.map +0 -1
  939. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js +0 -65
  940. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js.map +0 -1
  941. package/node_modules/playwright-core/lib/vite/dashboard/assets/index-CyWAfh-p.js +0 -11
  942. package/node_modules/playwright-core/lib/vite/dashboard/assets/index-DhC616m4.css +0 -1
  943. package/node_modules/playwright-core/lib/vite/recorder/assets/index-DYjdXIbE.js +0 -129
  944. package/node_modules/playwright-core/lib/vite/recorder/assets/index-l_lX622x.css +0 -1
  945. package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-B-dXF5JN.js +0 -181
  946. package/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.BLFoOugd.css +0 -1
  947. package/node_modules/playwright-core/lib/vite/traceViewer/index.KZ4wOW1K.js +0 -1
  948. package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Dzuouizj.js +0 -5
  949. package/node_modules/zod/src/v4/core/config.ts +0 -15
  950. /package/dist/{viewer-assets-D3qrnaxI.js → .setup/viewer-assets-D3qrnaxI.mjs} +0 -0
@@ -0,0 +1,159 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import * as z from "zod";
3
+
4
+ describe("z.input / z.output", () => {
5
+ test("flat codec: input/output give the right side", () => {
6
+ const c = z.codec(z.string(), z.bigint(), {
7
+ decode: (s) => BigInt(s),
8
+ encode: (n) => n.toString(),
9
+ });
10
+ expect(z.input(c).parse("1")).toBe("1");
11
+ expect(z.output(c).parse(1n)).toBe(1n);
12
+ });
13
+
14
+ test("codec nested in object: output works recursively (regression #5224)", () => {
15
+ const c = z.codec(z.string(), z.bigint(), {
16
+ decode: (s) => BigInt(s),
17
+ encode: (n) => n.toString(),
18
+ });
19
+ const obj = z.object({ b: c });
20
+
21
+ const decoded = z.output(obj);
22
+ expect(decoded.parse({ b: 1n })).toEqual({ b: 1n });
23
+
24
+ const encoded = z.input(obj);
25
+ expect(encoded.parse({ b: "1" })).toEqual({ b: "1" });
26
+ });
27
+
28
+ test("nested across record / map: matches the use case in #5224", () => {
29
+ const keyCodec = z.codec(z.string(), z.enum(["a", "b"]), {
30
+ decode: (s) => (s === "a" || s === "b" ? s : z.NEVER),
31
+ encode: (s) => s,
32
+ });
33
+ const valueObject = z.object({
34
+ n: z.codec(z.string(), z.bigint(), { decode: (s) => BigInt(s), encode: (n) => n.toString() }),
35
+ });
36
+
37
+ const fullCodec = z.codec(
38
+ z.record(z.input(keyCodec), z.input(valueObject)),
39
+ z.map(z.output(keyCodec), z.output(valueObject)),
40
+ {
41
+ decode: (input) => {
42
+ const m = new Map<"a" | "b", { n: bigint }>();
43
+ for (const [k, v] of Object.entries(input)) {
44
+ m.set(keyCodec.decode(k), valueObject.decode(v));
45
+ }
46
+ return m;
47
+ },
48
+ encode: (input) => {
49
+ const out: Record<string, { n: string }> = {};
50
+ for (const [k, v] of input.entries()) {
51
+ out[keyCodec.encode(k)] = valueObject.encode(v);
52
+ }
53
+ return out;
54
+ },
55
+ }
56
+ );
57
+
58
+ expect(fullCodec.decode({ a: { n: "1" } })).toEqual(new Map([["a", { n: 1n }]]));
59
+ expect(fullCodec.encode(new Map([["b", { n: 2n }]]))).toEqual({ b: { n: "2" } });
60
+ });
61
+
62
+ test("schema without pipes is returned with identity (no clone)", () => {
63
+ const s = z.object({ a: z.string() });
64
+ expect(z.input(s)).toBe(s);
65
+ expect(z.output(s)).toBe(s);
66
+ });
67
+
68
+ test("z.output carries checks attached to a pipe", () => {
69
+ const c = z
70
+ .codec(z.string(), z.number().int(), { decode: Number, encode: String })
71
+ .refine((n) => n > 10, { error: "gt10" });
72
+ const obj = z.object({ list: z.array(c) });
73
+ const decoded = z.output(obj);
74
+
75
+ expect(decoded.parse({ list: [50] })).toEqual({ list: [50] });
76
+ // The pipe's own check and the one already on its out side both survive, in that order.
77
+ expect(() => decoded.parse({ list: [5] })).toThrow("gt10");
78
+ expect(() => decoded.parse({ list: [50.5] })).toThrow();
79
+ // A pipe's checks run on the decoded value in both directions, so encode enforces them too.
80
+ expect(() => decoded.encode({ list: [5] })).toThrow("gt10");
81
+ // Carrying them clones the out side rather than mutating it.
82
+ expect(c._zod.def.out._zod.def.checks).toHaveLength(1);
83
+ });
84
+
85
+ test("z.input drops a pipe's checks, which constrain a value the input side never produces", () => {
86
+ const c = z.codec(z.string(), z.number(), { decode: Number, encode: String }).refine((n) => n > 10);
87
+ expect(z.input(c).parse("5")).toBe("5");
88
+
89
+ // Control: a check that isn't attached to a pipe is left alone.
90
+ expect(() => z.input(z.object({ s: z.string().min(2) })).parse({ s: "a" })).toThrow();
91
+ });
92
+
93
+ test("z.input resolves past a preprocess transform, which is not a real input side", () => {
94
+ const p = z.preprocess((v) => String(v), z.string().min(5));
95
+ const encoded = z.input(p);
96
+
97
+ expect(encoded.parse("abcde")).toBe("abcde");
98
+ // The bare transform used to come back here: it validated nothing and re-ran the preprocessor.
99
+ expect(() => encoded.parse(1)).toThrow();
100
+ expect(() => encoded.parse("abc")).toThrow();
101
+ // The same resolution the JSON Schema emitter already makes for this schema.
102
+ expect(z.toJSONSchema(p, { io: "input" })).toMatchObject({ type: "string", minLength: 5 });
103
+
104
+ // A check on the pipe itself travels with whichever side wins.
105
+ const checked = z.preprocess((v) => String(v), z.string()).refine((s) => s.startsWith("ok"));
106
+ expect(z.input(checked).parse("okay")).toBe("okay");
107
+ expect(() => z.input(checked).parse("nope")).toThrow();
108
+
109
+ // Control: a codec has two real sides, so its input side is still `in`, by identity.
110
+ const c = z.codec(z.string(), z.number(), { decode: Number, encode: String });
111
+ expect(z.input(c)).toBe(c._zod.def.in);
112
+ });
113
+
114
+ test("a wrapper's stored value survives only on the side it belongs to", () => {
115
+ const c = z.codec(z.string(), z.number(), { decode: Number, encode: String });
116
+
117
+ // A default and a catch hold output-side values, so the input projection sheds them.
118
+ expect(z.input(c.default(7)).parse(undefined)).toBe(undefined);
119
+ expect(z.input(c.default(7)).parse("1")).toBe("1");
120
+ expect(() => z.input(c.catch(9)).parse(123 as any)).toThrow();
121
+ expect(z.input(c.catch(9)).parse("1")).toBe("1");
122
+ expect(z.output(c.default(7)).parse(undefined)).toBe(7);
123
+ expect(z.output(c.catch(9)).parse("zz" as any)).toBe(9);
124
+
125
+ // A prefault is fed through the schema, so it is input-side and the output projection sheds it.
126
+ expect(z.input(c.prefault("5")).parse(undefined)).toBe("5");
127
+ expect(() => z.output(c.prefault("5")).parse(undefined as any)).toThrow();
128
+ expect(z.output(c.prefault("5")).parse(3)).toBe(3);
129
+ });
130
+
131
+ test("a wrapper over a pipe-free schema keeps both its value and its identity", () => {
132
+ const d = z.string().default("x");
133
+ const k = z.string().catch("y");
134
+ const f = z.string().prefault("z");
135
+
136
+ expect(z.input(d)).toBe(d);
137
+ expect(z.input(d).parse(undefined)).toBe("x");
138
+ expect(z.input(k)).toBe(k);
139
+ expect(z.output(f)).toBe(f);
140
+
141
+ const obj = z.object({ a: z.string().default("q") });
142
+ expect(z.input(obj)).toBe(obj);
143
+ expect(z.input(obj).parse({})).toEqual({ a: "q" });
144
+ });
145
+
146
+ test("runtime `z.input` agrees with type-level `z.input<T>`", () => {
147
+ const c = z.codec(z.string(), z.bigint(), {
148
+ decode: (s) => BigInt(s),
149
+ encode: (n) => n.toString(),
150
+ });
151
+ const obj = z.object({ b: c });
152
+
153
+ // Runtime: parse the input shape.
154
+ const parsed = z.input(obj).parse({ b: "1" });
155
+ // Type: matches the declared input type.
156
+ const asType: z.input<typeof obj> = parsed;
157
+ expect(asType).toEqual({ b: "1" });
158
+ });
159
+ });
@@ -653,8 +653,7 @@ test("z.custom check", () => {
653
653
  });
654
654
 
655
655
  test("z.check", () => {
656
- // this is a more flexible version of z.custom that accepts an arbitrary _parse logic
657
- // the function should return base.$ZodResult
656
+ // this is a more flexible version of z.custom that accepts an arbitrary _parse logic the function should return base.$ZodResult
658
657
  const a = z.any().check(
659
658
  z.check<string>((ctx) => {
660
659
  if (typeof ctx.value === "string") return;
@@ -736,6 +735,26 @@ test("z.refine", () => {
736
735
  expect(() => z.parse(a, "hi")).toThrow();
737
736
  });
738
737
 
738
+ test("z.superRefine preserves explicit nullish issue input", () => {
739
+ const schema = z.string().check(
740
+ z.superRefine((_, ctx) => {
741
+ ctx.addIssue({ code: "custom", message: "default" });
742
+ ctx.addIssue({ code: "custom", message: "null", input: null });
743
+ ctx.addIssue({ code: "custom", message: "undefined", input: undefined });
744
+ })
745
+ );
746
+
747
+ const result = z.safeParse(schema, "sensitive", { reportInput: true });
748
+ expect(result.success).toEqual(false);
749
+ if (!result.success) {
750
+ expect(result.error.issues).toHaveLength(3);
751
+ expect(result.error.issues[0].input).toEqual("sensitive");
752
+ expect(result.error.issues[1].input).toEqual(null);
753
+ expect(result.error.issues[2]).toHaveProperty("input");
754
+ expect(result.error.issues[2].input).toEqual(undefined);
755
+ }
756
+ });
757
+
739
758
  // test("z.superRefine", () => {
740
759
  // const a = z.number([
741
760
  // z.superRefine((val, ctx) => {
@@ -0,0 +1,281 @@
1
+ import { expect, test } from "vitest";
2
+
3
+ import * as zm from "zod/mini";
4
+ import * as z from "zod/v4";
5
+ import * as core from "zod/v4/core";
6
+
7
+ // V8 sizes an instance's property backing store in steps, and schema instances get no in-object slots (their constructor assigns nothing itself): 12 own properties cost 128 bytes, 13 cost 848, 21 cost 1616. Methods therefore live on the prototype and materialize per instance on first read. These bounds are what keeps a schema graph small; crossing one silently multiplies its memory by 6x.
8
+ const MAX_OWN_PROPS = 12;
9
+
10
+ test("schema instances stay under V8's property-count step", () => {
11
+ const cases: Array<[string, object]> = [
12
+ ["string", z.string()],
13
+ ["number", z.number()],
14
+ ["bigint", z.bigint()],
15
+ ["boolean", z.boolean()],
16
+ ["date", z.date()],
17
+ ["enum", z.enum(["a", "b"])],
18
+ ["array", z.array(z.string())],
19
+ ["object", z.object({ a: z.string() })],
20
+ ["record", z.record(z.string(), z.string())],
21
+ ["map", z.map(z.string(), z.string())],
22
+ ["set", z.set(z.string())],
23
+ ["union", z.union([z.string(), z.number()])],
24
+ ["optional", z.string().optional()],
25
+ ["pipe", z.string().pipe(z.string())],
26
+ ["email", z.email()],
27
+ ["mini string", zm.string()],
28
+ ["mini object", zm.object({ a: zm.string() })],
29
+ ];
30
+
31
+ const over = cases
32
+ .map(([name, schema]) => [name, Reflect.ownKeys(schema).length] as const)
33
+ .filter(([, count]) => count > MAX_OWN_PROPS);
34
+
35
+ expect(over).toEqual([]);
36
+ });
37
+
38
+ test("prototype-installed members survive detaching", () => {
39
+ const schema = z.string();
40
+ const { parse, safeParse, spa } = schema;
41
+
42
+ expect(parse("hi")).toEqual("hi");
43
+ expect(safeParse("hi").success).toEqual(true);
44
+ expect(["a", "b"].map((v) => parse(v))).toEqual(["a", "b"]);
45
+ expect(spa).toBe(schema.safeParseAsync);
46
+
47
+ const email = schema.email;
48
+ expect(email().safeParse("a@b.co").success).toEqual(true);
49
+ });
50
+
51
+ test("prototype-installed members can be overwritten per instance", () => {
52
+ const schema: any = z.string();
53
+ schema.parse = () => "overridden";
54
+
55
+ expect(schema.parse("anything")).toEqual("overridden");
56
+ expect(z.string().parse("untouched")).toEqual("untouched");
57
+ });
58
+
59
+ test("~standard is lazy but complete", () => {
60
+ const schema = z.string();
61
+
62
+ expect(Object.prototype.hasOwnProperty.call(schema, "~standard")).toEqual(false);
63
+ expect(schema["~standard"].vendor).toEqual("zod");
64
+ expect(schema["~standard"].version).toEqual(1);
65
+ expect(schema["~standard"].validate("hi")).toEqual({ value: "hi" });
66
+ expect((schema["~standard"] as any).jsonSchema.input()).toMatchObject({ type: "string" });
67
+ // Reading it caches on the instance, so the getter runs once.
68
+ expect(Object.prototype.hasOwnProperty.call(schema, "~standard")).toEqual(true);
69
+ });
70
+
71
+ test("caching a lazy member preserves its original enumerability", () => {
72
+ const schema = z.string();
73
+
74
+ // Methods were enumerable own properties before they moved to the prototype, so touching one still surfaces it to `Object.keys`.
75
+ void schema.parse;
76
+ void schema.optional;
77
+ expect(Object.keys(schema)).toContain("parse");
78
+ expect(Object.keys(schema)).toContain("optional");
79
+
80
+ // `~standard` never was an own data property, so caching it must not add it to `Object.keys` or to `JSON.stringify` of a schema.
81
+ void schema["~standard"];
82
+ expect(Object.keys(schema)).not.toContain("~standard");
83
+ expect(JSON.stringify(schema)).not.toContain("~standard");
84
+
85
+ // An explicit assignment behaves like one, as before.
86
+ const other: any = z.string();
87
+ other["~standard"] = { vendor: "x" };
88
+ expect(Object.keys(other)).toContain("~standard");
89
+ });
90
+
91
+ test("_def stays read-only", () => {
92
+ expect(() => {
93
+ (z.string() as any)._def = {};
94
+ }).toThrow(TypeError);
95
+ expect(() => {
96
+ (z.function({ input: [z.string()], output: z.number() }) as any)._def = {};
97
+ }).toThrow(TypeError);
98
+ const schema = z.string();
99
+ expect(schema._def).toBe(schema._zod.def);
100
+ expect(z.object({ a: z.string() })._def.type).toEqual("object");
101
+ });
102
+
103
+ test("deferred initializers are released after construction", () => {
104
+ expect(z.string()._zod.deferred).toEqual(undefined);
105
+ expect(z.object({ a: z.string() })._zod.deferred).toEqual(undefined);
106
+ });
107
+
108
+ test("a trait initializer called directly still installs its members", () => {
109
+ // a direct `init` installs onto the receiver's own prototype, since it is not below the constructor's
110
+ z.string();
111
+
112
+ const proto = {};
113
+ const inst = Object.create(proto) as z.ZodString;
114
+ z.ZodString.init(inst, { type: "string" });
115
+
116
+ expect(typeof inst.email).toBe("function");
117
+ expect(typeof inst.optional).toBe("function");
118
+ expect(Object.prototype.hasOwnProperty.call(proto, "email")).toBe(true);
119
+ });
120
+
121
+ test("a nested init during a repeat construction still installs its members", () => {
122
+ // the install used to read a module-level flag the outer construction set, so a nested `init` on an unrelated receiver inherited an answer that was not about it
123
+ const seen: string[] = [];
124
+
125
+ // an assertion signature needs the call target explicitly annotated
126
+ const Nested: core.$constructor<any> = core.$constructor<any>("Nested", () => {}, {
127
+ tag() {
128
+ return "nested";
129
+ },
130
+ });
131
+ const Outer = core.$constructor<any>("Outer", (_inst, def) => {
132
+ if (!def.nest) return;
133
+ // not a plain `{}`: the install target would resolve to `Object.prototype` and leak `tag` into every object the worker touches
134
+ const plain: any = Object.create({});
135
+ Nested.init(plain, {});
136
+ seen.push(typeof plain.tag);
137
+ });
138
+
139
+ new Outer({ nest: false });
140
+ new Outer({ nest: true });
141
+
142
+ expect(seen).toEqual(["function"]);
143
+ });
144
+
145
+ test("a derived trait's members win over the ones it composes", () => {
146
+ // Classic installs a richer `~standard` over core's. Trait dedupe is what orders them: core's initializer runs once, at the first `init` that reaches it, so classic's always lands second.
147
+ expect(typeof (z.string()["~standard"] as any).jsonSchema.input).toBe("function");
148
+ });
149
+
150
+ test("a live member keeps the descriptor a prototype member had", () => {
151
+ // An object literal's getter is enumerable; the `defineProperty` it replaced was not. `for..in` over a schema is public surface, and the construction path walks the prototype with it.
152
+ const proto = Object.getPrototypeOf(z.string());
153
+ expect(Object.getOwnPropertyDescriptor(proto, "description")?.enumerable).toBe(false);
154
+ expect(Object.getOwnPropertyDescriptor(proto, "_def")?.enumerable).toBe(false);
155
+
156
+ const keys: string[] = [];
157
+ for (const k in z.string()) keys.push(k);
158
+ expect(keys).toEqual(["def", "type", "format", "minLength", "maxLength"]);
159
+ });
160
+
161
+ test("a live member is not cached per instance", () => {
162
+ const schema = z.string();
163
+
164
+ expect(schema.description).toBe(undefined);
165
+ core.globalRegistry.add(schema, { description: "later" });
166
+ expect(schema.description).toBe("later");
167
+ expect(Object.prototype.hasOwnProperty.call(schema, "description")).toBe(false);
168
+ });
169
+
170
+ test("constructing through a subclass does not strip the base prototype", () => {
171
+ // `super(def)` gives `this` a prototype of `new.target.prototype`, so a constructor can complete a construction without having built its own prototype.
172
+ const MyString: new (def: { type: "string" }) => z.ZodString = class extends (z.ZodString as any) {} as any;
173
+ new MyString({ type: "string" });
174
+
175
+ const plain = z.string();
176
+ expect(plain.parse("x")).toBe("x");
177
+ expect(typeof plain.email).toBe("function");
178
+ expect(typeof new MyString({ type: "string" }).email).toBe("function");
179
+ });
180
+
181
+ test("a subclass's own members survive the install", () => {
182
+ // The members go on the prototype of the constructor that built the instance, so a subclass's own prototype keeps what it declared. `z.symbol()` is constructed nowhere else here, which puts the subclass before its base — the ordering the install has to get right. Asserted rather than assumed, so warming it elsewhere fails the test instead of hollowing it out.
183
+ expect(Object.prototype.hasOwnProperty.call((z.ZodSymbol as any).prototype, "parse")).toBe(false);
184
+ const First = class extends (z.ZodSymbol as any) {
185
+ parse() {
186
+ return "PARSE";
187
+ }
188
+ optional() {
189
+ return "OPTIONAL";
190
+ }
191
+ } as any;
192
+ const first = new First({ type: "symbol" });
193
+ expect(first.parse(Symbol())).toBe("PARSE");
194
+ expect(first.optional()).toBe("OPTIONAL");
195
+ const sym = Symbol();
196
+ expect(z.symbol().parse(sym)).toBe(sym);
197
+
198
+ // and the other way round, with the base prototype already built by one of the `z.number()` calls above. Asserted for the same reason: warm it nowhere and this block quietly becomes a second copy of the cold case.
199
+ expect(Object.prototype.hasOwnProperty.call((z.ZodNumber as any).prototype, "parse")).toBe(true);
200
+ const Second = class extends (z.ZodNumber as any) {
201
+ parse() {
202
+ return "SECOND";
203
+ }
204
+ } as any;
205
+ expect(new Second({ type: "number" }).parse(1)).toBe("SECOND");
206
+
207
+ // two levels deep: neither prototype takes a copy, so the inherited member is one function
208
+ const Third = class extends (Second as any) {} as any;
209
+ new Third({ type: "number" });
210
+ expect(Second.prototype.parse).toBe(Third.prototype.parse);
211
+ });
212
+
213
+ test("a hand-written getter member accepts assignment", () => {
214
+ // Every member was an accessor with a setter before they moved onto `proto`, so a getter written by hand needs one too.
215
+ const schema: any = z.string();
216
+ schema.spa = () => "SPA";
217
+ schema.toJSONSchema = () => "JSON";
218
+ expect(schema.spa()).toBe("SPA");
219
+ expect(schema.toJSONSchema()).toBe("JSON");
220
+
221
+ const mini: any = zm.string();
222
+ mini.with = () => "WITH";
223
+ expect(mini.with()).toBe("WITH");
224
+ });
225
+
226
+ test("shape is lazy and stays out of Object.keys", () => {
227
+ const schema = z.object({ a: z.string() });
228
+
229
+ expect(Object.prototype.hasOwnProperty.call(schema, "shape")).toEqual(false);
230
+ expect("shape" in schema).toEqual(true);
231
+ expect(Object.keys(schema)).not.toContain("shape");
232
+ expect({ ...schema }).not.toHaveProperty("shape");
233
+
234
+ expect(Object.keys(schema.shape)).toEqual(["a"]);
235
+
236
+ // Reading caches a non-enumerable own data property. An own accessor here would put every later object schema into V8 dictionary mode.
237
+ expect(Object.prototype.hasOwnProperty.call(schema, "shape")).toEqual(true);
238
+ expect(Object.getOwnPropertyDescriptor(schema, "shape")).toMatchObject({
239
+ writable: true,
240
+ enumerable: false,
241
+ configurable: true,
242
+ });
243
+ expect(Object.keys(schema)).not.toContain("shape");
244
+
245
+ const mini = zm.object({ a: zm.string() });
246
+ expect(Object.prototype.hasOwnProperty.call(mini, "shape")).toEqual(false);
247
+ expect(Object.keys(mini.shape)).toEqual(["a"]);
248
+ expect(Object.keys(mini)).not.toContain("shape");
249
+ });
250
+
251
+ test("shape accepts repeated assignment and recomputes after deletion", () => {
252
+ const schema: any = z.object({ a: z.string() });
253
+
254
+ schema.shape = { b: z.number() };
255
+ expect(Object.keys(schema.shape)).toEqual(["b"]);
256
+ // The cached property stays writable, so a second assignment does not throw in strict mode.
257
+ schema.shape = { c: z.boolean() };
258
+ expect(Object.keys(schema.shape)).toEqual(["c"]);
259
+
260
+ // Deleting clears the memo rather than removing the property, since the accessor lives on the prototype.
261
+ delete schema.shape;
262
+ expect(Object.keys(schema.shape)).toEqual(["a"]);
263
+ });
264
+
265
+ test("a self-referential shape getter breaks the cycle instead of recursing", () => {
266
+ const Self: any = z.object({
267
+ a: z.string(),
268
+ get b() {
269
+ return z.array(z.object(Self.shape));
270
+ },
271
+ });
272
+ expect(Object.keys(Self.shape)).toEqual(["a", "b"]);
273
+
274
+ const Mini: any = zm.object({
275
+ a: zm.string(),
276
+ get b() {
277
+ return zm.array(zm.object(Mini.shape));
278
+ },
279
+ });
280
+ expect(Object.keys(Mini.shape)).toEqual(["a", "b"]);
281
+ });
@@ -58,3 +58,50 @@ test("instanceof respects customError", () => {
58
58
 
59
59
  z.config({ customError: undefined });
60
60
  });
61
+
62
+ test("z.properties", () => {
63
+ const httpsUrl = z.instanceof(URL).check(
64
+ ...z.properties({
65
+ protocol: z.literal("https:" as string),
66
+ hostname: z.string().regex(z.regexes.domain),
67
+ })
68
+ );
69
+
70
+ expectTypeOf<URL>().toEqualTypeOf<z.infer<typeof httpsUrl>>();
71
+ expect(httpsUrl.safeParse(new URL("https://example.com")).success).toBe(true);
72
+
73
+ // Checks abort on the first failure, exactly as the equivalent chain of z.property() calls does.
74
+ const both = httpsUrl.safeParse(new URL("http://localhost"));
75
+ expect(both.error!.issues.map((i) => i.path)).toEqual([["protocol"]]);
76
+
77
+ // A failing base schema yields its own issue and no property issues.
78
+ for (const input of ["not a url", null]) {
79
+ const issues = httpsUrl.safeParse(input).error!.issues;
80
+ expect(issues.map((i) => [i.code, i.path])).toEqual([["custom", []]]);
81
+ }
82
+
83
+ // Not specific to z.instanceof(). A base whose type mismatch aborts implicitly rather than explicitly must still not run the property checks against the rejected value.
84
+ const obj = z
85
+ .object({ a: z.string(), b: z.string() })
86
+ .check(...z.properties({ a: z.literal("x"), b: z.literal("y") }));
87
+ expect(obj.safeParse({ a: "x", b: "y" }).success).toBe(true);
88
+ expect(obj.safeParse({ a: "!", b: "!" }).error!.issues.map((i) => i.path)).toEqual([["a"]]);
89
+ for (const input of [null, undefined, 5]) {
90
+ expect(obj.safeParse(input).error!.issues.map((i) => [i.code, i.path])).toEqual([["invalid_type", []]]);
91
+ }
92
+
93
+ // Known looseness versus the longhand, pinned so it stays deliberate: every element is typed over the whole shape, and `$ZodCheckInternals.check()` is a method, so TypeScript compares it bivariantly and accepts a check type that is a subtype of the target. Naming a key the target lacks therefore compiles here and fails at parse time, where the equivalent chain of `z.property()` calls rejects it outright. Typing each element over only its own key fixes that and breaks every valid call, since a union argument must satisfy the target on its own.
94
+ z.object({ a: z.string() }).check(...z.properties({ a: z.literal("x"), b: z.literal("y") }));
95
+ expect(
96
+ z
97
+ .object({ a: z.string() })
98
+ .check(...z.properties({ a: z.string(), b: z.literal("y") }))
99
+ .safeParse({ a: "ok" })
100
+ .error!.issues.map((i) => [i.code, i.path])
101
+ ).toEqual([["invalid_value", ["b"]]]);
102
+
103
+ // Plain property checks carry no `when`, so the schema stays on the compiled fast path.
104
+ const compiled = z.compile(httpsUrl);
105
+ expect(compiled.safeParse(new URL("https://example.com")).success).toBe(true);
106
+ expect(compiled.safeParse(new URL("http://localhost")).error!.issues.map((i) => i.path)).toEqual([["protocol"]]);
107
+ });
@@ -67,6 +67,24 @@ test("object intersection: strict + strict", () => {
67
67
  `);
68
68
  });
69
69
 
70
+ test("object intersection strips __proto__ from pass-through operands", () => {
71
+ const cases = [
72
+ [
73
+ z.intersection(z.object({ name: z.string() }), z.unknown()),
74
+ JSON.parse('{"__proto__":{"isAdmin":true},"name":"alice"}'),
75
+ { name: "alice" },
76
+ ],
77
+ [z.intersection(z.record(z.string(), z.unknown()), z.any()), JSON.parse('{"__proto__":{},"a":1}'), { a: 1 }],
78
+ ] as const;
79
+
80
+ for (const [schema, input, expected] of cases) {
81
+ const parsed = schema.parse(input);
82
+ expect(parsed).toEqual(expected);
83
+ expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
84
+ expect(Object.prototype.hasOwnProperty.call(parsed, "__proto__")).toBe(false);
85
+ }
86
+ });
87
+
70
88
  test("deep intersection", () => {
71
89
  const Animal = z.object({
72
90
  properties: z.object({
@@ -196,3 +214,121 @@ test("invalid deep merge of object and array combination", async () => {
196
214
  `[Error: Unmergable intersection. Error path: ["students",0,"name"]]`
197
215
  );
198
216
  });
217
+
218
+ // A record's key schema says which keys that record GOVERNS; it is not a predicate
219
+ // every key in the result must satisfy. TypeScript works the same way: in
220
+ // `{name: string} & Record<`S_${string}`, string>` the index signature constrains
221
+ // only the keys matching it, so `name` is fine. So a key one side does not govern
222
+ // is reconciled against the other side, exactly as unrecognized_keys already is.
223
+ test("a record's key schema governs only its own keys inside an intersection", () => {
224
+ const Obj = z.object({ name: z.string() });
225
+ const value = { name: "a", S_a: "s" };
226
+
227
+ // Every key-schema flavor behaves the same: `name` belongs to the object side.
228
+ expect(z.intersection(Obj, z.record(z.string().regex(/^S_/), z.string())).parse(value)).toEqual(value);
229
+ expect(z.intersection(Obj, z.record(z.templateLiteral(["S_", z.string()]), z.string())).parse(value)).toEqual(value);
230
+ expect(z.intersection(Obj, z.partialRecord(z.enum(["p1", "p2"]), z.string())).parse({ name: "a", p1: "x" })).toEqual({
231
+ name: "a",
232
+ p1: "x",
233
+ });
234
+ expect(z.intersection(Obj, z.record(z.enum(["p1"]), z.string())).parse({ name: "a", p1: "x" })).toEqual({
235
+ name: "a",
236
+ p1: "x",
237
+ });
238
+
239
+ // A key the record DOES govern still has its value validated across the intersection.
240
+ const governed = z.intersection(z.object({ S_x: z.number() }), z.record(z.string().regex(/^S_/), z.string()));
241
+ expect(governed.safeParse({ S_x: 1 }).success).toBe(false);
242
+
243
+ // A key NEITHER side governs is still rejected.
244
+ const strict = z.intersection(z.strictObject({ name: z.string() }), z.record(z.string().regex(/^S_/), z.string()));
245
+ expect(strict.parse(value)).toEqual(value);
246
+ expect(strict.safeParse({ ...value, evil: "q" }).success).toBe(false);
247
+
248
+ // Standalone, a record still rejects a key it does not govern.
249
+ expect(z.record(z.string().regex(/^S_/), z.string()).safeParse({ S_a: "s", bad: "x" }).success).toBe(false);
250
+ });
251
+
252
+ test("partialRecord reports an out-of-set key as unrecognized, not invalid", () => {
253
+ const enumKeys = z.partialRecord(z.enum(["a", "b"]), z.string()).safeParse({ a: "x", zzz: "q" });
254
+ expect(enumKeys.success).toBe(false);
255
+ expect(enumKeys.error!.issues[0].code).toBe("unrecognized_keys");
256
+
257
+ // A regex key schema still reports the failure as an invalid key.
258
+ const regexKeys = z.record(z.string().regex(/^S_/), z.string()).safeParse({ S_a: "x", zzz: "q" });
259
+ expect(regexKeys.success).toBe(false);
260
+ expect(regexKeys.error!.issues[0].code).toBe("invalid_key");
261
+ });
262
+
263
+ test("intersection operands run their own checks, refinements and transforms", () => {
264
+ let checks = 0;
265
+ const failing = z.intersection(
266
+ z.strictObject({ x: z.string() }).check(() => {
267
+ checks++;
268
+ }),
269
+ z.strictObject({ a: z.string() }).superRefine((_data, ctx) => {
270
+ checks++;
271
+ ctx.addIssue({ code: "custom", message: "boom" });
272
+ })
273
+ );
274
+ expect(failing.safeParse({ x: "test", a: "hello" })).toMatchObject({
275
+ success: false,
276
+ error: { issues: [{ code: "custom", message: "boom" }] },
277
+ });
278
+ expect(checks).toBe(2);
279
+
280
+ const transformed = z.intersection(
281
+ z.strictObject({ x: z.string() }).transform((v) => ({ ...v, x: v.x.toUpperCase() })),
282
+ z.strictObject({ a: z.string() }).transform((v) => ({ ...v, seen: true }))
283
+ );
284
+ expect(transformed.parse({ x: "test", a: "hello" })).toEqual({ x: "TEST", a: "hello", seen: true });
285
+ });
286
+
287
+ test("intersection operands apply defaults, including through a nested intersection", () => {
288
+ const inner = z.intersection(
289
+ z.strictObject({ x: z.string().default("X default"), y: z.number() }),
290
+ z.strictObject({ z: z.boolean() })
291
+ );
292
+ const schema = z.intersection(inner, z.strictObject({ a: z.string() }));
293
+ expectTypeOf<z.output<typeof schema>>().toEqualTypeOf<{ x: string; y: number } & { z: boolean } & { a: string }>();
294
+
295
+ expect(schema.parse({ y: 34, z: true, a: "hello" })).toEqual({ x: "X default", y: 34, z: true, a: "hello" });
296
+ });
297
+
298
+ test("a record operand runs its own refinements inside an intersection", () => {
299
+ let calls = 0;
300
+ const schema = z
301
+ .record(z.enum(["p1", "p2"]), z.string())
302
+ .superRefine((_data, ctx) => {
303
+ calls++;
304
+ ctx.addIssue({ code: "custom", message: "record refined" });
305
+ })
306
+ .and(z.strictObject({ name: z.string() }));
307
+
308
+ expect(schema.safeParse({ p1: "a", p2: "b", name: "n" })).toMatchObject({
309
+ success: false,
310
+ error: { issues: [{ code: "custom", message: "record refined" }] },
311
+ });
312
+ expect(calls).toBe(1);
313
+ });
314
+
315
+ test("a strict object nested under an operand keeps its strictness", () => {
316
+ const schema = z.intersection(
317
+ z.object({ inner: z.strictObject({ a: z.string() }) }),
318
+ z.object({ other: z.string() })
319
+ );
320
+
321
+ expect(schema.parse({ inner: { a: "x" }, other: "y" })).toEqual({ inner: { a: "x" }, other: "y" });
322
+ expect(schema.safeParse({ inner: { a: "x", extra: 1 }, other: "y" })).toMatchObject({
323
+ success: false,
324
+ error: { issues: [{ code: "unrecognized_keys", keys: ["extra"], path: ["inner"] }] },
325
+ });
326
+ });
327
+
328
+ test("a strict object composes with a refined object", () => {
329
+ const A = z.object({ key1: z.boolean() }).strict();
330
+ const B = z.object({ key2: z.boolean() }).refine(({ key2 }) => key2, "key2 must be true");
331
+
332
+ expect(A.and(B).parse({ key1: true, key2: true })).toEqual({ key1: true, key2: true });
333
+ expect(A.and(B).safeParse({ key1: true, key2: false }).success).toBe(false);
334
+ });