@abide/abide 0.58.0 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1781
- package/bin/abide.ts +788 -204
- package/package.json +30 -152
- package/scaffold/src/server/app.ts +6 -0
- package/scaffold/src/shared/.gitkeep +0 -0
- package/scaffold/src/ui/app.html +8 -0
- package/scaffold/src/ui/pages/page.abide +13 -0
- package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
- package/src/compiler/CheckerAnswer.ts +62 -0
- package/src/compiler/Cursor.ts +367 -0
- package/src/compiler/Finding.ts +2 -0
- package/src/compiler/Lowering.ts +648 -0
- package/src/compiler/PositionTable.ts +125 -0
- package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
- package/src/compiler/SHARED_NAMES.ts +45 -0
- package/src/compiler/SPECIFIERS.ts +16 -0
- package/src/compiler/ShadowMap.ts +144 -0
- package/src/compiler/TemplateNode.ts +176 -0
- package/src/compiler/TypeSession.ts +1079 -0
- package/src/compiler/VOID_ELEMENTS.ts +22 -0
- package/src/compiler/aliasedSymbol.ts +15 -0
- package/src/compiler/ambientReadsIn.ts +152 -0
- package/src/compiler/argsDefaultsIn.ts +173 -0
- package/src/compiler/argsSchemaOf.ts +230 -0
- package/src/compiler/checkApp.ts +117 -0
- package/src/compiler/checkedShadow.ts +182 -0
- package/src/compiler/classifyRead.ts +577 -0
- package/src/compiler/classifyTemplate.ts +501 -0
- package/src/compiler/compileApp.ts +559 -0
- package/src/compiler/compiledEntry.ts +141 -0
- package/src/compiler/componentGraph.ts +139 -0
- package/src/compiler/declaredExports.ts +645 -0
- package/src/compiler/decodeCharacterReferences.ts +111 -0
- package/src/compiler/emitClient.ts +1343 -0
- package/src/compiler/emitComponent.ts +162 -0
- package/src/compiler/emitSource.ts +91 -0
- package/src/compiler/formatDiagnosis.ts +19 -0
- package/src/compiler/handlersUnder.ts +109 -0
- package/src/compiler/index.ts +15 -0
- package/src/compiler/invocationProps.ts +67 -0
- package/src/compiler/isNamedAlone.ts +9 -0
- package/src/compiler/lineOf.ts +38 -0
- package/src/compiler/parseAbide.ts +1341 -0
- package/src/compiler/projectShadow.ts +643 -0
- package/src/compiler/reactiveOptions.ts +82 -0
- package/src/compiler/reactiveTypes.ts +222 -0
- package/src/compiler/readSources.ts +100 -0
- package/src/compiler/readsIn.ts +1023 -0
- package/src/compiler/renderMarkup.ts +781 -0
- package/src/compiler/scaffold.ts +105 -0
- package/src/compiler/scopeStyles.ts +309 -0
- package/src/compiler/serveLanguage.ts +405 -0
- package/src/compiler/shareScope.ts +51 -0
- package/src/compiler/sharedModuleWrites.ts +88 -0
- package/src/compiler/splitImports.ts +387 -0
- package/src/compiler/templateWarnings.ts +128 -0
- package/src/compiler/tokenize.ts +317 -0
- package/src/compiler/trackingWarnings.ts +279 -0
- package/src/compiler/writeDefaultProject.ts +42 -0
- package/src/server/BRIDGE_VERSION.ts +3 -0
- package/src/server/CLIENT_BUILD.ts +56 -0
- package/src/server/DEFAULT_PORT.ts +6 -0
- package/src/server/DOCUMENT_HEADERS.ts +11 -0
- package/src/server/Inbox.ts +36 -0
- package/src/server/LogPanel.ts +239 -0
- package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
- package/src/server/SETTLE_MILLISECONDS.ts +7 -0
- package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
- package/src/server/answerFailure.ts +91 -0
- package/src/server/answerRequest.ts +560 -0
- package/src/server/answerRpc.ts +537 -0
- package/src/server/answerSocket.ts +537 -0
- package/src/server/answerValue.ts +375 -0
- package/src/server/appDirectories.ts +9 -0
- package/src/server/appKit.ts +204 -0
- package/src/server/appPlugins.ts +26 -0
- package/src/server/argsFor.ts +40 -0
- package/src/server/assistant.ts +163 -0
- package/src/server/banner.ts +43 -0
- package/src/server/bridgeRelay.ts +249 -0
- package/src/server/buildDirectory.ts +10 -0
- package/src/server/callerOf.ts +60 -0
- package/src/server/claudeApi.ts +224 -0
- package/src/server/claudeCode.ts +187 -0
- package/src/server/clientBuildOptions.ts +49 -0
- package/src/server/coerceArgs.ts +110 -0
- package/src/server/commands.ts +442 -0
- package/src/server/componentImports.ts +56 -0
- package/src/server/componentModules.d.ts +9 -0
- package/src/server/compressAnswer.ts +66 -0
- package/src/server/config.ts +192 -0
- package/src/server/configFields.ts +92 -0
- package/src/server/createApp.ts +428 -0
- package/src/server/crossingOrigin.ts +49 -0
- package/src/server/csp.ts +77 -0
- package/src/server/devWorker.ts +613 -0
- package/src/server/faultPolicy.ts +59 -0
- package/src/server/fenceServer.ts +48 -0
- package/src/server/generatedSurfaces.ts +430 -0
- package/src/server/hooks.ts +190 -0
- package/src/server/index.ts +87 -0
- package/src/server/installServer.ts +47 -0
- package/src/server/launcherOptions.ts +62 -0
- package/src/server/launcherPage.ts +156 -0
- package/src/server/manifestOf.ts +114 -0
- package/src/server/muxUpgrade.ts +72 -0
- package/src/server/namesUnder.ts +15 -0
- package/src/server/nativeMenu.ts +296 -0
- package/src/server/negotiateEncoding.ts +39 -0
- package/src/server/plainAnswer.ts +19 -0
- package/src/server/prefers.ts +25 -0
- package/src/server/principal.ts +261 -0
- package/src/server/qualitiesOf.ts +22 -0
- package/src/server/randomToken.ts +9 -0
- package/src/server/reachable.ts +31 -0
- package/src/server/refuseAddressCollision.ts +30 -0
- package/src/server/remote.ts +242 -0
- package/src/server/render.ts +464 -0
- package/src/server/renderComponent.ts +33 -0
- package/src/server/reportHealth.ts +46 -0
- package/src/server/requestScope.ts +435 -0
- package/src/server/responseHelpers.ts +75 -0
- package/src/server/runCompiled.ts +44 -0
- package/src/server/runDesktop.ts +572 -0
- package/src/server/seedBuffer.ts +293 -0
- package/src/server/serveBuild.ts +198 -0
- package/src/server/serveDev.ts +499 -0
- package/src/server/shell.ts +506 -0
- package/src/server/surfaceOf.ts +47 -0
- package/src/server/testBuild.ts +237 -0
- package/src/server/trace.ts +151 -0
- package/src/server/versionOf.ts +109 -0
- package/src/server/withoutTrailingSlash.ts +4 -0
- package/src/shared/ADDRESSES.ts +69 -0
- package/src/shared/ANCHORS.ts +54 -0
- package/src/shared/Attributes.ts +339 -0
- package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
- package/src/shared/CHILDREN.ts +11 -0
- package/src/shared/CURRENT_ROUTER.ts +25 -0
- package/src/shared/CopyOptions.ts +19 -0
- package/src/shared/DEBUG_META.ts +6 -0
- package/src/shared/EARLY_CALLS.ts +8 -0
- package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
- package/src/shared/Failed.ts +146 -0
- package/src/shared/GLOBAL_GETS.ts +7 -0
- package/src/shared/Issues.ts +49 -0
- package/src/shared/JsonValue.ts +18 -0
- package/src/shared/LOAD_SIGNAL.ts +10 -0
- package/src/shared/MOUNT_META.ts +6 -0
- package/src/shared/Middleware.ts +34 -0
- package/src/shared/NAVIGATION_HEADER.ts +7 -0
- package/src/shared/PRINCIPAL_HEADER.ts +6 -0
- package/src/shared/RPC_SERVER.ts +67 -0
- package/src/shared/Raw.ts +90 -0
- package/src/shared/Schema.ts +229 -0
- package/src/shared/UNEXPECTED.ts +11 -0
- package/src/shared/URL_ATTRIBUTES.ts +19 -0
- package/src/shared/VERSION_HEADER.ts +6 -0
- package/src/shared/WORK.ts +37 -0
- package/src/shared/anchorMarkup.ts +15 -0
- package/src/shared/answerOf.ts +141 -0
- package/src/shared/applyPatch.ts +173 -0
- package/src/shared/armAnchor.ts +17 -0
- package/src/shared/attributeText.ts +50 -0
- package/src/shared/boundValue.ts +58 -0
- package/src/shared/cookies.ts +271 -0
- package/src/shared/csp.ts +55 -0
- package/src/shared/decodedOrKept.ts +14 -0
- package/src/shared/escapeText.ts +103 -0
- package/src/shared/framing.ts +131 -0
- package/src/shared/headKeyOf.ts +34 -0
- package/src/shared/health.ts +51 -0
- package/src/shared/index.ts +117 -0
- package/src/shared/isEventName.ts +10 -0
- package/src/shared/isRecord.ts +4 -0
- package/src/shared/issuesOf.ts +18 -0
- package/src/shared/jsonSchema.ts +50 -0
- package/src/shared/listOf.ts +20 -0
- package/src/shared/log.ts +284 -0
- package/src/shared/matchRoute.ts +99 -0
- package/src/shared/menuItem.ts +80 -0
- package/src/shared/mount.ts +45 -0
- package/src/shared/muxFrames.ts +35 -0
- package/src/shared/navigate.ts +26 -0
- package/src/shared/note.ts +24 -0
- package/src/shared/numberFromText.ts +10 -0
- package/src/shared/online.ts +19 -0
- package/src/shared/paint.ts +4 -0
- package/src/shared/principal.ts +145 -0
- package/src/shared/principalRotated.ts +47 -0
- package/src/shared/propCell.ts +99 -0
- package/src/shared/props.ts +24 -0
- package/src/shared/putOwn.ts +24 -0
- package/src/shared/queryText.ts +18 -0
- package/src/shared/reactive/CELL.ts +8 -0
- package/src/shared/reactive/Cursor.ts +223 -0
- package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
- package/src/shared/reactive/Expiry.ts +103 -0
- package/src/shared/reactive/FOLLOWED.ts +8 -0
- package/src/shared/reactive/KEYED_BRAND.ts +8 -0
- package/src/shared/reactive/Keyed.ts +423 -0
- package/src/shared/reactive/MUTATION.ts +5 -0
- package/src/shared/reactive/NO_INITIAL.ts +6 -0
- package/src/shared/reactive/NotLanded.ts +21 -0
- package/src/shared/reactive/PATCHES.ts +11 -0
- package/src/shared/reactive/PATCH_SINKS.ts +26 -0
- package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
- package/src/shared/reactive/RESHAPING.ts +13 -0
- package/src/shared/reactive/Reactive.ts +4480 -0
- package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
- package/src/shared/reactive/STREAMING.ts +5 -0
- package/src/shared/reactive/argsContract.ts +97 -0
- package/src/shared/reactive/byOf.ts +18 -0
- package/src/shared/reactive/callLoad.ts +200 -0
- package/src/shared/reactive/canonicalKey.ts +95 -0
- package/src/shared/reactive/chunksOfStream.ts +51 -0
- package/src/shared/reactive/index.ts +542 -0
- package/src/shared/reactive/isReactive.ts +19 -0
- package/src/shared/reactive/isThenable.ts +14 -0
- package/src/shared/reactive/matchesPattern.ts +16 -0
- package/src/shared/reactive/pairReactive.ts +41 -0
- package/src/shared/reactive/parameterDefaults.ts +356 -0
- package/src/shared/reactive/recordWrites.ts +472 -0
- package/src/shared/reactive/scoped.ts +157 -0
- package/src/shared/reactive/scoping.ts +64 -0
- package/src/shared/reactive/share.ts +91 -0
- package/src/shared/reactive/structural.ts +62 -0
- package/src/shared/reactive/tracking.ts +418 -0
- package/src/shared/reactive/watch.ts +310 -0
- package/src/shared/refuse.ts +224 -0
- package/src/shared/route.ts +29 -0
- package/src/shared/routePattern.ts +146 -0
- package/src/shared/rpc.ts +496 -0
- package/src/shared/rpcRequest.ts +73 -0
- package/src/shared/safeUrl.ts +68 -0
- package/src/shared/seededDocument.ts +36 -0
- package/src/shared/setUpLevels.ts +53 -0
- package/src/shared/slotValue.ts +34 -0
- package/src/shared/spread.ts +79 -0
- package/src/shared/takeEarlyCall.ts +86 -0
- package/src/shared/url.ts +140 -0
- package/src/shared/validateJson.ts +578 -0
- package/src/shared/versionInEtag.ts +14 -0
- package/src/shared/writePath.ts +95 -0
- package/src/ui/ArmRegion.ts +185 -0
- package/src/ui/LAYER_NAMES.ts +30 -0
- package/src/ui/List.ts +273 -0
- package/src/ui/Mismatch.ts +32 -0
- package/src/ui/RawRun.ts +99 -0
- package/src/ui/Router.ts +698 -0
- package/src/ui/Scope.ts +115 -0
- package/src/ui/TryRegion.ts +278 -0
- package/src/ui/adoptWalk.ts +126 -0
- package/src/ui/applyHead.ts +146 -0
- package/src/ui/bindElement.ts +44 -0
- package/src/ui/bindProperty.ts +79 -0
- package/src/ui/bindSpread.ts +44 -0
- package/src/ui/escapeless.ts +14 -0
- package/src/ui/index.ts +64 -0
- package/src/ui/leave.ts +35 -0
- package/src/ui/listenForRoutes.ts +92 -0
- package/src/ui/measureLayer.ts +34 -0
- package/src/ui/menuBridge.ts +19 -0
- package/src/ui/moveNode.ts +34 -0
- package/src/ui/parseMarkup.ts +35 -0
- package/src/ui/reconcile.ts +368 -0
- package/src/ui/regions.ts +137 -0
- package/src/ui/reportMenu.ts +57 -0
- package/src/ui/routing.ts +18 -0
- package/src/ui/rowKeyOf.ts +19 -0
- package/src/ui/rows.ts +99 -0
- package/src/ui/setAttribute.ts +37 -0
- package/src/ui/setClass.ts +27 -0
- package/src/ui/setMarkup.ts +20 -0
- package/src/ui/setStyleProperty.ts +30 -0
- package/src/ui/setText.ts +28 -0
- package/src/ui/socketWire.ts +258 -0
- package/src/ui/wire.ts +141 -0
- package/AGENTS.md +0 -446
- package/README.md +0 -249
- package/src/abideLsp.ts +0 -251
- package/src/abideModules.d.ts +0 -8
- package/src/abideResolverPlugin.ts +0 -1101
- package/src/appEntry.ts +0 -161
- package/src/assets/app.html +0 -12
- package/src/build.ts +0 -189
- package/src/buildCli.ts +0 -125
- package/src/buildDisconnected.ts +0 -117
- package/src/bundleApp.ts +0 -146
- package/src/bundleDisconnectedEntry.ts +0 -14
- package/src/checkAbide.ts +0 -145
- package/src/cliEntry.ts +0 -25
- package/src/clientBuildPlugins.ts +0 -33
- package/src/clientEntry.ts +0 -17
- package/src/compile.ts +0 -61
- package/src/controlServerWorker.ts +0 -433
- package/src/devEntry.ts +0 -381
- package/src/discoveryEntry.ts +0 -82
- package/src/initAgent.ts +0 -50
- package/src/lib/bundle/BundleMenu.ts +0 -12
- package/src/lib/bundle/BundleMenuItem.ts +0 -25
- package/src/lib/bundle/BundleWindow.ts +0 -37
- package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
- package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
- package/src/lib/bundle/bindConnectedFlag.ts +0 -29
- package/src/lib/bundle/bindRequestNavigate.ts +0 -34
- package/src/lib/bundle/buildWebviewLib.ts +0 -111
- package/src/lib/bundle/bundled.ts +0 -35
- package/src/lib/bundle/disconnected.abide +0 -265
- package/src/lib/bundle/disconnected.css +0 -9
- package/src/lib/bundle/ensureWebviewLib.ts +0 -20
- package/src/lib/bundle/exitWithParent.ts +0 -30
- package/src/lib/bundle/infoPlist.ts +0 -52
- package/src/lib/bundle/installDownloads.ts +0 -34
- package/src/lib/bundle/installMacMenu.ts +0 -49
- package/src/lib/bundle/listenLocalControlServer.ts +0 -19
- package/src/lib/bundle/native/abideMenu.mm +0 -422
- package/src/lib/bundle/native/webview.h +0 -4557
- package/src/lib/bundle/onMenu.ts +0 -42
- package/src/lib/bundle/openWebview.ts +0 -104
- package/src/lib/bundle/pngToIcns.ts +0 -47
- package/src/lib/bundle/probeAbideServer.ts +0 -57
- package/src/lib/bundle/resolveServerBinary.ts +0 -12
- package/src/lib/bundle/resolveWebviewLib.ts +0 -53
- package/src/lib/bundle/serverBinaryFilename.ts +0 -8
- package/src/lib/bundle/signMacApp.ts +0 -37
- package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
- package/src/lib/bundle/stableLocalPort.ts +0 -19
- package/src/lib/bundle/waitForServer.ts +0 -28
- package/src/lib/bundle/webviewCachePath.ts +0 -23
- package/src/lib/bundle/webviewLibName.ts +0 -11
- package/src/lib/cli/completeCli.ts +0 -38
- package/src/lib/cli/connectToServer.ts +0 -23
- package/src/lib/cli/createClient.ts +0 -108
- package/src/lib/cli/dispatchCommand.ts +0 -72
- package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
- package/src/lib/cli/parseArgvForRpc.ts +0 -131
- package/src/lib/cli/printCommandHelp.ts +0 -43
- package/src/lib/cli/printSessionHelp.ts +0 -28
- package/src/lib/cli/printSessionStatus.ts +0 -21
- package/src/lib/cli/printTopLevelHelp.ts +0 -83
- package/src/lib/cli/printTrimmed.ts +0 -8
- package/src/lib/cli/printValue.ts +0 -10
- package/src/lib/cli/renderCliCompletions.ts +0 -56
- package/src/lib/cli/resolveCliTarget.ts +0 -47
- package/src/lib/cli/runCli.ts +0 -188
- package/src/lib/cli/runSession.ts +0 -107
- package/src/lib/cli/startLocalInstance.ts +0 -14
- package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
- package/src/lib/cli/tokenizeLine.ts +0 -51
- package/src/lib/cli/types/CliManifest.ts +0 -11
- package/src/lib/cli/types/CliManifestEntry.ts +0 -17
- package/src/lib/cli/types/CliTarget.ts +0 -13
- package/src/lib/mcp/annotationsForMethod.ts +0 -29
- package/src/lib/mcp/buildPrompts.ts +0 -25
- package/src/lib/mcp/createMcpResourceServer.ts +0 -113
- package/src/lib/mcp/createMcpServer.ts +0 -56
- package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
- package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
- package/src/lib/mcp/mcpSurface.ts +0 -57
- package/src/lib/mcp/mcpTools.ts +0 -196
- package/src/lib/mcp/renderPrompt.ts +0 -25
- package/src/lib/mcp/toolResultFromResponse.ts +0 -100
- package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
- package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
- package/src/lib/mcp/types/McpResourceContents.ts +0 -10
- package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
- package/src/lib/mcp/types/McpResourceServer.ts +0 -12
- package/src/lib/mcp/types/McpServer.ts +0 -9
- package/src/lib/mcp/types/McpServerOptions.ts +0 -16
- package/src/lib/mcp/types/McpSurface.ts +0 -15
- package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
- package/src/lib/mcp/types/PromptMessage.ts +0 -2
- package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
- package/src/lib/mcp/types/ToolResult.ts +0 -2
- package/src/lib/server/AppModule.ts +0 -47
- package/src/lib/server/DELETE.ts +0 -10
- package/src/lib/server/GET.ts +0 -10
- package/src/lib/server/HEAD.ts +0 -10
- package/src/lib/server/PATCH.ts +0 -10
- package/src/lib/server/POST.ts +0 -10
- package/src/lib/server/PUT.ts +0 -10
- package/src/lib/server/agent.ts +0 -86
- package/src/lib/server/appDataDir.ts +0 -16
- package/src/lib/server/cli/buildEnvContent.ts +0 -19
- package/src/lib/server/cli/createTarGz.ts +0 -77
- package/src/lib/server/cli/handleCliDownload.ts +0 -152
- package/src/lib/server/cli/handleCliInstall.ts +0 -37
- package/src/lib/server/cli/installScript.ts +0 -31
- package/src/lib/server/cli/maxSourceMtime.ts +0 -26
- package/src/lib/server/cookies.ts +0 -30
- package/src/lib/server/env.ts +0 -51
- package/src/lib/server/error.ts +0 -110
- package/src/lib/server/json.ts +0 -57
- package/src/lib/server/jsonl.ts +0 -47
- package/src/lib/server/prompts/definePrompt.ts +0 -21
- package/src/lib/server/prompts/promptRegistry.ts +0 -9
- package/src/lib/server/prompts/registerPrompt.ts +0 -6
- package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
- package/src/lib/server/prompts/types/Prompt.ts +0 -14
- package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
- package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
- package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
- package/src/lib/server/redirect.ts +0 -43
- package/src/lib/server/render.ts +0 -70
- package/src/lib/server/request.ts +0 -19
- package/src/lib/server/rpc/defineRpc.ts +0 -271
- package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
- package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
- package/src/lib/server/rpc/parseArgs.ts +0 -244
- package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
- package/src/lib/server/rpc/registerRpc.ts +0 -6
- package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
- package/src/lib/server/rpc/rpcRegistry.ts +0 -11
- package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
- package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
- package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
- package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
- package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
- package/src/lib/server/rpc/types/TypedError.ts +0 -18
- package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
- package/src/lib/server/rpc/unprocessed.ts +0 -13
- package/src/lib/server/rpc/validationError.ts +0 -17
- package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
- package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
- package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
- package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
- package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
- package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
- package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
- package/src/lib/server/runtime/acceptsGzip.ts +0 -33
- package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
- package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
- package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
- package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
- package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
- package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
- package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
- package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
- package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
- package/src/lib/server/runtime/containsTraversal.ts +0 -41
- package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
- package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
- package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
- package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
- package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
- package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
- package/src/lib/server/runtime/createServer.ts +0 -605
- package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
- package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
- package/src/lib/server/runtime/crossOriginGate.ts +0 -29
- package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
- package/src/lib/server/runtime/devReloadResponse.ts +0 -41
- package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
- package/src/lib/server/runtime/envSchemaStore.ts +0 -15
- package/src/lib/server/runtime/finalizeResponse.ts +0 -42
- package/src/lib/server/runtime/findOpenPort.ts +0 -21
- package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
- package/src/lib/server/runtime/getActiveServer.ts +0 -6
- package/src/lib/server/runtime/globToPathSet.ts +0 -29
- package/src/lib/server/runtime/gzipResponse.ts +0 -57
- package/src/lib/server/runtime/inFlightRequests.ts +0 -13
- package/src/lib/server/runtime/inProcessServer.ts +0 -20
- package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
- package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
- package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
- package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
- package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
- package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
- package/src/lib/server/runtime/mimeForExtension.ts +0 -14
- package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
- package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
- package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
- package/src/lib/server/runtime/parsePort.ts +0 -11
- package/src/lib/server/runtime/pathStore.ts +0 -15
- package/src/lib/server/runtime/registryManifests.ts +0 -66
- package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
- package/src/lib/server/runtime/requestContext.ts +0 -5
- package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
- package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
- package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
- package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
- package/src/lib/server/runtime/serverSlot.ts +0 -13
- package/src/lib/server/runtime/setActiveServer.ts +0 -6
- package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
- package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
- package/src/lib/server/runtime/streamFromIterator.ts +0 -124
- package/src/lib/server/runtime/textResponse.ts +0 -23
- package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
- package/src/lib/server/runtime/types/Assets.ts +0 -6
- package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
- package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
- package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
- package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
- package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
- package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
- package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
- package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
- package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
- package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
- package/src/lib/server/runtime/types/RequestStore.ts +0 -125
- package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
- package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
- package/src/lib/server/server.ts +0 -33
- package/src/lib/server/socket.ts +0 -32
- package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
- package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
- package/src/lib/server/sockets/defineSocket.ts +0 -225
- package/src/lib/server/sockets/lookupSocket.ts +0 -6
- package/src/lib/server/sockets/registerSocket.ts +0 -18
- package/src/lib/server/sockets/socketOperations.ts +0 -36
- package/src/lib/server/sockets/socketRegistry.ts +0 -9
- package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
- package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
- package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
- package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
- package/src/lib/server/sse.ts +0 -58
- package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
- package/src/lib/shared/ABIDE_VERSION.ts +0 -9
- package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
- package/src/lib/shared/ASYNC_CELL.ts +0 -5
- package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
- package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
- package/src/lib/shared/CLI_PATH.ts +0 -7
- package/src/lib/shared/DEFER.ts +0 -8
- package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
- package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
- package/src/lib/shared/HEALTH_PATH.ts +0 -7
- package/src/lib/shared/HTTP_METHODS.ts +0 -6
- package/src/lib/shared/HttpError.ts +0 -30
- package/src/lib/shared/IDENTITY_PATH.ts +0 -6
- package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
- package/src/lib/shared/MCP_PATH.ts +0 -6
- package/src/lib/shared/NAV_HEADER.ts +0 -8
- package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
- package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
- package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
- package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
- package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
- package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
- package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
- package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
- package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
- package/src/lib/shared/SEEDS.ts +0 -33
- package/src/lib/shared/SOCKETS_PATH.ts +0 -7
- package/src/lib/shared/SOCKET_SEED.ts +0 -12
- package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
- package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
- package/src/lib/shared/SocketDisconnectedError.ts +0 -13
- package/src/lib/shared/TEXT_PLAIN.ts +0 -7
- package/src/lib/shared/abideImportName.ts +0 -44
- package/src/lib/shared/abideLog.ts +0 -38
- package/src/lib/shared/activeCacheStore.ts +0 -12
- package/src/lib/shared/activePage.ts +0 -12
- package/src/lib/shared/amend.ts +0 -48
- package/src/lib/shared/amendBroadcastSlot.ts +0 -19
- package/src/lib/shared/appDataDir.ts +0 -34
- package/src/lib/shared/appNameSlot.ts +0 -10
- package/src/lib/shared/applyAmendLocally.ts +0 -20
- package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
- package/src/lib/shared/assertExhaustive.ts +0 -14
- package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
- package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
- package/src/lib/shared/augmentModule.ts +0 -18
- package/src/lib/shared/basePath.ts +0 -11
- package/src/lib/shared/basePathFromAppUrl.ts +0 -20
- package/src/lib/shared/baseSlot.ts +0 -9
- package/src/lib/shared/binaryDirEnvPath.ts +0 -12
- package/src/lib/shared/bodyValueForKind.ts +0 -34
- package/src/lib/shared/browserClientFlags.ts +0 -10
- package/src/lib/shared/buildArtifact.ts +0 -20
- package/src/lib/shared/buildRpcProxy.ts +0 -39
- package/src/lib/shared/buildRpcRequest.ts +0 -81
- package/src/lib/shared/buildSocketOverChannel.ts +0 -102
- package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
- package/src/lib/shared/bundleLayout.ts +0 -36
- package/src/lib/shared/cache.ts +0 -1584
- package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
- package/src/lib/shared/cacheManagedSlot.ts +0 -10
- package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
- package/src/lib/shared/cacheStalenessSlot.ts +0 -21
- package/src/lib/shared/cacheStoreSlot.ts +0 -12
- package/src/lib/shared/cacheStores.ts +0 -10
- package/src/lib/shared/canonicalJson.ts +0 -86
- package/src/lib/shared/carriesBodyArgs.ts +0 -13
- package/src/lib/shared/changeAffectsClient.ts +0 -40
- package/src/lib/shared/clearLastConnection.ts +0 -7
- package/src/lib/shared/commandNameForUrl.ts +0 -17
- package/src/lib/shared/contentBodyKind.ts +0 -27
- package/src/lib/shared/contentTypeOf.ts +0 -6
- package/src/lib/shared/createCacheStore.ts +0 -147
- package/src/lib/shared/createChannelLog.ts +0 -146
- package/src/lib/shared/createLifecycleChannel.ts +0 -62
- package/src/lib/shared/createLivenessWatch.ts +0 -118
- package/src/lib/shared/createPushIterator.ts +0 -132
- package/src/lib/shared/createReachable.ts +0 -78
- package/src/lib/shared/createRemoteFunction.ts +0 -210
- package/src/lib/shared/createResolverSlot.ts +0 -30
- package/src/lib/shared/createRpcServerProgram.ts +0 -1007
- package/src/lib/shared/createSocketSubRegistry.ts +0 -112
- package/src/lib/shared/createSubscriber.ts +0 -55
- package/src/lib/shared/createTraceContext.ts +0 -21
- package/src/lib/shared/dataDirEnvPath.ts +0 -12
- package/src/lib/shared/debugGate.ts +0 -90
- package/src/lib/shared/decodeRefJson.ts +0 -112
- package/src/lib/shared/decodeResponse.ts +0 -54
- package/src/lib/shared/decodeWireBody.ts +0 -35
- package/src/lib/shared/detectRpcMethod.ts +0 -24
- package/src/lib/shared/detectTarget.ts +0 -27
- package/src/lib/shared/docSnapshotsSlot.ts +0 -13
- package/src/lib/shared/done.ts +0 -20
- package/src/lib/shared/emitLogRecord.ts +0 -217
- package/src/lib/shared/encodeRefJson.ts +0 -108
- package/src/lib/shared/encodeSeedValue.ts +0 -24
- package/src/lib/shared/encodeWireBody.ts +0 -18
- package/src/lib/shared/escapeHtml.ts +0 -15
- package/src/lib/shared/escapeRegex.ts +0 -9
- package/src/lib/shared/exeSuffix.ts +0 -9
- package/src/lib/shared/exitOnBuildFailure.ts +0 -18
- package/src/lib/shared/extraForwardHeaders.ts +0 -16
- package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
- package/src/lib/shared/fileName.ts +0 -9
- package/src/lib/shared/fileStem.ts +0 -11
- package/src/lib/shared/findExportCallSite.ts +0 -233
- package/src/lib/shared/formatTraceparent.ts +0 -6
- package/src/lib/shared/forwardHeaders.ts +0 -44
- package/src/lib/shared/generateDeclarations.ts +0 -72
- package/src/lib/shared/getRemoteMeta.ts +0 -5
- package/src/lib/shared/hasSeedableRequest.ts +0 -25
- package/src/lib/shared/health.ts +0 -179
- package/src/lib/shared/healthReadSlot.ts +0 -11
- package/src/lib/shared/healthSeedSlot.ts +0 -12
- package/src/lib/shared/html.ts +0 -19
- package/src/lib/shared/httpErrorFor.ts +0 -26
- package/src/lib/shared/hydrationWindow.ts +0 -53
- package/src/lib/shared/importNamesToStrip.ts +0 -13
- package/src/lib/shared/invalidate.ts +0 -39
- package/src/lib/shared/invalidateEvent.ts +0 -11
- package/src/lib/shared/invalidateTripwire.ts +0 -40
- package/src/lib/shared/isAbideHealthPayload.ts +0 -11
- package/src/lib/shared/isAsciiWhitespace.ts +0 -5
- package/src/lib/shared/isAsyncCell.ts +0 -11
- package/src/lib/shared/isAsyncIterable.ts +0 -8
- package/src/lib/shared/isCompileTarget.ts +0 -21
- package/src/lib/shared/isDebugEnabled.ts +0 -19
- package/src/lib/shared/isDebugNegated.ts +0 -17
- package/src/lib/shared/isIdentPart.ts +0 -9
- package/src/lib/shared/isIdentStart.ts +0 -8
- package/src/lib/shared/isLayoutFile.ts +0 -12
- package/src/lib/shared/isModuleNotFound.ts +0 -18
- package/src/lib/shared/isReadOnlyMethod.ts +0 -14
- package/src/lib/shared/isReplayableMethod.ts +0 -7
- package/src/lib/shared/isStreamingResponse.ts +0 -12
- package/src/lib/shared/isSubscribable.ts +0 -15
- package/src/lib/shared/isThenable.ts +0 -9
- package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
- package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
- package/src/lib/shared/jsonSchemaForType.ts +0 -245
- package/src/lib/shared/jsonlErrorFrame.ts +0 -24
- package/src/lib/shared/keyForRemoteCall.ts +0 -30
- package/src/lib/shared/keyMatchesPrefix.ts +0 -9
- package/src/lib/shared/keyPrefixForRemote.ts +0 -12
- package/src/lib/shared/lastConnectionPath.ts +0 -7
- package/src/lib/shared/layoutChainForRoute.ts +0 -22
- package/src/lib/shared/lenientDecode.ts +0 -15
- package/src/lib/shared/loadEnvFile.ts +0 -17
- package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
- package/src/lib/shared/loadProjectTsConfig.ts +0 -28
- package/src/lib/shared/log.ts +0 -24
- package/src/lib/shared/logClosingRecord.ts +0 -28
- package/src/lib/shared/logTapSlot.ts +0 -13
- package/src/lib/shared/manifestModule.ts +0 -39
- package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
- package/src/lib/shared/matchRoute.ts +0 -165
- package/src/lib/shared/matcherFromEnvelope.ts +0 -31
- package/src/lib/shared/memoizeByKey.ts +0 -32
- package/src/lib/shared/messageFromError.ts +0 -6
- package/src/lib/shared/normalizePathname.ts +0 -11
- package/src/lib/shared/normalizeTarget.ts +0 -10
- package/src/lib/shared/online.ts +0 -51
- package/src/lib/shared/page.ts +0 -30
- package/src/lib/shared/pageSlot.ts +0 -17
- package/src/lib/shared/pageUrlForFile.ts +0 -14
- package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
- package/src/lib/shared/parseEnv.ts +0 -41
- package/src/lib/shared/parsePromptMarkdown.ts +0 -35
- package/src/lib/shared/parseRouteSegments.ts +0 -31
- package/src/lib/shared/parseTraceparent.ts +0 -26
- package/src/lib/shared/peek.ts +0 -46
- package/src/lib/shared/pending.ts +0 -36
- package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
- package/src/lib/shared/prepareRemoteExport.ts +0 -40
- package/src/lib/shared/prepareRpcModule.ts +0 -240
- package/src/lib/shared/prepareSocketModule.ts +0 -46
- package/src/lib/shared/probeRegistries.ts +0 -68
- package/src/lib/shared/producerKey.ts +0 -32
- package/src/lib/shared/programNameForPackage.ts +0 -16
- package/src/lib/shared/promptNameForFile.ts +0 -10
- package/src/lib/shared/queryStringFromArgs.ts +0 -38
- package/src/lib/shared/randomHexId.ts +0 -14
- package/src/lib/shared/reachable.ts +0 -99
- package/src/lib/shared/readEnvFile.ts +0 -15
- package/src/lib/shared/readLastConnection.ts +0 -18
- package/src/lib/shared/readPackageJson.ts +0 -9
- package/src/lib/shared/recordRemoteMeta.ts +0 -5
- package/src/lib/shared/refresh.ts +0 -39
- package/src/lib/shared/refreshing.ts +0 -37
- package/src/lib/shared/remoteMetaStore.ts +0 -16
- package/src/lib/shared/requestScopeSlot.ts +0 -13
- package/src/lib/shared/resolveClientFlags.ts +0 -20
- package/src/lib/shared/resolvedCellsSlot.ts +0 -13
- package/src/lib/shared/responseBodyKind.ts +0 -35
- package/src/lib/shared/responseErrorText.ts +0 -9
- package/src/lib/shared/reviveWireField.ts +0 -49
- package/src/lib/shared/reviveWireOutput.ts +0 -36
- package/src/lib/shared/routeParamsShape.ts +0 -20
- package/src/lib/shared/rpcErrorRegistry.ts +0 -69
- package/src/lib/shared/rpcServerForRoot.ts +0 -25
- package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
- package/src/lib/shared/rpcUrlForFile.ts +0 -19
- package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
- package/src/lib/shared/safeJsonForScript.ts +0 -17
- package/src/lib/shared/scanPages.ts +0 -25
- package/src/lib/shared/selectorMatcher.ts +0 -55
- package/src/lib/shared/selectorPrefix.ts +0 -32
- package/src/lib/shared/serializeEnv.ts +0 -30
- package/src/lib/shared/serializeSelector.ts +0 -69
- package/src/lib/shared/setAppName.ts +0 -5
- package/src/lib/shared/setOwnProperty.ts +0 -19
- package/src/lib/shared/setsIntersect.ts +0 -15
- package/src/lib/shared/sharedCacheStore.ts +0 -14
- package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
- package/src/lib/shared/skipNonCode.ts +0 -230
- package/src/lib/shared/snapshotShippable.ts +0 -23
- package/src/lib/shared/snippet.ts +0 -30
- package/src/lib/shared/socketNameForFile.ts +0 -11
- package/src/lib/shared/socketTailsSlot.ts +0 -13
- package/src/lib/shared/socketTapSlot.ts +0 -12
- package/src/lib/shared/sseErrorFrame.ts +0 -29
- package/src/lib/shared/streamResponse.ts +0 -180
- package/src/lib/shared/streamedCellsSlot.ts +0 -14
- package/src/lib/shared/stripImport.ts +0 -29
- package/src/lib/shared/subscribableFromResponse.ts +0 -51
- package/src/lib/shared/subscribableProbes.ts +0 -111
- package/src/lib/shared/tailProbeSlot.ts +0 -23
- package/src/lib/shared/toTagSet.ts +0 -4
- package/src/lib/shared/trace.ts +0 -16
- package/src/lib/shared/types/AmendApply.ts +0 -15
- package/src/lib/shared/types/AsyncComputed.ts +0 -20
- package/src/lib/shared/types/AsyncState.ts +0 -13
- package/src/lib/shared/types/CacheEntry.ts +0 -100
- package/src/lib/shared/types/CacheInvalidation.ts +0 -9
- package/src/lib/shared/types/CacheOnContext.ts +0 -15
- package/src/lib/shared/types/CacheOptions.ts +0 -53
- package/src/lib/shared/types/CachePolicy.ts +0 -31
- package/src/lib/shared/types/CacheReaderHook.ts +0 -11
- package/src/lib/shared/types/CacheSelector.ts +0 -17
- package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
- package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
- package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
- package/src/lib/shared/types/CacheStats.ts +0 -13
- package/src/lib/shared/types/CacheStore.ts +0 -45
- package/src/lib/shared/types/ChannelLog.ts +0 -13
- package/src/lib/shared/types/ClientFlags.ts +0 -13
- package/src/lib/shared/types/CompileTarget.ts +0 -6
- package/src/lib/shared/types/DebugGate.ts +0 -10
- package/src/lib/shared/types/DocSnapshots.ts +0 -12
- package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
- package/src/lib/shared/types/ErrorSpec.ts +0 -11
- package/src/lib/shared/types/FrameworkLog.ts +0 -13
- package/src/lib/shared/types/HttpMethod.ts +0 -3
- package/src/lib/shared/types/InputCoercion.ts +0 -17
- package/src/lib/shared/types/LastConnection.ts +0 -9
- package/src/lib/shared/types/Log.ts +0 -13
- package/src/lib/shared/types/LogRecord.ts +0 -42
- package/src/lib/shared/types/LogVoice.ts +0 -7
- package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
- package/src/lib/shared/types/OutputWirePlan.ts +0 -17
- package/src/lib/shared/types/PageSnapshot.ts +0 -14
- package/src/lib/shared/types/PagesScan.ts +0 -7
- package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
- package/src/lib/shared/types/PromptArgument.ts +0 -12
- package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
- package/src/lib/shared/types/RemoteCallable.ts +0 -40
- package/src/lib/shared/types/RemoteFunction.ts +0 -116
- package/src/lib/shared/types/ReplayableMethod.ts +0 -7
- package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
- package/src/lib/shared/types/ResolvedCells.ts +0 -11
- package/src/lib/shared/types/ResolverSlot.ts +0 -13
- package/src/lib/shared/types/ReturnBody.ts +0 -15
- package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
- package/src/lib/shared/types/RpcError.ts +0 -26
- package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
- package/src/lib/shared/types/RpcInvoker.ts +0 -6
- package/src/lib/shared/types/RpcOptions.ts +0 -22
- package/src/lib/shared/types/Socket.ts +0 -54
- package/src/lib/shared/types/SocketChannel.ts +0 -17
- package/src/lib/shared/types/SocketClientFrame.ts +0 -19
- package/src/lib/shared/types/SocketServerFrame.ts +0 -24
- package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
- package/src/lib/shared/types/SocketTails.ts +0 -13
- package/src/lib/shared/types/SourceMap.ts +0 -14
- package/src/lib/shared/types/SsrBootState.ts +0 -27
- package/src/lib/shared/types/SsrPayload.ts +0 -36
- package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
- package/src/lib/shared/types/StreamPolicy.ts +0 -11
- package/src/lib/shared/types/StreamedCells.ts +0 -19
- package/src/lib/shared/types/StreamedResolution.ts +0 -28
- package/src/lib/shared/types/TailHooks.ts +0 -13
- package/src/lib/shared/types/TraceContext.ts +0 -17
- package/src/lib/shared/types/ValidationErrorData.ts +0 -20
- package/src/lib/shared/types/WireKind.ts +0 -11
- package/src/lib/shared/url.ts +0 -141
- package/src/lib/shared/validationHttpError.ts +0 -33
- package/src/lib/shared/warmSeedKey.ts +0 -16
- package/src/lib/shared/wireJsonReplacer.ts +0 -30
- package/src/lib/shared/withBase.ts +0 -10
- package/src/lib/shared/withBaseUrl.ts +0 -17
- package/src/lib/shared/withCacheManaged.ts +0 -18
- package/src/lib/shared/withJsonSchema.ts +0 -21
- package/src/lib/shared/writeDts.ts +0 -19
- package/src/lib/shared/writeHealthDts.ts +0 -36
- package/src/lib/shared/writeLastConnection.ts +0 -13
- package/src/lib/shared/writePublicAssetsDts.ts +0 -27
- package/src/lib/shared/writeRoutesDts.ts +0 -41
- package/src/lib/shared/writeRpcDts.ts +0 -60
- package/src/lib/shared/writeTestRpcDts.ts +0 -45
- package/src/lib/shared/writeTestSocketsDts.ts +0 -34
- package/src/lib/test/assertAgentFrameConformance.ts +0 -73
- package/src/lib/test/createScriptedSurface.ts +0 -45
- package/src/lib/test/createTestApp.ts +0 -242
- package/src/lib/test/createTestSocketChannel.ts +0 -85
- package/src/lib/ui/README.md +0 -86
- package/src/lib/ui/activePendingCells.ts +0 -14
- package/src/lib/ui/amendReaderHook.ts +0 -125
- package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
- package/src/lib/ui/compile/AbideCompileError.ts +0 -16
- package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
- package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
- package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
- package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
- package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
- package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
- package/src/lib/ui/compile/analyzeComponent.ts +0 -222
- package/src/lib/ui/compile/asOutlet.ts +0 -30
- package/src/lib/ui/compile/assertTranspiles.ts +0 -19
- package/src/lib/ui/compile/assetModulesFile.ts +0 -32
- package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
- package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
- package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
- package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
- package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
- package/src/lib/ui/compile/awaitPlan.ts +0 -60
- package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
- package/src/lib/ui/compile/bindListenEvent.ts +0 -18
- package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
- package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
- package/src/lib/ui/compile/catchBinding.ts +0 -10
- package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
- package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
- package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
- package/src/lib/ui/compile/compileComponent.ts +0 -46
- package/src/lib/ui/compile/compileModule.ts +0 -306
- package/src/lib/ui/compile/compileSSR.ts +0 -119
- package/src/lib/ui/compile/compileShadow.ts +0 -1326
- package/src/lib/ui/compile/componentOrdinals.ts +0 -39
- package/src/lib/ui/compile/composeProps.ts +0 -64
- package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
- package/src/lib/ui/compile/createShadowProgram.ts +0 -127
- package/src/lib/ui/compile/createShadowScope.ts +0 -42
- package/src/lib/ui/compile/declaredNames.ts +0 -36
- package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
- package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
- package/src/lib/ui/compile/desugarSignals.ts +0 -1113
- package/src/lib/ui/compile/eachPlan.ts +0 -61
- package/src/lib/ui/compile/elementPlan.ts +0 -55
- package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
- package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
- package/src/lib/ui/compile/generateBuild.ts +0 -903
- package/src/lib/ui/compile/generateSSR.ts +0 -973
- package/src/lib/ui/compile/groupBindParts.ts +0 -28
- package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
- package/src/lib/ui/compile/hoistCells.ts +0 -120
- package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
- package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
- package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
- package/src/lib/ui/compile/ifPlan.ts +0 -36
- package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
- package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
- package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
- package/src/lib/ui/compile/isControlFlow.ts +0 -20
- package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
- package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
- package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
- package/src/lib/ui/compile/isTextLeaf.ts +0 -16
- package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
- package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
- package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
- package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
- package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
- package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
- package/src/lib/ui/compile/lowerContext.ts +0 -167
- package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
- package/src/lib/ui/compile/lowerScript.ts +0 -190
- package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
- package/src/lib/ui/compile/makeVarNamer.ts +0 -10
- package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
- package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
- package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
- package/src/lib/ui/compile/offsetToPosition.ts +0 -9
- package/src/lib/ui/compile/pagePropsType.ts +0 -23
- package/src/lib/ui/compile/parseTemplate.ts +0 -25
- package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
- package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
- package/src/lib/ui/compile/reactiveBinding.ts +0 -47
- package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
- package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
- package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
- package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
- package/src/lib/ui/compile/resolveBranches.ts +0 -21
- package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
- package/src/lib/ui/compile/scopeAttr.ts +0 -9
- package/src/lib/ui/compile/scopeCss.ts +0 -138
- package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
- package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
- package/src/lib/ui/compile/shadowNaming.ts +0 -11
- package/src/lib/ui/compile/signalCallee.ts +0 -24
- package/src/lib/ui/compile/skeletonContext.ts +0 -133
- package/src/lib/ui/compile/skeletonable.ts +0 -68
- package/src/lib/ui/compile/snippetPlan.ts +0 -28
- package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
- package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
- package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
- package/src/lib/ui/compile/staticAttr.ts +0 -11
- package/src/lib/ui/compile/staticAttrValue.ts +0 -13
- package/src/lib/ui/compile/staticTextPart.ts +0 -12
- package/src/lib/ui/compile/stripEffects.ts +0 -48
- package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
- package/src/lib/ui/compile/switchPlan.ts +0 -28
- package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
- package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
- package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
- package/src/lib/ui/compile/templateStartOffset.ts +0 -15
- package/src/lib/ui/compile/tryPlan.ts +0 -37
- package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
- package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
- package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
- package/src/lib/ui/compile/types/Binding.ts +0 -24
- package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
- package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
- package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
- package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
- package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
- package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
- package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
- package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
- package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
- package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
- package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
- package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
- package/src/lib/ui/compile/types/TextPart.ts +0 -8
- package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
- package/src/lib/ui/compile/unwrapParens.ts +0 -10
- package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
- package/src/lib/ui/compile/walkElementOrder.ts +0 -60
- package/src/lib/ui/compile/withBindings.ts +0 -45
- package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
- package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
- package/src/lib/ui/compile/wrapSeed.ts +0 -28
- package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
- package/src/lib/ui/computed.ts +0 -75
- package/src/lib/ui/createScope.ts +0 -157
- package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
- package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
- package/src/lib/ui/dom/adoptRange.ts +0 -27
- package/src/lib/ui/dom/anchorCursor.ts +0 -25
- package/src/lib/ui/dom/anchoredBranch.ts +0 -153
- package/src/lib/ui/dom/appendSnippet.ts +0 -75
- package/src/lib/ui/dom/appendStatic.ts +0 -26
- package/src/lib/ui/dom/appendText.ts +0 -160
- package/src/lib/ui/dom/appendTextAt.ts +0 -39
- package/src/lib/ui/dom/assertClaimedText.ts +0 -30
- package/src/lib/ui/dom/attach.ts +0 -25
- package/src/lib/ui/dom/attr.ts +0 -57
- package/src/lib/ui/dom/awaitBlock.ts +0 -314
- package/src/lib/ui/dom/awaitSubject.ts +0 -118
- package/src/lib/ui/dom/bindProp.ts +0 -22
- package/src/lib/ui/dom/bindSelectValue.ts +0 -48
- package/src/lib/ui/dom/bindableProp.ts +0 -47
- package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
- package/src/lib/ui/dom/cellPending.ts +0 -24
- package/src/lib/ui/dom/claimText.ts +0 -38
- package/src/lib/ui/dom/clearBetween.ts +0 -16
- package/src/lib/ui/dom/cloneStatic.ts +0 -69
- package/src/lib/ui/dom/commentData.ts +0 -14
- package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
- package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
- package/src/lib/ui/dom/discardBoundary.ts +0 -46
- package/src/lib/ui/dom/disposeRange.ts +0 -18
- package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
- package/src/lib/ui/dom/domElementAdapter.ts +0 -20
- package/src/lib/ui/dom/each.ts +0 -253
- package/src/lib/ui/dom/eachAsync.ts +0 -188
- package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
- package/src/lib/ui/dom/enterNamespace.ts +0 -20
- package/src/lib/ui/dom/fillBefore.ts +0 -42
- package/src/lib/ui/dom/fillBoundary.ts +0 -38
- package/src/lib/ui/dom/fillRange.ts +0 -30
- package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
- package/src/lib/ui/dom/hydrate.ts +0 -34
- package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
- package/src/lib/ui/dom/isComment.ts +0 -6
- package/src/lib/ui/dom/isElement.ts +0 -6
- package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
- package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
- package/src/lib/ui/dom/mergeProps.ts +0 -32
- package/src/lib/ui/dom/mount.ts +0 -30
- package/src/lib/ui/dom/mountChild.ts +0 -129
- package/src/lib/ui/dom/mountRange.ts +0 -48
- package/src/lib/ui/dom/mountSlot.ts +0 -38
- package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
- package/src/lib/ui/dom/moveRange.ts +0 -19
- package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
- package/src/lib/ui/dom/on.ts +0 -33
- package/src/lib/ui/dom/openMarker.ts +0 -22
- package/src/lib/ui/dom/outlet.ts +0 -63
- package/src/lib/ui/dom/parseRawNodes.ts +0 -17
- package/src/lib/ui/dom/readCall.ts +0 -29
- package/src/lib/ui/dom/readCell.ts +0 -55
- package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
- package/src/lib/ui/dom/removeRange.ts +0 -18
- package/src/lib/ui/dom/replaceRange.ts +0 -24
- package/src/lib/ui/dom/restProps.ts +0 -32
- package/src/lib/ui/dom/skeleton.ts +0 -153
- package/src/lib/ui/dom/spreadAttrs.ts +0 -95
- package/src/lib/ui/dom/spreadProps.ts +0 -31
- package/src/lib/ui/dom/switchBlock.ts +0 -80
- package/src/lib/ui/dom/templateFor.ts +0 -28
- package/src/lib/ui/dom/tryBlock.ts +0 -263
- package/src/lib/ui/dom/types/EachRow.ts +0 -21
- package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
- package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
- package/src/lib/ui/dom/when.ts +0 -58
- package/src/lib/ui/dom/withScope.ts +0 -37
- package/src/lib/ui/dom/withSuspense.ts +0 -22
- package/src/lib/ui/dom/writeCell.ts +0 -22
- package/src/lib/ui/effect.ts +0 -24
- package/src/lib/ui/enterScope.ts +0 -18
- package/src/lib/ui/exitScope.ts +0 -8
- package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
- package/src/lib/ui/flight.ts +0 -56
- package/src/lib/ui/html.ts +0 -39
- package/src/lib/ui/isolateCellBarrier.ts +0 -17
- package/src/lib/ui/linked.ts +0 -125
- package/src/lib/ui/navigate.ts +0 -77
- package/src/lib/ui/probeNavigation.ts +0 -33
- package/src/lib/ui/props.ts +0 -17
- package/src/lib/ui/remoteProxy.ts +0 -256
- package/src/lib/ui/renderChain.ts +0 -113
- package/src/lib/ui/renderToStream.ts +0 -128
- package/src/lib/ui/resumeSeedScript.ts +0 -27
- package/src/lib/ui/router.ts +0 -649
- package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
- package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
- package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
- package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
- package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
- package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
- package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
- package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
- package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
- package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
- package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
- package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
- package/src/lib/ui/runtime/OWNER.ts +0 -8
- package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
- package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
- package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
- package/src/lib/ui/runtime/RENDER.ts +0 -35
- package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
- package/src/lib/ui/runtime/RESUME.ts +0 -21
- package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
- package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
- package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
- package/src/lib/ui/runtime/abortNode.ts +0 -22
- package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
- package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
- package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
- package/src/lib/ui/runtime/batch.ts +0 -22
- package/src/lib/ui/runtime/blockId.ts +0 -31
- package/src/lib/ui/runtime/boundaryFor.ts +0 -11
- package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
- package/src/lib/ui/runtime/claimChild.ts +0 -8
- package/src/lib/ui/runtime/claimExpected.ts +0 -27
- package/src/lib/ui/runtime/claimMarker.ts +0 -13
- package/src/lib/ui/runtime/claimRun.ts +0 -22
- package/src/lib/ui/runtime/clientPage.ts +0 -116
- package/src/lib/ui/runtime/consumeSeed.ts +0 -38
- package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
- package/src/lib/ui/runtime/createComputedNode.ts +0 -19
- package/src/lib/ui/runtime/createDoc.ts +0 -334
- package/src/lib/ui/runtime/createEffectNode.ts +0 -81
- package/src/lib/ui/runtime/createSignalNode.ts +0 -19
- package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
- package/src/lib/ui/runtime/detachLink.ts +0 -21
- package/src/lib/ui/runtime/endTracking.ts +0 -24
- package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
- package/src/lib/ui/runtime/escapeKey.ts +0 -19
- package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
- package/src/lib/ui/runtime/flushEffects.ts +0 -91
- package/src/lib/ui/runtime/generationGuard.ts +0 -40
- package/src/lib/ui/runtime/historyEntries.ts +0 -151
- package/src/lib/ui/runtime/inScope.ts +0 -19
- package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
- package/src/lib/ui/runtime/nextBlockId.ts +0 -12
- package/src/lib/ui/runtime/parkCursor.ts +0 -10
- package/src/lib/ui/runtime/pathSegments.ts +0 -10
- package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
- package/src/lib/ui/runtime/readNode.ts +0 -38
- package/src/lib/ui/runtime/renderPath.ts +0 -16
- package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
- package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
- package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
- package/src/lib/ui/runtime/runNode.ts +0 -75
- package/src/lib/ui/runtime/runtimePath.ts +0 -9
- package/src/lib/ui/runtime/scope.ts +0 -46
- package/src/lib/ui/runtime/scopeGroup.ts +0 -40
- package/src/lib/ui/runtime/toTeardown.ts +0 -38
- package/src/lib/ui/runtime/track.ts +0 -60
- package/src/lib/ui/runtime/trigger.ts +0 -74
- package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
- package/src/lib/ui/runtime/types/Boundary.ts +0 -9
- package/src/lib/ui/runtime/types/Cell.ts +0 -7
- package/src/lib/ui/runtime/types/Computed.ts +0 -3
- package/src/lib/ui/runtime/types/Doc.ts +0 -24
- package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
- package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
- package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
- package/src/lib/ui/runtime/types/Patch.ts +0 -11
- package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
- package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
- package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
- package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
- package/src/lib/ui/runtime/types/Route.ts +0 -9
- package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
- package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
- package/src/lib/ui/runtime/types/State.ts +0 -3
- package/src/lib/ui/runtime/types/Teardown.ts +0 -5
- package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
- package/src/lib/ui/runtime/types/UiProps.ts +0 -12
- package/src/lib/ui/runtime/unescapeKey.ts +0 -12
- package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
- package/src/lib/ui/runtime/untrack.ts +0 -20
- package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
- package/src/lib/ui/runtime/walkPath.ts +0 -41
- package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
- package/src/lib/ui/runtime/withPath.ts +0 -16
- package/src/lib/ui/runtime/withPathFrom.ts +0 -20
- package/src/lib/ui/runtime/withoutHydration.ts +0 -22
- package/src/lib/ui/runtime/writeNode.ts +0 -16
- package/src/lib/ui/scope.ts +0 -20
- package/src/lib/ui/seedBootState.ts +0 -53
- package/src/lib/ui/seedStreamedResolution.ts +0 -56
- package/src/lib/ui/settleAsyncCells.ts +0 -51
- package/src/lib/ui/socketChannel.ts +0 -156
- package/src/lib/ui/socketProxy.ts +0 -47
- package/src/lib/ui/startClient.ts +0 -156
- package/src/lib/ui/state.ts +0 -77
- package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
- package/src/lib/ui/trackedComputed.ts +0 -68
- package/src/lib/ui/tryEncodeResume.ts +0 -11
- package/src/lib/ui/types/Layouts.ts +0 -9
- package/src/lib/ui/types/Pages.ts +0 -8
- package/src/lib/ui/types/Scope.ts +0 -68
- package/src/lib/ui/watch.ts +0 -150
- package/src/preload.ts +0 -19
- package/src/scaffold.ts +0 -153
- package/src/serverBuildPlugins.ts +0 -25
- package/src/serverEntry.ts +0 -138
- package/src/zodCjsPlugin.ts +0 -51
- package/template/.zed/settings.json +0 -10
- package/template/CLAUDE.md +0 -22
- package/template/bunfig.toml +0 -4
- package/template/package.json +0 -21
- package/template/src/app.ts +0 -28
- package/template/src/bundle/icon.png +0 -0
- package/template/src/cli/banner.txt +0 -3
- package/template/src/cli/footer.txt +0 -1
- package/template/src/server/config.ts +0 -17
- package/template/src/server/rpc/getHello.ts +0 -38
- package/template/src/ui/app.css +0 -21
- package/template/src/ui/app.html +0 -24
- package/template/src/ui/pages/about/page.abide +0 -7
- package/template/src/ui/pages/layout.abide +0 -19
- package/template/src/ui/pages/page.abide +0 -19
- package/template/test/app.test.ts +0 -30
- package/template/tsconfig.json +0 -18
- package/tsconfig.app.json +0 -17
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
// 32.33 — THE CALLBACK AN `s.patch` IS HANDED WRITES THROUGH A PROXY, so what it wrote to is known
|
|
2
|
+
// without a copy of the value to diff against. A write marks the object written AND every object on
|
|
3
|
+
// the path down to it: a row reads its item, and `row.address.city = x` changed what that row shows
|
|
4
|
+
// without touching the row's own object.
|
|
5
|
+
//
|
|
6
|
+
// ONLY ARRAYS AND PLAIN OBJECTS ARE WRAPPED. A `Map`, a `Set` or a class instance keeps internal
|
|
7
|
+
// slots a proxy cannot stand in for — `Map.prototype.set` refuses a proxy as its receiver — so one
|
|
8
|
+
// reached is marked written the moment it is read, path and all. That over-reports, and an
|
|
9
|
+
// over-report costs a row remade where an under-report shows a stale one.
|
|
10
|
+
//
|
|
11
|
+
// 18.11 — AND WHERE A SINK IS HANDED IN, each write is kept as data too, as JSON Patch (RFC 6902) at
|
|
12
|
+
// the JSON Pointer it was reached by: a member set is `add`, an index `replace` (or `add` one past
|
|
13
|
+
// the end), a delete `remove`, and an array method the `add`s and `remove`s it makes — a `push` one
|
|
14
|
+
// `add` at `/-` per item. A reorder (`sort`, `reverse`, `fill`, `copyWithin`) is one `replace` of
|
|
15
|
+
// the array, which is then sent as it stands when the callback returns, like a placed object.
|
|
16
|
+
// Anything JSON Patch cannot carry — a comparator, a hole in an array, a `Map`'s own method, a row
|
|
17
|
+
// reached before its array was reordered — marks the sink `lost` rather than send something that
|
|
18
|
+
// would land somewhere else (18.13).
|
|
19
|
+
//
|
|
20
|
+
// A RAW OBJECT THE CALLBACK PLACES IN THE VALUE IS WRITTEN THROUGH NO PROXY, since the callback
|
|
21
|
+
// holds it directly: `list.push(row); row.name = x`. So a placed object is SENT AS IT STANDS WHEN THE
|
|
22
|
+
// CALLBACK RETURNS — every op's value is copied then rather than at its write — and a write made
|
|
23
|
+
// under one is not kept, since that copy already carries it.
|
|
24
|
+
import type { PatchOp } from './PATCH_SINKS.ts'
|
|
25
|
+
import { PATCHES } from './PATCHES.ts'
|
|
26
|
+
import { RESHAPING } from './RESHAPING.ts'
|
|
27
|
+
|
|
28
|
+
// The reshaping methods JSON Patch has no op for: the array they leave is sent whole instead.
|
|
29
|
+
const REORDERING: ReadonlySet<string> = new Set([
|
|
30
|
+
'sort',
|
|
31
|
+
'reverse',
|
|
32
|
+
'fill',
|
|
33
|
+
'copyWithin',
|
|
34
|
+
])
|
|
35
|
+
|
|
36
|
+
// What a proxy of this module answers with the object it stands for, so one handed back into the
|
|
37
|
+
// value is stored as that object (`stored`) — a read any other object answers with `undefined`.
|
|
38
|
+
const TARGET = Symbol('target')
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Runs `mutate` over a proxy of `root`, marking every object it writes to in `PATCHES`.
|
|
42
|
+
*
|
|
43
|
+
* Where a `sink` is handed in, each write is also kept there as a `PatchOp`, or the sink is marked
|
|
44
|
+
* `lost` where it cannot be. A `root` that is not an array or a plain object is handed over as is.
|
|
45
|
+
*/
|
|
46
|
+
export function recordWrites<Value>(
|
|
47
|
+
root: Value,
|
|
48
|
+
mutate: (value: Value) => void,
|
|
49
|
+
sink?: { ops: PatchOp[]; lost: boolean },
|
|
50
|
+
): void {
|
|
51
|
+
if (!isWrappable(root)) {
|
|
52
|
+
mutate(root)
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
PATCHES.epoch += 1
|
|
56
|
+
const epoch = PATCHES.epoch
|
|
57
|
+
const written = PATCHES.written
|
|
58
|
+
// EVERY OBJECT THE PATCH REACHED, by what it is: the one proxy it is handed out as, so
|
|
59
|
+
// `list[0] === list[0]` inside the callback, and its parent. ONE ENTRY rather than a map for each,
|
|
60
|
+
// because a row read is the loop this runs per row and each map is a lookup and an insert there.
|
|
61
|
+
const reached = new Map<object, Reached>()
|
|
62
|
+
// 18.11 — where each object was reached from the root: a path read before its array was
|
|
63
|
+
// reshaped may no longer name the same object.
|
|
64
|
+
const paths = sink === undefined ? undefined : new Map<object, Step>()
|
|
65
|
+
// Every raw object `stored` has walked: what a placed object is — one reached under it is sent in
|
|
66
|
+
// its copy — and what stops the walk on a value inside itself.
|
|
67
|
+
let walked: Set<object> | undefined
|
|
68
|
+
|
|
69
|
+
// STOPS AT AN OBJECT ALREADY MARKED IN THIS PATCH, since everything above it was marked with it —
|
|
70
|
+
// so a loop writing every row marks the array once rather than once a row.
|
|
71
|
+
const mark = (held: object | null): void => {
|
|
72
|
+
if (held === null) return
|
|
73
|
+
// Everything marked was reached first: a target, a parent of one, or a value read.
|
|
74
|
+
const entry = reached.get(held) as Reached
|
|
75
|
+
if (entry.marked) return
|
|
76
|
+
entry.marked = true
|
|
77
|
+
written.set(held, epoch)
|
|
78
|
+
const above = entry.parent
|
|
79
|
+
if (above instanceof Parents) for (const one of above.all) mark(one)
|
|
80
|
+
else mark(above)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// THE PATH IS A PARENT POINTER, walked up at a write rather than copied down at every read. AN
|
|
84
|
+
// OBJECT REACHED TWICE HOLDS BOTH PARENTS — one shared by two rows is on both their paths, and
|
|
85
|
+
// marking only the first would leave the second showing what the patch replaced.
|
|
86
|
+
const reach = (value: object, parent: object): Reached => {
|
|
87
|
+
const known = reached.get(value)
|
|
88
|
+
// First reached: nothing below the root is written before it is reached, so there is no
|
|
89
|
+
// write here for the new parent to be marked by.
|
|
90
|
+
if (known === undefined) {
|
|
91
|
+
const proxy = isWrappable(value) ? new Proxy(value, handler) : null
|
|
92
|
+
const entry = new Reached(proxy, parent)
|
|
93
|
+
reached.set(value, entry)
|
|
94
|
+
return entry
|
|
95
|
+
}
|
|
96
|
+
const above = known.parent
|
|
97
|
+
if (above === parent || above === null) return known
|
|
98
|
+
if (above instanceof Parents) {
|
|
99
|
+
if (above.all.includes(parent)) return known
|
|
100
|
+
above.all.push(parent)
|
|
101
|
+
} else known.parent = new Parents([above, parent])
|
|
102
|
+
// A parent found after the write is above it all the same, and the early stop in `mark`
|
|
103
|
+
// would never climb to it.
|
|
104
|
+
if (known.marked) mark(parent)
|
|
105
|
+
return known
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// 18.11 — the path a write through `held` is kept at: `undefined` where it cannot be trusted, and
|
|
109
|
+
// `null` where it need not be kept because an object on it was PLACED, and is sent as it stands.
|
|
110
|
+
// A PATH IS TRUSTED WHERE EACH STEP STILL NAMES WHAT IT WAS REACHED BY, asked of the value as it
|
|
111
|
+
// stands at the write — which is when the replay applies it. A reshape, an assignment, a
|
|
112
|
+
// `delete` or a shortened `length` that moved an object off its slot all fail the same read,
|
|
113
|
+
// and an array's own path is untouched by its reshape, so two pushes to one nested list are
|
|
114
|
+
// both kept. The keys are gathered by the same walk, after `last` — the step a write names
|
|
115
|
+
// below `held`, where it names one.
|
|
116
|
+
const pathTo = (
|
|
117
|
+
held: object,
|
|
118
|
+
last: string | number | undefined,
|
|
119
|
+
): (string | number)[] | null | undefined => {
|
|
120
|
+
let step = paths?.get(held)
|
|
121
|
+
if (step === undefined) return undefined
|
|
122
|
+
const path: (string | number)[] = last === undefined ? [] : [last]
|
|
123
|
+
let child = held
|
|
124
|
+
for (; step.parent !== null; step = step.above as Step) {
|
|
125
|
+
if (step.placed) return null
|
|
126
|
+
if (Reflect.get(step.parent, step.key) !== child) return undefined
|
|
127
|
+
path.push(step.key)
|
|
128
|
+
child = step.parent
|
|
129
|
+
}
|
|
130
|
+
// The root, reordered, is sent whole too.
|
|
131
|
+
if (step.placed) return null
|
|
132
|
+
return path.reverse()
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Only an INDEX is a number: `length` on an array is a named step, and `Number('length')` is NaN.
|
|
136
|
+
const stepOf = (
|
|
137
|
+
held: object,
|
|
138
|
+
property: string | symbol,
|
|
139
|
+
): string | number =>
|
|
140
|
+
Array.isArray(held) &&
|
|
141
|
+
typeof property === 'string' &&
|
|
142
|
+
String(Number(property)) === property
|
|
143
|
+
? Number(property)
|
|
144
|
+
: String(property)
|
|
145
|
+
|
|
146
|
+
// A WRITE UNDER A PLACED OBJECT IS NOT KEPT: the copy of it sent is taken after the write.
|
|
147
|
+
const keep = (
|
|
148
|
+
held: object,
|
|
149
|
+
last: string | number | undefined,
|
|
150
|
+
ops: (pointer: string) => PatchOp[],
|
|
151
|
+
): void => {
|
|
152
|
+
if (sink === undefined || sink.lost) return
|
|
153
|
+
const path = pathTo(held, last)
|
|
154
|
+
if (path === null) return
|
|
155
|
+
if (path === undefined) {
|
|
156
|
+
sink.lost = true
|
|
157
|
+
return
|
|
158
|
+
}
|
|
159
|
+
for (const op of ops(pointerOf(path))) sink.ops.push(op)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
const handler: ProxyHandler<object> = {
|
|
163
|
+
get(held, property) {
|
|
164
|
+
if (property === TARGET) return held
|
|
165
|
+
const value = Reflect.get(held, property, held)
|
|
166
|
+
if (
|
|
167
|
+
typeof value === 'function' &&
|
|
168
|
+
Array.isArray(held) &&
|
|
169
|
+
typeof property === 'string' &&
|
|
170
|
+
RESHAPING.has(property)
|
|
171
|
+
)
|
|
172
|
+
return (...args: unknown[]) => {
|
|
173
|
+
mark(held)
|
|
174
|
+
const raws = args.map(stored)
|
|
175
|
+
if (sink !== undefined) {
|
|
176
|
+
if (args.some((arg) => typeof arg === 'function'))
|
|
177
|
+
sink.lost = true
|
|
178
|
+
else
|
|
179
|
+
keep(held, undefined, (pointer) =>
|
|
180
|
+
opsOfCall(
|
|
181
|
+
held as unknown[],
|
|
182
|
+
property,
|
|
183
|
+
raws,
|
|
184
|
+
pointer,
|
|
185
|
+
),
|
|
186
|
+
)
|
|
187
|
+
}
|
|
188
|
+
const result = (
|
|
189
|
+
value as (...args: unknown[]) => unknown
|
|
190
|
+
).apply(held, raws)
|
|
191
|
+
// A REORDERED ARRAY IS SENT WHOLE, as it stands when the callback returns —
|
|
192
|
+
// so a write under it after the reorder is in that copy, not an op of its own.
|
|
193
|
+
if (REORDERING.has(property)) {
|
|
194
|
+
const step = paths?.get(held)
|
|
195
|
+
if (step !== undefined) step.placed = true
|
|
196
|
+
}
|
|
197
|
+
// `sort`, `reverse`, `fill` and `copyWithin` answer the array itself, and
|
|
198
|
+
// handing back the raw one would take every write after it off the record.
|
|
199
|
+
return result === held
|
|
200
|
+
? (reached.get(held) as Reached).proxy
|
|
201
|
+
: result
|
|
202
|
+
}
|
|
203
|
+
if (value === null || typeof value !== 'object') return value
|
|
204
|
+
const entry = reach(value, held)
|
|
205
|
+
if (paths !== undefined && !paths.has(value)) {
|
|
206
|
+
const above = paths.get(held)
|
|
207
|
+
if (above !== undefined)
|
|
208
|
+
paths.set(
|
|
209
|
+
value,
|
|
210
|
+
new Step(
|
|
211
|
+
stepOf(held, property),
|
|
212
|
+
held,
|
|
213
|
+
above,
|
|
214
|
+
walked?.has(value) ?? false,
|
|
215
|
+
),
|
|
216
|
+
)
|
|
217
|
+
}
|
|
218
|
+
if (entry.proxy !== null) return entry.proxy
|
|
219
|
+
mark(value)
|
|
220
|
+
// Reached, and outside what a proxy can watch: whatever it does next is not kept.
|
|
221
|
+
if (sink !== undefined) sink.lost = true
|
|
222
|
+
return value
|
|
223
|
+
},
|
|
224
|
+
set(held, property, value) {
|
|
225
|
+
mark(held)
|
|
226
|
+
const raw = stored(value)
|
|
227
|
+
if (sink !== undefined) keepSet(held, property, raw)
|
|
228
|
+
return Reflect.set(held, property, raw, held)
|
|
229
|
+
},
|
|
230
|
+
deleteProperty(held, property) {
|
|
231
|
+
mark(held)
|
|
232
|
+
if (sink !== undefined) {
|
|
233
|
+
// A deleted INDEX leaves a hole JSON has no spelling for; a member not there deletes
|
|
234
|
+
// nothing, and a `remove` of it would refuse on the far side.
|
|
235
|
+
if (Array.isArray(held) || typeof property === 'symbol')
|
|
236
|
+
sink.lost = true
|
|
237
|
+
else if (Object.hasOwn(held, property))
|
|
238
|
+
keep(held, property, (pointer) => [
|
|
239
|
+
{ op: 'remove', path: pointer },
|
|
240
|
+
])
|
|
241
|
+
}
|
|
242
|
+
return Reflect.deleteProperty(held, property)
|
|
243
|
+
},
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
// An assignment as JSON Patch, read off the value BEFORE it lands: an index that exists is a
|
|
247
|
+
// `replace`, one at the end an `add`, and one past it a hole JSON cannot carry. A shortened
|
|
248
|
+
// `length` is the `remove`s it makes, from the end; a lengthened one is holes again.
|
|
249
|
+
const keepSet = (
|
|
250
|
+
held: object,
|
|
251
|
+
property: string | symbol,
|
|
252
|
+
raw: unknown,
|
|
253
|
+
): void => {
|
|
254
|
+
if (typeof property === 'symbol') {
|
|
255
|
+
;(sink as { lost: boolean }).lost = true
|
|
256
|
+
return
|
|
257
|
+
}
|
|
258
|
+
if (!Array.isArray(held)) {
|
|
259
|
+
keep(held, property, (pointer) => [
|
|
260
|
+
{ op: 'add', path: pointer, value: raw },
|
|
261
|
+
])
|
|
262
|
+
return
|
|
263
|
+
}
|
|
264
|
+
const step = stepOf(held, property)
|
|
265
|
+
if (typeof step === 'number') {
|
|
266
|
+
if (step < held.length)
|
|
267
|
+
keep(held, step, (pointer) => [
|
|
268
|
+
{ op: 'replace', path: pointer, value: raw },
|
|
269
|
+
])
|
|
270
|
+
else if (step === held.length)
|
|
271
|
+
keep(held, step, (pointer) => [
|
|
272
|
+
{ op: 'add', path: pointer, value: raw },
|
|
273
|
+
])
|
|
274
|
+
else (sink as { lost: boolean }).lost = true
|
|
275
|
+
return
|
|
276
|
+
}
|
|
277
|
+
const length = Number(raw)
|
|
278
|
+
if (property !== 'length' || !(length <= held.length)) {
|
|
279
|
+
;(sink as { lost: boolean }).lost = true
|
|
280
|
+
return
|
|
281
|
+
}
|
|
282
|
+
keep(held, undefined, (pointer) => {
|
|
283
|
+
const ops: PatchOp[] = []
|
|
284
|
+
for (let at = held.length - 1; at >= length; at -= 1)
|
|
285
|
+
ops.push({ op: 'remove', path: `${pointer}/${at}` })
|
|
286
|
+
return ops
|
|
287
|
+
})
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// WHAT A WRITE PUTS IN THE VALUE, WITH NO PROXY ANYWHERE IN IT. A proxy stored would outlive the
|
|
291
|
+
// patch and go on marking writes, and a new array built from proxied reads — a `filter`, a
|
|
292
|
+
// spread row — holds them below its top.
|
|
293
|
+
//
|
|
294
|
+
// AN OBJECT IN TWO PLACES IS NOT REFUSED: every op's copy is taken when the callback returns, so
|
|
295
|
+
// each place is sent as it then stands, and a write kept through either path replays onto the
|
|
296
|
+
// copy at that path as it did on the server. What the wire cannot carry is the one object two
|
|
297
|
+
// places share, and a value sent whole loses that the same way.
|
|
298
|
+
const stored = (value: unknown): unknown => {
|
|
299
|
+
if (value === null || typeof value !== 'object') return value
|
|
300
|
+
const target = (value as { [TARGET]?: object })[TARGET]
|
|
301
|
+
if (target !== undefined) return target
|
|
302
|
+
if (!isWrappable(value)) return value
|
|
303
|
+
walked ??= new Set()
|
|
304
|
+
if (walked.has(value)) return value
|
|
305
|
+
walked.add(value)
|
|
306
|
+
// Handed back raw by a reshape — a row `pop` took out — and put back: placed, so sent as it
|
|
307
|
+
// stands, with no proxy below it and no write under it kept.
|
|
308
|
+
const step = paths?.get(value)
|
|
309
|
+
if (step !== undefined) step.placed = true
|
|
310
|
+
if (reached.has(value)) return value
|
|
311
|
+
if (Array.isArray(value)) {
|
|
312
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
313
|
+
const field: unknown = value[index]
|
|
314
|
+
if (field === null || typeof field !== 'object') continue
|
|
315
|
+
const inner = stored(field)
|
|
316
|
+
if (inner !== field) value[index] = inner
|
|
317
|
+
}
|
|
318
|
+
return value
|
|
319
|
+
}
|
|
320
|
+
const fields = value as Record<string, unknown>
|
|
321
|
+
for (const key in fields) {
|
|
322
|
+
const field = fields[key]
|
|
323
|
+
if (field === null || typeof field !== 'object') continue
|
|
324
|
+
const inner = stored(field)
|
|
325
|
+
if (inner !== field) fields[key] = inner
|
|
326
|
+
}
|
|
327
|
+
return value
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
const proxy = new Proxy(root, handler)
|
|
331
|
+
reached.set(root, new Reached(proxy, null))
|
|
332
|
+
paths?.set(root, new Step('', null, null, false))
|
|
333
|
+
const first = sink === undefined ? 0 : sink.ops.length
|
|
334
|
+
try {
|
|
335
|
+
mutate(proxy as Value)
|
|
336
|
+
} finally {
|
|
337
|
+
// SENT AS THEY STAND NOW: the ops hold the objects they stored, and a write made after
|
|
338
|
+
// one — raw or under a placed object — is in its copy rather than an op of its own.
|
|
339
|
+
if (sink !== undefined && !sink.lost)
|
|
340
|
+
try {
|
|
341
|
+
for (let index = first; index < sink.ops.length; index += 1) {
|
|
342
|
+
const op = sink.ops[index] as PatchOp
|
|
343
|
+
if ('value' in op) op.value = snapshot(op.value)
|
|
344
|
+
}
|
|
345
|
+
} catch {
|
|
346
|
+
// A value `structuredClone` refuses — a function in a row — is sent whole instead.
|
|
347
|
+
sink.lost = true
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
const snapshot = (raw: unknown): unknown =>
|
|
353
|
+
raw !== null && typeof raw === 'object' ? structuredClone(raw) : raw
|
|
354
|
+
|
|
355
|
+
/** A path as a JSON Pointer (RFC 6901): `''` for the root, `~` as `~0` and `/` as `~1`. */
|
|
356
|
+
function pointerOf(path: (string | number)[]): string {
|
|
357
|
+
let pointer = ''
|
|
358
|
+
for (const step of path)
|
|
359
|
+
pointer += `/${String(step).replaceAll('~', '~0').replaceAll('/', '~1')}`
|
|
360
|
+
return pointer
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* The JSON Patch an array method makes, read off the array BEFORE it runs.
|
|
365
|
+
*
|
|
366
|
+
* A `splice`'s start and count are normalised the way the method does, so the `remove`s and `add`s
|
|
367
|
+
* name the indices it touches.
|
|
368
|
+
*/
|
|
369
|
+
function opsOfCall(
|
|
370
|
+
held: unknown[],
|
|
371
|
+
method: string,
|
|
372
|
+
args: unknown[],
|
|
373
|
+
pointer: string,
|
|
374
|
+
): PatchOp[] {
|
|
375
|
+
const length = held.length
|
|
376
|
+
const ops: PatchOp[] = []
|
|
377
|
+
if (method === 'push')
|
|
378
|
+
for (const value of args)
|
|
379
|
+
ops.push({ op: 'add', path: `${pointer}/-`, value })
|
|
380
|
+
else if (method === 'pop') {
|
|
381
|
+
if (length > 0)
|
|
382
|
+
ops.push({ op: 'remove', path: `${pointer}/${length - 1}` })
|
|
383
|
+
} else if (method === 'shift') {
|
|
384
|
+
if (length > 0) ops.push({ op: 'remove', path: `${pointer}/0` })
|
|
385
|
+
} else if (method === 'unshift')
|
|
386
|
+
for (let at = 0; at < args.length; at += 1)
|
|
387
|
+
ops.push({ op: 'add', path: `${pointer}/${at}`, value: args[at] })
|
|
388
|
+
else if (method === 'splice') {
|
|
389
|
+
if (args.length === 0) return ops
|
|
390
|
+
const asked = Math.trunc(Number(args[0])) || 0
|
|
391
|
+
const start =
|
|
392
|
+
asked < 0 ? Math.max(length + asked, 0) : Math.min(asked, length)
|
|
393
|
+
const count =
|
|
394
|
+
args.length < 2
|
|
395
|
+
? length - start
|
|
396
|
+
: Math.min(
|
|
397
|
+
Math.max(Math.trunc(Number(args[1])) || 0, 0),
|
|
398
|
+
length - start,
|
|
399
|
+
)
|
|
400
|
+
for (let at = 0; at < count; at += 1)
|
|
401
|
+
ops.push({ op: 'remove', path: `${pointer}/${start}` })
|
|
402
|
+
for (let at = 2; at < args.length; at += 1)
|
|
403
|
+
ops.push({
|
|
404
|
+
op: 'add',
|
|
405
|
+
path: `${pointer}/${start + at - 2}`,
|
|
406
|
+
value: args[at],
|
|
407
|
+
})
|
|
408
|
+
} else ops.push({ op: 'replace', path: pointer, value: held })
|
|
409
|
+
return ops
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* An object the patch reached: the proxy it is handed out as, and what it was reached from.
|
|
414
|
+
*
|
|
415
|
+
* `proxy` is `null` for one no proxy can stand in for, and `parent` is `null` for the root.
|
|
416
|
+
*/
|
|
417
|
+
class Reached {
|
|
418
|
+
proxy: object | null
|
|
419
|
+
parent: object | Parents | null
|
|
420
|
+
/**
|
|
421
|
+
* Written in this patch, directly or below — `PATCHES.written` holds this patch's epoch for it.
|
|
422
|
+
*/
|
|
423
|
+
marked: boolean
|
|
424
|
+
constructor(proxy: object | null, parent: object | Parents | null) {
|
|
425
|
+
this.proxy = proxy
|
|
426
|
+
this.parent = parent
|
|
427
|
+
this.marked = false
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* One step of an object's path from the root: its key, what it was read off, and that one's step.
|
|
433
|
+
*
|
|
434
|
+
* 18.11 — `parent` is `null` for the root, and `placed` says whether the callback placed it.
|
|
435
|
+
*/
|
|
436
|
+
class Step {
|
|
437
|
+
key: string | number
|
|
438
|
+
parent: object | null
|
|
439
|
+
above: Step | null
|
|
440
|
+
placed: boolean
|
|
441
|
+
constructor(
|
|
442
|
+
key: string | number,
|
|
443
|
+
parent: object | null,
|
|
444
|
+
above: Step | null,
|
|
445
|
+
placed: boolean,
|
|
446
|
+
) {
|
|
447
|
+
this.key = key
|
|
448
|
+
this.parent = parent
|
|
449
|
+
this.above = above
|
|
450
|
+
this.placed = placed
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Every parent of an object the patch reached more than once.
|
|
456
|
+
*
|
|
457
|
+
* A class so that a parent which is itself an array is never read as a list of them.
|
|
458
|
+
*/
|
|
459
|
+
class Parents {
|
|
460
|
+
all: object[]
|
|
461
|
+
constructor(all: object[]) {
|
|
462
|
+
this.all = all
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/** Whether a proxy can stand in for `value`: an array or a plain object. */
|
|
467
|
+
function isWrappable(value: unknown): value is object {
|
|
468
|
+
if (value === null || typeof value !== 'object') return false
|
|
469
|
+
if (Array.isArray(value)) return true
|
|
470
|
+
const prototype = Object.getPrototypeOf(value)
|
|
471
|
+
return prototype === Object.prototype || prototype === null
|
|
472
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
// 11.32, 11.38 AND 11.67 — A VALUE BUILT OUTSIDE EVERY SCOPE, ON A SERVER. A module's `reactive` is built
|
|
2
|
+
// once, when the module is first imported, and every request after that reaches the same object —
|
|
3
|
+
// so the value it hands back is a FORWARDER: outside a request it is the value built at import
|
|
4
|
+
// (the HOME), and inside one it is an instance of its own, built the first time that request
|
|
5
|
+
// reaches it and dropped with the request.
|
|
6
|
+
//
|
|
7
|
+
// A FORWARDER RATHER THAN A SCOPE LOOKUP IN THE CORE. A read captures its cell and nothing else,
|
|
8
|
+
// and it is the hottest path in the design; a browser never builds a forwarder, so what the read
|
|
9
|
+
// costs there is exactly what it cost before, and the lookup is paid on a server alone.
|
|
10
|
+
//
|
|
11
|
+
// THE INSTANCE IS A WHOLE VALUE, not a cell under the forwarder. A value moves between prototypes
|
|
12
|
+
// while it adopts (`ADOPTING_PROTOTYPE`), and one callable shared by every request would be moved
|
|
13
|
+
// for all of them by the first.
|
|
14
|
+
|
|
15
|
+
import { contractOf, type Gated } from './argsContract.ts'
|
|
16
|
+
import { CELL } from './CELL.ts'
|
|
17
|
+
import { KEYED_BRAND } from './KEYED_BRAND.ts'
|
|
18
|
+
import { brandedPrototype, MEMBER_KEYS } from './Reactive.ts'
|
|
19
|
+
import { SELECTION_MEMBERS } from './SELECTION_MEMBERS.ts'
|
|
20
|
+
import { currentScope, runInScope, SCOPING } from './scoping.ts'
|
|
21
|
+
|
|
22
|
+
const UNBUILT: unique symbol = Symbol('abide.unbuilt')
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* What a forwarder resolves through: the home, and how to build the same value again in a scope.
|
|
26
|
+
*
|
|
27
|
+
* 16.64 — A HANDLER'S HOME IS BUILT WHERE IT IS FIRST REACHED, and every other value's where it is
|
|
28
|
+
* declared. Building a value with a body starts the body (1.7), and at import that ran the handler
|
|
29
|
+
* — a mutation fired at boot, for a request nobody had made.
|
|
30
|
+
*
|
|
31
|
+
* A `global` handler (11.34) is filed only to be built late: every request reaches the home, built
|
|
32
|
+
* outside each of them, so it is the one value its option says it is.
|
|
33
|
+
*/
|
|
34
|
+
class Filed {
|
|
35
|
+
home: unknown
|
|
36
|
+
make: () => unknown
|
|
37
|
+
global: boolean
|
|
38
|
+
|
|
39
|
+
constructor(make: () => unknown, lazy: boolean, global: boolean) {
|
|
40
|
+
this.make = make
|
|
41
|
+
this.home = lazy ? UNBUILT : make()
|
|
42
|
+
this.global = global
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const FILED: unique symbol = Symbol('abide.filed')
|
|
47
|
+
|
|
48
|
+
type Forwarder = { [FILED]: Filed }
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The instance for the scope that is current, built there the first time it is reached.
|
|
52
|
+
*
|
|
53
|
+
* Built INSIDE the scope, so every cell it makes records that scope as its own (`Cell.scope`).
|
|
54
|
+
*/
|
|
55
|
+
function instanceOf(filed: Filed): Record<PropertyKey, unknown> {
|
|
56
|
+
const scope = filed.global ? undefined : currentScope()
|
|
57
|
+
if (scope === undefined) {
|
|
58
|
+
if (filed.home === UNBUILT)
|
|
59
|
+
filed.home = runInScope(undefined, () => filed.make(), undefined)
|
|
60
|
+
return filed.home as Record<PropertyKey, unknown>
|
|
61
|
+
}
|
|
62
|
+
let instance = scope.instances.get(filed)
|
|
63
|
+
if (instance === undefined) {
|
|
64
|
+
instance = filed.make()
|
|
65
|
+
scope.instances.set(filed, instance)
|
|
66
|
+
}
|
|
67
|
+
return instance as Record<PropertyKey, unknown>
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// EVERY MEMBER, FORWARDED — and the cell too, as a getter, because the core reaches a value's
|
|
71
|
+
// record through `[CELL]` wherever one value is handed to another (an adoption, a `set` of a
|
|
72
|
+
// `Reactive`, a `watch` over named sources). Under `Function.prototype` for `MEMBER_PROTOTYPE`'s
|
|
73
|
+
// reason: the forwarder is called as a read.
|
|
74
|
+
const forwarders: Record<PropertyKey, unknown> = {}
|
|
75
|
+
for (const key of MEMBER_KEYS)
|
|
76
|
+
forwarders[key] = function forward(
|
|
77
|
+
this: Forwarder,
|
|
78
|
+
...given: unknown[]
|
|
79
|
+
): unknown {
|
|
80
|
+
const instance = instanceOf(this[FILED])
|
|
81
|
+
return (instance[key] as (...given: unknown[]) => unknown).apply(
|
|
82
|
+
instance,
|
|
83
|
+
given,
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
const FORWARDING_PROTOTYPE = brandedPrototype(forwarders)
|
|
87
|
+
Object.defineProperty(FORWARDING_PROTOTYPE, CELL, {
|
|
88
|
+
get(this: Forwarder): unknown {
|
|
89
|
+
return instanceOf(this[FILED])[CELL]
|
|
90
|
+
},
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Whether a value built here has to be a forwarder.
|
|
95
|
+
*
|
|
96
|
+
* It does where a server is filing values, no request is current, and the value did not opt out
|
|
97
|
+
* through `global` (11.34).
|
|
98
|
+
*/
|
|
99
|
+
export function outsideScope(global: boolean): boolean {
|
|
100
|
+
const provider = SCOPING.provider
|
|
101
|
+
return !global && provider !== null && provider.current() === undefined
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* A forwarder over `make`'s value: the home outside a request, one instance per request inside.
|
|
106
|
+
*
|
|
107
|
+
* `lazy` leaves the home unbuilt until something outside every request reaches it. Only an unkeyed
|
|
108
|
+
* value can be: a keyed face carries its home's gate and defaults, and building one runs no body
|
|
109
|
+
* (11.4). `global` resolves every scope to the home, and only a lazy value is filed with it.
|
|
110
|
+
*/
|
|
111
|
+
export function scoped(
|
|
112
|
+
make: () => unknown,
|
|
113
|
+
lazy = false,
|
|
114
|
+
global = false,
|
|
115
|
+
): unknown {
|
|
116
|
+
const filed = new Filed(make, lazy, global)
|
|
117
|
+
// A keyed value, carrying both, or any other value, carrying neither.
|
|
118
|
+
const home = filed.home as { [KEYED_BRAND]?: true } & Partial<
|
|
119
|
+
Gated<unknown>
|
|
120
|
+
>
|
|
121
|
+
if (!lazy && home[KEYED_BRAND] === true) {
|
|
122
|
+
// THE KEYED FACE: a reach, the four statics and the entries, each the current instance's —
|
|
123
|
+
// and the `args` gate and the parameter's defaults, which every instance was declared with.
|
|
124
|
+
const keyed = Object.assign(
|
|
125
|
+
(args: unknown): unknown =>
|
|
126
|
+
(instanceOf(filed) as unknown as (args: unknown) => unknown)(
|
|
127
|
+
args,
|
|
128
|
+
),
|
|
129
|
+
contractOf(home),
|
|
130
|
+
{ [KEYED_BRAND]: true, [FILED]: filed },
|
|
131
|
+
) satisfies Gated<unknown>
|
|
132
|
+
const members = keyed as unknown as Record<string, unknown>
|
|
133
|
+
for (const name of SELECTION_MEMBERS)
|
|
134
|
+
members[name] = (pattern?: unknown): unknown =>
|
|
135
|
+
(instanceOf(filed)[name] as (pattern?: unknown) => unknown)(
|
|
136
|
+
pattern,
|
|
137
|
+
)
|
|
138
|
+
Object.defineProperty(keyed, 'entries', {
|
|
139
|
+
get: (): unknown => instanceOf(filed).entries,
|
|
140
|
+
})
|
|
141
|
+
return keyed
|
|
142
|
+
}
|
|
143
|
+
const read = function readScoped(): unknown {
|
|
144
|
+
return (instanceOf(filed) as unknown as () => unknown)()
|
|
145
|
+
} as unknown as Forwarder
|
|
146
|
+
Object.setPrototypeOf(read, FORWARDING_PROTOTYPE)
|
|
147
|
+
read[FILED] = filed
|
|
148
|
+
return read
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Whether `value` is request-local on this server — built without `global`, outside every request.
|
|
153
|
+
*/
|
|
154
|
+
export function isForwarder(value: unknown): boolean {
|
|
155
|
+
const filed = (value as Partial<Forwarder> | null)?.[FILED]
|
|
156
|
+
return filed !== undefined && !filed.global
|
|
157
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// 11.32 — WHERE A VALUE IS FILED. A `reactive` without `global` is request-local on a server and
|
|
2
|
+
// process-local in a browser, and this module is the whole of how the reactive core tells the two
|
|
3
|
+
// apart: a PROVIDER the server installs, and nothing at all in a browser.
|
|
4
|
+
//
|
|
5
|
+
// A SLOT RATHER THAN AN IMPORT. The scope a server keeps is an `AsyncLocalStorage`, which this seam
|
|
6
|
+
// cannot name — a browser bundle that reached `node:async_hooks` would not build. So the server
|
|
7
|
+
// fills `SCOPING.provider` (`#server/requestScope.ts`) and the core asks the slot, and a browser,
|
|
8
|
+
// where nothing fills it, pays one load of a `null` wherever the core asks.
|
|
9
|
+
|
|
10
|
+
export type Scope = {
|
|
11
|
+
/**
|
|
12
|
+
* One instance per value filed OUTSIDE any scope and reached inside this one — see `scoped.ts`.
|
|
13
|
+
*
|
|
14
|
+
* A `Map` rather than a `WeakMap` because the scope is the shorter life: it is dropped with its
|
|
15
|
+
* request, and everything it holds goes with it.
|
|
16
|
+
*/
|
|
17
|
+
instances: Map<object, unknown>
|
|
18
|
+
/**
|
|
19
|
+
* 12.5 — every `watch` opened in this scope, stopped at its teardown (`releaseScope` on a server).
|
|
20
|
+
* Left running, a render's watches stayed subscribed for the life of the process and woke at
|
|
21
|
+
* every write to anything they read, one dead request at a time.
|
|
22
|
+
*/
|
|
23
|
+
stops: (() => void)[]
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type Scoping = {
|
|
27
|
+
current(): Scope | undefined
|
|
28
|
+
/**
|
|
29
|
+
* Runs `body` with `scope` as the current one, and `undefined` as no scope at all.
|
|
30
|
+
*
|
|
31
|
+
* A body is run under the scope its value was built in, and an effect under the scope its
|
|
32
|
+
* `watch` was opened in, rather than the ambient one — which is whichever request scheduled
|
|
33
|
+
* the drain the body or effect is running in.
|
|
34
|
+
*/
|
|
35
|
+
run<Given, Result>(
|
|
36
|
+
scope: Scope | undefined,
|
|
37
|
+
body: (given: Given) => Result,
|
|
38
|
+
given: Given,
|
|
39
|
+
): Result
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const SCOPING: { provider: Scoping | null } = { provider: null }
|
|
43
|
+
|
|
44
|
+
export function currentScope(): Scope | undefined {
|
|
45
|
+
const provider = SCOPING.provider
|
|
46
|
+
return provider === null ? undefined : provider.current()
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Runs `body` under `scope` and returns what it returns.
|
|
51
|
+
*
|
|
52
|
+
* Called straight through where there is no provider, or where `scope` is already the current one,
|
|
53
|
+
* which inside a render it almost always is.
|
|
54
|
+
*/
|
|
55
|
+
export function runInScope<Given, Result>(
|
|
56
|
+
scope: Scope | undefined,
|
|
57
|
+
body: (given: Given) => Result,
|
|
58
|
+
given: Given,
|
|
59
|
+
): Result {
|
|
60
|
+
const provider = SCOPING.provider
|
|
61
|
+
return provider === null || provider.current() === scope
|
|
62
|
+
? body(given)
|
|
63
|
+
: provider.run(scope, body, given)
|
|
64
|
+
}
|