@abide/abide 0.58.0 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1781
- package/bin/abide.ts +788 -204
- package/package.json +30 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +109 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +537 -0
- package/src/server/answerSocket.ts +537 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +66 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +613 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +499 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +7 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +223 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +423 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4480 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +418 -0
- package/src/shared/reactive/watch.ts +310 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +496 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -0,0 +1,643 @@
|
|
|
1
|
+
import { SyntaxKind } from 'typescript/unstable/ast'
|
|
2
|
+
import { isEventName } from '#shared/isEventName.ts'
|
|
3
|
+
import { isComponentTag, propKeyOf } from './classifyTemplate.ts'
|
|
4
|
+
import { isNamedAlone } from './isNamedAlone.ts'
|
|
5
|
+
import {
|
|
6
|
+
type Position,
|
|
7
|
+
type PositionKind,
|
|
8
|
+
PositionTable,
|
|
9
|
+
} from './PositionTable.ts'
|
|
10
|
+
import type { AbideFile } from './parseAbide.ts'
|
|
11
|
+
import type {
|
|
12
|
+
Body,
|
|
13
|
+
Branch,
|
|
14
|
+
ElementNode,
|
|
15
|
+
InlineComponent,
|
|
16
|
+
Setup,
|
|
17
|
+
TemplateNode,
|
|
18
|
+
} from './TemplateNode.ts'
|
|
19
|
+
import { tokenize } from './tokenize.ts'
|
|
20
|
+
|
|
21
|
+
export type Span = { start: number; end: number }
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A `.abide` file as one TypeScript program, with where each piece of it came from.
|
|
25
|
+
*
|
|
26
|
+
* Its `<script module>`, its `<script>`, and every expression its template holds, each where the scopes it stands in are. The checker reads this
|
|
27
|
+
* text and answers, per occurrence, which binding a name reaches (31.3) — and the emitters lower
|
|
28
|
+
* the same text, span by span, so an offset means one thing on both sides.
|
|
29
|
+
*
|
|
30
|
+
* 31.10 FALLS OUT OF THE SHAPE. A `{#for}` is a `for … of` binding its item and its index, so the
|
|
31
|
+
* body's slots reach the row's binding and never the page's name of the same spelling. The SUBJECT
|
|
32
|
+
* stands before the loop, because 31.10's shadow does not reach it.
|
|
33
|
+
*
|
|
34
|
+
* EVERY EXPRESSION IS ITS OWN STATEMENT, `;(…)`, so an author's script that ends without a
|
|
35
|
+
* semicolon cannot run into the first slot, and a slot's own right-hand side ends at its `)`.
|
|
36
|
+
*/
|
|
37
|
+
export type Projection = {
|
|
38
|
+
text: string
|
|
39
|
+
modules: Span
|
|
40
|
+
scripts: Span
|
|
41
|
+
/** Every template position, ascending, each with its kind — what the checker's tree is asked. */
|
|
42
|
+
positions: PositionTable
|
|
43
|
+
/**
|
|
44
|
+
* Per holder — an expression node, an attribute, an `{#if}` arm, a `{#for}` block, a setup, an
|
|
45
|
+
* inline component's head — the position of the expression it holds. A `bind:` operand's kind
|
|
46
|
+
* says it holds the `Reactive` rather than reading it (31.3, `Lowering.reference`).
|
|
47
|
+
*/
|
|
48
|
+
slots: Map<object, Position>
|
|
49
|
+
/**
|
|
50
|
+
* Per `{#for}` block, the position of its `by` key, which stands inside the loop and sees the row.
|
|
51
|
+
*/
|
|
52
|
+
keys: Map<object, Position>
|
|
53
|
+
/**
|
|
54
|
+
* 32.34 — per invocation, the position of its tag: a read there is a component chosen by a value.
|
|
55
|
+
*/
|
|
56
|
+
tags: Map<object, Position>
|
|
57
|
+
/**
|
|
58
|
+
* 38.3 — every run of the text copied out of the source, ascending, with where it came from.
|
|
59
|
+
* What lies between two is scaffolding the source never held.
|
|
60
|
+
*/
|
|
61
|
+
origins: Origin[]
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** A run of projected text copied from the source: where it lands, where from, and how long. */
|
|
65
|
+
export type Origin = { at: number; source: number; length: number }
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Each parsed file's projection, made once.
|
|
69
|
+
*
|
|
70
|
+
* ONE PROJECTION PER PARSED FILE. The checker asks of it and both emitters lower it, and a build
|
|
71
|
+
* hands all three the same `AbideFile` — projected per caller it was three walks and three copies
|
|
72
|
+
* of the file's text for one answer.
|
|
73
|
+
*/
|
|
74
|
+
const PROJECTED = new WeakMap<AbideFile, Projection>()
|
|
75
|
+
|
|
76
|
+
/** The file's projection, made once per parsed `AbideFile`. */
|
|
77
|
+
export function projectShadow(file: AbideFile): Projection {
|
|
78
|
+
let projection = PROJECTED.get(file)
|
|
79
|
+
if (projection === undefined) {
|
|
80
|
+
projection = project(file)
|
|
81
|
+
PROJECTED.set(file, projection)
|
|
82
|
+
}
|
|
83
|
+
return projection
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function project(file: AbideFile): Projection {
|
|
87
|
+
const origins: Origin[] = []
|
|
88
|
+
// 34.13 — scaffolding ahead of every block, so each one and the template are in their scope.
|
|
89
|
+
let text =
|
|
90
|
+
file.generics === undefined ? '' : genericDeclarations(file.generics)
|
|
91
|
+
// What is written next came from `origin` in the `.abide`, where the parser found one.
|
|
92
|
+
const place = (origin: number | undefined, length: number): void => {
|
|
93
|
+
if (origin !== undefined)
|
|
94
|
+
origins.push({ at: text.length, source: origin, length })
|
|
95
|
+
}
|
|
96
|
+
// `source` copied verbatim from `origin`, and the span it lands at.
|
|
97
|
+
const copied = (source: string, origin: number | undefined): Span => {
|
|
98
|
+
const start = text.length
|
|
99
|
+
place(origin, source.length)
|
|
100
|
+
text += source
|
|
101
|
+
return { start, end: text.length }
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Blocks of one kind, joined as the file wrote them, each run placed where it stood.
|
|
105
|
+
const blocks = (bodies: string[], starts: number[]): Span => {
|
|
106
|
+
const start = text.length
|
|
107
|
+
for (let at = 0; at < bodies.length; at += 1) {
|
|
108
|
+
if (at > 0) text += '\n'
|
|
109
|
+
copied(bodies[at] as string, starts[at])
|
|
110
|
+
}
|
|
111
|
+
return { start, end: text.length }
|
|
112
|
+
}
|
|
113
|
+
const modules = blocks(file.modules, file.origins.modules)
|
|
114
|
+
text += '\n;\n'
|
|
115
|
+
const scripts = blocks(file.scripts, file.origins.scripts)
|
|
116
|
+
const scriptsText = text.slice(scripts.start, scripts.end)
|
|
117
|
+
text += '\n'
|
|
118
|
+
const positions: Position[] = []
|
|
119
|
+
const slots = new Map<object, Position>()
|
|
120
|
+
const keys = new Map<object, Position>()
|
|
121
|
+
const tags = new Map<object, Position>()
|
|
122
|
+
let inlineProps = false
|
|
123
|
+
// Spans are written in ascending order, so the table is sorted as it is pushed.
|
|
124
|
+
const position = (span: Span, kind: PositionKind): Position => {
|
|
125
|
+
const found = { start: span.start, end: span.end, kind }
|
|
126
|
+
positions.push(found)
|
|
127
|
+
return found
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// `open` is what the statement starts with: a bare parenthesis, or a call that hands the value
|
|
131
|
+
// the type its position gives it (`openerOf`).
|
|
132
|
+
const expression = (
|
|
133
|
+
source: string,
|
|
134
|
+
origin: number | undefined,
|
|
135
|
+
kind: PositionKind,
|
|
136
|
+
open = '(',
|
|
137
|
+
): Position => {
|
|
138
|
+
text += `;${open}`
|
|
139
|
+
const span = position(copied(source, origin), kind)
|
|
140
|
+
text += ')\n'
|
|
141
|
+
return span
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
let subjects = 0
|
|
145
|
+
|
|
146
|
+
// 14.8 — A BRANCH-LOCAL `<script>` IS STATEMENTS AT THE HEAD OF ITS BODY, inside the loop or the
|
|
147
|
+
// braces that scope it, so its names are the body's and the checker reads it as the body does.
|
|
148
|
+
const setup = (owned: Setup | null): void => {
|
|
149
|
+
if (owned === null) return
|
|
150
|
+
slots.set(
|
|
151
|
+
owned,
|
|
152
|
+
position(
|
|
153
|
+
copied(owned.text, file.origins.holders.get(owned)),
|
|
154
|
+
'setup',
|
|
155
|
+
),
|
|
156
|
+
)
|
|
157
|
+
text += '\n'
|
|
158
|
+
refuseTopLevelAwait(owned.text, 'branch-local <script>')
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// 32.17 — A COMPONENT TAG IS A CALL, AND IT IS PROJECTED AS ONE: the name it invokes, handed the
|
|
162
|
+
// record the build hands it (`invocationProps`), so the checker holds each value to the prop the
|
|
163
|
+
// child declares (33.4), reports a name nobody imported, and answers a hover or a jump on the
|
|
164
|
+
// tag with the import's (38.40). Spreads first and explicit keys after, which is the order 33.12
|
|
165
|
+
// resolves them in.
|
|
166
|
+
const invocation = (node: ElementNode): void => {
|
|
167
|
+
// 32.36 — CALLED OPTIONALLY, so a value that may be absent is checked as one that may
|
|
168
|
+
// render nothing; a tag that is always a component reads the same either way.
|
|
169
|
+
//
|
|
170
|
+
// 32.34 — AND THE STATEMENT IS THE PARENTHESES, NOT THE CALL. A call standing as a statement
|
|
171
|
+
// is one the checker asks whether it ASSERTS, which it answers from the callee's type while
|
|
172
|
+
// it is still walking the flow — so a callee whose type is `ReturnType<typeof Shown>`
|
|
173
|
+
// reached back into `Shown`'s own initializer and reported it circular (TS2502).
|
|
174
|
+
text += ';(('
|
|
175
|
+
tags.set(
|
|
176
|
+
node,
|
|
177
|
+
position(copied(node.tag, file.origins.holders.get(node)), 'tag'),
|
|
178
|
+
)
|
|
179
|
+
text += ')?.({\n'
|
|
180
|
+
// 32.6 — a `bind:` hands over the caller's `Reactive` or a `{ get, set }` pair, held to
|
|
181
|
+
// the prop as the value it holds, and marked for `propsReads` as a name the child hands on.
|
|
182
|
+
const prop = (attribute: (typeof node.attributes)[number]): void => {
|
|
183
|
+
const operand = attribute.lowerName.startsWith('bind:')
|
|
184
|
+
text += operand ? `${BOUND}(` : `${PROP}(`
|
|
185
|
+
slots.set(
|
|
186
|
+
attribute,
|
|
187
|
+
position(
|
|
188
|
+
copied(
|
|
189
|
+
attribute.value,
|
|
190
|
+
file.origins.holders.get(attribute),
|
|
191
|
+
),
|
|
192
|
+
operand ? 'componentBind' : 'prop',
|
|
193
|
+
),
|
|
194
|
+
)
|
|
195
|
+
text += '),\n'
|
|
196
|
+
}
|
|
197
|
+
for (const attribute of node.attributes)
|
|
198
|
+
if (attribute.name === '...' && attribute.expression) {
|
|
199
|
+
text += '...'
|
|
200
|
+
prop(attribute)
|
|
201
|
+
}
|
|
202
|
+
// 32.10 — a name `propKeyOf` keys no prop by, and the build refuses it on a component.
|
|
203
|
+
const refused: typeof node.attributes = []
|
|
204
|
+
for (const attribute of node.attributes) {
|
|
205
|
+
if (attribute.name === '...') continue
|
|
206
|
+
const key = propKeyOf(attribute)
|
|
207
|
+
if (key === undefined) {
|
|
208
|
+
if (attribute.expression) refused.push(attribute)
|
|
209
|
+
continue
|
|
210
|
+
}
|
|
211
|
+
// The key is scaffolding, and a finding on it — a value of the wrong type, a prop the
|
|
212
|
+
// child does not declare — is placed at the value it keys, or a literal's name.
|
|
213
|
+
place(file.origins.holders.get(attribute), 0)
|
|
214
|
+
text += `${JSON.stringify(key)}: `
|
|
215
|
+
if (attribute.expression) prop(attribute)
|
|
216
|
+
else text += `${JSON.stringify(attribute.value)},\n`
|
|
217
|
+
}
|
|
218
|
+
// 32.50, 32.54 — each component passed between the tags is the prop of its name, held to
|
|
219
|
+
// the type the child declares for it and found at the component's own name.
|
|
220
|
+
for (const passed of node.passed) {
|
|
221
|
+
place(passed.at, 0)
|
|
222
|
+
text += `${JSON.stringify(passed.name)}: `
|
|
223
|
+
copied(passed.name, passed.at)
|
|
224
|
+
text += ',\n'
|
|
225
|
+
}
|
|
226
|
+
text += '}))\n'
|
|
227
|
+
for (const attribute of refused)
|
|
228
|
+
slots.set(
|
|
229
|
+
attribute,
|
|
230
|
+
expression(
|
|
231
|
+
attribute.value,
|
|
232
|
+
file.origins.holders.get(attribute),
|
|
233
|
+
'untyped',
|
|
234
|
+
`${ANY}(`,
|
|
235
|
+
),
|
|
236
|
+
)
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// 32.40, 32.42 — AN INLINE COMPONENT IS A FUNCTION DECLARED WHERE IT IS WRITTEN, so it sees
|
|
240
|
+
// every name in scope there, as the emitted one does, and a tag invoking it is the call on it
|
|
241
|
+
// that `invocation` already writes. It takes the record its pattern types, and binds its pattern
|
|
242
|
+
// with a `props` call of its own.
|
|
243
|
+
const component = (declared: InlineComponent): void => {
|
|
244
|
+
text += 'function '
|
|
245
|
+
copied(declared.name, declared.at)
|
|
246
|
+
text += `(${RECORD}: `
|
|
247
|
+
if (declared.pattern === '') text += NO_PROPS
|
|
248
|
+
else if (declared.type === '') text += 'Record<string, unknown>'
|
|
249
|
+
else copied(declared.type, declared.typeAt)
|
|
250
|
+
text += '): void {\n'
|
|
251
|
+
if (declared.pattern !== '') {
|
|
252
|
+
inlineProps = true
|
|
253
|
+
const start = text.length
|
|
254
|
+
text += 'const '
|
|
255
|
+
copied(declared.pattern, declared.patternAt)
|
|
256
|
+
text += ` = ${INLINE_PROPS}<typeof ${RECORD}>()`
|
|
257
|
+
slots.set(declared, position({ start, end: text.length }, 'head'))
|
|
258
|
+
text += '\n'
|
|
259
|
+
}
|
|
260
|
+
inBody(declared)
|
|
261
|
+
text += '}\n'
|
|
262
|
+
}
|
|
263
|
+
// 32.43 — a body's components stand at its head, so each is in scope throughout it.
|
|
264
|
+
const declare = (components: readonly InlineComponent[]): void => {
|
|
265
|
+
for (const declared of components) component(declared)
|
|
266
|
+
}
|
|
267
|
+
// A body inside braces of its own: its setup (14.8), its components, then its nodes.
|
|
268
|
+
const inBody = (owned: Body): void => {
|
|
269
|
+
setup(owned.setup)
|
|
270
|
+
declare(owned.components)
|
|
271
|
+
walk(owned.children)
|
|
272
|
+
}
|
|
273
|
+
// What an element holds has no braces of its own, and is given some where it declares a
|
|
274
|
+
// component (32.43).
|
|
275
|
+
const body = (
|
|
276
|
+
nodes: TemplateNode[],
|
|
277
|
+
components: readonly InlineComponent[],
|
|
278
|
+
): void => {
|
|
279
|
+
if (components.length === 0) {
|
|
280
|
+
walk(nodes)
|
|
281
|
+
return
|
|
282
|
+
}
|
|
283
|
+
text += '{\n'
|
|
284
|
+
declare(components)
|
|
285
|
+
walk(nodes)
|
|
286
|
+
text += '}\n'
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
const walk = (nodes: TemplateNode[]): void => {
|
|
290
|
+
for (const node of nodes) {
|
|
291
|
+
if (node.kind === 'text') continue
|
|
292
|
+
if (node.kind === 'expression') {
|
|
293
|
+
slots.set(
|
|
294
|
+
node,
|
|
295
|
+
expression(
|
|
296
|
+
node.source,
|
|
297
|
+
file.origins.holders.get(node),
|
|
298
|
+
'slot',
|
|
299
|
+
),
|
|
300
|
+
)
|
|
301
|
+
continue
|
|
302
|
+
}
|
|
303
|
+
if (node.kind === 'element') {
|
|
304
|
+
// 32.51 — what an invocation is passed is in scope at the call and nowhere after.
|
|
305
|
+
if (node.passed.length > 0) {
|
|
306
|
+
text += '{\n'
|
|
307
|
+
declare(node.passed)
|
|
308
|
+
}
|
|
309
|
+
if (isComponentTag(node.tag) && isNamedAlone(node.tag))
|
|
310
|
+
invocation(node)
|
|
311
|
+
else
|
|
312
|
+
for (const attribute of node.attributes) {
|
|
313
|
+
if (!attribute.expression) continue
|
|
314
|
+
const [kind, open] = attribute.lowerName.startsWith(
|
|
315
|
+
'bind:',
|
|
316
|
+
)
|
|
317
|
+
? (['elementBind', `${BIND}(`] as const)
|
|
318
|
+
: openerOf(node.tag, attribute.lowerName)
|
|
319
|
+
slots.set(
|
|
320
|
+
attribute,
|
|
321
|
+
expression(
|
|
322
|
+
attribute.value,
|
|
323
|
+
file.origins.holders.get(attribute),
|
|
324
|
+
kind,
|
|
325
|
+
open,
|
|
326
|
+
),
|
|
327
|
+
)
|
|
328
|
+
}
|
|
329
|
+
if (node.passed.length > 0) text += '}\n'
|
|
330
|
+
body(node.children, node.components)
|
|
331
|
+
continue
|
|
332
|
+
}
|
|
333
|
+
// 32.16 — the catch arm binds the failure, and the checker has to see the name.
|
|
334
|
+
if (node.block === 'try') {
|
|
335
|
+
const [tried, caught] = node.branches as [Branch, Branch]
|
|
336
|
+
text += '{\n'
|
|
337
|
+
inBody(tried)
|
|
338
|
+
text += `}\n{ const ${node.error === '' ? '__failure' : node.error}: any = undefined\n`
|
|
339
|
+
inBody(caught)
|
|
340
|
+
text += '}\n'
|
|
341
|
+
continue
|
|
342
|
+
}
|
|
343
|
+
// AN `{#if}` IS PROJECTED AS THE `if` IT IS, so an arm is checked under what its condition
|
|
344
|
+
// established: `{#if contact}{contact.name}` is a `Contact` there, a discriminant
|
|
345
|
+
// narrows its union, and `{:else}` has the rest. Written as a bare `(subject)` statement
|
|
346
|
+
// beside its arms, every arm was checked as if the condition had never been asked.
|
|
347
|
+
//
|
|
348
|
+
// The braces are also what scope an arm's branch-local `<script>` (14.8).
|
|
349
|
+
if (node.block === 'if') {
|
|
350
|
+
let first = true
|
|
351
|
+
for (const branch of node.branches) {
|
|
352
|
+
if (branch.subject === '') text += ' else {\n'
|
|
353
|
+
else {
|
|
354
|
+
text += first ? ';if (' : ' else if ('
|
|
355
|
+
slots.set(
|
|
356
|
+
branch,
|
|
357
|
+
position(
|
|
358
|
+
copied(
|
|
359
|
+
branch.subject,
|
|
360
|
+
file.origins.holders.get(branch),
|
|
361
|
+
),
|
|
362
|
+
'condition',
|
|
363
|
+
),
|
|
364
|
+
)
|
|
365
|
+
text += ') {\n'
|
|
366
|
+
}
|
|
367
|
+
first = false
|
|
368
|
+
inBody(branch)
|
|
369
|
+
text += '}'
|
|
370
|
+
}
|
|
371
|
+
text += '\n'
|
|
372
|
+
continue
|
|
373
|
+
}
|
|
374
|
+
// THE ROW'S ITEM IS TYPED FROM THE SUBJECT, so a member of it is a member the checker
|
|
375
|
+
// can answer for (`proveStatic`) — bound `any`, `{row.title}` was unprovable in every
|
|
376
|
+
// row of every list. The subject is held in a `const` of its own rather than written
|
|
377
|
+
// into the loop's head, where the item's own binding is already in scope.
|
|
378
|
+
const subject = `${SUBJECT}${subjects}`
|
|
379
|
+
subjects += 1
|
|
380
|
+
text += `;const ${subject} = (`
|
|
381
|
+
slots.set(
|
|
382
|
+
node,
|
|
383
|
+
position(
|
|
384
|
+
copied(node.subject, file.origins.holders.get(node)),
|
|
385
|
+
'subject',
|
|
386
|
+
),
|
|
387
|
+
)
|
|
388
|
+
text += ')\n'
|
|
389
|
+
text += `for (const ${node.item} of ${ROWS_OF}(${subject})) {\n`
|
|
390
|
+
if (node.index !== '') text += `const ${node.index} = 0\n`
|
|
391
|
+
// `inBody` but for the key, which stands after the row's setup and before its nodes.
|
|
392
|
+
setup(node.setup)
|
|
393
|
+
declare(node.components)
|
|
394
|
+
if (node.key !== '')
|
|
395
|
+
keys.set(
|
|
396
|
+
node,
|
|
397
|
+
expression(node.key, file.origins.keys.get(node), 'key'),
|
|
398
|
+
)
|
|
399
|
+
walk(node.children)
|
|
400
|
+
text += '}\n'
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
declare(file.components)
|
|
404
|
+
walk(file.head)
|
|
405
|
+
walk(file.template)
|
|
406
|
+
if (subjects > 0) text += ROWS_OF_DECLARATION
|
|
407
|
+
if (inlineProps) text += INLINE_PROPS_IMPORT
|
|
408
|
+
text += POSITION_DECLARATIONS
|
|
409
|
+
// 34.3 — BOTH BLOCKS. A `<script>` is a function body on both sides, where an `await` at its top
|
|
410
|
+
// does not parse; a `<script module>` is module scope, where it would, and holds the import of
|
|
411
|
+
// every file that reaches it until it settles — the render waiting on it in all but name.
|
|
412
|
+
refuseTopLevelAwait(file.modules.join('\n'), '<script module>')
|
|
413
|
+
refuseTopLevelAwait(scriptsText, '<script>')
|
|
414
|
+
refuseInstanceExport(scriptsText)
|
|
415
|
+
return {
|
|
416
|
+
text,
|
|
417
|
+
modules,
|
|
418
|
+
scripts,
|
|
419
|
+
positions: new PositionTable(positions),
|
|
420
|
+
slots,
|
|
421
|
+
keys,
|
|
422
|
+
tags,
|
|
423
|
+
origins,
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* What an attribute's value is opened with, which types it by the position it stands in.
|
|
429
|
+
*
|
|
430
|
+
* A listener on an element is handed that
|
|
431
|
+
* element's event, so a handler's parameter has the type the browser gives it rather than an
|
|
432
|
+
* implicit `any`; an attribute on a component whose tag is no name a call can spell (`invocation`
|
|
433
|
+
* has the rest) is typed by nothing the shadow can see, and says so with `any` rather than with an
|
|
434
|
+
* error the author did not make. A `bind:` operand is not asked about here: the caller opens it
|
|
435
|
+
* with `BIND`, which types it as `any` too.
|
|
436
|
+
*/
|
|
437
|
+
function openerOf(
|
|
438
|
+
tag: string,
|
|
439
|
+
lowerName: string,
|
|
440
|
+
): readonly [PositionKind, string] {
|
|
441
|
+
if (isComponentTag(tag)) return ['untyped', `${ANY}(`]
|
|
442
|
+
if (isEventName(lowerName))
|
|
443
|
+
return ['listener', `${ON}(${JSON.stringify(lowerName.slice(2))}, `]
|
|
444
|
+
return ['attribute', '(']
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
const PROP = '__prop'
|
|
448
|
+
// What an inline component's function names the record it is called with, and abide's `props` as
|
|
449
|
+
// its head calls it (32.40) — bound here, since the author imports `props` only where they call it.
|
|
450
|
+
const RECORD = '__record'
|
|
451
|
+
export const INLINE_PROPS = '__inlineProps'
|
|
452
|
+
const INLINE_PROPS_IMPORT = `
|
|
453
|
+
import { props as ${INLINE_PROPS} } from ${JSON.stringify(
|
|
454
|
+
Bun.fileURLToPath(new URL('../shared/props.ts', import.meta.url)),
|
|
455
|
+
)}
|
|
456
|
+
`
|
|
457
|
+
/**
|
|
458
|
+
* The props type of a component with no `props` call.
|
|
459
|
+
*
|
|
460
|
+
* 33.2 — a component with no `props` call takes no prop of its own; 33.16 — `children` is the one
|
|
461
|
+
* key every component takes, and the tag's body passes it rather than an attribute.
|
|
462
|
+
*/
|
|
463
|
+
export const NO_PROPS = '{ [key: string]: never }'
|
|
464
|
+
const ON = '__on'
|
|
465
|
+
const ANY = '__any'
|
|
466
|
+
/** 31.3 — what a `bind:` operand is wrapped in on an element and on a component. */
|
|
467
|
+
const BIND = '__bind'
|
|
468
|
+
const BOUND = '__bound'
|
|
469
|
+
|
|
470
|
+
/** 33.6 — the type a written prop's cell is checked as, which is the framework's own. */
|
|
471
|
+
const REACTIVE = `import(${JSON.stringify(
|
|
472
|
+
Bun.fileURLToPath(
|
|
473
|
+
new URL('../shared/reactive/Reactive.ts', import.meta.url),
|
|
474
|
+
),
|
|
475
|
+
)}).Reactive`
|
|
476
|
+
|
|
477
|
+
/** 23.9 — the params a page's own route promises, which the framework spells. */
|
|
478
|
+
const ROUTE_PARAMS = `import(${JSON.stringify(
|
|
479
|
+
Bun.fileURLToPath(new URL('../shared/url.ts', import.meta.url)),
|
|
480
|
+
)}).RouteParams`
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Ambient declarations of the helpers the shadow and the checked program call.
|
|
484
|
+
*
|
|
485
|
+
* Names the shadow and `checkedShadow` spell and no author does, declared after everything so no offset above moves, and ambient so nothing is emitted. `export {}` makes
|
|
486
|
+
* every shadow a module: a shadow read as a script puts its names in the global scope, where every
|
|
487
|
+
* other file in the project would find them.
|
|
488
|
+
*/
|
|
489
|
+
const POSITION_DECLARATIONS = `
|
|
490
|
+
declare function ${ON}<Name extends string>(name: Name, handler: ((event: Name extends keyof HTMLElementEventMap ? HTMLElementEventMap[Name] : Event) => unknown) | null | undefined | false): void
|
|
491
|
+
declare function ${ANY}(value: any): void
|
|
492
|
+
declare function ${PROP}<Value>(value: Value): Value
|
|
493
|
+
declare function ${BIND}(value: any): void
|
|
494
|
+
declare function ${BOUND}<Value>(value: ${REACTIVE}<Value, any, any, any>): Value
|
|
495
|
+
declare function ${BOUND}<Value>(value: { get(): Value; set(value: Value): unknown }): Value
|
|
496
|
+
declare function __restValues<Accessors>(record: Accessors): { [Key in keyof Accessors]: NonNullable<Accessors[Key]> extends () => infer Value ? Value : never }
|
|
497
|
+
declare function __propCell<Value>(read: () => Value): () => ${REACTIVE}<Value>
|
|
498
|
+
declare function __raw(value: unknown): unknown
|
|
499
|
+
declare function __writePath<Root>(root: Root, path: readonly PropertyKey[], value: unknown): Root
|
|
500
|
+
declare type __RouteParams<Pattern extends string, Kind extends string> = Kind extends 'layout' ? ${ROUTE_PARAMS}<Pattern> & { [name: string]: string | string[] | undefined } : ${ROUTE_PARAMS}<Pattern>
|
|
501
|
+
declare function __accessors<Record, Written extends keyof Record = never, Defaulted extends keyof Record = never>(record: Record, written?: readonly Written[], defaulted?: readonly Defaulted[]): { [Key in keyof Record as Key extends Defaulted ? never : Key]-?: Key extends Written ? () => ${REACTIVE}<Record[Key]> : () => Record[Key] } & { [Key in Defaulted]?: Key extends Written ? () => ${REACTIVE}<Exclude<Record[Key], undefined>> : () => Exclude<Record[Key], undefined> }
|
|
502
|
+
export {}
|
|
503
|
+
`
|
|
504
|
+
|
|
505
|
+
const AWAIT = 'await'
|
|
506
|
+
const EXPORT = 'export'
|
|
507
|
+
|
|
508
|
+
/** The prefix of the `const` a `{#for}`'s subject is held in, numbered per block. */
|
|
509
|
+
const SUBJECT = '__subject'
|
|
510
|
+
const ROWS_OF = '__rowsOf'
|
|
511
|
+
/**
|
|
512
|
+
* Ambient declaration of the helper that types a row's item from its subject.
|
|
513
|
+
*
|
|
514
|
+
* The item is read off the subject as `listOf` iterates it: what a `Reactive` read by
|
|
515
|
+
* name hands back (31.1 lowers `rows` to `rows()`), or the subject itself. THE CALL IS THE FIRST
|
|
516
|
+
* OVERLOAD because a `Reactive` is ALSO an `AsyncIterable` of its productions (2.5), and inferred
|
|
517
|
+
* over one union the item came out as the row OR the whole list. Declared AFTER everything, so no
|
|
518
|
+
* offset above it moves, and ambient, so there is nothing to emit. Where inference fails the item
|
|
519
|
+
* is `unknown`, and a member of that is unprovable — the safe side.
|
|
520
|
+
*/
|
|
521
|
+
const ROWS_OF_DECLARATION = `
|
|
522
|
+
declare function ${ROWS_OF}<T>(subject: () => Iterable<T> | null | undefined): T[]
|
|
523
|
+
declare function ${ROWS_OF}<T>(subject: Iterable<T> | AsyncIterable<T> | null | undefined): T[]
|
|
524
|
+
`
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* Throws where `source` awaits at its top level.
|
|
528
|
+
*
|
|
529
|
+
* 34.3 — A SCRIPT BLOCK MAY NOT AWAIT AT ITS TOP LEVEL. Component setup is a function body on both
|
|
530
|
+
* sides, so nothing in the render is held and every value a page reads is a hole the document is
|
|
531
|
+
* written around (41.4, 32.23). Refused rather than emitted: the module bun then fails to build
|
|
532
|
+
* names neither the page nor the line.
|
|
533
|
+
*
|
|
534
|
+
* DEPTH IS WHAT "TOP LEVEL" MEANS, and it is the whole of what this rule costs. An `await` inside a
|
|
535
|
+
* handler, a `reactive` body or any other function in the block is that function's own and is
|
|
536
|
+
* untouched — which is where 31.3's `await` operand still does its work.
|
|
537
|
+
*/
|
|
538
|
+
function refuseTopLevelAwait(source: string, block: string): void {
|
|
539
|
+
if (!source.includes(AWAIT)) return
|
|
540
|
+
let depth = 0
|
|
541
|
+
for (const token of tokenize(source)) {
|
|
542
|
+
const text = token.text
|
|
543
|
+
if (text === '{' || text === '(' || text === '[') depth += 1
|
|
544
|
+
else if (text === '}' || text === ')' || text === ']') depth -= 1
|
|
545
|
+
else if (depth === 0 && text === AWAIT)
|
|
546
|
+
throw new Error(
|
|
547
|
+
`abide: a ${block} cannot await at its top level — setup is a function body, and nothing holds the render. Await inside a handler or a reactive body, or read the value and let the position fill. RULEBOOK 34.3.`,
|
|
548
|
+
)
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* Throws where a `<script>` exports.
|
|
554
|
+
*
|
|
555
|
+
* 34.18 — AN EXPORT IS THE MODULE'S, and a `<script>` runs once per instance: there is no one
|
|
556
|
+
* instance an importer could be reading from. Refused rather than emitted, as 34.3's `await` is —
|
|
557
|
+
* the block is a function body on both sides, and the bundler's own error names neither the page
|
|
558
|
+
* nor the fix.
|
|
559
|
+
*/
|
|
560
|
+
function refuseInstanceExport(source: string): void {
|
|
561
|
+
if (!source.includes(EXPORT)) return
|
|
562
|
+
let depth = 0
|
|
563
|
+
let previous = ''
|
|
564
|
+
for (const token of tokenize(source)) {
|
|
565
|
+
const text = token.text
|
|
566
|
+
if (text === '{' || text === '(' || text === '[') depth += 1
|
|
567
|
+
else if (text === '}' || text === ')' || text === ']') depth -= 1
|
|
568
|
+
else if (depth === 0 && text === EXPORT && previous !== '.')
|
|
569
|
+
throw new Error(
|
|
570
|
+
"abide: a <script> cannot export — it runs once per instance, and an export is the module's. Move the declaration to <script module>. RULEBOOK 34.18.",
|
|
571
|
+
)
|
|
572
|
+
previous = text
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* 34.13 — each type parameter a component declares, as a type its body cannot see inside.
|
|
578
|
+
*
|
|
579
|
+
* THE BODY IS CHECKED AS A GENERIC FUNCTION'S BODY WOULD BE: for every `T` at once, so a parameter
|
|
580
|
+
* is an OPAQUE type — its constraint, and a brand nothing else carries. The blocks stand at the
|
|
581
|
+
* module's top level rather than in a function a type parameter could be declared on, because
|
|
582
|
+
* an `import` cannot stand inside one.
|
|
583
|
+
*/
|
|
584
|
+
function genericDeclarations(generics: string): string {
|
|
585
|
+
let declarations = ''
|
|
586
|
+
for (const { name, constraint } of typeParametersOf(generics))
|
|
587
|
+
declarations += `declare const __generic_${name}: unique symbol\ntype ${name} = (${constraint}) & { readonly [__generic_${name}]: true }\n`
|
|
588
|
+
return declarations
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
/** The names and constraints a type parameter list spells, `unknown` where one has none. */
|
|
592
|
+
function typeParametersOf(
|
|
593
|
+
generics: string,
|
|
594
|
+
): { name: string; constraint: string }[] {
|
|
595
|
+
const found: { name: string; constraint: string }[] = []
|
|
596
|
+
let depth = 0
|
|
597
|
+
let name: string | undefined
|
|
598
|
+
let constraintFrom = -1
|
|
599
|
+
let constraintTo = -1
|
|
600
|
+
const close = (end: number): void => {
|
|
601
|
+
if (name !== undefined)
|
|
602
|
+
found.push({
|
|
603
|
+
name,
|
|
604
|
+
constraint:
|
|
605
|
+
constraintFrom === -1
|
|
606
|
+
? 'unknown'
|
|
607
|
+
: generics.slice(
|
|
608
|
+
constraintFrom,
|
|
609
|
+
constraintTo === -1 ? end : constraintTo,
|
|
610
|
+
),
|
|
611
|
+
})
|
|
612
|
+
name = undefined
|
|
613
|
+
constraintFrom = -1
|
|
614
|
+
constraintTo = -1
|
|
615
|
+
}
|
|
616
|
+
for (const token of tokenize(generics)) {
|
|
617
|
+
const kind = token.kind
|
|
618
|
+
if (
|
|
619
|
+
kind === SyntaxKind.LessThanToken ||
|
|
620
|
+
kind === SyntaxKind.OpenParenToken ||
|
|
621
|
+
kind === SyntaxKind.OpenBracketToken ||
|
|
622
|
+
kind === SyntaxKind.OpenBraceToken
|
|
623
|
+
)
|
|
624
|
+
depth += 1
|
|
625
|
+
else if (
|
|
626
|
+
kind === SyntaxKind.GreaterThanToken ||
|
|
627
|
+
kind === SyntaxKind.CloseParenToken ||
|
|
628
|
+
kind === SyntaxKind.CloseBracketToken ||
|
|
629
|
+
kind === SyntaxKind.CloseBraceToken
|
|
630
|
+
)
|
|
631
|
+
depth -= 1
|
|
632
|
+
if (depth !== 0) continue
|
|
633
|
+
if (kind === SyntaxKind.CommaToken) close(token.start)
|
|
634
|
+
else if (name === undefined && kind === SyntaxKind.Identifier)
|
|
635
|
+
name = token.text
|
|
636
|
+
else if (kind === SyntaxKind.ExtendsKeyword && constraintFrom === -1)
|
|
637
|
+
constraintFrom = token.end
|
|
638
|
+
else if (kind === SyntaxKind.EqualsToken && constraintTo === -1)
|
|
639
|
+
constraintTo = token.start
|
|
640
|
+
}
|
|
641
|
+
close(generics.length)
|
|
642
|
+
return found
|
|
643
|
+
}
|