Files
skills/docs/networking/network/network-plugin-session
2026-05-29 08:20:56 +01:00
..
2026-05-29 08:20:56 +01:00
2026-05-29 08:20:56 +01:00

@suaveplan/network-plugin-session - Hierarchical session management for the Suaveplan mesh: SessionTree, SessionManager, SessionRouter, per-session host election, transition manager, parent-state bridge, capacity enforcer, registry

Summary

Hierarchical session management for the Suaveplan mesh. SessionTree maintains a parent-child session graph rooted at a single auto-created root; SessionManager handles join / leave / move with deterministic tree mutations and session:joined / session:left / session:moved bus events; SessionRouter filters NetworkNode.send() so messages reach only peers in the target session scope (default leaf, parent, or broadcast); SessionHostElection picks a host per session via injectable scoring (latency / uptime / reputation) and re-elects on host departure; SessionTransitionManager runs the join → request snapshot → sync → active state machine, with a forwarding tunnel for in-flight messages during move; ParentStateBridge replicates configurable read-only keys (worldTime / weather / globalEvent) from parent to child sessions; SessionCapacityEnforcer rejects over-capacity joins with optional session:split-requested trigger; SessionRegistry tracks every known session for mesh-wide discovery + assignment. Wrapped in a single SessionPlugin satisfying the NetworkPlugin lifecycle.

Documentation tree

- [parent-state-bridge](./src/bridge/parent-state-bridge.md) — _(no submodules)_- [capacity](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [session-capacity-enforcer](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [election](./src/election/session-host-election.md) — _(no submodules)_- [session-host-election](./src/election/session-host-election.md) — _(no submodules)_- [plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [session-plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [registry](./src/registry/session-registry.md) — _(no submodules)_- [session-registry](./src/registry/session-registry.md) — _(no submodules)_- [router](./src/router/session-router.md) — _(no submodules)_- [session-router](./src/router/session-router.md) — _(no submodules)_- [session](./src/session/session-manager.md) — _(no submodules)_- [session-manager](./src/session/session-manager.md) — _(no submodules)_- [transition](./src/transition/session-transition-manager.md) — _(no submodules)_- [session-transition-manager](./src/transition/session-transition-manager.md) — _(no submodules)_- [tree](./src/tree/session-tree.md) — _(no submodules)_- [session-tree](./src/tree/session-tree.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the session package. Codes are namespaced under `NET_SESSION` and registe…