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
@@ -1,8 +1,6 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { pathToFileURL } from "node:url";
4
3
  import type { AkanWebConfig } from "akanjs";
5
- import { getEnv } from "akanjs/base";
6
4
  import {
7
5
  type AkanI18nConfig,
8
6
  DEFAULT_AKAN_I18N,
@@ -17,18 +15,15 @@ import type { AkanMetricsReport } from "akanjs/service";
17
15
  import type { PagePromptSource } from "../signal/mcp/pagePrompt";
18
16
  import {
19
17
  type BuilderRpc,
20
- type ClientManifest,
21
18
  type MergedManifest,
22
19
  RouteClientCache,
23
20
  type RouteSeedIndex,
24
21
  RouteSeedIndexStore,
25
22
  RoutesManifestStore,
26
23
  } from "./artifact";
27
- import { resolveEncodedSidecar } from "./assetEncoding";
28
24
  import {
29
25
  getClientFacingOrigin,
30
26
  hasRouteCacheInvalidationScope,
31
- isRouteCachePathAllowed,
32
27
  LruTtlCache,
33
28
  parsePositiveInt,
34
29
  type RouteCacheEntry,
@@ -39,10 +34,12 @@ import {
39
34
  shouldInvalidateRouteCacheEntry,
40
35
  shouldStoreRouteCache,
41
36
  } from "./cachePolicy";
42
- import { DevHmrController } from "./hmr";
37
+ import { encodedFileResponse } from "./contentEncoding";
43
38
  import { HMR_CLIENT_SCRIPT } from "./hmr/clientScript";
39
+ import { DevHmrController } from "./hmr/devHmrController";
44
40
  import type { HmrWsData, HmrWsHub } from "./hmr/wsHub";
45
41
  import { ImageOptimizer } from "./imageOptimizer";
42
+ import { normalizeHost, resolveArtifactDir, warnIgnoredSubRouteBasePaths } from "./proxy/hostBasePathWebProxy";
46
43
  import { createDefaultRobotsTxt } from "./robots";
47
44
  import {
48
45
  AKAN_RSC_PATCH_HEAD_SAFE_HEADER,
@@ -57,6 +54,7 @@ import { createDefaultSitemapXml, getSitemapBasePath } from "./sitemap";
57
54
  import { SsrFromRscRenderer } from "./ssrFromRscRenderer";
58
55
  import type { RscTraceMetadata, SsrManifest } from "./ssrTypes";
59
56
  import { resolveStaticPath } from "./staticPath";
57
+ import { getPathnameLocale } from "./systemPageDocument";
60
58
  import { createSubRouteIndexResponse, createSystemPageResponse, getSystemPageHomeHref } from "./systemPages";
61
59
  import { type BaseBuildArtifact, type HttpRoutes, type RenderState, resolveWebConfig } from "./types";
62
60
 
@@ -66,18 +64,6 @@ export const DEFAULT_HTML_RESULT_CACHE_MAX_BODY_BYTES = 2 * 1024 * 1024;
66
64
  const ROUTE_CACHE_SWEEP_INTERVAL_MS = 60_000;
67
65
  const APPLE_APP_SITE_ASSOCIATION_PATH = "/.well-known/apple-app-site-association";
68
66
  const ANDROID_ASSET_LINKS_PATH = "/.well-known/assetlinks.json";
69
- const FIREBASE_MESSAGING_SW_PATH = "/firebase-messaging-sw.js";
70
- const FIREBASE_WEB_SDK_VERSION = "12.13.0";
71
-
72
- interface FirebaseClientEnvConfig {
73
- apiKey: string;
74
- authDomain?: string;
75
- projectId: string;
76
- storageBucket?: string;
77
- messagingSenderId: string;
78
- appId: string;
79
- vapidKey?: string;
80
- }
81
67
 
82
68
  export function createRscRedirectResponse(
83
69
  location: string,
@@ -205,26 +191,10 @@ export function resolveHtmlRouteCacheStoreTtl(input: {
205
191
  return resolveRouteCacheStoreTtl(workerTtl, hostCacheState);
206
192
  }
207
193
 
208
- export function isHtmlRouteCachePathAllowed(
209
- pathname: string,
210
- env: {
211
- [key: string]: string | undefined;
212
- AKAN_HTML_RESULT_CACHE_PATHS?: string;
213
- AKAN_HTML_RESULT_CACHE_EXCLUDE_PATHS?: string;
214
- } = process.env as Record<string, string | undefined>,
215
- options: { defaultAllow?: boolean } = {},
216
- ): boolean {
217
- return isRouteCachePathAllowed(pathname, {
218
- allow: env.AKAN_HTML_RESULT_CACHE_PATHS,
219
- deny: env.AKAN_HTML_RESULT_CACHE_EXCLUDE_PATHS,
220
- defaultAllow: options.defaultAllow,
221
- });
222
- }
223
-
224
194
  export async function createRscNavigationStreamResponse(
225
195
  result: Extract<RscRenderResult, { type: "stream" }>,
226
196
  ): Promise<Response> {
227
-
197
+
228
198
  const response = createRscStreamResponse(result.stream, result.status ?? 200);
229
199
  appendRscTraceHeaders(response.headers, result.trace);
230
200
  return response;
@@ -245,6 +215,13 @@ export function normalizeRscTargetUrlForHostBasePath(
245
215
  const segments = targetUrl.pathname.split("/").filter(Boolean);
246
216
  const [locale, firstPath] = segments;
247
217
  if (!locale || !i18n.locales.includes(locale)) return { url: targetUrl, basePath: null };
218
+
219
+ if (basePath) {
220
+ if (firstPath === basePath) return { url: targetUrl, basePath };
221
+ const normalized = new URL(targetUrl);
222
+ normalized.pathname = `/${[locale, basePath, ...segments.slice(1)].join("/")}`;
223
+ return { url: normalized, basePath };
224
+ }
248
225
 
249
226
  const targetBasePath = firstPath && basePaths.includes(firstPath) ? firstPath : null;
250
227
  if (seedEntries && routeMatches(targetUrl)) return { url: targetUrl, basePath: targetBasePath ?? basePath };
@@ -259,12 +236,6 @@ export function normalizeRscTargetUrlForHostBasePath(
259
236
  return { url: targetUrl, basePath: basePath ?? targetBasePath };
260
237
  }
261
238
 
262
- export interface SsrRoutesResult {
263
- renderEnvRoutes: HttpRoutes;
264
- hmrHub: HmrWsHub | null;
265
- builderRpc: BuilderRpc | null;
266
- }
267
-
268
239
  export interface SsrRoutesInputs {
269
240
  web: AkanWebConfig;
270
241
  upgradeHmrWs: (req: Request, data: HmrWsData) => boolean;
@@ -288,17 +259,12 @@ interface CachedHtmlResult {
288
259
 
289
260
  export class WebRouter {
290
261
  #logger = new Logger("WebRouter");
291
- #artifactDir = WebRouter.#resolveArtifactDir();
262
+ #artifactDir = resolveArtifactDir();
292
263
  #artifact: BaseBuildArtifact;
293
264
  #subRoutes: Record<string, string[]>;
294
265
  #rsc: RscWorker;
295
266
  #hub: HmrWsHub | null = null;
296
- /**
297
- * `akan start` is the dev server whatever the environment claims. Its artifact directory carries no routes
298
- * manifest — only `akan build` writes one — so the production branch cannot build a route on demand and
299
- * throws on every request instead. `NODE_ENV` arrives by accident often enough (a workspace `.env` Bun loads
300
- * on its own, a CI image default) that the command which started this process has to outrank it.
301
- */
267
+
302
268
  #prodMode = process.env.NODE_ENV === "production" && process.env.AKAN_COMMAND_TYPE !== "start";
303
269
  #builderRpc: BuilderRpc | null;
304
270
  #routeCache: RouteClientCache;
@@ -340,10 +306,7 @@ export class WebRouter {
340
306
  env: process.env.AKAN_SUB_ROUTE_HOSTS,
341
307
  });
342
308
  this.#subRoutes = subRoutes;
343
- if (ignoredBasePaths.length)
344
- this.#logger.warn(
345
- `AKAN_SUB_ROUTE_HOSTS names basePaths this build does not serve, ignoring: ${ignoredBasePaths.join(", ")}`,
346
- );
309
+ warnIgnoredSubRouteBasePaths(this.#logger, ignoredBasePaths);
347
310
  this.#rsc = rsc;
348
311
  this.renderState = {
349
312
  buildId: 0,
@@ -353,7 +316,13 @@ export class WebRouter {
353
316
  this.#seedIndex = seedIndex;
354
317
  if (this.#prodMode) {
355
318
  this.#builderRpc = null;
356
- this.#routeCache = this.#getProductionRouteCache();
319
+ this.#routeCache = new RouteClientCache({
320
+ buildRoute: async (routeId) => {
321
+ throw new Error(
322
+ `[SSR] route ${routeId} missing from production artifact — rebuild with \`akan build\` to include it`,
323
+ );
324
+ },
325
+ });
357
326
  } else {
358
327
  this.#devHmr = new DevHmrController({
359
328
  renderState: this.renderState,
@@ -374,14 +343,16 @@ export class WebRouter {
374
343
  await this.#rsc.reload({
375
344
  clientManifest: this.#mergeRuntimeManifest().clientManifest,
376
345
  cssAssets: this.renderState.cssAssets,
377
- buildId: this.renderState.buildId,
346
+
347
+ buildId: this.#artifact.pagesBundleBuildId,
378
348
  });
379
349
  }
380
350
 
381
351
  const clientServePrefix = `/_akan/client`;
382
352
  const clientOutputDir = `${this.#artifactDir}/client`;
383
- const csrOutputDir = WebRouter.#resolveCsrDir(this.#artifactDir);
384
- const publicDir = path.join(WebRouter.#resolveAppDir(), "public");
353
+ const localCsrDir = path.join(process.cwd(), "csr");
354
+ const csrOutputDir = fs.existsSync(localCsrDir) ? localCsrDir : path.join(this.#artifactDir, "csr");
355
+ const publicDir = path.join(process.env.AKAN_APP_DIR ?? path.dirname(Bun.main), "public");
385
356
  const imageCacheDir = path.join(this.#artifactDir, "image-cache");
386
357
  const imageOptimizer = new ImageOptimizer({
387
358
  publicDir,
@@ -441,10 +412,14 @@ export class WebRouter {
441
412
  }
442
413
  const cssBytes = this.renderState.cssBytesByUrl[url.pathname];
443
414
  if (!cssBytes) return new Response("Not Found", { status: 404 });
444
- return WebRouter.#bytesResponse(req, cssBytes, {
415
+ const headers = WebRouter.#baseAssetHeaders({
445
416
  contentType: "text/css; charset=utf-8",
446
417
  cacheControl: "no-store",
447
418
  });
419
+ return new Response(
420
+ cssBytes.buffer.slice(cssBytes.byteOffset, cssBytes.byteOffset + cssBytes.byteLength) as ArrayBuffer,
421
+ { headers },
422
+ );
448
423
  },
449
424
  "/_akan/fonts/*": (req) => {
450
425
  this.#requestStats.staticAsset += 1;
@@ -462,9 +437,8 @@ export class WebRouter {
462
437
  },
463
438
  ...(!this.#prodMode
464
439
  ? {
465
- "/_akan/hmr": (req: Request) => {
466
- return this.#devHmr?.handleWs(req) ?? new Response("HMR unavailable", { status: 404 });
467
- },
440
+ "/_akan/hmr": (req: Request) =>
441
+ this.#devHmr?.handleWs(req) ?? new Response("HMR unavailable", { status: 404 }),
468
442
  "/_akan/hmr/client-refresh": (req: Request) =>
469
443
  this.#devHmr?.handleClientRefresh(req) ?? new Response("HMR unavailable", { status: 404 }),
470
444
  }
@@ -473,8 +447,8 @@ export class WebRouter {
473
447
  this.#requestStats.rscNavigation += 1;
474
448
  try {
475
449
  const reqUrl = new URL(req.url);
476
- /** After TLS/pass-through proxies Bun often sees internal http origins; forwarded headers preserve the browser origin for same-origin checks. */
477
- const clientOrigin = WebRouter.#clientFacingOrigin(req);
450
+
451
+ const clientOrigin = getClientFacingOrigin(req);
478
452
  const target = reqUrl.searchParams.get("url");
479
453
  const rawTargetUrl = target ? new URL(target, clientOrigin) : reqUrl;
480
454
  const requestBasePath = this.#requestBasePath(req);
@@ -490,6 +464,12 @@ export class WebRouter {
490
464
  const manifest = await this.#ensureRoute(targetUrl);
491
465
  const rscHeaders = new Headers(req.headers);
492
466
  if (normalizedTarget.basePath) rscHeaders.set("x-base-path", normalizedTarget.basePath);
467
+
468
+ const [, targetLocale = "", ...targetPath] = rawTargetUrl.pathname.split("/");
469
+ if (this.#artifact.i18n.locales.includes(targetLocale)) {
470
+ rscHeaders.set("x-locale", targetLocale);
471
+ rscHeaders.set("x-path", `/${targetPath.join("/")}`);
472
+ }
493
473
  const rscReq = new Request(targetUrl, {
494
474
  method: "GET",
495
475
  headers: rscHeaders,
@@ -500,7 +480,7 @@ export class WebRouter {
500
480
  });
501
481
  if (result.type === "redirect")
502
482
  return createRscRedirectResponse(result.location, result.method, result.status);
503
- if (result.type === "not-found") return WebRouter.#rscNotFoundResponse();
483
+ if (result.type === "not-found") return createRscNotFoundFallbackResponse();
504
484
  if (result.status && result.status >= 500)
505
485
  return this.#renderRscErrorResponse("__rsc", "Internal Server Error");
506
486
  return createRscNavigationStreamResponse(result);
@@ -526,19 +506,9 @@ export class WebRouter {
526
506
  status: 404,
527
507
  headers: { "Content-Type": "text/plain; charset=utf-8", "Cache-Control": "no-store" },
528
508
  }),
529
- [FIREBASE_MESSAGING_SW_PATH]: async () => {
530
- this.#requestStats.staticAsset += 1;
531
- const firebaseConfig = await WebRouter.#resolveFirebaseClientConfig();
532
- return new Response(WebRouter.#createFirebaseMessagingServiceWorker(firebaseConfig), {
533
- headers: WebRouter.#baseAssetHeaders({
534
- contentType: "application/javascript; charset=utf-8",
535
- cacheControl: "no-store",
536
- }),
537
- });
538
- },
539
509
  "/*": async (req) => {
540
510
  const url = new URL(req.url);
541
- if (WebRouter.#isImageOptimizerPath(url.pathname)) {
511
+ if (url.pathname.endsWith("/_akan/image")) {
542
512
  this.#requestStats.image += 1;
543
513
  return imageOptimizer.handle(req);
544
514
  }
@@ -564,14 +534,12 @@ export class WebRouter {
564
534
  }
565
535
 
566
536
  const filePath = resolveStaticPath(publicDir, url.pathname);
567
- if (filePath) {
568
- if (await Bun.file(filePath).exists()) {
569
- this.#requestStats.staticAsset += 1;
570
- return WebRouter.#fileResponse(req, filePath, {
571
- contentType: Bun.file(filePath).type || "application/octet-stream",
572
- cacheControl: this.#prodMode ? "public, max-age=300" : "no-store",
573
- });
574
- }
537
+ if (filePath && (await Bun.file(filePath).exists())) {
538
+ this.#requestStats.staticAsset += 1;
539
+ return WebRouter.#fileResponse(req, filePath, {
540
+ contentType: Bun.file(filePath).type || "application/octet-stream",
541
+ cacheControl: this.#prodMode ? "public, max-age=300" : "no-store",
542
+ });
575
543
  }
576
544
 
577
545
  if (url.pathname === "/robots.txt") {
@@ -587,7 +555,7 @@ export class WebRouter {
587
555
  if (sitemapBasePath !== undefined) {
588
556
  return new Response(
589
557
  createDefaultSitemapXml({
590
- origin: WebRouter.#clientFacingOrigin(req),
558
+ origin: getClientFacingOrigin(req),
591
559
  basePath: sitemapBasePath,
592
560
  entries: this.#seedIndex.entries,
593
561
  i18n: parseAkanI18nEnv(),
@@ -687,7 +655,7 @@ export class WebRouter {
687
655
  cacheHtmlWhileStreaming(
688
656
  htmlStream,
689
657
  (html) => {
690
- this.#setCachedHtml(htmlCacheEntry.key, html, htmlStoreTtl, htmlCacheMetadata);
658
+ this.#htmlCache.set(htmlCacheEntry.key, { html, ...htmlCacheMetadata }, htmlStoreTtl);
691
659
  },
692
660
  {
693
661
  shouldCache: () => shouldCacheHtml,
@@ -733,7 +701,6 @@ export class WebRouter {
733
701
  this.#rsc.setLogLevel(minSev);
734
702
  }
735
703
 
736
- /** Page prompts live with the pages, in the RSC worker; the MCP router reaches them through this. */
737
704
  pagePrompts(): PagePromptSource {
738
705
  return {
739
706
  list: () => this.#rsc.listPagePrompts(),
@@ -766,7 +733,6 @@ export class WebRouter {
766
733
  };
767
734
  }
768
735
 
769
- /** @internal Clears or scopes invalidation for local route result caches owned by the host and RSC worker. */
770
736
  invalidateRouteCaches(invalidation?: string | RouteCacheInvalidation): void {
771
737
  const payload = typeof invalidation === "string" ? { reason: invalidation } : invalidation;
772
738
  if (!hasRouteCacheInvalidationScope(payload)) {
@@ -786,19 +752,6 @@ export class WebRouter {
786
752
  this.#rsc.invalidateRouteResultCache(invalidation);
787
753
  }
788
754
 
789
- /**
790
- * Reconstruct origin as the browser saw it when behind Ingress / reverse proxies
791
- * (prevents `/__rsc` same-origin rejecting because `req.url` is internal).
792
- */
793
- static #clientFacingOrigin(req: Request): string {
794
- return getClientFacingOrigin(req);
795
- }
796
-
797
- /**
798
- * `x-base-path` is set by `HostBasePathWebProxy`, but it reaches here from the wire too, so it is checked against
799
- * the basePaths this build serves — the same check `getBasePathFromPathname` already applies to it. An unknown
800
- * value falls through to host matching instead of routing the request into a basePath that resolves to nothing.
801
- */
802
755
  #requestBasePath(req: Request): string | null {
803
756
  const headerBasePath = req.headers.get("x-base-path");
804
757
  if (headerBasePath && this.#artifact.basePaths.includes(headerBasePath)) return headerBasePath;
@@ -806,12 +759,10 @@ export class WebRouter {
806
759
  }
807
760
 
808
761
  static #basePathForRequestHost(req: Request, subRoutes: Record<string, string[]>): string | null {
809
- const host = (req.headers.get("x-forwarded-host") ?? req.headers.get("host") ?? "")
810
- .toLowerCase()
811
- .replace(/:\d+$/, "");
762
+ const host = normalizeHost(req.headers.get("x-forwarded-host")?.split(",")[0]?.trim() ?? req.headers.get("host"));
812
763
  if (!host) return null;
813
764
  for (const [basePath, domains] of Object.entries(subRoutes)) {
814
- if (domains.some((domain) => domain.toLowerCase().replace(/:\d+$/, "") === host)) return basePath;
765
+ if (domains.some((domain) => normalizeHost(domain) === host)) return basePath;
815
766
  }
816
767
  return null;
817
768
  }
@@ -854,18 +805,10 @@ export class WebRouter {
854
805
  return cached.html;
855
806
  }
856
807
 
857
- #setCachedHtml(cacheKey: string, html: string, ttl: number, metadata: Omit<CachedHtmlResult, "html">): void {
858
- this.#htmlCache.set(cacheKey, { html, ...metadata }, ttl);
859
- }
860
-
861
808
  static #cookieValue(req: Request, name: string): string | undefined {
862
809
  return parseCookieHeader(req.headers.get("cookie") ?? "").get(name)?.value;
863
810
  }
864
811
 
865
- static #isImageOptimizerPath(pathname: string): boolean {
866
- return pathname === "/_akan/image" || pathname.endsWith("/_akan/image");
867
- }
868
-
869
812
  async #ensureRoute(url: URL) {
870
813
  const started = Date.now();
871
814
  const matched =
@@ -878,21 +821,17 @@ export class WebRouter {
878
821
  return this.#mergeRuntimeManifest();
879
822
  }
880
823
 
881
- /**
882
- * Memoized on the route cache's revision. Both the snapshot and the runtime merge copy the whole client manifest
883
- * and SSR module map, which is a few hundred KB of structure for a small app — and this ran on every request. In
884
- * production the revision never moves after `seed`, so the manifest is built once; in dev a rebuild bumps it and
885
- * the next request pays for one fresh copy. The cached object is still a copy, so an in-flight request keeps
886
- * consuming a stable manifest across an invalidate exactly as the per-request snapshot made it.
887
- */
888
824
  #mergeRuntimeManifest(): MergedManifest {
889
825
  const revision = this.#routeCache.revision;
890
826
  if (this.#runtimeManifest?.revision === revision) return this.#runtimeManifest.manifest;
891
827
  const snapshot = this.#routeCache.snapshot();
892
828
  const manifest: MergedManifest = {
893
829
  ...snapshot,
894
- clientManifest: WebRouter.#mergeClientManifest(this.#artifact.rscRuntimeClientManifest, snapshot.clientManifest),
895
- ssrManifest: WebRouter.#mergeSsrManifest(this.#artifact.rscRuntimeSsrManifest, snapshot.ssrManifest),
830
+ clientManifest: Object.assign({}, this.#artifact.rscRuntimeClientManifest, snapshot.clientManifest),
831
+ ssrManifest: {
832
+ moduleLoading: null,
833
+ moduleMap: Object.assign({}, this.#artifact.rscRuntimeSsrManifest?.moduleMap, snapshot.ssrManifest.moduleMap),
834
+ },
896
835
  };
897
836
  this.#runtimeManifest = { revision, manifest };
898
837
  return manifest;
@@ -902,24 +841,18 @@ export class WebRouter {
902
841
  kind: "not-found",
903
842
  method: req.method,
904
843
  pathname: url.pathname,
905
- lang: WebRouter.#getLocale(url.pathname, this.#artifact.i18n),
844
+ lang: getPathnameLocale(url.pathname, this.#artifact.i18n),
906
845
  homeHref: this.#getSystemPageHomeHref(req, url.pathname),
907
846
  stylesheetHref: this.#getStylesheetHref(req, url.pathname),
908
847
  });
909
848
  }
910
849
 
911
- /**
912
- * A build with subRoutes must keep every route file under `page/<basePath>`, so the site root owns no page and
913
- * answers 404 — including the URL `akan start` opens a browser on. Locally that reads as a broken app, so serve a
914
- * picker of the basePaths this build carries instead. Deployed hosts never reach it: `HostBasePathWebProxy`
915
- * rewrites the root onto the basePath its host maps to before the router sees it.
916
- */
917
850
  #localSubRouteIndexResponse(req: Request, url: URL): Promise<Response> | null {
918
851
  if (process.env.AKAN_PUBLIC_ENV !== "local" || !this.#artifact.basePaths.length) return null;
919
852
  if (!WebRouter.#isSiteRootPathname(url.pathname, this.#artifact.i18n)) return null;
920
853
  return createSubRouteIndexResponse({
921
854
  method: req.method,
922
- locale: WebRouter.#getLocale(url.pathname, this.#artifact.i18n),
855
+ locale: getPathnameLocale(url.pathname, this.#artifact.i18n),
923
856
  basePaths: this.#artifact.basePaths,
924
857
  subRoutes: this.#subRoutes,
925
858
  });
@@ -940,7 +873,7 @@ export class WebRouter {
940
873
  kind: "error",
941
874
  method: req.method,
942
875
  pathname: scope,
943
- lang: WebRouter.#getLocale(new URL(req.url).pathname, this.#artifact.i18n),
876
+ lang: getPathnameLocale(new URL(req.url).pathname, this.#artifact.i18n),
944
877
  homeHref: this.#getSystemPageHomeHref(req, new URL(req.url).pathname),
945
878
  stylesheetHref: this.#getStylesheetHref(req, new URL(req.url).pathname),
946
879
  showDetails: !this.#prodMode,
@@ -994,11 +927,6 @@ export class WebRouter {
994
927
  return this.renderState.cssAssets[basePath ?? ""]?.cssUrl ?? null;
995
928
  }
996
929
 
997
- static #getLocale(pathname: string, i18n: AkanI18nConfig): string {
998
- const [segment] = pathname.split("/").filter(Boolean);
999
- return segment && i18n.locales.includes(segment) ? segment : i18n.defaultLocale;
1000
- }
1001
-
1002
930
  static #htmlResponseHeaders(status: number): Headers {
1003
931
  const headers = new Headers({ "Content-Type": "text/html; charset=utf-8" });
1004
932
  if (status >= 400) headers.set("Cache-Control", "no-store");
@@ -1008,11 +936,6 @@ export class WebRouter {
1008
936
  if (this.#prodMode) return html;
1009
937
  return WebRouter.#injectBeforeBodyEnd(html, `<script>${HMR_CLIENT_SCRIPT}</script>`);
1010
938
  }
1011
- /**
1012
- * Resolve a CSR html file, asking the builder to build the artifact first if it is not there yet.
1013
- * Dev CSR is only reachable through `/__csr` and `?csr=true`, so the builder skips it until one of
1014
- * them is requested; the first request pays for the build and every save keeps it in sync after.
1015
- */
1016
939
  async #resolveCsrHtml(csrOutputDir: string, pathname: string): Promise<string | null> {
1017
940
  const resolved = WebRouter.#resolveCsrHtmlPath(csrOutputDir, pathname, this.#artifact);
1018
941
  if (resolved) return resolved;
@@ -1021,7 +944,7 @@ export class WebRouter {
1021
944
  }
1022
945
  #armCsrArtifact(reason: string): Promise<unknown> {
1023
946
  const rpc = this.#builderRpc;
1024
-
947
+
1025
948
  if (this.#csrArmed || !rpc) return Promise.resolve();
1026
949
  this.#csrOnDemandBuild ??= rpc
1027
950
  .buildCsr(reason)
@@ -1049,33 +972,25 @@ export class WebRouter {
1049
972
  if (!last || last.index === undefined) return `${html}\n${snippet}`;
1050
973
  return `${html.slice(0, last.index)}${snippet}\n${html.slice(last.index)}`;
1051
974
  }
1052
- static #rscNotFoundResponse(): Response {
1053
- return createRscNotFoundFallbackResponse();
1054
- }
1055
- #getProductionRouteCache() {
1056
- return new RouteClientCache({
1057
- buildRoute: async (routeId) => {
1058
- throw new Error(
1059
- `[SSR] route ${routeId} missing from production artifact — rebuild with \`akan build\` to include it`,
1060
- );
1061
- },
1062
- });
1063
- }
1064
975
 
1065
- /**
1066
- * `null` when the build produced no web artifact — an api-only build, or a workspace with no `page/` at all.
1067
- * The caller boots without a web surface instead of failing on the missing file.
1068
- */
976
+ /** `null` when the build has no web artifact (an api-only build, or no `page/`): boot without a web surface. */
1069
977
  static async create({ web, upgradeHmrWs }: SsrRoutesInputs): Promise<WebRouter | null> {
1070
- const artifactDir = WebRouter.#resolveArtifactDir();
978
+ const artifactDir = resolveArtifactDir();
1071
979
  const artifactFile = Bun.file(path.join(artifactDir, "base-artifact.json"));
1072
980
  if (!(await artifactFile.exists())) return null;
1073
981
  const artifact = WebRouter.#normalizeArtifact((await artifactFile.json()) as BaseBuildArtifact, artifactDir);
1074
982
  const builtWeb = resolveWebConfig(artifact.web);
1075
983
  if (!builtWeb.ssr) return null;
1076
984
  const cssBytesByUrl = await WebRouter.#loadCssBytesByUrl(artifact, artifactDir);
1077
- const rsc = new RscWorker(artifact);
1078
- await rsc.ready;
985
+ const prodMode = process.env.NODE_ENV === "production" && process.env.AKAN_COMMAND_TYPE !== "start";
986
+
987
+ const rsc = new RscWorker(artifact, { failBeforeReady: prodMode });
988
+ if (prodMode)
989
+ void rsc.ready.catch((error: unknown) => {
990
+ new Logger("WebRouter").error(`RSC worker failed to load the pages bundle: ${String(error)}`);
991
+ process.exit(1);
992
+ });
993
+ else await rsc.ready;
1079
994
  const seedIndex = await RouteSeedIndexStore.load(artifactDir);
1080
995
  return new WebRouter({
1081
996
  artifact,
@@ -1087,89 +1002,6 @@ export class WebRouter {
1087
1002
  });
1088
1003
  }
1089
1004
 
1090
- static #resolveArtifactDir() {
1091
- const localArtifactDir = path.join(process.cwd(), ".akan", "artifact");
1092
- if (fs.existsSync(path.join(localArtifactDir, "base-artifact.json"))) return localArtifactDir;
1093
- return path.join(process.cwd(), "apps", getEnv().appName, ".akan", "artifact");
1094
- }
1095
-
1096
- static #resolveAppDir() {
1097
- return process.env.AKAN_APP_DIR ?? path.dirname(Bun.main);
1098
- }
1099
-
1100
- static async #resolveFirebaseClientConfig(): Promise<FirebaseClientEnvConfig | null> {
1101
- const envPath = path.join(WebRouter.#resolveAppDir(), "env", "env.client.ts");
1102
- if (!fs.existsSync(envPath)) return null;
1103
- try {
1104
- const envUrl = pathToFileURL(envPath);
1105
- envUrl.searchParams.set("t", String(Date.now()));
1106
- const envModule = (await import(envUrl.href)) as { env?: { firebase?: unknown } };
1107
- return WebRouter.#normalizeFirebaseClientConfig(envModule.env?.firebase);
1108
- } catch {
1109
- return null;
1110
- }
1111
- }
1112
-
1113
- static #normalizeFirebaseClientConfig(config: unknown): FirebaseClientEnvConfig | null {
1114
- if (!config || typeof config !== "object") return null;
1115
- const value = config as Partial<Record<keyof FirebaseClientEnvConfig, unknown>>;
1116
- if (
1117
- typeof value.apiKey !== "string" ||
1118
- typeof value.projectId !== "string" ||
1119
- typeof value.messagingSenderId !== "string" ||
1120
- typeof value.appId !== "string"
1121
- ) {
1122
- return null;
1123
- }
1124
- return {
1125
- apiKey: value.apiKey,
1126
- ...(typeof value.authDomain === "string" ? { authDomain: value.authDomain } : {}),
1127
- projectId: value.projectId,
1128
- ...(typeof value.storageBucket === "string" ? { storageBucket: value.storageBucket } : {}),
1129
- messagingSenderId: value.messagingSenderId,
1130
- appId: value.appId,
1131
- };
1132
- }
1133
-
1134
- static #createFirebaseMessagingServiceWorker(config: FirebaseClientEnvConfig | null): string {
1135
- const configJson = JSON.stringify(config);
1136
- return `/* Generated by Akan.js. Do not edit. */
1137
- const firebaseConfig = ${configJson};
1138
-
1139
- if (firebaseConfig) {
1140
- importScripts("https://www.gstatic.com/firebasejs/${FIREBASE_WEB_SDK_VERSION}/firebase-app-compat.js");
1141
- importScripts("https://www.gstatic.com/firebasejs/${FIREBASE_WEB_SDK_VERSION}/firebase-messaging-compat.js");
1142
-
1143
- firebase.initializeApp(firebaseConfig);
1144
- const messaging = firebase.messaging();
1145
-
1146
- const notificationUrl = (payload) =>
1147
- payload?.data?.url || payload?.fcmOptions?.link || payload?.notification?.click_action;
1148
-
1149
- messaging.onBackgroundMessage((payload) => {
1150
- const title = payload?.notification?.title || "";
1151
- const options = {
1152
- body: payload?.notification?.body,
1153
- icon: payload?.notification?.icon,
1154
- image: payload?.notification?.image,
1155
- data: {
1156
- url: notificationUrl(payload),
1157
- FCM_MSG: payload,
1158
- },
1159
- };
1160
- self.registration.showNotification(title, options);
1161
- });
1162
- }
1163
-
1164
- self.addEventListener("notificationclick", (event) => {
1165
- const url = event.notification?.data?.url || event.notification?.data?.FCM_MSG?.data?.url;
1166
- event.notification?.close();
1167
- if (!url) return;
1168
- event.waitUntil(clients.openWindow(url));
1169
- });
1170
- `;
1171
- }
1172
-
1173
1005
  static #normalizeArtifact(artifact: BaseBuildArtifact, artifactDir: string): BaseBuildArtifact {
1174
1006
  const normalizedArtifactDir = path.resolve(artifactDir);
1175
1007
  const pagesBundlePath = WebRouter.#resolveArtifactPath(artifact.pagesBundlePath, normalizedArtifactDir);
@@ -1184,18 +1016,6 @@ self.addEventListener("notificationclick", (event) => {
1184
1016
  };
1185
1017
  }
1186
1018
 
1187
- static #mergeClientManifest(...manifests: Array<ClientManifest | undefined>): ClientManifest {
1188
- return Object.assign({}, ...manifests.filter(Boolean));
1189
- }
1190
-
1191
- static #mergeSsrManifest(...manifests: Array<SsrManifest | undefined>): SsrManifest {
1192
- const definedManifests = manifests.filter((manifest): manifest is SsrManifest => Boolean(manifest));
1193
- return {
1194
- moduleLoading: null,
1195
- moduleMap: Object.assign({}, ...definedManifests.map((manifest) => manifest.moduleMap)),
1196
- };
1197
- }
1198
-
1199
1019
  static #normalizeSsrManifest(ssrManifest: SsrManifest, artifactDir: string): SsrManifest {
1200
1020
  return {
1201
1021
  ...ssrManifest,
@@ -1246,12 +1066,6 @@ self.addEventListener("notificationclick", (event) => {
1246
1066
  return path.resolve(artifactDir, "server", path.basename(artifactPath));
1247
1067
  }
1248
1068
 
1249
- static #resolveCsrDir(artifactDir: string) {
1250
- const localCsrDir = path.join(process.cwd(), "csr");
1251
- if (fs.existsSync(localCsrDir)) return localCsrDir;
1252
- return path.join(artifactDir, "csr");
1253
- }
1254
-
1255
1069
  static #resolveCsrHtmlPath(csrOutputDir: string, pathname: string, artifact: BaseBuildArtifact): string | null {
1256
1070
  const basePath = getBasePathFromPathname(pathname, {
1257
1071
  basePaths: artifact.basePaths,
@@ -1272,20 +1086,12 @@ self.addEventListener("notificationclick", (event) => {
1272
1086
  if (!(await file.exists())) return new Response("Not Found", { status: 404 });
1273
1087
  const stat = fs.statSync(filePath);
1274
1088
  const lastModifiedMs = Math.floor(stat.mtimeMs / 1000) * 1000;
1275
- const etag = WebRouter.#weakEtag(stat.size, lastModifiedMs);
1089
+ const etag = `W/"${stat.size.toString(16)}-${lastModifiedMs.toString(16)}"`;
1276
1090
  headers.set("ETag", etag);
1277
1091
  headers.set("Last-Modified", new Date(lastModifiedMs).toUTCString());
1278
1092
  if (WebRouter.#isNotModified(req, etag, lastModifiedMs)) return new Response(null, { status: 304, headers });
1279
1093
 
1280
- const sidecar = await resolveEncodedSidecar(req, filePath, options.contentType);
1281
- if (sidecar) {
1282
- headers.set("Content-Encoding", sidecar.encoding);
1283
- headers.set("Content-Length", String(sidecar.bytes.byteLength));
1284
- headers.set("Vary", "Accept-Encoding");
1285
- return new Response(sidecar.bytes, { headers });
1286
- }
1287
-
1288
- return new Response(file.stream(), { headers });
1094
+ return await encodedFileResponse(req, filePath, options.contentType, headers);
1289
1095
  }
1290
1096
 
1291
1097
  static #deepLinkAssociationResponse(
@@ -1293,7 +1099,6 @@ self.addEventListener("notificationclick", (event) => {
1293
1099
  artifact: BaseBuildArtifact,
1294
1100
  { cacheControl }: { cacheControl: string },
1295
1101
  ) {
1296
- if (pathname !== APPLE_APP_SITE_ASSOCIATION_PATH && pathname !== ANDROID_ASSET_LINKS_PATH) return null;
1297
1102
  const associations = artifact.deepLinkAssociations ?? [];
1298
1103
  if (pathname === APPLE_APP_SITE_ASSOCIATION_PATH) {
1299
1104
  const details = associations
@@ -1305,18 +1110,22 @@ self.addEventListener("notificationclick", (event) => {
1305
1110
  if (details.length === 0) return null;
1306
1111
  return WebRouter.#jsonResponse({ applinks: { apps: [], details } }, cacheControl);
1307
1112
  }
1113
+
1114
+ const packageSuffixes = process.env.AKAN_PUBLIC_ENV === "main" ? [""] : ["", ".debug"];
1308
1115
  const assetLinks = associations
1309
1116
  .filter(
1310
1117
  (association) => association.domains.length > 0 && (association.androidSha256CertFingerprints?.length ?? 0) > 0,
1311
1118
  )
1312
- .map((association) => ({
1313
- relation: ["delegate_permission/common.handle_all_urls"],
1314
- target: {
1315
- namespace: "android_app",
1316
- package_name: association.appId,
1317
- sha256_cert_fingerprints: association.androidSha256CertFingerprints,
1318
- },
1319
- }));
1119
+ .flatMap((association) =>
1120
+ packageSuffixes.map((suffix) => ({
1121
+ relation: ["delegate_permission/common.handle_all_urls"],
1122
+ target: {
1123
+ namespace: "android_app",
1124
+ package_name: `${association.appId}${suffix}`,
1125
+ sha256_cert_fingerprints: association.androidSha256CertFingerprints,
1126
+ },
1127
+ })),
1128
+ );
1320
1129
  if (assetLinks.length === 0) return null;
1321
1130
  return WebRouter.#jsonResponse(assetLinks, cacheControl);
1322
1131
  }
@@ -1330,29 +1139,6 @@ self.addEventListener("notificationclick", (event) => {
1330
1139
  });
1331
1140
  }
1332
1141
 
1333
- static #bytesResponse(
1334
- _req: Request,
1335
- bytes: Uint8Array,
1336
- options: { contentType: string; cacheControl?: string },
1337
- ): Response {
1338
- const headers = WebRouter.#baseAssetHeaders(options);
1339
- return new Response(WebRouter.#toArrayBuffer(bytes), { headers });
1340
- }
1341
-
1342
- static #toArrayBuffer(bytes: Uint8Array): ArrayBuffer {
1343
- return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;
1344
- }
1345
-
1346
- /**
1347
- * Headers every response carries, whatever it is.
1348
- *
1349
- * `nosniff` because `Bun.file().type` falls back to `application/octet-stream` for an extension it does not
1350
- * know, and a sniffing browser then guesses again — on a `public/` tree the app serves from its own origin,
1351
- * that guess is script execution. `Referrer-Policy` because route paths carry ids.
1352
- *
1353
- * `X-Frame-Options` is on the HTML only: framing an image or a stylesheet means nothing, and the header is
1354
- * what stops a page authenticated by a `SameSite=None` cookie from being clickjacked inside somebody else's.
1355
- */
1356
1142
  static #applySecurityHeaders(headers: Headers, { html = false } = {}): Headers {
1357
1143
  headers.set("X-Content-Type-Options", "nosniff");
1358
1144
  headers.set("Referrer-Policy", "strict-origin-when-cross-origin");
@@ -1366,10 +1152,6 @@ self.addEventListener("notificationclick", (event) => {
1366
1152
  return WebRouter.#applySecurityHeaders(headers);
1367
1153
  }
1368
1154
 
1369
- static #weakEtag(size: number, mtimeMs: number): string {
1370
- return `W/"${size.toString(16)}-${mtimeMs.toString(16)}"`;
1371
- }
1372
-
1373
1155
  static #isNotModified(req: Request, etag: string, lastModifiedMs: number): boolean {
1374
1156
  if (req.method !== "GET" && req.method !== "HEAD") return false;
1375
1157
  const ifNoneMatch = req.headers.get("if-none-match");