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
package/dist/chunk-5HXLTWYN.js
DELETED
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
MCard
|
|
3
|
-
} from "./chunk-5BIDGXA6.js";
|
|
4
|
-
|
|
5
|
-
// src/monads/Maybe.ts
|
|
6
|
-
var Maybe = class _Maybe {
|
|
7
|
-
constructor(_value, _isNothing) {
|
|
8
|
-
this._value = _value;
|
|
9
|
-
this._isNothing = _isNothing;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Create a Just (has value)
|
|
13
|
-
*/
|
|
14
|
-
static just(value) {
|
|
15
|
-
return new _Maybe(value, false);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Create a Nothing (no value)
|
|
19
|
-
*/
|
|
20
|
-
static nothing() {
|
|
21
|
-
return new _Maybe(null, true);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Check if this is Nothing
|
|
25
|
-
*/
|
|
26
|
-
get isNothing() {
|
|
27
|
-
return this._isNothing;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Check if this is Just
|
|
31
|
-
*/
|
|
32
|
-
get isJust() {
|
|
33
|
-
return !this._isNothing;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Get the value (throws if Nothing)
|
|
37
|
-
*/
|
|
38
|
-
get value() {
|
|
39
|
-
if (this._isNothing) {
|
|
40
|
-
throw new Error("Cannot get value from Nothing");
|
|
41
|
-
}
|
|
42
|
-
return this._value;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Monadic bind - chain operations
|
|
46
|
-
* Short-circuits on Nothing
|
|
47
|
-
*/
|
|
48
|
-
bind(fn) {
|
|
49
|
-
if (this._isNothing) {
|
|
50
|
-
return _Maybe.nothing();
|
|
51
|
-
}
|
|
52
|
-
return fn(this._value);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Map a function over the value
|
|
56
|
-
*/
|
|
57
|
-
map(fn) {
|
|
58
|
-
if (this._isNothing) {
|
|
59
|
-
return _Maybe.nothing();
|
|
60
|
-
}
|
|
61
|
-
return _Maybe.just(fn(this._value));
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get value or default
|
|
65
|
-
*/
|
|
66
|
-
getOrElse(defaultValue) {
|
|
67
|
-
return this._isNothing ? defaultValue : this._value;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
// src/model/CardCollection.ts
|
|
72
|
-
var CardCollection = class {
|
|
73
|
-
engine;
|
|
74
|
-
constructor(engine) {
|
|
75
|
-
this.engine = engine;
|
|
76
|
-
}
|
|
77
|
-
// =========== Standard Operations ===========
|
|
78
|
-
/**
|
|
79
|
-
* Add a card to the collection
|
|
80
|
-
* Handles duplicates (same content, same hash) and collisions (diff content, same hash)
|
|
81
|
-
*/
|
|
82
|
-
async add(card) {
|
|
83
|
-
const existingCard = await this.engine.get(card.hash);
|
|
84
|
-
if (existingCard) {
|
|
85
|
-
const isDuplicate = this.areContentsEqual(existingCard.content, card.content);
|
|
86
|
-
if (isDuplicate) {
|
|
87
|
-
const { generateDuplicationEvent } = await import("./EventProducer-MW6QF4IO.js");
|
|
88
|
-
const eventStr = generateDuplicationEvent(card);
|
|
89
|
-
const eventCard = await MCard.create(eventStr);
|
|
90
|
-
await this.engine.add(eventCard);
|
|
91
|
-
return card.hash;
|
|
92
|
-
} else {
|
|
93
|
-
const { generateCollisionEvent } = await import("./EventProducer-MW6QF4IO.js");
|
|
94
|
-
const eventStr = await generateCollisionEvent(card);
|
|
95
|
-
const eventCard = await MCard.create(eventStr);
|
|
96
|
-
await this.engine.add(eventCard);
|
|
97
|
-
const eventObj = JSON.parse(eventStr);
|
|
98
|
-
const nextAlgo = eventObj.upgraded_function;
|
|
99
|
-
if (!nextAlgo) {
|
|
100
|
-
throw new Error("Failed to determine next hash algorithm for collision");
|
|
101
|
-
}
|
|
102
|
-
const upgradedCard = await MCard.create(card.content, nextAlgo);
|
|
103
|
-
return this.engine.add(upgradedCard);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return this.engine.add(card);
|
|
107
|
-
}
|
|
108
|
-
areContentsEqual(a, b) {
|
|
109
|
-
if (a.length !== b.length) return false;
|
|
110
|
-
for (let i = 0; i < a.length; i++) {
|
|
111
|
-
if (a[i] !== b[i]) return false;
|
|
112
|
-
}
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get a card by hash
|
|
117
|
-
*/
|
|
118
|
-
async get(hash) {
|
|
119
|
-
return this.engine.get(hash);
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Delete a card by hash
|
|
123
|
-
*/
|
|
124
|
-
async delete(hash) {
|
|
125
|
-
return this.engine.delete(hash);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Get a page of cards
|
|
129
|
-
*/
|
|
130
|
-
async getPage(pageNumber = 1, pageSize = 10) {
|
|
131
|
-
return this.engine.getPage(pageNumber, pageSize);
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Count total cards
|
|
135
|
-
*/
|
|
136
|
-
async count() {
|
|
137
|
-
return this.engine.count();
|
|
138
|
-
}
|
|
139
|
-
// =========== Handle Operations ===========
|
|
140
|
-
/**
|
|
141
|
-
* Add a card and register a handle for it
|
|
142
|
-
*/
|
|
143
|
-
async addWithHandle(card, handle) {
|
|
144
|
-
const hash = await this.add(card);
|
|
145
|
-
await this.engine.registerHandle(handle, hash);
|
|
146
|
-
return hash;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Get card by handle
|
|
150
|
-
*/
|
|
151
|
-
async getByHandle(handle) {
|
|
152
|
-
return this.engine.getByHandle(handle);
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Resolve handle to hash
|
|
156
|
-
*/
|
|
157
|
-
async resolveHandle(handle) {
|
|
158
|
-
return this.engine.resolveHandle(handle);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Update handle to point to new card
|
|
162
|
-
*/
|
|
163
|
-
async updateHandle(handle, newCard) {
|
|
164
|
-
const hash = await this.add(newCard);
|
|
165
|
-
await this.engine.updateHandle(handle, hash);
|
|
166
|
-
return hash;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Get version history for a handle
|
|
170
|
-
*/
|
|
171
|
-
async getHandleHistory(handle) {
|
|
172
|
-
return this.engine.getHandleHistory(handle);
|
|
173
|
-
}
|
|
174
|
-
// =========== Monadic Operations ===========
|
|
175
|
-
/**
|
|
176
|
-
* Monadic get - returns Maybe<MCard>
|
|
177
|
-
*/
|
|
178
|
-
async getM(hash) {
|
|
179
|
-
const card = await this.get(hash);
|
|
180
|
-
return card ? Maybe.just(card) : Maybe.nothing();
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Monadic getByHandle - returns Maybe<MCard>
|
|
184
|
-
*/
|
|
185
|
-
async getByHandleM(handle) {
|
|
186
|
-
const card = await this.getByHandle(handle);
|
|
187
|
-
return card ? Maybe.just(card) : Maybe.nothing();
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Monadic resolveHandle - returns Maybe<string>
|
|
191
|
-
*/
|
|
192
|
-
async resolveHandleM(handle) {
|
|
193
|
-
const hash = await this.resolveHandle(handle);
|
|
194
|
-
return hash ? Maybe.just(hash) : Maybe.nothing();
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Resolve handle and get card in one monadic operation
|
|
198
|
-
*/
|
|
199
|
-
async resolveAndGetM(handle) {
|
|
200
|
-
const maybeHash = await this.resolveHandleM(handle);
|
|
201
|
-
if (maybeHash.isNothing) return Maybe.nothing();
|
|
202
|
-
return this.getM(maybeHash.value);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Prune version history for a handle.
|
|
206
|
-
* @param handle The handle string.
|
|
207
|
-
* @param options Options for pruning (olderThan date, or deleteAll).
|
|
208
|
-
* @returns Number of deleted entries.
|
|
209
|
-
*/
|
|
210
|
-
async pruneHandleHistory(handle, options = {}) {
|
|
211
|
-
if (this.engine.pruneHandleHistory) {
|
|
212
|
-
return this.engine.pruneHandleHistory(handle, options);
|
|
213
|
-
}
|
|
214
|
-
return 0;
|
|
215
|
-
}
|
|
216
|
-
// =========== Search & Bulk Operations ===========
|
|
217
|
-
async clear() {
|
|
218
|
-
return this.engine.clear();
|
|
219
|
-
}
|
|
220
|
-
async searchByString(query, pageNumber = 1, pageSize = 10) {
|
|
221
|
-
return this.engine.search(query, pageNumber, pageSize);
|
|
222
|
-
}
|
|
223
|
-
async searchByContent(query, pageNumber = 1, pageSize = 10) {
|
|
224
|
-
return this.engine.search(query, pageNumber, pageSize);
|
|
225
|
-
}
|
|
226
|
-
async searchByHash(hashPrefix) {
|
|
227
|
-
return this.engine.searchByHash(hashPrefix);
|
|
228
|
-
}
|
|
229
|
-
async getAllMCardsRaw() {
|
|
230
|
-
return this.engine.getAll();
|
|
231
|
-
}
|
|
232
|
-
async getAllCards(pageSize = 10, processCallback) {
|
|
233
|
-
const cards = [];
|
|
234
|
-
let pageNumber = 1;
|
|
235
|
-
let total = 0;
|
|
236
|
-
while (true) {
|
|
237
|
-
const page = await this.getPage(pageNumber, pageSize);
|
|
238
|
-
if (!page.items || page.items.length === 0) break;
|
|
239
|
-
for (const card of page.items) {
|
|
240
|
-
if (processCallback) {
|
|
241
|
-
processCallback(card);
|
|
242
|
-
}
|
|
243
|
-
cards.push(card);
|
|
244
|
-
}
|
|
245
|
-
total = page.totalItems;
|
|
246
|
-
if (!page.hasNext) break;
|
|
247
|
-
pageNumber++;
|
|
248
|
-
}
|
|
249
|
-
return { cards, total };
|
|
250
|
-
}
|
|
251
|
-
async printAllCards() {
|
|
252
|
-
const cards = await this.getAllMCardsRaw();
|
|
253
|
-
cards.forEach((card) => {
|
|
254
|
-
console.log(`Hash: ${card.hash}`);
|
|
255
|
-
try {
|
|
256
|
-
const text = new TextDecoder().decode(card.content);
|
|
257
|
-
const preview = text.slice(0, 100).replace(/\n/g, " ");
|
|
258
|
-
console.log(`Content: ${preview}${text.length > 100 ? "..." : ""}`);
|
|
259
|
-
} catch {
|
|
260
|
-
console.log(`Content (binary): ${card.content.length} bytes`);
|
|
261
|
-
}
|
|
262
|
-
console.log("---");
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
// =========== Handle Management Operations ===========
|
|
266
|
-
/**
|
|
267
|
-
* List all registered handles with their current hashes.
|
|
268
|
-
*/
|
|
269
|
-
async getAllHandles() {
|
|
270
|
-
return this.engine.getAllHandles();
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Remove a handle and all its history entries.
|
|
274
|
-
* Does NOT delete the underlying card(s).
|
|
275
|
-
*/
|
|
276
|
-
async removeHandle(handle) {
|
|
277
|
-
return this.engine.removeHandle(handle);
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Rename a handle atomically: updates handle registry and all history entries.
|
|
281
|
-
*/
|
|
282
|
-
async renameHandle(oldHandle, newHandle) {
|
|
283
|
-
return this.engine.renameHandle(oldHandle, newHandle);
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Delete a single history entry by handle + previousHash, stitching the chain.
|
|
287
|
-
*/
|
|
288
|
-
async deleteHistoryEntry(handle, previousHash) {
|
|
289
|
-
return this.engine.deleteHistoryEntry(handle, previousHash);
|
|
290
|
-
}
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
export {
|
|
294
|
-
Maybe,
|
|
295
|
-
CardCollection
|
|
296
|
-
};
|
package/dist/chunk-5W2FDGUF.js
DELETED
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
initCoreSchemas,
|
|
3
|
-
validateHandle
|
|
4
|
-
} from "./chunk-U3FWUPD3.js";
|
|
5
|
-
import {
|
|
6
|
-
MCard
|
|
7
|
-
} from "./chunk-PW4XS7M3.js";
|
|
8
|
-
|
|
9
|
-
// src/storage/SqliteNodeEngine.ts
|
|
10
|
-
import { createRequire } from "module";
|
|
11
|
-
var DEFAULT_PAGE_SIZE = 10;
|
|
12
|
-
var SqliteNodeEngine = class {
|
|
13
|
-
db;
|
|
14
|
-
dbPath;
|
|
15
|
-
/**
|
|
16
|
-
* Create a new SqliteNodeEngine
|
|
17
|
-
* @param dbPath Path to database file, or ':memory:' for in-memory database
|
|
18
|
-
*/
|
|
19
|
-
constructor(dbPath = ":memory:") {
|
|
20
|
-
this.dbPath = dbPath;
|
|
21
|
-
const require2 = createRequire(import.meta.url);
|
|
22
|
-
const Database = require2("better-sqlite3");
|
|
23
|
-
this.db = new Database(dbPath);
|
|
24
|
-
this.setupDatabase();
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Initialize database schema
|
|
28
|
-
*/
|
|
29
|
-
setupDatabase() {
|
|
30
|
-
initCoreSchemas(this.db);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Close the database connection
|
|
34
|
-
*/
|
|
35
|
-
close() {
|
|
36
|
-
this.db.close();
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Get the database path
|
|
40
|
-
*/
|
|
41
|
-
getDbPath() {
|
|
42
|
-
return this.dbPath;
|
|
43
|
-
}
|
|
44
|
-
// =========== Card Operations ===========
|
|
45
|
-
async add(card) {
|
|
46
|
-
const stmt = this.db.prepare(
|
|
47
|
-
"INSERT OR REPLACE INTO card (hash, content, g_time) VALUES (?, ?, ?)"
|
|
48
|
-
);
|
|
49
|
-
stmt.run(card.hash, Buffer.from(card.content), card.g_time);
|
|
50
|
-
return card.hash;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Add a card synchronously (for performance-critical paths)
|
|
54
|
-
*/
|
|
55
|
-
addSync(card) {
|
|
56
|
-
const stmt = this.db.prepare(
|
|
57
|
-
"INSERT OR REPLACE INTO card (hash, content, g_time) VALUES (?, ?, ?)"
|
|
58
|
-
);
|
|
59
|
-
stmt.run(card.hash, Buffer.from(card.content), card.g_time);
|
|
60
|
-
return card.hash;
|
|
61
|
-
}
|
|
62
|
-
async get(hash) {
|
|
63
|
-
return this.getSync(hash);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Get a card synchronously
|
|
67
|
-
*/
|
|
68
|
-
getSync(hash) {
|
|
69
|
-
const stmt = this.db.prepare("SELECT hash, content, g_time FROM card WHERE hash = ?");
|
|
70
|
-
const row = stmt.get(hash);
|
|
71
|
-
if (!row) return null;
|
|
72
|
-
const content = row.content instanceof Buffer ? new Uint8Array(row.content) : new Uint8Array(row.content);
|
|
73
|
-
return MCard.fromData(content, row.hash, row.g_time);
|
|
74
|
-
}
|
|
75
|
-
async delete(hash) {
|
|
76
|
-
this.deleteSync(hash);
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Delete a card synchronously
|
|
80
|
-
*/
|
|
81
|
-
deleteSync(hash) {
|
|
82
|
-
const stmt = this.db.prepare("DELETE FROM card WHERE hash = ?");
|
|
83
|
-
const result = stmt.run(hash);
|
|
84
|
-
return result.changes > 0;
|
|
85
|
-
}
|
|
86
|
-
async getPage(pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
87
|
-
return this.getPageSync(pageNumber, pageSize);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get a page of cards synchronously
|
|
91
|
-
*/
|
|
92
|
-
getPageSync(pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
93
|
-
if (pageNumber < 1) throw new Error("Page number must be >= 1");
|
|
94
|
-
if (pageSize < 1) throw new Error("Page size must be >= 1");
|
|
95
|
-
const totalItems = this.countSync();
|
|
96
|
-
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
97
|
-
const offset = (pageNumber - 1) * pageSize;
|
|
98
|
-
const stmt = this.db.prepare(
|
|
99
|
-
"SELECT hash, content, g_time FROM card ORDER BY g_time DESC LIMIT ? OFFSET ?"
|
|
100
|
-
);
|
|
101
|
-
const rows = stmt.all(pageSize, offset);
|
|
102
|
-
const items = rows.map((row) => {
|
|
103
|
-
const content = row.content instanceof Buffer ? new Uint8Array(row.content) : new Uint8Array(row.content);
|
|
104
|
-
return MCard.fromData(content, row.hash, row.g_time);
|
|
105
|
-
});
|
|
106
|
-
return {
|
|
107
|
-
items,
|
|
108
|
-
totalItems,
|
|
109
|
-
pageNumber,
|
|
110
|
-
pageSize,
|
|
111
|
-
totalPages,
|
|
112
|
-
hasNext: offset + items.length < totalItems,
|
|
113
|
-
hasPrevious: pageNumber > 1
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
async count() {
|
|
117
|
-
return this.countSync();
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Count cards synchronously
|
|
121
|
-
*/
|
|
122
|
-
countSync() {
|
|
123
|
-
const stmt = this.db.prepare("SELECT COUNT(*) as count FROM card");
|
|
124
|
-
const row = stmt.get();
|
|
125
|
-
return row.count;
|
|
126
|
-
}
|
|
127
|
-
async searchByHash(hashPrefix) {
|
|
128
|
-
const rows = this.db.prepare("SELECT hash, content, g_time FROM card WHERE hash LIKE ?").all(`${hashPrefix}%`);
|
|
129
|
-
return rows.map(
|
|
130
|
-
(row) => MCard.fromData(new Uint8Array(row.content), row.hash, row.g_time)
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
async search(query, pageNumber, pageSize) {
|
|
134
|
-
const offset = (pageNumber - 1) * pageSize;
|
|
135
|
-
const searchPattern = `%${query}%`;
|
|
136
|
-
const countResult = this.db.prepare("SELECT COUNT(*) as count FROM card WHERE CAST(content AS TEXT) LIKE ?").get(searchPattern);
|
|
137
|
-
const totalItems = countResult.count;
|
|
138
|
-
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
139
|
-
const rows = this.db.prepare("SELECT hash, content, g_time FROM card WHERE CAST(content AS TEXT) LIKE ? LIMIT ? OFFSET ?").all(searchPattern, pageSize, offset);
|
|
140
|
-
const items = rows.map(
|
|
141
|
-
(row) => MCard.fromData(new Uint8Array(row.content), row.hash, row.g_time)
|
|
142
|
-
);
|
|
143
|
-
return {
|
|
144
|
-
items,
|
|
145
|
-
totalItems,
|
|
146
|
-
pageNumber,
|
|
147
|
-
pageSize,
|
|
148
|
-
totalPages,
|
|
149
|
-
hasNext: pageNumber < totalPages,
|
|
150
|
-
hasPrevious: pageNumber > 1
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
async getAll() {
|
|
154
|
-
const rows = this.db.prepare("SELECT hash, content, g_time FROM card").all();
|
|
155
|
-
return rows.map(
|
|
156
|
-
(row) => MCard.fromData(new Uint8Array(row.content), row.hash, row.g_time)
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
async clear() {
|
|
160
|
-
this.clearSync();
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Clear all data synchronously
|
|
164
|
-
* Delete in FK-safe order: children first, then parents
|
|
165
|
-
*/
|
|
166
|
-
clearSync() {
|
|
167
|
-
this.db.exec("DELETE FROM handle_history");
|
|
168
|
-
this.db.exec("DELETE FROM handle_registry");
|
|
169
|
-
this.db.exec("DELETE FROM card");
|
|
170
|
-
}
|
|
171
|
-
// =========== Search Operations ===========
|
|
172
|
-
/**
|
|
173
|
-
* Search cards by string in content, hash, or g_time
|
|
174
|
-
*/
|
|
175
|
-
searchByString(searchString, pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
176
|
-
if (pageNumber < 1) throw new Error("Page number must be >= 1");
|
|
177
|
-
if (pageSize < 1) throw new Error("Page size must be >= 1");
|
|
178
|
-
const pattern = `%${searchString}%`;
|
|
179
|
-
const offset = (pageNumber - 1) * pageSize;
|
|
180
|
-
const countStmt = this.db.prepare(`
|
|
181
|
-
SELECT COUNT(*) as count FROM card
|
|
182
|
-
WHERE hash LIKE ? OR g_time LIKE ? OR CAST(content AS TEXT) LIKE ?
|
|
183
|
-
`);
|
|
184
|
-
const countRow = countStmt.get(pattern, pattern, pattern);
|
|
185
|
-
const totalItems = countRow.count;
|
|
186
|
-
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
187
|
-
const stmt = this.db.prepare(`
|
|
188
|
-
SELECT hash, content, g_time FROM card
|
|
189
|
-
WHERE hash LIKE ? OR g_time LIKE ? OR CAST(content AS TEXT) LIKE ?
|
|
190
|
-
ORDER BY g_time DESC LIMIT ? OFFSET ?
|
|
191
|
-
`);
|
|
192
|
-
const rows = stmt.all(pattern, pattern, pattern, pageSize, offset);
|
|
193
|
-
const items = rows.map((row) => {
|
|
194
|
-
const content = row.content instanceof Buffer ? new Uint8Array(row.content) : new Uint8Array(row.content);
|
|
195
|
-
return MCard.fromData(content, row.hash, row.g_time);
|
|
196
|
-
});
|
|
197
|
-
return {
|
|
198
|
-
items,
|
|
199
|
-
totalItems,
|
|
200
|
-
pageNumber,
|
|
201
|
-
pageSize,
|
|
202
|
-
totalPages,
|
|
203
|
-
hasNext: offset + items.length < totalItems,
|
|
204
|
-
hasPrevious: pageNumber > 1
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Search cards by content pattern (binary-safe)
|
|
209
|
-
*/
|
|
210
|
-
searchByContent(searchPattern, pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
211
|
-
if (pageNumber < 1) throw new Error("Page number must be >= 1");
|
|
212
|
-
if (pageSize < 1) throw new Error("Page size must be >= 1");
|
|
213
|
-
if (!searchPattern || typeof searchPattern === "string" && searchPattern.length === 0) {
|
|
214
|
-
throw new Error("Search pattern cannot be empty");
|
|
215
|
-
}
|
|
216
|
-
const searchBytes = typeof searchPattern === "string" ? Buffer.from(searchPattern, "utf-8") : Buffer.from(searchPattern);
|
|
217
|
-
const offset = (pageNumber - 1) * pageSize;
|
|
218
|
-
const countStmt = this.db.prepare("SELECT COUNT(*) as count FROM card WHERE INSTR(content, ?) > 0");
|
|
219
|
-
const countRow = countStmt.get(searchBytes);
|
|
220
|
-
const totalItems = countRow.count;
|
|
221
|
-
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
222
|
-
const stmt = this.db.prepare(`
|
|
223
|
-
SELECT hash, content, g_time FROM card
|
|
224
|
-
WHERE INSTR(content, ?) > 0
|
|
225
|
-
ORDER BY g_time DESC LIMIT ? OFFSET ?
|
|
226
|
-
`);
|
|
227
|
-
const rows = stmt.all(searchBytes, pageSize, offset);
|
|
228
|
-
const items = rows.map((row) => {
|
|
229
|
-
const content = row.content instanceof Buffer ? new Uint8Array(row.content) : new Uint8Array(row.content);
|
|
230
|
-
return MCard.fromData(content, row.hash, row.g_time);
|
|
231
|
-
});
|
|
232
|
-
return {
|
|
233
|
-
items,
|
|
234
|
-
totalItems,
|
|
235
|
-
pageNumber,
|
|
236
|
-
pageSize,
|
|
237
|
-
totalPages,
|
|
238
|
-
hasNext: offset + items.length < totalItems,
|
|
239
|
-
hasPrevious: pageNumber > 1
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Get all cards (single page with all items)
|
|
244
|
-
*/
|
|
245
|
-
getAllCards() {
|
|
246
|
-
const stmt = this.db.prepare("SELECT hash, content, g_time FROM card ORDER BY g_time DESC");
|
|
247
|
-
const rows = stmt.all();
|
|
248
|
-
const items = rows.map((row) => {
|
|
249
|
-
const content = row.content instanceof Buffer ? new Uint8Array(row.content) : new Uint8Array(row.content);
|
|
250
|
-
return MCard.fromData(content, row.hash, row.g_time);
|
|
251
|
-
});
|
|
252
|
-
return {
|
|
253
|
-
items,
|
|
254
|
-
totalItems: items.length,
|
|
255
|
-
pageNumber: 1,
|
|
256
|
-
pageSize: items.length || 1,
|
|
257
|
-
totalPages: 1,
|
|
258
|
-
hasNext: false,
|
|
259
|
-
hasPrevious: false
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
// =========== Handle Operations ===========
|
|
263
|
-
async registerHandle(handle, hash) {
|
|
264
|
-
this.registerHandleSync(handle, hash);
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Register a handle synchronously
|
|
268
|
-
*/
|
|
269
|
-
registerHandleSync(handle, hash) {
|
|
270
|
-
const normalized = validateHandle(handle);
|
|
271
|
-
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
272
|
-
const checkStmt = this.db.prepare("SELECT handle FROM handle_registry WHERE handle = ?");
|
|
273
|
-
const existing = checkStmt.get(normalized);
|
|
274
|
-
if (existing) {
|
|
275
|
-
throw new Error(`Handle '${handle}' already exists.`);
|
|
276
|
-
}
|
|
277
|
-
const stmt = this.db.prepare(
|
|
278
|
-
"INSERT INTO handle_registry (handle, current_hash, created_at, updated_at) VALUES (?, ?, ?, ?)"
|
|
279
|
-
);
|
|
280
|
-
stmt.run(normalized, hash, now, now);
|
|
281
|
-
}
|
|
282
|
-
async resolveHandle(handle) {
|
|
283
|
-
return this.resolveHandleSync(handle);
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Resolve a handle synchronously
|
|
287
|
-
*/
|
|
288
|
-
resolveHandleSync(handle) {
|
|
289
|
-
const normalized = validateHandle(handle);
|
|
290
|
-
const stmt = this.db.prepare("SELECT current_hash FROM handle_registry WHERE handle = ?");
|
|
291
|
-
const row = stmt.get(normalized);
|
|
292
|
-
return row?.current_hash || null;
|
|
293
|
-
}
|
|
294
|
-
async getByHandle(handle) {
|
|
295
|
-
return this.getByHandleSync(handle);
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Get card by handle synchronously
|
|
299
|
-
*/
|
|
300
|
-
getByHandleSync(handle) {
|
|
301
|
-
const hash = this.resolveHandleSync(handle);
|
|
302
|
-
if (!hash) return null;
|
|
303
|
-
return this.getSync(hash);
|
|
304
|
-
}
|
|
305
|
-
async updateHandle(handle, newHash) {
|
|
306
|
-
return this.updateHandleSync(handle, newHash);
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Update a handle synchronously
|
|
310
|
-
*/
|
|
311
|
-
updateHandleSync(handle, newHash) {
|
|
312
|
-
const normalized = validateHandle(handle);
|
|
313
|
-
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
314
|
-
const getStmt = this.db.prepare("SELECT current_hash FROM handle_registry WHERE handle = ?");
|
|
315
|
-
const row = getStmt.get(normalized);
|
|
316
|
-
if (!row) {
|
|
317
|
-
throw new Error(`Handle '${handle}' not found.`);
|
|
318
|
-
}
|
|
319
|
-
const previousHash = row.current_hash;
|
|
320
|
-
const historyStmt = this.db.prepare(
|
|
321
|
-
"INSERT INTO handle_history (handle, previous_hash, changed_at) VALUES (?, ?, ?)"
|
|
322
|
-
);
|
|
323
|
-
historyStmt.run(normalized, previousHash, now);
|
|
324
|
-
const updateStmt = this.db.prepare(
|
|
325
|
-
"UPDATE handle_registry SET current_hash = ?, updated_at = ? WHERE handle = ?"
|
|
326
|
-
);
|
|
327
|
-
updateStmt.run(newHash, now, normalized);
|
|
328
|
-
return previousHash;
|
|
329
|
-
}
|
|
330
|
-
async getHandleHistory(handle) {
|
|
331
|
-
return this.getHandleHistorySync(handle);
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* Get handle history synchronously
|
|
335
|
-
*/
|
|
336
|
-
getHandleHistorySync(handle) {
|
|
337
|
-
const normalized = validateHandle(handle);
|
|
338
|
-
const stmt = this.db.prepare(
|
|
339
|
-
"SELECT previous_hash, changed_at FROM handle_history WHERE handle = ? ORDER BY id DESC"
|
|
340
|
-
);
|
|
341
|
-
const rows = stmt.all(normalized);
|
|
342
|
-
return rows.map((row) => ({
|
|
343
|
-
previousHash: row.previous_hash,
|
|
344
|
-
changedAt: row.changed_at
|
|
345
|
-
}));
|
|
346
|
-
}
|
|
347
|
-
async pruneHandleHistory(handle, options = {}) {
|
|
348
|
-
return this.pruneHandleHistorySync(handle, options);
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Prune handle history synchronously
|
|
352
|
-
*/
|
|
353
|
-
pruneHandleHistorySync(handle, options = {}) {
|
|
354
|
-
const normalized = validateHandle(handle);
|
|
355
|
-
let stmt;
|
|
356
|
-
if (options.deleteAll) {
|
|
357
|
-
stmt = this.db.prepare("DELETE FROM handle_history WHERE handle = ?");
|
|
358
|
-
const result = stmt.run(normalized);
|
|
359
|
-
return result.changes;
|
|
360
|
-
} else if (options.olderThan) {
|
|
361
|
-
stmt = this.db.prepare("DELETE FROM handle_history WHERE handle = ? AND changed_at < ?");
|
|
362
|
-
const result = stmt.run(normalized, options.olderThan);
|
|
363
|
-
return result.changes;
|
|
364
|
-
}
|
|
365
|
-
return 0;
|
|
366
|
-
}
|
|
367
|
-
};
|
|
368
|
-
|
|
369
|
-
export {
|
|
370
|
-
SqliteNodeEngine
|
|
371
|
-
};
|