92 lines
4.8 KiB
JSON
92 lines
4.8 KiB
JSON
{
|
||
"name": "@suaveplan/network-plugin-server-bridge",
|
||
"version": "0.1.0",
|
||
"type": "module",
|
||
"sideEffects": false,
|
||
"description": "Tier-0 host ↔ central-server bridge for the Suaveplan mesh: ServerGateway (transport-agnostic, 2× heartbeat disconnect detection), GracefulDegradationFsm (online → degrading → offline → recovering → online), OfflineModeCoordinator (autonomous mode + token-grace extension), LogBuffer (circular signed-log replay queue), ReconciliationProtocol (server-watermark-driven differential with LWW conflict resolution), CommandDispatcher (Ed25519 signature + nonce-replay protection), HeartbeatMultiplexer (Tier-0 batch forwarding), four hosting-model coordinators (PURE_CLIENT, SERVER_BASED, SERVER_TO_CLIENT_FAILOVER, CLIENT_WITH_SERVER_BACKUP), and ServerBridgePlugin facade with tier gate.",
|
||
"license": "MIT",
|
||
"author": "Suaveplan Team",
|
||
"main": "./dist/index.js",
|
||
"module": "./dist/index.js",
|
||
"types": "./dist/index.d.ts",
|
||
"files": ["dist", "src", "README.md"],
|
||
"exports": {
|
||
"./package.json": "./package.json",
|
||
".": {
|
||
"import": { "types": "./dist/index.d.ts", "default": "./dist/index.js" },
|
||
"require": { "types": "./dist/index.d.ts", "default": "./dist/index.js" }
|
||
},
|
||
"./error-codes": {
|
||
"import": { "types": "./dist/error-codes/index.d.ts", "default": "./dist/error-codes/index.js" }
|
||
},
|
||
"./buffer/log-buffer": {
|
||
"import": { "types": "./dist/buffer/log-buffer.d.ts", "default": "./dist/buffer/log-buffer.js" }
|
||
},
|
||
"./command/command-dispatcher": {
|
||
"import": { "types": "./dist/command/command-dispatcher.d.ts", "default": "./dist/command/command-dispatcher.js" }
|
||
},
|
||
"./fsm/graceful-degradation-fsm": {
|
||
"import": { "types": "./dist/fsm/graceful-degradation-fsm.d.ts", "default": "./dist/fsm/graceful-degradation-fsm.js" }
|
||
},
|
||
"./gateway/server-gateway": {
|
||
"import": { "types": "./dist/gateway/server-gateway.d.ts", "default": "./dist/gateway/server-gateway.js" }
|
||
},
|
||
"./hosting/hosting-model-config": {
|
||
"import": { "types": "./dist/hosting/hosting-model-config.d.ts", "default": "./dist/hosting/hosting-model-config.js" }
|
||
},
|
||
"./hosting/pure-client-coordinator": {
|
||
"import": { "types": "./dist/hosting/pure-client-coordinator.d.ts", "default": "./dist/hosting/pure-client-coordinator.js" }
|
||
},
|
||
"./hosting/server-based-coordinator": {
|
||
"import": { "types": "./dist/hosting/server-based-coordinator.d.ts", "default": "./dist/hosting/server-based-coordinator.js" }
|
||
},
|
||
"./hosting/failover-coordinator": {
|
||
"import": { "types": "./dist/hosting/failover-coordinator.d.ts", "default": "./dist/hosting/failover-coordinator.js" }
|
||
},
|
||
"./hosting/backup-coordinator": {
|
||
"import": { "types": "./dist/hosting/backup-coordinator.d.ts", "default": "./dist/hosting/backup-coordinator.js" }
|
||
},
|
||
"./multiplexer/heartbeat-multiplexer": {
|
||
"import": { "types": "./dist/multiplexer/heartbeat-multiplexer.d.ts", "default": "./dist/multiplexer/heartbeat-multiplexer.js" }
|
||
},
|
||
"./offline/offline-mode-coordinator": {
|
||
"import": { "types": "./dist/offline/offline-mode-coordinator.d.ts", "default": "./dist/offline/offline-mode-coordinator.js" }
|
||
},
|
||
"./plugin/server-bridge-plugin": {
|
||
"import": { "types": "./dist/plugin/server-bridge-plugin.d.ts", "default": "./dist/plugin/server-bridge-plugin.js" }
|
||
},
|
||
"./reconciliation/reconciliation-protocol": {
|
||
"import": { "types": "./dist/reconciliation/reconciliation-protocol.d.ts", "default": "./dist/reconciliation/reconciliation-protocol.js" }
|
||
}
|
||
},
|
||
"scripts": {
|
||
"build": "vite build",
|
||
"test": "vitest run",
|
||
"test:coverage": "vitest run --coverage",
|
||
"lint": "bunx biome check src/",
|
||
"typecheck": "bunx tsc --noEmit --composite false -p tsconfig.lib.json",
|
||
"docs:check": "bun run ../../../../scripts/docs-check.ts ."
|
||
},
|
||
"dependencies": {
|
||
"@opentelemetry/api": "catalog:observability",
|
||
"@suaveplan/error": "workspace:^",
|
||
"@suaveplan/network": "workspace:^",
|
||
"@suaveplan/types": "workspace:^",
|
||
"tslib": "catalog:build",
|
||
"zod": "catalog:forms"
|
||
},
|
||
"devDependencies": {
|
||
"@suaveplan/testing": "workspace:^",
|
||
"@types/node": "catalog:",
|
||
"@vitest/coverage-istanbul": "catalog:testing",
|
||
"typescript": "catalog:",
|
||
"vite": "catalog:build",
|
||
"vite-plugin-dts": "catalog:build",
|
||
"vitest": "catalog:testing"
|
||
},
|
||
"publishConfig": {
|
||
"registry": "https://npmjs.fq.io/",
|
||
"access": "public"
|
||
}
|
||
}
|