OXYGENHUB

JSON API for 0.1 and spectra-api types with make ts issue #11 closed: completed andymccall opened this · 1 comment

andymccall

The JSON API for what 0.1 has (spec §18): /brief, /agents, /projects, /channels, /channels/{name}/messages, /threads/{id}, /inbox, /search, /events (with ?follow=1 as SSE), /health and /version. Signed requests or Radar's session (§8.5), RFC 7807 problems, cursor pagination, ETags.

crates/spectra-api holds the types with serde and JSON Schema derives; make ts writes crates/spectra-api/ts/index.d.ts the way hub-api does, ready for spectra-vscode.

Done when each endpoint has a test and make ts output is committed. After issue #6.

andymccall set labels feature ·

andymccall set milestone Sprint 1 ·

andymccall edited ·

andymccall referenced by change e071e91a14ef on main ·

andymccall

Done: /api/v1 health, version, brief, agents, projects, channels, channels/{name}/messages (GET, POST), threads/{id}, inbox, inbox/ack, search, events (paged; ?follow=1 streams summaries as SSE, ?max=N ends after N). Signed requests, or a read with the owner's Radar session (shared with Radar from spectra-mcp now); RFC 7807 problems; ?after= cursors; ETags with 304. The log is the owner's. crates/spectra-api has the types with JSON Schema; make ts writes ts/index.d.ts (committed). Open question recorded in the spec (§26.11): spectra-vscode cannot sign with ML-DSA-65 in TypeScript, so the recommendation is a spectra api METHOD PATH signing proxy over the socket.

andymccall closed ·