@maycombhq/atticus 2.0.0-beta.2 → 2.0.0-beta.22
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/bin.js +8 -4
- package/dist/chunk-23XVSEV5.js +49 -0
- package/dist/{chunk-ZDPAS56H.js → chunk-24OXGB3P.js} +8 -2
- package/dist/{chunk-7EOBHUMC.js → chunk-24XLDU72.js} +4 -3
- package/dist/{chunk-CR3MTH32.js → chunk-2F4CYZKJ.js} +86 -11
- package/dist/{chunk-6IU67AEK.js → chunk-2GF7OLF3.js} +23 -15
- package/dist/chunk-2IIMFOPM.js +41 -0
- package/dist/chunk-2LGRMVCA.js +617 -0
- package/dist/{chunk-XPCM366L.js → chunk-2MMCFP5C.js} +10 -8
- package/dist/{chunk-JBTK5OP2.js → chunk-2Q56PQPS.js} +6 -4
- package/dist/{chunk-Z6LF7HQN.js → chunk-2Q5EDGEO.js} +7 -5
- package/dist/{chunk-3USYZGRF.js → chunk-2RLKFUUL.js} +38 -27
- package/dist/chunk-2SKB4O2E.js +59 -0
- package/dist/{chunk-SP2I63OO.js → chunk-34S2WGOB.js} +87 -4
- package/dist/{chunk-GQ4N4WKF.js → chunk-3NFFJL5D.js} +33 -27
- package/dist/{chunk-SJRGMG6A.js → chunk-3NWDLGG6.js} +28 -25
- package/dist/{chunk-4WBVUHXN.js → chunk-3RM4UK6W.js} +20 -18
- package/dist/chunk-42SIDKEU.js +583 -0
- package/dist/{chunk-GLUX4EEP.js → chunk-4EURQWQD.js} +20 -15
- package/dist/chunk-4U276ICE.js +39 -0
- package/dist/{chunk-ZMFPW66A.js → chunk-53T4O55J.js} +4 -3
- package/dist/{chunk-6J5OKA4Y.js → chunk-57TDNMI3.js} +17 -15
- package/dist/chunk-5BD2KYLE.js +57 -0
- package/dist/{chunk-7EFILTCI.js → chunk-5F7GFN2F.js} +28 -0
- package/dist/chunk-5NMKONLP.js +95 -0
- package/dist/{chunk-7ZUIMTOU.js → chunk-5SJZW52K.js} +26 -24
- package/dist/{chunk-4RS5KZQD.js → chunk-63YRMR6J.js} +6 -5
- package/dist/chunk-66PPNOON.js +62 -0
- package/dist/chunk-6H3Z5JHH.js +64 -0
- package/dist/{chunk-CEXSU4S6.js → chunk-6MUGR4LS.js} +775 -89
- package/dist/{chunk-QSXK2RGH.js → chunk-6OJQOPUN.js} +5 -3
- package/dist/{chunk-MVZVGYXH.js → chunk-6PPOWY5E.js} +84 -14
- package/dist/{chunk-7EKXJZ2Y.js → chunk-6ZGLAACW.js} +299 -38
- package/dist/chunk-6ZJ5A7AF.js +222 -0
- package/dist/{chunk-L24C55VN.js → chunk-745DAZ4L.js} +142 -30
- package/dist/{chunk-Q4D5X7QB.js → chunk-7ASNL4Q4.js} +46 -24
- package/dist/chunk-7BR7IPOH.js +35 -0
- package/dist/{chunk-7WD63HU2.js → chunk-7DOR27HL.js} +6 -6
- package/dist/chunk-7FTTA3HD.js +341 -0
- package/dist/{chunk-OLQJTJJU.js → chunk-7GJS6DNX.js} +12 -3
- package/dist/{chunk-7JUKDRSZ.js → chunk-7IGKHZ4Z.js} +347 -226
- package/dist/{chunk-G2B4ZQGH.js → chunk-7IOWA5D5.js} +11 -6
- package/dist/{chunk-EBEW3XXQ.js → chunk-7JITZFJC.js} +7 -5
- package/dist/chunk-7MJSQTL5.js +174 -0
- package/dist/{chunk-I4JRCD6M.js → chunk-7UOMVMFG.js} +25 -17
- package/dist/{chunk-YY6ZQQBP.js → chunk-AFWUDXEM.js} +19 -7
- package/dist/chunk-AFZ3QA6W.js +47 -0
- package/dist/chunk-AJQ72EBM.js +420 -0
- package/dist/chunk-AJYXNTNZ.js +317 -0
- package/dist/chunk-AVTBS4OW.js +49 -0
- package/dist/{chunk-FHH4I4ZV.js → chunk-BDKC6H5P.js} +12 -6
- package/dist/{chunk-IPKHE5D6.js → chunk-BEVTIBRH.js} +1526 -875
- package/dist/chunk-BHT7QK4G.js +162 -0
- package/dist/{chunk-6JUBZBMW.js → chunk-BIGDQDHD.js} +6 -4
- package/dist/{chunk-2BFCZ3RK.js → chunk-BO4KX37X.js} +20 -18
- package/dist/chunk-BPK5P77O.js +115 -0
- package/dist/chunk-BQ4SQQC6.js +59 -0
- package/dist/chunk-BQGDB6ZL.js +7342 -0
- package/dist/{chunk-2ANOROX3.js → chunk-BTGPE6CR.js} +11 -9
- package/dist/chunk-BTY3HZBO.js +93 -0
- package/dist/{chunk-DPZHZQKE.js → chunk-BXYMYEJ4.js} +44 -10
- package/dist/{chunk-2RMYG36Q.js → chunk-C3RY6KU6.js} +309 -346
- package/dist/chunk-C4R4JLHE.js +40 -0
- package/dist/chunk-CADWLE2T.js +18 -0
- package/dist/chunk-CBGGOQWU.js +82 -0
- package/dist/chunk-CMDXGQTS.js +47 -0
- package/dist/{chunk-MC3H7736.js → chunk-CQDGOPGH.js} +58 -18
- package/dist/{chunk-HFQCFSJR.js → chunk-CX4RZ2KS.js} +4 -3
- package/dist/{chunk-PAMPPUR6.js → chunk-CXJ6FUKN.js} +1852 -207
- package/dist/{chunk-ABWHYWNI.js → chunk-D73UEXYW.js} +3 -3
- package/dist/chunk-DCZWQLYT.js +1205 -0
- package/dist/chunk-DLOBCJL6.js +48 -0
- package/dist/{chunk-4BN53TG3.js → chunk-DOBQKHIF.js} +31 -23
- package/dist/chunk-E3ISYXO3.js +423 -0
- package/dist/{chunk-7SW2QWLU.js → chunk-E6ZIEVOI.js} +16 -13
- package/dist/chunk-EBL2R3YG.js +43 -0
- package/dist/{chunk-AIOQPLA5.js → chunk-EGQRREQH.js} +41 -15
- package/dist/chunk-EHA7RMZ3.js +58 -0
- package/dist/{chunk-M766ZJ6W.js → chunk-EIPTLPFC.js} +38 -27
- package/dist/chunk-EMRIQUND.js +517 -0
- package/dist/{chunk-DFBCSHVT.js → chunk-EPCJQQWD.js} +6 -4
- package/dist/{chunk-RZPYKDWS.js → chunk-F3P7N7SF.js} +1 -1
- package/dist/{chunk-R77KLRB3.js → chunk-FFLNS6VP.js} +21 -18
- package/dist/chunk-FFTRTL6R.js +26 -0
- package/dist/{chunk-IHMLFRVV.js → chunk-FPJPLKDW.js} +62 -16
- package/dist/{chunk-JCZIKA4C.js → chunk-FSMSFDLD.js} +5 -4
- package/dist/{chunk-AVJDSJ2F.js → chunk-FUJM6RTF.js} +8 -7
- package/dist/chunk-FZOJFH7Q.js +132 -0
- package/dist/{chunk-QRAOANID.js → chunk-G6X77UJZ.js} +23 -21
- package/dist/{chunk-3ALD2W2A.js → chunk-GCWRWSU7.js} +10 -4
- package/dist/chunk-GIW4ZVDB.js +39 -0
- package/dist/{chunk-B2WLAWNJ.js → chunk-GUX3PTYM.js} +3 -3
- package/dist/{chunk-DPUYDDQG.js → chunk-GZY6RUZ6.js} +25 -3
- package/dist/chunk-H4VO6WG3.js +10 -0
- package/dist/{chunk-MMOSZPWJ.js → chunk-H5HBGNXU.js} +5 -4
- package/dist/chunk-H7KM7LZE.js +229 -0
- package/dist/{chunk-AA6YULYB.js → chunk-HNM2YQT2.js} +7 -7
- package/dist/{chunk-3C7EYRFZ.js → chunk-HYU5VLGA.js} +1 -1
- package/dist/{chunk-XY3P7JW7.js → chunk-IDKCWSM5.js} +1032 -172
- package/dist/chunk-IFKEI4SA.js +237 -0
- package/dist/{chunk-F7HYOUFF.js → chunk-IGOE6KPG.js} +67 -22
- package/dist/{chunk-TDD55CJH.js → chunk-IH2XURVQ.js} +6 -5
- package/dist/chunk-INQHESFB.js +38 -0
- package/dist/chunk-IP74LCOQ.js +57 -0
- package/dist/chunk-IPHHDDC6.js +45 -0
- package/dist/{chunk-T6AIP7H5.js → chunk-ISUAAMGS.js} +110 -153
- package/dist/{chunk-A7UPUQFY.js → chunk-IUPG3UKI.js} +624 -319
- package/dist/{chunk-L6SGQIR3.js → chunk-IVBOQAGB.js} +7 -3
- package/dist/{chunk-27NKUS3X.js → chunk-J2JAKCIW.js} +2205 -796
- package/dist/{chunk-V2YTAIQO.js → chunk-J3IOLXWM.js} +24 -7
- package/dist/chunk-JA5FI3QV.js +142 -0
- package/dist/chunk-JAVI7JSP.js +49 -0
- package/dist/{chunk-HLJAXMM4.js → chunk-JB5LINEM.js} +6 -2
- package/dist/{chunk-2VHF7OXM.js → chunk-JENSEMXF.js} +1 -1
- package/dist/{chunk-6BVONWJ7.js → chunk-JJF6HALY.js} +4 -3
- package/dist/chunk-JLUCKAEL.js +38 -0
- package/dist/chunk-JRBFANFE.js +221 -0
- package/dist/{chunk-R6XF6UR3.js → chunk-KDNTAPLX.js} +4 -4
- package/dist/chunk-KFAVQZSX.js +33 -0
- package/dist/chunk-KJXD4PNL.js +50 -0
- package/dist/chunk-KN5BXMWN.js +44 -0
- package/dist/{chunk-PCVDV3UZ.js → chunk-KQGURXFU.js} +9 -7
- package/dist/{chunk-WY6PP6AA.js → chunk-KXITGYLF.js} +40 -6
- package/dist/{chunk-66YVAGGM.js → chunk-L27SV425.js} +22 -20
- package/dist/{chunk-NE2W3OO7.js → chunk-LDLL7LB3.js} +24 -22
- package/dist/chunk-LFGTYX5U.js +379 -0
- package/dist/{chunk-EYWIDJFU.js → chunk-LGBMTVNT.js} +7 -5
- package/dist/{chunk-Q5AMFEWD.js → chunk-LGFL54FP.js} +3 -2
- package/dist/{chunk-6TACQN3N.js → chunk-LJXMYKZJ.js} +7 -5
- package/dist/{chunk-BKVWTZ6A.js → chunk-LKOR5UET.js} +29 -26
- package/dist/chunk-LNBQOP7D.js +294 -0
- package/dist/{chunk-O3WI5KWW.js → chunk-LO6P2VYG.js} +2 -2
- package/dist/chunk-LQJPN536.js +122 -0
- package/dist/{chunk-YEDDOYSC.js → chunk-LYBNHMVZ.js} +29 -5
- package/dist/{chunk-A3GY6SOA.js → chunk-LZ7NUC62.js} +20 -18
- package/dist/chunk-M32BLWDH.js +37 -0
- package/dist/{chunk-VYDBJ73M.js → chunk-M3NANSDZ.js} +17 -15
- package/dist/chunk-MFHL5URL.js +31 -0
- package/dist/chunk-MFR5OPBD.js +109 -0
- package/dist/{chunk-DE76JROX.js → chunk-MG4ZL5RW.js} +32 -20
- package/dist/{chunk-N7IXEHK3.js → chunk-MO6P2JZH.js} +10 -8
- package/dist/{chunk-65NYPGRC.js → chunk-MUWDB4R4.js} +1 -1
- package/dist/chunk-MZCGSXVR.js +34 -0
- package/dist/{chunk-MGYZM27B.js → chunk-N3XIYPU3.js} +51 -23
- package/dist/chunk-NDCF4R6S.js +172 -0
- package/dist/{chunk-DHPACDG7.js → chunk-NR2UJWOC.js} +10 -8
- package/dist/chunk-NXJ5URP6.js +51 -0
- package/dist/{chunk-UNM6ZOKP.js → chunk-NY2XSR5K.js} +147 -18
- package/dist/{chunk-5GDRCDQB.js → chunk-O45HFTFS.js} +3 -2
- package/dist/{chunk-ONLS5QA5.js → chunk-O4GXGGBX.js} +14 -12
- package/dist/chunk-O5PXQR67.js +249 -0
- package/dist/{chunk-PRPPGYZG.js → chunk-O66DM6DJ.js} +6 -4
- package/dist/{chunk-KEM4SDDP.js → chunk-O7FDLW7L.js} +11 -8
- package/dist/{chunk-T2UYZSCQ.js → chunk-O7XLYEFA.js} +169 -29
- package/dist/{chunk-FITWGOJ2.js → chunk-OHNCWBKF.js} +4 -4
- package/dist/{chunk-652QWTLZ.js → chunk-OHVTTOPS.js} +3 -3
- package/dist/chunk-OMI6FPPN.js +43 -0
- package/dist/chunk-ONUPY3H6.js +53 -0
- package/dist/chunk-OTLDSZDV.js +69 -0
- package/dist/chunk-OUBGGKDU.js +22 -0
- package/dist/chunk-OWNCM4ZN.js +330 -0
- package/dist/{chunk-YISXLPHN.js → chunk-P2V7QW4D.js} +235 -35
- package/dist/{chunk-CNUKCS2T.js → chunk-P32RUW3B.js} +1632 -93
- package/dist/{chunk-BWZ77RQT.js → chunk-PAQ2AS5E.js} +1 -1
- package/dist/{chunk-ZMAINWBW.js → chunk-PBPBMP2B.js} +4 -3
- package/dist/{chunk-ZVM6AKKM.js → chunk-PJSJPMJI.js} +3 -3
- package/dist/{chunk-EFHQ3TWP.js → chunk-PKBHS4AA.js} +233 -56
- package/dist/{chunk-GT4I4ZWM.js → chunk-PMUAJGLI.js} +20 -16
- package/dist/chunk-PPD7HTDP.js +152 -0
- package/dist/chunk-PSOFBQWB.js +42 -0
- package/dist/{chunk-S2A7YC3Q.js → chunk-Q2TECDIT.js} +10694 -8896
- package/dist/chunk-Q4K5WB2W.js +42 -0
- package/dist/{chunk-UGLN7QHV.js → chunk-Q6DFNVRJ.js} +14 -12
- package/dist/chunk-QA4O2GGC.js +265 -0
- package/dist/chunk-QAXW2N3B.js +1216 -0
- package/dist/chunk-QBNWF5ZU.js +19 -0
- package/dist/chunk-QFWA2DPH.js +224 -0
- package/dist/{chunk-23W7VWKR.js → chunk-QKUJMING.js} +1363 -114
- package/dist/{chunk-NXFPS2LR.js → chunk-R44CYFPV.js} +16 -13
- package/dist/{chunk-CKSITVS4.js → chunk-R7NYHMUU.js} +2687 -786
- package/dist/chunk-REWWDVQB.js +162 -0
- package/dist/{chunk-JMSCMUCA.js → chunk-RGERPOIV.js} +145 -21
- package/dist/{chunk-6JCPI55B.js → chunk-RLDGWLQ7.js} +49 -7
- package/dist/chunk-RUGXBPWI.js +384 -0
- package/dist/{chunk-CPA6HPVR.js → chunk-RXPJMEOW.js} +18 -12
- package/dist/{chunk-3HI6Z55Y.js → chunk-S4PMJU6H.js} +339 -43
- package/dist/chunk-S5LSDXV4.js +40 -0
- package/dist/chunk-S7FCV7S5.js +51 -0
- package/dist/{chunk-5GGOLAKC.js → chunk-SDKLKB6I.js} +28 -26
- package/dist/chunk-SFSPGFCV.js +62 -0
- package/dist/{chunk-ZNCEKR4J.js → chunk-SFUP7TTO.js} +12 -8
- package/dist/{chunk-64EQYWCA.js → chunk-SLXZOMA6.js} +69 -19
- package/dist/chunk-SQV37XO2.js +273 -0
- package/dist/{chunk-K65BJIMT.js → chunk-SU74NDMQ.js} +19 -17
- package/dist/chunk-SYV5LHML.js +165 -0
- package/dist/chunk-T4YPZIQN.js +36 -0
- package/dist/chunk-T6DQR5TV.js +323 -0
- package/dist/{chunk-JIITQXFB.js → chunk-THDMSZ3R.js} +3075 -802
- package/dist/{chunk-JGZCG5VM.js → chunk-TNR75OXT.js} +7 -7
- package/dist/{chunk-D3PO4DOZ.js → chunk-TUULXQRW.js} +174 -15
- package/dist/chunk-TYQBFTBR.js +516 -0
- package/dist/chunk-U76OWS3Q.js +49 -0
- package/dist/{chunk-YYQN46FY.js → chunk-UCROWG2D.js} +27 -24
- package/dist/{chunk-6M5NK3K3.js → chunk-UF4AZOZB.js} +50 -10
- package/dist/chunk-UF4GLFBX.js +345 -0
- package/dist/{chunk-OT2O76OS.js → chunk-UGUP3ZM6.js} +240 -39
- package/dist/chunk-UNAGJYET.js +45 -0
- package/dist/{chunk-5WG5YP4T.js → chunk-UOR2DTHH.js} +16 -14
- package/dist/{chunk-S3QNRWYR.js → chunk-UPOY4YSQ.js} +14 -12
- package/dist/{chunk-EPTBZ3GP.js → chunk-UPS2DGFC.js} +1 -1
- package/dist/{chunk-4AK7IBVP.js → chunk-UUU4CLJG.js} +4 -2
- package/dist/{chunk-W3BQAZ3Q.js → chunk-UWMJKX5U.js} +14 -12
- package/dist/{chunk-QZSX3F7C.js → chunk-UWOJLHFT.js} +27 -23
- package/dist/chunk-VBTP56CE.js +535 -0
- package/dist/chunk-VCTWPLAO.js +211 -0
- package/dist/chunk-VNU26RCO.js +1215 -0
- package/dist/{chunk-CSZ4C5N6.js → chunk-VTZMAJ3W.js} +93 -10
- package/dist/{chunk-TXLH6WHQ.js → chunk-VW62D6QE.js} +14 -12
- package/dist/{chunk-CAQZUNOH.js → chunk-VY72R2XZ.js} +610 -3
- package/dist/{chunk-2DIQQJCB.js → chunk-VZALIKIF.js} +18 -15
- package/dist/{chunk-TYAID7B7.js → chunk-W62H2XSO.js} +25 -23
- package/dist/{chunk-HVUPKCGJ.js → chunk-W7VWI2YH.js} +9 -6
- package/dist/{chunk-TANFV3MZ.js → chunk-WERM6KPJ.js} +7 -4
- package/dist/{chunk-BOHJZTEQ.js → chunk-WF7B67YE.js} +208 -87
- package/dist/{chunk-7FBGJFEE.js → chunk-WG5U3F5V.js} +14 -12
- package/dist/{chunk-4NDAAFQT.js → chunk-WJF2CS6M.js} +8 -5
- package/dist/{chunk-XAKWMCXI.js → chunk-WKUJ3KPV.js} +4 -4
- package/dist/chunk-WMTRHUI5.js +103 -0
- package/dist/chunk-WNKPRSGI.js +36 -0
- package/dist/chunk-WXFLMQSR.js +223 -0
- package/dist/{chunk-RRTKKSLQ.js → chunk-X3WY6MN3.js} +8 -6
- package/dist/{chunk-ZCJDOK2S.js → chunk-X4CXA2IL.js} +47 -23
- package/dist/{chunk-UBBC2XSG.js → chunk-X5F3Q5LV.js} +560 -105
- package/dist/{chunk-C6EKFH7J.js → chunk-XD75VZIH.js} +9 -7
- package/dist/chunk-XERYFDB5.js +297 -0
- package/dist/chunk-XI2LCCYQ.js +420 -0
- package/dist/chunk-Y2EQNWKV.js +933 -0
- package/dist/{chunk-LR3R6Z2A.js → chunk-YHCMZC2J.js} +7 -7
- package/dist/chunk-YYY3AZFE.js +122 -0
- package/dist/{chunk-GDLULHTC.js → chunk-Z5IA3WDR.js} +19 -31
- package/dist/{chunk-T6XQL73F.js → chunk-ZFFYNRIO.js} +63 -23
- package/dist/{chunk-EDS2L2LD.js → chunk-ZFL7NY4F.js} +56 -27
- package/dist/{chunk-YMZ3TNYB.js → chunk-ZGULQAPZ.js} +7 -4
- package/dist/{chunk-4SKZDI62.js → chunk-ZIUFM5HT.js} +3 -1
- package/dist/{chunk-DKJA76CJ.js → chunk-ZJFRMSJT.js} +15 -13
- package/dist/chunk-ZJXLNDH4.js +239 -0
- package/dist/chunk-ZQ3ON2VQ.js +252 -0
- package/dist/{chunk-HITVBIJS.js → chunk-ZQ7SKESZ.js} +150 -415
- package/dist/{chunk-6QSERWXH.js → chunk-ZQXZ2SES.js} +24 -21
- package/dist/chunk-ZX57KSEQ.js +39 -0
- package/dist/{chunk-I3E7CX4H.js → chunk-ZZK56BLP.js} +5 -3
- package/dist/files.json +664 -368
- package/dist/packages/naysayer/constitution/constitution.yaml +19 -0
- package/dist/packages/sdk/npm/index.js +6194 -2542
- package/dist/packages/ui/dist/assets/{elk-api-tma0MCuh.js → elk-api-CIf-0gz5.js} +2 -2
- package/dist/packages/ui/dist/assets/index-CoK_Dl0D.js +47 -0
- package/dist/packages/ui/dist/assets/index-Dw20IRhQ.css +1 -0
- package/dist/packages/ui/dist/index.html +3 -2
- package/package.json +5 -5
- package/dist/chunk-2BF2EYJV.js +0 -174
- package/dist/chunk-42EVSKME.js +0 -37
- package/dist/chunk-4BKGMUIK.js +0 -53
- package/dist/chunk-5KLGBXG5.js +0 -48
- package/dist/chunk-6BNC6EQ4.js +0 -41
- package/dist/chunk-6D2CQ5II.js +0 -41
- package/dist/chunk-7AVHLZGD.js +0 -45
- package/dist/chunk-D46WUV3T.js +0 -33
- package/dist/chunk-E36QOJMD.js +0 -47
- package/dist/chunk-FQXYPF7E.js +0 -147
- package/dist/chunk-GBRFVT63.js +0 -45
- package/dist/chunk-ICY36XCH.js +0 -34
- package/dist/chunk-J4K3KVLD.js +0 -131
- package/dist/chunk-JZU3H6UQ.js +0 -54
- package/dist/chunk-NN2ZQEB4.js +0 -38
- package/dist/chunk-PCOCACY3.js +0 -385
- package/dist/chunk-RTEYOSJY.js +0 -29
- package/dist/chunk-RUVFXE2L.js +0 -666
- package/dist/chunk-RVH5SUW5.js +0 -69
- package/dist/chunk-VN3DP4LQ.js +0 -43
- package/dist/chunk-W5BVQF44.js +0 -36
- package/dist/chunk-WVPJSRRJ.js +0 -52
- package/dist/chunk-XPTOBS2D.js +0 -48
- package/dist/packages/ui/dist/assets/index-B54fm9FQ.js +0 -29
- package/dist/packages/ui/dist/assets/index-DD_hufQz.css +0 -1
|
@@ -5,13 +5,16 @@ var __atticusUrl = (p) => new URL("./" + p, import.meta.url).href;
|
|
|
5
5
|
var __atticusPath = (p) => __atticusFileURLToPath(__atticusUrl(p));
|
|
6
6
|
import {
|
|
7
7
|
parseXml
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CQDGOPGH.js";
|
|
9
9
|
import {
|
|
10
|
+
JOINED_BY_PERSON,
|
|
10
11
|
ZipError,
|
|
11
12
|
peekZip,
|
|
12
|
-
readZip
|
|
13
|
+
readZip
|
|
14
|
+
} from "./chunk-Q2TECDIT.js";
|
|
15
|
+
import {
|
|
13
16
|
require_dist
|
|
14
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-BQGDB6ZL.js";
|
|
15
18
|
import {
|
|
16
19
|
__toESM
|
|
17
20
|
} from "./chunk-TV45EUGM.js";
|
|
@@ -92,9 +95,9 @@ function isoDate(value) {
|
|
|
92
95
|
return !Number.isNaN(d.getTime()) && d.toISOString().startsWith(m[0]) ? m[0] : void 0;
|
|
93
96
|
}
|
|
94
97
|
function sourceDocument(fileName, content, docType, source, meta = {}) {
|
|
95
|
-
const
|
|
96
|
-
const version =
|
|
97
|
-
const author =
|
|
98
|
+
const clean2 = (s) => s && s.trim() ? s.trim() : void 0;
|
|
99
|
+
const version = clean2(meta.version);
|
|
100
|
+
const author = clean2(meta.author);
|
|
98
101
|
return {
|
|
99
102
|
schemaVersion: 1,
|
|
100
103
|
kind: "SourceDocument",
|
|
@@ -630,7 +633,7 @@ function reconcile(input) {
|
|
|
630
633
|
add({
|
|
631
634
|
key: i.id,
|
|
632
635
|
type: "code-only",
|
|
633
|
-
summary: `In code ${i.from} ${what} ${i.to}${i.sync === "async" ? "" : ` (${i.method ?? ""} ${i.normalizedPath}`.trimEnd() + ")"}${i.confidence === "inferred" ? ", seen at one end only" : ""}; the diagram doesn't show it.`,
|
|
636
|
+
summary: `In code ${i.from} ${what} ${i.to}${i.sync === "async" ? "" : ` (${i.method ?? ""} ${i.normalizedPath}`.trimEnd() + ")"}${i.confidence === "inferred" && !i.flags?.includes(JOINED_BY_PERSON) ? ", seen at one end only" : ""}; the diagram doesn't show it.`,
|
|
634
637
|
records: [i.id],
|
|
635
638
|
suggestion: {
|
|
636
639
|
text: `Add it to the diagram, or record why it is left out`,
|
|
@@ -1739,7 +1742,7 @@ function readHtml(src) {
|
|
|
1739
1742
|
}
|
|
1740
1743
|
if (!meta.date)
|
|
1741
1744
|
delete meta.date;
|
|
1742
|
-
const
|
|
1745
|
+
const clean2 = src.replace(/<!--[\s\S]*?-->/g, blank).replace(/<!\[CDATA\[[\s\S]*?\]\]>/g, blank).replace(/<![^>]*>|<\?[\s\S]*?\?>/g, blank).replace(/<(script|style|noscript|template|svg)\b[\s\S]*?<\/\1\s*>/gi, blank).replace(/<head\b[\s\S]*?<\/head\s*>/gi, blank);
|
|
1743
1746
|
const s = new Sections();
|
|
1744
1747
|
const tables = [];
|
|
1745
1748
|
let line = "";
|
|
@@ -1752,7 +1755,7 @@ function readHtml(src) {
|
|
|
1752
1755
|
let lineNo = 1;
|
|
1753
1756
|
const lineAt = (to) => {
|
|
1754
1757
|
for (; pos < to; pos++)
|
|
1755
|
-
if (
|
|
1758
|
+
if (clean2.charCodeAt(pos) === 10)
|
|
1756
1759
|
lineNo++;
|
|
1757
1760
|
return lineNo;
|
|
1758
1761
|
};
|
|
@@ -1779,8 +1782,8 @@ function readHtml(src) {
|
|
|
1779
1782
|
line += t;
|
|
1780
1783
|
}
|
|
1781
1784
|
};
|
|
1782
|
-
for (let m = tag.exec(
|
|
1783
|
-
text(
|
|
1785
|
+
for (let m = tag.exec(clean2); m; m = tag.exec(clean2)) {
|
|
1786
|
+
text(clean2.slice(last, m.index), last);
|
|
1784
1787
|
last = tag.lastIndex;
|
|
1785
1788
|
const close = m[1] === "/";
|
|
1786
1789
|
const name = m[2].toLowerCase();
|
|
@@ -1832,7 +1835,7 @@ function readHtml(src) {
|
|
|
1832
1835
|
else if (BLOCK.has(name) && !heading && cell === void 0)
|
|
1833
1836
|
flush();
|
|
1834
1837
|
}
|
|
1835
|
-
text(
|
|
1838
|
+
text(clean2.slice(last), last);
|
|
1836
1839
|
flush();
|
|
1837
1840
|
return {
|
|
1838
1841
|
...title ? { title } : {},
|
|
@@ -1884,7 +1887,11 @@ function wordText(p) {
|
|
|
1884
1887
|
out += "\n";
|
|
1885
1888
|
else if (c.name === "noBreakHyphen")
|
|
1886
1889
|
out += "-";
|
|
1887
|
-
else if (c.name
|
|
1890
|
+
else if (c.name === "AlternateContent") {
|
|
1891
|
+
const one = elements(c).find((x) => x.name === "Choice") ?? elements(c).find((x) => x.name === "Fallback");
|
|
1892
|
+
if (one)
|
|
1893
|
+
walk(one);
|
|
1894
|
+
} else if (c.name !== "pPr" && c.name !== "rPr" && c.name !== "del" && c.name !== "moveFrom")
|
|
1888
1895
|
walk(c);
|
|
1889
1896
|
}
|
|
1890
1897
|
};
|
|
@@ -2036,29 +2043,60 @@ var colIndex = (ref2) => {
|
|
|
2036
2043
|
return n - 1;
|
|
2037
2044
|
};
|
|
2038
2045
|
var stringItem = (si) => elements(si).flatMap((c) => c.name === "t" ? [c] : c.name === "r" ? childrenNamed(c, "t") : []).map(textOf).join("");
|
|
2039
|
-
function readXlsx(zip) {
|
|
2046
|
+
function readXlsx(zip, maxCells = MAX_CELLS) {
|
|
2040
2047
|
const wb = need(zip, "xl/workbook.xml");
|
|
2041
2048
|
const rels = relationships(zip.text("xl/_rels/workbook.xml.rels"));
|
|
2042
2049
|
const shared = childrenNamed(parseXmlTree(zip.text("xl/sharedStrings.xml") ?? ""), "si").map(stringItem);
|
|
2043
2050
|
const { title, meta } = coreProps(zip);
|
|
2044
2051
|
const s = new Sections();
|
|
2045
2052
|
const tables = [];
|
|
2053
|
+
const notes = [];
|
|
2054
|
+
let budget = maxCells;
|
|
2055
|
+
let unread = false;
|
|
2046
2056
|
findAll(child(wb, "sheets"), "sheet").forEach((sheet, i) => {
|
|
2057
|
+
const name = sheet.attrs.name ?? `Sheet ${i + 1}`;
|
|
2047
2058
|
const target = rels.get(relId(sheet) ?? "");
|
|
2048
2059
|
const part = target ? resolvePart("xl", target) : void 0;
|
|
2049
2060
|
const doc = part ? parseXmlTree(zip.text(part) ?? "") : void 0;
|
|
2050
2061
|
const rows = [];
|
|
2051
2062
|
let prev;
|
|
2063
|
+
let squeezed = false;
|
|
2052
2064
|
for (const row of findAll(child(doc, "sheetData"), "row")) {
|
|
2065
|
+
if (budget <= 0) {
|
|
2066
|
+
if (childrenNamed(row, "c").length)
|
|
2067
|
+
unread = true;
|
|
2068
|
+
if (unread)
|
|
2069
|
+
break;
|
|
2070
|
+
continue;
|
|
2071
|
+
}
|
|
2053
2072
|
const r = Number(row.attrs.r) || (prev ?? 0) + 1;
|
|
2073
|
+
if (r > EXCEL_ROWS) {
|
|
2074
|
+
notes.push(`${name}: row ${r} is past Excel's last row; skipped.`);
|
|
2075
|
+
continue;
|
|
2076
|
+
}
|
|
2054
2077
|
if (prev !== void 0)
|
|
2055
|
-
for (let k = prev + 1; k < r; k++)
|
|
2078
|
+
for (let k = prev + 1; k < Math.min(r, prev + 1 + MAX_GAP); k++)
|
|
2056
2079
|
rows.push([]);
|
|
2057
2080
|
prev = r;
|
|
2058
2081
|
const cells2 = [];
|
|
2059
2082
|
let next = 0;
|
|
2083
|
+
let shift = 0;
|
|
2060
2084
|
for (const c of childrenNamed(row, "c")) {
|
|
2061
|
-
const
|
|
2085
|
+
const col = c.attrs.r ? colIndex(c.attrs.r) : next;
|
|
2086
|
+
if (col >= EXCEL_COLUMNS)
|
|
2087
|
+
continue;
|
|
2088
|
+
if (budget <= 0) {
|
|
2089
|
+
unread = true;
|
|
2090
|
+
break;
|
|
2091
|
+
}
|
|
2092
|
+
budget--;
|
|
2093
|
+
next = col + 1;
|
|
2094
|
+
let at = Math.max(0, col - shift);
|
|
2095
|
+
if (at - cells2.length > MAX_GAP) {
|
|
2096
|
+
shift += at - cells2.length - MAX_GAP;
|
|
2097
|
+
at = cells2.length + MAX_GAP;
|
|
2098
|
+
squeezed = true;
|
|
2099
|
+
}
|
|
2062
2100
|
const v = textOf(child(c, "v"));
|
|
2063
2101
|
let value;
|
|
2064
2102
|
switch (c.attrs.t) {
|
|
@@ -2077,31 +2115,61 @@ function readXlsx(zip) {
|
|
|
2077
2115
|
while (cells2.length < at)
|
|
2078
2116
|
cells2.push("");
|
|
2079
2117
|
cells2[at] = value;
|
|
2080
|
-
next = at + 1;
|
|
2081
2118
|
}
|
|
2082
2119
|
while (cells2.length && cells2.at(-1) === "")
|
|
2083
2120
|
cells2.pop();
|
|
2084
2121
|
rows.push(cells2);
|
|
2085
2122
|
}
|
|
2123
|
+
if (squeezed)
|
|
2124
|
+
notes.push(`${name}: more than ${MAX_GAP} blank columns between cells were left out.`);
|
|
2086
2125
|
tables.push(rows);
|
|
2087
|
-
s.heading(
|
|
2126
|
+
s.heading(name, 1, { page: i + 1 });
|
|
2088
2127
|
for (const r of rows)
|
|
2089
2128
|
s.add(r.join(" "));
|
|
2090
2129
|
});
|
|
2091
|
-
|
|
2130
|
+
if (unread)
|
|
2131
|
+
notes.push(`The workbook has more than ${maxCells} cells; the rest wasn't read.`);
|
|
2132
|
+
return { ...title ? { title } : {}, sections: s.done(), tables, meta, notes };
|
|
2092
2133
|
}
|
|
2134
|
+
var EXCEL_ROWS = 1048576;
|
|
2135
|
+
var EXCEL_COLUMNS = 16384;
|
|
2136
|
+
var MAX_GAP = 1e3;
|
|
2137
|
+
var MAX_CELLS = 2e6;
|
|
2093
2138
|
|
|
2094
2139
|
// packages/ingestors/dist/pdf.js
|
|
2095
2140
|
import { constants, inflateSync } from "node:zlib";
|
|
2096
2141
|
var NO_TEXT = "No text was found in this PDF. It may be a scanned image, so a person needs to read it.";
|
|
2097
2142
|
var MAX_STREAM = 64 * 1024 * 1024;
|
|
2143
|
+
var MAX_DECODED = 256 * 1024 * 1024;
|
|
2144
|
+
var MAX_PACKED = 1e5;
|
|
2145
|
+
var MAX_PAGES = 1e4;
|
|
2146
|
+
var MAX_TEXT = 64 * 1024 * 1024;
|
|
2098
2147
|
var refs = (s) => [...s.matchAll(/(\d+)\s+\d+\s+R\b/g)].map((m) => Number(m[1]));
|
|
2099
2148
|
var ref = (dict, key) => {
|
|
2100
2149
|
const m = new RegExp(`/${key}\\s+(\\d+)\\s+\\d+\\s+R\\b`).exec(dict);
|
|
2101
2150
|
return m ? Number(m[1]) : void 0;
|
|
2102
2151
|
};
|
|
2103
2152
|
var isType = (dict, type) => new RegExp(`/Type\\s*/${type}(?![A-Za-z])`).test(dict);
|
|
2104
|
-
|
|
2153
|
+
var tooMuch = () => new ReadError(`This PDF's streams inflate to more than ${MAX_DECODED / 1024 / 1024} MB, so it isn't read`);
|
|
2154
|
+
function decodeStream(o, d) {
|
|
2155
|
+
if (d.cache.has(o))
|
|
2156
|
+
return d.cache.get(o);
|
|
2157
|
+
if (o.stream && d.left <= 0)
|
|
2158
|
+
throw tooMuch();
|
|
2159
|
+
const max = Math.min(MAX_STREAM, d.left);
|
|
2160
|
+
const out = decodeOnce(o, max);
|
|
2161
|
+
if (out === "too-big") {
|
|
2162
|
+
if (max < MAX_STREAM)
|
|
2163
|
+
throw tooMuch();
|
|
2164
|
+
d.cache.set(o, void 0);
|
|
2165
|
+
return void 0;
|
|
2166
|
+
}
|
|
2167
|
+
d.cache.set(o, out);
|
|
2168
|
+
if (out)
|
|
2169
|
+
d.left -= out.length;
|
|
2170
|
+
return out;
|
|
2171
|
+
}
|
|
2172
|
+
function decodeOnce(o, max) {
|
|
2105
2173
|
if (!o.stream)
|
|
2106
2174
|
return void 0;
|
|
2107
2175
|
const filter = /\/Filter\s*(\[[^\]]*\]|\/\w+)/.exec(o.dict)?.[1];
|
|
@@ -2110,20 +2178,23 @@ function decodeStream(o) {
|
|
|
2110
2178
|
const names = filter.match(/\/\w+/g) ?? [];
|
|
2111
2179
|
if (names.length !== 1 || names[0] !== "/FlateDecode")
|
|
2112
2180
|
return void 0;
|
|
2181
|
+
const big = (e) => e.code === "ERR_BUFFER_TOO_LARGE";
|
|
2113
2182
|
try {
|
|
2114
|
-
return inflateSync(o.stream, { maxOutputLength:
|
|
2115
|
-
} catch {
|
|
2183
|
+
return inflateSync(o.stream, { maxOutputLength: max });
|
|
2184
|
+
} catch (e) {
|
|
2185
|
+
if (big(e))
|
|
2186
|
+
return "too-big";
|
|
2116
2187
|
try {
|
|
2117
2188
|
return inflateSync(o.stream, {
|
|
2118
2189
|
finishFlush: constants.Z_SYNC_FLUSH,
|
|
2119
|
-
maxOutputLength:
|
|
2190
|
+
maxOutputLength: max
|
|
2120
2191
|
});
|
|
2121
|
-
} catch {
|
|
2122
|
-
return void 0;
|
|
2192
|
+
} catch (e2) {
|
|
2193
|
+
return big(e2) ? "too-big" : void 0;
|
|
2123
2194
|
}
|
|
2124
2195
|
}
|
|
2125
2196
|
}
|
|
2126
|
-
function objects(src, bytes) {
|
|
2197
|
+
function objects(src, bytes, d) {
|
|
2127
2198
|
const out = /* @__PURE__ */ new Map();
|
|
2128
2199
|
const re = /(\d+)\s+(\d+)\s+obj\b/g;
|
|
2129
2200
|
for (let m = re.exec(src); m; m = re.exec(src)) {
|
|
@@ -2156,12 +2227,14 @@ function objects(src, bytes) {
|
|
|
2156
2227
|
for (const o of [...out.values()]) {
|
|
2157
2228
|
if (!isType(o.dict, "ObjStm"))
|
|
2158
2229
|
continue;
|
|
2159
|
-
const data = decodeStream(o)?.toString("latin1");
|
|
2160
|
-
const n = Number(/\/N\s+(\d+)/.exec(o.dict)?.[1] ?? 0);
|
|
2230
|
+
const data = decodeStream(o, d)?.toString("latin1");
|
|
2161
2231
|
const first = Number(/\/First\s+(\d+)/.exec(o.dict)?.[1] ?? 0);
|
|
2162
|
-
if (!data
|
|
2232
|
+
if (!data)
|
|
2163
2233
|
continue;
|
|
2164
2234
|
const head = data.slice(0, first).trim().split(/\s+/).map(Number);
|
|
2235
|
+
const n = Math.min(Number(/\/N\s+(\d+)/.exec(o.dict)?.[1] ?? 0), Math.floor(head.length / 2), MAX_PACKED);
|
|
2236
|
+
if (!n)
|
|
2237
|
+
continue;
|
|
2165
2238
|
for (let k = 0; k < n; k++) {
|
|
2166
2239
|
const num = head[2 * k];
|
|
2167
2240
|
const off = first + head[2 * k + 1];
|
|
@@ -2230,28 +2303,86 @@ function readLiteral(src, i) {
|
|
|
2230
2303
|
return [src.slice(i, k), k + 1];
|
|
2231
2304
|
}
|
|
2232
2305
|
function hexBytes(h) {
|
|
2233
|
-
const
|
|
2234
|
-
const even =
|
|
2306
|
+
const clean2 = h.replace(/[^0-9a-fA-F]/g, "");
|
|
2307
|
+
const even = clean2.length % 2 ? clean2 + "0" : clean2;
|
|
2235
2308
|
const out = [];
|
|
2236
2309
|
for (let i = 0; i < even.length; i += 2)
|
|
2237
2310
|
out.push(parseInt(even.slice(i, i + 2), 16));
|
|
2238
2311
|
return out;
|
|
2239
2312
|
}
|
|
2240
|
-
function
|
|
2313
|
+
function parseToUnicode(cmap) {
|
|
2314
|
+
const map = /* @__PURE__ */ new Map();
|
|
2315
|
+
const utf16 = (h) => {
|
|
2316
|
+
const b = hexBytes(h);
|
|
2317
|
+
let out = "";
|
|
2318
|
+
for (let i = 0; i + 1 < b.length; i += 2)
|
|
2319
|
+
out += String.fromCharCode(b[i] << 8 | b[i + 1]);
|
|
2320
|
+
return out;
|
|
2321
|
+
};
|
|
2322
|
+
const space = /begincodespacerange\s*<([0-9a-fA-F]+)>/.exec(cmap)?.[1];
|
|
2323
|
+
const bytes = space && space.length <= 2 ? 1 : 2;
|
|
2324
|
+
for (const block of cmap.matchAll(/beginbfchar([\s\S]*?)endbfchar/g))
|
|
2325
|
+
for (const m of block[1].matchAll(/<([0-9a-fA-F]+)>\s*<([0-9a-fA-F]*)>/g))
|
|
2326
|
+
map.set(parseInt(m[1], 16), utf16(m[2]));
|
|
2327
|
+
for (const block of cmap.matchAll(/beginbfrange([\s\S]*?)endbfrange/g))
|
|
2328
|
+
for (const m of block[1].matchAll(/<([0-9a-fA-F]+)>\s*<([0-9a-fA-F]+)>\s*(?:<([0-9a-fA-F]*)>|\[([^\]]*)\])/g)) {
|
|
2329
|
+
const lo = parseInt(m[1], 16);
|
|
2330
|
+
const hi = Math.min(parseInt(m[2], 16), lo + 65535);
|
|
2331
|
+
if (m[3] !== void 0) {
|
|
2332
|
+
const start = utf16(m[3]);
|
|
2333
|
+
const last = start.charCodeAt(start.length - 1);
|
|
2334
|
+
for (let c = lo; c <= hi; c++)
|
|
2335
|
+
map.set(c, start.slice(0, -1) + String.fromCharCode(last + (c - lo)));
|
|
2336
|
+
} else {
|
|
2337
|
+
const each = [...m[4].matchAll(/<([0-9a-fA-F]*)>/g)].map((x) => utf16(x[1]));
|
|
2338
|
+
each.forEach((t, k) => lo + k <= hi && map.set(lo + k, t));
|
|
2339
|
+
}
|
|
2340
|
+
}
|
|
2341
|
+
return { map, bytes };
|
|
2342
|
+
}
|
|
2343
|
+
function fontText(b, f) {
|
|
2344
|
+
if (!f?.map)
|
|
2345
|
+
return bytesText(b);
|
|
2346
|
+
let out = "";
|
|
2347
|
+
for (let i = 0; i < b.length; i += f.bytes) {
|
|
2348
|
+
const code = f.bytes === 2 ? b[i] << 8 | (b[i + 1] ?? 0) : b[i];
|
|
2349
|
+
out += f.map.get(code) ?? (f.bytes === 1 ? String.fromCharCode(code) : "");
|
|
2350
|
+
}
|
|
2351
|
+
return clean(out);
|
|
2352
|
+
}
|
|
2353
|
+
function clean(s) {
|
|
2354
|
+
let out = "";
|
|
2355
|
+
for (const ch of s) {
|
|
2356
|
+
const c = ch.charCodeAt(0);
|
|
2357
|
+
if (c >= 32 ? c !== 127 : c === 9 || c === 10 || c === 13)
|
|
2358
|
+
out += ch;
|
|
2359
|
+
}
|
|
2360
|
+
return out;
|
|
2361
|
+
}
|
|
2362
|
+
function contentText(src, fonts = /* @__PURE__ */ new Map(), said = {}) {
|
|
2241
2363
|
const lines = [];
|
|
2242
2364
|
let cur = "";
|
|
2365
|
+
let font;
|
|
2243
2366
|
const newline = () => {
|
|
2244
2367
|
if (cur.trim())
|
|
2245
2368
|
lines.push(cur.replace(/\s+/g, " ").trim());
|
|
2246
2369
|
cur = "";
|
|
2247
2370
|
};
|
|
2371
|
+
const text = (b) => {
|
|
2372
|
+
if (font?.unreadable) {
|
|
2373
|
+
if (b.length)
|
|
2374
|
+
said.unreadable = true;
|
|
2375
|
+
return "";
|
|
2376
|
+
}
|
|
2377
|
+
return fontText(b, font);
|
|
2378
|
+
};
|
|
2248
2379
|
const show = (tok) => {
|
|
2249
2380
|
if (tok?.t === "str")
|
|
2250
|
-
cur +=
|
|
2381
|
+
cur += text(tok.v);
|
|
2251
2382
|
else if (tok?.t === "arr")
|
|
2252
2383
|
for (const x of tok.v) {
|
|
2253
2384
|
if (x.t === "str")
|
|
2254
|
-
cur +=
|
|
2385
|
+
cur += text(x.v);
|
|
2255
2386
|
else if (x.t === "num" && x.v < -200)
|
|
2256
2387
|
cur += " ";
|
|
2257
2388
|
}
|
|
@@ -2289,7 +2420,7 @@ function contentText(src) {
|
|
|
2289
2420
|
i++;
|
|
2290
2421
|
} else if (c === "/") {
|
|
2291
2422
|
const m = /^\/[^\s/[\]()<>{}%]*/.exec(src.slice(i, i + 128));
|
|
2292
|
-
push({ t: "
|
|
2423
|
+
push({ t: "name", v: m[0].slice(1) });
|
|
2293
2424
|
i += m[0].length;
|
|
2294
2425
|
} else {
|
|
2295
2426
|
const m = /^[+-]?(\d+\.?\d*|\.\d+)/.exec(src.slice(i, i + 32));
|
|
@@ -2323,6 +2454,11 @@ function contentText(src) {
|
|
|
2323
2454
|
lastY = y;
|
|
2324
2455
|
break;
|
|
2325
2456
|
}
|
|
2457
|
+
case "Tf": {
|
|
2458
|
+
const name = stack[stack.length - 2];
|
|
2459
|
+
font = name?.t === "name" ? fonts.get(name.v) : void 0;
|
|
2460
|
+
break;
|
|
2461
|
+
}
|
|
2326
2462
|
case "Tj":
|
|
2327
2463
|
case "TJ":
|
|
2328
2464
|
show(stack.at(-1));
|
|
@@ -2368,7 +2504,13 @@ function pdfDate(s) {
|
|
|
2368
2504
|
function readPdf(bytes) {
|
|
2369
2505
|
const buf = Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
2370
2506
|
const src = buf.toString("latin1");
|
|
2371
|
-
const
|
|
2507
|
+
const decoding = {
|
|
2508
|
+
cache: /* @__PURE__ */ new Map(),
|
|
2509
|
+
texts: /* @__PURE__ */ new Map(),
|
|
2510
|
+
left: MAX_DECODED,
|
|
2511
|
+
textLeft: MAX_TEXT
|
|
2512
|
+
};
|
|
2513
|
+
const objs = objects(src, buf, decoding);
|
|
2372
2514
|
const trailers = [...src.matchAll(/trailer\s*(<<[\s\S]*?>>)/g)].map((m) => m[1]);
|
|
2373
2515
|
for (const o of objs.values())
|
|
2374
2516
|
if (isType(o.dict, "XRef"))
|
|
@@ -2428,18 +2570,109 @@ function readPdf(bytes) {
|
|
|
2428
2570
|
pages2.push(n);
|
|
2429
2571
|
}
|
|
2430
2572
|
const s = new Sections();
|
|
2573
|
+
if (pages2.length > MAX_PAGES) {
|
|
2574
|
+
notes.push(`This PDF has ${pages2.length} pages; the first ${MAX_PAGES} are read.`);
|
|
2575
|
+
pages2.length = MAX_PAGES;
|
|
2576
|
+
}
|
|
2577
|
+
const dictOf = (owner, key) => {
|
|
2578
|
+
const r = ref(owner, key);
|
|
2579
|
+
if (r !== void 0)
|
|
2580
|
+
return objs.get(r)?.dict;
|
|
2581
|
+
const at = new RegExp(`/${key}\\s*<<`).exec(owner);
|
|
2582
|
+
if (!at)
|
|
2583
|
+
return void 0;
|
|
2584
|
+
let depth = 0;
|
|
2585
|
+
for (let k = at.index + at[0].length - 2; k < owner.length - 1; k++) {
|
|
2586
|
+
if (owner[k] === "<" && owner[k + 1] === "<") {
|
|
2587
|
+
depth++;
|
|
2588
|
+
k++;
|
|
2589
|
+
} else if (owner[k] === ">" && owner[k + 1] === ">") {
|
|
2590
|
+
if (--depth === 0)
|
|
2591
|
+
return owner.slice(at.index + at[0].length - 2, k + 2);
|
|
2592
|
+
k++;
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
return void 0;
|
|
2596
|
+
};
|
|
2597
|
+
const fontCache = /* @__PURE__ */ new Map();
|
|
2598
|
+
const fontOf = (no) => {
|
|
2599
|
+
const had = fontCache.get(no);
|
|
2600
|
+
if (had)
|
|
2601
|
+
return had;
|
|
2602
|
+
const d = objs.get(no)?.dict ?? "";
|
|
2603
|
+
const type0 = /\/Subtype\s*\/Type0\b/.test(d);
|
|
2604
|
+
const tu = ref(d, "ToUnicode");
|
|
2605
|
+
const cmap = tu !== void 0 ? objs.get(tu) : void 0;
|
|
2606
|
+
const text = cmap ? decodeStream(cmap, decoding)?.toString("latin1") : void 0;
|
|
2607
|
+
const f = text ? (() => {
|
|
2608
|
+
const t = parseToUnicode(text);
|
|
2609
|
+
return { map: t.map, bytes: type0 ? 2 : 1 };
|
|
2610
|
+
})() : type0 ? { bytes: 2, unreadable: true } : { bytes: 1 };
|
|
2611
|
+
fontCache.set(no, f);
|
|
2612
|
+
return f;
|
|
2613
|
+
};
|
|
2614
|
+
const pageFonts = (pageDict) => {
|
|
2615
|
+
const out = /* @__PURE__ */ new Map();
|
|
2616
|
+
let d = pageDict;
|
|
2617
|
+
for (let up = 0; d && up < 32; up++) {
|
|
2618
|
+
const res = dictOf(d, "Resources");
|
|
2619
|
+
const fd = res ? dictOf(res, "Font") : void 0;
|
|
2620
|
+
if (fd) {
|
|
2621
|
+
for (const m of fd.matchAll(/\/([^\s/[\]()<>{}%]+)\s+(\d+)\s+\d+\s+R\b/g))
|
|
2622
|
+
if (!out.has(m[1]))
|
|
2623
|
+
out.set(m[1], fontOf(Number(m[2])));
|
|
2624
|
+
break;
|
|
2625
|
+
}
|
|
2626
|
+
const parent = ref(d, "Parent");
|
|
2627
|
+
d = parent !== void 0 ? objs.get(parent)?.dict : void 0;
|
|
2628
|
+
}
|
|
2629
|
+
return out;
|
|
2630
|
+
};
|
|
2631
|
+
let unreadablePages = 0;
|
|
2431
2632
|
pages2.forEach((n, i) => {
|
|
2432
2633
|
const dict = objs.get(n).dict;
|
|
2634
|
+
const fonts = pageFonts(dict);
|
|
2635
|
+
const key = [...fonts].map(([k, f]) => `${k}:${f.map ? "m" : f.unreadable ? "u" : "l"}`).join(",");
|
|
2636
|
+
const said = {};
|
|
2433
2637
|
const contents = /\/Contents\s*(\[[^\]]*\]|\d+\s+\d+\s+R)/.exec(dict)?.[1] ?? "";
|
|
2434
2638
|
let streams = refs(contents);
|
|
2435
2639
|
if (streams.length === 1 && !objs.get(streams[0])?.stream)
|
|
2436
2640
|
streams = refs(objs.get(streams[0])?.dict ?? "");
|
|
2437
|
-
const text = streams.map((r) => objs.get(r)).
|
|
2641
|
+
const text = streams.map((r) => objs.get(r)).flatMap((o) => {
|
|
2642
|
+
if (!o)
|
|
2643
|
+
return [];
|
|
2644
|
+
let byFonts = decoding.texts.get(o);
|
|
2645
|
+
if (!byFonts)
|
|
2646
|
+
decoding.texts.set(o, byFonts = /* @__PURE__ */ new Map());
|
|
2647
|
+
let hit = byFonts.get(key);
|
|
2648
|
+
if (!hit) {
|
|
2649
|
+
const t = decodeStream(o, decoding)?.toString("latin1");
|
|
2650
|
+
const one = {};
|
|
2651
|
+
hit = {
|
|
2652
|
+
lines: t === void 0 ? [] : contentText(t, fonts, one),
|
|
2653
|
+
unreadable: !!one.unreadable
|
|
2654
|
+
};
|
|
2655
|
+
byFonts.set(key, hit);
|
|
2656
|
+
}
|
|
2657
|
+
if (hit.unreadable)
|
|
2658
|
+
said.unreadable = true;
|
|
2659
|
+
const lines = hit.lines;
|
|
2660
|
+
decoding.textLeft -= lines.reduce((n2, l) => n2 + l.length, 0);
|
|
2661
|
+
if (decoding.textLeft < 0)
|
|
2662
|
+
throw new ReadError(`This PDF's pages hold more than ${MAX_TEXT / 1024 / 1024} MB of text, so it isn't read`);
|
|
2663
|
+
return lines;
|
|
2664
|
+
});
|
|
2665
|
+
if (said.unreadable)
|
|
2666
|
+
unreadablePages++;
|
|
2438
2667
|
s.heading("", 0, { page: i + 1 });
|
|
2439
2668
|
for (const l of text)
|
|
2440
2669
|
s.add(l);
|
|
2441
2670
|
});
|
|
2442
2671
|
const sections = s.done();
|
|
2672
|
+
if (unreadablePages) {
|
|
2673
|
+
notes.push(`${unreadablePages} page${unreadablePages === 1 ? "" : "s"} of this PDF use a font with no map to letters, so some text wasn't read. A person needs to read ${unreadablePages === 1 ? "it" : "them"}.`);
|
|
2674
|
+
meta.flags = ["needs-reading"];
|
|
2675
|
+
}
|
|
2443
2676
|
if (!sections.length) {
|
|
2444
2677
|
notes.push(NO_TEXT);
|
|
2445
2678
|
meta.flags = ["needs-reading"];
|
|
@@ -2853,9 +3086,36 @@ function pickIngestor(fileName, head) {
|
|
|
2853
3086
|
return best;
|
|
2854
3087
|
}
|
|
2855
3088
|
|
|
3089
|
+
// packages/ingestors/dist/traffic-formats.js
|
|
3090
|
+
var TRAFFIC_SOURCES = {
|
|
3091
|
+
// A gateway analytics custom report, exported as CSV or JSON: its dimensions and metrics.
|
|
3092
|
+
apigee: {
|
|
3093
|
+
app: ["developer_app", "developer app", "app", "application"],
|
|
3094
|
+
method: ["request_verb", "verb", "method"],
|
|
3095
|
+
path: ["request_path", "request_uri", "uri", "path"],
|
|
3096
|
+
basepath: ["proxy_basepath", "basepath", "base path"],
|
|
3097
|
+
suffix: ["proxy_pathsuffix", "pathsuffix", "path suffix"],
|
|
3098
|
+
proxy: ["apiproxy", "api_proxy", "proxy"],
|
|
3099
|
+
count: ["sum(message_count)", "message_count", "traffic", "count"],
|
|
3100
|
+
time: ["client_received_start_timestamp", "timestamp", "time", "date", "day"]
|
|
3101
|
+
},
|
|
3102
|
+
// An API catalogue's usage export: who calls which operation, and how often.
|
|
3103
|
+
catalog: {
|
|
3104
|
+
app: ["consumer", "consumer app", "application", "app", "client name", "subscriber"],
|
|
3105
|
+
method: ["method", "http method", "verb"],
|
|
3106
|
+
path: ["path", "operation path", "resource", "route"],
|
|
3107
|
+
basepath: ["basepath", "base path"],
|
|
3108
|
+
suffix: [],
|
|
3109
|
+
proxy: ["api", "api name", "proxy", "product"],
|
|
3110
|
+
count: ["calls", "count", "requests", "hits"],
|
|
3111
|
+
time: ["date", "day", "timestamp", "time", "period"]
|
|
3112
|
+
}
|
|
3113
|
+
};
|
|
3114
|
+
|
|
2856
3115
|
export {
|
|
2857
3116
|
curatedAliases,
|
|
2858
3117
|
resolveNames,
|
|
3118
|
+
labelText,
|
|
2859
3119
|
readDrawio,
|
|
2860
3120
|
drawioIngestor,
|
|
2861
3121
|
reconcile,
|
|
@@ -2898,5 +3158,6 @@ export {
|
|
|
2898
3158
|
pdfIngestor,
|
|
2899
3159
|
figmaIngestor,
|
|
2900
3160
|
listIngestors,
|
|
2901
|
-
pickIngestor
|
|
3161
|
+
pickIngestor,
|
|
3162
|
+
TRAFFIC_SOURCES
|
|
2902
3163
|
};
|