@poe-platform/safe-bash 0.1.630 → 0.1.632
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 +1 -0
- package/dist/office-package/compression.d.ts +19 -0
- package/dist/office-package/compression.js +186 -0
- package/dist/office-package/runtime.d.ts +11 -0
- package/dist/office-package/runtime.js +28 -0
- package/dist/safe-bash/chunks/{bz2-B2RXT4EX.js → bz2-ACU4EOVE.js} +2 -2
- package/dist/safe-bash/chunks/chunk-2E4KBFO6.js +239 -0
- package/dist/safe-bash/chunks/chunk-2E4KBFO6.js.map +7 -0
- package/dist/safe-bash/chunks/chunk-3E5M2WEL.js +33 -0
- package/dist/safe-bash/chunks/chunk-3E5M2WEL.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-KQ6J7JHQ.js → chunk-3LD67SER.js} +12 -10
- package/dist/safe-bash/chunks/{chunk-KQ6J7JHQ.js.map → chunk-3LD67SER.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-6LSSEOG7.js → chunk-6HNK7Q66.js} +11 -7
- package/dist/safe-bash/chunks/{chunk-6LSSEOG7.js.map → chunk-6HNK7Q66.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-AD7UAP5B.js → chunk-7EEWZY5S.js} +10 -8
- package/dist/safe-bash/chunks/{chunk-AD7UAP5B.js.map → chunk-7EEWZY5S.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-RNKTWFEM.js → chunk-CDBQXRWL.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-UYX72YHY.js → chunk-CHHAB5SS.js} +10 -74
- package/dist/safe-bash/chunks/{chunk-UYX72YHY.js.map → chunk-CHHAB5SS.js.map} +3 -3
- package/dist/safe-bash/chunks/{chunk-6YSBXTTJ.js → chunk-EI4X5ETX.js} +12 -10
- package/dist/safe-bash/chunks/{chunk-6YSBXTTJ.js.map → chunk-EI4X5ETX.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-KZ7QCYNT.js → chunk-GIBLUW2U.js} +13 -9
- package/dist/safe-bash/chunks/{chunk-KZ7QCYNT.js.map → chunk-GIBLUW2U.js.map} +1 -1
- package/dist/safe-bash/chunks/chunk-GPV7ZFYS.js +1528 -0
- package/dist/safe-bash/chunks/chunk-GPV7ZFYS.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-N5CYTGBN.js → chunk-H3E67KTZ.js} +13 -9
- package/dist/safe-bash/chunks/{chunk-N5CYTGBN.js.map → chunk-H3E67KTZ.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-AFH57PPL.js → chunk-IEKESMO4.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-DPJWEGIX.js → chunk-JLBIUYT3.js} +2 -2
- package/dist/safe-bash/chunks/chunk-JZDO5MC3.js +77 -0
- package/dist/safe-bash/chunks/chunk-JZDO5MC3.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-GFZKQIPL.js → chunk-LA6BX562.js} +8 -6
- package/dist/safe-bash/chunks/{chunk-GFZKQIPL.js.map → chunk-LA6BX562.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-PVJJFCGA.js → chunk-M3GPCYSP.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-FWDMJTQO.js → chunk-NDCZ3UBP.js} +13 -9
- package/dist/safe-bash/chunks/{chunk-FWDMJTQO.js.map → chunk-NDCZ3UBP.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-2KL6W6NB.js → chunk-O2EVBRKF.js} +1 -2
- package/dist/safe-bash/chunks/chunk-OFT77XIB.js +389 -0
- package/dist/safe-bash/chunks/chunk-OFT77XIB.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-PCLOK32J.js → chunk-PC6BEIAF.js} +13 -9
- package/dist/safe-bash/chunks/{chunk-PCLOK32J.js.map → chunk-PC6BEIAF.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-3M5F7LD5.js → chunk-QWKP7ZU7.js} +13 -9
- package/dist/safe-bash/chunks/{chunk-3M5F7LD5.js.map → chunk-QWKP7ZU7.js.map} +1 -1
- package/dist/safe-bash/chunks/chunk-THXJ6CLF.js +53 -0
- package/dist/safe-bash/chunks/chunk-THXJ6CLF.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-K7W6Q6FN.js → chunk-V73A742N.js} +58 -16
- package/dist/safe-bash/chunks/chunk-V73A742N.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-4BYUV5PA.js → chunk-VN3ZGME3.js} +12 -8
- package/dist/safe-bash/chunks/{chunk-4BYUV5PA.js.map → chunk-VN3ZGME3.js.map} +1 -1
- package/dist/safe-bash/chunks/{chunk-3BZ5NQ73.js → chunk-WECHUK3Y.js} +369 -36
- package/dist/safe-bash/chunks/chunk-WECHUK3Y.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-X55AMTNM.js → chunk-WIOEUR7D.js} +14 -10
- package/dist/safe-bash/chunks/{chunk-X55AMTNM.js.map → chunk-WIOEUR7D.js.map} +1 -1
- package/dist/safe-bash/chunks/chunk-WPIOO4NX.js +443 -0
- package/dist/safe-bash/chunks/chunk-WPIOO4NX.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-C7QNJ3D4.js → chunk-WYTI64IU.js} +2 -2
- package/dist/safe-bash/chunks/{xz-AVXFDXW4.js → xz-U4QDTPZL.js} +2 -2
- package/dist/safe-bash/chunks/{zstd-R6RPHJYO.js → zstd-OG5RPYXO.js} +2 -2
- package/dist/safe-bash/commands/archive/zip/crc.d.ts +2 -0
- package/dist/safe-bash/commands/archive/zip/crc.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/crc.js +7 -0
- package/dist/safe-bash/commands/archive/zip/crc.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/crypto.d.ts +4 -0
- package/dist/safe-bash/commands/archive/zip/crypto.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/crypto.js +34 -0
- package/dist/safe-bash/commands/archive/zip/crypto.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/help.d.ts +3 -0
- package/dist/safe-bash/commands/archive/zip/help.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/help.js +87 -0
- package/dist/safe-bash/commands/archive/zip/help.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/move.d.ts +12 -0
- package/dist/safe-bash/commands/archive/zip/move.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/move.js +60 -0
- package/dist/safe-bash/commands/archive/zip/move.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/options.js +5 -5
- package/dist/safe-bash/commands/archive/zip/options.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip-format.d.ts +1 -1
- package/dist/safe-bash/commands/archive/zip-format.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip-format.js +14 -17
- package/dist/safe-bash/commands/archive/zip-format.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip.js +45 -15
- package/dist/safe-bash/commands/archive/zip.js.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts +2 -0
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.js +4 -0
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.js.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/codec.d.ts +4 -24
- package/dist/safe-bash/commands/bytes/compression/codec.d.ts.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/codec.js +12 -168
- package/dist/safe-bash/commands/bytes/compression/codec.js.map +1 -1
- package/dist/safe-bash/commands/cmp.js +1 -1
- package/dist/safe-bash/commands/cmp.js.map +1 -1
- package/dist/safe-bash/commands/csplit/index.browser.js +10 -7
- package/dist/safe-bash/commands/docx/index.browser.js +54 -0
- package/dist/safe-bash/commands/docx/index.browser.js.map +7 -0
- package/dist/safe-bash/commands/docx/index.d.ts +25 -0
- package/dist/safe-bash/commands/docx/index.d.ts.map +1 -0
- package/dist/safe-bash/commands/docx/index.js +42 -0
- package/dist/safe-bash/commands/docx/index.js.map +1 -0
- package/dist/safe-bash/commands/docx/io.d.ts +15 -0
- package/dist/safe-bash/commands/docx/io.d.ts.map +1 -0
- package/dist/safe-bash/commands/docx/io.js +16 -0
- package/dist/safe-bash/commands/docx/io.js.map +1 -0
- package/dist/safe-bash/commands/factor/index.browser.js +7 -5
- package/dist/safe-bash/commands/filesystem.d.ts.map +1 -1
- package/dist/safe-bash/commands/filesystem.js +9 -1
- package/dist/safe-bash/commands/filesystem.js.map +1 -1
- package/dist/safe-bash/commands/getopt/index.browser.js +7 -5
- package/dist/safe-bash/commands/hexdump/index.browser.js +8 -6
- package/dist/safe-bash/commands/iconv/index.browser.js +8 -6
- package/dist/safe-bash/commands/line-endings/index.browser.js +10 -7
- package/dist/safe-bash/commands/llm/index.browser.js +10 -8
- package/dist/safe-bash/commands/llm/providers/index.browser.js +3 -3
- package/dist/safe-bash/commands/network/index.browser.js +11 -8
- package/dist/safe-bash/commands/node/index.browser.js +8 -6
- package/dist/safe-bash/commands/op/index.browser.js +3 -3
- package/dist/safe-bash/commands/op/index.js +0 -1
- package/dist/safe-bash/commands/op/index.js.map +2 -2
- package/dist/safe-bash/commands/pptx/index.d.ts +29 -0
- package/dist/safe-bash/commands/pptx/index.d.ts.map +1 -0
- package/dist/safe-bash/commands/pptx/index.js +153 -0
- package/dist/safe-bash/commands/pptx/index.js.map +1 -0
- package/dist/safe-bash/commands/pr/index.browser.js +8 -6
- package/dist/safe-bash/commands/predicates.js +1 -1
- package/dist/safe-bash/commands/python/execution.d.ts +3 -0
- package/dist/safe-bash/commands/python/execution.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/execution.js +193 -0
- package/dist/safe-bash/commands/python/execution.js.map +1 -0
- package/dist/safe-bash/commands/python/index.browser.js +21 -0
- package/dist/safe-bash/commands/python/index.browser.js.map +7 -0
- package/dist/safe-bash/commands/python/index.d.ts +49 -0
- package/dist/safe-bash/commands/python/index.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/index.js +317 -0
- package/dist/safe-bash/commands/python/index.js.map +1 -0
- package/dist/safe-bash/commands/python/installation.d.ts +9 -0
- package/dist/safe-bash/commands/python/installation.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/installation.js +80 -0
- package/dist/safe-bash/commands/python/installation.js.map +1 -0
- package/dist/safe-bash/commands/python/invocation.d.ts +10 -0
- package/dist/safe-bash/commands/python/invocation.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/invocation.js +81 -0
- package/dist/safe-bash/commands/python/invocation.js.map +1 -0
- package/dist/safe-bash/commands/python/node.d.ts +12 -0
- package/dist/safe-bash/commands/python/node.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/node.js +33 -0
- package/dist/safe-bash/commands/python/node.js.map +1 -0
- package/dist/safe-bash/commands/python/provisioning-runtime.d.ts +5 -0
- package/dist/safe-bash/commands/python/provisioning-runtime.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/provisioning-runtime.js +179 -0
- package/dist/safe-bash/commands/python/provisioning-runtime.js.map +1 -0
- package/dist/safe-bash/commands/python/provisioning.d.ts +49 -0
- package/dist/safe-bash/commands/python/provisioning.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/provisioning.js +320 -0
- package/dist/safe-bash/commands/python/provisioning.js.map +1 -0
- package/dist/safe-bash/commands/python/reply.d.ts +3 -0
- package/dist/safe-bash/commands/python/reply.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/reply.js +103 -0
- package/dist/safe-bash/commands/python/reply.js.map +1 -0
- package/dist/safe-bash/commands/python/worker.browser.js +736 -0
- package/dist/safe-bash/commands/python/worker.browser.js.map +7 -0
- package/dist/safe-bash/commands/python/worker.d.ts +47 -0
- package/dist/safe-bash/commands/python/worker.d.ts.map +1 -0
- package/dist/safe-bash/commands/python/worker.js +373 -0
- package/dist/safe-bash/commands/python/worker.js.map +1 -0
- package/dist/safe-bash/commands/tsort/index.browser.js +8 -6
- package/dist/safe-bash/commands/xml/index.browser.js +9 -7
- package/dist/safe-bash/commands/yq/index.browser.js +10 -8
- package/dist/safe-bash/commands/yq/index.d.ts.map +1 -1
- package/dist/safe-bash/commands/yq/index.js +32 -4
- package/dist/safe-bash/commands/yq/index.js.map +1 -1
- package/dist/safe-bash/commands/yq/parser.d.ts.map +1 -1
- package/dist/safe-bash/commands/yq/parser.js +21 -5
- package/dist/safe-bash/commands/yq/parser.js.map +1 -1
- package/dist/safe-bash/contracts/command.d.ts +2 -0
- package/dist/safe-bash/contracts/command.d.ts.map +1 -1
- package/dist/safe-bash/contracts/command.js +6 -2
- package/dist/safe-bash/contracts/command.js.map +1 -1
- package/dist/safe-bash/contracts/filesystem-descriptor.d.ts +13 -0
- package/dist/safe-bash/contracts/filesystem-descriptor.d.ts.map +1 -0
- package/dist/safe-bash/contracts/filesystem-descriptor.js +189 -0
- package/dist/safe-bash/contracts/filesystem-descriptor.js.map +1 -0
- package/dist/safe-bash/contracts/filesystem-output-budget.d.ts +15 -0
- package/dist/safe-bash/contracts/filesystem-output-budget.d.ts.map +1 -0
- package/dist/safe-bash/contracts/filesystem-output-budget.js +69 -0
- package/dist/safe-bash/contracts/filesystem-output-budget.js.map +1 -0
- package/dist/safe-bash/contracts/filesystem-output.d.ts +11 -5
- package/dist/safe-bash/contracts/filesystem-output.d.ts.map +1 -1
- package/dist/safe-bash/contracts/filesystem-output.js +229 -20
- package/dist/safe-bash/contracts/filesystem-output.js.map +1 -1
- package/dist/safe-bash/contracts/io.d.ts +29 -0
- package/dist/safe-bash/contracts/io.d.ts.map +1 -1
- package/dist/safe-bash/contracts/io.js +317 -37
- package/dist/safe-bash/contracts/io.js.map +1 -1
- package/dist/safe-bash/core.browser.js +5502 -2210
- package/dist/safe-bash/core.browser.js.map +4 -4
- package/dist/safe-bash/core.d.ts +1 -0
- package/dist/safe-bash/core.d.ts.map +1 -1
- package/dist/safe-bash/core.js +1 -0
- package/dist/safe-bash/core.js.map +1 -1
- package/dist/safe-bash/opt-in/commands/cmp/compare.js +95 -0
- package/dist/safe-bash/opt-in/commands/cmp/index.d.ts +6 -0
- package/dist/safe-bash/opt-in/commands/cmp/index.js +99 -0
- package/dist/safe-bash/opt-in/commands/cmp/io.js +218 -0
- package/dist/safe-bash/opt-in/commands/cmp/options.d.ts +24 -0
- package/dist/safe-bash/opt-in/commands/cmp/options.js +195 -0
- package/dist/safe-bash/opt-in/commands/dd/conversions.js +152 -0
- package/dist/safe-bash/opt-in/commands/dd/index.d.ts +18 -0
- package/dist/safe-bash/opt-in/commands/dd/index.js +561 -0
- package/dist/safe-bash/opt-in/commands/dd/io.d.ts +31 -0
- package/dist/safe-bash/opt-in/commands/dd/io.js +244 -0
- package/dist/safe-bash/opt-in/commands/dd/options.js +184 -0
- package/dist/safe-bash/opt-in/commands/dd/report.js +69 -0
- package/dist/safe-bash/opt-in/commands/install/arguments.js +224 -0
- package/dist/safe-bash/opt-in/commands/install/index.d.ts +6 -0
- package/dist/safe-bash/opt-in/commands/install/index.js +678 -0
- package/dist/safe-bash/opt-in/commands/install/mode.js +71 -0
- package/dist/safe-bash/opt-in/commands/install/options.d.ts +36 -0
- package/dist/safe-bash/opt-in/commands/install/options.js +27 -0
- package/dist/safe-bash/opt-in/commands/shuf/args.js +179 -0
- package/dist/safe-bash/opt-in/commands/shuf/index.d.ts +6 -0
- package/dist/safe-bash/opt-in/commands/shuf/index.js +20 -0
- package/dist/safe-bash/opt-in/commands/shuf/input.js +93 -0
- package/dist/safe-bash/opt-in/commands/shuf/options.d.ts +9 -0
- package/dist/safe-bash/opt-in/commands/shuf/options.js +8 -0
- package/dist/safe-bash/opt-in/commands/shuf/random.js +114 -0
- package/dist/safe-bash/opt-in/commands/shuf/shuf.d.ts +3 -0
- package/dist/safe-bash/opt-in/commands/shuf/shuf.js +230 -0
- package/dist/safe-bash/opt-in/commands/shuf/usage.js +24 -0
- package/dist/safe-bash/opt-in/commands/truncate/arguments.js +186 -0
- package/dist/safe-bash/opt-in/commands/truncate/index.d.ts +9 -0
- package/dist/safe-bash/opt-in/commands/truncate/index.js +244 -0
- package/dist/safe-bash/opt-in/commands/yes/index.d.ts +11 -0
- package/dist/safe-bash/opt-in/commands/yes/index.js +167 -0
- package/dist/safe-bash/opt-in/commands/yq/arguments.js +177 -0
- package/dist/safe-bash/opt-in/commands/yq/evaluate.js +564 -0
- package/dist/safe-bash/opt-in/commands/yq/expression.js +183 -0
- package/dist/safe-bash/opt-in/commands/yq/inplace.js +65 -0
- package/dist/safe-bash/opt-in/commands/yq/mike.d.ts +9 -0
- package/dist/safe-bash/opt-in/commands/yq/mike.js +192 -0
- package/dist/safe-bash/opt-in/commands/yq/native-encoder.js +165 -0
- package/dist/safe-bash/opt-in/commands/yq/native-work.d.ts +44 -0
- package/dist/safe-bash/opt-in/commands/yq/native-work.js +188 -0
- package/dist/safe-bash/opt-in/commands/yq/nodes.js +621 -0
- package/dist/safe-bash/opt-in/entrypoints/arrays.d.ts +1 -0
- package/dist/safe-bash/opt-in/entrypoints/arrays.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/cmp.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/cmp.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/dd.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/dd.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/devices.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/devices.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/install.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/install.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/jobs.d.ts +1 -0
- package/dist/safe-bash/opt-in/entrypoints/jobs.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/mapfile.d.ts +1 -0
- package/dist/safe-bash/opt-in/entrypoints/mapfile.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/read.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/read.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/shuf.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/shuf.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/trap.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/trap.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/truncate.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/truncate.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/yes.d.ts +2 -0
- package/dist/safe-bash/opt-in/entrypoints/yes.js +1 -0
- package/dist/safe-bash/opt-in/entrypoints/yq.d.ts +3 -0
- package/dist/safe-bash/opt-in/entrypoints/yq.js +1 -0
- package/dist/safe-bash/opt-in/fs/devices/index.d.ts +8 -0
- package/dist/safe-bash/opt-in/fs/devices/index.js +292 -0
- package/dist/safe-bash/opt-in/optional.d.ts +28 -0
- package/dist/safe-bash/opt-in/optional.js +14 -0
- package/dist/safe-bash/opt-in/shell/extensions/arrays/index.d.ts +2 -0
- package/dist/safe-bash/opt-in/shell/extensions/arrays/index.js +4 -0
- package/dist/safe-bash/opt-in/shell/extensions/jobs/index.d.ts +2 -0
- package/dist/safe-bash/opt-in/shell/extensions/jobs/index.js +291 -0
- package/dist/safe-bash/opt-in/shell/extensions/jobs/state.js +374 -0
- package/dist/safe-bash/opt-in/shell/extensions/mapfile/index.d.ts +24 -0
- package/dist/safe-bash/opt-in/shell/extensions/mapfile/index.js +338 -0
- package/dist/safe-bash/opt-in/shell/extensions/read/index.d.ts +5 -0
- package/dist/safe-bash/opt-in/shell/extensions/read/index.js +351 -0
- package/dist/safe-bash/opt-in/shell/extensions/trap/index.d.ts +9 -0
- package/dist/safe-bash/opt-in/shell/extensions/trap/index.js +210 -0
- package/dist/safe-bash/optional-host.d.ts +5 -0
- package/dist/safe-bash/optional-host.d.ts.map +1 -0
- package/dist/safe-bash/optional-host.js +3 -0
- package/dist/safe-bash/optional-host.js.map +1 -0
- package/dist/safe-bash/shell/arrays/bindings.d.ts +15 -5
- package/dist/safe-bash/shell/arrays/bindings.d.ts.map +1 -1
- package/dist/safe-bash/shell/arrays/bindings.js +131 -23
- package/dist/safe-bash/shell/arrays/bindings.js.map +1 -1
- package/dist/safe-bash/shell/arrays/ledger.d.ts +1 -0
- package/dist/safe-bash/shell/arrays/ledger.d.ts.map +1 -1
- package/dist/safe-bash/shell/arrays/ledger.js +19 -0
- package/dist/safe-bash/shell/arrays/ledger.js.map +1 -1
- package/dist/safe-bash/shell/arrays/state.d.ts.map +1 -1
- package/dist/safe-bash/shell/arrays/state.js +3 -1
- package/dist/safe-bash/shell/arrays/state.js.map +1 -1
- package/dist/safe-bash/shell/arrays/syntax.d.ts +4 -1
- package/dist/safe-bash/shell/arrays/syntax.d.ts.map +1 -1
- package/dist/safe-bash/shell/arrays/syntax.js +3 -3
- package/dist/safe-bash/shell/arrays/syntax.js.map +1 -1
- package/dist/safe-bash/shell/conditional.js +1 -1
- package/dist/safe-bash/shell/descriptors.d.ts +31 -0
- package/dist/safe-bash/shell/descriptors.d.ts.map +1 -0
- package/dist/safe-bash/shell/descriptors.js +234 -0
- package/dist/safe-bash/shell/descriptors.js.map +1 -0
- package/dist/safe-bash/shell/diagnostic-name-ranges.d.ts +2 -0
- package/dist/safe-bash/shell/diagnostic-name-ranges.d.ts.map +1 -0
- package/dist/safe-bash/shell/diagnostic-name-ranges.js +717 -0
- package/dist/safe-bash/shell/diagnostic-name-ranges.js.map +1 -0
- package/dist/safe-bash/shell/diagnostic-name.d.ts +3 -0
- package/dist/safe-bash/shell/diagnostic-name.d.ts.map +1 -0
- package/dist/safe-bash/shell/diagnostic-name.js +89 -0
- package/dist/safe-bash/shell/diagnostic-name.js.map +1 -0
- package/dist/safe-bash/shell/display.js +1 -1
- package/dist/safe-bash/shell/display.js.map +1 -1
- package/dist/safe-bash/shell/extensions.d.ts +188 -0
- package/dist/safe-bash/shell/extensions.d.ts.map +1 -0
- package/dist/safe-bash/shell/extensions.js +141 -0
- package/dist/safe-bash/shell/extensions.js.map +1 -0
- package/dist/safe-bash/shell/input.d.ts +66 -14
- package/dist/safe-bash/shell/input.d.ts.map +1 -1
- package/dist/safe-bash/shell/input.js +947 -173
- package/dist/safe-bash/shell/input.js.map +1 -1
- package/dist/safe-bash/shell/parser.d.ts +38 -6
- package/dist/safe-bash/shell/parser.d.ts.map +1 -1
- package/dist/safe-bash/shell/parser.js +339 -52
- package/dist/safe-bash/shell/parser.js.map +1 -1
- package/dist/safe-bash/shell/runtime.d.ts +92 -20
- package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
- package/dist/safe-bash/shell/runtime.js +2547 -689
- package/dist/safe-bash/shell/runtime.js.map +1 -1
- package/dist/safe-bash/shell/shell.d.ts.map +1 -1
- package/dist/safe-bash/shell/shell.js +52 -21
- package/dist/safe-bash/shell/shell.js.map +1 -1
- package/dist/safe-bash/shell/types.d.ts +4 -0
- package/dist/safe-bash/shell/types.d.ts.map +1 -1
- package/dist/safe-bash/shell/types.js.map +1 -1
- package/package.json +92 -4
- package/dist/safe-bash/chunks/chunk-3BZ5NQ73.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-4DBWBEU7.js +0 -194
- package/dist/safe-bash/chunks/chunk-4DBWBEU7.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-CXMIIXJA.js +0 -178
- package/dist/safe-bash/chunks/chunk-CXMIIXJA.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-K7W6Q6FN.js.map +0 -7
- /package/dist/safe-bash/chunks/{bz2-B2RXT4EX.js.map → bz2-ACU4EOVE.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-RNKTWFEM.js.map → chunk-CDBQXRWL.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-AFH57PPL.js.map → chunk-IEKESMO4.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-DPJWEGIX.js.map → chunk-JLBIUYT3.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-PVJJFCGA.js.map → chunk-M3GPCYSP.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-2KL6W6NB.js.map → chunk-O2EVBRKF.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-C7QNJ3D4.js.map → chunk-WYTI64IU.js.map} +0 -0
- /package/dist/safe-bash/chunks/{xz-AVXFDXW4.js.map → xz-U4QDTPZL.js.map} +0 -0
- /package/dist/safe-bash/chunks/{zstd-R6RPHJYO.js.map → zstd-OG5RPYXO.js.map} +0 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/llm/index.ts", "../../src/commands/llm/command.ts"],
|
|
4
4
|
"sourcesContent": ["export { createLlmCommands, llmCommands } from \"./command.js\";\nexport type { LlmCommandsOptions, LlmProvider, LlmModel, LlmRequest } from \"./types.js\";\nexport { createOpenAiProvider, type OpenAiModel, type OpenAiProviderOptions } from \"./openai.js\";\nexport { createElevenLabsProvider, type ElevenLabsModel, type ElevenLabsProviderOptions } from \"./elevenlabs.js\";\nexport type { LlmProviderLimits } from \"./providers/shared.js\";\n", "import { createOutputOperation, getCommandArguments, FsError, type CommandContext, type CommandDefinition, type VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { inheritYieldCheckpoint, yieldTurn } from \"../../contracts/yield.js\";\nimport { writeDiagnostic } from \"../../escaping.js\";\nimport { pathOf } from \"../internal.js\";\nimport { acceptsMimeType, sniffMimeType } from \"./mime.js\";\nimport type { LlmCommandsOptions, LlmModel, LlmProvider, LlmRequest } from \"./types.js\";\n\nconst maxBytes = 64 * 1024 * 1024;\n\ninterface ModelEntry { provider: LlmProvider; model: LlmModel }\ninterface Arguments {\n model?: string;\n system?: string;\n prompt: string;\n options: Record<string, string>;\n attachments: { path: string; mimeType?: string }[];\n}\n\nasync function parse(length: number, text: (index: number) => string, step: () => Promise<void>): Promise<Arguments> {\n const parsed: Arguments = { prompt: \"\", options: Object.create(null) as Record<string, string>, attachments: [] };\n const operands: string[] = [];\n let ended = false;\n for (let index = 0; index < length; index++) {\n await step();\n const argument = text(index);\n if (ended || !argument.startsWith(\"-\") || argument === \"-\") { operands.push(argument); continue; }\n if (argument === \"--\") { ended = true; continue; }\n const equals = argument.indexOf(\"=\");\n const long = argument.startsWith(\"--\");\n const flag = long ? argument.slice(0, equals < 0 ? undefined : equals) : argument.slice(0, 2);\n const attached = long ? equals < 0 ? undefined : argument.slice(equals + 1) : argument.length > 2 ? argument.slice(2) : undefined;\n const take = (): string => {\n if (++index >= length) throw new Error(`Option ${flag} requires an argument`);\n return text(index);\n };\n if (![\"-m\", \"--model\", \"-s\", \"--system\", \"-o\", \"--option\", \"-a\", \"--attachment\", \"--at\"].includes(flag)) throw new Error(`Unknown option: ${flag}`);\n const value = attached ?? take();\n if (flag === \"-m\" || flag === \"--model\") parsed.model = value;\n else if (flag === \"-s\" || flag === \"--system\") parsed.system = value;\n else if (flag === \"-o\" || flag === \"--option\") parsed.options[value] = take();\n else if (flag === \"--at\") parsed.attachments.push({ path: value, mimeType: take() });\n else parsed.attachments.push({ path: value });\n }\n parsed.prompt = operands.join(\" \");\n return parsed;\n}\n\nfunction modelsFor(providers: readonly LlmProvider[]): { models: ModelEntry[]; lookup: Map<string, ModelEntry> } {\n const models: ModelEntry[] = [], lookup = new Map<string, ModelEntry>();\n for (const provider of providers) {\n if (!provider.name || typeof provider.complete !== \"function\") throw new TypeError(\"Providers require a name and complete function\");\n for (const declared of provider.models) {\n if (!declared.id) throw new TypeError(\"Models require a nonempty id\");\n const model: LlmModel = Object.freeze({ ...declared,\n ...(declared.aliases ? { aliases: Object.freeze([...declared.aliases]) } : {}),\n ...(declared.attachmentTypes ? { attachmentTypes: Object.freeze([...declared.attachmentTypes]) } : {}),\n });\n const entry = { provider, model };\n for (const name of new Set([model.id, `${provider.name}/${model.id}`, ...model.aliases ?? []])) {\n if (!name) throw new TypeError(\"Model aliases must not be empty\");\n if (lookup.has(name)) throw new Error(`Duplicate model id or alias: ${name}`);\n lookup.set(name, entry);\n }\n models.push(entry);\n }\n }\n return { models, lookup };\n}\n\nasync function interrupted<Value>(start: () => Value | PromiseLike<Value>, signal: AbortSignal): Promise<Value> {\n signal.throwIfAborted();\n return new Promise<Value>((resolve, reject) => {\n const aborted = (): void => reject(signal.reason);\n signal.addEventListener(\"abort\", aborted, { once: true });\n Promise.resolve().then(() => { signal.throwIfAborted(); return start(); }).then(\n value => { signal.removeEventListener(\"abort\", aborted); resolve(value); },\n error => { signal.removeEventListener(\"abort\", aborted); reject(error); },\n );\n });\n}\n\nasync function execute(context: CommandContext, lookup: ReadonlyMap<string, ModelEntry>, models: readonly ModelEntry[], defaultModel: string | undefined) {\n context.signal.throwIfAborted();\n const controller = new AbortController();\n const operation = createOutputOperation(context, context.stdout);\n const signal = AbortSignal.any([operation.signal, controller.signal]);\n inheritYieldCheckpoint(context.signal, signal);\n let iterator: AsyncIterator<string | Uint8Array> | undefined;\n let closed = false;\n let ended = false;\n operation.registerCleanup(() => {\n if (closed) return;\n closed = true;\n controller.abort(new Error(\"llm request closed\"));\n if (!ended && iterator) {\n const resource = iterator;\n void Promise.resolve().then(() => resource.return?.()).catch(() => {});\n }\n });\n let work = 0;\n const step = async (): Promise<void> => {\n signal.throwIfAborted();\n if (closed) throw new Error(\"LLM invocation is closed\");\n if (++work > 1_000_000) throw new Error(\"LLM work limit exceeded\");\n if (work % 256 === 0) await yieldTurn(signal);\n };\n let writing = false;\n const write = async (chunk: Uint8Array): Promise<void> => {\n writing = true;\n await operation.output.write(chunk);\n writing = false;\n };\n const emitText = async (text: string): Promise<void> => {\n for (let offset = 0; offset < text.length;) {\n await step();\n let end = Math.min(text.length, offset + 16_384);\n const last = text.charCodeAt(end - 1);\n if (end < text.length && last >= 0xd800 && last <= 0xdbff) end--;\n await write(new TextEncoder().encode(text.slice(offset, end)));\n offset = end;\n }\n };\n let inputBytes = 0;\n let argumentBytes = 0;\n const inputLimit = Math.min(maxBytes, context.inputBudget?.maxBytes ?? maxBytes);\n const checkInput = (size: number): void => {\n context.inputBudget?.check(inputBytes + size);\n if (size > inputLimit - inputBytes) throw new FsError(\"EFBIG\", { message: \"llm input byte limit exceeded\" });\n };\n const admitInput = (size: number): void => {\n checkInput(size);\n inputBytes += size;\n };\n try {\n const argumentsValue = getCommandArguments(context);\n const argumentText = (index: number): string => {\n const bytes = argumentsValue.bytes(index);\n if (!bytes) throw new Error(\"Missing option argument\");\n if (bytes.byteLength > maxBytes - argumentBytes) throw new Error(\"LLM argument byte limit exceeded\");\n argumentBytes += bytes.byteLength;\n return new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n };\n if (argumentsValue.args.length === 1 && [\"--help\", \"-h\"].includes(argumentsValue.args[0]!)) {\n argumentText(0);\n await emitText(\"Usage: llm [prompt] [-m MODEL] [-s SYSTEM] [-o KEY VALUE] [-a PATH] [--at PATH MIMETYPE]\\n llm models\\nOptions: --model, --system, --option, --attachment; -- ends options\\n\");\n return { exitCode: 0 };\n }\n const args = await parse(argumentsValue.args.length, argumentText, step);\n if (argumentsValue.args[0] === \"models\" && args.prompt === \"models\" && !args.attachments.length) {\n for (const { provider, model } of models) {\n await step();\n await emitText(`${provider.name}/${model.id}\taliases: ${model.aliases?.join(\", \") || \"-\"}\tattachments: ${model.attachmentTypes?.join(\", \") || \"-\"}\toutput: ${model.outputType ?? \"text/plain\"}\\n`);\n }\n return { exitCode: 0 };\n }\n const selected = args.model ?? defaultModel;\n if (selected === undefined) throw new Error(\"No model selected; use --model or configure defaultModel\");\n const entry = lookup.get(selected);\n if (!entry) throw new Error(`Unknown model: ${selected}`);\n const fragments: string[] = [];\n const decoder = new TextDecoder(\"utf-8\", { fatal: true });\n const input = await operation.acquire<AsyncIterator<Uint8Array>>(() => context.stdinInput\n ? { next: () => context.stdinInput!.read(Math.min(65536, inputLimit - inputBytes + 1), signal) }\n : context.stdin[Symbol.asyncIterator](), async iterator => { await iterator.return?.(); });\n while (true) {\n await step();\n const result = await interrupted(() => input.next(), signal);\n signal.throwIfAborted();\n if (result.done) break;\n const chunk = result.value;\n if (!(chunk instanceof Uint8Array)) throw new TypeError(\"Byte sources must yield Uint8Array chunks\");\n admitInput(chunk.byteLength);\n fragments.push(decoder.decode(chunk, { stream: true }));\n }\n fragments.push(decoder.decode());\n const content = fragments.join(\"\");\n const attachments: { mimeType: string; bytes: Uint8Array }[] = [];\n for (const attachment of args.attachments) {\n await step();\n if (attachment.path.includes(\"://\")) throw new Error(\"URL attachments are not supported\");\n const path = pathOf(context, attachment.path);\n const stat = await interrupted(() => context.fs.stat(path, { signal }), signal);\n checkInput(stat.size);\n const bytes = await interrupted(() => context.fs.readFile(path, { signal, maxBytes: inputLimit - inputBytes }), signal);\n signal.throwIfAborted();\n if (!(bytes instanceof Uint8Array)) throw new TypeError(\"Attachment read must return Uint8Array\");\n admitInput(bytes.byteLength);\n const mimeType = attachment.mimeType ?? sniffMimeType(path, bytes);\n if (!acceptsMimeType(entry.model.attachmentTypes ?? [], mimeType)) throw new Error(`Model ${entry.model.id} does not accept ${mimeType}`);\n attachments.push({ mimeType, bytes: new Uint8Array(bytes) });\n }\n const request: LlmRequest = {\n model: entry.model.id, prompt: content && args.prompt ? `${content}\\n\\n${args.prompt}` : content || args.prompt,\n ...(args.system === undefined ? {} : { system: args.system }), attachments, options: args.options, signal,\n };\n signal.throwIfAborted();\n iterator = entry.provider.complete(request)[Symbol.asyncIterator]();\n const text = (entry.model.outputType ?? \"text/plain\").toLowerCase().startsWith(\"text/\");\n let pendingSurrogate = \"\";\n while (true) {\n await step();\n const result = await interrupted(() => iterator!.next(), signal);\n signal.throwIfAborted();\n if (result.done) { ended = true; break; }\n if (text ? typeof result.value !== \"string\" : !(result.value instanceof Uint8Array)) throw new Error(`Provider ${entry.provider.name} returned a response chunk incompatible with ${entry.model.outputType ?? \"text/plain\"}`);\n if (typeof result.value === \"string\") {\n let chunk = pendingSurrogate + result.value;\n const last = chunk.charCodeAt(chunk.length - 1);\n pendingSurrogate = last >= 0xd800 && last <= 0xdbff ? chunk.slice(-1) : \"\";\n if (pendingSurrogate) chunk = chunk.slice(0, -1);\n if (chunk) await emitText(chunk);\n } else await write(result.value);\n }\n if (text) {\n if (pendingSurrogate) await emitText(pendingSurrogate);\n await write(Uint8Array.of(10));\n }\n return { exitCode: 0 };\n } catch (error) {\n context.signal.throwIfAborted();\n operation.signal.throwIfAborted();\n controller.abort(error);\n if (writing) throw error;\n await operation.close();\n await writeDiagnostic(context.stderr, `${error instanceof Error ? error.message.slice(0, 4096) : \"llm provider failed\"}\\n`, context.signal);\n return { exitCode: 1 };\n } finally {\n controller.abort(new Error(\"llm request closed\"));\n await operation.close();\n }\n}\n\nexport function createLlmCommands(options: LlmCommandsOptions): readonly CommandDefinition[] {\n const { models, lookup } = modelsFor(options.providers);\n const defaultModel = options.defaultModel;\n return [{ name: \"llm\", description: \"Query injected language and media models\", execute: context => execute(context, lookup, models, defaultModel) }];\n}\n\nexport function llmCommands(options: LlmCommandsOptions): VirtualShellPlugin {\n const definitions = createLlmCommands(options);\n const replace = options.replace ?? false;\n return { name: \"llm-commands\", setup(host) {\n if (!replace && host.commands.has(\"llm\")) throw new Error(\"Command already registered: llm\");\n for (const definition of definitions) host.commands.register(definition, { replace });\n } };\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["iterator"]
|
|
7
7
|
}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createOutputOperation
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CDBQXRWL.js";
|
|
4
|
+
import {
|
|
5
|
+
PublicDiagnostic
|
|
6
|
+
} from "./chunk-3E5M2WEL.js";
|
|
7
|
+
import {
|
|
8
|
+
yieldTurn
|
|
9
|
+
} from "./chunk-THXJ6CLF.js";
|
|
4
10
|
import {
|
|
5
|
-
PublicDiagnostic,
|
|
6
11
|
getCommandArguments,
|
|
7
12
|
shellValueByteLength,
|
|
8
|
-
shellValueBytes
|
|
9
|
-
|
|
10
|
-
} from "./chunk-UYX72YHY.js";
|
|
13
|
+
shellValueBytes
|
|
14
|
+
} from "./chunk-CHHAB5SS.js";
|
|
11
15
|
import {
|
|
12
16
|
init_platform
|
|
13
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-O2EVBRKF.js";
|
|
14
18
|
|
|
15
19
|
// packages/safe-bash/src/commands/getopt/index.ts
|
|
16
20
|
init_platform();
|
|
@@ -620,4 +624,4 @@ export {
|
|
|
620
624
|
createGetoptCommands,
|
|
621
625
|
getoptCommands
|
|
622
626
|
};
|
|
623
|
-
//# sourceMappingURL=chunk-
|
|
627
|
+
//# sourceMappingURL=chunk-6HNK7Q66.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/getopt/index.ts", "../../src/commands/getopt/command.ts", "../../src/commands/getopt/internal.ts", "../../src/commands/getopt/io.ts", "../../src/commands/getopt/parser.ts"],
|
|
4
4
|
"sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createGetoptCommand } from \"./command.js\";\nimport type { GetoptCommandsOptions } from \"./internal.js\";\n\nexport { createGetoptCommand } from \"./command.js\";\nexport type { GetoptCommandsOptions, GetoptLimits } from \"./internal.js\";\n\nexport function createGetoptCommands(options: GetoptCommandsOptions = {}): readonly CommandDefinition[] {\n return [createGetoptCommand(options)];\n}\n\nexport function getoptCommands(options: GetoptCommandsOptions = {}): VirtualShellPlugin {\n const commands = createGetoptCommands(options);\n return { name: \"getopt-commands\", setup(host) {\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import type { CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { Budget, GetoptError, settings, type GetoptCommandsOptions } from \"./internal.js\";\nimport { Writer } from \"./io.js\";\nimport { Parser, addLongOptions, findShort, type LongOption } from \"./parser.js\";\n\nconst wrapperOptions: readonly LongOption[] = [\n { name: \"options\", argument: 1, code: \"o\" }, { name: \"longoptions\", argument: 1, code: \"l\" },\n { name: \"quiet\", argument: 0, code: \"q\" }, { name: \"quiet-output\", argument: 0, code: \"Q\" },\n { name: \"shell\", argument: 1, code: \"s\" }, { name: \"test\", argument: 0, code: \"T\" },\n { name: \"unquoted\", argument: 0, code: \"u\" }, { name: \"help\", argument: 0, code: \"h\" },\n { name: \"alternative\", argument: 0, code: \"a\" }, { name: \"name\", argument: 1, code: \"n\" },\n { name: \"version\", argument: 0, code: \"V\" },\n];\n\nexport function createGetoptCommand(options: GetoptCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"getopt\", description: \"Parse short and long options and emit shell-quoted arguments\", async execute(context) {\n const output = createOutputOperation(context, context.stdout);\n const budget = new Budget(context, limits, output.signal);\n let writer: Writer | undefined;\n let failure: { reason: unknown } | undefined;\n let primary: { reason: unknown } | undefined;\n let exitCode = 0;\n try {\n writer = new Writer(budget, output);\n const args = await budget.arguments();\n const compatible = context.env.GETOPT_COMPATIBLE !== undefined;\n const posix = context.env.POSIXLY_CORRECT !== undefined;\n let specification: string | undefined;\n let parameters = args;\n const longOptions: LongOption[] = [];\n let quote = true, tcsh = false, quiet = false, quietOutput = false, alternative = false;\n let name = \"getopt\";\n let complete = false;\n if (!args.length) {\n if (!compatible) throw new GetoptError(\"missing optstring argument\", 2, true);\n await writer.send([\" --\\n\"]);\n complete = true;\n } else if (compatible || args[0]![0] !== \"-\") {\n let start = 0;\n while (args[0]![start] === \"+\" || args[0]![start] === \"-\") { await budget.step(); start++; }\n specification = args[0]!.slice(start);\n budget.schema(specification.length);\n parameters = args.slice(1);\n quote = false;\n } else {\n const wrapper = new Parser(args, \"+ao:l:n:qQs:TuhV\", wrapperOptions, false, posix, false, \"getopt\", budget, writer);\n for (;;) {\n const parsed = await wrapper.next();\n if (!parsed) break;\n if (parsed.kind === \"error\") { await writer.send([\"Try 'getopt --help' for more information.\\n\"], true); exitCode = 2; complete = true; break; }\n if (parsed.kind === \"operand\") throw new GetoptError(\"unexpected wrapper operand\");\n const option = parsed.kind === \"long\" ? parsed.option.code : parsed.option;\n switch (option) {\n case \"o\": specification = parsed.argument!; budget.schema(specification.length); break;\n case \"l\": await addLongOptions(parsed.argument!, longOptions, budget); break;\n case \"n\": name = parsed.argument!; break;\n case \"a\": alternative = true; break;\n case \"q\": quiet = true; break;\n case \"Q\": quietOutput = true; break;\n case \"u\": quote = false; break;\n case \"s\":\n if (parsed.argument === \"bash\" || parsed.argument === \"sh\") tcsh = false;\n else if (parsed.argument === \"tcsh\" || parsed.argument === \"csh\") tcsh = true;\n else throw new GetoptError(\"unknown shell after -s or --shell argument\", 2, true);\n break;\n case \"T\": exitCode = 4; complete = true; break;\n case \"V\": await writer.send([\"getopt (virtual-bash)\\n\"]); complete = true; break;\n case \"h\":\n await writer.send([\"Usage: getopt [OPTIONS] -o OPTSTRING [--] PARAMETERS...\\nParse short and long options and emit shell-quoted arguments.\\nOptions: -a, --alternative; -l, --longoptions; -n, --name; -o, --options;\\n -q, --quiet; -Q, --quiet-output; -s, --shell; -T, --test;\\n -u, --unquoted; -h, --help; -V, --version\\n\"]);\n complete = true; break;\n }\n if (complete) break;\n }\n if (!complete) {\n if (specification === undefined) {\n if (wrapper.index === args.length) throw new GetoptError(\"missing optstring argument\", 2, true);\n specification = args[wrapper.index++]!;\n budget.schema(specification.length);\n }\n parameters = args.slice(wrapper.index);\n }\n }\n if (!complete) {\n const parser = new Parser(parameters, specification!, longOptions, alternative, posix, quiet, name, budget, writer);\n for (;;) {\n const parsed = await parser.next();\n if (!parsed) break;\n if (parsed.kind === \"error\") { exitCode = 1; continue; }\n if (quietOutput) continue;\n if (parsed.kind === \"operand\") await writer.normalized(parsed.argument ?? \"\", quote, tcsh);\n else if (parsed.kind === \"long\") {\n await writer.send([\" --\", parsed.option.name]);\n if (parsed.option.argument) await writer.normalized(parsed.argument ?? \"\", quote, tcsh);\n } else {\n await writer.send([\" -\", parsed.option]);\n const offset = await findShort(specification!, parsed.option, 0, budget);\n if (offset >= 0 && specification![offset + 1] === \":\") await writer.normalized(parsed.argument ?? \"\", quote, tcsh);\n }\n }\n if (!quietOutput) {\n await writer.send([\" --\"]);\n for (const operand of parser.operands) await writer.normalized(operand, quote, tcsh);\n for (let index = parser.index; index < parameters.length; index++) await writer.normalized(parameters[index]!, quote, tcsh);\n await writer.send([\"\\n\"]);\n }\n }\n } catch (error) {\n primary = { reason: error };\n if (error instanceof GetoptError && !output.signal.aborted && writer) {\n exitCode = error.status;\n try { await writer.send([\"getopt: \", error.message, \"\\n\", error.usage ? \"Try 'getopt --help' for more information.\\n\" : \"\"], true); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"getopt failure reporting failed\") }; }\n } else failure = { reason: error };\n }\n try { await output.close(); }\n catch (cleanup) {\n const previous = failure ?? primary;\n failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"getopt execution and cleanup failed\") : cleanup };\n }\n context.signal.throwIfAborted();\n output.signal.throwIfAborted();\n if (failure) throw failure.reason;\n return { exitCode };\n } };\n}\n", "import { getCommandArguments, type CommandContext } from \"../../contracts/index.js\";\nimport { shellValueByteLength, shellValueBytes } from \"../../contracts/value.js\";\nimport { yieldTurn } from \"../../contracts/yield.js\";\nimport { PublicDiagnostic } from \"../../diagnostics.js\";\n\nexport interface GetoptLimits {\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxSchemaBytes: number;\n readonly maxLongOptions: number;\n readonly maxBufferedBytes: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxWork: number;\n}\n\nexport interface GetoptCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<GetoptLimits>;\n}\n\nexport function settings(options: GetoptCommandsOptions): GetoptLimits {\n const limits: GetoptLimits = {\n maxArguments: 4096, maxArgumentBytes: 65_536, maxInputBytes: 1_048_576,\n maxSchemaBytes: 65_536, maxLongOptions: 4096, maxBufferedBytes: 4_194_304,\n maxOutputBytes: 8_388_608, maxDiagnosticBytes: 65_536, maxWork: 8_388_608,\n ...options.limits,\n };\n for (const [name, value] of Object.entries(limits)) {\n if (!Number.isSafeInteger(value) || value < 1) throw new RangeError(`Invalid getopt limit: ${name}`);\n }\n return Object.freeze(limits);\n}\n\nexport class GetoptError extends PublicDiagnostic {\n constructor(message: string, readonly status = 3, readonly usage = false) { super(message); }\n}\n\nexport class Budget {\n private work = 0;\n private quantum = 0;\n private retained = 0;\n private diagnosticRetained = 0;\n private schemaBytes = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: GetoptLimits, readonly signal: AbortSignal) {}\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new GetoptError(`${label} limit exceeded`);\n }\n async step(amount = 1, diagnostic = false): Promise<void> {\n this.signal.throwIfAborted();\n if (!diagnostic) { this.check(this.work + amount, this.limits.maxWork, \"work\"); this.work += amount; }\n this.quantum += amount;\n if (this.quantum >= 1024) { this.quantum = 0; await yieldTurn(this.signal); }\n }\n retain(amount: number, diagnostic = false): void {\n if (diagnostic) {\n this.check(this.diagnosticRetained + amount, this.limits.maxDiagnosticBytes, \"diagnostic buffered bytes\");\n this.diagnosticRetained += amount;\n } else {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n }\n schema(amount: number): void {\n this.check(this.schemaBytes + amount, this.limits.maxSchemaBytes, \"schema bytes\");\n this.schemaBytes += amount;\n }\n room(amount: number, diagnostic = false): void {\n this.check((diagnostic ? this.diagnostics : this.output) + amount,\n diagnostic ? this.limits.maxDiagnosticBytes : this.limits.maxOutputBytes, diagnostic ? \"diagnostic bytes\" : \"output bytes\");\n }\n emitted(amount: number, diagnostic: boolean): void {\n this.room(amount, diagnostic);\n if (diagnostic) this.diagnostics += amount;\n else this.output += amount;\n }\n async arguments(): Promise<string[]> {\n const args = this.context.args;\n this.signal.throwIfAborted();\n this.check(args.length, this.limits.maxArguments, \"argument count\");\n let total = 0;\n for (const argument of args) {\n this.check(argument.length, this.limits.maxArgumentBytes, \"argument bytes\");\n total += argument.length;\n this.check(total, this.limits.maxInputBytes, \"input bytes\");\n for (let offset = 0; offset < argument.length; offset++) {\n await this.step();\n const unit = argument.charCodeAt(offset);\n if (unit >= 0xd800 && unit <= 0xdbff) {\n const next = argument.charCodeAt(++offset);\n if (!(next >= 0xdc00 && next <= 0xdfff)) throw new GetoptError(\"arguments must contain well-formed Unicode\", 2);\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new GetoptError(\"arguments must contain well-formed Unicode\", 2);\n }\n }\n const values = this.context.argumentValues === undefined ? args : getCommandArguments(this.context).values;\n total = 0;\n for (const argument of values) {\n await this.step();\n const size = shellValueByteLength(argument);\n this.check(size, this.limits.maxArgumentBytes, \"argument bytes\");\n total += size;\n this.check(total, this.limits.maxInputBytes, \"input bytes\");\n }\n this.retain(total * 8 + args.length * 64 + 256);\n this.signal.throwIfAborted();\n const owned = getCommandArguments(this.context).values;\n const result: string[] = [];\n for (const argument of owned) {\n await this.step();\n const value = shellValueBytes(argument);\n let text = \"\";\n for (let offset = 0; offset < value.length; offset += 256) {\n const end = Math.min(offset + 256, value.length);\n for (let index = offset; index < end; index++) {\n await this.step();\n if (value[index] === 0) throw new GetoptError(\"NUL is not supported in arguments\", 2);\n }\n text += String.fromCharCode(...value.subarray(offset, end));\n }\n result.push(text);\n }\n return result;\n }\n}\n", "import type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, GetoptError } from \"./internal.js\";\n\nexport class Writer {\n private readonly pending = new Set<Promise<unknown>>();\n private closing: Promise<void> | undefined;\n constructor(readonly budget: Budget, output: OutputOperation) { output.registerCleanup(() => this.close()); }\n assertOpen(): void {\n this.budget.signal.throwIfAborted();\n if (this.closing) throw new GetoptError(\"command is closed\");\n }\n close(): Promise<void> {\n return this.closing ??= Promise.resolve().then(async () => {\n while (this.pending.size) await Promise.allSettled([...this.pending]);\n });\n }\n private async publish(length: number, diagnostic: boolean, fill: (buffer: Uint8Array) => Promise<void>): Promise<void> {\n this.assertOpen();\n this.budget.emitted(length, diagnostic);\n this.budget.retain(length, diagnostic);\n const pending = Promise.resolve().then(async () => {\n this.assertOpen();\n const buffer = new Uint8Array(length);\n await fill(buffer);\n this.assertOpen();\n const sink = diagnostic ? this.budget.context.stderr : this.budget.context.stdout;\n this.assertOpen();\n const destination = sink.ownedOutput ?? sink;\n this.assertOpen();\n const write = destination.write;\n this.assertOpen();\n await Reflect.apply(write, destination, [buffer]);\n });\n this.pending.add(pending);\n try { await pending; this.assertOpen(); }\n finally { this.pending.delete(pending); this.budget.retain(-length, diagnostic); }\n }\n async send(parts: readonly string[], diagnostic = false): Promise<void> {\n let length = 0;\n for (const part of parts) { await this.budget.step(1, diagnostic); length += part.length; this.budget.room(length, diagnostic); }\n await this.publish(length, diagnostic, async buffer => {\n let offset = 0;\n for (const part of parts) for (let index = 0; index < part.length; index++) {\n await this.budget.step(1, diagnostic);\n buffer[offset++] = part.charCodeAt(index);\n }\n });\n }\n async normalized(value: string, quote: boolean, tcsh: boolean): Promise<void> {\n if (!quote) { await this.send([\" \", value]); return; }\n let length = 3;\n for (let offset = 0; offset < value.length; offset++) {\n await this.budget.step();\n const code = value.charCodeAt(offset);\n length += code === 39 || (tcsh && (code === 33 || code === 9 || code === 11 || code === 12 || code === 13 || code === 32)) ? 4\n : tcsh && (code === 92 || code === 10) ? 2 : 1;\n this.budget.room(length);\n }\n await this.publish(length, false, async buffer => {\n let offset = 0;\n buffer[offset++] = 32;\n buffer[offset++] = 39;\n for (let index = 0; index < value.length; index++) {\n const code = value.charCodeAt(index);\n await this.budget.step();\n if (code === 39 || (tcsh && (code === 33 || code === 9 || code === 11 || code === 12 || code === 13 || code === 32))) {\n buffer[offset++] = 39; buffer[offset++] = 92; buffer[offset++] = code; buffer[offset++] = 39;\n } else if (tcsh && (code === 92 || code === 10)) {\n buffer[offset++] = 92; buffer[offset++] = code === 10 ? 110 : 92;\n } else buffer[offset++] = code;\n }\n buffer[offset] = 39;\n });\n }\n}\n", "import { Budget, GetoptError } from \"./internal.js\";\nimport type { Writer } from \"./io.js\";\n\nexport interface LongOption { readonly name: string; readonly argument: 0 | 1 | 2; readonly code?: string; }\nexport type ParsedOption =\n | { readonly kind: \"short\"; readonly option: string; readonly argument: string | undefined }\n | { readonly kind: \"long\"; readonly option: LongOption; readonly argument: string | undefined }\n | { readonly kind: \"operand\"; readonly argument: string | undefined }\n | { readonly kind: \"error\" };\n\nexport async function findShort(specification: string, option: string, start: number, budget: Budget): Promise<number> {\n for (let offset = start; offset < specification.length; offset++) {\n await budget.step();\n if (specification[offset] === option) return offset;\n }\n return -1;\n}\n\nexport async function addLongOptions(value: string, options: LongOption[], budget: Budget): Promise<void> {\n budget.schema(value.length);\n let start = 0;\n for (let offset = 0; offset <= value.length; offset++) {\n await budget.step();\n const code = value.charCodeAt(offset);\n if (offset !== value.length && code !== 44 && code !== 32 && code !== 9 && code !== 10) continue;\n if (offset > start) {\n let end = offset;\n let argument: 0 | 1 | 2 = 0;\n if (value[end - 1] === \":\") { argument = 1; end--; if (end > start && value[end - 1] === \":\") { argument = 2; end--; } }\n if (end === start) throw new GetoptError(\"empty long option after -l or --long argument\", 2, true);\n budget.check(options.length + 1, budget.limits.maxLongOptions, \"long option count\");\n budget.retain((end - start) * 2 + 64);\n options.push({ name: value.slice(start, end), argument });\n }\n start = offset + 1;\n }\n}\n\nexport class Parser {\n index = 0;\n private offset = 0;\n private ended = false;\n readonly operands: string[] = [];\n private readonly start: number;\n private readonly order: \"require\" | \"return\" | \"permute\";\n private readonly silent: boolean;\n constructor(readonly args: readonly string[], readonly specification: string, readonly options: readonly LongOption[],\n readonly alternative: boolean, posix: boolean, quiet: boolean, readonly name: string, readonly budget: Budget,\n readonly writer: Writer) {\n this.start = specification[0] === \"+\" || specification[0] === \"-\" ? 1 : 0;\n this.order = specification[0] === \"-\" ? \"return\" : specification[0] === \"+\" || posix ? \"require\" : \"permute\";\n this.silent = quiet || specification[this.start] === \":\";\n }\n private async error(parts: readonly string[]): Promise<ParsedOption> {\n if (!this.silent) await this.writer.send([this.name, ...parts], true);\n return { kind: \"error\" };\n }\n private async long(value: string, prefix: string, fallback: boolean): Promise<ParsedOption | null> {\n let end = 0;\n while (end < value.length && value[end] !== \"=\") { await this.budget.step(); end++; }\n const lease = this.options.length * 64 + 128;\n this.budget.retain(lease);\n try {\n const matches: LongOption[] = [];\n let exact: LongOption | undefined;\n for (const option of this.options) {\n await this.budget.step();\n let matched = option.name.length >= end;\n for (let offset = 0; matched && offset < end; offset++) {\n await this.budget.step();\n if (option.name[offset] !== value[offset]) matched = false;\n }\n if (!matched) continue;\n if (option.name.length === end) { exact = option; break; }\n matches.push(option);\n }\n if (!exact && matches.length > 1) {\n this.index++; this.offset = 0;\n if (!this.silent) {\n const parts = [this.name, \": option '\", prefix, value, \"' is ambiguous; possibilities:\"];\n for (const option of matches) parts.push(\" '\", prefix, option.name, \"'\");\n parts.push(\"\\n\");\n await this.writer.send(parts, true);\n }\n return { kind: \"error\" };\n }\n const option = exact ?? matches[0];\n if (!option) {\n if (fallback && await findShort(this.specification, value[0] ?? \"\", this.start, this.budget) >= 0) return null;\n this.index++; this.offset = 0;\n return await this.error([\": unrecognized option '\", prefix, value, \"'\\n\"]);\n }\n this.index++; this.offset = 0;\n let argument: string | undefined;\n if (end < value.length) {\n if (!option.argument) return await this.error([\": option '\", prefix, option.name, \"' doesn't allow an argument\\n\"]);\n argument = value.slice(end + 1);\n } else if (option.argument === 1) {\n if (this.index === this.args.length) return await this.error([\": option '\", prefix, option.name, \"' requires an argument\\n\"]);\n argument = this.args[this.index++];\n }\n return { kind: \"long\", option, argument };\n } finally { this.budget.retain(-lease); }\n }\n async next(): Promise<ParsedOption | undefined> {\n await this.budget.step();\n if (this.ended) return undefined;\n if (!this.offset) {\n while (this.index < this.args.length) {\n await this.budget.step();\n const argument = this.args[this.index]!;\n if (argument === \"--\") { this.index++; this.ended = true; return undefined; }\n if (argument.length > 1 && argument[0] === \"-\") break;\n if (this.order === \"require\") { this.ended = true; return undefined; }\n this.index++;\n if (this.order === \"return\") return { kind: \"operand\", argument };\n this.budget.retain(8);\n this.operands.push(argument);\n }\n if (this.index === this.args.length) { this.ended = true; return undefined; }\n const argument = this.args[this.index]!;\n if (argument[1] === \"-\") return (await this.long(argument.slice(2), \"--\", false))!;\n if (this.alternative && (argument.length > 2 || await findShort(this.specification, argument[1]!, this.start, this.budget) < 0)) {\n const result = await this.long(argument.slice(1), \"-\", true);\n if (result) return result;\n }\n this.offset = 1;\n }\n const current = this.args[this.index]!;\n const option = current[this.offset++]!;\n if (this.offset === current.length) { this.offset = 0; this.index++; }\n const found = await findShort(this.specification, option, this.start, this.budget);\n if (found < 0 || option === \":\" || option === \";\") return this.error([\": invalid option -- '\", option, \"'\\n\"]);\n if (option === \"W\" && this.specification[found + 1] === \";\") {\n if (!this.offset && this.index === this.args.length) return this.error([\": option requires an argument -- 'W'\\n\"]);\n const value = this.offset ? current.slice(this.offset) : this.args[this.index]!;\n return (await this.long(value, \"-W \", false))!;\n }\n let argument: string | undefined;\n if (this.specification[found + 1] === \":\") {\n if (this.offset) { argument = current.slice(this.offset); this.index++; }\n else if (this.specification[found + 2] !== \":\") {\n if (this.index === this.args.length) return this.error([\": option requires an argument -- '\", option, \"'\\n\"]);\n argument = this.args[this.index++];\n }\n this.offset = 0;\n }\n if (option === \"?\") return { kind: \"error\" };\n if (option === \"\\x01\") return { kind: \"operand\", argument };\n if (option === \"\\xff\") {\n this.budget.retain(-this.operands.length * 8);\n this.operands.length = 0;\n this.ended = true;\n return undefined;\n }\n return { kind: \"short\", option, argument };\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["option", "argument"]
|
|
7
7
|
}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import {
|
|
2
2
|
interruptible
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IEKESMO4.js";
|
|
4
4
|
import {
|
|
5
5
|
pathOf,
|
|
6
6
|
writeDiagnostic
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-LA6BX562.js";
|
|
8
8
|
import {
|
|
9
|
-
getCommandArguments,
|
|
10
|
-
shellValueByteLength,
|
|
11
9
|
yieldTurn
|
|
12
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-THXJ6CLF.js";
|
|
11
|
+
import {
|
|
12
|
+
getCommandArguments,
|
|
13
|
+
shellValueByteLength
|
|
14
|
+
} from "./chunk-CHHAB5SS.js";
|
|
13
15
|
import {
|
|
14
16
|
FsError,
|
|
15
17
|
readBytes,
|
|
16
18
|
toByteSource,
|
|
17
19
|
writeBytes
|
|
18
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-WPIOO4NX.js";
|
|
19
21
|
import {
|
|
20
22
|
import_buffer,
|
|
21
23
|
init_platform
|
|
22
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-O2EVBRKF.js";
|
|
23
25
|
|
|
24
26
|
// packages/safe-bash/src/commands/xml/index.ts
|
|
25
27
|
init_platform();
|
|
@@ -525,4 +527,4 @@ export {
|
|
|
525
527
|
createXmlCommands,
|
|
526
528
|
xmlCommands
|
|
527
529
|
};
|
|
528
|
-
//# sourceMappingURL=chunk-
|
|
530
|
+
//# sourceMappingURL=chunk-7EEWZY5S.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/xml/index.ts", "../../src/commands/xml/limits.ts", "../../src/commands/xml/query.ts", "../../src/commands/xml/evaluate.ts"],
|
|
4
4
|
"sourcesContent": ["import { parseXmlSteps, XmlLimitError } from \"poe-code/safe-fs/core\";\nimport { FsError, getCommandArguments, readBytes, toByteSource, writeBytes, type ByteSource, type CommandContext, type CommandDefinition, type VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { shellValueByteLength } from \"../../contracts/value.js\";\nimport { writeDiagnostic } from \"../../escaping.js\";\nimport { pathOf } from \"../internal.js\";\nimport { interruptible } from \"../structured/limits.js\";\nimport { XmlBudget, XmlQueryError, XmlQueryLimitError, resolveXmlQueryLimits, type XmlCommandsOptions, type XmlQueryLimits } from \"./limits.js\";\nimport { parseQuery, type Query } from \"./query.js\";\nimport { evaluate, serialize, stringValue } from \"./evaluate.js\";\n\nexport { defaultXmlQueryLimits } from \"./limits.js\";\nexport type { XmlCommandsOptions, XmlQueryLimits } from \"./limits.js\";\n\nasync function argumentsFor(context: CommandContext, budget: XmlBudget): Promise<{ query: Query; file: string | undefined }> {\n if (context.args.length > 5) throw new XmlQueryError(\"expected one XML input FILE or -\", 2);\n const carrier = getCommandArguments(context);\n const args = carrier.args;\n async function admitted(position: number, limit: \"maxSourceBytes\" | \"maxInputBytes\"): Promise<string> {\n const text = args[position]!;\n if (text.length > budget.limits[limit]) throw new XmlQueryLimitError(limit);\n const size = shellValueByteLength(carrier.values[position]!);\n if (size > budget.limits[limit]) throw new XmlQueryLimitError(limit);\n for (let offset = 0; offset < size; offset += 1024) await budget.tick(Math.min(1024, size - offset));\n let decoded: string;\n try { decoded = new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true }).decode(carrier.bytes(position)); }\n catch { throw new XmlQueryError(\"XPath and filenames require valid UTF-8\", 2); }\n if (decoded !== text) throw new XmlQueryError(\"XPath and filenames require lossless UTF-8\", 2);\n return decoded;\n }\n let index = 0;\n if (context.command === \"xmllint\") {\n if (args[index++] !== \"--xpath\") throw new XmlQueryError(\"expected --xpath QUERY [FILE|-]\", 2);\n }\n if (args[index] === \"--\") index++;\n const sourceIndex = index++;\n const source = args[sourceIndex];\n if (source === undefined || source.startsWith(\"-\")) throw new XmlQueryError(\"expected QUERY [FILE|-]\", 2);\n if (args[index] === \"--\") index++;\n const fileIndex = index++;\n const file = args[fileIndex];\n if (index < args.length || file !== undefined && file.startsWith(\"-\") && file !== \"-\") throw new XmlQueryError(\"expected one XML input FILE or -\", 2);\n const query = await parseQuery(await admitted(sourceIndex, \"maxSourceBytes\"), budget);\n return { query, file: file === undefined ? undefined : await admitted(fileIndex, \"maxInputBytes\") };\n}\n\nasync function input(context: CommandContext, file: string | undefined, budget: XmlBudget): Promise<string> {\n let source: ByteSource = context.stdin;\n if (file !== undefined && file !== \"-\") {\n const path = pathOf(context, file);\n const capabilities = context.fs.capabilitiesFor\n ? await interruptible(() => context.fs.capabilitiesFor!(path, { signal: context.signal }), context.signal)\n : context.fs.capabilities;\n context.signal.throwIfAborted();\n if (context.fs.readStream && capabilities.streamingRead !== false) source = context.fs.readStream(path, { signal: context.signal });\n else {\n try { source = toByteSource(await interruptible(() => context.fs.readFile(path, { signal: context.signal, maxBytes: budget.limits.maxInputBytes }), context.signal)); }\n catch (error) {\n context.signal.throwIfAborted();\n if (error instanceof FsError && error.code === \"EFBIG\") throw new XmlQueryLimitError(\"maxInputBytes\");\n throw error;\n }\n }\n }\n const parts: string[] = [];\n let size = 0;\n const decoder = new TextDecoder(\"utf-8\", { fatal: true });\n for await (const chunk of readBytes(source, context.signal)) {\n await budget.tick();\n size += chunk.byteLength;\n if (size > budget.limits.maxInputBytes) throw new XmlQueryLimitError(\"maxInputBytes\");\n // Decode before requesting another chunk; a producer may reuse its backing bytes.\n for (let offset = 0; offset < chunk.length; offset += 4096) {\n await budget.tick(Math.min(4096, chunk.length - offset));\n try { parts.push(decoder.decode(chunk.subarray(offset, offset + 4096), { stream: true })); }\n catch { throw new XmlQueryError(\"XML input must be UTF-8\", 1); }\n }\n }\n try { parts.push(decoder.decode()); }\n catch { throw new XmlQueryError(\"XML input must be UTF-8\", 1); }\n return parts.join(\"\");\n}\n\nasync function execute(context: CommandContext, limits: XmlQueryLimits): Promise<{ exitCode: number }> {\n const budget = new XmlBudget(limits, context.signal);\n let outputFailed = false;\n try {\n const options = await argumentsFor(context, budget);\n const source = await input(context, options.file, budget);\n const parser = parseXmlSteps(source, { ...limits, maxContentNodes: limits.maxNodes, expectedEncoding: \"UTF-8\" });\n let parsed = parser.next();\n try {\n while (!parsed.done) { await budget.tick(parsed.value); parsed = parser.next(); }\n } finally { if (!parsed.done) parser.return(undefined as never); }\n const nodes = await evaluate(options.query, parsed.value, budget);\n async function write(part: string): Promise<void> {\n for (let offset = 0; offset < part.length;) {\n let end = Math.min(offset + 4096, part.length);\n if (end < part.length && part.charCodeAt(end - 1) >= 0xd800 && part.charCodeAt(end - 1) <= 0xdbff) end--;\n await budget.tick(end - offset);\n const slice = part.slice(offset, end);\n const size = Buffer.byteLength(slice);\n if (size > limits.maxOutputBytes - budget.outputBytes) throw new XmlQueryLimitError(\"maxOutputBytes\");\n budget.outputBytes += size;\n try { await writeBytes(context.stdout, Buffer.from(slice), context.signal); }\n catch (error) { outputFailed = true; throw error; }\n offset = end;\n }\n }\n if (options.query.scalar === \"count\") await write(String(nodes.length));\n else if (options.query.scalar === \"boolean\") await write(nodes.length ? \"true\" : \"false\");\n else if (options.query.scalar === \"string\") {\n for await (const part of stringValue(nodes[0], budget)) await write(part);\n } else {\n if (!nodes.length) throw new XmlQueryError(\"XPath set is empty\", 11);\n for (const node of nodes) {\n for await (const part of serialize(node, budget)) await write(part);\n await write(\"\\n\");\n }\n return { exitCode: 0 };\n }\n await write(\"\\n\");\n return { exitCode: 0 };\n } catch (error) {\n context.signal.throwIfAborted();\n if (outputFailed || error instanceof FsError && error.code === \"EPIPE\") throw error;\n const status = error instanceof XmlQueryError ? error.status : error instanceof XmlLimitError ? 5\n : error instanceof SyntaxError || error instanceof FsError ? 1 : undefined;\n if (status === undefined) throw error;\n const message = error instanceof Error ? error.message.slice(0, 1000) : \"XML query failed\";\n await writeDiagnostic(context.stderr, `${context.command}: ${message}\\n`, context.signal);\n return { exitCode: status };\n }\n}\n\nexport function createXmlCommands(options: XmlCommandsOptions = {}): readonly CommandDefinition[] {\n const limits = resolveXmlQueryLimits(options.limits);\n return [\"xq\", \"xmllint\"].map(name => ({ name, execute: context => execute(context, limits) }));\n}\nexport function xmlCommands(options: XmlCommandsOptions = {}): VirtualShellPlugin {\n const definitions = createXmlCommands(options);\n const replace = options.replace ?? false;\n return { name: \"xml-commands\", setup(host) {\n if (!replace) for (const definition of definitions) {\n if (host.commands.has(definition.name)) throw new Error(`Command already registered: ${definition.name}`);\n }\n for (const definition of definitions) host.commands.register(definition, { replace });\n } };\n}\n", "import { yieldTurn } from \"../../contracts/yield.js\";\n\nexport interface XmlQueryLimits {\n readonly maxInputBytes: number;\n readonly maxOutputBytes: number;\n readonly maxSourceBytes: number;\n readonly maxDepth: number;\n readonly maxNodes: number;\n readonly maxAttributes: number;\n readonly maxAttributesPerElement: number;\n readonly maxNamespaces: number;\n readonly maxSteps: number;\n readonly maxResults: number;\n}\nexport interface XmlCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<XmlQueryLimits>;\n}\nexport const defaultXmlQueryLimits: Readonly<XmlQueryLimits> = Object.freeze({\n maxInputBytes: 8 * 1024 * 1024, maxOutputBytes: 8 * 1024 * 1024,\n maxSourceBytes: 64 * 1024, maxDepth: 64, maxNodes: 100_000,\n maxAttributes: 10_000, maxAttributesPerElement: 128,\n maxNamespaces: 256, maxSteps: 1_000_000, maxResults: 100_000,\n});\nexport class XmlQueryError extends Error {\n constructor(message: string, readonly status: number) { super(message); }\n}\nexport class XmlQueryLimitError extends XmlQueryError {\n constructor(name: keyof XmlQueryLimits) { super(`${name} limit exceeded`, 5); }\n}\nexport function resolveXmlQueryLimits(options: Partial<XmlQueryLimits> = {}): XmlQueryLimits {\n const limits = { ...defaultXmlQueryLimits, ...options };\n for (const [name, value] of Object.entries(limits)) {\n if (!Object.hasOwn(defaultXmlQueryLimits, name) || !Number.isSafeInteger(value) || value < 1) {\n throw new RangeError(`${name} must be a positive safe integer XML limit`);\n }\n }\n if (limits.maxDepth > 256) throw new RangeError(\"maxDepth must be <=256\");\n return Object.freeze(limits);\n}\nexport class XmlBudget {\n private steps = 0;\n private checkpoint = 0;\n outputBytes = 0;\n constructor(readonly limits: XmlQueryLimits, readonly signal: AbortSignal) {}\n async tick(work = 1): Promise<void> {\n this.signal.throwIfAborted();\n this.steps += work;\n if (this.steps > this.limits.maxSteps) throw new XmlQueryLimitError(\"maxSteps\");\n this.checkpoint += work;\n if (this.checkpoint >= 1024) {\n this.checkpoint = 0;\n await yieldTurn(this.signal);\n }\n }\n results(size: number): void {\n if (size > this.limits.maxResults) throw new XmlQueryLimitError(\"maxResults\");\n }\n}\n", "import { XmlBudget, XmlQueryError, XmlQueryLimitError } from \"./limits.js\";\n\nexport type Predicate = { kind: \"position\"; value: number } | { kind: \"attribute\"; name: string; value: string };\nexport interface QueryStep {\n readonly descendant: boolean;\n readonly kind: \"element\" | \"attribute\" | \"text\";\n readonly name: string;\n readonly predicates: readonly Predicate[];\n}\nexport interface Query {\n readonly scalar: \"string\" | \"count\" | \"boolean\" | undefined;\n readonly steps: readonly QueryStep[];\n}\nconst nameStart = (character: string): boolean => character >= \"a\" && character <= \"z\" || character >= \"A\" && character <= \"Z\" || character === \"_\";\nconst namePart = (character: string): boolean => nameStart(character) || character >= \"0\" && character <= \"9\" || character === \"-\" || character === \".\";\n\nexport async function parseQuery(source: string, budget: XmlBudget): Promise<Query> {\n if (source.length > budget.limits.maxSourceBytes || Buffer.byteLength(source) > budget.limits.maxSourceBytes) throw new XmlQueryLimitError(\"maxSourceBytes\");\n // Admit every character before token operations; the grammar itself has no recursion.\n for (let offset = 0; offset < source.length; offset += 256) await budget.tick(Math.min(256, source.length - offset));\n let at = 0;\n const fail = (): never => { throw new XmlQueryError(`unsupported XPath syntax at offset ${at}`, 10); };\n const space = (): void => { while (source[at] === \" \" || source[at] === \"\\t\" || source[at] === \"\\r\" || source[at] === \"\\n\") at++; };\n const expect = (value: string): void => { space(); if (!source.startsWith(value, at)) fail(); at += value.length; };\n const name = (): string => {\n space(); const start = at;\n if (!nameStart(source[at] ?? \"\")) fail();\n while (namePart(source[at] ?? \"\")) at++;\n if (source[at] === \":\") fail();\n return source.slice(start, at);\n };\n space();\n let scalar: Query[\"scalar\"];\n if (source[at] !== \"/\") {\n const value = name();\n if (value !== \"string\" && value !== \"count\" && value !== \"boolean\") fail();\n scalar = value as Query[\"scalar\"];\n expect(\"(\");\n }\n const steps: QueryStep[] = [];\n space();\n while (source[at] === \"/\") {\n at++;\n const descendant = source[at] === \"/\";\n if (descendant) at++;\n space();\n let kind: QueryStep[\"kind\"] = \"element\";\n if (source[at] === \"@\") { kind = \"attribute\"; at++; }\n let selected: string;\n if (source[at] === \"*\") { selected = \"*\"; at++; }\n else {\n selected = name();\n space();\n if (source[at] === \"(\") {\n if (selected !== \"text\" || kind !== \"element\") fail();\n expect(\"(\"); expect(\")\"); kind = \"text\";\n }\n }\n const predicates: Predicate[] = [];\n space();\n while (source[at] === \"[\") {\n at++; space();\n if (source[at] === \"@\") {\n at++; const attribute = name(); expect(\"=\"); space();\n const quote = source[at++];\n if (quote !== \"'\" && quote !== '\"') fail();\n const start = at;\n while (at < source.length && source[at] !== quote) at++;\n if (at === source.length) fail();\n predicates.push({ kind: \"attribute\", name: attribute, value: source.slice(start, at++) });\n } else {\n const start = at;\n while ((source[at] ?? \"\") >= \"0\" && (source[at] ?? \"\") <= \"9\") at++;\n const value = Number(source.slice(start, at));\n if (start === at || !Number.isSafeInteger(value) || value < 1) fail();\n predicates.push({ kind: \"position\", value });\n }\n expect(\"]\"); space();\n }\n steps.push({ descendant, kind, name: selected, predicates });\n if (kind !== \"element\" && source[at] === \"/\") fail();\n await budget.tick();\n }\n if (!steps.length) fail();\n if (scalar !== undefined) expect(\")\");\n space();\n if (at !== source.length) fail();\n return { scalar, steps };\n}\n", "import type { XmlAttribute, XmlContent, XmlElement } from \"poe-code/safe-fs/core\";\nimport type { Query, QueryStep } from \"./query.js\";\nimport { XmlBudget } from \"./limits.js\";\n\ntype Container = { kind: \"document\"; children: Node[] } | ElementNode;\ninterface ElementNode { kind: \"element\"; value: XmlElement; children: Node[]; attributes: AttributeNode[] }\ninterface AttributeNode { kind: \"attribute\"; value: XmlAttribute }\ninterface ContentNode { kind: Exclude<XmlContent[\"kind\"], \"element\">; value: Exclude<XmlContent, XmlElement> }\nexport type Node = Container | AttributeNode | ContentNode;\nconst xmlns = \"http://www.w3.org/2000/xmlns/\";\n\nasync function indexTree(root: XmlElement, budget: XmlBudget): Promise<{ document: Container; order: Node[] }> {\n const document: Container = { kind: \"document\", children: [] };\n const order: Node[] = [document];\n const pending: { parent: Container; content: XmlContent }[] = [{ parent: document, content: root }];\n while (pending.length) {\n await budget.tick();\n const { parent, content } = pending.pop()!;\n if (content.kind === \"element\") {\n const node: ElementNode = { kind: \"element\", value: content, children: [], attributes: [] };\n parent.children.push(node); order.push(node);\n for (const attribute of content.attributes) {\n await budget.tick();\n if (attribute.namespace === xmlns) continue;\n const selected: AttributeNode = { kind: \"attribute\", value: attribute };\n node.attributes.push(selected); order.push(selected);\n }\n for (let index = content.content.length - 1; index >= 0; index--) {\n await budget.tick(); pending.push({ parent: node, content: content.content[index]! });\n }\n } else {\n const node: ContentNode = { kind: content.kind, value: content };\n parent.children.push(node); order.push(node);\n }\n }\n return { document, order };\n}\n\nfunction matches(node: Node, step: QueryStep): boolean {\n if (step.kind === \"text\") return node.kind === \"text\" || node.kind === \"cdata\";\n if (node.kind !== step.kind) return false;\n if (node.kind === \"element\" || node.kind === \"attribute\") {\n return step.name === \"*\" || node.value.namespace === \"\" && node.value.localName === step.name;\n }\n return false;\n}\n\nexport async function evaluate(query: Query, root: XmlElement, budget: XmlBudget): Promise<Node[]> {\n const { document, order } = await indexTree(root, budget);\n let contexts: Node[] = [document];\n for (const step of query.steps) {\n const parents = new Set<Node>();\n const pending = [...contexts];\n while (pending.length) {\n await budget.tick();\n const node = pending.pop()!;\n if (parents.has(node)) continue;\n parents.add(node);\n if (step.descendant && (node.kind === \"document\" || node.kind === \"element\")) {\n for (const child of node.children) { await budget.tick(); pending.push(child); }\n }\n }\n const selected = new Set<Node>();\n for (const parent of parents) {\n await budget.tick();\n const candidates = step.kind === \"attribute\"\n ? parent.kind === \"element\" ? parent.attributes : []\n : parent.kind === \"element\" || parent.kind === \"document\" ? parent.children : [];\n let matched: Node[] = [];\n for (const candidate of candidates) {\n await budget.tick();\n if (matches(candidate, step)) matched.push(candidate);\n }\n for (const predicate of step.predicates) {\n await budget.tick();\n if (predicate.kind === \"position\") matched = matched[predicate.value - 1] ? [matched[predicate.value - 1]!] : [];\n else {\n const filtered: Node[] = [];\n for (const candidate of matched) {\n await budget.tick();\n if (candidate.kind !== \"element\") continue;\n for (const attribute of candidate.attributes) {\n await budget.tick(attribute.value.value.length + 1);\n if (attribute.value.namespace === \"\" && attribute.value.localName === predicate.name && attribute.value.value === predicate.value) {\n filtered.push(candidate); break;\n }\n }\n }\n matched = filtered;\n }\n }\n for (const node of matched) { await budget.tick(); if (!selected.has(node)) { budget.results(selected.size + 1); selected.add(node); } }\n }\n contexts = [];\n for (const node of order) { await budget.tick(); if (selected.has(node)) contexts.push(node); }\n }\n return contexts;\n}\n\nexport async function* stringValue(node: Node | undefined, budget: XmlBudget): AsyncGenerator<string> {\n if (node === undefined) return;\n if (node.kind === \"attribute\") { yield node.value.value; return; }\n const pending: Node[] = [node];\n while (pending.length) {\n await budget.tick();\n const current = pending.pop()!;\n if (current.kind === \"element\" || current.kind === \"document\") {\n for (let index = current.children.length - 1; index >= 0; index--) {\n await budget.tick(); pending.push(current.children[index]!);\n }\n } else if (current.kind === \"text\" || current.kind === \"cdata\") yield current.value.text;\n }\n}\n\nexport async function* serialize(node: Node, budget: XmlBudget): AsyncGenerator<string> {\n if (node.kind === \"attribute\") {\n yield ` ${node.value.name}=\"`; yield* escape(node.value.value, true, budget); yield '\"'; return;\n }\n if (node.kind === \"document\") return;\n const pending: (XmlContent | string)[] = [node.value];\n while (pending.length) {\n await budget.tick();\n const current = pending.pop()!;\n if (typeof current === \"string\") { yield current; continue; }\n if (current.kind === \"element\") {\n yield `<${current.name}`;\n for (const attribute of current.attributes) {\n await budget.tick(); yield ` ${attribute.name}=\"`; yield* escape(attribute.value, true, budget); yield '\"';\n }\n if (!current.content.length) yield \"/>\";\n else {\n yield \">\"; pending.push(`</${current.name}>`);\n for (let index = current.content.length - 1; index >= 0; index--) {\n await budget.tick(); pending.push(current.content[index]!);\n }\n }\n } else if (current.kind === \"text\") yield* escape(current.text, false, budget);\n else if (current.kind === \"cdata\") { yield \"<![CDATA[\"; yield current.text; yield \"]]>\"; }\n else if (current.kind === \"comment\") { yield \"<!--\"; yield current.text; yield \"-->\"; }\n else if (current.kind === \"processing-instruction\") { yield `<?${current.target}`; if (current.text) { yield \" \"; yield current.text; } yield \"?>\"; }\n }\n}\n\nasync function* escape(value: string, attribute: boolean, budget: XmlBudget): AsyncGenerator<string> {\n let part = \"\";\n for (const character of value) {\n await budget.tick();\n part += character === \"&\" ? \"&\" : character === \"<\" ? \"<\" : character === \">\" ? \">\"\n : attribute && character === '\"' ? \""\" : attribute && character === \"\\n\" ? \" \"\n : character === \"\\r\" ? \" \" : attribute && character === \"\\t\" ? \"	\" : character;\n if (part.length >= 4096) { yield part; part = \"\"; }\n }\n if (part) yield part;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
outputFailure,
|
|
3
3
|
writeBytes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WPIOO4NX.js";
|
|
5
5
|
import {
|
|
6
6
|
init_platform
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-O2EVBRKF.js";
|
|
8
8
|
|
|
9
9
|
// packages/safe-bash/src/contracts/output.ts
|
|
10
10
|
init_platform();
|
|
@@ -148,4 +148,4 @@ function createOutputOperation(context, destination) {
|
|
|
148
148
|
export {
|
|
149
149
|
createOutputOperation
|
|
150
150
|
};
|
|
151
|
-
//# sourceMappingURL=chunk-
|
|
151
|
+
//# sourceMappingURL=chunk-CDBQXRWL.js.map
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FsError
|
|
3
|
-
} from "./chunk-CXMIIXJA.js";
|
|
4
1
|
import {
|
|
5
2
|
import_buffer,
|
|
6
3
|
init_platform
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-O2EVBRKF.js";
|
|
8
5
|
|
|
9
6
|
// packages/safe-bash/src/contracts/value.ts
|
|
10
7
|
init_platform();
|
|
@@ -352,23 +349,27 @@ function getCommandArguments(context) {
|
|
|
352
349
|
if (carrier.args !== context.args) throw new CommandArgumentIdentityError();
|
|
353
350
|
return carrier;
|
|
354
351
|
}
|
|
352
|
+
var commandRuntimeIdentity = Object.freeze({});
|
|
355
353
|
var CommandRegistry = class {
|
|
356
354
|
#commands = /* @__PURE__ */ new Map();
|
|
357
355
|
constructor(commands = []) {
|
|
358
356
|
for (const command of commands) this.register(command);
|
|
359
357
|
}
|
|
360
358
|
register(command, options = {}) {
|
|
361
|
-
const { name, execute } = command;
|
|
359
|
+
const { name, execute, runtimeIdentity, ...metadata } = command;
|
|
362
360
|
if (typeof name !== "string" || !name || /[\s/\0]/u.test(name)) {
|
|
363
361
|
throw new TypeError("Command names must be nonempty and contain no whitespace, slash, or NUL");
|
|
364
362
|
}
|
|
365
363
|
if (typeof execute !== "function") {
|
|
366
364
|
throw new TypeError("Command execute must be a function");
|
|
367
365
|
}
|
|
366
|
+
if (runtimeIdentity !== void 0 && runtimeIdentity !== commandRuntimeIdentity) {
|
|
367
|
+
throw new TypeError("Command requires its matching shell runtime; do not mix source and compiled runtime modules");
|
|
368
|
+
}
|
|
368
369
|
if (this.#commands.has(name) && !options.replace) {
|
|
369
370
|
throw new Error(`Command already registered: ${name}`);
|
|
370
371
|
}
|
|
371
|
-
this.#commands.set(name, Object.freeze({ ...
|
|
372
|
+
this.#commands.set(name, Object.freeze({ ...metadata, name, execute, ...runtimeIdentity === void 0 ? {} : { runtimeIdentity } }));
|
|
372
373
|
return this;
|
|
373
374
|
}
|
|
374
375
|
get(name) {
|
|
@@ -391,64 +392,6 @@ function validateExitCode(exitCode) {
|
|
|
391
392
|
return exitCode;
|
|
392
393
|
}
|
|
393
394
|
|
|
394
|
-
// packages/safe-bash/src/contracts/yield.ts
|
|
395
|
-
init_platform();
|
|
396
|
-
var checkpoints = /* @__PURE__ */ new WeakMap();
|
|
397
|
-
function monotonicNow() {
|
|
398
|
-
return globalThis.performance?.now() ?? Date.now();
|
|
399
|
-
}
|
|
400
|
-
function registerYieldCheckpoint(signal, checkpoint) {
|
|
401
|
-
checkpoints.set(signal, checkpoint);
|
|
402
|
-
}
|
|
403
|
-
function inheritYieldCheckpoint(parent, child) {
|
|
404
|
-
const checkpoint = checkpoints.get(parent);
|
|
405
|
-
if (checkpoint) checkpoints.set(child, checkpoint);
|
|
406
|
-
}
|
|
407
|
-
function scheduleTurn(callback) {
|
|
408
|
-
const host = globalThis;
|
|
409
|
-
return host.setImmediate ? { kind: "immediate", value: host.setImmediate(callback) } : { kind: "timeout", value: setTimeout(callback, 0) };
|
|
410
|
-
}
|
|
411
|
-
function cancelTurn(handle) {
|
|
412
|
-
if (handle?.kind === "immediate") globalThis.clearImmediate?.(handle.value);
|
|
413
|
-
else if (handle) clearTimeout(handle.value);
|
|
414
|
-
}
|
|
415
|
-
function yieldTurn(signal) {
|
|
416
|
-
signal?.throwIfAborted();
|
|
417
|
-
if (signal) checkpoints.get(signal)?.();
|
|
418
|
-
return new Promise((resolve, reject) => {
|
|
419
|
-
let handle;
|
|
420
|
-
const finish = () => {
|
|
421
|
-
signal?.removeEventListener("abort", abort);
|
|
422
|
-
resolve();
|
|
423
|
-
};
|
|
424
|
-
const abort = () => {
|
|
425
|
-
cancelTurn(handle);
|
|
426
|
-
reject(signal.reason);
|
|
427
|
-
};
|
|
428
|
-
signal?.addEventListener("abort", abort, { once: true });
|
|
429
|
-
if (signal?.aborted) abort();
|
|
430
|
-
else handle = scheduleTurn(finish);
|
|
431
|
-
});
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
// packages/safe-bash/src/diagnostics.ts
|
|
435
|
-
init_platform();
|
|
436
|
-
var PublicDiagnostic = class extends Error {
|
|
437
|
-
};
|
|
438
|
-
function publicDiagnosticMessage(error, onInternalError) {
|
|
439
|
-
if (error instanceof FsError || error instanceof CommandArgumentIdentityError) return error.message;
|
|
440
|
-
if (error instanceof PublicDiagnostic && !Object.hasOwn(error, "cause")) return error.message;
|
|
441
|
-
const original = error instanceof PublicDiagnostic ? error.cause : error;
|
|
442
|
-
const detail = error instanceof PublicDiagnostic ? error.message : "internal error";
|
|
443
|
-
try {
|
|
444
|
-
const pending = onInternalError?.(original);
|
|
445
|
-
if (pending !== void 0) void Promise.resolve(pending).catch(() => void 0);
|
|
446
|
-
} catch {
|
|
447
|
-
return detail;
|
|
448
|
-
}
|
|
449
|
-
return detail;
|
|
450
|
-
}
|
|
451
|
-
|
|
452
395
|
export {
|
|
453
396
|
shellValueFromBytes,
|
|
454
397
|
shellValueText,
|
|
@@ -459,15 +402,8 @@ export {
|
|
|
459
402
|
CommandArgumentIdentityError,
|
|
460
403
|
createCommandArguments,
|
|
461
404
|
getCommandArguments,
|
|
405
|
+
commandRuntimeIdentity,
|
|
462
406
|
CommandRegistry,
|
|
463
|
-
validateExitCode
|
|
464
|
-
monotonicNow,
|
|
465
|
-
registerYieldCheckpoint,
|
|
466
|
-
inheritYieldCheckpoint,
|
|
467
|
-
scheduleTurn,
|
|
468
|
-
cancelTurn,
|
|
469
|
-
yieldTurn,
|
|
470
|
-
PublicDiagnostic,
|
|
471
|
-
publicDiagnosticMessage
|
|
407
|
+
validateExitCode
|
|
472
408
|
};
|
|
473
|
-
//# sourceMappingURL=chunk-
|
|
409
|
+
//# sourceMappingURL=chunk-CHHAB5SS.js.map
|