akanjs 3.0.0-beta.2 → 3.0.0-beta.21

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 (1940) hide show
  1. package/README.ko.md +0 -1
  2. package/README.md +0 -1
  3. package/base/base.ts +6 -11
  4. package/base/baseEnv.ts +57 -14
  5. package/base/databaseModes.ts +75 -0
  6. package/base/index.ts +1 -0
  7. package/base/primitiveRegistry.ts +38 -47
  8. package/base/symbols.ts +1 -1
  9. package/base/types.ts +1 -1
  10. package/base/utils.ts +3 -6
  11. package/client/cn.ts +3 -13
  12. package/client/cookie.ts +61 -34
  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 +85 -125
  17. package/client/frameConfig.ts +17 -28
  18. package/client/index.ts +0 -1
  19. package/client/makePageProto.tsx +3 -4
  20. package/client/native.ts +44 -0
  21. package/client/route/RootLayoutDefinition.ts +0 -6
  22. package/client/route/RouteDefinition.ts +5 -30
  23. package/client/route/resolveRouteModule.ts +1 -5
  24. package/client/router.ts +46 -40
  25. package/client/rscNavigation.ts +9 -5
  26. package/client/sharedContext.ts +2 -19
  27. package/client/storage.ts +66 -46
  28. package/client/translator.ts +5 -6
  29. package/client/types.ts +0 -3
  30. package/common/CodeAgentClient.ts +91 -0
  31. package/common/CodeTranscript.ts +325 -0
  32. package/common/Logger.ts +9 -34
  33. package/common/TrustedProxy.ts +6 -34
  34. package/common/applyMixins.ts +13 -2
  35. package/common/authToken.ts +0 -11
  36. package/common/capitalize.ts +3 -4
  37. package/common/clamp.ts +0 -1
  38. package/common/clientAddress.ts +1 -15
  39. package/common/codeAgentProfile.ts +181 -0
  40. package/common/codeAgentWire.ts +305 -0
  41. package/common/eventStream.ts +88 -0
  42. package/common/fileUpload.ts +1 -12
  43. package/common/formatNumber.ts +3 -12
  44. package/common/index.ts +104 -19
  45. package/common/interpolateTranslation.ts +1 -6
  46. package/common/isEmail.ts +0 -1
  47. package/common/isRecord.ts +2 -0
  48. package/common/isThenable.ts +1 -8
  49. package/common/isValidDate.ts +3 -5
  50. package/common/logContext.ts +1 -1
  51. package/common/markdownBlocks.ts +134 -0
  52. package/common/markdownSpans.ts +47 -0
  53. package/common/markdownTable.ts +50 -0
  54. package/common/mcpExposure.ts +4 -27
  55. package/common/objectPath.ts +67 -0
  56. package/common/objectify.ts +52 -0
  57. package/common/phone.ts +14 -0
  58. package/common/randomPick.ts +13 -0
  59. package/common/requestOrigin.ts +0 -17
  60. package/common/restClient.ts +8 -13
  61. package/common/round.ts +4 -0
  62. package/common/routeConvention.ts +21 -14
  63. package/common/sleep.ts +1 -8
  64. package/common/subRoute.ts +4 -7
  65. package/common/toError.ts +1 -0
  66. package/common/tunnelWire.ts +263 -0
  67. package/common/types.ts +6 -7
  68. package/common/version.ts +8 -0
  69. package/common/websocketContract.ts +80 -0
  70. package/constant/cascadePaths.ts +6 -9
  71. package/constant/constantRegistry.ts +21 -57
  72. package/constant/crystalize.ts +2 -12
  73. package/constant/dateSlot.ts +0 -15
  74. package/constant/fieldInfo.ts +30 -109
  75. package/constant/fieldQueryMeta.ts +2 -10
  76. package/constant/getDefault.ts +16 -8
  77. package/constant/hydrationPlan.ts +1 -9
  78. package/constant/index.ts +0 -1
  79. package/constant/labelOf.ts +1 -6
  80. package/constant/mask.ts +36 -38
  81. package/constant/purify.ts +6 -14
  82. package/constant/serialize.ts +82 -5
  83. package/constant/textFieldPaths.ts +2 -3
  84. package/constant/types.ts +2 -6
  85. package/constant/via.ts +20 -60
  86. package/dictionary/DictionaryLookup.ts +1 -7
  87. package/dictionary/agent.dictionary.ts +43 -11
  88. package/dictionary/base.dictionary.ts +11 -0
  89. package/dictionary/dictInfo.ts +145 -626
  90. package/dictionary/dictShape.ts +54 -0
  91. package/dictionary/dictionary.ts +1 -2
  92. package/dictionary/dictionaryRegistry.ts +7 -28
  93. package/dictionary/locale.ts +24 -116
  94. package/dictionary/trans.ts +18 -56
  95. package/document/dataLoader.ts +77 -78
  96. package/document/database.ts +52 -56
  97. package/document/documentQuery.ts +32 -32
  98. package/document/documentSchema.ts +21 -26
  99. package/document/filterMeta.ts +11 -31
  100. package/document/index.ts +0 -1
  101. package/document/into.ts +8 -18
  102. package/document/loaderInfo.ts +28 -7
  103. package/document/noDocumentError.ts +2 -7
  104. package/document/queryEvaluator.ts +21 -43
  105. package/document/types.ts +0 -1
  106. package/fetch/client/fetchClient.ts +78 -108
  107. package/fetch/client/fetchHandle.ts +4 -12
  108. package/fetch/client/httpClient.ts +35 -68
  109. package/fetch/client/remoteError.ts +2 -8
  110. package/fetch/client/sliceInitHandle.ts +3 -6
  111. package/fetch/client/sliceQueryArgs.ts +11 -0
  112. package/fetch/client/wsClient.ts +75 -64
  113. package/fetch/fetchType/appliedReturn.type.ts +5 -24
  114. package/fetch/fetchType/buildFetch.type.ts +28 -1
  115. package/fetch/fetchType/index.ts +0 -1
  116. package/fetch/requestStorage.ts +7 -28
  117. package/fetch/types.ts +0 -1
  118. package/index.ts +77 -109
  119. package/package.json +24 -91
  120. package/server/akanApp.ts +138 -289
  121. package/server/akanAppHeaders.ts +2 -3
  122. package/server/akanOption.ts +25 -27
  123. package/server/akanServer.ts +98 -219
  124. package/server/animatedImage.ts +2 -11
  125. package/server/artifact/builderRpc.ts +24 -64
  126. package/server/artifact/index.ts +0 -1
  127. package/server/artifact/ipcTypes.ts +27 -30
  128. package/server/artifact/routeClientCache.ts +18 -37
  129. package/server/artifact/routeSeedIndexStore.ts +2 -35
  130. package/server/artifact/routesManifestStore.ts +13 -38
  131. package/server/binaryPubsub.ts +0 -9
  132. package/server/cachePolicy.ts +10 -44
  133. package/server/console.ts +12 -16
  134. package/server/consoleSession.ts +55 -12
  135. package/server/contentEncoding.ts +42 -27
  136. package/server/decorators.ts +4 -70
  137. package/server/devtools/constantSerializer.ts +2 -14
  138. package/server/devtools/depsSerializer.ts +14 -46
  139. package/server/devtools/devtoolsJson.ts +6 -18
  140. package/server/devtools/devtoolsRouter.ts +2 -12
  141. package/server/devtools/signalSerializer.ts +4 -44
  142. package/server/devtools/types.ts +0 -12
  143. package/server/di/diLifecycle.ts +141 -221
  144. package/server/di/predefinedAdaptor.ts +11 -5
  145. package/server/di/resolveHierarchy.ts +114 -5
  146. package/server/di/utils.ts +13 -29
  147. package/server/head.tsx +53 -0
  148. package/server/hmr/clientScript.ts +2 -8
  149. package/server/hmr/devHmrController.ts +55 -41
  150. package/server/hmr/wsHub.ts +9 -7
  151. package/server/imageOptimizer.ts +5 -26
  152. package/server/index.ts +1 -1
  153. package/server/lifecycle/portInUse.ts +1 -4
  154. package/server/lifecycle/runtimeDir.ts +0 -4
  155. package/server/lifecycle/shutdownManager.ts +4 -29
  156. package/server/logging/childOutputReader.ts +0 -12
  157. package/server/logging/hubFileSink.ts +10 -6
  158. package/server/logging/logControlSocket.ts +13 -7
  159. package/server/logging/logForwarder.ts +19 -22
  160. package/server/logging/logHub.ts +0 -0
  161. package/server/logging/logQuery.ts +4 -7
  162. package/server/logging/logStdoutWriter.ts +1 -11
  163. package/server/logging/logStreamRoute.ts +4 -21
  164. package/server/logging/logTailClient.ts +1 -8
  165. package/server/logging/rotatingLogWriter.ts +4 -6
  166. package/server/mcp/McpAuth.ts +5 -79
  167. package/server/mcp/McpDispatcher.ts +13 -90
  168. package/server/mcp/McpEventStream.ts +2 -12
  169. package/server/mcp/McpExecutionContext.ts +1 -42
  170. package/server/mcp/McpRateLimiter.ts +61 -30
  171. package/server/mcp/McpRouter.ts +49 -208
  172. package/server/mcp/PagePromptComposer.ts +7 -29
  173. package/server/memoryLimit.ts +1 -13
  174. package/server/oauth/OAuthAuthorize.ts +3 -7
  175. package/server/oauth/OAuthClientIdMetadata.ts +2 -27
  176. package/server/oauth/OAuthErrors.ts +0 -13
  177. package/server/oauth/OAuthMetadata.ts +1 -7
  178. package/server/oauth/OAuthPkce.ts +0 -2
  179. package/server/oauth/OAuthRedirect.ts +0 -9
  180. package/server/oauth/OAuthRegistration.ts +0 -2
  181. package/server/oauth/OAuthRevocation.ts +1 -11
  182. package/server/oauth/OAuthToken.ts +3 -14
  183. package/server/oauth/oauthTypes.ts +1 -2
  184. package/server/ops/ageEncryption.ts +317 -0
  185. package/server/ops/appInfo.ts +92 -0
  186. package/server/ops/opsCommand.ts +116 -0
  187. package/server/ops/opsRoute.ts +151 -0
  188. package/server/ops/opsToken.ts +93 -0
  189. package/server/ops/snapshotJobs.ts +133 -0
  190. package/server/ops/snapshotRestore.ts +118 -0
  191. package/server/ops/snapshotTypes.ts +52 -0
  192. package/server/ops/sqliteFiles.ts +20 -0
  193. package/server/ops/sqliteSnapshot.ts +149 -0
  194. package/server/processMetricsCollector.ts +12 -14
  195. package/server/proxy/hostBasePathWebProxy.ts +20 -13
  196. package/server/proxy/index.ts +2 -3
  197. package/server/proxy/localeWebProxy.ts +3 -17
  198. package/server/proxy/types.ts +14 -0
  199. package/server/proxy/webProxyRunner.ts +13 -1
  200. package/server/resolver/CascadeRunner.ts +7 -23
  201. package/server/resolver/database.resolver.ts +57 -123
  202. package/server/resolver/service.resolver.ts +9 -161
  203. package/server/resolver/signal.resolver.ts +72 -106
  204. package/server/routeElementComposer.tsx +23 -52
  205. package/server/routeState.ts +15 -34
  206. package/server/routeTreeBuilder.ts +32 -94
  207. package/server/routing/apiRouter.ts +31 -50
  208. package/server/routing/appWsData.ts +4 -28
  209. package/server/routing/soloAppRoutes.ts +5 -5
  210. package/server/rscClient.tsx +32 -39
  211. package/server/rscClientFetch.ts +7 -3
  212. package/server/rscClientPatch.ts +4 -25
  213. package/server/rscHttp.ts +1 -1
  214. package/server/rscNavigationState.ts +10 -25
  215. package/server/rscPagePrompts.ts +4 -24
  216. package/server/rscSegmentOutlet.tsx +1 -5
  217. package/server/rscWorker.tsx +146 -285
  218. package/server/rscWorkerCache.ts +74 -8
  219. package/server/rscWorkerHost.ts +45 -192
  220. package/server/semaphore.ts +1 -1
  221. package/server/sitemap.ts +1 -3
  222. package/server/ssrFromRscRenderer.tsx +33 -124
  223. package/server/ssrTypes.ts +3 -29
  224. package/server/staticPath.ts +0 -16
  225. package/server/systemPageDocument.tsx +65 -2
  226. package/server/systemPages.tsx +4 -2
  227. package/server/tunnel/TunnelAgent.ts +237 -0
  228. package/server/tunnel/TunnelDataSocket.ts +146 -0
  229. package/server/tunnel/TunnelHttpStream.ts +86 -0
  230. package/server/tunnel/TunnelTcpStream.ts +96 -0
  231. package/server/tunnel/TunnelWebsocketStream.ts +110 -0
  232. package/server/tunnel/index.ts +6 -0
  233. package/server/tunnel/tunnelStream.ts +32 -0
  234. package/server/types.tsx +2 -9
  235. package/server/webRouter.ts +89 -306
  236. package/service/agent.service.ts +66 -35
  237. package/service/injectInfo.ts +106 -75
  238. package/service/ipcTypes.ts +4 -1
  239. package/service/liveSyncHub.ts +4 -34
  240. package/service/predefinedAdaptor/anthropicLlm.ts +65 -75
  241. package/service/predefinedAdaptor/cache.adaptor.ts +257 -75
  242. package/service/predefinedAdaptor/database.adaptor.ts +366 -108
  243. package/service/predefinedAdaptor/documentTransfer.ts +89 -0
  244. package/service/predefinedAdaptor/index.ts +2 -1
  245. package/service/predefinedAdaptor/insightQuery.ts +89 -79
  246. package/service/predefinedAdaptor/llm.adaptor.ts +64 -54
  247. package/service/predefinedAdaptor/llmOverflow.ts +63 -0
  248. package/service/predefinedAdaptor/openaiDialect.ts +56 -64
  249. package/service/predefinedAdaptor/openaiLlm.ts +24 -27
  250. package/service/predefinedAdaptor/queue.adaptor.ts +41 -22
  251. package/service/predefinedAdaptor/schedule.adaptor.ts +69 -9
  252. package/service/predefinedAdaptor/searchIndex.ts +76 -325
  253. package/service/predefinedAdaptor/solidCache.adaptor.ts +135 -12
  254. package/service/predefinedAdaptor/solidPubsub.adaptor.ts +28 -16
  255. package/service/predefinedAdaptor/solidQueue.adaptor.ts +61 -10
  256. package/service/predefinedAdaptor/solidSqlite.ts +10 -16
  257. package/service/predefinedAdaptor/sql/PendingStoreEnsures.ts +1 -0
  258. package/service/predefinedAdaptor/sql/PostgresInsightSession.ts +113 -0
  259. package/service/predefinedAdaptor/sql/QueryCompiler.ts +50 -30
  260. package/service/predefinedAdaptor/sql/SqlDocumentStore.ts +290 -138
  261. package/service/predefinedAdaptor/sql/SqliteInsightSession.ts +85 -0
  262. package/service/predefinedAdaptor/sql/UpdateCompiler.ts +1 -7
  263. package/service/predefinedAdaptor/sql/dialect/postgres.ts +138 -53
  264. package/service/predefinedAdaptor/sql/dialect/sqlite.ts +18 -15
  265. package/service/predefinedAdaptor/sql/driver/bunSqlite.ts +31 -4
  266. package/service/predefinedAdaptor/sql/driver/libsql.ts +20 -12
  267. package/service/predefinedAdaptor/sql/driver/postgres.ts +13 -7
  268. package/service/predefinedAdaptor/sql/search/fts5.ts +249 -0
  269. package/service/predefinedAdaptor/sql/search/mirror.ts +76 -0
  270. package/service/predefinedAdaptor/sql/search/postgres.ts +453 -0
  271. package/service/predefinedAdaptor/sql/search/types.ts +50 -0
  272. package/service/predefinedAdaptor/sql/types.ts +76 -17
  273. package/service/predefinedAdaptor/sql/values.ts +40 -2
  274. package/service/predefinedAdaptor/sqlitePath.ts +12 -0
  275. package/service/predefinedAdaptor/sseData.ts +23 -0
  276. package/service/predefinedAdaptor/storage.adaptor.ts +19 -7
  277. package/service/predefinedAdaptor/websocket.adaptor.ts +154 -184
  278. package/service/serve.ts +1 -2
  279. package/service/serviceModule.ts +52 -70
  280. package/service/toolNames.ts +5 -22
  281. package/service/types.ts +3 -9
  282. package/signal/CrossSiteGuard.ts +39 -42
  283. package/signal/SignalFailure.ts +2 -15
  284. package/signal/agent/AgentCatalogue.ts +9 -55
  285. package/signal/agent.signal.ts +9 -6
  286. package/signal/agentMeter.ts +45 -0
  287. package/signal/agentTurnStream.ts +48 -46
  288. package/signal/endpoint.ts +23 -8
  289. package/signal/endpointCache.ts +59 -0
  290. package/signal/endpointInfo.ts +26 -27
  291. package/signal/exception.ts +3 -34
  292. package/signal/guard.ts +4 -21
  293. package/signal/guards.ts +2 -10
  294. package/signal/index.ts +1 -0
  295. package/signal/internal.ts +12 -12
  296. package/signal/internalArg.ts +10 -13
  297. package/signal/internalInfo.ts +1 -1
  298. package/signal/mcp/McpDocument.ts +21 -90
  299. package/signal/mcp/McpProgress.ts +6 -19
  300. package/signal/mcp/McpUriTemplate.ts +1 -27
  301. package/signal/mcp/Msg.ts +13 -122
  302. package/signal/mcp/mcpProtocol.ts +3 -26
  303. package/signal/mcp/pagePrompt.ts +3 -9
  304. package/signal/middleware.ts +15 -65
  305. package/signal/openapi/openapi.ts +0 -4
  306. package/signal/schema/JsonSchemaBuilder.ts +32 -46
  307. package/signal/serializer/fetch.serializer.ts +42 -45
  308. package/signal/serverSignal.ts +6 -8
  309. package/signal/signalContext.ts +70 -161
  310. package/signal/signalRegistry.ts +11 -17
  311. package/signal/slice.ts +40 -36
  312. package/signal/sliceInfo.ts +5 -30
  313. package/signal/trace.ts +11 -84
  314. package/signal/types.ts +27 -57
  315. package/store/SliceRequest.ts +1 -11
  316. package/store/action.ts +153 -395
  317. package/store/actionTag.ts +1 -10
  318. package/store/agent/AgentBridge.ts +3 -25
  319. package/store/agent/AgentContext.ts +2 -9
  320. package/store/agent/AgentCursor.ts +160 -0
  321. package/store/agent/AgentPrompts.ts +0 -15
  322. package/store/agent/AgentVisual.ts +152 -0
  323. package/store/agent/ScreenFlash.ts +67 -0
  324. package/store/agent/ScreenReader.ts +3 -52
  325. package/store/agent/ScreenSettle.ts +1 -13
  326. package/store/agent/ScreenTarget.ts +15 -32
  327. package/store/agent/StoreCatalogue.ts +12 -24
  328. package/store/agent/StoreSurfaceSource.ts +35 -65
  329. package/store/agent/index.ts +4 -4
  330. package/store/agentic/AgentValue.ts +9 -26
  331. package/store/agentic/StExposeBuilder.ts +3 -12
  332. package/store/agentic/StExposeDraft.ts +0 -6
  333. package/store/agentic/StStateBuilder.ts +3 -11
  334. package/store/agentic/StStateDraft.ts +0 -5
  335. package/store/agentic/StToolBuilder.ts +48 -41
  336. package/store/agentic/StToolDraft.ts +0 -7
  337. package/store/agentic/attachAgentic.ts +2 -10
  338. package/store/agentic/formFields.ts +8 -42
  339. package/store/agentic/index.ts +1 -1
  340. package/store/agentic/useAgentReference.ts +31 -0
  341. package/store/agentic/useFieldTool.ts +176 -58
  342. package/store/agentic/useFormTools.ts +4 -21
  343. package/store/agentic/useRelationFieldTool.ts +2 -15
  344. package/store/baseSt.ts +0 -1
  345. package/store/databaseStateNames.ts +0 -9
  346. package/store/draftStore.ts +4 -54
  347. package/store/formSetterNames.ts +2 -19
  348. package/store/hooks.ts +1 -1
  349. package/store/liveInsert.ts +1 -30
  350. package/store/sliceKeys.ts +37 -0
  351. package/store/sliceRole.ts +1 -10
  352. package/store/state.ts +4 -50
  353. package/store/stateBuilder.ts +1 -23
  354. package/store/storeInstance.ts +50 -131
  355. package/store/storeRegistry.ts +1 -8
  356. package/store/types.ts +1 -1
  357. package/test/conformance.ts +299 -0
  358. package/test/index.ts +2 -2
  359. package/test/sampleOf.ts +52 -28
  360. package/test/signalTestRuntime.ts +6 -10
  361. package/test/testServer.ts +66 -31
  362. package/types/base/base.d.ts +2 -3
  363. package/types/base/baseEnv.d.ts +7 -10
  364. package/types/base/databaseModes.d.ts +28 -0
  365. package/types/base/index.d.ts +1 -0
  366. package/types/base/primitiveRegistry.d.ts +23 -10
  367. package/types/base/symbols.d.ts +1 -1
  368. package/types/client/cn.d.ts +3 -13
  369. package/types/client/cookie.d.ts +8 -15
  370. package/types/client/csrTypes.d.ts +6 -57
  371. package/types/client/decorators.d.ts +1 -1
  372. package/types/client/device.d.ts +9 -11
  373. package/types/client/index.d.ts +0 -1
  374. package/types/client/native.d.ts +26 -0
  375. package/types/client/route/RootLayoutDefinition.d.ts +0 -1
  376. package/types/client/route/RouteDefinition.d.ts +4 -16
  377. package/types/client/route/resolveRouteModule.d.ts +1 -5
  378. package/types/client/router.d.ts +8 -4
  379. package/types/client/rscNavigation.d.ts +8 -5
  380. package/types/client/sharedContext.d.ts +2 -19
  381. package/types/client/storage.d.ts +9 -2
  382. package/types/client/types.d.ts +0 -3
  383. package/types/common/CodeAgentClient.d.ts +20 -0
  384. package/types/common/CodeTranscript.d.ts +72 -0
  385. package/types/common/Logger.d.ts +4 -20
  386. package/types/common/TrustedProxy.d.ts +2 -28
  387. package/types/common/applyMixins.d.ts +3 -0
  388. package/types/common/authToken.d.ts +0 -11
  389. package/types/common/capitalize.d.ts +1 -1
  390. package/types/common/clamp.d.ts +0 -1
  391. package/types/common/clientAddress.d.ts +1 -15
  392. package/types/common/codeAgentProfile.d.ts +115 -0
  393. package/types/common/codeAgentWire.d.ts +279 -0
  394. package/types/common/eventStream.d.ts +18 -0
  395. package/types/common/fileUpload.d.ts +6 -11
  396. package/types/common/index.d.ts +20 -19
  397. package/types/common/interpolateTranslation.d.ts +1 -6
  398. package/types/common/isEmail.d.ts +0 -1
  399. package/types/common/isRecord.d.ts +1 -0
  400. package/types/common/isThenable.d.ts +0 -8
  401. package/types/common/logContext.d.ts +1 -1
  402. package/types/common/markdownBlocks.d.ts +32 -0
  403. package/types/common/markdownSpans.d.ts +30 -0
  404. package/types/common/markdownTable.d.ts +14 -0
  405. package/types/common/mcpExposure.d.ts +3 -23
  406. package/types/common/objectPath.d.ts +10 -0
  407. package/types/common/objectify.d.ts +7 -0
  408. package/types/common/phone.d.ts +2 -0
  409. package/types/common/randomPick.d.ts +1 -0
  410. package/types/common/requestOrigin.d.ts +0 -17
  411. package/types/common/restClient.d.ts +0 -7
  412. package/types/common/round.d.ts +1 -0
  413. package/types/common/routeConvention.d.ts +2 -5
  414. package/types/common/sleep.d.ts +0 -1
  415. package/types/common/subRoute.d.ts +4 -6
  416. package/types/common/toError.d.ts +1 -0
  417. package/types/common/tunnelWire.d.ts +161 -0
  418. package/types/common/types.d.ts +7 -7
  419. package/types/common/version.d.ts +6 -0
  420. package/types/common/websocketContract.d.ts +41 -0
  421. package/types/constant/cascadePaths.d.ts +2 -5
  422. package/types/constant/constantRegistry.d.ts +4 -4
  423. package/types/constant/dateSlot.d.ts +0 -5
  424. package/types/constant/fieldInfo.d.ts +2 -21
  425. package/types/constant/fieldQueryMeta.d.ts +2 -10
  426. package/types/constant/getDefault.d.ts +5 -7
  427. package/types/constant/hydrationPlan.d.ts +0 -8
  428. package/types/constant/index.d.ts +0 -1
  429. package/types/constant/labelOf.d.ts +1 -6
  430. package/types/constant/mask.d.ts +11 -36
  431. package/types/constant/serialize.d.ts +10 -2
  432. package/types/constant/types.d.ts +2 -6
  433. package/types/constant/via.d.ts +0 -1
  434. package/types/dictionary/DictionaryLookup.d.ts +1 -7
  435. package/types/dictionary/agent.dictionary.d.ts +2 -1
  436. package/types/dictionary/base.dictionary.d.ts +1 -1
  437. package/types/dictionary/dictInfo.d.ts +25 -92
  438. package/types/dictionary/dictShape.d.ts +26 -0
  439. package/types/dictionary/dictionary.d.ts +9 -9
  440. package/types/dictionary/dictionaryRegistry.d.ts +1 -15
  441. package/types/dictionary/locale.d.ts +9 -28
  442. package/types/dictionary/trans.d.ts +5 -14
  443. package/types/document/dataLoader.d.ts +2 -2
  444. package/types/document/database.d.ts +21 -14
  445. package/types/document/documentQuery.d.ts +6 -1
  446. package/types/document/documentSchema.d.ts +3 -7
  447. package/types/document/filterMeta.d.ts +3 -8
  448. package/types/document/index.d.ts +0 -1
  449. package/types/document/into.d.ts +3 -2
  450. package/types/document/loaderInfo.d.ts +9 -4
  451. package/types/document/noDocumentError.d.ts +2 -7
  452. package/types/document/queryEvaluator.d.ts +7 -24
  453. package/types/document/types.d.ts +0 -1
  454. package/types/fetch/client/fetchClient.d.ts +6 -9
  455. package/types/fetch/client/fetchHandle.d.ts +3 -11
  456. package/types/fetch/client/httpClient.d.ts +5 -1
  457. package/types/fetch/client/remoteError.d.ts +2 -8
  458. package/types/fetch/client/sliceInitHandle.d.ts +2 -5
  459. package/types/fetch/client/sliceQueryArgs.d.ts +3 -0
  460. package/types/fetch/client/wsClient.d.ts +10 -15
  461. package/types/fetch/fetchType/appliedReturn.type.d.ts +5 -23
  462. package/types/fetch/fetchType/buildFetch.type.d.ts +15 -1
  463. package/types/fetch/fetchType/index.d.ts +0 -1
  464. package/types/fetch/requestStorage.d.ts +3 -16
  465. package/types/fetch/types.d.ts +0 -1
  466. package/types/index.d.ts +78 -108
  467. package/types/server/akanApp.d.ts +5 -28
  468. package/types/server/akanAppHeaders.d.ts +0 -1
  469. package/types/server/akanOption.d.ts +12 -24
  470. package/types/server/akanServer.d.ts +16 -56
  471. package/types/server/animatedImage.d.ts +0 -6
  472. package/types/server/artifact/builderRpc.d.ts +7 -30
  473. package/types/server/artifact/index.d.ts +0 -1
  474. package/types/server/artifact/ipcTypes.d.ts +22 -29
  475. package/types/server/artifact/routeClientCache.d.ts +3 -11
  476. package/types/server/artifact/routeSeedIndexStore.d.ts +0 -16
  477. package/types/server/artifact/routesManifestStore.d.ts +1 -1
  478. package/types/server/binaryPubsub.d.ts +0 -8
  479. package/types/server/cachePolicy.d.ts +2 -21
  480. package/types/server/console.d.ts +3 -6
  481. package/types/server/consoleSession.d.ts +2 -2
  482. package/types/server/contentEncoding.d.ts +6 -14
  483. package/types/server/decorators.d.ts +0 -12
  484. package/types/server/devtools/constantSerializer.d.ts +1 -6
  485. package/types/server/devtools/depsSerializer.d.ts +1 -7
  486. package/types/server/devtools/devtoolsJson.d.ts +1 -7
  487. package/types/server/devtools/devtoolsRouter.d.ts +2 -11
  488. package/types/server/devtools/signalSerializer.d.ts +1 -9
  489. package/types/server/devtools/types.d.ts +0 -11
  490. package/types/server/di/diLifecycle.d.ts +0 -36
  491. package/types/server/di/predefinedAdaptor.d.ts +3 -2
  492. package/types/server/di/resolveHierarchy.d.ts +22 -5
  493. package/types/server/di/utils.d.ts +4 -17
  494. package/types/server/head.d.ts +9 -0
  495. package/types/server/hmr/devHmrController.d.ts +2 -3
  496. package/types/server/hmr/wsHub.d.ts +6 -1
  497. package/types/server/index.d.ts +1 -1
  498. package/types/server/lifecycle/portInUse.d.ts +1 -4
  499. package/types/server/lifecycle/runtimeDir.d.ts +0 -4
  500. package/types/server/lifecycle/shutdownManager.d.ts +0 -9
  501. package/types/server/logging/childOutputReader.d.ts +0 -12
  502. package/types/server/logging/hubFileSink.d.ts +1 -5
  503. package/types/server/logging/logControlSocket.d.ts +2 -7
  504. package/types/server/logging/logForwarder.d.ts +3 -15
  505. package/types/server/logging/logHub.d.ts +1 -15
  506. package/types/server/logging/logQuery.d.ts +3 -6
  507. package/types/server/logging/logStdoutWriter.d.ts +0 -6
  508. package/types/server/logging/logStreamRoute.d.ts +0 -9
  509. package/types/server/logging/logTailClient.d.ts +0 -5
  510. package/types/server/mcp/McpAuth.d.ts +3 -71
  511. package/types/server/mcp/McpDispatcher.d.ts +0 -23
  512. package/types/server/mcp/McpEventStream.d.ts +1 -12
  513. package/types/server/mcp/McpExecutionContext.d.ts +0 -33
  514. package/types/server/mcp/McpRateLimiter.d.ts +10 -13
  515. package/types/server/mcp/McpRouter.d.ts +1 -47
  516. package/types/server/mcp/PagePromptComposer.d.ts +1 -13
  517. package/types/server/memoryLimit.d.ts +1 -13
  518. package/types/server/oauth/OAuthAuthorize.d.ts +1 -6
  519. package/types/server/oauth/OAuthClientIdMetadata.d.ts +2 -26
  520. package/types/server/oauth/OAuthErrors.d.ts +0 -13
  521. package/types/server/oauth/OAuthMetadata.d.ts +1 -7
  522. package/types/server/oauth/OAuthPkce.d.ts +0 -1
  523. package/types/server/oauth/OAuthRedirect.d.ts +0 -9
  524. package/types/server/oauth/OAuthRegistration.d.ts +0 -1
  525. package/types/server/oauth/OAuthRevocation.d.ts +1 -11
  526. package/types/server/oauth/OAuthToken.d.ts +1 -13
  527. package/types/server/oauth/oauthTypes.d.ts +1 -2
  528. package/types/server/ops/ageEncryption.d.ts +19 -0
  529. package/types/server/ops/appInfo.d.ts +36 -0
  530. package/types/server/ops/opsCommand.d.ts +5 -0
  531. package/types/server/ops/opsRoute.d.ts +24 -0
  532. package/types/server/ops/opsToken.d.ts +26 -0
  533. package/types/server/ops/snapshotJobs.d.ts +24 -0
  534. package/types/server/ops/snapshotRestore.d.ts +24 -0
  535. package/types/server/ops/snapshotTypes.d.ts +45 -0
  536. package/types/server/ops/sqliteFiles.d.ts +5 -0
  537. package/types/server/ops/sqliteSnapshot.d.ts +32 -0
  538. package/types/server/processMetricsCollector.d.ts +3 -1
  539. package/types/server/proxy/hostBasePathWebProxy.d.ts +7 -1
  540. package/types/server/proxy/index.d.ts +2 -3
  541. package/types/server/proxy/localeWebProxy.d.ts +1 -1
  542. package/types/server/proxy/types.d.ts +5 -0
  543. package/types/server/proxy/webProxyRunner.d.ts +1 -0
  544. package/types/server/resolver/CascadeRunner.d.ts +0 -4
  545. package/types/server/resolver/database.resolver.d.ts +1 -1
  546. package/types/server/resolver/service.resolver.d.ts +2 -2
  547. package/types/server/resolver/signal.resolver.d.ts +0 -15
  548. package/types/server/routeElementComposer.d.ts +2 -8
  549. package/types/server/routeState.d.ts +1 -1
  550. package/types/server/routing/apiRouter.d.ts +2 -20
  551. package/types/server/routing/appWsData.d.ts +0 -26
  552. package/types/server/routing/soloAppRoutes.d.ts +2 -6
  553. package/types/server/rscClient.d.ts +0 -12
  554. package/types/server/rscClientFetch.d.ts +6 -6
  555. package/types/server/rscClientPatch.d.ts +1 -1
  556. package/types/server/rscHttp.d.ts +1 -0
  557. package/types/server/rscNavigationState.d.ts +3 -2
  558. package/types/server/rscPagePrompts.d.ts +0 -9
  559. package/types/server/rscWorkerCache.d.ts +41 -3
  560. package/types/server/rscWorkerHost.d.ts +5 -61
  561. package/types/server/ssrFromRscRenderer.d.ts +0 -12
  562. package/types/server/ssrTypes.d.ts +2 -29
  563. package/types/server/staticPath.d.ts +0 -16
  564. package/types/server/systemPageDocument.d.ts +8 -0
  565. package/types/server/systemPages.d.ts +2 -3
  566. package/types/server/tunnel/TunnelAgent.d.ts +29 -0
  567. package/types/server/tunnel/TunnelDataSocket.d.ts +22 -0
  568. package/types/server/tunnel/TunnelHttpStream.d.ts +10 -0
  569. package/types/server/tunnel/TunnelTcpStream.d.ts +11 -0
  570. package/types/server/tunnel/TunnelWebsocketStream.d.ts +10 -0
  571. package/types/server/tunnel/index.d.ts +6 -0
  572. package/types/server/tunnel/tunnelStream.d.ts +19 -0
  573. package/types/server/tunnel.d.ts +1 -0
  574. package/types/server/types.d.ts +2 -9
  575. package/types/server/webRouter.d.ts +2 -19
  576. package/types/service/agent.service.d.ts +16 -29
  577. package/types/service/injectInfo.d.ts +26 -15
  578. package/types/service/ipcTypes.d.ts +6 -0
  579. package/types/service/liveSyncHub.d.ts +4 -22
  580. package/types/service/predefinedAdaptor/anthropicLlm.d.ts +20 -29
  581. package/types/service/predefinedAdaptor/cache.adaptor.d.ts +42 -12
  582. package/types/service/predefinedAdaptor/database.adaptor.d.ts +20 -16
  583. package/types/service/predefinedAdaptor/documentTransfer.d.ts +15 -0
  584. package/types/service/predefinedAdaptor/index.d.ts +2 -1
  585. package/types/service/predefinedAdaptor/insightQuery.d.ts +7 -30
  586. package/types/service/predefinedAdaptor/llm.adaptor.d.ts +54 -54
  587. package/types/service/predefinedAdaptor/llmOverflow.d.ts +16 -0
  588. package/types/service/predefinedAdaptor/openaiDialect.d.ts +19 -29
  589. package/types/service/predefinedAdaptor/openaiLlm.d.ts +9 -14
  590. package/types/service/predefinedAdaptor/queue.adaptor.d.ts +12 -7
  591. package/types/service/predefinedAdaptor/schedule.adaptor.d.ts +7 -2
  592. package/types/service/predefinedAdaptor/searchIndex.d.ts +17 -47
  593. package/types/service/predefinedAdaptor/solidCache.adaptor.d.ts +15 -6
  594. package/types/service/predefinedAdaptor/solidPubsub.adaptor.d.ts +6 -4
  595. package/types/service/predefinedAdaptor/solidSqlite.d.ts +2 -1
  596. package/types/service/predefinedAdaptor/sql/PostgresInsightSession.d.ts +20 -0
  597. package/types/service/predefinedAdaptor/sql/QueryCompiler.d.ts +9 -11
  598. package/types/service/predefinedAdaptor/sql/SqlDocumentStore.d.ts +11 -25
  599. package/types/service/predefinedAdaptor/sql/SqliteInsightSession.d.ts +15 -0
  600. package/types/service/predefinedAdaptor/sql/UpdateCompiler.d.ts +0 -4
  601. package/types/service/predefinedAdaptor/sql/dialect/postgres.d.ts +18 -10
  602. package/types/service/predefinedAdaptor/sql/dialect/sqlite.d.ts +5 -2
  603. package/types/service/predefinedAdaptor/sql/driver/bunSqlite.d.ts +9 -3
  604. package/types/service/predefinedAdaptor/sql/driver/libsql.d.ts +8 -5
  605. package/types/service/predefinedAdaptor/sql/driver/postgres.d.ts +4 -4
  606. package/types/service/predefinedAdaptor/sql/search/fts5.d.ts +28 -0
  607. package/types/service/predefinedAdaptor/sql/search/mirror.d.ts +20 -0
  608. package/types/service/predefinedAdaptor/sql/search/postgres.d.ts +53 -0
  609. package/types/service/predefinedAdaptor/sql/search/types.d.ts +45 -0
  610. package/types/service/predefinedAdaptor/sql/types.d.ts +69 -15
  611. package/types/service/predefinedAdaptor/sql/values.d.ts +8 -0
  612. package/types/service/predefinedAdaptor/sqlitePath.d.ts +1 -0
  613. package/types/service/predefinedAdaptor/sseData.d.ts +1 -0
  614. package/types/service/predefinedAdaptor/storage.adaptor.d.ts +3 -2
  615. package/types/service/predefinedAdaptor/websocket.adaptor.d.ts +26 -26
  616. package/types/service/serviceModule.d.ts +7 -7
  617. package/types/service/toolNames.d.ts +4 -21
  618. package/types/service/types.d.ts +3 -3
  619. package/types/signal/CrossSiteGuard.d.ts +10 -30
  620. package/types/signal/SignalFailure.d.ts +1 -15
  621. package/types/signal/agent/AgentCatalogue.d.ts +8 -54
  622. package/types/signal/agent.signal.d.ts +4 -1
  623. package/types/signal/agentMeter.d.ts +24 -0
  624. package/types/signal/agentTurnStream.d.ts +10 -11
  625. package/types/signal/endpoint.d.ts +1 -2
  626. package/types/signal/endpointCache.d.ts +5 -0
  627. package/types/signal/endpointInfo.d.ts +4 -9
  628. package/types/signal/exception.d.ts +1 -34
  629. package/types/signal/guard.d.ts +4 -15
  630. package/types/signal/guards.d.ts +2 -10
  631. package/types/signal/index.d.ts +1 -0
  632. package/types/signal/internal.d.ts +1 -5
  633. package/types/signal/internalArg.d.ts +7 -13
  634. package/types/signal/mcp/McpDocument.d.ts +5 -45
  635. package/types/signal/mcp/McpProgress.d.ts +6 -19
  636. package/types/signal/mcp/McpUriTemplate.d.ts +1 -19
  637. package/types/signal/mcp/Msg.d.ts +13 -70
  638. package/types/signal/mcp/mcpProtocol.d.ts +1 -26
  639. package/types/signal/mcp/pagePrompt.d.ts +3 -9
  640. package/types/signal/middleware.d.ts +0 -18
  641. package/types/signal/schema/JsonSchemaBuilder.d.ts +15 -43
  642. package/types/signal/serializer/fetch.serializer.d.ts +1 -6
  643. package/types/signal/serverSignal.d.ts +0 -1
  644. package/types/signal/signalContext.d.ts +14 -61
  645. package/types/signal/signalRegistry.d.ts +0 -1
  646. package/types/signal/slice.d.ts +6 -11
  647. package/types/signal/sliceInfo.d.ts +5 -30
  648. package/types/signal/trace.d.ts +2 -30
  649. package/types/signal/types.d.ts +27 -57
  650. package/types/store/SliceRequest.d.ts +1 -11
  651. package/types/store/action.d.ts +2 -6
  652. package/types/store/actionTag.d.ts +1 -10
  653. package/types/store/agent/AgentBridge.d.ts +3 -22
  654. package/types/store/agent/AgentContext.d.ts +1 -7
  655. package/types/store/agent/AgentCursor.d.ts +24 -0
  656. package/types/store/agent/AgentPrompts.d.ts +0 -5
  657. package/types/store/agent/AgentVisual.d.ts +25 -0
  658. package/types/store/agent/ScreenFlash.d.ts +23 -0
  659. package/types/store/agent/ScreenReader.d.ts +3 -26
  660. package/types/store/agent/ScreenSettle.d.ts +1 -12
  661. package/types/store/agent/ScreenTarget.d.ts +3 -23
  662. package/types/store/agent/StoreCatalogue.d.ts +12 -16
  663. package/types/store/agent/StoreSurfaceSource.d.ts +11 -23
  664. package/types/store/agent/index.d.ts +4 -3
  665. package/types/store/agentic/AgentValue.d.ts +3 -23
  666. package/types/store/agentic/StExposeBuilder.d.ts +2 -11
  667. package/types/store/agentic/StExposeDraft.d.ts +0 -6
  668. package/types/store/agentic/StStateBuilder.d.ts +1 -7
  669. package/types/store/agentic/StStateDraft.d.ts +0 -5
  670. package/types/store/agentic/StToolBuilder.d.ts +14 -37
  671. package/types/store/agentic/StToolDraft.d.ts +0 -7
  672. package/types/store/agentic/attachAgentic.d.ts +2 -10
  673. package/types/store/agentic/formFields.d.ts +5 -41
  674. package/types/store/agentic/index.d.ts +1 -1
  675. package/types/store/agentic/useAgentReference.d.ts +14 -0
  676. package/types/store/agentic/useFieldTool.d.ts +19 -16
  677. package/types/store/agentic/useFormTools.d.ts +1 -18
  678. package/types/store/agentic/useRelationFieldTool.d.ts +1 -14
  679. package/types/store/baseSt.d.ts +2 -15
  680. package/types/store/databaseStateNames.d.ts +0 -9
  681. package/types/store/draftStore.d.ts +4 -30
  682. package/types/store/formSetterNames.d.ts +0 -19
  683. package/types/store/hooks.d.ts +1 -1
  684. package/types/store/liveInsert.d.ts +0 -23
  685. package/types/store/sliceKeys.d.ts +31 -0
  686. package/types/store/sliceRole.d.ts +1 -10
  687. package/types/store/state.d.ts +2 -9
  688. package/types/store/stateBuilder.d.ts +0 -14
  689. package/types/store/storeInstance.d.ts +6 -20
  690. package/types/store/storeRegistry.d.ts +0 -2
  691. package/types/test/conformance.d.ts +73 -0
  692. package/types/test/index.d.ts +2 -2
  693. package/types/test/sampleOf.d.ts +17 -2
  694. package/types/test/signalTestRuntime.d.ts +1 -1
  695. package/types/test/testServer.d.ts +4 -3
  696. package/types/ui/Agent/Attach.d.ts +2 -2
  697. package/types/ui/Agent/Bubble.d.ts +3 -14
  698. package/types/ui/Agent/Chat.d.ts +31 -64
  699. package/types/ui/Agent/ChatCommands.d.ts +4 -14
  700. package/types/ui/Agent/Composer.d.ts +18 -5
  701. package/types/ui/Agent/Dock.d.ts +38 -10
  702. package/types/ui/Agent/Guide.d.ts +1 -5
  703. package/types/ui/Agent/History.d.ts +1 -18
  704. package/types/ui/Agent/Launcher.d.ts +2 -2
  705. package/types/ui/Agent/Markdown.d.ts +2 -6
  706. package/types/ui/Agent/MentionNode.d.ts +18 -0
  707. package/types/ui/Agent/Menu.d.ts +4 -4
  708. package/types/ui/Agent/Question.d.ts +1 -6
  709. package/types/ui/Agent/Queued.d.ts +1 -6
  710. package/types/ui/Agent/Refer.d.ts +9 -0
  711. package/types/ui/Agent/RichInput.d.ts +14 -0
  712. package/types/ui/Agent/Skip.d.ts +3 -15
  713. package/types/ui/Agent/Steps.d.ts +17 -0
  714. package/types/ui/Agent/ToolCard.d.ts +9 -0
  715. package/types/ui/Agent/Zone.d.ts +13 -30
  716. package/types/ui/Agent/agentSessionOf.d.ts +20 -16
  717. package/types/ui/Agent/attachment.d.ts +4 -38
  718. package/types/ui/Agent/fetchRunner.d.ts +1 -8
  719. package/types/ui/Agent/index.d.ts +2 -6
  720. package/types/ui/Agent/mentionDraft.d.ts +9 -0
  721. package/types/ui/Agent/tokenCount.d.ts +1 -5
  722. package/types/ui/Agent/useChatAttachments.d.ts +0 -5
  723. package/types/ui/Agent/useChatQueue.d.ts +3 -14
  724. package/types/ui/Agent/useChatReferences.d.ts +15 -0
  725. package/types/ui/Agent/useChatVoice.d.ts +0 -12
  726. package/types/ui/Agent/useDraftRecall.d.ts +0 -8
  727. package/types/ui/Agent/useKeyboardInset.d.ts +0 -7
  728. package/types/ui/Agent/useReferenceMenu.d.ts +35 -0
  729. package/types/ui/Agent/useSlashMenu.d.ts +0 -2
  730. package/types/ui/Agent/voice.d.ts +8 -42
  731. package/types/ui/Badge.d.ts +0 -1
  732. package/types/ui/BottomSheet.d.ts +2 -5
  733. package/types/ui/Button.d.ts +6 -23
  734. package/types/ui/ClientSide.d.ts +0 -2
  735. package/types/ui/Constant/schemaGraph.d.ts +0 -4
  736. package/types/ui/Copy.d.ts +2 -3
  737. package/types/ui/CsrImage.d.ts +2 -1
  738. package/types/ui/Data/Dashboard.d.ts +1 -4
  739. package/types/ui/Data/Item.d.ts +1 -1
  740. package/types/ui/Data/ListContainer.d.ts +1 -10
  741. package/types/ui/Data/Pagination.d.ts +0 -2
  742. package/types/ui/Data/QueryMaker.d.ts +0 -7
  743. package/types/ui/Data/RefPicker.d.ts +0 -7
  744. package/types/ui/DatePicker.d.ts +0 -11
  745. package/types/ui/Dialog/LegacyModal.d.ts +1 -4
  746. package/types/ui/Dialog/Provider.d.ts +37 -4
  747. package/types/ui/Dialog/index.d.ts +4 -4
  748. package/types/ui/Dropdown.d.ts +1 -9
  749. package/types/ui/Empty.d.ts +3 -10
  750. package/types/ui/Field/Collection.d.ts +1 -16
  751. package/types/ui/Field/Relation.d.ts +10 -37
  752. package/types/ui/Field/Text.d.ts +9 -66
  753. package/types/ui/Field/index.d.ts +0 -9
  754. package/types/ui/Field/lightRefCache.d.ts +11 -0
  755. package/types/ui/Field/useRelationOptions.d.ts +28 -0
  756. package/types/ui/Image.d.ts +8 -12
  757. package/types/ui/InfiniteScroll.d.ts +2 -6
  758. package/types/ui/Input.d.ts +8 -15
  759. package/types/ui/Layout/Role.d.ts +23 -0
  760. package/types/ui/Layout/Sider.d.ts +21 -0
  761. package/types/ui/Layout/TopInset.d.ts +5 -0
  762. package/types/ui/Layout/index.d.ts +7 -7
  763. package/types/ui/LegacyModal.d.ts +1 -12
  764. package/types/ui/Link/Action.d.ts +11 -0
  765. package/types/ui/Link/Anchor.d.ts +20 -0
  766. package/types/ui/Link/index.d.ts +4 -7
  767. package/types/ui/Load/Edit_Client.d.ts +1 -1
  768. package/types/ui/Load/Page.d.ts +3 -5
  769. package/types/ui/Load/Stream.d.ts +0 -12
  770. package/types/ui/Load/Units.d.ts +1 -1
  771. package/types/ui/Load/View.d.ts +2 -7
  772. package/types/ui/Loading/ProgressBar.d.ts +0 -4
  773. package/types/ui/Loading/Skeleton.d.ts +2 -0
  774. package/types/ui/Loading/Spin.d.ts +12 -2
  775. package/types/ui/Loading/index.d.ts +3 -8
  776. package/types/ui/Loading/index_.d.ts +3 -10
  777. package/types/ui/Menu.d.ts +0 -5
  778. package/types/ui/Modal.d.ts +0 -17
  779. package/types/ui/Model/AdminPanel.d.ts +1 -4
  780. package/types/ui/Model/DraftBar.d.ts +2 -7
  781. package/types/ui/Model/EditModal.d.ts +7 -22
  782. package/types/ui/Model/LoadStore.d.ts +18 -0
  783. package/types/ui/Model/Remove.d.ts +0 -2
  784. package/types/ui/Model/SureToRemove.d.ts +0 -3
  785. package/types/ui/Model/ViewEditModal.d.ts +0 -2
  786. package/types/ui/Model/draftScope.d.ts +0 -7
  787. package/types/ui/Model/index.d.ts +2 -2
  788. package/types/ui/Model/index_.d.ts +2 -2
  789. package/types/ui/Pagination.d.ts +4 -12
  790. package/types/ui/Popconfirm.d.ts +3 -17
  791. package/types/ui/Radio.d.ts +0 -4
  792. package/types/ui/RecentTime.d.ts +5 -9
  793. package/types/ui/Reference/Panel.d.ts +44 -6
  794. package/types/ui/Reference/Segmented.d.ts +0 -3
  795. package/types/ui/Reference/docUi.d.ts +24 -0
  796. package/types/ui/Reference/index.d.ts +3 -7
  797. package/types/ui/Refresh.d.ts +1 -1
  798. package/types/ui/ScreenNavigator.d.ts +2 -2
  799. package/types/ui/Select.d.ts +4 -19
  800. package/types/ui/Signal/Endpoint.d.ts +43 -0
  801. package/types/ui/Signal/WebSocket.d.ts +23 -0
  802. package/types/ui/Signal/endpointEntries.d.ts +2 -4
  803. package/types/ui/Signal/index.d.ts +1 -3
  804. package/types/ui/Signal/style.d.ts +1 -2
  805. package/types/ui/Switch.d.ts +1 -5
  806. package/types/ui/System/CSR.d.ts +2 -2
  807. package/types/ui/System/Client.d.ts +2 -6
  808. package/types/ui/System/Common.d.ts +11 -22
  809. package/types/ui/System/Root.d.ts +1 -4
  810. package/types/ui/System/SSR.d.ts +2 -2
  811. package/types/ui/System/ThemeToggle.d.ts +1 -0
  812. package/types/ui/System/index.d.ts +1 -0
  813. package/types/ui/Tab/Provider.d.ts +24 -4
  814. package/types/ui/Tab/index.d.ts +3 -3
  815. package/types/ui/Table.d.ts +7 -23
  816. package/types/ui/Toast.d.ts +9 -16
  817. package/types/ui/ToggleSelect.d.ts +0 -5
  818. package/types/ui/Tooltip.d.ts +1 -2
  819. package/types/ui/UiOverride/UiOverride.d.ts +111 -0
  820. package/types/ui/UiOverride/index.d.ts +2 -5
  821. package/types/ui/UiOverride/override.d.ts +2 -18
  822. package/types/ui/Unauthorized.d.ts +0 -6
  823. package/types/ui/agentAttrs.d.ts +4 -11
  824. package/types/ui/index.d.ts +9 -5
  825. package/types/ui/overlayLayer.d.ts +4 -24
  826. package/types/ui/overlayPosition.d.ts +0 -12
  827. package/types/ui/recipe/badgeRecipe.d.ts +2 -2
  828. package/types/ui/recipe/buttonRecipe.d.ts +2 -2
  829. package/types/ui/recipe/factory.d.ts +1 -21
  830. package/types/ui/recipe/index.d.ts +0 -14
  831. package/types/ui/recipe/inputRecipe.d.ts +3 -3
  832. package/types/ui/sliceNamesOf.d.ts +78 -0
  833. package/types/ui/triggerSlot.d.ts +2 -12
  834. package/types/vendor/@akanjs/native/packages/cli/src/api.d.ts +182 -0
  835. package/types/vendor/@akanjs/native/packages/cli/src/commands/build.d.ts +28 -0
  836. package/types/vendor/@akanjs/native/packages/cli/src/commands/compat.d.ts +2 -0
  837. package/types/vendor/@akanjs/native/packages/cli/src/commands/dev.d.ts +2 -0
  838. package/types/vendor/@akanjs/native/packages/cli/src/commands/doctor.d.ts +37 -0
  839. package/types/vendor/@akanjs/native/packages/cli/src/commands/plugin.d.ts +2 -0
  840. package/types/vendor/@akanjs/native/packages/cli/src/commands/signing.d.ts +2 -0
  841. package/types/vendor/@akanjs/native/packages/cli/src/commands/test.d.ts +2 -0
  842. package/types/vendor/@akanjs/native/packages/cli/src/commands/toolchain.d.ts +2 -0
  843. package/types/vendor/@akanjs/native/packages/cli/src/commands/update.d.ts +2 -0
  844. package/types/vendor/@akanjs/native/packages/cli/src/config.d.ts +278 -0
  845. package/types/vendor/@akanjs/native/packages/cli/src/index.d.ts +2 -0
  846. package/types/vendor/@akanjs/native/packages/cli/src/lib/acl.d.ts +21 -0
  847. package/types/vendor/@akanjs/native/packages/cli/src/lib/apilevel.d.ts +40 -0
  848. package/types/vendor/@akanjs/native/packages/cli/src/lib/apk.d.ts +36 -0
  849. package/types/vendor/@akanjs/native/packages/cli/src/lib/args.d.ts +9 -0
  850. package/types/vendor/@akanjs/native/packages/cli/src/lib/boot.d.ts +32 -0
  851. package/types/vendor/@akanjs/native/packages/cli/src/lib/chrome.d.ts +6 -0
  852. package/types/vendor/@akanjs/native/packages/cli/src/lib/codegen.d.ts +94 -0
  853. package/types/vendor/@akanjs/native/packages/cli/src/lib/compat.d.ts +49 -0
  854. package/types/vendor/@akanjs/native/packages/cli/src/lib/configkeys.d.ts +2 -0
  855. package/types/vendor/@akanjs/native/packages/cli/src/lib/csp.d.ts +51 -0
  856. package/types/vendor/@akanjs/native/packages/cli/src/lib/env.d.ts +44 -0
  857. package/types/vendor/@akanjs/native/packages/cli/src/lib/exec.d.ts +31 -0
  858. package/types/vendor/@akanjs/native/packages/cli/src/lib/googleservices.d.ts +2 -0
  859. package/types/vendor/@akanjs/native/packages/cli/src/lib/hmr.d.ts +120 -0
  860. package/types/vendor/@akanjs/native/packages/cli/src/lib/html.d.ts +20 -0
  861. package/types/vendor/@akanjs/native/packages/cli/src/lib/icons.d.ts +44 -0
  862. package/types/vendor/@akanjs/native/packages/cli/src/lib/image.d.ts +21 -0
  863. package/types/vendor/@akanjs/native/packages/cli/src/lib/iossigning.d.ts +81 -0
  864. package/types/vendor/@akanjs/native/packages/cli/src/lib/launch.d.ts +51 -0
  865. package/types/vendor/@akanjs/native/packages/cli/src/lib/log.d.ts +42 -0
  866. package/types/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.d.ts +18 -0
  867. package/types/vendor/@akanjs/native/packages/cli/src/lib/maven.d.ts +97 -0
  868. package/types/vendor/@akanjs/native/packages/cli/src/lib/names.d.ts +45 -0
  869. package/types/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.d.ts +67 -0
  870. package/types/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.d.ts +11 -0
  871. package/types/vendor/@akanjs/native/packages/cli/src/lib/permissions.d.ts +10 -0
  872. package/types/vendor/@akanjs/native/packages/cli/src/lib/plist.d.ts +11 -0
  873. package/types/vendor/@akanjs/native/packages/cli/src/lib/png.d.ts +11 -0
  874. package/types/vendor/@akanjs/native/packages/cli/src/lib/prepare.d.ts +138 -0
  875. package/types/vendor/@akanjs/native/packages/cli/src/lib/privacy.d.ts +13 -0
  876. package/types/vendor/@akanjs/native/packages/cli/src/lib/project.d.ts +208 -0
  877. package/types/vendor/@akanjs/native/packages/cli/src/lib/root.d.ts +1 -0
  878. package/types/vendor/@akanjs/native/packages/cli/src/lib/routes.d.ts +1 -0
  879. package/types/vendor/@akanjs/native/packages/cli/src/lib/serve.d.ts +17 -0
  880. package/types/vendor/@akanjs/native/packages/cli/src/lib/signing.d.ts +14 -0
  881. package/types/vendor/@akanjs/native/packages/cli/src/lib/spec.d.ts +96 -0
  882. package/types/vendor/@akanjs/native/packages/cli/src/lib/toolchains.d.ts +150 -0
  883. package/types/vendor/@akanjs/native/packages/cli/src/lib/updates.d.ts +77 -0
  884. package/types/vendor/@akanjs/native/packages/cli/src/lib/vectors.d.ts +13 -0
  885. package/types/vendor/@akanjs/native/packages/cli/src/lib/xml.d.ts +13 -0
  886. package/types/vendor/@akanjs/native/packages/cli/src/platforms/android.d.ts +57 -0
  887. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.d.ts +4 -0
  888. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop.d.ts +40 -0
  889. package/types/vendor/@akanjs/native/packages/cli/src/platforms/index.d.ts +14 -0
  890. package/types/vendor/@akanjs/native/packages/cli/src/platforms/ios.d.ts +44 -0
  891. package/types/vendor/@akanjs/native/packages/cli/src/platforms/linux.d.ts +6 -0
  892. package/types/vendor/@akanjs/native/packages/cli/src/platforms/macos.d.ts +7 -0
  893. package/types/vendor/@akanjs/native/packages/cli/src/platforms/targets.d.ts +4 -0
  894. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web-run.d.ts +15 -0
  895. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web.d.ts +2 -0
  896. package/types/vendor/@akanjs/native/packages/cli/src/platforms/windows.d.ts +8 -0
  897. package/types/vendor/@akanjs/native/packages/cli/src/platforms.d.ts +1 -0
  898. package/types/vendor/@akanjs/native/packages/cli/src.d.ts +1 -0
  899. package/types/vendor/@akanjs/native/packages/core/src/acl.d.ts +97 -0
  900. package/types/vendor/@akanjs/native/packages/core/src/boot.d.ts +66 -0
  901. package/types/vendor/@akanjs/native/packages/core/src/contract.d.ts +35 -0
  902. package/types/vendor/@akanjs/native/packages/core/src/errors.d.ts +27 -0
  903. package/types/vendor/@akanjs/native/packages/core/src/files.d.ts +23 -0
  904. package/types/vendor/@akanjs/native/packages/core/src/index.d.ts +14 -0
  905. package/types/vendor/@akanjs/native/packages/core/src/kernel.d.ts +112 -0
  906. package/types/vendor/@akanjs/native/packages/core/src/live.d.ts +12 -0
  907. package/types/vendor/@akanjs/native/packages/core/src/mime.d.ts +2 -0
  908. package/types/vendor/@akanjs/native/packages/core/src/plugin.d.ts +71 -0
  909. package/types/vendor/@akanjs/native/packages/core/src/protocol.d.ts +109 -0
  910. package/types/vendor/@akanjs/native/packages/core/src/runtime.d.ts +66 -0
  911. package/types/vendor/@akanjs/native/packages/core/src/state.d.ts +28 -0
  912. package/types/vendor/@akanjs/native/packages/core/src/testing.d.ts +41 -0
  913. package/types/vendor/@akanjs/native/packages/core/src/version.d.ts +2 -0
  914. package/types/vendor/@akanjs/native/packages/core/src/veto.d.ts +17 -0
  915. package/types/vendor/@akanjs/native/packages/core/src.d.ts +1 -0
  916. package/types/vendor/@akanjs/native/packages/desktop/src/deeplinks.d.ts +24 -0
  917. package/types/vendor/@akanjs/native/packages/desktop/src/delta.d.ts +2 -0
  918. package/types/vendor/@akanjs/native/packages/desktop/src/dispatcher.d.ts +95 -0
  919. package/types/vendor/@akanjs/native/packages/desktop/src/ffi.d.ts +144 -0
  920. package/types/vendor/@akanjs/native/packages/desktop/src/host.d.ts +11 -0
  921. package/types/vendor/@akanjs/native/packages/desktop/src/lifecycle.d.ts +40 -0
  922. package/types/vendor/@akanjs/native/packages/desktop/src/main.d.ts +4 -0
  923. package/types/vendor/@akanjs/native/packages/desktop/src/page-veto.d.ts +17 -0
  924. package/types/vendor/@akanjs/native/packages/desktop/src/paths.d.ts +25 -0
  925. package/types/vendor/@akanjs/native/packages/desktop/src/plugin.d.ts +179 -0
  926. package/types/vendor/@akanjs/native/packages/react/src/index.d.ts +8 -0
  927. package/types/vendor/@akanjs/native/packages/react/src.d.ts +1 -0
  928. package/types/vendor/@akanjs/native/plugins/accessibility/src/announce.d.ts +8 -0
  929. package/types/vendor/@akanjs/native/plugins/accessibility/src/index.d.ts +47 -0
  930. package/types/vendor/@akanjs/native/plugins/accessibility/src/web.d.ts +4 -0
  931. package/types/vendor/@akanjs/native/plugins/accessibility/src.d.ts +1 -0
  932. package/types/vendor/@akanjs/native/plugins/app/src/desktop.d.ts +3 -0
  933. package/types/vendor/@akanjs/native/plugins/app/src/index.d.ts +66 -0
  934. package/types/vendor/@akanjs/native/plugins/app/src/web.d.ts +2 -0
  935. package/types/vendor/@akanjs/native/plugins/app/src.d.ts +1 -0
  936. package/types/vendor/@akanjs/native/plugins/app-state/src/index.d.ts +19 -0
  937. package/types/vendor/@akanjs/native/plugins/app-state/src/web.d.ts +2 -0
  938. package/types/vendor/@akanjs/native/plugins/app-state/src.d.ts +1 -0
  939. package/types/vendor/@akanjs/native/plugins/appearance/src/desktop.d.ts +9 -0
  940. package/types/vendor/@akanjs/native/plugins/appearance/src/index.d.ts +32 -0
  941. package/types/vendor/@akanjs/native/plugins/appearance/src/setting.d.ts +6 -0
  942. package/types/vendor/@akanjs/native/plugins/appearance/src/web.d.ts +3 -0
  943. package/types/vendor/@akanjs/native/plugins/appearance/src.d.ts +1 -0
  944. package/types/vendor/@akanjs/native/plugins/auth-session/src/args.d.ts +18 -0
  945. package/types/vendor/@akanjs/native/plugins/auth-session/src/desktop.d.ts +17 -0
  946. package/types/vendor/@akanjs/native/plugins/auth-session/src/index.d.ts +41 -0
  947. package/types/vendor/@akanjs/native/plugins/auth-session/src.d.ts +1 -0
  948. package/types/vendor/@akanjs/native/plugins/autostart/src/desktop.d.ts +44 -0
  949. package/types/vendor/@akanjs/native/plugins/autostart/src/index.d.ts +44 -0
  950. package/types/vendor/@akanjs/native/plugins/autostart/src.d.ts +1 -0
  951. package/types/vendor/@akanjs/native/plugins/badge/src/count.d.ts +4 -0
  952. package/types/vendor/@akanjs/native/plugins/badge/src/desktop.d.ts +3 -0
  953. package/types/vendor/@akanjs/native/plugins/badge/src/index.d.ts +37 -0
  954. package/types/vendor/@akanjs/native/plugins/badge/src/web.d.ts +2 -0
  955. package/types/vendor/@akanjs/native/plugins/badge/src.d.ts +1 -0
  956. package/types/vendor/@akanjs/native/plugins/biometric/src/index.d.ts +53 -0
  957. package/types/vendor/@akanjs/native/plugins/biometric/src.d.ts +1 -0
  958. package/types/vendor/@akanjs/native/plugins/browser/src/args.d.ts +8 -0
  959. package/types/vendor/@akanjs/native/plugins/browser/src/desktop.d.ts +9 -0
  960. package/types/vendor/@akanjs/native/plugins/browser/src/index.d.ts +36 -0
  961. package/types/vendor/@akanjs/native/plugins/browser/src/web.d.ts +2 -0
  962. package/types/vendor/@akanjs/native/plugins/browser/src.d.ts +1 -0
  963. package/types/vendor/@akanjs/native/plugins/camera/src/desktop.d.ts +5 -0
  964. package/types/vendor/@akanjs/native/plugins/camera/src/index.d.ts +55 -0
  965. package/types/vendor/@akanjs/native/plugins/camera/src/web.d.ts +2 -0
  966. package/types/vendor/@akanjs/native/plugins/camera/src.d.ts +1 -0
  967. package/types/vendor/@akanjs/native/plugins/clipboard/src/desktop.d.ts +8 -0
  968. package/types/vendor/@akanjs/native/plugins/clipboard/src/index.d.ts +40 -0
  969. package/types/vendor/@akanjs/native/plugins/clipboard/src/web.d.ts +2 -0
  970. package/types/vendor/@akanjs/native/plugins/clipboard/src.d.ts +1 -0
  971. package/types/vendor/@akanjs/native/plugins/device/src/desktop.d.ts +33 -0
  972. package/types/vendor/@akanjs/native/plugins/device/src/index.d.ts +55 -0
  973. package/types/vendor/@akanjs/native/plugins/device/src/web.d.ts +22 -0
  974. package/types/vendor/@akanjs/native/plugins/device/src.d.ts +1 -0
  975. package/types/vendor/@akanjs/native/plugins/dialog/src/desktop.d.ts +3 -0
  976. package/types/vendor/@akanjs/native/plugins/dialog/src/index.d.ts +60 -0
  977. package/types/vendor/@akanjs/native/plugins/dialog/src/options.d.ts +29 -0
  978. package/types/vendor/@akanjs/native/plugins/dialog/src/web.d.ts +2 -0
  979. package/types/vendor/@akanjs/native/plugins/dialog/src.d.ts +1 -0
  980. package/types/vendor/@akanjs/native/plugins/dock/src/desktop.d.ts +3 -0
  981. package/types/vendor/@akanjs/native/plugins/dock/src/index.d.ts +46 -0
  982. package/types/vendor/@akanjs/native/plugins/dock/src.d.ts +1 -0
  983. package/types/vendor/@akanjs/native/plugins/file-picker/src/common.d.ts +33 -0
  984. package/types/vendor/@akanjs/native/plugins/file-picker/src/desktop.d.ts +9 -0
  985. package/types/vendor/@akanjs/native/plugins/file-picker/src/index.d.ts +84 -0
  986. package/types/vendor/@akanjs/native/plugins/file-picker/src/web.d.ts +6 -0
  987. package/types/vendor/@akanjs/native/plugins/file-picker/src.d.ts +1 -0
  988. package/types/vendor/@akanjs/native/plugins/filesystem/src/common.d.ts +49 -0
  989. package/types/vendor/@akanjs/native/plugins/filesystem/src/desktop.d.ts +8 -0
  990. package/types/vendor/@akanjs/native/plugins/filesystem/src/index.d.ts +123 -0
  991. package/types/vendor/@akanjs/native/plugins/filesystem/src/web.d.ts +2 -0
  992. package/types/vendor/@akanjs/native/plugins/filesystem/src.d.ts +1 -0
  993. package/types/vendor/@akanjs/native/plugins/geolocation/src/index.d.ts +93 -0
  994. package/types/vendor/@akanjs/native/plugins/geolocation/src/web.d.ts +11 -0
  995. package/types/vendor/@akanjs/native/plugins/geolocation/src.d.ts +1 -0
  996. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.d.ts +3 -0
  997. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/index.d.ts +52 -0
  998. package/types/vendor/@akanjs/native/plugins/global-shortcut/src.d.ts +1 -0
  999. package/types/vendor/@akanjs/native/plugins/haptics/src/index.d.ts +31 -0
  1000. package/types/vendor/@akanjs/native/plugins/haptics/src/web.d.ts +2 -0
  1001. package/types/vendor/@akanjs/native/plugins/haptics/src.d.ts +1 -0
  1002. package/types/vendor/@akanjs/native/plugins/http/src/common.d.ts +71 -0
  1003. package/types/vendor/@akanjs/native/plugins/http/src/desktop.d.ts +5 -0
  1004. package/types/vendor/@akanjs/native/plugins/http/src/index.d.ts +104 -0
  1005. package/types/vendor/@akanjs/native/plugins/http/src/web.d.ts +2 -0
  1006. package/types/vendor/@akanjs/native/plugins/http/src.d.ts +1 -0
  1007. package/types/vendor/@akanjs/native/plugins/iap/src/index.d.ts +171 -0
  1008. package/types/vendor/@akanjs/native/plugins/iap/src.d.ts +1 -0
  1009. package/types/vendor/@akanjs/native/plugins/keep-awake/src/desktop.d.ts +15 -0
  1010. package/types/vendor/@akanjs/native/plugins/keep-awake/src/index.d.ts +33 -0
  1011. package/types/vendor/@akanjs/native/plugins/keep-awake/src/web.d.ts +2 -0
  1012. package/types/vendor/@akanjs/native/plugins/keep-awake/src.d.ts +1 -0
  1013. package/types/vendor/@akanjs/native/plugins/keyboard/src/index.d.ts +42 -0
  1014. package/types/vendor/@akanjs/native/plugins/keyboard/src/web.d.ts +2 -0
  1015. package/types/vendor/@akanjs/native/plugins/keyboard/src.d.ts +1 -0
  1016. package/types/vendor/@akanjs/native/plugins/local-notifications/src/desktop.d.ts +29 -0
  1017. package/types/vendor/@akanjs/native/plugins/local-notifications/src/index.d.ts +126 -0
  1018. package/types/vendor/@akanjs/native/plugins/local-notifications/src/schedule.d.ts +38 -0
  1019. package/types/vendor/@akanjs/native/plugins/local-notifications/src/timers.d.ts +25 -0
  1020. package/types/vendor/@akanjs/native/plugins/local-notifications/src/web.d.ts +4 -0
  1021. package/types/vendor/@akanjs/native/plugins/local-notifications/src.d.ts +1 -0
  1022. package/types/vendor/@akanjs/native/plugins/menu/src/desktop.d.ts +3 -0
  1023. package/types/vendor/@akanjs/native/plugins/menu/src/index.d.ts +85 -0
  1024. package/types/vendor/@akanjs/native/plugins/menu/src.d.ts +1 -0
  1025. package/types/vendor/@akanjs/native/plugins/network/src/index.d.ts +22 -0
  1026. package/types/vendor/@akanjs/native/plugins/network/src/web.d.ts +3 -0
  1027. package/types/vendor/@akanjs/native/plugins/network/src.d.ts +1 -0
  1028. package/types/vendor/@akanjs/native/plugins/opener/src/desktop.d.ts +14 -0
  1029. package/types/vendor/@akanjs/native/plugins/opener/src/index.d.ts +33 -0
  1030. package/types/vendor/@akanjs/native/plugins/opener/src/url.d.ts +16 -0
  1031. package/types/vendor/@akanjs/native/plugins/opener/src/web.d.ts +2 -0
  1032. package/types/vendor/@akanjs/native/plugins/opener/src.d.ts +1 -0
  1033. package/types/vendor/@akanjs/native/plugins/preferences/src/desktop.d.ts +3 -0
  1034. package/types/vendor/@akanjs/native/plugins/preferences/src/index.d.ts +26 -0
  1035. package/types/vendor/@akanjs/native/plugins/preferences/src/web.d.ts +2 -0
  1036. package/types/vendor/@akanjs/native/plugins/preferences/src.d.ts +1 -0
  1037. package/types/vendor/@akanjs/native/plugins/push/src/index.d.ts +57 -0
  1038. package/types/vendor/@akanjs/native/plugins/push/src.d.ts +1 -0
  1039. package/types/vendor/@akanjs/native/plugins/screen/src/desktop.d.ts +3 -0
  1040. package/types/vendor/@akanjs/native/plugins/screen/src/index.d.ts +70 -0
  1041. package/types/vendor/@akanjs/native/plugins/screen/src/web.d.ts +18 -0
  1042. package/types/vendor/@akanjs/native/plugins/screen/src.d.ts +1 -0
  1043. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/index.d.ts +32 -0
  1044. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/types.d.ts +8 -0
  1045. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/web.d.ts +3 -0
  1046. package/types/vendor/@akanjs/native/plugins/screen-orientation/src.d.ts +1 -0
  1047. package/types/vendor/@akanjs/native/plugins/secure-storage/src/desktop.d.ts +16 -0
  1048. package/types/vendor/@akanjs/native/plugins/secure-storage/src/index.d.ts +39 -0
  1049. package/types/vendor/@akanjs/native/plugins/secure-storage/src.d.ts +1 -0
  1050. package/types/vendor/@akanjs/native/plugins/share/src/index.d.ts +55 -0
  1051. package/types/vendor/@akanjs/native/plugins/share/src/options.d.ts +6 -0
  1052. package/types/vendor/@akanjs/native/plugins/share/src/web.d.ts +5 -0
  1053. package/types/vendor/@akanjs/native/plugins/share/src.d.ts +1 -0
  1054. package/types/vendor/@akanjs/native/plugins/single-instance/src/desktop.d.ts +8 -0
  1055. package/types/vendor/@akanjs/native/plugins/single-instance/src/index.d.ts +25 -0
  1056. package/types/vendor/@akanjs/native/plugins/single-instance/src/socket.d.ts +46 -0
  1057. package/types/vendor/@akanjs/native/plugins/single-instance/src.d.ts +1 -0
  1058. package/types/vendor/@akanjs/native/plugins/splash-screen/src/index.d.ts +19 -0
  1059. package/types/vendor/@akanjs/native/plugins/splash-screen/src/web.d.ts +4 -0
  1060. package/types/vendor/@akanjs/native/plugins/splash-screen/src.d.ts +1 -0
  1061. package/types/vendor/@akanjs/native/plugins/sqlite/src/common.d.ts +34 -0
  1062. package/types/vendor/@akanjs/native/plugins/sqlite/src/desktop.d.ts +6 -0
  1063. package/types/vendor/@akanjs/native/plugins/sqlite/src/index.d.ts +115 -0
  1064. package/types/vendor/@akanjs/native/plugins/sqlite/src.d.ts +1 -0
  1065. package/types/vendor/@akanjs/native/plugins/toast/src/index.d.ts +30 -0
  1066. package/types/vendor/@akanjs/native/plugins/toast/src/queue.d.ts +23 -0
  1067. package/types/vendor/@akanjs/native/plugins/toast/src/web.d.ts +2 -0
  1068. package/types/vendor/@akanjs/native/plugins/toast/src.d.ts +1 -0
  1069. package/types/vendor/@akanjs/native/plugins/tray/src/desktop.d.ts +3 -0
  1070. package/types/vendor/@akanjs/native/plugins/tray/src/index.d.ts +113 -0
  1071. package/types/vendor/@akanjs/native/plugins/tray/src.d.ts +1 -0
  1072. package/types/vendor/@akanjs/native/plugins/updates/src/desktop.d.ts +4 -0
  1073. package/types/vendor/@akanjs/native/plugins/updates/src/index.d.ts +68 -0
  1074. package/types/vendor/@akanjs/native/plugins/updates/src.d.ts +1 -0
  1075. package/types/vendor/@akanjs/native/plugins/window/src/desktop.d.ts +6 -0
  1076. package/types/vendor/@akanjs/native/plugins/window/src/index.d.ts +185 -0
  1077. package/types/vendor/@akanjs/native/plugins/window/src/web.d.ts +2 -0
  1078. package/types/vendor/@akanjs/native/plugins/window/src.d.ts +1 -0
  1079. package/types/vendor/@akanjs/native/plugins/window-state/src/desktop.d.ts +7 -0
  1080. package/types/vendor/@akanjs/native/plugins/window-state/src/index.d.ts +33 -0
  1081. package/types/vendor/@akanjs/native/plugins/window-state/src/state.d.ts +39 -0
  1082. package/types/vendor/@akanjs/native/plugins/window-state/src.d.ts +1 -0
  1083. package/types/vendor/use-agentic/AgentProgress.d.ts +12 -0
  1084. package/types/vendor/use-agentic/AgentSession.d.ts +94 -2
  1085. package/types/vendor/use-agentic/Compaction.d.ts +42 -5
  1086. package/types/vendor/use-agentic/Reference.d.ts +56 -0
  1087. package/types/vendor/use-agentic/ToolRunner.d.ts +31 -1
  1088. package/types/vendor/use-agentic/Transcript.d.ts +4 -1
  1089. package/types/vendor/use-agentic/index.d.ts +1 -0
  1090. package/types/vendor/use-agentic/types.d.ts +109 -7
  1091. package/types/webkit/RenderLayer.d.ts +11 -0
  1092. package/types/webkit/index.d.ts +1 -4
  1093. package/types/webkit/lazy.d.ts +3 -12
  1094. package/types/webkit/nativeNavigation.d.ts +25 -0
  1095. package/types/webkit/nativePurchase.d.ts +37 -0
  1096. package/types/webkit/seoPages.d.ts +19 -0
  1097. package/types/webkit/useBodyScrollLock.d.ts +0 -1
  1098. package/types/webkit/useCamera.d.ts +13 -15
  1099. package/types/webkit/useDebounce.d.ts +0 -1
  1100. package/types/webkit/useEscapeKey.d.ts +1 -4
  1101. package/types/webkit/useFetch.d.ts +1 -6
  1102. package/types/webkit/useFrameRuntime.d.ts +1 -1
  1103. package/types/webkit/useGeoLocation.d.ts +5 -6
  1104. package/types/webkit/usePageTool.d.ts +2 -9
  1105. package/types/webkit/usePurchase.d.ts +12 -19
  1106. package/types/webkit/useScreenScope.d.ts +2 -13
  1107. package/ui/Agent/Attach.tsx +5 -4
  1108. package/ui/Agent/Bubble.tsx +51 -31
  1109. package/ui/Agent/Chat.tsx +114 -102
  1110. package/ui/Agent/ChatCommands.ts +5 -21
  1111. package/ui/Agent/Composer.tsx +110 -28
  1112. package/ui/Agent/Dock.tsx +176 -16
  1113. package/ui/Agent/Guide.tsx +1 -5
  1114. package/ui/Agent/History.tsx +1 -18
  1115. package/ui/Agent/Launcher.tsx +2 -2
  1116. package/ui/Agent/Markdown.tsx +40 -14
  1117. package/ui/Agent/MentionNode.ts +54 -0
  1118. package/ui/Agent/Menu.tsx +8 -5
  1119. package/ui/Agent/Question.tsx +1 -6
  1120. package/ui/Agent/Queued.tsx +3 -6
  1121. package/ui/Agent/Refer.tsx +40 -0
  1122. package/ui/Agent/RichInput.tsx +146 -0
  1123. package/ui/Agent/Skip.tsx +3 -15
  1124. package/ui/Agent/Steps.tsx +33 -0
  1125. package/ui/Agent/ToolCard.tsx +32 -0
  1126. package/ui/Agent/Zone.tsx +15 -31
  1127. package/ui/Agent/agentSessionOf.ts +115 -15
  1128. package/ui/Agent/attachment.ts +5 -42
  1129. package/ui/Agent/fetchRunner.ts +3 -15
  1130. package/ui/Agent/index.ts +1 -6
  1131. package/ui/Agent/mentionDraft.ts +91 -0
  1132. package/ui/Agent/tokenCount.ts +1 -5
  1133. package/ui/Agent/useChatAttachments.ts +2 -9
  1134. package/ui/Agent/useChatQueue.ts +12 -14
  1135. package/ui/Agent/useChatReferences.ts +51 -0
  1136. package/ui/Agent/useChatVoice.ts +2 -23
  1137. package/ui/Agent/useDraftRecall.ts +0 -9
  1138. package/ui/Agent/useKeyboardInset.ts +0 -7
  1139. package/ui/Agent/useReferenceMenu.ts +93 -0
  1140. package/ui/Agent/useSlashMenu.ts +0 -3
  1141. package/ui/Agent/voice.ts +8 -43
  1142. package/ui/Badge.tsx +0 -2
  1143. package/ui/BottomSheet.tsx +2 -5
  1144. package/ui/Button.tsx +9 -45
  1145. package/ui/ClientSide.tsx +0 -2
  1146. package/ui/Clipboard.tsx +0 -1
  1147. package/ui/Constant/Doc.tsx +274 -265
  1148. package/ui/Constant/Graph.tsx +11 -3
  1149. package/ui/Constant/schemaGraph.ts +0 -9
  1150. package/ui/Copy.tsx +2 -3
  1151. package/ui/CsrImage.tsx +9 -9
  1152. package/ui/Data/CardList.tsx +2 -17
  1153. package/ui/Data/Dashboard.tsx +2 -5
  1154. package/ui/Data/Item.tsx +2 -3
  1155. package/ui/Data/ListContainer.tsx +15 -61
  1156. package/ui/Data/Pagination.tsx +3 -22
  1157. package/ui/Data/QueryMaker.tsx +1 -8
  1158. package/ui/Data/RefPicker.tsx +1 -8
  1159. package/ui/Data/TableList.tsx +2 -15
  1160. package/ui/DatePicker.tsx +1 -12
  1161. package/ui/Dialog/LegacyModal.tsx +3 -7
  1162. package/ui/Dialog/Modal.tsx +3 -4
  1163. package/ui/Dialog/Provider.tsx +85 -7
  1164. package/ui/Dialog/index.tsx +1 -5
  1165. package/ui/DraggableList.tsx +1 -4
  1166. package/ui/Dropdown.tsx +4 -17
  1167. package/ui/Empty.tsx +4 -12
  1168. package/ui/Field/Choice.tsx +1 -1
  1169. package/ui/Field/Collection.tsx +7 -29
  1170. package/ui/Field/DateField.tsx +2 -7
  1171. package/ui/Field/Label.tsx +0 -1
  1172. package/ui/Field/NumberField.tsx +0 -1
  1173. package/ui/Field/Relation.tsx +79 -199
  1174. package/ui/Field/Text.tsx +25 -86
  1175. package/ui/Field/index.tsx +0 -9
  1176. package/ui/Field/lightRefCache.ts +61 -0
  1177. package/ui/Field/useRelationOptions.ts +97 -0
  1178. package/ui/Image.tsx +35 -65
  1179. package/ui/InfiniteScroll.tsx +3 -21
  1180. package/ui/Input.tsx +82 -174
  1181. package/ui/Layout/Role.tsx +42 -0
  1182. package/ui/Layout/Sider.tsx +82 -1
  1183. package/ui/Layout/TopInset.tsx +23 -1
  1184. package/ui/Layout/index.ts +3 -9
  1185. package/ui/LegacyModal.tsx +1 -12
  1186. package/ui/Link/Action.tsx +29 -0
  1187. package/ui/Link/Anchor.tsx +115 -0
  1188. package/ui/Link/index.tsx +7 -8
  1189. package/ui/Load/Edit_Client.tsx +2 -37
  1190. package/ui/Load/Page.tsx +3 -6
  1191. package/ui/Load/Pagination.tsx +4 -19
  1192. package/ui/Load/Stream.tsx +0 -12
  1193. package/ui/Load/Units.tsx +13 -86
  1194. package/ui/Load/View.tsx +4 -21
  1195. package/ui/Loading/ProgressBar.tsx +0 -4
  1196. package/ui/Loading/Skeleton.tsx +14 -0
  1197. package/ui/Loading/Spin.tsx +34 -5
  1198. package/ui/Loading/index.ts +0 -5
  1199. package/ui/Loading/index_.tsx +2 -12
  1200. package/ui/Menu.tsx +3 -21
  1201. package/ui/Modal.tsx +0 -17
  1202. package/ui/Model/AdminPanel.tsx +2 -5
  1203. package/ui/Model/DraftBar.tsx +3 -14
  1204. package/ui/Model/EditModal.tsx +11 -48
  1205. package/ui/Model/EditWrapper.tsx +2 -3
  1206. package/ui/Model/LoadStore.tsx +18 -0
  1207. package/ui/Model/NewWrapper_Client.tsx +1 -1
  1208. package/ui/Model/Remove.tsx +4 -12
  1209. package/ui/Model/RemoveWrapper.tsx +2 -3
  1210. package/ui/Model/SureToRemove.tsx +4 -13
  1211. package/ui/Model/ViewEditModal.tsx +0 -6
  1212. package/ui/Model/ViewModal.tsx +1 -5
  1213. package/ui/Model/ViewWrapper.tsx +1 -2
  1214. package/ui/Model/draftScope.ts +0 -7
  1215. package/ui/Model/index_.tsx +2 -22
  1216. package/ui/Pagination.tsx +4 -12
  1217. package/ui/Popconfirm.tsx +3 -18
  1218. package/ui/Portal.tsx +2 -3
  1219. package/ui/Radio.tsx +1 -5
  1220. package/ui/RecentTime.tsx +19 -31
  1221. package/ui/Reference/Panel.tsx +102 -6
  1222. package/ui/Reference/Segmented.tsx +5 -11
  1223. package/ui/Reference/docUi.ts +53 -0
  1224. package/ui/Reference/index.ts +3 -7
  1225. package/ui/Refresh.tsx +79 -13
  1226. package/ui/ScreenNavigator.tsx +8 -13
  1227. package/ui/Select.tsx +29 -37
  1228. package/ui/Signal/Endpoint.tsx +154 -0
  1229. package/ui/Signal/Listener.tsx +1 -4
  1230. package/ui/Signal/Object.tsx +67 -73
  1231. package/ui/Signal/RestApi.tsx +30 -76
  1232. package/ui/Signal/WebSocket.tsx +253 -2
  1233. package/ui/Signal/endpointEntries.ts +3 -5
  1234. package/ui/Signal/index.ts +1 -3
  1235. package/ui/Signal/style.ts +1 -2
  1236. package/ui/Switch.tsx +1 -5
  1237. package/ui/System/CSR.tsx +29 -109
  1238. package/ui/System/Client.tsx +17 -25
  1239. package/ui/System/Common.tsx +31 -22
  1240. package/ui/System/Messages.tsx +2 -2
  1241. package/ui/System/Reconnect.tsx +1 -6
  1242. package/ui/System/Root.tsx +1 -4
  1243. package/ui/System/SSR.tsx +10 -16
  1244. package/ui/System/ThemeToggle.tsx +15 -0
  1245. package/ui/System/index.tsx +2 -2
  1246. package/ui/Tab/Provider.tsx +115 -7
  1247. package/ui/Tab/index.tsx +1 -4
  1248. package/ui/Table.tsx +7 -23
  1249. package/ui/Toast.tsx +9 -16
  1250. package/ui/ToggleSelect.tsx +10 -24
  1251. package/ui/Tooltip.tsx +2 -8
  1252. package/ui/UiOverride/UiOverride.tsx +155 -0
  1253. package/ui/UiOverride/index.ts +9 -6
  1254. package/ui/UiOverride/override.ts +2 -18
  1255. package/ui/Unauthorized.tsx +1 -8
  1256. package/ui/agentAttrs.ts +9 -12
  1257. package/ui/index.ts +20 -5
  1258. package/ui/overlayLayer.ts +4 -25
  1259. package/ui/overlayPosition.ts +2 -14
  1260. package/ui/recipe/badgeRecipe.ts +1 -1
  1261. package/ui/recipe/buttonRecipe.ts +4 -4
  1262. package/ui/recipe/factory.ts +1 -22
  1263. package/ui/recipe/index.ts +1 -14
  1264. package/ui/recipe/inputRecipe.ts +2 -2
  1265. package/ui/sliceNamesOf.ts +26 -0
  1266. package/ui/styles.css +195 -1
  1267. package/ui/triggerSlot.tsx +2 -12
  1268. package/vendor/@akanjs/native/LICENSE +21 -0
  1269. package/vendor/@akanjs/native/README.ko.md +88 -0
  1270. package/vendor/@akanjs/native/README.md +93 -0
  1271. package/vendor/@akanjs/native/THIRD_PARTY_NOTICES.md +237 -0
  1272. package/vendor/@akanjs/native/native/android/maven.lock.json +1751 -0
  1273. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAcl.kt +243 -0
  1274. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeActivity.kt +936 -0
  1275. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeApplication.kt +189 -0
  1276. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAssetServer.kt +225 -0
  1277. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeBridge.kt +444 -0
  1278. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeCompat.kt +55 -0
  1279. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeContract.kt +99 -0
  1280. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeEd25519.kt +100 -0
  1281. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeFileProvider.kt +71 -0
  1282. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeKernel.kt +324 -0
  1283. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativePlugin.kt +361 -0
  1284. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeSpec.kt +100 -0
  1285. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeUpdates.kt +305 -0
  1286. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeVectors.kt +132 -0
  1287. package/vendor/@akanjs/native/native/desktop/Cargo.lock +2565 -0
  1288. package/vendor/@akanjs/native/native/desktop/Cargo.toml +49 -0
  1289. package/vendor/@akanjs/native/native/desktop/build.rs +19 -0
  1290. package/vendor/@akanjs/native/native/desktop/rust-toolchain.toml +7 -0
  1291. package/vendor/@akanjs/native/native/desktop/src/accelerator.rs +466 -0
  1292. package/vendor/@akanjs/native/native/desktop/src/autostart.rs +158 -0
  1293. package/vendor/@akanjs/native/native/desktop/src/camera.rs +53 -0
  1294. package/vendor/@akanjs/native/native/desktop/src/chrome.rs +710 -0
  1295. package/vendor/@akanjs/native/native/desktop/src/contract.rs +105 -0
  1296. package/vendor/@akanjs/native/native/desktop/src/devproxy.rs +234 -0
  1297. package/vendor/@akanjs/native/native/desktop/src/dialog_args.rs +189 -0
  1298. package/vendor/@akanjs/native/native/desktop/src/dock.rs +209 -0
  1299. package/vendor/@akanjs/native/native/desktop/src/hotkey.rs +209 -0
  1300. package/vendor/@akanjs/native/native/desktop/src/js_panels.rs +125 -0
  1301. package/vendor/@akanjs/native/native/desktop/src/json.rs +272 -0
  1302. package/vendor/@akanjs/native/native/desktop/src/keychain.rs +151 -0
  1303. package/vendor/@akanjs/native/native/desktop/src/lib.rs +2185 -0
  1304. package/vendor/@akanjs/native/native/desktop/src/linux/appearance.rs +177 -0
  1305. package/vendor/@akanjs/native/native/desktop/src/linux/camera.rs +11 -0
  1306. package/vendor/@akanjs/native/native/desktop/src/linux/clipboard.rs +48 -0
  1307. package/vendor/@akanjs/native/native/desktop/src/linux/device.rs +9 -0
  1308. package/vendor/@akanjs/native/native/desktop/src/linux/dialogs.rs +348 -0
  1309. package/vendor/@akanjs/native/native/desktop/src/linux/dock.rs +146 -0
  1310. package/vendor/@akanjs/native/native/desktop/src/linux/hotkey.rs +228 -0
  1311. package/vendor/@akanjs/native/native/desktop/src/linux/keychain.rs +243 -0
  1312. package/vendor/@akanjs/native/native/desktop/src/linux/menu.rs +445 -0
  1313. package/vendor/@akanjs/native/native/desktop/src/linux/mod.rs +116 -0
  1314. package/vendor/@akanjs/native/native/desktop/src/linux/notify.rs +211 -0
  1315. package/vendor/@akanjs/native/native/desktop/src/linux/open.rs +79 -0
  1316. package/vendor/@akanjs/native/native/desktop/src/linux/power.rs +155 -0
  1317. package/vendor/@akanjs/native/native/desktop/src/linux/screen.rs +158 -0
  1318. package/vendor/@akanjs/native/native/desktop/src/linux/tray.rs +604 -0
  1319. package/vendor/@akanjs/native/native/desktop/src/menu.rs +517 -0
  1320. package/vendor/@akanjs/native/native/desktop/src/navigation.rs +381 -0
  1321. package/vendor/@akanjs/native/native/desktop/src/notify.rs +411 -0
  1322. package/vendor/@akanjs/native/native/desktop/src/notify_schedule.rs +382 -0
  1323. package/vendor/@akanjs/native/native/desktop/src/page_menu.rs +287 -0
  1324. package/vendor/@akanjs/native/native/desktop/src/panels.rs +333 -0
  1325. package/vendor/@akanjs/native/native/desktop/src/placement.rs +92 -0
  1326. package/vendor/@akanjs/native/native/desktop/src/routes.rs +153 -0
  1327. package/vendor/@akanjs/native/native/desktop/src/screen.rs +190 -0
  1328. package/vendor/@akanjs/native/native/desktop/src/tray.rs +279 -0
  1329. package/vendor/@akanjs/native/native/desktop/src/vectors.rs +126 -0
  1330. package/vendor/@akanjs/native/native/desktop/src/win/appearance.rs +51 -0
  1331. package/vendor/@akanjs/native/native/desktop/src/win/autostart.rs +77 -0
  1332. package/vendor/@akanjs/native/native/desktop/src/win/camera.rs +34 -0
  1333. package/vendor/@akanjs/native/native/desktop/src/win/clipboard.rs +106 -0
  1334. package/vendor/@akanjs/native/native/desktop/src/win/device.rs +80 -0
  1335. package/vendor/@akanjs/native/native/desktop/src/win/dialogs.rs +917 -0
  1336. package/vendor/@akanjs/native/native/desktop/src/win/dock.rs +228 -0
  1337. package/vendor/@akanjs/native/native/desktop/src/win/hotkey.rs +110 -0
  1338. package/vendor/@akanjs/native/native/desktop/src/win/keychain.rs +103 -0
  1339. package/vendor/@akanjs/native/native/desktop/src/win/menu.rs +500 -0
  1340. package/vendor/@akanjs/native/native/desktop/src/win/mod.rs +100 -0
  1341. package/vendor/@akanjs/native/native/desktop/src/win/msgwin.rs +86 -0
  1342. package/vendor/@akanjs/native/native/desktop/src/win/notify.rs +334 -0
  1343. package/vendor/@akanjs/native/native/desktop/src/win/open.rs +127 -0
  1344. package/vendor/@akanjs/native/native/desktop/src/win/power.rs +64 -0
  1345. package/vendor/@akanjs/native/native/desktop/src/win/registry.rs +87 -0
  1346. package/vendor/@akanjs/native/native/desktop/src/win/screen.rs +127 -0
  1347. package/vendor/@akanjs/native/native/desktop/src/win/tray.rs +280 -0
  1348. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeAcl.swift +241 -0
  1349. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeApp.swift +285 -0
  1350. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeBridge.swift +407 -0
  1351. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeContract.swift +106 -0
  1352. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeKernel.swift +317 -0
  1353. package/vendor/@akanjs/native/native/ios/Sources/AkanNativePlugin.swift +250 -0
  1354. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSchemeHandler.swift +209 -0
  1355. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeShell.swift +161 -0
  1356. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSpec.swift +143 -0
  1357. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeUpdates.swift +270 -0
  1358. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeVectors.swift +155 -0
  1359. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeViewController.swift +371 -0
  1360. package/vendor/@akanjs/native/packages/cli/src/api.ts +600 -0
  1361. package/vendor/@akanjs/native/packages/cli/src/commands/build.ts +101 -0
  1362. package/vendor/@akanjs/native/packages/cli/src/commands/compat.ts +53 -0
  1363. package/vendor/@akanjs/native/packages/cli/src/commands/dev.ts +249 -0
  1364. package/vendor/@akanjs/native/packages/cli/src/commands/doctor.ts +536 -0
  1365. package/vendor/@akanjs/native/packages/cli/src/commands/plugin.ts +164 -0
  1366. package/vendor/@akanjs/native/packages/cli/src/commands/signing.ts +32 -0
  1367. package/vendor/@akanjs/native/packages/cli/src/commands/test.ts +130 -0
  1368. package/vendor/@akanjs/native/packages/cli/src/commands/toolchain.ts +143 -0
  1369. package/vendor/@akanjs/native/packages/cli/src/commands/update.ts +168 -0
  1370. package/vendor/@akanjs/native/packages/cli/src/config.ts +257 -0
  1371. package/vendor/@akanjs/native/packages/cli/src/index.ts +77 -0
  1372. package/vendor/@akanjs/native/packages/cli/src/lib/acl.ts +420 -0
  1373. package/vendor/@akanjs/native/packages/cli/src/lib/apilevel.ts +245 -0
  1374. package/vendor/@akanjs/native/packages/cli/src/lib/apk.ts +203 -0
  1375. package/vendor/@akanjs/native/packages/cli/src/lib/args.ts +44 -0
  1376. package/vendor/@akanjs/native/packages/cli/src/lib/boot.ts +73 -0
  1377. package/vendor/@akanjs/native/packages/cli/src/lib/chrome.ts +89 -0
  1378. package/vendor/@akanjs/native/packages/cli/src/lib/codegen.ts +1128 -0
  1379. package/vendor/@akanjs/native/packages/cli/src/lib/compat.ts +185 -0
  1380. package/vendor/@akanjs/native/packages/cli/src/lib/configkeys.ts +91 -0
  1381. package/vendor/@akanjs/native/packages/cli/src/lib/csp.ts +198 -0
  1382. package/vendor/@akanjs/native/packages/cli/src/lib/env.ts +257 -0
  1383. package/vendor/@akanjs/native/packages/cli/src/lib/exec.ts +104 -0
  1384. package/vendor/@akanjs/native/packages/cli/src/lib/googleservices.ts +53 -0
  1385. package/vendor/@akanjs/native/packages/cli/src/lib/hmr.ts +534 -0
  1386. package/vendor/@akanjs/native/packages/cli/src/lib/html.ts +63 -0
  1387. package/vendor/@akanjs/native/packages/cli/src/lib/icons.ts +316 -0
  1388. package/vendor/@akanjs/native/packages/cli/src/lib/image.ts +175 -0
  1389. package/vendor/@akanjs/native/packages/cli/src/lib/iossigning.ts +295 -0
  1390. package/vendor/@akanjs/native/packages/cli/src/lib/launch.ts +98 -0
  1391. package/vendor/@akanjs/native/packages/cli/src/lib/log.ts +105 -0
  1392. package/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.ts +107 -0
  1393. package/vendor/@akanjs/native/packages/cli/src/lib/maven.ts +244 -0
  1394. package/vendor/@akanjs/native/packages/cli/src/lib/names.ts +202 -0
  1395. package/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.ts +326 -0
  1396. package/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.ts +68 -0
  1397. package/vendor/@akanjs/native/packages/cli/src/lib/permissions.ts +80 -0
  1398. package/vendor/@akanjs/native/packages/cli/src/lib/plist.ts +139 -0
  1399. package/vendor/@akanjs/native/packages/cli/src/lib/png.ts +240 -0
  1400. package/vendor/@akanjs/native/packages/cli/src/lib/prepare.ts +290 -0
  1401. package/vendor/@akanjs/native/packages/cli/src/lib/privacy.ts +64 -0
  1402. package/vendor/@akanjs/native/packages/cli/src/lib/project.ts +710 -0
  1403. package/vendor/@akanjs/native/packages/cli/src/lib/root.ts +18 -0
  1404. package/vendor/@akanjs/native/packages/cli/src/lib/routes.ts +3 -0
  1405. package/vendor/@akanjs/native/packages/cli/src/lib/serve.ts +83 -0
  1406. package/vendor/@akanjs/native/packages/cli/src/lib/signing.ts +117 -0
  1407. package/vendor/@akanjs/native/packages/cli/src/lib/spec.ts +521 -0
  1408. package/vendor/@akanjs/native/packages/cli/src/lib/toolchains.ts +579 -0
  1409. package/vendor/@akanjs/native/packages/cli/src/lib/updates.ts +160 -0
  1410. package/vendor/@akanjs/native/packages/cli/src/lib/vectors.ts +121 -0
  1411. package/vendor/@akanjs/native/packages/cli/src/lib/xml.ts +72 -0
  1412. package/vendor/@akanjs/native/packages/cli/src/platforms/android.ts +1320 -0
  1413. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.ts +78 -0
  1414. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop.ts +279 -0
  1415. package/vendor/@akanjs/native/packages/cli/src/platforms/index.ts +31 -0
  1416. package/vendor/@akanjs/native/packages/cli/src/platforms/ios.ts +801 -0
  1417. package/vendor/@akanjs/native/packages/cli/src/platforms/linux.ts +52 -0
  1418. package/vendor/@akanjs/native/packages/cli/src/platforms/macos.ts +97 -0
  1419. package/vendor/@akanjs/native/packages/cli/src/platforms/targets.ts +12 -0
  1420. package/vendor/@akanjs/native/packages/cli/src/platforms/web-run.ts +69 -0
  1421. package/vendor/@akanjs/native/packages/cli/src/platforms/web.ts +28 -0
  1422. package/vendor/@akanjs/native/packages/cli/src/platforms/windows.ts +82 -0
  1423. package/vendor/@akanjs/native/packages/core/contract.json +96 -0
  1424. package/vendor/@akanjs/native/packages/core/src/acl.ts +272 -0
  1425. package/vendor/@akanjs/native/packages/core/src/boot.ts +97 -0
  1426. package/vendor/@akanjs/native/packages/core/src/contract.ts +100 -0
  1427. package/vendor/@akanjs/native/packages/core/src/errors.ts +95 -0
  1428. package/vendor/@akanjs/native/packages/core/src/files.ts +105 -0
  1429. package/vendor/@akanjs/native/packages/core/src/index.ts +35 -0
  1430. package/vendor/@akanjs/native/packages/core/src/kernel.ts +281 -0
  1431. package/vendor/@akanjs/native/packages/core/src/live.ts +62 -0
  1432. package/vendor/@akanjs/native/packages/core/src/mime.ts +8 -0
  1433. package/vendor/@akanjs/native/packages/core/src/plugin.ts +358 -0
  1434. package/vendor/@akanjs/native/packages/core/src/protocol.ts +194 -0
  1435. package/vendor/@akanjs/native/packages/core/src/runtime.ts +520 -0
  1436. package/vendor/@akanjs/native/packages/core/src/state.ts +46 -0
  1437. package/vendor/@akanjs/native/packages/core/src/testing.ts +176 -0
  1438. package/vendor/@akanjs/native/packages/core/src/version.ts +2 -0
  1439. package/vendor/@akanjs/native/packages/core/src/veto.ts +55 -0
  1440. package/vendor/@akanjs/native/packages/core/vectors/acl.json +57 -0
  1441. package/vendor/@akanjs/native/packages/core/vectors/bridge.json +76 -0
  1442. package/vendor/@akanjs/native/packages/core/vectors/ed25519.json +29 -0
  1443. package/vendor/@akanjs/native/packages/core/vectors/ids.json +73 -0
  1444. package/vendor/@akanjs/native/packages/core/vectors/navigation.json +75 -0
  1445. package/vendor/@akanjs/native/packages/core/vectors/ranges.json +39 -0
  1446. package/vendor/@akanjs/native/packages/core/vectors/retained.json +17 -0
  1447. package/vendor/@akanjs/native/packages/core/vectors/routes.json +66 -0
  1448. package/vendor/@akanjs/native/packages/core/vectors/scope.json +143 -0
  1449. package/vendor/@akanjs/native/packages/desktop/src/deeplinks.ts +143 -0
  1450. package/vendor/@akanjs/native/packages/desktop/src/delta.ts +174 -0
  1451. package/vendor/@akanjs/native/packages/desktop/src/dispatcher.ts +679 -0
  1452. package/vendor/@akanjs/native/packages/desktop/src/ffi.ts +76 -0
  1453. package/vendor/@akanjs/native/packages/desktop/src/host.ts +355 -0
  1454. package/vendor/@akanjs/native/packages/desktop/src/lifecycle.ts +142 -0
  1455. package/vendor/@akanjs/native/packages/desktop/src/main.ts +133 -0
  1456. package/vendor/@akanjs/native/packages/desktop/src/page-veto.ts +103 -0
  1457. package/vendor/@akanjs/native/packages/desktop/src/paths.ts +59 -0
  1458. package/vendor/@akanjs/native/packages/desktop/src/plugin.ts +232 -0
  1459. package/vendor/@akanjs/native/packages/react/src/index.ts +23 -0
  1460. package/vendor/@akanjs/native/plugins/accessibility/android/AccessibilityPlugin.kt +96 -0
  1461. package/vendor/@akanjs/native/plugins/accessibility/ios/AccessibilityPlugin.swift +92 -0
  1462. package/vendor/@akanjs/native/plugins/accessibility/native-plugin.json +21 -0
  1463. package/vendor/@akanjs/native/plugins/accessibility/src/announce.ts +71 -0
  1464. package/vendor/@akanjs/native/plugins/accessibility/src/index.ts +77 -0
  1465. package/vendor/@akanjs/native/plugins/accessibility/src/web.ts +52 -0
  1466. package/vendor/@akanjs/native/plugins/app/android/AppPlugin.kt +72 -0
  1467. package/vendor/@akanjs/native/plugins/app/ios/AppPlugin.swift +52 -0
  1468. package/vendor/@akanjs/native/plugins/app/native-plugin.json +21 -0
  1469. package/vendor/@akanjs/native/plugins/app/src/desktop.ts +64 -0
  1470. package/vendor/@akanjs/native/plugins/app/src/index.ts +77 -0
  1471. package/vendor/@akanjs/native/plugins/app/src/web.ts +12 -0
  1472. package/vendor/@akanjs/native/plugins/app-state/android/AppStatePlugin.kt +54 -0
  1473. package/vendor/@akanjs/native/plugins/app-state/ios/AppStatePlugin.swift +58 -0
  1474. package/vendor/@akanjs/native/plugins/app-state/native-plugin.json +17 -0
  1475. package/vendor/@akanjs/native/plugins/app-state/src/index.ts +42 -0
  1476. package/vendor/@akanjs/native/plugins/app-state/src/web.ts +33 -0
  1477. package/vendor/@akanjs/native/plugins/appearance/android/AppearancePlugin.kt +133 -0
  1478. package/vendor/@akanjs/native/plugins/appearance/ios/AppearancePlugin.swift +109 -0
  1479. package/vendor/@akanjs/native/plugins/appearance/native-plugin.json +18 -0
  1480. package/vendor/@akanjs/native/plugins/appearance/src/desktop.ts +133 -0
  1481. package/vendor/@akanjs/native/plugins/appearance/src/index.ts +62 -0
  1482. package/vendor/@akanjs/native/plugins/appearance/src/setting.ts +18 -0
  1483. package/vendor/@akanjs/native/plugins/appearance/src/web.ts +25 -0
  1484. package/vendor/@akanjs/native/plugins/auth-session/android/AuthSessionPlugin.kt +171 -0
  1485. package/vendor/@akanjs/native/plugins/auth-session/ios/AuthSessionPlugin.swift +112 -0
  1486. package/vendor/@akanjs/native/plugins/auth-session/native-plugin.json +19 -0
  1487. package/vendor/@akanjs/native/plugins/auth-session/src/args.ts +62 -0
  1488. package/vendor/@akanjs/native/plugins/auth-session/src/desktop.ts +133 -0
  1489. package/vendor/@akanjs/native/plugins/auth-session/src/index.ts +39 -0
  1490. package/vendor/@akanjs/native/plugins/autostart/native-plugin.json +10 -0
  1491. package/vendor/@akanjs/native/plugins/autostart/src/desktop.ts +189 -0
  1492. package/vendor/@akanjs/native/plugins/autostart/src/index.ts +51 -0
  1493. package/vendor/@akanjs/native/plugins/badge/ios/BadgePlugin.swift +92 -0
  1494. package/vendor/@akanjs/native/plugins/badge/native-plugin.json +15 -0
  1495. package/vendor/@akanjs/native/plugins/badge/src/count.ts +12 -0
  1496. package/vendor/@akanjs/native/plugins/badge/src/desktop.ts +24 -0
  1497. package/vendor/@akanjs/native/plugins/badge/src/index.ts +40 -0
  1498. package/vendor/@akanjs/native/plugins/badge/src/web.ts +37 -0
  1499. package/vendor/@akanjs/native/plugins/biometric/android/BiometricPlugin.kt +179 -0
  1500. package/vendor/@akanjs/native/plugins/biometric/ios/BiometricPlugin.swift +129 -0
  1501. package/vendor/@akanjs/native/plugins/biometric/native-plugin.json +22 -0
  1502. package/vendor/@akanjs/native/plugins/biometric/src/index.ts +100 -0
  1503. package/vendor/@akanjs/native/plugins/browser/android/BrowserPlugin.kt +178 -0
  1504. package/vendor/@akanjs/native/plugins/browser/ios/BrowserPlugin.swift +63 -0
  1505. package/vendor/@akanjs/native/plugins/browser/native-plugin.json +22 -0
  1506. package/vendor/@akanjs/native/plugins/browser/src/args.ts +34 -0
  1507. package/vendor/@akanjs/native/plugins/browser/src/desktop.ts +40 -0
  1508. package/vendor/@akanjs/native/plugins/browser/src/index.ts +47 -0
  1509. package/vendor/@akanjs/native/plugins/browser/src/web.ts +60 -0
  1510. package/vendor/@akanjs/native/plugins/camera/android/CameraPlugin.kt +365 -0
  1511. package/vendor/@akanjs/native/plugins/camera/ios/CameraPlugin.swift +296 -0
  1512. package/vendor/@akanjs/native/plugins/camera/native-plugin.json +32 -0
  1513. package/vendor/@akanjs/native/plugins/camera/src/desktop.ts +27 -0
  1514. package/vendor/@akanjs/native/plugins/camera/src/index.ts +85 -0
  1515. package/vendor/@akanjs/native/plugins/camera/src/web.ts +267 -0
  1516. package/vendor/@akanjs/native/plugins/clipboard/android/ClipboardPlugin.kt +51 -0
  1517. package/vendor/@akanjs/native/plugins/clipboard/ios/ClipboardPlugin.swift +35 -0
  1518. package/vendor/@akanjs/native/plugins/clipboard/native-plugin.json +17 -0
  1519. package/vendor/@akanjs/native/plugins/clipboard/src/desktop.ts +66 -0
  1520. package/vendor/@akanjs/native/plugins/clipboard/src/index.ts +72 -0
  1521. package/vendor/@akanjs/native/plugins/clipboard/src/web.ts +69 -0
  1522. package/vendor/@akanjs/native/plugins/device/android/DevicePlugin.kt +70 -0
  1523. package/vendor/@akanjs/native/plugins/device/ios/DevicePlugin.swift +80 -0
  1524. package/vendor/@akanjs/native/plugins/device/native-plugin.json +18 -0
  1525. package/vendor/@akanjs/native/plugins/device/src/desktop.ts +276 -0
  1526. package/vendor/@akanjs/native/plugins/device/src/index.ts +72 -0
  1527. package/vendor/@akanjs/native/plugins/device/src/web.ts +162 -0
  1528. package/vendor/@akanjs/native/plugins/dialog/android/DialogPlugin.kt +260 -0
  1529. package/vendor/@akanjs/native/plugins/dialog/ios/DialogPlugin.swift +198 -0
  1530. package/vendor/@akanjs/native/plugins/dialog/native-plugin.json +18 -0
  1531. package/vendor/@akanjs/native/plugins/dialog/src/desktop.ts +80 -0
  1532. package/vendor/@akanjs/native/plugins/dialog/src/index.ts +87 -0
  1533. package/vendor/@akanjs/native/plugins/dialog/src/options.ts +111 -0
  1534. package/vendor/@akanjs/native/plugins/dialog/src/web.ts +296 -0
  1535. package/vendor/@akanjs/native/plugins/dock/native-plugin.json +10 -0
  1536. package/vendor/@akanjs/native/plugins/dock/src/desktop.ts +34 -0
  1537. package/vendor/@akanjs/native/plugins/dock/src/index.ts +46 -0
  1538. package/vendor/@akanjs/native/plugins/file-picker/android/FilePickerPlugin.kt +316 -0
  1539. package/vendor/@akanjs/native/plugins/file-picker/ios/FilePickerPlugin.swift +366 -0
  1540. package/vendor/@akanjs/native/plugins/file-picker/native-plugin.json +18 -0
  1541. package/vendor/@akanjs/native/plugins/file-picker/src/common.ts +125 -0
  1542. package/vendor/@akanjs/native/plugins/file-picker/src/desktop.ts +164 -0
  1543. package/vendor/@akanjs/native/plugins/file-picker/src/index.ts +187 -0
  1544. package/vendor/@akanjs/native/plugins/file-picker/src/web.ts +158 -0
  1545. package/vendor/@akanjs/native/plugins/filesystem/android/FilesystemPlugin.kt +561 -0
  1546. package/vendor/@akanjs/native/plugins/filesystem/ios/FilesystemPlugin.swift +596 -0
  1547. package/vendor/@akanjs/native/plugins/filesystem/native-plugin.json +45 -0
  1548. package/vendor/@akanjs/native/plugins/filesystem/src/common.ts +150 -0
  1549. package/vendor/@akanjs/native/plugins/filesystem/src/desktop.ts +438 -0
  1550. package/vendor/@akanjs/native/plugins/filesystem/src/index.ts +179 -0
  1551. package/vendor/@akanjs/native/plugins/filesystem/src/web.ts +334 -0
  1552. package/vendor/@akanjs/native/plugins/geolocation/android/GeolocationPlugin.kt +360 -0
  1553. package/vendor/@akanjs/native/plugins/geolocation/ios/GeolocationPlugin.swift +284 -0
  1554. package/vendor/@akanjs/native/plugins/geolocation/native-plugin.json +23 -0
  1555. package/vendor/@akanjs/native/plugins/geolocation/src/index.ts +155 -0
  1556. package/vendor/@akanjs/native/plugins/geolocation/src/web.ts +132 -0
  1557. package/vendor/@akanjs/native/plugins/global-shortcut/native-plugin.json +10 -0
  1558. package/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.ts +36 -0
  1559. package/vendor/@akanjs/native/plugins/global-shortcut/src/index.ts +55 -0
  1560. package/vendor/@akanjs/native/plugins/haptics/android/HapticsPlugin.kt +127 -0
  1561. package/vendor/@akanjs/native/plugins/haptics/ios/HapticsPlugin.swift +127 -0
  1562. package/vendor/@akanjs/native/plugins/haptics/native-plugin.json +19 -0
  1563. package/vendor/@akanjs/native/plugins/haptics/src/index.ts +34 -0
  1564. package/vendor/@akanjs/native/plugins/haptics/src/web.ts +53 -0
  1565. package/vendor/@akanjs/native/plugins/http/android/HttpPlugin.kt +234 -0
  1566. package/vendor/@akanjs/native/plugins/http/android/HttpUrl.kt +182 -0
  1567. package/vendor/@akanjs/native/plugins/http/ios/HttpPlugin.swift +228 -0
  1568. package/vendor/@akanjs/native/plugins/http/ios/HttpUrl.swift +166 -0
  1569. package/vendor/@akanjs/native/plugins/http/native-plugin.json +27 -0
  1570. package/vendor/@akanjs/native/plugins/http/src/common.ts +294 -0
  1571. package/vendor/@akanjs/native/plugins/http/src/desktop.ts +69 -0
  1572. package/vendor/@akanjs/native/plugins/http/src/index.ts +181 -0
  1573. package/vendor/@akanjs/native/plugins/http/src/web.ts +40 -0
  1574. package/vendor/@akanjs/native/plugins/iap/android/IapPlugin.kt +358 -0
  1575. package/vendor/@akanjs/native/plugins/iap/ios/IapPlugin.swift +306 -0
  1576. package/vendor/@akanjs/native/plugins/iap/native-plugin.json +28 -0
  1577. package/vendor/@akanjs/native/plugins/iap/src/index.ts +206 -0
  1578. package/vendor/@akanjs/native/plugins/keep-awake/android/KeepAwakePlugin.kt +48 -0
  1579. package/vendor/@akanjs/native/plugins/keep-awake/ios/KeepAwakePlugin.swift +36 -0
  1580. package/vendor/@akanjs/native/plugins/keep-awake/native-plugin.json +17 -0
  1581. package/vendor/@akanjs/native/plugins/keep-awake/src/desktop.ts +127 -0
  1582. package/vendor/@akanjs/native/plugins/keep-awake/src/index.ts +79 -0
  1583. package/vendor/@akanjs/native/plugins/keep-awake/src/web.ts +78 -0
  1584. package/vendor/@akanjs/native/plugins/keyboard/android/KeyboardPlugin.kt +77 -0
  1585. package/vendor/@akanjs/native/plugins/keyboard/ios/KeyboardPlugin.swift +93 -0
  1586. package/vendor/@akanjs/native/plugins/keyboard/native-plugin.json +18 -0
  1587. package/vendor/@akanjs/native/plugins/keyboard/src/index.ts +78 -0
  1588. package/vendor/@akanjs/native/plugins/keyboard/src/web.ts +57 -0
  1589. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationReceiver.kt +38 -0
  1590. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotifications.kt +284 -0
  1591. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationsPlugin.kt +248 -0
  1592. package/vendor/@akanjs/native/plugins/local-notifications/ios/LocalNotificationsPlugin.swift +279 -0
  1593. package/vendor/@akanjs/native/plugins/local-notifications/native-plugin.json +35 -0
  1594. package/vendor/@akanjs/native/plugins/local-notifications/src/desktop.ts +196 -0
  1595. package/vendor/@akanjs/native/plugins/local-notifications/src/index.ts +174 -0
  1596. package/vendor/@akanjs/native/plugins/local-notifications/src/schedule.ts +164 -0
  1597. package/vendor/@akanjs/native/plugins/local-notifications/src/timers.ts +72 -0
  1598. package/vendor/@akanjs/native/plugins/local-notifications/src/web.ts +158 -0
  1599. package/vendor/@akanjs/native/plugins/menu/native-plugin.json +10 -0
  1600. package/vendor/@akanjs/native/plugins/menu/src/desktop.ts +52 -0
  1601. package/vendor/@akanjs/native/plugins/menu/src/index.ts +107 -0
  1602. package/vendor/@akanjs/native/plugins/network/android/NetworkPlugin.kt +124 -0
  1603. package/vendor/@akanjs/native/plugins/network/ios/NetworkPlugin.swift +82 -0
  1604. package/vendor/@akanjs/native/plugins/network/native-plugin.json +19 -0
  1605. package/vendor/@akanjs/native/plugins/network/src/index.ts +59 -0
  1606. package/vendor/@akanjs/native/plugins/network/src/web.ts +43 -0
  1607. package/vendor/@akanjs/native/plugins/opener/android/OpenerPlugin.kt +81 -0
  1608. package/vendor/@akanjs/native/plugins/opener/ios/OpenerPlugin.swift +83 -0
  1609. package/vendor/@akanjs/native/plugins/opener/native-plugin.json +25 -0
  1610. package/vendor/@akanjs/native/plugins/opener/src/desktop.ts +88 -0
  1611. package/vendor/@akanjs/native/plugins/opener/src/index.ts +35 -0
  1612. package/vendor/@akanjs/native/plugins/opener/src/url.ts +39 -0
  1613. package/vendor/@akanjs/native/plugins/opener/src/web.ts +33 -0
  1614. package/vendor/@akanjs/native/plugins/preferences/android/PreferencesPlugin.kt +44 -0
  1615. package/vendor/@akanjs/native/plugins/preferences/ios/PreferencesPlugin.swift +47 -0
  1616. package/vendor/@akanjs/native/plugins/preferences/native-plugin.json +18 -0
  1617. package/vendor/@akanjs/native/plugins/preferences/src/desktop.ts +59 -0
  1618. package/vendor/@akanjs/native/plugins/preferences/src/index.ts +75 -0
  1619. package/vendor/@akanjs/native/plugins/preferences/src/web.ts +55 -0
  1620. package/vendor/@akanjs/native/plugins/push/android/AkanNativeMessagingService.kt +17 -0
  1621. package/vendor/@akanjs/native/plugins/push/android/PushPlugin.kt +257 -0
  1622. package/vendor/@akanjs/native/plugins/push/ios/PushPlugin.swift +169 -0
  1623. package/vendor/@akanjs/native/plugins/push/native-plugin.json +23 -0
  1624. package/vendor/@akanjs/native/plugins/push/src/index.ts +73 -0
  1625. package/vendor/@akanjs/native/plugins/screen/native-plugin.json +10 -0
  1626. package/vendor/@akanjs/native/plugins/screen/src/desktop.ts +50 -0
  1627. package/vendor/@akanjs/native/plugins/screen/src/index.ts +107 -0
  1628. package/vendor/@akanjs/native/plugins/screen/src/web.ts +92 -0
  1629. package/vendor/@akanjs/native/plugins/screen-orientation/android/ScreenOrientationPlugin.kt +113 -0
  1630. package/vendor/@akanjs/native/plugins/screen-orientation/ios/ScreenOrientationPlugin.swift +150 -0
  1631. package/vendor/@akanjs/native/plugins/screen-orientation/native-plugin.json +17 -0
  1632. package/vendor/@akanjs/native/plugins/screen-orientation/src/index.ts +69 -0
  1633. package/vendor/@akanjs/native/plugins/screen-orientation/src/types.ts +26 -0
  1634. package/vendor/@akanjs/native/plugins/screen-orientation/src/web.ts +67 -0
  1635. package/vendor/@akanjs/native/plugins/secure-storage/android/SecureStoragePlugin.kt +184 -0
  1636. package/vendor/@akanjs/native/plugins/secure-storage/ios/SecureStoragePlugin.swift +145 -0
  1637. package/vendor/@akanjs/native/plugins/secure-storage/native-plugin.json +18 -0
  1638. package/vendor/@akanjs/native/plugins/secure-storage/src/desktop.ts +332 -0
  1639. package/vendor/@akanjs/native/plugins/secure-storage/src/index.ts +33 -0
  1640. package/vendor/@akanjs/native/plugins/share/android/SharePlugin.kt +218 -0
  1641. package/vendor/@akanjs/native/plugins/share/ios/SharePlugin.swift +142 -0
  1642. package/vendor/@akanjs/native/plugins/share/native-plugin.json +18 -0
  1643. package/vendor/@akanjs/native/plugins/share/src/index.ts +87 -0
  1644. package/vendor/@akanjs/native/plugins/share/src/options.ts +43 -0
  1645. package/vendor/@akanjs/native/plugins/share/src/web.ts +116 -0
  1646. package/vendor/@akanjs/native/plugins/single-instance/native-plugin.json +10 -0
  1647. package/vendor/@akanjs/native/plugins/single-instance/src/desktop.ts +63 -0
  1648. package/vendor/@akanjs/native/plugins/single-instance/src/index.ts +32 -0
  1649. package/vendor/@akanjs/native/plugins/single-instance/src/socket.ts +248 -0
  1650. package/vendor/@akanjs/native/plugins/splash-screen/android/SplashScreenPlugin.kt +19 -0
  1651. package/vendor/@akanjs/native/plugins/splash-screen/ios/SplashScreenPlugin.swift +20 -0
  1652. package/vendor/@akanjs/native/plugins/splash-screen/native-plugin.json +17 -0
  1653. package/vendor/@akanjs/native/plugins/splash-screen/src/index.ts +24 -0
  1654. package/vendor/@akanjs/native/plugins/splash-screen/src/web.ts +17 -0
  1655. package/vendor/@akanjs/native/plugins/sqlite/android/SqlStatements.kt +121 -0
  1656. package/vendor/@akanjs/native/plugins/sqlite/android/SqlitePlugin.kt +327 -0
  1657. package/vendor/@akanjs/native/plugins/sqlite/ios/SqlitePlugin.swift +361 -0
  1658. package/vendor/@akanjs/native/plugins/sqlite/native-plugin.json +18 -0
  1659. package/vendor/@akanjs/native/plugins/sqlite/src/common.ts +221 -0
  1660. package/vendor/@akanjs/native/plugins/sqlite/src/desktop.ts +140 -0
  1661. package/vendor/@akanjs/native/plugins/sqlite/src/index.ts +114 -0
  1662. package/vendor/@akanjs/native/plugins/toast/android/ToastPlugin.kt +27 -0
  1663. package/vendor/@akanjs/native/plugins/toast/native-plugin.json +14 -0
  1664. package/vendor/@akanjs/native/plugins/toast/src/index.ts +41 -0
  1665. package/vendor/@akanjs/native/plugins/toast/src/queue.ts +77 -0
  1666. package/vendor/@akanjs/native/plugins/toast/src/web.ts +130 -0
  1667. package/vendor/@akanjs/native/plugins/tray/native-plugin.json +10 -0
  1668. package/vendor/@akanjs/native/plugins/tray/src/desktop.ts +73 -0
  1669. package/vendor/@akanjs/native/plugins/tray/src/index.ts +111 -0
  1670. package/vendor/@akanjs/native/plugins/updates/android/UpdatesPlugin.kt +290 -0
  1671. package/vendor/@akanjs/native/plugins/updates/ios/UpdatesPlugin.swift +292 -0
  1672. package/vendor/@akanjs/native/plugins/updates/native-plugin.json +19 -0
  1673. package/vendor/@akanjs/native/plugins/updates/src/desktop.ts +558 -0
  1674. package/vendor/@akanjs/native/plugins/updates/src/index.ts +95 -0
  1675. package/vendor/@akanjs/native/plugins/window/native-plugin.json +32 -0
  1676. package/vendor/@akanjs/native/plugins/window/src/desktop.ts +170 -0
  1677. package/vendor/@akanjs/native/plugins/window/src/index.ts +342 -0
  1678. package/vendor/@akanjs/native/plugins/window/src/web.ts +43 -0
  1679. package/vendor/@akanjs/native/plugins/window-state/native-plugin.json +10 -0
  1680. package/vendor/@akanjs/native/plugins/window-state/src/desktop.ts +73 -0
  1681. package/vendor/@akanjs/native/plugins/window-state/src/index.ts +35 -0
  1682. package/vendor/@akanjs/native/plugins/window-state/src/state.ts +146 -0
  1683. package/vendor/use-agentic/AgentProgress.ts +13 -1
  1684. package/vendor/use-agentic/AgentSession.ts +313 -29
  1685. package/vendor/use-agentic/AgenticSurface.ts +2 -0
  1686. package/vendor/use-agentic/Compaction.ts +91 -9
  1687. package/vendor/use-agentic/Reference.ts +99 -0
  1688. package/vendor/use-agentic/ToolRunner.ts +77 -2
  1689. package/vendor/use-agentic/Transcript.ts +15 -4
  1690. package/vendor/use-agentic/WIRE.md +16 -2
  1691. package/vendor/use-agentic/httpRunner.ts +19 -4
  1692. package/vendor/use-agentic/index.ts +1 -1
  1693. package/vendor/use-agentic/types.ts +121 -10
  1694. package/webkit/RenderLayer.tsx +45 -0
  1695. package/webkit/bootCsr.tsx +30 -71
  1696. package/webkit/index.ts +1 -4
  1697. package/webkit/lazy.tsx +3 -13
  1698. package/webkit/nativeNavigation.ts +116 -0
  1699. package/webkit/nativePurchase.ts +93 -0
  1700. package/webkit/seoPages.ts +20 -0
  1701. package/webkit/useBodyScrollLock.tsx +0 -6
  1702. package/webkit/useCamera.tsx +76 -89
  1703. package/webkit/useCsrValues.ts +213 -552
  1704. package/webkit/useDebounce.ts +0 -3
  1705. package/webkit/useEscapeKey.tsx +1 -12
  1706. package/webkit/useFetch.ts +7 -13
  1707. package/webkit/useFrameRuntime.ts +5 -43
  1708. package/webkit/useGeoLocation.tsx +12 -14
  1709. package/webkit/useLocation.ts +5 -8
  1710. package/webkit/usePageTool.tsx +2 -9
  1711. package/webkit/usePurchase.tsx +69 -140
  1712. package/webkit/useScreenScope.tsx +2 -13
  1713. package/capacitor.base.config.ts +0 -141
  1714. package/client/capacitor.ts +0 -297
  1715. package/client/fetch.ts +0 -1
  1716. package/client/frameDebug.ts +0 -29
  1717. package/common/deepObjectify.ts +0 -42
  1718. package/common/dynamicRecord.ts +0 -12
  1719. package/common/formatPhone.ts +0 -7
  1720. package/common/getAllPropertyDescriptors.ts +0 -13
  1721. package/common/isPhoneNumber.ts +0 -8
  1722. package/common/lowerlize.ts +0 -4
  1723. package/common/mergeVersion.ts +0 -10
  1724. package/common/pathGet.ts +0 -13
  1725. package/common/pathGetLoose.ts +0 -31
  1726. package/common/pathSet.ts +0 -28
  1727. package/common/plainFieldsOf.ts +0 -13
  1728. package/common/randomPicks.ts +0 -12
  1729. package/common/splitVersion.ts +0 -11
  1730. package/common/websocketAuth.ts +0 -24
  1731. package/common/websocketBinaryFrame.ts +0 -46
  1732. package/constant/deserialize.ts +0 -98
  1733. package/dictionary/agentTurn.dictionary.ts +0 -33
  1734. package/document/schema.ts +0 -24
  1735. package/fetch/fetchType/clientSignal.type.ts +0 -22
  1736. package/local/apps/akan/akan-local.db +0 -0
  1737. package/local/apps/akan/akan-local.db-shm +0 -0
  1738. package/local/apps/akan/akan-local.db-wal +0 -0
  1739. package/local/apps/akan/akan-local_solid.db +0 -0
  1740. package/local/apps/akan/akan-local_solid.db-shm +0 -0
  1741. package/local/apps/akan/akan-local_solid.db-wal +0 -0
  1742. package/local/apps/serverLifecycle/serverLifecycle-local.db +0 -0
  1743. package/local/apps/serverLifecycle/serverLifecycle-local.db-shm +0 -0
  1744. package/local/apps/serverLifecycle/serverLifecycle-local.db-wal +0 -0
  1745. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db +0 -0
  1746. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-shm +0 -0
  1747. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-wal +0 -0
  1748. package/server/artifact/manifestTypes.ts +0 -19
  1749. package/server/assetEncoding.ts +0 -27
  1750. package/server/consoleEvaluator.ts +0 -51
  1751. package/server/di/index.ts +0 -4
  1752. package/server/di/resolveAdaptorHierarchy.ts +0 -91
  1753. package/server/di/resolveServiceHierarchy.ts +0 -47
  1754. package/server/hmr/changeBatch.ts +0 -14
  1755. package/server/hmr/index.ts +0 -4
  1756. package/server/metadata.tsx +0 -198
  1757. package/server/proxy/akanResponse.ts +0 -16
  1758. package/server/proxy/bunRequestFields.ts +0 -12
  1759. package/server/routing/eventStream.ts +0 -93
  1760. package/server/rscPartialCommit.ts +0 -3
  1761. package/server/rscPatchSafety.ts +0 -57
  1762. package/server/rscWorkerReplay.ts +0 -49
  1763. package/server/subRouteIndexDocument.tsx +0 -61
  1764. package/service/predefinedAdaptor/deepseekLlm.ts +0 -82
  1765. package/service/predefinedAdaptor/sqlDescriptor.ts +0 -25
  1766. package/store/agent/storeSurface.ts +0 -28
  1767. package/store/agent/types.ts +0 -16
  1768. package/store/agentic/useFileFieldTool.ts +0 -221
  1769. package/store/stateInfo.ts +0 -66
  1770. package/test/playwright.config.base.ts +0 -48
  1771. package/test/playwright.pageAgent.ts +0 -41
  1772. package/test/sample.ts +0 -19
  1773. package/types/capacitor.base.config.d.ts +0 -3
  1774. package/types/client/capacitor.d.ts +0 -290
  1775. package/types/client/fetch.d.ts +0 -1
  1776. package/types/client/frameDebug.d.ts +0 -3
  1777. package/types/common/deepObjectify.d.ts +0 -6
  1778. package/types/common/dynamicRecord.d.ts +0 -14
  1779. package/types/common/formatPhone.d.ts +0 -2
  1780. package/types/common/getAllPropertyDescriptors.d.ts +0 -5
  1781. package/types/common/isPhoneNumber.d.ts +0 -2
  1782. package/types/common/lowerlize.d.ts +0 -2
  1783. package/types/common/mergeVersion.d.ts +0 -10
  1784. package/types/common/pathGet.d.ts +0 -1
  1785. package/types/common/pathGetLoose.d.ts +0 -8
  1786. package/types/common/pathSet.d.ts +0 -3
  1787. package/types/common/plainFieldsOf.d.ts +0 -6
  1788. package/types/common/randomPicks.d.ts +0 -1
  1789. package/types/common/splitVersion.d.ts +0 -11
  1790. package/types/common/websocketAuth.d.ts +0 -19
  1791. package/types/common/websocketBinaryFrame.d.ts +0 -17
  1792. package/types/constant/deserialize.d.ts +0 -10
  1793. package/types/dictionary/agentTurn.dictionary.d.ts +0 -1
  1794. package/types/document/schema.d.ts +0 -5
  1795. package/types/fetch/fetchType/clientSignal.type.d.ts +0 -16
  1796. package/types/server/artifact/manifestTypes.d.ts +0 -16
  1797. package/types/server/assetEncoding.d.ts +0 -7
  1798. package/types/server/consoleEvaluator.d.ts +0 -2
  1799. package/types/server/di/index.d.ts +0 -4
  1800. package/types/server/di/resolveAdaptorHierarchy.d.ts +0 -21
  1801. package/types/server/di/resolveServiceHierarchy.d.ts +0 -13
  1802. package/types/server/di.d.ts +0 -1
  1803. package/types/server/hmr/changeBatch.d.ts +0 -13
  1804. package/types/server/hmr/index.d.ts +0 -4
  1805. package/types/server/hmr.d.ts +0 -1
  1806. package/types/server/metadata.d.ts +0 -22
  1807. package/types/server/proxy/akanResponse.d.ts +0 -7
  1808. package/types/server/proxy/bunRequestFields.d.ts +0 -1
  1809. package/types/server/routing/eventStream.d.ts +0 -23
  1810. package/types/server/rscPartialCommit.d.ts +0 -1
  1811. package/types/server/rscPatchSafety.d.ts +0 -8
  1812. package/types/server/rscWorkerReplay.d.ts +0 -32
  1813. package/types/server/subRouteIndexDocument.d.ts +0 -8
  1814. package/types/service/predefinedAdaptor/deepseekLlm.d.ts +0 -19
  1815. package/types/service/predefinedAdaptor/sqlDescriptor.d.ts +0 -5
  1816. package/types/store/agent/storeSurface.d.ts +0 -14
  1817. package/types/store/agent/types.d.ts +0 -15
  1818. package/types/store/agentic/useFileFieldTool.d.ts +0 -41
  1819. package/types/store/stateInfo.d.ts +0 -23
  1820. package/types/test/playwright.config.base.d.ts +0 -9
  1821. package/types/test/playwright.pageAgent.d.ts +0 -12
  1822. package/types/test/sample.d.ts +0 -15
  1823. package/types/ui/Agent/Context.d.ts +0 -13
  1824. package/types/ui/Agent/Mic.d.ts +0 -8
  1825. package/types/ui/Agent/Section.d.ts +0 -10
  1826. package/types/ui/Agent/StateKey.d.ts +0 -16
  1827. package/types/ui/Agent/Tool.d.ts +0 -15
  1828. package/types/ui/Agent/Transcript.d.ts +0 -13
  1829. package/types/ui/Agent/markdownBlocks.d.ts +0 -35
  1830. package/types/ui/Agent/markdownSpans.d.ts +0 -2
  1831. package/types/ui/Agent/markdownTable.d.ts +0 -16
  1832. package/types/ui/Agent/sessionHistory.d.ts +0 -14
  1833. package/types/ui/Agent/sessionView.d.ts +0 -15
  1834. package/types/ui/Dialog/Action.d.ts +0 -5
  1835. package/types/ui/Dialog/Close.d.ts +0 -6
  1836. package/types/ui/Dialog/Content.d.ts +0 -6
  1837. package/types/ui/Dialog/Title.d.ts +0 -5
  1838. package/types/ui/Dialog/Trigger.d.ts +0 -6
  1839. package/types/ui/Dialog/context.d.ts +0 -18
  1840. package/types/ui/Layout/LeftSider.d.ts +0 -11
  1841. package/types/ui/Layout/RightSider.d.ts +0 -12
  1842. package/types/ui/Layout/Template.d.ts +0 -7
  1843. package/types/ui/Layout/TopLeftAction.d.ts +0 -6
  1844. package/types/ui/Layout/Unit.d.ts +0 -9
  1845. package/types/ui/Layout/View.d.ts +0 -8
  1846. package/types/ui/Layout/Zone.d.ts +0 -6
  1847. package/types/ui/Link/Back.d.ts +0 -7
  1848. package/types/ui/Link/Close.d.ts +0 -7
  1849. package/types/ui/Link/CsrLink.d.ts +0 -2
  1850. package/types/ui/Link/Lang.d.ts +0 -8
  1851. package/types/ui/Link/SsrLink.d.ts +0 -2
  1852. package/types/ui/Link/types.d.ts +0 -50
  1853. package/types/ui/Loading/Area.d.ts +0 -9
  1854. package/types/ui/Loading/Button.d.ts +0 -7
  1855. package/types/ui/Loading/Input.d.ts +0 -7
  1856. package/types/ui/Model/LoadInit.d.ts +0 -10
  1857. package/types/ui/Model/LoadView.d.ts +0 -10
  1858. package/types/ui/Reference/Collapse.d.ts +0 -11
  1859. package/types/ui/Reference/Summary.d.ts +0 -13
  1860. package/types/ui/Reference/Toolbar.d.ts +0 -21
  1861. package/types/ui/Reference/dictText.d.ts +0 -6
  1862. package/types/ui/Reference/style.d.ts +0 -20
  1863. package/types/ui/Signal/Message.d.ts +0 -23
  1864. package/types/ui/Signal/PubSub.d.ts +0 -24
  1865. package/types/ui/Signal/Request.d.ts +0 -8
  1866. package/types/ui/System/DevModeToggle.d.ts +0 -1
  1867. package/types/ui/System/Gtag.d.ts +0 -4
  1868. package/types/ui/System/frameCssVars.d.ts +0 -5
  1869. package/types/ui/Tab/Menu.d.ts +0 -12
  1870. package/types/ui/Tab/Menus.d.ts +0 -6
  1871. package/types/ui/Tab/Panel.d.ts +0 -8
  1872. package/types/ui/Tab/context.d.ts +0 -11
  1873. package/types/ui/UiOverride/Provider.d.ts +0 -15
  1874. package/types/ui/UiOverride/context.d.ts +0 -127
  1875. package/types/ui/UiOverride/createOverridable.d.ts +0 -9
  1876. package/types/ui/UiOverride/useUiOverride.d.ts +0 -7
  1877. package/types/ui/UiOverride/useUiRecipe.d.ts +0 -8
  1878. package/types/webkit/createRobotPage.d.ts +0 -15
  1879. package/types/webkit/createSitemapPage.d.ts +0 -4
  1880. package/types/webkit/useCodepush.d.ts +0 -16
  1881. package/types/webkit/useContact.d.ts +0 -11
  1882. package/ui/Agent/Context.tsx +0 -49
  1883. package/ui/Agent/Mic.tsx +0 -27
  1884. package/ui/Agent/Section.tsx +0 -24
  1885. package/ui/Agent/StateKey.tsx +0 -46
  1886. package/ui/Agent/Tool.tsx +0 -59
  1887. package/ui/Agent/Transcript.tsx +0 -33
  1888. package/ui/Agent/markdownBlocks.ts +0 -137
  1889. package/ui/Agent/markdownSpans.tsx +0 -49
  1890. package/ui/Agent/markdownTable.ts +0 -54
  1891. package/ui/Agent/sessionHistory.ts +0 -62
  1892. package/ui/Agent/sessionView.ts +0 -38
  1893. package/ui/Dialog/Action.tsx +0 -15
  1894. package/ui/Dialog/Close.tsx +0 -18
  1895. package/ui/Dialog/Content.tsx +0 -11
  1896. package/ui/Dialog/Title.tsx +0 -15
  1897. package/ui/Dialog/Trigger.tsx +0 -18
  1898. package/ui/Dialog/context.ts +0 -32
  1899. package/ui/Layout/LeftSider.tsx +0 -43
  1900. package/ui/Layout/RightSider.tsx +0 -47
  1901. package/ui/Layout/Template.tsx +0 -11
  1902. package/ui/Layout/TopLeftAction.tsx +0 -28
  1903. package/ui/Layout/Unit.tsx +0 -19
  1904. package/ui/Layout/View.tsx +0 -12
  1905. package/ui/Layout/Zone.tsx +0 -10
  1906. package/ui/Link/Back.tsx +0 -15
  1907. package/ui/Link/Close.tsx +0 -20
  1908. package/ui/Link/CsrLink.tsx +0 -46
  1909. package/ui/Link/Lang.tsx +0 -16
  1910. package/ui/Link/SsrLink.tsx +0 -72
  1911. package/ui/Link/types.ts +0 -55
  1912. package/ui/Loading/Area.tsx +0 -27
  1913. package/ui/Loading/Button.tsx +0 -15
  1914. package/ui/Loading/Input.tsx +0 -15
  1915. package/ui/Model/LoadInit.tsx +0 -11
  1916. package/ui/Model/LoadView.tsx +0 -11
  1917. package/ui/Reference/Collapse.tsx +0 -26
  1918. package/ui/Reference/Summary.tsx +0 -25
  1919. package/ui/Reference/Toolbar.tsx +0 -44
  1920. package/ui/Reference/dictText.ts +0 -9
  1921. package/ui/Reference/style.ts +0 -45
  1922. package/ui/Signal/Message.tsx +0 -215
  1923. package/ui/Signal/PubSub.tsx +0 -201
  1924. package/ui/Signal/Request.tsx +0 -11
  1925. package/ui/System/DevModeToggle.tsx +0 -19
  1926. package/ui/System/Gtag.tsx +0 -69
  1927. package/ui/System/frameCssVars.ts +0 -25
  1928. package/ui/Tab/Menu.tsx +0 -70
  1929. package/ui/Tab/Menus.tsx +0 -13
  1930. package/ui/Tab/Panel.tsx +0 -25
  1931. package/ui/Tab/context.ts +0 -20
  1932. package/ui/UiOverride/Provider.tsx +0 -26
  1933. package/ui/UiOverride/context.ts +0 -143
  1934. package/ui/UiOverride/createOverridable.tsx +0 -25
  1935. package/ui/UiOverride/useUiOverride.ts +0 -15
  1936. package/ui/UiOverride/useUiRecipe.ts +0 -15
  1937. package/webkit/createRobotPage.ts +0 -15
  1938. package/webkit/createSitemapPage.ts +0 -4
  1939. package/webkit/useCodepush.tsx +0 -99
  1940. package/webkit/useContact.tsx +0 -52
