/** * The OrcaRouter provider API for the dashboard. * * SERVER-SIDE BY DESIGN, for the same reason the wiki graph is: the browser must never hold an * OrcaRouter key. A key stored here is billed to the user and can be revoked by them, and a key in * page memory is a key in a devtools console, a screenshot, and any error reporter that instruments * the page. So the dashboard posts a secret in, and reads back a redacted status plus the model list. * There is no route that returns a stored key, and that is deliberate rather than an omission. * * THE LOGIN LOCK IS SERVER-SIDE, and every terminal path releases it: success, denial, exchange * error, timeout, an explicit cancel, a switch of authentication method, a closed modal, an unmount, * a reload, a window close and `pagehide`. `OrcaConnectManager` holds at most one live attempt and * its `cancel` closes the listener and rejects the pending promise; the `pagehide` route is the one * a client calls with `keepalive` on the way out, and the browser's own busy flag is cleared in that * handler rather than in a `finally` that the generation guard will refuse to run. * * NOTHING HERE LOGS A SECRET. Errors carry a kind and a status; the key, the code and the verifier * never enter a message, and the only place a key is rendered is `redactKey`. */ import type { Express } from 'express'; import { OrcaConnectManager } from '../orcarouter/connect.js'; export declare function orcaConnectManager(): OrcaConnectManager; export declare function registerOrcaRouterRoutes(app: Express): void; export declare function unregisterOrcaRouterRoutes(): void; //# sourceMappingURL=orcarouter-routes.d.ts.map