@abide/abide 0.58.0 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1781
- package/bin/abide.ts +788 -204
- package/package.json +30 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +109 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +537 -0
- package/src/server/answerSocket.ts +537 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +66 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +613 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +499 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +7 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +223 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +423 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4480 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +418 -0
- package/src/shared/reactive/watch.ts +310 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +496 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
import { classifyInterpolationType } from './classifyInterpolationType.ts'
|
|
3
|
-
|
|
4
|
-
/* The three TypeScript diagnostics a bare async read (ADR-0032) raises spuriously in a template.
|
|
5
|
-
2339 — a property "missing" on the un-awaited `Promise`/`AsyncIterable`; 2801 — a condition the
|
|
6
|
-
raw promise makes "always defined"; 2488 — a promise source "not iterable" in a plain `{#for}`.
|
|
7
|
-
All are correct against the raw type but wrong against the runtime PEEK (the resolved value,
|
|
8
|
-
`undefined` while pending), which the shadow can't see. */
|
|
9
|
-
const PROPERTY_DOES_NOT_EXIST = 2339
|
|
10
|
-
const CONDITION_ALWAYS_DEFINED = 2801
|
|
11
|
-
const SOURCE_NOT_ITERABLE = 2488
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
Whether a shadow diagnostic is one the ADR-0032 bare-async-read peek makes spurious. The runtime
|
|
15
|
-
lifts a promise/iterable sub-expression to a cell that reads the RESOLVED value (`undefined` while
|
|
16
|
-
pending), so `getFoo()?.name` composes on the resolved object and `{#if getFoo()}` holds while
|
|
17
|
-
pending — but the type-check shadow checks the RAW expression, where the property sits on the
|
|
18
|
-
un-awaited `Promise` and the promise reads as always-truthy. This recognises those two cases so the
|
|
19
|
-
caller can drop them:
|
|
20
|
-
|
|
21
|
-
- 2339 (missing property): an OPTIONAL access (`?.`) on a promise/iterable-typed base whose
|
|
22
|
-
property EXISTS on the awaited (promise) or frame (iterable) type — the peek's real member.
|
|
23
|
-
- 2801 (always-defined condition): the flagged subject itself classifies as a promise/iterable —
|
|
24
|
-
the peek is genuinely nullable (pending → `undefined`), so it is not always-defined.
|
|
25
|
-
- 2488 (source not iterable): a plain `{#for}` source classifies as a promise whose AWAITED type
|
|
26
|
-
is itself iterable — the runtime lifts it to a peek-cell reading the resolved collection (empty
|
|
27
|
-
while pending), so iterating it is valid (matches `typeDirectedInterpolation`'s peek-cell lift).
|
|
28
|
-
|
|
29
|
-
Deliberately narrow so it never hides a real mistake: only these three codes; 2339 only via `?.`
|
|
30
|
-
(a bare `.name` on a promise stays an error, nudging toward the `?.` the peek needs) and only when
|
|
31
|
-
the property resolves on the awaited/frame type (a typo `?.namex` stays); 2801 only when the
|
|
32
|
-
subject is actually async (a bare `{#if someFn}` — a forgotten call — stays); 2488 only for a
|
|
33
|
-
PROMISE whose awaited type is iterable (a raw `AsyncIterable` source stays the sanctioned D4a error,
|
|
34
|
-
and a `Promise<number>` source stays a real mistake the peek can't rescue). Callers additionally
|
|
35
|
-
gate on the diagnostic mapping into the template region, so `<script>` code (where a forgotten
|
|
36
|
-
`await` must surface) is never touched.
|
|
37
|
-
*/
|
|
38
|
-
export function isSpuriousAsyncReadDiagnostic(
|
|
39
|
-
shadowFile: ts.SourceFile,
|
|
40
|
-
checker: ts.TypeChecker,
|
|
41
|
-
code: number,
|
|
42
|
-
start: number,
|
|
43
|
-
length: number,
|
|
44
|
-
): boolean {
|
|
45
|
-
if (code === PROPERTY_DOES_NOT_EXIST) {
|
|
46
|
-
return isResolvedOptionalAsyncAccess(shadowFile, checker, start, length)
|
|
47
|
-
}
|
|
48
|
-
if (code === CONDITION_ALWAYS_DEFINED) {
|
|
49
|
-
return isAsyncSubject(shadowFile, checker, start, length)
|
|
50
|
-
}
|
|
51
|
-
if (code === SOURCE_NOT_ITERABLE) {
|
|
52
|
-
return isResolvedIterableAsyncSource(shadowFile, checker, start, length)
|
|
53
|
-
}
|
|
54
|
-
return false
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/* A 2488 on a plain `{#for}` source whose expression classifies as a PROMISE and whose awaited
|
|
58
|
-
type is itself iterable — the ADR-0032 peek lifts it to the resolved collection, not an error.
|
|
59
|
-
Excludes a raw `AsyncIterable` (kind `asyncIterable`, the D4a error) and a promise of a
|
|
60
|
-
non-iterable (the peek would still not iterate). */
|
|
61
|
-
function isResolvedIterableAsyncSource(
|
|
62
|
-
shadowFile: ts.SourceFile,
|
|
63
|
-
checker: ts.TypeChecker,
|
|
64
|
-
start: number,
|
|
65
|
-
length: number,
|
|
66
|
-
): boolean {
|
|
67
|
-
const source = deepestNodeAt(shadowFile, start, length)
|
|
68
|
-
const sourceType = checker.getTypeAtLocation(source)
|
|
69
|
-
if (classifyInterpolationType(sourceType, source, checker) !== 'promise') {
|
|
70
|
-
return false
|
|
71
|
-
}
|
|
72
|
-
const awaited = checker.getAwaitedType(sourceType)
|
|
73
|
-
return awaited !== undefined && hasSyncIterator(awaited, checker)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/* Whether a type is synchronously iterable — an array/tuple or anything carrying the well-known
|
|
77
|
-
`Symbol.iterator` member (mangled to `__@iterator@<id>`, matched by prefix like
|
|
78
|
-
`classifyInterpolationType`'s async twin). */
|
|
79
|
-
function hasSyncIterator(type: ts.Type, checker: ts.TypeChecker): boolean {
|
|
80
|
-
for (const property of checker.getPropertiesOfType(type)) {
|
|
81
|
-
if ((property.escapedName as string).startsWith('__@iterator')) {
|
|
82
|
-
return true
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return false
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/* A 2339 on the member of an optional (`?.`) access whose base is a promise/iterable and whose
|
|
89
|
-
accessed property exists on the resolved value — the ADR-0032 peek, not an error. */
|
|
90
|
-
function isResolvedOptionalAsyncAccess(
|
|
91
|
-
shadowFile: ts.SourceFile,
|
|
92
|
-
checker: ts.TypeChecker,
|
|
93
|
-
start: number,
|
|
94
|
-
length: number,
|
|
95
|
-
): boolean {
|
|
96
|
-
const access = enclosingOptionalAccess(deepestNodeAt(shadowFile, start, length))
|
|
97
|
-
if (access === undefined) {
|
|
98
|
-
return false
|
|
99
|
-
}
|
|
100
|
-
const resolved = resolvedAsyncType(access.expression, checker)
|
|
101
|
-
if (resolved === undefined) {
|
|
102
|
-
return false
|
|
103
|
-
}
|
|
104
|
-
const property = accessedPropertyName(access)
|
|
105
|
-
return property !== undefined && checker.getPropertyOfType(resolved, property) !== undefined
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/* A 2801 whose flagged subject classifies as a promise/iterable — the peek reads `undefined` while
|
|
109
|
-
pending, so it is genuinely nullable, not always-defined. */
|
|
110
|
-
function isAsyncSubject(
|
|
111
|
-
shadowFile: ts.SourceFile,
|
|
112
|
-
checker: ts.TypeChecker,
|
|
113
|
-
start: number,
|
|
114
|
-
length: number,
|
|
115
|
-
): boolean {
|
|
116
|
-
const node = deepestNodeAt(shadowFile, start, length)
|
|
117
|
-
const kind = classifyInterpolationType(checker.getTypeAtLocation(node), node, checker)
|
|
118
|
-
return kind === 'promise' || kind === 'asyncIterable'
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/* The resolved value an async base peeks: a promise's awaited type, an iterable's frame type,
|
|
122
|
-
`undefined` when the base isn't actually async. */
|
|
123
|
-
function resolvedAsyncType(base: ts.Node, checker: ts.TypeChecker): ts.Type | undefined {
|
|
124
|
-
const baseType = checker.getTypeAtLocation(base)
|
|
125
|
-
const kind = classifyInterpolationType(baseType, base, checker)
|
|
126
|
-
if (kind === 'promise') {
|
|
127
|
-
return checker.getAwaitedType(baseType)
|
|
128
|
-
}
|
|
129
|
-
if (kind === 'asyncIterable') {
|
|
130
|
-
return asyncFrameType(baseType, base, checker)
|
|
131
|
-
}
|
|
132
|
-
return undefined
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/* The deepest AST node whose range contains the diagnostic span. */
|
|
136
|
-
function deepestNodeAt(sourceFile: ts.SourceFile, start: number, length: number): ts.Node {
|
|
137
|
-
let best: ts.Node = sourceFile
|
|
138
|
-
const end = start + length
|
|
139
|
-
const visit = (node: ts.Node): void => {
|
|
140
|
-
if (node.getStart(sourceFile) <= start && node.getEnd() >= end) {
|
|
141
|
-
best = node
|
|
142
|
-
node.forEachChild(visit)
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
visit(sourceFile)
|
|
146
|
-
return best
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/* The optional (`?.`) property/element access that OWNS `node` as its accessed member — walking
|
|
150
|
-
up from the name identifier. `undefined` when `node` isn't the member of an optional access
|
|
151
|
-
(a bare `.name`, or the base rather than the member). */
|
|
152
|
-
function enclosingOptionalAccess(
|
|
153
|
-
node: ts.Node,
|
|
154
|
-
): ts.PropertyAccessExpression | ts.ElementAccessExpression | undefined {
|
|
155
|
-
const parent = node.parent
|
|
156
|
-
if (parent === undefined) {
|
|
157
|
-
return undefined
|
|
158
|
-
}
|
|
159
|
-
if (ts.isPropertyAccessExpression(parent) && parent.name === node) {
|
|
160
|
-
return parent.questionDotToken === undefined ? undefined : parent
|
|
161
|
-
}
|
|
162
|
-
if (ts.isElementAccessExpression(parent) && parent.argumentExpression === node) {
|
|
163
|
-
return parent.questionDotToken === undefined ? undefined : parent
|
|
164
|
-
}
|
|
165
|
-
return undefined
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/* The property name an access reads — the identifier for `a?.b`, the string literal for
|
|
169
|
-
`a?.['b']`. A computed non-literal element access has no static name. */
|
|
170
|
-
function accessedPropertyName(
|
|
171
|
-
access: ts.PropertyAccessExpression | ts.ElementAccessExpression,
|
|
172
|
-
): string | undefined {
|
|
173
|
-
if (ts.isPropertyAccessExpression(access)) {
|
|
174
|
-
return access.name.text
|
|
175
|
-
}
|
|
176
|
-
return ts.isStringLiteralLike(access.argumentExpression)
|
|
177
|
-
? access.argumentExpression.text
|
|
178
|
-
: undefined
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
/* The frame type of an `AsyncIterable<T>` — `T`, which is what the runtime peek reads (the latest
|
|
182
|
-
frame). The named async-iterable types (`AsyncIterable`/`AsyncGenerator`/`AsyncIterableIterator`)
|
|
183
|
-
all carry `T` as their first type argument, so read it directly; a structurally-typed iterable
|
|
184
|
-
with no type arguments falls back to resolving `[Symbol.asyncIterator]().next()`'s yielded value.
|
|
185
|
-
`location` is any node in the program, needed to resolve the iterator symbol's type. `undefined`
|
|
186
|
-
when neither yields a frame, so the caller keeps the diagnostic. */
|
|
187
|
-
function asyncFrameType(
|
|
188
|
-
type: ts.Type,
|
|
189
|
-
location: ts.Node,
|
|
190
|
-
checker: ts.TypeChecker,
|
|
191
|
-
): ts.Type | undefined {
|
|
192
|
-
const directArgument = checker.getTypeArguments(type as ts.TypeReference)[0]
|
|
193
|
-
if (directArgument !== undefined) {
|
|
194
|
-
return directArgument
|
|
195
|
-
}
|
|
196
|
-
/* The `Symbol.asyncIterator` member mangles to `__@asyncIterator@<id>`, so match by prefix. */
|
|
197
|
-
const iterator = checker
|
|
198
|
-
.getPropertiesOfType(type)
|
|
199
|
-
.find((property) => (property.escapedName as string).startsWith('__@asyncIterator'))
|
|
200
|
-
if (iterator === undefined) {
|
|
201
|
-
return undefined
|
|
202
|
-
}
|
|
203
|
-
const factory = checker.getTypeOfSymbolAtLocation(iterator, location).getCallSignatures()[0]
|
|
204
|
-
const next = factory && checker.getPropertyOfType(factory.getReturnType(), 'next')
|
|
205
|
-
const nextSignature =
|
|
206
|
-
next && checker.getTypeOfSymbolAtLocation(next, location).getCallSignatures()[0]
|
|
207
|
-
if (!nextSignature) {
|
|
208
|
-
return undefined
|
|
209
|
-
}
|
|
210
|
-
/* `next()` resolves to `IteratorResult<T, TReturn>`, whose first type argument is the yielded
|
|
211
|
-
`T` (its `value` PROPERTY widens to `T | TReturn` across the done/not-done union, so read the
|
|
212
|
-
argument, not the property). */
|
|
213
|
-
const result = checker.getAwaitedType(nextSignature.getReturnType())
|
|
214
|
-
return result && checker.getTypeArguments(result as ts.TypeReference)[0]
|
|
215
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { TemplateNode } from './types/TemplateNode.ts'
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
An element whose children are ONLY text and `<style>` — the common `<h1>{x}</h1>` shape.
|
|
5
|
-
The anchor-placement decision for reactive text: `skeletonContext` consults this once and
|
|
6
|
-
records the result in `markText`; both back-ends read that map so they agree on where a
|
|
7
|
-
text anchor goes. A text-leaf binds its reactive text marker-free on the located element
|
|
8
|
-
(`generateBuild`) / emits it without an `<!--a-->` prefix (`generateSSR`); reactive text
|
|
9
|
-
interleaved with element children is anchor-positioned instead. Computing it once keeps
|
|
10
|
-
the SSR string and the client skeleton from disagreeing about a `<!--a-->` — the first
|
|
11
|
-
slice of lifting the positional model out of the two parallel traversals, alongside the
|
|
12
|
-
already-shared `isControlFlow` and `skeletonable`.
|
|
13
|
-
*/
|
|
14
|
-
export function isTextLeaf(node: Extract<TemplateNode, { kind: 'element' }>): boolean {
|
|
15
|
-
return node.children.every((child) => child.kind === 'text' || child.kind === 'style')
|
|
16
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { TemplateNode } from './types/TemplateNode.ts'
|
|
2
|
-
|
|
3
|
-
/* Only HTML-collapsible whitespace — space, tab, LF, CR, FF. Deliberately EXCLUDES
|
|
4
|
-
U+00A0 (` `), which browsers neither collapse nor trim; `.trim()`/`\s` would
|
|
5
|
-
wrongly count it, so a `<span> </span>` spacer would be dropped as blank. */
|
|
6
|
-
const COLLAPSIBLE_WHITESPACE = /[^ \t\n\r\f]/
|
|
7
|
-
|
|
8
|
-
/* A text node that is purely whitespace (no interpolation, only blank static
|
|
9
|
-
parts). Both back-ends drop it, so it neither contributes markup nor breaks a
|
|
10
|
-
static clone run — it stays transparent so `<a/>\n<b/>` still coalesces. A part
|
|
11
|
-
holding a non-breaking space is renderable content, not blank. */
|
|
12
|
-
export function isWhitespaceText(node: TemplateNode): boolean {
|
|
13
|
-
return (
|
|
14
|
-
node.kind === 'text' &&
|
|
15
|
-
node.parts.every(
|
|
16
|
-
(part) => part.kind === 'static' && !COLLAPSIBLE_WHITESPACE.test(part.value),
|
|
17
|
-
)
|
|
18
|
-
)
|
|
19
|
-
}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
import { AbideCompileError } from './AbideCompileError.ts'
|
|
3
|
-
import type { InjectedCell } from './lowerAsyncInterpolations.ts'
|
|
4
|
-
import type { InterpolationClassifier } from './types/InterpolationClassifier.ts'
|
|
5
|
-
import type { InterpolationKind } from './types/InterpolationKind.ts'
|
|
6
|
-
|
|
7
|
-
/* The value/content position a lifted (sub)expression sits in — only `each` (a plain `{#for}`
|
|
8
|
-
source) forbids an `AsyncIterable` (D4a). Every other position renders a stream's latest frame. */
|
|
9
|
-
export type LiftPosition = 'content' | 'attribute' | 'if' | 'switch' | 'each'
|
|
10
|
-
|
|
11
|
-
/* A lifted (sub)expression's span within the interpolation `code` and how it lifts: `start`/`end`
|
|
12
|
-
index `code`, `kind` picks the peek flavour, `blocking` marks a leading `await`. The runtime uses
|
|
13
|
-
these to rewrite the span to a cell ref; the type-check shadow uses the non-blocking ones to wrap
|
|
14
|
-
the seed in a peek helper so its resolved type composes (ADR-0032). */
|
|
15
|
-
export type LiftSpan = {
|
|
16
|
-
start: number
|
|
17
|
-
end: number
|
|
18
|
-
kind: 'promise' | 'asyncIterable'
|
|
19
|
-
blocking: boolean
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/* The binary operators whose result reacts to a pending-`undefined` operand: the walk does NOT
|
|
23
|
-
lift the composition, it descends into the operands so the operator composes the peek(s)
|
|
24
|
-
(ADR-0032 D1). `?.` needs no entry — a member/call on a promise is sync-typed, so the default
|
|
25
|
-
sync-recurse already reaches and lifts the async base. */
|
|
26
|
-
const PENDING_TOLERANT = new Set<ts.SyntaxKind>([
|
|
27
|
-
ts.SyntaxKind.QuestionQuestionToken,
|
|
28
|
-
ts.SyntaxKind.BarBarToken,
|
|
29
|
-
ts.SyntaxKind.AmpersandAmpersandToken,
|
|
30
|
-
])
|
|
31
|
-
|
|
32
|
-
/*
|
|
33
|
-
ADR-0032 — the sub-expression walk. Given an interpolation's verbatim `code`, its absolute source
|
|
34
|
-
offset `loc`, and the warm classifier, lifts every promise/`AsyncIterable`-typed (sub)expression
|
|
35
|
-
into an injected peek-cell and rewrites it in place to a bare `__vN` reference, returning the
|
|
36
|
-
rewritten code and the cells to inject. Pending is `undefined` at the value level, so `??` / `?.` /
|
|
37
|
-
member access compose around the peek (`getFoo() ?? 'Loading…'` shows the fallback while pending).
|
|
38
|
-
|
|
39
|
-
Three rules, top-down (ADR D1 "The walk"):
|
|
40
|
-
1. `await X` → lift `X` BLOCKING (SSR-inline); syntactic, needs no classifier.
|
|
41
|
-
2. `a ?? b` / `||` / `&&`→ NOT lifted; recurse into the operands (pending stays visible to the op).
|
|
42
|
-
3. any other promise/`AsyncIterable` node → lift as a unit, STREAMING; a sync node recurses
|
|
43
|
-
(a sync parent can wrap an async child: `String(getFoo())`, `` `${getFoo()}` ``).
|
|
44
|
-
|
|
45
|
-
`classify` absent (no warm program) ⇒ only rule 1 fires — fail-open: `await` still works, a bare
|
|
46
|
-
async position degrades to today's stringify. A promise seed is emitted `await X` so the cell
|
|
47
|
-
UNWRAPS to the resolved value; an `AsyncIterable` seed stays bare (its latest frame). D4: an
|
|
48
|
-
`AsyncIterable` in a plain `{#for}` source, or an `await` on an `AsyncIterable`, throw.
|
|
49
|
-
*/
|
|
50
|
-
export function liftAsyncSubExpressions(
|
|
51
|
-
code: string,
|
|
52
|
-
loc: number,
|
|
53
|
-
classify: InterpolationClassifier | undefined,
|
|
54
|
-
mint: () => string,
|
|
55
|
-
position: LiftPosition = 'content',
|
|
56
|
-
): { code: string; lifts: InjectedCell[]; spans: LiftSpan[] } {
|
|
57
|
-
const source = ts.createSourceFile('__lift.ts', code, ts.ScriptTarget.Latest, true)
|
|
58
|
-
const first = source.statements[0]
|
|
59
|
-
/* Only a single bare expression is walkable; anything else (a statement, empty) passes through. */
|
|
60
|
-
if (first === undefined || source.statements.length !== 1 || !ts.isExpressionStatement(first)) {
|
|
61
|
-
return { code, lifts: [], spans: [] }
|
|
62
|
-
}
|
|
63
|
-
const lifts: InjectedCell[] = []
|
|
64
|
-
/* Each lifted span, in walk (source) order; spliced right-to-left so earlier offsets stay valid.
|
|
65
|
-
`start`/`end` index `code`; `name` replaces that span. */
|
|
66
|
-
const edits: { start: number; end: number; name: string }[] = []
|
|
67
|
-
/* The same lifted spans with their kind/tier — the shadow's peek-wrap consumes these directly. */
|
|
68
|
-
const spans: LiftSpan[] = []
|
|
69
|
-
|
|
70
|
-
const text = (node: ts.Node): string => code.slice(node.getStart(source), node.getEnd())
|
|
71
|
-
|
|
72
|
-
/* The checker kind of a sub-node, keyed by its absolute source offset through the linear
|
|
73
|
-
interpolation→shadow mapping. `undefined` when no classifier (only `await` lifts then). */
|
|
74
|
-
const kindOf = (node: ts.Node): InterpolationKind | undefined => {
|
|
75
|
-
if (classify === undefined) {
|
|
76
|
-
return undefined
|
|
77
|
-
}
|
|
78
|
-
const start = node.getStart(source)
|
|
79
|
-
return classify(loc + start, code.slice(start, node.getEnd()))
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/* Record a lift of `node`'s span. `seed` is the RAW (sub)expression text — `analyzeComponent`
|
|
83
|
-
wraps a `promise` seed as `computed(async () => await (<seed>))` (so `await` is a keyword in
|
|
84
|
-
an async context — a bare-text `await (X)` reparsed at module scope becomes a call to a
|
|
85
|
-
function `await`) and an `asyncIterable` seed as `computed(<seed>)` (a bare stream thunk). */
|
|
86
|
-
const lift = (
|
|
87
|
-
node: ts.Node,
|
|
88
|
-
seed: string,
|
|
89
|
-
kind: 'promise' | 'asyncIterable',
|
|
90
|
-
blocking: boolean,
|
|
91
|
-
): void => {
|
|
92
|
-
const name = mint()
|
|
93
|
-
const start = node.getStart(source)
|
|
94
|
-
const end = node.getEnd()
|
|
95
|
-
lifts.push({ name, code: seed, kind, blocking })
|
|
96
|
-
edits.push({ start, end, name })
|
|
97
|
-
spans.push({ start, end, kind, blocking })
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const visit = (node: ts.Node): void => {
|
|
101
|
-
/* A nested function is its own evaluation scope — an async (sub)expression inside a callback
|
|
102
|
-
(`items.map(x => fetchName(x))`, `items.map(async x => await load(x))`) must NOT be hoisted
|
|
103
|
-
to a top-level cell: its parameters/closure vars would become free identifiers, and it
|
|
104
|
-
would run once instead of per row. Stop at the boundary, mirroring the shared
|
|
105
|
-
`hasTopLevelAwait` walk. */
|
|
106
|
-
if (
|
|
107
|
-
ts.isArrowFunction(node) ||
|
|
108
|
-
ts.isFunctionExpression(node) ||
|
|
109
|
-
ts.isFunctionDeclaration(node)
|
|
110
|
-
) {
|
|
111
|
-
return
|
|
112
|
-
}
|
|
113
|
-
if (ts.isAwaitExpression(node)) {
|
|
114
|
-
/* `await X` → a BLOCKING promise cell (its operand). D4b: `await` on a stream is
|
|
115
|
-
meaningless. The operand text is already a bounded unary — no parens needed. */
|
|
116
|
-
if (kindOf(node.expression) === 'asyncIterable') {
|
|
117
|
-
throw new AbideCompileError(
|
|
118
|
-
'[abide] `await` unwraps a promise, but this is an `AsyncIterable` — drop the `await`; a stream auto-tracks (render its frames, or `{#for await}`).',
|
|
119
|
-
loc + node.getStart(source),
|
|
120
|
-
)
|
|
121
|
-
}
|
|
122
|
-
lift(node, text(node.expression), 'promise', true)
|
|
123
|
-
return
|
|
124
|
-
}
|
|
125
|
-
if (ts.isBinaryExpression(node) && PENDING_TOLERANT.has(node.operatorToken.kind)) {
|
|
126
|
-
/* Pending-tolerant: don't lift the composition — descend so the operator sees the
|
|
127
|
-
operands' `undefined` (`getFoo() ?? 'Loading…'`, `x || getFoo()`). */
|
|
128
|
-
visit(node.left)
|
|
129
|
-
visit(node.right)
|
|
130
|
-
return
|
|
131
|
-
}
|
|
132
|
-
const kind = kindOf(node)
|
|
133
|
-
if (kind === 'promise') {
|
|
134
|
-
/* Lift as a unit, streaming; the cell unwraps the seed to its resolved value. */
|
|
135
|
-
lift(node, text(node), 'promise', false)
|
|
136
|
-
return
|
|
137
|
-
}
|
|
138
|
-
if (kind === 'asyncIterable') {
|
|
139
|
-
if (position === 'each') {
|
|
140
|
-
throw new AbideCompileError(
|
|
141
|
-
"[abide] an `AsyncIterable` can't drive a plain `{#for}` — iterate its frames with `{#for await}`.",
|
|
142
|
-
loc + node.getStart(source),
|
|
143
|
-
)
|
|
144
|
-
}
|
|
145
|
-
/* A stream cell: its latest frame. */
|
|
146
|
-
lift(node, text(node), 'asyncIterable', false)
|
|
147
|
-
return
|
|
148
|
-
}
|
|
149
|
-
/* Sync (or classifier-absent): a sync parent can still wrap an async child. */
|
|
150
|
-
ts.forEachChild(node, visit)
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
visit(first.expression)
|
|
154
|
-
|
|
155
|
-
if (edits.length === 0) {
|
|
156
|
-
return { code, lifts: [], spans: [] }
|
|
157
|
-
}
|
|
158
|
-
edits.sort((a, b) => b.start - a.start)
|
|
159
|
-
let rewritten = code
|
|
160
|
-
for (const edit of edits) {
|
|
161
|
-
rewritten = rewritten.slice(0, edit.start) + edit.name + rewritten.slice(edit.end)
|
|
162
|
-
}
|
|
163
|
-
/* Spans in ascending source order — the shadow's peek-wrap walks them left-to-right. */
|
|
164
|
-
spans.sort((a, b) => a.start - b.start)
|
|
165
|
-
return { code: rewritten, lifts, spans }
|
|
166
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { liftAsyncSubExpressions } from './liftAsyncSubExpressions.ts'
|
|
2
|
-
import type { InjectedCell } from './lowerAsyncInterpolations.ts'
|
|
3
|
-
import type { InterpolationClassifier } from './types/InterpolationClassifier.ts'
|
|
4
|
-
|
|
5
|
-
/* The pieces a script-seed lift yields: the async sub-expressions hoisted out of a
|
|
6
|
-
`state`/`linked`/`computed` seed argument (each an injected peek-cell) plus the seed
|
|
7
|
-
rewritten to reference them by bare `__vsN`. `desugarSignals` turns `cells` into
|
|
8
|
-
`scope().trackedComputed(...)` consts emitted BEFORE the owning declaration and parses
|
|
9
|
-
`rewrittenSeedText` back into the lowered seed. */
|
|
10
|
-
export type ScriptSeedLift = { cells: InjectedCell[]; rewrittenSeedText: string }
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
The script-side twin of the template `lowerAsyncInterpolations` walk (ADR-0032): runs
|
|
14
|
-
`liftAsyncSubExpressions` over a `state`/`state.linked`/`state.computed` seed ARGUMENT so a
|
|
15
|
-
buried promise/stream sub-expression (`getSession()?.filteredSources ?? []`) lifts to an
|
|
16
|
-
injected streaming peek-cell — reading `undefined` while pending so `?.`/`??` compose — exactly
|
|
17
|
-
as it would in a `{#if getSession()?.x}` template position. Only PROPER sub-expressions lift: a
|
|
18
|
-
seed that IS a single async expression (`computed(getSession())`, `linked(getStream())`) is left
|
|
19
|
-
whole for the existing whole-seed classification / runtime probe, so this never double-wraps.
|
|
20
|
-
|
|
21
|
-
`classify` absent (no warm program) ⇒ no lift — a buried bare-async sub-expression needs the
|
|
22
|
-
checker to know it is a promise, and a seed carrying a top-level `await` is already routed by the
|
|
23
|
-
caller's whole-seed classification, so fail-open here is a plain no-op. `seedLoc` is the seed's
|
|
24
|
-
absolute source offset, so each lifted span resolves against the shadow's source→shadow mappings.
|
|
25
|
-
*/
|
|
26
|
-
export function liftScriptSeed(
|
|
27
|
-
seedText: string,
|
|
28
|
-
seedLoc: number,
|
|
29
|
-
classify: InterpolationClassifier | undefined,
|
|
30
|
-
mint: () => string,
|
|
31
|
-
): ScriptSeedLift | undefined {
|
|
32
|
-
if (classify === undefined) {
|
|
33
|
-
return undefined
|
|
34
|
-
}
|
|
35
|
-
const result = liftAsyncSubExpressions(seedText, seedLoc, classify, mint, 'content')
|
|
36
|
-
if (result.lifts.length === 0) {
|
|
37
|
-
return undefined
|
|
38
|
-
}
|
|
39
|
-
/* A single span covering the whole seed is the whole-seed case (`computed(getSession())`) —
|
|
40
|
-
leave it to the existing classification (`isPromiseComputed`) / the runtime probe rather
|
|
41
|
-
than pointlessly wrapping the seed in its own cell. Only proper sub-expressions lift. */
|
|
42
|
-
const only = result.spans.length === 1 ? result.spans[0] : undefined
|
|
43
|
-
if (only !== undefined && seedText.slice(only.start, only.end).trim() === seedText.trim()) {
|
|
44
|
-
return undefined
|
|
45
|
-
}
|
|
46
|
-
return { cells: result.lifts, rewrittenSeedText: result.code }
|
|
47
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
Loads the project's tsconfig (for lib/paths/baseUrl/strictness — the shadows must
|
|
5
|
-
type-check against the same world the app does), then forces the overrides the
|
|
6
|
-
shadow needs: `noUnusedLocals`/`noUnusedParameters` off because the shadow
|
|
7
|
-
legitimately declares scope bindings a template may not read, and `noEmit`/
|
|
8
|
-
`skipLibCheck` because it only ever type-checks. Falls back to permissive defaults
|
|
9
|
-
when no tsconfig is found. Shared by the check Program and the LSP LanguageService.
|
|
10
|
-
*/
|
|
11
|
-
export function loadShadowTsConfig(cwd: string): ts.ParsedCommandLine {
|
|
12
|
-
const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, 'tsconfig.json')
|
|
13
|
-
const base = configPath
|
|
14
|
-
? ts.parseJsonConfigFileContent(
|
|
15
|
-
ts.readConfigFile(configPath, ts.sys.readFile).config,
|
|
16
|
-
ts.sys,
|
|
17
|
-
cwd,
|
|
18
|
-
)
|
|
19
|
-
: { options: {}, fileNames: [], errors: [] }
|
|
20
|
-
return {
|
|
21
|
-
...base,
|
|
22
|
-
options: {
|
|
23
|
-
...base.options,
|
|
24
|
-
noEmit: true,
|
|
25
|
-
skipLibCheck: true,
|
|
26
|
-
noUnusedLocals: false,
|
|
27
|
-
noUnusedParameters: false,
|
|
28
|
-
allowUnreachableCode: true,
|
|
29
|
-
},
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { asyncInterpolationFields } from './asyncInterpolationFields.ts'
|
|
2
|
-
import { liftAsyncSubExpressions } from './liftAsyncSubExpressions.ts'
|
|
3
|
-
import type { InterpolationClassifier } from './types/InterpolationClassifier.ts'
|
|
4
|
-
import type { TemplateNode } from './types/TemplateNode.ts'
|
|
5
|
-
|
|
6
|
-
/* A synthetic peek-cell an async (sub)expression lowers to: a unique local name, the RAW seed
|
|
7
|
-
expression, its `kind` (a `promise` cell UNWRAPS to the resolved value; an `asyncIterable` cell
|
|
8
|
-
tracks its latest frame), and whether the author wrote `await` (BLOCKING: joins the SSR barrier,
|
|
9
|
-
resolved inline; else STREAMING: ships pending-`undefined`, resolves on the client). By kind,
|
|
10
|
-
`analyzeComponent` prepends `const <name> = computed(async () => await (<code>))` (promise) or
|
|
11
|
-
`const <name> = computed(<code>)` (stream); `desugarSignals` routes it (by injected name) to a
|
|
12
|
-
`trackedComputed` cell read via `$$readCell(<name>)`. */
|
|
13
|
-
export type InjectedCell = {
|
|
14
|
-
name: string
|
|
15
|
-
code: string
|
|
16
|
-
kind: 'promise' | 'asyncIterable'
|
|
17
|
-
blocking: boolean
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* The result of the async-interpolation lowering: the (mutated-in-place) template plus the cells
|
|
21
|
-
the lifted (sub)expressions were rewritten into (empty when none). */
|
|
22
|
-
export type LoweredInterpolations = { nodes: TemplateNode[]; cells: InjectedCell[] }
|
|
23
|
-
|
|
24
|
-
/*
|
|
25
|
-
ADR-0032 type-directed lowering of async (sub)expressions, in EVERY position — content
|
|
26
|
-
interpolations and value positions (attribute, `{#if}`/`{#switch}` subject, plain `{#for}` source)
|
|
27
|
-
alike. Each interpolation is walked (`liftAsyncSubExpressions`): a promise/`AsyncIterable`-typed
|
|
28
|
-
(sub)expression is lifted to an injected peek-cell and rewritten IN PLACE to a bare `__vN`
|
|
29
|
-
reference, so pending reads as `undefined` and composes with `??`/`?.`. A leading `await` marks the
|
|
30
|
-
SSR BLOCKING tier; no `await` is STREAMING. Runs even without a classifier — then only syntactic
|
|
31
|
-
`await`s lift (fail-open), matching the pre-classifier path for everything else.
|
|
32
|
-
*/
|
|
33
|
-
export function lowerAsyncInterpolations(
|
|
34
|
-
nodes: TemplateNode[],
|
|
35
|
-
classify: InterpolationClassifier | undefined,
|
|
36
|
-
): LoweredInterpolations {
|
|
37
|
-
const counter = { n: 0 }
|
|
38
|
-
const mint = (): string => `__v${counter.n++}`
|
|
39
|
-
const cells: InjectedCell[] = []
|
|
40
|
-
lowerList(nodes, classify, mint, cells)
|
|
41
|
-
return { nodes, cells }
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/* Lifts every async (sub)expression in a sibling list, then recurses into children. Each node's
|
|
45
|
-
async-liftable fields come from the shared `asyncInterpolationFields` plan (the single reading the
|
|
46
|
-
shadow front-end also drives from), so the two can't disagree on which interpolations are async;
|
|
47
|
-
this side owns the RENDERING — lift the field to a peek-cell, write the `__vN` reference back, and
|
|
48
|
-
for a control-flow subject that collapsed to one bare cell mark `asyncSubject`. */
|
|
49
|
-
function lowerList(
|
|
50
|
-
nodes: TemplateNode[],
|
|
51
|
-
classify: InterpolationClassifier | undefined,
|
|
52
|
-
mint: () => string,
|
|
53
|
-
cells: InjectedCell[],
|
|
54
|
-
): void {
|
|
55
|
-
for (const node of nodes) {
|
|
56
|
-
for (const field of asyncInterpolationFields(node)) {
|
|
57
|
-
const lifted = cells.length
|
|
58
|
-
const result = liftAsyncSubExpressions(
|
|
59
|
-
field.code,
|
|
60
|
-
field.loc,
|
|
61
|
-
classify,
|
|
62
|
-
mint,
|
|
63
|
-
field.position,
|
|
64
|
-
)
|
|
65
|
-
for (const lift of result.lifts) {
|
|
66
|
-
cells.push(lift)
|
|
67
|
-
}
|
|
68
|
-
field.write(result.code)
|
|
69
|
-
if (field.subject) {
|
|
70
|
-
field.setAsyncSubject(isBareLiftedCell(result.code, cells, lifted))
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if ('children' in node) {
|
|
74
|
-
lowerList(node.children, classify, mint, cells)
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* True when a control-flow subject's WHOLE expression was lifted to one peek-cell — the
|
|
80
|
-
rewritten code is exactly a single injected name (`{#if getX()}` → `__v3`), not a compound
|
|
81
|
-
the peek composes into (`{#if getX()?.ok}` → `__v3?.ok`, still the falsy-else peek). `cells`
|
|
82
|
-
past index `lifted` are the ones this subject minted, so an equal name means the subject IS
|
|
83
|
-
that bare cell. Only then do the back-ends read its pending facet to hold the block. */
|
|
84
|
-
function isBareLiftedCell(code: string, cells: InjectedCell[], lifted: number): boolean {
|
|
85
|
-
const name = code.trim()
|
|
86
|
-
for (let index = lifted; index < cells.length; index++) {
|
|
87
|
-
if (cells[index]?.name === name) {
|
|
88
|
-
return true
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return false
|
|
92
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
|
|
3
|
-
/* Arithmetic compound assignments → their plain binary counterpart, lowered to a
|
|
4
|
-
read-combine-write (`x += y` → `write(read + y)`). */
|
|
5
|
-
const ARITHMETIC_COMPOUND_OPERATORS = new Map<ts.SyntaxKind, ts.BinaryOperator>([
|
|
6
|
-
[ts.SyntaxKind.PlusEqualsToken, ts.SyntaxKind.PlusToken],
|
|
7
|
-
[ts.SyntaxKind.MinusEqualsToken, ts.SyntaxKind.MinusToken],
|
|
8
|
-
[ts.SyntaxKind.AsteriskEqualsToken, ts.SyntaxKind.AsteriskToken],
|
|
9
|
-
[ts.SyntaxKind.SlashEqualsToken, ts.SyntaxKind.SlashToken],
|
|
10
|
-
])
|
|
11
|
-
|
|
12
|
-
/* Logical compound assignments SHORT-CIRCUIT: the write fires only when the guard
|
|
13
|
-
passes (`x ??= v` is `x ?? (x = v)`), so they lower to `read <op> write(right)`, NOT
|
|
14
|
-
an unconditional write — matching JS, so a non-nullish/truthy/falsy guard does no
|
|
15
|
-
needless patch or cell reseed. */
|
|
16
|
-
const LOGICAL_ASSIGNMENT_OPERATORS = new Map<ts.SyntaxKind, ts.BinaryOperator>([
|
|
17
|
-
[ts.SyntaxKind.QuestionQuestionEqualsToken, ts.SyntaxKind.QuestionQuestionToken],
|
|
18
|
-
[ts.SyntaxKind.BarBarEqualsToken, ts.SyntaxKind.BarBarToken],
|
|
19
|
-
[ts.SyntaxKind.AmpersandAmpersandEqualsToken, ts.SyntaxKind.AmpersandAmpersandToken],
|
|
20
|
-
])
|
|
21
|
-
|
|
22
|
-
/*
|
|
23
|
-
Lowers an assignment (`=`, arithmetic `+=`, or logical `??=`/`||=`/`&&=`) to a reactive
|
|
24
|
-
write, shared by the `$$model` doc path (lowerDocAccess) and the `$$writeCell` linked-cell
|
|
25
|
-
path (renameSignalRefs) so the two lowerings can't drift. `makeRead` builds the target's
|
|
26
|
-
read expression (only called for compound operators); `makeWrite` wraps a value in the
|
|
27
|
-
write call. Returns undefined for an operator this doesn't handle so the caller can leave
|
|
28
|
-
the node untouched. The write must evaluate to the written value (see `Cell.set` /
|
|
29
|
-
`Doc.replace`) for the logical short-circuit to yield the right result.
|
|
30
|
-
*/
|
|
31
|
-
export function lowerCompoundAssignment(
|
|
32
|
-
operator: ts.SyntaxKind,
|
|
33
|
-
makeRead: () => ts.Expression,
|
|
34
|
-
right: ts.Expression,
|
|
35
|
-
makeWrite: (value: ts.Expression) => ts.Expression,
|
|
36
|
-
): ts.Expression | undefined {
|
|
37
|
-
if (operator === ts.SyntaxKind.EqualsToken) {
|
|
38
|
-
return makeWrite(right)
|
|
39
|
-
}
|
|
40
|
-
const arithmetic = ARITHMETIC_COMPOUND_OPERATORS.get(operator)
|
|
41
|
-
if (arithmetic !== undefined) {
|
|
42
|
-
return makeWrite(ts.factory.createBinaryExpression(makeRead(), arithmetic, right))
|
|
43
|
-
}
|
|
44
|
-
const logical = LOGICAL_ASSIGNMENT_OPERATORS.get(operator)
|
|
45
|
-
if (logical !== undefined) {
|
|
46
|
-
return ts.factory.createBinaryExpression(makeRead(), logical, makeWrite(right))
|
|
47
|
-
}
|
|
48
|
-
return undefined
|
|
49
|
-
}
|