prismatica 0.2.0
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/LICENSE +21 -0
- package/README.md +403 -0
- package/dist/agent-runner.js +656 -0
- package/dist/agent-runner.js.map +1 -0
- package/dist/assurance/mainpush.js +533 -0
- package/dist/assurance/mainpush.js.map +1 -0
- package/dist/assurance/outcome.js +165 -0
- package/dist/assurance/outcome.js.map +1 -0
- package/dist/assurance/passport.js +98 -0
- package/dist/assurance/passport.js.map +1 -0
- package/dist/assurance/proofinputs.js +425 -0
- package/dist/assurance/proofinputs.js.map +1 -0
- package/dist/atlas/diff.js +102 -0
- package/dist/atlas/diff.js.map +1 -0
- package/dist/atlas/evidence.js +31 -0
- package/dist/atlas/evidence.js.map +1 -0
- package/dist/atlas/hygiene.js +288 -0
- package/dist/atlas/hygiene.js.map +1 -0
- package/dist/atlas/impact.js +312 -0
- package/dist/atlas/impact.js.map +1 -0
- package/dist/atlas/labels.js +121 -0
- package/dist/atlas/labels.js.map +1 -0
- package/dist/atlas/next.js +327 -0
- package/dist/atlas/next.js.map +1 -0
- package/dist/atlas/packs.js +169 -0
- package/dist/atlas/packs.js.map +1 -0
- package/dist/atlas/presentation.js +349 -0
- package/dist/atlas/presentation.js.map +1 -0
- package/dist/atlas/render.js +269 -0
- package/dist/atlas/render.js.map +1 -0
- package/dist/atlas/store.js +389 -0
- package/dist/atlas/store.js.map +1 -0
- package/dist/board/html.js +1382 -0
- package/dist/board/html.js.map +1 -0
- package/dist/board/model.js +369 -0
- package/dist/board/model.js.map +1 -0
- package/dist/board/server.js +325 -0
- package/dist/board/server.js.map +1 -0
- package/dist/board/understand.js +128 -0
- package/dist/board/understand.js.map +1 -0
- package/dist/change.js +104 -0
- package/dist/change.js.map +1 -0
- package/dist/checkengine.js +220 -0
- package/dist/checkengine.js.map +1 -0
- package/dist/claudehook.js +189 -0
- package/dist/claudehook.js.map +1 -0
- package/dist/cli.js +1120 -0
- package/dist/cli.js.map +1 -0
- package/dist/clipboard.js +33 -0
- package/dist/clipboard.js.map +1 -0
- package/dist/commands/abandon.js +329 -0
- package/dist/commands/abandon.js.map +1 -0
- package/dist/commands/accept.js +85 -0
- package/dist/commands/accept.js.map +1 -0
- package/dist/commands/amend.js +158 -0
- package/dist/commands/amend.js.map +1 -0
- package/dist/commands/check.js +128 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/close.js +274 -0
- package/dist/commands/close.js.map +1 -0
- package/dist/commands/context.js +46 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/delta.js +192 -0
- package/dist/commands/delta.js.map +1 -0
- package/dist/commands/discover.js +173 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/doctor.js +384 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/flow.js +929 -0
- package/dist/commands/flow.js.map +1 -0
- package/dist/commands/forget.js +33 -0
- package/dist/commands/forget.js.map +1 -0
- package/dist/commands/frame.js +231 -0
- package/dist/commands/frame.js.map +1 -0
- package/dist/commands/gate.js +48 -0
- package/dist/commands/gate.js.map +1 -0
- package/dist/commands/guide.js +17 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/commands/init.js +257 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/merge.js +188 -0
- package/dist/commands/merge.js.map +1 -0
- package/dist/commands/next.js +352 -0
- package/dist/commands/next.js.map +1 -0
- package/dist/commands/open.js +255 -0
- package/dist/commands/open.js.map +1 -0
- package/dist/commands/pack.js +165 -0
- package/dist/commands/pack.js.map +1 -0
- package/dist/commands/propose.js +102 -0
- package/dist/commands/propose.js.map +1 -0
- package/dist/commands/ready.js +931 -0
- package/dist/commands/ready.js.map +1 -0
- package/dist/commands/review.js +434 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/rules.js +399 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/commands/seal.js +52 -0
- package/dist/commands/seal.js.map +1 -0
- package/dist/commands/ship.js +333 -0
- package/dist/commands/ship.js.map +1 -0
- package/dist/commands/start.js +1164 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/stats.js +100 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/view.js +23 -0
- package/dist/commands/view.js.map +1 -0
- package/dist/config.js +46 -0
- package/dist/config.js.map +1 -0
- package/dist/detect.js +495 -0
- package/dist/detect.js.map +1 -0
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -0
- package/dist/evidence.js +20 -0
- package/dist/evidence.js.map +1 -0
- package/dist/executor.js +256 -0
- package/dist/executor.js.map +1 -0
- package/dist/gate.js +109 -0
- package/dist/gate.js.map +1 -0
- package/dist/gh.js +236 -0
- package/dist/gh.js.map +1 -0
- package/dist/git.js +589 -0
- package/dist/git.js.map +1 -0
- package/dist/guide.js +2038 -0
- package/dist/guide.js.map +1 -0
- package/dist/ids.js +60 -0
- package/dist/ids.js.map +1 -0
- package/dist/keys.js +58 -0
- package/dist/keys.js.map +1 -0
- package/dist/ledger.js +197 -0
- package/dist/ledger.js.map +1 -0
- package/dist/paths.js +109 -0
- package/dist/paths.js.map +1 -0
- package/dist/planning/context.js +94 -0
- package/dist/planning/context.js.map +1 -0
- package/dist/planning/materialise.js +210 -0
- package/dist/planning/materialise.js.map +1 -0
- package/dist/planning/pack.js +290 -0
- package/dist/planning/pack.js.map +1 -0
- package/dist/planning/schema.js +296 -0
- package/dist/planning/schema.js.map +1 -0
- package/dist/planning/snapshot.js +308 -0
- package/dist/planning/snapshot.js.map +1 -0
- package/dist/planning/validate.js +417 -0
- package/dist/planning/validate.js.map +1 -0
- package/dist/prepush.js +192 -0
- package/dist/prepush.js.map +1 -0
- package/dist/records/store.js +268 -0
- package/dist/records/store.js.map +1 -0
- package/dist/records/types.js +836 -0
- package/dist/records/types.js.map +1 -0
- package/dist/registry.js +68 -0
- package/dist/registry.js.map +1 -0
- package/dist/render.js +275 -0
- package/dist/render.js.map +1 -0
- package/dist/runtime.js +47 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scope.js +62 -0
- package/dist/scope.js.map +1 -0
- package/dist/secrets.js +24 -0
- package/dist/secrets.js.map +1 -0
- package/dist/selfhost.js +199 -0
- package/dist/selfhost.js.map +1 -0
- package/dist/shellquote.js +5 -0
- package/dist/shellquote.js.map +1 -0
- package/dist/skills.js +398 -0
- package/dist/skills.js.map +1 -0
- package/dist/state.js +62 -0
- package/dist/state.js.map +1 -0
- package/dist/templates.js +264 -0
- package/dist/templates.js.map +1 -0
- package/dist/tier.js +48 -0
- package/dist/tier.js.map +1 -0
- package/dist/ui.js +94 -0
- package/dist/ui.js.map +1 -0
- package/dist/vitestreport.js +59 -0
- package/dist/vitestreport.js.map +1 -0
- package/dist/worktree.js +31 -0
- package/dist/worktree.js.map +1 -0
- package/node_modules/@inquirer/ansi/LICENSE +22 -0
- package/node_modules/@inquirer/ansi/README.md +89 -0
- package/node_modules/@inquirer/ansi/dist/index.d.ts +14 -0
- package/node_modules/@inquirer/ansi/dist/index.js +21 -0
- package/node_modules/@inquirer/ansi/package.json +78 -0
- package/node_modules/@inquirer/checkbox/LICENSE +22 -0
- package/node_modules/@inquirer/checkbox/README.md +195 -0
- package/node_modules/@inquirer/checkbox/dist/index.d.ts +56 -0
- package/node_modules/@inquirer/checkbox/dist/index.js +210 -0
- package/node_modules/@inquirer/checkbox/package.json +92 -0
- package/node_modules/@inquirer/confirm/LICENSE +22 -0
- package/node_modules/@inquirer/confirm/README.md +92 -0
- package/node_modules/@inquirer/confirm/dist/index.d.ts +10 -0
- package/node_modules/@inquirer/confirm/dist/index.js +48 -0
- package/node_modules/@inquirer/confirm/package.json +90 -0
- package/node_modules/@inquirer/core/LICENSE +22 -0
- package/node_modules/@inquirer/core/README.md +386 -0
- package/node_modules/@inquirer/core/dist/index.d.ts +13 -0
- package/node_modules/@inquirer/core/dist/index.js +12 -0
- package/node_modules/@inquirer/core/dist/lib/Separator.d.ts +10 -0
- package/node_modules/@inquirer/core/dist/lib/Separator.js +21 -0
- package/node_modules/@inquirer/core/dist/lib/create-prompt.d.ts +4 -0
- package/node_modules/@inquirer/core/dist/lib/create-prompt.js +165 -0
- package/node_modules/@inquirer/core/dist/lib/errors.d.ts +20 -0
- package/node_modules/@inquirer/core/dist/lib/errors.js +21 -0
- package/node_modules/@inquirer/core/dist/lib/hook-engine.d.ts +23 -0
- package/node_modules/@inquirer/core/dist/lib/hook-engine.js +111 -0
- package/node_modules/@inquirer/core/dist/lib/key.d.ts +15 -0
- package/node_modules/@inquirer/core/dist/lib/key.js +34 -0
- package/node_modules/@inquirer/core/dist/lib/make-theme.d.ts +3 -0
- package/node_modules/@inquirer/core/dist/lib/make-theme.js +32 -0
- package/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.d.ts +16 -0
- package/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.js +121 -0
- package/node_modules/@inquirer/core/dist/lib/promise-polyfill.d.ts +7 -0
- package/node_modules/@inquirer/core/dist/lib/promise-polyfill.js +14 -0
- package/node_modules/@inquirer/core/dist/lib/screen-manager.d.ts +14 -0
- package/node_modules/@inquirer/core/dist/lib/screen-manager.js +84 -0
- package/node_modules/@inquirer/core/dist/lib/theme.d.ts +166 -0
- package/node_modules/@inquirer/core/dist/lib/theme.js +29 -0
- package/node_modules/@inquirer/core/dist/lib/use-effect.d.ts +2 -0
- package/node_modules/@inquirer/core/dist/lib/use-effect.js +11 -0
- package/node_modules/@inquirer/core/dist/lib/use-keypress.d.ts +3 -0
- package/node_modules/@inquirer/core/dist/lib/use-keypress.js +20 -0
- package/node_modules/@inquirer/core/dist/lib/use-memo.d.ts +1 -0
- package/node_modules/@inquirer/core/dist/lib/use-memo.js +14 -0
- package/node_modules/@inquirer/core/dist/lib/use-prefix.d.ts +5 -0
- package/node_modules/@inquirer/core/dist/lib/use-prefix.js +35 -0
- package/node_modules/@inquirer/core/dist/lib/use-ref.d.ts +6 -0
- package/node_modules/@inquirer/core/dist/lib/use-ref.js +4 -0
- package/node_modules/@inquirer/core/dist/lib/use-state.d.ts +4 -0
- package/node_modules/@inquirer/core/dist/lib/use-state.js +23 -0
- package/node_modules/@inquirer/core/dist/lib/utils.d.ts +13 -0
- package/node_modules/@inquirer/core/dist/lib/utils.js +25 -0
- package/node_modules/@inquirer/core/package.json +97 -0
- package/node_modules/@inquirer/editor/LICENSE +22 -0
- package/node_modules/@inquirer/editor/README.md +101 -0
- package/node_modules/@inquirer/editor/dist/index.d.ts +21 -0
- package/node_modules/@inquirer/editor/dist/index.js +73 -0
- package/node_modules/@inquirer/editor/package.json +91 -0
- package/node_modules/@inquirer/expand/LICENSE +22 -0
- package/node_modules/@inquirer/expand/README.md +141 -0
- package/node_modules/@inquirer/expand/dist/index.d.ts +24 -0
- package/node_modules/@inquirer/expand/dist/index.js +110 -0
- package/node_modules/@inquirer/expand/package.json +90 -0
- package/node_modules/@inquirer/external-editor/LICENSE +22 -0
- package/node_modules/@inquirer/external-editor/README.md +154 -0
- package/node_modules/@inquirer/external-editor/dist/errors/CreateFileError.d.ts +10 -0
- package/node_modules/@inquirer/external-editor/dist/errors/CreateFileError.js +13 -0
- package/node_modules/@inquirer/external-editor/dist/errors/LaunchEditorError.d.ts +10 -0
- package/node_modules/@inquirer/external-editor/dist/errors/LaunchEditorError.js +13 -0
- package/node_modules/@inquirer/external-editor/dist/errors/ReadFileError.d.ts +10 -0
- package/node_modules/@inquirer/external-editor/dist/errors/ReadFileError.js +13 -0
- package/node_modules/@inquirer/external-editor/dist/errors/RemoveFileError.d.ts +10 -0
- package/node_modules/@inquirer/external-editor/dist/errors/RemoveFileError.js +13 -0
- package/node_modules/@inquirer/external-editor/dist/errors.d.ts +20 -0
- package/node_modules/@inquirer/external-editor/dist/errors.js +32 -0
- package/node_modules/@inquirer/external-editor/dist/index.d.ts +35 -0
- package/node_modules/@inquirer/external-editor/dist/index.js +146 -0
- package/node_modules/@inquirer/external-editor/dist/parse-editor-command.d.ts +5 -0
- package/node_modules/@inquirer/external-editor/dist/parse-editor-command.js +28 -0
- package/node_modules/@inquirer/external-editor/package.json +97 -0
- package/node_modules/@inquirer/figures/LICENSE +22 -0
- package/node_modules/@inquirer/figures/dist/index.d.ts +275 -0
- package/node_modules/@inquirer/figures/dist/index.js +315 -0
- package/node_modules/@inquirer/figures/package.json +80 -0
- package/node_modules/@inquirer/input/LICENSE +22 -0
- package/node_modules/@inquirer/input/README.md +101 -0
- package/node_modules/@inquirer/input/dist/index.d.ts +20 -0
- package/node_modules/@inquirer/input/dist/index.js +99 -0
- package/node_modules/@inquirer/input/package.json +90 -0
- package/node_modules/@inquirer/number/LICENSE +22 -0
- package/node_modules/@inquirer/number/README.md +95 -0
- package/node_modules/@inquirer/number/dist/index.d.ts +13 -0
- package/node_modules/@inquirer/number/dist/index.js +95 -0
- package/node_modules/@inquirer/number/package.json +90 -0
- package/node_modules/@inquirer/password/LICENSE +22 -0
- package/node_modules/@inquirer/password/README.md +93 -0
- package/node_modules/@inquirer/password/dist/index.d.ts +15 -0
- package/node_modules/@inquirer/password/dist/index.js +60 -0
- package/node_modules/@inquirer/password/package.json +91 -0
- package/node_modules/@inquirer/prompts/LICENSE +22 -0
- package/node_modules/@inquirer/prompts/README.md +543 -0
- package/node_modules/@inquirer/prompts/dist/index.d.ts +10 -0
- package/node_modules/@inquirer/prompts/dist/index.js +10 -0
- package/node_modules/@inquirer/prompts/package.json +101 -0
- package/node_modules/@inquirer/rawlist/LICENSE +22 -0
- package/node_modules/@inquirer/rawlist/README.md +135 -0
- package/node_modules/@inquirer/rawlist/dist/index.d.ts +23 -0
- package/node_modules/@inquirer/rawlist/dist/index.js +145 -0
- package/node_modules/@inquirer/rawlist/package.json +90 -0
- package/node_modules/@inquirer/search/LICENSE +22 -0
- package/node_modules/@inquirer/search/README.md +213 -0
- package/node_modules/@inquirer/search/dist/index.d.ts +33 -0
- package/node_modules/@inquirer/search/dist/index.js +195 -0
- package/node_modules/@inquirer/search/package.json +91 -0
- package/node_modules/@inquirer/select/LICENSE +22 -0
- package/node_modules/@inquirer/select/README.md +188 -0
- package/node_modules/@inquirer/select/dist/index.d.ts +34 -0
- package/node_modules/@inquirer/select/dist/index.js +191 -0
- package/node_modules/@inquirer/select/package.json +92 -0
- package/node_modules/@inquirer/type/LICENSE +22 -0
- package/node_modules/@inquirer/type/dist/index.d.ts +2 -0
- package/node_modules/@inquirer/type/dist/index.js +2 -0
- package/node_modules/@inquirer/type/dist/inquirer.d.ts +35 -0
- package/node_modules/@inquirer/type/dist/inquirer.js +1 -0
- package/node_modules/@inquirer/type/dist/utils.d.ts +29 -0
- package/node_modules/@inquirer/type/dist/utils.js +2 -0
- package/node_modules/@inquirer/type/package.json +87 -0
- package/node_modules/@sec-ant/readable-stream/LICENSE +21 -0
- package/node_modules/@sec-ant/readable-stream/README.md +230 -0
- package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterablePrototype.d.ts +1 -0
- package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterator.d.ts +27 -0
- package/node_modules/@sec-ant/readable-stream/dist/core/fromAnyIterable.d.ts +6 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.d.ts +2 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.js +5 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.d.ts +2 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.js +5 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/index.d.ts +2 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/index.js +8 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.d.ts +1 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.js +3 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.d.ts +1 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.js +2 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.d.ts +2 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.js +4 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.d.ts +1 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js +89 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.d.ts +1 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js +34 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.d.ts +2 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js +6 -0
- package/node_modules/@sec-ant/readable-stream/dist/types/async-iterator.d.ts +11 -0
- package/node_modules/@sec-ant/readable-stream/package.json +96 -0
- package/node_modules/@sindresorhus/merge-streams/index.d.ts +44 -0
- package/node_modules/@sindresorhus/merge-streams/index.js +265 -0
- package/node_modules/@sindresorhus/merge-streams/license +9 -0
- package/node_modules/@sindresorhus/merge-streams/package.json +49 -0
- package/node_modules/@sindresorhus/merge-streams/readme.md +53 -0
- package/node_modules/argparse/LICENSE +21 -0
- package/node_modules/argparse/README.md +257 -0
- package/node_modules/argparse/index.js +3 -0
- package/node_modules/argparse/lib/action/append/constant.js +47 -0
- package/node_modules/argparse/lib/action/append.js +53 -0
- package/node_modules/argparse/lib/action/count.js +40 -0
- package/node_modules/argparse/lib/action/help.js +47 -0
- package/node_modules/argparse/lib/action/store/constant.js +43 -0
- package/node_modules/argparse/lib/action/store/false.js +27 -0
- package/node_modules/argparse/lib/action/store/true.js +26 -0
- package/node_modules/argparse/lib/action/store.js +50 -0
- package/node_modules/argparse/lib/action/subparsers.js +149 -0
- package/node_modules/argparse/lib/action/version.js +47 -0
- package/node_modules/argparse/lib/action.js +146 -0
- package/node_modules/argparse/lib/action_container.js +482 -0
- package/node_modules/argparse/lib/argparse.js +14 -0
- package/node_modules/argparse/lib/argument/error.js +50 -0
- package/node_modules/argparse/lib/argument/exclusive.js +54 -0
- package/node_modules/argparse/lib/argument/group.js +75 -0
- package/node_modules/argparse/lib/argument_parser.js +1161 -0
- package/node_modules/argparse/lib/const.js +21 -0
- package/node_modules/argparse/lib/help/added_formatters.js +87 -0
- package/node_modules/argparse/lib/help/formatter.js +795 -0
- package/node_modules/argparse/lib/namespace.js +76 -0
- package/node_modules/argparse/lib/utils.js +57 -0
- package/node_modules/argparse/package.json +34 -0
- package/node_modules/chardet/LICENSE +19 -0
- package/node_modules/chardet/README.md +135 -0
- package/node_modules/chardet/lib/encoding/ascii.d.ts +6 -0
- package/node_modules/chardet/lib/encoding/ascii.js +23 -0
- package/node_modules/chardet/lib/encoding/ascii.js.map +1 -0
- package/node_modules/chardet/lib/encoding/index.d.ts +14 -0
- package/node_modules/chardet/lib/encoding/index.js +3 -0
- package/node_modules/chardet/lib/encoding/index.js.map +1 -0
- package/node_modules/chardet/lib/encoding/iso2022.d.ts +23 -0
- package/node_modules/chardet/lib/encoding/iso2022.js +114 -0
- package/node_modules/chardet/lib/encoding/iso2022.js.map +1 -0
- package/node_modules/chardet/lib/encoding/mbcs.d.ts +50 -0
- package/node_modules/chardet/lib/encoding/mbcs.js +347 -0
- package/node_modules/chardet/lib/encoding/mbcs.js.map +1 -0
- package/node_modules/chardet/lib/encoding/sbcs.d.ts +94 -0
- package/node_modules/chardet/lib/encoding/sbcs.js +935 -0
- package/node_modules/chardet/lib/encoding/sbcs.js.map +1 -0
- package/node_modules/chardet/lib/encoding/unicode.d.ts +27 -0
- package/node_modules/chardet/lib/encoding/unicode.js +109 -0
- package/node_modules/chardet/lib/encoding/unicode.js.map +1 -0
- package/node_modules/chardet/lib/encoding/utf8.d.ts +6 -0
- package/node_modules/chardet/lib/encoding/utf8.js +72 -0
- package/node_modules/chardet/lib/encoding/utf8.js.map +1 -0
- package/node_modules/chardet/lib/fs/browser.d.ts +2 -0
- package/node_modules/chardet/lib/fs/browser.js +6 -0
- package/node_modules/chardet/lib/fs/browser.js.map +1 -0
- package/node_modules/chardet/lib/fs/node.d.ts +2 -0
- package/node_modules/chardet/lib/fs/node.js +11 -0
- package/node_modules/chardet/lib/fs/node.js.map +1 -0
- package/node_modules/chardet/lib/index.d.ts +20 -0
- package/node_modules/chardet/lib/index.js +177 -0
- package/node_modules/chardet/lib/index.js.map +1 -0
- package/node_modules/chardet/lib/match.d.ts +9 -0
- package/node_modules/chardet/lib/match.js +8 -0
- package/node_modules/chardet/lib/match.js.map +1 -0
- package/node_modules/chardet/lib/utils.d.ts +1 -0
- package/node_modules/chardet/lib/utils.js +10 -0
- package/node_modules/chardet/lib/utils.js.map +1 -0
- package/node_modules/chardet/package.json +100 -0
- package/node_modules/cli-width/LICENSE +13 -0
- package/node_modules/cli-width/README.md +71 -0
- package/node_modules/cli-width/index.d.ts +13 -0
- package/node_modules/cli-width/index.js +49 -0
- package/node_modules/cli-width/package.json +40 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1172 -0
- package/node_modules/commander/index.js +21 -0
- package/node_modules/commander/lib/argument.js +147 -0
- package/node_modules/commander/lib/command.js +2790 -0
- package/node_modules/commander/lib/error.js +36 -0
- package/node_modules/commander/lib/help.js +731 -0
- package/node_modules/commander/lib/option.js +377 -0
- package/node_modules/commander/lib/suggestSimilar.js +99 -0
- package/node_modules/commander/package-support.json +19 -0
- package/node_modules/commander/package.json +64 -0
- package/node_modules/commander/typings/index.d.ts +1113 -0
- package/node_modules/cross-spawn/LICENSE +21 -0
- package/node_modules/cross-spawn/README.md +89 -0
- package/node_modules/cross-spawn/index.js +39 -0
- package/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/node_modules/cross-spawn/lib/parse.js +91 -0
- package/node_modules/cross-spawn/lib/util/escape.js +47 -0
- package/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/node_modules/cross-spawn/package.json +73 -0
- package/node_modules/esprima/LICENSE.BSD +21 -0
- package/node_modules/esprima/README.md +46 -0
- package/node_modules/esprima/bin/esparse.js +139 -0
- package/node_modules/esprima/bin/esvalidate.js +236 -0
- package/node_modules/esprima/dist/esprima.js +6709 -0
- package/node_modules/esprima/package.json +112 -0
- package/node_modules/execa/index.d.ts +27 -0
- package/node_modules/execa/index.js +28 -0
- package/node_modules/execa/lib/arguments/command.js +20 -0
- package/node_modules/execa/lib/arguments/cwd.js +39 -0
- package/node_modules/execa/lib/arguments/encoding-option.js +50 -0
- package/node_modules/execa/lib/arguments/escape.js +88 -0
- package/node_modules/execa/lib/arguments/fd-options.js +108 -0
- package/node_modules/execa/lib/arguments/file-url.js +25 -0
- package/node_modules/execa/lib/arguments/options.js +96 -0
- package/node_modules/execa/lib/arguments/shell.js +11 -0
- package/node_modules/execa/lib/arguments/specific.js +111 -0
- package/node_modules/execa/lib/convert/add.js +15 -0
- package/node_modules/execa/lib/convert/concurrent.js +33 -0
- package/node_modules/execa/lib/convert/duplex.js +69 -0
- package/node_modules/execa/lib/convert/iterable.js +34 -0
- package/node_modules/execa/lib/convert/readable.js +113 -0
- package/node_modules/execa/lib/convert/shared.js +46 -0
- package/node_modules/execa/lib/convert/writable.js +90 -0
- package/node_modules/execa/lib/io/contents.js +116 -0
- package/node_modules/execa/lib/io/input-sync.js +44 -0
- package/node_modules/execa/lib/io/iterate.js +110 -0
- package/node_modules/execa/lib/io/max-buffer.js +89 -0
- package/node_modules/execa/lib/io/output-async.js +80 -0
- package/node_modules/execa/lib/io/output-sync.js +135 -0
- package/node_modules/execa/lib/io/pipeline.js +48 -0
- package/node_modules/execa/lib/io/strip-newline.js +12 -0
- package/node_modules/execa/lib/ipc/array.js +4 -0
- package/node_modules/execa/lib/ipc/buffer-messages.js +47 -0
- package/node_modules/execa/lib/ipc/forward.js +56 -0
- package/node_modules/execa/lib/ipc/get-each.js +89 -0
- package/node_modules/execa/lib/ipc/get-one.js +69 -0
- package/node_modules/execa/lib/ipc/graceful.js +72 -0
- package/node_modules/execa/lib/ipc/incoming.js +79 -0
- package/node_modules/execa/lib/ipc/ipc-input.js +44 -0
- package/node_modules/execa/lib/ipc/methods.js +49 -0
- package/node_modules/execa/lib/ipc/outgoing.js +47 -0
- package/node_modules/execa/lib/ipc/reference.js +44 -0
- package/node_modules/execa/lib/ipc/send.js +91 -0
- package/node_modules/execa/lib/ipc/strict.js +113 -0
- package/node_modules/execa/lib/ipc/validation.js +111 -0
- package/node_modules/execa/lib/methods/bind.js +23 -0
- package/node_modules/execa/lib/methods/command.js +43 -0
- package/node_modules/execa/lib/methods/create.js +65 -0
- package/node_modules/execa/lib/methods/main-async.js +194 -0
- package/node_modules/execa/lib/methods/main-sync.js +163 -0
- package/node_modules/execa/lib/methods/node.js +51 -0
- package/node_modules/execa/lib/methods/parameters.js +31 -0
- package/node_modules/execa/lib/methods/promise.js +15 -0
- package/node_modules/execa/lib/methods/script.js +22 -0
- package/node_modules/execa/lib/methods/template.js +153 -0
- package/node_modules/execa/lib/pipe/abort.js +20 -0
- package/node_modules/execa/lib/pipe/pipe-arguments.js +91 -0
- package/node_modules/execa/lib/pipe/sequence.js +24 -0
- package/node_modules/execa/lib/pipe/setup.js +72 -0
- package/node_modules/execa/lib/pipe/streaming.js +51 -0
- package/node_modules/execa/lib/pipe/throw.js +58 -0
- package/node_modules/execa/lib/resolve/all-async.js +46 -0
- package/node_modules/execa/lib/resolve/all-sync.js +33 -0
- package/node_modules/execa/lib/resolve/exit-async.js +54 -0
- package/node_modules/execa/lib/resolve/exit-sync.js +25 -0
- package/node_modules/execa/lib/resolve/stdio.js +47 -0
- package/node_modules/execa/lib/resolve/wait-stream.js +96 -0
- package/node_modules/execa/lib/resolve/wait-subprocess.js +146 -0
- package/node_modules/execa/lib/return/duration.js +8 -0
- package/node_modules/execa/lib/return/early-error.js +60 -0
- package/node_modules/execa/lib/return/final-error.js +40 -0
- package/node_modules/execa/lib/return/message.js +157 -0
- package/node_modules/execa/lib/return/reject.js +13 -0
- package/node_modules/execa/lib/return/result.js +186 -0
- package/node_modules/execa/lib/stdio/direction.js +76 -0
- package/node_modules/execa/lib/stdio/duplicate.js +116 -0
- package/node_modules/execa/lib/stdio/handle-async.js +52 -0
- package/node_modules/execa/lib/stdio/handle-sync.js +57 -0
- package/node_modules/execa/lib/stdio/handle.js +214 -0
- package/node_modules/execa/lib/stdio/input-option.js +50 -0
- package/node_modules/execa/lib/stdio/native.js +106 -0
- package/node_modules/execa/lib/stdio/stdio-option.js +60 -0
- package/node_modules/execa/lib/stdio/type.js +173 -0
- package/node_modules/execa/lib/terminate/cancel.js +20 -0
- package/node_modules/execa/lib/terminate/cleanup.js +16 -0
- package/node_modules/execa/lib/terminate/graceful.js +71 -0
- package/node_modules/execa/lib/terminate/kill.js +93 -0
- package/node_modules/execa/lib/terminate/signal.js +70 -0
- package/node_modules/execa/lib/terminate/timeout.js +21 -0
- package/node_modules/execa/lib/transform/encoding-transform.js +51 -0
- package/node_modules/execa/lib/transform/generator.js +107 -0
- package/node_modules/execa/lib/transform/normalize.js +111 -0
- package/node_modules/execa/lib/transform/object-mode.js +41 -0
- package/node_modules/execa/lib/transform/run-async.js +60 -0
- package/node_modules/execa/lib/transform/run-sync.js +50 -0
- package/node_modules/execa/lib/transform/split.js +110 -0
- package/node_modules/execa/lib/transform/validate.js +43 -0
- package/node_modules/execa/lib/utils/abort-signal.js +8 -0
- package/node_modules/execa/lib/utils/deferred.js +7 -0
- package/node_modules/execa/lib/utils/max-listeners.js +14 -0
- package/node_modules/execa/lib/utils/standard-stream.js +6 -0
- package/node_modules/execa/lib/utils/uint-array.js +69 -0
- package/node_modules/execa/lib/verbose/complete.js +24 -0
- package/node_modules/execa/lib/verbose/custom.js +26 -0
- package/node_modules/execa/lib/verbose/default.js +54 -0
- package/node_modules/execa/lib/verbose/error.js +13 -0
- package/node_modules/execa/lib/verbose/info.js +39 -0
- package/node_modules/execa/lib/verbose/ipc.js +15 -0
- package/node_modules/execa/lib/verbose/log.js +54 -0
- package/node_modules/execa/lib/verbose/output.js +60 -0
- package/node_modules/execa/lib/verbose/start.js +15 -0
- package/node_modules/execa/lib/verbose/values.js +33 -0
- package/node_modules/execa/license +9 -0
- package/node_modules/execa/package.json +105 -0
- package/node_modules/execa/readme.md +461 -0
- package/node_modules/execa/types/arguments/encoding-option.d.ts +19 -0
- package/node_modules/execa/types/arguments/fd-options.d.ts +8 -0
- package/node_modules/execa/types/arguments/options.d.ts +400 -0
- package/node_modules/execa/types/arguments/specific.d.ts +52 -0
- package/node_modules/execa/types/convert.d.ts +58 -0
- package/node_modules/execa/types/ipc.d.ts +156 -0
- package/node_modules/execa/types/methods/command.d.ts +114 -0
- package/node_modules/execa/types/methods/main-async.d.ts +379 -0
- package/node_modules/execa/types/methods/main-sync.d.ts +59 -0
- package/node_modules/execa/types/methods/node.d.ts +62 -0
- package/node_modules/execa/types/methods/script.d.ts +115 -0
- package/node_modules/execa/types/methods/template.d.ts +18 -0
- package/node_modules/execa/types/pipe.d.ts +58 -0
- package/node_modules/execa/types/return/final-error.d.ts +51 -0
- package/node_modules/execa/types/return/ignore.d.ts +26 -0
- package/node_modules/execa/types/return/result-all.d.ts +30 -0
- package/node_modules/execa/types/return/result-ipc.d.ts +27 -0
- package/node_modules/execa/types/return/result-stdio.d.ts +17 -0
- package/node_modules/execa/types/return/result-stdout.d.ts +50 -0
- package/node_modules/execa/types/return/result.d.ts +203 -0
- package/node_modules/execa/types/stdio/array.d.ts +16 -0
- package/node_modules/execa/types/stdio/direction.d.ts +12 -0
- package/node_modules/execa/types/stdio/option.d.ts +40 -0
- package/node_modules/execa/types/stdio/type.d.ts +170 -0
- package/node_modules/execa/types/subprocess/all.d.ts +17 -0
- package/node_modules/execa/types/subprocess/stdio.d.ts +18 -0
- package/node_modules/execa/types/subprocess/stdout.d.ts +22 -0
- package/node_modules/execa/types/subprocess/subprocess.d.ts +117 -0
- package/node_modules/execa/types/transform/normalize.d.ts +57 -0
- package/node_modules/execa/types/transform/object-mode.d.ts +21 -0
- package/node_modules/execa/types/utils.d.ts +13 -0
- package/node_modules/execa/types/verbose.d.ts +98 -0
- package/node_modules/extend-shallow/LICENSE +21 -0
- package/node_modules/extend-shallow/README.md +61 -0
- package/node_modules/extend-shallow/index.js +33 -0
- package/node_modules/extend-shallow/package.json +56 -0
- package/node_modules/fast-string-truncated-width/dist/index.d.ts +4 -0
- package/node_modules/fast-string-truncated-width/dist/index.js +111 -0
- package/node_modules/fast-string-truncated-width/dist/types.d.ts +19 -0
- package/node_modules/fast-string-truncated-width/dist/types.js +2 -0
- package/node_modules/fast-string-truncated-width/dist/utils.d.ts +4 -0
- package/node_modules/fast-string-truncated-width/dist/utils.js +20 -0
- package/node_modules/fast-string-truncated-width/license +21 -0
- package/node_modules/fast-string-truncated-width/package.json +35 -0
- package/node_modules/fast-string-truncated-width/readme.md +59 -0
- package/node_modules/fast-string-width/dist/index.d.ts +4 -0
- package/node_modules/fast-string-width/dist/index.js +14 -0
- package/node_modules/fast-string-width/license +21 -0
- package/node_modules/fast-string-width/package.json +34 -0
- package/node_modules/fast-string-width/readme.md +42 -0
- package/node_modules/fast-wrap-ansi/LICENSE +23 -0
- package/node_modules/fast-wrap-ansi/README.md +26 -0
- package/node_modules/fast-wrap-ansi/lib/main.d.ts +6 -0
- package/node_modules/fast-wrap-ansi/lib/main.js +218 -0
- package/node_modules/fast-wrap-ansi/package.json +51 -0
- package/node_modules/figures/index.d.ts +279 -0
- package/node_modules/figures/index.js +292 -0
- package/node_modules/figures/license +9 -0
- package/node_modules/figures/package.json +49 -0
- package/node_modules/figures/readme.md +337 -0
- package/node_modules/get-stream/license +9 -0
- package/node_modules/get-stream/package.json +60 -0
- package/node_modules/get-stream/readme.md +303 -0
- package/node_modules/get-stream/source/array-buffer.js +84 -0
- package/node_modules/get-stream/source/array.js +32 -0
- package/node_modules/get-stream/source/buffer.js +19 -0
- package/node_modules/get-stream/source/contents.js +121 -0
- package/node_modules/get-stream/source/exports.js +5 -0
- package/node_modules/get-stream/source/index.d.ts +121 -0
- package/node_modules/get-stream/source/index.js +13 -0
- package/node_modules/get-stream/source/stream.js +65 -0
- package/node_modules/get-stream/source/string.js +41 -0
- package/node_modules/get-stream/source/utils.js +11 -0
- package/node_modules/gray-matter/LICENSE +21 -0
- package/node_modules/gray-matter/README.md +565 -0
- package/node_modules/gray-matter/gray-matter.d.ts +114 -0
- package/node_modules/gray-matter/index.js +228 -0
- package/node_modules/gray-matter/lib/defaults.js +18 -0
- package/node_modules/gray-matter/lib/engine.js +30 -0
- package/node_modules/gray-matter/lib/engines.js +54 -0
- package/node_modules/gray-matter/lib/excerpt.js +32 -0
- package/node_modules/gray-matter/lib/parse.js +13 -0
- package/node_modules/gray-matter/lib/stringify.js +56 -0
- package/node_modules/gray-matter/lib/to-file.js +43 -0
- package/node_modules/gray-matter/lib/utils.js +66 -0
- package/node_modules/gray-matter/package.json +127 -0
- package/node_modules/human-signals/LICENSE +201 -0
- package/node_modules/human-signals/README.md +171 -0
- package/node_modules/human-signals/build/src/core.js +273 -0
- package/node_modules/human-signals/build/src/main.d.ts +206 -0
- package/node_modules/human-signals/build/src/main.js +70 -0
- package/node_modules/human-signals/build/src/realtime.js +16 -0
- package/node_modules/human-signals/build/src/signals.js +34 -0
- package/node_modules/human-signals/package.json +66 -0
- package/node_modules/iconv-lite/LICENSE +21 -0
- package/node_modules/iconv-lite/README.md +138 -0
- package/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/node_modules/iconv-lite/encodings/index.js +23 -0
- package/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/node_modules/iconv-lite/encodings/sbcs-data.js +180 -0
- package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/node_modules/iconv-lite/encodings/utf32.js +314 -0
- package/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/node_modules/iconv-lite/lib/index.d.ts +129 -0
- package/node_modules/iconv-lite/lib/index.js +182 -0
- package/node_modules/iconv-lite/lib/streams.js +105 -0
- package/node_modules/iconv-lite/package.json +70 -0
- package/node_modules/iconv-lite/types/encodings.d.ts +425 -0
- package/node_modules/is-extendable/LICENSE +21 -0
- package/node_modules/is-extendable/README.md +72 -0
- package/node_modules/is-extendable/index.js +13 -0
- package/node_modules/is-extendable/package.json +51 -0
- package/node_modules/is-plain-obj/index.d.ts +35 -0
- package/node_modules/is-plain-obj/index.js +8 -0
- package/node_modules/is-plain-obj/license +9 -0
- package/node_modules/is-plain-obj/package.json +41 -0
- package/node_modules/is-plain-obj/readme.md +58 -0
- package/node_modules/is-stream/index.d.ts +90 -0
- package/node_modules/is-stream/index.js +37 -0
- package/node_modules/is-stream/license +9 -0
- package/node_modules/is-stream/package.json +48 -0
- package/node_modules/is-stream/readme.md +57 -0
- package/node_modules/is-unicode-supported/index.d.ts +12 -0
- package/node_modules/is-unicode-supported/index.js +21 -0
- package/node_modules/is-unicode-supported/license +9 -0
- package/node_modules/is-unicode-supported/package.json +47 -0
- package/node_modules/is-unicode-supported/readme.md +35 -0
- package/node_modules/isexe/.npmignore +2 -0
- package/node_modules/isexe/LICENSE +15 -0
- package/node_modules/isexe/README.md +51 -0
- package/node_modules/isexe/index.js +57 -0
- package/node_modules/isexe/mode.js +41 -0
- package/node_modules/isexe/package.json +31 -0
- package/node_modules/isexe/test/basic.js +221 -0
- package/node_modules/isexe/windows.js +42 -0
- package/node_modules/js-yaml/LICENSE +21 -0
- package/node_modules/js-yaml/README.md +302 -0
- package/node_modules/js-yaml/bin/js-yaml.js +132 -0
- package/node_modules/js-yaml/dist/js-yaml.js +4011 -0
- package/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
- package/node_modules/js-yaml/index.js +7 -0
- package/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
- package/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
- package/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
- package/node_modules/js-yaml/lib/js-yaml/loader.js +1666 -0
- package/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
- package/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
- package/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
- package/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
- package/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
- package/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
- package/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
- package/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
- package/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
- package/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
- package/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
- package/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
- package/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
- package/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
- package/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
- package/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
- package/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
- package/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
- package/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
- package/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
- package/node_modules/js-yaml/lib/js-yaml.js +39 -0
- package/node_modules/js-yaml/package.json +52 -0
- package/node_modules/kind-of/LICENSE +21 -0
- package/node_modules/kind-of/README.md +367 -0
- package/node_modules/kind-of/index.js +129 -0
- package/node_modules/kind-of/package.json +88 -0
- package/node_modules/mute-stream/LICENSE +15 -0
- package/node_modules/mute-stream/README.md +68 -0
- package/node_modules/mute-stream/lib/index.js +142 -0
- package/node_modules/mute-stream/package.json +54 -0
- package/node_modules/npm-run-path/index.d.ts +90 -0
- package/node_modules/npm-run-path/index.js +55 -0
- package/node_modules/npm-run-path/license +9 -0
- package/node_modules/npm-run-path/node_modules/path-key/index.d.ts +31 -0
- package/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
- package/node_modules/npm-run-path/node_modules/path-key/license +9 -0
- package/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
- package/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
- package/node_modules/npm-run-path/package.json +52 -0
- package/node_modules/npm-run-path/readme.md +104 -0
- package/node_modules/parse-ms/index.d.ts +30 -0
- package/node_modules/parse-ms/index.js +45 -0
- package/node_modules/parse-ms/license +9 -0
- package/node_modules/parse-ms/package.json +47 -0
- package/node_modules/parse-ms/readme.md +46 -0
- package/node_modules/path-key/index.d.ts +40 -0
- package/node_modules/path-key/index.js +16 -0
- package/node_modules/path-key/license +9 -0
- package/node_modules/path-key/package.json +39 -0
- package/node_modules/path-key/readme.md +61 -0
- package/node_modules/picomatch/LICENSE +21 -0
- package/node_modules/picomatch/README.md +743 -0
- package/node_modules/picomatch/index.js +17 -0
- package/node_modules/picomatch/lib/constants.js +184 -0
- package/node_modules/picomatch/lib/parse.js +1416 -0
- package/node_modules/picomatch/lib/picomatch.js +361 -0
- package/node_modules/picomatch/lib/scan.js +391 -0
- package/node_modules/picomatch/lib/utils.js +72 -0
- package/node_modules/picomatch/package.json +83 -0
- package/node_modules/picomatch/posix.js +3 -0
- package/node_modules/pretty-ms/index.d.ts +157 -0
- package/node_modules/pretty-ms/index.js +149 -0
- package/node_modules/pretty-ms/license +9 -0
- package/node_modules/pretty-ms/package.json +55 -0
- package/node_modules/pretty-ms/readme.md +179 -0
- package/node_modules/safer-buffer/LICENSE +21 -0
- package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/node_modules/safer-buffer/Readme.md +156 -0
- package/node_modules/safer-buffer/dangerous.js +58 -0
- package/node_modules/safer-buffer/package.json +34 -0
- package/node_modules/safer-buffer/safer.js +77 -0
- package/node_modules/safer-buffer/tests.js +406 -0
- package/node_modules/section-matter/LICENSE +21 -0
- package/node_modules/section-matter/README.md +236 -0
- package/node_modules/section-matter/index.js +136 -0
- package/node_modules/section-matter/package.json +55 -0
- package/node_modules/shebang-command/index.js +19 -0
- package/node_modules/shebang-command/license +9 -0
- package/node_modules/shebang-command/package.json +34 -0
- package/node_modules/shebang-command/readme.md +34 -0
- package/node_modules/shebang-regex/index.d.ts +22 -0
- package/node_modules/shebang-regex/index.js +2 -0
- package/node_modules/shebang-regex/license +9 -0
- package/node_modules/shebang-regex/package.json +35 -0
- package/node_modules/shebang-regex/readme.md +33 -0
- package/node_modules/signal-exit/LICENSE.txt +16 -0
- package/node_modules/signal-exit/README.md +74 -0
- package/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
- package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
- package/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
- package/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
- package/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
- package/node_modules/signal-exit/dist/cjs/index.js +279 -0
- package/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
- package/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
- package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
- package/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
- package/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
- package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
- package/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
- package/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
- package/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
- package/node_modules/signal-exit/dist/mjs/index.js +275 -0
- package/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
- package/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
- package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
- package/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
- package/node_modules/signal-exit/package.json +106 -0
- package/node_modules/sprintf-js/.npmignore +1 -0
- package/node_modules/sprintf-js/LICENSE +24 -0
- package/node_modules/sprintf-js/README.md +88 -0
- package/node_modules/sprintf-js/bower.json +14 -0
- package/node_modules/sprintf-js/demo/angular.html +20 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
- package/node_modules/sprintf-js/gruntfile.js +36 -0
- package/node_modules/sprintf-js/package.json +22 -0
- package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
- package/node_modules/sprintf-js/src/sprintf.js +208 -0
- package/node_modules/sprintf-js/test/test.js +82 -0
- package/node_modules/strip-bom-string/LICENSE +21 -0
- package/node_modules/strip-bom-string/README.md +66 -0
- package/node_modules/strip-bom-string/index.js +15 -0
- package/node_modules/strip-bom-string/package.json +60 -0
- package/node_modules/strip-final-newline/index.d.ts +18 -0
- package/node_modules/strip-final-newline/index.js +26 -0
- package/node_modules/strip-final-newline/license +9 -0
- package/node_modules/strip-final-newline/package.json +49 -0
- package/node_modules/strip-final-newline/readme.md +34 -0
- package/node_modules/unicorn-magic/default.d.ts +13 -0
- package/node_modules/unicorn-magic/default.js +14 -0
- package/node_modules/unicorn-magic/license +9 -0
- package/node_modules/unicorn-magic/node.d.ts +125 -0
- package/node_modules/unicorn-magic/node.js +49 -0
- package/node_modules/unicorn-magic/package.json +62 -0
- package/node_modules/unicorn-magic/readme.md +25 -0
- package/node_modules/which/LICENSE +15 -0
- package/node_modules/which/README.md +54 -0
- package/node_modules/which/bin/node-which +52 -0
- package/node_modules/which/package.json +43 -0
- package/node_modules/which/which.js +125 -0
- package/node_modules/yaml/LICENSE +13 -0
- package/node_modules/yaml/README.md +172 -0
- package/node_modules/yaml/bin.mjs +11 -0
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
- package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/node_modules/yaml/browser/dist/errors.js +57 -0
- package/node_modules/yaml/browser/dist/index.js +17 -0
- package/node_modules/yaml/browser/dist/log.js +11 -0
- package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
- package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
- package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
- package/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/node_modules/yaml/browser/dist/util.js +11 -0
- package/node_modules/yaml/browser/dist/visit.js +233 -0
- package/node_modules/yaml/browser/index.js +5 -0
- package/node_modules/yaml/browser/package.json +3 -0
- package/node_modules/yaml/dist/cli.d.ts +8 -0
- package/node_modules/yaml/dist/cli.mjs +201 -0
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/node_modules/yaml/dist/compose/compose-node.js +112 -0
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/node_modules/yaml/dist/compose/composer.js +224 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/node_modules/yaml/dist/doc/Document.js +337 -0
- package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/node_modules/yaml/dist/doc/directives.js +178 -0
- package/node_modules/yaml/dist/errors.d.ts +21 -0
- package/node_modules/yaml/dist/errors.js +62 -0
- package/node_modules/yaml/dist/index.d.ts +25 -0
- package/node_modules/yaml/dist/index.js +50 -0
- package/node_modules/yaml/dist/log.d.ts +3 -0
- package/node_modules/yaml/dist/log.js +19 -0
- package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/Alias.js +118 -0
- package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
- package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/node_modules/yaml/dist/options.d.ts +350 -0
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/node_modules/yaml/dist/parse/cst.js +112 -0
- package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/node_modules/yaml/dist/parse/lexer.js +723 -0
- package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/node_modules/yaml/dist/parse/parser.js +980 -0
- package/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/node_modules/yaml/dist/public-api.js +107 -0
- package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/node_modules/yaml/dist/schema/tags.js +99 -0
- package/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/node_modules/yaml/dist/stringify/stringify.js +132 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/node_modules/yaml/dist/test-events.js +134 -0
- package/node_modules/yaml/dist/util.d.ts +16 -0
- package/node_modules/yaml/dist/util.js +28 -0
- package/node_modules/yaml/dist/visit.d.ts +102 -0
- package/node_modules/yaml/dist/visit.js +236 -0
- package/node_modules/yaml/package.json +97 -0
- package/node_modules/yaml/util.js +2 -0
- package/node_modules/yoctocolors/base.d.ts +47 -0
- package/node_modules/yoctocolors/base.js +94 -0
- package/node_modules/yoctocolors/index.d.ts +2 -0
- package/node_modules/yoctocolors/index.js +2 -0
- package/node_modules/yoctocolors/license +9 -0
- package/node_modules/yoctocolors/package.json +69 -0
- package/node_modules/yoctocolors/readme.md +138 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +191 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +7 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +7 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +52 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1823 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +153 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +455 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +190 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
- package/node_modules/zod/src/v4/core/util.ts +983 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/el.ts +121 -0
- package/node_modules/zod/src/v4/locales/en.ts +123 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +132 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hr.ts +131 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +52 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ro.ts +129 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +117 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +41 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +7 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +16 -0
- package/node_modules/zod/v4/classic/external.d.ts +16 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +7 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
- package/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/node_modules/zod/v4/core/api.cjs +1227 -0
- package/node_modules/zod/v4/core/api.d.cts +325 -0
- package/node_modules/zod/v4/core/api.d.ts +325 -0
- package/node_modules/zod/v4/core/api.js +1087 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +85 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +78 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +216 -0
- package/node_modules/zod/v4/core/errors.d.cts +221 -0
- package/node_modules/zod/v4/core/errors.d.ts +221 -0
- package/node_modules/zod/v4/core/errors.js +185 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +7 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +172 -0
- package/node_modules/zod/v4/core/regexes.d.cts +85 -0
- package/node_modules/zod/v4/core/regexes.d.ts +85 -0
- package/node_modules/zod/v4/core/regexes.js +139 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2270 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
- package/node_modules/zod/v4/core/schemas.js +2239 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +448 -0
- package/node_modules/zod/v4/core/util.cjs +734 -0
- package/node_modules/zod/v4/core/util.d.cts +200 -0
- package/node_modules/zod/v4/core/util.d.ts +200 -0
- package/node_modules/zod/v4/core/util.js +674 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/el.cjs +136 -0
- package/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/node_modules/zod/v4/locales/el.js +109 -0
- package/node_modules/zod/v4/locales/en.cjs +140 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +113 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +152 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +125 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hr.cjs +149 -0
- package/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/node_modules/zod/v4/locales/hr.js +122 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +111 -0
- package/node_modules/zod/v4/locales/index.d.cts +52 -0
- package/node_modules/zod/v4/locales/index.d.ts +52 -0
- package/node_modules/zod/v4/locales/index.js +52 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +7 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ro.cjs +146 -0
- package/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/node_modules/zod/v4/locales/ro.js +119 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +137 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +110 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +13 -0
- package/node_modules/zod/v4/mini/external.d.ts +13 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +7 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
- package/node_modules/zod/v4/mini/schemas.js +961 -0
- package/node_modules/zod/v4/package.json +7 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +7 -0
- package/package.json +57 -0
|
@@ -0,0 +1,931 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable bookkeeping for the agent-driven Get Change Ready loop.
|
|
3
|
+
*
|
|
4
|
+
* This command starts no agent, calls no model, reads no chat and decides no
|
|
5
|
+
* verdict. It appends validated facts supplied through strict JSON, then a
|
|
6
|
+
* read-only status call reconstructs the owner card from those events and Git.
|
|
7
|
+
*
|
|
8
|
+
* The events live in `.prismatica/ready.jsonl`, beside the assurance ledger and
|
|
9
|
+
* never in it. Assurance consumers therefore cannot see them at all, rather
|
|
10
|
+
* than seeing them and filtering: a baseline reader parses every LEDGER line
|
|
11
|
+
* with `LedgerEntrySchema`, so a Ready event appended after a Check made that
|
|
12
|
+
* file malformed at exactly the position `latestCheckStanding` fails closed on.
|
|
13
|
+
*
|
|
14
|
+
* ORDER between the two files is never consulted, which is what makes two files
|
|
15
|
+
* safe. The single question that needed it — "is this Check inside the run?" —
|
|
16
|
+
* is answered by the boundary's own `checkRunsBefore`, an index into this
|
|
17
|
+
* contract's check rows that a partition cannot move.
|
|
18
|
+
*/
|
|
19
|
+
import { randomUUID } from 'node:crypto';
|
|
20
|
+
import fs from 'node:fs';
|
|
21
|
+
import path from 'node:path';
|
|
22
|
+
import { stripVTControlCharacters } from 'node:util';
|
|
23
|
+
import { isCheckEvidenceFile, laneRelative } from '../assurance/proofinputs.js';
|
|
24
|
+
import { listOpenChanges, resolveChangeHome, resolveContractId } from '../change.js';
|
|
25
|
+
import { loadConfig } from '../config.js';
|
|
26
|
+
import { UserError } from '../errors.js';
|
|
27
|
+
import * as git from '../git.js';
|
|
28
|
+
import { appendReadyEvent, migrateReadyEvents, readLedger, readReadyLog } from '../ledger.js';
|
|
29
|
+
import { ledgerPath, readyLogPath } from '../paths.js';
|
|
30
|
+
import { readAnswerFile } from '../planning/context.js';
|
|
31
|
+
import { contractExists, parseMarkdownRecord, readContract, readReview, reviewPath, } from '../records/store.js';
|
|
32
|
+
import { CheckEvidenceSchema, READY_RECORD_FORMAT, ReadyCheckAttemptEventSchema, ReadyRecordImportSchema, ReadyReviewAttemptEventSchema, ReadyReviewDraftedEventSchema, ReadyRunStartedEventSchema, ReadyStoppedEventSchema, ReviewSchema, } from '../records/types.js';
|
|
33
|
+
import * as ui from '../ui.js';
|
|
34
|
+
const MAX_ATTEMPTS = 3;
|
|
35
|
+
function readRunLog(home, contractId) {
|
|
36
|
+
const ready = readReadyLog(home);
|
|
37
|
+
const ledger = readLedger(home);
|
|
38
|
+
const named = (file) => (line) => ({
|
|
39
|
+
file: laneRelative(home, file),
|
|
40
|
+
lineNumber: line.lineNumber,
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
events: ready.events.filter((event) => event.contractId === contractId),
|
|
44
|
+
checks: ledger.entries.filter((entry) => entry.contractId === contractId && entry.event === 'check_run'),
|
|
45
|
+
ledgerEntries: ledger.entries.length,
|
|
46
|
+
malformed: [
|
|
47
|
+
...ledger.malformed.map(named(ledgerPath(home))),
|
|
48
|
+
...ready.malformed.map(named(readyLogPath(home))),
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function samePlan(left, right) {
|
|
53
|
+
return JSON.stringify(left) === JSON.stringify(right);
|
|
54
|
+
}
|
|
55
|
+
function parseImport(raw, importFile) {
|
|
56
|
+
const parsed = ReadyRecordImportSchema.safeParse(raw);
|
|
57
|
+
if (parsed.success)
|
|
58
|
+
return parsed.data;
|
|
59
|
+
throw new UserError(`The ready record is invalid:\n${parsed.error.issues
|
|
60
|
+
.map((issue) => ` - ${issue.path.join('.') || '<root>'}: ${issue.message}`)
|
|
61
|
+
.join('\n')}`, {
|
|
62
|
+
command: `prismatica ready record --import ${importFile}`,
|
|
63
|
+
why: 'ready records are strict JSON; unknown, missing or wrongly typed fields are refused before the ledger changes',
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The last event that speaks for a run's STATE, or `null`.
|
|
68
|
+
*
|
|
69
|
+
* `ready_review_drafted` is excluded for the reason `statusAt` states at its own
|
|
70
|
+
* call site: `review` writes it, not the controller, and it carries a
|
|
71
|
+
* `stopState` it does not thereby CLAIM. One implementation, because the card,
|
|
72
|
+
* the rollover guard and the boundary-chain audit must agree about whether a run
|
|
73
|
+
* has stopped — a rollover permitted on a state the card calls `running` would
|
|
74
|
+
* be exactly the contradiction the budget counters were repaired to avoid.
|
|
75
|
+
*/
|
|
76
|
+
function latestStateEvent(events, runId) {
|
|
77
|
+
return (events
|
|
78
|
+
.filter((event) => event.runId === runId && event.event !== 'ready_review_drafted')
|
|
79
|
+
.at(-1) ?? null);
|
|
80
|
+
}
|
|
81
|
+
function requireRunRunning(events, start, contractId) {
|
|
82
|
+
const state = latestStateEvent(events, start.runId)?.stopState ?? 'running';
|
|
83
|
+
if (state !== 'running') {
|
|
84
|
+
throw new UserError(`Get Change Ready run ${start.runId} has stopped (${state}).`, {
|
|
85
|
+
command: `prismatica ready status ${contractId}`,
|
|
86
|
+
why: 'only the owner may open a new run; a stopped run accepts no further attempts',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The ACTIVE run's boundary — the last link of a verified chain — or `null`.
|
|
92
|
+
*
|
|
93
|
+
* A contract once held exactly ONE boundary and a second was refused outright as
|
|
94
|
+
* ambiguous. That refusal was the only thing standing between a hand-appended
|
|
95
|
+
* `ready_run_started` line and a reset attempt budget, so the owner-authorised
|
|
96
|
+
* rollover could not simply take "the latest one wins": that would hand fresh
|
|
97
|
+
* budgets to any second boundary, from any source, which is the limit removed
|
|
98
|
+
* rather than governed.
|
|
99
|
+
*
|
|
100
|
+
* So multiple boundaries are accepted only as a CHAIN the ledger itself can
|
|
101
|
+
* verify. The first names no predecessor; every later one must name the
|
|
102
|
+
* immediately-preceding boundary's `runId` in `supersedes`, and the run it
|
|
103
|
+
* replaces must actually have STOPPED — recomputed from that run's own events
|
|
104
|
+
* rather than asserted by the boundary that supersedes it. Anything else is
|
|
105
|
+
* still ambiguous and still fails closed, which is what keeps `ready status`,
|
|
106
|
+
* `check` and `review` from reading a forged line as a live run.
|
|
107
|
+
*/
|
|
108
|
+
function runStartFor(events, contractId) {
|
|
109
|
+
const starts = events.filter((event) => event.event === 'ready_run_started');
|
|
110
|
+
const ambiguous = (why) => new UserError(`The Get Change Ready log contains ${starts.length} boundaries for ${contractId}; the active run is ambiguous (${why}).`, {
|
|
111
|
+
command: 'prismatica ready status',
|
|
112
|
+
why: 'a restart must reuse one durable run, and only an owner-authorised rollover of a stopped run may open another',
|
|
113
|
+
});
|
|
114
|
+
starts.forEach((start, index) => {
|
|
115
|
+
const previous = starts[index - 1];
|
|
116
|
+
if (start.supersedes !== previous?.runId) {
|
|
117
|
+
throw ambiguous(previous
|
|
118
|
+
? `boundary ${start.id} does not supersede run ${previous.runId}`
|
|
119
|
+
: `the first boundary ${start.id} names a superseded run`);
|
|
120
|
+
}
|
|
121
|
+
if (previous && latestStateEvent(events, previous.runId)?.stopState === 'running') {
|
|
122
|
+
throw ambiguous(`run ${previous.runId} had not stopped when ${start.id} replaced it`);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return starts.at(-1) ?? null;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Every run this contract has finished, oldest first — history the rollover must
|
|
129
|
+
* not erase (principle 5). Counts only, plus the state each ended in: the
|
|
130
|
+
* attempts themselves stay in the ledger exactly as they were written, and the
|
|
131
|
+
* card's job here is to say that a previous run happened and what became of it.
|
|
132
|
+
*/
|
|
133
|
+
function previousRunsFor(events) {
|
|
134
|
+
const starts = events.filter((event) => event.event === 'ready_run_started');
|
|
135
|
+
return starts.slice(0, -1).map((start) => {
|
|
136
|
+
const own = events.filter((event) => event.runId === start.runId);
|
|
137
|
+
return {
|
|
138
|
+
runId: start.runId,
|
|
139
|
+
startedAt: start.at,
|
|
140
|
+
boundaryHead: start.boundary.head,
|
|
141
|
+
stopState: latestStateEvent(events, start.runId)?.stopState ?? 'running',
|
|
142
|
+
checkAttempts: own.filter((event) => event.event === 'ready_check_attempt').length,
|
|
143
|
+
reviewAttempts: own.filter((event) => event.event === 'ready_review_attempt').length,
|
|
144
|
+
};
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Both logs, never just one. A corrupt lifecycle line hides part of the run;
|
|
149
|
+
* a corrupt ledger line hides a Check that may have spent budget. Either way
|
|
150
|
+
* the run cannot be reconstructed, and principle 6 decides the rest.
|
|
151
|
+
*/
|
|
152
|
+
function refuseMalformed(malformed) {
|
|
153
|
+
if (malformed.length === 0)
|
|
154
|
+
return;
|
|
155
|
+
throw new UserError(`There are unreadable line(s): ${malformed.map((line) => `${line.file}:${line.lineNumber}`).join(', ')}. No ready event was appended.`, {
|
|
156
|
+
command: 'prismatica ready status',
|
|
157
|
+
why: 'an append-only run cannot be resumed safely while part of its possible history is unreadable',
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
function relativeEvidencePath(home, contractId, supplied) {
|
|
161
|
+
const normal = supplied.split(path.sep).join('/');
|
|
162
|
+
if (supplied !== normal ||
|
|
163
|
+
path.posix.isAbsolute(normal) ||
|
|
164
|
+
path.posix.normalize(normal) !== normal ||
|
|
165
|
+
!isCheckEvidenceFile(home, contractId, normal)) {
|
|
166
|
+
throw new UserError(
|
|
167
|
+
// `plain` for the same reason the card uses it: this is the imported
|
|
168
|
+
// document's own text, and a refusal prints to the same terminal.
|
|
169
|
+
`Evidence path "${plain(supplied)}" is not an exact Check evidence path for ${contractId}.`, {
|
|
170
|
+
command: 'prismatica ready record --import <event.json>',
|
|
171
|
+
why: 'the contract id fixes the evidence directory; the imported document cannot choose another destination',
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
return normal;
|
|
175
|
+
}
|
|
176
|
+
function readExactCheckEvidence(home, contractId, evidencePath, check) {
|
|
177
|
+
const absolute = path.join(home, ...evidencePath.split('/'));
|
|
178
|
+
if (!fs.existsSync(absolute)) {
|
|
179
|
+
throw new UserError(`Check evidence does not exist at ${evidencePath}.`, {
|
|
180
|
+
command: 'prismatica ready record --import <event.json>',
|
|
181
|
+
why: 'the run event must point to the exact evidence produced by the Check it records',
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
let raw;
|
|
185
|
+
try {
|
|
186
|
+
raw = JSON.parse(fs.readFileSync(absolute, 'utf8'));
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
throw new UserError(`Check evidence at ${evidencePath} is not valid JSON.`);
|
|
190
|
+
}
|
|
191
|
+
const parsed = CheckEvidenceSchema.safeParse(raw);
|
|
192
|
+
if (!parsed.success ||
|
|
193
|
+
parsed.data.contractId !== contractId ||
|
|
194
|
+
parsed.data.event !== 'check_run' ||
|
|
195
|
+
parsed.data.at !== check.at ||
|
|
196
|
+
parsed.data.pass !== check.pass ||
|
|
197
|
+
JSON.stringify(parsed.data.outcomes) !== JSON.stringify(check.checks)) {
|
|
198
|
+
throw new UserError(`Check evidence at ${evidencePath} does not match ledger entry ${check.id}.`, {
|
|
199
|
+
command: 'prismatica ready record --import <event.json>',
|
|
200
|
+
why: 'a ready attempt is bookkeeping for one actual Check, never a substitute for Check evidence',
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function sightingKey(sighting) {
|
|
205
|
+
return [sighting.patchId, sighting.createdAt].join(' ');
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Every distinct review record this run has produced, read from Git and the
|
|
209
|
+
* working tree rather than from the run's own bookkeeping.
|
|
210
|
+
*
|
|
211
|
+
* A `ready record` event is written AFTER the work it records, which is
|
|
212
|
+
* principle 4 and stays that way — but it means the controller can do the work
|
|
213
|
+
* and die before recording it, and a budget rebuilt from recorded events alone
|
|
214
|
+
* would report that attempt as never spent. So the budget is rebuilt from what
|
|
215
|
+
* the ATTEMPT ITSELF left behind, which no controller has to survive to write:
|
|
216
|
+
* `review` writes `reviews/<id>.md`, and the safe rejection checkpoint commits
|
|
217
|
+
* it. In-run commits are the ones reachable from HEAD but not from the run
|
|
218
|
+
* boundary; the working tree is included because the current draft may never
|
|
219
|
+
* have been committed at all.
|
|
220
|
+
*
|
|
221
|
+
* This is the SECOND of two independent sources, not the only one. A draft that
|
|
222
|
+
* was never committed and is then overwritten in place leaves nothing here to
|
|
223
|
+
* see, which is why `review` also appends a `ready_review_drafted` event the
|
|
224
|
+
* instant it writes the record — the durable half, written before anything can
|
|
225
|
+
* replace it. Both are keyed by `sightingKey`, so the same attempt seen twice
|
|
226
|
+
* counts once.
|
|
227
|
+
*
|
|
228
|
+
* THE RECORD AS OF THE BOUNDARY IS EXCLUDED, and it has to be excluded by
|
|
229
|
+
* IDENTITY rather than by date. A change that was already reviewed before the
|
|
230
|
+
* run started carries that review in the working tree unchanged, so counting it
|
|
231
|
+
* would spend a fresh run's budget on pre-run history — the mirror of the
|
|
232
|
+
* `checkRunsBefore` boundary the Check side gets from its ledger index for
|
|
233
|
+
* free. A timestamp comparison cannot do this job: `createdAt` is the record's
|
|
234
|
+
* own, and a review drafted seconds before a boundary is indistinguishable from
|
|
235
|
+
* one drafted seconds after by clock alone. Residual, and it fails closed: a
|
|
236
|
+
* pre-run draft that was never COMMITTED has no boundary version to match, so
|
|
237
|
+
* it counts.
|
|
238
|
+
*
|
|
239
|
+
* Unreadable is deliberately not counted. It is not evidence a review happened,
|
|
240
|
+
* and `historicalReviews` already reports it to the owner as a record problem.
|
|
241
|
+
*/
|
|
242
|
+
async function reviewSightings(home, contractId, boundaryHead) {
|
|
243
|
+
const rel = laneRelative(home, reviewPath(home, contractId));
|
|
244
|
+
const sighting = (text) => {
|
|
245
|
+
try {
|
|
246
|
+
const review = parseMarkdownRecord(text, ReviewSchema).data;
|
|
247
|
+
return review.id === contractId && review.contractId === contractId
|
|
248
|
+
? { patchId: review.patchId, createdAt: review.createdAt }
|
|
249
|
+
: null;
|
|
250
|
+
}
|
|
251
|
+
catch {
|
|
252
|
+
return null; // not a readable review record — see above
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
const sightings = [];
|
|
256
|
+
const add = (text) => {
|
|
257
|
+
const found = sighting(text);
|
|
258
|
+
if (found)
|
|
259
|
+
sightings.push(found);
|
|
260
|
+
};
|
|
261
|
+
let boundaryKey = null;
|
|
262
|
+
try {
|
|
263
|
+
const boundaryText = await git.showFileStrict(home, boundaryHead, rel);
|
|
264
|
+
const atBoundary = boundaryText === null ? null : sighting(boundaryText);
|
|
265
|
+
boundaryKey = atBoundary === null ? null : sightingKey(atBoundary);
|
|
266
|
+
const beforeRun = new Set(await git.commitsTouching(home, rel, boundaryHead));
|
|
267
|
+
for (const commit of await git.commitsTouching(home, rel, 'HEAD')) {
|
|
268
|
+
if (beforeRun.has(commit))
|
|
269
|
+
continue;
|
|
270
|
+
const text = await git.showFileStrict(home, commit, rel);
|
|
271
|
+
if (text !== null)
|
|
272
|
+
add(text);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
// A boundary Git can no longer resolve. `historicalReviews` reports that as
|
|
277
|
+
// a record problem and the run may only be stopped, so the working tree
|
|
278
|
+
// below is still read and nothing here is silently treated as absent.
|
|
279
|
+
}
|
|
280
|
+
const working = reviewPath(home, contractId);
|
|
281
|
+
if (fs.existsSync(working))
|
|
282
|
+
add(fs.readFileSync(working, 'utf8'));
|
|
283
|
+
return sightings.filter((found) => sightingKey(found) !== boundaryKey);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* How many attempts of each kind this run has SPENT — never merely how many it
|
|
287
|
+
* recorded. THE ONE ANSWER: the card reads it and so does the budget guard, so
|
|
288
|
+
* a controller can never be refused a display it is then allowed to exceed, or
|
|
289
|
+
* the reverse.
|
|
290
|
+
*
|
|
291
|
+
* Recorded attempts count once each, plus every attempt whose own durable
|
|
292
|
+
* output exists with no recording beside it: a `check_run` ledger row appended
|
|
293
|
+
* after the run boundary (`check` writes it, and it carries the id a recorded
|
|
294
|
+
* attempt would cite), and a review record drafted since the boundary that no
|
|
295
|
+
* recorded attempt names.
|
|
296
|
+
*
|
|
297
|
+
* "After the boundary" is `boundary.checkRunsBefore`, an INDEX into this
|
|
298
|
+
* contract's own check rows, never a position in a merged log. That is what
|
|
299
|
+
* lets the lifecycle events live in their own file: the ledger's check rows
|
|
300
|
+
* keep their order and their count whatever else is partitioned away from
|
|
301
|
+
* them, so the same rows fall inside the run before and after the migration.
|
|
302
|
+
*
|
|
303
|
+
* It rounds UP on purpose. A Check the owner ran themselves inside the run
|
|
304
|
+
* window spends run budget, because it is an attempt at this diff whichever
|
|
305
|
+
* hand started it. Principle 6 decides which way that uncertainty falls, and
|
|
306
|
+
* the alternative — treating real work as unspent because the bookkeeping is
|
|
307
|
+
* missing — is exactly how a restarted controller came to hand out a fourth
|
|
308
|
+
* attempt.
|
|
309
|
+
*/
|
|
310
|
+
async function spentIn(home, contractId, log, start, recordedChecks, recordedReviews) {
|
|
311
|
+
const recordedCheckIds = new Set(recordedChecks.map((event) => event.check.ledgerEntryId));
|
|
312
|
+
const unrecordedChecks = log.checks
|
|
313
|
+
.slice(start.boundary.checkRunsBefore)
|
|
314
|
+
.filter((entry) => !recordedCheckIds.has(entry.id)).length;
|
|
315
|
+
const recordedReviewKeys = new Set(recordedReviews.map((event) => sightingKey(event.review)));
|
|
316
|
+
const contractEvents = log.events;
|
|
317
|
+
const drafted = contractEvents
|
|
318
|
+
.filter((event) => event.event === 'ready_review_drafted' && event.runId === start.runId)
|
|
319
|
+
.map((event) => sightingKey(event.review));
|
|
320
|
+
// A draft a PREVIOUS run already spent its budget on is that run's history,
|
|
321
|
+
// not this one's attempt. The git-boundary test above excludes the review
|
|
322
|
+
// COMMITTED at the boundary, which is the pre-run case it was written for and
|
|
323
|
+
// is not enough after a rollover: a dead run's last draft is routinely still
|
|
324
|
+
// uncommitted, so it has no boundary version to match and would open the new
|
|
325
|
+
// run with one review already spent — contradicting the fresh budgets a
|
|
326
|
+
// rollover exists to grant. Identity, never a date, for the reason
|
|
327
|
+
// `reviewSightings` gives: `review` stamps a fresh `createdAt` on every draft,
|
|
328
|
+
// so two runs can only share a key when it is literally the same record.
|
|
329
|
+
const spentByPreviousRuns = new Set(contractEvents.flatMap((event) => event.runId !== start.runId &&
|
|
330
|
+
(event.event === 'ready_review_attempt' || event.event === 'ready_review_drafted')
|
|
331
|
+
? [sightingKey(event.review)]
|
|
332
|
+
: []));
|
|
333
|
+
const unrecordedReviews = new Set([
|
|
334
|
+
...drafted,
|
|
335
|
+
...(await reviewSightings(home, contractId, start.boundary.head)).map(sightingKey),
|
|
336
|
+
].filter((key) => !recordedReviewKeys.has(key) && !spentByPreviousRuns.has(key)));
|
|
337
|
+
return {
|
|
338
|
+
checks: recordedChecks.length + unrecordedChecks,
|
|
339
|
+
reviews: recordedReviews.length + unrecordedReviews.size,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
async function historicalReviews(home, contractId, ref) {
|
|
343
|
+
const rel = laneRelative(home, reviewPath(home, contractId));
|
|
344
|
+
let commits;
|
|
345
|
+
try {
|
|
346
|
+
commits = await git.commitsTouching(home, rel, ref);
|
|
347
|
+
}
|
|
348
|
+
catch (error) {
|
|
349
|
+
return {
|
|
350
|
+
reviews: [],
|
|
351
|
+
problem: `Git cannot read run boundary ${ref}, so committed pre-run review history cannot be reconstructed (${error instanceof Error ? error.message : String(error)})`,
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
const reviews = [];
|
|
355
|
+
for (const commit of commits) {
|
|
356
|
+
let text;
|
|
357
|
+
try {
|
|
358
|
+
text = await git.showFileStrict(home, commit, rel);
|
|
359
|
+
}
|
|
360
|
+
catch {
|
|
361
|
+
reviews.push({ commit, verdict: 'unreadable', findings: null });
|
|
362
|
+
continue;
|
|
363
|
+
}
|
|
364
|
+
if (text === null)
|
|
365
|
+
continue;
|
|
366
|
+
try {
|
|
367
|
+
const review = parseMarkdownRecord(text, ReviewSchema).data;
|
|
368
|
+
if (review.id !== contractId ||
|
|
369
|
+
review.contractId !== contractId ||
|
|
370
|
+
review.state !== 'sealed') {
|
|
371
|
+
continue;
|
|
372
|
+
}
|
|
373
|
+
reviews.push({
|
|
374
|
+
commit,
|
|
375
|
+
verdict: review.verdict ?? 'not_recorded',
|
|
376
|
+
// Historical Review records have no findings field. Do not mine commit
|
|
377
|
+
// messages or reconstruct prose that the repository never recorded.
|
|
378
|
+
findings: null,
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
catch {
|
|
382
|
+
reviews.push({ commit, verdict: 'unreadable', findings: null });
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return { reviews, problem: null };
|
|
386
|
+
}
|
|
387
|
+
async function resolvedHome(options) {
|
|
388
|
+
const mainRoot = await git.mainRepoRoot(options.cwd);
|
|
389
|
+
const config = loadConfig(mainRoot);
|
|
390
|
+
const contractId = await resolveContractId(options.cwd, config.mainBranch, options.contractId);
|
|
391
|
+
const home = await resolveChangeHome(options.cwd, contractId);
|
|
392
|
+
if (!contractExists(home, contractId)) {
|
|
393
|
+
throw new UserError(`No contract "${contractId}" to record a ready run for.`);
|
|
394
|
+
}
|
|
395
|
+
readContract(home, contractId); // strict read: the destination must be a valid contract
|
|
396
|
+
return { contractId, home };
|
|
397
|
+
}
|
|
398
|
+
async function statusAt(home, contractId) {
|
|
399
|
+
const log = readRunLog(home, contractId);
|
|
400
|
+
const start = runStartFor(log.events, contractId);
|
|
401
|
+
const runEvents = start ? log.events.filter((event) => event.runId === start.runId) : [];
|
|
402
|
+
const checks = runEvents.filter((event) => event.event === 'ready_check_attempt');
|
|
403
|
+
const reviews = runEvents.filter((event) => event.event === 'ready_review_attempt');
|
|
404
|
+
const problems = [];
|
|
405
|
+
if (start) {
|
|
406
|
+
for (const event of runEvents) {
|
|
407
|
+
if (!samePlan(event.plan, start.plan)) {
|
|
408
|
+
problems.push(`event ${event.id} carries a different run plan`);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
// Attempt numbers must ADVANCE, not be consecutive: an attempt whose
|
|
412
|
+
// recording never happened leaves a real gap, and reporting that gap as a
|
|
413
|
+
// corrupt record would send the owner looking for tampering that is
|
|
414
|
+
// actually a crashed controller — the case `spentIn` exists to survive.
|
|
415
|
+
const advancing = (kind, events) => {
|
|
416
|
+
let previous = 0;
|
|
417
|
+
for (const event of events) {
|
|
418
|
+
if (event.attempt <= previous || event.attempt > MAX_ATTEMPTS) {
|
|
419
|
+
problems.push(`${kind} attempt ${event.attempt} is out of sequence`);
|
|
420
|
+
}
|
|
421
|
+
previous = event.attempt;
|
|
422
|
+
}
|
|
423
|
+
};
|
|
424
|
+
advancing('Check', checks);
|
|
425
|
+
advancing('review', reviews);
|
|
426
|
+
}
|
|
427
|
+
// The run's state comes from what the CONTROLLER recorded, never from
|
|
428
|
+
// `review`'s own drafted-attempt event. `ReadyEventBase` obliges that event
|
|
429
|
+
// to carry a `stopState` and a `nextOwnerAction` — it does not thereby CLAIM
|
|
430
|
+
// either, and it is written by a command the controller may not even have
|
|
431
|
+
// started. Reading state off it would let an ordinary `review` report a run
|
|
432
|
+
// stopped at `review_budget_exhausted` as `running` again: a card
|
|
433
|
+
// contradicting an enforcement that still, correctly, refuses the attempt.
|
|
434
|
+
// It stays in `runEvents` for the plan check and for `spentIn`, which is
|
|
435
|
+
// what it is evidence OF, and an unrecorded draft still reaches the owner
|
|
436
|
+
// through `recordProblems`.
|
|
437
|
+
const latest = start ? latestStateEvent(runEvents, start.runId) : null;
|
|
438
|
+
const ref = start?.boundary.head ?? 'HEAD';
|
|
439
|
+
const history = await historicalReviews(home, contractId, ref);
|
|
440
|
+
if (history.problem)
|
|
441
|
+
problems.push(history.problem);
|
|
442
|
+
const budgets = start
|
|
443
|
+
? await spentIn(home, contractId, log, start, checks, reviews)
|
|
444
|
+
: { checks: 0, reviews: 0 };
|
|
445
|
+
if (budgets.checks > checks.length) {
|
|
446
|
+
problems.push(`${budgets.checks - checks.length} Check run(s) in this run were never recorded as attempts; they still spend the budget`);
|
|
447
|
+
}
|
|
448
|
+
if (budgets.reviews > reviews.length) {
|
|
449
|
+
problems.push(`${budgets.reviews - reviews.length} drafted review(s) in this run were never recorded as attempts; they still spend the budget`);
|
|
450
|
+
}
|
|
451
|
+
return {
|
|
452
|
+
contractId,
|
|
453
|
+
runId: start?.runId ?? null,
|
|
454
|
+
boundary: start?.boundary ?? null,
|
|
455
|
+
plan: start?.plan ?? null,
|
|
456
|
+
checkAttempts: checks,
|
|
457
|
+
reviewAttempts: reviews,
|
|
458
|
+
checkAttemptsSpent: Math.min(MAX_ATTEMPTS, budgets.checks),
|
|
459
|
+
reviewAttemptsSpent: Math.min(MAX_ATTEMPTS, budgets.reviews),
|
|
460
|
+
checkAttemptsRemaining: Math.max(0, MAX_ATTEMPTS - budgets.checks),
|
|
461
|
+
reviewAttemptsRemaining: Math.max(0, MAX_ATTEMPTS - budgets.reviews),
|
|
462
|
+
preRunCheckRuns: start?.boundary.checkRunsBefore ?? log.checks.length,
|
|
463
|
+
preRunReviews: history.reviews,
|
|
464
|
+
previousRuns: previousRunsFor(log.events),
|
|
465
|
+
stopState: latest?.stopState ?? 'not_started',
|
|
466
|
+
nextOwnerAction: latest?.nextOwnerAction ?? null,
|
|
467
|
+
malformedLogLines: log.malformed.map((line) => `${line.file}:${line.lineNumber}`),
|
|
468
|
+
recordProblems: problems,
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
export async function runReadyStatus(options) {
|
|
472
|
+
const { contractId, home } = await resolvedHome(options);
|
|
473
|
+
return statusAt(home, contractId);
|
|
474
|
+
}
|
|
475
|
+
/** Refuse work that would exceed an active Get Change Ready run's budget. */
|
|
476
|
+
export async function requireReadyAttemptAvailable(home, contractId, kind) {
|
|
477
|
+
const log = readRunLog(home, contractId);
|
|
478
|
+
const start = runStartFor(log.events, contractId);
|
|
479
|
+
if (!start)
|
|
480
|
+
return;
|
|
481
|
+
refuseMalformed(log.malformed);
|
|
482
|
+
requireRunRunning(log.events, start, contractId);
|
|
483
|
+
const history = await historicalReviews(home, contractId, start.boundary.head);
|
|
484
|
+
if (history.problem) {
|
|
485
|
+
throw new UserError(`${history.problem}. No further ${kind} attempt may start.`, {
|
|
486
|
+
command: `prismatica ready status ${contractId}`,
|
|
487
|
+
why: 'the active run budget cannot be reconstructed from an unreadable boundary',
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
const runEvents = log.events.filter((event) => event.runId === start.runId);
|
|
491
|
+
const checks = runEvents.filter((event) => event.event === 'ready_check_attempt');
|
|
492
|
+
const reviews = runEvents.filter((event) => event.event === 'ready_review_attempt');
|
|
493
|
+
const spent = await spentIn(home, contractId, log, start, checks, reviews);
|
|
494
|
+
requireAttemptNumber(kind, (kind === 'Check' ? spent.checks : spent.reviews) + 1, contractId);
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Spend a review attempt at the moment its record exists — the durable half of
|
|
498
|
+
* `ready_review_attempt`, and the one thing no controller has to survive to
|
|
499
|
+
* write.
|
|
500
|
+
*
|
|
501
|
+
* `review` calls this immediately after writing the draft, which is principle 4
|
|
502
|
+
* exactly: the step being recorded (a review record now exists) has already
|
|
503
|
+
* succeeded. The verdict is NOT recorded here and cannot be — nobody has read
|
|
504
|
+
* the diff yet — so the two events stay separate: this one says an attempt was
|
|
505
|
+
* started, the later one says what it concluded.
|
|
506
|
+
*
|
|
507
|
+
* A NO-OP outside a run. Ordinary `review`, `review --agent`, `review --copy`
|
|
508
|
+
* against a change with no Get Change Ready boundary appends nothing and is
|
|
509
|
+
* byte-for-byte the command it always was; the budget only exists where a run
|
|
510
|
+
* declared one. Every piece of ready-schema knowledge — copying the run's plan,
|
|
511
|
+
* the stop state, the owner's next action — lives here rather than in `review`,
|
|
512
|
+
* so there is one writer of these events and one place that knows their shape.
|
|
513
|
+
*/
|
|
514
|
+
export function recordReviewDrafted(home, contractId, review) {
|
|
515
|
+
// A WRITE path, so it is one of the two places the partition is completed —
|
|
516
|
+
// see `runReadyRecord`. A repository with nothing legacy to move writes
|
|
517
|
+
// nothing here.
|
|
518
|
+
migrateReadyEvents(home);
|
|
519
|
+
const start = runStartFor(readRunLog(home, contractId).events, contractId);
|
|
520
|
+
if (!start)
|
|
521
|
+
return;
|
|
522
|
+
appendReadyEvent(home, ReadyReviewDraftedEventSchema.parse({
|
|
523
|
+
format: READY_RECORD_FORMAT,
|
|
524
|
+
id: randomUUID(),
|
|
525
|
+
contractId,
|
|
526
|
+
event: 'ready_review_drafted',
|
|
527
|
+
at: new Date().toISOString(),
|
|
528
|
+
runId: start.runId,
|
|
529
|
+
plan: start.plan,
|
|
530
|
+
stopState: 'running',
|
|
531
|
+
nextOwnerAction: `record the reviewer verdict with prismatica ready record ${contractId} --import <review.json>`,
|
|
532
|
+
review: {
|
|
533
|
+
path: laneRelative(home, reviewPath(home, contractId)),
|
|
534
|
+
patchId: review.patchId,
|
|
535
|
+
createdAt: review.createdAt,
|
|
536
|
+
},
|
|
537
|
+
}));
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* The WRITE path's destination must be a LIVE LANE.
|
|
541
|
+
*
|
|
542
|
+
* `resolveChangeHome` falls back to the current checkout and then to main,
|
|
543
|
+
* which is right for `pack` and wrong here for exactly the reason it is wrong
|
|
544
|
+
* for `propose --import`: a contract archived on main would silently retarget
|
|
545
|
+
* a lane's run bookkeeping at main's own ledger. With no lane there is no run
|
|
546
|
+
* to record, so nothing legitimate is refused. Reading keeps the general
|
|
547
|
+
* resolver — a card about a change whose lane has already been removed is
|
|
548
|
+
* still worth printing.
|
|
549
|
+
*/
|
|
550
|
+
async function requireLane(cwd, contractId, home) {
|
|
551
|
+
const open = await listOpenChanges(cwd);
|
|
552
|
+
if (!open.some((change) => change.id === contractId && change.home === home)) {
|
|
553
|
+
throw new UserError(`There is no open lane for ${contractId} to record a ready run in.`, {
|
|
554
|
+
command: `prismatica ready status ${contractId}`,
|
|
555
|
+
why: 'a run event belongs to the lane the run happened in; without one there is nothing to append to but main',
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
function requireRun(events, contractId, runId) {
|
|
560
|
+
const start = runStartFor(events, contractId);
|
|
561
|
+
if (!start) {
|
|
562
|
+
throw new UserError(`No Get Change Ready run has started for ${contractId}.`, {
|
|
563
|
+
command: 'prismatica ready record --import <start.json>',
|
|
564
|
+
why: 'the CLI-generated run boundary must exist before an attempt can spend its budget',
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
if (start.runId !== runId) {
|
|
568
|
+
throw new UserError(`Run ${runId} is not the durable run for ${contractId}.`, {
|
|
569
|
+
command: `prismatica ready status ${contractId}`,
|
|
570
|
+
why: 'a restart reuses the recorded run id; supplying another one may not reset the attempt counters',
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
return start;
|
|
574
|
+
}
|
|
575
|
+
/**
|
|
576
|
+
* The attempt number this event gets, or a refusal.
|
|
577
|
+
*
|
|
578
|
+
* `position` is what `spentIn` already counted INCLUDING the attempt now being
|
|
579
|
+
* recorded, so the number is read off the run's spent budget rather than off
|
|
580
|
+
* how many events happen to have been written. That is the whole point: an
|
|
581
|
+
* attempt whose recording never happened has already spent its place, so the
|
|
582
|
+
* next one is numbered past it and a fourth is refused.
|
|
583
|
+
*/
|
|
584
|
+
function requireAttemptNumber(kind, position, contractId) {
|
|
585
|
+
if (position > MAX_ATTEMPTS) {
|
|
586
|
+
throw new UserError(`${kind} attempt budget for ${contractId} is exhausted (${MAX_ATTEMPTS}/${MAX_ATTEMPTS}).`, {
|
|
587
|
+
command: `prismatica ready status ${contractId}`,
|
|
588
|
+
why: 'restarting a controller does not create a new run or reset its three-attempt limit, and an attempt nothing recorded still spent one',
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
return position;
|
|
592
|
+
}
|
|
593
|
+
export async function runReadyRecord(options) {
|
|
594
|
+
if (!options.importFile) {
|
|
595
|
+
throw new UserError('`ready record` needs a strict JSON event to import.', {
|
|
596
|
+
command: 'prismatica ready record --import <event.json>',
|
|
597
|
+
why: 'findings and run state are file content, never command-line text',
|
|
598
|
+
});
|
|
599
|
+
}
|
|
600
|
+
const { contractId, home } = await resolvedHome(options);
|
|
601
|
+
await requireLane(options.cwd, contractId, home);
|
|
602
|
+
const input = parseImport(readAnswerFile(options.importFile, {
|
|
603
|
+
command: 'prismatica ready record --import <event.json>',
|
|
604
|
+
why: 'the event is strict JSON so multiline findings never pass through a shell',
|
|
605
|
+
}), options.importFile);
|
|
606
|
+
// The partition is completed HERE, on a write path, and never on a read one:
|
|
607
|
+
// `check` and `review` reach this bookkeeping through
|
|
608
|
+
// `requireReadyAttemptAvailable`, and a repository upgrading mid-run must keep
|
|
609
|
+
// its budget enforcement without a status call rewriting records underneath
|
|
610
|
+
// it. `readReadyLog` reads legacy rows in place until this moves them, so the
|
|
611
|
+
// run is identical either side of the move.
|
|
612
|
+
migrateReadyEvents(home);
|
|
613
|
+
const log = readRunLog(home, contractId);
|
|
614
|
+
refuseMalformed(log.malformed);
|
|
615
|
+
const now = (options.now ?? new Date()).toISOString();
|
|
616
|
+
const makeId = options.makeId ?? randomUUID;
|
|
617
|
+
if (input.kind === 'start') {
|
|
618
|
+
const existing = runStartFor(log.events, contractId);
|
|
619
|
+
if (options.newRun) {
|
|
620
|
+
// The OWNER's decision, refused for an agent executor at the CLI's one
|
|
621
|
+
// authority hook (`executor.ts`'s `OWNER_ONLY_INVOCATIONS`). Everything
|
|
622
|
+
// below is about whether the LEDGER permits it; who asked is settled
|
|
623
|
+
// before this function is reached.
|
|
624
|
+
if (!existing) {
|
|
625
|
+
throw new UserError(`There is no Get Change Ready run for ${contractId} to replace.`, {
|
|
626
|
+
command: `prismatica ready record ${contractId} --import <start.json>`,
|
|
627
|
+
why: 'a first run is an ordinary start; --new-run only ever follows a run that has stopped',
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
// The SAME state the card prints, deliberately: a rollover permitted on a
|
|
631
|
+
// run the owner is being shown as `running` would be the two halves
|
|
632
|
+
// disagreeing, which is the defect the attempt counters were repaired for.
|
|
633
|
+
const current = await statusAt(home, contractId);
|
|
634
|
+
if (current.stopState === 'running') {
|
|
635
|
+
throw new UserError(`Run ${existing.runId} is still running; it must stop before a new run can start.`, {
|
|
636
|
+
command: `prismatica ready record ${contractId} --import <stop.json>`,
|
|
637
|
+
why: 'fresh attempt budgets follow a terminal run — never a live one, which would simply be a fourth attempt',
|
|
638
|
+
});
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
else if (existing) {
|
|
642
|
+
if (!samePlan(existing.plan, input.plan)) {
|
|
643
|
+
throw new UserError(`Get Change Ready already has a different durable run plan for ${contractId}.`, {
|
|
644
|
+
command: `prismatica ready status ${contractId}`,
|
|
645
|
+
why: 'a restart must reuse the provider, model, effort, run id and attempt budgets already recorded',
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
return { appended: false, status: await statusAt(home, contractId) };
|
|
649
|
+
}
|
|
650
|
+
const event = ReadyRunStartedEventSchema.parse({
|
|
651
|
+
format: READY_RECORD_FORMAT,
|
|
652
|
+
id: makeId(),
|
|
653
|
+
contractId,
|
|
654
|
+
event: 'ready_run_started',
|
|
655
|
+
at: now,
|
|
656
|
+
runId: makeId(),
|
|
657
|
+
plan: input.plan,
|
|
658
|
+
stopState: 'running',
|
|
659
|
+
nextOwnerAction: input.nextOwnerAction,
|
|
660
|
+
// Written by the CLI from the ledger it just read, never from the imported
|
|
661
|
+
// document: the chain is what makes a second boundary auditable, so a
|
|
662
|
+
// caller must not be able to spell one.
|
|
663
|
+
...(options.newRun && existing ? { supersedes: existing.runId } : {}),
|
|
664
|
+
boundary: {
|
|
665
|
+
head: await git.revParse(home, 'HEAD'),
|
|
666
|
+
ledgerRecordsBefore: log.ledgerEntries,
|
|
667
|
+
checkRunsBefore: log.checks.length,
|
|
668
|
+
},
|
|
669
|
+
});
|
|
670
|
+
appendReadyEvent(home, event);
|
|
671
|
+
return { appended: true, status: await statusAt(home, contractId) };
|
|
672
|
+
}
|
|
673
|
+
const start = requireRun(log.events, contractId, input.runId);
|
|
674
|
+
const history = await historicalReviews(home, contractId, start.boundary.head);
|
|
675
|
+
if (history.problem && !(input.kind === 'stop' && input.stopState === 'blocked')) {
|
|
676
|
+
throw new UserError(`${history.problem}. Only a strict blocked stop event may be appended.`, {
|
|
677
|
+
command: `prismatica ready record ${contractId} --import <blocked-stop.json>`,
|
|
678
|
+
why: 'only a strict blocked stop event may extend a run whose original Git boundary is unreadable',
|
|
679
|
+
});
|
|
680
|
+
}
|
|
681
|
+
const runEvents = log.events.filter((event) => event.runId === start.runId);
|
|
682
|
+
const recordedChecks = runEvents.filter((event) => event.event === 'ready_check_attempt');
|
|
683
|
+
const recordedReviews = runEvents.filter((event) => event.event === 'ready_review_attempt');
|
|
684
|
+
if (input.kind === 'check') {
|
|
685
|
+
// The Check's POSITION among this contract's own check rows, compared with
|
|
686
|
+
// the boundary's `checkRunsBefore`. Not a position in a merged log: the
|
|
687
|
+
// lifecycle events are a separate file, and this is the index that survives
|
|
688
|
+
// that — the rows before the boundary are pre-run history whatever else
|
|
689
|
+
// was written between them.
|
|
690
|
+
const checkIndex = log.checks.findIndex((entry) => entry.id === input.checkLedgerEntryId);
|
|
691
|
+
if (checkIndex < 0) {
|
|
692
|
+
throw new UserError(`${plain(input.checkLedgerEntryId)} is not a Check ledger entry.`);
|
|
693
|
+
}
|
|
694
|
+
if (checkIndex < start.boundary.checkRunsBefore) {
|
|
695
|
+
throw new UserError(`Check ${plain(input.checkLedgerEntryId)} is not an attempt from run ${start.runId}.`, {
|
|
696
|
+
command: `prismatica ready status ${contractId}`,
|
|
697
|
+
why: "checks before the run boundary are pre-run history and consume none of this run's budget",
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
const check = log.checks[checkIndex];
|
|
701
|
+
if (!check.checkedHead) {
|
|
702
|
+
throw new UserError(`Check ${check.id} predates checkedHead binding and cannot be recorded as a run attempt.`);
|
|
703
|
+
}
|
|
704
|
+
const evidencePath = relativeEvidencePath(home, contractId, input.evidencePath);
|
|
705
|
+
readExactCheckEvidence(home, contractId, evidencePath, check);
|
|
706
|
+
const existing = recordedChecks.find((event) => event.check.ledgerEntryId === check.id);
|
|
707
|
+
if (existing) {
|
|
708
|
+
if (existing.check.evidencePath !== evidencePath) {
|
|
709
|
+
throw new UserError(`Check ${check.id} is already recorded with different evidence.`);
|
|
710
|
+
}
|
|
711
|
+
return { appended: false, status: await statusAt(home, contractId) };
|
|
712
|
+
}
|
|
713
|
+
requireRunRunning(runEvents, start, contractId);
|
|
714
|
+
// This Check's own ledger row is already in the run window and not yet
|
|
715
|
+
// recorded, so `spentIn` counts it — the position it returns IS this
|
|
716
|
+
// attempt's number, gaps from unrecorded attempts included.
|
|
717
|
+
const budgets = await spentIn(home, contractId, log, start, recordedChecks, recordedReviews);
|
|
718
|
+
const attempt = requireAttemptNumber('Check', budgets.checks, contractId);
|
|
719
|
+
if (attempt === MAX_ATTEMPTS && !check.pass && input.stopState === 'running') {
|
|
720
|
+
throw new UserError('The third failed Check must record stopState "check_budget_exhausted".');
|
|
721
|
+
}
|
|
722
|
+
appendReadyEvent(home, ReadyCheckAttemptEventSchema.parse({
|
|
723
|
+
format: READY_RECORD_FORMAT,
|
|
724
|
+
id: makeId(),
|
|
725
|
+
contractId,
|
|
726
|
+
event: 'ready_check_attempt',
|
|
727
|
+
at: now,
|
|
728
|
+
runId: start.runId,
|
|
729
|
+
plan: start.plan,
|
|
730
|
+
stopState: input.stopState,
|
|
731
|
+
nextOwnerAction: input.nextOwnerAction,
|
|
732
|
+
attempt,
|
|
733
|
+
check: {
|
|
734
|
+
ledgerEntryId: check.id,
|
|
735
|
+
evidencePath,
|
|
736
|
+
checkedHead: check.checkedHead,
|
|
737
|
+
pass: check.pass,
|
|
738
|
+
},
|
|
739
|
+
}));
|
|
740
|
+
return { appended: true, status: await statusAt(home, contractId) };
|
|
741
|
+
}
|
|
742
|
+
if (input.kind === 'review') {
|
|
743
|
+
let review;
|
|
744
|
+
try {
|
|
745
|
+
review = readReview(home, contractId).data;
|
|
746
|
+
}
|
|
747
|
+
catch {
|
|
748
|
+
throw new UserError(`There is no readable review record for ${contractId}.`);
|
|
749
|
+
}
|
|
750
|
+
if (review.state !== 'draft') {
|
|
751
|
+
throw new UserError('Record the reviewer verdict before sealing it; the current review is not a draft.', {
|
|
752
|
+
command: 'prismatica ready record --import <review.json>',
|
|
753
|
+
why: 'the durable findings event must exist before the rejection checkpoint changes the review record',
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
if (review.patchId !== input.reviewPatchId) {
|
|
757
|
+
throw new UserError(`The imported patch id does not match the current review for ${contractId}.`);
|
|
758
|
+
}
|
|
759
|
+
const existing = recordedReviews.find((event) => event.review.patchId === review.patchId && event.review.createdAt === review.createdAt);
|
|
760
|
+
if (existing) {
|
|
761
|
+
if (existing.verdict !== input.verdict ||
|
|
762
|
+
JSON.stringify(existing.findings) !== JSON.stringify(input.findings)) {
|
|
763
|
+
throw new UserError('This review attempt is already recorded with different verdict text or findings.');
|
|
764
|
+
}
|
|
765
|
+
return { appended: false, status: await statusAt(home, contractId) };
|
|
766
|
+
}
|
|
767
|
+
requireRunRunning(runEvents, start, contractId);
|
|
768
|
+
// The draft on disk is this attempt's own durable output and no recorded
|
|
769
|
+
// attempt names it, so `spentIn` counts it — as it counts any earlier draft
|
|
770
|
+
// this run produced and never recorded.
|
|
771
|
+
const budgets = await spentIn(home, contractId, log, start, recordedChecks, recordedReviews);
|
|
772
|
+
const attempt = requireAttemptNumber('review', budgets.reviews, contractId);
|
|
773
|
+
if (attempt === MAX_ATTEMPTS &&
|
|
774
|
+
input.verdict === 'DO NOT SEAL' &&
|
|
775
|
+
input.stopState === 'running') {
|
|
776
|
+
throw new UserError('The third rejected review must record stopState "review_budget_exhausted".');
|
|
777
|
+
}
|
|
778
|
+
appendReadyEvent(home, ReadyReviewAttemptEventSchema.parse({
|
|
779
|
+
format: READY_RECORD_FORMAT,
|
|
780
|
+
id: makeId(),
|
|
781
|
+
contractId,
|
|
782
|
+
event: 'ready_review_attempt',
|
|
783
|
+
at: now,
|
|
784
|
+
runId: start.runId,
|
|
785
|
+
plan: start.plan,
|
|
786
|
+
stopState: input.stopState,
|
|
787
|
+
nextOwnerAction: input.nextOwnerAction,
|
|
788
|
+
attempt,
|
|
789
|
+
review: {
|
|
790
|
+
path: laneRelative(home, reviewPath(home, contractId)),
|
|
791
|
+
patchId: review.patchId,
|
|
792
|
+
createdAt: review.createdAt,
|
|
793
|
+
},
|
|
794
|
+
verdict: input.verdict,
|
|
795
|
+
findings: input.findings,
|
|
796
|
+
}));
|
|
797
|
+
return { appended: true, status: await statusAt(home, contractId) };
|
|
798
|
+
}
|
|
799
|
+
const last = runEvents.at(-1);
|
|
800
|
+
if (last?.event === 'ready_stopped' &&
|
|
801
|
+
last.stopState === input.stopState &&
|
|
802
|
+
last.nextOwnerAction === input.nextOwnerAction &&
|
|
803
|
+
last.detail === input.detail) {
|
|
804
|
+
return { appended: false, status: await statusAt(home, contractId) };
|
|
805
|
+
}
|
|
806
|
+
requireRunRunning(runEvents, start, contractId);
|
|
807
|
+
appendReadyEvent(home, ReadyStoppedEventSchema.parse({
|
|
808
|
+
format: READY_RECORD_FORMAT,
|
|
809
|
+
id: makeId(),
|
|
810
|
+
contractId,
|
|
811
|
+
event: 'ready_stopped',
|
|
812
|
+
at: now,
|
|
813
|
+
runId: start.runId,
|
|
814
|
+
plan: start.plan,
|
|
815
|
+
stopState: input.stopState,
|
|
816
|
+
nextOwnerAction: input.nextOwnerAction,
|
|
817
|
+
...(input.detail === undefined ? {} : { detail: input.detail }),
|
|
818
|
+
}));
|
|
819
|
+
return { appended: true, status: await statusAt(home, contractId) };
|
|
820
|
+
}
|
|
821
|
+
/**
|
|
822
|
+
* Untrusted text on its way to a terminal.
|
|
823
|
+
*
|
|
824
|
+
* ONE rule, applied to every string this card prints: nothing that came from an
|
|
825
|
+
* imported document, a record on disk or Git output reaches the terminal
|
|
826
|
+
* carrying control sequences. Stripping only the fields someone judged risky is
|
|
827
|
+
* how `findings` came to be protected while `nextOwnerAction` — free text, from
|
|
828
|
+
* the same document, printed immediately above the "run record is incomplete or
|
|
829
|
+
* inconsistent" block an escape can scroll away — was not. The `ui.*` atoms are
|
|
830
|
+
* composed after this, so the card keeps its own colour.
|
|
831
|
+
*
|
|
832
|
+
* `stripVTControlCharacters` alone is NOT that rule: it removes ANSI/VT escape
|
|
833
|
+
* SEQUENCES, and measurably leaves carriage return, backspace, bell, NUL, DEL
|
|
834
|
+
* and the bidi overrides intact — every one of which rewrites or reorders text
|
|
835
|
+
* already on the line without an escape byte anywhere. So the sequences go
|
|
836
|
+
* first, then every remaining control (`Cc`) and format (`Cf`) character
|
|
837
|
+
* becomes a space. Newline is the one exception, kept because a multiline
|
|
838
|
+
* finding is printed as the lines the reviewer wrote and a new line cannot
|
|
839
|
+
* overwrite one already written. Nothing is dropped: a space holds the place,
|
|
840
|
+
* so the text still reads as what it said.
|
|
841
|
+
*
|
|
842
|
+
* This is a DISPLAY rule only. The record keeps the reviewer's bytes exactly —
|
|
843
|
+
* `findings` are stored as imported, which is what ac-7 requires.
|
|
844
|
+
*/
|
|
845
|
+
function plain(text) {
|
|
846
|
+
return stripVTControlCharacters(text).replace(/[\p{Cc}\p{Cf}]/gu, (character) => character === '\n' ? character : ' ');
|
|
847
|
+
}
|
|
848
|
+
function selectionText(selection) {
|
|
849
|
+
return `${plain(selection.provider)}, model ${plain(selection.model ?? 'provider default')}, effort ${plain(selection.effort ?? 'provider default')}`;
|
|
850
|
+
}
|
|
851
|
+
/**
|
|
852
|
+
* The same card as JSON — and terminal-safe by the same rule, reached a
|
|
853
|
+
* different way.
|
|
854
|
+
*
|
|
855
|
+
* `JSON.stringify` escapes the C0 controls and nothing else: DEL and every
|
|
856
|
+
* bidi override (U+202E and friends) are emitted RAW, so a finding imported
|
|
857
|
+
* with one reordered the terminal exactly as it would have on the human card.
|
|
858
|
+
* `plain`'s space substitution is the wrong cure here — this output is
|
|
859
|
+
* documented as the exact reconstructed record, and ac-7 requires findings kept
|
|
860
|
+
* byte-for-byte — so the character is ESCAPED instead: `\uXXXX` parses back to
|
|
861
|
+
* the identical value and cannot move a cursor.
|
|
862
|
+
*
|
|
863
|
+
* Newline is the one exception, and it is a structural one: with a two-space
|
|
864
|
+
* indent the only newlines outside a string literal are the pretty-printer's
|
|
865
|
+
* own, where an escape would not be JSON at all. Everything else in `Cc`/`Cf`
|
|
866
|
+
* sits inside a string literal, where the escape is exact.
|
|
867
|
+
*
|
|
868
|
+
* The escape is written per UTF-16 CODE UNIT, never per code point, and that
|
|
869
|
+
* distinction is the whole correctness of the claim above. `\p{Cf}` with the
|
|
870
|
+
* `u` flag matches a whole code point, so a supplementary-plane format
|
|
871
|
+
* character (U+E0001 LANGUAGE TAG, and every tag character after it) arrives
|
|
872
|
+
* here as a two-unit surrogate pair — and `\u` takes exactly four hex digits,
|
|
873
|
+
* so spelling the code point produced `1`, which JSON parses back as
|
|
874
|
+
* U+E000 followed by the digit "1". Byte-for-byte reconstruction, silently
|
|
875
|
+
* broken, on characters `findings` accepts like any other. Emitting one `\uXXXX`
|
|
876
|
+
* per code unit spells the surrogate pair JSON already understands, so the
|
|
877
|
+
* parsed value is the original code point exactly; a BMP character is one unit
|
|
878
|
+
* and its escape is unchanged.
|
|
879
|
+
*/
|
|
880
|
+
export function readyStatusJson(status) {
|
|
881
|
+
return JSON.stringify(status, null, 2).replace(/[\p{Cc}\p{Cf}]/gu, (character) => character === '\n'
|
|
882
|
+
? character
|
|
883
|
+
: Array.from({ length: character.length }, (_unused, index) => `\\u${character.charCodeAt(index).toString(16).padStart(4, '0')}`).join(''));
|
|
884
|
+
}
|
|
885
|
+
export function printReadyStatus(status) {
|
|
886
|
+
console.log(ui.heading(`Get Change Ready — ${plain(status.contractId)}`));
|
|
887
|
+
console.log('');
|
|
888
|
+
if (!status.runId || !status.plan || !status.boundary) {
|
|
889
|
+
console.log(` ${ui.warn('not started')}`);
|
|
890
|
+
console.log(` pre-run Check history: ${status.preRunCheckRuns}`);
|
|
891
|
+
for (const review of status.preRunReviews) {
|
|
892
|
+
console.log(` Pre-run review ${plain(review.commit).slice(0, 12)}: ${review.verdict}; findings not recorded`);
|
|
893
|
+
}
|
|
894
|
+
return;
|
|
895
|
+
}
|
|
896
|
+
// Before the active run, because it is what the run REPLACED: an owner
|
|
897
|
+
// reading a fresh 0/3 needs to see the exhausted run above it, or the card
|
|
898
|
+
// reads as a change that has been attempted once.
|
|
899
|
+
for (const previous of status.previousRuns) {
|
|
900
|
+
console.log(` ${ui.dim('previous')} ${plain(previous.runId)} (${previous.stopState}); Check ${previous.checkAttempts}, review ${previous.reviewAttempts} attempt(s) — kept, never reopened`);
|
|
901
|
+
}
|
|
902
|
+
console.log(` ${ui.bold('run')} ${plain(status.runId)}`);
|
|
903
|
+
console.log(` ${ui.bold('boundary')} ${plain(status.boundary.head)}`);
|
|
904
|
+
console.log(` ${ui.bold('builder')} ${selectionText(status.plan.builder)}`);
|
|
905
|
+
console.log(` ${ui.bold('reviewer')} ${selectionText(status.plan.reviewer)}`);
|
|
906
|
+
console.log(` ${ui.bold('attempts')} Check ${status.checkAttemptsSpent}/${MAX_ATTEMPTS} (${status.checkAttemptsRemaining} left), review ${status.reviewAttemptsSpent}/${MAX_ATTEMPTS} (${status.reviewAttemptsRemaining} left)`);
|
|
907
|
+
console.log(` ${ui.bold('pre-run')} ${status.preRunCheckRuns} Check run(s)`);
|
|
908
|
+
for (const check of status.checkAttempts) {
|
|
909
|
+
console.log(` Check ${check.attempt}: ${check.check.pass ? 'pass' : 'FAIL'}; ledger ${plain(check.check.ledgerEntryId)}; HEAD ${plain(check.check.checkedHead)}; evidence ${plain(check.check.evidencePath)}`);
|
|
910
|
+
}
|
|
911
|
+
for (const review of status.reviewAttempts) {
|
|
912
|
+
console.log(` Review ${review.attempt}: ${review.verdict}; ${plain(review.review.path)}; patch ${plain(review.review.patchId)}; created ${plain(review.review.createdAt)}`);
|
|
913
|
+
for (const finding of review.findings)
|
|
914
|
+
console.log(plain(finding));
|
|
915
|
+
}
|
|
916
|
+
for (const review of status.preRunReviews) {
|
|
917
|
+
console.log(` Pre-run review ${plain(review.commit).slice(0, 12)}: ${review.verdict}; findings not recorded`);
|
|
918
|
+
}
|
|
919
|
+
console.log(` ${ui.bold('state')} ${status.stopState}`);
|
|
920
|
+
console.log(` ${ui.bold('next')} ${plain(status.nextOwnerAction ?? 'none recorded')}`);
|
|
921
|
+
if (status.malformedLogLines.length > 0 || status.recordProblems.length > 0) {
|
|
922
|
+
console.log('');
|
|
923
|
+
console.log(ui.bad(' run record is incomplete or inconsistent'));
|
|
924
|
+
if (status.malformedLogLines.length > 0) {
|
|
925
|
+
console.log(` unreadable line(s): ${status.malformedLogLines.map(plain).join(', ')}`);
|
|
926
|
+
}
|
|
927
|
+
for (const problem of status.recordProblems)
|
|
928
|
+
console.log(` ${plain(problem)}`);
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
//# sourceMappingURL=ready.js.map
|