@poe-platform/safe-bash 0.1.816 → 0.1.818
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/image-ast/index.js +2 -2
- package/dist/mp4-ast/index.d.ts +2 -1
- package/dist/mp4-ast/mp4-metadata-source.d.ts +10 -0
- package/dist/mp4-ast/mp4-packets-source.d.ts +8 -1
- package/dist/mp4-ast/types.d.ts +21 -3
- package/dist/pdf-ast/ast.d.ts +2 -0
- package/dist/pdf-ast/content/evaluator.d.ts +11 -0
- package/dist/pdf-ast/content/retained-evaluator.d.ts +2 -2
- package/dist/pdf-ast/content/retained-page.d.ts +2 -2
- package/dist/pdf-ast/cos/value-parser.d.ts +2 -0
- package/dist/pdf-ast/extract/html-text-stream.d.ts +14 -0
- package/dist/pdf-ast/extract/logical-text-stream.d.ts +14 -0
- package/dist/pdf-ast/extract/raw-text-index.d.ts +18 -4
- package/dist/pdf-ast/extract/retained-color.d.ts +6 -6
- package/dist/pdf-ast/extract/retained-decoded-image.d.ts +2 -2
- package/dist/pdf-ast/extract/stored-text-glyphs.d.ts +8 -0
- package/dist/pdf-ast/fonts/resolve.d.ts +5 -1
- package/dist/pdf-ast/fonts/retained.d.ts +2 -2
- package/dist/pdf-ast/image.d.ts +2 -0
- package/dist/pdf-ast/image.js +19 -0
- package/dist/pdf-ast/index.d.ts +3 -0
- package/dist/pdf-ast/index.js +264 -66845
- package/dist/pdf-ast/render/postscript.d.ts +6 -0
- package/dist/pdf-ast/render/raster.d.ts +21 -1
- package/dist/pdf-ast/retained-document.d.ts +16 -95
- package/dist/pdf-ast/retained-reader.d.ts +109 -0
- package/dist/safe-bash/command-chunks/biff-AYJZR2YV-JPESBEOO.js +5741 -0
- package/dist/safe-bash/command-chunks/{chunk-SL4LD25A.js → chunk-232N24HE.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-ALD53QFL.js → chunk-2C4QMQQD.js} +42 -12
- package/dist/safe-bash/command-chunks/{chunk-3PM46VWH.js → chunk-2FEMMALH.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-2J4OQT3F.js +153 -0
- package/dist/safe-bash/command-chunks/{chunk-QDV2NIFR.js → chunk-2TMTGVJR.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ARE267HR.js → chunk-2WTDP3TP.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-GEDO5V32.js → chunk-2XR7B6DY.js} +602 -211
- package/dist/safe-bash/command-chunks/{chunk-EY3UE26F.js → chunk-2YC6MWQB.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-UPWLHHZ2.js → chunk-37KBCKDF.js} +13 -13
- package/dist/safe-bash/command-chunks/{chunk-DOVWHVHI.js → chunk-3B6554G6.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-FB2WPI3M.js → chunk-3ZGO24WG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-GR4ONCQ5.js → chunk-424NYO35.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-MQE77MEQ.js → chunk-45GTHPL5.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-AF2IO57Q.js → chunk-4OHTYYNU.js} +8 -136
- package/dist/safe-bash/command-chunks/{chunk-ICJH6A73.js → chunk-4PMMJ45F.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-57PK2QFX.js → chunk-4SFX6YGC.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-G3LUT475.js → chunk-4WHTTCKY.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-DBZCTL7C.js → chunk-4Z7PBIMP.js} +20 -18
- package/dist/safe-bash/command-chunks/{chunk-A4P37F3P.js → chunk-57SKL76U.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-J6FNSVHT.js → chunk-5GP4A3TD.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-OFONWWEZ.js → chunk-5IHJWBDR.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-A2L3U7DW.js → chunk-5OS4Q3AX.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-FUYZUETI.js → chunk-5PMLTSQ5.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-TXU7MMHN.js → chunk-5RDS6CNQ.js} +13 -13
- package/dist/safe-bash/command-chunks/{chunk-FR63MJSO.js → chunk-5UGQGB5Y.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-UKAGRRLZ.js → chunk-5VY5O37W.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-5WS6DXYE.js +68444 -0
- package/dist/safe-bash/command-chunks/{chunk-2ALHVXEM.js → chunk-6EK76ERE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4772DJKS.js → chunk-6GCK2KSL.js} +61 -26
- package/dist/safe-bash/command-chunks/{chunk-T5OQ53XS.js → chunk-6IID5HTY.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-EZDWPTYB.js → chunk-6LOAJOWK.js} +13 -13
- package/dist/safe-bash/command-chunks/{chunk-WMBELKPP.js → chunk-6PE2L522.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-ZAYTFXUX.js → chunk-73KY3MZ3.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-BOVDUJ3A.js → chunk-77WBFVZQ.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-3DWFXESW.js → chunk-7GJJDM2F.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-WIW3KDBS.js → chunk-7NFICYRU.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-35DU6I2M.js → chunk-7ZEGARPB.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-A5SPMSKD.js → chunk-A32PUWYE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-KYIGYYEY.js → chunk-A32ZROH5.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-IOXMGD2H.js → chunk-ADVQZLLE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-CGJ7GMHO.js → chunk-AEZU6NZE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-KDDXLHN7.js → chunk-ATHU53C2.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-R7LF4XQV.js → chunk-B6T2526I.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-PPN53PX3.js → chunk-BB7HBO56.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-ZM7HMBAJ.js → chunk-BDGNKRY4.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-VMZIAFVJ.js → chunk-BFRSYJUC.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-X42MJT2J.js → chunk-BJL7AGA5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-VZTVR3JI.js → chunk-C2QUG7IP.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-IVKAFEPO.js → chunk-C34RLMAC.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-5O45KGW5.js → chunk-C5VUJOUQ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-LQDANF2B.js → chunk-CCNOZKAK.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-FEBTT5NH.js → chunk-CEHICGP6.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-SICTBSLW.js → chunk-CODJMTSA.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-LJ3UYESS.js → chunk-CP5EO5TT.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-45DKGZYO.js → chunk-CSS5KXQC.js} +329 -152
- package/dist/safe-bash/command-chunks/{chunk-6RLWPB44.js → chunk-CZSLXQU2.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-3ZWFE4CK.js → chunk-D2ZT2UUT.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-WH624PKJ.js → chunk-D5XSGHXN.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-NDALIHKK.js → chunk-D7UFAIBS.js} +18 -18
- package/dist/safe-bash/command-chunks/{chunk-ISFGPCED.js → chunk-DCKAY6HV.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-LNAZ3E4Q.js → chunk-DGCJVZW6.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-LFSWLJPR.js → chunk-DJB5RB6U.js} +288 -32
- package/dist/safe-bash/command-chunks/{chunk-FGHSE3RZ.js → chunk-DZ4ELL34.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-LQX7RAF7.js → chunk-EBKKYRQJ.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-QNETPOMH.js → chunk-EDBNI7WE.js} +14 -14
- package/dist/safe-bash/command-chunks/{chunk-5GDF5FAS.js → chunk-EEJ3YXVO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-RTHYAGKI.js → chunk-ETN25WCR.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-ET6LMDEX.js → chunk-EV3DPRWE.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-3MUFXGA2.js → chunk-F2JUB7JI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-345YBIHP.js → chunk-F42WV2YO.js} +19 -19
- package/dist/safe-bash/command-chunks/{chunk-FTZFCMVI.js → chunk-FAVWWMFW.js} +12 -12
- package/dist/safe-bash/command-chunks/{chunk-XBWD6SI3.js → chunk-FDRE535F.js} +16 -16
- package/dist/safe-bash/command-chunks/{chunk-WMV5224N.js → chunk-FILE5PBI.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-XPQUUFQD.js → chunk-FPOM47UA.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-QMBMZSJF.js → chunk-FQ2WRT4Q.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-H56BSMFQ.js → chunk-FVAFISPY.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-2QZUAZTH.js → chunk-GIQUIF6E.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-2TWXRJPB.js → chunk-GNORF6RY.js} +13 -13
- package/dist/safe-bash/command-chunks/{chunk-K7VDCBXW.js → chunk-GPLN6JV2.js} +24 -24
- package/dist/safe-bash/command-chunks/{chunk-DZOKH5BL.js → chunk-GQ7BD75U.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-N4HWOLGZ.js → chunk-GY2C555A.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-N32AP43V.js → chunk-GZNX5SS4.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-YPG55QTP.js → chunk-HCJWEB6P.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4ABR3KGK.js → chunk-HNY7LZ5P.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-P462JTNT.js → chunk-HOBXZX23.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-5KZMR6AJ.js → chunk-HW3IOXT6.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-3VGQTLO6.js → chunk-HX7QQNWS.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-TXWDR2P4.js → chunk-IBT3OWXB.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-OHEZQ4QA.js → chunk-IFBLXBBM.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-HOJ7WDTS.js → chunk-IJZUUXLL.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-BZRWZ6GO.js → chunk-IKU7ZBF3.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-CKIXC7AO.js → chunk-IPKYPADE.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-IWVANZWH.js → chunk-JLPBGKVC.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-6M3JTPKE.js → chunk-JNRX5EFF.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-5YL453ZF.js → chunk-JSX5CFZY.js} +36 -36
- package/dist/safe-bash/command-chunks/{chunk-V6JPIZUW.js → chunk-JT656DKZ.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-DM5WURQL.js → chunk-JY2T3KV2.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-IZ3SD5S2.js → chunk-K2NV6H7E.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-62RG3GHF.js → chunk-K6E56LND.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-FLSXHLJG.js → chunk-KADQKXZE.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-URQSUMMJ.js → chunk-KFFV7HBL.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-ONQP4FNV.js → chunk-KZICRCQ7.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-N35IJXBK.js → chunk-L6X4EEN6.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-SHLT5R64.js → chunk-LF7YJ5VQ.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-GMBUOYTN.js → chunk-LNHTLWIL.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-A6OTPNNI.js → chunk-LPKMNCC5.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-MUTARE5I.js → chunk-LSKA4IR4.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-N3ZH4YYH.js → chunk-LTWX23FS.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-JA36YOZI.js → chunk-LUJUYUOG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4X2MPZXW.js → chunk-M42GCI5F.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-AYQPJQJR.js → chunk-M5BFAMXD.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-OFDJJRAD.js → chunk-M7DZ7COK.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-RINR7XPR.js → chunk-MMSKDYK6.js} +234 -8
- package/dist/safe-bash/command-chunks/{chunk-NKK76B4V.js → chunk-MN7EEK6Y.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-OBIXFO25.js → chunk-MOJQT6RW.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-HOKPYTHQ.js → chunk-MPRUGL4W.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-CORUUCS2.js → chunk-MRBX4KEP.js} +3 -3
- package/dist/safe-bash/command-chunks/chunk-MTWFSBNG.js +137 -0
- package/dist/safe-bash/command-chunks/{chunk-RRAQII52.js → chunk-MURNTGDL.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-KDBU5Q2N.js → chunk-MWVELMXZ.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-PRO7JOIH.js → chunk-N3MAYM6Y.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-E22EAYJN.js → chunk-NFWLZDMY.js} +177 -34
- package/dist/safe-bash/command-chunks/{chunk-GAROGIVU.js → chunk-NP2QXF2X.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-SNA2LVBX.js → chunk-NPVOYY2A.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ENMJHB2C.js → chunk-NTXRKJPZ.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-3K5CVXUV.js → chunk-NZF56C25.js} +10 -10
- package/dist/safe-bash/command-chunks/{chunk-5MNQTHED.js → chunk-OA4MEWTN.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-SWIF6BBY.js → chunk-OL75SBZL.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-LT2YCGC5.js → chunk-OVQSILY3.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-WDVPHDBH.js → chunk-P57V45F2.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-OWCBX5M2.js → chunk-PAY4ULWY.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-CHZE6FNT.js → chunk-PFUZPAXQ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-NLCUQD7Y.js → chunk-PX6E5MHY.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-POGVOCOB.js → chunk-QCN7MRRU.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-ZZERSKAR.js → chunk-QLE6JUR7.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-LZY46GYY.js → chunk-QMWBKR4C.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-BIJW6QWB.js → chunk-QNLX3CZH.js} +13 -13
- package/dist/safe-bash/command-chunks/{chunk-MDFNUNK5.js → chunk-QWX5IERU.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-WOL3LBXE.js → chunk-R2N3E267.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ZNCPIZCN.js → chunk-R6X63VAO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-FGARVKAX.js → chunk-RNIFPFGC.js} +13 -11
- package/dist/safe-bash/command-chunks/{chunk-OIHQXURE.js → chunk-ROE6KD4C.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-BKK4MS3V.js → chunk-RR6XG2I6.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-RYOHOS2I.js +398 -0
- package/dist/safe-bash/command-chunks/{chunk-4QEJPP3K.js → chunk-S5X7PBO4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IHLZ6HNQ.js → chunk-TSKJNCKD.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-U42WHQRH.js → chunk-TTTNFKT6.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-EWC56JNI.js → chunk-TTVJJZOM.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-TY7JXEWI.js → chunk-UBX5I5HY.js} +11 -11
- package/dist/safe-bash/command-chunks/{chunk-QOKFSYD5.js → chunk-UE34SQET.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-DXOXUKQB.js → chunk-UH4CQIU3.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-VNNNVT4C.js → chunk-UZZ2WJQV.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-QNX5LZBK.js → chunk-V6NZVM7C.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-KLAC2MIZ.js → chunk-VEZULAIA.js} +6 -6
- package/dist/safe-bash/command-chunks/{chunk-OCV5ZU35.js → chunk-VSTAHYCV.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-UFLMOU3B.js → chunk-VUJCVXD4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5V7WIQ2D.js → chunk-VW67MA53.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-B2C3UPJS.js → chunk-W42SUPD6.js} +13 -1
- package/dist/safe-bash/command-chunks/{chunk-2IMIKROX.js → chunk-WI5NEHPD.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-SBXS4S6Y.js → chunk-WJSU2UVG.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-VVWHFNHD.js → chunk-WPEIOUJN.js} +415 -25
- package/dist/safe-bash/command-chunks/{chunk-YKODRSGT.js → chunk-WRCYZJNO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-TID5TSQW.js → chunk-WRJV7OVO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-T4SEQU66.js → chunk-X4TWJNW7.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-CKA7ZROU.js → chunk-X6KFCAWZ.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-ROQ3VNVX.js → chunk-X6KO7D6R.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-S5ER73EA.js → chunk-XB5ZZHFD.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-FHQOFEQK.js → chunk-XLFOLLUZ.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-UJYXSLM6.js → chunk-XLPEPCQC.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-UT5X6QRU.js → chunk-XQFEP43Y.js} +5 -5
- package/dist/safe-bash/command-chunks/chunk-Y7XL6CWB.js +771 -0
- package/dist/safe-bash/command-chunks/{chunk-RVWIEXR7.js → chunk-YKEMSPJZ.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-ERWIJYCS.js → chunk-YN3OEJAZ.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-6YF2QADH.js → chunk-YOYK2I4N.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-26JE5JEB.js → chunk-YS5ZKMRJ.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-LMLBQSAM.js → chunk-YW7WU7W2.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-YXR4JE4U.js → chunk-Z33YS3DW.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-T2FRXSQT.js → chunk-ZBXUAM34.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-VVV45NLY.js → chunk-ZJUU5IAS.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-7OCTMVYJ.js → chunk-ZNABMTV3.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6JGICYHP.js → chunk-ZSF2T5D4.js} +1 -1
- package/dist/safe-bash/command-chunks/{command-engine-GHE6QUHU.js → command-engine-PFYHL7GS.js} +14 -4
- package/dist/safe-bash/command-chunks/{engine-RG6HQCCB-FXYZS264.js → engine-5AVSKFBI-D7Q5VPUN.js} +1 -1
- package/dist/safe-bash/command-chunks/model-store-IIWQHSEZ.js +54 -0
- package/dist/safe-bash/command-chunks/odf-SL5TG4B3-XI3FNOTN.js +3041 -0
- package/dist/safe-bash/command-chunks/{xlsx-RE54MFCS-IQ6OXXKK.js → xlsx-RE54MFCS-4UZ5W3U7.js} +1 -1
- package/dist/safe-bash-command-apply-patch/apply.js +1 -1
- package/dist/safe-bash-command-apply-patch/index.js +1 -1
- package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
- package/dist/safe-bash-command-awk/awk.js +5 -5
- package/dist/safe-bash-command-awk/index.js +5 -5
- package/dist/safe-bash-command-cp/index.js +4 -4
- package/dist/safe-bash-command-csvkit/index.js +1 -1
- package/dist/safe-bash-command-diff/diff.js +2 -2
- package/dist/safe-bash-command-diff/index.js +2 -2
- package/dist/safe-bash-command-ffmpeg/index.js +1 -1
- 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-node/commands/node/browser.js +6 -6
- package/dist/safe-bash-command-node/commands/node/default-runtime.js +6 -6
- package/dist/safe-bash-command-node/commands/node/filesystem.js +2 -2
- package/dist/safe-bash-command-node/commands/node/safejs.js +6 -6
- package/dist/safe-bash-command-node/commands/node/timers.js +2 -2
- package/dist/safe-bash-command-patch/index.js +3 -3
- package/dist/safe-bash-command-patch/patch-formats.js +2 -2
- package/dist/safe-bash-command-patch/patch.js +3 -3
- package/dist/safe-bash-command-patch/unified.js +1 -1
- package/dist/safe-bash-command-pdftoppm/index.js +89 -124
- package/dist/safe-bash-command-pdftotext/index.d.ts +1 -1
- package/dist/safe-bash-command-pdftotext/index.js +538 -379
- package/dist/safe-bash-command-playwright-cli/index.js +19 -19
- package/dist/safe-bash-command-playwright-cli/playwright/abilities.js +6 -6
- package/dist/safe-bash-command-playwright-cli/playwright/adapter.js +3 -3
- package/dist/safe-bash-command-playwright-cli/playwright/controller.js +13 -13
- package/dist/safe-bash-command-playwright-cli/playwright/index.js +19 -19
- package/dist/safe-bash-command-playwright-cli/playwright/native-storage-replacement.js +2 -2
- package/dist/safe-bash-command-playwright-cli/playwright/open-options.js +2 -2
- package/dist/safe-bash-command-playwright-cli/playwright/profile.js +5 -5
- package/dist/safe-bash-command-playwright-cli/playwright/standard-capabilities.js +4 -4
- package/dist/safe-bash-command-playwright-cli/playwright/storage-capabilities.js +3 -3
- package/dist/safe-bash-command-pptx/engine.js +1 -1
- package/dist/safe-bash-command-python/executor.js +10 -10
- package/dist/safe-bash-command-python/index.js +10 -10
- package/dist/safe-bash-command-python/jspi.js +2 -2
- package/dist/safe-bash-command-safejs/index.js +2 -2
- package/dist/safe-bash-command-safejs/runtime.js +2 -2
- package/dist/safe-bash-command-ssconvert/index.js +16 -16
- package/dist/safe-bash-command-unzip/index.js +4 -4
- package/dist/safe-bash-docx-engine/ancillary-resources.js +10 -10
- package/dist/safe-bash-docx-engine/batch-operations.js +67 -67
- package/dist/safe-bash-docx-engine/batch-result-schema.js +79 -79
- package/dist/safe-bash-docx-engine/batch.js +78 -78
- package/dist/safe-bash-docx-engine/bookmarks.js +18 -18
- package/dist/safe-bash-docx-engine/charts.js +11 -11
- package/dist/safe-bash-docx-engine/command-option-rules.js +6 -6
- package/dist/safe-bash-docx-engine/command-properties.js +3 -3
- package/dist/safe-bash-docx-engine/comments.js +26 -26
- package/dist/safe-bash-docx-engine/control-bindings.js +21 -21
- package/dist/safe-bash-docx-engine/control-repeat.js +21 -21
- package/dist/safe-bash-docx-engine/controls.js +19 -19
- package/dist/safe-bash-docx-engine/create.js +11 -11
- package/dist/safe-bash-docx-engine/diagrams.js +11 -11
- package/dist/safe-bash-docx-engine/diff.js +13 -13
- package/dist/safe-bash-docx-engine/document-properties.js +16 -16
- package/dist/safe-bash-docx-engine/equations.js +17 -17
- package/dist/safe-bash-docx-engine/extract.js +14 -14
- package/dist/safe-bash-docx-engine/fields.js +23 -23
- package/dist/safe-bash-docx-engine/font-inventory.js +18 -18
- package/dist/safe-bash-docx-engine/font-resources.js +6 -6
- package/dist/safe-bash-docx-engine/image-batch-operations.js +14 -14
- package/dist/safe-bash-docx-engine/image-insertion.js +21 -21
- package/dist/safe-bash-docx-engine/image-layout.js +19 -19
- package/dist/safe-bash-docx-engine/image-replacement.js +22 -22
- package/dist/safe-bash-docx-engine/images.js +19 -19
- package/dist/safe-bash-docx-engine/index.js +111 -111
- package/dist/safe-bash-docx-engine/inspection.js +20 -20
- package/dist/safe-bash-docx-engine/invocation.js +9 -9
- package/dist/safe-bash-docx-engine/io.js +9 -9
- package/dist/safe-bash-docx-engine/links.js +21 -21
- package/dist/safe-bash-docx-engine/lists.js +20 -20
- package/dist/safe-bash-docx-engine/locations.js +15 -15
- package/dist/safe-bash-docx-engine/notes.js +22 -22
- package/dist/safe-bash-docx-engine/objects.js +19 -19
- package/dist/safe-bash-docx-engine/operation-json-schema.js +3 -3
- package/dist/safe-bash-docx-engine/operation-schema.js +2 -2
- package/dist/safe-bash-docx-engine/pack.js +14 -14
- package/dist/safe-bash-docx-engine/package-view-batch-operations.js +22 -22
- package/dist/safe-bash-docx-engine/pandoc-adapter.js +29 -29
- package/dist/safe-bash-docx-engine/paragraph-edit.js +25 -25
- package/dist/safe-bash-docx-engine/part-provider.js +3 -3
- package/dist/safe-bash-docx-engine/property-values.js +3 -3
- package/dist/safe-bash-docx-engine/publication.js +9 -9
- package/dist/safe-bash-docx-engine/removal.js +21 -21
- package/dist/safe-bash-docx-engine/revision-decisions.js +22 -22
- package/dist/safe-bash-docx-engine/revision-edit.js +20 -20
- package/dist/safe-bash-docx-engine/revisions.js +18 -18
- package/dist/safe-bash-docx-engine/run-format.js +20 -20
- package/dist/safe-bash-docx-engine/sanitize.js +34 -34
- package/dist/safe-bash-docx-engine/sections.js +19 -19
- package/dist/safe-bash-docx-engine/settings.js +11 -11
- package/dist/safe-bash-docx-engine/shape-edit.js +21 -21
- package/dist/safe-bash-docx-engine/signatures.js +15 -15
- package/dist/safe-bash-docx-engine/stories.js +22 -22
- package/dist/safe-bash-docx-engine/structure-model-batch-operations.js +38 -38
- package/dist/safe-bash-docx-engine/style-model-batch-operations.js +27 -27
- package/dist/safe-bash-docx-engine/style-model-result-schema.js +44 -44
- package/dist/safe-bash-docx-engine/styles.js +18 -18
- package/dist/safe-bash-docx-engine/table-edit.js +27 -27
- package/dist/safe-bash-docx-engine/table-read.js +16 -16
- package/dist/safe-bash-docx-engine/template.js +22 -22
- package/dist/safe-bash-docx-engine/text-replace.js +20 -20
- package/dist/safe-bash-docx-engine/text-resource-read.js +16 -16
- package/dist/safe-bash-docx-engine/text.js +16 -16
- package/dist/safe-bash-docx-engine/validation.js +7 -7
- package/dist/safe-bash-docx-engine/xml-parts.js +22 -22
- package/dist/safe-bash-network-engine/index.js +4 -4
- package/dist/safe-bash-network-engine/transfer.js +12 -12
- package/dist/safe-bash-presentation-engine/accessibility.js +15 -15
- package/dist/safe-bash-presentation-engine/animation-editing.js +5 -5
- package/dist/safe-bash-presentation-engine/animations.js +5 -5
- package/dist/safe-bash-presentation-engine/backgrounds.js +6 -6
- package/dist/safe-bash-presentation-engine/chart-editing.js +18 -18
- package/dist/safe-bash-presentation-engine/chart-object-operations.js +12 -12
- package/dist/safe-bash-presentation-engine/charts.js +15 -15
- package/dist/safe-bash-presentation-engine/command-placeholder.js +39 -38
- package/dist/safe-bash-presentation-engine/comments.js +6 -6
- package/dist/safe-bash-presentation-engine/connector-operations.js +16 -16
- package/dist/safe-bash-presentation-engine/connectors.js +13 -13
- package/dist/safe-bash-presentation-engine/diff.js +21 -20
- package/dist/safe-bash-presentation-engine/drawing-format.js +7 -7
- package/dist/safe-bash-presentation-engine/drawing-operations.js +15 -15
- package/dist/safe-bash-presentation-engine/drawing-schema.js +8 -8
- package/dist/safe-bash-presentation-engine/equations.js +6 -6
- package/dist/safe-bash-presentation-engine/fields.js +6 -6
- package/dist/safe-bash-presentation-engine/image-extraction.js +7 -7
- package/dist/safe-bash-presentation-engine/image-formatting.js +16 -16
- package/dist/safe-bash-presentation-engine/image-insertion.js +6 -6
- package/dist/safe-bash-presentation-engine/image-replacement.js +7 -7
- package/dist/safe-bash-presentation-engine/images.js +6 -6
- package/dist/safe-bash-presentation-engine/index.js +96 -95
- package/dist/safe-bash-presentation-engine/layouts.js +5 -5
- package/dist/safe-bash-presentation-engine/links.js +5 -5
- package/dist/safe-bash-presentation-engine/masters.js +4 -4
- package/dist/safe-bash-presentation-engine/media-editing.js +10 -10
- package/dist/safe-bash-presentation-engine/media-extraction.js +6 -6
- package/dist/safe-bash-presentation-engine/media.js +5 -5
- package/dist/safe-bash-presentation-engine/memberships.d.ts +1 -0
- package/dist/safe-bash-presentation-engine/memberships.js +12 -6
- package/dist/safe-bash-presentation-engine/notes.js +6 -6
- package/dist/safe-bash-presentation-engine/ole-insertion.js +6 -6
- package/dist/safe-bash-presentation-engine/opaque-objects.js +2 -2
- package/dist/safe-bash-presentation-engine/package-tools.js +6 -6
- package/dist/safe-bash-presentation-engine/presentation-model.js +38 -37
- package/dist/safe-bash-presentation-engine/presentation-settings.d.ts +1 -0
- package/dist/safe-bash-presentation-engine/presentation-settings.js +12 -5
- package/dist/safe-bash-presentation-engine/properties.js +7 -6
- package/dist/safe-bash-presentation-engine/retained-inspection.js +3 -3
- package/dist/safe-bash-presentation-engine/retained-memberships.d.ts +25 -0
- package/dist/safe-bash-presentation-engine/retained-presentation-settings.d.ts +25 -0
- package/dist/safe-bash-presentation-engine/retained-tags.d.ts +20 -0
- package/dist/safe-bash-presentation-engine/retained-text.d.ts +24 -4
- package/dist/safe-bash-presentation-engine/retained-text.js +17 -15
- package/dist/safe-bash-presentation-engine/sanitize.js +8 -7
- package/dist/safe-bash-presentation-engine/selectors.js +2 -2
- package/dist/safe-bash-presentation-engine/shape-groups.js +15 -15
- package/dist/safe-bash-presentation-engine/shape-operations.js +14 -14
- package/dist/safe-bash-presentation-engine/shape-path-operations.js +16 -16
- package/dist/safe-bash-presentation-engine/shape-paths.js +5 -5
- package/dist/safe-bash-presentation-engine/shape-selection.js +15 -15
- package/dist/safe-bash-presentation-engine/shape-transforms.js +5 -5
- package/dist/safe-bash-presentation-engine/shapes.js +11 -11
- package/dist/safe-bash-presentation-engine/slide-copy.js +7 -5
- package/dist/safe-bash-presentation-engine/slide-import.js +6 -6
- package/dist/safe-bash-presentation-engine/slide-merge-split.js +8 -8
- package/dist/safe-bash-presentation-engine/slide-model.js +24 -24
- package/dist/safe-bash-presentation-engine/slide-removal.js +7 -7
- package/dist/safe-bash-presentation-engine/slide-transfer-budget.js +2 -2
- package/dist/safe-bash-presentation-engine/slides.js +5 -5
- package/dist/safe-bash-presentation-engine/table-operations.js +17 -17
- package/dist/safe-bash-presentation-engine/table-spans.js +16 -16
- package/dist/safe-bash-presentation-engine/tables.js +15 -15
- package/dist/safe-bash-presentation-engine/tags.d.ts +2 -0
- package/dist/safe-bash-presentation-engine/tags.js +15 -7
- package/dist/safe-bash-presentation-engine/template-bindings.js +16 -16
- package/dist/safe-bash-presentation-engine/template-repeat.js +24 -22
- package/dist/safe-bash-presentation-engine/text-fitting.js +11 -11
- package/dist/safe-bash-presentation-engine/text-frames.js +11 -11
- package/dist/safe-bash-presentation-engine/text-paragraphs.js +11 -11
- package/dist/safe-bash-presentation-engine/text-reading.js +3 -3
- package/dist/safe-bash-presentation-engine/text-replacement.js +6 -6
- package/dist/safe-bash-presentation-engine/text-runs.js +8 -8
- package/dist/safe-bash-presentation-engine/themes.js +5 -5
- package/dist/safe-bash-presentation-engine/transitions.js +5 -5
- package/dist/safe-bash-presentation-engine/validation.js +2 -2
- package/dist/safe-bash-presentation-engine/xml-parts.js +5 -5
- package/dist/safe-bash-xml-engine/document.js +2 -2
- package/dist/safe-bash-xml-engine/index.js +2 -2
- package/dist/safe-bash-xml-engine/recovery.d.ts +6 -2
- package/dist/safe-bash-xml-engine/stored-document.d.ts +3 -0
- package/dist/safe-bash-xml-engine/stored-document.js +1 -1
- package/dist/safe-bash-xml-engine/stored-evaluate.js +2 -2
- package/dist/safe-bash-xml-engine/stored-map.d.ts +21 -0
- package/dist/safe-bash-zip-engine/index.js +3 -3
- package/dist/safe-bash-zip-engine/zip/repair.js +3 -3
- package/dist/safe-bash-zip-engine/zip/safety.js +1 -1
- package/dist/safe-bash-zip-engine/zip/sfx.js +3 -3
- package/dist/safe-bash-zip-engine/zip/volumes.js +1 -1
- package/dist/safe-bash-zip-engine/zip-format.js +3 -3
- package/dist/spreadsheet-engine/formatting/cell-text.js +1 -1
- package/dist/spreadsheet-engine/{rendering/print → formatting}/general-number.js +3 -3
- package/dist/spreadsheet-engine/formulas/functions/python-printf.js +9 -7
- package/dist/spreadsheet-engine/solver/program.js +3 -2
- package/dist/spreadsheet-engine/solver/run.js +8 -2
- package/dist/spreadsheet-engine/solver/sensitivity.d.ts +4 -2
- package/dist/spreadsheet-engine/solver/sensitivity.js +80 -42
- package/dist/spreadsheet-format-xls/biff-properties-merge.d.ts +2 -1
- package/dist/spreadsheet-format-xls/biff-properties-merge.js +36 -30
- package/dist/spreadsheet-format-xls/biff-properties-write.js +16 -7
- package/dist/spreadsheet-format-xls/biff-properties.d.ts +4 -2
- package/dist/spreadsheet-format-xls/biff-properties.js +141 -122
- package/dist/spreadsheet-format-xls/biff-property-names.d.ts +27 -0
- package/dist/spreadsheet-format-xls/biff-property-names.js +210 -0
- package/dist/spreadsheet-format-xls/biff-property-observations.d.ts +33 -0
- package/dist/spreadsheet-format-xls/biff-property-observations.js +160 -0
- package/dist/xlsx-ast/comment-geometry.js +1 -1
- package/package.json +7 -4
- package/third-party/pdf-ast/THIRD_PARTY_NOTICES.md +15 -0
- package/third-party/pdf-ast/licenses/PYTHON-PSF.txt +254 -0
- package/third-party/pdf-ast/licenses/V8-BSD.txt +61 -0
- package/dist/safe-bash/command-chunks/biff-UBP2BZLK-JPODPKS3.js +0 -5448
- package/dist/safe-bash/command-chunks/chunk-6EZWG56T.js +0 -455
- package/dist/safe-bash/command-chunks/chunk-O2HNOQQG.js +0 -161
- package/dist/safe-bash/command-chunks/chunk-ZUP5TBRG.js +0 -99
- package/dist/safe-bash/command-chunks/model-store-I7YAWL5V.js +0 -54
- package/dist/safe-bash/command-chunks/odf-3EA3EVSD-7B5GVNTC.js +0 -3097
- package/dist/safe-bash/command-chunks/{chunk-SRXARACJ.js → chunk-3TP4SSPS.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-NCNHJRIY.js → chunk-3W3HLPCX.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-P4OWVKMD.js → chunk-BQXKO3X7.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-OCOJMKDP.js → chunk-CVMHDJ7J.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-AV6N7DDA.js → chunk-DDYPQAXN.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-FEKECRJP.js → chunk-EBTKM7KX.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-WVD5WZXD.js → chunk-FPNUGKCX.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-6W4RMBFH.js → chunk-N6VNHC3B.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-M3OXQXCU.js → chunk-NBRXQUK7.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-LECGQSQW.js → chunk-SF56V6QK.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-2ANW3FXH.js → chunk-U33GIOUY.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-5QXRIZSS.js → chunk-V3NKL42J.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-OEKLEUUW.js → chunk-YZE7BKHC.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-WXW665TV.js → chunk-ZSHXZ3XG.js} +6 -6
- package/dist/safe-bash/command-chunks/{dif-BXKPQOCO-4KB3RC6G.js → dif-BXKPQOCO-FVJYYGYB.js} +4 -4
- package/dist/safe-bash/command-chunks/{pln-DFS7VLVS-OVOBS4QX.js → pln-DFS7VLVS-JATX6FS7.js} +3 -3
- package/dist/safe-bash/command-chunks/{psion-YBI6JEQI-GY4S6ZLC.js → psion-YBI6JEQI-6OMC2PGC.js} +3 -3
- package/dist/safe-bash/command-chunks/{sylk-25D7TL2Y-RU6ANKGT.js → sylk-25D7TL2Y-NJKBZZTF.js} +4 -4
- /package/dist/spreadsheet-engine/{rendering/print → formatting}/general-number.d.ts +0 -0
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "../safe-bash/command-chunks/chunk-LNKZVU5V.js";
|
|
4
4
|
import {
|
|
5
5
|
serializeDocument
|
|
6
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
6
|
+
} from "../safe-bash/command-chunks/chunk-4Z7PBIMP.js";
|
|
7
7
|
import {
|
|
8
8
|
parseStoredXml
|
|
9
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
9
|
+
} from "../safe-bash/command-chunks/chunk-MMSKDYK6.js";
|
|
10
10
|
import {
|
|
11
11
|
escape,
|
|
12
12
|
evaluate,
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { parseXmlSourceSteps, type XmlElement } from "@poe-platform/safe-fs/core";
|
|
1
|
+
import { parseXmlSourceSteps, type XmlElement, type XmlAttribute } from "@poe-platform/safe-fs/core";
|
|
2
2
|
import { type PagedStorageContext } from "@poe-platform/safe-fs/storage";
|
|
3
3
|
import { XmlBudget } from "./limits.js";
|
|
4
|
-
type XmlEvent = Parameters<NonNullable<NonNullable<Parameters<typeof parseXmlSourceSteps>[1]>["events"]>>[0]
|
|
4
|
+
type XmlEvent = Parameters<NonNullable<NonNullable<Parameters<typeof parseXmlSourceSteps>[1]>["events"]>>[0] | {
|
|
5
|
+
type: "attribute";
|
|
6
|
+
attribute: XmlAttribute;
|
|
7
|
+
element: XmlElement;
|
|
8
|
+
};
|
|
5
9
|
/** Parse lazy input, or prevalidated recovery input, through a shared 64 KiB source/frame cache.
|
|
6
10
|
* The parser retains only its current source window, tokens and the current frame. */
|
|
7
11
|
export declare function parseStoredXml(source: AsyncIterable<string> | Iterable<string>, context: PagedStorageContext & {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type XmlAttribute, type XmlContent } from "@poe-platform/safe-fs/core";
|
|
2
2
|
import { PagedStorage, type PagedStorageContext } from "@poe-platform/safe-fs/storage";
|
|
3
|
+
import { StoredStringMap as StoredNamespaces } from "./stored-map.js";
|
|
3
4
|
import { XmlBudget } from "./limits.js";
|
|
4
5
|
export type StoredXmlAttribute = {
|
|
5
6
|
kind: "attribute";
|
|
@@ -24,6 +25,8 @@ export declare class StoredXmlDocument {
|
|
|
24
25
|
private append;
|
|
25
26
|
/** Buffering convenience API; engine traversal uses metadata and attribute links. */
|
|
26
27
|
node(reference: number): Promise<XmlContent | StoredXmlAttribute>;
|
|
28
|
+
namespaceScope(reference: number): Promise<StoredNamespaces>;
|
|
29
|
+
/** Load scalar metadata only; attributes and namespace scopes have separate iterators. */
|
|
27
30
|
metadata(reference: number): Promise<XmlContent | StoredXmlAttribute>;
|
|
28
31
|
/** Content bodies may span parser fragments or coalesced text tokens.
|
|
29
32
|
* Replay them without making a concatenated node value. */
|
|
@@ -82,7 +82,7 @@ var StoredXPath = class {
|
|
|
82
82
|
} else yield* this.document.children(reference, attributes);
|
|
83
83
|
}
|
|
84
84
|
async select(query, context = this.document.document) {
|
|
85
|
-
const
|
|
85
|
+
const namespaces = await this.document.namespaceScope(this.document.root);
|
|
86
86
|
const union = new StoredSelection(this);
|
|
87
87
|
for (const path of query.paths) {
|
|
88
88
|
let contexts = new StoredSelection(this);
|
|
@@ -90,7 +90,7 @@ var StoredXPath = class {
|
|
|
90
90
|
for (const step of path) {
|
|
91
91
|
const colon = step.name.indexOf(":");
|
|
92
92
|
const prefix = colon < 0 ? "" : step.name.slice(0, colon);
|
|
93
|
-
const namespace = colon < 0 ? "" :
|
|
93
|
+
const namespace = colon < 0 ? "" : await namespaces.get(prefix);
|
|
94
94
|
if (namespace === void 0) throw new XmlQueryError(`undefined XPath namespace prefix: ${prefix}`, 10);
|
|
95
95
|
const localName = colon < 0 ? step.name : step.name.slice(colon + 1);
|
|
96
96
|
const parents = new StoredSelection(this);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { PagedStorage } from "@poe-platform/safe-fs/storage";
|
|
2
|
+
import type { XmlBudget } from "./limits.js";
|
|
3
|
+
/** Immutable AVL maps share unchanged subtrees in caller storage. AVL ancestry
|
|
4
|
+
* is bounded by safe-integer storage addresses (fewer than 80 levels), rather
|
|
5
|
+
* than XML depth or the number of entries. Individual keys and values still have
|
|
6
|
+
* the parser's token cost. */
|
|
7
|
+
export declare class StoredStringMap {
|
|
8
|
+
private readonly storage;
|
|
9
|
+
private readonly budget;
|
|
10
|
+
readonly reference: number;
|
|
11
|
+
constructor(storage: PagedStorage, budget: XmlBudget, reference?: number);
|
|
12
|
+
private read;
|
|
13
|
+
private write;
|
|
14
|
+
get(key: string): Promise<string | undefined>;
|
|
15
|
+
private height;
|
|
16
|
+
private updated;
|
|
17
|
+
private rotate;
|
|
18
|
+
private balance;
|
|
19
|
+
set(key: string, value: string): Promise<StoredStringMap>;
|
|
20
|
+
[Symbol.asyncIterator](): AsyncGenerator<readonly [string, string]>;
|
|
21
|
+
}
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
streamZipArchive,
|
|
10
10
|
updateZipExtras,
|
|
11
11
|
writeZipArchive
|
|
12
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
12
|
+
} from "../safe-bash/command-chunks/chunk-ZSHXZ3XG.js";
|
|
13
13
|
import "../safe-bash/command-chunks/chunk-FVQFB7OD.js";
|
|
14
14
|
import "../safe-bash/command-chunks/chunk-3I3PD6VU.js";
|
|
15
|
+
import "../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
15
16
|
import "../safe-bash/command-chunks/chunk-ZNVKI6FP.js";
|
|
17
|
+
import "../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
16
18
|
import "../safe-bash/command-chunks/chunk-ORHPC5DZ.js";
|
|
17
|
-
import "../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
18
19
|
import "../safe-bash/command-chunks/chunk-7OZAH3MX.js";
|
|
19
|
-
import "../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
20
20
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
21
21
|
export {
|
|
22
22
|
crc32,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
decodeZipEntry,
|
|
9
9
|
readZipArchive,
|
|
10
10
|
readZipIndexedArchive
|
|
11
|
-
} from "../../safe-bash/command-chunks/chunk-
|
|
11
|
+
} from "../../safe-bash/command-chunks/chunk-ZSHXZ3XG.js";
|
|
12
12
|
import {
|
|
13
13
|
ZipRanges,
|
|
14
14
|
joinZipSources,
|
|
@@ -19,11 +19,11 @@ import {
|
|
|
19
19
|
zip64Fields,
|
|
20
20
|
zipEnd
|
|
21
21
|
} from "../../safe-bash/command-chunks/chunk-3I3PD6VU.js";
|
|
22
|
+
import "../../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
22
23
|
import "../../safe-bash/command-chunks/chunk-ZNVKI6FP.js";
|
|
24
|
+
import "../../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
23
25
|
import "../../safe-bash/command-chunks/chunk-ORHPC5DZ.js";
|
|
24
|
-
import "../../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
25
26
|
import "../../safe-bash/command-chunks/chunk-7OZAH3MX.js";
|
|
26
|
-
import "../../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
27
27
|
import "../../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
28
28
|
|
|
29
29
|
// packages/safe-bash-zip-engine/src/zip/repair.ts
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
spoolZipSource,
|
|
9
9
|
stageZip,
|
|
10
10
|
unchangedZipSource
|
|
11
|
-
} from "../../safe-bash/command-chunks/chunk-
|
|
11
|
+
} from "../../safe-bash/command-chunks/chunk-TSKJNCKD.js";
|
|
12
12
|
import "../../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
13
13
|
export {
|
|
14
14
|
ZipScope,
|
|
@@ -2,16 +2,16 @@ import {
|
|
|
2
2
|
decodeZipEntry,
|
|
3
3
|
readZipArchive,
|
|
4
4
|
readZipIndexedArchive
|
|
5
|
-
} from "../../safe-bash/command-chunks/chunk-
|
|
5
|
+
} from "../../safe-bash/command-chunks/chunk-ZSHXZ3XG.js";
|
|
6
6
|
import {
|
|
7
7
|
ZipRanges
|
|
8
8
|
} from "../../safe-bash/command-chunks/chunk-FVQFB7OD.js";
|
|
9
9
|
import "../../safe-bash/command-chunks/chunk-3I3PD6VU.js";
|
|
10
|
+
import "../../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
10
11
|
import "../../safe-bash/command-chunks/chunk-ZNVKI6FP.js";
|
|
12
|
+
import "../../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
11
13
|
import "../../safe-bash/command-chunks/chunk-ORHPC5DZ.js";
|
|
12
|
-
import "../../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
13
14
|
import "../../safe-bash/command-chunks/chunk-7OZAH3MX.js";
|
|
14
|
-
import "../../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
15
15
|
import "../../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
16
16
|
|
|
17
17
|
// packages/safe-bash-zip-engine/src/zip/sfx.ts
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
streamZipArchive,
|
|
10
10
|
updateZipExtras,
|
|
11
11
|
writeZipArchive
|
|
12
|
-
} from "../safe-bash/command-chunks/chunk-
|
|
12
|
+
} from "../safe-bash/command-chunks/chunk-ZSHXZ3XG.js";
|
|
13
13
|
import "../safe-bash/command-chunks/chunk-FVQFB7OD.js";
|
|
14
14
|
import "../safe-bash/command-chunks/chunk-3I3PD6VU.js";
|
|
15
|
+
import "../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
15
16
|
import "../safe-bash/command-chunks/chunk-ZNVKI6FP.js";
|
|
17
|
+
import "../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
16
18
|
import "../safe-bash/command-chunks/chunk-ORHPC5DZ.js";
|
|
17
|
-
import "../safe-bash/command-chunks/chunk-CFK5CVU7.js";
|
|
18
19
|
import "../safe-bash/command-chunks/chunk-7OZAH3MX.js";
|
|
19
|
-
import "../safe-bash/command-chunks/chunk-RYNTNJMA.js";
|
|
20
20
|
import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
|
|
21
21
|
export {
|
|
22
22
|
crc32,
|
|
@@ -2,7 +2,7 @@ import { SsconvertError } from "../contracts.js";
|
|
|
2
2
|
import { cellValueFormat } from "../workbook/value-format.js";
|
|
3
3
|
import { formatText } from "./number-format.js";
|
|
4
4
|
import { parseFormatSections, selectFormatSection } from "./sections.js";
|
|
5
|
-
import { formatGeneralNumber } from "
|
|
5
|
+
import { formatGeneralNumber } from "./general-number.js";
|
|
6
6
|
import { scanFormat } from "./numeric.js";
|
|
7
7
|
import { formattingLocale, localizedValueText } from "./locale.js";
|
|
8
8
|
function checkedText(text, context) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SsconvertError } from "
|
|
2
|
-
import { fixedNumber } from "
|
|
3
|
-
import { formattingLocale } from "
|
|
1
|
+
import { SsconvertError } from "../contracts.js";
|
|
2
|
+
import { fixedNumber } from "./number-format.js";
|
|
3
|
+
import { formattingLocale } from "./locale.js";
|
|
4
4
|
/** Native General precision selection, measured in the caller's font units. */
|
|
5
5
|
export function formatGeneralNumber(value, initial, width, measure, locale, tick, unicodeMinus = true) {
|
|
6
6
|
const decimal = formattingLocale(locale).decimal;
|
|
@@ -37,9 +37,10 @@ function* pythonText(profile, value, repr, ascii, host) {
|
|
|
37
37
|
}
|
|
38
38
|
if (typeof value === "object") {
|
|
39
39
|
if ("range" in value) {
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
// CPython uses a process address. The portable loader uses an opaque,
|
|
41
|
+
// call-local identity for each newly allocated reference wrapper instead.
|
|
42
|
+
yield* "<RangeRef object at 0x" + value.range.toString(16) + ">";
|
|
43
|
+
return;
|
|
43
44
|
}
|
|
44
45
|
yield "[";
|
|
45
46
|
for (let column = 0; column < value.columns.length; column++) {
|
|
@@ -82,7 +83,7 @@ function* pythonText(profile, value, repr, ascii, host) {
|
|
|
82
83
|
}
|
|
83
84
|
yield quote;
|
|
84
85
|
}
|
|
85
|
-
function pythonValue(value, host, argument = true) {
|
|
86
|
+
function pythonValue(value, host, references, argument = true) {
|
|
86
87
|
host.tick();
|
|
87
88
|
// The node loader evaluates arguments without PERMIT_EMPTY; array children
|
|
88
89
|
// are converted directly and retain Python None for empty Gnumeric values.
|
|
@@ -93,10 +94,10 @@ function pythonValue(value, host, argument = true) {
|
|
|
93
94
|
return null;
|
|
94
95
|
}
|
|
95
96
|
if (value.kind === "range")
|
|
96
|
-
return { range:
|
|
97
|
+
return { range: ++references.count };
|
|
97
98
|
if (value.kind === "matrix" || value.kind === "set") {
|
|
98
99
|
const rows = host.matrix(value).rows;
|
|
99
|
-
return { columns: Array.from({ length: rows[0]?.length ?? 0 }, (_, column) => rows.map(row => pythonValue(row[column], host, false))) };
|
|
100
|
+
return { columns: Array.from({ length: rows[0]?.length ?? 0 }, (_, column) => rows.map(row => pythonValue(row[column], host, references, false))) };
|
|
100
101
|
}
|
|
101
102
|
// Both Python C-string acquisition and returned Gnumeric strings stop at NUL.
|
|
102
103
|
return typeof value.value === "string" ? rendered(value).split("\0", 1)[0] : value.value;
|
|
@@ -170,7 +171,8 @@ function decimalFloat(value, kind, precision, alternate, host) {
|
|
|
170
171
|
export function pythonPrintf(profile, args, host) {
|
|
171
172
|
if (!args.length)
|
|
172
173
|
return { kind: "error", value: "Python exception (<class 'TypeError'>: func_printf() missing 1 required positional argument: 'format')" };
|
|
173
|
-
const
|
|
174
|
+
const references = { count: 0 };
|
|
175
|
+
const values = args.map(value => pythonValue(value, host, references)), format = values[0];
|
|
174
176
|
// Activated 1.12.61 loaders on CPython 3.12 and 3.14 wrap the sample's
|
|
175
177
|
// GnumericError rather than recognizing it in py_exc_to_string.
|
|
176
178
|
if (typeof format !== "string")
|
|
@@ -136,9 +136,10 @@ export class SolverProgram {
|
|
|
136
136
|
const columns = [];
|
|
137
137
|
for (let i = 0; i < n; i++) {
|
|
138
138
|
const lo = this.lower[i], hi = this.upper[i], start = origin[i];
|
|
139
|
-
const end = lo === hi ? start : this.model.domains[i] !== 'continuous' && hi - lo === 1 ? hi : start + 1 <= hi ? start + 1 : start - 1 >=
|
|
139
|
+
const end = lo === hi ? start : this.model.domains[i] !== 'continuous' && hi - lo === 1 ? hi : start + 1 <= hi ? start + 1 : start - 1 >= lo ? start - 1 : start !== hi ? (start + hi) / 2 : (start + lo) / 2;
|
|
140
140
|
const dx = end - start;
|
|
141
|
-
|
|
141
|
+
// A finite backward probe carries the same affine slope as a forward probe.
|
|
142
|
+
if (dx === 0) {
|
|
142
143
|
columns.push(addresses.map(() => 0));
|
|
143
144
|
continue;
|
|
144
145
|
}
|
|
@@ -4,7 +4,7 @@ import { loadSolverParameters, validateSolverParametersSteps, selectSolverAlgori
|
|
|
4
4
|
import { SolverBudget, solveLinearSteps } from "./linear.js";
|
|
5
5
|
import { SolverProgram } from "./program.js";
|
|
6
6
|
import { solveNonlinearSteps } from "./nonlinear.js";
|
|
7
|
-
import {
|
|
7
|
+
import { linearSensitivitySteps } from "./sensitivity.js";
|
|
8
8
|
import { createProgramReport, createSensitivityReport } from "./report.js";
|
|
9
9
|
export const solverAlgorithms = Object.freeze([
|
|
10
10
|
Object.freeze({ id: 'glpk', modelType: 'linear', available: true }),
|
|
@@ -50,6 +50,12 @@ export async function runSolverValidation(book, context, registry = solverAlgori
|
|
|
50
50
|
}
|
|
51
51
|
const result = await runCooperatively(solveLinearSteps(linear.rows, linear.objective, model.domains, budget), context.signal);
|
|
52
52
|
solution = result.quality === 'infeasible' || result.quality === 'unbounded' ? undefined : result.solution;
|
|
53
|
+
// Linearization substitutes fixed inputs into the affine constants, leaving
|
|
54
|
+
// zero columns. Restore those coordinates before recalculation and reports.
|
|
55
|
+
if (solution) {
|
|
56
|
+
budget.tick(model.variables.length);
|
|
57
|
+
solution = solution.map((value, i) => program.lower[i] === program.upper[i] ? program.lower[i] : value);
|
|
58
|
+
}
|
|
53
59
|
if (algorithm.id === 'glpk' && model.options.sensitivityReport && (result.quality === 'infeasible' || result.quality === 'unbounded' || model.domains.some(d => d !== 'continuous'))) {
|
|
54
60
|
await warning('Solver: Solver ran, but failed');
|
|
55
61
|
return book;
|
|
@@ -65,7 +71,7 @@ export async function runSolverValidation(book, context, registry = solverAlgori
|
|
|
65
71
|
else if (result.quality === 'optimal') {
|
|
66
72
|
quality = algorithm.id === 'glpk' && model.domains.every(d => d === 'continuous') ? 'Feasible' : 'Optimal';
|
|
67
73
|
if (model.options.sensitivityReport && solution && model.domains.every(d => d === 'continuous'))
|
|
68
|
-
sensitivity =
|
|
74
|
+
sensitivity = await runCooperatively(linearSensitivitySteps(linear.rows, linear.objective, solution, budget), context.signal);
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type LinearRow, type SolverBudget } from "./linear.js";
|
|
2
2
|
export interface SensitivityEntry {
|
|
3
3
|
readonly low: number;
|
|
4
4
|
readonly high: number;
|
|
@@ -9,4 +9,6 @@ export interface Sensitivity {
|
|
|
9
9
|
readonly constraints: readonly SensitivityEntry[];
|
|
10
10
|
}
|
|
11
11
|
/** Active-basis sensitivity for continuous linear programs, with shared bounded arithmetic. */
|
|
12
|
-
export declare function
|
|
12
|
+
export declare function linearSensitivitySteps(rows: readonly LinearRow[], objective: readonly number[], solution: readonly number[], budget: SolverBudget): Generator<void, Sensitivity>;
|
|
13
|
+
/** Synchronous sensitivity inspection; conversions use the cooperative steps. */
|
|
14
|
+
export declare function linearSensitivity(...args: Parameters<typeof linearSensitivitySteps>): Sensitivity;
|
|
@@ -1,53 +1,83 @@
|
|
|
1
|
+
import { simplexSteps } from "./linear.js";
|
|
1
2
|
/** Active-basis sensitivity for continuous linear programs, with shared bounded arithmetic. */
|
|
2
|
-
export function
|
|
3
|
+
export function* linearSensitivitySteps(rows, objective, solution, budget) {
|
|
3
4
|
const n = objective.length;
|
|
4
5
|
budget.tick(n * n + rows.length * n);
|
|
5
|
-
const basis = [], echelon = [];
|
|
6
|
-
for (let i = 0; i < rows.length && basis.length < n; i++) {
|
|
7
|
-
const row = rows[i];
|
|
8
|
-
const activity = row.coefficients.reduce((sum, v, j) => sum + v * solution[j], 0);
|
|
9
|
-
if (Math.abs(activity - row.upper) > 1e-7 * Math.max(1, Math.abs(row.upper)))
|
|
10
|
-
continue;
|
|
11
|
-
const vector = [...row.coefficients];
|
|
12
|
-
for (const b of echelon) {
|
|
13
|
-
const pivot = b.findIndex(v => Math.abs(v) > 1e-10), multiplier = vector[pivot];
|
|
14
|
-
for (let j = 0; j < n; j++) {
|
|
15
|
-
budget.tick();
|
|
16
|
-
vector[j] = vector[j] - multiplier * b[j];
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
const pivot = vector.findIndex(v => Math.abs(v) > 1e-10);
|
|
20
|
-
if (pivot === -1)
|
|
21
|
-
continue;
|
|
22
|
-
const scale = vector[pivot];
|
|
23
|
-
echelon.push(vector.map(v => v / scale));
|
|
24
|
-
basis.push(i);
|
|
25
|
-
}
|
|
26
6
|
const missing = () => ({ low: NaN, high: NaN, shadow: NaN });
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
for (let i = 0; i < n; i++)
|
|
42
|
-
if (i !== j) {
|
|
43
|
-
const multiplier = inverse[i][j];
|
|
44
|
-
for (let k = 0; k < n * 2; k++) {
|
|
7
|
+
const unavailable = () => ({ variables: objective.map(missing), constraints: rows.map(missing) });
|
|
8
|
+
const active = rows.flatMap((row, i) => {
|
|
9
|
+
const activity = row.coefficients.reduce((sum, v, j) => sum + v * solution[j], 0);
|
|
10
|
+
return Math.abs(activity - row.upper) <= 1e-7 * Math.max(1, Math.abs(row.upper)) ? [i] : [];
|
|
11
|
+
});
|
|
12
|
+
const makeBasis = (order) => {
|
|
13
|
+
const basis = [], echelon = [];
|
|
14
|
+
for (const i of order) {
|
|
15
|
+
if (basis.length === n)
|
|
16
|
+
break;
|
|
17
|
+
const vector = [...rows[i].coefficients];
|
|
18
|
+
for (const b of echelon) {
|
|
19
|
+
const pivot = b.findIndex(v => Math.abs(v) > 1e-10), multiplier = vector[pivot];
|
|
20
|
+
for (let j = 0; j < n; j++) {
|
|
45
21
|
budget.tick();
|
|
46
|
-
|
|
22
|
+
vector[j] = vector[j] - multiplier * b[j];
|
|
47
23
|
}
|
|
48
24
|
}
|
|
25
|
+
const pivot = vector.findIndex(v => Math.abs(v) > 1e-10);
|
|
26
|
+
if (pivot === -1)
|
|
27
|
+
continue;
|
|
28
|
+
const scale = vector[pivot];
|
|
29
|
+
echelon.push(vector.map(v => v / scale));
|
|
30
|
+
basis.push(i);
|
|
31
|
+
}
|
|
32
|
+
if (basis.length !== n)
|
|
33
|
+
return undefined;
|
|
34
|
+
budget.tick(n * n * 2);
|
|
35
|
+
const inverse = basis.map((i, j) => [...rows[i].coefficients, ...objective.map((_, k) => Number(j === k))]);
|
|
36
|
+
for (let j = 0; j < n; j++) {
|
|
37
|
+
let pivot = j;
|
|
38
|
+
for (let i = j + 1; i < n; i++)
|
|
39
|
+
if (Math.abs(inverse[i][j]) > Math.abs(inverse[pivot][j]))
|
|
40
|
+
pivot = i;
|
|
41
|
+
[inverse[j], inverse[pivot]] = [inverse[pivot], inverse[j]];
|
|
42
|
+
const divisor = inverse[j][j];
|
|
43
|
+
for (let k = 0; k < n * 2; k++) {
|
|
44
|
+
budget.tick();
|
|
45
|
+
inverse[j][k] = inverse[j][k] / divisor;
|
|
46
|
+
}
|
|
47
|
+
for (let i = 0; i < n; i++)
|
|
48
|
+
if (i !== j) {
|
|
49
|
+
const multiplier = inverse[i][j];
|
|
50
|
+
for (let k = 0; k < n * 2; k++) {
|
|
51
|
+
budget.tick();
|
|
52
|
+
inverse[i][k] = inverse[i][k] - multiplier * inverse[j][k];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const dual = basis.map((_, i) => objective.reduce((sum, c, j) => sum + c * inverse[j][n + i], 0));
|
|
57
|
+
return { basis, inverse, dual };
|
|
58
|
+
};
|
|
59
|
+
let selected = makeBasis(active);
|
|
60
|
+
if (!selected)
|
|
61
|
+
return unavailable();
|
|
62
|
+
if (!selected.dual.every(value => Number.isFinite(value) && value >= -1e-10)) {
|
|
63
|
+
// A degenerate vertex can have independent active rows whose dual is
|
|
64
|
+
// infeasible. Find nonnegative multipliers A' * lambda = c, then extend
|
|
65
|
+
// their independent support with zero-multiplier active rows.
|
|
66
|
+
budget.tick(2 * n * active.length);
|
|
67
|
+
const equations = objective.flatMap((value, column) => {
|
|
68
|
+
const coefficients = active.map(i => rows[i].coefficients[column]);
|
|
69
|
+
return [{ coefficients, upper: value }, { coefficients: coefficients.map(v => -v), upper: -value }];
|
|
70
|
+
});
|
|
71
|
+
const feasible = yield* simplexSteps(equations, active.map(() => 0), budget);
|
|
72
|
+
if (feasible.quality !== 'optimal' || !feasible.solution)
|
|
73
|
+
return unavailable();
|
|
74
|
+
const positive = active.filter((_, i) => feasible.solution[i] > 0);
|
|
75
|
+
const zero = active.filter((_, i) => feasible.solution[i] <= 0);
|
|
76
|
+
selected = makeBasis([...positive, ...zero]);
|
|
77
|
+
if (!selected || !selected.dual.every(value => Number.isFinite(value) && value >= -1e-10))
|
|
78
|
+
return unavailable();
|
|
49
79
|
}
|
|
50
|
-
const
|
|
80
|
+
const { basis, inverse, dual } = selected;
|
|
51
81
|
const variables = objective.map((c, j) => {
|
|
52
82
|
let low = -Infinity, high = Infinity;
|
|
53
83
|
for (let i = 0; i < n; i++) {
|
|
@@ -80,3 +110,11 @@ export function linearSensitivity(rows, objective, solution, budget) {
|
|
|
80
110
|
});
|
|
81
111
|
return { variables, constraints };
|
|
82
112
|
}
|
|
113
|
+
/** Synchronous sensitivity inspection; conversions use the cooperative steps. */
|
|
114
|
+
export function linearSensitivity(...args) {
|
|
115
|
+
const steps = linearSensitivitySteps(...args);
|
|
116
|
+
let result = steps.next();
|
|
117
|
+
while (!result.done)
|
|
118
|
+
result = steps.next();
|
|
119
|
+
return result.value;
|
|
120
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BiffPropertyNames } from './biff-property-names.js';
|
|
1
2
|
import type { BiffPropertySource } from './biff-encrypted-properties-write.js';
|
|
2
3
|
import { type CapabilityContext, type RangeSource } from "../spreadsheet-engine/contracts.js";
|
|
3
4
|
import type { UnsupportedRecord, Workbook } from "../spreadsheet-ast/index.js";
|
|
@@ -5,4 +6,4 @@ import type { UnsupportedRecord, Workbook } from "../spreadsheet-ast/index.js";
|
|
|
5
6
|
export declare function mergeBiffProperties(book: Workbook, streams: Map<string, Uint8Array | RangeSource>, handled: Set<UnsupportedRecord>, context: CapabilityContext, charge: (amount: number) => void, allocate: (length: number) => Uint8Array, staged?: {
|
|
6
7
|
sources: Map<string, BiffPropertySource>;
|
|
7
8
|
reserve: (length: number) => number;
|
|
8
|
-
}): Promise<
|
|
9
|
+
}, preserved?: Pick<BiffPropertyNames, "add">): Promise<void>;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { BiffPropertyNames } from './biff-property-names.js';
|
|
2
|
+
import { BiffOriginalProperties } from './biff-property-observations.js';
|
|
1
3
|
import { BiffMutablePropertyValues } from './biff-property-values.js';
|
|
2
4
|
import { createBiffPropertyNameEncoder } from "./biff-property-name.js";
|
|
3
5
|
import { readBiffPropertyText } from "./biff-property-text.js";
|
|
@@ -8,10 +10,9 @@ import { Binary, invalidBiff } from "./biff-binary.js";
|
|
|
8
10
|
import { biffPropertyFields, biffPropertyFormats, readBiffProperties } from "./biff-properties.js";
|
|
9
11
|
import { propertyRange, readPropertySectionRanges, withPropertyValueRanges } from "./biff-property-range.js";
|
|
10
12
|
/** Rebuild offsets around original opaque spans. Never transcode their codepage. */
|
|
11
|
-
export async function mergeBiffProperties(book, streams, handled, context, charge, allocate, staged) {
|
|
13
|
+
export async function mergeBiffProperties(book, streams, handled, context, charge, allocate, staged, preserved) {
|
|
12
14
|
const canonical = (name) => ["\u0005SummaryInformation", "\u0005DocumentSummaryInformation"].find(target => target.toUpperCase() === name.toUpperCase());
|
|
13
15
|
const snapshots = new Map(), duplicates = new Set();
|
|
14
|
-
const preserved = new Set();
|
|
15
16
|
let nodes = 0, textBytes = 0;
|
|
16
17
|
const admit = (amount) => {
|
|
17
18
|
charge(amount);
|
|
@@ -85,7 +86,7 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
|
|
|
85
86
|
for (const name of duplicates)
|
|
86
87
|
snapshots.delete(name);
|
|
87
88
|
if (!snapshots.size)
|
|
88
|
-
return
|
|
89
|
+
return;
|
|
89
90
|
const parse = async (input) => {
|
|
90
91
|
const file = propertyRange(input, context), sections = [];
|
|
91
92
|
for await (const section of readPropertySectionRanges(file, admit, charge, context)) {
|
|
@@ -117,12 +118,22 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
|
|
|
117
118
|
}
|
|
118
119
|
return new Binary(bytes);
|
|
119
120
|
};
|
|
120
|
-
const
|
|
121
|
-
|
|
121
|
+
const same = (a, b) => {
|
|
122
|
+
if (!Array.isArray(a) || !Array.isArray(b))
|
|
123
|
+
return Object.is(a, b);
|
|
124
|
+
charge(a.length + b.length);
|
|
125
|
+
return a.length === b.length && a.every((value, i) => Object.is(value, b[i]));
|
|
126
|
+
};
|
|
127
|
+
const original = new BiffOriginalProperties(context, charge), pending = new Map();
|
|
128
|
+
temporarySources.push(original);
|
|
122
129
|
const readContext = { ...context, limits: { ...context.limits, inputBytes: context.limits.outputBytes } };
|
|
123
130
|
// Reuse scalar decoding, but do not create another retained hexadecimal copy.
|
|
124
|
-
await readBiffProperties(new Map([...snapshots].map(([name, value]) => [name, value.bytes])), readContext, accountText, charge, undefined,
|
|
125
|
-
|
|
131
|
+
await readBiffProperties(new Map([...snapshots].map(([name, value]) => [name, value.bytes])), readContext, accountText, charge, undefined, async (property) => {
|
|
132
|
+
admit(1);
|
|
133
|
+
const { stream, section, id, key } = property;
|
|
134
|
+
await original.add({ stream, section, id, key, unchanged: same(property.value, book.properties?.[key]) });
|
|
135
|
+
}, false);
|
|
136
|
+
await readBiffProperties(streams, readContext, accountText, charge, undefined, property => { admit(1); const { stream, section, id, key } = property; pending.set(key, { stream, section, id, key }); }, false);
|
|
126
137
|
const chunks = async function* (source) {
|
|
127
138
|
for (let at = 0; at < source.size;) {
|
|
128
139
|
const bytes = await source.read(at, source.size - at);
|
|
@@ -232,48 +243,43 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
|
|
|
232
243
|
view.setUint16(8 + i * 2, value.charCodeAt(i), true);
|
|
233
244
|
return propertyRange(bytes, context);
|
|
234
245
|
};
|
|
235
|
-
const same = (a, b) => {
|
|
236
|
-
if (!Array.isArray(a) || !Array.isArray(b))
|
|
237
|
-
return Object.is(a, b);
|
|
238
|
-
charge(a.length + b.length);
|
|
239
|
-
return a.length === b.length && a.every((value, i) => Object.is(value, b[i]));
|
|
240
|
-
};
|
|
241
246
|
for (const [name, snapshot] of snapshots) {
|
|
242
|
-
const seen = new
|
|
243
|
-
|
|
247
|
+
const seen = new BiffPropertyNames(context, charge);
|
|
248
|
+
temporarySources.push(seen);
|
|
249
|
+
async function* modeled() {
|
|
244
250
|
if (snapshot.modeled) {
|
|
245
251
|
yield* snapshot.modeled;
|
|
246
252
|
return;
|
|
247
253
|
}
|
|
248
254
|
// SummaryInformation is read first. A legacy document-only snapshot lacks
|
|
249
255
|
// that earlier stream's ownership decisions: infer only unchanged values.
|
|
250
|
-
for (const property of original.values()) {
|
|
256
|
+
for await (const property of original.values()) {
|
|
251
257
|
charge(1);
|
|
252
258
|
if (property.stream !== name)
|
|
253
259
|
continue;
|
|
254
260
|
if (name === "\u0005SummaryInformation" || snapshots.has("\u0005SummaryInformation") ||
|
|
255
|
-
Object.hasOwn(book.properties ?? {}, property.key) &&
|
|
261
|
+
Object.hasOwn(book.properties ?? {}, property.key) && property.unchanged) {
|
|
256
262
|
admit(1);
|
|
257
263
|
yield [property.section, property.id, property.key];
|
|
258
264
|
}
|
|
259
265
|
}
|
|
260
266
|
}
|
|
261
|
-
for (const entry of modeled()) {
|
|
267
|
+
for await (const entry of modeled()) {
|
|
262
268
|
admit(1);
|
|
263
269
|
if (!Array.isArray(entry) || entry.length !== 3 || typeof entry[0] !== "number" || typeof entry[1] !== "number" || typeof entry[2] !== "string")
|
|
264
270
|
invalidBiff("invalid retained property identity");
|
|
265
271
|
const [offset, id, key] = entry;
|
|
266
|
-
const property = original.get(
|
|
267
|
-
if (!property || property.key !== key || seen.has(key))
|
|
272
|
+
const property = await original.get(name, offset, id);
|
|
273
|
+
if (!property || property.key !== key || await seen.has(key))
|
|
268
274
|
invalidBiff("invalid retained property identity");
|
|
269
|
-
seen.add(key);
|
|
275
|
+
await seen.add(key);
|
|
270
276
|
charge(old.get(name).length);
|
|
271
277
|
const section = old.get(name).find(section => section.offset === offset);
|
|
272
|
-
const
|
|
278
|
+
const replacement = pending.get(key);
|
|
273
279
|
if (!Object.hasOwn(book.properties ?? {}, key))
|
|
274
280
|
await remove(section, id);
|
|
275
|
-
else if (
|
|
276
|
-
preserved
|
|
281
|
+
else if (property.unchanged) {
|
|
282
|
+
await preserved?.add(key);
|
|
277
283
|
if (replacement)
|
|
278
284
|
await take(replacement);
|
|
279
285
|
}
|
|
@@ -451,13 +457,14 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
|
|
|
451
457
|
if (snapshot)
|
|
452
458
|
handled.add(snapshot.record);
|
|
453
459
|
}
|
|
454
|
-
const exposed = new
|
|
455
|
-
|
|
460
|
+
const exposed = new BiffPropertyNames(context, charge);
|
|
461
|
+
temporarySources.push(exposed);
|
|
462
|
+
await readBiffProperties(staged?.sources ?? streams, readContext, accountText, charge, undefined, async (property) => {
|
|
456
463
|
admit(1);
|
|
457
464
|
if (!Object.hasOwn(book.properties ?? {}, property.key))
|
|
458
|
-
exposed.add(property.key);
|
|
459
|
-
});
|
|
460
|
-
for (const key of exposed)
|
|
465
|
+
await exposed.add(property.key);
|
|
466
|
+
}, false);
|
|
467
|
+
for await (const key of exposed.values())
|
|
461
468
|
await warn(key, "opaque property exposes a field absent from the model");
|
|
462
469
|
}
|
|
463
470
|
catch (error) {
|
|
@@ -470,5 +477,4 @@ export async function mergeBiffProperties(book, streams, handled, context, charg
|
|
|
470
477
|
throw error;
|
|
471
478
|
}
|
|
472
479
|
await closeTemporary();
|
|
473
|
-
return preserved;
|
|
474
480
|
}
|