@@ -0,0 +1,1320 @@
1
+
2
+
3
+ import { createHash } from "node:crypto";
4
+ import {
5
+ cpSync,
6
+ existsSync,
7
+ mkdirSync,
8
+ mkdtempSync,
9
+ readdirSync,
10
+ readFileSync,
11
+ renameSync,
12
+ rmSync,
13
+ statSync,
14
+ writeFileSync,
15
+ } from "node:fs";
16
+ import { homedir, tmpdir } from "node:os";
17
+ import { basename, dirname, join, relative, resolve } from "node:path";
18
+ import { assembleApk, assembleBundleModule, fileEntry, writeZip } from "../lib/apk.ts";
19
+ import { closureFor, type Library, licenseNotices, loadMavenLock, mavenCache, prepareLibraries } from "../lib/maven.ts";
20
+ import {
21
+ androidSdkRoot,
22
+ type Jdk,
23
+ javaEnv,
24
+ type KotlinToolchain,
25
+ resolveBuildTools,
26
+ resolveBundletool,
27
+ resolveJdk,
28
+ resolveKotlin,
29
+ TOOLCHAIN,
30
+ } from "../lib/toolchains.ts";
31
+
32
+ /** The license notices of an Android build with pinned Maven libraries, in the web root. */
33
+ export const LICENSES_FILE = "akan-native-licenses.json";
34
+
35
+ import { apiVersionsFor, checkApiLevels, formatApiProblems, loadApiVersions } from "../lib/apilevel.ts";
36
+ import type { ParsedArgs } from "../lib/args.ts";
37
+ import { makeNativeBoot } from "../lib/boot.ts";
38
+ import { type ExecResult, exec, execOrThrow } from "../lib/exec.ts";
39
+ import { googleServicesXml } from "../lib/googleservices.ts";
40
+ import { writeAndroidRes } from "../lib/icons.ts";
41
+ import {
42
+ type Device,
43
+ envFromProcess,
44
+ follow,
45
+ type Launched,
46
+ type LaunchOptions,
47
+ pipeLines,
48
+ printLine,
49
+ } from "../lib/launch.ts";
50
+ import { CliError, dim, log, ToolchainError } from "../lib/log.ts";
51
+ import { mergeLibraryManifests } from "../lib/manifestmerge.ts";
52
+ import { androidNameProblems } from "../lib/names.ts";
53
+ import {
54
+ androidPermissions,
55
+ androidPlugins,
56
+ kotlinFeatures,
57
+ kotlinRegistry,
58
+ type NativePlugin,
59
+ pluginMinSdk,
60
+ writePluginBindings,
61
+ } from "../lib/native-plugins.ts";
62
+ import { androidFeaturesFor, androidPermissionsFor } from "../lib/permissions.ts";
63
+ import { type AndroidSigning, type BuildContext, SigningError } from "../lib/prepare.ts";
64
+ import type { AndroidManifest, ResolvedConfig } from "../lib/project.ts";
65
+ import { PACKAGE_ROOT } from "../lib/root.ts";
66
+ import { updatesResource } from "../lib/updates.ts";
67
+ import { kotlinVectorData } from "../lib/vectors.ts";
68
+
69
+ const SHELL_SRC = join(PACKAGE_ROOT, "native", "android", "src");
70
+ /** Android 10. Newer framework APIs live in ApiN classes behind SDK_INT checks (lib/apilevel.ts). */
71
+ export const MIN_SDK = 29;
72
+ /** Chromium major: akan-native's runtime (Object.hasOwn 93) and unlowered ES2022 class static blocks (94). */
73
+ export const MIN_WEBVIEW = 94;
74
+ const TARGET_SDK = TOOLCHAIN.android.compileSdk;
75
+ const ACTIVITY = "com.akanjs.runtime.AkanNativeActivity";
76
+
77
+ interface AndroidTools {
78
+ sdk: string;
79
+ androidJar: string;
80
+ aapt2: string;
81
+ d8: string;
82
+ d8Jar: string;
83
+ apksigner: string;
84
+ adb: string;
85
+ emulator: string;
86
+ }
87
+
88
+ let buildToolsWarned = false;
89
+
90
+ /** SDK tools, pinned build-tools first (CLI-10). No JDK or Kotlin needed: see javaToolchain(). */
91
+ export function androidTools(): AndroidTools {
92
+ const sdk = androidSdkRoot();
93
+ if (!sdk) throw new ToolchainError("Android SDK not found (set ANDROID_HOME). Run `akan-native doctor android`.");
94
+ const bt = resolveBuildTools(sdk);
95
+ if (!bt)
96
+ throw new ToolchainError(
97
+ `Android build-tools ${TOOLCHAIN.android.buildTools} not found. Run \`akan-native doctor android\`.`,
98
+ );
99
+ if (bt.warning && !buildToolsWarned) {
100
+ log.warn(bt.warning);
101
+ buildToolsWarned = true;
102
+ }
103
+ const androidJar = join(sdk, "platforms", `android-${TARGET_SDK}`, "android.jar");
104
+ if (!existsSync(androidJar))
105
+ throw new ToolchainError(`${androidJar} missing: sdkmanager "platforms;android-${TARGET_SDK}"`);
106
+ return {
107
+ sdk,
108
+ androidJar,
109
+ aapt2: join(bt.dir, "aapt2"),
110
+ d8: join(bt.dir, "d8"),
111
+ d8Jar: join(bt.dir, "lib", "d8.jar"),
112
+ apksigner: join(bt.dir, "apksigner"),
113
+ adb: join(sdk, "platform-tools", "adb"),
114
+ emulator: join(sdk, "emulator", "emulator"),
115
+ };
116
+ }
117
+
118
+ interface JavaToolchain {
119
+ jdk: Jdk;
120
+ kotlin: KotlinToolchain;
121
+ /** JAVA_HOME + PATH for kotlinc, d8, R8, apksigner and keytool: one JDK for every Java tool. */
122
+ env: Record<string, string>;
123
+ }
124
+
125
+ /** The JDK and the pinned kotlinc (installed on first use, CLI-10). */
126
+ async function javaToolchain(): Promise<JavaToolchain> {
127
+ const jdk = resolveJdk();
128
+ if (!jdk) {
129
+ throw new ToolchainError(
130
+ `no JDK ${TOOLCHAIN.jdk.minMajor}+ found (JAVA_HOME, Android Studio, java_home, PATH). ` +
131
+ "Install Android Studio, or run `akan-native toolchain install jdk`, or set JAVA_HOME.",
132
+ );
133
+ }
134
+ const env = javaEnv(jdk);
135
+ const kotlin = await resolveKotlin({ javaEnv: env });
136
+ if (kotlin.warning) log.warn(kotlin.warning);
137
+ log.info(dim(`kotlinc ${kotlin.version} (${kotlin.source}), JDK ${jdk.version} (${jdk.source})`));
138
+ return { jdk, kotlin, env };
139
+ }
140
+
141
+ function xml(text: string): string {
142
+ return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
143
+ }
144
+
145
+ const CONFIG_CHANGES =
146
+ "orientation|screenSize|screenLayout|smallestScreenSize|density|keyboard|keyboardHidden|navigation|uiMode|locale|layoutDirection|fontScale|fontWeightAdjustment|colorMode|touchscreen|mcc|mnc|grammaticalGender";
147
+
148
+ /**
149
+ * The applicationId: app.id, plus android.debugAppIdSuffix in debug builds so they install next to
150
+ * the release app (and match, say, a server's assetlinks entry for "<id>.debug").
151
+ */
152
+ export function androidAppId(ctx: BuildContext): string {
153
+ const { app, android } = ctx.project.config;
154
+ return app.id + (ctx.dev ? (android?.debugAppIdSuffix ?? "") : "");
155
+ }
156
+
157
+ export function androidManifest(
158
+ ctx: BuildContext,
159
+ permissions: string[],
160
+ applicationXml: string[],
161
+ manifestXml: string[] = [],
162
+ icon = false,
163
+ activityXml: string[] = [],
164
+ applicationAttrs: [string, string][] = [],
165
+ ): string {
166
+ const { config } = ctx.project;
167
+ const { app } = config;
168
+ const appId = androidAppId(ctx);
169
+ return `<?xml version="1.0" encoding="utf-8"?>
170
+ <!-- Generated by akan-native build. Do not edit. -->
171
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
172
+ package="${appId}"
173
+ android:versionCode="${app.build}"
174
+ android:versionName="${xml(app.version)}">
175
+
176
+ <uses-sdk android:minSdkVersion="${MIN_SDK}" android:targetSdkVersion="${TARGET_SDK}" />
177
+ <uses-permission android:name="android.permission.INTERNET" />
178
+ ${permissions.map((p) => ` <uses-permission android:name="${xml(p)}" />`).join("\n")}
179
+ ${manifestXml.map((x) => ` ${x.replaceAll("${applicationId}", appId)}`).join("\n")}
180
+
181
+ <application
182
+ android:name="com.akanjs.runtime.AkanNativeApplication"
183
+ android:label="${xml(app.name)}"
184
+ ${icon ? ` android:icon="@mipmap/ic_launcher"\n` : ""}${ctx.dev ? ` android:networkSecurityConfig="@xml/akan_native_network_security"\n` : ""} android:theme="@style/AkanNativeTheme"
185
+ android:allowBackup="false"
186
+ android:supportsRtl="true"
187
+ ${applicationAttrs.map(([n, v]) => ` ${n}="${xml(v)}"\n`).join("")} android:enableOnBackInvokedCallback="true">
188
+
189
+ <activity
190
+ android:name="${ACTIVITY}"
191
+ android:exported="true"
192
+ android:launchMode="singleTask"
193
+ android:windowSoftInputMode="adjustResize"
194
+ android:configChanges="${CONFIG_CHANGES}">
195
+ <intent-filter>
196
+ <action android:name="android.intent.action.MAIN" />
197
+ <category android:name="android.intent.category.LAUNCHER" />
198
+ </intent-filter>
199
+ ${config.deepLinks.schemes
200
+ .map(
201
+ (scheme) => ` <intent-filter>
202
+ <action android:name="android.intent.action.VIEW" />
203
+ <category android:name="android.intent.category.DEFAULT" />
204
+ <category android:name="android.intent.category.BROWSABLE" />
205
+ <data android:scheme="${xml(scheme)}" />
206
+ </intent-filter>`,
207
+ )
208
+ .join("\n")}
209
+ ${config.deepLinks.domains
210
+ .map(
211
+ ({
212
+ host,
213
+ pathPrefixes,
214
+ }) => ` <!-- App link (O5-2): verified against https://${xml(host)}/.well-known/assetlinks.json -->
215
+ <intent-filter android:autoVerify="true">
216
+ <action android:name="android.intent.action.VIEW" />
217
+ <category android:name="android.intent.category.DEFAULT" />
218
+ <category android:name="android.intent.category.BROWSABLE" />
219
+ <data android:scheme="https" />
220
+ <data android:host="${xml(host)}" />
221
+ ${pathPrefixes.map((prefix) => ` <data android:pathPrefix="${xml(prefix)}" />\n`).join("")} </intent-filter>`,
222
+ )
223
+ .join("\n")}
224
+ ${activityXml.map((x) => ` ${x.replaceAll("${applicationId}", appId)}`).join("\n")}
225
+ </activity>
226
+
227
+ <!-- Framework-only replacement for androidx FileProvider (camera EXTRA_OUTPUT, plugins.md C4) -->
228
+ <provider
229
+ android:name="com.akanjs.runtime.AkanNativeFileProvider"
230
+ android:authorities="${appId}.akan-native.files"
231
+ android:exported="false"
232
+ android:grantUriPermissions="true" />
233
+ ${applicationXml.map((x) => ` ${x.replaceAll("${applicationId}", appId)}`).join("\n")}
234
+ </application>
235
+ </manifest>
236
+ `;
237
+ }
238
+
239
+ const PROGUARD = `# Generated by akan-native build.
240
+ # The R8 command line does not read the manifest: keep its entry points explicitly.
241
+ -keep class com.akanjs.runtime.AkanNativeActivity { *; }
242
+ -keep class com.akanjs.runtime.AkanNativeApplication { *; }
243
+ -keep class com.akanjs.runtime.AkanNativeFileProvider { *; }
244
+ -keepattributes *Annotation*,SourceFile,LineNumberTable
245
+ -dontobfuscate
246
+ # kotlin-stdlib is compiled against the compile-only annotations-13.0.jar
247
+ -dontwarn org.jetbrains.annotations.**
248
+ `;
249
+
250
+ function sha(parts: (string | Uint8Array)[]): string {
251
+ const hash = createHash("sha256");
252
+ for (const part of parts) hash.update(part);
253
+ return hash.digest("hex");
254
+ }
255
+
256
+ /** Files of a folder tree with their content, for fingerprints. */
257
+ function treeParts(dir: string, prefix = ""): (string | Uint8Array)[] {
258
+ return readdirSync(dir)
259
+ .sort()
260
+ .flatMap((name) => {
261
+ const path = join(dir, name);
262
+ return statSync(path).isDirectory()
263
+ ? treeParts(path, `${prefix}${name}/`)
264
+ : [`${prefix}${name}`, readFileSync(path)];
265
+ });
266
+ }
267
+
268
+ function kotlinSources(dir: string): string[] {
269
+ return [...new Bun.Glob("**/*.kt").scanSync({ cwd: dir, absolute: true })].sort();
270
+ }
271
+
272
+ /** kotlin-stdlib dexed once per Kotlin version (dev builds put it in classes2.dex). */
273
+ async function stdlibDex(tools: AndroidTools, java: JavaToolchain): Promise<Uint8Array> {
274
+ const stdlib = java.kotlin.stdlib;
275
+ const key = sha([stdlib, String(statSync(stdlib).size), String(MIN_SDK)]).slice(0, 16);
276
+ const dir = join(homedir(), ".akan", "native", "cache", `kotlin-stdlib-dex-${key}`);
277
+ const dex = join(dir, "classes.dex");
278
+ if (!existsSync(dex)) {
279
+ log.step("dex: kotlin-stdlib (once per Kotlin version)");
280
+ mkdirSync(dir, { recursive: true });
281
+ await execOrThrow(
282
+ [tools.d8, "--debug", "--min-api", String(MIN_SDK), "--lib", tools.androidJar, "--output", dir, stdlib],
283
+ { env: java.env },
284
+ );
285
+ }
286
+ return new Uint8Array(readFileSync(dex));
287
+ }
288
+
289
+ async function debugKeystore(java: JavaToolchain): Promise<string> {
290
+ const path = join(homedir(), ".akan", "native", "debug.keystore");
291
+ if (!existsSync(path)) {
292
+ log.step("sign: creating ~/.akan/native/debug.keystore");
293
+ mkdirSync(join(homedir(), ".akan", "native"), { recursive: true });
294
+
295
+ await execOrThrow(
296
+ [
297
+ join(java.jdk.home, "bin", "keytool"),
298
+ "-genkeypair",
299
+ "-keystore",
300
+ path,
301
+ "-storepass",
302
+ "android",
303
+ "-keypass",
304
+ "android",
305
+ "-alias",
306
+ "androiddebugkey",
307
+ "-keyalg",
308
+ "RSA",
309
+ "-keysize",
310
+ "2048",
311
+ "-validity",
312
+ "10000",
313
+ "-dname",
314
+ "CN=Android Debug,O=Android,C=US",
315
+ "-noprompt",
316
+ ],
317
+ { echo: false, env: java.env },
318
+ );
319
+ }
320
+ return path;
321
+ }
322
+
323
+ export async function buildAndroid(ctx: BuildContext): Promise<string> {
324
+ const tools = androidTools();
325
+ const java = await javaToolchain();
326
+ const stdlib = java.kotlin.stdlib;
327
+ const { project, outDir } = ctx;
328
+ const { config } = project;
329
+ const release = !ctx.dev;
330
+ const plugins = androidPlugins(project.plugins);
331
+
332
+ const libraries = await mavenLibraries(plugins);
333
+ const libraryManifest = libraries.length
334
+ ? mergeLibraryManifests(
335
+ libraries
336
+ .filter((l) => l.manifest)
337
+ .map((l) => ({ from: l.coordinate, xml: readFileSync(l.manifest!, "utf8") })),
338
+ androidAppId(ctx),
339
+ )
340
+ : null;
341
+
342
+ const gen = join(outDir, "gen");
343
+ const obj = join(outDir, "obj");
344
+ const assets = join(outDir, "assets");
345
+
346
+ rmSync(join(gen, "kotlin"), { recursive: true, force: true });
347
+ mkdirSync(join(gen, "kotlin", "com", "akanjs", "generated"), { recursive: true });
348
+ mkdirSync(obj, { recursive: true });
349
+
350
+ const res = join(gen, "res");
351
+ rmSync(res, { recursive: true, force: true });
352
+ const { icon } = writeAndroidRes(res, config);
353
+ if (ctx.dev) {
354
+
355
+ mkdirSync(join(res, "xml"), { recursive: true });
356
+ writeFileSync(
357
+ join(res, "xml", "akan_native_network_security.xml"),
358
+ `<?xml version="1.0" encoding="utf-8"?>
359
+ <network-security-config>
360
+ <domain-config cleartextTrafficPermitted="true">
361
+ <domain includeSubdomains="false">localhost</domain>
362
+ <domain includeSubdomains="false">127.0.0.1</domain>
363
+ <domain includeSubdomains="false">10.0.2.2</domain>
364
+ </domain-config>
365
+ </network-security-config>
366
+ `,
367
+ );
368
+ }
369
+
370
+ if (config.android?.googleServices) {
371
+ mkdirSync(join(res, "values"), { recursive: true });
372
+ writeFileSync(
373
+ join(res, "values", "google_services.xml"),
374
+ googleServicesXml(
375
+ readFileSync(resolve(project.appDir, config.android.googleServices), "utf8"),
376
+ androidAppId(ctx),
377
+ config.app.id,
378
+ ),
379
+ );
380
+ } else if (plugins.some(({ plugin }) => plugin.manifest.id === "push")) {
381
+ log.warn(
382
+ "the push plugin needs android.googleServices (the Firebase project's google-services.json); register() fails without it",
383
+ );
384
+ }
385
+
386
+ const pushXml = plugins.some(({ plugin }) => plugin.manifest.id === "push")
387
+ ? pushResources(res, config, project.appDir)
388
+ : [];
389
+ if (!pushXml.length && config.push?.android && !plugins.some(({ plugin }) => plugin.manifest.id === "push"))
390
+ log.warn("push.android is set, but the push plugin is not in plugins");
391
+
392
+ for (const r of config.native?.resources ?? []) {
393
+ if (!r.to.startsWith("android/res/")) continue;
394
+ const target = join(res, r.to.slice("android/res/".length));
395
+ mkdirSync(dirname(target), { recursive: true });
396
+ cpSync(resolve(project.appDir, r.from), target);
397
+ }
398
+
399
+ const appNative = config.native?.android ?? {};
400
+ const applicationXml = [
401
+ ...plugins.flatMap(({ native }) => (native.applicationXml ? [native.applicationXml] : [])),
402
+ ...pushXml,
403
+ ...(appNative.application ?? []),
404
+ ];
405
+ const manifestXml = [
406
+ ...plugins.flatMap(({ native }) => (native.manifestXml ? [native.manifestXml] : [])),
407
+ ...androidFeaturesFor(config.permissions),
408
+ ...(appNative.manifest ?? []),
409
+ ];
410
+ const permissions = androidPermissions(plugins, androidPermissionsFor(config.permissions));
411
+
412
+ const allPermissions = [...new Set([...permissions, ...(libraryManifest?.permissions ?? [])])].filter(
413
+ (p) => p !== "android.permission.INTERNET",
414
+ );
415
+ writeFileSync(
416
+ join(gen, "AndroidManifest.xml"),
417
+ androidManifest(
418
+ ctx,
419
+ allPermissions,
420
+ [...applicationXml, ...(libraryManifest?.applicationXml ?? [])],
421
+ [...manifestXml, ...(libraryManifest?.manifestXml ?? [])],
422
+ icon,
423
+ appNative.activity ?? [],
424
+ libraryManifest?.applicationAttrs ?? [],
425
+ ),
426
+ );
427
+ writeFileSync(
428
+ join(gen, "kotlin", "com", "akanjs", "generated", "AkanNativeGeneratedPlugins.kt"),
429
+ kotlinRegistry(plugins, MIN_SDK, TOOLCHAIN.android.compileSdk),
430
+ );
431
+
432
+ mkdirSync(join(gen, "kotlin", "com", "akanjs", "runtime"), { recursive: true });
433
+ writeFileSync(join(gen, "kotlin", "com", "akanjs", "runtime", "AkanNativeVectorData.kt"), kotlinVectorData(ctx.dev));
434
+ writeFileSync(
435
+ join(gen, "kotlin", "com", "akanjs", "runtime", "AkanNativeFeatures.kt"),
436
+ kotlinFeatures({
437
+ dev: ctx.dev,
438
+ updates: config.updates !== null || plugins.some((p) => p.plugin.manifest.id === "updates"),
439
+ }),
440
+ );
441
+ const bindings = writePluginBindings(plugins, "android", join(gen, "spec"), project.appDir);
442
+ const clashes = androidNameProblems({
443
+ plugins: plugins.map((p) => ({
444
+ id: p.plugin.manifest.id,
445
+ className: p.native.class,
446
+ sources: p.sources.filter((s) => s.endsWith(".kt")),
447
+ })),
448
+ generated: bindings.filter((s) => s.endsWith(".kt")),
449
+ });
450
+ if (clashes.length) throw new CliError(`names clash in the Android app:\n - ${clashes.join("\n - ")}`);
451
+
452
+ const components = [...applicationXml.join("\n").matchAll(/android:name="([A-Za-z_][\w.$]*)"/g)]
453
+ .map((m) => m[1]!)
454
+ .filter((name) => name.includes(".") && !name.startsWith("android."));
455
+ const services = mergedServices(libraries);
456
+ const keep = [...new Set([...components, ...(libraryManifest?.components ?? [])])].map(
457
+ (name) => `-keep class ${name} { <init>(...); *; }`,
458
+ );
459
+
460
+ const serviceKeeps = [...services.values()].flat().map((impl) => `-keep class ${impl} { <init>(); }`);
461
+ const extra = plugins.flatMap(({ native }) => native.proguard ?? []);
462
+ writeFileSync(
463
+ join(gen, "proguard.pro"),
464
+ [PROGUARD, ...keep, ...serviceKeeps, ...extra, ...(libraries.length ? [MAVEN_PROGUARD] : []), ""].join("\n"),
465
+ );
466
+
467
+ rmSync(assets, { recursive: true, force: true });
468
+ cpSync(ctx.webDir, join(assets, "app"), { recursive: true });
469
+ writeFileSync(join(assets, "app", "index.html"), ctx.html);
470
+
471
+ if (libraries.length) {
472
+ if (existsSync(join(ctx.webDir, LICENSES_FILE)))
473
+ throw new CliError(
474
+ `${LICENSES_FILE} in web.dir is reserved: akan-native writes the Android build's license notices there`,
475
+ );
476
+ const notices = `${JSON.stringify(licenseNotices(libraries), null, 1)}\n`;
477
+ writeFileSync(join(assets, "app", LICENSES_FILE), notices);
478
+ writeFileSync(join(outDir, LICENSES_FILE), notices);
479
+ ctx.licenses = join(outDir, LICENSES_FILE);
480
+ }
481
+ for (const r of config.native?.resources ?? []) {
482
+ if (!r.to.startsWith("android/assets/")) continue;
483
+ const target = join(assets, r.to.slice("android/assets/".length));
484
+ mkdirSync(dirname(target), { recursive: true });
485
+ cpSync(resolve(project.appDir, r.from), target, { recursive: true });
486
+ }
487
+ mkdirSync(join(assets, "akan-native"), { recursive: true });
488
+ const boot = makeNativeBoot(ctx, "android");
489
+ writeFileSync(join(assets, "akan-native", "boot.json"), JSON.stringify(boot));
490
+ if (config.updates)
491
+ writeFileSync(
492
+ join(assets, "akan-native", "updates.json"),
493
+ updatesResource(config.updates, config.app, "android", boot.nativeApi, ctx.dev),
494
+ );
495
+ writeFileSync(join(assets, "akan-native", "env.runtime.json"), JSON.stringify(ctx.env, null, 2));
496
+ writeFileSync(
497
+ join(assets, "akan-native", "shell.json"),
498
+ JSON.stringify({
499
+ backgroundColor: config.shell.backgroundColor,
500
+ backgroundColorDark: config.shell.backgroundColorDark,
501
+ devtools: ctx.dev,
502
+ splash: { autoHide: config.splash.autoHide, timeout: config.splash.timeout },
503
+
504
+ externalSchemes: config.security?.shell?.externalSchemes ?? [],
505
+ minWebViewVersion: config.android?.minWebViewVersion ?? MIN_WEBVIEW,
506
+
507
+ keyboardResize: config.keyboard?.resize ?? "resize",
508
+
509
+ ...(ctx.dev && ctx.devServer ? { devServer: ctx.devServer } : {}),
510
+ ...(ctx.dev && ctx.startPath ? { startPath: ctx.startPath } : {}),
511
+ }),
512
+ );
513
+
514
+ const compiled = join(obj, "res.zip");
515
+ const resFingerprint = sha([tools.aapt2, ...treeParts(res)]);
516
+ const resStamp = join(obj, "res.sha256");
517
+ if (!existsSync(compiled) || !existsSync(resStamp) || readFileSync(resStamp, "utf8") !== resFingerprint) {
518
+ log.step("aapt2 compile: theme and icon");
519
+ rmSync(compiled, { force: true });
520
+ await execOrThrow([tools.aapt2, "compile", "--dir", res, "-o", compiled], { echo: false });
521
+ writeFileSync(resStamp, resFingerprint);
522
+ }
523
+ const overlays: string[] = [];
524
+ for (const lib of libraries) {
525
+ const flat = await compiledLibraryRes(tools.aapt2, lib);
526
+ if (flat) overlays.push("-R", flat);
527
+ }
528
+ const libraryPackages = [...new Set(libraries.filter((l) => l.hasResources && l.package).map((l) => l.package!))];
529
+ const linkArgs = [
530
+ "--manifest",
531
+ join(gen, "AndroidManifest.xml"),
532
+ "-I",
533
+ tools.androidJar,
534
+ compiled,
535
+ ...overlays,
536
+ ...(overlays.length ? ["--auto-add-overlay"] : []),
537
+ "--min-sdk-version",
538
+ String(MIN_SDK),
539
+ "--target-sdk-version",
540
+ String(TARGET_SDK),
541
+ "--version-code",
542
+ String(config.app.build),
543
+ "--version-name",
544
+ config.app.version,
545
+ ...(release ? [] : ["--debug-mode"]),
546
+ ];
547
+ const base = join(obj, "base.apk");
548
+ const rJava = join(obj, "r-java");
549
+ rmSync(rJava, { recursive: true, force: true });
550
+
551
+ const manifestKeeps = join(obj, "manifest-keep.pro");
552
+ await execOrThrow(
553
+ [
554
+ tools.aapt2,
555
+ "link",
556
+ "-o",
557
+ base,
558
+ ...linkArgs,
559
+ "--proguard",
560
+ manifestKeeps,
561
+ ...(libraryPackages.length ? ["--java", rJava, "--extra-packages", libraryPackages.join(":")] : []),
562
+ ],
563
+ { echo: false },
564
+ );
565
+ const rJar = libraryPackages.length
566
+ ? await compileRClasses(java, rJava, join(obj, "r-classes"), join(obj, "r.jar"))
567
+ : null;
568
+
569
+ const sources = [
570
+ ...kotlinSources(SHELL_SRC),
571
+ ...plugins.flatMap((p) => p.sources),
572
+ ...kotlinSources(join(gen, "kotlin")),
573
+ ...bindings,
574
+ ];
575
+ const libraryJars = libraries.map((l) => l.classes);
576
+ const fingerprint = sha([
577
+ release ? "release" : "debug",
578
+ java.kotlin.version,
579
+ java.kotlin.home,
580
+ java.jdk.home,
581
+ tools.androidJar,
582
+ ...libraryJars,
583
+
584
+ ...(release && rJar ? [readFileSync(rJar)] : []),
585
+ ...(release ? [readFileSync(manifestKeeps)] : []),
586
+ ...sources.flatMap((s) => [s, readFileSync(s)]),
587
+ ]);
588
+ const stamp = join(obj, "kotlin.sha256");
589
+ const classesDex = join(obj, "dex", "classes.dex");
590
+ if (!existsSync(stamp) || readFileSync(stamp, "utf8") !== fingerprint || !existsSync(classesDex)) {
591
+ log.step(`kotlinc: ${sources.length} files`);
592
+ rmSync(join(obj, "dex"), { recursive: true, force: true });
593
+ mkdirSync(join(obj, "dex"), { recursive: true });
594
+ const jar = join(obj, "classes.jar");
595
+ await execOrThrow(
596
+ [
597
+ java.kotlin.kotlinc,
598
+ ...sources,
599
+ "-d",
600
+ jar,
601
+ "-classpath",
602
+ [tools.androidJar, stdlib, ...libraryJars].join(":"),
603
+
604
+ "-jvm-target",
605
+ "17",
606
+ "-no-jdk",
607
+ "-no-stdlib",
608
+ "-no-reflect",
609
+ ...(release ? ["-Xno-param-assertions", "-Xno-call-assertions", "-Xno-receiver-assertions"] : []),
610
+ ],
611
+ { echo: false, env: java.env },
612
+ );
613
+ checkApis(jar, plugins, tools.androidJar);
614
+ if (release) {
615
+ log.step("dex: R8 (shrinks kotlin-stdlib)");
616
+ await execOrThrow(
617
+ [
618
+ java.jdk.java,
619
+ "-cp",
620
+ tools.d8Jar,
621
+ "com.android.tools.r8.R8",
622
+ "--release",
623
+ "--min-api",
624
+ String(MIN_SDK),
625
+ "--lib",
626
+ tools.androidJar,
627
+ "--pg-conf",
628
+ join(gen, "proguard.pro"),
629
+ "--pg-conf",
630
+ manifestKeeps,
631
+ "--pg-map-output",
632
+ join(obj, "mapping.txt"),
633
+
634
+ ...libraries.flatMap((l) => (l.proguard ? ["--pg-conf", l.proguard] : [])),
635
+ "--output",
636
+ join(obj, "dex"),
637
+ jar,
638
+ stdlib,
639
+ ...libraryJars,
640
+ ...(rJar ? [rJar] : []),
641
+ ],
642
+ { echo: false, env: java.env },
643
+ );
644
+ } else {
645
+ log.step("dex: d8 (app classes)");
646
+ await execOrThrow(
647
+ [
648
+ tools.d8,
649
+ "--debug",
650
+ "--min-api",
651
+ String(MIN_SDK),
652
+ "--lib",
653
+ tools.androidJar,
654
+ ...[stdlib, ...libraryJars].flatMap((cp) => ["--classpath", cp]),
655
+ "--output",
656
+ join(obj, "dex"),
657
+ jar,
658
+ ],
659
+ { echo: false, env: java.env },
660
+ );
661
+ }
662
+ writeFileSync(stamp, fingerprint);
663
+ } else {
664
+ log.info(dim("kotlin: unchanged, reusing dex"));
665
+ }
666
+
667
+ const dexFiles = readdirSync(join(obj, "dex"))
668
+ .filter((f) => /^classes\d*\.dex$/.test(f))
669
+ .sort((a, b) => dexIndex(a) - dexIndex(b));
670
+ const dex: Uint8Array[] = dexFiles.map((f) => new Uint8Array(readFileSync(join(obj, "dex", f))));
671
+ if (!release) {
672
+ dex.push(await stdlibDex(tools, java));
673
+
674
+ if (libraries.length) dex.push(...(await libraryDex(tools, java, libraryJars)));
675
+ if (rJar) dex.push(...(await dexFilesOf(tools, java, rJar, join(obj, "r-dex"))));
676
+ }
677
+
678
+ const packaged = [
679
+ ...[...services].map(([name, impls]) => ({
680
+ name: `META-INF/services/${name}`,
681
+ bytes: new TextEncoder().encode(`${impls.join("\n")}\n`),
682
+ })),
683
+ ...libraries.flatMap((l) =>
684
+ l.nativeLibs.map((n) => ({ name: `lib/${n.abi}/${n.name}`, bytes: new Uint8Array(readFileSync(n.path)) })),
685
+ ),
686
+ ];
687
+ const key = await signingKey(ctx, java);
688
+ const unsigned = join(obj, "unsigned.apk");
689
+ writeFileSync(
690
+ unsigned,
691
+ assembleApk({ base: new Uint8Array(readFileSync(base)), dex, assetsDir: assets, extra: packaged }),
692
+ );
693
+ const apk = join(outDir, `${basename(config.app.id)}${release ? "" : "-debug"}.apk`);
694
+ try {
695
+ await execOrThrow(
696
+ [
697
+ tools.apksigner,
698
+ "sign",
699
+ "--ks",
700
+ key.keystore,
701
+ "--ks-key-alias",
702
+ key.alias,
703
+ "--ks-pass",
704
+ "env:AKAN_NATIVE_KS_PASS",
705
+ "--key-pass",
706
+ "env:AKAN_NATIVE_KEY_PASS",
707
+ "--v1-signing-enabled",
708
+ "false",
709
+ "--out",
710
+ apk,
711
+ unsigned,
712
+ ],
713
+ { echo: false, env: { ...java.env, ...key.env } },
714
+ );
715
+ } catch (error) {
716
+ if (key.release)
717
+ throw new SigningError(
718
+ `signing with ${key.keystore} (alias ${key.alias}) failed: ${(error as Error).message.split("\n").slice(1).join(" ").trim()}`,
719
+ );
720
+ throw error;
721
+ }
722
+ log.info(
723
+ dim(
724
+ `size ${(statSync(apk).size / 1024).toFixed(0)} KiB${key.release ? `, signed with ${basename(key.keystore)} (${key.alias})` : ""}`,
725
+ ),
726
+ );
727
+ ctx.signedAs = key.release ? "distribution" : "debug";
728
+
729
+ if (ctx.android?.bundle) {
730
+ const proto = join(obj, "base-proto.zip");
731
+ await execOrThrow([tools.aapt2, "link", "--proto-format", "-o", proto, ...linkArgs], { echo: false });
732
+ const module = join(obj, "base-module.zip");
733
+ writeFileSync(
734
+ module,
735
+ assembleBundleModule({ base: new Uint8Array(readFileSync(proto)), dex, assetsDir: assets, extra: packaged }),
736
+ );
737
+ const aab = join(outDir, `${basename(config.app.id)}${release ? "" : "-debug"}.aab`);
738
+ log.step("bundle: bundletool build-bundle");
739
+ await execOrThrow(
740
+ [
741
+ java.jdk.java,
742
+ "-jar",
743
+ await resolveBundletool(),
744
+ "build-bundle",
745
+ `--modules=${module}`,
746
+ `--output=${aab}`,
747
+ "--overwrite",
748
+ ],
749
+ { echo: false, env: java.env },
750
+ );
751
+ try {
752
+ await execOrThrow(
753
+ [
754
+ join(java.jdk.home, "bin", "jarsigner"),
755
+ "-keystore",
756
+ key.keystore,
757
+ "-storepass:env",
758
+ "AKAN_NATIVE_KS_PASS",
759
+ "-keypass:env",
760
+ "AKAN_NATIVE_KEY_PASS",
761
+ aab,
762
+ key.alias,
763
+ ],
764
+ {
765
+ echo: false,
766
+ env: { ...java.env, ...key.env },
767
+ },
768
+ );
769
+ } catch (error) {
770
+ if (key.release)
771
+ throw new SigningError(
772
+ `signing the bundle with ${key.keystore} (alias ${key.alias}) failed: ${(error as Error).message.split("\n").slice(1).join(" ").trim()}`,
773
+ );
774
+ throw error;
775
+ }
776
+ log.info(dim(`bundle ${(statSync(aab).size / 1024).toFixed(0)} KiB: ${basename(aab)}`));
777
+ ctx.artifacts.push({ kind: "aab", path: aab });
778
+ }
779
+ return apk;
780
+ }
781
+
782
+ /** Rules for code the pinned libraries reference but do not ship (optional dependencies Gradle apps also leave out). */
783
+ const MAVEN_PROGUARD = `# Pinned Maven libraries (native/android/maven.lock.json): optional dependencies they never load here.
784
+ -dontwarn com.google.errorprone.annotations.**
785
+ -dontwarn javax.annotation.**
786
+ -dontwarn org.checkerframework.**
787
+ -dontwarn com.google.j2objc.annotations.**
788
+ -dontwarn org.codehaus.mojo.animal_sniffer.**`;
789
+
790
+ /** The closure the plugins' android.maven roots name, downloaded and unpacked; none without roots. */
791
+ async function mavenLibraries(plugins: NativePlugin<AndroidManifest>[]): Promise<Library[]> {
792
+ const roots = plugins.flatMap(({ native }) => native.maven ?? []);
793
+ if (!roots.length) return [];
794
+ const closure = closureFor(loadMavenLock(), roots)!;
795
+ const libraries = await prepareLibraries(closure.artifacts);
796
+ log.info(dim(`maven: ${closure.name} closure, ${libraries.length} pinned libraries`));
797
+ return libraries;
798
+ }
799
+
800
+ /** META-INF/services files of all libraries, one list of implementations per service. */
801
+ function mergedServices(libraries: Library[]): Map<string, string[]> {
802
+ const out = new Map<string, string[]>();
803
+ for (const lib of libraries) {
804
+ for (const service of lib.services) {
805
+ const impls = readFileSync(service.path, "utf8")
806
+ .split("\n")
807
+ .map((l) => l.replace(/#.*/, "").trim())
808
+ .filter(Boolean);
809
+ const list = out.get(service.name) ?? [];
810
+ for (const impl of impls) if (!list.includes(impl)) list.push(impl);
811
+ out.set(service.name, list);
812
+ }
813
+ }
814
+ return out;
815
+ }
816
+
817
+ /** An AAR's res/ compiled once per aapt2 (flat files for `aapt2 link -R`). */
818
+ async function compiledLibraryRes(aapt2: string, lib: Library): Promise<string | null> {
819
+ if (!lib.res) return null;
820
+ const out = join(mavenCache(), "compiled", `${sha([aapt2, lib.res]).slice(0, 32)}.zip`);
821
+ if (existsSync(out)) return out;
822
+ mkdirSync(dirname(out), { recursive: true });
823
+ const tmp = `${out}.${process.pid}.tmp`;
824
+ await execOrThrow([aapt2, "compile", "--dir", lib.res, "-o", tmp], { echo: false });
825
+ renameSync(tmp, out);
826
+ return out;
827
+ }
828
+
829
+ /** The R.java files aapt2 wrote, compiled with the JDK's javac and packed as a jar. */
830
+ async function compileRClasses(java: JavaToolchain, sources: string, classes: string, jar: string): Promise<string> {
831
+ const files = walkFiles(sources).filter((f) => f.endsWith(".java"));
832
+ rmSync(classes, { recursive: true, force: true });
833
+ mkdirSync(classes, { recursive: true });
834
+ await execOrThrow(
835
+ [join(java.jdk.home, "bin", "javac"), "-nowarn", "-encoding", "UTF-8", "--release", "17", "-d", classes, ...files],
836
+ { echo: false, env: java.env },
837
+ );
838
+ writeFileSync(
839
+ jar,
840
+ writeZip(
841
+ walkFiles(classes).map((f) =>
842
+ fileEntry(relative(classes, f).split("\\").join("/"), new Uint8Array(readFileSync(f)), false),
843
+ ),
844
+ ),
845
+ );
846
+ return jar;
847
+ }
848
+
849
+ function walkFiles(dir: string): string[] {
850
+ if (!existsSync(dir)) return [];
851
+ return readdirSync(dir).flatMap((name) => {
852
+ const path = join(dir, name);
853
+ return statSync(path).isDirectory() ? walkFiles(path) : [path];
854
+ });
855
+ }
856
+
857
+ /** Debug builds: the libraries' dex, made once per closure and cached like kotlin-stdlib's. */
858
+ async function libraryDex(tools: AndroidTools, java: JavaToolchain, jars: string[]): Promise<Uint8Array[]> {
859
+ const key = sha([tools.d8, String(MIN_SDK), java.kotlin.stdlib, ...jars]).slice(0, 16);
860
+ const dir = join(homedir(), ".akan", "native", "cache", `maven-dex-${key}`);
861
+ if (!existsSync(join(dir, "classes.dex"))) {
862
+ log.step(`dex: ${jars.length} pinned libraries (once per closure)`);
863
+ const tmp = `${dir}.${process.pid}.tmp`;
864
+ rmSync(tmp, { recursive: true, force: true });
865
+ mkdirSync(tmp, { recursive: true });
866
+ await execOrThrow(
867
+ [
868
+ tools.d8,
869
+ "--debug",
870
+ "--min-api",
871
+ String(MIN_SDK),
872
+ "--lib",
873
+ tools.androidJar,
874
+ "--classpath",
875
+ java.kotlin.stdlib,
876
+ "--output",
877
+ tmp,
878
+ ...jars,
879
+ ],
880
+ { echo: false, env: java.env },
881
+ );
882
+ rmSync(dir, { recursive: true, force: true });
883
+ renameSync(tmp, dir);
884
+ }
885
+ return dexIn(dir);
886
+ }
887
+
888
+ /** A jar dexed into `out` (the R classes of a debug build). */
889
+ async function dexFilesOf(tools: AndroidTools, java: JavaToolchain, jar: string, out: string): Promise<Uint8Array[]> {
890
+ rmSync(out, { recursive: true, force: true });
891
+ mkdirSync(out, { recursive: true });
892
+ await execOrThrow(
893
+ [tools.d8, "--debug", "--min-api", String(MIN_SDK), "--lib", tools.androidJar, "--output", out, jar],
894
+ { echo: false, env: java.env },
895
+ );
896
+ return dexIn(out);
897
+ }
898
+
899
+ function dexIn(dir: string): Uint8Array[] {
900
+ return readdirSync(dir)
901
+ .filter((f) => /^classes\d*\.dex$/.test(f))
902
+ .sort((a, b) => dexIndex(a) - dexIndex(b))
903
+ .map((f) => new Uint8Array(readFileSync(join(dir, f))));
904
+ }
905
+
906
+ const dexIndex = (name: string) => Number(/^classes(\d*)\.dex$/.exec(name)?.[1] || 1);
907
+
908
+ /**
909
+ * The key a build signs with, and the child env that carries its passwords (apksigner and jarsigner
910
+ * read env:NAME, so they appear on no command line). Release builds use the app's key from the
911
+ * build options or AKAN_NATIVE_ANDROID_KEYSTORE, AKAN_NATIVE_ANDROID_KEY_ALIAS, AKAN_NATIVE_ANDROID_KEYSTORE_PASSWORD and
912
+ * AKAN_NATIVE_ANDROID_KEY_PASSWORD; without one they fall back to ~/.akan/native/debug.keystore with a warning.
913
+ */
914
+ async function signingKey(
915
+ ctx: BuildContext,
916
+ java: JavaToolchain,
917
+ ): Promise<{ keystore: string; alias: string; env: Record<string, string>; release: boolean }> {
918
+
919
+ const configured = ctx.dev ? undefined : (ctx.android?.signing ?? (ctx.api ? undefined : signingFromEnv()));
920
+ if (configured) {
921
+ const keystore = resolve(ctx.project.appDir, configured.keystore);
922
+ if (!existsSync(keystore)) throw new SigningError(`keystore ${keystore} not found`);
923
+ if (!configured.alias || !configured.storePassword)
924
+ throw new SigningError("the release key needs an alias and a store password");
925
+ return {
926
+ keystore,
927
+ alias: configured.alias,
928
+ env: {
929
+ AKAN_NATIVE_KS_PASS: configured.storePassword,
930
+ AKAN_NATIVE_KEY_PASS: configured.keyPassword ?? configured.storePassword,
931
+ },
932
+ release: true,
933
+ };
934
+ }
935
+ if (!ctx.dev) {
936
+ log.warn(
937
+ ctx.api
938
+ ? "release build signed with ~/.akan/native/debug.keystore: fine for testing, not for Google Play (pass signing to release())"
939
+ : "release build signed with ~/.akan/native/debug.keystore: fine for testing, not for Google Play (set AKAN_NATIVE_ANDROID_KEYSTORE, AKAN_NATIVE_ANDROID_KEY_ALIAS and AKAN_NATIVE_ANDROID_KEYSTORE_PASSWORD)",
940
+ );
941
+ }
942
+ return {
943
+ keystore: await debugKeystore(java),
944
+ alias: "androiddebugkey",
945
+ env: { AKAN_NATIVE_KS_PASS: "android", AKAN_NATIVE_KEY_PASS: "android" },
946
+ release: false,
947
+ };
948
+ }
949
+
950
+ function signingFromEnv(env: Record<string, string | undefined> = process.env): AndroidSigning | undefined {
951
+ const keystore = env.AKAN_NATIVE_ANDROID_KEYSTORE;
952
+ if (!keystore) return undefined;
953
+ return {
954
+ keystore,
955
+ alias: env.AKAN_NATIVE_ANDROID_KEY_ALIAS ?? "",
956
+ storePassword: env.AKAN_NATIVE_ANDROID_KEYSTORE_PASSWORD ?? "",
957
+ keyPassword: env.AKAN_NATIVE_ANDROID_KEY_PASSWORD,
958
+ };
959
+ }
960
+
961
+ /**
962
+ * push.android (N13) → resources and <application> meta-data: Firebase's default channel, icon and
963
+ * color for the notifications it shows itself (the app not in front), and the channel's name and
964
+ * importance for the plugin, which creates the channel at startup so Firebase finds it later.
965
+ */
966
+ export function pushResources(res: string, config: Pick<ResolvedConfig, "push">, appDir: string): string[] {
967
+ const settings = config.push?.android;
968
+ if (!settings) return [];
969
+ const meta = (name: string, attr: "value" | "resource", value: string) =>
970
+ `<meta-data android:name="${name}" android:${attr}="${xml(value)}" />`;
971
+ const out: string[] = [];
972
+ if (settings.channel) {
973
+ const { id, name, importance = "default", description } = settings.channel;
974
+ out.push(meta("com.google.firebase.messaging.default_notification_channel_id", "value", id));
975
+ out.push(
976
+ meta("com.akanjs.push.channel_name", "value", name),
977
+ meta("com.akanjs.push.channel_importance", "value", importance),
978
+ );
979
+ if (description) out.push(meta("com.akanjs.push.channel_description", "value", description));
980
+ }
981
+ if (settings.smallIcon) {
982
+ mkdirSync(join(res, "drawable-xxxhdpi"), { recursive: true });
983
+ cpSync(resolve(appDir, settings.smallIcon), join(res, "drawable-xxxhdpi", "akan_native_push_icon.png"));
984
+ out.push(
985
+ meta("com.google.firebase.messaging.default_notification_icon", "resource", "@drawable/akan_native_push_icon"),
986
+ );
987
+ }
988
+ if (settings.color) {
989
+ mkdirSync(join(res, "values"), { recursive: true });
990
+ writeFileSync(
991
+ join(res, "values", "akan_native_push.xml"),
992
+ `<?xml version="1.0" encoding="utf-8"?>\n<resources>\n <color name="akan_native_push_color">${settings.color}</color>\n</resources>\n`,
993
+ );
994
+ out.push(
995
+ meta("com.google.firebase.messaging.default_notification_color", "resource", "@color/akan_native_push_color"),
996
+ );
997
+ }
998
+ return out;
999
+ }
1000
+
1001
+ /** A connected serial as a Device: an emulator's AVD name or the model, and the Android version. */
1002
+ async function describeSerial(adb: string, serial: string, state: Device["state"]): Promise<Device> {
1003
+ const emulator = serial.startsWith("emulator-");
1004
+ const online = state === "booted" || state === "connected";
1005
+ const run = async (args: string[]) =>
1006
+ online ? ((await exec([adb, "-s", serial, ...args], { echo: false })).stdout.split(/\r?\n/)[0]?.trim() ?? "") : "";
1007
+ const [avd, release, sdk, model] = await Promise.all([
1008
+ emulator ? run(["emu", "avd", "name"]) : "",
1009
+ run(["shell", "getprop", "ro.build.version.release"]),
1010
+ run(["shell", "getprop", "ro.build.version.sdk"]),
1011
+ run(["shell", "getprop", "ro.product.model"]),
1012
+ ]);
1013
+ return {
1014
+ platform: "android",
1015
+ id: serial,
1016
+ name: avd || model || serial,
1017
+ kind: emulator ? "emulator" : "device",
1018
+ os: sdk ? `Android ${release} (API ${sdk})` : "",
1019
+ state,
1020
+ };
1021
+ }
1022
+
1023
+ /** "API 37" from an AVD's ini (target=android-37.0), or "". */
1024
+ function avdApi(name: string): string {
1025
+ const ini = join(process.env.ANDROID_AVD_HOME ?? join(homedir(), ".android", "avd"), `${name}.ini`);
1026
+ const target = existsSync(ini) ? /^target=android-(\d+)/m.exec(readFileSync(ini, "utf8"))?.[1] : undefined;
1027
+ return target ? `API ${target}` : "";
1028
+ }
1029
+
1030
+ /** Connected devices and emulators, then AVDs that are not running (docs/api.md devices). */
1031
+ export async function androidDevices(): Promise<Device[]> {
1032
+ const tools = androidTools();
1033
+ const rows = (await exec([tools.adb, "devices"], { echo: false })).stdout
1034
+ .split("\n")
1035
+ .slice(1)
1036
+ .map((l) => l.trim().split(/\s+/))
1037
+ .filter((c) => c[0]);
1038
+ const running = await Promise.all(
1039
+ rows.map(([serial = "", state]) =>
1040
+ describeSerial(
1041
+ tools.adb,
1042
+ serial,
1043
+ state === "device"
1044
+ ? serial.startsWith("emulator-")
1045
+ ? "booted"
1046
+ : "connected"
1047
+ : state === "unauthorized"
1048
+ ? "unauthorized"
1049
+ : "offline",
1050
+ ),
1051
+ ),
1052
+ );
1053
+ const runningAvds = new Set(running.filter((d) => d.kind === "emulator").map((d) => d.name));
1054
+ const avds = (await exec([tools.emulator, "-list-avds"], { echo: false })).stdout
1055
+ .split("\n")
1056
+ .map((s) => s.trim())
1057
+ .filter((s) => s && !s.startsWith("INFO"));
1058
+ const stopped = avds
1059
+ .filter((name) => !runningAvds.has(name))
1060
+ .map(
1061
+ (name): Device => ({
1062
+ platform: "android",
1063
+ id: name,
1064
+ name,
1065
+ kind: "emulator",
1066
+ os: avdApi(name),
1067
+ state: "shutdown",
1068
+ }),
1069
+ );
1070
+ return [...running, ...stopped];
1071
+ }
1072
+
1073
+ async function onlineDevices(adb: string): Promise<string[]> {
1074
+ const out = (await exec([adb, "devices"], { echo: false })).stdout;
1075
+ return out
1076
+ .split("\n")
1077
+ .slice(1)
1078
+ .map((l) => l.trim().split(/\s+/))
1079
+ .filter((c) => c[1] === "device")
1080
+ .map((c) => c[0]!);
1081
+ }
1082
+
1083
+ /**
1084
+ * `akan-native test` starts emulators with -no-window, and run/dev reuse whatever is connected, so the app
1085
+ * can end up on an emulator nobody can see. Found by the AVD name (`adb emu avd name`) in the
1086
+ * emulator's command line; the window-less build is also a separate `qemu-system-*-headless` binary.
1087
+ */
1088
+ export async function warnIfWindowless(adb: string, serial: string): Promise<void> {
1089
+ if (!serial.startsWith("emulator-")) return;
1090
+ const avd = (await exec([adb, "-s", serial, "emu", "avd", "name"], { echo: false })).stdout.split(/\r?\n/)[0]?.trim();
1091
+ if (!avd) return;
1092
+ const ps = (await exec(["ps", "-axo", "command"], { echo: false })).stdout.split("\n");
1093
+ const line = ps.find(
1094
+ (l) => /qemu-system-\S+/.test(l) && l.split(/\s+/).some((arg, i, all) => arg === avd && all[i - 1] === "-avd"),
1095
+ );
1096
+ if (!line || !(line.includes(" -no-window") || /qemu-system-\S+-headless /.test(line))) return;
1097
+ log.warn(
1098
+ `${serial} (${avd}) is running without a window (started by \`akan-native test\` or --headless), so the app will not be visible.`,
1099
+ );
1100
+ log.info(dim(`To see it: ${adb} -s ${serial} emu kill, then run this again.`));
1101
+ }
1102
+
1103
+ /**
1104
+ * The device to use (O4-4): `wanted` is a connected device's serial (`adb devices`: a phone over USB
1105
+ * or Wi-Fi, a running emulator) or an AVD name; without it the first connected device, else the
1106
+ * first AVD is started.
1107
+ */
1108
+ async function ensureDevice(tools: AndroidTools, wanted: string | undefined, headless: boolean): Promise<string> {
1109
+ let devices = await onlineDevices(tools.adb);
1110
+ if (wanted && devices.includes(wanted)) devices = [wanted];
1111
+ else if (wanted) {
1112
+
1113
+ const running = [];
1114
+ for (const serial of devices.filter((s) => s.startsWith("emulator-"))) {
1115
+ const name = (await exec([tools.adb, "-s", serial, "emu", "avd", "name"], { echo: false })).stdout
1116
+ .split(/\r?\n/)[0]
1117
+ ?.trim();
1118
+ if (name === wanted) running.push(serial);
1119
+ }
1120
+ devices = running;
1121
+ }
1122
+ if (devices.length === 0) {
1123
+ const avds = (await exec([tools.emulator, "-list-avds"], { echo: false })).stdout
1124
+ .split("\n")
1125
+ .map((s) => s.trim())
1126
+ .filter(Boolean);
1127
+ if (wanted && !avds.includes(wanted))
1128
+ throw new CliError(
1129
+ `no connected Android device with serial ${wanted} and no AVD of that name (adb devices; emulator -list-avds: ${avds.join(", ") || "none"})`,
1130
+ );
1131
+ const avd = wanted ?? avds[0];
1132
+ if (!avd) throw new CliError("no Android device or AVD found. Create one in Android Studio (Device Manager).");
1133
+ log.step(`starting emulator ${avd}`);
1134
+ const emulatorArgs = [
1135
+ "-avd",
1136
+ avd,
1137
+ "-no-snapshot-save",
1138
+ "-no-boot-anim",
1139
+ ...(headless ? ["-no-window", "-no-audio"] : []),
1140
+ ];
1141
+ const before = new Set(
1142
+ await exec([tools.adb, "devices"], { echo: false }).then((r) =>
1143
+ [...r.stdout.matchAll(/^(emulator-\d+)\s/gm)].map((m) => m[1]!),
1144
+ ),
1145
+ );
1146
+ Bun.spawn([tools.emulator, ...emulatorArgs], { stdio: ["ignore", "ignore", "ignore"] }).unref();
1147
+
1148
+ const deadline = Date.now() + 180_000;
1149
+ for (;;) {
1150
+ const serials = [...(await exec([tools.adb, "devices"], { echo: false })).stdout.matchAll(/^(emulator-\d+)\s/gm)]
1151
+ .map((m) => m[1]!)
1152
+ .filter((s) => !before.has(s));
1153
+ let found: string | undefined;
1154
+ for (const serial of serials) {
1155
+ const name = (await exec([tools.adb, "-s", serial, "emu", "avd", "name"], { echo: false })).stdout
1156
+ .split(/\r?\n/)[0]
1157
+ ?.trim();
1158
+ if (name === avd) found = serial;
1159
+ }
1160
+ if (found) {
1161
+ await execOrThrow([tools.adb, "-s", found, "wait-for-device"], { echo: false });
1162
+ devices = [found];
1163
+ break;
1164
+ }
1165
+ if (Date.now() > deadline) throw new CliError(`the emulator ${avd} did not come up in adb devices`);
1166
+ await Bun.sleep(1000);
1167
+ }
1168
+ }
1169
+ const serial = devices[0]!;
1170
+ if (!headless) await warnIfWindowless(tools.adb, serial);
1171
+ const deadline = Date.now() + 180_000;
1172
+ while (
1173
+ (await exec([tools.adb, "-s", serial, "shell", "getprop", "sys.boot_completed"], { echo: false })).stdout.trim() !==
1174
+ "1"
1175
+ ) {
1176
+ if (Date.now() > deadline) throw new CliError(`${serial} did not finish booting`);
1177
+ await Bun.sleep(1000);
1178
+ }
1179
+ return serial;
1180
+ }
1181
+
1182
+ function shellQuote(text: string): string {
1183
+ return `'${text.replace(/'/g, `'\\''`)}'`;
1184
+ }
1185
+
1186
+ export async function launchAndroid(
1187
+ ctx: BuildContext,
1188
+ apk: string,
1189
+ opts: LaunchOptions & { avd?: string; device?: string; reverse?: number[] },
1190
+ ): Promise<Launched> {
1191
+ const tools = androidTools();
1192
+ const serial = await ensureDevice(tools, opts.device ?? opts.avd, opts.headless);
1193
+ const adb = [tools.adb, "-s", serial];
1194
+ const appId = androidAppId(ctx);
1195
+
1196
+ const reverse = opts.reverse ?? [];
1197
+ for (const port of reverse) await execOrThrow([...adb, "reverse", `tcp:${port}`, `tcp:${port}`], { echo: false });
1198
+ log.step(`install on ${serial}`);
1199
+ await execOrThrow([...adb, "install", "-r", apk], { echo: false });
1200
+ await exec([...adb, "logcat", "-c"], { echo: false });
1201
+
1202
+ const overrides: Record<string, string> = {};
1203
+ for (const [key, value] of Object.entries(opts.env)) overrides[key.replace(/^AKAN_NATIVE_/, "")] = value;
1204
+ const extra = Object.keys(overrides).length ? ` --es akanNativeEnv ${shellQuote(JSON.stringify(overrides))}` : "";
1205
+
1206
+ await execOrThrow([...adb, "shell", `am start -S -W -n ${appId}/${ACTIVITY}${extra}`], { echo: false });
1207
+ let pid = "";
1208
+ for (let i = 0; i < 20 && !pid; i++) {
1209
+ pid = (await exec([...adb, "shell", "pidof", appId], { echo: false })).stdout.trim();
1210
+ if (!pid) await Bun.sleep(250);
1211
+ }
1212
+
1213
+ const logcat = Bun.spawn(
1214
+ [
1215
+ ...adb,
1216
+ "logcat",
1217
+ "-v",
1218
+ "brief",
1219
+ ...(pid ? [`--pid=${pid}`] : []),
1220
+ "AkanNative:V",
1221
+ "AkanNativeConsole:V",
1222
+ "AndroidRuntime:E",
1223
+ "*:S",
1224
+ ],
1225
+ { stdin: "ignore", stdout: "pipe", stderr: "pipe" },
1226
+ );
1227
+ const onLine = opts.onLine ?? printLine;
1228
+ const logs = Promise.all([pipeLines(logcat.stdout, onLine), pipeLines(logcat.stderr, onLine)]);
1229
+ return {
1230
+ exited: logcat.exited.then(async (code) => {
1231
+ await logs;
1232
+ for (const port of reverse) await exec([...adb, "reverse", "--remove", `tcp:${port}`], { echo: false });
1233
+ return code;
1234
+ }),
1235
+ stop: () => logcat.kill("SIGTERM"),
1236
+ device: await describeSerial(tools.adb, serial, serial.startsWith("emulator-") ? "booted" : "connected"),
1237
+ };
1238
+ }
1239
+
1240
+ export async function runAndroid(ctx: BuildContext, apk: string, args: ParsedArgs): Promise<number> {
1241
+ const app = await launchAndroid(ctx, apk, {
1242
+ env: envFromProcess(),
1243
+ headless: args.flags.headless === true,
1244
+ avd: typeof args.flags.avd === "string" ? args.flags.avd : undefined,
1245
+ device: typeof args.flags.device === "string" ? args.flags.device : undefined,
1246
+ });
1247
+ log.ok(`running ${androidAppId(ctx)}, logs below. Ctrl+C to stop following.`);
1248
+ return follow(app);
1249
+ }
1250
+
1251
+ /** Fails the build when compiled code reaches a framework API above minSdk outside an ApiN class (lib/apilevel.ts). */
1252
+ function checkApis(jar: string, plugins: NativePlugin<AndroidManifest>[], androidJar: string): void {
1253
+ const xml = apiVersionsFor(androidJar);
1254
+ if (!xml) {
1255
+ log.warn(`no data/api-versions.xml next to ${androidJar}: API levels are not checked`);
1256
+ return;
1257
+ }
1258
+ const packageLevels = plugins.map(({ plugin, native }): [string, number] => [
1259
+ native.class.slice(0, native.class.lastIndexOf(".") + 1).replace(/\./g, "/"),
1260
+ pluginMinSdk(plugin.manifest.id, native, MIN_SDK, TOOLCHAIN.android.compileSdk),
1261
+ ]);
1262
+ const problems = checkApiLevels(new Uint8Array(readFileSync(jar)), loadApiVersions(xml), MIN_SDK, packageLevels);
1263
+ if (problems.length) throw new CliError(formatApiProblems(problems, MIN_SDK));
1264
+ }
1265
+
1266
+ /**
1267
+ * `akan-native plugin compile android`: compiles the shell, these plugins and their generated bindings
1268
+ * with a registry of just them, in a fresh temporary folder (so several checks can run at once).
1269
+ */
1270
+ export async function compileAndroidPlugins(
1271
+ plugins: NativePlugin<AndroidManifest>[],
1272
+ appDir: string,
1273
+ ): Promise<ExecResult> {
1274
+ const tools = androidTools();
1275
+ const java = await javaToolchain();
1276
+ const dir = mkdtempSync(join(tmpdir(), "akan-native-compile-android-"));
1277
+ try {
1278
+ const registry = join(dir, "kotlin", "com", "akanjs", "generated", "AkanNativeGeneratedPlugins.kt");
1279
+ mkdirSync(dirname(registry), { recursive: true });
1280
+ writeFileSync(registry, kotlinRegistry(plugins, MIN_SDK, TOOLCHAIN.android.compileSdk));
1281
+ const vectorData = join(dir, "kotlin", "com", "akanjs", "runtime", "AkanNativeVectorData.kt");
1282
+ mkdirSync(dirname(vectorData), { recursive: true });
1283
+ writeFileSync(vectorData, kotlinVectorData(false));
1284
+
1285
+ const features = join(dir, "kotlin", "com", "akanjs", "runtime", "AkanNativeFeatures.kt");
1286
+ writeFileSync(features, kotlinFeatures({ dev: true, updates: true }));
1287
+ const bindings = writePluginBindings(plugins, "android", join(dir, "spec"), appDir);
1288
+ const sources = [
1289
+ ...kotlinSources(SHELL_SRC),
1290
+ ...plugins.flatMap((p) => p.sources),
1291
+ registry,
1292
+ vectorData,
1293
+ features,
1294
+ ...bindings,
1295
+ ];
1296
+ const jar = join(dir, "classes.jar");
1297
+ const libraries = await mavenLibraries(plugins);
1298
+ const classpath = [tools.androidJar, java.kotlin.stdlib, ...libraries.map((l) => l.classes)].join(":");
1299
+ const result = await exec(
1300
+ [
1301
+ java.kotlin.kotlinc,
1302
+ ...sources,
1303
+ "-d",
1304
+ jar,
1305
+ "-classpath",
1306
+ classpath,
1307
+ "-jvm-target",
1308
+ "17",
1309
+ "-no-jdk",
1310
+ "-no-stdlib",
1311
+ "-no-reflect",
1312
+ ],
1313
+ { echo: false, env: java.env },
1314
+ );
1315
+ if (result.code === 0) checkApis(jar, plugins, tools.androidJar);
1316
+ return result;
1317
+ } finally {
1318
+ rmSync(dir, { recursive: true, force: true });
1319
+ }
1320
+ }