{ "name": "control-panel", "version": "0.0.0", "private": true, "type": "module", "description": "Web control panel for the zero-touch tunnel system. Loopback-only Fastify backend that gates an operator session behind a password, then proxies the control-plane admin API (list hosts / issue pairing codes / revoke hosts), minting a fresh short-TTL `manage` capability token per call. Vanilla-TS + esbuild SPA. NEVER logs secrets/tokens/passwords.", "engines": { "node": ">=18" }, "main": "src/server.ts", "scripts": { "start": "tsx src/server.ts", "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.web.json --noEmit", "test": "vitest run", "test:watch": "vitest", "coverage": "vitest run --coverage", "build": "node build.mjs" }, "dependencies": { "fastify": "^4.28.1", "qrcode": "^1.5.4", "relay-auth": "file:../relay-auth", "relay-contracts": "file:../relay-contracts", "zod": "^3.23.8" }, "devDependencies": { "@types/node": "^25.9.3", "@types/qrcode": "^1.5.6", "@vitest/coverage-v8": "^4.1.9", "esbuild": "^0.28.1", "tsx": "^4.19.2", "typescript": "^6.0.3", "vitest": "^4.1.9" } }