@abide/abide 0.58.0 → 0.101.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -1774
- package/bin/abide.ts +793 -204
- package/package.json +35 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +112 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +550 -0
- package/src/server/answerSocket.ts +585 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +100 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +641 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +505 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +13 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +217 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +424 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4501 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +552 -0
- package/src/shared/reactive/watch.ts +314 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +501 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// A ROUTE LITERAL, PARSED. One grammar for two things that would otherwise drift: the directory a
|
|
2
|
+
// page is filed under (`ui/pages/invoices/[id]/page.abide`) and the literal an author writes
|
|
3
|
+
// (`'/invoices/[id]'`). The bracket spelling is the file system's, so the address is read off the
|
|
4
|
+
// tree rather than declared beside it and the two cannot disagree.
|
|
5
|
+
//
|
|
6
|
+
// 30.3, 30.4, 30.5 — the three segment kinds are the three the registry's `ParamsOf<P>` names:
|
|
7
|
+
// required takes a value, optional may be left out and omits its segment with it, and rest takes
|
|
8
|
+
// an array as well as a scalar.
|
|
9
|
+
//
|
|
10
|
+
// A LEAF: no imports, because the compiler, the client router and a server router all read it and
|
|
11
|
+
// a constant crossing a seam lives where nothing pulls a graph in behind it.
|
|
12
|
+
|
|
13
|
+
type SegmentKind = 'static' | 'required' | 'optional' | 'rest'
|
|
14
|
+
|
|
15
|
+
/** One `/`-separated piece of a route literal, classified by kind. */
|
|
16
|
+
export type Segment = {
|
|
17
|
+
kind: SegmentKind
|
|
18
|
+
/** The literal text for a static segment, the param name for the other three. */
|
|
19
|
+
name: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A route literal split into its segments, each classified by kind.
|
|
24
|
+
*
|
|
25
|
+
* `[...rest]`, `[[optional]]`, `[required]`, or a literal. Ordered longest-first: `[[a]]` is a
|
|
26
|
+
* `[a]` with another bracket round it, so testing the short form first matches both.
|
|
27
|
+
*/
|
|
28
|
+
export function parseRoutePattern(pattern: string): Segment[] {
|
|
29
|
+
const out: Segment[] = []
|
|
30
|
+
for (const raw of pattern.split('/')) {
|
|
31
|
+
if (raw === '') continue
|
|
32
|
+
if (raw.startsWith('[[') && raw.endsWith(']]'))
|
|
33
|
+
out.push({ kind: 'optional', name: raw.slice(2, -2) })
|
|
34
|
+
else if (raw.startsWith('[...') && raw.endsWith(']'))
|
|
35
|
+
out.push({ kind: 'rest', name: raw.slice(4, -1) })
|
|
36
|
+
else if (raw.startsWith('[') && raw.endsWith(']'))
|
|
37
|
+
out.push({ kind: 'required', name: raw.slice(1, -1) })
|
|
38
|
+
else out.push({ kind: 'static', name: raw })
|
|
39
|
+
}
|
|
40
|
+
return out
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const ROUTES = 'ui/pages/'
|
|
44
|
+
|
|
45
|
+
/** Whether a source is a page, a layout, an error page or a component. */
|
|
46
|
+
export type FileKind = 'page' | 'layout' | 'error' | 'component'
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Whether the `.abide` at `path` is a page, a layout, an error page or a component.
|
|
50
|
+
*
|
|
51
|
+
* AN ADDRESS RATHER THAN A NAME. Both halves are load-bearing: the file name is the address and
|
|
52
|
+
* the directory is what says the address is a ROUTE rather than a component filed anywhere. One
|
|
53
|
+
* test for every name (35.1 reads `layout.abide` the same way), so the directory half cannot be
|
|
54
|
+
* got right for one and wrong for another — and one test for every reader: the build's routes,
|
|
55
|
+
* the checker's `Routes` and the `route.params` a page is typed by.
|
|
56
|
+
*
|
|
57
|
+
* 23.3 — under `ui/pages/` and nowhere else: a `page.abide` filed in some other `pages/`
|
|
58
|
+
* directory is a component, as it is to the `Routes` the checker declares. `path` may be relative
|
|
59
|
+
* to the app or the project, or absolute.
|
|
60
|
+
*/
|
|
61
|
+
export function fileKind(path: string): FileKind {
|
|
62
|
+
if (routesAt(path) === -1) return 'component'
|
|
63
|
+
// The WHOLE basename: `homepage.abide` ends with `page.abide` and is a component.
|
|
64
|
+
const name = path.slice(path.lastIndexOf('/') + 1)
|
|
65
|
+
if (name === 'page.abide') return 'page'
|
|
66
|
+
if (name === 'layout.abide') return 'layout'
|
|
67
|
+
return name === 'error.abide' ? 'error' : 'component'
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The route literal a page file is filed under, read off its path below `ui/pages/`.
|
|
72
|
+
*
|
|
73
|
+
* `page.abide` is an address rather than a name (CLAUDE.md), so the directories above it ARE the
|
|
74
|
+
* route and the file itself contributes nothing.
|
|
75
|
+
*
|
|
76
|
+
* 23.3 — BELOW THE FIRST `ui/pages/`, which is the routes directory, and not below the last `pages/`:
|
|
77
|
+
* a section an app files as `ui/pages/pages/` is the address `/pages`, and cutting at the last one
|
|
78
|
+
* served `ui/pages/pages/add-a-page` at `/add-a-page` and gave `/` two pages.
|
|
79
|
+
*/
|
|
80
|
+
export function routeOf(pagePath: string): string {
|
|
81
|
+
const at = routesAt(pagePath)
|
|
82
|
+
const tail = at === -1 ? pagePath : pagePath.slice(at + ROUTES.length)
|
|
83
|
+
const parts: string[] = []
|
|
84
|
+
for (const part of tail.split('/'))
|
|
85
|
+
if (part !== '' && !part.endsWith('.abide')) parts.push(part)
|
|
86
|
+
return `/${parts.join('/')}`
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Where the first `ui/pages/` in `path` begins, as whole directories, or -1. */
|
|
90
|
+
function routesAt(path: string): number {
|
|
91
|
+
if (path.startsWith(ROUTES)) return 0
|
|
92
|
+
const at = path.indexOf(`/${ROUTES}`)
|
|
93
|
+
return at === -1 ? -1 : at + 1
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* A `sort` comparator over two parsed patterns: negative where `a` is the more specific.
|
|
98
|
+
*
|
|
99
|
+
* 30.9 — HOW SPECIFIC A PATTERN IS, so `/invoices/new` is tried before `/invoices/[id]` however the
|
|
100
|
+
* build happened to walk the tree. Negative where `a` is the more specific, which is `sort`'s own
|
|
101
|
+
* order and so the one this is read in.
|
|
102
|
+
*
|
|
103
|
+
* SEGMENT BY SEGMENT, LEFT TO RIGHT, rather than by a score summed over the whole pattern. A sum
|
|
104
|
+
* cannot carry an ORDERING over kinds: the first thing it loses is position, so `/[id]/edit` and
|
|
105
|
+
* `/new/[tab]` come out equal and `/new/edit` resolves by whichever the build walked first — the
|
|
106
|
+
* thing this function exists to stop. Weighting length on top of that then loses the kinds
|
|
107
|
+
* themselves, and `/x` ranked BELOW `/[[a]]/[[b]]` for the path `/x`: a static segment beaten by
|
|
108
|
+
* two optionals, which is 30.9 exactly inverted. Both were live on the scalar this replaced.
|
|
109
|
+
*
|
|
110
|
+
* THE SHORTER PATTERN WINS A TIE, and only an exhausted prefix can produce one: every segment the
|
|
111
|
+
* two share is the same kind, so what is left is the extra segments of the longer, which can only
|
|
112
|
+
* be optional or rest or the two would not match one path. `/a` admits one address and
|
|
113
|
+
* `/a/[[b]]` admits two, so the shorter is the narrower claim.
|
|
114
|
+
*/
|
|
115
|
+
export function compareRoutes(a: Segment[], b: Segment[]): number {
|
|
116
|
+
const shared = a.length < b.length ? a.length : b.length
|
|
117
|
+
for (let at = 0; at < shared; at += 1) {
|
|
118
|
+
const kind =
|
|
119
|
+
specificity(b[at] as Segment) - specificity(a[at] as Segment)
|
|
120
|
+
if (kind !== 0) return kind
|
|
121
|
+
}
|
|
122
|
+
return a.length - b.length
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function specificity(segment: Segment): number {
|
|
126
|
+
if (segment.kind === 'static') return 3
|
|
127
|
+
if (segment.kind === 'required') return 2
|
|
128
|
+
return segment.kind === 'optional' ? 1 : 0
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* A route table compiled for matching: each row with its pattern parsed, most specific first.
|
|
133
|
+
*
|
|
134
|
+
* 30.9 — MOST SPECIFIC FIRST, for whichever seam is asking. The ranking POLICY is what decides
|
|
135
|
+
* which page an address resolves to, so it is here with `compareRoutes` rather than written out
|
|
136
|
+
* beside each table: the server's boot and the client router's start compile through one call.
|
|
137
|
+
*/
|
|
138
|
+
export function rankRoutes<T extends { pattern: string }>(
|
|
139
|
+
rows: T[],
|
|
140
|
+
): (T & { segments: Segment[] })[] {
|
|
141
|
+
const ranked: (T & { segments: Segment[] })[] = []
|
|
142
|
+
for (const row of rows)
|
|
143
|
+
ranked.push({ ...row, segments: parseRoutePattern(row.pattern) })
|
|
144
|
+
ranked.sort((a, b) => compareRoutes(a.segments, b.segments))
|
|
145
|
+
return ranked
|
|
146
|
+
}
|
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
// `GET` and the four mutations: a handler given an address (16.2). The IN-PROCESS arm is what a
|
|
2
|
+
// server-side caller, a page rendering on the server and a test all reach; the WIRE arm is what a
|
|
3
|
+
// browser gets in its place (16.28, `#ui/wire.ts`) — and it is `declare` over a body that fetches,
|
|
4
|
+
// which is why this module is in the seam both reach rather than in the server's.
|
|
5
|
+
//
|
|
6
|
+
// A HANDLER IS A `reactive` OR BECOMES ONE (16.1), so an `Rpc` is not a second kind of value: the
|
|
7
|
+
// call hands back the handler's own `Reactive` (16.3), and every probe, trigger and failure on it is
|
|
8
|
+
// the reactive core's — the `Rpc`'s own `busy`, `ready`, `refresh` and `invalidate` are the
|
|
9
|
+
// handler's, passed through. What this file adds is the normalising — a plain function or a value becomes the
|
|
10
|
+
// `reactive` it would have been (16.6) — and the method.
|
|
11
|
+
//
|
|
12
|
+
// A HANDLER DECLARING `middleware` IS REACHED THROUGH ITS RUNGS (16.11), in process as over the wire:
|
|
13
|
+
// the call hands back a value whose body runs the onion once per args, per request, over the
|
|
14
|
+
// handler's own.
|
|
15
|
+
|
|
16
|
+
import { type Failed, isFailedNamed } from './Failed.ts'
|
|
17
|
+
import { GLOBAL_GETS } from './GLOBAL_GETS.ts'
|
|
18
|
+
import { compose, type Middleware } from './Middleware.ts'
|
|
19
|
+
import { principalRotated } from './principalRotated.ts'
|
|
20
|
+
import { RPC_SERVER } from './RPC_SERVER.ts'
|
|
21
|
+
import {
|
|
22
|
+
contractOf,
|
|
23
|
+
type Gated,
|
|
24
|
+
gateOf,
|
|
25
|
+
keyOf,
|
|
26
|
+
normalised,
|
|
27
|
+
} from './reactive/argsContract.ts'
|
|
28
|
+
import { callLoad } from './reactive/callLoad.ts'
|
|
29
|
+
import {
|
|
30
|
+
type AdoptedFailures,
|
|
31
|
+
type AdoptedProduced,
|
|
32
|
+
type ChunkOf,
|
|
33
|
+
chunksOfStream,
|
|
34
|
+
handlerValue,
|
|
35
|
+
isKeyed,
|
|
36
|
+
type Kept,
|
|
37
|
+
type Keyed,
|
|
38
|
+
type OptionalParameter,
|
|
39
|
+
type Reactive,
|
|
40
|
+
type Refusals,
|
|
41
|
+
reactive,
|
|
42
|
+
type Shaping,
|
|
43
|
+
STREAMING,
|
|
44
|
+
type Streams,
|
|
45
|
+
streamingOrSettled,
|
|
46
|
+
} from './reactive/index.ts'
|
|
47
|
+
import { MUTATION } from './reactive/MUTATION.ts'
|
|
48
|
+
import { SELECTION_MEMBERS } from './reactive/SELECTION_MEMBERS.ts'
|
|
49
|
+
import { isForwarder } from './reactive/scoped.ts'
|
|
50
|
+
import { checkArgs } from './refuse.ts'
|
|
51
|
+
import { rpcRequest } from './rpcRequest.ts'
|
|
52
|
+
import type { Schema } from './Schema.ts'
|
|
53
|
+
|
|
54
|
+
export type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'
|
|
55
|
+
|
|
56
|
+
/** What a call is handed beside its args (16.48). */
|
|
57
|
+
export type CallOptions = { signal?: AbortSignal }
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* A declared handler: callable for its `Reactive`, with the handler's own members and its mount.
|
|
61
|
+
*
|
|
62
|
+
* 16.3 — the call hands back the handler's own `Reactive`; the members below are the handler's,
|
|
63
|
+
* passed through.
|
|
64
|
+
*
|
|
65
|
+
* 16.8 — AND ITS FAILURES CARRY THE TRANSPORT'S `HttpError`, which no handler declares and every
|
|
66
|
+
* call can be answered with: a body over `maxBodySize` (413), a closed `crossOrigin` (403), a
|
|
67
|
+
* `timeout` (504), and any failure status whose body was not a `Failed`, rebuilt by `answered`.
|
|
68
|
+
*/
|
|
69
|
+
export type Rpc<Value, Args, Failures = never, Produced = Value> = ((
|
|
70
|
+
...args: undefined extends Args
|
|
71
|
+
? [args?: Args, options?: CallOptions]
|
|
72
|
+
: [args: Args, options?: CallOptions]
|
|
73
|
+
) => Reactive<
|
|
74
|
+
Value,
|
|
75
|
+
Value,
|
|
76
|
+
Failures | Failed<'HttpError', undefined>,
|
|
77
|
+
Produced
|
|
78
|
+
>) & {
|
|
79
|
+
method: Method
|
|
80
|
+
description: string | undefined
|
|
81
|
+
/**
|
|
82
|
+
* The handler's own probe, narrowed by a pattern where the handler is keyed.
|
|
83
|
+
*
|
|
84
|
+
* 13.4, 13.12 — the handler's own face. An `Rpc` is a `Selection` by having it (13.1).
|
|
85
|
+
*/
|
|
86
|
+
busy(pattern?: Partial<Args>): boolean
|
|
87
|
+
ready(pattern?: Partial<Args>): boolean
|
|
88
|
+
refresh(pattern?: Partial<Args>): void
|
|
89
|
+
invalidate(pattern?: Partial<Args>): void
|
|
90
|
+
isError<Name extends string>(
|
|
91
|
+
error: unknown,
|
|
92
|
+
name: Name,
|
|
93
|
+
): error is Extract<
|
|
94
|
+
Failures | Failed<'HttpError', undefined>,
|
|
95
|
+
{ name: Name }
|
|
96
|
+
>
|
|
97
|
+
/**
|
|
98
|
+
* The call's address, resolved against the mount.
|
|
99
|
+
*
|
|
100
|
+
* 16.9, 16.10 — a mutation's takes no args.
|
|
101
|
+
*/
|
|
102
|
+
url(...args: undefined extends Args ? [args?: Args] : [args: Args]): string
|
|
103
|
+
/** The same call, handed back as the `Response` (16.42). */
|
|
104
|
+
raw(args?: Args, init?: RequestInit): Promise<Response>
|
|
105
|
+
/** Where the handler is mounted, stamped by whoever mounted it — `undefined` until then. */
|
|
106
|
+
address: string | undefined
|
|
107
|
+
keyed: boolean
|
|
108
|
+
timeout: number | undefined
|
|
109
|
+
crossOrigin: boolean | string[]
|
|
110
|
+
maxBodySize: number | undefined
|
|
111
|
+
clients: Clients
|
|
112
|
+
/**
|
|
113
|
+
* Whether the handler declared rungs.
|
|
114
|
+
*
|
|
115
|
+
* 18.8 — rungs a value pushed over the mux would not pass.
|
|
116
|
+
*/
|
|
117
|
+
guarded: boolean
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** Which generated surfaces carry a handler (20.1). */
|
|
121
|
+
export type Clients = {
|
|
122
|
+
ui?: boolean
|
|
123
|
+
mcp?: boolean
|
|
124
|
+
cli?: boolean
|
|
125
|
+
openapi?: boolean
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export type RpcContext<Args = unknown> = { request: Request; args: () => Args }
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* The context key holding the args as sent.
|
|
132
|
+
*
|
|
133
|
+
* 11.26 — THE ARGS AS SENT, carried on the context under a key no rung spells, so the reach at the
|
|
134
|
+
* onion's centre keys the value by them rather than by what the gate made of them.
|
|
135
|
+
*/
|
|
136
|
+
const SENT: unique symbol = Symbol('abide.sent')
|
|
137
|
+
|
|
138
|
+
export type RpcOptions<Args = unknown> = {
|
|
139
|
+
description?: string
|
|
140
|
+
middleware?: Middleware<RpcContext<Args>, unknown>[]
|
|
141
|
+
timeout?: number
|
|
142
|
+
clients?: Clients
|
|
143
|
+
crossOrigin?: boolean | string[]
|
|
144
|
+
maxBodySize?: number
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* A handler `declare` builds the value of: a plain function or a value, which no `Reactive` or
|
|
149
|
+
* `Keyed` is.
|
|
150
|
+
*
|
|
151
|
+
* Told by a member both carry and neither of those does. Without it a value handed in with a
|
|
152
|
+
* value's option — `GET(reactive(f), { ttl })` — fell through its own arm to a plain one, and the
|
|
153
|
+
* option was dropped by a value that had already been built.
|
|
154
|
+
*/
|
|
155
|
+
export type Plain = { invalidate?: never }
|
|
156
|
+
|
|
157
|
+
// The value arm's handler: anything but a function, which is a body, or a `Reactive` or `Keyed`,
|
|
158
|
+
// which has decided its own options. Unguarded, the arm won overload resolution's subtype pass over
|
|
159
|
+
// every function arm, whose `& Plain` only passes assignability. The guard is the whole parameter
|
|
160
|
+
// because `& Plain` kept `GET(0)` the literal `0`, and a bound of `Plain` refuses every primitive.
|
|
161
|
+
type Held<Accepted> = Accepted extends
|
|
162
|
+
| ((...given: never[]) => unknown)
|
|
163
|
+
| { invalidate: unknown }
|
|
164
|
+
? never
|
|
165
|
+
: Accepted | PromiseLike<Accepted>
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* The signature `GET` and the four mutations share: a handler in, its `Rpc` out.
|
|
169
|
+
*
|
|
170
|
+
* ONE CALL SIGNATURE PER HANDLER ARM, shared by all five names. The two `reactive` arms come first:
|
|
171
|
+
* a `Reactive` is itself a `() => Stored`, so the plain-function arm would otherwise swallow it
|
|
172
|
+
* and type the `Rpc` as holding the value's own getter. The plain arms are `reactive`'s own
|
|
173
|
+
* overloads, in its order and for its reason, and take its options beside the address's (16.6) —
|
|
174
|
+
* which is why a value handed in takes the address's alone: it has decided its own.
|
|
175
|
+
*/
|
|
176
|
+
type Declare = {
|
|
177
|
+
<Stored, Args, Accepted, Failures, Produced>(
|
|
178
|
+
handler: Keyed<Stored, Args, Accepted, Failures, Produced>,
|
|
179
|
+
options?: RpcOptions<Args>,
|
|
180
|
+
): Rpc<Stored, Args, Failures, Produced>
|
|
181
|
+
<Stored, Accepted, Failures, Produced>(
|
|
182
|
+
handler: Reactive<Stored, Accepted, Failures, Produced>,
|
|
183
|
+
options?: RpcOptions<undefined>,
|
|
184
|
+
): Rpc<Stored, undefined, Failures, Produced>
|
|
185
|
+
// 11.2 — a stream whose parameter is optional is keyed, for `reactive`'s reason.
|
|
186
|
+
<
|
|
187
|
+
Body extends (args?: never) => unknown,
|
|
188
|
+
Shaped = ChunkOf<Body>[],
|
|
189
|
+
Gate = Schema<ChunkOf<Body>[]>,
|
|
190
|
+
ArgsGate = Schema<Parameters<Body>[0]>,
|
|
191
|
+
>(
|
|
192
|
+
handler: Body & OptionalParameter<Body> & Streams<Body> & Plain,
|
|
193
|
+
options?: Shaping<
|
|
194
|
+
ChunkOf<Body>[],
|
|
195
|
+
Shaped,
|
|
196
|
+
Parameters<Body>[0],
|
|
197
|
+
Gate,
|
|
198
|
+
ArgsGate
|
|
199
|
+
> &
|
|
200
|
+
RpcOptions<Parameters<Body>[0]>,
|
|
201
|
+
): Rpc<
|
|
202
|
+
Kept<Shaped>,
|
|
203
|
+
Parameters<Body>[0],
|
|
204
|
+
Refusals<Shaped, Gate, ChunkOf<Body>[], ArgsGate, Parameters<Body>[0]>,
|
|
205
|
+
ChunkOf<Body>
|
|
206
|
+
>
|
|
207
|
+
<Chunk, Shaped = Chunk[], Gate = Schema<Chunk[]>>(
|
|
208
|
+
handler: (() =>
|
|
209
|
+
| AsyncGenerator<Chunk>
|
|
210
|
+
| Promise<AsyncGenerator<Chunk>>) &
|
|
211
|
+
Plain,
|
|
212
|
+
options?: Shaping<Chunk[], Shaped, never, Gate> & RpcOptions<undefined>,
|
|
213
|
+
): Rpc<Kept<Shaped>, undefined, Refusals<Shaped, Gate, Chunk[]>, Chunk>
|
|
214
|
+
<
|
|
215
|
+
Chunk,
|
|
216
|
+
Args,
|
|
217
|
+
Shaped = Chunk[],
|
|
218
|
+
Gate = Schema<Chunk[]>,
|
|
219
|
+
ArgsGate = Schema<Args>,
|
|
220
|
+
>(
|
|
221
|
+
handler: ((
|
|
222
|
+
args: Args,
|
|
223
|
+
) => AsyncGenerator<Chunk> | Promise<AsyncGenerator<Chunk>>) &
|
|
224
|
+
Plain,
|
|
225
|
+
options?: Shaping<Chunk[], Shaped, Args, Gate, ArgsGate> &
|
|
226
|
+
RpcOptions<Args>,
|
|
227
|
+
): Rpc<
|
|
228
|
+
Kept<Shaped>,
|
|
229
|
+
Args,
|
|
230
|
+
Refusals<Shaped, Gate, Chunk[], ArgsGate, Args>,
|
|
231
|
+
Chunk
|
|
232
|
+
>
|
|
233
|
+
// 11.2 — an optional parameter is keyed, and ahead of the arm below for `reactive`'s reason.
|
|
234
|
+
<
|
|
235
|
+
Body extends (args?: never) => unknown,
|
|
236
|
+
Shaped = Awaited<ReturnType<Body>>,
|
|
237
|
+
Gate = Schema<Awaited<ReturnType<Body>>>,
|
|
238
|
+
ArgsGate = Schema<Parameters<Body>[0]>,
|
|
239
|
+
>(
|
|
240
|
+
handler: Body & OptionalParameter<Body> & Plain,
|
|
241
|
+
options?: Shaping<
|
|
242
|
+
Awaited<ReturnType<Body>>,
|
|
243
|
+
Shaped,
|
|
244
|
+
Parameters<Body>[0],
|
|
245
|
+
Gate,
|
|
246
|
+
ArgsGate
|
|
247
|
+
> &
|
|
248
|
+
RpcOptions<Parameters<Body>[0]>,
|
|
249
|
+
): Rpc<
|
|
250
|
+
Kept<Shaped>,
|
|
251
|
+
Parameters<Body>[0],
|
|
252
|
+
| AdoptedFailures<ReturnType<Body>>
|
|
253
|
+
| Refusals<
|
|
254
|
+
Shaped,
|
|
255
|
+
Gate,
|
|
256
|
+
Awaited<ReturnType<Body>>,
|
|
257
|
+
ArgsGate,
|
|
258
|
+
Parameters<Body>[0]
|
|
259
|
+
>,
|
|
260
|
+
AdoptedProduced<ReturnType<Body>, Kept<Shaped>>
|
|
261
|
+
>
|
|
262
|
+
<Computed, Shaped = Awaited<Computed>, Gate = Schema<Awaited<Computed>>>(
|
|
263
|
+
handler: (() => Computed) & Plain,
|
|
264
|
+
options?: Shaping<Awaited<Computed>, Shaped, never, Gate> &
|
|
265
|
+
RpcOptions<undefined>,
|
|
266
|
+
): Rpc<
|
|
267
|
+
Kept<Shaped>,
|
|
268
|
+
undefined,
|
|
269
|
+
AdoptedFailures<Computed> | Refusals<Shaped, Gate, Awaited<Computed>>,
|
|
270
|
+
AdoptedProduced<Computed, Kept<Shaped>>
|
|
271
|
+
>
|
|
272
|
+
<
|
|
273
|
+
Computed,
|
|
274
|
+
Args,
|
|
275
|
+
Shaped = Awaited<Computed>,
|
|
276
|
+
Gate = Schema<Awaited<Computed>>,
|
|
277
|
+
ArgsGate = Schema<Args>,
|
|
278
|
+
>(
|
|
279
|
+
handler: ((args: Args) => Computed) & Plain,
|
|
280
|
+
options?: Shaping<Awaited<Computed>, Shaped, Args, Gate, ArgsGate> &
|
|
281
|
+
RpcOptions<Args>,
|
|
282
|
+
): Rpc<
|
|
283
|
+
Kept<Shaped>,
|
|
284
|
+
Args,
|
|
285
|
+
| AdoptedFailures<Computed>
|
|
286
|
+
| Refusals<Shaped, Gate, Awaited<Computed>, ArgsGate, Args>,
|
|
287
|
+
AdoptedProduced<Computed, Kept<Shaped>>
|
|
288
|
+
>
|
|
289
|
+
// 16.1 — a value, `reactive`'s value overload given an address. Last, so a function is a body.
|
|
290
|
+
<Accepted, Shaped = Accepted, Gate = Schema<Accepted>>(
|
|
291
|
+
handler: Held<Accepted>,
|
|
292
|
+
options?: Shaping<Accepted, Shaped, never, Gate> &
|
|
293
|
+
RpcOptions<undefined>,
|
|
294
|
+
): Rpc<Kept<Shaped>, undefined, Refusals<Shaped, Gate, Accepted>>
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/** Builds the handler declarer for one method — what `GET`, `POST` and the rest are. */
|
|
298
|
+
export function declare(method: Method): Declare {
|
|
299
|
+
return ((handler: unknown, options?: RpcOptions): unknown => {
|
|
300
|
+
// 16.6, and 16.7's `ttl` of 0 on a mutation: each call is a write, so nothing a previous
|
|
301
|
+
// call produced is served to the next one. 13.16 — and marked, so a sweep never sends it again.
|
|
302
|
+
const cacheOptions =
|
|
303
|
+
method === 'GET' ? undefined : { ttl: 0, [MUTATION]: true as const }
|
|
304
|
+
// 16.6 — A PLAIN FUNCTION'S VALUE IS BUILT WITH THE WHOLE OPTIONS OBJECT: `reactive` reads
|
|
305
|
+
// the keys that are its own and passes over the address's, so nothing splits them. 16.7's
|
|
306
|
+
// `ttl` is a default the handler's own overrides.
|
|
307
|
+
const value = handlerValue(
|
|
308
|
+
handler,
|
|
309
|
+
cacheOptions === undefined
|
|
310
|
+
? options
|
|
311
|
+
: { ...cacheOptions, ...options },
|
|
312
|
+
)
|
|
313
|
+
const keyed = isKeyed(value)
|
|
314
|
+
// 19.7 — the handler's `args` gate and its parameter defaults, on the `Rpc` too, for the
|
|
315
|
+
// wire to coerce and key by. 11.27, 11.29 — THE DEFAULTS ARE APPLIED AT THE CALL rather than
|
|
316
|
+
// left to the value's own reach: a value behind rungs is keyed ahead of the handler's, and
|
|
317
|
+
// the seed buffer files the call by the args it was handed.
|
|
318
|
+
const contract = contractOf(keyed ? value : undefined)
|
|
319
|
+
const reach = (args?: unknown): unknown =>
|
|
320
|
+
keyed ? (value as (args: unknown) => unknown)(args) : value
|
|
321
|
+
// 16.11, 16.12 — THE RUNGS, IN REGISTRATION ORDER, around the reach. Built once, at the
|
|
322
|
+
// declaration (16.14); a value keyed by args, so a second call with the same args in one
|
|
323
|
+
// request joins the first (1.8) and a server files one per request (11.32).
|
|
324
|
+
const rungs = options?.middleware ?? []
|
|
325
|
+
// A rung that handed `next` a context of its own making chose those args.
|
|
326
|
+
const argsOf = (ctx: RpcContext): unknown =>
|
|
327
|
+
SENT in ctx ? (ctx as { [SENT]: unknown })[SENT] : ctx.args()
|
|
328
|
+
const contextOf = (args: unknown): RpcContext =>
|
|
329
|
+
({
|
|
330
|
+
request: RPC_SERVER.request(),
|
|
331
|
+
args: argsOnce(gateOf(contract), args),
|
|
332
|
+
[SENT]: args,
|
|
333
|
+
}) as RpcContext
|
|
334
|
+
// 16.32 BEHIND RUNGS — A STREAM'S CHUNKS ARE FORWARDED, not collected. The centre of the
|
|
335
|
+
// onion is an async function, and a `Reactive` is thenable (1.4), so handing a streaming value
|
|
336
|
+
// out through it would wait out the whole run and answer the accumulation once it closed. So
|
|
337
|
+
// the centre waits only until the value settles or turns out to stream (9.6), and hands a
|
|
338
|
+
// stream on as its chunks — a generator, which is not thenable. The value the call reaches
|
|
339
|
+
// resolves to it and is a stream of its own from then (9.6), so a second call joining it
|
|
340
|
+
// (1.8) reads the same accumulation. A refusal a rung answers with is the value's refusal.
|
|
341
|
+
const onion =
|
|
342
|
+
rungs.length === 0
|
|
343
|
+
? null
|
|
344
|
+
: compose(rungs, async (ctx: RpcContext) => {
|
|
345
|
+
const reached = reach(argsOf(ctx))
|
|
346
|
+
const started = performance.now()
|
|
347
|
+
try {
|
|
348
|
+
const settled = await streamingOrSettled(reached)
|
|
349
|
+
return settled === STREAMING
|
|
350
|
+
? chunksOfStream(reached)
|
|
351
|
+
: settled
|
|
352
|
+
} finally {
|
|
353
|
+
RPC_SERVER.handled?.(rpc, performance.now() - started)
|
|
354
|
+
}
|
|
355
|
+
})
|
|
356
|
+
const wrapped =
|
|
357
|
+
onion === null
|
|
358
|
+
? null
|
|
359
|
+
: reactive(
|
|
360
|
+
(args: unknown) => onion(contextOf(args)),
|
|
361
|
+
cacheOptions,
|
|
362
|
+
)
|
|
363
|
+
const reachThrough =
|
|
364
|
+
wrapped === null ? reach : (wrapped as (args: unknown) => unknown)
|
|
365
|
+
// 16.3 — the handler's own `Reactive`. A `Keyed` reaches its entry, which is 1.7's start
|
|
366
|
+
// and 1.8's join; an unkeyed value has one entry and the call is the reach of it.
|
|
367
|
+
//
|
|
368
|
+
// 41.13 — AND REPORTED, where the call is made in a page's render: the browser's own call for
|
|
369
|
+
// this handler and these args is then answered from what this one reached, rather than by
|
|
370
|
+
// running the handler again. In a browser nothing fills the slot, so the report is one load
|
|
371
|
+
// of a `null`.
|
|
372
|
+
const call = (given?: unknown, options?: CallOptions): unknown => {
|
|
373
|
+
const args = normalised(contract, given)
|
|
374
|
+
const reached = callLoad(
|
|
375
|
+
reachThrough,
|
|
376
|
+
args,
|
|
377
|
+
options?.signal,
|
|
378
|
+
rpc.timeout ?? RPC_SERVER.timeout(),
|
|
379
|
+
)
|
|
380
|
+
RPC_SERVER.reached?.(rpc, args, reached)
|
|
381
|
+
return reached
|
|
382
|
+
}
|
|
383
|
+
// THE HANDLER'S OWN MEMBERS, handed the pattern. A `Keyed` narrows by it and a `Reactive`'s
|
|
384
|
+
// take no argument, so one spelling serves both arms and neither is a second mechanism.
|
|
385
|
+
const face = value as Record<
|
|
386
|
+
(typeof SELECTION_MEMBERS)[number],
|
|
387
|
+
(pattern?: unknown) => unknown
|
|
388
|
+
>
|
|
389
|
+
const rpc = Object.assign(call, contract, {
|
|
390
|
+
method,
|
|
391
|
+
description: options?.description,
|
|
392
|
+
address: undefined as string | undefined,
|
|
393
|
+
// 20.9 — which arm the handler took, which is what MCP lists it by.
|
|
394
|
+
keyed,
|
|
395
|
+
timeout: options?.timeout,
|
|
396
|
+
crossOrigin: options?.crossOrigin ?? false,
|
|
397
|
+
maxBodySize: options?.maxBodySize,
|
|
398
|
+
clients: options?.clients ?? {},
|
|
399
|
+
guarded: rungs.length > 0,
|
|
400
|
+
isError: isFailedNamed,
|
|
401
|
+
url(args?: Record<string, unknown>): string {
|
|
402
|
+
return rpcRequest(method, addressOf(rpc), args).url
|
|
403
|
+
},
|
|
404
|
+
raw(
|
|
405
|
+
args?: Record<string, unknown>,
|
|
406
|
+
init?: RequestInit,
|
|
407
|
+
): Promise<Response> {
|
|
408
|
+
const asked = rpcRequest(method, addressOf(rpc), args)
|
|
409
|
+
// `Headers`, not a spread — the caller's may be a `Headers` itself, which spreads empty.
|
|
410
|
+
const headers = new Headers(asked.init.headers)
|
|
411
|
+
for (const [name, value] of new Headers(init?.headers))
|
|
412
|
+
headers.set(name, value)
|
|
413
|
+
const given: RequestInit = { ...asked.init, ...init, headers }
|
|
414
|
+
// IN PROCESS ON A SERVER, through the app the process holds; OVER THE WIRE elsewhere.
|
|
415
|
+
if (RPC_SERVER.raw !== null)
|
|
416
|
+
return RPC_SERVER.raw(
|
|
417
|
+
new Request(
|
|
418
|
+
new URL(asked.url, 'http://app.internal'),
|
|
419
|
+
given,
|
|
420
|
+
),
|
|
421
|
+
)
|
|
422
|
+
// 26.24 — a sign-in made raw is still a sign-in.
|
|
423
|
+
return fetch(asked.url, given).then((answer) => {
|
|
424
|
+
principalRotated(answer)
|
|
425
|
+
return answer
|
|
426
|
+
})
|
|
427
|
+
},
|
|
428
|
+
}) satisfies Gated<unknown>
|
|
429
|
+
const members = rpc as unknown as Record<string, unknown>
|
|
430
|
+
// 7.10, 7.18 — A TRIGGER ON A SERVER REACHES EVERY BROWSER HOLDING WHAT IT NAMES, through the
|
|
431
|
+
// mux (18.3). `null` in a browser, where the trigger is the copy's own.
|
|
432
|
+
for (const name of SELECTION_MEMBERS)
|
|
433
|
+
members[name] =
|
|
434
|
+
name === 'invalidate' || name === 'refresh'
|
|
435
|
+
? (pattern?: unknown): unknown => {
|
|
436
|
+
const done = face[name](pattern)
|
|
437
|
+
RPC_SERVER.broadcast?.(rpc, name, pattern)
|
|
438
|
+
return done
|
|
439
|
+
}
|
|
440
|
+
: (pattern?: unknown): unknown => face[name](pattern)
|
|
441
|
+
// 21.8, 18.5 — a `GET` over a `global` value, the value it is serving for some args: a cache
|
|
442
|
+
// may hold it for as long as it lives, and the mux may feed it. A request-local one is a
|
|
443
|
+
// forwarder to a value built per request (11.32).
|
|
444
|
+
//
|
|
445
|
+
// READ OFF THE VALUE rather than off the call: behind a rung the call settles to what the
|
|
446
|
+
// value produced, and holds no way back to it. A keyed value is looked up without a reach,
|
|
447
|
+
// so asking starts nothing (11.55).
|
|
448
|
+
if (method === 'GET' && !isForwarder(value))
|
|
449
|
+
GLOBAL_GETS.set(
|
|
450
|
+
rpc,
|
|
451
|
+
keyed
|
|
452
|
+
? {
|
|
453
|
+
key: (args) => keyOf(contract, args),
|
|
454
|
+
at: (key) =>
|
|
455
|
+
(
|
|
456
|
+
value as { entries: Map<string, unknown> }
|
|
457
|
+
).entries.get(key),
|
|
458
|
+
}
|
|
459
|
+
: { key: () => '', at: () => value },
|
|
460
|
+
)
|
|
461
|
+
return rpc
|
|
462
|
+
}) as Declare
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
export const GET: Declare = declare('GET')
|
|
466
|
+
export const POST: Declare = declare('POST')
|
|
467
|
+
export const PUT: Declare = declare('PUT')
|
|
468
|
+
export const PATCH: Declare = declare('PATCH')
|
|
469
|
+
export const DELETE: Declare = declare('DELETE')
|
|
470
|
+
|
|
471
|
+
/** The handler's mount address, or a throw naming where one comes from. */
|
|
472
|
+
function addressOf(rpc: { address: string | undefined }): string {
|
|
473
|
+
if (rpc.address === undefined)
|
|
474
|
+
throw new Error(
|
|
475
|
+
'abide: this handler has no address yet. A handler is given one where it is mounted, under src/server/rpc (16.2).',
|
|
476
|
+
)
|
|
477
|
+
return rpc.address
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* A rung's `ctx.args()`: the args validated on the first ask, and that answer kept after it.
|
|
482
|
+
*
|
|
483
|
+
* 16.17, 16.18, 16.19 — validated against the `args` the value declared on the first ask, and the
|
|
484
|
+
* answer kept for every rung after it. A refusal is thrown, so it leaves the whole onion (16.21)
|
|
485
|
+
* and is answered at its own status.
|
|
486
|
+
*/
|
|
487
|
+
function argsOnce(
|
|
488
|
+
gate: Schema<unknown> | undefined,
|
|
489
|
+
args: unknown,
|
|
490
|
+
): () => unknown {
|
|
491
|
+
let asked = false
|
|
492
|
+
let answer: unknown
|
|
493
|
+
return () => {
|
|
494
|
+
if (asked) return answer
|
|
495
|
+
// Validated BEFORE it is marked asked, so a rung that caught the refusal and asks again is
|
|
496
|
+
// refused again rather than handed nothing.
|
|
497
|
+
answer = gate === undefined ? args : checkArgs(gate, args)
|
|
498
|
+
asked = true
|
|
499
|
+
return answer
|
|
500
|
+
}
|
|
501
|
+
}
|