picovolt 1.9.0 → 2.2.0
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/APACHE-2.0-LEGACY.txt +201 -0
- package/LICENSE +152 -201
- package/NOTICE +17 -0
- package/PUBLIC-RELEASE.json +32 -0
- package/README.md +88 -36
- package/browser.js +11 -0
- package/dependency-inventory.json +1167 -0
- package/package.json +11 -4
- package/picovolt.d.ts +8 -0
- package/picovolt_bg.js +51 -0
- package/picovolt_bg.wasm +0 -0
- package/sqlite.js +12 -0
- package/third-party-notices/aead-0.5.2/LICENSE-APACHE +202 -0
- package/third-party-notices/aead-0.5.2/LICENSE-MIT +26 -0
- package/third-party-notices/ahash-0.8.12/LICENSE-APACHE +201 -0
- package/third-party-notices/ahash-0.8.12/LICENSE-MIT +25 -0
- package/third-party-notices/android_system_properties-0.1.6/LICENSE-APACHE +13 -0
- package/third-party-notices/android_system_properties-0.1.6/LICENSE-MIT +20 -0
- package/third-party-notices/argon2-0.5.3/LICENSE-APACHE +201 -0
- package/third-party-notices/argon2-0.5.3/LICENSE-MIT +25 -0
- package/third-party-notices/arrayvec-0.7.8/LICENSE-APACHE +201 -0
- package/third-party-notices/arrayvec-0.7.8/LICENSE-MIT +25 -0
- package/third-party-notices/arrow-array-59.3.0/LICENSE-MIT +21 -0
- package/third-party-notices/arrow-array-59.3.0/LICENSE.txt +202 -0
- package/third-party-notices/arrow-array-59.3.0/NOTICE.txt +13 -0
- package/third-party-notices/arrow-buffer-59.3.0/LICENSE.txt +202 -0
- package/third-party-notices/arrow-buffer-59.3.0/NOTICE.txt +13 -0
- package/third-party-notices/arrow-data-59.3.0/LICENSE.txt +202 -0
- package/third-party-notices/arrow-data-59.3.0/NOTICE.txt +13 -0
- package/third-party-notices/arrow-ipc-59.3.0/LICENSE.txt +202 -0
- package/third-party-notices/arrow-ipc-59.3.0/NOTICE.txt +13 -0
- package/third-party-notices/arrow-schema-59.3.0/LICENSE.txt +202 -0
- package/third-party-notices/arrow-schema-59.3.0/NOTICE.txt +13 -0
- package/third-party-notices/arrow-select-59.3.0/LICENSE.txt +202 -0
- package/third-party-notices/arrow-select-59.3.0/NOTICE.txt +13 -0
- package/third-party-notices/ascii-1.1.0/LICENSE-APACHE +201 -0
- package/third-party-notices/ascii-1.1.0/LICENSE-MIT +22 -0
- package/third-party-notices/autocfg-1.5.1/LICENSE-APACHE +201 -0
- package/third-party-notices/autocfg-1.5.1/LICENSE-MIT +25 -0
- package/third-party-notices/base64-0.23.1/LICENSE-APACHE +201 -0
- package/third-party-notices/base64-0.23.1/LICENSE-MIT +21 -0
- package/third-party-notices/base64ct-1.8.3/LICENSE-APACHE +201 -0
- package/third-party-notices/base64ct-1.8.3/LICENSE-MIT +26 -0
- package/third-party-notices/bitflags-2.13.1/LICENSE-APACHE +201 -0
- package/third-party-notices/bitflags-2.13.1/LICENSE-MIT +25 -0
- package/third-party-notices/blake2-0.10.6/LICENSE-APACHE +201 -0
- package/third-party-notices/blake2-0.10.6/LICENSE-MIT +26 -0
- package/third-party-notices/blake3-1.8.7/LICENSE_A2 +202 -0
- package/third-party-notices/blake3-1.8.7/LICENSE_A2LLVM +219 -0
- package/third-party-notices/blake3-1.8.7/LICENSE_CC0 +121 -0
- package/third-party-notices/block-buffer-0.10.4/LICENSE-APACHE +201 -0
- package/third-party-notices/block-buffer-0.10.4/LICENSE-MIT +25 -0
- package/third-party-notices/block-buffer-0.12.1/LICENSE-APACHE +201 -0
- package/third-party-notices/block-buffer-0.12.1/LICENSE-MIT +25 -0
- package/third-party-notices/bumpalo-3.20.3/LICENSE-APACHE +201 -0
- package/third-party-notices/bumpalo-3.20.3/LICENSE-MIT +25 -0
- package/third-party-notices/bytes-1.12.1/LICENSE +25 -0
- package/third-party-notices/cc-1.4.5/LICENSE-APACHE +201 -0
- package/third-party-notices/cc-1.4.5/LICENSE-MIT +25 -0
- package/third-party-notices/cfg-if-1.0.4/LICENSE-APACHE +201 -0
- package/third-party-notices/cfg-if-1.0.4/LICENSE-MIT +25 -0
- package/third-party-notices/chacha20-0.9.1/LICENSE-APACHE +201 -0
- package/third-party-notices/chacha20-0.9.1/LICENSE-MIT +25 -0
- package/third-party-notices/chacha20poly1305-0.10.1/LICENSE-APACHE +201 -0
- package/third-party-notices/chacha20poly1305-0.10.1/LICENSE-MIT +25 -0
- package/third-party-notices/chrono-0.4.45/LICENSE.txt +240 -0
- package/third-party-notices/chunked_transfer-1.5.0/LICENSE-APACHE +201 -0
- package/third-party-notices/chunked_transfer-1.5.0/LICENSE-MIT +22 -0
- package/third-party-notices/cipher-0.4.4/LICENSE-APACHE +201 -0
- package/third-party-notices/cipher-0.4.4/LICENSE-MIT +25 -0
- package/third-party-notices/console_error_panic_hook-0.1.7/LICENSE-APACHE +201 -0
- package/third-party-notices/console_error_panic_hook-0.1.7/LICENSE-MIT +25 -0
- package/third-party-notices/const-random-0.1.18/LICENSE-APACHE +201 -0
- package/third-party-notices/const-random-0.1.18/LICENSE-MIT +25 -0
- package/third-party-notices/const-random-macro-0.1.16/LICENSE-APACHE +201 -0
- package/third-party-notices/const-random-macro-0.1.16/LICENSE-MIT +25 -0
- package/third-party-notices/constant_time_eq-0.4.2/LICENSE-APACHE +176 -0
- package/third-party-notices/constant_time_eq-0.4.2/LICENSE-CC0 +121 -0
- package/third-party-notices/constant_time_eq-0.4.2/LICENSE-MIT0 +14 -0
- package/third-party-notices/core-foundation-sys-0.8.7/LICENSE-APACHE +201 -0
- package/third-party-notices/core-foundation-sys-0.8.7/LICENSE-MIT +25 -0
- package/third-party-notices/cpufeatures-0.2.17/LICENSE-APACHE +201 -0
- package/third-party-notices/cpufeatures-0.2.17/LICENSE-MIT +25 -0
- package/third-party-notices/cpufeatures-0.3.1/LICENSE-APACHE +201 -0
- package/third-party-notices/cpufeatures-0.3.1/LICENSE-MIT +25 -0
- package/third-party-notices/crunchy-0.2.4/LICENSE +21 -0
- package/third-party-notices/crypto-common-0.1.7/LICENSE-APACHE +201 -0
- package/third-party-notices/crypto-common-0.1.7/LICENSE-MIT +25 -0
- package/third-party-notices/crypto-common-0.2.2/LICENSE-APACHE +201 -0
- package/third-party-notices/crypto-common-0.2.2/LICENSE-MIT +25 -0
- package/third-party-notices/curve25519-dalek-5.0.0/LICENSE +29 -0
- package/third-party-notices/curve25519-dalek-derive-0.1.1/LICENSE-APACHE +201 -0
- package/third-party-notices/curve25519-dalek-derive-0.1.1/LICENSE-MIT +23 -0
- package/third-party-notices/digest-0.10.7/LICENSE-APACHE +201 -0
- package/third-party-notices/digest-0.10.7/LICENSE-MIT +25 -0
- package/third-party-notices/digest-0.11.3/LICENSE-APACHE +201 -0
- package/third-party-notices/digest-0.11.3/LICENSE-MIT +26 -0
- package/third-party-notices/ed25519-3.0.0/LICENSE-APACHE +201 -0
- package/third-party-notices/ed25519-3.0.0/LICENSE-MIT +25 -0
- package/third-party-notices/ed25519-dalek-3.0.0/LICENSE +28 -0
- package/third-party-notices/equivalent-1.0.2/LICENSE-APACHE +201 -0
- package/third-party-notices/equivalent-1.0.2/LICENSE-MIT +25 -0
- package/third-party-notices/errno-0.3.14/LICENSE-APACHE +201 -0
- package/third-party-notices/errno-0.3.14/LICENSE-MIT +25 -0
- package/third-party-notices/fallible-iterator-0.3.0/LICENSE-APACHE +202 -0
- package/third-party-notices/fallible-iterator-0.3.0/LICENSE-MIT +19 -0
- package/third-party-notices/fallible-streaming-iterator-0.1.9/LICENSE-APACHE +202 -0
- package/third-party-notices/fallible-streaming-iterator-0.1.9/LICENSE-MIT +19 -0
- package/third-party-notices/fastrand-2.5.0/LICENSE-APACHE +201 -0
- package/third-party-notices/fastrand-2.5.0/LICENSE-MIT +23 -0
- package/third-party-notices/fiat-crypto-0.3.0/LICENSE-APACHE +15 -0
- package/third-party-notices/fiat-crypto-0.3.0/LICENSE-BSD-1 +23 -0
- package/third-party-notices/fiat-crypto-0.3.0/LICENSE-MIT +21 -0
- package/third-party-notices/find-msvc-tools-0.1.12/LICENSE-APACHE +201 -0
- package/third-party-notices/find-msvc-tools-0.1.12/LICENSE-MIT +25 -0
- package/third-party-notices/flate2-1.1.10/LICENSE-APACHE +201 -0
- package/third-party-notices/flate2-1.1.10/LICENSE-MIT +25 -0
- package/third-party-notices/foldhash-0.1.5/LICENSE +19 -0
- package/third-party-notices/fs2-0.4.3/LICENSE-APACHE +201 -0
- package/third-party-notices/fs2-0.4.3/LICENSE-MIT +25 -0
- package/third-party-notices/futures-core-0.3.34/LICENSE-APACHE +202 -0
- package/third-party-notices/futures-core-0.3.34/LICENSE-MIT +26 -0
- package/third-party-notices/futures-task-0.3.34/LICENSE-APACHE +202 -0
- package/third-party-notices/futures-task-0.3.34/LICENSE-MIT +26 -0
- package/third-party-notices/futures-util-0.3.34/LICENSE-APACHE +202 -0
- package/third-party-notices/futures-util-0.3.34/LICENSE-MIT +26 -0
- package/third-party-notices/generic-array-0.14.7/LICENSE +21 -0
- package/third-party-notices/getrandom-0.2.17/LICENSE-APACHE +201 -0
- package/third-party-notices/getrandom-0.2.17/LICENSE-MIT +26 -0
- package/third-party-notices/getrandom-0.3.4/LICENSE-APACHE +201 -0
- package/third-party-notices/getrandom-0.3.4/LICENSE-MIT +26 -0
- package/third-party-notices/getrandom-0.4.3/LICENSE-APACHE +201 -0
- package/third-party-notices/getrandom-0.4.3/LICENSE-MIT +26 -0
- package/third-party-notices/half-2.7.1/LICENSE-APACHE +176 -0
- package/third-party-notices/half-2.7.1/LICENSE-MIT +19 -0
- package/third-party-notices/hashbrown-0.15.5/LICENSE-APACHE +201 -0
- package/third-party-notices/hashbrown-0.15.5/LICENSE-MIT +25 -0
- package/third-party-notices/hashbrown-0.17.1/LICENSE-APACHE +201 -0
- package/third-party-notices/hashbrown-0.17.1/LICENSE-MIT +25 -0
- package/third-party-notices/httpdate-1.0.3/LICENSE-APACHE +201 -0
- package/third-party-notices/httpdate-1.0.3/LICENSE-MIT +19 -0
- package/third-party-notices/hybrid-array-0.4.14/LICENSE-APACHE +201 -0
- package/third-party-notices/hybrid-array-0.4.14/LICENSE-MIT +25 -0
- package/third-party-notices/iana-time-zone-0.1.65/LICENSE-APACHE +201 -0
- package/third-party-notices/iana-time-zone-0.1.65/LICENSE-MIT +25 -0
- package/third-party-notices/iana-time-zone-haiku-0.1.2/LICENSE-APACHE +201 -0
- package/third-party-notices/iana-time-zone-haiku-0.1.2/LICENSE-MIT +25 -0
- package/third-party-notices/indexmap-2.14.1/LICENSE-APACHE +201 -0
- package/third-party-notices/indexmap-2.14.1/LICENSE-MIT +25 -0
- package/third-party-notices/inout-0.1.4/LICENSE-APACHE +201 -0
- package/third-party-notices/inout-0.1.4/LICENSE-MIT +26 -0
- package/third-party-notices/itoa-1.0.18/LICENSE-APACHE +176 -0
- package/third-party-notices/itoa-1.0.18/LICENSE-MIT +23 -0
- package/third-party-notices/jobserver-0.1.35/LICENSE-APACHE +201 -0
- package/third-party-notices/jobserver-0.1.35/LICENSE-MIT +25 -0
- package/third-party-notices/js-sys-0.3.104/LICENSE-APACHE +201 -0
- package/third-party-notices/js-sys-0.3.104/LICENSE-MIT +25 -0
- package/third-party-notices/leb128fmt-0.1.0/LICENSE-APACHE +201 -0
- package/third-party-notices/leb128fmt-0.1.0/LICENSE-MIT +23 -0
- package/third-party-notices/libc-0.2.189/LICENSE-APACHE +176 -0
- package/third-party-notices/libc-0.2.189/LICENSE-MIT +25 -0
- package/third-party-notices/libm-0.2.16/LICENSE.txt +258 -0
- package/third-party-notices/libsqlite3-sys-0.38.2/LICENSE +19 -0
- package/third-party-notices/linux-raw-sys-0.12.1/LICENSE-APACHE +201 -0
- package/third-party-notices/linux-raw-sys-0.12.1/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/linux-raw-sys-0.12.1/LICENSE-MIT +23 -0
- package/third-party-notices/log-0.4.34/LICENSE-APACHE +201 -0
- package/third-party-notices/log-0.4.34/LICENSE-MIT +25 -0
- package/third-party-notices/memchr-2.8.3/COPYING +3 -0
- package/third-party-notices/memchr-2.8.3/LICENSE-MIT +21 -0
- package/third-party-notices/memmap2-0.9.11/LICENSE-APACHE +201 -0
- package/third-party-notices/memmap2-0.9.11/LICENSE-MIT +26 -0
- package/third-party-notices/num-bigint-0.5.1/LICENSE-APACHE +201 -0
- package/third-party-notices/num-bigint-0.5.1/LICENSE-MIT +25 -0
- package/third-party-notices/num-complex-0.4.6/LICENSE-APACHE +201 -0
- package/third-party-notices/num-complex-0.4.6/LICENSE-MIT +25 -0
- package/third-party-notices/num-integer-0.1.47/LICENSE-APACHE +201 -0
- package/third-party-notices/num-integer-0.1.47/LICENSE-MIT +25 -0
- package/third-party-notices/num-traits-0.2.19/LICENSE-APACHE +201 -0
- package/third-party-notices/num-traits-0.2.19/LICENSE-MIT +25 -0
- package/third-party-notices/once_cell-1.21.4/LICENSE-APACHE +201 -0
- package/third-party-notices/once_cell-1.21.4/LICENSE-MIT +23 -0
- package/third-party-notices/opaque-debug-0.3.1/LICENSE-APACHE +201 -0
- package/third-party-notices/opaque-debug-0.3.1/LICENSE-MIT +25 -0
- package/third-party-notices/parquet-59.3.0/LICENSE.txt +202 -0
- package/third-party-notices/parquet-59.3.0/NOTICE.txt +13 -0
- package/third-party-notices/password-hash-0.5.0/LICENSE-APACHE +201 -0
- package/third-party-notices/password-hash-0.5.0/LICENSE-MIT +25 -0
- package/third-party-notices/pin-project-lite-0.2.17/LICENSE-APACHE +177 -0
- package/third-party-notices/pin-project-lite-0.2.17/LICENSE-MIT +23 -0
- package/third-party-notices/pkg-config-0.3.34/LICENSE-APACHE +201 -0
- package/third-party-notices/pkg-config-0.3.34/LICENSE-MIT +25 -0
- package/third-party-notices/poly1305-0.8.0/LICENSE-APACHE +201 -0
- package/third-party-notices/poly1305-0.8.0/LICENSE-MIT +25 -0
- package/third-party-notices/proc-macro2-1.0.107/LICENSE-APACHE +176 -0
- package/third-party-notices/proc-macro2-1.0.107/LICENSE-MIT +23 -0
- package/third-party-notices/quote-1.0.47/LICENSE-APACHE +176 -0
- package/third-party-notices/quote-1.0.47/LICENSE-MIT +23 -0
- package/third-party-notices/rand_core-0.6.4/LICENSE-APACHE +187 -0
- package/third-party-notices/rand_core-0.6.4/LICENSE-MIT +26 -0
- package/third-party-notices/rusqlite-0.40.2/LICENSE +19 -0
- package/third-party-notices/rustc_version-0.4.1/LICENSE-APACHE +201 -0
- package/third-party-notices/rustc_version-0.4.1/LICENSE-MIT +25 -0
- package/third-party-notices/rustix-1.1.4/LICENSE-APACHE +201 -0
- package/third-party-notices/rustix-1.1.4/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/rustix-1.1.4/LICENSE-MIT +23 -0
- package/third-party-notices/rustversion-1.0.23/LICENSE-APACHE +176 -0
- package/third-party-notices/rustversion-1.0.23/LICENSE-MIT +23 -0
- package/third-party-notices/semver-1.0.28/LICENSE-APACHE +176 -0
- package/third-party-notices/semver-1.0.28/LICENSE-MIT +23 -0
- package/third-party-notices/seq-macro-0.3.6/LICENSE-APACHE +176 -0
- package/third-party-notices/seq-macro-0.3.6/LICENSE-MIT +23 -0
- package/third-party-notices/serde-1.0.229/LICENSE-APACHE +176 -0
- package/third-party-notices/serde-1.0.229/LICENSE-MIT +23 -0
- package/third-party-notices/serde_core-1.0.229/LICENSE-APACHE +176 -0
- package/third-party-notices/serde_core-1.0.229/LICENSE-MIT +23 -0
- package/third-party-notices/serde_derive-1.0.229/LICENSE-APACHE +176 -0
- package/third-party-notices/serde_derive-1.0.229/LICENSE-MIT +23 -0
- package/third-party-notices/serde_json-1.0.151/LICENSE-APACHE +176 -0
- package/third-party-notices/serde_json-1.0.151/LICENSE-MIT +23 -0
- package/third-party-notices/sha2-0.11.0/LICENSE-APACHE +201 -0
- package/third-party-notices/sha2-0.11.0/LICENSE-MIT +28 -0
- package/third-party-notices/shlex-2.0.1/LICENSE-APACHE +13 -0
- package/third-party-notices/shlex-2.0.1/LICENSE-MIT +21 -0
- package/third-party-notices/signature-3.0.0/LICENSE-APACHE +201 -0
- package/third-party-notices/signature-3.0.0/LICENSE-MIT +25 -0
- package/third-party-notices/slab-0.4.12/LICENSE +25 -0
- package/third-party-notices/smallvec-1.16.0/LICENSE-APACHE +201 -0
- package/third-party-notices/smallvec-1.16.0/LICENSE-MIT +25 -0
- package/third-party-notices/snap-1.1.2/COPYING +27 -0
- package/third-party-notices/spin-0.9.9/LICENSE +21 -0
- package/third-party-notices/string-interner-0.19.0/LICENSE-APACHE +15 -0
- package/third-party-notices/string-interner-0.19.0/LICENSE-MIT +21 -0
- package/third-party-notices/subtle-2.6.1/LICENSE +29 -0
- package/third-party-notices/syn-2.0.119/LICENSE-APACHE +176 -0
- package/third-party-notices/syn-2.0.119/LICENSE-MIT +23 -0
- package/third-party-notices/syn-3.0.4/LICENSE-APACHE +176 -0
- package/third-party-notices/syn-3.0.4/LICENSE-MIT +23 -0
- package/third-party-notices/tempfile-3.27.0/LICENSE-APACHE +201 -0
- package/third-party-notices/tempfile-3.27.0/LICENSE-MIT +25 -0
- package/third-party-notices/thiserror-2.0.20/LICENSE-APACHE +176 -0
- package/third-party-notices/thiserror-2.0.20/LICENSE-MIT +23 -0
- package/third-party-notices/thiserror-impl-2.0.20/LICENSE-APACHE +176 -0
- package/third-party-notices/thiserror-impl-2.0.20/LICENSE-MIT +23 -0
- package/third-party-notices/tiny-keccak-2.0.2/LICENSE +121 -0
- package/third-party-notices/tiny_http-0.12.0/LICENSE-APACHE +201 -0
- package/third-party-notices/tiny_http-0.12.0/LICENSE-MIT +25 -0
- package/third-party-notices/twox-hash-2.1.4/LICENSE.txt +21 -0
- package/third-party-notices/typenum-1.20.1/LICENSE +1 -0
- package/third-party-notices/typenum-1.20.1/LICENSE-APACHE +201 -0
- package/third-party-notices/typenum-1.20.1/LICENSE-MIT +21 -0
- package/third-party-notices/unicode-ident-1.0.24/LICENSE-APACHE +176 -0
- package/third-party-notices/unicode-ident-1.0.24/LICENSE-MIT +23 -0
- package/third-party-notices/unicode-ident-1.0.24/LICENSE-UNICODE +39 -0
- package/third-party-notices/unicode-width-0.2.2/LICENSE-APACHE +201 -0
- package/third-party-notices/unicode-width-0.2.2/LICENSE-MIT +25 -0
- package/third-party-notices/universal-hash-0.5.1/LICENSE-APACHE +201 -0
- package/third-party-notices/universal-hash-0.5.1/LICENSE-MIT +25 -0
- package/third-party-notices/vcpkg-0.2.15/LICENSE-APACHE +202 -0
- package/third-party-notices/vcpkg-0.2.15/LICENSE-MIT +26 -0
- package/third-party-notices/version_check-0.9.5/LICENSE-APACHE +201 -0
- package/third-party-notices/version_check-0.9.5/LICENSE-MIT +19 -0
- package/third-party-notices/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-APACHE +201 -0
- package/third-party-notices/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/wasi-0.11.1+wasi-snapshot-preview1/LICENSE-MIT +23 -0
- package/third-party-notices/wasip2-1.0.4+wasi-0.2.12/LICENSE-APACHE +201 -0
- package/third-party-notices/wasip2-1.0.4+wasi-0.2.12/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/wasip2-1.0.4+wasi-0.2.12/LICENSE-MIT +23 -0
- package/third-party-notices/wasm-bindgen-0.2.127/LICENSE-APACHE +201 -0
- package/third-party-notices/wasm-bindgen-0.2.127/LICENSE-MIT +25 -0
- package/third-party-notices/wasm-bindgen-macro-0.2.127/LICENSE-APACHE +201 -0
- package/third-party-notices/wasm-bindgen-macro-0.2.127/LICENSE-MIT +25 -0
- package/third-party-notices/wasm-bindgen-macro-support-0.2.127/LICENSE-APACHE +201 -0
- package/third-party-notices/wasm-bindgen-macro-support-0.2.127/LICENSE-MIT +25 -0
- package/third-party-notices/wasm-bindgen-shared-0.2.127/LICENSE-APACHE +201 -0
- package/third-party-notices/wasm-bindgen-shared-0.2.127/LICENSE-MIT +25 -0
- package/third-party-notices/wasm-encoder-0.258.0/LICENSE-APACHE +201 -0
- package/third-party-notices/wasm-encoder-0.258.0/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/wasm-encoder-0.258.0/LICENSE-MIT +23 -0
- package/third-party-notices/wasmparser-0.258.0/LICENSE-APACHE +201 -0
- package/third-party-notices/wasmparser-0.258.0/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/wasmparser-0.258.0/LICENSE-MIT +23 -0
- package/third-party-notices/wast-258.0.0/LICENSE-APACHE +201 -0
- package/third-party-notices/wast-258.0.0/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/wast-258.0.0/LICENSE-MIT +23 -0
- package/third-party-notices/wat-1.258.0/LICENSE-APACHE +201 -0
- package/third-party-notices/wat-1.258.0/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/wat-1.258.0/LICENSE-MIT +23 -0
- package/third-party-notices/winapi-0.3.9/LICENSE-APACHE +201 -0
- package/third-party-notices/winapi-0.3.9/LICENSE-MIT +19 -0
- package/third-party-notices/wit-bindgen-0.57.1/LICENSE-APACHE +201 -0
- package/third-party-notices/wit-bindgen-0.57.1/LICENSE-Apache-2.0_WITH_LLVM-exception +220 -0
- package/third-party-notices/wit-bindgen-0.57.1/LICENSE-MIT +23 -0
- package/third-party-notices/zerocopy-0.8.56/LICENSE-APACHE +202 -0
- package/third-party-notices/zerocopy-0.8.56/LICENSE-BSD +24 -0
- package/third-party-notices/zerocopy-0.8.56/LICENSE-MIT +26 -0
- package/third-party-notices/zerocopy-derive-0.8.56/LICENSE-APACHE +202 -0
- package/third-party-notices/zerocopy-derive-0.8.56/LICENSE-BSD +24 -0
- package/third-party-notices/zerocopy-derive-0.8.56/LICENSE-MIT +26 -0
- package/third-party-notices/zeroize-1.9.0/LICENSE-APACHE +202 -0
- package/third-party-notices/zeroize-1.9.0/LICENSE-MIT +25 -0
- package/third-party-notices/zlib-rs-0.6.7/LICENSE +19 -0
- package/third-party-notices/zmij-1.0.23/LICENSE-MIT +23 -0
- package/third-party-notices/zstd-0.13.3/LICENSE +8 -0
- package/third-party-notices/zstd-safe-7.3.0/LICENSE +28 -0
- package/third-party-notices/zstd-sys-2.1.0+zstd.1.5.7/LICENSE +28 -0
- package/third-party-notices/zstd-sys-2.1.0+zstd.1.5.7/LICENSE.BSD-3-Clause +32 -0
- package/worker.js +4 -0
package/README.md
CHANGED
|
@@ -2,17 +2,56 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/MiniJe/picovolt/actions/workflows/ci.yml)
|
|
4
4
|
[](https://crates.io/crates/picovolt)
|
|
5
|
-
[
|
|
5
|
+
[](LICENSE)
|
|
7
6
|
[](https://github.com/MiniJe/picovolt)
|
|
8
7
|
|
|
9
|
-
PicoVolt is an embedded database
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
PicoVolt is an embedded SQL database with queryable history. **2.2.0** adds
|
|
9
|
+
native encrypted snapshots and vaults, key/password rotation, verified encrypted
|
|
10
|
+
backup/restore and hybrid full-text/vector retrieval. It builds on the snapshot
|
|
11
|
+
readers, bounded writer scheduling and durable commit logs introduced in 2.0.
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
The source and official packages are available without a license fee under the
|
|
14
|
+
[PicoVolt Public-Source License 1.1](LICENSE). This proprietary license permits
|
|
15
|
+
commercial application embedding and unchanged registry/mirror distribution;
|
|
16
|
+
standalone competing database products require a separate agreement. This is
|
|
17
|
+
source-available, not open source. Earlier Apache grants remain unchanged.
|
|
18
|
+
No account, activation, telemetry or pre-download acceptance is required.
|
|
19
|
+
|
|
20
|
+
Read [encrypted storage](docs/ENCRYPTION_2_2.md), [hybrid search](docs/HYBRID_2_2.md)
|
|
21
|
+
and [release evidence](docs/RELEASE_2_2.md). Native vault encryption is not offered
|
|
22
|
+
in WASM. Independent security/cryptographic review and external application
|
|
23
|
+
trials have not been completed; automated verification is not such an audit.
|
|
24
|
+
|
|
25
|
+
Start with the [2.0 guide for every maintained interface](docs/QUICKSTART_2_0.md)
|
|
26
|
+
for atomic batches, persistence choices, log diagnostics and error recovery.
|
|
27
|
+
The [standalone review prompt](docs/INDEPENDENT_REVIEW_PROMPT.md) defines an
|
|
28
|
+
independent assessment and external trials deferred beyond the 2.0 release.
|
|
29
|
+
|
|
30
|
+
## Quick start
|
|
31
|
+
|
|
32
|
+
The 2.2.0 release is free to download and use within its [license](LICENSE).
|
|
33
|
+
Historical 2.0 documentation below remains useful for unchanged APIs. See the
|
|
34
|
+
[transition policy](legal/TRANSITION.md) for continuing Apache rights and support.
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
cargo add picovolt@2.2.0
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```rust
|
|
41
|
+
use picovolt::Database;
|
|
42
|
+
|
|
43
|
+
fn main() -> Result<(), picovolt::PvError> {
|
|
44
|
+
let mut db = Database::open_memory();
|
|
45
|
+
db.query("CREATE TABLE notes (id, body)")?;
|
|
46
|
+
db.query("INSERT INTO notes VALUES (1, 'Hello, PicoVolt')")?;
|
|
47
|
+
println!("{:?}", db.query("SELECT * FROM notes")?);
|
|
48
|
+
Ok(())
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
For other languages, see [Install and distribution](#install-and-distribution).
|
|
53
|
+
|
|
54
|
+
## Storage model
|
|
16
55
|
|
|
17
56
|
The engine decouples query logic from storage representation through a
|
|
18
57
|
Virtualization Layer Engine (VLE) that shifts between two on-disk shapes:
|
|
@@ -28,10 +67,10 @@ MVCC-preserving columnar layout with packed decimal encoding.
|
|
|
28
67
|
|
|
29
68
|
## Status
|
|
30
69
|
|
|
31
|
-
The
|
|
70
|
+
The engine is exercised by Rust unit and integration suites plus doctests
|
|
32
71
|
and maintained-binding integration tests. CI also enforces formatting and
|
|
33
72
|
warning-free Clippy builds on Linux and Windows. Shipped changes are tracked in
|
|
34
|
-
[CHANGELOG.md](CHANGELOG.md), and
|
|
73
|
+
[CHANGELOG.md](CHANGELOG.md), and future work is tracked in
|
|
35
74
|
[ROADMAP.md](ROADMAP.md).
|
|
36
75
|
|
|
37
76
|
### Module map
|
|
@@ -73,8 +112,10 @@ warning-free Clippy builds on Linux and Windows. Shipped changes are tracked in
|
|
|
73
112
|
and are rejected rather than mis-run.
|
|
74
113
|
- **Page-backed engine.** Tables are append-only chains of hot row pages and
|
|
75
114
|
optional packed cold pages, each header linking to the next. Inserts append to
|
|
76
|
-
a row tail
|
|
77
|
-
|
|
115
|
+
a row tail. Commit cost also includes catalog/index maintenance, retained-log
|
|
116
|
+
accounting and the selected durability protocol; it is not uniformly O(1).
|
|
117
|
+
Logged 2.0 workspaces persist index definitions to reduce catalog rewrites.
|
|
118
|
+
Reads stream through a
|
|
78
119
|
bounded buffer pool ([`storage/cache.rs`](src/storage/cache.rs)), so datasets
|
|
79
120
|
need not fit in RAM, and opt-in ordered indexes
|
|
80
121
|
([`storage/index.rs`](src/storage/index.rs)) turn `WHERE col = value` into a
|
|
@@ -84,10 +125,12 @@ warning-free Clippy builds on Linux and Windows. Shipped changes are tracked in
|
|
|
84
125
|
each flush `fsync` the data and commit the manifest atomically (write to a temp
|
|
85
126
|
file, `fsync`, then rename). The default `Fast` mode uses the OS cache only:
|
|
86
127
|
fast and durable on a clean exit, but not power-loss-safe.
|
|
87
|
-
- **
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
128
|
+
- **Concurrent transactions.** Native `SharedDatabase` exposes independent
|
|
129
|
+
snapshot readers and bounded FIFO writers. Logged workspaces sync original
|
|
130
|
+
pages before overwriting them and publish an ordered physical change stream.
|
|
131
|
+
Reopening rolls back incomplete writes. Format 6 prevents old binaries from
|
|
132
|
+
bypassing recovery. Existing 1.x images remain readable and migratable.
|
|
133
|
+
See [the concurrency contract](docs/CONCURRENCY.md) for limits and costs.
|
|
91
134
|
- **Hardened against untrusted input.** Opening a `.pvdb` or workspace, or running
|
|
92
135
|
a WASM module, validates manifest hashes (no path traversal), bounds-checks CAS
|
|
93
136
|
offsets and page chains (no out-of-bounds reads or infinite loops on a crafted
|
|
@@ -150,21 +193,30 @@ databases.
|
|
|
150
193
|
Durability is selectable via `Database::set_durability` (`Fast` OS-cache default,
|
|
151
194
|
or crash-safe `Sync` with fsync and an atomic manifest).
|
|
152
195
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
196
|
+
Native Rust applications can use the 2.0 concurrency surface through
|
|
197
|
+
`SharedDatabase`. It is a cloneable, bounded worker-thread coordinator with
|
|
198
|
+
explicit read and write transaction handles, FIFO admission, cooperative
|
|
199
|
+
cancellation, and rollback before failed or abandoned writes release the queue.
|
|
200
|
+
Explicit readers execute against independent snapshots while one writer updates
|
|
201
|
+
the workspace. Logged workspaces use format 7 with commit-sequence anchoring;
|
|
202
|
+
use clones of one coordinator for a shared development workspace.
|
|
203
|
+
See [Shared database concurrency](docs/CONCURRENCY.md) for the contract and
|
|
204
|
+
current limits.
|
|
205
|
+
|
|
206
|
+
Measured results and the methodology are in [BENCHMARKS.md](BENCHMARKS.md).
|
|
207
|
+
These measurements describe specific workloads and versions, rather than a
|
|
208
|
+
general throughput guarantee. PicoVolt supports bounded page-cache reads,
|
|
209
|
+
ordered secondary indexes, MVCC time travel and single-file publication.
|
|
210
|
+
Shared filesystem transactions use an incremental page journal; the legacy
|
|
211
|
+
unlogged surface retains full rollback images. Current limits include snapshot
|
|
212
|
+
copy costs, a focused SQL planner and a single writer. The [2.0 benchmark
|
|
213
|
+
baseline](benchmarks/COMPETITORS_2_0_RC3.md) records candidate measurements and
|
|
214
|
+
their limits; see [the concurrency contract](docs/CONCURRENCY.md) for current
|
|
215
|
+
resource costs.
|
|
164
216
|
|
|
165
217
|
## Maintenance and migration
|
|
166
218
|
|
|
167
|
-
Cold-page maintenance is explicit
|
|
219
|
+
Cold-page maintenance is explicit so the host retains ownership of
|
|
168
220
|
scheduling and threads:
|
|
169
221
|
|
|
170
222
|
```sh
|
|
@@ -175,8 +227,8 @@ pv inspect ./data.pv --json
|
|
|
175
227
|
`Database::compact_step(max_pages)` preserves record addresses, indexes, and
|
|
176
228
|
complete MVCC history; it never compacts the mutable tail and leaves a page in
|
|
177
229
|
row form when transposition would not save space. Each pass uses the
|
|
178
|
-
crash-recoverable
|
|
179
|
-
|
|
230
|
+
crash-recoverable transaction protocol: allow bounded journal space for logged
|
|
231
|
+
workspaces, or a full rollback image for unlogged workspaces. Baked-image migration is
|
|
180
232
|
out-of-place and deeply verified before publication:
|
|
181
233
|
|
|
182
234
|
```sh
|
|
@@ -194,7 +246,7 @@ See [Migration and compaction](docs/MIGRATION.md).
|
|
|
194
246
|
| **Rust** (crates.io) | `cargo add picovolt` |
|
|
195
247
|
| **JavaScript / npm** (WebAssembly, browser and Node) | `npm install picovolt` |
|
|
196
248
|
| **Python** (native wheels) | `python -m pip install picovolt` |
|
|
197
|
-
| **Go** (`database/sql` and direct API) | `go get github.com/MiniJe/picovolt/bindings/go@
|
|
249
|
+
| **Go** (`database/sql` and direct API) | `go get github.com/MiniJe/picovolt/bindings/go/v2@v2.2.0`, then provide the matching native C ABI library described in [`bindings/go/`](bindings/go) |
|
|
198
250
|
| **C** | Download the matching `picovolt-capi-*` bundle from the [latest release](https://github.com/MiniJe/picovolt/releases/latest), or run `cargo build --release --features capi` |
|
|
199
251
|
| **In-memory** (native, no filesystem) | `Database::open_memory()`, export with `bake_to_bytes()` |
|
|
200
252
|
|
|
@@ -263,7 +315,6 @@ native modules built on the public API. Both are documented in
|
|
|
263
315
|
| | |
|
|
264
316
|
|--|--|
|
|
265
317
|
| Roadmap | [ROADMAP.md](ROADMAP.md) |
|
|
266
|
-
| One-million-download plan | [docs/ROADMAP_1M_DOWNLOADS.md](docs/ROADMAP_1M_DOWNLOADS.md) |
|
|
267
318
|
| Monetization thesis | [docs/MONETIZATION.md](docs/MONETIZATION.md) |
|
|
268
319
|
| Enterprise integration foundation | [docs/ENTERPRISE.md](docs/ENTERPRISE.md) |
|
|
269
320
|
| Platform and file support | [docs/SUPPORT.md](docs/SUPPORT.md) |
|
|
@@ -274,10 +325,11 @@ native modules built on the public API. Both are documented in
|
|
|
274
325
|
|
|
275
326
|
## License
|
|
276
327
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
328
|
+
The 2.1.0 line is prepared under the [PicoVolt Proprietary Lifetime License](LICENSE).
|
|
329
|
+
Earlier Apache-2.0 components retain their existing grants; the original license
|
|
330
|
+
is preserved [here](legal/APACHE-2.0-LEGACY.txt). Third-party licenses and notices
|
|
331
|
+
continue to apply (see [`NOTICE`](NOTICE)). No automatic public publication is enabled.
|
|
280
332
|
|
|
281
333
|
The optional [`compliance`](src/engine/compliance.rs) module is not a license
|
|
282
334
|
requirement. It is an opt-in helper for applications that want to enforce their
|
|
283
|
-
own usage policy.
|
|
335
|
+
own usage policy. It does not implement license activation or telemetry.
|
package/browser.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// Modified for PicoVolt 2.1.0 retrieval, 2026-09-11. See legal/COMPONENT-SCOPE-2.1.md.
|
|
1
2
|
// Durable browser helper backed by the Origin Private File System (OPFS).
|
|
2
3
|
import { Db } from "./picovolt.js";
|
|
3
4
|
|
|
@@ -62,6 +63,16 @@ export class PersistentDb {
|
|
|
62
63
|
return statement;
|
|
63
64
|
}
|
|
64
65
|
|
|
66
|
+
retrieve(request) {
|
|
67
|
+
this._assertOpen();
|
|
68
|
+
return JSON.parse(this.db.retrieve(JSON.stringify(request)));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
executeMany(sql, rows) {
|
|
72
|
+
this._assertOpen();
|
|
73
|
+
return JSON.parse(this.db.executeMany(sql, rows)).mutated;
|
|
74
|
+
}
|
|
75
|
+
|
|
65
76
|
async save() {
|
|
66
77
|
this._assertOpen();
|
|
67
78
|
const root = await navigator.storage.getDirectory();
|