/** * WHY an install has produced no session — the closed vocabulary, on its own. * * `telemetry.ts` is the wire contract; this is the taxonomy the no-session DIAGNOSIS owns, read by * `explainNoSession`, the session manager and the refusal reporter alike. * * `no_session` is the largest refusal cohort, and on its own it is a set difference: the daemon * started, no app connected, and nothing says which of several opposite situations that was. * "Restarted the dev server and it still did not connect" and "never started the app" need * opposite fixes and arrived as the same silence (#615). * * Derived from `explainNoSession`'s branches rather than classified beside them, so the code and * the sentence the user is shown cannot drift apart. A reason describing a diagnosis nobody * received would be worse than none. */ export declare const NoSessionReason: { /** * A page dialled and was REFUSED on its pairing token. The only positive evidence in the set: * only an SDK dials the bridge, so the app is running and instrumented and this daemon said no. */ readonly AUTH_REFUSED: "auth_refused"; /** Connected before; the session that went was a pooled lease that aged out. */ readonly LEASE_EXPIRED: "lease_expired"; /** Connected before; the tab was closed, navigated away, or hard-reloaded. */ readonly TAB_GONE: "tab_gone"; /** This project has connected before, but not to this daemon run. Usually a restart with no reopen. */ readonly APP_NOT_REOPENED: "app_not_reopened"; /** A `.reticle.json` exists OUTSIDE this daemon's directory: a scope problem, not an install one. */ readonly CONFIG_ELSEWHERE: "config_elsewhere"; /** Nothing listening on the scanned ports AND no config here. The weakest position, and common. */ readonly NO_LISTENER_NO_CONFIG: "no_listener_no_config"; /** Nothing listening, but the project is wired. The dev server is the missing half. */ readonly NO_LISTENER: "no_listener"; /** Something is listening, but there is no config in this directory. */ readonly NO_CONFIG: "no_config"; /** Wired, listening, and still nothing arrived: the SDK is not reaching this daemon. */ readonly SDK_NOT_REACHING_DAEMON: "sdk_not_reaching_daemon"; }; export type NoSessionReason = (typeof NoSessionReason)[keyof typeof NoSessionReason];