@absolutejs/absolute 0.20.0-beta.171 → 0.20.0-beta.173

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +3 -2
  3. package/changelog.json +73 -0
  4. package/dist/angular/browser.js +12 -12
  5. package/dist/angular/browser.js.map +6 -7
  6. package/dist/angular/components/core/streamingSlotRegistrar.js +2 -6
  7. package/dist/angular/components/core/streamingSlotRegistry.js +3 -7
  8. package/dist/angular/components/defer-slot.component.js +12 -7
  9. package/dist/angular/components/stream-slot.component.js +3 -1
  10. package/dist/angular/index.js +40 -13
  11. package/dist/angular/index.js.map +7 -7
  12. package/dist/angular/server.js +39 -12
  13. package/dist/angular/server.js.map +6 -6
  14. package/dist/build/buildWorker.js +135 -57
  15. package/dist/build.js +1183 -1011
  16. package/dist/build.js.map +16 -15
  17. package/dist/cli/config/server.js +43 -12
  18. package/dist/cli/{doctor-repprx92.js → doctor-m36tmx4d.js} +70 -15
  19. package/dist/cli/index.js +2 -2
  20. package/dist/cli/{typecheck-209bemxm.js → typecheck-fag7djt5.js} +21 -6
  21. package/dist/core/streamingSlotRegistrar.js +2 -5
  22. package/dist/core/streamingSlotRegistrar.js.map +4 -5
  23. package/dist/core/streamingSlotRegistry.js +2 -5
  24. package/dist/core/streamingSlotRegistry.js.map +4 -5
  25. package/dist/dev/serverBootstrap.js +2 -1
  26. package/dist/index.js +1116 -940
  27. package/dist/index.js.map +18 -17
  28. package/dist/islands/index.js +2 -2
  29. package/dist/islands/index.js.map +3 -3
  30. package/dist/mobile/browser.js +2 -2
  31. package/dist/mobile/browser.js.map +3 -3
  32. package/dist/mobile/index.js +2 -2
  33. package/dist/mobile/index.js.map +3 -3
  34. package/dist/react/components/index.js +2 -5
  35. package/dist/react/components/index.js.map +5 -6
  36. package/dist/react/index.js +45 -16
  37. package/dist/react/index.js.map +8 -8
  38. package/dist/react/router/browser.js.map +2 -2
  39. package/dist/react/router/index.js.map +2 -2
  40. package/dist/react/server.js +45 -16
  41. package/dist/react/server.js.map +8 -8
  42. package/dist/src/angular/components/defer-slot.component.d.ts +1 -0
  43. package/dist/src/build/missingReactRouter.d.ts +8 -0
  44. package/dist/src/build/vueModuleOutputPath.d.ts +10 -6
  45. package/dist/src/cli/scripts/bunCheck.d.ts +3 -1
  46. package/dist/src/cli/scripts/doctor.d.ts +10 -0
  47. package/dist/src/core/streamingSlotWarningScope.d.ts +3 -0
  48. package/dist/src/dev/hot/reload.d.ts +5 -0
  49. package/dist/src/dev/hot/runtime.d.ts +2 -0
  50. package/dist/src/dev/srcPath.d.ts +2 -1
  51. package/dist/src/react/pageHandler.d.ts +5 -0
  52. package/dist/src/react/router/Link.d.ts +6 -1
  53. package/dist/src/react/serverComponents/pageHandler.d.ts +2 -0
  54. package/dist/src/utils/portInUse.d.ts +16 -0
  55. package/dist/svelte/index.js +39 -12
  56. package/dist/svelte/index.js.map +6 -6
  57. package/dist/svelte/server.js +39 -12
  58. package/dist/svelte/server.js.map +6 -6
  59. package/dist/vue/components/index.js +2 -5
  60. package/dist/vue/components/index.js.map +4 -5
  61. package/dist/vue/index.js +39 -12
  62. package/dist/vue/index.js.map +6 -6
  63. package/dist/vue/server.js +39 -12
  64. package/dist/vue/server.js.map +6 -6
  65. package/package.json +2 -1
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/utils/runtimeMode.ts", "../src/mobile/producerContextState.ts", "../src/mobile/pageProtocol.ts", "../src/mobile/client.ts", "../src/mobile/browser.ts", "../node_modules/@absolutejs/sync/dist/client/runtimeTransport.js", "../src/mobile/syncRemediation.ts", "../src/mobile/uiPrimitives.ts"],
4
4
  "sourcesContent": [
5
- "/* Bundler-safe NODE_ENV reader.\n *\n * Bun (like esbuild and most modern bundlers) statically replaces\n * `process.env.NODE_ENV` with the build-time string. When absolutejs\n * itself is bundled (`bun run scripts/build.ts`), NODE_ENV is unset,\n * so every `process.env.NODE_ENV === 'production'` site collapses to\n * `false` and the production branch is dead-code-eliminated from\n * `dist/`. That breaks `bun start`, `bun compile`, and the standalone\n * compiled binary — they all run with NODE_ENV=production but see the\n * dev branches baked in.\n *\n * Computed-property access (`process.env[KEY]`) is NOT constant-folded\n * by Bun, so we read NODE_ENV through a string variable. Both branches\n * stay live in `dist/`, and the consumer's actual runtime NODE_ENV\n * decides which one fires.\n *\n * Verified empirically: Bun's bundler matches the literal AST shape\n * `MemberExpression { object: process.env, property: NODE_ENV }` for\n * its replacement. Computed-key access uses\n * `MemberExpression { computed: true, property: Identifier(KEY) }`,\n * which doesn't match the pattern. */\n\nconst ENV_VAR = 'NODE_ENV';\n\nexport const getNodeEnv = () => process.env[ENV_VAR];\nexport const isDevelopmentRuntime = () =>\n\tprocess.env[ENV_VAR] === 'development';\nexport const isProductionRuntime = () => process.env[ENV_VAR] === 'production';\n",
5
+ "/* Bundler-safe NODE_ENV reader.\n *\n * Bun (like esbuild and most modern bundlers) statically replaces\n * `process.env.NODE_ENV` with the build-time string. When absolutejs\n * itself is bundled (`bun run scripts/build.ts`), NODE_ENV is unset,\n * so every `process.env.NODE_ENV === 'production'` site collapses to\n * `false` and the production branch is dead-code-eliminated from\n * `dist/`. That breaks `bun start`, `bun compile`, and the standalone\n * compiled binary — they all run with NODE_ENV=production but see the\n * dev branches baked in.\n *\n * Computed-property access (`process.env[KEY]`) is NOT constant-folded\n * by Bun, so we read NODE_ENV through a string variable. Both branches\n * stay live in `dist/`, and the consumer's actual runtime NODE_ENV\n * decides which one fires.\n *\n * Verified empirically: Bun's bundler matches the literal AST shape\n * `MemberExpression { object: process.env, property: NODE_ENV }` for\n * its replacement. Computed-key access uses\n * `MemberExpression { computed: true, property: Identifier(KEY) }`,\n * which doesn't match the pattern. */\n\nconst ENV_VAR = 'NODE_ENV';\n\n/* These helpers are written for server code, but a shared module can pull\n * them into a browser bundle (the Angular defer slot did, through the\n * streaming-slot registrar). Browsers have no `process`, and a bare\n * `process.env` read there throws `ReferenceError: process is not defined`,\n * so read through a guard: with no `process`, NODE_ENV is simply unset. */\nconst readEnv = () =>\n\ttypeof process === 'undefined' ? undefined : process.env?.[ENV_VAR];\n\nexport const getNodeEnv = () => readEnv();\nexport const isDevelopmentRuntime = () => readEnv() === 'development';\nexport const isProductionRuntime = () => readEnv() === 'production';\n",
6
6
  "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",
7
7
  "import { isDevelopmentRuntime } from '../utils/runtimeMode';\nimport {\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';\n/** Web route data: the props + asset list a browser `<Link>` prefetches\n * alongside the document so the click that follows has the page's\n * modules, CSS and data warm. Unlike the mobile media types it needs no\n * client identity headers, is served in every environment, and is\n * cacheable (`ETag` + `must-revalidate`) so a prefetch and the request\n * that follows it can 304. */\nexport const ABSOLUTE_ROUTE_DATA_MEDIA_TYPE =\n\t'application/vnd.absolute.route+json';\nexport const ABSOLUTE_ROUTE_DATA_PROTOCOL_VERSION = 1 as const;\nconst BAD_REQUEST_STATUS = 400;\nconst METHOD_NOT_ALLOWED_STATUS = 405;\nconst NOT_MODIFIED_STATUS = 304;\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' | 'ember' | 'html' | 'htmx' | 'react' | 'svelte' | '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' | 'page-contract' | 'protocol' | '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\n/** Hashed asset URLs a client can warm before navigating to the page. */\nexport type AbsoluteRouteDataAssets = {\n\t/** The page's client entry (hydration index). Absent for static pages. */\n\tindex?: string;\n\t/** A separate client module besides the index, when the page has one. */\n\tclient?: string;\n\t/** Stylesheets the page's `<head>` links. */\n\tcss: string[];\n};\n\nexport type AbsoluteRouteDataHead = {\n\ttitle?: string;\n};\n\n/** What a page handler knows about its assets / head when it answers a\n * route-data request. Everything is optional: a handler without a\n * `<head>` (React) still serves props + index. */\nexport type AbsoluteRouteDataInput = {\n\tassets?: {\n\t\tindex?: string;\n\t\tclient?: string;\n\t\tcss?: readonly string[];\n\t};\n\thead?: AbsoluteRouteDataHead;\n};\n\nexport type AbsoluteRouteDataEnvelope = {\n\tprotocol: typeof ABSOLUTE_ROUTE_DATA_PROTOCOL_VERSION;\n\tkind: 'route';\n\tpageId: string;\n\tframework: AbsoluteMobilePageFramework;\n\tprops: Record<string, unknown>;\n\tstatus: number;\n\tassets: AbsoluteRouteDataAssets;\n\thead?: AbsoluteRouteDataHead;\n};\n\nexport type AbsoluteRouteDataErrorEnvelope = {\n\tprotocol: typeof ABSOLUTE_ROUTE_DATA_PROTOCOL_VERSION;\n\tkind: 'error';\n\tcode: 'representation-failed';\n\tpageId: string;\n\tstatus: typeof SERVER_ERROR_STATUS;\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\t/** Assets / head for the web route-data representation. A thunk is\n\t * only invoked for a route-data request, so handlers can defer the\n\t * `<head>` scan behind it. */\n\troute?: AbsoluteRouteDataInput | (() => AbsoluteRouteDataInput);\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\nexport const acceptsAbsoluteRouteData = (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_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 (!isDevelopmentRuntime()) {\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\n/* ------------------------------------------------------------------\n * Web route data\n * ---------------------------------------------------------------- */\n\nconst FNV_OFFSET_BASIS = 0x811c9dc5;\nconst FNV_PRIME = 0x01000193;\nconst FNV_SECOND_SEED = 0x5bd1e995;\nconst HEX_RADIX = 16;\nconst HEX_WORD_LENGTH = 8;\n\nconst fnv1a32 = (value: string, seed: number) => {\n\tlet hash = seed >>> 0;\n\tfor (let index = 0; index < value.length; index += 1) {\n\t\thash ^= value.charCodeAt(index);\n\t\thash = Math.imul(hash, FNV_PRIME) >>> 0;\n\t}\n\n\treturn hash;\n};\n\nconst hexWord = (value: number) =>\n\tvalue.toString(HEX_RADIX).padStart(HEX_WORD_LENGTH, '0');\n\n/** Weak content-hash ETag for a route-data body. Two seeded FNV-1a passes\n * keep this dependency-free (this module ships in the mobile browser\n * bundle, so `node:crypto` is off the table) while still telling any two\n * realistic bodies apart. */\nconst routeDataEtag = (body: string) =>\n\t`W/\"${hexWord(fnv1a32(body, FNV_OFFSET_BASIS))}${hexWord(\n\t\tfnv1a32(body, FNV_OFFSET_BASIS ^ FNV_SECOND_SEED)\n\t)}\"`;\n\nconst ROUTE_DATA_CACHE_CONTROL = 'private, max-age=0, must-revalidate';\n\nconst routeDataHeaders = (etag?: string) => {\n\tconst headers = new Headers({\n\t\t'cache-control': etag ? ROUTE_DATA_CACHE_CONTROL : 'no-store',\n\t\t'content-type': `${ABSOLUTE_ROUTE_DATA_MEDIA_TYPE}; version=${ABSOLUTE_ROUTE_DATA_PROTOCOL_VERSION}`,\n\t\tvary: 'Accept'\n\t});\n\tif (etag) headers.set('etag', etag);\n\n\treturn headers;\n};\n\nconst matchesIfNoneMatch = (request: Request, etag: string) => {\n\tconst header = request.headers.get('if-none-match');\n\tif (!header) return false;\n\n\treturn header\n\t\t.split(',')\n\t\t.map((value) => value.trim())\n\t\t.some((value) => value === '*' || value === etag);\n};\n\nconst resolveRouteDataInput = <Props>(\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => (typeof input.route === 'function' ? input.route() : (input.route ?? {}));\n\nconst buildRouteDataAssets = (\n\tassets: AbsoluteRouteDataInput['assets']\n): AbsoluteRouteDataAssets => ({\n\t...(assets?.index ? { index: assets.index } : {}),\n\t...(assets?.client ? { client: assets.client } : {}),\n\tcss: [...new Set((assets?.css ?? []).filter((href) => href.length > 0))]\n});\n\nconst buildRouteDataHead = (head: AbsoluteRouteDataHead | undefined) =>\n\thead?.title ? { title: head.title } : undefined;\n\nconst createRouteDataErrorResponse = (pageId: string) =>\n\tnew Response(\n\t\tJSON.stringify({\n\t\t\tcode: 'representation-failed',\n\t\t\tkind: 'error',\n\t\t\tpageId,\n\t\t\tprotocol: ABSOLUTE_ROUTE_DATA_PROTOCOL_VERSION,\n\t\t\tstatus: SERVER_ERROR_STATUS\n\t\t} satisfies AbsoluteRouteDataErrorEnvelope),\n\t\t{ headers: routeDataHeaders(), status: SERVER_ERROR_STATUS }\n\t);\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\n/**\n * Serve the web route-data representation of a page when the request\n * asks for `application/vnd.absolute.route+json`; `undefined` otherwise.\n *\n * GET only, negotiated on `Accept` alone (no client identity headers),\n * available in every environment. The body is the page's props plus the\n * asset URLs a client needs to warm before navigating, and it carries a\n * content-hash `ETag` with `private, max-age=0, must-revalidate` so the\n * browser keeps a prefetched copy and revalidates it with a 304.\n */\nexport const finalizeAbsoluteRouteData = <Props>(\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => {\n\tif (!acceptsAbsoluteRouteData(input.request)) return undefined;\n\tconst { request } = input;\n\tif (!request || request.method !== 'GET') {\n\t\treturn new Response(null, {\n\t\t\theaders: { allow: 'GET', vary: 'Accept' },\n\t\t\tstatus: METHOD_NOT_ALLOWED_STATUS\n\t\t});\n\t}\n\tconst { pageId } = input.compatibility;\n\tconst [representation] = input.compatibility.representations;\n\tif (!representation) return createRouteDataErrorResponse(pageId);\n\n\tlet body: string;\n\tconst status = input.status ?? OK_STATUS;\n\ttry {\n\t\tconst route = resolveRouteDataInput(input);\n\t\tconst head = buildRouteDataHead(route.head);\n\t\tconst envelope: AbsoluteRouteDataEnvelope = {\n\t\t\tassets: buildRouteDataAssets(route.assets),\n\t\t\tframework: input.compatibility.framework,\n\t\t\t...(head ? { head } : {}),\n\t\t\tkind: 'route',\n\t\t\tpageId,\n\t\t\tprops: normalizeJsonValue(representation.mapProps(input.props)),\n\t\t\tprotocol: ABSOLUTE_ROUTE_DATA_PROTOCOL_VERSION,\n\t\t\tstatus\n\t\t};\n\t\tbody = JSON.stringify(envelope);\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`[Route] Failed to produce route data for ${pageId}:`,\n\t\t\terror\n\t\t);\n\n\t\treturn createRouteDataErrorResponse(pageId);\n\t}\n\n\tconst etag = routeDataEtag(body);\n\tif (matchesIfNoneMatch(request, etag)) {\n\t\treturn new Response(null, {\n\t\t\theaders: routeDataHeaders(etag),\n\t\t\tstatus: NOT_MODIFIED_STATUS\n\t\t});\n\t}\n\n\treturn new Response(body, { headers: routeDataHeaders(etag), status });\n};\n\nconst ABSOLUTE_MEDIA_TYPE_MARKER = /vnd\\.absolute/i;\n\n/** Every AbsoluteJS page media type carries the `vnd.absolute` tree, so an\n * Accept header without it is an ordinary browser request. Checking the raw\n * header first keeps the common SSR path free of Accept parsing and of any\n * allocation, and it never reads `compatibility`, so callers can defer that\n * work behind a getter. */\nconst mentionsAbsoluteMediaType = (request: Request | undefined) => {\n\tconst accept = request?.headers.get('accept');\n\n\treturn (\n\t\ttypeof accept === 'string' && ABSOLUTE_MEDIA_TYPE_MARKER.test(accept)\n\t);\n};\n\nexport const finalizeAbsoluteMobilePage = <Props>(\n\tinput: FinalizeAbsoluteMobilePageInput<Props>\n) => {\n\tif (!mentionsAbsoluteMediaType(input.request)) return undefined;\n\tif (acceptsAbsoluteNativeRouteData(input.request)) {\n\t\treturn finalizeAbsoluteNativeRouteDevelopmentPage(input);\n\t}\n\tconst routeData = finalizeAbsoluteRouteData(input);\n\tif (routeData) return routeData;\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",
8
8
  "import {\n\tABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\ttype AbsoluteMobilePageEnvelope,\n\ttype AbsoluteMobilePageFramework,\n\ttype AbsoluteMobilePageResult,\n\ttype AbsoluteMobileUpgradeReason,\n\ttype AbsoluteMobileUpgradeRequiredResult\n} from './pageProtocol';\n\ntype AbsoluteMobileClientTarget = {\n\t__ABSOLUTE_PAGE_DISPOSE__?: () => Promise<void> | void;\n\t__ABSOLUTE_PAGE_READY__?: Promise<unknown>;\n\t__ABSOLUTE_PAGE_RENDER_MODE__?: 'client' | 'hydrate';\n\t__ABS_ANGULAR_REQUEST_CONTEXT__?: Record<string, unknown>;\n\t__INITIAL_PROPS__?: Record<string, unknown>;\n};\n\nexport type AbsoluteMobilePageLoader = (input: {\n\tcontract: string;\n\tpageId: string;\n}) => Promise<unknown>;\n\nexport type AbsoluteMobilePageActivation =\n\t| {\n\t\t\tkind: 'rendered';\n\t\t\tcontract: string;\n\t\t\tpageId: string;\n\t }\n\t| AbsoluteMobileUpgradeRequiredResult;\n\nexport type AbsoluteMobilePageActivationOptions = {\n\tloadPage: AbsoluteMobilePageLoader;\n\ttarget?: AbsoluteMobileClientTarget;\n};\n\nexport class AbsoluteMobilePageProtocolError extends Error {\n\treadonly code:\n\t\t| 'invalid-envelope'\n\t\t| 'invalid-props'\n\t\t| 'server-error'\n\t\t| 'server-rejected-request';\n\n\tconstructor(\n\t\tcode: AbsoluteMobilePageProtocolError['code'],\n\t\tmessage: string\n\t) {\n\t\tsuper(message);\n\t\tthis.name = 'AbsoluteMobilePageProtocolError';\n\t\tthis.code = code;\n\t}\n}\n\nexport const disposeAbsoluteMobilePage = async (\n\ttarget: AbsoluteMobileClientTarget = window\n) => {\n\tconst dispose = target.__ABSOLUTE_PAGE_DISPOSE__;\n\ttarget.__ABSOLUTE_PAGE_DISPOSE__ = undefined;\n\ttarget.__ABSOLUTE_PAGE_READY__ = undefined;\n\tif (dispose) await dispose();\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]);\nconst upgradeReasons = new Set<string>([\n\t'app-release',\n\t'page-contract',\n\t'protocol',\n\t'runtime'\n]);\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isFramework = (value: unknown): value is AbsoluteMobilePageFramework =>\n\ttypeof value === 'string' && frameworks.has(value);\n\nconst isUpgradeReason = (\n\tvalue: unknown\n): value is AbsoluteMobileUpgradeReason =>\n\ttypeof value === 'string' && upgradeReasons.has(value);\n\nconst parsePageResult = (\n\tvalue: Record<string, unknown>\n): AbsoluteMobilePageResult => {\n\tif (\n\t\ttypeof value.contract !== 'string' ||\n\t\t!isFramework(value.framework) ||\n\t\ttypeof value.pageId !== 'string' ||\n\t\ttypeof value.status !== 'number'\n\t) {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'invalid-envelope',\n\t\t\t'The mobile page response is missing required page metadata.'\n\t\t);\n\t}\n\tif (!isRecord(value.props)) {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'invalid-props',\n\t\t\t'The mobile page response must contain an object props value.'\n\t\t);\n\t}\n\n\treturn {\n\t\tcontract: value.contract,\n\t\tframework: value.framework,\n\t\tkind: 'page',\n\t\tpageId: value.pageId,\n\t\tprops: value.props,\n\t\tstatus: value.status\n\t};\n};\n\nconst parseUpgradeResult = (\n\tvalue: Record<string, unknown>\n): AbsoluteMobileUpgradeRequiredResult => {\n\tif (typeof value.pageId !== 'string' || !isUpgradeReason(value.reason)) {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'invalid-envelope',\n\t\t\t'The update response is missing its page or reason.'\n\t\t);\n\t}\n\n\treturn {\n\t\tkind: 'upgrade-required',\n\t\tpageId: value.pageId,\n\t\treason: value.reason,\n\t\tsupportedContracts: Array.isArray(value.supportedContracts)\n\t\t\t? value.supportedContracts.filter(\n\t\t\t\t\t(contract): contract is string =>\n\t\t\t\t\t\ttypeof contract === 'string'\n\t\t\t\t)\n\t\t\t: undefined,\n\t\tsupportedRuntimes: Array.isArray(value.supportedRuntimes)\n\t\t\t? value.supportedRuntimes.filter(\n\t\t\t\t\t(runtime): runtime is string => typeof runtime === 'string'\n\t\t\t\t)\n\t\t\t: undefined\n\t};\n};\n\nexport const activateAbsoluteMobilePage = async (\n\tvalue: unknown,\n\toptions: AbsoluteMobilePageActivationOptions\n) => {\n\tconst envelope = parseAbsoluteMobilePageEnvelope(value);\n\tif (envelope.response.kind === 'upgrade-required') {\n\t\treturn envelope.response;\n\t}\n\tif (envelope.response.kind !== 'page') {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'invalid-envelope',\n\t\t\t'Expected a renderable mobile page response.'\n\t\t);\n\t}\n\n\tconst target: AbsoluteMobileClientTarget = options.target ?? window;\n\tawait disposeAbsoluteMobilePage(target);\n\ttarget.__INITIAL_PROPS__ = envelope.response.props;\n\ttarget.__ABS_ANGULAR_REQUEST_CONTEXT__ = envelope.response.props;\n\ttarget.__ABSOLUTE_PAGE_RENDER_MODE__ = 'client';\n\tawait options.loadPage({\n\t\tcontract: envelope.response.contract,\n\t\tpageId: envelope.response.pageId\n\t});\n\tif (target.__ABSOLUTE_PAGE_READY__) {\n\t\tawait target.__ABSOLUTE_PAGE_READY__;\n\t}\n\n\treturn {\n\t\tcontract: envelope.response.contract,\n\t\tkind: 'rendered',\n\t\tpageId: envelope.response.pageId\n\t} satisfies AbsoluteMobilePageActivation;\n};\n\nexport const parseAbsoluteMobilePageEnvelope = (value: unknown) => {\n\tif (!isRecord(value) || !isRecord(value.response)) {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'invalid-envelope',\n\t\t\t'The server did not return an AbsoluteJS mobile page envelope.'\n\t\t);\n\t}\n\tif (value.protocol !== ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION) {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'invalid-envelope',\n\t\t\t`Unsupported mobile page protocol ${String(value.protocol)}.`\n\t\t);\n\t}\n\n\tconst { kind } = value.response;\n\tif (kind === 'page') {\n\t\treturn {\n\t\t\tprotocol: ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\t\t\tresponse: parsePageResult(value.response)\n\t\t} satisfies AbsoluteMobilePageEnvelope;\n\t}\n\tif (kind === 'upgrade-required') {\n\t\treturn {\n\t\t\tprotocol: ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,\n\t\t\tresponse: parseUpgradeResult(value.response)\n\t\t} satisfies AbsoluteMobilePageEnvelope;\n\t}\n\tif (kind === 'invalid-request') {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'server-rejected-request',\n\t\t\ttypeof value.response.message === 'string'\n\t\t\t\t? value.response.message\n\t\t\t\t: 'The server rejected the mobile page request.'\n\t\t);\n\t}\n\tif (kind === 'error') {\n\t\tthrow new AbsoluteMobilePageProtocolError(\n\t\t\t'server-error',\n\t\t\t'The server could not create a compatible mobile page representation.'\n\t\t);\n\t}\n\n\tthrow new AbsoluteMobilePageProtocolError(\n\t\t'invalid-envelope',\n\t\t`Unknown mobile page response kind ${String(kind)}.`\n\t);\n};\n",
@@ -11,7 +11,7 @@
11
11
  "import {\n\tdiscardSyncRuntimeDeadLetter,\n\tinspectSyncRuntime,\n\trebaseSyncRuntimeDeadLetter,\n\tretrySyncRuntimeDeadLetter,\n\ttype SyncRuntimeInspection\n} from '@absolutejs/sync/client/runtime';\n\nexport type AbsoluteMobileSyncRemediation = {\n\tdiscard: (operationId: string) => Promise<void>;\n\tinspect: () => Promise<SyncRuntimeInspection>;\n\trebase: (operationId: string, args: unknown) => Promise<string>;\n\tretry: (operationId: string) => Promise<void>;\n};\n\ntype Installation = { bridge: AbsoluteMobileSyncRemediation };\ntype Registry = { installations: Installation[] };\nconst REMEDIATION_REGISTRY = Symbol.for('@absolutejs/mobile-sync-remediation');\nconst LAST_INSTALLATION_OFFSET = -1;\nconst isRegistry = (value: unknown): value is Registry =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\tArray.isArray(Reflect.get(value, 'installations'));\nconst resolveRegistry = () => {\n\tconst existing: unknown = Reflect.get(globalThis, REMEDIATION_REGISTRY);\n\tif (isRegistry(existing)) return existing;\n\tconst created: Registry = { installations: [] };\n\tObject.defineProperty(globalThis, REMEDIATION_REGISTRY, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: created,\n\t\twritable: false\n\t});\n\n\treturn created;\n};\nconst registry = resolveRegistry();\n\n/** Install the native shell's framework-neutral, redacted remediation bridge. */\nexport const getAbsoluteMobileSyncRemediation = () =>\n\tregistry.installations.at(LAST_INSTALLATION_OFFSET)?.bridge;\nexport const installAbsoluteMobileSyncRemediation = (\n\tbridge: AbsoluteMobileSyncRemediation = {\n\t\tdiscard: discardSyncRuntimeDeadLetter,\n\t\tinspect: inspectSyncRuntime,\n\t\trebase: rebaseSyncRuntimeDeadLetter,\n\t\tretry: retrySyncRuntimeDeadLetter\n\t}\n) => {\n\tconst installation: Installation = { bridge };\n\tregistry.installations.push(installation);\n\n\treturn () => {\n\t\tconst index = registry.installations.indexOf(installation);\n\t\tif (index >= 0) registry.installations.splice(index, 1);\n\t};\n};\n",
12
12
  "const STYLE_ID = 'absolute-mobile-ui-primitives';\nconst NAVIGATION_EVENT = 'absolute:navigation-change';\nconst SHEET_EVENT = 'absolute:sheet-change';\nconst BACK_EVENT = 'absolute:back-request';\nconst ACTIVE_SHEET_SELECTOR = 'dialog[data-absolute-sheet][open]';\nconst TAB_LINK_SELECTOR = '[data-absolute-tab-bar] a[href]';\n\nconst UI_STYLE = `\n[data-absolute-app-shell] {\n\tdisplay: grid;\n\tgrid-template-rows: auto minmax(0, 1fr) auto;\n\tbox-sizing: border-box;\n\tmin-height: var(--absolute-available-height, 100dvh);\n\tpadding-inline: var(--absolute-safe-area-inset-left, 0px) var(--absolute-safe-area-inset-right, 0px);\n}\n[data-absolute-app-header] {\n\tpadding-top: var(--absolute-safe-area-inset-top, 0px);\n}\n[data-absolute-app-main], [data-absolute-navigation-stack] {\n\tmin-width: 0;\n\tmin-height: 0;\n}\n[data-absolute-app-main] {\n\toverflow: auto;\n\toverscroll-behavior-y: contain;\n}\n[data-absolute-navigation-stack] {\n\tview-transition-name: absolute-mobile-stack;\n}\n[data-absolute-tab-bar] {\n\tdisplay: flex;\n\talign-items: stretch;\n\tjustify-content: space-around;\n\tbox-sizing: border-box;\n\tpadding-bottom: var(--absolute-safe-area-inset-bottom, 0px);\n\tbackground: Canvas;\n\tcolor: CanvasText;\n}\n[data-absolute-tab-bar] > a {\n\tdisplay: grid;\n\tflex: 1 1 0;\n\tmin-width: 0;\n\tmin-height: 2.75rem;\n\tplace-items: center;\n\tpadding: 0.375rem 0.5rem;\n\tcolor: inherit;\n\ttext-align: center;\n\ttext-decoration: none;\n\ttouch-action: manipulation;\n}\n[data-absolute-tab-bar] > a[aria-current=\"page\"] {\n\tfont-weight: 700;\n}\ndialog[data-absolute-sheet] {\n\tbox-sizing: border-box;\n\twidth: min(100%, var(--absolute-sheet-max-width, 42rem));\n\tmax-height: min(90dvh, var(--absolute-available-height, 90dvh));\n\tmargin: auto auto 0;\n\tpadding: 1rem max(1rem, var(--absolute-safe-area-inset-right, 0px)) max(1rem, var(--absolute-safe-area-inset-bottom, 0px)) max(1rem, var(--absolute-safe-area-inset-left, 0px));\n\toverflow: auto;\n\tborder: 1px solid color-mix(in srgb, CanvasText 18%, transparent);\n\tborder-radius: 1rem 1rem 0 0;\n\tbackground: Canvas;\n\tcolor: CanvasText;\n\tbox-shadow: 0 -0.5rem 2rem color-mix(in srgb, CanvasText 18%, transparent);\n}\ndialog[data-absolute-sheet]::backdrop {\n\tbackground: color-mix(in srgb, CanvasText 38%, transparent);\n}\n@keyframes absolute-mobile-forward-old { to { opacity: 0; transform: translateX(-12%); } }\n@keyframes absolute-mobile-forward-new { from { opacity: 0; transform: translateX(12%); } }\n@keyframes absolute-mobile-back-old { to { opacity: 0; transform: translateX(12%); } }\n@keyframes absolute-mobile-back-new { from { opacity: 0; transform: translateX(-12%); } }\nhtml[data-absolute-navigation-direction=\"forward\"]::view-transition-old(absolute-mobile-stack) { animation: 180ms ease both absolute-mobile-forward-old; }\nhtml[data-absolute-navigation-direction=\"forward\"]::view-transition-new(absolute-mobile-stack) { animation: 180ms ease both absolute-mobile-forward-new; }\nhtml[data-absolute-navigation-direction=\"back\"]::view-transition-old(absolute-mobile-stack) { animation: 180ms ease both absolute-mobile-back-old; }\nhtml[data-absolute-navigation-direction=\"back\"]::view-transition-new(absolute-mobile-stack) { animation: 180ms ease both absolute-mobile-back-new; }\nhtml[data-absolute-reduced-motion=\"reduce\"]::view-transition-old(absolute-mobile-stack),\nhtml[data-absolute-reduced-motion=\"reduce\"]::view-transition-new(absolute-mobile-stack) { animation: none; }\n`;\n\nexport type AbsoluteMobileNavigationDirection = 'back' | 'forward' | 'replace';\n\nexport type AbsoluteMobileNavigationDetail = {\n\tdirection: AbsoluteMobileNavigationDirection;\n\tfrom: string;\n\tto: string;\n};\n\nexport type AbsoluteMobileSheetDetail = {\n\tid: string;\n\topen: boolean;\n};\n\nexport type AbsoluteMobileLinkIntent =\n\t| { kind: 'back' }\n\t| { kind: 'external' }\n\t| { kind: 'navigate'; replace: boolean };\n\ndeclare global {\n\t// Event-map augmentation requires interface merging.\n\t// eslint-disable-next-line @typescript-eslint/consistent-type-definitions\n\tinterface WindowEventMap {\n\t\t'absolute:back-request': CustomEvent;\n\t\t'absolute:navigation-change': CustomEvent<AbsoluteMobileNavigationDetail>;\n\t\t'absolute:sheet-change': CustomEvent<AbsoluteMobileSheetDetail>;\n\t}\n}\n\nexport type AbsoluteMobileUiPrimitives = {\n\tdispose(): void;\n\tnavigate(detail: AbsoluteMobileNavigationDetail): void;\n\trefreshDocument(path?: string): void;\n\trequestBack(): boolean;\n};\n\nconst currentPath = () =>\n\t`${location.pathname}${location.search}${location.hash}`;\n\nconst ensureStyle = () => {\n\tlet style = document.getElementById(STYLE_ID);\n\tif (!(style instanceof HTMLStyleElement)) {\n\t\tstyle = document.createElement('style');\n\t\tstyle.id = STYLE_ID;\n\t\tstyle.textContent = UI_STYLE;\n\t\tdocument.head.append(style);\n\t}\n};\n\nconst sheetById = (id: string) => {\n\tconst target = document.getElementById(id);\n\n\treturn target instanceof HTMLDialogElement &&\n\t\ttarget.dataset.absoluteSheet !== undefined\n\t\t? target\n\t\t: undefined;\n};\n\nconst dispatchSheet = (sheet: HTMLDialogElement, open: boolean) =>\n\tdispatchEvent(\n\t\tnew CustomEvent<AbsoluteMobileSheetDetail>(SHEET_EVENT, {\n\t\t\tdetail: { id: sheet.id, open }\n\t\t})\n\t);\n\nconst focusSheet = (sheet: HTMLDialogElement) => {\n\tconst target = sheet.querySelector<HTMLElement>(\n\t\t'[autofocus], button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n\t);\n\t(target ?? sheet).focus();\n};\n\nconst sheetOpeners = new WeakMap<HTMLDialogElement, HTMLElement>();\n\nexport const closeAbsoluteMobileSheet = (\n\ttarget: HTMLDialogElement | string\n) => {\n\tconst sheet = typeof target === 'string' ? sheetById(target) : target;\n\tif (!sheet || !sheet.open) return false;\n\tif (typeof sheet.close === 'function') sheet.close();\n\telse sheet.removeAttribute('open');\n\tsheet.removeAttribute('aria-modal');\n\tsheetOpeners.get(sheet)?.focus();\n\tsheetOpeners.delete(sheet);\n\tdispatchSheet(sheet, false);\n\n\treturn true;\n};\nexport const openAbsoluteMobileSheet = (\n\ttarget: HTMLDialogElement | string,\n\topener?: HTMLElement\n) => {\n\tconst sheet = typeof target === 'string' ? sheetById(target) : target;\n\tif (!sheet || sheet.dataset.absoluteSheet === undefined) return false;\n\tconst active = document.querySelector<HTMLDialogElement>(\n\t\tACTIVE_SHEET_SELECTOR\n\t);\n\tif (active && active !== sheet) closeAbsoluteMobileSheet(active);\n\tif (opener) sheetOpeners.set(sheet, opener);\n\tif (!sheet.open) {\n\t\tif (typeof sheet.showModal === 'function') sheet.showModal();\n\t\telse sheet.setAttribute('open', '');\n\t}\n\tsheet.setAttribute('aria-modal', 'true');\n\tfocusSheet(sheet);\n\tdispatchSheet(sheet, true);\n\n\treturn true;\n};\nexport const readAbsoluteMobileLinkIntent = (\n\tanchor: HTMLAnchorElement\n): AbsoluteMobileLinkIntent => {\n\tconst mode = anchor.dataset.absoluteLink;\n\tif (mode === 'back') return { kind: 'back' };\n\tif (mode === 'external') return { kind: 'external' };\n\n\treturn { kind: 'navigate', replace: mode === 'replace' };\n};\nexport const requestAbsoluteMobileBack = () => {\n\tconst event = new CustomEvent(BACK_EVENT, { cancelable: true });\n\n\treturn !dispatchEvent(event);\n};\n\nconst normalizePathname = (value: string) => {\n\ttry {\n\t\treturn (\n\t\t\tnew URL(value, location.href).pathname.replace(/\\/$/u, '') || '/'\n\t\t);\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\nconst syncTabLinks = (path: string) => {\n\tconst activePath = normalizePathname(path);\n\tif (!activePath) return;\n\tdocument\n\t\t.querySelectorAll<HTMLAnchorElement>(TAB_LINK_SELECTOR)\n\t\t.forEach((anchor) => {\n\t\t\tconst candidate = normalizePathname(anchor.href);\n\t\t\tconst prefix = anchor.dataset.absoluteTabMatch === 'prefix';\n\t\t\tconst active =\n\t\t\t\tcandidate !== undefined &&\n\t\t\t\t(prefix\n\t\t\t\t\t? activePath === candidate ||\n\t\t\t\t\t\t(candidate !== '/' &&\n\t\t\t\t\t\t\tactivePath.startsWith(`${candidate}/`))\n\t\t\t\t\t: activePath === candidate);\n\t\t\tif (active) anchor.setAttribute('aria-current', 'page');\n\t\t\telse anchor.removeAttribute('aria-current');\n\t\t});\n};\n\n/** Installs optional semantic-HTML mobile layout and interaction primitives. */\nexport const installAbsoluteMobileUiPrimitives =\n\t(): AbsoluteMobileUiPrimitives => {\n\t\tlet disposed = false;\n\t\tlet scheduled = false;\n\t\tlet path = currentPath();\n\t\tconst refreshDocument = (nextPath = path) => {\n\t\t\tif (disposed || !document.head || !document.body) return;\n\t\t\tpath = nextPath;\n\t\t\tensureStyle();\n\t\t\tsyncTabLinks(path);\n\t\t};\n\t\tconst scheduleRefresh = () => {\n\t\t\tif (scheduled || disposed) return;\n\t\t\tscheduled = true;\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tscheduled = false;\n\t\t\t\trefreshDocument();\n\t\t\t});\n\t\t};\n\t\tconst handleClick = (event: MouseEvent) => {\n\t\t\tif (!(event.target instanceof Element)) return;\n\t\t\tconst opener = event.target.closest<HTMLElement>(\n\t\t\t\t'[data-absolute-sheet-open]'\n\t\t\t);\n\t\t\tif (opener?.dataset.absoluteSheetOpen) {\n\t\t\t\tif (\n\t\t\t\t\topenAbsoluteMobileSheet(\n\t\t\t\t\t\topener.dataset.absoluteSheetOpen,\n\t\t\t\t\t\topener\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst closer = event.target.closest<HTMLElement>(\n\t\t\t\t'[data-absolute-sheet-close]'\n\t\t\t);\n\t\t\tconst sheet = closer?.closest<HTMLDialogElement>(\n\t\t\t\t'dialog[data-absolute-sheet]'\n\t\t\t);\n\t\t\tif (sheet && closeAbsoluteMobileSheet(sheet)) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tevent.target instanceof HTMLDialogElement &&\n\t\t\t\tevent.target.dataset.absoluteSheet !== undefined\n\t\t\t) {\n\t\t\t\tconst rect = event.target.getBoundingClientRect();\n\t\t\t\tconst outside =\n\t\t\t\t\tevent.clientX < rect.left ||\n\t\t\t\t\tevent.clientX > rect.right ||\n\t\t\t\t\tevent.clientY < rect.top ||\n\t\t\t\t\tevent.clientY > rect.bottom;\n\t\t\t\tif (outside && closeAbsoluteMobileSheet(event.target))\n\t\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t};\n\t\tconst handleCancel = (event: Event) => {\n\t\t\tif (!(event.target instanceof HTMLDialogElement)) return;\n\t\t\tif (event.target.dataset.absoluteSheet === undefined) return;\n\t\t\tevent.preventDefault();\n\t\t\tcloseAbsoluteMobileSheet(event.target);\n\t\t};\n\t\tconst handleBack = (event: Event) => {\n\t\t\tconst active = document.querySelector<HTMLDialogElement>(\n\t\t\t\tACTIVE_SHEET_SELECTOR\n\t\t\t);\n\t\t\tif (!active) return;\n\t\t\tevent.preventDefault();\n\t\t\tcloseAbsoluteMobileSheet(active);\n\t\t};\n\t\tconst observer = new MutationObserver(scheduleRefresh);\n\t\tobserver.observe(document.documentElement, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true\n\t\t});\n\t\taddEventListener('click', handleClick);\n\t\taddEventListener('cancel', handleCancel, true);\n\t\taddEventListener(BACK_EVENT, handleBack);\n\t\trefreshDocument();\n\n\t\treturn {\n\t\t\trefreshDocument,\n\t\t\trequestBack: requestAbsoluteMobileBack,\n\t\t\tdispose: () => {\n\t\t\t\tif (disposed) return;\n\t\t\t\tdisposed = true;\n\t\t\t\tobserver.disconnect();\n\t\t\t\tremoveEventListener('click', handleClick);\n\t\t\t\tremoveEventListener('cancel', handleCancel, true);\n\t\t\t\tremoveEventListener(BACK_EVENT, handleBack);\n\t\t\t},\n\t\t\tnavigate: (detail) => {\n\t\t\t\tpath = detail.to;\n\t\t\t\tdocument.documentElement.dataset.absoluteNavigationDirection =\n\t\t\t\t\tdetail.direction;\n\t\t\t\trefreshDocument(path);\n\t\t\t\tdispatchEvent(\n\t\t\t\t\tnew CustomEvent<AbsoluteMobileNavigationDetail>(\n\t\t\t\t\t\tNAVIGATION_EVENT,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdetail\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t};\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "C943213869256FF464756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "B81A0F5B139C1CE364756E2164756E21",
16
16
  "names": []
17
17
  }
