@abide/abide 0.58.0 → 0.101.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 +11 -1774
- package/bin/abide.ts +793 -204
- package/package.json +35 -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 +112 -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 +550 -0
- package/src/server/answerSocket.ts +585 -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 +100 -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 +641 -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 +505 -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 +13 -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 +217 -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 +424 -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 +4501 -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 +552 -0
- package/src/shared/reactive/watch.ts +314 -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 +501 -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/ui/Scope.ts
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Disposer,
|
|
3
|
+
type Effect,
|
|
4
|
+
watchTracked,
|
|
5
|
+
} from '#shared/reactive/watch.ts'
|
|
6
|
+
|
|
7
|
+
/** What a scope built under a `{#try}` binds through — its `TryRegion` (32.16). */
|
|
8
|
+
type Boundary = {
|
|
9
|
+
guard<T>(run: () => T, again: () => unknown): T | undefined
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** The boundary a scope built now falls under, or `undefined` outside every `{#try}` body. */
|
|
13
|
+
export const BOUNDARY: { current: Boundary | undefined } = {
|
|
14
|
+
current: undefined,
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Anything a scope can stop below itself.
|
|
19
|
+
*
|
|
20
|
+
* Another `Scope` — an arm's, a row's, an invoked component's — or a `{#for}`'s `List`, which stops
|
|
21
|
+
* every row it still holds. Structural rather than a base class: `List` is a record in another
|
|
22
|
+
* module and `stop` is all the two share.
|
|
23
|
+
*/
|
|
24
|
+
export type Stoppable = { stop(): void }
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The bindings a region opens, held so whatever replaces the region can stop them.
|
|
28
|
+
*
|
|
29
|
+
* Without it a swap or a removed row leaves the old readers alive: they wake on every write, write
|
|
30
|
+
* into nodes that are no longer in the document, and the page looks right while doing the work
|
|
31
|
+
* twice over.
|
|
32
|
+
*
|
|
33
|
+
* A RECORD RATHER THAN A CLOSURE PER ROW: one object with methods on its prototype, where closures
|
|
34
|
+
* cost an array and three allocations a row — the collector, the stop and the stop it handed back.
|
|
35
|
+
*/
|
|
36
|
+
export class Scope {
|
|
37
|
+
/**
|
|
38
|
+
* 12.4, 12.13 — a setup's watches land here as it opens them (`collectWatches`): the scope is
|
|
39
|
+
* made before the setup runs, so a watch has one owner from the moment it opens.
|
|
40
|
+
*/
|
|
41
|
+
stops: Disposer[] = []
|
|
42
|
+
/**
|
|
43
|
+
* The scopes opened beneath this one, or `undefined` until one is.
|
|
44
|
+
*
|
|
45
|
+
* 12.4 and 12.13 — a region's own disposers are not all it owns: an arm, a row and an invoked
|
|
46
|
+
* component each open a scope of their own, and the thing that knows when those leave is the
|
|
47
|
+
* region holding their nodes. `undefined` until one is actually opened — most scopes hold only
|
|
48
|
+
* disposers, and a second array a row is the allocation this class exists not to spend.
|
|
49
|
+
*/
|
|
50
|
+
children: Stoppable[] | undefined = undefined
|
|
51
|
+
/**
|
|
52
|
+
* The `{#try}` this scope was built under, or `undefined`.
|
|
53
|
+
*
|
|
54
|
+
* 32.16 — read once at construction.
|
|
55
|
+
*/
|
|
56
|
+
boundary: Boundary | undefined = BOUNDARY.current
|
|
57
|
+
|
|
58
|
+
watch(effect: Effect): void {
|
|
59
|
+
const boundary = this.boundary
|
|
60
|
+
if (boundary === undefined) {
|
|
61
|
+
this.stops.push(watchTracked(effect))
|
|
62
|
+
return
|
|
63
|
+
}
|
|
64
|
+
// UNDER A BOUNDARY, a throw is the boundary's and the scopes a re-run builds are too, and a
|
|
65
|
+
// failed binding is retried by running it again.
|
|
66
|
+
this.stops.push(watchTracked(() => boundary.guard(effect, effect)))
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Takes ownership of a child scope or list; answers the child it was handed.
|
|
71
|
+
*
|
|
72
|
+
* 12.4 — A `watch` REGISTERED INSIDE A COMPONENT IS OWNED BY THAT COMPONENT, and what can
|
|
73
|
+
* remove a component's nodes is the region that invoked it. The child is held rather than
|
|
74
|
+
* drained: a component that itself holds an arm or a list owns scopes of its own, and moving
|
|
75
|
+
* only its disposers out would leave those where nothing can reach them.
|
|
76
|
+
*
|
|
77
|
+
* `undefined` IS A STATIC CHILD — a component with nothing live returns nothing to own.
|
|
78
|
+
*/
|
|
79
|
+
own<T extends Stoppable | undefined>(child: T): T {
|
|
80
|
+
if (child === undefined) return child
|
|
81
|
+
if (this.children === undefined) this.children = []
|
|
82
|
+
this.children.push(child)
|
|
83
|
+
return child
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Stops every binding and child this scope holds, and clears them.
|
|
88
|
+
*
|
|
89
|
+
* CLEARED AS IT GOES, so stopping twice is stopping once: an arm's scope is stopped by its own
|
|
90
|
+
* swap and again by the region above it when that region leaves, and 12.1 gives a `Disposer`
|
|
91
|
+
* one run at teardown rather than one per path that reaches it. It is also what lets a block
|
|
92
|
+
* hold ONE scope for its whole life and refill it on every swap.
|
|
93
|
+
*
|
|
94
|
+
* `from` KEEPS THE SETUP'S: a mount that refused (41.10) stops what IT opened and rebuilds, and
|
|
95
|
+
* the setup ahead of it — whose watches are the first `from` stops — does not run again.
|
|
96
|
+
*/
|
|
97
|
+
stop(from = 0): void {
|
|
98
|
+
const stops = this.stops
|
|
99
|
+
for (let index = from; index < stops.length; index += 1)
|
|
100
|
+
(stops[index] as Disposer)()
|
|
101
|
+
stops.length = from
|
|
102
|
+
const children = this.children
|
|
103
|
+
if (children === undefined) return
|
|
104
|
+
for (const child of children) child.stop()
|
|
105
|
+
children.length = 0
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* A shared scope with nothing in it; stopping it is a no-op.
|
|
111
|
+
*
|
|
112
|
+
* What a mount whose body binds nothing answers, and what a row holds until its mount returns —
|
|
113
|
+
* `stop` on it is a no-op, so any number of owners can hold it.
|
|
114
|
+
*/
|
|
115
|
+
export const EMPTY_SCOPE = new Scope()
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
// 32.16 — A `{#try}`'s REGION AND ITS BOUNDARY, one record. Every scope built while the body mounts
|
|
2
|
+
// carries it (`Scope`), so a binding anywhere in the body that throws is caught here rather than
|
|
3
|
+
// escaping — and the whole body is replaced by the catch arm, not the one hole that raised it.
|
|
4
|
+
//
|
|
5
|
+
// WHAT FAILED IS RETRIED. What threw is kept watching what it read, and the first run that does not
|
|
6
|
+
// throw is the body coming back: a rate typed wrong and then right shows the message and then the
|
|
7
|
+
// figure, without anything else arranging that. A binding is retried by running it again; a body
|
|
8
|
+
// that failed as it was built or mounted is retried by MOUNTING it again (`remount`), because only a
|
|
9
|
+
// mount runs the components in it, and one that mounts is the body kept.
|
|
10
|
+
//
|
|
11
|
+
// What anything outside sees is `follow` (the region's watch), `guard` (a scope's binding under
|
|
12
|
+
// it), `stop` and the `failure` the catch binds; the retry is this module's alone.
|
|
13
|
+
|
|
14
|
+
import { namedArm } from '#shared/armAnchor.ts'
|
|
15
|
+
import { type Reactive, reactive } from '#shared/reactive/index.ts'
|
|
16
|
+
import { NotLanded } from '#shared/reactive/NotLanded.ts'
|
|
17
|
+
import { untracked } from '#shared/reactive/tracking.ts'
|
|
18
|
+
import { type Disposer, watchTracked } from '#shared/reactive/watch.ts'
|
|
19
|
+
import { type Arm, type ArmMakers, ArmRegion } from './ArmRegion.ts'
|
|
20
|
+
import { Mismatch } from './Mismatch.ts'
|
|
21
|
+
import {
|
|
22
|
+
fillRegion,
|
|
23
|
+
isEmptyRegion,
|
|
24
|
+
type Region,
|
|
25
|
+
removeUntil,
|
|
26
|
+
} from './regions.ts'
|
|
27
|
+
import { BOUNDARY, type Scope, type Stoppable } from './Scope.ts'
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The body until something in it fails, then the catch until the failure clears. Arm `0` is the
|
|
31
|
+
* body and `1` the catch, which is handed the failure.
|
|
32
|
+
*
|
|
33
|
+
* THE BODY BUILDS AND MOUNTS UNDER THE BOUNDARY, the catch outside it — a catch arm that throws is
|
|
34
|
+
* not its own catch's to swallow. A failure raised while a swap builds the body does not wake the
|
|
35
|
+
* watch, so the swap reads the failure again and goes round: a body that failed as it was built is
|
|
36
|
+
* not mounted, and one that failed as it mounted is replaced.
|
|
37
|
+
*
|
|
38
|
+
* AND THE FIRST SWAP HYDRATES THE ARM THE SERVER PAINTED. The body it adopts; the catch — which its
|
|
39
|
+
* anchor names as arm 1 (`namedArm`) — it keeps until the body has been tried behind it
|
|
40
|
+
* (`mountBehind`), and adopts where the body fails here too, so the catch the server sent is the
|
|
41
|
+
* one on the page. A body that succeeds here after failing there replaces it. So 41.24 is already
|
|
42
|
+
* this region's shape — its open names the arm — and `paintedOther` is never asked here.
|
|
43
|
+
*/
|
|
44
|
+
export class TryRegion extends ArmRegion {
|
|
45
|
+
readonly failure: Reactive<unknown>
|
|
46
|
+
/** Only a mount runs the components in a body, so a failed body is retried by mounting it again. */
|
|
47
|
+
private readonly remount: () => void
|
|
48
|
+
private retry: Disposer | undefined
|
|
49
|
+
/** What the retry re-runs, recorded by `fail` and watched once the catch stands (`startRetry`). */
|
|
50
|
+
private pending: (() => unknown) | undefined
|
|
51
|
+
/** A body a retry mounted, for the swap to take in place of building one. */
|
|
52
|
+
private standing: Stoppable | undefined
|
|
53
|
+
/**
|
|
54
|
+
* Whether a mount is being tried behind what stands (`mountBehind`), so a binding failing in it
|
|
55
|
+
* is recorded for the try rather than failing the boundary.
|
|
56
|
+
*/
|
|
57
|
+
private trying: boolean
|
|
58
|
+
private triedFailed: boolean
|
|
59
|
+
private triedError: unknown
|
|
60
|
+
private triedAgain: (() => unknown) | undefined
|
|
61
|
+
|
|
62
|
+
constructor(region: Region, owner: Scope, arms: ArmMakers) {
|
|
63
|
+
super(region, owner, arms, true)
|
|
64
|
+
this.failure = reactive<unknown>(undefined)
|
|
65
|
+
this.remount = () => {
|
|
66
|
+
this.standing = this.mountBehind(
|
|
67
|
+
(arms[0] as ArmMakers[number])(undefined),
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
this.retry = undefined
|
|
71
|
+
this.pending = undefined
|
|
72
|
+
this.standing = undefined
|
|
73
|
+
this.trying = false
|
|
74
|
+
this.triedFailed = false
|
|
75
|
+
this.triedError = undefined
|
|
76
|
+
this.triedAgain = undefined
|
|
77
|
+
owner.own(this)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* The region's watch: only the failure decides which arm.
|
|
82
|
+
*
|
|
83
|
+
* 32.16, 41.10 — OVER A CATCH THE SERVER PAINTED, THE RETRY'S FIRST RUN IS THE HYDRATION: it
|
|
84
|
+
* mounts the body behind the catch (`remount`), so the one attempt both decides the arm and
|
|
85
|
+
* subscribes the retry to what the body read. A body that fails there sets the failure the catch
|
|
86
|
+
* binds, and the catch is adopted; one that mounts is left standing for the swap. A value still
|
|
87
|
+
* in flight decides neither, and the attempt is run again under this watch, whose run it aborts
|
|
88
|
+
* as it would anywhere (2.12) — so this watch is what the value landing wakes.
|
|
89
|
+
*/
|
|
90
|
+
follow(): void {
|
|
91
|
+
if (this.at === undefined && namedArm(this.region.open.data) === 1) {
|
|
92
|
+
this.pending = this.remount
|
|
93
|
+
this.startRetry()
|
|
94
|
+
if (
|
|
95
|
+
this.failure.peek() === undefined &&
|
|
96
|
+
this.standing === undefined
|
|
97
|
+
) {
|
|
98
|
+
this.stop()
|
|
99
|
+
this.remount()
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
this.show(this.failure() === undefined ? 0 : 1)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Runs a mount or a binding under this boundary; a throw fails it and answers `undefined`.
|
|
107
|
+
*
|
|
108
|
+
* Every scope it builds carries it, and a throw straight out of the mount — a handler or a node
|
|
109
|
+
* reference that failed as it was bound — is the boundary's too. A hydration mismatch is not a
|
|
110
|
+
* failure of the body, and is left to the caller that rebuilds; and a value still in flight is
|
|
111
|
+
* not a failure either: it aborts the run as it would anywhere (2.12).
|
|
112
|
+
*
|
|
113
|
+
* `again` IS WHAT A RETRY RE-RUNS: the binding that threw, or the body mounted again.
|
|
114
|
+
*/
|
|
115
|
+
guard<T>(run: () => T, again: () => unknown): T | undefined {
|
|
116
|
+
const previous = BOUNDARY.current
|
|
117
|
+
BOUNDARY.current = this
|
|
118
|
+
try {
|
|
119
|
+
return run()
|
|
120
|
+
} catch (thrown) {
|
|
121
|
+
if (thrown instanceof Mismatch || thrown instanceof NotLanded)
|
|
122
|
+
throw thrown
|
|
123
|
+
this.fail(thrown, again)
|
|
124
|
+
return undefined
|
|
125
|
+
} finally {
|
|
126
|
+
BOUNDARY.current = previous
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Stops the retry. The arm's scope is stopped by the owner holding it, beside this. */
|
|
131
|
+
stop(): void {
|
|
132
|
+
this.retry?.()
|
|
133
|
+
this.retry = undefined
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
override swap(first: unknown): void {
|
|
137
|
+
const region = this.region
|
|
138
|
+
const scope = this.scope as Scope
|
|
139
|
+
let next = first
|
|
140
|
+
while (next !== this.at) {
|
|
141
|
+
const painted = this.at === undefined && !isEmptyRegion(region)
|
|
142
|
+
this.at = next
|
|
143
|
+
const arm = (this.arms[next as number] as ArmMakers[number])(
|
|
144
|
+
this.failure.peek(),
|
|
145
|
+
)
|
|
146
|
+
const standing = next === 0 ? this.standing : undefined
|
|
147
|
+
if (standing !== undefined) {
|
|
148
|
+
this.standing = undefined
|
|
149
|
+
scope.stop()
|
|
150
|
+
scope.own(standing)
|
|
151
|
+
continue
|
|
152
|
+
}
|
|
153
|
+
if (!painted) {
|
|
154
|
+
scope.stop()
|
|
155
|
+
if (
|
|
156
|
+
next === 0 &&
|
|
157
|
+
this.guard(() => {
|
|
158
|
+
fillRegion(region, arm.build)
|
|
159
|
+
return true
|
|
160
|
+
}, this.remount) === undefined
|
|
161
|
+
) {
|
|
162
|
+
next = 1
|
|
163
|
+
continue
|
|
164
|
+
}
|
|
165
|
+
if (next === 1) fillRegion(region, arm.build)
|
|
166
|
+
}
|
|
167
|
+
scope.own(
|
|
168
|
+
next === 0
|
|
169
|
+
? this.guard(() => arm.mount(region), this.remount)
|
|
170
|
+
: arm.mount(region),
|
|
171
|
+
)
|
|
172
|
+
if (next === 1) this.startRetry()
|
|
173
|
+
next = this.failure.peek() === undefined ? 0 : 1
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
private fail(error: unknown, again: () => unknown): void {
|
|
178
|
+
if (this.trying) {
|
|
179
|
+
if (this.triedFailed) return
|
|
180
|
+
this.triedFailed = true
|
|
181
|
+
this.triedError = error
|
|
182
|
+
this.triedAgain = again
|
|
183
|
+
return
|
|
184
|
+
}
|
|
185
|
+
this.stop()
|
|
186
|
+
this.pending = again
|
|
187
|
+
this.failure.set(error)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Watches what failed, once the catch stands.
|
|
192
|
+
*
|
|
193
|
+
* NOT FROM `fail`: a failure is raised in the middle of a swap, with the failed body still in the
|
|
194
|
+
* region, and a retry mounting a body there would be mounting it beside that one. Once the catch
|
|
195
|
+
* stands, a run that does not throw IS the body coming back, the first run included.
|
|
196
|
+
*/
|
|
197
|
+
private startRetry(): void {
|
|
198
|
+
const again = this.pending
|
|
199
|
+
if (again === undefined) return
|
|
200
|
+
this.pending = undefined
|
|
201
|
+
const retry = watchTracked(() => {
|
|
202
|
+
try {
|
|
203
|
+
again()
|
|
204
|
+
} catch (thrown) {
|
|
205
|
+
if (thrown instanceof NotLanded) throw thrown
|
|
206
|
+
// A caught region's first run is the one that finds the failure (`follow`).
|
|
207
|
+
if (this.failure.peek() === undefined) this.failure.set(thrown)
|
|
208
|
+
return
|
|
209
|
+
}
|
|
210
|
+
untracked(TryRegion.recover, this, undefined)
|
|
211
|
+
})
|
|
212
|
+
// A first run that recovered has already been stopped by `recover`, before it was held.
|
|
213
|
+
if (this.failure.peek() === undefined) retry()
|
|
214
|
+
else this.retry = retry
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Mounts the body BEHIND what the region holds, and keeps whichever stands after.
|
|
219
|
+
*
|
|
220
|
+
* 32.16, 41.10 — the client cannot know its body throws until the body has MOUNTED: an invoked
|
|
221
|
+
* component is an empty anchor pair to its parent's build (`emitBuild`) and runs its setup and
|
|
222
|
+
* its template at mount, so building the body is not evaluating it. So the body is built after
|
|
223
|
+
* the region's last node and mounted there, and what stood — the catch the server painted, or a
|
|
224
|
+
* catch the browser showed — stays until it has: a body that mounts drops it, and one that fails
|
|
225
|
+
* is dropped instead and its failure thrown. A throw in the build inserts nothing (`fillRegion`
|
|
226
|
+
* builds before it inserts).
|
|
227
|
+
*
|
|
228
|
+
* A BINDING THAT FAILS IN IT is run again here, where the caller's tracking sees what it read —
|
|
229
|
+
* a retry's watch — because the binding's own watch goes with the body it is dropped with.
|
|
230
|
+
*/
|
|
231
|
+
private mountBehind(arm: Arm): Stoppable | undefined {
|
|
232
|
+
const region = this.region
|
|
233
|
+
// THE LAST NODE STANDING IS THE BODY'S OPEN ANCHOR, whatever kind of node it is: a build
|
|
234
|
+
// and a mount read nothing of their root's open but its `nextSibling`. The region's own open
|
|
235
|
+
// where nothing stands.
|
|
236
|
+
const body = {
|
|
237
|
+
open: region.close.previousSibling as Comment,
|
|
238
|
+
close: region.close,
|
|
239
|
+
}
|
|
240
|
+
const previous = BOUNDARY.current
|
|
241
|
+
BOUNDARY.current = this
|
|
242
|
+
this.trying = true
|
|
243
|
+
this.triedFailed = false
|
|
244
|
+
let mounted: Stoppable | undefined
|
|
245
|
+
try {
|
|
246
|
+
fillRegion(body, arm.build)
|
|
247
|
+
mounted = arm.mount(body)
|
|
248
|
+
} catch (thrown) {
|
|
249
|
+
fillRegion(body)
|
|
250
|
+
if (thrown instanceof Mismatch || thrown instanceof NotLanded)
|
|
251
|
+
throw thrown
|
|
252
|
+
this.triedFailed = true
|
|
253
|
+
this.triedError = thrown
|
|
254
|
+
this.triedAgain = undefined
|
|
255
|
+
} finally {
|
|
256
|
+
BOUNDARY.current = previous
|
|
257
|
+
this.trying = false
|
|
258
|
+
}
|
|
259
|
+
if (!this.triedFailed) {
|
|
260
|
+
removeUntil(region.open.nextSibling, body.open.nextSibling)
|
|
261
|
+
return mounted
|
|
262
|
+
}
|
|
263
|
+
const again = this.triedAgain
|
|
264
|
+
this.triedAgain = undefined
|
|
265
|
+
if (again !== undefined)
|
|
266
|
+
try {
|
|
267
|
+
again()
|
|
268
|
+
} catch {}
|
|
269
|
+
mounted?.stop()
|
|
270
|
+
fillRegion(body)
|
|
271
|
+
throw this.triedError
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
private static recover(region: TryRegion): void {
|
|
275
|
+
region.stop()
|
|
276
|
+
region.failure.set(undefined)
|
|
277
|
+
}
|
|
278
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { RAW_CLOSE, RAW_OPEN } from '#shared/ANCHORS.ts'
|
|
2
|
+
import { Mismatch } from './Mismatch.ts'
|
|
3
|
+
import { type RawRun, rawCloseOf, rawRunEndingAt } from './RawRun.ts'
|
|
4
|
+
import { closeOf, opensRegion, type Region } from './regions.ts'
|
|
5
|
+
|
|
6
|
+
// WHERE A NODE IS WHEN THE SERVER ALREADY WROTE IT — the adopt half of every region's mount: the
|
|
7
|
+
// page, an arm, a slot, a caller's children and every row. The compiler emits it from the walk that
|
|
8
|
+
// wrote the markup (`Cursor`) — the same positions a row's build is made from — so where a node
|
|
9
|
+
// stands is never computed twice.
|
|
10
|
+
//
|
|
11
|
+
// THE GUARANTEE IS ABOUT PROVENANCE, NOT ABOUT RUNTIME SHAPE. A painter object reached the same
|
|
12
|
+
// end through runtime polymorphism and charged 1.5x a row for it (`bun run bench:reorder`, against
|
|
13
|
+
// inline construction) — a 2-shape property load per node, forever, for something a compiler can
|
|
14
|
+
// settle at build time.
|
|
15
|
+
//
|
|
16
|
+
// TWO KINDS OF HELPER. `runHere` and `regionHere` are STEPS the walk takes and never throw: on
|
|
17
|
+
// a page the walk stands outside every guard, so a node missing near the top must not take every
|
|
18
|
+
// binding below it down too. `elementHere`, `textHere` and `regionFound` are CHECKS a unit makes
|
|
19
|
+
// on the node it was handed, and they are where 41.10 refuses.
|
|
20
|
+
//
|
|
21
|
+
// SO THESE ARE HELPERS AND NOT AN INTERFACE. One shape each, no `this`, nothing to dispatch on —
|
|
22
|
+
// small enough for an engine to inline, where a method on one of two painter classes is not.
|
|
23
|
+
//
|
|
24
|
+
// AND THE CHECKS ARE WHAT KEEP A DISAGREEMENT LOCAL. The walk steps past a node of the wrong KIND
|
|
25
|
+
// by position, as a path did, so only the unit that needed it is refused (41.10). A node MISSING
|
|
26
|
+
// or EXTRA shifts everything after it in that parent — for a walk and for a path alike — and the
|
|
27
|
+
// kind check catches the shift wherever it lands on a different kind. What no check can see is a
|
|
28
|
+
// text node standing where a different text node was due, and that is what the equivalence gates
|
|
29
|
+
// (`nesting.test.ts`, `corpusRuns.test.ts`) are for.
|
|
30
|
+
|
|
31
|
+
/** The node the walk stands on, checked to be a `<tag>` element; throws `Mismatch` otherwise. */
|
|
32
|
+
export function elementHere(
|
|
33
|
+
node: Node | null | undefined,
|
|
34
|
+
tag: string,
|
|
35
|
+
): Element {
|
|
36
|
+
if (
|
|
37
|
+
node == null ||
|
|
38
|
+
node.nodeType !== 1 ||
|
|
39
|
+
(node as Element).localName !== tag
|
|
40
|
+
)
|
|
41
|
+
throw new Mismatch(
|
|
42
|
+
`abide: expected <${tag}> where the client walked, so the client and the server disagree about this region's shape (41.10).`,
|
|
43
|
+
)
|
|
44
|
+
return node as Element
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* A run, checked: its text node, or the `RawRun` around it where it holds markup.
|
|
49
|
+
*
|
|
50
|
+
* Where the run holds markup (32.26) the pair is read back from the closing anchor the walk stood
|
|
51
|
+
* on (`runHere`). A run the server rendered as no node was put back by the walk as it passed, so by
|
|
52
|
+
* the time a binding asks something is there — and where the walk could not put one back, this is
|
|
53
|
+
* what refuses.
|
|
54
|
+
*/
|
|
55
|
+
export function textHere(node: Node | null | undefined): Text | RawRun {
|
|
56
|
+
if (node != null) {
|
|
57
|
+
if (node.nodeType === 3) return node as Text
|
|
58
|
+
if (node.nodeType === 8 && (node as Comment).data === RAW_CLOSE) {
|
|
59
|
+
const run = rawRunEndingAt(node as Comment)
|
|
60
|
+
if (run !== null) return run
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
throw new Mismatch(
|
|
64
|
+
"abide: text was due where the server wrote none, so the client and the server disagree about this region's shape (41.10).",
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Where a run that can hold markup ends; a step that never throws.
|
|
70
|
+
*
|
|
71
|
+
* A STEP, for the reason every step is one. A run the server wrote as text is its one node; a run
|
|
72
|
+
* it wrote holding markup (32.26) is an anchor pair with any number of nodes between, and the walk
|
|
73
|
+
* stands on the CLOSE, so the position after it is found by `nextSibling` either way and nothing
|
|
74
|
+
* about the cursor changes.
|
|
75
|
+
*
|
|
76
|
+
* AND 32.23'S HOLE, where `parent` is given: a BLANK run — every part an expression, each unlanded
|
|
77
|
+
* (32.23 leaves what it last rendered, which is nothing yet) or stringifying to '' — is written by
|
|
78
|
+
* the server as no node, and still has to be a position, because every sibling after it is found from it — so the walk puts it back as it
|
|
79
|
+
* passes, whether or not anything binds it. A run that is not blank passes no parent and is never
|
|
80
|
+
* put back. `textHere` is the CHECK a binding makes; this is the step a walk takes, and on a page
|
|
81
|
+
* the walk is outside every guard, so a throw here would take down every unit after it rather than
|
|
82
|
+
* the one that disagreed.
|
|
83
|
+
*
|
|
84
|
+
* A node put back at the TOP of a row needs nothing more: a row with several top-level nodes is the
|
|
85
|
+
* RANGE from its anchor to the next (`rows.ts`), and the node is put back inside it.
|
|
86
|
+
*/
|
|
87
|
+
export function runHere(
|
|
88
|
+
node: Node | null | undefined,
|
|
89
|
+
parent: Node | null | undefined,
|
|
90
|
+
): Node | null | undefined {
|
|
91
|
+
if (node != null) {
|
|
92
|
+
if (node.nodeType === 3) return node
|
|
93
|
+
if (node.nodeType === 8 && (node as Comment).data === RAW_OPEN)
|
|
94
|
+
return rawCloseOf(node) ?? node
|
|
95
|
+
}
|
|
96
|
+
if (parent == null) return node
|
|
97
|
+
const made = (parent.ownerDocument as Document).createTextNode('')
|
|
98
|
+
parent.insertBefore(made, node ?? null)
|
|
99
|
+
return made
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* The region whose anchor pair the walk stands on, or `undefined`; a step that never throws.
|
|
104
|
+
*
|
|
105
|
+
* Taken where the walk stands rather than counted to from a root, and never throwing for
|
|
106
|
+
* `runHere`'s reason: the walk continues from the pair's CLOSE, so a region the server did not
|
|
107
|
+
* write here answers `undefined` and the walk carries on as far as it can. What refuses is
|
|
108
|
+
* `regionFound`, in the unit that needed the region.
|
|
109
|
+
*
|
|
110
|
+
* The close is the one at DEPTH ZERO: a region nested inside this one has anchors of its own.
|
|
111
|
+
*/
|
|
112
|
+
export function regionHere(node: Node | null | undefined): Region | undefined {
|
|
113
|
+
if (node == null || node.nodeType !== 8) return undefined
|
|
114
|
+
if (!opensRegion((node as Comment).data)) return undefined
|
|
115
|
+
const close = closeOf(node)
|
|
116
|
+
return close === null ? undefined : { open: node as Comment, close }
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** The region a step found, checked to be there; throws `Mismatch` where it is not. */
|
|
120
|
+
export function regionFound(region: Region | undefined): Region {
|
|
121
|
+
if (region === undefined)
|
|
122
|
+
throw new Mismatch(
|
|
123
|
+
"abide: a region was due where the client walked, so the client and the server disagree about this region's shape (41.10).",
|
|
124
|
+
)
|
|
125
|
+
return region
|
|
126
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// 39.6 — ON A CLIENT NAVIGATION THE INCOMING PAGE'S KEYED CONTRIBUTIONS REPLACE THE OUTGOING
|
|
2
|
+
// PAGE'S BY KEY. The outgoing page's were written by a server on the first load and by this
|
|
3
|
+
// function on every one after, so they are found the same way either time: by their key, read off
|
|
4
|
+
// the document. Nothing is added to the head to mark ownership — a marker would be a fact about
|
|
5
|
+
// the framework in a document an author writes, and the key is already what decides.
|
|
6
|
+
//
|
|
7
|
+
// 39.5 — A CONTRIBUTION WITH NO KEY APPENDS. It cannot replace anything, because there is nothing
|
|
8
|
+
// it could be said to be the same as, and dropping it instead would lose the one kind of
|
|
9
|
+
// contribution a page makes several of.
|
|
10
|
+
|
|
11
|
+
import { headKeyOf } from '#shared/headKeyOf.ts'
|
|
12
|
+
import { markupNodes } from './parseMarkup.ts'
|
|
13
|
+
import type { Scope } from './Scope.ts'
|
|
14
|
+
|
|
15
|
+
export function applyHead(markup: string): void {
|
|
16
|
+
const head = document.head
|
|
17
|
+
if (markup === '') return
|
|
18
|
+
const incoming = markupNodes(head, markup)
|
|
19
|
+
const standingByKey = standingKeys(head)
|
|
20
|
+
for (const node of incoming) {
|
|
21
|
+
if (node.nodeType !== 1) {
|
|
22
|
+
head.appendChild(node)
|
|
23
|
+
continue
|
|
24
|
+
}
|
|
25
|
+
const element = node as Element
|
|
26
|
+
const key = headKey(element)
|
|
27
|
+
if (key === undefined) {
|
|
28
|
+
head.appendChild(element)
|
|
29
|
+
continue
|
|
30
|
+
}
|
|
31
|
+
const standing = standingByKey.get(key)
|
|
32
|
+
if (standing === undefined) {
|
|
33
|
+
head.appendChild(element)
|
|
34
|
+
standingByKey.set(key, element)
|
|
35
|
+
continue
|
|
36
|
+
}
|
|
37
|
+
// WHAT THE TWO PAGES SHARE IS NOT TOUCHED. `hydrate` skips `applyHead` outright because
|
|
38
|
+
// re-applying a `<link rel=stylesheet>` refetches it and flashes the document unstyled —
|
|
39
|
+
// and a navigation between two pages carrying the same stylesheet, viewport or icon walks
|
|
40
|
+
// into that same cost per contribution. An identical node is the one case where the
|
|
41
|
+
// cheaper arm is to do nothing at all.
|
|
42
|
+
if (standing.outerHTML === element.outerHTML) continue
|
|
43
|
+
head.replaceChild(element, standing)
|
|
44
|
+
standingByKey.set(key, element)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Puts back, or removes, what the leaving levels keyed and the arriving ones do not.
|
|
50
|
+
*
|
|
51
|
+
* 39.14 — THE NEXT-OUTER CONTRIBUTOR'S VALUE, OR NONE. `leaving` and `arriving` are the heads of
|
|
52
|
+
* the levels a navigation stopped and mounted; `outer` is every contributor standing above them,
|
|
53
|
+
* outermost first — the shell's keyed entries, then each kept layout's — so the LAST entry for a
|
|
54
|
+
* key in it is the one the server would paint there (39.4). What the arriving levels key they have
|
|
55
|
+
* already written (39.6), so only the keys they are silent on are touched.
|
|
56
|
+
*
|
|
57
|
+
* THE COMMON NAVIGATION ENDS AT THE FIRST RETURN: two pages that both key a `<title>` withdraw
|
|
58
|
+
* nothing, and `outer` is neither built nor parsed.
|
|
59
|
+
*/
|
|
60
|
+
export function withdrawHead(
|
|
61
|
+
leaving: string,
|
|
62
|
+
arriving: string,
|
|
63
|
+
outer: () => string,
|
|
64
|
+
): void {
|
|
65
|
+
if (leaving === '') return
|
|
66
|
+
const head = document.head
|
|
67
|
+
const withdrawn = keyedIn(head, leaving)
|
|
68
|
+
for (const key of keyedIn(head, arriving).keys()) withdrawn.delete(key)
|
|
69
|
+
if (withdrawn.size === 0) return
|
|
70
|
+
const restored = keyedIn(head, outer())
|
|
71
|
+
const standingByKey = standingKeys(head)
|
|
72
|
+
for (const key of withdrawn.keys()) {
|
|
73
|
+
const standing = standingByKey.get(key)
|
|
74
|
+
const next = restored.get(key)
|
|
75
|
+
if (next === undefined) standing?.remove()
|
|
76
|
+
else if (standing === undefined) head.appendChild(next)
|
|
77
|
+
// The same node as `applyHead`'s: a stylesheet put back as itself is not refetched.
|
|
78
|
+
else if (standing.outerHTML !== next.outerHTML)
|
|
79
|
+
head.replaceChild(next, standing)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/** The keyed elements `markup` parses to, by key, the last holding each (39.4). */
|
|
84
|
+
function keyedIn(head: HTMLHeadElement, markup: string): Map<string, Element> {
|
|
85
|
+
const keyed = new Map<string, Element>()
|
|
86
|
+
if (markup === '') return keyed
|
|
87
|
+
for (const node of markupNodes(head, markup))
|
|
88
|
+
if (node.nodeType === 1) {
|
|
89
|
+
const key = headKey(node as Element)
|
|
90
|
+
if (key !== undefined) keyed.set(key, node as Element)
|
|
91
|
+
}
|
|
92
|
+
return keyed
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* The head's keyed elements by key, the first holding each.
|
|
97
|
+
*
|
|
98
|
+
* KEYED ONCE, NOT ONCE PER CONTRIBUTION. Walking the head per incoming node asked `headKey` — a
|
|
99
|
+
* `toLowerCase` and a fresh closure per call — for every standing element times every arriving
|
|
100
|
+
* one. One pass builds the index and each contribution is then a lookup.
|
|
101
|
+
*/
|
|
102
|
+
function standingKeys(head: HTMLHeadElement): Map<string, Element> {
|
|
103
|
+
const standingByKey = new Map<string, Element>()
|
|
104
|
+
for (
|
|
105
|
+
let node = head.firstElementChild;
|
|
106
|
+
node !== null;
|
|
107
|
+
node = node.nextElementSibling
|
|
108
|
+
) {
|
|
109
|
+
const key = headKey(node)
|
|
110
|
+
// 39.12 WITHIN THE STANDING HEAD: the FIRST element holding a key is the one a
|
|
111
|
+
// contribution replaces, which is the node the per-contribution walk returned.
|
|
112
|
+
if (key !== undefined && !standingByKey.has(key))
|
|
113
|
+
standingByKey.set(key, node)
|
|
114
|
+
}
|
|
115
|
+
return standingByKey
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* The key a head element replaces by, or `undefined` for one that appends.
|
|
120
|
+
*
|
|
121
|
+
* 39.11 THROUGH THE ONE GRAMMAR (`headKeyOf`), asked with a RESOLVED attribute. The compiler
|
|
122
|
+
* answers the same question for a STATIC one and appends where it cannot (`<meta name={x}>` has a
|
|
123
|
+
* name only the run time knows) — here every attribute is resolved, so a contribution the compiler
|
|
124
|
+
* had to append arrives with a key. That is the same rule reaching further, not a different one.
|
|
125
|
+
*/
|
|
126
|
+
function headKey(element: Element): string | undefined {
|
|
127
|
+
return headKeyOf(element.tagName.toLowerCase(), (name) =>
|
|
128
|
+
element.getAttribute(name),
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Keeps a level's head written from `markup` for as long as `scope` lives.
|
|
134
|
+
*
|
|
135
|
+
* 39.13 — A HEAD THAT READS A VALUE FOLLOWS IT for as long as its level is mounted, which is the
|
|
136
|
+
* scope's life. The first run only subscribes: the head it would write is already there, written
|
|
137
|
+
* by the server or applied by the level's mount ahead of its fill (39.6).
|
|
138
|
+
*/
|
|
139
|
+
export function liveHead(scope: Scope, markup: () => string): void {
|
|
140
|
+
let subscribing = true
|
|
141
|
+
scope.watch(() => {
|
|
142
|
+
const text = markup()
|
|
143
|
+
if (subscribing) subscribing = false
|
|
144
|
+
else applyHead(text)
|
|
145
|
+
})
|
|
146
|
+
}
|