@absolutejs/absolute 0.20.0-beta.2 → 0.20.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/constants.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/mobile/artifactStore.ts", "../src/mobile/releaseArtifact.ts", "../src/mobile/androidRelease.ts", "../src/mobile/emulatorDoctor.ts", "../src/cli/utils.ts", "../src/mobile/androidEmulatorController.ts", "../src/mobile/capacitorProject.ts", "../src/mobile/iosRelease.ts", "../src/mobile/associationFiles.ts", "../src/mobile/config.ts", "../src/mobile/buildMetadata.ts", "../src/mobile/buildPipeline.ts", "../src/mobile/buildRelease.ts", "../src/mobile/capacitorBundle.ts", "../src/mobile/routeMatcher.ts", "../src/mobile/producerContextState.ts", "../src/mobile/pageProtocol.ts", "../src/mobile/client.ts", "../src/mobile/transport.ts", "../src/mobile/materializedBundle.ts", "../src/mobile/compatibilityDispatcher.ts", "../src/mobile/producerContext.ts", "../src/mobile/nativeDeepLinks.ts", "../src/mobile/releasePublisher.ts", "../src/mobile/routeMetadataTransform.ts"],
3
+ "sources": ["../src/constants.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/mobile/artifactStore.ts", "../src/mobile/releaseArtifact.ts", "../src/mobile/androidRelease.ts", "../src/mobile/emulatorDoctor.ts", "../src/cli/utils.ts", "../src/mobile/androidEmulatorController.ts", "../src/mobile/capacitorProject.ts", "../src/mobile/iosRelease.ts", "../src/mobile/iosConformance.ts", "../src/mobile/iosSimulatorController.ts", "../src/mobile/iosNativeWatcher.ts", "../src/mobile/remoteMacProtocol.ts", "../src/mobile/remoteMacWire.ts", "../src/mobile/associationFiles.ts", "../src/mobile/config.ts", "../src/mobile/buildMetadata.ts", "../src/mobile/buildPipeline.ts", "../src/mobile/buildRelease.ts", "../src/mobile/capacitorBundle.ts", "../src/mobile/routeMatcher.ts", "../src/mobile/producerContextState.ts", "../src/mobile/pageProtocol.ts", "../src/mobile/client.ts", "../src/mobile/transport.ts", "../src/mobile/materializedBundle.ts", "../src/mobile/compatibilityDispatcher.ts", "../src/mobile/producerContext.ts", "../src/mobile/nativeDeepLinks.ts", "../src/mobile/releasePublisher.ts", "../src/mobile/routeMetadataTransform.ts"],
4
4
  "sourcesContent": [
5
5
  "export const ANGULAR_INIT_TIMEOUT_MS = 500;\nexport const ANSI_ESCAPE_CODE = 27;\nexport const ANSI_ESCAPE_LENGTH = 3;\nexport const ASCII_SPACE = 32;\nexport const BASE_36_RADIX = 36;\nexport const BUN_BUILD_WARNING_SUPPRESSION =\n\t'wildcard sideEffects are not supported yet';\n/* Tailwind v4 at-rules that Bun's native CSS parser doesn't recognize.\n When a user imports their Tailwind entry CSS from a TS/TSX file, Bun's\n bundler walks it and warns about each unknown at-rule even though the\n actual Tailwind output is produced via the separate tailwindcss compile()\n pipeline (see compileTailwind.ts). The warnings are noise — suppress them. */\nexport const TAILWIND_BUN_CSS_WARNING_PATTERN =\n\t/invalid @ rule encountered: '@(theme|tailwind|source|utility|variant|custom-variant|apply|reference|plugin|config)'/;\nexport const BODY_SLICE_LENGTH = 2000;\nexport const BYTES_PER_KILOBYTE = 1024;\nexport const CLI_ARGS_OFFSET = 3;\nexport const CSS_ERROR_RESOLVE_DELAY_MS = 50;\nexport const CSS_MAX_CHECK_ATTEMPTS = 10;\nexport const CSS_MAX_PARSE_TIMEOUT_MS = 500;\nexport const CSS_SHEET_READY_TIMEOUT_MS = 100;\nexport const DEFAULT_CHUNK_SIZE = 16_384;\nexport const DEFAULT_DEBOUNCE_MS = 15;\nexport const DEFAULT_PORT = 3000;\nexport const DEV_SERVER_RESTART_DEBOUNCE_MS = 100;\nexport const DOM_UPDATE_DELAY_MS = 50;\nexport const FILE_PROTOCOL_PREFIX_LENGTH = 7;\nexport const FOCUS_ID_PREFIX_LENGTH = 3;\nexport const FOCUS_IDX_PREFIX_LENGTH = 4;\nexport const FOCUS_NAME_PREFIX_LENGTH = 5;\nexport const ESLINT_STUDIO_DEFAULT_HOST = 'eslint.absolute.localhost';\nexport const ESLINT_STUDIO_DEFAULT_PORT = 4099;\nexport const CONFIG_DEFAULT_HOST = 'config.absolute.localhost';\nexport const CONFIG_DEFAULT_PORT = 4099;\nexport const HMR_UPDATE_TIMEOUT_MS = 2000;\nexport const HOOK_SIGNATURE_LENGTH = 12;\nexport const EXCLUDE_LAST_OFFSET = -1;\nexport const HTTP_STATUS_OK = 200;\nexport const HTTP_STATUS_BAD_REQUEST = 400;\nexport const HTTP_STATUS_NOT_FOUND = 404;\nexport const HOURS_IN_DAY = 24;\nexport const HOURS_IN_HALF_DAY = 12;\nexport const IMAGE_DEFAULT_DEVICE_SIZES = [\n\t640, 750, 828, 1080, 1200, 1920, 2048, 3840\n];\nexport const IMAGE_DEFAULT_IMAGE_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];\nexport const IMAGE_DEFAULT_QUALITY = 75;\nexport const IMAGE_GLOB_SUFFIX_LENGTH = 2;\nexport const INSTANCE_PROBE_TIMEOUT_MS = 250;\nexport const MAX_ERROR_LENGTH = 200;\nexport const MAX_RECONNECT_ATTEMPTS = 60;\nexport const MILLISECONDS_IN_A_SECOND = 1000;\nexport const MINUTES_IN_AN_HOUR = 60;\nexport const SECONDS_IN_A_MINUTE = 60;\nexport const MILLISECONDS_IN_A_MINUTE =\n\tMILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;\nexport const MILLISECONDS_IN_A_DAY =\n\tMILLISECONDS_IN_A_SECOND *\n\tSECONDS_IN_A_MINUTE *\n\tMINUTES_IN_AN_HOUR *\n\tHOURS_IN_DAY;\nexport const OVERLAY_FADE_DURATION_MS = 150;\nexport const PING_INTERVAL_MS = 30_000;\nexport const LIST_LOG_TAIL_MAX_BYTES = 65_536;\nexport const LIST_TUI_COLUMN_GAP = 2;\nexport const LIST_TUI_DEFAULT_HEIGHT = 28;\nexport const LIST_TUI_DEFAULT_WIDTH = 100;\nexport const LIST_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30;\nexport const LIST_TUI_FOOTER_LINE_COUNT = 2;\nexport const LIST_TUI_MARKER_WIDTH = 2;\nexport const LIST_TUI_MIN_LOG_HEIGHT = 3;\nexport const LIST_TUI_MIN_URL_WIDTH = 16;\nexport const LIST_TUI_RENDER_DEBOUNCE_MS = 16;\nexport const LIST_TUI_STATUS_MESSAGE_TIMEOUT_MS = 4000;\nexport const LIST_WATCH_REFRESH_MS = 1000;\nexport const RAF_BATCH_COUNT = 3;\nexport const RANDOM_ID_END_INDEX = 11;\nexport const REBUILD_BATCH_DELAY_MS = 10;\nexport const REBUILD_RELOAD_DELAY_MS = 200;\nexport const RECONNECT_INITIAL_DELAY_MS = 500;\nexport const RECONNECT_POLL_INTERVAL_MS = 300;\nexport const REACT_STREAM_SLOT_FAST_DELAY_MS = 5;\nexport const REACT_STREAM_SLOT_SLOW_DELAY_MS = 20;\nexport const SIGINT_EXIT_CODE = 130;\nexport const SIGTERM_EXIT_CODE = 143;\nexport const SVELTE_CSS_LOAD_TIMEOUT_MS = 500;\nexport const TIME_PRECISION = 2;\nexport const TWO_THIRDS = 2 / 3;\nexport const UNFOUND_INDEX = -1;\nexport const WEBSOCKET_NORMAL_CLOSURE = 1000;\n// Default Bun WebSocket idleTimeout (seconds) applied to every absolute server.\n// Long-lived sockets (voice intake, referee, realtime sync) sit idle during\n// greeting playback or while a user listens silently — no client→server frames.\n// Without an explicit value the WS idleTimeout falls back to Elysia's small\n// top-level serve default (~30s, closing at ~60s), which kills these sessions\n// mid-call with INACTIVE_CLIENT. 240s outlasts any greeting or think-pause and\n// gives a briefly-suspended tab time to wake and reconnect. Paired with Bun's\n// `sendPings` (protocol-level keepalive the browser answers without JS, so a\n// throttled background tab still responds). Bun's hard ceiling is 960s.\nexport const DEFAULT_WEBSOCKET_IDLE_TIMEOUT_SECONDS = 240;\n// HTTP idleTimeout for Bun.serve. Bun's DEFAULT is a hostile 10s for a\n// framework meant to host streaming/AI workloads: a long-lived SSE response\n// (or any long poll) that stays silent past 10s — e.g. an agentic AI turn\n// waiting on the model's first token after a large tool result inflates the\n// prompt — gets its socket reaped with no error, and the client hangs. 240s\n// mirrors the WS default and outlasts realistic model think-pauses; Bun's\n// hard ceiling for HTTP idleTimeout is 255s. Override per-app with the\n// ABSOLUTE_IDLE_TIMEOUT env var (seconds; 0 disables the timeout entirely).\nexport const DEFAULT_HTTP_IDLE_TIMEOUT_SECONDS = 240;\nexport const MAX_HTTP_IDLE_TIMEOUT_SECONDS = 255;\nexport const WORKSPACE_COMMAND_ARGS_OFFSET = 3;\nexport const WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30;\nexport const WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60;\nexport const WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5_000;\nexport const WORKSPACE_READY_PROBE_INTERVAL_MS = 250;\nexport const WORKSPACE_READY_TIMEOUT_MS = 30_000;\nexport const WORKSPACE_SHUTDOWN_TIMEOUT_MS = 10_000;\nexport const WORKSPACE_TUI_DEFAULT_HEIGHT = 28;\nexport const WORKSPACE_TUI_DEFAULT_WIDTH = 100;\nexport const WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30;\nexport const WORKSPACE_TUI_FOOTER_LINE_COUNT = 3;\nexport const WORKSPACE_TUI_MIN_LOG_HEIGHT = 3;\nexport const WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7;\nexport const WORKSPACE_TUI_MIN_TARGET_WIDTH = 8;\nexport const WORKSPACE_TUI_MIN_WRAP_WIDTH = 12;\nexport const WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3;\nexport const WORKSPACE_TUI_RECENT_LOG_LIMIT = 40;\nexport const WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16;\nexport const WORKSPACE_TUI_STATUS_WIDTH = 10;\nexport const WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6;\nexport const WORKSPACE_TUI_VISIBILITY_WIDTH = 8;\n",
6
6
  "import {\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION,\n\tMILLISECONDS_IN_A_MINUTE\n} from '../constants';\n\nexport const getDurationString = (duration: number) => {\n\tlet durationString;\n\n\tif (duration < MILLISECONDS_IN_A_SECOND) {\n\t\tdurationString = `${duration.toFixed(TIME_PRECISION)}ms`;\n\t} else if (duration < MILLISECONDS_IN_A_MINUTE) {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tconst totalSeconds = Math.round(duration / MILLISECONDS_IN_A_SECOND);\n\t\tconst minutes = Math.floor(totalSeconds / 60);\n\t\tconst seconds = totalSeconds % 60;\n\t\tdurationString =\n\t\t\tseconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`;\n\t}\n\n\treturn durationString;\n};\n",
@@ -13,6 +13,11 @@
13
13
  "import {\n\taccess,\n\tcopyFile,\n\tlstat,\n\tmkdir,\n\treadFile,\n\treaddir,\n\treadlink,\n\trealpath,\n\trename,\n\trm,\n\twriteFile\n} from 'node:fs/promises';\nimport { createHash, randomUUID } from 'node:crypto';\nimport {\n\tdirname,\n\tisAbsolute,\n\tjoin,\n\trelative,\n\tresolve,\n\tsep,\n\twin32\n} from 'node:path';\nimport {\n\tABSOLUTE_ANDROID_AVD_NAME,\n\tabsoluteManagedAndroidSdkRoot,\n\tdetectAbsoluteMobileHost,\n\tinspectAbsoluteMobileToolchain,\n\ttype AbsoluteMobileHost\n} from './emulatorDoctor';\nimport type { NormalizedAbsoluteMobileConfig } from './config';\nimport { writeAbsoluteCapacitorConfig } from './capacitorProject';\nimport { getDurationString } from '../utils/getDurationString';\n\nconst ANDROID_BOOT_TIMEOUT_MS = 180_000;\nconst ANDROID_BOOT_POLL_MS = 1_000;\nconst DEV_JOURNAL_FORMAT = 1;\nconst NATIVE_CACHE_FORMAT = 1;\nconst HASH_RADIX = 16;\nconst EXECUTABLE_MODE_MASK = 0o111;\nconst NATIVE_PUBLIC_PATH_SEGMENTS = 5;\nconst CAPACITOR_PROJECT_DIRECTORY_PATTERN =\n\t/project\\(['\"](:[^'\"]+)['\"]\\)\\.projectDir\\s*=\\s*new File\\(['\"]([^'\"]+)['\"]\\)/gu;\n\nexport type AbsoluteAndroidCommandOptions = {\n\tcwd?: string;\n\tenv?: Record<string, string | undefined>;\n\tsignal?: AbortSignal;\n};\n\nexport type AbsoluteAndroidCommandResult = {\n\texitCode: number;\n\tstderr: string;\n\tstdout: string;\n};\n\nexport type AbsoluteAndroidDevState =\n\t| 'booting'\n\t| 'building'\n\t| 'closed'\n\t| 'closing'\n\t| 'configuring'\n\t| 'connecting'\n\t| 'failed'\n\t| 'forwarding'\n\t| 'installing'\n\t| 'checking-native'\n\t| 'launching'\n\t| 'ready'\n\t| 'streaming-logs'\n\t| 'syncing';\n\nexport type AbsoluteAndroidNativeLogEntry = {\n\tlevel: 'debug' | 'error' | 'fatal' | 'info' | 'verbose' | 'warn';\n\tmessage: string;\n\ttag: string;\n};\n\ntype AbsoluteAndroidLogStream = {\n\tclose: () => Promise<void>;\n};\n\ntype AndroidDevJournal = {\n\tbackupPath: string;\n\tformat: number;\n\tmanifestBackupPath?: string;\n\tnativeConfigPath: string;\n\tnativeManifestPath?: string;\n};\n\ntype AndroidNativeCache = {\n\tappId: string;\n\tfingerprint: string;\n\tformat: number;\n\tinstallations: Record<string, string>;\n};\n\ntype AndroidInstalledPackage = {\n\tidentity: string;\n\tuid?: string;\n};\n\nexport type AbsoluteAndroidDevProject = {\n\tadb: string;\n\tandroidRoot: string;\n\tcap: string;\n\tconfig: NormalizedAbsoluteMobileConfig;\n\temulator: string;\n\thost: AbsoluteMobileHost;\n\tnativeDirectory: string;\n\tprojectRoot: string;\n};\n\nexport type AbsoluteAndroidDevSession = {\n\tclose: () => Promise<void>;\n\tnativeCacheHit: boolean;\n\trebuild: () => Promise<AbsoluteAndroidDevSession>;\n\trelaunch: () => Promise<void>;\n\tserial: string;\n\tstate: AbsoluteAndroidDevState;\n\tstartedEmulator: boolean;\n\ttimings: Record<string, number>;\n};\n\nexport type AbsoluteAndroidDevPhaseTiming = {\n\tdurationMs: number;\n\tphase: AbsoluteAndroidDevState;\n\ttotalMs: number;\n};\n\nconst ANDROID_TIMING_PHASES: Array<[string, string]> = [\n\t['syncing', 'Capacitor sync'],\n\t['configuring', 'dev config'],\n\t['fingerprinting', 'fingerprint'],\n\t['booting', 'emulator'],\n\t['connecting', 'device ready'],\n\t['forwarding', 'ADB reverse'],\n\t['checking-native', 'package check'],\n\t['building', 'Gradle'],\n\t['installing', 'install'],\n\t['launching', 'launch'],\n\t['streaming-logs', 'logs']\n];\n\nconst androidTimingSummary = (timings: Record<string, number>) =>\n\tANDROID_TIMING_PHASES.map(([phase, label]) => {\n\t\tconst duration = timings[phase];\n\t\tif (duration === undefined || label === undefined) return null;\n\n\t\treturn `${label} ${getDurationString(duration)}`;\n\t})\n\t\t.filter((value): value is string => value !== null)\n\t\t.join(', ');\n\nexport type PrepareAbsoluteAndroidDevOptions = {\n\tcreateNativeProject: boolean;\n\tprojectRoot: string;\n\trun?: (\n\t\tcommand: string[],\n\t\toptions?: AbsoluteAndroidCommandOptions\n\t) => Promise<number>;\n};\n\nexport type StartAbsoluteAndroidDevOptions = {\n\tcapture?: (\n\t\tcommand: string[],\n\t\toptions?: AbsoluteAndroidCommandOptions\n\t) => AbsoluteAndroidCommandResult;\n\tlog?: (message: string) => void;\n\tnativeLog?: (entry: AbsoluteAndroidNativeLogEntry) => void;\n\tonPhaseTiming?: (timing: AbsoluteAndroidDevPhaseTiming) => void;\n\tonStateChange?: (state: AbsoluteAndroidDevState) => void;\n\thttps?: boolean;\n\tport: number;\n\tproject: AbsoluteAndroidDevProject;\n\trun?: (\n\t\tcommand: string[],\n\t\toptions?: AbsoluteAndroidCommandOptions\n\t) => Promise<number>;\n\tsignal?: AbortSignal;\n\tsleep?: (milliseconds: number) => Promise<void>;\n\tspawn?: (\n\t\tcommand: string[],\n\t\toptions?: AbsoluteAndroidCommandOptions\n\t) => void;\n\tstartNativeLogs?: (\n\t\tcommand: string[],\n\t\toptions: AbsoluteAndroidCommandOptions,\n\t\tonLine: (line: string) => void\n\t) => AbsoluteAndroidLogStream;\n};\n\nconst pathExists = async (path: string) => {\n\ttry {\n\t\tawait access(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst forwardCommandOutput = (\n\tstream: ReadableStream<Uint8Array>,\n\tdestination: NodeJS.WriteStream\n) =>\n\tstream.pipeTo(\n\t\tnew WritableStream({\n\t\t\twrite: (chunk) => {\n\t\t\t\tdestination.write(chunk);\n\t\t\t}\n\t\t})\n\t);\n\nconst runCommand = async (\n\tcommand: string[],\n\toptions: AbsoluteAndroidCommandOptions = {}\n) => {\n\tconst subprocess = Bun.spawn(command, {\n\t\tcwd: options.cwd,\n\t\tenv: options.env,\n\t\tsignal: options.signal,\n\t\tstderr: 'pipe',\n\t\tstdin: 'ignore',\n\t\tstdout: 'pipe'\n\t});\n\tconst [exitCode] = await Promise.all([\n\t\tsubprocess.exited,\n\t\tforwardCommandOutput(subprocess.stdout, process.stdout),\n\t\tforwardCommandOutput(subprocess.stderr, process.stderr)\n\t]);\n\n\treturn exitCode;\n};\n\nconst captureCommand = (\n\tcommand: string[],\n\toptions: AbsoluteAndroidCommandOptions = {}\n) => {\n\ttry {\n\t\tconst result = Bun.spawnSync(command, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: options.env,\n\t\t\tstderr: 'pipe',\n\t\t\tstdout: 'pipe'\n\t\t});\n\n\t\treturn {\n\t\t\texitCode: result.exitCode,\n\t\t\tstderr: result.stderr.toString(),\n\t\t\tstdout: result.stdout.toString()\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\texitCode: 1,\n\t\t\tstderr: error instanceof Error ? error.message : String(error),\n\t\t\tstdout: ''\n\t\t};\n\t}\n};\n\nconst spawnCommand = (\n\tcommand: string[],\n\toptions: AbsoluteAndroidCommandOptions = {}\n) => {\n\tBun.spawn(command, {\n\t\tcwd: options.cwd,\n\t\tenv: options.env,\n\t\tstderr: 'ignore',\n\t\tstdin: 'ignore',\n\t\tstdout: 'ignore'\n\t});\n};\n\nconst LOGCAT_LINE_PATTERN =\n\t/^\\d{2}-\\d{2}\\s+\\d{2}:\\d{2}:\\d{2}\\.\\d+\\s+\\d+\\s+\\d+\\s+([VDIWEF])\\s+([^:]+):\\s?(.*)$/u;\nconst ASCII_CONTROL_END = 31;\nconst ASCII_DELETE = 127;\nconst ASCII_ESCAPE = 27;\nconst ASCII_HORIZONTAL_TAB = 9;\nconst LOGCAT_MESSAGE_CAPTURE = 3;\nconst UNFOUND_INDEX = -1;\nconst ANSI_SEQUENCE_PATTERN = new RegExp(\n\t`${String.fromCharCode(ASCII_ESCAPE)}(?:\\\\[[0-?]*[ -/]*[@-~]|[@-_])`,\n\t'gu'\n);\nconst AUTHORIZATION_SECRET_PATTERN =\n\t/([\"']?(?:authorization|proxy-authorization)[\"']?\\s*[:=]\\s*)(?:Bearer|Basic)\\s+[^\\s,;]+/giu;\nconst BEARER_SECRET_PATTERN = /\\b(Bearer)\\s+[^\\s,;]+/giu;\nconst COOKIE_SECRET_PATTERN =\n\t/([\"']?(?:cookie|set-cookie)[\"']?\\s*[:=]\\s*).*/giu;\nconst NAMED_SECRET_PATTERN =\n\t/([\"']?(?:access_token|refresh_token|id_token|client_secret|password|code|token)[\"']?\\s*[:=]\\s*)(\"[^\"]*\"|'[^']*'|[^\\s&,;]+)/giu;\nconst QUERY_SECRET_PATTERN = /([?&](?:code|token)=)[^&\\s]+/giu;\n\nexport const redactAbsoluteAndroidLog = (value: string) =>\n\tvalue\n\t\t.replace(ANSI_SEQUENCE_PATTERN, '')\n\t\t.split('')\n\t\t.filter((character) => {\n\t\t\tconst code = character.charCodeAt(0);\n\n\t\t\treturn (\n\t\t\t\tcode === ASCII_HORIZONTAL_TAB ||\n\t\t\t\t(code > ASCII_CONTROL_END && code !== ASCII_DELETE)\n\t\t\t);\n\t\t})\n\t\t.join('')\n\t\t.replace(AUTHORIZATION_SECRET_PATTERN, '$1[REDACTED]')\n\t\t.replace(BEARER_SECRET_PATTERN, '$1 [REDACTED]')\n\t\t.replace(COOKIE_SECRET_PATTERN, '$1[REDACTED]')\n\t\t.replace(NAMED_SECRET_PATTERN, '$1[REDACTED]')\n\t\t.replace(QUERY_SECRET_PATTERN, '$1[REDACTED]');\n\nconst androidLogLevel = (level: string) => {\n\tif (level === 'V') return 'verbose';\n\tif (level === 'D') return 'debug';\n\tif (level === 'W') return 'warn';\n\tif (level === 'E') return 'error';\n\tif (level === 'F') return 'fatal';\n\n\treturn 'info';\n};\n\nconst emitCompleteLogLines = (\n\tvalue: string,\n\tonLine: (line: string) => void\n) => {\n\tlet buffered = value;\n\tlet newlineIndex = buffered.indexOf('\\n');\n\twhile (newlineIndex !== UNFOUND_INDEX) {\n\t\tonLine(buffered.slice(0, newlineIndex).replace(/\\r$/u, ''));\n\t\tbuffered = buffered.slice(newlineIndex + 1);\n\t\tnewlineIndex = buffered.indexOf('\\n');\n\t}\n\n\treturn buffered;\n};\n\nconst decodeLogStream = () => {\n\tconst decoder = new TextDecoder();\n\n\treturn new TransformStream<Uint8Array, string>({\n\t\tflush: (controller) => {\n\t\t\tconst remaining = decoder.decode();\n\t\t\tif (remaining) controller.enqueue(remaining);\n\t\t},\n\t\ttransform: (chunk, controller) => {\n\t\t\tconst decoded = decoder.decode(chunk, { stream: true });\n\t\t\tif (decoded) controller.enqueue(decoded);\n\t\t}\n\t});\n};\n\nexport const isIgnorableAbsoluteAndroidLog = (\n\tentry: AbsoluteAndroidNativeLogEntry\n) =>\n\tentry.tag === 'Capacitor/Console' &&\n\tentry.message.includes('Error injecting safe area CSS:') &&\n\tentry.message.includes(\"Cannot read properties of null (reading 'style')\");\nexport const parseAbsoluteAndroidLogLine = (\n\tline: string\n): AbsoluteAndroidNativeLogEntry | null => {\n\tconst sanitized = redactAbsoluteAndroidLog(line).trim();\n\tif (!sanitized) return null;\n\tconst match = LOGCAT_LINE_PATTERN.exec(sanitized);\n\tif (!match) {\n\t\treturn { level: 'info', message: sanitized, tag: 'logcat' };\n\t}\n\n\treturn {\n\t\tlevel: androidLogLevel(match[1] ?? 'I'),\n\t\tmessage: match[LOGCAT_MESSAGE_CAPTURE] ?? '',\n\t\ttag: match[2]?.trim() || 'android'\n\t};\n};\n\nconst consumeLogLines = async (\n\tstream: ReadableStream<Uint8Array>,\n\tonLine: (line: string) => void\n) => {\n\tlet buffered = '';\n\tawait stream.pipeThrough(decodeLogStream()).pipeTo(\n\t\tnew WritableStream({\n\t\t\twrite: (chunk) => {\n\t\t\t\tbuffered = emitCompleteLogLines(buffered + chunk, onLine);\n\t\t\t}\n\t\t})\n\t);\n\tif (buffered) {\n\t\tonLine(buffered.replace(/\\r$/u, ''));\n\t}\n};\n\nconst startNativeLogStream = (\n\tcommand: string[],\n\toptions: AbsoluteAndroidCommandOptions,\n\tonLine: (line: string) => void\n): AbsoluteAndroidLogStream => {\n\tconst subprocess = Bun.spawn(command, {\n\t\tenv: options.env,\n\t\tstderr: 'pipe',\n\t\tstdin: 'ignore',\n\t\tstdout: 'pipe'\n\t});\n\tconst output = Promise.all([\n\t\tconsumeLogLines(subprocess.stdout, onLine),\n\t\tconsumeLogLines(subprocess.stderr, onLine)\n\t]);\n\tvoid output.catch(() => undefined);\n\n\treturn {\n\t\tclose: async () => {\n\t\t\ttry {\n\t\t\t\tsubprocess.kill();\n\t\t\t} catch {\n\t\t\t\t/* logcat already exited */\n\t\t\t}\n\t\t\tawait Promise.all([\n\t\t\t\tsubprocess.exited.catch(() => undefined),\n\t\t\t\toutput.catch(() => undefined)\n\t\t\t]);\n\t\t}\n\t};\n};\n\nconst requireSuccess = async (\n\tcommand: string[],\n\tlabel: string,\n\trun: NonNullable<StartAbsoluteAndroidDevOptions['run']>,\n\toptions?: AbsoluteAndroidCommandOptions\n) => {\n\tconst exitCode = await run(command, options);\n\tthrowIfAborted(options?.signal);\n\tif (exitCode !== 0) throw new Error(`${label} failed (exit ${exitCode}).`);\n};\n\nconst throwIfAborted = (signal?: AbortSignal) => {\n\tif (!signal?.aborted) return;\n\tthrow new DOMException(\n\t\t'Android development startup was cancelled.',\n\t\t'AbortError'\n\t);\n};\n\nconst journalPaths = (projectRoot: string) => {\n\tconst root = join(projectRoot, '.absolutejs', 'mobile', 'dev-session');\n\n\treturn {\n\t\tbackup: join(root, 'capacitor.config.backup.json'),\n\t\tjournal: join(root, 'journal.json'),\n\t\tmanifestBackup: join(root, 'AndroidManifest.backup.xml'),\n\t\troot\n\t};\n};\n\nconst isInside = (root: string, path: string) => {\n\tconst resolvedRoot = resolve(root);\n\tconst resolvedPath = resolve(path);\n\tconst relativePath = relative(resolvedRoot, resolvedPath);\n\n\treturn (\n\t\trelativePath === '' ||\n\t\t(relativePath !== '..' &&\n\t\t\t!relativePath.startsWith(`..${sep}`) &&\n\t\t\t!isAbsolute(relativePath))\n\t);\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst nativeCachePath = (projectRoot: string) =>\n\tjoin(projectRoot, '.absolutejs', 'mobile', 'cache', 'android-debug.json');\n\nconst parseNativeCache = (value: unknown): AndroidNativeCache | null => {\n\tif (!isRecord(value)) return null;\n\tconst { appId, fingerprint, format, installations } = value;\n\tif (\n\t\tformat !== NATIVE_CACHE_FORMAT ||\n\t\ttypeof appId !== 'string' ||\n\t\ttypeof fingerprint !== 'string' ||\n\t\t!isRecord(installations) ||\n\t\t!Object.values(installations).every(\n\t\t\t(identity) => typeof identity === 'string'\n\t\t)\n\t) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tappId,\n\t\tfingerprint,\n\t\tformat,\n\t\tinstallations: Object.fromEntries(\n\t\t\tObject.entries(installations).map(([serial, identity]) => [\n\t\t\t\tserial,\n\t\t\t\tString(identity)\n\t\t\t])\n\t\t)\n\t};\n};\n\nconst readNativeCache = async (projectRoot: string) =>\n\treadFile(nativeCachePath(projectRoot), 'utf8')\n\t\t.then((source) => parseNativeCache(JSON.parse(source)))\n\t\t.catch(() => null);\n\nconst writeNativeCache = async (\n\tprojectRoot: string,\n\tcache: AndroidNativeCache\n) => {\n\tconst destination = nativeCachePath(projectRoot);\n\tconst temporary = `${destination}.${process.pid}.${randomUUID()}.tmp`;\n\tawait mkdir(dirname(destination), { recursive: true });\n\ttry {\n\t\tawait writeFile(temporary, `${JSON.stringify(cache, null, '\\t')}\\n`, {\n\t\t\tflag: 'wx'\n\t\t});\n\t\tawait rename(temporary, destination);\n\t} finally {\n\t\tawait rm(temporary, { force: true }).catch(() => undefined);\n\t}\n};\n\nconst nativeDependencySources = async (nativeDirectory: string) => {\n\tconst settings = await readFile(\n\t\tjoin(nativeDirectory, 'capacitor.settings.gradle'),\n\t\t'utf8'\n\t);\n\tconst pattern = new RegExp(\n\t\tCAPACITOR_PROJECT_DIRECTORY_PATTERN.source,\n\t\tCAPACITOR_PROJECT_DIRECTORY_PATTERN.flags\n\t);\n\tconst dependencies = [...settings.matchAll(pattern)].map((match) => ({\n\t\tname: (match[1] ?? '').slice(1).replaceAll(/[^a-zA-Z0-9_.-]/gu, '_'),\n\t\tsource: resolve(nativeDirectory, match[2] ?? '')\n\t}));\n\tif (dependencies.length === 0) {\n\t\tthrow new Error(\n\t\t\t'Capacitor Android settings did not declare any native dependencies.'\n\t\t);\n\t}\n\n\treturn { dependencies, settings };\n};\n\nconst shouldIgnoreNativePath = (\n\trelativePath: string,\n\tignorePublicBundle: boolean\n) => {\n\tconst parts = relativePath.split(sep);\n\tif (\n\t\tparts.includes('.gradle') ||\n\t\tparts.includes('build') ||\n\t\tparts.includes('.absolutejs-dependencies')\n\t) {\n\t\treturn true;\n\t}\n\n\treturn (\n\t\tignorePublicBundle &&\n\t\tparts.slice(0, NATIVE_PUBLIC_PATH_SEGMENTS).join('/') ===\n\t\t\t'app/src/main/assets/public'\n\t);\n};\n\ntype NativeDirectoryCollector = (\n\troot: string,\n\tlabel: string,\n\tdirectory: string,\n\tignorePublicBundle: boolean\n) => Promise<string[]>;\n\nconst collectNativePath = async (\n\troot: string,\n\tlabel: string,\n\tpath: string,\n\tisDirectory: boolean,\n\tisFile: boolean,\n\tisSymbolicLink: boolean,\n\tignorePublicBundle: boolean\n) => {\n\tconst relativePath = relative(root, path);\n\tif (shouldIgnoreNativePath(relativePath, ignorePublicBundle)) return [];\n\tconst identity = `${label}:${relativePath.split(sep).join('/')}\\0`;\n\tif (isDirectory) {\n\t\treturn collectNativeDirectory(root, label, path, ignorePublicBundle);\n\t}\n\tif (isSymbolicLink) {\n\t\treturn [`link\\0${identity}${await readlink(path)}\\0`];\n\t}\n\tif (!isFile) return [];\n\tconst [metadata, contents] = await Promise.all([\n\t\tlstat(path),\n\t\treadFile(path)\n\t]);\n\tconst contentDigest = createHash('sha256').update(contents).digest('hex');\n\n\treturn [\n\t\t`file\\0${identity}${metadata.mode & EXECUTABLE_MODE_MASK}\\0${contentDigest}\\0`\n\t];\n};\n\nconst collectNativeDirectory: NativeDirectoryCollector = async (\n\troot,\n\tlabel,\n\tdirectory,\n\tignorePublicBundle\n) => {\n\tconst entries = await readdir(directory, { withFileTypes: true });\n\tentries.sort((left, right) => left.name.localeCompare(right.name));\n\tconst records = await Promise.all(\n\t\tentries.map((entry) =>\n\t\t\tcollectNativePath(\n\t\t\t\troot,\n\t\t\t\tlabel,\n\t\t\t\tjoin(directory, entry.name),\n\t\t\t\tentry.isDirectory(),\n\t\t\t\tentry.isFile(),\n\t\t\t\tentry.isSymbolicLink(),\n\t\t\t\tignorePublicBundle\n\t\t\t)\n\t\t)\n\t);\n\n\treturn records.flat();\n};\n\nconst hashNativeTree = async (\n\troot: string,\n\tlabel: string,\n\tignorePublicBundle: boolean\n) => {\n\tconst resolvedRoot = await realpath(root);\n\tconst records = await collectNativeDirectory(\n\t\tresolvedRoot,\n\t\tlabel,\n\t\tresolvedRoot,\n\t\tignorePublicBundle\n\t);\n\n\treturn createHash('sha256').update(records.join('')).digest('hex');\n};\n\ntype NativeFingerprintRoot = {\n\tignorePublicBundle: boolean;\n\tlabel: string;\n\tsource: string;\n};\n\nexport const fingerprintAbsoluteAndroidNativeProject = async (\n\tproject: Pick<AbsoluteAndroidDevProject, 'nativeDirectory'>\n) => {\n\tconst { dependencies } = await nativeDependencySources(\n\t\tproject.nativeDirectory\n\t);\n\tconst roots: NativeFingerprintRoot[] = [\n\t\t{\n\t\t\tignorePublicBundle: true,\n\t\t\tlabel: 'android',\n\t\t\tsource: project.nativeDirectory\n\t\t},\n\t\t...dependencies\n\t\t\t.sort((left, right) => left.name.localeCompare(right.name))\n\t\t\t.map((dependency) => ({\n\t\t\t\tignorePublicBundle: false,\n\t\t\t\tlabel: `dependency:${dependency.name}`,\n\t\t\t\tsource: dependency.source\n\t\t\t}))\n\t];\n\tconst treeDigests = await Promise.all(\n\t\troots.map((root) =>\n\t\t\thashNativeTree(root.source, root.label, root.ignorePublicBundle)\n\t\t)\n\t);\n\n\treturn createHash('sha256').update(treeDigests.join('\\0')).digest('hex');\n};\n\nconst parseJournal = (value: unknown): AndroidDevJournal | null => {\n\tif (typeof value !== 'object' || value === null) return null;\n\tconst backupPath = Reflect.get(value, 'backupPath');\n\tconst format = Reflect.get(value, 'format');\n\tconst manifestBackupPath = Reflect.get(value, 'manifestBackupPath');\n\tconst nativeConfigPath = Reflect.get(value, 'nativeConfigPath');\n\tconst nativeManifestPath = Reflect.get(value, 'nativeManifestPath');\n\tif (\n\t\ttypeof backupPath !== 'string' ||\n\t\tformat !== DEV_JOURNAL_FORMAT ||\n\t\ttypeof nativeConfigPath !== 'string'\n\t) {\n\t\treturn null;\n\t}\n\tif (\n\t\t(manifestBackupPath !== undefined ||\n\t\t\tnativeManifestPath !== undefined) &&\n\t\t(typeof manifestBackupPath !== 'string' ||\n\t\t\ttypeof nativeManifestPath !== 'string')\n\t) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tbackupPath,\n\t\tformat,\n\t\tmanifestBackupPath,\n\t\tnativeConfigPath,\n\t\tnativeManifestPath\n\t};\n};\n\nexport const repairAbsoluteAndroidDevSession = async (projectRoot: string) => {\n\tconst paths = journalPaths(projectRoot);\n\tif (!(await pathExists(paths.journal))) {\n\t\tawait rm(paths.root, { force: true, recursive: true });\n\n\t\treturn false;\n\t}\n\tconst journal = await readFile(paths.journal, 'utf8')\n\t\t.then((source) => parseJournal(JSON.parse(source)))\n\t\t.catch(() => null);\n\tif (\n\t\t!journal ||\n\t\t!isInside(projectRoot, journal.nativeConfigPath) ||\n\t\t!isInside(paths.root, journal.backupPath) ||\n\t\t(journal.nativeManifestPath !== undefined &&\n\t\t\t!isInside(projectRoot, journal.nativeManifestPath)) ||\n\t\t(journal.manifestBackupPath !== undefined &&\n\t\t\t!isInside(paths.root, journal.manifestBackupPath))\n\t) {\n\t\tthrow new Error(\n\t\t\t`Refusing unsafe or invalid mobile dev journal at ${paths.journal}.`\n\t\t);\n\t}\n\tif (await pathExists(journal.backupPath)) {\n\t\tawait mkdir(dirname(journal.nativeConfigPath), { recursive: true });\n\t\tawait copyFile(journal.backupPath, journal.nativeConfigPath);\n\t}\n\tif (\n\t\tjournal.manifestBackupPath &&\n\t\tjournal.nativeManifestPath &&\n\t\t(await pathExists(journal.manifestBackupPath))\n\t) {\n\t\tawait mkdir(dirname(journal.nativeManifestPath), { recursive: true });\n\t\tawait copyFile(journal.manifestBackupPath, journal.nativeManifestPath);\n\t}\n\tawait rm(paths.root, { force: true, recursive: true });\n\n\treturn true;\n};\n\nconst androidDevelopmentManifest = (source: string, cleartext: boolean) => {\n\tif (!cleartext) return source;\n\tif (/android:usesCleartextTraffic=[\"'][^\"']*[\"']/u.test(source)) {\n\t\treturn source.replace(\n\t\t\t/android:usesCleartextTraffic=[\"'][^\"']*[\"']/u,\n\t\t\t'android:usesCleartextTraffic=\"true\"'\n\t\t);\n\t}\n\n\treturn source.replace(\n\t\t'<application',\n\t\t'<application\\n android:usesCleartextTraffic=\"true\"'\n\t);\n};\n\nconst writeDevConfig = async (\n\tprojectRoot: string,\n\tnativeConfigPath: string,\n\tnativeManifestPath: string,\n\tport: number,\n\thttps: boolean,\n\tentry: string\n) => {\n\tconst paths = journalPaths(projectRoot);\n\tawait repairAbsoluteAndroidDevSession(projectRoot);\n\tconst source = await readFile(nativeConfigPath, 'utf8');\n\tconst manifestSource = await readFile(nativeManifestPath, 'utf8');\n\tconst parsed: unknown = JSON.parse(source);\n\tif (!isRecord(parsed)) {\n\t\tthrow new Error(\n\t\t\t`Invalid Capacitor native config at ${nativeConfigPath}.`\n\t\t);\n\t}\n\tawait mkdir(paths.root, { recursive: true });\n\tawait writeFile(paths.backup, source, { flag: 'wx' });\n\tawait writeFile(paths.manifestBackup, manifestSource, { flag: 'wx' });\n\tconst journal: AndroidDevJournal = {\n\t\tbackupPath: paths.backup,\n\t\tformat: DEV_JOURNAL_FORMAT,\n\t\tmanifestBackupPath: paths.manifestBackup,\n\t\tnativeConfigPath,\n\t\tnativeManifestPath\n\t};\n\tawait writeFile(paths.journal, `${JSON.stringify(journal, null, '\\t')}\\n`, {\n\t\tflag: 'wx'\n\t});\n\tconst currentServer = parsed.server;\n\tconst developmentUrl = new URL(\n\t\t`${https ? 'https' : 'http'}://localhost:${port}${entry}`\n\t);\n\tdevelopmentUrl.searchParams.set('__absolute_target', 'capacitor-android');\n\tparsed.server = {\n\t\t...(typeof currentServer === 'object' && currentServer !== null\n\t\t\t? currentServer\n\t\t\t: {}),\n\t\tcleartext: !https,\n\t\turl: developmentUrl.href\n\t};\n\tawait writeFile(\n\t\tnativeConfigPath,\n\t\t`${JSON.stringify(parsed, null, '\\t')}\\n`\n\t);\n\tawait writeFile(\n\t\tnativeManifestPath,\n\t\tandroidDevelopmentManifest(manifestSource, !https)\n\t);\n};\n\nexport const parseAdbDevices = (output: string) =>\n\toutput\n\t\t.split(/\\r?\\n/)\n\t\t.slice(1)\n\t\t.map((line) => line.trim().split(/\\s+/, 2))\n\t\t.filter(\n\t\t\t(parts): parts is [string, string] =>\n\t\t\t\tparts.length === 2 && parts[1] === 'device'\n\t\t)\n\t\t.map(([serial]) => serial);\n\nconst isManagedEmulatorSerial = (\n\tserial: string,\n\tadb: string,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tif (!serial.startsWith('emulator-')) return false;\n\tconst avd = capture([adb, '-s', serial, 'emu', 'avd', 'name'], { env });\n\n\treturn (\n\t\tavd.exitCode === 0 &&\n\t\tavd.stdout\n\t\t\t.split(/\\r?\\n/)\n\t\t\t.map((value) => value.trim())\n\t\t\t.includes(ABSOLUTE_ANDROID_AVD_NAME)\n\t);\n};\n\nconst managedEmulatorSerial = (\n\tadb: string,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tconst devices = capture([adb, 'devices'], { env });\n\tif (devices.exitCode !== 0) return undefined;\n\n\treturn parseAdbDevices(devices.stdout).find((serial) =>\n\t\tisManagedEmulatorSerial(serial, adb, capture, env)\n\t);\n};\n\nconst completedBootSerial = (\n\tproject: AbsoluteAndroidDevProject,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tconst serial = managedEmulatorSerial(project.adb, capture, env);\n\tif (!serial) return undefined;\n\tconst booted = capture(\n\t\t[project.adb, '-s', serial, 'shell', 'getprop', 'sys.boot_completed'],\n\t\t{ env }\n\t);\n\n\treturn booted.exitCode === 0 && booted.stdout.trim() === '1'\n\t\t? serial\n\t\t: undefined;\n};\n\nconst preferredCompletedBootSerial = (\n\tproject: AbsoluteAndroidDevProject,\n\tserial: string,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tconst booted = capture(\n\t\t[project.adb, '-s', serial, 'shell', 'getprop', 'sys.boot_completed'],\n\t\t{ env }\n\t);\n\n\treturn booted.exitCode === 0 && booted.stdout.trim() === '1'\n\t\t? serial\n\t\t: undefined;\n};\n\nconst waitForManagedEmulator = async (\n\tproject: AbsoluteAndroidDevProject,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tsleep: NonNullable<StartAbsoluteAndroidDevOptions['sleep']>,\n\tenv: Record<string, string | undefined>,\n\tsignal?: AbortSignal,\n\tpreferredSerial?: string\n) => {\n\tconst deadline = Date.now() + ANDROID_BOOT_TIMEOUT_MS;\n\tlet firstSerial = preferredSerial;\n\tconst poll = async () => {\n\t\tthrowIfAborted(signal);\n\t\tconst serial = firstSerial\n\t\t\t? preferredCompletedBootSerial(project, firstSerial, capture, env)\n\t\t\t: completedBootSerial(project, capture, env);\n\t\tfirstSerial = undefined;\n\t\tif (serial) return serial;\n\t\tif (Date.now() >= deadline) {\n\t\t\tthrow new Error(\n\t\t\t\t`Android emulator ${ABSOLUTE_ANDROID_AVD_NAME} did not finish booting within ${ANDROID_BOOT_TIMEOUT_MS / ANDROID_BOOT_POLL_MS}s.`\n\t\t\t);\n\t\t}\n\t\tawait sleep(ANDROID_BOOT_POLL_MS);\n\n\t\treturn poll();\n\t};\n\n\treturn poll();\n};\n\nconst windowsPathFromWsl = (\n\tpath: string,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>\n) => {\n\tconst result = capture(['wslpath', '-w', path]);\n\tif (result.exitCode !== 0 || !result.stdout.trim()) {\n\t\tthrow new Error(`Could not translate WSL path for Windows: ${path}`);\n\t}\n\n\treturn result.stdout.trim();\n};\n\ntype WindowsGradleDependency = {\n\tname: string;\n\twindowsSource: string;\n};\n\nconst mirroredCapacitorDependencies = async (\n\tproject: Pick<AbsoluteAndroidDevProject, 'nativeDirectory'>,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>\n) => {\n\tconst settingsPath = join(\n\t\tproject.nativeDirectory,\n\t\t'capacitor.settings.gradle'\n\t);\n\tconst settings = await readFile(settingsPath, 'utf8');\n\tconst dependencies: WindowsGradleDependency[] = [];\n\tconst rewrittenSettings = settings.replace(\n\t\tCAPACITOR_PROJECT_DIRECTORY_PATTERN,\n\t\t(_statement, projectName: string, sourcePath: string) => {\n\t\t\tconst name = projectName\n\t\t\t\t.slice(1)\n\t\t\t\t.replaceAll(/[^a-zA-Z0-9_.-]/gu, '_');\n\t\t\tconst source = resolve(project.nativeDirectory, sourcePath);\n\t\t\tdependencies.push({\n\t\t\t\tname,\n\t\t\t\twindowsSource: windowsPathFromWsl(source, capture)\n\t\t\t});\n\n\t\t\treturn `project('${projectName}').projectDir = new File('./.absolutejs-dependencies/${name}')`;\n\t\t}\n\t);\n\tif (dependencies.length === 0) {\n\t\tthrow new Error(\n\t\t\t'Capacitor Android settings did not declare any native dependencies.'\n\t\t);\n\t}\n\n\treturn { dependencies, rewrittenSettings };\n};\n\nconst encodedWindowsGradleCommand = (\n\twindowsSource: string,\n\twindowsDirectory: string,\n\twindowsAndroidRoot: string,\n\tdependencies: WindowsGradleDependency[],\n\trewrittenSettings: string,\n\ttask: AbsoluteAndroidGradleTask,\n\tgradleArguments: readonly string[]\n) => {\n\tconst sourceDirectory = Buffer.from(windowsSource, 'utf8').toString(\n\t\t'base64'\n\t);\n\tconst buildDirectory = Buffer.from(windowsDirectory, 'utf8').toString(\n\t\t'base64'\n\t);\n\tconst androidRoot = Buffer.from(windowsAndroidRoot, 'utf8').toString(\n\t\t'base64'\n\t);\n\tconst dependencyData = Buffer.from(\n\t\tJSON.stringify(dependencies),\n\t\t'utf8'\n\t).toString('base64');\n\tconst settingsData = Buffer.from(rewrittenSettings, 'utf8').toString(\n\t\t'base64'\n\t);\n\tconst argumentsData = Buffer.from(\n\t\tJSON.stringify(gradleArguments),\n\t\t'utf8'\n\t).toString('base64');\n\tconst source = [\n\t\t\"$ErrorActionPreference = 'Stop'\",\n\t\t`$source = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${sourceDirectory}'))`,\n\t\t`$directory = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${buildDirectory}'))`,\n\t\t`$androidHome = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${androidRoot}'))`,\n\t\t`$dependencies = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${dependencyData}')) | ConvertFrom-Json`,\n\t\t`$settings = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${settingsData}'))`,\n\t\t`$gradleArguments = @([Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${argumentsData}')) | ConvertFrom-Json)`,\n\t\t'$env:ANDROID_HOME = $androidHome',\n\t\t'$env:ANDROID_SDK_ROOT = $androidHome',\n\t\t'New-Item -ItemType Directory -Force -Path $directory | Out-Null',\n\t\t'& robocopy.exe $source $directory /MIR /XD .gradle build .absolutejs-dependencies /NFL /NDL /NJH /NJS /NP',\n\t\t'$copyExit = $LASTEXITCODE',\n\t\t'if ($copyExit -ge 8) { exit $copyExit }',\n\t\t\"foreach ($dependency in @($dependencies)) { $target = Join-Path $directory ('.absolutejs-dependencies\\\\' + $dependency.name); New-Item -ItemType Directory -Force -Path $target | Out-Null; & robocopy.exe $dependency.windowsSource $target /MIR /XD .gradle build /NFL /NDL /NJH /NJS /NP; if ($LASTEXITCODE -ge 8) { exit $LASTEXITCODE } }\",\n\t\t\"[IO.File]::WriteAllText((Join-Path $directory 'capacitor.settings.gradle'), $settings)\",\n\t\t\"$wrapper = Join-Path $directory 'gradlew.bat'\",\n\t\t`& $wrapper --no-daemon --console=plain -p $directory @gradleArguments ${task}`,\n\t\t'if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }',\n\t\t'exit 0'\n\t].join('; ');\n\n\treturn Buffer.from(source, 'utf16le').toString('base64');\n};\n\nexport type AbsoluteAndroidGradleTask =\n\t| 'assembleDebug'\n\t| 'assembleRelease'\n\t| 'bundleRelease';\n\nexport type BuildAbsoluteAndroidGradleOptions = {\n\tcapture?: NonNullable<StartAbsoluteAndroidDevOptions['capture']>;\n\tenv?: Record<string, string | undefined>;\n\tgradleArguments?: readonly string[];\n\tproject: Pick<\n\t\tAbsoluteAndroidDevProject,\n\t\t'androidRoot' | 'config' | 'host' | 'nativeDirectory' | 'projectRoot'\n\t>;\n\trun?: NonNullable<StartAbsoluteAndroidDevOptions['run']>;\n\tsignal?: AbortSignal;\n\ttask: AbsoluteAndroidGradleTask;\n};\n\nconst gradleArtifactPath = (\n\tnativeDirectory: string,\n\ttask: AbsoluteAndroidGradleTask,\n\twindows = false\n) => {\n\tconst pathJoin = windows ? win32.join : join;\n\tif (task === 'assembleDebug') {\n\t\treturn pathJoin(\n\t\t\tnativeDirectory,\n\t\t\t'app',\n\t\t\t'build',\n\t\t\t'outputs',\n\t\t\t'apk',\n\t\t\t'debug',\n\t\t\t'app-debug.apk'\n\t\t);\n\t}\n\tif (task === 'assembleRelease') {\n\t\treturn pathJoin(\n\t\t\tnativeDirectory,\n\t\t\t'app',\n\t\t\t'build',\n\t\t\t'outputs',\n\t\t\t'apk',\n\t\t\t'release',\n\t\t\t'app-release.apk'\n\t\t);\n\t}\n\n\treturn pathJoin(\n\t\tnativeDirectory,\n\t\t'app',\n\t\t'build',\n\t\t'outputs',\n\t\t'bundle',\n\t\t'release',\n\t\t'app-release.aab'\n\t);\n};\n\nconst resolveGradleArtifactPath = async (\n\tnativeDirectory: string,\n\ttask: AbsoluteAndroidGradleTask\n) => {\n\tconst primary = gradleArtifactPath(nativeDirectory, task);\n\tif (task !== 'assembleRelease' || (await pathExists(primary))) {\n\t\treturn primary;\n\t}\n\n\treturn join(\n\t\tnativeDirectory,\n\t\t'app',\n\t\t'build',\n\t\t'outputs',\n\t\t'apk',\n\t\t'release',\n\t\t'app-release-unsigned.apk'\n\t);\n};\n\nexport const buildAbsoluteAndroidGradleArtifact = async (\n\toptions: BuildAbsoluteAndroidGradleOptions\n) => {\n\tconst { project, task } = options;\n\tconst capture = options.capture ?? captureCommand;\n\tconst run = options.run ?? runCommand;\n\tconst env = options.env ?? process.env;\n\tconst gradleArguments = options.gradleArguments ?? [];\n\tif (project.host === 'wsl') {\n\t\tconst windowsSource = windowsPathFromWsl(\n\t\t\tproject.nativeDirectory,\n\t\t\tcapture\n\t\t);\n\t\tconst buildId = Bun.hash(project.projectRoot).toString(HASH_RADIX);\n\t\tconst managedBuildDirectory = resolve(\n\t\t\tproject.androidRoot,\n\t\t\t'..',\n\t\t\t'..',\n\t\t\t'Builds',\n\t\t\t`${project.config.appId}-${buildId}`\n\t\t);\n\t\tconst windowsDirectory = windowsPathFromWsl(\n\t\t\tmanagedBuildDirectory,\n\t\t\tcapture\n\t\t);\n\t\tconst windowsAndroidRoot = windowsPathFromWsl(\n\t\t\tproject.androidRoot,\n\t\t\tcapture\n\t\t);\n\t\tconst { dependencies, rewrittenSettings } =\n\t\t\tawait mirroredCapacitorDependencies(project, capture);\n\t\tawait requireSuccess(\n\t\t\t[\n\t\t\t\t'powershell.exe',\n\t\t\t\t'-NoProfile',\n\t\t\t\t'-EncodedCommand',\n\t\t\t\tencodedWindowsGradleCommand(\n\t\t\t\t\twindowsSource,\n\t\t\t\t\twindowsDirectory,\n\t\t\t\t\twindowsAndroidRoot,\n\t\t\t\t\tdependencies,\n\t\t\t\t\trewrittenSettings,\n\t\t\t\t\ttask,\n\t\t\t\t\tgradleArguments\n\t\t\t\t)\n\t\t\t],\n\t\t\t'Android Gradle build',\n\t\t\trun,\n\t\t\t{ env, signal: options.signal }\n\t\t);\n\n\t\tconst artifactPath = await resolveGradleArtifactPath(\n\t\t\tmanagedBuildDirectory,\n\t\t\ttask\n\t\t);\n\t\tconst unsigned = artifactPath.endsWith('-unsigned.apk');\n\n\t\treturn {\n\t\t\tartifactPath,\n\t\t\tinstallPath: unsigned\n\t\t\t\t? win32.join(\n\t\t\t\t\t\twindowsDirectory,\n\t\t\t\t\t\t'app',\n\t\t\t\t\t\t'build',\n\t\t\t\t\t\t'outputs',\n\t\t\t\t\t\t'apk',\n\t\t\t\t\t\t'release',\n\t\t\t\t\t\t'app-release-unsigned.apk'\n\t\t\t\t\t)\n\t\t\t\t: gradleArtifactPath(windowsDirectory, task, true)\n\t\t};\n\t}\n\tconst wrapper = project.host === 'windows' ? 'gradlew.bat' : './gradlew';\n\tawait requireSuccess(\n\t\t[wrapper, '--no-daemon', '--console=plain', ...gradleArguments, task],\n\t\t'Android Gradle build',\n\t\trun,\n\t\t{ cwd: project.nativeDirectory, env, signal: options.signal }\n\t);\n\n\tconst artifactPath = await resolveGradleArtifactPath(\n\t\tproject.nativeDirectory,\n\t\ttask\n\t);\n\n\treturn { artifactPath, installPath: artifactPath };\n};\n\nconst buildAndroidDebugApp = async (\n\tproject: AbsoluteAndroidDevProject,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\trun: NonNullable<StartAbsoluteAndroidDevOptions['run']>,\n\tenv: Record<string, string | undefined>,\n\tsignal?: AbortSignal\n) =>\n\t(\n\t\tawait buildAbsoluteAndroidGradleArtifact({\n\t\t\tcapture,\n\t\t\tenv,\n\t\t\tproject,\n\t\t\trun,\n\t\t\tsignal,\n\t\t\ttask: 'assembleDebug'\n\t\t})\n\t).installPath;\n\ntype EnsureAndroidDebugAppOptions = {\n\tcache: AndroidNativeCache | null;\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>;\n\tenv: Record<string, string | undefined>;\n\tfingerprint: string;\n\tlog: NonNullable<StartAbsoluteAndroidDevOptions['log']>;\n\tproject: AbsoluteAndroidDevProject;\n\trun: NonNullable<StartAbsoluteAndroidDevOptions['run']>;\n\tserial: string;\n\tsignal?: AbortSignal;\n\ttransition: (state: AbsoluteAndroidDevState) => void;\n};\n\nconst persistInstalledAndroidNativeCache = async (\n\toptions: EnsureAndroidDebugAppOptions,\n\tinstalled: AndroidInstalledPackage | undefined\n) => {\n\tif (!installed) {\n\t\toptions.log(\n\t\t\t'Android package identity was unavailable; the next session will rebuild safely.'\n\t\t);\n\n\t\treturn;\n\t}\n\tconst installations =\n\t\toptions.cache?.appId === options.project.config.appId &&\n\t\toptions.cache.fingerprint === options.fingerprint\n\t\t\t? { ...options.cache.installations }\n\t\t\t: {};\n\tinstallations[options.serial] = installed.identity;\n\tawait writeNativeCache(options.project.projectRoot, {\n\t\tappId: options.project.config.appId,\n\t\tfingerprint: options.fingerprint,\n\t\tformat: NATIVE_CACHE_FORMAT,\n\t\tinstallations\n\t}).catch((error) => {\n\t\toptions.log(\n\t\t\t`Android native cache could not be saved: ${error instanceof Error ? error.message : String(error)}`\n\t\t);\n\t});\n};\n\nconst ensureAndroidDebugApp = async (options: EnsureAndroidDebugAppOptions) => {\n\tconst installed = androidInstalledPackageIdentity(\n\t\toptions.project,\n\t\toptions.serial,\n\t\toptions.capture,\n\t\toptions.env\n\t);\n\tconst cacheHit =\n\t\toptions.cache?.appId === options.project.config.appId &&\n\t\toptions.cache.fingerprint === options.fingerprint &&\n\t\tinstalled !== undefined &&\n\t\toptions.cache.installations[options.serial] === installed.identity;\n\tif (cacheHit) {\n\t\toptions.log(\n\t\t\t`Android native app is unchanged on ${options.serial}; skipped Gradle build and APK install.`\n\t\t);\n\n\t\treturn { nativeCacheHit: true, uid: installed.uid };\n\t}\n\toptions.log(\n\t\t'Android native inputs changed or the installed app is stale; rebuilding.'\n\t);\n\toptions.transition('building');\n\tconst installPath = await buildAndroidDebugApp(\n\t\toptions.project,\n\t\toptions.capture,\n\t\toptions.run,\n\t\toptions.env,\n\t\toptions.signal\n\t);\n\tthrowIfAborted(options.signal);\n\toptions.transition('installing');\n\tawait requireSuccess(\n\t\t[\n\t\t\toptions.project.adb,\n\t\t\t'-s',\n\t\t\toptions.serial,\n\t\t\t'install',\n\t\t\t'-r',\n\t\t\tinstallPath\n\t\t],\n\t\t'Android app installation',\n\t\toptions.run,\n\t\t{ env: options.env, signal: options.signal }\n\t);\n\tconst updated = androidInstalledPackageIdentity(\n\t\toptions.project,\n\t\toptions.serial,\n\t\toptions.capture,\n\t\toptions.env\n\t);\n\tawait persistInstalledAndroidNativeCache(options, updated);\n\n\treturn { nativeCacheHit: false, uid: updated?.uid };\n};\n\nconst startManagedEmulatorIfNeeded = (\n\tproject: AbsoluteAndroidDevProject,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tspawn: NonNullable<StartAbsoluteAndroidDevOptions['spawn']>,\n\tlog: NonNullable<StartAbsoluteAndroidDevOptions['log']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tconst serial = managedEmulatorSerial(project.adb, capture, env);\n\tif (serial) return { serial, started: false };\n\tlog(`Starting Android emulator ${ABSOLUTE_ANDROID_AVD_NAME}...`);\n\tspawn(\n\t\t[\n\t\t\tproject.emulator,\n\t\t\t'-avd',\n\t\t\tABSOLUTE_ANDROID_AVD_NAME,\n\t\t\t'-netdelay',\n\t\t\t'none',\n\t\t\t'-netspeed',\n\t\t\t'full'\n\t\t],\n\t\t{ env }\n\t);\n\n\treturn { serial: undefined, started: true };\n};\n\nconst logHttpsCertificateRequirement = (\n\thttps: boolean | undefined,\n\tlog: NonNullable<StartAbsoluteAndroidDevOptions['log']>\n) => {\n\tif (https !== true) return;\n\tlog(\n\t\t'Android HMR is using HTTPS; the emulator must trust the local development certificate authority.'\n\t);\n};\n\nconst removeAdbReverse = async (\n\tproject: AbsoluteAndroidDevProject,\n\tserial: string | undefined,\n\tport: number,\n\trun: NonNullable<StartAbsoluteAndroidDevOptions['run']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tif (!serial) return;\n\tawait run(\n\t\t[project.adb, '-s', serial, 'reverse', '--remove', `tcp:${port}`],\n\t\t{ env }\n\t).catch(() => undefined);\n};\n\nconst androidLaunchCommand = (\n\tproject: AbsoluteAndroidDevProject,\n\tserial: string\n) => [\n\tproject.adb,\n\t'-s',\n\tserial,\n\t'shell',\n\t'monkey',\n\t'-p',\n\tproject.config.appId,\n\t'-c',\n\t'android.intent.category.LAUNCHER',\n\t'1'\n];\n\nconst androidPackageUid = (\n\tproject: AbsoluteAndroidDevProject,\n\tserial: string,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tconst result = capture(\n\t\t[\n\t\t\tproject.adb,\n\t\t\t'-s',\n\t\t\tserial,\n\t\t\t'shell',\n\t\t\t'cmd',\n\t\t\t'package',\n\t\t\t'list',\n\t\t\t'packages',\n\t\t\t'-U',\n\t\t\tproject.config.appId\n\t\t],\n\t\t{ env }\n\t);\n\tif (result.exitCode !== 0) return undefined;\n\tconst escapedAppId = project.config.appId.replace(\n\t\t/[.*+?^${}()|[\\]\\\\]/gu,\n\t\t'\\\\$&'\n\t);\n\tconst match = new RegExp(`package:${escapedAppId}\\\\s+uid:(\\\\d+)`, 'u').exec(\n\t\tresult.stdout\n\t);\n\n\treturn match?.[1];\n};\n\nconst androidInstalledPackageIdentity = (\n\tproject: AbsoluteAndroidDevProject,\n\tserial: string,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tenv: Record<string, string | undefined>\n) => {\n\tconst result = capture(\n\t\t[\n\t\t\tproject.adb,\n\t\t\t'-s',\n\t\t\tserial,\n\t\t\t'shell',\n\t\t\t'dumpsys',\n\t\t\t'package',\n\t\t\tproject.config.appId\n\t\t],\n\t\t{ env }\n\t);\n\tif (result.exitCode !== 0) return undefined;\n\tconst codePath = /^\\s*codePath=(.+)$/mu.exec(result.stdout)?.[1]?.trim();\n\tconst lastUpdateTime = /^\\s*lastUpdateTime=(.+)$/mu\n\t\t.exec(result.stdout)?.[1]\n\t\t?.trim();\n\tif (!codePath || !lastUpdateTime) return undefined;\n\tconst uid = /^\\s*appId=(\\d+)$/mu.exec(result.stdout)?.[1];\n\n\treturn { identity: `${codePath}\\0${lastUpdateTime}`, uid };\n};\n\nconst attachAndroidNativeLogs = (\n\tproject: AbsoluteAndroidDevProject,\n\tserial: string,\n\tcapture: NonNullable<StartAbsoluteAndroidDevOptions['capture']>,\n\tenv: Record<string, string | undefined>,\n\toptions: StartAbsoluteAndroidDevOptions,\n\tknownUid?: string\n) => {\n\tif (!options.nativeLog) return null;\n\tconst uid = knownUid ?? androidPackageUid(project, serial, capture, env);\n\tif (!uid) {\n\t\toptions.log?.(\n\t\t\t`Android app logs unavailable: could not resolve the package UID for ${project.config.appId}.`\n\t\t);\n\n\t\treturn null;\n\t}\n\tconst onLine = (line: string) => {\n\t\tconst entry = parseAbsoluteAndroidLogLine(line);\n\t\t// Capacitor 8 SystemBars can run before documentElement exists. A later\n\t\t// inset pass applies the values; keep the plugin enabled because disabling\n\t\t// it breaks edge-to-edge layout on Android 16. Remove this narrow filter\n\t\t// when https://github.com/ionic-team/capacitor/issues/8530 is fixed.\n\t\tif (entry && !isIgnorableAbsoluteAndroidLog(entry)) {\n\t\t\toptions.nativeLog?.(entry);\n\t\t}\n\t};\n\n\treturn (options.startNativeLogs ?? startNativeLogStream)(\n\t\t[\n\t\t\tproject.adb,\n\t\t\t'-s',\n\t\t\tserial,\n\t\t\t'logcat',\n\t\t\t`--uid=${uid}`,\n\t\t\t'-v',\n\t\t\t'threadtime',\n\t\t\t'-T',\n\t\t\t'1',\n\t\t\t'*:W',\n\t\t\t'Capacitor:V',\n\t\t\t'Capacitor/Console:V',\n\t\t\t'chromium:I'\n\t\t],\n\t\t{ env },\n\t\tonLine\n\t);\n};\n\nexport const prepareAbsoluteAndroidDevProject = async (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\toptions: PrepareAbsoluteAndroidDevOptions\n): Promise<AbsoluteAndroidDevProject> => {\n\tconst projectRoot = resolve(options.projectRoot);\n\tconst host = detectAbsoluteMobileHost();\n\tconst androidRoot =\n\t\tprocess.env.ANDROID_HOME ??\n\t\tprocess.env.ANDROID_SDK_ROOT ??\n\t\tabsoluteManagedAndroidSdkRoot(host);\n\tconst checks = await inspectAbsoluteMobileToolchain({ androidRoot, host });\n\tconst failed = checks.filter(\n\t\t(check) =>\n\t\t\tcheck.platform === 'android' &&\n\t\t\t(check.status === 'fail' || check.status === 'warn')\n\t);\n\tif (failed.length > 0) {\n\t\tthrow new Error(\n\t\t\t`Android emulation is not ready: ${failed.map(({ label }) => label).join(', ')}.`\n\t\t);\n\t}\n\tconst adb = checks.find((check) => check.id === 'android.adb')?.path;\n\tconst emulator = checks.find(\n\t\t(check) => check.id === 'android.emulator'\n\t)?.path;\n\tif (!adb || !emulator) {\n\t\tthrow new Error(\n\t\t\t'Android SDK tools disappeared after readiness checks.'\n\t\t);\n\t}\n\tconst cap = join(\n\t\tprojectRoot,\n\t\t'node_modules',\n\t\t'.bin',\n\t\thost === 'windows' ? 'cap.cmd' : 'cap'\n\t);\n\tif (!(await pathExists(cap))) {\n\t\tthrow new Error(\n\t\t\t'Capacitor CLI is not installed. Run absolute mobile init first.'\n\t\t);\n\t}\n\tawait writeAbsoluteCapacitorConfig(config, { projectRoot });\n\tawait mkdir(config.bundleDirectory, { recursive: true });\n\tconst placeholder = join(config.bundleDirectory, 'index.html');\n\tif (!(await pathExists(placeholder))) {\n\t\tawait writeFile(\n\t\t\tplaceholder,\n\t\t\t'<!doctype html><title>AbsoluteJS mobile development</title>\\n'\n\t\t);\n\t}\n\tconst nativeDirectory = join(config.nativeProjectDirectory, 'android');\n\tif (!(await pathExists(nativeDirectory))) {\n\t\tif (!options.createNativeProject) {\n\t\t\tthrow new Error('Android native project has not been created.');\n\t\t}\n\t\tconst run = options.run ?? runCommand;\n\t\tif (\n\t\t\t(await run([cap, 'add', 'android'], {\n\t\t\t\tcwd: projectRoot\n\t\t\t})) !== 0\n\t\t) {\n\t\t\tthrow new Error('Capacitor Android project creation failed.');\n\t\t}\n\t}\n\n\treturn {\n\t\tadb,\n\t\tandroidRoot,\n\t\tcap,\n\t\tconfig,\n\t\temulator,\n\t\thost,\n\t\tnativeDirectory,\n\t\tprojectRoot\n\t};\n};\n\nexport const startAbsoluteAndroidDevSession = async (\n\toptions: StartAbsoluteAndroidDevOptions\n) => {\n\tconst { project } = options;\n\tconst startupStartedAt = performance.now();\n\tlet phaseStartedAt = performance.now();\n\tconst phaseDurations: Record<string, number> = {};\n\tlet state: AbsoluteAndroidDevState = 'syncing';\n\tconst transition = (next: AbsoluteAndroidDevState) => {\n\t\tif (next === state) {\n\t\t\toptions.onStateChange?.(next);\n\n\t\t\treturn;\n\t\t}\n\t\tconst now = performance.now();\n\t\tconst durationMs = now - phaseStartedAt;\n\t\tphaseDurations[state] = (phaseDurations[state] ?? 0) + durationMs;\n\t\toptions.onPhaseTiming?.({\n\t\t\tdurationMs,\n\t\t\tphase: state,\n\t\t\ttotalMs: now - startupStartedAt\n\t\t});\n\t\tstate = next;\n\t\tphaseStartedAt = now;\n\t\toptions.onStateChange?.(next);\n\t};\n\tconst capture = options.capture ?? captureCommand;\n\tconst run = options.run ?? runCommand;\n\tconst sleep = options.sleep ?? Bun.sleep;\n\tconst spawn = options.spawn ?? spawnCommand;\n\tconst log = options.log ?? console.log;\n\tconst androidHome =\n\t\tproject.host === 'wsl'\n\t\t\t? windowsPathFromWsl(project.androidRoot, capture)\n\t\t\t: project.androidRoot;\n\tconst env: Record<string, string | undefined> = {\n\t\t...process.env,\n\t\tANDROID_HOME: androidHome\n\t};\n\ttransition('syncing');\n\tawait repairAbsoluteAndroidDevSession(project.projectRoot);\n\tthrowIfAborted(options.signal);\n\tawait requireSuccess(\n\t\t[project.cap, 'sync', 'android'],\n\t\t'Capacitor Android synchronization',\n\t\trun,\n\t\t{ cwd: project.projectRoot, env, signal: options.signal }\n\t);\n\tthrowIfAborted(options.signal);\n\ttransition('configuring');\n\tconst nativeConfigPath = join(\n\t\tproject.nativeDirectory,\n\t\t'app',\n\t\t'src',\n\t\t'main',\n\t\t'assets',\n\t\t'capacitor.config.json'\n\t);\n\tconst nativeManifestPath = join(\n\t\tproject.nativeDirectory,\n\t\t'app',\n\t\t'src',\n\t\t'main',\n\t\t'AndroidManifest.xml'\n\t);\n\tlet connectedSerial: string | undefined;\n\tlet nativeLogs: AbsoluteAndroidLogStream | null = null;\n\tconst closeNativeLogs = async () => {\n\t\tconst stream = nativeLogs;\n\t\tnativeLogs = null;\n\t\tawait stream?.close().catch(() => undefined);\n\t};\n\ttry {\n\t\tawait writeDevConfig(\n\t\t\tproject.projectRoot,\n\t\t\tnativeConfigPath,\n\t\t\tnativeManifestPath,\n\t\t\toptions.port,\n\t\t\toptions.https === true,\n\t\t\tproject.config.entry\n\t\t);\n\t\tthrowIfAborted(options.signal);\n\t\tlogHttpsCertificateRequirement(options.https, log);\n\t\tconst fingerprintStartedAt = performance.now();\n\t\tconst nativeFingerprintPromise =\n\t\t\tfingerprintAbsoluteAndroidNativeProject(project).then(\n\t\t\t\t(fingerprint) => {\n\t\t\t\t\tphaseDurations.fingerprinting =\n\t\t\t\t\t\tperformance.now() - fingerprintStartedAt;\n\n\t\t\t\t\treturn fingerprint;\n\t\t\t\t}\n\t\t\t);\n\t\ttransition('booting');\n\t\tconst emulator = startManagedEmulatorIfNeeded(\n\t\t\tproject,\n\t\t\tcapture,\n\t\t\tspawn,\n\t\t\tlog,\n\t\t\tenv\n\t\t);\n\t\tconst { started: startedEmulator } = emulator;\n\t\ttransition('connecting');\n\t\tconst serial = await waitForManagedEmulator(\n\t\t\tproject,\n\t\t\tcapture,\n\t\t\tsleep,\n\t\t\tenv,\n\t\t\toptions.signal,\n\t\t\temulator.serial\n\t\t);\n\t\tconnectedSerial = serial;\n\t\ttransition('forwarding');\n\t\tawait requireSuccess(\n\t\t\t[\n\t\t\t\tproject.adb,\n\t\t\t\t'-s',\n\t\t\t\tserial,\n\t\t\t\t'reverse',\n\t\t\t\t`tcp:${options.port}`,\n\t\t\t\t`tcp:${options.port}`\n\t\t\t],\n\t\t\t'ADB reverse port forwarding',\n\t\t\trun,\n\t\t\t{ env, signal: options.signal }\n\t\t);\n\t\tthrowIfAborted(options.signal);\n\t\tconst nativeFingerprint = await nativeFingerprintPromise;\n\t\tthrowIfAborted(options.signal);\n\t\ttransition('checking-native');\n\t\tconst cache = await readNativeCache(project.projectRoot);\n\t\tconst installedApp = await ensureAndroidDebugApp({\n\t\t\tcache,\n\t\t\tcapture,\n\t\t\tenv,\n\t\t\tfingerprint: nativeFingerprint,\n\t\t\tlog,\n\t\t\tproject,\n\t\t\trun,\n\t\t\tserial,\n\t\t\tsignal: options.signal,\n\t\t\ttransition\n\t\t});\n\t\tconst { nativeCacheHit, uid } = installedApp;\n\t\tthrowIfAborted(options.signal);\n\t\ttransition('launching');\n\t\tawait requireSuccess(\n\t\t\tandroidLaunchCommand(project, serial),\n\t\t\t'Android app launch',\n\t\t\trun,\n\t\t\t{ env, signal: options.signal }\n\t\t);\n\t\tthrowIfAborted(options.signal);\n\t\tif (options.nativeLog) transition('streaming-logs');\n\t\tnativeLogs = attachAndroidNativeLogs(\n\t\t\tproject,\n\t\t\tserial,\n\t\t\tcapture,\n\t\t\tenv,\n\t\t\toptions,\n\t\t\tuid\n\t\t);\n\t\ttransition('ready');\n\t\tphaseDurations.total = performance.now() - startupStartedAt;\n\t\tlog(\n\t\t\t`Android emulator connected (${serial}) with HMR on port ${options.port} in ${getDurationString(phaseDurations.total)} (${nativeCacheHit ? 'native cache hit' : 'native build installed'}).`\n\t\t);\n\t\tlog(`Android startup: ${androidTimingSummary(phaseDurations)}.`);\n\t\tlet closed = false;\n\t\tconst close = async () => {\n\t\t\tif (closed) return;\n\t\t\tclosed = true;\n\t\t\ttransition('closing');\n\t\t\tawait closeNativeLogs();\n\t\t\tawait removeAdbReverse(project, serial, options.port, run, env);\n\t\t\tawait repairAbsoluteAndroidDevSession(project.projectRoot);\n\t\t\ttransition('closed');\n\t\t};\n\n\t\treturn {\n\t\t\tclose,\n\t\t\tnativeCacheHit,\n\t\t\tserial,\n\t\t\tstartedEmulator,\n\t\t\ttimings: { ...phaseDurations },\n\t\t\trebuild: async () => {\n\t\t\t\tif (closed) {\n\t\t\t\t\tthrow new Error('Android development session is closed.');\n\t\t\t\t}\n\t\t\t\tlog(\n\t\t\t\t\t'Android native inputs changed; rebuilding without restarting the dev server.'\n\t\t\t\t);\n\t\t\t\tawait close();\n\n\t\t\t\treturn startAbsoluteAndroidDevSession(options);\n\t\t\t},\n\t\t\trelaunch: async () => {\n\t\t\t\tif (closed) {\n\t\t\t\t\tthrow new Error('Android development session is closed.');\n\t\t\t\t}\n\t\t\t\ttransition('launching');\n\t\t\t\ttry {\n\t\t\t\t\tawait requireSuccess(\n\t\t\t\t\t\tandroidLaunchCommand(project, serial),\n\t\t\t\t\t\t'Android app relaunch',\n\t\t\t\t\t\trun,\n\t\t\t\t\t\t{ env, signal: options.signal }\n\t\t\t\t\t);\n\t\t\t\t\ttransition('ready');\n\t\t\t\t\tlog(`Android app relaunched on ${serial}.`);\n\t\t\t\t} catch (error) {\n\t\t\t\t\ttransition('failed');\n\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t},\n\t\t\tget state() {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\ttransition('failed');\n\t\tawait closeNativeLogs();\n\t\tawait removeAdbReverse(\n\t\t\tproject,\n\t\t\tconnectedSerial,\n\t\t\toptions.port,\n\t\t\trun,\n\t\t\tenv\n\t\t);\n\t\tawait repairAbsoluteAndroidDevSession(project.projectRoot);\n\n\t\tthrow error;\n\t}\n};\n",
14
14
  "import { access, readFile, rename, writeFile } from 'node:fs/promises';\nimport { relative, resolve } from 'node:path';\nimport type { NormalizedAbsoluteMobileConfig } from './config';\n\nexport type WriteAbsoluteCapacitorConfigOptions = {\n\tforce?: boolean;\n\tprojectRoot: string;\n};\n\nconst CONFIG_FILE = 'capacitor.config.ts';\n\nconst portableRelative = (root: string, path: string) =>\n\trelative(root, path).replaceAll('\\\\', '/');\n\nconst capacitorConfigSource = (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\tprojectRoot: string\n) => `import type { CapacitorConfig } from '@capacitor/cli';\n\nconst config: CapacitorConfig = {\n\tappId: ${JSON.stringify(config.appId)},\n\tappName: ${JSON.stringify(config.appName)},\n\twebDir: ${JSON.stringify(portableRelative(projectRoot, config.bundleDirectory))},\n\tandroid: {\n\t\tpath: ${JSON.stringify(portableRelative(projectRoot, `${config.nativeProjectDirectory}/android`))}\n\t},\n\tios: {\n\t\tpath: ${JSON.stringify(portableRelative(projectRoot, `${config.nativeProjectDirectory}/ios`))}\n\t}\n};\n\nexport default config;\n`;\n\nconst exists = async (path: string) => {\n\ttry {\n\t\tawait access(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nexport const writeAbsoluteCapacitorConfig = async (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\toptions: WriteAbsoluteCapacitorConfigOptions\n) => {\n\tconst projectRoot = resolve(options.projectRoot);\n\tconst destination = resolve(projectRoot, CONFIG_FILE);\n\tconst source = capacitorConfigSource(config, projectRoot);\n\tif (await exists(destination)) {\n\t\tconst current = await readFile(destination, 'utf8');\n\t\tif (current === source) return { changed: false, path: destination };\n\t\tif (!options.force) {\n\t\t\tthrow new TypeError(\n\t\t\t\t`${CONFIG_FILE} already exists and differs; rerun with --force only after reviewing it.`\n\t\t\t);\n\t\t}\n\t}\n\tconst temporary = `${destination}.${crypto.randomUUID()}.tmp`;\n\tawait writeFile(temporary, source, { flag: 'wx' });\n\tawait rename(temporary, destination);\n\n\treturn { changed: true, path: destination };\n};\n",
15
15
  "import { createHash } from 'node:crypto';\nimport {\n\taccess,\n\tcopyFile,\n\tmkdir,\n\tmkdtemp,\n\treaddir,\n\treadFile,\n\trename,\n\trm,\n\tstat,\n\twriteFile\n} from 'node:fs/promises';\nimport { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';\nimport type { NormalizedAbsoluteMobileConfig } from './config';\nimport {\n\tdetectAbsoluteMobileHost,\n\ttype AbsoluteMobileHost\n} from './emulatorDoctor';\n\nexport const ABSOLUTE_IOS_RELEASE_FORMAT = 1 as const;\n\nexport type AbsoluteIosReleaseMetadata = {\n\tappBuild: string;\n\tappId: string;\n\tartifact: 'App.ipa';\n\tbuildNumber?: number;\n\tbytes: number;\n\tengine: 'capacitor';\n\tformat: typeof ABSOLUTE_IOS_RELEASE_FORMAT;\n\tmarketingVersion: string;\n\tplatform: 'ios';\n\treleaseId: string;\n\truntime: string;\n\tsha256: string;\n\tsigned: boolean;\n\ttype: 'ipa';\n};\n\ntype MobileClientManifest = {\n\tappBuild: string;\n\tappId: string;\n\truntime: string;\n};\ntype CommandOptions = {\n\tcwd?: string;\n\tenv?: Record<string, string | undefined>;\n};\ntype CommandResult = { exitCode: number; stderr: string; stdout: string };\n\nexport type BuildAbsoluteIosReleaseOptions = {\n\tallowUnsigned?: boolean;\n\tcapture?: (command: string[], options?: CommandOptions) => CommandResult;\n\tconfig: NormalizedAbsoluteMobileConfig;\n\thost?: AbsoluteMobileHost;\n\toutputDirectory?: string;\n\tprepareBuildNumber?: (buildIdentity: string) => Promise<number>;\n\tprojectRoot: string;\n\trun?: (command: string[], options?: CommandOptions) => Promise<number>;\n\tbuildNumber?: number;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst requireManifest = (value: unknown): MobileClientManifest => {\n\tif (\n\t\t!isRecord(value) ||\n\t\ttypeof value.appBuild !== 'string' ||\n\t\ttypeof value.appId !== 'string' ||\n\t\ttypeof value.runtime !== 'string'\n\t) {\n\t\tthrow new TypeError('Invalid embedded AbsoluteJS mobile manifest.');\n\t}\n\n\treturn {\n\t\tappBuild: value.appBuild,\n\t\tappId: value.appId,\n\t\truntime: value.runtime\n\t};\n};\n\nconst pathExists = async (path: string) => {\n\ttry {\n\t\tawait access(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst defaultRun = async (command: string[], options: CommandOptions = {}) => {\n\tconst process = Bun.spawn(command, {\n\t\tcwd: options.cwd,\n\t\tenv: options.env,\n\t\tstderr: 'inherit',\n\t\tstdin: 'inherit',\n\t\tstdout: 'inherit'\n\t});\n\n\treturn process.exited;\n};\n\nconst defaultCapture = (command: string[], options: CommandOptions = {}) => {\n\ttry {\n\t\tconst result = Bun.spawnSync(command, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: options.env,\n\t\t\tstderr: 'pipe',\n\t\t\tstdin: 'ignore',\n\t\t\tstdout: 'pipe'\n\t\t});\n\n\t\treturn {\n\t\t\texitCode: result.exitCode,\n\t\t\tstderr: result.stderr.toString(),\n\t\t\tstdout: result.stdout.toString()\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\texitCode: 1,\n\t\t\tstderr: error instanceof Error ? error.message : String(error),\n\t\t\tstdout: ''\n\t\t};\n\t}\n};\n\nconst ignoredFingerprintDirectories = new Set([\n\t'Pods',\n\t'DerivedData',\n\t'build',\n\t'xcuserdata'\n]);\n\nconst fingerprintFiles = async (\n\troot: string,\n\tcurrent = root\n): Promise<string[]> => {\n\tconst entries = await readdir(current, { withFileTypes: true });\n\tconst nested = await Promise.all(\n\t\tentries\n\t\t\t.sort((left, right) => left.name.localeCompare(right.name))\n\t\t\t.map(async (entry) => {\n\t\t\t\tconst path = join(current, entry.name);\n\t\t\t\tconst projectRelative = relative(root, path).replaceAll(\n\t\t\t\t\t'\\\\',\n\t\t\t\t\t'/'\n\t\t\t\t);\n\t\t\t\tconst ignored =\n\t\t\t\t\tentry.isDirectory() &&\n\t\t\t\t\t(ignoredFingerprintDirectories.has(entry.name) ||\n\t\t\t\t\t\tprojectRelative === 'App/App/public');\n\t\t\t\tif (ignored) return [];\n\t\t\t\tif (entry.isDirectory()) return fingerprintFiles(root, path);\n\n\t\t\t\treturn entry.isFile() ? [path] : [];\n\t\t\t})\n\t);\n\n\treturn nested.flat();\n};\n\nexport const fingerprintAbsoluteIosNativeProject = async (\n\tnativeDirectory: string\n) => {\n\tconst hasher = createHash('sha256');\n\tconst files = await fingerprintFiles(nativeDirectory);\n\tconst contents = await Promise.all(files.map((file) => readFile(file)));\n\tfiles.forEach((file, index) => {\n\t\thasher.update(relative(nativeDirectory, file).replaceAll('\\\\', '/'));\n\t\thasher.update('\\0');\n\t\thasher.update(contents[index] ?? new Uint8Array());\n\t\thasher.update('\\0');\n\t});\n\n\treturn hasher.digest('hex');\n};\n\nconst safeOutputDirectory = (projectRoot: string, requested?: string) => {\n\tconst root = resolve(projectRoot);\n\tconst output = resolve(\n\t\troot,\n\t\trequested ?? '.absolutejs/mobile/releases/ios'\n\t);\n\tconst projectRelative = relative(root, output);\n\tif (\n\t\tprojectRelative === '..' ||\n\t\tprojectRelative.startsWith(`..${sep}`) ||\n\t\tisAbsolute(projectRelative)\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'mobile build --outdir must remain inside the project.'\n\t\t);\n\t}\n\n\treturn output;\n};\n\nconst sha256File = async (path: string) =>\n\tcreateHash('sha256')\n\t\t.update(await readFile(path))\n\t\t.digest('hex');\n\nconst findByExtension = async (\n\troot: string,\n\textension: string\n): Promise<string | undefined> => {\n\tif (!(await pathExists(root))) return undefined;\n\tconst entries = await readdir(root, { withFileTypes: true });\n\tconst matches = await Promise.all(\n\t\tentries.map(async (entry) => {\n\t\t\tconst path = join(root, entry.name);\n\t\t\tif (entry.isDirectory() && entry.name.endsWith(extension))\n\t\t\t\treturn path;\n\t\t\tif (entry.isFile() && entry.name.endsWith(extension)) return path;\n\n\t\t\treturn entry.isDirectory()\n\t\t\t\t? findByExtension(path, extension)\n\t\t\t\t: undefined;\n\t\t})\n\t);\n\n\treturn matches.find((match) => match !== undefined);\n};\n\nconst exportOptions = () => `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\"><dict>\n\t<key>destination</key><string>export</string>\n\t<key>manageAppVersionAndBuildNumber</key><false/>\n\t<key>method</key><string>app-store-connect</string>\n\t<key>signingStyle</key><string>automatic</string>\n\t<key>stripSwiftSymbols</key><true/>\n\t<key>uploadSymbols</key><true/>\n</dict></plist>\n`;\n\nconst requireBuildNumber = (value: number | undefined) => {\n\tif (value !== undefined && (!Number.isSafeInteger(value) || value < 1))\n\t\tthrow new TypeError('iOS build number must be a positive integer.');\n\n\treturn value;\n};\n\nconst installRelease = async (\n\tartifactPath: string,\n\tmetadata: Omit<AbsoluteIosReleaseMetadata, 'artifact'>,\n\toutputRoot: string\n) => {\n\tconst releaseRoot = join(outputRoot, metadata.releaseId);\n\tconst destination = join(releaseRoot, 'App.ipa');\n\tif (await pathExists(releaseRoot)) {\n\t\tconst value: unknown = JSON.parse(\n\t\t\tawait readFile(join(releaseRoot, 'release.json'), 'utf8')\n\t\t);\n\t\tif (\n\t\t\t!isRecord(value) ||\n\t\t\tvalue.artifact !== 'App.ipa' ||\n\t\t\tObject.entries(metadata).some(\n\t\t\t\t([key, expected]) => Reflect.get(value, key) !== expected\n\t\t\t)\n\t\t) {\n\t\t\tthrow new TypeError(\n\t\t\t\t`Immutable iOS release ${metadata.releaseId} does not match its content.`\n\t\t\t);\n\t\t}\n\t\tconst [bytes, sha256] = await Promise.all([\n\t\t\tstat(destination).then(({ size }) => size),\n\t\t\tsha256File(destination)\n\t\t]);\n\t\tif (bytes !== metadata.bytes || sha256 !== metadata.sha256)\n\t\t\tthrow new TypeError(\n\t\t\t\t`Immutable iOS release ${metadata.releaseId} artifact is missing or modified.`\n\t\t\t);\n\n\t\treturn {\n\t\t\tartifactPath: destination,\n\t\t\tmetadata: {\n\t\t\t\t...metadata,\n\t\t\t\tartifact: 'App.ipa'\n\t\t\t} satisfies AbsoluteIosReleaseMetadata,\n\t\t\treleaseRoot\n\t\t};\n\t}\n\tawait mkdir(dirname(releaseRoot), { recursive: true });\n\tconst staging = await mkdtemp(join(dirname(releaseRoot), '.ios-stage-'));\n\ttry {\n\t\tawait copyFile(artifactPath, join(staging, 'App.ipa'));\n\t\tconst complete = {\n\t\t\t...metadata,\n\t\t\tartifact: 'App.ipa'\n\t\t} satisfies AbsoluteIosReleaseMetadata;\n\t\tawait writeFile(\n\t\t\tjoin(staging, 'release.json'),\n\t\t\t`${JSON.stringify(complete, null, '\\t')}\\n`,\n\t\t\t{ flag: 'wx' }\n\t\t);\n\t\tawait rename(staging, releaseRoot);\n\n\t\treturn { artifactPath: destination, metadata: complete, releaseRoot };\n\t} finally {\n\t\tawait rm(staging, { force: true, recursive: true }).catch(\n\t\t\t() => undefined\n\t\t);\n\t}\n};\n\nexport const buildAbsoluteIosRelease = async (\n\toptions: BuildAbsoluteIosReleaseOptions\n) => {\n\tif (options.buildNumber !== undefined && options.prepareBuildNumber)\n\t\tthrow new TypeError(\n\t\t\t'iOS release buildNumber and prepareBuildNumber cannot be combined.'\n\t\t);\n\tif ((options.host ?? detectAbsoluteMobileHost()) !== 'macos')\n\t\tthrow new TypeError('iOS release builds require macOS and Xcode.');\n\tconst marketingVersion = options.config.iosVersion;\n\tif (!marketingVersion)\n\t\tthrow new TypeError(\n\t\t\t'iOS release builds require mobile.ios.version in absolutejs.config.ts.'\n\t\t);\n\tconst manifest = requireManifest(\n\t\tJSON.parse(\n\t\t\tawait readFile(\n\t\t\t\tjoin(\n\t\t\t\t\toptions.config.bundleDirectory,\n\t\t\t\t\t'absolute-mobile-manifest.json'\n\t\t\t\t),\n\t\t\t\t'utf8'\n\t\t\t)\n\t\t)\n\t);\n\tif (manifest.appId !== options.config.appId)\n\t\tthrow new TypeError(\n\t\t\t'Embedded mobile manifest appId does not match mobile.appId.'\n\t\t);\n\tconst nativeDirectory = join(options.config.nativeProjectDirectory, 'ios');\n\tlet buildNumber = requireBuildNumber(options.buildNumber);\n\tif (options.prepareBuildNumber) {\n\t\tconst nativeFingerprint =\n\t\t\tawait fingerprintAbsoluteIosNativeProject(nativeDirectory);\n\t\tconst buildIdentity = createHash('sha256')\n\t\t\t.update(\n\t\t\t\t`${manifest.appBuild}\\0${nativeFingerprint}\\0${marketingVersion}`\n\t\t\t)\n\t\t\t.digest('hex');\n\t\tbuildNumber = requireBuildNumber(\n\t\t\tawait options.prepareBuildNumber(buildIdentity)\n\t\t);\n\t}\n\tconst stagingParent = resolve(options.projectRoot, '.absolutejs/mobile');\n\tawait mkdir(stagingParent, { recursive: true });\n\tconst staging = await mkdtemp(join(stagingParent, '.ios-build-'));\n\tconst archivePath = join(staging, 'App.xcarchive');\n\tconst exportPath = join(staging, 'export');\n\tconst exportPlist = join(staging, 'ExportOptions.plist');\n\tawait mkdir(exportPath, { recursive: true });\n\tawait writeFile(exportPlist, exportOptions());\n\tconst run = options.run ?? defaultRun;\n\ttry {\n\t\tconst versionArguments = [\n\t\t\t`MARKETING_VERSION=${marketingVersion}`,\n\t\t\t...(buildNumber === undefined\n\t\t\t\t? []\n\t\t\t\t: [`CURRENT_PROJECT_VERSION=${buildNumber}`])\n\t\t];\n\t\tconst archiveExit = await run(\n\t\t\t[\n\t\t\t\t'xcodebuild',\n\t\t\t\t'-workspace',\n\t\t\t\tjoin(nativeDirectory, 'App', 'App.xcworkspace'),\n\t\t\t\t'-scheme',\n\t\t\t\t'App',\n\t\t\t\t'-configuration',\n\t\t\t\t'Release',\n\t\t\t\t'-destination',\n\t\t\t\t'generic/platform=iOS',\n\t\t\t\t'-archivePath',\n\t\t\t\tarchivePath,\n\t\t\t\t...versionArguments,\n\t\t\t\t'archive'\n\t\t\t],\n\t\t\t{ cwd: nativeDirectory }\n\t\t);\n\t\tif (archiveExit !== 0)\n\t\t\tthrow new TypeError('Xcode failed to archive the iOS app.');\n\t\tconst archivedApp = await findByExtension(\n\t\t\tjoin(archivePath, 'Products', 'Applications'),\n\t\t\t'.app'\n\t\t);\n\t\tconst capture = options.capture ?? defaultCapture;\n\t\tconst signed = archivedApp\n\t\t\t? capture([\n\t\t\t\t\t'codesign',\n\t\t\t\t\t'--verify',\n\t\t\t\t\t'--deep',\n\t\t\t\t\t'--strict',\n\t\t\t\t\tarchivedApp\n\t\t\t\t]).exitCode === 0\n\t\t\t: false;\n\t\tif (!signed && !options.allowUnsigned)\n\t\t\tthrow new TypeError(\n\t\t\t\t'Xcode produced an unsigned iOS archive. Configure signing in the source-owned Xcode project, or pass --unsigned only for a non-publishable build.'\n\t\t\t);\n\t\tconst exportExit = await run(\n\t\t\t[\n\t\t\t\t'xcodebuild',\n\t\t\t\t'-exportArchive',\n\t\t\t\t'-archivePath',\n\t\t\t\tarchivePath,\n\t\t\t\t'-exportPath',\n\t\t\t\texportPath,\n\t\t\t\t'-exportOptionsPlist',\n\t\t\t\texportPlist\n\t\t\t],\n\t\t\t{ cwd: nativeDirectory }\n\t\t);\n\t\tif (exportExit !== 0)\n\t\t\tthrow new TypeError('Xcode failed to export the App Store IPA.');\n\t\tconst artifactPath = await findByExtension(exportPath, '.ipa');\n\t\tif (!artifactPath)\n\t\t\tthrow new TypeError('Xcode did not produce an exported IPA.');\n\t\tconst [bytes, sha256] = await Promise.all([\n\t\t\tstat(artifactPath).then(({ size }) => size),\n\t\t\tsha256File(artifactPath)\n\t\t]);\n\t\tconst releaseId = `amobile_ios_${sha256}`;\n\n\t\treturn await installRelease(\n\t\t\tartifactPath,\n\t\t\t{\n\t\t\t\tappBuild: manifest.appBuild,\n\t\t\t\tappId: manifest.appId,\n\t\t\t\t...(buildNumber === undefined ? {} : { buildNumber }),\n\t\t\t\tbytes,\n\t\t\t\tengine: 'capacitor',\n\t\t\t\tformat: 1,\n\t\t\t\tmarketingVersion,\n\t\t\t\tplatform: 'ios',\n\t\t\t\treleaseId,\n\t\t\t\truntime: manifest.runtime,\n\t\t\t\tsha256,\n\t\t\t\tsigned,\n\t\t\t\ttype: 'ipa'\n\t\t\t},\n\t\t\tsafeOutputDirectory(options.projectRoot, options.outputDirectory)\n\t\t);\n\t} finally {\n\t\tawait rm(staging, { force: true, recursive: true }).catch(\n\t\t\t() => undefined\n\t\t);\n\t}\n};\n",
16
+ "import { readFile, stat } from 'node:fs/promises';\n\nconst HMR_LINE = new RegExp(\n\tString.raw`\\[hmr:ios\\]\\s+([^\\n]*?)\\s+(applied in|falling back to reload after|failed after)\\s+(\\d+)ms(?:; server\\s+(\\d+)ms, client\\s+(\\d+)ms)?`,\n\t'u'\n);\n\nexport type AbsoluteIosHmrApply = {\n\tclientMs?: number;\n\tduration: number;\n\tline: string;\n\toutcome: 'applied' | 'failed' | 'reloaded';\n\tserverMs?: number;\n};\n\nexport const parseAbsoluteIosHmrLog = (\n\tline: string\n): AbsoluteIosHmrApply | null => {\n\tconst match = HMR_LINE.exec(line);\n\tif (!match) return null;\n\tconst [, , action, durationValue, serverValue, clientValue] = match;\n\tlet outcome: AbsoluteIosHmrApply['outcome'] = 'reloaded';\n\tif (action === 'applied in') outcome = 'applied';\n\tif (action === 'failed after') outcome = 'failed';\n\tconst serverMs =\n\t\tserverValue === undefined ? undefined : Number(serverValue);\n\tconst clientMs =\n\t\tclientValue === undefined ? undefined : Number(clientValue);\n\n\treturn {\n\t\t...(clientMs === undefined ? {} : { clientMs }),\n\t\tduration: Number(durationValue),\n\t\tline: match[0],\n\t\toutcome,\n\t\t...(serverMs === undefined ? {} : { serverMs })\n\t};\n};\n\nconst findHmrApply = (lines: string[]) => {\n\tconst apply = lines\n\t\t.map((line) => parseAbsoluteIosHmrLog(line))\n\t\t.find((candidate) => candidate !== null);\n\tif (apply?.outcome === 'failed')\n\t\tthrow new Error(\n\t\t\t`iOS HMR client reported a failed apply: ${apply.line}`\n\t\t);\n\n\treturn apply;\n};\n\nexport const waitForAbsoluteIosHmrLog = async (options: {\n\tlogPath: string;\n\tsignal?: AbortSignal;\n\tsleep?: (milliseconds: number) => Promise<void>;\n\tstartOffset?: number;\n\ttimeoutMs?: number;\n}) => {\n\tconst sleep = options.sleep ?? Bun.sleep;\n\tconst timeoutMs = options.timeoutMs ?? 30_000;\n\tconst deadline = Date.now() + timeoutMs;\n\tlet offset =\n\t\toptions.startOffset ??\n\t\t(await stat(options.logPath)\n\t\t\t.then(({ size }) => size)\n\t\t\t.catch(() => 0));\n\tlet buffered = '';\n\tconst poll = async (): Promise<AbsoluteIosHmrApply> => {\n\t\tif (Date.now() > deadline)\n\t\t\tthrow new Error(\n\t\t\t\t`No iOS native HMR acknowledgement was observed within ${timeoutMs}ms.`\n\t\t\t);\n\t\toptions.signal?.throwIfAborted();\n\t\tconst contents = await readFile(options.logPath).catch(() =>\n\t\t\tBuffer.alloc(0)\n\t\t);\n\t\tif (contents.byteLength < offset) {\n\t\t\toffset = 0;\n\t\t\tbuffered = '';\n\t\t}\n\t\tif (contents.byteLength > offset) {\n\t\t\tbuffered += contents.subarray(offset).toString('utf8');\n\t\t\toffset = contents.byteLength;\n\t\t\tconst lines = buffered.split(/\\r?\\n/u);\n\t\t\tbuffered = lines.pop() ?? '';\n\t\t\tconst apply = findHmrApply(lines);\n\t\t\tif (apply) return apply;\n\t\t}\n\t\tawait sleep(100);\n\n\t\treturn poll();\n\t};\n\n\treturn poll();\n};\n",
17
+ "import { createHash, randomUUID } from 'node:crypto';\nimport {\n\taccess,\n\tcopyFile,\n\tmkdir,\n\treadFile,\n\trename,\n\trm,\n\twriteFile\n} from 'node:fs/promises';\nimport { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';\nimport type { NormalizedAbsoluteMobileConfig } from './config';\nimport {\n\tdetectAbsoluteMobileHost,\n\tinspectAbsoluteMobileToolchain\n} from './emulatorDoctor';\nimport { writeAbsoluteCapacitorConfig } from './capacitorProject';\nimport { fingerprintAbsoluteIosNativeProject } from './iosRelease';\nimport { getDurationString } from '../utils/getDurationString';\n\nexport const ABSOLUTE_IOS_SIMULATOR_NAME = 'AbsoluteJS iPhone';\n\nconst BOOT_TIMEOUT_MS = 180_000;\nconst BOOT_POLL_MS = 1_000;\nconst DEV_JOURNAL_FORMAT = 1;\nconst NATIVE_CACHE_FORMAT = 1;\n\nexport type AbsoluteIosCommandOptions = {\n\tcwd?: string;\n\tenv?: Record<string, string | undefined>;\n\tsignal?: AbortSignal;\n};\n\nexport type AbsoluteIosCommandResult = {\n\texitCode: number;\n\tstderr: string;\n\tstdout: string;\n};\n\nexport type AbsoluteIosDevState =\n\t| 'booting'\n\t| 'building'\n\t| 'checking-native'\n\t| 'closed'\n\t| 'closing'\n\t| 'configuring'\n\t| 'connecting'\n\t| 'failed'\n\t| 'installing'\n\t| 'launching'\n\t| 'ready'\n\t| 'streaming-logs'\n\t| 'syncing';\n\nexport type AbsoluteIosNativeLogEntry = {\n\tlevel: 'debug' | 'error' | 'fault' | 'info' | 'notice';\n\tmessage: string;\n\ttag: string;\n};\n\ntype AbsoluteIosLogStream = { close: () => Promise<void> };\n\nexport type AbsoluteIosDevProject = {\n\tcap: string;\n\tconfig: NormalizedAbsoluteMobileConfig;\n\tnativeDirectory: string;\n\tprojectRoot: string;\n\txcodebuild: string;\n\txcrun: string;\n};\n\nexport type AbsoluteIosDevSession = {\n\tclose: () => Promise<void>;\n\tnativeCacheHit: boolean;\n\trebuild: () => Promise<AbsoluteIosDevSession>;\n\trelaunch: () => Promise<void>;\n\tscreenshot: (destination: string) => Promise<string>;\n\tstartedSimulator: boolean;\n\tstate: AbsoluteIosDevState;\n\ttimings: Record<string, number>;\n\tudid: string;\n};\n\nexport type AbsoluteIosDevPhaseTiming = {\n\tdurationMs: number;\n\tphase: AbsoluteIosDevState;\n\ttotalMs: number;\n};\n\nexport type PrepareAbsoluteIosDevOptions = {\n\tcreateNativeProject: boolean;\n\tprojectRoot: string;\n\trun?: (\n\t\tcommand: string[],\n\t\toptions?: AbsoluteIosCommandOptions\n\t) => Promise<number>;\n};\n\nexport type StartAbsoluteIosDevOptions = {\n\tcapture?: (\n\t\tcommand: string[],\n\t\toptions?: AbsoluteIosCommandOptions\n\t) => AbsoluteIosCommandResult;\n\thttps?: boolean;\n\tlog?: (message: string) => void;\n\tnativeLog?: (entry: AbsoluteIosNativeLogEntry) => void;\n\tonPhaseTiming?: (timing: AbsoluteIosDevPhaseTiming) => void;\n\tonStateChange?: (state: AbsoluteIosDevState) => void;\n\tport: number;\n\tproject: AbsoluteIosDevProject;\n\trun?: (\n\t\tcommand: string[],\n\t\toptions?: AbsoluteIosCommandOptions\n\t) => Promise<number>;\n\tsignal?: AbortSignal;\n\tsleep?: (milliseconds: number) => Promise<void>;\n\tspawn?: (command: string[], options?: AbsoluteIosCommandOptions) => void;\n\tstartNativeLogs?: (\n\t\tcommand: string[],\n\t\toptions: AbsoluteIosCommandOptions,\n\t\tonLine: (line: string) => void\n\t) => AbsoluteIosLogStream;\n};\n\ntype IosRuntime = {\n\tidentifier: string;\n\tisAvailable: boolean;\n\tname: string;\n\tversion: string;\n};\n\ntype IosDeviceType = { identifier: string; name: string };\n\ntype IosDevJournal = {\n\tconfigBackupPath: string;\n\tformat: number;\n\tinfoBackupPath: string;\n\tinfoPath: string;\n\tnativeConfigPath: string;\n};\n\ntype IosNativeCache = {\n\tappId: string;\n\tfingerprint: string;\n\tformat: number;\n\tinstallations: Record<string, string>;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst pathExists = async (path: string) => {\n\ttry {\n\t\tawait access(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst throwIfAborted = (signal?: AbortSignal) => signal?.throwIfAborted();\n\nconst defaultCapture = (\n\tcommand: string[],\n\toptions: AbsoluteIosCommandOptions = {}\n) => {\n\ttry {\n\t\tconst result = Bun.spawnSync(command, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: options.env,\n\t\t\tstderr: 'pipe',\n\t\t\tstdin: 'ignore',\n\t\t\tstdout: 'pipe'\n\t\t});\n\n\t\treturn {\n\t\t\texitCode: result.exitCode,\n\t\t\tstderr: result.stderr.toString(),\n\t\t\tstdout: result.stdout.toString()\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\texitCode: 1,\n\t\t\tstderr: error instanceof Error ? error.message : String(error),\n\t\t\tstdout: ''\n\t\t};\n\t}\n};\n\nconst defaultRun = async (\n\tcommand: string[],\n\toptions: AbsoluteIosCommandOptions = {}\n) => {\n\tconst process = Bun.spawn(command, {\n\t\tcwd: options.cwd,\n\t\tenv: options.env,\n\t\tsignal: options.signal,\n\t\tstderr: 'inherit',\n\t\tstdin: 'inherit',\n\t\tstdout: 'inherit'\n\t});\n\n\treturn process.exited;\n};\n\nconst defaultSpawn = (\n\tcommand: string[],\n\toptions: AbsoluteIosCommandOptions = {}\n) => {\n\tBun.spawn(command, {\n\t\tcwd: options.cwd,\n\t\tenv: options.env,\n\t\tsignal: options.signal,\n\t\tstderr: 'ignore',\n\t\tstdin: 'ignore',\n\t\tstdout: 'ignore'\n\t});\n};\n\nconst consumeLines = async (\n\tstream: ReadableStream<Uint8Array>,\n\tonLine: (line: string) => void\n) => {\n\tconst reader = stream.getReader();\n\tconst decoder = new TextDecoder();\n\tlet buffered = '';\n\tconst pump = async (): Promise<void> => {\n\t\tconst { done, value } = await reader.read();\n\t\tif (done) return;\n\t\tbuffered += decoder.decode(value, { stream: true });\n\t\tconst lines = buffered.split(/\\r?\\n/u);\n\t\tbuffered = lines.pop() ?? '';\n\t\tlines.forEach(onLine);\n\n\t\tawait pump();\n\t};\n\ttry {\n\t\tawait pump();\n\t\tbuffered += decoder.decode();\n\t\tif (buffered) onLine(buffered);\n\t} finally {\n\t\treader.releaseLock();\n\t}\n};\n\nconst defaultStartNativeLogs = (\n\tcommand: string[],\n\toptions: AbsoluteIosCommandOptions,\n\tonLine: (line: string) => void\n): AbsoluteIosLogStream => {\n\tconst process = Bun.spawn(command, {\n\t\tcwd: options.cwd,\n\t\tenv: options.env,\n\t\tsignal: options.signal,\n\t\tstderr: 'pipe',\n\t\tstdin: 'ignore',\n\t\tstdout: 'pipe'\n\t});\n\tvoid consumeLines(process.stdout, onLine);\n\tvoid consumeLines(process.stderr, onLine);\n\n\treturn {\n\t\tclose: async () => {\n\t\t\ttry {\n\t\t\t\tprocess.kill();\n\t\t\t} catch {\n\t\t\t\t/* already closed */\n\t\t\t}\n\t\t\tawait process.exited.catch(() => undefined);\n\t\t}\n\t};\n};\n\nconst requireSuccess = async (\n\tcommand: string[],\n\tlabel: string,\n\trun: NonNullable<StartAbsoluteIosDevOptions['run']>,\n\toptions?: AbsoluteIosCommandOptions\n) => {\n\tconst exitCode = await run(command, options);\n\tif (exitCode !== 0)\n\t\tthrow new Error(`${label} failed with status ${exitCode}.`);\n};\n\nconst requireCapturedSuccess = (\n\tresult: AbsoluteIosCommandResult,\n\tlabel: string\n) => {\n\tif (result.exitCode !== 0) {\n\t\tthrow new Error(\n\t\t\t`${label} failed: ${result.stderr.trim() || result.stdout.trim() || `status ${result.exitCode}`}`\n\t\t);\n\t}\n\n\treturn result.stdout.trim();\n};\n\nconst parseJson = (source: string, label: string) => {\n\ttry {\n\t\tconst parsed: unknown = JSON.parse(source);\n\t\tif (isRecord(parsed)) return parsed;\n\t} catch {\n\t\t/* normalized below */\n\t}\n\tthrow new Error(`Invalid ${label} JSON from simctl.`);\n};\n\nexport const parseIosDeviceTypes = (source: string) => {\n\tconst parsed = parseJson(source, 'device type');\n\tconst types = parsed.devicetypes;\n\tif (!Array.isArray(types)) return [];\n\n\treturn types.flatMap((type) => {\n\t\tif (!isRecord(type)) return [];\n\t\tconst { identifier } = type;\n\t\tconst { name } = type;\n\n\t\treturn typeof identifier === 'string' && typeof name === 'string'\n\t\t\t? [{ identifier, name }]\n\t\t\t: [];\n\t});\n};\nexport const parseIosRuntimes = (source: string) => {\n\tconst parsed = parseJson(source, 'runtime');\n\tconst { runtimes } = parsed;\n\tif (!Array.isArray(runtimes)) return [];\n\n\treturn runtimes.flatMap((runtime) => {\n\t\tif (!isRecord(runtime)) return [];\n\t\tconst { identifier } = runtime;\n\t\tconst { name } = runtime;\n\t\tconst { version } = runtime;\n\t\tif (\n\t\t\ttypeof identifier !== 'string' ||\n\t\t\ttypeof name !== 'string' ||\n\t\t\ttypeof version !== 'string'\n\t\t)\n\t\t\treturn [];\n\n\t\treturn [\n\t\t\t{\n\t\t\t\tidentifier,\n\t\t\t\tisAvailable: runtime.isAvailable !== false,\n\t\t\t\tname,\n\t\t\t\tversion\n\t\t\t}\n\t\t];\n\t});\n};\nexport const parseIosSimulators = (source: string) => {\n\tconst parsed = parseJson(source, 'device');\n\tconst { devices } = parsed;\n\tif (!isRecord(devices)) return [];\n\n\treturn Object.entries(devices).flatMap(([runtime, values]) => {\n\t\tif (!Array.isArray(values)) return [];\n\n\t\treturn values.flatMap((device) => {\n\t\t\tif (!isRecord(device)) return [];\n\t\t\tconst { name } = device;\n\t\t\tconst { state } = device;\n\t\t\tconst { udid } = device;\n\t\t\tif (\n\t\t\t\ttypeof name !== 'string' ||\n\t\t\t\ttypeof state !== 'string' ||\n\t\t\t\ttypeof udid !== 'string'\n\t\t\t)\n\t\t\t\treturn [];\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tisAvailable: device.isAvailable !== false,\n\t\t\t\t\tname,\n\t\t\t\t\truntime,\n\t\t\t\t\tstate,\n\t\t\t\t\tudid\n\t\t\t\t}\n\t\t\t];\n\t\t});\n\t});\n};\n\nconst versionParts = (version: string) =>\n\tversion.split('.').map((part) => Number(part));\n\nconst compareVersions = (left: string, right: string) => {\n\tconst leftParts = versionParts(left);\n\tconst rightParts = versionParts(right);\n\tconst length = Math.max(leftParts.length, rightParts.length);\n\tfor (let index = 0; index < length; index++) {\n\t\tconst difference = (leftParts[index] ?? 0) - (rightParts[index] ?? 0);\n\t\tif (difference !== 0) return difference;\n\t}\n\n\treturn 0;\n};\n\nconst latestIosRuntime = (runtimes: IosRuntime[]) =>\n\truntimes\n\t\t.filter(\n\t\t\t(runtime) =>\n\t\t\t\truntime.isAvailable &&\n\t\t\t\truntime.identifier.includes('SimRuntime.iOS-')\n\t\t)\n\t\t.sort((left, right) => compareVersions(right.version, left.version))[0];\n\nconst iphoneGeneration = (name: string) =>\n\tNumber(/iPhone\\s+(\\d+)/u.exec(name)?.[1] ?? 0);\n\nconst preferredIphoneType = (types: IosDeviceType[]) =>\n\ttypes\n\t\t.filter((type) => type.name.startsWith('iPhone'))\n\t\t.sort((left, right) => {\n\t\t\tconst generation =\n\t\t\t\tiphoneGeneration(right.name) - iphoneGeneration(left.name);\n\t\t\tif (generation !== 0) return generation;\n\t\t\tconst rightPro = right.name.includes('Pro') ? 1 : 0;\n\t\t\tconst leftPro = left.name.includes('Pro') ? 1 : 0;\n\n\t\t\treturn rightPro - leftPro;\n\t\t})[0];\n\nconst journalPaths = (projectRoot: string) => {\n\tconst root = join(projectRoot, '.absolutejs', 'mobile', 'ios-dev-session');\n\n\treturn {\n\t\tconfigBackup: join(root, 'capacitor-config.backup'),\n\t\tinfoBackup: join(root, 'Info.plist.backup'),\n\t\tjournal: join(root, 'journal.json'),\n\t\troot\n\t};\n};\n\nconst nativeCachePath = (projectRoot: string) =>\n\tjoin(projectRoot, '.absolutejs', 'mobile', 'ios-native-cache.json');\n\nconst isInside = (root: string, path: string) => {\n\tconst value = relative(resolve(root), resolve(path));\n\n\treturn (\n\t\tvalue === '' ||\n\t\t(!value.startsWith(`..${sep}`) && value !== '..' && !isAbsolute(value))\n\t);\n};\n\nconst parseJournal = (value: unknown): IosDevJournal | null => {\n\tif (!isRecord(value) || value.format !== DEV_JOURNAL_FORMAT) return null;\n\tconst { configBackupPath } = value;\n\tconst { infoBackupPath } = value;\n\tconst { infoPath } = value;\n\tconst { nativeConfigPath } = value;\n\tif (\n\t\ttypeof configBackupPath !== 'string' ||\n\t\ttypeof infoBackupPath !== 'string' ||\n\t\ttypeof infoPath !== 'string' ||\n\t\ttypeof nativeConfigPath !== 'string'\n\t)\n\t\treturn null;\n\n\treturn {\n\t\tconfigBackupPath,\n\t\tformat: DEV_JOURNAL_FORMAT,\n\t\tinfoBackupPath,\n\t\tinfoPath,\n\t\tnativeConfigPath\n\t};\n};\n\nexport const repairAbsoluteIosDevSession = async (projectRoot: string) => {\n\tconst paths = journalPaths(projectRoot);\n\tif (!(await pathExists(paths.journal))) {\n\t\tawait rm(paths.root, { force: true, recursive: true });\n\n\t\treturn false;\n\t}\n\tconst journal = await readFile(paths.journal, 'utf8')\n\t\t.then((source) => parseJournal(JSON.parse(source)))\n\t\t.catch(() => null);\n\tif (\n\t\t!journal ||\n\t\t!isInside(projectRoot, journal.nativeConfigPath) ||\n\t\t!isInside(projectRoot, journal.infoPath) ||\n\t\t!isInside(paths.root, journal.configBackupPath) ||\n\t\t!isInside(paths.root, journal.infoBackupPath)\n\t) {\n\t\tthrow new Error(\n\t\t\t`Refusing unsafe or invalid iOS dev journal at ${paths.journal}.`\n\t\t);\n\t}\n\tif (await pathExists(journal.configBackupPath))\n\t\tawait copyFile(journal.configBackupPath, journal.nativeConfigPath);\n\tif (await pathExists(journal.infoBackupPath))\n\t\tawait copyFile(journal.infoBackupPath, journal.infoPath);\n\tawait rm(paths.root, { force: true, recursive: true });\n\n\treturn true;\n};\n\nconst iosDevelopmentInfoPlist = (source: string, cleartext: boolean) => {\n\tif (!cleartext) return source;\n\tconst arbitraryLoads =\n\t\t/(<key>NSAllowsArbitraryLoads<\\/key>\\s*)<false\\s*\\/>/u;\n\tif (arbitraryLoads.test(source))\n\t\treturn source.replace(arbitraryLoads, '$1<true/>');\n\tif (/<key>NSAllowsArbitraryLoads<\\/key>\\s*<true\\s*\\/>/u.test(source))\n\t\treturn source;\n\tconst transport = /(<key>NSAppTransportSecurity<\\/key>\\s*<dict>)/u;\n\tif (transport.test(source))\n\t\treturn source.replace(\n\t\t\ttransport,\n\t\t\t'$1\\n\\t\\t<key>NSAllowsArbitraryLoads</key>\\n\\t\\t<true/>'\n\t\t);\n\n\treturn source.replace(\n\t\t/<dict>/u,\n\t\t'<dict>\\n\\t<key>NSAppTransportSecurity</key>\\n\\t<dict>\\n\\t\\t<key>NSAllowsArbitraryLoads</key>\\n\\t\\t<true/>\\n\\t</dict>'\n\t);\n};\n\nconst writeDevProjection = async (\n\tproject: AbsoluteIosDevProject,\n\tport: number,\n\thttps: boolean\n) => {\n\tconst paths = journalPaths(project.projectRoot);\n\tawait repairAbsoluteIosDevSession(project.projectRoot);\n\tconst nativeConfigPath = join(\n\t\tproject.nativeDirectory,\n\t\t'App',\n\t\t'App',\n\t\t'capacitor.config.json'\n\t);\n\tconst infoPath = join(project.nativeDirectory, 'App', 'App', 'Info.plist');\n\tconst [configSource, infoSource] = await Promise.all([\n\t\treadFile(nativeConfigPath, 'utf8'),\n\t\treadFile(infoPath, 'utf8')\n\t]);\n\tconst parsed: unknown = JSON.parse(configSource);\n\tif (!isRecord(parsed))\n\t\tthrow new Error(\n\t\t\t`Invalid Capacitor native config at ${nativeConfigPath}.`\n\t\t);\n\tawait mkdir(paths.root, { recursive: true });\n\tawait Promise.all([\n\t\twriteFile(paths.configBackup, configSource, { flag: 'wx' }),\n\t\twriteFile(paths.infoBackup, infoSource, { flag: 'wx' })\n\t]);\n\tconst journal: IosDevJournal = {\n\t\tconfigBackupPath: paths.configBackup,\n\t\tformat: DEV_JOURNAL_FORMAT,\n\t\tinfoBackupPath: paths.infoBackup,\n\t\tinfoPath,\n\t\tnativeConfigPath\n\t};\n\tawait writeFile(paths.journal, `${JSON.stringify(journal, null, '\\t')}\\n`, {\n\t\tflag: 'wx'\n\t});\n\tconst developmentUrl = new URL(\n\t\t`${https ? 'https' : 'http'}://localhost:${port}${project.config.entry}`\n\t);\n\tdevelopmentUrl.searchParams.set('__absolute_target', 'capacitor-ios');\n\tconst existingServer = parsed.server;\n\tparsed.server = {\n\t\t...(isRecord(existingServer) ? existingServer : {}),\n\t\tcleartext: !https,\n\t\turl: developmentUrl.href\n\t};\n\tawait Promise.all([\n\t\twriteFile(nativeConfigPath, `${JSON.stringify(parsed, null, '\\t')}\\n`),\n\t\twriteFile(infoPath, iosDevelopmentInfoPlist(infoSource, !https))\n\t]);\n};\n\nconst parseNativeCache = (value: unknown): IosNativeCache | null => {\n\tif (!isRecord(value)) return null;\n\tconst { appId, fingerprint, format, installations } = value;\n\tif (\n\t\tformat !== NATIVE_CACHE_FORMAT ||\n\t\ttypeof appId !== 'string' ||\n\t\ttypeof fingerprint !== 'string' ||\n\t\t!isRecord(installations) ||\n\t\t!Object.values(installations).every(\n\t\t\t(identity) => typeof identity === 'string'\n\t\t)\n\t)\n\t\treturn null;\n\n\treturn {\n\t\tappId,\n\t\tfingerprint,\n\t\tformat,\n\t\tinstallations: Object.fromEntries(\n\t\t\tObject.entries(installations).map(([udid, identity]) => [\n\t\t\t\tudid,\n\t\t\t\tString(identity)\n\t\t\t])\n\t\t)\n\t};\n};\n\nconst readNativeCache = (projectRoot: string) =>\n\treadFile(nativeCachePath(projectRoot), 'utf8')\n\t\t.then((source) => parseNativeCache(JSON.parse(source)))\n\t\t.catch(() => null);\n\nconst writeNativeCache = async (projectRoot: string, cache: IosNativeCache) => {\n\tconst destination = nativeCachePath(projectRoot);\n\tconst temporary = `${destination}.${process.pid}.${randomUUID()}.tmp`;\n\tawait mkdir(dirname(destination), { recursive: true });\n\ttry {\n\t\tawait writeFile(temporary, `${JSON.stringify(cache, null, '\\t')}\\n`, {\n\t\t\tflag: 'wx'\n\t\t});\n\t\tawait rename(temporary, destination);\n\t} finally {\n\t\tawait rm(temporary, { force: true }).catch(() => undefined);\n\t}\n};\n\nexport const fingerprintAbsoluteIosDevProject = async (\n\tproject: Pick<AbsoluteIosDevProject, 'nativeDirectory'>\n) => fingerprintAbsoluteIosNativeProject(project.nativeDirectory);\n\nconst simulatorInventory = (\n\txcrun: string,\n\tcapture: NonNullable<StartAbsoluteIosDevOptions['capture']>\n) => {\n\tconst result = capture([\n\t\txcrun,\n\t\t'simctl',\n\t\t'list',\n\t\t'devices',\n\t\t'available',\n\t\t'-j'\n\t]);\n\n\treturn parseIosSimulators(\n\t\trequireCapturedSuccess(result, 'iOS simulator discovery')\n\t);\n};\n\nconst ensureManagedSimulator = async (\n\tproject: AbsoluteIosDevProject,\n\tcapture: NonNullable<StartAbsoluteIosDevOptions['capture']>\n) => {\n\tconst runtimes = parseIosRuntimes(\n\t\trequireCapturedSuccess(\n\t\t\tcapture([project.xcrun, 'simctl', 'list', 'runtimes', '-j']),\n\t\t\t'iOS runtime discovery'\n\t\t)\n\t);\n\tconst runtime = latestIosRuntime(runtimes);\n\tif (!runtime)\n\t\tthrow new Error(\n\t\t\t'No available iOS Simulator runtime. Run absolute mobile doctor ios --fix.'\n\t\t);\n\tconst [existing] = simulatorInventory(project.xcrun, capture)\n\t\t.filter(\n\t\t\t(device) =>\n\t\t\t\tdevice.isAvailable &&\n\t\t\t\tdevice.name === ABSOLUTE_IOS_SIMULATOR_NAME &&\n\t\t\t\tdevice.runtime === runtime.identifier\n\t\t)\n\t\t.sort(\n\t\t\t(left, right) =>\n\t\t\t\tNumber(right.state === 'Booted') -\n\t\t\t\tNumber(left.state === 'Booted')\n\t\t);\n\tif (existing) return { created: false, device: existing };\n\tconst types = parseIosDeviceTypes(\n\t\trequireCapturedSuccess(\n\t\t\tcapture([project.xcrun, 'simctl', 'list', 'devicetypes', '-j']),\n\t\t\t'iOS device-type discovery'\n\t\t)\n\t);\n\tconst type = preferredIphoneType(types);\n\tif (!type)\n\t\tthrow new Error('Xcode did not report an iPhone simulator type.');\n\tconst [udid] = requireCapturedSuccess(\n\t\tcapture([\n\t\t\tproject.xcrun,\n\t\t\t'simctl',\n\t\t\t'create',\n\t\t\tABSOLUTE_IOS_SIMULATOR_NAME,\n\t\t\ttype.identifier,\n\t\t\truntime.identifier\n\t\t]),\n\t\t'iOS simulator creation'\n\t).split(/\\s/u);\n\tif (!udid)\n\t\tthrow new Error('simctl did not return the created simulator UDID.');\n\n\treturn {\n\t\tcreated: true,\n\t\tdevice: {\n\t\t\tisAvailable: true,\n\t\t\tname: ABSOLUTE_IOS_SIMULATOR_NAME,\n\t\t\truntime: runtime.identifier,\n\t\t\tstate: 'Shutdown',\n\t\t\tudid\n\t\t}\n\t};\n};\n\nconst waitForBootedSimulator = async (\n\tproject: AbsoluteIosDevProject,\n\tudid: string,\n\tcapture: NonNullable<StartAbsoluteIosDevOptions['capture']>,\n\tsleep: NonNullable<StartAbsoluteIosDevOptions['sleep']>,\n\tsignal?: AbortSignal\n) => {\n\tconst deadline = Date.now() + BOOT_TIMEOUT_MS;\n\tconst poll = async (): Promise<void> => {\n\t\tthrowIfAborted(signal);\n\t\tconst device = simulatorInventory(project.xcrun, capture).find(\n\t\t\t(candidate) => candidate.udid === udid\n\t\t);\n\t\tif (device?.state === 'Booted') return;\n\t\tif (Date.now() > deadline)\n\t\t\tthrow new Error(\n\t\t\t\t`iOS simulator ${udid} did not finish booting within ${BOOT_TIMEOUT_MS / 1_000}s.`\n\t\t\t);\n\t\tawait sleep(BOOT_POLL_MS);\n\n\t\tawait poll();\n\t};\n\n\treturn poll();\n};\n\nconst bootSimulator = (\n\tproject: AbsoluteIosDevProject,\n\tdevice: ReturnType<typeof parseIosSimulators>[number],\n\tcapture: NonNullable<StartAbsoluteIosDevOptions['capture']>\n) => {\n\tif (device.state === 'Booted') return;\n\trequireCapturedSuccess(\n\t\tcapture([project.xcrun, 'simctl', 'boot', device.udid]),\n\t\t'iOS simulator boot'\n\t);\n};\n\nconst installedAppIdentity = (\n\tproject: AbsoluteIosDevProject,\n\tudid: string,\n\tcapture: NonNullable<StartAbsoluteIosDevOptions['capture']>\n) => {\n\tconst result = capture([\n\t\tproject.xcrun,\n\t\t'simctl',\n\t\t'get_app_container',\n\t\tudid,\n\t\tproject.config.appId,\n\t\t'app'\n\t]);\n\n\treturn result.exitCode === 0 && result.stdout.trim()\n\t\t? result.stdout.trim()\n\t\t: undefined;\n};\n\nconst buildIosDebugApp = async (\n\tproject: AbsoluteIosDevProject,\n\tudid: string,\n\tfingerprint: string,\n\trun: NonNullable<StartAbsoluteIosDevOptions['run']>,\n\tsignal?: AbortSignal\n) => {\n\tconst derivedDataPath = join(\n\t\tproject.projectRoot,\n\t\t'.absolutejs',\n\t\t'mobile',\n\t\t'ios-derived-data',\n\t\tcreateHash('sha256')\n\t\t\t.update(project.config.appId)\n\t\t\t.digest('hex')\n\t\t\t.slice(0, 16)\n\t);\n\tawait mkdir(derivedDataPath, { recursive: true });\n\tawait requireSuccess(\n\t\t[\n\t\t\tproject.xcodebuild,\n\t\t\t'-workspace',\n\t\t\tjoin(project.nativeDirectory, 'App', 'App.xcworkspace'),\n\t\t\t'-scheme',\n\t\t\t'App',\n\t\t\t'-configuration',\n\t\t\t'Debug',\n\t\t\t'-destination',\n\t\t\t`platform=iOS Simulator,id=${udid}`,\n\t\t\t'-derivedDataPath',\n\t\t\tderivedDataPath,\n\t\t\t'build'\n\t\t],\n\t\t'iOS simulator build',\n\t\trun,\n\t\t{ cwd: project.nativeDirectory, signal }\n\t);\n\tconst appPath = join(\n\t\tderivedDataPath,\n\t\t'Build',\n\t\t'Products',\n\t\t'Debug-iphonesimulator',\n\t\t'App.app'\n\t);\n\tif (!(await pathExists(appPath)))\n\t\tthrow new Error(\n\t\t\t`Xcode did not produce the simulator app at ${appPath}.`\n\t\t);\n\n\treturn appPath;\n};\n\nconst ensureIosDebugApp = async (options: {\n\tcache: IosNativeCache | null;\n\tcapture: NonNullable<StartAbsoluteIosDevOptions['capture']>;\n\tfingerprint: string;\n\tlog: NonNullable<StartAbsoluteIosDevOptions['log']>;\n\tproject: AbsoluteIosDevProject;\n\trun: NonNullable<StartAbsoluteIosDevOptions['run']>;\n\tsignal?: AbortSignal;\n\ttransition: (state: AbsoluteIosDevState) => void;\n\tudid: string;\n}) => {\n\tconst installed = installedAppIdentity(\n\t\toptions.project,\n\t\toptions.udid,\n\t\toptions.capture\n\t);\n\tconst cacheHit =\n\t\toptions.cache?.appId === options.project.config.appId &&\n\t\toptions.cache.fingerprint === options.fingerprint &&\n\t\tinstalled !== undefined &&\n\t\toptions.cache.installations[options.udid] === installed;\n\tif (cacheHit) {\n\t\toptions.log(\n\t\t\t`iOS native app is unchanged on ${options.udid}; skipped Xcode build and install.`\n\t\t);\n\n\t\treturn true;\n\t}\n\toptions.log(\n\t\t'iOS native inputs changed or the installed app is stale; rebuilding.'\n\t);\n\toptions.transition('building');\n\tconst appPath = await buildIosDebugApp(\n\t\toptions.project,\n\t\toptions.udid,\n\t\toptions.fingerprint,\n\t\toptions.run,\n\t\toptions.signal\n\t);\n\tthrowIfAborted(options.signal);\n\toptions.transition('installing');\n\tawait requireSuccess(\n\t\t[options.project.xcrun, 'simctl', 'install', options.udid, appPath],\n\t\t'iOS simulator app installation',\n\t\toptions.run,\n\t\t{ signal: options.signal }\n\t);\n\tconst updated = installedAppIdentity(\n\t\toptions.project,\n\t\toptions.udid,\n\t\toptions.capture\n\t);\n\tif (updated) {\n\t\tawait writeNativeCache(options.project.projectRoot, {\n\t\t\tappId: options.project.config.appId,\n\t\t\tfingerprint: options.fingerprint,\n\t\t\tformat: NATIVE_CACHE_FORMAT,\n\t\t\tinstallations: { [options.udid]: updated }\n\t\t}).catch((error) =>\n\t\t\toptions.log(\n\t\t\t\t`iOS native cache could not be saved: ${error instanceof Error ? error.message : String(error)}`\n\t\t\t)\n\t\t);\n\t}\n\n\treturn false;\n};\n\nconst SECRET_VALUE =\n\t/((?:authorization|cookie|password|secret|token|oauth[_-]?code)\\s*[:=]\\s*)([^\\s,;]+)/giu;\nconst BEARER_VALUE = new RegExp(\n\tString.raw`\\bBearer\\s+[A-Za-z0-9._~+/-]+=*`,\n\t'giu'\n);\nconst JWT_VALUE = /\\beyJ[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\b/gu;\nconst IOS_LOG_PATTERN = new RegExp(\n\tString.raw`\\s(Debug|Info|Notice|Error|Fault)\\s+.*?\\[[^\\]]+\\]\\s+\\[([^\\]]+)\\]\\s*(.*)$`,\n\t'iu'\n);\n\nexport const parseAbsoluteIosLogLine = (\n\tline: string\n): AbsoluteIosNativeLogEntry | null => {\n\tconst sanitized = redactAbsoluteIosLog(line).trim();\n\tif (!sanitized) return null;\n\tconst match = IOS_LOG_PATTERN.exec(sanitized);\n\tconst candidate = match?.[1]?.toLowerCase();\n\tconst level =\n\t\tcandidate === 'debug' ||\n\t\tcandidate === 'error' ||\n\t\tcandidate === 'fault' ||\n\t\tcandidate === 'notice'\n\t\t\t? candidate\n\t\t\t: 'info';\n\n\treturn {\n\t\tlevel,\n\t\tmessage: match?.[3]?.trim() || sanitized,\n\t\ttag: match?.[2]?.trim() || 'App'\n\t};\n};\nexport const redactAbsoluteIosLog = (value: string) =>\n\tvalue\n\t\t.replaceAll(BEARER_VALUE, 'Bearer [REDACTED]')\n\t\t.replaceAll(JWT_VALUE, '[REDACTED_JWT]')\n\t\t.replaceAll(SECRET_VALUE, '$1[REDACTED]')\n\t\t.replaceAll(/\\p{C}/gu, '');\n\nconst attachNativeLogs = (\n\tproject: AbsoluteIosDevProject,\n\tudid: string,\n\toptions: StartAbsoluteIosDevOptions\n) => {\n\tif (!options.nativeLog) return null;\n\tconst start = options.startNativeLogs ?? defaultStartNativeLogs;\n\n\treturn start(\n\t\t[\n\t\t\tproject.xcrun,\n\t\t\t'simctl',\n\t\t\t'spawn',\n\t\t\tudid,\n\t\t\t'log',\n\t\t\t'stream',\n\t\t\t'--style',\n\t\t\t'compact',\n\t\t\t'--level',\n\t\t\t'debug',\n\t\t\t'--predicate',\n\t\t\t'process == \"App\"'\n\t\t],\n\t\t{ signal: options.signal },\n\t\t(line) => {\n\t\t\tconst entry = parseAbsoluteIosLogLine(line);\n\t\t\tif (entry) options.nativeLog?.(entry);\n\t\t}\n\t);\n};\n\nconst IOS_TIMING_PHASES: Array<[string, string]> = [\n\t['syncing', 'Capacitor sync'],\n\t['configuring', 'dev config'],\n\t['fingerprinting', 'fingerprint'],\n\t['booting', 'simulator'],\n\t['connecting', 'device ready'],\n\t['checking-native', 'app check'],\n\t['building', 'Xcode'],\n\t['installing', 'install'],\n\t['launching', 'launch'],\n\t['streaming-logs', 'logs']\n];\n\nconst timingSummary = (timings: Record<string, number>) =>\n\tIOS_TIMING_PHASES.map(([phase, label]) => {\n\t\tconst duration = timings[phase];\n\n\t\treturn duration === undefined\n\t\t\t? null\n\t\t\t: `${label} ${getDurationString(duration)}`;\n\t})\n\t\t.filter((value): value is string => value !== null)\n\t\t.join(', ');\n\nexport const prepareAbsoluteIosDevProject = async (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\toptions: PrepareAbsoluteIosDevOptions\n): Promise<AbsoluteIosDevProject> => {\n\tif (detectAbsoluteMobileHost() !== 'macos')\n\t\tthrow new Error('iOS simulation requires macOS and Xcode.');\n\tconst projectRoot = resolve(options.projectRoot);\n\tconst checks = await inspectAbsoluteMobileToolchain({ host: 'macos' });\n\tconst failed = checks.filter(\n\t\t(check) =>\n\t\t\tcheck.platform === 'ios' &&\n\t\t\t(check.status === 'fail' || check.status === 'warn')\n\t);\n\tif (failed.length > 0)\n\t\tthrow new Error(\n\t\t\t`iOS simulation is not ready: ${failed.map(({ label }) => label).join(', ')}.`\n\t\t);\n\tconst xcrun = checks.find((check) => check.id === 'ios.xcrun')?.path;\n\tconst xcodebuild = checks.find(\n\t\t(check) => check.id === 'ios.xcodebuild'\n\t)?.path;\n\tif (!xcrun || !xcodebuild)\n\t\tthrow new Error('Xcode tools disappeared after readiness checks.');\n\tconst cap = join(projectRoot, 'node_modules', '.bin', 'cap');\n\tif (!(await pathExists(cap)))\n\t\tthrow new Error(\n\t\t\t'Capacitor CLI is not installed. Run absolute mobile init first.'\n\t\t);\n\tawait writeAbsoluteCapacitorConfig(config, { projectRoot });\n\tawait mkdir(config.bundleDirectory, { recursive: true });\n\tconst placeholder = join(config.bundleDirectory, 'index.html');\n\tif (!(await pathExists(placeholder)))\n\t\tawait writeFile(\n\t\t\tplaceholder,\n\t\t\t'<!doctype html><title>AbsoluteJS mobile development</title>\\n'\n\t\t);\n\tconst nativeDirectory = join(config.nativeProjectDirectory, 'ios');\n\tif (!(await pathExists(nativeDirectory))) {\n\t\tif (!options.createNativeProject)\n\t\t\tthrow new Error('iOS native project has not been created.');\n\t\tconst run = options.run ?? defaultRun;\n\t\tif ((await run([cap, 'add', 'ios'], { cwd: projectRoot })) !== 0)\n\t\t\tthrow new Error('Capacitor iOS project creation failed.');\n\t}\n\n\treturn {\n\t\tcap,\n\t\tconfig,\n\t\tnativeDirectory,\n\t\tprojectRoot,\n\t\txcodebuild,\n\t\txcrun\n\t};\n};\n\nexport const startAbsoluteIosDevSession = async (\n\toptions: StartAbsoluteIosDevOptions\n): Promise<AbsoluteIosDevSession> => {\n\tconst { project } = options;\n\tconst capture = options.capture ?? defaultCapture;\n\tconst run = options.run ?? defaultRun;\n\tconst sleep = options.sleep ?? Bun.sleep;\n\tconst spawn = options.spawn ?? defaultSpawn;\n\tconst log = options.log ?? console.log;\n\tconst startedAt = performance.now();\n\tlet phaseStartedAt = performance.now();\n\tconst timings: Record<string, number> = {};\n\tlet state: AbsoluteIosDevState = 'syncing';\n\tconst transition = (next: AbsoluteIosDevState) => {\n\t\tif (next === state) {\n\t\t\toptions.onStateChange?.(next);\n\n\t\t\treturn;\n\t\t}\n\t\tconst now = performance.now();\n\t\tconst durationMs = now - phaseStartedAt;\n\t\ttimings[state] = (timings[state] ?? 0) + durationMs;\n\t\toptions.onPhaseTiming?.({\n\t\t\tdurationMs,\n\t\t\tphase: state,\n\t\t\ttotalMs: now - startedAt\n\t\t});\n\t\tstate = next;\n\t\tphaseStartedAt = now;\n\t\toptions.onStateChange?.(next);\n\t};\n\tlet nativeLogs: AbsoluteIosLogStream | null = null;\n\tconst closeLogs = async () => {\n\t\tconst stream = nativeLogs;\n\t\tnativeLogs = null;\n\t\tawait stream?.close().catch(() => undefined);\n\t};\n\ttry {\n\t\tawait repairAbsoluteIosDevSession(project.projectRoot);\n\t\tthrowIfAborted(options.signal);\n\t\ttransition('syncing');\n\t\tawait requireSuccess(\n\t\t\t[project.cap, 'sync', 'ios'],\n\t\t\t'Capacitor iOS synchronization',\n\t\t\trun,\n\t\t\t{ cwd: project.projectRoot, signal: options.signal }\n\t\t);\n\t\ttransition('configuring');\n\t\tawait writeDevProjection(project, options.port, options.https === true);\n\t\tthrowIfAborted(options.signal);\n\t\tconst fingerprintStartedAt = performance.now();\n\t\tconst fingerprintPromise = fingerprintAbsoluteIosDevProject(\n\t\t\tproject\n\t\t).then((fingerprint) => {\n\t\t\ttimings.fingerprinting = performance.now() - fingerprintStartedAt;\n\n\t\t\treturn fingerprint;\n\t\t});\n\t\ttransition('booting');\n\t\tconst { created, device } = await ensureManagedSimulator(\n\t\t\tproject,\n\t\t\tcapture\n\t\t);\n\t\tconst startedSimulator = created || device.state !== 'Booted';\n\t\tbootSimulator(project, device, capture);\n\t\tspawn([\n\t\t\t'open',\n\t\t\t'-a',\n\t\t\t'Simulator',\n\t\t\t'--args',\n\t\t\t'-CurrentDeviceUDID',\n\t\t\tdevice.udid\n\t\t]);\n\t\ttransition('connecting');\n\t\tawait waitForBootedSimulator(\n\t\t\tproject,\n\t\t\tdevice.udid,\n\t\t\tcapture,\n\t\t\tsleep,\n\t\t\toptions.signal\n\t\t);\n\t\tawait requireSuccess(\n\t\t\t[project.xcrun, 'simctl', 'bootstatus', device.udid, '-b'],\n\t\t\t'iOS simulator boot readiness',\n\t\t\trun,\n\t\t\t{ signal: options.signal }\n\t\t);\n\t\tconst fingerprint = await fingerprintPromise;\n\t\ttransition('checking-native');\n\t\tconst nativeCacheHit = await ensureIosDebugApp({\n\t\t\tcache: await readNativeCache(project.projectRoot),\n\t\t\tcapture,\n\t\t\tfingerprint,\n\t\t\tlog,\n\t\t\tproject,\n\t\t\trun,\n\t\t\tsignal: options.signal,\n\t\t\ttransition,\n\t\t\tudid: device.udid\n\t\t});\n\t\tthrowIfAborted(options.signal);\n\t\tif (options.nativeLog) transition('streaming-logs');\n\t\tnativeLogs = attachNativeLogs(project, device.udid, options);\n\t\ttransition('launching');\n\t\tawait requireSuccess(\n\t\t\t[\n\t\t\t\tproject.xcrun,\n\t\t\t\t'simctl',\n\t\t\t\t'launch',\n\t\t\t\t'--terminate-running-process',\n\t\t\t\tdevice.udid,\n\t\t\t\tproject.config.appId\n\t\t\t],\n\t\t\t'iOS app launch',\n\t\t\trun,\n\t\t\t{ signal: options.signal }\n\t\t);\n\t\ttransition('ready');\n\t\ttimings.total = performance.now() - startedAt;\n\t\tlog(\n\t\t\t`iOS simulator connected (${device.udid}) with HMR on port ${options.port} in ${getDurationString(timings.total)} (${nativeCacheHit ? 'native cache hit' : 'native build installed'}).`\n\t\t);\n\t\tlog(`iOS startup: ${timingSummary(timings)}.`);\n\t\tlet closed = false;\n\t\tconst close = async () => {\n\t\t\tif (closed) return;\n\t\t\tclosed = true;\n\t\t\ttransition('closing');\n\t\t\tawait closeLogs();\n\t\t\tawait repairAbsoluteIosDevSession(project.projectRoot);\n\t\t\ttransition('closed');\n\t\t};\n\n\t\treturn {\n\t\t\tclose,\n\t\t\tnativeCacheHit,\n\t\t\tstartedSimulator,\n\t\t\ttimings: { ...timings },\n\t\t\tudid: device.udid,\n\t\t\trebuild: async () => {\n\t\t\t\tif (closed)\n\t\t\t\t\tthrow new Error('iOS development session is closed.');\n\t\t\t\tlog(\n\t\t\t\t\t'iOS native inputs changed; rebuilding without restarting the dev server.'\n\t\t\t\t);\n\t\t\t\tawait close();\n\n\t\t\t\treturn startAbsoluteIosDevSession(options);\n\t\t\t},\n\t\t\trelaunch: async () => {\n\t\t\t\tif (closed)\n\t\t\t\t\tthrow new Error('iOS development session is closed.');\n\t\t\t\ttransition('launching');\n\t\t\t\ttry {\n\t\t\t\t\tawait requireSuccess(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tproject.xcrun,\n\t\t\t\t\t\t\t'simctl',\n\t\t\t\t\t\t\t'launch',\n\t\t\t\t\t\t\t'--terminate-running-process',\n\t\t\t\t\t\t\tdevice.udid,\n\t\t\t\t\t\t\tproject.config.appId\n\t\t\t\t\t\t],\n\t\t\t\t\t\t'iOS app relaunch',\n\t\t\t\t\t\trun,\n\t\t\t\t\t\t{ signal: options.signal }\n\t\t\t\t\t);\n\t\t\t\t\ttransition('ready');\n\t\t\t\t\tlog(`iOS app relaunched on ${device.udid}.`);\n\t\t\t\t} catch (error) {\n\t\t\t\t\ttransition('failed');\n\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t},\n\t\t\tscreenshot: async (destination) => {\n\t\t\t\tconst resolved = resolve(project.projectRoot, destination);\n\t\t\t\tif (!isInside(project.projectRoot, resolved))\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t'iOS screenshot destination must remain inside the project.'\n\t\t\t\t\t);\n\t\t\t\tawait mkdir(dirname(resolved), { recursive: true });\n\t\t\t\tawait requireSuccess(\n\t\t\t\t\t[\n\t\t\t\t\t\tproject.xcrun,\n\t\t\t\t\t\t'simctl',\n\t\t\t\t\t\t'io',\n\t\t\t\t\t\tdevice.udid,\n\t\t\t\t\t\t'screenshot',\n\t\t\t\t\t\tresolved\n\t\t\t\t\t],\n\t\t\t\t\t'iOS simulator screenshot',\n\t\t\t\t\trun,\n\t\t\t\t\t{ signal: options.signal }\n\t\t\t\t);\n\n\t\t\t\treturn resolved;\n\t\t\t},\n\t\t\tget state() {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\ttransition('failed');\n\t\tawait closeLogs();\n\t\tawait repairAbsoluteIosDevSession(project.projectRoot);\n\n\t\tthrow error;\n\t}\n};\n",
18
+ "import { watch, type FSWatcher } from 'node:fs';\nimport { basename } from 'node:path';\nimport {\n\tfingerprintAbsoluteIosDevProject,\n\ttype AbsoluteIosDevProject\n} from './iosSimulatorController';\n\nconst NATIVE_CHANGE_DEBOUNCE_MS = 500;\nconst ROOT_NATIVE_INPUTS = new Set([\n\t'absolute.config.js',\n\t'absolute.config.mjs',\n\t'absolute.config.ts',\n\t'absolutejs.config.js',\n\t'absolutejs.config.mjs',\n\t'absolutejs.config.ts',\n\t'bun.lock',\n\t'bun.lockb',\n\t'capacitor.config.js',\n\t'capacitor.config.ts',\n\t'package.json'\n]);\n\nexport type AbsoluteIosNativeChange = {\n\tafterFingerprint: string;\n\tbeforeFingerprint: string;\n\tpaths: string[];\n\trootInputChanged: boolean;\n};\n\nexport type AbsoluteIosNativeWatcher = { close: () => void };\n\nexport type AbsoluteIosNativeWatcherOptions = {\n\tdebounceMs?: number;\n\tonChange: (change: AbsoluteIosNativeChange) => Promise<void>;\n\tonError?: (error: unknown) => void;\n\tproject: AbsoluteIosDevProject;\n\tsignal?: AbortSignal;\n};\n\nexport const createAbsoluteIosNativeWatcher = async (\n\toptions: AbsoluteIosNativeWatcherOptions\n): Promise<AbsoluteIosNativeWatcher> => {\n\tlet fingerprint = await fingerprintAbsoluteIosDevProject(options.project);\n\tlet closed = false;\n\tlet running = false;\n\tlet timer: ReturnType<typeof setTimeout> | undefined;\n\tlet rootInputChanged = false;\n\tconst changedPaths = new Set<string>();\n\tconst watchers: FSWatcher[] = [];\n\tconst debounceMs = options.debounceMs ?? NATIVE_CHANGE_DEBOUNCE_MS;\n\n\tconst close = () => {\n\t\tif (closed) return;\n\t\tclosed = true;\n\t\tif (timer) clearTimeout(timer);\n\t\twatchers.forEach((watcher) => watcher.close());\n\t\toptions.signal?.removeEventListener('abort', close);\n\t};\n\tconst schedule = () => {\n\t\tif (closed || running) return;\n\t\tif (timer) clearTimeout(timer);\n\t\ttimer = setTimeout(() => void flush(), debounceMs);\n\t};\n\tconst flush = async () => {\n\t\ttimer = undefined;\n\t\tif (closed || running || changedPaths.size === 0) return;\n\t\trunning = true;\n\t\tconst paths = [...changedPaths].sort();\n\t\tconst forced = rootInputChanged;\n\t\tchangedPaths.clear();\n\t\trootInputChanged = false;\n\t\ttry {\n\t\t\tconst next = await fingerprintAbsoluteIosDevProject(\n\t\t\t\toptions.project\n\t\t\t);\n\t\t\tif (!forced && next === fingerprint) return;\n\t\t\tawait options.onChange({\n\t\t\t\tafterFingerprint: next,\n\t\t\t\tbeforeFingerprint: fingerprint,\n\t\t\t\tpaths,\n\t\t\t\trootInputChanged: forced\n\t\t\t});\n\t\t\tfingerprint = await fingerprintAbsoluteIosDevProject(\n\t\t\t\toptions.project\n\t\t\t);\n\t\t} catch (error) {\n\t\t\toptions.onError?.(error);\n\t\t} finally {\n\t\t\trunning = false;\n\t\t\tif (changedPaths.size > 0) schedule();\n\t\t}\n\t};\n\tconst record = (path: string, force: boolean) => {\n\t\tif (closed) return;\n\t\tchangedPaths.add(path);\n\t\trootInputChanged ||= force;\n\t\tschedule();\n\t};\n\n\twatchers.push(\n\t\twatch(\n\t\t\toptions.project.nativeDirectory,\n\t\t\t{ recursive: true },\n\t\t\t(_event, filename) => {\n\t\t\t\tif (filename) record(String(filename), false);\n\t\t\t}\n\t\t)\n\t);\n\twatchers.push(\n\t\twatch(options.project.projectRoot, (_event, filename) => {\n\t\t\tif (!filename) return;\n\t\t\tconst path = String(filename);\n\t\t\tif (isAbsoluteIosNativeRootInput(path)) record(path, true);\n\t\t})\n\t);\n\twatchers.forEach((watcher) =>\n\t\twatcher.on('error', (error) => options.onError?.(error))\n\t);\n\toptions.signal?.addEventListener('abort', close, { once: true });\n\n\treturn { close };\n};\nexport const isAbsoluteIosNativeRootInput = (path: string) =>\n\tROOT_NATIVE_INPUTS.has(basename(path));\n",
19
+ "/* eslint-disable @typescript-eslint/consistent-type-assertions, absolute/max-depth-extended, no-await-in-loop -- This module validates persisted/remote input and consumes protocol streams sequentially. */\nimport { createHash, randomUUID } from 'node:crypto';\nimport { chmod, mkdir, readFile, rename, writeFile } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport {\n\tdirname,\n\tisAbsolute,\n\tjoin,\n\tposix,\n\trelative,\n\tresolve as resolvePath,\n\tsep\n} from 'node:path';\nimport type { MobileConfig } from '../../types/build';\nimport type { FileSink } from 'bun';\nimport type { NormalizedAbsoluteMobileConfig } from './config';\nimport type {\n\tAbsoluteIosDevPhaseTiming,\n\tAbsoluteIosDevSession,\n\tAbsoluteIosDevState,\n\tAbsoluteIosNativeLogEntry\n} from './iosSimulatorController';\nimport {\n\tABSOLUTE_REMOTE_MAC_EVENT_PREFIX,\n\tABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION\n} from './remoteMacWire';\nexport {\n\tABSOLUTE_REMOTE_MAC_EVENT_PREFIX,\n\tABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION\n} from './remoteMacWire';\n\nconst PROFILE_FORMAT = 1;\nconst PROFILE_NAME = /^[a-z0-9](?:[a-z0-9._-]{0,62}[a-z0-9])?$/u;\nconst SSH_DESTINATION = /^(?:[A-Za-z0-9._-]+@)?[A-Za-z0-9._:-]+$/u;\n\nexport type AbsoluteRemoteMacProfile = {\n\tbunPath: string;\n\tcreatedAt: string;\n\tdestination: string;\n\tname: string;\n\tport?: number;\n\tworkspaceRoot: string;\n\txcodeVersion: string;\n};\n\ntype ProfileStore = {\n\tdefaultProfile?: string;\n\tformat: number;\n\tprofiles: Record<string, AbsoluteRemoteMacProfile>;\n};\n\nexport type AbsoluteRemoteMacInspection = {\n\tbunPath: string;\n\thome: string;\n\tos: string;\n\txcodeVersion: string;\n};\n\nexport type AbsoluteRemoteIosDevProject = {\n\tcap: string;\n\tconfig: NormalizedAbsoluteMobileConfig;\n\tnativeDirectory: string;\n\tprojectRoot: string;\n\tprofile: AbsoluteRemoteMacProfile;\n\tremoteProjectRoot: string;\n\tremote: true;\n\txcodebuild: string;\n\txcrun: string;\n};\n\nexport type AbsoluteIosDevelopmentProject =\n\t| AbsoluteRemoteIosDevProject\n\t| (import('./iosSimulatorController').AbsoluteIosDevProject & {\n\t\t\tremote?: false;\n\t });\n\nexport type AbsoluteRemoteMacCommandResult = {\n\texitCode: number;\n\tstderr: string;\n\tstdout: string;\n};\n\nexport type AbsoluteRemoteMacTransport = {\n\tcapture: (command: string[]) => Promise<AbsoluteRemoteMacCommandResult>;\n\tspawn: (\n\t\tcommand: string[],\n\t\toptions: { signal?: AbortSignal }\n\t) => {\n\t\texited: Promise<number>;\n\t\tkill: () => void;\n\t\tstderr: ReadableStream<Uint8Array>;\n\t\tstdin: FileSink;\n\t\tstdout: ReadableStream<Uint8Array>;\n\t};\n};\n\nexport type AbsoluteRemoteIosOptions = {\n\thttps?: boolean;\n\tlog?: (message: string) => void;\n\tnativeLog?: (entry: AbsoluteIosNativeLogEntry) => void;\n\tonPhaseTiming?: (timing: AbsoluteIosDevPhaseTiming) => void;\n\tonStateChange?: (state: AbsoluteIosDevState) => void;\n\tport: number;\n\tproject: AbsoluteRemoteIosDevProject;\n\tsignal?: AbortSignal;\n\tinstallAgent?: (\n\t\tproject: AbsoluteRemoteIosDevProject\n\t) => Promise<{ remotePath: string; uploaded?: boolean }>;\n\tsyncProject?: (project: AbsoluteRemoteIosDevProject) => Promise<void>;\n\ttransport?: AbsoluteRemoteMacTransport;\n};\n\ntype RemoteEvent =\n\t| { entry: AbsoluteIosNativeLogEntry; type: 'native-log'; v: 1 }\n\t| { error: string; type: 'fatal'; v: 1 }\n\t| { message: string; type: 'log'; v: 1 }\n\t| { state: AbsoluteIosDevState; type: 'state'; v: 1 }\n\t| ({ type: 'timing'; v: 1 } & AbsoluteIosDevPhaseTiming)\n\t| {\n\t\t\tid: string;\n\t\t\tok: boolean;\n\t\t\tresult?: unknown;\n\t\t\terror?: string;\n\t\t\ttype: 'response';\n\t\t\tv: 1;\n\t }\n\t| {\n\t\t\tnativeCacheHit: boolean;\n\t\t\tstartedSimulator: boolean;\n\t\t\ttimings: Record<string, number>;\n\t\t\ttype: 'ready';\n\t\t\tudid: string;\n\t\t\tv: 1;\n\t };\n\nconst defaultProfilePath = () =>\n\tjoin(homedir(), '.absolutejs', 'mobile', 'remote-macs.json');\n\nconst emptyStore = (): ProfileStore => ({\n\tformat: PROFILE_FORMAT,\n\tprofiles: {}\n});\n\nconst loadStore = async (path = defaultProfilePath()) => {\n\ttry {\n\t\tconst parsed = JSON.parse(await readFile(path, 'utf8')) as ProfileStore;\n\t\tif (\n\t\t\tparsed.format !== PROFILE_FORMAT ||\n\t\t\ttypeof parsed.profiles !== 'object' ||\n\t\t\tparsed.profiles === null ||\n\t\t\tArray.isArray(parsed.profiles)\n\t\t)\n\t\t\tthrow new Error('Unsupported remote Mac profile format.');\n\t\tfor (const [key, profile] of Object.entries(parsed.profiles)) {\n\t\t\tif (\n\t\t\t\ttypeof profile !== 'object' ||\n\t\t\t\tprofile === null ||\n\t\t\t\tvalidateAbsoluteRemoteMacProfileName(key) !== key ||\n\t\t\t\tprofile.name !== key ||\n\t\t\t\tvalidateAbsoluteSshDestination(profile.destination) !==\n\t\t\t\t\tprofile.destination ||\n\t\t\t\tvalidatePort(profile.port) !== profile.port ||\n\t\t\t\ttypeof profile.createdAt !== 'string' ||\n\t\t\t\t!profile.createdAt ||\n\t\t\t\ttypeof profile.bunPath !== 'string' ||\n\t\t\t\t!profile.bunPath.startsWith('/') ||\n\t\t\t\t/[\\r\\n\\0]/u.test(profile.bunPath) ||\n\t\t\t\ttypeof profile.workspaceRoot !== 'string' ||\n\t\t\t\t!profile.workspaceRoot.startsWith('/') ||\n\t\t\t\tprofile.workspaceRoot === '/' ||\n\t\t\t\t/[\\r\\n\\0]/u.test(profile.workspaceRoot) ||\n\t\t\t\ttypeof profile.xcodeVersion !== 'string' ||\n\t\t\t\t!profile.xcodeVersion.startsWith('Xcode ')\n\t\t\t)\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Remote Mac profile ${JSON.stringify(key)} is invalid.`\n\t\t\t\t);\n\t\t}\n\t\tif (\n\t\t\tparsed.defaultProfile !== undefined &&\n\t\t\t!parsed.profiles[parsed.defaultProfile]\n\t\t)\n\t\t\tthrow new Error('The default remote Mac profile does not exist.');\n\n\t\treturn parsed;\n\t} catch (error) {\n\t\tif ((error as NodeJS.ErrnoException).code === 'ENOENT')\n\t\t\treturn emptyStore();\n\t\tthrow error;\n\t}\n};\n\nconst saveStore = async (store: ProfileStore, path = defaultProfilePath()) => {\n\tawait mkdir(dirname(path), { recursive: true });\n\tconst temporary = `${path}.${randomUUID()}.tmp`;\n\tawait writeFile(temporary, `${JSON.stringify(store, null, 2)}\\n`, {\n\t\tmode: 0o600\n\t});\n\tawait rename(temporary, path);\n\tawait chmod(path, 0o600);\n};\n\nexport const validateAbsoluteRemoteMacProfileName = (name: string) => {\n\tconst normalized = name.trim().toLowerCase();\n\tif (!PROFILE_NAME.test(normalized))\n\t\tthrow new TypeError(\n\t\t\t'Remote Mac profile names must use 1-64 lowercase letters, digits, dots, dashes, or underscores.'\n\t\t);\n\n\treturn normalized;\n};\n\nexport const validateAbsoluteSshDestination = (destination: string) => {\n\tconst normalized = destination.trim();\n\tif (!SSH_DESTINATION.test(normalized) || normalized.startsWith('-'))\n\t\tthrow new TypeError(\n\t\t\t'Remote Mac SSH destination must be a host, SSH alias, or user@host without command-line options.'\n\t\t);\n\n\treturn normalized;\n};\n\nconst validatePort = (port: number | undefined) => {\n\tif (\n\t\tport !== undefined &&\n\t\t(!Number.isInteger(port) || port < 1 || port > 65_535)\n\t)\n\t\tthrow new TypeError('Remote Mac SSH port must be between 1 and 65535.');\n\n\treturn port;\n};\n\nconst shellQuote = (value: string) => `'${value.replaceAll(\"'\", \"'\\\\''\")}'`;\n\nexport const absoluteRemoteMacSshBase = (\n\tprofile: Pick<AbsoluteRemoteMacProfile, 'destination' | 'port'>,\n\toptions: { acceptNew?: boolean } = {}\n) => [\n\t'ssh',\n\t'-o',\n\t'BatchMode=yes',\n\t'-o',\n\t'ConnectTimeout=10',\n\t'-o',\n\t'ServerAliveInterval=15',\n\t'-o',\n\t'ServerAliveCountMax=3',\n\t'-o',\n\t`StrictHostKeyChecking=${options.acceptNew ? 'accept-new' : 'yes'}`,\n\t...(profile.port ? ['-p', String(profile.port)] : []),\n\tprofile.destination\n];\n\nconst localCapture = async (command: string[]) => {\n\tconst process = Bun.spawn(command, {\n\t\tstderr: 'pipe',\n\t\tstdin: 'ignore',\n\t\tstdout: 'pipe'\n\t});\n\tconst [exitCode, stdout, stderr] = await Promise.all([\n\t\tprocess.exited,\n\t\tnew Response(process.stdout).text(),\n\t\tnew Response(process.stderr).text()\n\t]);\n\n\treturn { exitCode, stderr, stdout };\n};\n\nconst defaultTransport: AbsoluteRemoteMacTransport = {\n\tcapture: localCapture,\n\tspawn: (command, options) =>\n\t\tBun.spawn(command, {\n\t\t\tsignal: options.signal,\n\t\t\tstderr: 'pipe',\n\t\t\tstdin: 'pipe',\n\t\t\tstdout: 'pipe'\n\t\t}) as ReturnType<AbsoluteRemoteMacTransport['spawn']>\n};\n\nconst requireRemoteSuccess = (\n\tresult: AbsoluteRemoteMacCommandResult,\n\tlabel: string\n) => {\n\tif (result.exitCode !== 0)\n\t\tthrow new Error(\n\t\t\t`${label} failed: ${(result.stderr || result.stdout).trim() || `status ${result.exitCode}`}`\n\t\t);\n\n\treturn result.stdout.trim();\n};\n\nexport const getAbsoluteRemoteMacProfile = async (\n\tname?: string,\n\tprofilePath?: string\n) => {\n\tconst store = await loadStore(profilePath);\n\tconst selected =\n\t\tname ?? process.env.ABSOLUTE_IOS_REMOTE ?? store.defaultProfile;\n\tif (!selected) return undefined;\n\tconst profile = store.profiles[selected];\n\tif (!profile)\n\t\tthrow new Error(\n\t\t\t`Remote Mac profile ${JSON.stringify(selected)} was not found.`\n\t\t);\n\n\treturn profile;\n};\nexport const inspectAbsoluteRemoteMac = async (\n\tdestination: string,\n\toptions: {\n\t\tacceptNew?: boolean;\n\t\tport?: number;\n\t\ttransport?: Pick<AbsoluteRemoteMacTransport, 'capture'>;\n\t} = {}\n) => {\n\tconst profile: Pick<AbsoluteRemoteMacProfile, 'destination' | 'port'> = {\n\t\tdestination: validateAbsoluteSshDestination(destination),\n\t\tport: validatePort(options.port)\n\t};\n\tconst capture = options.transport?.capture ?? defaultTransport.capture;\n\tconst command = [\n\t\t...absoluteRemoteMacSshBase(profile, {\n\t\t\tacceptNew: options.acceptNew === true\n\t\t}),\n\t\t'/bin/sh -lc',\n\t\tshellQuote(\n\t\t\t`bun_path=\"$(command -v bun || true)\"; if [ -z \"$bun_path\" ] && [ -x \"$HOME/.bun/bin/bun\" ]; then bun_path=\"$HOME/.bun/bin/bun\"; fi; printf '%s\\\\n' \"$(uname -s)\" \"$HOME\" \"$bun_path\" \"$(/usr/bin/xcodebuild -version 2>/dev/null | tr '\\\\n' ' ' || true)\"`\n\t\t)\n\t];\n\tconst lines = requireRemoteSuccess(\n\t\tawait capture(command),\n\t\t'Remote Mac handshake'\n\t).split(/\\r?\\n/u);\n\tconst [operatingSystem, home, bunPath, xcodeVersion] = lines;\n\tif (operatingSystem !== 'Darwin')\n\t\tthrow new Error('The SSH target is not a Mac.');\n\tif (!home?.startsWith('/') || !bunPath?.startsWith('/'))\n\t\tthrow new Error(\n\t\t\t'The remote Mac must have Bun installed and available to SSH.'\n\t\t);\n\tif (!xcodeVersion?.startsWith('Xcode '))\n\t\tthrow new Error(\n\t\t\t'The remote Mac must have full Xcode installed and selected.'\n\t\t);\n\n\treturn { bunPath, home, os: operatingSystem, xcodeVersion };\n};\nexport const listAbsoluteRemoteMacProfiles = async (profilePath?: string) => {\n\tconst store = await loadStore(profilePath);\n\n\treturn {\n\t\tdefaultProfile: store.defaultProfile,\n\t\tprofiles: Object.values(store.profiles).sort((left, right) =>\n\t\t\tleft.name.localeCompare(right.name)\n\t\t)\n\t};\n};\nexport const pairAbsoluteRemoteMac = async (options: {\n\tdestination: string;\n\tname: string;\n\tport?: number;\n\tprofilePath?: string;\n\ttransport?: Pick<AbsoluteRemoteMacTransport, 'capture'>;\n\tworkspaceRoot?: string;\n}) => {\n\tconst name = validateAbsoluteRemoteMacProfileName(options.name);\n\tconst destination = validateAbsoluteSshDestination(options.destination);\n\tconst port = validatePort(options.port);\n\tconst inspection = await inspectAbsoluteRemoteMac(destination, {\n\t\tacceptNew: true,\n\t\tport,\n\t\ttransport: options.transport\n\t});\n\tconst workspaceRoot = options.workspaceRoot\n\t\t? options.workspaceRoot.trim()\n\t\t: posix.join(inspection.home, '.absolutejs', 'remote-ios');\n\tif (\n\t\t!workspaceRoot.startsWith('/') ||\n\t\tworkspaceRoot === '/' ||\n\t\t/[\\r\\n\\0]/u.test(workspaceRoot)\n\t)\n\t\tthrow new TypeError(\n\t\t\t'Remote Mac workspace must be an absolute macOS path.'\n\t\t);\n\tconst profile: AbsoluteRemoteMacProfile = {\n\t\tbunPath: inspection.bunPath,\n\t\tcreatedAt: new Date().toISOString(),\n\t\tdestination,\n\t\tname,\n\t\t...(port ? { port } : {}),\n\t\tworkspaceRoot,\n\t\txcodeVersion: inspection.xcodeVersion\n\t};\n\tconst store = await loadStore(options.profilePath);\n\tstore.profiles[name] = profile;\n\tstore.defaultProfile = name;\n\tawait saveStore(store, options.profilePath);\n\n\treturn profile;\n};\nexport const removeAbsoluteRemoteMacProfile = async (\n\tname: string,\n\tprofilePath?: string\n) => {\n\tconst normalized = validateAbsoluteRemoteMacProfileName(name);\n\tconst store = await loadStore(profilePath);\n\tif (!store.profiles[normalized]) return false;\n\tdelete store.profiles[normalized];\n\tif (store.defaultProfile === normalized) {\n\t\tconst [nextDefault] = Object.keys(store.profiles).sort();\n\t\tstore.defaultProfile = nextDefault;\n\t}\n\tawait saveStore(store, profilePath);\n\n\treturn true;\n};\n\nconst projectIdentity = (projectRoot: string, appId: string) =>\n\tcreateHash('sha256')\n\t\t.update(`${resolvePath(projectRoot)}\\0${appId}`)\n\t\t.digest('hex')\n\t\t.slice(0, 20);\n\nexport const createAbsoluteRemoteIosDevProject = (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\tprojectRoot: string,\n\tprofile: AbsoluteRemoteMacProfile\n): AbsoluteRemoteIosDevProject => ({\n\tcap: join(resolvePath(projectRoot), 'node_modules', '.bin', 'cap'),\n\tconfig,\n\tnativeDirectory: join(config.nativeProjectDirectory, 'ios'),\n\tprofile,\n\tprojectRoot: resolvePath(projectRoot),\n\tremote: true,\n\tremoteProjectRoot: posix.join(\n\t\tprofile.workspaceRoot,\n\t\t'projects',\n\t\tprojectIdentity(projectRoot, config.appId),\n\t\t'current'\n\t),\n\txcodebuild: 'remote:xcodebuild',\n\txcrun: 'remote:xcrun'\n});\nexport const installAbsoluteRemoteMacAgent = async (\n\tproject: AbsoluteRemoteIosDevProject\n) => {\n\tconst artifact = await materializeAbsoluteRemoteMacAgent(\n\t\tproject.projectRoot\n\t);\n\tconst directory = posix.join(\n\t\tproject.profile.workspaceRoot,\n\t\t'agents',\n\t\t`protocol-${ABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION}`,\n\t\tartifact.sha256\n\t);\n\tconst remotePath = posix.join(directory, 'agent.js');\n\tconst verifyScript =\n\t\t`test -f ${shellQuote(remotePath)} && ` +\n\t\t`test \"$(shasum -a 256 ${shellQuote(remotePath)} | awk '{print $1}')\" = ${shellQuote(artifact.sha256)}`;\n\tconst verified = await defaultTransport.capture([\n\t\t...absoluteRemoteMacSshBase(project.profile),\n\t\t'/bin/sh -lc',\n\t\tshellQuote(verifyScript)\n\t]);\n\tif (verified.exitCode === 0)\n\t\treturn { ...artifact, remotePath, uploaded: false };\n\tconst temporary = posix.join(directory, `.agent-${randomUUID()}.tmp`);\n\tconst installScript = [\n\t\t'set -eu',\n\t\t'umask 077',\n\t\t`mkdir -p ${shellQuote(directory)}`,\n\t\t`cat > ${shellQuote(temporary)}`,\n\t\t`test \"$(shasum -a 256 ${shellQuote(temporary)} | awk '{print $1}')\" = ${shellQuote(artifact.sha256)}`,\n\t\t`chmod 600 ${shellQuote(temporary)}`,\n\t\t`mv ${shellQuote(temporary)} ${shellQuote(remotePath)}`\n\t].join('; ');\n\tconst upload = Bun.spawn(\n\t\t[\n\t\t\t...absoluteRemoteMacSshBase(project.profile),\n\t\t\t'/bin/sh -lc',\n\t\t\tshellQuote(installScript)\n\t\t],\n\t\t{\n\t\t\tstderr: 'pipe',\n\t\t\tstdin: Bun.file(artifact.path),\n\t\t\tstdout: 'pipe'\n\t\t}\n\t);\n\tconst [exitCode, stderr] = await Promise.all([\n\t\tupload.exited,\n\t\tnew Response(upload.stderr).text()\n\t]);\n\tif (exitCode !== 0)\n\t\tthrow new Error(\n\t\t\t`Remote Mac agent installation failed: ${stderr.trim() || `status ${exitCode}`}`\n\t\t);\n\n\treturn { ...artifact, remotePath, uploaded: true };\n};\nexport const materializeAbsoluteRemoteMacAgent = async (\n\tprojectRoot: string\n) => {\n\tconst shippedCandidates = [\n\t\tjoin(import.meta.dir, 'remoteMacAgentEntry.js'),\n\t\tjoin(import.meta.dir, '..', 'mobile', 'remoteMacAgentEntry.js')\n\t];\n\tlet path: string | undefined;\n\tfor (const candidate of shippedCandidates) {\n\t\tif (await Bun.file(candidate).exists()) {\n\t\t\tpath = candidate;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (!path) {\n\t\tconst sourceCandidates = [\n\t\t\tjoin(import.meta.dir, 'remoteMacAgentEntry.ts'),\n\t\t\tjoin(\n\t\t\t\timport.meta.dir,\n\t\t\t\t'..',\n\t\t\t\t'..',\n\t\t\t\t'src',\n\t\t\t\t'mobile',\n\t\t\t\t'remoteMacAgentEntry.ts'\n\t\t\t)\n\t\t];\n\t\tconst source = await sourceCandidates.reduce<\n\t\t\tPromise<string | undefined>\n\t\t>(\n\t\t\tasync (found, candidate) =>\n\t\t\t\t(await found) ??\n\t\t\t\t((await Bun.file(candidate).exists()) ? candidate : undefined),\n\t\t\tPromise.resolve(undefined)\n\t\t);\n\t\tif (!source)\n\t\t\tthrow new Error(\n\t\t\t\t'The AbsoluteJS installation does not contain its remote Mac agent artifact.'\n\t\t\t);\n\t\tconst outdir = join(\n\t\t\tresolvePath(projectRoot),\n\t\t\t'.absolutejs',\n\t\t\t'mobile',\n\t\t\t'remote-agent'\n\t\t);\n\t\tawait mkdir(outdir, { recursive: true });\n\t\tconst result = await Bun.build({\n\t\t\tentrypoints: [source],\n\t\t\tminify: true,\n\t\t\toutdir,\n\t\t\ttarget: 'bun'\n\t\t});\n\t\tif (!result.success)\n\t\t\tthrow new AggregateError(\n\t\t\t\tresult.logs,\n\t\t\t\t'Failed to build the AbsoluteJS remote Mac agent.'\n\t\t\t);\n\t\tpath = join(outdir, 'remoteMacAgentEntry.js');\n\t}\n\tconst bytes = await Bun.file(path).arrayBuffer();\n\tconst sha256 = createHash('sha256')\n\t\t.update(new Uint8Array(bytes))\n\t\t.digest('hex');\n\n\treturn { bytes: bytes.byteLength, path, sha256 };\n};\n\nconst portableRelativePath = (root: string, path: string) =>\n\trelative(root, path).split(sep).join(posix.sep);\n\nconst portableMobileConfig = (\n\tproject: AbsoluteRemoteIosDevProject\n): MobileConfig => ({\n\tappId: project.config.appId,\n\tappName: project.config.appName,\n\tbundleDirectory: portableRelativePath(\n\t\tproject.projectRoot,\n\t\tproject.config.bundleDirectory\n\t),\n\t...(project.config.deepLinkScheme ||\n\tproject.config.deepLinkHosts.length > 1 ||\n\tproject.config.appleAppIdPrefix\n\t\t? {\n\t\t\t\tdeepLinks: {\n\t\t\t\t\t...(project.config.deepLinkScheme\n\t\t\t\t\t\t? { scheme: project.config.deepLinkScheme }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\thosts: project.config.deepLinkHosts,\n\t\t\t\t\t...(project.config.appleAppIdPrefix\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tapple: {\n\t\t\t\t\t\t\t\t\tappIdPrefix: project.config.appleAppIdPrefix\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {})\n\t\t\t\t}\n\t\t\t}\n\t\t: {}),\n\tentry: project.config.entry,\n\t...(project.config.iosVersion\n\t\t? { ios: { version: project.config.iosVersion } }\n\t\t: {}),\n\tnativeProject: {\n\t\tdirectory: portableRelativePath(\n\t\t\tproject.projectRoot,\n\t\t\tproject.config.nativeProjectDirectory\n\t\t),\n\t\tmode: 'source'\n\t},\n\tplatforms: ['ios'],\n\tserver: { productionOrigin: project.config.productionOrigin }\n});\n\nexport const absoluteRemoteProjectSyncCommands = (\n\tproject: AbsoluteRemoteIosDevProject\n) => {\n\tconst current = project.remoteProjectRoot;\n\tconst parent = posix.dirname(current);\n\tconst staging = posix.join(parent, `.incoming-${randomUUID()}`);\n\tconst previous = posix.join(parent, '.previous');\n\tconst script = [\n\t\t'set -eu',\n\t\t`mkdir -p ${shellQuote(staging)}`,\n\t\t`tar -xf - -C ${shellQuote(staging)}`,\n\t\t`if [ -d ${shellQuote(posix.join(current, 'node_modules'))} ]; then mv ${shellQuote(posix.join(current, 'node_modules'))} ${shellQuote(posix.join(staging, 'node_modules'))}; fi`,\n\t\t`if [ -d ${shellQuote(posix.join(current, '.absolutejs'))} ]; then mv ${shellQuote(posix.join(current, '.absolutejs'))} ${shellQuote(posix.join(staging, '.absolutejs'))}; fi`,\n\t\t`rm -rf ${shellQuote(previous)}`,\n\t\t`if [ -d ${shellQuote(current)} ]; then mv ${shellQuote(current)} ${shellQuote(previous)}; fi`,\n\t\t`mv ${shellQuote(staging)} ${shellQuote(current)}`,\n\t\t`rm -rf ${shellQuote(previous)}`\n\t].join('; ');\n\n\treturn {\n\t\tremote: [\n\t\t\t...absoluteRemoteMacSshBase(project.profile),\n\t\t\t'/bin/sh -lc',\n\t\t\tshellQuote(script)\n\t\t],\n\t\ttar: [\n\t\t\t'tar',\n\t\t\t'--exclude=.git',\n\t\t\t'--exclude=node_modules',\n\t\t\t'--exclude=build',\n\t\t\t'--exclude=.absolutejs',\n\t\t\t'-cf',\n\t\t\t'-',\n\t\t\t'-C',\n\t\t\tproject.projectRoot,\n\t\t\t'.'\n\t\t]\n\t};\n};\n\nexport const syncAbsoluteRemoteMacProject = async (\n\tproject: AbsoluteRemoteIosDevProject\n) => {\n\tconst commands = absoluteRemoteProjectSyncCommands(project);\n\tconst archive = Bun.spawn(commands.tar, {\n\t\tstderr: 'pipe',\n\t\tstdout: 'pipe'\n\t});\n\tconst upload = Bun.spawn(commands.remote, {\n\t\tstderr: 'pipe',\n\t\tstdin: archive.stdout,\n\t\tstdout: 'pipe'\n\t});\n\tconst [archiveExit, uploadExit, archiveError, uploadError] =\n\t\tawait Promise.all([\n\t\t\tarchive.exited,\n\t\t\tupload.exited,\n\t\t\tnew Response(archive.stderr).text(),\n\t\t\tnew Response(upload.stderr).text()\n\t\t]);\n\tif (archiveExit !== 0 || uploadExit !== 0)\n\t\tthrow new Error(\n\t\t\t`Remote Mac project synchronization failed: ${(archiveError || uploadError).trim()}`\n\t\t);\n\tconst install = await defaultTransport.capture([\n\t\t...absoluteRemoteMacSshBase(project.profile),\n\t\t'/bin/sh -lc',\n\t\tshellQuote(\n\t\t\t`cd ${shellQuote(project.remoteProjectRoot)} && ${shellQuote(project.profile.bunPath)} install --frozen-lockfile`\n\t\t)\n\t]);\n\trequireRemoteSuccess(install, 'Remote Mac dependency installation');\n};\n\nconst consumeLines = async (\n\tstream: ReadableStream<Uint8Array>,\n\tonLine: (line: string) => void\n) => {\n\tconst reader = stream.getReader();\n\tconst decoder = new TextDecoder();\n\tlet buffered = '';\n\ttry {\n\t\twhile (true) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (done) break;\n\t\t\tbuffered += decoder.decode(value, { stream: true });\n\t\t\tconst lines = buffered.split(/\\r?\\n/u);\n\t\t\tbuffered = lines.pop() ?? '';\n\t\t\tlines.forEach(onLine);\n\t\t}\n\t\tbuffered += decoder.decode();\n\t\tif (buffered) onLine(buffered);\n\t} finally {\n\t\treader.releaseLock();\n\t}\n};\n\nexport const startAbsoluteRemoteIosDevSession = async (\n\toptions: AbsoluteRemoteIosOptions\n) => {\n\tconst startedAt = performance.now();\n\tconst transport = options.transport ?? defaultTransport;\n\tconst installAgent = options.installAgent ?? installAbsoluteRemoteMacAgent;\n\tconst syncProject = options.syncProject ?? syncAbsoluteRemoteMacProject;\n\tconst agentStartedAt = performance.now();\n\tconst agent = await installAgent(options.project);\n\tconst agentDuration = performance.now() - agentStartedAt;\n\tconst syncStartedAt = performance.now();\n\tawait syncProject(options.project);\n\tconst syncDuration = performance.now() - syncStartedAt;\n\tconst encodedConfig = Buffer.from(\n\t\tJSON.stringify(portableMobileConfig(options.project))\n\t).toString('base64url');\n\tconst remoteCommand = [\n\t\t`cd ${shellQuote(options.project.remoteProjectRoot)}`,\n\t\t'&&',\n\t\t'exec',\n\t\tshellQuote(options.project.profile.bunPath),\n\t\tshellQuote(agent.remotePath),\n\t\t'--port',\n\t\tString(options.port),\n\t\t'--mobile-config',\n\t\tshellQuote(encodedConfig),\n\t\t...(options.https ? ['--https'] : [])\n\t].join(' ');\n\tconst command = [\n\t\t...absoluteRemoteMacSshBase(options.project.profile),\n\t\t'-o',\n\t\t'ExitOnForwardFailure=yes',\n\t\t'-R',\n\t\t`${options.port}:127.0.0.1:${options.port}`,\n\t\t'/bin/sh -lc',\n\t\tshellQuote(remoteCommand)\n\t];\n\tconst connectStartedAt = performance.now();\n\tconst process = transport.spawn(command, { signal: options.signal });\n\tlet state: AbsoluteIosDevState = 'syncing';\n\tlet ready: Extract<RemoteEvent, { type: 'ready' }> | undefined;\n\tlet fatal: Error | undefined;\n\tconst pending = new Map<\n\t\tstring,\n\t\t{ reject: (error: Error) => void; resolve: (value: unknown) => void }\n\t>();\n\tlet resolveReady!: () => void;\n\tlet rejectReady!: (error: Error) => void;\n\tconst readyPromise = new Promise<void>((resolve, reject) => {\n\t\tresolveReady = resolve;\n\t\trejectReady = reject;\n\t});\n\tconst handleEvent = (event: RemoteEvent) => {\n\t\tif (event.v !== ABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION) {\n\t\t\trejectReady(new Error('Remote Mac protocol version mismatch.'));\n\n\t\t\treturn;\n\t\t}\n\t\tif (event.type === 'log') options.log?.(event.message);\n\t\tif (event.type === 'native-log') options.nativeLog?.(event.entry);\n\t\tif (event.type === 'state') {\n\t\t\t({ state } = event);\n\t\t\toptions.onStateChange?.(state);\n\t\t}\n\t\tif (event.type === 'timing') options.onPhaseTiming?.(event);\n\t\tif (event.type === 'ready') {\n\t\t\tready = event;\n\t\t\tresolveReady();\n\t\t}\n\t\tif (event.type === 'fatal') {\n\t\t\tfatal = new Error(event.error);\n\t\t\trejectReady(fatal);\n\t\t}\n\t\tif (event.type === 'response') {\n\t\t\tconst request = pending.get(event.id);\n\t\t\tif (!request) return;\n\t\t\tpending.delete(event.id);\n\t\t\tif (event.ok) request.resolve(event.result);\n\t\t\telse\n\t\t\t\trequest.reject(\n\t\t\t\t\tnew Error(event.error ?? 'Remote command failed.')\n\t\t\t\t);\n\t\t}\n\t};\n\tconst stdoutDone = consumeLines(process.stdout, (line) => {\n\t\tif (!line.startsWith(ABSOLUTE_REMOTE_MAC_EVENT_PREFIX)) return;\n\t\ttry {\n\t\t\thandleEvent(\n\t\t\t\tJSON.parse(\n\t\t\t\t\tline.slice(ABSOLUTE_REMOTE_MAC_EVENT_PREFIX.length)\n\t\t\t\t) as RemoteEvent\n\t\t\t);\n\t\t} catch {\n\t\t\toptions.log?.(`Remote Mac emitted an invalid protocol event.`);\n\t\t}\n\t}).catch((error: unknown) => {\n\t\tfatal =\n\t\t\terror instanceof Error\n\t\t\t\t? error\n\t\t\t\t: new Error('Failed to read the remote Mac protocol stream.');\n\t\trejectReady(fatal);\n\t});\n\tconst stderrDone = consumeLines(process.stderr, (line) =>\n\t\toptions.log?.(`[remote] ${line}`)\n\t).catch((error: unknown) =>\n\t\toptions.log?.(\n\t\t\t`[remote] ${error instanceof Error ? error.message : 'Failed to read SSH stderr.'}`\n\t\t)\n\t);\n\tvoid process.exited.then(async (exitCode) => {\n\t\tawait Promise.all([stdoutDone, stderrDone]);\n\t\tconst error =\n\t\t\tfatal ??\n\t\t\tnew Error(`Remote Mac connection closed with status ${exitCode}.`);\n\t\tif (!ready) rejectReady(error);\n\t\tpending.forEach(({ reject }) => reject(error));\n\t\tpending.clear();\n\n\t\treturn undefined;\n\t});\n\tawait readyPromise;\n\tif (!ready) throw fatal ?? new Error('Remote Mac did not become ready.');\n\tconst totalDuration = performance.now() - startedAt;\n\tlet currentReady: Extract<RemoteEvent, { type: 'ready' }> = {\n\t\t...ready,\n\t\ttimings: {\n\t\t\t...ready.timings,\n\t\t\t'remote-agent': agentDuration,\n\t\t\t'remote-connect': performance.now() - connectStartedAt,\n\t\t\t'remote-sync': syncDuration,\n\t\t\ttotal: totalDuration\n\t\t}\n\t};\n\toptions.log?.(\n\t\t`Remote Mac connected (${options.project.profile.name}); agent ${agent.uploaded ? 'uploaded' : 'cache hit'}, project synced, and iOS ready in ${totalDuration.toFixed(2)}ms.`\n\t);\n\n\tconst request = (\n\t\tcommandName: 'close' | 'rebuild' | 'relaunch' | 'screenshot'\n\t) => {\n\t\tconst id = randomUUID();\n\t\tconst response = new Promise<unknown>((resolve, reject) =>\n\t\t\tpending.set(id, { reject, resolve })\n\t\t);\n\t\tprocess.stdin.write(\n\t\t\t`${JSON.stringify({ command: commandName, id, v: 1 })}\\n`\n\t\t);\n\t\tprocess.stdin.flush();\n\n\t\treturn response;\n\t};\n\tlet closed = false;\n\tconst close = async () => {\n\t\tif (closed) return;\n\t\tclosed = true;\n\t\tawait request('close').catch(() => undefined);\n\t\tprocess.stdin.end();\n\t\tawait process.exited.catch(() => undefined);\n\t};\n\tconst makeSession = (): AbsoluteIosDevSession => ({\n\t\tclose,\n\t\tnativeCacheHit: currentReady.nativeCacheHit,\n\t\tstartedSimulator: currentReady.startedSimulator,\n\t\ttimings: currentReady.timings,\n\t\tudid: currentReady.udid,\n\t\trebuild: async () => {\n\t\t\tconst rebuildStartedAt = performance.now();\n\t\t\tconst rebuildSyncStartedAt = performance.now();\n\t\t\tawait syncProject(options.project);\n\t\t\tconst rebuildSyncDuration =\n\t\t\t\tperformance.now() - rebuildSyncStartedAt;\n\t\t\tconst result = (await request('rebuild')) as Extract<\n\t\t\t\tRemoteEvent,\n\t\t\t\t{ type: 'ready' }\n\t\t\t>;\n\t\t\tcurrentReady = {\n\t\t\t\t...result,\n\t\t\t\ttimings: {\n\t\t\t\t\t...result.timings,\n\t\t\t\t\t'remote-sync': rebuildSyncDuration,\n\t\t\t\t\ttotal: performance.now() - rebuildStartedAt\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn makeSession();\n\t\t},\n\t\trelaunch: async () => {\n\t\t\tawait request('relaunch');\n\t\t},\n\t\tscreenshot: async (destination) => {\n\t\t\tconst result = (await request('screenshot')) as { data: string };\n\t\t\tconst target = resolvePath(\n\t\t\t\toptions.project.projectRoot,\n\t\t\t\tdestination\n\t\t\t);\n\t\t\tconst targetRelative = relative(\n\t\t\t\toptions.project.projectRoot,\n\t\t\t\ttarget\n\t\t\t);\n\t\t\tif (targetRelative.startsWith('..') || isAbsolute(targetRelative))\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'iOS screenshot must remain inside the project.'\n\t\t\t\t);\n\t\t\tawait mkdir(dirname(target), { recursive: true });\n\t\t\tawait writeFile(target, Buffer.from(result.data, 'base64'));\n\n\t\t\treturn target;\n\t\t},\n\t\tget state() {\n\t\t\treturn state;\n\t\t}\n\t});\n\n\treturn makeSession();\n};\n",
20
+ "export const ABSOLUTE_REMOTE_MAC_EVENT_PREFIX = 'ABSOLUTE_REMOTE_MAC\\t';\nexport const ABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION = 1;\n",
16
21
  "import {\n\taccess,\n\tmkdir,\n\treadFile,\n\trename,\n\trm,\n\twriteFile\n} from 'node:fs/promises';\nimport { resolve } from 'node:path';\nimport { Elysia } from 'elysia';\nimport type { MobileConfig } from '../../types/build';\nimport {\n\tnormalizeAbsoluteMobileConfig,\n\ttype NormalizedAbsoluteMobileConfig\n} from './config';\n\nconst JSON_HEADERS: Record<string, string> = {\n\t'cache-control': 'public, max-age=300, must-revalidate',\n\t'content-type': 'application/json; charset=utf-8'\n};\nconst OWNERSHIP_FILE = '.absolutejs-mobile-associations.json';\nconst HTTP_OK = 200;\nconst VERIFY_TIMEOUT_MS = 10_000;\n\ntype AssociationEndpoint = {\n\tdocument: unknown;\n\thost: string;\n\tpath: string;\n\tplatform: string;\n};\n\nexport type AbsoluteAssociationRequest = (\n\tinput: string | URL | Request,\n\tinit?: RequestInit\n) => Promise<Response>;\n\nexport const ANDROID_ASSOCIATION_PATH = '/.well-known/assetlinks.json';\nexport const APPLE_ASSOCIATION_PATH = '/.well-known/apple-app-site-association';\n\nexport type AbsoluteMobileAssociationDocuments = {\n\tandroid?: readonly [\n\t\t{\n\t\t\trelation: readonly ['delegate_permission/common.handle_all_urls'];\n\t\t\ttarget: {\n\t\t\t\tnamespace: 'android_app';\n\t\t\t\tpackage_name: string;\n\t\t\t\tsha256_cert_fingerprints: string[];\n\t\t\t};\n\t\t}\n\t];\n\tapple?: {\n\t\tapplinks: {\n\t\t\tdetails: readonly [\n\t\t\t\t{\n\t\t\t\t\tappIDs: readonly [string];\n\t\t\t\t\tcomponents: readonly [{ '/': '/*' }];\n\t\t\t\t}\n\t\t\t];\n\t\t};\n\t};\n};\n\nconst missingIdentity = (field: string, platform: string) =>\n\tnew TypeError(\n\t\t`${field} is required to publish ${platform} deep-link association files.`\n\t);\n\nconst createAppleDocument = (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\trequireAll: boolean\n) => {\n\tif (!config.platforms.includes('ios')) return undefined;\n\tif (!config.appleAppIdPrefix && requireAll) {\n\t\tthrow missingIdentity('mobile.deepLinks.apple.appIdPrefix', 'iOS');\n\t}\n\tif (!config.appleAppIdPrefix) return undefined;\n\n\treturn {\n\t\tapplinks: {\n\t\t\tdetails: [\n\t\t\t\t{\n\t\t\t\t\tappIDs: [\n\t\t\t\t\t\t`${config.appleAppIdPrefix}.${config.appId}`\n\t\t\t\t\t] as const,\n\t\t\t\t\tcomponents: [{ '/': '/*' as const }]\n\t\t\t\t}\n\t\t\t] as const\n\t\t}\n\t};\n};\n\nconst createAndroidDocument = (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\trequireAll: boolean\n) => {\n\tif (!config.platforms.includes('android')) return undefined;\n\tif (config.androidCertificateFingerprints.length === 0 && requireAll) {\n\t\tthrow missingIdentity(\n\t\t\t'mobile.deepLinks.android.sha256CertificateFingerprints',\n\t\t\t'Android'\n\t\t);\n\t}\n\tif (config.androidCertificateFingerprints.length === 0) return undefined;\n\n\treturn [\n\t\t{\n\t\t\trelation: ['delegate_permission/common.handle_all_urls'] as const,\n\t\t\ttarget: {\n\t\t\t\tnamespace: 'android_app' as const,\n\t\t\t\tpackage_name: config.appId,\n\t\t\t\tsha256_cert_fingerprints: config.androidCertificateFingerprints\n\t\t\t}\n\t\t}\n\t] as const;\n};\n\nexport const createAbsoluteMobileAssociationDocuments = (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\toptions: { requireAll?: boolean } = {}\n) => {\n\tconst documents: AbsoluteMobileAssociationDocuments = {};\n\tconst requireAll = options.requireAll === true;\n\tconst android = createAndroidDocument(config, requireAll);\n\tconst apple = createAppleDocument(config, requireAll);\n\tif (android) documents.android = android;\n\tif (apple) documents.apple = apple;\n\n\treturn documents;\n};\n\nconst jsonResponse = (value: unknown) =>\n\tnew Response(`${JSON.stringify(value)}\\n`, { headers: JSON_HEADERS });\n\nexport const createAbsoluteMobileAssociationPlugin = (\n\tmobile: MobileConfig | undefined,\n\tprojectRoot: string,\n\toptions: { requireAll?: boolean } = {}\n) => {\n\tconst plugin = new Elysia({ name: 'absolutejs-mobile-associations' });\n\tif (!mobile) return plugin;\n\tconst config = normalizeAbsoluteMobileConfig(mobile, projectRoot);\n\tconst documents = createAbsoluteMobileAssociationDocuments(config, options);\n\tif (documents.apple) {\n\t\tplugin.get(APPLE_ASSOCIATION_PATH, () => jsonResponse(documents.apple));\n\t}\n\tif (documents.android) {\n\t\tplugin.get(ANDROID_ASSOCIATION_PATH, () =>\n\t\t\tjsonResponse(documents.android)\n\t\t);\n\t}\n\n\treturn plugin;\n};\n\nconst writeAtomic = async (path: string, source: string) => {\n\tlet current: string | undefined;\n\ttry {\n\t\tcurrent = await readFile(path, 'utf8');\n\t} catch (error) {\n\t\tif (\n\t\t\t!(error instanceof Error) ||\n\t\t\t!('code' in error) ||\n\t\t\terror.code !== 'ENOENT'\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t}\n\tif (current === source) return false;\n\tconst temporary = `${path}.${crypto.randomUUID()}.tmp`;\n\tawait writeFile(temporary, source, { flag: 'wx' });\n\tawait rename(temporary, path);\n\n\treturn true;\n};\n\nconst exists = async (path: string) => {\n\ttry {\n\t\tawait access(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst assertOwnedOutput = async (root: string) => {\n\tconst path = resolve(root, OWNERSHIP_FILE);\n\tlet ownership: unknown;\n\ttry {\n\t\townership = JSON.parse(await readFile(path, 'utf8'));\n\t} catch {\n\t\tthrow new TypeError(\n\t\t\t`Association output ${root} already exists and is not owned by AbsoluteJS.`\n\t\t);\n\t}\n\tif (\n\t\ttypeof ownership !== 'object' ||\n\t\townership === null ||\n\t\tReflect.get(ownership, 'format') !== 1\n\t) {\n\t\tthrow new TypeError(\n\t\t\t`Association output ${root} has an unsupported ownership manifest.`\n\t\t);\n\t}\n};\n\nconst publishGeneratedDirectory = async (temporary: string, root: string) => {\n\tconst hasCurrent = await exists(root);\n\tif (hasCurrent) await assertOwnedOutput(root);\n\tconst backup = `${root}.${crypto.randomUUID()}.previous`;\n\tif (hasCurrent) await rename(root, backup);\n\ttry {\n\t\tawait rename(temporary, root);\n\t} catch (error) {\n\t\tif (hasCurrent) await rename(backup, root);\n\t\tthrow error;\n\t}\n\tif (hasCurrent) await rm(backup, { force: true, recursive: true });\n};\n\nconst materializeHost = async (\n\troot: string,\n\thost: string,\n\tfiles: Array<[string, unknown]>\n) => {\n\tconst directory = resolve(root, host, '.well-known');\n\tawait mkdir(directory, { recursive: true });\n\n\treturn Promise.all(\n\t\tfiles.map(async ([name, document]) => {\n\t\t\tconst path = resolve(directory, name);\n\t\t\tawait writeAtomic(path, `${JSON.stringify(document, null, 2)}\\n`);\n\n\t\t\treturn path;\n\t\t})\n\t);\n};\n\nconst associationEndpoints = (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\tdocuments: AbsoluteMobileAssociationDocuments\n) =>\n\tconfig.deepLinkHosts.flatMap((host) => {\n\t\tconst endpoints: AssociationEndpoint[] = [];\n\t\tif (documents.android)\n\t\t\tendpoints.push({\n\t\t\t\tdocument: documents.android,\n\t\t\t\thost,\n\t\t\t\tpath: ANDROID_ASSOCIATION_PATH,\n\t\t\t\tplatform: 'Android'\n\t\t\t});\n\t\tif (documents.apple)\n\t\t\tendpoints.push({\n\t\t\t\tdocument: documents.apple,\n\t\t\t\thost,\n\t\t\t\tpath: APPLE_ASSOCIATION_PATH,\n\t\t\t\tplatform: 'Apple'\n\t\t\t});\n\n\t\treturn endpoints;\n\t});\n\nexport const materializeAbsoluteMobileAssociationFiles = async (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\toutputDirectory: string\n) => {\n\tconst root = resolve(outputDirectory);\n\tconst temporary = `${root}.${crypto.randomUUID()}.tmp`;\n\tconst documents = createAbsoluteMobileAssociationDocuments(config, {\n\t\trequireAll: true\n\t});\n\tconst files: Array<[string, unknown]> = [];\n\tif (documents.android) files.push(['assetlinks.json', documents.android]);\n\tif (documents.apple) {\n\t\tfiles.push(['apple-app-site-association', documents.apple]);\n\t}\n\tawait mkdir(temporary, { recursive: true });\n\ttry {\n\t\tconst temporaryPaths = (\n\t\t\tawait Promise.all(\n\t\t\t\tconfig.deepLinkHosts.map((host) =>\n\t\t\t\t\tmaterializeHost(temporary, host, files)\n\t\t\t\t)\n\t\t\t)\n\t\t).flat();\n\t\tawait writeAtomic(\n\t\t\tresolve(temporary, OWNERSHIP_FILE),\n\t\t\t`${JSON.stringify({ format: 1, hosts: config.deepLinkHosts }, null, 2)}\\n`\n\t\t);\n\t\tawait publishGeneratedDirectory(temporary, root);\n\t\tconst written = temporaryPaths.map((path) =>\n\t\t\tresolve(root, path.slice(temporary.length + 1))\n\t\t);\n\n\t\treturn { root, written };\n\t} catch (error) {\n\t\tawait rm(temporary, { force: true, recursive: true });\n\t\tthrow error;\n\t}\n};\n\nexport const verifyAbsoluteMobileAssociationFiles = async (\n\tconfig: NormalizedAbsoluteMobileConfig,\n\trequest: AbsoluteAssociationRequest = globalThis.fetch\n) => {\n\tconst documents = createAbsoluteMobileAssociationDocuments(config, {\n\t\trequireAll: true\n\t});\n\tconst results = await Promise.all(\n\t\tassociationEndpoints(config, documents).map(async (endpoint) => {\n\t\t\tconst url = `https://${endpoint.host}${endpoint.path}`;\n\t\t\tconst response = await request(url, {\n\t\t\t\tredirect: 'manual',\n\t\t\t\tsignal: AbortSignal.timeout(VERIFY_TIMEOUT_MS)\n\t\t\t});\n\t\t\tif (response.status !== HTTP_OK) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\t`${endpoint.platform} association verification failed for ${url}: HTTP ${response.status}; redirects are not allowed.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst contentType = response.headers.get('content-type') ?? '';\n\t\t\tif (!contentType.toLowerCase().startsWith('application/json')) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\t`${endpoint.platform} association verification failed for ${url}: expected application/json.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tlet document: unknown;\n\t\t\ttry {\n\t\t\t\tdocument = await response.json();\n\t\t\t} catch {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\t`${endpoint.platform} association verification failed for ${url}: invalid JSON.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tJSON.stringify(document) !== JSON.stringify(endpoint.document)\n\t\t\t) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\t`${endpoint.platform} association verification failed for ${url}: the hosted identity does not match mobile config.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn { platform: endpoint.platform, url };\n\t\t})\n\t);\n\n\treturn { results };\n};\n",
17
22
  "import { resolve } from 'node:path';\nimport type { MobileConfig, MobilePlatform } from '../../types/build';\n\nexport type NormalizedAbsoluteMobileConfig = {\n\tappId: string;\n\tappName: string;\n\tandroidCertificateFingerprints: string[];\n\tappleAppIdPrefix?: string;\n\tbundleDirectory: string;\n\tdeepLinkHosts: string[];\n\tdeepLinkScheme?: string;\n\tengine: 'capacitor';\n\tentry: string;\n\tiosVersion?: string;\n\tnativeProjectDirectory: string;\n\tplatforms: MobilePlatform[];\n\tproductionOrigin: string;\n};\n\nconst APP_ID_PATTERN = /^[A-Za-z][\\w]*(?:\\.[A-Za-z][\\w]*)+$/;\nconst SCHEME_PATTERN = /^[a-z][a-z0-9+.-]*$/;\nconst APPLE_APP_ID_PREFIX_PATTERN = /^[A-Z0-9]{10}$/;\nconst CERTIFICATE_FINGERPRINT_PATTERN = /^[0-9A-F]{64}$/;\nconst HOSTNAME_PATTERN =\n\t/^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\\.(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?))*$/;\n\nconst resolveProjectPath = (\n\tprojectRoot: string,\n\tvalue: string,\n\tfield: string\n) => {\n\tconst root = resolve(projectRoot);\n\tconst path = resolve(root, value);\n\tif (path !== root && !path.startsWith(`${root}/`)) {\n\t\tthrow new TypeError(`${field} must remain inside the project root.`);\n\t}\n\n\treturn path;\n};\n\nconst requireText = (value: string, field: string) => {\n\tconst normalized = value.trim();\n\tif (!normalized) throw new TypeError(`${field} must not be empty.`);\n\n\treturn normalized;\n};\n\nconst normalizeEntry = (entry: string | undefined) => {\n\tconst normalized = requireText(entry ?? '/', 'mobile.entry');\n\tif (!normalized.startsWith('/') || normalized.startsWith('//')) {\n\t\tthrow new TypeError(\n\t\t\t'mobile.entry must be an absolute application path.'\n\t\t);\n\t}\n\n\treturn normalized;\n};\n\nconst normalizeProductionOrigin = (value: string) => {\n\tconst parsed = new URL(\n\t\trequireText(value, 'mobile.server.productionOrigin')\n\t);\n\tif (parsed.protocol !== 'https:') {\n\t\tthrow new TypeError(\n\t\t\t'mobile.server.productionOrigin must use HTTPS in production.'\n\t\t);\n\t}\n\tif (\n\t\tparsed.username ||\n\t\tparsed.password ||\n\t\tparsed.pathname !== '/' ||\n\t\tparsed.search ||\n\t\tparsed.hash\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'mobile.server.productionOrigin must be an origin without credentials, path, query, or hash.'\n\t\t);\n\t}\n\n\treturn parsed.origin;\n};\n\nconst normalizePlatforms = (\n\tplatforms: readonly MobilePlatform[] | undefined\n) => {\n\tconst normalized: MobilePlatform[] = [\n\t\t...new Set<MobilePlatform>(platforms ?? ['ios', 'android'])\n\t];\n\tif (normalized.length === 0) {\n\t\tthrow new TypeError(\n\t\t\t'mobile.platforms must contain at least one platform.'\n\t\t);\n\t}\n\n\treturn normalized;\n};\n\nconst normalizeHosts = (\n\thosts: readonly string[] | undefined,\n\tproductionOrigin: string\n) => {\n\tconst normalizeHostname = (host: string) => {\n\t\tconst value = requireText(host, 'mobile.deepLinks.hosts').toLowerCase();\n\t\tif (!HOSTNAME_PATTERN.test(value)) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'mobile.deepLinks.hosts entries must be valid hostnames without ports, wildcards, or paths.'\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t};\n\tconst normalized = new Set<string>([\n\t\tnormalizeHostname(new URL(productionOrigin).hostname)\n\t]);\n\tfor (const host of hosts ?? []) {\n\t\tnormalized.add(normalizeHostname(host));\n\t}\n\n\treturn [...normalized].sort();\n};\n\nconst normalizeAppleAppIdPrefix = (value: string | undefined) => {\n\tif (value === undefined) return undefined;\n\tconst normalized = requireText(\n\t\tvalue,\n\t\t'mobile.deepLinks.apple.appIdPrefix'\n\t).toUpperCase();\n\tif (!APPLE_APP_ID_PREFIX_PATTERN.test(normalized)) {\n\t\tthrow new TypeError(\n\t\t\t'mobile.deepLinks.apple.appIdPrefix must contain ten letters or digits.'\n\t\t);\n\t}\n\n\treturn normalized;\n};\n\nconst normalizeIosVersion = (value: string | undefined) => {\n\tif (value === undefined) return undefined;\n\tconst normalized = requireText(value, 'mobile.ios.version');\n\tif (!/^\\d+(?:\\.\\d+){0,2}$/u.test(normalized)) {\n\t\tthrow new TypeError(\n\t\t\t'mobile.ios.version must contain one to three dot-separated integer components, for example 1.4.0.'\n\t\t);\n\t}\n\n\treturn normalized;\n};\n\nconst normalizeCertificateFingerprints = (\n\tvalues: readonly string[] | undefined\n) =>\n\t[\n\t\t...new Set(\n\t\t\t(values ?? [])\n\t\t\t\t.map((value) =>\n\t\t\t\t\trequireText(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t'mobile.deepLinks.android.sha256CertificateFingerprints'\n\t\t\t\t\t)\n\t\t\t\t\t\t.replaceAll(':', '')\n\t\t\t\t\t\t.toUpperCase()\n\t\t\t\t)\n\t\t\t\t.map((value) => {\n\t\t\t\t\tif (!CERTIFICATE_FINGERPRINT_PATTERN.test(value)) {\n\t\t\t\t\t\tthrow new TypeError(\n\t\t\t\t\t\t\t'mobile.deepLinks.android.sha256CertificateFingerprints entries must be SHA-256 certificate fingerprints.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn value.match(/.{2}/g)?.join(':') ?? value;\n\t\t\t\t})\n\t\t)\n\t].sort();\n\nexport const normalizeAbsoluteMobileConfig = (\n\tconfig: MobileConfig,\n\tprojectRoot: string\n): NormalizedAbsoluteMobileConfig => {\n\tconst appId = requireText(config.appId, 'mobile.appId');\n\tif (!APP_ID_PATTERN.test(appId)) {\n\t\tthrow new TypeError(\n\t\t\t'mobile.appId must use reverse-domain notation, for example com.example.app.'\n\t\t);\n\t}\n\tconst productionOrigin = normalizeProductionOrigin(\n\t\tconfig.server.productionOrigin\n\t);\n\tconst deepLinkScheme = config.deepLinks?.scheme?.trim().toLowerCase();\n\tif (deepLinkScheme && !SCHEME_PATTERN.test(deepLinkScheme)) {\n\t\tthrow new TypeError(\n\t\t\t'mobile.deepLinks.scheme is not a valid URL scheme.'\n\t\t);\n\t}\n\n\treturn {\n\t\tandroidCertificateFingerprints: normalizeCertificateFingerprints(\n\t\t\tconfig.deepLinks?.android?.sha256CertificateFingerprints\n\t\t),\n\t\tappId,\n\t\tappleAppIdPrefix: normalizeAppleAppIdPrefix(\n\t\t\tconfig.deepLinks?.apple?.appIdPrefix\n\t\t),\n\t\tappName: requireText(config.appName, 'mobile.appName'),\n\t\tbundleDirectory: resolveProjectPath(\n\t\t\tprojectRoot,\n\t\t\tconfig.bundleDirectory ?? '.absolutejs/mobile/web',\n\t\t\t'mobile.bundleDirectory'\n\t\t),\n\t\tdeepLinkHosts: normalizeHosts(\n\t\t\tconfig.deepLinks?.hosts,\n\t\t\tproductionOrigin\n\t\t),\n\t\tdeepLinkScheme,\n\t\tengine: 'capacitor',\n\t\tentry: normalizeEntry(config.entry),\n\t\tiosVersion: normalizeIosVersion(config.ios?.version),\n\t\tnativeProjectDirectory: resolveProjectPath(\n\t\t\tprojectRoot,\n\t\t\tconfig.nativeProject?.directory ?? 'mobile',\n\t\t\t'mobile.nativeProject.directory'\n\t\t),\n\t\tplatforms: normalizePlatforms(config.platforms),\n\t\tproductionOrigin\n\t};\n};\n",
18
23
  "import type { AbsoluteMobilePageFramework } from './pageProtocol';\n\nexport const ABSOLUTE_MOBILE_ROUTE_DETAIL = 'x-absolute-mobile' as const;\n\nexport type AbsoluteMobileBuildPageMetadata = {\n\tbundleKey: string;\n\tcontract: string;\n\tframework: AbsoluteMobilePageFramework;\n\tpageId: string;\n\tpropsSchemaHash: string;\n};\n\nconst frameworks = new Set<string>([\n\t'angular',\n\t'ember',\n\t'html',\n\t'htmx',\n\t'react',\n\t'svelte',\n\t'vue'\n]);\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isPageFramework = (\n\tvalue: unknown\n): value is AbsoluteMobilePageFramework =>\n\ttypeof value === 'string' && frameworks.has(value);\n\nexport const parseAbsoluteMobileBuildPageMetadata = (\n\tvalue: unknown\n): AbsoluteMobileBuildPageMetadata | undefined => {\n\tif (!isRecord(value)) return undefined;\n\tif (\n\t\ttypeof value.bundleKey !== 'string' ||\n\t\ttypeof value.contract !== 'string' ||\n\t\t!isPageFramework(value.framework) ||\n\t\ttypeof value.pageId !== 'string' ||\n\t\ttypeof value.propsSchemaHash !== 'string'\n\t) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\tbundleKey: value.bundleKey,\n\t\tcontract: value.contract,\n\t\tframework: value.framework,\n\t\tpageId: value.pageId,\n\t\tpropsSchemaHash: value.propsSchemaHash\n\t};\n};\n",
@@ -31,7 +36,7 @@
31
36
  "import { access } from 'node:fs/promises';\nimport { isAbsolute, relative, resolve, sep } from 'node:path';\nimport { pathToFileURL } from 'node:url';\nimport type { AbsoluteAndroidReleaseMetadata } from './androidRelease';\nimport type { AbsoluteIosReleaseMetadata } from './iosRelease';\n\nexport type AbsoluteGooglePlayReleaseTarget = {\n\tchangesNotSentForReview?: boolean;\n\tinAppUpdatePriority?: number;\n\tname?: string;\n\treleaseNotes?: readonly { language: string; text: string }[];\n\treviewBehavior?: 'CANCEL_IN_REVIEW_AND_SUBMIT' | 'ERROR_IF_IN_REVIEW';\n\tstatus?: 'completed' | 'draft' | 'halted' | 'inProgress';\n\ttrack: string;\n\tuserFraction?: number;\n};\n\nexport type AbsoluteAppStoreConnectReleaseTarget = {\n\tgroups?: readonly string[];\n\tsubmitForReview?: boolean;\n\twhatsNew?: readonly { locale: string; text: string }[];\n};\n\nexport type AbsoluteNativeReleasePublication = {\n\tchannel?: {\n\t\tchannel: string;\n\t\treleaseId: string;\n\t};\n\trecord: {\n\t\tmetadata: AbsoluteAndroidReleaseMetadata | AbsoluteIosReleaseMetadata;\n\t};\n\treused: boolean;\n\tgooglePlay?: {\n\t\treceipt: {\n\t\t\tintent: { track: string };\n\t\t\tpackageName: string;\n\t\t\tprovider: 'google-play';\n\t\t\treleaseId: string;\n\t\t\tsha256: string;\n\t\t\tstage: string;\n\t\t\tversionCode?: string;\n\t\t};\n\t\treused: boolean;\n\t};\n\tappStoreConnect?: {\n\t\treceipt: {\n\t\t\tappleAppId: string;\n\t\t\tbuildId?: string;\n\t\t\tbuildNumber: number;\n\t\t\tintent: { groups: string[]; submitForReview: boolean };\n\t\t\tmarketingVersion: string;\n\t\t\tprovider: 'app-store-connect';\n\t\t\treleaseId: string;\n\t\t\tsha256: string;\n\t\t\tstage: string;\n\t\t};\n\t\treused: boolean;\n\t};\n};\n\nexport type AbsoluteNativeReleasePublisher = {\n\tprepareAndroidRelease?: (options: {\n\t\tbuildIdentity: string;\n\t\tgooglePlay?: AbsoluteGooglePlayReleaseTarget;\n\t\tpackageName: string;\n\t\tsignal?: AbortSignal;\n\t}) => Promise<{ versionCode?: number }>;\n\tprepareIosRelease?: (options: {\n\t\tbuildIdentity: string;\n\t\tbundleId: string;\n\t\tmarketingVersion: string;\n\t\tsignal?: AbortSignal;\n\t}) => Promise<{ buildNumber: number }>;\n\tpublish: (options: {\n\t\tallowUnsigned?: boolean;\n\t\tappStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;\n\t\tchannel?: string;\n\t\tgooglePlay?: AbsoluteGooglePlayReleaseTarget;\n\t\treleaseRoot: string;\n\t\tsignal?: AbortSignal;\n\t}) => Promise<AbsoluteNativeReleasePublication>;\n};\n\nexport const prepareAbsoluteIosRelease = async (\n\tpublisher: AbsoluteNativeReleasePublisher,\n\toptions: {\n\t\tbuildIdentity: string;\n\t\tbundleId: string;\n\t\tmarketingVersion: string;\n\t\tsignal?: AbortSignal;\n\t}\n) => {\n\tif (typeof publisher.prepareIosRelease !== 'function') {\n\t\tthrow new TypeError(\n\t\t\t'App Store Connect publishing requires a registry module created with @absolutejs/deploy/app-store-connect.'\n\t\t);\n\t}\n\tconst { buildNumber } = await publisher.prepareIosRelease(options);\n\tif (!Number.isSafeInteger(buildNumber) || buildNumber < 1) {\n\t\tthrow new TypeError(\n\t\t\t'App Store Connect publisher returned an invalid iOS build number.'\n\t\t);\n\t}\n\n\treturn buildNumber;\n};\n\ntype PrepareAbsoluteAndroidReleaseOptions = {\n\tbuildIdentity: string;\n\tgooglePlay: AbsoluteGooglePlayReleaseTarget;\n\tpackageName: string;\n\tsignal?: AbortSignal;\n};\n\nexport const prepareAbsoluteAndroidRelease = async (\n\tpublisher: AbsoluteNativeReleasePublisher,\n\toptions: PrepareAbsoluteAndroidReleaseOptions\n) => {\n\tif (typeof publisher.prepareAndroidRelease !== 'function') {\n\t\tthrow new TypeError(\n\t\t\t'Google Play publishing requires a registry module created with @absolutejs/deploy/google-play.'\n\t\t);\n\t}\n\tconst prepared = await publisher.prepareAndroidRelease(options);\n\tconst { versionCode } = prepared;\n\tif (\n\t\ttypeof versionCode !== 'number' ||\n\t\t!Number.isSafeInteger(versionCode) ||\n\t\tversionCode < 1 ||\n\t\tversionCode > 2_100_000_000\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'Google Play publisher returned an invalid Android versionCode.'\n\t\t);\n\t}\n\n\treturn versionCode;\n};\n\nexport type PublishAbsoluteAndroidReleaseOptions = {\n\tallowUnsigned?: boolean;\n\tchannel?: string;\n\tgooglePlay?: AbsoluteGooglePlayReleaseTarget;\n\tmodulePath: string;\n\tprojectRoot: string;\n\trelease: {\n\t\tmetadata: AbsoluteAndroidReleaseMetadata;\n\t\treleaseRoot: string;\n\t};\n\tsignal?: AbortSignal;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isPublisher = (value: unknown): value is AbsoluteNativeReleasePublisher =>\n\tisRecord(value) && typeof value.publish === 'function';\n\nconst publisherModulePath = (projectRoot: string, requested: string) => {\n\tconst root = resolve(projectRoot);\n\tconst path = resolve(root, requested);\n\tconst projectRelative = relative(root, path);\n\tif (\n\t\tprojectRelative === '..' ||\n\t\tprojectRelative.startsWith(`..${sep}`) ||\n\t\tisAbsolute(projectRelative)\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'mobile publish --registry must remain inside the project.'\n\t\t);\n\t}\n\n\treturn path;\n};\n\nexport const loadAbsoluteNativeReleasePublisher = async (\n\tprojectRoot: string,\n\trequestedModulePath: string\n) => {\n\tconst modulePath = publisherModulePath(projectRoot, requestedModulePath);\n\tawait access(modulePath).catch(() => {\n\t\tthrow new TypeError(\n\t\t\t`Native release registry module does not exist: ${modulePath}`\n\t\t);\n\t});\n\tconst loaded: unknown = await import(pathToFileURL(modulePath).href);\n\tconst publisher = isRecord(loaded)\n\t\t? (loaded.default ?? loaded.registry)\n\t\t: undefined;\n\tif (!isPublisher(publisher)) {\n\t\tthrow new TypeError(\n\t\t\t'Native release registry module must default-export a registry with publish(options).'\n\t\t);\n\t}\n\n\treturn publisher;\n};\n\nexport const publishAbsoluteAndroidRelease = async (\n\toptions: PublishAbsoluteAndroidReleaseOptions\n) => {\n\tconst publisher = await loadAbsoluteNativeReleasePublisher(\n\t\toptions.projectRoot,\n\t\toptions.modulePath\n\t);\n\tconst publication = await publisher.publish({\n\t\tallowUnsigned: options.allowUnsigned,\n\t\tchannel: options.channel,\n\t\tgooglePlay: options.googlePlay,\n\t\treleaseRoot: options.release.releaseRoot,\n\t\tsignal: options.signal\n\t});\n\tconst expected = options.release.metadata;\n\tconst actual = publication.record?.metadata;\n\tif (\n\t\t!actual ||\n\t\tactual.appId !== expected.appId ||\n\t\tactual.platform !== 'android' ||\n\t\tactual.releaseId !== expected.releaseId ||\n\t\tactual.sha256 !== expected.sha256 ||\n\t\tactual.signed !== expected.signed ||\n\t\tactual.versionCode !== expected.versionCode ||\n\t\ttypeof publication.reused !== 'boolean'\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'Native release registry returned a different Android release identity.'\n\t\t);\n\t}\n\tif (\n\t\toptions.channel !== undefined &&\n\t\t(publication.channel?.channel !== options.channel ||\n\t\t\tpublication.channel.releaseId !== expected.releaseId)\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'Native release registry did not promote the requested channel.'\n\t\t);\n\t}\n\tconst { googlePlay } = publication;\n\tif (options.googlePlay) {\n\t\tif (\n\t\t\t!expected.versionCode ||\n\t\t\t!googlePlay ||\n\t\t\tgooglePlay.receipt.provider !== 'google-play' ||\n\t\t\tgooglePlay.receipt.packageName !== expected.appId ||\n\t\t\tgooglePlay.receipt.releaseId !== expected.releaseId ||\n\t\t\tgooglePlay.receipt.sha256 !== expected.sha256 ||\n\t\t\tgooglePlay.receipt.stage !== 'committed' ||\n\t\t\tgooglePlay.receipt.intent.track !== options.googlePlay.track ||\n\t\t\ttypeof googlePlay.receipt.versionCode !== 'string' ||\n\t\t\t!/^\\d+$/.test(googlePlay.receipt.versionCode) ||\n\t\t\tNumber(googlePlay.receipt.versionCode) !== expected.versionCode ||\n\t\t\ttypeof googlePlay.reused !== 'boolean'\n\t\t) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'Native release publisher did not commit the requested Google Play release.'\n\t\t\t);\n\t\t}\n\t}\n\n\treturn publication;\n};\n\nexport const publishAbsoluteIosRelease = async (options: {\n\tallowUnsigned?: boolean;\n\tappStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;\n\tchannel?: string;\n\tmodulePath: string;\n\tprojectRoot: string;\n\trelease: {\n\t\tmetadata: AbsoluteIosReleaseMetadata;\n\t\treleaseRoot: string;\n\t};\n\tsignal?: AbortSignal;\n}) => {\n\tconst publisher = await loadAbsoluteNativeReleasePublisher(\n\t\toptions.projectRoot,\n\t\toptions.modulePath\n\t);\n\tconst publication = await publisher.publish({\n\t\tallowUnsigned: options.allowUnsigned,\n\t\tappStoreConnect: options.appStoreConnect,\n\t\tchannel: options.channel,\n\t\treleaseRoot: options.release.releaseRoot,\n\t\tsignal: options.signal\n\t});\n\tconst expected = options.release.metadata;\n\tconst actual = publication.record?.metadata;\n\tif (\n\t\t!actual ||\n\t\tactual.appId !== expected.appId ||\n\t\tactual.platform !== 'ios' ||\n\t\tactual.releaseId !== expected.releaseId ||\n\t\tactual.sha256 !== expected.sha256 ||\n\t\tactual.signed !== expected.signed ||\n\t\tactual.buildNumber !== expected.buildNumber ||\n\t\tactual.marketingVersion !== expected.marketingVersion ||\n\t\ttypeof publication.reused !== 'boolean'\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'Native release registry returned a different iOS release identity.'\n\t\t);\n\t}\n\tif (\n\t\toptions.channel !== undefined &&\n\t\t(publication.channel?.channel !== options.channel ||\n\t\t\tpublication.channel.releaseId !== expected.releaseId)\n\t) {\n\t\tthrow new TypeError(\n\t\t\t'Native release registry did not promote the requested channel.'\n\t\t);\n\t}\n\tif (options.appStoreConnect) {\n\t\tconst distributed = publication.appStoreConnect;\n\t\tif (\n\t\t\t!expected.buildNumber ||\n\t\t\t!distributed ||\n\t\t\tdistributed.receipt.provider !== 'app-store-connect' ||\n\t\t\tdistributed.receipt.releaseId !== expected.releaseId ||\n\t\t\tdistributed.receipt.sha256 !== expected.sha256 ||\n\t\t\tdistributed.receipt.buildNumber !== expected.buildNumber ||\n\t\t\tdistributed.receipt.marketingVersion !==\n\t\t\t\texpected.marketingVersion ||\n\t\t\t!['distributed', 'review-submitted'].includes(\n\t\t\t\tdistributed.receipt.stage\n\t\t\t) ||\n\t\t\tJSON.stringify([...distributed.receipt.intent.groups].sort()) !==\n\t\t\t\tJSON.stringify(\n\t\t\t\t\t[...(options.appStoreConnect.groups ?? [])].sort()\n\t\t\t\t) ||\n\t\t\tdistributed.receipt.intent.submitForReview !==\n\t\t\t\t(options.appStoreConnect.submitForReview ?? false) ||\n\t\t\ttypeof distributed.reused !== 'boolean'\n\t\t) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'Native release publisher did not complete the requested App Store Connect release.'\n\t\t\t);\n\t\t}\n\t}\n\n\treturn publication;\n};\n",
32
37
  "import { existsSync, readFileSync } from 'node:fs';\nimport { dirname, extname, relative, resolve } from 'node:path';\nimport type { BunPlugin } from 'bun';\nimport ts from 'typescript';\nimport { ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION } from './pageProtocol';\nimport { hashAbsoluteMobilePropsSchema } from './releaseArtifact';\nimport {\n\tABSOLUTE_MOBILE_ROUTE_DETAIL,\n\ttype AbsoluteMobileBuildPageMetadata\n} from './buildMetadata';\n\ntype MobileRouteTransformOptions = {\n\tentry: string;\n\tprojectRoot?: string;\n};\n\ntype AnalyzedPageCall = {\n\tmetadata: AbsoluteMobileBuildPageMetadata;\n\tpageCallStart: number;\n\trouteCallSpan: string;\n};\n\ntype AnalyzedFile = {\n\tbyPageCall: Map<number, AnalyzedPageCall>;\n\tbyRouteCall: Map<string, AnalyzedPageCall>;\n};\n\ntype AssetKeyResolver = (\n\texpression: ts.Expression | undefined,\n\tchecker: ts.TypeChecker,\n\tseen?: Set<ts.Symbol>\n) => string | undefined;\n\nconst ROUTE_METHODS = new Set(['get', 'head']);\nconst SOURCE_FILTER = /\\.[cm]?[jt]sx?$/;\nconst PAGE_HANDLER = 'handleReactPageRequest';\n\nconst posixPath = (value: string) => value.replace(/\\\\/g, '/');\n\nconst findTsconfig = (entry: string, projectRoot: string) =>\n\tts.findConfigFile(dirname(entry), existsSync, 'tsconfig.json') ??\n\tts.findConfigFile(projectRoot, existsSync, 'tsconfig.json');\n\nconst createProgram = (entry: string, projectRoot: string) => {\n\tconst configPath = findTsconfig(entry, projectRoot);\n\tif (!configPath) {\n\t\treturn ts.createProgram([entry], {\n\t\t\tallowJs: true,\n\t\t\tjsx: ts.JsxEmit.ReactJSX,\n\t\t\tmodule: ts.ModuleKind.ESNext,\n\t\t\tmoduleResolution: ts.ModuleResolutionKind.Bundler,\n\t\t\ttarget: ts.ScriptTarget.ESNext\n\t\t});\n\t}\n\n\tconst parsed = ts.parseJsonConfigFileContent(\n\t\tts.readConfigFile(configPath, (path) => readFileSync(path, 'utf8'))\n\t\t\t.config,\n\t\tts.sys,\n\t\tdirname(configPath)\n\t);\n\tif (!parsed.fileNames.includes(entry)) parsed.fileNames.push(entry);\n\n\treturn ts.createProgram(parsed.fileNames, parsed.options);\n};\n\nconst propertyName = (property: ts.ObjectLiteralElementLike) => {\n\tif (!('name' in property) || !property.name) return undefined;\n\tif (ts.isIdentifier(property.name)) return property.name.text;\n\tif (ts.isStringLiteralLike(property.name)) return property.name.text;\n\n\treturn undefined;\n};\n\nconst objectPropertyExpression = (\n\tobject: ts.ObjectLiteralExpression,\n\tname: string\n) => {\n\tconst property = object.properties.find(\n\t\t(candidate) => propertyName(candidate) === name\n\t);\n\tif (property && ts.isPropertyAssignment(property)) {\n\t\treturn property.initializer;\n\t}\n\tif (property && ts.isShorthandPropertyAssignment(property)) {\n\t\treturn property.name;\n\t}\n\n\treturn undefined;\n};\n\nconst serializeType = (\n\ttype: ts.Type,\n\tchecker: ts.TypeChecker,\n\tancestors = new Set<ts.Type>()\n): unknown => {\n\tif (type.flags & ts.TypeFlags.Any) return { type: 'any' };\n\tif (type.flags & ts.TypeFlags.Unknown) return { type: 'unknown' };\n\tif (type.flags & ts.TypeFlags.Never) return { type: 'never' };\n\tif (type.flags & ts.TypeFlags.StringLike) return { type: 'string' };\n\tif (type.flags & ts.TypeFlags.NumberLike) return { type: 'number' };\n\tif (type.flags & ts.TypeFlags.BooleanLike) return { type: 'boolean' };\n\tif (type.flags & ts.TypeFlags.BigIntLike) return { type: 'bigint' };\n\tif (type.flags & ts.TypeFlags.Null) return { type: 'null' };\n\tif (type.flags & ts.TypeFlags.Undefined) return { type: 'undefined' };\n\tif (type.isUnion()) {\n\t\treturn {\n\t\t\tanyOf: type.types\n\t\t\t\t.map((member) => serializeType(member, checker, ancestors))\n\t\t\t\t.sort((left, right) =>\n\t\t\t\t\tJSON.stringify(left).localeCompare(JSON.stringify(right))\n\t\t\t\t)\n\t\t};\n\t}\n\tif (type.isIntersection()) {\n\t\treturn {\n\t\t\tallOf: type.types\n\t\t\t\t.map((member) => serializeType(member, checker, ancestors))\n\t\t\t\t.sort((left, right) =>\n\t\t\t\t\tJSON.stringify(left).localeCompare(JSON.stringify(right))\n\t\t\t\t)\n\t\t};\n\t}\n\tif (ancestors.has(type)) {\n\t\treturn {\n\t\t\tref: checker.typeToString(\n\t\t\t\ttype,\n\t\t\t\tundefined,\n\t\t\t\tts.TypeFormatFlags.NoTruncation\n\t\t\t)\n\t\t};\n\t}\n\n\tancestors.add(type);\n\tconst arrayElement = checker.getIndexTypeOfType(type, ts.IndexKind.Number);\n\tconst properties = checker.getPropertiesOfType(type);\n\tlet schema: unknown;\n\tif (arrayElement && properties.some(({ name }) => name === 'length')) {\n\t\tschema = {\n\t\t\titems: serializeType(arrayElement, checker, ancestors),\n\t\t\ttype: 'array'\n\t\t};\n\t} else if (properties.length > 0) {\n\t\tconst entries = properties\n\t\t\t.filter(({ name }) => !name.startsWith('__'))\n\t\t\t.map((property) => {\n\t\t\t\tconst declaration =\n\t\t\t\t\tproperty.valueDeclaration ?? property.declarations?.[0];\n\t\t\t\tconst propertyType = declaration\n\t\t\t\t\t? checker.getTypeOfSymbolAtLocation(property, declaration)\n\t\t\t\t\t: checker.getDeclaredTypeOfSymbol(property);\n\n\t\t\t\treturn [\n\t\t\t\t\tproperty.name,\n\t\t\t\t\t{\n\t\t\t\t\t\toptional: Boolean(\n\t\t\t\t\t\t\tproperty.flags & ts.SymbolFlags.Optional\n\t\t\t\t\t\t),\n\t\t\t\t\t\tschema: serializeType(propertyType, checker, ancestors)\n\t\t\t\t\t}\n\t\t\t\t] as const;\n\t\t\t})\n\t\t\t.sort(([left], [right]) => left.localeCompare(right));\n\t\tschema = { properties: Object.fromEntries(entries), type: 'object' };\n\t} else {\n\t\tschema = {\n\t\t\ttype: checker.typeToString(\n\t\t\t\ttype,\n\t\t\t\tundefined,\n\t\t\t\tts.TypeFormatFlags.NoTruncation\n\t\t\t)\n\t\t};\n\t}\n\tancestors.delete(type);\n\n\treturn schema;\n};\n\nconst pagePropsType = (\n\tpageExpression: ts.Expression,\n\tpropsExpression: ts.Expression | undefined,\n\tchecker: ts.TypeChecker\n) => {\n\tconst pageType = checker.getTypeAtLocation(pageExpression);\n\tconst [signature] = pageType.getCallSignatures();\n\tconst [parameter] = signature?.parameters ?? [];\n\tconst declaration =\n\t\tparameter?.valueDeclaration ?? parameter?.declarations?.[0];\n\tif (parameter && declaration) {\n\t\treturn checker.getTypeOfSymbolAtLocation(parameter, declaration);\n\t}\n\n\treturn propsExpression\n\t\t? checker.getTypeAtLocation(propsExpression)\n\t\t: checker.getTypeAtLocation(pageExpression);\n};\n\nconst resolvePageIdentity = (\n\texpression: ts.Expression,\n\tsourceFile: ts.SourceFile,\n\tchecker: ts.TypeChecker,\n\tprojectRoot: string\n) => {\n\tlet symbol = checker.getSymbolAtLocation(expression);\n\tif (symbol?.flags && symbol.flags & ts.SymbolFlags.Alias) {\n\t\tsymbol = checker.getAliasedSymbol(symbol);\n\t}\n\tconst declaration = symbol?.declarations?.[0];\n\tconst file = declaration?.getSourceFile().fileName ?? sourceFile.fileName;\n\tconst exportedName = symbol?.name ?? expression.getText(sourceFile);\n\tconst source = posixPath(relative(projectRoot, file));\n\n\treturn `${source}#${exportedName}`;\n};\n\nconst resolveAlias = (symbol: ts.Symbol, checker: ts.TypeChecker) => {\n\tif (!(symbol.flags & ts.SymbolFlags.Alias)) return symbol;\n\n\treturn checker.getAliasedSymbol(symbol);\n};\n\nconst assetKey: AssetKeyResolver = (\n\texpression,\n\tchecker,\n\tseen = new Set<ts.Symbol>()\n) => {\n\tif (!expression) return undefined;\n\n\tif (ts.isIdentifier(expression)) {\n\t\tconst unresolved = ts.isShorthandPropertyAssignment(expression.parent)\n\t\t\t? checker.getShorthandAssignmentValueSymbol(expression.parent)\n\t\t\t: checker.getSymbolAtLocation(expression);\n\t\tif (!unresolved) return undefined;\n\t\tconst symbol = resolveAlias(unresolved, checker);\n\t\tif (seen.has(symbol)) return undefined;\n\t\tseen.add(symbol);\n\t\tconst declaration = symbol.valueDeclaration ?? symbol.declarations?.[0];\n\t\tif (!declaration || !ts.isVariableDeclaration(declaration))\n\t\t\treturn undefined;\n\n\t\treturn assetKey(declaration.initializer, checker, seen);\n\t}\n\n\tif (!ts.isCallExpression(expression)) return undefined;\n\tif (\n\t\t!ts.isIdentifier(expression.expression) ||\n\t\texpression.expression.text !== 'asset'\n\t) {\n\t\treturn undefined;\n\t}\n\tconst [, key] = expression.arguments;\n\n\treturn key && ts.isStringLiteralLike(key) ? key.text : undefined;\n};\n\nconst findPageCall = (nodes: readonly ts.Node[]) => {\n\tlet found: ts.CallExpression | undefined;\n\tconst visit = (candidate: ts.Node) => {\n\t\tif (found) return;\n\t\tif (\n\t\t\tts.isCallExpression(candidate) &&\n\t\t\tts.isIdentifier(candidate.expression) &&\n\t\t\tcandidate.expression.text === PAGE_HANDLER\n\t\t) {\n\t\t\tfound = candidate;\n\n\t\t\treturn;\n\t\t}\n\t\tts.forEachChild(candidate, visit);\n\t};\n\tfor (const node of nodes) visit(node);\n\n\treturn found;\n};\n\nconst isProjectSource = (\n\tsourceFile: ts.SourceFile,\n\tresolvedFile: string,\n\tprojectRoot: string\n) =>\n\t!sourceFile.isDeclarationFile &&\n\t!resolvedFile.includes('/node_modules/') &&\n\tresolvedFile.startsWith(`${projectRoot}/`);\n\nconst analyzeRouteCall = (\n\tnode: ts.CallExpression,\n\tsourceFile: ts.SourceFile,\n\tchecker: ts.TypeChecker,\n\tprojectRoot: string\n) => {\n\tconst callee = node.expression;\n\tif (!ts.isPropertyAccessExpression(callee)) return undefined;\n\tif (!ROUTE_METHODS.has(callee.name.text)) return undefined;\n\tconst [routePath] = node.arguments;\n\tif (!routePath || !ts.isStringLiteralLike(routePath)) return undefined;\n\tconst pageCall = findPageCall(node.arguments.slice(1));\n\tconst [input] = pageCall?.arguments ?? [];\n\tif (!pageCall || !input || !ts.isObjectLiteralExpression(input)) {\n\t\treturn undefined;\n\t}\n\tconst page = objectPropertyExpression(input, 'Page');\n\tif (!page) return undefined;\n\tconst props = objectPropertyExpression(input, 'props');\n\tconst index = objectPropertyExpression(input, 'index');\n\tconst bundleKey = assetKey(index, checker);\n\tif (!bundleKey) return undefined;\n\tconst pageId = resolvePageIdentity(page, sourceFile, checker, projectRoot);\n\tconst schema = serializeType(pagePropsType(page, props, checker), checker);\n\tconst propsSchemaHash = hashAbsoluteMobilePropsSchema(schema);\n\tconst metadata: AbsoluteMobileBuildPageMetadata = {\n\t\tbundleKey,\n\t\tcontract: `react:${pageId}:${propsSchemaHash}`,\n\t\tframework: 'react',\n\t\tpageId,\n\t\tpropsSchemaHash\n\t};\n\tconst result: AnalyzedPageCall = {\n\t\tmetadata,\n\t\tpageCallStart: pageCall.getStart(sourceFile),\n\t\trouteCallSpan: `${node.getStart(sourceFile)}:${node.end}`\n\t};\n\n\treturn result;\n};\n\nconst analyzeSourceFile = (\n\tsourceFile: ts.SourceFile,\n\tchecker: ts.TypeChecker,\n\tprojectRoot: string\n) => {\n\tconst analysis: AnalyzedFile = {\n\t\tbyPageCall: new Map(),\n\t\tbyRouteCall: new Map()\n\t};\n\tconst visit = (node: ts.Node) => {\n\t\tconst result = ts.isCallExpression(node)\n\t\t\t? analyzeRouteCall(node, sourceFile, checker, projectRoot)\n\t\t\t: undefined;\n\t\tif (result) {\n\t\t\tanalysis.byPageCall.set(result.pageCallStart, result);\n\t\t\tanalysis.byRouteCall.set(result.routeCallSpan, result);\n\t\t}\n\t\tts.forEachChild(node, visit);\n\t};\n\tts.forEachChild(sourceFile, visit);\n\n\treturn analysis;\n};\n\nconst analyzeProgram = (program: ts.Program, projectRoot: string) => {\n\tconst checker = program.getTypeChecker();\n\tconst analyzed = new Map<string, AnalyzedFile>();\n\tfor (const sourceFile of program.getSourceFiles()) {\n\t\tconst resolvedFile = resolve(sourceFile.fileName);\n\t\tif (!isProjectSource(sourceFile, resolvedFile, projectRoot)) continue;\n\t\tconst analysis = analyzeSourceFile(sourceFile, checker, projectRoot);\n\t\tif (analysis.byPageCall.size > 0) analyzed.set(resolvedFile, analysis);\n\t}\n\n\treturn analyzed;\n};\n\nconst metadataExpression = (metadata: AbsoluteMobileBuildPageMetadata) =>\n\tts.factory.createObjectLiteralExpression(\n\t\tObject.entries(metadata).map(([key, item]) =>\n\t\t\tts.factory.createPropertyAssignment(\n\t\t\t\tts.factory.createStringLiteral(key),\n\t\t\t\tts.factory.createStringLiteral(item)\n\t\t\t)\n\t\t),\n\t\tfalse\n\t);\n\nconst routeOptions = (\n\texisting: ts.Expression | undefined,\n\tmetadata: AbsoluteMobileBuildPageMetadata\n) => {\n\tconst detail = ts.factory.createObjectLiteralExpression([\n\t\tts.factory.createPropertyAssignment(\n\t\t\tts.factory.createStringLiteral(ABSOLUTE_MOBILE_ROUTE_DETAIL),\n\t\t\tmetadataExpression(metadata)\n\t\t)\n\t]);\n\tif (!existing) {\n\t\treturn ts.factory.createObjectLiteralExpression([\n\t\t\tts.factory.createPropertyAssignment('detail', detail)\n\t\t]);\n\t}\n\n\treturn ts.factory.createObjectLiteralExpression([\n\t\tts.factory.createSpreadAssignment(existing),\n\t\tts.factory.createPropertyAssignment(\n\t\t\t'detail',\n\t\t\tts.factory.createObjectLiteralExpression([\n\t\t\t\tts.factory.createSpreadAssignment(\n\t\t\t\t\tts.factory.createPropertyAccessExpression(\n\t\t\t\t\t\texisting,\n\t\t\t\t\t\t'detail'\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tts.factory.createPropertyAssignment(\n\t\t\t\t\tts.factory.createStringLiteral(\n\t\t\t\t\t\tABSOLUTE_MOBILE_ROUTE_DETAIL\n\t\t\t\t\t),\n\t\t\t\t\tmetadataExpression(metadata)\n\t\t\t\t)\n\t\t\t])\n\t\t)\n\t]);\n};\n\nconst transformPageCall = (\n\tnode: ts.CallExpression,\n\tpage: AnalyzedPageCall | undefined\n) => {\n\tif (!page) return undefined;\n\tconst [input] = node.arguments;\n\tif (!input || !ts.isObjectLiteralExpression(input)) return undefined;\n\n\treturn ts.factory.updateCallExpression(\n\t\tnode,\n\t\tnode.expression,\n\t\tnode.typeArguments,\n\t\t[\n\t\t\tts.factory.updateObjectLiteralExpression(input, [\n\t\t\t\t...input.properties,\n\t\t\t\tts.factory.createPropertyAssignment(\n\t\t\t\t\t'__absoluteMobile',\n\t\t\t\t\tmetadataExpression(page.metadata)\n\t\t\t\t)\n\t\t\t]),\n\t\t\t...node.arguments.slice(1)\n\t\t]\n\t);\n};\n\nconst transformRouteCall = (\n\tnode: ts.CallExpression,\n\troute: AnalyzedPageCall | undefined\n) => {\n\tif (!route) return undefined;\n\tconst [path, maybeOptions, maybeHandler, ...rest] = node.arguments;\n\tif (!path || !maybeOptions) return undefined;\n\tconst options = maybeHandler ? maybeOptions : undefined;\n\tconst handler = maybeHandler ?? maybeOptions;\n\n\treturn ts.factory.updateCallExpression(\n\t\tnode,\n\t\tnode.expression,\n\t\tnode.typeArguments,\n\t\t[path, routeOptions(options, route.metadata), handler, ...rest]\n\t);\n};\n\nconst transformFile = (\n\tsource: string,\n\tfileName: string,\n\tanalysis: AnalyzedFile\n) => {\n\tconst sourceFile = ts.createSourceFile(\n\t\tfileName,\n\t\tsource,\n\t\tts.ScriptTarget.Latest,\n\t\ttrue,\n\t\tfileName.endsWith('x') ? ts.ScriptKind.TSX : ts.ScriptKind.TS\n\t);\n\tconst transformer: ts.TransformerFactory<ts.SourceFile> = (context) => {\n\t\tconst visit: ts.Visitor = (node) => {\n\t\t\tif (!ts.isCallExpression(node)) {\n\t\t\t\treturn ts.visitEachChild(node, visit, context);\n\t\t\t}\n\t\t\tconst transformedChildren = ts.visitEachChild(node, visit, context);\n\t\t\tconst page = analysis.byPageCall.get(node.getStart(sourceFile));\n\t\t\tconst transformedPage = transformPageCall(\n\t\t\t\ttransformedChildren,\n\t\t\t\tpage\n\t\t\t);\n\t\t\tif (transformedPage) return transformedPage;\n\t\t\tconst route = analysis.byRouteCall.get(\n\t\t\t\t`${node.getStart(sourceFile)}:${node.end}`\n\t\t\t);\n\t\t\tconst transformedRoute = transformRouteCall(\n\t\t\t\ttransformedChildren,\n\t\t\t\troute\n\t\t\t);\n\t\t\tif (transformedRoute) return transformedRoute;\n\n\t\t\treturn transformedChildren;\n\t\t};\n\n\t\treturn (node) => ts.visitNode(node, visit, ts.isSourceFile) ?? node;\n\t};\n\tconst result = ts.transform(sourceFile, [transformer]);\n\ttry {\n\t\tconst [transformed] = result.transformed;\n\t\tif (!transformed) throw new TypeError('Mobile route transform failed.');\n\n\t\treturn ts.createPrinter().printFile(transformed);\n\t} finally {\n\t\tresult.dispose();\n\t}\n};\n\nexport const ABSOLUTE_MOBILE_TRANSFORM_PROTOCOL =\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION;\nexport const createAbsoluteMobileRouteMetadataPlugin = (\n\toptions: MobileRouteTransformOptions\n): BunPlugin => {\n\tconst projectRoot = resolve(options.projectRoot ?? process.cwd());\n\tconst entry = resolve(options.entry);\n\tconst analyzed = analyzeProgram(\n\t\tcreateProgram(entry, projectRoot),\n\t\tprojectRoot\n\t);\n\n\treturn {\n\t\tname: 'absolute-mobile-route-metadata',\n\t\tsetup(build) {\n\t\t\tbuild.onLoad({ filter: SOURCE_FILTER }, async ({ path }) => {\n\t\t\t\tconst analysis = analyzed.get(resolve(path));\n\t\t\t\tif (!analysis) return undefined;\n\t\t\t\tconst source = await Bun.file(path).text();\n\n\t\t\t\treturn {\n\t\t\t\t\tcontents: transformFile(source, path, analysis),\n\t\t\t\t\tloader: extname(path).endsWith('x') ? 'tsx' : 'ts'\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t};\n};\nexport const inspectAbsoluteMobileRouteMetadata = (\n\toptions: MobileRouteTransformOptions\n) => {\n\tconst projectRoot = resolve(options.projectRoot ?? process.cwd());\n\tconst entry = resolve(options.entry);\n\tconst analyzed = analyzeProgram(\n\t\tcreateProgram(entry, projectRoot),\n\t\tprojectRoot\n\t);\n\n\treturn [...analyzed.entries()].flatMap(([file, analysis]) =>\n\t\t[...analysis.byRouteCall.values()].map(({ metadata }) => ({\n\t\t\tfile: posixPath(relative(projectRoot, file)),\n\t\t\tmetadata\n\t\t}))\n\t);\n};\n"
33
38
  ],
34
- "mappings": "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",
35
- "debugId": "8F6E00755BF98A2E64756E2164756E21",
39
+ "mappings": "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",
40
+ "debugId": "5FE7B7589D1661C064756E2164756E21",
36
41
  "names": []
37
42
  }