akanjs 3.0.0-beta.2 → 3.0.0-beta.20

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 (1250) hide show
  1. package/base/base.ts +6 -11
  2. package/base/baseEnv.ts +17 -11
  3. package/base/databaseModes.ts +75 -0
  4. package/base/index.ts +1 -0
  5. package/base/primitiveRegistry.ts +38 -47
  6. package/base/symbols.ts +1 -1
  7. package/base/types.ts +1 -1
  8. package/base/utils.ts +3 -6
  9. package/capacitor.base.config.ts +2 -3
  10. package/client/capacitor.ts +18 -63
  11. package/client/cn.ts +3 -13
  12. package/client/cookie.ts +6 -15
  13. package/client/createFont.ts +0 -2
  14. package/client/csrTypes.ts +6 -59
  15. package/client/decorators.ts +1 -1
  16. package/client/device.ts +52 -44
  17. package/client/frameConfig.ts +15 -26
  18. package/client/index.ts +0 -1
  19. package/client/makePageProto.tsx +3 -4
  20. package/client/route/RootLayoutDefinition.ts +0 -6
  21. package/client/route/RouteDefinition.ts +5 -30
  22. package/client/route/resolveRouteModule.ts +1 -5
  23. package/client/router.ts +35 -39
  24. package/client/rscNavigation.ts +4 -5
  25. package/client/sharedContext.ts +2 -19
  26. package/client/storage.ts +29 -38
  27. package/client/translator.ts +5 -6
  28. package/client/types.ts +0 -3
  29. package/common/CodeAgentClient.ts +91 -0
  30. package/common/CodeTranscript.ts +325 -0
  31. package/common/Logger.ts +9 -34
  32. package/common/TrustedProxy.ts +6 -34
  33. package/common/applyMixins.ts +13 -2
  34. package/common/authToken.ts +0 -11
  35. package/common/capitalize.ts +3 -4
  36. package/common/clamp.ts +0 -1
  37. package/common/clientAddress.ts +1 -15
  38. package/common/codeAgentProfile.ts +181 -0
  39. package/common/codeAgentWire.ts +305 -0
  40. package/{server/routing → common}/eventStream.ts +1 -6
  41. package/common/fileUpload.ts +1 -12
  42. package/common/formatNumber.ts +3 -12
  43. package/common/index.ts +104 -19
  44. package/common/interpolateTranslation.ts +1 -6
  45. package/common/isEmail.ts +0 -1
  46. package/common/isRecord.ts +2 -0
  47. package/common/isThenable.ts +1 -8
  48. package/common/isValidDate.ts +3 -5
  49. package/common/logContext.ts +1 -1
  50. package/{ui/Agent → common}/markdownBlocks.ts +0 -3
  51. package/common/markdownSpans.ts +47 -0
  52. package/{ui/Agent → common}/markdownTable.ts +1 -5
  53. package/common/mcpExposure.ts +4 -27
  54. package/common/objectPath.ts +67 -0
  55. package/common/objectify.ts +52 -0
  56. package/common/{isPhoneNumber.ts → phone.ts} +7 -1
  57. package/common/randomPick.ts +13 -0
  58. package/common/requestOrigin.ts +0 -17
  59. package/common/restClient.ts +8 -13
  60. package/common/round.ts +4 -0
  61. package/common/routeConvention.ts +21 -14
  62. package/common/sleep.ts +1 -8
  63. package/common/subRoute.ts +4 -7
  64. package/common/toError.ts +1 -0
  65. package/common/tunnelWire.ts +263 -0
  66. package/common/types.ts +6 -7
  67. package/common/{splitVersion.ts → version.ts} +3 -6
  68. package/common/{websocketBinaryFrame.ts → websocketContract.ts} +43 -9
  69. package/constant/cascadePaths.ts +6 -9
  70. package/constant/constantRegistry.ts +21 -57
  71. package/constant/crystalize.ts +2 -12
  72. package/constant/dateSlot.ts +0 -15
  73. package/constant/fieldInfo.ts +30 -109
  74. package/constant/fieldQueryMeta.ts +2 -10
  75. package/constant/getDefault.ts +16 -8
  76. package/constant/hydrationPlan.ts +1 -9
  77. package/constant/index.ts +0 -1
  78. package/constant/labelOf.ts +1 -6
  79. package/constant/mask.ts +36 -38
  80. package/constant/purify.ts +6 -14
  81. package/constant/serialize.ts +82 -5
  82. package/constant/textFieldPaths.ts +2 -3
  83. package/constant/types.ts +2 -6
  84. package/constant/via.ts +20 -60
  85. package/dictionary/DictionaryLookup.ts +1 -7
  86. package/dictionary/agent.dictionary.ts +43 -11
  87. package/dictionary/base.dictionary.ts +11 -0
  88. package/dictionary/dictInfo.ts +145 -626
  89. package/dictionary/dictShape.ts +54 -0
  90. package/dictionary/dictionary.ts +1 -2
  91. package/dictionary/dictionaryRegistry.ts +7 -28
  92. package/dictionary/locale.ts +24 -116
  93. package/dictionary/trans.ts +18 -56
  94. package/document/dataLoader.ts +77 -78
  95. package/document/database.ts +52 -56
  96. package/document/documentQuery.ts +32 -32
  97. package/document/documentSchema.ts +21 -26
  98. package/document/filterMeta.ts +11 -31
  99. package/document/index.ts +0 -1
  100. package/document/into.ts +8 -18
  101. package/document/loaderInfo.ts +28 -7
  102. package/document/noDocumentError.ts +2 -7
  103. package/document/queryEvaluator.ts +21 -43
  104. package/document/types.ts +0 -1
  105. package/fetch/client/fetchClient.ts +66 -105
  106. package/fetch/client/fetchHandle.ts +4 -12
  107. package/fetch/client/httpClient.ts +35 -68
  108. package/fetch/client/remoteError.ts +2 -8
  109. package/fetch/client/sliceInitHandle.ts +3 -6
  110. package/fetch/client/sliceQueryArgs.ts +11 -0
  111. package/fetch/client/wsClient.ts +75 -64
  112. package/fetch/fetchType/appliedReturn.type.ts +5 -24
  113. package/fetch/fetchType/buildFetch.type.ts +28 -1
  114. package/fetch/fetchType/index.ts +0 -1
  115. package/fetch/requestStorage.ts +7 -28
  116. package/fetch/types.ts +0 -1
  117. package/index.ts +31 -64
  118. package/package.json +19 -5
  119. package/server/akanApp.ts +138 -289
  120. package/server/akanAppHeaders.ts +2 -3
  121. package/server/akanOption.ts +25 -27
  122. package/server/akanServer.ts +98 -219
  123. package/server/animatedImage.ts +2 -11
  124. package/server/artifact/builderRpc.ts +24 -64
  125. package/server/artifact/index.ts +0 -1
  126. package/server/artifact/ipcTypes.ts +27 -30
  127. package/server/artifact/routeClientCache.ts +18 -37
  128. package/server/artifact/routeSeedIndexStore.ts +2 -35
  129. package/server/artifact/routesManifestStore.ts +13 -38
  130. package/server/binaryPubsub.ts +0 -9
  131. package/server/cachePolicy.ts +10 -44
  132. package/server/console.ts +12 -16
  133. package/server/consoleSession.ts +55 -12
  134. package/server/contentEncoding.ts +42 -27
  135. package/server/decorators.ts +4 -70
  136. package/server/devtools/constantSerializer.ts +2 -14
  137. package/server/devtools/depsSerializer.ts +14 -46
  138. package/server/devtools/devtoolsJson.ts +6 -18
  139. package/server/devtools/devtoolsRouter.ts +2 -12
  140. package/server/devtools/signalSerializer.ts +5 -44
  141. package/server/devtools/types.ts +0 -12
  142. package/server/di/diLifecycle.ts +141 -221
  143. package/server/di/predefinedAdaptor.ts +11 -5
  144. package/server/di/resolveHierarchy.ts +114 -5
  145. package/server/di/utils.ts +13 -29
  146. package/server/head.tsx +53 -0
  147. package/server/hmr/clientScript.ts +2 -8
  148. package/server/hmr/devHmrController.ts +28 -32
  149. package/server/hmr/wsHub.ts +9 -7
  150. package/server/imageOptimizer.ts +5 -26
  151. package/server/index.ts +1 -1
  152. package/server/lifecycle/portInUse.ts +1 -4
  153. package/server/lifecycle/runtimeDir.ts +0 -4
  154. package/server/lifecycle/shutdownManager.ts +4 -29
  155. package/server/logging/childOutputReader.ts +0 -12
  156. package/server/logging/hubFileSink.ts +10 -6
  157. package/server/logging/logControlSocket.ts +13 -7
  158. package/server/logging/logForwarder.ts +19 -22
  159. package/server/logging/logHub.ts +0 -0
  160. package/server/logging/logQuery.ts +4 -7
  161. package/server/logging/logStdoutWriter.ts +1 -11
  162. package/server/logging/logStreamRoute.ts +4 -21
  163. package/server/logging/logTailClient.ts +1 -8
  164. package/server/logging/rotatingLogWriter.ts +4 -6
  165. package/server/mcp/McpAuth.ts +5 -79
  166. package/server/mcp/McpDispatcher.ts +13 -90
  167. package/server/mcp/McpEventStream.ts +2 -12
  168. package/server/mcp/McpExecutionContext.ts +1 -42
  169. package/server/mcp/McpRateLimiter.ts +61 -30
  170. package/server/mcp/McpRouter.ts +49 -208
  171. package/server/mcp/PagePromptComposer.ts +7 -29
  172. package/server/memoryLimit.ts +1 -13
  173. package/server/oauth/OAuthAuthorize.ts +3 -7
  174. package/server/oauth/OAuthClientIdMetadata.ts +2 -27
  175. package/server/oauth/OAuthErrors.ts +0 -13
  176. package/server/oauth/OAuthMetadata.ts +1 -7
  177. package/server/oauth/OAuthPkce.ts +0 -2
  178. package/server/oauth/OAuthRedirect.ts +0 -9
  179. package/server/oauth/OAuthRegistration.ts +0 -2
  180. package/server/oauth/OAuthRevocation.ts +1 -11
  181. package/server/oauth/OAuthToken.ts +3 -14
  182. package/server/oauth/oauthTypes.ts +1 -2
  183. package/server/ops/ageEncryption.ts +317 -0
  184. package/server/ops/appInfo.ts +92 -0
  185. package/server/ops/opsCommand.ts +116 -0
  186. package/server/ops/opsRoute.ts +151 -0
  187. package/server/ops/opsToken.ts +93 -0
  188. package/server/ops/snapshotJobs.ts +133 -0
  189. package/server/ops/snapshotRestore.ts +118 -0
  190. package/server/ops/snapshotTypes.ts +52 -0
  191. package/server/ops/sqliteFiles.ts +20 -0
  192. package/server/ops/sqliteSnapshot.ts +149 -0
  193. package/server/processMetricsCollector.ts +12 -14
  194. package/server/proxy/hostBasePathWebProxy.ts +20 -13
  195. package/server/proxy/index.ts +2 -3
  196. package/server/proxy/localeWebProxy.ts +3 -17
  197. package/server/proxy/types.ts +14 -0
  198. package/server/proxy/webProxyRunner.ts +13 -1
  199. package/server/resolver/CascadeRunner.ts +7 -23
  200. package/server/resolver/database.resolver.ts +57 -123
  201. package/server/resolver/service.resolver.ts +9 -161
  202. package/server/resolver/signal.resolver.ts +73 -98
  203. package/server/routeElementComposer.tsx +23 -52
  204. package/server/routeState.ts +15 -34
  205. package/server/routeTreeBuilder.ts +24 -83
  206. package/server/routing/apiRouter.ts +17 -49
  207. package/server/routing/appWsData.ts +4 -28
  208. package/server/routing/soloAppRoutes.ts +5 -5
  209. package/server/rscClient.tsx +31 -37
  210. package/server/rscClientFetch.ts +7 -3
  211. package/server/rscClientPatch.ts +4 -25
  212. package/server/rscHttp.ts +1 -1
  213. package/server/rscNavigationState.ts +10 -25
  214. package/server/rscPagePrompts.ts +4 -24
  215. package/server/rscSegmentOutlet.tsx +1 -5
  216. package/server/rscWorker.tsx +146 -285
  217. package/server/rscWorkerCache.ts +74 -8
  218. package/server/rscWorkerHost.ts +45 -192
  219. package/server/semaphore.ts +1 -1
  220. package/server/sitemap.ts +1 -3
  221. package/server/ssrFromRscRenderer.tsx +31 -124
  222. package/server/ssrTypes.ts +3 -29
  223. package/server/staticPath.ts +0 -16
  224. package/server/systemPageDocument.tsx +65 -2
  225. package/server/systemPages.tsx +4 -2
  226. package/server/tunnel/TunnelAgent.ts +237 -0
  227. package/server/tunnel/TunnelDataSocket.ts +146 -0
  228. package/server/tunnel/TunnelHttpStream.ts +86 -0
  229. package/server/tunnel/TunnelTcpStream.ts +96 -0
  230. package/server/tunnel/TunnelWebsocketStream.ts +110 -0
  231. package/server/tunnel/index.ts +6 -0
  232. package/server/tunnel/tunnelStream.ts +32 -0
  233. package/server/types.tsx +2 -9
  234. package/server/webRouter.ts +88 -306
  235. package/service/agent.service.ts +66 -35
  236. package/service/injectInfo.ts +106 -75
  237. package/service/ipcTypes.ts +4 -1
  238. package/service/liveSyncHub.ts +4 -34
  239. package/service/predefinedAdaptor/anthropicLlm.ts +65 -75
  240. package/service/predefinedAdaptor/cache.adaptor.ts +257 -75
  241. package/service/predefinedAdaptor/database.adaptor.ts +366 -108
  242. package/service/predefinedAdaptor/documentTransfer.ts +89 -0
  243. package/service/predefinedAdaptor/index.ts +2 -1
  244. package/service/predefinedAdaptor/insightQuery.ts +89 -79
  245. package/service/predefinedAdaptor/llm.adaptor.ts +64 -54
  246. package/service/predefinedAdaptor/llmOverflow.ts +63 -0
  247. package/service/predefinedAdaptor/openaiDialect.ts +56 -64
  248. package/service/predefinedAdaptor/openaiLlm.ts +24 -27
  249. package/service/predefinedAdaptor/queue.adaptor.ts +41 -22
  250. package/service/predefinedAdaptor/schedule.adaptor.ts +69 -9
  251. package/service/predefinedAdaptor/searchIndex.ts +76 -325
  252. package/service/predefinedAdaptor/solidCache.adaptor.ts +135 -12
  253. package/service/predefinedAdaptor/solidPubsub.adaptor.ts +28 -16
  254. package/service/predefinedAdaptor/solidQueue.adaptor.ts +61 -10
  255. package/service/predefinedAdaptor/solidSqlite.ts +10 -16
  256. package/service/predefinedAdaptor/sql/PendingStoreEnsures.ts +1 -0
  257. package/service/predefinedAdaptor/sql/PostgresInsightSession.ts +113 -0
  258. package/service/predefinedAdaptor/sql/QueryCompiler.ts +50 -30
  259. package/service/predefinedAdaptor/sql/SqlDocumentStore.ts +290 -138
  260. package/service/predefinedAdaptor/sql/SqliteInsightSession.ts +85 -0
  261. package/service/predefinedAdaptor/sql/UpdateCompiler.ts +1 -7
  262. package/service/predefinedAdaptor/sql/dialect/postgres.ts +138 -53
  263. package/service/predefinedAdaptor/sql/dialect/sqlite.ts +18 -15
  264. package/service/predefinedAdaptor/sql/driver/bunSqlite.ts +31 -4
  265. package/service/predefinedAdaptor/sql/driver/libsql.ts +20 -12
  266. package/service/predefinedAdaptor/sql/driver/postgres.ts +13 -7
  267. package/service/predefinedAdaptor/sql/search/fts5.ts +249 -0
  268. package/service/predefinedAdaptor/sql/search/mirror.ts +76 -0
  269. package/service/predefinedAdaptor/sql/search/postgres.ts +453 -0
  270. package/service/predefinedAdaptor/sql/search/types.ts +50 -0
  271. package/service/predefinedAdaptor/sql/types.ts +76 -17
  272. package/service/predefinedAdaptor/sql/values.ts +40 -2
  273. package/service/predefinedAdaptor/sqlitePath.ts +12 -0
  274. package/service/predefinedAdaptor/sseData.ts +23 -0
  275. package/service/predefinedAdaptor/storage.adaptor.ts +19 -7
  276. package/service/predefinedAdaptor/websocket.adaptor.ts +154 -184
  277. package/service/serve.ts +1 -2
  278. package/service/serviceModule.ts +52 -70
  279. package/service/toolNames.ts +5 -22
  280. package/service/types.ts +3 -9
  281. package/signal/CrossSiteGuard.ts +5 -40
  282. package/signal/SignalFailure.ts +2 -15
  283. package/signal/agent/AgentCatalogue.ts +9 -55
  284. package/signal/agent.signal.ts +9 -6
  285. package/signal/agentMeter.ts +45 -0
  286. package/signal/agentTurnStream.ts +48 -46
  287. package/signal/endpoint.ts +12 -2
  288. package/signal/endpointCache.ts +59 -0
  289. package/signal/endpointInfo.ts +13 -27
  290. package/signal/exception.ts +3 -34
  291. package/signal/guard.ts +4 -21
  292. package/signal/guards.ts +2 -10
  293. package/signal/index.ts +1 -0
  294. package/signal/internal.ts +3 -7
  295. package/signal/internalArg.ts +10 -13
  296. package/signal/internalInfo.ts +1 -1
  297. package/signal/mcp/McpDocument.ts +21 -90
  298. package/signal/mcp/McpProgress.ts +6 -19
  299. package/signal/mcp/McpUriTemplate.ts +1 -27
  300. package/signal/mcp/Msg.ts +13 -122
  301. package/signal/mcp/mcpProtocol.ts +3 -26
  302. package/signal/mcp/pagePrompt.ts +3 -9
  303. package/signal/middleware.ts +15 -65
  304. package/signal/openapi/openapi.ts +0 -4
  305. package/signal/schema/JsonSchemaBuilder.ts +32 -46
  306. package/signal/serializer/fetch.serializer.ts +37 -43
  307. package/signal/serverSignal.ts +6 -8
  308. package/signal/signalContext.ts +70 -161
  309. package/signal/signalRegistry.ts +11 -17
  310. package/signal/slice.ts +6 -12
  311. package/signal/sliceInfo.ts +5 -30
  312. package/signal/trace.ts +11 -84
  313. package/signal/types.ts +27 -57
  314. package/store/SliceRequest.ts +1 -11
  315. package/store/action.ts +153 -395
  316. package/store/actionTag.ts +1 -10
  317. package/store/agent/AgentBridge.ts +3 -25
  318. package/store/agent/AgentContext.ts +2 -9
  319. package/store/agent/AgentCursor.ts +160 -0
  320. package/store/agent/AgentPrompts.ts +0 -15
  321. package/store/agent/AgentVisual.ts +152 -0
  322. package/store/agent/ScreenFlash.ts +67 -0
  323. package/store/agent/ScreenReader.ts +3 -52
  324. package/store/agent/ScreenSettle.ts +1 -13
  325. package/store/agent/ScreenTarget.ts +15 -32
  326. package/store/agent/StoreCatalogue.ts +12 -24
  327. package/store/agent/StoreSurfaceSource.ts +35 -65
  328. package/store/agent/index.ts +4 -4
  329. package/store/agentic/AgentValue.ts +9 -26
  330. package/store/agentic/StExposeBuilder.ts +3 -12
  331. package/store/agentic/StExposeDraft.ts +0 -6
  332. package/store/agentic/StStateBuilder.ts +3 -11
  333. package/store/agentic/StStateDraft.ts +0 -5
  334. package/store/agentic/StToolBuilder.ts +48 -41
  335. package/store/agentic/StToolDraft.ts +0 -7
  336. package/store/agentic/attachAgentic.ts +2 -10
  337. package/store/agentic/formFields.ts +8 -42
  338. package/store/agentic/index.ts +1 -1
  339. package/store/agentic/useAgentReference.ts +31 -0
  340. package/store/agentic/useFieldTool.ts +176 -58
  341. package/store/agentic/useFormTools.ts +4 -21
  342. package/store/agentic/useRelationFieldTool.ts +2 -15
  343. package/store/databaseStateNames.ts +0 -9
  344. package/store/draftStore.ts +4 -54
  345. package/store/formSetterNames.ts +2 -19
  346. package/store/hooks.ts +1 -1
  347. package/store/liveInsert.ts +1 -30
  348. package/store/sliceKeys.ts +37 -0
  349. package/store/sliceRole.ts +1 -10
  350. package/store/state.ts +4 -50
  351. package/store/stateBuilder.ts +1 -23
  352. package/store/storeInstance.ts +21 -114
  353. package/store/storeRegistry.ts +1 -8
  354. package/store/types.ts +1 -1
  355. package/test/conformance.ts +299 -0
  356. package/test/index.ts +2 -2
  357. package/test/sampleOf.ts +52 -28
  358. package/test/signalTestRuntime.ts +6 -10
  359. package/test/testServer.ts +66 -31
  360. package/types/base/base.d.ts +2 -3
  361. package/types/base/baseEnv.d.ts +7 -10
  362. package/types/base/databaseModes.d.ts +28 -0
  363. package/types/base/index.d.ts +1 -0
  364. package/types/base/primitiveRegistry.d.ts +23 -10
  365. package/types/base/symbols.d.ts +1 -1
  366. package/types/capacitor.base.config.d.ts +1 -1
  367. package/types/client/cn.d.ts +3 -13
  368. package/types/client/cookie.d.ts +3 -12
  369. package/types/client/csrTypes.d.ts +6 -57
  370. package/types/client/decorators.d.ts +1 -1
  371. package/types/client/device.d.ts +2 -1
  372. package/types/client/index.d.ts +0 -1
  373. package/types/client/route/RootLayoutDefinition.d.ts +0 -1
  374. package/types/client/route/RouteDefinition.d.ts +4 -16
  375. package/types/client/route/resolveRouteModule.d.ts +1 -5
  376. package/types/client/router.d.ts +8 -4
  377. package/types/client/rscNavigation.d.ts +4 -5
  378. package/types/client/sharedContext.d.ts +2 -19
  379. package/types/client/storage.d.ts +1 -1
  380. package/types/client/types.d.ts +0 -3
  381. package/types/common/CodeAgentClient.d.ts +20 -0
  382. package/types/common/CodeTranscript.d.ts +72 -0
  383. package/types/common/Logger.d.ts +4 -20
  384. package/types/common/TrustedProxy.d.ts +2 -28
  385. package/types/common/applyMixins.d.ts +3 -0
  386. package/types/common/authToken.d.ts +0 -11
  387. package/types/common/capitalize.d.ts +1 -1
  388. package/types/common/clamp.d.ts +0 -1
  389. package/types/common/clientAddress.d.ts +1 -15
  390. package/types/common/codeAgentProfile.d.ts +115 -0
  391. package/types/common/codeAgentWire.d.ts +279 -0
  392. package/types/{server/routing → common}/eventStream.d.ts +0 -5
  393. package/types/common/fileUpload.d.ts +6 -11
  394. package/types/common/index.d.ts +20 -19
  395. package/types/common/interpolateTranslation.d.ts +1 -6
  396. package/types/common/isEmail.d.ts +0 -1
  397. package/types/common/isRecord.d.ts +1 -0
  398. package/types/common/isThenable.d.ts +0 -8
  399. package/types/common/logContext.d.ts +1 -1
  400. package/types/{ui/Agent → common}/markdownBlocks.d.ts +0 -3
  401. package/types/common/markdownSpans.d.ts +30 -0
  402. package/types/{ui/Agent → common}/markdownTable.d.ts +0 -2
  403. package/types/common/mcpExposure.d.ts +3 -23
  404. package/types/common/objectPath.d.ts +10 -0
  405. package/types/common/objectify.d.ts +7 -0
  406. package/types/common/phone.d.ts +2 -0
  407. package/types/common/randomPick.d.ts +1 -0
  408. package/types/common/requestOrigin.d.ts +0 -17
  409. package/types/common/restClient.d.ts +0 -7
  410. package/types/common/round.d.ts +1 -0
  411. package/types/common/routeConvention.d.ts +2 -5
  412. package/types/common/sleep.d.ts +0 -1
  413. package/types/common/subRoute.d.ts +4 -6
  414. package/types/common/toError.d.ts +1 -0
  415. package/types/common/tunnelWire.d.ts +161 -0
  416. package/types/common/types.d.ts +7 -7
  417. package/types/common/version.d.ts +6 -0
  418. package/types/common/websocketContract.d.ts +41 -0
  419. package/types/constant/cascadePaths.d.ts +2 -5
  420. package/types/constant/constantRegistry.d.ts +4 -4
  421. package/types/constant/dateSlot.d.ts +0 -5
  422. package/types/constant/fieldInfo.d.ts +2 -21
  423. package/types/constant/fieldQueryMeta.d.ts +2 -10
  424. package/types/constant/getDefault.d.ts +5 -7
  425. package/types/constant/hydrationPlan.d.ts +0 -8
  426. package/types/constant/index.d.ts +0 -1
  427. package/types/constant/labelOf.d.ts +1 -6
  428. package/types/constant/mask.d.ts +11 -36
  429. package/types/constant/serialize.d.ts +10 -2
  430. package/types/constant/types.d.ts +2 -6
  431. package/types/constant/via.d.ts +0 -1
  432. package/types/dictionary/DictionaryLookup.d.ts +1 -7
  433. package/types/dictionary/agent.dictionary.d.ts +2 -1
  434. package/types/dictionary/base.dictionary.d.ts +1 -1
  435. package/types/dictionary/dictInfo.d.ts +25 -92
  436. package/types/dictionary/dictShape.d.ts +26 -0
  437. package/types/dictionary/dictionary.d.ts +9 -9
  438. package/types/dictionary/dictionaryRegistry.d.ts +1 -15
  439. package/types/dictionary/locale.d.ts +9 -28
  440. package/types/dictionary/trans.d.ts +5 -14
  441. package/types/document/dataLoader.d.ts +2 -2
  442. package/types/document/database.d.ts +21 -14
  443. package/types/document/documentQuery.d.ts +6 -1
  444. package/types/document/documentSchema.d.ts +3 -7
  445. package/types/document/filterMeta.d.ts +3 -8
  446. package/types/document/index.d.ts +0 -1
  447. package/types/document/into.d.ts +3 -2
  448. package/types/document/loaderInfo.d.ts +9 -4
  449. package/types/document/noDocumentError.d.ts +2 -7
  450. package/types/document/queryEvaluator.d.ts +7 -24
  451. package/types/document/types.d.ts +0 -1
  452. package/types/fetch/client/fetchClient.d.ts +6 -9
  453. package/types/fetch/client/fetchHandle.d.ts +3 -11
  454. package/types/fetch/client/httpClient.d.ts +5 -1
  455. package/types/fetch/client/remoteError.d.ts +2 -8
  456. package/types/fetch/client/sliceInitHandle.d.ts +2 -5
  457. package/types/fetch/client/sliceQueryArgs.d.ts +3 -0
  458. package/types/fetch/client/wsClient.d.ts +10 -15
  459. package/types/fetch/fetchType/appliedReturn.type.d.ts +5 -23
  460. package/types/fetch/fetchType/buildFetch.type.d.ts +15 -1
  461. package/types/fetch/fetchType/index.d.ts +0 -1
  462. package/types/fetch/requestStorage.d.ts +3 -16
  463. package/types/fetch/types.d.ts +0 -1
  464. package/types/index.d.ts +30 -64
  465. package/types/server/akanApp.d.ts +5 -28
  466. package/types/server/akanAppHeaders.d.ts +0 -1
  467. package/types/server/akanOption.d.ts +12 -24
  468. package/types/server/akanServer.d.ts +16 -56
  469. package/types/server/animatedImage.d.ts +0 -6
  470. package/types/server/artifact/builderRpc.d.ts +7 -30
  471. package/types/server/artifact/index.d.ts +0 -1
  472. package/types/server/artifact/ipcTypes.d.ts +22 -29
  473. package/types/server/artifact/routeClientCache.d.ts +3 -11
  474. package/types/server/artifact/routeSeedIndexStore.d.ts +0 -16
  475. package/types/server/artifact/routesManifestStore.d.ts +1 -1
  476. package/types/server/binaryPubsub.d.ts +0 -8
  477. package/types/server/cachePolicy.d.ts +2 -21
  478. package/types/server/console.d.ts +3 -6
  479. package/types/server/consoleSession.d.ts +2 -2
  480. package/types/server/contentEncoding.d.ts +6 -14
  481. package/types/server/decorators.d.ts +0 -12
  482. package/types/server/devtools/constantSerializer.d.ts +1 -6
  483. package/types/server/devtools/depsSerializer.d.ts +1 -7
  484. package/types/server/devtools/devtoolsJson.d.ts +1 -7
  485. package/types/server/devtools/devtoolsRouter.d.ts +2 -11
  486. package/types/server/devtools/signalSerializer.d.ts +1 -9
  487. package/types/server/devtools/types.d.ts +0 -11
  488. package/types/server/di/diLifecycle.d.ts +0 -36
  489. package/types/server/di/predefinedAdaptor.d.ts +3 -2
  490. package/types/server/di/resolveHierarchy.d.ts +22 -5
  491. package/types/server/di/utils.d.ts +4 -17
  492. package/types/server/head.d.ts +9 -0
  493. package/types/server/hmr/devHmrController.d.ts +0 -2
  494. package/types/server/hmr/wsHub.d.ts +6 -1
  495. package/types/server/index.d.ts +1 -1
  496. package/types/server/lifecycle/portInUse.d.ts +1 -4
  497. package/types/server/lifecycle/runtimeDir.d.ts +0 -4
  498. package/types/server/lifecycle/shutdownManager.d.ts +0 -9
  499. package/types/server/logging/childOutputReader.d.ts +0 -12
  500. package/types/server/logging/hubFileSink.d.ts +1 -5
  501. package/types/server/logging/logControlSocket.d.ts +2 -7
  502. package/types/server/logging/logForwarder.d.ts +3 -15
  503. package/types/server/logging/logHub.d.ts +1 -15
  504. package/types/server/logging/logQuery.d.ts +3 -6
  505. package/types/server/logging/logStdoutWriter.d.ts +0 -6
  506. package/types/server/logging/logStreamRoute.d.ts +0 -9
  507. package/types/server/logging/logTailClient.d.ts +0 -5
  508. package/types/server/mcp/McpAuth.d.ts +3 -71
  509. package/types/server/mcp/McpDispatcher.d.ts +0 -23
  510. package/types/server/mcp/McpEventStream.d.ts +1 -12
  511. package/types/server/mcp/McpExecutionContext.d.ts +0 -33
  512. package/types/server/mcp/McpRateLimiter.d.ts +10 -13
  513. package/types/server/mcp/McpRouter.d.ts +1 -47
  514. package/types/server/mcp/PagePromptComposer.d.ts +1 -13
  515. package/types/server/memoryLimit.d.ts +1 -13
  516. package/types/server/oauth/OAuthAuthorize.d.ts +1 -6
  517. package/types/server/oauth/OAuthClientIdMetadata.d.ts +2 -26
  518. package/types/server/oauth/OAuthErrors.d.ts +0 -13
  519. package/types/server/oauth/OAuthMetadata.d.ts +1 -7
  520. package/types/server/oauth/OAuthPkce.d.ts +0 -1
  521. package/types/server/oauth/OAuthRedirect.d.ts +0 -9
  522. package/types/server/oauth/OAuthRegistration.d.ts +0 -1
  523. package/types/server/oauth/OAuthRevocation.d.ts +1 -11
  524. package/types/server/oauth/OAuthToken.d.ts +1 -13
  525. package/types/server/oauth/oauthTypes.d.ts +1 -2
  526. package/types/server/ops/ageEncryption.d.ts +19 -0
  527. package/types/server/ops/appInfo.d.ts +36 -0
  528. package/types/server/ops/opsCommand.d.ts +5 -0
  529. package/types/server/ops/opsRoute.d.ts +24 -0
  530. package/types/server/ops/opsToken.d.ts +26 -0
  531. package/types/server/ops/snapshotJobs.d.ts +24 -0
  532. package/types/server/ops/snapshotRestore.d.ts +24 -0
  533. package/types/server/ops/snapshotTypes.d.ts +45 -0
  534. package/types/server/ops/sqliteFiles.d.ts +5 -0
  535. package/types/server/ops/sqliteSnapshot.d.ts +32 -0
  536. package/types/server/processMetricsCollector.d.ts +3 -1
  537. package/types/server/proxy/hostBasePathWebProxy.d.ts +7 -1
  538. package/types/server/proxy/index.d.ts +2 -3
  539. package/types/server/proxy/localeWebProxy.d.ts +1 -1
  540. package/types/server/proxy/types.d.ts +5 -0
  541. package/types/server/proxy/webProxyRunner.d.ts +1 -0
  542. package/types/server/resolver/CascadeRunner.d.ts +0 -4
  543. package/types/server/resolver/database.resolver.d.ts +1 -1
  544. package/types/server/resolver/service.resolver.d.ts +2 -2
  545. package/types/server/resolver/signal.resolver.d.ts +1 -15
  546. package/types/server/routeElementComposer.d.ts +2 -8
  547. package/types/server/routeState.d.ts +1 -1
  548. package/types/server/routing/apiRouter.d.ts +2 -20
  549. package/types/server/routing/appWsData.d.ts +0 -26
  550. package/types/server/routing/soloAppRoutes.d.ts +2 -6
  551. package/types/server/rscClient.d.ts +0 -9
  552. package/types/server/rscClientFetch.d.ts +6 -6
  553. package/types/server/rscClientPatch.d.ts +1 -1
  554. package/types/server/rscHttp.d.ts +1 -0
  555. package/types/server/rscNavigationState.d.ts +3 -2
  556. package/types/server/rscPagePrompts.d.ts +0 -9
  557. package/types/server/rscWorkerCache.d.ts +41 -3
  558. package/types/server/rscWorkerHost.d.ts +5 -61
  559. package/types/server/ssrFromRscRenderer.d.ts +0 -12
  560. package/types/server/ssrTypes.d.ts +2 -29
  561. package/types/server/staticPath.d.ts +0 -16
  562. package/types/server/systemPageDocument.d.ts +8 -0
  563. package/types/server/systemPages.d.ts +2 -3
  564. package/types/server/tunnel/TunnelAgent.d.ts +29 -0
  565. package/types/server/tunnel/TunnelDataSocket.d.ts +22 -0
  566. package/types/server/tunnel/TunnelHttpStream.d.ts +10 -0
  567. package/types/server/tunnel/TunnelTcpStream.d.ts +11 -0
  568. package/types/server/tunnel/TunnelWebsocketStream.d.ts +10 -0
  569. package/types/server/tunnel/index.d.ts +6 -0
  570. package/types/server/tunnel/tunnelStream.d.ts +19 -0
  571. package/types/server/tunnel.d.ts +1 -0
  572. package/types/server/types.d.ts +2 -9
  573. package/types/server/webRouter.d.ts +2 -19
  574. package/types/service/agent.service.d.ts +16 -29
  575. package/types/service/injectInfo.d.ts +26 -15
  576. package/types/service/ipcTypes.d.ts +6 -0
  577. package/types/service/liveSyncHub.d.ts +4 -22
  578. package/types/service/predefinedAdaptor/anthropicLlm.d.ts +20 -29
  579. package/types/service/predefinedAdaptor/cache.adaptor.d.ts +42 -12
  580. package/types/service/predefinedAdaptor/database.adaptor.d.ts +20 -16
  581. package/types/service/predefinedAdaptor/documentTransfer.d.ts +15 -0
  582. package/types/service/predefinedAdaptor/index.d.ts +2 -1
  583. package/types/service/predefinedAdaptor/insightQuery.d.ts +7 -30
  584. package/types/service/predefinedAdaptor/llm.adaptor.d.ts +54 -54
  585. package/types/service/predefinedAdaptor/llmOverflow.d.ts +16 -0
  586. package/types/service/predefinedAdaptor/openaiDialect.d.ts +19 -29
  587. package/types/service/predefinedAdaptor/openaiLlm.d.ts +9 -14
  588. package/types/service/predefinedAdaptor/queue.adaptor.d.ts +12 -7
  589. package/types/service/predefinedAdaptor/schedule.adaptor.d.ts +7 -2
  590. package/types/service/predefinedAdaptor/searchIndex.d.ts +17 -47
  591. package/types/service/predefinedAdaptor/solidCache.adaptor.d.ts +15 -6
  592. package/types/service/predefinedAdaptor/solidPubsub.adaptor.d.ts +6 -4
  593. package/types/service/predefinedAdaptor/solidSqlite.d.ts +2 -1
  594. package/types/service/predefinedAdaptor/sql/PostgresInsightSession.d.ts +20 -0
  595. package/types/service/predefinedAdaptor/sql/QueryCompiler.d.ts +9 -11
  596. package/types/service/predefinedAdaptor/sql/SqlDocumentStore.d.ts +11 -25
  597. package/types/service/predefinedAdaptor/sql/SqliteInsightSession.d.ts +15 -0
  598. package/types/service/predefinedAdaptor/sql/UpdateCompiler.d.ts +0 -4
  599. package/types/service/predefinedAdaptor/sql/dialect/postgres.d.ts +18 -10
  600. package/types/service/predefinedAdaptor/sql/dialect/sqlite.d.ts +5 -2
  601. package/types/service/predefinedAdaptor/sql/driver/bunSqlite.d.ts +9 -3
  602. package/types/service/predefinedAdaptor/sql/driver/libsql.d.ts +8 -5
  603. package/types/service/predefinedAdaptor/sql/driver/postgres.d.ts +4 -4
  604. package/types/service/predefinedAdaptor/sql/search/fts5.d.ts +28 -0
  605. package/types/service/predefinedAdaptor/sql/search/mirror.d.ts +20 -0
  606. package/types/service/predefinedAdaptor/sql/search/postgres.d.ts +53 -0
  607. package/types/service/predefinedAdaptor/sql/search/types.d.ts +45 -0
  608. package/types/service/predefinedAdaptor/sql/types.d.ts +69 -15
  609. package/types/service/predefinedAdaptor/sql/values.d.ts +8 -0
  610. package/types/service/predefinedAdaptor/sqlitePath.d.ts +1 -0
  611. package/types/service/predefinedAdaptor/sseData.d.ts +1 -0
  612. package/types/service/predefinedAdaptor/storage.adaptor.d.ts +3 -2
  613. package/types/service/predefinedAdaptor/websocket.adaptor.d.ts +26 -26
  614. package/types/service/serviceModule.d.ts +7 -7
  615. package/types/service/toolNames.d.ts +4 -21
  616. package/types/service/types.d.ts +3 -3
  617. package/types/signal/CrossSiteGuard.d.ts +3 -28
  618. package/types/signal/SignalFailure.d.ts +1 -15
  619. package/types/signal/agent/AgentCatalogue.d.ts +8 -54
  620. package/types/signal/agent.signal.d.ts +4 -1
  621. package/types/signal/agentMeter.d.ts +24 -0
  622. package/types/signal/agentTurnStream.d.ts +10 -11
  623. package/types/signal/endpoint.d.ts +0 -1
  624. package/types/signal/endpointCache.d.ts +5 -0
  625. package/types/signal/endpointInfo.d.ts +1 -9
  626. package/types/signal/exception.d.ts +1 -34
  627. package/types/signal/guard.d.ts +4 -15
  628. package/types/signal/guards.d.ts +2 -10
  629. package/types/signal/index.d.ts +1 -0
  630. package/types/signal/internal.d.ts +1 -5
  631. package/types/signal/internalArg.d.ts +7 -13
  632. package/types/signal/mcp/McpDocument.d.ts +5 -45
  633. package/types/signal/mcp/McpProgress.d.ts +6 -19
  634. package/types/signal/mcp/McpUriTemplate.d.ts +1 -19
  635. package/types/signal/mcp/Msg.d.ts +13 -70
  636. package/types/signal/mcp/mcpProtocol.d.ts +1 -26
  637. package/types/signal/mcp/pagePrompt.d.ts +3 -9
  638. package/types/signal/middleware.d.ts +0 -18
  639. package/types/signal/schema/JsonSchemaBuilder.d.ts +15 -43
  640. package/types/signal/serializer/fetch.serializer.d.ts +1 -6
  641. package/types/signal/serverSignal.d.ts +0 -1
  642. package/types/signal/signalContext.d.ts +14 -61
  643. package/types/signal/signalRegistry.d.ts +0 -1
  644. package/types/signal/slice.d.ts +3 -9
  645. package/types/signal/sliceInfo.d.ts +5 -30
  646. package/types/signal/trace.d.ts +2 -30
  647. package/types/signal/types.d.ts +27 -57
  648. package/types/store/SliceRequest.d.ts +1 -11
  649. package/types/store/action.d.ts +2 -6
  650. package/types/store/actionTag.d.ts +1 -10
  651. package/types/store/agent/AgentBridge.d.ts +3 -22
  652. package/types/store/agent/AgentContext.d.ts +1 -7
  653. package/types/store/agent/AgentCursor.d.ts +24 -0
  654. package/types/store/agent/AgentPrompts.d.ts +0 -5
  655. package/types/store/agent/AgentVisual.d.ts +25 -0
  656. package/types/store/agent/ScreenFlash.d.ts +23 -0
  657. package/types/store/agent/ScreenReader.d.ts +3 -26
  658. package/types/store/agent/ScreenSettle.d.ts +1 -12
  659. package/types/store/agent/ScreenTarget.d.ts +3 -23
  660. package/types/store/agent/StoreCatalogue.d.ts +12 -16
  661. package/types/store/agent/StoreSurfaceSource.d.ts +11 -23
  662. package/types/store/agent/index.d.ts +4 -3
  663. package/types/store/agentic/AgentValue.d.ts +3 -23
  664. package/types/store/agentic/StExposeBuilder.d.ts +2 -11
  665. package/types/store/agentic/StExposeDraft.d.ts +0 -6
  666. package/types/store/agentic/StStateBuilder.d.ts +1 -7
  667. package/types/store/agentic/StStateDraft.d.ts +0 -5
  668. package/types/store/agentic/StToolBuilder.d.ts +14 -37
  669. package/types/store/agentic/StToolDraft.d.ts +0 -7
  670. package/types/store/agentic/attachAgentic.d.ts +2 -10
  671. package/types/store/agentic/formFields.d.ts +5 -41
  672. package/types/store/agentic/index.d.ts +1 -1
  673. package/types/store/agentic/useAgentReference.d.ts +14 -0
  674. package/types/store/agentic/useFieldTool.d.ts +19 -16
  675. package/types/store/agentic/useFormTools.d.ts +1 -18
  676. package/types/store/agentic/useRelationFieldTool.d.ts +1 -14
  677. package/types/store/baseSt.d.ts +2 -2
  678. package/types/store/databaseStateNames.d.ts +0 -9
  679. package/types/store/draftStore.d.ts +4 -30
  680. package/types/store/formSetterNames.d.ts +0 -19
  681. package/types/store/hooks.d.ts +1 -1
  682. package/types/store/liveInsert.d.ts +0 -23
  683. package/types/store/sliceKeys.d.ts +31 -0
  684. package/types/store/sliceRole.d.ts +1 -10
  685. package/types/store/state.d.ts +2 -9
  686. package/types/store/stateBuilder.d.ts +0 -14
  687. package/types/store/storeInstance.d.ts +6 -20
  688. package/types/store/storeRegistry.d.ts +0 -2
  689. package/types/test/conformance.d.ts +73 -0
  690. package/types/test/index.d.ts +2 -2
  691. package/types/test/sampleOf.d.ts +17 -2
  692. package/types/test/signalTestRuntime.d.ts +1 -1
  693. package/types/test/testServer.d.ts +4 -3
  694. package/types/ui/Agent/Attach.d.ts +2 -2
  695. package/types/ui/Agent/Bubble.d.ts +3 -14
  696. package/types/ui/Agent/Chat.d.ts +31 -64
  697. package/types/ui/Agent/ChatCommands.d.ts +4 -14
  698. package/types/ui/Agent/Composer.d.ts +18 -5
  699. package/types/ui/Agent/Dock.d.ts +38 -10
  700. package/types/ui/Agent/Guide.d.ts +1 -5
  701. package/types/ui/Agent/History.d.ts +1 -18
  702. package/types/ui/Agent/Launcher.d.ts +2 -2
  703. package/types/ui/Agent/Markdown.d.ts +2 -6
  704. package/types/ui/Agent/MentionNode.d.ts +18 -0
  705. package/types/ui/Agent/Menu.d.ts +4 -4
  706. package/types/ui/Agent/Question.d.ts +1 -6
  707. package/types/ui/Agent/Queued.d.ts +1 -6
  708. package/types/ui/Agent/Refer.d.ts +9 -0
  709. package/types/ui/Agent/RichInput.d.ts +14 -0
  710. package/types/ui/Agent/Skip.d.ts +3 -15
  711. package/types/ui/Agent/Steps.d.ts +17 -0
  712. package/types/ui/Agent/ToolCard.d.ts +9 -0
  713. package/types/ui/Agent/Zone.d.ts +13 -30
  714. package/types/ui/Agent/agentSessionOf.d.ts +20 -16
  715. package/types/ui/Agent/attachment.d.ts +4 -38
  716. package/types/ui/Agent/fetchRunner.d.ts +1 -8
  717. package/types/ui/Agent/index.d.ts +2 -6
  718. package/types/ui/Agent/mentionDraft.d.ts +9 -0
  719. package/types/ui/Agent/tokenCount.d.ts +1 -5
  720. package/types/ui/Agent/useChatAttachments.d.ts +0 -5
  721. package/types/ui/Agent/useChatQueue.d.ts +3 -14
  722. package/types/ui/Agent/useChatReferences.d.ts +15 -0
  723. package/types/ui/Agent/useChatVoice.d.ts +0 -12
  724. package/types/ui/Agent/useDraftRecall.d.ts +0 -8
  725. package/types/ui/Agent/useKeyboardInset.d.ts +0 -7
  726. package/types/ui/Agent/useReferenceMenu.d.ts +35 -0
  727. package/types/ui/Agent/useSlashMenu.d.ts +0 -2
  728. package/types/ui/Agent/voice.d.ts +8 -42
  729. package/types/ui/Badge.d.ts +0 -1
  730. package/types/ui/BottomSheet.d.ts +2 -5
  731. package/types/ui/Button.d.ts +6 -23
  732. package/types/ui/ClientSide.d.ts +0 -2
  733. package/types/ui/Constant/schemaGraph.d.ts +0 -4
  734. package/types/ui/Copy.d.ts +2 -3
  735. package/types/ui/CsrImage.d.ts +2 -1
  736. package/types/ui/Data/Dashboard.d.ts +1 -4
  737. package/types/ui/Data/Item.d.ts +1 -1
  738. package/types/ui/Data/ListContainer.d.ts +1 -10
  739. package/types/ui/Data/Pagination.d.ts +0 -2
  740. package/types/ui/Data/QueryMaker.d.ts +0 -7
  741. package/types/ui/Data/RefPicker.d.ts +0 -7
  742. package/types/ui/DatePicker.d.ts +0 -11
  743. package/types/ui/Dialog/LegacyModal.d.ts +1 -4
  744. package/types/ui/Dialog/Provider.d.ts +37 -4
  745. package/types/ui/Dialog/index.d.ts +4 -4
  746. package/types/ui/Dropdown.d.ts +1 -9
  747. package/types/ui/Empty.d.ts +3 -10
  748. package/types/ui/Field/Collection.d.ts +1 -16
  749. package/types/ui/Field/Relation.d.ts +10 -37
  750. package/types/ui/Field/Text.d.ts +9 -66
  751. package/types/ui/Field/index.d.ts +0 -9
  752. package/types/ui/Field/lightRefCache.d.ts +11 -0
  753. package/types/ui/Field/useRelationOptions.d.ts +28 -0
  754. package/types/ui/Image.d.ts +8 -12
  755. package/types/ui/InfiniteScroll.d.ts +2 -6
  756. package/types/ui/Input.d.ts +8 -15
  757. package/types/ui/Layout/Role.d.ts +23 -0
  758. package/types/ui/Layout/Sider.d.ts +21 -0
  759. package/types/ui/Layout/TopInset.d.ts +5 -0
  760. package/types/ui/Layout/index.d.ts +7 -7
  761. package/types/ui/LegacyModal.d.ts +1 -12
  762. package/types/ui/Link/Action.d.ts +11 -0
  763. package/types/ui/Link/Anchor.d.ts +20 -0
  764. package/types/ui/Link/index.d.ts +4 -7
  765. package/types/ui/Load/Edit_Client.d.ts +1 -1
  766. package/types/ui/Load/Page.d.ts +3 -5
  767. package/types/ui/Load/Stream.d.ts +0 -12
  768. package/types/ui/Load/Units.d.ts +1 -1
  769. package/types/ui/Load/View.d.ts +2 -7
  770. package/types/ui/Loading/ProgressBar.d.ts +0 -4
  771. package/types/ui/Loading/Skeleton.d.ts +2 -0
  772. package/types/ui/Loading/Spin.d.ts +12 -2
  773. package/types/ui/Loading/index.d.ts +3 -8
  774. package/types/ui/Loading/index_.d.ts +3 -10
  775. package/types/ui/Menu.d.ts +0 -5
  776. package/types/ui/Modal.d.ts +0 -17
  777. package/types/ui/Model/AdminPanel.d.ts +1 -4
  778. package/types/ui/Model/DraftBar.d.ts +2 -7
  779. package/types/ui/Model/EditModal.d.ts +7 -22
  780. package/types/ui/Model/LoadStore.d.ts +18 -0
  781. package/types/ui/Model/Remove.d.ts +0 -2
  782. package/types/ui/Model/SureToRemove.d.ts +0 -3
  783. package/types/ui/Model/ViewEditModal.d.ts +0 -2
  784. package/types/ui/Model/draftScope.d.ts +0 -7
  785. package/types/ui/Model/index.d.ts +2 -2
  786. package/types/ui/Model/index_.d.ts +2 -2
  787. package/types/ui/Pagination.d.ts +4 -12
  788. package/types/ui/Popconfirm.d.ts +3 -17
  789. package/types/ui/Radio.d.ts +0 -4
  790. package/types/ui/RecentTime.d.ts +5 -9
  791. package/types/ui/Reference/Panel.d.ts +44 -6
  792. package/types/ui/Reference/Segmented.d.ts +0 -3
  793. package/types/ui/Reference/{style.d.ts → docUi.d.ts} +6 -2
  794. package/types/ui/Reference/index.d.ts +3 -7
  795. package/types/ui/Refresh.d.ts +1 -1
  796. package/types/ui/ScreenNavigator.d.ts +2 -2
  797. package/types/ui/Select.d.ts +4 -19
  798. package/types/ui/Signal/Endpoint.d.ts +43 -0
  799. package/types/ui/Signal/WebSocket.d.ts +23 -0
  800. package/types/ui/Signal/endpointEntries.d.ts +2 -4
  801. package/types/ui/Signal/index.d.ts +1 -3
  802. package/types/ui/Signal/style.d.ts +1 -2
  803. package/types/ui/Switch.d.ts +1 -5
  804. package/types/ui/System/CSR.d.ts +2 -2
  805. package/types/ui/System/Client.d.ts +2 -6
  806. package/types/ui/System/Common.d.ts +11 -22
  807. package/types/ui/System/Root.d.ts +1 -4
  808. package/types/ui/System/SSR.d.ts +2 -2
  809. package/types/ui/System/ThemeToggle.d.ts +1 -0
  810. package/types/ui/System/index.d.ts +1 -0
  811. package/types/ui/Tab/Provider.d.ts +24 -4
  812. package/types/ui/Tab/index.d.ts +3 -3
  813. package/types/ui/Table.d.ts +7 -23
  814. package/types/ui/Toast.d.ts +9 -16
  815. package/types/ui/ToggleSelect.d.ts +0 -5
  816. package/types/ui/Tooltip.d.ts +1 -2
  817. package/types/ui/UiOverride/{context.d.ts → UiOverride.d.ts} +24 -40
  818. package/types/ui/UiOverride/index.d.ts +2 -5
  819. package/types/ui/UiOverride/override.d.ts +2 -18
  820. package/types/ui/Unauthorized.d.ts +0 -6
  821. package/types/ui/agentAttrs.d.ts +4 -11
  822. package/types/ui/index.d.ts +9 -5
  823. package/types/ui/overlayLayer.d.ts +4 -24
  824. package/types/ui/overlayPosition.d.ts +0 -12
  825. package/types/ui/recipe/badgeRecipe.d.ts +2 -2
  826. package/types/ui/recipe/buttonRecipe.d.ts +2 -2
  827. package/types/ui/recipe/factory.d.ts +1 -21
  828. package/types/ui/recipe/index.d.ts +0 -14
  829. package/types/ui/recipe/inputRecipe.d.ts +3 -3
  830. package/types/ui/sliceNamesOf.d.ts +78 -0
  831. package/types/ui/triggerSlot.d.ts +2 -12
  832. package/types/vendor/use-agentic/AgentProgress.d.ts +12 -0
  833. package/types/vendor/use-agentic/AgentSession.d.ts +94 -2
  834. package/types/vendor/use-agentic/Compaction.d.ts +42 -5
  835. package/types/vendor/use-agentic/Reference.d.ts +56 -0
  836. package/types/vendor/use-agentic/ToolRunner.d.ts +31 -1
  837. package/types/vendor/use-agentic/Transcript.d.ts +4 -1
  838. package/types/vendor/use-agentic/index.d.ts +1 -0
  839. package/types/vendor/use-agentic/types.d.ts +109 -7
  840. package/types/webkit/RenderLayer.d.ts +11 -0
  841. package/types/webkit/index.d.ts +1 -2
  842. package/types/webkit/lazy.d.ts +3 -12
  843. package/types/webkit/{createRobotPage.d.ts → seoPages.d.ts} +4 -0
  844. package/types/webkit/useBodyScrollLock.d.ts +0 -1
  845. package/types/webkit/useCamera.d.ts +1 -1
  846. package/types/webkit/useContact.d.ts +1 -1
  847. package/types/webkit/useDebounce.d.ts +0 -1
  848. package/types/webkit/useEscapeKey.d.ts +1 -4
  849. package/types/webkit/useFetch.d.ts +1 -6
  850. package/types/webkit/useFrameRuntime.d.ts +1 -1
  851. package/types/webkit/useGeoLocation.d.ts +1 -1
  852. package/types/webkit/usePageTool.d.ts +2 -9
  853. package/types/webkit/usePurchase.d.ts +1 -4
  854. package/types/webkit/useScreenScope.d.ts +2 -13
  855. package/ui/Agent/Attach.tsx +5 -4
  856. package/ui/Agent/Bubble.tsx +51 -31
  857. package/ui/Agent/Chat.tsx +114 -102
  858. package/ui/Agent/ChatCommands.ts +5 -21
  859. package/ui/Agent/Composer.tsx +110 -28
  860. package/ui/Agent/Dock.tsx +176 -16
  861. package/ui/Agent/Guide.tsx +1 -5
  862. package/ui/Agent/History.tsx +1 -18
  863. package/ui/Agent/Launcher.tsx +2 -2
  864. package/ui/Agent/Markdown.tsx +40 -14
  865. package/ui/Agent/MentionNode.ts +54 -0
  866. package/ui/Agent/Menu.tsx +8 -5
  867. package/ui/Agent/Question.tsx +1 -6
  868. package/ui/Agent/Queued.tsx +3 -6
  869. package/ui/Agent/Refer.tsx +40 -0
  870. package/ui/Agent/RichInput.tsx +146 -0
  871. package/ui/Agent/Skip.tsx +3 -15
  872. package/ui/Agent/Steps.tsx +33 -0
  873. package/ui/Agent/ToolCard.tsx +32 -0
  874. package/ui/Agent/Zone.tsx +15 -31
  875. package/ui/Agent/agentSessionOf.ts +115 -15
  876. package/ui/Agent/attachment.ts +5 -42
  877. package/ui/Agent/fetchRunner.ts +3 -15
  878. package/ui/Agent/index.ts +1 -6
  879. package/ui/Agent/mentionDraft.ts +91 -0
  880. package/ui/Agent/tokenCount.ts +1 -5
  881. package/ui/Agent/useChatAttachments.ts +2 -9
  882. package/ui/Agent/useChatQueue.ts +12 -14
  883. package/ui/Agent/useChatReferences.ts +51 -0
  884. package/ui/Agent/useChatVoice.ts +2 -23
  885. package/ui/Agent/useDraftRecall.ts +0 -9
  886. package/ui/Agent/useKeyboardInset.ts +0 -7
  887. package/ui/Agent/useReferenceMenu.ts +93 -0
  888. package/ui/Agent/useSlashMenu.ts +0 -3
  889. package/ui/Agent/voice.ts +8 -43
  890. package/ui/Badge.tsx +0 -2
  891. package/ui/BottomSheet.tsx +2 -5
  892. package/ui/Button.tsx +9 -45
  893. package/ui/ClientSide.tsx +0 -2
  894. package/ui/Clipboard.tsx +0 -1
  895. package/ui/Constant/Doc.tsx +274 -265
  896. package/ui/Constant/Graph.tsx +11 -3
  897. package/ui/Constant/schemaGraph.ts +0 -9
  898. package/ui/Copy.tsx +2 -3
  899. package/ui/CsrImage.tsx +9 -9
  900. package/ui/Data/CardList.tsx +2 -17
  901. package/ui/Data/Dashboard.tsx +2 -5
  902. package/ui/Data/Item.tsx +2 -3
  903. package/ui/Data/ListContainer.tsx +15 -61
  904. package/ui/Data/Pagination.tsx +3 -22
  905. package/ui/Data/QueryMaker.tsx +1 -8
  906. package/ui/Data/RefPicker.tsx +1 -8
  907. package/ui/Data/TableList.tsx +2 -15
  908. package/ui/DatePicker.tsx +1 -12
  909. package/ui/Dialog/LegacyModal.tsx +3 -7
  910. package/ui/Dialog/Modal.tsx +3 -4
  911. package/ui/Dialog/Provider.tsx +85 -7
  912. package/ui/Dialog/index.tsx +1 -5
  913. package/ui/DraggableList.tsx +1 -4
  914. package/ui/Dropdown.tsx +4 -17
  915. package/ui/Empty.tsx +4 -12
  916. package/ui/Field/Choice.tsx +1 -1
  917. package/ui/Field/Collection.tsx +7 -29
  918. package/ui/Field/DateField.tsx +2 -7
  919. package/ui/Field/Label.tsx +0 -1
  920. package/ui/Field/NumberField.tsx +0 -1
  921. package/ui/Field/Relation.tsx +79 -199
  922. package/ui/Field/Text.tsx +25 -86
  923. package/ui/Field/index.tsx +0 -9
  924. package/ui/Field/lightRefCache.ts +61 -0
  925. package/ui/Field/useRelationOptions.ts +97 -0
  926. package/ui/Image.tsx +35 -65
  927. package/ui/InfiniteScroll.tsx +3 -21
  928. package/ui/Input.tsx +82 -174
  929. package/ui/Layout/Role.tsx +42 -0
  930. package/ui/Layout/Sider.tsx +82 -1
  931. package/ui/Layout/TopInset.tsx +23 -1
  932. package/ui/Layout/index.ts +3 -9
  933. package/ui/LegacyModal.tsx +1 -12
  934. package/ui/Link/Action.tsx +29 -0
  935. package/ui/Link/Anchor.tsx +118 -0
  936. package/ui/Link/index.tsx +7 -8
  937. package/ui/Load/Edit_Client.tsx +2 -37
  938. package/ui/Load/Page.tsx +3 -6
  939. package/ui/Load/Pagination.tsx +4 -19
  940. package/ui/Load/Stream.tsx +0 -12
  941. package/ui/Load/Units.tsx +13 -86
  942. package/ui/Load/View.tsx +4 -21
  943. package/ui/Loading/ProgressBar.tsx +0 -4
  944. package/ui/Loading/Skeleton.tsx +14 -0
  945. package/ui/Loading/Spin.tsx +34 -5
  946. package/ui/Loading/index.ts +0 -5
  947. package/ui/Loading/index_.tsx +2 -12
  948. package/ui/Menu.tsx +3 -21
  949. package/ui/Modal.tsx +0 -17
  950. package/ui/Model/AdminPanel.tsx +2 -5
  951. package/ui/Model/DraftBar.tsx +3 -14
  952. package/ui/Model/EditModal.tsx +11 -48
  953. package/ui/Model/EditWrapper.tsx +2 -3
  954. package/ui/Model/LoadStore.tsx +18 -0
  955. package/ui/Model/NewWrapper_Client.tsx +1 -1
  956. package/ui/Model/Remove.tsx +4 -12
  957. package/ui/Model/RemoveWrapper.tsx +2 -3
  958. package/ui/Model/SureToRemove.tsx +4 -13
  959. package/ui/Model/ViewEditModal.tsx +0 -6
  960. package/ui/Model/ViewModal.tsx +1 -5
  961. package/ui/Model/ViewWrapper.tsx +1 -2
  962. package/ui/Model/draftScope.ts +0 -7
  963. package/ui/Model/index_.tsx +2 -22
  964. package/ui/Pagination.tsx +4 -12
  965. package/ui/Popconfirm.tsx +3 -18
  966. package/ui/Portal.tsx +2 -3
  967. package/ui/Radio.tsx +1 -5
  968. package/ui/RecentTime.tsx +19 -31
  969. package/ui/Reference/Panel.tsx +102 -6
  970. package/ui/Reference/Segmented.tsx +5 -11
  971. package/ui/Reference/{style.ts → docUi.ts} +10 -2
  972. package/ui/Reference/index.ts +3 -7
  973. package/ui/Refresh.tsx +79 -13
  974. package/ui/ScreenNavigator.tsx +8 -13
  975. package/ui/Select.tsx +29 -37
  976. package/ui/Signal/Endpoint.tsx +154 -0
  977. package/ui/Signal/Listener.tsx +1 -4
  978. package/ui/Signal/Object.tsx +67 -73
  979. package/ui/Signal/RestApi.tsx +30 -76
  980. package/ui/Signal/WebSocket.tsx +253 -2
  981. package/ui/Signal/endpointEntries.ts +3 -5
  982. package/ui/Signal/index.ts +1 -3
  983. package/ui/Signal/style.ts +1 -2
  984. package/ui/Switch.tsx +1 -5
  985. package/ui/System/CSR.tsx +29 -109
  986. package/ui/System/Client.tsx +15 -19
  987. package/ui/System/Common.tsx +31 -22
  988. package/ui/System/Messages.tsx +2 -2
  989. package/ui/System/Reconnect.tsx +1 -6
  990. package/ui/System/Root.tsx +1 -4
  991. package/ui/System/SSR.tsx +10 -16
  992. package/ui/System/ThemeToggle.tsx +15 -0
  993. package/ui/System/index.tsx +2 -2
  994. package/ui/Tab/Provider.tsx +115 -7
  995. package/ui/Tab/index.tsx +1 -4
  996. package/ui/Table.tsx +7 -23
  997. package/ui/Toast.tsx +9 -16
  998. package/ui/ToggleSelect.tsx +10 -24
  999. package/ui/Tooltip.tsx +2 -8
  1000. package/ui/UiOverride/{context.ts → UiOverride.tsx} +54 -42
  1001. package/ui/UiOverride/index.ts +9 -6
  1002. package/ui/UiOverride/override.ts +2 -18
  1003. package/ui/Unauthorized.tsx +1 -8
  1004. package/ui/agentAttrs.ts +9 -12
  1005. package/ui/index.ts +20 -5
  1006. package/ui/overlayLayer.ts +4 -25
  1007. package/ui/overlayPosition.ts +2 -14
  1008. package/ui/recipe/badgeRecipe.ts +1 -1
  1009. package/ui/recipe/buttonRecipe.ts +4 -4
  1010. package/ui/recipe/factory.ts +1 -22
  1011. package/ui/recipe/index.ts +1 -14
  1012. package/ui/recipe/inputRecipe.ts +2 -2
  1013. package/ui/sliceNamesOf.ts +26 -0
  1014. package/ui/styles.css +195 -1
  1015. package/ui/triggerSlot.tsx +2 -12
  1016. package/vendor/use-agentic/AgentProgress.ts +13 -1
  1017. package/vendor/use-agentic/AgentSession.ts +313 -29
  1018. package/vendor/use-agentic/AgenticSurface.ts +2 -0
  1019. package/vendor/use-agentic/Compaction.ts +91 -9
  1020. package/vendor/use-agentic/Reference.ts +99 -0
  1021. package/vendor/use-agentic/ToolRunner.ts +77 -2
  1022. package/vendor/use-agentic/Transcript.ts +15 -4
  1023. package/vendor/use-agentic/WIRE.md +16 -2
  1024. package/vendor/use-agentic/httpRunner.ts +19 -4
  1025. package/vendor/use-agentic/index.ts +1 -1
  1026. package/vendor/use-agentic/types.ts +121 -10
  1027. package/webkit/RenderLayer.tsx +45 -0
  1028. package/webkit/bootCsr.tsx +4 -57
  1029. package/webkit/index.ts +1 -2
  1030. package/webkit/lazy.tsx +3 -13
  1031. package/webkit/{createRobotPage.ts → seoPages.ts} +5 -0
  1032. package/webkit/useBodyScrollLock.tsx +0 -6
  1033. package/webkit/useCamera.tsx +10 -28
  1034. package/webkit/useCodepush.tsx +8 -31
  1035. package/webkit/useContact.tsx +1 -8
  1036. package/webkit/useCsrValues.ts +203 -428
  1037. package/webkit/useDebounce.ts +0 -3
  1038. package/webkit/useEscapeKey.tsx +1 -12
  1039. package/webkit/useFetch.ts +7 -13
  1040. package/webkit/useFrameRuntime.ts +5 -43
  1041. package/webkit/useGeoLocation.tsx +1 -1
  1042. package/webkit/useLocation.ts +5 -8
  1043. package/webkit/usePageTool.tsx +2 -9
  1044. package/webkit/usePurchase.tsx +17 -33
  1045. package/webkit/useScreenScope.tsx +2 -13
  1046. package/client/fetch.ts +0 -1
  1047. package/client/frameDebug.ts +0 -29
  1048. package/common/deepObjectify.ts +0 -42
  1049. package/common/dynamicRecord.ts +0 -12
  1050. package/common/formatPhone.ts +0 -7
  1051. package/common/getAllPropertyDescriptors.ts +0 -13
  1052. package/common/lowerlize.ts +0 -4
  1053. package/common/mergeVersion.ts +0 -10
  1054. package/common/pathGet.ts +0 -13
  1055. package/common/pathGetLoose.ts +0 -31
  1056. package/common/pathSet.ts +0 -28
  1057. package/common/plainFieldsOf.ts +0 -13
  1058. package/common/randomPicks.ts +0 -12
  1059. package/common/websocketAuth.ts +0 -24
  1060. package/constant/deserialize.ts +0 -98
  1061. package/dictionary/agentTurn.dictionary.ts +0 -33
  1062. package/document/schema.ts +0 -24
  1063. package/fetch/fetchType/clientSignal.type.ts +0 -22
  1064. package/local/apps/akan/akan-local.db +0 -0
  1065. package/local/apps/akan/akan-local.db-shm +0 -0
  1066. package/local/apps/akan/akan-local.db-wal +0 -0
  1067. package/local/apps/akan/akan-local_solid.db +0 -0
  1068. package/local/apps/akan/akan-local_solid.db-shm +0 -0
  1069. package/local/apps/akan/akan-local_solid.db-wal +0 -0
  1070. package/local/apps/serverLifecycle/serverLifecycle-local.db +0 -0
  1071. package/local/apps/serverLifecycle/serverLifecycle-local.db-shm +0 -0
  1072. package/local/apps/serverLifecycle/serverLifecycle-local.db-wal +0 -0
  1073. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db +0 -0
  1074. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-shm +0 -0
  1075. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-wal +0 -0
  1076. package/server/artifact/manifestTypes.ts +0 -19
  1077. package/server/assetEncoding.ts +0 -27
  1078. package/server/consoleEvaluator.ts +0 -51
  1079. package/server/di/index.ts +0 -4
  1080. package/server/di/resolveAdaptorHierarchy.ts +0 -91
  1081. package/server/di/resolveServiceHierarchy.ts +0 -47
  1082. package/server/hmr/changeBatch.ts +0 -14
  1083. package/server/hmr/index.ts +0 -4
  1084. package/server/metadata.tsx +0 -198
  1085. package/server/proxy/akanResponse.ts +0 -16
  1086. package/server/proxy/bunRequestFields.ts +0 -12
  1087. package/server/rscPartialCommit.ts +0 -3
  1088. package/server/rscPatchSafety.ts +0 -57
  1089. package/server/rscWorkerReplay.ts +0 -49
  1090. package/server/subRouteIndexDocument.tsx +0 -61
  1091. package/service/predefinedAdaptor/deepseekLlm.ts +0 -82
  1092. package/service/predefinedAdaptor/sqlDescriptor.ts +0 -25
  1093. package/store/agent/storeSurface.ts +0 -28
  1094. package/store/agent/types.ts +0 -16
  1095. package/store/agentic/useFileFieldTool.ts +0 -221
  1096. package/store/stateInfo.ts +0 -66
  1097. package/test/playwright.config.base.ts +0 -48
  1098. package/test/playwright.pageAgent.ts +0 -41
  1099. package/test/sample.ts +0 -19
  1100. package/types/client/fetch.d.ts +0 -1
  1101. package/types/client/frameDebug.d.ts +0 -3
  1102. package/types/common/deepObjectify.d.ts +0 -6
  1103. package/types/common/dynamicRecord.d.ts +0 -14
  1104. package/types/common/formatPhone.d.ts +0 -2
  1105. package/types/common/getAllPropertyDescriptors.d.ts +0 -5
  1106. package/types/common/isPhoneNumber.d.ts +0 -2
  1107. package/types/common/lowerlize.d.ts +0 -2
  1108. package/types/common/mergeVersion.d.ts +0 -10
  1109. package/types/common/pathGet.d.ts +0 -1
  1110. package/types/common/pathGetLoose.d.ts +0 -8
  1111. package/types/common/pathSet.d.ts +0 -3
  1112. package/types/common/plainFieldsOf.d.ts +0 -6
  1113. package/types/common/randomPicks.d.ts +0 -1
  1114. package/types/common/splitVersion.d.ts +0 -11
  1115. package/types/common/websocketAuth.d.ts +0 -19
  1116. package/types/common/websocketBinaryFrame.d.ts +0 -17
  1117. package/types/constant/deserialize.d.ts +0 -10
  1118. package/types/dictionary/agentTurn.dictionary.d.ts +0 -1
  1119. package/types/document/schema.d.ts +0 -5
  1120. package/types/fetch/fetchType/clientSignal.type.d.ts +0 -16
  1121. package/types/server/artifact/manifestTypes.d.ts +0 -16
  1122. package/types/server/assetEncoding.d.ts +0 -7
  1123. package/types/server/consoleEvaluator.d.ts +0 -2
  1124. package/types/server/di/index.d.ts +0 -4
  1125. package/types/server/di/resolveAdaptorHierarchy.d.ts +0 -21
  1126. package/types/server/di/resolveServiceHierarchy.d.ts +0 -13
  1127. package/types/server/di.d.ts +0 -1
  1128. package/types/server/hmr/changeBatch.d.ts +0 -13
  1129. package/types/server/hmr/index.d.ts +0 -4
  1130. package/types/server/hmr.d.ts +0 -1
  1131. package/types/server/metadata.d.ts +0 -22
  1132. package/types/server/proxy/akanResponse.d.ts +0 -7
  1133. package/types/server/proxy/bunRequestFields.d.ts +0 -1
  1134. package/types/server/rscPartialCommit.d.ts +0 -1
  1135. package/types/server/rscPatchSafety.d.ts +0 -8
  1136. package/types/server/rscWorkerReplay.d.ts +0 -32
  1137. package/types/server/subRouteIndexDocument.d.ts +0 -8
  1138. package/types/service/predefinedAdaptor/deepseekLlm.d.ts +0 -19
  1139. package/types/service/predefinedAdaptor/sqlDescriptor.d.ts +0 -5
  1140. package/types/store/agent/storeSurface.d.ts +0 -14
  1141. package/types/store/agent/types.d.ts +0 -15
  1142. package/types/store/agentic/useFileFieldTool.d.ts +0 -41
  1143. package/types/store/stateInfo.d.ts +0 -23
  1144. package/types/test/playwright.config.base.d.ts +0 -9
  1145. package/types/test/playwright.pageAgent.d.ts +0 -12
  1146. package/types/test/sample.d.ts +0 -15
  1147. package/types/ui/Agent/Context.d.ts +0 -13
  1148. package/types/ui/Agent/Mic.d.ts +0 -8
  1149. package/types/ui/Agent/Section.d.ts +0 -10
  1150. package/types/ui/Agent/StateKey.d.ts +0 -16
  1151. package/types/ui/Agent/Tool.d.ts +0 -15
  1152. package/types/ui/Agent/Transcript.d.ts +0 -13
  1153. package/types/ui/Agent/markdownSpans.d.ts +0 -2
  1154. package/types/ui/Agent/sessionHistory.d.ts +0 -14
  1155. package/types/ui/Agent/sessionView.d.ts +0 -15
  1156. package/types/ui/Dialog/Action.d.ts +0 -5
  1157. package/types/ui/Dialog/Close.d.ts +0 -6
  1158. package/types/ui/Dialog/Content.d.ts +0 -6
  1159. package/types/ui/Dialog/Title.d.ts +0 -5
  1160. package/types/ui/Dialog/Trigger.d.ts +0 -6
  1161. package/types/ui/Dialog/context.d.ts +0 -18
  1162. package/types/ui/Layout/LeftSider.d.ts +0 -11
  1163. package/types/ui/Layout/RightSider.d.ts +0 -12
  1164. package/types/ui/Layout/Template.d.ts +0 -7
  1165. package/types/ui/Layout/TopLeftAction.d.ts +0 -6
  1166. package/types/ui/Layout/Unit.d.ts +0 -9
  1167. package/types/ui/Layout/View.d.ts +0 -8
  1168. package/types/ui/Layout/Zone.d.ts +0 -6
  1169. package/types/ui/Link/Back.d.ts +0 -7
  1170. package/types/ui/Link/Close.d.ts +0 -7
  1171. package/types/ui/Link/CsrLink.d.ts +0 -2
  1172. package/types/ui/Link/Lang.d.ts +0 -8
  1173. package/types/ui/Link/SsrLink.d.ts +0 -2
  1174. package/types/ui/Link/types.d.ts +0 -50
  1175. package/types/ui/Loading/Area.d.ts +0 -9
  1176. package/types/ui/Loading/Button.d.ts +0 -7
  1177. package/types/ui/Loading/Input.d.ts +0 -7
  1178. package/types/ui/Model/LoadInit.d.ts +0 -10
  1179. package/types/ui/Model/LoadView.d.ts +0 -10
  1180. package/types/ui/Reference/Collapse.d.ts +0 -11
  1181. package/types/ui/Reference/Summary.d.ts +0 -13
  1182. package/types/ui/Reference/Toolbar.d.ts +0 -21
  1183. package/types/ui/Reference/dictText.d.ts +0 -6
  1184. package/types/ui/Signal/Message.d.ts +0 -23
  1185. package/types/ui/Signal/PubSub.d.ts +0 -24
  1186. package/types/ui/Signal/Request.d.ts +0 -8
  1187. package/types/ui/System/DevModeToggle.d.ts +0 -1
  1188. package/types/ui/System/Gtag.d.ts +0 -4
  1189. package/types/ui/System/frameCssVars.d.ts +0 -5
  1190. package/types/ui/Tab/Menu.d.ts +0 -12
  1191. package/types/ui/Tab/Menus.d.ts +0 -6
  1192. package/types/ui/Tab/Panel.d.ts +0 -8
  1193. package/types/ui/Tab/context.d.ts +0 -11
  1194. package/types/ui/UiOverride/Provider.d.ts +0 -15
  1195. package/types/ui/UiOverride/createOverridable.d.ts +0 -9
  1196. package/types/ui/UiOverride/useUiOverride.d.ts +0 -7
  1197. package/types/ui/UiOverride/useUiRecipe.d.ts +0 -8
  1198. package/types/webkit/createSitemapPage.d.ts +0 -4
  1199. package/ui/Agent/Context.tsx +0 -49
  1200. package/ui/Agent/Mic.tsx +0 -27
  1201. package/ui/Agent/Section.tsx +0 -24
  1202. package/ui/Agent/StateKey.tsx +0 -46
  1203. package/ui/Agent/Tool.tsx +0 -59
  1204. package/ui/Agent/Transcript.tsx +0 -33
  1205. package/ui/Agent/markdownSpans.tsx +0 -49
  1206. package/ui/Agent/sessionHistory.ts +0 -62
  1207. package/ui/Agent/sessionView.ts +0 -38
  1208. package/ui/Dialog/Action.tsx +0 -15
  1209. package/ui/Dialog/Close.tsx +0 -18
  1210. package/ui/Dialog/Content.tsx +0 -11
  1211. package/ui/Dialog/Title.tsx +0 -15
  1212. package/ui/Dialog/Trigger.tsx +0 -18
  1213. package/ui/Dialog/context.ts +0 -32
  1214. package/ui/Layout/LeftSider.tsx +0 -43
  1215. package/ui/Layout/RightSider.tsx +0 -47
  1216. package/ui/Layout/Template.tsx +0 -11
  1217. package/ui/Layout/TopLeftAction.tsx +0 -28
  1218. package/ui/Layout/Unit.tsx +0 -19
  1219. package/ui/Layout/View.tsx +0 -12
  1220. package/ui/Layout/Zone.tsx +0 -10
  1221. package/ui/Link/Back.tsx +0 -15
  1222. package/ui/Link/Close.tsx +0 -20
  1223. package/ui/Link/CsrLink.tsx +0 -46
  1224. package/ui/Link/Lang.tsx +0 -16
  1225. package/ui/Link/SsrLink.tsx +0 -72
  1226. package/ui/Link/types.ts +0 -55
  1227. package/ui/Loading/Area.tsx +0 -27
  1228. package/ui/Loading/Button.tsx +0 -15
  1229. package/ui/Loading/Input.tsx +0 -15
  1230. package/ui/Model/LoadInit.tsx +0 -11
  1231. package/ui/Model/LoadView.tsx +0 -11
  1232. package/ui/Reference/Collapse.tsx +0 -26
  1233. package/ui/Reference/Summary.tsx +0 -25
  1234. package/ui/Reference/Toolbar.tsx +0 -44
  1235. package/ui/Reference/dictText.ts +0 -9
  1236. package/ui/Signal/Message.tsx +0 -215
  1237. package/ui/Signal/PubSub.tsx +0 -201
  1238. package/ui/Signal/Request.tsx +0 -11
  1239. package/ui/System/DevModeToggle.tsx +0 -19
  1240. package/ui/System/Gtag.tsx +0 -69
  1241. package/ui/System/frameCssVars.ts +0 -25
  1242. package/ui/Tab/Menu.tsx +0 -70
  1243. package/ui/Tab/Menus.tsx +0 -13
  1244. package/ui/Tab/Panel.tsx +0 -25
  1245. package/ui/Tab/context.ts +0 -20
  1246. package/ui/UiOverride/Provider.tsx +0 -26
  1247. package/ui/UiOverride/createOverridable.tsx +0 -25
  1248. package/ui/UiOverride/useUiOverride.ts +0 -15
  1249. package/ui/UiOverride/useUiRecipe.ts +0 -15
  1250. package/webkit/createSitemapPage.ts +0 -4
