@abide/abide 0.57.1 → 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 (1197) hide show
  1. package/CHANGELOG.md +3 -1773
  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 -967
  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/anchorCursor.ts +0 -25
  976. package/src/lib/ui/dom/anchoredBranch.ts +0 -153
  977. package/src/lib/ui/dom/appendSnippet.ts +0 -75
  978. package/src/lib/ui/dom/appendStatic.ts +0 -26
  979. package/src/lib/ui/dom/appendText.ts +0 -160
  980. package/src/lib/ui/dom/appendTextAt.ts +0 -39
  981. package/src/lib/ui/dom/assertClaimedText.ts +0 -30
  982. package/src/lib/ui/dom/attach.ts +0 -25
  983. package/src/lib/ui/dom/attr.ts +0 -57
  984. package/src/lib/ui/dom/awaitBlock.ts +0 -314
  985. package/src/lib/ui/dom/awaitSubject.ts +0 -118
  986. package/src/lib/ui/dom/bindProp.ts +0 -22
  987. package/src/lib/ui/dom/bindSelectValue.ts +0 -48
  988. package/src/lib/ui/dom/bindableProp.ts +0 -47
  989. package/src/lib/ui/dom/buildDetachedRange.ts +0 -31
  990. package/src/lib/ui/dom/cellPending.ts +0 -24
  991. package/src/lib/ui/dom/claimText.ts +0 -38
  992. package/src/lib/ui/dom/clearBetween.ts +0 -16
  993. package/src/lib/ui/dom/cloneStatic.ts +0 -38
  994. package/src/lib/ui/dom/commentData.ts +0 -14
  995. package/src/lib/ui/dom/depthZeroNodes.ts +0 -34
  996. package/src/lib/ui/dom/discardAndRebuild.ts +0 -23
  997. package/src/lib/ui/dom/discardBoundary.ts +0 -46
  998. package/src/lib/ui/dom/disposeRange.ts +0 -18
  999. package/src/lib/ui/dom/domAnchorAdapter.ts +0 -29
  1000. package/src/lib/ui/dom/domElementAdapter.ts +0 -20
  1001. package/src/lib/ui/dom/each.ts +0 -253
  1002. package/src/lib/ui/dom/eachAsync.ts +0 -188
  1003. package/src/lib/ui/dom/effectiveChildNamespace.ts +0 -13
  1004. package/src/lib/ui/dom/enterNamespace.ts +0 -20
  1005. package/src/lib/ui/dom/fillBefore.ts +0 -42
  1006. package/src/lib/ui/dom/fillBoundary.ts +0 -38
  1007. package/src/lib/ui/dom/fillRange.ts +0 -30
  1008. package/src/lib/ui/dom/foreignWrapperTag.ts +0 -22
  1009. package/src/lib/ui/dom/hydrate.ts +0 -34
  1010. package/src/lib/ui/dom/inheritedNamespace.ts +0 -19
  1011. package/src/lib/ui/dom/isComment.ts +0 -6
  1012. package/src/lib/ui/dom/isElement.ts +0 -6
  1013. package/src/lib/ui/dom/markerDepthDelta.ts +0 -19
  1014. package/src/lib/ui/dom/matchingRangeClose.ts +0 -29
  1015. package/src/lib/ui/dom/mergeProps.ts +0 -32
  1016. package/src/lib/ui/dom/mount.ts +0 -30
  1017. package/src/lib/ui/dom/mountChild.ts +0 -94
  1018. package/src/lib/ui/dom/mountRange.ts +0 -45
  1019. package/src/lib/ui/dom/mountSlot.ts +0 -38
  1020. package/src/lib/ui/dom/mountSwappableRange.ts +0 -122
  1021. package/src/lib/ui/dom/moveRange.ts +0 -19
  1022. package/src/lib/ui/dom/mutateDocContainer.ts +0 -65
  1023. package/src/lib/ui/dom/on.ts +0 -33
  1024. package/src/lib/ui/dom/openMarker.ts +0 -22
  1025. package/src/lib/ui/dom/outlet.ts +0 -63
  1026. package/src/lib/ui/dom/parseRawNodes.ts +0 -17
  1027. package/src/lib/ui/dom/readCall.ts +0 -29
  1028. package/src/lib/ui/dom/readCell.ts +0 -55
  1029. package/src/lib/ui/dom/readTextOrSuspend.ts +0 -21
  1030. package/src/lib/ui/dom/removeRange.ts +0 -18
  1031. package/src/lib/ui/dom/replaceRange.ts +0 -24
  1032. package/src/lib/ui/dom/restProps.ts +0 -32
  1033. package/src/lib/ui/dom/skeleton.ts +0 -153
  1034. package/src/lib/ui/dom/spreadAttrs.ts +0 -95
  1035. package/src/lib/ui/dom/spreadProps.ts +0 -31
  1036. package/src/lib/ui/dom/switchBlock.ts +0 -80
  1037. package/src/lib/ui/dom/templateFor.ts +0 -28
  1038. package/src/lib/ui/dom/tryBlock.ts +0 -263
  1039. package/src/lib/ui/dom/types/EachRow.ts +0 -21
  1040. package/src/lib/ui/dom/types/SkeletonHoles.ts +0 -10
  1041. package/src/lib/ui/dom/types/SwitchCase.ts +0 -11
  1042. package/src/lib/ui/dom/when.ts +0 -58
  1043. package/src/lib/ui/dom/withScope.ts +0 -37
  1044. package/src/lib/ui/dom/withSuspense.ts +0 -22
  1045. package/src/lib/ui/dom/writeCell.ts +0 -22
  1046. package/src/lib/ui/effect.ts +0 -24
  1047. package/src/lib/ui/enterScope.ts +0 -18
  1048. package/src/lib/ui/exitScope.ts +0 -8
  1049. package/src/lib/ui/finalizeStreamedChildren.ts +0 -89
  1050. package/src/lib/ui/flight.ts +0 -56
  1051. package/src/lib/ui/html.ts +0 -39
  1052. package/src/lib/ui/isolateCellBarrier.ts +0 -17
  1053. package/src/lib/ui/linked.ts +0 -125
  1054. package/src/lib/ui/navigate.ts +0 -77
  1055. package/src/lib/ui/probeNavigation.ts +0 -33
  1056. package/src/lib/ui/props.ts +0 -17
  1057. package/src/lib/ui/remoteProxy.ts +0 -256
  1058. package/src/lib/ui/renderChain.ts +0 -113
  1059. package/src/lib/ui/renderToStream.ts +0 -128
  1060. package/src/lib/ui/resumeSeedScript.ts +0 -27
  1061. package/src/lib/ui/router.ts +0 -649
  1062. package/src/lib/ui/runtime/AsyncCellError.ts +0 -21
  1063. package/src/lib/ui/runtime/BRANCH_SEGMENT.ts +0 -24
  1064. package/src/lib/ui/runtime/CELL_SEED.ts +0 -12
  1065. package/src/lib/ui/runtime/CHILD_PRESENT.ts +0 -8
  1066. package/src/lib/ui/runtime/CURRENT_BOUNDARY.ts +0 -11
  1067. package/src/lib/ui/runtime/CURRENT_PATH.ts +0 -29
  1068. package/src/lib/ui/runtime/CURRENT_SCOPE.ts +0 -23
  1069. package/src/lib/ui/runtime/DOC_SEED.ts +0 -10
  1070. package/src/lib/ui/runtime/HOLE_ATTRIBUTE.ts +0 -9
  1071. package/src/lib/ui/runtime/NODE_STATE.ts +0 -22
  1072. package/src/lib/ui/runtime/OUTLET_MARKER.ts +0 -10
  1073. package/src/lib/ui/runtime/OUTLET_TAG.ts +0 -7
  1074. package/src/lib/ui/runtime/OWNER.ts +0 -8
  1075. package/src/lib/ui/runtime/PENDING_OUTLET.ts +0 -8
  1076. package/src/lib/ui/runtime/RANGE_MARKER.ts +0 -16
  1077. package/src/lib/ui/runtime/REACTIVE_CONTEXT.ts +0 -20
  1078. package/src/lib/ui/runtime/RENDER.ts +0 -35
  1079. package/src/lib/ui/runtime/REQUEST_SUPERSEDED.ts +0 -8
  1080. package/src/lib/ui/runtime/RESUME.ts +0 -21
  1081. package/src/lib/ui/runtime/SEED_MARKS.ts +0 -14
  1082. package/src/lib/ui/runtime/STREAMED_CELLS.ts +0 -57
  1083. package/src/lib/ui/runtime/SuspenseSignal.ts +0 -24
  1084. package/src/lib/ui/runtime/abortNode.ts +0 -22
  1085. package/src/lib/ui/runtime/ambientPathBacking.ts +0 -32
  1086. package/src/lib/ui/runtime/ambientScopeBacking.ts +0 -26
  1087. package/src/lib/ui/runtime/applyPatchToTree.ts +0 -54
  1088. package/src/lib/ui/runtime/batch.ts +0 -22
  1089. package/src/lib/ui/runtime/blockId.ts +0 -31
  1090. package/src/lib/ui/runtime/boundaryFor.ts +0 -11
  1091. package/src/lib/ui/runtime/cellBarrierBacking.ts +0 -30
  1092. package/src/lib/ui/runtime/claimChild.ts +0 -8
  1093. package/src/lib/ui/runtime/claimExpected.ts +0 -27
  1094. package/src/lib/ui/runtime/claimMarker.ts +0 -13
  1095. package/src/lib/ui/runtime/claimRun.ts +0 -22
  1096. package/src/lib/ui/runtime/clientPage.ts +0 -116
  1097. package/src/lib/ui/runtime/consumeSeed.ts +0 -38
  1098. package/src/lib/ui/runtime/createAsyncCell.ts +0 -358
  1099. package/src/lib/ui/runtime/createComputedNode.ts +0 -19
  1100. package/src/lib/ui/runtime/createDoc.ts +0 -334
  1101. package/src/lib/ui/runtime/createEffectNode.ts +0 -81
  1102. package/src/lib/ui/runtime/createSignalNode.ts +0 -19
  1103. package/src/lib/ui/runtime/currentAbortSignal.ts +0 -26
  1104. package/src/lib/ui/runtime/detachLink.ts +0 -21
  1105. package/src/lib/ui/runtime/endTracking.ts +0 -24
  1106. package/src/lib/ui/runtime/enterRenderPass.ts +0 -13
  1107. package/src/lib/ui/runtime/escapeKey.ts +0 -19
  1108. package/src/lib/ui/runtime/exitRenderPass.ts +0 -7
  1109. package/src/lib/ui/runtime/flushEffects.ts +0 -91
  1110. package/src/lib/ui/runtime/generationGuard.ts +0 -40
  1111. package/src/lib/ui/runtime/historyEntries.ts +0 -151
  1112. package/src/lib/ui/runtime/inScope.ts +0 -19
  1113. package/src/lib/ui/runtime/isAsyncFunction.ts +0 -14
  1114. package/src/lib/ui/runtime/nextBlockId.ts +0 -12
  1115. package/src/lib/ui/runtime/parkCursor.ts +0 -10
  1116. package/src/lib/ui/runtime/pathSegments.ts +0 -10
  1117. package/src/lib/ui/runtime/reactiveAbortState.ts +0 -15
  1118. package/src/lib/ui/runtime/readNode.ts +0 -38
  1119. package/src/lib/ui/runtime/renderPath.ts +0 -16
  1120. package/src/lib/ui/runtime/reportHydrationDivergence.ts +0 -30
  1121. package/src/lib/ui/runtime/routeBareSeed.ts +0 -28
  1122. package/src/lib/ui/runtime/runHydrationPass.ts +0 -69
  1123. package/src/lib/ui/runtime/runNode.ts +0 -75
  1124. package/src/lib/ui/runtime/runtimePath.ts +0 -9
  1125. package/src/lib/ui/runtime/scope.ts +0 -46
  1126. package/src/lib/ui/runtime/scopeGroup.ts +0 -40
  1127. package/src/lib/ui/runtime/toTeardown.ts +0 -38
  1128. package/src/lib/ui/runtime/track.ts +0 -60
  1129. package/src/lib/ui/runtime/trigger.ts +0 -74
  1130. package/src/lib/ui/runtime/types/AbideHistoryState.ts +0 -9
  1131. package/src/lib/ui/runtime/types/Boundary.ts +0 -9
  1132. package/src/lib/ui/runtime/types/Cell.ts +0 -7
  1133. package/src/lib/ui/runtime/types/Computed.ts +0 -3
  1134. package/src/lib/ui/runtime/types/Doc.ts +0 -24
  1135. package/src/lib/ui/runtime/types/EffectResult.ts +0 -10
  1136. package/src/lib/ui/runtime/types/HydrationCursor.ts +0 -8
  1137. package/src/lib/ui/runtime/types/NavVerdict.ts +0 -9
  1138. package/src/lib/ui/runtime/types/Patch.ts +0 -11
  1139. package/src/lib/ui/runtime/types/PathWalk.ts +0 -10
  1140. package/src/lib/ui/runtime/types/ReactiveLink.ts +0 -21
  1141. package/src/lib/ui/runtime/types/ReactiveNode.ts +0 -33
  1142. package/src/lib/ui/runtime/types/RenderContext.ts +0 -10
  1143. package/src/lib/ui/runtime/types/Route.ts +0 -9
  1144. package/src/lib/ui/runtime/types/RouteLoader.ts +0 -7
  1145. package/src/lib/ui/runtime/types/SsrRender.ts +0 -34
  1146. package/src/lib/ui/runtime/types/State.ts +0 -3
  1147. package/src/lib/ui/runtime/types/Teardown.ts +0 -5
  1148. package/src/lib/ui/runtime/types/UiComponent.ts +0 -24
  1149. package/src/lib/ui/runtime/types/UiProps.ts +0 -12
  1150. package/src/lib/ui/runtime/unescapeKey.ts +0 -12
  1151. package/src/lib/ui/runtime/unlinkDeps.ts +0 -28
  1152. package/src/lib/ui/runtime/untrack.ts +0 -20
  1153. package/src/lib/ui/runtime/updateIfNecessary.ts +0 -40
  1154. package/src/lib/ui/runtime/walkPath.ts +0 -41
  1155. package/src/lib/ui/runtime/withOptionalPath.ts +0 -8
  1156. package/src/lib/ui/runtime/withPath.ts +0 -16
  1157. package/src/lib/ui/runtime/withPathFrom.ts +0 -20
  1158. package/src/lib/ui/runtime/withoutHydration.ts +0 -22
  1159. package/src/lib/ui/runtime/writeNode.ts +0 -16
  1160. package/src/lib/ui/scope.ts +0 -20
  1161. package/src/lib/ui/seedBootState.ts +0 -53
  1162. package/src/lib/ui/seedStreamedResolution.ts +0 -56
  1163. package/src/lib/ui/settleAsyncCells.ts +0 -51
  1164. package/src/lib/ui/socketChannel.ts +0 -156
  1165. package/src/lib/ui/socketProxy.ts +0 -47
  1166. package/src/lib/ui/startClient.ts +0 -156
  1167. package/src/lib/ui/state.ts +0 -77
  1168. package/src/lib/ui/subscribeCacheStaleness.ts +0 -85
  1169. package/src/lib/ui/trackedComputed.ts +0 -68
  1170. package/src/lib/ui/tryEncodeResume.ts +0 -11
  1171. package/src/lib/ui/types/Layouts.ts +0 -9
  1172. package/src/lib/ui/types/Pages.ts +0 -8
  1173. package/src/lib/ui/types/Scope.ts +0 -68
  1174. package/src/lib/ui/watch.ts +0 -150
  1175. package/src/preload.ts +0 -19
  1176. package/src/scaffold.ts +0 -153
  1177. package/src/serverBuildPlugins.ts +0 -25
  1178. package/src/serverEntry.ts +0 -138
  1179. package/src/zodCjsPlugin.ts +0 -51
  1180. package/template/.zed/settings.json +0 -10
  1181. package/template/CLAUDE.md +0 -22
  1182. package/template/bunfig.toml +0 -4
  1183. package/template/package.json +0 -21
  1184. package/template/src/app.ts +0 -28
  1185. package/template/src/bundle/icon.png +0 -0
  1186. package/template/src/cli/banner.txt +0 -3
  1187. package/template/src/cli/footer.txt +0 -1
  1188. package/template/src/server/config.ts +0 -17
  1189. package/template/src/server/rpc/getHello.ts +0 -38
  1190. package/template/src/ui/app.css +0 -21
  1191. package/template/src/ui/app.html +0 -24
  1192. package/template/src/ui/pages/about/page.abide +0 -7
  1193. package/template/src/ui/pages/layout.abide +0 -19
  1194. package/template/src/ui/pages/page.abide +0 -19
  1195. package/template/test/app.test.ts +0 -30
  1196. package/template/tsconfig.json +0 -18
  1197. package/tsconfig.app.json +0 -17
