Hoist all module dependencies to shared modules/node_modules workspace

Add npm workspaces across 31 category trees plus hyper-p2p-bare-shared,
remove per-package node_modules and package-lock.json duplicates, and document
install-workspace.sh for a single hoisted install (~140MB vs tens of GB).

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-21 13:23:43 -04:00
co-authored by Cursor
parent d7f6ce7616
commit 3949d11395
312 changed files with 9126 additions and 367563 deletions
+3
View File
@@ -0,0 +1,3 @@
# Single hoisted node_modules at modules/ (not per-package copies).
install-strategy=hoisted
legacy-peer-deps=true
+15 -1
View File
@@ -19,7 +19,21 @@ Modules are **production** implementations: domain logic, structured errors, `ge
## Shared runtime ## Shared runtime
All networked modules lean on internal helpers in **`_shared/`**, especially `p2p-bare.js` (`initModuleSwarm`, `gossipSend`, topic encoding) and small libraries under `_shared/lib/`. Do not publish `_shared` as its own package—it is copied/imported by relative path from category trees. All networked modules lean on **`hyper-p2p-bare-shared`** (`_shared/`: `p2p-bare.js`, storage/CRDT bases, `lib/errors.js`). Each module lists it as `"hyper-p2p-bare-shared": "file:../../_shared"` in `package.json`.
## Shared `node_modules` (npm workspace)
**Do not run `npm install` inside individual module folders** — that duplicates hundreds of copies of `bare-runtime-*` and balloons disk use.
From **`modules/`** (workspace root):
```bash
cd modules
npm install
# or: ./scripts/install-workspace.sh # removes nested node_modules, then installs once
```
Dependencies hoist to **`modules/node_modules/`** only. Run tests via `./scripts/run-module.sh <name>` or `npm test` from a package directory after the workspace install.
Naming convention: **`hyper-p2p-<feature>`** (or `hyper-<pear-feature>` for Pear platform bridges). Protocol strings match the feature: `<feature>/v1` unless a module documents a minor revision (e.g. presence `v1.1`). Naming convention: **`hyper-p2p-<feature>`** (or `hyper-<pear-feature>` for Pear platform bridges). Protocol strings match the feature: `<feature>/v1` unless a module documents a minor revision (e.g. presence `v1.1`).
@@ -228,7 +228,7 @@ class HyperP2PAgentMemory extends EventEmitter {
_gossipMemory (entry) { _gossipMemory (entry) {
this._metrics.p2pGossips++ this._metrics.p2pGossips++
const { gossipSend } = require('../../_shared/p2p-bare.js') const { gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
gossipSend(this, { type: 'memory', entry }) gossipSend(this, { type: 'memory', entry })
this.emit('memory-gossip', { type: 'memory', entry, from: this.localId }) this.emit('memory-gossip', { type: 'memory', entry, from: this.localId })
} }
@@ -368,7 +368,7 @@ class HyperP2PAgentMemory extends EventEmitter {
async attachP2P (topicOrSwarm) { async attachP2P (topicOrSwarm) {
const PROTO = 'hyper-p2p-agent-memory/v1' const PROTO = 'hyper-p2p-agent-memory/v1'
const { initModuleSwarm } = require('../../_shared/p2p-bare.js') const { initModuleSwarm } = require('hyper-p2p-bare-shared/p2p-bare')
const self = this const self = this
if (typeof topicOrSwarm === 'string' || (topicOrSwarm && topicOrSwarm.byteLength)) { if (typeof topicOrSwarm === 'string' || (topicOrSwarm && topicOrSwarm.byteLength)) {
await initModuleSwarm(this, { await initModuleSwarm(this, {
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
{ {
"name": "hyper-p2p-agent-memory", "name": "hyper-p2p-agent-memory",
"version": "0.3.1", "version": "0.3.1",
"description": "A novel, production-grade persistent causal memory graph primitive for autonomous agents in Bare/Pear P2P applications. Provides episodic memory with time-ordered entries, semantic tagging and recall, associative links, full causal ordering via integrated vector clocks, Ed25519 cryptographic signing and verification for tamper-proof memories, Hyperbee-backed persistence, Hyperswarm topic derivation for P2P replication, Protomux streaming hooks, and advanced query capabilities (temporal range, tag-based, causal ancestry, keyword search). Enables building stateful AI agents, decentralized knowledge bases, personal data stores, and long-term agent memory with P2P synchronization and Byzantine-resilient integrity. First reusable dedicated agent memory module in the Holepunch/Bare ecosystem never-before-seen primitive combining episodic+semantic memory, causality, and decentralized sync.", "description": "A novel, production-grade persistent causal memory graph primitive for autonomous agents in Bare/Pear P2P applications. Provides episodic memory with time-ordered entries, semantic tagging and recall, associative links, full causal ordering via integrated vector clocks, Ed25519 cryptographic signing and verification for tamper-proof memories, Hyperbee-backed persistence, Hyperswarm topic derivation for P2P replication, Protomux streaming hooks, and advanced query capabilities (temporal range, tag-based, causal ancestry, keyword search). Enables building stateful AI agents, decentralized knowledge bases, personal data stores, and long-term agent memory with P2P synchronization and Byzantine-resilient integrity. First reusable dedicated agent memory module in the Holepunch/Bare ecosystem \u2014 never-before-seen primitive combining episodic+semantic memory, causality, and decentralized sync.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"exports": { "exports": {
@@ -47,7 +47,8 @@
"bare-path": "^3.0.0", "bare-path": "^3.0.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"hyper-p2p-vector-clock": "file:../../core-infrastructure/hyper-p2p-vector-clock" "hyper-p2p-vector-clock": "file:../../core-infrastructure/hyper-p2p-vector-clock",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"peerDependencies": { "peerDependencies": {
"hyperbee": "^2.0.0", "hyperbee": "^2.0.0",
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,8 +1,8 @@
require('bare-process/global') require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const b4a = require('b4a') const b4a = require('b4a')
const { assertNonEmpty } = require('../../_shared/lib/errors.js') const { assertNonEmpty } = require('hyper-p2p-bare-shared/lib/errors')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const PROTOCOL = 'auction-gossip/v1' const PROTOCOL = 'auction-gossip/v1'
File diff suppressed because it is too large Load Diff
@@ -5,22 +5,33 @@
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.16.0" "compact-encoding": "^2.16.0",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"peerDependencies": { "peerDependencies": {
"hyperswarm": "^4.0.0", "hyperswarm": "^4.0.0",
"bare": ">=1.0.0" "bare": ">=1.0.0"
}, },
"devDependencies": { "brittle": "^3.0.0" }, "devDependencies": {
"brittle": "^3.0.0"
},
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" } "bare": "bare-process",
"default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
}
} }
} }
@@ -1,8 +1,8 @@
require('bare-process/global') require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const b4a = require('b4a') const b4a = require('b4a')
const { assertNonEmpty } = require('../../_shared/lib/errors.js') const { assertNonEmpty } = require('hyper-p2p-bare-shared/lib/errors')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const PROTOCOL = 'credit-ledger/v1' const PROTOCOL = 'credit-ledger/v1'
File diff suppressed because it is too large Load Diff
@@ -5,22 +5,33 @@
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.16.0" "compact-encoding": "^2.16.0",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"peerDependencies": { "peerDependencies": {
"hyperswarm": "^4.0.0", "hyperswarm": "^4.0.0",
"bare": ">=1.0.0" "bare": ">=1.0.0"
}, },
"devDependencies": { "brittle": "^3.0.0" }, "devDependencies": {
"brittle": "^3.0.0"
},
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" } "bare": "bare-process",
"default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
}
} }
} }
File diff suppressed because it is too large Load Diff
@@ -5,7 +5,7 @@ const { setInterval, clearInterval, setTimeout, clearTimeout } = require('bare-t
const process = require('bare-process') const process = require('bare-process')
const b4a = require('b4a') const b4a = require('b4a')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const CONSENSUS_PROTOCOL = 'hyper-p2p-causal-consensus/v1' const CONSENSUS_PROTOCOL = 'hyper-p2p-causal-consensus/v1'
const DEFAULT_QUORUM_THRESHOLD = 0.67 // 2/3+ for BFT safety (tolerates f < n/3) const DEFAULT_QUORUM_THRESHOLD = 0.67 // 2/3+ for BFT safety (tolerates f < n/3)
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
{ {
"name": "hyper-p2p-causal-consensus", "name": "hyper-p2p-causal-consensus",
"version": "0.3.1", "version": "0.3.1",
"description": "A novel, production-grade Byzantine Fault Tolerant (BFT) causal consensus primitive for Bare/Pear P2P applications. Provides decentralized total ordering of events with vector-clock causality tracking, cryptographic Ed25519 signing for proposals and votes, quorum-based agreement (2f+1 for f faults), fork detection, view-change recovery, Hyperbee persistence for decided orders, Hyperswarm topic discovery, and Protomux streaming for consensus messages. Enables building reliable decentralized ledgers, ordered event logs, multi-writer CRDTs with BFT guarantees, and fault-tolerant P2P microservices. First reusable dedicated BFT causal consensus module in the Holepunch/Bare ecosystem never-before-seen primitive combining causality, threshold quorums, and tamper-proof ordering.", "description": "A novel, production-grade Byzantine Fault Tolerant (BFT) causal consensus primitive for Bare/Pear P2P applications. Provides decentralized total ordering of events with vector-clock causality tracking, cryptographic Ed25519 signing for proposals and votes, quorum-based agreement (2f+1 for f faults), fork detection, view-change recovery, Hyperbee persistence for decided orders, Hyperswarm topic discovery, and Protomux streaming for consensus messages. Enables building reliable decentralized ledgers, ordered event logs, multi-writer CRDTs with BFT guarantees, and fault-tolerant P2P microservices. First reusable dedicated BFT causal consensus module in the Holepunch/Bare ecosystem \u2014 never-before-seen primitive combining causality, threshold quorums, and tamper-proof ordering.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"exports": { "exports": {
@@ -45,7 +45,8 @@
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"hyper-p2p-vector-clock": "file:../../core-infrastructure/hyper-p2p-vector-clock" "hyper-p2p-vector-clock": "file:../../core-infrastructure/hyper-p2p-vector-clock",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"peerDependencies": { "peerDependencies": {
"hyperbee": "^2.0.0", "hyperbee": "^2.0.0",
@@ -6,7 +6,7 @@ const fs = require('bare-fs/promises')
const path = require('bare-path') const path = require('bare-path')
const process = require('bare-process') const process = require('bare-process')
const b4a = require('b4a') const b4a = require('b4a')
const { createSwarm, wireConnection, protocolChannel } = require('../../_shared/p2p-bare.js') const { createSwarm, wireConnection, protocolChannel } = require('hyper-p2p-bare-shared/p2p-bare')
const LOCK_PROTOCOL = 'hyper-p2p-distributed-lock/v1' const LOCK_PROTOCOL = 'hyper-p2p-distributed-lock/v1'
const DEFAULT_LEASE_MS = 30000 const DEFAULT_LEASE_MS = 30000
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
{ {
"name": "hyper-p2p-distributed-lock", "name": "hyper-p2p-distributed-lock",
"version": "0.3.1", "version": "0.3.1",
"description": "A novel, production-grade distributed locking primitive for Bare/Pear P2P applications. Provides lease-based lock acquisition with automatic expiry, cryptographic Ed25519 ownership proofs and fencing tokens for safety against split-brain and stale locks, causal claim ordering, Hyperbee persistence for lock state and history, Hyperswarm topic-based discovery and gossip, event-driven notifications, lease renewal, try-acquire with timeout, and metrics. Enables safe coordination of shared resources across decentralized peers. First reusable distributed lock/mutex primitive in the Holepunch/Bare/Pear ecosystem never-before-seen primitive.", "description": "A novel, production-grade distributed locking primitive for Bare/Pear P2P applications. Provides lease-based lock acquisition with automatic expiry, cryptographic Ed25519 ownership proofs and fencing tokens for safety against split-brain and stale locks, causal claim ordering, Hyperbee persistence for lock state and history, Hyperswarm topic-based discovery and gossip, event-driven notifications, lease renewal, try-acquire with timeout, and metrics. Enables safe coordination of shared resources across decentralized peers. First reusable distributed lock/mutex primitive in the Holepunch/Bare/Pear ecosystem \u2014 never-before-seen primitive.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"exports": { "exports": {
@@ -47,7 +47,8 @@
"bare-fs": "^4.0.0", "bare-fs": "^4.0.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"hypercore-crypto": "^3.0.0" "hypercore-crypto": "^3.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"peerDependencies": { "peerDependencies": {
"hyperbee": "^2.0.0", "hyperbee": "^2.0.0",
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -8,7 +8,7 @@ const process = require('bare-process')
const Hyperbee = require('hyperbee') const Hyperbee = require('hyperbee')
const Hypercore = require('hypercore') const Hypercore = require('hypercore')
const b4a = require('b4a') const b4a = require('b4a')
const { topicToBuffer, createSwarm, wireConnection, protocolChannel } = require('../../_shared/p2p-bare.js') const { topicToBuffer, createSwarm, wireConnection, protocolChannel } = require('hyper-p2p-bare-shared/p2p-bare')
// Constants // Constants
const PRESENCE_PROTOCOL = 'hyper-p2p-presence/v1.1' const PRESENCE_PROTOCOL = 'hyper-p2p-presence/v1.1'
File diff suppressed because it is too large Load Diff
@@ -42,7 +42,8 @@
"hypercore": "^10.0.0", "hypercore": "^10.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0" "hypercore-crypto": "^3.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"devDependencies": { "devDependencies": {
"brittle": "^3.0.0" "brittle": "^3.0.0"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -3,7 +3,7 @@ const EventEmitter = require('bare-events')
const crypto = require('bare-crypto') const crypto = require('bare-crypto')
const process = require('bare-process') const process = require('bare-process')
const b4a = require('b4a') const b4a = require('b4a')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const VECTOR_CLOCK_PROTOCOL = 'vector-clock/v1' const VECTOR_CLOCK_PROTOCOL = 'vector-clock/v1'
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
{ {
"name": "hyper-p2p-vector-clock", "name": "hyper-p2p-vector-clock",
"version": "0.3.1", "version": "0.3.1",
"description": "A novel, production-grade vector clock primitive for Bare/Pear P2P applications. Provides efficient causal ordering, logical timestamps, clock merging, happens-before comparison, concurrency detection, serialization for wire protocols, pruning, and Hyperbee-backed persistence helpers. Enables building consistent distributed systems, CRDTs, event sourcing, and reactive P2P architectures with proper causality tracking. First reusable dedicated vector clock module in the Holepunch/Bare ecosystem never-before-seen primitive.", "description": "A novel, production-grade vector clock primitive for Bare/Pear P2P applications. Provides efficient causal ordering, logical timestamps, clock merging, happens-before comparison, concurrency detection, serialization for wire protocols, pruning, and Hyperbee-backed persistence helpers. Enables building consistent distributed systems, CRDTs, event sourcing, and reactive P2P architectures with proper causality tracking. First reusable dedicated vector clock module in the Holepunch/Bare ecosystem \u2014 never-before-seen primitive.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"exports": { "exports": {
@@ -46,7 +46,8 @@
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.0.0" "compact-encoding": "^2.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"peerDependencies": { "peerDependencies": {
"hyperbee": "^2.0.0", "hyperbee": "^2.0.0",
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,8 +1,8 @@
require('bare-process/global') require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const b4a = require('b4a') const b4a = require('b4a')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const { experimentalStats } = require('../../_shared/experimental-base.js') const { experimentalStats } = require('hyper-p2p-bare-shared/experimental-base')
const PROTOCOL = 'contradiction-graph/v1' const PROTOCOL = 'contradiction-graph/v1'
File diff suppressed because it is too large Load Diff
@@ -5,19 +5,33 @@
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.0.0" "compact-encoding": "^2.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
},
"peerDependencies": {
"hyperswarm": "^4.0.0",
"bare": ">=1.0.0"
},
"devDependencies": {
"brittle": "^3.0.0"
}, },
"peerDependencies": { "hyperswarm": "^4.0.0", "bare": ">=1.0.0" },
"devDependencies": { "brittle": "^3.0.0" },
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" } "bare": "bare-process",
"default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
}
} }
} }
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,8 +1,8 @@
require('bare-process/global') require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const b4a = require('b4a') const b4a = require('b4a')
const { assertNonEmpty } = require('../../_shared/lib/errors.js') const { assertNonEmpty } = require('hyper-p2p-bare-shared/lib/errors')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const PROTOCOL = 'bloom-gossip/v1' const PROTOCOL = 'bloom-gossip/v1'
const DEFAULT_BITS = 2048 const DEFAULT_BITS = 2048
File diff suppressed because it is too large Load Diff
@@ -5,22 +5,33 @@
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.16.0" "compact-encoding": "^2.16.0",
"hyper-p2p-bare-shared": "file:../../_shared"
}, },
"peerDependencies": { "peerDependencies": {
"hyperswarm": "^4.0.0", "hyperswarm": "^4.0.0",
"bare": ">=1.0.0" "bare": ">=1.0.0"
}, },
"devDependencies": { "brittle": "^3.0.0" }, "devDependencies": {
"brittle": "^3.0.0"
},
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" } "bare": "bare-process",
"default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
}
} }
} }
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,8 +1,8 @@
require('bare-process/global') require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const b4a = require('b4a') const b4a = require('b4a')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const { assertPeerId, mediaStats } = require('../../_shared/media-streaming-base.js') const { assertPeerId, mediaStats } = require('hyper-p2p-bare-shared/media-streaming-base')
const PROTOCOL = 'contribution-ledger/v1' const PROTOCOL = 'contribution-ledger/v1'
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,13 @@
{ {
"name": "hyper-p2p-contribution-ledger", "name": "hyper-p2p-contribution-ledger",
"version": "0.3.1", "version": "0.3.1",
"description": "P2P media streaming contribution ledger.", "description": "P2P media streaming \u2014 contribution ledger.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
@@ -13,13 +15,28 @@
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.0.0" "compact-encoding": "^2.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
},
"peerDependencies": {
"hyperswarm": "^4.0.0",
"bare": ">=1.0.0"
},
"devDependencies": {
"brittle": "^3.0.0"
}, },
"peerDependencies": { "hyperswarm": "^4.0.0", "bare": ">=1.0.0" },
"devDependencies": { "brittle": "^3.0.0" },
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" }, "bare": "bare-process",
"timers": { "bare": "bare-timers", "default": "timers" } "default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
},
"timers": {
"bare": "bare-timers",
"default": "timers"
}
} }
} }
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2,7 +2,7 @@ require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const b4a = require('b4a') const b4a = require('b4a')
const crypto = require('hypercore-crypto') const crypto = require('hypercore-crypto')
const { mediaStats } = require('../../_shared/media-streaming-base.js') const { mediaStats } = require('hyper-p2p-bare-shared/media-streaming-base')
const PROTOCOL = 'fec-video/v1' const PROTOCOL = 'fec-video/v1'
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,13 @@
{ {
"name": "hyper-p2p-fec-video", "name": "hyper-p2p-fec-video",
"version": "0.3.1", "version": "0.3.1",
"description": "P2P media streaming fec video.", "description": "P2P media streaming \u2014 fec video.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
@@ -13,13 +15,28 @@
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.0.0" "compact-encoding": "^2.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
},
"peerDependencies": {
"hyperswarm": "^4.0.0",
"bare": ">=1.0.0"
},
"devDependencies": {
"brittle": "^3.0.0"
}, },
"peerDependencies": { "hyperswarm": "^4.0.0", "bare": ">=1.0.0" },
"devDependencies": { "brittle": "^3.0.0" },
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" }, "bare": "bare-process",
"timers": { "bare": "bare-timers", "default": "timers" } "default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
},
"timers": {
"bare": "bare-timers",
"default": "timers"
}
} }
} }
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
require('bare-process/global') require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const { initModuleSwarm, gossipSend } = require('../../_shared/p2p-bare.js') const { initModuleSwarm, gossipSend } = require('hyper-p2p-bare-shared/p2p-bare')
const { ROLES, assertPeerId, mediaStats } = require('../../_shared/media-streaming-base.js') const { ROLES, assertPeerId, mediaStats } = require('hyper-p2p-bare-shared/media-streaming-base')
const PROTOCOL = 'media-tree-orchestrator/v1' const PROTOCOL = 'media-tree-orchestrator/v1'
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,13 @@
{ {
"name": "hyper-p2p-media-tree-orchestrator", "name": "hyper-p2p-media-tree-orchestrator",
"version": "0.3.1", "version": "0.3.1",
"description": "P2P media streaming media tree orchestrator.", "description": "P2P media streaming \u2014 media tree orchestrator.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
@@ -13,13 +15,28 @@
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.0.0" "compact-encoding": "^2.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
},
"peerDependencies": {
"hyperswarm": "^4.0.0",
"bare": ">=1.0.0"
},
"devDependencies": {
"brittle": "^3.0.0"
}, },
"peerDependencies": { "hyperswarm": "^4.0.0", "bare": ">=1.0.0" },
"devDependencies": { "brittle": "^3.0.0" },
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" }, "bare": "bare-process",
"timers": { "bare": "bare-timers", "default": "timers" } "default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
},
"timers": {
"bare": "bare-timers",
"default": "timers"
}
} }
} }
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,6 @@
require('bare-process/global') require('bare-process/global')
const EventEmitter = require('bare-events') const EventEmitter = require('bare-events')
const { assertPeerId, mediaStats } = require('../../_shared/media-streaming-base.js') const { assertPeerId, mediaStats } = require('hyper-p2p-bare-shared/media-streaming-base')
const PROTOCOL = 'peer-selector-streaming/v1' const PROTOCOL = 'peer-selector-streaming/v1'
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,13 @@
{ {
"name": "hyper-p2p-peer-selector-streaming", "name": "hyper-p2p-peer-selector-streaming",
"version": "0.3.1", "version": "0.3.1",
"description": "P2P media streaming peer selector streaming.", "description": "P2P media streaming \u2014 peer selector streaming.",
"main": "index.js", "main": "index.js",
"type": "commonjs", "type": "commonjs",
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "test": "brittle-bare test/test.js" }, "scripts": {
"test": "brittle-bare test/test.js"
},
"dependencies": { "dependencies": {
"bare-events": "^2.8.0", "bare-events": "^2.8.0",
"bare-process": "^4.4.0", "bare-process": "^4.4.0",
@@ -13,13 +15,28 @@
"b4a": "^1.6.7", "b4a": "^1.6.7",
"hypercore-crypto": "^3.0.0", "hypercore-crypto": "^3.0.0",
"protomux": "^3.0.0", "protomux": "^3.0.0",
"compact-encoding": "^2.0.0" "compact-encoding": "^2.0.0",
"hyper-p2p-bare-shared": "file:../../_shared"
},
"peerDependencies": {
"hyperswarm": "^4.0.0",
"bare": ">=1.0.0"
},
"devDependencies": {
"brittle": "^3.0.0"
}, },
"peerDependencies": { "hyperswarm": "^4.0.0", "bare": ">=1.0.0" },
"devDependencies": { "brittle": "^3.0.0" },
"imports": { "imports": {
"process": { "bare": "bare-process", "default": "process" }, "process": {
"events": { "bare": "bare-events", "default": "events" }, "bare": "bare-process",
"timers": { "bare": "bare-timers", "default": "timers" } "default": "process"
},
"events": {
"bare": "bare-events",
"default": "events"
},
"timers": {
"bare": "bare-timers",
"default": "timers"
}
} }
} }
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More