{"_id":"@aegis-sdk/dashboard","_rev":"2-977e705814025b0f686d99efda060f10","name":"@aegis-sdk/dashboard","dist-tags":{"latest":"0.5.0"},"versions":{"0.4.0":{"name":"@aegis-sdk/dashboard","version":"0.4.0","keywords":["aegis","dashboard","audit","visualization","llm","security"],"license":"MIT","_id":"@aegis-sdk/dashboard@0.4.0","maintainers":[{"name":"msjoshlopez","email":"josh@memberstack.com"}],"homepage":"https://github.com/aegis-sdk/Aegis#readme","bugs":{"url":"https://github.com/aegis-sdk/Aegis/issues"},"bin":{"aegis-dashboard":"bin/serve.js"},"dist":{"shasum":"ffb893e65a15049f63a62979cdc4e0788c0f5c71","tarball":"https://registry.npmjs.org/@aegis-sdk/dashboard/-/dashboard-0.4.0.tgz","fileCount":4,"integrity":"sha512-KVKxt1hdIiOlOaTMKFKheDbn4UwAaENiaazWLYFui8z7A9kwvpNRiCmy+yFVkieJAuODE2/HbWec+6by8pBPsw==","signatures":[{"sig":"MEYCIQDImOurPia8c66rVHdYBhBuE60eeT7qqM4UnOrb168U0AIhANyURYturDaGjYwiquTVUSr3skFMy4q5O4eaJ/qn3Xqc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51545},"type":"module","_from":"file:aegis-sdk-dashboard-0.4.0.tgz","engines":{"node":">=18.0.0"},"scripts":{"dev":"node bin/serve.js","build":"node scripts/build.js"},"_npmUser":{"name":"msjoshlopez","email":"josh@memberstack.com"},"_resolved":"/tmp/66ae2389c2972c64c592cc7a5991c8cf/aegis-sdk-dashboard-0.4.0.tgz","_integrity":"sha512-KVKxt1hdIiOlOaTMKFKheDbn4UwAaENiaazWLYFui8z7A9kwvpNRiCmy+yFVkieJAuODE2/HbWec+6by8pBPsw==","repository":{"url":"git+https://github.com/aegis-sdk/Aegis.git","type":"git","directory":"packages/dashboard"},"_npmVersion":"10.9.4","description":"Audit log visualization dashboard for Aegis prompt injection defense","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dashboard_0.4.0_1771964663488_0.26936620955830093","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aegis-sdk/dashboard","version":"0.5.0","description":"Audit log visualization dashboard for Aegis prompt injection defense","type":"module","license":"MIT","bin":{"aegis-dashboard":"bin/serve.js"},"keywords":["aegis","dashboard","audit","visualization","llm","security"],"repository":{"type":"git","url":"git+https://github.com/aegis-sdk/Aegis.git","directory":"packages/dashboard"},"engines":{"node":">=18.0.0"},"sideEffects":false,"scripts":{"build":"node scripts/build.js","dev":"node bin/serve.js"},"_id":"@aegis-sdk/dashboard@0.5.0","bugs":{"url":"https://github.com/aegis-sdk/Aegis/issues"},"homepage":"https://github.com/aegis-sdk/Aegis#readme","_integrity":"sha512-/qnx+z+O9HWIzQaBva/lznBFOTLfKqhXmbArtRszbiWLiObjCNB7NfUtJJ1m5GRgIb7KjgbMNSQbp01Nxk4I5g==","_resolved":"/tmp/86c8b2b762c2c04e1fa6c8099aebbffa/aegis-sdk-dashboard-0.5.0.tgz","_from":"file:aegis-sdk-dashboard-0.5.0.tgz","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-/qnx+z+O9HWIzQaBva/lznBFOTLfKqhXmbArtRszbiWLiObjCNB7NfUtJJ1m5GRgIb7KjgbMNSQbp01Nxk4I5g==","shasum":"3ece2b4daae3603c4daec542d3a282dc14052719","tarball":"https://registry.npmjs.org/@aegis-sdk/dashboard/-/dashboard-0.5.0.tgz","fileCount":5,"unpackedSize":53551,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICDYJvjCKZdU8gKzvPNGm6HaxOqSlWf4nH3ZwjRxXrRhAiAJvALhQY8EJg4rSVsyDg51p1pc4cLxeyd4W3vKjFsEcA=="}]},"_npmUser":{"name":"msjoshlopez","email":"josh@memberstack.com"},"directories":{},"maintainers":[{"name":"msjoshlopez","email":"josh@memberstack.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dashboard_0.5.0_1771972389426_0.3616629945366392"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-24T20:24:23.395Z","modified":"2026-02-24T22:33:09.692Z","0.4.0":"2026-02-24T20:24:23.660Z","0.5.0":"2026-02-24T22:33:09.581Z"},"bugs":{"url":"https://github.com/aegis-sdk/Aegis/issues"},"license":"MIT","homepage":"https://github.com/aegis-sdk/Aegis#readme","keywords":["aegis","dashboard","audit","visualization","llm","security"],"repository":{"type":"git","url":"git+https://github.com/aegis-sdk/Aegis.git","directory":"packages/dashboard"},"description":"Audit log visualization dashboard for Aegis prompt injection defense","maintainers":[{"name":"msjoshlopez","email":"josh@memberstack.com"}],"readme":"# @aegis-sdk/dashboard\n\nStandalone audit log visualization dashboard for Aegis. Zero dependencies -- serves a self-contained HTML app over a local HTTP server that reads JSONL audit log files produced by `@aegis-sdk/core`.\n\nPart of the [Aegis.js](https://github.com/aegis-sdk/Aegis) prompt injection defense toolkit.\n\n## Installation\n\n```bash\nnpm install -g @aegis-sdk/dashboard\n```\n\nOr run without installing:\n\n```bash\nnpx @aegis-sdk/dashboard\n```\n\nRequires Node.js >= 18.\n\n## Usage\n\nPoint the dashboard at an Aegis audit log file:\n\n```bash\naegis-dashboard --file ./aegis-audit.jsonl\n```\n\nThen open `http://localhost:6639` in your browser.\n\n### Options\n\n| Flag | Description |\n|------|-------------|\n| `--file <path>` | Default JSONL log file to load |\n| `--port <n>` | Port to listen on (default: `6639`) |\n| `--help` | Show help |\n\n### Custom port\n\n```bash\naegis-dashboard --file ./aegis-audit.jsonl --port 8080\n```\n\n### Generating audit logs\n\nThe dashboard reads JSONL files produced by the Aegis `FileTransport`. Enable file-based audit logging in your Aegis configuration:\n\n```ts\nimport { Aegis, FileTransport } from \"@aegis-sdk/core\";\n\nconst aegis = new Aegis({\n  policy: \"balanced\",\n  audit: {\n    transports: [\"json-file\"],\n    path: \"./aegis-audit.jsonl\",\n  },\n});\n```\n\nOr with explicit `FileTransport` configuration (rotation, max size):\n\n```ts\nimport { Aegis, FileTransport, AuditLog } from \"@aegis-sdk/core\";\n\nconst file = new FileTransport({\n  path: \"./aegis-audit.jsonl\",\n  rotate: true,\n  maxSizeMB: 100,\n});\n\nconst aegis = new Aegis({\n  policy: \"balanced\",\n  audit: { transports: [\"json-file\"] },\n});\n```\n\n### API endpoints\n\nThe server exposes two endpoints for programmatic access:\n\n- `GET /api/logs?file=<path>` -- Returns the full log file as a JSON array.\n- `GET /api/logs/stream?file=<path>` -- SSE stream that tails the file for new entries in real time.\n\nIf a `--file` flag was provided at startup, the `file` query parameter is optional and defaults to that path.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}