@@ -1383,7 +1383,7 @@ var init_routeMatcher = __esm(() => {
1383
1383
  });
1384
1384
 
1385
1385
  // src/utils/runtimeMode.ts
1386
- var ENV_VAR = "NODE_ENV", getNodeEnv = () => process.env[ENV_VAR], isDevelopmentRuntime = () => process.env[ENV_VAR] === "development", isProductionRuntime = () => process.env[ENV_VAR] === "production";
1386
+ var ENV_VAR = "NODE_ENV", readEnv = () => typeof process === "undefined" ? undefined : process.env?.[ENV_VAR], getNodeEnv = () => readEnv(), isDevelopmentRuntime = () => readEnv() === "development", isProductionRuntime = () => readEnv() === "production";
1387
1387
 
1388
1388
  // src/mobile/producerContextState.ts
1389
1389
  var ABSOLUTE_MOBILE_PRODUCER_STORAGE_KEY, frameworks3, isCompatibilityPage = (value) => typeof value === "object" && value !== null && ("bundleHash" in value) && typeof value.bundleHash === "string" && ("contract" in value) && typeof value.contract === "string" && ("framework" in value) && typeof value.framework === "string" && frameworks3.has(value.framework) && ("pageId" in value) && typeof value.pageId === "string" && ("propsSchemaHash" in value) && typeof value.propsSchemaHash === "string", getCurrentAbsoluteMobileProducerContext = () => {
@@ -27659,5 +27659,5 @@ export {
27659
27659
  writeAbsoluteMobileUpdateRegistry
27660
27660
  };
27661
27661
 
27662
- //# debugId=591606D34D6E7A5C64756E2164756E21
27662
+ //# debugId=CDE65FCB7B21BC4364756E2164756E21
27663
27663
  //# sourceMappingURL=index.js.map