@abide/abide 0.58.0 → 0.101.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -1774
- package/bin/abide.ts +793 -204
- package/package.json +35 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +112 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +550 -0
- package/src/server/answerSocket.ts +585 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +100 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +641 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +505 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +13 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +217 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +424 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4501 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +552 -0
- package/src/shared/reactive/watch.ts +314 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +501 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { PendingAsyncCells } from '../../shared/types/PendingAsyncCells.ts'
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
The swappable backing for the PER-RENDER async-cell barrier override (ADR-0037 Phase 2). Mirrors
|
|
5
|
-
`ambientPathBacking`: the default is an inert passthrough (no override — the barrier list resolves
|
|
6
|
-
through the per-request `pendingAsyncCellsSlot` as before), and the server installs an
|
|
7
|
-
AsyncLocalStorage-backed variant (`renderCellBarrierStore`) so a hoisted child render can run its
|
|
8
|
-
async cells under its OWN list.
|
|
9
|
-
|
|
10
|
-
Why a per-render override at all: sibling child renders that run CONCURRENTLY (the parallel-SSR
|
|
11
|
-
hoist) each register cells on the request-scoped pending list, and `settleAsyncCells` drains it with
|
|
12
|
-
`splice(0)` — so one child's barrier would drain a sibling's cells, letting that sibling's template
|
|
13
|
-
peek a still-pending value. Running each hoisted child under `isolateCellBarrier` gives it a fresh
|
|
14
|
-
list (via `run`), so `activePendingCells()` returns that list for the child's registrations and its
|
|
15
|
-
own barrier drain — isolated from every concurrent sibling and from the page. `current()` returns
|
|
16
|
-
`undefined` outside any isolated render, so the page's own cells fall through to the request list
|
|
17
|
-
unchanged. Kept out of `node:async_hooks` on the client: the default backing is pure JS, and the ALS
|
|
18
|
-
variant is installed only server-side.
|
|
19
|
-
*/
|
|
20
|
-
export const cellBarrierBacking: {
|
|
21
|
-
active: {
|
|
22
|
-
current: () => PendingAsyncCells | undefined
|
|
23
|
-
run: <T>(list: PendingAsyncCells, render: () => T) => T
|
|
24
|
-
}
|
|
25
|
-
} = {
|
|
26
|
-
active: {
|
|
27
|
-
current: () => undefined,
|
|
28
|
-
run: (_list, render) => render(),
|
|
29
|
-
},
|
|
30
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { HydrationCursor } from './types/HydrationCursor.ts'
|
|
2
|
-
|
|
3
|
-
/* The next server-rendered node to claim under `parent` during hydration — a PROBE
|
|
4
|
-
(the cursor doesn't move), defaulting to the first child when the pointer hasn't
|
|
5
|
-
been set yet. The claim verbs read through this and advance via `parkCursor`. */
|
|
6
|
-
export function claimChild(hydration: HydrationCursor, parent: Node): Node | null {
|
|
7
|
-
return hydration.next.has(parent) ? (hydration.next.get(parent) ?? null) : parent.firstChild
|
|
8
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CURRENT_PATH } from './CURRENT_PATH.ts'
|
|
2
|
-
import { claimChild } from './claimChild.ts'
|
|
3
|
-
import { reportHydrationDivergence } from './reportHydrationDivergence.ts'
|
|
4
|
-
import type { HydrationCursor } from './types/HydrationCursor.ts'
|
|
5
|
-
|
|
6
|
-
/*
|
|
7
|
-
A hydration claim that MUST succeed. Like `claimChild`, but throws a structural error
|
|
8
|
-
when the cursor has no node to claim. A null here means the SSR markup and the client
|
|
9
|
-
build disagree about the tree at this position — a hydration desync. Cast away unguarded
|
|
10
|
-
(as the claim sites did), that null/undefined derefs several mounts later, far from the
|
|
11
|
-
cause; throwing names what was expected AT the divergence, turning the SSR == client DOM
|
|
12
|
-
invariant from a compile-time-only parity test into a runtime guard. Use only where the
|
|
13
|
-
compiled skeleton GUARANTEES a node — control-flow range markers, keyed-row boundaries —
|
|
14
|
-
never where an end-of-list null is legitimate (e.g. a trailing reactive text binding).
|
|
15
|
-
*/
|
|
16
|
-
export function claimExpected(hydration: HydrationCursor, parent: Node, expected: string): Node {
|
|
17
|
-
const node = claimChild(hydration, parent)
|
|
18
|
-
if (node === null) {
|
|
19
|
-
/* Name where first on the `hydrate` channel (return ignored — a missing structural node
|
|
20
|
-
desyncs the claim cursor, so unlike a text miss this can't safely continue) then throw. */
|
|
21
|
-
reportHydrationDivergence('structure desync', { expected })
|
|
22
|
-
throw new Error(
|
|
23
|
-
`[abide] hydration desync at ${CURRENT_PATH.current || '(root)'}: expected ${expected} here, but the server DOM had no matching node — SSR markup and the client build disagree on structure at this position.`,
|
|
24
|
-
)
|
|
25
|
-
}
|
|
26
|
-
return node
|
|
27
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { claimExpected } from './claimExpected.ts'
|
|
2
|
-
import { parkCursor } from './parkCursor.ts'
|
|
3
|
-
import type { HydrationCursor } from './types/HydrationCursor.ts'
|
|
4
|
-
|
|
5
|
-
/* Claims a compiler-guaranteed marker node (a range bracket, a block/boundary comment,
|
|
6
|
-
a keyed-row bracket) at the parent's cursor and advances past it. Throws a legible
|
|
7
|
-
structural desync when no node is there (`claimExpected`) — a missing marker means
|
|
8
|
-
SSR markup and the client build disagree on structure at this position. */
|
|
9
|
-
export function claimMarker(hydration: HydrationCursor, parent: Node, expected: string): Comment {
|
|
10
|
-
const node = claimExpected(hydration, parent, expected)
|
|
11
|
-
parkCursor(hydration, parent, node.nextSibling)
|
|
12
|
-
return node as Comment
|
|
13
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { claimChild } from './claimChild.ts'
|
|
2
|
-
import { parkCursor } from './parkCursor.ts'
|
|
3
|
-
import type { HydrationCursor } from './types/HydrationCursor.ts'
|
|
4
|
-
|
|
5
|
-
/* Claims a run of `count` top-level server-rendered siblings at the parent's cursor and
|
|
6
|
-
parks it past them (a short run — the server DOM ending early — parks on null). The
|
|
7
|
-
static-clone paths advance through this: the markup is byte-identical to the server's,
|
|
8
|
-
so nothing inside needs claiming individually. `into` collects the claimed nodes when
|
|
9
|
-
the caller resolves holes against them (`skeleton`); omitted, the run is only skipped. */
|
|
10
|
-
export function claimRun(
|
|
11
|
-
hydration: HydrationCursor,
|
|
12
|
-
parent: Node,
|
|
13
|
-
count: number,
|
|
14
|
-
into?: Node[],
|
|
15
|
-
): void {
|
|
16
|
-
let node = claimChild(hydration, parent)
|
|
17
|
-
for (let index = 0; index < count && node !== null; index += 1) {
|
|
18
|
-
into?.push(node)
|
|
19
|
-
node = node.nextSibling
|
|
20
|
-
}
|
|
21
|
-
parkCursor(hydration, parent, node)
|
|
22
|
-
}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import type { PageSnapshot } from '../../shared/types/PageSnapshot.ts'
|
|
2
|
-
import { state } from '../state.ts'
|
|
3
|
-
import { batch } from './batch.ts'
|
|
4
|
-
import type { State } from './types/State.ts'
|
|
5
|
-
|
|
6
|
-
/*
|
|
7
|
-
The client-side page snapshot the `page` proxy reads (startClient registers
|
|
8
|
-
`() => clientPage.value` as the page resolver). Server renders never touch this —
|
|
9
|
-
there the resolver reads the per-request store instead.
|
|
10
|
-
|
|
11
|
-
GRANULAR by field: rather than one signal holding the whole snapshot (which woke
|
|
12
|
-
every `page.*` reader on any navigation), each field is its own cell and each param
|
|
13
|
-
key its own lazily-created cell. So a reader of `page.params.id` subscribes to the id
|
|
14
|
-
cell alone and is NOT woken when `page.params.rest` changes (stepping between episodes
|
|
15
|
-
on one detail page) — no manual `computed` memo needed at the call site.
|
|
16
|
-
|
|
17
|
-
The `.value` get/set API is unchanged, so the router and tests still read
|
|
18
|
-
`clientPage.value.url` and write `clientPage.value = {…}`: the getter returns a STABLE
|
|
19
|
-
snapshot whose field accessors do the granular reads (returning a stable object is what
|
|
20
|
-
stops `clientPage.value` itself from subscribing to everything — a subscription happens
|
|
21
|
-
only when a field is read), and the setter reconciles each field cell (an Object.is-equal
|
|
22
|
-
write is a no-op, so an unchanged id never fires).
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
const routeCell = state<string>('')
|
|
26
|
-
const navigatingCell = state<boolean>(false)
|
|
27
|
-
const urlCell = state<URL>(
|
|
28
|
-
typeof location === 'undefined' ? new URL('http://localhost/') : new URL(location.href),
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
/* Per-param-key cells, created on first read/write of a key. A page that reads
|
|
32
|
-
`page.params.id` mints the id cell and subscribes to it alone. Keys persist across
|
|
33
|
-
navigations (the Map is bounded by the app's param vocabulary); a route that drops a
|
|
34
|
-
key sets its cell to undefined so its readers wake to the absence. */
|
|
35
|
-
const paramCells = new Map<string, State<string | undefined>>()
|
|
36
|
-
function paramCell(key: string): State<string | undefined> {
|
|
37
|
-
let cell = paramCells.get(key)
|
|
38
|
-
if (cell === undefined) {
|
|
39
|
-
cell = state<string>()
|
|
40
|
-
paramCells.set(key, cell)
|
|
41
|
-
}
|
|
42
|
-
return cell
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/* The surface `page.params` exposes: each key access is a granular cell read, so it
|
|
46
|
-
tracks per-key like the underlying object would, but reactively. */
|
|
47
|
-
const paramsProxy = new Proxy({} as Record<string, string>, {
|
|
48
|
-
get: (_target, key) => (typeof key === 'string' ? paramCell(key).value : undefined),
|
|
49
|
-
has: (_target, key) => typeof key === 'string' && paramCell(key).value !== undefined,
|
|
50
|
-
ownKeys: () =>
|
|
51
|
-
[...paramCells].filter(([, cell]) => cell.value !== undefined).map(([key]) => key),
|
|
52
|
-
getOwnPropertyDescriptor: (_target, key) => {
|
|
53
|
-
if (typeof key !== 'string') {
|
|
54
|
-
return undefined
|
|
55
|
-
}
|
|
56
|
-
const value = paramCell(key).value
|
|
57
|
-
if (value === undefined) {
|
|
58
|
-
return undefined
|
|
59
|
-
}
|
|
60
|
-
return { enumerable: true, configurable: true, value }
|
|
61
|
-
},
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
/* The stable snapshot `clientPage.value` returns — reading a field does the granular
|
|
65
|
-
cell read, so a reader subscribes to that field alone. */
|
|
66
|
-
const snapshot: PageSnapshot = {
|
|
67
|
-
get route(): string {
|
|
68
|
-
return routeCell.value
|
|
69
|
-
},
|
|
70
|
-
get params(): Record<string, string> {
|
|
71
|
-
return paramsProxy
|
|
72
|
-
},
|
|
73
|
-
get url(): URL {
|
|
74
|
-
return urlCell.value
|
|
75
|
-
},
|
|
76
|
-
get navigating(): boolean {
|
|
77
|
-
return navigatingCell.value
|
|
78
|
-
},
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/* Reconcile the param cells to `next`: write each key (Object.is in the cell skips a
|
|
82
|
-
no-op, so an unchanged id stays asleep), clear any key the new route dropped. The
|
|
83
|
-
spread-and-rewrite paths (`{ ...clientPage.value, navigating }`) hand our own proxy
|
|
84
|
-
straight back — a no-op, recognised by identity. */
|
|
85
|
-
function reconcileParams(next: Record<string, string>): void {
|
|
86
|
-
if (next === paramsProxy) {
|
|
87
|
-
return
|
|
88
|
-
}
|
|
89
|
-
for (const key of Object.keys(next)) {
|
|
90
|
-
paramCell(key).value = next[key]
|
|
91
|
-
}
|
|
92
|
-
for (const [key, cell] of paramCells) {
|
|
93
|
-
if (!(key in next)) {
|
|
94
|
-
cell.value = undefined
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export const clientPage: { value: PageSnapshot } = {
|
|
100
|
-
get value(): PageSnapshot {
|
|
101
|
-
return snapshot
|
|
102
|
-
},
|
|
103
|
-
set value(next: PageSnapshot) {
|
|
104
|
-
/* Batch the field writes so a navigation publishes the whole snapshot atomically:
|
|
105
|
-
without it each cell write flushes effects separately, so a reader of two fields
|
|
106
|
-
(e.g. `page.url` + `page.params.id`) re-runs once per field and transiently
|
|
107
|
-
observes a half-updated snapshot (new url, stale id). Same batch idiom as
|
|
108
|
-
`createDoc` — flush once, after every cell is reconciled. */
|
|
109
|
-
batch(() => {
|
|
110
|
-
routeCell.value = next.route
|
|
111
|
-
urlCell.value = next.url
|
|
112
|
-
navigatingCell.value = next.navigating
|
|
113
|
-
reconcileParams(next.params)
|
|
114
|
-
})
|
|
115
|
-
},
|
|
116
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { SEED_MARKS } from './SEED_MARKS.ts'
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
Reads a warm-seed entry (`CELL_SEED` / `DOC_SEED`) under the one-shot contract: a seed
|
|
5
|
-
hydrates exactly one pass, so a LATER fresh mount at the same render-path can't
|
|
6
|
-
warm-adopt a stale boot-time snapshot (an SPA navigation recomputes the identical key).
|
|
7
|
-
|
|
8
|
-
Two-phase (ADR-0048): during a hydration pass the read MARKS the entry instead of deleting
|
|
9
|
-
it — a clean pass exit deletes the marked keys, and a THROWING pass leaves every value in
|
|
10
|
-
place, so the discard→cold-rebuild recovery re-adopts the SSR-resolved values instead of
|
|
11
|
-
refetching (a cold refetch would leave blocking `await` cells pending and escape as an
|
|
12
|
-
uncaught SuspenseSignal at mount). WITHIN a pass the read is idempotent — a repeat read
|
|
13
|
-
re-adopts the still-present value, because the repeat is a block-level cold rebuild
|
|
14
|
-
reconstructing the same render-path inside the live pass (its first construction marked
|
|
15
|
-
the key, then the adopt desynced); the one-shot half is enforced at pass exit, not per
|
|
16
|
-
read. Outside a pass — the recovery rebuild itself, a manual client-only mount — the
|
|
17
|
-
read deletes immediately, the plain one-shot.
|
|
18
|
-
*/
|
|
19
|
-
export function consumeSeed(store: Record<string, string>, key: string): string | undefined {
|
|
20
|
-
const marks = SEED_MARKS.current
|
|
21
|
-
if (marks === undefined) {
|
|
22
|
-
const value = store[key]
|
|
23
|
-
if (value !== undefined) {
|
|
24
|
-
delete store[key]
|
|
25
|
-
}
|
|
26
|
-
return value
|
|
27
|
-
}
|
|
28
|
-
const value = store[key]
|
|
29
|
-
if (value !== undefined) {
|
|
30
|
-
let keys = marks.get(store)
|
|
31
|
-
if (keys === undefined) {
|
|
32
|
-
keys = new Set()
|
|
33
|
-
marks.set(store, keys)
|
|
34
|
-
}
|
|
35
|
-
keys.add(key)
|
|
36
|
-
}
|
|
37
|
-
return value
|
|
38
|
-
}
|
|
@@ -1,358 +0,0 @@
|
|
|
1
|
-
import { ASYNC_CELL } from '../../shared/ASYNC_CELL.ts'
|
|
2
|
-
import { decodeRefJson } from '../../shared/decodeRefJson.ts'
|
|
3
|
-
import { isAsyncIterable } from '../../shared/isAsyncIterable.ts'
|
|
4
|
-
import { isThenable } from '../../shared/isThenable.ts'
|
|
5
|
-
import { resolvedCellsSlot } from '../../shared/resolvedCellsSlot.ts'
|
|
6
|
-
import { streamedCellsSlot } from '../../shared/streamedCellsSlot.ts'
|
|
7
|
-
import type { AsyncComputed } from '../../shared/types/AsyncComputed.ts'
|
|
8
|
-
import type { AsyncState } from '../../shared/types/AsyncState.ts'
|
|
9
|
-
import type { NamedAsyncIterable } from '../../shared/types/NamedAsyncIterable.ts'
|
|
10
|
-
import { warmSeedKey } from '../../shared/warmSeedKey.ts'
|
|
11
|
-
import { activePendingCells } from '../activePendingCells.ts'
|
|
12
|
-
import type { Scope } from '../types/Scope.ts'
|
|
13
|
-
import { CELL_SEED } from './CELL_SEED.ts'
|
|
14
|
-
import { CURRENT_SCOPE } from './CURRENT_SCOPE.ts'
|
|
15
|
-
import { consumeSeed } from './consumeSeed.ts'
|
|
16
|
-
import { createEffectNode } from './createEffectNode.ts'
|
|
17
|
-
import { createSignalNode } from './createSignalNode.ts'
|
|
18
|
-
import { readNode } from './readNode.ts'
|
|
19
|
-
import { registerStreamedCell } from './STREAMED_CELLS.ts'
|
|
20
|
-
import { SuspenseSignal } from './SuspenseSignal.ts'
|
|
21
|
-
import { writeNode } from './writeNode.ts'
|
|
22
|
-
|
|
23
|
-
/* The seed's transform gate (mirrors `state`/`linked`): coerces every value entering
|
|
24
|
-
the store, whether from a settling promise, a frame, or a `set()`. */
|
|
25
|
-
type Transform = (next: unknown, previous: unknown) => unknown
|
|
26
|
-
|
|
27
|
-
type AsyncCellOptions = {
|
|
28
|
-
writable: boolean
|
|
29
|
-
transform?: Transform
|
|
30
|
-
/* ADR-0032: a STREAMING cell must NOT join the SSR blocking barrier. A no-`await` async
|
|
31
|
-
value/content position lowers to a cell that ships pending-`undefined` in the shell and
|
|
32
|
-
resolves on the client, rather than blocking the first flush inline (that is the `await`
|
|
33
|
-
tier). Absent/false → today's blocking registration (`await` tier / a keyed bare read).
|
|
34
|
-
A stream (`isAsyncIterable`) never registers regardless — this only gates a promise seed. */
|
|
35
|
-
streaming?: boolean
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/*
|
|
39
|
-
The source-agnostic async cell — the runtime behind `computed`/`linked` when the seed
|
|
40
|
-
tracks a promise or a NamedAsyncIterable (ADR-0019 D1). It is **eager**: a reactive
|
|
41
|
-
effect runs the seed once at construction (capturing its synchronous dependencies) and
|
|
42
|
-
re-runs — a *reseed* — whenever they change, so independent cells load in parallel and a
|
|
43
|
-
dependent cell re-loads when its dependency settles. The seed's result drives the cell:
|
|
44
|
-
|
|
45
|
-
- a **promise** (an `async () => await …` thunk) → unwrap; resolve → value, reject → error;
|
|
46
|
-
- a **NamedAsyncIterable** (socket / streaming rpc) → `for await` its frames, each frame
|
|
47
|
-
updating the value; the terminal error/close land on `error()` / clear in-flight;
|
|
48
|
-
- a **synchronous value** (a seed that produced one directly) → settle immediately.
|
|
49
|
-
|
|
50
|
-
Read through the probe family only — there is no `.value`. `pending()` is "no value yet",
|
|
51
|
-
`refreshing()` is "a held value while a fresher source is in flight" (a reseed or a
|
|
52
|
-
`refresh()`), `peek()` is the retained value/latest frame (stale-while-revalidate),
|
|
53
|
-
`error()` the last rejection. Every out-of-order settle is guarded by a run id, so a slow
|
|
54
|
-
prior flight never overwrites a newer one. `refresh()` re-invokes the seed keeping the
|
|
55
|
-
value visible; a writable cell adds `set()`, which latches until the next reseed.
|
|
56
|
-
*/
|
|
57
|
-
export function createAsyncCell(
|
|
58
|
-
seed: () => unknown,
|
|
59
|
-
options: AsyncCellOptions,
|
|
60
|
-
): AsyncComputed<unknown> | AsyncState<unknown> {
|
|
61
|
-
const transform = options.transform
|
|
62
|
-
/* Reactive state, each its own signal so a reader subscribes only to the facets it
|
|
63
|
-
touches (peeking the value does not re-run on a pending flip, and vice versa). */
|
|
64
|
-
const valueNode = createSignalNode(undefined)
|
|
65
|
-
const errorNode = createSignalNode(undefined)
|
|
66
|
-
const inFlightNode = createSignalNode(true)
|
|
67
|
-
const hasValueNode = createSignalNode(false)
|
|
68
|
-
|
|
69
|
-
/* This cell's serialization-stable warm-seed key: its scope's render-path id + a per-scope
|
|
70
|
-
index, drawn at construction (in declaration order) so SSR and client agree on it. Minted
|
|
71
|
-
through the shared `warmSeedKey` so BOTH sides of the handoff (this same isomorphic call,
|
|
72
|
-
server-side keying `resolvedCells`/`streamedCells` and client-side reading `CELL_SEED`) form
|
|
73
|
-
the identical string from one definition. Undefined for a detached cell (no scope) — such a
|
|
74
|
-
cell never crosses SSR→client, so never warm-seeds. */
|
|
75
|
-
const scope = CURRENT_SCOPE.current as (Scope & { nextCellIndex: () => number }) | undefined
|
|
76
|
-
const warmKey = scope !== undefined ? warmSeedKey(scope.id, scope.nextCellIndex()) : undefined
|
|
77
|
-
|
|
78
|
-
/* `linked` write latch: a local `set()` holds the cell until the next reseed, so an
|
|
79
|
-
arriving frame / settling promise never clobbers an in-progress edit. Cleared on reseed. */
|
|
80
|
-
let written = false
|
|
81
|
-
/* Supersedes out-of-order settles: only the latest run's promise/stream may write. */
|
|
82
|
-
let runId = 0
|
|
83
|
-
/* The current run's in-flight promise (undefined once settled, or for a stream/sync seed).
|
|
84
|
-
Surfaced through `settled()` for the SSR barrier's structural read; a stream never sets it. */
|
|
85
|
-
let inFlight: Promise<unknown> | undefined
|
|
86
|
-
/* Cancels the active stream subscription (a reseed, refresh, or dispose supersedes it). */
|
|
87
|
-
let cancelStream: (() => void) | undefined
|
|
88
|
-
/* Whether a pending read of this cell PAUSES its reader (ADR-0046). True only for a
|
|
89
|
-
BLOCKING source — a settling PROMISE the cell would join the SSR barrier for (author
|
|
90
|
-
`await`, or a fail-open bare-call that registers): `streaming !== true` AND the seed
|
|
91
|
-
produced a thenable. A STREAM (`isAsyncIterable`) never settles and always peeks, so it
|
|
92
|
-
is NOT blocking even though it carries the same default `streaming` flag; `run` clears
|
|
93
|
-
this when it sees a stream. Resolved from the produced source, not the flag alone, so
|
|
94
|
-
`streaming: false` cannot conflate "author `await`" with "stream". */
|
|
95
|
-
let blockingSource = false
|
|
96
|
-
|
|
97
|
-
/* Store a produced value, honouring the write latch and the transform gate. */
|
|
98
|
-
const acceptValue = (value: unknown): void => {
|
|
99
|
-
if (written) {
|
|
100
|
-
return
|
|
101
|
-
}
|
|
102
|
-
writeNode(valueNode, transform === undefined ? value : transform(value, valueNode.value))
|
|
103
|
-
writeNode(hasValueNode, true)
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const settleValue = (myRun: number, value: unknown): void => {
|
|
107
|
-
if (myRun !== runId) {
|
|
108
|
-
return
|
|
109
|
-
}
|
|
110
|
-
inFlight = undefined
|
|
111
|
-
acceptValue(value)
|
|
112
|
-
writeNode(errorNode, undefined)
|
|
113
|
-
writeNode(inFlightNode, false)
|
|
114
|
-
/* Server-only: record the resolved value keyed by this cell's render-path id (the `window`
|
|
115
|
-
guard keeps client settles from ever recording). BLOCKING cells → `resolvedCells`: the
|
|
116
|
-
barrier awaits them before the template peeks, so the value bakes into the SSR HTML and
|
|
117
|
-
the page renderer stamps it into the PRE-mount `__SSR__.cells` warm-seed — a warm client
|
|
118
|
-
value MATCHES it (no flash, no duplication). STREAMING cells → `streamedCells` (ADR-0035):
|
|
119
|
-
they ship pending in the shell, so their value can't ride the pre-mount seed (it would
|
|
120
|
-
diverge from the pending markup); it's streamed AFTER the shell as an `__abideResolve`
|
|
121
|
-
chunk the client adopts POST-hydration. Recording a VALUE (not awaiting a promise) means a
|
|
122
|
-
cell that never settles this request is simply never recorded — no hang. */
|
|
123
|
-
if (warmKey !== undefined && typeof window === 'undefined') {
|
|
124
|
-
if (options.streaming === true) {
|
|
125
|
-
streamedCellsSlot.get()?.entries.push({ key: warmKey, value })
|
|
126
|
-
} else {
|
|
127
|
-
resolvedCellsSlot.get()?.entries.push({ key: warmKey, value })
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/* An error retains the value (SWR): a failed background refresh keeps the stale value
|
|
133
|
-
visible and surfaces the rejection through `error()` — the read decides what to do. */
|
|
134
|
-
const settleError = (myRun: number, error: unknown): void => {
|
|
135
|
-
if (myRun !== runId) {
|
|
136
|
-
return
|
|
137
|
-
}
|
|
138
|
-
inFlight = undefined
|
|
139
|
-
/* A `SuspenseSignal` is a PAUSE, not a failure — the same as the synchronous case in
|
|
140
|
-
`run`, but arriving through a REJECTION: an async seed (`computed(await f(dep))`) reads a
|
|
141
|
-
pending blocking `dep` in its synchronous prefix, and the throw becomes the thunk's
|
|
142
|
-
rejection rather than a sync throw. Stay pending (leave `inFlightNode` true, hold no
|
|
143
|
-
error); the throwing read subscribed this seed's effect to `dep` during that prefix, so
|
|
144
|
-
it re-runs and produces the real source once `dep` settles. */
|
|
145
|
-
if (error instanceof SuspenseSignal) {
|
|
146
|
-
writeNode(errorNode, undefined)
|
|
147
|
-
return
|
|
148
|
-
}
|
|
149
|
-
writeNode(errorNode, error)
|
|
150
|
-
writeNode(inFlightNode, false)
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/* Drive a NamedAsyncIterable: first frame clears pending, each later frame updates the
|
|
154
|
-
value (unless written), a throw lands in `error()`, and completion clears in-flight. */
|
|
155
|
-
const consumeStream = (myRun: number, source: NamedAsyncIterable<unknown>): void => {
|
|
156
|
-
const iterator = source[Symbol.asyncIterator]()
|
|
157
|
-
let live = true
|
|
158
|
-
cancelStream = (): void => {
|
|
159
|
-
live = false
|
|
160
|
-
void iterator.return?.(undefined)
|
|
161
|
-
}
|
|
162
|
-
const pump = async (): Promise<void> => {
|
|
163
|
-
try {
|
|
164
|
-
while (live && myRun === runId) {
|
|
165
|
-
const step = await iterator.next()
|
|
166
|
-
if (!live || myRun !== runId) {
|
|
167
|
-
return
|
|
168
|
-
}
|
|
169
|
-
if (step.done === true) {
|
|
170
|
-
writeNode(inFlightNode, false)
|
|
171
|
-
return
|
|
172
|
-
}
|
|
173
|
-
acceptValue(step.value)
|
|
174
|
-
writeNode(errorNode, undefined)
|
|
175
|
-
writeNode(inFlightNode, false)
|
|
176
|
-
}
|
|
177
|
-
} catch (error) {
|
|
178
|
-
settleError(myRun, error)
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
/* The pump never rejects (its body is fully try/caught), so the kickoff is contained
|
|
182
|
-
— no unhandled rejection, never Bun-fatal. */
|
|
183
|
-
void pump()
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/* Run (or re-run) the seed. `reseed` marks a dependency-driven new source, which clears
|
|
187
|
-
the write latch; a `refresh()` passes false so a held write and value survive. */
|
|
188
|
-
const run = (reseed: boolean): void => {
|
|
189
|
-
runId += 1
|
|
190
|
-
const myRun = runId
|
|
191
|
-
if (cancelStream !== undefined) {
|
|
192
|
-
cancelStream()
|
|
193
|
-
cancelStream = undefined
|
|
194
|
-
}
|
|
195
|
-
if (reseed) {
|
|
196
|
-
written = false
|
|
197
|
-
}
|
|
198
|
-
writeNode(inFlightNode, true)
|
|
199
|
-
|
|
200
|
-
let produced: unknown
|
|
201
|
-
try {
|
|
202
|
-
produced = seed()
|
|
203
|
-
} catch (error) {
|
|
204
|
-
/* A `SuspenseSignal` is a PAUSE, not a failure: this seed read a blocking
|
|
205
|
-
dependency that has no value yet, so this cell's branch pauses too. Stay
|
|
206
|
-
pending — leave `inFlightNode` true, hold no value, carry no error — rather
|
|
207
|
-
than latching the pause into `error()`. The throwing read already subscribed
|
|
208
|
-
this seed's effect to the pending dependency, so when it settles the effect
|
|
209
|
-
re-runs the seed, which now reads a value and produces the real source. No
|
|
210
|
-
promise is registered (there is none), so the SSR barrier's fixpoint drain
|
|
211
|
-
picks this cell up on that re-run instead. */
|
|
212
|
-
if (error instanceof SuspenseSignal) {
|
|
213
|
-
/* This cell's pending reads must PAUSE too — the seed derives from a blocking
|
|
214
|
-
source, so a reader peeking `undefined` (the streaming default) would race the
|
|
215
|
-
dependency instead of waiting for it. Mark blocking from the SUSPEND itself,
|
|
216
|
-
since a synchronously-suspending seed produces no promise for the `isThenable`
|
|
217
|
-
branch to read it from; honour a `streaming` opt-out for symmetry with that
|
|
218
|
-
branch. Once the seed re-runs and settles a value this flag is moot (a retained
|
|
219
|
-
value is returned before `blocking` is ever consulted). */
|
|
220
|
-
if (options.streaming !== true) {
|
|
221
|
-
blockingSource = true
|
|
222
|
-
}
|
|
223
|
-
if (myRun === runId) {
|
|
224
|
-
inFlight = undefined
|
|
225
|
-
writeNode(errorNode, undefined)
|
|
226
|
-
}
|
|
227
|
-
return
|
|
228
|
-
}
|
|
229
|
-
settleError(myRun, error)
|
|
230
|
-
return
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
if (isAsyncIterable(produced)) {
|
|
234
|
-
/* A stream never settles — it PEEKS `undefined` until its first frame, never pauses. */
|
|
235
|
-
blockingSource = false
|
|
236
|
-
consumeStream(myRun, produced as NamedAsyncIterable<unknown>)
|
|
237
|
-
return
|
|
238
|
-
}
|
|
239
|
-
if (isThenable(produced)) {
|
|
240
|
-
/* A settling promise the cell would join the SSR barrier for (author `await`, or a
|
|
241
|
-
fail-open bare-call) PAUSES a pending read; a `streaming` promise peeks. */
|
|
242
|
-
blockingSource = options.streaming !== true
|
|
243
|
-
inFlight = produced as Promise<unknown>
|
|
244
|
-
/* Server-only: register the in-flight promise on the request-scoped pending list so
|
|
245
|
-
the SSR barrier (`$$settleAsyncCells`) awaits it before the template peeks the
|
|
246
|
-
cell — baking the resolved value into the first-pass HTML (ADR-0019 Tier-2). A
|
|
247
|
-
stream (the `isAsyncIterable` branch above) never registers: it never settles. The
|
|
248
|
-
`window` guard keeps client construction from ever registering. A `streaming`
|
|
249
|
-
cell (ADR-0032, a no-`await` position) opts OUT: it ships pending and resolves on
|
|
250
|
-
the client instead of blocking the flush. */
|
|
251
|
-
if (typeof window === 'undefined' && options.streaming !== true) {
|
|
252
|
-
activePendingCells()?.promises.push(inFlight)
|
|
253
|
-
}
|
|
254
|
-
/* `.then(onValue, onError)` handles the rejection inline — contained in `error()`,
|
|
255
|
-
never an unhandled rejection. A STREAMING cell's resolved value is recorded in
|
|
256
|
-
`settleValue` (ADR-0035), not here — awaiting the promise could hang if it never
|
|
257
|
-
settles this request. */
|
|
258
|
-
;(produced as PromiseLike<unknown>).then(
|
|
259
|
-
(value) => settleValue(myRun, value),
|
|
260
|
-
(error) => settleError(myRun, error),
|
|
261
|
-
)
|
|
262
|
-
return
|
|
263
|
-
}
|
|
264
|
-
settleValue(myRun, produced)
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/* Warm hydrate: if the server shipped this cell's resolved value (keyed by its render-path
|
|
268
|
-
id), adopt it NOW — before the eager run — so `hasValue` is already true. The cell then reads
|
|
269
|
-
as REFRESHING (not pending) through the eager run below, so the value shows instantly with no
|
|
270
|
-
flash and matches the SSR-rendered branch. The run still fires (revalidate + subscribe the
|
|
271
|
-
seed's deps for reactivity, SWR), and its settle supersedes via the `runId` guard. Client-
|
|
272
|
-
only in effect (the store is only ever populated by `startClient`, so it's empty on the
|
|
273
|
-
server — no `window` sniff needed); a decode failure falls through to a cold run. */
|
|
274
|
-
if (warmKey !== undefined) {
|
|
275
|
-
/* One-shot via `consumeSeed` (two-phase, ADR-0048): a LATER fresh mount at the same
|
|
276
|
-
render-path can't warm-adopt this boot-time snapshot. `scope.id` is the route PATTERN
|
|
277
|
-
(params-independent), so an SPA navigation `/products/42`→`/products/99` — or a
|
|
278
|
-
back-nav that rebuilds the SSR page — recomputes the identical warmKey; unconsumed,
|
|
279
|
-
the new cell would render `/products/42`'s stale value until revalidation. During a
|
|
280
|
-
hydration pass the consume only MARKS, so a desync throw hands the seed to the cold
|
|
281
|
-
rebuild instead of losing it. */
|
|
282
|
-
const seeded = consumeSeed(CELL_SEED, warmKey)
|
|
283
|
-
if (seeded !== undefined) {
|
|
284
|
-
try {
|
|
285
|
-
acceptValue(decodeRefJson(seeded))
|
|
286
|
-
} catch {
|
|
287
|
-
/* Unserializable/corrupt seed → cold run renders it. */
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/* The eager first-run + reactive reseed: the effect tracks the seed's synchronous reads,
|
|
293
|
-
so a dependency change re-runs it. Its cleanup cancels any live stream on reseed/dispose. */
|
|
294
|
-
createEffectNode(() => {
|
|
295
|
-
run(true)
|
|
296
|
-
return (): void => {
|
|
297
|
-
if (cancelStream !== undefined) {
|
|
298
|
-
cancelStream()
|
|
299
|
-
cancelStream = undefined
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
})
|
|
303
|
-
|
|
304
|
-
/* Client-only, STREAMING cells (ADR-0035): a streaming cell ships pending and its value streams
|
|
305
|
-
in AFTER the shell. Register — AFTER the eager run above, so its `inFlight = true` is already
|
|
306
|
-
set — to receive that value by render-path id; when it lands, adopt it as a reactive update:
|
|
307
|
-
the value shows immediately (no `loading…` flash) and the in-flight cold seed run re-settles
|
|
308
|
-
the same value, superseded by the write latch. The streamed value only ever seeds the initial
|
|
309
|
-
render; a later dep-driven reseed is authoritative and runs the seed as usual. */
|
|
310
|
-
if (warmKey !== undefined && options.streaming === true && typeof window !== 'undefined') {
|
|
311
|
-
registerStreamedCell(warmKey, (value) => {
|
|
312
|
-
acceptValue(value)
|
|
313
|
-
writeNode(errorNode, undefined)
|
|
314
|
-
writeNode(inFlightNode, false)
|
|
315
|
-
})
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
/* The shared read surface, identical for read-only and writable cells. */
|
|
319
|
-
const readOnly: AsyncComputed<unknown> = {
|
|
320
|
-
[ASYNC_CELL]: true,
|
|
321
|
-
peek: () => readNode(valueNode),
|
|
322
|
-
/* No value yet: in flight and nothing retained. */
|
|
323
|
-
pending: () => readNode(inFlightNode) === true && readNode(hasValueNode) !== true,
|
|
324
|
-
/* A held value being superseded: in flight but a value is retained. */
|
|
325
|
-
refreshing: () => readNode(inFlightNode) === true && readNode(hasValueNode) === true,
|
|
326
|
-
error: () => readNode(errorNode),
|
|
327
|
-
/* Re-invoke the seed keeping the value visible (SWR); not a reseed, so a write holds. */
|
|
328
|
-
refresh: () => run(false),
|
|
329
|
-
/* The current in-flight promise (undefined once settled / not-a-promise) — an internal
|
|
330
|
-
runtime affordance the SSR barrier reads structurally; not on the public cell types. */
|
|
331
|
-
settled: () => inFlight,
|
|
332
|
-
/* Whether a pending read of this cell PAUSES its reader (ADR-0046) — true only for a
|
|
333
|
-
blocking source (a barrier-joining settling promise), resolved from what the seed
|
|
334
|
-
produced (`blockingSource`) so a stream (which shares the default `streaming` flag)
|
|
335
|
-
is correctly NON-blocking. A getter, since the seed's eager run sets it. `readCell`
|
|
336
|
-
consults it; an internal affordance, not on the public cell type. */
|
|
337
|
-
get blocking(): boolean {
|
|
338
|
-
return blockingSource
|
|
339
|
-
},
|
|
340
|
-
} as AsyncComputed<unknown>
|
|
341
|
-
if (!options.writable) {
|
|
342
|
-
return readOnly
|
|
343
|
-
}
|
|
344
|
-
/* A writable cell adds `set()`: latches until the next reseed. `settled` rides along from
|
|
345
|
-
the `readOnly` spread (a runtime affordance not on the public type). */
|
|
346
|
-
const writable: AsyncState<unknown> = {
|
|
347
|
-
...readOnly,
|
|
348
|
-
set: (value: unknown): void => {
|
|
349
|
-
written = true
|
|
350
|
-
writeNode(
|
|
351
|
-
valueNode,
|
|
352
|
-
transform === undefined ? value : transform(value, valueNode.value),
|
|
353
|
-
)
|
|
354
|
-
writeNode(hasValueNode, true)
|
|
355
|
-
},
|
|
356
|
-
}
|
|
357
|
-
return writable
|
|
358
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NODE_STATE } from './NODE_STATE.ts'
|
|
2
|
-
import type { ReactiveNode } from './types/ReactiveNode.ts'
|
|
3
|
-
|
|
4
|
-
/* Creates a lazy computed node. Born DIRTY so its first read computes; thereafter a
|
|
5
|
-
read settles it — recomputing only when the check walk finds a dependency whose
|
|
6
|
-
value actually changed. */
|
|
7
|
-
export function createComputedNode(compute: () => unknown): ReactiveNode {
|
|
8
|
-
return {
|
|
9
|
-
value: undefined,
|
|
10
|
-
compute,
|
|
11
|
-
depsHead: undefined,
|
|
12
|
-
depsTail: undefined,
|
|
13
|
-
subsHead: undefined,
|
|
14
|
-
subsTail: undefined,
|
|
15
|
-
status: NODE_STATE.DIRTY,
|
|
16
|
-
thrown: undefined,
|
|
17
|
-
isEffect: false,
|
|
18
|
-
}
|
|
19
|
-
}
|