@@ -19,11 +19,14 @@ import { baseDocumentColumns, documentQueryHelper, getFilterSortByKey, type Quer
19
19
  import {
20
20
  type AkanJob,
21
21
  type AkanJobOptions,
22
+ type DocumentStore,
22
23
  type InjectRegistry,
24
+ type LiveChange,
23
25
  type LiveRegistry,
24
26
  type WebsocketAdaptor,
25
27
  WebsocketAdaptorRole,
26
28
  } from "akanjs/service";
29
+ import { websocketRoomContract } from "../../common/websocketContract";
27
30
  import { type Endpoint, type EndpointCls, sliceEndpoint } from "../../signal/endpoint";
28
31
  import type { EndpointInfo } from "../../signal/endpointInfo";
29
32
  import type { Internal, InternalCls } from "../../signal/internal";
@@ -42,20 +45,25 @@ import type {
42
45
  } from "../../signal/types";
43
46
  import type { HttpRoutes, LocalPublish, SignalRoutes, WebsocketRoutes } from "../types";
44
47
 
45
- type HttpRouteHandler = (req: Bun.BunRequest) => Response | Promise<Response | undefined> | undefined;
46
48
  type LiveChangeListener = (doc: unknown, type: unknown, previous?: unknown) => void;
47
- type HttpMethodRoutes = Record<string, HttpRouteHandler>;
49
+ type LiveRoute = (next: Record<string, unknown>, previous?: Record<string, unknown>) => Promise<LiveDelivery[]>;
50
+ interface LiveDelivery {
51
+ roomId: string;
52
+ payload: LiveEventPayload;
53
+ }
54
+ type HttpMethodRoutes = Record<string, (req: Bun.BunRequest) => Response | Promise<Response | undefined> | undefined>;
48
55
 
49
56
  export class SignalResolver {
50
57
  static logger = new Logger("SignalResolver");
51
58
 
52
59
  static makeRoomId(key: string, args: unknown[]) {
53
- return `${key}${args.length ? "-" : ""}${args.join("-")}`;
60
+ return websocketRoomContract.idOf(key, args);
54
61
  }
55
62
  static #localPublish: LocalPublish = () => {
56
63
  SignalResolver.logger.verbose(`Local publish is not initialized yet`);
57
64
  };
58
65
  static readonly #coalescingRooms = new Set<string>();
66
+ static readonly #liveRoutes = new Map<string, { store: DocumentStore; route: LiveRoute }>();
59
67
 
60
68
  static coalescesRoom(roomId: string): boolean {
61
69
  const separator = roomId.indexOf("-");
@@ -64,13 +72,26 @@ export class SignalResolver {
64
72
  static setLocalPublish(localPublish: LocalPublish, websocket: WebsocketAdaptor, live?: LiveRegistry) {
65
73
  SignalResolver.#localPublish = localPublish;
66
74
  websocket.setEventHandler((roomId, data) => localPublish(roomId, data as object | object[] | Uint8Array));
67
-
75
+
68
76
  websocket.onRecovered?.(() => {
69
77
  for (const roomId of live?.syncHub.roomIds() ?? []) {
70
78
  const payload: LiveEventPayload = { op: "invalidate", id: "" };
71
79
  localPublish(roomId, payload);
72
80
  }
73
81
  });
82
+ websocket.onChange?.((change) => {
83
+ void SignalResolver.#routeChange(change, live).catch((error: unknown) =>
84
+ SignalResolver.logger.warn(`Live routing failed for ${change.refName}: ${String(error)}`),
85
+ );
86
+ });
87
+ }
88
+ static async #routeChange({ refName, next, previous }: LiveChange, live?: LiveRegistry) {
89
+ const target = SignalResolver.#liveRoutes.get(refName);
90
+ if (!target || !live?.syncHub.roomCountOf(refName)) return;
91
+ await target.route(
92
+ target.store.deserialize(next) as Record<string, unknown>,
93
+ previous ? (target.store.deserialize(previous) as Record<string, unknown>) : undefined,
94
+ );
74
95
  }
75
96
  static resolveServerSignal(
76
97
  serverSignalCls: ServerSignalCls,
@@ -81,7 +102,6 @@ export class SignalResolver {
81
102
  const websocket = SignalResolver.#getWebsocket(registry);
82
103
  Object.entries(endpointMeta).forEach(([key, endpointInfo]) => {
83
104
  if (endpointInfo.type !== "pubsub") throw new Error(`Endpoint ${key} is not a pubsub endpoint`);
84
- websocket.registerEndpoint(key, endpointInfo.returns.returnRef as Cls, endpointInfo.returns.arrDepth);
85
105
  const isBinaryFrame = endpointInfo.returns.returnRef === Binary && !endpointInfo.returns.arrDepth;
86
106
  if (isBinaryFrame && endpointInfo.signalOption.backpressure !== "queue") SignalResolver.#coalescingRooms.add(key);
87
107
  let warnedRawBytes = false;
@@ -103,7 +123,7 @@ export class SignalResolver {
103
123
  const roomId = SignalResolver.makeRoomId(key, roomArgs);
104
124
  if (isBinaryFrame) {
105
125
  const bytes = Binary._parse(resolvedData as Uint8Array) as Uint8Array;
106
- websocket.publish(roomId, bytes);
126
+ websocket.publish(roomId, bytes, { coalesce: SignalResolver.coalescesRoom(roomId) });
107
127
  SignalResolver.#localPublish(roomId, bytes);
108
128
  return;
109
129
  }
@@ -134,14 +154,7 @@ export class SignalResolver {
134
154
  });
135
155
  return serverSignalCls;
136
156
  }
137
- /**
138
- * Attaches the change listeners that feed live rooms, once per model that declares a `.live()` slice.
139
- *
140
- * Only the document write paths reach here. A query-level write — `updateManyByQuery`, the generated
141
- * `update<Filter>` / `remove<Filter>`, `updateById` / `removeById` — is one atomic statement that fires no
142
- * document hooks at all, exactly as it fires no cascade, so a model whose fields move that way will not push
143
- * those moves to a live list. It is the same blind spot cascade has and it cannot be closed from here.
144
- */
157
+
145
158
  static registerLiveSync(
146
159
  sliceCls: SliceCls,
147
160
  { registry, live }: { registry: InjectRegistry; live: LiveRegistry },
@@ -155,18 +168,20 @@ export class SignalResolver {
155
168
  .map(([key]) => `${refName}Live${capitalize(key)}`);
156
169
  if (!liveKeys.length) return [];
157
170
  const service = live.service.get(refName) as
158
- | { listenPost: (type: "create" | "update" | "remove", listener: LiveChangeListener) => unknown }
171
+ | {
172
+ listenPost: (type: "create" | "update" | "remove", listener: LiveChangeListener) => unknown;
173
+ __databaseModel: { __store: DocumentStore };
174
+ }
159
175
  | undefined;
160
176
  if (!service) throw new Error(`Live slice on "${refName}" has no service to listen to`);
177
+ const store = service.__databaseModel.__store;
161
178
  const websocket = SignalResolver.#getWebsocket(registry);
162
-
163
- for (const liveKey of liveKeys) websocket.registerEndpoint(liveKey, Any, 0);
164
- const publish = async (next: Record<string, unknown>, previous?: Record<string, unknown>) => {
179
+ const route: LiveRoute = async (next, previous) => {
165
180
  const targets = live.syncHub.route(refName, next, previous);
166
- if (!targets.length) return;
181
+ if (!targets.length) return [];
167
182
  const id = String(next.id);
168
183
  const needsLight = targets.some((target) => !target.invalidate && target.payload === "light");
169
-
184
+
170
185
  const light = needsLight
171
186
  ? ((await SignalContext.resolveReturn(next, {
172
187
  signalContext: null,
@@ -177,15 +192,26 @@ export class SignalResolver {
177
192
  })) as object)
178
193
  : null;
179
194
  const lightData = light ? (serialize(cnst.light, 0, light, "object", {}) as object | null) : null;
180
- for (const target of targets) {
195
+ return targets.map((target) => {
181
196
  const payload: LiveEventPayload = target.invalidate
182
197
  ? { op: "invalidate", id }
183
198
  : { op: target.op, id, light: target.payload === "light" ? lightData : null };
184
- websocket.publish(target.roomId, payload);
185
199
  SignalResolver.#localPublish(target.roomId, payload);
186
- }
200
+ return { roomId: target.roomId, payload };
201
+ });
187
202
  };
188
-
203
+ SignalResolver.#liveRoutes.set(refName, { store, route });
204
+ const publish = async (next: Record<string, unknown>, previous?: Record<string, unknown>) => {
205
+ websocket.publishChange?.({
206
+ refName,
207
+ next: store.serialize(next),
208
+ previous: previous ? store.serialize(previous) : undefined,
209
+ });
210
+ const delivered = await route(next, previous);
211
+
212
+ if (!websocket.publishChange) for (const { roomId, payload } of delivered) websocket.publish(roomId, payload);
213
+ };
214
+
189
215
  const listener: LiveChangeListener = (doc, _type, previous) => {
190
216
  void publish(doc as Record<string, unknown>, previous as Record<string, unknown> | undefined).catch(
191
217
  (error: unknown) => SignalResolver.logger.warn(`Live publish failed for ${refName}: ${String(error)}`),
@@ -208,7 +234,7 @@ export class SignalResolver {
208
234
  case "process": {
209
235
  if (!internalInfo.execFn) throw new Error(`Exec function is not set for ${key}`);
210
236
  const execFn = internalInfo.execFn.bind(internal);
211
-
237
+
212
238
  internal.queue.registerProcessWorker(
213
239
  key,
214
240
  SignalResolver.#traced(
@@ -222,6 +248,7 @@ export class SignalResolver {
222
248
  internal.schedule.registerInit(
223
249
  key,
224
250
  SignalResolver.#traced(key, () => internalInfo.execFn?.bind(internal)()),
251
+ { once: internalInfo.signalOption.once },
225
252
  );
226
253
  break;
227
254
  case "destroy":
@@ -262,15 +289,11 @@ export class SignalResolver {
262
289
  }
263
290
  });
264
291
  }
265
- /**
266
- * Every run of an internal is one `internal:<key>` trace, so the handler's own logs carry a traceId. The
267
- * schedule adaptor's started/finished/error lines wrap this call from outside and stay uncorrelated.
268
- */
269
292
  static #traced<A extends unknown[], R>(key: string, fn: (...args: A) => R) {
270
293
  return async (...args: A) =>
271
294
  await runTraced(SignalTrace.create(key, "internal", "internal"), async () => await fn(...args));
272
295
  }
273
- /** Why an internal is not scheduled on this server, or null when it is. `placement` marks a deliberate role split. */
296
+
274
297
  static getScheduleSkipReason(
275
298
  internalInfo: InternalInfo,
276
299
  serverMode: "federation" | "batch" | "all",
@@ -290,10 +313,6 @@ export class SignalResolver {
290
313
  return null;
291
314
  }
292
315
 
293
- /**
294
- * A `process` producer is installed on every server regardless of placement, so a skipped worker means this
295
- * server can enqueue jobs that nothing here consumes. Surface that asymmetry instead of failing silently.
296
- */
297
316
  static #warnMissingProcessWorker(
298
317
  key: string,
299
318
  internalInfo: InternalInfo,
@@ -305,7 +324,6 @@ export class SignalResolver {
305
324
  else SignalResolver.logger.warn(message);
306
325
  }
307
326
 
308
- /** Maps a job payload back onto the internal's declared `msg` args, deserializing each to its declared type. */
309
327
  static #getJobArgs(key: string, internalInfo: InternalInfo, job: AkanJob): unknown[] {
310
328
  const data = Array.isArray(job.data) ? (job.data as unknown[]) : job.data === undefined ? [] : [job.data];
311
329
  return internalInfo.args.map((arg, idx) =>
@@ -376,7 +394,7 @@ export class SignalResolver {
376
394
  SignalResolver.#assertLiveSort(refName, key, sliceInfo);
377
395
  SignalResolver.#assertLivePauseOn(refName, key, sliceInfo);
378
396
  const liveKey = `${refName}Live${capitalizedKey}`;
379
-
397
+
380
398
  const liveBuilder = (builder as any).pubsub(Any, {
381
399
  ...sliceInfo.signalOption,
382
400
  mcp: false,
@@ -457,14 +475,7 @@ export class SignalResolver {
457
475
  }) {}
458
476
  return SliceEndpoint;
459
477
  }
460
- /**
461
- * The three things about a declared live sort that can be known without a request.
462
- *
463
- * A client places a new row itself only for a sort it can reproduce, so a sort key naming a field the row does
464
- * not carry produces a list that is quietly in the wrong order — the one failure mode with no symptom. The
465
- * `_doc` case is a warning rather than a refusal because it is the slice author's call: the two dialects order
466
- * a JSON field differently from each other, so there is no single server answer to match.
467
- */
478
+
468
479
  static #assertLiveSort(refName: string, key: string, sliceInfo: SliceInfo) {
469
480
  const lightFields = (sliceInfo.light as unknown as { [FIELD_META]?: Record<string, unknown> })[FIELD_META] ?? {};
470
481
  for (const sortKey of sliceInfo.liveOption?.sort ?? []) {
@@ -485,7 +496,6 @@ export class SignalResolver {
485
496
  }
486
497
  }
487
498
  }
488
- /** Refuses a subscribe carrying an argument the slice named in `pauseOn`, naming the argument it refused on. */
489
499
  static #assertNotPaused(
490
500
  key: string,
491
501
  liveOption: LiveEndpointOption,
@@ -501,13 +511,6 @@ export class SignalResolver {
501
511
  );
502
512
  }
503
513
  }
504
- /**
505
- * That every argument `pauseOn` names is one this slice has, and one that can actually be empty.
506
- *
507
- * A name that is not an argument would do nothing at all, and a `param` — which is never nullable, so it is
508
- * present on every call — would switch the room off for good rather than while a box is filled. Both are the
509
- * kind of mistake whose only symptom is a list that never updates, so neither is allowed to boot.
510
- */
511
514
  static #assertLivePauseOn(refName: string, key: string, sliceInfo: SliceInfo) {
512
515
  for (const name of sliceInfo.liveOption?.pauseOn ?? []) {
513
516
  const arg = sliceInfo.args.find((candidate) => candidate.name === name);
@@ -523,10 +526,7 @@ export class SignalResolver {
523
526
  );
524
527
  }
525
528
  }
526
- /**
527
- * The model's field metadata, which membership routing reads for one thing: whether a path is an array, because
528
- * a bare value on an array field means membership rather than equality.
529
- */
529
+
530
530
  static #queryFieldsOf(live: LiveRegistry, refName: string): QueryFieldMap {
531
531
  const sliceCls = live.sliceCls.get(refName);
532
532
  const doc = sliceCls?.srv.db?.doc as { [FIELD_META]?: QueryFieldMap } | undefined;
@@ -536,11 +536,7 @@ export class SignalResolver {
536
536
  Bun.ServerWebSocket<unknown>,
537
537
  Map<string, SignalContext<WebSocketExecutionContext>>
538
538
  >();
539
- /**
540
- * Message contexts that registered a lifecycle handler. A message context is otherwise dropped the moment it
541
- * answers, so `ws.on("disconnect", …)` from one would land in an object nothing reads again — a silent
542
- * no-op beside the same call working from a pubsub subscribe.
543
- */
539
+
544
540
  static #liveWsMessageCtx = new WeakMap<Bun.ServerWebSocket<unknown>, Set<SignalContext<WebSocketExecutionContext>>>();
545
541
  static #retainWsContext(ws: Bun.ServerWebSocket<unknown>, context: SignalContext<WebSocketExecutionContext>) {
546
542
  const wsCtx = context.getWebSocketContext();
@@ -549,13 +545,7 @@ export class SignalResolver {
549
545
  contexts.add(context);
550
546
  SignalResolver.#liveWsMessageCtx.set(ws, contexts);
551
547
  }
552
- /**
553
- * Cleanup handlers belong to the app, so one that throws must not take the rest of the teardown with it: a
554
- * rejection here would skip `unregisterSocket` and leak the socket's room membership in Redis for good.
555
- *
556
- * A close ends both the subscription and the connection, so it passes both events — and a handler registered
557
- * for both, the way a cleanup that must happen either way is written, runs once rather than twice.
558
- */
548
+
559
549
  static async #runLifecycleHandlers(
560
550
  contexts: Iterable<SignalContext<WebSocketExecutionContext>>,
561
551
  events: ("unsubscribe" | "disconnect")[],
@@ -572,11 +562,7 @@ export class SignalResolver {
572
562
  if (result.status === "rejected")
573
563
  SignalResolver.logger.error(`WebSocket cleanup handler failed: ${result.reason}`);
574
564
  }
575
- /**
576
- * A path may legitimately carry several methods — a `query` GET and a `mutation` POST sharing a custom `path` —
577
- * so methods merge rather than replace. The same method twice leaves one of the two endpoints unreachable with
578
- * nothing said about it, and the shadowed half is as easily the guarded one, so it fails the boot instead.
579
- */
565
+
580
566
  static #mountHttpRoute(routes: HttpRoutes, path: string, handlers: HttpMethodRoutes, owner?: string) {
581
567
  const table = routes as Record<string, HttpMethodRoutes | undefined>;
582
568
  const existing = table[path];
@@ -588,7 +574,6 @@ export class SignalResolver {
588
574
  table[path] = { ...existing, ...handlers };
589
575
  }
590
576
 
591
- /** Same rule across endpoint classes, which are resolved one at a time and then folded into one table. */
592
577
  static mergeHttpRoutes(target: HttpRoutes, source: HttpRoutes) {
593
578
  for (const [path, handlers] of Object.entries((source ?? {}) as Record<string, HttpMethodRoutes>))
594
579
  SignalResolver.#mountHttpRoute(target, path, handlers);
@@ -610,7 +595,7 @@ export class SignalResolver {
610
595
  const wsRoutes: WebsocketRoutes = {};
611
596
  const defaultPrefix = endpointCls.srv.cnst?.refName;
612
597
  Object.entries(endpointMeta).forEach(([key, endpointInfo]) => {
613
- const servicePrefix = SignalResolver.#resolveServicePrefix(endpointInfo.signalOption.prefix, defaultPrefix);
598
+ const servicePrefix = SignalResolver.resolveServicePrefix(endpointInfo.signalOption.prefix, defaultPrefix);
614
599
  const path = `${servicePrefix}${endpointInfo.getPath(key)}`;
615
600
  if (endpointInfo.signalOption.globalPrefix !== undefined) {
616
601
  routeOptions[path] = { globalPrefix: endpointInfo.signalOption.globalPrefix };
@@ -625,7 +610,7 @@ export class SignalResolver {
625
610
  live,
626
611
  middleware,
627
612
  }).init();
628
-
613
+
629
614
  return (await context.exec()) as Response | undefined;
630
615
  });
631
616
  if (endpointInfo.signalOption.method && endpointInfo.type !== "mutation")
@@ -640,8 +625,9 @@ export class SignalResolver {
640
625
  SignalResolver.#canUsePrimitiveQueryFastPath(endpointInfo, middleware)
641
626
  ? {
642
627
  GET: async (req) => {
643
- if (SignalResolver.#hasAuthCredential(req)) return await normalHttpHandler(req);
644
-
628
+ if (req.headers.get("authorization") || cookieHeaderHasAuthToken(req.headers.get("cookie")))
629
+ return await normalHttpHandler(req);
630
+
645
631
  return await SignalContext.try(
646
632
  endpoint,
647
633
  endpointInfo,
@@ -679,14 +665,15 @@ export class SignalResolver {
679
665
  ).init();
680
666
  const subscribe = event === "subscribe";
681
667
  const liveOption = endpointInfo.signalOption.live;
682
-
668
+
683
669
  const requestRoomId = context.getRoomId(key);
684
670
  if (subscribe) {
685
-
671
+
686
672
  if (liveOption) SignalResolver.#assertNotPaused(key, liveOption, endpointInfo, context);
687
673
  const query = await context.exec();
688
674
  const roomId = liveOption ? context.getLiveRoomId(key) : requestRoomId;
689
- if (liveOption)
675
+ const roomCtxMap = SignalResolver.#liveWsPubsubRoomCtx.get(ws) ?? new Map();
676
+ if (liveOption && !roomCtxMap.has(roomId))
690
677
  live.syncHub.join({
691
678
  refName: liveOption.refName,
692
679
  roomId,
@@ -695,10 +682,8 @@ export class SignalResolver {
695
682
  fields: SignalResolver.#queryFieldsOf(live, liveOption.refName),
696
683
  });
697
684
  ws.subscribe(roomId);
698
- const roomCtxMap = SignalResolver.#liveWsPubsubRoomCtx.get(ws) ?? new Map();
699
685
  roomCtxMap.set(roomId, context);
700
686
  SignalResolver.#liveWsPubsubRoomCtx.set(ws, roomCtxMap);
701
-
702
687
  websocket.joinRoom(ws, roomId);
703
688
  SignalResolver.logger.verbose(`WebSocket subscribed to room ${roomId}`);
704
689
  const ack: WebsocketSubscribeAck = { type: "sub", roomId, requestRoomId, subscribe };
@@ -708,13 +693,12 @@ export class SignalResolver {
708
693
  const roomId = liveOption ? context.getLiveRoomId(key) : requestRoomId;
709
694
  ws.unsubscribe(roomId);
710
695
  const roomCtxMap = SignalResolver.#liveWsPubsubRoomCtx.get(ws);
711
- if (roomCtxMap) {
712
- const roomCtx = roomCtxMap.get(roomId);
713
- if (roomCtx) await SignalResolver.#runLifecycleHandlers([roomCtx], ["unsubscribe"]);
696
+ const roomCtx = roomCtxMap?.get(roomId);
697
+ if (roomCtxMap && roomCtx) {
698
+ await SignalResolver.#runLifecycleHandlers([roomCtx], ["unsubscribe"]);
714
699
  roomCtxMap.delete(roomId);
715
700
  if (roomCtxMap.size === 0) SignalResolver.#liveWsPubsubRoomCtx.delete(ws);
716
701
  if (liveOption) live.syncHub.leave(roomId);
717
-
718
702
  websocket.leaveRoom(ws, roomId);
719
703
  SignalResolver.logger.verbose(`WebSocket unsubscribed from room ${roomId}`);
720
704
  }
@@ -744,7 +728,7 @@ export class SignalResolver {
744
728
  return { routes, wsRoutes, routeOptions };
745
729
  }
746
730
 
747
- static #resolveServicePrefix(prefix: false | string | undefined, defaultPrefix?: string): string {
731
+ static resolveServicePrefix(prefix: false | string | undefined, defaultPrefix?: string): string {
748
732
  if (prefix === false || prefix === "") return "";
749
733
  const resolved = prefix ?? defaultPrefix;
750
734
  if (!resolved) return "";
@@ -776,15 +760,6 @@ export class SignalResolver {
776
760
  );
777
761
  }
778
762
 
779
- static #hasAuthCredential(req: Request) {
780
- return Boolean(req.headers.get("authorization") || cookieHeaderHasAuthToken(req.headers.get("cookie")));
781
- }
782
-
783
- /**
784
- * Re-checks the guards of every room this socket is subscribed to and drops the ones that no
785
- * longer pass. Called when the socket's credential changes: a pubsub room is authorized once at
786
- * subscribe time, so without this a signed-out socket would keep receiving its old rooms.
787
- */
788
763
  static async revalidateWsRooms(
789
764
  ws: Bun.ServerWebSocket<any>,
790
765
  registry: InjectRegistry,
@@ -816,7 +791,7 @@ export class SignalResolver {
816
791
  const roomCtxMap = SignalResolver.#liveWsPubsubRoomCtx.get(ws);
817
792
  const contexts = [...(roomCtxMap?.values() ?? []), ...(SignalResolver.#liveWsMessageCtx.get(ws) ?? [])];
818
793
  await SignalResolver.#runLifecycleHandlers(contexts, ["unsubscribe", "disconnect"]);
819
-
794
+
820
795
  for (const roomId of roomCtxMap?.keys() ?? []) live?.syncHub.leave(roomId);
821
796
  SignalResolver.#liveWsPubsubRoomCtx.delete(ws);
822
797
  SignalResolver.#liveWsMessageCtx.delete(ws);
@@ -10,9 +10,13 @@ import type {
10
10
  } from "akanjs/client";
11
11
  import { Children, cloneElement, isValidElement, type ReactElement, type ReactNode, Suspense } from "react";
12
12
  import { getExplicitPageConfigKeys, resolvePageState } from "../client/frameConfig";
13
- import { resolveHeadResult } from "./metadata";
14
- import { type AkanRouteSegmentState, createAkanRouteSegments, createAkanSegmentOutletKey } from "./routeState";
15
- import { isAkanRscPartialCommitEnabled } from "./rscPartialCommit";
13
+ import { resolveHeadResult } from "./head";
14
+ import {
15
+ type AkanRouteSegmentState,
16
+ createAkanRouteSegments,
17
+ createAkanSegmentOutletKey,
18
+ isAkanRscPartialCommitEnabled,
19
+ } from "./routeState";
16
20
  import { AkanSegmentOutletReference } from "./rscSegmentOutletReference";
17
21
 
18
22
  export class RouteElementComposer {
@@ -26,14 +30,7 @@ export class RouteElementComposer {
26
30
  const pageConfigChain = await RouteElementComposer.#resolvePageConfigChain(pathRoute);
27
31
  return {
28
32
  ...pathRoute,
29
- pageState: resolvePageState({
30
- configChain: pageConfigChain,
31
- path: pathRoute.path,
32
- basePath: basePath ?? undefined,
33
- platform: "web",
34
- deviceSafeArea: { top: 0, bottom: 0 },
35
- cssSafeArea: { top: 0, bottom: 0 },
36
- }),
33
+ pageState: RouteElementComposer.#webPageState(pageConfigChain, pathRoute.path, basePath),
37
34
  pageConfigChain,
38
35
  explicitPageConfigKeys: getExplicitPageConfigKeys(pageConfigChain),
39
36
  };
@@ -47,9 +44,13 @@ export class RouteElementComposer {
47
44
  basePath?: string | null;
48
45
  }) {
49
46
  const pageConfigChain = await RouteElementComposer.#resolveLayoutPageConfigChain(route);
47
+ return RouteElementComposer.#webPageState(pageConfigChain, route.path, basePath);
48
+ }
49
+
50
+ static #webPageState(configChain: PageConfig[], path: string, basePath?: string | null) {
50
51
  return resolvePageState({
51
- configChain: pageConfigChain,
52
- path: route.path,
52
+ configChain,
53
+ path,
53
54
  basePath: basePath ?? undefined,
54
55
  platform: "web",
55
56
  deviceSafeArea: { top: 0, bottom: 0 },
@@ -118,7 +119,7 @@ export class RouteElementComposer {
118
119
  searchParams: Record<string, string | string[]>;
119
120
  }): Promise<Head | null | undefined> {
120
121
  return (
121
- await RouteElementComposer.resolveHeadWithMetadata({
122
+ await RouteElementComposer.resolveHeadWithSnapshot({
122
123
  pathRoute,
123
124
  params,
124
125
  searchParams,
@@ -126,7 +127,7 @@ export class RouteElementComposer {
126
127
  ).node;
127
128
  }
128
129
 
129
- static async resolveHeadWithMetadata({
130
+ static async resolveHeadWithSnapshot({
130
131
  pathRoute,
131
132
  params,
132
133
  searchParams,
@@ -164,15 +165,7 @@ export class RouteElementComposer {
164
165
  if (!fallback) continue;
165
166
  const renders = [
166
167
  ...layoutStack.slice(0, index + 1),
167
- RouteElementComposer.#makeFallbackRouteRender({
168
- kind,
169
- fallback,
170
- params,
171
- searchParams,
172
- pathname,
173
- error,
174
- digest,
175
- }),
168
+ RouteElementComposer.#makeFallbackRouteRender({ kind, fallback, pathname, error, digest }),
176
169
  ];
177
170
  return RouteElementComposer.composeRenders({ renders, params, searchParams });
178
171
  }
@@ -207,12 +200,10 @@ export class RouteElementComposer {
207
200
  </Suspense>
208
201
  );
209
202
  const segment = segments?.[i];
210
- if (segment?.kind === "page") {
211
- const routeSegments = segments;
212
- if (!routeSegments) continue;
203
+ if (segments && segment?.kind === "page") {
213
204
  const outletKey =
214
205
  createAkanSegmentOutletKey(
215
- routeSegments.slice(0, i + 1).map((item) => item.key),
206
+ segments.slice(0, i + 1).map((item) => item.key),
216
207
  i,
217
208
  ) ?? segment.key;
218
209
  element = <AkanSegmentOutletReference segmentKey={outletKey}>{element}</AkanSegmentOutletReference>;
@@ -221,7 +212,7 @@ export class RouteElementComposer {
221
212
  return element;
222
213
  }
223
214
 
224
- static async renderAsync({
215
+ static AsyncRender = async ({
225
216
  routeRender,
226
217
  children,
227
218
  params,
@@ -231,17 +222,7 @@ export class RouteElementComposer {
231
222
  children: ReactNode;
232
223
  params: Record<string, string>;
233
224
  searchParams: Record<string, string | string[]>;
234
- }) {
235
- const node = await routeRender.render({ children, params, searchParams } as never);
236
- return RouteElementComposer.#normalizeReactNode(node);
237
- }
238
-
239
- static AsyncRender = (props: {
240
- routeRender: RouteRender;
241
- children: ReactNode;
242
- params: Record<string, string>;
243
- searchParams: Record<string, string | string[]>;
244
- }) => RouteElementComposer.renderAsync(props);
225
+ }) => RouteElementComposer.#normalizeReactNode(await routeRender.render({ children, params, searchParams } as never));
245
226
 
246
227
  static #makeFallbackRouteRender({
247
228
  kind,
@@ -252,18 +233,13 @@ export class RouteElementComposer {
252
233
  }: {
253
234
  kind: "not-found" | "error";
254
235
  fallback: LayoutNotFoundRender | LayoutErrorRender;
255
- params: Record<string, string>;
256
- searchParams: Record<string, string | string[]>;
257
236
  pathname: string;
258
237
  error?: unknown;
259
238
  digest?: string;
260
239
  }): RouteRender {
261
240
  return {
262
241
  render: (props: { params: Record<string, string>; searchParams: Record<string, string | string[]> }) => {
263
- const { params, searchParams } = props as {
264
- params: Record<string, string>;
265
- searchParams: Record<string, string | string[]>;
266
- };
242
+ const { params, searchParams } = props;
267
243
  return kind === "not-found"
268
244
  ? (fallback as LayoutNotFoundRender)({ params, searchParams, pathname })
269
245
  : (fallback as LayoutErrorRender)({ params, searchParams, pathname, error, digest });
@@ -278,17 +254,12 @@ export class RouteElementComposer {
278
254
  const props = node.props as { children?: ReactNode };
279
255
  if (!("children" in props)) return node;
280
256
 
281
- const normalizedChildren = RouteElementComposer.#normalizeReactChildren(props.children);
257
+ const normalizedChildren = RouteElementComposer.#normalizeReactNode(props.children);
282
258
  if (normalizedChildren === props.children) return node;
283
259
 
284
260
  return cloneElement(node as ReactElement<{ children?: ReactNode }>, undefined, normalizedChildren);
285
261
  }
286
262
 
287
- static #normalizeReactChildren(children: ReactNode): ReactNode {
288
- if (Array.isArray(children)) return Children.toArray(children).map(RouteElementComposer.#normalizeReactNode);
289
- return RouteElementComposer.#normalizeReactNode(children);
290
- }
291
-
292
263
  static #getRenderStack(pathRoute: PathRoute): RouteRender[] {
293
264
  return [...pathRoute.renderRootLayouts, ...pathRoute.renderLayouts, pathRoute.renderPage];
294
265
  }
@@ -73,7 +73,8 @@ function encodeBase64Url(value: string): string {
73
73
  return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
74
74
  }
75
75
 
76
- function decodeBase64Url(value: string): string | null {
76
+ function decodeBase64UrlJson(value: string | null | undefined): unknown {
77
+ if (!value) return undefined;
77
78
  try {
78
79
  const padded = value
79
80
  .replace(/-/g, "+")
@@ -82,9 +83,9 @@ function decodeBase64Url(value: string): string | null {
82
83
  const binary = atob(padded);
83
84
  const bytes = new Uint8Array(binary.length);
84
85
  for (let index = 0; index < binary.length; index++) bytes[index] = binary.charCodeAt(index);
85
- return new TextDecoder().decode(bytes);
86
+ return JSON.parse(new TextDecoder().decode(bytes)) as unknown;
86
87
  } catch {
87
- return null;
88
+ return undefined;
88
89
  }
89
90
  }
90
91
 
@@ -150,30 +151,13 @@ export function decodeAkanHeadSnapshot(value: string | null | undefined): AkanHe
150
151
  if (new TextEncoder().encode(value).byteLength > AKAN_RSC_HEAD_SNAPSHOT_MAX_HEADER_BYTES) {
151
152
  return { status: "too-large" };
152
153
  }
153
- const json = decodeBase64Url(value);
154
- if (!json) return { status: "invalid" };
155
- try {
156
- const parsed = JSON.parse(json) as unknown;
157
- return isAkanHeadSnapshotV1(parsed) ? { status: "ok", snapshot: parsed } : { status: "invalid" };
158
- } catch {
159
- return { status: "invalid" };
160
- }
161
- }
162
-
163
- export function readAkanHeadSnapshotResponseHeader(headers: Headers): AkanHeadSnapshotDecodeResult {
164
- return decodeAkanHeadSnapshot(headers.get(AKAN_RSC_PATCH_HEAD_SNAPSHOT_HEADER));
154
+ const parsed = decodeBase64UrlJson(value);
155
+ return isAkanHeadSnapshotV1(parsed) ? { status: "ok", snapshot: parsed } : { status: "invalid" };
165
156
  }
166
157
 
167
158
  export function decodeAkanRouterState(value: string | null | undefined): AkanRouterStateV1 | null {
168
- if (!value) return null;
169
- const json = decodeBase64Url(value);
170
- if (!json) return null;
171
- try {
172
- const parsed = JSON.parse(json) as unknown;
173
- return isAkanRouterStateV1(parsed) ? parsed : null;
174
- } catch {
175
- return null;
176
- }
159
+ const parsed = decodeBase64UrlJson(value);
160
+ return isAkanRouterStateV1(parsed) ? parsed : null;
177
161
  }
178
162
 
179
163
  export function appendAkanRouterStateRequestHeaders(
@@ -195,15 +179,8 @@ export function encodeAkanRscPatchSegmentPath(segmentPath: string[]): string {
195
179
  }
196
180
 
197
181
  export function decodeAkanRscPatchSegmentPath(value: string | null | undefined): string[] | null {
198
- if (!value) return null;
199
- const json = decodeBase64Url(value);
200
- if (!json) return null;
201
- try {
202
- const parsed = JSON.parse(json) as unknown;
203
- return Array.isArray(parsed) && parsed.every((segment) => typeof segment === "string") ? parsed : null;
204
- } catch {
205
- return null;
206
- }
182
+ const parsed = decodeBase64UrlJson(value);
183
+ return Array.isArray(parsed) && parsed.every((segment) => typeof segment === "string") ? parsed : null;
207
184
  }
208
185
 
209
186
  export function readAkanRscPatchMetadataResponseHeaders(headers: Headers): AkanRscPatchMetadata | null {
@@ -214,7 +191,7 @@ export function readAkanRscPatchMetadataResponseHeaders(headers: Headers): AkanR
214
191
  const segmentPath = decodeAkanRscPatchSegmentPath(headers.get(AKAN_RSC_PATCH_SEGMENT_PATH_HEADER));
215
192
  if (!Number.isInteger(patchStartIndex) || patchStartIndex < 0 || !patchStartSegmentKey || !segmentPath) return null;
216
193
  if (segmentPath[patchStartIndex] !== patchStartSegmentKey) return null;
217
- const headSnapshotResult = readAkanHeadSnapshotResponseHeader(headers);
194
+ const headSnapshotResult = decodeAkanHeadSnapshot(headers.get(AKAN_RSC_PATCH_HEAD_SNAPSHOT_HEADER));
218
195
  return {
219
196
  patchStartIndex,
220
197
  patchStartSegmentKey,
@@ -377,3 +354,7 @@ export function countCommonRouteSegments(
377
354
  }
378
355
  return length;
379
356
  }
357
+
358
+ export function isAkanRscPartialCommitEnabled(): boolean {
359
+ return process.env.AKAN_PUBLIC_RSC_PARTIAL_COMMIT === "1";
360
+ }