@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.
- package/assets/activity.svg +3 -0
- package/assets/icon.png +0 -0
- package/dist/{browser.runtime-DTKAejqd.js → .setup/browser.runtime-VjaO3wrj.mjs} +1 -1
- package/dist/assets/viewer-runtime.js +48 -54
- package/dist/index.js +4 -4
- package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +115 -68
- package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/CodeView.js +189 -59
- package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/File.d.ts +79 -15
- package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/File.js +244 -66
- package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +101 -21
- package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/FileDiff.js +432 -102
- package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/FileStream.js +1 -1
- package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js +2 -2
- package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts +17 -7
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +142 -53
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts +15 -8
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +186 -96
- package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtulizerDevelopment.d.ts +1 -1
- package/node_modules/@pierre/diffs/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/edit/index.d.ts +7 -4
- package/node_modules/@pierre/diffs/dist/edit/index.js +5 -1
- package/node_modules/@pierre/diffs/dist/editor/EditStateManager.d.ts +56 -0
- package/node_modules/@pierre/diffs/dist/editor/EditStateManager.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/EditStateManager.js +135 -0
- package/node_modules/@pierre/diffs/dist/editor/EditStateManager.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts +7 -0
- package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.js +16 -0
- package/node_modules/@pierre/diffs/dist/editor/cloneRetainedDiffSessionSnapshot.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/editPrediction.d.ts +76 -0
- package/node_modules/@pierre/diffs/dist/editor/editPrediction.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/editPrediction.js +365 -0
- package/node_modules/@pierre/diffs/dist/editor/editPrediction.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts +19 -40
- package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/editStack.js +67 -4
- package/node_modules/@pierre/diffs/dist/editor/editStack.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/editor.d.ts +118 -29
- package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/editor.js +1108 -384
- package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/editor2.js +1 -1
- package/node_modules/@pierre/diffs/dist/editor/languages.d.ts +3 -3
- package/node_modules/@pierre/diffs/dist/editor/languages.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/languages.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts +3 -3
- package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js +16 -7
- package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/marker.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/editor/marker.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/marker.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts +1 -1
- package/node_modules/@pierre/diffs/dist/editor/pieceTable.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/editor/searchPanel.js +1 -1
- package/node_modules/@pierre/diffs/dist/editor/searchPanel.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/selection.d.ts +32 -23
- package/node_modules/@pierre/diffs/dist/editor/selection.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/selection.js +3 -3
- package/node_modules/@pierre/diffs/dist/editor/selection.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts +3 -3
- package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/selectionAction.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts +11 -8
- package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/textDocument.js +28 -5
- package/node_modules/@pierre/diffs/dist/editor/textDocument.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.d.ts +15 -0
- package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.js +12 -0
- package/node_modules/@pierre/diffs/dist/editor/textDocumentChangeTransaction.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts +5 -0
- package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/textMeasure.js +10 -0
- package/node_modules/@pierre/diffs/dist/editor/textMeasure.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts +1 -1
- package/node_modules/@pierre/diffs/dist/editor/tokenizer.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/types.d.ts +267 -0
- package/node_modules/@pierre/diffs/dist/editor/types.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/editor/types.js +0 -0
- package/node_modules/@pierre/diffs/dist/editor/utils.d.ts +2 -1
- package/node_modules/@pierre/diffs/dist/editor/utils.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/editor/utils.js +4 -1
- package/node_modules/@pierre/diffs/dist/editor/utils.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.d.ts +6 -2
- package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js +7 -3
- package/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.js +1 -1
- package/node_modules/@pierre/diffs/dist/index.d.ts +8 -6
- package/node_modules/@pierre/diffs/dist/index.js +22 -21
- package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js +7 -0
- package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts +36 -25
- package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/CodeView.js +15 -14
- package/node_modules/@pierre/diffs/dist/react/CodeView.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts +8 -11
- package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/EditContext.js +2 -9
- package/node_modules/@pierre/diffs/dist/react/EditContext.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/File.d.ts +10 -6
- package/node_modules/@pierre/diffs/dist/react/File.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/File.js +8 -4
- package/node_modules/@pierre/diffs/dist/react/File.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts +10 -5
- package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/FileDiff.js +8 -4
- package/node_modules/@pierre/diffs/dist/react/FileDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts +8 -5
- package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js +8 -12
- package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts +7 -4
- package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/PatchDiff.js +8 -4
- package/node_modules/@pierre/diffs/dist/react/PatchDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts +3 -3
- package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/index.d.ts +8 -5
- package/node_modules/@pierre/diffs/dist/react/types.d.ts +46 -9
- package/node_modules/@pierre/diffs/dist/react/types.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts +14 -12
- package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js +2 -2
- package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts +14 -12
- package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js +2 -2
- package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts +22 -10
- package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +112 -22
- package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts +15 -9
- package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js +84 -25
- package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts +30 -15
- package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +172 -109
- package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts +27 -11
- package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +141 -67
- package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.js +2 -2
- package/node_modules/@pierre/diffs/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.js +2 -1
- package/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/ssr/index.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts +21 -21
- package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js +1 -1
- package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts +6 -6
- package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.d.ts +4 -4
- package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/ssr/preloadPatchFile.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/style.js +1 -1
- package/node_modules/@pierre/diffs/dist/types.d.ts +13 -263
- package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/appendItems.d.ts +5 -0
- package/node_modules/@pierre/diffs/dist/utils/appendItems.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/appendItems.js +8 -0
- package/node_modules/@pierre/diffs/dist/utils/appendItems.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.js +1 -1
- package/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.d.ts +7 -0
- package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.js +8 -0
- package/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts +1 -1
- package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.d.ts +3 -3
- package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts +3 -2
- package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js +8 -5
- package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.d.ts +6 -0
- package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.js +10 -0
- package/node_modules/@pierre/diffs/dist/utils/composeCacheKey.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.d.ts +69 -0
- package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.js +64 -0
- package/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +5 -3
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js +7 -5
- package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts +1 -1
- package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts +1 -1
- package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js +2 -1
- package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.d.ts +16 -0
- package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.d.ts.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.js +17 -0
- package/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.js.map +1 -0
- package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts +2 -2
- package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js +6 -6
- package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts +6 -3
- package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +34 -9
- package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +6 -5
- package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js +7 -4
- package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/trimPatchContext.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/trimPatchContext.js +3 -2
- package/node_modules/@pierre/diffs/dist/utils/trimPatchContext.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js +1 -1
- package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js +1 -1
- package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts +4 -3
- package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js +44 -6
- package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/worker/types.d.ts +5 -0
- package/node_modules/@pierre/diffs/dist/worker/types.d.ts.map +1 -1
- package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +14 -6
- package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
- package/node_modules/@pierre/diffs/dist/worker/worker.js +14 -6
- package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
- package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/cjs/deserialize.js +12 -2
- package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/cjs/serialize.js +5 -1
- package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/esm/deserialize.js +12 -2
- package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/esm/serialize.js +5 -1
- package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/package.json +1 -1
- package/node_modules/@pierre/diffs/node_modules/@ungap/structured-clone/structured-json.js +1 -1
- package/node_modules/@pierre/diffs/package.json +9 -1
- package/node_modules/playwright-core/browsers.json +9 -32
- package/node_modules/playwright-core/lib/coreBundle.js +5402 -4419
- package/node_modules/playwright-core/lib/server/electron/loader.js +0 -2
- package/node_modules/playwright-core/lib/serverRegistry.js +1674 -7082
- package/node_modules/playwright-core/lib/serverRegistry.js.LICENSE +8 -297
- package/node_modules/playwright-core/lib/tools/cli-client/help.json +19 -6
- package/node_modules/playwright-core/lib/tools/cli-client/minimist.js +1 -1
- package/node_modules/playwright-core/lib/tools/cli-client/output.js +9 -1
- package/node_modules/playwright-core/lib/tools/cli-client/program.js +17 -3
- package/node_modules/playwright-core/lib/tools/cli-client/registry.js +9 -5
- package/node_modules/playwright-core/lib/tools/cli-client/session.js +2 -1
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/SKILL.md +5 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/tracing.md +1 -1
- package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/SKILL.md +4 -11
- package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/migration.md +6 -2
- package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/react.md +2 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/typing.md +173 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-component-testing/references/vue.md +2 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-trace/SKILL.md +6 -3
- package/node_modules/playwright-core/lib/tools/utils/extension.js +13 -2
- package/node_modules/playwright-core/lib/utilsBundle.js +1934 -7341
- package/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +8 -297
- package/node_modules/playwright-core/lib/vite/dashboard/assets/codeMirrorModule--QdMvsKi.css +1 -0
- package/node_modules/playwright-core/lib/vite/{recorder/assets/codeMirrorModule-CwYYHbcZ.js → dashboard/assets/codeMirrorModule-CQ8RZGBm.js} +1 -1
- package/node_modules/playwright-core/lib/vite/dashboard/assets/index-AwgwcYie.css +1 -0
- package/node_modules/playwright-core/lib/vite/dashboard/assets/index-hRvO4yU2.js +12 -0
- package/node_modules/playwright-core/lib/vite/dashboard/index.html +2 -2
- package/node_modules/playwright-core/lib/vite/htmlReport/report.css +1 -1
- package/node_modules/playwright-core/lib/vite/htmlReport/report.js +4 -4
- package/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-CVQWJZAA.js +32 -0
- package/node_modules/playwright-core/lib/vite/recorder/assets/index-BZpYJZ-P.css +1 -0
- package/node_modules/playwright-core/lib/vite/recorder/assets/index-hrlLqLtq.js +129 -0
- package/node_modules/playwright-core/lib/vite/recorder/index.html +2 -2
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/{codeMirrorModule-rXmQmLUY.js → codeMirrorModule-BbkfBe3n.js} +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +182 -0
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/{xtermModule-BuZfJS5v.js → xtermModule-DywYcAf8.js} +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.Bqk9acqE.css +1 -0
- package/node_modules/playwright-core/lib/vite/traceViewer/index.B4cLoZK3.js +1 -0
- package/node_modules/playwright-core/lib/vite/traceViewer/index.html +3 -3
- package/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.CU5KtEkS.js +5 -0
- package/node_modules/playwright-core/lib/vite/traceViewer/{uiMode.C7UW1sC9.css → uiMode.CyMfwkXJ.css} +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +4 -4
- package/node_modules/playwright-core/package.json +1 -1
- package/node_modules/playwright-core/types/protocol.d.ts +201 -398
- package/node_modules/playwright-core/types/types.d.ts +771 -327
- package/node_modules/typebox/build/compile/validator.d.mts +1 -1
- package/node_modules/typebox/build/compile/validator.mjs +1 -1
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
- package/node_modules/typebox/build/format/iri.mjs +5 -1
- package/node_modules/typebox/build/guard/emit.mjs +2 -4
- package/node_modules/typebox/build/guard/guard.mjs +6 -18
- package/node_modules/typebox/build/guard/string.mjs +16 -24
- package/node_modules/typebox/build/schema/build.mjs +2 -2
- package/node_modules/typebox/build/schema/check.mjs +1 -1
- package/node_modules/typebox/build/schema/compile.d.mts +3 -2
- package/node_modules/typebox/build/schema/compile.mjs +8 -8
- package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
- package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
- package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
- package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
- package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
- package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
- package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
- package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
- package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
- package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
- package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
- package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
- package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
- package/node_modules/typebox/build/schema/errors.d.mts +2 -2
- package/node_modules/typebox/build/schema/errors.mjs +8 -14
- package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
- package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
- package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
- package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
- package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
- package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
- package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
- package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
- package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
- package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
- package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
- package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
- package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
- package/node_modules/typebox/build/schema/parse.d.mts +1 -0
- package/node_modules/typebox/build/schema/parse.mjs +10 -5
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
- package/node_modules/typebox/build/schema/schema.d.mts +2 -0
- package/node_modules/typebox/build/schema/schema.mjs +2 -0
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
- package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +59 -89
- package/node_modules/zod/README.md +27 -0
- package/node_modules/zod/compile.cjs +77 -0
- package/node_modules/zod/compile.d.cts +1 -0
- package/node_modules/zod/compile.d.ts +1 -0
- package/node_modules/zod/compile.js +52 -0
- package/node_modules/zod/index.cjs +2 -2
- package/node_modules/zod/index.d.cts +1 -2
- package/node_modules/zod/index.d.ts +1 -2
- package/node_modules/zod/index.js +5 -2
- package/node_modules/zod/package.json +13 -2
- package/node_modules/zod/src/compile.ts +56 -0
- package/node_modules/zod/src/index.ts +5 -2
- package/node_modules/zod/src/v3/ZodError.ts +22 -12
- package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
- package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
- package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
- package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
- package/node_modules/zod/src/v3/types.ts +5 -5
- package/node_modules/zod/src/v4/classic/checks.ts +1 -0
- package/node_modules/zod/src/v4/classic/compat.ts +26 -18
- package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/node_modules/zod/src/v4/classic/errors.ts +59 -44
- package/node_modules/zod/src/v4/classic/external.ts +12 -9
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
- package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/node_modules/zod/src/v4/classic/index.ts +2 -2
- package/node_modules/zod/src/v4/classic/iso.ts +2 -72
- package/node_modules/zod/src/v4/classic/parse.ts +10 -4
- package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
- package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
- package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
- package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
- package/node_modules/zod/src/v4/core/api.ts +48 -12
- package/node_modules/zod/src/v4/core/checks.ts +57 -44
- package/node_modules/zod/src/v4/core/compile.ts +2188 -0
- package/node_modules/zod/src/v4/core/core.ts +98 -19
- package/node_modules/zod/src/v4/core/doc.ts +11 -7
- package/node_modules/zod/src/v4/core/errors.ts +115 -24
- package/node_modules/zod/src/v4/core/index.ts +3 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
- package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
- package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
- package/node_modules/zod/src/v4/core/parse.ts +131 -38
- package/node_modules/zod/src/v4/core/regexes.ts +30 -13
- package/node_modules/zod/src/v4/core/registries.ts +2 -2
- package/node_modules/zod/src/v4/core/schemas.ts +759 -461
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
- package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
- package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
- package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
- package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
- package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
- package/node_modules/zod/src/v4/core/util.ts +268 -42
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/node_modules/zod/src/v4/index.ts +3 -3
- package/node_modules/zod/src/v4/locales/ar.ts +3 -0
- package/node_modules/zod/src/v4/locales/az.ts +3 -0
- package/node_modules/zod/src/v4/locales/be.ts +10 -0
- package/node_modules/zod/src/v4/locales/bg.ts +3 -0
- package/node_modules/zod/src/v4/locales/bn.ts +121 -0
- package/node_modules/zod/src/v4/locales/ca.ts +3 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
- package/node_modules/zod/src/v4/locales/cs.ts +3 -0
- package/node_modules/zod/src/v4/locales/da.ts +5 -2
- package/node_modules/zod/src/v4/locales/de.ts +3 -0
- package/node_modules/zod/src/v4/locales/el.ts +1 -0
- package/node_modules/zod/src/v4/locales/en.ts +15 -4
- package/node_modules/zod/src/v4/locales/eo.ts +3 -0
- package/node_modules/zod/src/v4/locales/es.ts +2 -0
- package/node_modules/zod/src/v4/locales/fa.ts +3 -0
- package/node_modules/zod/src/v4/locales/fi.ts +3 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
- package/node_modules/zod/src/v4/locales/fr.ts +19 -14
- package/node_modules/zod/src/v4/locales/gu.ts +121 -0
- package/node_modules/zod/src/v4/locales/he.ts +6 -1
- package/node_modules/zod/src/v4/locales/hi.ts +124 -0
- package/node_modules/zod/src/v4/locales/hr.ts +2 -0
- package/node_modules/zod/src/v4/locales/hu.ts +3 -0
- package/node_modules/zod/src/v4/locales/hy.ts +9 -0
- package/node_modules/zod/src/v4/locales/id.ts +3 -0
- package/node_modules/zod/src/v4/locales/index.ts +10 -0
- package/node_modules/zod/src/v4/locales/is.ts +3 -0
- package/node_modules/zod/src/v4/locales/it.ts +3 -0
- package/node_modules/zod/src/v4/locales/ja.ts +3 -0
- package/node_modules/zod/src/v4/locales/ka.ts +3 -0
- package/node_modules/zod/src/v4/locales/km.ts +3 -0
- package/node_modules/zod/src/v4/locales/kn.ts +124 -0
- package/node_modules/zod/src/v4/locales/ko.ts +3 -0
- package/node_modules/zod/src/v4/locales/lt.ts +2 -0
- package/node_modules/zod/src/v4/locales/mk.ts +3 -0
- package/node_modules/zod/src/v4/locales/ms.ts +3 -0
- package/node_modules/zod/src/v4/locales/ne.ts +126 -0
- package/node_modules/zod/src/v4/locales/nl.ts +3 -0
- package/node_modules/zod/src/v4/locales/nn.ts +119 -0
- package/node_modules/zod/src/v4/locales/no.ts +5 -2
- package/node_modules/zod/src/v4/locales/ota.ts +3 -0
- package/node_modules/zod/src/v4/locales/pl.ts +3 -0
- package/node_modules/zod/src/v4/locales/ps.ts +3 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
- package/node_modules/zod/src/v4/locales/pt.ts +99 -58
- package/node_modules/zod/src/v4/locales/ro.ts +1 -0
- package/node_modules/zod/src/v4/locales/ru.ts +10 -0
- package/node_modules/zod/src/v4/locales/sk.ts +121 -0
- package/node_modules/zod/src/v4/locales/sl.ts +3 -0
- package/node_modules/zod/src/v4/locales/sv.ts +5 -2
- package/node_modules/zod/src/v4/locales/ta.ts +3 -0
- package/node_modules/zod/src/v4/locales/th.ts +3 -0
- package/node_modules/zod/src/v4/locales/tk.ts +111 -0
- package/node_modules/zod/src/v4/locales/tr.ts +3 -0
- package/node_modules/zod/src/v4/locales/uk.ts +3 -0
- package/node_modules/zod/src/v4/locales/ur.ts +3 -0
- package/node_modules/zod/src/v4/locales/uz.ts +1 -0
- package/node_modules/zod/src/v4/locales/vi.ts +3 -0
- package/node_modules/zod/src/v4/locales/yo.ts +3 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
- package/node_modules/zod/src/v4/mini/checks.ts +1 -0
- package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/node_modules/zod/src/v4/mini/external.ts +10 -1
- package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/node_modules/zod/src/v4/mini/parse.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
- package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
- package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
- package/node_modules/zod/v3/ZodError.cjs +22 -12
- package/node_modules/zod/v3/ZodError.d.cts +1 -1
- package/node_modules/zod/v3/ZodError.d.ts +1 -1
- package/node_modules/zod/v3/ZodError.js +22 -12
- package/node_modules/zod/v3/types.cjs +7 -5
- package/node_modules/zod/v3/types.js +7 -5
- package/node_modules/zod/v4/classic/checks.cjs +2 -1
- package/node_modules/zod/v4/classic/checks.d.cts +1 -1
- package/node_modules/zod/v4/classic/checks.d.ts +1 -1
- package/node_modules/zod/v4/classic/checks.js +1 -1
- package/node_modules/zod/v4/classic/compat.d.cts +9 -11
- package/node_modules/zod/v4/classic/compat.d.ts +9 -11
- package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
- package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/node_modules/zod/v4/classic/errors.cjs +43 -34
- package/node_modules/zod/v4/classic/errors.d.cts +3 -4
- package/node_modules/zod/v4/classic/errors.d.ts +3 -4
- package/node_modules/zod/v4/classic/errors.js +43 -34
- package/node_modules/zod/v4/classic/external.cjs +30 -27
- package/node_modules/zod/v4/classic/external.d.cts +5 -2
- package/node_modules/zod/v4/classic/external.d.ts +5 -2
- package/node_modules/zod/v4/classic/external.js +5 -8
- package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
- package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
- package/node_modules/zod/v4/classic/in-out.cjs +63 -0
- package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/node_modules/zod/v4/classic/in-out.js +36 -0
- package/node_modules/zod/v4/classic/index.cjs +2 -2
- package/node_modules/zod/v4/classic/index.d.cts +1 -2
- package/node_modules/zod/v4/classic/index.d.ts +1 -2
- package/node_modules/zod/v4/classic/index.js +2 -2
- package/node_modules/zod/v4/classic/iso.cjs +11 -22
- package/node_modules/zod/v4/classic/iso.d.cts +2 -17
- package/node_modules/zod/v4/classic/iso.d.ts +2 -17
- package/node_modules/zod/v4/classic/iso.js +2 -17
- package/node_modules/zod/v4/classic/parse.cjs +4 -1
- package/node_modules/zod/v4/classic/parse.d.cts +17 -4
- package/node_modules/zod/v4/classic/parse.d.ts +17 -4
- package/node_modules/zod/v4/classic/parse.js +1 -0
- package/node_modules/zod/v4/classic/schemas.cjs +498 -398
- package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
- package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
- package/node_modules/zod/v4/classic/schemas.js +492 -396
- package/node_modules/zod/v4/core/api.cjs +23 -4
- package/node_modules/zod/v4/core/api.d.cts +13 -9
- package/node_modules/zod/v4/core/api.d.ts +13 -9
- package/node_modules/zod/v4/core/api.js +21 -4
- package/node_modules/zod/v4/core/checks.cjs +37 -31
- package/node_modules/zod/v4/core/checks.d.cts +13 -13
- package/node_modules/zod/v4/core/checks.d.ts +13 -13
- package/node_modules/zod/v4/core/checks.js +37 -31
- package/node_modules/zod/v4/core/compile.cjs +1813 -0
- package/node_modules/zod/v4/core/compile.d.cts +51 -0
- package/node_modules/zod/v4/core/compile.d.ts +51 -0
- package/node_modules/zod/v4/core/compile.js +1783 -0
- package/node_modules/zod/v4/core/core.cjs +81 -18
- package/node_modules/zod/v4/core/core.d.cts +16 -4
- package/node_modules/zod/v4/core/core.d.ts +16 -4
- package/node_modules/zod/v4/core/core.js +82 -19
- package/node_modules/zod/v4/core/doc.cjs +5 -7
- package/node_modules/zod/v4/core/doc.d.cts +3 -1
- package/node_modules/zod/v4/core/doc.d.ts +3 -1
- package/node_modules/zod/v4/core/doc.js +5 -7
- package/node_modules/zod/v4/core/errors.cjs +110 -25
- package/node_modules/zod/v4/core/errors.d.cts +4 -0
- package/node_modules/zod/v4/core/errors.d.ts +4 -0
- package/node_modules/zod/v4/core/errors.js +110 -25
- package/node_modules/zod/v4/core/index.cjs +5 -1
- package/node_modules/zod/v4/core/index.d.cts +3 -0
- package/node_modules/zod/v4/core/index.d.ts +3 -0
- package/node_modules/zod/v4/core/index.js +3 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
- package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
- package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
- package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
- package/node_modules/zod/v4/core/memoizer.cjs +272 -0
- package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/node_modules/zod/v4/core/memoizer.js +265 -0
- package/node_modules/zod/v4/core/parse.cjs +96 -34
- package/node_modules/zod/v4/core/parse.d.cts +14 -11
- package/node_modules/zod/v4/core/parse.d.ts +14 -11
- package/node_modules/zod/v4/core/parse.js +94 -33
- package/node_modules/zod/v4/core/regexes.cjs +27 -15
- package/node_modules/zod/v4/core/regexes.d.cts +2 -0
- package/node_modules/zod/v4/core/regexes.d.ts +2 -0
- package/node_modules/zod/v4/core/regexes.js +24 -13
- package/node_modules/zod/v4/core/registries.js +2 -2
- package/node_modules/zod/v4/core/schemas.cjs +537 -326
- package/node_modules/zod/v4/core/schemas.d.cts +100 -31
- package/node_modules/zod/v4/core/schemas.d.ts +100 -31
- package/node_modules/zod/v4/core/schemas.js +526 -325
- package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
- package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
- package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
- package/node_modules/zod/v4/core/to-json-schema.js +241 -39
- package/node_modules/zod/v4/core/util.cjs +212 -31
- package/node_modules/zod/v4/core/util.d.cts +58 -1
- package/node_modules/zod/v4/core/util.d.ts +58 -1
- package/node_modules/zod/v4/core/util.js +202 -30
- package/node_modules/zod/v4/core/versions.cjs +2 -2
- package/node_modules/zod/v4/core/versions.d.cts +1 -1
- package/node_modules/zod/v4/core/versions.d.ts +1 -1
- package/node_modules/zod/v4/core/versions.js +2 -2
- package/node_modules/zod/v4/core/visit.cjs +195 -0
- package/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/node_modules/zod/v4/core/visit.js +169 -0
- package/node_modules/zod/v4/index.cjs +15 -5
- package/node_modules/zod/v4/index.d.cts +2 -2
- package/node_modules/zod/v4/index.d.ts +2 -2
- package/node_modules/zod/v4/index.js +3 -2
- package/node_modules/zod/v4/locales/ar.cjs +3 -0
- package/node_modules/zod/v4/locales/ar.js +3 -0
- package/node_modules/zod/v4/locales/az.cjs +3 -0
- package/node_modules/zod/v4/locales/az.js +3 -0
- package/node_modules/zod/v4/locales/be.cjs +10 -0
- package/node_modules/zod/v4/locales/be.js +10 -0
- package/node_modules/zod/v4/locales/bg.cjs +3 -0
- package/node_modules/zod/v4/locales/bg.js +3 -0
- package/node_modules/zod/v4/locales/bn.cjs +138 -0
- package/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/node_modules/zod/v4/locales/bn.js +111 -0
- package/node_modules/zod/v4/locales/ca.cjs +3 -0
- package/node_modules/zod/v4/locales/ca.js +3 -0
- package/node_modules/zod/v4/locales/ckb.cjs +158 -0
- package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/node_modules/zod/v4/locales/ckb.js +131 -0
- package/node_modules/zod/v4/locales/cs.cjs +3 -0
- package/node_modules/zod/v4/locales/cs.js +3 -0
- package/node_modules/zod/v4/locales/da.cjs +5 -2
- package/node_modules/zod/v4/locales/da.js +5 -2
- package/node_modules/zod/v4/locales/de.cjs +3 -0
- package/node_modules/zod/v4/locales/de.js +3 -0
- package/node_modules/zod/v4/locales/el.cjs +1 -0
- package/node_modules/zod/v4/locales/el.js +1 -0
- package/node_modules/zod/v4/locales/en.cjs +14 -4
- package/node_modules/zod/v4/locales/en.js +14 -4
- package/node_modules/zod/v4/locales/eo.cjs +3 -0
- package/node_modules/zod/v4/locales/eo.js +3 -0
- package/node_modules/zod/v4/locales/es.cjs +2 -0
- package/node_modules/zod/v4/locales/es.js +2 -0
- package/node_modules/zod/v4/locales/fa.cjs +3 -0
- package/node_modules/zod/v4/locales/fa.js +3 -0
- package/node_modules/zod/v4/locales/fi.cjs +3 -0
- package/node_modules/zod/v4/locales/fi.js +3 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
- package/node_modules/zod/v4/locales/fr-CA.js +3 -0
- package/node_modules/zod/v4/locales/fr.cjs +16 -14
- package/node_modules/zod/v4/locales/fr.js +16 -14
- package/node_modules/zod/v4/locales/gu.cjs +138 -0
- package/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/node_modules/zod/v4/locales/gu.js +111 -0
- package/node_modules/zod/v4/locales/he.cjs +5 -0
- package/node_modules/zod/v4/locales/he.js +5 -0
- package/node_modules/zod/v4/locales/hi.cjs +136 -0
- package/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/node_modules/zod/v4/locales/hi.js +109 -0
- package/node_modules/zod/v4/locales/hr.cjs +2 -0
- package/node_modules/zod/v4/locales/hr.js +2 -0
- package/node_modules/zod/v4/locales/hu.cjs +3 -0
- package/node_modules/zod/v4/locales/hu.js +3 -0
- package/node_modules/zod/v4/locales/hy.cjs +9 -0
- package/node_modules/zod/v4/locales/hy.js +9 -0
- package/node_modules/zod/v4/locales/id.cjs +3 -0
- package/node_modules/zod/v4/locales/id.js +3 -0
- package/node_modules/zod/v4/locales/index.cjs +22 -2
- package/node_modules/zod/v4/locales/index.d.cts +10 -0
- package/node_modules/zod/v4/locales/index.d.ts +10 -0
- package/node_modules/zod/v4/locales/index.js +10 -0
- package/node_modules/zod/v4/locales/is.cjs +3 -0
- package/node_modules/zod/v4/locales/is.js +3 -0
- package/node_modules/zod/v4/locales/it.cjs +3 -0
- package/node_modules/zod/v4/locales/it.js +3 -0
- package/node_modules/zod/v4/locales/ja.cjs +3 -0
- package/node_modules/zod/v4/locales/ja.js +3 -0
- package/node_modules/zod/v4/locales/ka.cjs +3 -0
- package/node_modules/zod/v4/locales/ka.js +3 -0
- package/node_modules/zod/v4/locales/km.cjs +3 -0
- package/node_modules/zod/v4/locales/km.js +3 -0
- package/node_modules/zod/v4/locales/kn.cjs +141 -0
- package/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/node_modules/zod/v4/locales/kn.js +114 -0
- package/node_modules/zod/v4/locales/ko.cjs +3 -0
- package/node_modules/zod/v4/locales/ko.js +3 -0
- package/node_modules/zod/v4/locales/lt.cjs +2 -0
- package/node_modules/zod/v4/locales/lt.js +2 -0
- package/node_modules/zod/v4/locales/mk.cjs +3 -0
- package/node_modules/zod/v4/locales/mk.js +3 -0
- package/node_modules/zod/v4/locales/ms.cjs +3 -0
- package/node_modules/zod/v4/locales/ms.js +3 -0
- package/node_modules/zod/v4/locales/ne.cjs +136 -0
- package/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/node_modules/zod/v4/locales/ne.js +109 -0
- package/node_modules/zod/v4/locales/nl.cjs +3 -0
- package/node_modules/zod/v4/locales/nl.js +3 -0
- package/node_modules/zod/v4/locales/nn.cjs +138 -0
- package/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/node_modules/zod/v4/locales/nn.js +111 -0
- package/node_modules/zod/v4/locales/no.cjs +5 -2
- package/node_modules/zod/v4/locales/no.js +5 -2
- package/node_modules/zod/v4/locales/ota.cjs +3 -0
- package/node_modules/zod/v4/locales/ota.js +3 -0
- package/node_modules/zod/v4/locales/pl.cjs +3 -0
- package/node_modules/zod/v4/locales/pl.js +3 -0
- package/node_modules/zod/v4/locales/ps.cjs +3 -0
- package/node_modules/zod/v4/locales/ps.js +3 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
- package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt-BR.js +141 -0
- package/node_modules/zod/v4/locales/pt.cjs +87 -55
- package/node_modules/zod/v4/locales/pt.js +87 -55
- package/node_modules/zod/v4/locales/ro.cjs +1 -0
- package/node_modules/zod/v4/locales/ro.js +1 -0
- package/node_modules/zod/v4/locales/ru.cjs +10 -0
- package/node_modules/zod/v4/locales/ru.js +10 -0
- package/node_modules/zod/v4/locales/sk.cjs +141 -0
- package/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/node_modules/zod/v4/locales/sk.js +114 -0
- package/node_modules/zod/v4/locales/sl.cjs +3 -0
- package/node_modules/zod/v4/locales/sl.js +3 -0
- package/node_modules/zod/v4/locales/sv.cjs +5 -2
- package/node_modules/zod/v4/locales/sv.js +5 -2
- package/node_modules/zod/v4/locales/ta.cjs +3 -0
- package/node_modules/zod/v4/locales/ta.js +3 -0
- package/node_modules/zod/v4/locales/th.cjs +3 -0
- package/node_modules/zod/v4/locales/th.js +3 -0
- package/node_modules/zod/v4/locales/tk.cjs +132 -0
- package/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/node_modules/zod/v4/locales/tk.js +105 -0
- package/node_modules/zod/v4/locales/tr.cjs +3 -0
- package/node_modules/zod/v4/locales/tr.js +3 -0
- package/node_modules/zod/v4/locales/uk.cjs +3 -0
- package/node_modules/zod/v4/locales/uk.js +3 -0
- package/node_modules/zod/v4/locales/ur.cjs +3 -0
- package/node_modules/zod/v4/locales/ur.js +3 -0
- package/node_modules/zod/v4/locales/uz.cjs +1 -0
- package/node_modules/zod/v4/locales/uz.js +1 -0
- package/node_modules/zod/v4/locales/vi.cjs +3 -0
- package/node_modules/zod/v4/locales/vi.js +3 -0
- package/node_modules/zod/v4/locales/yo.cjs +3 -0
- package/node_modules/zod/v4/locales/yo.js +3 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
- package/node_modules/zod/v4/locales/zh-CN.js +3 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
- package/node_modules/zod/v4/locales/zh-TW.js +3 -0
- package/node_modules/zod/v4/mini/checks.cjs +2 -1
- package/node_modules/zod/v4/mini/checks.d.cts +1 -1
- package/node_modules/zod/v4/mini/checks.d.ts +1 -1
- package/node_modules/zod/v4/mini/checks.js +1 -1
- package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
- package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/node_modules/zod/v4/mini/external.cjs +12 -1
- package/node_modules/zod/v4/mini/external.d.cts +5 -2
- package/node_modules/zod/v4/mini/external.d.ts +5 -2
- package/node_modules/zod/v4/mini/external.js +3 -1
- package/node_modules/zod/v4/mini/in-out.cjs +63 -0
- package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/node_modules/zod/v4/mini/in-out.js +36 -0
- package/node_modules/zod/v4/mini/parse.cjs +3 -1
- package/node_modules/zod/v4/mini/parse.d.cts +1 -1
- package/node_modules/zod/v4/mini/parse.d.ts +1 -1
- package/node_modules/zod/v4/mini/parse.js +1 -1
- package/node_modules/zod/v4/mini/schemas.cjs +75 -47
- package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
- package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
- package/node_modules/zod/v4/mini/schemas.js +71 -45
- package/openclaw.plugin.json +15 -0
- package/package.json +10 -8
- package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts +0 -15
- package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts.map +0 -1
- package/node_modules/@pierre/diffs/dist/editor/stateStorage.js +0 -65
- package/node_modules/@pierre/diffs/dist/editor/stateStorage.js.map +0 -1
- package/node_modules/playwright-core/lib/vite/dashboard/assets/index-CyWAfh-p.js +0 -11
- package/node_modules/playwright-core/lib/vite/dashboard/assets/index-DhC616m4.css +0 -1
- package/node_modules/playwright-core/lib/vite/recorder/assets/index-DYjdXIbE.js +0 -129
- package/node_modules/playwright-core/lib/vite/recorder/assets/index-l_lX622x.css +0 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-B-dXF5JN.js +0 -181
- package/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.BLFoOugd.css +0 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/index.KZ4wOW1K.js +0 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Dzuouizj.js +0 -5
- package/node_modules/zod/src/v4/core/config.ts +0 -15
- /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
|
+
});
|