@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.
Files changed (1198) hide show
  1. package/CHANGELOG.md +3 -1781
  2. package/bin/abide.ts +788 -204
  3. package/package.json +30 -152
  4. package/scaffold/src/server/app.ts +6 -0
  5. package/scaffold/src/shared/.gitkeep +0 -0
  6. package/scaffold/src/ui/app.html +8 -0
  7. package/scaffold/src/ui/pages/page.abide +13 -0
  8. package/src/compiler/CHARACTER_REFERENCES.ts +2242 -0
  9. package/src/compiler/CheckerAnswer.ts +62 -0
  10. package/src/compiler/Cursor.ts +367 -0
  11. package/src/compiler/Finding.ts +2 -0
  12. package/src/compiler/Lowering.ts +648 -0
  13. package/src/compiler/PositionTable.ts +125 -0
  14. package/src/compiler/REACTIVE_MEMBERS.ts +36 -0
  15. package/src/compiler/SHARED_NAMES.ts +45 -0
  16. package/src/compiler/SPECIFIERS.ts +16 -0
  17. package/src/compiler/ShadowMap.ts +144 -0
  18. package/src/compiler/TemplateNode.ts +176 -0
  19. package/src/compiler/TypeSession.ts +1079 -0
  20. package/src/compiler/VOID_ELEMENTS.ts +22 -0
  21. package/src/compiler/aliasedSymbol.ts +15 -0
  22. package/src/compiler/ambientReadsIn.ts +152 -0
  23. package/src/compiler/argsDefaultsIn.ts +173 -0
  24. package/src/compiler/argsSchemaOf.ts +230 -0
  25. package/src/compiler/checkApp.ts +117 -0
  26. package/src/compiler/checkedShadow.ts +182 -0
  27. package/src/compiler/classifyRead.ts +577 -0
  28. package/src/compiler/classifyTemplate.ts +501 -0
  29. package/src/compiler/compileApp.ts +559 -0
  30. package/src/compiler/compiledEntry.ts +141 -0
  31. package/src/compiler/componentGraph.ts +139 -0
  32. package/src/compiler/declaredExports.ts +645 -0
  33. package/src/compiler/decodeCharacterReferences.ts +111 -0
  34. package/src/compiler/emitClient.ts +1343 -0
  35. package/src/compiler/emitComponent.ts +162 -0
  36. package/src/compiler/emitSource.ts +91 -0
  37. package/src/compiler/formatDiagnosis.ts +19 -0
  38. package/src/compiler/handlersUnder.ts +109 -0
  39. package/src/compiler/index.ts +15 -0
  40. package/src/compiler/invocationProps.ts +67 -0
  41. package/src/compiler/isNamedAlone.ts +9 -0
  42. package/src/compiler/lineOf.ts +38 -0
  43. package/src/compiler/parseAbide.ts +1341 -0
  44. package/src/compiler/projectShadow.ts +643 -0
  45. package/src/compiler/reactiveOptions.ts +82 -0
  46. package/src/compiler/reactiveTypes.ts +222 -0
  47. package/src/compiler/readSources.ts +100 -0
  48. package/src/compiler/readsIn.ts +1023 -0
  49. package/src/compiler/renderMarkup.ts +781 -0
  50. package/src/compiler/scaffold.ts +105 -0
  51. package/src/compiler/scopeStyles.ts +309 -0
  52. package/src/compiler/serveLanguage.ts +405 -0
  53. package/src/compiler/shareScope.ts +51 -0
  54. package/src/compiler/sharedModuleWrites.ts +88 -0
  55. package/src/compiler/splitImports.ts +387 -0
  56. package/src/compiler/templateWarnings.ts +128 -0
  57. package/src/compiler/tokenize.ts +317 -0
  58. package/src/compiler/trackingWarnings.ts +279 -0
  59. package/src/compiler/writeDefaultProject.ts +42 -0
  60. package/src/server/BRIDGE_VERSION.ts +3 -0
  61. package/src/server/CLIENT_BUILD.ts +56 -0
  62. package/src/server/DEFAULT_PORT.ts +6 -0
  63. package/src/server/DOCUMENT_HEADERS.ts +11 -0
  64. package/src/server/Inbox.ts +36 -0
  65. package/src/server/LogPanel.ts +239 -0
  66. package/src/server/MCP_PROTOCOL_VERSION.ts +3 -0
  67. package/src/server/SETTLE_MILLISECONDS.ts +7 -0
  68. package/src/server/VIRTUAL_DIRECTORY.ts +6 -0
  69. package/src/server/answerFailure.ts +91 -0
  70. package/src/server/answerRequest.ts +560 -0
  71. package/src/server/answerRpc.ts +537 -0
  72. package/src/server/answerSocket.ts +537 -0
  73. package/src/server/answerValue.ts +375 -0
  74. package/src/server/appDirectories.ts +9 -0
  75. package/src/server/appKit.ts +204 -0
  76. package/src/server/appPlugins.ts +26 -0
  77. package/src/server/argsFor.ts +40 -0
  78. package/src/server/assistant.ts +163 -0
  79. package/src/server/banner.ts +43 -0
  80. package/src/server/bridgeRelay.ts +249 -0
  81. package/src/server/buildDirectory.ts +10 -0
  82. package/src/server/callerOf.ts +60 -0
  83. package/src/server/claudeApi.ts +224 -0
  84. package/src/server/claudeCode.ts +187 -0
  85. package/src/server/clientBuildOptions.ts +49 -0
  86. package/src/server/coerceArgs.ts +110 -0
  87. package/src/server/commands.ts +442 -0
  88. package/src/server/componentImports.ts +56 -0
  89. package/src/server/componentModules.d.ts +9 -0
  90. package/src/server/compressAnswer.ts +66 -0
  91. package/src/server/config.ts +192 -0
  92. package/src/server/configFields.ts +92 -0
  93. package/src/server/createApp.ts +428 -0
  94. package/src/server/crossingOrigin.ts +49 -0
  95. package/src/server/csp.ts +77 -0
  96. package/src/server/devWorker.ts +613 -0
  97. package/src/server/faultPolicy.ts +59 -0
  98. package/src/server/fenceServer.ts +48 -0
  99. package/src/server/generatedSurfaces.ts +430 -0
  100. package/src/server/hooks.ts +190 -0
  101. package/src/server/index.ts +87 -0
  102. package/src/server/installServer.ts +47 -0
  103. package/src/server/launcherOptions.ts +62 -0
  104. package/src/server/launcherPage.ts +156 -0
  105. package/src/server/manifestOf.ts +114 -0
  106. package/src/server/muxUpgrade.ts +72 -0
  107. package/src/server/namesUnder.ts +15 -0
  108. package/src/server/nativeMenu.ts +296 -0
  109. package/src/server/negotiateEncoding.ts +39 -0
  110. package/src/server/plainAnswer.ts +19 -0
  111. package/src/server/prefers.ts +25 -0
  112. package/src/server/principal.ts +261 -0
  113. package/src/server/qualitiesOf.ts +22 -0
  114. package/src/server/randomToken.ts +9 -0
  115. package/src/server/reachable.ts +31 -0
  116. package/src/server/refuseAddressCollision.ts +30 -0
  117. package/src/server/remote.ts +242 -0
  118. package/src/server/render.ts +464 -0
  119. package/src/server/renderComponent.ts +33 -0
  120. package/src/server/reportHealth.ts +46 -0
  121. package/src/server/requestScope.ts +435 -0
  122. package/src/server/responseHelpers.ts +75 -0
  123. package/src/server/runCompiled.ts +44 -0
  124. package/src/server/runDesktop.ts +572 -0
  125. package/src/server/seedBuffer.ts +293 -0
  126. package/src/server/serveBuild.ts +198 -0
  127. package/src/server/serveDev.ts +499 -0
  128. package/src/server/shell.ts +506 -0
  129. package/src/server/surfaceOf.ts +47 -0
  130. package/src/server/testBuild.ts +237 -0
  131. package/src/server/trace.ts +151 -0
  132. package/src/server/versionOf.ts +109 -0
  133. package/src/server/withoutTrailingSlash.ts +4 -0
  134. package/src/shared/ADDRESSES.ts +69 -0
  135. package/src/shared/ANCHORS.ts +54 -0
  136. package/src/shared/Attributes.ts +339 -0
  137. package/src/shared/BOOLEAN_ATTRIBUTES.ts +41 -0
  138. package/src/shared/CHILDREN.ts +11 -0
  139. package/src/shared/CURRENT_ROUTER.ts +25 -0
  140. package/src/shared/CopyOptions.ts +19 -0
  141. package/src/shared/DEBUG_META.ts +6 -0
  142. package/src/shared/EARLY_CALLS.ts +8 -0
  143. package/src/shared/FAILURE_STATUS_TEXT.ts +48 -0
  144. package/src/shared/Failed.ts +146 -0
  145. package/src/shared/GLOBAL_GETS.ts +7 -0
  146. package/src/shared/Issues.ts +49 -0
  147. package/src/shared/JsonValue.ts +18 -0
  148. package/src/shared/LOAD_SIGNAL.ts +10 -0
  149. package/src/shared/MOUNT_META.ts +6 -0
  150. package/src/shared/Middleware.ts +34 -0
  151. package/src/shared/NAVIGATION_HEADER.ts +7 -0
  152. package/src/shared/PRINCIPAL_HEADER.ts +6 -0
  153. package/src/shared/RPC_SERVER.ts +67 -0
  154. package/src/shared/Raw.ts +90 -0
  155. package/src/shared/Schema.ts +229 -0
  156. package/src/shared/UNEXPECTED.ts +11 -0
  157. package/src/shared/URL_ATTRIBUTES.ts +19 -0
  158. package/src/shared/VERSION_HEADER.ts +6 -0
  159. package/src/shared/WORK.ts +37 -0
  160. package/src/shared/anchorMarkup.ts +15 -0
  161. package/src/shared/answerOf.ts +141 -0
  162. package/src/shared/applyPatch.ts +173 -0
  163. package/src/shared/armAnchor.ts +17 -0
  164. package/src/shared/attributeText.ts +50 -0
  165. package/src/shared/boundValue.ts +58 -0
  166. package/src/shared/cookies.ts +271 -0
  167. package/src/shared/csp.ts +55 -0
  168. package/src/shared/decodedOrKept.ts +14 -0
  169. package/src/shared/escapeText.ts +103 -0
  170. package/src/shared/framing.ts +131 -0
  171. package/src/shared/headKeyOf.ts +34 -0
  172. package/src/shared/health.ts +51 -0
  173. package/src/shared/index.ts +117 -0
  174. package/src/shared/isEventName.ts +10 -0
  175. package/src/shared/isRecord.ts +4 -0
  176. package/src/shared/issuesOf.ts +18 -0
  177. package/src/shared/jsonSchema.ts +50 -0
  178. package/src/shared/listOf.ts +20 -0
  179. package/src/shared/log.ts +284 -0
  180. package/src/shared/matchRoute.ts +99 -0
  181. package/src/shared/menuItem.ts +80 -0
  182. package/src/shared/mount.ts +45 -0
  183. package/src/shared/muxFrames.ts +35 -0
  184. package/src/shared/navigate.ts +26 -0
  185. package/src/shared/note.ts +24 -0
  186. package/src/shared/numberFromText.ts +10 -0
  187. package/src/shared/online.ts +19 -0
  188. package/src/shared/paint.ts +4 -0
  189. package/src/shared/principal.ts +145 -0
  190. package/src/shared/principalRotated.ts +47 -0
  191. package/src/shared/propCell.ts +99 -0
  192. package/src/shared/props.ts +24 -0
  193. package/src/shared/putOwn.ts +24 -0
  194. package/src/shared/queryText.ts +18 -0
  195. package/src/shared/reactive/CELL.ts +8 -0
  196. package/src/shared/reactive/Cursor.ts +223 -0
  197. package/src/shared/reactive/ENTRY_LIVES.ts +7 -0
  198. package/src/shared/reactive/Expiry.ts +103 -0
  199. package/src/shared/reactive/FOLLOWED.ts +8 -0
  200. package/src/shared/reactive/KEYED_BRAND.ts +8 -0
  201. package/src/shared/reactive/Keyed.ts +423 -0
  202. package/src/shared/reactive/MUTATION.ts +5 -0
  203. package/src/shared/reactive/NO_INITIAL.ts +6 -0
  204. package/src/shared/reactive/NotLanded.ts +21 -0
  205. package/src/shared/reactive/PATCHES.ts +11 -0
  206. package/src/shared/reactive/PATCH_SINKS.ts +26 -0
  207. package/src/shared/reactive/REACTIVE_BRAND.ts +9 -0
  208. package/src/shared/reactive/RESHAPING.ts +13 -0
  209. package/src/shared/reactive/Reactive.ts +4480 -0
  210. package/src/shared/reactive/SELECTION_MEMBERS.ts +12 -0
  211. package/src/shared/reactive/STREAMING.ts +5 -0
  212. package/src/shared/reactive/argsContract.ts +97 -0
  213. package/src/shared/reactive/byOf.ts +18 -0
  214. package/src/shared/reactive/callLoad.ts +200 -0
  215. package/src/shared/reactive/canonicalKey.ts +95 -0
  216. package/src/shared/reactive/chunksOfStream.ts +51 -0
  217. package/src/shared/reactive/index.ts +542 -0
  218. package/src/shared/reactive/isReactive.ts +19 -0
  219. package/src/shared/reactive/isThenable.ts +14 -0
  220. package/src/shared/reactive/matchesPattern.ts +16 -0
  221. package/src/shared/reactive/pairReactive.ts +41 -0
  222. package/src/shared/reactive/parameterDefaults.ts +356 -0
  223. package/src/shared/reactive/recordWrites.ts +472 -0
  224. package/src/shared/reactive/scoped.ts +157 -0
  225. package/src/shared/reactive/scoping.ts +64 -0
  226. package/src/shared/reactive/share.ts +91 -0
  227. package/src/shared/reactive/structural.ts +62 -0
  228. package/src/shared/reactive/tracking.ts +418 -0
  229. package/src/shared/reactive/watch.ts +310 -0
  230. package/src/shared/refuse.ts +224 -0
  231. package/src/shared/route.ts +29 -0
  232. package/src/shared/routePattern.ts +146 -0
  233. package/src/shared/rpc.ts +496 -0
  234. package/src/shared/rpcRequest.ts +73 -0
  235. package/src/shared/safeUrl.ts +68 -0
  236. package/src/shared/seededDocument.ts +36 -0
  237. package/src/shared/setUpLevels.ts +53 -0
  238. package/src/shared/slotValue.ts +34 -0
  239. package/src/shared/spread.ts +79 -0
  240. package/src/shared/takeEarlyCall.ts +86 -0
  241. package/src/shared/url.ts +140 -0
  242. package/src/shared/validateJson.ts +578 -0
  243. package/src/shared/versionInEtag.ts +14 -0
  244. package/src/shared/writePath.ts +95 -0
  245. package/src/ui/ArmRegion.ts +185 -0
  246. package/src/ui/LAYER_NAMES.ts +30 -0
  247. package/src/ui/List.ts +273 -0
  248. package/src/ui/Mismatch.ts +32 -0
  249. package/src/ui/RawRun.ts +99 -0
  250. package/src/ui/Router.ts +698 -0
  251. package/src/ui/Scope.ts +115 -0
  252. package/src/ui/TryRegion.ts +278 -0
  253. package/src/ui/adoptWalk.ts +126 -0
  254. package/src/ui/applyHead.ts +146 -0
  255. package/src/ui/bindElement.ts +44 -0
  256. package/src/ui/bindProperty.ts +79 -0
  257. package/src/ui/bindSpread.ts +44 -0
  258. package/src/ui/escapeless.ts +14 -0
  259. package/src/ui/index.ts +64 -0
  260. package/src/ui/leave.ts +35 -0
  261. package/src/ui/listenForRoutes.ts +92 -0
  262. package/src/ui/measureLayer.ts +34 -0
  263. package/src/ui/menuBridge.ts +19 -0
  264. package/src/ui/moveNode.ts +34 -0
  265. package/src/ui/parseMarkup.ts +35 -0
  266. package/src/ui/reconcile.ts +368 -0
  267. package/src/ui/regions.ts +137 -0
  268. package/src/ui/reportMenu.ts +57 -0
  269. package/src/ui/routing.ts +18 -0
  270. package/src/ui/rowKeyOf.ts +19 -0
  271. package/src/ui/rows.ts +99 -0
  272. package/src/ui/setAttribute.ts +37 -0
  273. package/src/ui/setClass.ts +27 -0
  274. package/src/ui/setMarkup.ts +20 -0
  275. package/src/ui/setStyleProperty.ts +30 -0
  276. package/src/ui/setText.ts +28 -0
  277. package/src/ui/socketWire.ts +258 -0
  278. package/src/ui/wire.ts +141 -0
  279. package/AGENTS.md +0 -446
  280. package/README.md +0 -249
  281. package/src/abideLsp.ts +0 -251
  282. package/src/abideModules.d.ts +0 -8
  283. package/src/abideResolverPlugin.ts +0 -1101
  284. package/src/appEntry.ts +0 -161
  285. package/src/assets/app.html +0 -12
  286. package/src/build.ts +0 -189
  287. package/src/buildCli.ts +0 -125
  288. package/src/buildDisconnected.ts +0 -117
  289. package/src/bundleApp.ts +0 -146
  290. package/src/bundleDisconnectedEntry.ts +0 -14
  291. package/src/checkAbide.ts +0 -145
  292. package/src/cliEntry.ts +0 -25
  293. package/src/clientBuildPlugins.ts +0 -33
  294. package/src/clientEntry.ts +0 -17
  295. package/src/compile.ts +0 -61
  296. package/src/controlServerWorker.ts +0 -433
  297. package/src/devEntry.ts +0 -381
  298. package/src/discoveryEntry.ts +0 -82
  299. package/src/initAgent.ts +0 -50
  300. package/src/lib/bundle/BundleMenu.ts +0 -12
  301. package/src/lib/bundle/BundleMenuItem.ts +0 -25
  302. package/src/lib/bundle/BundleWindow.ts +0 -37
  303. package/src/lib/bundle/WEBVIEW_BUILD_REVISION.ts +0 -9
  304. package/src/lib/bundle/WEBVIEW_VERSION.ts +0 -7
  305. package/src/lib/bundle/bindConnectedFlag.ts +0 -29
  306. package/src/lib/bundle/bindRequestNavigate.ts +0 -34
  307. package/src/lib/bundle/buildWebviewLib.ts +0 -111
  308. package/src/lib/bundle/bundled.ts +0 -35
  309. package/src/lib/bundle/disconnected.abide +0 -265
  310. package/src/lib/bundle/disconnected.css +0 -9
  311. package/src/lib/bundle/ensureWebviewLib.ts +0 -20
  312. package/src/lib/bundle/exitWithParent.ts +0 -30
  313. package/src/lib/bundle/infoPlist.ts +0 -52
  314. package/src/lib/bundle/installDownloads.ts +0 -34
  315. package/src/lib/bundle/installMacMenu.ts +0 -49
  316. package/src/lib/bundle/listenLocalControlServer.ts +0 -19
  317. package/src/lib/bundle/native/abideMenu.mm +0 -422
  318. package/src/lib/bundle/native/webview.h +0 -4557
  319. package/src/lib/bundle/onMenu.ts +0 -42
  320. package/src/lib/bundle/openWebview.ts +0 -104
  321. package/src/lib/bundle/pngToIcns.ts +0 -47
  322. package/src/lib/bundle/probeAbideServer.ts +0 -57
  323. package/src/lib/bundle/resolveServerBinary.ts +0 -12
  324. package/src/lib/bundle/resolveWebviewLib.ts +0 -53
  325. package/src/lib/bundle/serverBinaryFilename.ts +0 -8
  326. package/src/lib/bundle/signMacApp.ts +0 -37
  327. package/src/lib/bundle/spawnEmbeddedServer.ts +0 -73
  328. package/src/lib/bundle/stableLocalPort.ts +0 -19
  329. package/src/lib/bundle/waitForServer.ts +0 -28
  330. package/src/lib/bundle/webviewCachePath.ts +0 -23
  331. package/src/lib/bundle/webviewLibName.ts +0 -11
  332. package/src/lib/cli/completeCli.ts +0 -38
  333. package/src/lib/cli/connectToServer.ts +0 -23
  334. package/src/lib/cli/createClient.ts +0 -108
  335. package/src/lib/cli/dispatchCommand.ts +0 -72
  336. package/src/lib/cli/loadEnvFromBinaryDir.ts +0 -15
  337. package/src/lib/cli/parseArgvForRpc.ts +0 -131
  338. package/src/lib/cli/printCommandHelp.ts +0 -43
  339. package/src/lib/cli/printSessionHelp.ts +0 -28
  340. package/src/lib/cli/printSessionStatus.ts +0 -21
  341. package/src/lib/cli/printTopLevelHelp.ts +0 -83
  342. package/src/lib/cli/printTrimmed.ts +0 -8
  343. package/src/lib/cli/printValue.ts +0 -10
  344. package/src/lib/cli/renderCliCompletions.ts +0 -56
  345. package/src/lib/cli/resolveCliTarget.ts +0 -47
  346. package/src/lib/cli/runCli.ts +0 -188
  347. package/src/lib/cli/runSession.ts +0 -107
  348. package/src/lib/cli/startLocalInstance.ts +0 -14
  349. package/src/lib/cli/tokenizeArgvFlags.ts +0 -86
  350. package/src/lib/cli/tokenizeLine.ts +0 -51
  351. package/src/lib/cli/types/CliManifest.ts +0 -11
  352. package/src/lib/cli/types/CliManifestEntry.ts +0 -17
  353. package/src/lib/cli/types/CliTarget.ts +0 -13
  354. package/src/lib/mcp/annotationsForMethod.ts +0 -29
  355. package/src/lib/mcp/buildPrompts.ts +0 -25
  356. package/src/lib/mcp/createMcpResourceServer.ts +0 -113
  357. package/src/lib/mcp/createMcpServer.ts +0 -56
  358. package/src/lib/mcp/dispatchMcpRequest.ts +0 -159
  359. package/src/lib/mcp/mcpResourceServerSlot.ts +0 -13
  360. package/src/lib/mcp/mcpSurface.ts +0 -57
  361. package/src/lib/mcp/mcpTools.ts +0 -196
  362. package/src/lib/mcp/renderPrompt.ts +0 -25
  363. package/src/lib/mcp/toolResultFromResponse.ts +0 -100
  364. package/src/lib/mcp/types/JsonRpcRequest.ts +0 -12
  365. package/src/lib/mcp/types/JsonRpcResponse.ts +0 -20
  366. package/src/lib/mcp/types/McpResourceContents.ts +0 -10
  367. package/src/lib/mcp/types/McpResourceDescriptor.ts +0 -6
  368. package/src/lib/mcp/types/McpResourceServer.ts +0 -12
  369. package/src/lib/mcp/types/McpServer.ts +0 -9
  370. package/src/lib/mcp/types/McpServerOptions.ts +0 -16
  371. package/src/lib/mcp/types/McpSurface.ts +0 -15
  372. package/src/lib/mcp/types/PromptDescriptor.ts +0 -5
  373. package/src/lib/mcp/types/PromptMessage.ts +0 -2
  374. package/src/lib/mcp/types/ToolDescriptor.ts +0 -7
  375. package/src/lib/mcp/types/ToolResult.ts +0 -2
  376. package/src/lib/server/AppModule.ts +0 -47
  377. package/src/lib/server/DELETE.ts +0 -10
  378. package/src/lib/server/GET.ts +0 -10
  379. package/src/lib/server/HEAD.ts +0 -10
  380. package/src/lib/server/PATCH.ts +0 -10
  381. package/src/lib/server/POST.ts +0 -10
  382. package/src/lib/server/PUT.ts +0 -10
  383. package/src/lib/server/agent.ts +0 -86
  384. package/src/lib/server/appDataDir.ts +0 -16
  385. package/src/lib/server/cli/buildEnvContent.ts +0 -19
  386. package/src/lib/server/cli/createTarGz.ts +0 -77
  387. package/src/lib/server/cli/handleCliDownload.ts +0 -152
  388. package/src/lib/server/cli/handleCliInstall.ts +0 -37
  389. package/src/lib/server/cli/installScript.ts +0 -31
  390. package/src/lib/server/cli/maxSourceMtime.ts +0 -26
  391. package/src/lib/server/cookies.ts +0 -30
  392. package/src/lib/server/env.ts +0 -51
  393. package/src/lib/server/error.ts +0 -110
  394. package/src/lib/server/json.ts +0 -57
  395. package/src/lib/server/jsonl.ts +0 -47
  396. package/src/lib/server/prompts/definePrompt.ts +0 -21
  397. package/src/lib/server/prompts/promptRegistry.ts +0 -9
  398. package/src/lib/server/prompts/registerPrompt.ts +0 -6
  399. package/src/lib/server/prompts/renderPromptTemplate.ts +0 -17
  400. package/src/lib/server/prompts/types/Prompt.ts +0 -14
  401. package/src/lib/server/prompts/types/PromptOptions.ts +0 -12
  402. package/src/lib/server/prompts/types/PromptRegistryEntry.ts +0 -13
  403. package/src/lib/server/prompts/types/PromptRoutes.ts +0 -10
  404. package/src/lib/server/redirect.ts +0 -43
  405. package/src/lib/server/render.ts +0 -70
  406. package/src/lib/server/request.ts +0 -19
  407. package/src/lib/server/rpc/defineRpc.ts +0 -271
  408. package/src/lib/server/rpc/dispatchRpcInProcess.ts +0 -46
  409. package/src/lib/server/rpc/findRpcByCommandName.ts +0 -18
  410. package/src/lib/server/rpc/parseArgs.ts +0 -244
  411. package/src/lib/server/rpc/readBodyWithinLimit.ts +0 -47
  412. package/src/lib/server/rpc/registerRpc.ts +0 -6
  413. package/src/lib/server/rpc/resolveRpcJsonSchema.ts +0 -28
  414. package/src/lib/server/rpc/rpcRegistry.ts +0 -11
  415. package/src/lib/server/rpc/runWithRpcTimeout.ts +0 -58
  416. package/src/lib/server/rpc/types/RemoteHandler.ts +0 -31
  417. package/src/lib/server/rpc/types/RemoteRoutes.ts +0 -13
  418. package/src/lib/server/rpc/types/RpcHelper.ts +0 -185
  419. package/src/lib/server/rpc/types/RpcRegistryEntry.ts +0 -50
  420. package/src/lib/server/rpc/types/TypedError.ts +0 -18
  421. package/src/lib/server/rpc/types/TypedResponse.ts +0 -18
  422. package/src/lib/server/rpc/unprocessed.ts +0 -13
  423. package/src/lib/server/rpc/validationError.ts +0 -17
  424. package/src/lib/server/runtime/DEFAULT_PORT.ts +0 -6
  425. package/src/lib/server/runtime/DEV_READY_MESSAGE.ts +0 -6
  426. package/src/lib/server/runtime/DEV_REBUILD_MESSAGE.ts +0 -4
  427. package/src/lib/server/runtime/DEV_RELOAD_CLIENT_SCRIPT.ts +0 -92
  428. package/src/lib/server/runtime/SSR_SWAP_SCRIPT.ts +0 -19
  429. package/src/lib/server/runtime/STATUS_TEXT.ts +0 -22
  430. package/src/lib/server/runtime/STREAMED_HTML_HEADER.ts +0 -13
  431. package/src/lib/server/runtime/acceptsGzip.ts +0 -33
  432. package/src/lib/server/runtime/amendBroadcaster.ts +0 -53
  433. package/src/lib/server/runtime/buildCacheSnapshot.ts +0 -63
  434. package/src/lib/server/runtime/buildHealthPayload.ts +0 -34
  435. package/src/lib/server/runtime/buildInFlightSnapshot.ts +0 -35
  436. package/src/lib/server/runtime/buildInspectorSurface.ts +0 -47
  437. package/src/lib/server/runtime/buildOpenApiSpec.ts +0 -150
  438. package/src/lib/server/runtime/buildPreloadManifest.ts +0 -153
  439. package/src/lib/server/runtime/cacheControlForAsset.ts +0 -22
  440. package/src/lib/server/runtime/cacheStalenessBroadcaster.ts +0 -33
  441. package/src/lib/server/runtime/containsTraversal.ts +0 -41
  442. package/src/lib/server/runtime/createAppAssetServer.ts +0 -100
  443. package/src/lib/server/runtime/createAppRouteResolver.ts +0 -145
  444. package/src/lib/server/runtime/createAssetHeaderCache.ts +0 -31
  445. package/src/lib/server/runtime/createPlumbingRouter.ts +0 -212
  446. package/src/lib/server/runtime/createPublicAssetServer.ts +0 -76
  447. package/src/lib/server/runtime/createRouteDispatcher.ts +0 -121
  448. package/src/lib/server/runtime/createServer.ts +0 -605
  449. package/src/lib/server/runtime/createUiPageRenderer.ts +0 -489
  450. package/src/lib/server/runtime/crossOriginForbidden.ts +0 -17
  451. package/src/lib/server/runtime/crossOriginGate.ts +0 -29
  452. package/src/lib/server/runtime/devClientFingerprint.ts +0 -103
  453. package/src/lib/server/runtime/devReloadResponse.ts +0 -41
  454. package/src/lib/server/runtime/disableIdleTimeoutForStream.ts +0 -27
  455. package/src/lib/server/runtime/envSchemaStore.ts +0 -15
  456. package/src/lib/server/runtime/finalizeResponse.ts +0 -42
  457. package/src/lib/server/runtime/findOpenPort.ts +0 -21
  458. package/src/lib/server/runtime/flushingGzipStream.ts +0 -62
  459. package/src/lib/server/runtime/getActiveServer.ts +0 -6
  460. package/src/lib/server/runtime/globToPathSet.ts +0 -29
  461. package/src/lib/server/runtime/gzipResponse.ts +0 -57
  462. package/src/lib/server/runtime/inFlightRequests.ts +0 -13
  463. package/src/lib/server/runtime/inProcessServer.ts +0 -20
  464. package/src/lib/server/runtime/installAmbientScopeStore.ts +0 -54
  465. package/src/lib/server/runtime/internalErrorResponse.ts +0 -28
  466. package/src/lib/server/runtime/isCrossOriginRequest.ts +0 -23
  467. package/src/lib/server/runtime/listenOnOpenPort.ts +0 -36
  468. package/src/lib/server/runtime/logExposedSurfaces.ts +0 -156
  469. package/src/lib/server/runtime/maybeMountInspector.ts +0 -104
  470. package/src/lib/server/runtime/mimeForExtension.ts +0 -14
  471. package/src/lib/server/runtime/pageRenderSlot.ts +0 -15
  472. package/src/lib/server/runtime/pageUrlFromStore.ts +0 -15
  473. package/src/lib/server/runtime/parseIdleTimeout.ts +0 -10
  474. package/src/lib/server/runtime/parsePort.ts +0 -11
  475. package/src/lib/server/runtime/pathStore.ts +0 -15
  476. package/src/lib/server/runtime/registryManifests.ts +0 -66
  477. package/src/lib/server/runtime/renderCellBarrierStore.ts +0 -15
  478. package/src/lib/server/runtime/requestContext.ts +0 -5
  479. package/src/lib/server/runtime/resolvePageSnapshot.ts +0 -25
  480. package/src/lib/server/runtime/respondWithEmbeddedAsset.ts +0 -18
  481. package/src/lib/server/runtime/runWithRequestScope.ts +0 -165
  482. package/src/lib/server/runtime/serializeCacheSnapshot.ts +0 -31
  483. package/src/lib/server/runtime/serverSlot.ts +0 -13
  484. package/src/lib/server/runtime/setActiveServer.ts +0 -6
  485. package/src/lib/server/runtime/snapshotEntryFromCache.ts +0 -121
  486. package/src/lib/server/runtime/streamCacheResolutions.ts +0 -44
  487. package/src/lib/server/runtime/streamFromIterator.ts +0 -124
  488. package/src/lib/server/runtime/textResponse.ts +0 -23
  489. package/src/lib/server/runtime/typedErrorResponse.ts +0 -26
  490. package/src/lib/server/runtime/types/Assets.ts +0 -6
  491. package/src/lib/server/runtime/types/DevReloadStamp.ts +0 -14
  492. package/src/lib/server/runtime/types/InspectorCacheEntry.ts +0 -24
  493. package/src/lib/server/runtime/types/InspectorCacheSnapshot.ts +0 -11
  494. package/src/lib/server/runtime/types/InspectorContext.ts +0 -34
  495. package/src/lib/server/runtime/types/InspectorInFlightRequest.ts +0 -20
  496. package/src/lib/server/runtime/types/InspectorInFlightSnapshot.ts +0 -10
  497. package/src/lib/server/runtime/types/InspectorPrompt.ts +0 -15
  498. package/src/lib/server/runtime/types/InspectorRpc.ts +0 -27
  499. package/src/lib/server/runtime/types/InspectorSocket.ts +0 -17
  500. package/src/lib/server/runtime/types/InspectorSurface.ts +0 -16
  501. package/src/lib/server/runtime/types/RequestStore.ts +0 -125
  502. package/src/lib/server/runtime/warnUnguardedMcp.ts +0 -43
  503. package/src/lib/server/runtime/withResponseDefaults.ts +0 -29
  504. package/src/lib/server/server.ts +0 -33
  505. package/src/lib/server/socket.ts +0 -32
  506. package/src/lib/server/sockets/amendFamilyEntry.ts +0 -39
  507. package/src/lib/server/sockets/createSocketDispatcher.ts +0 -397
  508. package/src/lib/server/sockets/defineSocket.ts +0 -225
  509. package/src/lib/server/sockets/lookupSocket.ts +0 -6
  510. package/src/lib/server/sockets/registerSocket.ts +0 -18
  511. package/src/lib/server/sockets/socketOperations.ts +0 -36
  512. package/src/lib/server/sockets/socketRegistry.ts +0 -9
  513. package/src/lib/server/sockets/types/SocketOperation.ts +0 -22
  514. package/src/lib/server/sockets/types/SocketOptions.ts +0 -26
  515. package/src/lib/server/sockets/types/SocketRegistryEntry.ts +0 -19
  516. package/src/lib/server/sockets/types/SocketRoutes.ts +0 -10
  517. package/src/lib/server/sse.ts +0 -58
  518. package/src/lib/shared/ABIDE_PACKAGE_NAME.ts +0 -7
  519. package/src/lib/shared/ABIDE_VERSION.ts +0 -9
  520. package/src/lib/shared/AMEND_TOPIC_PREFIX.ts +0 -9
  521. package/src/lib/shared/ASYNC_CELL.ts +0 -5
  522. package/src/lib/shared/CACHE_CONTROL_VALUES.ts +0 -16
  523. package/src/lib/shared/CACHE_STALENESS_SOCKET.ts +0 -8
  524. package/src/lib/shared/CLI_PATH.ts +0 -7
  525. package/src/lib/shared/DEFER.ts +0 -8
  526. package/src/lib/shared/DEV_REBUILD_PATH.ts +0 -6
  527. package/src/lib/shared/DEV_RELOAD_PATH.ts +0 -6
  528. package/src/lib/shared/HEALTH_PATH.ts +0 -7
  529. package/src/lib/shared/HTTP_METHODS.ts +0 -6
  530. package/src/lib/shared/HttpError.ts +0 -30
  531. package/src/lib/shared/IDENTITY_PATH.ts +0 -6
  532. package/src/lib/shared/INSPECTOR_PATH.ts +0 -7
  533. package/src/lib/shared/MCP_PATH.ts +0 -6
  534. package/src/lib/shared/NAV_HEADER.ts +0 -8
  535. package/src/lib/shared/OFFLINE_HEADER.ts +0 -8
  536. package/src/lib/shared/PROXIED_SERVER_SUBDIRS.ts +0 -15
  537. package/src/lib/shared/REF_JSON_HEADER.ts +0 -9
  538. package/src/lib/shared/REF_JSON_TAGS.ts +0 -43
  539. package/src/lib/shared/REMOTE_FUNCTION.ts +0 -8
  540. package/src/lib/shared/REPLAYABLE_METHODS.ts +0 -12
  541. package/src/lib/shared/RESERVED_SOCKET_PREFIX.ts +0 -8
  542. package/src/lib/shared/RPC_ARGS_TYPE.ts +0 -7
  543. package/src/lib/shared/RPC_SHIM_GLOBALS.ts +0 -9
  544. package/src/lib/shared/SEEDS.ts +0 -33
  545. package/src/lib/shared/SOCKETS_PATH.ts +0 -7
  546. package/src/lib/shared/SOCKET_SEED.ts +0 -12
  547. package/src/lib/shared/SSR_SCRIPT_ID.ts +0 -11
  548. package/src/lib/shared/STREAMING_CONTENT_TYPES.ts +0 -12
  549. package/src/lib/shared/SocketDisconnectedError.ts +0 -13
  550. package/src/lib/shared/TEXT_PLAIN.ts +0 -7
  551. package/src/lib/shared/abideImportName.ts +0 -44
  552. package/src/lib/shared/abideLog.ts +0 -38
  553. package/src/lib/shared/activeCacheStore.ts +0 -12
  554. package/src/lib/shared/activePage.ts +0 -12
  555. package/src/lib/shared/amend.ts +0 -48
  556. package/src/lib/shared/amendBroadcastSlot.ts +0 -19
  557. package/src/lib/shared/appDataDir.ts +0 -34
  558. package/src/lib/shared/appNameSlot.ts +0 -10
  559. package/src/lib/shared/applyAmendLocally.ts +0 -20
  560. package/src/lib/shared/applyCacheStalenessLocally.ts +0 -18
  561. package/src/lib/shared/assertExhaustive.ts +0 -14
  562. package/src/lib/shared/attachRpcSelectorMethods.ts +0 -44
  563. package/src/lib/shared/attachSocketSelectorMethods.ts +0 -34
  564. package/src/lib/shared/augmentModule.ts +0 -18
  565. package/src/lib/shared/basePath.ts +0 -11
  566. package/src/lib/shared/basePathFromAppUrl.ts +0 -20
  567. package/src/lib/shared/baseSlot.ts +0 -9
  568. package/src/lib/shared/binaryDirEnvPath.ts +0 -12
  569. package/src/lib/shared/bodyValueForKind.ts +0 -34
  570. package/src/lib/shared/browserClientFlags.ts +0 -10
  571. package/src/lib/shared/buildArtifact.ts +0 -20
  572. package/src/lib/shared/buildRpcProxy.ts +0 -39
  573. package/src/lib/shared/buildRpcRequest.ts +0 -81
  574. package/src/lib/shared/buildSocketOverChannel.ts +0 -102
  575. package/src/lib/shared/bundleGraphFromMetafile.ts +0 -68
  576. package/src/lib/shared/bundleLayout.ts +0 -36
  577. package/src/lib/shared/cache.ts +0 -1584
  578. package/src/lib/shared/cacheEntryFromSnapshot.ts +0 -77
  579. package/src/lib/shared/cacheManagedSlot.ts +0 -10
  580. package/src/lib/shared/cacheReaderSocketSlot.ts +0 -11
  581. package/src/lib/shared/cacheStalenessSlot.ts +0 -21
  582. package/src/lib/shared/cacheStoreSlot.ts +0 -12
  583. package/src/lib/shared/cacheStores.ts +0 -10
  584. package/src/lib/shared/canonicalJson.ts +0 -86
  585. package/src/lib/shared/carriesBodyArgs.ts +0 -13
  586. package/src/lib/shared/changeAffectsClient.ts +0 -40
  587. package/src/lib/shared/clearLastConnection.ts +0 -7
  588. package/src/lib/shared/commandNameForUrl.ts +0 -17
  589. package/src/lib/shared/contentBodyKind.ts +0 -27
  590. package/src/lib/shared/contentTypeOf.ts +0 -6
  591. package/src/lib/shared/createCacheStore.ts +0 -147
  592. package/src/lib/shared/createChannelLog.ts +0 -146
  593. package/src/lib/shared/createLifecycleChannel.ts +0 -62
  594. package/src/lib/shared/createLivenessWatch.ts +0 -118
  595. package/src/lib/shared/createPushIterator.ts +0 -132
  596. package/src/lib/shared/createReachable.ts +0 -78
  597. package/src/lib/shared/createRemoteFunction.ts +0 -210
  598. package/src/lib/shared/createResolverSlot.ts +0 -30
  599. package/src/lib/shared/createRpcServerProgram.ts +0 -1007
  600. package/src/lib/shared/createSocketSubRegistry.ts +0 -112
  601. package/src/lib/shared/createSubscriber.ts +0 -55
  602. package/src/lib/shared/createTraceContext.ts +0 -21
  603. package/src/lib/shared/dataDirEnvPath.ts +0 -12
  604. package/src/lib/shared/debugGate.ts +0 -90
  605. package/src/lib/shared/decodeRefJson.ts +0 -112
  606. package/src/lib/shared/decodeResponse.ts +0 -54
  607. package/src/lib/shared/decodeWireBody.ts +0 -35
  608. package/src/lib/shared/detectRpcMethod.ts +0 -24
  609. package/src/lib/shared/detectTarget.ts +0 -27
  610. package/src/lib/shared/docSnapshotsSlot.ts +0 -13
  611. package/src/lib/shared/done.ts +0 -20
  612. package/src/lib/shared/emitLogRecord.ts +0 -217
  613. package/src/lib/shared/encodeRefJson.ts +0 -108
  614. package/src/lib/shared/encodeSeedValue.ts +0 -24
  615. package/src/lib/shared/encodeWireBody.ts +0 -18
  616. package/src/lib/shared/escapeHtml.ts +0 -15
  617. package/src/lib/shared/escapeRegex.ts +0 -9
  618. package/src/lib/shared/exeSuffix.ts +0 -9
  619. package/src/lib/shared/exitOnBuildFailure.ts +0 -18
  620. package/src/lib/shared/extraForwardHeaders.ts +0 -16
  621. package/src/lib/shared/fieldErrorsFromIssues.ts +0 -27
  622. package/src/lib/shared/fileName.ts +0 -9
  623. package/src/lib/shared/fileStem.ts +0 -11
  624. package/src/lib/shared/findExportCallSite.ts +0 -233
  625. package/src/lib/shared/formatTraceparent.ts +0 -6
  626. package/src/lib/shared/forwardHeaders.ts +0 -44
  627. package/src/lib/shared/generateDeclarations.ts +0 -72
  628. package/src/lib/shared/getRemoteMeta.ts +0 -5
  629. package/src/lib/shared/hasSeedableRequest.ts +0 -25
  630. package/src/lib/shared/health.ts +0 -179
  631. package/src/lib/shared/healthReadSlot.ts +0 -11
  632. package/src/lib/shared/healthSeedSlot.ts +0 -12
  633. package/src/lib/shared/html.ts +0 -19
  634. package/src/lib/shared/httpErrorFor.ts +0 -26
  635. package/src/lib/shared/hydrationWindow.ts +0 -53
  636. package/src/lib/shared/importNamesToStrip.ts +0 -13
  637. package/src/lib/shared/invalidate.ts +0 -39
  638. package/src/lib/shared/invalidateEvent.ts +0 -11
  639. package/src/lib/shared/invalidateTripwire.ts +0 -40
  640. package/src/lib/shared/isAbideHealthPayload.ts +0 -11
  641. package/src/lib/shared/isAsciiWhitespace.ts +0 -5
  642. package/src/lib/shared/isAsyncCell.ts +0 -11
  643. package/src/lib/shared/isAsyncIterable.ts +0 -8
  644. package/src/lib/shared/isCompileTarget.ts +0 -21
  645. package/src/lib/shared/isDebugEnabled.ts +0 -19
  646. package/src/lib/shared/isDebugNegated.ts +0 -17
  647. package/src/lib/shared/isIdentPart.ts +0 -9
  648. package/src/lib/shared/isIdentStart.ts +0 -8
  649. package/src/lib/shared/isLayoutFile.ts +0 -12
  650. package/src/lib/shared/isModuleNotFound.ts +0 -18
  651. package/src/lib/shared/isReadOnlyMethod.ts +0 -14
  652. package/src/lib/shared/isReplayableMethod.ts +0 -7
  653. package/src/lib/shared/isStreamingResponse.ts +0 -12
  654. package/src/lib/shared/isSubscribable.ts +0 -15
  655. package/src/lib/shared/isThenable.ts +0 -9
  656. package/src/lib/shared/jsonSchemaForPromptArguments.ts +0 -29
  657. package/src/lib/shared/jsonSchemaForSchema.ts +0 -39
  658. package/src/lib/shared/jsonSchemaForType.ts +0 -245
  659. package/src/lib/shared/jsonlErrorFrame.ts +0 -24
  660. package/src/lib/shared/keyForRemoteCall.ts +0 -30
  661. package/src/lib/shared/keyMatchesPrefix.ts +0 -9
  662. package/src/lib/shared/keyPrefixForRemote.ts +0 -12
  663. package/src/lib/shared/lastConnectionPath.ts +0 -7
  664. package/src/lib/shared/layoutChainForRoute.ts +0 -22
  665. package/src/lib/shared/lenientDecode.ts +0 -15
  666. package/src/lib/shared/loadEnvFile.ts +0 -17
  667. package/src/lib/shared/loadEnvFromDataDir.ts +0 -14
  668. package/src/lib/shared/loadProjectTsConfig.ts +0 -28
  669. package/src/lib/shared/log.ts +0 -24
  670. package/src/lib/shared/logClosingRecord.ts +0 -28
  671. package/src/lib/shared/logTapSlot.ts +0 -13
  672. package/src/lib/shared/manifestModule.ts +0 -39
  673. package/src/lib/shared/markFrameworkSourcesIgnored.ts +0 -47
  674. package/src/lib/shared/matchRoute.ts +0 -165
  675. package/src/lib/shared/matcherFromEnvelope.ts +0 -31
  676. package/src/lib/shared/memoizeByKey.ts +0 -32
  677. package/src/lib/shared/messageFromError.ts +0 -6
  678. package/src/lib/shared/normalizePathname.ts +0 -11
  679. package/src/lib/shared/normalizeTarget.ts +0 -10
  680. package/src/lib/shared/online.ts +0 -51
  681. package/src/lib/shared/page.ts +0 -30
  682. package/src/lib/shared/pageSlot.ts +0 -17
  683. package/src/lib/shared/pageUrlForFile.ts +0 -14
  684. package/src/lib/shared/parseBoundedEnvInt.ts +0 -20
  685. package/src/lib/shared/parseEnv.ts +0 -41
  686. package/src/lib/shared/parsePromptMarkdown.ts +0 -35
  687. package/src/lib/shared/parseRouteSegments.ts +0 -31
  688. package/src/lib/shared/parseTraceparent.ts +0 -26
  689. package/src/lib/shared/peek.ts +0 -46
  690. package/src/lib/shared/pending.ts +0 -36
  691. package/src/lib/shared/pendingAsyncCellsSlot.ts +0 -13
  692. package/src/lib/shared/prepareRemoteExport.ts +0 -40
  693. package/src/lib/shared/prepareRpcModule.ts +0 -240
  694. package/src/lib/shared/prepareSocketModule.ts +0 -46
  695. package/src/lib/shared/probeRegistries.ts +0 -68
  696. package/src/lib/shared/producerKey.ts +0 -32
  697. package/src/lib/shared/programNameForPackage.ts +0 -16
  698. package/src/lib/shared/promptNameForFile.ts +0 -10
  699. package/src/lib/shared/queryStringFromArgs.ts +0 -38
  700. package/src/lib/shared/randomHexId.ts +0 -14
  701. package/src/lib/shared/reachable.ts +0 -99
  702. package/src/lib/shared/readEnvFile.ts +0 -15
  703. package/src/lib/shared/readLastConnection.ts +0 -18
  704. package/src/lib/shared/readPackageJson.ts +0 -9
  705. package/src/lib/shared/recordRemoteMeta.ts +0 -5
  706. package/src/lib/shared/refresh.ts +0 -39
  707. package/src/lib/shared/refreshing.ts +0 -37
  708. package/src/lib/shared/remoteMetaStore.ts +0 -16
  709. package/src/lib/shared/requestScopeSlot.ts +0 -13
  710. package/src/lib/shared/resolveClientFlags.ts +0 -20
  711. package/src/lib/shared/resolvedCellsSlot.ts +0 -13
  712. package/src/lib/shared/responseBodyKind.ts +0 -35
  713. package/src/lib/shared/responseErrorText.ts +0 -9
  714. package/src/lib/shared/reviveWireField.ts +0 -49
  715. package/src/lib/shared/reviveWireOutput.ts +0 -36
  716. package/src/lib/shared/routeParamsShape.ts +0 -20
  717. package/src/lib/shared/rpcErrorRegistry.ts +0 -69
  718. package/src/lib/shared/rpcServerForRoot.ts +0 -25
  719. package/src/lib/shared/rpcTimeoutSlot.ts +0 -9
  720. package/src/lib/shared/rpcUrlForFile.ts +0 -19
  721. package/src/lib/shared/runningAsStandaloneBinary.ts +0 -13
  722. package/src/lib/shared/safeJsonForScript.ts +0 -17
  723. package/src/lib/shared/scanPages.ts +0 -25
  724. package/src/lib/shared/selectorMatcher.ts +0 -55
  725. package/src/lib/shared/selectorPrefix.ts +0 -32
  726. package/src/lib/shared/serializeEnv.ts +0 -30
  727. package/src/lib/shared/serializeSelector.ts +0 -69
  728. package/src/lib/shared/setAppName.ts +0 -5
  729. package/src/lib/shared/setOwnProperty.ts +0 -19
  730. package/src/lib/shared/setsIntersect.ts +0 -15
  731. package/src/lib/shared/sharedCacheStore.ts +0 -14
  732. package/src/lib/shared/sharedCacheStoreSlot.ts +0 -10
  733. package/src/lib/shared/skipNonCode.ts +0 -230
  734. package/src/lib/shared/snapshotShippable.ts +0 -23
  735. package/src/lib/shared/snippet.ts +0 -30
  736. package/src/lib/shared/socketNameForFile.ts +0 -11
  737. package/src/lib/shared/socketTailsSlot.ts +0 -13
  738. package/src/lib/shared/socketTapSlot.ts +0 -12
  739. package/src/lib/shared/sseErrorFrame.ts +0 -29
  740. package/src/lib/shared/streamResponse.ts +0 -180
  741. package/src/lib/shared/streamedCellsSlot.ts +0 -14
  742. package/src/lib/shared/stripImport.ts +0 -29
  743. package/src/lib/shared/subscribableFromResponse.ts +0 -51
  744. package/src/lib/shared/subscribableProbes.ts +0 -111
  745. package/src/lib/shared/tailProbeSlot.ts +0 -23
  746. package/src/lib/shared/toTagSet.ts +0 -4
  747. package/src/lib/shared/trace.ts +0 -16
  748. package/src/lib/shared/types/AmendApply.ts +0 -15
  749. package/src/lib/shared/types/AsyncComputed.ts +0 -20
  750. package/src/lib/shared/types/AsyncState.ts +0 -13
  751. package/src/lib/shared/types/CacheEntry.ts +0 -100
  752. package/src/lib/shared/types/CacheInvalidation.ts +0 -9
  753. package/src/lib/shared/types/CacheOnContext.ts +0 -15
  754. package/src/lib/shared/types/CacheOptions.ts +0 -53
  755. package/src/lib/shared/types/CachePolicy.ts +0 -31
  756. package/src/lib/shared/types/CacheReaderHook.ts +0 -11
  757. package/src/lib/shared/types/CacheSelector.ts +0 -17
  758. package/src/lib/shared/types/CacheSnapshotEntry.ts +0 -32
  759. package/src/lib/shared/types/CacheStalenessApply.ts +0 -13
  760. package/src/lib/shared/types/CacheStalenessFrame.ts +0 -24
  761. package/src/lib/shared/types/CacheStats.ts +0 -13
  762. package/src/lib/shared/types/CacheStore.ts +0 -45
  763. package/src/lib/shared/types/ChannelLog.ts +0 -13
  764. package/src/lib/shared/types/ClientFlags.ts +0 -13
  765. package/src/lib/shared/types/CompileTarget.ts +0 -6
  766. package/src/lib/shared/types/DebugGate.ts +0 -10
  767. package/src/lib/shared/types/DocSnapshots.ts +0 -12
  768. package/src/lib/shared/types/ErrorJsonSchemas.ts +0 -8
  769. package/src/lib/shared/types/ErrorSpec.ts +0 -11
  770. package/src/lib/shared/types/FrameworkLog.ts +0 -13
  771. package/src/lib/shared/types/HttpMethod.ts +0 -3
  772. package/src/lib/shared/types/InputCoercion.ts +0 -17
  773. package/src/lib/shared/types/LastConnection.ts +0 -9
  774. package/src/lib/shared/types/Log.ts +0 -13
  775. package/src/lib/shared/types/LogRecord.ts +0 -42
  776. package/src/lib/shared/types/LogVoice.ts +0 -7
  777. package/src/lib/shared/types/NamedAsyncIterable.ts +0 -26
  778. package/src/lib/shared/types/OutputWirePlan.ts +0 -17
  779. package/src/lib/shared/types/PageSnapshot.ts +0 -14
  780. package/src/lib/shared/types/PagesScan.ts +0 -7
  781. package/src/lib/shared/types/PendingAsyncCells.ts +0 -10
  782. package/src/lib/shared/types/PromptArgument.ts +0 -12
  783. package/src/lib/shared/types/RawRemoteFunction.ts +0 -20
  784. package/src/lib/shared/types/RemoteCallable.ts +0 -40
  785. package/src/lib/shared/types/RemoteFunction.ts +0 -116
  786. package/src/lib/shared/types/ReplayableMethod.ts +0 -7
  787. package/src/lib/shared/types/RequestScopeInfo.ts +0 -16
  788. package/src/lib/shared/types/ResolvedCells.ts +0 -11
  789. package/src/lib/shared/types/ResolverSlot.ts +0 -13
  790. package/src/lib/shared/types/ReturnBody.ts +0 -15
  791. package/src/lib/shared/types/RpcBuildStamps.ts +0 -32
  792. package/src/lib/shared/types/RpcError.ts +0 -26
  793. package/src/lib/shared/types/RpcErrorGuard.ts +0 -35
  794. package/src/lib/shared/types/RpcInvoker.ts +0 -6
  795. package/src/lib/shared/types/RpcOptions.ts +0 -22
  796. package/src/lib/shared/types/Socket.ts +0 -54
  797. package/src/lib/shared/types/SocketChannel.ts +0 -17
  798. package/src/lib/shared/types/SocketClientFrame.ts +0 -19
  799. package/src/lib/shared/types/SocketServerFrame.ts +0 -24
  800. package/src/lib/shared/types/SocketSubCallbacks.ts +0 -13
  801. package/src/lib/shared/types/SocketTails.ts +0 -13
  802. package/src/lib/shared/types/SourceMap.ts +0 -14
  803. package/src/lib/shared/types/SsrBootState.ts +0 -27
  804. package/src/lib/shared/types/SsrPayload.ts +0 -36
  805. package/src/lib/shared/types/StandardSchemaV1.ts +0 -56
  806. package/src/lib/shared/types/StreamPolicy.ts +0 -11
  807. package/src/lib/shared/types/StreamedCells.ts +0 -19
  808. package/src/lib/shared/types/StreamedResolution.ts +0 -28
  809. package/src/lib/shared/types/TailHooks.ts +0 -13
  810. package/src/lib/shared/types/TraceContext.ts +0 -17
  811. package/src/lib/shared/types/ValidationErrorData.ts +0 -20
  812. package/src/lib/shared/types/WireKind.ts +0 -11
  813. package/src/lib/shared/url.ts +0 -141
  814. package/src/lib/shared/validationHttpError.ts +0 -33
  815. package/src/lib/shared/warmSeedKey.ts +0 -16
  816. package/src/lib/shared/wireJsonReplacer.ts +0 -30
  817. package/src/lib/shared/withBase.ts +0 -10
  818. package/src/lib/shared/withBaseUrl.ts +0 -17
  819. package/src/lib/shared/withCacheManaged.ts +0 -18
  820. package/src/lib/shared/withJsonSchema.ts +0 -21
  821. package/src/lib/shared/writeDts.ts +0 -19
  822. package/src/lib/shared/writeHealthDts.ts +0 -36
  823. package/src/lib/shared/writeLastConnection.ts +0 -13
  824. package/src/lib/shared/writePublicAssetsDts.ts +0 -27
  825. package/src/lib/shared/writeRoutesDts.ts +0 -41
  826. package/src/lib/shared/writeRpcDts.ts +0 -60
  827. package/src/lib/shared/writeTestRpcDts.ts +0 -45
  828. package/src/lib/shared/writeTestSocketsDts.ts +0 -34
  829. package/src/lib/test/assertAgentFrameConformance.ts +0 -73
  830. package/src/lib/test/createScriptedSurface.ts +0 -45
  831. package/src/lib/test/createTestApp.ts +0 -242
  832. package/src/lib/test/createTestSocketChannel.ts +0 -85
  833. package/src/lib/ui/README.md +0 -86
  834. package/src/lib/ui/activePendingCells.ts +0 -14
  835. package/src/lib/ui/amendReaderHook.ts +0 -125
  836. package/src/lib/ui/compile/ABIDE_SEMANTIC_TOKENS_LEGEND.ts +0 -79
  837. package/src/lib/ui/compile/AbideCompileError.ts +0 -16
  838. package/src/lib/ui/compile/BLOCK_KEYWORDS.ts +0 -21
  839. package/src/lib/ui/compile/SSR_ESCAPE.ts +0 -40
  840. package/src/lib/ui/compile/TS_PRINTER.ts +0 -7
  841. package/src/lib/ui/compile/UI_RUNTIME_IMPORTS.ts +0 -86
  842. package/src/lib/ui/compile/VOID_TAGS.ts +0 -22
  843. package/src/lib/ui/compile/abideUiPlugin.ts +0 -109
  844. package/src/lib/ui/compile/analyzeComponent.ts +0 -222
  845. package/src/lib/ui/compile/asOutlet.ts +0 -30
  846. package/src/lib/ui/compile/assertTranspiles.ts +0 -19
  847. package/src/lib/ui/compile/assetModulesFile.ts +0 -32
  848. package/src/lib/ui/compile/assignmentTargetNames.ts +0 -54
  849. package/src/lib/ui/compile/asyncInterpolationFields.ts +0 -152
  850. package/src/lib/ui/compile/asyncValuePositionError.ts +0 -21
  851. package/src/lib/ui/compile/asyncValuePositionInterpolations.ts +0 -64
  852. package/src/lib/ui/compile/attrLiftPosition.ts +0 -18
  853. package/src/lib/ui/compile/awaitPlan.ts +0 -60
  854. package/src/lib/ui/compile/awaitSubjectExpr.ts +0 -23
  855. package/src/lib/ui/compile/bindListenEvent.ts +0 -18
  856. package/src/lib/ui/compile/cachedShadowProgram.ts +0 -39
  857. package/src/lib/ui/compile/cachedSourceFile.ts +0 -40
  858. package/src/lib/ui/compile/catchBinding.ts +0 -10
  859. package/src/lib/ui/compile/classStyleMergePlan.ts +0 -108
  860. package/src/lib/ui/compile/classifyInterpolationType.ts +0 -46
  861. package/src/lib/ui/compile/collectAbideDiagnostics.ts +0 -166
  862. package/src/lib/ui/compile/compileComponent.ts +0 -46
  863. package/src/lib/ui/compile/compileModule.ts +0 -306
  864. package/src/lib/ui/compile/compileSSR.ts +0 -119
  865. package/src/lib/ui/compile/compileShadow.ts +0 -1326
  866. package/src/lib/ui/compile/componentOrdinals.ts +0 -39
  867. package/src/lib/ui/compile/composeProps.ts +0 -64
  868. package/src/lib/ui/compile/createShadowLanguageService.ts +0 -348
  869. package/src/lib/ui/compile/createShadowProgram.ts +0 -127
  870. package/src/lib/ui/compile/createShadowScope.ts +0 -42
  871. package/src/lib/ui/compile/declaredNames.ts +0 -36
  872. package/src/lib/ui/compile/decodeHtmlEntities.ts +0 -53
  873. package/src/lib/ui/compile/destructureBindingNames.ts +0 -38
  874. package/src/lib/ui/compile/desugarSignals.ts +0 -1113
  875. package/src/lib/ui/compile/eachPlan.ts +0 -61
  876. package/src/lib/ui/compile/elementPlan.ts +0 -55
  877. package/src/lib/ui/compile/encodeSemanticTokens.ts +0 -60
  878. package/src/lib/ui/compile/expressionIsPrefixEvaluable.ts +0 -19
  879. package/src/lib/ui/compile/generateBuild.ts +0 -903
  880. package/src/lib/ui/compile/generateSSR.ts +0 -973
  881. package/src/lib/ui/compile/groupBindParts.ts +0 -28
  882. package/src/lib/ui/compile/hasTopLevelAwait.ts +0 -28
  883. package/src/lib/ui/compile/hoistCells.ts +0 -120
  884. package/src/lib/ui/compile/hoistableAwaits.ts +0 -183
  885. package/src/lib/ui/compile/hoistableChildRenders.ts +0 -112
  886. package/src/lib/ui/compile/identifierReferencePattern.ts +0 -13
  887. package/src/lib/ui/compile/ifPlan.ts +0 -36
  888. package/src/lib/ui/compile/interpolatedTemplateLiteral.ts +0 -27
  889. package/src/lib/ui/compile/interpolationClassifierForRoot.ts +0 -32
  890. package/src/lib/ui/compile/isAnchorPositioned.ts +0 -19
  891. package/src/lib/ui/compile/isControlFlow.ts +0 -20
  892. package/src/lib/ui/compile/isFunctionScopeBoundary.ts +0 -20
  893. package/src/lib/ui/compile/isPlainIdentifier.ts +0 -7
  894. package/src/lib/ui/compile/isSpuriousAsyncReadDiagnostic.ts +0 -215
  895. package/src/lib/ui/compile/isTextLeaf.ts +0 -16
  896. package/src/lib/ui/compile/isWhitespaceText.ts +0 -19
  897. package/src/lib/ui/compile/liftAsyncSubExpressions.ts +0 -166
  898. package/src/lib/ui/compile/liftScriptSeed.ts +0 -47
  899. package/src/lib/ui/compile/loadShadowTsConfig.ts +0 -31
  900. package/src/lib/ui/compile/lowerAsyncInterpolations.ts +0 -92
  901. package/src/lib/ui/compile/lowerCompoundAssignment.ts +0 -49
  902. package/src/lib/ui/compile/lowerContext.ts +0 -167
  903. package/src/lib/ui/compile/lowerDocAccess.ts +0 -302
  904. package/src/lib/ui/compile/lowerScript.ts +0 -190
  905. package/src/lib/ui/compile/lowerUpdateExpression.ts +0 -32
  906. package/src/lib/ui/compile/makeVarNamer.ts +0 -10
  907. package/src/lib/ui/compile/nearestProjectRoot.ts +0 -16
  908. package/src/lib/ui/compile/nodeAtShadowOffset.ts +0 -28
  909. package/src/lib/ui/compile/offsetToLineColumn.ts +0 -16
  910. package/src/lib/ui/compile/offsetToPosition.ts +0 -9
  911. package/src/lib/ui/compile/pagePropsType.ts +0 -23
  912. package/src/lib/ui/compile/parseTemplate.ts +0 -25
  913. package/src/lib/ui/compile/parseTemplateRecovering.ts +0 -1385
  914. package/src/lib/ui/compile/prepareNestedScript.ts +0 -62
  915. package/src/lib/ui/compile/reactiveBinding.ts +0 -47
  916. package/src/lib/ui/compile/referencedIdentifiers.ts +0 -35
  917. package/src/lib/ui/compile/remapShadowDiagnostic.ts +0 -30
  918. package/src/lib/ui/compile/renameSignalRefs.ts +0 -425
  919. package/src/lib/ui/compile/resolveAbideImports.ts +0 -29
  920. package/src/lib/ui/compile/resolveBranches.ts +0 -21
  921. package/src/lib/ui/compile/resolveReactiveExport.ts +0 -92
  922. package/src/lib/ui/compile/scopeAttr.ts +0 -9
  923. package/src/lib/ui/compile/scopeCss.ts +0 -138
  924. package/src/lib/ui/compile/seedTypeClassifierForRoot.ts +0 -60
  925. package/src/lib/ui/compile/shadowInterpolationClassifier.ts +0 -47
  926. package/src/lib/ui/compile/shadowNaming.ts +0 -11
  927. package/src/lib/ui/compile/signalCallee.ts +0 -24
  928. package/src/lib/ui/compile/skeletonContext.ts +0 -133
  929. package/src/lib/ui/compile/skeletonable.ts +0 -68
  930. package/src/lib/ui/compile/snippetPlan.ts +0 -28
  931. package/src/lib/ui/compile/sourceFileOptionsSignature.ts +0 -20
  932. package/src/lib/ui/compile/sourceToShadowOffset.ts +0 -24
  933. package/src/lib/ui/compile/spreadExcludedNames.ts +0 -27
  934. package/src/lib/ui/compile/staticAttr.ts +0 -11
  935. package/src/lib/ui/compile/staticAttrValue.ts +0 -13
  936. package/src/lib/ui/compile/staticTextPart.ts +0 -12
  937. package/src/lib/ui/compile/stripEffects.ts +0 -48
  938. package/src/lib/ui/compile/structuralHeadTokens.ts +0 -107
  939. package/src/lib/ui/compile/switchPlan.ts +0 -28
  940. package/src/lib/ui/compile/templateAnchorAdapter.ts +0 -61
  941. package/src/lib/ui/compile/templateElementAdapter.ts +0 -44
  942. package/src/lib/ui/compile/templateSemanticTokens.ts +0 -21
  943. package/src/lib/ui/compile/templateStartOffset.ts +0 -15
  944. package/src/lib/ui/compile/tryPlan.ts +0 -37
  945. package/src/lib/ui/compile/types/AbideDiagnostic.ts +0 -14
  946. package/src/lib/ui/compile/types/AnalyzedComponent.ts +0 -42
  947. package/src/lib/ui/compile/types/AsyncInterpolationField.ts +0 -19
  948. package/src/lib/ui/compile/types/Binding.ts +0 -24
  949. package/src/lib/ui/compile/types/CompiledShadow.ts +0 -27
  950. package/src/lib/ui/compile/types/ElementPlan.ts +0 -43
  951. package/src/lib/ui/compile/types/InterpolationClassifier.ts +0 -12
  952. package/src/lib/ui/compile/types/InterpolationKind.ts +0 -7
  953. package/src/lib/ui/compile/types/ParseDiagnostic.ts +0 -8
  954. package/src/lib/ui/compile/types/SeedTypeClassifier.ts +0 -15
  955. package/src/lib/ui/compile/types/SemanticToken.ts +0 -11
  956. package/src/lib/ui/compile/types/ShadowKind.ts +0 -9
  957. package/src/lib/ui/compile/types/ShadowScope.ts +0 -19
  958. package/src/lib/ui/compile/types/SkeletonContext.ts +0 -21
  959. package/src/lib/ui/compile/types/TemplateAttr.ts +0 -34
  960. package/src/lib/ui/compile/types/TemplateNode.ts +0 -137
  961. package/src/lib/ui/compile/types/TextPart.ts +0 -8
  962. package/src/lib/ui/compile/types/ValuePositionInterpolation.ts +0 -13
  963. package/src/lib/ui/compile/unwrapParens.ts +0 -10
  964. package/src/lib/ui/compile/walkAnchorOrder.ts +0 -57
  965. package/src/lib/ui/compile/walkElementOrder.ts +0 -60
  966. package/src/lib/ui/compile/withBindings.ts +0 -45
  967. package/src/lib/ui/compile/wrapReactionCellSources.ts +0 -121
  968. package/src/lib/ui/compile/wrapReactiveSeeds.ts +0 -44
  969. package/src/lib/ui/compile/wrapSeed.ts +0 -28
  970. package/src/lib/ui/compile/writtenTemplateNames.ts +0 -84
  971. package/src/lib/ui/computed.ts +0 -75
  972. package/src/lib/ui/createScope.ts +0 -157
  973. package/src/lib/ui/dom/MATHML_NAMESPACE.ts +0 -6
  974. package/src/lib/ui/dom/SVG_NAMESPACE.ts +0 -8
  975. package/src/lib/ui/dom/adoptRange.ts +0 -27
  976. package/src/lib/ui/dom/anchorCursor.ts +0 -25
  977. package/src/lib/ui/dom/anchoredBranch.ts +0 -153
  978. package/src/lib/ui/dom/appendSnippet.ts +0 -75
  979. package/src/lib/ui/dom/appendStatic.ts +0 -26
  980. package/src/lib/ui/dom/appendText.ts +0 -160
  981. package/src/lib/ui/dom/appendTextAt.ts +0 -39
  982. package/src/lib/ui/dom/assertClaimedText.ts +0 -30
  983. package/src/lib/ui/dom/attach.ts +0 -25
  984. package/src/lib/ui/dom/attr.ts +0 -57
  985. package/src/lib/ui/dom/awaitBlock.ts +0 -314
  986. package/src/lib/ui/dom/awaitSubject.ts +0 -118
  987. package/src/lib/ui/dom/bindProp.ts +0 -22
  988. package/src/lib/ui/dom/bindSelectValue.ts +0 -48
  989. package/src/lib/ui/dom/bindableProp.ts +0 -47
  990. package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
  991. package/src/lib/ui/dom/cellPending.ts +0 -24
  992. package/src/lib/ui/dom/claimText.ts +0 -38
  993. package/src/lib/ui/dom/clearBetween.ts +0 -16
  994. package/src/lib/ui/dom/cloneStatic.ts +0 -69
  995. package/src/lib/ui/dom/commentData.ts +0 -14
  996. package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
  997. package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
  998. package/src/lib/ui/dom/discardBoundary.ts +0 -46
  999. package/src/lib/ui/dom/disposeRange.ts +0 -18
  1000. package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
  1001. package/src/lib/ui/dom/domElementAdapter.ts +0 -20
  1002. package/src/lib/ui/dom/each.ts +0 -253
  1003. package/src/lib/ui/dom/eachAsync.ts +0 -188
  1004. package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
  1005. package/src/lib/ui/dom/enterNamespace.ts +0 -20
  1006. package/src/lib/ui/dom/fillBefore.ts +0 -42
  1007. package/src/lib/ui/dom/fillBoundary.ts +0 -38
  1008. package/src/lib/ui/dom/fillRange.ts +0 -30
  1009. package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
  1010. package/src/lib/ui/dom/hydrate.ts +0 -34
  1011. package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
  1012. package/src/lib/ui/dom/isComment.ts +0 -6
  1013. package/src/lib/ui/dom/isElement.ts +0 -6
  1014. package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
  1015. package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
  1016. package/src/lib/ui/dom/mergeProps.ts +0 -32
  1017. package/src/lib/ui/dom/mount.ts +0 -30
  1018. package/src/lib/ui/dom/mountChild.ts +0 -129
  1019. package/src/lib/ui/dom/mountRange.ts +0 -48
  1020. package/src/lib/ui/dom/mountSlot.ts +0 -38
  1021. package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
  1022. package/src/lib/ui/dom/moveRange.ts +0 -19
  1023. package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
  1024. package/src/lib/ui/dom/on.ts +0 -33
  1025. package/src/lib/ui/dom/openMarker.ts +0 -22
  1026. package/src/lib/ui/dom/outlet.ts +0 -63
  1027. package/src/lib/ui/dom/parseRawNodes.ts +0 -17
  1028. package/src/lib/ui/dom/readCall.ts +0 -29
  1029. package/src/lib/ui/dom/readCell.ts +0 -55
  1030. package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
  1031. package/src/lib/ui/dom/removeRange.ts +0 -18
  1032. package/src/lib/ui/dom/replaceRange.ts +0 -24
  1033. package/src/lib/ui/dom/restProps.ts +0 -32
  1034. package/src/lib/ui/dom/skeleton.ts +0 -153
  1035. package/src/lib/ui/dom/spreadAttrs.ts +0 -95
  1036. package/src/lib/ui/dom/spreadProps.ts +0 -31
  1037. package/src/lib/ui/dom/switchBlock.ts +0 -80
  1038. package/src/lib/ui/dom/templateFor.ts +0 -28
  1039. package/src/lib/ui/dom/tryBlock.ts +0 -263
  1040. package/src/lib/ui/dom/types/EachRow.ts +0 -21
  1041. package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
  1042. package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
  1043. package/src/lib/ui/dom/when.ts +0 -58
  1044. package/src/lib/ui/dom/withScope.ts +0 -37
  1045. package/src/lib/ui/dom/withSuspense.ts +0 -22
  1046. package/src/lib/ui/dom/writeCell.ts +0 -22
  1047. package/src/lib/ui/effect.ts +0 -24
  1048. package/src/lib/ui/enterScope.ts +0 -18
  1049. package/src/lib/ui/exitScope.ts +0 -8
  1050. package/src/lib/ui/finalizeStreamedChildren.ts +0 -88
  1051. package/src/lib/ui/flight.ts +0 -56
  1052. package/src/lib/ui/html.ts +0 -39
  1053. package/src/lib/ui/isolateCellBarrier.ts +0 -17
  1054. package/src/lib/ui/linked.ts +0 -125
  1055. package/src/lib/ui/navigate.ts +0 -77
  1056. package/src/lib/ui/probeNavigation.ts +0 -33
  1057. package/src/lib/ui/props.ts +0 -17
  1058. package/src/lib/ui/remoteProxy.ts +0 -256
  1059. package/src/lib/ui/renderChain.ts +0 -113
  1060. package/src/lib/ui/renderToStream.ts +0 -128
  1061. package/src/lib/ui/resumeSeedScript.ts +0 -27
  1062. package/src/lib/ui/router.ts +0 -649
  1063. package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
  1064. package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
  1065. package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
  1066. package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
  1067. package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
  1068. package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
  1069. package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
  1070. package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
  1071. package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
  1072. package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
  1073. package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
  1074. package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
  1075. package/src/lib/ui/runtime/OWNER.ts +0 -8
  1076. package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
  1077. package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -18
  1078. package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
  1079. package/src/lib/ui/runtime/RENDER.ts +0 -35
  1080. package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
  1081. package/src/lib/ui/runtime/RESUME.ts +0 -21
  1082. package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
  1083. package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
  1084. package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
  1085. package/src/lib/ui/runtime/abortNode.ts +0 -22
  1086. package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
  1087. package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
  1088. package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
  1089. package/src/lib/ui/runtime/batch.ts +0 -22
  1090. package/src/lib/ui/runtime/blockId.ts +0 -31
  1091. package/src/lib/ui/runtime/boundaryFor.ts +0 -11
  1092. package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
  1093. package/src/lib/ui/runtime/claimChild.ts +0 -8
  1094. package/src/lib/ui/runtime/claimExpected.ts +0 -27
  1095. package/src/lib/ui/runtime/claimMarker.ts +0 -13
  1096. package/src/lib/ui/runtime/claimRun.ts +0 -22
  1097. package/src/lib/ui/runtime/clientPage.ts +0 -116
  1098. package/src/lib/ui/runtime/consumeSeed.ts +0 -38
  1099. package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
  1100. package/src/lib/ui/runtime/createComputedNode.ts +0 -19
  1101. package/src/lib/ui/runtime/createDoc.ts +0 -334
  1102. package/src/lib/ui/runtime/createEffectNode.ts +0 -81
  1103. package/src/lib/ui/runtime/createSignalNode.ts +0 -19
  1104. package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
  1105. package/src/lib/ui/runtime/detachLink.ts +0 -21
  1106. package/src/lib/ui/runtime/endTracking.ts +0 -24
  1107. package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
  1108. package/src/lib/ui/runtime/escapeKey.ts +0 -19
  1109. package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
  1110. package/src/lib/ui/runtime/flushEffects.ts +0 -91
  1111. package/src/lib/ui/runtime/generationGuard.ts +0 -40
  1112. package/src/lib/ui/runtime/historyEntries.ts +0 -151
  1113. package/src/lib/ui/runtime/inScope.ts +0 -19
  1114. package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
  1115. package/src/lib/ui/runtime/nextBlockId.ts +0 -12
  1116. package/src/lib/ui/runtime/parkCursor.ts +0 -10
  1117. package/src/lib/ui/runtime/pathSegments.ts +0 -10
  1118. package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
  1119. package/src/lib/ui/runtime/readNode.ts +0 -38
  1120. package/src/lib/ui/runtime/renderPath.ts +0 -16
  1121. package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
  1122. package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
  1123. package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
  1124. package/src/lib/ui/runtime/runNode.ts +0 -75
  1125. package/src/lib/ui/runtime/runtimePath.ts +0 -9
  1126. package/src/lib/ui/runtime/scope.ts +0 -46
  1127. package/src/lib/ui/runtime/scopeGroup.ts +0 -40
  1128. package/src/lib/ui/runtime/toTeardown.ts +0 -38
  1129. package/src/lib/ui/runtime/track.ts +0 -60
  1130. package/src/lib/ui/runtime/trigger.ts +0 -74
  1131. package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
  1132. package/src/lib/ui/runtime/types/Boundary.ts +0 -9
  1133. package/src/lib/ui/runtime/types/Cell.ts +0 -7
  1134. package/src/lib/ui/runtime/types/Computed.ts +0 -3
  1135. package/src/lib/ui/runtime/types/Doc.ts +0 -24
  1136. package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
  1137. package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
  1138. package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
  1139. package/src/lib/ui/runtime/types/Patch.ts +0 -11
  1140. package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
  1141. package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
  1142. package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
  1143. package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
  1144. package/src/lib/ui/runtime/types/Route.ts +0 -9
  1145. package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
  1146. package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
  1147. package/src/lib/ui/runtime/types/State.ts +0 -3
  1148. package/src/lib/ui/runtime/types/Teardown.ts +0 -5
  1149. package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
  1150. package/src/lib/ui/runtime/types/UiProps.ts +0 -12
  1151. package/src/lib/ui/runtime/unescapeKey.ts +0 -12
  1152. package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
  1153. package/src/lib/ui/runtime/untrack.ts +0 -20
  1154. package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
  1155. package/src/lib/ui/runtime/walkPath.ts +0 -41
  1156. package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
  1157. package/src/lib/ui/runtime/withPath.ts +0 -16
  1158. package/src/lib/ui/runtime/withPathFrom.ts +0 -20
  1159. package/src/lib/ui/runtime/withoutHydration.ts +0 -22
  1160. package/src/lib/ui/runtime/writeNode.ts +0 -16
  1161. package/src/lib/ui/scope.ts +0 -20
  1162. package/src/lib/ui/seedBootState.ts +0 -53
  1163. package/src/lib/ui/seedStreamedResolution.ts +0 -56
  1164. package/src/lib/ui/settleAsyncCells.ts +0 -51
  1165. package/src/lib/ui/socketChannel.ts +0 -156
  1166. package/src/lib/ui/socketProxy.ts +0 -47
  1167. package/src/lib/ui/startClient.ts +0 -156
  1168. package/src/lib/ui/state.ts +0 -77
  1169. package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
  1170. package/src/lib/ui/trackedComputed.ts +0 -68
  1171. package/src/lib/ui/tryEncodeResume.ts +0 -11
  1172. package/src/lib/ui/types/Layouts.ts +0 -9
  1173. package/src/lib/ui/types/Pages.ts +0 -8
  1174. package/src/lib/ui/types/Scope.ts +0 -68
  1175. package/src/lib/ui/watch.ts +0 -150
  1176. package/src/preload.ts +0 -19
  1177. package/src/scaffold.ts +0 -153
  1178. package/src/serverBuildPlugins.ts +0 -25
  1179. package/src/serverEntry.ts +0 -138
  1180. package/src/zodCjsPlugin.ts +0 -51
  1181. package/template/.zed/settings.json +0 -10
  1182. package/template/CLAUDE.md +0 -22
  1183. package/template/bunfig.toml +0 -4
  1184. package/template/package.json +0 -21
  1185. package/template/src/app.ts +0 -28
  1186. package/template/src/bundle/icon.png +0 -0
  1187. package/template/src/cli/banner.txt +0 -3
  1188. package/template/src/cli/footer.txt +0 -1
  1189. package/template/src/server/config.ts +0 -17
  1190. package/template/src/server/rpc/getHello.ts +0 -38
  1191. package/template/src/ui/app.css +0 -21
  1192. package/template/src/ui/app.html +0 -24
  1193. package/template/src/ui/pages/about/page.abide +0 -7
  1194. package/template/src/ui/pages/layout.abide +0 -19
  1195. package/template/src/ui/pages/page.abide +0 -19
  1196. package/template/test/app.test.ts +0 -30
  1197. package/template/tsconfig.json +0 -18
  1198. package/tsconfig.app.json +0 -17