@@ -0,0 +1,296 @@
1
+ // THE DESKTOP APP'S MENU BAR (38.89): the default, with what the page the window shows exports,
2
+ // built as an `NSMenu`.
3
+
4
+ import { FFIType } from 'bun:ffi'
5
+ import type { MenuRole } from '#shared/menuItem.ts'
6
+ import {
7
+ definedClass,
8
+ type Id,
9
+ nsString,
10
+ objcClass,
11
+ selector,
12
+ send,
13
+ sendTyped,
14
+ } from './appKit.ts'
15
+
16
+ /**
17
+ * A menu item as the window builds it: the defaults, and what a page told it (`reportMenu`), each
18
+ * item the page answers numbered by `id`.
19
+ */
20
+ export type NativeItem =
21
+ | 'separator'
22
+ | {
23
+ label: string
24
+ key?: string | undefined
25
+ role?: MenuRole | undefined
26
+ id?: number | undefined
27
+ items?: NativeItem[] | undefined
28
+ }
29
+
30
+ // 38.90 — A ROLE AppKit ALREADY ANSWERS is sent down the responder chain, so `copy` copies whatever
31
+ // holds the selection and is greyed where nothing does. The rest are the launcher's own.
32
+ const RESPONDER_ROLES: Partial<Record<MenuRole, string>> = {
33
+ about: 'orderFrontStandardAboutPanel:',
34
+ hide: 'hide:',
35
+ hideOthers: 'hideOtherApplications:',
36
+ showAll: 'unhideAllApplications:',
37
+ quit: 'terminate:',
38
+ close: 'performClose:',
39
+ undo: 'undo:',
40
+ redo: 'redo:',
41
+ cut: 'cut:',
42
+ copy: 'copy:',
43
+ paste: 'paste:',
44
+ selectAll: 'selectAll:',
45
+ fullscreen: 'toggleFullScreen:',
46
+ minimize: 'performMiniaturize:',
47
+ zoom: 'performZoom:',
48
+ front: 'arrangeInFront:',
49
+ }
50
+
51
+ const MODIFIERS: Record<string, number> = {
52
+ shift: 1 << 17,
53
+ ctrl: 1 << 18,
54
+ control: 1 << 18,
55
+ alt: 1 << 19,
56
+ option: 1 << 19,
57
+ cmd: 1 << 20,
58
+ command: 1 << 20,
59
+ }
60
+
61
+ const NAMED_KEYS: Record<string, string> = {
62
+ enter: '\r',
63
+ return: '\r',
64
+ tab: '\t',
65
+ escape: '\x1b',
66
+ esc: '\x1b',
67
+ backspace: '\b',
68
+ delete: '\x7f',
69
+ space: ' ',
70
+ up: '',
71
+ down: '',
72
+ left: '',
73
+ right: '',
74
+ }
75
+
76
+ /**
77
+ * The menu bar the window shows: the application, File, Edit, View and Window menus, and `added`.
78
+ *
79
+ * 38.89 — AN ADDED MENU NAMED AS A DEFAULT ONE GROWS IT, and any other stands before Window, where
80
+ * the platform puts an app's own. 38.84 — no Connect… where `launcher.json` turns connecting off.
81
+ */
82
+ export function menuBar(
83
+ appName: string,
84
+ connect: boolean,
85
+ added: NativeItem[],
86
+ ): NativeItem[] {
87
+ const bar = defaultMenu(appName, connect)
88
+ const window = bar.pop() as NativeItem
89
+ for (const menu of added) {
90
+ const named =
91
+ menu === 'separator'
92
+ ? undefined
93
+ : bar.find(
94
+ (standing) =>
95
+ standing !== 'separator' &&
96
+ standing.label === menu.label,
97
+ )
98
+ if (
99
+ named === undefined ||
100
+ named === 'separator' ||
101
+ menu === 'separator'
102
+ )
103
+ bar.push(menu)
104
+ else named.items = [...(named.items ?? []), ...(menu.items ?? [])]
105
+ }
106
+ bar.push(window)
107
+ return bar
108
+ }
109
+
110
+ function defaultMenu(appName: string, connect: boolean): NativeItem[] {
111
+ return [
112
+ {
113
+ label: appName,
114
+ items: [
115
+ { label: `About ${appName}`, role: 'about' },
116
+ 'separator',
117
+ { label: `Hide ${appName}`, role: 'hide', key: 'cmd+h' },
118
+ { label: 'Hide Others', role: 'hideOthers', key: 'cmd+alt+h' },
119
+ { label: 'Show All', role: 'showAll' },
120
+ 'separator',
121
+ { label: `Quit ${appName}`, role: 'quit', key: 'cmd+q' },
122
+ ],
123
+ },
124
+ {
125
+ label: 'File',
126
+ items: [
127
+ ...(connect
128
+ ? ([
129
+ { label: 'Connect…', role: 'connect', key: 'cmd+k' },
130
+ ] as NativeItem[])
131
+ : []),
132
+ { label: 'Disconnect', role: 'disconnect', key: 'cmd+shift+k' },
133
+ 'separator',
134
+ { label: 'Close Window', role: 'close', key: 'cmd+w' },
135
+ ],
136
+ },
137
+ {
138
+ label: 'Edit',
139
+ items: [
140
+ { label: 'Undo', role: 'undo', key: 'cmd+z' },
141
+ { label: 'Redo', role: 'redo', key: 'cmd+shift+z' },
142
+ 'separator',
143
+ { label: 'Cut', role: 'cut', key: 'cmd+x' },
144
+ { label: 'Copy', role: 'copy', key: 'cmd+c' },
145
+ { label: 'Paste', role: 'paste', key: 'cmd+v' },
146
+ { label: 'Select All', role: 'selectAll', key: 'cmd+a' },
147
+ ],
148
+ },
149
+ {
150
+ label: 'View',
151
+ items: [
152
+ { label: 'Reload', role: 'reload', key: 'cmd+r' },
153
+ 'separator',
154
+ {
155
+ label: 'Enter Full Screen',
156
+ role: 'fullscreen',
157
+ key: 'ctrl+cmd+f',
158
+ },
159
+ ],
160
+ },
161
+ {
162
+ label: 'Window',
163
+ items: [
164
+ { label: 'Minimize', role: 'minimize', key: 'cmd+m' },
165
+ { label: 'Zoom', role: 'zoom' },
166
+ 'separator',
167
+ { label: 'Bring All to Front', role: 'front' },
168
+ ],
169
+ },
170
+ ]
171
+ }
172
+
173
+ type Choice = Exclude<NativeItem, 'separator'>
174
+
175
+ // What each launcher-handled item fires, by the tag its `NSMenuItem` carries.
176
+ let chosen: Choice[] = []
177
+ let onChoice: (item: Choice) => void = () => {}
178
+ let target: Id = null
179
+
180
+ /**
181
+ * Builds `menu` as the application's menu bar; `choose` is handed each item AppKit does not answer
182
+ * itself when it is picked.
183
+ */
184
+ export function installMenu(
185
+ menu: NativeItem[],
186
+ choose: (item: Choice) => void,
187
+ ): void {
188
+ target ??= send(
189
+ definedClass('AbideMenuTarget', {
190
+ 'choose:': {
191
+ types: 'v@:@',
192
+ args: [FFIType.ptr],
193
+ returns: FFIType.void,
194
+ run: (item: Id) => {
195
+ const picked =
196
+ chosen[
197
+ Number(
198
+ sendTyped(
199
+ item,
200
+ 'tag',
201
+ [],
202
+ FFIType.i64,
203
+ ) as bigint,
204
+ )
205
+ ]
206
+ if (picked !== undefined) onChoice(picked)
207
+ },
208
+ },
209
+ }),
210
+ 'new',
211
+ )
212
+ chosen = []
213
+ onChoice = choose
214
+ const bar = send(objcClass('NSMenu'), 'new')
215
+ for (const item of menu) send(bar, 'addItem:', menuItem(item))
216
+ send(
217
+ send(objcClass('NSApplication'), 'sharedApplication'),
218
+ 'setMainMenu:',
219
+ bar,
220
+ )
221
+ }
222
+
223
+ function menuItem(item: NativeItem): Id {
224
+ if (item === 'separator')
225
+ return send(objcClass('NSMenuItem'), 'separatorItem')
226
+ const { keyEquivalent, modifiers } = shortcut(item.key)
227
+ const responder =
228
+ item.role === undefined ? undefined : RESPONDER_ROLES[item.role]
229
+ const built = send(
230
+ send(objcClass('NSMenuItem'), 'alloc'),
231
+ 'initWithTitle:action:keyEquivalent:',
232
+ nsString(item.label),
233
+ null,
234
+ nsString(keyEquivalent),
235
+ )
236
+ sendTyped(
237
+ built,
238
+ 'setKeyEquivalentModifierMask:',
239
+ [FFIType.u64],
240
+ FFIType.void,
241
+ modifiers,
242
+ )
243
+ if (item.items !== undefined) {
244
+ const submenu = send(
245
+ send(objcClass('NSMenu'), 'alloc'),
246
+ 'initWithTitle:',
247
+ nsString(item.label),
248
+ )
249
+ for (const child of item.items)
250
+ send(submenu, 'addItem:', menuItem(child))
251
+ send(built, 'setSubmenu:', submenu)
252
+ return built
253
+ }
254
+ if (responder !== undefined) {
255
+ sendTyped(
256
+ built,
257
+ 'setAction:',
258
+ [FFIType.ptr],
259
+ FFIType.void,
260
+ selector(responder),
261
+ )
262
+ return built
263
+ }
264
+ sendTyped(
265
+ built,
266
+ 'setAction:',
267
+ [FFIType.ptr],
268
+ FFIType.void,
269
+ selector('choose:'),
270
+ )
271
+ send(built, 'setTarget:', target)
272
+ sendTyped(built, 'setTag:', [FFIType.i64], FFIType.void, chosen.length)
273
+ chosen.push(item)
274
+ return built
275
+ }
276
+
277
+ /** A shortcut as AppKit spells it: the key, and the mask of the modifiers written before it. */
278
+ function shortcut(key: string | undefined): {
279
+ keyEquivalent: string
280
+ modifiers: number
281
+ } {
282
+ if (key === undefined || key === '')
283
+ return { keyEquivalent: '', modifiers: 0 }
284
+ const parts = key.toLowerCase().split('+')
285
+ const last = parts.pop() as string
286
+ let modifiers = 0
287
+ for (const part of parts) modifiers |= MODIFIERS[part] ?? 0
288
+ const named = NAMED_KEYS[last]
289
+ const function_ = /^f([1-9]|1[0-2])$/.exec(last)
290
+ const keyEquivalent =
291
+ named ??
292
+ (function_ === null
293
+ ? last
294
+ : String.fromCharCode(0xf704 + Number(function_[1]) - 1))
295
+ return { keyEquivalent, modifiers }
296
+ }
@@ -0,0 +1,39 @@
1
+ // 38.30 — WHICH OF THE ENCODINGS ON OFFER A REQUEST TAKES, or `undefined` for the bytes as they
2
+ // are. What is on offer is asked rather than assumed: a request preferring brotli for a file with
3
+ // only a gzip copy takes the gzip, where picking first and checking after would send it neither.
4
+ //
5
+ // The highest quality the request gives an encoding wins, a tie goes to the one offered first,
6
+ // and `q=0` is a refusal rather than a low preference — so `br;q=0, *` is gzip and `*;q=0` is
7
+ // nothing, which a parse that only looked for the token would get wrong both ways.
8
+
9
+ import { ENCODING_SUFFIX } from './CLIENT_BUILD.ts'
10
+ import { qualitiesOf } from './qualitiesOf.ts'
11
+
12
+ export type Encoding = keyof typeof ENCODING_SUFFIX
13
+
14
+ /**
15
+ * Every encoding, in `ENCODING_SUFFIX`'s order.
16
+ *
17
+ * What a document rendered per request can offer.
18
+ */
19
+ export const ENCODINGS = Object.keys(ENCODING_SUFFIX) as Encoding[]
20
+
21
+ /** The encoding on offer the request takes, or `undefined` for the bytes as they are. */
22
+ export function negotiateEncoding(
23
+ accepted: string | null,
24
+ offered: readonly Encoding[],
25
+ ): Encoding | undefined {
26
+ if (accepted === null) return undefined
27
+ const qualities = qualitiesOf(accepted)
28
+ const wildcard = qualities.get('*') ?? 0
29
+ let chosen: Encoding | undefined
30
+ let best = 0
31
+ for (const encoding of offered) {
32
+ const quality = qualities.get(encoding) ?? wildcard
33
+ if (quality > best) {
34
+ best = quality
35
+ chosen = encoding
36
+ }
37
+ }
38
+ return chosen
39
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * A plain-text answer at `status`, never stored.
3
+ *
4
+ * 21.3 — A REFUSAL ABIDE ANSWERS AS TEXT, typed. `stamp` rebuilds an answer to give it a reason
5
+ * phrase (17.8), and a string body rebuilt goes out as `application/octet-stream`.
6
+ *
7
+ * 21.1 — `nosniff` HERE TOO, though `stamp` sets it on whatever an app answers: `abide dev`'s
8
+ * listener answers with this where no app stands behind it, and nothing stamps those.
9
+ */
10
+ export function plainAnswer(message: string, status: number): Response {
11
+ return new Response(message, {
12
+ status,
13
+ headers: {
14
+ 'content-type': 'text/plain; charset=utf-8',
15
+ 'cache-control': 'private, no-store',
16
+ 'x-content-type-options': 'nosniff',
17
+ },
18
+ })
19
+ }
@@ -0,0 +1,25 @@
1
+ import { qualitiesOf } from './qualitiesOf.ts'
2
+
3
+ /**
4
+ * Whether the request's `accept` header takes `wanted` over `over`.
5
+ *
6
+ * Listed at a higher quality, or at the same one and ahead of it. `wanted` has to be NAMED — a
7
+ * wildcard says nothing about which the reader prefers — and `wanted;q=0` is a refusal of it, not
8
+ * a low preference.
9
+ */
10
+ export function prefers(
11
+ request: Request,
12
+ wanted: string,
13
+ over: string,
14
+ ): boolean {
15
+ const qualities = qualitiesOf(request.headers.get('accept') ?? '')
16
+ const wantedQuality = qualities.get(wanted) ?? 0
17
+ if (wantedQuality <= 0) return false
18
+ const overQuality = qualities.get(over) ?? 0
19
+ if (wantedQuality !== overQuality) return wantedQuality > overQuality
20
+ for (const token of qualities.keys()) {
21
+ if (token === wanted) return true
22
+ if (token === over) return false
23
+ }
24
+ return false
25
+ }
@@ -0,0 +1,261 @@
1
+ // SECTION 26 — THE PRINCIPAL, RESOLVED ON A SERVER. The claims ride in a cookie the server sealed —
2
+ // a JWT signed HS256, the claims its payload beside `exp` and `iat`, signed rather than encrypted
3
+ // (26.11), so any service holding the secret can verify it — and so there is no
4
+ // store to look them up in and nothing to revoke (26.16). Resolved at most once per request (26.14),
5
+ // by `onPrincipal` where the app registered one, and the baseline is laid over what it answered (26.4).
6
+
7
+ import { PRINCIPAL_ADDRESS } from '#shared/ADDRESSES.ts'
8
+ import { cookies } from '#shared/cookies.ts'
9
+ import { isFailed } from '#shared/Failed.ts'
10
+ import { isRecord } from '#shared/isRecord.ts'
11
+ import { namedLogger } from '#shared/log.ts'
12
+ import { PRINCIPAL_HEADER } from '#shared/PRINCIPAL_HEADER.ts'
13
+ import {
14
+ type PRINCIPAL,
15
+ type Principal,
16
+ principalMembers,
17
+ } from '#shared/principal.ts'
18
+ import { refuse } from '#shared/refuse.ts'
19
+ import { declare } from '#shared/rpc.ts'
20
+ import { mountedOwn } from './answerRpc.ts'
21
+ import { callerOrMint, mintCaller } from './callerOf.ts'
22
+ import { config, positiveSetting } from './config.ts'
23
+ import { HOOKS } from './hooks.ts'
24
+ import { within } from './requestScope.ts'
25
+
26
+ // 26.18.
27
+ const PRINCIPAL_COOKIE = 'abide-principal'
28
+ // 26.20 — the ceiling a browser keeps one cookie under, name and attributes included.
29
+ const COOKIE_CEILING = 4096
30
+ const DEFAULT_TTL_MS = 7 * 24 * 60 * 60 * 1000
31
+
32
+ const PRINCIPAL_LOG = namedLogger('abide:principal')
33
+
34
+ const ANONYMOUS: Principal = { authenticated: false }
35
+
36
+ function ttl(): number {
37
+ return positiveSetting('ABIDE_PRINCIPAL_TTL', DEFAULT_TTL_MS)
38
+ }
39
+
40
+ /**
41
+ * The secrets in `ABIDE_PRINCIPAL_SECRET`, signing one first.
42
+ *
43
+ * 36.5 — A LIST: the first secret signs, and every one verifies, so a secret can be rotated in.
44
+ */
45
+ function secrets(): string[] {
46
+ const declared = config.peek()?.ABIDE_PRINCIPAL_SECRET
47
+ if (typeof declared !== 'string') return []
48
+ const listed: string[] = []
49
+ for (const part of declared.split(','))
50
+ if (part.trim() !== '') listed.push(part.trim())
51
+ return listed
52
+ }
53
+
54
+ function signature(secret: string, payload: string): string {
55
+ return new Bun.CryptoHasher('sha256', secret)
56
+ .update(payload)
57
+ .digest('base64url')
58
+ }
59
+
60
+ /** The JWT header every seal carries, and the only one a seal is read under: HS256, never `none`. */
61
+ const JWT_HEADER = Buffer.from(
62
+ JSON.stringify({ alg: 'HS256', typ: 'JWT' }),
63
+ ).toString('base64url')
64
+
65
+ /** The claims as a JWT (RFC 7519): their own members, with `exp` and `iat` in seconds. */
66
+ function seal(
67
+ claims: Record<string, unknown>,
68
+ expires: number,
69
+ secret: string,
70
+ ): string {
71
+ const payload = Buffer.from(
72
+ JSON.stringify({
73
+ ...claims,
74
+ iat: Math.floor(Date.now() / 1000),
75
+ exp: Math.floor(expires / 1000),
76
+ }),
77
+ ).toString('base64url')
78
+ const signed = `${JWT_HEADER}.${payload}`
79
+ return `${signed}.${signature(secret, signed)}`
80
+ }
81
+
82
+ /**
83
+ * The claims and expiry a sealed cookie holds, or `undefined`.
84
+ *
85
+ * 26.13 — A BAD SIGNATURE, A LAPSED SEAL AND A MALFORMED COOKIE ARE ONE ANSWER: nothing.
86
+ */
87
+ function unseal(
88
+ sealed: string | null,
89
+ ): { claims: Record<string, unknown>; expires: number } | undefined {
90
+ if (sealed === null) return undefined
91
+ const [header, payload, signed, ...rest] = sealed.split('.')
92
+ // ONE HEADER IS READ, abide's own: a token naming another `alg` — `none` above all — is no seal.
93
+ if (header !== JWT_HEADER || payload === undefined || rest.length > 0)
94
+ return undefined
95
+ const given = Buffer.from(signed ?? '', 'base64url')
96
+ let verified = false
97
+ for (const secret of secrets()) {
98
+ const expected = Buffer.from(
99
+ signature(secret, `${header}.${payload}`),
100
+ 'base64url',
101
+ )
102
+ if (
103
+ expected.length === given.length &&
104
+ crypto.timingSafeEqual(expected, given)
105
+ )
106
+ verified = true
107
+ }
108
+ if (!verified) return undefined
109
+ try {
110
+ const opened: unknown = JSON.parse(
111
+ Buffer.from(payload, 'base64url').toString(),
112
+ )
113
+ if (!isRecord(opened)) return undefined
114
+ const { exp, iat: _, ...claims } = opened
115
+ if (typeof exp !== 'number' || exp * 1000 <= Date.now())
116
+ return undefined
117
+ return { claims, expires: exp * 1000 }
118
+ } catch {
119
+ return undefined
120
+ }
121
+ }
122
+
123
+ function writeSeal(claims: Record<string, unknown>, expires: number): void {
124
+ const [secret] = secrets()
125
+ if (secret === undefined)
126
+ throw new Error(
127
+ 'abide: principal.set needs ABIDE_PRINCIPAL_SECRET to seal the cookie with.',
128
+ )
129
+ const sealed = seal(claims, expires, secret)
130
+ // 26.20.
131
+ const bytes = PRINCIPAL_COOKIE.length + 1 + sealed.length
132
+ if (bytes > COOKIE_CEILING)
133
+ throw new Error(
134
+ `abide: principal.set would write a ${bytes}-byte cookie, over the ${COOKIE_CEILING} bytes a browser keeps. Seal less in the claims.`,
135
+ )
136
+ // 26.12.
137
+ cookies().set(PRINCIPAL_COOKIE, sealed, {
138
+ httpOnly: true,
139
+ sameSite: 'lax',
140
+ maxAge: Math.floor((expires - Date.now()) / 1000),
141
+ })
142
+ }
143
+
144
+ async function documentOf(
145
+ claims: unknown,
146
+ expires: number,
147
+ ): Promise<Principal> {
148
+ const baseline = {
149
+ authenticated: true,
150
+ expiresAt: new Date(expires).toISOString(),
151
+ error: undefined,
152
+ }
153
+ const resolve = HOOKS.principal
154
+ if (resolve === undefined)
155
+ return { ...(isRecord(claims) ? claims : {}), ...baseline }
156
+ try {
157
+ const resolved = await resolve(claims)
158
+ return { ...(isRecord(resolved) ? resolved : {}), ...baseline }
159
+ } catch (thrown) {
160
+ // 26.3 — a resolver that failed leaves the caller unauthenticated, and says why.
161
+ PRINCIPAL_LOG.warning('onPrincipal threw', thrown)
162
+ return {
163
+ authenticated: false,
164
+ expiresAt: undefined,
165
+ error: isFailed(thrown)
166
+ ? thrown
167
+ : refuse(500, 'onPrincipal failed'),
168
+ }
169
+ }
170
+ }
171
+
172
+ /**
173
+ * This request's principal, resolved from its cookie at most once.
174
+ *
175
+ * 26.14 — ONCE PER REQUEST, and 26.15 — a seal half spent is sealed again for another full life.
176
+ */
177
+ function resolvePrincipal(): Promise<Principal> {
178
+ const scope = within('principal')
179
+ scope.principal ??= (async () => {
180
+ const opened = unseal(cookies().get(PRINCIPAL_COOKIE))
181
+ if (opened === undefined) return ANONYMOUS
182
+ let expires = opened.expires
183
+ const life = ttl()
184
+ if (expires - Date.now() < life / 2 && scope.applied === false) {
185
+ expires = Date.now() + life
186
+ writeSeal(opened.claims, expires)
187
+ }
188
+ return documentOf(opened.claims, expires)
189
+ })()
190
+ return scope.principal
191
+ }
192
+
193
+ /**
194
+ * Signs this caller in with `claims`, sealing them into the cookie.
195
+ *
196
+ * 26.8, 26.21 — AUTHENTICATES THIS CALLER, before the headers are out, leaving `caller` where it
197
+ * was. The answer says so in `PRINCIPAL_HEADER`, which is what has the browser's `principal` load
198
+ * the document again: the cookie it rides in is `HttpOnly`, and a `set-cookie` is a header no
199
+ * `fetch` may read.
200
+ */
201
+ async function set(claims: Record<string, unknown>): Promise<void> {
202
+ const scope = within('principal.set')
203
+ // 26.11 — THE CLAIMS ARE A JWT's PAYLOAD, so they are its members: an object, and nothing else.
204
+ if (!isRecord(claims))
205
+ throw new Error(
206
+ 'abide: principal.set takes an object of claims, which become the JWT payload. RULEBOOK 26.11.',
207
+ )
208
+ if (scope.applied)
209
+ throw new Error(
210
+ 'abide: principal.set was called after the response headers went out, so the cookie cannot be written. RULEBOOK 26.21.',
211
+ )
212
+ const expires = Date.now() + ttl()
213
+ writeSeal(claims, expires)
214
+ scope.response.headers.set(PRINCIPAL_HEADER, 'set')
215
+ const resolved = documentOf(claims, expires)
216
+ scope.principal = resolved
217
+ principalMembers().document.set(await resolved)
218
+ PRINCIPAL_LOG.debug('set')
219
+ }
220
+
221
+ /**
222
+ * Signs this caller out and rotates `caller`.
223
+ *
224
+ * 26.7, 26.9 — SIGNS OUT NOW AND NEXT TIME, and rotates `caller` so the next visitor at this
225
+ * browser is not the last one.
226
+ */
227
+ function clear(): void {
228
+ const scope = within('principal.clear')
229
+ cookies().delete(PRINCIPAL_COOKIE)
230
+ scope.response.headers.set(PRINCIPAL_HEADER, 'clear')
231
+ const minted = mintCaller(scope)
232
+ scope.principal = Promise.resolve(ANONYMOUS)
233
+ principalMembers().document.set(ANONYMOUS)
234
+ principalMembers().caller.set(minted)
235
+ PRINCIPAL_LOG.debug('clear')
236
+ }
237
+
238
+ // 26.17 — THE DOCUMENT IS A `GET` LIKE ANY OTHER, so it reaches a browser as any handler's value does
239
+ // (41.5): a render's read of it is reported as the call it is, left in the seed buffer (41.13) and
240
+ // started from the head (41.20), and the browser's own read takes that answer rather than asking
241
+ // again. Built on the core's `declare` with no generated surface (20.1) — abide mounts it, not the
242
+ // app's tree.
243
+ const principalDocument = declare('GET')(resolvePrincipal, {
244
+ clients: { ui: false, mcp: false, cli: false, openapi: false },
245
+ })
246
+
247
+ /** The handler `/__abide/principal` is answered by. */
248
+ export const PRINCIPAL_MOUNT = mountedOwn(
249
+ PRINCIPAL_ADDRESS,
250
+ 'principal',
251
+ principalDocument,
252
+ )
253
+
254
+ // 21.3 — the answer is about this caller alone, and is never cached. 1.4 — the call's `Reactive` is
255
+ // thenable, and a promise of it is the document.
256
+ export const SERVER_PRINCIPAL: typeof PRINCIPAL = {
257
+ document: () => Promise.resolve(principalDocument()),
258
+ caller: callerOrMint,
259
+ set,
260
+ clear,
261
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Each token of a `;q=`-weighted list header, to its quality, in the order the header lists them.
3
+ *
4
+ * For `accept` and `accept-encoding`. A QUALITY THAT DOES NOT PARSE REFUSES, rather than reading as
5
+ * the default of 1, and `q=0` is a refusal rather than a low preference.
6
+ */
7
+ export function qualitiesOf(header: string): Map<string, number> {
8
+ const qualities = new Map<string, number>()
9
+ for (const part of header.split(',')) {
10
+ const [token, ...parameters] = part.split(';')
11
+ let quality = 1
12
+ for (const parameter of parameters) {
13
+ const [key, value] = parameter.split('=')
14
+ if (key?.trim() === 'q') quality = Number(value)
15
+ }
16
+ qualities.set(
17
+ (token as string).trim().toLowerCase(),
18
+ Number.isNaN(quality) ? 0 : quality,
19
+ )
20
+ }
21
+ return qualities
22
+ }
@@ -0,0 +1,9 @@
1
+ /** `bytes` random bytes, encoded as `encoding`. */
2
+ export function randomToken(
3
+ bytes: number,
4
+ encoding: 'base64' | 'base64url' | 'hex',
5
+ ): string {
6
+ return Buffer.from(crypto.getRandomValues(new Uint8Array(bytes))).toString(
7
+ encoding,
8
+ )
9
+ }