You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
70 routes over 59 paths, registered by 17 modules under server/routes/. The embedded Fastify server serves all of them on 127.0.0.1, on port 3147 when run standalone with pnpm dev:server and on a free port chosen at launch under Electron.
Routes are grouped by the module that registers them. The HEAD route Fastify pairs with each GET is omitted. Request and response shapes live in shared/contracts.ts and shared/responses.ts, and the streaming routes emit the SSE unions in shared/events.ts.
Why a generated table and not OpenAPI
This file is generated from the live route registry and gated in CI. The code is the single source of truth, so this table cannot describe an endpoint the server does not serve.
OpenAPI would not add anything here today.
A spec needs JSON Schema attached to all 70 routes, and this server carries none. Validation goes through Zod in server/http/parse.ts, not Fastify's ajv schema.body, because ajv changes the 400 body the client handles and drops the Zod defaults the domain relies on.
There is no external consumer to hand a spec to. The only client ships in this repo and imports the same Zod schemas and contract types from shared/, which is a tighter contract than generated client code.
Revisit when a second client or an outside consumer appears. The same buildServer registry walk plus zod-to-json-schema over the existing contracts can emit a real specification under this same drift gate.