Commit Graph

6 Commits

Author SHA1 Message Date
William Valentin 58c4b0b9bb Add iOS node push-token registration foundation 2026-02-16 12:47:34 -08:00
William Valentin bea4c54f3b Add macOS companion node status and system.nodes APIs 2026-02-16 12:41:58 -08:00
William Valentin fe8674e108 Add node location access RPCs and operator visibility 2026-02-16 12:30:55 -08:00
William Valentin d9f7807ab2 feat(gateway): add node capability negotiation foundation 2026-02-16 12:14:25 -08:00
William Valentin 20930a4816 feat: add query-param token auth and optional HTTP auth to gateway
Support ?token= query parameter as a fallback for WebSocket clients that
cannot set Authorization headers (e.g. browsers). Add authHttp option to
GatewayServer so token auth can be applied to HTTP requests too, returning
401 with WWW-Authenticate header on failure.
2026-02-06 16:51:41 -08:00
William Valentin f30a8bc318 feat(gateway): add WebSocket gateway with JSON-RPC protocol and auth
Phase 2 of the Flynn roadmap. Adds a WebSocket gateway server that
starts alongside the Telegram bot, providing real-time API access to
the agent, sessions, and tools.

Protocol: JSON-RPC-like (request/response/event) over WebSocket.
8 methods: agent.send, agent.cancel, sessions.list, sessions.history,
sessions.create, tools.list, tools.invoke, system.health.

Auth: Bearer token + Tailscale identity header support.
Session bridge: per-connection agent instances with shared model router.

New files: src/gateway/ (protocol, router, server, auth, session-bridge,
handlers for agent/sessions/tools/system).
57 new tests (181 total), typecheck clean.
2026-02-05 19:11:25 -08:00