@errpulse/server
v0.1.4
Published
ErrPulse server — Express API + SQLite + WebSocket
Maintainers
Readme
@errpulse/server
Express API server with SQLite storage, WebSocket broadcasting, and a built-in React dashboard. Part of ErrPulse — the error monitoring tool that runs with one command.
Tip: Most users should use the
errpulseCLI which wraps this package. Use@errpulse/serverdirectly for programmatic control.
Installation
npm install @errpulse/serverProgrammatic Usage
import { startServer } from "@errpulse/server";
const { server, config } = await startServer({
port: 3800,
host: "0.0.0.0",
dbPath: "./errpulse.db",
});
console.log(`ErrPulse running at http://${config.host}:${config.port}`);API Endpoints
| Method | Endpoint | Description |
| ------- | --------------------- | ------------------------------- |
| POST | /api/events | Ingest a single error event |
| POST | /api/events/batch | Ingest multiple events |
| POST | /api/events/request | Log an HTTP request |
| GET | /api/errors | List error groups (filterable) |
| GET | /api/errors/:id | Error detail with event history |
| PATCH | /api/errors/:id | Update error status |
| GET | /api/requests | List HTTP requests |
| GET | /api/stats | Dashboard overview stats |
| GET | /api/projects | List registered projects |
| GET | /api/health | Health check |
| POST | /api/clear | Clear all stored data |
| WS | /ws | Real-time WebSocket feed |
All list endpoints support ?projectId=<name> to filter by project.
Key Features
- SQLite + WAL — Zero-setup database with Write-Ahead Logging for concurrent reads
- WebSocket — Real-time error broadcasting to the dashboard
- Built-in Dashboard — React + Tailwind CSS dashboard served at the root URL
- Error Fingerprinting — SHA-256 deduplication via
@errpulse/core - PII Sanitization — Sensitive fields stripped before storage
- Multi-project — Filter all data by
projectId
Exports
import { startServer, createServer, createApp, resolveConfig } from "@errpulse/server";
import type { ServerConfig, ServerContext, AppContext } from "@errpulse/server";