You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@fireproof/core-runtime

Package Overview
Dependencies
Maintainers
2
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fireproof/core-runtime - npm Package Compare versions

Comparing version
0.23.1
to
0.23.2
+1
-1
async-block-encode.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"async-block-encode.js","sourceRoot":"","sources":["async-block-encode.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"async-block-encode.js","sourceRoot":"","sources":["../jsr/async-block-encode.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"commit-queue.js","sourceRoot":"","sources":["commit-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMzC,MAAM,OAAO,WAAW;IACb,KAAK,GAA0B,EAAE,CAAC;IAC3C,UAAU,GAAG,KAAK,CAAC;IAEV,OAAO,CAAU;IAE1B,YAAY,EAAE,MAAM,EAAuB,EAAE;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAAA,CACvB;IAEQ,cAAc,GAAsB,IAAI,GAAG,EAAgB,CAAC;IACrE,QAAQ,GAAkB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,MAAM,EAAQ,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;IAAA,CACvB;IAED,KAAK,CAAC,OAAO,CAAC,EAAoB,EAAc;QAC9C,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAEzC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;YAAA,CACF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,EAAE,qBAAqB;gBAC5B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QAAA,CACF,CAAC,CAAC;IAAA,CACJ;IAED,WAAW,GAAG;QACZ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAAC,CAExB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,EAAE,qBAAqB;aAC7B,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;IAAA,CACF;CACF"}
{"version":3,"file":"commit-queue.js","sourceRoot":"","sources":["../jsr/commit-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMzC,MAAM,OAAO,WAAW;IACb,KAAK,GAA0B,EAAE,CAAC;IAC3C,UAAU,GAAG,KAAK,CAAC;IAEV,OAAO,CAAU;IAE1B,YAAY,EAAE,MAAM,EAAuB,EAAE;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAAA,CACvB;IAEQ,cAAc,GAAsB,IAAI,GAAG,EAAgB,CAAC;IACrE,QAAQ,GAAkB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,MAAM,EAAQ,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;IAAA,CACvB;IAED,KAAK,CAAC,OAAO,CAAC,EAAoB,EAAc;QAC9C,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAEzC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;YAAA,CACF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,EAAE,qBAAqB;gBAC5B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QAAA,CACF,CAAC,CAAC;IAAA,CACJ;IAED,WAAW,GAAG;QACZ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAAC,CAExB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,EAAE,qBAAqB;aAC7B,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;IAAA,CACF;CACF"}

@@ -1,1 +0,1 @@

{"version":3,"file":"files.js","sourceRoot":"","sources":["files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAG/C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKtE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAU,EAAiD;IAE1F,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IAGnC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAG/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAG1C,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAE7B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;AAAA,CACjC;AAMD,SAAS,cAAc,CAAC,GAAY,EAAsB;IACxD,OAAO,OAAQ,GAAmB,CAAC,GAAG,KAAK,UAAU,CAAC;AAAA,CACvD;AAMD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAe,EAAE,GAAY,EAAE,IAAiB,EAAyB;IAExG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAGpC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAA4B,CAAC;QAG1D,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;SACrC,CAAC,CAAC;IAAA,CACJ,CAAC,CAAC;AAAA,CACJ"}
{"version":3,"file":"files.js","sourceRoot":"","sources":["../jsr/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAG/C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKtE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAU,EAAiD;IAE1F,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IAGnC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAG/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAG1C,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAE7B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;AAAA,CACjC;AAMD,SAAS,cAAc,CAAC,GAAY,EAAsB;IACxD,OAAO,OAAQ,GAAmB,CAAC,GAAG,KAAK,UAAU,CAAC;AAAA,CACvD;AAMD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAe,EAAE,GAAY,EAAE,IAAiB,EAAyB;IAExG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAGpC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAA4B,CAAC;QAG1D,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;SACrC,CAAC,CAAC;IAAA,CACJ,CAAC,CAAC;AAAA,CACJ"}

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAE3B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,yBAAyB,CAAC;AAExC,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,cAAc,YAAY,CAAC;AAE3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,cAAc,gCAAgC,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAE3B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,yBAAyB,CAAC;AAExC,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,cAAc,YAAY,CAAC;AAE3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAElC,cAAc,gCAAgC,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"keyed-crypto.js","sourceRoot":"","sources":["keyed-crypto.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,EAAY,MAAM,4BAA4B,CAAC;AASxE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,IAAI,MAAM,OAAO,CAAC;AAO9B,MAAM,UAAU,GAAiC;IAC/C,MAAM,EAAE;QAEN,IAAI,EAAE,KAAK,EAAE,EAAgB,EAAE,MAAqB,EAAE,IAAgB,EAAuB,EAAE,CAAC;YAC9F,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAAA,CACxC;QAED,MAAM,EAAE,KAAK,EAAE,EAAgB,EAAE,MAAqB,EAAE,EAAc,EAAE,IAAgB,EAAoB,EAAE,CAAC;YAC7G,OAAO,IAAI,CAAC;QAAA,CACb;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,EAAE,EAAgB,EAAE,MAAqB,EAAE,IAAgB,EAAuB,EAAE,CAAC;YAC9F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,SAAS,CAAC;QAAA,CAClB;QACD,MAAM,EAAE,KAAK,WAAW,EAAgB,EAAE,MAAqB,EAAE,EAAc,EAAE,IAAgB,EAAoB;YACnH,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAAA,CACjH;KACF;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,GAAQ,EAAE,IAAwB,EAAgB;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;IACpE,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAAA,CACjD;AAED,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,GAAG,mCAAmC,CAAC;IAE3C,EAAE,CAAe;IACjB,EAAE,CAAc;IAChB,IAAI,CAAqB;IAClC,YAAY,EAAgB,EAAE,EAAe,EAAE,IAAgB,EAAE;QAC/D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAAA,CACxB;IAMD,gBAAgB,CAAC,KAAkB,EAA8B;QAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAAA,CACpC;IACD,WAAW,CAAC,IAAgB,EAA8B;QACxD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAAA,CAC9B;IAED,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAuB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9G,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC,CAAC;IAAA,CAC1B;IAED,KAAK,CAAC,MAAM,CAAC,MAAgC,EAAwB;QACnE,IAAI,KAAiB,CAAC;QACtB,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;YACjC,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAgB,CAAC;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC;QACnG,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC3H,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO;YACL,EAAE;YACF,KAAK;YACL,IAAI,EAAE,MAAM;SACb,CAAC;IAAA,CACH;CACF;AAED,MAAM,YAAY;IACP,IAAI,GAAG,EAAE,CAAC;IACV,QAAQ,GAAG,EAAE,CAAC;IACd,MAAM,CAAS;IACf,MAAM,CAAgB;IACtB,GAAG,CAAoB;IACvB,YAAY,GAAG,IAAI,CAAC;IACpB,GAAG,CAAM;IAClB,YAAY,GAAQ,EAAE,GAAsB,EAAE,KAAoB,EAAE,KAAgB,EAAE;QACpF,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAAA,CAChB;IASD,KAAK,CAAC,EAAe,EAAE,IAAgB,EAAgD;QACrF,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAAA,CAC9C;IACD,IAAI,CAAC,EAAe,EAAE;QACpB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChD,SAAS,EAAE,GAAG;SACf,CAAC;IAAA,CACH;IACD,KAAK,CAAC,QAAQ,CAAC,IAAsB,EAAuB;QAE1D,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAAA,CAC5F;IACD,KAAK,CAAC,QAAQ,CAAC,IAAuB,EAAuB;QAG3D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAAA,CAC3E;CACF;AAED,MAAM,SAAS;IACJ,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,GAAG,6BAA6B,CAAC;IACrC,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;IAElC,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAuB;QAClD,OAAO,IAAI,CAAC;IAAA,CACb;IACD,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAwB;QACnD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;IAAA,CACH;CACF;AAED,MAAM,QAAQ;IACH,QAAQ,GAAG,CAAC,CAAC;IACb,IAAI,GAAG,GAAG,CAAC;IACX,IAAI,GAAG,6BAA6B,CAAC;IACrC,MAAM,CAAS;IACf,MAAM,CAAgB;IACtB,GAAG,CAAoB;IACvB,YAAY,GAAG,KAAK,CAAC;IACrB,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3C,GAAG,CAAM;IAClB,YAAY,GAAQ,EAAE,IAAmB,EAAE,KAAgB,EAAE;QAC3D,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG;YACT,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG;YACtB,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;YAAA,CACzE;YACD,MAAM,EAAE,GAAG,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAA,CAC5E;YACD,YAAY,EAAE,GAAG,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAA,CAClF;SACF,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAAA,CAChB;IAED,WAAW,GAAoB;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAAA,CAC3C;IAED,KAAK,CAAC,EAAe,EAAgD;QACnE,OAAO,IAAI,SAAS,EAAE,CAAC;IAAA,CACxB;IAED,IAAI,CAAC,EAAe,EAAuD;QACzE,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,IAAI,UAAU,EAAE;YACpB,SAAS,EAAE,CAAC;SACb,CAAC;IAAA,CACH;IACD,QAAQ,GAAwB;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC;IAAA,CAC7E;IACD,QAAQ,GAAwB;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC;IAAA,CAC7E;CACF;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAQ,EAAE,EAAY,EAAE,KAAgB,EAAyB;IACxG,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAIjB,MAAM,CACJ,KAAK,CAAC,MAAM;iBACT,KAAK,EAAE;iBAEP,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;iBAEzB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;iBACrB,GAAG,CAAC,oBAAoB,CAAC;iBACzB,OAAO,EAAE,CACb,CAAC;YACF,IAAI;QACN,CAAC;QACD,OAAO,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAAA,CAC/C"}
{"version":3,"file":"keyed-crypto.js","sourceRoot":"","sources":["../jsr/keyed-crypto.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"memory-sys-container.js","sourceRoot":"","sources":["memory-sys-container.ts"],"names":[],"mappings":""}
{"version":3,"file":"memory-sys-container.js","sourceRoot":"","sources":["../jsr/memory-sys-container.ts"],"names":[],"mappings":""}
{
"name": "@fireproof/core-runtime",
"version": "0.23.1",
"version": "0.23.2",
"description": "Live ledger for the web.",

@@ -35,7 +35,7 @@ "type": "module",

"@adviser/cement": "^0.4.23",
"@fireproof/core-types-base": "0.23.1",
"@fireproof/core-types-blockstore": "0.23.1",
"@fireproof/core-types-protocols-cloud": "0.23.1",
"@fireproof/core-types-runtime": "0.23.1",
"@fireproof/vendor": "0.23.1",
"@fireproof/core-types-base": "0.23.2",
"@fireproof/core-types-blockstore": "0.23.2",
"@fireproof/core-types-protocols-cloud": "0.23.2",
"@fireproof/core-types-runtime": "0.23.2",
"@fireproof/vendor": "0.23.2",
"cborg": "^4.2.12",

@@ -46,3 +46,3 @@ "jose": "^6.0.12",

"devDependencies": {
"@fireproof/core-cli": "0.23.1"
"@fireproof/core-cli": "0.23.2"
},

@@ -49,0 +49,0 @@ "scripts": {

@@ -1,1 +0,1 @@

{"version":3,"file":"register-compact-strategy.js","sourceRoot":"","sources":["register-compact-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAU,MAAM,iBAAiB,CAAC;AAG3D,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEnE,MAAM,UAAU,uBAAuB,CAAC,eAAgC,EAAc;IACpF,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,mBAAmB,eAAe,CAAC,IAAI,qBAAqB,CAAC,CAAC;IAChF,CAAC;IACD,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAClD,OAAO,GAAG,EAAE,CAAC;QACX,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAAA,CACrC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAI,GAAG,WAAW,EAA2B;IAC9E,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AAAA,CAC9D;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAI,GAAG,WAAW,EAAmB;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,YAAY,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAoB,CAAC;AAAA,CAC5D"}
{"version":3,"file":"register-compact-strategy.js","sourceRoot":"","sources":["../jsr/register-compact-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAU,MAAM,iBAAiB,CAAC;AAG3D,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEnE,MAAM,UAAU,uBAAuB,CAAC,eAAgC,EAAc;IACpF,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,mBAAmB,eAAe,CAAC,IAAI,qBAAqB,CAAC,CAAC;IAChF,CAAC;IACD,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAClD,OAAO,GAAG,EAAE,CAAC;QACX,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAAA,CACrC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAI,GAAG,WAAW,EAA2B;IAC9E,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AAAA,CAC9D;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAI,GAAG,WAAW,EAAmB;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,YAAY,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAoB,CAAC;AAAA,CAC5D"}

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/sts-service/index.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"sys-container.js","sourceRoot":"","sources":["sys-container.ts"],"names":[],"mappings":""}
{"version":3,"file":"sys-container.js","sourceRoot":"","sources":["../jsr/sys-container.ts"],"names":[],"mappings":""}

@@ -1,1 +0,1 @@

{"version":3,"file":"task-manager.js","sourceRoot":"","sources":["task-manager.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../jsr/task-manager.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../jsr/utils.ts"],"names":[],"mappings":"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"}
// this enable async codec
// it should be gone if this in multiformats is merged:
// https://github.com/multiformats/js-multiformats/pull/305
import { bytes as binary, CID, MultihashHasher, BlockView, ByteView, Version, Link, MultihashDigest } from "multiformats";
import { Block as mfBlock } from "multiformats/block";
import { AsyncBlockDecoder, AsyncBlockEncoder, BlockDecoder, BlockEncoder } from "@fireproof/core-types-runtime";
// export type Block<T, C extends number, A extends number, V extends Version> = mfBlock<T, C, A, V>
export const Block = mfBlock;
export interface DecodeInput<T, Code extends number, Alg extends number> {
readonly bytes: ByteView<unknown>;
// readonly hashBytes?: HashBytesGet<T>;
readonly codec: BlockDecoder<Code, T>;
readonly hasher: MultihashHasher<Alg>;
}
export interface AsyncDecodeInput<T, Code extends number, Alg extends number> {
readonly bytes: ByteView<unknown>;
// readonly hashBytes?: AsyncHashBytesGet<T>;
readonly codec: AsyncBlockDecoder<Code, T>;
readonly hasher: MultihashHasher<Alg>;
}
export async function asyncBlockDecode<T, Code extends number, Alg extends number>({
bytes,
codec,
hasher,
}: AsyncDecodeInput<T, Code, Alg> | DecodeInput<T, Code, Alg>): Promise<BlockView<T, Code, Alg>> {
if (bytes == null) throw new Error('Missing required argument "bytes"');
if (codec == null || hasher == null) throw new Error("Missing required argument: codec or hasher");
// outer cbor
const value = (await Promise.resolve(codec.decode(bytes))) as T;
let toHash = bytes;
if (codec.valueToHashBytes) {
toHash = (await Promise.resolve(codec.valueToHashBytes(value))) as ByteView<unknown>;
}
const hash = await hasher.digest(toHash);
const cid = CID.create(1, codec.code, hash) as CID<T, Code, Alg, 1>;
return new mfBlock<T, Code, Alg, 1>({ value, bytes: toHash as ByteView<T>, cid });
}
export interface EncodeInput<T, Code extends number, Alg extends number> {
readonly value: T;
readonly codec: BlockEncoder<Code, T>;
// if serializer is not provided, the codec is assumed to be a block encoder
// if serializer is provided it will run in this order:
// 1. serializer
// 2. hasher
// 3. codec
// readonly hashBytes?: HashAsBytes<T>;
readonly hasher: MultihashHasher<Alg>;
}
export interface AsyncEncodeInput<T, Code extends number, Alg extends number> {
readonly value: T;
readonly codec: AsyncBlockEncoder<Code, T>;
// if serializer is not provided, the codec is assumed to be a block encoder
// if serializer is provided it will run in this order:
// 1. serializer
// 2. hasher
// 3. codec
// readonly hashBytes?: AsyncHashAsBytes<T>;
readonly hasher: MultihashHasher<Alg>;
}
/**
* @template T - Logical type of the data encoded in the block
* @template Code - multicodec code corresponding to codec used to encode the block
* @template Alg - multicodec code corresponding to the hashing algorithm used in CID creation.
*/
export async function asyncBlockEncode<T, Code extends number, Alg extends number>({
value,
codec,
hasher,
}: AsyncEncodeInput<T, Code, Alg> | EncodeInput<T, Code, Alg>): Promise<BlockView<T, Code, Alg>> {
if (typeof value === "undefined") throw new Error('Missing required argument "value"');
if (codec == null || hasher == null) throw new Error("Missing required argument: codec or hasher");
let bytes: ByteView<T>;
let hash: MultihashDigest;
if (codec.bytesToHash) {
const hashable = await Promise.resolve(codec.bytesToHash(value));
hash = await hasher.digest(hashable);
bytes = await Promise.resolve(codec.encode(value as T));
} else {
bytes = await Promise.resolve(codec.encode(value));
hash = await hasher.digest(bytes);
}
const cid = CID.create(1, codec.code, hash) as CID<T, Code, Alg, 1>;
return new Block({ value, bytes, cid });
}
interface CreateInput<T, Code extends number, Alg extends number, V extends Version> {
bytes: ByteView<T>;
cid: Link<T, Code, Alg, V>;
hasher: MultihashHasher<Alg>;
codec: BlockDecoder<Code, T>;
}
export async function asyncBlockCreate<T, Code extends number, Alg extends number, V extends Version>({
bytes,
cid,
hasher,
codec,
}: CreateInput<T, Code, Alg, V>): Promise<BlockView<T, Code, Alg, V>> {
if (bytes == null) throw new Error('Missing required argument "bytes"');
if (hasher == null) throw new Error('Missing required argument "hasher"');
const value = await Promise.resolve(codec.decode(bytes));
const hash = await hasher.digest(bytes);
if (!binary.equals(cid.multihash.bytes, hash.bytes)) {
throw new Error("CID hash does not match bytes");
}
return asyncBlockCreateUnsafe({
bytes,
cid,
value,
codec,
});
}
type CreateUnsafeInput<T, Code extends number, Alg extends number, V extends Version> =
| {
cid: Link<T, Code, Alg, V>;
value: T;
codec?: BlockDecoder<Code, T>;
bytes: ByteView<T>;
}
| {
cid: Link<T, Code, Alg, V>;
value?: undefined;
codec: BlockDecoder<Code, T>;
bytes: ByteView<T>;
};
/**
* @template T - Logical type of the data encoded in the block
* @template Code - multicodec code corresponding to codec used to encode the block
* @template Alg - multicodec code corresponding to the hashing algorithm used in CID creation.
* @template V - CID version
*/
export async function asyncBlockCreateUnsafe<T, Code extends number, Alg extends number, V extends Version>({
bytes,
cid,
value: maybeValue,
codec,
}: CreateUnsafeInput<T, Code, Alg, V>): Promise<BlockView<T, Code, Alg, V>> {
const value = await Promise.resolve(maybeValue !== undefined ? maybeValue : codec?.decode(bytes));
if (value === undefined) throw new Error('Missing required argument, must either provide "value" or "codec"');
return new Block({
cid: cid as CID<T, Code, Alg, V>,
bytes,
value,
});
}
import { Future } from "@adviser/cement";
import { TraceFn } from "@fireproof/core-types-base";
import { CommitQueueIf } from "@fireproof/core-types-blockstore";
type QueueFunction<T = void> = () => Promise<T>;
export class CommitQueue<T = void> implements CommitQueueIf<T> {
readonly queue: QueueFunction<void>[] = [];
processing = false;
readonly traceFn: TraceFn;
constructor({ tracer }: { tracer: TraceFn }) {
this.traceFn = tracer;
}
readonly _waitIdleItems: Set<Future<void>> = new Set<Future<void>>();
waitIdle(): Promise<void> {
if (this.queue.length === 0 && !this.processing) {
return Promise.resolve();
}
const fn = new Future<void>();
this._waitIdleItems.add(fn);
return fn.asPromise();
}
async enqueue(fn: QueueFunction<T>): Promise<T> {
return new Promise<T>((resolve, reject) => {
// const id = Math.random().toString(36).substring(2, 15);
const queueFn = async () => {
try {
resolve(await fn());
} catch (e) {
reject(e);
} finally {
this.processing = false;
this.processNext();
}
};
this.traceFn({
event: "busyFromCommitQueue",
queueLen: this.queue.length + 1,
});
this.queue.push(queueFn);
if (!this.processing) {
this.processNext();
}
});
}
processNext() {
if (this.queue.length > 0 && !this.processing) {
this.processing = true;
const queueFn = this.queue.shift();
if (queueFn) {
queueFn().finally(() => {
/**/
});
}
}
if (this.queue.length === 0 && !this.processing) {
this.traceFn({
event: "idleFromCommitQueue",
});
const toResolve = Array.from(this._waitIdleItems);
this._waitIdleItems.clear();
toResolve.map((fn) => fn.resolve());
}
}
}
import * as raw from "multiformats/codecs/raw";
import { DocFileMeta } from "@fireproof/core-types-base";
import { AnyLink, AnyBlock } from "@fireproof/core-types-blockstore";
import { CID } from "multiformats/cid";
import { sha256 as hasher } from "multiformats/hashes/sha2";
import { exception2Result, Result, top_uint8 } from "@adviser/cement";
/**
* Encode a file into a single block with a CID
*/
export async function encodeFile(blob: Blob): Promise<{ cid: AnyLink; blocks: AnyBlock[] }> {
// Convert blob to Uint8Array
const data = await top_uint8(blob);
// Encode with raw codec
const bytes = raw.encode(data);
// Create CID
const hash = await hasher.digest(bytes);
const cid = CID.create(1, raw.code, hash);
// Return single block with CID
const block = { cid, bytes };
return { cid, blocks: [block] };
}
export interface BlockGetter {
get(cid: AnyLink): Promise<Uint8Array>;
}
function isHasBlockAGet(obj: unknown): obj is BlockGetter {
return typeof (obj as BlockGetter).get === "function";
}
/**
* Decode a file from its blocks and CID
* Returns a Result containing either the File or an Error
*/
export async function decodeFile(blocks: unknown, cid: AnyLink, meta: DocFileMeta): Promise<Result<File>> {
// The blocks parameter is expected to be a storage interface with a get method
if (!isHasBlockAGet(blocks)) {
return Result.Err(new Error("Invalid block storage"));
}
return exception2Result(async () => {
// Get block data
const bytes = await blocks.get(cid);
// Decode data
const data = raw.decode(bytes) as Uint8Array<ArrayBuffer>;
// Create File object with the original file metadata
return new File([data], "file", {
type: meta.type,
lastModified: meta.lastModified || 0,
});
});
}
// export * as sql from "./store-sql/index.js";
export * from "./files.js";
export * from "./keyed-crypto.js";
// export * as mf from "./wait-pr-multiformats/index.js";
export * from "./async-block-encode.js";
export * as sts from "./sts-service/index.js";
export { runtimeFn } from "@adviser/cement";
export * from "./utils.js";
export * from "./commit-queue.js";
export * from "./task-manager.js";
export * from "./register-compact-strategy.js";
import { CryptoRuntime, Logger, URI } from "@adviser/cement";
import { SuperThis, PARAM, KeyBagIf } from "@fireproof/core-types-base";
import {
BytesAndKeyWithIv,
CodecOpts,
IvAndKeyAndBytes,
IvKeyIdData,
CryptoAction,
KeysByFingerprint,
} from "@fireproof/core-types-blockstore";
import { ensureLogger, UInt8ArrayEqual } from "./utils.js";
import type { AsyncBlockCodec, ByteView } from "@fireproof/core-types-runtime";
import { base58btc } from "multiformats/bases/base58";
import { sha256 as hasher } from "multiformats/hashes/sha2";
import * as CBOR from "cborg";
interface GenerateIVFn {
calc(ko: CryptoAction, crypto: CryptoRuntime, data: Uint8Array): Promise<Uint8Array>;
verify(ko: CryptoAction, crypto: CryptoRuntime, iv: Uint8Array, data: Uint8Array): Promise<boolean>;
}
const generateIV: Record<string, GenerateIVFn> = {
random: {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
calc: async (ko: CryptoAction, crypto: CryptoRuntime, data: Uint8Array): Promise<Uint8Array> => {
return crypto.randomBytes(ko.ivLength);
},
// eslint-disable-next-line @typescript-eslint/no-unused-vars
verify: async (ko: CryptoAction, crypto: CryptoRuntime, iv: Uint8Array, data: Uint8Array): Promise<boolean> => {
return true;
},
},
hash: {
calc: async (ko: CryptoAction, crypto: CryptoRuntime, data: Uint8Array): Promise<Uint8Array> => {
const hash = await hasher.digest(data);
const hashBytes = new Uint8Array(hash.bytes);
const hashArray = new Uint8Array(ko.ivLength);
for (let i = 0; i < hashBytes.length; i++) {
hashArray[i % ko.ivLength] ^= hashBytes[i];
}
return hashArray;
},
verify: async function (ko: CryptoAction, crypto: CryptoRuntime, iv: Uint8Array, data: Uint8Array): Promise<boolean> {
return ko.url.getParam(PARAM.IV_VERIFY) !== "disable" && UInt8ArrayEqual(iv, await this.calc(ko, crypto, data));
},
},
};
function getGenerateIVFn(url: URI, opts: Partial<CodecOpts>): GenerateIVFn {
const ivhash = opts.ivCalc || url.getParam(PARAM.IV_HASH) || "hash";
return generateIV[ivhash] || generateIV["hash"];
}
export class BlockIvKeyIdCodec implements AsyncBlockCodec<24, Uint8Array, IvKeyIdData> {
readonly code = 24;
readonly name = "Fireproof@encrypted-block:aes-gcm";
readonly ko: CryptoAction;
readonly iv?: Uint8Array;
readonly opts: Partial<CodecOpts>;
constructor(ko: CryptoAction, iv?: Uint8Array, opts?: CodecOpts) {
this.ko = ko;
this.iv = iv;
this.opts = opts || {};
}
// hashAsBytes(data: IvKeyIdData): AsyncHashAsBytes<Uint8Array<ArrayBufferLike>> {
// return data;
// }
valueToHashBytes(value: IvKeyIdData): Promise<ByteView<unknown>> {
return Promise.resolve(value.data);
}
bytesToHash(data: Uint8Array): Promise<ByteView<unknown>> {
return Promise.resolve(data);
}
async encode(data: Uint8Array): Promise<Uint8Array> {
const calcIv = this.iv || (await getGenerateIVFn(this.ko.url, this.opts).calc(this.ko, this.ko.crypto, data));
const { iv } = this.ko.algo(calcIv);
const defKey = await this.ko.key.get();
if (!defKey) {
throw this.ko.logger.Error().Msg("default key not found").AsError();
}
const keyId = base58btc.decode(defKey?.fingerPrint);
this.ko.logger.Debug().Str("fp", defKey.fingerPrint).Msg("encode");
return CBOR.encode({
iv: iv,
keyId: keyId,
data: await this.ko._encrypt({ iv, key: defKey.key, bytes: data }),
} satisfies IvKeyIdData);
}
async decode(abytes: Uint8Array | ArrayBuffer): Promise<IvKeyIdData> {
let bytes: Uint8Array;
if (abytes instanceof Uint8Array) {
bytes = abytes;
} else {
bytes = new Uint8Array(abytes);
}
const { iv, keyId, data } = CBOR.decode(bytes) as IvKeyIdData;
const key = await this.ko.key.get(keyId);
if (!key) {
throw this.ko.logger.Error().Str("fp", base58btc.encode(keyId)).Msg("keyId not found").AsError();
}
const result = await this.ko._decrypt({ iv: iv, key: key.key, bytes: data });
if (!this.opts?.noIVVerify && !(await getGenerateIVFn(this.ko.url, this.opts).verify(this.ko, this.ko.crypto, iv, result))) {
throw this.ko.logger.Error().Msg("iv missmatch").AsError();
}
return {
iv,
keyId,
data: result,
};
}
}
class cryptoAction implements CryptoAction {
readonly code = 24;
readonly ivLength = 12;
readonly logger: Logger;
readonly crypto: CryptoRuntime;
readonly key: KeysByFingerprint;
readonly isEncrypting = true;
readonly url: URI;
constructor(url: URI, key: KeysByFingerprint, cyopt: CryptoRuntime, sthis: SuperThis) {
this.logger = ensureLogger(sthis, "cryptoAction");
this.crypto = cyopt;
this.key = key;
this.url = url;
}
// keyByFingerPrint(id: Uint8Array | string): Promise<Result<KeyWithFingerPrint>> {
// return this.key.get(id)
// }
// fingerPrint(): Promise<string> {
// return this.key.get().then((k) => k.fingerPrint);
// }
codec(iv?: Uint8Array, opts?: CodecOpts): AsyncBlockCodec<24, Uint8Array, IvKeyIdData> {
return new BlockIvKeyIdCodec(this, iv, opts);
}
algo(iv?: Uint8Array) {
return {
name: "AES-GCM",
iv: iv || this.crypto.randomBytes(this.ivLength),
tagLength: 128,
};
}
async _decrypt(data: IvAndKeyAndBytes): Promise<Uint8Array> {
// this.logger.Debug().Len(data.bytes, "bytes").Len(data.iv, "iv").Str("fp", data.key).Msg("decrypting");
return new Uint8Array(await this.crypto.decrypt(this.algo(data.iv), data.key, data.bytes));
}
async _encrypt(data: BytesAndKeyWithIv): Promise<Uint8Array> {
// const key = await this.key.get()
// this.logger.Debug().Len(data.bytes).Str("fp", key.fingerPrint).Msg("encrypting");
const a = this.algo(data.iv);
return new Uint8Array(await this.crypto.encrypt(a, data.key, data.bytes));
}
}
class nullCodec implements AsyncBlockCodec<24, Uint8Array, IvKeyIdData> {
readonly code = 24;
readonly name = "Fireproof@unencrypted-block";
readonly empty = new Uint8Array();
async encode(data: Uint8Array): Promise<Uint8Array> {
return data;
}
async decode(data: Uint8Array): Promise<IvKeyIdData> {
return {
iv: this.empty,
keyId: this.empty,
data: data,
};
}
}
class noCrypto implements CryptoAction {
readonly ivLength = 0;
readonly code = 0x0;
readonly name = "Fireproof@unencrypted-block";
readonly logger: Logger;
readonly crypto: CryptoRuntime;
readonly key: KeysByFingerprint;
readonly isEncrypting = false;
readonly _fingerPrint = "noCrypto:" + Math.random();
readonly url: URI;
constructor(url: URI, cyrt: CryptoRuntime, sthis: SuperThis) {
this.logger = ensureLogger(sthis, "noCrypto");
this.crypto = cyrt;
this.key = {
id: sthis.nextId().str,
name: "noCrypto",
get: () => {
throw this.logger.Error().Msg("noCrypto.get not implemented").AsError();
},
upsert: () => {
throw this.logger.Error().Msg("noCrypto.upsert not implemented").AsError();
},
asV2KeysItem: () => {
throw this.logger.Error().Msg("noCrypto.asV2KeysItem not implemented").AsError();
},
};
this.url = url;
}
fingerPrint(): Promise<string> {
return Promise.resolve(this._fingerPrint);
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
codec(iv?: Uint8Array): AsyncBlockCodec<24, Uint8Array, IvKeyIdData> {
return new nullCodec();
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
algo(iv?: Uint8Array): { name: string; iv: Uint8Array; tagLength: number } {
return {
name: "noCrypto",
iv: new Uint8Array(),
tagLength: 0,
};
}
_decrypt(): Promise<Uint8Array> {
throw this.logger.Error().Msg("noCrypto.decrypt not implemented").AsError();
}
_encrypt(): Promise<Uint8Array> {
throw this.logger.Error().Msg("noCrypto.decrypt not implemented").AsError();
}
}
export async function keyedCryptoFactory(url: URI, kb: KeyBagIf, sthis: SuperThis): Promise<CryptoAction> {
const storekey = url.getParam(PARAM.STORE_KEY);
if (storekey && storekey !== "insecure") {
const rkey = await kb.getNamedKey(storekey, false);
if (rkey.isErr()) {
// try {
// rkey = await kb.toKeyWithFingerPrint(storekey);
// } catch (e) {
throw (
sthis.logger
.Error()
// .Err(e)
.Str("keybag", kb.rt.id())
// .Result("key", rkey)
.Str("name", storekey)
.Msg("getNamedKey failed")
.AsError()
);
// }
}
return new cryptoAction(url, rkey.Ok(), kb.rt.crypto, sthis);
}
return new noCrypto(url, kb.rt.crypto, sthis);
}
// import { NodeMap } from "./sys-container.js";
// export async function createNodeSysContainer(): Promise<NodeMap> {
// throw new Error("Not implemented");
// }
import { exception2Result, Result } from "@adviser/cement";
import { CompactStrategy } from "@fireproof/core-types-base";
const compactStrategyRegistry = new Map<string, CompactStrategy>();
export function registerCompactStrategy(compactStrategy: CompactStrategy): () => void {
const key = compactStrategy.name.toLowerCase();
if (compactStrategyRegistry.has(key)) {
throw new Error(`compactStrategy ${compactStrategy.name} already registered`);
}
compactStrategyRegistry.set(key, compactStrategy);
return () => {
compactStrategyRegistry.delete(key);
};
}
export function getCompactStrategy(name = "fireproof"): Result<CompactStrategy> {
return exception2Result(() => getCompactStrategyThrow(name));
}
export function getCompactStrategyThrow(name = "fireproof"): CompactStrategy {
const key = name.toLowerCase();
if (!compactStrategyRegistry.has(key)) {
throw new Error(`compactStrategy ${name} not found`);
}
return compactStrategyRegistry.get(key) as CompactStrategy;
}
import { Result, exception2Result } from "@adviser/cement";
import { exportJWK, importJWK, JWTVerifyResult, jwtVerify, SignJWT } from "jose";
import { generateKeyPair, GenerateKeyPairOptions } from "jose/key/generate/keypair";
import { base58btc } from "multiformats/bases/base58";
import { ensureSuperThis } from "../utils.js";
import { SuperThis } from "@fireproof/core-types-base";
import { BaseTokenParam, FPCloudClaim, TokenForParam } from "@fireproof/core-types-protocols-cloud";
export const envKeyDefaults = {
SECRET: "CLOUD_SESSION_TOKEN_SECRET",
PUBLIC: "CLOUD_SESSION_TOKEN_PUBLIC",
};
interface SessionTokenServiceParam extends Partial<BaseTokenParam> {
readonly token: string; // env encoded jwk
}
interface SessionTokenServiceFromEnvParam extends Partial<BaseTokenParam> {
readonly privateEnvKey?: string; // defaults CLOUD_SESSION_TOKEN_SECRET
readonly publicEnvKey?: string; // defaults CLOUD_SESSION_TOKEN_PUBLIC
}
export async function jwk2env(jwk: CryptoKey, sthis = ensureSuperThis()): Promise<string> {
const inPubKey = await exportJWK(jwk);
return base58btc.encode(sthis.txt.encode(JSON.stringify(inPubKey)));
}
export async function env2jwk(env: string, alg: string, sthis = ensureSuperThis()): Promise<CryptoKey> {
const inJWT = JSON.parse(sthis.txt.decode(base58btc.decode(env)));
return importJWK(inJWT, alg, { extractable: true }) as Promise<CryptoKey>;
}
export interface KeysResult {
readonly material: CryptoKeyPair;
readonly strings: { readonly publicKey: string; readonly privateKey: string };
}
export class SessionTokenService {
readonly #key: CryptoKey;
readonly #param: SessionTokenServiceParam;
static async generateKeyPair(
alg = "ES256",
options: GenerateKeyPairOptions = { extractable: true },
generateKeyPairFN = (alg: string, options: GenerateKeyPairOptions) => generateKeyPair(alg, options),
): Promise<KeysResult> {
const material = await generateKeyPairFN(alg, options);
return {
material,
strings: {
publicKey: await jwk2env(material.publicKey),
privateKey: await jwk2env(material.privateKey),
},
};
}
static async createFromEnv(sthis: SuperThis, sp: SessionTokenServiceFromEnvParam = {}) {
let envToken = sthis.env.get(sp.privateEnvKey ?? envKeyDefaults.SECRET);
if (!envToken) {
envToken = sthis.env.get(sp.publicEnvKey ?? envKeyDefaults.PUBLIC);
}
if (!envToken) {
throw new Error(
`env not found for: ${sp.privateEnvKey ?? envKeyDefaults.SECRET} or ${sp.publicEnvKey ?? envKeyDefaults.PUBLIC}`,
);
}
return SessionTokenService.create({ token: envToken }, sthis);
}
static async create(stsparam: SessionTokenServiceParam, sthis: SuperThis = ensureSuperThis()) {
const key = await env2jwk(stsparam.token, stsparam.alg ?? "ES256", sthis);
return new SessionTokenService(key, stsparam);
}
private constructor(key: CryptoKey, stsparam: SessionTokenServiceParam) {
this.#key = key;
this.#param = stsparam;
}
get validFor() {
let validFor = this.#param.validFor ?? 3600;
if (!(0 <= validFor && validFor <= 3600000)) {
validFor = 3600000;
}
return validFor;
}
get alg() {
return this.#param.alg ?? "ES256";
}
get isssuer() {
return this.#param.issuer ?? "fireproof";
}
get audience() {
return this.#param.audience ?? "fireproof";
}
async validate(token: string): Promise<Result<JWTVerifyResult<FPCloudClaim>>> {
return exception2Result(async () => {
const ret = await jwtVerify<FPCloudClaim>(token, this.#key);
return ret;
});
}
// async getEnvKey(): Promise<string> {
// return jwk2env(ensureSuperThis(), this.#key);
// }
async tokenFor(p: TokenForParam): Promise<string> {
if (this.#key.type !== "private") {
throw new Error("key must be private");
}
const token = await new SignJWT({
userId: p.userId,
tenants: p.tenants,
ledgers: p.ledgers,
email: "test@test",
created: new Date(),
selected: {
tenant: p.tenants[0].id,
ledger: p.ledgers[0].id,
},
} satisfies FPCloudClaim)
.setProtectedHeader({ alg: this.alg }) // algorithm
.setIssuedAt()
.setIssuer(p.issuer ?? this.isssuer) // issuer
.setAudience(p.audience ?? this.audience) // audience
.setExpirationTime(Date.now() + (p.validFor ?? this.validFor)) // expiration time
.sign(this.#key);
return token;
}
}
// import type { MakeDirectoryOptions, ObjectEncodingOptions, PathLike } from "fs";
// // import { uuidv4 } from "uuidv7";
// import { ResolveOnce, URI, envFactory, runtimeFn } from "@adviser/cement";
// import { SysFileSystem, throwFalsy } from "../types.js";
// export interface NodeMap extends Omit<SysFileSystem, "start"> {
// state: "seeded" | "browser" | "node";
// join: (...args: string[]) => string;
// dirname: (path: string) => string;
// homedir: () => string;
// // fileURLToPath: (url: string | URL) => string;
// // assert: (condition: unknown, message?: string | Error) => void;
// }
// // export function assert(condition: unknown, message?: string | Error): asserts condition {
// // SysContainer.freight?.assert(condition, message);
// // }
// const onceStart = new ResolveOnce<void>();
// export function join(...paths: string[]): string {
// return paths.map((i) => i.replace(/\/+$/, "")).join("/");
// }
// function presetEnv() {
// const penv = new Map([
// // ["FP_DEBUG", "xxx"],
// // ["FP_ENV", "development"],
// ...Array.from(
// Object.entries(
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
// ((globalThis as any)[Symbol.for("FP_PRESET_ENV")] || {}) as Record<string, string>,
// ),
// ), // .map(([k, v]) => [k, v as string])
// ]);
// // console.log(">>>>>>", penv)
// return penv;
// }
// // console.log('>>>>>>', new Array(Object.entries(globalThis[Symbol.for("FP_PRESET_ENV")])))
// const envImpl = envFactory({
// symbol: "FP_ENV",
// presetEnv: presetEnv(),
// });
// class sysContainer implements SysFileSystem {
// freight: NodeMap = {
// state: "seeded",
// join,
// dirname: (path: string) => path.split("/").slice(0, -1).join("/"),
// homedir: () => {
// throw new Error("SysContainer:homedir is not available in seeded state");
// },
// // fileURLToPath: (strurl: string | URL) => {
// // let url: URL;
// // if (typeof strurl === "string") {
// // url = new URL(strurl);
// // } else {
// // url = strurl;
// // }
// // return url.pathname;
// // },
// // assert: (condition: unknown, message?: string | Error) => {
// // if (!condition) {
// // if (message instanceof Error) {
// // throw message;
// // } else {
// // throw new Error(message);
// // }
// // }
// // },
// mkdir: () => Promise.reject(new Error("SysContainer:mkdir is not available in seeded state")),
// readdir: () => Promise.reject(new Error("SysContainer:readdir is not available in seeded state")),
// rm: () => Promise.reject(new Error("SysContainer:rm is not available in seeded state")),
// copyFile: () => Promise.reject(new Error("SysContainer:copyFile is not available in seeded state")),
// readfile: () => Promise.reject(new Error("SysContainer:readfile is not available in seeded state")),
// unlink: () => Promise.reject(new Error("SysContainer:unlink is not available in seeded state")),
// writefile: () => Promise.reject(new Error("SysContainer:writefile is not available in seeded state")),
// stat: () => Promise.reject(new Error("SysContainer:stat is not available in seeded state")),
// };
// // readonly id = uuidv4();
// async start(): Promise<void> {
// await onceStart.once(async () => {
// switch (this.freight.state) {
// case "seeded":
// if (this.runtime().isNodeIsh) {
// const { createNodeSysContainer } = await import("./gateways/file/node-filesystem.js");
// URI.from(this.env.get("FP_STORAGE_URL"));
// // console.log("use NodeSysContainer");
// this.freight = await createNodeSysContainer();
// } else {
// // console.log("use BrowserSysContainer");
// this.freight.state = "browser";
// }
// return;
// case "browser":
// case "node":
// return;
// }
// });
// }
// async readdir(
// path: PathLike,
// options?:
// | (ObjectEncodingOptions & { withFileTypes?: false | undefined; recursive?: boolean })
// | BufferEncoding
// | null
// | undefined,
// ) {
// this.logSeeded("readdir");
// return (throwFalsy(this.freight).readdir(path, options) as Promise<string[]>) || [];
// }
// // async readdirent(
// // path: PathLike,
// // options: (ObjectEncodingOptions & { withFileTypes: true; recursive?: boolean }) | BufferEncoding | null | undefined,
// // ): Promise<Dirent[]> {
// // this.logSeeded("readdirent");
// // // eslint-disable-next-line @typescript-eslint/no-explicit-any
// // return (throwFalsy(this.freight).readdir(path, { ...(options as any), withFileTypes: true }) as Promise<Dirent[]>) || [];
// // }
// async readfile(path: PathLike, options?: { encoding: BufferEncoding; flag?: string }) {
// this.logSeeded("readfile");
// return await throwFalsy(this.freight).readfile(path, options);
// }
// async mkdir(path: PathLike, options: { recursive: boolean }) {
// this.logSeeded("mkdir");
// return throwFalsy(this.freight).mkdir(path, options);
// }
// async rm(path: PathLike, options: MakeDirectoryOptions & { recursive: boolean }) {
// this.logSeeded("rm");
// return throwFalsy(this.freight).rm(path, options);
// }
// async unlink(path: PathLike) {
// this.logSeeded("unlink");
// return throwFalsy(this.freight).unlink(path);
// }
// async writefile(path: PathLike, data: Uint8Array | string) {
// this.logSeeded("writefile");
// return throwFalsy(this.freight).writefile(path, data);
// }
// async copyFile(source: PathLike, destination: PathLike) {
// this.logSeeded("copyFile");
// return throwFalsy(this.freight).copyFile(source, destination);
// }
// async stat(path: PathLike) {
// this.logSeeded("stat");
// return throwFalsy(this.freight).stat(path);
// }
// // fileURLToPath(url: string | URL) {
// // this.logSeeded("fileURLToPath");
// // return throwFalsy(this.freight).fileURLToPath(url);
// // }
// dirname(path: string) {
// this.logSeeded("dirname");
// return throwFalsy(this.freight).dirname(path);
// }
// join(...args: string[]): string {
// this.logSeeded("join");
// return throwFalsy(this.freight).join(...args);
// }
// homedir = () => {
// this.logSeeded("homedir");
// return throwFalsy(this.freight).homedir();
// };
// logSeeded(method: string) {
// if (this.freight.state === "seeded") {
// const err = new Error();
// // eslint-disable-next-line no-console
// console.warn(`SysContainer.${method} is not available in seeded state:`, err.stack);
// }
// }
// readonly runtime = runtimeFn;
// readonly env = envImpl;
// }
// // // eslint-disable-next-line @typescript-eslint/no-explicit-any
// // export async function saveImport(fName: string): Promise<any> {
// // try {
// // const i = await import(fName);
// // return i;
// // } catch (e: unknown) {
// // console.error(`saveImport failed for ${fName} with`, e);
// // throw e;
// // }
// // }
// export const SysContainer_X = new sysContainer();
import { Logger } from "@adviser/cement";
import { ActiveStore, CarClockHead, CarClockLink, TaskManagerIf } from "@fireproof/core-types-blockstore";
import { SuperThis, DbMeta } from "@fireproof/core-types-base";
import { ensureLogger } from "./utils.js";
interface TaskItem {
readonly cid: string;
readonly dbMeta: DbMeta;
readonly store: ActiveStore;
retries: number;
}
export interface TaskManagerParams {
readonly removeAfter: number; // default 3
readonly retryTimeout: number; // default 50
}
export class TaskManager implements TaskManagerIf {
// we need to remove the events after some time
private readonly eventsWeHandled = new Set<string>();
private queue: TaskItem[] = [];
private isProcessing = false;
readonly logger: Logger;
readonly params: TaskManagerParams;
readonly callback: (dbMeta: DbMeta, store: ActiveStore) => Promise<void>;
constructor(sthis: SuperThis, callback: (dbMeta: DbMeta, store: ActiveStore) => Promise<void>, params: TaskManagerParams) {
this.logger = ensureLogger(sthis, "TaskManager");
this.callback = callback;
this.params = params;
}
async handleEvent(cid: CarClockLink, parents: CarClockHead, dbMeta: DbMeta, store: ActiveStore) {
for (const parent of parents) {
this.eventsWeHandled.add(parent.toString());
}
this.queue.push({ cid: cid.toString(), dbMeta, retries: 0, store });
this.queue = this.queue.filter(({ cid }) => !this.eventsWeHandled.has(cid));
void this.processQueue();
}
private async processQueue() {
if (this.isProcessing) return;
this.isProcessing = true;
const filteredQueue = this.queue.filter(({ cid }) => !this.eventsWeHandled.has(cid));
const first = filteredQueue[0];
if (!first) {
this.isProcessing = false;
return;
}
try {
await this.callback(first.dbMeta, first.store);
this.eventsWeHandled.add(first.cid);
this.queue = this.queue.filter(({ cid }) => !this.eventsWeHandled.has(cid));
} catch (err) {
if (first.retries++ > 3) {
this.logger.Error().Str("cid", first.cid).Msg("failed to process event block after 3 retries");
this.queue = this.queue.filter(({ cid }) => cid !== first.cid);
}
await new Promise((resolve) => setTimeout(resolve, 50));
this.logger.Warn().Err(err).Msg("retry to process event block");
} finally {
this.isProcessing = false;
if (this.queue.length > 0) {
void this.processQueue();
}
}
}
}
{
"extends": [
"/home/runner/work/fireproof/fireproof/tsconfig.dist.json"
],
"compilerOptions": {
"noEmit": false,
"outDir": "./"
},
"include": [
"**/*"
],
"exclude": [
"node_modules",
"dist",
".git",
".vscode"
]
}
import {
Logger,
LoggerImpl,
IsLogger,
Result,
ResolveOnce,
isURL,
URI,
envFactory,
Env,
toCryptoRuntime,
CryptoRuntime,
JSONFormatter,
YAMLFormatter,
CoerceURI,
param,
AppContext,
} from "@adviser/cement";
import {
PARAM,
PathOps,
StoreType,
SuperThis,
SuperThisOpts,
TextEndeCoder,
PromiseToUInt8,
ToUInt8,
HasLogger,
} from "@fireproof/core-types-base";
import { base58btc } from "multiformats/bases/base58";
import { sha256 } from "multiformats/hashes/sha2";
import { CID } from "multiformats/cid";
import * as json from "multiformats/codecs/json";
import { toSortedArray } from "@adviser/cement/utils";
//export type { Logger };
//export { Result };
const _globalLogger = new ResolveOnce();
function globalLogger(): Logger {
return _globalLogger.once(() => new LoggerImpl());
}
const registerFP_DEBUG = new ResolveOnce();
interface superThisOpts {
readonly logger: Logger;
readonly env: Env;
readonly pathOps: PathOps;
readonly crypto: CryptoRuntime;
readonly ctx: AppContext;
readonly txt: TextEndeCoder;
}
class SuperThisImpl implements SuperThis {
readonly logger: Logger;
readonly env: Env;
readonly pathOps: PathOps;
readonly ctx: AppContext;
readonly txt: TextEndeCoder;
readonly crypto: CryptoRuntime;
constructor(opts: superThisOpts) {
this.logger = opts.logger;
this.env = opts.env;
this.crypto = opts.crypto;
this.pathOps = opts.pathOps;
this.txt = opts.txt;
this.ctx = AppContext.merge(opts.ctx);
// console.log("superThis", this);
}
nextId(bytes = 6): { str: string; bin: Uint8Array } {
const bin = this.crypto.randomBytes(bytes);
return {
str: base58btc.encode(bin),
bin,
};
}
timeOrderedNextId(now?: number): { str: string } {
now = typeof now === "number" ? now : new Date().getTime();
// 49th bit
const t = (0x1000000000000 + now).toString(16).replace(/^1/, "");
const bin = this.crypto.randomBytes(10);
bin[1] = (bin[1] & 0xf0) | (bin[1] | 0x08 && 0x0b);
const hex = Array.from(bin)
.map((i) => i.toString(16).padStart(2, "0"))
.join("");
return {
str: `${t.slice(0, 8)}-${t.slice(8)}-7${hex.slice(0, 3)}-${hex.slice(3, 7)}-${hex.slice(7, 19)}`,
};
}
start(): Promise<void> {
return Promise.resolve();
}
clone(override: Partial<SuperThisOpts>): SuperThis {
return new SuperThisImpl({
logger: override.logger || this.logger,
env: envFactory(override.env) || this.env,
crypto: override.crypto || this.crypto,
pathOps: override.pathOps || this.pathOps,
txt: override.txt || this.txt,
ctx: AppContext.merge(this.ctx, override.ctx),
});
}
}
// const pathOps =
function presetEnv(ipreset?: Map<string, string> | Record<string, string>): Map<string, string> {
let preset: Record<string, string> = {};
if (ipreset instanceof Map) {
preset = Object.fromEntries<string>(ipreset.entries());
} else if (typeof ipreset === "object" && ipreset !== null) {
preset = ipreset;
}
const penv = new Map([
// ["FP_DEBUG", "xxx"],
// ["FP_ENV", "development"],
...Array.from(
Object.entries({
...setPresetEnv({}),
...preset,
}),
), // .map(([k, v]) => [k, v as string])
]);
// console.log(">>>>>>", penv)
return penv;
}
// const envImpl = envFactory({
// symbol: "FP_ENV",
// presetEnv: presetEnv(),
// });
class pathOpsImpl implements PathOps {
join(...paths: string[]): string {
return paths.map((i) => i.replace(/\/+$/, "")).join("/");
}
dirname(path: string) {
return path.split("/").slice(0, -1).join("/");
}
basename(path: string): string {
return path.split("/").pop() || "";
}
// homedir() {
// throw new Error("SysContainer:homedir is not available in seeded state");
// }
}
const pathOps = new pathOpsImpl();
const txtOps = ((txtEncoder, txtDecoder) => ({
encode: (input: string) => txtEncoder.encode(input),
decode: (input: ToUInt8) => txtDecoder.decode(coerceIntoUint8(input).Ok()),
// eslint-disable-next-line no-restricted-globals
}))(new TextEncoder(), new TextDecoder());
const _onSuperThis = new Map<string, (sthis: SuperThis) => void>();
export function onSuperThis(fn: (sthis: SuperThis) => void): () => void {
const key = `onSuperThis-${Math.random().toString(36).slice(2)}`;
_onSuperThis.set(key, fn);
return () => {
_onSuperThis.delete(key);
};
}
export function ensureSuperThis(osthis?: Partial<SuperThisOpts>): SuperThis {
const env = envFactory({
symbol: osthis?.env?.symbol || "FP_ENV",
presetEnv: presetEnv(osthis?.env?.presetEnv),
});
const ret = new SuperThisImpl({
logger: osthis?.logger || globalLogger(),
env,
crypto: osthis?.crypto || toCryptoRuntime(),
ctx: AppContext.merge(osthis?.ctx),
pathOps,
txt: osthis?.txt || txtOps,
});
_onSuperThis.forEach((fn) => fn(ret));
return ret;
}
// // eslint-disable-next-line @typescript-eslint/no-unused-vars
export function ensureSuperLog(sthis: SuperThis, componentName: string, ctx?: Record<string, unknown>): SuperThis {
return sthis.clone({
logger: ensureLogger(sthis, componentName, ctx),
});
}
export function ensureLogger(
sthis: SuperThis /* Partial<LoggerOpts> | Logger */,
componentName: string,
ctx?: Record<string, unknown>,
): Logger {
// if (!opts?.logger) {
// throw new Error("logger is required");
// }
let logger: Logger;
if (sthis && IsLogger(sthis.logger)) {
logger = sthis.logger;
} else {
logger = globalLogger();
}
const cLogger = logger.With().Module(componentName); //.Str("this", uuidv7());
const debug: string[] = [];
let exposeStack = false;
if (ctx) {
if ("debug" in ctx) {
if (typeof ctx.debug === "string" && ctx.debug.length > 0) {
debug.push(ctx.debug);
} else {
debug.push(componentName);
}
delete ctx.debug;
}
if ("exposeStack" in ctx) {
exposeStack = true;
delete ctx.exposeStack;
}
if ("exposeStack" in ctx) {
exposeStack = true;
delete ctx.exposeStack;
}
if ("this" in ctx) {
cLogger.Str("this", sthis.nextId(4).str);
delete ctx.this;
}
for (const [key, value] of Object.entries(ctx)) {
switch (typeof value) {
case "string":
cLogger.Str(key, value);
break;
case "number":
cLogger.Uint64(key, value);
break;
default:
if (value instanceof Date) {
cLogger.Str(key, value.toISOString());
} else if (isURL(value)) {
cLogger.Str(key, value.toString());
} else if (typeof value === "function") {
cLogger.Ref(key, value);
} else {
cLogger.Any(key, value);
}
break;
}
}
}
registerFP_DEBUG
.once(async () => {
// console.log("registerFP_DEBUG", SysContainer.env)
sthis.env.onSet(
(key, value) => {
// console.log("FP_DEBUG", key, value, debug)
switch (key) {
case "FP_FORMAT": {
switch (value) {
case "jsonice":
logger.SetFormatter(new JSONFormatter(logger.TxtEnDe(), 2));
break;
case "yaml":
logger.SetFormatter(new YAMLFormatter(logger.TxtEnDe(), 2));
break;
case "json":
default:
logger.SetFormatter(new JSONFormatter(logger.TxtEnDe()));
break;
}
break;
}
case "FP_DEBUG":
logger.SetDebug(value || []);
break;
case "FP_STACK":
logger.SetExposeStack(!!value);
break;
}
},
"FP_FORMAT",
"FP_DEBUG",
"FP_STACK",
);
})
.finally(() => {
/* do nothing */
});
if (debug.length > 0) {
logger.SetDebug(debug);
}
if (exposeStack) {
logger.SetExposeStack(true);
}
const out = cLogger.Logger();
if (sthis.env.get("FP_CONSTRUCTOR_DEBUG")) {
out.Debug().Msg("constructor");
}
return out;
}
export type Joiner = (...toJoin: string[]) => string;
export interface Store {
readonly pathPart: "data" | "wal" | "meta";
readonly fromUrl: StoreType;
readonly name: string;
}
export function getStore(url: URI, sthis: SuperThis, joiner: Joiner): Store {
const fromUrl = url.getParam(PARAM.STORE) as StoreType;
let pathPart: Store["pathPart"];
switch (fromUrl) {
case "car":
case "file":
pathPart = "data";
break;
case "wal":
case "meta":
pathPart = fromUrl;
break;
default:
throw sthis.logger.Error().Url(url).Msg(`store not found`).AsError();
}
let name: string = pathPart;
if (url.hasParam("index")) {
name = joiner(url.getParam(PARAM.INDEX) || "idx", name);
}
return { pathPart, fromUrl, name };
}
export function getKey(url: URI, logger: Logger): string {
const result = url.getParam(PARAM.KEY);
if (!result) throw logger.Error().Str("url", url.toString()).Msg(`key not found`).AsError();
return result;
}
export function getName(sthis: SuperThis, url: URI): string {
let result = url.getParam(PARAM.NAME);
if (!result) {
result = sthis.pathOps.dirname(url.pathname);
if (result.length === 0) {
throw sthis.logger.Error().Str("url", url.toString()).Msg(`name not found`).AsError();
}
}
return result;
}
// export function exception2Result<T = void>(fn: () => Promise<T>): Promise<Result<T>> {
// return fn()
// .then((value) => Result.Ok(value))
// .catch((e) => Result.Err(e));
// }
export async function exceptionWrapper<T, E extends Error>(fn: () => Promise<Result<T, E>>): Promise<Result<T, E>> {
return fn().catch((e) => Result.Err(e));
}
// // the big side effect party --- hate it
// export function sanitizeURL(url: URL) {
// url.searchParams.sort();
// // const searchParams = Object.entries(url.searchParams).sort(([a], [b]) => a.localeCompare(b));
// // console.log("searchParams", searchParams);
// // for (const [key] of searchParams) {
// // url.searchParams.delete(key);
// // }
// // for (const [key, value] of searchParams) {
// // url.searchParams.set(key, value);
// // }
// }
export function UInt8ArrayEqual(a: Uint8Array, b: Uint8Array): boolean {
if (a.length !== b.length) {
return false;
}
for (let i = 0; i < a.length; i++) {
if (a[i] !== b[i]) {
return false;
}
}
return true;
}
export function inplaceFilter<T>(i: T[], pred: (i: T, idx: number) => boolean): T[] {
const founds: number[] = [];
for (let j = 0; j < i.length; j++) {
if (!pred(i[j], j)) {
founds.push(j);
}
}
for (let j = founds.length - 1; j >= 0; j--) {
i.splice(founds[j], 1);
}
return i;
}
export function coerceIntoUint8(raw: ToUInt8): Result<Uint8Array> {
if (raw instanceof Uint8Array) {
return Result.Ok(raw);
}
if (Result.Is(raw)) {
return raw;
}
return Result.Err("Not a Uint8Array");
}
export async function coercePromiseIntoUint8(raw: PromiseToUInt8): Promise<Result<Uint8Array>> {
if (raw instanceof Uint8Array) {
return Result.Ok(raw);
}
if (Result.Is(raw)) {
return raw;
}
if (typeof raw.then === "function") {
try {
return coercePromiseIntoUint8(await raw);
} catch (e) {
return Result.Err(e as Error);
}
}
return Result.Err("Not a Uint8Array");
}
export function makeName(fnString: string) {
const regex = /\(([^,()]+,\s*[^,()]+|\[[^\]]+\],\s*[^,()]+)\)/g;
let found: RegExpExecArray | null = null;
const matches = Array.from(fnString.matchAll(regex), (match) => match[1].trim());
if (matches.length === 0) {
found = /=>\s*{?\s*([^{}]+)\s*}?/.exec(fnString);
if (found && found[1].includes("return")) {
found = null;
}
}
if (!found) {
return fnString;
} else {
// it's a consise arrow function, match everything after the arrow
return found[1];
}
}
export function storeType2DataMetaWal(store: StoreType) {
switch (store) {
case "car":
case "file":
return "data";
case "meta":
case "wal":
return store;
default:
throw new Error(`unknown store ${store}`);
}
}
export function ensureURIDefaults(
sthis: SuperThis,
names: { name: string; localURI?: URI },
curi: CoerceURI | undefined,
uri: URI,
store: StoreType,
ctx?: Partial<{
readonly idx: boolean;
readonly file: boolean;
}>,
): URI {
ctx = ctx || {};
const ret = (curi ? URI.from(curi) : uri).build().setParam(PARAM.STORE, store).defParam(PARAM.NAME, names.name);
if (names.localURI) {
const rParams = names.localURI.getParamsResult({
[PARAM.NAME]: param.OPTIONAL,
[PARAM.STORE_KEY]: param.OPTIONAL,
});
const params = rParams.Ok();
if (params[PARAM.NAME]) {
ret.defParam(PARAM.LOCAL_NAME, params[PARAM.NAME]);
}
if (params[PARAM.STORE_KEY]) {
ret.defParam(PARAM.STORE_KEY, params[PARAM.STORE_KEY]);
}
}
// if (!ret.hasParam(PARAM.NAME)) {
// // const name = sthis.pathOps.basename(ret.URI().pathname);
// // if (!name) {
// throw sthis.logger.Error().Url(ret).Any("ctx", ctx).Msg("Ledger name is required").AsError();
// // }
// // ret.setParam(PARAM.NAME, name);
// }
if (ctx.idx) {
ret.defParam(PARAM.INDEX, "idx");
ret.defParam(PARAM.STORE_KEY, `@${ret.getParam(PARAM.NAME)}-${storeType2DataMetaWal(store)}-idx@`);
} else {
ret.defParam(PARAM.STORE_KEY, `@${ret.getParam(PARAM.NAME)}-${storeType2DataMetaWal(store)}@`);
}
if (store === "car") {
ret.defParam(PARAM.SUFFIX, ".car");
}
return ret.URI();
}
export function setPresetEnv(o: Record<string, string>, symbol = "FP_PRESET_ENV") {
const key = Symbol.for(symbol);
const env = (globalThis as unknown as Record<symbol, Record<string, string>>)[key] ?? {};
for (const [k, v] of Object.entries(o)) {
env[k] = v;
}
(globalThis as unknown as Record<symbol, Record<string, string>>)[key] = env;
// console.log("setPresetEnv", key, env);
return env;
}
export async function hashString(str: string): Promise<string> {
const bytes = json.encode(str);
const hash = await sha256.digest(bytes);
return CID.create(1, json.code, hash).toString();
}
export async function hashObject<T extends NonNullable<S>, S>(o: T): Promise<string> {
return (await hashObjectCID(o)).cid.toString();
}
export async function hashObjectCID<T extends NonNullable<S>, S>(o: T): Promise<{ cid: CID; bytes: Uint8Array; obj: T }> {
// toSortedArray should be shallow
const bytes = json.encode(toSortedArray(o));
const hash = await sha256.digest(bytes);
return { cid: CID.create(1, json.code, hash), bytes, obj: o };
}
export function sleep(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
/**
* Deep clone a value
*/
export function deepClone<T>(value: T): T {
return (structuredClone ?? ((v: T) => JSON.parse(JSON.stringify(v))))(value);
}
function coerceLogger(loggerOrHasLogger: Logger | HasLogger): Logger {
if (IsLogger(loggerOrHasLogger)) {
return loggerOrHasLogger;
} else {
return loggerOrHasLogger.logger;
}
}
export function timerStart(loggerOrHasLogger: Logger | HasLogger, tag: string) {
coerceLogger(loggerOrHasLogger).Debug().TimerStart(tag).Msg("Timing started");
}
export function timerEnd(loggerOrHasLogger: Logger | HasLogger, tag: string) {
coerceLogger(loggerOrHasLogger).Debug().TimerEnd(tag).Msg("Timing ended");
}