mcard-js 2.1.41 → 2.1.43
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/{CardCollection-MXTUJV4J.js → CardCollection-7DKJWKAG.js} +3 -2
- package/dist/CardCollection-S4RE3RXP.js +10 -0
- package/dist/CardCollection-VPN7AAAX.js +10 -0
- package/dist/{IndexedDBEngine-2G5KCISA.js → IndexedDBEngine-7JOGM2MM.js} +3 -2
- package/dist/IndexedDBEngine-BGZHJK5L.js +12 -0
- package/dist/IndexedDBEngine-ZJ442GI7.js +12 -0
- package/dist/{LLMRuntime-GIGDMDEZ.js → LLMRuntime-OZNVAPXJ.js} +4 -3
- package/dist/{LLMRuntime-LBWUJ7ON.js → LLMRuntime-UPSEDSIK.js} +2 -2
- package/dist/{LambdaRuntime-B6D6IQKZ.js → LambdaRuntime-JZ4Q56TI.js} +6 -5
- package/dist/LambdaRuntime-PM3OUFHU.js +19 -0
- package/dist/LambdaRuntime-WBEK37AF.js +19 -0
- package/dist/LambdaRuntime-YKSBAT65.js +19 -0
- package/dist/{Loader-3LSJXJQG.js → Loader-7HQVYDPA.js} +2 -2
- package/dist/{Loader-BM56B2TX.js → Loader-NYWTV7CQ.js} +4 -3
- package/dist/{Loader-CYLAA4XU.js → Loader-OLKPY6HT.js} +3 -3
- package/dist/{MCard-H56VOJLR.js → MCard-OYI73CUI.js} +1 -1
- package/dist/{MCard-5LIREV2B.js → MCard-XHG3BZC7.js} +2 -2
- package/dist/{NetworkRuntime-IAFHPQSX.js → NetworkRuntime-VYCC5HSY.js} +16 -11
- package/dist/{NetworkRuntime-JNGKW3DY.js → NetworkRuntime-XQX3LDDI.js} +61 -33
- package/dist/{NetworkRuntime-CXPKIAOQ.js → NetworkRuntime-XZR733M5.js} +17 -12
- package/dist/{OllamaProvider-QPX2JXL2.js → OllamaProvider-FBZ5WW72.js} +1 -1
- package/dist/OllamaProvider-W6TPZNHD.js +9 -0
- package/dist/chunk-2NFGZ6PA.js +170 -0
- package/dist/{chunk-VXV35I5J.js → chunk-4TYRTQ4V.js} +48 -17
- package/dist/chunk-4VWWTGRW.js +497 -0
- package/dist/{chunk-4PDYHPR6.js → chunk-5GHZP7E5.js} +4 -2
- package/dist/{chunk-42VF42KH.js → chunk-5HZNWJFT.js} +4 -2
- package/dist/{chunk-DEYMHG5A.js → chunk-6MG5ZHAP.js} +58 -22
- package/dist/{chunk-7V37AAPK.js → chunk-7B4PABOL.js} +16 -7
- package/dist/chunk-A5S2PI37.js +47 -0
- package/dist/chunk-BFD4WSWU.js +497 -0
- package/dist/chunk-BSEFN25Q.js +32 -0
- package/dist/{chunk-3LPY36OG.js → chunk-CBEVE7RG.js} +20 -15
- package/dist/{chunk-A5AB4WQN.js → chunk-DPA3ZK4Q.js} +30 -21
- package/dist/{chunk-5FA54AMM.js → chunk-EJHX3VZL.js} +54 -21
- package/dist/{chunk-QXPHMSPA.js → chunk-GNF4WAPV.js} +22 -9
- package/dist/{chunk-XPG6B5IW.js → chunk-JHIA2BQK.js} +26 -13
- package/dist/{chunk-4I5IZILN.js → chunk-KGPICAQW.js} +10 -7
- package/dist/{chunk-4WBJPHZP.js → chunk-MST5AZXJ.js} +17 -8
- package/dist/{chunk-K35KFTEA.js → chunk-N6KDHCBC.js} +58 -33
- package/dist/{chunk-2R4ESMZB.js → chunk-NFO5NU6B.js} +5 -3
- package/dist/chunk-OKWBHCKC.js +170 -0
- package/dist/{chunk-FIE4LAJG.js → chunk-OX3K6UZJ.js} +5 -3
- package/dist/{chunk-6SEX42H2.js → chunk-R3K7DG7O.js} +21 -16
- package/dist/chunk-RB35Z35T.js +44 -0
- package/dist/{chunk-AWGFLRLI.js → chunk-SP4YPKPR.js} +51 -318
- package/dist/chunk-U7TSFDKX.js +217 -0
- package/dist/chunk-UP3SQX56.js +112 -0
- package/dist/{chunk-4EUEU4SM.js → chunk-VGIRC3HX.js} +13 -110
- package/dist/chunk-WGG7526Z.js +112 -0
- package/dist/{chunk-3JBSRALP.js → chunk-WNKP66IR.js} +10 -7
- package/dist/{chunk-DOC55MPG.js → chunk-WR6ISHCS.js} +11 -3
- package/dist/{chunk-52UNWVOD.js → chunk-ZVOPQ5BM.js} +54 -21
- package/dist/chunk-ZZMOPQER.js +217 -0
- package/dist/index.browser.cjs +79 -1454
- package/dist/index.browser.d.cts +2 -17
- package/dist/index.browser.d.ts +2 -17
- package/dist/index.browser.js +7 -6
- package/dist/index.cjs +306 -1631
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +49 -35
- package/dist/storage/SqliteNodeEngine.cjs +59 -1335
- package/dist/storage/SqliteNodeEngine.js +4 -3
- package/dist/storage/SqliteWasmEngine.cjs +57 -1335
- package/dist/storage/SqliteWasmEngine.js +4 -3
- package/package.json +12 -8
- package/dist/CardCollection-4OFJ6XQJ.js +0 -9
- package/dist/CardCollection-7PDWM24F.js +0 -9
- package/dist/CardCollection-CEFQ5PA6.js +0 -9
- package/dist/CardCollection-GUEYGN2Y.js +0 -9
- package/dist/CardCollection-KDO4CQ4B.js +0 -9
- package/dist/CardCollection-PB7ZY73E.js +0 -9
- package/dist/CardCollection-RK4DVH63.js +0 -9
- package/dist/CardCollection-T376E3TS.js +0 -9
- package/dist/CardCollection-WGCKKUOD.js +0 -9
- package/dist/CardCollection-XON2IWDU.js +0 -9
- package/dist/CardCollection-ZEI6FMP3.js +0 -9
- package/dist/EventProducer-MW6QF4IO.js +0 -47
- package/dist/EventProducer-V7RY2KKR.js +0 -47
- package/dist/FileIO.d.ts +0 -44
- package/dist/FileIO.d.ts.map +0 -1
- package/dist/FileIO.js +0 -203
- package/dist/FileIO.js.map +0 -1
- package/dist/IndexedDBEngine-7JI2CL32.js +0 -10
- package/dist/IndexedDBEngine-7OHQIRTI.js +0 -10
- package/dist/IndexedDBEngine-E5YJQG4U.js +0 -10
- package/dist/IndexedDBEngine-NV625E7L.js +0 -10
- package/dist/IndexedDBEngine-RPQS7ILF.js +0 -10
- package/dist/IndexedDBEngine-S3ZWCSI7.js +0 -10
- package/dist/IndexedDBEngine-T7OC5GRR.js +0 -10
- package/dist/LLMRuntime-BKB3CLXM.js +0 -16
- package/dist/LLMRuntime-BQUUFLAB.js +0 -16
- package/dist/LLMRuntime-TNBC4JCB.js +0 -16
- package/dist/LambdaRuntime-4YILF3G7.js +0 -15
- package/dist/LambdaRuntime-53TPVENI.js +0 -16
- package/dist/LambdaRuntime-73BSWP2G.js +0 -16
- package/dist/LambdaRuntime-AL5SBDCA.js +0 -17
- package/dist/LambdaRuntime-BYBUI7H5.js +0 -17
- package/dist/LambdaRuntime-JDZP3HIQ.js +0 -17
- package/dist/LambdaRuntime-JEI7RVWG.js +0 -16
- package/dist/LambdaRuntime-LCTHBYMV.js +0 -17
- package/dist/LambdaRuntime-LDA3G7IR.js +0 -16
- package/dist/LambdaRuntime-LF4FR6YA.js +0 -16
- package/dist/LambdaRuntime-O7JBVHO2.js +0 -16
- package/dist/LambdaRuntime-OFOTT464.js +0 -17
- package/dist/LambdaRuntime-Q6ISCHAD.js +0 -16
- package/dist/LambdaRuntime-TCZ42XCB.js +0 -16
- package/dist/LambdaRuntime-UKUOKJIW.js +0 -17
- package/dist/LambdaRuntime-VKLON4IB.js +0 -17
- package/dist/LambdaRuntime-WNYDBTS6.js +0 -16
- package/dist/LambdaRuntime-WPTX76CX.js +0 -17
- package/dist/Loader-4P7PEBCL.js +0 -11
- package/dist/Loader-HQ3QKMYM.js +0 -11
- package/dist/Loader-NCATGB67.js +0 -11
- package/dist/Loader-NRHGDQBD.js +0 -11
- package/dist/Loader-RT4NI6AT.js +0 -11
- package/dist/Loader-SSRY57SS.js +0 -11
- package/dist/Loader-W72QZ3T7.js +0 -11
- package/dist/Loader-WECRIXQW.js +0 -11
- package/dist/Loader-XFBIHCQF.js +0 -11
- package/dist/Loader.d.ts +0 -34
- package/dist/Loader.d.ts.map +0 -1
- package/dist/Loader.js +0 -190
- package/dist/Loader.js.map +0 -1
- package/dist/MCard-4J6WSBRF.js +0 -8
- package/dist/MCard-E3MRPTJF.js +0 -8
- package/dist/MCard-FCOIB6BP.js +0 -8
- package/dist/MCard-G4HUWHY5.js +0 -8
- package/dist/MCard-HFL7AFIH.js +0 -8
- package/dist/MCard-JOW6RBSO.js +0 -8
- package/dist/MCard-M4LKN4U2.js +0 -8
- package/dist/MCard-VB7UDUTN.js +0 -8
- package/dist/MCard-WOHE6SX6.js +0 -8
- package/dist/NetworkRuntime-2H7AQITA.js +0 -1571
- package/dist/NetworkRuntime-3MIUBNOF.js +0 -1571
- package/dist/NetworkRuntime-AOE2EJIM.js +0 -1571
- package/dist/NetworkRuntime-BQMDBUDO.js +0 -1570
- package/dist/NetworkRuntime-GMANLCAB.js +0 -1542
- package/dist/NetworkRuntime-L7P4VCGK.js +0 -1542
- package/dist/NetworkRuntime-LC7SUAOF.js +0 -1542
- package/dist/NetworkRuntime-OJWCWPBI.js +0 -1570
- package/dist/NetworkRuntime-ZJ3B4T3A.js +0 -1542
- package/dist/OllamaProvider-32RC36HD.js +0 -8
- package/dist/OllamaProvider-MQXSXLCA.js +0 -8
- package/dist/OllamaProvider-Q45BMOVN.js +0 -8
- package/dist/SqliteNodeEngine-WKVFWBNH.js +0 -9
- package/dist/StorageAdapter-DdDUiIvH.d.cts +0 -391
- package/dist/StorageAdapter-DdDUiIvH.d.ts +0 -391
- package/dist/StorageAdapter-Dw1BeOam.d.cts +0 -380
- package/dist/StorageAdapter-Dw1BeOam.d.ts +0 -380
- package/dist/chunk-23GCCCXB.js +0 -402
- package/dist/chunk-2ECISK2I.js +0 -354
- package/dist/chunk-2MRBTM72.js +0 -354
- package/dist/chunk-2THXO6FH.js +0 -2313
- package/dist/chunk-2VNRWIBZ.js +0 -389
- package/dist/chunk-2VOQRXWH.js +0 -296
- package/dist/chunk-34AYBZRO.js +0 -920
- package/dist/chunk-37EEYISR.js +0 -372
- package/dist/chunk-3E2TKOCZ.js +0 -354
- package/dist/chunk-3MMMJ7NH.js +0 -1068
- package/dist/chunk-437JTYVP.js +0 -292
- package/dist/chunk-4MQINOOG.js +0 -1218
- package/dist/chunk-4UIWXZHY.js +0 -1049
- package/dist/chunk-53S2EZCY.js +0 -290
- package/dist/chunk-5BIDGXA6.js +0 -987
- package/dist/chunk-5HXLTWYN.js +0 -296
- package/dist/chunk-5W2FDGUF.js +0 -371
- package/dist/chunk-6R4ERZMG.js +0 -1136
- package/dist/chunk-74YSNHEM.js +0 -2309
- package/dist/chunk-7H2BQZDK.js +0 -270
- package/dist/chunk-7KEWCCES.js +0 -1136
- package/dist/chunk-7PN2BUYF.js +0 -371
- package/dist/chunk-A2ZJA2EV.js +0 -389
- package/dist/chunk-ARPIBGRP.js +0 -1236
- package/dist/chunk-ATHNEEAG.js +0 -2309
- package/dist/chunk-AVXJOPUE.js +0 -354
- package/dist/chunk-B7VEU4S2.js +0 -204
- package/dist/chunk-C2TKISBR.js +0 -1213
- package/dist/chunk-CBH4YKB4.js +0 -2309
- package/dist/chunk-DP7HBRDL.js +0 -2309
- package/dist/chunk-DV7ZSH4W.js +0 -2309
- package/dist/chunk-DWXNZ5AJ.js +0 -642
- package/dist/chunk-EFKMZTT2.js +0 -270
- package/dist/chunk-FXJYXHG6.js +0 -266
- package/dist/chunk-G466I6RT.js +0 -229
- package/dist/chunk-GATPBTHL.js +0 -1142
- package/dist/chunk-GMQAHPBC.js +0 -292
- package/dist/chunk-GMWA2IJJ.js +0 -1105
- package/dist/chunk-GVX5LDLH.js +0 -371
- package/dist/chunk-HGENNKOJ.js +0 -355
- package/dist/chunk-HM2NBYHU.js +0 -292
- package/dist/chunk-IZWB5GCG.js +0 -389
- package/dist/chunk-J4HOFUKM.js +0 -2309
- package/dist/chunk-JIK2G3EH.js +0 -2313
- package/dist/chunk-JRXNWGSW.js +0 -1136
- package/dist/chunk-KRKK3KP6.js +0 -1081
- package/dist/chunk-KYXZHRUG.js +0 -389
- package/dist/chunk-L36L2VDL.js +0 -371
- package/dist/chunk-L5PZCES6.js +0 -204
- package/dist/chunk-L5U77ZEM.js +0 -1142
- package/dist/chunk-LQEKGX2T.js +0 -204
- package/dist/chunk-LWMUDMMQ.js +0 -1144
- package/dist/chunk-MLKGABMK.js +0 -9
- package/dist/chunk-NZ6OQ7UT.js +0 -92
- package/dist/chunk-O2UMNZGF.js +0 -903
- package/dist/chunk-OFHDMLNM.js +0 -355
- package/dist/chunk-PDBMNUMB.js +0 -316
- package/dist/chunk-PW4XS7M3.js +0 -850
- package/dist/chunk-QA2XQMMJ.js +0 -2313
- package/dist/chunk-QL2JFNA7.js +0 -389
- package/dist/chunk-QPZ2HNSU.js +0 -912
- package/dist/chunk-QVGVU6OS.js +0 -296
- package/dist/chunk-RCEU7PFH.js +0 -270
- package/dist/chunk-RSTKX7WM.js +0 -907
- package/dist/chunk-RXL2CW64.js +0 -266
- package/dist/chunk-RXUF6Y43.js +0 -2309
- package/dist/chunk-SIAA4J6H.js +0 -21
- package/dist/chunk-SOJ2UMO2.js +0 -986
- package/dist/chunk-T3AG6DXY.js +0 -296
- package/dist/chunk-TPCNKMGZ.js +0 -355
- package/dist/chunk-TPT3S5AX.js +0 -204
- package/dist/chunk-TXWGIEVH.js +0 -2313
- package/dist/chunk-TZFI54AU.js +0 -2313
- package/dist/chunk-U3FWUPD3.js +0 -717
- package/dist/chunk-UFW2VW2D.js +0 -266
- package/dist/chunk-UTAOS5Y7.js +0 -2313
- package/dist/chunk-V7VX5OJ6.js +0 -389
- package/dist/chunk-W2XGNMYB.js +0 -355
- package/dist/chunk-W3M4HJ4U.js +0 -2309
- package/dist/chunk-WMJGGREP.js +0 -296
- package/dist/chunk-WTNVQ5WS.js +0 -732
- package/dist/chunk-WVFWNVT2.js +0 -1050
- package/dist/chunk-WY7EYSYC.js +0 -1236
- package/dist/chunk-X42F7DE3.js +0 -373
- package/dist/chunk-XC7Y4I7L.js +0 -290
- package/dist/chunk-YFULZTKP.js +0 -270
- package/dist/chunk-YSVHXKSZ.js +0 -373
- package/dist/chunk-YWGVK5OS.js +0 -292
- package/dist/chunk-Z4BRNTO5.js +0 -2313
- package/dist/chunk-ZDUXDKPD.js +0 -292
- package/dist/chunk-ZXQ2W7LO.js +0 -355
- package/dist/chunk-ZXQELXXO.js +0 -378
- package/dist/index.browser.d.ts.map +0 -1
- package/dist/index.browser.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib-4XS34IPZ.js +0 -778
- package/dist/model/CardCollection.d.ts +0 -147
- package/dist/model/CardCollection.d.ts.map +0 -1
- package/dist/model/CardCollection.js +0 -272
- package/dist/model/CardCollection.js.map +0 -1
- package/dist/model/ContentTypeInterpreter.d.ts +0 -28
- package/dist/model/ContentTypeInterpreter.d.ts.map +0 -1
- package/dist/model/ContentTypeInterpreter.js +0 -147
- package/dist/model/ContentTypeInterpreter.js.map +0 -1
- package/dist/model/EventProducer.d.ts +0 -10
- package/dist/model/EventProducer.d.ts.map +0 -1
- package/dist/model/EventProducer.js +0 -46
- package/dist/model/EventProducer.js.map +0 -1
- package/dist/model/GTime.d.ts +0 -44
- package/dist/model/GTime.d.ts.map +0 -1
- package/dist/model/GTime.js +0 -91
- package/dist/model/GTime.js.map +0 -1
- package/dist/model/Handle.d.ts +0 -37
- package/dist/model/Handle.d.ts.map +0 -1
- package/dist/model/Handle.js +0 -90
- package/dist/model/Handle.js.map +0 -1
- package/dist/model/MCard.d.ts +0 -145
- package/dist/model/MCard.d.ts.map +0 -1
- package/dist/model/MCard.js +0 -180
- package/dist/model/MCard.js.map +0 -1
- package/dist/model/PCard.d.ts +0 -271
- package/dist/model/PCard.d.ts.map +0 -1
- package/dist/model/PCard.js +0 -558
- package/dist/model/PCard.js.map +0 -1
- package/dist/model/VCard.d.ts +0 -277
- package/dist/model/VCard.d.ts.map +0 -1
- package/dist/model/VCard.js +0 -573
- package/dist/model/VCard.js.map +0 -1
- package/dist/model/constants.d.ts +0 -45
- package/dist/model/constants.d.ts.map +0 -1
- package/dist/model/constants.js +0 -27
- package/dist/model/constants.js.map +0 -1
- package/dist/model/vcard_vocabulary.d.ts +0 -174
- package/dist/model/vcard_vocabulary.d.ts.map +0 -1
- package/dist/model/vcard_vocabulary.js +0 -187
- package/dist/model/vcard_vocabulary.js.map +0 -1
- package/dist/monads/Either.d.ts +0 -51
- package/dist/monads/Either.d.ts.map +0 -1
- package/dist/monads/Either.js +0 -82
- package/dist/monads/Either.js.map +0 -1
- package/dist/monads/IO.d.ts +0 -38
- package/dist/monads/IO.d.ts.map +0 -1
- package/dist/monads/IO.js +0 -66
- package/dist/monads/IO.js.map +0 -1
- package/dist/monads/Maybe.d.ts +0 -45
- package/dist/monads/Maybe.d.ts.map +0 -1
- package/dist/monads/Maybe.js +0 -73
- package/dist/monads/Maybe.js.map +0 -1
- package/dist/monads/Reader.d.ts +0 -29
- package/dist/monads/Reader.d.ts.map +0 -1
- package/dist/monads/Reader.js +0 -44
- package/dist/monads/Reader.js.map +0 -1
- package/dist/monads/State.d.ts +0 -33
- package/dist/monads/State.d.ts.map +0 -1
- package/dist/monads/State.js +0 -50
- package/dist/monads/State.js.map +0 -1
- package/dist/monads/Writer.d.ts +0 -29
- package/dist/monads/Writer.d.ts.map +0 -1
- package/dist/monads/Writer.js +0 -46
- package/dist/monads/Writer.js.map +0 -1
- package/dist/ptr/Bridgelet.d.ts +0 -180
- package/dist/ptr/Bridgelet.d.ts.map +0 -1
- package/dist/ptr/Bridgelet.js +0 -296
- package/dist/ptr/Bridgelet.js.map +0 -1
- package/dist/ptr/CLMIntrospection.d.ts +0 -169
- package/dist/ptr/CLMIntrospection.d.ts.map +0 -1
- package/dist/ptr/CLMIntrospection.js +0 -329
- package/dist/ptr/CLMIntrospection.js.map +0 -1
- package/dist/ptr/FaroSidecar.d.ts +0 -56
- package/dist/ptr/FaroSidecar.d.ts.map +0 -1
- package/dist/ptr/FaroSidecar.js +0 -102
- package/dist/ptr/FaroSidecar.js.map +0 -1
- package/dist/ptr/LensProtocol.d.ts +0 -84
- package/dist/ptr/LensProtocol.d.ts.map +0 -1
- package/dist/ptr/LensProtocol.js +0 -98
- package/dist/ptr/LensProtocol.js.map +0 -1
- package/dist/ptr/OpenTelemetrySidecar.d.ts +0 -144
- package/dist/ptr/OpenTelemetrySidecar.d.ts.map +0 -1
- package/dist/ptr/OpenTelemetrySidecar.js +0 -232
- package/dist/ptr/OpenTelemetrySidecar.js.map +0 -1
- package/dist/ptr/SandboxWorker.d.ts +0 -79
- package/dist/ptr/SandboxWorker.d.ts.map +0 -1
- package/dist/ptr/SandboxWorker.js +0 -298
- package/dist/ptr/SandboxWorker.js.map +0 -1
- package/dist/ptr/common_types.d.ts +0 -39
- package/dist/ptr/common_types.d.ts.map +0 -1
- package/dist/ptr/common_types.js +0 -12
- package/dist/ptr/common_types.js.map +0 -1
- package/dist/rag/GraphRAGEngine.d.ts +0 -26
- package/dist/rag/GraphRAGEngine.d.ts.map +0 -1
- package/dist/rag/GraphRAGEngine.js +0 -166
- package/dist/rag/GraphRAGEngine.js.map +0 -1
- package/dist/rag/HandleVectorStore.d.ts +0 -201
- package/dist/rag/HandleVectorStore.d.ts.map +0 -1
- package/dist/rag/HandleVectorStore.js +0 -527
- package/dist/rag/HandleVectorStore.js.map +0 -1
- package/dist/rag/PersistentIndexer.d.ts +0 -148
- package/dist/rag/PersistentIndexer.d.ts.map +0 -1
- package/dist/rag/PersistentIndexer.js +0 -302
- package/dist/rag/PersistentIndexer.js.map +0 -1
- package/dist/rag/index.d.ts +0 -20
- package/dist/rag/index.d.ts.map +0 -1
- package/dist/rag/index.js +0 -26
- package/dist/rag/index.js.map +0 -1
- package/dist/rag/semanticVersioning.d.ts +0 -187
- package/dist/rag/semanticVersioning.d.ts.map +0 -1
- package/dist/rag/semanticVersioning.js +0 -253
- package/dist/rag/semanticVersioning.js.map +0 -1
- package/dist/storage/IndexedDBEngine.d.ts +0 -33
- package/dist/storage/IndexedDBEngine.d.ts.map +0 -1
- package/dist/storage/IndexedDBEngine.js +0 -198
- package/dist/storage/IndexedDBEngine.js.map +0 -1
- package/dist/storage/SqliteNodeEngine.d.ts.map +0 -1
- package/dist/storage/SqliteNodeEngine.js.map +0 -1
- package/dist/storage/SqliteWasmEngine.d.ts.map +0 -1
- package/dist/storage/SqliteWasmEngine.js.map +0 -1
- package/dist/storage/StorageAdapter.d.ts +0 -42
- package/dist/storage/StorageAdapter.d.ts.map +0 -1
- package/dist/storage/StorageAdapter.js +0 -2
- package/dist/storage/StorageAdapter.js.map +0 -1
- package/dist/storage/VectorStore.d.ts +0 -202
- package/dist/storage/VectorStore.d.ts.map +0 -1
- package/dist/storage/VectorStore.js +0 -557
- package/dist/storage/VectorStore.js.map +0 -1
- package/dist/storage/schema.d.ts +0 -162
- package/dist/storage/schema.d.ts.map +0 -1
- package/dist/storage/schema.js +0 -335
- package/dist/storage/schema.js.map +0 -1
- package/dist/storage/schema_constants.d.ts +0 -7
- package/dist/storage/schema_constants.d.ts.map +0 -1
- package/dist/storage/schema_constants.js +0 -415
- package/dist/storage/schema_constants.js.map +0 -1
- package/dist/types/dots.d.ts +0 -206
- package/dist/types/dots.d.ts.map +0 -1
- package/dist/types/dots.js +0 -201
- package/dist/types/dots.js.map +0 -1
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { MCard } from './MCard';
|
|
2
|
-
import { StorageEngine, Page } from '../storage/StorageAdapter';
|
|
3
|
-
import { Maybe } from '../monads/Maybe';
|
|
4
|
-
/**
|
|
5
|
-
* CardCollection - High-level interface for MCard operations with monadic API
|
|
6
|
-
*
|
|
7
|
-
* ## DOTS Vocabulary Role: CARRIER CATEGORY Car(S)
|
|
8
|
-
*
|
|
9
|
-
* CardCollection is the **Carrier Category** in the Double Operadic Theory of Systems.
|
|
10
|
-
* - **Objects**: Individual MCards (data artifacts)
|
|
11
|
-
* - **Morphisms**: Hash references between MCards (content-addressable links)
|
|
12
|
-
* - **Composition**: Morphisms compose via hash chains (Merkle-DAG structure)
|
|
13
|
-
*
|
|
14
|
-
* The Carrier is where **actual systems live**. While the Target (CLM design space)
|
|
15
|
-
* defines possible interfaces and interactions, the Carrier holds the real data.
|
|
16
|
-
*
|
|
17
|
-
* ## The Action: Loose(I) ⊛ Car(S) → Car(S)
|
|
18
|
-
*
|
|
19
|
-
* In DOTS, the **Action** is how interactions (from Target) act on systems (in Carrier)
|
|
20
|
-
* to produce new systems. For CardCollection:
|
|
21
|
-
* - PCard (Chart/Lens) defines the interaction pattern
|
|
22
|
-
* - CardCollection.add() produces new MCard in the Carrier
|
|
23
|
-
* - The result is a new Object in Car(S)
|
|
24
|
-
*
|
|
25
|
-
* ## Empty Schema Principle
|
|
26
|
-
*
|
|
27
|
-
* CardCollection embodies the Wordless Book principle:
|
|
28
|
-
* - At t₀: Empty collection = "Wordless Book"
|
|
29
|
-
* - At t_n: Billions of cards = "Infinite Library"
|
|
30
|
-
* - Schema (structure) never changes; only data (content) grows
|
|
31
|
-
*
|
|
32
|
-
* ## CRD-Only Operations (No UPDATE)
|
|
33
|
-
*
|
|
34
|
-
* Following MCard design principles, this collection supports only:
|
|
35
|
-
* - **C**reate: `add()`, `addWithHandle()`
|
|
36
|
-
* - **R**ead: `get()`, `getByHandle()`, `getPage()`, `search*()`
|
|
37
|
-
* - **D**elete: `delete()`, `clear()`
|
|
38
|
-
*
|
|
39
|
-
* There is NO `update()` method. Instead, to "update":
|
|
40
|
-
* 1. Create a new MCard with new content
|
|
41
|
-
* 2. Use `updateHandle()` to point the handle to the new hash
|
|
42
|
-
* 3. The old MCard remains in the collection (immutable history)
|
|
43
|
-
*
|
|
44
|
-
* ## CRDT Foundation (G-Set)
|
|
45
|
-
*
|
|
46
|
-
* CardCollection implements **Grow-Only Set (G-Set) CRDT** semantics:
|
|
47
|
-
* - **Commutative**: merge(A, B) = merge(B, A)
|
|
48
|
-
* - **Associative**: merge(A, merge(B, C)) = merge(merge(A, B), C)
|
|
49
|
-
* - **Idempotent**: merge(A, A) = A (same hash = same card)
|
|
50
|
-
*
|
|
51
|
-
* This enables **Strong Eventual Consistency** without coordination.
|
|
52
|
-
*
|
|
53
|
-
* ## Monadic API
|
|
54
|
-
*
|
|
55
|
-
* The `*M` methods (getM, getByHandleM, etc.) return Maybe<T> monads
|
|
56
|
-
* for composable, null-safe operations following functional programming patterns.
|
|
57
|
-
*
|
|
58
|
-
* @see {@link MCard} for the individual Carrier objects
|
|
59
|
-
* @see {@link DOTSRole.CARRIER} for DOTS vocabulary definition
|
|
60
|
-
* @see docs/WorkingNotes/Permanent/Projects/PKC Kernel/MCard.md for full specification
|
|
61
|
-
*/
|
|
62
|
-
export declare class CardCollection {
|
|
63
|
-
private engine;
|
|
64
|
-
constructor(engine: StorageEngine);
|
|
65
|
-
/**
|
|
66
|
-
* Add a card to the collection
|
|
67
|
-
* Handles duplicates (same content, same hash) and collisions (diff content, same hash)
|
|
68
|
-
*/
|
|
69
|
-
add(card: MCard): Promise<string>;
|
|
70
|
-
private areContentsEqual;
|
|
71
|
-
/**
|
|
72
|
-
* Get a card by hash
|
|
73
|
-
*/
|
|
74
|
-
get(hash: string): Promise<MCard | null>;
|
|
75
|
-
/**
|
|
76
|
-
* Delete a card by hash
|
|
77
|
-
*/
|
|
78
|
-
delete(hash: string): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Get a page of cards
|
|
81
|
-
*/
|
|
82
|
-
getPage(pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
|
|
83
|
-
/**
|
|
84
|
-
* Count total cards
|
|
85
|
-
*/
|
|
86
|
-
count(): Promise<number>;
|
|
87
|
-
/**
|
|
88
|
-
* Add a card and register a handle for it
|
|
89
|
-
*/
|
|
90
|
-
addWithHandle(card: MCard, handle: string): Promise<string>;
|
|
91
|
-
/**
|
|
92
|
-
* Get card by handle
|
|
93
|
-
*/
|
|
94
|
-
getByHandle(handle: string): Promise<MCard | null>;
|
|
95
|
-
/**
|
|
96
|
-
* Resolve handle to hash
|
|
97
|
-
*/
|
|
98
|
-
resolveHandle(handle: string): Promise<string | null>;
|
|
99
|
-
/**
|
|
100
|
-
* Update handle to point to new card
|
|
101
|
-
*/
|
|
102
|
-
updateHandle(handle: string, newCard: MCard): Promise<string>;
|
|
103
|
-
/**
|
|
104
|
-
* Get version history for a handle
|
|
105
|
-
*/
|
|
106
|
-
getHandleHistory(handle: string): Promise<{
|
|
107
|
-
previousHash: string;
|
|
108
|
-
changedAt: string;
|
|
109
|
-
}[]>;
|
|
110
|
-
/**
|
|
111
|
-
* Monadic get - returns Maybe<MCard>
|
|
112
|
-
*/
|
|
113
|
-
getM(hash: string): Promise<Maybe<MCard>>;
|
|
114
|
-
/**
|
|
115
|
-
* Monadic getByHandle - returns Maybe<MCard>
|
|
116
|
-
*/
|
|
117
|
-
getByHandleM(handle: string): Promise<Maybe<MCard>>;
|
|
118
|
-
/**
|
|
119
|
-
* Monadic resolveHandle - returns Maybe<string>
|
|
120
|
-
*/
|
|
121
|
-
resolveHandleM(handle: string): Promise<Maybe<string>>;
|
|
122
|
-
/**
|
|
123
|
-
* Resolve handle and get card in one monadic operation
|
|
124
|
-
*/
|
|
125
|
-
resolveAndGetM(handle: string): Promise<Maybe<MCard>>;
|
|
126
|
-
/**
|
|
127
|
-
* Prune version history for a handle.
|
|
128
|
-
* @param handle The handle string.
|
|
129
|
-
* @param options Options for pruning (olderThan date, or deleteAll).
|
|
130
|
-
* @returns Number of deleted entries.
|
|
131
|
-
*/
|
|
132
|
-
pruneHandleHistory(handle: string, options?: {
|
|
133
|
-
olderThan?: string;
|
|
134
|
-
deleteAll?: boolean;
|
|
135
|
-
}): Promise<number>;
|
|
136
|
-
clear(): Promise<void>;
|
|
137
|
-
searchByString(query: string, pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
|
|
138
|
-
searchByContent(query: string, pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
|
|
139
|
-
searchByHash(hashPrefix: string): Promise<MCard[]>;
|
|
140
|
-
getAllMCardsRaw(): Promise<MCard[]>;
|
|
141
|
-
getAllCards(pageSize?: number, processCallback?: (card: MCard) => any): Promise<{
|
|
142
|
-
cards: MCard[];
|
|
143
|
-
total: number;
|
|
144
|
-
}>;
|
|
145
|
-
printAllCards(): Promise<void>;
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=CardCollection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CardCollection.d.ts","sourceRoot":"","sources":["../../src/model/CardCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { MCard } from './MCard';
|
|
2
|
-
import { Maybe } from '../monads/Maybe';
|
|
3
|
-
/**
|
|
4
|
-
* CardCollection - High-level interface for MCard operations with monadic API
|
|
5
|
-
*
|
|
6
|
-
* ## DOTS Vocabulary Role: CARRIER CATEGORY Car(S)
|
|
7
|
-
*
|
|
8
|
-
* CardCollection is the **Carrier Category** in the Double Operadic Theory of Systems.
|
|
9
|
-
* - **Objects**: Individual MCards (data artifacts)
|
|
10
|
-
* - **Morphisms**: Hash references between MCards (content-addressable links)
|
|
11
|
-
* - **Composition**: Morphisms compose via hash chains (Merkle-DAG structure)
|
|
12
|
-
*
|
|
13
|
-
* The Carrier is where **actual systems live**. While the Target (CLM design space)
|
|
14
|
-
* defines possible interfaces and interactions, the Carrier holds the real data.
|
|
15
|
-
*
|
|
16
|
-
* ## The Action: Loose(I) ⊛ Car(S) → Car(S)
|
|
17
|
-
*
|
|
18
|
-
* In DOTS, the **Action** is how interactions (from Target) act on systems (in Carrier)
|
|
19
|
-
* to produce new systems. For CardCollection:
|
|
20
|
-
* - PCard (Chart/Lens) defines the interaction pattern
|
|
21
|
-
* - CardCollection.add() produces new MCard in the Carrier
|
|
22
|
-
* - The result is a new Object in Car(S)
|
|
23
|
-
*
|
|
24
|
-
* ## Empty Schema Principle
|
|
25
|
-
*
|
|
26
|
-
* CardCollection embodies the Wordless Book principle:
|
|
27
|
-
* - At t₀: Empty collection = "Wordless Book"
|
|
28
|
-
* - At t_n: Billions of cards = "Infinite Library"
|
|
29
|
-
* - Schema (structure) never changes; only data (content) grows
|
|
30
|
-
*
|
|
31
|
-
* ## CRD-Only Operations (No UPDATE)
|
|
32
|
-
*
|
|
33
|
-
* Following MCard design principles, this collection supports only:
|
|
34
|
-
* - **C**reate: `add()`, `addWithHandle()`
|
|
35
|
-
* - **R**ead: `get()`, `getByHandle()`, `getPage()`, `search*()`
|
|
36
|
-
* - **D**elete: `delete()`, `clear()`
|
|
37
|
-
*
|
|
38
|
-
* There is NO `update()` method. Instead, to "update":
|
|
39
|
-
* 1. Create a new MCard with new content
|
|
40
|
-
* 2. Use `updateHandle()` to point the handle to the new hash
|
|
41
|
-
* 3. The old MCard remains in the collection (immutable history)
|
|
42
|
-
*
|
|
43
|
-
* ## CRDT Foundation (G-Set)
|
|
44
|
-
*
|
|
45
|
-
* CardCollection implements **Grow-Only Set (G-Set) CRDT** semantics:
|
|
46
|
-
* - **Commutative**: merge(A, B) = merge(B, A)
|
|
47
|
-
* - **Associative**: merge(A, merge(B, C)) = merge(merge(A, B), C)
|
|
48
|
-
* - **Idempotent**: merge(A, A) = A (same hash = same card)
|
|
49
|
-
*
|
|
50
|
-
* This enables **Strong Eventual Consistency** without coordination.
|
|
51
|
-
*
|
|
52
|
-
* ## Monadic API
|
|
53
|
-
*
|
|
54
|
-
* The `*M` methods (getM, getByHandleM, etc.) return Maybe<T> monads
|
|
55
|
-
* for composable, null-safe operations following functional programming patterns.
|
|
56
|
-
*
|
|
57
|
-
* @see {@link MCard} for the individual Carrier objects
|
|
58
|
-
* @see {@link DOTSRole.CARRIER} for DOTS vocabulary definition
|
|
59
|
-
* @see docs/WorkingNotes/Permanent/Projects/PKC Kernel/MCard.md for full specification
|
|
60
|
-
*/
|
|
61
|
-
export class CardCollection {
|
|
62
|
-
engine;
|
|
63
|
-
constructor(engine) {
|
|
64
|
-
this.engine = engine;
|
|
65
|
-
}
|
|
66
|
-
// =========== Standard Operations ===========
|
|
67
|
-
/**
|
|
68
|
-
* Add a card to the collection
|
|
69
|
-
* Handles duplicates (same content, same hash) and collisions (diff content, same hash)
|
|
70
|
-
*/
|
|
71
|
-
async add(card) {
|
|
72
|
-
// Check existing by hash
|
|
73
|
-
const existingCard = await this.engine.get(card.hash);
|
|
74
|
-
if (existingCard) {
|
|
75
|
-
// Compare content
|
|
76
|
-
const isDuplicate = this.areContentsEqual(existingCard.content, card.content);
|
|
77
|
-
if (isDuplicate) {
|
|
78
|
-
// Duplicate detected
|
|
79
|
-
// console.debug(`Duplicate detected for hash ${card.hash}`);
|
|
80
|
-
const { generateDuplicationEvent } = await import('./EventProducer');
|
|
81
|
-
const eventStr = generateDuplicationEvent(card);
|
|
82
|
-
const eventCard = await MCard.create(eventStr);
|
|
83
|
-
// Store duplicate event but do not overwrite original card
|
|
84
|
-
await this.engine.add(eventCard);
|
|
85
|
-
return card.hash;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
// Collision detected
|
|
89
|
-
// console.warn(`Collision detected for hash ${card.hash}`);
|
|
90
|
-
const { generateCollisionEvent } = await import('./EventProducer');
|
|
91
|
-
const eventStr = await generateCollisionEvent(card);
|
|
92
|
-
// Store collision event
|
|
93
|
-
const eventCard = await MCard.create(eventStr);
|
|
94
|
-
await this.engine.add(eventCard);
|
|
95
|
-
// Store colliding card with upgraded hash function
|
|
96
|
-
const eventObj = JSON.parse(eventStr);
|
|
97
|
-
const nextAlgo = eventObj.upgraded_function;
|
|
98
|
-
if (!nextAlgo) {
|
|
99
|
-
throw new Error("Failed to determine next hash algorithm for collision");
|
|
100
|
-
}
|
|
101
|
-
const upgradedCard = await MCard.create(card.content, nextAlgo);
|
|
102
|
-
return this.engine.add(upgradedCard);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return this.engine.add(card);
|
|
106
|
-
}
|
|
107
|
-
areContentsEqual(a, b) {
|
|
108
|
-
if (a.length !== b.length)
|
|
109
|
-
return false;
|
|
110
|
-
for (let i = 0; i < a.length; i++) {
|
|
111
|
-
if (a[i] !== b[i])
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Get a card by hash
|
|
118
|
-
*/
|
|
119
|
-
async get(hash) {
|
|
120
|
-
return this.engine.get(hash);
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Delete a card by hash
|
|
124
|
-
*/
|
|
125
|
-
async delete(hash) {
|
|
126
|
-
return this.engine.delete(hash);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Get a page of cards
|
|
130
|
-
*/
|
|
131
|
-
async getPage(pageNumber = 1, pageSize = 10) {
|
|
132
|
-
return this.engine.getPage(pageNumber, pageSize);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Count total cards
|
|
136
|
-
*/
|
|
137
|
-
async count() {
|
|
138
|
-
return this.engine.count();
|
|
139
|
-
}
|
|
140
|
-
// =========== Handle Operations ===========
|
|
141
|
-
/**
|
|
142
|
-
* Add a card and register a handle for it
|
|
143
|
-
*/
|
|
144
|
-
async addWithHandle(card, handle) {
|
|
145
|
-
const hash = await this.add(card);
|
|
146
|
-
await this.engine.registerHandle(handle, hash);
|
|
147
|
-
return hash;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Get card by handle
|
|
151
|
-
*/
|
|
152
|
-
async getByHandle(handle) {
|
|
153
|
-
return this.engine.getByHandle(handle);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Resolve handle to hash
|
|
157
|
-
*/
|
|
158
|
-
async resolveHandle(handle) {
|
|
159
|
-
return this.engine.resolveHandle(handle);
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Update handle to point to new card
|
|
163
|
-
*/
|
|
164
|
-
async updateHandle(handle, newCard) {
|
|
165
|
-
const hash = await this.add(newCard);
|
|
166
|
-
await this.engine.updateHandle(handle, hash);
|
|
167
|
-
return hash;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Get version history for a handle
|
|
171
|
-
*/
|
|
172
|
-
async getHandleHistory(handle) {
|
|
173
|
-
return this.engine.getHandleHistory(handle);
|
|
174
|
-
}
|
|
175
|
-
// =========== Monadic Operations ===========
|
|
176
|
-
/**
|
|
177
|
-
* Monadic get - returns Maybe<MCard>
|
|
178
|
-
*/
|
|
179
|
-
async getM(hash) {
|
|
180
|
-
const card = await this.get(hash);
|
|
181
|
-
return card ? Maybe.just(card) : Maybe.nothing();
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Monadic getByHandle - returns Maybe<MCard>
|
|
185
|
-
*/
|
|
186
|
-
async getByHandleM(handle) {
|
|
187
|
-
const card = await this.getByHandle(handle);
|
|
188
|
-
return card ? Maybe.just(card) : Maybe.nothing();
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Monadic resolveHandle - returns Maybe<string>
|
|
192
|
-
*/
|
|
193
|
-
async resolveHandleM(handle) {
|
|
194
|
-
const hash = await this.resolveHandle(handle);
|
|
195
|
-
return hash ? Maybe.just(hash) : Maybe.nothing();
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Resolve handle and get card in one monadic operation
|
|
199
|
-
*/
|
|
200
|
-
async resolveAndGetM(handle) {
|
|
201
|
-
const maybeHash = await this.resolveHandleM(handle);
|
|
202
|
-
if (maybeHash.isNothing)
|
|
203
|
-
return Maybe.nothing();
|
|
204
|
-
return this.getM(maybeHash.value);
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Prune version history for a handle.
|
|
208
|
-
* @param handle The handle string.
|
|
209
|
-
* @param options Options for pruning (olderThan date, or deleteAll).
|
|
210
|
-
* @returns Number of deleted entries.
|
|
211
|
-
*/
|
|
212
|
-
async pruneHandleHistory(handle, options = {}) {
|
|
213
|
-
if (this.engine.pruneHandleHistory) {
|
|
214
|
-
return this.engine.pruneHandleHistory(handle, options);
|
|
215
|
-
}
|
|
216
|
-
return 0; // Or throw error if engine doesn't support it
|
|
217
|
-
}
|
|
218
|
-
// =========== Search & Bulk Operations ===========
|
|
219
|
-
async clear() {
|
|
220
|
-
return this.engine.clear();
|
|
221
|
-
}
|
|
222
|
-
async searchByString(query, pageNumber = 1, pageSize = 10) {
|
|
223
|
-
return this.engine.search(query, pageNumber, pageSize);
|
|
224
|
-
}
|
|
225
|
-
async searchByContent(query, pageNumber = 1, pageSize = 10) {
|
|
226
|
-
return this.engine.search(query, pageNumber, pageSize);
|
|
227
|
-
}
|
|
228
|
-
async searchByHash(hashPrefix) {
|
|
229
|
-
return this.engine.searchByHash(hashPrefix);
|
|
230
|
-
}
|
|
231
|
-
async getAllMCardsRaw() {
|
|
232
|
-
return this.engine.getAll();
|
|
233
|
-
}
|
|
234
|
-
async getAllCards(pageSize = 10, processCallback) {
|
|
235
|
-
const cards = [];
|
|
236
|
-
let pageNumber = 1;
|
|
237
|
-
let total = 0;
|
|
238
|
-
while (true) {
|
|
239
|
-
const page = await this.getPage(pageNumber, pageSize);
|
|
240
|
-
if (!page.items || page.items.length === 0)
|
|
241
|
-
break;
|
|
242
|
-
for (const card of page.items) {
|
|
243
|
-
if (processCallback) {
|
|
244
|
-
processCallback(card);
|
|
245
|
-
}
|
|
246
|
-
cards.push(card);
|
|
247
|
-
}
|
|
248
|
-
total = page.totalItems;
|
|
249
|
-
if (!page.hasNext)
|
|
250
|
-
break;
|
|
251
|
-
pageNumber++;
|
|
252
|
-
}
|
|
253
|
-
return { cards, total };
|
|
254
|
-
}
|
|
255
|
-
async printAllCards() {
|
|
256
|
-
const cards = await this.getAllMCardsRaw();
|
|
257
|
-
cards.forEach(card => {
|
|
258
|
-
console.log(`Hash: ${card.hash}`);
|
|
259
|
-
// Try to print as text if possible
|
|
260
|
-
try {
|
|
261
|
-
const text = new TextDecoder().decode(card.content);
|
|
262
|
-
const preview = text.slice(0, 100).replace(/\n/g, ' ');
|
|
263
|
-
console.log(`Content: ${preview}${text.length > 100 ? '...' : ''}`);
|
|
264
|
-
}
|
|
265
|
-
catch {
|
|
266
|
-
console.log(`Content (binary): ${card.content.length} bytes`);
|
|
267
|
-
}
|
|
268
|
-
console.log('---');
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
//# sourceMappingURL=CardCollection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CardCollection.js","sourceRoot":"","sources":["../../src/model/CardCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,OAAO,cAAc;IACf,MAAM,CAAgB;IAE9B,YAAY,MAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,8CAA8C;IAE9C;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,IAAW;QACjB,yBAAyB;QACzB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,YAAY,EAAE,CAAC;YACf,kBAAkB;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9E,IAAI,WAAW,EAAE,CAAC;gBACd,qBAAqB;gBACrB,6DAA6D;gBAC7D,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAE/C,2DAA2D;gBAC3D,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,qBAAqB;gBACrB,4DAA4D;gBAC5D,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAEpD,wBAAwB;gBACxB,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEjC,mDAAmD;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC;gBAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC7E,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,gBAAgB,CAAC,CAAa,EAAE,CAAa;QACjD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,aAAqB,CAAC,EAAE,WAAmB,EAAE;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,4CAA4C;IAE5C;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAW,EAAE,MAAc;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAc;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,6CAA6C;IAE7C;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,UAAuD,EAAE;QAC9F,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,8CAA8C;IAC5D,CAAC;IAED,mDAAmD;IAEnD,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,aAAqB,CAAC,EAAE,WAAmB,EAAE;QAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,aAAqB,CAAC,EAAE,WAAmB,EAAE;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,EAAE,eAAsC;QAC3E,MAAM,KAAK,GAAY,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAElD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,eAAe,EAAE,CAAC;oBAClB,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAExB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM;YACzB,UAAU,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClC,mCAAmC;YACnC,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export declare class ContentTypeInterpreter {
|
|
2
|
-
private static readonly MIME_TO_EXT;
|
|
3
|
-
/**
|
|
4
|
-
* Convenience method to detect MIME type only.
|
|
5
|
-
* Matches the API expected by MCard/PCard/VCard.
|
|
6
|
-
*/
|
|
7
|
-
static detect(content: string | Uint8Array): string;
|
|
8
|
-
/**
|
|
9
|
-
* Detect content type and suggest extension.
|
|
10
|
-
*
|
|
11
|
-
* @param content Content string or binary buffer
|
|
12
|
-
* @param fileExtension Optional file extension hint
|
|
13
|
-
* @returns Object containing detected mimeType and suggested extension
|
|
14
|
-
*/
|
|
15
|
-
static detectContentType(content: string | Uint8Array, fileExtension?: string): {
|
|
16
|
-
mimeType: string;
|
|
17
|
-
extension: string;
|
|
18
|
-
};
|
|
19
|
-
static getExtension(mimeType: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Check if content should be treated as binary.
|
|
22
|
-
*/
|
|
23
|
-
static isBinaryContent(content: string | Uint8Array, mimeType?: string): boolean;
|
|
24
|
-
static isKnownLongLineExtension(extension?: string): boolean;
|
|
25
|
-
static isUnstructuredBinary(sample: Uint8Array): boolean;
|
|
26
|
-
static hasPathologicalLines(sample: Uint8Array, isKnownType: boolean): boolean;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=ContentTypeInterpreter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTypeInterpreter.d.ts","sourceRoot":"","sources":["../../src/model/ContentTypeInterpreter.ts"],"names":[],"mappings":"AAEA,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CA8BjC;IAEF;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM;IAInD;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CACpB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,aAAa,CAAC,EAAE,MAAM,GACvB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAyC1C,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAsBhF,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAM5D,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IA2BxD,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO;CASjF"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { registry } from './detectors/registry';
|
|
2
|
-
export class ContentTypeInterpreter {
|
|
3
|
-
static MIME_TO_EXT = {
|
|
4
|
-
'text/plain': '.txt',
|
|
5
|
-
'application/json': '.json',
|
|
6
|
-
'text/csv': '.csv',
|
|
7
|
-
'text/x-python': '.py',
|
|
8
|
-
'text/javascript': '.js',
|
|
9
|
-
'text/jsx': '.jsx',
|
|
10
|
-
'text/typescript': '.ts',
|
|
11
|
-
'text/x-c': '.c',
|
|
12
|
-
'text/x-c++': '.cpp',
|
|
13
|
-
'application/xml': '.xml',
|
|
14
|
-
'text/html': '.html',
|
|
15
|
-
'application/x-yaml': '.yaml',
|
|
16
|
-
'text/markdown': '.md',
|
|
17
|
-
'text/x-sql': '.sql',
|
|
18
|
-
'image/png': '.png',
|
|
19
|
-
'image/jpeg': '.jpg',
|
|
20
|
-
'image/gif': '.gif',
|
|
21
|
-
'image/bmp': '.bmp',
|
|
22
|
-
'image/x-icon': '.ico',
|
|
23
|
-
'image/webp': '.webp',
|
|
24
|
-
'image/svg+xml': '.svg',
|
|
25
|
-
'application/pdf': '.pdf',
|
|
26
|
-
'application/zip': '.zip',
|
|
27
|
-
'application/gzip': '.gz',
|
|
28
|
-
'application/x-rar-compressed': '.rar',
|
|
29
|
-
'application/x-7z-compressed': '.7z',
|
|
30
|
-
'application/x-sqlite3': '.db',
|
|
31
|
-
'audio/wav': '.wav',
|
|
32
|
-
// Add more as needed
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Convenience method to detect MIME type only.
|
|
36
|
-
* Matches the API expected by MCard/PCard/VCard.
|
|
37
|
-
*/
|
|
38
|
-
static detect(content) {
|
|
39
|
-
return this.detectContentType(content).mimeType;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Detect content type and suggest extension.
|
|
43
|
-
*
|
|
44
|
-
* @param content Content string or binary buffer
|
|
45
|
-
* @param fileExtension Optional file extension hint
|
|
46
|
-
* @returns Object containing detected mimeType and suggested extension
|
|
47
|
-
*/
|
|
48
|
-
static detectContentType(content, fileExtension) {
|
|
49
|
-
// Prepare sample lines for detectors
|
|
50
|
-
let lines = [];
|
|
51
|
-
let firstLine = '';
|
|
52
|
-
// Convert to string for line analysis (even if binary, we try loosely)
|
|
53
|
-
// Note: For large binary, this might be expensive/messy, but detectors handle it.
|
|
54
|
-
// Python implementation converts to string for lines.
|
|
55
|
-
let textSample = '';
|
|
56
|
-
if (typeof content === 'string') {
|
|
57
|
-
textSample = content.slice(0, 8192); // Limit sample size
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// Decode ignoring errors for text analysis on binary
|
|
61
|
-
textSample = new TextDecoder('utf-8', { fatal: false }).decode(content.slice(0, 8192));
|
|
62
|
-
}
|
|
63
|
-
lines = textSample.split('\n').slice(0, 20);
|
|
64
|
-
firstLine = lines[0] || '';
|
|
65
|
-
const mimeType = registry.detect(content, lines, firstLine, fileExtension);
|
|
66
|
-
let extension = this.getExtension(mimeType);
|
|
67
|
-
// If detected extension matches provided hint, prefer the hint (case insensitive)
|
|
68
|
-
if (fileExtension && extension) {
|
|
69
|
-
if (fileExtension.toLowerCase() === extension || fileExtension.toLowerCase() === `.${extension}`) {
|
|
70
|
-
extension = fileExtension;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (!extension && fileExtension) {
|
|
74
|
-
extension = fileExtension;
|
|
75
|
-
}
|
|
76
|
-
if (!extension) {
|
|
77
|
-
extension = '.txt'; // Default
|
|
78
|
-
}
|
|
79
|
-
return { mimeType, extension };
|
|
80
|
-
}
|
|
81
|
-
static getExtension(mimeType) {
|
|
82
|
-
return this.MIME_TO_EXT[mimeType] || '';
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Check if content should be treated as binary.
|
|
86
|
-
*/
|
|
87
|
-
static isBinaryContent(content, mimeType) {
|
|
88
|
-
if (mimeType) {
|
|
89
|
-
if (mimeType.startsWith('text/') ||
|
|
90
|
-
mimeType.includes('json') ||
|
|
91
|
-
mimeType.includes('xml') ||
|
|
92
|
-
mimeType.includes('javascript') ||
|
|
93
|
-
mimeType.includes('ecmascript')) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
98
|
-
// If string, assume text
|
|
99
|
-
if (typeof content === 'string')
|
|
100
|
-
return false;
|
|
101
|
-
// Heuristic check
|
|
102
|
-
const detection = this.detectContentType(content);
|
|
103
|
-
return !detection.mimeType.startsWith('text/') &&
|
|
104
|
-
!detection.mimeType.includes('json') &&
|
|
105
|
-
!detection.mimeType.includes('xml');
|
|
106
|
-
}
|
|
107
|
-
static isKnownLongLineExtension(extension) {
|
|
108
|
-
if (!extension)
|
|
109
|
-
return false;
|
|
110
|
-
const ext = extension.toLowerCase();
|
|
111
|
-
return ['.min.js', '.min.css', '.map', '.svg', '.json', '.geojson'].some(e => ext.endsWith(e));
|
|
112
|
-
}
|
|
113
|
-
static isUnstructuredBinary(sample) {
|
|
114
|
-
// Match Python's heuristic:
|
|
115
|
-
// if len(sample) < 512: return False
|
|
116
|
-
if (sample.length < 512)
|
|
117
|
-
return false;
|
|
118
|
-
let nullCount = 0;
|
|
119
|
-
let controlCount = 0;
|
|
120
|
-
const len = Math.min(sample.length, 32 * 1024); // match larger sample if available
|
|
121
|
-
for (let i = 0; i < len; i++) {
|
|
122
|
-
const byte = sample[i];
|
|
123
|
-
if (byte === 0) {
|
|
124
|
-
nullCount++;
|
|
125
|
-
}
|
|
126
|
-
// Control chars: < 32, excluding TAB (9), LF (10), CR (13)
|
|
127
|
-
if ((byte < 32 && byte !== 9 && byte !== 10 && byte !== 13)) {
|
|
128
|
-
controlCount++;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
const nullRatio = nullCount / len;
|
|
132
|
-
const controlRatio = controlCount / len;
|
|
133
|
-
// Python Constants: _NULL_RATIO_THRESHOLD = 0.1, _CTRL_RATIO_THRESHOLD = 0.2
|
|
134
|
-
return nullRatio > 0.1 || controlRatio > 0.2;
|
|
135
|
-
}
|
|
136
|
-
static hasPathologicalLines(sample, isKnownType) {
|
|
137
|
-
if (isKnownType || sample.length < 32768)
|
|
138
|
-
return false;
|
|
139
|
-
// Check if there are no newlines in the first 32KB
|
|
140
|
-
for (let i = 0; i < sample.length; i++) {
|
|
141
|
-
if (sample[i] === 10 || sample[i] === 13)
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
return true;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=ContentTypeInterpreter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTypeInterpreter.js","sourceRoot":"","sources":["../../src/model/ContentTypeInterpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { MCard } from './MCard';
|
|
2
|
-
/**
|
|
3
|
-
* Generate a collision event for the given card.
|
|
4
|
-
*/
|
|
5
|
-
export declare function generateCollisionEvent(card: MCard): Promise<string>;
|
|
6
|
-
/**
|
|
7
|
-
* Generate a duplication event for the given card.
|
|
8
|
-
*/
|
|
9
|
-
export declare function generateDuplicationEvent(card: MCard): string;
|
|
10
|
-
//# sourceMappingURL=EventProducer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EventProducer.d.ts","sourceRoot":"","sources":["../../src/model/EventProducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBzE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAO5D"}
|