@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,613 @@
|
|
|
1
|
+
// 38.15 — THE APP, IN A CHILD PROCESS. Everything an app's own code touches is in here: the modules
|
|
2
|
+
// it compiled to, the client bundle, and the render. The listener is the parent (`serveDev`), so
|
|
3
|
+
// replacing this process is how a reload happens and nothing an app left behind — a module in the
|
|
4
|
+
// registry, a timer, a `share`, a file bun once failed to find — survives one.
|
|
5
|
+
//
|
|
6
|
+
// THE COMPILER IS NOT THE APP, and it stays outside: `serveDev` compiles and sends the modules
|
|
7
|
+
// in, so the compiler is loaded once for every reload — `serveDev` says what that saves.
|
|
8
|
+
//
|
|
9
|
+
// NOTHING IS WRITTEN TO DISK (38.17). The modules arrive as text and are reached through a
|
|
10
|
+
// plugin: `Bun.plugin` for the server modules this worker imports, and a build plugin for the
|
|
11
|
+
// bundle a browser fetches. The paths they are keyed under mirror the output tree `abide build`
|
|
12
|
+
// would have written, so a module's imports resolve the same in either.
|
|
13
|
+
//
|
|
14
|
+
// A REQUEST ARRIVES AS A MESSAGE, and its answer leaves as a head and then a chunk per pull (38.36,
|
|
15
|
+
// 38.37): the listener asks for the next chunk when its connection has taken the last, so a stream
|
|
16
|
+
// is read no faster than the browser reads it. A request BODY is still collected, which is what
|
|
17
|
+
// lets the listener re-ask a request of the replacement (38.25).
|
|
18
|
+
//
|
|
19
|
+
// 18.1, 18.3 — AND SO DOES A SOCKET. The listener holds the browser's web socket, which has to
|
|
20
|
+
// outlive this worker; what crosses is each frame, tagged with the connection it came over, and
|
|
21
|
+
// what goes back is each frame this worker's mux sends. The mux is the one `abide start` runs.
|
|
22
|
+
|
|
23
|
+
import { CLIENT_ADDRESS, DEV_ADDRESS } from '#shared/ADDRESSES.ts'
|
|
24
|
+
import { escapeText } from '#shared/escapeText.ts'
|
|
25
|
+
import {
|
|
26
|
+
appSources,
|
|
27
|
+
type LoadedSources,
|
|
28
|
+
type ServerTable,
|
|
29
|
+
} from './answerRequest.ts'
|
|
30
|
+
import type { Mux, MuxConnection } from './answerSocket.ts'
|
|
31
|
+
import { appPlugins } from './appPlugins.ts'
|
|
32
|
+
import { CLIENT_ENTRY, PUBLIC_DIRECTORY } from './CLIENT_BUILD.ts'
|
|
33
|
+
import {
|
|
34
|
+
clientBuildOptions,
|
|
35
|
+
stylesheetUnderMount,
|
|
36
|
+
} from './clientBuildOptions.ts'
|
|
37
|
+
import { type BootedApp, bootApp, originUnder } from './createApp.ts'
|
|
38
|
+
import { keepServing } from './faultPolicy.ts'
|
|
39
|
+
import { fenceServer } from './fenceServer.ts'
|
|
40
|
+
import { type Manifest, manifestOf, NO_MANIFEST } from './manifestOf.ts'
|
|
41
|
+
import { admitsMux } from './muxUpgrade.ts'
|
|
42
|
+
import { refuseAddressCollision } from './refuseAddressCollision.ts'
|
|
43
|
+
import { shellUnder } from './render.ts'
|
|
44
|
+
import { LISTENING } from './requestScope.ts'
|
|
45
|
+
import { handlersIn, pathsUnder, sourceModuleLoader } from './serveBuild.ts'
|
|
46
|
+
import { VIRTUAL_DIRECTORY } from './VIRTUAL_DIRECTORY.ts'
|
|
47
|
+
|
|
48
|
+
// The reload client, which the worker serves and every document it answers loads.
|
|
49
|
+
const RELOAD_CLIENT_ADDRESS = `${DEV_ADDRESS}/client.js`
|
|
50
|
+
|
|
51
|
+
// The bundle this worker answers `/__abide/client/…` out of, the type each name is served as, and
|
|
52
|
+
// the chunks each route module needs (38.29).
|
|
53
|
+
type Bundle = {
|
|
54
|
+
// A stylesheet is held as its text, rewritten (`stylesheetUnderMount`); the rest as built.
|
|
55
|
+
files: Map<string, { bytes: ArrayBuffer | string; type: string }>
|
|
56
|
+
manifest: Manifest
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* A message from the listener to this worker.
|
|
61
|
+
*
|
|
62
|
+
* 38.15 — WHAT CROSSES BETWEEN THE LISTENER AND THIS WORKER, one union per direction. In: the app
|
|
63
|
+
* compiled (and what stopped it compiling, where something did), a request, a pull or cancel of
|
|
64
|
+
* its body, and each browser web socket's frames for the mux.
|
|
65
|
+
*/
|
|
66
|
+
export type ToWorker =
|
|
67
|
+
| {
|
|
68
|
+
kind: 'start'
|
|
69
|
+
root: string
|
|
70
|
+
modules: Map<string, string>
|
|
71
|
+
failure: string
|
|
72
|
+
}
|
|
73
|
+
| ({ kind: 'request' } & Ask)
|
|
74
|
+
| { kind: 'pull'; id: number }
|
|
75
|
+
| { kind: 'cancel'; id: number }
|
|
76
|
+
| {
|
|
77
|
+
kind: 'socket-open'
|
|
78
|
+
connection: number
|
|
79
|
+
url: string
|
|
80
|
+
headers: [string, string][]
|
|
81
|
+
}
|
|
82
|
+
| { kind: 'socket-message'; connection: number; text: string }
|
|
83
|
+
| { kind: 'socket-close'; connection: number }
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* A message from this worker to the listener.
|
|
87
|
+
*
|
|
88
|
+
* Out: ready, a frame the mux sends a browser, a request's idle timeout raised, and its head, each
|
|
89
|
+
* chunk, and its end.
|
|
90
|
+
*/
|
|
91
|
+
export type FromWorker =
|
|
92
|
+
| { kind: 'ready' }
|
|
93
|
+
| { kind: 'socket-send'; connection: number; text: string }
|
|
94
|
+
| { kind: 'timeout'; id: number; seconds: number }
|
|
95
|
+
| {
|
|
96
|
+
kind: 'head'
|
|
97
|
+
id: number
|
|
98
|
+
status: number
|
|
99
|
+
statusText: string
|
|
100
|
+
headers: [string, string][]
|
|
101
|
+
empty: boolean
|
|
102
|
+
/** 37.3 — whether the listener upgrades this request to the mux (`admitsMux`). */
|
|
103
|
+
admitted: boolean
|
|
104
|
+
/** A body whose length the answer declared, sent with its head rather than pulled. */
|
|
105
|
+
whole: ArrayBuffer | undefined
|
|
106
|
+
}
|
|
107
|
+
| { kind: 'chunk'; id: number; bytes: ArrayBuffer }
|
|
108
|
+
| { kind: 'end'; id: number }
|
|
109
|
+
| { kind: 'fail'; id: number; message: string }
|
|
110
|
+
|
|
111
|
+
/** A request as it crosses to the worker: its id, and what the worker rebuilds it from. */
|
|
112
|
+
export type Ask = {
|
|
113
|
+
id: number
|
|
114
|
+
method: string
|
|
115
|
+
url: string
|
|
116
|
+
headers: [string, string][]
|
|
117
|
+
body: ArrayBuffer | null
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Sends a message to the listener.
|
|
122
|
+
*
|
|
123
|
+
* 38.15 — over bun's IPC: this is its child process (`serveDev` says why a process).
|
|
124
|
+
*/
|
|
125
|
+
function toListener(message: FromWorker): void {
|
|
126
|
+
process.send?.(message)
|
|
127
|
+
}
|
|
128
|
+
// The listener gone — its process killed rather than ended — takes this one with it.
|
|
129
|
+
process.on('disconnect', () => process.exit(0))
|
|
130
|
+
|
|
131
|
+
// THE COMPILE, AS SOMETHING TO WAIT ON. A request that arrives while the worker is still
|
|
132
|
+
// compiling has to wait for the app rather than be told there is none: the listener forwards
|
|
133
|
+
// every request to the CURRENT worker the moment it replaces one, so without this the first
|
|
134
|
+
// request after a save is answered with the failure document for a failure that never happened.
|
|
135
|
+
let opening: Promise<void> | undefined
|
|
136
|
+
|
|
137
|
+
let app: BootedApp | undefined
|
|
138
|
+
// 18.1 — the mux over this worker's handlers, and each connection the listener holds.
|
|
139
|
+
let mux: Mux | undefined
|
|
140
|
+
// What the mux carries, which `admitsMux` reads: an app with no handler has no mux to open.
|
|
141
|
+
let carried: LoadedSources | undefined
|
|
142
|
+
const connections = new Map<number, MuxConnection>()
|
|
143
|
+
// What stopped the app compiling, kept rather than thrown: 38.4 keeps the server up and 38.18
|
|
144
|
+
// keeps it up through a bundle that failed, so the failure is something to SERVE.
|
|
145
|
+
let failure = ''
|
|
146
|
+
|
|
147
|
+
keepServing()
|
|
148
|
+
|
|
149
|
+
process.on('message', (message: ToWorker) => void receive(message))
|
|
150
|
+
|
|
151
|
+
async function receive(message: ToWorker): Promise<void> {
|
|
152
|
+
if (message.kind === 'start') {
|
|
153
|
+
opening = open(message)
|
|
154
|
+
await opening
|
|
155
|
+
toListener({ kind: 'ready' })
|
|
156
|
+
return
|
|
157
|
+
}
|
|
158
|
+
if (message.kind === 'pull') return pull(message.id)
|
|
159
|
+
if (message.kind === 'cancel') {
|
|
160
|
+
const reading = bodies.get(message.id)
|
|
161
|
+
bodies.delete(message.id)
|
|
162
|
+
return reading?.reader.cancel()
|
|
163
|
+
}
|
|
164
|
+
await opening
|
|
165
|
+
if (message.kind === 'request') return answerAsk(message)
|
|
166
|
+
if (message.kind === 'socket-open') {
|
|
167
|
+
const numbered = message.connection
|
|
168
|
+
const connection = mux?.connect(
|
|
169
|
+
new Request(message.url, { headers: message.headers }),
|
|
170
|
+
{
|
|
171
|
+
send(text: string) {
|
|
172
|
+
toListener({
|
|
173
|
+
kind: 'socket-send',
|
|
174
|
+
connection: numbered,
|
|
175
|
+
text,
|
|
176
|
+
})
|
|
177
|
+
},
|
|
178
|
+
// NOTHING TO CLOSE: the listener holds the browser's socket, and it outlives this
|
|
179
|
+
// worker (38.15). Nothing here stops the mux, either.
|
|
180
|
+
close() {},
|
|
181
|
+
},
|
|
182
|
+
)
|
|
183
|
+
if (connection !== undefined) connections.set(numbered, connection)
|
|
184
|
+
return
|
|
185
|
+
}
|
|
186
|
+
const connection = connections.get(message.connection)
|
|
187
|
+
if (connection === undefined) return
|
|
188
|
+
if (message.kind === 'socket-message')
|
|
189
|
+
return connection.message(message.text)
|
|
190
|
+
connections.delete(message.connection)
|
|
191
|
+
connection.close()
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Each answer whose head has gone out, by request id: what its chunks are read from, and whether a
|
|
195
|
+
// failure in the middle can still be shown as markup.
|
|
196
|
+
const bodies = new Map<
|
|
197
|
+
number,
|
|
198
|
+
{ reader: ReadableStreamDefaultReader<Uint8Array>; html: boolean }
|
|
199
|
+
>()
|
|
200
|
+
|
|
201
|
+
// 16.22 — THE LISTENER HOLDS THE CONNECTION, so the idle timeout a call raises is raised there, on
|
|
202
|
+
// the request bun handed it: each request built here is known by the ask it was built from.
|
|
203
|
+
const ASKS = new WeakMap<Request, number>()
|
|
204
|
+
LISTENING.timeout = (received, seconds) => {
|
|
205
|
+
const id = ASKS.get(received)
|
|
206
|
+
if (id !== undefined) toListener({ kind: 'timeout', id, seconds })
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// A status whose response has no body to send, which `Response` refuses to be built with one.
|
|
210
|
+
const BODILESS = new Set([101, 204, 205, 304])
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Answers one request the listener sent, sending back its head and holding its body for pulls.
|
|
214
|
+
*
|
|
215
|
+
* A THROW BEFORE THE HEAD IS AN ANSWER, not a dropped message. The listener is waiting on a head
|
|
216
|
+
* for this id and nothing else will send one, so an escape left the reader's tab hanging until
|
|
217
|
+
* they gave up.
|
|
218
|
+
*/
|
|
219
|
+
async function answerAsk(ask: Ask): Promise<void> {
|
|
220
|
+
const request = new Request(ask.url, {
|
|
221
|
+
method: ask.method,
|
|
222
|
+
headers: ask.headers,
|
|
223
|
+
body: ask.body,
|
|
224
|
+
})
|
|
225
|
+
ASKS.set(request, ask.id)
|
|
226
|
+
let response: Response
|
|
227
|
+
try {
|
|
228
|
+
response =
|
|
229
|
+
app === undefined
|
|
230
|
+
? failedDocument(failure)
|
|
231
|
+
: await app.fetch(request)
|
|
232
|
+
} catch (thrown) {
|
|
233
|
+
response = failedDocument(describe(thrown))
|
|
234
|
+
}
|
|
235
|
+
const body = BODILESS.has(response.status) ? null : response.body
|
|
236
|
+
// A DECLARED LENGTH IS A BODY ALREADY WHOLE, and it crosses with its head: re-streamed through the
|
|
237
|
+
// listener, bun meets a first read that has to wait on this worker and answers it chunked,
|
|
238
|
+
// dropping the length the app declared.
|
|
239
|
+
const whole =
|
|
240
|
+
body !== null && response.headers.has('content-length')
|
|
241
|
+
? await response.arrayBuffer()
|
|
242
|
+
: undefined
|
|
243
|
+
toListener({
|
|
244
|
+
kind: 'head',
|
|
245
|
+
id: ask.id,
|
|
246
|
+
status: response.status,
|
|
247
|
+
statusText: response.statusText,
|
|
248
|
+
headers: [...response.headers.entries()],
|
|
249
|
+
empty: body === null,
|
|
250
|
+
admitted:
|
|
251
|
+
carried !== undefined && admitsMux(request, response, carried),
|
|
252
|
+
whole,
|
|
253
|
+
})
|
|
254
|
+
if (body === null || whole !== undefined) return
|
|
255
|
+
bodies.set(ask.id, {
|
|
256
|
+
reader: body.getReader(),
|
|
257
|
+
html: (response.headers.get('content-type') ?? '').startsWith(
|
|
258
|
+
'text/html',
|
|
259
|
+
),
|
|
260
|
+
})
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Sends the listener the next chunk of an answer's body, or its end.
|
|
265
|
+
*
|
|
266
|
+
* ONE CHUNK PER ASK. A throw in the middle ends the stream in an error, as `abide start` does —
|
|
267
|
+
* and where the answer is html a handler streams, what broke goes out as markup first, a reader
|
|
268
|
+
* shown a blank tab otherwise being told nothing. A page is never here: it is built whole (41.1).
|
|
269
|
+
*/
|
|
270
|
+
async function pull(id: number): Promise<void> {
|
|
271
|
+
const reading = bodies.get(id)
|
|
272
|
+
if (reading === undefined) return
|
|
273
|
+
try {
|
|
274
|
+
const { done, value } = await reading.reader.read()
|
|
275
|
+
if (done) {
|
|
276
|
+
bodies.delete(id)
|
|
277
|
+
toListener({ kind: 'end', id })
|
|
278
|
+
return
|
|
279
|
+
}
|
|
280
|
+
// THE VIEW'S OWN BYTES. A chunk may be a view on a buffer its producer still owns — a
|
|
281
|
+
// compressor's `Buffer` is a slice of a shared pool, and `Buffer#slice` copies nothing — so
|
|
282
|
+
// sending `value.buffer` sent the whole pool.
|
|
283
|
+
const bytes = new Uint8Array(value).buffer as ArrayBuffer
|
|
284
|
+
toListener({ kind: 'chunk', id, bytes })
|
|
285
|
+
} catch (thrown) {
|
|
286
|
+
bodies.delete(id)
|
|
287
|
+
const why = describe(thrown)
|
|
288
|
+
if (reading.html) {
|
|
289
|
+
const shown = new TextEncoder().encode(failureMarkup(why))
|
|
290
|
+
.buffer as ArrayBuffer
|
|
291
|
+
toListener({ kind: 'chunk', id, bytes: shown })
|
|
292
|
+
}
|
|
293
|
+
toListener({ kind: 'fail', id, message: why })
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
function describe(thrown: unknown): string {
|
|
298
|
+
return thrown instanceof Error
|
|
299
|
+
? (thrown.stack ?? thrown.message)
|
|
300
|
+
: String(thrown)
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Boots the app over the modules the listener sent, or records why it could not.
|
|
305
|
+
*
|
|
306
|
+
* A throw anywhere in here leaves `app` undefined and the message in `failure`, which is what 38.4
|
|
307
|
+
* asks for: the command keeps answering, and what it answers says what is wrong.
|
|
308
|
+
*/
|
|
309
|
+
async function open(
|
|
310
|
+
start: Extract<ToWorker, { kind: 'start' }>,
|
|
311
|
+
): Promise<void> {
|
|
312
|
+
app = undefined
|
|
313
|
+
mux = undefined
|
|
314
|
+
carried = undefined
|
|
315
|
+
failure = start.failure
|
|
316
|
+
if (failure !== '') return
|
|
317
|
+
const root = start.root
|
|
318
|
+
try {
|
|
319
|
+
const base = `${root}/${VIRTUAL_DIRECTORY}`
|
|
320
|
+
const modules = new Map<string, string>()
|
|
321
|
+
for (const [name, text] of start.modules)
|
|
322
|
+
modules.set(`${base}/${name}`, text)
|
|
323
|
+
// A page among what compiled — an app of handlers alone has the tables and no client to
|
|
324
|
+
// bundle.
|
|
325
|
+
const paged = modules.has(`${base}/${CLIENT_ENTRY}.ts`)
|
|
326
|
+
|
|
327
|
+
// ONE PLUGIN, TWO CALLERS: the runtime resolves this worker's `import()` through it and
|
|
328
|
+
// the bundler resolves the browser's graph through it, so the two lanes cannot disagree
|
|
329
|
+
// about what a specifier means. Registering it is process-wide — which is a worker rather
|
|
330
|
+
// than the command, so a reload is a new registry rather than a cache to bust.
|
|
331
|
+
const plugin = virtualModules(modules)
|
|
332
|
+
Bun.plugin(plugin)
|
|
333
|
+
|
|
334
|
+
// ASKED FOR TOGETHER. The bundle, the shell, the public directory and the server's own
|
|
335
|
+
// tables depend on none of each other — the plugin is registered above, before any of
|
|
336
|
+
// them asks it anything — and on a reload every one of them is latency the author waits on,
|
|
337
|
+
// so the bundle is handed over still building (`SourceParts.client`).
|
|
338
|
+
//
|
|
339
|
+
// ONE LISTING of the public directory, for the bundle's externals and for what is served.
|
|
340
|
+
// 38.20 — OUT OF THE SOURCE TREE. `abide build` copies these into its output and dev has no
|
|
341
|
+
// output, so the address answers where the author's file actually is.
|
|
342
|
+
const published = pathsUnder(`${root}/ui/${PUBLIC_DIRECTORY}`)
|
|
343
|
+
const publicAddresses = Array.from(
|
|
344
|
+
published.keys(),
|
|
345
|
+
(name) => `/${name}`,
|
|
346
|
+
)
|
|
347
|
+
// 38.44 — the app's own plugins, imported beside the reads below rather than ahead of them.
|
|
348
|
+
const bundling = appPlugins(root).then((own) =>
|
|
349
|
+
bundleInMemory(
|
|
350
|
+
root,
|
|
351
|
+
base,
|
|
352
|
+
// 16.28, 16.29 — the browser's view of `server/`, as `abide build` gives it.
|
|
353
|
+
[plugin, fenceServer(root, start.modules), ...own],
|
|
354
|
+
paged,
|
|
355
|
+
publicAddresses,
|
|
356
|
+
),
|
|
357
|
+
)
|
|
358
|
+
const [shell, table, handlers] = await Promise.all([
|
|
359
|
+
shellUnder(root),
|
|
360
|
+
import(
|
|
361
|
+
Bun.pathToFileURL(`${base}/server.ts`).href
|
|
362
|
+
) as Promise<ServerTable>,
|
|
363
|
+
handlersIn(base),
|
|
364
|
+
])
|
|
365
|
+
// 38.18 — THE RELOAD CLIENT IS THIS WORKER'S, not the bundle's, and it goes in whether or
|
|
366
|
+
// not there is an entry beside it: a bundle that failed is exactly when a reader needs the
|
|
367
|
+
// next save to reach them. `clientTags` writes nothing for a manifest with no entry.
|
|
368
|
+
const sources = await appSources({
|
|
369
|
+
table,
|
|
370
|
+
shell,
|
|
371
|
+
handlers,
|
|
372
|
+
handlerModule: sourceModuleLoader(root, base),
|
|
373
|
+
published,
|
|
374
|
+
client: bundling.then((bundle) => ({
|
|
375
|
+
manifest: bundle.manifest,
|
|
376
|
+
head: `<script type="module" src="${RELOAD_CLIENT_ADDRESS}"></script>`,
|
|
377
|
+
framework: (pathname) => served(bundle, pathname),
|
|
378
|
+
})),
|
|
379
|
+
explained: (thrown) => failedDocument(describe(thrown)),
|
|
380
|
+
})
|
|
381
|
+
|
|
382
|
+
// 36.13, IN THIS LANE TOO. A throw here lands in `failure`, which is what 38.4 asks
|
|
383
|
+
// for: the command keeps answering and what it answers names both halves. Without it
|
|
384
|
+
// `answerRequest` below would silently prefer the file — its public-before-routes
|
|
385
|
+
// order rests on this collision being impossible.
|
|
386
|
+
refuseAddressCollision(table.routes, publicAddresses, 'abide dev')
|
|
387
|
+
|
|
388
|
+
carried = sources
|
|
389
|
+
// THE SAME `App` `abide start` boots, so an app's hooks and middleware run in dev too.
|
|
390
|
+
app = await bootApp(originUnder(root), async () => sources)
|
|
391
|
+
// 18.1 — the mux `App.listen` would open, over the app's own record: a frame's `rpc.raw` and
|
|
392
|
+
// MCP surface are this app's.
|
|
393
|
+
mux = app.openMux()
|
|
394
|
+
} catch (thrown) {
|
|
395
|
+
failure = thrown instanceof Error ? thrown.message : String(thrown)
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
function served(bundle: Bundle, pathname: string): Response | undefined {
|
|
400
|
+
if (pathname === RELOAD_CLIENT_ADDRESS)
|
|
401
|
+
return new Response(RELOAD_CLIENT, {
|
|
402
|
+
headers: {
|
|
403
|
+
'content-type': 'text/javascript; charset=utf-8',
|
|
404
|
+
'cache-control': 'no-store',
|
|
405
|
+
},
|
|
406
|
+
})
|
|
407
|
+
if (!pathname.startsWith(`${CLIENT_ADDRESS}/`)) return undefined
|
|
408
|
+
const found = bundle.files.get(pathname.slice(CLIENT_ADDRESS.length + 1))
|
|
409
|
+
if (found === undefined) return undefined
|
|
410
|
+
// NO CACHING AT ALL, which is where dev parts company with 21.5: the names are stable across
|
|
411
|
+
// rebuilds, so a browser told to keep `entry.js` for a year keeps the app it had at boot.
|
|
412
|
+
return new Response(found.bytes, {
|
|
413
|
+
headers: { 'content-type': found.type, 'cache-control': 'no-store' },
|
|
414
|
+
})
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* The client bundle, built into memory.
|
|
419
|
+
*
|
|
420
|
+
* 38.17 — Unminified, and the entry named by its source rather than content-hashed, so what a
|
|
421
|
+
* browser loads and what a stack trace names are the module the author wrote. 38.5's hashes and
|
|
422
|
+
* manifest are the BUILD's, and the difference is deliberate: a dev chunk that changed has to be
|
|
423
|
+
* fetched again, and a name that changes with it is a cache the reload cannot clear.
|
|
424
|
+
*
|
|
425
|
+
* A FAILURE IS AN EMPTY BUNDLE AND NOT A THROW (38.18). The pages still render, the document
|
|
426
|
+
* still loads the reload client, and the next save is what fixes it.
|
|
427
|
+
*/
|
|
428
|
+
async function bundleInMemory(
|
|
429
|
+
root: string,
|
|
430
|
+
base: string,
|
|
431
|
+
plugins: Bun.BunPlugin[],
|
|
432
|
+
paged: boolean,
|
|
433
|
+
publicAddresses: string[],
|
|
434
|
+
): Promise<Bundle> {
|
|
435
|
+
const bundle: Bundle = { files: new Map(), manifest: NO_MANIFEST }
|
|
436
|
+
if (!paged) return bundle
|
|
437
|
+
const built = await Bun.build({
|
|
438
|
+
// 36.15's addresses off the source tree this lane answers them out of (38.20).
|
|
439
|
+
...clientBuildOptions(base, plugins, publicAddresses),
|
|
440
|
+
// The app's own root, because `Bun.build` opens this directory and a virtual one is not
|
|
441
|
+
// there to open. What it decides is where the output names are rooted, and the naming
|
|
442
|
+
// below makes them flat anyway.
|
|
443
|
+
root,
|
|
444
|
+
naming: {
|
|
445
|
+
entry: '[name].[ext]',
|
|
446
|
+
chunk: '[name]-[hash].[ext]',
|
|
447
|
+
asset: '[name]-[hash].[ext]',
|
|
448
|
+
},
|
|
449
|
+
throw: false,
|
|
450
|
+
})
|
|
451
|
+
// THE TERMINAL RATHER THAN THE DOCUMENT. 38.18 keeps the server up, and a page that still
|
|
452
|
+
// paints is what it keeps up — so the pages stay served, unhydrated, and the author reads the
|
|
453
|
+
// build error where they started the command.
|
|
454
|
+
if (!built.success) {
|
|
455
|
+
console.error(
|
|
456
|
+
`abide dev: the client bundle failed\n${built.logs.map((log) => String(log)).join('\n')}`,
|
|
457
|
+
)
|
|
458
|
+
return bundle
|
|
459
|
+
}
|
|
460
|
+
// The chunks are independent, so they are read at once rather than one after another.
|
|
461
|
+
const read = await Promise.all(
|
|
462
|
+
built.outputs.map((output) => output.arrayBuffer()),
|
|
463
|
+
)
|
|
464
|
+
for (let index = 0; index < built.outputs.length; index += 1) {
|
|
465
|
+
const output = built.outputs[index] as Bun.BuildArtifact
|
|
466
|
+
const name = output.path.slice(output.path.lastIndexOf('/') + 1)
|
|
467
|
+
const bytes = read[index] as ArrayBuffer
|
|
468
|
+
bundle.files.set(name, {
|
|
469
|
+
bytes: name.endsWith('.css')
|
|
470
|
+
? stylesheetUnderMount(new TextDecoder().decode(bytes))
|
|
471
|
+
: bytes,
|
|
472
|
+
type: output.type,
|
|
473
|
+
})
|
|
474
|
+
}
|
|
475
|
+
// `base` AS GIVEN, with no real path taken: every route module is one the plugin served, and
|
|
476
|
+
// the metafile names those under the plugin's namespace exactly as the plugin spelled them.
|
|
477
|
+
bundle.manifest = manifestOf(built.metafile as Bun.BuildMetafile, base)
|
|
478
|
+
return bundle
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/**
|
|
482
|
+
* The plugin serving the compiled modules out of `modules`, for the runtime and the bundler alike.
|
|
483
|
+
*
|
|
484
|
+
* A module in the map wins; everything else is resolved from where that module PRETENDS to be,
|
|
485
|
+
* which is inside the app's package — so `abide`, `#ui/…` and a stylesheet all answer exactly as
|
|
486
|
+
* they do for a build on disk.
|
|
487
|
+
*/
|
|
488
|
+
function virtualModules(modules: Map<string, string>): Bun.BunPlugin {
|
|
489
|
+
return {
|
|
490
|
+
name: 'abide-dev',
|
|
491
|
+
setup(build) {
|
|
492
|
+
build.onResolve({ filter: /.*/ }, (args) => {
|
|
493
|
+
if (modules.has(args.path))
|
|
494
|
+
return { path: args.path, namespace: 'abide-dev' }
|
|
495
|
+
// The importer carries its namespace in front of the path when it is one of
|
|
496
|
+
// ours — and the runtime puts a `/` in front of that again, where the bundler
|
|
497
|
+
// does not. Both spellings are stripped here because a `file://` URL refuses to
|
|
498
|
+
// take either as a base, and the one that was missed cost the whole route table:
|
|
499
|
+
// every dynamic import in it read as a module nobody could find.
|
|
500
|
+
const importer = args.importer.replace(/^\/?abide-dev:/, '')
|
|
501
|
+
if (!modules.has(importer)) return undefined
|
|
502
|
+
const from = importer.slice(0, importer.lastIndexOf('/'))
|
|
503
|
+
if (args.path.startsWith('.')) {
|
|
504
|
+
const beside = Bun.fileURLToPath(
|
|
505
|
+
new URL(args.path, Bun.pathToFileURL(`${from}/`)),
|
|
506
|
+
)
|
|
507
|
+
if (modules.has(beside))
|
|
508
|
+
return { path: beside, namespace: 'abide-dev' }
|
|
509
|
+
}
|
|
510
|
+
// OUT OF THE MAP AND INTO THE PACKAGE. Resolved from the virtual directory rather
|
|
511
|
+
// than left to the default, which has an `abide-dev:` prefix to walk up from and
|
|
512
|
+
// finds nothing.
|
|
513
|
+
try {
|
|
514
|
+
return {
|
|
515
|
+
path: Bun.resolveSync(args.path, from),
|
|
516
|
+
namespace: 'file',
|
|
517
|
+
}
|
|
518
|
+
} catch {
|
|
519
|
+
return undefined
|
|
520
|
+
}
|
|
521
|
+
})
|
|
522
|
+
// ONLY THE RUNTIME'S LOADS ARE REWRITTEN: the bundler asks `onResolve` above for a `#`
|
|
523
|
+
// specifier itself, and a reload's loads are nearly all the bundler's — 181 of 183 on
|
|
524
|
+
// the docs app, where the rewrite's parse was ~25 ms of each reload.
|
|
525
|
+
const bundling = 'config' in build
|
|
526
|
+
build.onLoad({ filter: /.*/, namespace: 'abide-dev' }, (args) => ({
|
|
527
|
+
contents: bundling
|
|
528
|
+
? (modules.get(args.path) ?? '')
|
|
529
|
+
: withSeamsResolved(
|
|
530
|
+
modules.get(args.path) ?? '',
|
|
531
|
+
args.path,
|
|
532
|
+
),
|
|
533
|
+
// 34.4 — a component's scoped styles are a stylesheet the bundle collects.
|
|
534
|
+
loader: args.path.endsWith('.css') ? 'css' : 'ts',
|
|
535
|
+
}))
|
|
536
|
+
},
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
// A `#` SPECIFIER IN A MODULE FROM THE MAP, resolved before the module is handed over. The runtime
|
|
541
|
+
// takes a `#` specifier to the package's `imports` itself rather than through this plugin, and from
|
|
542
|
+
// a module in the map it takes the target as an exact file — so the extensionless
|
|
543
|
+
// `#server/rpc/contacts` a component writes found nothing, where the bundler, which does ask the
|
|
544
|
+
// plugin, probed its way to the `.ts` through the same `Bun.resolveSync` — so the rewrite is the
|
|
545
|
+
// runtime's alone, and both lanes land on the same path.
|
|
546
|
+
const TRANSPILER = new Bun.Transpiler({ loader: 'ts' })
|
|
547
|
+
|
|
548
|
+
function withSeamsResolved(source: string, path: string): string {
|
|
549
|
+
if (!path.endsWith('.ts')) return source
|
|
550
|
+
const from = path.slice(0, path.lastIndexOf('/'))
|
|
551
|
+
let resolved = source
|
|
552
|
+
for (const { path: specifier } of TRANSPILER.scanImports(source)) {
|
|
553
|
+
if (!specifier.startsWith('#')) continue
|
|
554
|
+
let target: string
|
|
555
|
+
try {
|
|
556
|
+
target = Bun.resolveSync(specifier, from)
|
|
557
|
+
} catch {
|
|
558
|
+
continue
|
|
559
|
+
}
|
|
560
|
+
resolved = resolved
|
|
561
|
+
.replaceAll(`'${specifier}'`, `'${target}'`)
|
|
562
|
+
.replaceAll(`"${specifier}"`, `"${target}"`)
|
|
563
|
+
}
|
|
564
|
+
return resolved
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* What a reader gets while the project does not compile: the message, and the reload client.
|
|
569
|
+
*
|
|
570
|
+
* The reload client brings them the fix. A document rather than a bare 500 body — the browser is
|
|
571
|
+
* where the author is looking, and an error only the terminal carries is one they read on the next
|
|
572
|
+
* save.
|
|
573
|
+
*/
|
|
574
|
+
function failedDocument(why: string): Response {
|
|
575
|
+
return new Response(
|
|
576
|
+
`<!doctype html><html><head><meta charset="utf-8"><title>abide dev</title>
|
|
577
|
+
<script type="module" src="${RELOAD_CLIENT_ADDRESS}"></script></head>
|
|
578
|
+
<body>${failureMarkup(why)}</body></html>`,
|
|
579
|
+
{
|
|
580
|
+
status: 500,
|
|
581
|
+
// 21.1, 21.3 — this answers where no app stands to stamp it.
|
|
582
|
+
headers: {
|
|
583
|
+
'content-type': 'text/html; charset=utf-8',
|
|
584
|
+
'cache-control': 'private, no-store',
|
|
585
|
+
'x-content-type-options': 'nosniff',
|
|
586
|
+
},
|
|
587
|
+
},
|
|
588
|
+
)
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
function failureMarkup(why: string): string {
|
|
592
|
+
return `<main><h1>abide dev</h1><pre>${escapeText(why)}</pre></main>`
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
// 38.16's other end. The listener force-closes every live socket when it replaces this worker, so
|
|
596
|
+
// a CLOSE is the rebuild and the reconnect that follows is the new app — there is no message to
|
|
597
|
+
// send and nothing to version. A reader who never opened the socket is told nothing, which is the
|
|
598
|
+
// same as before the save.
|
|
599
|
+
const RELOAD_CLIENT = `// Written by \`abide dev\`.
|
|
600
|
+
const address = location.origin.replace(/^http/, 'ws') + '${DEV_ADDRESS}'
|
|
601
|
+
let rebuilt = false
|
|
602
|
+
|
|
603
|
+
function connect() {
|
|
604
|
+
const socket = new WebSocket(address)
|
|
605
|
+
socket.onopen = () => { if (rebuilt) location.reload() }
|
|
606
|
+
// THE RETRY IS WHAT WAITS FOR THE NEW WORKER. The listener answers this address 503 until the
|
|
607
|
+
// replacement has compiled, so a reload fired on the close alone would race the app it is
|
|
608
|
+
// meant to show.
|
|
609
|
+
socket.onclose = () => { rebuilt = true; setTimeout(connect, 120) }
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
connect()
|
|
613
|
+
`
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// 37.8 TO 37.12 — WHAT A SERVING PROCESS DOES WITH A FAULT NOBODY AWAITED, and with a signal: one policy
|
|
2
|
+
// per command that serves. `createApp` installs neither, so a test or a script keeps bun's default of
|
|
3
|
+
// failing loudly.
|
|
4
|
+
|
|
5
|
+
import type { App } from './createApp.ts'
|
|
6
|
+
import { reportUnexpected } from './hooks.ts'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Reports a fault nobody awaited instead of letting it end the `abide dev` process.
|
|
10
|
+
*
|
|
11
|
+
* 37.9 — `abide dev` OUTLIVES WHAT NOBODY AWAITED. A promise rejected with nothing attached, or a
|
|
12
|
+
* throw out of a timer, belongs to no request, and bun's default for either is to end the process —
|
|
13
|
+
* the author's session with it.
|
|
14
|
+
*/
|
|
15
|
+
export function keepServing(): void {
|
|
16
|
+
process.on('unhandledRejection', reportUnexpected)
|
|
17
|
+
process.on('uncaughtException', reportUnexpected)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Stops the app through `App.stop` and exits on `SIGTERM`, `SIGINT` or a fault nobody awaited.
|
|
22
|
+
*
|
|
23
|
+
* 37.10, 37.11 — A SERVED APP ENDS THROUGH `App.stop`, however the process is told to go, so
|
|
24
|
+
* `onStop` runs on a deploy's `SIGTERM` as it does on the shell's `exit`. A container's app is its
|
|
25
|
+
* first process, and the kernel gives that one no default for `SIGTERM` — with no handler,
|
|
26
|
+
* `docker stop` waits out its grace period and kills it, drain and `onStop` both skipped.
|
|
27
|
+
*
|
|
28
|
+
* A FAULT NOBODY AWAITED stops it too, after `onError` has it: the app's state is no longer one
|
|
29
|
+
* anything vouched for, and a supervisor restarting a clean process is the recovery. The exit code
|
|
30
|
+
* is what tells the supervisor which of the two it was.
|
|
31
|
+
*
|
|
32
|
+
* 37.12 — A SECOND SIGNAL WHILE STOPPING ENDS THE PROCESS AT ONCE, so a drain that never finishes
|
|
33
|
+
* is still one keystroke from over.
|
|
34
|
+
*/
|
|
35
|
+
export function stopOnSignalOrFault(app: App): void {
|
|
36
|
+
let stopping = false
|
|
37
|
+
const stopThenExit = (code: number): void => {
|
|
38
|
+
stopping = true
|
|
39
|
+
app.stop().then(
|
|
40
|
+
() => process.exit(code),
|
|
41
|
+
(thrown) => {
|
|
42
|
+
// 37.6 — a hook `onStop` wraps that throws fails hard.
|
|
43
|
+
reportUnexpected(thrown)
|
|
44
|
+
process.exit(1)
|
|
45
|
+
},
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
for (const signal of ['SIGTERM', 'SIGINT'] as const)
|
|
49
|
+
process.on(signal, () => {
|
|
50
|
+
if (stopping) process.exit(1)
|
|
51
|
+
stopThenExit(0)
|
|
52
|
+
})
|
|
53
|
+
const fault = (error: unknown): void => {
|
|
54
|
+
reportUnexpected(error)
|
|
55
|
+
if (!stopping) stopThenExit(1)
|
|
56
|
+
}
|
|
57
|
+
process.on('unhandledRejection', fault)
|
|
58
|
+
process.on('uncaughtException', fault)
|
|
59
|
+
}
|