@abide/abide 0.58.0 → 0.101.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -1774
- package/bin/abide.ts +793 -204
- package/package.json +35 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +112 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +550 -0
- package/src/server/answerSocket.ts +585 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +100 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +641 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +505 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +13 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +217 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +424 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4501 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +552 -0
- package/src/shared/reactive/watch.ts +314 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +501 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
import { createShadowScope } from './createShadowScope.ts'
|
|
3
|
-
import { docAccessTransformer } from './lowerDocAccess.ts'
|
|
4
|
-
import { nestedBindingNames, nestedPlainLocalNames } from './prepareNestedScript.ts'
|
|
5
|
-
import { signalRefsTransformer } from './renameSignalRefs.ts'
|
|
6
|
-
import { TS_PRINTER } from './TS_PRINTER.ts'
|
|
7
|
-
import type { TemplateNode } from './types/TemplateNode.ts'
|
|
8
|
-
import { unwrapParens } from './unwrapParens.ts'
|
|
9
|
-
import { wrapReactiveSeedsTransformer } from './wrapReactiveSeeds.ts'
|
|
10
|
-
|
|
11
|
-
/* Compiled once — strips the trailing `;` off every lowered expression. */
|
|
12
|
-
const TRAILING_SEMICOLON = /;$/
|
|
13
|
-
|
|
14
|
-
/*
|
|
15
|
-
The shared expression-lowering context both back-ends build on: the signal→`model`
|
|
16
|
-
rewrite and doc-access lowering that turns the signal surface the author writes
|
|
17
|
-
(`count` → `model.count` → patch/read) into the doc API, plus the branch-scoped
|
|
18
|
-
nested-`<script>` deref scope. Identical on both sides by design — server and
|
|
19
|
-
client must lower an expression the same way or their markup diverges and
|
|
20
|
-
hydration breaks — so it lives in one place: a new sugar token or a paren/scope
|
|
21
|
-
fix lands here once instead of in lockstep across `generateBuild`/`generateSSR`.
|
|
22
|
-
SSR's effect-stripping stays a caller-side wrap (`stripEffects`), the one real
|
|
23
|
-
asymmetry; the node-walk skeletons stay in each back-end.
|
|
24
|
-
*/
|
|
25
|
-
export function lowerContext(
|
|
26
|
-
stateNames: ReadonlySet<string>,
|
|
27
|
-
derivedNames: ReadonlySet<string>,
|
|
28
|
-
computedNames: ReadonlySet<string> = new Set(),
|
|
29
|
-
/* `linked` / async `computed` names, read through `$$readCell(name)` — one read form
|
|
30
|
-
whose pause-vs-peek is decided at runtime by the cell's own `blocking` bit (ADR-0042),
|
|
31
|
-
so both back-ends lower a cell read identically with nothing site-specific to thread. */
|
|
32
|
-
cellReadNames: ReadonlySet<string> = new Set(),
|
|
33
|
-
) {
|
|
34
|
-
/* The typed branch-local shadow stack: one auto-popping value owning both kinds.
|
|
35
|
-
`derived` names deref to `.value` like a `computed` (block value params the client
|
|
36
|
-
binds as a reactive cell, and nested-`<script>` bindings); `plain` names deref as
|
|
37
|
-
the bare identifier (block value params SSR binds as a real JS local). Both, as a
|
|
38
|
-
nearer lexical scope, SHADOW a same-named component signal. `withShadow` pushes on
|
|
39
|
-
entry and pops in a `finally`, so a branch's shadows cannot outlive the branch even
|
|
40
|
-
if its body throws — the leak the old hand-written pop allowed. */
|
|
41
|
-
const scope = createShadowScope()
|
|
42
|
-
|
|
43
|
-
/* Parse `code` once and chain the reference rename and doc-access lowering over the
|
|
44
|
-
one tree — the two string passes would each parse + reprint. `localDerived` is
|
|
45
|
-
snapshotted per call (as the transformer's block-local shadow set) so a binding
|
|
46
|
-
pushed mid-compile is honoured AND shadows a same-named component signal. */
|
|
47
|
-
function lowerOnce(
|
|
48
|
-
code: string,
|
|
49
|
-
leadingTransformers: ts.TransformerFactory<ts.SourceFile>[] = [],
|
|
50
|
-
): string {
|
|
51
|
-
const source = ts.createSourceFile('expr.ts', code, ts.ScriptTarget.Latest, true)
|
|
52
|
-
const result = ts.transform(source, [
|
|
53
|
-
...leadingTransformers,
|
|
54
|
-
signalRefsTransformer(
|
|
55
|
-
stateNames,
|
|
56
|
-
derivedNames,
|
|
57
|
-
computedNames,
|
|
58
|
-
new Set(scope.names('derived')),
|
|
59
|
-
new Set(scope.names('plain')),
|
|
60
|
-
cellReadNames,
|
|
61
|
-
),
|
|
62
|
-
docAccessTransformer('$$model'),
|
|
63
|
-
])
|
|
64
|
-
const output = TS_PRINTER.printFile(result.transformed[0] as ts.SourceFile).trim()
|
|
65
|
-
result.dispose()
|
|
66
|
-
return output
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/* Lowers a single expression (no trailing `;`). Wrapped in parens so a bare object
|
|
70
|
-
literal (`{ a: 1 }`) parses as an expression, not a block of labeled statements,
|
|
71
|
-
through the rewrite; the wrapper is then peeled back off. */
|
|
72
|
-
function expression(code: string): string {
|
|
73
|
-
return unwrapParens(lowerOnce(`(${code})`).replace(TRAILING_SEMICOLON, ''))
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/* As above but keeps the trailing `;` for a statement/handler body. */
|
|
77
|
-
function statement(code: string): string {
|
|
78
|
-
return lowerOnce(code)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/* A nested branch `<script>` body. Same lowering as `statement`, but first normalises its
|
|
82
|
-
literal `state.computed`/`state.linked` seeds into thunks (`wrapReactiveSeeds`) so a bare-
|
|
83
|
-
value seed (`state.computed(a * 2)`) matches the top-level desugar rather than reaching the
|
|
84
|
-
runtime primitive un-thunked (which would call the value as the compute function and crash).
|
|
85
|
-
The wrap runs BEFORE the reference rename so it wraps the raw seed and the renamed refs land
|
|
86
|
-
inside the thunk. */
|
|
87
|
-
function script(code: string): string {
|
|
88
|
-
return lowerOnce(code, [wrapReactiveSeedsTransformer()])
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/* A two-way bind target is either an LVALUE (`count`, `model.lines[i]`) — reads as
|
|
92
|
-
itself, writes by assignment — or an ACCESSOR object from `bind:value={{ get, set }}`
|
|
93
|
-
— reads via `.get()`, writes via `.set(v)`. The accessor is the only way to bind a
|
|
94
|
-
value whose write goes somewhere other than the read target (the replacement for the
|
|
95
|
-
old writable `computed(compute, set)` lens). A read-only `computed` is NOT an lvalue,
|
|
96
|
-
so binding one bare is a compile error pointing at the accessor form. */
|
|
97
|
-
const isAccessorBind = (code: string): boolean => code.trim().startsWith('{')
|
|
98
|
-
|
|
99
|
-
function guardWritableBind(code: string): void {
|
|
100
|
-
const name = code.trim()
|
|
101
|
-
if (computedNames.has(name)) {
|
|
102
|
-
throw new Error(
|
|
103
|
-
`bind: \`${name}\` is a read-only computed — bind a writable target, or an accessor: bind:value={{ get: () => ${name}, set: (next) => { /* write the source */ } }}`,
|
|
104
|
-
)
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/* The expression a two-way bind reads its current value from. */
|
|
109
|
-
function bindRead(code: string): string {
|
|
110
|
-
if (isAccessorBind(code)) {
|
|
111
|
-
return `(${expression(code)}).get()`
|
|
112
|
-
}
|
|
113
|
-
guardWritableBind(code)
|
|
114
|
-
return expression(code)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/* The statement a two-way bind runs to write `valueExpr` (a raw runtime expression,
|
|
118
|
-
e.g. `el.value`) back into its target. */
|
|
119
|
-
function bindWrite(code: string, valueExpr: string): string {
|
|
120
|
-
if (isAccessorBind(code)) {
|
|
121
|
-
return `(${expression(code)}).set(${valueExpr});`
|
|
122
|
-
}
|
|
123
|
-
guardWritableBind(code)
|
|
124
|
-
/* A `linked` cell (a writable `State`) is read through `$$readCell`, but that call is
|
|
125
|
-
not an lvalue — the WRITE goes straight to the cell's `.value` setter (`NAME.value =
|
|
126
|
-
…`). The name is a real local holding the cell, so it needs no reference lowering. */
|
|
127
|
-
const name = code.trim()
|
|
128
|
-
if (cellReadNames.has(name)) {
|
|
129
|
-
return `${name}.value = ${valueExpr};`
|
|
130
|
-
}
|
|
131
|
-
return statement(`${code} = ${valueExpr}`)
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/* Adds any `<script>` children's binding names to the deref scope (so the script
|
|
135
|
-
bodies and the branch's markup auto-deref them) for the duration of `body`. Reactive
|
|
136
|
-
bindings register as `derived` `.value` cells; the script's PLAIN top-level locals
|
|
137
|
-
register as `plain` bare locals so a local that shares a name with a component signal
|
|
138
|
-
shadows it (else the reference lowers to `$$model.read(...)`, ignoring the local). */
|
|
139
|
-
function withNestedScripts<T>(children: TemplateNode[], body: () => T): T {
|
|
140
|
-
const derived = children.flatMap((child) =>
|
|
141
|
-
child.kind === 'script' ? [...nestedBindingNames(child.code)] : [],
|
|
142
|
-
)
|
|
143
|
-
const plain = children.flatMap((child) =>
|
|
144
|
-
child.kind === 'script' ? [...nestedPlainLocalNames(child.code)] : [],
|
|
145
|
-
)
|
|
146
|
-
return scope.withShadow(derived, 'derived', () => scope.withShadow(plain, 'plain', body))
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
return {
|
|
150
|
-
expression,
|
|
151
|
-
statement,
|
|
152
|
-
script,
|
|
153
|
-
withNestedScripts,
|
|
154
|
-
/* The raw branch-local shadow registration both back-ends drive `withBindings`
|
|
155
|
-
through: a block's bindings flow to a `ShadowKind` only via that one shared loop,
|
|
156
|
-
never through a per-block `scope.withShadow` call here. */
|
|
157
|
-
withShadow: scope.withShadow,
|
|
158
|
-
/* Whether `name` is currently shadowed by a block binding (either kind) at this point
|
|
159
|
-
of the walk — the live query classification sites (e.g. `awaitSubjectExpr`) consult
|
|
160
|
-
so a binder that shadows a component cell name is lowered as the local it is, never
|
|
161
|
-
wrapped as the cell it hides. */
|
|
162
|
-
isShadowed: (name: string): boolean =>
|
|
163
|
-
scope.names('plain').has(name) || scope.names('derived').has(name),
|
|
164
|
-
bindRead,
|
|
165
|
-
bindWrite,
|
|
166
|
-
}
|
|
167
|
-
}
|
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
import { escapeKey } from '../runtime/escapeKey.ts'
|
|
3
|
-
import { lowerCompoundAssignment } from './lowerCompoundAssignment.ts'
|
|
4
|
-
import { lowerUpdateExpression } from './lowerUpdateExpression.ts'
|
|
5
|
-
|
|
6
|
-
/*
|
|
7
|
-
The linchpin compiler pass. Rewrites idiomatic data access on a reactive document
|
|
8
|
-
binding into the document's patch/read API, so an author writes plain property
|
|
9
|
-
syntax and the runtime gets addressed change — the thing that makes a real
|
|
10
|
-
component hit the fast path instead of building path strings by hand:
|
|
11
|
-
|
|
12
|
-
model.note = 'x' → model.replace("note", 'x')
|
|
13
|
-
model.count += 1 → model.replace("count", model.read("count") + 1)
|
|
14
|
-
model.lines.push(v) → model.add("lines/-", v)
|
|
15
|
-
delete model.byId[key] → model.remove("byId/" + escapeKey(key))
|
|
16
|
-
model.lines[0].sku → model.read("lines/0/sku")
|
|
17
|
-
model.lines[i].sku → model.read("lines/" + escapeKey(i) + "/sku")
|
|
18
|
-
|
|
19
|
-
A member/element-access chain rooted at `docName` becomes a `/`-joined path:
|
|
20
|
-
literal keys and numeric indices fold into one string literal; a non-literal
|
|
21
|
-
index makes the path a template (a dynamic segment). Path segments are
|
|
22
|
-
JSON-Pointer-escaped so a key holding `/` or `~` addresses one segment, not
|
|
23
|
-
many — literal keys at compile time, dynamic ones wrapped in a runtime
|
|
24
|
-
`escapeKey(...)`. Reads are lowered to `read(path)`; a later pass hoists
|
|
25
|
-
static-path reads to a `cell` bound once at component init (the string-free hot
|
|
26
|
-
path the bench measured). Index expressions are themselves visited, so a read
|
|
27
|
-
used as an index lowers too. Exposed as `docAccessTransformer` (a
|
|
28
|
-
`ts.TransformerFactory`) so the script pipeline chains it after
|
|
29
|
-
`signalRefsTransformer` over a single parsed tree (see `lowerScript`).
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
/* A path segment is either a literal key or a runtime expression (a dynamic index). */
|
|
33
|
-
type Segment = { kind: 'literal'; value: string } | { kind: 'expression'; node: ts.Expression }
|
|
34
|
-
|
|
35
|
-
/* Methods that mutate a doc-rooted container in place — Array, Map and Set (the three
|
|
36
|
-
mutable containers the doc codec serializes). Called on a doc value these can't lower to
|
|
37
|
-
a bare `readCall` (which would mutate the live tree by reference and never emit a patch —
|
|
38
|
-
so nothing re-renders); they route through `$$mutateDocContainer`, which
|
|
39
|
-
clones-applies-replaces so a real patch fires. The names are disjoint across the three
|
|
40
|
-
container kinds, so one set routes them all and the runtime helper decides the kind by the
|
|
41
|
-
value's type. `push` is handled separately above (fine-grained `add` patches). */
|
|
42
|
-
const MUTATING_CONTAINER_METHODS = new Set([
|
|
43
|
-
// Array
|
|
44
|
-
'pop',
|
|
45
|
-
'shift',
|
|
46
|
-
'unshift',
|
|
47
|
-
'splice',
|
|
48
|
-
'sort',
|
|
49
|
-
'reverse',
|
|
50
|
-
'fill',
|
|
51
|
-
'copyWithin',
|
|
52
|
-
// Map / Set (`delete` + `clear` shared; `set` is Map, `add` is Set)
|
|
53
|
-
'set',
|
|
54
|
-
'add',
|
|
55
|
-
'delete',
|
|
56
|
-
'clear',
|
|
57
|
-
])
|
|
58
|
-
|
|
59
|
-
export function docAccessTransformer(docName: string): ts.TransformerFactory<ts.SourceFile> {
|
|
60
|
-
return (context) => (root) => {
|
|
61
|
-
/* Collects the path of an access chain rooted at `docName`, visiting any
|
|
62
|
-
dynamic index so reads inside it lower too. undefined if not our doc. */
|
|
63
|
-
function pathSegments(node: ts.Expression): Segment[] | undefined {
|
|
64
|
-
const segments: Segment[] = []
|
|
65
|
-
let current: ts.Expression = node
|
|
66
|
-
while (true) {
|
|
67
|
-
if (ts.isPropertyAccessExpression(current)) {
|
|
68
|
-
/* A property name is an identifier — escapeKey is a no-op on it, but
|
|
69
|
-
a string-literal element key (`model["a/b"]`) can carry `/`|`~` and
|
|
70
|
-
must escape at compile time so the `/`-joined path doesn't mis-split. */
|
|
71
|
-
segments.unshift({ kind: 'literal', value: escapeKey(current.name.text) })
|
|
72
|
-
current = current.expression
|
|
73
|
-
} else if (ts.isElementAccessExpression(current)) {
|
|
74
|
-
const argument = current.argumentExpression
|
|
75
|
-
if (ts.isStringLiteral(argument) || ts.isNumericLiteral(argument)) {
|
|
76
|
-
segments.unshift({ kind: 'literal', value: escapeKey(argument.text) })
|
|
77
|
-
} else {
|
|
78
|
-
segments.unshift({
|
|
79
|
-
kind: 'expression',
|
|
80
|
-
node: ts.visitNode(argument, visit) as ts.Expression,
|
|
81
|
-
})
|
|
82
|
-
}
|
|
83
|
-
current = current.expression
|
|
84
|
-
} else {
|
|
85
|
-
break
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
if (ts.isIdentifier(current) && current.text === docName && segments.length > 0) {
|
|
89
|
-
return segments
|
|
90
|
-
}
|
|
91
|
-
return undefined
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function visit(node: ts.Node): ts.Node {
|
|
95
|
-
/* Assignment (plain, compound, or logical) to a doc path → replace patch. */
|
|
96
|
-
if (ts.isBinaryExpression(node)) {
|
|
97
|
-
const segments = pathSegments(node.left as ts.Expression)
|
|
98
|
-
if (segments) {
|
|
99
|
-
const lowered = lowerCompoundAssignment(
|
|
100
|
-
node.operatorToken.kind,
|
|
101
|
-
() => docCall(docName, 'read', [buildPath(segments)]),
|
|
102
|
-
ts.visitNode(node.right, visit) as ts.Expression,
|
|
103
|
-
(value) => docCall(docName, 'replace', [buildPath(segments), value]),
|
|
104
|
-
)
|
|
105
|
-
if (lowered !== undefined) {
|
|
106
|
-
return lowered
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
/* `path++` / `++path` / `path--` on a doc path → a replace patch. A bare `++`
|
|
111
|
-
would otherwise survive onto the lowered read (`model.read("n")++`) — invalid,
|
|
112
|
-
since a call result is not an lvalue. Only `++`/`--` are handled here; other
|
|
113
|
-
unary operators (`!path`, `-path`) fall through so their operand lowers as a
|
|
114
|
-
normal read. */
|
|
115
|
-
if (
|
|
116
|
-
(ts.isPostfixUnaryExpression(node) || ts.isPrefixUnaryExpression(node)) &&
|
|
117
|
-
(node.operator === ts.SyntaxKind.PlusPlusToken ||
|
|
118
|
-
node.operator === ts.SyntaxKind.MinusMinusToken)
|
|
119
|
-
) {
|
|
120
|
-
const segments = pathSegments(node.operand)
|
|
121
|
-
if (segments) {
|
|
122
|
-
return lowerUpdateExpression(
|
|
123
|
-
ts.isPostfixUnaryExpression(node),
|
|
124
|
-
node.operator === ts.SyntaxKind.PlusPlusToken,
|
|
125
|
-
() => docCall(docName, 'read', [buildPath(segments)]),
|
|
126
|
-
(value) => docCall(docName, 'replace', [buildPath(segments), value]),
|
|
127
|
-
)
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/* doc array `.push(a, b, …)` → one `add` patch per argument at the array's `-`
|
|
131
|
-
slot, matching native multi-arg push (each lands at the end in order). */
|
|
132
|
-
if (
|
|
133
|
-
ts.isCallExpression(node) &&
|
|
134
|
-
ts.isPropertyAccessExpression(node.expression) &&
|
|
135
|
-
node.expression.name.text === 'push'
|
|
136
|
-
) {
|
|
137
|
-
const segments = pathSegments(node.expression.expression)
|
|
138
|
-
if (segments && node.arguments.length > 0) {
|
|
139
|
-
const adds = node.arguments.map(
|
|
140
|
-
(pushed) =>
|
|
141
|
-
docCall(docName, 'add', [
|
|
142
|
-
buildPath([...segments, { kind: 'literal', value: '-' }]),
|
|
143
|
-
ts.visitNode(pushed, visit) as ts.Expression,
|
|
144
|
-
]) as ts.Expression,
|
|
145
|
-
)
|
|
146
|
-
/* `node.arguments.length > 0` above guarantees `adds` is non-empty, so the
|
|
147
|
-
single-element branch's `adds[0]` is defined. */
|
|
148
|
-
// biome-ignore lint/style/noNonNullAssertion: length === 1 guarantees adds[0] is defined
|
|
149
|
-
return adds.length === 1 ? adds[0]! : ts.factory.createCommaListExpression(adds)
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
/* A called member on a doc chain is a method on the read value, not a
|
|
153
|
-
deeper path: `model.draft.trim()` → `readCall(model.read("draft"), …)`,
|
|
154
|
-
`model.items.map(f)` → `readCall(model.read("items"), …)`. (Array `.push`
|
|
155
|
-
above is the exception — it lowers to an `add` patch.) */
|
|
156
|
-
if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression)) {
|
|
157
|
-
const access = node.expression
|
|
158
|
-
const segments = pathSegments(access.expression)
|
|
159
|
-
if (segments) {
|
|
160
|
-
const args = node.arguments.map(
|
|
161
|
-
(arg) => ts.visitNode(arg, visit) as ts.Expression,
|
|
162
|
-
)
|
|
163
|
-
/* An in-place-mutating container method (Array/Map/Set) on a doc path →
|
|
164
|
-
route through `$$mutateDocContainer(doc, path, member, [args])` so the
|
|
165
|
-
mutation lands as a patch instead of silently mutating the live tree by
|
|
166
|
-
reference. Optional chaining (`model.items?.splice(…)`) keeps the bare-call
|
|
167
|
-
semantics below — skip-if-absent is the author's explicit choice, and a
|
|
168
|
-
nullish container has nothing to mutate. */
|
|
169
|
-
if (
|
|
170
|
-
MUTATING_CONTAINER_METHODS.has(access.name.text) &&
|
|
171
|
-
!access.questionDotToken &&
|
|
172
|
-
!node.questionDotToken
|
|
173
|
-
) {
|
|
174
|
-
return ts.factory.createCallExpression(
|
|
175
|
-
ts.factory.createIdentifier('$$mutateDocContainer'),
|
|
176
|
-
undefined,
|
|
177
|
-
[
|
|
178
|
-
ts.factory.createIdentifier(docName),
|
|
179
|
-
buildPath(segments),
|
|
180
|
-
ts.factory.createStringLiteral(access.name.text),
|
|
181
|
-
ts.factory.createArrayLiteralExpression(args),
|
|
182
|
-
],
|
|
183
|
-
)
|
|
184
|
-
}
|
|
185
|
-
const read = docCall(docName, 'read', [buildPath(segments)])
|
|
186
|
-
/* Optional chaining is the author's explicit skip-if-absent: a nullish
|
|
187
|
-
read short-circuits the whole call to `undefined`. Keep it bare —
|
|
188
|
-
routing it through the throwing guard would invert that semantics.
|
|
189
|
-
The call continues the chain whenever the access OR the call carries a
|
|
190
|
-
`?.`, so `model.x?.m()` short-circuits the call too. */
|
|
191
|
-
if (access.questionDotToken || node.questionDotToken) {
|
|
192
|
-
const member = access.questionDotToken
|
|
193
|
-
? ts.factory.createPropertyAccessChain(
|
|
194
|
-
read,
|
|
195
|
-
access.questionDotToken,
|
|
196
|
-
access.name,
|
|
197
|
-
)
|
|
198
|
-
: ts.factory.createPropertyAccessExpression(read, access.name.text)
|
|
199
|
-
return ts.factory.createCallChain(
|
|
200
|
-
member,
|
|
201
|
-
node.questionDotToken,
|
|
202
|
-
node.typeArguments,
|
|
203
|
-
args,
|
|
204
|
-
)
|
|
205
|
-
}
|
|
206
|
-
/* A non-optional call on an absent read throws the engine's opaque
|
|
207
|
-
`undefined is not an object`. Route it through `readCall`, which throws
|
|
208
|
-
naming the authored scope path and member — the key and member are both
|
|
209
|
-
in hand here, the `.abide` location comes free off the mapped stack. */
|
|
210
|
-
return ts.factory.createCallExpression(
|
|
211
|
-
ts.factory.createIdentifier('$$readCall'),
|
|
212
|
-
undefined,
|
|
213
|
-
[
|
|
214
|
-
read,
|
|
215
|
-
buildPath(segments),
|
|
216
|
-
ts.factory.createStringLiteral(access.name.text),
|
|
217
|
-
ts.factory.createArrayLiteralExpression(args),
|
|
218
|
-
],
|
|
219
|
-
)
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
/* delete doc.path → remove patch. */
|
|
223
|
-
if (ts.isDeleteExpression(node)) {
|
|
224
|
-
const segments = pathSegments(node.expression)
|
|
225
|
-
if (segments) {
|
|
226
|
-
return docCall(docName, 'remove', [buildPath(segments)])
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
/* Any remaining doc access chain is a read. */
|
|
230
|
-
if (ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) {
|
|
231
|
-
const segments = pathSegments(node)
|
|
232
|
-
if (segments) {
|
|
233
|
-
return docCall(docName, 'read', [buildPath(segments)])
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return ts.visitEachChild(node, visit, context)
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
return ts.visitNode(root, visit) as ts.SourceFile
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
/* Builds `docName.method(...args)`. */
|
|
244
|
-
function docCall(docName: string, method: string, args: ts.Expression[]): ts.CallExpression {
|
|
245
|
-
return ts.factory.createCallExpression(
|
|
246
|
-
ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(docName), method),
|
|
247
|
-
undefined,
|
|
248
|
-
args,
|
|
249
|
-
)
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
/*
|
|
253
|
-
Turns segments into a path expression: an all-literal path is one string literal
|
|
254
|
-
(`"lines/0/sku"`); a path with a dynamic segment is a string-concatenation that
|
|
255
|
-
evaluates to the path at runtime (`"lines/" + escapeKey(i) + "/sku"`), kept
|
|
256
|
-
string-typed by leading with a literal.
|
|
257
|
-
*/
|
|
258
|
-
function buildPath(segments: Segment[]): ts.Expression {
|
|
259
|
-
if (segments.every((segment) => segment.kind === 'literal')) {
|
|
260
|
-
return ts.factory.createStringLiteral(
|
|
261
|
-
segments.map((segment) => (segment as { value: string }).value).join('/'),
|
|
262
|
-
)
|
|
263
|
-
}
|
|
264
|
-
const fragments: ts.Expression[] = []
|
|
265
|
-
/* Append text to the trailing string fragment when there is one, so a `/`
|
|
266
|
-
separator folds into the preceding literal (`"lines/" + i`) rather than
|
|
267
|
-
printing as its own term (`"lines" + "/" + i`). */
|
|
268
|
-
const appendText = (text: string): void => {
|
|
269
|
-
const last = fragments[fragments.length - 1]
|
|
270
|
-
if (last !== undefined && ts.isStringLiteral(last)) {
|
|
271
|
-
fragments[fragments.length - 1] = ts.factory.createStringLiteral(last.text + text)
|
|
272
|
-
} else {
|
|
273
|
-
fragments.push(ts.factory.createStringLiteral(text))
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
segments.forEach((segment, index) => {
|
|
277
|
-
const separator = index === 0 ? '' : '/'
|
|
278
|
-
if (segment.kind === 'literal') {
|
|
279
|
-
appendText(separator + segment.value)
|
|
280
|
-
} else {
|
|
281
|
-
if (separator !== '') {
|
|
282
|
-
appendText(separator)
|
|
283
|
-
}
|
|
284
|
-
/* A dynamic key's value is unknown at compile time — escape it at runtime so a
|
|
285
|
-
key holding `/`|`~` (a date, a composite id) addresses one segment, not many. */
|
|
286
|
-
fragments.push(
|
|
287
|
-
ts.factory.createCallExpression(
|
|
288
|
-
ts.factory.createIdentifier('$$escapeKey'),
|
|
289
|
-
undefined,
|
|
290
|
-
[segment.node],
|
|
291
|
-
),
|
|
292
|
-
)
|
|
293
|
-
}
|
|
294
|
-
})
|
|
295
|
-
const head = fragments[0]
|
|
296
|
-
if (head === undefined || !ts.isStringLiteral(head)) {
|
|
297
|
-
fragments.unshift(ts.factory.createStringLiteral(''))
|
|
298
|
-
}
|
|
299
|
-
return fragments.reduce((left, right) =>
|
|
300
|
-
ts.factory.createBinaryExpression(left, ts.SyntaxKind.PlusToken, right),
|
|
301
|
-
)
|
|
302
|
-
}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript'
|
|
2
|
-
import { ABIDE_PACKAGE_NAME } from '../../shared/ABIDE_PACKAGE_NAME.ts'
|
|
3
|
-
import { assertTranspiles } from './assertTranspiles.ts'
|
|
4
|
-
import { desugarSignals } from './desugarSignals.ts'
|
|
5
|
-
import { identifierReferencePattern } from './identifierReferencePattern.ts'
|
|
6
|
-
import { docAccessTransformer } from './lowerDocAccess.ts'
|
|
7
|
-
import { signalRefsTransformer } from './renameSignalRefs.ts'
|
|
8
|
-
import { reactiveImportBindings } from './resolveReactiveExport.ts'
|
|
9
|
-
import { stripEffectsTransformer } from './stripEffects.ts'
|
|
10
|
-
import { TS_PRINTER } from './TS_PRINTER.ts'
|
|
11
|
-
import type { SeedTypeClassifier } from './types/SeedTypeClassifier.ts'
|
|
12
|
-
import { wrapReactionCellSources } from './wrapReactionCellSources.ts'
|
|
13
|
-
|
|
14
|
-
/* The `abide/ui/*` modules the reactive surface is imported from. An author's import of
|
|
15
|
-
one is compiler-recognised and lowered, so its binding is often fully consumed — a plain
|
|
16
|
-
`state(...)` becomes `$$model`/`$$scope` with no `state` reference left. Such a dead
|
|
17
|
-
import is dropped from the emitted module (see `deadReactiveImport`) so the output carries
|
|
18
|
-
no spurious static `@abide/ui` dependency — a dead import a bundler would still resolve. */
|
|
19
|
-
const REACTIVE_IMPORT_SPECIFIERS = new Set([
|
|
20
|
-
`${ABIDE_PACKAGE_NAME}/ui/state`,
|
|
21
|
-
`${ABIDE_PACKAGE_NAME}/ui/effect`,
|
|
22
|
-
])
|
|
23
|
-
|
|
24
|
-
/* True when `statement` imports the reactive surface and none of its local bindings survive
|
|
25
|
-
into the lowered output (`used` = body + ssr body) — so emitting it would be a dead,
|
|
26
|
-
spurious runtime import. A binding that DOES survive (`state.share`, a bare `effect(...)`)
|
|
27
|
-
keeps the import. */
|
|
28
|
-
function deadReactiveImport(statement: ts.ImportDeclaration, used: string): boolean {
|
|
29
|
-
if (
|
|
30
|
-
!ts.isStringLiteral(statement.moduleSpecifier) ||
|
|
31
|
-
!REACTIVE_IMPORT_SPECIFIERS.has(statement.moduleSpecifier.text)
|
|
32
|
-
) {
|
|
33
|
-
return false
|
|
34
|
-
}
|
|
35
|
-
const named = statement.importClause?.namedBindings
|
|
36
|
-
if (named === undefined || !ts.isNamedImports(named)) {
|
|
37
|
-
return false
|
|
38
|
-
}
|
|
39
|
-
return named.elements.every(
|
|
40
|
-
(element) => !identifierReferencePattern(element.name.text).test(used),
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/*
|
|
45
|
-
The component-script lowering, done in ONE parse. The script is parsed once, then
|
|
46
|
-
`desugarSignals` (signal declarations → `model` slots / `scope().derive`), reference
|
|
47
|
-
renaming (`count` → `model.count`), and doc-access lowering (`model.count` → patch/read)
|
|
48
|
-
run as a chained `ts.transform` over the SAME tree — each as a standalone string pass
|
|
49
|
-
would parse + reprint. desugar returns a transformer rather than rebuilt source text
|
|
50
|
-
precisely so it can chain here; the name sets it collects feed the rename transformer.
|
|
51
|
-
|
|
52
|
-
Imports are partitioned off the transformed tree structurally (`ts.isImportDeclaration`),
|
|
53
|
-
not by regex, so a multi-line import hoists correctly regardless of formatting. The
|
|
54
|
-
reassembled output is transpiled as a fail-loud guard: if a future un-handled rewrite
|
|
55
|
-
position corrupts the script (the failure mode the syntax fuzz corpus also guards), it
|
|
56
|
-
surfaces here as a located compile error instead of shipping a broken bundle.
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
export function lowerScript(
|
|
60
|
-
scriptBody: string,
|
|
61
|
-
/* Reactive-surface identifiers referenced OUTSIDE this script — the nested branch
|
|
62
|
-
`<script>`s, which keep their `state.computed(...)` calls literal and so still need
|
|
63
|
-
the module-level import even after the leading script's own `state(...)` all
|
|
64
|
-
desugared away. Folded into the dead-import usage check so a live import isn't dropped
|
|
65
|
-
(→ `ReferenceError: state is not defined` in the branch). Empty for a nested script. */
|
|
66
|
-
externalUsage = '',
|
|
67
|
-
/* Names of synthetic `const __cN = computed(...)` cells `analyzeComponent` prepended for
|
|
68
|
-
asyncIterable interpolations (ADR-0019 Stage D). `computed` here is an unimported callee,
|
|
69
|
-
so `desugarSignals` recognizes these declarations by name — routing each to an eager
|
|
70
|
-
`trackedComputed` stream cell — rather than by import resolution. Empty on every other path. */
|
|
71
|
-
injectedCellNames: ReadonlySet<string> = new Set(),
|
|
72
|
-
/* The subset of `injectedCellNames` whose author wrote `await` (ADR-0032): a BLOCKING peek-cell
|
|
73
|
-
that joins the SSR barrier (resolved inline), vs a streaming one that ships pending. Threaded
|
|
74
|
-
to `desugarSignals` so `injectedComputedStatements` passes the right `trackedComputed`
|
|
75
|
-
streaming flag. Empty on every other path. */
|
|
76
|
-
blockingCellNames: ReadonlySet<string> = new Set(),
|
|
77
|
-
/* Names the template writes/forwards (`writtenTemplateNames`), so a `props()` binding used
|
|
78
|
-
two-way is desugared to a writable cell rather than a read-only derive. Empty for a nested
|
|
79
|
-
script (which declares no props). */
|
|
80
|
-
templateWrittenNames: ReadonlySet<string> = new Set(),
|
|
81
|
-
/* Type-directed seed classifier + this script's absolute source base (ADR-0023), threaded
|
|
82
|
-
to `desugarSignals` so a no-marker `computed(seed)` routes on the seed's checker type.
|
|
83
|
-
Absent ⇒ fail-open to the `isBareCallComputed` syntax heuristic (today's behavior). */
|
|
84
|
-
seedClassify?: SeedTypeClassifier,
|
|
85
|
-
scriptBase = 0,
|
|
86
|
-
): {
|
|
87
|
-
body: string
|
|
88
|
-
imports: string
|
|
89
|
-
ssrBody: string
|
|
90
|
-
stateNames: Set<string>
|
|
91
|
-
derivedNames: Set<string>
|
|
92
|
-
computedNames: Set<string>
|
|
93
|
-
cellReadNames: Set<string>
|
|
94
|
-
droppedReactiveImports: Set<string>
|
|
95
|
-
} {
|
|
96
|
-
const source = ts.createSourceFile('component.ts', scriptBody, ts.ScriptTarget.Latest, true)
|
|
97
|
-
const { transformer, stateNames, derivedNames, computedNames, cellReadNames } = desugarSignals(
|
|
98
|
-
source,
|
|
99
|
-
injectedCellNames,
|
|
100
|
-
blockingCellNames,
|
|
101
|
-
templateWrittenNames,
|
|
102
|
-
seedClassify,
|
|
103
|
-
scriptBase,
|
|
104
|
-
)
|
|
105
|
-
/* The local names bound to `watch` (alias-safe), and the full set of read-rewritten cell
|
|
106
|
-
names — together they let `wrapReactionCellSources` fold a `watch(cell, handler)` into
|
|
107
|
-
the thunk form BEFORE the read-lowering turns the cell reference into a value read. */
|
|
108
|
-
const watchLocalNames = new Set<string>()
|
|
109
|
-
for (const [local, canonical] of reactiveImportBindings(source).direct) {
|
|
110
|
-
if (canonical === 'watch') {
|
|
111
|
-
watchLocalNames.add(local)
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
const cellNames = new Set<string>([
|
|
115
|
-
...stateNames,
|
|
116
|
-
...derivedNames,
|
|
117
|
-
...computedNames,
|
|
118
|
-
...cellReadNames,
|
|
119
|
-
])
|
|
120
|
-
/* `wrapReactionCellSources` only folds `watch(cell, …)` calls, so it's a pure
|
|
121
|
-
identity walk when the script imports no `watch` (the common case) — skip the
|
|
122
|
-
extra full-tree pass entirely then. */
|
|
123
|
-
const reactionTransforms =
|
|
124
|
-
watchLocalNames.size > 0 ? [wrapReactionCellSources(cellNames, watchLocalNames)] : []
|
|
125
|
-
const result = ts.transform(source, [
|
|
126
|
-
transformer,
|
|
127
|
-
...reactionTransforms,
|
|
128
|
-
signalRefsTransformer(
|
|
129
|
-
stateNames,
|
|
130
|
-
derivedNames,
|
|
131
|
-
computedNames,
|
|
132
|
-
new Set(),
|
|
133
|
-
new Set(),
|
|
134
|
-
cellReadNames,
|
|
135
|
-
),
|
|
136
|
-
docAccessTransformer('$$model'),
|
|
137
|
-
])
|
|
138
|
-
const transformed = result.transformed[0] as ts.SourceFile
|
|
139
|
-
/* Top-level imports must live at module scope, not inside the mount/render
|
|
140
|
-
function the script body becomes — hoist them off the tree. */
|
|
141
|
-
const importStatements = transformed.statements.filter(ts.isImportDeclaration)
|
|
142
|
-
const bodyStatements = transformed.statements.filter(
|
|
143
|
-
(statement) => !ts.isImportDeclaration(statement),
|
|
144
|
-
)
|
|
145
|
-
const bodyFile = ts.factory.updateSourceFile(transformed, bodyStatements)
|
|
146
|
-
const body = TS_PRINTER.printFile(bodyFile).trim()
|
|
147
|
-
/* The SSR variant strips client-only `effect(...)` calls — run over the SAME lowered
|
|
148
|
-
tree (one extra transform + print, no reparse) instead of re-parsing the printed
|
|
149
|
-
script downstream. */
|
|
150
|
-
const ssrResult = ts.transform(bodyFile, [stripEffectsTransformer()])
|
|
151
|
-
const ssrBody = TS_PRINTER.printFile(ssrResult.transformed[0] as ts.SourceFile).trim()
|
|
152
|
-
ssrResult.dispose()
|
|
153
|
-
result.dispose()
|
|
154
|
-
/* Drop reactive-surface imports fully consumed by lowering — keeping them would leave a
|
|
155
|
-
dead, spurious `@abide/ui` runtime dependency (checked against both back-ends' output). */
|
|
156
|
-
const used = `${body}\n${ssrBody}\n${externalUsage}`
|
|
157
|
-
const droppedReactiveImports = new Set<string>()
|
|
158
|
-
const imports = importStatements
|
|
159
|
-
.filter((statement) => {
|
|
160
|
-
if (!deadReactiveImport(statement, used)) {
|
|
161
|
-
return true
|
|
162
|
-
}
|
|
163
|
-
/* Record the local names of a dropped reactive import so the module wrapper can
|
|
164
|
-
independently confirm the drop stranded no live reference. */
|
|
165
|
-
const named = statement.importClause?.namedBindings
|
|
166
|
-
if (named !== undefined && ts.isNamedImports(named)) {
|
|
167
|
-
for (const element of named.elements) {
|
|
168
|
-
droppedReactiveImports.add(element.name.text)
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return false
|
|
172
|
-
})
|
|
173
|
-
.map((statement) => TS_PRINTER.printNode(ts.EmitHint.Unspecified, statement, transformed))
|
|
174
|
-
.join('\n')
|
|
175
|
-
|
|
176
|
-
assertTranspiles(
|
|
177
|
-
[imports, body].filter((part) => part !== '').join('\n'),
|
|
178
|
-
'component script lowering',
|
|
179
|
-
)
|
|
180
|
-
return {
|
|
181
|
-
body,
|
|
182
|
-
imports,
|
|
183
|
-
ssrBody,
|
|
184
|
-
stateNames,
|
|
185
|
-
derivedNames,
|
|
186
|
-
computedNames,
|
|
187
|
-
cellReadNames,
|
|
188
|
-
droppedReactiveImports,
|
|
189
|
-
}
|
|
190
|
-
}
|