{
"name": "p2p-hiverelay-monorepo",
"version": "1.0.0-rc.1",
"description": "Monorepo root for HiveRelay (Core + Services + Client)",
"private": true,
"type": "module",
"workspaces": [
"packages/blind-protocol",
"packages/blind-ipc",
"packages/blind-client",
"packages/blind-peercred",
"packages/blind-edge",
"packages/blind-daemon",
"packages/core",
"packages/services",
"packages/client",
"packages/verifier"
],
"scripts": {
"start": "node scripts/start-blind-local.mjs",
"start:blind:edge": "node packages/blind-edge/cli.js",
"start:blind:daemon": "node packages/blind-daemon/cli.js",
"postinstall": "patch-package",
"audit:workspace": "node scripts/audit-workspace-alignment.mjs",
"audit:ecosystem-consumers": "node scripts/audit-ecosystem-consumers.mjs --check --dependency-mode npm-latest",
"audit:ecosystem-consumers:latest": "node scripts/audit-ecosystem-consumers.mjs --check --dependency-mode npm-latest",
"audit:ecosystem-consumers:release": "node scripts/audit-ecosystem-consumers.mjs --check --dependency-mode npm-latest --consumer-scope release",
"audit:ecosystem-consumers:local": "node scripts/audit-ecosystem-consumers.mjs --check --dependency-mode local",
"audit:owned-diff": "node scripts/check-audit-owned-diff.mjs",
"vnext:check-program": "node scripts/check-vnext-program-state.mjs",
"vnext:inventory": "node scripts/inventory-vnext-workspaces.mjs",
"vnext:check-inventory": "node scripts/inventory-vnext-workspaces.mjs --check",
"vnext:check-protocol": "node scripts/check-vnext-protocol-remediation.mjs",
"bench:outboxlog": "node scripts/bench-outboxlog.mjs",
"bench:outboxlog:release": "node scripts/bench-outboxlog.mjs --assert",
"audit:relaykernel-gateway": "node scripts/check-relaykernel-gateway-compat.mjs",
"audit:release-promise": "node scripts/check-release-promise-scope.mjs",
"audit:public-artifacts": "node scripts/check-public-artifact-secrets.mjs",
"gateway:preflight": "node scripts/preflight-public-hive-gateway.mjs",
"gateway:validate-staging-config": "node scripts/validate-public-t1-staging-config.mjs",
"gateway:preflight-ops": "node scripts/preflight-public-hive-gateway-ops.mjs",
"gateway:verify-ops-evidence": "node scripts/verify-public-hive-gateway-ops-evidence.mjs",
"gateway:verify-evidence": "node scripts/verify-public-hive-gateway-evidence.mjs",
"gateway:verify-operators": "node scripts/verify-public-hive-gateway-operators.mjs",
"gateway:observe-rollout": "node scripts/observe-public-hive-gateway-rollout.mjs",
"gateway:deploy": "node scripts/public-hive-gateway-deploy.mjs",
"gateway:rehearse-deploy": "brittle-node test/integration/public-hive-gateway-deploy-rehearsal.test.js",
"ecosystem:sync": "node scripts/sync-ecosystem-consumers.mjs --dependency-mode npm-latest",
"ecosystem:sync:latest": "node scripts/sync-ecosystem-consumers.mjs --dependency-mode npm-latest",
"ecosystem:sync:release": "node scripts/sync-ecosystem-consumers.mjs --dependency-mode npm-latest --consumer-scope release",
"ecosystem:sync:local": "node scripts/sync-ecosystem-consumers.mjs --dependency-mode local",
"ecosystem:prepare-latest": "node scripts/sync-ecosystem-consumers.mjs --dependency-mode npm-latest --prepare-latest-defaults",
"ecosystem:prepare-latest:release": "node scripts/sync-ecosystem-consumers.mjs --dependency-mode npm-latest --consumer-scope release --prepare-latest-defaults",
"ecosystem:check-workspace": "node scripts/check-ecosystem-workspace.mjs",
"ecosystem:commit-consumers": "node scripts/commit-ecosystem-consumers.mjs",
"docs:update-ship-handoff": "node scripts/update-ship-handoff.mjs",
"release:prepare": "node scripts/prepare-release.mjs",
"release:check-blockers": "node scripts/check-release-blockers.mjs",
"release:check-npm-latest": "node scripts/check-npm-latest.mjs",
"release:check-npm-packages": "node scripts/check-npm-package-pack.mjs",
"release:check-official-umbrel-pr": "node scripts/check-official-umbrel-pr.mjs",
"release:check-distribution-env": "node scripts/check-release-distribution-env.mjs",
"release:resolve-public-gateway": "node scripts/resolve-public-hive-gateway-release.mjs",
"release:check-github-setup": "node scripts/check-github-release-setup.mjs",
"release:write-secret-template": "node scripts/write-release-secrets-template.mjs",
"release:apply-github-secrets": "node scripts/apply-github-release-secrets.mjs",
"release:write-evidence": "node scripts/write-release-evidence.mjs",
"release:write-official-umbrel-pr-evidence": "node scripts/write-official-umbrel-pr-evidence.mjs",
"release:write-startos-registry-evidence": "node scripts/write-startos-registry-evidence.mjs",
"release:verify-evidence": "node scripts/verify-release-evidence.mjs",
"release:verify-handoff-evidence": "node scripts/verify-release-handoff-evidence.mjs",
"release:verify-review-ready-handoff": "node scripts/verify-release-handoff-evidence.mjs --require-umbrel-runtime-review",
"release:write-local-manifest": "node scripts/write-local-release-candidate-manifest.mjs",
"release:verify-local-manifest": "node scripts/verify-local-release-candidate-manifest.mjs",
"release:check-image-manifest": "node scripts/check-release-image-manifest.mjs",
"release:smoke-image": "node scripts/smoke-release-image.mjs",
"fleet:check-rollout": "node scripts/check-fleet-rollout.mjs",
"fleet:promote-channel": "node scripts/promote-fleet-channel.mjs",
"fleet:publish-channel": "node scripts/publish-fleet-channel.mjs",
"umbrel:check-gallery": "node scripts/check-umbrel-gallery.mjs",
"umbrel:export-official": "node scripts/export-official-umbrel-app.mjs",
"umbrel:write-runtime-review": "node scripts/write-umbrel-runtime-review-evidence.mjs",
"umbrel:verify-runtime-review": "node scripts/verify-umbrel-runtime-review-evidence.mjs",
"umbrel:smoke-package": "node scripts/smoke-umbrel-package.mjs",
"truenas:check": "node scripts/check-truenas-package.mjs",
"community-appliances:check": "node scripts/check-truenas-package.mjs && node scripts/check-community-appliance-packages.mjs",
"startos:verify": "cd startos && make verify IMAGE_DIGEST=\"$HIVERELAY_IMAGE_DIGEST\"",
"startos:verify:local": "cd startos && make verify ALLOW_TAG_ONLY_IMAGE=1",
"test": "node scripts/run-brittle-suite.mjs all",
"test:unit": "node scripts/run-brittle-suite.mjs unit",
"test:blind-protocol": "brittle-node --timeout 120000 test/unit/blind-protocol-*.test.js",
"test:blind-boundary": "node scripts/test-blind-boundary-contained.mjs",
"test:blind-client": "brittle-node --timeout 120000 packages/blind-client/test/*.test.js",
"test:blind-client:bare": "PATH=\"$PWD/node_modules/bare/bin:$PATH\" brittle-bare --timeout 120000 packages/blind-client/test/bare.runtime.js",
"test:blind-client:browser-bundle": "node scripts/test-blind-client-browser-bundle.mjs",
"generate:blind-client:browser-artifact": "node scripts/generate-blind-client-browser-artifacts.mjs",
"verify:blind-client:browser-artifact": "node scripts/generate-blind-client-browser-artifacts.mjs --check",
"verify:blind-client:browser-artifact:release": "node scripts/generate-blind-client-browser-artifacts.mjs --check --require-release-evidence",
"test:blind-client:browser-artifact:chromium": "node scripts/test-blind-client-browser-artifact-chromium.mjs",
"test:blind-client:browser-artifact:cross-host": "node scripts/test-blind-client-browser-artifact-cross-host.mjs",
"test:blind-protocol:bare": "PATH=\"$PWD/node_modules/bare/bin:$PATH\" brittle-bare --timeout 120000 test/unit/blind-protocol-codec.test.js test/unit/blind-protocol-dispatch.test.js test/unit/blind-protocol-envelope-hash.test.js",
"test:blind-wire:cross-runtime": "node scripts/check-blind-wire-cross-runtime.mjs",
"test:blind-client-composition:cross-runtime": "node scripts/check-blind-client-composition-cross-runtime.mjs",
"generate:blind-wire-authority": "node scripts/generate-blind-protocol-draft.mjs --wire-only --forbid-non-wire-fixtures",
"verify:blind-wire-authority": "node scripts/generate-blind-protocol-draft.mjs --wire-only --forbid-non-wire-fixtures --check",
"generate:blind-client-composition-authority": "node scripts/generate-blind-client-composition-authority.mjs",
"verify:blind-client-composition-authority": "node scripts/generate-blind-client-composition-authority.mjs --check",
"generate:blind-protocol-draft": "node scripts/generate-blind-protocol-draft.mjs",
"generate:blind-ipc-authority": "node scripts/generate-blind-ipc-draft.mjs",
"verify:blind-ipc-authority": "node scripts/generate-blind-ipc-draft.mjs --check",
"generate:blind-ipc-draft": "node scripts/generate-blind-ipc-draft.mjs",
"verify:blind-ipc-draft": "node scripts/generate-blind-ipc-draft.mjs --check",
"verify:blind-protocol-draft": "node scripts/generate-blind-protocol-draft.mjs --check",
"verify:blind-specs": "node packages/blind-ipc/generate-private-ipc-v2.mjs --check && node scripts/verify-blind-specs.mjs && node scripts/generate-blind-protocol-draft.mjs --check && node scripts/generate-blind-client-composition-authority.mjs --check && node scripts/generate-blind-ipc-draft.mjs --check && node scripts/generate-blind-client-browser-artifacts.mjs --check",
"verify:blind-retirement": "node scripts/verify-blind-legacy-retirement-policy.mjs --json",
"verify:blind-retirement:strict": "node scripts/verify-blind-legacy-retirement-policy.mjs --json --require-authorized",
"verify:blind-ecosystem-migration": "node scripts/verify-blind-ecosystem-migration.mjs --json",
"verify:blind-ecosystem-migration:strict-cutovers": "node scripts/verify-blind-ecosystem-migration.mjs --json --require-cutovers",
"verify:blind-ecosystem-migration:strict-removals": "node scripts/verify-blind-ecosystem-migration.mjs --json --require-removals",
"test:integration": "node scripts/run-brittle-suite.mjs integration",
"test:public-hive-gateway:live": "brittle-node test/integration/public-hive-gateway-live.test.js",
"test:public-hive-gateway:soak": "HIVERELAY_PUBLIC_GATEWAY_SOAK_REQUESTS=1000 brittle test/integration/public-hive-gateway-live.test.js",
"test:bare": "PATH=\"$PWD/node_modules/bare/bin:$PATH\" brittle-bare test/bare/index.js",
"demo:pearbrowser": "node scripts/pearbrowser-marketplace-demo.js",
"demo:pearbrowser:once": "node scripts/pearbrowser-marketplace-demo.js --once",
"simulate:atomic-custody": "node scripts/simulate-blind-atomic-custody.js",
"simulate:atomic-custody:sweep": "node scripts/simulate-blind-atomic-custody.js --sweep",
"simulate:blind:fleet": "node scripts/simulate-blind-fleet.mjs --assert",
"model:blind:capacity": "node scripts/blind-capacity-lab.mjs --pretty",
"plan:blind:capacity": "node scripts/plan-blind-capacity.mjs --release-profile release --pretty",
"plan:blind:capacity:assert": "node scripts/plan-blind-capacity.mjs --release-profile release --assert-fit --pretty",
"lab:blind": "node scripts/run-blind-release-lab.mjs --profile smoke",
"lab:blind:assert": "node scripts/run-blind-release-lab.mjs --profile smoke --assert-lab",
"lab:blind:real": "node scripts/run-real-blind-relay-lab.mjs --pretty",
"lab:blind:real:assert": "node scripts/run-real-blind-relay-lab.mjs --assert-local --pretty",
"lab:blind:real:multiprocess": "node scripts/run-multiprocess-blind-relay-lab.mjs --pretty",
"lab:blind:real:multiprocess:assert": "node scripts/run-multiprocess-blind-relay-lab.mjs --assert-local --pretty",
"verify:blind:real:multiprocess:evidence": "node scripts/verify-multiprocess-blind-relay-report.mjs --input test/evidence/blind-real-multiprocess-3-local-processes.evidence.json --require-local --pretty",
"lint": "standard",
"lint:fix": "standard --fix"
},
"devDependencies": {
"@hyperswarm/testnet": "^3.0.0",
"bare": "^1.28.7",
"brittle": "^4.0.2",
"esbuild": "0.28.1",
"patch-package": "^8.0.1",
"standard": "^17.1.0"
},
"engines": {
"node": ">=20.0.0"
},
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/bigdestiny2/p2p-hiverelay"
},
"keywords": [
"p2p",
"relay",
"hyperswarm",
"hypercore",
"pear",
"holepunch",
"decentralized",
"peer-to-peer"
],
"standard": {
"ignore": [
"scripts/test-*.js",
"examples/**",
"**/dist/**",
"packages/blind-client/browser-artifacts/**",
"**/transports/dht-relay-ws/vendor/**"
]
},
"dependencies": {
"ip-address": "^10.2.0",
"socks": "^2.8.9"
},
"overrides": {
"js-yaml": "^4.2.0",
"protobufjs": "^7.6.5"
},
"optionalDependencies": {
"bare-runtime-linux-x64": "1.28.7"
}
}