@abide/abide 0.58.0 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1781
- package/bin/abide.ts +788 -204
- package/package.json +30 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +109 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +537 -0
- package/src/server/answerSocket.ts +537 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +66 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +613 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +499 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +7 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +223 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +423 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4480 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +418 -0
- package/src/shared/reactive/watch.ts +310 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +496 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { rawHtmlString } from '../../shared/html.ts'
|
|
2
|
-
import { snippetPayload } from '../../shared/snippet.ts'
|
|
3
|
-
import { effect } from '../effect.ts'
|
|
4
|
-
import { claimChild } from '../runtime/claimChild.ts'
|
|
5
|
-
import { parkCursor } from '../runtime/parkCursor.ts'
|
|
6
|
-
import { RENDER } from '../runtime/RENDER.ts'
|
|
7
|
-
import { SuspenseSignal } from '../runtime/SuspenseSignal.ts'
|
|
8
|
-
import { appendSnippet } from './appendSnippet.ts'
|
|
9
|
-
import { claimText } from './claimText.ts'
|
|
10
|
-
import { isComment } from './isComment.ts'
|
|
11
|
-
import { parseRawNodes } from './parseRawNodes.ts'
|
|
12
|
-
import { readTextOrSuspend } from './readTextOrSuspend.ts'
|
|
13
|
-
|
|
14
|
-
const CLOSE = '/abide:html'
|
|
15
|
-
|
|
16
|
-
/*
|
|
17
|
-
A reactive `{expr}` interpolation under `parent`. A plain value is an escaped text
|
|
18
|
-
node: created and appended (create), or the server-rendered text node claimed
|
|
19
|
-
(hydrate) and bound. Adjacent SSR text merges into one node, so on hydrate the
|
|
20
|
-
claimed node is split at the current value's length — deterministic, because
|
|
21
|
-
`read()` returns the same value the server rendered.
|
|
22
|
-
|
|
23
|
-
A value branded by `html\`…\`` (see abide/ui/html) inserts raw markup instead:
|
|
24
|
-
its parsed nodes go between an anchor (create), or the server-rendered nodes
|
|
25
|
-
between `<!--abide:html-->`/`<!--/abide:html-->` markers are adopted (hydrate), and
|
|
26
|
-
a change re-parses and swaps. A binding is text or raw for its lifetime (decided by
|
|
27
|
-
its first value), so plain text — the common case — stays a cheap single node.
|
|
28
|
-
|
|
29
|
-
A blocking `await` read that is pending throws a `SuspenseSignal` (ADR-0042): the
|
|
30
|
-
interpolation SUSPENDS — it renders empty and withholds until the value resolves,
|
|
31
|
-
never evaluating the surrounding expression against a pending `undefined`. The read
|
|
32
|
-
tracked the cell, so the bind effect re-runs on settle. A suspend can only occur on a
|
|
33
|
-
cold client render (on hydrate the warm-seed makes the cell `refreshing()`, not
|
|
34
|
-
`pending()`, D4), and a suspended value is treated as text — its snippet/html shape is
|
|
35
|
-
decided from the first resolved value.
|
|
36
|
-
*/
|
|
37
|
-
// @documentation plumbing
|
|
38
|
-
export function appendText(
|
|
39
|
-
parent: Node,
|
|
40
|
-
read: () => unknown,
|
|
41
|
-
splitAlways = false,
|
|
42
|
-
/* Create-mode insertion reference: content lands before this node instead of at the end of
|
|
43
|
-
`parent` (`null` appends). Lets `appendTextAt` mount at a skeleton anchor through this one
|
|
44
|
-
create path. Ignored on hydrate, where the cursor decides position. */
|
|
45
|
-
before: Node | null = null,
|
|
46
|
-
): void {
|
|
47
|
-
/* Probe the first value once, tolerating a suspend (a pending blocking read) — a suspended
|
|
48
|
-
interpolation skips snippet/html detection and takes the text path, starting empty. */
|
|
49
|
-
let probe: unknown
|
|
50
|
-
let suspended = false
|
|
51
|
-
try {
|
|
52
|
-
probe = read()
|
|
53
|
-
} catch (signal) {
|
|
54
|
-
if (!(signal instanceof SuspenseSignal)) {
|
|
55
|
-
throw signal
|
|
56
|
-
}
|
|
57
|
-
suspended = true
|
|
58
|
-
}
|
|
59
|
-
/* A snippet call (`{row(args)}`) mounts its builder; a `html\`\`` value inserts
|
|
60
|
-
raw markup; everything else is escaped text — decided by the first value. */
|
|
61
|
-
if (!suspended && typeof snippetPayload(probe) === 'function') {
|
|
62
|
-
if (before === null) {
|
|
63
|
-
appendSnippet(parent, read)
|
|
64
|
-
return
|
|
65
|
-
}
|
|
66
|
-
/* Positioned mount: buffer the snippet in a fragment, then splice it in at `before` —
|
|
67
|
-
`appendSnippet` itself only appends, and its markers track position from then on. */
|
|
68
|
-
const fragment = document.createDocumentFragment()
|
|
69
|
-
appendSnippet(fragment, read)
|
|
70
|
-
parent.insertBefore(fragment, before)
|
|
71
|
-
return
|
|
72
|
-
}
|
|
73
|
-
if (!suspended && rawHtmlString(probe) !== undefined) {
|
|
74
|
-
appendRawHtml(parent, read, before)
|
|
75
|
-
return
|
|
76
|
-
}
|
|
77
|
-
const hydration = RENDER.hydration
|
|
78
|
-
if (hydration !== undefined) {
|
|
79
|
-
/* Nullish reads render as empty text, never the literal `"undefined"` — so a
|
|
80
|
-
pending async read (undefined-while-pending, ADR-0032 D3) shows nothing. A blocking
|
|
81
|
-
read never suspends here (warm-seeded → `refreshing()`), so `probe` holds its value. */
|
|
82
|
-
const firstValue = probe
|
|
83
|
-
const value = firstValue == null ? '' : String(firstValue)
|
|
84
|
-
/* Claim this binding's portion of the merged SSR text node (assert + split +
|
|
85
|
-
advance — see `claimText`). A value that first rendered empty produced NO server
|
|
86
|
-
text node, so the cursor points at the following node (an element/comment) or past
|
|
87
|
-
the end — the miss arm: bind a synthesized empty Text at the cursor and leave the
|
|
88
|
-
unclaimed node for the next consumer (a following element hole, a sibling binding,
|
|
89
|
-
or nothing). Without it the bind effect below derefs a null/element node. */
|
|
90
|
-
let node = claimText(hydration, parent, value, splitAlways)
|
|
91
|
-
if (node === undefined) {
|
|
92
|
-
const unclaimed = claimChild(hydration, parent)
|
|
93
|
-
node = parent.insertBefore(document.createTextNode(''), unclaimed)
|
|
94
|
-
/* Pin the cursor on the still-unclaimed node — the synthesized node is this
|
|
95
|
-
binding's own, and an unset cursor would default back to the (now synthesized)
|
|
96
|
-
first child. */
|
|
97
|
-
parkCursor(hydration, parent, unclaimed)
|
|
98
|
-
}
|
|
99
|
-
const bound = node
|
|
100
|
-
effect(() => {
|
|
101
|
-
bound.data = readTextOrSuspend(read)
|
|
102
|
-
})
|
|
103
|
-
return
|
|
104
|
-
}
|
|
105
|
-
const node = document.createTextNode('')
|
|
106
|
-
parent.insertBefore(node, before)
|
|
107
|
-
effect(() => {
|
|
108
|
-
node.data = readTextOrSuspend(read)
|
|
109
|
-
})
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/* Raw-markup interpolation: parse the branded string into nodes behind an anchor,
|
|
113
|
-
re-parsing on change; on hydrate adopt the server markup between its markers. */
|
|
114
|
-
function appendRawHtml(parent: Node, read: () => unknown, before: Node | null): void {
|
|
115
|
-
const hydration = RENDER.hydration
|
|
116
|
-
const markup = (): string => rawHtmlString(read()) ?? ''
|
|
117
|
-
const anchor = document.createTextNode('')
|
|
118
|
-
let nodes: Node[] = []
|
|
119
|
-
|
|
120
|
-
const set = (value: string): void => {
|
|
121
|
-
/* Insert/remove via the anchor's LIVE parent, not the build-time `parent` — when
|
|
122
|
-
this interpolation is a bare child of a control-flow branch, `parent` is the
|
|
123
|
-
branch's build fragment, which the enclosing block has since emptied into the
|
|
124
|
-
document (same reason each/awaitBlock use the anchor's parentNode). */
|
|
125
|
-
const liveParent = anchor.parentNode ?? parent
|
|
126
|
-
for (const node of nodes) {
|
|
127
|
-
liveParent.removeChild(node)
|
|
128
|
-
}
|
|
129
|
-
nodes = parseRawNodes(liveParent, value)
|
|
130
|
-
for (const node of nodes) {
|
|
131
|
-
liveParent.insertBefore(node, anchor)
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (hydration !== undefined) {
|
|
136
|
-
const open = claimChild(hydration, parent)
|
|
137
|
-
let node: Node | null = open === null ? null : open.nextSibling
|
|
138
|
-
while (node !== null && !isComment(node, CLOSE)) {
|
|
139
|
-
nodes.push(node)
|
|
140
|
-
node = node.nextSibling
|
|
141
|
-
}
|
|
142
|
-
parkCursor(hydration, parent, node === null ? null : node.nextSibling)
|
|
143
|
-
parent.insertBefore(anchor, node)
|
|
144
|
-
let first = true
|
|
145
|
-
effect(() => {
|
|
146
|
-
const value = markup()
|
|
147
|
-
if (first) {
|
|
148
|
-
first = false // adopt the server markup as-is
|
|
149
|
-
return
|
|
150
|
-
}
|
|
151
|
-
set(value)
|
|
152
|
-
})
|
|
153
|
-
return
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
parent.insertBefore(anchor, before)
|
|
157
|
-
effect(() => {
|
|
158
|
-
set(markup())
|
|
159
|
-
})
|
|
160
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { parkCursor } from '../runtime/parkCursor.ts'
|
|
2
|
-
import { RENDER } from '../runtime/RENDER.ts'
|
|
3
|
-
import { appendText } from './appendText.ts'
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
A reactive `{expr}` interpolation mounted at a skeleton anchor comment (`<!--a-->`), used
|
|
7
|
-
for reactive text INTERLEAVED with element siblings (where element-only positioning can't
|
|
8
|
-
reach it). The anchor is located by `skeleton`'s scan, and content mounts immediately
|
|
9
|
-
after it. Handles the same three value kinds as `appendText` — escaped text, a
|
|
10
|
-
`{snippet(args)}` builder, and `html\`\``-branded raw markup — since the kind is only
|
|
11
|
-
known at runtime.
|
|
12
|
-
|
|
13
|
-
The anchor is KEPT (in both the SSR markup and the client DOM, like control flow's
|
|
14
|
-
`<!--[-->` range markers), so server and client render identical markup — `appendTextAt`
|
|
15
|
-
never strips it.
|
|
16
|
-
|
|
17
|
-
Both paths delegate to `appendText`: hydrate with the cursor temporarily pointed at the
|
|
18
|
-
anchor's content (the server rendered `<!--a-->value`, so the value is the anchor's next
|
|
19
|
-
sibling), create with the anchor's next sibling as the insertion reference — one
|
|
20
|
-
text-split / snippet / raw-html implementation, positioned two ways.
|
|
21
|
-
*/
|
|
22
|
-
// @documentation plumbing
|
|
23
|
-
export function appendTextAt(anchor: Node, read: () => unknown): void {
|
|
24
|
-
const parent = anchor.parentNode as Node
|
|
25
|
-
const hydration = RENDER.hydration
|
|
26
|
-
if (hydration !== undefined) {
|
|
27
|
-
const had = hydration.next.has(parent)
|
|
28
|
-
const saved = hydration.next.get(parent)
|
|
29
|
-
parkCursor(hydration, parent, anchor.nextSibling)
|
|
30
|
-
appendText(parent, read)
|
|
31
|
-
if (had) {
|
|
32
|
-
parkCursor(hydration, parent, saved ?? null)
|
|
33
|
-
} else {
|
|
34
|
-
hydration.next.delete(parent)
|
|
35
|
-
}
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
appendText(parent, read, false, anchor.nextSibling)
|
|
39
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { CURRENT_PATH } from '../runtime/CURRENT_PATH.ts'
|
|
2
|
-
import { reportHydrationDivergence } from '../runtime/reportHydrationDivergence.ts'
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
A text claim that MUST match the server's rendered text. On hydrate,
|
|
6
|
-
appendStatic/appendText adopt a merged SSR text node and split it at the CLIENT
|
|
7
|
-
value's length, trusting the client renders the same string the server did. When
|
|
8
|
-
they diverge — a binding whose value only materializes client-side (a peeked cache
|
|
9
|
-
value, `Date.now()`, a random) — the split lands mid-run and orphans the tail,
|
|
10
|
-
silently corrupting the DOM several nodes downstream. This turns that into a legible
|
|
11
|
-
desync AT the divergence, the text counterpart of `claimExpected` for structure.
|
|
12
|
-
|
|
13
|
-
The claimed node's data must BEGIN with this binding's value: a merged run appends
|
|
14
|
-
the following siblings' text AFTER it, so the value is exactly the leading slice. A
|
|
15
|
-
mismatch means SSR and the client build disagree on the text here.
|
|
16
|
-
*/
|
|
17
|
-
export function assertClaimedText(node: Text, value: string): void {
|
|
18
|
-
if (node.data.startsWith(value)) {
|
|
19
|
-
return
|
|
20
|
-
}
|
|
21
|
-
/* Report on the `hydrate` channel with the render-path. With the channel on, keep hydrating
|
|
22
|
-
(re-split proceeds below on the client length) so one reload surfaces every text divergence;
|
|
23
|
-
off, the hard throw stays the default. A text miss is cursor-safe to continue past. */
|
|
24
|
-
if (!reportHydrationDivergence('text desync', { expected: value, server: node.data })) {
|
|
25
|
-
return
|
|
26
|
-
}
|
|
27
|
-
throw new Error(
|
|
28
|
-
`[abide] hydration desync at ${CURRENT_PATH.current || '(root)'}: expected server text beginning with ${JSON.stringify(value)} here, but the server DOM had ${JSON.stringify(node.data)} — SSR markup and the client build disagree on the text at this position.`,
|
|
29
|
-
)
|
|
30
|
-
}
|
package/src/lib/ui/dom/attach.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { CURRENT_SCOPE } from '../runtime/CURRENT_SCOPE.ts'
|
|
2
|
-
import { inScope } from '../runtime/inScope.ts'
|
|
3
|
-
import { OWNER } from '../runtime/OWNER.ts'
|
|
4
|
-
import { toTeardown } from '../runtime/toTeardown.ts'
|
|
5
|
-
import type { EffectResult } from '../runtime/types/EffectResult.ts'
|
|
6
|
-
|
|
7
|
-
/*
|
|
8
|
-
Runs an attachment against an element at build time and registers its optional
|
|
9
|
-
teardown with the current ownership scope, so it detaches when the component
|
|
10
|
-
disposes. The dual of `on`: where `on` owns a listener, `attach` owns whatever
|
|
11
|
-
the attachment sets up. Node-lifetime, not reactive — for param reactivity put an
|
|
12
|
-
`effect` inside the attachment and return its dispose. The attachment may be
|
|
13
|
-
async; its teardown then runs once the promise settles. Runtime target for an
|
|
14
|
-
`attach={…}` binding.
|
|
15
|
-
*/
|
|
16
|
-
// @documentation plumbing
|
|
17
|
-
export function attach(element: Element, attachment: (node: Element) => EffectResult): void {
|
|
18
|
-
/* The attachment body runs now (scope already current); pin the teardown, which
|
|
19
|
-
fires on dispose, so an ambient `scope()` in it resolves the component. */
|
|
20
|
-
const captured = CURRENT_SCOPE.current
|
|
21
|
-
const teardown = toTeardown(attachment(element))
|
|
22
|
-
if (teardown !== undefined && OWNER.current !== undefined) {
|
|
23
|
-
OWNER.current.push(() => inScope(captured, teardown))
|
|
24
|
-
}
|
|
25
|
-
}
|
package/src/lib/ui/dom/attr.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { effect } from '../effect.ts'
|
|
2
|
-
import { RENDER } from '../runtime/RENDER.ts'
|
|
3
|
-
import { reportHydrationDivergence } from '../runtime/reportHydrationDivergence.ts'
|
|
4
|
-
import { SuspenseSignal } from '../runtime/SuspenseSignal.ts'
|
|
5
|
-
|
|
6
|
-
/* The attribute string an element carries for `value`, or `null` when absent — the present/absent +
|
|
7
|
-
stringify semantics below, factored so the hydration compare and the write agree exactly. */
|
|
8
|
-
function attributeText(value: unknown): string | null {
|
|
9
|
-
if (value === false || value === null || value === undefined) {
|
|
10
|
-
return null
|
|
11
|
-
}
|
|
12
|
-
return value === true ? '' : String(value)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/*
|
|
16
|
-
Binds an element attribute to `read()`. A boolean true sets the bare attribute,
|
|
17
|
-
and false/null/undefined removes it (the standard present/absent semantics);
|
|
18
|
-
anything else is stringified. One effect per bound attribute, so only the
|
|
19
|
-
changed attribute touches the DOM.
|
|
20
|
-
*/
|
|
21
|
-
// @documentation plumbing
|
|
22
|
-
export function attr(element: Element, name: string, read: () => unknown): void {
|
|
23
|
-
/* Captured at bind time (inside the hydrating build) so the first effect run can compare the
|
|
24
|
-
server-rendered attribute before overwriting it — an attribute divergence is otherwise
|
|
25
|
-
invisible, since the effect always overwrites. */
|
|
26
|
-
let hydrating = RENDER.hydration !== undefined
|
|
27
|
-
effect(() => {
|
|
28
|
-
let value: unknown
|
|
29
|
-
try {
|
|
30
|
-
value = read()
|
|
31
|
-
} catch (signal) {
|
|
32
|
-
/* A pending blocking `await` read (ADR-0042) suspends this attribute: leave it
|
|
33
|
-
unset until the value resolves. The read tracked its cell, so this effect
|
|
34
|
-
re-runs on settle. A suspend can only occur on a cold client render (warm-seed
|
|
35
|
-
keeps a hydrating read `refreshing()`, never `pending()`), so the hydration
|
|
36
|
-
compare below is never reached while suspended. */
|
|
37
|
-
if (!(signal instanceof SuspenseSignal)) {
|
|
38
|
-
throw signal
|
|
39
|
-
}
|
|
40
|
-
element.removeAttribute(name)
|
|
41
|
-
return
|
|
42
|
-
}
|
|
43
|
-
const next = attributeText(value)
|
|
44
|
-
if (hydrating) {
|
|
45
|
-
hydrating = false
|
|
46
|
-
const server = element.getAttribute(name)
|
|
47
|
-
if (server !== next) {
|
|
48
|
-
reportHydrationDivergence(`attr "${name}" desync`, { server, client: next })
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (next === null) {
|
|
52
|
-
element.removeAttribute(name)
|
|
53
|
-
} else {
|
|
54
|
-
element.setAttribute(name, next)
|
|
55
|
-
}
|
|
56
|
-
})
|
|
57
|
-
}
|
|
@@ -1,314 +0,0 @@
|
|
|
1
|
-
import { decodeRefJson } from '../../shared/decodeRefJson.ts'
|
|
2
|
-
import { isThenable } from '../../shared/isThenable.ts'
|
|
3
|
-
import { effect } from '../effect.ts'
|
|
4
|
-
import { CURRENT_BOUNDARY } from '../runtime/CURRENT_BOUNDARY.ts'
|
|
5
|
-
import { claimMarker } from '../runtime/claimMarker.ts'
|
|
6
|
-
import { generationGuard } from '../runtime/generationGuard.ts'
|
|
7
|
-
import { RANGE_CLOSE, RANGE_OPEN } from '../runtime/RANGE_MARKER.ts'
|
|
8
|
-
import { RENDER } from '../runtime/RENDER.ts'
|
|
9
|
-
import type { ResumeEntry } from '../runtime/RESUME.ts'
|
|
10
|
-
import { RESUME } from '../runtime/RESUME.ts'
|
|
11
|
-
import { SuspenseSignal } from '../runtime/SuspenseSignal.ts'
|
|
12
|
-
import { scopeGroup } from '../runtime/scopeGroup.ts'
|
|
13
|
-
import type { State } from '../runtime/types/State.ts'
|
|
14
|
-
import { state } from '../state.ts'
|
|
15
|
-
import { anchoredBranch } from './anchoredBranch.ts'
|
|
16
|
-
import { discardAndRebuild } from './discardAndRebuild.ts'
|
|
17
|
-
|
|
18
|
-
/*
|
|
19
|
-
Async binding — the runtime for `<template await>`. Renders the pending branch,
|
|
20
|
-
then swaps to the resolved branch (with the value) or the error branch on settle.
|
|
21
|
-
Each branch's content lives in a RANGE bounded by two comment markers (`[`…`]`), the
|
|
22
|
-
same model `when`/`switch`/`each` use — so a multi-root branch inserts as a unit
|
|
23
|
-
(`buildDetachedRange`) and detaches as a unit (`removeRange`), rather than tracking and
|
|
24
|
-
removing a node array by hand.
|
|
25
|
-
|
|
26
|
-
The read runs inside a abide-ui `effect`, so it's reactive: `abide/shared/cache`'s
|
|
27
|
-
store subscribes the key it reads to this effect (createSubscriber is abide-ui-
|
|
28
|
-
native), so `cache.invalidate()` of that key re-runs the block — pending, then the
|
|
29
|
-
fresh value swaps in. A read that touches no reactive source runs exactly once.
|
|
30
|
-
|
|
31
|
-
Hydration adopts in place, by precedence:
|
|
32
|
-
1. a streamed resume value (`RESUME[id]`) → adopt the resolved branch the stream
|
|
33
|
-
swapped in, no read (the promise never runs — a plain producer resume);
|
|
34
|
-
2. a warm-sync read (a non-thenable result) → adopt the SSR branch with it;
|
|
35
|
-
3. otherwise (genuinely pending) → discard the SSR boundary and run fresh.
|
|
36
|
-
After the first (adopting) run, later invalidations swap content before an anchor
|
|
37
|
-
parked just before the close marker.
|
|
38
|
-
*/
|
|
39
|
-
// @documentation plumbing
|
|
40
|
-
export function awaitBlock(
|
|
41
|
-
parent: Node,
|
|
42
|
-
id: string,
|
|
43
|
-
promiseThunk: () => unknown,
|
|
44
|
-
renderPending: ((parent: Node) => void) | undefined,
|
|
45
|
-
renderThen: (parent: Node, value: unknown) => void,
|
|
46
|
-
/* Absent when the block has no catch branch — a rejection then routes to the enclosing
|
|
47
|
-
{#try} boundary captured at build (if any), else surfaces (re-throws to the
|
|
48
|
-
unhandled-rejection path) instead of rendering an empty branch. */
|
|
49
|
-
renderCatch: ((parent: Node, error: unknown) => void) | undefined,
|
|
50
|
-
/* A static node located by the skeleton: the block's anchor inserts before it on
|
|
51
|
-
create (block before a static suffix). Null appends (tail). insertBefore(x, null)
|
|
52
|
-
=== appendChild, so the default is the prior behaviour. */
|
|
53
|
-
before: Node | null = null,
|
|
54
|
-
): void {
|
|
55
|
-
const hydration = RENDER.hydration
|
|
56
|
-
/* The enclosing {#try} boundary ambient at BUILD (like createEffectNode captures it). A
|
|
57
|
-
catch-less rejection settles LATER, after CURRENT_BOUNDARY has been restored, so we must
|
|
58
|
-
capture it into this closure now rather than read it at settle time. */
|
|
59
|
-
const capturedBoundary = CURRENT_BOUNDARY.current
|
|
60
|
-
/* The live branch's scope, registered with the owner so it disposes on owner
|
|
61
|
-
teardown — not only when a settle/re-run swaps branches via detach. */
|
|
62
|
-
const group = scopeGroup()
|
|
63
|
-
/* The single active branch mounted before an anchor — owns `active`/`detach`/`place`/
|
|
64
|
-
adopt-strand guard (shared with `tryBlock`); this block keeps its bespoke settlement. */
|
|
65
|
-
const branch = anchoredBranch(parent, group)
|
|
66
|
-
let first = true
|
|
67
|
-
/* Bumped each run so a prior run's in-flight promise can't clobber a newer one, AND on
|
|
68
|
-
owner teardown so an in-flight promise that settles AFTER the enclosing `{#if}`/
|
|
69
|
-
`{#for}`/component tears this block out is abandoned — otherwise its settle runs
|
|
70
|
-
`place` on the block's now-detached anchor and `insertBefore` throws NotFoundError. */
|
|
71
|
-
const guard = generationGuard()
|
|
72
|
-
/* The resolved value, held as a reactive cell so the then-branch reads it through its
|
|
73
|
-
own effects. A re-run that resolves to a NEW value SETS this cell instead of rebuilding
|
|
74
|
-
the branch — the branch (and any keyed `each` inside it) survives and updates in place,
|
|
75
|
-
so a live cache patch no longer flashes the whole subtree. The branch is rebuilt only
|
|
76
|
-
across a kind change (pending/catch ↔ then), where it has to be. */
|
|
77
|
-
let valueCell: State<unknown> | undefined
|
|
78
|
-
/* Which branch is currently mounted, so a settle knows whether it can update the cell in
|
|
79
|
-
place (then→then) or must build a fresh branch. */
|
|
80
|
-
let activeKind: 'pending' | 'then' | 'catch' | undefined
|
|
81
|
-
|
|
82
|
-
/* Settle to a resolved value. then→then updates the cell in place — the branch and its
|
|
83
|
-
inner each survive (no flash); any other prior kind builds a fresh then-branch around
|
|
84
|
-
a new cell. renderThen receives the CELL (not the raw value), so the branch reads it
|
|
85
|
-
reactively and re-runs its own effects when a later settle sets it. */
|
|
86
|
-
const settleThen = (value: unknown): void => {
|
|
87
|
-
if (activeKind === 'then' && valueCell !== undefined) {
|
|
88
|
-
valueCell.value = value
|
|
89
|
-
return
|
|
90
|
-
}
|
|
91
|
-
const cell = state(value)
|
|
92
|
-
valueCell = cell
|
|
93
|
-
branch.place((host) => renderThen(host, cell))
|
|
94
|
-
activeKind = 'then'
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/* Settle to a rejection: with a local catch branch, swap to it. With no local catch, route
|
|
98
|
-
to the enclosing {#try} boundary captured at build if one was ambient; otherwise surface
|
|
99
|
-
(unhandled rejection), preserving the prior behaviour when there's no boundary. */
|
|
100
|
-
const settleError = (error: unknown): void => {
|
|
101
|
-
if (renderCatch === undefined) {
|
|
102
|
-
if (capturedBoundary !== undefined) {
|
|
103
|
-
capturedBoundary.handle(error)
|
|
104
|
-
return
|
|
105
|
-
}
|
|
106
|
-
throw error
|
|
107
|
-
}
|
|
108
|
-
valueCell = undefined
|
|
109
|
-
branch.place((host) => renderCatch(host, error))
|
|
110
|
-
activeKind = 'catch'
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/* Show the pending branch (or detach when there is none), UNLESS a then-branch is already
|
|
114
|
-
mounted — a revalidation keeps it visible and updates in place when the new value settles
|
|
115
|
-
(the no-flash live-update path). Shared by an in-flight promise and a suspended subject read. */
|
|
116
|
-
const showPending = (): void => {
|
|
117
|
-
if (activeKind !== 'then') {
|
|
118
|
-
if (renderPending !== undefined) {
|
|
119
|
-
branch.place((host) => renderPending(host))
|
|
120
|
-
activeKind = 'pending'
|
|
121
|
-
} else {
|
|
122
|
-
branch.detach()
|
|
123
|
-
activeKind = undefined
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/* Render a settled-or-pending result into the current generation. */
|
|
129
|
-
const render = (result: unknown): void => {
|
|
130
|
-
const gen = guard.token()
|
|
131
|
-
if (!isThenable(result)) {
|
|
132
|
-
settleThen(result) // warm-sync → resolved now, no flash
|
|
133
|
-
return
|
|
134
|
-
}
|
|
135
|
-
/* A first load (or a prior pending/catch) shows the pending branch while the promise is in
|
|
136
|
-
flight; a live then-branch stays put (see `showPending`). */
|
|
137
|
-
showPending()
|
|
138
|
-
result.then(
|
|
139
|
-
(value) => {
|
|
140
|
-
if (guard.live(gen)) {
|
|
141
|
-
settleThen(value)
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
(error) => {
|
|
145
|
-
if (guard.live(gen)) {
|
|
146
|
-
settleError(error)
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
)
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/* Adopt an SSR-resolved branch in place (its content claims the existing nodes), then
|
|
153
|
-
wrap the adopted region in `[`…`]` markers and park an anchor just before the close
|
|
154
|
-
marker for later swaps. The adopted content is everything the build claimed between
|
|
155
|
-
the open and close markers; bracketing it makes the adopted branch a marker-bounded
|
|
156
|
-
range identical to a freshly-`place`d one, so the FIRST swap detaches it with
|
|
157
|
-
`removeRange` like every later swap (no node-array special case). `adoptStrand` carries
|
|
158
|
-
the shared strand-dispose guard; the `afterBuild` closure below is await's bespoke
|
|
159
|
-
bracketing — it runs only after a clean build. */
|
|
160
|
-
const adopt = (open: Node | null, build: (parent: Node) => void): void => {
|
|
161
|
-
const cursor = hydration as NonNullable<typeof hydration>
|
|
162
|
-
/* The cursor already sits here (claiming `open` advanced past it); kept for the
|
|
163
|
-
bracketing below. */
|
|
164
|
-
const firstAdopted = open?.nextSibling ?? null
|
|
165
|
-
branch.adoptStrand(build, () => {
|
|
166
|
-
/* A guaranteed control-flow marker — the claim throws on a desync (caught by
|
|
167
|
-
firstHydrate's adopt try/catch → rebuildCold) instead of silently claiming null
|
|
168
|
-
and over-clearing the parent. */
|
|
169
|
-
const close = claimMarker(cursor, parent, `/abide:await:${id} close marker`)
|
|
170
|
-
/* Bracket the adopted nodes: `[` before the first claimed node (or before `close`
|
|
171
|
-
for an empty branch), `]` then the anchor just before `close`. */
|
|
172
|
-
const start = document.createComment(RANGE_OPEN)
|
|
173
|
-
parent.insertBefore(start, firstAdopted ?? close)
|
|
174
|
-
const end = document.createComment(RANGE_CLOSE)
|
|
175
|
-
parent.insertBefore(end, close)
|
|
176
|
-
branch.parkAnchor(close)
|
|
177
|
-
return { start, end }
|
|
178
|
-
})
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
/* Discard the SSR boundary and (re)build the block from `result`, fresh (hydration
|
|
182
|
-
off) — the recovery path when adoption can't use the server markup. Insert the
|
|
183
|
-
anchor at the node AFTER the discarded boundary — NOT the captured `before`, which
|
|
184
|
-
for a skeleton-anchored block is the open boundary itself and is removed here, so
|
|
185
|
-
reusing it throws `NotFoundError` in a strict DOM. */
|
|
186
|
-
const rebuildCold = (open: Node | null, result: () => unknown): void => {
|
|
187
|
-
branch.detach()
|
|
188
|
-
discardAndRebuild(
|
|
189
|
-
hydration as NonNullable<typeof hydration>,
|
|
190
|
-
parent,
|
|
191
|
-
open,
|
|
192
|
-
`/abide:await:${id}`,
|
|
193
|
-
(after) => {
|
|
194
|
-
branch.parkAnchor(after)
|
|
195
|
-
render(result())
|
|
196
|
-
},
|
|
197
|
-
)
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/* The first run when hydrating: adopt by precedence (resume / warm-sync), else
|
|
201
|
-
discard the boundary and mount fresh. Adoption is guarded: a resume value that
|
|
202
|
-
didn't round-trip (e.g. a non-serializable Response) throws while building the
|
|
203
|
-
branch — fall back to the live promise, which reads the properly-reconstructed
|
|
204
|
-
warm cache (or re-fetches) instead of crashing hydration. */
|
|
205
|
-
const firstHydrate = (): void => {
|
|
206
|
-
const cursor = hydration as NonNullable<typeof hydration>
|
|
207
|
-
/* The await block's open marker is compiler-guaranteed — the claim throws a
|
|
208
|
-
legible desync here rather than propagating a null that over-clears the parent. */
|
|
209
|
-
const open = claimMarker(cursor, parent, `abide:await:${id} open marker`)
|
|
210
|
-
/* RESUME holds the ref-json-encoded entry STRING; decode here, where the codec
|
|
211
|
-
lives. A decode failure (malformed/absent payload) reads as "no resume" — fall
|
|
212
|
-
through to the live promise rather than crash hydration. */
|
|
213
|
-
const raw = RESUME[id]
|
|
214
|
-
let decoded: ResumeEntry | undefined
|
|
215
|
-
if (raw !== undefined) {
|
|
216
|
-
try {
|
|
217
|
-
decoded = decodeRefJson(raw) as ResumeEntry
|
|
218
|
-
} catch {
|
|
219
|
-
decoded = undefined
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
/* Read the promise now so the block subscribes to its reactive source (a cache key) —
|
|
223
|
-
warm on resume, so no round-trip — then adopt the resume value / warm-sync result
|
|
224
|
-
below, or discard and build the pending branch fresh. */
|
|
225
|
-
const result = promiseThunk()
|
|
226
|
-
const entry = decoded
|
|
227
|
-
if (entry !== undefined) {
|
|
228
|
-
/* The resume entry drives the adopted branch below; the live `result` read to
|
|
229
|
-
subscribe the reactive source is discarded here. Swallow its rejection — a
|
|
230
|
-
cold-cache warm-seed miss starts a real fetch, and if that fetch rejects it
|
|
231
|
-
would otherwise surface as an unhandledrejection at boot (process-fatal under
|
|
232
|
-
Bun) instead of being harmlessly dropped. */
|
|
233
|
-
if (isThenable(result)) {
|
|
234
|
-
void result.then(undefined, () => undefined)
|
|
235
|
-
}
|
|
236
|
-
/* Build the adopted branch around a value CELL (then) so a later re-run updates
|
|
237
|
-
it in place, exactly like a fresh mount. The `throw` for a catch-less rejection
|
|
238
|
-
stays OUTSIDE the adopt try/catch so it surfaces rather than triggering the
|
|
239
|
-
cold-rebuild fallback. */
|
|
240
|
-
let build: (host: Node) => void
|
|
241
|
-
let cell: State<unknown> | undefined
|
|
242
|
-
let kind: 'then' | 'catch'
|
|
243
|
-
if (entry.ok) {
|
|
244
|
-
cell = state(entry.value)
|
|
245
|
-
const resolved = cell
|
|
246
|
-
build = (host) => renderThen(host, resolved)
|
|
247
|
-
kind = 'then'
|
|
248
|
-
} else if (renderCatch !== undefined) {
|
|
249
|
-
build = (host) => renderCatch(host, entry.error)
|
|
250
|
-
kind = 'catch'
|
|
251
|
-
} else {
|
|
252
|
-
/* A resumed rejection with no catch branch surfaces (mirrors the cold
|
|
253
|
-
path); in practice the server 500s such a block, so none resumes. */
|
|
254
|
-
throw entry.error
|
|
255
|
-
}
|
|
256
|
-
try {
|
|
257
|
-
adopt(open, build)
|
|
258
|
-
valueCell = cell
|
|
259
|
-
activeKind = kind
|
|
260
|
-
} catch {
|
|
261
|
-
rebuildCold(open, promiseThunk)
|
|
262
|
-
}
|
|
263
|
-
return
|
|
264
|
-
}
|
|
265
|
-
if (!isThenable(result)) {
|
|
266
|
-
const cell = state(result)
|
|
267
|
-
try {
|
|
268
|
-
adopt(open, (host) => renderThen(host, cell))
|
|
269
|
-
valueCell = cell
|
|
270
|
-
activeKind = 'then'
|
|
271
|
-
} catch {
|
|
272
|
-
rebuildCold(open, promiseThunk)
|
|
273
|
-
}
|
|
274
|
-
return
|
|
275
|
-
}
|
|
276
|
-
/* Genuinely pending — no resume, not warm: the boundary's server nodes can't be
|
|
277
|
-
adopted, so discard them and build the pending branch fresh from the already-read
|
|
278
|
-
promise (nothing was placed yet; the detach inside is a no-op). */
|
|
279
|
-
rebuildCold(open, () => result)
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
effect(() => {
|
|
283
|
-
guard.renew()
|
|
284
|
-
if (first) {
|
|
285
|
-
first = false
|
|
286
|
-
if (hydration !== undefined) {
|
|
287
|
-
/* firstHydrate reads the promise ITSELF so the block subscribes to its reactive
|
|
288
|
-
source (a cache key), then adopts the resume value / warm-sync result. */
|
|
289
|
-
firstHydrate()
|
|
290
|
-
return
|
|
291
|
-
}
|
|
292
|
-
branch.parkAnchor(before)
|
|
293
|
-
}
|
|
294
|
-
/* Read the promise every subsequent run so an invalidate re-runs the block. ONLY this
|
|
295
|
-
read is tracked (the branch builds untracked via `scope`), so the block re-runs only
|
|
296
|
-
when its promise source does, not on any branch-state change. A blocking `await` cell
|
|
297
|
-
embedded in the subject (`{#await loadMore(user.id)}` where `user` is an `await` cell)
|
|
298
|
-
throws a `SuspenseSignal` while pending (ADR-0042) — on a COLD client render the read
|
|
299
|
-
runs synchronously here, so withhold to the pending branch until it settles (mirroring
|
|
300
|
-
the local suspense withhold every other reading region does), rather than letting the
|
|
301
|
-
throw escape the build. The read tracked its cell, so this effect re-runs on resolve. */
|
|
302
|
-
let result: unknown
|
|
303
|
-
try {
|
|
304
|
-
result = promiseThunk()
|
|
305
|
-
} catch (signal) {
|
|
306
|
-
if (!(signal instanceof SuspenseSignal)) {
|
|
307
|
-
throw signal
|
|
308
|
-
}
|
|
309
|
-
showPending()
|
|
310
|
-
return
|
|
311
|
-
}
|
|
312
|
-
render(result)
|
|
313
|
-
})
|
|
314
|
-
}
|