@@ -0,0 +1,91 @@
1
+ import type { Reactive } from './Reactive.ts'
2
+
3
+ // 10 — `reactive.share(key, create)`: get-or-create by key, in the component instance and its
4
+ // descendants (10.5). One call does both (10.1), so there is no "has it" to race with a "make it".
5
+ //
6
+ // 10.7 REFUSES A PROCESS-WIDE ONE, and that is what makes this a scope rather than a map. Two
7
+ // `<Shelf/>` instances each holding `queued` are two values; a `<TrackRow/>` under a page that
8
+ // holds `nowPlaying` finds the page's. The difference is the CHAIN, and the chain is the
9
+ // component tree — which exists now that a component is invoked rather than written as markup.
10
+ //
11
+ // A SCOPE PER COMPONENT THAT SHARES, not per component. A file that never calls this needs no node
12
+ // of its own: it is a link nothing is filed under, and a descendant's walk passes straight through
13
+ // it to the ancestor that does hold the key. The emitters open one exactly where the call is, so
14
+ // what a page pays for the mechanism is nothing unless it uses it.
15
+
16
+ export type ShareScope = {
17
+ parent: ShareScope | null
18
+ values: Map<string, unknown>
19
+ }
20
+
21
+ // The instance being rendered or mounted, or `null` outside one. A dynamic scope like
22
+ // `TRACKING.reader` is, and for the same reason: the call is made in an author's own setup, which
23
+ // cannot be handed a parameter.
24
+ let CURRENT: ShareScope | null = null
25
+
26
+ /**
27
+ * The app's registry of shared keys, declaration-merged (10.3).
28
+ *
29
+ * Empty here: an app widens it, and a key it declares is checked against it where a key it does
30
+ * not is inferred from the thunk.
31
+ */
32
+ // biome-ignore lint/suspicious/noEmptyInterface: 10.3 — an app merges its own keys into this.
33
+ export interface Shared {}
34
+
35
+ /** The value held under `key` by this component or its nearest ancestor, or one created here. */
36
+ export function share<Key extends string, Value>(
37
+ key: Key,
38
+ create: () => Reactive<Value>,
39
+ ): Key extends keyof Shared ? Reactive<Shared[Key]> : Reactive<Value> {
40
+ const scope = CURRENT
41
+ if (scope === null)
42
+ throw new Error(
43
+ `abide: reactive.share('${key}') was called outside a component instance, and the scope it would get or create in is that instance. RULEBOOK 10.5.`,
44
+ )
45
+ for (let at: ShareScope | null = scope; at !== null; at = at.parent) {
46
+ const held = at.values.get(key)
47
+ // 10.4 — held for the life of the scope, so a second call in a descendant finds this one
48
+ // rather than building a second value the first one's readers never hear from.
49
+ if (held !== undefined) return held as never
50
+ }
51
+ // 10.6 — created HERE where no ancestor holds it, which is what makes two siblings two values.
52
+ const made = create()
53
+ scope.values.set(key, made)
54
+ return made as never
55
+ }
56
+
57
+ /**
58
+ * Opens a share scope around an emitted component's body, and returns the previous one.
59
+ *
60
+ * The PREVIOUS scope comes back rather than the new one: restoring is the whole of the close
61
+ * (`leaveShare`), and a component that threw still has to restore it.
62
+ */
63
+ export function enterShare(): ShareScope | null {
64
+ const previous = CURRENT
65
+ CURRENT = { parent: previous, values: new Map() }
66
+ return previous
67
+ }
68
+
69
+ export function leaveShare(previous: ShareScope | null): void {
70
+ CURRENT = previous
71
+ }
72
+
73
+ /**
74
+ * The share scope current now, for an instance to capture at mount and a deferred mount to resume.
75
+ *
76
+ * 10.5 THROUGH A MOUNT THAT HAPPENS LATER. A row the list grows by is mounted from a `watch`
77
+ * effect, not from inside its caller's mount — so nothing is on the stack and `CURRENT` is null,
78
+ * and a child that shares would open a chain of its own and miss the key its page holds. The
79
+ * instance captures its own scope at mount and the deferred mount resumes it, which is what makes
80
+ * a row added after the click a descendant of the same page as the rows the server wrote.
81
+ */
82
+ export function currentShare(): ShareScope | null {
83
+ return CURRENT
84
+ }
85
+
86
+ /** Makes a captured share scope current again, and returns the previous one to restore. */
87
+ export function resumeShare(scope: ShareScope | null): ShareScope | null {
88
+ const previous = CURRENT
89
+ CURRENT = scope
90
+ return previous
91
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The by-value comparator an app passes as `identity`: deep equality over arrays and plain objects.
3
+ *
4
+ * Not the default: the default is the reference, and this is what a value whose producer
5
+ * RE-MATERIALISES declares — `reactive(() => getInvoice({ id }), { identity: structural })`. A
6
+ * fresh-but-equal payload waking every reader is why it exists at all; what it stops being is the
7
+ * price every other value pays.
8
+ *
9
+ * 5.5: it answers "not equal" wherever it cannot decide. A comparator that guessed would collapse
10
+ * a production a reader needed, and the failure is silent — the value stays right while the wake
11
+ * goes missing.
12
+ */
13
+ export function structural(next: unknown, previous: unknown): boolean {
14
+ if (Object.is(next, previous)) return true
15
+ if (
16
+ next === null ||
17
+ previous === null ||
18
+ typeof next !== 'object' ||
19
+ typeof previous !== 'object'
20
+ )
21
+ return false
22
+
23
+ const nextIsArray = Array.isArray(next)
24
+ if (nextIsArray !== Array.isArray(previous)) return false
25
+ if (nextIsArray) {
26
+ const one = next as unknown[]
27
+ const two = previous as unknown[]
28
+ if (one.length !== two.length) return false
29
+ for (let index = 0; index < one.length; index += 1)
30
+ if (!structural(one[index], two[index])) return false
31
+ return true
32
+ }
33
+
34
+ // Anything exotic — a Map, a Date, a class instance — is where 5.5 bites. Walking
35
+ // own enumerable keys on one of those compares nothing that decides it.
36
+ if (
37
+ Object.getPrototypeOf(next) !== Object.prototype ||
38
+ Object.getPrototypeOf(previous) !== Object.prototype
39
+ )
40
+ return false
41
+
42
+ // `Object.keys` ALLOCATES TWO ARRAYS PER COMPARE and it is still the fast arm.
43
+ // Replacing both with `for...in` walks — no allocation, one counting pass for the
44
+ // other side — measured SLOWER under JSC on the shape this runs on: 45.8 ns became
45
+ // 48.6 ns and 56.7 ns across two runs. Per-iteration cost in `for...in` exceeds what the
46
+ // allocation saves at this object size, so the allocation stays.
47
+ const keys = Object.keys(next as Record<string, unknown>)
48
+ if (keys.length !== Object.keys(previous as Record<string, unknown>).length)
49
+ return false
50
+ for (let index = 0; index < keys.length; index += 1) {
51
+ const key = keys[index] as string
52
+ if (!Object.hasOwn(previous, key)) return false
53
+ if (
54
+ !structural(
55
+ (next as Record<string, unknown>)[key],
56
+ (previous as Record<string, unknown>)[key],
57
+ )
58
+ )
59
+ return false
60
+ }
61
+ return true
62
+ }
@@ -0,0 +1,418 @@
1
+ // RULEBOOK 14: a `Reactive` is tracked only where something downstream will be rebuilt
2
+ // from it, and 14.11 has the value push its own subscriber when it evaluates, whoever
3
+ // reached it. 14.13 makes tracking SYNCHRONOUS, which is what keeps the cost to one
4
+ // variable save and restore rather than a context propagated across every promise in
5
+ // the process.
6
+ //
7
+ // THE READER IS A FIELD ON A MODULE-SCOPE RECORD rather than a module-scope `let` with
8
+ // an accessor, so a read can test it INLINE. A read is the hottest path in the design —
9
+ // per template slot, per row — and an exported getter puts a call frame in front of the
10
+ // null check that skips the work.
11
+ //
12
+ // SOURCES ARE AN ARRAY AND A CURSOR, not a set rebuilt per run. A body reads the same
13
+ // values in the same order on almost every run, so the common shape is "the source at
14
+ // the cursor is the one we already had" — a pointer compare and an increment, with no
15
+ // set operation at all. The general algorithm is the fallback: the first read that does
16
+ // not match detaches everything from the cursor on and rebuilds it.
17
+ //
18
+ // DIVERGENCE IS SAID BY THE CURSOR, not by a flag beside it. `cursor === sources.length`
19
+ // IS the diverged state — a run that diverges truncates to its cursor and appends from
20
+ // there, so the two stay equal for the rest of the run and the cursor can never match
21
+ // again. The flag that used to carry this was a second field load and a second branch on
22
+ // the read path, which is the hottest path in the design.
23
+
24
+ /**
25
+ * The first of the three states a reader can be in: nothing it read has moved.
26
+ *
27
+ * THE THREE STATES A READER CAN BE IN, and the whole of push-pull is that there are three rather
28
+ * than two. `DIRTY` says a source of mine PRODUCED and I must run. `CHECK` says a source of mine
29
+ * may have — something further up produced, and whether it reached me is not known until the
30
+ * sources between us have been asked.
31
+ *
32
+ * Two states cannot carry that distinction, and the distinction is the design: a write marks its
33
+ * direct readers `DIRTY` and everything beyond them `CHECK`, so the mark walk is O(V) flag writes
34
+ * and runs no body at all. A `CHECK` node asked for its value resolves its sources first and runs
35
+ * only where one of them produced — which is what keeps 5.2 true through a chain that eager kept
36
+ * by running every body and comparing.
37
+ *
38
+ * The ORDER matters: a mark never weakens, so `state >= wanted` is the skip test. Annotated
39
+ * `number` rather than left as literals on purpose: the field is mutated by a resolution the
40
+ * compiler cannot see through, so a literal type would narrow `state === CHECK` to `1` and then
41
+ * call the `state === DIRTY` beneath it unreachable.
42
+ */
43
+ export const CLEAN: number = 0
44
+ /** A source of mine may have produced; ask the sources between us before running. See `CLEAN`. */
45
+ export const CHECK: number = 1
46
+ /** A source of mine produced, and I must run. See `CLEAN`. */
47
+ export const DIRTY: number = 2
48
+
49
+ export type Subscriber = {
50
+ notify(): void
51
+ /**
52
+ * `CLEAN`, `CHECK` or `DIRTY`.
53
+ *
54
+ * Set on every transitive reader before anything runs, so a body that reads a source the
55
+ * resolution has not reached yet pulls it forward rather than reading a value the write has
56
+ * passed by.
57
+ */
58
+ state: number
59
+ /** The re-entrancy guard for a body already on the stack. */
60
+ running: boolean
61
+ isEffect: boolean
62
+ /**
63
+ * Whether this reader runs in the mark walk rather than the drain.
64
+ *
65
+ * A MIRROR RUNS IN THE MARK WALK, NOT THE DRAIN, and must not be batched with an effect. An
66
+ * adoption's mirror moves a VALUE — it is the outer value's production, arriving from the inner
67
+ * one — so deferring it to the end of the turn would leave a read between the two answering
68
+ * with what the outer held before, and reads pulling correctly is the whole reason the drain
69
+ * can be deferred at all. A keyed entry's lifetime is the one mirror with no adopter: it runs
70
+ * in the walk so its clock read is the production's own moment.
71
+ */
72
+ isMirror: boolean
73
+ /**
74
+ * The value an adoption's mirror mirrors into, and `null` on every other reader.
75
+ *
76
+ * A probe move on the adopted value mints nothing, so it never reaches the mirror as a value —
77
+ * this is the edge `markProbes` follows to reach the adopter's guards instead (11.50).
78
+ */
79
+ adopter: Tracked | null
80
+ /** Read on the last run, in order. Rebuilt only from the point a run diverges. */
81
+ sources: Tracked[]
82
+ /**
83
+ * The values whose PROBES this run asked about — another edge than the values it read (3.3).
84
+ *
85
+ * Kept apart so a flip reaches the readers that asked and nobody else: waking a value reader
86
+ * because a load STARTED is 50 data writes on a 50-row list, every one of them redundant, and
87
+ * the identity gate that exists to stop exactly that cannot see a production nobody minted.
88
+ */
89
+ probeSources: Tracked[]
90
+ /**
91
+ * How far into `sources` this run has matched.
92
+ *
93
+ * Once it reaches `sources.length` the run has DIVERGED and every read left goes through
94
+ * `track`. Reset before each run.
95
+ */
96
+ cursor: number
97
+ /**
98
+ * The distinct values in `sources[0..seenThrough)` once `track` has found them worth a set;
99
+ * `null` until a body reads that many. See `track`.
100
+ */
101
+ seen: Set<Tracked> | null
102
+ /** The cursor after this reader's last read `track` deduped past `SET_OVER_SCAN`. */
103
+ seenThrough: number
104
+ /**
105
+ * Where the stretch of diverged reads `seenThrough` ends began, while it is still being
106
+ * scanned — and `-1` once `seen` is what answers for it.
107
+ */
108
+ scanningFrom: number
109
+ alive: boolean
110
+ }
111
+
112
+ export type Tracked = {
113
+ readers: Subscriber[]
114
+ /** Who asked about this value's probes. Apart from `readers` — see `probeSources`. */
115
+ probeReaders: Subscriber[]
116
+ }
117
+
118
+ /** The reader whose run is on the stack, or `null` where reads subscribe to nothing. */
119
+ export const TRACKING: { reader: Subscriber | null } = { reader: null }
120
+
121
+ function unwired(): void {}
122
+
123
+ /**
124
+ * A fresh reader over `sources`, its `notify` left for the caller to assign.
125
+ *
126
+ * ONE PLACE THE SHAPE IS WRITTEN for every reader in this graph that is not a `Cell`: the tracked
127
+ * effect and the narrowed one in `watch.ts`, a history cursor, the waiter a `then` parks on a
128
+ * probe edge, and a keyed entry's lifetime mirror.
129
+ *
130
+ * THE FIELD ORDER IS THE PART NO TEST CATCHES. TypeScript refuses a literal that MISSES a field, so
131
+ * copies could not diverge in content — but it says nothing about the order they are written in,
132
+ * and each order is its own hidden class for one type. Every `reader.state` and `reader.alive` on
133
+ * the mark walk is then a polymorphic load, and nothing about the output moves.
134
+ *
135
+ * `notify` IS ASSIGNED BY THE CALLER, which is a write to a field that is already there and so
136
+ * leaves the shape alone — each reader's closes over the reader itself, which a factory parameter
137
+ * cannot do without a second frame on every wake.
138
+ */
139
+ export function newSubscriber(
140
+ sources: Tracked[],
141
+ adopter: Tracked | null,
142
+ isMirror: boolean = adopter !== null,
143
+ ): Subscriber {
144
+ return {
145
+ sources,
146
+ probeSources: [],
147
+ cursor: 0,
148
+ seen: null,
149
+ seenThrough: 0,
150
+ scanningFrom: -1,
151
+ alive: true,
152
+ state: CLEAN,
153
+ running: false,
154
+ isEffect: true,
155
+ isMirror,
156
+ adopter,
157
+ notify: unwired,
158
+ }
159
+ }
160
+
161
+ /**
162
+ * Removes `reader` from `source`'s readers.
163
+ *
164
+ * Removal by swap-with-last: order in a reader list is not observable, and a splice is O(n)
165
+ * copying where this is one write. Exported because readers are registered OUTSIDE the tracking
166
+ * protocol too — a cursor in `Cursor.ts`, an entry's lifetime in `Keyed.ts` — and a second copy
167
+ * of the loop beside this one is what CLAUDE.md's sibling-seam rule refuses.
168
+ */
169
+ export function dropReader(source: Tracked, reader: Subscriber): void {
170
+ removeFrom(source.readers, reader)
171
+ if (source.readers.length === 0) unread(source)
172
+ }
173
+
174
+ /**
175
+ * What lets go of a value whose owner has stopped, once nothing reads it — `Reactive.ts`'s, set
176
+ * there because this module cannot import it.
177
+ */
178
+ export const RELEASING: { unread: ((source: Tracked) => void) | null } = {
179
+ unread: null,
180
+ }
181
+
182
+ /**
183
+ * Hands a value that has just lost its last reader on to `RELEASING`, where its owner has stopped.
184
+ *
185
+ * 12.14 — see `orphan` in `Reactive.ts`. Only a `Cell` carries `orphaned`, so
186
+ * every other source answers `undefined` and stops here.
187
+ */
188
+ function unread(source: Tracked): void {
189
+ if ((source as { orphaned?: boolean }).orphaned !== true) return
190
+ if (source.readers.length !== 0 || source.probeReaders.length !== 0) return
191
+ RELEASING.unread?.(source)
192
+ }
193
+
194
+ /**
195
+ * Calls `run` with no reader on the stack, restoring the reader however it exits.
196
+ *
197
+ * 4.7's frame. Arguments rather than a closure, so a caller on a per-write path allocates nothing
198
+ * to use it.
199
+ */
200
+ export function untracked<First, Second, Result>(
201
+ run: (first: First, second: Second) => Result,
202
+ first: First,
203
+ second: Second,
204
+ ): Result {
205
+ const previous = TRACKING.reader
206
+ TRACKING.reader = null
207
+ try {
208
+ return run(first, second)
209
+ } finally {
210
+ TRACKING.reader = previous
211
+ }
212
+ }
213
+
214
+ /**
215
+ * Removes `reader` from `source`'s probe readers — `dropReader` for the probe edge.
216
+ *
217
+ * For a reader registered on it outside a run — a `then` waiter, which settles on a probe moving
218
+ * rather than on a value.
219
+ */
220
+ export function dropProbeReader(source: Tracked, reader: Subscriber): void {
221
+ removeFrom(source.probeReaders, reader)
222
+ if (source.probeReaders.length === 0) unread(source)
223
+ }
224
+
225
+ function removeFrom(readers: Subscriber[], reader: Subscriber): void {
226
+ for (let index = 0; index < readers.length; index += 1) {
227
+ if (readers[index] !== reader) continue
228
+ readers[index] = readers[readers.length - 1] as Subscriber
229
+ readers.pop()
230
+ return
231
+ }
232
+ }
233
+
234
+ /**
235
+ * Subscribes `reader` to `source`'s probes, once per run.
236
+ *
237
+ * A PROBE EDGE IS REBUILT PER RUN rather than cursored. A body reads few probes where it reads
238
+ * many values, and a guard that stops being taken must stop waking — so the list is dropped at
239
+ * the start of a run and re-made by the reads that happen.
240
+ */
241
+ export function trackProbe(source: Tracked, reader: Subscriber): void {
242
+ const asked = reader.probeSources
243
+ for (let index = 0; index < asked.length; index += 1)
244
+ if (asked[index] === source) return
245
+ asked.push(source)
246
+ source.probeReaders.push(reader)
247
+ }
248
+
249
+ /** Drops every probe subscription `reader` holds. */
250
+ export function detachProbes(reader: Subscriber): void {
251
+ const asked = reader.probeSources
252
+ for (let index = 0; index < asked.length; index += 1)
253
+ dropProbeReader(asked[index] as Tracked, reader)
254
+ asked.length = 0
255
+ }
256
+
257
+ // How far `kept * dropped` must outgrow `kept + dropped` before `truncate` builds a `Set` over the
258
+ // kept prefix rather than scanning it once per dropped slot.
259
+ const SET_OVER_SCAN = 20
260
+
261
+ /**
262
+ * Drops `reader`'s sources from its cursor on, unsubscribing each the kept prefix no longer lists.
263
+ *
264
+ * Everything from `cursor` on is a value the previous run read and this one has not.
265
+ *
266
+ * A SLOT IS NOT A SUBSCRIPTION. `sources` is POSITIONAL — one slot per read, so a body that reads
267
+ * one value twice holds two slots for it — where `source.readers` is a SET, deduped by `track`.
268
+ * Dropping per slot therefore unsubscribed a value a SURVIVING slot still lists, and the shorter
269
+ * run is what did it: `reactive(() => name() ? name().toUpperCase() : 'anon')` reads `name` twice
270
+ * on the truthy run and once on the falsy one, so the falsy run's truncation took the whole
271
+ * subscription with it and the value never recomputed again — right at the moment it looked
272
+ * right. The kept prefix is what says whether this slot was the last of its value.
273
+ *
274
+ * THE SCAN RUNS PER DROPPED SLOT, so what it costs is kept x dropped: a body reading 1000 values
275
+ * on its wide branch and 500 on its narrow one paid 250,000 pointer compares on every flip — 9.3x
276
+ * the pre-change truncate, +105 us a flip, which crosses a frame at six. A `Set` over the kept
277
+ * prefix is the O(kept + dropped) form and is taken WHERE IT WINS rather than always (past
278
+ * `SET_OVER_SCAN`): at 1000/999 the scan is one probe per dropped slot and building the Set
279
+ * doubled the flip, so the two are priced against each other instead.
280
+ *
281
+ * A duplicate inside the DROPPED tail needs no test — `removeFrom` takes one occurrence and the
282
+ * second call finds none.
283
+ *
284
+ * Exported because a tracked run's end is exactly this and nothing more: the TEST that there is a
285
+ * tail is the caller's — two field loads, on the rare arm.
286
+ */
287
+ export function truncate(reader: Subscriber): void {
288
+ const sources = reader.sources
289
+ const kept = reader.cursor
290
+ const dropped = sources.length - kept
291
+ if (dropped === 0) return
292
+ if (kept * dropped > (kept + dropped) * SET_OVER_SCAN) {
293
+ const survives = new Set<Tracked>()
294
+ for (let index = 0; index < kept; index += 1)
295
+ survives.add(sources[index] as Tracked)
296
+ for (let index = kept; index < sources.length; index += 1) {
297
+ const source = sources[index] as Tracked
298
+ if (survives.has(source)) continue
299
+ dropReader(source, reader)
300
+ }
301
+ sources.length = kept
302
+ return
303
+ }
304
+ for (let index = kept; index < sources.length; index += 1) {
305
+ const source = sources[index] as Tracked
306
+ if (stillRead(sources, source, kept)) continue
307
+ dropReader(source, reader)
308
+ }
309
+ sources.length = kept
310
+ }
311
+
312
+ function stillRead(sources: Tracked[], source: Tracked, kept: number): boolean {
313
+ for (let index = 0; index < kept; index += 1)
314
+ if (sources[index] === source) return true
315
+ return false
316
+ }
317
+
318
+ /**
319
+ * Records a read of `source` by `reader` where its run has diverged from the last one.
320
+ *
321
+ * THE READER IS PASSED IN, not re-read. Every call site has already tested `TRACKING.reader` for
322
+ * null to decide whether to call at all, and re-loading it here made the null check happen twice
323
+ * on the hottest path in the design.
324
+ *
325
+ * The STABLE arm — the source at the cursor is the one the last run had — is inlined at the call
326
+ * site in `Reactive`, so what is left here is the divergence: this is the fallback, reached on the
327
+ * first read a run makes that the previous run did not.
328
+ */
329
+ export function track(source: Tracked, reader: Subscriber): void {
330
+ const sources = reader.sources
331
+ const at = reader.cursor
332
+ // THE FIRST DIVERGENCE OF THIS RUN, and the only one that has anything to drop. The
333
+ // truncation leaves `sources.length === cursor` and the append below keeps them
334
+ // equal, so every later read of this run arrives with the test already false — which
335
+ // is the flag this replaced, read off state the cursor was carrying anyway.
336
+ if (at < sources.length) truncate(reader)
337
+ sources.push(source)
338
+ reader.cursor = at + 1
339
+ // WHAT STOPS A BODY READING ONE VALUE TWICE FROM HOLDING TWO SUBSCRIPTIONS, asked of
340
+ // THIS READER'S sources rather than of the source's readers. The two answer the same
341
+ // question — `track` is the only thing that appends to either, and `truncate` drops from
342
+ // both in lockstep, so after it `sources[0..cursor)` IS the set this reader is
343
+ // subscribed to — and they cost differently: the kept prefix is as long as what this
344
+ // BODY reads (1-5), where `source.readers` is as long as the number of READERS on the
345
+ // value.
346
+ //
347
+ // SO THE SCAN WAS QUADRATIC IN THE ROW COUNT. A fresh reader is on this path, not only a
348
+ // diverging one: `Reactive`'s inlined stable arm tests `reader.sources[0] === cell`
349
+ // against an empty array, misses, and lands here. n rows each reading one shared value —
350
+ // `class:selected={selected() === item.id}`, the canonical shape — paid n²/2 pointer
351
+ // compares to mount. Measured under JSC, per reader: 446 ns at n=500 rising to 3,872 ns
352
+ // at n=8000, so mounting crossed a frame at n≈4,000. Asked this way it is ~60 ns FLAT and
353
+ // n=8000 goes 30.98 ms -> 0.45 ms. `mountingIsLinear` in `benchReactive.ts` is what holds the
354
+ // SLOPE (16 readers against 112, calibrated bar), `mount 50 readers on one value` holds the
355
+ // constant, and the subscription count in `reactive.test.ts` holds the dedup this replaced.
356
+ //
357
+ // THE THREE READERS REGISTERED ON A VALUE EDGE OUTSIDE THE PROTOCOL are unaffected, and this
358
+ // asks nothing of them they were not already under: `Cursor`, `Keyed`'s lifetime
359
+ // mirror and the narrowed `watch(sources, effect)` each DECLARE their sources and push
360
+ // themselves onto those sources' readers, so the two agree by construction — `settled`'s
361
+ // waiter is the fourth, and it is on the probe edge, which this never scans — and none of them
362
+ // tracks, which `truncate` already depends on. A cursor of 0 against a declared `sources`
363
+ // would have it drop the declared subscription on the first `track`, so a reader that
364
+ // both declares and tracks is already broken above this line.
365
+ //
366
+ // AND THE SCAN IS QUADRATIC IN THE BODY past the first divergence, which is the same bug one
367
+ // level in: a body summing a thousand rows' values that diverges near the front — a row
368
+ // inserted at index 0 — scans the kept prefix once per read for the rest of the run, n²/2
369
+ // compares, 131 ms at n=16,000 under JSC. So a long STRETCH of diverged reads over a long
370
+ // prefix dedups against a `Set`, priced against the scan the way `truncate` prices its own:
371
+ // below `SET_OVER_SCAN` on the prefix the scan stays, because a body reads 1-5 values and a set
372
+ // is an allocation; and a stretch is scanned for its first `SET_OVER_SCAN` reads before the set
373
+ // is built, because a body that diverges at its LAST read — a thousand stable reads, then a
374
+ // branch — makes one scan and would pay a thousand inserts for a set it asks once.
375
+ //
376
+ // `seenThrough` IS WHAT SAYS THE STRETCH GOES ON. Every read past the threshold comes through
377
+ // here and moves it to the cursor after it, so a read arriving anywhere else follows a
378
+ // truncation, a fresh run or a stretch of stable reads — and `sources[0..at)` is then not
379
+ // what `seen` was last true of, so a new stretch starts. The threshold side cannot alias it:
380
+ // a run climbing back from below arrives at `SET_OVER_SCAN` exactly, which `seenThrough`,
381
+ // always one past a read at or above it, never equals.
382
+ if (at < SET_OVER_SCAN) {
383
+ for (let index = 0; index < at; index += 1)
384
+ if (sources[index] === source) return
385
+ source.readers.push(reader)
386
+ return
387
+ }
388
+ if (reader.seenThrough !== at) reader.scanningFrom = at
389
+ reader.seenThrough = at + 1
390
+ let seen = reader.seen
391
+ const from = reader.scanningFrom
392
+ if (from !== -1) {
393
+ if (at - from < SET_OVER_SCAN) {
394
+ for (let index = 0; index < at; index += 1)
395
+ if (sources[index] === source) return
396
+ source.readers.push(reader)
397
+ return
398
+ }
399
+ if (seen === null) {
400
+ seen = new Set()
401
+ reader.seen = seen
402
+ } else seen.clear()
403
+ for (let index = 0; index < at; index += 1)
404
+ seen.add(sources[index] as Tracked)
405
+ reader.scanningFrom = -1
406
+ }
407
+ const deduped = seen as Set<Tracked>
408
+ if (deduped.has(source)) return
409
+ deduped.add(source)
410
+ source.readers.push(reader)
411
+ }
412
+
413
+ /** Drops every subscription `reader` holds, value and probe alike. */
414
+ export function detach(reader: Subscriber): void {
415
+ reader.cursor = 0
416
+ truncate(reader)
417
+ if (reader.probeSources.length !== 0) detachProbes(reader)
418
+ }