OverviewFilesCommitsIssuesDocsReleasesPeers

hyperident commits / 16a5ee3

Migrate OTA: pear-runtime (Hyperdrive) → pgh content-addressed updates (0.2.2)
pear-runtime self-updated over an append-only Hyperdrive blobs corestore under ~/.config/hyperident/pear-runtime that grew on every release — and, because initPearRuntime() was called UNCONDITIONALLY in main(), on every CLI invocation. Swap it for a backgrounded `pgh app update hyperident` subprocess (detached, best-effort, skipped on --no-updates). Mirrors the hyper-tps / godot-keet migration (hyper-fleeky-dev #81). index.js: - replace initPearRuntime()/new PearRuntime with startBackgroundUpdate() (resolves ~/.local/bin/pgh or the store-installed bare+entry, spawns detached). Gated behind a --no-updates check; only fires when pgh and a pgh.upgrade link are both present. Bare-correctness (BARE-RUNTIME-POLICY.md — this is a dual node/bare CLI): - spawn via the imports-map bridge `child_process` → bare-subprocess (bare) / node child_process (node), NOT a direct bare-subprocess import. - add the child_process bridge to the imports map; declare bare-subprocess. Verified spawn=function under BOTH bare and node. package.json (version 0.2.1 → 0.2.2): - remove pear-runtime dep + the top-level pear:// upgrade + the pear block. - add a pgh block with pgh.upgrade=pgh://<registry>/hyperident. - pin keet-identity-key github:HEAD → exact 3.1.0 (HEAD already resolved to 3.1.0; npm latest 3.2.0 is the ce-v3 attestation-encoding drift trap). .pear-git/ci.yaml: - replace the whole-keet-cli node_modules rsync with `npm install --production` (all deps are on npm now) — a far smaller, self-contained tree that no longer drags in the keet-core stack hyperident never uses — then `pgh publish`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16a5ee35da5b38770fcfb2e4214885a452e3413e
by plankatron <fleeky@gmail.com> · 2026-06-20T19:08:15.000Z

Changed files (4) +130 -731

.pear-git/ci.yaml +11 -3
……@@ -1,4 +1,12 @@
11steps:
2 - name: copy-deps
3 run: cp -r /storage/projects/code/hypercore-kb/hyper-fleeky/keet-cli/node_modules .
4 timeout: 120
2 - name: install-deps
3 # hyperident's deps are all on npm now (keet-identity-key pinned to 3.1.0),
4 # so a clean production install replaces the old keet-cli node_modules rsync
5 # — a far smaller, self-contained tree (no keet-core stack hyperident never
6 # uses). --ignore-scripts blocks postinstall hooks; prebuilt natives ship in
7 # the bare-* packages and pgh publish stages them.
8 run: npm install --production --ignore-scripts
9 timeout: 180
10 - name: pgh-publish
11 run: pgh publish . --accept-conflict "automated CI publish; dep version splits inherited from per-app lockfiles across the pgh ecosystem"
12 timeout: 300
index.js +47 -27
……@@ -2,7 +2,7 @@
22// Hyperident CLI - Identity management for hyperswarm applications
33//
44// Provides persistent, deterministic addressing through keet-identity-key integration.
5// pear-runtime provides P2P OTA updates when running from a deployed install.
5// pgh provides P2P OTA updates (content-addressed) when installed via pgh.
66//
77// Usage: bare index.js <command> [options]
88// node index.js <command> [options]
……@@ -2397,40 +2397,60 @@ function displayError(error, command = null) {
23972397 }
23982398}
23992399
2400// Initialize pear-runtime for P2P OTA updates (non-blocking)
2401async function initPearRuntime () {
2400// Background OTA via pgh — content-addressed store, NO Hyperdrive/blobs.
2401// `pgh app update <name>` resolves the latest release from package.json's
2402// pgh.upgrade, fetches any new tree closure into the content store, and
2403// ATOMICALLY materializes it into the install dir (scratch build + swap),
2404// safe to run while a command executes. This replaces the former pear-runtime
2405// Hyperdrive updater, which kept an unbounded append-only blob corestore under
2406// ~/.config/hyperident/pear-runtime (it grew on every release and — because
2407// initPearRuntime was called unconditionally — on every CLI invocation).
2408async function startBackgroundUpdate () {
24022409 try {
2403 const fs = await import('fs')
2404 const path = await import('path')
2405 const os = await import('os')
2406 const appDir = path.default.dirname(new URL(import.meta.url).pathname)
2407 const pkg = JSON.parse(fs.default.readFileSync(path.default.join(appDir, 'package.json'), 'utf-8'))
2408 if (!pkg.upgrade) return null
2409
2410 const { default: PearRuntime } = await import('pear-runtime')
2411 const name = 'hyperident'
2412 const p = os.default.platform()
2413 let dir
2414 if (p === 'darwin') dir = path.default.join(os.default.homedir(), 'Library', 'Application Support', name)
2415 else if (p === 'win32') dir = path.default.join(os.default.homedir(), 'AppData', 'Roaming', name)
2416 else dir = path.default.join(os.default.homedir(), '.config', name)
2417
2418 const runtime = new PearRuntime({ dir, app: appDir, version: pkg.version, upgrade: pkg.upgrade })
2419 runtime.on('updated', () => {
2420 runtime.applyUpdate().catch(() => {})
2410 const fs = (await import('fs')).default
2411 const path = (await import('path')).default
2412 const os = (await import('os')).default
2413 const appDir = path.dirname(new URL(import.meta.url).pathname)
2414 const pkg = JSON.parse(fs.readFileSync(path.join(appDir, 'package.json'), 'utf-8'))
2415 const upgrade = pkg.pgh && pkg.pgh.upgrade
2416 if (!upgrade) return
2417 const appName = (pkg.pgh && pkg.pgh.bin) || pkg.name || 'hyperident'
2418
2419 // Resolve the pgh CLI: prefer ~/.local/bin/pgh, else the store-installed
2420 // bare runtime + entry. Bail if pgh isn't on this machine (e.g. dev source).
2421 let argv = null
2422 const launcher = path.join(os.homedir(), '.local', 'bin', 'pgh')
2423 if (fs.existsSync(launcher)) argv = [launcher]
2424 else {
2425 const storeRoot = process.env.PGH_STORE_ROOT || path.join(os.homedir(), '.local', 'share', 'store')
2426 const bare = path.join(storeRoot, 'apps', 'pgh', 'runtime', 'bare')
2427 const entry = path.join(storeRoot, 'apps', 'pgh', 'bin', 'pgh.bare.js')
2428 if (fs.existsSync(bare) && fs.existsSync(entry)) argv = [bare, entry]
2429 }
2430 if (!argv) return
2431
2432 // Cross-runtime spawn via the imports-map bridge: child_process → bare-subprocess
2433 // under bare (deployed installs), node's child_process under node (dev). Both
2434 // provide spawn(); failure here is caught and OTA is silently skipped.
2435 const subprocess = (await import('child_process')).default || (await import('child_process'))
2436 const proc = subprocess.spawn(argv[0], [...argv.slice(1), 'app', 'update', appName], {
2437 stdio: 'ignore',
2438 detached: true
24212439 })
2422 return runtime
2423 } catch {
2424 return null
2425 }
2440 proc.on('error', () => {})
2441 if (proc.unref) proc.unref()
2442 } catch {}
24262443}
24272444
24282445/**
24292446 * Main CLI entry point
24302447 */
24312448async function main() {
2432 // Start OTA update check in background (non-blocking)
2433 const runtime = initPearRuntime()
2449 // Start background OTA via pgh (content-addressed, non-blocking, best-effort).
2450 // Gated so it never fires on `--no-updates`. Unlike the old pear-runtime path,
2451 // this no longer balloons a corestore — and it only spawns when pgh + a
2452 // pgh.upgrade link are both present (i.e. a real pgh install).
2453 if (!process.argv.includes('--no-updates')) startBackgroundUpdate()
24342454
24352455 try {
24362456 const parsed = parseArgs(process.argv)
package-lock.json +58 -693
……@@ -1,12 +1,12 @@
11{
22 "name": "hyperident",
3 "version": "0.2.0",
3 "version": "0.2.2",
44 "lockfileVersion": 3,
55 "requires": true,
66 "packages": {
77 "": {
88 "name": "hyperident",
9 "version": "0.2.0",
9 "version": "0.2.2",
1010 "license": "Apache-2.0",
1111 "dependencies": {
1212 "b4a": "^1.6.7",
……@@ -14,10 +14,10 @@
1414 "bare-fs": "^4.7.2",
1515 "bare-os": "^2.4.2",
1616 "bare-path": "^2.1.3",
17 "bare-subprocess": "^3.1.4",
1718 "hypercore-id-encoding": "^1.3.0",
1819 "hyperswarm": "^4.12.1",
19 "keet-identity-key": "github:holepunchto/keet-identity-key",
20 "pear-runtime": "^0.4.2",
20 "keet-identity-key": "3.1.0",
2121 "sodium-universal": "^5.0.1"
2222 },
2323 "bin": {
……@@ -158,6 +158,7 @@
158158 "version": "1.10.0",
159159 "resolved": "https://registry.npmjs.org/bare-bundle/-/bare-bundle-1.10.0.tgz",
160160 "integrity": "sha512-4LVlnJAHr00Hh6Vu6ZUJS38rcEtJT3b3vChXSsBsJ2mk1TN0lQ+gzd+Dw5L0aV7uqDZv84smuwW+O02X7PfDlw==",
161 "dev": true,
161162 "license": "Apache-2.0",
162163 "peerDependencies": {
163164 "bare-buffer": "*",
……@@ -276,6 +277,7 @@
276277 "version": "3.0.0",
277278 "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-3.0.0.tgz",
278279 "integrity": "sha512-0u964P5ZLAxTi+lW4Kjp7YRJQ5gZr9ycYOtjLxsSrupgMz3sn5Z9n4SH/JIifHwvadsf1brA2JAjP+9IOWwTiw==",
280 "dev": true,
279281 "license": "Apache-2.0",
280282 "dependencies": {
281283 "bare-os": "^3.0.1"
……@@ -285,6 +287,7 @@
285287 "version": "3.8.7",
286288 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
287289 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
290 "dev": true,
288291 "license": "Apache-2.0",
289292 "engines": {
290293 "bare": ">=1.14.0"
……@@ -449,6 +452,7 @@
449452 "version": "6.2.0",
450453 "resolved": "https://registry.npmjs.org/bare-module/-/bare-module-6.2.0.tgz",
451454 "integrity": "sha512-CoCTG8y8HKPnNW317OW1hynl28DasVPtbX033ZEAXk0Q3SYCUXi3OOnNAr6wTrDgMgpOsW0kl7Nifcom5GGH8Q==",
455 "dev": true,
452456 "license": "Apache-2.0",
453457 "dependencies": {
454458 "bare-bundle": "^1.3.0",
……@@ -473,6 +477,7 @@
473477 "version": "1.4.7",
474478 "resolved": "https://registry.npmjs.org/bare-module-lexer/-/bare-module-lexer-1.4.7.tgz",
475479 "integrity": "sha512-0klU4eMsjh/wcxi8FdHmNom2j2F4kmkXOhyJFL9qTaSFp2lE3m6BtbKgMHY8R5miqC9r8/IfA8wzXnC5Os14WA==",
480 "dev": true,
476481 "license": "Apache-2.0",
477482 "dependencies": {
478483 "require-addon": "^1.0.2"
……@@ -507,6 +512,7 @@
507512 "version": "3.8.7",
508513 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
509514 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
515 "dev": true,
510516 "license": "Apache-2.0",
511517 "engines": {
512518 "bare": ">=1.14.0"
……@@ -516,6 +522,7 @@
516522 "version": "3.0.0",
517523 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
518524 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
525 "dev": true,
519526 "license": "Apache-2.0",
520527 "dependencies": {
521528 "bare-os": "^3.0.1"
……@@ -553,6 +560,7 @@
553560 "version": "4.1.5",
554561 "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-4.1.5.tgz",
555562 "integrity": "sha512-6OfxaG8JSkRh3Gc4hzHRsxNt+yu2PpN7lrv1V+T78GdknWQkVGwiEvu4m+1nbfk8cMVQ0TGxRvQ90XA4rhnTuw==",
563 "dev": true,
556564 "license": "Apache-2.0",
557565 "dependencies": {
558566 "bare-events": "^2.0.0",
……@@ -594,41 +602,6 @@
594602 "integrity": "sha512-HS/A30bi2+PiRJfU6R4+Kp+6KeLSCSByjYM2iiobOKzLAvtu1CT+S8xWfiU7wz0erknjkUoC+yXy108tzIuP5Q==",
595603 "license": "Apache-2.0"
596604 },
597 "node_modules/bare-sidecar": {
598 "version": "0.3.0",
599 "resolved": "https://registry.npmjs.org/bare-sidecar/-/bare-sidecar-0.3.0.tgz",
600 "integrity": "sha512-NyhdUnQLnPQTGCSRGHxLQzq3OPnKTBcK065HDjwO/mnVPpZV/zIdJVIzXY5SMNob9NTHNaYxka25nv6WxcPXEg==",
601 "license": "Apache-2.0",
602 "dependencies": {
603 "bare-fs": "^4.5.1",
604 "bare-module": "^6.1.3",
605 "bare-os": "^3.6.2",
606 "bare-path": "^3.0.0",
607 "bare-pipe": "^4.1.3",
608 "bare-stream": "^2.7.0",
609 "bare-subprocess": "^5.1.5",
610 "bare-url": "^2.3.2",
611 "require-asset": "^1.1.0"
612 }
613 },
614 "node_modules/bare-sidecar/node_modules/bare-os": {
615 "version": "3.8.7",
616 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
617 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
618 "license": "Apache-2.0",
619 "engines": {
620 "bare": ">=1.14.0"
621 }
622 },
623 "node_modules/bare-sidecar/node_modules/bare-path": {
624 "version": "3.0.0",
625 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
626 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
627 "license": "Apache-2.0",
628 "dependencies": {
629 "bare-os": "^3.0.1"
630 }
631 },
632605 "node_modules/bare-signals": {
633606 "version": "4.2.0",
634607 "resolved": "https://registry.npmjs.org/bare-signals/-/bare-signals-4.2.0.tgz",
……@@ -703,36 +676,34 @@
703676 }
704677 },
705678 "node_modules/bare-subprocess": {
706 "version": "5.2.3",
707 "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.2.3.tgz",
708 "integrity": "sha512-07wwswlV7M3sC9IykbZRZ/jHAkrXFWVLqdBWGv1y0ojCimtRD9hGwxdHmR5FUFmDUZLNsBmTYJNQqgio5+A85Q==",
679 "version": "3.1.4",
680 "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-3.1.4.tgz",
681 "integrity": "sha512-BOpi7z+O07MEpB5Eyd+WLkJzAu6bxkitgpnfF0mNL9eWfryQWVltbodCeT/SYX03UoCjM/Wh6FILWKKQXpn2+w==",
709682 "license": "Apache-2.0",
710683 "dependencies": {
711 "bare-env": "^3.0.0",
712 "bare-events": "^2.5.4",
713 "bare-os": "^3.0.1",
714 "bare-pipe": "^4.0.0",
715 "bare-url": "^2.2.2"
716 },
717 "engines": {
718 "bare": ">=1.7.0"
719 },
720 "peerDependencies": {
721 "bare-buffer": "*"
722 },
723 "peerDependenciesMeta": {
724 "bare-buffer": {
725 "optional": true
726 }
684 "bare-env": "^2.0.0",
685 "bare-events": "^2.0.0",
686 "bare-os": "^2.2.0",
687 "bare-pipe": "^3.3.0"
727688 }
728689 },
729 "node_modules/bare-subprocess/node_modules/bare-os": {
730 "version": "3.8.7",
731 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
732 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
690 "node_modules/bare-subprocess/node_modules/bare-env": {
691 "version": "2.1.0",
692 "resolved": "https://registry.npmjs.org/bare-env/-/bare-env-2.1.0.tgz",
693 "integrity": "sha512-h/YZvt/kSxN3UgyzXdgcT7xG/e20BRIgqjRYH64T16aXAymjo1Ka8lQpxK8yg8yaHvMSbEmX0x2x5+iMwjekXg==",
733694 "license": "Apache-2.0",
734 "engines": {
735 "bare": ">=1.14.0"
695 "dependencies": {
696 "bare-os": "^2.1.0"
697 }
698 },
699 "node_modules/bare-subprocess/node_modules/bare-pipe": {
700 "version": "3.3.8",
701 "resolved": "https://registry.npmjs.org/bare-pipe/-/bare-pipe-3.3.8.tgz",
702 "integrity": "sha512-X8Ulz/os6LR/cF5HBljq/tJ0NP7eNGjiripZF53EMtgkhJ9FVl1/WLZxwvUvcqbR82Ywaq6KYM+A6zS7DGPPUw==",
703 "license": "Apache-2.0",
704 "dependencies": {
705 "bare-events": "^2.0.0",
706 "bare-stream": "^2.0.0"
736707 }
737708 },
738709 "node_modules/bare-tcp": {
……@@ -793,6 +764,7 @@
793764 "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.1.tgz",
794765 "integrity": "sha512-fZapLWNB25gS+etK27NV9KgBNXgo2yeYHuj+OyPblQd6GYAE3JVy6aKxszMV5jhGGFwraXQKA5fldvf3lMyEqw==",
795766 "license": "Apache-2.0",
767 "peer": true,
796768 "dependencies": {
797769 "bare-path": "^3.0.0"
798770 }
……@@ -894,21 +866,6 @@
894866 }
895867 }
896868 },
897 "node_modules/big-sparse-array": {
898 "version": "1.0.3",
899 "resolved": "https://registry.npmjs.org/big-sparse-array/-/big-sparse-array-1.0.3.tgz",
900 "integrity": "sha512-6RjV/3mSZORlMdpUaQ6rUSpG637cZm0//E54YYGtQg1c1O+AbZP8UTdJ/TchsDZcTVLmyWZcseBfp2HBeXUXOQ==",
901 "license": "MIT"
902 },
903 "node_modules/binary-stream-equals": {
904 "version": "1.0.0",
905 "resolved": "https://registry.npmjs.org/binary-stream-equals/-/binary-stream-equals-1.0.0.tgz",
906 "integrity": "sha512-xiUT5LGfD8JiLhbXiG+ByOnbgb9f2ssRLfZDQMl3nZdf89EotQZGZuMkDN8J3n46emabE7RnJ1q0r7Hv3INExw==",
907 "license": "MIT",
908 "dependencies": {
909 "b4a": "^1.3.1"
910 }
911 },
912869 "node_modules/bip39-mnemonic": {
913870 "version": "2.5.0",
914871 "resolved": "https://registry.npmjs.org/bip39-mnemonic/-/bip39-mnemonic-2.5.0.tgz",
……@@ -1005,13 +962,29 @@
1005962 "bare-os": "^3.0.1"
1006963 }
1007964 },
1008 "node_modules/codecs": {
1009 "version": "3.1.0",
1010 "resolved": "https://registry.npmjs.org/codecs/-/codecs-3.1.0.tgz",
1011 "integrity": "sha512-Dqx8NwvBvnMeuPQdVKy/XEF71igjR5apxBvCGeV0pP1tXadOiaLvDTXt7xh+/5wI1ASB195mXQGJbw3Ml4YDWQ==",
1012 "license": "MIT",
965 "node_modules/brittle/node_modules/bare-subprocess": {
966 "version": "5.2.3",
967 "resolved": "https://registry.npmjs.org/bare-subprocess/-/bare-subprocess-5.2.3.tgz",
968 "integrity": "sha512-07wwswlV7M3sC9IykbZRZ/jHAkrXFWVLqdBWGv1y0ojCimtRD9hGwxdHmR5FUFmDUZLNsBmTYJNQqgio5+A85Q==",
969 "dev": true,
970 "license": "Apache-2.0",
1013971 "dependencies": {
1014 "b4a": "^1.6.3"
972 "bare-env": "^3.0.0",
973 "bare-events": "^2.5.4",
974 "bare-os": "^3.0.1",
975 "bare-pipe": "^4.0.0",
976 "bare-url": "^2.2.2"
977 },
978 "engines": {
979 "bare": ">=1.7.0"
980 },
981 "peerDependencies": {
982 "bare-buffer": "*"
983 },
984 "peerDependenciesMeta": {
985 "bare-buffer": {
986 "optional": true
987 }
1015988 }
1016989 },
1017990 "node_modules/compact-encoding": {
……@@ -1048,60 +1021,6 @@
10481021 "dev": true,
10491022 "license": "MIT"
10501023 },
1051 "node_modules/corestore": {
1052 "version": "7.9.2",
1053 "resolved": "https://registry.npmjs.org/corestore/-/corestore-7.9.2.tgz",
1054 "integrity": "sha512-dyIktVSVLu0skZ1UM4yODbNbZ46dBpTHypzwlwET1btVuS3YIf66Zz8Tx8h3Xa8nbLO2USGqrYtvPYzSRj2wCA==",
1055 "license": "MIT",
1056 "dependencies": {
1057 "b4a": "^1.6.7",
1058 "hypercore": "^11.19.0",
1059 "hypercore-crypto": "^3.4.2",
1060 "hypercore-errors": "^1.4.0",
1061 "hypercore-id-encoding": "^1.3.0",
1062 "ready-resource": "^1.1.1",
1063 "sodium-universal": "^5.0.1",
1064 "which-runtime": "^1.2.1"
1065 }
1066 },
1067 "node_modules/debounceify": {
1068 "version": "1.1.0",
1069 "resolved": "https://registry.npmjs.org/debounceify/-/debounceify-1.1.0.tgz",
1070 "integrity": "sha512-eKuHDVfJVg+u/0nPy8P+fhnLgbyuTgVxuCRrS/R7EpDSMMkBDgSes41MJtSAY1F1hcqfHz3Zy/qpqHHIp/EhdA==",
1071 "license": "MIT"
1072 },
1073 "node_modules/device-file": {
1074 "version": "2.3.1",
1075 "resolved": "https://registry.npmjs.org/device-file/-/device-file-2.3.1.tgz",
1076 "integrity": "sha512-bmON44lwxJPle9N2OcH4tqM44pMGZKT8G6OkzXkz0urvqQ9LKkoQdTS6w0ztYfmLdUE27R4UUmx0+y2gEz4Jug==",
1077 "license": "Apache-2.0",
1078 "dependencies": {
1079 "b4a": "^1.6.7",
1080 "bare-fs": "^4.0.1",
1081 "bare-path": "^3.0.0",
1082 "fd-lock": "^2.1.0",
1083 "fs-native-extensions": "^1.4.0",
1084 "ready-resource": "^1.2.0"
1085 }
1086 },
1087 "node_modules/device-file/node_modules/bare-os": {
1088 "version": "3.8.7",
1089 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
1090 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
1091 "license": "Apache-2.0",
1092 "engines": {
1093 "bare": ">=1.14.0"
1094 }
1095 },
1096 "node_modules/device-file/node_modules/bare-path": {
1097 "version": "3.0.0",
1098 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
1099 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
1100 "license": "Apache-2.0",
1101 "dependencies": {
1102 "bare-os": "^3.0.1"
1103 }
1104 },
11051024 "node_modules/dht-rpc": {
11061025 "version": "6.26.4",
11071026 "resolved": "https://registry.npmjs.org/dht-rpc/-/dht-rpc-6.26.4.tgz",
……@@ -1147,34 +1066,6 @@
11471066 "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
11481067 "license": "MIT"
11491068 },
1150 "node_modules/fd-lock": {
1151 "version": "2.1.1",
1152 "resolved": "https://registry.npmjs.org/fd-lock/-/fd-lock-2.1.1.tgz",
1153 "integrity": "sha512-H3VkcWFl39Rk0xBokDcUyBcVs6VrYTUo/DhDWMzJOF99wXWDAvmvq/GlLTS2NTehsznZhp3fXVyrtB2ldDXhwg==",
1154 "license": "Apache-2.0",
1155 "dependencies": {
1156 "bare-fs": "^4.5.0",
1157 "fs-native-extensions": "^1.4.4",
1158 "ready-resource": "^1.2.0",
1159 "resource-on-exit": "^1.0.0"
1160 }
1161 },
1162 "node_modules/flat-tree": {
1163 "version": "1.13.0",
1164 "resolved": "https://registry.npmjs.org/flat-tree/-/flat-tree-1.13.0.tgz",
1165 "integrity": "sha512-fT3HIuCPwHhFgJ20QYzDHgUG0zMmFg5cHvFiFo5h+QMSJ28TihsEVY0f8HGliuO+pOzmvjMx1odToeaEWkTnyQ==",
1166 "license": "MIT"
1167 },
1168 "node_modules/fs-native-extensions": {
1169 "version": "1.5.0",
1170 "resolved": "https://registry.npmjs.org/fs-native-extensions/-/fs-native-extensions-1.5.0.tgz",
1171 "integrity": "sha512-nuZLFm9mGCxvyi7Llww/J4OyifKCS21nEUTAmnlTZp3FObPOvA32aCedCmt4Z+8yk+caqfClNaSCfn/P7T7FLQ==",
1172 "license": "Apache-2.0",
1173 "dependencies": {
1174 "require-addon": "^1.1.0",
1175 "which-runtime": "^1.2.0"
1176 }
1177 },
11781069 "node_modules/generate-object-property": {
11791070 "version": "2.0.0",
11801071 "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-2.0.0.tgz",
……@@ -1223,71 +1114,6 @@
12231114 "bare-os": "^3.0.1"
12241115 }
12251116 },
1226 "node_modules/hyperbee": {
1227 "version": "2.27.3",
1228 "resolved": "https://registry.npmjs.org/hyperbee/-/hyperbee-2.27.3.tgz",
1229 "integrity": "sha512-PXURH2U4juUZyJRKHTrY5z1zX851pmI1Q0jfv5F/hCIErDt/ND8jOZuxc3hfOLM9f0W3qJEDTMlV5AJBkVPy8w==",
1230 "license": "MIT",
1231 "dependencies": {
1232 "b4a": "^1.6.0",
1233 "codecs": "^3.0.0",
1234 "debounceify": "^1.0.0",
1235 "hypercore-errors": "^1.0.0",
1236 "mutexify": "^1.4.0",
1237 "protocol-buffers-encodings": "^1.2.0",
1238 "rache": "^1.0.0",
1239 "ready-resource": "^1.0.0",
1240 "resolve-reject-promise": "^1.1.0",
1241 "safety-catch": "^1.0.2",
1242 "streamx": "^2.12.4",
1243 "unslab": "^1.2.0"
1244 }
1245 },
1246 "node_modules/hyperblobs": {
1247 "version": "2.11.1",
1248 "resolved": "https://registry.npmjs.org/hyperblobs/-/hyperblobs-2.11.1.tgz",
1249 "integrity": "sha512-sHseEZDA1JI7NI+sqT+KLcs3fyhCnKKCMbIOt1MCOF4CafrBB1mwtFYq/89RJSKhd16C+8uGPT6iH35kjv1nBw==",
1250 "license": "Apache-2.0",
1251 "dependencies": {
1252 "b4a": "^1.6.1",
1253 "bare-events": "^2.5.0",
1254 "compact-encoding": "^2.18.0",
1255 "hypercore-crypto": "^3.6.1",
1256 "hypercore-errors": "^1.1.1",
1257 "mutexify": "^1.4.0",
1258 "speedometer": "^1.1.0",
1259 "streamx": "^2.13.2"
1260 }
1261 },
1262 "node_modules/hypercore": {
1263 "version": "11.28.1",
1264 "resolved": "https://registry.npmjs.org/hypercore/-/hypercore-11.28.1.tgz",
1265 "integrity": "sha512-d8jqUilG7Gri8wT+sRdkFTYRPMHGyvBz/NCYHf5rX7+LoivRNRxQm5nWChT7caiUKbcsDak6h7IiEQ5wbD1wCg==",
1266 "license": "MIT",
1267 "dependencies": {
1268 "@hyperswarm/secret-stream": "^6.0.0",
1269 "b4a": "^1.1.0",
1270 "bare-events": "^2.2.0",
1271 "big-sparse-array": "^1.0.3",
1272 "compact-encoding": "^2.11.0",
1273 "fast-fifo": "^1.3.0",
1274 "flat-tree": "^1.9.0",
1275 "hypercore-crypto": "^3.2.1",
1276 "hypercore-errors": "^1.5.0",
1277 "hypercore-id-encoding": "^1.2.0",
1278 "hypercore-storage": "^2.8.0",
1279 "is-options": "^1.0.1",
1280 "nanoassert": "^2.0.0",
1281 "protomux": "^3.5.0",
1282 "quickbit-universal": "^2.2.0",
1283 "random-array-iterator": "^1.0.0",
1284 "safety-catch": "^1.0.1",
1285 "sodium-universal": "^5.0.1",
1286 "streamx": "^2.12.4",
1287 "unslab": "^1.3.0",
1288 "z32": "^1.0.0"
1289 }
1290 },
12911117 "node_modules/hypercore-crypto": {
12921118 "version": "3.6.1",
12931119 "resolved": "https://registry.npmjs.org/hypercore-crypto/-/hypercore-crypto-3.6.1.tgz",
……@@ -1299,15 +1125,6 @@
12991125 "sodium-universal": "^5.0.0"
13001126 }
13011127 },
1302 "node_modules/hypercore-errors": {
1303 "version": "1.5.0",
1304 "resolved": "https://registry.npmjs.org/hypercore-errors/-/hypercore-errors-1.5.0.tgz",
1305 "integrity": "sha512-5KQ/SuDxsvet+7qWA35Ay6zdD9WyAHQoyWHGcPUTbmJBd300gvNIJoi3oma7kp4TTCSzii6qYumNZe/s0j/saQ==",
1306 "license": "Apache-2.0",
1307 "dependencies": {
1308 "hypercore-id-encoding": "^1.3.0"
1309 }
1310 },
13111128 "node_modules/hypercore-id-encoding": {
13121129 "version": "1.3.0",
13131130 "resolved": "https://registry.npmjs.org/hypercore-id-encoding/-/hypercore-id-encoding-1.3.0.tgz",
……@@ -1318,45 +1135,6 @@
13181135 "z32": "^1.0.0"
13191136 }
13201137 },
1321 "node_modules/hypercore-storage": {
1322 "version": "2.8.0",
1323 "resolved": "https://registry.npmjs.org/hypercore-storage/-/hypercore-storage-2.8.0.tgz",
1324 "integrity": "sha512-s35HllFMYvrkSHvkIIklVFmCI/bRVNO7H3pi4mKvWl0XLyhGGGM+NtJ7fpsh82oPRCmL9XtMRO+pT6LiMAO8MA==",
1325 "license": "Apache-2.0",
1326 "dependencies": {
1327 "b4a": "^1.6.7",
1328 "bare-fs": "^4.0.1",
1329 "bare-path": "^3.0.0",
1330 "compact-encoding": "^2.16.0",
1331 "device-file": "^2.1.2",
1332 "flat-tree": "^1.12.1",
1333 "hypercore-crypto": "^3.4.2",
1334 "hyperschema": "^1.7.0",
1335 "index-encoder": "^3.3.2",
1336 "resolve-reject-promise": "^1.0.0",
1337 "rocksdb-native": "^3.11.0",
1338 "scope-lock": "^1.2.4",
1339 "streamx": "^2.21.1"
1340 }
1341 },
1342 "node_modules/hypercore-storage/node_modules/bare-os": {
1343 "version": "3.8.7",
1344 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
1345 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
1346 "license": "Apache-2.0",
1347 "engines": {
1348 "bare": ">=1.14.0"
1349 }
1350 },
1351 "node_modules/hypercore-storage/node_modules/bare-path": {
1352 "version": "3.0.0",
1353 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
1354 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
1355 "license": "Apache-2.0",
1356 "dependencies": {
1357 "bare-os": "^3.0.1"
1358 }
1359 },
13601138 "node_modules/hyperdht": {
13611139 "version": "6.30.0",
13621140 "resolved": "https://registry.npmjs.org/hyperdht/-/hyperdht-6.30.0.tgz",
……@@ -1397,26 +1175,6 @@
13971175 "hyperschema": "^1.20.1"
13981176 }
13991177 },
1400 "node_modules/hyperdrive": {
1401 "version": "13.3.2",
1402 "resolved": "https://registry.npmjs.org/hyperdrive/-/hyperdrive-13.3.2.tgz",
1403 "integrity": "sha512-YgM/be3hppRTLN7plGGot30w58imhCBhzy+bfSToyDH0Gf4ykwplOxsW3YnDIIH5Oa/tNU2ZdZHQ6IhrTZ9aLQ==",
1404 "license": "Apache-2.0",
1405 "dependencies": {
1406 "hyperbee": "^2.11.1",
1407 "hyperblobs": "^2.9.0",
1408 "hypercore": "^11.0.0",
1409 "hypercore-errors": "^1.0.0",
1410 "is-options": "^1.0.2",
1411 "mirror-drive": "^1.2.0",
1412 "ready-resource": "^1.0.0",
1413 "safety-catch": "^1.0.2",
1414 "speedometer": "^1.1.0",
1415 "streamx": "^2.12.4",
1416 "sub-encoder": "^2.1.1",
1417 "unix-path-resolve": "^1.0.2"
1418 }
1419 },
14201178 "node_modules/hyperschema": {
14211179 "version": "1.20.1",
14221180 "resolved": "https://registry.npmjs.org/hyperschema/-/hyperschema-1.20.1.tgz",
……@@ -1444,24 +1202,6 @@
14441202 "unslab": "^1.3.0"
14451203 }
14461204 },
1447 "node_modules/index-encoder": {
1448 "version": "3.5.0",
1449 "resolved": "https://registry.npmjs.org/index-encoder/-/index-encoder-3.5.0.tgz",
1450 "integrity": "sha512-idZ1cxtZz2dRV6rUiaP9Xo99UjXbSzjcMacoQmxUMu/A7fEQcNPngvwDJYeWelQUS5XFlY71/or70lKn6XnwbQ==",
1451 "license": "Apache-2.0",
1452 "dependencies": {
1453 "b4a": "^1.6.4"
1454 }
1455 },
1456 "node_modules/is-options": {
1457 "version": "1.0.2",
1458 "resolved": "https://registry.npmjs.org/is-options/-/is-options-1.0.2.tgz",
1459 "integrity": "sha512-u+Ai74c8Q74aS8BuHwPdI1jptGOT1FQXgCq8/zv0xRuE+wRgSMEJLj8lVO8Zp9BeGb29BXY6AsNPinfqjkr7Fg==",
1460 "license": "MIT",
1461 "dependencies": {
1462 "b4a": "^1.1.1"
1463 }
1464 },
14651205 "node_modules/is-property": {
14661206 "version": "1.0.2",
14671207 "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
……@@ -1490,74 +1230,6 @@
14901230 "sodium-universal": "^5.0.1"
14911231 }
14921232 },
1493 "node_modules/localdrive": {
1494 "version": "2.2.1",
1495 "resolved": "https://registry.npmjs.org/localdrive/-/localdrive-2.2.1.tgz",
1496 "integrity": "sha512-r7AMrscOky3zIjzOrbH+90P12WmFdQaIlJ26TXaUJrM3hGQ6lIQkWhy8eQs5xDI5ukEyrXp4962EIgO9DFdm+g==",
1497 "license": "Apache-2.0",
1498 "dependencies": {
1499 "b4a": "^1.6.1",
1500 "bare-fs": "^4.0.1",
1501 "bare-path": "^3.0.0",
1502 "mirror-drive": "^1.2.0",
1503 "mutexify": "^1.4.0",
1504 "streamx": "^2.12.5",
1505 "unix-path-resolve": "^1.0.2"
1506 }
1507 },
1508 "node_modules/localdrive/node_modules/bare-os": {
1509 "version": "3.8.7",
1510 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
1511 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
1512 "license": "Apache-2.0",
1513 "engines": {
1514 "bare": ">=1.14.0"
1515 }
1516 },
1517 "node_modules/localdrive/node_modules/bare-path": {
1518 "version": "3.0.0",
1519 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
1520 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
1521 "license": "Apache-2.0",
1522 "dependencies": {
1523 "bare-os": "^3.0.1"
1524 }
1525 },
1526 "node_modules/mirror-drive": {
1527 "version": "1.14.1",
1528 "resolved": "https://registry.npmjs.org/mirror-drive/-/mirror-drive-1.14.1.tgz",
1529 "integrity": "sha512-RRFT+rRQybO5dwUQcetErfZb3IZGll529DZWkzHGlSlfzxzkqRl27Tz46QO1sfK/2VYQxmtosDieAWbInHEoSA==",
1530 "license": "Apache-2.0",
1531 "dependencies": {
1532 "bare-events": "^2.8.2",
1533 "binary-stream-equals": "^1.0.0",
1534 "rabin-stream": "^2.0.0",
1535 "same-data": "^1.0.0",
1536 "speedometer": "^1.1.0",
1537 "streamx": "^2.22.1",
1538 "unix-path-resolve": "^1.0.2"
1539 }
1540 },
1541 "node_modules/msix-manager": {
1542 "version": "0.1.2",
1543 "resolved": "https://registry.npmjs.org/msix-manager/-/msix-manager-0.1.2.tgz",
1544 "integrity": "sha512-qDa+OrR+eBoCs7b9Mw0RmLFq/uc1lA8xOX81nByR9Bz+IfgDahpXLBb+bi2cFwNmznkEq4bsS8hcrbPqG9txfA==",
1545 "license": "Apache-2.0",
1546 "dependencies": {
1547 "bare-events": "^2.8.2",
1548 "bare-url": "^2.3.2",
1549 "require-addon": "^1.2.0"
1550 }
1551 },
1552 "node_modules/mutexify": {
1553 "version": "1.4.0",
1554 "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz",
1555 "integrity": "sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==",
1556 "license": "MIT",
1557 "dependencies": {
1558 "queue-tick": "^1.0.0"
1559 }
1560 },
15611233 "node_modules/nanoassert": {
15621234 "version": "2.0.0",
15631235 "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz",
……@@ -1599,21 +1271,6 @@
15991271 "dev": true,
16001272 "license": "Apache-2.0"
16011273 },
1602 "node_modules/pear-aliases": {
1603 "version": "1.0.7",
1604 "resolved": "https://registry.npmjs.org/pear-aliases/-/pear-aliases-1.0.7.tgz",
1605 "integrity": "sha512-Z85C0naSKh3XMBKm1P1L2kYbIGE+Ph0HRSjTaQz5O99JvQq/wHylu9M2df1Ysfx7LG3UJrCCwZenrud18bZytw==",
1606 "license": "Apache-2.0",
1607 "dependencies": {
1608 "hypercore-id-encoding": "^1.3.0"
1609 }
1610 },
1611 "node_modules/pear-errors": {
1612 "version": "1.0.1",
1613 "resolved": "https://registry.npmjs.org/pear-errors/-/pear-errors-1.0.1.tgz",
1614 "integrity": "sha512-KQyhym09QpLT4H/z3uLW0bqixgIZic2Eip2Q8Z72QmIpFzPtp6QmnzOUwB3kuHB4dqKNa+FQWHWH0NSK5lJjlw==",
1615 "license": "Apache-2.0"
1616 },
16171274 "node_modules/pear-interface": {
16181275 "version": "1.1.0",
16191276 "resolved": "https://registry.npmjs.org/pear-interface/-/pear-interface-1.1.0.tgz",
……@@ -1625,104 +1282,6 @@
16251282 "streamx": "^2.18.0"
16261283 }
16271284 },
1628 "node_modules/pear-link": {
1629 "version": "4.2.1",
1630 "resolved": "https://registry.npmjs.org/pear-link/-/pear-link-4.2.1.tgz",
1631 "integrity": "sha512-Y6xSOY36EkWmaeTYqNVT2iV0xWfzCDCBtPCF898793ADk9Lbzfq7RLJ7PhqHRS+dLI7yTlLtCCfjGR3erQ0FKQ==",
1632 "license": "Apache-2.0",
1633 "dependencies": {
1634 "bare-path": "^3.0.0",
1635 "hypercore-id-encoding": "^1.2.0",
1636 "pear-aliases": "^1.0.0",
1637 "pear-errors": "^1.0.0"
1638 }
1639 },
1640 "node_modules/pear-link/node_modules/bare-os": {
1641 "version": "3.8.7",
1642 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
1643 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
1644 "license": "Apache-2.0",
1645 "engines": {
1646 "bare": ">=1.14.0"
1647 }
1648 },
1649 "node_modules/pear-link/node_modules/bare-path": {
1650 "version": "3.0.0",
1651 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
1652 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
1653 "license": "Apache-2.0",
1654 "dependencies": {
1655 "bare-os": "^3.0.1"
1656 }
1657 },
1658 "node_modules/pear-runtime": {
1659 "version": "0.4.3",
1660 "resolved": "https://registry.npmjs.org/pear-runtime/-/pear-runtime-0.4.3.tgz",
1661 "integrity": "sha512-bqSOWcC3akmZodMKL+SZYXeZPAfWN3IfRlKrZ/40DkVjLwIsXyrq01mbE/sKbXh5npu2J2HQyoOJHE7d0UoHIg==",
1662 "license": "Apache-2.0",
1663 "dependencies": {
1664 "bare-path": "^3.0.0",
1665 "bare-sidecar": "^0.3.0",
1666 "pear-runtime-updater": "^1.0.0",
1667 "ready-resource": "^1.2.0"
1668 }
1669 },
1670 "node_modules/pear-runtime-updater": {
1671 "version": "1.1.0",
1672 "resolved": "https://registry.npmjs.org/pear-runtime-updater/-/pear-runtime-updater-1.1.0.tgz",
1673 "integrity": "sha512-sivmhx9Mqrk2/xbOd9Uo3WdLGHvR8c6NHYwps5kCksAFk2fSiZeF/UEVKtowWbcomHXyEWRqiU05GWmGUL4ErQ==",
1674 "license": "Apache-2.0",
1675 "dependencies": {
1676 "bare-fs": "^4.5.3",
1677 "bare-path": "^3.0.0",
1678 "corestore": "^7.8.0",
1679 "fs-native-extensions": "^1.4.5",
1680 "hypercore-id-encoding": "^1.3.0",
1681 "hyperdrive": "^13.2.1",
1682 "hyperswarm": "^4.16.0",
1683 "localdrive": "^2.2.0",
1684 "msix-manager": "^0.1.2",
1685 "pear-link": "^4.2.1",
1686 "ready-resource": "^1.2.0",
1687 "which-runtime": "^1.3.2"
1688 }
1689 },
1690 "node_modules/pear-runtime-updater/node_modules/bare-os": {
1691 "version": "3.8.7",
1692 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
1693 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
1694 "license": "Apache-2.0",
1695 "engines": {
1696 "bare": ">=1.14.0"
1697 }
1698 },
1699 "node_modules/pear-runtime-updater/node_modules/bare-path": {
1700 "version": "3.0.0",
1701 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
1702 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
1703 "license": "Apache-2.0",
1704 "dependencies": {
1705 "bare-os": "^3.0.1"
1706 }
1707 },
1708 "node_modules/pear-runtime/node_modules/bare-os": {
1709 "version": "3.8.7",
1710 "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
1711 "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
1712 "license": "Apache-2.0",
1713 "engines": {
1714 "bare": ">=1.14.0"
1715 }
1716 },
1717 "node_modules/pear-runtime/node_modules/bare-path": {
1718 "version": "3.0.0",
1719 "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
1720 "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
1721 "license": "Apache-2.0",
1722 "dependencies": {
1723 "bare-os": "^3.0.1"
1724 }
1725 },
17261285 "node_modules/picomatch": {
17271286 "version": "4.0.4",
17281287 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
……@@ -1736,17 +1295,6 @@
17361295 "url": "https://github.com/sponsors/jonschlinkert"
17371296 }
17381297 },
1739 "node_modules/protocol-buffers-encodings": {
1740 "version": "1.2.0",
1741 "resolved": "https://registry.npmjs.org/protocol-buffers-encodings/-/protocol-buffers-encodings-1.2.0.tgz",
1742 "integrity": "sha512-daeNPuKh1NlLD1uDfbLpD+xyUTc07nEtfHwmBZmt/vH0B7VOM+JOCOpDcx9ZRpqHjAiIkGqyTDi+wfGSl17R9w==",
1743 "license": "MIT",
1744 "dependencies": {
1745 "b4a": "^1.6.0",
1746 "signed-varint": "^2.0.1",
1747 "varint": "5.0.0"
1748 }
1749 },
17501298 "node_modules/protomux": {
17511299 "version": "3.10.1",
17521300 "resolved": "https://registry.npmjs.org/protomux/-/protomux-3.10.1.tgz",
……@@ -1766,69 +1314,6 @@
17661314 "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
17671315 "license": "MIT"
17681316 },
1769 "node_modules/quickbit-native": {
1770 "version": "2.4.8",
1771 "resolved": "https://registry.npmjs.org/quickbit-native/-/quickbit-native-2.4.8.tgz",
1772 "integrity": "sha512-FcCcqI+nIAWGknqhtrYT5TSD7t/N+Xd8ctM+2PrIIBuwOi5hx0SxAvuPtzLIEMfT/2h9+fhBakUe2uALOHX6yw==",
1773 "license": "Apache-2.0",
1774 "optional": true,
1775 "dependencies": {
1776 "require-addon": "^1.1.0"
1777 }
1778 },
1779 "node_modules/quickbit-universal": {
1780 "version": "2.2.0",
1781 "resolved": "https://registry.npmjs.org/quickbit-universal/-/quickbit-universal-2.2.0.tgz",
1782 "integrity": "sha512-w02i1R8n7+6pEKTud8DfF8zbFY9o7RtPlUc3jWbtCkDKvhbx/AvV7oNnz4/TcmsPGpSJS+fq5Ud6RH6+YPvSGg==",
1783 "license": "ISC",
1784 "dependencies": {
1785 "b4a": "^1.6.0",
1786 "simdle-universal": "^1.1.0"
1787 },
1788 "optionalDependencies": {
1789 "quickbit-native": "^2.2.0"
1790 }
1791 },
1792 "node_modules/rabin-native": {
1793 "version": "2.0.0",
1794 "resolved": "https://registry.npmjs.org/rabin-native/-/rabin-native-2.0.0.tgz",
1795 "integrity": "sha512-x1BlYdIWh+nk9G0scvxyscrYiDPJ7vQZepqqPlVUSInIko1Zxooi8cm6lzBghEGI9aN3DXiunC8FXLgy6kke3Q==",
1796 "license": "Apache-2.0",
1797 "dependencies": {
1798 "require-addon": "^1.1.0"
1799 }
1800 },
1801 "node_modules/rabin-stream": {
1802 "version": "2.0.0",
1803 "resolved": "https://registry.npmjs.org/rabin-stream/-/rabin-stream-2.0.0.tgz",
1804 "integrity": "sha512-EzS2Ig/qsMBSk1PahC0O0IPdRZe3bspHHLWChhqW1feKz+J46tlVL3g4wWr4lrQdXGzABIMsOhvdT6bjXYMuUw==",
1805 "license": "Apache-2.0",
1806 "dependencies": {
1807 "rabin-native": "^2.0.0",
1808 "streamx": "^2.23.0"
1809 }
1810 },
1811 "node_modules/rache": {
1812 "version": "1.0.0",
1813 "resolved": "https://registry.npmjs.org/rache/-/rache-1.0.0.tgz",
1814 "integrity": "sha512-e0k0g0w/8jOCB+7YqCIlOa+OJ38k0wrYS4x18pMSmqOvLKoyhmMhmQyCcvfY6VaP8D75cqkEnlakXs+RYYLqNg==",
1815 "license": "Apache-2.0"
1816 },
1817 "node_modules/random-array-iterator": {
1818 "version": "1.0.0",
1819 "resolved": "https://registry.npmjs.org/random-array-iterator/-/random-array-iterator-1.0.0.tgz",
1820 "integrity": "sha512-u7xCM93XqKEvPTP6xZp2ehttcAemKnh73oKNf1FvzuVCfpt6dILDt1Kxl1LeBjm2iNIeR49VGFhy4Iz3yOun+Q==",
1821 "license": "MIT"
1822 },
1823 "node_modules/ready-resource": {
1824 "version": "1.2.0",
1825 "resolved": "https://registry.npmjs.org/ready-resource/-/ready-resource-1.2.0.tgz",
1826 "integrity": "sha512-nfcco/8iAFV0M+2PYnmIc+/xY0iRb35d42HFHQ7AfjulbGEAFa+XWpByfwSyeVeiBoMLLFVMv1HixxNCqzSQ1g==",
1827 "license": "MIT",
1828 "dependencies": {
1829 "bare-events": "^2.2.0"
1830 }
1831 },
18321317 "node_modules/record-cache": {
18331318 "version": "1.2.0",
18341319 "resolved": "https://registry.npmjs.org/record-cache/-/record-cache-1.2.0.tgz",
……@@ -1838,12 +1323,6 @@
18381323 "b4a": "^1.3.1"
18391324 }
18401325 },
1841 "node_modules/refcounter": {
1842 "version": "1.0.0",
1843 "resolved": "https://registry.npmjs.org/refcounter/-/refcounter-1.0.0.tgz",
1844 "integrity": "sha512-1WosVzUy0kPUaPMEtlNDwm99UsteALIhXXR8rerELoa63WkYIXAl0hxgwPFrIYBRWZPGUyekQ04FRtPJ7dHk9w==",
1845 "license": "Apache-2.0"
1846 },
18471326 "node_modules/require-addon": {
18481327 "version": "1.2.0",
18491328 "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.2.0.tgz",
……@@ -1856,60 +1335,12 @@
18561335 "bare": ">=1.10.0"
18571336 }
18581337 },
1859 "node_modules/require-asset": {
1860 "version": "1.2.1",
1861 "resolved": "https://registry.npmjs.org/require-asset/-/require-asset-1.2.1.tgz",
1862 "integrity": "sha512-wFFxOxJHL/agpiXNDMzDBzC8hnmjJZYW0wDgolojZZkydS76talLlIH+DU3DWjBxQcu0vair30H7V3C4FcLnSg==",
1863 "license": "Apache-2.0",
1864 "dependencies": {
1865 "bare-module-resolve": "^1.6.2"
1866 },
1867 "engines": {
1868 "bare": ">=1.10.0"
1869 }
1870 },
1871 "node_modules/resolve-reject-promise": {
1872 "version": "1.1.0",
1873 "resolved": "https://registry.npmjs.org/resolve-reject-promise/-/resolve-reject-promise-1.1.0.tgz",
1874 "integrity": "sha512-LWsTOA91AqzBTjSGgX79Tc130pwcBK6xjpJEO+qRT5IKZ6bGnHKcc8QL3upUBcWuU8OTIDzKK2VNSwmmlqvAVg==",
1875 "license": "MIT"
1876 },
1877 "node_modules/resource-on-exit": {
1878 "version": "1.0.0",
1879 "resolved": "https://registry.npmjs.org/resource-on-exit/-/resource-on-exit-1.0.0.tgz",
1880 "integrity": "sha512-ViJwJAknCkLRJRPR+9SISQQ7R5eRgtdIHLJsM2hHx1MweAJbJxJ5XnMjjq0Lc7ZGv44ufzAqds1nKxiVkdy4ag==",
1881 "license": "Apache-2.0"
1882 },
1883 "node_modules/rocksdb-native": {
1884 "version": "3.15.0",
1885 "resolved": "https://registry.npmjs.org/rocksdb-native/-/rocksdb-native-3.15.0.tgz",
1886 "integrity": "sha512-czYx0hOzKAy+HYmJROZm7thvJ1tHFWHNkGI3nomumXWzrJghJdrWo4MIhehGX4OTff0lnOCoB2zu6ekzIKY0rQ==",
1887 "license": "Apache-2.0",
1888 "dependencies": {
1889 "compact-encoding": "^2.15.0",
1890 "ready-resource": "^1.0.0",
1891 "refcounter": "^1.0.0",
1892 "require-addon": "^1.0.2",
1893 "resolve-reject-promise": "^1.1.0",
1894 "signal-promise": "^1.0.3",
1895 "streamx": "^2.16.1"
1896 },
1897 "engines": {
1898 "bare": ">=1.16.0"
1899 }
1900 },
19011338 "node_modules/safety-catch": {
19021339 "version": "1.0.3",
19031340 "resolved": "https://registry.npmjs.org/safety-catch/-/safety-catch-1.0.3.tgz",
19041341 "integrity": "sha512-Zq+J1TefpoEq/HTUabo0YXX5MNvttjWYODGohgPBO2jfko8Wqx3JYMgE823szDFVamdH5PlpByvfiWScTdSYDA==",
19051342 "license": "MIT"
19061343 },
1907 "node_modules/same-data": {
1908 "version": "1.0.0",
1909 "resolved": "https://registry.npmjs.org/same-data/-/same-data-1.0.0.tgz",
1910 "integrity": "sha512-Eqn7N2yV+aKMlUHTRqUwYG1Iv0cJqjlvLKj/GoP5PozJn361QaOYX14+v87r7NqQUZC22noP/LfLrSQiPwAygw==",
1911 "license": "MIT"
1912 },
19131344 "node_modules/same-object": {
19141345 "version": "1.0.2",
19151346 "resolved": "https://registry.npmjs.org/same-object/-/same-object-1.0.2.tgz",
……@@ -1917,12 +1348,6 @@
19171348 "dev": true,
19181349 "license": "MIT"
19191350 },
1920 "node_modules/scope-lock": {
1921 "version": "1.2.4",
1922 "resolved": "https://registry.npmjs.org/scope-lock/-/scope-lock-1.2.4.tgz",
1923 "integrity": "sha512-BpSd8VCuCxW9ZitcdIC/vjs3gMaP9bRBL5nkHcyfX2VrS52n13/rHuBA2xJ/S/4DPuRdAO/Bk8pWd8eD/gHCIA==",
1924 "license": "Apache-2.0"
1925 },
19261351 "node_modules/shuffled-priority-queue": {
19271352 "version": "2.1.0",
19281353 "resolved": "https://registry.npmjs.org/shuffled-priority-queue/-/shuffled-priority-queue-2.1.0.tgz",
……@@ -1938,38 +1363,6 @@
19381363 "integrity": "sha512-WBgv0UnIq2C+Aeh0/n+IRpP6967eIx9WpynTUoiW3isPpfe1zu2LJzyfXdo9Tgef8yR/sGjcMvoUXD7EYdiz+g==",
19391364 "license": "MIT"
19401365 },
1941 "node_modules/signed-varint": {
1942 "version": "2.0.1",
1943 "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz",
1944 "integrity": "sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw==",
1945 "license": "MIT",
1946 "dependencies": {
1947 "varint": "~5.0.0"
1948 }
1949 },
1950 "node_modules/simdle-native": {
1951 "version": "1.3.9",
1952 "resolved": "https://registry.npmjs.org/simdle-native/-/simdle-native-1.3.9.tgz",
1953 "integrity": "sha512-Isc8sP4OiiIU0mpslD4GHEnR0VQWvR/54WN7YtwEDkNdTJVWtpmvsSvsgRlw5BNGxdYXlVRegdnrSu10H/PhvA==",
1954 "license": "Apache-2.0",
1955 "optional": true,
1956 "dependencies": {
1957 "b4a": "^1.6.0",
1958 "require-addon": "^1.1.0"
1959 }
1960 },
1961 "node_modules/simdle-universal": {
1962 "version": "1.1.2",
1963 "resolved": "https://registry.npmjs.org/simdle-universal/-/simdle-universal-1.1.2.tgz",
1964 "integrity": "sha512-3n3w1bs+uwgHKQjt6arez83EywNlhZzYvNOhvAASTl/8KqNIcqr6aHyGt3JRlfuUC7iB0tomJRPlJ2cRGIpBzA==",
1965 "license": "ISC",
1966 "dependencies": {
1967 "b4a": "^1.6.0"
1968 },
1969 "optionalDependencies": {
1970 "simdle-native": "^1.1.1"
1971 }
1972 },
19731366 "node_modules/sodium-hmac": {
19741367 "version": "2.1.0",
19751368 "resolved": "https://registry.npmjs.org/sodium-hmac/-/sodium-hmac-2.1.0.tgz",
……@@ -2021,12 +1414,6 @@
20211414 }
20221415 }
20231416 },
2024 "node_modules/speedometer": {
2025 "version": "1.1.0",
2026 "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-1.1.0.tgz",
2027 "integrity": "sha512-z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==",
2028 "license": "MIT"
2029 },
20301417 "node_modules/stackframe": {
20311418 "version": "1.3.4",
20321419 "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
……@@ -2045,16 +1432,6 @@
20451432 "text-decoder": "^1.1.0"
20461433 }
20471434 },
2048 "node_modules/sub-encoder": {
2049 "version": "2.1.3",
2050 "resolved": "https://registry.npmjs.org/sub-encoder/-/sub-encoder-2.1.3.tgz",
2051 "integrity": "sha512-Xxx04ygZo/1J3yHvaSA6VhDmiSaBQkw/PmO3YnnYFXle+tfOGToC6FcDpIfMztWZXJzuKG14b/57HMkiL58C6A==",
2052 "license": "Apache-2.0",
2053 "dependencies": {
2054 "b4a": "^1.6.0",
2055 "codecs": "^3.1.0"
2056 }
2057 },
20581435 "node_modules/teex": {
20591436 "version": "1.0.1",
20601437 "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz",
……@@ -2142,12 +1519,6 @@
21421519 "bare": ">=1.17.4"
21431520 }
21441521 },
2145 "node_modules/unix-path-resolve": {
2146 "version": "1.0.2",
2147 "resolved": "https://registry.npmjs.org/unix-path-resolve/-/unix-path-resolve-1.0.2.tgz",
2148 "integrity": "sha512-kG4g5nobBBaMnH2XbrS4sLUXEpx4nY2J3C6KAlAUcnahG2HChxSPVKWYrqEq76iTo+cyMkLUjqxGaQR2tz097Q==",
2149 "license": "MIT"
2150 },
21511522 "node_modules/unordered-set": {
21521523 "version": "2.0.1",
21531524 "resolved": "https://registry.npmjs.org/unordered-set/-/unordered-set-2.0.1.tgz",
……@@ -2178,12 +1549,6 @@
21781549 "node": ">=10.12.0"
21791550 }
21801551 },
2181 "node_modules/varint": {
2182 "version": "5.0.0",
2183 "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz",
2184 "integrity": "sha512-gC13b/bWrqQoKY2EmROCZ+AR0jitc6DnDGaQ6Ls9QpKmuSgJB1eQ7H3KETtQm7qSdMWMKCmsshyCmUwMLh3OAA==",
2185 "license": "MIT"
2186 },
21871552 "node_modules/which-runtime": {
21881553 "version": "1.3.2",
21891554 "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.3.2.tgz",
package.json +14 -8
……@@ -1,18 +1,20 @@
11{
22 "name": "hyperident",
3 "version": "0.2.1",
3 "version": "0.2.2",
44 "main": "index.js",
55 "bin": {
66 "hyperident": "./index.js"
77 },
8 "pear": {
9 "name": "hyperident",
10 "type": "terminal"
11 },
128 "type": "module",
139 "private": true,
1410 "license": "Apache-2.0",
15 "upgrade": "pear://bdkaqufc8o6h75cbxrkzxjqadzqkyq11bws3iuxsb8kk5jjpuado",
11 "pgh": {
12 "bin": "hyperident",
13 "entrypoint": "index.js",
14 "type": "terminal",
15 "runtime": "bare",
16 "upgrade": "pgh://1dd36bdfa9cb7f7d84adbd07f017e7200f7f90a3a546cd0761fac2a1f8a13e86/hyperident"
17 },
1618 "scripts": {
1719 "dev": "bare index.js",
1820 "test": "brittle test/*.test.js",
……@@ -24,10 +26,10 @@
2426 "bare-fs": "^4.7.2",
2527 "bare-os": "^2.4.2",
2628 "bare-path": "^2.1.3",
29 "bare-subprocess": "^3.1.4",
2730 "hypercore-id-encoding": "^1.3.0",
2831 "hyperswarm": "^4.12.1",
29 "keet-identity-key": "github:holepunchto/keet-identity-key",
30 "pear-runtime": "^0.4.2",
32 "keet-identity-key": "3.1.0",
3133 "sodium-universal": "^5.0.1"
3234 },
3335 "devDependencies": {
……@@ -70,6 +72,10 @@
7072 "process": {
7173 "bare": "bare-process",
7274 "default": "process"
75 },
76 "child_process": {
77 "bare": "bare-subprocess",
78 "default": "child_process"
7379 }
7480 }
7581}