@poe-platform/safe-bash 0.1.818 → 0.1.820
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/dist/office-xml/retained-xml-document.d.ts +2 -2
- package/dist/pdf-ast/cos/compact-number.d.ts +19 -0
- package/dist/pdf-ast/cos/mutable-object-store.d.ts +2 -1
- package/dist/pdf-ast/cos/retained-node-writer.d.ts +9 -0
- package/dist/pdf-ast/cos/text-store.d.ts +27 -0
- package/dist/pdf-ast/edit/retained-bookmarks.d.ts +2 -2
- package/dist/pdf-ast/edit/retained-info-updates.d.ts +3 -3
- package/dist/pdf-ast/edit/retained-merge-outlines.d.ts +43 -0
- package/dist/pdf-ast/edit/retained-page-copy.d.ts +2 -0
- package/dist/pdf-ast/image.js +1 -1
- package/dist/pdf-ast/index.d.ts +3 -0
- package/dist/pdf-ast/index.js +7 -1
- package/dist/pdf-ast/retained-document.d.ts +7 -0
- package/dist/pdf-ast/retained-reader.d.ts +4 -0
- package/dist/safe-bash/ast-grep.js +1 -1
- package/dist/safe-bash/audio-ast.js +1 -1
- package/dist/safe-bash/byte-encoding.js +1 -1
- package/dist/safe-bash/chunks/{chunk-HD6DWOAC.js → chunk-67QE3JLU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-HPQE675Q.js → chunk-ESH5MDQR.js} +1 -1
- package/dist/safe-bash/chunks/chunk-HNT2MR4W.js +45 -0
- package/dist/safe-bash/chunks/{chunk-SXSEF5E2.js → chunk-IRJS54AA.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-AXGI5JVL.js → chunk-NAETSXBW.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-WW7QPLH2.js → chunk-PSD2RSOS.js} +2 -1
- package/dist/safe-bash/chunks/{chunk-FQRI5AS5.js → chunk-VF3Q2V3E.js} +1 -1
- package/dist/safe-bash/chunks/{pdfinfo-KQIQEDOF.js → pdfinfo-G7BGZXBN.js} +2 -12
- package/dist/safe-bash/command-chunks/{chunk-CEHICGP6.js → chunk-22D6Q6SW.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-RYOHOS2I.js → chunk-2E53ZL5D.js} +11 -9
- package/dist/safe-bash/command-chunks/{chunk-EJ4UP7DA.js → chunk-2ESK2YIE.js} +27 -5
- package/dist/safe-bash/command-chunks/{chunk-X6KFCAWZ.js → chunk-2GU2UU2Z.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-L2VLASZ4.js → chunk-2GUI3ZKE.js} +3 -3
- package/dist/safe-bash/command-chunks/chunk-2H6RJPCQ.js +721 -0
- package/dist/safe-bash/command-chunks/{chunk-DRHONH2C.js → chunk-2IGH6JIP.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-45GTHPL5.js → chunk-2V6EUWE3.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QNLX3CZH.js → chunk-2VSNIHIW.js} +19 -19
- package/dist/safe-bash/command-chunks/{chunk-PX6E5MHY.js → chunk-3DID6MQY.js} +15 -5
- package/dist/safe-bash/command-chunks/{chunk-5VO534FR.js → chunk-3K5FCRUG.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-BSTABZIK.js → chunk-3LMUKOP2.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-FDRE535F.js → chunk-3MFYCMQU.js} +35 -35
- package/dist/safe-bash/command-chunks/chunk-3PO534WJ.js +37 -0
- package/dist/safe-bash/command-chunks/{chunk-VUJCVXD4.js → chunk-3RDEX4AF.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-3B6554G6.js → chunk-3TXPZLFI.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-YW7WU7W2.js → chunk-4HJEZGYN.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-V3NKL42J.js → chunk-4Q3HP33O.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-EBX5RKKT.js → chunk-4XYGJB24.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-D7UFAIBS.js → chunk-4ZQYBCB2.js} +15 -15
- package/dist/safe-bash/command-chunks/{chunk-TG2RVQLP.js → chunk-5KWEZV5H.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4Z7PBIMP.js → chunk-5P5SF75H.js} +79 -30
- package/dist/safe-bash/command-chunks/{chunk-HOBXZX23.js → chunk-5PJ6VT2O.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-CODJMTSA.js → chunk-5QR4LTAK.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-2WTDP3TP.js → chunk-5XIJYTQU.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-MTWFSBNG.js → chunk-63WEASJ7.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-NZF56C25.js → chunk-64L57DEI.js} +16 -16
- package/dist/safe-bash/command-chunks/{chunk-GPLN6JV2.js → chunk-6PDXNY3T.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-BJL7AGA5.js → chunk-6RE4MZYM.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-4OHTYYNU.js → chunk-6REH56FL.js} +11 -9
- package/dist/safe-bash/command-chunks/{chunk-XFIDOCYH.js → chunk-6ZHNKHQQ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-ZSF2T5D4.js → chunk-75OUKYCM.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-QCN7MRRU.js → chunk-772WNCU6.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-XVEI4HZL.js → chunk-7JTJQKIV.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-3ZVK2OAY.js → chunk-A4GYNM2E.js} +6 -5
- package/dist/safe-bash/command-chunks/{chunk-SQBWAFUI.js → chunk-ADN7BU5X.js} +58 -26
- package/dist/safe-bash/command-chunks/{chunk-XLFOLLUZ.js → chunk-AEHEOKI2.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-IKU7ZBF3.js → chunk-AH3ZEPAN.js} +10 -7
- package/dist/safe-bash/command-chunks/{chunk-F2JUB7JI.js → chunk-AR65HNNX.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-UZZ2WJQV.js → chunk-ARA57PMC.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-HX7QQNWS.js → chunk-AXUHORS3.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-B6NAEWHC.js +53 -0
- package/dist/safe-bash/command-chunks/{chunk-2ZWRW6UQ.js → chunk-B74LVFAN.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-E4TF5W6O.js → chunk-BBOYR6LV.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-GNT3SCF3.js → chunk-BOMCPF7N.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-R6X63VAO.js → chunk-BSLXS4PE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-N6TG44VG.js → chunk-BTDSUATE.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-VZJRFHMZ.js → chunk-BXDNFBKZ.js} +26 -2
- package/dist/safe-bash/command-chunks/chunk-BZLLQWRK.js +296 -0
- package/dist/safe-bash/command-chunks/{chunk-Z33YS3DW.js → chunk-C3FERGHU.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-C5SLY3RB.js +279 -0
- package/dist/safe-bash/command-chunks/{chunk-X4TWJNW7.js → chunk-CI6KHUFK.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-CJIFJ45R.js +203 -0
- package/dist/safe-bash/command-chunks/{chunk-OTEHQQU7.js → chunk-CKQ5SXOO.js} +8 -59
- package/dist/safe-bash/command-chunks/{chunk-UBX5I5HY.js → chunk-CPCXE2TM.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-WPEIOUJN.js → chunk-CXOAMPOV.js} +14 -12
- package/dist/safe-bash/command-chunks/{chunk-4SFX6YGC.js → chunk-D3WMD32B.js} +14 -14
- package/dist/safe-bash/command-chunks/{chunk-SF56V6QK.js → chunk-D54L2IOZ.js} +10 -10
- package/dist/safe-bash/command-chunks/{chunk-RNIFPFGC.js → chunk-DBYY7IDI.js} +18 -16
- package/dist/safe-bash/command-chunks/{chunk-DGCJVZW6.js → chunk-DGFMOT4O.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-N5J3IZZK.js → chunk-DQVOBGI2.js} +12414 -8140
- package/dist/safe-bash/command-chunks/{chunk-IFBLXBBM.js → chunk-DTLIBRCQ.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-4PMMJ45F.js → chunk-DZTT5SLG.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-77NXQZGK.js → chunk-DZY7V74W.js} +3 -1
- package/dist/safe-bash/command-chunks/chunk-E47FFS5M.js +52 -0
- package/dist/safe-bash/command-chunks/{chunk-LNKZVU5V.js → chunk-E76WK7OQ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-TTVJJZOM.js → chunk-EBMKGNKF.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-LNHTLWIL.js → chunk-EG7VVDV3.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-GZNX5SS4.js → chunk-EIZFAUUD.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-5UGQGB5Y.js → chunk-ESIEU4E4.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-QJZJWL2X.js → chunk-ET3CPTJT.js} +38 -25
- package/dist/safe-bash/command-chunks/{chunk-XQFEP43Y.js → chunk-ETS4BINB.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-WJSU2UVG.js → chunk-EU5SR3LS.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-WRCYZJNO.js → chunk-FCGMSOF6.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-XB5ZZHFD.js → chunk-FGK6HLSY.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-7ADQE64C.js → chunk-FMGNXOMV.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-FVHPDYV5.js +3902 -0
- package/dist/safe-bash/command-chunks/{chunk-QLE6JUR7.js → chunk-FX54I4AC.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-MRBX4KEP.js → chunk-GAYTDZPP.js} +5 -5
- package/dist/safe-bash/command-chunks/chunk-GCSKS22X.js +15 -0
- package/dist/safe-bash/command-chunks/{chunk-UVZJAV2S.js → chunk-GNPPPYDF.js} +1 -78
- package/dist/safe-bash/command-chunks/{chunk-B6XTAKKQ.js → chunk-GNVAW6NL.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-GQV5RWMN.js +27 -0
- package/dist/safe-bash/command-chunks/{chunk-PWHIVWQT.js → chunk-GVDVRC7J.js} +15 -19
- package/dist/safe-bash/command-chunks/{chunk-KXM3HTAF.js → chunk-GYKQ3IOV.js} +27 -14
- package/dist/safe-bash/command-chunks/{chunk-BFRSYJUC.js → chunk-HBR5PWX4.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-ZOEKSH3R.js → chunk-HCPEYQKT.js} +5 -4
- package/dist/safe-bash/command-chunks/{chunk-TTTNFKT6.js → chunk-HCZITM4C.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-4SISSPIH.js → chunk-HLRLMFMS.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-HNEWGADJ.js +43 -0
- package/dist/safe-bash/command-chunks/{chunk-GQ7BD75U.js → chunk-HQFX5XKV.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-V6NZVM7C.js → chunk-HSB55ED5.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-G3FK5VVG.js → chunk-HTBUIRTH.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QCIAX6HZ.js → chunk-HUAQZFON.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-JNRX5EFF.js → chunk-HVLF3Y4B.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-M5BFAMXD.js → chunk-I6CQDCIP.js} +5 -5
- package/dist/safe-bash/command-chunks/chunk-I7MEH76L.js +276 -0
- package/dist/safe-bash/command-chunks/{chunk-E3BL7W5C.js → chunk-IAHYG67O.js} +152 -80
- package/dist/safe-bash/command-chunks/{chunk-EAGIJ4VW.js → chunk-IC5XC4TO.js} +118 -118
- package/dist/safe-bash/command-chunks/{chunk-YN3OEJAZ.js → chunk-IGZOQT2L.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-FJLSYX5P.js → chunk-ITJDLFPW.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-LSKA4IR4.js → chunk-IYEAS7TU.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-P57V45F2.js → chunk-J3ISXTYB.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-5WS6DXYE.js → chunk-J3VS55K4.js} +3142 -2489
- package/dist/safe-bash/command-chunks/chunk-J4I7KCQQ.js +495 -0
- package/dist/safe-bash/command-chunks/{chunk-HQEYSSZV.js → chunk-JLS6XKAR.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IJE65P52.js → chunk-JMUB5A26.js} +27 -8
- package/dist/safe-bash/command-chunks/{chunk-IJZUUXLL.js → chunk-JQPDVCBU.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-EBKKYRQJ.js → chunk-JSW6YH6T.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-YJ5IA5YQ.js → chunk-K576GZED.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-C2QUG7IP.js → chunk-K6J3KFQ2.js} +17 -122
- package/dist/safe-bash/command-chunks/{chunk-5PMLTSQ5.js → chunk-KQE2D7PX.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-Q65GWGQR.js → chunk-KVTZJBLM.js} +5 -5
- package/dist/safe-bash/command-chunks/chunk-L365UGC7.js +250 -0
- package/dist/safe-bash/command-chunks/{chunk-5VY5O37W.js → chunk-LBBJ5S3W.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WHZ6XK7Y.js → chunk-LBILRPVR.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-NTXRKJPZ.js → chunk-LDR3PPM3.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-Y7XL6CWB.js → chunk-LJLB7TBN.js} +19 -15
- package/dist/safe-bash/command-chunks/{chunk-3ZGO24WG.js → chunk-LZHFVNEV.js} +17 -107
- package/dist/safe-bash/command-chunks/{chunk-KFFV7HBL.js → chunk-M7MQTU77.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-MCUDSE4H.js +77 -0
- package/dist/safe-bash/command-chunks/{chunk-JT656DKZ.js → chunk-MD5ZSARP.js} +5 -5
- package/dist/safe-bash/command-chunks/chunk-MEST2HID.js +112 -0
- package/dist/safe-bash/command-chunks/{chunk-YS5ZKMRJ.js → chunk-MLMFFBOU.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-NFWLZDMY.js → chunk-MQCLG2CT.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4WHTTCKY.js → chunk-N5Y7WWO6.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-MZYQKH26.js → chunk-NA6YAGAH.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-BB7HBO56.js → chunk-NDJPULBE.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-WI5NEHPD.js → chunk-NN6OWOJG.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-OL75SBZL.js → chunk-NNYOPI7K.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-ZBXUAM34.js → chunk-NR7POLKP.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-57SKL76U.js → chunk-NWA7ZJDV.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-CSS5KXQC.js → chunk-O3FTKLWR.js} +94 -61
- package/dist/safe-bash/command-chunks/{chunk-6KJDTKE4.js → chunk-O4H7HPMP.js} +35 -393
- package/dist/safe-bash/command-chunks/{chunk-5GP4A3TD.js → chunk-OLNV5MI6.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-BBEAO5N7.js → chunk-OLXMWQJ5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QWX5IERU.js → chunk-OMD45J52.js} +23 -19
- package/dist/safe-bash/command-chunks/{chunk-AXI7VMLG.js → chunk-OOYVZAWL.js} +3 -41
- package/dist/safe-bash/command-chunks/{chunk-GNORF6RY.js → chunk-OPKLIF5P.js} +12 -12
- package/dist/safe-bash/command-chunks/{chunk-E3DF7RTE.js → chunk-OT75C5YS.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-X6KO7D6R.js → chunk-OVCSXD7N.js} +6 -6
- package/dist/safe-bash/command-chunks/chunk-P3LHQOX7.js +371 -0
- package/dist/safe-bash/command-chunks/{chunk-M7DZ7COK.js → chunk-P3TV5GIG.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-CCNOZKAK.js → chunk-P5UFNPRE.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-VW67MA53.js → chunk-PAEAEFK3.js} +122 -12
- package/dist/safe-bash/command-chunks/{chunk-5RDS6CNQ.js → chunk-PH722HK2.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-OU4VE5CR.js → chunk-PKH57OIC.js} +8 -6
- package/dist/safe-bash/command-chunks/{chunk-GTOMW4VV.js → chunk-PNOXBL2B.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-L4XSOULP.js → chunk-PPNPXNM6.js} +38 -2
- package/dist/safe-bash/command-chunks/{chunk-UH4CQIU3.js → chunk-PVKSBXHB.js} +11 -9
- package/dist/safe-bash/command-chunks/{chunk-6LOAJOWK.js → chunk-PYYAX5FB.js} +23 -23
- package/dist/safe-bash/command-chunks/{chunk-MOUCMZZP.js → chunk-PZVFNPRC.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-37KBCKDF.js → chunk-QCCRQU44.js} +10 -10
- package/dist/safe-bash/command-chunks/{chunk-C34RLMAC.js → chunk-QEVSG6HQ.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-YOYK2I4N.js → chunk-QGSY4ZAU.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-4YFTJS5U.js → chunk-QMXOKYMJ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-PFUZPAXQ.js → chunk-QPHI7Y7Z.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-HNY7LZ5P.js → chunk-QWQHLMDX.js} +7 -7
- package/dist/safe-bash/command-chunks/chunk-QX3WKBLI.js +58 -0
- package/dist/safe-bash/command-chunks/{chunk-V6OWCRHN.js → chunk-QZPSGPN5.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-R36PDP3L.js +106 -0
- package/dist/safe-bash/command-chunks/{chunk-L6X4EEN6.js → chunk-R43WEA4C.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-JSX5CFZY.js → chunk-R6VXFTYL.js} +44 -44
- package/dist/safe-bash/command-chunks/{chunk-OVUY46QF.js → chunk-RC4TNFNF.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-PU5DMQGG.js → chunk-RESJSUHH.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-CVMHDJ7J.js → chunk-RHXV2KG5.js} +520 -6
- package/dist/safe-bash/command-chunks/{chunk-7B2MHKIW.js → chunk-RKON2TGI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ITXSHOLP.js → chunk-RQTFK7AV.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-CFMJXJS5.js → chunk-RTUDDAAY.js} +9 -4
- package/dist/safe-bash/command-chunks/{chunk-FAU2KL6I.js → chunk-S5MBHFLB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-B6T2526I.js → chunk-S6223MIG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-N6VNHC3B.js → chunk-SKDJCMGI.js} +10 -8
- package/dist/safe-bash/command-chunks/{chunk-3W3HLPCX.js → chunk-SKF6PGA5.js} +10 -10
- package/dist/safe-bash/command-chunks/{chunk-2FEMMALH.js → chunk-SLD5A7IL.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-FVAFISPY.js → chunk-T2LZWXWF.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-ATHU53C2.js → chunk-TMJG745A.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-FQ2WRT4Q.js → chunk-TP5MZHCB.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-EV3DPRWE.js → chunk-TPSRY72Q.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-73KY3MZ3.js → chunk-TTPT3OME.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-424NYO35.js → chunk-U6VSRO6E.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-5VF2EA7Z.js → chunk-U7J3R7HX.js} +6 -1
- package/dist/safe-bash/command-chunks/{chunk-A32PUWYE.js → chunk-UDRJKA3P.js} +11 -11
- package/dist/safe-bash/command-chunks/{chunk-3B444A5G.js → chunk-UI5AS3FS.js} +10 -2
- package/dist/safe-bash/command-chunks/{chunk-YKEMSPJZ.js → chunk-UMOQHHSV.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-D5XSGHXN.js → chunk-UNI6QG45.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-77WBFVZQ.js → chunk-UTSN7AKE.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-F5QYUK2E.js → chunk-UWIDPTOB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-F42WV2YO.js → chunk-V2J6AC6S.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-ZZ27QNBY.js → chunk-V2PJO6JL.js} +29 -60
- package/dist/safe-bash/command-chunks/{chunk-EDBNI7WE.js → chunk-VAMBWXDV.js} +60 -9
- package/dist/safe-bash/command-chunks/{chunk-KM2SMMXZ.js → chunk-VJQ5OWS5.js} +80 -2
- package/dist/safe-bash/command-chunks/{chunk-MI2WY75O.js → chunk-VWBNUCUP.js} +28 -11
- package/dist/safe-bash/command-chunks/{chunk-232N24HE.js → chunk-W4BC2YGQ.js} +11 -11
- package/dist/safe-bash/command-chunks/{chunk-Y3ZRIZL7.js → chunk-W5LH7D23.js} +26 -13
- package/dist/safe-bash/command-chunks/{chunk-K6E56LND.js → chunk-W6L4Z2VX.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-MURNTGDL.js → chunk-WEXEZRMH.js} +5 -5
- package/dist/safe-bash/command-chunks/chunk-WIUEM7HP.js +58 -0
- package/dist/safe-bash/command-chunks/{chunk-AQ3XOOPQ.js → chunk-WKS2PAZL.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-MMSKDYK6.js → chunk-WOECEZAC.js} +336 -74
- package/dist/safe-bash/command-chunks/{chunk-5OS4Q3AX.js → chunk-WOO3YO2X.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-7YDJ7LDO.js → chunk-WOT2YXBT.js} +8 -223
- package/dist/safe-bash/command-chunks/{chunk-OVQSILY3.js → chunk-WV3C6BRD.js} +12 -12
- package/dist/safe-bash/command-chunks/{chunk-N3MAYM6Y.js → chunk-X3EDCCXU.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-6PE2L522.js → chunk-XE75H5ZZ.js} +13 -13
- package/dist/safe-bash/command-chunks/{chunk-LF7YJ5VQ.js → chunk-XMNPE6RN.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-DCKAY6HV.js → chunk-XNVL6AOV.js} +14 -14
- package/dist/safe-bash/command-chunks/{chunk-MOJQT6RW.js → chunk-XPUYA7YU.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-HW3IOXT6.js → chunk-XXUMECE4.js} +20 -18
- package/dist/safe-bash/command-chunks/{chunk-OAM2SUUI.js → chunk-YB5TNDY6.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-VEZULAIA.js → chunk-YJMS5Q4Y.js} +12 -12
- package/dist/safe-bash/command-chunks/{chunk-KADQKXZE.js → chunk-YJTP4ROI.js} +11 -11
- package/dist/safe-bash/command-chunks/{chunk-7ITPO2V6.js → chunk-YNFQ5AXM.js} +80 -45
- package/dist/safe-bash/command-chunks/{chunk-7PYDVQPB.js → chunk-YWP62BAZ.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-YXIJOYT6.js +416 -0
- package/dist/safe-bash/command-chunks/{chunk-NQL3WNFI.js → chunk-YYRVGXJH.js} +44 -5
- package/dist/safe-bash/command-chunks/{chunk-7ZEGARPB.js → chunk-Z7UPCDTU.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-O2XP6HQN.js → chunk-ZBGP6XEG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-VWRHPDCD.js → chunk-ZIDESNHW.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-D2ZT2UUT.js → chunk-ZLMCWAAU.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-UE34SQET.js → chunk-ZODGWV3Y.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-DIRK47GT.js → chunk-ZPBL7TYJ.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-OA4MEWTN.js → chunk-ZQ4NQ24M.js} +10 -10
- package/dist/safe-bash/command-chunks/{chunk-4IDV763L.js → chunk-ZS4J5B6Y.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-ZTW2E5OT.js +1016 -0
- package/dist/safe-bash/command-chunks/{chunk-MN7EEK6Y.js → chunk-ZUOID3FA.js} +10 -10
- package/dist/safe-bash/command-chunks/chunk-ZWGERYLT.js +192 -0
- package/dist/safe-bash/command-chunks/{chunk-F2NF6FHV.js → chunk-ZXIOTUXC.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-DJB5RB6U.js → chunk-ZZ6EIACJ.js} +21 -68
- package/dist/safe-bash/command-chunks/{chunk-XMRQ6UP2.js → chunk-ZZO3GYEZ.js} +1 -11
- package/dist/safe-bash/command-chunks/{command-engine-PFYHL7GS.js → command-engine-B6X6WAMX.js} +375 -114
- package/dist/safe-bash/command-chunks/{engine-5AVSKFBI-D7Q5VPUN.js → engine-UPLVIV72-IGXUDNO5.js} +1 -1
- package/dist/safe-bash/command-chunks/{model-store-IIWQHSEZ.js → model-store-RGLCVIML.js} +9 -9
- package/dist/safe-bash/command-chunks/paradox-BHPRIGXX-RQN37FHB.js +370 -0
- package/dist/safe-bash/command-chunks/prompt-tool-debug-ERJKK3XZ.js +171 -0
- package/dist/safe-bash/commands/alias/index.js +1 -1
- package/dist/safe-bash/commands/apply-patch/index.js +1 -1
- package/dist/safe-bash/commands/archive/create.js +1 -1
- package/dist/safe-bash/commands/archive/extract.js +1 -1
- package/dist/safe-bash/commands/archive/format.js +1 -1
- package/dist/safe-bash/commands/archive/index.js +1 -1
- package/dist/safe-bash/commands/archive/internal.js +1 -1
- package/dist/safe-bash/commands/archive/listing.js +1 -1
- package/dist/safe-bash/commands/archive/modes.js +1 -1
- package/dist/safe-bash/commands/archive/options.js +1 -1
- package/dist/safe-bash/commands/archive/stream.js +1 -1
- package/dist/safe-bash/commands/archive/transform.js +1 -1
- package/dist/safe-bash/commands/archive/unzip/safety.js +1 -1
- package/dist/safe-bash/commands/archive/unzip.js +1 -1
- package/dist/safe-bash/commands/archive/zip/aes.js +1 -1
- package/dist/safe-bash/commands/archive/zip/comments.js +1 -1
- package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
- package/dist/safe-bash/commands/archive/zip/crypto.js +1 -1
- package/dist/safe-bash/commands/archive/zip/dates.js +1 -1
- package/dist/safe-bash/commands/archive/zip/environment.js +1 -1
- package/dist/safe-bash/commands/archive/zip/grow.js +1 -1
- package/dist/safe-bash/commands/archive/zip/help.js +1 -1
- package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -1
- package/dist/safe-bash/commands/archive/zip/log.js +1 -1
- package/dist/safe-bash/commands/archive/zip/lzma.js +1 -1
- package/dist/safe-bash/commands/archive/zip/move.js +1 -1
- package/dist/safe-bash/commands/archive/zip/names.js +1 -1
- package/dist/safe-bash/commands/archive/zip/options.js +1 -1
- package/dist/safe-bash/commands/archive/zip/repair.js +1 -1
- package/dist/safe-bash/commands/archive/zip/safety.js +1 -1
- package/dist/safe-bash/commands/archive/zip/sfx.js +1 -1
- package/dist/safe-bash/commands/archive/zip/test-command.js +1 -1
- package/dist/safe-bash/commands/archive/zip/volumes.js +1 -1
- package/dist/safe-bash/commands/archive/zip/zip64.js +1 -1
- package/dist/safe-bash/commands/archive/zip-format.js +1 -1
- package/dist/safe-bash/commands/archive/zip.js +1 -1
- package/dist/safe-bash/commands/ast-grep/index.js +1 -1
- package/dist/safe-bash/commands/audio/index.browser.js +2 -8
- package/dist/safe-bash/commands/audio/index.js +1 -1
- package/dist/safe-bash/commands/awk/index.js +1 -1
- package/dist/safe-bash/commands/base32/index.js +1 -1
- package/dist/safe-bash/commands/base64/index.js +1 -1
- package/dist/safe-bash/commands/bc/index.browser.js +1 -1
- package/dist/safe-bash/commands/bc/index.js +1 -1
- package/dist/safe-bash/commands/bytes/checksums/sm3.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/codec-loader.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/codec.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/errors.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/file-operation.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/files.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/gunzip.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/stream.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/xz-list.js +1 -1
- package/dist/safe-bash/commands/bytes/compression/zstd-decode.js +1 -1
- package/dist/safe-bash/commands/bytes/encoding/base.js +1 -1
- package/dist/safe-bash/commands/bytes/encoding/shared.js +1 -1
- package/dist/safe-bash/commands/bytes/input-budget.js +1 -1
- package/dist/safe-bash/commands/bzip2/index.js +1 -1
- package/dist/safe-bash/commands/cal/index.js +1 -1
- package/dist/safe-bash/commands/caller/index.js +1 -1
- package/dist/safe-bash/commands/canonicalize-existing-parent.js +1 -1
- package/dist/safe-bash/commands/chmod/index.js +1 -1
- package/dist/safe-bash/commands/column/index.js +1 -1
- package/dist/safe-bash/commands/comm/index.js +1 -1
- package/dist/safe-bash/commands/copy-backup.js +1 -1
- package/dist/safe-bash/commands/copy-preserve.js +1 -1
- package/dist/safe-bash/commands/copy-source.js +1 -1
- package/dist/safe-bash/commands/cp/index.js +1 -1
- package/dist/safe-bash/commands/csplit/index.js +1 -1
- package/dist/safe-bash/commands/csvcut/index.js +1 -1
- package/dist/safe-bash/commands/csvgrep/index.js +1 -1
- package/dist/safe-bash/commands/csvkit/index.js +1 -1
- package/dist/safe-bash/commands/curl/index.js +1 -1
- package/dist/safe-bash/commands/date/index.js +1 -1
- package/dist/safe-bash/commands/df/index.js +1 -1
- package/dist/safe-bash/commands/diff/index.js +1 -1
- package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -1
- package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -1
- package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -1
- package/dist/safe-bash/commands/diff-patch/diff.js +1 -1
- package/dist/safe-bash/commands/diff-patch/index.js +2 -2
- package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -1
- package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -1
- package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -1
- package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -1
- package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -1
- package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -1
- package/dist/safe-bash/commands/diff-patch/patch.js +1 -1
- package/dist/safe-bash/commands/diff-patch/shared.js +1 -1
- package/dist/safe-bash/commands/diff-patch/unified.js +1 -1
- package/dist/safe-bash/commands/diff3/index.js +1 -1
- package/dist/safe-bash/commands/diffpdf/index.js +1 -1
- package/dist/safe-bash/commands/directory-admission.js +1 -1
- package/dist/safe-bash/commands/docx/index.js +1 -1
- package/dist/safe-bash/commands/docx/io.js +1 -1
- package/dist/safe-bash/commands/dos2unix/index.js +1 -1
- package/dist/safe-bash/commands/dot/index.js +1 -1
- package/dist/safe-bash/commands/du/index.js +1 -1
- package/dist/safe-bash/commands/egrep/index.js +1 -1
- package/dist/safe-bash/commands/env/index.js +1 -1
- package/dist/safe-bash/commands/env-split.js +1 -1
- package/dist/safe-bash/commands/exiftool/index.js +1 -1
- package/dist/safe-bash/commands/expand/index.js +1 -1
- package/dist/safe-bash/commands/expr/index.js +1 -1
- package/dist/safe-bash/commands/factor/index.js +1 -1
- package/dist/safe-bash/commands/fd/index.js +1 -1
- package/dist/safe-bash/commands/ffmpeg/index.js +1 -1
- package/dist/safe-bash/commands/ffprobe/index.js +1 -1
- package/dist/safe-bash/commands/fgrep/index.js +1 -1
- package/dist/safe-bash/commands/file/index.js +1 -1
- package/dist/safe-bash/commands/filesystem-requirements.js +1 -1
- package/dist/safe-bash/commands/find/index.js +1 -1
- package/dist/safe-bash/commands/find-format.js +1 -1
- package/dist/safe-bash/commands/find.js +1 -1
- package/dist/safe-bash/commands/fmt/index.js +1 -1
- package/dist/safe-bash/commands/fold/index.js +1 -1
- package/dist/safe-bash/commands/getconf/index.js +1 -1
- package/dist/safe-bash/commands/getopt/index.js +1 -1
- package/dist/safe-bash/commands/gnu-information.js +1 -1
- package/dist/safe-bash/commands/gpg/index.js +1 -1
- package/dist/safe-bash/commands/graphviz/index.js +3 -3
- package/dist/safe-bash/commands/grep/index.js +1 -1
- package/dist/safe-bash/commands/grep-aliases/aliases.js +1 -1
- package/dist/safe-bash/commands/grep.js +1 -1
- package/dist/safe-bash/commands/gzip/index.js +1 -1
- package/dist/safe-bash/commands/hexdump/index.js +1 -1
- package/dist/safe-bash/commands/hostname/index.js +1 -1
- package/dist/safe-bash/commands/html-to-markdown/index.js +1 -1
- package/dist/safe-bash/commands/htmlq/index.js +1 -1
- package/dist/safe-bash/commands/iconv/index.js +1 -1
- package/dist/safe-bash/commands/id/index.js +1 -1
- package/dist/safe-bash/commands/imagemagick/index.js +1 -1
- package/dist/safe-bash/commands/internal.js +1 -1
- package/dist/safe-bash/commands/join/index.js +1 -1
- package/dist/safe-bash/commands/jq/index.js +1 -1
- package/dist/safe-bash/commands/less/index.js +1 -1
- package/dist/safe-bash/commands/line-endings/index.js +1 -1
- package/dist/safe-bash/commands/llm/collections.js +1 -1
- package/dist/safe-bash/commands/llm/command.js +1 -1
- package/dist/safe-bash/commands/llm/elevenlabs-stream.js +1 -1
- package/dist/safe-bash/commands/llm/elevenlabs.js +1 -1
- package/dist/safe-bash/commands/llm/index.browser.js +21 -1
- package/dist/safe-bash/commands/llm/index.js +1 -1
- package/dist/safe-bash/commands/llm/mime.js +1 -1
- package/dist/safe-bash/commands/llm/openai-http.js +1 -1
- package/dist/safe-bash/commands/llm/openai-sse.js +1 -1
- package/dist/safe-bash/commands/llm/openai.js +1 -1
- package/dist/safe-bash/commands/llm/providers/elevenlabs.js +1 -1
- package/dist/safe-bash/commands/llm/providers/index.js +1 -1
- package/dist/safe-bash/commands/llm/providers/openai.js +1 -1
- package/dist/safe-bash/commands/llm/providers/shared.js +1 -1
- package/dist/safe-bash/commands/llm/service.js +1 -1
- package/dist/safe-bash/commands/locale/index.js +1 -1
- package/dist/safe-bash/commands/md5sum/index.js +1 -1
- package/dist/safe-bash/commands/mdq/index.js +1 -1
- package/dist/safe-bash/commands/media/index.js +1 -1
- package/dist/safe-bash/commands/media/plugin.js +1 -1
- package/dist/safe-bash/commands/media/remote.js +1 -1
- package/dist/safe-bash/commands/media/settings.js +1 -1
- package/dist/safe-bash/commands/metadata/chmod.js +1 -1
- package/dist/safe-bash/commands/metadata/internal.js +1 -1
- package/dist/safe-bash/commands/metadata/mktemp.js +1 -1
- package/dist/safe-bash/commands/metadata/stat.js +1 -1
- package/dist/safe-bash/commands/mktemp/index.js +1 -1
- package/dist/safe-bash/commands/mmdc/index.js +1 -1
- package/dist/safe-bash/commands/more/index.js +1 -1
- package/dist/safe-bash/commands/neato/index.js +1 -1
- package/dist/safe-bash/commands/network/aggregate.js +1 -1
- package/dist/safe-bash/commands/network/args.js +1 -1
- package/dist/safe-bash/commands/network/authorizer.js +1 -1
- package/dist/safe-bash/commands/network/body.js +1 -1
- package/dist/safe-bash/commands/network/curl.js +1 -1
- package/dist/safe-bash/commands/network/deadline.js +1 -1
- package/dist/safe-bash/commands/network/decode.js +1 -1
- package/dist/safe-bash/commands/network/fetch-transport.js +1 -1
- package/dist/safe-bash/commands/network/form-content-type.js +1 -1
- package/dist/safe-bash/commands/network/form-headers.js +1 -1
- package/dist/safe-bash/commands/network/glob.js +1 -1
- package/dist/safe-bash/commands/network/input.js +1 -1
- package/dist/safe-bash/commands/network/output.js +1 -1
- package/dist/safe-bash/commands/network/platform-portable.js +1 -1
- package/dist/safe-bash/commands/network/platform.js +1 -1
- package/dist/safe-bash/commands/network/private-address.js +1 -1
- package/dist/safe-bash/commands/network/shared.js +1 -1
- package/dist/safe-bash/commands/network/types.js +1 -1
- package/dist/safe-bash/commands/network/url.js +1 -1
- package/dist/safe-bash/commands/network/wget.js +1 -1
- package/dist/safe-bash/commands/nl/index.js +1 -1
- package/dist/safe-bash/commands/node/browser.js +1 -1
- package/dist/safe-bash/commands/node/buffer.js +1 -1
- package/dist/safe-bash/commands/node/default-runtime.js +1 -1
- package/dist/safe-bash/commands/node/filesystem.js +1 -1
- package/dist/safe-bash/commands/node/path.js +1 -1
- package/dist/safe-bash/commands/node/safejs.js +1 -1
- package/dist/safe-bash/commands/node/source-maps.js +1 -1
- package/dist/safe-bash/commands/node/timers.js +1 -1
- package/dist/safe-bash/commands/node/types.js +1 -1
- package/dist/safe-bash/commands/node/worker-types.js +1 -1
- package/dist/safe-bash/commands/nproc/index.js +1 -1
- package/dist/safe-bash/commands/numfmt/index.js +1 -1
- package/dist/safe-bash/commands/od/index.js +1 -1
- package/dist/safe-bash/commands/op/index.js +23 -1
- package/dist/safe-bash/commands/openssl/index.js +1 -1
- package/dist/safe-bash/commands/pandoc/index.browser.js +1 -1
- package/dist/safe-bash/commands/pandoc/index.js +1 -1
- package/dist/safe-bash/commands/paste/index.js +1 -1
- package/dist/safe-bash/commands/patch/index.js +1 -1
- package/dist/safe-bash/commands/pathchk/index.js +1 -1
- package/dist/safe-bash/commands/pdfimages/index.js +1 -1
- package/dist/safe-bash/commands/pdfinfo/index.js +1 -1
- package/dist/safe-bash/commands/pdfseparate/index.js +1 -1
- package/dist/safe-bash/commands/pdftk/index.js +1 -1
- package/dist/safe-bash/commands/pdftoppm/index.js +1 -1
- package/dist/safe-bash/commands/pdftotext/index.js +1 -1
- package/dist/safe-bash/commands/pdfunite/index.js +1 -1
- package/dist/safe-bash/commands/playwright/index.js +1 -1
- package/dist/safe-bash/commands/portable-random.js +1 -1
- package/dist/safe-bash/commands/portable-requirements.js +1 -1
- package/dist/safe-bash/commands/pptx/index.js +1 -1
- package/dist/safe-bash/commands/pr/index.js +1 -1
- package/dist/safe-bash/commands/printenv/index.js +1 -1
- package/dist/safe-bash/commands/python/executor-pool.js +1 -1
- package/dist/safe-bash/commands/python/executor.browser.js +2 -1
- package/dist/safe-bash/commands/python/executor.js +1 -1
- package/dist/safe-bash/commands/python/host-capabilities.js +1 -1
- package/dist/safe-bash/commands/python/index.browser.js +3 -1
- package/dist/safe-bash/commands/python/index.js +1 -1
- package/dist/safe-bash/commands/python/jspi-assets.js +1 -1
- package/dist/safe-bash/commands/python/jspi-trampoline.js +1 -1
- package/dist/safe-bash/commands/python/jspi.js +1 -1
- package/dist/safe-bash/commands/python/llm-capability.js +1 -1
- package/dist/safe-bash/commands/python/llm-dependencies.js +1 -1
- package/dist/safe-bash/commands/python/llm-module.js +1 -1
- package/dist/safe-bash/commands/python/llm-provider.js +1 -1
- package/dist/safe-bash/commands/python/llm-reference-module.js +1 -1
- package/dist/safe-bash/commands/python/provisioning.js +1 -1
- package/dist/safe-bash/commands/python/shell-capability.js +1 -1
- package/dist/safe-bash/commands/python/shell-module.js +1 -1
- package/dist/safe-bash/commands/python/worker.js +1 -1
- package/dist/safe-bash/commands/qpdf/index.js +1 -1
- package/dist/safe-bash/commands/qrencode/index.js +1 -1
- package/dist/safe-bash/commands/readlink/index.js +1 -1
- package/dist/safe-bash/commands/readlink-missing.js +1 -1
- package/dist/safe-bash/commands/realpath/index.js +1 -1
- package/dist/safe-bash/commands/record-buffer.js +1 -1
- package/dist/safe-bash/commands/regex-execution/ascii.js +1 -1
- package/dist/safe-bash/commands/regex-execution/bounded-glob.js +1 -1
- package/dist/safe-bash/commands/regex-execution/bounded-provider.js +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/errors.js +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/limits.js +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/matcher.js +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/syntax.js +1 -1
- package/dist/safe-bash/commands/regex-execution/portable.js +1 -1
- package/dist/safe-bash/commands/regex-execution/protocol.js +1 -1
- package/dist/safe-bash/commands/regex-execution/utf8.js +1 -1
- package/dist/safe-bash/commands/rev/index.js +1 -1
- package/dist/safe-bash/commands/rg/index.js +1 -1
- package/dist/safe-bash/commands/rgrep/index.js +1 -1
- package/dist/safe-bash/commands/rsvg-convert/index.js +1 -1
- package/dist/safe-bash/commands/safejs/io.js +1 -1
- package/dist/safe-bash/commands/safejs/options.js +1 -1
- package/dist/safe-bash/commands/safejs/render.js +1 -1
- package/dist/safe-bash/commands/safejs/runtime.js +1 -1
- package/dist/safe-bash/commands/safejs/types.js +1 -1
- package/dist/safe-bash/commands/search/ergonomic-regex.js +1 -1
- package/dist/safe-bash/commands/search/file-types.js +1 -1
- package/dist/safe-bash/commands/search/glob.js +1 -1
- package/dist/safe-bash/commands/search/grep-files.js +1 -1
- package/dist/safe-bash/commands/search/grep.js +1 -1
- package/dist/safe-bash/commands/search/matcher.js +1 -1
- package/dist/safe-bash/commands/search/options.js +1 -1
- package/dist/safe-bash/commands/search/output.js +1 -1
- package/dist/safe-bash/commands/search/requirements.js +1 -1
- package/dist/safe-bash/commands/search/rg-command.js +1 -1
- package/dist/safe-bash/commands/search/shared.js +1 -1
- package/dist/safe-bash/commands/search/walk.js +1 -1
- package/dist/safe-bash/commands/sed/index.js +1 -1
- package/dist/safe-bash/commands/seq/index.js +1 -1
- package/dist/safe-bash/commands/sha1sum/index.js +1 -1
- package/dist/safe-bash/commands/sha256sum/index.js +1 -1
- package/dist/safe-bash/commands/sha512sum/index.js +1 -1
- package/dist/safe-bash/commands/sips/index.js +1 -1
- package/dist/safe-bash/commands/sleep/index.js +1 -1
- package/dist/safe-bash/commands/soffice/index.js +1 -1
- package/dist/safe-bash/commands/sort/index.js +1 -1
- package/dist/safe-bash/commands/sort-admission.js +1 -1
- package/dist/safe-bash/commands/sox/index.js +1 -1
- package/dist/safe-bash/commands/soxi/index.js +1 -1
- package/dist/safe-bash/commands/split/index.js +1 -1
- package/dist/safe-bash/commands/sponge/index.js +1 -1
- package/dist/safe-bash/commands/sqlite3/index.js +1 -1
- package/dist/safe-bash/commands/ssh/index.js +1 -1
- package/dist/safe-bash/commands/stat/index.js +1 -1
- package/dist/safe-bash/commands/stream-format/shared.js +1 -1
- package/dist/safe-bash/commands/stream-inspection/numeric-options.js +1 -1
- package/dist/safe-bash/commands/stream-inspection/shared.js +1 -1
- package/dist/safe-bash/commands/stream-inspection/strings-object.js +1 -1
- package/dist/safe-bash/commands/strings/index.js +1 -1
- package/dist/safe-bash/commands/structured/bytes.js +1 -1
- package/dist/safe-bash/commands/structured/capture.js +1 -1
- package/dist/safe-bash/commands/structured/dates.js +1 -1
- package/dist/safe-bash/commands/structured/delpaths.js +1 -1
- package/dist/safe-bash/commands/structured/formats.js +1 -1
- package/dist/safe-bash/commands/structured/indices.js +1 -1
- package/dist/safe-bash/commands/structured/input.js +1 -1
- package/dist/safe-bash/commands/structured/interpreter.js +1 -1
- package/dist/safe-bash/commands/structured/jq.js +1 -1
- package/dist/safe-bash/commands/structured/limits.js +1 -1
- package/dist/safe-bash/commands/structured/numbers.js +1 -1
- package/dist/safe-bash/commands/structured/parser.js +1 -1
- package/dist/safe-bash/commands/structured/query-core.js +1 -1
- package/dist/safe-bash/commands/structured/recurse.js +1 -1
- package/dist/safe-bash/commands/structured/regex.js +1 -1
- package/dist/safe-bash/commands/structured/split.js +1 -1
- package/dist/safe-bash/commands/structured/splits.js +1 -1
- package/dist/safe-bash/commands/structured/values.js +1 -1
- package/dist/safe-bash/commands/svgo/index.js +1 -1
- package/dist/safe-bash/commands/table-text/internal.js +1 -1
- package/dist/safe-bash/commands/tac/index.js +1 -1
- package/dist/safe-bash/commands/tar/index.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-pipes.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk-values.js +1 -1
- package/dist/safe-bash/commands/text-programs/awk.js +1 -1
- package/dist/safe-bash/commands/text-programs/inplace.js +1 -1
- package/dist/safe-bash/commands/text-programs/regex.js +1 -1
- package/dist/safe-bash/commands/text-programs/replacement-buffer.js +1 -1
- package/dist/safe-bash/commands/text-programs/sed.js +1 -1
- package/dist/safe-bash/commands/text-programs/shared.js +1 -1
- package/dist/safe-bash/commands/time-env/calendar.js +1 -1
- package/dist/safe-bash/commands/time-env/format.js +1 -1
- package/dist/safe-bash/commands/time-env/shared.js +1 -1
- package/dist/safe-bash/commands/timeout/index.js +1 -1
- package/dist/safe-bash/commands/touch/index.js +1 -1
- package/dist/safe-bash/commands/touch-target.js +1 -1
- package/dist/safe-bash/commands/touch-times.js +1 -1
- package/dist/safe-bash/commands/tree/index.js +1 -1
- package/dist/safe-bash/commands/tsort/index.js +1 -1
- package/dist/safe-bash/commands/unalias/index.js +1 -1
- package/dist/safe-bash/commands/uname/index.js +1 -1
- package/dist/safe-bash/commands/unexpand/index.js +1 -1
- package/dist/safe-bash/commands/unix2dos/index.js +1 -1
- package/dist/safe-bash/commands/unrtf/index.js +1 -1
- package/dist/safe-bash/commands/unzip/index.js +1 -1
- package/dist/safe-bash/commands/wdiff/index.js +1 -1
- package/dist/safe-bash/commands/wget/index.js +1 -1
- package/dist/safe-bash/commands/which/index.js +1 -1
- package/dist/safe-bash/commands/whoami/index.js +1 -1
- package/dist/safe-bash/commands/wkhtmltopdf/index.js +1 -1
- package/dist/safe-bash/commands/xan/index.js +1 -1
- package/dist/safe-bash/commands/xml/index.js +1 -1
- package/dist/safe-bash/commands/xmllint/index.js +1 -1
- package/dist/safe-bash/commands/xq/index.js +1 -1
- package/dist/safe-bash/commands/xxd/index.js +1 -1
- package/dist/safe-bash/commands/xz/index.js +1 -1
- package/dist/safe-bash/commands/yq/index.js +1 -1
- package/dist/safe-bash/commands/zip/index.js +1 -1
- package/dist/safe-bash/commands/zstd/index.js +1 -1
- package/dist/safe-bash/core.browser.js +2 -2
- package/dist/safe-bash/full-core.browser.js +29 -7
- package/dist/safe-bash/integrations/safejs/filesystem.js +1 -1
- package/dist/safe-bash/integrations/safejs/shell.js +1 -1
- package/dist/safe-bash/integrations/safejs/values.js +1 -1
- package/dist/safe-bash/playwright/abilities.js +1 -1
- package/dist/safe-bash/playwright/ability-execution.js +1 -1
- package/dist/safe-bash/playwright/adapter.js +1 -1
- package/dist/safe-bash/playwright/builtins.js +1 -1
- package/dist/safe-bash/playwright/canonical-locator-parser.js +1 -1
- package/dist/safe-bash/playwright/capability-events.js +1 -1
- package/dist/safe-bash/playwright/capability-result.js +1 -1
- package/dist/safe-bash/playwright/catalog.js +1 -1
- package/dist/safe-bash/playwright/checkpoint.js +1 -1
- package/dist/safe-bash/playwright/command-budget.js +1 -1
- package/dist/safe-bash/playwright/command-reference.js +1 -1
- package/dist/safe-bash/playwright/config-ini.js +1 -1
- package/dist/safe-bash/playwright/config-json.js +1 -1
- package/dist/safe-bash/playwright/controller.js +1 -1
- package/dist/safe-bash/playwright/devices.js +1 -1
- package/dist/safe-bash/playwright/download-capabilities.js +1 -1
- package/dist/safe-bash/playwright/drop-capability.js +1 -1
- package/dist/safe-bash/playwright/find.js +1 -1
- package/dist/safe-bash/playwright/frame-snapshot.js +1 -1
- package/dist/safe-bash/playwright/generated-locator.js +1 -1
- package/dist/safe-bash/playwright/help-reference.js +1 -1
- package/dist/safe-bash/playwright/help.js +1 -1
- package/dist/safe-bash/playwright/highlight.js +1 -1
- package/dist/safe-bash/playwright/index.js +1 -1
- package/dist/safe-bash/playwright/invocation.js +1 -1
- package/dist/safe-bash/playwright/locator-selector.js +1 -1
- package/dist/safe-bash/playwright/modal-capabilities.js +1 -1
- package/dist/safe-bash/playwright/native-evaluation.js +1 -1
- package/dist/safe-bash/playwright/native-json-snapshot.js +1 -1
- package/dist/safe-bash/playwright/native-snapshot.js +1 -1
- package/dist/safe-bash/playwright/native-storage-realm.js +1 -1
- package/dist/safe-bash/playwright/native-storage-replacement.js +1 -1
- package/dist/safe-bash/playwright/native-storage-sources.generated.js +1 -1
- package/dist/safe-bash/playwright/native-storage-targets.js +1 -1
- package/dist/safe-bash/playwright/network-policy.js +1 -1
- package/dist/safe-bash/playwright/open-options.js +1 -1
- package/dist/safe-bash/playwright/private-target-transport.js +1 -1
- package/dist/safe-bash/playwright/profile.js +1 -1
- package/dist/safe-bash/playwright/recording-capabilities.js +1 -1
- package/dist/safe-bash/playwright/recovery.js +1 -1
- package/dist/safe-bash/playwright/resource-limit.js +1 -1
- package/dist/safe-bash/playwright/response.js +1 -1
- package/dist/safe-bash/playwright/route-capabilities.js +1 -1
- package/dist/safe-bash/playwright/route-policy.js +1 -1
- package/dist/safe-bash/playwright/screenshot.js +1 -1
- package/dist/safe-bash/playwright/session-configuration.js +1 -1
- package/dist/safe-bash/playwright/session-runtime.js +1 -1
- package/dist/safe-bash/playwright/session-selection.js +1 -1
- package/dist/safe-bash/playwright/snapshot-reference-error.js +1 -1
- package/dist/safe-bash/playwright/snapshot.js +1 -1
- package/dist/safe-bash/playwright/standard-capabilities.js +1 -1
- package/dist/safe-bash/playwright/storage-capabilities.js +1 -1
- package/dist/safe-bash/playwright/storage-state.js +1 -1
- package/dist/safe-bash/playwright/target-screenshot.js +1 -1
- package/dist/safe-bash/playwright/targets.js +1 -1
- package/dist/safe-bash/playwright/tracing-capabilities.js +1 -1
- package/dist/safe-bash/playwright/webmcp-capabilities.js +1 -1
- package/dist/safe-bash/playwright/webmcp-params.js +1 -1
- package/dist/safe-bash/playwright/workspace-assets.js +1 -1
- package/dist/safe-bash/playwright/workspace.js +1 -1
- package/dist/safe-bash/plugins/index.browser.js +4 -4
- package/dist/safe-bash/registry-entry.browser.js +2 -2
- package/dist/safe-bash/search.browser.js +1 -1
- package/dist/safe-bash/shell/parser.js +2 -1
- package/dist/safe-bash/shell/pattern.js +1 -1
- package/dist/safe-bash/shell/string-operations.js +1 -1
- package/dist/safe-bash/shell-entry.browser.js +2 -2
- package/dist/safe-bash/ts-ast.js +1 -1
- package/dist/safe-bash-checksum-engine/index.js +1 -1
- package/dist/safe-bash-command-audio/index.js +2 -2
- package/dist/safe-bash-command-awk/awk-runtime.js +2 -2
- package/dist/safe-bash-command-awk/awk-syntax.js +1 -1
- package/dist/safe-bash-command-awk/awk.js +4 -4
- package/dist/safe-bash-command-awk/index.js +4 -4
- package/dist/safe-bash-command-bc/index.js +13 -14
- package/dist/safe-bash-command-cal/index.js +25 -31
- package/dist/safe-bash-command-cp/index.js +3 -3
- package/dist/safe-bash-command-csvgrep/command.d.ts +1 -0
- package/dist/safe-bash-command-csvgrep/index.js +7 -0
- package/dist/safe-bash-command-docx/sdk.js +1 -1
- package/dist/safe-bash-command-expr/bre-engine.js +1 -1
- package/dist/safe-bash-command-factor/command.js +2 -2
- package/dist/safe-bash-command-factor/index.js +2 -2
- package/dist/safe-bash-command-fd/index.js +4 -3
- package/dist/safe-bash-command-ffmpeg/index.js +13 -2
- package/dist/safe-bash-command-ffprobe/index.js +2 -2
- package/dist/safe-bash-command-ffprobe/media.js +2 -2
- package/dist/safe-bash-command-getconf/index.js +11 -4
- package/dist/safe-bash-command-git/git_rust.wasm +0 -0
- package/dist/safe-bash-command-git/index.js +96 -14
- package/dist/safe-bash-command-html-to-markdown/index.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/stored-text.d.ts +2 -0
- package/dist/safe-bash-command-html-to-markdown/stored-text.js +1 -1
- package/dist/safe-bash-command-imagemagick/index.js +18 -4
- package/dist/safe-bash-command-jq/index.js +1 -1
- package/dist/safe-bash-command-jq/jq.js +1 -1
- package/dist/safe-bash-command-llm/collections.js +48 -192
- package/dist/safe-bash-command-llm/command.js +14 -6
- package/dist/safe-bash-command-llm/elevenlabs.js +2 -2
- package/dist/safe-bash-command-llm/fragment-loaders.d.ts +29 -0
- package/dist/safe-bash-command-llm/fragments.d.ts +24 -0
- package/dist/safe-bash-command-llm/import-json-document.d.ts +5 -2
- package/dist/safe-bash-command-llm/index.d.ts +7 -0
- package/dist/safe-bash-command-llm/index.js +47 -17
- package/dist/safe-bash-command-llm/input-budget.d.ts +2 -0
- package/dist/safe-bash-command-llm/openai-sse.d.ts +1 -1
- package/dist/safe-bash-command-llm/openai-sse.js +4 -1
- package/dist/safe-bash-command-llm/openai.js +11 -7
- package/dist/safe-bash-command-llm/providers/elevenlabs.js +2 -2
- package/dist/safe-bash-command-llm/providers/index.js +16 -10
- package/dist/safe-bash-command-llm/providers/openai.js +11 -7
- package/dist/safe-bash-command-llm/providers/shared.d.ts +2 -0
- package/dist/safe-bash-command-llm/providers/shared.js +1 -1
- package/dist/safe-bash-command-llm/retained-spool.d.ts +4 -0
- package/dist/safe-bash-command-llm/service.d.ts +3 -1
- package/dist/safe-bash-command-llm/service.js +5 -2
- package/dist/safe-bash-command-llm/tool-chain.d.ts +22 -0
- package/dist/safe-bash-command-llm/tool-execution.d.ts +55 -0
- package/dist/safe-bash-command-llm/tool-registry.d.ts +43 -0
- package/dist/safe-bash-command-llm/types.d.ts +39 -11
- package/dist/safe-bash-command-llm/url-fragment-source.d.ts +6 -0
- package/dist/safe-bash-command-llm/url-source.d.ts +3 -1
- package/dist/safe-bash-command-mcp/index.browser.d.ts +1 -0
- package/dist/safe-bash-command-mcp/index.browser.js +4 -4
- package/dist/safe-bash-command-mcp/index.d.ts +1 -0
- package/dist/safe-bash-command-mcp/index.js +28 -7
- package/dist/safe-bash-command-mdq/index.js +10 -3
- package/dist/safe-bash-command-node/commands/node/quickjs.js +1 -1
- package/dist/safe-bash-command-pandoc/command.js +9 -9
- package/dist/safe-bash-command-pandoc/index.js +57 -57
- package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
- package/dist/safe-bash-command-patch/index.js +5 -5
- package/dist/safe-bash-command-patch/patch-publication.js +1 -1
- package/dist/safe-bash-command-patch/patch.js +4 -4
- package/dist/safe-bash-command-pdfinfo/index.js +2 -2
- package/dist/safe-bash-command-pdftk/index.js +550 -137
- package/dist/safe-bash-command-pdftoppm/index.js +1 -1
- package/dist/safe-bash-command-pdftotext/index.js +29 -15
- package/dist/safe-bash-command-playwright-cli/index.js +12 -11
- package/dist/safe-bash-command-playwright-cli/playwright/abilities.js +4 -4
- package/dist/safe-bash-command-playwright-cli/playwright/controller.js +7 -6
- package/dist/safe-bash-command-playwright-cli/playwright/index.js +12 -11
- package/dist/safe-bash-command-playwright-cli/playwright/profile.d.ts +1 -1
- package/dist/safe-bash-command-playwright-cli/playwright/profile.js +2 -1
- package/dist/safe-bash-command-playwright-cli/playwright/standard-capabilities.js +3 -3
- package/dist/safe-bash-command-pptx/engine.js +2 -2
- package/dist/safe-bash-command-python/executor.d.ts +1 -0
- package/dist/safe-bash-command-python/executor.js +16 -14
- package/dist/safe-bash-command-python/index.js +16 -14
- package/dist/safe-bash-command-python/jspi.js +1 -1
- package/dist/safe-bash-command-python/llm-capability.js +1 -1
- package/dist/safe-bash-command-python/llm-functions-loader.d.ts +5 -0
- package/dist/safe-bash-command-python/llm-packages.js +51 -2
- package/dist/safe-bash-command-python/llm-provider.js +1 -1
- package/dist/safe-bash-command-rg/glob.d.ts +6 -0
- package/dist/safe-bash-command-rg/glob.js +2 -2
- package/dist/safe-bash-command-rg/index.js +8 -8
- package/dist/safe-bash-command-rg/matcher.d.ts +2 -0
- package/dist/safe-bash-command-rg/matcher.js +2 -2
- package/dist/safe-bash-command-rg/options.d.ts +2 -0
- package/dist/safe-bash-command-rg/options.js +1 -1
- package/dist/safe-bash-command-rg/output.js +3 -3
- package/dist/safe-bash-command-rg/replacement.js +2 -2
- package/dist/safe-bash-command-rg/rg-command.js +8 -8
- package/dist/safe-bash-command-rg/shared.d.ts +0 -2
- package/dist/safe-bash-command-rg/shared.js +2 -4
- package/dist/safe-bash-command-rg/walk.js +4 -4
- package/dist/safe-bash-command-safejs/index.js +4 -4
- package/dist/safe-bash-command-safejs/runtime.js +2 -2
- package/dist/safe-bash-command-soffice/index.js +2 -2
- package/dist/safe-bash-command-sqlite3/engine.d.ts +15 -0
- package/dist/safe-bash-command-sqlite3/index.js +310 -15
- package/dist/safe-bash-command-ssconvert/index.js +2 -2
- package/dist/safe-bash-command-tar/create.js +2 -2
- package/dist/safe-bash-command-tar/extract.js +2 -2
- package/dist/safe-bash-command-tar/index.js +6 -6
- package/dist/safe-bash-command-tar/modes.js +4 -4
- package/dist/safe-bash-command-unzip/index.js +2 -2
- package/dist/safe-bash-command-unzip/unzip.js +2 -2
- package/dist/safe-bash-command-yq/parser.js +1 -1
- package/dist/safe-bash-command-yq/query.js +1 -1
- package/dist/safe-bash-contracts/escaping.js +2 -2
- package/dist/safe-bash-contracts/index.js +15 -15
- package/dist/safe-bash-csv-engine/index.js +5 -3
- package/dist/safe-bash-csv-engine/python-codepages.js +2 -1
- package/dist/safe-bash-csv-engine/python-file-codepages.d.ts +1 -0
- package/dist/safe-bash-csv-engine/python-file-codepages.js +8 -0
- package/dist/safe-bash-csv-engine/python-utf16.js +3 -2
- package/dist/safe-bash-csv-engine/text-decoder.js +5 -3
- package/dist/safe-bash-docx-engine/ancillary-resources.js +4 -4
- package/dist/safe-bash-docx-engine/batch-operations.js +45 -45
- package/dist/safe-bash-docx-engine/batch-result-schema.js +52 -52
- package/dist/safe-bash-docx-engine/batch.js +52 -52
- package/dist/safe-bash-docx-engine/bookmarks.js +10 -10
- package/dist/safe-bash-docx-engine/charts.js +5 -5
- package/dist/safe-bash-docx-engine/command-option-rules.js +1 -1
- package/dist/safe-bash-docx-engine/comments.js +14 -14
- package/dist/safe-bash-docx-engine/control-bindings.js +12 -12
- package/dist/safe-bash-docx-engine/control-repeat.js +11 -11
- package/dist/safe-bash-docx-engine/controls.js +10 -10
- package/dist/safe-bash-docx-engine/create.js +4 -4
- package/dist/safe-bash-docx-engine/diagrams.js +5 -5
- package/dist/safe-bash-docx-engine/diff.js +4 -4
- package/dist/safe-bash-docx-engine/document-properties.js +11 -11
- package/dist/safe-bash-docx-engine/equations.js +11 -11
- package/dist/safe-bash-docx-engine/extract.js +9 -9
- package/dist/safe-bash-docx-engine/fields.js +11 -11
- package/dist/safe-bash-docx-engine/font-inventory.js +8 -8
- package/dist/safe-bash-docx-engine/font-resources.js +1 -1
- package/dist/safe-bash-docx-engine/image-batch-operations.js +1 -1
- package/dist/safe-bash-docx-engine/image-insertion.js +13 -13
- package/dist/safe-bash-docx-engine/image-layout.js +12 -12
- package/dist/safe-bash-docx-engine/image-replacement.js +13 -13
- package/dist/safe-bash-docx-engine/images.js +12 -12
- package/dist/safe-bash-docx-engine/index.js +100 -100
- package/dist/safe-bash-docx-engine/inspection.js +11 -11
- package/dist/safe-bash-docx-engine/invocation.js +1 -1
- package/dist/safe-bash-docx-engine/io.js +1 -1
- package/dist/safe-bash-docx-engine/links.js +11 -11
- package/dist/safe-bash-docx-engine/lists.js +11 -11
- package/dist/safe-bash-docx-engine/locations.js +5 -5
- package/dist/safe-bash-docx-engine/notes.js +12 -12
- package/dist/safe-bash-docx-engine/objects.js +12 -12
- package/dist/safe-bash-docx-engine/pack.js +9 -9
- package/dist/safe-bash-docx-engine/package-view-batch-operations.js +8 -8
- package/dist/safe-bash-docx-engine/pandoc-adapter.js +9 -9
- package/dist/safe-bash-docx-engine/paragraph-edit.js +15 -15
- package/dist/safe-bash-docx-engine/publication.js +3 -3
- package/dist/safe-bash-docx-engine/removal.js +11 -11
- package/dist/safe-bash-docx-engine/revision-decisions.js +13 -13
- package/dist/safe-bash-docx-engine/revision-edit.js +10 -10
- package/dist/safe-bash-docx-engine/revisions.js +8 -8
- package/dist/safe-bash-docx-engine/run-format.js +10 -10
- package/dist/safe-bash-docx-engine/sanitize.js +20 -20
- package/dist/safe-bash-docx-engine/sections.js +10 -10
- package/dist/safe-bash-docx-engine/settings.js +6 -6
- package/dist/safe-bash-docx-engine/shape-edit.js +12 -12
- package/dist/safe-bash-docx-engine/signatures.js +11 -11
- package/dist/safe-bash-docx-engine/stories.js +12 -12
- package/dist/safe-bash-docx-engine/structure-model-batch-operations.js +17 -17
- package/dist/safe-bash-docx-engine/style-model-batch-operations.js +11 -11
- package/dist/safe-bash-docx-engine/style-model-result-schema.js +20 -20
- package/dist/safe-bash-docx-engine/styles.js +10 -10
- package/dist/safe-bash-docx-engine/table-edit.js +16 -16
- package/dist/safe-bash-docx-engine/table-read.js +6 -6
- package/dist/safe-bash-docx-engine/template.js +12 -12
- package/dist/safe-bash-docx-engine/text-replace.js +10 -10
- package/dist/safe-bash-docx-engine/text-resource-read.js +6 -6
- package/dist/safe-bash-docx-engine/text.js +6 -6
- package/dist/safe-bash-docx-engine/validation.js +1 -1
- package/dist/safe-bash-docx-engine/xml-parts.js +14 -14
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +4 -4
- package/dist/safe-bash-line-ending-engine/command.js +4 -4
- package/dist/safe-bash-line-ending-engine/index.js +4 -4
- package/dist/safe-bash-markdown-engine/commonmark-blocks.js +1 -1
- package/dist/safe-bash-markdown-engine/index.js +3 -3
- package/dist/safe-bash-network-engine/index.js +4 -4
- package/dist/safe-bash-pptx-engine/bytes.js +1 -1
- package/dist/safe-bash-pptx-engine/index.js +1 -1
- package/dist/safe-bash-presentation-engine/accessibility.js +33 -31
- package/dist/safe-bash-presentation-engine/animation-editing.js +17 -16
- package/dist/safe-bash-presentation-engine/animations.js +17 -16
- package/dist/safe-bash-presentation-engine/backgrounds.js +18 -17
- package/dist/safe-bash-presentation-engine/bytes.js +4 -4
- package/dist/safe-bash-presentation-engine/chart-editing.js +36 -34
- package/dist/safe-bash-presentation-engine/chart-object-operations.js +26 -25
- package/dist/safe-bash-presentation-engine/charts.js +33 -31
- package/dist/safe-bash-presentation-engine/command-placeholder.js +63 -61
- package/dist/safe-bash-presentation-engine/comments.js +18 -17
- package/dist/safe-bash-presentation-engine/connector-operations.js +34 -32
- package/dist/safe-bash-presentation-engine/connectors.js +31 -29
- package/dist/safe-bash-presentation-engine/content-types.js +5 -5
- package/dist/safe-bash-presentation-engine/creation.js +7 -7
- package/dist/safe-bash-presentation-engine/diff.js +40 -38
- package/dist/safe-bash-presentation-engine/drawing-format.js +21 -20
- package/dist/safe-bash-presentation-engine/drawing-operations.js +33 -31
- package/dist/safe-bash-presentation-engine/drawing-schema.js +22 -21
- package/dist/safe-bash-presentation-engine/equations.js +18 -17
- package/dist/safe-bash-presentation-engine/errors.js +3 -3
- package/dist/safe-bash-presentation-engine/fields.js +18 -17
- package/dist/safe-bash-presentation-engine/font-metrics.js +4 -4
- package/dist/safe-bash-presentation-engine/image-extraction.js +23 -21
- package/dist/safe-bash-presentation-engine/image-formatting.js +35 -33
- package/dist/safe-bash-presentation-engine/image-insertion.js +20 -19
- package/dist/safe-bash-presentation-engine/image-metadata.d.ts +7 -1
- package/dist/safe-bash-presentation-engine/image-metadata.js +5 -3
- package/dist/safe-bash-presentation-engine/image-replacement.js +24 -22
- package/dist/safe-bash-presentation-engine/image-value.js +6 -6
- package/dist/safe-bash-presentation-engine/images.d.ts +1 -0
- package/dist/safe-bash-presentation-engine/images.js +24 -20
- package/dist/safe-bash-presentation-engine/index.js +141 -137
- package/dist/safe-bash-presentation-engine/layouts.js +17 -16
- package/dist/safe-bash-presentation-engine/length.js +4 -4
- package/dist/safe-bash-presentation-engine/links.js +17 -16
- package/dist/safe-bash-presentation-engine/masters.js +16 -15
- package/dist/safe-bash-presentation-engine/media-editing.js +30 -25
- package/dist/safe-bash-presentation-engine/media-extraction.d.ts +4 -0
- package/dist/safe-bash-presentation-engine/media-extraction.js +33 -19
- package/dist/safe-bash-presentation-engine/media.d.ts +2 -0
- package/dist/safe-bash-presentation-engine/media.js +32 -18
- package/dist/safe-bash-presentation-engine/memberships.js +19 -17
- package/dist/safe-bash-presentation-engine/notes.js +20 -18
- package/dist/safe-bash-presentation-engine/ole-enum.js +5 -5
- package/dist/safe-bash-presentation-engine/ole-insertion.js +22 -21
- package/dist/safe-bash-presentation-engine/opaque-objects.d.ts +4 -0
- package/dist/safe-bash-presentation-engine/opaque-objects.js +30 -12
- package/dist/safe-bash-presentation-engine/package-reader.js +6 -6
- package/dist/safe-bash-presentation-engine/package-tools.js +24 -20
- package/dist/safe-bash-presentation-engine/package-uri.js +4 -4
- package/dist/safe-bash-presentation-engine/package-writer.js +5 -5
- package/dist/safe-bash-presentation-engine/presentation-model.js +62 -60
- package/dist/safe-bash-presentation-engine/presentation-settings.js +19 -17
- package/dist/safe-bash-presentation-engine/properties.js +21 -19
- package/dist/safe-bash-presentation-engine/relationships.js +5 -5
- package/dist/safe-bash-presentation-engine/resource-limits.js +2 -2
- package/dist/safe-bash-presentation-engine/retained-extraction-output.d.ts +8 -4
- package/dist/safe-bash-presentation-engine/retained-fonts.d.ts +26 -0
- package/dist/safe-bash-presentation-engine/retained-image-metadata.d.ts +13 -0
- package/dist/safe-bash-presentation-engine/retained-inspection.js +16 -14
- package/dist/safe-bash-presentation-engine/retained-media-extraction.d.ts +21 -0
- package/dist/safe-bash-presentation-engine/retained-media.d.ts +54 -0
- package/dist/safe-bash-presentation-engine/retained-object-extraction.d.ts +22 -0
- package/dist/safe-bash-presentation-engine/retained-objects.d.ts +25 -0
- package/dist/safe-bash-presentation-engine/retained-package.js +6 -6
- package/dist/safe-bash-presentation-engine/retained-shape-geometry.d.ts +20 -0
- package/dist/safe-bash-presentation-engine/retained-text.js +34 -32
- package/dist/safe-bash-presentation-engine/retained-transitions.d.ts +18 -0
- package/dist/safe-bash-presentation-engine/sanitize.js +22 -20
- package/dist/safe-bash-presentation-engine/selectors.js +11 -11
- package/dist/safe-bash-presentation-engine/shape-groups.js +33 -31
- package/dist/safe-bash-presentation-engine/shape-operations.js +32 -30
- package/dist/safe-bash-presentation-engine/shape-path-operations.js +34 -32
- package/dist/safe-bash-presentation-engine/shape-paths.js +17 -16
- package/dist/safe-bash-presentation-engine/shape-presets.js +4 -4
- package/dist/safe-bash-presentation-engine/shape-selection.js +33 -31
- package/dist/safe-bash-presentation-engine/shape-transforms.d.ts +6 -0
- package/dist/safe-bash-presentation-engine/shape-transforms.js +26 -20
- package/dist/safe-bash-presentation-engine/shapes.js +28 -27
- package/dist/safe-bash-presentation-engine/slide-copy.js +21 -19
- package/dist/safe-bash-presentation-engine/slide-import.js +19 -18
- package/dist/safe-bash-presentation-engine/slide-merge-split.js +21 -20
- package/dist/safe-bash-presentation-engine/slide-model.js +46 -44
- package/dist/safe-bash-presentation-engine/slide-removal.js +19 -18
- package/dist/safe-bash-presentation-engine/slide-transfer-budget.js +10 -10
- package/dist/safe-bash-presentation-engine/slides.js +21 -19
- package/dist/safe-bash-presentation-engine/table-operations.js +35 -33
- package/dist/safe-bash-presentation-engine/table-spans.js +34 -32
- package/dist/safe-bash-presentation-engine/tables.js +33 -31
- package/dist/safe-bash-presentation-engine/tags.js +20 -18
- package/dist/safe-bash-presentation-engine/template-bindings.js +36 -34
- package/dist/safe-bash-presentation-engine/template-repeat.js +46 -43
- package/dist/safe-bash-presentation-engine/text-fitting.js +28 -27
- package/dist/safe-bash-presentation-engine/text-frames.js +28 -27
- package/dist/safe-bash-presentation-engine/text-paragraphs.js +28 -27
- package/dist/safe-bash-presentation-engine/text-reading.js +12 -12
- package/dist/safe-bash-presentation-engine/text-replacement.js +18 -17
- package/dist/safe-bash-presentation-engine/text-runs.js +21 -20
- package/dist/safe-bash-presentation-engine/themes.js +17 -16
- package/dist/safe-bash-presentation-engine/transitions.d.ts +1 -0
- package/dist/safe-bash-presentation-engine/transitions.js +24 -16
- package/dist/safe-bash-presentation-engine/validation.js +11 -10
- package/dist/safe-bash-presentation-engine/xml-parts.js +21 -19
- package/dist/safe-bash-presentation-engine/xml-view.js +4 -4
- package/dist/safe-bash-presentation-engine/xml.js +4 -4
- package/dist/safe-bash-query-engine/capture.js +5 -5
- package/dist/safe-bash-query-engine/dates.js +2 -2
- package/dist/safe-bash-query-engine/delpaths.js +5 -5
- package/dist/safe-bash-query-engine/formats.js +3 -3
- package/dist/safe-bash-query-engine/index.js +15 -15
- package/dist/safe-bash-query-engine/indices.js +5 -5
- package/dist/safe-bash-query-engine/input.js +2 -2
- package/dist/safe-bash-query-engine/interpreter.d.ts +2 -1
- package/dist/safe-bash-query-engine/interpreter.js +13 -13
- package/dist/safe-bash-query-engine/limits.d.ts +1 -0
- package/dist/safe-bash-query-engine/limits.js +1 -1
- package/dist/safe-bash-query-engine/parser.js +2 -2
- package/dist/safe-bash-query-engine/query-core.js +15 -15
- package/dist/safe-bash-query-engine/recurse.js +2 -2
- package/dist/safe-bash-query-engine/regex.js +6 -6
- package/dist/safe-bash-query-engine/split.js +2 -2
- package/dist/safe-bash-query-engine/splits.js +7 -7
- package/dist/safe-bash-query-engine/values.js +4 -4
- package/dist/safe-bash-regex-engine/ere/matcher.d.ts +1 -1
- package/dist/safe-bash-regex-engine/ere/matcher.js +18 -10
- package/dist/safe-bash-regex-engine/ere/syntax.d.ts +1 -1
- package/dist/safe-bash-regex-engine/ere/syntax.js +1 -1
- package/dist/safe-bash-regex-engine/ere/types.d.ts +1 -0
- package/dist/safe-bash-regex-engine/execution/bounded-provider.js +5 -6
- package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +1 -0
- package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
- package/dist/safe-bash-sqlite-engine/sqlite-read-session.d.ts +17 -0
- package/dist/safe-bash-sqlite-engine/storage.d.ts +1 -0
- package/dist/safe-bash-sqlite-engine/storage.js +159 -89
- package/dist/safe-bash-xml-engine/document.js +3 -3
- package/dist/safe-bash-xml-engine/evaluate.js +1 -1
- package/dist/safe-bash-xml-engine/index.js +4 -4
- package/dist/safe-bash-xml-engine/json.js +14 -7
- package/dist/safe-bash-xml-engine/query.js +2 -2
- package/dist/safe-bash-xml-engine/recovery.d.ts +8 -2
- package/dist/safe-bash-xml-engine/stored-document.d.ts +16 -2
- package/dist/safe-bash-xml-engine/stored-document.js +1 -1
- package/dist/safe-bash-xml-engine/stored-evaluate.js +5 -5
- package/dist/safe-bash-xml-engine/stored-map.d.ts +18 -4
- package/dist/safe-playwright-cloudflare/browser-provider.generated.js +11819 -11773
- package/dist/safe-playwright-cloudflare/browser-run-code-guest.generated.js +1 -1
- package/dist/spreadsheet-engine/formulas/functions/python-printf.js +7 -3
- package/package.json +4 -3
- package/dist/safe-bash/chunks/chunk-FL6XE3W4.js +0 -35
- package/dist/safe-bash/command-chunks/chunk-ADVQZLLE.js +0 -260
- package/dist/safe-bash/command-chunks/chunk-AEZU6NZE.js +0 -297
- package/dist/safe-bash/command-chunks/chunk-BQXKO3X7.js +0 -228
- package/dist/safe-bash/command-chunks/chunk-CZSLXQU2.js +0 -107
- package/dist/safe-bash/command-chunks/chunk-KSM5CCHT.js +0 -1850
- package/dist/safe-bash/command-chunks/chunk-R2N3E267.js +0 -144
- package/dist/safe-bash/command-chunks/chunk-UPXFSGQG.js +0 -134
- package/dist/safe-bash/command-chunks/chunk-WKUV62RJ.js +0 -92
- package/dist/safe-bash/command-chunks/chunk-Z3PGWMSQ.js +0 -63
- package/dist/safe-bash/command-chunks/paradox-4FCZE53D-LQPGVMEL.js +0 -365
- package/dist/safe-bash/command-chunks/{biff-AYJZR2YV-JPESBEOO.js → biff-AYJZR2YV-YFF3BK43.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-WKU65Z3Q.js → chunk-3NJETNC2.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-WRJV7OVO.js → chunk-42OQIFPW.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-XLPEPCQC.js → chunk-45QE6QRR.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-MWVELMXZ.js → chunk-BFOVQUTF.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-ETN25WCR.js → chunk-KD4JUF6R.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-LTWX23FS.js → chunk-QQ7ORF2D.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-FPNUGKCX.js → chunk-QWHBQBPB.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-5MFRN3CB.js → chunk-R64BI5MT.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-A32ZROH5.js → chunk-SMCRKN3O.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-RXXNLH7A.js → chunk-ZSQCROFE.js} +3 -3
package/dist/safe-bash/command-chunks/{command-engine-PFYHL7GS.js → command-engine-B6X6WAMX.js}
RENAMED
|
@@ -11,7 +11,196 @@ import {
|
|
|
11
11
|
} from "./chunk-NUGQQDGE.js";
|
|
12
12
|
import "./chunk-65DS4IOB.js";
|
|
13
13
|
|
|
14
|
+
// packages/safe-bash-command-pptx/src/command-media-extraction-streaming.ts
|
|
15
|
+
import {
|
|
16
|
+
RetainedMediaSelectionError,
|
|
17
|
+
stageRetainedMediaSelectionError
|
|
18
|
+
} from "../../safe-bash-presentation-engine/media.js";
|
|
19
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
20
|
+
import {
|
|
21
|
+
openRetainedMediaExtraction,
|
|
22
|
+
stageRetainedExtractionOutput
|
|
23
|
+
} from "../../safe-bash-presentation-engine/media-extraction.js";
|
|
24
|
+
import { openPackageArchive } from "../../safe-bash-presentation-engine/retained-package.js";
|
|
25
|
+
async function prepareRetainedMediaExtraction(args, request, options2) {
|
|
26
|
+
const { streaming, signal } = request, context = { ...options2.context, signal, workingStorage: streaming.workingStorage };
|
|
27
|
+
const input = await streaming.openInput(
|
|
28
|
+
args.input,
|
|
29
|
+
Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes)
|
|
30
|
+
), hash = sha256.create();
|
|
31
|
+
for await (const bytes of input.stream()) {
|
|
32
|
+
signal.throwIfAborted();
|
|
33
|
+
hash.update(bytes);
|
|
34
|
+
}
|
|
35
|
+
const fingerprint = Array.from(hash.digest(), (b) => b.toString(16).padStart(2, "0")).join(""), archive = await openPackageArchive(input, context);
|
|
36
|
+
let diagnostic;
|
|
37
|
+
let extraction, response, closing;
|
|
38
|
+
const close = () => closing ??= (async () => {
|
|
39
|
+
const results = await Promise.allSettled([
|
|
40
|
+
diagnostic?.close(),
|
|
41
|
+
response?.close(),
|
|
42
|
+
extraction?.close(),
|
|
43
|
+
archive.close()
|
|
44
|
+
]);
|
|
45
|
+
for (const result of results) if (result.status === "rejected") throw result.reason;
|
|
46
|
+
})();
|
|
47
|
+
try {
|
|
48
|
+
extraction = await openRetainedMediaExtraction(
|
|
49
|
+
archive,
|
|
50
|
+
fingerprint,
|
|
51
|
+
{
|
|
52
|
+
...args.scope === void 0 ? {} : { scope: args.scope },
|
|
53
|
+
...args.slide === void 0 ? {} : { slide: args.slide },
|
|
54
|
+
...args.shape === void 0 ? {} : { shape: args.shape },
|
|
55
|
+
...args.token === void 0 ? {} : { select: args.token },
|
|
56
|
+
...args.deduplicate === void 0 ? {} : { deduplicate: args.deduplicate },
|
|
57
|
+
maxOutputBytes: options2.maxOutputBytes,
|
|
58
|
+
maxOutputs: args.limits?.maxOutputs ?? context.archiveLimits.maxMembers
|
|
59
|
+
},
|
|
60
|
+
context
|
|
61
|
+
);
|
|
62
|
+
if (!request.publishOutputStreams && (!args.allowPartialOutput || !request.publishOutput))
|
|
63
|
+
throw Object.assign(
|
|
64
|
+
new Error("Media extraction requires atomic publication or explicit partial output."),
|
|
65
|
+
{ code: "publication-unsupported" }
|
|
66
|
+
);
|
|
67
|
+
response = await stageRetainedExtractionOutput(extraction, context, {
|
|
68
|
+
directory: args.outputDir,
|
|
69
|
+
json: args.json,
|
|
70
|
+
maxOutputBytes: options2.maxOutputBytes,
|
|
71
|
+
allowPartialOutput: args.allowPartialOutput ?? false,
|
|
72
|
+
operation: "media.extract"
|
|
73
|
+
});
|
|
74
|
+
async function* publications(dryRun) {
|
|
75
|
+
for await (const member of extraction.members()) {
|
|
76
|
+
signal.throwIfAborted();
|
|
77
|
+
yield {
|
|
78
|
+
inputPath: args.input,
|
|
79
|
+
outputPath: response.path(member.name),
|
|
80
|
+
bytes: member.bytes(),
|
|
81
|
+
originalBytes: input,
|
|
82
|
+
inPlace: false,
|
|
83
|
+
force: args.force ?? false,
|
|
84
|
+
dryRun
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
close,
|
|
90
|
+
async publish() {
|
|
91
|
+
let published = 0, code;
|
|
92
|
+
try {
|
|
93
|
+
for await (const item of publications(true)) {
|
|
94
|
+
if (request.preflightOutputStream) await request.preflightOutputStream(item);
|
|
95
|
+
else if (request.publishOutput) await request.publishOutput(item);
|
|
96
|
+
}
|
|
97
|
+
if (request.publishOutputStreams) await request.publishOutputStreams(publications(false));
|
|
98
|
+
else
|
|
99
|
+
for await (const item of publications(false)) {
|
|
100
|
+
await request.publishOutput(item);
|
|
101
|
+
published++;
|
|
102
|
+
}
|
|
103
|
+
} catch (error) {
|
|
104
|
+
const raw = error && typeof error === "object" && "code" in error ? error.code : void 0;
|
|
105
|
+
code = signal.aborted ? "cancelled" : typeof raw === "string" && ["resource-limit", "stale-input", "publication-unsupported"].includes(raw) ? raw : "io-failure";
|
|
106
|
+
}
|
|
107
|
+
await response.write(
|
|
108
|
+
!code || args.json ? streaming.stdout : streaming.stderr,
|
|
109
|
+
code ? { code, published } : void 0
|
|
110
|
+
);
|
|
111
|
+
return {
|
|
112
|
+
exitCode: !code ? 0 : code === "cancelled" ? 130 : code === "resource-limit" ? 4 : code === "stale-input" ? 1 : 3,
|
|
113
|
+
stdout: new Uint8Array(),
|
|
114
|
+
stderr: new Uint8Array()
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
} catch (error) {
|
|
119
|
+
if (error instanceof RetainedMediaSelectionError) {
|
|
120
|
+
try {
|
|
121
|
+
diagnostic = await stageRetainedMediaSelectionError(error, context, {
|
|
122
|
+
operation: "media.extract",
|
|
123
|
+
json: args.json,
|
|
124
|
+
maxOutputBytes: options2.maxOutputBytes
|
|
125
|
+
});
|
|
126
|
+
await archive.close();
|
|
127
|
+
return {
|
|
128
|
+
close,
|
|
129
|
+
async publish() {
|
|
130
|
+
await diagnostic.write(args.json ? streaming.stdout : streaming.stderr);
|
|
131
|
+
return { exitCode: 1, stdout: new Uint8Array(), stderr: new Uint8Array() };
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
} catch (failure) {
|
|
135
|
+
await close().catch(() => {
|
|
136
|
+
});
|
|
137
|
+
throw failure;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
await close().catch(() => {
|
|
141
|
+
});
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// packages/safe-bash-command-pptx/src/command-engine.ts
|
|
147
|
+
import { stageRetainedMedia } from "../../safe-bash-presentation-engine/media.js";
|
|
148
|
+
|
|
149
|
+
// packages/safe-bash-command-pptx/src/command-object-extraction-streaming.ts
|
|
150
|
+
import { openRetainedObjectExtraction, stageRetainedExtractionOutput as stageRetainedExtractionOutput2 } from "../../safe-bash-presentation-engine/opaque-objects.js";
|
|
151
|
+
import { openPackageArchive as openPackageArchive2 } from "../../safe-bash-presentation-engine/retained-package.js";
|
|
152
|
+
import { OfficeError } from "../../safe-bash-presentation-engine/errors.js";
|
|
153
|
+
async function prepareRetainedObjectExtraction(args, request, options2) {
|
|
154
|
+
const { streaming, signal } = request, context = { ...options2.context, signal, workingStorage: streaming.workingStorage };
|
|
155
|
+
const input = await streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
|
|
156
|
+
const archive = await openPackageArchive2(input, context);
|
|
157
|
+
let extraction, response, closing;
|
|
158
|
+
const close = () => closing ??= (async () => {
|
|
159
|
+
const results = await Promise.allSettled([response?.close(), extraction?.close(), archive.close()]);
|
|
160
|
+
for (const result of results) if (result.status === "rejected") throw result.reason;
|
|
161
|
+
})();
|
|
162
|
+
try {
|
|
163
|
+
extraction = await openRetainedObjectExtraction(archive, { part: args.part }, context);
|
|
164
|
+
if (extraction.count > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers)) throw new OfficeError("resource-limit", "Opaque output count exceeds limit.", "validate-intent");
|
|
165
|
+
if (!args.dryRun && !request.publishOutputStreams && (!args.allowPartialOutput || !request.publishOutput)) throw Object.assign(new Error("Object extraction requires atomic publication or explicit partial output."), { code: "publication-unsupported" });
|
|
166
|
+
response = await stageRetainedExtractionOutput2(extraction, context, { directory: args.outputDir ?? "", json: args.json, maxOutputBytes: options2.maxOutputBytes, allowPartialOutput: args.allowPartialOutput ?? false, operation: "objects.extract", dryRun: args.dryRun ?? false });
|
|
167
|
+
async function* publications(dryRun) {
|
|
168
|
+
if (args.outputDir) for await (const member of extraction.members()) {
|
|
169
|
+
signal.throwIfAborted();
|
|
170
|
+
yield { inputPath: args.input, outputPath: response.path(member.name), bytes: member.bytes(), originalBytes: input, inPlace: false, force: args.force ?? false, dryRun };
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return { close, async publish() {
|
|
174
|
+
let published = 0, code;
|
|
175
|
+
try {
|
|
176
|
+
for await (const item of publications(true)) {
|
|
177
|
+
if (request.preflightOutputStream) await request.preflightOutputStream(item);
|
|
178
|
+
else if (request.publishOutput) await request.publishOutput(item);
|
|
179
|
+
}
|
|
180
|
+
if (!args.dryRun) {
|
|
181
|
+
if (request.publishOutputStreams) await request.publishOutputStreams(publications(false));
|
|
182
|
+
else for await (const item of publications(false)) {
|
|
183
|
+
await request.publishOutput(item);
|
|
184
|
+
published++;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
} catch (error) {
|
|
188
|
+
const raw = error && typeof error === "object" && "code" in error ? error.code : void 0;
|
|
189
|
+
code = signal.aborted ? "cancelled" : typeof raw === "string" && ["resource-limit", "stale-input", "publication-unsupported"].includes(raw) ? raw : "io-failure";
|
|
190
|
+
}
|
|
191
|
+
await response.write(!code || args.json ? streaming.stdout : streaming.stderr, code ? { code, published } : void 0);
|
|
192
|
+
return { exitCode: !code ? 0 : code === "cancelled" ? 130 : code === "resource-limit" ? 4 : code === "stale-input" ? 1 : 3, stdout: new Uint8Array(), stderr: new Uint8Array() };
|
|
193
|
+
} };
|
|
194
|
+
} catch (error) {
|
|
195
|
+
await close().catch(() => {
|
|
196
|
+
});
|
|
197
|
+
throw error;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
14
201
|
// packages/safe-bash-command-pptx/src/command-engine.ts
|
|
202
|
+
import { stageRetainedObjects, stageRetainedFonts } from "../../safe-bash-presentation-engine/opaque-objects.js";
|
|
203
|
+
import { stageRetainedTransitions } from "../../safe-bash-presentation-engine/transitions.js";
|
|
15
204
|
import { stageRetainedMemberships } from "../../safe-bash-presentation-engine/memberships.js";
|
|
16
205
|
import { stageRetainedPresentationSettings } from "../../safe-bash-presentation-engine/presentation-settings.js";
|
|
17
206
|
import { stageRetainedTags } from "../../safe-bash-presentation-engine/tags.js";
|
|
@@ -21,13 +210,13 @@ import { stageRetainedNotes } from "../../safe-bash-presentation-engine/notes.js
|
|
|
21
210
|
// packages/safe-bash-command-pptx/src/retained-pack-manifest.ts
|
|
22
211
|
import { PagedStorage } from "@poe-platform/safe-fs/storage";
|
|
23
212
|
import { resourceContext } from "../../safe-bash-presentation-engine/resource-limits.js";
|
|
24
|
-
import { OfficeError as
|
|
213
|
+
import { OfficeError as OfficeError3 } from "../../safe-bash-presentation-engine/errors.js";
|
|
25
214
|
import { asciiKey, partName } from "../../safe-bash-presentation-engine/package-uri.js";
|
|
26
215
|
|
|
27
216
|
// packages/safe-bash-command-pptx/src/command-package-path.ts
|
|
28
|
-
import { OfficeError } from "../../safe-bash-presentation-engine/errors.js";
|
|
217
|
+
import { OfficeError as OfficeError2 } from "../../safe-bash-presentation-engine/errors.js";
|
|
29
218
|
function usage(message) {
|
|
30
|
-
throw new
|
|
219
|
+
throw new OfficeError2("invalid-value", message, "usage");
|
|
31
220
|
}
|
|
32
221
|
function scopedPackagePath(manifest, path) {
|
|
33
222
|
if (path === "-") return path;
|
|
@@ -51,22 +240,22 @@ async function openRetainedPackManifest(source3, settings, options2) {
|
|
|
51
240
|
const context = resourceContext(settings), signal = context.signal ?? new AbortController().signal;
|
|
52
241
|
const working = { ...settings.workingStorage }, cacheBytes = working.cacheBytes ?? 1024 * 1024;
|
|
53
242
|
if (!working.fs || typeof working.directory !== "string" || !working.directory.startsWith("/") || !Number.isSafeInteger(cacheBytes) || cacheBytes < 16384 || cacheBytes % 16384)
|
|
54
|
-
throw new
|
|
243
|
+
throw new OfficeError3("invalid-value", "Explicit manifest storage and a valid cache budget are required.", "usage");
|
|
55
244
|
const manifestPath = options2.manifest, outputPath = options2.output;
|
|
56
245
|
const pages = new PagedStorage({ fs: working.fs, cwd: working.directory, env: {}, signal }, cacheBytes / 16384);
|
|
57
246
|
const index = new PagedStorage({ fs: working.fs, cwd: working.directory, env: {}, signal }, cacheBytes / 16384);
|
|
58
247
|
let closed = false, closing, count = 0, parts = 0;
|
|
59
248
|
const check = () => {
|
|
60
|
-
if (closed) throw new
|
|
61
|
-
if (signal.aborted) throw new
|
|
249
|
+
if (closed) throw new OfficeError3("invalid-handle", "Manifest is closed.", "admit");
|
|
250
|
+
if (signal.aborted) throw new OfficeError3("cancelled", "Operation cancelled.", "admit");
|
|
62
251
|
};
|
|
63
252
|
const usage14 = () => {
|
|
64
|
-
throw new
|
|
253
|
+
throw new OfficeError3("invalid-value", "Manifest requires unique canonical parts, hashes and explicit scoped files.", "usage");
|
|
65
254
|
};
|
|
66
255
|
const limit = () => {
|
|
67
|
-
throw new
|
|
256
|
+
throw new OfficeError3("resource-limit", "Manifest exceeds input limits.", "admit");
|
|
68
257
|
};
|
|
69
|
-
const failure = (error) => error instanceof
|
|
258
|
+
const failure = (error) => error instanceof OfficeError3 ? error : new OfficeError3(signal.aborted ? "cancelled" : error && typeof error === "object" && "code" in error && error.code === "EFBIG" ? "resource-limit" : "io-failure", "Manifest input or storage failed.", "admit");
|
|
70
259
|
const close = () => {
|
|
71
260
|
closed = true;
|
|
72
261
|
return closing ??= (async () => {
|
|
@@ -112,10 +301,10 @@ async function openRetainedPackManifest(source3, settings, options2) {
|
|
|
112
301
|
}
|
|
113
302
|
async function member(row) {
|
|
114
303
|
const fields3 = { part: await tree.property(row, "part"), sha256: await tree.property(row, "sha256") };
|
|
115
|
-
const part = await tree.smallText(fields3.part, 65535),
|
|
304
|
+
const part = await tree.smallText(fields3.part, 65535), sha2566 = await tree.smallText(fields3.sha256, 64);
|
|
116
305
|
if (part === void 0) return limit();
|
|
117
|
-
if (
|
|
118
|
-
return { part, sha256:
|
|
306
|
+
if (sha2566 === void 0) return usage14();
|
|
307
|
+
return { part, sha256: sha2566 };
|
|
119
308
|
}
|
|
120
309
|
async function pathAt(row) {
|
|
121
310
|
const file = await tree.property(row, "file"), path = await tree.property(file, "vfsPath");
|
|
@@ -141,7 +330,7 @@ async function openRetainedPackManifest(source3, settings, options2) {
|
|
|
141
330
|
if (tail) yield tail;
|
|
142
331
|
return;
|
|
143
332
|
}
|
|
144
|
-
if (!(item.value instanceof Uint8Array)) throw new
|
|
333
|
+
if (!(item.value instanceof Uint8Array)) throw new OfficeError3("invalid-type", "Manifest source returned invalid bytes.", "admit");
|
|
145
334
|
size += item.value.length;
|
|
146
335
|
if (!Number.isSafeInteger(size) || size > Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes)) limit();
|
|
147
336
|
for (let offset = 0; offset < item.value.length; offset += 16384) {
|
|
@@ -215,7 +404,7 @@ async function openRetainedPackManifest(source3, settings, options2) {
|
|
|
215
404
|
try {
|
|
216
405
|
check();
|
|
217
406
|
const row = await names.get(asciiKey(part));
|
|
218
|
-
if (row === void 0) throw new
|
|
407
|
+
if (row === void 0) throw new OfficeError3("missing-binding", "Manifest member is absent.", "admit");
|
|
219
408
|
return await pathAt(row);
|
|
220
409
|
} catch (error) {
|
|
221
410
|
throw failure(error);
|
|
@@ -247,8 +436,8 @@ async function openRetainedPackManifest(source3, settings, options2) {
|
|
|
247
436
|
import { stageRetainedPackage } from "../../safe-bash-presentation-engine/package-tools.js";
|
|
248
437
|
|
|
249
438
|
// packages/safe-bash-command-pptx/src/command-extract-streaming.ts
|
|
250
|
-
import { openRetainedPackageExtraction, stageRetainedExtractionOutput } from "../../safe-bash-presentation-engine/package-tools.js";
|
|
251
|
-
import { OfficeError as
|
|
439
|
+
import { openRetainedPackageExtraction, stageRetainedExtractionOutput as stageRetainedExtractionOutput3 } from "../../safe-bash-presentation-engine/package-tools.js";
|
|
440
|
+
import { OfficeError as OfficeError4 } from "../../safe-bash-presentation-engine/errors.js";
|
|
252
441
|
async function prepareRetainedExtraction(args, request, options2) {
|
|
253
442
|
const { streaming, signal } = request, context = { ...options2.context, signal, workingStorage: streaming.workingStorage };
|
|
254
443
|
const input = await streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
|
|
@@ -262,9 +451,9 @@ async function prepareRetainedExtraction(args, request, options2) {
|
|
|
262
451
|
let total = 0;
|
|
263
452
|
for await (const member of extraction.members()) total += member.size;
|
|
264
453
|
if (extraction.count > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers) || !Number.isSafeInteger(total) || total > options2.maxOutputBytes)
|
|
265
|
-
throw new
|
|
454
|
+
throw new OfficeError4("resource-limit", "Package extraction exceeds output limits.", "validate-intent");
|
|
266
455
|
if (!request.publishOutputStreams && (!args.allowPartialOutput || !request.publishOutput)) throw Object.assign(new Error("Extraction requires a publication capability."), { code: "publication-unsupported" });
|
|
267
|
-
response = await
|
|
456
|
+
response = await stageRetainedExtractionOutput3(extraction, context, { directory: args.outputDir, json: args.json, maxOutputBytes: options2.maxOutputBytes, allowPartialOutput: args.allowPartialOutput ?? false });
|
|
268
457
|
async function* publications(dryRun) {
|
|
269
458
|
for await (const member of extraction.members()) {
|
|
270
459
|
signal.throwIfAborted();
|
|
@@ -300,11 +489,11 @@ async function prepareRetainedExtraction(args, request, options2) {
|
|
|
300
489
|
// packages/safe-bash-command-pptx/src/command-engine.ts
|
|
301
490
|
import { stageRetainedText } from "../../safe-bash-presentation-engine/retained-text.js";
|
|
302
491
|
import { stageRetainedInspection } from "../../safe-bash-presentation-engine/retained-inspection.js";
|
|
303
|
-
import { openPackageArchive } from "../../safe-bash-presentation-engine/retained-package.js";
|
|
492
|
+
import { openPackageArchive as openPackageArchive3 } from "../../safe-bash-presentation-engine/retained-package.js";
|
|
304
493
|
|
|
305
494
|
// packages/safe-bash-command-pptx/src/capabilities-discovery.ts
|
|
306
495
|
import { parseContentTypes } from "../../safe-bash-presentation-engine/content-types.js";
|
|
307
|
-
import { OfficeError as
|
|
496
|
+
import { OfficeError as OfficeError5 } from "../../safe-bash-presentation-engine/errors.js";
|
|
308
497
|
import { readRelationshipGraph } from "../../safe-bash-presentation-engine/relationships.js";
|
|
309
498
|
import { readPackage } from "../../safe-bash-presentation-engine/package-reader.js";
|
|
310
499
|
import { parseXmlPart } from "../../safe-bash-presentation-engine/xml.js";
|
|
@@ -341,7 +530,7 @@ function declaredFeatureCapabilities(features, operations) {
|
|
|
341
530
|
Object.entries(features).map(([name, feature]) => {
|
|
342
531
|
const paths = feature.operations ?? (feature.operation ? [feature.operation] : featureOperations[name]);
|
|
343
532
|
if (!paths?.length || paths.some((path) => !Object.hasOwn(operations, path))) {
|
|
344
|
-
throw new
|
|
533
|
+
throw new OfficeError5(
|
|
345
534
|
"invalid-value",
|
|
346
535
|
"Capability references an undeclared operation.",
|
|
347
536
|
"usage"
|
|
@@ -391,7 +580,7 @@ async function assessCapabilities(input, context) {
|
|
|
391
580
|
try {
|
|
392
581
|
contentType = types.get(part);
|
|
393
582
|
} catch (error) {
|
|
394
|
-
if (!(error instanceof
|
|
583
|
+
if (!(error instanceof OfficeError5) || error.code !== "missing-binding") throw error;
|
|
395
584
|
}
|
|
396
585
|
}
|
|
397
586
|
const type = contentType?.split(";", 1)[0].trim().toLowerCase();
|
|
@@ -406,7 +595,7 @@ async function assessCapabilities(input, context) {
|
|
|
406
595
|
const data = reader.get(part);
|
|
407
596
|
xmlBytes += data.length;
|
|
408
597
|
if (xmlBytes > context.xmlLimits.maxBytes || nodes >= context.xmlLimits.maxNodes)
|
|
409
|
-
throw new
|
|
598
|
+
throw new OfficeError5(
|
|
410
599
|
"resource-limit",
|
|
411
600
|
"Capability XML inspection limit exceeded.",
|
|
412
601
|
"index"
|
|
@@ -417,7 +606,7 @@ async function assessCapabilities(input, context) {
|
|
|
417
606
|
});
|
|
418
607
|
nodes += xml.nodeCount;
|
|
419
608
|
if (nodes > context.xmlLimits.maxNodes)
|
|
420
|
-
throw new
|
|
609
|
+
throw new OfficeError5("resource-limit", "Capability XML node limit exceeded.", "index");
|
|
421
610
|
const pending = [xml.root];
|
|
422
611
|
let visited = 0;
|
|
423
612
|
while (pending.length) {
|
|
@@ -3756,7 +3945,7 @@ var discoverySchemas = Object.fromEntries([
|
|
|
3756
3945
|
}]));
|
|
3757
3946
|
|
|
3758
3947
|
// packages/safe-bash-command-pptx/src/command-objects-add.ts
|
|
3759
|
-
import { OfficeError as
|
|
3948
|
+
import { OfficeError as OfficeError6 } from "../../safe-bash-presentation-engine/errors.js";
|
|
3760
3949
|
import { addOleObject } from "../../safe-bash-presentation-engine/ole-insertion.js";
|
|
3761
3950
|
var objectsAddUsage = "Usage: pptx objects add INPUT --slide N --file PATH --icon PATH (--program-id TEXT | --program DOCX|PPTX|XLSX) [--icon-content-type TYPE]\n --left LENGTH --top LENGTH --width LENGTH --height LENGTH --icon-width LENGTH --icon-height LENGTH --name TEXT\n --output PATH|--in-place|--dry-run [--force] [--json] [--limit NAME=VALUE]\nEmbed explicit inert bytes with an explicit icon. No activation or recursive payload parsing.\n";
|
|
3762
3951
|
var length = {
|
|
@@ -3864,7 +4053,7 @@ var objectsAddSchema = {
|
|
|
3864
4053
|
}
|
|
3865
4054
|
};
|
|
3866
4055
|
function usage2(message) {
|
|
3867
|
-
throw new
|
|
4056
|
+
throw new OfficeError6("invalid-value", message, "usage");
|
|
3868
4057
|
}
|
|
3869
4058
|
function validateObjectsAddCommand(args, positionals, seen) {
|
|
3870
4059
|
const allowed = Object.keys(objectsAddSchema.options.properties).map(
|
|
@@ -4094,7 +4283,7 @@ var packageToolsSchemas = Object.fromEntries(
|
|
|
4094
4283
|
);
|
|
4095
4284
|
|
|
4096
4285
|
// packages/safe-bash-command-pptx/src/command-engine-values.ts
|
|
4097
|
-
import { OfficeError as
|
|
4286
|
+
import { OfficeError as OfficeError7 } from "../../safe-bash-presentation-engine/errors.js";
|
|
4098
4287
|
function commandLength(value, minimum = 1) {
|
|
4099
4288
|
const units = { emu: 1, in: 914400, cm: 36e4, mm: 36e3, pt: 12700 };
|
|
4100
4289
|
const unit = Object.keys(units).find((candidate) => value.endsWith(candidate));
|
|
@@ -4103,7 +4292,7 @@ function commandLength(value, minimum = 1) {
|
|
|
4103
4292
|
if (!unit || pieces.length > 2 || !pieces[0] || pieces.some(
|
|
4104
4293
|
(piece) => !piece || [...piece].some((character) => character < "0" || character > "9")
|
|
4105
4294
|
))
|
|
4106
|
-
throw new
|
|
4295
|
+
throw new OfficeError7(
|
|
4107
4296
|
"invalid-value",
|
|
4108
4297
|
"Lengths require a decimal and emu, in, cm, mm or pt unit.",
|
|
4109
4298
|
"usage"
|
|
@@ -4111,13 +4300,13 @@ function commandLength(value, minimum = 1) {
|
|
|
4111
4300
|
const raw = Number(digits) * units[unit];
|
|
4112
4301
|
const result = Math.sign(raw) * Math.round(Math.abs(raw));
|
|
4113
4302
|
if (!Number.isFinite(raw) || Math.abs(raw) > Number.MAX_SAFE_INTEGER || !Number.isSafeInteger(result) || result < minimum)
|
|
4114
|
-
throw new
|
|
4303
|
+
throw new OfficeError7("invalid-value", "Length is outside the supported range.", "usage");
|
|
4115
4304
|
return result;
|
|
4116
4305
|
}
|
|
4117
4306
|
function commandTimestamp(value) {
|
|
4118
4307
|
const date = new Date(value);
|
|
4119
4308
|
if (!Number.isFinite(date.getTime()) || !value.endsWith("Z") || date.toISOString() !== value && date.toISOString() !== value.slice(0, -1) + ".000Z")
|
|
4120
|
-
throw new
|
|
4309
|
+
throw new OfficeError7(
|
|
4121
4310
|
"invalid-value",
|
|
4122
4311
|
"Timestamp requires a valid UTC date with seconds and Z suffix.",
|
|
4123
4312
|
"usage"
|
|
@@ -4151,7 +4340,7 @@ function commandJson(value) {
|
|
|
4151
4340
|
}
|
|
4152
4341
|
return JSON.parse(value);
|
|
4153
4342
|
} catch {
|
|
4154
|
-
throw new
|
|
4343
|
+
throw new OfficeError7(
|
|
4155
4344
|
"invalid-value",
|
|
4156
4345
|
"Structured slides require valid JSON without duplicate keys, at most 32 levels deep.",
|
|
4157
4346
|
"usage"
|
|
@@ -4160,12 +4349,12 @@ function commandJson(value) {
|
|
|
4160
4349
|
}
|
|
4161
4350
|
|
|
4162
4351
|
// packages/safe-bash-command-pptx/src/command-package-tools.ts
|
|
4163
|
-
import { sha256 } from "@noble/hashes/sha2.js";
|
|
4164
|
-
import { OfficeError as
|
|
4352
|
+
import { sha256 as sha2562 } from "@noble/hashes/sha2.js";
|
|
4353
|
+
import { OfficeError as OfficeError8 } from "../../safe-bash-presentation-engine/errors.js";
|
|
4165
4354
|
import { asciiKey as asciiKey2, partName as partName2 } from "../../safe-bash-presentation-engine/package-uri.js";
|
|
4166
4355
|
import { extractPackage, packPackage } from "../../safe-bash-presentation-engine/package-tools.js";
|
|
4167
4356
|
function usage3(message) {
|
|
4168
|
-
throw new
|
|
4357
|
+
throw new OfficeError8("invalid-value", message, "usage");
|
|
4169
4358
|
}
|
|
4170
4359
|
function canonical(part) {
|
|
4171
4360
|
try {
|
|
@@ -4216,7 +4405,7 @@ async function executePackageCommand(args, request, options2) {
|
|
|
4216
4405
|
);
|
|
4217
4406
|
const files = await extractPackage(bytes2, context, args.parts ? { parts: args.parts } : {});
|
|
4218
4407
|
if (files.length > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers) || files.reduce((sum, file) => sum + file.bytes.length, 0) > options2.maxOutputBytes)
|
|
4219
|
-
throw new
|
|
4408
|
+
throw new OfficeError8(
|
|
4220
4409
|
"resource-limit",
|
|
4221
4410
|
"Package extraction exceeds output limits.",
|
|
4222
4411
|
"validate-intent"
|
|
@@ -4248,7 +4437,7 @@ async function executePackageCommand(args, request, options2) {
|
|
|
4248
4437
|
};
|
|
4249
4438
|
}
|
|
4250
4439
|
if (args.creation?.author !== void 0 || args.creation?.timestamp !== void 0)
|
|
4251
|
-
throw new
|
|
4440
|
+
throw new OfficeError8(
|
|
4252
4441
|
"unsupported-edit",
|
|
4253
4442
|
"Pack metadata overrides are unavailable; source properties are preserved.",
|
|
4254
4443
|
"validate-intent"
|
|
@@ -4258,7 +4447,7 @@ async function executePackageCommand(args, request, options2) {
|
|
|
4258
4447
|
Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes)
|
|
4259
4448
|
);
|
|
4260
4449
|
if (encoded.length > Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes))
|
|
4261
|
-
throw new
|
|
4450
|
+
throw new OfficeError8("resource-limit", "Manifest exceeds byte limit.", "admit");
|
|
4262
4451
|
let value;
|
|
4263
4452
|
try {
|
|
4264
4453
|
value = commandJson(new TextDecoder("utf-8", { fatal: true }).decode(encoded));
|
|
@@ -4268,7 +4457,7 @@ async function executePackageCommand(args, request, options2) {
|
|
|
4268
4457
|
if (!value || typeof value !== "object" || Array.isArray(value) || Object.keys(value).some((key) => key !== "parts") || !("parts" in value) || !Array.isArray(value.parts) || !value.parts.length)
|
|
4269
4458
|
usage3("Manifest requires a nonempty parts array.");
|
|
4270
4459
|
if (value.parts.length > context.archiveLimits.maxMembers)
|
|
4271
|
-
throw new
|
|
4460
|
+
throw new OfficeError8("resource-limit", "Manifest exceeds member limit.", "admit");
|
|
4272
4461
|
const parts = value.parts;
|
|
4273
4462
|
for (const item of parts)
|
|
4274
4463
|
if (!item || typeof item !== "object" || Object.keys(item).some((key) => !["part", "sha256", "file"].includes(key)) || !canonical(item.part) || typeof item.sha256 !== "string" || item.sha256.length !== 64 || [...item.sha256].some((c) => !"0123456789abcdef".includes(c)) || !item.file || typeof item.file !== "object" || Object.keys(item.file).length !== 1 || typeof item.file.vfsPath !== "string" || !item.file.vfsPath.length)
|
|
@@ -4290,7 +4479,7 @@ async function executePackageCommand(args, request, options2) {
|
|
|
4290
4479
|
);
|
|
4291
4480
|
total += bytes2.length;
|
|
4292
4481
|
if (bytes2.length > context.archiveLimits.maxEntryBytes || total > context.archiveLimits.maxTotalBytes)
|
|
4293
|
-
throw new
|
|
4482
|
+
throw new OfficeError8("resource-limit", "Manifest contents exceed byte limit.", "admit");
|
|
4294
4483
|
members.push({ part: item.part, sha256: item.sha256, bytes: bytes2 });
|
|
4295
4484
|
}
|
|
4296
4485
|
const bytes = await packPackage(
|
|
@@ -4299,9 +4488,9 @@ async function executePackageCommand(args, request, options2) {
|
|
|
4299
4488
|
args.creation?.kind ? { kind: args.creation.kind } : {}
|
|
4300
4489
|
);
|
|
4301
4490
|
if (bytes.length > options2.maxOutputBytes)
|
|
4302
|
-
throw new
|
|
4491
|
+
throw new OfficeError8("resource-limit", "Packed output exceeds byte limit.", "validate-intent");
|
|
4303
4492
|
const dryRun = args.dryRun ?? false;
|
|
4304
|
-
const fingerprint = [...
|
|
4493
|
+
const fingerprint = [...sha2562(bytes)].map((byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
4305
4494
|
if (args.output && args.output !== "-" && !request.publishOutput)
|
|
4306
4495
|
throw Object.assign(new Error("Output publication unavailable."), {
|
|
4307
4496
|
code: "publication-unsupported"
|
|
@@ -4335,7 +4524,7 @@ async function executePackageCommand(args, request, options2) {
|
|
|
4335
4524
|
}
|
|
4336
4525
|
|
|
4337
4526
|
// packages/safe-bash-command-pptx/src/command-diff.ts
|
|
4338
|
-
import { OfficeError as
|
|
4527
|
+
import { OfficeError as OfficeError9 } from "../../safe-bash-presentation-engine/errors.js";
|
|
4339
4528
|
import { comparePresentations, stageRetainedDiff } from "../../safe-bash-presentation-engine/diff.js";
|
|
4340
4529
|
|
|
4341
4530
|
// packages/safe-bash-command-pptx/src/diff-schema.ts
|
|
@@ -4442,7 +4631,7 @@ async function executeDiffCommand(request, options2) {
|
|
|
4442
4631
|
let exitCode = 0;
|
|
4443
4632
|
let staged;
|
|
4444
4633
|
const failure = (error) => {
|
|
4445
|
-
const office = error instanceof
|
|
4634
|
+
const office = error instanceof OfficeError9 ? error : void 0;
|
|
4446
4635
|
const code = request.signal.aborted ? "cancelled" : office?.code ?? (error && typeof error === "object" && "code" in error && error.code === "resource-limit" ? "resource-limit" : "io-failure");
|
|
4447
4636
|
exitCode = code === "cancelled" ? 130 : 2;
|
|
4448
4637
|
const message = office?.message ?? (code === "cancelled" ? "Comparison cancelled." : "Comparison input could not be read.");
|
|
@@ -4460,7 +4649,7 @@ async function executeDiffCommand(request, options2) {
|
|
|
4460
4649
|
};
|
|
4461
4650
|
};
|
|
4462
4651
|
const usage14 = (message) => {
|
|
4463
|
-
throw new
|
|
4652
|
+
throw new OfficeError9("invalid-value", message, "usage");
|
|
4464
4653
|
};
|
|
4465
4654
|
try {
|
|
4466
4655
|
let byteCount = 0;
|
|
@@ -4468,7 +4657,7 @@ async function executeDiffCommand(request, options2) {
|
|
|
4468
4657
|
if (!(bytes2 instanceof Uint8Array)) usage14("Arguments must be byte arrays.");
|
|
4469
4658
|
byteCount += bytes2.byteLength;
|
|
4470
4659
|
if (byteCount > options2.maxArgumentBytes)
|
|
4471
|
-
throw new
|
|
4660
|
+
throw new OfficeError9("resource-limit", "Argument limit exceeded.", "admit");
|
|
4472
4661
|
try {
|
|
4473
4662
|
return new TextDecoder("utf-8", { fatal: true }).decode(bytes2);
|
|
4474
4663
|
} catch {
|
|
@@ -4546,7 +4735,7 @@ async function executeDiffCommand(request, options2) {
|
|
|
4546
4735
|
}
|
|
4547
4736
|
};
|
|
4548
4737
|
if (mode === "effective-formatting")
|
|
4549
|
-
throw new
|
|
4738
|
+
throw new OfficeError9(
|
|
4550
4739
|
"unsupported-profile",
|
|
4551
4740
|
"Effective formatting comparison is not supported.",
|
|
4552
4741
|
"usage"
|
|
@@ -4559,7 +4748,7 @@ async function executeDiffCommand(request, options2) {
|
|
|
4559
4748
|
try {
|
|
4560
4749
|
staged = await stageRetainedDiff(left, right, { mode, json, maxOutputBytes }, { ...context, workingStorage: request.streaming.workingStorage });
|
|
4561
4750
|
} catch (error) {
|
|
4562
|
-
if (error instanceof
|
|
4751
|
+
if (error instanceof OfficeError9 && error.code === "resource-limit" && error.phase === "publish") throw new OfficeError9("resource-limit", "Comparison output limit exceeded.", "admit");
|
|
4563
4752
|
throw error;
|
|
4564
4753
|
}
|
|
4565
4754
|
exitCode = staged.equal ? 0 : 1;
|
|
@@ -4611,7 +4800,7 @@ async function executeDiffCommand(request, options2) {
|
|
|
4611
4800
|
let bytes = encoder.encode(json ? JSON.stringify(result) + "\n" : human);
|
|
4612
4801
|
if (bytes.length > maxOutputBytes) {
|
|
4613
4802
|
result = failure(
|
|
4614
|
-
new
|
|
4803
|
+
new OfficeError9("resource-limit", "Comparison output limit exceeded.", "admit")
|
|
4615
4804
|
);
|
|
4616
4805
|
bytes = encoder.encode(json ? JSON.stringify(result) + "\n" : human);
|
|
4617
4806
|
}
|
|
@@ -4730,8 +4919,8 @@ var templateSchema = {
|
|
|
4730
4919
|
};
|
|
4731
4920
|
|
|
4732
4921
|
// packages/safe-bash-command-pptx/src/command-template.ts
|
|
4733
|
-
import { sha256 as
|
|
4734
|
-
import { OfficeError as
|
|
4922
|
+
import { sha256 as sha2563 } from "@noble/hashes/sha2.js";
|
|
4923
|
+
import { OfficeError as OfficeError10 } from "../../safe-bash-presentation-engine/errors.js";
|
|
4735
4924
|
import {
|
|
4736
4925
|
applyTemplateBindings,
|
|
4737
4926
|
validateTemplateBindings
|
|
@@ -4745,7 +4934,7 @@ function validateTemplateData(value) {
|
|
|
4745
4934
|
else validateTemplateRepeat(value);
|
|
4746
4935
|
}
|
|
4747
4936
|
function usage4(message) {
|
|
4748
|
-
throw new
|
|
4937
|
+
throw new OfficeError10("invalid-value", message, "usage");
|
|
4749
4938
|
}
|
|
4750
4939
|
function validateTemplateCommand(args, positionals, seen) {
|
|
4751
4940
|
if ([...seen].some(
|
|
@@ -4809,7 +4998,7 @@ async function executeTemplateCommand(args, request, options2) {
|
|
|
4809
4998
|
code: "publication-unsupported"
|
|
4810
4999
|
});
|
|
4811
5000
|
const fingerprint = Array.from(
|
|
4812
|
-
|
|
5001
|
+
sha2563(mutation2.bytes),
|
|
4813
5002
|
(byte) => byte.toString(16).padStart(2, "0")
|
|
4814
5003
|
).join("");
|
|
4815
5004
|
const repeat = Array.isArray(bindings) ? void 0 : bindings;
|
|
@@ -5097,11 +5286,11 @@ var commentSchemas = Object.fromEntries(
|
|
|
5097
5286
|
);
|
|
5098
5287
|
|
|
5099
5288
|
// packages/safe-bash-command-pptx/src/command-comments.ts
|
|
5100
|
-
import { OfficeError as
|
|
5289
|
+
import { OfficeError as OfficeError11 } from "../../safe-bash-presentation-engine/errors.js";
|
|
5101
5290
|
import { mutateComments, readComments, readCommentAuthors } from "../../safe-bash-presentation-engine/comments.js";
|
|
5102
5291
|
import { SelectionError } from "../../safe-bash-presentation-engine/selectors.js";
|
|
5103
5292
|
function usage5(message) {
|
|
5104
|
-
throw new
|
|
5293
|
+
throw new OfficeError11("invalid-value", message, "usage");
|
|
5105
5294
|
}
|
|
5106
5295
|
function validateCommentsCommand(args, positionals, seen) {
|
|
5107
5296
|
const allowed = Object.keys(commentSchemas[args.operation].options.properties).map(
|
|
@@ -5603,7 +5792,7 @@ var accessibilitySchemas = Object.fromEntries(
|
|
|
5603
5792
|
);
|
|
5604
5793
|
|
|
5605
5794
|
// packages/safe-bash-command-pptx/src/command-accessibility.ts
|
|
5606
|
-
import { OfficeError as
|
|
5795
|
+
import { OfficeError as OfficeError12 } from "../../safe-bash-presentation-engine/errors.js";
|
|
5607
5796
|
import {
|
|
5608
5797
|
readAccessibility,
|
|
5609
5798
|
mutateAccessibility,
|
|
@@ -5611,7 +5800,7 @@ import {
|
|
|
5611
5800
|
} from "../../safe-bash-presentation-engine/accessibility.js";
|
|
5612
5801
|
import { SelectionError as SelectionError2 } from "../../safe-bash-presentation-engine/selectors.js";
|
|
5613
5802
|
function usage6(message) {
|
|
5614
|
-
throw new
|
|
5803
|
+
throw new OfficeError12("invalid-value", message, "usage");
|
|
5615
5804
|
}
|
|
5616
5805
|
function validateAccessibilityCommand(args, positionals, seen) {
|
|
5617
5806
|
const allowed = Object.keys(accessibilitySchemas[args.operation].options.properties).map(
|
|
@@ -5721,13 +5910,13 @@ async function executeAccessibilityCommand(args, request, options2) {
|
|
|
5721
5910
|
}
|
|
5722
5911
|
|
|
5723
5912
|
// packages/safe-bash-command-pptx/src/command-metadata.ts
|
|
5724
|
-
import { OfficeError as
|
|
5913
|
+
import { OfficeError as OfficeError13 } from "../../safe-bash-presentation-engine/errors.js";
|
|
5725
5914
|
import { coreDefinition, mutateProperty, readProperties } from "../../safe-bash-presentation-engine/properties.js";
|
|
5726
5915
|
import { sanitize as sanitizePresentation } from "../../safe-bash-presentation-engine/sanitize.js";
|
|
5727
5916
|
import { mutateTags, readTags } from "../../safe-bash-presentation-engine/tags.js";
|
|
5728
5917
|
import { SelectionError as SelectionError3 } from "../../safe-bash-presentation-engine/selectors.js";
|
|
5729
5918
|
function usage7(message) {
|
|
5730
|
-
throw new
|
|
5919
|
+
throw new OfficeError13("invalid-value", message, "usage");
|
|
5731
5920
|
}
|
|
5732
5921
|
function removalCategories(value) {
|
|
5733
5922
|
const categories = ["notes", "comments", "properties", "links", "objects"];
|
|
@@ -5829,11 +6018,11 @@ ${sanitization.retained.map((entry) => `Retained ${entry.category} ${entry.kind}
|
|
|
5829
6018
|
}
|
|
5830
6019
|
|
|
5831
6020
|
// packages/safe-bash-command-pptx/src/command-notes.ts
|
|
5832
|
-
import { OfficeError as
|
|
6021
|
+
import { OfficeError as OfficeError14 } from "../../safe-bash-presentation-engine/errors.js";
|
|
5833
6022
|
import { mutateNotes, readNotes, validateNotesOptions } from "../../safe-bash-presentation-engine/notes.js";
|
|
5834
6023
|
import { readSelectionIndex, SelectionError as SelectionError4 } from "../../safe-bash-presentation-engine/selectors.js";
|
|
5835
6024
|
function usage8(message) {
|
|
5836
|
-
throw new
|
|
6025
|
+
throw new OfficeError14("invalid-value", message, "usage");
|
|
5837
6026
|
}
|
|
5838
6027
|
function validateNotesCommand(args, positionals, seen) {
|
|
5839
6028
|
const allowed = Object.keys(noteSchemas[args.operation].options.properties).map(
|
|
@@ -6115,12 +6304,12 @@ var linkSchemas = Object.fromEntries(
|
|
|
6115
6304
|
// packages/safe-bash-command-pptx/src/command-links.ts
|
|
6116
6305
|
import { readPackage as readPackage2 } from "../../safe-bash-presentation-engine/package-reader.js";
|
|
6117
6306
|
import { parseXmlPart as parseXmlPart2 } from "../../safe-bash-presentation-engine/xml.js";
|
|
6118
|
-
import { OfficeError as
|
|
6307
|
+
import { OfficeError as OfficeError15 } from "../../safe-bash-presentation-engine/errors.js";
|
|
6119
6308
|
import { listLinks, setLink, removeLink, isOrdinaryLinkUrl } from "../../safe-bash-presentation-engine/links.js";
|
|
6120
6309
|
import { readShapes } from "../../safe-bash-presentation-engine/shape-operations.js";
|
|
6121
6310
|
import { SelectionError as SelectionError5 } from "../../safe-bash-presentation-engine/selectors.js";
|
|
6122
6311
|
function usage9(message) {
|
|
6123
|
-
throw new
|
|
6312
|
+
throw new OfficeError15("invalid-value", message, "usage");
|
|
6124
6313
|
}
|
|
6125
6314
|
function validateLinkCommand(args, positionals, seen) {
|
|
6126
6315
|
const allowed = Object.keys(linkSchemas[args.operation].options.properties).map(
|
|
@@ -6258,7 +6447,7 @@ async function executeLinkCommand(args, request, options2) {
|
|
|
6258
6447
|
if (args.operation === "links.add" && selectedLinks.some(
|
|
6259
6448
|
(link) => link.part === selection.owner && link.shapeId === selection.id && (path ? link.path.length === path.length + 1 && path.every((position, i) => link.path[i] === position) : existingShapeLinks.has(JSON.stringify([link.part, link.shapeId])))
|
|
6260
6449
|
))
|
|
6261
|
-
throw new
|
|
6450
|
+
throw new OfficeError15(
|
|
6262
6451
|
"unsupported-edit",
|
|
6263
6452
|
"Selected trigger already contains a link.",
|
|
6264
6453
|
"validate-intent"
|
|
@@ -7285,11 +7474,11 @@ import { readAnimations } from "../../safe-bash-presentation-engine/animations.j
|
|
|
7285
7474
|
import { mutateAnimations, mutateAnimationsBatch, validateAnimationOptions as validateAnimationOptions2 } from "../../safe-bash-presentation-engine/animation-editing.js";
|
|
7286
7475
|
|
|
7287
7476
|
// packages/safe-bash-command-pptx/src/animation-batch-command.ts
|
|
7288
|
-
import { OfficeError as
|
|
7477
|
+
import { OfficeError as OfficeError16 } from "../../safe-bash-presentation-engine/errors.js";
|
|
7289
7478
|
import { validateAnimationOptions } from "../../safe-bash-presentation-engine/animation-editing.js";
|
|
7290
7479
|
import { decodeSelectionToken, SelectionError as SelectionError6 } from "../../safe-bash-presentation-engine/selectors.js";
|
|
7291
7480
|
function invalid(message) {
|
|
7292
|
-
throw new
|
|
7481
|
+
throw new OfficeError16("invalid-value", message, "usage");
|
|
7293
7482
|
}
|
|
7294
7483
|
function record(value, keys) {
|
|
7295
7484
|
if (!value || typeof value !== "object" || Array.isArray(value) || Object.keys(value).some((key) => !keys.includes(key))) invalid("Invalid animation batch fields.");
|
|
@@ -7497,11 +7686,11 @@ var equationSchemas = Object.fromEntries(["list", "get", "add"].map((action) =>
|
|
|
7497
7686
|
}));
|
|
7498
7687
|
|
|
7499
7688
|
// packages/safe-bash-command-pptx/src/command-equations.ts
|
|
7500
|
-
import { OfficeError as
|
|
7689
|
+
import { OfficeError as OfficeError17 } from "../../safe-bash-presentation-engine/errors.js";
|
|
7501
7690
|
import { readEquations, mutateEquations } from "../../safe-bash-presentation-engine/equations.js";
|
|
7502
7691
|
import { SelectionError as SelectionError7 } from "../../safe-bash-presentation-engine/selectors.js";
|
|
7503
7692
|
function usage10(message) {
|
|
7504
|
-
throw new
|
|
7693
|
+
throw new OfficeError17("invalid-value", message, "usage");
|
|
7505
7694
|
}
|
|
7506
7695
|
function validateEquationCommand(args, positionals, seen) {
|
|
7507
7696
|
const schema = equationSchemas[args.operation];
|
|
@@ -7651,12 +7840,12 @@ var opaqueSchemas = Object.fromEntries(["objects.list", "objects.extract", "font
|
|
|
7651
7840
|
}));
|
|
7652
7841
|
|
|
7653
7842
|
// packages/safe-bash-command-pptx/src/command-opaque.ts
|
|
7654
|
-
import { sha256 as
|
|
7655
|
-
import { OfficeError as
|
|
7843
|
+
import { sha256 as sha2564 } from "@noble/hashes/sha2.js";
|
|
7844
|
+
import { OfficeError as OfficeError18 } from "../../safe-bash-presentation-engine/errors.js";
|
|
7656
7845
|
import { extractObject, readFonts, readObjects } from "../../safe-bash-presentation-engine/opaque-objects.js";
|
|
7657
7846
|
import { partName as partName3 } from "../../safe-bash-presentation-engine/package-uri.js";
|
|
7658
7847
|
function usage11(message) {
|
|
7659
|
-
throw new
|
|
7848
|
+
throw new OfficeError18("invalid-value", message, "usage");
|
|
7660
7849
|
}
|
|
7661
7850
|
function validateOpaqueCommand(args, positionals, seen) {
|
|
7662
7851
|
const schema = opaqueSchemas[args.operation];
|
|
@@ -7693,7 +7882,7 @@ async function executeOpaqueCommand(args, request, options2) {
|
|
|
7693
7882
|
}
|
|
7694
7883
|
const extracted = await extractObject(bytes, { part: args.part }, context);
|
|
7695
7884
|
const files = [{ part: extracted.part, name: extracted.name, bytes: extracted.bytes }, ...extracted.dependencies];
|
|
7696
|
-
if (files.length > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers)) throw new
|
|
7885
|
+
if (files.length > (args.limits?.maxOutputs ?? context.archiveLimits.maxMembers)) throw new OfficeError18("resource-limit", "Opaque output count exceeds limit.", "validate-intent");
|
|
7697
7886
|
const dryRun = args.dryRun ?? false;
|
|
7698
7887
|
const allowPartialOutput = args.allowPartialOutput ?? false;
|
|
7699
7888
|
if (!dryRun && !request.publishOutputs && (!allowPartialOutput || !request.publishOutput)) throw Object.assign(new Error("Object extraction requires atomic publication or explicit partial output."), { code: "publication-unsupported" });
|
|
@@ -7701,7 +7890,7 @@ async function executeOpaqueCommand(args, request, options2) {
|
|
|
7701
7890
|
part: file.part,
|
|
7702
7891
|
name: file.name,
|
|
7703
7892
|
path: `${args.outputDir ?? ""}${!args.outputDir || args.outputDir.endsWith("/") ? "" : "/"}${file.name}`,
|
|
7704
|
-
sha256: [...
|
|
7893
|
+
sha256: [...sha2564(file.bytes)].map((byte) => byte.toString(16).padStart(2, "0")).join(""),
|
|
7705
7894
|
bytes: file.bytes.length
|
|
7706
7895
|
}));
|
|
7707
7896
|
const publications = args.outputDir ? files.map((file, index) => ({ inputPath: args.input, outputPath: opaqueManifest[index].path, bytes: file.bytes, originalBytes: bytes, inPlace: false, force: args.force ?? false, dryRun })) : void 0;
|
|
@@ -7725,7 +7914,7 @@ import { readMedia } from "../../safe-bash-presentation-engine/media.js";
|
|
|
7725
7914
|
import { extractMedia } from "../../safe-bash-presentation-engine/media-extraction.js";
|
|
7726
7915
|
|
|
7727
7916
|
// packages/safe-bash-command-pptx/src/command-media-editing.ts
|
|
7728
|
-
import { OfficeError as
|
|
7917
|
+
import { OfficeError as OfficeError19 } from "../../safe-bash-presentation-engine/errors.js";
|
|
7729
7918
|
import { addMedia, replaceMedia } from "../../safe-bash-presentation-engine/media-editing.js";
|
|
7730
7919
|
|
|
7731
7920
|
// packages/safe-bash-command-pptx/src/media-schema.ts
|
|
@@ -7975,7 +8164,7 @@ for (const action of ["add", "replace", "extract"]) {
|
|
|
7975
8164
|
|
|
7976
8165
|
// packages/safe-bash-command-pptx/src/command-media-editing.ts
|
|
7977
8166
|
function usage12(message) {
|
|
7978
|
-
throw new
|
|
8167
|
+
throw new OfficeError19("invalid-value", message, "usage");
|
|
7979
8168
|
}
|
|
7980
8169
|
function validateMediaEditingCommand(args, positionals, seen) {
|
|
7981
8170
|
const allowed = Object.keys(mediaSchemas[args.operation].options.properties).map(
|
|
@@ -9069,8 +9258,8 @@ import {
|
|
|
9069
9258
|
import { readBackgrounds, mutateBackground } from "../../safe-bash-presentation-engine/backgrounds.js";
|
|
9070
9259
|
import { replacePresentationText } from "../../safe-bash-presentation-engine/text-replacement.js";
|
|
9071
9260
|
import { readPresentationText } from "../../safe-bash-presentation-engine/text-reading.js";
|
|
9072
|
-
import { OfficeError as
|
|
9073
|
-
import { sha256 as
|
|
9261
|
+
import { OfficeError as OfficeError20 } from "../../safe-bash-presentation-engine/errors.js";
|
|
9262
|
+
import { sha256 as sha2565 } from "@noble/hashes/sha2.js";
|
|
9074
9263
|
import { packageUri, partName as partName4 } from "../../safe-bash-presentation-engine/package-uri.js";
|
|
9075
9264
|
import {
|
|
9076
9265
|
SelectionError as SelectionError8,
|
|
@@ -9271,7 +9460,7 @@ Slides add requires an exact layout name or part URI; position defaults to appen
|
|
|
9271
9460
|
Title/body match placeholder types; indexed bindings use --placeholders-json.
|
|
9272
9461
|
`;
|
|
9273
9462
|
function usage13(message) {
|
|
9274
|
-
throw new
|
|
9463
|
+
throw new OfficeError20("invalid-value", message, "usage");
|
|
9275
9464
|
}
|
|
9276
9465
|
function paragraphTabLength(length4) {
|
|
9277
9466
|
if (Object.keys(length4).some((key) => !["value", "unit"].includes(key)) || typeof length4.value !== "number" || !Number.isFinite(length4.value) || length4.value < 0 || typeof length4.unit !== "string")
|
|
@@ -9530,7 +9719,7 @@ function parse(raw, maximum, output3) {
|
|
|
9530
9719
|
size += bytes.length + 1;
|
|
9531
9720
|
if (size > maximum) {
|
|
9532
9721
|
if (invalidUtf8) usage13("Arguments must be UTF-8.");
|
|
9533
|
-
throw new
|
|
9722
|
+
throw new OfficeError20("resource-limit", "Argument limit exceeded.", "usage");
|
|
9534
9723
|
}
|
|
9535
9724
|
try {
|
|
9536
9725
|
args.push(decoder.decode(bytes));
|
|
@@ -10182,7 +10371,7 @@ function parse(raw, maximum, output3) {
|
|
|
10182
10371
|
try {
|
|
10183
10372
|
parsed = admitFontMetrics(JSON.parse(value));
|
|
10184
10373
|
} catch (error) {
|
|
10185
|
-
if (error instanceof
|
|
10374
|
+
if (error instanceof OfficeError20) throw error;
|
|
10186
10375
|
usage13("Metrics require a valid JSON metric object.");
|
|
10187
10376
|
}
|
|
10188
10377
|
} else if (["bold", "italic", "wrap"].includes(key)) {
|
|
@@ -11908,10 +12097,10 @@ async function transferLocations(bytes, budget) {
|
|
|
11908
12097
|
(edge) => relationshipNamespaces.some((namespace) => edge.type === `${namespace}/officeDocument`)
|
|
11909
12098
|
);
|
|
11910
12099
|
const root = roots.length === 1 ? roots[0].targetPart : void 0;
|
|
11911
|
-
if (!root) throw new
|
|
12100
|
+
if (!root) throw new OfficeError20("invalid-opc", "Presentation part is missing.", "index");
|
|
11912
12101
|
const relationshipNamespace = roots[0].type.slice(0, -"/officeDocument".length);
|
|
11913
12102
|
const xml = budget.xml(reader.get(root));
|
|
11914
|
-
const fingerprint = Array.from(
|
|
12103
|
+
const fingerprint = Array.from(sha2565(bytes), (byte) => byte.toString(16).padStart(2, "0")).join(
|
|
11915
12104
|
""
|
|
11916
12105
|
);
|
|
11917
12106
|
const locations = xml.root.children.filter(
|
|
@@ -11927,7 +12116,7 @@ async function transferLocations(bytes, budget) {
|
|
|
11927
12116
|
(edge) => edge.id === reference && edge.type === `${relationshipNamespace}/slide`
|
|
11928
12117
|
)?.targetPart;
|
|
11929
12118
|
if (!id || !owner || !reader.has(owner))
|
|
11930
|
-
throw new
|
|
12119
|
+
throw new OfficeError20("invalid-opc", "Referenced slide is missing.", "index");
|
|
11931
12120
|
return {
|
|
11932
12121
|
fingerprint,
|
|
11933
12122
|
scope: "slides",
|
|
@@ -12037,7 +12226,7 @@ async function executeRequest(request, options2, owned) {
|
|
|
12037
12226
|
output3.operation = args.operation;
|
|
12038
12227
|
const operation2 = args.operation;
|
|
12039
12228
|
if (args.operation === "pack" && request.streaming) {
|
|
12040
|
-
if (args.creation?.author !== void 0 || args.creation?.timestamp !== void 0) throw new
|
|
12229
|
+
if (args.creation?.author !== void 0 || args.creation?.timestamp !== void 0) throw new OfficeError20("unsupported-edit", "Pack metadata overrides are unavailable; source properties are preserved.", "validate-intent");
|
|
12041
12230
|
const streaming = request.streaming, context = { ...options2.context, signal: request.signal, workingStorage: streaming.workingStorage };
|
|
12042
12231
|
const input = await streaming.openInput(args.manifest, Math.min(context.limits.maxBytes, context.xmlLimits.maxBytes));
|
|
12043
12232
|
const manifest = await openRetainedPackManifest(input.stream(), context, { manifest: args.manifest, ...args.output === void 0 ? {} : { output: args.output } });
|
|
@@ -12049,7 +12238,7 @@ async function executeRequest(request, options2, owned) {
|
|
|
12049
12238
|
yield* source3.stream();
|
|
12050
12239
|
}, context, args.creation?.kind ? { kind: args.creation.kind } : {});
|
|
12051
12240
|
owned.push(packed);
|
|
12052
|
-
if (packed.size > options2.maxOutputBytes) throw new
|
|
12241
|
+
if (packed.size > options2.maxOutputBytes) throw new OfficeError20("resource-limit", "Packed output exceeds byte limit.", "validate-intent");
|
|
12053
12242
|
const dryRun = args.dryRun ?? false;
|
|
12054
12243
|
result = {
|
|
12055
12244
|
version: 1,
|
|
@@ -12069,6 +12258,14 @@ async function executeRequest(request, options2, owned) {
|
|
|
12069
12258
|
} else if (args.output === "-" && !dryRun) stagedOutput = { close: packed.close, async write(sink) {
|
|
12070
12259
|
for await (const bytes of packed.bytes()) await sink.write(bytes);
|
|
12071
12260
|
} };
|
|
12261
|
+
} else if (args.operation === "media.extract" && request.streaming && (!request.publishOutputs || request.publishOutputStreams) && (!request.preflightOutput || request.preflightOutputStream)) {
|
|
12262
|
+
retainedExtraction = await prepareRetainedMediaExtraction(args, request, options2);
|
|
12263
|
+
owned.push(retainedExtraction);
|
|
12264
|
+
result = success(operation2, null);
|
|
12265
|
+
} else if (args.operation === "objects.extract" && request.streaming && (!request.publishOutputs || request.publishOutputStreams) && (!request.preflightOutput || request.preflightOutputStream)) {
|
|
12266
|
+
retainedExtraction = await prepareRetainedObjectExtraction(args, request, options2);
|
|
12267
|
+
owned.push(retainedExtraction);
|
|
12268
|
+
result = success(operation2, null);
|
|
12072
12269
|
} else if (args.operation === "extract" && request.streaming && (!request.publishOutputs || request.publishOutputStreams) && (!request.preflightOutput || request.preflightOutputStream)) {
|
|
12073
12270
|
retainedExtraction = await prepareRetainedExtraction(args, request, options2);
|
|
12074
12271
|
owned.push(retainedExtraction);
|
|
@@ -12076,7 +12273,7 @@ async function executeRequest(request, options2, owned) {
|
|
|
12076
12273
|
} else if (args.operation === "xml.set" && request.streaming) {
|
|
12077
12274
|
if (args.token) decodeSelectionToken2(args.token);
|
|
12078
12275
|
const streaming = request.streaming, context = { ...options2.context, signal: request.signal, workingStorage: streaming.workingStorage };
|
|
12079
|
-
if (!context.validationLimits) throw new
|
|
12276
|
+
if (!context.validationLimits) throw new OfficeError20("invalid-value", "XML operations require explicit validation limits.", "usage");
|
|
12080
12277
|
const input = await streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
|
|
12081
12278
|
const maxReplacementBytes = Math.min(context.validationLimits.maxBytes, context.archiveLimits.maxEntryBytes), file = args.file;
|
|
12082
12279
|
async function* replacement() {
|
|
@@ -12099,6 +12296,65 @@ async function executeRequest(request, options2, owned) {
|
|
|
12099
12296
|
publication = { inputPath: args.input, outputPath: destination, bytes: staged.bytes(), originalBytes: input, inPlace: args.inPlace ?? false, force: args.force ?? false, dryRun };
|
|
12100
12297
|
}
|
|
12101
12298
|
result = success(operation2, null);
|
|
12299
|
+
} else if ((args.operation === "media.list" || args.operation === "media.get") && request.streaming) {
|
|
12300
|
+
const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
|
|
12301
|
+
const input = await request.streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
|
|
12302
|
+
const hash = sha2565.create();
|
|
12303
|
+
for await (const bytes of input.stream()) {
|
|
12304
|
+
request.signal.throwIfAborted();
|
|
12305
|
+
hash.update(bytes);
|
|
12306
|
+
}
|
|
12307
|
+
const fingerprint = Array.from(hash.digest(), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
12308
|
+
const archive = await openPackageArchive3(input, context);
|
|
12309
|
+
let failed = false;
|
|
12310
|
+
try {
|
|
12311
|
+
const staged = await stageRetainedMedia(archive, fingerprint, {
|
|
12312
|
+
...args.scope === void 0 ? {} : { scope: args.scope },
|
|
12313
|
+
...args.slide === void 0 ? {} : { slide: args.slide },
|
|
12314
|
+
...args.shape === void 0 ? {} : { shape: args.shape },
|
|
12315
|
+
...args.token === void 0 ? {} : { select: args.token }
|
|
12316
|
+
}, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes });
|
|
12317
|
+
stagedOutput = staged.output;
|
|
12318
|
+
exitCode = staged.ok ? 0 : 1;
|
|
12319
|
+
} catch (error) {
|
|
12320
|
+
failed = true;
|
|
12321
|
+
throw error;
|
|
12322
|
+
} finally {
|
|
12323
|
+
try {
|
|
12324
|
+
await archive.close();
|
|
12325
|
+
} catch (error) {
|
|
12326
|
+
if (!failed) {
|
|
12327
|
+
await stagedOutput?.close().catch(() => {
|
|
12328
|
+
});
|
|
12329
|
+
await Promise.reject(error);
|
|
12330
|
+
}
|
|
12331
|
+
}
|
|
12332
|
+
}
|
|
12333
|
+
owned.push(stagedOutput);
|
|
12334
|
+
result = success(operation2, null);
|
|
12335
|
+
} else if ((args.operation === "objects.list" || args.operation === "fonts.list") && request.streaming) {
|
|
12336
|
+
const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
|
|
12337
|
+
const input = await request.streaming.openInput(args.input, Math.min(context.limits.maxBytes, context.archiveLimits.maxArchiveBytes));
|
|
12338
|
+
const archive = await openPackageArchive3(input, context);
|
|
12339
|
+
let failed = false;
|
|
12340
|
+
try {
|
|
12341
|
+
stagedOutput = await (args.operation === "fonts.list" ? stageRetainedFonts : stageRetainedObjects)(archive, context, { json: args.json, maxOutputBytes: options2.maxOutputBytes });
|
|
12342
|
+
} catch (error) {
|
|
12343
|
+
failed = true;
|
|
12344
|
+
throw error;
|
|
12345
|
+
} finally {
|
|
12346
|
+
try {
|
|
12347
|
+
await archive.close();
|
|
12348
|
+
} catch (error) {
|
|
12349
|
+
if (!failed) {
|
|
12350
|
+
await stagedOutput?.close().catch(() => {
|
|
12351
|
+
});
|
|
12352
|
+
await Promise.reject(error);
|
|
12353
|
+
}
|
|
12354
|
+
}
|
|
12355
|
+
}
|
|
12356
|
+
owned.push(stagedOutput);
|
|
12357
|
+
result = success(operation2, null);
|
|
12102
12358
|
} else if (args.operation === "slides.set" && request.streaming) {
|
|
12103
12359
|
if (args.token) decodeSelectionToken2(args.token);
|
|
12104
12360
|
const input = await request.streaming.openInput(args.input, Math.min(options2.context.limits.maxBytes, options2.context.archiveLimits.maxArchiveBytes));
|
|
@@ -12116,21 +12372,26 @@ async function executeRequest(request, options2, owned) {
|
|
|
12116
12372
|
publication = { inputPath: args.input, outputPath: destination, bytes: staged.bytes(), originalBytes: input, inPlace: args.inPlace ?? false, force: args.force ?? false, dryRun };
|
|
12117
12373
|
}
|
|
12118
12374
|
result = success(operation2, null);
|
|
12119
|
-
} else if ((args.operation === "inspect" || args.operation === "text.get" || args.operation === "fields.list" || args.operation === "fields.get" || args.operation === "text.frames.list" || args.operation === "text.frames.get" || args.operation === "text.runs.list" || args.operation === "text.runs.get" || args.operation === "text.paragraphs.list" || args.operation === "text.paragraphs.get" || args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "properties.list" || args.operation === "properties.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "settings.list" || args.operation === "settings.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" || args.operation === "xml.get") && request.streaming) {
|
|
12120
|
-
if (args.token && args.operation !== "notes.list" && args.operation !== "notes.get" && args.operation !== "tags.list" && args.operation !== "tags.get" && !["sections.list", "sections.get", "shows.list", "shows.get"].includes(args.operation)) decodeSelectionToken2(args.token);
|
|
12375
|
+
} else if ((args.operation === "inspect" || args.operation === "text.get" || args.operation === "fields.list" || args.operation === "fields.get" || args.operation === "text.frames.list" || args.operation === "text.frames.get" || args.operation === "text.runs.list" || args.operation === "text.runs.get" || args.operation === "text.paragraphs.list" || args.operation === "text.paragraphs.get" || args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "properties.list" || args.operation === "properties.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "settings.list" || args.operation === "settings.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" || args.operation === "transitions.list" || args.operation === "transitions.get" || args.operation === "xml.get") && request.streaming) {
|
|
12376
|
+
if (args.token && args.operation !== "notes.list" && args.operation !== "notes.get" && args.operation !== "tags.list" && args.operation !== "tags.get" && !["sections.list", "sections.get", "shows.list", "shows.get", "transitions.list", "transitions.get"].includes(args.operation)) decodeSelectionToken2(args.token);
|
|
12121
12377
|
const input = await request.streaming.openInput(args.input, Math.min(options2.context.limits.maxBytes, options2.context.archiveLimits.maxArchiveBytes));
|
|
12122
|
-
const hash =
|
|
12378
|
+
const hash = sha2565.create();
|
|
12123
12379
|
for await (const bytes of input.stream()) {
|
|
12124
12380
|
request.signal.throwIfAborted();
|
|
12125
12381
|
hash.update(bytes);
|
|
12126
12382
|
}
|
|
12127
12383
|
const fingerprint = Array.from(hash.digest(), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
12128
12384
|
const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
|
|
12129
|
-
const archive = await
|
|
12385
|
+
const archive = await openPackageArchive3(input, context);
|
|
12130
12386
|
let failed = false;
|
|
12131
12387
|
try {
|
|
12132
|
-
const scope = args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" ? void 0 : args.token ? decodeSelectionToken2(args.token).scope : args.scope;
|
|
12133
|
-
stagedOutput = args.operation === "
|
|
12388
|
+
const scope = args.operation === "notes.list" || args.operation === "notes.get" || args.operation === "tags.list" || args.operation === "tags.get" || args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" || args.operation === "transitions.list" || args.operation === "transitions.get" ? void 0 : args.token ? decodeSelectionToken2(args.token).scope : args.scope;
|
|
12389
|
+
stagedOutput = args.operation === "transitions.list" || args.operation === "transitions.get" ? await stageRetainedTransitions(archive, fingerprint, args.operation === "transitions.list" && !args.token && args.slide === void 0 ? {} : { selection: args.token ? { token: args.token } : {
|
|
12390
|
+
kind: "slide",
|
|
12391
|
+
scope: "slides",
|
|
12392
|
+
...args.slide === void 0 ? {} : { position: { coordinateSystem: "one-based", value: args.slide } },
|
|
12393
|
+
...args.all ? { all: true } : {}
|
|
12394
|
+
} }, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes }) : args.operation === "sections.list" || args.operation === "sections.get" || args.operation === "shows.list" || args.operation === "shows.get" ? await stageRetainedMemberships(archive, fingerprint, args.operation.startsWith("sections.") ? "sections" : "shows", {
|
|
12134
12395
|
...args.token === void 0 ? {} : { token: args.token },
|
|
12135
12396
|
...args.slide === void 0 ? {} : { slide: args.slide }
|
|
12136
12397
|
}, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes }) : args.operation === "settings.list" || args.operation === "settings.get" ? await stageRetainedPresentationSettings(archive, fingerprint, context, { operation: args.operation, json: args.json, maxOutputBytes: options2.maxOutputBytes }) : args.operation === "tags.list" || args.operation === "tags.get" ? await stageRetainedTags(archive, fingerprint, {
|
|
@@ -12163,7 +12424,7 @@ async function executeRequest(request, options2, owned) {
|
|
|
12163
12424
|
}, context, { json: args.json, maxOutputBytes: options2.maxOutputBytes });
|
|
12164
12425
|
} catch (error) {
|
|
12165
12426
|
failed = true;
|
|
12166
|
-
if (error instanceof
|
|
12427
|
+
if (error instanceof OfficeError20 && error.code === "resource-limit" && error.phase === "publish") return outputLimitFailure(operation2, args.json);
|
|
12167
12428
|
throw error;
|
|
12168
12429
|
} finally {
|
|
12169
12430
|
try {
|
|
@@ -12183,12 +12444,12 @@ async function executeRequest(request, options2, owned) {
|
|
|
12183
12444
|
if (request.streaming) {
|
|
12184
12445
|
const input = await request.streaming.openInput(args.input, maxBytes);
|
|
12185
12446
|
const context = { ...options2.context, signal: request.signal, workingStorage: request.streaming.workingStorage };
|
|
12186
|
-
const archive = await
|
|
12447
|
+
const archive = await openPackageArchive3(input, context);
|
|
12187
12448
|
let validation;
|
|
12188
12449
|
let failed = false;
|
|
12189
12450
|
try {
|
|
12190
12451
|
validation = await openRetainedPresentationValidation(archive, context, limits);
|
|
12191
|
-
if (!validation.valid) throw new
|
|
12452
|
+
if (!validation.valid) throw new OfficeError20("invalid-opc", "Presentation semantic validation failed.", "index");
|
|
12192
12453
|
result = success(operation2, { valid: true, schema: validation.schema, rules: validation.rules, issues: [] });
|
|
12193
12454
|
} catch (error) {
|
|
12194
12455
|
failed = true;
|
|
@@ -12203,7 +12464,7 @@ async function executeRequest(request, options2, owned) {
|
|
|
12203
12464
|
const bytes = await request.readInput(args.input, maxBytes);
|
|
12204
12465
|
const reader = await readPackage3(bytes, { ...options2.context, signal: request.signal });
|
|
12205
12466
|
const validation = validatePresentation(reader, limits);
|
|
12206
|
-
if (!validation.valid) throw new
|
|
12467
|
+
if (!validation.valid) throw new OfficeError20("invalid-opc", "Presentation semantic validation failed.", "index");
|
|
12207
12468
|
result = success(operation2, validation);
|
|
12208
12469
|
}
|
|
12209
12470
|
human = "Presentation is semantically valid; XML schema validation not checked.\n";
|
|
@@ -12570,7 +12831,7 @@ ${JSON.stringify(result.data, null, 2)}
|
|
|
12570
12831
|
const changed = await mutateAnimationsBatch(bytes, resolveAnimationBatch(items, index), context);
|
|
12571
12832
|
const dryRun = args.dryRun ?? false;
|
|
12572
12833
|
const destination = args.inPlace ? args.input : args.output;
|
|
12573
|
-
const fingerprint = Array.from(
|
|
12834
|
+
const fingerprint = Array.from(sha2565(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
12574
12835
|
result = { ...success(operation2, {
|
|
12575
12836
|
results: changed.results.map((entry, i) => ({ ...success(items[i].operation, {
|
|
12576
12837
|
effects: entry.locations.map((location3) => ({ location: location3, action: items[i].operation.slice(11), feature: "F46" })),
|
|
@@ -12610,7 +12871,7 @@ ${JSON.stringify(result.data, null, 2)}
|
|
|
12610
12871
|
const locations = changed.locations;
|
|
12611
12872
|
const dryRun = args.dryRun ?? false;
|
|
12612
12873
|
const destination = args.inPlace ? args.input : args.output;
|
|
12613
|
-
const fingerprint = Array.from(
|
|
12874
|
+
const fingerprint = Array.from(sha2565(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
12614
12875
|
result = { ...success(operation2, {
|
|
12615
12876
|
effects: locations.map((location3) => ({ location: location3, action, feature: "F46" })),
|
|
12616
12877
|
outputs: dryRun || !locations.length ? [] : [{ path: destination, sha256: fingerprint, bytes: changed.bytes.length }],
|
|
@@ -12668,7 +12929,7 @@ ${JSON.stringify(result.data, null, 2)}
|
|
|
12668
12929
|
const locations = records.filter((record3) => changed.affectedSlides.includes(record3.slide)).map((record3) => record3.location);
|
|
12669
12930
|
const dryRun = args.dryRun ?? false;
|
|
12670
12931
|
const destination = args.inPlace ? args.input : args.output;
|
|
12671
|
-
const fingerprint = Array.from(
|
|
12932
|
+
const fingerprint = Array.from(sha2565(changed.bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
12672
12933
|
result = { ...success(operation2, {
|
|
12673
12934
|
effects: locations.map((location3) => ({ location: location3, action, feature: "F44" })),
|
|
12674
12935
|
outputs: dryRun || !locations.length ? [] : [{ path: destination, sha256: fingerprint, bytes: changed.bytes.length }],
|
|
@@ -12812,14 +13073,14 @@ ${JSON.stringify(result.data, null, 2)}
|
|
|
12812
13073
|
{
|
|
12813
13074
|
path: args.inPlace ? args.input : args.output,
|
|
12814
13075
|
sha256: Array.from(
|
|
12815
|
-
|
|
13076
|
+
sha2565(changed.bytes),
|
|
12816
13077
|
(byte) => byte.toString(16).padStart(2, "0")
|
|
12817
13078
|
).join(""),
|
|
12818
13079
|
bytes: changed.bytes.length
|
|
12819
13080
|
}
|
|
12820
13081
|
],
|
|
12821
13082
|
fingerprint: dryRun ? null : Array.from(
|
|
12822
|
-
|
|
13083
|
+
sha2565(changed.bytes),
|
|
12823
13084
|
(byte) => byte.toString(16).padStart(2, "0")
|
|
12824
13085
|
).join("")
|
|
12825
13086
|
} : args.operation === "text.fit" ? { frames: changed.affected, sizes: "sizes" in changed ? changed.sizes : [], dryRun } : args.operation === "text.frames.set" ? { frames: changed.affected, dryRun } : args.operation === "text.paragraphs.set" ? { paragraphs: changed.affected, dryRun } : args.operation === "text.runs.set" ? { runs: changed.affected, dryRun } : { replacements: changed.affected, dryRun }
|
|
@@ -13799,13 +14060,13 @@ ${item.parts.map((part) => ` ${part}
|
|
|
13799
14060
|
const inputs = [];
|
|
13800
14061
|
for (const path of [args.input, ...args.sources ?? []]) {
|
|
13801
14062
|
if (remaining < 1)
|
|
13802
|
-
throw new
|
|
14063
|
+
throw new OfficeError20("resource-limit", "Combined input limit exceeded.", "admit");
|
|
13803
14064
|
const bytes = await request.readInput(
|
|
13804
14065
|
path,
|
|
13805
14066
|
Math.min(remaining, context.archiveLimits.maxArchiveBytes)
|
|
13806
14067
|
);
|
|
13807
14068
|
if (bytes.length > remaining || bytes.length > context.archiveLimits.maxArchiveBytes)
|
|
13808
|
-
throw new
|
|
14069
|
+
throw new OfficeError20("resource-limit", "Combined input limit exceeded.", "admit");
|
|
13809
14070
|
remaining -= bytes.length;
|
|
13810
14071
|
inputs.push(await budget.read(bytes));
|
|
13811
14072
|
}
|
|
@@ -13866,7 +14127,7 @@ ${item.parts.map((part) => ` ${part}
|
|
|
13866
14127
|
);
|
|
13867
14128
|
splitManifest2 = decks.map((deck) => ({
|
|
13868
14129
|
path: `${args.outputDir ?? ""}${args.outputDir?.endsWith("/") || !args.outputDir ? "" : "/"}${deck.name}`,
|
|
13869
|
-
sha256: Array.from(
|
|
14130
|
+
sha256: Array.from(sha2565(deck.bytes), (byte) => byte.toString(16).padStart(2, "0")).join(
|
|
13870
14131
|
""
|
|
13871
14132
|
),
|
|
13872
14133
|
bytes: deck.bytes.length,
|
|
@@ -13891,7 +14152,7 @@ ${item.parts.map((part) => ` ${part}
|
|
|
13891
14152
|
}));
|
|
13892
14153
|
result = {
|
|
13893
14154
|
...success(operation2, {
|
|
13894
|
-
outputs: dryRun ? [] : splitManifest2.map(({ path, sha256:
|
|
14155
|
+
outputs: dryRun ? [] : splitManifest2.map(({ path, sha256: sha2566, bytes }) => ({ path, sha256: sha2566, bytes })),
|
|
13895
14156
|
sources: splitManifest2.map(({ sourceSlide, sourceLocation }) => ({
|
|
13896
14157
|
sourceSlide,
|
|
13897
14158
|
sourceLocation
|
|
@@ -13906,7 +14167,7 @@ ${JSON.stringify(result.data, null, 2)}
|
|
|
13906
14167
|
}
|
|
13907
14168
|
} else if (args.operation === "create") {
|
|
13908
14169
|
if (args.template)
|
|
13909
|
-
throw new
|
|
14170
|
+
throw new OfficeError20(
|
|
13910
14171
|
"unsupported-profile",
|
|
13911
14172
|
"Template-based creation is unavailable.",
|
|
13912
14173
|
"validate-intent"
|
|
@@ -13958,7 +14219,7 @@ ${JSON.stringify(result.data, null, 2)}
|
|
|
13958
14219
|
);
|
|
13959
14220
|
} catch (error) {
|
|
13960
14221
|
if (error && typeof error === "object" && "code" in error && error.code === "resource-limit")
|
|
13961
|
-
throw new
|
|
14222
|
+
throw new OfficeError20("resource-limit", "Input limit exceeded.", "admit");
|
|
13962
14223
|
throw error;
|
|
13963
14224
|
}
|
|
13964
14225
|
const index = await readSelectionIndex2(bytes, { ...options2.context, signal: request.signal });
|
|
@@ -14103,7 +14364,7 @@ ${JSON.stringify(result.data, null, 2)}
|
|
|
14103
14364
|
const part = metadata2 ?? records[0].part;
|
|
14104
14365
|
const validationLimits = options2.context.validationLimits;
|
|
14105
14366
|
if (!validationLimits)
|
|
14106
|
-
throw new
|
|
14367
|
+
throw new OfficeError20(
|
|
14107
14368
|
"invalid-value",
|
|
14108
14369
|
"XML operations require explicit validation limits.",
|
|
14109
14370
|
"usage"
|
|
@@ -14179,10 +14440,10 @@ ${xml.xml}
|
|
|
14179
14440
|
await stagedOutput?.close().catch(() => {
|
|
14180
14441
|
});
|
|
14181
14442
|
stagedOutput = void 0;
|
|
14182
|
-
if (error instanceof
|
|
14443
|
+
if (error instanceof OfficeError20 && error.code === "resource-limit" && error.phase === "publish") return outputLimitFailure(output3.operation, output3.json);
|
|
14183
14444
|
if (request.signal.aborted)
|
|
14184
14445
|
return { exitCode: 130, stdout: new Uint8Array(), stderr: new Uint8Array() };
|
|
14185
|
-
const office = error instanceof
|
|
14446
|
+
const office = error instanceof OfficeError20 ? error : void 0;
|
|
14186
14447
|
const capabilityCode = error && typeof error === "object" && "code" in error ? error.code : void 0;
|
|
14187
14448
|
const limit = office?.code === "resource-limit" || capabilityCode === "resource-limit";
|
|
14188
14449
|
const unsupported = capabilityCode === "publication-unsupported";
|
|
@@ -14224,7 +14485,7 @@ ${xml.xml}
|
|
|
14224
14485
|
affected: allowPartialOutput ? published : 0,
|
|
14225
14486
|
locations: allowPartialOutput ? opaqueManifest || mediaManifest ? [] : imageManifest ? imageManifest.slice(0, published).flatMap((item) => item.occurrences.map((occurrence) => occurrence.location)) : splitManifest2.slice(0, published).map((item) => item.sourceLocation) : [],
|
|
14226
14487
|
data: allowPartialOutput && published > 0 ? opaqueManifest ? { ...result.data, outputs: opaqueManifest.slice(0, published), dryRun: false } : mediaManifest ? { outputs: mediaManifest.slice(0, published), dryRun: false } : imageManifest ? { outputs: imageManifest.slice(0, published), dryRun: false } : {
|
|
14227
|
-
outputs: splitManifest2.slice(0, published).map(({ path, sha256:
|
|
14488
|
+
outputs: splitManifest2.slice(0, published).map(({ path, sha256: sha2566, bytes }) => ({ path, sha256: sha2566, bytes })),
|
|
14228
14489
|
sources: splitManifest2.slice(0, published).map(({ sourceSlide, sourceLocation }) => ({ sourceSlide, sourceLocation }))
|
|
14229
14490
|
} : null,
|
|
14230
14491
|
errors: [{ code, message: "Output could not be published.", context: { phase } }]
|
|
@@ -14236,7 +14497,7 @@ ${xml.xml}
|
|
|
14236
14497
|
(item) => item.occurrences.map((occurrence) => occurrence.location)
|
|
14237
14498
|
) : splitManifest2.map((item) => item.sourceLocation),
|
|
14238
14499
|
data: opaqueManifest ? { ...result.data, outputs: opaqueManifest, dryRun: false } : mediaManifest ? { outputs: mediaManifest, dryRun: false } : imageManifest ? { outputs: imageManifest, dryRun: false } : {
|
|
14239
|
-
outputs: splitManifest2.map(({ path, sha256:
|
|
14500
|
+
outputs: splitManifest2.map(({ path, sha256: sha2566, bytes }) => ({ path, sha256: sha2566, bytes })),
|
|
14240
14501
|
sources: splitManifest2.map(({ sourceSlide, sourceLocation }) => ({
|
|
14241
14502
|
sourceSlide,
|
|
14242
14503
|
sourceLocation
|
|
@@ -14285,7 +14546,7 @@ ${JSON.stringify(failure.data)}
|
|
|
14285
14546
|
} catch (error) {
|
|
14286
14547
|
if (request.signal.aborted)
|
|
14287
14548
|
return { exitCode: 130, stdout: new Uint8Array(), stderr: new Uint8Array() };
|
|
14288
|
-
const office = error instanceof
|
|
14549
|
+
const office = error instanceof OfficeError20 ? error : void 0;
|
|
14289
14550
|
const rawCode = error && typeof error === "object" && "code" in error ? error.code : void 0;
|
|
14290
14551
|
const code = typeof rawCode === "string" && [
|
|
14291
14552
|
"resource-limit",
|
|
@@ -14324,7 +14585,7 @@ ${JSON.stringify(failure.data)}
|
|
|
14324
14585
|
if (stagedOutput) {
|
|
14325
14586
|
let failed = false;
|
|
14326
14587
|
try {
|
|
14327
|
-
await stagedOutput.write(request.streaming.stdout);
|
|
14588
|
+
await stagedOutput.write(exitCode && !json ? request.streaming.stderr : request.streaming.stdout);
|
|
14328
14589
|
} catch (error) {
|
|
14329
14590
|
failed = true;
|
|
14330
14591
|
throw error;
|
|
@@ -14335,7 +14596,7 @@ ${JSON.stringify(failure.data)}
|
|
|
14335
14596
|
if (!failed) await Promise.reject(error);
|
|
14336
14597
|
}
|
|
14337
14598
|
}
|
|
14338
|
-
return { exitCode
|
|
14599
|
+
return { exitCode, stdout: new Uint8Array(), stderr: new Uint8Array() };
|
|
14339
14600
|
}
|
|
14340
14601
|
if (operation === "validate" && request.streaming) {
|
|
14341
14602
|
request.signal.throwIfAborted();
|