@absolutejs/absolute 0.20.0-beta.6 → 0.20.0-beta.60
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.
- package/README.md +205 -0
- package/dist/angular/browser.js +392 -405
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/core/streamingSlotRegistrar.js +7 -7
- package/dist/angular/components/core/streamingSlotRegistry.js +4 -4
- package/dist/angular/index.js +379 -321
- package/dist/angular/index.js.map +8 -7
- package/dist/angular/server.js +133 -61
- package/dist/angular/server.js.map +8 -7
- package/dist/build.js +2336 -1347
- package/dist/build.js.map +22 -17
- package/dist/cli/config/client.js +12 -12
- package/dist/cli/config/server.js +1140 -1091
- package/dist/cli/index.js +9621 -2093
- package/dist/client/chunks/angularPatch-arh4sr68.js +157 -0
- package/dist/client/chunks/angularPatch-arh4sr68.js.map +10 -0
- package/dist/client/chunks/index-5py90ctf.js +87 -0
- package/dist/client/chunks/index-5py90ctf.js.map +10 -0
- package/dist/client/chunks/index-m35nbkdp.js +374 -0
- package/dist/client/chunks/index-m35nbkdp.js.map +12 -0
- package/dist/client/chunks/index-qxjc7kc5.js +12 -0
- package/dist/client/chunks/index-qxjc7kc5.js.map +9 -0
- package/dist/client/chunks/islands-xj2n8nwf.js +281 -0
- package/dist/client/chunks/islands-xj2n8nwf.js.map +14 -0
- package/dist/client/chunks/react-pdg4325x.js +65 -0
- package/dist/client/chunks/react-pdg4325x.js.map +10 -0
- package/dist/client/chunks/svelte-s0c964kb.js +19 -0
- package/dist/client/chunks/svelte-s0c964kb.js.map +10 -0
- package/dist/client/chunks/vue-rdskrnyg.js +24 -0
- package/dist/client/chunks/vue-rdskrnyg.js.map +10 -0
- package/dist/client/index.js +73 -841
- package/dist/client/index.js.map +7 -20
- package/dist/core/streamingSlotRegistrar.js +15 -13
- package/dist/core/streamingSlotRegistrar.js.map +2 -2
- package/dist/core/streamingSlotRegistry.js +11 -9
- package/dist/core/streamingSlotRegistry.js.map +2 -2
- package/dist/dev/client/hmrClient.ts +35 -3
- package/dist/dev/client/hmrTiming.ts +6 -0
- package/dist/dev/client/syncDevtools.ts +237 -0
- package/dist/dev/serverBootstrap.js +28 -0
- package/dist/image-client/imageClient.js +7 -7
- package/dist/index.js +3748 -2361
- package/dist/index.js.map +38 -30
- package/dist/islands/browser.js +11 -25
- package/dist/islands/browser.js.map +2 -2
- package/dist/islands/index.js +55 -52
- package/dist/islands/index.js.map +5 -4
- package/dist/mobile/browser.js +429 -20
- package/dist/mobile/browser.js.map +8 -5
- package/dist/mobile/index.js +10626 -3132
- package/dist/mobile/index.js.map +47 -18
- package/dist/mobile/remoteMacAgentEntry.js +1374 -14
- package/dist/mobile/shellAuth.js +36 -0
- package/dist/mobile/shellBootstrap.js +1800 -0
- package/dist/mobile/shellExpoAuth.js +163 -0
- package/dist/mobile/shellExpoDevices.js +77 -0
- package/dist/mobile/shellExpoSync.js +104 -0
- package/dist/mobile/shellSync.js +184 -0
- package/dist/mobile/shellUpdate.js +456 -0
- package/dist/mobile/uiPrimitives.js +264 -0
- package/dist/react/browser.js +17 -59
- package/dist/react/browser.js.map +2 -2
- package/dist/react/components/browser/index.js +107 -107
- package/dist/react/components/index.js +118 -116
- package/dist/react/components/index.js.map +2 -2
- package/dist/react/hooks/index.js +11 -25
- package/dist/react/hooks/index.js.map +2 -2
- package/dist/react/index.js +110 -67
- package/dist/react/index.js.map +8 -7
- package/dist/react/jsxDevRuntimeCompat.js +11 -9
- package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
- package/dist/react/jsxRuntimeCompat.js +11 -9
- package/dist/react/jsxRuntimeCompat.js.map +2 -2
- package/dist/react/router/browser.js +9 -7
- package/dist/react/router/browser.js.map +2 -2
- package/dist/react/router/index.js +9 -7
- package/dist/react/router/index.js.map +2 -2
- package/dist/react/server.js +67 -11
- package/dist/react/server.js.map +7 -6
- package/dist/src/build/pwa.d.ts +16 -0
- package/dist/src/cli/config/server.d.ts +1 -1
- package/dist/src/cli/instanceStatus.d.ts +1 -0
- package/dist/src/cli/scripts/dev.d.ts +2 -0
- package/dist/src/client/browserTranslation.d.ts +19 -0
- package/dist/src/client/index.d.ts +1 -0
- package/dist/src/core/browserTranslation.d.ts +6 -0
- package/dist/src/core/devBuild.d.ts +1 -0
- package/dist/src/core/prepare.d.ts +376 -0
- package/dist/src/dev/clientManager.d.ts +1 -0
- package/dist/src/dev/devCert.d.ts +6 -4
- package/dist/src/dev/serverEntryCopies.d.ts +3 -0
- package/dist/src/ember/browser.d.ts +0 -16
- package/dist/src/mobile/adaptiveShell.d.ts +27 -0
- package/dist/src/mobile/androidEmulatorController.d.ts +8 -1
- package/dist/src/mobile/androidRelease.d.ts +9 -2
- package/dist/src/mobile/androidTestReport.d.ts +14 -0
- package/dist/src/mobile/androidUpgradeConformance.d.ts +47 -0
- package/dist/src/mobile/androidWebView.d.ts +1 -0
- package/dist/src/mobile/browser.d.ts +2 -0
- package/dist/src/mobile/capacitorBundle.d.ts +18 -0
- package/dist/src/mobile/ciWorkflow.d.ts +26 -0
- package/dist/src/mobile/config.d.ts +9 -1
- package/dist/src/mobile/devDeviceAdapter.d.ts +3 -0
- package/dist/src/mobile/deviceCapabilities.d.ts +49 -0
- package/dist/src/mobile/expoBridge.d.ts +91 -0
- package/dist/src/mobile/expoDevController.d.ts +56 -0
- package/dist/src/mobile/expoProject.d.ts +16 -0
- package/dist/src/mobile/index.d.ts +23 -0
- package/dist/src/mobile/iosDeviceAcceptance.d.ts +32 -0
- package/dist/src/mobile/iosPhysicalDeviceTransport.d.ts +16 -0
- package/dist/src/mobile/iosRelease.d.ts +63 -3
- package/dist/src/mobile/iosSimulatorController.d.ts +20 -2
- package/dist/src/mobile/iosTestReport.d.ts +24 -0
- package/dist/src/mobile/mobileBundleInspection.d.ts +63 -0
- package/dist/src/mobile/mobileInspect.d.ts +142 -0
- package/dist/src/mobile/mobilePreview.d.ts +174 -0
- package/dist/src/mobile/mobilePreviewClient.d.ts +1 -0
- package/dist/src/mobile/nativeAuth.d.ts +6 -0
- package/dist/src/mobile/nativeBackgroundSync.d.ts +4 -0
- package/dist/src/mobile/nativeDeviceCapabilities.d.ts +6 -0
- package/dist/src/mobile/nativeRoute.d.ts +13 -0
- package/dist/src/mobile/nativeTestReport.d.ts +91 -0
- package/dist/src/mobile/nativeUpdates.d.ts +4 -0
- package/dist/src/mobile/navigationLifecycle.d.ts +36 -0
- package/dist/src/mobile/navigationState.d.ts +53 -0
- package/dist/src/mobile/pageProtocol.d.ts +2 -0
- package/dist/src/mobile/releaseDoctor.d.ts +23 -1
- package/dist/src/mobile/remoteMacProtocol.d.ts +134 -1
- package/dist/src/mobile/remoteMacWire.d.ts +1 -1
- package/dist/src/mobile/shellAuth.d.ts +8 -1
- package/dist/src/mobile/shellBootstrap.d.ts +15 -2
- package/dist/src/mobile/shellExpoAuth.d.ts +12 -0
- package/dist/src/mobile/shellExpoDevices.d.ts +3 -0
- package/dist/src/mobile/shellExpoSync.d.ts +18 -0
- package/dist/src/mobile/shellHttp.d.ts +2 -0
- package/dist/src/mobile/shellPush.d.ts +11 -0
- package/dist/src/mobile/shellSync.d.ts +46 -1
- package/dist/src/mobile/shellUpdate.d.ts +2 -0
- package/dist/src/mobile/syncRemediation.d.ts +10 -0
- package/dist/src/mobile/syncSchema.d.ts +9 -0
- package/dist/src/mobile/transport.d.ts +14 -0
- package/dist/src/mobile/uiPrimitives.d.ts +37 -0
- package/dist/src/mobile/updateClient.d.ts +40 -0
- package/dist/src/mobile/updateProtocol.d.ts +51 -0
- package/dist/src/mobile/updatePublisher.d.ts +66 -0
- package/dist/src/mobile/updateRollout.d.ts +16 -0
- package/dist/src/mobile/updateRuntime.d.ts +27 -0
- package/dist/src/mobile/updateSigning.d.ts +20 -0
- package/dist/src/plugins/hmr.d.ts +3 -0
- package/dist/src/plugins/imageOptimizer.d.ts +1 -1
- package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
- package/dist/src/utils/imageProcessing.d.ts +3 -0
- package/dist/src/utils/loadConfig.d.ts +1 -0
- package/dist/src/utils/logger.d.ts +1 -0
- package/dist/src/utils/startupBanner.d.ts +1 -0
- package/dist/src/utils/userAgentFunctions.d.ts +1 -1
- package/dist/src/vue/browser.d.ts +1 -0
- package/dist/src/vue/browserTranslation.d.ts +5 -0
- package/dist/src/vue/index.d.ts +1 -0
- package/dist/svelte/browser.js +12 -26
- package/dist/svelte/browser.js.map +2 -2
- package/dist/svelte/index.js +104 -61
- package/dist/svelte/index.js.map +8 -7
- package/dist/svelte/server.js +84 -28
- package/dist/svelte/server.js.map +7 -6
- package/dist/types/build.d.ts +62 -3
- package/dist/types/cli.d.ts +1 -0
- package/dist/types/messages.d.ts +1 -1
- package/dist/vue/browser.js +116 -56
- package/dist/vue/browser.js.map +5 -3
- package/dist/vue/components/Image.js +9 -7
- package/dist/vue/components/Image.js.map +2 -2
- package/dist/vue/components/index.js +11 -9
- package/dist/vue/components/index.js.map +2 -2
- package/dist/vue/index.js +211 -94
- package/dist/vue/index.js.map +10 -7
- package/dist/vue/server.js +69 -13
- package/dist/vue/server.js.map +7 -6
- package/package.json +40 -14
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/build/resolvePackageImport.ts", "../src/constants.ts", "../src/svelte/lowerIslandSyntax.ts", "../src/svelte/lowerAwaitSlotSyntax.ts", "../src/build/stylePreprocessor.ts", "../src/core/svelteServerModule.ts", "../src/core/devRouteRegistrationCallsite.ts", "../src/core/pageResponseCache.ts", "../src/client/streamSwap.ts", "../src/utils/escapeScriptContent.ts", "../src/utils/streamingSlots.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/utils/logger.ts", "../src/utils/inlinePageCss.ts", "../src/utils/ssrErrorPage.ts", "../src/utils/stringModifiers.ts", "../src/utils/resolveConvention.ts", "../src/utils/spaRouteManifest.ts", "../src/svelte/renderToReadableStream.ts", "../src/core/streamingSlotRegistrar.ts", "../src/core/streamingSlotRegistry.ts", "../src/svelte/pageHandler.ts", "../src/core/islandPageContext.ts", "../src/core/requestContext.ts", "../src/mobile/producerContextState.ts", "../src/mobile/pageProtocol.ts", "../src/core/responseEnhancers.ts", "../src/core/streamingSlotWarningScope.ts"],
|
|
3
|
+
"sources": ["../src/build/resolvePackageImport.ts", "../src/constants.ts", "../src/svelte/lowerIslandSyntax.ts", "../src/svelte/lowerAwaitSlotSyntax.ts", "../src/build/stylePreprocessor.ts", "../src/core/svelteServerModule.ts", "../src/core/devRouteRegistrationCallsite.ts", "../src/core/pageResponseCache.ts", "../src/client/streamSwap.ts", "../src/utils/escapeScriptContent.ts", "../src/utils/streamingSlots.ts", "../src/utils/getDurationString.ts", "../src/utils/startupBanner.ts", "../src/utils/logger.ts", "../src/utils/inlinePageCss.ts", "../src/utils/ssrErrorPage.ts", "../src/utils/stringModifiers.ts", "../src/utils/resolveConvention.ts", "../src/utils/spaRouteManifest.ts", "../src/core/browserTranslation.ts", "../src/svelte/renderToReadableStream.ts", "../src/core/streamingSlotRegistrar.ts", "../src/core/streamingSlotRegistry.ts", "../src/svelte/pageHandler.ts", "../src/core/islandPageContext.ts", "../src/core/requestContext.ts", "../src/mobile/producerContextState.ts", "../src/mobile/pageProtocol.ts", "../src/core/responseEnhancers.ts", "../src/core/streamingSlotWarningScope.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { resolve, join } from 'node:path';\nimport { existsSync, readFileSync } from 'node:fs';\n\n/**\n * Resolve a bare module import (e.g. \"@absolutejs/absolute/svelte/components/Image.svelte\")\n * to an absolute file path by reading the package's exports map in package.json.\n *\n * Returns the resolved absolute path, or null if the import can't be resolved.\n */\ntype ExportConditions = 'browser' | 'import';\n\nconst resolveExportPath = (\n\tentry: unknown,\n\tconditions: ExportConditions[]\n) => {\n\tif (typeof entry === 'string') return entry;\n\tif (!entry || typeof entry !== 'object') return null;\n\n\tfor (const condition of conditions) {\n\t\tconst target = Reflect.get(entry, condition);\n\t\tif (typeof target === 'string') {\n\t\t\treturn target;\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport const resolvePackageImport = (\n\tspecifier: string,\n\tconditions: ExportConditions[] = ['import']\n) => {\n\t// Only handle bare module imports (not relative or absolute paths)\n\tif (specifier.startsWith('.') || specifier.startsWith('/')) return null;\n\n\t// Split into package name and subpath\n\tconst parts = specifier.split('/');\n\tconst isScoped = specifier.startsWith('@');\n\tconst packageName = isScoped ? `${parts[0]}/${parts[1]}` : parts[0];\n\tconst subpath = isScoped ? parts.slice(2).join('/') : parts.slice(1).join('/');\n\tconst exportKey = subpath ? `./${subpath}` : '.';\n\n\tconst currentPackageJsonPath = resolve(process.cwd(), 'package.json');\n\tconst currentPackageJson = existsSync(currentPackageJsonPath)\n\t\t? JSON.parse(readFileSync(currentPackageJsonPath, 'utf-8'))\n\t\t: null;\n\tconst currentPackageDir =\n\t\tcurrentPackageJson?.name === packageName ? process.cwd() : null;\n\tconst packageDir =\n\t\tcurrentPackageDir ?? resolve(process.cwd(), 'node_modules', packageName ?? '');\n\tconst packageJsonPath = join(packageDir, 'package.json');\n\n\tif (!existsSync(packageJsonPath)) return null;\n\n\ttry {\n\t\tconst packageJson =\n\t\t\tcurrentPackageDir && currentPackageJson\n\t\t\t\t? currentPackageJson\n\t\t\t\t: JSON.parse(readFileSync(packageJsonPath, 'utf-8'));\n\t\tconst {exports} = packageJson;\n\n\t\tif (!exports) return null;\n\n\t\t// Try exact match first, then try without extension for .svelte/.vue files\n\t\tconst entry = exports[exportKey];\n\n\t\tif (!entry) return null;\n\n\t\tconst importPath = resolveExportPath(entry, conditions);\n\n\t\tif (!importPath) return null;\n\n\t\tif (currentPackageDir && importPath.startsWith('./dist/')) {\n\t\t\tconst sourceCandidate = resolve(\n\t\t\t\tpackageDir,\n\t\t\t\timportPath.replace(/^\\.\\/dist\\//, './src/')\n\t\t\t);\n\t\t\tif (existsSync(sourceCandidate)) {\n\t\t\t\treturn sourceCandidate;\n\t\t\t}\n\t\t}\n\n\t\tconst resolved = resolve(packageDir, importPath);\n\n\t\treturn existsSync(resolved) ? resolved : null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n",
|
|
6
6
|
"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",
|
|
@@ -14,25 +14,26 @@
|
|
|
14
14
|
"const ESCAPE_LOOKUP: Record<string, string> = {\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029',\n\t'<': '\\\\u003C'\n};\n\nconst ESCAPE_REGEX = /[<\\u2028\\u2029]/g;\n\nexport const escapeScriptContent = (content: string) =>\n\tcontent.replace(ESCAPE_REGEX, (char) => {\n\t\tconst escaped = ESCAPE_LOOKUP[char];\n\n\t\treturn escaped !== undefined ? escaped : char;\n\t});\n",
|
|
15
15
|
"import { getStreamSwapRuntimeScript } from '../client/streamSwap';\nimport { BASE_36_RADIX, RANDOM_ID_END_INDEX } from '../constants';\nimport { escapeScriptContent } from './escapeScriptContent';\n\nconst SLOT_ID_PREFIX = 'abs-slot-';\nconst CLOSING_BODY_TAG = '</body>';\nconst CLOSING_HEAD_TAG = '</head>';\nconst CLOSING_BODY_TAG_LENGTH = CLOSING_BODY_TAG.length;\nconst CLOSING_HEAD_TAG_LENGTH = CLOSING_HEAD_TAG.length;\nconst CLOSING_PAGE_TAG_REGEX = /<\\/body>\\s*<\\/html>\\s*$/i;\nconst STREAMING_RUNTIME_GLOBAL = '__ABS_SLOT_ENQUEUE__';\nconst STREAMING_PENDING_GLOBAL = '__ABS_SLOT_PENDING__';\nconst STREAM_TAIL_LOOKBEHIND = 128;\nconst STREAMING_SLOT_TIMEOUT_MS = 5_000;\nconst STREAMING_SLOT_MAX_PER_RESPONSE = 128;\nconst STREAMING_SLOT_MAX_HTML_BYTES = 64_000;\n\ntype SlotResolver = () => Promise<unknown> | unknown;\ntype SlotErrorHandler = (error: unknown, slot: StreamingSlot) => void;\ntype StreamReader = ReadableStreamDefaultReader<string | Uint8Array>;\ntype StreamReadPromise = ReturnType<StreamReader['read']>;\nexport type StreamingSlotMetricType =\n\t| 'prepared'\n\t| 'dropped'\n\t| 'resolved'\n\t| 'patched'\n\t| 'timeout'\n\t| 'size_exceeded'\n\t| 'error';\nexport type StreamingSlotMetric = {\n\ttype: StreamingSlotMetricType;\n\tslotId: string;\n\tdurationMs?: number;\n\tbytes?: number;\n\treason?: string;\n\terror?: unknown;\n};\nexport type StreamingSlotMetricHandler = (metric: StreamingSlotMetric) => void;\n\nexport type StreamingSlotPolicy = {\n\ttimeoutMs?: number;\n\tfallbackHtml?: unknown;\n\terrorHtml?: unknown;\n\tmaxSlotsPerResponse?: number;\n\tmaxSlotHtmlSizeBytes?: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n};\n\ntype StreamingSlotPolicyValue = {\n\ttimeoutMs: number;\n\tfallbackHtml: string;\n\terrorHtml?: string;\n\tmaxSlotsPerResponse: number;\n\tmaxSlotHtmlSizeBytes: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n};\n\nexport type StreamingSlot = {\n\terrorHtml?: unknown;\n\tfallbackHtml?: unknown;\n\tid: string;\n\ttimeoutMs?: number;\n\tresolve: SlotResolver;\n};\n\nexport type StreamingSlotPatchPayload =\n\t| string\n\t| {\n\t\t\t[key: string]: unknown;\n\t\t\thtml: string;\n\t };\n\ntype DeferredStreamingSlot = Omit<StreamingSlot, 'id'> & { id?: string };\n\nexport type AppendStreamingSlotsOptions = {\n\tinjectRuntime?: boolean;\n\tnonce?: string;\n\truntimePreludeScript?: string;\n\tpolicy?: StreamingSlotPolicy;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tonError?: (error: unknown, slot: StreamingSlot) => void;\n\truntimePlacement?: 'body' | 'head';\n};\n\nexport type StreamOutOfOrderSlotsOptions = {\n\tfooterHtml?: string;\n\theaderHtml?: string;\n\tnonce?: string;\n\tpolicy?: StreamingSlotPolicy;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tonError?: (error: unknown, slot: StreamingSlot) => void;\n\tslots: DeferredStreamingSlot[];\n};\n\nconst createSlotPatchStatement = (\n\tid: string,\n\tpayload: StreamingSlotPatchPayload\n) =>\n\t`(window.${STREAMING_RUNTIME_GLOBAL}||function(i,p){window.${STREAMING_PENDING_GLOBAL}=window.${STREAMING_PENDING_GLOBAL}||{};window.${STREAMING_PENDING_GLOBAL}[i]=p;})(${JSON.stringify(id)},${JSON.stringify(payload)});`;\n\nconst createNonceAttr = (nonce?: string) => (nonce ? ` nonce=\"${nonce}\"` : '');\n\nexport const createStreamingSlotId = () =>\n\t`${SLOT_ID_PREFIX}${Math.random().toString(BASE_36_RADIX).slice(2, RANDOM_ID_END_INDEX)}`;\nexport const getStreamingSlotsRuntimeScript = () =>\n\tgetStreamSwapRuntimeScript();\nexport const injectHtmlIntoBody = (html: string, injection: string) => {\n\tconst closingBodyIndex = html.indexOf(CLOSING_BODY_TAG);\n\tif (closingBodyIndex >= 0) {\n\t\treturn `${html.slice(0, closingBodyIndex)}${injection}${html.slice(closingBodyIndex)}`;\n\t}\n\n\treturn `${html}${injection}`;\n};\nexport const injectHtmlIntoHead = (html: string, injection: string) => {\n\tconst closingHeadIndex = html.indexOf(CLOSING_HEAD_TAG);\n\tif (closingHeadIndex >= 0) {\n\t\treturn `${html.slice(0, closingHeadIndex)}${injection}${html.slice(closingHeadIndex)}`;\n\t}\n\n\treturn `${html}${injection}`;\n};\nexport const renderStreamingSlotPatchTag = (\n\tid: string,\n\tpayload: StreamingSlotPatchPayload,\n\tnonce?: string\n) =>\n\t`<script${createNonceAttr(nonce)}>${escapeScriptContent(\n\t\tcreateSlotPatchStatement(id, payload)\n\t)}</script>`;\nexport const renderStreamingSlotPlaceholder = (id: string, fallbackHtml = '') =>\n\t`<div id=\"${id}\" data-absolute-slot=\"true\" data-absolute-slot-state=\"fallback\">${fallbackHtml}</div>`;\nexport const renderStreamingSlotsRuntimeTag = (\n\tnonce?: string,\n\truntimePreludeScript?: string\n) => {\n\tconst runtimeBody = [\n\t\truntimePreludeScript?.trim() ? runtimePreludeScript.trim() : '',\n\t\tgetStreamingSlotsRuntimeScript()\n\t]\n\t\t.filter(Boolean)\n\t\t.join(';');\n\n\treturn `<script${createNonceAttr(nonce)}>${escapeScriptContent(runtimeBody)}</script>`;\n};\n\nconst toUint8 = (value: string, encoder: TextEncoder) => encoder.encode(value);\n\ntype SafeHtmlLike = {\n\tchangingThisBreaksApplicationSecurity: string;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isSafeHtmlLike = (value: unknown): value is SafeHtmlLike =>\n\tisRecord(value) &&\n\ttypeof value.changingThisBreaksApplicationSecurity === 'string';\n\nconst normalizeSafeHtml = (value: unknown) => {\n\tif (isSafeHtmlLike(value)) {\n\t\treturn value.changingThisBreaksApplicationSecurity;\n\t}\n\n\treturn value;\n};\n\nlet currentStreamingSlotPolicy: StreamingSlotPolicyValue = {\n\terrorHtml: undefined,\n\tfallbackHtml: '',\n\tmaxSlotHtmlSizeBytes: STREAMING_SLOT_MAX_HTML_BYTES,\n\tmaxSlotsPerResponse: STREAMING_SLOT_MAX_PER_RESPONSE,\n\ttimeoutMs: STREAMING_SLOT_TIMEOUT_MS\n};\n\nconst clonePolicy = (\n\tpolicy: StreamingSlotPolicyValue\n): StreamingSlotPolicyValue => ({\n\t...policy\n});\n\nconst normalizeSlotBytes = (value: unknown, fallback: number) => {\n\tif (typeof value === 'number' && Number.isFinite(value) && value >= 0) {\n\t\treturn Math.floor(value);\n\t}\n\n\treturn fallback;\n};\n\nconst normalizeSlotText = (value: unknown, fallback: string) => {\n\tconst normalizedValue = normalizeSafeHtml(value);\n\n\treturn typeof normalizedValue === 'string' ? normalizedValue : fallback;\n};\nconst normalizeSlotError = (\n\tvalue: unknown,\n\tfallback: string | undefined = undefined\n) => {\n\tconst safeValue = normalizeSafeHtml(value);\n\tif (typeof safeValue === 'string') return safeValue;\n\n\treturn fallback;\n};\nconst hasPolicyValue = (\n\tpolicy: StreamingSlotPolicy,\n\tkey: keyof StreamingSlotPolicy\n) => Object.prototype.hasOwnProperty.call(policy, key);\n\nconst applyStreamingSlotPolicyOverrides = (\n\tbase: StreamingSlotPolicyValue,\n\toverridePolicy: StreamingSlotPolicy = {}\n) => ({\n\terrorHtml: hasPolicyValue(overridePolicy, 'errorHtml')\n\t\t? normalizeSlotError(overridePolicy.errorHtml)\n\t\t: base.errorHtml,\n\tfallbackHtml: hasPolicyValue(overridePolicy, 'fallbackHtml')\n\t\t? normalizeSlotText(overridePolicy.fallbackHtml, '')\n\t\t: base.fallbackHtml,\n\tmaxSlotHtmlSizeBytes: hasPolicyValue(overridePolicy, 'maxSlotHtmlSizeBytes')\n\t\t? normalizeSlotBytes(\n\t\t\t\toverridePolicy.maxSlotHtmlSizeBytes,\n\t\t\t\tbase.maxSlotHtmlSizeBytes\n\t\t\t)\n\t\t: base.maxSlotHtmlSizeBytes,\n\tmaxSlotsPerResponse: hasPolicyValue(overridePolicy, 'maxSlotsPerResponse')\n\t\t? normalizeSlotBytes(\n\t\t\t\toverridePolicy.maxSlotsPerResponse,\n\t\t\t\tbase.maxSlotsPerResponse\n\t\t\t)\n\t\t: base.maxSlotsPerResponse,\n\tonError: hasPolicyValue(overridePolicy, 'onError')\n\t\t? overridePolicy.onError\n\t\t: base.onError,\n\tonSlotMetric: hasPolicyValue(overridePolicy, 'onSlotMetric')\n\t\t? overridePolicy.onSlotMetric\n\t\t: base.onSlotMetric,\n\ttimeoutMs: hasPolicyValue(overridePolicy, 'timeoutMs')\n\t\t? normalizeSlotBytes(overridePolicy.timeoutMs, base.timeoutMs)\n\t\t: base.timeoutMs\n});\n\nconst createCombinedSlotErrorHandler = (\n\tpolicyOnError?: SlotErrorHandler,\n\tenhancerOnError?: SlotErrorHandler\n) => {\n\tif (!policyOnError && !enhancerOnError) return undefined;\n\n\treturn (error: unknown, slot: StreamingSlot) => {\n\t\tpolicyOnError?.(error, slot);\n\t\tenhancerOnError?.(error, slot);\n\t};\n};\n\nconst createCombinedSlotMetricHandler = (\n\tpolicyOnSlotMetric?: StreamingSlotMetricHandler,\n\tcallOnSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tif (!policyOnSlotMetric && !callOnSlotMetric) return undefined;\n\n\treturn (metric: StreamingSlotMetric) => {\n\t\tpolicyOnSlotMetric?.(metric);\n\t\tcallOnSlotMetric?.(metric);\n\t};\n};\n\nconst resolveStreamingSlotPolicy = (\n\toverridePolicy: StreamingSlotPolicy = {}\n) => {\n\tconst base = getStreamingSlotPolicy();\n\n\treturn applyStreamingSlotPolicyOverrides(base, overridePolicy);\n};\n\nexport const getStreamingSlotPolicy = () =>\n\tclonePolicy(currentStreamingSlotPolicy);\n\nexport const setStreamingSlotPolicy = (policy: StreamingSlotPolicy = {}) => {\n\tconst base = getStreamingSlotPolicy();\n\n\tcurrentStreamingSlotPolicy = applyStreamingSlotPolicyOverrides(\n\t\tbase,\n\t\tpolicy\n\t);\n};\n\nexport const withStreamingSlotPolicy = async <T>(\n\tpolicy: StreamingSlotPolicy,\n\tcallback: () => Promise<T> | T\n) => {\n\tconst previous = getStreamingSlotPolicy();\n\n\tsetStreamingSlotPolicy(policy);\n\ttry {\n\t\treturn await callback();\n\t} finally {\n\t\tcurrentStreamingSlotPolicy = previous;\n\t}\n};\n\nconst emitSlotMetric = (\n\tmetric: StreamingSlotMetric,\n\tonSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tonSlotMetric?.(metric);\n};\n\nconst createTimeoutError = (slot: StreamingSlot, timeoutMs: number) => {\n\tconst error = Object.assign(\n\t\tnew Error(`Streaming slot \"${slot.id}\" timed out after ${timeoutMs}ms`),\n\t\t{ __absTimeout: true }\n\t);\n\n\treturn error;\n};\n\nconst isSlotPatchPayloadObject = (\n\tvalue: unknown\n): value is Record<string, unknown> & { html: unknown } =>\n\tisRecord(value) && 'html' in value;\n\nconst isTimeoutError = (\n\terror: unknown\n): error is Error & { __absTimeout: true } =>\n\tisRecord(error) && error.__absTimeout === true;\n\nconst toStreamingSlot = (\n\tslot: DeferredStreamingSlot,\n\tpolicy: StreamingSlotPolicyValue\n): StreamingSlot => ({\n\terrorHtml: slot.errorHtml === undefined ? policy.errorHtml : slot.errorHtml,\n\tfallbackHtml: normalizeSlotText(slot.fallbackHtml, policy.fallbackHtml),\n\tid: slot.id ?? createStreamingSlotId(),\n\tresolve: slot.resolve,\n\ttimeoutMs: normalizeSlotBytes(slot.timeoutMs, policy.timeoutMs)\n});\n\nconst prepareSlots = ({\n\tpolicy,\n\tslots,\n\tonError,\n\tonSlotMetric\n}: {\n\tpolicy: StreamingSlotPolicyValue;\n\tslots: DeferredStreamingSlot[];\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n}) => {\n\tconst preparedSlots = slots.map((slot) => toStreamingSlot(slot, policy));\n\tconst emitPreparedSlotMetric = (slot: StreamingSlot) => {\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'prepared'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t};\n\tconst dropPreparedSlot = (slot: StreamingSlot, reason: string) => {\n\t\tonError?.(new Error(reason), slot);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\treason,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'dropped'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t};\n\n\tconst { maxSlotsPerResponse } = policy;\n\tif (maxSlotsPerResponse === 0) {\n\t\tpreparedSlots.forEach((slot) =>\n\t\t\tdropPreparedSlot(slot, 'maxSlotsPerResponse is 0')\n\t\t);\n\n\t\treturn [];\n\t}\n\n\tif (preparedSlots.length <= maxSlotsPerResponse) {\n\t\tpreparedSlots.forEach(emitPreparedSlotMetric);\n\n\t\treturn preparedSlots;\n\t}\n\n\tconst keptSlots = preparedSlots.slice(0, maxSlotsPerResponse);\n\tconst droppedSlots = preparedSlots.slice(maxSlotsPerResponse);\n\tdroppedSlots.forEach((slot) => {\n\t\tdropPreparedSlot(\n\t\t\tslot,\n\t\t\t`Streaming slot \"${slot.id}\" dropped because ${maxSlotsPerResponse} slots is the configured maximum`\n\t\t);\n\t});\n\tkeptSlots.forEach(emitPreparedSlotMetric);\n\n\treturn keptSlots;\n};\n\nconst htmlByteLength = (value: string, encoder: TextEncoder) =>\n\tencoder.encode(value).length;\n\ntype ResolvedStreamingSlot = {\n\tpayload: StreamingSlotPatchPayload | null;\n\tid: string;\n\tdurationMs: number;\n\tbytes: number;\n};\n\nconst normalizeSlotPatchPayload = (value: unknown) => {\n\tconst safeValue = normalizeSafeHtml(value);\n\tif (\n\t\tisSlotPatchPayloadObject(safeValue) &&\n\t\ttypeof safeValue.html === 'string'\n\t) {\n\t\treturn {\n\t\t\t...safeValue,\n\t\t\thtml: normalizeSlotText(safeValue.html, '')\n\t\t};\n\t}\n\n\treturn typeof safeValue === 'string' ? safeValue : `${safeValue}`;\n};\n\nconst getPayloadHtml = (payload: StreamingSlotPatchPayload) =>\n\ttypeof payload === 'string' ? payload : payload.html;\n\nconst enqueueEncodedText = (\n\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\tencoder: TextEncoder,\n\tvalue: string\n) => {\n\tif (value.length === 0) {\n\t\treturn;\n\t}\n\n\tcontroller.enqueue(encoder.encode(value));\n};\n\nconst readStreamingRuntimeChunk = async (\n\treader: ReadableStreamDefaultReader<string | Uint8Array>\n) => {\n\tconst { done, value } = await reader.read();\n\tif (done || !value) {\n\t\treturn { done, value: undefined };\n\t}\n\n\treturn { done, value };\n};\n\nconst applyBaseWinnerState = (\n\tstate: {\n\t\tbaseDone: boolean;\n\t\tbaseRead: StreamReadPromise;\n\t\tfooter: string;\n\t\thandled: boolean;\n\t\ttail: string;\n\t},\n\twinner:\n\t\t| {\n\t\t\t\tdone: boolean;\n\t\t\t\tkind: 'base';\n\t\t\t\tvalue?: string | Uint8Array;\n\t\t }\n\t\t| {\n\t\t\t\tkind: 'slot';\n\t\t\t\toriginal: Promise<{\n\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\tid: string;\n\t\t\t\t\tdurationMs: number;\n\t\t\t\t\tbytes: number;\n\t\t\t\t}>;\n\t\t\t\tresult: {\n\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\tid: string;\n\t\t\t\t\tdurationMs: number;\n\t\t\t\t\tbytes: number;\n\t\t\t\t};\n\t\t },\n\thandleResolved: (winner: {\n\t\tkind: 'slot';\n\t\toriginal: Promise<{\n\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\tid: string;\n\t\t\tdurationMs: number;\n\t\t\tbytes: number;\n\t\t}>;\n\t\tresult: {\n\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\tid: string;\n\t\t\tdurationMs: number;\n\t\t\tbytes: number;\n\t\t};\n\t}) => void\n) => {\n\tif (!state.handled && winner.kind === 'slot') {\n\t\thandleResolved(winner);\n\t}\n\n\treturn state;\n};\n\nconst resolveOversizedSlotPayload = (input: {\n\tencoder: TextEncoder;\n\thtml: string;\n\tmaxSlotHtmlSizeBytes: number;\n\tonError?: SlotErrorHandler;\n\tonSlotMetric?: StreamingSlotMetricHandler;\n\tslot: StreamingSlot;\n\tstart: number;\n}) => {\n\tconst {\n\t\tencoder,\n\t\thtml,\n\t\tmaxSlotHtmlSizeBytes,\n\t\tonError,\n\t\tonSlotMetric,\n\t\tslot,\n\t\tstart\n\t} = input;\n\tconst bytes = htmlByteLength(html, encoder);\n\tif (bytes <= maxSlotHtmlSizeBytes) {\n\t\treturn null;\n\t}\n\n\tconst error = new Error(\n\t\t`Streaming slot \"${slot.id}\" exceeded max payload size of ${maxSlotHtmlSizeBytes} bytes`\n\t);\n\tconst durationMs = Date.now() - start;\n\tonError?.(error, slot);\n\temitSlotMetric(\n\t\t{\n\t\t\tbytes,\n\t\t\tdurationMs,\n\t\t\terror,\n\t\t\tslotId: slot.id,\n\t\t\ttype: 'size_exceeded'\n\t\t},\n\t\tonSlotMetric\n\t);\n\n\tconst fallbackHtml = normalizeSlotError(slot.errorHtml, undefined);\n\n\treturn {\n\t\tbytes:\n\t\t\tfallbackHtml === undefined\n\t\t\t\t? 0\n\t\t\t\t: htmlByteLength(fallbackHtml, encoder),\n\t\tdurationMs,\n\t\tid: slot.id,\n\t\tpayload: fallbackHtml === undefined ? null : fallbackHtml\n\t};\n};\n\nconst raceWithTimeout = (promise: Promise<unknown>, slot: StreamingSlot) => {\n\tconst { timeoutMs } = slot;\n\tif (typeof timeoutMs !== 'number' || timeoutMs <= 0) {\n\t\treturn promise;\n\t}\n\n\tconst { promise: timeoutPromise, reject } =\n\t\tPromise.withResolvers<StreamingSlotPatchPayload>();\n\n\tsetTimeout(() => {\n\t\treject(createTimeoutError(slot, timeoutMs));\n\t}, timeoutMs);\n\n\treturn Promise.race([promise, timeoutPromise]);\n};\n\nconst resolveSlot = async (\n\tslot: StreamingSlot,\n\tonError?: SlotErrorHandler,\n\tpolicy?: StreamingSlotPolicyValue,\n\tonSlotMetric?: StreamingSlotMetricHandler\n) => {\n\tconst safePolicy = policy ?? getStreamingSlotPolicy();\n\tconst encoder = new TextEncoder();\n\tconst start = Date.now();\n\ttry {\n\t\tconst maybeAsyncValue = Promise.resolve(slot.resolve());\n\t\tconst resolved = await raceWithTimeout(maybeAsyncValue, slot);\n\t\tconst payload = normalizeSlotPatchPayload(resolved);\n\t\tconst html = getPayloadHtml(payload);\n\t\tconst oversizedResult =\n\t\t\tsafePolicy.maxSlotHtmlSizeBytes > 0\n\t\t\t\t? resolveOversizedSlotPayload({\n\t\t\t\t\t\tencoder,\n\t\t\t\t\t\thtml,\n\t\t\t\t\t\tmaxSlotHtmlSizeBytes: safePolicy.maxSlotHtmlSizeBytes,\n\t\t\t\t\t\tonError,\n\t\t\t\t\t\tonSlotMetric,\n\t\t\t\t\t\tslot,\n\t\t\t\t\t\tstart\n\t\t\t\t\t})\n\t\t\t\t: null;\n\t\tif (oversizedResult) {\n\t\t\treturn oversizedResult;\n\t\t}\n\t\tconst durationMs = Date.now() - start;\n\t\tconst bytes = htmlByteLength(html, encoder);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes,\n\t\t\t\tdurationMs,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: 'resolved'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\n\t\treturn {\n\t\t\tbytes,\n\t\t\tdurationMs,\n\t\t\tid: slot.id,\n\t\t\tpayload\n\t\t};\n\t} catch (error) {\n\t\tconst durationMs = Date.now() - start;\n\t\tonError?.(error, slot);\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tdurationMs,\n\t\t\t\terror,\n\t\t\t\tslotId: slot.id,\n\t\t\t\ttype: isTimeoutError(error) ? 'timeout' : 'error'\n\t\t\t},\n\t\t\tonSlotMetric\n\t\t);\n\t\tconst html = normalizeSlotError(slot.errorHtml, undefined);\n\t\tif (html) {\n\t\t\treturn {\n\t\t\t\tbytes: htmlByteLength(html, encoder),\n\t\t\t\tdurationMs,\n\t\t\t\tid: slot.id,\n\t\t\t\tpayload: html\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tbytes: 0,\n\t\t\tdurationMs,\n\t\t\tid: slot.id,\n\t\t\tpayload: null\n\t\t};\n\t}\n};\n\nconst nextResolvedSlot = async (\n\tpending: Array<Promise<ResolvedStreamingSlot>>\n) => {\n\tconst wrapped = pending.map((promise) =>\n\t\tpromise.then((result) => ({\n\t\t\toriginal: promise,\n\t\t\tresult\n\t\t}))\n\t);\n\n\treturn Promise.race(wrapped);\n};\n\nconst streamChunkToString = (\n\tvalue: string | Uint8Array,\n\tdecoder: TextDecoder\n) =>\n\ttypeof value === 'string' ? value : decoder.decode(value, { stream: true });\n\nexport const appendStreamingSlotPatchesToStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tslots: DeferredStreamingSlot[] = [],\n\t{\n\t\tinjectRuntime = true,\n\t\tnonce,\n\t\tonError,\n\t\tonSlotMetric,\n\t\tpolicy,\n\t\truntimePreludeScript,\n\t\truntimePlacement = 'head'\n\t}: AppendStreamingSlotsOptions = {}\n) => {\n\tconst resolvedPolicy = resolveStreamingSlotPolicy(policy);\n\tconst combinedOnError = createCombinedSlotErrorHandler(\n\t\tresolvedPolicy.onError,\n\t\tonError\n\t);\n\tconst combinedOnSlotMetric = createCombinedSlotMetricHandler(\n\t\tresolvedPolicy.onSlotMetric,\n\t\tonSlotMetric\n\t);\n\tconst effectivePolicy: StreamingSlotPolicyValue = {\n\t\t...resolvedPolicy,\n\t\tonSlotMetric: combinedOnSlotMetric\n\t};\n\tconst preparedSlots = prepareSlots({\n\t\tonError: combinedOnError,\n\t\tonSlotMetric: combinedOnSlotMetric,\n\t\tpolicy: effectivePolicy,\n\t\tslots\n\t});\n\tif (preparedSlots.length === 0) return stream;\n\n\tconst source = injectRuntime\n\t\t? injectStreamingRuntimeIntoStream(\n\t\t\t\tstream,\n\t\t\t\tnonce,\n\t\t\t\truntimePlacement,\n\t\t\t\truntimePreludeScript\n\t\t\t)\n\t\t: stream;\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst reader = source.getReader();\n\tconst pending: Array<Promise<ResolvedStreamingSlot>> = preparedSlots.map(\n\t\t(slot) =>\n\t\t\tresolveSlot(\n\t\t\t\tslot,\n\t\t\t\tcombinedOnError,\n\t\t\t\teffectivePolicy,\n\t\t\t\tcombinedOnSlotMetric\n\t\t\t)\n\t);\n\tconst createRaceCandidates = (\n\t\tbaseDone: boolean,\n\t\tbaseRead: StreamReadPromise\n\t) => {\n\t\tconst racers: Array<\n\t\t\tPromise<\n\t\t\t\t| {\n\t\t\t\t\t\tdone: boolean;\n\t\t\t\t\t\tkind: 'base';\n\t\t\t\t\t\tvalue?: string | Uint8Array;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\tkind: 'slot';\n\t\t\t\t\t\toriginal: Promise<{\n\t\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\t\tid: string;\n\t\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t\t}>;\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\t\tid: string;\n\t\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t\t};\n\t\t\t\t }\n\t\t\t>\n\t\t> = [];\n\n\t\tif (!baseDone) {\n\t\t\tracers.push(\n\t\t\t\tbaseRead.then(({ done, value }) => ({\n\t\t\t\t\tdone,\n\t\t\t\t\tkind: 'base' as const,\n\t\t\t\t\tvalue\n\t\t\t\t}))\n\t\t\t);\n\t\t}\n\t\tif (pending.length > 0) {\n\t\t\tracers.push(\n\t\t\t\tnextResolvedSlot(pending).then((resolved) => ({\n\t\t\t\t\tkind: 'slot' as const,\n\t\t\t\t\t...resolved\n\t\t\t\t}))\n\t\t\t);\n\t\t}\n\n\t\treturn racers;\n\t};\n\tconst flushTailLookbehind = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\ttail: string\n\t) => {\n\t\tif (tail.length <= STREAM_TAIL_LOOKBEHIND) {\n\t\t\treturn tail;\n\t\t}\n\n\t\tconst content = tail.slice(0, tail.length - STREAM_TAIL_LOOKBEHIND);\n\t\tcontroller.enqueue(encoder.encode(content));\n\n\t\treturn tail.slice(-STREAM_TAIL_LOOKBEHIND);\n\t};\n\tconst finalizeCompletedBaseWinner = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tdecodedTail: string,\n\t\tbaseRead: StreamReadPromise\n\t) => {\n\t\tconst footerStart = decodedTail.search(CLOSING_PAGE_TAG_REGEX);\n\t\tif (footerStart < 0) {\n\t\t\tenqueueEncodedText(controller, encoder, decodedTail);\n\n\t\t\treturn {\n\t\t\t\tbaseDone: true,\n\t\t\t\tbaseRead,\n\t\t\t\tfooter: '',\n\t\t\t\thandled: true,\n\t\t\t\ttail: ''\n\t\t\t};\n\t\t}\n\n\t\tconst content = decodedTail.slice(0, footerStart);\n\t\tconst nextFooter = decodedTail.slice(footerStart);\n\t\tenqueueEncodedText(controller, encoder, content);\n\n\t\treturn {\n\t\t\tbaseDone: true,\n\t\t\tbaseRead,\n\t\t\tfooter: nextFooter,\n\t\t\thandled: true,\n\t\t\ttail: ''\n\t\t};\n\t};\n\tconst handleBaseWinner = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\twinner:\n\t\t\t| {\n\t\t\t\t\tdone: boolean;\n\t\t\t\t\tkind: 'base';\n\t\t\t\t\tvalue?: string | Uint8Array;\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\tkind: 'slot';\n\t\t\t\t\toriginal: Promise<{\n\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\tid: string;\n\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t}>;\n\t\t\t\t\tresult: {\n\t\t\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\t\t\tid: string;\n\t\t\t\t\t\tdurationMs: number;\n\t\t\t\t\t\tbytes: number;\n\t\t\t\t\t};\n\t\t\t },\n\t\tbaseRead: StreamReadPromise,\n\t\ttail: string,\n\t\tfooter: string\n\t) => {\n\t\tif (winner.kind !== 'base') {\n\t\t\treturn { baseDone: false, baseRead, footer, handled: false, tail };\n\t\t}\n\n\t\tif (winner.done) {\n\t\t\treturn finalizeCompletedBaseWinner(\n\t\t\t\tcontroller,\n\t\t\t\ttail + decoder.decode(),\n\t\t\t\tbaseRead\n\t\t\t);\n\t\t}\n\n\t\tif (!winner.value) {\n\t\t\treturn { baseDone: false, baseRead, footer, handled: true, tail };\n\t\t}\n\n\t\tconst nextTail = flushTailLookbehind(\n\t\t\tcontroller,\n\t\t\ttail + streamChunkToString(winner.value, decoder)\n\t\t);\n\n\t\treturn {\n\t\t\tbaseDone: false,\n\t\t\tbaseRead: reader.read(),\n\t\t\tfooter,\n\t\t\thandled: true,\n\t\t\ttail: nextTail\n\t\t};\n\t};\n\tconst handleResolvedSlot = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\twinner: {\n\t\t\tkind: 'slot';\n\t\t\toriginal: Promise<{\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t}>;\n\t\t\tresult: {\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t};\n\t\t}\n\t) => {\n\t\tconst index = pending.indexOf(winner.original);\n\t\tif (index >= 0) pending.splice(index, 1);\n\t\tif (winner.result.payload === null) {\n\t\t\treturn;\n\t\t}\n\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes: winner.result.bytes,\n\t\t\t\tdurationMs: winner.result.durationMs,\n\t\t\t\tslotId: winner.result.id,\n\t\t\t\ttype: 'patched'\n\t\t\t},\n\t\t\tcombinedOnSlotMetric\n\t\t);\n\n\t\tcontroller.enqueue(\n\t\t\tencoder.encode(\n\t\t\t\trenderStreamingSlotPatchTag(\n\t\t\t\t\twinner.result.id,\n\t\t\t\t\twinner.result.payload,\n\t\t\t\t\tnonce\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t};\n\n\tconst runPatchedStreamLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) => {\n\t\tlet baseDone = false;\n\t\tlet baseRead = reader.read();\n\t\tlet tail = '';\n\t\tlet footer = '';\n\t\tconst readNextRaceWinner = async () => {\n\t\t\tconst racers = createRaceCandidates(baseDone, baseRead);\n\t\t\tif (racers.length === 0) {\n\t\t\t\treturn footer;\n\t\t\t}\n\n\t\t\tconst winner = await Promise.race(racers);\n\t\t\tconst baseWinnerState = applyBaseWinnerState(\n\t\t\t\thandleBaseWinner(controller, winner, baseRead, tail, footer),\n\t\t\t\twinner,\n\t\t\t\t(slotWinner) => {\n\t\t\t\t\thandleResolvedSlot(controller, slotWinner);\n\t\t\t\t}\n\t\t\t);\n\t\t\t({ baseDone, baseRead, footer, tail } = baseWinnerState);\n\t\t\tif (baseDone && pending.length === 0) {\n\t\t\t\treturn footer;\n\t\t\t}\n\n\t\t\treturn readNextRaceWinner();\n\t\t};\n\n\t\treturn readNextRaceWinner();\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\ttry {\n\t\t\t\tconst footer = await runPatchedStreamLoop(controller);\n\t\t\t\tenqueueEncodedText(controller, encoder, footer);\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\nexport const injectStreamingRuntimeIntoStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tnonce?: string,\n\truntimePlacement: 'body' | 'head' = 'head',\n\truntimePreludeScript?: string\n) => {\n\tconst runtimeTag = renderStreamingSlotsRuntimeTag(\n\t\tnonce,\n\t\truntimePreludeScript\n\t);\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst closingTag =\n\t\truntimePlacement === 'body' ? CLOSING_BODY_TAG : CLOSING_HEAD_TAG;\n\tconst lookbehind =\n\t\t(runtimePlacement === 'body'\n\t\t\t? CLOSING_BODY_TAG_LENGTH\n\t\t\t: CLOSING_HEAD_TAG_LENGTH) - 1;\n\tconst flushRuntimeLookbehind = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tif (pending.length <= lookbehind) {\n\t\t\treturn pending;\n\t\t}\n\n\t\tconst safeText = pending.slice(0, pending.length - lookbehind);\n\t\tcontroller.enqueue(encoder.encode(safeText));\n\n\t\treturn pending.slice(-lookbehind);\n\t};\n\tconst injectRuntimeIntoPending = (pending: string) =>\n\t\truntimePlacement === 'body'\n\t\t\t? injectHtmlIntoBody(pending, runtimeTag)\n\t\t\t: injectHtmlIntoHead(pending, runtimeTag);\n\tconst processRuntimePending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst closingTagIndex = pending.indexOf(closingTag);\n\t\tif (closingTagIndex >= 0) {\n\t\t\tconst withRuntime = `${pending.slice(0, closingTagIndex)}${runtimeTag}${pending.slice(closingTagIndex)}`;\n\t\t\tcontroller.enqueue(encoder.encode(withRuntime));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushRuntimeLookbehind(controller, pending)\n\t\t};\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\t\t\tlet injected = false;\n\t\t\tlet pending = '';\n\t\t\tconst enqueuePending = () =>\n\t\t\t\tenqueueEncodedText(controller, encoder, pending);\n\t\t\tconst consumeRuntimeChunk = async () => {\n\t\t\t\tconst { done, value } = await readStreamingRuntimeChunk(reader);\n\t\t\t\tif (done || !value) {\n\t\t\t\t\treturn done;\n\t\t\t\t}\n\n\t\t\t\tpending += streamChunkToString(value, decoder);\n\t\t\t\t({ injected, pending } = processRuntimePending(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tpending,\n\t\t\t\t\tinjected\n\t\t\t\t));\n\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\tconst runRuntimeInjectionLoop = async () => {\n\t\t\t\tconst done = await consumeRuntimeChunk();\n\t\t\t\tif (done) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tawait runRuntimeInjectionLoop();\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tawait runRuntimeInjectionLoop();\n\n\t\t\t\tpending += decoder.decode();\n\t\t\t\tpending = injected\n\t\t\t\t\t? pending\n\t\t\t\t\t: injectRuntimeIntoPending(pending);\n\t\t\t\tenqueuePending();\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\nexport const streamOutOfOrderSlots = ({\n\tfooterHtml = '',\n\theaderHtml = '',\n\tnonce,\n\tpolicy,\n\tonSlotMetric,\n\tonError,\n\tslots\n}: StreamOutOfOrderSlotsOptions) => {\n\tconst resolvedPolicy = resolveStreamingSlotPolicy(policy);\n\tconst combinedOnError = createCombinedSlotErrorHandler(\n\t\tresolvedPolicy.onError,\n\t\tonError\n\t);\n\tconst combinedOnSlotMetric = createCombinedSlotMetricHandler(\n\t\tresolvedPolicy.onSlotMetric,\n\t\tonSlotMetric\n\t);\n\tconst effectivePolicy: StreamingSlotPolicyValue = {\n\t\t...resolvedPolicy,\n\t\tonSlotMetric: combinedOnSlotMetric\n\t};\n\tconst preparedSlots = prepareSlots({\n\t\tonError: combinedOnError,\n\t\tonSlotMetric: combinedOnSlotMetric,\n\t\tpolicy: effectivePolicy,\n\t\tslots\n\t});\n\tconst encoder = new TextEncoder();\n\tconst createPendingSlots = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) =>\n\t\tpreparedSlots.map((slot) => {\n\t\t\tconst fallback = renderStreamingSlotPlaceholder(\n\t\t\t\tslot.id,\n\t\t\t\tnormalizeSlotText(slot.fallbackHtml, '')\n\t\t\t);\n\t\t\tcontroller.enqueue(toUint8(fallback, encoder));\n\n\t\t\treturn resolveSlot(\n\t\t\t\tslot,\n\t\t\t\tcombinedOnError,\n\t\t\t\teffectivePolicy,\n\t\t\t\tcombinedOnSlotMetric\n\t\t\t);\n\t\t});\n\tconst handleResolvedPreparedSlot = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: Array<\n\t\t\tPromise<{\n\t\t\t\tpayload: StreamingSlotPatchPayload | null;\n\t\t\t\tid: string;\n\t\t\t\tdurationMs: number;\n\t\t\t\tbytes: number;\n\t\t\t}>\n\t\t>\n\t) => {\n\t\tconst { original, result } = await nextResolvedSlot(pending);\n\t\tconst index = pending.indexOf(original);\n\t\tif (index >= 0) pending.splice(index, 1);\n\t\tif (result.payload === null) {\n\t\t\treturn;\n\t\t}\n\n\t\temitSlotMetric(\n\t\t\t{\n\t\t\t\tbytes: result.bytes,\n\t\t\t\tdurationMs: result.durationMs,\n\t\t\t\tslotId: result.id,\n\t\t\t\ttype: 'patched'\n\t\t\t},\n\t\t\tcombinedOnSlotMetric\n\t\t);\n\t\tcontroller.enqueue(\n\t\t\ttoUint8(\n\t\t\t\trenderStreamingSlotPatchTag(result.id, result.payload, nonce),\n\t\t\t\tencoder\n\t\t\t)\n\t\t);\n\t};\n\n\tconst streamPreparedSlots = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>\n\t) => {\n\t\tconst pending = createPendingSlots(controller);\n\t\tconst streamNextPreparedSlot = async () => {\n\t\t\tif (pending.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait handleResolvedPreparedSlot(controller, pending);\n\n\t\t\tawait streamNextPreparedSlot();\n\t\t};\n\n\t\tawait streamNextPreparedSlot();\n\t};\n\tconst resolveHeaderHtml = () => {\n\t\tconst needsRuntimeTag =\n\t\t\tpreparedSlots.length > 0 &&\n\t\t\t!headerHtml.includes(STREAMING_RUNTIME_GLOBAL);\n\t\tif (!needsRuntimeTag) {\n\t\t\treturn headerHtml;\n\t\t}\n\n\t\treturn injectHtmlIntoHead(\n\t\t\theaderHtml,\n\t\t\trenderStreamingSlotsRuntimeTag(nonce)\n\t\t);\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\ttry {\n\t\t\t\tconst header = resolveHeaderHtml();\n\t\t\t\tcontroller.enqueue(toUint8(header, encoder));\n\t\t\t\tawait streamPreparedSlots(controller);\n\n\t\t\t\tenqueueEncodedText(controller, encoder, footerHtml);\n\t\t\t\tcontroller.close();\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n",
|
|
16
16
|
"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",
|
|
17
|
-
"import { HOURS_IN_HALF_DAY } from '../constants';\nimport { getDurationString } from './getDurationString';\n\nconst colors = {\n\tbold: '\\x1b[1m',\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\treset: '\\x1b[0m'\n} as const;\n\nconst MONTHS = [\n\t'Jan',\n\t'Feb',\n\t'Mar',\n\t'Apr',\n\t'May',\n\t'Jun',\n\t'Jul',\n\t'Aug',\n\t'Sep',\n\t'Oct',\n\t'Nov',\n\t'Dec'\n] as const;\n\nexport const formatTimestamp = () => {\n\tconst now = new Date();\n\tconst month = MONTHS[now.getMonth()];\n\tconst day = now.getDate().toString().padStart(2, '0');\n\tlet hours = now.getHours();\n\tconst minutes = now.getMinutes().toString().padStart(2, '0');\n\tconst seconds = now.getSeconds().toString().padStart(2, '0');\n\tconst ampm = hours >= HOURS_IN_HALF_DAY ? 'PM' : 'AM';\n\thours = hours % HOURS_IN_HALF_DAY || HOURS_IN_HALF_DAY;\n\n\treturn `${month} ${day} ${hours}:${minutes}:${seconds} ${ampm}`;\n};\n\nexport const startupBanner = (options: {\n\tversion: string;\n\treadyDuration: number;\n\tbuildDuration?: number;\n\tport: string | number;\n\thost: string;\n\tnetworkUrl?: string;\n\tprotocol?: string;\n}) => {\n\tconst {\n\t\tversion,\n\t\treadyDuration,\n\t\tbuildDuration,\n\t\tport,\n\t\thost,\n\t\tnetworkUrl,\n\t\tprotocol = 'http'\n\t} = options;\n\tconst name = `${colors.cyan}${colors.bold}ABSOLUTEJS${colors.reset}`;\n\tconst ver = `${colors.dim}v${version}${colors.reset}`;\n\tconst time = `${colors.dim}ready in${colors.reset} ${colors.bold}${getDurationString(readyDuration)}${colors.reset}`;\n\tconst build =\n\t\ttypeof buildDuration === 'number' && Number.isFinite(buildDuration)\n\t\t\t? ` ${colors.dim}(build ${getDurationString(buildDuration)})${colors.reset}`\n\t\t\t: '';\n\tconsole.log('');\n\tconsole.log(` ${name} ${ver} ${time}${build}`);\n\tconsole.log('');\n\tconsole.log(\n\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Local:${colors.reset} ${protocol}://${host === '0.0.0.0' ? 'localhost' : host}:${port}/`\n\t);\n\tif (networkUrl) {\n\t\tconsole.log(\n\t\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Network:${colors.reset} ${networkUrl}`\n\t\t);\n\t}\n\tconsole.log('');\n};\n",
|
|
17
|
+
"import { HOURS_IN_HALF_DAY } from '../constants';\nimport { getDurationString } from './getDurationString';\n\nconst colors = {\n\tbold: '\\x1b[1m',\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\treset: '\\x1b[0m'\n} as const;\n\nconst MONTHS = [\n\t'Jan',\n\t'Feb',\n\t'Mar',\n\t'Apr',\n\t'May',\n\t'Jun',\n\t'Jul',\n\t'Aug',\n\t'Sep',\n\t'Oct',\n\t'Nov',\n\t'Dec'\n] as const;\n\nexport const formatTimestamp = () => {\n\tconst now = new Date();\n\tconst month = MONTHS[now.getMonth()];\n\tconst day = now.getDate().toString().padStart(2, '0');\n\tlet hours = now.getHours();\n\tconst minutes = now.getMinutes().toString().padStart(2, '0');\n\tconst seconds = now.getSeconds().toString().padStart(2, '0');\n\tconst ampm = hours >= HOURS_IN_HALF_DAY ? 'PM' : 'AM';\n\thours = hours % HOURS_IN_HALF_DAY || HOURS_IN_HALF_DAY;\n\n\treturn `${month} ${day} ${hours}:${minutes}:${seconds} ${ampm}`;\n};\n\nexport const startupBanner = (options: {\n\tversion: string;\n\treadyDuration: number;\n\tbuildDuration?: number;\n\tport: string | number;\n\thost: string;\n\tnetworkUrl?: string;\n\tmobilePreviewUrl?: string;\n\tprotocol?: string;\n}) => {\n\tconst {\n\t\tversion,\n\t\treadyDuration,\n\t\tbuildDuration,\n\t\tport,\n\t\thost,\n\t\tnetworkUrl,\n\t\tmobilePreviewUrl,\n\t\tprotocol = 'http'\n\t} = options;\n\tconst name = `${colors.cyan}${colors.bold}ABSOLUTEJS${colors.reset}`;\n\tconst ver = `${colors.dim}v${version}${colors.reset}`;\n\tconst time = `${colors.dim}ready in${colors.reset} ${colors.bold}${getDurationString(readyDuration)}${colors.reset}`;\n\tconst build =\n\t\ttypeof buildDuration === 'number' && Number.isFinite(buildDuration)\n\t\t\t? ` ${colors.dim}(build ${getDurationString(buildDuration)})${colors.reset}`\n\t\t\t: '';\n\tconsole.log('');\n\tconsole.log(` ${name} ${ver} ${time}${build}`);\n\tconsole.log('');\n\tconsole.log(\n\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Local:${colors.reset} ${protocol}://${host === '0.0.0.0' ? 'localhost' : host}:${port}/`\n\t);\n\tif (networkUrl) {\n\t\tconsole.log(\n\t\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Network:${colors.reset} ${networkUrl}`\n\t\t);\n\t}\n\tif (mobilePreviewUrl) {\n\t\tconsole.log(\n\t\t\t` ${colors.green}➜${colors.reset} ${colors.bold}Mobile:${colors.reset} ${mobilePreviewUrl}`\n\t\t);\n\t}\n\tconsole.log('');\n};\n",
|
|
18
18
|
"/**\n * Centralized logger utility for AbsoluteJS\n * Provides formatted output with ANSI colors and timestamps\n */\n\nimport { formatTimestamp, startupBanner } from './startupBanner';\nimport type {\n\tHMRApplyKind,\n\tHMRApplyOutcome,\n\tHMRClientTarget\n} from '../../types/messages';\n\nexport { formatTimestamp };\n\n// ANSI color codes\nconst colors = {\n\tblue: '\\x1b[34m',\n\tbold: '\\x1b[1m',\n\t// Core colors\n\tcyan: '\\x1b[36m',\n\tdim: '\\x1b[2m',\n\tgreen: '\\x1b[32m',\n\tmagenta: '\\x1b[35m',\n\tred: '\\x1b[31m',\n\treset: '\\x1b[0m',\n\twhite: '\\x1b[37m',\n\tyellow: '\\x1b[33m'\n} as const;\n\n// Framework color mapping\nconst frameworkColors: Record<string, string> = {\n\tangular: colors.magenta,\n\tassets: colors.dim,\n\tcss: colors.cyan,\n\thtml: colors.white,\n\thtmx: colors.white,\n\treact: colors.blue,\n\tsvelte: colors.yellow,\n\tvue: colors.green\n};\n\n/**\n * Format a file path for display (relative, clean)\n */\nconst formatPath = (filePath: string) => {\n\tconst cwd = process.cwd();\n\tlet relative = filePath.startsWith(cwd)\n\t\t? filePath.slice(cwd.length + 1)\n\t\t: filePath;\n\t// Normalize slashes\n\trelative = relative.replace(/\\\\/g, '/');\n\t// Ensure it starts with /\n\tif (!relative.startsWith('/')) {\n\t\trelative = `/${relative}`;\n\t}\n\n\treturn relative;\n};\n\n/**\n * Get color for a framework\n */\nconst getFrameworkColor = (framework: string) =>\n\tframeworkColors[framework] || colors.white;\n\n/**\n * Core logging function\n */\nconst log = (\n\taction: string,\n\toptions?: {\n\t\tframework?: string;\n\t\tduration?: number;\n\t\tpath?: string;\n\t\tcolor?: string;\n\t}\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.cyan}[hmr]${colors.reset}`;\n\n\tlet message = action;\n\n\t// Apply framework color to path if present\n\tif (options?.path) {\n\t\tconst pathColor = options.framework\n\t\t\t? getFrameworkColor(options.framework)\n\t\t\t: colors.white;\n\t\tmessage += ` ${pathColor}${formatPath(options.path)}${colors.reset}`;\n\t}\n\n\t// Add duration if present\n\tif (options?.duration !== undefined) {\n\t\tmessage += ` ${colors.dim}(${options.duration}ms)${colors.reset}`;\n\t}\n\n\tconsole.log(`${timestamp} ${tag} ${message}`);\n};\n\n/**\n * Startup banner\n */\nexport const logReady = startupBanner;\n\n/**\n * CSS update message\n * Format: \"10:30:45 AM [hmr] css update /styles/main.css (125ms)\"\n */\nexport const logCssUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('css update', { duration, framework: framework ?? 'css', path });\n};\n\n/**\n * Build error\n * Format: \"10:30:45 AM [hmr] error Build failed: ...\"\n */\nexport const logError = (message: string, error?: Error | string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.red}[hmr]${colors.reset}`;\n\tconst errorMsg = error instanceof Error ? error.message : error;\n\tconst fullMessage = `${colors.red}error${colors.reset} ${message}${errorMsg ? `: ${errorMsg}` : ''}`;\n\tconsole.error(`${timestamp} ${tag} ${fullMessage}`);\n};\n\n/**\n * HMR update message\n * Format: \"10:30:45 AM [hmr] hmr update /pages/App.tsx\"\n */\nexport const logHmrClientUpdate = (\n\tpath: string,\n\tframework: string | undefined,\n\tduration: number,\n\ttarget: HMRClientTarget,\n\tserverMs?: number,\n\tclientMs?: number,\n\toutcome: HMRApplyOutcome = 'applied',\n\tkind?: HMRApplyKind\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst targetLabel = target.startsWith('capacitor-')\n\t\t? target.slice('capacitor-'.length)\n\t\t: target;\n\tconst tag = `${colors.cyan}[hmr:${targetLabel}]${colors.reset}`;\n\tconst pathColor = framework ? getFrameworkColor(framework) : colors.white;\n\tconst breakdown =\n\t\tserverMs === undefined || clientMs === undefined\n\t\t\t? ''\n\t\t\t: `; server ${serverMs}ms, client ${clientMs}ms`;\n\tlet action = 'failed after';\n\tif (outcome === 'applied') action = 'applied in';\n\telse if (outcome === 'reloaded') action = 'falling back to reload after';\n\tconst kindLabel = kind ? `${kind} ` : '';\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${framework ?? 'update'} ${kindLabel}${pathColor}${formatPath(path)}${colors.reset} ${colors.dim}${action} ${duration}ms${breakdown}${colors.reset}`\n\t);\n};\n\nexport const logHmrUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('hmr update', { duration, framework, path });\n};\n\n/**\n * Generic info message\n */\nexport const logInfo = (message: string) => {\n\tlog(message);\n};\n\n/**\n * Page reload message\n * Format: \"10:30:45 AM [hmr] page reload /src/App.tsx (125ms)\"\n */\nexport const logPageReload = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('page reload', { duration, framework, path });\n};\n\n/**\n * Script update message\n * Format: \"10:30:45 AM [hmr] script update /scripts/counter.ts (125ms)\"\n */\nexport const logScriptUpdate = (\n\tpath: string,\n\tframework?: string,\n\tduration?: number\n) => {\n\tlog('script update', { duration, framework, path });\n};\n\n/**\n * Server module reloaded (Bun --hot triggered a server-side change)\n */\nexport const logServerReload = () => {\n\tlog(`${colors.cyan}server module reloaded${colors.reset}`);\n};\n\n/**\n * Warning message\n * Format: \"10:30:45 AM [hmr] warning ...\"\n */\nexport const logWarn = (message: string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.yellow}[hmr]${colors.reset}`;\n\tconsole.log(\n\t\t`${timestamp} ${tag} ${colors.yellow}warning ${message}${colors.reset}`\n\t);\n};\n",
|
|
19
19
|
"/** Read the per-page compiled CSS sidecar that the build emitted next to\n * the SSR JS, and splice it into the SSR head as an inline <style>\n * block. Used by each framework's page handler so scoped/per-page\n * styles are present on first paint instead of loading client-side\n * after hydration (which produces a one-frame flash of unstyled\n * chrome — sidebar/logo/cards).\n *\n * The CSS sidecar is written by `core/build.ts` after the server and\n * CSS Bun.build passes finish: for each SSR JS output, a `.css` file\n * with the same basename + hash is placed beside it. The handler\n * derives the sidecar path from the SSR JS path it already has\n * (`pagePath` / `index`) so there's no manifest lookup, no extra\n * argument the user must thread through, and no chance of getting\n * the URL hash wrong.\n *\n * Content-hashed filenames mean the sidecar is immutable for the\n * lifetime of a build, so the read is memoised by absolute path and\n * the handler hits `readFile` at most once per page per process. */\nconst siblingCssCache = new Map<string, string>();\n\n/** Drop every memoised sibling-CSS read (including cached misses). The dev\n * server calls this after rebuilding page bundles: a request landing\n * mid-rebuild can otherwise cache '' for a freshly hashed path whose\n * sidecar hasn't been copied yet, and that page then SSRs unstyled for the\n * rest of the process. Prod never needs this — hashed artifacts are\n * immutable there. */\nexport const clearSiblingCssCache = () => {\n\tsiblingCssCache.clear();\n};\n\nexport const injectInlineCss = (headTag: string, css: string) => {\n\tif (!css) return headTag;\n\tconst styleBlock = `<style data-absolute-page-css>${css}</style>`;\n\n\treturn headTag.replace('</head>', `${styleBlock}</head>`);\n};\nexport const readSiblingCss = async (siblingJsPath: string | undefined) => {\n\tif (!siblingJsPath) return '';\n\tconst cssPath = siblingJsPath.replace(/\\.js$/, '.css');\n\tif (cssPath === siblingJsPath) return '';\n\tconst cached = siblingCssCache.get(cssPath);\n\tif (cached !== undefined) return cached;\n\tconst { readFile } = await import('node:fs/promises');\n\ttry {\n\t\tconst css = await readFile(cssPath, 'utf-8');\n\t\tsiblingCssCache.set(cssPath, css);\n\n\t\treturn css;\n\t} catch {\n\t\t// No sidecar — page has no compiled styles, or dev-mode build\n\t\t// hasn't written one yet. Cache the miss so we don't repeatedly\n\t\t// stat a known-absent path.\n\t\tsiblingCssCache.set(cssPath, '');\n\n\t\treturn '';\n\t}\n};\n",
|
|
20
20
|
"export const ssrErrorPage = (framework: string, error: unknown) => {\n\tconst frameworkColors: Record<string, string> = {\n\t\tangular: '#dd0031',\n\t\thtml: '#e34c26',\n\t\thtmx: '#1a365d',\n\t\treact: '#61dafb',\n\t\tsvelte: '#ff3e00',\n\t\tvue: '#42b883'\n\t};\n\n\tconst accent = frameworkColors[framework] ?? '#94a3b8';\n\tconst label = framework.charAt(0).toUpperCase() + framework.slice(1);\n\tconst message = error instanceof Error ? error.message : String(error);\n\n\treturn `<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>SSR Error - AbsoluteJS</title>\n<style>\n*{margin:0;padding:0;box-sizing:border-box}\nbody{min-height:100vh;background:linear-gradient(135deg,rgba(15,23,42,0.98) 0%,rgba(30,41,59,0.98) 100%);color:#e2e8f0;font-family:\"JetBrains Mono\",\"Fira Code\",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;display:flex;align-items:flex-start;justify-content:center;padding:32px}\n.card{max-width:720px;width:100%;background:rgba(30,41,59,0.6);border:1px solid rgba(71,85,105,0.5);border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);overflow:hidden}\n.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:rgba(15,23,42,0.5);border-bottom:1px solid rgba(71,85,105,0.4)}\n.brand{font-weight:700;font-size:20px;color:#fff;letter-spacing:-0.02em}\n.badge{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:${accent};color:#fff;opacity:0.95;box-shadow:0 2px 4px rgba(0,0,0,0.2)}\n.kind{color:#94a3b8;font-size:13px;font-weight:500}\n.content{padding:24px}\n.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;margin-bottom:8px}\n.message{margin:0;padding:16px 20px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);border-radius:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#fca5a5;font-size:13px;line-height:1.5}\n.hint{margin-top:20px;padding:12px 20px;background:rgba(71,85,105,0.3);border-radius:10px;border:1px solid rgba(71,85,105,0.4);color:#cbd5e1;font-size:13px}\n</style>\n</head>\n<body>\n<div class=\"card\">\n<div class=\"header\">\n<div style=\"display:flex;align-items:center;gap:12px\">\n<span class=\"brand\">AbsoluteJS</span>\n<span class=\"badge\">${label}</span>\n</div>\n<span class=\"kind\">Server Render Error</span>\n</div>\n<div class=\"content\">\n<div class=\"label\">What went wrong</div>\n<pre class=\"message\">${message.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}</pre>\n<div class=\"hint\">A component threw during server-side rendering. Check the terminal for the full stack trace.</div>\n</div>\n</div>\n</body>\n</html>`;\n};\n",
|
|
21
21
|
"const normalizeSlug = (str: string) =>\n\tstr\n\t\t.trim()\n\t\t.replace(/\\s+/g, '-')\n\t\t.replace(/[^A-Za-z0-9\\-_]+/g, '')\n\t\t.replace(/[-_]{2,}/g, '-');\n\nexport const toKebab = (str: string) =>\n\tnormalizeSlug(str)\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.toLowerCase();\nexport const toPascal = (str: string) => {\n\tif (!str.includes('-') && !str.includes('_')) {\n\t\treturn str.charAt(0).toUpperCase() + str.slice(1);\n\t}\n\n\treturn normalizeSlug(str)\n\t\t.split(/[-_]/)\n\t\t.filter(Boolean)\n\t\t.map(\n\t\t\t(segment) =>\n\t\t\t\tsegment.charAt(0).toUpperCase() + segment.slice(1).toLowerCase()\n\t\t)\n\t\t.join('');\n};\nexport const toScreamingSnake = (str: string) =>\n\tstr.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n",
|
|
22
22
|
"import { basename } from 'node:path';\nimport type { ConventionsMap, ErrorPageProps } from '../../types/conventions';\nimport { toPascal } from './stringModifiers';\n\n// Use globalThis so the conventions map is shared across all bundles.\n// The main bundle (dist/index.js) calls setConventions, but framework\n// bundles (dist/svelte/index.js, etc.) need to read the same map.\nconst CONVENTIONS_KEY = '__absoluteConventions';\n\nconst isConventionsMap = (value: unknown): value is ConventionsMap =>\n\tBoolean(value) && typeof value === 'object';\n\nconst getMap = () => {\n\tconst value: unknown = Reflect.get(globalThis, CONVENTIONS_KEY);\n\tif (isConventionsMap(value)) return value;\n\n\tconst empty: ConventionsMap = {};\n\n\treturn empty;\n};\n\nexport const derivePageName = (pagePath: string) => {\n\tconst base = basename(pagePath);\n\t// Strip hash and extension: \"SvelteExample.abc123.js\" → \"SvelteExample\"\n\tconst dotIndex = base.indexOf('.');\n\tconst name = dotIndex > 0 ? base.slice(0, dotIndex) : base;\n\n\treturn toPascal(name);\n};\nexport const getConventions = () => getMap();\n\nconst normalizeConventionPageName = (name: string) =>\n\ttoPascal(name).replace(/\\d+$/, '');\n\nexport const hasErrorConvention = (framework: keyof ConventionsMap) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return false;\n\tif (conventions.defaults?.error) return true;\n\n\treturn Object.values(conventions.pages ?? {}).some((page) =>\n\t\tBoolean(page.error)\n\t);\n};\nexport const resolveErrorConventionPath = (\n\tframework: keyof ConventionsMap,\n\tpageName: string\n) => {\n\tconst conventions = getMap()[framework];\n\tif (!conventions) return undefined;\n\n\tconst exact = conventions.pages?.[pageName]?.error;\n\tif (exact) return exact;\n\n\tconst normalizedPageName = normalizeConventionPageName(pageName);\n\tfor (const [candidate, page] of Object.entries(conventions.pages ?? {})) {\n\t\tif (normalizeConventionPageName(candidate) === normalizedPageName) {\n\t\t\treturn page.error ?? conventions.defaults?.error;\n\t\t}\n\t}\n\n\treturn conventions.defaults?.error;\n};\nexport const resolveNotFoundConventionPath = (\n\tframework: keyof ConventionsMap\n) => getMap()[framework]?.defaults?.notFound;\nexport const setConventions = (map: ConventionsMap) => {\n\tReflect.set(globalThis, CONVENTIONS_KEY, map);\n};\n\nconst isDev = () => process.env.NODE_ENV === 'development';\n\nconst buildErrorProps = (error: unknown): ErrorPageProps => {\n\tif (error instanceof Error) {\n\t\treturn {\n\t\t\tmessage: error.message,\n\t\t\tname: error.name,\n\t\t\t...(isDev() && error.stack ? { stack: error.stack } : {})\n\t\t};\n\t}\n\n\treturn { message: String(error), name: 'Error' };\n};\n\nconst renderReactError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (typeof ErrorComponent !== 'function') return null;\n\n\tconst element = createElement(ErrorComponent, errorProps);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderSvelteError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (!ErrorComponent) return null;\n\n\tconst { head, body } = render(ErrorComponent, {\n\t\tprops: errorProps\n\t});\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst unescapeVueStyles = (ssrBody: string) => {\n\tlet styles = '';\n\tconst body = ssrBody.replace(\n\t\t/<style>([\\s\\S]*?)<\\/style>/g,\n\t\t(_, css: string) => {\n\t\t\tstyles += `<style>${css\n\t\t\t\t.replace(/"/g, '\"')\n\t\t\t\t.replace(/&/g, '&')\n\t\t\t\t.replace(/</g, '<')\n\t\t\t\t.replace(/>/g, '>')}</style>`;\n\n\t\t\treturn '';\n\t\t}\n\t);\n\n\treturn { body, styles };\n};\n\nconst renderVueError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst ErrorComponent = mod.default;\n\tif (!ErrorComponent) return null;\n\n\tconst app = createSSRApp({\n\t\trender: () => h(ErrorComponent, errorProps)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\t// Vue SSR escapes quotes inside <component is=\"style\"> tags.\n\t// Extract style content, unescape it, and move to <head>.\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst renderAngularError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\t// Angular convention error pages use the simple function-style renderer.\n\t// Class-style components (templateUrl/styleUrl trio) routed through the\n\t// full Angular SSR pipeline are tracked separately — see CLAUDE.md.\n\tconst mod = await import(conventionPath);\n\tconst renderFn = mod.default;\n\tif (typeof renderFn !== 'function') return null;\n\n\tconst html = renderFn(errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst escapeHtml = (value: string) =>\n\tvalue\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''');\n\nconst replaceErrorTokens = (template: string, errorProps: ErrorPageProps) =>\n\ttemplate\n\t\t.replace(/\\{\\{\\s*name\\s*\\}\\}/g, escapeHtml(errorProps.name))\n\t\t.replace(/\\{\\{\\s*message\\s*\\}\\}/g, escapeHtml(errorProps.message))\n\t\t.replace(\n\t\t\t/\\{\\{\\s*stack\\s*\\}\\}/g,\n\t\t\terrorProps.stack ? escapeHtml(errorProps.stack) : ''\n\t\t);\n\nconst renderHtmlError = async (\n\tconventionPath: string,\n\terrorProps: ErrorPageProps\n) => {\n\tconst template = await Bun.file(conventionPath).text();\n\tconst html = replaceErrorTokens(template, errorProps);\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 500\n\t});\n};\n\nconst logConventionRenderError = (\n\tframework: keyof ConventionsMap,\n\tlabel: string,\n\trenderError: unknown\n) => {\n\tconst message = renderError instanceof Error ? renderError.message : '';\n\tif (\n\t\tmessage.includes('Cannot find module') ||\n\t\tmessage.includes('Cannot find package') ||\n\t\tmessage.includes('not found in module')\n\t) {\n\t\tconsole.error(\n\t\t\t`[SSR] Convention ${label} page for ${framework} failed: missing framework package. ` +\n\t\t\t\t`Ensure the ${framework} runtime is installed (e.g. bun add ${framework === 'react' ? 'react react-dom' : framework}).`\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconsole.error(\n\t\t`[SSR] Failed to render ${framework} convention ${label} page:`,\n\t\trenderError\n\t);\n};\n\n// Phase 1 Ember adapter: convention pages aren't wired yet (no\n// renderEmberError analog ships in v1). Returning null falls through to\n// the generic ssrErrorPage. Phase 1.5 replaces this stub with a real\n// renderer once the convention scanner knows about .gjs/.gts files.\nconst renderEmberError = async () => null;\nconst renderEmberNotFound = async () => null;\n\nconst ERROR_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(\n\t\tconventionPath: string,\n\t\terrorProps: ErrorPageProps\n\t) => Promise<Response | null>\n> = {\n\tangular: renderAngularError,\n\tember: renderEmberError,\n\thtml: renderHtmlError,\n\treact: renderReactError,\n\tsvelte: renderSvelteError,\n\tvue: renderVueError\n};\n\nconst tryFrameworkErrorConvention = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terrorProps: ErrorPageProps,\n\terror: unknown\n) => {\n\tlet conventionPath = resolveErrorConventionPath(framework, pageName);\n\tif (!conventionPath && error instanceof Error && error.stack) {\n\t\tfor (const match of error.stack.matchAll(\n\t\t\t/^\\s*at\\s+([A-Za-z_$][\\w$]*)/gm\n\t\t)) {\n\t\t\tconst [, candidate] = match;\n\t\t\tif (!candidate) continue;\n\n\t\t\tconventionPath = resolveErrorConventionPath(framework, candidate);\n\t\t\tif (conventionPath) break;\n\t\t}\n\t}\n\tif (!conventionPath) return null;\n\n\tconst renderer = ERROR_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath, errorProps);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'error', renderError);\n\t}\n\n\treturn null;\n};\n\nexport const renderConventionError = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\terror: unknown\n) => {\n\tconst errorProps = buildErrorProps(error);\n\n\tconst frameworkResponse = await tryFrameworkErrorConvention(\n\t\tframework,\n\t\tpageName,\n\t\terrorProps,\n\t\terror\n\t);\n\tif (frameworkResponse) return frameworkResponse;\n\n\t// Universal fallback: any project can ship a plain `error.html` in\n\t// the html pages dir as the last-resort branded error page before\n\t// the inline ssrErrorPage() takes over.\n\tif (framework !== 'html') {\n\t\tconst htmlResponse = await tryFrameworkErrorConvention(\n\t\t\t'html',\n\t\t\tpageName,\n\t\t\terrorProps,\n\t\t\terror\n\t\t);\n\t\tif (htmlResponse) return htmlResponse;\n\t}\n\n\treturn null;\n};\n\nconst renderReactNotFound = async (conventionPath: string) => {\n\tconst { createElement } = await import('react');\n\tconst { renderToReadableStream } = await import('react-dom/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (typeof NotFoundComponent !== 'function') return null;\n\n\tconst element = createElement(NotFoundComponent);\n\tconst stream = await renderToReadableStream(element);\n\n\treturn new Response(stream, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderSvelteNotFound = async (conventionPath: string) => {\n\tconst { render } = await import('svelte/server');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (!NotFoundComponent) return null;\n\n\tconst { head, body } = render(NotFoundComponent);\n\tconst html = `<!DOCTYPE html><html><head>${head}</head><body>${body}</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderVueNotFound = async (conventionPath: string) => {\n\tconst { createSSRApp, h } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\tconst mod = await import(conventionPath);\n\tconst NotFoundComponent = mod.default;\n\tif (!NotFoundComponent) return null;\n\n\tconst app = createSSRApp({\n\t\trender: () => h(NotFoundComponent)\n\t});\n\tconst rawBody = await renderToString(app);\n\n\tconst { styles, body } = unescapeVueStyles(rawBody);\n\tconst html = `<!DOCTYPE html><html><head>${styles}</head><body><div id=\"root\">${body}</div></body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderAngularNotFound = async (conventionPath: string) => {\n\tconst mod = await import(conventionPath);\n\tconst renderFn = mod.default;\n\tif (typeof renderFn !== 'function') return null;\n\n\tconst html = renderFn();\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst renderHtmlNotFound = async (conventionPath: string) => {\n\tconst html = await Bun.file(conventionPath).text();\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' },\n\t\tstatus: 404\n\t});\n};\n\nconst NOT_FOUND_RENDERERS: Record<\n\tkeyof ConventionsMap,\n\t(conventionPath: string) => Promise<Response | null>\n> = {\n\tangular: renderAngularNotFound,\n\tember: renderEmberNotFound,\n\thtml: renderHtmlNotFound,\n\treact: renderReactNotFound,\n\tsvelte: renderSvelteNotFound,\n\tvue: renderVueNotFound\n};\n\nexport const renderConventionNotFound = async (\n\tframework: keyof ConventionsMap\n) => {\n\tconst conventionPath = resolveNotFoundConventionPath(framework);\n\tif (!conventionPath) return null;\n\n\tconst renderer = NOT_FOUND_RENDERERS[framework];\n\tif (!renderer) return null;\n\n\ttry {\n\t\treturn await renderer(conventionPath);\n\t} catch (renderError) {\n\t\tlogConventionRenderError(framework, 'not-found', renderError);\n\t}\n\n\treturn null;\n};\n\nconst NOT_FOUND_PRIORITY: (keyof ConventionsMap)[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular',\n\t'html'\n];\n\nexport const renderFirstNotFound = async () => {\n\tconst renderNext = async (frameworks: (keyof ConventionsMap)[]) => {\n\t\tconst [framework, ...remaining] = frameworks;\n\t\tif (!framework) {\n\t\t\treturn null;\n\t\t}\n\t\tif (!getMap()[framework]?.defaults?.notFound) {\n\t\t\treturn renderNext(remaining);\n\t\t}\n\n\t\tconst response = await renderConventionNotFound(framework);\n\t\tif (response) {\n\t\t\treturn response;\n\t\t}\n\n\t\treturn renderNext(remaining);\n\t};\n\n\treturn renderNext(NOT_FOUND_PRIORITY);\n};\n",
|
|
23
23
|
"import type { SpaHost } from './spaRouteTypes';\nimport { renderFirstNotFound } from './resolveConvention';\nimport { basename } from 'node:path';\nimport type { ConventionsMap } from '../../types/conventions';\n\nconst SPA_ROUTES_KEY = '__absoluteSpaRoutes';\n\nexport type RuntimeSpaHost = SpaHost & { framework: keyof ConventionsMap };\n\nexport const setSpaRouteManifest = (hosts: RuntimeSpaHost[]) => {\n\tReflect.set(globalThis, SPA_ROUTES_KEY, hosts);\n};\n\nconst isRuntimeSpaHost = (value: unknown): value is RuntimeSpaHost =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\ttypeof Reflect.get(value, 'framework') === 'string';\n\nconst getSpaRouteManifest = () => {\n\tconst value: unknown = Reflect.get(globalThis, SPA_ROUTES_KEY);\n\n\treturn Array.isArray(value) ? value.filter(isRuntimeSpaHost) : [];\n};\n\nconst normalizePath = (path: string) => {\n\tconst withLeadingSlash = path.startsWith('/') ? path : `/${path}`;\n\tconst trimmed = withLeadingSlash.replace(/\\/+$/, '');\n\n\treturn trimmed || '/';\n};\n\nconst fullRoutePath = (baseHref: string, routePath: string) => {\n\tconst base = normalizePath(baseHref);\n\tconst route = normalizePath(routePath);\n\tif (base !== '/' && (route === base || route.startsWith(`${base}/`))) {\n\t\treturn route;\n\t}\n\tif (base === '/') return route;\n\n\treturn normalizePath(`${base}/${route.replace(/^\\/+/, '')}`);\n};\n\nconst routePattern = (path: string) => {\n\tconst segments = normalizePath(path).split('/').filter(Boolean);\n\tlet expression = '^';\n\tfor (const segment of segments) {\n\t\tif (segment === '*' || segment === '**') {\n\t\t\texpression += '(?:/.*)?';\n\t\t\tcontinue;\n\t\t}\n\t\tconst parameter = /^:[A-Za-z_$][A-Za-z0-9_$]*(?:\\((.*)\\))?(\\?)?$/.exec(\n\t\t\tsegment\n\t\t);\n\t\tif (parameter) {\n\t\t\tconst valuePattern = parameter[1] || '[^/]+';\n\t\t\texpression += parameter[2]\n\t\t\t\t? `(?:/${valuePattern})?`\n\t\t\t\t: `/${valuePattern}`;\n\t\t\tcontinue;\n\t\t}\n\t\texpression += `/${segment.replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&')}`;\n\t}\n\n\treturn new RegExp(`${expression || '^/'}/?$`);\n};\n\nconst sourcePageName = (sourceFile: string) =>\n\tbasename(sourceFile)\n\t\t.replace(/\\.[^.]+$/, '')\n\t\t.toLowerCase();\n\nexport const isKnownSpaRoute = (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\trequest: Request | undefined\n) => {\n\tif (!request) return true;\n\tlet pathname: string;\n\ttry {\n\t\tpathname = normalizePath(new URL(request.url).pathname);\n\t} catch {\n\t\treturn true;\n\t}\n\n\tconst hosts = getSpaRouteManifest().filter((host) => {\n\t\tif (host.framework !== framework) return false;\n\t\tif (sourcePageName(host.sourceFile) !== pageName.toLowerCase())\n\t\t\treturn false;\n\t\tconst base = normalizePath(host.baseHref);\n\n\t\treturn (\n\t\t\tbase === '/' || pathname === base || pathname.startsWith(`${base}/`)\n\t\t);\n\t});\n\tif (hosts.length === 0) return true;\n\n\treturn hosts.some((host) =>\n\t\thost.routes.some((route) =>\n\t\t\troutePattern(fullRoutePath(host.baseHref, route.path)).test(\n\t\t\t\tpathname\n\t\t\t)\n\t\t)\n\t);\n};\n\nexport const renderSpaNotFound = async (\n\tframework: keyof ConventionsMap,\n\tpageName: string,\n\trequest: Request | undefined\n) => {\n\tif (isKnownSpaRoute(framework, pageName, request)) return null;\n\n\treturn (\n\t\t(await renderFirstNotFound()) ??\n\t\tnew Response('Not found', {\n\t\t\theaders: { 'Content-Type': 'text/plain' },\n\t\t\tstatus: 404\n\t\t})\n\t);\n};\n",
|
|
24
|
+
"const BASELINE_MARKER = '__ABSOLUTE_SSR_TEXT_BASELINES__';\n\n/** Inline this after SSR markup and before any client entry executes. The\n * snapshot records server-authored text while keeping it out of the DOM, so\n * browser translation remains free to edit the rendered text. */\nexport const BROWSER_TRANSLATION_BASELINE_SCRIPT =\n\t'window.__ABSOLUTE_SSR_TEXT_BASELINES__=new WeakMap();' +\n\t'{const r=document.body,b=window.__ABSOLUTE_SSR_TEXT_BASELINES__;' +\n\t'if(r)for(const e of [r,...r.querySelectorAll(\"*\")]){' +\n\t'const t=new Map();for(const [i,n]of[...e.childNodes].entries())' +\n\t'if(n.nodeType===3)t.set(i,n.nodeValue??\"\");if(t.size)b.set(e,t);}}';\n\nexport const browserTranslationBaselineTag = () =>\n\t`<script>${BROWSER_TRANSLATION_BASELINE_SCRIPT}</script>`;\n\nexport const injectBrowserTranslationBaseline = (html: string) => {\n\tif (html.includes(BASELINE_MARKER)) return html;\n\tconst script = browserTranslationBaselineTag();\n\tconst closingBodyIndex = html.lastIndexOf('</body>');\n\tif (closingBodyIndex < 0) return `${html}${script}`;\n\n\treturn `${html.slice(0, closingBodyIndex)}${script}${html.slice(closingBodyIndex)}`;\n};\n",
|
|
24
25
|
"import type { Component, ComponentProps } from 'svelte';\nimport { DEFAULT_CHUNK_SIZE } from '../constants';\nimport { escapeScriptContent } from '../utils/escapeScriptContent';\n\nexport const SVELTE_PAGE_ROOT_ID = '__absolute_svelte_root__';\n\ntype SvelteRenderOutput = {\n\tbody: string;\n\thead: string;\n};\n\ntype SvelteServerRender = (\n\tcomponent: Component<Record<string, unknown>>,\n\toptions?: { props?: Record<string, unknown> }\n) => SvelteRenderOutput | PromiseLike<SvelteRenderOutput>;\n\nexport type RenderStreamOptions = {\n\tbootstrapScriptContent?: string;\n\tbootstrapScripts?: string[];\n\tbootstrapModules?: string[];\n\tnonce?: string;\n\tonError?: (error: unknown) => void;\n\tprogressiveChunkSize?: number;\n\tsignal?: AbortSignal;\n\theadContent?: string;\n\tbodyContent?: string;\n};\n\nexport const renderToReadableStream = async <\n\tComp extends Component<Record<string, unknown>>\n>(\n\tcomponent: Comp,\n\tprops?: ComponentProps<Comp>,\n\t{\n\t\tbootstrapScriptContent,\n\t\tbootstrapScripts = [],\n\t\tbootstrapModules = [],\n\t\tnonce,\n\t\tonError = console.error,\n\t\tprogressiveChunkSize = DEFAULT_CHUNK_SIZE,\n\t\tsignal,\n\t\theadContent,\n\t\tbodyContent\n\t}: RenderStreamOptions = {}\n) => {\n\ttry {\n\t\tconst { render } = await import('svelte/server');\n\t\tconst renderComponent: SvelteServerRender = render;\n\t\tconst rendered =\n\t\t\ttypeof props === 'undefined'\n\t\t\t\t? await renderComponent(component)\n\t\t\t\t: await renderComponent(component, { props });\n\t\tconst { head, body } = rendered;\n\t\tconst nonceAttr = nonce ? ` nonce=\"${nonce}\"` : '';\n\t\tconst scripts =\n\t\t\t(bootstrapScriptContent\n\t\t\t\t? `<script${nonceAttr}>${escapeScriptContent(bootstrapScriptContent)}</script>`\n\t\t\t\t: '') +\n\t\t\tbootstrapScripts\n\t\t\t\t.map((src) => `<script${nonceAttr} src=\"${src}\"></script>`)\n\t\t\t\t.join('') +\n\t\t\tbootstrapModules\n\t\t\t\t.map(\n\t\t\t\t\t(src) =>\n\t\t\t\t\t\t`<script${nonceAttr} type=\"module\" src=\"${src}\"></script>`\n\t\t\t\t)\n\t\t\t\t.join('');\n\t\tconst encoder = new TextEncoder();\n\t\t// Warning: this encodes the entire document into memory in one buffer\n\t\tconst full = encoder.encode(\n\t\t\t`<!DOCTYPE html><html lang=\"en\"><head>${head}${headContent ?? ''}</head><body><div id=\"${SVELTE_PAGE_ROOT_ID}\">${body}</div>${scripts}${bodyContent ?? ''}</body></html>`\n\t\t);\n\n\t\tlet offset = 0;\n\n\t\treturn new ReadableStream<Uint8Array>({\n\t\t\ttype: 'bytes',\n\t\t\tcancel(reason) {\n\t\t\t\tonError?.(reason);\n\t\t\t},\n\t\t\tpull(controller) {\n\t\t\t\tif (signal?.aborted) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (offset >= full.length) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst end = Math.min(\n\t\t\t\t\toffset + progressiveChunkSize,\n\t\t\t\t\tfull.length\n\t\t\t\t);\n\t\t\t\tcontroller.enqueue(full.subarray(offset, end));\n\t\t\t\toffset = end;\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tonError?.(error);\n\t\tthrow error;\n\t}\n};\n",
|
|
25
26
|
"import type { StreamingSlot } from '../utils/streamingSlots';\n\ntype StreamingSlotRegistrar = (slot: StreamingSlot) => void;\ntype StreamingSlotWarningController = {\n\tmaybeWarn(primitiveName: string): void;\n};\ntype StreamingSlotCollectionController = {\n\tisCollecting(): boolean;\n};\n\nconst STREAMING_SLOT_REGISTRAR_KEY = Symbol.for(\n\t'absolutejs.streamingSlotRegistrar'\n);\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningController'\n);\nconst STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotCollectionController'\n);\n\nconst getRegisteredStreamingSlotRegistrar = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);\n\tif (typeof value === 'function' || value === null) {\n\t\treturn value;\n\t}\n\n\treturn undefined;\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isStreamingSlotWarningController = (\n\tvalue: unknown\n): value is StreamingSlotWarningController =>\n\tisObjectRecord(value) &&\n\t'maybeWarn' in value &&\n\ttypeof value.maybeWarn === 'function';\n\nconst isStreamingSlotCollectionController = (\n\tvalue: unknown\n): value is StreamingSlotCollectionController =>\n\tisObjectRecord(value) &&\n\t'isCollecting' in value &&\n\ttypeof value.isCollecting === 'function';\n\nconst getWarningController = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotWarningController(value) ? value : undefined;\n};\n\nconst getCollectionController = () => {\n\tconst value = Reflect.get(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_COLLECTION_STORAGE_KEY\n\t);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotCollectionController(value) ? value : undefined;\n};\n\nexport const hasRegisteredStreamingSlotRegistrar = () =>\n\ttypeof getRegisteredStreamingSlotRegistrar() === 'function';\nexport const isStreamingSlotCollectionActive = () =>\n\tgetCollectionController()?.isCollecting() === true;\nexport const registerStreamingSlot = (slot: StreamingSlot) => {\n\tgetRegisteredStreamingSlotRegistrar()?.(slot);\n};\nexport const setStreamingSlotCollectionController = (\n\tcontroller: StreamingSlotCollectionController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);\n};\nexport const setStreamingSlotRegistrar = (\n\tnextRegistrar: StreamingSlotRegistrar | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);\n};\nexport const setStreamingSlotWarningController = (\n\tcontroller: StreamingSlotWarningController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);\n};\nexport const warnMissingStreamingSlotCollector = (primitiveName: string) => {\n\tif (\n\t\tprocess.env.NODE_ENV === 'production' ||\n\t\tisStreamingSlotCollectionActive()\n\t) {\n\t\treturn;\n\t}\n\n\tgetWarningController()?.maybeWarn(primitiveName);\n};\n",
|
|
26
27
|
"import type { StreamingSlot } from '../utils/streamingSlots';\nimport {\n\tsetStreamingSlotCollectionController,\n\tsetStreamingSlotRegistrar\n} from './streamingSlotRegistrar';\n\ntype SlotStore = Map<string, StreamingSlot>;\ntype AsyncLocalStorageType =\n\timport('node:async_hooks').AsyncLocalStorage<SlotStore>;\n\nconst STREAMING_SLOT_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is AsyncLocalStorageType =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getStorageGlobal = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn value;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst isServerRuntime = () =>\n\ttypeof process !== 'undefined' &&\n\ttypeof process.versions?.node === 'string';\n\nconst ensureAsyncLocalStorage = async () => {\n\tconst storage = getStorageGlobal();\n\tif (typeof storage !== 'undefined') {\n\t\treturn storage;\n\t}\n\tif (!isServerRuntime()) {\n\t\tReflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);\n\n\t\treturn getStorageGlobal();\n\t}\n\n\tconst mod = await import('node:async_hooks');\n\tReflect.set(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_STORAGE_KEY,\n\t\tnew mod.AsyncLocalStorage<SlotStore>()\n\t);\n\n\treturn getStorageGlobal();\n};\n\nconst getActiveSlotStore = () => {\n\tconst storage = getStorageGlobal();\n\tif (!storage) return undefined;\n\n\treturn storage.getStore();\n};\n\nconst registerStreamingSlot = (slot: StreamingSlot) => {\n\tconst store = getActiveSlotStore();\n\tif (!store) return;\n\tstore.set(slot.id, slot);\n};\n\nsetStreamingSlotRegistrar(registerStreamingSlot);\nsetStreamingSlotCollectionController({\n\tisCollecting: () => getActiveSlotStore() !== undefined\n});\n\nexport const hasActiveStreamingSlotRegistry = () =>\n\tgetActiveSlotStore() !== undefined;\n\nexport const runWithStreamingSlotRegistry = async <T>(\n\ttask: () => Promise<T> | T\n) => {\n\tconst storage = await ensureAsyncLocalStorage();\n\tif (!storage) {\n\t\tconst slots: StreamingSlot[] = [];\n\n\t\treturn {\n\t\t\tresult: await task(),\n\t\t\tslots\n\t\t};\n\t}\n\n\treturn storage.run(new Map<string, StreamingSlot>(), async () => {\n\t\tconst result = await task();\n\t\tconst store = storage.getStore();\n\n\t\treturn {\n\t\t\tresult,\n\t\t\tslots: store ? [...store.values()] : []\n\t\t};\n\t});\n};\n",
|
|
27
|
-
"import type { Component as SvelteComponent } from 'svelte';\nimport type { SveltePropsOf } from '../../types/svelte';\nimport { compileSvelteServerModule } from '../core/svelteServerModule';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport { getCurrentAbsoluteRequest } from '../core/requestContext';\nimport type { AbsoluteMobileBuildPageMetadata } from '../mobile/buildMetadata';\nimport {\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\tfinalizeAbsoluteMobilePage\n} from '../mobile/pageProtocol';\nimport {\n\tstreamingPageHeaders,\n\twithPageCacheHeaders\n} from '../core/pageResponseCache';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport { readSiblingCss } from '../utils/inlinePageCss';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderSpaNotFound } from '../utils/spaRouteManifest';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\n\ntype GenericSvelteComponent = SvelteComponent<Record<string, unknown>>;\ntype ResolvedSveltePage = {\n\tcomponent: GenericSvelteComponent;\n\thasIslands: boolean;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isGenericSvelteComponent = (\n\tvalue: unknown\n): value is GenericSvelteComponent =>\n\ttypeof value === 'function' || isRecord(value);\n\nconst readHasIslands = (value: unknown) => {\n\tif (!isRecord(value)) return false;\n\tconst hasIslands = value['__ABSOLUTE_PAGE_HAS_ISLANDS__'];\n\n\treturn typeof hasIslands === 'boolean' ? hasIslands : false;\n};\n\nconst readDefaultExport = (value: unknown) =>\n\tisRecord(value) ? value.default : undefined;\n\nconst primeSvelteStream = async <T>(stream: ReadableStream<T>) => {\n\tconst reader = stream.getReader();\n\tconst firstChunk = await reader.read();\n\n\treturn { firstChunk, reader };\n};\n\nconst restorePrimedStream = <T>(\n\tfirstChunk: Awaited<ReturnType<ReadableStreamDefaultReader<T>['read']>>,\n\treader: ReadableStreamDefaultReader<T>\n) =>\n\tnew ReadableStream<T>({\n\t\tstart(controller) {\n\t\t\tif (!firstChunk.done) controller.enqueue(firstChunk.value);\n\t\t\tif (firstChunk.done) {\n\t\t\t\tcontroller.close();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst pumpLoop = () => {\n\t\t\t\treader\n\t\t\t\t\t.read()\n\t\t\t\t\t.then(({ done, value }) =>\n\t\t\t\t\t\tdone\n\t\t\t\t\t\t\t? controller.close()\n\t\t\t\t\t\t\t: (controller.enqueue(value), pumpLoop())\n\t\t\t\t\t)\n\t\t\t\t\t.catch((err) => controller.error(err));\n\t\t\t};\n\t\t\tpumpLoop();\n\t\t}\n\t});\n\nexport type SveltePageRenderOptions = {\n\tcollectStreamingSlots?: boolean;\n\tbodyContent?: string;\n\theadContent?: string;\n\t/** Buffer this page's stream so it can carry a content-hash `ETag` and\n\t * serve a `304` on repeat visits, at the cost of streaming's fast first\n\t * byte. Only worth it on pages static enough that the 304 beats the\n\t * stream. See {@link PageCacheOptions.bufferStreamForEtag}. */\n\tbufferStreamForEtag?: boolean;\n} & StreamingSlotEnhancerOptions;\n\ntype HasNoSvelteProps<Props> = [Props] extends [never]\n\t? true\n\t: keyof Props extends never\n\t\t? true\n\t\t: false;\n\nexport type SveltePageRequestInput<\n\tComponent extends SvelteComponent<never> = SvelteComponent<\n\t\tRecord<never, never>\n\t>\n> = SveltePageRenderOptions & {\n\t/** @internal Build-generated mobile identity. Application code must not set this. */\n\t__absoluteMobile?: AbsoluteMobileBuildPageMetadata;\n\tindexPath: string;\n\tpagePath: string;\n\t/** The incoming Elysia request. When provided, the request's pathname\n\t * is auto-injected into props as `url` so the page can pass it into\n\t * `<Router url={url}>` without the caller threading it by hand.\n\t * User-supplied `props.url` (if present) takes precedence. */\n\trequest?: Request;\n\t/** Sitemap metadata for this route. Statically read from the handler\n\t * source at registration time, so only literal-object values are\n\t * honoured. */\n\tsitemap?: import('../../types/sitemap').PageHandlerSitemapMetadata;\n} & (HasNoSvelteProps<SveltePropsOf<Component>> extends true\n\t\t? { props?: NoInfer<SveltePropsOf<Component>> }\n\t\t: { props: NoInfer<SveltePropsOf<Component>> });\n\nconst resolveRequestPathname = (request: Request | undefined) => {\n\tif (!request) return undefined;\n\n\ttry {\n\t\tconst parsed = new URL(request.url);\n\n\t\treturn `${parsed.pathname}${parsed.search}`;\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\nexport const handleSveltePageRequest = async <\n\tComponent extends SvelteComponent<never>\n>(\n\tinput: SveltePageRequestInput<Component>\n) => {\n\tconst resolvedIndexPath = input.indexPath;\n\tconst resolvedOptions = input;\n\tconst resolvedPagePath = input.pagePath;\n\tconst userProps = input.props;\n\tconst request = input.request ?? getCurrentAbsoluteRequest();\n\tconst requestPathname = resolveRequestPathname(request);\n\t// Auto-inject `url` from the request when the caller didn't already\n\t// pass one in props. Lets users wire `<Router url={url}>` just by\n\t// forwarding `request` instead of unwrapping it themselves.\n\tconst resolvedProps =\n\t\trequestPathname !== undefined &&\n\t\t(!isRecord(userProps) || !('url' in userProps))\n\t\t\t? {\n\t\t\t\t\t...(userProps ?? {}),\n\t\t\t\t\turl: requestPathname\n\t\t\t\t}\n\t\t\t: userProps;\n\tconst pageId =\n\t\tinput.__absoluteMobile?.pageId ?? derivePageName(resolvedPagePath);\n\tconst currentContract =\n\t\tinput.__absoluteMobile?.contract ??\n\t\t`svelte:${pageId}:${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`;\n\tconst mobileResponse = finalizeAbsoluteMobilePage({\n\t\tcompatibility: {\n\t\t\tframework: 'svelte',\n\t\t\tpageId,\n\t\t\trepresentations: [\n\t\t\t\t{ contract: currentContract, mapProps: (props) => props }\n\t\t\t],\n\t\t\truntimes: [String(ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION)]\n\t\t},\n\t\tprops: resolvedProps ?? Object.create(null),\n\t\trequest\n\t});\n\tif (mobileResponse) return mobileResponse;\n\n\ttry {\n\t\tconst spaNotFound = await renderSpaNotFound(\n\t\t\t'svelte',\n\t\t\tderivePageName(resolvedPagePath),\n\t\t\trequest\n\t\t);\n\t\tif (spaNotFound) return withPageCacheHeaders(spaNotFound, request);\n\t\tconst handlerCallsite =\n\t\t\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t? undefined\n\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst resolvePageComponent =\n\t\t\t\tasync (): Promise<ResolvedSveltePage> => {\n\t\t\t\t\tconst loadCompiledSourcePath = async (\n\t\t\t\t\t\tsourcePath: string\n\t\t\t\t\t): Promise<ResolvedSveltePage> => {\n\t\t\t\t\t\tconst compiledModulePath =\n\t\t\t\t\t\t\tawait compileSvelteServerModule(sourcePath);\n\t\t\t\t\t\tconst loadedModule: unknown = await import(\n\t\t\t\t\t\t\tcompiledModulePath\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst loadedComponent =\n\t\t\t\t\t\t\treadDefaultExport(loadedModule) ?? loadedModule;\n\t\t\t\t\t\tif (!isGenericSvelteComponent(loadedComponent)) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Invalid compiled Svelte page module: ${sourcePath}`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcomponent: loadedComponent,\n\t\t\t\t\t\t\thasIslands: readHasIslands(loadedModule)\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\n\t\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\t\tresolvedPagePath\n\t\t\t\t\t);\n\t\t\t\t\tconst importedPageComponent =\n\t\t\t\t\t\treadDefaultExport(importedPageModule) ??\n\t\t\t\t\t\timportedPageModule;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof importedPageComponent === 'string' &&\n\t\t\t\t\t\timportedPageComponent.endsWith('.svelte')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn loadCompiledSourcePath(importedPageComponent);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!isGenericSvelteComponent(importedPageComponent)) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Invalid Svelte page module: ${resolvedPagePath}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcomponent: importedPageComponent,\n\t\t\t\t\t\thasIslands: readHasIslands(importedPageModule)\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\tconst { renderToReadableStream } = await import(\n\t\t\t\t'./renderToReadableStream'\n\t\t\t);\n\t\t\tconst resolvedPage = await resolvePageComponent();\n\n\t\t\t// Inline per-page compiled CSS so scoped styles ship in the\n\t\t\t// SSR head instead of loading after client hydration. Bun's\n\t\t\t// .svelte loader emits a sibling .css next to each SSR JS\n\t\t\t// during the server bundle pass; we read it here and stitch\n\t\t\t// it into headContent. See utils/inlinePageCss.\n\t\t\tconst siblingCss = await readSiblingCss(resolvedPagePath);\n\t\t\tconst cssBlock = siblingCss\n\t\t\t\t? `<style data-absolute-page-css>${siblingCss}</style>`\n\t\t\t\t: '';\n\t\t\tconst composedHeadContent = `${cssBlock}${\n\t\t\t\tresolvedOptions?.headContent ?? ''\n\t\t\t}`;\n\n\t\t\tconst stream = await renderToReadableStream(\n\t\t\t\tresolvedPage.component,\n\t\t\t\tresolvedProps,\n\t\t\t\t{\n\t\t\t\t\tbodyContent: resolvedOptions?.bodyContent,\n\t\t\t\t\tbootstrapScriptContent: `window.__ABS_SLOT_HYDRATION_PENDING__=true;window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\t\t\t\tresolvedProps\n\t\t\t\t\t)};${resolvedIndexPath ? `import(${JSON.stringify(resolvedIndexPath)});` : ''}`,\n\t\t\t\t\theadContent: composedHeadContent\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst htmlStream = injectIslandPageContextStream(stream, {\n\t\t\t\thasIslands: resolvedPage.hasIslands ? true : undefined\n\t\t\t});\n\t\t\tconst { firstChunk, reader } = await primeSvelteStream(htmlStream);\n\n\t\t\treturn new Response(restorePrimedStream(firstChunk, reader), {\n\t\t\t\theaders: streamingPageHeaders()\n\t\t\t});\n\t\t};\n\n\t\tconst pageResponse = await runWithStreamingSlotWarningScope(\n\t\t\t() =>\n\t\t\t\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, {\n\t\t\t\t\t\t\t...resolvedOptions,\n\t\t\t\t\t\t\truntimePlacement:\n\t\t\t\t\t\t\t\tresolvedOptions.runtimePlacement ?? 'body'\n\t\t\t\t\t\t})\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ handlerCallsite }\n\t\t);\n\n\t\treturn withPageCacheHeaders(pageResponse, request, {\n\t\t\tbufferStreamForEtag: input.bufferStreamForEtag\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] Svelte render error:', error);\n\n\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'svelte',\n\t\t\tpageName,\n\t\t\terror\n\t\t);\n\t\tif (conventionResponse) {\n\t\t\treturn withPageCacheHeaders(conventionResponse, request);\n\t\t}\n\n\t\treturn withPageCacheHeaders(\n\t\t\tnew Response(ssrErrorPage('svelte', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t}),\n\t\t\trequest\n\t\t);\n\t}\n};\n",
|
|
28
|
+
"import type { Component as SvelteComponent } from 'svelte';\nimport type { SveltePropsOf } from '../../types/svelte';\nimport { compileSvelteServerModule } from '../core/svelteServerModule';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport { getCurrentAbsoluteRequest } from '../core/requestContext';\nimport type { AbsoluteMobileBuildPageMetadata } from '../mobile/buildMetadata';\nimport {\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\tfinalizeAbsoluteMobilePage\n} from '../mobile/pageProtocol';\nimport {\n\tstreamingPageHeaders,\n\twithPageCacheHeaders\n} from '../core/pageResponseCache';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport { readSiblingCss } from '../utils/inlinePageCss';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport { renderSpaNotFound } from '../utils/spaRouteManifest';\nimport {\n\tderivePageName,\n\trenderConventionError\n} from '../utils/resolveConvention';\nimport { BROWSER_TRANSLATION_BASELINE_SCRIPT } from '../core/browserTranslation';\n\ntype GenericSvelteComponent = SvelteComponent<Record<string, unknown>>;\ntype ResolvedSveltePage = {\n\tcomponent: GenericSvelteComponent;\n\thasIslands: boolean;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isGenericSvelteComponent = (\n\tvalue: unknown\n): value is GenericSvelteComponent =>\n\ttypeof value === 'function' || isRecord(value);\n\nconst readHasIslands = (value: unknown) => {\n\tif (!isRecord(value)) return false;\n\tconst hasIslands = value['__ABSOLUTE_PAGE_HAS_ISLANDS__'];\n\n\treturn typeof hasIslands === 'boolean' ? hasIslands : false;\n};\n\nconst readDefaultExport = (value: unknown) =>\n\tisRecord(value) ? value.default : undefined;\n\nconst primeSvelteStream = async <T>(stream: ReadableStream<T>) => {\n\tconst reader = stream.getReader();\n\tconst firstChunk = await reader.read();\n\n\treturn { firstChunk, reader };\n};\n\nconst restorePrimedStream = <T>(\n\tfirstChunk: Awaited<ReturnType<ReadableStreamDefaultReader<T>['read']>>,\n\treader: ReadableStreamDefaultReader<T>\n) =>\n\tnew ReadableStream<T>({\n\t\tstart(controller) {\n\t\t\tif (!firstChunk.done) controller.enqueue(firstChunk.value);\n\t\t\tif (firstChunk.done) {\n\t\t\t\tcontroller.close();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst pumpLoop = () => {\n\t\t\t\treader\n\t\t\t\t\t.read()\n\t\t\t\t\t.then(({ done, value }) =>\n\t\t\t\t\t\tdone\n\t\t\t\t\t\t\t? controller.close()\n\t\t\t\t\t\t\t: (controller.enqueue(value), pumpLoop())\n\t\t\t\t\t)\n\t\t\t\t\t.catch((err) => controller.error(err));\n\t\t\t};\n\t\t\tpumpLoop();\n\t\t}\n\t});\n\nexport type SveltePageRenderOptions = {\n\tcollectStreamingSlots?: boolean;\n\tbodyContent?: string;\n\theadContent?: string;\n\t/** Buffer this page's stream so it can carry a content-hash `ETag` and\n\t * serve a `304` on repeat visits, at the cost of streaming's fast first\n\t * byte. Only worth it on pages static enough that the 304 beats the\n\t * stream. See {@link PageCacheOptions.bufferStreamForEtag}. */\n\tbufferStreamForEtag?: boolean;\n} & StreamingSlotEnhancerOptions;\n\ntype HasNoSvelteProps<Props> = [Props] extends [never]\n\t? true\n\t: keyof Props extends never\n\t\t? true\n\t\t: false;\n\nexport type SveltePageRequestInput<\n\tComponent extends SvelteComponent<never> = SvelteComponent<\n\t\tRecord<never, never>\n\t>\n> = SveltePageRenderOptions & {\n\t/** @internal Build-generated mobile identity. Application code must not set this. */\n\t__absoluteMobile?: AbsoluteMobileBuildPageMetadata;\n\tindexPath: string;\n\tpagePath: string;\n\t/** The incoming Elysia request. When provided, the request's pathname\n\t * is auto-injected into props as `url` so the page can pass it into\n\t * `<Router url={url}>` without the caller threading it by hand.\n\t * User-supplied `props.url` (if present) takes precedence. */\n\trequest?: Request;\n\t/** Sitemap metadata for this route. Statically read from the handler\n\t * source at registration time, so only literal-object values are\n\t * honoured. */\n\tsitemap?: import('../../types/sitemap').PageHandlerSitemapMetadata;\n} & (HasNoSvelteProps<SveltePropsOf<Component>> extends true\n\t\t? { props?: NoInfer<SveltePropsOf<Component>> }\n\t\t: { props: NoInfer<SveltePropsOf<Component>> });\n\nconst resolveRequestPathname = (request: Request | undefined) => {\n\tif (!request) return undefined;\n\n\ttry {\n\t\tconst parsed = new URL(request.url);\n\n\t\treturn `${parsed.pathname}${parsed.search}`;\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\nexport const handleSveltePageRequest = async <\n\tComponent extends SvelteComponent<never>\n>(\n\tinput: SveltePageRequestInput<Component>\n) => {\n\tconst resolvedIndexPath = input.indexPath;\n\tconst resolvedOptions = input;\n\tconst resolvedPagePath = input.pagePath;\n\tconst userProps = input.props;\n\tconst request = input.request ?? getCurrentAbsoluteRequest();\n\tconst requestPathname = resolveRequestPathname(request);\n\t// Auto-inject `url` from the request when the caller didn't already\n\t// pass one in props. Lets users wire `<Router url={url}>` just by\n\t// forwarding `request` instead of unwrapping it themselves.\n\tconst resolvedProps =\n\t\trequestPathname !== undefined &&\n\t\t(!isRecord(userProps) || !('url' in userProps))\n\t\t\t? {\n\t\t\t\t\t...(userProps ?? {}),\n\t\t\t\t\turl: requestPathname\n\t\t\t\t}\n\t\t\t: userProps;\n\tconst pageId =\n\t\tinput.__absoluteMobile?.pageId ?? derivePageName(resolvedPagePath);\n\tconst currentContract =\n\t\tinput.__absoluteMobile?.contract ??\n\t\t`svelte:${pageId}:${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`;\n\tconst mobileResponse = finalizeAbsoluteMobilePage({\n\t\tcompatibility: {\n\t\t\tframework: 'svelte',\n\t\t\tpageId,\n\t\t\trepresentations: [\n\t\t\t\t{ contract: currentContract, mapProps: (props) => props }\n\t\t\t],\n\t\t\truntimes: [String(ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION)]\n\t\t},\n\t\tprops: resolvedProps ?? Object.create(null),\n\t\trequest\n\t});\n\tif (mobileResponse) return mobileResponse;\n\n\ttry {\n\t\tconst spaNotFound = await renderSpaNotFound(\n\t\t\t'svelte',\n\t\t\tderivePageName(resolvedPagePath),\n\t\t\trequest\n\t\t);\n\t\tif (spaNotFound) return withPageCacheHeaders(spaNotFound, request);\n\t\tconst handlerCallsite =\n\t\t\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t? undefined\n\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst resolvePageComponent =\n\t\t\t\tasync (): Promise<ResolvedSveltePage> => {\n\t\t\t\t\tconst loadCompiledSourcePath = async (\n\t\t\t\t\t\tsourcePath: string\n\t\t\t\t\t): Promise<ResolvedSveltePage> => {\n\t\t\t\t\t\tconst compiledModulePath =\n\t\t\t\t\t\t\tawait compileSvelteServerModule(sourcePath);\n\t\t\t\t\t\tconst loadedModule: unknown = await import(\n\t\t\t\t\t\t\tcompiledModulePath\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst loadedComponent =\n\t\t\t\t\t\t\treadDefaultExport(loadedModule) ?? loadedModule;\n\t\t\t\t\t\tif (!isGenericSvelteComponent(loadedComponent)) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Invalid compiled Svelte page module: ${sourcePath}`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcomponent: loadedComponent,\n\t\t\t\t\t\t\thasIslands: readHasIslands(loadedModule)\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\n\t\t\t\t\tconst importedPageModule: unknown = await import(\n\t\t\t\t\t\tresolvedPagePath\n\t\t\t\t\t);\n\t\t\t\t\tconst importedPageComponent =\n\t\t\t\t\t\treadDefaultExport(importedPageModule) ??\n\t\t\t\t\t\timportedPageModule;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof importedPageComponent === 'string' &&\n\t\t\t\t\t\timportedPageComponent.endsWith('.svelte')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn loadCompiledSourcePath(importedPageComponent);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!isGenericSvelteComponent(importedPageComponent)) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Invalid Svelte page module: ${resolvedPagePath}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcomponent: importedPageComponent,\n\t\t\t\t\t\thasIslands: readHasIslands(importedPageModule)\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\tconst { renderToReadableStream } = await import(\n\t\t\t\t'./renderToReadableStream'\n\t\t\t);\n\t\t\tconst resolvedPage = await resolvePageComponent();\n\n\t\t\t// Inline per-page compiled CSS so scoped styles ship in the\n\t\t\t// SSR head instead of loading after client hydration. Bun's\n\t\t\t// .svelte loader emits a sibling .css next to each SSR JS\n\t\t\t// during the server bundle pass; we read it here and stitch\n\t\t\t// it into headContent. See utils/inlinePageCss.\n\t\t\tconst siblingCss = await readSiblingCss(resolvedPagePath);\n\t\t\tconst cssBlock = siblingCss\n\t\t\t\t? `<style data-absolute-page-css>${siblingCss}</style>`\n\t\t\t\t: '';\n\t\t\tconst composedHeadContent = `${cssBlock}${\n\t\t\t\tresolvedOptions?.headContent ?? ''\n\t\t\t}`;\n\n\t\t\tconst stream = await renderToReadableStream(\n\t\t\t\tresolvedPage.component,\n\t\t\t\tresolvedProps,\n\t\t\t\t{\n\t\t\t\t\tbodyContent: resolvedOptions?.bodyContent,\n\t\t\t\t\tbootstrapScriptContent: `${BROWSER_TRANSLATION_BASELINE_SCRIPT}window.__ABS_SLOT_HYDRATION_PENDING__=true;window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\t\t\t\tresolvedProps\n\t\t\t\t\t)};${resolvedIndexPath ? `import(${JSON.stringify(resolvedIndexPath)});` : ''}`,\n\t\t\t\t\theadContent: composedHeadContent\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tconst htmlStream = injectIslandPageContextStream(stream, {\n\t\t\t\thasIslands: resolvedPage.hasIslands ? true : undefined\n\t\t\t});\n\t\t\tconst { firstChunk, reader } = await primeSvelteStream(htmlStream);\n\n\t\t\treturn new Response(restorePrimedStream(firstChunk, reader), {\n\t\t\t\theaders: streamingPageHeaders()\n\t\t\t});\n\t\t};\n\n\t\tconst pageResponse = await runWithStreamingSlotWarningScope(\n\t\t\t() =>\n\t\t\t\tresolvedOptions?.collectStreamingSlots === true\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, {\n\t\t\t\t\t\t\t...resolvedOptions,\n\t\t\t\t\t\t\truntimePlacement:\n\t\t\t\t\t\t\t\tresolvedOptions.runtimePlacement ?? 'body'\n\t\t\t\t\t\t})\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ handlerCallsite }\n\t\t);\n\n\t\treturn withPageCacheHeaders(pageResponse, request, {\n\t\t\tbufferStreamForEtag: input.bufferStreamForEtag\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('[SSR] Svelte render error:', error);\n\n\t\tconst pageName = derivePageName(resolvedPagePath);\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'svelte',\n\t\t\tpageName,\n\t\t\terror\n\t\t);\n\t\tif (conventionResponse) {\n\t\t\treturn withPageCacheHeaders(conventionResponse, request);\n\t\t}\n\n\t\treturn withPageCacheHeaders(\n\t\t\tnew Response(ssrErrorPage('svelte', error), {\n\t\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\t\tstatus: 500\n\t\t\t}),\n\t\t\trequest\n\t\t);\n\t}\n};\n",
|
|
28
29
|
"const BOOTSTRAP_MANIFEST_KEY = 'BootstrapClient';\nconst ISLAND_MARKER = 'data-island=\"true\"';\nconst MANIFEST_MARKER = '__ABSOLUTE_MANIFEST__';\nconst ISLAND_STATE_MARKER = '__ABS_ISLAND_STATE__';\nconst CLOSING_HEAD_TAG = '</head>';\n\ndeclare global {\n\tvar __absoluteManifest: Record<string, string> | undefined;\n\tvar __ABS_ISLAND_STATE__:\n\t\t| Record<string, Record<string, unknown>>\n\t\t| undefined;\n}\n\nconst buildIslandsHeadMarkup = (manifest: Record<string, string>) => {\n\tconst manifestScript = `<script>window.__ABSOLUTE_MANIFEST__ = ${JSON.stringify(manifest)}</script>`;\n\tconst islandStateScript = `<script>window.__ABS_ISLAND_STATE__ = ${JSON.stringify(globalThis.__ABS_ISLAND_STATE__ ?? {})}</script>`;\n\tconst bootstrapPath = manifest[BOOTSTRAP_MANIFEST_KEY];\n\tconst bootstrapScript = bootstrapPath\n\t\t? `<script type=\"module\" src=\"${bootstrapPath}\"></script>`\n\t\t: '';\n\n\treturn `${manifestScript}${islandStateScript}${bootstrapScript}`;\n};\n\nconst injectHeadMarkup = (html: string, markup: string) => {\n\tconst closingHeadIndex = html.indexOf('</head>');\n\tif (closingHeadIndex >= 0) {\n\t\treturn `${html.slice(0, closingHeadIndex)}${markup}${html.slice(closingHeadIndex)}`;\n\t}\n\n\tconst openingBodyIndex = html.indexOf('<body');\n\tif (openingBodyIndex >= 0) {\n\t\tconst bodyStart = html.indexOf('>', openingBodyIndex);\n\t\tif (bodyStart >= 0) {\n\t\t\treturn `${html.slice(0, openingBodyIndex)}<head>${markup}</head>${html.slice(openingBodyIndex)}`;\n\t\t}\n\t}\n\n\treturn `<!DOCTYPE html><html><head>${markup}</head><body>${html}</body></html>`;\n};\n\nconst streamChunkToString = (\n\tvalue: string | Uint8Array,\n\tdecoder: TextDecoder\n) =>\n\ttypeof value === 'string' ? value : decoder.decode(value, { stream: true });\n\nconst flushSafePendingText = (\n\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\tencoder: TextEncoder,\n\tpending: string,\n\tlookbehind: number\n) => {\n\tif (pending.length <= lookbehind) {\n\t\treturn pending;\n\t}\n\n\tconst safeText = pending.slice(0, pending.length - lookbehind);\n\tcontroller.enqueue(encoder.encode(safeText));\n\n\treturn pending.slice(-lookbehind);\n};\n\nconst updateInjectedState = (\n\tconsumed: { done: boolean; injected: boolean; pending: string },\n\tinjected: boolean,\n\tpending: string\n) => {\n\tif (consumed.done) {\n\t\treturn { done: true, injected, pending };\n\t}\n\n\treturn {\n\t\tdone: false,\n\t\tinjected: consumed.injected,\n\t\tpending: consumed.pending\n\t};\n};\n\nconst readStreamChunk = async (\n\treader: ReadableStreamDefaultReader<string | Uint8Array>\n) => {\n\tconst { done, value } = await reader.read();\n\tif (done || !value) {\n\t\treturn { done, value: undefined };\n\t}\n\n\treturn { done, value };\n};\n\nconst pipeStreamWithHeadInjection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst lookbehind = CLOSING_HEAD_TAG.length - 1;\n\tconst processPending = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tif (injected) {\n\t\t\tcontroller.enqueue(encoder.encode(pending));\n\n\t\t\treturn { injected, pending: '' };\n\t\t}\n\n\t\tconst headIndex = pending.indexOf(CLOSING_HEAD_TAG);\n\t\tif (headIndex >= 0) {\n\t\t\tconst next = `${pending.slice(0, headIndex)}${markup}${pending.slice(headIndex)}`;\n\t\t\tcontroller.enqueue(encoder.encode(next));\n\n\t\t\treturn { injected: true, pending: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tinjected,\n\t\t\tpending: flushSafePendingText(\n\t\t\t\tcontroller,\n\t\t\t\tencoder,\n\t\t\t\tpending,\n\t\t\t\tlookbehind\n\t\t\t)\n\t\t};\n\t};\n\tconst finishHeadInjectionStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tlet finalPending = pending + decoder.decode();\n\t\tif (!injected) {\n\t\t\tfinalPending = injectHeadMarkup(finalPending, markup);\n\t\t}\n\t\tif (finalPending.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(finalPending));\n\t\t}\n\t\tcontroller.close();\n\t};\n\tconst consumeHeadChunk = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>,\n\t\tpending: string,\n\t\tinjected: boolean\n\t) => {\n\t\tconst { done, value } = await readStreamChunk(reader);\n\t\tif (done || !value) {\n\t\t\treturn { done, injected, pending };\n\t\t}\n\n\t\tconst processed = processPending(\n\t\t\tcontroller,\n\t\t\tpending + streamChunkToString(value, decoder),\n\t\t\tinjected\n\t\t);\n\n\t\treturn {\n\t\t\tdone,\n\t\t\tinjected: processed.injected,\n\t\t\tpending: processed.pending\n\t\t};\n\t};\n\tconst runHeadInjectionLoop = async (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNextHeadChunk = async (\n\t\t\tinjected: boolean,\n\t\t\tpending: string\n\t\t) => {\n\t\t\tconst consumed = await consumeHeadChunk(\n\t\t\t\tcontroller,\n\t\t\t\treader,\n\t\t\t\tpending,\n\t\t\t\tinjected\n\t\t\t);\n\t\t\tconst nextState = updateInjectedState(consumed, injected, pending);\n\t\t\tif (nextState.done) {\n\t\t\t\treturn { injected, pending };\n\t\t\t}\n\n\t\t\treturn consumeNextHeadChunk(nextState.injected, nextState.pending);\n\t\t};\n\n\t\treturn consumeNextHeadChunk(false, '');\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst { injected, pending } = await runHeadInjectionLoop(\n\t\t\t\t\tcontroller,\n\t\t\t\t\treader\n\t\t\t\t);\n\t\t\t\tfinishHeadInjectionStream(controller, pending, injected);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\n// `held` is the buffer kept from `</head>` onward once `sawHead` is true;\n// `pending` is the not-yet-flushed text before `</head>`; `injected` flips on\n// once the scripts have been emitted and the rest can stream straight through.\ntype IslandMarkerStreamState = {\n\theld: string;\n\tinjected: boolean;\n\tpending: string;\n\tsawHead: boolean;\n};\n\n// Streaming injector for pages whose island presence isn't known up front.\n// The manifest/state/bootstrap scripts must land in `<head>` — React 19\n// tolerates hoistable elements (scripts/links/…) there during hydration, but\n// injecting them inline in the body (e.g. just before the first island marker)\n// makes them a sibling inside a host-React-rendered element, which breaks\n// hydration with a structural mismatch. `</head>` is streamed before any body\n// island, so we flush the head immediately, then hold from `</head>` onward\n// until we can confirm whether the body actually contains an island. If it\n// does, we inject right before the held `</head>`; if it doesn't, we flush the\n// held content untouched so island-free pages don't pull in the runtime.\nconst pipeStreamWithIslandMarkerDetection = (\n\tstream: ReadableStream<string | Uint8Array>,\n\tmarkup: string\n) => {\n\tconst encoder = new TextEncoder();\n\tconst decoder = new TextDecoder();\n\tconst headLookbehind = CLOSING_HEAD_TAG.length - 1;\n\n\tconst enqueue = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\ttext: string\n\t) => {\n\t\tif (text.length > 0) {\n\t\t\tcontroller.enqueue(encoder.encode(text));\n\t\t}\n\t};\n\t// From `</head>` onward: hold until an island marker confirms the page has\n\t// islands, then inject the scripts just before the held `</head>`.\n\tconst processHolding = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\theld: string\n\t) => {\n\t\tif (!held.includes(ISLAND_MARKER)) {\n\t\t\treturn { held, injected: false, pending: '', sawHead: true };\n\t\t}\n\t\tenqueue(controller, `${markup}${held}`);\n\n\t\treturn { held: '', injected: true, pending: '', sawHead: true };\n\t};\n\t// Before `</head>`: flush safe text and watch for the head close tag.\n\tconst processHead = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tpending: string\n\t) => {\n\t\tconst headIndex = pending.indexOf(CLOSING_HEAD_TAG);\n\t\tif (headIndex < 0) {\n\t\t\treturn {\n\t\t\t\theld: '',\n\t\t\t\tinjected: false,\n\t\t\t\tpending: flushSafePendingText(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tencoder,\n\t\t\t\t\tpending,\n\t\t\t\t\theadLookbehind\n\t\t\t\t),\n\t\t\t\tsawHead: false\n\t\t\t};\n\t\t}\n\t\tenqueue(controller, pending.slice(0, headIndex));\n\n\t\treturn processHolding(controller, pending.slice(headIndex));\n\t};\n\tconst processChunk = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tstate: IslandMarkerStreamState,\n\t\tchunk: string\n\t) => {\n\t\tif (state.injected) {\n\t\t\tenqueue(controller, chunk);\n\n\t\t\treturn state;\n\t\t}\n\t\tif (!state.sawHead) {\n\t\t\treturn processHead(controller, state.pending + chunk);\n\t\t}\n\n\t\treturn processHolding(controller, state.held + chunk);\n\t};\n\tconst finishMarkerStream = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\tstate: IslandMarkerStreamState\n\t) => {\n\t\tconst tail = decoder.decode();\n\t\t// `injected` → tail only; `sawHead` (held, no islands) → flush as-is;\n\t\t// otherwise no `</head>` was ever seen, so pass the buffer through.\n\t\tconst remainder = state.injected\n\t\t\t? tail\n\t\t\t: (state.sawHead ? state.held : state.pending) + tail;\n\t\tenqueue(controller, remainder);\n\t\tcontroller.close();\n\t};\n\tconst runMarkerLoop = (\n\t\tcontroller: ReadableStreamDefaultController<Uint8Array>,\n\t\treader: ReadableStreamDefaultReader<string | Uint8Array>\n\t) => {\n\t\tconst consumeNext = async (state: IslandMarkerStreamState) => {\n\t\t\tconst { done, value } = await readStreamChunk(reader);\n\t\t\tif (done || !value) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\treturn consumeNext(\n\t\t\t\tprocessChunk(\n\t\t\t\t\tcontroller,\n\t\t\t\t\tstate,\n\t\t\t\t\tstreamChunkToString(value, decoder)\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\n\t\treturn consumeNext({\n\t\t\theld: '',\n\t\t\tinjected: false,\n\t\t\tpending: '',\n\t\t\tsawHead: false\n\t\t});\n\t};\n\n\treturn new ReadableStream<Uint8Array>({\n\t\tasync start(controller) {\n\t\t\tconst reader = stream.getReader();\n\n\t\t\ttry {\n\t\t\t\tconst finalState = await runMarkerLoop(controller, reader);\n\t\t\t\tfinishMarkerStream(controller, finalState);\n\t\t\t} catch (error) {\n\t\t\t\tcontroller.error(error);\n\t\t\t}\n\t\t}\n\t});\n};\n\nexport const htmlContainsIslands = (html: string) =>\n\thtml.includes(ISLAND_MARKER);\nexport const injectIslandPageContext = (\n\thtml: string,\n\toptions?: { hasIslands?: boolean }\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tconst hasIslands = options?.hasIslands ?? htmlContainsIslands(html);\n\tif (!manifest || !hasIslands) {\n\t\treturn html;\n\t}\n\n\tif (html.includes(MANIFEST_MARKER) || html.includes(ISLAND_STATE_MARKER)) {\n\t\treturn html;\n\t}\n\n\treturn injectHeadMarkup(html, buildIslandsHeadMarkup(manifest));\n};\n\nexport const injectIslandPageContextStream = (\n\tstream: ReadableStream<string | Uint8Array>,\n\toptions?: { hasIslands?: boolean }\n) => {\n\tconst manifest = globalThis.__absoluteManifest;\n\tif (!manifest) return stream;\n\tconst markup = buildIslandsHeadMarkup(manifest);\n\n\tif (options?.hasIslands === true) {\n\t\treturn pipeStreamWithHeadInjection(stream, markup);\n\t}\n\tif (options?.hasIslands === false) {\n\t\treturn stream;\n\t}\n\n\treturn pipeStreamWithIslandMarkerDetection(stream, markup);\n};\nexport const setCurrentIslandManifest = (manifest: Record<string, string>) => {\n\tglobalThis.__absoluteManifest = manifest;\n};\n",
|
|
29
30
|
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { Elysia } from 'elysia';\n\ntype AbsoluteRequestStore = { request: Request };\ntype AbsoluteRequestStorage = AsyncLocalStorage<AbsoluteRequestStore>;\n\nconst REQUEST_STORAGE_KEY = Symbol.for('absolutejs.requestAsyncLocalStorage');\n\nconst isAbsoluteRequestStorage = (\n\tvalue: unknown\n): value is AbsoluteRequestStorage =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getRequestStorage = () => {\n\tconst value = Reflect.get(globalThis, REQUEST_STORAGE_KEY);\n\n\treturn isAbsoluteRequestStorage(value) ? value : undefined;\n};\n\nconst ensureRequestStorage = () => {\n\tconst existing = getRequestStorage();\n\tif (existing) return existing;\n\n\tconst storage = new AsyncLocalStorage<AbsoluteRequestStore>();\n\tReflect.set(globalThis, REQUEST_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nexport const absoluteRequestContext = new Elysia({\n\tname: 'absolutejs-request-context'\n})\n\t.request(({ request }) => {\n\t\tensureRequestStorage().enterWith({ request });\n\t})\n\t.as('global');\nexport const getCurrentAbsoluteRequest = () =>\n\tgetRequestStorage()?.getStore()?.request;\nexport const runWithAbsoluteRequest = <Result>(\n\trequest: Request,\n\tcallback: () => Result\n) => ensureRequestStorage().run({ request }, callback);\n",
|
|
30
31
|
"import type { AbsoluteMobileCompatibilityPage } from './releaseArtifact';\n\nexport type AbsoluteMobileProducerContext = {\n\tpage: AbsoluteMobileCompatibilityPage;\n\treleaseId: string;\n};\n\nexport const ABSOLUTE_MOBILE_PRODUCER_STORAGE_KEY = Symbol.for(\n\t'absolutejs.mobileProducerAsyncLocalStorage'\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 isCompatibilityPage = (\n\tvalue: unknown\n): value is AbsoluteMobileCompatibilityPage =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t'bundleHash' in value &&\n\ttypeof value.bundleHash === 'string' &&\n\t'contract' in value &&\n\ttypeof value.contract === 'string' &&\n\t'framework' in value &&\n\ttypeof value.framework === 'string' &&\n\tframeworks.has(value.framework) &&\n\t'pageId' in value &&\n\ttypeof value.pageId === 'string' &&\n\t'propsSchemaHash' in value &&\n\ttypeof value.propsSchemaHash === 'string';\n\nexport const getCurrentAbsoluteMobileProducerContext = () => {\n\tconst value: unknown = Reflect.get(\n\t\tglobalThis,\n\t\tABSOLUTE_MOBILE_PRODUCER_STORAGE_KEY\n\t);\n\tif (\n\t\ttypeof value !== 'object' ||\n\t\tvalue === null ||\n\t\t!('getStore' in value) ||\n\t\ttypeof value.getStore !== 'function'\n\t) {\n\t\treturn undefined;\n\t}\n\tconst context: unknown = value.getStore();\n\tif (\n\t\ttypeof context !== 'object' ||\n\t\tcontext === null ||\n\t\t!('page' in context) ||\n\t\t!isCompatibilityPage(context.page) ||\n\t\t!('releaseId' in context) ||\n\t\ttypeof context.releaseId !== 'string'\n\t) {\n\t\treturn undefined;\n\t}\n\n\treturn { page: context.page, releaseId: context.releaseId };\n};\n",
|
|
31
|
-
"import {\n\tgetCurrentAbsoluteMobileProducerContext,\n\ttype AbsoluteMobileProducerContext\n} from './producerContextState';\n\nexport const ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE =\n\t'application/vnd.absolute.page+json';\nexport const ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION = 1 as const;\nconst BAD_REQUEST_STATUS = 400;\nconst OK_STATUS = 200;\nconst SERVER_ERROR_STATUS = 500;\nconst UPGRADE_REQUIRED_STATUS = 426;\n\nexport const MOBILE_PAGE_REQUEST_HEADERS = {\n\tappBuild: 'x-absolute-mobile-app-build',\n\tpageBundle: 'x-absolute-mobile-page-bundle',\n\tpageContracts: 'x-absolute-mobile-page-contracts',\n\tpageId: 'x-absolute-mobile-page-id',\n\tprotocol: 'x-absolute-mobile-protocol',\n\truntime: 'x-absolute-mobile-runtime'\n} as const;\n\nexport type AbsoluteMobilePageFramework =\n\t| 'angular'\n\t| 'ember'\n\t| 'html'\n\t| 'htmx'\n\t| 'react'\n\t| 'svelte'\n\t| 'vue';\n\nexport type AbsoluteMobilePageClient = {\n\tappBuild: string;\n\tpageBundle: string;\n\tpageContracts: string[];\n\tpageId: string;\n\tprotocol: number;\n\truntime: string;\n};\n\nexport type AbsoluteMobilePageRepresentation<Props> = {\n\t/** Stable data contract understood by an embedded page bundle. */\n\tcontract: string;\n\t/**\n\t * Adapts the current route props to an older compatible contract. The\n\t * current representation normally uses the identity function.\n\t */\n\tmapProps: (props: Props) => Record<string, unknown>;\n};\n\nexport type AbsoluteMobilePageCompatibility<Props> = {\n\tframework: AbsoluteMobilePageFramework;\n\tpageId: string;\n\t/** Newest representation first, followed by retained compatibility forms. */\n\trepresentations: readonly AbsoluteMobilePageRepresentation<Props>[];\n\t/** Current runtime plus every retained compatible runtime generation. */\n\truntimes: readonly string[];\n};\n\nexport type AbsoluteMobilePageResult = {\n\tkind: 'page';\n\tcontract: string;\n\tframework: AbsoluteMobilePageFramework;\n\tpageId: string;\n\tprops: Record<string, unknown>;\n\tstatus: number;\n};\n\nexport type AbsoluteMobileUpgradeReason =\n\t| 'app-release'\n\t| 'page-contract'\n\t| 'protocol'\n\t| 'runtime';\n\nexport type AbsoluteMobileUpgradeRequiredResult = {\n\tkind: 'upgrade-required';\n\treason: AbsoluteMobileUpgradeReason;\n\tpageId: string;\n\tsupportedContracts?: string[];\n\tsupportedRuntimes?: string[];\n};\n\nexport type AbsoluteMobileInvalidRequestResult = {\n\tkind: 'invalid-request';\n\tmessage: string;\n};\n\nexport type AbsoluteMobilePageErrorResult = {\n\tcode: 'representation-failed';\n\tkind: 'error';\n\tpageId: string;\n\tstatus: typeof SERVER_ERROR_STATUS;\n};\n\nexport type AbsoluteMobilePageEnvelope = {\n\tprotocol: typeof ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION;\n\tresponse:\n\t\t| AbsoluteMobilePageErrorResult\n\t\t| AbsoluteMobileInvalidRequestResult\n\t\t| AbsoluteMobilePageResult\n\t\t| AbsoluteMobileUpgradeRequiredResult;\n};\n\ntype ParsedMobilePageRequest =\n\t| { kind: 'not-mobile' }\n\t| { kind: 'invalid'; message: string }\n\t| { kind: 'mobile'; client: AbsoluteMobilePageClient };\n\ntype FinalizeAbsoluteMobilePageInput<Props> = {\n\tcompatibility: AbsoluteMobilePageCompatibility<Props>;\n\tprops: Props;\n\trequest: Request | undefined;\n\tstatus?: number;\n};\n\nconst parseMediaType = (value: string) =>\n\tvalue.split(';', 1)[0]?.trim().toLowerCase();\n\nexport const acceptsAbsoluteMobilePage = (request: Request | undefined) => {\n\tif (!request) return false;\n\n\treturn (request.headers.get('accept') ?? '')\n\t\t.split(',')\n\t\t.some(\n\t\t\t(value) => parseMediaType(value) === ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE\n\t\t);\n};\n\nconst readRequiredHeader = (request: Request, name: string) => {\n\tconst value = request.headers.get(name)?.trim();\n\n\treturn value ? value : undefined;\n};\n\nexport const parseAbsoluteMobilePageRequest = (\n\trequest: Request | undefined\n): ParsedMobilePageRequest => {\n\tif (!request || !acceptsAbsoluteMobilePage(request)) {\n\t\treturn { kind: 'not-mobile' };\n\t}\n\n\tconst protocolValue = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.protocol\n\t);\n\tconst runtime = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.runtime\n\t);\n\tconst appBuild = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.appBuild\n\t);\n\tconst pageBundle = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.pageBundle\n\t);\n\tconst pageContractsValue = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.pageContracts\n\t);\n\tconst pageId = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.pageId\n\t);\n\n\tif (!protocolValue || !/^\\d+$/.test(protocolValue)) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing or invalid ${MOBILE_PAGE_REQUEST_HEADERS.protocol} header.`\n\t\t};\n\t}\n\tif (!runtime) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.runtime} header.`\n\t\t};\n\t}\n\tif (!appBuild) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.appBuild} header.`\n\t\t};\n\t}\n\tif (!pageBundle) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.pageBundle} header.`\n\t\t};\n\t}\n\tif (!pageContractsValue) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.pageContracts} header.`\n\t\t};\n\t}\n\tif (!pageId) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.pageId} header.`\n\t\t};\n\t}\n\n\tconst pageContracts = [\n\t\t...new Set(\n\t\t\tpageContractsValue\n\t\t\t\t.split(',')\n\t\t\t\t.map((value) => value.trim())\n\t\t\t\t.filter(Boolean)\n\t\t)\n\t];\n\tif (pageContracts.length === 0) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `${MOBILE_PAGE_REQUEST_HEADERS.pageContracts} must contain at least one contract.`\n\t\t};\n\t}\n\n\treturn {\n\t\tclient: {\n\t\t\tappBuild,\n\t\t\tpageBundle,\n\t\t\tpageContracts,\n\t\t\tpageId,\n\t\t\tprotocol: Number(protocolValue),\n\t\t\truntime\n\t\t},\n\t\tkind: 'mobile'\n\t};\n};\n\nconst responseHeaders = () => {\n\tconst headers = new Headers({\n\t\t'cache-control': 'no-store',\n\t\t'content-type': `${ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE}; version=${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`\n\t});\n\theaderVaryValues.forEach((value) => headers.append('vary', value));\n\n\treturn headers;\n};\n\nconst headerVaryValues = [\n\t'Accept',\n\tMOBILE_PAGE_REQUEST_HEADERS.protocol,\n\tMOBILE_PAGE_REQUEST_HEADERS.runtime,\n\tMOBILE_PAGE_REQUEST_HEADERS.appBuild,\n\tMOBILE_PAGE_REQUEST_HEADERS.pageBundle,\n\tMOBILE_PAGE_REQUEST_HEADERS.pageContracts,\n\tMOBILE_PAGE_REQUEST_HEADERS.pageId\n];\n\nconst envelopeResponse = (\n\tresponse: AbsoluteMobilePageEnvelope['response'],\n\tstatus: number\n) =>\n\tnew Response(\n\t\tJSON.stringify({\n\t\t\tprotocol: ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\t\t\tresponse\n\t\t} satisfies AbsoluteMobilePageEnvelope),\n\t\t{ headers: responseHeaders(), status }\n\t);\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst normalizeJsonValue = (value: Record<string, unknown>) => {\n\tconst serialized = JSON.stringify(value);\n\tif (serialized === undefined) {\n\t\tthrow new TypeError('Mobile page props must be JSON-serializable.');\n\t}\n\n\tconst parsed: unknown = JSON.parse(serialized);\n\tif (!isRecord(parsed)) {\n\t\tthrow new TypeError('Mobile page props must serialize to an object.');\n\t}\n\n\treturn parsed;\n};\n\nconst finalizeArchivedMobilePage = <Props>(\n\tcontext: AbsoluteMobileProducerContext,\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => {\n\tconst { page } = context;\n\tif (\n\t\tpage.pageId !== input.compatibility.pageId ||\n\t\tpage.framework !== input.compatibility.framework\n\t) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'invalid-request',\n\t\t\t\tmessage:\n\t\t\t\t\t'Archived producer page identity does not match its release artifact.'\n\t\t\t},\n\t\t\tBAD_REQUEST_STATUS\n\t\t);\n\t}\n\n\ttry {\n\t\tconst [currentRepresentation] = input.compatibility.representations;\n\t\tif (!currentRepresentation) {\n\t\t\tthrow new TypeError('Mobile page has no current representation.');\n\t\t}\n\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tcontract: page.contract,\n\t\t\t\tframework: page.framework,\n\t\t\t\tkind: 'page',\n\t\t\t\tpageId: page.pageId,\n\t\t\t\tprops: normalizeJsonValue(\n\t\t\t\t\tcurrentRepresentation.mapProps(input.props)\n\t\t\t\t),\n\t\t\t\tstatus: input.status ?? OK_STATUS\n\t\t\t},\n\t\t\tinput.status ?? OK_STATUS\n\t\t);\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[Mobile] Archived producer ${context.releaseId} failed for ${page.pageId}:`,\n\t\t\terror\n\t\t);\n\n\t\treturn createAbsoluteMobilePageErrorResponse(page.pageId);\n\t}\n};\n\nexport const createAbsoluteMobileInvalidRequestResponse = (message: string) =>\n\tenvelopeResponse({ kind: 'invalid-request', message }, BAD_REQUEST_STATUS);\n\nexport const createAbsoluteMobilePageErrorResponse = (pageId: string) =>\n\tenvelopeResponse(\n\t\t{\n\t\t\tcode: 'representation-failed',\n\t\t\tkind: 'error',\n\t\t\tpageId,\n\t\t\tstatus: SERVER_ERROR_STATUS\n\t\t},\n\t\tSERVER_ERROR_STATUS\n\t);\n\nexport const createAbsoluteMobileUpgradeResponse = (\n\tresult: AbsoluteMobileUpgradeRequiredResult\n) => envelopeResponse(result, UPGRADE_REQUIRED_STATUS);\n\nexport const finalizeAbsoluteMobilePage = <Props>(\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => {\n\tconst parsed = parseAbsoluteMobilePageRequest(input.request);\n\tif (parsed.kind === 'not-mobile') return undefined;\n\tif (parsed.kind === 'invalid') {\n\t\treturn envelopeResponse(\n\t\t\t{ kind: 'invalid-request', message: parsed.message },\n\t\t\tBAD_REQUEST_STATUS\n\t\t);\n\t}\n\n\tconst { client } = parsed;\n\tif (client.pageId !== input.compatibility.pageId) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'invalid-request',\n\t\t\t\tmessage: `Requested mobile page ${client.pageId} does not match ${input.compatibility.pageId}.`\n\t\t\t},\n\t\t\tBAD_REQUEST_STATUS\n\t\t);\n\t}\n\tconst producerContext = getCurrentAbsoluteMobileProducerContext();\n\tif (producerContext)\n\t\treturn finalizeArchivedMobilePage(producerContext, input);\n\tif (client.protocol !== ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'upgrade-required',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\treason: 'protocol'\n\t\t\t},\n\t\t\tUPGRADE_REQUIRED_STATUS\n\t\t);\n\t}\n\tif (!input.compatibility.runtimes.includes(client.runtime)) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'upgrade-required',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\treason: 'runtime',\n\t\t\t\tsupportedRuntimes: [...input.compatibility.runtimes]\n\t\t\t},\n\t\t\tUPGRADE_REQUIRED_STATUS\n\t\t);\n\t}\n\n\tconst clientContracts = new Set(client.pageContracts);\n\tconst representation = input.compatibility.representations.find(\n\t\t({ contract }) => clientContracts.has(contract)\n\t);\n\tif (!representation) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'upgrade-required',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\treason: 'page-contract',\n\t\t\t\tsupportedContracts: input.compatibility.representations.map(\n\t\t\t\t\t({ contract }) => contract\n\t\t\t\t)\n\t\t\t},\n\t\t\tUPGRADE_REQUIRED_STATUS\n\t\t);\n\t}\n\n\ttry {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tcontract: representation.contract,\n\t\t\t\tframework: input.compatibility.framework,\n\t\t\t\tkind: 'page',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\tprops: normalizeJsonValue(representation.mapProps(input.props)),\n\t\t\t\tstatus: input.status ?? OK_STATUS\n\t\t\t},\n\t\t\tinput.status ?? OK_STATUS\n\t\t);\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[Mobile] Failed to produce ${input.compatibility.pageId} representation ${representation.contract}:`,\n\t\t\terror\n\t\t);\n\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tcode: 'representation-failed',\n\t\t\t\tkind: 'error',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\tstatus: SERVER_ERROR_STATUS\n\t\t\t},\n\t\t\tSERVER_ERROR_STATUS\n\t\t);\n\t}\n};\n",
|
|
32
|
+
"import {\n\tgetCurrentAbsoluteMobileProducerContext,\n\ttype AbsoluteMobileProducerContext\n} from './producerContextState';\n\nexport const ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE =\n\t'application/vnd.absolute.page+json';\nexport const ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION = 1 as const;\nexport const ABSOLUTE_NATIVE_ROUTE_DATA_MEDIA_TYPE =\n\t'application/vnd.absolute.native-route+json';\nconst BAD_REQUEST_STATUS = 400;\nconst OK_STATUS = 200;\nconst SERVER_ERROR_STATUS = 500;\nconst UPGRADE_REQUIRED_STATUS = 426;\n\nexport const MOBILE_PAGE_REQUEST_HEADERS = {\n\tappBuild: 'x-absolute-mobile-app-build',\n\tpageBundle: 'x-absolute-mobile-page-bundle',\n\tpageContracts: 'x-absolute-mobile-page-contracts',\n\tpageId: 'x-absolute-mobile-page-id',\n\tprotocol: 'x-absolute-mobile-protocol',\n\truntime: 'x-absolute-mobile-runtime'\n} as const;\n\nexport type AbsoluteMobilePageFramework =\n\t| 'angular'\n\t| 'ember'\n\t| 'html'\n\t| 'htmx'\n\t| 'react'\n\t| 'svelte'\n\t| 'vue';\n\nexport type AbsoluteMobilePageClient = {\n\tappBuild: string;\n\tpageBundle: string;\n\tpageContracts: string[];\n\tpageId: string;\n\tprotocol: number;\n\truntime: string;\n};\n\nexport type AbsoluteMobilePageRepresentation<Props> = {\n\t/** Stable data contract understood by an embedded page bundle. */\n\tcontract: string;\n\t/**\n\t * Adapts the current route props to an older compatible contract. The\n\t * current representation normally uses the identity function.\n\t */\n\tmapProps: (props: Props) => Record<string, unknown>;\n};\n\nexport type AbsoluteMobilePageCompatibility<Props> = {\n\tframework: AbsoluteMobilePageFramework;\n\tpageId: string;\n\t/** Newest representation first, followed by retained compatibility forms. */\n\trepresentations: readonly AbsoluteMobilePageRepresentation<Props>[];\n\t/** Current runtime plus every retained compatible runtime generation. */\n\truntimes: readonly string[];\n};\n\nexport type AbsoluteMobilePageResult = {\n\tkind: 'page';\n\tcontract: string;\n\tframework: AbsoluteMobilePageFramework;\n\tpageId: string;\n\tprops: Record<string, unknown>;\n\tstatus: number;\n};\n\nexport type AbsoluteMobileUpgradeReason =\n\t| 'app-release'\n\t| 'page-contract'\n\t| 'protocol'\n\t| 'runtime';\n\nexport type AbsoluteMobileUpgradeRequiredResult = {\n\tkind: 'upgrade-required';\n\treason: AbsoluteMobileUpgradeReason;\n\tpageId: string;\n\tsupportedContracts?: string[];\n\tsupportedRuntimes?: string[];\n};\n\nexport type AbsoluteMobileInvalidRequestResult = {\n\tkind: 'invalid-request';\n\tmessage: string;\n};\n\nexport type AbsoluteMobilePageErrorResult = {\n\tcode: 'representation-failed';\n\tkind: 'error';\n\tpageId: string;\n\tstatus: typeof SERVER_ERROR_STATUS;\n};\n\nexport type AbsoluteMobilePageEnvelope = {\n\tprotocol: typeof ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION;\n\tresponse:\n\t\t| AbsoluteMobilePageErrorResult\n\t\t| AbsoluteMobileInvalidRequestResult\n\t\t| AbsoluteMobilePageResult\n\t\t| AbsoluteMobileUpgradeRequiredResult;\n};\n\ntype ParsedMobilePageRequest =\n\t| { kind: 'not-mobile' }\n\t| { kind: 'invalid'; message: string }\n\t| { kind: 'mobile'; client: AbsoluteMobilePageClient };\n\ntype FinalizeAbsoluteMobilePageInput<Props> = {\n\tcompatibility: AbsoluteMobilePageCompatibility<Props>;\n\tprops: Props;\n\trequest: Request | undefined;\n\tstatus?: number;\n};\n\nconst parseMediaType = (value: string) =>\n\tvalue.split(';', 1)[0]?.trim().toLowerCase();\n\nexport const acceptsAbsoluteMobilePage = (request: Request | undefined) => {\n\tif (!request) return false;\n\n\treturn (request.headers.get('accept') ?? '')\n\t\t.split(',')\n\t\t.some(\n\t\t\t(value) => parseMediaType(value) === ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE\n\t\t);\n};\n\nexport const acceptsAbsoluteNativeRouteData = (\n\trequest: Request | undefined\n) => {\n\tif (!request) return false;\n\n\treturn (request.headers.get('accept') ?? '')\n\t\t.split(',')\n\t\t.some(\n\t\t\t(value) =>\n\t\t\t\tparseMediaType(value) === ABSOLUTE_NATIVE_ROUTE_DATA_MEDIA_TYPE\n\t\t);\n};\n\nconst readRequiredHeader = (request: Request, name: string) => {\n\tconst value = request.headers.get(name)?.trim();\n\n\treturn value ? value : undefined;\n};\n\nexport const parseAbsoluteMobilePageRequest = (\n\trequest: Request | undefined\n): ParsedMobilePageRequest => {\n\tif (!request || !acceptsAbsoluteMobilePage(request)) {\n\t\treturn { kind: 'not-mobile' };\n\t}\n\n\tconst protocolValue = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.protocol\n\t);\n\tconst runtime = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.runtime\n\t);\n\tconst appBuild = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.appBuild\n\t);\n\tconst pageBundle = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.pageBundle\n\t);\n\tconst pageContractsValue = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.pageContracts\n\t);\n\tconst pageId = readRequiredHeader(\n\t\trequest,\n\t\tMOBILE_PAGE_REQUEST_HEADERS.pageId\n\t);\n\n\tif (!protocolValue || !/^\\d+$/.test(protocolValue)) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing or invalid ${MOBILE_PAGE_REQUEST_HEADERS.protocol} header.`\n\t\t};\n\t}\n\tif (!runtime) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.runtime} header.`\n\t\t};\n\t}\n\tif (!appBuild) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.appBuild} header.`\n\t\t};\n\t}\n\tif (!pageBundle) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.pageBundle} header.`\n\t\t};\n\t}\n\tif (!pageContractsValue) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.pageContracts} header.`\n\t\t};\n\t}\n\tif (!pageId) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `Missing ${MOBILE_PAGE_REQUEST_HEADERS.pageId} header.`\n\t\t};\n\t}\n\n\tconst pageContracts = [\n\t\t...new Set(\n\t\t\tpageContractsValue\n\t\t\t\t.split(',')\n\t\t\t\t.map((value) => value.trim())\n\t\t\t\t.filter(Boolean)\n\t\t)\n\t];\n\tif (pageContracts.length === 0) {\n\t\treturn {\n\t\t\tkind: 'invalid',\n\t\t\tmessage: `${MOBILE_PAGE_REQUEST_HEADERS.pageContracts} must contain at least one contract.`\n\t\t};\n\t}\n\n\treturn {\n\t\tclient: {\n\t\t\tappBuild,\n\t\t\tpageBundle,\n\t\t\tpageContracts,\n\t\t\tpageId,\n\t\t\tprotocol: Number(protocolValue),\n\t\t\truntime\n\t\t},\n\t\tkind: 'mobile'\n\t};\n};\n\nconst responseHeaders = () => {\n\tconst headers = new Headers({\n\t\t'cache-control': 'no-store',\n\t\t'content-type': `${ABSOLUTE_MOBILE_PAGE_MEDIA_TYPE}; version=${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}`\n\t});\n\theaderVaryValues.forEach((value) => headers.append('vary', value));\n\n\treturn headers;\n};\n\nconst headerVaryValues = [\n\t'Accept',\n\tMOBILE_PAGE_REQUEST_HEADERS.protocol,\n\tMOBILE_PAGE_REQUEST_HEADERS.runtime,\n\tMOBILE_PAGE_REQUEST_HEADERS.appBuild,\n\tMOBILE_PAGE_REQUEST_HEADERS.pageBundle,\n\tMOBILE_PAGE_REQUEST_HEADERS.pageContracts,\n\tMOBILE_PAGE_REQUEST_HEADERS.pageId\n];\n\nconst envelopeResponse = (\n\tresponse: AbsoluteMobilePageEnvelope['response'],\n\tstatus: number\n) =>\n\tnew Response(\n\t\tJSON.stringify({\n\t\t\tprotocol: ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\t\t\tresponse\n\t\t} satisfies AbsoluteMobilePageEnvelope),\n\t\t{ headers: responseHeaders(), status }\n\t);\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst normalizeJsonValue = (value: Record<string, unknown>) => {\n\tconst serialized = JSON.stringify(value);\n\tif (serialized === undefined) {\n\t\tthrow new TypeError('Mobile page props must be JSON-serializable.');\n\t}\n\n\tconst parsed: unknown = JSON.parse(serialized);\n\tif (!isRecord(parsed)) {\n\t\tthrow new TypeError('Mobile page props must serialize to an object.');\n\t}\n\n\treturn parsed;\n};\n\nconst finalizeArchivedMobilePage = <Props>(\n\tcontext: AbsoluteMobileProducerContext,\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => {\n\tconst { page } = context;\n\tif (\n\t\tpage.pageId !== input.compatibility.pageId ||\n\t\tpage.framework !== input.compatibility.framework\n\t) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'invalid-request',\n\t\t\t\tmessage:\n\t\t\t\t\t'Archived producer page identity does not match its release artifact.'\n\t\t\t},\n\t\t\tBAD_REQUEST_STATUS\n\t\t);\n\t}\n\n\ttry {\n\t\tconst [currentRepresentation] = input.compatibility.representations;\n\t\tif (!currentRepresentation) {\n\t\t\tthrow new TypeError('Mobile page has no current representation.');\n\t\t}\n\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tcontract: page.contract,\n\t\t\t\tframework: page.framework,\n\t\t\t\tkind: 'page',\n\t\t\t\tpageId: page.pageId,\n\t\t\t\tprops: normalizeJsonValue(\n\t\t\t\t\tcurrentRepresentation.mapProps(input.props)\n\t\t\t\t),\n\t\t\t\tstatus: input.status ?? OK_STATUS\n\t\t\t},\n\t\t\tinput.status ?? OK_STATUS\n\t\t);\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[Mobile] Archived producer ${context.releaseId} failed for ${page.pageId}:`,\n\t\t\terror\n\t\t);\n\n\t\treturn createAbsoluteMobilePageErrorResponse(page.pageId);\n\t}\n};\n\nconst finalizeAbsoluteNativeRouteDevelopmentPage = <Props>(\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => {\n\tif (process.env.NODE_ENV !== 'development') {\n\t\treturn createAbsoluteMobileInvalidRequestResponse(\n\t\t\t'The native-route development representation is disabled outside development.'\n\t\t);\n\t}\n\tif (input.request?.method !== 'GET') {\n\t\treturn createAbsoluteMobileInvalidRequestResponse(\n\t\t\t'Native-route data requests must use GET.'\n\t\t);\n\t}\n\tif (\n\t\tinput.request.headers.get(MOBILE_PAGE_REQUEST_HEADERS.protocol) !==\n\t\tString(ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION)\n\t) {\n\t\treturn createAbsoluteMobileInvalidRequestResponse(\n\t\t\t`Native-route data requires protocol ${ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION}.`\n\t\t);\n\t}\n\tconst [representation] = input.compatibility.representations;\n\tif (!representation) {\n\t\treturn createAbsoluteMobilePageErrorResponse(\n\t\t\tinput.compatibility.pageId\n\t\t);\n\t}\n\n\ttry {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tcontract: representation.contract,\n\t\t\t\tframework: input.compatibility.framework,\n\t\t\t\tkind: 'page',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\tprops: normalizeJsonValue(representation.mapProps(input.props)),\n\t\t\t\tstatus: input.status ?? OK_STATUS\n\t\t\t},\n\t\t\tinput.status ?? OK_STATUS\n\t\t);\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[Mobile] Failed to produce development native route ${input.compatibility.pageId}:`,\n\t\t\terror\n\t\t);\n\n\t\treturn createAbsoluteMobilePageErrorResponse(\n\t\t\tinput.compatibility.pageId\n\t\t);\n\t}\n};\n\nexport const createAbsoluteMobileInvalidRequestResponse = (message: string) =>\n\tenvelopeResponse({ kind: 'invalid-request', message }, BAD_REQUEST_STATUS);\n\nexport const createAbsoluteMobilePageErrorResponse = (pageId: string) =>\n\tenvelopeResponse(\n\t\t{\n\t\t\tcode: 'representation-failed',\n\t\t\tkind: 'error',\n\t\t\tpageId,\n\t\t\tstatus: SERVER_ERROR_STATUS\n\t\t},\n\t\tSERVER_ERROR_STATUS\n\t);\n\nexport const createAbsoluteMobileUpgradeResponse = (\n\tresult: AbsoluteMobileUpgradeRequiredResult\n) => envelopeResponse(result, UPGRADE_REQUIRED_STATUS);\n\nexport const finalizeAbsoluteMobilePage = <Props>(\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => {\n\tif (acceptsAbsoluteNativeRouteData(input.request)) {\n\t\treturn finalizeAbsoluteNativeRouteDevelopmentPage(input);\n\t}\n\tconst parsed = parseAbsoluteMobilePageRequest(input.request);\n\tif (parsed.kind === 'not-mobile') return undefined;\n\tif (parsed.kind === 'invalid') {\n\t\treturn envelopeResponse(\n\t\t\t{ kind: 'invalid-request', message: parsed.message },\n\t\t\tBAD_REQUEST_STATUS\n\t\t);\n\t}\n\n\tconst { client } = parsed;\n\tif (client.pageId !== input.compatibility.pageId) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'invalid-request',\n\t\t\t\tmessage: `Requested mobile page ${client.pageId} does not match ${input.compatibility.pageId}.`\n\t\t\t},\n\t\t\tBAD_REQUEST_STATUS\n\t\t);\n\t}\n\tconst producerContext = getCurrentAbsoluteMobileProducerContext();\n\tif (producerContext)\n\t\treturn finalizeArchivedMobilePage(producerContext, input);\n\tif (client.protocol !== ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'upgrade-required',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\treason: 'protocol'\n\t\t\t},\n\t\t\tUPGRADE_REQUIRED_STATUS\n\t\t);\n\t}\n\tif (!input.compatibility.runtimes.includes(client.runtime)) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'upgrade-required',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\treason: 'runtime',\n\t\t\t\tsupportedRuntimes: [...input.compatibility.runtimes]\n\t\t\t},\n\t\t\tUPGRADE_REQUIRED_STATUS\n\t\t);\n\t}\n\n\tconst clientContracts = new Set(client.pageContracts);\n\tconst representation = input.compatibility.representations.find(\n\t\t({ contract }) => clientContracts.has(contract)\n\t);\n\tif (!representation) {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tkind: 'upgrade-required',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\treason: 'page-contract',\n\t\t\t\tsupportedContracts: input.compatibility.representations.map(\n\t\t\t\t\t({ contract }) => contract\n\t\t\t\t)\n\t\t\t},\n\t\t\tUPGRADE_REQUIRED_STATUS\n\t\t);\n\t}\n\n\ttry {\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tcontract: representation.contract,\n\t\t\t\tframework: input.compatibility.framework,\n\t\t\t\tkind: 'page',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\tprops: normalizeJsonValue(representation.mapProps(input.props)),\n\t\t\t\tstatus: input.status ?? OK_STATUS\n\t\t\t},\n\t\t\tinput.status ?? OK_STATUS\n\t\t);\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[Mobile] Failed to produce ${input.compatibility.pageId} representation ${representation.contract}:`,\n\t\t\terror\n\t\t);\n\n\t\treturn envelopeResponse(\n\t\t\t{\n\t\t\t\tcode: 'representation-failed',\n\t\t\t\tkind: 'error',\n\t\t\t\tpageId: input.compatibility.pageId,\n\t\t\t\tstatus: SERVER_ERROR_STATUS\n\t\t\t},\n\t\t\tSERVER_ERROR_STATUS\n\t\t);\n\t}\n};\n",
|
|
32
33
|
"import {\n\tappendStreamingSlotPatchesToStream,\n\ttype AppendStreamingSlotsOptions,\n\ttype StreamingSlotPolicy,\n\ttype StreamingSlot\n} from '../utils/streamingSlots';\nimport { STREAMING_PAGE_HEADER } from './pageResponseCache';\nimport { runWithStreamingSlotRegistry } from './streamingSlotRegistry';\n\ntype ResponseLike = Response | Promise<Response>;\n\nexport type StreamingSlotEnhancerOptions = Omit<\n\tAppendStreamingSlotsOptions,\n\t'injectRuntime'\n> & {\n\tstreamingSlots?: StreamingSlot[];\n\tpolicy?: StreamingSlotPolicy;\n};\n\nconst toResponse = async (responseLike: ResponseLike) => responseLike;\n\nconst cloneHeaders = (response: Response) => {\n\tconst headers = new Headers(response.headers);\n\n\treturn headers;\n};\n\nexport const enhanceHtmlResponseWithStreamingSlots = (\n\tresponse: Response,\n\t{\n\t\tnonce,\n\t\tonError,\n\t\truntimePlacement,\n\t\truntimePreludeScript,\n\t\tstreamingSlots = [],\n\t\tpolicy\n\t}: StreamingSlotEnhancerOptions = {}\n) => {\n\tif (!response.body || streamingSlots.length === 0) {\n\t\treturn response;\n\t}\n\n\tconst body = appendStreamingSlotPatchesToStream(\n\t\tresponse.body,\n\t\tstreamingSlots,\n\t\t{\n\t\t\tnonce,\n\t\t\tonError,\n\t\t\tpolicy,\n\t\t\truntimePlacement,\n\t\t\truntimePreludeScript\n\t\t}\n\t);\n\n\t// This response now streams, so it can't carry a content-hash ETag — tag it\n\t// so withPageCacheHeaders marks it no-cache instead of buffering to hash.\n\tconst headers = cloneHeaders(response);\n\theaders.set(STREAMING_PAGE_HEADER, '1');\n\n\treturn new Response(body, {\n\t\theaders,\n\t\tstatus: response.status,\n\t\tstatusText: response.statusText\n\t});\n};\n\nexport const withStreamingSlots = async (\n\tresponseLike: ResponseLike,\n\toptions: StreamingSlotEnhancerOptions = {}\n) =>\n\tenhanceHtmlResponseWithStreamingSlots(\n\t\tawait toResponse(responseLike),\n\t\toptions\n\t);\n\nconst mergeStreamingSlots = (\n\tregistered: StreamingSlot[],\n\texplicit: StreamingSlot[]\n) => {\n\tconst merged = new Map<string, StreamingSlot>();\n\tfor (const slot of registered) merged.set(slot.id, slot);\n\tfor (const slot of explicit) merged.set(slot.id, slot);\n\n\treturn [...merged.values()];\n};\n\nexport const withRegisteredStreamingSlots = async (\n\trenderResponse: () => ResponseLike,\n\toptions: StreamingSlotEnhancerOptions = {}\n) => {\n\tconst { result, slots } =\n\t\tawait runWithStreamingSlotRegistry(renderResponse);\n\tconst explicit = options.streamingSlots ?? [];\n\n\treturn withStreamingSlots(result, {\n\t\t...options,\n\t\tstreamingSlots: mergeStreamingSlots(slots, explicit)\n\t});\n};\n",
|
|
33
34
|
"import { AsyncLocalStorage } from 'node:async_hooks';\nimport { logWarn } from '../utils/logger';\nimport { setStreamingSlotWarningController } from './streamingSlotRegistrar';\n\ntype WarningStore = {\n\thandlerCallsite?: string;\n\thasWarned: boolean;\n};\n\ntype WarningStorage = AsyncLocalStorage<WarningStore>;\n\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is WarningStorage =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getWarningStorage = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn undefined;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst ensureWarningStorage = () => {\n\tconst existing = getWarningStorage();\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst storage = new AsyncLocalStorage<WarningStore>();\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, storage);\n\n\treturn storage;\n};\n\nconst normalizeCallsitePath = (value: string) =>\n\tvalue\n\t\t.replace(`${process.cwd()}/`, '')\n\t\t.replace(process.cwd(), '')\n\t\t.replace(/^\\.\\/+/, '');\n\nconst formatWarningCallsite = (callsite: string) => {\n\tconst match = callsite.match(/^(.*?)(:\\d+:\\d+)$/);\n\tif (!match) {\n\t\treturn `\\x1b[36m${callsite}\\x1b[0m`;\n\t}\n\n\treturn `\\x1b[36m${match[1]}\\x1b[33m${match[2]}\\x1b[0m`;\n};\n\nconst shouldIgnoreWarningFrame = (frame: string) =>\n\tframe.includes('/node_modules/') ||\n\tframe.includes('/dist/') ||\n\tframe.includes('/src/react/pageHandler.') ||\n\tframe.includes('/src/vue/pageHandler.') ||\n\tframe.includes('/src/svelte/pageHandler.') ||\n\tframe.includes('/src/angular/pageHandler.') ||\n\tframe.includes('/src/core/streamingSlotWarningScope.');\n\nconst getWarningLocation = (frame: string) =>\n\tframe.match(/\\((\\/[^)]+:\\d+:\\d+)\\)$/)?.[1] ??\n\tframe.match(/at (\\/[^ ]+:\\d+:\\d+)$/)?.[1];\n\nconst extractCallsiteFromStack = (stack: string) => {\n\tconst location = stack\n\t\t.split('\\n')\n\t\t.slice(1)\n\t\t.map((line) => line.trim())\n\t\t.filter((frame) => !shouldIgnoreWarningFrame(frame))\n\t\t.map((frame) => getWarningLocation(frame))\n\t\t.find((frameLocation) => frameLocation !== undefined);\n\n\treturn location ? normalizeCallsitePath(location) : undefined;\n};\n\nconst buildMissingCollectorWarning = (\n\tprimitiveName: string,\n\thandlerCallsite?: string\n) =>\n\t`${primitiveName} rendered during SSR without streaming slot collection enabled. Add { collectStreamingSlots: true } to this page handler to enable out-of-order streaming for this route.${handlerCallsite ? ` Update ${formatWarningCallsite(handlerCallsite)}.` : ''}`;\n\nsetStreamingSlotWarningController({\n\tmaybeWarn: (primitiveName: string) => {\n\t\tconst store = getWarningStorage()?.getStore();\n\t\tif (!store || store.hasWarned) {\n\t\t\treturn;\n\t\t}\n\n\t\tstore.hasWarned = true;\n\t\tlogWarn(\n\t\t\tbuildMissingCollectorWarning(primitiveName, store.handlerCallsite)\n\t\t);\n\t}\n});\n\nexport const captureStreamingSlotWarningCallsite = () => {\n\tif (process.env.NODE_ENV === 'production') {\n\t\treturn undefined;\n\t}\n\n\tconst { stack } = new Error();\n\tif (!stack) {\n\t\treturn undefined;\n\t}\n\n\treturn extractCallsiteFromStack(stack);\n};\n\nexport const runWithStreamingSlotWarningScope = <T>(\n\ttask: () => Promise<T> | T,\n\tmetadata?: {\n\t\thandlerCallsite?: string;\n\t}\n) =>\n\tensureWarningStorage().run(\n\t\t{ handlerCallsite: metadata?.handlerCallsite, hasWarned: false },\n\t\ttask\n\t);\n"
|
|
34
35
|
],
|
|
35
|
-
"mappings": "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",
|
|
36
|
-
"debugId": "
|
|
36
|
+
"mappings": "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",
|
|
37
|
+
"debugId": "41C45B6E3E7ECC1364756E2164756E21",
|
|
37
38
|
"names": []
|
|
38
39
|
}
|