nolo-cli 0.143.0-alpha.1 → 0.145.0-alpha.1
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/README.md +2 -0
- package/{_executeModel-QK43QR2R.js → _executeModel-M3FASQ2Z.js} +18 -17
- package/{agentDeleteCommand-SE4WUIRR.js → agentDeleteCommand-K7GCEEVS.js} +10 -9
- package/{agentEmailCommands-LW5JMYH2.js → agentEmailCommands-MNXRO36L.js} +24 -23
- package/{agentListCommands-LGZG2OQR.js → agentListCommands-KMZR6VVM.js} +12 -11
- package/{agentMachineCommands-BNOXYSPZ.js → agentMachineCommands-75TIBYDY.js} +10 -9
- package/{agentProviderCommands-AOG3OZJA.js → agentProviderCommands-TWB6E5WD.js} +1 -1
- package/{agentRecordCommands-W5ZXPHZV.js → agentRecordCommands-RDO5L3N4.js} +23 -22
- package/{agentRunCommand-VRLCL57M.js → agentRunCommand-FVJJPL27.js} +23 -22
- package/{agentRuntimeLocal-VOQ3UYZB.js → agentRuntimeLocal-DAK7RCER.js} +8 -7
- package/{agentSlice-4AK24F5F.js → agentSlice-6MRJR2BJ.js} +1 -1
- package/{appDeleteCommands-XWAIUHTN.js → appDeleteCommands-JMMXK3XT.js} +11 -10
- package/{appDeployCommands-CBJJCUMG.js → appDeployCommands-JFU6GALI.js} +11 -10
- package/{appDeployStatusCommands-LTTZTJQS.js → appDeployStatusCommands-AXTZ4GAN.js} +11 -10
- package/{appGetCommands-QHUB7MFF.js → appGetCommands-CR2W3DCM.js} +11 -10
- package/{appListCommands-HINIDJE7.js → appListCommands-2TV6P3EU.js} +11 -10
- package/{authCommand-LARLQ3GC.js → authCommand-UBJ4EWYZ.js} +6 -6
- package/{authCommands-GBIFZWD3.js → authCommands-H6WKKCRW.js} +1 -1
- package/{builtinSkillRegistry-AFPSTTAU.js → builtinSkillRegistry-ZMF6YGNO.js} +4 -3
- package/{chatQueueReduxAdapter-KIQ3FQ62.js → chatQueueReduxAdapter-CDOHVTSE.js} +2 -2
- package/{chromeCommands-NKU3OWKH.js → chromeCommands-2N6MEWRU.js} +94 -23
- package/{chromeOpsCommands-OQDJGD4Y.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-7MUSNQ6E.js → chunk-27ONFIEY.js} +20 -2
- package/{chunk-OZ6V53WV.js → chunk-2EE5UD3N.js} +1 -1
- package/{chunk-44QZPYLI.js → chunk-2SYTUTLI.js} +92 -20
- package/{chunk-DID5AVGT.js → chunk-2TKVOEQF.js} +11 -10
- package/chunk-5J3PYNUP.js +255 -0
- package/{chunk-OUOJE2P2.js → chunk-5XYFIDFU.js} +5 -5
- package/{chunk-WTUVMKSQ.js → chunk-62XHRZG4.js} +2 -2
- package/{chunk-WC6A2Q7S.js → chunk-6TPOEJMQ.js} +5 -2
- package/{chunk-RRMAZ2BI.js → chunk-7NANRWL4.js} +1 -1
- package/{chunk-44F6KKUE.js → chunk-7YAK46ML.js} +3 -3
- package/{chunk-NOGH7HCP.js → chunk-A6FNUMCF.js} +47 -6
- package/{chunk-OFYHCA6W.js → chunk-AATZZAZE.js} +1 -1
- package/{chunk-KUPDS66Q.js → chunk-ANX7Z7Z2.js} +8 -8
- package/{chunk-J5H6SUOW.js → chunk-B2XUQXQX.js} +2 -2
- package/{chunk-A5MB5RIT.js → chunk-CCOXTK3I.js} +1 -1
- package/chunk-GNMAFAIS.js +29 -0
- package/{chunk-GZQNKKDG.js → chunk-HKBFZONG.js} +1 -1
- package/{chunk-7LLWEG6F.js → chunk-I44MDY73.js} +3 -3
- package/{chunk-QDT5T7MK.js → chunk-I4OPU5TK.js} +1 -1
- package/{chunk-VPFEPRME.js → chunk-IVZJWTDI.js} +3 -0
- package/{chunk-CTGZO35O.js → chunk-JLQKV2ZJ.js} +2 -2
- package/{chunk-PQVOC2CZ.js → chunk-M2YBIBBS.js} +1 -1
- package/{chunk-ZOI6KA4N.js → chunk-M76SRQ3H.js} +34 -22
- package/{chunk-K25DK52L.js → chunk-OKSJZ4UU.js} +21 -223
- package/{chunk-U5QTKTZE.js → chunk-P6GMCCAT.js} +1 -1
- package/{chunk-L6RB42ZR.js → chunk-QFZM5BFI.js} +3 -3
- package/{chunk-GH4MH73K.js → chunk-RHDOQWXZ.js} +175 -17
- package/{chunk-M6NK74VP.js → chunk-S5XGT6GB.js} +1 -1
- package/{chunk-KUWT3C2P.js → chunk-T76D3OYX.js} +1 -1
- package/{chunk-MXRUAINC.js → chunk-UMB7CHAY.js} +3 -3
- package/{chunk-VVUSRF5D.js → chunk-VJ4FUWPC.js} +3 -3
- package/{chunk-T36EFAW7.js → chunk-VZVTPDPL.js} +3 -3
- package/{chunk-AAROOKLX.js → chunk-X2QRZXZH.js} +1 -1
- package/{chunk-WYYO2YOL.js → chunk-XNXNHAAP.js} +1 -1
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-DOBBRISY.js → chunk-Y6XHJ4JJ.js} +22 -10
- package/{chunk-W247GBSQ.js → chunk-YU2THNST.js} +1 -1
- package/{chunk-OY5IJI2N.js → chunk-YUNJN43V.js} +23 -3
- package/{commandRegistry-DETYXF5I.js → commandRegistry-ZF6YXQWV.js} +76 -65
- package/{contentThunks-6QBTPLWT.js → contentThunks-6Y6ATG3A.js} +3 -3
- package/{createAgentAutomationAction-TZVIJTZ7.js → createAgentAutomationAction-OQTLA2FC.js} +3 -3
- package/{createDialogAction-KTDAEA42.js → createDialogAction-IF5EZMBD.js} +6 -5
- package/{createPageAction-4RASVDAU.js → createPageAction-GU766R3L.js} +3 -3
- package/{dialogCommands-GY7LRERG.js → dialogCommands-QV7XAX2V.js} +11 -10
- package/{dialogSlice-J24APUGG.js → dialogSlice-CVHMDSVV.js} +2 -2
- package/{docCreateCommands-T7KII3WP.js → docCreateCommands-FSBANQTO.js} +10 -9
- package/{docDeleteCommands-SQ26EFE6.js → docDeleteCommands-4IR4YSGU.js} +11 -10
- package/{docReadCommands-I6NA2ZKV.js → docReadCommands-4EYPGUE3.js} +10 -9
- package/{docStore-SPOGE7K3.js → docStore-RQOWPNON.js} +1 -1
- package/{docUpdateCommands-IG43SZ6U.js → docUpdateCommands-RW2BYLSE.js} +10 -9
- package/{handleSendMessageAction-I2IN64DS.js → handleSendMessageAction-UDTPG5WK.js} +4 -3
- package/index.js +4 -4
- package/{machineCommands-U7VABJPW.js → machineCommands-WBQ4TCPD.js} +22 -21
- package/{machineWsRunDispatch-ZNU6LRNG.js → machineWsRunDispatch-7DNDXUOS.js} +22 -21
- package/node_modules/abstract-level/CHANGELOG.md +150 -0
- package/node_modules/abstract-level/LICENSE +21 -0
- package/node_modules/abstract-level/README.md +1957 -0
- package/node_modules/abstract-level/UPGRADING.md +669 -0
- package/node_modules/abstract-level/abstract-chained-batch.js +397 -0
- package/node_modules/abstract-level/abstract-iterator.js +404 -0
- package/node_modules/abstract-level/abstract-level.js +1127 -0
- package/node_modules/abstract-level/abstract-snapshot.js +84 -0
- package/node_modules/abstract-level/index.d.ts +52 -0
- package/node_modules/abstract-level/index.js +9 -0
- package/node_modules/abstract-level/lib/abstract-sublevel-iterator.js +141 -0
- package/node_modules/abstract-level/lib/abstract-sublevel.js +290 -0
- package/node_modules/abstract-level/lib/common.js +33 -0
- package/node_modules/abstract-level/lib/default-chained-batch.js +29 -0
- package/node_modules/abstract-level/lib/default-kv-iterator.js +74 -0
- package/node_modules/abstract-level/lib/deferred-iterator.js +110 -0
- package/node_modules/abstract-level/lib/deferred-queue.js +84 -0
- package/node_modules/abstract-level/lib/errors.js +21 -0
- package/node_modules/abstract-level/lib/event-monitor.js +30 -0
- package/node_modules/abstract-level/lib/hooks.js +78 -0
- package/node_modules/abstract-level/lib/prefixes.js +21 -0
- package/node_modules/abstract-level/lib/prewrite-batch.js +96 -0
- package/node_modules/abstract-level/lib/range-options.js +26 -0
- package/node_modules/abstract-level/package.json +66 -0
- package/node_modules/abstract-level/test/async-iterator-test.js +132 -0
- package/node_modules/abstract-level/test/batch-test.js +214 -0
- package/node_modules/abstract-level/test/chained-batch-test.js +315 -0
- package/node_modules/abstract-level/test/clear-range-test.js +262 -0
- package/node_modules/abstract-level/test/clear-test.js +110 -0
- package/node_modules/abstract-level/test/common.js +90 -0
- package/node_modules/abstract-level/test/deferred-open-test.js +209 -0
- package/node_modules/abstract-level/test/del-test.js +65 -0
- package/node_modules/abstract-level/test/encoding-buffer-test.js +336 -0
- package/node_modules/abstract-level/test/encoding-custom-test.js +92 -0
- package/node_modules/abstract-level/test/encoding-decode-error-test.js +85 -0
- package/node_modules/abstract-level/test/encoding-json-test.js +75 -0
- package/node_modules/abstract-level/test/encoding-test.js +130 -0
- package/node_modules/abstract-level/test/events/write.js +132 -0
- package/node_modules/abstract-level/test/factory-test.js +36 -0
- package/node_modules/abstract-level/test/get-many-test.js +157 -0
- package/node_modules/abstract-level/test/get-sync-test.js +61 -0
- package/node_modules/abstract-level/test/get-test.js +83 -0
- package/node_modules/abstract-level/test/has-many-test.js +144 -0
- package/node_modules/abstract-level/test/has-test.js +81 -0
- package/node_modules/abstract-level/test/hooks/newsub.js +57 -0
- package/node_modules/abstract-level/test/hooks/postopen.js +229 -0
- package/node_modules/abstract-level/test/hooks/prewrite.js +816 -0
- package/node_modules/abstract-level/test/hooks/shared.js +38 -0
- package/node_modules/abstract-level/test/index.js +86 -0
- package/node_modules/abstract-level/test/iterator-explicit-snapshot-test.js +393 -0
- package/node_modules/abstract-level/test/iterator-no-snapshot-test.js +49 -0
- package/node_modules/abstract-level/test/iterator-range-test.js +277 -0
- package/node_modules/abstract-level/test/iterator-seek-test.js +335 -0
- package/node_modules/abstract-level/test/iterator-snapshot-test.js +56 -0
- package/node_modules/abstract-level/test/iterator-test.js +621 -0
- package/node_modules/abstract-level/test/manifest-test.js +21 -0
- package/node_modules/abstract-level/test/open-create-if-missing-test.js +39 -0
- package/node_modules/abstract-level/test/open-error-if-exists-test.js +25 -0
- package/node_modules/abstract-level/test/open-test.js +263 -0
- package/node_modules/abstract-level/test/put-get-del-test.js +97 -0
- package/node_modules/abstract-level/test/put-test.js +70 -0
- package/node_modules/abstract-level/test/self/abstract-iterator-test.js +182 -0
- package/node_modules/abstract-level/test/self/async-iterator-test.js +242 -0
- package/node_modules/abstract-level/test/self/attach-resource-test.js +74 -0
- package/node_modules/abstract-level/test/self/defer-test.js +140 -0
- package/node_modules/abstract-level/test/self/deferred-iterator-test.js +314 -0
- package/node_modules/abstract-level/test/self/deferred-operations-test.js +86 -0
- package/node_modules/abstract-level/test/self/deferred-queue-test.js +93 -0
- package/node_modules/abstract-level/test/self/encoding-test.js +391 -0
- package/node_modules/abstract-level/test/self/errors-test.js +11 -0
- package/node_modules/abstract-level/test/self/iterator-test.js +1050 -0
- package/node_modules/abstract-level/test/self/sublevel-test.js +1039 -0
- package/node_modules/abstract-level/test/self.js +905 -0
- package/node_modules/abstract-level/test/sublevel-test.js +209 -0
- package/node_modules/abstract-level/test/traits/closed.js +42 -0
- package/node_modules/abstract-level/test/traits/index.js +4 -0
- package/node_modules/abstract-level/test/traits/open.js +62 -0
- package/node_modules/abstract-level/test/util.js +275 -0
- package/node_modules/abstract-level/types/abstract-chained-batch.d.ts +124 -0
- package/node_modules/abstract-level/types/abstract-iterator.d.ts +241 -0
- package/node_modules/abstract-level/types/abstract-level.d.ts +636 -0
- package/node_modules/abstract-level/types/abstract-snapshot.d.ts +30 -0
- package/node_modules/abstract-level/types/abstract-sublevel.d.ts +76 -0
- package/node_modules/abstract-level/types/interfaces.d.ts +43 -0
- package/node_modules/base64-js/LICENSE +21 -0
- package/node_modules/base64-js/README.md +34 -0
- package/node_modules/base64-js/base64js.min.js +1 -0
- package/node_modules/base64-js/index.d.ts +3 -0
- package/node_modules/base64-js/index.js +150 -0
- package/node_modules/base64-js/package.json +47 -0
- package/node_modules/browser-level/CHANGELOG.md +44 -0
- package/node_modules/browser-level/LICENSE +21 -0
- package/node_modules/browser-level/README.md +124 -0
- package/node_modules/browser-level/UPGRADING.md +143 -0
- package/node_modules/browser-level/index.d.ts +108 -0
- package/node_modules/browser-level/index.js +323 -0
- package/node_modules/browser-level/iterator.js +239 -0
- package/node_modules/browser-level/package.json +48 -0
- package/node_modules/browser-level/util/clear.js +38 -0
- package/node_modules/browser-level/util/deserialize.js +17 -0
- package/node_modules/browser-level/util/key-range.js +20 -0
- package/node_modules/buffer/AUTHORS.md +73 -0
- package/node_modules/buffer/LICENSE +21 -0
- package/node_modules/buffer/README.md +410 -0
- package/node_modules/buffer/index.d.ts +194 -0
- package/node_modules/buffer/index.js +2106 -0
- package/node_modules/buffer/package.json +93 -0
- package/node_modules/classic-level/CHANGELOG.md +115 -0
- package/node_modules/classic-level/LICENSE +21 -0
- package/node_modules/classic-level/README.md +274 -0
- package/node_modules/classic-level/UPGRADING.md +131 -0
- package/node_modules/classic-level/binding.cc +2652 -0
- package/node_modules/classic-level/binding.gyp +71 -0
- package/node_modules/classic-level/binding.js +1 -0
- package/node_modules/classic-level/chained-batch.js +35 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/LICENSE +27 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/Makefile +424 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/build_detect_platform +256 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/autocompact_test.cc +118 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/builder.cc +88 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/builder.h +34 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/c.cc +595 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/c_test.c +390 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/corruption_test.cc +374 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_bench.cc +1020 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_impl.cc +1568 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_impl.h +212 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_iter.cc +317 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_iter.h +28 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/db_test.cc +2158 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat.cc +140 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat.h +230 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dbformat_test.cc +112 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/dumpfile.cc +225 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/fault_injection_test.cc +554 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename.cc +144 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename.h +85 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/filename_test.cc +123 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/leveldbutil.cc +64 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_format.h +35 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_reader.cc +284 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_reader.h +113 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_test.cc +591 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_writer.cc +112 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/log_writer.h +54 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/memtable.cc +145 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/memtable.h +89 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/recovery_test.cc +324 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/repair.cc +461 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/skiplist.h +384 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/skiplist_test.cc +378 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/snapshot.h +67 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/table_cache.cc +127 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/table_cache.h +61 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit.cc +266 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit.h +107 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_edit_test.cc +46 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set.cc +1535 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set.h +399 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/version_set_test.cc +179 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch.cc +147 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch_internal.h +50 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/db/write_batch_test.cc +120 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.cc +398 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv.h +20 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/helpers/memenv/memenv_test.cc +241 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/c.h +290 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/cache.h +110 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/comparator.h +63 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/db.h +164 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/dumpfile.h +25 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/env.h +351 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/filter_policy.h +70 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/iterator.h +100 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/options.h +213 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/slice.h +109 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/status.h +112 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/table.h +85 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/table_builder.h +92 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/value_sink.h +26 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/include/leveldb/write_batch.h +64 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/issues/issue178_test.cc +92 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/issues/issue200_test.cc +59 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/atomic_pointer.h +242 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port.h +21 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_example.h +141 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix.cc +53 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix.h +156 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/port_posix_sse.cc +129 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/thread_annotations.h +60 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/port/win/stdint.h +24 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block.cc +268 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block.h +44 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block_builder.cc +109 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/block_builder.h +57 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block.cc +111 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block.h +68 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/filter_block_test.cc +128 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/format.cc +144 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/format.h +108 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/iterator.cc +67 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/iterator_wrapper.h +66 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/merger.cc +197 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/merger.h +26 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table.cc +285 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table_builder.cc +270 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/table_test.cc +876 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/two_level_iterator.cc +182 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/table/two_level_iterator.h +34 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena.cc +68 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena.h +68 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/arena_test.cc +68 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/bloom.cc +95 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/bloom_test.cc +162 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/cache.cc +405 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/cache_test.cc +226 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding.cc +194 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding.h +104 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/coding_test.cc +196 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/comparator.cc +81 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c.cc +350 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c.h +45 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/crc32c_test.cc +72 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env.cc +100 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix.cc +695 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix_test.cc +66 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_posix_test_helper.h +28 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/env_test.cc +106 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/filter_policy.cc +11 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash.cc +52 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash.h +19 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/hash_test.cc +54 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/histogram.cc +139 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/histogram.h +42 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/logging.cc +72 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/logging.h +43 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/mutexlock.h +41 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/options.cc +30 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/posix_logger.h +98 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/random.h +64 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/status.cc +75 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testharness.cc +77 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testharness.h +138 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testutil.cc +51 -0
- package/node_modules/classic-level/deps/leveldb/leveldb-1.20/util/testutil.h +63 -0
- package/node_modules/classic-level/deps/leveldb/leveldb.gyp +282 -0
- package/node_modules/classic-level/deps/leveldb/patches/001-value-sink.patch +164 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/atomic_pointer_win.h +48 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/env_win.cc +692 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.cc +36 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.h +157 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/port_uv.h.bak +153 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/stdint-msvc2008.h +247 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/uv_condvar.h +45 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/uv_condvar_posix.cc +139 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/win_logger.cc +79 -0
- package/node_modules/classic-level/deps/leveldb/port-libuv/win_logger.h +28 -0
- package/node_modules/classic-level/deps/snappy/freebsd/config.h +135 -0
- package/node_modules/classic-level/deps/snappy/freebsd/snappy-stubs-public.h +100 -0
- package/node_modules/classic-level/deps/snappy/linux/config.h +135 -0
- package/node_modules/classic-level/deps/snappy/linux/snappy-stubs-public.h +100 -0
- package/node_modules/classic-level/deps/snappy/mac/config.h +137 -0
- package/node_modules/classic-level/deps/snappy/mac/snappy-stubs-public.h +100 -0
- package/node_modules/classic-level/deps/snappy/openbsd/config.h +135 -0
- package/node_modules/classic-level/deps/snappy/openbsd/snappy-stubs-public.h +100 -0
- package/node_modules/classic-level/deps/snappy/snappy/COPYING +54 -0
- package/node_modules/classic-level/deps/snappy/snappy/cmake/SnappyConfig.cmake +1 -0
- package/node_modules/classic-level/deps/snappy/snappy/cmake/config.h.in +62 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-c.cc +90 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-c.h +138 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-internal.h +224 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-sinksource.cc +104 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-sinksource.h +182 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-internal.cc +42 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-internal.h +561 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-stubs-public.h.in +94 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-test.cc +612 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy-test.h +573 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy.cc +1515 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy.h +203 -0
- package/node_modules/classic-level/deps/snappy/snappy/snappy_unittest.cc +1410 -0
- package/node_modules/classic-level/deps/snappy/snappy.gyp +119 -0
- package/node_modules/classic-level/deps/snappy/solaris/config.h +135 -0
- package/node_modules/classic-level/deps/snappy/solaris/snappy-stubs-public.h +100 -0
- package/node_modules/classic-level/deps/snappy/win32/config.h +29 -0
- package/node_modules/classic-level/deps/snappy/win32/snappy-stubs-public.h +100 -0
- package/node_modules/classic-level/index.d.ts +343 -0
- package/node_modules/classic-level/index.js +311 -0
- package/node_modules/classic-level/iterator.js +122 -0
- package/node_modules/classic-level/package.json +70 -0
- package/node_modules/classic-level/prebuilds/android-arm/classic-level.armv7.node +0 -0
- package/node_modules/classic-level/prebuilds/android-arm64/classic-level.armv8.node +0 -0
- package/node_modules/classic-level/prebuilds/darwin-x64+arm64/classic-level.node +0 -0
- package/node_modules/classic-level/prebuilds/linux-arm/classic-level.armv6.node +0 -0
- package/node_modules/classic-level/prebuilds/linux-arm/classic-level.armv7.node +0 -0
- package/node_modules/classic-level/prebuilds/linux-arm64/classic-level.armv8.node +0 -0
- package/node_modules/classic-level/prebuilds/linux-x64/classic-level.musl.node +0 -0
- package/node_modules/classic-level/prebuilds/linux-x64/classic-level.node +0 -0
- package/node_modules/classic-level/prebuilds/win32-ia32/classic-level.node +0 -0
- package/node_modules/classic-level/prebuilds/win32-x64/classic-level.node +0 -0
- package/node_modules/ieee754/LICENSE +11 -0
- package/node_modules/ieee754/README.md +51 -0
- package/node_modules/ieee754/index.d.ts +10 -0
- package/node_modules/ieee754/index.js +85 -0
- package/node_modules/ieee754/package.json +52 -0
- package/node_modules/is-buffer/LICENSE +21 -0
- package/node_modules/is-buffer/README.md +54 -0
- package/node_modules/is-buffer/index.d.ts +2 -0
- package/node_modules/is-buffer/index.js +11 -0
- package/node_modules/is-buffer/package.json +65 -0
- package/node_modules/level/CHANGELOG.md +532 -0
- package/node_modules/level/LICENSE +21 -0
- package/node_modules/level/README.md +107 -0
- package/node_modules/level/UPGRADING.md +413 -0
- package/node_modules/level/browser.js +1 -0
- package/node_modules/level/index.d.ts +75 -0
- package/node_modules/level/index.js +1 -0
- package/node_modules/level/package.json +62 -0
- package/node_modules/level-supports/CHANGELOG.md +140 -0
- package/node_modules/level-supports/LICENSE +21 -0
- package/node_modules/level-supports/README.md +276 -0
- package/node_modules/level-supports/index.d.ts +137 -0
- package/node_modules/level-supports/index.js +26 -0
- package/node_modules/level-supports/package.json +46 -0
- package/node_modules/level-supports/test/cloneable.js +26 -0
- package/node_modules/level-supports/test/index.js +24 -0
- package/node_modules/level-supports/test/self.js +86 -0
- package/node_modules/level-supports/test/shape.js +23 -0
- package/node_modules/level-transcoder/CHANGELOG.md +15 -0
- package/node_modules/level-transcoder/LICENSE +21 -0
- package/node_modules/level-transcoder/README.md +214 -0
- package/node_modules/level-transcoder/UPGRADING.md +13 -0
- package/node_modules/level-transcoder/index.d.ts +27 -0
- package/node_modules/level-transcoder/index.js +158 -0
- package/node_modules/level-transcoder/lib/encoding.d.ts +158 -0
- package/node_modules/level-transcoder/lib/encoding.js +105 -0
- package/node_modules/level-transcoder/lib/encodings.d.ts +9 -0
- package/node_modules/level-transcoder/lib/encodings.js +135 -0
- package/node_modules/level-transcoder/lib/formats.d.ts +13 -0
- package/node_modules/level-transcoder/lib/formats.js +111 -0
- package/node_modules/level-transcoder/lib/text-endec.d.ts +6 -0
- package/node_modules/level-transcoder/lib/text-endec.js +19 -0
- package/node_modules/level-transcoder/package.json +46 -0
- package/node_modules/maybe-combine-errors/LICENSE.md +21 -0
- package/node_modules/maybe-combine-errors/README.md +94 -0
- package/node_modules/maybe-combine-errors/index.js +60 -0
- package/node_modules/maybe-combine-errors/package.json +33 -0
- package/node_modules/module-error/CHANGELOG.md +23 -0
- package/node_modules/module-error/LICENSE +21 -0
- package/node_modules/module-error/README.md +89 -0
- package/node_modules/module-error/index.d.ts +18 -0
- package/node_modules/module-error/index.js +22 -0
- package/node_modules/module-error/package.json +36 -0
- package/node_modules/napi-macros/LICENSE +21 -0
- package/node_modules/napi-macros/README.md +277 -0
- package/node_modules/napi-macros/index.js +1 -0
- package/node_modules/napi-macros/napi-macros.h +255 -0
- package/node_modules/napi-macros/package.json +22 -0
- package/node_modules/node-gyp-build/LICENSE +21 -0
- package/node_modules/node-gyp-build/README.md +58 -0
- package/node_modules/node-gyp-build/SECURITY.md +5 -0
- package/node_modules/node-gyp-build/bin.js +84 -0
- package/node_modules/node-gyp-build/build-test.js +19 -0
- package/node_modules/node-gyp-build/index.js +6 -0
- package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
- package/node_modules/node-gyp-build/optional.js +7 -0
- package/node_modules/node-gyp-build/package.json +43 -0
- package/package.json +6 -3
- package/{providerPresetApply-7XEHTODR.js → providerPresetApply-XTEXOH7X.js} +3 -3
- package/{providerRegistry-GNV4FFSA.js → providerRegistry-ADYDSLKR.js} +3 -3
- package/{readlineWorkspace-46KDFUHN.js → readlineWorkspace-LO6ZLFTO.js} +1381 -1317
- package/{runAgentClientLoop-CQWLWU4W.js → runAgentClientLoop-KAYGKVTK.js} +16 -15
- package/{runtimeDoctorCommands-3USD722U.js → runtimeDoctorCommands-ID23PNNZ.js} +28 -0
- package/{spaceCommands-TSBC5UWP.js → spaceCommands-FA6RCZ2Y.js} +10 -9
- package/{streamAgentChatTurn-XD5JEJXA.js → streamAgentChatTurn-DFNDU2UY.js} +17 -16
- package/{tools-5NAJJTFN.js → tools-6HKH75NT.js} +13 -12
- package/{tuiSummaryLlmCaller-7KLLDP22.js → tuiSummaryLlmCaller-CFFVXQWX.js} +2 -2
- package/{updateCommands-XYMGOKF4.js → updateCommands-4EHDLF5J.js} +1 -1
- package/{updateDialogTitleAction-IKZPJCRA.js → updateDialogTitleAction-FFSYTLBC.js} +3 -3
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Upgrade Guide
|
|
2
|
+
|
|
3
|
+
This document describes breaking changes and how to upgrade. For a complete list of changes including minor and patch releases, please refer to the [changelog](CHANGELOG.md).
|
|
4
|
+
|
|
5
|
+
## 3.0.0
|
|
6
|
+
|
|
7
|
+
This release upgrades to `abstract-level` 3. Please see its [upgrade guide](https://github.com/Level/abstract-level/blob/v3.0.0/UPGRADING.md).
|
|
8
|
+
|
|
9
|
+
## 2.0.0
|
|
10
|
+
|
|
11
|
+
This release upgrades to `abstract-level` 2 which adds [hooks](https://github.com/Level/abstract-level#hooks) and drops callbacks and not-found errors. Please refer to the [upgrade guide of `abstract-level`](https://github.com/Level/abstract-level/blob/v2.0.0/UPGRADING.md) for details.
|
|
12
|
+
|
|
13
|
+
## 1.0.0
|
|
14
|
+
|
|
15
|
+
**Introducing `browser-level`: a fork of [`level-js`](https://github.com/Level/level-js) that removes the need for [`levelup`](https://github.com/Level/levelup) and more. It implements the [`abstract-level`](https://github.com/Level/abstract-level) interface instead of [`abstract-leveldown`](https://github.com/Level/abstract-leveldown) and thus has the same API as `level` and `levelup` including encodings, promises and events. In addition, you can now choose to use Uint8Array instead of Buffer. Sublevels are builtin.**
|
|
16
|
+
|
|
17
|
+
We've put together several upgrade guides for different modules. See the [FAQ](https://github.com/Level/community#faq) to find the best upgrade guide for you. This one describes how to replace `level-js` with `browser-level`. There will be a separate guide for `level`.
|
|
18
|
+
|
|
19
|
+
### What is not covered here
|
|
20
|
+
|
|
21
|
+
If you are using any of the following, please also read the upgrade guide of [`abstract-level@1`](https://github.com/Level/abstract-level/blob/main/UPGRADING.md#100) which goes into more detail about these:
|
|
22
|
+
|
|
23
|
+
- Specific error messages (replaced with error codes)
|
|
24
|
+
- The `db.iterator().end()` method (renamed to `close()`, with `end()` as an alias)
|
|
25
|
+
- Zero-length keys and range options (now valid)
|
|
26
|
+
- The `db.supports.bufferKeys` property.
|
|
27
|
+
|
|
28
|
+
### Changes to initialization
|
|
29
|
+
|
|
30
|
+
We started using classes, which means using `new` is now required. If you previously did:
|
|
31
|
+
|
|
32
|
+
```js
|
|
33
|
+
const levelJs = require('level-js')
|
|
34
|
+
const db = levelJs('example')
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
You must now do:
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
const { BrowserLevel } = require('browser-level')
|
|
41
|
+
const db = new BrowserLevel('example')
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Arguments and options are the same except that `browser-level` has additional options to control encodings. For backwards compatibility, the `prefix` option has the same default value. Namely `'level-js-'`.
|
|
45
|
+
|
|
46
|
+
### There is only encodings
|
|
47
|
+
|
|
48
|
+
The `asBuffer`, `valueAsBuffer` and `keyAsBuffer` options have been replaced with encoding options. The default encoding is `'utf8'` which means operations return strings rather than Buffers by default. If you previously did:
|
|
49
|
+
|
|
50
|
+
```js
|
|
51
|
+
db.get('example', { asBuffer: false }, callback)
|
|
52
|
+
db.get('example', callback)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
You must now do:
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
db.get('example', callback)
|
|
59
|
+
db.get('example', { valueEncoding: 'buffer' }, callback)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Or using promises (new):
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const str = await db.get('example')
|
|
66
|
+
const buf = await db.get('example', { valueEncoding: 'buffer' })
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Or using Uint8Array (new):
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
const arr = await db.get('example', { valueEncoding: 'view' })
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Uint8Array support
|
|
76
|
+
|
|
77
|
+
A `browser-level` database uses Uint8Array internally, instead of Buffer like `level-js` did. This doesn't change the ability to read existing databases: `browser-level` can read and write databases that were created with `level-js` and vice versa. Externally both Uint8Array and Buffer can be used (see README for details) to maintain backwards- and ecosystem compatibility. You can choose to use Uint8Array exclusively and omit the `buffer` shim from a JavaScript bundle (through configuration of Webpack, Browserify or other bundlers).
|
|
78
|
+
|
|
79
|
+
### Unwrapping the onion
|
|
80
|
+
|
|
81
|
+
If you were wrapping `level-js` with `levelup`, `encoding-down` and / or `subleveldown`, remove those modules. If you previously did:
|
|
82
|
+
|
|
83
|
+
```js
|
|
84
|
+
const levelJs = require('level-js')
|
|
85
|
+
const levelup = require('levelup')
|
|
86
|
+
const enc = require('encoding-down')
|
|
87
|
+
const subleveldown = require('subleveldown')
|
|
88
|
+
|
|
89
|
+
const db = levelup(enc(levelJs('example')))
|
|
90
|
+
const sublevel = subleveldown(db, 'foo')
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
You must now do:
|
|
94
|
+
|
|
95
|
+
```js
|
|
96
|
+
const { BrowserLevel } = require('browser-level')
|
|
97
|
+
const db = new BrowserLevel('example')
|
|
98
|
+
const sublevel = db.sublevel('foo')
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Prefers backpressure over snapshot guarantees
|
|
102
|
+
|
|
103
|
+
Previously (in `level-js`) an iterator would keep reading in the background, so as to keep the underlying IndexedDB transaction alive and thus not see the data of simultaneous writes. I.e. it was reading from a snapshot in time. This had two major downsides. It was not possible to lazily iterate a large database, as all of the data would be read into memory. Secondly, IndexedDB doesn't actually use a snapshot (the Chrome implementation used to, others never did) but rather a blocking transaction. Meaning you couldn't write to a database while an iterator was active; the write would wait for the iterator to end.
|
|
104
|
+
|
|
105
|
+
To solve those issues, an iterator now reads a few entries ahead and then opens a new transaction on the next read. A "few" means all entries for `iterator.all()`, `size` amount of entries for `iterator.nextv(size)` and a hardcoded 100 entries for `iterator.next()`. Individual calls to those methods still have snapshot guarantees, but repeated calls do not.
|
|
106
|
+
|
|
107
|
+
The resulting breaking change is that an iterator will include the data of simultaneous writes, if `db.put()`, `db.del()` or `db.batch()` are called in between creating the iterator and consuming the iterator, or in between calls to `iterator.next()` or `iterator.nextv()`. For example:
|
|
108
|
+
|
|
109
|
+
```js
|
|
110
|
+
const iterator = db.iterator()
|
|
111
|
+
await db.put('abc', '123')
|
|
112
|
+
|
|
113
|
+
for await (const [key, value] of iterator) {
|
|
114
|
+
// This might be 'abc'
|
|
115
|
+
console.log(key)
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
To reflect the new behavior, `db.supports.snapshots` is now false. If snapshot guarantees are a must for your application then use `iterator.all()` (which is a new method compared to `level-js`) and call it immediately after creating the iterator:
|
|
120
|
+
|
|
121
|
+
```js
|
|
122
|
+
const entries = await db.iterator({ limit: 50 }).all()
|
|
123
|
+
|
|
124
|
+
// Synchronously iterate the result
|
|
125
|
+
for (const [key, value] of entries) {
|
|
126
|
+
console.log(key)
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Unrelated, iterating should now be faster because `browser-level` iterators use the `getAll()` and `getAllKeys()` methods of IndexedDB, instead of a cursor like `level-js` did. This means multiple entries are transferred from IndexedDB to JS in a single turn of the JS event loop, rather than one turn per entry. Reverse iterators do still use a cursor and are therefor slower.
|
|
131
|
+
|
|
132
|
+
Lastly, the new logic enabled us to implement and fully support `iterator.seek()`.
|
|
133
|
+
|
|
134
|
+
### Changes to lesser-used properties and methods
|
|
135
|
+
|
|
136
|
+
- The `db.prefix` property of `level-js`, conflicting with the `db.prefix` property of sublevels, has been renamed to `db.namePrefix`. The relevant constructor option (`prefix`) remains the same.
|
|
137
|
+
- The `db.location`, `db.version` and `db.db` properties are now read-only getters
|
|
138
|
+
- The internal `db.store()` and `db.await()` methods are no longer accessible
|
|
139
|
+
- The `db.upgrade()` utility for upgrading from v4.x to v5.x has been removed.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
_For earlier releases, before `browser-level` was forked from `level-js` (v6.1.0), please see [the upgrade guide of `level-js`](https://github.com/Level/level-js/blob/HEAD/UPGRADING.md)._
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AbstractLevel,
|
|
3
|
+
AbstractDatabaseOptions,
|
|
4
|
+
AbstractOpenOptions,
|
|
5
|
+
AbstractGetOptions,
|
|
6
|
+
AbstractGetManyOptions,
|
|
7
|
+
AbstractPutOptions,
|
|
8
|
+
AbstractDelOptions,
|
|
9
|
+
AbstractBatchOptions,
|
|
10
|
+
AbstractChainedBatch,
|
|
11
|
+
AbstractIterator,
|
|
12
|
+
AbstractKeyIterator,
|
|
13
|
+
AbstractValueIterator,
|
|
14
|
+
AbstractIteratorOptions,
|
|
15
|
+
AbstractKeyIteratorOptions,
|
|
16
|
+
AbstractValueIteratorOptions,
|
|
17
|
+
AbstractBatchOperation
|
|
18
|
+
} from 'abstract-level'
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* An {@link AbstractLevel} database for browsers, backed by [IndexedDB][1].
|
|
22
|
+
*
|
|
23
|
+
* @template KDefault The default type of keys if not overridden on operations.
|
|
24
|
+
* @template VDefault The default type of values if not overridden on operations.
|
|
25
|
+
*
|
|
26
|
+
* [1]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
|
|
27
|
+
*/
|
|
28
|
+
export class BrowserLevel<KDefault = string, VDefault = string>
|
|
29
|
+
extends AbstractLevel<Uint8Array, KDefault, VDefault> {
|
|
30
|
+
/**
|
|
31
|
+
* Database constructor.
|
|
32
|
+
*
|
|
33
|
+
* @param location The name of the [`IDBDatabase`](https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase)
|
|
34
|
+
* to be opened, as well as the name of the object store within that database. The name
|
|
35
|
+
* of the `IDBDatabase` will be prefixed with {@link DatabaseOptions.prefix}.
|
|
36
|
+
* @param options Options, of which some will be forwarded to {@link open}.
|
|
37
|
+
*/
|
|
38
|
+
constructor (location: string, options?: DatabaseOptions<KDefault, VDefault> | undefined)
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Location that was passed to the constructor.
|
|
42
|
+
*/
|
|
43
|
+
get location (): string
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Database name prefix that was passed to the constructor (as `prefix`).
|
|
47
|
+
*/
|
|
48
|
+
get namePrefix (): string
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Version that was passed to the constructor.
|
|
52
|
+
*/
|
|
53
|
+
get version (): number
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Delete the IndexedDB database at the given {@link location}.
|
|
57
|
+
*/
|
|
58
|
+
static destroy (location: string): Promise<void>
|
|
59
|
+
static destroy (location: string, prefix: string): Promise<void>
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Options for the {@link BrowserLevel} constructor.
|
|
64
|
+
*/
|
|
65
|
+
export interface DatabaseOptions<K, V> extends AbstractDatabaseOptions<K, V> {
|
|
66
|
+
/**
|
|
67
|
+
* Prefix for the `IDBDatabase` name. Can be set to an empty string.
|
|
68
|
+
*
|
|
69
|
+
* @defaultValue `'level-js-'`
|
|
70
|
+
*/
|
|
71
|
+
prefix?: string
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The version to open the `IDBDatabase` with.
|
|
75
|
+
*
|
|
76
|
+
* @defaultValue `1`
|
|
77
|
+
*/
|
|
78
|
+
version?: number | string
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* An {@link AbstractLevel} option that has no effect on {@link BrowserLevel}.
|
|
82
|
+
*/
|
|
83
|
+
createIfMissing?: boolean
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* An {@link AbstractLevel} option that has no effect on {@link BrowserLevel}.
|
|
87
|
+
*/
|
|
88
|
+
errorIfExists?: boolean
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Export types so that consumers don't have to guess whether they're extended
|
|
92
|
+
export type OpenOptions = AbstractOpenOptions
|
|
93
|
+
export type GetOptions<K, V> = AbstractGetOptions<K, V>
|
|
94
|
+
export type GetManyOptions<K, V> = AbstractGetManyOptions<K, V>
|
|
95
|
+
export type PutOptions<K, V> = AbstractPutOptions<K, V>
|
|
96
|
+
export type DelOptions<K> = AbstractDelOptions<K>
|
|
97
|
+
|
|
98
|
+
export type BatchOptions<K, V> = AbstractBatchOptions<K, V>
|
|
99
|
+
export type BatchOperation<TDatabase, K, V> = AbstractBatchOperation<TDatabase, K, V>
|
|
100
|
+
export type ChainedBatch<TDatabase, K, V> = AbstractChainedBatch<TDatabase, K, V>
|
|
101
|
+
|
|
102
|
+
export type Iterator<TDatabase, K, V> = AbstractIterator<TDatabase, K, V>
|
|
103
|
+
export type KeyIterator<TDatabase, K> = AbstractKeyIterator<TDatabase, K>
|
|
104
|
+
export type ValueIterator<TDatabase, K, V> = AbstractValueIterator<TDatabase, K, V>
|
|
105
|
+
|
|
106
|
+
export type IteratorOptions<K, V> = AbstractIteratorOptions<K, V>
|
|
107
|
+
export type KeyIteratorOptions<K> = AbstractKeyIteratorOptions<K>
|
|
108
|
+
export type ValueIteratorOptions<K, V> = AbstractValueIteratorOptions<K, V>
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
/* global indexedDB */
|
|
2
|
+
|
|
3
|
+
'use strict'
|
|
4
|
+
|
|
5
|
+
const { AbstractLevel } = require('abstract-level')
|
|
6
|
+
const { Iterator } = require('./iterator')
|
|
7
|
+
const deserialize = require('./util/deserialize')
|
|
8
|
+
const clear = require('./util/clear')
|
|
9
|
+
const createKeyRange = require('./util/key-range')
|
|
10
|
+
|
|
11
|
+
// Keep as-is for compatibility with existing level-js databases
|
|
12
|
+
const DEFAULT_PREFIX = 'level-js-'
|
|
13
|
+
|
|
14
|
+
const kIDB = Symbol('idb')
|
|
15
|
+
const kNamePrefix = Symbol('namePrefix')
|
|
16
|
+
const kLocation = Symbol('location')
|
|
17
|
+
const kVersion = Symbol('version')
|
|
18
|
+
const kStore = Symbol('store')
|
|
19
|
+
const kOnComplete = Symbol('onComplete')
|
|
20
|
+
|
|
21
|
+
class BrowserLevel extends AbstractLevel {
|
|
22
|
+
constructor (location, options) {
|
|
23
|
+
const { prefix, version, ...forward } = options || {}
|
|
24
|
+
|
|
25
|
+
super({
|
|
26
|
+
encodings: { view: true },
|
|
27
|
+
snapshots: false,
|
|
28
|
+
createIfMissing: false,
|
|
29
|
+
errorIfExists: false,
|
|
30
|
+
seek: true,
|
|
31
|
+
has: true,
|
|
32
|
+
getSync: false
|
|
33
|
+
}, forward)
|
|
34
|
+
|
|
35
|
+
if (typeof location !== 'string' || location === '') {
|
|
36
|
+
throw new TypeError("The first argument 'location' must be a non-empty string")
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// TODO (next major): remove default prefix
|
|
40
|
+
this[kLocation] = location
|
|
41
|
+
this[kNamePrefix] = prefix == null ? DEFAULT_PREFIX : prefix
|
|
42
|
+
this[kVersion] = parseInt(version || 1, 10)
|
|
43
|
+
this[kIDB] = null
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
get location () {
|
|
47
|
+
return this[kLocation]
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
get namePrefix () {
|
|
51
|
+
return this[kNamePrefix]
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
get version () {
|
|
55
|
+
return this[kVersion]
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Exposed for backwards compat and unit tests
|
|
59
|
+
get db () {
|
|
60
|
+
return this[kIDB]
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
get type () {
|
|
64
|
+
return 'browser-level'
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
async _open (options) {
|
|
68
|
+
const request = indexedDB.open(this[kNamePrefix] + this[kLocation], this[kVersion])
|
|
69
|
+
|
|
70
|
+
request.onupgradeneeded = (ev) => {
|
|
71
|
+
const db = ev.target.result
|
|
72
|
+
|
|
73
|
+
if (!db.objectStoreNames.contains(this[kLocation])) {
|
|
74
|
+
db.createObjectStore(this[kLocation])
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return new Promise((resolve, reject) => {
|
|
79
|
+
request.onerror = function () {
|
|
80
|
+
reject(request.error || new Error('unknown error'))
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
request.onsuccess = () => {
|
|
84
|
+
this[kIDB] = request.result
|
|
85
|
+
resolve()
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
[kStore] (mode) {
|
|
91
|
+
const transaction = this[kIDB].transaction([this[kLocation]], mode)
|
|
92
|
+
return transaction.objectStore(this[kLocation])
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[kOnComplete] (request) {
|
|
96
|
+
const transaction = request.transaction
|
|
97
|
+
|
|
98
|
+
return new Promise(function (resolve, reject) {
|
|
99
|
+
// Take advantage of the fact that a non-canceled request error aborts
|
|
100
|
+
// the transaction. I.e. no need to listen for "request.onerror".
|
|
101
|
+
transaction.onabort = function () {
|
|
102
|
+
reject(transaction.error || new Error('aborted by user'))
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
transaction.oncomplete = function () {
|
|
106
|
+
resolve(request.result)
|
|
107
|
+
}
|
|
108
|
+
})
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
async _get (key, options) {
|
|
112
|
+
const store = this[kStore]('readonly')
|
|
113
|
+
const request = store.get(key)
|
|
114
|
+
const value = await this[kOnComplete](request)
|
|
115
|
+
|
|
116
|
+
return deserialize(value)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
async _getMany (keys, options) {
|
|
120
|
+
const store = this[kStore]('readonly')
|
|
121
|
+
const iterator = keys.values()
|
|
122
|
+
|
|
123
|
+
// Consume the iterator with N parallel worker bees
|
|
124
|
+
const n = Math.min(16, keys.length)
|
|
125
|
+
const bees = new Array(n)
|
|
126
|
+
const values = new Array(keys.length)
|
|
127
|
+
|
|
128
|
+
let keyIndex = 0
|
|
129
|
+
let abort = false
|
|
130
|
+
|
|
131
|
+
const bee = async function () {
|
|
132
|
+
try {
|
|
133
|
+
for (const key of iterator) {
|
|
134
|
+
if (abort) break
|
|
135
|
+
|
|
136
|
+
const valueIndex = keyIndex++
|
|
137
|
+
const request = store.get(key)
|
|
138
|
+
|
|
139
|
+
await new Promise(function (resolve, reject) {
|
|
140
|
+
request.onsuccess = () => {
|
|
141
|
+
values[valueIndex] = deserialize(request.result)
|
|
142
|
+
resolve()
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
request.onerror = (ev) => {
|
|
146
|
+
ev.stopPropagation()
|
|
147
|
+
reject(request.error)
|
|
148
|
+
}
|
|
149
|
+
})
|
|
150
|
+
}
|
|
151
|
+
} catch (err) {
|
|
152
|
+
abort = true
|
|
153
|
+
throw err
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
for (let i = 0; i < n; i++) {
|
|
158
|
+
bees[i] = bee()
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
await Promise.allSettled(bees)
|
|
162
|
+
return values
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
async _has (key, options) {
|
|
166
|
+
const store = this[kStore]('readonly')
|
|
167
|
+
const request = store.count(key)
|
|
168
|
+
const count = await this[kOnComplete](request)
|
|
169
|
+
|
|
170
|
+
return count === 1
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
async _hasMany (keys, options) {
|
|
174
|
+
const store = this[kStore]('readonly')
|
|
175
|
+
const iterator = keys.values()
|
|
176
|
+
|
|
177
|
+
// Consume the iterator with N parallel worker bees
|
|
178
|
+
const n = Math.min(16, keys.length)
|
|
179
|
+
const bees = new Array(n)
|
|
180
|
+
const results = new Array(keys.length)
|
|
181
|
+
|
|
182
|
+
let keyIndex = 0
|
|
183
|
+
let abort = false
|
|
184
|
+
|
|
185
|
+
const bee = async function () {
|
|
186
|
+
try {
|
|
187
|
+
for (const key of iterator) {
|
|
188
|
+
if (abort) break
|
|
189
|
+
|
|
190
|
+
const resultIndex = keyIndex++
|
|
191
|
+
const request = store.count(key)
|
|
192
|
+
|
|
193
|
+
await new Promise(function (resolve, reject) {
|
|
194
|
+
request.onsuccess = () => {
|
|
195
|
+
results[resultIndex] = request.result === 1
|
|
196
|
+
resolve()
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
request.onerror = (ev) => {
|
|
200
|
+
ev.stopPropagation()
|
|
201
|
+
reject(request.error)
|
|
202
|
+
}
|
|
203
|
+
})
|
|
204
|
+
}
|
|
205
|
+
} catch (err) {
|
|
206
|
+
abort = true
|
|
207
|
+
throw err
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
for (let i = 0; i < n; i++) {
|
|
212
|
+
bees[i] = bee()
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
await Promise.allSettled(bees)
|
|
216
|
+
return results
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
async _del (key, options) {
|
|
220
|
+
const store = this[kStore]('readwrite')
|
|
221
|
+
const request = store.delete(key)
|
|
222
|
+
|
|
223
|
+
return this[kOnComplete](request)
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
async _put (key, value, options) {
|
|
227
|
+
const store = this[kStore]('readwrite')
|
|
228
|
+
|
|
229
|
+
// Will throw a DataError or DataCloneError if the environment
|
|
230
|
+
// does not support serializing the key or value respectively.
|
|
231
|
+
const request = store.put(value, key)
|
|
232
|
+
|
|
233
|
+
return this[kOnComplete](request)
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// TODO: implement key and value iterators
|
|
237
|
+
_iterator (options) {
|
|
238
|
+
return new Iterator(this, this[kLocation], options)
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
async _batch (operations, options) {
|
|
242
|
+
const store = this[kStore]('readwrite')
|
|
243
|
+
const transaction = store.transaction
|
|
244
|
+
let index = 0
|
|
245
|
+
let error
|
|
246
|
+
|
|
247
|
+
const promise = new Promise(function (resolve, reject) {
|
|
248
|
+
transaction.onabort = function () {
|
|
249
|
+
reject(error || transaction.error || new Error('aborted by user'))
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
transaction.oncomplete = resolve
|
|
253
|
+
})
|
|
254
|
+
|
|
255
|
+
// Wait for a request to complete before making the next, saving CPU.
|
|
256
|
+
function loop () {
|
|
257
|
+
const op = operations[index++]
|
|
258
|
+
const key = op.key
|
|
259
|
+
|
|
260
|
+
let req
|
|
261
|
+
|
|
262
|
+
try {
|
|
263
|
+
req = op.type === 'del' ? store.delete(key) : store.put(op.value, key)
|
|
264
|
+
} catch (err) {
|
|
265
|
+
error = err
|
|
266
|
+
transaction.abort()
|
|
267
|
+
return
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
if (index < operations.length) {
|
|
271
|
+
req.onsuccess = loop
|
|
272
|
+
} else if (typeof transaction.commit === 'function') {
|
|
273
|
+
// Commit now instead of waiting for auto-commit
|
|
274
|
+
transaction.commit()
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
loop()
|
|
279
|
+
return promise
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
async _clear (options) {
|
|
283
|
+
let keyRange
|
|
284
|
+
|
|
285
|
+
try {
|
|
286
|
+
keyRange = createKeyRange(options)
|
|
287
|
+
} catch (e) {
|
|
288
|
+
// The lower key is greater than the upper key.
|
|
289
|
+
// IndexedDB throws an error, but we'll just do nothing.
|
|
290
|
+
return
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
if (options.limit >= 0) {
|
|
294
|
+
// IDBObjectStore#delete(range) doesn't have such an option.
|
|
295
|
+
// Fall back to cursor-based implementation.
|
|
296
|
+
return clear(this, this[kLocation], keyRange, options)
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
const store = this[kStore]('readwrite')
|
|
300
|
+
const request = keyRange ? store.delete(keyRange) : store.clear()
|
|
301
|
+
|
|
302
|
+
return this[kOnComplete](request)
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
async _close () {
|
|
306
|
+
this[kIDB].close()
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
BrowserLevel.destroy = async function (location, prefix) {
|
|
311
|
+
if (prefix == null) {
|
|
312
|
+
prefix = DEFAULT_PREFIX
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const request = indexedDB.deleteDatabase(prefix + location)
|
|
316
|
+
|
|
317
|
+
return new Promise(function (resolve, reject) {
|
|
318
|
+
request.onsuccess = resolve
|
|
319
|
+
request.onerror = reject
|
|
320
|
+
})
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
exports.BrowserLevel = BrowserLevel
|