import { type McpContent } from "../response.js"; /** * F-R5-28: format the no_device summary based on whether the local * bridge was probed recently. Recent probe = "investigate, this is * unexpected". No recent probe = "this is the typical * unreachable-device case, fall back to URL-bake". * * Exported for the bundle17 smoke. Pure function — no side effects, * no I/O. The lastProbeAt arg lets the smoke pass mocked timestamps * without having to actually hit the bridge. */ export declare function buildNoDeviceSummary(sessionId: string, platform: "android" | "ios", autoOpenAttempted: boolean, lastProbeAt: number | null, nowMs?: number): string; /** * Phase 2 of persistent-simulations: derive a stable identifier and a * friendly label for the project at `projectPath`. * * Resolution order (first hit wins for each field, but ID and label * come from different priorities — see below): * * 1. `extentos.manifest.json` `appPackage` — set by * generateConnectionModule. Globally unique (e.g. * "com.asgermolgaard.livecaptions"), stable across rebuilds and * machines. Best `projectInstallId`. * 2. Android `settings.gradle.kts` (or `.gradle`) `rootProject.name` * — set in the project file before the extentos manifest is * generated; what Android Studio displays as the project name * (e.g. "live-captions"). Best `appLabel`. * * `projectInstallId` prefers the manifest appPackage (most stable * across renames). `appLabel` prefers `rootProject.name` (friendlier * for the dashboard than a reverse-DNS package). * * Returns null fields when nothing is found — backend's * `findActiveSessionByProjectKey` short-circuits on null, so a project * with neither signal produces the pre-Phase-2 "always create new" flow. * * Note on key stability: a project initially identified via * `android:` will *shift* its `projectInstallId` to * the manifest `appPackage` once `generateConnectionModule` runs. * That leaves the old row orphaned — the user can clean it up via the * dashboard's Delete button. Acceptable trade for unblocking unlabeled * projects. * * Exported for the bundle22-smoke regression test. */ export declare function readProjectKey(projectPath: string): { projectInstallId: string | null; appLabel: string | null; }; export declare function handleCreateSimulatorSession(raw: unknown): Promise; //# sourceMappingURL=createSimulatorSession.d.ts.map