@abide/abide 0.58.0 → 0.100.0
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/CHANGELOG.md +3 -1781
- package/bin/abide.ts +788 -204
- package/package.json +30 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +109 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +537 -0
- package/src/server/answerSocket.ts +537 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +66 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +613 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +499 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +7 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +223 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +423 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4480 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +418 -0
- package/src/shared/reactive/watch.ts +310 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +496 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
package/src/lib/ui/router.ts
DELETED
|
@@ -1,649 +0,0 @@
|
|
|
1
|
-
import { layoutChainForRoute } from '../shared/layoutChainForRoute.ts'
|
|
2
|
-
import { matchRoute } from '../shared/matchRoute.ts'
|
|
3
|
-
import { fillBoundary } from './dom/fillBoundary.ts'
|
|
4
|
-
import { outlet } from './dom/outlet.ts'
|
|
5
|
-
import { effect } from './effect.ts'
|
|
6
|
-
import { navigatePath } from './navigate.ts'
|
|
7
|
-
import { CHILD_PRESENT } from './runtime/CHILD_PRESENT.ts'
|
|
8
|
-
import { clientPage } from './runtime/clientPage.ts'
|
|
9
|
-
import { historyEntries } from './runtime/historyEntries.ts'
|
|
10
|
-
import { PENDING_OUTLET } from './runtime/PENDING_OUTLET.ts'
|
|
11
|
-
import { RENDER } from './runtime/RENDER.ts'
|
|
12
|
-
import { runHydrationPass } from './runtime/runHydrationPass.ts'
|
|
13
|
-
import { runtimePath } from './runtime/runtimePath.ts'
|
|
14
|
-
import type { AbideHistoryState } from './runtime/types/AbideHistoryState.ts'
|
|
15
|
-
import type { NavVerdict } from './runtime/types/NavVerdict.ts'
|
|
16
|
-
import type { Route } from './runtime/types/Route.ts'
|
|
17
|
-
import type { RouteLoader } from './runtime/types/RouteLoader.ts'
|
|
18
|
-
import type { UiProps } from './runtime/types/UiProps.ts'
|
|
19
|
-
import { untrack } from './runtime/untrack.ts'
|
|
20
|
-
import { withPath } from './runtime/withPath.ts'
|
|
21
|
-
|
|
22
|
-
/* An outlet boundary — the `<!--abide:outlet-->`…`<!--/abide:outlet-->` marker pair a
|
|
23
|
-
layer's content lives between (a layout's `<slot/>`, or the router's root boundary in
|
|
24
|
-
the mount host). The next chain layer fills it; no `<abide-outlet>` element. */
|
|
25
|
-
type Boundary = { open: Comment; close: Comment }
|
|
26
|
-
|
|
27
|
-
/* A layout mounted in the active chain: its route key (the directory URL — its identity
|
|
28
|
-
for the diff), the disposer that stops its reactivity and clears its content, and the
|
|
29
|
-
boundary of its own `<slot/>` — where the next layer mounts. */
|
|
30
|
-
type MountedLayout = { key: string; dispose: () => void; slot: Boundary }
|
|
31
|
-
|
|
32
|
-
/* The destination URL for a navigation `path`. On the server / headless there is no
|
|
33
|
-
`location`, so resolve against a localhost origin; in the browser, against the real
|
|
34
|
-
origin — `location` is already updated to `path` by the time a swap reads it, so this
|
|
35
|
-
matches `new URL(location.href)`. */
|
|
36
|
-
const resolveUrl = (path: string): URL =>
|
|
37
|
-
typeof location === 'undefined'
|
|
38
|
-
? new URL(`http://localhost${path}`)
|
|
39
|
-
: new URL(path, location.origin)
|
|
40
|
-
|
|
41
|
-
/* A full browser load is the recovery for an import/probe failure — offline, a hashed
|
|
42
|
-
chunk name rotated by a deploy, a transient 5xx. But a DETERMINISTIC failure (a chunk
|
|
43
|
-
that throws every load) would reload forever. Bound it per destination: after
|
|
44
|
-
MAX_RECOVERY_RELOADS consecutive reloads of the same URL, stop and leave the error
|
|
45
|
-
visible instead of thrashing. `sessionStorage` so the count survives the reload it
|
|
46
|
-
triggers (and clears with the tab); absent it (SSR / privacy mode), fall back to a
|
|
47
|
-
single reload. `clearRecoveryReloads` resets the count once that URL mounts cleanly,
|
|
48
|
-
so a later genuine blip gets its reload again. */
|
|
49
|
-
const MAX_RECOVERY_RELOADS = 2
|
|
50
|
-
const reloadCountKey = (url: string): string => `abide:reload:${url}`
|
|
51
|
-
|
|
52
|
-
function boundedReload(url: string): void {
|
|
53
|
-
if (typeof location === 'undefined') {
|
|
54
|
-
return
|
|
55
|
-
}
|
|
56
|
-
let count = 0
|
|
57
|
-
try {
|
|
58
|
-
count = Number(sessionStorage.getItem(reloadCountKey(url)) ?? '0')
|
|
59
|
-
sessionStorage.setItem(reloadCountKey(url), String(count + 1))
|
|
60
|
-
} catch {
|
|
61
|
-
/* sessionStorage blocked — proceed with an unbounded single reload. */
|
|
62
|
-
}
|
|
63
|
-
if (count >= MAX_RECOVERY_RELOADS) {
|
|
64
|
-
console.error(
|
|
65
|
-
`[abide] gave up reloading ${url} after ${count} attempts — the page keeps failing to load. See the error above.`,
|
|
66
|
-
)
|
|
67
|
-
return
|
|
68
|
-
}
|
|
69
|
-
location.href = url
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/* A URL mounted cleanly — forget its reload history so a future transient failure there
|
|
73
|
-
is allowed to recover by reloading again. */
|
|
74
|
-
function clearRecoveryReloads(url: string): void {
|
|
75
|
-
try {
|
|
76
|
-
sessionStorage.removeItem(reloadCountKey(url))
|
|
77
|
-
} catch {
|
|
78
|
-
/* nothing persisted — nothing to clear. */
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/*
|
|
83
|
-
A minimal client router on the History API. `router` matches the current path
|
|
84
|
-
against the route patterns (literal / `[name]` / `[[name]]` / `[...rest]`, via
|
|
85
|
-
the shared matchRoute — the same matcher the server dispatches with),
|
|
86
|
-
imports the matching page's chunk — plus every `layout.abide` chunk that wraps it
|
|
87
|
-
(`layoutChainForRoute`) — on demand, and mounts them as a chain: each layout into
|
|
88
|
-
the previous layout's `<slot/>` outlet, the page into the innermost outlet.
|
|
89
|
-
|
|
90
|
-
Navigation re-resolves the chain and DIFFS it against the mounted one: layouts whose
|
|
91
|
-
route key still matches at the same depth stay mounted (their state, effects, scroll,
|
|
92
|
-
and DOM survive); from the first divergent layout down — the leaf layers — everything
|
|
93
|
-
is disposed and rebuilt, and the page (always the leaf) re-mounts every time. The
|
|
94
|
-
reactive `page` proxy means a persisted layout reading route/params updates in place
|
|
95
|
-
without a remount. Each chunk loads only on first visit, cached after.
|
|
96
|
-
|
|
97
|
-
Scroll restoration is manual (`historyEntries`): because the page is rebuilt after the
|
|
98
|
-
browser would restore scroll, each history entry's offset is bucketed by an `abideEntry`
|
|
99
|
-
id and reapplied once the destination DOM exists — back/forward returns to its offset, a
|
|
100
|
-
fresh navigation scrolls to the top.
|
|
101
|
-
|
|
102
|
-
`probe` (when given) runs each post-boot navigation's destination through the
|
|
103
|
-
server's app.handle first, so auth/redirect gating applies to client navigation
|
|
104
|
-
just as it does to a fresh load; its verdict either clears the mount, soft-redirects
|
|
105
|
-
where handle() pointed, or hands off to a full browser load. The first render
|
|
106
|
-
adopts a document handle() already ran on, so it isn't probed. There is no server
|
|
107
|
-
router — the server picks the page by request URL directly; this is the client
|
|
108
|
-
half. `*` is the fallback route.
|
|
109
|
-
*/
|
|
110
|
-
// @documentation plumbing
|
|
111
|
-
export function router(
|
|
112
|
-
host: Element,
|
|
113
|
-
loaders: Record<string, RouteLoader>,
|
|
114
|
-
layoutLoaders: Record<string, RouteLoader> = {},
|
|
115
|
-
probe?: (path: string) => Promise<NavVerdict>,
|
|
116
|
-
): () => void {
|
|
117
|
-
/* The mounted layout chain (outermost first) + the page disposer. */
|
|
118
|
-
const mountedLayouts: MountedLayout[] = []
|
|
119
|
-
let disposePage: (() => void) | undefined
|
|
120
|
-
/* The route key of the currently mounted leaf page — its identity for the
|
|
121
|
-
same-page in-place diff: when a navigation resolves to this same key with an
|
|
122
|
-
unchanged layout chain, only params/url differ, so the page stays mounted and
|
|
123
|
-
updates through the reactive `page` proxy (no teardown). */
|
|
124
|
-
let mountedPageKey: string | undefined
|
|
125
|
-
/* The root outlet boundary in `host` (`#app`) the outermost layer fills — established
|
|
126
|
-
once on the first mount (claimed from the SSR DOM when hydrating, created otherwise)
|
|
127
|
-
and reused across navigations, since `#app` itself never re-mounts. */
|
|
128
|
-
let rootBoundary: Boundary | undefined
|
|
129
|
-
const patterns = Object.keys(loaders).filter((key) => key !== '*')
|
|
130
|
-
const layoutKeys = Object.keys(layoutLoaders)
|
|
131
|
-
|
|
132
|
-
/* A code-split resolver over one loader map: resolved chunks keyed by route
|
|
133
|
-
pattern, so a revisit re-mounts without a second import. */
|
|
134
|
-
const resolver = (
|
|
135
|
-
map: Record<string, RouteLoader>,
|
|
136
|
-
): ((key: string) => Promise<Route | undefined>) => {
|
|
137
|
-
const resolved = new Map<string, Route | undefined>()
|
|
138
|
-
return async (key) => {
|
|
139
|
-
if (resolved.has(key)) {
|
|
140
|
-
return resolved.get(key)
|
|
141
|
-
}
|
|
142
|
-
const loader = map[key]
|
|
143
|
-
const view = loader === undefined ? undefined : (await loader()).default
|
|
144
|
-
resolved.set(key, view)
|
|
145
|
-
return view
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
const resolvePage = resolver(loaders)
|
|
149
|
-
const resolveLayout = resolver(layoutLoaders)
|
|
150
|
-
|
|
151
|
-
/* Tear down the page and every layout from `index` inward (innermost first). Each
|
|
152
|
-
layer's disposer stops its reactivity and clears its content from its boundary
|
|
153
|
-
(the outermost cleared range removes the inner DOM too — harmless double-clears).
|
|
154
|
-
Leaves the boundary markers in place so the rebuild fills the same boundary. */
|
|
155
|
-
const disposeFrom = (index: number): void => {
|
|
156
|
-
disposePage?.()
|
|
157
|
-
disposePage = undefined
|
|
158
|
-
for (let depth = mountedLayouts.length - 1; depth >= index; depth -= 1) {
|
|
159
|
-
mountedLayouts[depth]?.dispose()
|
|
160
|
-
}
|
|
161
|
-
mountedLayouts.length = index
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/* The outlet boundary the layer at `index` fills: the root boundary for the outermost
|
|
165
|
-
layer, else the surviving parent layout's `<slot/>`. */
|
|
166
|
-
const baseBoundary = (index: number): Boundary =>
|
|
167
|
-
index === 0 ? (rootBoundary as Boundary) : (mountedLayouts[index - 1] as MountedLayout).slot
|
|
168
|
-
|
|
169
|
-
/* Build (or hydrate) the chain tail — layouts `[index..]` then the page — filling each
|
|
170
|
-
layer into the previous one's `<slot/>` boundary (the root boundary for the
|
|
171
|
-
outermost). `outlet()` records each layer's own slot in `PENDING_OUTLET` as the
|
|
172
|
-
layer builds, so the next layer knows where to mount — no DOM scan. Hydration
|
|
173
|
-
brackets ONE render pass + claim cursor across all layers so await/try block ids
|
|
174
|
-
stay unique and aligned with the SSR stream; a fresh mount needs no shared pass. */
|
|
175
|
-
const buildFrom = (
|
|
176
|
-
index: number,
|
|
177
|
-
chainKeys: string[],
|
|
178
|
-
layoutViews: Route[],
|
|
179
|
-
pageView: Route | undefined,
|
|
180
|
-
pageKey: string,
|
|
181
|
-
params: Record<string, string>,
|
|
182
|
-
hydrating: boolean,
|
|
183
|
-
): void => {
|
|
184
|
-
const run = (): void => {
|
|
185
|
-
/* Establish the root boundary on the first mount — `outlet(host)` claims the
|
|
186
|
-
SSR root boundary (hydrating) or creates it (fresh), recording it in
|
|
187
|
-
`PENDING_OUTLET`. Reused across navigations thereafter. A fresh first mount
|
|
188
|
-
(no claim cursor — e.g. a non-hydratable page whose SSR shell can't be
|
|
189
|
-
adopted) discards whatever the server put in `#app` first, so the created
|
|
190
|
-
boundary is the only content. */
|
|
191
|
-
if (rootBoundary === undefined) {
|
|
192
|
-
if (RENDER.hydration === undefined) {
|
|
193
|
-
host.textContent = ''
|
|
194
|
-
}
|
|
195
|
-
outlet(host)
|
|
196
|
-
rootBoundary = PENDING_OUTLET.current as Boundary
|
|
197
|
-
}
|
|
198
|
-
/* Route params as reactive thunks: reading `clientPage.value.params` inside the
|
|
199
|
-
thunk tracks the page signal, so an in-place same-route hop (params change, the
|
|
200
|
-
page stays mounted) re-runs each `props()` derive. The key set is stable across
|
|
201
|
-
same-route hops, so the bag need not rebuild. A layout also gets `children`
|
|
202
|
-
set to `CHILD_PRESENT` when a child layer exists below it, read by
|
|
203
|
-
`{#if children}` (a layout's `{children()}` lowers to its `outlet()` boundary,
|
|
204
|
-
so it ignores this value). Every bag entry is a thunk — `props()` destructure
|
|
205
|
-
lowers to `$props["key"]?.()` — so the sentinel must be wrapped too, or calling
|
|
206
|
-
it would invoke `CHILD_PRESENT` and yield `undefined` instead of the sentinel. */
|
|
207
|
-
const propsBag = (hasChild: boolean): UiProps => {
|
|
208
|
-
const bag: UiProps = {}
|
|
209
|
-
for (const key of Object.keys(params)) {
|
|
210
|
-
bag[key] = () => clientPage.value.params[key]
|
|
211
|
-
}
|
|
212
|
-
if (hasChild) {
|
|
213
|
-
bag.children = () => CHILD_PRESENT
|
|
214
|
-
}
|
|
215
|
-
return bag
|
|
216
|
-
}
|
|
217
|
-
let boundary = baseBoundary(index)
|
|
218
|
-
for (let depth = index; depth < layoutViews.length; depth += 1) {
|
|
219
|
-
const view = layoutViews[depth] as Route
|
|
220
|
-
PENDING_OUTLET.current = undefined
|
|
221
|
-
/* Root this layer's render-path at its route key (the directory URL — stable
|
|
222
|
-
across reloads and globally unique), so every scope/cell it builds gets a
|
|
223
|
-
serialization-stable id under it (`withPath`). */
|
|
224
|
-
const { dispose } = withPath(chainKeys[depth] as string, () =>
|
|
225
|
-
fillBoundary(
|
|
226
|
-
boundary.open,
|
|
227
|
-
boundary.close,
|
|
228
|
-
view.build,
|
|
229
|
-
/* A layout always has a child below: a deeper layout, or the page. */
|
|
230
|
-
propsBag(depth < layoutViews.length - 1 || pageView !== undefined),
|
|
231
|
-
),
|
|
232
|
-
)
|
|
233
|
-
const slot = PENDING_OUTLET.current
|
|
234
|
-
if (slot === undefined) {
|
|
235
|
-
throw new Error('[abide] a layout.abide must contain a {children()} outlet')
|
|
236
|
-
}
|
|
237
|
-
mountedLayouts.push({ key: chainKeys[depth] as string, dispose, slot })
|
|
238
|
-
boundary = slot
|
|
239
|
-
}
|
|
240
|
-
if (pageView === undefined) {
|
|
241
|
-
mountedPageKey = undefined
|
|
242
|
-
return
|
|
243
|
-
}
|
|
244
|
-
/* Root the page's render-path at its route key (stable, unique) — see the layout
|
|
245
|
-
layer above. */
|
|
246
|
-
disposePage = withPath(pageKey, () =>
|
|
247
|
-
fillBoundary(
|
|
248
|
-
boundary.open,
|
|
249
|
-
boundary.close,
|
|
250
|
-
pageView.build,
|
|
251
|
-
/* A page is a leaf — no child layer. */
|
|
252
|
-
propsBag(false),
|
|
253
|
-
),
|
|
254
|
-
).dispose
|
|
255
|
-
mountedPageKey = pageKey
|
|
256
|
-
}
|
|
257
|
-
if (hydrating) {
|
|
258
|
-
/* The pass lifecycle (claim cursor, withhold window, render pass, and the
|
|
259
|
-
warm-seed restore a throwing pass owes its cold rebuild) is owned by
|
|
260
|
-
`runHydrationPass` — the same bracket `hydrate` runs. */
|
|
261
|
-
runHydrationPass(run)
|
|
262
|
-
return
|
|
263
|
-
}
|
|
264
|
-
run()
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
const entryOf = (): number =>
|
|
268
|
-
(history.state as AbideHistoryState | null)?.abideEntry ?? historyEntries.current
|
|
269
|
-
const onPopState = (): void => {
|
|
270
|
-
/* Bucket the leaving entry's scroll (current still its id) before adopting the
|
|
271
|
-
one back/forward landed on; `swap` restores the adopted entry's offset once
|
|
272
|
-
its DOM is rebuilt. */
|
|
273
|
-
historyEntries.save()
|
|
274
|
-
historyEntries.adopt(entryOf())
|
|
275
|
-
runtimePath.value = location.pathname + location.search + location.hash
|
|
276
|
-
}
|
|
277
|
-
const onPageHide = (): void => {
|
|
278
|
-
/* Mirror the live scroll into the active entry's state before it unloads, so a
|
|
279
|
-
non-hydratable reload (which tears the SSR DOM down) can recover it from the
|
|
280
|
-
manual bucket. */
|
|
281
|
-
historyEntries.persist()
|
|
282
|
-
/* Re-enable native scroll restoration for the NEXT document load (a reload): the
|
|
283
|
-
browser restores the SSR DOM's offset before paint, flash-free — where the
|
|
284
|
-
manual bucket, gated behind the async chunk import, would re-apply post-paint
|
|
285
|
-
(a visible scroll). The first paint flips back to `manual` for in-session nav. */
|
|
286
|
-
if ('scrollRestoration' in history) {
|
|
287
|
-
history.scrollRestoration = 'auto'
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
const onClick = (event: MouseEvent): void => {
|
|
291
|
-
/* Let the browser own anything that isn't a plain primary-button click:
|
|
292
|
-
modified clicks (open in a new tab/window), middle/right buttons, and
|
|
293
|
-
already-handled events. */
|
|
294
|
-
if (
|
|
295
|
-
event.defaultPrevented ||
|
|
296
|
-
event.button !== 0 ||
|
|
297
|
-
event.metaKey ||
|
|
298
|
-
event.ctrlKey ||
|
|
299
|
-
event.shiftKey ||
|
|
300
|
-
event.altKey
|
|
301
|
-
) {
|
|
302
|
-
return
|
|
303
|
-
}
|
|
304
|
-
const target = event.target as Element
|
|
305
|
-
/* `closest?.` is undefined when the target is a non-Element (text node, document)
|
|
306
|
-
that has no `closest`; `== null` catches both that and a genuine no-match null. */
|
|
307
|
-
const link = target.closest?.('a[href]') as HTMLAnchorElement | null
|
|
308
|
-
if (link == null) {
|
|
309
|
-
return
|
|
310
|
-
}
|
|
311
|
-
/* Defer to the browser for links it should own: a new-tab target, a
|
|
312
|
-
download, or an explicitly external rel. */
|
|
313
|
-
if (
|
|
314
|
-
(link.target !== '' && link.target !== '_self') ||
|
|
315
|
-
link.hasAttribute('download') ||
|
|
316
|
-
link.getAttribute('rel') === 'external'
|
|
317
|
-
) {
|
|
318
|
-
return
|
|
319
|
-
}
|
|
320
|
-
const destination = new URL(link.href)
|
|
321
|
-
if (destination.origin !== location.origin) {
|
|
322
|
-
return
|
|
323
|
-
}
|
|
324
|
-
event.preventDefault()
|
|
325
|
-
/* Carry the query and hash, not just the pathname, so the destination page's
|
|
326
|
-
page.url sees them and an SPA navigation matches a fresh server load. */
|
|
327
|
-
navigatePath(destination.pathname + destination.search + destination.hash)
|
|
328
|
-
}
|
|
329
|
-
if (typeof window !== 'undefined') {
|
|
330
|
-
/* Scroll restoration is the browser's job on a document load (reload / first
|
|
331
|
-
paint): native restoration runs BEFORE paint, so a hydrating in-place adopt
|
|
332
|
-
returns to the reload offset flash-free (`auto` here also self-heals an entry a
|
|
333
|
-
prior session left `manual`). The first paint then flips to `manual` (below) so
|
|
334
|
-
an in-session back/forward — which tears the page down and rebuilds — restores
|
|
335
|
-
against the new DOM instead of letting the browser restore against the
|
|
336
|
-
torn-down one; `onPageHide` flips back to `auto` for the next load. Still adopt
|
|
337
|
-
the initial entry's id (survives a reload) and stamp it onto the landing entry —
|
|
338
|
-
merging so any `scroll` a prior unload persisted stays put for a non-hydratable
|
|
339
|
-
first paint's manual `restore` to recover. */
|
|
340
|
-
if ('scrollRestoration' in history) {
|
|
341
|
-
history.scrollRestoration = 'auto'
|
|
342
|
-
}
|
|
343
|
-
historyEntries.adopt(entryOf())
|
|
344
|
-
const landingState = (history.state as AbideHistoryState | null) ?? {}
|
|
345
|
-
history.replaceState(
|
|
346
|
-
{ ...landingState, abideEntry: historyEntries.current },
|
|
347
|
-
'',
|
|
348
|
-
location.href,
|
|
349
|
-
)
|
|
350
|
-
window.addEventListener('popstate', onPopState)
|
|
351
|
-
window.addEventListener('pagehide', onPageHide)
|
|
352
|
-
document.addEventListener('click', onClick as EventListener)
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
/* First render adopts the server-rendered DOM (when the matching page is
|
|
356
|
-
hydratable); navigation after that re-mounts fresh. */
|
|
357
|
-
let first = true
|
|
358
|
-
/* Monotonic token: a newer navigation that resolves first wins, so a slow
|
|
359
|
-
chunk landing late never overwrites the page the user has since moved to. */
|
|
360
|
-
let sequence = 0
|
|
361
|
-
/* Latched on teardown so a navigation whose imports/probe were in flight at
|
|
362
|
-
dispose can't run its `.then` and rebuild a chain we just tore down — the
|
|
363
|
-
`token` guard only catches a *newer* navigation, not disposal. */
|
|
364
|
-
let disposed = false
|
|
365
|
-
const stop = effect(() => {
|
|
366
|
-
/* The route is the only dependency the router should re-run on. Everything
|
|
367
|
-
else runs untracked so the page's build-time reads (each interpolation
|
|
368
|
-
reads its value once before wrapping it in its own effect) bind to the
|
|
369
|
-
page's own effects, not this one — otherwise any in-page state change
|
|
370
|
-
would re-run the router and re-mount the page, dropping local state. */
|
|
371
|
-
const path = runtimePath.value
|
|
372
|
-
untrack(() => {
|
|
373
|
-
/* Capture whether THIS run is the first paint, then flip the shared flag
|
|
374
|
-
synchronously. Previously `first` was only cleared inside the async `.then`,
|
|
375
|
-
so a second navigation that began before the boot resolve settled (a
|
|
376
|
-
double-tapped back button, two quick `navigate()` calls) still read
|
|
377
|
-
`first === true` and skipped its auth/redirect probe. Each run's `.then`
|
|
378
|
-
closes over its own `isFirstRun`, so hydration still keys off the real first
|
|
379
|
-
paint. */
|
|
380
|
-
const isFirstRun = first
|
|
381
|
-
first = false
|
|
382
|
-
/* The route matches on the pathname only; the query/hash ride along for
|
|
383
|
-
the probe (so server gating sees them) and for clientPage.url. */
|
|
384
|
-
const pathname = path.split(/[?#]/)[0] ?? path
|
|
385
|
-
/* A same-document navigation — only the `#hash` (and thus scroll) differs from
|
|
386
|
-
the mounted page — needs no teardown: the live page stays, page.url
|
|
387
|
-
republishes (so `page.url.hash` updates in place), and we restore the entry's
|
|
388
|
-
scroll bucket or scroll to the anchor. A differing pathname or query still
|
|
389
|
-
rebuilds (a query is page data). Skipped on first paint — nothing is mounted. */
|
|
390
|
-
const targetUrl = resolveUrl(path)
|
|
391
|
-
const mountedUrl = clientPage.value.url
|
|
392
|
-
if (
|
|
393
|
-
!isFirstRun &&
|
|
394
|
-
mountedUrl.pathname === targetUrl.pathname &&
|
|
395
|
-
mountedUrl.search === targetUrl.search &&
|
|
396
|
-
mountedUrl.hash !== targetUrl.hash
|
|
397
|
-
) {
|
|
398
|
-
/* Invalidate any in-flight full navigation so its late `.then` can't
|
|
399
|
-
rebuild over the page this hash hop keeps mounted (the token guard
|
|
400
|
-
only bails on a NEWER sequence). That bailed `.then` is also the only
|
|
401
|
-
writer of `navigating: false`, so clear the flag here — a hash hop is
|
|
402
|
-
synchronous and settles immediately. */
|
|
403
|
-
sequence += 1
|
|
404
|
-
clientPage.value = { ...clientPage.value, url: targetUrl, navigating: false }
|
|
405
|
-
historyEntries.restore(targetUrl.hash)
|
|
406
|
-
return
|
|
407
|
-
}
|
|
408
|
-
const matched = matchRoute(patterns, pathname)
|
|
409
|
-
const key = matched?.route ?? '*'
|
|
410
|
-
const params = matched?.params ?? {}
|
|
411
|
-
/* The layout chain resolves off the literal route key (so a layout at a
|
|
412
|
-
`[id]` directory matches the `[name]` pattern, not the concrete path). */
|
|
413
|
-
const chainRoute = matched?.route ?? pathname
|
|
414
|
-
const chainKeys = layoutChainForRoute(chainRoute, layoutKeys)
|
|
415
|
-
sequence += 1
|
|
416
|
-
const token = sequence
|
|
417
|
-
/* Flag the outgoing page as navigating for the resolve window — chunk
|
|
418
|
-
import + probe + the view transition all run before the swap commits.
|
|
419
|
-
Published on the CURRENT snapshot (route/params unchanged) so a spinner
|
|
420
|
-
bound to `page.navigating` shows over the page being left; `swap`
|
|
421
|
-
republishes with the destination and `navigating: false` on commit.
|
|
422
|
-
Skipped on first paint — there is no page to leave. An instant SPA hop
|
|
423
|
-
(chunk cached, no probe) flips it back within the same microtask, so the
|
|
424
|
-
browser never paints the intermediate state — no flash. */
|
|
425
|
-
if (!isFirstRun && !clientPage.value.navigating) {
|
|
426
|
-
clientPage.value = { ...clientPage.value, navigating: true }
|
|
427
|
-
}
|
|
428
|
-
/* First paint adopts a document the server already ran handle() on;
|
|
429
|
-
only later navigations re-run it through the probe. */
|
|
430
|
-
const verdict: Promise<NavVerdict> =
|
|
431
|
-
isFirstRun || probe === undefined ? Promise.resolve({ kind: 'mount' }) : probe(path)
|
|
432
|
-
/* Resolve the page chunk, its layout chunks, and the gate in parallel,
|
|
433
|
-
keeping the current chain mounted until all land — no blank frame while
|
|
434
|
-
imports are in flight or the probe is in the air. */
|
|
435
|
-
void Promise.all([
|
|
436
|
-
resolvePage(key),
|
|
437
|
-
Promise.all(chainKeys.map((layoutKey) => resolveLayout(layoutKey))),
|
|
438
|
-
verdict,
|
|
439
|
-
])
|
|
440
|
-
.then(([pageView, resolvedLayouts, decision]) => {
|
|
441
|
-
if (token !== sequence || disposed) {
|
|
442
|
-
/* Superseded (or disposed) — drop this build. The first-paint flag was
|
|
443
|
-
already consumed synchronously at run start (`first = false`), so a
|
|
444
|
-
navigation that started after this one already saw `first === false`,
|
|
445
|
-
ran its probe, and builds in create mode over the stale SSR DOM. */
|
|
446
|
-
return
|
|
447
|
-
}
|
|
448
|
-
/* handle() redirected: go where it pointed, replacing the blocked
|
|
449
|
-
URL so back doesn't trap on it. The router re-probes the target. */
|
|
450
|
-
if (decision.kind === 'redirect') {
|
|
451
|
-
navigatePath(decision.path, { replace: true })
|
|
452
|
-
return
|
|
453
|
-
}
|
|
454
|
-
/* handle() blocked it / redirected off-origin / the probe failed:
|
|
455
|
-
let the browser load the server's real response. */
|
|
456
|
-
if (decision.kind === 'reload') {
|
|
457
|
-
boundedReload(decision.url)
|
|
458
|
-
return
|
|
459
|
-
}
|
|
460
|
-
const layoutViews = resolvedLayouts.filter(
|
|
461
|
-
(view): view is Route => view !== undefined,
|
|
462
|
-
)
|
|
463
|
-
/* The shared prefix of layouts (same route key at the same depth) stays
|
|
464
|
-
mounted; the first divergence and everything inward is rebuilt. */
|
|
465
|
-
let divergence = 0
|
|
466
|
-
while (
|
|
467
|
-
divergence < mountedLayouts.length &&
|
|
468
|
-
divergence < chainKeys.length &&
|
|
469
|
-
mountedLayouts[divergence]?.key === chainKeys[divergence]
|
|
470
|
-
) {
|
|
471
|
-
divergence += 1
|
|
472
|
-
}
|
|
473
|
-
const firstPaint = isFirstRun
|
|
474
|
-
const hydrating = isFirstRun && pageView?.hydratable === true
|
|
475
|
-
/* Same page, same layout chain — only params/url differ (e.g. stepping
|
|
476
|
-
between episodes on one detail page). The whole structure survives, so
|
|
477
|
-
publish the new snapshot on the reactive `page` proxy and let the mounted
|
|
478
|
-
page + layouts re-derive in place — no teardown, no rebuild, so local
|
|
479
|
-
state, scroll, and DOM are kept (the persistence layouts already get,
|
|
480
|
-
now extended to the leaf). A reader keyed on an *unchanged* param (a page
|
|
481
|
-
whose data is `cache(...)({ id: page.params.id })`) doesn't re-fire at
|
|
482
|
-
all — value-memoised computeds stop the equal id from waking it — so the
|
|
483
|
-
page's blocking await never re-suspends. No view transition: nothing
|
|
484
|
-
structurally swaps. */
|
|
485
|
-
const targetUrl = resolveUrl(path)
|
|
486
|
-
const samePageInPlace =
|
|
487
|
-
pageView !== undefined &&
|
|
488
|
-
key === mountedPageKey &&
|
|
489
|
-
divergence === mountedLayouts.length &&
|
|
490
|
-
divergence === chainKeys.length &&
|
|
491
|
-
/* A differing query is page data — it still rebuilds, matching the
|
|
492
|
-
hash-only fast path's guard. Only path-param changes within the same
|
|
493
|
-
route key (e.g. the episode segment) take the in-place route. */
|
|
494
|
-
clientPage.value.url.search === targetUrl.search
|
|
495
|
-
if (samePageInPlace) {
|
|
496
|
-
clientPage.value = {
|
|
497
|
-
route: chainRoute,
|
|
498
|
-
params,
|
|
499
|
-
url: targetUrl,
|
|
500
|
-
navigating: false,
|
|
501
|
-
}
|
|
502
|
-
historyEntries.restore(targetUrl.hash)
|
|
503
|
-
return
|
|
504
|
-
}
|
|
505
|
-
/* The DOM mutation a navigation makes: tear the divergent chain down
|
|
506
|
-
(clearing its content from its boundary) and rebuild into the same
|
|
507
|
-
boundary (hydration adopts in place). */
|
|
508
|
-
const swap = (): void => {
|
|
509
|
-
/* `startViewTransition` runs this callback in a later frame, so a newer
|
|
510
|
-
navigation may have superseded this one since the token guard above —
|
|
511
|
-
re-check before mutating, or a stale swap clobbers the newer page. */
|
|
512
|
-
if (token !== sequence || disposed) {
|
|
513
|
-
return
|
|
514
|
-
}
|
|
515
|
-
/* Tear the outgoing page + divergent layouts down BEFORE publishing the
|
|
516
|
-
new snapshot. Publishing first would re-run the doomed leaf page's
|
|
517
|
-
computeds against the new route's params (a missing `[id]` reads back
|
|
518
|
-
`undefined`, e.g. `Number(page.params.id)` → NaN → a bogus request)
|
|
519
|
-
while it's still mounted. Disposing first kills that scope; surviving
|
|
520
|
-
prefix layouts then update in place on publish. */
|
|
521
|
-
disposeFrom(divergence)
|
|
522
|
-
const url = resolveUrl(path)
|
|
523
|
-
clientPage.value = { route: chainRoute, params, url, navigating: false }
|
|
524
|
-
try {
|
|
525
|
-
buildFrom(
|
|
526
|
-
divergence,
|
|
527
|
-
chainKeys,
|
|
528
|
-
layoutViews,
|
|
529
|
-
pageView,
|
|
530
|
-
key,
|
|
531
|
-
params,
|
|
532
|
-
hydrating,
|
|
533
|
-
)
|
|
534
|
-
} catch (error) {
|
|
535
|
-
/* A cold mount owns no claim cursor, so the SSR-vs-client claim asserts
|
|
536
|
-
(`assertClaimedText`, `claimExpected`) can't fire there — a throw from
|
|
537
|
-
it is a genuine codegen/user-render defect. Rethrow to `commit`, which
|
|
538
|
-
surfaces it and stops (a reload would re-run the same failure). */
|
|
539
|
-
if (!hydrating) {
|
|
540
|
-
throw error
|
|
541
|
-
}
|
|
542
|
-
/* A HYDRATING first paint threw — a server↔client markup divergence (a
|
|
543
|
-
blocking cell whose resolved value the server couldn't serialize into
|
|
544
|
-
`__SSR__.cells`, so the client reads pending where SSR baked a value;
|
|
545
|
-
or any other SSR/client mismatch). A reload re-runs the same SSR, so
|
|
546
|
-
recover CLIENT-side: discard the server markup and mount the page fresh
|
|
547
|
-
(cold — pending reads render their empty state and fill in on settle,
|
|
548
|
-
congruent because nothing is being adopted). Reset to the pristine
|
|
549
|
-
pre-mount state so `run` re-establishes the root boundary and clears the
|
|
550
|
-
host, then rebuild the whole chain cold. */
|
|
551
|
-
console.warn(
|
|
552
|
-
`[abide] hydration mismatch at ${path} — discarding server markup and rendering on the client:`,
|
|
553
|
-
error,
|
|
554
|
-
)
|
|
555
|
-
disposeFrom(0)
|
|
556
|
-
rootBoundary = undefined
|
|
557
|
-
mountedPageKey = undefined
|
|
558
|
-
/* The cell/doc warm seeds the failed pass adopted are still in place —
|
|
559
|
-
a pass only MARKS them, deleting on a clean exit (`consumeSeed`,
|
|
560
|
-
ADR-0048) — so this cold rebuild re-adopts the SSR-resolved values
|
|
561
|
-
instead of refetching (a cold refetch would leave blocking `await`
|
|
562
|
-
cells pending, and a top-level `$$readCell` of one sits in no suspense
|
|
563
|
-
region — its SuspenseSignal would escape this rebuild and kill the
|
|
564
|
-
mount). */
|
|
565
|
-
buildFrom(0, chainKeys, layoutViews, pageView, key, params, false)
|
|
566
|
-
}
|
|
567
|
-
/* Reapply the destination entry's scroll once its DOM exists — a
|
|
568
|
-
back/forward restores its offset, a fresh nav scrolls to the `#hash`
|
|
569
|
-
anchor (now built) or the top. SKIPPED on a hydrating first paint:
|
|
570
|
-
the SSR DOM is adopted in place, so the browser's native restoration
|
|
571
|
-
already returned the entry to its reload offset before paint — the
|
|
572
|
-
manual bucket, gated behind the async chunk import above, would only
|
|
573
|
-
re-apply post-paint (a visible scroll = the flash). A non-hydratable
|
|
574
|
-
first paint tore the SSR DOM down and rebuilt, so it still needs the
|
|
575
|
-
manual restore (recovered from the persisted `history.state`). */
|
|
576
|
-
if (!hydrating) {
|
|
577
|
-
historyEntries.restore(url.hash)
|
|
578
|
-
}
|
|
579
|
-
/* Take over scroll restoration once abide owns the DOM: a later
|
|
580
|
-
same-document back/forward must restore against the rebuilt page, so
|
|
581
|
-
the browser must not. `onPageHide` flips back to `auto` so the next
|
|
582
|
-
document load restores natively (flash-free) again. */
|
|
583
|
-
if (
|
|
584
|
-
firstPaint &&
|
|
585
|
-
typeof history !== 'undefined' &&
|
|
586
|
-
'scrollRestoration' in history
|
|
587
|
-
) {
|
|
588
|
-
history.scrollRestoration = 'manual'
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
/* Build / hydrate is the deterministic surface — a codegen defect or a
|
|
592
|
-
throw in user render code fails the SAME way every load, so reloading
|
|
593
|
-
would loop forever. Catch it HERE (not in the outer `.catch`, which a
|
|
594
|
-
hydrating swap's synchronous throw would otherwise reach): surface the
|
|
595
|
-
error and stop, never reload. A clean mount clears any prior recovery
|
|
596
|
-
reloads for this URL so a later transient failure can recover again. */
|
|
597
|
-
const commit = (): void => {
|
|
598
|
-
try {
|
|
599
|
-
swap()
|
|
600
|
-
clearRecoveryReloads(resolveUrl(path).href)
|
|
601
|
-
} catch (error) {
|
|
602
|
-
console.error(
|
|
603
|
-
`[abide] page at ${path} threw while mounting — not reloading (a reload would re-run the same failure):`,
|
|
604
|
-
error,
|
|
605
|
-
)
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
/* Wrap the swap in a View Transition where the browser supports it, so
|
|
609
|
-
the page change cross-fades (and shared `view-transition-name` elements
|
|
610
|
-
morph) — the synchronous swap is exactly the mutation the API snapshots
|
|
611
|
-
around. Skipped while hydrating: the first paint adopts SSR DOM in place,
|
|
612
|
-
not animate. CSS owns opting out (e.g. prefers-reduced-motion). */
|
|
613
|
-
if (
|
|
614
|
-
!hydrating &&
|
|
615
|
-
typeof document !== 'undefined' &&
|
|
616
|
-
'startViewTransition' in document
|
|
617
|
-
) {
|
|
618
|
-
document.startViewTransition(commit)
|
|
619
|
-
} else {
|
|
620
|
-
commit()
|
|
621
|
-
}
|
|
622
|
-
})
|
|
623
|
-
.catch((error) => {
|
|
624
|
-
/* A page/layout chunk IMPORT (or the probe) rejected — offline, a hashed
|
|
625
|
-
chunk filename rotated by a deploy, or a transient asset 5xx: recoverable,
|
|
626
|
-
so a full browser load is the right fallback (and clears the latched
|
|
627
|
-
navigating:true, so a bound spinner doesn't spin forever). Bounded, so a
|
|
628
|
-
chunk that fails to import every time can't reload-loop. Deterministic
|
|
629
|
-
render throws don't land here — `commit` swallows them above. */
|
|
630
|
-
if (token !== sequence || disposed) {
|
|
631
|
-
return
|
|
632
|
-
}
|
|
633
|
-
console.error(`[abide] failed to load page at ${path} — reloading:`, error)
|
|
634
|
-
boundedReload(resolveUrl(path).href)
|
|
635
|
-
})
|
|
636
|
-
})
|
|
637
|
-
})
|
|
638
|
-
|
|
639
|
-
return () => {
|
|
640
|
-
disposed = true
|
|
641
|
-
if (typeof window !== 'undefined') {
|
|
642
|
-
window.removeEventListener('popstate', onPopState)
|
|
643
|
-
window.removeEventListener('pagehide', onPageHide)
|
|
644
|
-
document.removeEventListener('click', onClick as EventListener)
|
|
645
|
-
}
|
|
646
|
-
stop()
|
|
647
|
-
disposeFrom(0)
|
|
648
|
-
}
|
|
649
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { messageFromError } from '../../shared/messageFromError.ts'
|
|
2
|
-
import type { AsyncComputed } from '../../shared/types/AsyncComputed.ts'
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
The throw a compiled async-cell read (`$$readCell`) raises when the cell is in error
|
|
6
|
-
with no retained value — routed to the nearest reactive `{#try}`. It carries the
|
|
7
|
-
originating cell so the boundary can subscribe to that cell's lifecycle and re-arm
|
|
8
|
-
the guarded content when the cell recovers (error→value via a `refresh()` or a
|
|
9
|
-
dependency change) — "keep watching what threw" (ADR-0019 D3.3). A plain `peek()` in
|
|
10
|
-
JS never throws; the throw is a template-lowering behaviour only, so the cause is
|
|
11
|
-
carried through unchanged for an author's `{:catch err}` binding.
|
|
12
|
-
*/
|
|
13
|
-
export class AsyncCellError extends Error {
|
|
14
|
-
readonly cell: AsyncComputed<unknown>
|
|
15
|
-
|
|
16
|
-
constructor(cell: AsyncComputed<unknown>, cause: unknown) {
|
|
17
|
-
super(messageFromError(cause), { cause })
|
|
18
|
-
this.name = 'AsyncCellError'
|
|
19
|
-
this.cell = cell
|
|
20
|
-
}
|
|
21
|
-
}
|