azot 5.0.0-alpha.9 → 5.0.0-alpha.91
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/README.md +44 -4
- package/dist/api.mjs +1 -0
- package/dist/azot.mjs +224 -0
- package/dist/build-DCQwUMvy.mjs +8 -0
- package/dist/context-D4_OUq1b.mjs +267 -0
- package/dist/context.mjs +1 -1
- package/dist/definition-bjfGeDC-.mjs +4 -0
- package/dist/detect-BP0Kp2Vj-Dnqbt2HJ.mjs +1 -0
- package/dist/dev-B1s-JSOP.mjs +1 -0
- package/dist/dist-B-gaauOg.mjs +742 -0
- package/dist/dist-XQKMzfnq.mjs +44 -0
- package/dist/extension-call-D4XpXjoW.mjs +1 -0
- package/dist/logger-lBDkJcWf.mjs +20 -0
- package/dist/pack-DvPW97oc.mjs +1 -0
- package/dist/semver-DTl_T-To.mjs +4 -0
- package/dist/vitest.mjs +1 -1
- package/manifest_schema.json +564 -0
- package/node_modules/dasha/dist/index.d.mts +742 -0
- package/node_modules/dasha/dist/index.mjs +3395 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/CHANGELOG.md +1132 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/LICENSE +8 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/SECURITY.md +50 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/index.d.ts +1843 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +3 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/conventions.js +429 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/dom-parser.js +591 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/dom.js +3759 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/entities.js +2171 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/errors.js +205 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/grammar.js +559 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/index.js +41 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/lib/sax.js +983 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/package.json +77 -0
- package/node_modules/dasha/node_modules/@xmldom/xmldom/readme.md +366 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/LICENSE +21 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/README.md +307 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/apiHelpers.js +381 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/classApi-basic.js +1015 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/classApi-full.js +1016 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/classApi.js +119 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/exoticCalendars-utils.js +386 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/exoticCalendars.js +524 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/funcApi-native.d.ts +117 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/funcApi-native.js +1984 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/funcApi-shim.js +2099 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/funcApi.d.ts +154 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/funcApi.js +212 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/internal.d.ts +62 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/internal.js +3304 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/options.d.ts +2 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/options.js +280 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/chunks/root.js +3 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Calendar.d.ts +26 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Calendar.js +74 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Duration.d.ts +40 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Duration.js +45 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Instant.d.ts +93 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Instant.js +87 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Now.d.ts +14 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/Now.js +19 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainDate.d.ts +98 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainDate.js +117 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainDateTime.d.ts +178 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainDateTime.js +189 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainMonthDay.d.ts +23 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainMonthDay.js +33 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainTime.d.ts +104 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainTime.js +105 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainYearMonth.d.ts +55 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/PlainYearMonth.js +67 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/ZonedDateTime.d.ts +189 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/ZonedDateTime.js +199 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/index.d.ts +3 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/fns/index.js +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/global.d.ts +2 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/global.esm.js +3 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/global.js +4580 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/implementation.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/implementation.js +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/index.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/index.js +11 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/shim.d.ts +4 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/full/shim.js +21 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/global.d.ts +2 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/global.esm.js +3 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/global.js +3738 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/implementation.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/implementation.js +3 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/index.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/index.js +11 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-spec/global.d.ts +726 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-spec/global.js +0 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-spec/index.d.ts +733 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-spec/index.js +0 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-spec/package.json +45 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/diff.d.ts +17 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/diff.js +59 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/endOf.d.ts +9 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/endOf.js +56 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/errorMessages.d.ts +9 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/errorMessages.js +14 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/global-types.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/global-types.js +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/index.d.ts +6 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/index.js +5 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/protected-error-messages.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/protected-error-messages.js +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/protected.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/protected.js +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/round.d.ts +24 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/round.js +47 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/startOf.d.ts +9 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/startOf.js +73 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/utils.d.ts +20 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/utils.js +81 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/with.d.ts +3 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/dist/with.js +44 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/node_modules/temporal-utils/package.json +57 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/package.json +113 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/shim.d.ts +4 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/shim.js +21 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/types/global.d.ts +1 -0
- package/node_modules/dasha/node_modules/temporal-polyfill/types/global.js +1 -0
- package/node_modules/dasha/package.json +72 -0
- package/node_modules/mediabunny/LICENSE +373 -0
- package/node_modules/mediabunny/README.md +236 -0
- package/node_modules/mediabunny/dist/bundles/mediabunny.cjs +43988 -0
- package/node_modules/mediabunny/dist/mediabunny.d.ts +5667 -0
- package/node_modules/mediabunny/dist/modules/shared/aac-misc.d.ts +33 -0
- package/node_modules/mediabunny/dist/modules/shared/aac-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/shared/aac-misc.js +182 -0
- package/node_modules/mediabunny/dist/modules/shared/ac3-misc.d.ts +12 -0
- package/node_modules/mediabunny/dist/modules/shared/ac3-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/shared/ac3-misc.js +11 -0
- package/node_modules/mediabunny/dist/modules/shared/bitstream.d.ts +23 -0
- package/node_modules/mediabunny/dist/modules/shared/bitstream.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/shared/bitstream.js +78 -0
- package/node_modules/mediabunny/dist/modules/shared/dts-misc.d.ts +17 -0
- package/node_modules/mediabunny/dist/modules/shared/dts-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/shared/dts-misc.js +26 -0
- package/node_modules/mediabunny/dist/modules/shared/mp3-misc.d.ts +47 -0
- package/node_modules/mediabunny/dist/modules/shared/mp3-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/shared/mp3-misc.js +173 -0
- package/node_modules/mediabunny/dist/modules/shared/truehd-misc.d.ts +11 -0
- package/node_modules/mediabunny/dist/modules/shared/truehd-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/shared/truehd-misc.js +10 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-demuxer.d.ts +81 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-demuxer.js +286 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-muxer.d.ts +26 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-muxer.js +93 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-reader.d.ts +21 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-reader.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/adts/adts-reader.js +70 -0
- package/node_modules/mediabunny/dist/modules/src/aes.d.ts +27 -0
- package/node_modules/mediabunny/dist/modules/src/aes.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/aes.js +255 -0
- package/node_modules/mediabunny/dist/modules/src/codec-data.d.ts +415 -0
- package/node_modules/mediabunny/dist/modules/src/codec-data.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/codec-data.js +3160 -0
- package/node_modules/mediabunny/dist/modules/src/codec.d.ts +172 -0
- package/node_modules/mediabunny/dist/modules/src/codec.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/codec.js +1210 -0
- package/node_modules/mediabunny/dist/modules/src/conversion.d.ts +470 -0
- package/node_modules/mediabunny/dist/modules/src/conversion.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/conversion.js +1829 -0
- package/node_modules/mediabunny/dist/modules/src/custom-coder.d.ts +134 -0
- package/node_modules/mediabunny/dist/modules/src/custom-coder.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/custom-coder.js +124 -0
- package/node_modules/mediabunny/dist/modules/src/decode.d.ts +48 -0
- package/node_modules/mediabunny/dist/modules/src/decode.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/decode.js +195 -0
- package/node_modules/mediabunny/dist/modules/src/demuxer.d.ts +34 -0
- package/node_modules/mediabunny/dist/modules/src/demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/demuxer.js +15 -0
- package/node_modules/mediabunny/dist/modules/src/encode.d.ts +559 -0
- package/node_modules/mediabunny/dist/modules/src/encode.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/encode.js +817 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-demuxer.d.ts +101 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-demuxer.js +574 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-misc.d.ts +18 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-misc.js +136 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-muxer.d.ts +43 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/flac/flac-muxer.js +275 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-demuxer.d.ts +57 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-demuxer.js +774 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-misc.d.ts +45 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-misc.js +171 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-muxer.d.ts +126 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-muxer.js +1327 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-segmented-input.d.ts +66 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-segmented-input.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/hls/hls-segmented-input.js +762 -0
- package/node_modules/mediabunny/dist/modules/src/id3.d.ts +79 -0
- package/node_modules/mediabunny/dist/modules/src/id3.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/id3.js +952 -0
- package/node_modules/mediabunny/dist/modules/src/index.d.ts +33 -0
- package/node_modules/mediabunny/dist/modules/src/index.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/index.js +51 -0
- package/node_modules/mediabunny/dist/modules/src/input-format.d.ts +317 -0
- package/node_modules/mediabunny/dist/modules/src/input-format.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/input-format.js +731 -0
- package/node_modules/mediabunny/dist/modules/src/input-track.d.ts +577 -0
- package/node_modules/mediabunny/dist/modules/src/input-track.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/input-track.js +1200 -0
- package/node_modules/mediabunny/dist/modules/src/input.d.ts +186 -0
- package/node_modules/mediabunny/dist/modules/src/input.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/input.js +403 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-boxes.d.ts +231 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-boxes.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-boxes.js +2004 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-demuxer.d.ts +250 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-demuxer.js +3640 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-misc.d.ts +34 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-misc.js +58 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-muxer.d.ts +203 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-muxer.js +1442 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-reader.d.ts +27 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-reader.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/isobmff/isobmff-reader.js +116 -0
- package/node_modules/mediabunny/dist/modules/src/logging.d.ts +57 -0
- package/node_modules/mediabunny/dist/modules/src/logging.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/logging.js +84 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/ebml.d.ts +216 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/ebml.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/ebml.js +711 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-demuxer.d.ts +208 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-demuxer.js +2472 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-misc.d.ts +14 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-misc.js +20 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-muxer.d.ts +80 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/matroska/matroska-muxer.js +1244 -0
- package/node_modules/mediabunny/dist/modules/src/media-sink.d.ts +379 -0
- package/node_modules/mediabunny/dist/modules/src/media-sink.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/media-sink.js +2250 -0
- package/node_modules/mediabunny/dist/modules/src/media-source.d.ts +323 -0
- package/node_modules/mediabunny/dist/modules/src/media-source.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/media-source.js +2824 -0
- package/node_modules/mediabunny/dist/modules/src/metadata.d.ts +203 -0
- package/node_modules/mediabunny/dist/modules/src/metadata.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/metadata.js +231 -0
- package/node_modules/mediabunny/dist/modules/src/misc.d.ts +369 -0
- package/node_modules/mediabunny/dist/modules/src/misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/misc.js +1334 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-demuxer.d.ts +89 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-demuxer.js +362 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-muxer.d.ts +31 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-muxer.js +231 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-reader.d.ts +14 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-reader.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-reader.js +45 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-writer.d.ts +35 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-writer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/mp3/mp3-writer.js +101 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-demuxer.d.ts +100 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-demuxer.js +2065 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-misc.d.ts +34 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-misc.js +41 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-muxer.d.ts +48 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/mpeg-ts/mpeg-ts-muxer.js +641 -0
- package/node_modules/mediabunny/dist/modules/src/muxer.d.ts +26 -0
- package/node_modules/mediabunny/dist/modules/src/muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/muxer.js +42 -0
- package/node_modules/mediabunny/dist/modules/src/node.d.ts +9 -0
- package/node_modules/mediabunny/dist/modules/src/node.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/node.js +9 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-demuxer.d.ts +100 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-demuxer.js +843 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-misc.d.ts +27 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-misc.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-misc.js +77 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-muxer.d.ts +63 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-muxer.js +423 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-reader.d.ts +26 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-reader.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/ogg/ogg-reader.js +78 -0
- package/node_modules/mediabunny/dist/modules/src/output-format.d.ts +688 -0
- package/node_modules/mediabunny/dist/modules/src/output-format.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/output-format.js +861 -0
- package/node_modules/mediabunny/dist/modules/src/output.d.ts +351 -0
- package/node_modules/mediabunny/dist/modules/src/output.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/output.js +700 -0
- package/node_modules/mediabunny/dist/modules/src/packet.d.ts +139 -0
- package/node_modules/mediabunny/dist/modules/src/packet.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/packet.js +197 -0
- package/node_modules/mediabunny/dist/modules/src/pcm.d.ts +12 -0
- package/node_modules/mediabunny/dist/modules/src/pcm.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/pcm.js +88 -0
- package/node_modules/mediabunny/dist/modules/src/reader.d.ts +74 -0
- package/node_modules/mediabunny/dist/modules/src/reader.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/reader.js +288 -0
- package/node_modules/mediabunny/dist/modules/src/resample.d.ts +46 -0
- package/node_modules/mediabunny/dist/modules/src/resample.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/resample.js +258 -0
- package/node_modules/mediabunny/dist/modules/src/sample.d.ts +584 -0
- package/node_modules/mediabunny/dist/modules/src/sample.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/sample.js +2500 -0
- package/node_modules/mediabunny/dist/modules/src/segmented-input.d.ts +79 -0
- package/node_modules/mediabunny/dist/modules/src/segmented-input.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/segmented-input.js +453 -0
- package/node_modules/mediabunny/dist/modules/src/source.d.ts +372 -0
- package/node_modules/mediabunny/dist/modules/src/source.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/source.js +2094 -0
- package/node_modules/mediabunny/dist/modules/src/subtitles.d.ts +48 -0
- package/node_modules/mediabunny/dist/modules/src/subtitles.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/subtitles.js +220 -0
- package/node_modules/mediabunny/dist/modules/src/target.d.ts +193 -0
- package/node_modules/mediabunny/dist/modules/src/target.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/target.js +637 -0
- package/node_modules/mediabunny/dist/modules/src/tsconfig.tsbuildinfo +1 -0
- package/node_modules/mediabunny/dist/modules/src/version.d.ts +10 -0
- package/node_modules/mediabunny/dist/modules/src/version.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/version.js +10 -0
- package/node_modules/mediabunny/dist/modules/src/wave/riff-writer.d.ts +19 -0
- package/node_modules/mediabunny/dist/modules/src/wave/riff-writer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/wave/riff-writer.js +31 -0
- package/node_modules/mediabunny/dist/modules/src/wave/wave-demuxer.d.ts +86 -0
- package/node_modules/mediabunny/dist/modules/src/wave/wave-demuxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/wave/wave-demuxer.js +498 -0
- package/node_modules/mediabunny/dist/modules/src/wave/wave-muxer.d.ts +37 -0
- package/node_modules/mediabunny/dist/modules/src/wave/wave-muxer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/wave/wave-muxer.js +335 -0
- package/node_modules/mediabunny/dist/modules/src/writer.d.ts +37 -0
- package/node_modules/mediabunny/dist/modules/src/writer.d.ts.map +1 -0
- package/node_modules/mediabunny/dist/modules/src/writer.js +100 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/LICENSE +21 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/README.md +15 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/index.d.ts +115 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/node_modules/@types/dom-webcodecs/LICENSE +21 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/node_modules/@types/dom-webcodecs/README.md +15 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/node_modules/@types/dom-webcodecs/index.d.ts +185 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/node_modules/@types/dom-webcodecs/package.json +26 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts +517 -0
- package/node_modules/mediabunny/node_modules/@types/dom-mediacapture-transform/package.json +29 -0
- package/node_modules/mediabunny/node_modules/@types/dom-webcodecs/LICENSE +21 -0
- package/node_modules/mediabunny/node_modules/@types/dom-webcodecs/README.md +15 -0
- package/node_modules/mediabunny/node_modules/@types/dom-webcodecs/index.d.ts +185 -0
- package/node_modules/mediabunny/node_modules/@types/dom-webcodecs/package.json +26 -0
- package/node_modules/mediabunny/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts +517 -0
- package/node_modules/mediabunny/package.json +136 -0
- package/package.json +53 -72
- package/types/api.d.ts +5 -0
- package/types/extension-v2.d.ts +228 -0
- package/types/extension-v2.type-test.ts +65 -0
- package/types/extension-v3.d.ts +1285 -0
- package/types/extension-v3.type-test.ts +801 -0
- package/types/extension.d.ts +21 -13
- package/types/feedback.d.ts +103 -0
- package/types/localization.d.ts +92 -0
- package/types/localization.type-test.ts +64 -0
- package/types/manifest.d.ts +184 -0
- package/types/runtime.d.ts +290 -0
- package/types/v2.d.ts +20 -0
- package/types/vitest.d.ts +18 -0
- package/dist/azt.js +0 -2
- package/dist/azt.mjs +0 -2
- package/dist/chunk-nOFOJqeH.js +0 -1
- package/dist/context-DHWGgddt.mjs +0 -3
- package/dist/context-DtwTOZVR.js +0 -3
- package/dist/context.js +0 -1
- package/dist/main.js +0 -1
- package/dist/main.mjs +0 -1
- package/dist/vitest.js +0 -1
- package/types/input.d.ts +0 -16
- package/types/main.d.ts +0 -143
package/README.md
CHANGED
|
@@ -1,10 +1,50 @@
|
|
|
1
|
-
#
|
|
1
|
+
# azot
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Tools for building [Azot](https://azot.mov) extensions: the extension API and its types, the `azot build`, `azot dev` and `azot manifest` commands, and `azot/vitest` for unit tests.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This package does not download videos. To use Azot, get the [desktop app](https://azot.mov/download), which can also add the `azot` command from its settings, or install the standalone CLI:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```shell
|
|
8
|
+
# macOS (Apple Silicon) and Linux (x64)
|
|
9
|
+
curl -fsSL https://azot.mov/install.sh | sh
|
|
10
|
+
|
|
11
|
+
# Windows (x64)
|
|
12
|
+
powershell -c "irm azot.mov/install.ps1 | iex"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Get started
|
|
16
|
+
|
|
17
|
+
Add the package to your extension as a development dependency ([Node.js](https://nodejs.org/en/download) 24 or newer):
|
|
18
|
+
|
|
19
|
+
```shell
|
|
20
|
+
npm i -D azot@alpha
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { defineExtension, defineProvider } from "azot";
|
|
25
|
+
|
|
26
|
+
export default defineExtension({
|
|
27
|
+
title: "Hello world",
|
|
28
|
+
site: defineProvider({
|
|
29
|
+
matches: ["https://*.example.com/*"],
|
|
30
|
+
async list({ url }) {
|
|
31
|
+
return [];
|
|
32
|
+
},
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- `npx azot build` bundles the extension into `dist/` and writes `manifest.json` from its code.
|
|
38
|
+
- `npx azot dev` rebuilds on every change.
|
|
39
|
+
- `npx azot manifest` regenerates `manifest.json` without a release build.
|
|
40
|
+
|
|
41
|
+
Load the folder in Azot with `azot <url> --extension ./my-extension`, or **Load from folder** in the desktop app.
|
|
42
|
+
|
|
43
|
+
Follow the [tutorial](https://azot.mov/docs/extensions/build-extension) and the [API reference](https://azot.mov/docs/extensions/api) for the rest. Public extensions are listed on the [Sites](https://azot.mov/sites) page.
|
|
44
|
+
|
|
45
|
+
## Verify a package build
|
|
46
|
+
|
|
47
|
+
After `pnpm pack:publish`, run `npm run verify:package -- /absolute/path/to/azot-<version>.tgz` from this directory. The check installs the tarball into a temporary directory and builds a small extension with the installed `azot`, without workspace paths. It does not publish the package.
|
|
8
48
|
|
|
9
49
|
## Community
|
|
10
50
|
|
package/dist/api.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=(typeof Azot>`u`?void 0:Azot)??(typeof Streamyx>`u`?void 0:Streamyx)??{};e.defineExtension??=e=>e;const t=e.defineExtension,n=e.z,r=e.ExtensionError,i=e.EXTENSION_ERROR_CODES,a=e.version,o=e.sleep,s=e.abortable,c=e.defineMessages,l=e.t,u=e.input,d=e.prompt,f=e.notify,p=e.confirm,m=e.ask,h=e.utils,g=e.browser,_=e.HTML,v=e.Input,y=e.UrlSource,b=e.CustomPathedSource,x=e.BufferSource,S=e.BlobSource,C=e.ALL_FORMATS,w=e.DASH,T=e.DASH_FORMATS,E=e.HLS,D=e.HLS_FORMATS,O=e.MP4,k=e.MP3,A=e.EncodedPacket,j=e.defineSettings,M=e.defineProvider,N=e.definePacketTransform,P=e.defineProcessor,F=e.defineMuxer,I=e.defineService,L=e.defineAction,R=e.defineListener;export{C as ALL_FORMATS,S as BlobSource,x as BufferSource,b as CustomPathedSource,w as DASH,T as DASH_FORMATS,i as EXTENSION_ERROR_CODES,A as EncodedPacket,r as ExtensionError,E as HLS,D as HLS_FORMATS,_ as HTML,v as Input,k as MP3,O as MP4,y as UrlSource,s as abortable,m as ask,g as browser,p as confirm,e as default,L as defineAction,t as defineExtension,R as defineListener,c as defineMessages,F as defineMuxer,N as definePacketTransform,P as defineProcessor,M as defineProvider,I as defineService,j as defineSettings,u as input,f as notify,d as prompt,o as sleep,l as t,h as utils,a as version,n as z};
|
package/dist/azot.mjs
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{$i as e,$n as t,$r as n,$t as r,Ai as i,An as a,Ar as o,At as s,Bi as c,Br as l,Bt as u,C as d,Ci as f,Cn as p,Cr as m,Ct as h,D as g,Di as ee,Dn as te,Dr as ne,Dt as re,E as _,Ei as v,En as y,Er as ie,Et as ae,F as oe,Fi as se,Fn as ce,Fr as le,Ft as ue,Gi as de,Gn as fe,Gr as pe,Gt as me,H as he,Hi as ge,Hn as _e,Hr as ve,Ht as ye,Ii as b,Ir as be,It as xe,Jn as x,Jr as Se,Jt as Ce,Ki as we,Kn as S,Kr as Te,Kt as Ee,Li as De,Lr as Oe,Lt as ke,Mi as Ae,Mn as je,Mr as Me,Mt as Ne,Ni as C,Nn as Pe,Nr as Fe,Nt as Ie,O as Le,Oi as Re,On as ze,Or as Be,Ot as Ve,Pi as He,Pn as Ue,Pr as We,Pt as Ge,Qi as Ke,Qn as qe,Qr as Je,Qt as Ye,Ri as Xe,Rn as Ze,Rr as Qe,Rt as $e,Si as et,Sn as w,Sr as tt,St as nt,Ti as rt,Tn as it,Tr as at,Tt as ot,U as st,Ui as ct,Un as lt,Ur as ut,Ut as dt,V as ft,Vi as T,Vt as pt,W as mt,Wi as ht,Wn as gt,Wr as _t,Wt as vt,Xi as yt,Xn as bt,Xr as xt,Xt as St,Yn as Ct,Yr as wt,Yt as Tt,Zr as Et,Zt as Dt,_ as Ot,_i as kt,_n as At,_r as jt,_t as Mt,aa as Nt,an as Pt,ar as Ft,at as It,bn as Lt,br as Rt,c as zt,ca as E,ci as Bt,cn as D,d as Vt,di as Ht,ea as O,ei as Ut,en as Wt,er as Gt,f as Kt,fi as qt,fn as k,ft as Jt,gi as Yt,gn as Xt,gr as Zt,hi as Qt,hn as $t,hr as en,ht as tn,ii as nn,in as rn,ir as an,j as on,ji as sn,jn as cn,jr as ln,jt as un,ki as dn,kr as fn,kt as pn,la as mn,li as hn,ln as gn,mi as _n,mn as vn,mr as yn,mt as bn,na as xn,nn as Sn,oa as A,oi as Cn,on as j,ot as wn,p as Tn,pi as En,pn as Dn,pr as On,pt as kn,qi as An,qn as M,qr as jn,qt as Mn,ra as Nn,rn as Pn,rr as N,s as Fn,si as In,sn as Ln,st as Rn,t as zn,ta as Bn,tn as Vn,tr as Hn,u as Un,ua as Wn,ui as Gn,un as P,vn as Kn,vr as qn,vt as Jn,wi as Yn,wn as Xn,wr as Zn,wt as Qn,xi as $n,xn as er,xr as tr,xt as nr,yi as rr,yn as ir,yr as ar,yt as or,zi as F,zn as sr,zr as cr,zt as lr}from"./logger-lBDkJcWf.mjs";import*as ur from"node:child_process";import{PassThrough as dr,finished as fr}from"node:stream";import*as pr from"node:crypto";import*as I from"node:fs";import*as mr from"node:os";import*as hr from"node:path";import*as gr from"node:url";import*as _r from"node:readline";globalThis.Number;const vr=/*#__PURE__*/ A(2,(e,t)=>{let n=10**t;return Math.round(e*n)/n}),yr=(e,t)=>Fe(e)?t(0):l(e.cause)?t(130):t(Sr(ve(e.cause))),br=e=>A(e=>Lt(e[0]),(t,n)=>{let r=n?.disableErrorReporting===!0?t:bt(t,e=>l(e)?N:wr(ve(e))?er(e):N),i=n?.teardown??yr;Ze(an(t=>{try{let e=globalThis.setInterval(Nt,2147483647);t.addObserver(()=>{clearInterval(e)})}catch{}return e({fiber:t,teardown:i}),r}))}),xr=`~effect/Runtime/errorExitCode`,Sr=e=>{if(typeof e==`object`&&e&&`~effect/Runtime/errorExitCode`in e){let t=e[xr];if(typeof t==`number`)return t}return 1},Cr=`~effect/Runtime/errorReported`,wr=e=>{if(typeof e==`object`&&e&&`~effect/Runtime/errorReported`in e){let t=e[Cr];if(typeof t==`boolean`)return t}return!0},Tr=/* @__PURE__ */ br(({fiber:e,teardown:t})=>{let n=!1;e.addObserver(e=>{process.removeListener(`SIGINT`,r),process.removeListener(`SIGTERM`,r),t(e,e=>{(n||e!==0)&&process.exit(e)})});function r(){n=!0,e.interruptUnsafe(e.id)}process.on(`SIGINT`,r),process.on(`SIGTERM`,r)}),Er=globalThis.BigInt,Dr=e=>e>Er(2**53-1)||e<Er(-(2**53-1))?F():T(Number(e)),Or=/*#__PURE__*/ BigInt(0),kr=/*#__PURE__*/ BigInt(1),L=/*#__PURE__*/ BigInt(1e3),Ar=/*#__PURE__*/ BigInt(1024),jr=[{symbol:`B`,factor:kr,names:[`B`,`byte`,`bytes`]},{symbol:`kB`,factor:L,names:[`kB`,`kilobyte`,`kilobytes`]},{symbol:`MB`,factor:L**/*#__PURE__*/ BigInt(2),names:[`MB`,`megabyte`,`megabytes`]},{symbol:`GB`,factor:L**/*#__PURE__*/ BigInt(3),names:[`GB`,`gigabyte`,`gigabytes`]},{symbol:`TB`,factor:L**/*#__PURE__*/ BigInt(4),names:[`TB`,`terabyte`,`terabytes`]},{symbol:`PB`,factor:L**/*#__PURE__*/ BigInt(5),names:[`PB`,`petabyte`,`petabytes`]},{symbol:`EB`,factor:L**/*#__PURE__*/ BigInt(6),names:[`EB`,`exabyte`,`exabytes`]},{symbol:`ZB`,factor:L**/*#__PURE__*/ BigInt(7),names:[`ZB`,`zettabyte`,`zettabytes`]},{symbol:`YB`,factor:L**/*#__PURE__*/ BigInt(8),names:[`YB`,`yottabyte`,`yottabytes`]},{symbol:`RB`,factor:L**/*#__PURE__*/ BigInt(9),names:[`RB`,`ronnabyte`,`ronnabytes`]},{symbol:`QB`,factor:L**/*#__PURE__*/ BigInt(10),names:[`QB`,`quettabyte`,`quettabytes`]}],Mr=[jr[0],{symbol:`KiB`,factor:Ar,names:[`KiB`,`kibibyte`,`kibibytes`]},{symbol:`MiB`,factor:Ar**/*#__PURE__*/ BigInt(2),names:[`MiB`,`mebibyte`,`mebibytes`]},{symbol:`GiB`,factor:Ar**/*#__PURE__*/ BigInt(3),names:[`GiB`,`gibibyte`,`gibibytes`]},{symbol:`TiB`,factor:Ar**/*#__PURE__*/ BigInt(4),names:[`TiB`,`tebibyte`,`tebibytes`]},{symbol:`PiB`,factor:Ar**/*#__PURE__*/ BigInt(5),names:[`PiB`,`pebibyte`,`pebibytes`]},{symbol:`EiB`,factor:Ar**/*#__PURE__*/ BigInt(6),names:[`EiB`,`exbibyte`,`exbibytes`]},{symbol:`ZiB`,factor:Ar**/*#__PURE__*/ BigInt(7),names:[`ZiB`,`zebibyte`,`zebibytes`]},{symbol:`YiB`,factor:Ar**/*#__PURE__*/ BigInt(8),names:[`YiB`,`yobibyte`,`yobibytes`]}],Nr=[...jr,.../*#__PURE__*/ Mr.slice(1)],Pr=/*#__PURE__*/ new Map(/*#__PURE__*/ Nr.flatMap(e=>e.names.map(t=>[t,e]))),Fr=e=>e,Ir=e=>{throw Error(`Invalid ByteSize: ${e}`)},Lr=e=>!Number.isSafeInteger(e)||e<0?Ir(`expected a non-negative safe integer, received ${e}`):Fr(BigInt(e)),Rr=e=>{let t=/^\s*(\d+)(?:\.(\d+))?\s*([A-Za-z]+)\s*$/.exec(e);if(t===null)return Ir(`unsupported syntax ${JSON.stringify(e)}`);let n=Pr.get(t[3]);if(n===void 0)return Ir(`unsupported unit ${JSON.stringify(t[3])}`);let r=t[2]??``,i=BigInt(10)**BigInt(r.length),a=BigInt(t[1]+r)*n.factor;return a%i===Or?Fr(a/i):Ir(`${JSON.stringify(e)} does not represent an integral number of bytes`)},zr=e=>{switch(typeof e){case`bigint`:return e<Or?Ir(`expected a non-negative bigint, received ${e}`):Fr(e);case`number`:return Lr(e);case`string`:return Rr(e)}return Ir(`unsupported input ${e}`)},Br=e=>typeof e==`bigint`?zr(e):Lr(e),Vr=1e4,Hr=2**22,Ur=(e,t)=>{let n=[],r=/* @__PURE__ */ new Set;for(let t of e)for(let e of ri(t)){let t=n.length;Gr(e,n)&&r.add(t)}return{nodes:n,initial:ui(n,r),dot:t}},Wr=e=>e.startsWith(`//`)&&e[2]!==void 0&&e[2]!==`/`,Gr=(e,t)=>{if(e===``||Wr(e))return!1;let n=qr(e),r=n.indexOf(`**`);if(r!==-1&&n.some((e,t)=>t>r&&(e===`.`||e===`..`)))return!1;let{directory:i,segments:a}=Qr(n);if(a.length===0)return!1;for(let e of a)e===`**`?t[t.length-1]!==Kr&&t.push(Kr):t.push($r(Array.from(e)));return t.push({_tag:`End`,directoryOnly:i}),!0},Kr={_tag:`Globstar`},qr=e=>{let t=[],n=0;for(let r=0;r<e.length;r++)e[r]===`\\`?r++:e[r]===`/`&&(t.push(e.slice(n,r)),n=r+1);return t.push(e.slice(n)),t},Jr=/^[A-Za-z]:/,Yr=e=>e.length===2&&Jr.test(e),Xr=e=>e===``||e.length===3&&e[2]===`/`&&Jr.test(e),Zr=e=>e.startsWith(`/`)||e[2]===`/`&&Jr.test(e),Qr=e=>{let t=[],n=0;e.length>1&&(e[0]===``||Yr(e[0]))&&(t.push(e[0]===``?``:`${e[0]}/`),n=1);let r=!1;for(;n<e.length;n++){let i=e[n];i===``||i===`.`?r=n===e.length-1&&t.length>0:(t.push(i),r=!1)}return t.length===0&&e.includes(`.`)&&t.push(`.`),{segments:t,directory:r}},$r=e=>{let t=[],n=``,r=!1,i=!0;for(let a=0;a<e.length;a++){let o=e[a];if(o===`\\`&&a+1<e.length)n+=e[++a],t.push({_tag:`Char`,value:e[a]});else if(o===`*`)r=!0,t[t.length-1]?._tag!==`Star`&&t.push({_tag:`Star`});else if(o===`?`)r=!0,t.push({_tag:`Any`});else if(o===`[`&&i){let s=ni(e,a);s===void 0?(i=!1,n+=o,t.push({_tag:`Char`,value:o})):(r=!0,t.push(s.token),a=s.end)}else n+=o,t.push({_tag:`Char`,value:o})}if(!r)return{_tag:`Literal`,value:n};let a=t[0];return{_tag:`Wildcard`,tokens:t,leadingDot:a._tag===`Char`&&a.value===`.`}},R=(e,t)=>[e.codePointAt(0),t.codePointAt(0)],ei={alnum:[.../*#__PURE__*/ R(`0`,`9`),.../*#__PURE__*/ R(`A`,`Z`),.../*#__PURE__*/ R(`a`,`z`)],alpha:[.../*#__PURE__*/ R(`A`,`Z`),.../*#__PURE__*/ R(`a`,`z`)],blank:[9,9,32,32],cntrl:[0,31,127,127],digit:/*#__PURE__*/ R(`0`,`9`),graph:[33,126],lower:/*#__PURE__*/ R(`a`,`z`),print:[32,126],punct:[33,47,58,64,91,96,123,126],space:[9,13,32,32],upper:/*#__PURE__*/ R(`A`,`Z`),word:[.../*#__PURE__*/ R(`0`,`9`),.../*#__PURE__*/ R(`A`,`Z`),95,95,.../*#__PURE__*/ R(`a`,`z`)],xdigit:[.../*#__PURE__*/ R(`0`,`9`),.../*#__PURE__*/ R(`A`,`F`),.../*#__PURE__*/ R(`a`,`f`)]},ti=(e,t)=>{for(let n=t+2;n<e.length&&n<=t+8;n++)if(e[n]===`:`&&e[n+1]===`]`){let r=ei[e.slice(t+2,n).join(``)];return r===void 0?void 0:{ranges:r,end:n+1}}},ni=(e,t)=>{let n=t+1,r=e[n]===`!`||e[n]===`^`;r&&n++;let i=[];for(let t=!0;n<e.length;n++,t=!1){let a=e[n];if(a===`/`)return;if(a===`]`&&!t)return{token:{_tag:`Class`,ranges:i,negated:r},end:n};if(a===`[`&&e[n+1]===`:`){let t=ti(e,n);if(t!==void 0){i.push(...t.ranges),n=t.end;continue}}if(a===`\\`&&n+1<e.length&&(a=e[++n]),e[n+1]===`-`&&n+2<e.length&&e[n+2]!==`]`){let t=n+2;if(e[t]===`/`)return;e[t]===`\\`&&t+1<e.length&&t++,i.push(...R(a,e[t])),n=t}else i.push(...R(a,a))}},ri=e=>{let t=Array.from(e),n=ii(t);if(n.size===0)return[e];let r=ai(t,0,t.length,n,0);if(r===void 0)return[e];let i=oi(r);return i>Vr||i*e.length>Hr?[e]:si(r)},ii=e=>{let t=/* @__PURE__ */ new Map,n=[],r=!0;for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`)i++;else if(a===`/`)r=!0;else if(a===`[`&&r){let t=ni(e,i);t===void 0?r=!1:i=t.end}else if(a===`{`)n.push({open:i,commas:[]});else if(a===`,`)n[n.length-1]?.commas.push(i);else if(a===`}`){let e=n.pop();e!==void 0&&e.commas.length>0&&t.set(e.open,{commas:e.commas,close:i})}}return t},ai=(e,t,n,r,i)=>{if(i>64)return;let a=[],o=``;for(let s=t;s<n;s++){let t=r.get(s);if(t===void 0){e[s]===`\\`&&s+1<n&&(o+=e[s++]),o+=e[s];continue}let c=[],l=s+1;for(let n of[...t.commas,t.close]){let t=ai(e,l,n,r,i+1);if(t===void 0)return;c.push(t),l=n+1}o!==``&&(a.push(o),o=``),a.push(c),s=t.close}return o!==``&&a.push(o),a},oi=e=>{let t=1;for(let n of e)if(typeof n!=`string`){let e=0;for(let t of n)e+=oi(t);if(t*=e,t>Vr)return 1/0}return t},si=e=>{let t=[``];for(let n of e)if(typeof n==`string`)t=t.map(e=>e+n);else{let e=n.flatMap(si);t=t.flatMap(t=>e.map(e=>t+e))}return t},ci=(e,t)=>{switch(e._tag){case`Char`:return e.value===t;case`Any`:return!0;case`Star`:return!1;case`Class`:{let n=t.codePointAt(0),r=!1;for(let t=0;t<e.ranges.length&&!r;t+=2)r=n>=e.ranges[t]&&n<=e.ranges[t+1];return r!==e.negated}}},li=(e,t,n,r)=>{if(t===`.`||t===`..`||t.startsWith(`.`)&&!r&&!e.leadingDot)return!1;let{tokens:i}=e,a=0,o=0,s=-1,c=0;for(;o<n.length;)if(i[a]?._tag===`Star`)s=a++,c=o;else if(a<i.length&&ci(i[a],n[o]))a++,o++;else if(s!==-1)a=s+1,o=++c;else return!1;for(;i[a]?._tag===`Star`;)a++;return a===i.length},ui=(e,t)=>{for(let n of t)e[n]._tag===`Globstar`&&t.add(n+1);return t},di=(e,t,n)=>{let r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=Xr(n),o;for(let s of t){let t=e.nodes[s];switch(t._tag){case`Globstar`:a||n===`.`||n===`..`||!e.dot&&n.startsWith(`.`)||i.add(s);break;case`Literal`:t.value===n&&r.add(s+1);break;case`Wildcard`:!a&&li(t,n,o??=Array.from(n),e.dot)&&r.add(s+1)}}return{explicit:ui(e.nodes,r),globstar:ui(e.nodes,i)}},fi=e=>{if(e.globstar.size===0)return e.explicit;let t=new Set(e.explicit);for(let n of e.globstar)t.add(n);return t},pi=(e,t,n)=>{for(let r of t){let t=e.nodes[r];if(t._tag===`End`&&(n||!t.directoryOnly))return!0}return!1},mi=(e,t)=>{for(let n of t)if(e.nodes[n]._tag!==`End`)return!0;return!1},hi=(e,t)=>{for(let n of t){let t=e.nodes[n];if(t._tag===`End`&&t.directoryOnly)return!0}return!1},gi=(e,t)=>e===``?t===``?`/`:t:e.endsWith(`/`)?e+t:`${e}/${t}`,_i=e=>e.reason._tag===`NotFound`||e.reason._tag===`BadResource`,vi=e=>_i(e)||e.reason._tag===`PermissionDenied`,yi=e=>vi(e)||e.reason._tag===`Unknown`,bi=/*#__PURE__*/ ct(ge,e=>e.name),xi=e=>(t,n)=>Si(e,Ur([t],n?.dot??!1),n),Si=/*#__PURE__*/ k(function*(e,t,n){if(t.initial.size===0)return[];let i=n?.root??``,a=Ur(n?.exclude??[],!0),o=a.nodes.some(e=>e._tag===`End`&&e.directoryOnly),s=e=>Zr(e)?e:e===``?i===``?`.`:i:gi(i,e),c=e=>e===`.`||e===`..`||Xr(e),l=(t,n,i)=>{let a=s(gi(t,n));return e.stat(a).pipe(w(e=>e.type),Wt(`PlatformError`,`NotFound`,()=>e.readLink(a).pipe(Tt(`SymbolicLink`),r(yi,()=>S(void 0)))),r(i?_i:vi,()=>S(void 0)),w(e=>e===void 0?void 0:{name:n,type:e}))},u=(n,i,a)=>{let o=/* @__PURE__ */ new Set,u=!a;for(let e of i){let n=t.nodes[e];n._tag===`Literal`?o.add(n.value):n._tag!==`End`&&(u=!0)}let d=u?[...o].filter(c):[...o];return Ft(u?r(e.readDirectoryEntries(s(n)),a?_i:vi,()=>S([])):S([]),Dn(d,e=>l(n,e,a),{concurrency:16}),(e,t)=>({entries:Qt([...e,...t.filter(O)],bi),named:a&&!u}))},d=k(function*({name:n,type:i},c,l,u){let d=di(t,l,n),f=fi(d);if(f.size===0)return;let p=gi(c,n),m=fi(di(a,u,n)),h=mi(t,f),g=!h&&!hi(t,f)&&!o?!1:i!==`Unknown`&&i!==`SymbolicLink`?i===`Directory`:yield*e.stat(s(p)).pipe(w(e=>e.type===`Directory`),r(vi,()=>S(!1))),ee=pi(t,f,g);if(!ee&&(!g||!h)||pi(a,m,g))return;let te=e=>({relative:p,accepted:ee,excluded:m,next:e});if(!g||!h)return te(void 0);if(d.globstar.size===0)return te(f);let ne=mi(t,d.explicit)?d.explicit:void 0;return i===`Unknown`?yield*e.readLink(s(p)).pipe(Tt(te(ne)),r(yi,()=>S(te(f)))):te(i===`SymbolicLink`?ne:f)}),f=k(function*(e,t,n,r,i){let a=yield*u(e,t,r),o=yield*Dn(a.entries,r=>d(r,e,t,n),{concurrency:16});for(let e of o)e!==void 0&&(e.accepted&&i.push(e.relative),e.next!==void 0&&(yield*f(e.relative,e.next,e.excluded,a.named,i)))}),p=[];return yield*f(``,t.initial,a.initial,!0,p),p}),Ci=`~effect/PlatformError`;var wi=class extends (/*#__PURE__*/ Et(`BadArgument`)){get message(){return`${this.module}.${this.method}${this.description?`: ${this.description}`:``}`}},Ti=class extends xt{get message(){return`${this._tag}: ${this.module}.${this.method}${this.pathOrDescriptor===void 0?``:` (${this.pathOrDescriptor})`}${this.description?`: ${this.description}`:``}`}},Ei=class extends (/*#__PURE__*/ Et(`PlatformError`)){constructor(e){`cause`in e?super({reason:e,cause:e.cause}):super({reason:e})}[Ci]=Ci;get message(){return this.reason.message}};const Di=e=>new Ei(new Ti(e)),Oi=e=>new Ei(new wi(e)),ki=pe,Ai=_t,ji=jn,Mi=Te,Ni=Se,Pi=`~effect/Sink`,Fi=/*#__PURE__*/ S([void 0]),Ii={_A:E,_In:E,_L:E,_E:E,_R:E},Li={[Pi]:Ii,pipe(){return Wn(this,arguments)}},Ri=e=>Ke(e,Pi),zi=e=>Bi((t,n)=>Ge(e)(t,n).pipe(P(vn({disableYield:!0})),On(S))),Bi=e=>{let t=Object.create(Li);return t.transform=e,t},Vi=e=>Ne((t,n)=>S(P(e.transform(t,n),Qe))),Hi=/*#__PURE__*/ Bi(e=>On(vn(e,{disableYield:!0}),()=>Fi)),Ui=e=>Wi(Dn(t=>e(t),{discard:!0})),Wi=e=>Bi(t=>t.pipe(P(e),vn({disableYield:!0}),On(()=>Fi))),Gi=e=>zi(ue(w(e,Vi))),Ki={_tag:`Empty`},qi={_tag:`Closed`},Ji={_A:E,_E:E};var Yi=class{"~effect/RcRef"=Ji;pipe(){return Wn(this,arguments)}state=Ki;acquire;context;scope;idleTimeToLive;constructor(e,t,n,r){this.acquire=e,this.context=t,this.scope=n,this.idleTimeToLive=r}};const Xi=e=>an(t=>{let r=t.context,i=rt(r,ar),a=new Yi(e.acquire,r,i,e.idleTimeToLive===void 0?void 0:n(e.idleTimeToLive));return Tt(tr(i,()=>{let e=a.state;return a.state=qi,e._tag===`Acquired`?tt(e.scope,le):e._tag===`Acquiring`?Ai(e.fiber):N}),a)}),Zi=(e,t)=>{switch(e.state._tag){case`Closed`:return ir;case`Acquired`:{let t=e.state;return t.refCount++,t.fiber?Tt(Ai(t.fiber),t):S(t)}case`Acquiring`:{let n=e.state;return n.awaiters++,Qi(e,n,t)}case`Empty`:{let n={_tag:`Acquiring`,fiber:void 0,awaiters:1,acquired:void 0};e.state=n;let r=m(),i=Pe(e.acquire,f(e.context,ar,r)).pipe(P(t=>{if(e.state!==n)return ir;let i={_tag:`Acquired`,value:t,scope:r,fiber:void 0,refCount:n.awaiters,invalidated:!1};return e.state=i,n.acquired=i,S(i)}),ze(t=>Fe(t)?N:(e.state===n&&(e.state=Ki),tt(r,t))));return n.fiber=sr(ji().context)(i),Qi(e,n,t)}}},Qi=(e,t,n)=>ze(n(ki(t.fiber)),n=>{let r=t.acquired;return r===void 0?--t.awaiters>0||e.state!==t?N:(e.state=Ki,Ai(t.fiber)):Me(n)?ea(e,r):N}),$i=e=>{let t=e;return Hn(e=>P(_e,n=>P(Zi(t,e),e=>Tt(tr(n,()=>ea(t,e)),e.value))))},ea=(e,t)=>{if(t.refCount--,t.refCount>0)return N;let n=e.idleTimeToLive;return n===void 0||t.invalidated?(e.state===t&&(e.state=Ki),tt(t.scope,le)):(Ut(n)&&(t.fiber=Hn(r=>P(r(fe(n)),()=>e.state===t&&t.refCount===0?(e.state=Ki,Kn(tt(t.scope,le),{log:`Unhandled`,message:`Unhandled error in RcRef finalizer`})):N)).pipe(Ln(x(()=>{t.fiber=void 0})),sr(e.context),Mi(e.scope))),N)},ta=Xi,na=$i,ra=`~effect/FileSystem`,ia=/*#__PURE__*/ et(`effect/FileSystem`),aa=e=>ia.of({...e,[ra]:ra,glob:xi(e),exists:t=>mn(e.access(t),Tt(!0),Vn(`PlatformError`,e=>e.reason._tag===`NotFound`?S(!1):D(e))),readFileString:(n,r)=>P(e.readFile(n),e=>t({try:()=>new TextDecoder(r).decode(e),catch:e=>Oi({module:`FileSystem`,method:`readFileString`,description:`invalid encoding`,cause:e})})),stream:k(function*(t,n){let r=yield*e.open(t,{flag:`r`}),i=n?.offset===void 0?void 0:zr(n.offset);i&&(yield*r.seek(i,`start`));let a=n?.bytesToRead===void 0?void 0:zr(n.bytesToRead),o=BigInt(0),s=Number(BigInt(n?.chunkSize??65536)),c=r.readAlloc(s);return or(S(P(M(()=>a!==void 0&&a<=o?Qe():a!==void 0&&a-o<s?r.readAlloc(Number(a-o)):c),Xe({onNone:()=>Qe(),onSome:e=>(o+=BigInt(e.length),S(En(e)))}))))},un),sink:(t,n)=>mn(e.open(t,{...n,flag:n?.flag??`w`}),w(e=>Ui(t=>e.writeAll(t))),Gi),writeFileString:(n,r,i)=>P(t({try:()=>new TextEncoder().encode(r),catch:e=>Oi({module:`FileSystem`,method:`writeFileString`,description:`could not encode string`,cause:e})}),t=>e.writeFile(n,t,i))}),oa=`~effect/FileSystem/File`;var sa=class extends (/*#__PURE__*/ et()(`effect/FileSystem/WatchBackend`)){};const ca=`~effect/Path`,la=/*#__PURE__*/ et(`effect/Path`),ua=e=>la.of({...e,[ca]:ca,resolveWithin(t,n){if(e.parse(n).root!==``)return F();let r=e.resolve(t),i=e.resolve(r,n),a=e.relative(r,i);return a===`..`||a.startsWith(`..${e.sep}`)||e.isAbsolute(a)?F():T(i)}});function da(){return Object.assign(e=>e,{option:e=>T(e),result:e=>rr(e),is:e=>!0})}const fa=/*#__PURE__*/ da(),pa=/*#__PURE__*/ da(),ma=`~effect/process/ChildProcessSpawner/ChildProcessHandle`,ha={[ma]:ma,...An,toJSON(){return{_id:`ChildProcessHandle`,pid:this.pid}}},ga=e=>Object.setPrototypeOf({...e},ha),_a=e=>{let t=(t,n)=>e(t).pipe(w(e=>kn(n?.includeStderr===!0?e.all:bn(e.stdout,e.stderr))),un),n=(e,n)=>re(t(e,n));return va.of({spawn:e,exitCode:t=>lt(P(e(t),e=>ce(e.exitCode,Ce(ae(e.all),y)))),streamString:t,streamLines:n,lines:(e,t)=>ot(n(e,t)),string:(e,n)=>h(t(e,n))})};var va=class extends (/*#__PURE__*/ et()(`effect/process/ChildProcessSpawner`)){},ya=class extends (/*#__PURE__*/ Et(`CommandLineError`)){};const ba=(e,t)=>{if(e.length===0)return``;let n=t?.format??`posix`;return Ea(n,e.map((e,t)=>It(e)?`<redacted>`:Fa(Ta(n,e,t===0))))},xa=(e,...t)=>{let n=e.findIndex(e=>e===void 0);return n===-1?Va(e,t):Yt(new ya({reason:`InvalidEscape`,message:`Template part ${n} contains an invalid escape sequence`}))},Sa=e=>It(e)?Rn(e):String(e),Ca=e=>It(e)?e:String(e),wa=/*#__PURE__*/ new Set(/* @__PURE__ */ `!.{.}.and.begin.case.coproc.do.done.elif.else.end.esac.fi.for.foreach.function.if.in.nocorrect.not.or.repeat.select.switch.then.time.until.while`.split(`.`)),Ta=(e,t,n)=>{switch(e){case`posix`:return n&&wa.has(t)?`'${t}'`:Oa(t);case`powershell`:return ka(t);case`windows`:return n&&!t.includes(`"`)?Ma(t):ja(t)}},Ea=(e,t)=>e===`powershell`?`& ${t.join(` `)}`:t.join(` `),Da=/^[A-Za-z0-9_@+:,./-]+$/,Oa=e=>Da.test(e)?e:`'${e.replace(/['\\]/g,e=>`'\\${e}'`)}'`,ka=e=>`'${e.replace(/['\u2018\u2019\u201A\u201B]/g,`$&$&`)}'`,Aa=/[ \t\n\v"]/,ja=e=>{if(e.length>0&&!Aa.test(e))return e;let t=`"`,n=0;for(let r of e)r===`\\`?n++:r===`"`?(t+=`\\`.repeat(n*2+1)+`"`,n=0):(t+=`\\`.repeat(n)+r,n=0);return t+`\\`.repeat(n*2)+`"`},Ma=e=>e.length>0&&!/[ \t]/.test(e)?e:`"${e}"`,Na=/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g,Pa={"\n":`\\n`,"\r":`\\r`," ":`\\t`},Fa=e=>e.replace(Na,e=>Pa[e]??`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`),Ia=/[A-Za-z_0-9{(@*#?$!'"-]/,La=/[A-Za-z_0-9{(@*#?$!-]/,Ra=/^[A-Za-z_][A-Za-z0-9_]*\+?$/,za=e=>e===` `||e===` `||e===`
|
|
3
|
+
`,Ba=(e,t,n)=>{if(`|&;<>()`.includes(e))return`The operator "${e}" needs a shell`;if(e==="`")return`Command substitution needs a shell`;if(e===`$`&&t!==void 0&&Ia.test(t))return`The expansion "$${t}" needs a shell`;if(`*?[`.includes(e))return`The glob character "${e}" needs a shell`;if(n){if(e===`#`)return`A comment needs a shell`;if(e===`~`)return`Tilde expansion needs a shell`;if(e===`=`&&t!==void 0&&!za(t))return`A leading "=" is expanded by zsh`}},Va=(e,t)=>{let n=[],r=[],i=!0,a=0,o,s=0,c=0,l=(e,t,n=c)=>Yt(new ya({reason:e,message:`${t} in template part ${n}`})),u=()=>{if(r.length===0)return;let e=r.map(Sa).join(``);n.push(r.length===1&&It(r[0])?r[0]:r.some(It)?wn(e):e),r=[],i=!0,a=0},d=e=>{for(let t=0;t<e.length;t++){let d=e[t],f=e[t+1];if(o===`'`)d===`'`?o=void 0:r.push(d);else if(o===`"`){if(d===`"`)o=void 0;else if(d===`\\`&&f!==void 0&&`$\`"\\
|
|
4
|
+
`.includes(f))f!==`
|
|
5
|
+
`&&r.push(f),t++;else if(d==="`")return l(`UnsupportedSyntax`,`Command substitution needs a shell`);else if(d===`$`&&f!==void 0&&La.test(f))return l(`UnsupportedSyntax`,`The expansion "$${f}" needs a shell`);else r.push(d)}else if(za(d))u();else if(d===`\\`){if(f===void 0)return l(`InvalidEscape`,`A trailing backslash escapes nothing`);f!==`
|
|
6
|
+
`&&(r.push(f),i=!1),t++}else if(d===`'`||d===`"`)o=d,s=c,r.push(``),i=!1;else{let e=Ba(d,f,r.length===0);if(e!==void 0)return l(`UnsupportedSyntax`,e);if(d===`{`)a++;else if(d===`}`)a>0&&a--;else if(a>0&&(d===`,`||d===`.`&&f===`.`))return l(`UnsupportedSyntax`,`Brace expansion needs a shell`);else if(d===`=`&&n.length===0&&i&&Ra.test(r.join(``)))return l(`UnsupportedSyntax`,`A variable assignment needs a shell`);r.push(d)}}};for(;c<e.length;c++){let a=d(e[c]);if(a!==void 0)return a;if(c===t.length)break;let o=t[c];if(Array.isArray(o)){let i=e[c+1][0];if(r.length>0||(i===void 0?c+1<t.length:!za(i)))return l(`UnsupportedSyntax`,`An interpolated array must be a separate argument`);for(let e of o)n.push(Ca(e))}else r.push(Ca(o)),i=!1}return o===void 0?(u(),rr(n)):l(`UnterminatedQuote`,`The quote is not closed`,s)},Ha=`~effect/process/ChildProcess`,Ua={.../*#__PURE__*/ ht({label:`Command`,evaluate(e){return ee(e.context,va).spawn(this)}}),[Ha]:Ha},Wa=(e,t,n)=>Object.assign(Object.create(Ua),{_tag:`StandardCommand`,command:e,args:t,options:n}),Ga=function(...e){if(Ka(e[0])){let[t,...n]=e,[r,i]=Ya(t,n);return Wa(r,i,{})}if(typeof e[0]==`object`&&!Array.isArray(e[0])&&!Ka(e[0])){let t=e[0];return function(e,...n){if(t.shell!==void 0&&t.shell!==!1)return Wa(Xa(e,n),[],t);let[r,i]=Ya(e,n);return Wa(r,i,t)}}if(typeof e[0]==`string`&&!Array.isArray(e[1])){let[t,n={}]=e;return Wa(t,[],n)}let[t,n=[],r={}]=e;return Wa(t,n,r)},Ka=e=>Array.isArray(e)&&`raw`in e&&Array.isArray(e.raw),qa=e=>{let t=/^fd(\d+)$/.exec(e);if(t===null)return;let n=parseInt(t[1],10);return n>=3?n:void 0},Ja=e=>`fd${e}`,Ya=(e,t)=>{let[n=``,...r]=kt(xa(e,...t));if(typeof n!=`string`)throw new ya({reason:`InvalidArgument`,message:`The program name of a command cannot be Redacted`});return[n,r]},Xa=(e,t)=>{if(t.length>0)throw new ya({reason:`UnsupportedSyntax`,message:`A shell template cannot interpolate values; build the script with CommandLine.quote`});let n=e[0];if(n===void 0)throw new ya({reason:`InvalidEscape`,message:`Template part 0 contains an invalid escape sequence`});return n},Za=(e,t,n)=>{let r=e.detached??n!==`win32`;return{...t,detached:r,shell:e.shell,windowsHide:e.windowsHide??!r}},z=(e,t)=>(n,[r])=>{let i=`Unknown`;switch(n.code){case`ENOENT`:i=`NotFound`;break;case`EACCES`:case`EPERM`:i=`PermissionDenied`;break;case`EEXIST`:i=`AlreadyExists`;break;case`EISDIR`:i=`BadResource`;break;case`ENOTDIR`:i=`BadResource`;break;case`EBUSY`:i=`Busy`;break;case`ELOOP`:i=`BadResource`}return Di({_tag:i,module:e,method:t,pathOrDescriptor:r,syscall:n.syscall,cause:n})},Qa=(e,t,n)=>{if(!(`closed`in e)){t(),n?.();return}let r=()=>{clearImmediate(a),e.off(`error`,r),e.off(`close`,r),n?.()},i=()=>{e.closed?r():(a=setImmediate(i),n||a.unref())},a=setImmediate(i);n||a.unref(),e.once(`error`,r),e.once(`close`,r),t(),e.closed||e.destroy()},$a=e=>zi(Ie(eo(e),e=>[e])),eo=e=>Ne(t=>{let n=e.evaluate(),r=no({...e,writable:n,pull:t});return S(e.endOnDone===!1?r:te(r,e=>yn(e)?N:to(n)))}),to=e=>Dt(t=>{let n=()=>t(N);if(e.closed){let t=fr(e,{readable:!1},()=>{t(),n()})}else Qa(e,Nt,n)}),no=e=>an(t=>{let n=t.currentDispatcher,r=o(),i=o(),a=t=>ie(i,gn(()=>e.onError(t))),s=!1,c=e=>{s=!0,a(e)};e.writable.on(`error`,c);let l=fr(e.writable,{readable:!1},e=>{e?a(e):ie(r,N)});return e.pull.pipe(P(t=>{let r=0;return Dt(i=>{let o=!1,s=()=>n.scheduleTask(c,0),c=()=>{for(e.writable.off(`drain`,c),e.writable.off(`finish`,s);r<t.length;){if(o)return;if(!e.writable.write(t[r++],e.encoding,t=>{t&&(e.writable.closed?a(t):n.scheduleTask(()=>a(t),0))})){o||(e.writable.once(`drain`,c),e.writable.once(`finish`,s));return}}o||i(N)};return c(),x(()=>{o=!0,e.writable.off(`drain`,c),e.writable.off(`finish`,s)})})}),vn({disableYield:!0}),e.endOnDone===!1?E:On(t=>(e.writable.end(),Ce(at(r),Qe(t)))),ce(at(i)),Ln(x(()=>{l();let t=()=>{e.writable.off(`error`,c),e.writable.off(`error`,t),e.writable.off(`close`,t)};e.writable.errored&&!e.writable.closed&&!s?(e.writable.once(`error`,t),e.writable.once(`close`,t)):t()})))}),ro=e=>Jn(io(e)),io=e=>Ne((t,n)=>ao({scope:n,readable:e.evaluate(),onError:e.onError??oo,chunkSize:e.chunkSize,readSize:e.readSize,closeOnDone:e.closeOnDone})),ao=e=>{let t=e.readable,n=e.chunkSize??4096,r=e.closeOnDone??!0,i=e.exit??vt(void 0),a=e.latch??Ni(!1);function o(){a.openUnsafe()}t.on(`readable`,o);let s=fr(t,{readable:!0,writable:!1},t=>{i.current??=ln(t?e.onError(t):be()),a.openUnsafe()}),c=M(function r(){let o=e.readable.read(e.readSize);if(o===null)return i.current?i.current:t.readableEnded?D(be()):(a.closeUnsafe(),P(a.await,r));let s=En(o);for(;s.length<n&&(o=e.readable.read(e.readSize),o!==null);)s.push(o);return S(s)});return Tt(Rt(e.scope,x(()=>{t.off(`readable`,o),r?Qa(t,s):s()})),c)},oo=e=>new Oe(e),so=e=>e instanceof globalThis.Error?e:new globalThis.Error(String(e)),B=(e,t,n)=>{let{commands:r}=yo(n),i=globalThis.process.platform===`win32`?`windows`:`posix`,a=r.map(e=>ba([e.command,...e.args],{format:i})).join(` | `);return z(`ChildProcess`,e)(t,[a])},co=e=>It(e)?Rn(e):e,lo=e=>{if(e.command.includes(`\0`))return`The command contains a NUL character`;let t=e.args.findIndex(e=>co(e).includes(`\0`));if(t!==-1)return`Argument ${t+1} contains a NUL character`;for(let[t,n]of Object.entries(e.options.env??{}))if(n!==void 0&&co(n).includes(`\0`))return`The environment variable ${t} contains a NUL character`},uo=1e3,fo=e=>{let t=()=>{};e.on(`error`,t),e.once(`close`,()=>e.off(`error`,t))},po=e=>e.exitCode!==null||e.signalCode!==null,mo=(e,t)=>e.options.detached!==!1||!po(t),ho=e=>e?.code===`EPERM`,go=(e,t)=>{if(!po(t))return!0;if(globalThis.process.platform===`win32`||!mo(e,t))return!1;try{return globalThis.process.kill(-t.pid,0),!0}catch(e){return ho(e)}},_o=(e,t=()=>{})=>{po(e)?t(null):ur.execFile(`taskkill`,[`/pid`,String(e.pid),`/T`,`/F`],{windowsHide:!0},t)},vo=/*#__PURE__*/ en(va,/* @__PURE__ */ Xt(function*(){let n=yield*ia,r=yield*la,i=k(function*(e){if(!Nn(e.cwd))return yield*n.access(e.cwd),r.resolve(e.cwd)}),a=e=>{if(e.env===void 0)return;let t=e.extendEnv===!0?{...globalThis.process.env}:{};for(let[n,r]of Object.entries(e.env))r===void 0?delete t[n]:t[n]=co(r);return t},c=e=>nr(e)?`pipe`:e,l=e=>Ri(e)?`pipe`:e,u=e=>{let t={stream:`pipe`,encoding:`utf-8`,endOnDone:!0};return Nn(e.stdin)?t:typeof e.stdin==`string`||nr(e.stdin)?{...t,stream:e.stdin}:{stream:e.stdin.stream,encoding:e.stdin.encoding??t.encoding,endOnDone:e.stdin.endOnDone??t.endOnDone}},d=(e,t)=>{let n=e[t];return Nn(n)?{stream:`pipe`}:typeof n==`string`||Ri(n)?{stream:n}:{stream:n.stream}},f=e=>{if(Nn(e.additionalFds))return[];let t=[];for(let[n,r]of Object.entries(e.additionalFds)){let e=qa(n);O(e)&&t.push({fd:e,config:r})}return t.sort((e,t)=>e.fd-t.fd)},p=(e,t,n,r)=>{let i=[c(e.stream),l(t.stream),l(n.stream)];if(r.length===0)return i;let a=r.reduce((e,{fd:t})=>Math.max(e,t),2);for(let e=3;e<=a;e++)i[e]=`ignore`;for(let{fd:e}of r)i[e]=`pipe`;return i},m=(e,t,n)=>$t(Qn(pn(e,e=>ne(n,e)),t)),h=k(function*(e,t,n,r){if(n.length===0)return{getInputFd:()=>Hi,getOutputFd:()=>tn};let i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=(t,n,a)=>M(()=>{let o=Hi;return n&&`write`in n&&(fo(n),o=$a({evaluate:()=>n,onError:n=>B(`fromWritable(fd${t})`,so(n),e)})),a?w(m(a,o,r),()=>{i.set(t,o)}):(i.set(t,o),N)}),c=(t,n,r)=>{let i=tn;if(n&&`read`in n){let r=new dr,a;r.on(`error`,e=>{a??=e}),n.on(`error`,e=>r.destroy(e)),n.pipe(r);let o=n=>B(`fromReadable(fd${t})`,so(n),e);i=Ve(()=>a===void 0?ro({evaluate:()=>r,onError:o}):Mt(o(a)))}r&&(i=s(i,r)),a.set(t,i)};for(let{config:e,fd:r}of n){let n=t.stdio[r];switch(e.type){case`input`:yield*o(r,n,e.stream);break;case`output`:c(r,n,e.sink);break;case`duplex`:n&&`allowHalfOpen`in n&&(n.allowHalfOpen=!0),c(r,n,e.sink),yield*o(r,n,e.stream)}}return{getInputFd:e=>i.get(e)??Hi,getOutputFd:e=>a.get(e)??tn}}),g=(t,n,r,i)=>M(()=>{let a=Hi;return e(n.stdin)&&(fo(n.stdin),a=$a({evaluate:()=>n.stdin,onError:e=>B(`fromWritable(stdin)`,so(e),t),endOnDone:r.endOnDone,encoding:r.encoding})),nr(r.stream)?Tt(m(r.stream,a,i),a):S(a)}),ee=(e,t,n,r)=>{let i=t.stdout?(()=>{let n=new dr;return t.stdout.on(`error`,e=>n.destroy(e)),t.stdout.pipe(n),ro({evaluate:()=>n,onError:t=>B(`fromReadable(stdout)`,so(t),e)})})():tn,a=t.stderr?(()=>{let n=new dr;return t.stderr.on(`error`,e=>n.destroy(e)),t.stderr.pipe(n),ro({evaluate:()=>n,onError:t=>B(`fromReadable(stderr)`,so(t),e)})})():tn;Ri(n.stream)&&(i=s(i,n.stream)),Ri(r.stream)&&(a=s(a,r.stream));let o=nt(i,a);return{stdout:i,stderr:a,all:o}},te=(e,t)=>Dt(n=>{let r=o(),i=ur.spawn(e.command,e.args.map(co),t);return i.on(`error`,t=>{e.args.some(It)&&Object.assign(t,{spawnargs:[e.command,...e.args.map(e=>It(e)?`<redacted>`:e)]}),n(D(B(`spawn`,t,e)))}),i.on(`exit`,(...e)=>{ie(r,We(e))}),i.on(`spawn`,()=>{n(S([i,r]))}),x(()=>{i.kill(`SIGTERM`)})}),re=(e,n,r)=>globalThis.process.platform===`win32`?Dt(t=>{_o(n,n=>{t(n?D(B(`kill`,so(n),e)):N)})}):t({try:()=>{globalThis.process.kill(-n.pid,r)},catch:t=>B(`kill`,so(t),e)}),_=(e,t)=>{if(globalThis.process.platform===`win32`)_o(e);else try{globalThis.process.kill(-e.pid,t)}catch{}},v=(e,t,n)=>M(()=>{if(!t.kill(n)){let t=new globalThis.Error(`Failed to kill child process`);return D(B(`kill`,t,e))}return N}),y=(e,t,n)=>Dt(r=>{let i=Date.now()+n,a,o=()=>{clearTimeout(a),t.removeListener(`exit`,s)},s=()=>{clearTimeout(a),Date.now()>=i||!go(e,t)?(o(),r(N)):a=setTimeout(s,10)};return t.on(`exit`,s),s(),x(o)}),ae=k(function*(e,t,n,r){let i=n=>mo(e,t)?re(e,t,n).pipe(Pn(r=>po(t)&&ho(r.cause)?N:v(e,t,n))):v(e,t,n);yield*i(r?.killSignal??`SIGTERM`),Nn(r?.forceKillAfter)?(yield*at(n),yield*y(e,t,uo)):(yield*y(e,t,nn(r.forceKillAfter)),go(e,t)&&(yield*i(`SIGKILL`),yield*y(e,t,uo))),yield*at(n)}),oe=(e,t)=>{let n=t??`stdout`;switch(n){case`stdout`:return e.stdout;case`stderr`:return e.stderr;case`all`:return e.all;default:{let t=qa(n);return O(t)?e.getOutputFd(t):e.stdout}}},se=k(function*(t){switch(t._tag){case`StandardCommand`:{if(t.options.shell!==void 0&&t.options.shell!==!1&&t.args.length>0)return yield*D(Oi({module:`ChildProcess`,method:`spawn`,description:`The shell option cannot be combined with arguments; pass the whole script as the command`}));let n=lo(t);if(n!==void 0)return yield*D(Oi({module:`ChildProcess`,method:`spawn`,description:n}));let r=u(t.options),s=d(t.options,`stdout`),c=d(t.options,`stderr`),l=f(t.options),m=!0,ne=yield*i(t.options),re=a(t.options),v=p(r,s,c,l),[y,ie]=yield*me(te(t,Za(t.options,{cwd:ne,env:re,stdio:v},process.platform)),k(function*([n,r]){if(yield*Be(r)){let[i]=yield*at(r);(i!==0&&e(i)||m&&process.platform!==`win32`&&t.options.detached!==!1)&&(yield*At(ae(t,n,r,t.options)))}else m&&(yield*At(ae(t,n,r,t.options)))})),oe=pa(y.pid);t.options.detached!==!1&&y.on(`exit`,n=>{n!==0&&e(n)&&_(y,t.options.killSignal??`SIGTERM`)});let se=x(()=>{m||=(y.ref(),!0)}),le=x(()=>(m&&=(y.unref(),!1),se)),ue=o(),de=yield*g(t,y,r,ue),{all:fe,stderr:pe,stdout:he}=ee(t,y,s,c),{getInputFd:ge,getOutputFd:_e}=yield*h(t,y,l,ue),ve=w(Be(ie),e=>!e),ye=P(ce(at(ie),at(ue)),([n,r])=>{if(fn(ue))return at(ue);if(e(n))return S(fa(n));let i=new globalThis.Error(`Process interrupted due to receipt of signal: '${r}'`);return D(B(`exitCode`,i,t))});return ga({pid:oe,exitCode:ye,isRunning:ve,kill:e=>ae(t,y,ie,e),stdin:de,stdout:he,stderr:pe,all:fe,getInputFd:ge,getOutputFd:_e,unref:le})}case`PipedCommand`:{let{commands:e,pipeOptions:n}=yo(t),[r,...i]=e,a=[yield*se(r)];for(let e=0;e<i.length;e++){let t=i[e],r=n[e]??{},o=u(t.options),s=un(S(oe(a[a.length-1],r.from))),c=r.to??`stdin`;if(c===`stdin`)a.push(yield*se(Ga(t.command,t.args,{...t.options,stdin:{...o,stream:s}})));else{let e=qa(c);if(O(e)){let n=Ja(e),r=t.options.additionalFds??{},i=r[n],o=i?.type===`duplex`?{...i,stream:s}:{type:`input`,stream:s};a.push(yield*se(Ga(t.command,t.args,{...t.options,additionalFds:{...r,[n]:o}})))}else a.push(yield*se(Ga(t.command,t.args,{...t.options,stdin:{...o,stream:s}})))}}let o=a[a.length-1],s=e=>Dn([...a].reverse(),t=>At(t.kill(e)),{discard:!0}),c=Xt(function*(){let e=[];for(let t of a)e.push(yield*t.unref);return Dn([...e].reverse(),e=>e,{discard:!0})});return ga({pid:o.pid,exitCode:o.exitCode,isRunning:o.isRunning,kill:s,stdin:a[0].stdin,stdout:o.stdout,stderr:o.stderr,all:o.all,getInputFd:o.getInputFd,getOutputFd:o.getOutputFd,unref:c})}}});return _a(se)})),yo=e=>{let t=[],n=[],r=e=>{switch(e._tag){case`StandardCommand`:t.push(e);break;case`PipedCommand`:r(e.left),n.push(e.options),r(e.right)}};if(r(e),t.length===0)throw Error(`flattenCommand produced empty commands array`);let[i,...a]=t;return{commands:[i,...a],pipeOptions:n}},V=e=>t=>Oi({module:`FileSystem`,method:e,description:t.message??String(t)}),bo=(e,t)=>{let n=Number(e);if(!Number.isSafeInteger(n))throw RangeError(`${t} exceeds the safe integer range: ${e}`);return n},xo=e=>i(sn(e),Dr),So=e=>BigInt.asUintN(64,e),Co=e=>De(sn(e),So),wo=(e,n)=>t({try:()=>bo(e,`position`),catch:V(n)}),To=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.access,/*#__PURE__*/ z(`FileSystem`,`access`),/*#__PURE__*/ V(`access`));return(t,n)=>{let r=I.constants.F_OK;return n?.readable&&(r|=I.constants.R_OK),n?.writable&&(r|=I.constants.W_OK),e(t,r)}})(),Eo=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.cp,/*#__PURE__*/ z(`FileSystem`,`copy`),/*#__PURE__*/ V(`copy`));return(t,n,r)=>e(t,n,{force:r?.overwrite??!1,preserveTimestamps:r?.preserveTimestamps??!1,recursive:!0})})(),Do=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.copyFile,/*#__PURE__*/ z(`FileSystem`,`copyFile`),/*#__PURE__*/ V(`copyFile`));return(t,n)=>e(t,n)})(),Oo=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.chmod,/*#__PURE__*/ z(`FileSystem`,`chmod`),/*#__PURE__*/ V(`chmod`));return(t,n)=>e(t,n)})(),ko=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.chown,/*#__PURE__*/ z(`FileSystem`,`chown`),/*#__PURE__*/ V(`chown`));return(t,n,r)=>e(t,n,r)})(),Ao=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.link,/*#__PURE__*/ z(`FileSystem`,`link`),/*#__PURE__*/ V(`link`));return(t,n)=>e(t,n)})(),jo=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.mkdir,/*#__PURE__*/ z(`FileSystem`,`makeDirectory`),/*#__PURE__*/ V(`makeDirectory`));return(t,n)=>e(t,{recursive:n?.recursive??!1,mode:n?.mode})})(),Mo=e=>{let t=j(I.mkdtemp,z(`FileSystem`,e),V(e));return e=>M(()=>{let n=e?.prefix??``,r=typeof e?.directory==`string`?hr.join(e.directory,`.`):mr.tmpdir();return t(n?hr.join(r,n):r+`/`)})},No=/*#__PURE__*/ Mo(`makeTempDirectory`),Po=e=>{let t=j(I.rm,z(`FileSystem`,e),V(e));return(e,n)=>t(e,{recursive:n?.recursive??!1,force:n?.force??!1})},Fo=/*#__PURE__*/ Po(`remove`),Io=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ Mo(`makeTempDirectoryScoped`),t=/*#__PURE__*/ Po(`makeTempDirectoryScoped`);return n=>me(e(n),e=>a(t(e,{recursive:!0,force:!0})))})(),Lo=e=>{let{O_APPEND:t,O_CREAT:n,O_EXCL:r,O_RDONLY:i,O_RDWR:a,O_TRUNC:o,O_WRONLY:s}=I.constants;switch(e){case`r`:return i;case`r+`:return a;case`w`:return o|n|s;case`wx`:return o|n|s|r;case`w+`:return o|n|a;case`wx+`:return o|n|a|r;case`a`:return t|n|s;case`ax`:return t|n|s|r;case`a+`:return t|n|a;case`ax+`:return t|n|a|r}},Ro=(e,t)=>M(()=>{let{O_NOFOLLOW:n}=I.constants;return process.platform===`win32`||typeof n!=`number`||n===0?D(Oi({module:`FileSystem`,method:e,description:`noFollow is not supported on this platform`})):S(Lo(t)|n)}),zo=/*#__PURE__*/ (e=>{let t=j(I.open,z(`FileSystem`,e),V(e)),n=j(I.close,z(`FileSystem`,e),V(e));return(r,i)=>mn(me(i?.noFollow===!0?P(Ro(e,i.flag??`r`),e=>t(r,e,i.mode)):t(r,i?.flag??`r`,i?.mode),e=>a(n(e))),w(e=>Vo(e,i?.flag?.startsWith(`a`)??!1)))})(`open`),Bo=e=>Oi({module:`FileSystem`,method:e,description:`Cannot read before the start of the file`}),Vo=/*#__PURE__*/ (()=>{let e=e=>j(I.read,z(`FileSystem`,e),V(e)),t=/*#__PURE__*/ e(`read`),n=/*#__PURE__*/ e(`readAlloc`),r=/*#__PURE__*/ j(I.fstat,/*#__PURE__*/ z(`FileSystem`,`stat`),/*#__PURE__*/ V(`stat`)),i=/*#__PURE__*/ j(I.ftruncate,/*#__PURE__*/ z(`FileSystem`,`truncate`),/*#__PURE__*/ V(`truncate`)),a=/*#__PURE__*/ j(I.fsync,/*#__PURE__*/ z(`FileSystem`,`sync`),/*#__PURE__*/ V(`sync`)),o=e=>j(I.write,z(`FileSystem`,e),V(e)),s=/*#__PURE__*/ o(`write`),c=/*#__PURE__*/ o(`writeAll`);class l{[oa];fd;append;position=/*#__PURE__*/ BigInt(0);constructor(e,t){this[oa]=oa,this.fd=e,this.append=t}get stat(){return P(r(this.fd,{bigint:!0}),Qo)}get sync(){return a(this.fd)}seek(e,t){return M(()=>{let n=t===`start`?e:this.position+e;return n<BigInt(0)?D(Oi({module:`FileSystem`,method:`seek`,description:`Cannot seek before the start of the file`})):(this.position=n,S(n))})}read(e,n){return M(()=>{let r=n?.position;if(r!==void 0)return r<BigInt(0)?D(Bo(`read`)):t(this.fd,{buffer:e,position:r});let i=this.position;return w(t(this.fd,{buffer:e,position:i}),e=>(this.position=i+BigInt(e),e))})}readAlloc(e,t){return M(()=>{try{if(!Number.isInteger(e)||e<0)throw RangeError(`size must be a non-negative integer`);let r=t?.position;if(r!==void 0&&r<BigInt(0))return D(Bo(`readAlloc`));let i=Buffer.allocUnsafeSlow(e),a=r??this.position;return w(n(this.fd,{buffer:i,position:a}),t=>{if(t===0)return F();if(r===void 0&&(this.position=a+BigInt(t)),t===e)return T(i);let n=Buffer.allocUnsafeSlow(t);return i.copy(n,0,0,t),T(n)})}catch(e){return D(V(`readAlloc`)(e))}})}truncate(e){return w(i(this.fd,e||void 0),()=>{if(!this.append){let t=BigInt(e??0);this.position>t&&(this.position=t)}})}write(e){return M(()=>{let t=this.position;return P(this.append?S(void 0):wo(t,`write`),n=>w(s(this.fd,e,void 0,void 0,n),e=>(this.append||(this.position=t+BigInt(e)),e)))})}writeAllChunk(e){return M(()=>{let t=this.position;return P(this.append?S(void 0):wo(t,`writeAll`),n=>P(c(this.fd,e,void 0,void 0,n),n=>n===0?D(Di({module:`FileSystem`,method:`writeAll`,_tag:`WriteZero`,pathOrDescriptor:this.fd,description:`write returned 0 bytes written`})):(this.append||(this.position=t+BigInt(n)),n<e.length?this.writeAllChunk(e.subarray(n)):N)))})}writeAll(e){return e.length===0?N:this.writeAllChunk(e)}}return(e,t)=>new l(e,t)})(),Ho=e=>{let t=Mo(e);return k(function*(e){let n=yield*t(e),r=pr.randomBytes(6).toString(`hex`),i=hr.join(n,e?.suffix?`${r}${e.suffix}`:r);return yield*ss(i,/* @__PURE__ */ new Uint8Array),i})},Uo=/*#__PURE__*/ Ho(`makeTempFile`),Wo=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ Ho(`makeTempFileScoped`),t=/*#__PURE__*/ Po(`makeTempFileScoped`);return n=>me(e(n),e=>a(t(hr.dirname(e),{recursive:!0,force:!0})))})(),Go=(e,t)=>qe({try:()=>I.promises.readdir(e,t),catch:t=>z(`FileSystem`,`readDirectory`)(t,[e])}),Ko=e=>qe({try:()=>I.promises.readdir(e,{withFileTypes:!0}),catch:t=>z(`FileSystem`,`readDirectoryEntries`)(t,[e])}).pipe(w(e=>e.map(e=>({name:e.name,type:Zo(e)})))),qo=e=>Dt((t,n)=>{try{I.readFile(e,{signal:n},(n,r)=>{t(n?D(z(`FileSystem`,`readFile`)(n,[e])):S(r))})}catch(e){t(D(V(`readFile`)(e)))}}),Jo=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.readlink,/*#__PURE__*/ z(`FileSystem`,`readLink`),/*#__PURE__*/ V(`readLink`));return t=>e(t)})(),Yo=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(process.platform===`win32`?I.realpath.native:I.realpath,/*#__PURE__*/ z(`FileSystem`,`realPath`),/*#__PURE__*/ V(`realPath`));return t=>e(t)})(),Xo=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.rename,/*#__PURE__*/ z(`FileSystem`,`rename`),/*#__PURE__*/ V(`rename`));return(t,n)=>e(t,n)})(),Zo=e=>e.isFile()?`File`:e.isDirectory()?`Directory`:e.isSymbolicLink()?`SymbolicLink`:e.isBlockDevice()?`BlockDevice`:e.isCharacterDevice()?`CharacterDevice`:e.isFIFO()?`FIFO`:e.isSocket()?`Socket`:`Unknown`,Qo=(e,n=`stat`)=>t({try:()=>({type:Zo(e),mtime:sn(e.mtime),atime:sn(e.atime),birthtime:sn(e.birthtime),dev:So(e.dev),rdev:Co(e.rdev),ino:Co(e.ino),mode:bo(e.mode,`mode`),nlink:Co(e.nlink),uid:xo(e.uid),gid:xo(e.gid),size:Br(e.size),blksize:e.blksize===void 0?F():T(Br(e.blksize)),blocks:sn(e.blocks)}),catch:V(n)}),$o=(e,t)=>{let n=j(t,z(`FileSystem`,e),V(e));return t=>P(n(t,{bigint:!0}),t=>Qo(t,e))},es=/*#__PURE__*/ $o(`stat`,I.stat),ts=/*#__PURE__*/ $o(`lstat`,I.lstat),ns=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.symlink,/*#__PURE__*/ z(`FileSystem`,`symlink`),/*#__PURE__*/ V(`symlink`));return(t,n)=>e(t,n)})(),rs=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.truncate,/*#__PURE__*/ z(`FileSystem`,`truncate`),/*#__PURE__*/ V(`truncate`));return(t,n)=>e(t,n)})(),is=/*#__PURE__*/ (()=>{let e=/*#__PURE__*/ j(I.utimes,/*#__PURE__*/ z(`FileSystem`,`utime`),/*#__PURE__*/ V(`utime`));return(t,n,r)=>e(t,n,r)})(),as=(e,t,n)=>Jt(r=>me(x(()=>{let i=t.type===`Directory`?e:hr.dirname(e),a=I.watch(e,{recursive:n?.recursive??!1},(e,t)=>{if(t)switch(e){case`rename`:Ze(it(es(hr.resolve(i,t)),{onSuccess:e=>lr(r,{_tag:`Create`,path:t}),onFailure:e=>lr(r,{_tag:`Remove`,path:t})}));return;case`change`:u(r,{_tag:`Update`,path:t});return}});return a.on(`error`,t=>{ke(r,cr(Di({module:`FileSystem`,_tag:`Unknown`,method:`watch`,pathOrDescriptor:e,cause:t})))}),a.on(`close`,()=>{xe(r)}),a}),e=>x(()=>e.close())).pipe(Ct(()=>x(()=>n?.onReady?.())))),os=(e,t,n)=>Mn([es(t),gt(sa)]).pipe(w(([r,a])=>c(a,()=>e).pipe(i(e=>e.register(t,r,n)),C(()=>as(t,r,n)))),un),ss=(e,t,n)=>Dt((r,i)=>{try{I.writeFile(e,t,{signal:i,flag:n?.flag,mode:n?.mode},t=>{r(t?D(z(`FileSystem`,`writeFile`)(t,[e])):N)})}catch(e){r(D(V(`writeFile`)(e)))}}),cs=/*#__PURE__*/ w(/*#__PURE__*/ gt(sa),e=>aa({access:To,chmod:Oo,chown:ko,copy:Eo,copyFile:Do,link:Ao,lstat:ts,makeDirectory:jo,makeTempDirectory:No,makeTempDirectoryScoped:Io,makeTempFile:Uo,makeTempFileScoped:Wo,open:zo,readDirectory:Go,readDirectoryEntries:Ko,readFile:qo,readLink:Jo,realPath:Yo,remove:Fo,rename:Xo,stat:es,symlink:ns,truncate:rs,utimes:is,watch(t,n){return os(e,t,n)},writeFile:ss})),ls=/* @__PURE__ */ en(ia)(cs),us=e=>({fromFileUrl:n=>t({try:()=>gr.fileURLToPath(n,{windows:e}),catch:e=>new wi({module:`Path`,method:`fromFileUrl`,cause:e})}),toFileUrl:n=>t({try:()=>gr.pathToFileURL(n,{windows:e}),catch:e=>new wi({module:`Path`,method:`toFileUrl`,cause:e})})});({...hr.posix,.../*#__PURE__*/ us(!1)}),{...hr.win32,.../*#__PURE__*/ us(!0)};const ds=/* @__PURE__ */ qn(la)(/*#__PURE__*/ ua({...hr,.../*#__PURE__*/ us(void 0)})),fs=`~effect/Stdio`,ps=/*#__PURE__*/ et(fs),ms=/* @__PURE__ */ qn(ps,/*#__PURE__*/ (e=>({[fs]:fs,stdinIsTerminal:S(!1),stdoutIsTerminal:S(!1),stderrIsTerminal:S(!1),...e}))({args:/*#__PURE__*/ x(()=>process.argv.slice(2)),stdinIsTerminal:/*#__PURE__*/ x(()=>process.stdin.isTTY===!0),stdoutIsTerminal:/*#__PURE__*/ x(()=>process.stdout.isTTY===!0),stderrIsTerminal:/*#__PURE__*/ x(()=>process.stderr.isTTY===!0),stdout:e=>$a({evaluate:()=>process.stdout,onError:e=>Di({module:`Stdio`,method:`stdout`,_tag:`Unknown`,cause:e}),endOnDone:e?.endOnDone??!1}),stderr:e=>$a({evaluate:()=>process.stderr,onError:e=>Di({module:`Stdio`,method:`stderr`,_tag:`Unknown`,cause:e}),endOnDone:e?.endOnDone??!1}),stdin:/*#__PURE__*/ ro({evaluate:()=>process.stdin,onError:e=>Di({module:`Stdio`,method:`stdin`,_tag:`Unknown`,cause:e}),closeOnDone:!1})})),hs=`~effect/Terminal`,gs=`~effect/Terminal/QuitError`;var _s=class extends (/*#__PURE__*/ Kt(`QuitError`)({_tag:/*#__PURE__*/ st(`QuitError`)})){[gs]=gs};const vs=e=>Ke(e,gs),ys=/*#__PURE__*/ et(`effect/Terminal`),bs=e=>ys.of({...e,[hs]:hs}),xs=/*#__PURE__*/ en(ys,/*#__PURE__*/ (/* @__PURE__ */ k(function*(e=Ss){let t=process.stdin,n=process.stdout,r=yield*$e(),i=t.readableEnded,a=!1,o=()=>{i=!0,a||xe(r)};t.once(`end`,o),yield*Ee(()=>x(()=>t.off(`end`,o)));let s=yield*ta({acquire:me(x(()=>{let e=_r.createInterface({input:t,escapeCodeTimeout:50}),n=e=>u(r,e),i=()=>{a=!1,xe(r)};return a=!0,_r.emitKeypressEvents(t,e),e.on(`line`,n),e.once(`close`,i),{rl:e,onClose:i,onLine:n}}),({rl:e,onClose:t,onLine:n})=>x(()=>{a=!1,e.off(`line`,n),e.off(`close`,t),e.close(),i&&xe(r)})),idleTimeToLive:`10 millis`}),c=e=>x(()=>{t.isTTY&&t.setRawMode(e)}),l=yield*ta({acquire:me(c(!0),()=>c(!1)),idleTimeToLive:`10 millis`}),d=x(()=>n.columns??0),f=x(()=>n.rows??0),m=Xt(function*(){let e=yield*ye(1),t=()=>u(e,{columns:n.columns??0,rows:n.rows??0});return yield*Ee(()=>x(()=>{n.off(`resize`,t),xe(e)})),n.on(`resize`,t),t(),e}),h=Xt(function*(){let n=yield*$e(),r=(t,r)=>{let i={input:Ae(t),key:{name:r.name??``,ctrl:!!r.ctrl,meta:!!r.meta,shift:!!r.shift}};u(n,i),e(i)&&xe(n)},a=setInterval(()=>{},2147483647),o=()=>{clearInterval(a),xe(n)};return yield*Ee(()=>x(()=>{clearInterval(a),t.off(`keypress`,r),t.off(`end`,o)})),t.on(`keypress`,r),i?o():(yield*na(s),yield*na(l),t.once(`end`,o)),n}),g=M(()=>pt(r).pipe(P(Xe({onNone:()=>lt(Ce(na(s),dt(r))),onSome:S})),p(()=>new _s({}))));return bs({columns:d,rows:f,size:m,readInput:h,readLine:g,display:e=>Gt(Dt(t=>{n.write(e,e=>Bn(e)?t(N):t(D(Oi({module:`Terminal`,method:`display`,description:`Failed to write prompt to stdout`,cause:e}))))}))})}))(Ss));function Ss(e){let t=e.key;return t.name===`escape`||t.ctrl&&(t.name===`c`||t.name===`d`)}const Cs=/*#__PURE__*/ jt(vo,/*#__PURE__*/ Zt(ls,ds,ms,xs)),H=`~effect/cli/CliError`,ws=e=>Ke(e,H),Ts=`~effect/cli/CliError/userMessage`,Es=e=>`~effect/cli/CliError/userMessage`in e&&typeof e[`~effect/cli/CliError/userMessage`]==`string`?e[Ts]:void 0;var Ds=class extends (/*#__PURE__*/ _(`${H}/UnrecognizedOption`)(`UnrecognizedOption`,{option:d,command:/*#__PURE__*/ ft(/*#__PURE__*/ zt(d)),suggestions:/*#__PURE__*/ zt(d)})){[H]=H;get message(){let e=this.suggestions.length>0?`\n\n Did you mean this?\n ${this.suggestions.join(`
|
|
7
|
+
`)}`:``;return(this.command?`Unrecognized flag: ${this.option} in command ${this.command.join(` `)}`:`Unrecognized flag: ${this.option}`)+e}},Os=class extends (/*#__PURE__*/ _(`${H}/DuplicateOption`)(`DuplicateOption`,{option:d,parentCommand:d,childCommand:d})){[H]=H;get message(){return`Duplicate flag name "${this.option}" in parent command "${this.parentCommand}" and subcommand "${this.childCommand}". Parent will always claim this flag (Mode A semantics). Consider renaming one of them to avoid confusion.`}},ks=class extends (/*#__PURE__*/ _(`${H}/MissingOption`)(`MissingOption`,{option:d})){[H]=H;get message(){return`Missing required flag: --${this.option}`}},As=class extends (/*#__PURE__*/ _(`${H}/MissingArgument`)(`MissingArgument`,{argument:d})){[H]=H;get message(){return`Missing required argument: ${this.argument}`}},js=class extends (/*#__PURE__*/ _(`${H}/UnexpectedArgument`)(`UnexpectedArgument`,{arguments:/*#__PURE__*/ zt(d)})){[H]=H;get message(){return`Unexpected positional ${this.arguments.length===1?`argument`:`arguments`}: ${this.arguments.map(e=>JSON.stringify(e)).join(`, `)}`}},Ms=class extends (/*#__PURE__*/ _(`${H}/InvalidValue`)(`InvalidValue`,{option:d,value:d,expected:d,kind:/*#__PURE__*/ Le([/*#__PURE__*/ Ot(`flag`),/*#__PURE__*/ Ot(`argument`)])})){[H]=H;get message(){let e=this.expected.startsWith(`Expected `)||this.expected.startsWith(`Expected:`)?this.expected:`Expected: ${this.expected}`;return this.kind===`argument`?`Invalid value for argument <${this.option}>: "${this.value}". ${e}`:this.value.length===0?`Missing value for flag --${this.option}. ${e}`:`Invalid value for flag --${this.option}: "${this.value}". ${e}`}},Ns=class extends (/*#__PURE__*/ _(`${H}/UnknownSubcommand`)(`UnknownSubcommand`,{subcommand:d,parent:/*#__PURE__*/ ft(/*#__PURE__*/ zt(d)),suggestions:/*#__PURE__*/ zt(d)})){[H]=H;get message(){let e=this.suggestions.length>0?`\n\n Did you mean this?\n ${this.suggestions.join(`
|
|
8
|
+
`)}`:``;return this.parent?`Unknown subcommand "${this.subcommand}" for "${this.parent.join(` `)}"${e}`:`Unknown subcommand "${this.subcommand}"${e}`}},Ps=class extends (/*#__PURE__*/ _(`${H}/ValidationError`)(`ValidationError`,{message:d})){[H]=H},Fs=class extends (/*#__PURE__*/ _(`${H}/UserError`)(`UserError`,{cause:/*#__PURE__*/ Vt(),userMessage:/*#__PURE__*/ he(d)})){[H]=H;[Cr]=!0;get message(){return this.userMessage?this.userMessage:typeof this.cause==`string`&&this.cause?this.cause:this.cause instanceof Error&&this.cause.message?this.cause.message:`An error occurred`}get[Ts](){return this.message}};const Is=/*#__PURE__*/ Le([Ds,Os,ks,As,js,Ms,Ns,Ps,Fs]);var Ls=class extends (/*#__PURE__*/ _(`${H}/ShowHelp`)(`ShowHelp`,{commandPath:/*#__PURE__*/ zt(d),errors:/*#__PURE__*/ zt(Is)})){[H]=H;[xr]=+!!this.errors.length;[Cr]=!1;get message(){return`Help requested`}};const Rs={"~effect/cli/Primitive":{_A:E}},zs=/*#__PURE__*/ oe(g),Bs=/*#__PURE__*/ oe(Tn),Vs=e=>e._tag===`Boolean`,Hs=(e,t)=>Object.assign(Object.create(Rs),{_tag:e,parse:t}),Us=/*#__PURE__*/ ((e,t)=>{let n=mt(t),r=on(n);return Hs(e,e=>p(r(e),e=>e.message))})(`Boolean`,Un),Ws=/*#__PURE__*/ Hs(`String`,e=>S(e)),Gs=e=>{let t=new Map(e),n=e.map(([e])=>yt(e)).join(` | `),r=Hs(`Choice`,e=>t.has(e)?S(t.get(e)):D(n));return Object.assign(r,{choiceKeys:e.map(([e])=>e)})},Ks=e=>{switch(e._tag){case`Boolean`:return`boolean`;case`String`:return`string`;case`Int`:return`integer`;case`Finite`:return`number`;case`Date`:return`date`;case`Path`:return`path`;case`Choice`:return`choice`;case`Redacted`:return`string`;case`FileText`:return`file`;case`FileParse`:return`file`;case`FileSchema`:return`file`;case`KeyValuePair`:return`key=value`;case`Never`:return`none`;default:return`value`}},qs=e=>e._tag===`Choice`?e.choiceKeys:void 0,Js=e=>e._tag===`Path`?e.pathType:void 0,Ys=`\x1B[1m`,Xs=`\x1B[4m`,Zs=`\x1B[?25l`,Qs=`\x1B[31m`,$s=`\x1B[32m`,ec=`\x1B[37m`,tc=`\x1B[90m`,nc=`\x1B[96m`,U=(e,t,...n)=>e?`${n.flat().join(``)}${t}[0m`:t,rc=()=>{let e=globalThis.process;return typeof e==`object`&&!!e&&typeof e.stdout==`object`&&e.stdout!==null&&e.stdout.isTTY===!0&&!e.env?.NO_COLOR},ic=(...e)=>e,ac=(e,t)=>t===void 0?`[${Math.max(e+1,0)}G`:`[${t+1};${Math.max(e+1,0)}H`,oc=(e=1)=>`[${e}B`,sc=(e,t=0)=>{let n=``;return t<0&&(n+=`[${-t}A`),t>0&&(n+=`[${t}B`),e>0&&(n+=`[${e}C`),e<0&&(n+=`[${-e}D`),n},cc=e=>{let t=``;for(let n=0;n<e;n++)t+=`\x1B[2K`+(n<e-1?`\x1B[1A`:``);return e>0&&(t+=`\x1B[G`),t},lc={prefix:`?`,arrowUp:`↑`,arrowDown:`↓`,checkboxOn:`☒`,checkboxOff:`☐`,tick:`✔`,ellipsis:`…`,pointerSmall:`›`,pointer:`❯`,descriptionSeparator:`- `,passwordMask:`*`,toggleSeparator:`/`,primaryColor:nc,mutedColor:tc,successColor:$s,errorColor:Qs,submittedColor:ec},uc={...lc,checkboxOn:`[*]`,checkboxOff:`[ ]`,tick:`√`,ellipsis:`...`,pointerSmall:`»`,pointer:`>`},dc=/*#__PURE__*/ $n(`effect/cli/Prompt/Theme`,{defaultValue:e=>({...process.platform===`win32`?uc:lc,...e,colors:e?.colors??rc()})}),W=e=>w(dc,t=>({...t,...e.theme})),fc=(e,t)=>U(e.colors,t,ic(`\x1B[3m`,e.errorColor)),G=(e,t,...n)=>t.length===0?``:U(e.colors,t,...n),pc=(e,t)=>e.length===0?t:e+` `+t,mc=(e,t,n)=>{let r=Math.max(e.arrowUp.length,e.arrowDown.length);return t?e.arrowUp.padEnd(r):n?e.arrowDown.padEnd(r):` `.repeat(r)},hc=e=>{let t={initial:!1,...e,label:{confirm:`yes`,deny:`no`,...e.label},placeholder:{defaultConfirm:`(Y/n)`,defaultDeny:`(y/N)`,...e.placeholder}},n={value:t.initial};return gc(n,{render:Rc(t),process:e=>Vc(e,t.initial),clear:Fc(t)})},gc=(e,...t)=>{let[n,r]=t.length===1?[void 0,t[0]]:[t[0],t[1]],i=Object.create(Oc);return i._tag=`Loop`,i.initialState=e,i.render=r.render,i.process=r.process,i.clear=r.clear,i.events=n,i},_c=e=>{let t={initial:new globalThis.Date,dateMask:`YYYY-MM-DD HH:mm:ss`,validate:S,...e,locales:{...$c,...e.locales}},n=il(t.dateMask,t.initial,t.locales),r={dateParts:n,typed:``,cursor:n.findIndex(e=>!e.isToken()),value:t.initial,error:F()};return gc(r,{render:el(t),process:tl(t),clear:Hc(t)})},vc=/*#__PURE__*/ A(2,(e,t)=>{let n=Object.create(Oc);return n._tag=`OnSuccess`,n.prompt=e,n.onSuccess=t,n}),yc=e=>{let t={default:0,min:globalThis.Number.NEGATIVE_INFINITY,max:globalThis.Number.POSITIVE_INFINITY,incrementBy:1,decrementBy:1,precision:2,validate:e=>e<t.min?D(`${e} must be greater than or equal to ${t.min}`):e>t.max?D(`${e} must be less than or equal to ${t.max}`):S(e),...e},n=e.default===void 0?``:`${t.default}`,r={cursor:n.length,value:n,error:F()};return gc(r,{render:Ol(t),process:kl(t),clear:gl(t)})},bc=e=>{let t={default:0,min:globalThis.Number.NEGATIVE_INFINITY,max:globalThis.Number.POSITIVE_INFINITY,incrementBy:1,decrementBy:1,validate:e=>e<t.min?D(`${e} must be greater than or equal to ${t.min}`):e>t.max?D(`${e} must be less than or equal to ${t.max}`):S(e),...e},n=e.default===void 0?``:`${t.default}`,r={cursor:n.length,value:n,error:F()};return gc(r,{render:El(t),process:Dl(t),clear:gl(t)})},xc=/*#__PURE__*/ A(2,(e,t)=>vc(e,e=>Tc(t(e)))),Sc=e=>ou(e,`password`).pipe(xc(wn)),K=/*#__PURE__*/ k(function*(e){let t=yield*ys,n=yield*St(t.readInput);return yield*kc(e,t,n)},/*#__PURE__*/ p(()=>new _s({})),lt),Cc=e=>{let t=0,n=-1;for(let t=0;t<e.length;t++)if(e[t].selected===!0){if(n!==-1)throw Error(`InvalidArgumentException: only a single choice can be selected by default for Prompt.Select`);n=t}return n!==-1&&(t=n),t},wc=e=>{let t={maxPerPage:10,...e},n=Cc(t.choices);return gc(n,{render:Bl(t),process:Hl(t),clear:Vl(t)})},Tc=e=>{let t=Object.create(Oc);return t._tag=`Succeed`,t.value=e,t},Ec=e=>ou(e,`text`),Dc=e=>{let t={initial:!1,active:`on`,inactive:`off`,...e};return gc(t.initial,{render:pu(t),process:mu,clear:()=>su(t)})},Oc={.../*#__PURE__*/ ht({label:`Prompt`,evaluate(){return K(this)}}),"~effect/cli/Prompt":{_Output:e=>e}},kc=(e,t,n)=>M(()=>{let r=e;switch(r._tag){case`Loop`:return P(n,e=>Ac(r,t,e));case`OnSuccess`:return P(kc(r.prompt,t,n),e=>kc(r.onSuccess(e),t,n));case`Succeed`:return S(r.value)}}),Ac=/*#__PURE__*/ k(function*(e,t,n){let r=Lt(e.initialState)?yield*e.initialState:e.initialState,i=q.NextFrame({state:r}),o=``;for(;;){let s=yield*e.render(r,i);if(yield*a(t.display(o+s)),o=``,e.events){let t=dt(n).pipe(w(e=>({_tag:`Input`,input:e}))),a=yield*ce(t,dt(e.events).pipe(w(e=>({_tag:`Event`,value:e}))));i=yield*e.process(a,r)}else{let t=yield*dt(n);i=yield*e.process(t,r)}switch(i._tag){case`Beep`:continue;case`NextFrame`:o=yield*e.clear(r,i),r=i.state;continue;case`Submit`:{o=yield*e.clear(r,i);let n=yield*e.render(r,i);return yield*a(t.display(o+n)),i.value}}}},(e,t,n)=>Ln(e,a(n.display(`\x1B[?25h`)))),q=/*#__PURE__*/ Je(),jc=(e,t)=>{if(t===0)return`\x1B[2K`+ac(0);let n=0,r=e.split(Pc);for(let e of r)n+=1+Math.floor(Math.max(e.length-1,0)/t);return cc(n)},Mc=(e,t)=>{let n=e.split(Pc);return t===0?n.length:mn(Ht(n,e=>Math.ceil(e.length/t)),_n(0,(e,t)=>e+t))},Nc=(e,t,n)=>n!==void 0&&n.length>0?oc(Mc(n,t))+jc(`\n${n}`,t)+jc(e,t):jc(e,t),Pc=/\r?\n/,Fc=e=>k(function*(t,n){let r=yield*(yield*ys).columns,i=yield*W(e),a=t.value?e.placeholder.defaultConfirm:e.placeholder.defaultDeny,o=J(a,e.message,i.prefix,i.pointerSmall,i,{plain:!0});return jc(o,r)+`\x1B[2K\x1B[G`}),Ic=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.prefix,n.primaryColor),i=G(n,n.pointerSmall,n.mutedColor),a=e.value?t.placeholder.defaultConfirm:t.placeholder.defaultDeny,o=U(n.colors,a,n.mutedColor),s=J(o,t.message,r,i,n);return Zs+s}),Lc=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.tick,n.successColor),i=G(n,n.ellipsis,n.mutedColor),a=e?t.label.confirm:t.label.deny;return J(a,t.message,r,i,n)+`
|
|
9
|
+
`}),Rc=e=>(t,n)=>q.$match(n,{Beep:()=>S(`\x07`),NextFrame:({state:t})=>Ic(t,e),Submit:({value:t})=>Lc(t,e)}),zc=/^y|t$/,Bc=/^n|f$/,Vc=(e,t)=>{let n=C(e.input,()=>``);return e.key.name===`enter`||e.key.name===`return`?S(q.Submit({value:t})):zc.test(n.toLowerCase())?S(q.Submit({value:!0})):Bc.test(n.toLowerCase())?S(q.Submit({value:!1})):S(q.Beep())},Hc=e=>k(function*(t,n){let r=yield*(yield*ys).columns,i=yield*W(e),a=_n(t.dateParts,``,(e,t)=>e+t.toString()),o=J(a,e.message,i.prefix,i.pointerSmall,i,{plain:!0}),s=b(t.error)?qt(t.error.value.split(Pc),{onEmpty:()=>``,onNonEmpty:e=>pc(i.pointerSmall,e.join(`
|
|
10
|
+
`))}):``;return Nc(o,r,s)+`\x1B[2K\x1B[G`}),Uc=(e,t,n)=>{if(b(e.error)){let r=e.error.value.split(Pc);if(Gn(r)){let e=G(n,t,n.errorColor),i=Ht(r,e=>fc(n,e));return`\x1B[s
|
|
11
|
+
`+pc(e,i.join(`
|
|
12
|
+
`))+`\x1B[u`}}return``},Wc=(e,t,n=!1)=>_n(e.dateParts,``,(r,i,a)=>{let o=i.toString();if(a===e.cursor&&!n){let e=ic(Xs,t.primaryColor);return r+U(t.colors,o,e)}return r+o}),Gc=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.prefix,n.primaryColor),i=G(n,n.pointerSmall,n.mutedColor),a=Wc(e,n),o=J(a,t.message,r,i,n),s=Uc(e,n.pointerSmall,n);return Zs+o+s}),Kc=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.tick,n.successColor),i=G(n,n.ellipsis,n.mutedColor),a=Wc(e,n,!0);return J(a,t.message,r,i,n)+`
|
|
13
|
+
`}),qc=e=>(e.dateParts[e.cursor].increment(),q.NextFrame({state:{...e,typed:``}})),Jc=e=>(e.dateParts[e.cursor].decrement(),q.NextFrame({state:{...e,typed:``}})),Yc=e=>{let t=e.dateParts[e.cursor].previousPart();return b(t)?q.NextFrame({state:{...e,typed:``,cursor:e.dateParts.indexOf(t.value)}}):q.Beep()},Xc=e=>{let t=e.dateParts[e.cursor].nextPart();return b(t)?q.NextFrame({state:{...e,typed:``,cursor:e.dateParts.indexOf(t.value)}}):q.Beep()},Zc=e=>{let t=e.dateParts[e.cursor].nextPart(),n=Xe(t,{onNone:()=>e.dateParts.findIndex(e=>!e.isToken()),onSome:t=>e.dateParts.indexOf(t)});return q.NextFrame({state:{...e,typed:``,cursor:n}})},Qc=(e,t)=>{if(/\d/.test(e)){let n=t.typed+e;return t.dateParts[t.cursor].setValue(n),q.NextFrame({state:{...t,typed:n}})}return q.Beep()},$c={months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],monthsShort:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],weekdays:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],weekdaysShort:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`]},el=e=>(t,n)=>q.$match(n,{Beep:()=>S(`\x07`),NextFrame:({state:t})=>Gc(t,e),Submit:()=>Kc(t,e)}),tl=e=>(t,n)=>{switch(t.key.name){case`left`:return S(Yc(n));case`right`:return S(Xc(n));case`k`:case`up`:return S(qc(n));case`j`:case`down`:return S(Jc(n));case`tab`:return S(Zc(n));case`enter`:case`return`:return Xn(e.validate(n.value),{onFailure:e=>q.NextFrame({state:{...n,error:T(e)}}),onSuccess:e=>q.Submit({value:e})});default:return S(Qc(C(t.input,()=>``),n))}},nl=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,rl={1:({token:e,...t})=>new ol({token:e.replace(/\\(.)/g,`$1`),...t}),2:e=>new dl(e),3:e=>new fl(e),4:e=>new pl(e),5:e=>new ml(e),6:e=>new ul(e),7:e=>new ll(e),8:e=>new cl(e),9:e=>new sl(e)},il=(e,t,n)=>{let r=[],i=null;for(;i=nl.exec(e);){let e=i.shift(),a=i.findIndex(e=>e!==void 0);if(a in rl){let o=i[a]||e;r.push(rl[a]({token:o,date:t,parts:r,locales:n}))}else r.push(new ol({token:i[a]||e,date:t,parts:r,locales:n}))}let a=r.reduce((e,t)=>{let n=e[e.length-1];return t.isToken()&&n!==void 0&&n.isToken()?n.setValue(t.token):e.push(t),e},Cn());return r.splice(0,r.length,...a),r};var al=class{token;date;parts;locales;constructor(e){this.token=e.token,this.locales=e.locales,this.date=e.date||new globalThis.Date,this.parts=e.parts||[this]}isToken(){return!1}nextPart(){let e=C(Bt(this.parts,e=>e===this),()=>0);return In(this.parts.slice(e+1),e=>!e.isToken())}previousPart(){let e=Bt(this.parts,e=>e===this);return b(e)?hn(this.parts.slice(0,e.value),e=>!e.isToken()):F()}toString(){return globalThis.String(this.date)}},ol=class extends al{increment(){}decrement(){}setValue(e){this.token+=e}isToken(){return!0}toString(){return this.token}},sl=class extends al{increment(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}decrement(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setValue(e){this.date.setMilliseconds(globalThis.Number.parseInt(e.slice(-this.token.length)))}toString(){return`${this.date.getMilliseconds()}`.padStart(4,`0`).substring(0,this.token.length)}},cl=class extends al{increment(){this.date.setSeconds(this.date.getSeconds()+1)}decrement(){this.date.setSeconds(this.date.getSeconds()-1)}setValue(e){this.date.setSeconds(globalThis.Number.parseInt(e.slice(-2)))}toString(){let e=`${this.date.getSeconds()}`;return this.token.length>1?e.padStart(2,`0`):e}},ll=class extends al{increment(){this.date.setMinutes(this.date.getMinutes()+1)}decrement(){this.date.setMinutes(this.date.getMinutes()-1)}setValue(e){this.date.setMinutes(globalThis.Number.parseInt(e.slice(-2)))}toString(){let e=`${this.date.getMinutes()}`;return this.token.length>1?e.padStart(2,`0`):e}},ul=class extends al{increment(){this.date.setHours(this.date.getHours()+1)}decrement(){this.date.setHours(this.date.getHours()-1)}setValue(e){this.date.setHours(globalThis.Number.parseInt(e.slice(-2)))}toString(){let e=/h/.test(this.token)?this.date.getHours()%12||12:this.date.getHours();return this.token.length>1?`${e}`.padStart(2,`0`):`${e}`}},dl=class extends al{increment(){this.date.setDate(this.date.getDate()+1)}decrement(){this.date.setDate(this.date.getDate()-1)}setValue(e){this.date.setDate(globalThis.Number.parseInt(e.slice(-2)))}toString(){let e=this.date.getDate(),t=this.date.getDay();switch(this.token){case`DD`:return`${e}`.padStart(2,`0`);case`Do`:return`${e}${this.ordinalIndicator(e)}`;case`d`:return`${t+1}`;case`ddd`:return this.locales.weekdaysShort[t];case`dddd`:return this.locales.weekdays[t];default:return`${e}`}}ordinalIndicator(e){if(e>=11&&e<=13)return`th`;switch(e%10){case 1:return`st`;case 2:return`nd`;case 3:return`rd`;default:return`th`}}},fl=class extends al{increment(){this.date.setMonth(this.date.getMonth()+1)}decrement(){this.date.setMonth(this.date.getMonth()-1)}setValue(e){let t=globalThis.Number.parseInt(e.slice(-2))-1;this.date.setMonth(t<0?0:t)}toString(){let e=this.date.getMonth();switch(this.token.length){case 2:return`${e+1}`.padStart(2,`0`);case 3:return this.locales.monthsShort[e];case 4:return this.locales.months[e];default:return`${e+1}`}}},pl=class extends al{increment(){this.date.setFullYear(this.date.getFullYear()+1)}decrement(){this.date.setFullYear(this.date.getFullYear()-1)}setValue(e){this.date.setFullYear(globalThis.Number.parseInt(e.slice(-4)))}toString(){let e=`${this.date.getFullYear()}`.padStart(4,`0`);return this.token.length===2?e.slice(-2):e}},ml=class extends al{increment(){this.date.setHours((this.date.getHours()+12)%24)}decrement(){this.increment()}setValue(e){}toString(){let e=this.date.getHours()>=12?`pm`:`am`;return/A/.test(this.token)?e.toUpperCase():e}};const J=(e,t,n,r,i,a)=>{let o=n.length===0?``:n+` `,s=t=>{let n=o+t;return r.length>0&&(n+=` `+r),e.length>0?n+=` `+e:r.length>0&&(n+=` `),n};return qt(t.split(Pc),{onEmpty:()=>s(``),onNonEmpty:e=>{let t=a?.plain===!0?e:Ht(e,e=>U(i.colors,e,Ys));return s(t.join(`
|
|
14
|
+
`))}})},hl=(e,t,n,r)=>{if(!e.disabled&&e.description&&t){let t=n.descriptionSeparator+e.description;return r?.plain===!0?t:U(n.colors,t,n.mutedColor)}return``},gl=e=>k(function*(t,n){let r=yield*(yield*ys).columns,i=yield*W(e),a=vl(t,i.pointerSmall,i,{plain:!0}),o=yl(t,i.prefix,i.pointerSmall,e,i,{plain:!0});return Nc(o,r,a)+`\x1B[2K\x1B[G`}),_l=(e,t,n,r)=>{let i=e.value===``?``:`${e.value}`;if(t||r?.plain===!0)return i;let a=b(e.error)?n.errorColor:ic(Xs,n.primaryColor);return U(n.colors,i,a)},vl=(e,t,n,r)=>b(e.error)?qt(e.error.value.split(Pc),{onEmpty:()=>``,onNonEmpty:e=>{if(r?.plain===!0)return pc(t,e.join(`
|
|
15
|
+
`));let i=G(n,t,n.errorColor),a=Ht(e,e=>fc(n,e));return`\x1B[s
|
|
16
|
+
`+pc(i,a.join(`
|
|
17
|
+
`))+`\x1B[u`}}):``,yl=(e,t,n,r,i,a,o=!1)=>{let s=_l(e,o,i,a);return J(s,r.message,t,n,i,a)},bl=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.prefix,n.primaryColor),i=G(n,n.pointerSmall,n.mutedColor),a=vl(e,n.pointerSmall,n);return yl(e,r,i,t,n)+a}),xl=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.tick,n.successColor),i=G(n,n.ellipsis,n.mutedColor);return yl(e,r,i,t,n,void 0,!0)+`
|
|
18
|
+
`}),Sl=e=>{if(e.value.length<=0)return S(q.Beep());let t=e.value.slice(0,e.value.length-1);return S(q.NextFrame({state:{...e,value:t,error:F()}}))},Cl=e=>S(q.NextFrame({state:{...e,cursor:0,value:``,error:F()}})),wl=(e,t)=>{if(t.value.length===0&&e===`-`)return S(q.NextFrame({state:{...t,value:`-`,error:F()}}));let n=globalThis.Number.parseInt(t.value+e);return globalThis.Number.isNaN(n)?S(q.Beep()):S(q.NextFrame({state:{...t,value:`${n}`,error:F()}}))},Tl=(e,t)=>{if(e===`.`&&t.value.includes(`.`))return S(q.Beep());if(t.value.length===0&&e===`-`)return S(q.NextFrame({state:{...t,value:`-`,error:F()}}));let n=globalThis.Number.parseFloat(t.value+e);return globalThis.Number.isNaN(n)?S(q.Beep()):S(q.NextFrame({state:{...t,value:e===`.`?`${n}.`:t.value.includes(`.`)&&/^\d$/.test(e)?t.value+e:`${n}`,error:F()}}))},El=e=>(t,n)=>q.$match(n,{Beep:()=>S(`\x07`),NextFrame:({state:t})=>bl(t,e),Submit:()=>xl(t,e)}),Dl=e=>(t,n)=>{if(t.key.ctrl&&t.key.name===`u`)return Cl(n);switch(t.key.name){case`backspace`:return Sl(n);case`k`:case`up`:return S(q.NextFrame({state:{...n,value:n.value===``||n.value===`-`?`${e.incrementBy}`:`${globalThis.Number.parseInt(n.value)+e.incrementBy}`,error:F()}}));case`j`:case`down`:return S(q.NextFrame({state:{...n,value:n.value===``||n.value===`-`?`-${e.decrementBy}`:`${globalThis.Number.parseInt(n.value)-e.decrementBy}`,error:F()}}));case`enter`:case`return`:{let t=globalThis.Number.parseInt(n.value);return globalThis.Number.isNaN(t)?S(q.NextFrame({state:{...n,error:T(`Must provide an integer value`)}})):Xn(e.validate(t),{onFailure:e=>q.NextFrame({state:{...n,error:T(e)}}),onSuccess:e=>q.Submit({value:e})})}default:return wl(C(t.input,()=>``),n)}},Ol=e=>(t,n)=>q.$match(n,{Beep:()=>S(`\x07`),NextFrame:({state:t})=>bl(t,e),Submit:()=>xl(t,e)}),kl=e=>(t,n)=>{if(t.key.ctrl&&t.key.name===`u`)return Cl(n);switch(t.key.name){case`backspace`:return Sl(n);case`k`:case`up`:return S(q.NextFrame({state:{...n,value:n.value===``||n.value===`-`?`${e.incrementBy}`:`${globalThis.Number.parseFloat(n.value)+e.incrementBy}`,error:F()}}));case`j`:case`down`:return S(q.NextFrame({state:{...n,value:n.value===``||n.value===`-`?`-${e.decrementBy}`:`${globalThis.Number.parseFloat(n.value)-e.decrementBy}`,error:F()}}));case`enter`:case`return`:{let t=globalThis.Number.parseFloat(n.value);return globalThis.Number.isNaN(t)?S(q.NextFrame({state:{...n,error:T(`Must provide a floating point value`)}})):P(x(()=>vr(t,e.precision)),t=>Xn(e.validate(t),{onFailure:e=>q.NextFrame({state:{...n,error:T(e)}}),onSuccess:e=>q.Submit({value:e})}))}default:return Tl(C(t.input,()=>``),n)}},Al=(e,t,n,r,i)=>n.message===void 0?void 0:J(``,n.message,e,t,r,i),jl=(e,t)=>e===void 0?t:e+`
|
|
19
|
+
`+t,Ml=(e,t,n,r,i,a)=>{let o=mc(i,r===n.startIndex&&n.startIndex>0,r===n.endIndex-1&&n.endIndex<t.length);if(a?.plain===!0)return e===r?i.pointer+o:o+` `.repeat(i.pointer.length);if(t[r].disabled){let t=ic(Ys,i.mutedColor);return e===r?G(i,i.pointer,t)+o:o+` `.repeat(i.pointer.length)}return e===r?G(i,i.pointer,i.primaryColor)+o:o+` `.repeat(i.pointer.length)},Nl=(e,t,n,r)=>{if(r?.plain===!0)return e.title;let i=e.title;return t?e.disabled?U(n.colors,i,ic(Xs,n.mutedColor)):U(n.colors,i,ic(Xs,n.primaryColor)):e.disabled?U(n.colors,i,ic(`\x1B[9m`,n.mutedColor)):i},Pl=(e,t,n,r)=>{let i=t.choices,a=hu(e,i.length,t.maxPerPage),o=[];for(let t=a.startIndex;t<a.endIndex;t++){let s=i[t],c=e===t,l=Ml(e,i,a,t,n,r),u=Nl(s,c,n,r),d=hl(s,c,n,r);o.push(l+u+` `+d)}return o.join(`
|
|
20
|
+
`)},Fl=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=Pl(e,t,n),i=G(n,n.prefix,n.primaryColor),a=G(n,n.pointerSmall,n.mutedColor),o=Al(i,a,t,n);return Zs+jl(o,r)}),Il=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=t.choices[e].title,i=G(n,n.tick,n.successColor),a=G(n,n.ellipsis,n.mutedColor);return(Al(i,a,t,n)??i)+` `+U(n.colors,r,n.submittedColor)+`
|
|
21
|
+
`}),Ll=(e,t)=>S(e===0?q.NextFrame({state:t.length-1}):q.NextFrame({state:e-1})),Rl=(e,t)=>e===t.length-1?S(q.NextFrame({state:0})):S(q.NextFrame({state:e+1})),zl=(e,t)=>S(q.NextFrame({state:(e+1)%t.length})),Bl=e=>(t,n)=>q.$match(n,{Beep:()=>S(`\x07`),NextFrame:({state:t})=>Fl(t,e),Submit:()=>Il(t,e)}),Vl=e=>k(function*(t,n){let r=yield*(yield*ys).columns,i=yield*W(e),a=Al(i.prefix,i.pointerSmall,e,i,{plain:!0}),o=Pl(t,e,i,{plain:!0});return jc(jl(a,o),r)+`\x1B[2K\x1B[G`}),Hl=e=>(t,n)=>{switch(t.key.name){case`k`:case`up`:return Ll(n,e.choices);case`j`:case`down`:return Rl(n,e.choices);case`tab`:return zl(n,e.choices);case`enter`:case`return`:{let t=e.choices[n];return t.disabled?S(q.Beep()):S(q.Submit({value:t.value}))}default:return S(q.Beep())}},Ul=/*#__PURE__*/ k(function*(e,t){let n=yield*(yield*ys).columns,r=yield*W(t),i=Gl(e,r.pointerSmall,r,{plain:!0});return Nc(Kl(e,r.prefix,r.pointerSmall,t,r,{plain:!0}),n,i)+`\x1B[2K\x1B[G`}),Wl=(e,t,n,r,i)=>{let a=e.value;if(i?.plain===!0)switch(t.type){case`hidden`:return``;case`password`:return n.passwordMask.repeat(a.length);case`text`:return a}if(a.length===0)return``;let o=b(e.error)?n.errorColor:r?n.submittedColor:ic(Xs,n.primaryColor);switch(t.type){case`hidden`:return``;case`password`:return G(n,n.passwordMask.repeat(a.length),o);case`text`:return U(n.colors,a,o)}},Gl=(e,t,n,r)=>b(e.error)?qt(e.error.value.split(Pc),{onEmpty:()=>``,onNonEmpty:e=>{if(r?.plain===!0)return pc(t,e.join(`
|
|
22
|
+
`));let i=G(n,t,n.errorColor),a=Ht(e,e=>fc(n,e));return`\x1B[s
|
|
23
|
+
`+pc(i,a.join(`
|
|
24
|
+
`))+`\x1B[u`}}):``,Kl=(e,t,n,r,i,a,o=!1)=>{let s=Wl(e,r,i,o,a);return J(s,r.message,t,n,i,a)},ql=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.prefix,n.primaryColor),i=G(n,n.pointerSmall,n.mutedColor),a=Kl(e,r,i,t,n),o=Gl(e,n.pointerSmall,n),s=t.type===`password`?n.passwordMask.length:1,c=(e.cursor-e.value.length)*s;return a+o+sc(c)}),Jl=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.tick,n.successColor),i=G(n,n.ellipsis,n.mutedColor);return Kl(e,r,i,t,n,void 0,!0)+`
|
|
25
|
+
`}),Yl=e=>{if(e.cursor<=0)return S(q.Beep());let t=e.value.slice(0,e.cursor-1),n=e.value.slice(e.cursor),r=e.cursor-1,i=`${t}${n}`;return S(q.NextFrame({state:{...e,cursor:r,value:i,error:F()}}))},Xl=e=>S(q.NextFrame({state:{...e,cursor:0,value:``,error:F()}})),Zl=e=>{if(e.cursor<=0)return S(q.Beep());let t=e.cursor-1;return S(q.NextFrame({state:{...e,cursor:t,error:F()}}))},Ql=e=>{if(e.cursor>=e.value.length)return S(q.Beep());let t=Math.min(e.cursor+1,e.value.length);return S(q.NextFrame({state:{...e,cursor:t,error:F()}}))},$l=e=>S(q.NextFrame({state:{...e,cursor:0,error:F()}})),eu=e=>S(q.NextFrame({state:{...e,cursor:e.value.length,error:F()}})),tu=(e,t)=>{if(e.value===t.default)return S(q.Beep());let n=e.value.length===0?t.default:e.value;return S(q.NextFrame({state:{...e,value:n,cursor:n.length,error:F()}}))},nu=(e,t)=>{let n=`${t.value.slice(0,t.cursor)}${e}${t.value.slice(t.cursor)}`,r=t.cursor+e.length;return S(q.NextFrame({state:{...t,cursor:r,value:n,error:F()}}))},ru=e=>(t,n)=>q.$match(n,{Beep:()=>S(`\x07`),NextFrame:({state:t})=>ql(t,e),Submit:()=>Jl(t,e)}),iu=e=>(t,n)=>{if(t.key.ctrl)switch(t.key.name){case`u`:return Xl(n);case`a`:return $l(n);case`e`:return eu(n);default:return S(q.Beep())}switch(t.key.name){case`backspace`:return Yl(n);case`left`:return Zl(n);case`right`:return Ql(n);case`home`:return $l(n);case`end`:return eu(n);case`enter`:case`return`:{let t=n.value;return Xn(e.validate(t),{onFailure:e=>q.NextFrame({state:{...n,value:t,error:T(e)}}),onSuccess:e=>q.Submit({value:e})})}case`tab`:return tu(n,e);default:return nu(C(t.input,()=>``),n)}},au=e=>(t,n)=>Ul(t,e),ou=(e,t)=>{let n={default:``,type:t,validate:S,...e},r={cursor:n.default.length,value:n.default,error:F()};return gc(r,{render:ru(n),process:iu(n),clear:au(n)})},su=/*#__PURE__*/ k(function*(e){let t=yield*(yield*ys).columns,n=yield*W(e),r=e.active+` `+pc(n.toggleSeparator,e.inactive),i=J(r,e.message,n.prefix,n.pointerSmall,n,{plain:!0});return jc(i,t)+`\x1B[2K\x1B[G`}),cu=(e,t,n,r=!1)=>{let i=G(n,n.toggleSeparator,n.mutedColor),a=ic(Xs,r?n.submittedColor:n.primaryColor),o=e?t.inactive:U(n.colors,t.inactive,a);return(e?U(n.colors,t.active,a):t.active)+` `+pc(i,o)},lu=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.prefix,n.primaryColor),i=G(n,n.pointerSmall,n.mutedColor),a=cu(e,t,n),o=J(a,t.message,r,i,n);return Zs+o}),uu=/*#__PURE__*/ k(function*(e,t){let n=yield*W(t),r=G(n,n.tick,n.successColor),i=G(n,n.ellipsis,n.mutedColor),a=cu(e,t,n,!0);return J(a,t.message,r,i,n)+`
|
|
26
|
+
`}),du=/*#__PURE__*/ S(/*#__PURE__*/ q.NextFrame({state:!0})),fu=/*#__PURE__*/ S(/*#__PURE__*/ q.NextFrame({state:!1})),pu=e=>(t,n)=>{switch(n._tag){case`Beep`:return S(`\x07`);case`NextFrame`:return lu(t,e);case`Submit`:return uu(t,e)}},mu=(e,t)=>{switch(e.key.name){case`0`:case`j`:case`delete`:case`right`:case`down`:return fu;case`1`:case`k`:case`left`:case`up`:return du;case` `:case`tab`:return t?fu:du;case`enter`:case`return`:return S(q.Submit({value:t}));default:return S(q.Beep())}},hu=(e,t,n)=>{let r=n===void 0?t:n,i=Math.min(t-r,e-Math.floor(r/2));i<0&&(i=0);let a=Math.min(i+r,t);return{startIndex:i,endIndex:a}},gu=/*#__PURE__*/ $n(`effect/cli/TerminalCapabilities`,{defaultValue:()=>bu()}),_u=e=>e!==void 0&&e.length>0,vu=e=>_u(e)&&e!==`0`&&e.toLowerCase()!==`false`,yu=e=>e.term===`dumb`?{canColor:!1,canAnimate:!1,canPrompt:!1}:{canColor:!_u(e.noColor)&&(vu(e.forceColor)||e.stdoutIsTerminal),canAnimate:e.stdoutIsTerminal,canPrompt:e.stdinIsTerminal&&e.stdoutIsTerminal},bu=()=>{let e=globalThis.process;return yu({noColor:e?.env?.NO_COLOR,forceColor:e?.env?.FORCE_COLOR,term:e?.env?.TERM,stdinIsTerminal:e?.stdin?.isTTY===!0,stdoutIsTerminal:e?.stdout?.isTTY===!0})},xu=`~effect/cli/Param`,Su=`flag`,Cu={[xu]:{_A:E},pipe(){return Wn(this,arguments)}},wu=e=>Ke(e,xu),Tu=e=>e.kind===`flag`,Eu=e=>{let t=t=>e.kind===`argument`?Bu(e.name,e.primitiveType,t):Vu(e.name,e.primitiveType,t);return Object.setPrototypeOf({_tag:`Single`,...e,description:e.description??F(),aliases:e.aliases??[],hidden:e.hidden??!1,parse:t},Cu)},Du=(e,t)=>Eu({name:t,primitiveType:Ws,kind:e}),Ou=(e,t)=>Eu({name:t,primitiveType:Us,kind:e}),ku=(e,t,n)=>Eu({name:t,primitiveType:Gs(n),kind:e}),Au=/^-+/,ju=/*#__PURE__*/ A(2,(e,t)=>Gu(e,e=>Eu({...e,aliases:[...e.aliases,t.replace(Au,``)]}))),Mu=/*#__PURE__*/ A(2,(e,t)=>Gu(e,e=>Eu({...e,description:T(t)}))),Nu=/*#__PURE__*/ A(2,(e,t)=>Object.assign(Object.create(Cu),{_tag:`Map`,kind:e.kind,param:e,f:t,parse:n=>w(e.parse(n),([e,n])=>[e,t(n)])})),Pu=(e,t,n=[])=>{let r=n.map(e=>()=>e().parse);return Object.assign(Object.create(Cu),{_tag:`Transform`,kind:e.kind,param:e,alternatives:n,f:t,parse:t(e.parse,r)})},Fu=/*#__PURE__*/ A(2,(e,t)=>Pu(e,e=>n=>P(e(n),([e,n])=>t(n).pipe(w(t=>[e,t]))))),Iu=e=>Object.assign(Object.create(Cu),{_tag:`Optional`,kind:e.kind,param:e,parse:t=>e.parse(t).pipe(w(([e,t])=>[e,T(t)]),Sn({MissingOption:()=>S([t.arguments,F()]),MissingArgument:()=>S([t.arguments,F()])}))}),Lu=/*#__PURE__*/ A(2,(e,t)=>Lt(t)?Fu(Iu(e),Xe({onNone:()=>t,onSome:S})):Nu(Iu(e),C(()=>t))),Ru=(e,t)=>{let n=Ku(e);return Object.assign(Object.create(Cu),{_tag:`Variadic`,kind:e.kind,param:e,min:Ae(t?.min),max:Ae(t?.max),parse:r=>n.kind===`argument`?Hu(e,n,r,t):Uu(e,n,r,t)})},zu=/*#__PURE__*/ A(2,(e,t)=>Gu(e,e=>Eu({...e,typeName:t}))),Bu=/*#__PURE__*/ k(function*(e,t,n){if(n.arguments.length===0)return yield*new As({argument:e});let r=n.arguments[0],i=yield*p(t.parse(r),t=>new Ms({option:e,value:r,expected:t,kind:`argument`}));return[n.arguments.slice(1),i]}),Vu=/*#__PURE__*/ k(function*(e,t,n){let r=n.flags[e];if(r===void 0||r.length===0)return yield*new ks({option:e});if(r.length>1)return yield*new Ms({option:e,value:`${r.length} occurrences`,expected:`at most 1 value`,kind:`flag`});let i=r[0],a=yield*p(t.parse(i),t=>new Ms({option:e,value:i,expected:t,kind:`flag`}));return[n.arguments,a]}),Hu=/*#__PURE__*/ k(function*(e,t,n,r){let i=[],a=r?.min??0,o=r?.max??1/0,s=0,c=n.arguments;for(;c.length>0&&s<o;){let[t,r]=yield*e.parse({flags:n.flags,arguments:c});i.push(r),c=t,s++}return s<a?yield*s===0?new As({argument:t.name}):new Ms({option:t.name,value:`${s} values`,expected:`at least ${a} value${a===1?``:`s`}`,kind:t.kind}):[c,i]}),Uu=/*#__PURE__*/ k(function*(e,t,n,r){let i=[],a=[t.name,...t.aliases].flatMap(e=>n.flags[e]??[]),o=a.length;if(O(r?.min)&&o<r.min)return yield*o===0?new ks({option:t.name}):new Ms({option:t.name,value:`${o} occurrences`,expected:`at least ${r.min} value${r.min===1?``:`s`}`,kind:t.kind});if(O(r?.max)&&o>r.max)return yield*new Ms({option:t.name,value:`${o} occurrences`,expected:`at most ${r.max} value${r.max===1?``:`s`}`,kind:t.kind});for(let n of a){let[,r]=yield*e.parse({flags:{[t.name]:[n]},arguments:[]});i.push(r)}return[n.arguments,i]}),Wu=(e,t)=>{let n=e;switch(n._tag){case`Single`:return t.Single(n);case`Map`:return t.Map(n);case`Transform`:return t.Transform(n);case`Optional`:return t.Optional(n);case`Variadic`:return t.Variadic(n)}},Gu=(e,t)=>Wu(e,{Single:e=>t(e),Map:e=>Nu(Gu(e.param,t),e.f),Transform:e=>Pu(Gu(e.param,t),e.f,e.alternatives.map(e=>()=>Gu(e(),t))),Optional:e=>Iu(Gu(e.param,t)),Variadic:e=>Ru(Gu(e.param,t),{min:He(e.min),max:He(e.max)})}),Y=e=>Wu(e,{Single:e=>[e],Map:e=>Y(e.param),Transform:e=>[...Y(e.param),...e.alternatives.flatMap(e=>Y(e()))],Optional:e=>Y(e.param),Variadic:e=>Y(e.param)}),Ku=e=>{let t=Y(e);if(t.length===0)throw Error(`No Single param found in param structure`);if(t.length>1)throw Error(`Multiple Single params found: ${t.map(e=>e.name).join(`, `)}`);return t[0]},X=e=>Wu(e,{Single:()=>({isOptional:!1,isVariadic:!1,variadicMin:F(),variadicMax:F()}),Map:e=>X(e.param),Transform:e=>X(e.param),Optional:e=>({...X(e.param),isOptional:!0}),Variadic:e=>({...X(e.param),isVariadic:!0,variadicMin:e.min,variadicMax:e.max})}),qu=e=>Du(`argument`,e),Ju=e=>Iu(e),Yu=/*#__PURE__*/ A(2,(e,t)=>Mu(e,t)),Xu=/*#__PURE__*/ A(2,(e,t)=>Nu(e,t)),Zu=ut,Qu=e=>de(t=>e(t.getRef(Zu))),$u=(...e)=>Qu(t=>wt(()=>{t.error(...e)})),Z=(...e)=>Qu(t=>wt(()=>{t.log(...e)})),ed=/*#__PURE__*/ $n(`effect/cli/CliOutput`,{defaultValue:()=>id()}),td={present:/*#__PURE__*/ k(function*(e){let t=yield*rn(),n=v(t,ed)??id({colors:rt(t,gu).canColor});switch(e._tag){case`Help`:return yield*Z(n.formatHelpDoc(e.helpDoc));case`InvalidInvocation`:return yield*Z(n.formatHelpDoc(e.helpDoc)),yield*$u(n.formatErrors(e.errors));case`Version`:return yield*Z(n.formatVersion(e.name,e.version))}})},nd=/*#__PURE__*/ $n(`effect/cli/CliOutput/Presenter`,{defaultValue:()=>td}),rd=e=>e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,e=>`\\x${e.charCodeAt(0).toString(16).padStart(2,`0`)}`),id=e=>{let t=e?.colors??rc(),n={inheritedFlags:e?.inheritedFlags??`full`,globalFlags:e?.globalFlags??`full`},r=t?{bold:e=>`\x1b[1m${e}\x1b[0m`,dim:e=>`\x1b[2m${e}\x1b[0m`,cyan:e=>`\x1b[36m${e}\x1b[0m`,green:e=>`\x1b[32m${e}\x1b[0m`,blue:e=>`\x1b[34m${e}\x1b[0m`,yellow:e=>`\x1b[33m${e}\x1b[0m`,magenta:e=>`\x1b[35m${e}\x1b[0m`}:{bold:e=>e,dim:e=>e,cyan:e=>e,green:e=>e,blue:e=>e,yellow:e=>e,magenta:e=>e},i=t?`\x1B[0m`:``,a=t?`\x1B[31m`:``,o=t?`\x1B[1m`:``;return{formatHelpDoc:e=>hd(e,r,n),formatCliError:e=>rd(e.message),formatError:e=>`\n${o}${a}ERROR${i}\n ${rd(e.message)}${i}`,formatErrors:e=>{if(e.length===0)return``;if(e.length===1)return`\n${o}${a}ERROR${i}\n ${rd(e[0].message)}${i}`;let t=/* @__PURE__ */ new Map;for(let n of e){let e=n._tag??`Error`,r=t.get(e)??[];r.push(n),t.set(e,r)}let n=[];n.push(`\n${o}${a}ERRORS${i}`);for(let[,e]of t)for(let t of e)n.push(` ${rd(t.message)}${i}`);return n.join(`
|
|
27
|
+
`)},formatVersion:(e,t)=>`${r.bold(e)} ${r.dim(`v`)}${r.bold(t)}`}},ad=e=>e.replace(/\u001B\[[0-9;]*m/g,``),od=/*#__PURE__*/ new Intl.Segmenter(void 0,{granularity:`grapheme`}),sd=/[\p{Mark}\p{Control}\p{Default_Ignorable_Code_Point}]/gu,cd=/\p{Emoji_Presentation}/u,ld=e=>e<4352?!1:e<=4447||e===9001||e===9002||e>=11904&&e<=12350||e>=12352&&e<=42191||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=110592&&e<=111359||e>=127488&&e<=127569||e>=131072&&e<=262141,ud=e=>{let t=e.replace(sd,``);return t.length===0?0:cd.test(e)||e.includes(`️`)||ld(t.codePointAt(0))?2:1},dd=e=>{let t=0;for(let{segment:n}of od.segment(ad(e)))t+=ud(n);return t},fd=(e,t)=>{let n=dd(e),r=Math.max(0,t-n);return e+` `.repeat(r)},pd=(e,t)=>{let n=Math.max(...e.map(e=>dd(e.left)))+4,r=t===void 0?n:Math.min(n,t);return e.map(({left:e,right:t})=>` ${fd(e,Math.max(r,dd(e)+1))}${t}`).join(`
|
|
28
|
+
`)},md=(e,t)=>t?`${e}, ${t}`:e,hd=(e,t,n)=>{let r=[];if(e.description&&(r.push(t.bold(`DESCRIPTION`)),r.push(` ${e.description}`),r.push(``)),r.push(t.bold(`USAGE`)),r.push(` ${t.cyan(e.usage)}`),r.push(``),e.args&&e.args.length>0){r.push(t.bold(`ARGUMENTS`));let n=e.args.map(e=>{let n=e.name;e.variadic&&(n+=`...`);let r=`${t.green(n)} ${t.dim(e.type)}`,i=e.required?``:t.dim(` (optional)`);return{left:r,right:C(e.description,()=>``)+i}});r.push(pd(n,25)),r.push(``)}let i=(e,n)=>{r.push(t.bold(e)),r.push(pd(n.map(e=>({left:[`--${e.name}`,...e.aliases].map(t.green).join(`, `)+(e.type===`boolean`?``:` ${t.dim(e.type)}`),right:C(e.description,()=>``)})))),r.push(``)},a=[],o=(e,t,n,r)=>{t&&t.length!==0&&n!==`none`&&(n===`summary`&&r&&r.length>0?a.push(`Run '${r.join(` `)} --help' for ${e.toLowerCase()}`):i(e,t))};e.flags.length>0&&i(`FLAGS`,e.flags);let s=e.commandPath;o(`INHERITED FLAGS`,e.inheritedFlags,n.inheritedFlags,s?.slice(0,-1));let c=e.globalFlagsScope??s?.slice(0,1),l=s===void 0||c?.length===s.length;if(o(`GLOBAL FLAGS`,e.globalFlags,l?`full`:n.globalFlags,c),a.length>0&&r.push(...a,``),e.subcommands&&e.subcommands.length>0){let n=e.subcommands.find(e=>e.group===void 0);n&&(r.push(t.bold(`SUBCOMMANDS`)),r.push(pd(n.commands.map(e=>({left:t.cyan(md(e.name,e.alias)),right:e.shortDescription??e.description})),20)),e.subcommands.length>1&&r.push(``));for(let n of e.subcommands)n.group!==void 0&&(r.push(t.bold(`${n.group}:`)),r.push(pd(n.commands.map(e=>({left:t.cyan(md(e.name,e.alias)),right:e.shortDescription??e.description})),20)),r.push(``))}if(e.examples&&e.examples.length>0){r.push(t.bold(`EXAMPLES`));let n=!0,i=!1;for(let a of e.examples)a.description?(n||r.push(``),r.push(` ${t.dim(`# ${a.description}`)}`)):i&&r.push(``),r.push(` ${t.cyan(a.command)}`),n=!1,i=!!a.description;r.push(``)}return r[r.length-1]===``&&r.pop(),r.join(`
|
|
29
|
+
`)},gd=`~effect/cli/Command/Config/Internal`,_d=e=>{let t=[],n=[],r=[];function i(e){let t=Object.create(null);for(let n of Object.keys(e))t[n]=a(e[n]);return t}function a(e){if(Array.isArray(e))return{_tag:`Array`,children:e.map(e=>a(e))};if(wu(e)){let i=t.length;return t.push(e),e.kind===`argument`?r.push(e):n.push(e),{_tag:`Param`,index:i}}return{_tag:`Nested`,tree:i(e)}}return{[gd]:gd,flags:n,arguments:r,orderedParams:t,tree:i(e)}},vd=/*#__PURE__*/ _d({}),yd=(e,t)=>{let n={};for(let t of Object.keys(e))we(n,t,r(e[t]));return n;function r(e){switch(e._tag){case`Param`:return t[e.index];case`Array`:return e.children.map(e=>r(e));case`Nested`:return yd(e.tree,t)}}},bd=`~effect/cli/Command`,Q=e=>e,xd={.../*#__PURE__*/ ht({label:`Command`,evaluate(){return Q(this).service}})},Sd=e=>{let t=e.config,n=e.contextConfig??vd,r=e.service??et(`~effect/cli/Command/${e.name}`),i=e.annotations??Yn(),a=e.globalFlags??[],o=e.subcommands??[],s=e.resolveExamples??Cd,c=(t,n)=>O(e.handle)?e.handle(t,n):D(new Ls({commandPath:n,errors:[]})),l=e.parse??Ed(t),u=e.parseContext??Ed(n,{allowLeftovers:!0}),d=n=>{let r=[],a=[];for(let e of t.arguments){let t=Y(e),n=X(e);for(let e of t)r.push({name:e.name,type:e.typeName??Ks(e.primitiveType),description:e.description,required:!n.isOptional&&(!n.isVariadic||dn(n.variadicMin,e=>e>0)),variadic:n.isVariadic})}let c=n.length>0?n.join(` `):e.name;o.some(e=>e.commands.some(e=>!e.unlisted))&&(c+=` <subcommand>`),c+=` [flags]`;for(let e of r){let t=e.variadic?`<${e.name}...>`:`<${e.name}>`;c+=` ${e.required?t:`[${t}]`}`}for(let e of t.flags){let t=Y(e),n=X(e);for(let e of t)e.hidden||a.push(wd(e,n))}let l=[];for(let e of o){let t=e.commands.filter(e=>!e.unlisted);t.length!==0&&l.push({group:e.group,commands:Ht(t,e=>({name:e.name,alias:e.alias,shortDescription:e.shortDescription,description:e.description??``}))})}let u=s(n);return{description:e.description??``,usage:c,flags:a,annotations:i,...r.length>0&&{args:r},...l.length>0&&{subcommands:l},...u.length>0&&{examples:u}}};return Object.assign(Object.create(xd),{[bd]:bd,name:e.name,examples:s([e.name]),resolveExamples:s,annotations:i,globalFlags:a,subcommands:o,unlisted:e.unlisted??!1,config:t,contextConfig:n,service:r,parse:l,parseContext:u,handle:c,buildHelpDoc:d,...O(e.description)?{description:e.description}:{},...O(e.shortDescription)?{shortDescription:e.shortDescription}:{},...O(e.alias)?{alias:e.alias}:{}})},Cd=()=>[],wd=(e,t)=>{let n=e.aliases.map(e=>e.length===1?`-${e}`:`--${e}`),r=e.typeName??Ks(e.primitiveType);return{name:e.name,aliases:n,type:e.optionalValue===void 0?r:`[=${r}]`,description:Td(e.description,qs(e.primitiveType)),required:e.primitiveType._tag!==`Boolean`&&!t.isOptional}},Td=(e,t)=>{if(t===void 0||t.length===0)return e;let n=`(choices: ${t.join(`, `)})`;return Xe(e,{onNone:()=>T(n),onSome:e=>T(`${e} ${n}`)})},Ed=(e,t)=>k(function*(n){let r={flags:n.flags,arguments:n.arguments},[i,a]=yield*Dd(r,e.orderedParams);return t?.allowLeftovers!==!0&&i.length>0?yield*new js({arguments:i}):yd(e.tree,a)}),Dd=/*#__PURE__*/ k(function*(e,t){let n=[],r=e.arguments;for(let i of t){let[t,a]=yield*i.parse({flags:e.flags,arguments:r});n.push(a),r=t}return[r,n]}),Od=(e,t,n)=>{let r=Q(e),i=/* @__PURE__ */ new Set;(e=>{for(let t of e){let e=Y(t);for(let t of e)i.add(t.name)}})((n?.contextConfig??r.contextConfig).flags);for(let n of t){let t=Q(n);for(let r of t.config.flags){let t=Y(r);for(let r of t)if(i.has(r.name))throw new Os({option:r.name,parentCommand:e.name,childCommand:n.name})}}},kd=e=>{switch(e.primitiveType._tag){case`Boolean`:return{_tag:`Boolean`};case`Int`:return{_tag:`Int`};case`Finite`:return{_tag:`Finite`};case`Date`:return{_tag:`Date`};case`Choice`:return{_tag:`Choice`,values:qs(e.primitiveType)??[]};case`Path`:return{_tag:`Path`,pathType:Js(e.primitiveType)??`either`};case`FileText`:case`FileParse`:case`FileSchema`:return{_tag:`Path`,pathType:`file`};default:return{_tag:`String`}}},Ad=e=>{switch(e.primitiveType._tag){case`Int`:return{_tag:`Int`};case`Finite`:return{_tag:`Finite`};case`Date`:return{_tag:`Date`};case`Choice`:return{_tag:`Choice`,values:qs(e.primitiveType)??[]};case`Path`:return{_tag:`Path`,pathType:Js(e.primitiveType)??`either`};case`FileText`:case`FileParse`:case`FileSchema`:return{_tag:`Path`,pathType:`file`};default:return{_tag:`String`}}},jd=(e,t=[])=>{let n=Q(e),r=n.config,i=[],a=/* @__PURE__ */ new Set;for(let[e,n]of[...r.flags,...t].entries()){let t=Y(n);for(let n of t)n.kind===`flag`&&(n.hidden||e>=r.flags.length&&a.has(n.name)||(a.add(n.name),i.push({name:n.name,aliases:n.aliases,description:He(n.description),type:kd(n),optionalValue:n.optionalValue!==void 0,negation:n.negation})))}let o=[];for(let e of r.arguments){let t=Y(e),n=X(e);for(let e of t)e.kind===`argument`&&o.push({name:e.name,description:He(e.description),required:!n.isOptional,variadic:n.isVariadic,type:Ad(e)})}let s=[],c=[...t,...n.contextConfig.flags];for(let t of e.subcommands)for(let e of t.commands){if(e.unlisted)continue;let t=jd(e,c);s.push(t),e.alias&&e.alias!==e.name&&s.push({...t,name:e.alias})}return{name:e.name,description:e.shortDescription??e.description,flags:i,arguments:o,subcommands:s}},Md=e=>e.type._tag!==`Boolean`&&e.optionalValue!==!0,Nd=e=>e.type._tag!==`Boolean`||e.negation===!1?void 0:e.negation??`no-${e.name}`,Pd=e=>e.replace(/'/g,`'\\''`),Fd=e=>e.replace(/[^a-zA-Z0-9_]/g,`_`),Id=e=>{let t=[`--${e.name}`];for(let n of e.aliases)t.push(n.length===1?`-${n}`:`--${n}`);let n=Nd(e);return n!==void 0&&t.push(`--${n}`),t},Ld=(e,t)=>{if(e.length===0)return;let n=e.map(Id);t.push(` local ${n.map((e,t)=>`_used_${t}=""`).join(` `)}`),t.push(` for ((i = 1; i < cword; i++)); do`),t.push(' case "${words[i]%%=*}" in'),n.forEach((e,n)=>{t.push(` ${e.join(`|`)}) _used_${n}=1 ;;`)}),t.push(` esac`),t.push(` done`),t.push(` local _filtered_flags=""`),n.forEach((e,n)=>{t.push(` [[ -n "$_used_${n}" ]] || _filtered_flags+=" ${e.join(` `)}"`)}),t.push(``)},Rd=e=>[`\\\\`,`\\"`,`\\'`].map(t=>`${e}=\${${e}//${t}/}`).join(`; `),zd=(e,t)=>{t.push(`${e}()`),t.push(`{`),t.push(` local _cur="$1" _word="$2"; shift 2`),t.push(``),t.push(' local _head="${_cur%"$_word"}"'),t.push(` local _open=""`),t.push(` case "$_head" in`),t.push(` *\\') _open="'" ;;`),t.push(` *\\") _open='"' ;;`),t.push(` esac`),t.push(``),t.push(` local _prefix="$_cur" _committed="$_head"`),t.push(` ${Rd(`_prefix`)}`),t.push(` ${Rd(`_committed`)}`),t.push(``),t.push(` COMPREPLY=()`),t.push(` local _choice _rest _match`),t.push(` for _choice in "$@"; do`),t.push(` [[ "$_choice" == "$_prefix"* ]] || continue`),t.push(' _rest="${_choice#"$_committed"}"'),t.push(` case "$_open" in`),t.push(` "'")`),t.push(` if [[ "$_head" == "'" ]]; then`),t.push(" _match=${_rest//\\'/\\'\\\\\\'\\'}"),t.push(` else`),t.push(` [[ "$_rest" == *\\'* ]] && continue`),t.push(` _match="$_rest"`),t.push(` fi`),t.push(` ;;`),t.push(` '"')`),t.push(' _match="${_rest//\\\\/\\\\\\\\}"'),t.push(' _match="${_match//\\$/\\\\$}"'),t.push(' _match="${_match//\\`/\\\\\\`}"'),t.push(' _match="${_match//\\"/\\\\\\"}"'),t.push(` ;;`),t.push(` *)`),t.push(` printf -v _match '%q' "$_rest"`),t.push(` [[ -z "$_head" && "$_match" == '~'* ]] && _match="\\\\$_match"`),t.push(` ;;`),t.push(` esac`),t.push(` [[ -n "$_open" && "$_match" == *"$_open" ]] && _match+="$_open"`),t.push(` COMPREPLY+=("$_match")`),t.push(` done`),t.push(`}`),t.push(``)},Bd=(e,t)=>{t.push(`${e.paths}()`),t.push(`{`),t.push(` local _kind="$1" _cur="$2" _word="$3"`),t.push(``),t.push(' local _prefix="$_cur" _committed="${_cur%"$_word"}"'),t.push(` ${Rd(`_prefix`)}`),t.push(` ${Rd(`_committed`)}`),t.push(``),t.push(` local _typed="" _dir="$_committed" _open="" _i`),t.push(` if [[ "$_word" == */* ]]; then`),t.push(' _typed="${_word%/*}/"'),t.push(' _dir="${_prefix%/*}/"'),t.push(` if [[ "$_cur" == "$_word" ]]; then`),t.push(" for ((_i = 0; _i < ${#_typed}; _i++)); do"),t.push(' case "$_open${_typed:_i:1}" in'),t.push(` \\\\|\\"\\\\) ((_i += 1)) ;;`),t.push(` \\"|\\') _open="\${_typed:_i:1}" ;;`),t.push(` \\"\\"|\\'\\') _open="" ;;`),t.push(` esac`),t.push(` done`),t.push(` fi`),t.push(` fi`),t.push(``),t.push(' local _path _names=() _rest="${_word#"$_typed"}"'),t.push(` while IFS= read -r _path; do`),t.push(` if [[ "$_path" == "$_dir"* ]]; then`),t.push(' _names+=("$_committed${_path#"$_dir"}")'),t.push(` elif [[ -z "$_committed" ]]; then`),t.push(` _names+=("$_path")`),t.push(` _typed="" _rest="" _open=""`),t.push(` fi`),t.push(` done < <(compgen "$_kind" -- "$_prefix")`),t.push(` if [[ -n "$_open" ]]; then`),t.push(` _typed+="$_open"`),t.push(' _rest="${_prefix##*/}"'),t.push(` fi`),t.push(``),t.push(` ${e.choices} "\${_cur%"$_word"}$_rest" "$_rest" "\${_names[@]}"`),t.push(" for ((_i = 0; _i < ${#COMPREPLY[@]}; _i++)); do"),t.push(' COMPREPLY[_i]="$_typed${COMPREPLY[_i]}"'),t.push(` done`),t.push(`}`),t.push(``)},Vd=(e,t)=>{switch(e._tag){case`Choice`:{let n=e.values.map(e=>`'${Pd(e)}'`).join(` `);return`${t.choices} "$cur" "$_comp_word" ${n}`}case`Path`:return`${t.paths} ${e.pathType===`directory`?`-d`:`-f`} "$cur" "$_comp_word"`;default:return}},Hd=(e,t,n,r)=>{let i=[...t,e.name],a=`_${i.map(Fd).join(`_`)}`;n.push(`${a}()`),n.push(`{`),n.push(` local cur prev words cword i`),n.push(t.length===0?` local _command_index=0`:` local _command_index="$1"`),n.push(` _init_completion -n "$COMP_WORDBREAKS" || return`),t.length===0&&n.push(` local _comp_word="$2"`),n.push(``);let o=e.flags.filter(Md);if(o.length>0){n.push(` # Flag value completions`),n.push(` case "$prev" in`);for(let e of o){let t=[`--${e.name}`];for(let n of e.aliases)t.push(n.length===1?`-${n}`:`--${n}`);let i=Vd(e.type,r);i&&(n.push(` ${t.join(`|`)})`),n.push(` ${i}`),n.push(` return`),n.push(` ;;`))}n.push(` esac`),n.push(``)}if(e.subcommands.length>0){n.push(` # Subcommand dispatch`),n.push(` local cmd _skip_next=0`),n.push(` for ((i = _command_index + 1; i < cword; i++)); do`),n.push(` if (( _skip_next )); then`),n.push(` _skip_next=0`),n.push(` continue`),n.push(` fi`),n.push(' case "${words[i]}" in');for(let t of e.flags){if(!Md(t))continue;let e=Id(t);n.push(` ${e.join(`|`)}) _skip_next=1 ;;`),n.push(` ${e.map(e=>`${e}=*`).join(`|`)}) ;;`)}for(let t of e.subcommands){let e=`_${[...i,t.name].map(Fd).join(`_`)}`;n.push(` ${t.name})`),n.push(` ${e} "$i"`),n.push(` return`),n.push(` ;;`)}n.push(` esac`),n.push(` done`),n.push(``)}Ld(e.flags,n),(e.flags.length>0||e.subcommands.length>0)&&(n.push(` # Complete flags (filtered) and subcommands`),n.push(` if [[ "$cur" == -* ]]; then`),e.flags.length>0&&n.push(` COMPREPLY=( $(compgen -W "$_filtered_flags" -- "$cur") )`),n.push(` return`),n.push(` fi`),n.push(``));let s=e.arguments.flatMap((e,t)=>{let n=Vd(e.type,r);return n===void 0?[]:[{argument:e,completion:n,index:t}]});if(s.length>0){n.push(` # Positional argument completions`),n.push(` local _position=0 _skip_next=0 _end_of_options=0`),n.push(` for ((i = _command_index + 1; i < cword; i++)); do`),n.push(` if (( _skip_next )); then`),n.push(` _skip_next=0`),n.push(` continue`),n.push(` fi`),n.push(` if (( _end_of_options )); then`),n.push(` ((_position += 1))`),n.push(` continue`),n.push(` fi`),n.push(' case "${words[i]}" in'),n.push(` --) _end_of_options=1 ;;`);for(let t of e.flags){let e=Id(t);Md(t)?(n.push(` ${e.join(`|`)}) _skip_next=1 ;;`),n.push(` ${e.map(e=>`${e}=*`).join(`|`)}) ;;`)):n.push(` ${e.join(`|`)}) ;;`)}n.push(` -*) ;;`),n.push(` *) ((_position += 1)) ;;`),n.push(` esac`),n.push(` done`),n.push(` case "$_position" in`);for(let{argument:e,completion:t,index:r}of s)e.variadic||(n.push(` ${r})`),n.push(` ${t}`),n.push(` return`),n.push(` ;;`));n.push(` esac`);let t=s.find(({argument:e})=>e.variadic);t!==void 0&&(n.push(` if (( _position >= ${t.index} )); then`),n.push(` ${t.completion}`),n.push(` return`),n.push(` fi`))}else if(e.subcommands.length>0){let t=e.subcommands.map(e=>e.name);n.push(` COMPREPLY=( $(compgen -W '${t.join(` `)}' -- "$cur") )`)}n.push(`}`),n.push(``);for(let t of e.subcommands)Hd(t,i,n,r)},Ud=(e,t)=>{let n=[],r=Fd(e),i={choices:`_${r}--choices`,paths:`_${r}--paths`};return n.push(`###-begin-${Pd(e)}-completions-###`),n.push(`#`),n.push(`# Static completion script for Bash`),n.push(`#`),n.push(`# Installation:`),n.push(`# ${Pd(e)} --completions bash >> ~/.bashrc`),n.push(`#`),n.push(``),n.push(`if ! type _init_completion &>/dev/null; then`),n.push(` _init_completion()`),n.push(` {`),n.push(` COMPREPLY=()`),n.push(` local _i _j=0 _piece _line="$COMP_LINE"`),n.push(' words=("${COMP_WORDS[0]}")'),n.push(` cword=0`),n.push(' _line="${_line#*"${COMP_WORDS[0]}"}"'),n.push(" for ((_i = 1; _i < ${#COMP_WORDS[@]}; _i++)); do"),n.push(' _piece="${COMP_WORDS[_i]}"'),n.push(` if [[ "$_line" == [[:blank:]]* ]]; then`),n.push(` ((_j++))`),n.push(` words[_j]="$_piece"`),n.push(` else`),n.push(' words[_j]="${words[_j]}$_piece"'),n.push(` fi`),n.push(` ((_i == COMP_CWORD)) && cword=$_j`),n.push(' _line="${_line#*"$_piece"}"'),n.push(` done`),n.push(' cur="${words[cword]}"'),n.push(` prev=""`),n.push(' ((cword > 0)) && prev="${words[cword-1]}"'),n.push(` return 0`),n.push(` }`),n.push(`fi`),n.push(``),zd(i.choices,n),Bd(i,n),Hd(t,[],n,i),n.push(`complete -F _${r} ${Pd(e)}`),n.push(`###-end-${Pd(e)}-completions-###`),n.join(`
|
|
30
|
+
`)},Wd=e=>e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`),Gd=e=>Wd(e.replace(/[^A-Za-z0-9_.,/@%+-]/gu,`\\$&`)),Kd=(e,t)=>{if(e.length===0)return t.length>0?`__fish_use_subcommand`:``;let n=e.map(e=>`__fish_seen_subcommand_from ${e}`).join(`; and `);return t.length>0?`${n}; and not __fish_seen_subcommand_from ${t.join(` `)}`:n},qd=e=>{let t=[];for(let n of e.aliases)n.length===1&&t.push(`-s ${n}`);t.push(e.name);for(let n of e.aliases)n.length>1&&t.push(n);let n=Nd(e);return n!==void 0&&t.push(n),`not __fish_contains_opt ${t.join(` `)}`},Jd=e=>{let t=[`--${e.name}`];for(let n of e.aliases)t.push(n.length===1?`-${n}`:`--${n}`);return`begin; ${qd(e)}; or contains -- (commandline -poc)[-1] ${t.join(` `)}; end`},Yd=e=>{let t=[`-l ${e.name}`];for(let n of e.aliases)n.length===1?t.push(`-s ${n}`):t.push(`-l ${n}`);e.description&&t.push(`-d '${Wd(e.description)}'`);let n=Md(e)?Xd(e.type):void 0;return n&&t.push(n),t},Xd=e=>{switch(e._tag){case`Boolean`:return;case`Choice`:return`-r -f -a '${e.values.map(Gd).join(` `)}'`;case`Path`:return e.pathType,`-r -F`;default:return`-r -f`}},Zd=e=>{switch(e._tag){case`Choice`:return`-r -f -a '${e.values.map(Gd).join(` `)}'`;case`Path`:return`-r -F`;default:return}},Qd=(e,t,n,r)=>{let i=t.subcommands.map(e=>e.name),a=Kd(n,i),o=a?`-n '${a}'`:``;if(!t.arguments.some(e=>e.type._tag===`Path`)){let t=[`complete -c ${e}`];o&&t.push(o),t.push(`-f`),r.push(t.join(` `))}for(let n of t.subcommands){let t=[`complete -c ${e}`];o&&t.push(o),t.push(`-f -a '${Wd(n.name)}'`),n.description&&t.push(`-d '${Wd(n.description)}'`),r.push(t.join(` `))}for(let n of t.flags){let t=Md(n)?Jd(n):qd(n),i=a?`${a}; and ${t}`:t,o=i?`-n '${i}'`:``,s=[`complete -c ${e}`];o&&s.push(o),s.push(...Yd(n)),r.push(s.join(` `));let c=Nd(n);if(c!==void 0){let t=[`complete -c ${e}`];o&&t.push(o),t.push(`-l ${c}`),n.description&&t.push(`-d '${Wd(`Disable ${n.name}`)}'`),r.push(t.join(` `))}}if(t.flags.length>0){let n=`not string match -q -- "-*" (commandline -ct)`,i=a?`${a}; and ${n}`:n;for(let n of t.flags){let t=`${i}; and ${qd(n)}`,a=Nd(n),o=[`complete -c ${e}`];if(o.push(`-n '${t}'`),o.push(`-f -a '--${n.name}'`),n.description&&o.push(`-d '${Wd(n.description)}'`),r.push(o.join(` `)),a!==void 0){let i=[`complete -c ${e}`];i.push(`-n '${t}'`),i.push(`-f -a '--${a}'`),n.description&&i.push(`-d '${Wd(`Disable ${n.name}`)}'`),r.push(i.join(` `))}}}for(let n of t.arguments){let t=Zd(n.type);if(t){let i=[`complete -c ${e}`];o&&i.push(o),i.push(t),n.description&&i.push(`-d '${Wd(n.description)}'`),r.push(i.join(` `))}}for(let i of t.subcommands)Qd(e,i,[...n,i.name],r)},$d=(e,t)=>{let n=[];return n.push(`###-begin-${e}-completions-###`),n.push(`#`),n.push(`# Static completion script for Fish`),n.push(`#`),n.push(`# Installation:`),n.push(`# ${e} --completions fish > ~/.config/fish/completions/${e}.fish`),n.push(`#`),n.push(``),Qd(e,t,[],n),n.push(``),n.push(`###-end-${e}-completions-###`),n.join(`
|
|
31
|
+
`)},ef=e=>{let t=[],n=``;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i>=32&&i<128?n+=e[r]===`'`?`''`:e[r]:((n!==``||t.length===0)&&t.push(`'${n}'`),n=``,t.push(`[char]0x${i.toString(16).toUpperCase().padStart(4,`0`)}`))}return(n!==``||t.length===0)&&t.push(`'${n}'`),t.length===1?t[0]:`(${t.join(` + `)})`},tf=e=>`@(${e.map(ef).join(`, `)})`,nf=e=>e?ef(e):`$null`,rf=e=>e.replace(/[^a-zA-Z0-9_]/g,`_`),af=e=>[`--${e.name}`,...e.aliases.map(e=>e.length===1?`-${e}`:`--${e}`)],of=e=>`values = ${tf(e._tag===`Choice`?e.values:[])}; pathType = ${e._tag===`Path`?ef(e.pathType):`$null`}`,sf=e=>{let t=Nd(e);return`@{ name = ${ef(e.name)}; forms = ${tf(af(e))}; takesValue = $${e.type._tag!==`Boolean`}; `+(t===void 0?``:`negation = ${ef(`--${t}`)}; `)+(e.optionalValue===!0?`optionalValue = $true; `:``)+`${of(e.type)}; description = ${nf(e.description)} }`},cf=e=>`@{ name = ${ef(e.name)}; variadic = $${e.variadic}; ${of(e.type)}; description = ${nf(e.description)} }`,lf=(e,t,n)=>{if(n.length===0)e.push(` ${t} = @()`);else{e.push(` ${t} = @(`);for(let t of n)e.push(` ${t}`);e.push(` )`)}},uf=(e,t,n,r,i)=>{let a=n.join(` `);if(!i.has(a)){i.add(a),r.push(`${e}[${ef(a)}] = @{`),lf(r,`subcommands`,t.subcommands.map(e=>`@{ name = ${ef(e.name)}; description = ${nf(e.description)} }`)),lf(r,`flags`,t.flags.map(sf)),lf(r,`arguments`,t.arguments.map(cf)),r.push(`}`);for(let a of t.subcommands)uf(e,a,[...n,a.name],r,i)}},df=e=>String.raw` param($wordToComplete, $commandAst, $cursorPosition)
|
|
32
|
+
|
|
33
|
+
$spec = ${e}
|
|
34
|
+
$results = [System.Collections.Generic.List[System.Management.Automation.CompletionResult]]::new()
|
|
35
|
+
$booleanLiterals = @('true', 'yes', 'on', '1', 'y', 'false', 'no', 'off', '0', 'n')
|
|
36
|
+
|
|
37
|
+
$index = {
|
|
38
|
+
param($context)
|
|
39
|
+
$lookup = [hashtable]::new([System.StringComparer]::Ordinal)
|
|
40
|
+
foreach ($flag in $context.flags) {
|
|
41
|
+
foreach ($form in $flag.forms) { $lookup[$form] = $flag }
|
|
42
|
+
}
|
|
43
|
+
$lookup
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
$add = {
|
|
47
|
+
param([string]$value, [string]$type, $tooltip, [string]$typed, [string]$textPrefix)
|
|
48
|
+
if (-not $value.StartsWith($typed, [System.StringComparison]::OrdinalIgnoreCase)) { return }
|
|
49
|
+
$text = $value
|
|
50
|
+
if ($value -notmatch '^[\w./:%+=\\-]+$') { $text = "'" + ($value -replace "['\u2018-\u201b]", '$0$0') + "'" }
|
|
51
|
+
$text = $textPrefix + $text
|
|
52
|
+
$label = $value
|
|
53
|
+
if (-not $label) { $label = $text }
|
|
54
|
+
if (-not $tooltip) { $tooltip = $label }
|
|
55
|
+
$results.Add([System.Management.Automation.CompletionResult]::new($text, $label, $type, $tooltip))
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
$addValues = {
|
|
59
|
+
param($entry, [string]$typed, [string]$textPrefix)
|
|
60
|
+
foreach ($value in $entry.values) {
|
|
61
|
+
if ($textPrefix -eq '' -and (& $optionLike $value)) { continue }
|
|
62
|
+
& $add $value 'ParameterValue' $entry.description $typed $textPrefix
|
|
63
|
+
}
|
|
64
|
+
if ($entry.pathType) {
|
|
65
|
+
foreach ($file in [System.Management.Automation.CompletionCompleters]::CompleteFilename($typed)) {
|
|
66
|
+
if ($entry.pathType -eq 'directory' -and $file.ResultType -ne 'ProviderContainer') { continue }
|
|
67
|
+
$results.Add([System.Management.Automation.CompletionResult]::new($textPrefix + $file.CompletionText, $file.ListItemText, $file.ResultType, $file.ToolTip))
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
$addFlags = {
|
|
73
|
+
param([string]$typed)
|
|
74
|
+
foreach ($flag in $context.flags) {
|
|
75
|
+
if ($used.ContainsKey($flag.name)) { continue }
|
|
76
|
+
foreach ($form in $flag.forms) {
|
|
77
|
+
& $add $form 'ParameterName' $flag.description $typed ''
|
|
78
|
+
}
|
|
79
|
+
if ($flag.negation) {
|
|
80
|
+
$tooltip = $null
|
|
81
|
+
if ($flag.description) { $tooltip = 'Disable ' + $flag.name }
|
|
82
|
+
& $add $flag.negation 'ParameterName' $tooltip $typed ''
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
# As in the CLI lexer, nothing after '--' is an option, and negative numbers
|
|
88
|
+
# and a lone '-' are values.
|
|
89
|
+
$optionLike = {
|
|
90
|
+
param([string]$word)
|
|
91
|
+
-not $endOfOptions -and $word -match '^-.' -and $word -notmatch '^-(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$'
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
# A typed value that has no candidates completes to itself, so the engine
|
|
95
|
+
# does not fall back to listing files.
|
|
96
|
+
$keepTyped = {
|
|
97
|
+
if ($results.Count -eq 0 -and $current) {
|
|
98
|
+
$results.Add([System.Management.Automation.CompletionResult]::new($current, $current, 'ParameterValue', $current))
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
$path = ''
|
|
103
|
+
$context = $spec[$path]
|
|
104
|
+
$lookup = & $index $context
|
|
105
|
+
$used = [hashtable]::new([System.StringComparer]::Ordinal)
|
|
106
|
+
$pending = $null
|
|
107
|
+
$endOfOptions = $false
|
|
108
|
+
$position = 0
|
|
109
|
+
|
|
110
|
+
# The engine strips the quotes from a quoted word.
|
|
111
|
+
$typed = [string]$wordToComplete
|
|
112
|
+
if ($typed -match '^([''"])(.*?)\1?$') { $typed = $Matches[2] }
|
|
113
|
+
$current = $null
|
|
114
|
+
|
|
115
|
+
$elements = $commandAst.CommandElements
|
|
116
|
+
for ($i = 1; $i -lt $elements.Count; $i++) {
|
|
117
|
+
$element = $elements[$i]
|
|
118
|
+
$word = $element.Extent.Text
|
|
119
|
+
if ($element -is [System.Management.Automation.Language.StringConstantExpressionAst]) { $word = $element.Value }
|
|
120
|
+
if ($element.Extent.EndOffset -ge $cursorPosition) {
|
|
121
|
+
if ($element -is [System.Management.Automation.Language.ConstantExpressionAst] -and $element.Extent.StartOffset -le $cursorPosition) {
|
|
122
|
+
$current = $element.Extent.Text
|
|
123
|
+
if ($element.Extent.EndOffset -eq $cursorPosition) { $typed = $word }
|
|
124
|
+
}
|
|
125
|
+
break
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
# A flag takes the next word as its value unless it is an option or '--';
|
|
129
|
+
# a boolean flag only takes a boolean literal.
|
|
130
|
+
$isOption = & $optionLike $word
|
|
131
|
+
if ($null -ne $pending) {
|
|
132
|
+
$flag = $pending
|
|
133
|
+
$pending = $null
|
|
134
|
+
if ($flag.takesValue) {
|
|
135
|
+
if (-not $isOption) { continue }
|
|
136
|
+
} elseif ($booleanLiterals -ccontains $word) { continue }
|
|
137
|
+
}
|
|
138
|
+
if ($endOfOptions) { $position++; continue }
|
|
139
|
+
if ($word -ceq '--') { $endOfOptions = $true; continue }
|
|
140
|
+
|
|
141
|
+
if ($isOption) {
|
|
142
|
+
$hasValue = $word.Contains('=')
|
|
143
|
+
if ($hasValue) {
|
|
144
|
+
$forms = @($word.Substring(0, $word.IndexOf('=')))
|
|
145
|
+
} elseif ($word.StartsWith('--')) {
|
|
146
|
+
$forms = @($word)
|
|
147
|
+
} else {
|
|
148
|
+
$forms = @(foreach ($char in $word.Substring(1).ToCharArray()) { '-' + $char })
|
|
149
|
+
}
|
|
150
|
+
foreach ($form in $forms) {
|
|
151
|
+
$pending = $null
|
|
152
|
+
$flag = $lookup[$form]
|
|
153
|
+
# As in the CLI parser, a negation wins over an alias but not over a
|
|
154
|
+
# canonical name.
|
|
155
|
+
if ($null -eq $flag -or $form -cne ('--' + $flag.name)) {
|
|
156
|
+
$negated = $null
|
|
157
|
+
foreach ($candidate in $context.flags) {
|
|
158
|
+
if ($candidate.negation -ceq $form) { $negated = $candidate }
|
|
159
|
+
}
|
|
160
|
+
if ($null -ne $negated) {
|
|
161
|
+
$used[$negated.name] = $true
|
|
162
|
+
continue
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if ($null -eq $flag) { continue }
|
|
166
|
+
$used[$flag.name] = $true
|
|
167
|
+
# A flag with an optional value only takes a value attached with '='.
|
|
168
|
+
if (-not $hasValue -and -not $flag.optionalValue) { $pending = $flag }
|
|
169
|
+
}
|
|
170
|
+
continue
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
if ($position -eq 0 -and $context.subcommands.name -ccontains $word) {
|
|
174
|
+
if ($path) { $path = $path + ' ' + $word } else { $path = $word }
|
|
175
|
+
$context = $spec[$path]
|
|
176
|
+
$lookup = & $index $context
|
|
177
|
+
$used = [hashtable]::new([System.StringComparer]::Ordinal)
|
|
178
|
+
continue
|
|
179
|
+
}
|
|
180
|
+
$position++
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
$typedIsOption = & $optionLike $typed
|
|
184
|
+
if ($null -ne $pending -and $pending.takesValue -and -not $typedIsOption) {
|
|
185
|
+
& $addValues $pending $typed ''
|
|
186
|
+
& $keepTyped
|
|
187
|
+
return $results
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if ($typedIsOption) {
|
|
191
|
+
if ($typed -match '^(-[^=]+)=(.*)$') {
|
|
192
|
+
$form = $Matches[1]
|
|
193
|
+
$flag = $lookup[$form]
|
|
194
|
+
if ($null -ne $flag -and $flag.takesValue) {
|
|
195
|
+
& $addValues $flag $Matches[2] ($form + '=')
|
|
196
|
+
& $keepTyped
|
|
197
|
+
}
|
|
198
|
+
} else {
|
|
199
|
+
& $addFlags $typed
|
|
200
|
+
}
|
|
201
|
+
return $results
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
if (-not $endOfOptions -and $position -eq 0) {
|
|
205
|
+
foreach ($sub in $context.subcommands) {
|
|
206
|
+
& $add $sub.name 'Command' $sub.description $typed ''
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
$arguments = $context.arguments
|
|
211
|
+
if ($position -lt $arguments.Count) {
|
|
212
|
+
& $addValues $arguments[$position] $typed ''
|
|
213
|
+
} elseif ($arguments.Count -gt 0 -and $arguments[-1].variadic) {
|
|
214
|
+
& $addValues $arguments[-1] $typed ''
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (-not $endOfOptions) {
|
|
218
|
+
& $addFlags $typed
|
|
219
|
+
}
|
|
220
|
+
return $results`,ff=(e,t)=>{let n=`$global:_${rf(e)}_Completions`,r=[];return r.push(`###-begin-${e}-completions-###`),r.push(`#`),r.push(`# Static completion script for PowerShell`),r.push(`#`),r.push(`# Installation:`),r.push(`# ${e} --completions powershell > ${e}-completion.ps1`),r.push(`# then add this line to your $PROFILE (use the full path to the file):`),r.push(`# . <PATH>\\${e}-completion.ps1`),r.push(`#`),r.push(``),r.push(`${n} = [hashtable]::new([System.StringComparer]::Ordinal)`),uf(n,t,[],r,/* @__PURE__ */ new Set),r.push(``),r.push(`Register-ArgumentCompleter -Native -CommandName ${ef(e)} -ScriptBlock {`),r.push(df(n)),r.push(`}`),r.push(``),r.push(`###-end-${e}-completions-###`),r.join(`
|
|
221
|
+
`)},pf=e=>e.replace(/\\/g,`\\\\`).replace(/'/g,`'\\''`).replace(/:/g,`\\:`),mf=e=>pf(e).replace(/]/g,`\\]`),hf=e=>e.replace(/[^A-Za-z0-9_.,/@%+-]/gu,`\\$&`).replace(/'/g,`'\\''`),gf=e=>e.replace(/[^a-zA-Z0-9_]/g,`_`),_f=e=>{let t=[`--${e.name}`];for(let n of e.aliases)t.push(n.length===1?`-${n}`:`--${n}`);let n=Nd(e);return n!==void 0&&t.push(`--${n}`),t},vf=e=>{switch(e._tag){case`Boolean`:return``;case`Choice`:return`:value:(${e.values.map(hf).join(` `)})`;case`Path`:return e.pathType===`directory`?`:directory:_directories`:`:file:_files`;case`Int`:return`:integer:`;case`Finite`:return`:float:`;case`Date`:return`:date:`;default:return`:value:`}},yf=e=>{switch(e._tag){case`Choice`:return`(${e.values.map(hf).join(` `)})`;case`Path`:return e.pathType===`directory`?`_directories`:`_files`;default:return``}},bf=e=>{let t=[],n=e.description?`[${mf(e.description)}]`:``,r=e.optionalValue===!0&&e.type._tag!==`Boolean`,i=r?`=-`:``,a=r?`:${vf(e.type)}`:vf(e.type),o=`(${_f(e).join(` `)})`;t.push(`'${o}--${e.name}${i}${n}${a}'`);for(let r of e.aliases){let e=r.length===1?`-`:`--`;t.push(`'${o}${e}${r}${i}${n}${a}'`)}let s=Nd(e);if(s!==void 0){let n=e.description?`[${mf(`Disable ${e.name}`)}]`:``;t.push(`'${o}--${s}${n}'`)}return t},xf=e=>{let t=e.description?pf(e.description):e.name,n=yf(e.type);return`'${e.variadic?`*`:``}:${t}:${n}'`},Sf=(e,t,n)=>{let r=[...t,e.name],i=`_${r.map(gf).join(`_`)}`;if(n.push(`${i}() {`),e.subcommands.length>0){n.push(` local context state state_descr line`),n.push(` typeset -A opt_args`),n.push(``),n.push(` local -a commands`),n.push(` commands=(`);for(let t of e.subcommands){let e=t.description?pf(t.description):``;n.push(` '${t.name}:${e}'`)}n.push(` )`),n.push(``),n.push(` local -a specs`),n.push(` specs=(`);for(let t of e.flags)for(let e of bf(t))n.push(` ${e}`);if(e.arguments.length>0){n.push(` -`),n.push(` parent-arguments`);for(let t of e.arguments)n.push(` ${xf(t)}`);n.push(` -`),n.push(` subcommands`)}n.push(` '1:command:->command'`),n.push(` '*::arg:->args'`),n.push(` )`),n.push(``),n.push(' _arguments -C "${specs[@]}"'),n.push(``),n.push(` case "$state" in`),n.push(` command)`),n.push(` _describe -t commands 'commands' commands`),n.push(` ;;`),n.push(` args)`),n.push(` case "$words[1]" in`);for(let t of e.subcommands){let e=`_${[...r,t.name].map(gf).join(`_`)}`;n.push(` ${t.name})`),n.push(` ${e}`),n.push(` ;;`)}n.push(` esac`),n.push(` ;;`),n.push(` esac`)}else{let t=[];for(let n of e.flags)t.push(...bf(n));for(let n of e.arguments)t.push(xf(n));if(t.length>0){n.push(` local -a specs`),n.push(` specs=(`);for(let e of t)n.push(` ${e}`);n.push(` )`),n.push(' _arguments "${specs[@]}"')}}n.push(`}`),n.push(``);for(let t of e.subcommands)Sf(t,r,n)},Cf=(e,t)=>{let n=[],r=gf(e);return n.push(`#compdef ${e}`),n.push(`###-begin-${e}-completions-###`),n.push(`#`),n.push(`# Static completion script for Zsh`),n.push(`#`),n.push(`# Installation:`),n.push(`# ${e} --completions zsh > ~/.zsh/completions/_${e}`),n.push(`# then add ~/.zsh/completions to your fpath`),n.push(`#`),n.push(``),Sf(t,[],n),n.push(`# Handle both direct invocation and autoload`),n.push('if [[ "${zsh_eval_context[-1]}" == "loadautofunc" ]]; then'),n.push(` _${r} "$@"`),n.push(`else`),n.push(` compdef _${r} ${e}`),n.push(`fi`),n.push(`###-end-${e}-completions-###`),n.join(`
|
|
222
|
+
`)},wf=e=>jd(e),Tf=(e,t,n)=>{switch(t){case`bash`:return Ud(e,n);case`zsh`:return Cf(e,n);case`fish`:return $d(e,n);case`powershell`:return ff(e,n)}},Ef=e=>Du(Su,e),Df=e=>Ou(Su,e),Of=(e,t)=>ku(Su,e,t),kf=/*#__PURE__*/ A(2,(e,t)=>ju(e,t)),Af=/*#__PURE__*/ A(2,(e,t)=>Mu(e,t)),jf=/*#__PURE__*/ A(2,(e,t)=>zu(e,t)),Mf=e=>Iu(e),Nf=Lu,Pf=/*#__PURE__*/ A(2,(e,t)=>Nu(e,t)),Ff=e=>{let t=/* @__PURE__ */ new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n},If=(e,t)=>{let n=[e],r=e;for(let e=1;e<t.length;e++){let i=t[e],a;for(let e of r.subcommands)if(a=e.commands.find(e=>e.name===i),a)break;if(!a)break;n.push(a),r=a}return n},Lf=(e,t,n)=>{let r=If(e,t).flatMap(e=>Q(e).globalFlags);return Ff([...n,...r])},Rf=e=>{let t=[],n=e=>{let r=Q(e);for(let e of r.globalFlags)t.push(e);for(let t of e.subcommands)for(let e of t.commands)n(e)};return n(e),Ff(t)},zf=(e,t)=>{if(e.length<=1)return[];let n=new Set(t.map(e=>e.name)),r=[];for(let t of e.slice(0,-1)){let e=Q(t);for(let t of e.contextConfig.flags){let e=Y(t),i=X(t);for(let t of e)n.has(t.name)||t.hidden||(n.add(t.name),r.push(wd(t,i)))}}return r},Bf=(e,t)=>Ff([...t,...Rf(e)]),Vf=(e,t,n)=>Xt(function*(){let r=If(e,t),i=r.length>0?r[r.length-1]:e,a=Q(i).buildHelpDoc(t),o=zf(r,a.flags),s=Lf(e,t,n),c=[];for(let e of s){let t=Y(e.flag),n=X(e.flag);for(let e of t)e.hidden||c.push({...wd(e,n),required:!1})}let l=1;for(let e=r.length-1;e>0;e--)if(Q(r[e]).globalFlags.length>0){l=e+1;break}return{...a,inheritedFlags:o,globalFlags:c,globalFlagsScope:t.slice(0,l),commandPath:t}}),Hf=e=>({_tag:`Action`,flag:e.flag,run:e.run}),Uf=e=>t=>{Wf+=1;let n=et(`effect/cli/GlobalFlag/${e}/${Wf}`);return Object.assign(n,{_tag:`Setting`,id:e,flag:t.flag})};let Wf=0;const Gf=/*#__PURE__*/ Hf({flag:/*#__PURE__*/ Df(`help`).pipe(/*#__PURE__*/ kf(`h`),/*#__PURE__*/ Af(`Show help information`),/*#__PURE__*/ Nf(!1)),run:/*#__PURE__*/ k(function*(e,{builtIns:t,command:n,commandPath:r}){let i=yield*nd,a=yield*Vf(n,r,t);yield*i.present({_tag:`Help`,reason:`Requested`,commandPath:r,helpDoc:a})})}),Kf=/*#__PURE__*/ Hf({flag:/*#__PURE__*/ Df(`version`).pipe(/*#__PURE__*/ kf(`v`),/*#__PURE__*/ Af(`Show version information`),/*#__PURE__*/ Nf(!1)),run:/*#__PURE__*/ k(function*(e,{command:t,version:n}){yield*(yield*nd).present({_tag:`Version`,name:t.name,version:n})})}),qf=/*#__PURE__*/ Hf({flag:/*#__PURE__*/ Df(`wizard`).pipe(/*#__PURE__*/ Af(`Start wizard mode for a command`),/*#__PURE__*/ Nf(!1)),run:()=>N}),Jf=/*#__PURE__*/ Hf({flag:/*#__PURE__*/ Of(`completions`,[[`bash`,`bash`],[`zsh`,`zsh`],[`fish`,`fish`],[`powershell`,`powershell`],[`sh`,`bash`],[`pwsh`,`powershell`]]).pipe(Mf,/*#__PURE__*/ jf(`<bash|zsh|fish|powershell|sh|pwsh>`),/*#__PURE__*/ Af(`Print shell completion script`)),run:/*#__PURE__*/ k(function*(e,{command:t}){if(se(e))return;let n=wf(t);yield*Z(Tf(t.name,e.value,n))})}),Yf=/*#__PURE__*/ Uf(`log-level`)({flag:/*#__PURE__*/ Of(`log-level`,[[`all`,`All`],[`trace`,`Trace`],[`debug`,`Debug`],[`info`,`Info`],[`warn`,`Warn`],[`warning`,`Warn`],[`error`,`Error`],[`fatal`,`Fatal`],[`none`,`None`]]).pipe(Mf,/*#__PURE__*/ Af(`Sets the minimum log level`),/*#__PURE__*/ jf(`<all|trace|debug|info|warn|warning|error|fatal|none>`))}),Xf=[Gf,Kf,qf,Jf,Yf];var Zf=class extends (/*#__PURE__*/ $n(`effect/cli/CliConfig`,{defaultValue:()=>Qf})){};const Qf={builtIns:Xf},$f=/*#__PURE__*/ Pt(e=>S(v(e,ed)??id({colors:rt(e,gu).canColor})));function ep(e){let t=e.indexOf(`--`);return t===-1?{tokens:np(e),trailingOperands:[]}:{tokens:np(e.slice(0,t)),trailingOperands:e.slice(t+1)}}const tp=/^-(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$/,np=e=>{let t=[];for(let n of e)if(!n.startsWith(`-`)||tp.test(n))t.push({_tag:`Value`,value:n});else if(n.startsWith(`--`)){let e=n.indexOf(`=`);if(e!==-1){let r=n.slice(2,e);if(r===``)t.push({_tag:`Value`,value:n});else{let i=n.slice(e+1);t.push({_tag:`LongOption`,name:r,raw:n,value:i})}}else t.push({_tag:`LongOption`,name:n.slice(2),raw:n})}else if(n.length>1){let e=n.slice(1),r=e.indexOf(`=`);if(r!==-1){let n=Array.from(e.slice(0,r)),i=n.pop()??``;for(let e of n)t.push({_tag:`ShortOption`,flag:e,raw:`-${e}`});t.push({_tag:`ShortOption`,flag:i,raw:`-${i}`,value:e.slice(r+1)})}else for(let n of e)t.push({_tag:`ShortOption`,flag:n,raw:`-${n}`})}else t.push({_tag:`Value`,value:n});return t},rp=(e,t)=>{let n=e.length,r=t.length,i=Array.from({length:n+1},()=>Array(r+1).fill(0));for(let e=0;e<=n;e++)i[e][0]=e;for(let e=0;e<=r;e++)i[0][e]=e;for(let a=1;a<=n;a++)for(let n=1;n<=r;n++){let r=e[a-1]===t[n-1]?0:1;i[a][n]=Math.min(i[a-1][n]+1,i[a][n-1]+1,i[a-1][n-1]+r)}return i[n][r]},ip=(e,t)=>{let n=t.map(t=>[rp(e,t),t]).filter(([e])=>e<=2).sort(([e],[t])=>e-t);if(n.length===0)return[];let r=n[0][0];return n.filter(([e])=>e===r).map(([,e])=>e)},ap=e=>Xe(e.subcommand,{onNone:()=>[],onSome:e=>[e.name,...ap(e.parsedInput)]}),op=(e,t,n=[])=>Xt(function*(){let{tokens:r,trailingOperands:i}=e,a=[...n,t.name],o=Q(t),s=o.config.flags.flatMap(Y).filter(Tu),c=lp(s),l=o.contextConfig.flags.flatMap(Y).filter(Tu),u=lp(l),d=new Set(l.map(e=>e.name)),f={command:t,commandPath:a,flagRegistry:c,inheritedFlagRegistry:u,localFlagNames:s.filter(e=>!d.has(e.name)).map(e=>e.name)},p=Pp(r,f);if(p._tag===`Leaf`)return{flags:p.flags,arguments:[...p.arguments,...i],subcommand:F(),...p.errors.length>0&&{errors:p.errors}};let m={tokens:p.childTokens,trailingOperands:i},h=yield*op(m,p.sub,a),g=[...p.errors,...h.errors??[]];return{flags:p.flags,arguments:[],subcommand:T({name:p.sub.name,parsedInput:h}),...g.length>0&&{errors:g}}}),sp=e=>{let t=0;return{peek:()=>e[t],take:()=>e[t++],rest:()=>e.slice(t)}},cp=e=>!Vs(e.primitiveType)||e.negation===!1?void 0:e.negation??`no-${e.name}`,lp=e=>{let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map;for(let r of e){if(t.has(r.name))throw Error(`Duplicate flag name "${r.name}" in command definition`);t.set(r.name,r);for(let e of r.aliases){if(t.has(e))throw Error(`Duplicate flag/alias "${e}" in command definition (conflicts with "${t.get(e).name}")`);t.set(e,r)}let e=cp(r);if(e!==void 0){if(n.has(e))throw Error(`Duplicate negation "${e}" in command definition (conflicts with "${n.get(e).name}")`);n.set(e,r)}}return{params:e,index:t,negations:n}},up=e=>{let t=/* @__PURE__ */ new Map,n=(e,n)=>{let r=t.get(e);if(r&&r!==n)throw Error(`Duplicate subcommand name/alias "${e}" in command definition (conflicts with "${r.name}")`);t.set(e,n)};for(let t of e)for(let e of t.commands)n(e.name,e),e.alias&&e.alias!==e.name&&n(e.alias,e);return t},dp=e=>Object.fromEntries(e.map(e=>[e.name,[]])),fp=e=>{let t=dp(e);return{add:(e,n)=>{n!==void 0&&t[e].push(n)},merge:e=>{for(let n in e){let r=e[n];if(r?.length)for(let e=0;e<r.length;e++)t[n].push(r[e])}},snapshot:()=>t}},pp=e=>e._tag===`LongOption`||e._tag===`ShortOption`,mp=e=>e._tag===`LongOption`?e.name:e.flag,hp=(e,t)=>{let n=mp(e),r=t.index.get(n);if(r&&r.name===n)return{param:r,negated:!1};let i=e._tag===`LongOption`?t.negations.get(e.name):void 0;if(i)return{param:i,negated:!0};if(r)return{param:r,negated:!1}},gp=(e,t,n)=>new Ms({option:t.name,value:n,expected:`omit the value and use ${e.raw} by itself to set --${t.name} to false`,kind:`flag`}),_p=e=>{let t=qs(e.primitiveType);return new Ms({option:e.name,value:``,expected:t===void 0?e.typeName??Ks(e.primitiveType):t.join(` | `),kind:`flag`})},vp=e=>e?._tag===`Value`&&(zs(e.value)||Bs(e.value))?e.value:void 0,yp=(e,t,n,r=!1)=>{let i=bp(e,t,n,r);switch(i._tag){case`Value`:return{_tag:`Value`,value:i.value};case`Error`:return{_tag:`Error`,error:i.error}}},bp=(e,t,n,r=!1)=>{if(r){if(t.value!==void 0)return{_tag:`Error`,error:gp(t,n,t.value),tokens:[]};let r=n.optionalValue===void 0?vp(e.peek()):void 0;if(r!==void 0){let i=e.take();return{_tag:`Error`,error:gp(t,n,r),tokens:i===void 0?[]:[i]}}return{_tag:`Value`,value:`false`,tokens:[]}}if(t.value!==void 0)return{_tag:`Value`,value:t.value,tokens:[]};if(n.optionalValue!==void 0)return{_tag:`Value`,value:n.optionalValue,tokens:[]};if(Vs(n.primitiveType)){let t=vp(e.peek()),n=t===void 0?void 0:e.take();return{_tag:`Value`,value:t??`true`,tokens:n===void 0?[]:[n]}}let i=e.peek();if(i?._tag===`Value`){let t=e.take();return{_tag:`Value`,value:i.value,tokens:t===void 0?[]:[t]}}return{_tag:`Error`,error:_p(n),tokens:[]}},xp=(e,t)=>{let n=dp(t.params),r=[],i=[],a=sp(e);for(let e=a.take();e;e=a.take()){if(!pp(e)){r.push(e);continue}let o=hp(e,t);if(!o){r.push(e);continue}let s=yp(a,e,o.param,o.negated);s._tag===`Error`?i.push(s.error):s.value!==void 0&&n[o.param.name].push(s.value)}return{flagMap:n,remainder:r,errors:i}},Sp=e=>Q(e).config.flags.flatMap(Y).filter(Tu),Cp=e=>Q(e).contextConfig.flags.flatMap(Y).filter(Tu),wp=(e,t)=>{for(let n of t){let t=hp(e,n);if(t!==void 0)return t}},Tp=(e,t,n,r)=>{e.push(n);let i=bp(t,n,r.param,r.negated);e.push(...i.tokens)},Ep=(e,t,n,r,i)=>{let a=sp(t);bp(a,e,n.param,n.negated);for(let e=a.take();e;e=a.take())if(pp(e)){let t=wp(e,i);t!==void 0&&bp(a,e,t.param,t.negated)}else if(e._tag===`Value`)return r.has(e.value);return!1},Dp=(e,t,n)=>{let r=dp(n.params),i=[],a=(e,t,o)=>{let s=lp(Sp(t)),c=lp(Cp(t)),l=up(t.subcommands),u=sp(e),d=[],f=!0;for(let e=u.take();e;e=u.take())if(pp(e)){let t=wp(e,o);if(t!==void 0){Tp(d,u,e,t);continue}let a=hp(e,c);if(a!==void 0){Tp(d,u,e,a);continue}let p=hp(e,s),m=hp(e,n);if(p!==void 0&&(m===void 0||!f||!Ep(e,u.rest(),p,l,[s,c,n]))){Tp(d,u,e,p);continue}if(m!==void 0){let t=bp(u,e,m.param,m.negated);if(t._tag===`Error`){i.push(t.error);continue}t.value!==void 0&&r[m.param.name].push(t.value);continue}d.push(e)}else{if(e._tag===`Value`&&f){let t=l.get(e.value);if(t!==void 0)return d.push(e),d.push(...a(u.rest(),t,[...o,c])),d;f=!1}d.push(e)}return d};return{flagMap:r,remainder:a(e,t,[]),errors:i}},Op=(e,t,n)=>{let r=e._tag===`LongOption`?`--${e.name}`:`-${e.flag}`,i=[];for(let e of t){if(e.hidden)continue;i.push(e.name);let t=cp(e);t!==void 0&&i.push(t);for(let t of e.aliases)i.push(t)}return new Ds({option:r,suggestions:ip(mp(e),i).map(e=>e.length===1?`-${e}`:`--${e}`),command:n})},kp=e=>({flags:fp(e.params),arguments:[],errors:[],mode:{_tag:`AwaitingFirstValue`}}),Ap=e=>({_tag:`Leaf`,flags:e.flags.snapshot(),arguments:e.arguments,errors:e.errors}),jp=(e,t,n,r)=>{let{command:i,commandPath:a,inheritedFlagRegistry:o,localFlagNames:s}=n,c=up(i.subcommands),l=c.get(e);if(l){let e=[...a,l.name],n=r.flags.snapshot();for(let t of s){let i=n[t];i!==void 0&&i.length>0&&r.errors.push(new Ds({option:`--${t}`,suggestions:[],command:e}))}let i=xp(t.rest(),o);return r.flags.merge(i.flagMap),r.errors.push(...i.errors),{_tag:`Subcommand`,result:{_tag:`Sub`,flags:r.flags.snapshot(),sub:l,childTokens:i.remainder,errors:r.errors}}}if(!(Q(i).config.arguments.length>0)&&c.size>0){let t=[];for(let[e,n]of c)n.unlisted||t.push(e);let n=ip(e,t);r.errors.push(new Ns({subcommand:e,parent:a,suggestions:n}))}return{_tag:`Argument`}},Mp=(e,t,n,r)=>{let{commandPath:i,flagRegistry:a}=n,o=hp(e,a);if(!o){r.errors.push(Op(e,a.params,i));return}let s=yp(t,e,o.param,o.negated);s._tag===`Error`?r.errors.push(s.error):r.flags.add(o.param.name,s.value)},Np=(e,t,n,r)=>{if(r.mode._tag===`AwaitingFirstValue`){let i=jp(e,t,n,r);if(i._tag===`Subcommand`)return i.result;r.mode={_tag:`CollectingArguments`}}r.arguments.push(e)},Pp=(e,t)=>{let n=sp(e),r=kp(t.flagRegistry);for(let e=n.take();e;e=n.take())if(pp(e))Mp(e,n,t,r);else if(e._tag===`Value`){let i=Np(e.value,n,t,r);if(i)return i}return Ap(r)},Fp=/*#__PURE__*/ k(function*(e,t){let n=t?.commandPath??[e.name],r=Ip(e,n),i=(t?.prefix??n).map(e=>$(e)),{colors:a}=yield*dc;return yield*Gp(i,a),yield*Lp(r,i,r===e?`ROOT`:r.name,a),{args:i.map(e=>e.value),displayArgs:i.map(e=>e.displayValue)}}),Ip=(e,t)=>{let n=e;for(let e of t.slice(1)){let t=n.subcommands.flatMap(e=>e.commands).find(t=>t.name===e||t.alias===e);if(t===void 0)break;n=t}return n},Lp=/*#__PURE__*/ k(function*(e,t,n,r){let i=Q(e),a=e.subcommands.flatMap(e=>e.commands.filter(e=>!e.unlisted)),o=a.length===0?i.config:i.contextConfig;if(o.flags.length>0){yield*Z(Kp(n,`FLAGS`,r));for(let e of o.flags)t.push(...yield*zp(e));(o.arguments.length>0||a.length>0)&&(yield*Gp(t,r))}if(o.arguments.length>0){yield*Z(Kp(n,`ARGUMENTS`,r));for(let e of o.arguments)t.push(...yield*zp(e));a.length>0&&(yield*Gp(t,r))}if(a.length===0)return;let s=yield*K(wc({message:`Command`,choices:a.map(e=>({title:e.name,value:e,...e.shortDescription===void 0?e.description===void 0?{}:{description:e.description}:{description:e.shortDescription}}))}));yield*Z(),t.push($(s.name)),Rp(s)&&(yield*Gp(t,r)),yield*Lp(s,t,s.name,r)}),Rp=e=>e.subcommands.some(e=>e.commands.some(e=>!e.unlisted))||Q(e).config.orderedParams.length>0,zp=/*#__PURE__*/ k(function*(e){let t=Ku(e),n=X(e);if(n.isOptional&&!(yield*K(hc({message:`Set ${Up(t)}?`,initial:!1}))))return yield*Z(),[];let r=n.isVariadic?yield*K(bc({message:`${Up(t)} count`,default:C(n.variadicMin,()=>0),min:C(n.variadicMin,()=>0),...b(n.variadicMax)?{max:n.variadicMax.value}:{}})):1,i=[];for(let e=0;e<r;e++)i.push(yield*Bp(t));let a=t.kind===`flag`?{flags:{[t.name]:i.map(e=>e.value)},arguments:[]}:{flags:{},arguments:i.map(e=>e.value)};return yield*e.parse(a),yield*Z(),t.kind===`argument`?i:i.flatMap(e=>t.optionalValue!==void 0||e.value.startsWith(`-`)&&e.value.length>1?[$(`--${t.name}=${e.value}`,`--${t.name}=${e.displayValue}`)]:[$(`--${t.name}`),e])}),Bp=e=>{let t=Hp(e);switch(e.primitiveType._tag){case`Boolean`:return w(K(hc({message:t,label:{confirm:`true`,deny:`false`},placeholder:{defaultConfirm:`(T/f)`,defaultDeny:`(t/F)`}})),e=>$(String(e)));case`Choice`:{let n=qs(e.primitiveType)??[];return w(K(wc({message:t,choices:n.map(e=>({title:e,value:e}))})),$)}case`Date`:return w(K(_c({message:t})),e=>$(e.toISOString()));case`Finite`:return w(K(yc({message:t})),e=>$(String(e)));case`Int`:return w(K(bc({message:t})),e=>$(String(e)));case`Redacted`:return w(K(Sc({message:t})),e=>$(Rn(e),`<redacted>`));default:return w(K(Ec({message:t})),$)}},$=(e,t=e)=>({value:e,displayValue:t}),Vp=e=>e.kind===`flag`?`--${e.name}`:e.name,Hp=e=>Up(e),Up=e=>{let t=He(e.description)?.trim(),n=e.kind===`flag`&&t!==void 0&&t.length<=32?t:Wp(e.name);return e.kind===`flag`?`${n} (${Vp(e)})`:n},Wp=e=>{let t=e.split(/[-_]+/).filter(e=>e.length>0);return t.length===0?e:[t[0][0].toUpperCase()+t[0].slice(1),...t.slice(1)].join(` `)},Gp=(e,t)=>Z(Xp(`Current command`,e.map(e=>e.displayValue),t,`\x1B[35m`)),Kp=(e,t,n)=>`${U(n,e.toUpperCase(),Ys,nc)} ${U(n,`·`,tc)} ${U(n,t,Ys,ec)}`,qp=(e,t,n,r)=>[`${U(r,e,Ys,nc)} ${U(r,`v${t}`,ec)} ${U(r,`· Command wizard`,Ys,ec)}`,...n===void 0||n.length===0?[]:[n],U(r,`Build a command interactively. Press Ctrl+C to cancel.`,tc),``].join(`
|
|
223
|
+
`),Jp=(e,t)=>Xp(`Command ready`,e,t,nc,$s),Yp=e=>`\n${U(e,`Wizard cancelled.`,Qs)}`,Xp=(e,t,n,r,i=ec)=>{let a=Zp(t);return[U(n,e,Ys,i),...a.map(e=>U(n,e,r)),``].join(`
|
|
224
|
+
`)},Zp=e=>{let t=` $ `,n=` `,r=e.map(Qp),i=[],a=t;for(let e of r){let r=a===t||a===n?``:` `;a.length+r.length+e.length>88&&a!==t?(i.push(`${a} \\`),a=`${n}${e}`):a+=`${r}${e}`}return a!==t&&i.push(a),i},Qp=e=>/^[A-Za-z0-9_./:@%+=,-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'"'"'`)}'`,$p=e=>Ke(e,bd),em=(e,t,n)=>{let r=_d(t??{});return Sd({name:e,config:r,...O(n)?{handle:n}:{}})},tm=e=>{let t=[],n=/* @__PURE__ */ new Map,r=(e,r)=>{t.push(r);let i=n.get(e);i?i.push(r):n.set(e,[r])};for(let t of e)if($p(t))r(void 0,t);else for(let e of t.commands)r(t.group,e);let i=[],a=n.get(void 0);a&&a.length>0&&i.push({group:void 0,commands:a});for(let[e,t]of n)e!==void 0&&i.push({group:e,commands:t});return{flat:t,groups:i}},nm=/*#__PURE__*/ A(2,(e,t)=>{let n=tm(t);Od(e,n.flat);let r=Q(e),i=new Map(n.flat.map(e=>[e.name,Q(e)])),a=Symbol(`effect/cli/SubcommandState`),o=k(function*(e){if(se(e.subcommand))return yield*r.parse(e);let t=i.get(e.subcommand.value.name);if(!t)return yield*r.parse(e);let n=yield*r.parseContext(e),o=yield*t.parse(e.subcommand.value.parsedInput);return{...n,[a]:{name:t.name,result:o}}}),s=k(function*(e,t){let n=e[a];if(n){let a=i.get(n.name);return a?yield*a.handle(n.result,[...t,a.name]).pipe(Ue(r.service,e)):yield*new Ls({commandPath:t,errors:[]})}return yield*r.handle(e,t)});return Sd({name:r.name,config:r.config,contextConfig:r.contextConfig,description:r.description,shortDescription:r.shortDescription,alias:r.alias,unlisted:r.unlisted,annotations:r.annotations,globalFlags:r.globalFlags,resolveExamples:r.resolveExamples,service:r.service,subcommands:n.groups,parse:o,parseContext:r.parseContext,handle:s})}),rm=/*#__PURE__*/ A(2,(e,t)=>Sd({...Q(e),description:t})),im=(e,t,n,r)=>{let i=new Set(t),a=[],o=/* @__PURE__ */ new Set;for(let t of e){if(i.has(t))continue;let e=Y(t.flag);for(let t of e){let e=n[t.name];if(!e||e.length===0)continue;let i=`--${t.name}`;o.has(i)||(o.add(i),a.push(new Ds({option:i,suggestions:[],command:r})))}}return a},am=(e,t,n)=>Xt(function*(){let{builtIns:r}=yield*Zf,i=yield*nd,{commandPath:a,errors:o}=t,s=yield*Vf(e,a,r);yield*i.present(n&&o.length>0?{_tag:`InvalidInvocation`,commandPath:a,helpDoc:s,errors:o}:{_tag:`Help`,reason:`Implicit`,commandPath:a,helpDoc:s})}),om=(e,t)=>Xt(function*(){let n=yield*$f,r=e instanceof Fs?e:new Fs({cause:e,userMessage:t});yield*$u(n.formatError(r)),Object.assign(e,{[Cr]:!1})}),sm=/*#__PURE__*/ A(2,(e,t)=>ps.use(({args:n})=>P(n,n=>cm(e,t)(n)))),cm=(e,t)=>{let n=Q(e);return k(function*(r){let{builtIns:i}=yield*Zf,{tokens:a,trailingOperands:o}=ep(r),s=Bf(e,i),c=s.flatMap(e=>Y(e.flag)),l=lp(c.filter(Tu)),{flagMap:u,remainder:d,errors:f}=Dp(a,e,l),m={flags:u,arguments:[]},h=yield*op({tokens:d,trailingOperands:o},e),g=[e.name,...ap(h)],ee=p(e=>e._tag===`ShowHelp`?e:new Ls({commandPath:g,errors:[e]})),te={builtIns:i,command:e,commandPath:g,version:t.version},ne=Lf(e,g,i),re=im(s,ne,u,g);if(re.length>0||f.length>0){let e=h.errors??[];return yield*new Ls({commandPath:g,errors:[...f,...re,...e]})}for(let n of ne){if(n._tag!==`Action`||!Y(n.flag).some(e=>{let t=u[e.name];return t!==void 0&&t.length>0}))continue;let[,i]=yield*n.flag.parse(m).pipe(ee);if(n===qf){let{colors:n}=yield*dc;return yield*Xt(function*(){yield*Z(qp(e.name,t.version,e.description,n));let i=[e.name,...r.filter(e=>e!==`--wizard`&&!e.startsWith(`--wizard=`))],a=yield*Fp(e,{commandPath:g,prefix:i});yield*Z(Jp(a.displayArgs,n)),(yield*K(Dc({message:`Run this command?`,initial:!0,active:`yes`,inactive:`no`})))&&(yield*Z(),yield*cm(e,{...t,renderErrors:!1})(a.args.slice(1)))}).pipe(Vn(`QuitError`,()=>Z(Yp(n))))}yield*n.run(i,te);return}if(h.errors&&h.errors.length>0)return yield*new Ls({commandPath:g,errors:h.errors});let _=yield*n.parse(h).pipe(ee),v=n.handle(_,[e.name]),y=ne.includes(Yf)?(yield*Yf.flag.parse(m).pipe(ee))[1]:F();v=Ue(v,Yf,y);for(let e of ne){if(e._tag!==`Setting`||e===Yf)continue;let[,t]=yield*e.flag.parse(m).pipe(ee);v=Ue(v,e,t)}let ie=Xe(y,{onNone:()=>Yn(),onSome:e=>Re(Zn,e)});yield*Pe(v,ie)},Ye(e=>ws(e)&&e._tag===`ShowHelp`?rr(e):Yt(e),n=>Ce(am(e,n,t.renderErrors!==!1),D(n))),Ye(e=>{if(t.renderErrors===!1||!xn(e))return Yt(e);let n=Es(e);return n===void 0?Yt(e):rr({error:e,userMessage:n})},({error:e,userMessage:t})=>Ce(om(e,t),D(e))),Ye(e=>vs(e)?rr(e):Yt(e),e=>ir))},lm=e=>Ef(e).pipe(Mf,Pf(He)),um=e=>Df(e).pipe(Mf,Pf(He)),dm={entry:qu(`entry`).pipe(Yu(`Path to the input file`),Ju,Xu(He)),input:lm(`input`).pipe(Af(`Path to the input file`),kf(`i`)),minify:um(`minify`).pipe(Af(`Minify output`))},fm=e=>cn(e),pm=em(`build`,{...dm,watch:um(`watch`).pipe(Af(`Watch file changes`)),obfuscate:um(`obfuscate`).pipe(Af(`Obfuscate output`))},e=>fm(()=>import(`./build-DCQwUMvy.mjs`).then(({runBuildCommand:t})=>t(e))).pipe(Ce(e.watch?y:N))).pipe(rm(`Bundle and pack an extension for distribution`)),mm=em(`manifest`,{entry:dm.entry,input:dm.input},e=>fm(()=>import(`./build-DCQwUMvy.mjs`).then(({runManifestCommand:t})=>t(e)))).pipe(rm(`Generate manifest.json from a v3 extension's code, keeping the manifest's other fields`)),hm=em(`dev`,dm,e=>fm(()=>import(`./dev-B1s-JSOP.mjs`).then(({runDevCommand:t})=>t(e))).pipe(Ce(y))).pipe(rm(`Watch and rebuild an extension during development`));sm(em(`azot`).pipe(rm(`Azot extension development tools`),nm([pm,mm,hm])),{version:`v${Fn}`}).pipe(je(zn()),je(Cs),Tr);export{};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as e,l as t,o as n,p as r,r as i,t as a}from"./semver-DTl_T-To.mjs";import{C as o,H as s,S as c,T as l,k as u,r as d,w as f}from"./logger-lBDkJcWf.mjs";import{existsSync as p,readFileSync as m,readdirSync as h,statSync as g,writeFileSync as _}from"node:fs";import{tmpdir as v}from"node:os";import y from"node:path";import{appendFile as b,mkdtemp as x,rm as S,writeFile as C}from"node:fs/promises";const w={target:`node`,compact:!0,identifierNamesGenerator:`mangled`,renameGlobals:!0,simplify:!0,controlFlowFlattening:!1,deadCodeInjection:!1,debugProtection:!1,numbersToExpressions:!1,selfDefending:!1,splitStrings:!1,stringArray:!0,stringArrayCallsTransform:!1,stringArrayEncoding:[],stringArrayIndexShift:!0,stringArrayRotate:!0,stringArrayShuffle:!0,stringArrayWrappersCount:1,stringArrayWrappersChainedCalls:!0,stringArrayWrappersType:`variable`,stringArrayThreshold:.1,transformObjectKeys:!1,unicodeEscapeSequence:!1},T=e=>{let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(r===0?0:2)} ${t[r]}`},E=async(e,t)=>{let n=m(e,`utf8`),{default:i}=await import(`./dist-B-gaauOg.mjs`).then(e=>/* @__PURE__ */ r(e.default,1));console.log(`Obfuscating ${e}...`),console.time(`Obfuscation finished`);let a=i.obfuscate(n,w);console.timeEnd(`Obfuscation finished`);let o=a.getObfuscatedCode(),s=Buffer.byteLength(n,`utf8`),c=Buffer.byteLength(o,`utf8`),l=s===0?0:c/s;return console.log(`Size changed from ${T(s)} to ${T(c)}, ${l.toFixed(2)}x increase`),_(t||e,o),o},D=/* @__PURE__ */ new Set([`.ts`,`.js`,`.cjs`,`.mjs`]),ee=/* @__PURE__ */ new Set([`index`,`main`]),te=e=>/\.config\.[cm]?[jt]s$/u.test(e),ne=e=>{if(!p(e))return[];try{return g(e).isDirectory()?h(e).filter(e=>!e.endsWith(`.d.ts`)&&!te(e)).filter(e=>D.has(y.extname(e))).map(t=>y.join(e,t)):[]}catch{return[]}},O=(e=process.cwd())=>{let t=[e,y.join(e,`src`),y.join(e,`lib`)].flatMap(e=>ne(e)),n=e=>y.basename(e,y.extname(e));return t.find(e=>ee.has(n(e)))??t[0]},k=(e,t=y.join(process.cwd(),`dist`))=>y.join(t,`${y.parse(e).name}.cjs`),A=e=>{let t=y.relative(process.cwd(),e);if(!t||t.startsWith(`..`))throw Error(`Entry file must be inside the current working directory: ${e}`);return`./${t.split(y.sep).join(`/`)}`},j=e=>{let t=e.input||e.entry||O();if(!t)throw Error(`No entry file found`);return y.resolve(t)},M=e=>[`azot`,`azot/v2`,...e];l(f({name:s(o),version:s(o),description:s(o),main:s(o),dir:s(o),config:s(c(o,u)),engines:s(l(f({azot:s(o)}),[c(o,u)]))}),[c(o,u)]);const N=e=>{let{peerDependencies:n,peerDependenciesMeta:r}=e;return t(n)?Object.fromEntries(Object.entries(n).flatMap(([e,n])=>{if(e===`azot`||typeof n!=`string`||!n.trim())return[];let i=t(r)?r[e]:void 0,a=t(i)&&i.optional===!0;return[[e,a?{version:n,optional:a}:{version:n}]]})):{}},P=e=>/* @__PURE__ */ Error(`Service ${e}.then is reserved because handles are not promises`),F=async(e,t,n)=>{let r=await import(`typescript`),i=r.createProgram([e],I(r,t)),a=i.getSourceFile(e);if(!a)throw Error(`Cannot read service declarations: ${e}`);let o={ts:r,checker:i.getTypeChecker(),source:a},s=L(o,e),c=new Set(o.checker.getSymbolsInScope(a,r.SymbolFlags.Type|r.SymbolFlags.Value|r.SymbolFlags.Alias).map(e=>e.getName())),l=n.map((e,t)=>{let n=`__AzotService${t}`;for(;c.has(n);)n+=`Client`;c.add(n);let r=R(o,e,n,s(e));return{module:e,typeName:n,declaration:r}}),u=l.map(({declaration:e})=>e),d=a.statements.find(r.isExportAssignment),f=u;if(d?.isExportEquals){if(!r.isIdentifier(d.expression))throw Error(`Cannot augment the service export in ${e}`);f=[r.factory.createModuleDeclaration([r.factory.createModifier(r.SyntaxKind.DeclareKeyword)],r.factory.createIdentifier(d.expression.text),r.factory.createModuleBlock(u),r.NodeFlags.Namespace)]}let p=r.createPrinter({newLine:r.NewLineKind.LineFeed}),m=f.map(e=>p.printNode(r.EmitHint.Unspecified,e,a));return await b(e,`\n${m.join(`
|
|
2
|
+
`)}\n`),l.map(({module:e,typeName:t})=>({module:e,typeName:t}))},I=(e,t)=>{let n={target:e.ScriptTarget.ESNext,module:e.ModuleKind.NodeNext,moduleResolution:e.ModuleResolutionKind.NodeNext},r=e.findConfigFile(t,e.sys.fileExists);if(!r)return{...n,noEmit:!0};let i=e.readConfigFile(r,e.sys.readFile);if(i.error)throw Error(e.flattenDiagnosticMessageText(i.error.messageText,`
|
|
3
|
+
`));let a=e.parseJsonConfigFileContent(i.config,e.sys,y.dirname(r));return{...n,...a.options,noEmit:!0}},L=({ts:e,checker:t,source:n},r)=>{let i=t.getSymbolAtLocation(n);if(!i)throw Error(`Cannot read service module exports: ${r}`);let a=t.getTypeOfSymbolAtLocation(i,n),o=n.statements.find(e.isExportAssignment),s=a.getProperty(`default`),c=o?t.getTypeAtLocation(o.expression):s?t.getTypeOfSymbolAtLocation(s,n):a,l=c.getProperty(`kind`),u=l&&t.getTypeOfSymbolAtLocation(l,n);return u?.isStringLiteral()&&u.value===`service`?()=>c:e=>{let r=c.getProperty(e);return r&&t.getTypeOfSymbolAtLocation(r,n)}},R=(e,t,n,r)=>{let{ts:i,checker:a,source:o}=e,s=r?.getProperty(`create`),c=(s&&a.getTypeOfSymbolAtLocation(s,o))?.getCallSignatures().at(-1);if(!c)throw Error(`Cannot read the ${t} service factory type`);let l=a.getReturnTypeOfSignature(c);V(e,t,l);let u=a.getAwaitedType(l)??l,d=u.getProperties().flatMap(r=>{let s=r.getName();if(s.startsWith(`__@`)||H(i,r))return[];let c=a.getTypeOfSymbolAtLocation(r,o),l=a.getNonNullableType(c),d=l.getCallSignatures();if(!d.length)return[];if(s===`then`)throw P(t);if(r.flags&i.SymbolFlags.Optional||c!==l)throw Error(`Service ${t}.${s} must be a required method`);return d.map(i=>z(e,{module:t,name:s,typeName:n,instance:u,property:r},i))});return i.factory.createInterfaceDeclaration([i.factory.createModifier(i.SyntaxKind.ExportKeyword)],n,void 0,void 0,d)},z=(e,{module:t,name:n,typeName:r,instance:i,property:a},o)=>{let{ts:s,checker:c,source:l}=e,u=c.signatureToSignatureDeclaration(o,s.SyntaxKind.MethodSignature,l,s.NodeBuilderFlags.NoTruncation|s.NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope);if(!u||!s.isMethodSignature(u)||!u.type)throw Error(`Cannot emit the ${t}.${n} service method`);let d=c.getReturnTypeOfSignature(o),f=c.getAwaitedType(d)??d,p=c.typeToTypeNode(f,l,s.NodeBuilderFlags.NoTruncation),m=f===i||p&&s.isThisTypeNode(p)?s.factory.createImportTypeNode(s.factory.createLiteralTypeNode(s.factory.createStringLiteral(`azot`)),void 0,s.factory.createIdentifier(`ServiceInstance`),[s.factory.createTypeReferenceNode(r)]):s.factory.createTypeReferenceNode(`Awaited`,[u.type]),h=s.factory.updateMethodSignature(u,void 0,s.factory.createStringLiteral(n),void 0,u.typeParameters,u.parameters,s.factory.createTypeReferenceNode(`Promise`,[m]));return B(e,h,a)},B=({ts:e,checker:t},n,r)=>{let i=e.displayPartsToString(r.getDocumentationComment(t)).trim();if(!i)return n;let a=i.split(`
|
|
4
|
+
`).map(e=>` *${e?` ${e}`:``}`).join(`
|
|
5
|
+
`);return e.addSyntheticLeadingComment(n,e.SyntaxKind.MultiLineCommentTrivia,`*\n${a}\n `,!0)},V=({ts:e,checker:t,source:n},r,i)=>{let a=t.resolveName(`Promise`,n,e.SymbolFlags.Type,!1),o=a&&t.getDeclaredTypeOfSymbol(a).getProperty(`then`);for(let e of i.isUnion()?i.types:[i]){let i=e.getProperty(`then`);if(!i)continue;let a=t.getNonNullableType(t.getTypeOfSymbolAtLocation(i,n)).getCallSignatures().length>0,s=i.declarations?.every(e=>o?.declarations?.includes(e));if(a&&!s)throw P(r)}},H=(e,t)=>t.declarations?.some(t=>e.canHaveModifiers(t)&&e.getModifiers(t)?.some(({kind:t})=>t===e.SyntaxKind.PrivateKeyword||t===e.SyntaxKind.ProtectedKeyword)||(e.isMethodDeclaration(t)||e.isPropertyDeclaration(t))&&e.isPrivateIdentifier(t.name))??!1,U=e=>{let n=JSON.parse(m(y.join(e,`package.json`),`utf8`));if(!t(n))throw TypeError(`package.json must contain an object`);return n},W=(e,t)=>{for(let n=y.resolve(e);;n=y.dirname(n)){let e=y.join(n,`node_modules`,t);if(p(y.join(e,`package.json`)))return e;if(y.dirname(n)===n)return}},G=e=>{let n=y.join(e,`manifest.json`);if(!p(n))return!1;let r=JSON.parse(m(n,`utf8`));return t(r)&&r.apiVersion===3},K=e=>{let t=Object.entries(N(U(e))),n=t.flatMap(([t,{version:n}])=>{if(!a(n))return[`${t}: ${n} is not a semver range, such as ^1.2.0`];let r=W(e,t);return r&&!G(r)?[`${t} is not an Azot extension; bundle libraries through dependencies`]:[]});if(n.length)throw Error([`peerDependencies of an extension name the extensions it builds on:`,...n.map(e=>`- ${e}`),`Install a tarball or Git release through devDependencies and keep its range here.`].join(`
|
|
6
|
+
`));return t.map(([e])=>e)},q=e=>{let t=e.replace(/\.cjs$/u,``);return{declaration:`${t}.d.cts`,types:`${t}.client.d.cts`}},J=async({packageDir:e,outputPath:t,manifest:n,sourceEntry:r,dependencies:i=[]})=>{let a=q(t),o=Object.entries(n.modules).filter(([,e])=>e.kind===`service`).map(([e])=>e);if(!o.length){p(a.types)&&(await S(a.types,{force:!0}),await S(a.declaration,{force:!0}));return}Y(e,a);let{build:s}=await import(`./dist-XQKMzfnq.mjs`),{bundles:c}=await s({cwd:e,config:!1,entry:r,outDir:y.dirname(t),format:`cjs`,platform:`node`,target:`node24`,clean:!1,write:!1,dts:{emitDtsOnly:!0,compilerOptions:{allowJs:!0}},deps:{neverBundle:M(i)}});for(let{chunks:e}of c)for(let t of e)/\.d\.[cm]?ts(?:\.map)?$/u.test(t.fileName)&&await C(y.join(t.outDir,t.fileName),t.type===`asset`?t.source:t.code);if(!p(a.declaration))throw Error(`Could not emit service declarations for ${r}: ${a.declaration}`);let l=await F(a.declaration,e,o),u=JSON.stringify,d=u(`./${y.basename(t)}`);await C(a.types,[`import type { ServiceConstructor } from "azot";`,...l.flatMap(({module:e,typeName:t},n)=>[`declare const Service${n}: ServiceConstructor<import(${d}).${t}>;`,`export { Service${n} as ${u(e)} };`]),``].join(`
|
|
7
|
+
`))},Y=(e,t)=>{let n=U(e),r=t=>`./${y.relative(e,t).split(y.sep).join(`/`)}`,a=r(t.types),o=[],s=X(n);(typeof s!=`string`||y.resolve(e,s)!==t.types)&&o.push(n.exports===void 0?`set "types": "${a}"`:`set the "types" condition of the root export in "exports" to "${a}"`);let{files:c}=n;if(Array.isArray(c)&&c.every(e=>typeof e==`string`&&!/[*?[\]{}!]/u.test(e))){let n=[t.declaration,t.types].filter(t=>!c.some(n=>i(y.resolve(e,n),t)));n.length&&o.push(`add ${n.map(e=>`"${r(e)}"`).join(`, `)} to "files"`)}if(o.length)throw Error(`package.json does not publish this extension's services:\n${o.map(e=>`- ${e}`).join(`
|
|
8
|
+
`)}`)},X=e=>{let{exports:n}=e;if(n===void 0)return e.types??e.typings;let r=t(n)&&`.`in n?n[`.`]:n;return t(r)?r.types:void 0},Z=e=>{let t=y.resolve(e);for(;;){let e=y.join(t,`package.json`);if(p(e))return e;let n=y.dirname(t);if(n===t)return;t=n}},Q=e=>{let t=Z(e);if(!t){let t=`Could not find package.json starting from ${e}`;throw d.error(t),Error(t)}try{let e=JSON.parse(m(t,`utf8`));if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`package.json must contain a JSON object`);let n=e;if(n.private!==void 0&&typeof n.private!=`boolean`)throw Error(`package.json field "private" must be a boolean when present`);return{private:n.private,...typeof n.name==`string`&&{name:n.name},dir:y.dirname(t)}}catch(e){let r=`Failed to load package.json for build command from ${t}`;throw d.error(r),d.debug(n(e)),Error(r,{cause:e})}},re=async t=>{let n=j(t),r=typeof t.minify!=`boolean`||t.minify,i=t.watch===!0,a=k(n),o=Q(process.cwd()),s=K(o.dir),c=typeof t.obfuscate==`boolean`?t.obfuscate:o.private,l=async()=>{c&&await E(a,a),await $(a,o,{dependencyExtensions:s,sourceEntry:n})},{build:u}=await import(`./dist-XQKMzfnq.mjs`);await u({entry:A(n),format:`cjs`,platform:`node`,target:`node24`,watch:i,minify:r,dts:!1,deps:{neverBundle:M(s),onlyBundle:!1},...i&&{onSuccess:async()=>{try{await l()}catch(t){d.error(`Could not finish the build: ${e(t)}`)}}}}),i||await l()},$=async(e,t,{convert:n=!1,dependencyExtensions:r=[],sourceEntry:i}={})=>{let{isRecord:a}=await import(`./semver-DTl_T-To.mjs`).then(e=>e.c),o=t.name??y.basename(t.dir),s=y.join(t.dir,`manifest.json`);if(!n&&p(s)){let e=JSON.parse(m(s,`utf8`));if(!a(e)||e.apiVersion!==3)return!1}let{packExtension:c,writePackedManifest:l}=await import(`./pack-DvPW97oc.mjs`),{ExtensionDefinitionError:u}=await import(`./definition-bjfGeDC-.mjs`).then(e=>e.n);try{let n=await c({entryPath:e,packageName:o,dependencies:r}),{dropped:a}=await l(t.dir,n);return i&&await J({packageDir:t.dir,outputPath:e,manifest:n,sourceEntry:i,dependencies:r}),d.info(`Packed ${Object.keys(n.modules).length} module(s) into ${s}`),a.length&&d.info(`Removed v2 manifest fields: ${a.join(`, `)}`),!0}catch(e){if(!n&&e instanceof u&&e.problems[0]?.startsWith(`the entry must`))return!1;throw e}},ie=async e=>{let t=j(e),n=Q(process.cwd()),r=K(n.dir),{build:i}=await import(`./dist-XQKMzfnq.mjs`),a=await x(y.join(v(),`azot-manifest-`));try{await i({entry:A(t),format:`cjs`,platform:`node`,target:`node24`,outDir:a,minify:!1,logLevel:`warn`,dts:!1,deps:{neverBundle:M(r)}}),await $(k(t,a),n,{convert:!0,dependencyExtensions:r})}finally{await S(a,{recursive:!0,force:!0})}};export{re as runBuildCommand,ie as runManifestCommand};
|