Real-time communication protocol for the QNTX web interface.
| Path | Purpose |
|---|---|
/ws | Main WebSocket (graph updates, job status, logs) |
/lsp | ATS Language Server Protocol (completions, hover) |
All messages are JSON objects with a type field indicating the message type.
queryExecute an ATS query
| Field | Description |
|---|---|
| query | ATS query string |
| line | Cursor line position |
| cursor | Cursor column position |
| filename | Source file name |
job_updateAsync job status update
| Field | Description |
|---|---|
| job | Job object with status, progress, etc. |
| metadata | Additional metadata about the update |
daemon_statusPulse daemon status broadcast
| Field | Description |
|---|---|
| running | Whether daemon is running |
| active_jobs | Number of active jobs |
| load_percent | Current load percentage |
usage_updateAI usage statistics update
| Field | Description |
|---|---|
| total_cost | Total cost in USD |
| requests | Number of requests |
| tokens | Total tokens used |
llm_streamStreaming LLM response chunks
| Field | Description |
|---|---|
| job_id | Associated job ID |
| content | Text content chunk |
| done | Whether streaming is complete |
plugin_healthPlugin health status update
| Field | Description |
|---|---|
| name | Plugin name |
| healthy | Health status |
| state | Plugin state (running/paused) |
Full message type definitions are in Server Types.