akanjs 3.0.0-beta.9 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2173) hide show
  1. package/README.ko.md +216 -159
  2. package/README.md +210 -151
  3. package/base/base.ts +6 -11
  4. package/base/baseEnv.ts +71 -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 +45 -61
  15. package/client/decorators.ts +1 -1
  16. package/client/device.ts +101 -125
  17. package/client/frameConfig.ts +17 -28
  18. package/client/index.ts +1 -1
  19. package/client/makePageProto.tsx +3 -4
  20. package/client/native/accessibility.ts +1 -0
  21. package/client/native/app-state.ts +1 -0
  22. package/client/native/app.ts +1 -0
  23. package/client/native/appearance.ts +1 -0
  24. package/client/native/auth-session.ts +1 -0
  25. package/client/native/autostart.ts +1 -0
  26. package/client/native/badge.ts +1 -0
  27. package/client/native/biometric.ts +1 -0
  28. package/client/native/browser.ts +1 -0
  29. package/client/native/camera.ts +1 -0
  30. package/client/native/clipboard.ts +1 -0
  31. package/client/native/contacts.ts +1 -0
  32. package/client/native/device.ts +1 -0
  33. package/client/native/dialog.ts +1 -0
  34. package/client/native/dock.ts +1 -0
  35. package/client/native/file-picker.ts +1 -0
  36. package/client/native/filesystem.ts +1 -0
  37. package/client/native/geolocation.ts +1 -0
  38. package/client/native/global-shortcut.ts +1 -0
  39. package/client/native/haptics.ts +1 -0
  40. package/client/native/http.ts +1 -0
  41. package/client/native/iap.ts +1 -0
  42. package/client/native/keep-awake.ts +1 -0
  43. package/client/native/keyboard.ts +1 -0
  44. package/client/native/local-notifications.ts +1 -0
  45. package/client/native/menu.ts +1 -0
  46. package/client/native/network.ts +1 -0
  47. package/client/native/opener.ts +1 -0
  48. package/client/native/preferences.ts +1 -0
  49. package/client/native/push.ts +1 -0
  50. package/client/native/screen-orientation.ts +1 -0
  51. package/client/native/screen.ts +1 -0
  52. package/client/native/secure-storage.ts +1 -0
  53. package/client/native/share.ts +1 -0
  54. package/client/native/single-instance.ts +1 -0
  55. package/client/native/splash-screen.ts +1 -0
  56. package/client/native/sqlite.ts +1 -0
  57. package/client/native/toast.ts +1 -0
  58. package/client/native/tray.ts +1 -0
  59. package/client/native/updates.ts +1 -0
  60. package/client/native/volume.ts +1 -0
  61. package/client/native/window-state.ts +1 -0
  62. package/client/native/window.ts +1 -0
  63. package/client/native.ts +79 -0
  64. package/client/resolveServerUrl.ts +11 -0
  65. package/client/route/RootLayoutDefinition.ts +0 -6
  66. package/client/route/RouteDefinition.ts +46 -31
  67. package/client/route/resolveRouteModule.ts +1 -5
  68. package/client/router.ts +54 -40
  69. package/client/rscNavigation.ts +9 -5
  70. package/client/sharedContext.ts +2 -19
  71. package/client/storage.ts +66 -46
  72. package/client/translator.ts +31 -6
  73. package/client/types.ts +0 -3
  74. package/common/CodeAgentClient.ts +91 -0
  75. package/common/CodeTranscript.ts +325 -0
  76. package/common/Logger.ts +35 -36
  77. package/common/RouteLayering.ts +52 -0
  78. package/common/TrustedProxy.ts +6 -34
  79. package/common/applyMixins.ts +13 -2
  80. package/common/authToken.ts +0 -11
  81. package/common/capitalize.ts +3 -4
  82. package/common/clamp.ts +0 -1
  83. package/common/clientAddress.ts +1 -15
  84. package/common/codeAgentProfile.ts +181 -0
  85. package/common/codeAgentWire.ts +305 -0
  86. package/common/eventStream.ts +88 -0
  87. package/common/fileUpload.ts +1 -12
  88. package/common/formatNumber.ts +3 -12
  89. package/common/hmrPhase.ts +2 -0
  90. package/common/index.ts +105 -20
  91. package/common/interpolateTranslation.ts +1 -6
  92. package/common/isEmail.ts +0 -1
  93. package/common/isRecord.ts +2 -0
  94. package/common/isThenable.ts +1 -8
  95. package/common/isValidDate.ts +3 -5
  96. package/common/logContext.ts +1 -1
  97. package/common/markdownBlocks.ts +134 -0
  98. package/common/markdownSpans.ts +47 -0
  99. package/common/markdownTable.ts +50 -0
  100. package/common/mcpExposure.ts +4 -27
  101. package/common/objectPath.ts +67 -0
  102. package/common/objectify.ts +52 -0
  103. package/common/phone.ts +14 -0
  104. package/common/randomPick.ts +13 -0
  105. package/common/requestOrigin.ts +0 -17
  106. package/common/restClient.ts +8 -13
  107. package/common/round.ts +4 -0
  108. package/common/routeConvention.ts +21 -14
  109. package/common/sleep.ts +1 -8
  110. package/common/subRoute.ts +4 -7
  111. package/common/toError.ts +1 -0
  112. package/common/tunnelWire.ts +263 -0
  113. package/common/types.ts +5 -10
  114. package/common/version.ts +8 -0
  115. package/common/websocketContract.ts +80 -0
  116. package/constant/cascadePaths.ts +6 -9
  117. package/constant/constantRegistry.ts +21 -57
  118. package/constant/crystalize.ts +2 -12
  119. package/constant/dateSlot.ts +0 -15
  120. package/constant/fieldInfo.ts +30 -109
  121. package/constant/fieldQueryMeta.ts +2 -10
  122. package/constant/getDefault.ts +16 -8
  123. package/constant/hydrationPlan.ts +1 -9
  124. package/constant/index.ts +0 -1
  125. package/constant/labelOf.ts +1 -6
  126. package/constant/mask.ts +36 -38
  127. package/constant/purify.ts +6 -14
  128. package/constant/serialize.ts +82 -5
  129. package/constant/textFieldPaths.ts +2 -3
  130. package/constant/types.ts +2 -6
  131. package/constant/via.ts +20 -60
  132. package/dictionary/DictionaryLookup.ts +1 -7
  133. package/dictionary/agent.dictionary.ts +43 -11
  134. package/dictionary/base.dictionary.ts +6 -0
  135. package/dictionary/dictInfo.ts +145 -626
  136. package/dictionary/dictShape.ts +54 -0
  137. package/dictionary/dictionary.ts +1 -2
  138. package/dictionary/dictionaryRegistry.ts +7 -28
  139. package/dictionary/locale.ts +24 -116
  140. package/dictionary/trans.ts +18 -56
  141. package/document/dataLoader.ts +77 -78
  142. package/document/database.ts +52 -56
  143. package/document/documentQuery.ts +32 -32
  144. package/document/documentSchema.ts +21 -26
  145. package/document/filterMeta.ts +11 -31
  146. package/document/index.ts +0 -1
  147. package/document/into.ts +8 -18
  148. package/document/loaderInfo.ts +28 -7
  149. package/document/noDocumentError.ts +2 -7
  150. package/document/queryEvaluator.ts +21 -43
  151. package/document/types.ts +0 -1
  152. package/fetch/client/fetchClient.ts +62 -110
  153. package/fetch/client/fetchHandle.ts +4 -12
  154. package/fetch/client/httpClient.ts +32 -69
  155. package/fetch/client/remoteError.ts +2 -8
  156. package/fetch/client/sliceInitHandle.ts +3 -6
  157. package/fetch/client/sliceQueryArgs.ts +11 -0
  158. package/fetch/client/wsClient.ts +77 -61
  159. package/fetch/fetchType/appliedReturn.type.ts +5 -24
  160. package/fetch/fetchType/buildFetch.type.ts +28 -1
  161. package/fetch/fetchType/index.ts +0 -1
  162. package/fetch/requestStorage.ts +7 -28
  163. package/fetch/types.ts +0 -1
  164. package/index.ts +251 -136
  165. package/native/desktop.ts +5 -0
  166. package/package.json +48 -95
  167. package/server/SSR_MEMORY_DIAGNOSIS.md +2 -2
  168. package/server/akanApp.ts +171 -298
  169. package/server/akanAppHeaders.ts +6 -4
  170. package/server/akanOption.ts +25 -27
  171. package/server/akanServer.ts +143 -228
  172. package/server/animatedImage.ts +2 -11
  173. package/server/artifact/builderRpc.ts +42 -66
  174. package/server/artifact/devBuildRecovery.ts +12 -0
  175. package/server/artifact/index.ts +1 -1
  176. package/server/artifact/ipcTypes.ts +83 -33
  177. package/server/artifact/routeClientCache.ts +144 -64
  178. package/server/artifact/routeSeedIndexStore.ts +2 -35
  179. package/server/artifact/routesManifestStore.ts +13 -38
  180. package/server/binaryPubsub.ts +0 -9
  181. package/server/cachePolicy.ts +10 -44
  182. package/server/console.ts +12 -16
  183. package/server/consoleSession.ts +55 -12
  184. package/server/contentEncoding.ts +52 -26
  185. package/server/decorators.ts +4 -70
  186. package/server/devtools/constantSerializer.ts +2 -14
  187. package/server/devtools/depsSerializer.ts +14 -46
  188. package/server/devtools/devtoolsJson.ts +6 -18
  189. package/server/devtools/devtoolsRouter.ts +2 -12
  190. package/server/devtools/signalSerializer.ts +4 -44
  191. package/server/devtools/types.ts +0 -12
  192. package/server/di/diLifecycle.ts +140 -224
  193. package/server/di/predefinedAdaptor.ts +11 -5
  194. package/server/di/resolveHierarchy.ts +114 -5
  195. package/server/di/utils.ts +13 -29
  196. package/server/head.tsx +53 -0
  197. package/server/hmr/clientScript.ts +174 -89
  198. package/server/hmr/csrDevManifest.ts +42 -0
  199. package/server/hmr/csrDevRuntime.ts +694 -0
  200. package/server/hmr/csrDevShell.ts +191 -0
  201. package/server/hmr/csrDevSourceMap.ts +142 -0
  202. package/server/hmr/devArtifactPruner.ts +77 -0
  203. package/server/hmr/devHmrController.ts +300 -173
  204. package/server/hmr/runtimeMetadataFile.ts +17 -0
  205. package/server/hmr/ssrDevShim.ts +112 -0
  206. package/server/hmr/ssrUpdateQueue.ts +111 -0
  207. package/server/hmr/wsHub.ts +55 -12
  208. package/server/imageOptimizer.ts +5 -26
  209. package/server/index.ts +2 -1
  210. package/server/lifecycle/orphanGroup.ts +21 -0
  211. package/server/lifecycle/portInUse.ts +1 -4
  212. package/server/lifecycle/runtimeDir.ts +0 -4
  213. package/server/lifecycle/shutdownManager.ts +4 -29
  214. package/server/logging/childOutputReader.ts +0 -12
  215. package/server/logging/hubFileSink.ts +10 -6
  216. package/server/logging/logControlSocket.ts +13 -7
  217. package/server/logging/logForwarder.ts +19 -22
  218. package/server/logging/logHub.ts +0 -0
  219. package/server/logging/logQuery.ts +4 -7
  220. package/server/logging/logStdoutWriter.ts +1 -11
  221. package/server/logging/logStreamRoute.ts +4 -21
  222. package/server/logging/logTailClient.ts +1 -8
  223. package/server/logging/rotatingLogWriter.ts +4 -6
  224. package/server/mcp/McpAuth.ts +5 -79
  225. package/server/mcp/McpDispatcher.ts +13 -90
  226. package/server/mcp/McpEventStream.ts +2 -12
  227. package/server/mcp/McpExecutionContext.ts +1 -42
  228. package/server/mcp/McpRateLimiter.ts +61 -30
  229. package/server/mcp/McpRouter.ts +49 -208
  230. package/server/mcp/PagePromptComposer.ts +7 -29
  231. package/server/memoryLimit.ts +1 -13
  232. package/server/nativeFile.ts +107 -0
  233. package/server/oauth/OAuthAuthorize.ts +3 -7
  234. package/server/oauth/OAuthClientIdMetadata.ts +2 -27
  235. package/server/oauth/OAuthErrors.ts +0 -13
  236. package/server/oauth/OAuthMetadata.ts +1 -7
  237. package/server/oauth/OAuthPkce.ts +0 -2
  238. package/server/oauth/OAuthRedirect.ts +0 -9
  239. package/server/oauth/OAuthRegistration.ts +0 -2
  240. package/server/oauth/OAuthRevocation.ts +1 -11
  241. package/server/oauth/OAuthToken.ts +3 -14
  242. package/server/oauth/oauthTypes.ts +1 -2
  243. package/server/ops/ageEncryption.ts +317 -0
  244. package/server/ops/appInfo.ts +94 -0
  245. package/server/ops/opsCommand.ts +116 -0
  246. package/server/ops/opsRoute.ts +152 -0
  247. package/server/ops/opsToken.ts +93 -0
  248. package/server/ops/snapshotJobs.ts +133 -0
  249. package/server/ops/snapshotRestore.ts +118 -0
  250. package/server/ops/snapshotTypes.ts +52 -0
  251. package/server/ops/sqliteFiles.ts +20 -0
  252. package/server/ops/sqliteSnapshot.ts +149 -0
  253. package/server/processMetricsCollector.ts +12 -14
  254. package/server/proxy/hostBasePathWebProxy.ts +20 -13
  255. package/server/proxy/index.ts +2 -3
  256. package/server/proxy/localeWebProxy.ts +3 -17
  257. package/server/proxy/types.ts +14 -0
  258. package/server/proxy/webProxyRunner.ts +13 -1
  259. package/server/resolver/CascadeRunner.ts +7 -23
  260. package/server/resolver/database.resolver.ts +57 -123
  261. package/server/resolver/service.resolver.ts +9 -161
  262. package/server/resolver/signal.resolver.ts +82 -110
  263. package/server/routeElementComposer.tsx +23 -52
  264. package/server/routeState.ts +15 -34
  265. package/server/routeTreeBuilder.ts +38 -125
  266. package/server/routing/apiRouter.ts +71 -53
  267. package/server/routing/appWsData.ts +4 -28
  268. package/server/routing/hostAllowlist.ts +24 -0
  269. package/server/routing/soloAppRoutes.ts +5 -5
  270. package/server/rscClient.tsx +32 -39
  271. package/server/rscClientFetch.ts +7 -3
  272. package/server/rscClientPatch.ts +4 -25
  273. package/server/rscHttp.ts +1 -1
  274. package/server/rscNavigationState.ts +10 -25
  275. package/server/rscPagePrompts.ts +4 -24
  276. package/server/rscSegmentOutlet.tsx +1 -5
  277. package/server/rscWorker.tsx +169 -287
  278. package/server/rscWorkerCache.ts +74 -8
  279. package/server/rscWorkerHost.ts +276 -240
  280. package/server/selfExec.ts +33 -0
  281. package/server/semaphore.ts +1 -1
  282. package/server/sitemap.ts +1 -3
  283. package/server/ssrFromRscRenderer.tsx +33 -124
  284. package/server/ssrTypes.ts +3 -29
  285. package/server/staticPath.ts +0 -16
  286. package/server/systemPageDocument.tsx +71 -2
  287. package/server/systemPages.tsx +4 -2
  288. package/server/tunnel/TunnelAgent.ts +237 -0
  289. package/server/tunnel/TunnelDataSocket.ts +146 -0
  290. package/server/tunnel/TunnelHttpStream.ts +86 -0
  291. package/server/tunnel/TunnelTcpStream.ts +96 -0
  292. package/server/tunnel/TunnelWebsocketStream.ts +110 -0
  293. package/server/tunnel/index.ts +6 -0
  294. package/server/tunnel/tunnelStream.ts +32 -0
  295. package/server/types.tsx +11 -10
  296. package/server/vendor/react-dom.ts +1 -0
  297. package/server/vendor/react-refresh-runtime.ts +13 -1
  298. package/server/vendor/react.ts +2 -0
  299. package/server/webRouter.ts +183 -329
  300. package/service/agent.service.ts +16 -80
  301. package/service/injectInfo.ts +106 -75
  302. package/service/ipcTypes.ts +8 -1
  303. package/service/liveSyncHub.ts +4 -34
  304. package/service/predefinedAdaptor/anthropicLlm.ts +51 -88
  305. package/service/predefinedAdaptor/cache.adaptor.ts +257 -75
  306. package/service/predefinedAdaptor/database.adaptor.ts +366 -108
  307. package/service/predefinedAdaptor/documentTransfer.ts +89 -0
  308. package/service/predefinedAdaptor/index.ts +2 -1
  309. package/service/predefinedAdaptor/insightQuery.ts +89 -79
  310. package/service/predefinedAdaptor/llm.adaptor.ts +53 -60
  311. package/service/predefinedAdaptor/llmOverflow.ts +63 -0
  312. package/service/predefinedAdaptor/openaiDialect.ts +36 -65
  313. package/service/predefinedAdaptor/openaiLlm.ts +24 -27
  314. package/service/predefinedAdaptor/queue.adaptor.ts +41 -22
  315. package/service/predefinedAdaptor/schedule.adaptor.ts +69 -9
  316. package/service/predefinedAdaptor/searchIndex.ts +76 -325
  317. package/service/predefinedAdaptor/solidCache.adaptor.ts +135 -12
  318. package/service/predefinedAdaptor/solidPubsub.adaptor.ts +28 -16
  319. package/service/predefinedAdaptor/solidQueue.adaptor.ts +61 -10
  320. package/service/predefinedAdaptor/solidSqlite.ts +10 -16
  321. package/service/predefinedAdaptor/sql/PendingStoreEnsures.ts +1 -0
  322. package/service/predefinedAdaptor/sql/PostgresInsightSession.ts +113 -0
  323. package/service/predefinedAdaptor/sql/QueryCompiler.ts +52 -32
  324. package/service/predefinedAdaptor/sql/SqlDocumentStore.ts +290 -138
  325. package/service/predefinedAdaptor/sql/SqliteInsightSession.ts +85 -0
  326. package/service/predefinedAdaptor/sql/UpdateCompiler.ts +1 -7
  327. package/service/predefinedAdaptor/sql/dialect/postgres.ts +138 -53
  328. package/service/predefinedAdaptor/sql/dialect/sqlite.ts +18 -15
  329. package/service/predefinedAdaptor/sql/driver/bunSqlite.ts +31 -4
  330. package/service/predefinedAdaptor/sql/driver/libsql.ts +20 -12
  331. package/service/predefinedAdaptor/sql/driver/postgres.ts +13 -7
  332. package/service/predefinedAdaptor/sql/search/fts5.ts +249 -0
  333. package/service/predefinedAdaptor/sql/search/mirror.ts +76 -0
  334. package/service/predefinedAdaptor/sql/search/postgres.ts +453 -0
  335. package/service/predefinedAdaptor/sql/search/types.ts +50 -0
  336. package/service/predefinedAdaptor/sql/types.ts +76 -17
  337. package/service/predefinedAdaptor/sql/values.ts +40 -2
  338. package/service/predefinedAdaptor/sqlitePath.ts +12 -0
  339. package/service/predefinedAdaptor/sseData.ts +23 -0
  340. package/service/predefinedAdaptor/storage.adaptor.ts +19 -7
  341. package/service/predefinedAdaptor/websocket.adaptor.ts +154 -184
  342. package/service/serve.ts +1 -2
  343. package/service/serviceModule.ts +52 -70
  344. package/service/toolNames.ts +5 -22
  345. package/service/types.ts +3 -9
  346. package/signal/CrossSiteGuard.ts +46 -42
  347. package/signal/SignalFailure.ts +2 -15
  348. package/signal/agent/AgentCatalogue.ts +9 -55
  349. package/signal/agent.signal.ts +9 -6
  350. package/signal/agentMeter.ts +45 -0
  351. package/signal/agentTurnStream.ts +48 -46
  352. package/signal/endpoint.ts +23 -8
  353. package/signal/endpointCache.ts +59 -0
  354. package/signal/endpointInfo.ts +26 -27
  355. package/signal/exception.ts +3 -34
  356. package/signal/guard.ts +4 -21
  357. package/signal/guards.ts +2 -10
  358. package/signal/index.ts +1 -0
  359. package/signal/internal.ts +12 -12
  360. package/signal/internalArg.ts +10 -13
  361. package/signal/internalInfo.ts +1 -1
  362. package/signal/mcp/McpDocument.ts +21 -90
  363. package/signal/mcp/McpProgress.ts +6 -19
  364. package/signal/mcp/McpUriTemplate.ts +1 -27
  365. package/signal/mcp/Msg.ts +13 -122
  366. package/signal/mcp/mcpProtocol.ts +3 -26
  367. package/signal/mcp/pagePrompt.ts +3 -9
  368. package/signal/middleware.ts +2 -87
  369. package/signal/openapi/openapi.ts +0 -4
  370. package/signal/schema/JsonSchemaBuilder.ts +32 -46
  371. package/signal/serializer/fetch.serializer.ts +41 -45
  372. package/signal/serverSignal.ts +6 -8
  373. package/signal/signalContext.ts +70 -168
  374. package/signal/signalRegistry.ts +11 -17
  375. package/signal/slice.ts +40 -36
  376. package/signal/sliceInfo.ts +5 -30
  377. package/signal/trace.ts +11 -84
  378. package/signal/types.ts +22 -76
  379. package/store/SliceRequest.ts +1 -11
  380. package/store/action.ts +153 -395
  381. package/store/actionTag.ts +1 -10
  382. package/store/agent/AgentBridge.ts +3 -25
  383. package/store/agent/AgentContext.ts +2 -9
  384. package/store/agent/AgentCursor.ts +160 -0
  385. package/store/agent/AgentPrompts.ts +0 -15
  386. package/store/agent/AgentVisual.ts +152 -0
  387. package/store/agent/ScreenFlash.ts +67 -0
  388. package/store/agent/ScreenReader.ts +3 -52
  389. package/store/agent/ScreenSettle.ts +1 -13
  390. package/store/agent/ScreenTarget.ts +16 -34
  391. package/store/agent/StoreCatalogue.ts +12 -24
  392. package/store/agent/StoreSurfaceSource.ts +38 -66
  393. package/store/agent/index.ts +4 -4
  394. package/store/agentic/AgentValue.ts +9 -26
  395. package/store/agentic/StExposeBuilder.ts +3 -12
  396. package/store/agentic/StExposeDraft.ts +0 -6
  397. package/store/agentic/StStateBuilder.ts +3 -11
  398. package/store/agentic/StStateDraft.ts +0 -5
  399. package/store/agentic/StToolBuilder.ts +48 -41
  400. package/store/agentic/StToolDraft.ts +0 -7
  401. package/store/agentic/attachAgentic.ts +2 -10
  402. package/store/agentic/formFields.ts +8 -42
  403. package/store/agentic/index.ts +0 -1
  404. package/store/agentic/useAgentReference.ts +2 -20
  405. package/store/agentic/useFieldTool.ts +176 -58
  406. package/store/agentic/useFormTools.ts +4 -21
  407. package/store/agentic/useRelationFieldTool.ts +2 -15
  408. package/store/baseSt.ts +0 -1
  409. package/store/databaseStateNames.ts +0 -9
  410. package/store/draftStore.ts +4 -54
  411. package/store/formSetterNames.ts +2 -19
  412. package/store/liveInsert.ts +36 -43
  413. package/store/sliceKeys.ts +37 -0
  414. package/store/sliceRole.ts +1 -10
  415. package/store/state.ts +4 -50
  416. package/store/stateBuilder.ts +1 -23
  417. package/store/storeInstance.ts +77 -151
  418. package/store/storeRegistry.ts +1 -8
  419. package/store/types.ts +1 -1
  420. package/test/conformance.ts +299 -0
  421. package/test/index.ts +2 -2
  422. package/test/sampleOf.ts +52 -28
  423. package/test/signalTestRuntime.ts +14 -12
  424. package/test/testServer.ts +66 -31
  425. package/types/base/base.d.ts +2 -3
  426. package/types/base/baseEnv.d.ts +8 -10
  427. package/types/base/databaseModes.d.ts +28 -0
  428. package/types/base/index.d.ts +1 -0
  429. package/types/base/primitiveRegistry.d.ts +23 -10
  430. package/types/base/symbols.d.ts +1 -1
  431. package/types/client/cn.d.ts +3 -13
  432. package/types/client/cookie.d.ts +8 -15
  433. package/types/client/csrTypes.d.ts +30 -58
  434. package/types/client/decorators.d.ts +1 -1
  435. package/types/client/device.d.ts +9 -11
  436. package/types/client/index.d.ts +1 -1
  437. package/types/client/native/accessibility.d.ts +1 -0
  438. package/types/client/native/app-state.d.ts +1 -0
  439. package/types/client/native/app.d.ts +1 -0
  440. package/types/client/native/appearance.d.ts +1 -0
  441. package/types/client/native/auth-session.d.ts +1 -0
  442. package/types/client/native/autostart.d.ts +1 -0
  443. package/types/client/native/badge.d.ts +1 -0
  444. package/types/client/native/biometric.d.ts +1 -0
  445. package/types/client/native/browser.d.ts +1 -0
  446. package/types/client/native/camera.d.ts +1 -0
  447. package/types/client/native/clipboard.d.ts +1 -0
  448. package/types/client/native/contacts.d.ts +1 -0
  449. package/types/client/native/device.d.ts +1 -0
  450. package/types/client/native/dialog.d.ts +1 -0
  451. package/types/client/native/dock.d.ts +1 -0
  452. package/types/client/native/file-picker.d.ts +1 -0
  453. package/types/client/native/filesystem.d.ts +1 -0
  454. package/types/client/native/geolocation.d.ts +1 -0
  455. package/types/client/native/global-shortcut.d.ts +1 -0
  456. package/types/client/native/haptics.d.ts +1 -0
  457. package/types/client/native/http.d.ts +1 -0
  458. package/types/client/native/iap.d.ts +1 -0
  459. package/types/client/native/keep-awake.d.ts +1 -0
  460. package/types/client/native/keyboard.d.ts +1 -0
  461. package/types/client/native/local-notifications.d.ts +1 -0
  462. package/types/client/native/menu.d.ts +1 -0
  463. package/types/client/native/network.d.ts +1 -0
  464. package/types/client/native/opener.d.ts +1 -0
  465. package/types/client/native/preferences.d.ts +1 -0
  466. package/types/client/native/push.d.ts +1 -0
  467. package/types/client/native/screen-orientation.d.ts +1 -0
  468. package/types/client/native/screen.d.ts +1 -0
  469. package/types/client/native/secure-storage.d.ts +1 -0
  470. package/types/client/native/share.d.ts +1 -0
  471. package/types/client/native/single-instance.d.ts +1 -0
  472. package/types/client/native/splash-screen.d.ts +1 -0
  473. package/types/client/native/sqlite.d.ts +1 -0
  474. package/types/client/native/toast.d.ts +1 -0
  475. package/types/client/native/tray.d.ts +1 -0
  476. package/types/client/native/updates.d.ts +1 -0
  477. package/types/client/native/volume.d.ts +1 -0
  478. package/types/client/native/window-state.d.ts +1 -0
  479. package/types/client/native/window.d.ts +1 -0
  480. package/types/client/native.d.ts +41 -0
  481. package/types/client/resolveServerUrl.d.ts +1 -0
  482. package/types/client/route/RootLayoutDefinition.d.ts +0 -1
  483. package/types/client/route/RouteDefinition.d.ts +18 -16
  484. package/types/client/route/resolveRouteModule.d.ts +1 -5
  485. package/types/client/router.d.ts +11 -4
  486. package/types/client/rscNavigation.d.ts +8 -5
  487. package/types/client/sharedContext.d.ts +2 -19
  488. package/types/client/storage.d.ts +9 -2
  489. package/types/client/translator.d.ts +1 -0
  490. package/types/client/types.d.ts +0 -3
  491. package/types/common/CodeAgentClient.d.ts +20 -0
  492. package/types/common/CodeTranscript.d.ts +72 -0
  493. package/types/common/Logger.d.ts +4 -20
  494. package/types/common/RouteLayering.d.ts +28 -0
  495. package/types/common/TrustedProxy.d.ts +2 -28
  496. package/types/common/applyMixins.d.ts +3 -0
  497. package/types/common/authToken.d.ts +0 -11
  498. package/types/common/capitalize.d.ts +1 -1
  499. package/types/common/clamp.d.ts +0 -1
  500. package/types/common/clientAddress.d.ts +1 -15
  501. package/types/common/codeAgentProfile.d.ts +115 -0
  502. package/types/common/codeAgentWire.d.ts +279 -0
  503. package/types/common/eventStream.d.ts +18 -0
  504. package/types/common/fileUpload.d.ts +6 -11
  505. package/types/common/hmrPhase.d.ts +2 -0
  506. package/types/common/index.d.ts +21 -20
  507. package/types/common/interpolateTranslation.d.ts +1 -6
  508. package/types/common/isEmail.d.ts +0 -1
  509. package/types/common/isRecord.d.ts +1 -0
  510. package/types/common/isThenable.d.ts +0 -8
  511. package/types/common/logContext.d.ts +1 -1
  512. package/types/common/markdownBlocks.d.ts +32 -0
  513. package/types/common/markdownSpans.d.ts +30 -0
  514. package/types/common/markdownTable.d.ts +14 -0
  515. package/types/common/mcpExposure.d.ts +3 -23
  516. package/types/common/objectPath.d.ts +10 -0
  517. package/types/common/objectify.d.ts +7 -0
  518. package/types/common/phone.d.ts +2 -0
  519. package/types/common/randomPick.d.ts +1 -0
  520. package/types/common/requestOrigin.d.ts +0 -17
  521. package/types/common/restClient.d.ts +0 -7
  522. package/types/common/round.d.ts +1 -0
  523. package/types/common/routeConvention.d.ts +2 -5
  524. package/types/common/sleep.d.ts +0 -1
  525. package/types/common/subRoute.d.ts +4 -6
  526. package/types/common/toError.d.ts +1 -0
  527. package/types/common/tunnelWire.d.ts +161 -0
  528. package/types/common/types.d.ts +6 -10
  529. package/types/common/version.d.ts +6 -0
  530. package/types/common/websocketContract.d.ts +41 -0
  531. package/types/constant/cascadePaths.d.ts +2 -5
  532. package/types/constant/constantRegistry.d.ts +4 -4
  533. package/types/constant/dateSlot.d.ts +0 -5
  534. package/types/constant/fieldInfo.d.ts +2 -21
  535. package/types/constant/fieldQueryMeta.d.ts +2 -10
  536. package/types/constant/getDefault.d.ts +5 -7
  537. package/types/constant/hydrationPlan.d.ts +0 -8
  538. package/types/constant/index.d.ts +0 -1
  539. package/types/constant/labelOf.d.ts +1 -6
  540. package/types/constant/mask.d.ts +11 -36
  541. package/types/constant/serialize.d.ts +10 -2
  542. package/types/constant/types.d.ts +2 -6
  543. package/types/constant/via.d.ts +0 -1
  544. package/types/dictionary/DictionaryLookup.d.ts +1 -7
  545. package/types/dictionary/agent.dictionary.d.ts +2 -1
  546. package/types/dictionary/base.dictionary.d.ts +1 -1
  547. package/types/dictionary/dictInfo.d.ts +25 -92
  548. package/types/dictionary/dictShape.d.ts +26 -0
  549. package/types/dictionary/dictionary.d.ts +9 -9
  550. package/types/dictionary/dictionaryRegistry.d.ts +1 -15
  551. package/types/dictionary/locale.d.ts +9 -28
  552. package/types/dictionary/trans.d.ts +5 -14
  553. package/types/document/dataLoader.d.ts +2 -2
  554. package/types/document/database.d.ts +21 -14
  555. package/types/document/documentQuery.d.ts +6 -1
  556. package/types/document/documentSchema.d.ts +3 -7
  557. package/types/document/filterMeta.d.ts +3 -8
  558. package/types/document/index.d.ts +0 -1
  559. package/types/document/into.d.ts +3 -2
  560. package/types/document/loaderInfo.d.ts +9 -4
  561. package/types/document/noDocumentError.d.ts +2 -7
  562. package/types/document/queryEvaluator.d.ts +7 -24
  563. package/types/document/types.d.ts +0 -1
  564. package/types/fetch/client/fetchClient.d.ts +2 -12
  565. package/types/fetch/client/fetchHandle.d.ts +3 -11
  566. package/types/fetch/client/httpClient.d.ts +3 -1
  567. package/types/fetch/client/remoteError.d.ts +2 -8
  568. package/types/fetch/client/sliceInitHandle.d.ts +2 -5
  569. package/types/fetch/client/sliceQueryArgs.d.ts +3 -0
  570. package/types/fetch/client/wsClient.d.ts +10 -15
  571. package/types/fetch/fetchType/appliedReturn.type.d.ts +5 -23
  572. package/types/fetch/fetchType/buildFetch.type.d.ts +15 -1
  573. package/types/fetch/fetchType/index.d.ts +0 -1
  574. package/types/fetch/requestStorage.d.ts +3 -16
  575. package/types/fetch/types.d.ts +0 -1
  576. package/types/index.d.ts +245 -135
  577. package/types/native/desktop.d.ts +3 -0
  578. package/types/server/akanApp.d.ts +5 -28
  579. package/types/server/akanAppHeaders.d.ts +2 -1
  580. package/types/server/akanOption.d.ts +12 -24
  581. package/types/server/akanServer.d.ts +16 -56
  582. package/types/server/animatedImage.d.ts +0 -6
  583. package/types/server/artifact/builderRpc.d.ts +10 -31
  584. package/types/server/artifact/devBuildRecovery.d.ts +4 -0
  585. package/types/server/artifact/index.d.ts +1 -1
  586. package/types/server/artifact/ipcTypes.d.ts +80 -31
  587. package/types/server/artifact/routeClientCache.d.ts +12 -13
  588. package/types/server/artifact/routeSeedIndexStore.d.ts +0 -16
  589. package/types/server/artifact/routesManifestStore.d.ts +1 -1
  590. package/types/server/binaryPubsub.d.ts +0 -8
  591. package/types/server/cachePolicy.d.ts +2 -21
  592. package/types/server/console.d.ts +3 -6
  593. package/types/server/consoleSession.d.ts +2 -2
  594. package/types/server/contentEncoding.d.ts +6 -14
  595. package/types/server/decorators.d.ts +0 -12
  596. package/types/server/devtools/constantSerializer.d.ts +1 -6
  597. package/types/server/devtools/depsSerializer.d.ts +1 -7
  598. package/types/server/devtools/devtoolsJson.d.ts +1 -7
  599. package/types/server/devtools/devtoolsRouter.d.ts +2 -11
  600. package/types/server/devtools/signalSerializer.d.ts +1 -9
  601. package/types/server/devtools/types.d.ts +0 -11
  602. package/types/server/di/diLifecycle.d.ts +0 -36
  603. package/types/server/di/predefinedAdaptor.d.ts +3 -2
  604. package/types/server/di/resolveHierarchy.d.ts +22 -5
  605. package/types/server/di/utils.d.ts +4 -17
  606. package/types/server/head.d.ts +9 -0
  607. package/types/server/hmr/csrDevManifest.d.ts +33 -0
  608. package/types/server/hmr/csrDevRuntime.d.ts +105 -0
  609. package/types/server/hmr/csrDevShell.d.ts +22 -0
  610. package/types/server/hmr/csrDevSourceMap.d.ts +17 -0
  611. package/types/server/hmr/devArtifactPruner.d.ts +9 -0
  612. package/types/server/hmr/devHmrController.d.ts +11 -8
  613. package/types/server/hmr/runtimeMetadataFile.d.ts +1 -0
  614. package/types/server/hmr/ssrDevShim.d.ts +7 -0
  615. package/types/server/hmr/ssrUpdateQueue.d.ts +23 -0
  616. package/types/server/hmr/wsHub.d.ts +33 -8
  617. package/types/server/index.d.ts +2 -1
  618. package/types/server/lifecycle/orphanGroup.d.ts +7 -0
  619. package/types/server/lifecycle/portInUse.d.ts +1 -4
  620. package/types/server/lifecycle/runtimeDir.d.ts +0 -4
  621. package/types/server/lifecycle/shutdownManager.d.ts +0 -9
  622. package/types/server/logging/childOutputReader.d.ts +0 -12
  623. package/types/server/logging/hubFileSink.d.ts +1 -5
  624. package/types/server/logging/logControlSocket.d.ts +2 -7
  625. package/types/server/logging/logForwarder.d.ts +3 -15
  626. package/types/server/logging/logHub.d.ts +1 -15
  627. package/types/server/logging/logQuery.d.ts +3 -6
  628. package/types/server/logging/logStdoutWriter.d.ts +0 -6
  629. package/types/server/logging/logStreamRoute.d.ts +0 -9
  630. package/types/server/logging/logTailClient.d.ts +0 -5
  631. package/types/server/mcp/McpAuth.d.ts +3 -71
  632. package/types/server/mcp/McpDispatcher.d.ts +0 -23
  633. package/types/server/mcp/McpEventStream.d.ts +1 -12
  634. package/types/server/mcp/McpExecutionContext.d.ts +0 -33
  635. package/types/server/mcp/McpRateLimiter.d.ts +10 -13
  636. package/types/server/mcp/McpRouter.d.ts +1 -47
  637. package/types/server/mcp/PagePromptComposer.d.ts +1 -13
  638. package/types/server/memoryLimit.d.ts +1 -13
  639. package/types/server/nativeFile.d.ts +10 -0
  640. package/types/server/oauth/OAuthAuthorize.d.ts +1 -6
  641. package/types/server/oauth/OAuthClientIdMetadata.d.ts +2 -26
  642. package/types/server/oauth/OAuthErrors.d.ts +0 -13
  643. package/types/server/oauth/OAuthMetadata.d.ts +1 -7
  644. package/types/server/oauth/OAuthPkce.d.ts +0 -1
  645. package/types/server/oauth/OAuthRedirect.d.ts +0 -9
  646. package/types/server/oauth/OAuthRegistration.d.ts +0 -1
  647. package/types/server/oauth/OAuthRevocation.d.ts +1 -11
  648. package/types/server/oauth/OAuthToken.d.ts +1 -13
  649. package/types/server/oauth/oauthTypes.d.ts +1 -2
  650. package/types/server/ops/ageEncryption.d.ts +19 -0
  651. package/types/server/ops/appInfo.d.ts +37 -0
  652. package/types/server/ops/opsCommand.d.ts +5 -0
  653. package/types/server/ops/opsRoute.d.ts +24 -0
  654. package/types/server/ops/opsToken.d.ts +26 -0
  655. package/types/server/ops/snapshotJobs.d.ts +24 -0
  656. package/types/server/ops/snapshotRestore.d.ts +24 -0
  657. package/types/server/ops/snapshotTypes.d.ts +45 -0
  658. package/types/server/ops/sqliteFiles.d.ts +5 -0
  659. package/types/server/ops/sqliteSnapshot.d.ts +32 -0
  660. package/types/server/processMetricsCollector.d.ts +3 -1
  661. package/types/server/proxy/hostBasePathWebProxy.d.ts +7 -1
  662. package/types/server/proxy/index.d.ts +2 -3
  663. package/types/server/proxy/localeWebProxy.d.ts +1 -1
  664. package/types/server/proxy/types.d.ts +5 -0
  665. package/types/server/proxy/webProxyRunner.d.ts +1 -0
  666. package/types/server/resolver/CascadeRunner.d.ts +0 -4
  667. package/types/server/resolver/database.resolver.d.ts +1 -1
  668. package/types/server/resolver/service.resolver.d.ts +2 -2
  669. package/types/server/resolver/signal.resolver.d.ts +0 -15
  670. package/types/server/routeElementComposer.d.ts +2 -8
  671. package/types/server/routeState.d.ts +1 -1
  672. package/types/server/routing/apiRouter.d.ts +14 -21
  673. package/types/server/routing/appWsData.d.ts +0 -26
  674. package/types/server/routing/hostAllowlist.d.ts +8 -0
  675. package/types/server/routing/soloAppRoutes.d.ts +2 -6
  676. package/types/server/rscClient.d.ts +0 -12
  677. package/types/server/rscClientFetch.d.ts +6 -6
  678. package/types/server/rscClientPatch.d.ts +1 -1
  679. package/types/server/rscHttp.d.ts +1 -0
  680. package/types/server/rscNavigationState.d.ts +3 -2
  681. package/types/server/rscPagePrompts.d.ts +0 -9
  682. package/types/server/rscWorkerCache.d.ts +41 -3
  683. package/types/server/rscWorkerHost.d.ts +17 -60
  684. package/types/server/selfExec.d.ts +8 -0
  685. package/types/server/ssrFromRscRenderer.d.ts +0 -12
  686. package/types/server/ssrTypes.d.ts +2 -29
  687. package/types/server/staticPath.d.ts +0 -16
  688. package/types/server/systemPageDocument.d.ts +10 -0
  689. package/types/server/systemPages.d.ts +2 -3
  690. package/types/server/tunnel/TunnelAgent.d.ts +29 -0
  691. package/types/server/tunnel/TunnelDataSocket.d.ts +22 -0
  692. package/types/server/tunnel/TunnelHttpStream.d.ts +10 -0
  693. package/types/server/tunnel/TunnelTcpStream.d.ts +11 -0
  694. package/types/server/tunnel/TunnelWebsocketStream.d.ts +10 -0
  695. package/types/server/tunnel/index.d.ts +6 -0
  696. package/types/server/tunnel/tunnelStream.d.ts +19 -0
  697. package/types/server/tunnel.d.ts +1 -0
  698. package/types/server/types.d.ts +11 -10
  699. package/types/server/vendor/react-dom.d.ts +1 -1
  700. package/types/server/vendor/react-refresh-runtime.d.ts +1 -1
  701. package/types/server/vendor/react.d.ts +1 -1
  702. package/types/server/webRouter.d.ts +10 -21
  703. package/types/service/agent.service.d.ts +10 -77
  704. package/types/service/injectInfo.d.ts +26 -15
  705. package/types/service/ipcTypes.d.ts +22 -0
  706. package/types/service/liveSyncHub.d.ts +4 -22
  707. package/types/service/predefinedAdaptor/anthropicLlm.d.ts +17 -45
  708. package/types/service/predefinedAdaptor/cache.adaptor.d.ts +42 -12
  709. package/types/service/predefinedAdaptor/database.adaptor.d.ts +20 -16
  710. package/types/service/predefinedAdaptor/documentTransfer.d.ts +15 -0
  711. package/types/service/predefinedAdaptor/index.d.ts +2 -1
  712. package/types/service/predefinedAdaptor/insightQuery.d.ts +7 -30
  713. package/types/service/predefinedAdaptor/llm.adaptor.d.ts +44 -60
  714. package/types/service/predefinedAdaptor/llmOverflow.d.ts +16 -0
  715. package/types/service/predefinedAdaptor/openaiDialect.d.ts +18 -35
  716. package/types/service/predefinedAdaptor/openaiLlm.d.ts +9 -14
  717. package/types/service/predefinedAdaptor/queue.adaptor.d.ts +12 -7
  718. package/types/service/predefinedAdaptor/schedule.adaptor.d.ts +7 -2
  719. package/types/service/predefinedAdaptor/searchIndex.d.ts +17 -47
  720. package/types/service/predefinedAdaptor/solidCache.adaptor.d.ts +15 -6
  721. package/types/service/predefinedAdaptor/solidPubsub.adaptor.d.ts +6 -4
  722. package/types/service/predefinedAdaptor/solidSqlite.d.ts +2 -1
  723. package/types/service/predefinedAdaptor/sql/PostgresInsightSession.d.ts +20 -0
  724. package/types/service/predefinedAdaptor/sql/QueryCompiler.d.ts +9 -11
  725. package/types/service/predefinedAdaptor/sql/SqlDocumentStore.d.ts +11 -25
  726. package/types/service/predefinedAdaptor/sql/SqliteInsightSession.d.ts +15 -0
  727. package/types/service/predefinedAdaptor/sql/UpdateCompiler.d.ts +0 -4
  728. package/types/service/predefinedAdaptor/sql/dialect/postgres.d.ts +18 -10
  729. package/types/service/predefinedAdaptor/sql/dialect/sqlite.d.ts +5 -2
  730. package/types/service/predefinedAdaptor/sql/driver/bunSqlite.d.ts +9 -3
  731. package/types/service/predefinedAdaptor/sql/driver/libsql.d.ts +8 -5
  732. package/types/service/predefinedAdaptor/sql/driver/postgres.d.ts +4 -4
  733. package/types/service/predefinedAdaptor/sql/search/fts5.d.ts +28 -0
  734. package/types/service/predefinedAdaptor/sql/search/mirror.d.ts +20 -0
  735. package/types/service/predefinedAdaptor/sql/search/postgres.d.ts +53 -0
  736. package/types/service/predefinedAdaptor/sql/search/types.d.ts +45 -0
  737. package/types/service/predefinedAdaptor/sql/types.d.ts +69 -15
  738. package/types/service/predefinedAdaptor/sql/values.d.ts +8 -0
  739. package/types/service/predefinedAdaptor/sqlitePath.d.ts +1 -0
  740. package/types/service/predefinedAdaptor/sseData.d.ts +1 -0
  741. package/types/service/predefinedAdaptor/storage.adaptor.d.ts +3 -2
  742. package/types/service/predefinedAdaptor/websocket.adaptor.d.ts +26 -26
  743. package/types/service/serviceModule.d.ts +7 -7
  744. package/types/service/toolNames.d.ts +4 -21
  745. package/types/service/types.d.ts +3 -3
  746. package/types/signal/CrossSiteGuard.d.ts +11 -30
  747. package/types/signal/SignalFailure.d.ts +1 -15
  748. package/types/signal/agent/AgentCatalogue.d.ts +8 -54
  749. package/types/signal/agent.signal.d.ts +4 -1
  750. package/types/signal/agentMeter.d.ts +24 -0
  751. package/types/signal/agentTurnStream.d.ts +10 -11
  752. package/types/signal/endpoint.d.ts +1 -2
  753. package/types/signal/endpointCache.d.ts +5 -0
  754. package/types/signal/endpointInfo.d.ts +4 -9
  755. package/types/signal/exception.d.ts +1 -34
  756. package/types/signal/guard.d.ts +4 -15
  757. package/types/signal/guards.d.ts +2 -10
  758. package/types/signal/index.d.ts +1 -0
  759. package/types/signal/internal.d.ts +1 -5
  760. package/types/signal/internalArg.d.ts +7 -13
  761. package/types/signal/mcp/McpDocument.d.ts +5 -45
  762. package/types/signal/mcp/McpProgress.d.ts +6 -19
  763. package/types/signal/mcp/McpUriTemplate.d.ts +1 -19
  764. package/types/signal/mcp/Msg.d.ts +13 -70
  765. package/types/signal/mcp/mcpProtocol.d.ts +1 -26
  766. package/types/signal/mcp/pagePrompt.d.ts +3 -9
  767. package/types/signal/middleware.d.ts +0 -27
  768. package/types/signal/schema/JsonSchemaBuilder.d.ts +15 -43
  769. package/types/signal/serializer/fetch.serializer.d.ts +1 -6
  770. package/types/signal/serverSignal.d.ts +0 -1
  771. package/types/signal/signalContext.d.ts +14 -66
  772. package/types/signal/signalRegistry.d.ts +0 -1
  773. package/types/signal/slice.d.ts +6 -11
  774. package/types/signal/sliceInfo.d.ts +5 -30
  775. package/types/signal/trace.d.ts +2 -30
  776. package/types/signal/types.d.ts +22 -76
  777. package/types/store/SliceRequest.d.ts +1 -11
  778. package/types/store/action.d.ts +2 -6
  779. package/types/store/actionTag.d.ts +1 -10
  780. package/types/store/agent/AgentBridge.d.ts +3 -22
  781. package/types/store/agent/AgentContext.d.ts +1 -7
  782. package/types/store/agent/AgentCursor.d.ts +24 -0
  783. package/types/store/agent/AgentPrompts.d.ts +0 -5
  784. package/types/store/agent/AgentVisual.d.ts +25 -0
  785. package/types/store/agent/ScreenFlash.d.ts +23 -0
  786. package/types/store/agent/ScreenReader.d.ts +3 -26
  787. package/types/store/agent/ScreenSettle.d.ts +1 -12
  788. package/types/store/agent/ScreenTarget.d.ts +3 -23
  789. package/types/store/agent/StoreCatalogue.d.ts +12 -16
  790. package/types/store/agent/StoreSurfaceSource.d.ts +11 -23
  791. package/types/store/agent/index.d.ts +4 -3
  792. package/types/store/agentic/AgentValue.d.ts +3 -23
  793. package/types/store/agentic/StExposeBuilder.d.ts +2 -11
  794. package/types/store/agentic/StExposeDraft.d.ts +0 -6
  795. package/types/store/agentic/StStateBuilder.d.ts +1 -7
  796. package/types/store/agentic/StStateDraft.d.ts +0 -5
  797. package/types/store/agentic/StToolBuilder.d.ts +14 -37
  798. package/types/store/agentic/StToolDraft.d.ts +0 -7
  799. package/types/store/agentic/attachAgentic.d.ts +2 -10
  800. package/types/store/agentic/formFields.d.ts +5 -41
  801. package/types/store/agentic/index.d.ts +0 -1
  802. package/types/store/agentic/useAgentReference.d.ts +2 -20
  803. package/types/store/agentic/useFieldTool.d.ts +19 -16
  804. package/types/store/agentic/useFormTools.d.ts +1 -18
  805. package/types/store/agentic/useRelationFieldTool.d.ts +1 -14
  806. package/types/store/baseSt.d.ts +2 -15
  807. package/types/store/databaseStateNames.d.ts +0 -9
  808. package/types/store/draftStore.d.ts +4 -30
  809. package/types/store/formSetterNames.d.ts +0 -19
  810. package/types/store/liveInsert.d.ts +0 -23
  811. package/types/store/sliceKeys.d.ts +31 -0
  812. package/types/store/sliceRole.d.ts +1 -10
  813. package/types/store/state.d.ts +2 -9
  814. package/types/store/stateBuilder.d.ts +0 -14
  815. package/types/store/storeInstance.d.ts +9 -22
  816. package/types/store/storeRegistry.d.ts +0 -2
  817. package/types/test/conformance.d.ts +73 -0
  818. package/types/test/index.d.ts +2 -2
  819. package/types/test/sampleOf.d.ts +17 -2
  820. package/types/test/signalTestRuntime.d.ts +1 -1
  821. package/types/test/testServer.d.ts +4 -3
  822. package/types/ui/Agent/Approval.d.ts +1 -1
  823. package/types/ui/Agent/Attach.d.ts +3 -3
  824. package/types/ui/Agent/Bubble.d.ts +4 -15
  825. package/types/ui/Agent/Chat.d.ts +29 -78
  826. package/types/ui/Agent/ChatCommands.d.ts +4 -14
  827. package/types/ui/Agent/Composer.d.ts +15 -9
  828. package/types/ui/Agent/Dock.d.ts +39 -11
  829. package/types/ui/Agent/Guide.d.ts +1 -5
  830. package/types/ui/Agent/History.d.ts +1 -18
  831. package/types/ui/Agent/Launcher.d.ts +3 -3
  832. package/types/ui/Agent/Markdown.d.ts +4 -8
  833. package/types/ui/Agent/MentionNode.d.ts +18 -0
  834. package/types/ui/Agent/Menu.d.ts +3 -5
  835. package/types/ui/Agent/Question.d.ts +2 -7
  836. package/types/ui/Agent/Queued.d.ts +2 -7
  837. package/types/ui/Agent/Refer.d.ts +1 -5
  838. package/types/ui/Agent/RichInput.d.ts +14 -0
  839. package/types/ui/Agent/Skip.d.ts +4 -16
  840. package/types/ui/Agent/Steps.d.ts +17 -0
  841. package/types/ui/Agent/ToolCard.d.ts +9 -0
  842. package/types/ui/Agent/Zone.d.ts +13 -30
  843. package/types/ui/Agent/agentSessionOf.d.ts +20 -16
  844. package/types/ui/Agent/attachment.d.ts +4 -38
  845. package/types/ui/Agent/fetchRunner.d.ts +1 -8
  846. package/types/ui/Agent/index.d.ts +5 -9
  847. package/types/ui/Agent/mentionDraft.d.ts +9 -0
  848. package/types/ui/Agent/tokenCount.d.ts +1 -5
  849. package/types/ui/Agent/useChatAttachments.d.ts +0 -5
  850. package/types/ui/Agent/useChatQueue.d.ts +1 -14
  851. package/types/ui/Agent/useChatReferences.d.ts +3 -14
  852. package/types/ui/Agent/useChatVoice.d.ts +0 -12
  853. package/types/ui/Agent/useDraftRecall.d.ts +0 -8
  854. package/types/ui/Agent/useKeyboardInset.d.ts +0 -7
  855. package/types/ui/Agent/useReferenceMenu.d.ts +3 -11
  856. package/types/ui/Agent/useSlashMenu.d.ts +0 -2
  857. package/types/ui/Agent/voice.d.ts +8 -42
  858. package/types/ui/Badge.d.ts +0 -1
  859. package/types/ui/BottomSheet.d.ts +2 -5
  860. package/types/ui/Button.d.ts +6 -23
  861. package/types/ui/ClientSide.d.ts +1 -3
  862. package/types/ui/Constant/Doc.d.ts +6 -6
  863. package/types/ui/Constant/Graph.d.ts +1 -1
  864. package/types/ui/Constant/index.d.ts +1 -1
  865. package/types/ui/Constant/schemaGraph.d.ts +0 -4
  866. package/types/ui/Copy.d.ts +3 -4
  867. package/types/ui/CsrImage.d.ts +2 -1
  868. package/types/ui/Data/CardList.d.ts +1 -1
  869. package/types/ui/Data/Dashboard.d.ts +2 -5
  870. package/types/ui/Data/Insight.d.ts +1 -1
  871. package/types/ui/Data/Item.d.ts +10 -10
  872. package/types/ui/Data/ListContainer.d.ts +2 -11
  873. package/types/ui/Data/Pagination.d.ts +1 -3
  874. package/types/ui/Data/QueryMaker.d.ts +3 -10
  875. package/types/ui/Data/RefPicker.d.ts +1 -8
  876. package/types/ui/Data/TableList.d.ts +1 -1
  877. package/types/ui/DatePicker.d.ts +0 -11
  878. package/types/ui/Dialog/LegacyModal.d.ts +1 -4
  879. package/types/ui/Dialog/Provider.d.ts +38 -5
  880. package/types/ui/Dialog/index.d.ts +5 -5
  881. package/types/ui/DragAction.d.ts +4 -4
  882. package/types/ui/DraggableList.d.ts +3 -3
  883. package/types/ui/Dropdown.d.ts +2 -10
  884. package/types/ui/Empty.d.ts +4 -11
  885. package/types/ui/Field/Choice.d.ts +3 -3
  886. package/types/ui/Field/Collection.d.ts +4 -19
  887. package/types/ui/Field/DateField.d.ts +2 -2
  888. package/types/ui/Field/Label.d.ts +1 -1
  889. package/types/ui/Field/NumberField.d.ts +2 -2
  890. package/types/ui/Field/Relation.d.ts +14 -41
  891. package/types/ui/Field/Text.d.ts +14 -71
  892. package/types/ui/Field/index.d.ts +21 -30
  893. package/types/ui/Field/lightRefCache.d.ts +0 -8
  894. package/types/ui/Field/useRelationOptions.d.ts +1 -12
  895. package/types/ui/Image.d.ts +9 -13
  896. package/types/ui/InfiniteScroll.d.ts +3 -7
  897. package/types/ui/Input.d.ts +8 -15
  898. package/types/ui/KeyboardAvoiding.d.ts +1 -1
  899. package/types/ui/Layout/BottomInset.d.ts +1 -1
  900. package/types/ui/Layout/BottomTab.d.ts +1 -1
  901. package/types/ui/Layout/Header.d.ts +1 -1
  902. package/types/ui/Layout/Navbar.d.ts +1 -1
  903. package/types/ui/Layout/Role.d.ts +23 -0
  904. package/types/ui/Layout/Sider.d.ts +22 -1
  905. package/types/ui/Layout/TopInset.d.ts +6 -1
  906. package/types/ui/Layout/index.d.ts +13 -13
  907. package/types/ui/LegacyModal.d.ts +2 -13
  908. package/types/ui/Link/Action.d.ts +11 -0
  909. package/types/ui/Link/Anchor.d.ts +20 -0
  910. package/types/ui/Link/index.d.ts +5 -8
  911. package/types/ui/Load/Edit.d.ts +1 -1
  912. package/types/ui/Load/Edit_Client.d.ts +1 -1
  913. package/types/ui/Load/Page.d.ts +3 -5
  914. package/types/ui/Load/PageCSR.d.ts +1 -1
  915. package/types/ui/Load/Pagination.d.ts +1 -1
  916. package/types/ui/Load/Stream.d.ts +1 -13
  917. package/types/ui/Load/Units.d.ts +1 -1
  918. package/types/ui/Load/View.d.ts +2 -7
  919. package/types/ui/Loading/ProgressBar.d.ts +1 -5
  920. package/types/ui/Loading/Skeleton.d.ts +3 -1
  921. package/types/ui/Loading/Spin.d.ts +9 -15
  922. package/types/ui/Loading/index.d.ts +3 -8
  923. package/types/ui/Loading/index_.d.ts +3 -10
  924. package/types/ui/Menu.d.ts +1 -6
  925. package/types/ui/Modal.d.ts +1 -18
  926. package/types/ui/Model/AdminPanel.d.ts +2 -5
  927. package/types/ui/Model/DraftBar.d.ts +3 -8
  928. package/types/ui/Model/Edit.d.ts +1 -1
  929. package/types/ui/Model/EditModal.d.ts +8 -23
  930. package/types/ui/Model/EditWrapper.d.ts +1 -1
  931. package/types/ui/Model/LoadStore.d.ts +18 -0
  932. package/types/ui/Model/New.d.ts +1 -1
  933. package/types/ui/Model/NewWrapper.d.ts +1 -1
  934. package/types/ui/Model/NewWrapper_Client.d.ts +1 -1
  935. package/types/ui/Model/Remove.d.ts +1 -3
  936. package/types/ui/Model/RemoveWrapper.d.ts +1 -1
  937. package/types/ui/Model/SureToRemove.d.ts +1 -4
  938. package/types/ui/Model/View.d.ts +1 -1
  939. package/types/ui/Model/ViewEditModal.d.ts +1 -3
  940. package/types/ui/Model/ViewModal.d.ts +1 -1
  941. package/types/ui/Model/ViewWrapper.d.ts +1 -1
  942. package/types/ui/Model/draftScope.d.ts +0 -7
  943. package/types/ui/Model/index.d.ts +2 -2
  944. package/types/ui/Model/index_.d.ts +2 -2
  945. package/types/ui/More.d.ts +1 -1
  946. package/types/ui/ObjectId.d.ts +1 -1
  947. package/types/ui/Pagination.d.ts +5 -13
  948. package/types/ui/Popconfirm.d.ts +4 -18
  949. package/types/ui/Radio.d.ts +0 -4
  950. package/types/ui/RecentTime.d.ts +6 -10
  951. package/types/ui/Reference/Panel.d.ts +46 -8
  952. package/types/ui/Reference/Segmented.d.ts +1 -4
  953. package/types/ui/Reference/docUi.d.ts +24 -0
  954. package/types/ui/Reference/index.d.ts +3 -7
  955. package/types/ui/Refresh.d.ts +2 -2
  956. package/types/ui/ScreenNavigator.d.ts +4 -4
  957. package/types/ui/Select.d.ts +3 -20
  958. package/types/ui/ServerPortal.d.ts +1 -1
  959. package/types/ui/Signal/Arg.d.ts +13 -13
  960. package/types/ui/Signal/Doc.d.ts +6 -6
  961. package/types/ui/Signal/Endpoint.d.ts +43 -0
  962. package/types/ui/Signal/Listener.d.ts +2 -2
  963. package/types/ui/Signal/Object.d.ts +4 -4
  964. package/types/ui/Signal/Response.d.ts +3 -3
  965. package/types/ui/Signal/RestApi.d.ts +5 -5
  966. package/types/ui/Signal/WebSocket.d.ts +25 -2
  967. package/types/ui/Signal/endpointEntries.d.ts +2 -4
  968. package/types/ui/Signal/index.d.ts +1 -3
  969. package/types/ui/Signal/style.d.ts +1 -2
  970. package/types/ui/Switch.d.ts +2 -6
  971. package/types/ui/System/CSR.d.ts +5 -5
  972. package/types/ui/System/Client.d.ts +12 -14
  973. package/types/ui/System/Common.d.ts +12 -23
  974. package/types/ui/System/Reconnect.d.ts +1 -1
  975. package/types/ui/System/Root.d.ts +2 -5
  976. package/types/ui/System/SSR.d.ts +4 -4
  977. package/types/ui/System/SelectLanguage.d.ts +1 -1
  978. package/types/ui/System/ThemeToggle.d.ts +2 -1
  979. package/types/ui/System/index.d.ts +8 -7
  980. package/types/ui/Tab/Provider.d.ts +25 -5
  981. package/types/ui/Tab/index.d.ts +4 -4
  982. package/types/ui/Table.d.ts +8 -24
  983. package/types/ui/Toast.d.ts +11 -18
  984. package/types/ui/ToggleSelect.d.ts +0 -5
  985. package/types/ui/Tooltip.d.ts +1 -2
  986. package/types/ui/UiOverride/UiOverride.d.ts +111 -0
  987. package/types/ui/UiOverride/index.d.ts +2 -5
  988. package/types/ui/UiOverride/override.d.ts +2 -18
  989. package/types/ui/Unauthorized.d.ts +1 -7
  990. package/types/ui/agentAttrs.d.ts +4 -11
  991. package/types/ui/index.d.ts +4 -4
  992. package/types/ui/overlayLayer.d.ts +4 -24
  993. package/types/ui/overlayPosition.d.ts +0 -12
  994. package/types/ui/recipe/badgeRecipe.d.ts +2 -2
  995. package/types/ui/recipe/buttonRecipe.d.ts +2 -2
  996. package/types/ui/recipe/factory.d.ts +1 -21
  997. package/types/ui/recipe/index.d.ts +0 -14
  998. package/types/ui/recipe/inputRecipe.d.ts +3 -3
  999. package/types/ui/sliceNamesOf.d.ts +78 -0
  1000. package/types/ui/triggerSlot.d.ts +3 -13
  1001. package/types/vendor/@akanjs/native/packages/cli/src/api.d.ts +267 -0
  1002. package/types/vendor/@akanjs/native/packages/cli/src/commands/build.d.ts +28 -0
  1003. package/types/vendor/@akanjs/native/packages/cli/src/commands/compat.d.ts +2 -0
  1004. package/types/vendor/@akanjs/native/packages/cli/src/commands/dev.d.ts +2 -0
  1005. package/types/vendor/@akanjs/native/packages/cli/src/commands/doctor.d.ts +37 -0
  1006. package/types/vendor/@akanjs/native/packages/cli/src/commands/plugin.d.ts +2 -0
  1007. package/types/vendor/@akanjs/native/packages/cli/src/commands/signing.d.ts +2 -0
  1008. package/types/vendor/@akanjs/native/packages/cli/src/commands/test.d.ts +2 -0
  1009. package/types/vendor/@akanjs/native/packages/cli/src/commands/toolchain.d.ts +2 -0
  1010. package/types/vendor/@akanjs/native/packages/cli/src/commands/update.d.ts +2 -0
  1011. package/types/vendor/@akanjs/native/packages/cli/src/config.d.ts +333 -0
  1012. package/types/vendor/@akanjs/native/packages/cli/src/index.d.ts +2 -0
  1013. package/types/vendor/@akanjs/native/packages/cli/src/lib/acl.d.ts +21 -0
  1014. package/types/vendor/@akanjs/native/packages/cli/src/lib/addons.d.ts +19 -0
  1015. package/types/vendor/@akanjs/native/packages/cli/src/lib/apilevel.d.ts +40 -0
  1016. package/types/vendor/@akanjs/native/packages/cli/src/lib/apk.d.ts +36 -0
  1017. package/types/vendor/@akanjs/native/packages/cli/src/lib/args.d.ts +9 -0
  1018. package/types/vendor/@akanjs/native/packages/cli/src/lib/boot.d.ts +32 -0
  1019. package/types/vendor/@akanjs/native/packages/cli/src/lib/chrome.d.ts +6 -0
  1020. package/types/vendor/@akanjs/native/packages/cli/src/lib/codegen.d.ts +94 -0
  1021. package/types/vendor/@akanjs/native/packages/cli/src/lib/compat.d.ts +49 -0
  1022. package/types/vendor/@akanjs/native/packages/cli/src/lib/configkeys.d.ts +2 -0
  1023. package/types/vendor/@akanjs/native/packages/cli/src/lib/csp.d.ts +51 -0
  1024. package/types/vendor/@akanjs/native/packages/cli/src/lib/desktop-server.d.ts +8 -0
  1025. package/types/vendor/@akanjs/native/packages/cli/src/lib/env.d.ts +44 -0
  1026. package/types/vendor/@akanjs/native/packages/cli/src/lib/exec.d.ts +31 -0
  1027. package/types/vendor/@akanjs/native/packages/cli/src/lib/googleservices.d.ts +2 -0
  1028. package/types/vendor/@akanjs/native/packages/cli/src/lib/hmr.d.ts +120 -0
  1029. package/types/vendor/@akanjs/native/packages/cli/src/lib/html.d.ts +20 -0
  1030. package/types/vendor/@akanjs/native/packages/cli/src/lib/icons.d.ts +44 -0
  1031. package/types/vendor/@akanjs/native/packages/cli/src/lib/image.d.ts +21 -0
  1032. package/types/vendor/@akanjs/native/packages/cli/src/lib/iossigning.d.ts +81 -0
  1033. package/types/vendor/@akanjs/native/packages/cli/src/lib/launch.d.ts +51 -0
  1034. package/types/vendor/@akanjs/native/packages/cli/src/lib/log.d.ts +42 -0
  1035. package/types/vendor/@akanjs/native/packages/cli/src/lib/macossigning.d.ts +95 -0
  1036. package/types/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.d.ts +18 -0
  1037. package/types/vendor/@akanjs/native/packages/cli/src/lib/maven.d.ts +97 -0
  1038. package/types/vendor/@akanjs/native/packages/cli/src/lib/names.d.ts +45 -0
  1039. package/types/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.d.ts +67 -0
  1040. package/types/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.d.ts +11 -0
  1041. package/types/vendor/@akanjs/native/packages/cli/src/lib/permissions.d.ts +10 -0
  1042. package/types/vendor/@akanjs/native/packages/cli/src/lib/plist.d.ts +11 -0
  1043. package/types/vendor/@akanjs/native/packages/cli/src/lib/png.d.ts +11 -0
  1044. package/types/vendor/@akanjs/native/packages/cli/src/lib/prepare.d.ts +164 -0
  1045. package/types/vendor/@akanjs/native/packages/cli/src/lib/privacy.d.ts +13 -0
  1046. package/types/vendor/@akanjs/native/packages/cli/src/lib/project.d.ts +218 -0
  1047. package/types/vendor/@akanjs/native/packages/cli/src/lib/publish.d.ts +32 -0
  1048. package/types/vendor/@akanjs/native/packages/cli/src/lib/root.d.ts +1 -0
  1049. package/types/vendor/@akanjs/native/packages/cli/src/lib/routes.d.ts +1 -0
  1050. package/types/vendor/@akanjs/native/packages/cli/src/lib/serve.d.ts +17 -0
  1051. package/types/vendor/@akanjs/native/packages/cli/src/lib/signing.d.ts +14 -0
  1052. package/types/vendor/@akanjs/native/packages/cli/src/lib/spec.d.ts +96 -0
  1053. package/types/vendor/@akanjs/native/packages/cli/src/lib/toolchains.d.ts +159 -0
  1054. package/types/vendor/@akanjs/native/packages/cli/src/lib/updates.d.ts +103 -0
  1055. package/types/vendor/@akanjs/native/packages/cli/src/lib/vectors.d.ts +13 -0
  1056. package/types/vendor/@akanjs/native/packages/cli/src/lib/windowssigning.d.ts +30 -0
  1057. package/types/vendor/@akanjs/native/packages/cli/src/lib/xml.d.ts +13 -0
  1058. package/types/vendor/@akanjs/native/packages/cli/src/platforms/android.d.ts +57 -0
  1059. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.d.ts +13 -0
  1060. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop.d.ts +46 -0
  1061. package/types/vendor/@akanjs/native/packages/cli/src/platforms/index.d.ts +14 -0
  1062. package/types/vendor/@akanjs/native/packages/cli/src/platforms/ios.d.ts +44 -0
  1063. package/types/vendor/@akanjs/native/packages/cli/src/platforms/linux-appimage.d.ts +11 -0
  1064. package/types/vendor/@akanjs/native/packages/cli/src/platforms/linux.d.ts +6 -0
  1065. package/types/vendor/@akanjs/native/packages/cli/src/platforms/macos.d.ts +12 -0
  1066. package/types/vendor/@akanjs/native/packages/cli/src/platforms/targets.d.ts +4 -0
  1067. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web-run.d.ts +15 -0
  1068. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web.d.ts +2 -0
  1069. package/types/vendor/@akanjs/native/packages/cli/src/platforms/windows-installer.d.ts +55 -0
  1070. package/types/vendor/@akanjs/native/packages/cli/src/platforms/windows.d.ts +8 -0
  1071. package/types/vendor/@akanjs/native/packages/cli/src/platforms.d.ts +1 -0
  1072. package/types/vendor/@akanjs/native/packages/cli/src.d.ts +1 -0
  1073. package/types/vendor/@akanjs/native/packages/core/src/acl.d.ts +97 -0
  1074. package/types/vendor/@akanjs/native/packages/core/src/boot.d.ts +66 -0
  1075. package/types/vendor/@akanjs/native/packages/core/src/contract.d.ts +35 -0
  1076. package/types/vendor/@akanjs/native/packages/core/src/errors.d.ts +27 -0
  1077. package/types/vendor/@akanjs/native/packages/core/src/files.d.ts +23 -0
  1078. package/types/vendor/@akanjs/native/packages/core/src/index.d.ts +14 -0
  1079. package/types/vendor/@akanjs/native/packages/core/src/kernel.d.ts +112 -0
  1080. package/types/vendor/@akanjs/native/packages/core/src/live.d.ts +12 -0
  1081. package/types/vendor/@akanjs/native/packages/core/src/mime.d.ts +2 -0
  1082. package/types/vendor/@akanjs/native/packages/core/src/plugin.d.ts +71 -0
  1083. package/types/vendor/@akanjs/native/packages/core/src/protocol.d.ts +109 -0
  1084. package/types/vendor/@akanjs/native/packages/core/src/runtime.d.ts +66 -0
  1085. package/types/vendor/@akanjs/native/packages/core/src/state.d.ts +28 -0
  1086. package/types/vendor/@akanjs/native/packages/core/src/testing.d.ts +41 -0
  1087. package/types/vendor/@akanjs/native/packages/core/src/version.d.ts +2 -0
  1088. package/types/vendor/@akanjs/native/packages/core/src/veto.d.ts +17 -0
  1089. package/types/vendor/@akanjs/native/packages/core/src.d.ts +1 -0
  1090. package/types/vendor/@akanjs/native/packages/desktop/src/deeplinks.d.ts +24 -0
  1091. package/types/vendor/@akanjs/native/packages/desktop/src/delta.d.ts +2 -0
  1092. package/types/vendor/@akanjs/native/packages/desktop/src/dispatcher.d.ts +102 -0
  1093. package/types/vendor/@akanjs/native/packages/desktop/src/ffi.d.ts +144 -0
  1094. package/types/vendor/@akanjs/native/packages/desktop/src/grants.d.ts +11 -0
  1095. package/types/vendor/@akanjs/native/packages/desktop/src/host.d.ts +11 -0
  1096. package/types/vendor/@akanjs/native/packages/desktop/src/lifecycle.d.ts +40 -0
  1097. package/types/vendor/@akanjs/native/packages/desktop/src/main.d.ts +15 -0
  1098. package/types/vendor/@akanjs/native/packages/desktop/src/page-veto.d.ts +17 -0
  1099. package/types/vendor/@akanjs/native/packages/desktop/src/paths.d.ts +36 -0
  1100. package/types/vendor/@akanjs/native/packages/desktop/src/plugin.d.ts +220 -0
  1101. package/types/vendor/@akanjs/native/packages/desktop/src/relaunch.d.ts +40 -0
  1102. package/types/vendor/@akanjs/native/packages/desktop/src/server.d.ts +97 -0
  1103. package/types/vendor/@akanjs/native/packages/react/src/index.d.ts +8 -0
  1104. package/types/vendor/@akanjs/native/packages/react/src.d.ts +1 -0
  1105. package/types/vendor/@akanjs/native/plugins/accessibility/src/announce.d.ts +8 -0
  1106. package/types/vendor/@akanjs/native/plugins/accessibility/src/index.d.ts +47 -0
  1107. package/types/vendor/@akanjs/native/plugins/accessibility/src/web.d.ts +4 -0
  1108. package/types/vendor/@akanjs/native/plugins/accessibility/src.d.ts +1 -0
  1109. package/types/vendor/@akanjs/native/plugins/app/src/desktop.d.ts +3 -0
  1110. package/types/vendor/@akanjs/native/plugins/app/src/index.d.ts +95 -0
  1111. package/types/vendor/@akanjs/native/plugins/app/src/web.d.ts +2 -0
  1112. package/types/vendor/@akanjs/native/plugins/app/src.d.ts +1 -0
  1113. package/types/vendor/@akanjs/native/plugins/app-state/src/index.d.ts +25 -0
  1114. package/types/vendor/@akanjs/native/plugins/app-state/src/web.d.ts +2 -0
  1115. package/types/vendor/@akanjs/native/plugins/app-state/src.d.ts +1 -0
  1116. package/types/vendor/@akanjs/native/plugins/appearance/src/desktop.d.ts +9 -0
  1117. package/types/vendor/@akanjs/native/plugins/appearance/src/index.d.ts +32 -0
  1118. package/types/vendor/@akanjs/native/plugins/appearance/src/setting.d.ts +6 -0
  1119. package/types/vendor/@akanjs/native/plugins/appearance/src/web.d.ts +3 -0
  1120. package/types/vendor/@akanjs/native/plugins/appearance/src.d.ts +1 -0
  1121. package/types/vendor/@akanjs/native/plugins/auth-session/src/args.d.ts +18 -0
  1122. package/types/vendor/@akanjs/native/plugins/auth-session/src/desktop.d.ts +17 -0
  1123. package/types/vendor/@akanjs/native/plugins/auth-session/src/index.d.ts +41 -0
  1124. package/types/vendor/@akanjs/native/plugins/auth-session/src.d.ts +1 -0
  1125. package/types/vendor/@akanjs/native/plugins/autostart/src/desktop.d.ts +44 -0
  1126. package/types/vendor/@akanjs/native/plugins/autostart/src/index.d.ts +44 -0
  1127. package/types/vendor/@akanjs/native/plugins/autostart/src.d.ts +1 -0
  1128. package/types/vendor/@akanjs/native/plugins/badge/src/count.d.ts +4 -0
  1129. package/types/vendor/@akanjs/native/plugins/badge/src/desktop.d.ts +3 -0
  1130. package/types/vendor/@akanjs/native/plugins/badge/src/index.d.ts +37 -0
  1131. package/types/vendor/@akanjs/native/plugins/badge/src/web.d.ts +2 -0
  1132. package/types/vendor/@akanjs/native/plugins/badge/src.d.ts +1 -0
  1133. package/types/vendor/@akanjs/native/plugins/biometric/src/index.d.ts +53 -0
  1134. package/types/vendor/@akanjs/native/plugins/biometric/src.d.ts +1 -0
  1135. package/types/vendor/@akanjs/native/plugins/browser/src/args.d.ts +8 -0
  1136. package/types/vendor/@akanjs/native/plugins/browser/src/desktop.d.ts +9 -0
  1137. package/types/vendor/@akanjs/native/plugins/browser/src/index.d.ts +36 -0
  1138. package/types/vendor/@akanjs/native/plugins/browser/src/web.d.ts +2 -0
  1139. package/types/vendor/@akanjs/native/plugins/browser/src.d.ts +1 -0
  1140. package/types/vendor/@akanjs/native/plugins/camera/src/desktop.d.ts +5 -0
  1141. package/types/vendor/@akanjs/native/plugins/camera/src/index.d.ts +55 -0
  1142. package/types/vendor/@akanjs/native/plugins/camera/src/web.d.ts +2 -0
  1143. package/types/vendor/@akanjs/native/plugins/camera/src.d.ts +1 -0
  1144. package/types/vendor/@akanjs/native/plugins/clipboard/src/desktop.d.ts +8 -0
  1145. package/types/vendor/@akanjs/native/plugins/clipboard/src/index.d.ts +40 -0
  1146. package/types/vendor/@akanjs/native/plugins/clipboard/src/web.d.ts +2 -0
  1147. package/types/vendor/@akanjs/native/plugins/clipboard/src.d.ts +1 -0
  1148. package/types/vendor/@akanjs/native/plugins/contacts/src/index.d.ts +43 -0
  1149. package/types/vendor/@akanjs/native/plugins/contacts/src.d.ts +1 -0
  1150. package/types/vendor/@akanjs/native/plugins/device/src/desktop.d.ts +33 -0
  1151. package/types/vendor/@akanjs/native/plugins/device/src/index.d.ts +55 -0
  1152. package/types/vendor/@akanjs/native/plugins/device/src/web.d.ts +22 -0
  1153. package/types/vendor/@akanjs/native/plugins/device/src.d.ts +1 -0
  1154. package/types/vendor/@akanjs/native/plugins/dialog/src/desktop.d.ts +3 -0
  1155. package/types/vendor/@akanjs/native/plugins/dialog/src/index.d.ts +60 -0
  1156. package/types/vendor/@akanjs/native/plugins/dialog/src/options.d.ts +29 -0
  1157. package/types/vendor/@akanjs/native/plugins/dialog/src/web.d.ts +2 -0
  1158. package/types/vendor/@akanjs/native/plugins/dialog/src.d.ts +1 -0
  1159. package/types/vendor/@akanjs/native/plugins/dock/src/desktop.d.ts +3 -0
  1160. package/types/vendor/@akanjs/native/plugins/dock/src/index.d.ts +46 -0
  1161. package/types/vendor/@akanjs/native/plugins/dock/src.d.ts +1 -0
  1162. package/types/vendor/@akanjs/native/plugins/file-picker/src/common.d.ts +33 -0
  1163. package/types/vendor/@akanjs/native/plugins/file-picker/src/desktop.d.ts +9 -0
  1164. package/types/vendor/@akanjs/native/plugins/file-picker/src/index.d.ts +103 -0
  1165. package/types/vendor/@akanjs/native/plugins/file-picker/src/web.d.ts +6 -0
  1166. package/types/vendor/@akanjs/native/plugins/file-picker/src.d.ts +1 -0
  1167. package/types/vendor/@akanjs/native/plugins/filesystem/src/common.d.ts +49 -0
  1168. package/types/vendor/@akanjs/native/plugins/filesystem/src/desktop.d.ts +8 -0
  1169. package/types/vendor/@akanjs/native/plugins/filesystem/src/index.d.ts +123 -0
  1170. package/types/vendor/@akanjs/native/plugins/filesystem/src/web.d.ts +2 -0
  1171. package/types/vendor/@akanjs/native/plugins/filesystem/src.d.ts +1 -0
  1172. package/types/vendor/@akanjs/native/plugins/geolocation/src/index.d.ts +93 -0
  1173. package/types/vendor/@akanjs/native/plugins/geolocation/src/web.d.ts +11 -0
  1174. package/types/vendor/@akanjs/native/plugins/geolocation/src.d.ts +1 -0
  1175. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.d.ts +3 -0
  1176. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/index.d.ts +52 -0
  1177. package/types/vendor/@akanjs/native/plugins/global-shortcut/src.d.ts +1 -0
  1178. package/types/vendor/@akanjs/native/plugins/haptics/src/index.d.ts +31 -0
  1179. package/types/vendor/@akanjs/native/plugins/haptics/src/web.d.ts +2 -0
  1180. package/types/vendor/@akanjs/native/plugins/haptics/src.d.ts +1 -0
  1181. package/types/vendor/@akanjs/native/plugins/http/src/common.d.ts +71 -0
  1182. package/types/vendor/@akanjs/native/plugins/http/src/desktop.d.ts +5 -0
  1183. package/types/vendor/@akanjs/native/plugins/http/src/index.d.ts +104 -0
  1184. package/types/vendor/@akanjs/native/plugins/http/src/web.d.ts +2 -0
  1185. package/types/vendor/@akanjs/native/plugins/http/src.d.ts +1 -0
  1186. package/types/vendor/@akanjs/native/plugins/iap/src/index.d.ts +171 -0
  1187. package/types/vendor/@akanjs/native/plugins/iap/src.d.ts +1 -0
  1188. package/types/vendor/@akanjs/native/plugins/keep-awake/src/desktop.d.ts +15 -0
  1189. package/types/vendor/@akanjs/native/plugins/keep-awake/src/index.d.ts +33 -0
  1190. package/types/vendor/@akanjs/native/plugins/keep-awake/src/web.d.ts +2 -0
  1191. package/types/vendor/@akanjs/native/plugins/keep-awake/src.d.ts +1 -0
  1192. package/types/vendor/@akanjs/native/plugins/keyboard/src/index.d.ts +42 -0
  1193. package/types/vendor/@akanjs/native/plugins/keyboard/src/web.d.ts +2 -0
  1194. package/types/vendor/@akanjs/native/plugins/keyboard/src.d.ts +1 -0
  1195. package/types/vendor/@akanjs/native/plugins/local-notifications/src/desktop.d.ts +29 -0
  1196. package/types/vendor/@akanjs/native/plugins/local-notifications/src/index.d.ts +126 -0
  1197. package/types/vendor/@akanjs/native/plugins/local-notifications/src/schedule.d.ts +38 -0
  1198. package/types/vendor/@akanjs/native/plugins/local-notifications/src/timers.d.ts +25 -0
  1199. package/types/vendor/@akanjs/native/plugins/local-notifications/src/web.d.ts +4 -0
  1200. package/types/vendor/@akanjs/native/plugins/local-notifications/src.d.ts +1 -0
  1201. package/types/vendor/@akanjs/native/plugins/menu/src/desktop.d.ts +3 -0
  1202. package/types/vendor/@akanjs/native/plugins/menu/src/index.d.ts +85 -0
  1203. package/types/vendor/@akanjs/native/plugins/menu/src.d.ts +1 -0
  1204. package/types/vendor/@akanjs/native/plugins/network/src/index.d.ts +22 -0
  1205. package/types/vendor/@akanjs/native/plugins/network/src/web.d.ts +3 -0
  1206. package/types/vendor/@akanjs/native/plugins/network/src.d.ts +1 -0
  1207. package/types/vendor/@akanjs/native/plugins/opener/src/desktop.d.ts +14 -0
  1208. package/types/vendor/@akanjs/native/plugins/opener/src/index.d.ts +33 -0
  1209. package/types/vendor/@akanjs/native/plugins/opener/src/url.d.ts +16 -0
  1210. package/types/vendor/@akanjs/native/plugins/opener/src/web.d.ts +2 -0
  1211. package/types/vendor/@akanjs/native/plugins/opener/src.d.ts +1 -0
  1212. package/types/vendor/@akanjs/native/plugins/preferences/src/desktop.d.ts +3 -0
  1213. package/types/vendor/@akanjs/native/plugins/preferences/src/index.d.ts +26 -0
  1214. package/types/vendor/@akanjs/native/plugins/preferences/src/web.d.ts +2 -0
  1215. package/types/vendor/@akanjs/native/plugins/preferences/src.d.ts +1 -0
  1216. package/types/vendor/@akanjs/native/plugins/push/src/index.d.ts +66 -0
  1217. package/types/vendor/@akanjs/native/plugins/push/src.d.ts +1 -0
  1218. package/types/vendor/@akanjs/native/plugins/screen/src/desktop.d.ts +3 -0
  1219. package/types/vendor/@akanjs/native/plugins/screen/src/index.d.ts +70 -0
  1220. package/types/vendor/@akanjs/native/plugins/screen/src/web.d.ts +18 -0
  1221. package/types/vendor/@akanjs/native/plugins/screen/src.d.ts +1 -0
  1222. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/index.d.ts +32 -0
  1223. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/types.d.ts +8 -0
  1224. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/web.d.ts +3 -0
  1225. package/types/vendor/@akanjs/native/plugins/screen-orientation/src.d.ts +1 -0
  1226. package/types/vendor/@akanjs/native/plugins/secure-storage/src/desktop.d.ts +16 -0
  1227. package/types/vendor/@akanjs/native/plugins/secure-storage/src/index.d.ts +39 -0
  1228. package/types/vendor/@akanjs/native/plugins/secure-storage/src.d.ts +1 -0
  1229. package/types/vendor/@akanjs/native/plugins/share/src/index.d.ts +55 -0
  1230. package/types/vendor/@akanjs/native/plugins/share/src/options.d.ts +6 -0
  1231. package/types/vendor/@akanjs/native/plugins/share/src/web.d.ts +5 -0
  1232. package/types/vendor/@akanjs/native/plugins/share/src.d.ts +1 -0
  1233. package/types/vendor/@akanjs/native/plugins/single-instance/src/desktop.d.ts +8 -0
  1234. package/types/vendor/@akanjs/native/plugins/single-instance/src/index.d.ts +25 -0
  1235. package/types/vendor/@akanjs/native/plugins/single-instance/src/socket.d.ts +46 -0
  1236. package/types/vendor/@akanjs/native/plugins/single-instance/src.d.ts +1 -0
  1237. package/types/vendor/@akanjs/native/plugins/splash-screen/src/index.d.ts +19 -0
  1238. package/types/vendor/@akanjs/native/plugins/splash-screen/src/web.d.ts +4 -0
  1239. package/types/vendor/@akanjs/native/plugins/splash-screen/src.d.ts +1 -0
  1240. package/types/vendor/@akanjs/native/plugins/sqlite/src/common.d.ts +34 -0
  1241. package/types/vendor/@akanjs/native/plugins/sqlite/src/desktop.d.ts +6 -0
  1242. package/types/vendor/@akanjs/native/plugins/sqlite/src/index.d.ts +115 -0
  1243. package/types/vendor/@akanjs/native/plugins/sqlite/src.d.ts +1 -0
  1244. package/types/vendor/@akanjs/native/plugins/toast/src/index.d.ts +30 -0
  1245. package/types/vendor/@akanjs/native/plugins/toast/src/queue.d.ts +23 -0
  1246. package/types/vendor/@akanjs/native/plugins/toast/src/web.d.ts +2 -0
  1247. package/types/vendor/@akanjs/native/plugins/toast/src.d.ts +1 -0
  1248. package/types/vendor/@akanjs/native/plugins/tray/src/desktop.d.ts +3 -0
  1249. package/types/vendor/@akanjs/native/plugins/tray/src/index.d.ts +113 -0
  1250. package/types/vendor/@akanjs/native/plugins/tray/src.d.ts +1 -0
  1251. package/types/vendor/@akanjs/native/plugins/updates/src/desktop.d.ts +38 -0
  1252. package/types/vendor/@akanjs/native/plugins/updates/src/index.d.ts +80 -0
  1253. package/types/vendor/@akanjs/native/plugins/updates/src.d.ts +1 -0
  1254. package/types/vendor/@akanjs/native/plugins/volume/src/common.d.ts +10 -0
  1255. package/types/vendor/@akanjs/native/plugins/volume/src/desktop.d.ts +18 -0
  1256. package/types/vendor/@akanjs/native/plugins/volume/src/index.d.ts +28 -0
  1257. package/types/vendor/@akanjs/native/plugins/volume/src.d.ts +1 -0
  1258. package/types/vendor/@akanjs/native/plugins/window/src/desktop.d.ts +6 -0
  1259. package/types/vendor/@akanjs/native/plugins/window/src/index.d.ts +185 -0
  1260. package/types/vendor/@akanjs/native/plugins/window/src/web.d.ts +2 -0
  1261. package/types/vendor/@akanjs/native/plugins/window/src.d.ts +1 -0
  1262. package/types/vendor/@akanjs/native/plugins/window-state/src/desktop.d.ts +7 -0
  1263. package/types/vendor/@akanjs/native/plugins/window-state/src/index.d.ts +33 -0
  1264. package/types/vendor/@akanjs/native/plugins/window-state/src/state.d.ts +39 -0
  1265. package/types/vendor/@akanjs/native/plugins/window-state/src.d.ts +1 -0
  1266. package/types/vendor/use-agentic/AgentActivity.d.ts +11 -0
  1267. package/types/vendor/use-agentic/AgentGate.d.ts +10 -0
  1268. package/types/vendor/use-agentic/AgentProgress.d.ts +12 -0
  1269. package/types/vendor/use-agentic/AgentProvider.d.ts +1 -1
  1270. package/types/vendor/use-agentic/AgentScope.d.ts +1 -1
  1271. package/types/vendor/use-agentic/AgentSession.d.ts +41 -2
  1272. package/types/vendor/use-agentic/AgenticSurface.d.ts +15 -5
  1273. package/types/vendor/use-agentic/Compaction.d.ts +42 -5
  1274. package/types/vendor/use-agentic/ToolRunner.d.ts +31 -1
  1275. package/types/vendor/use-agentic/Transcript.d.ts +2 -0
  1276. package/types/vendor/use-agentic/index.d.ts +2 -0
  1277. package/types/vendor/use-agentic/surfaceContext.d.ts +3 -0
  1278. package/types/vendor/use-agentic/types.d.ts +73 -1
  1279. package/types/webkit/CsrRouteTable.d.ts +32 -0
  1280. package/types/webkit/CsrStack.d.ts +45 -0
  1281. package/types/webkit/RenderLayer.d.ts +11 -0
  1282. package/types/webkit/bootCsr.d.ts +7 -8
  1283. package/types/webkit/csrFrameDump.d.ts +42 -0
  1284. package/types/webkit/index.d.ts +5 -5
  1285. package/types/webkit/lazy.d.ts +3 -12
  1286. package/types/webkit/nativeNavigation.d.ts +39 -0
  1287. package/types/webkit/nativePurchase.d.ts +41 -0
  1288. package/types/webkit/nativeUpdates.d.ts +8 -0
  1289. package/types/webkit/seoPages.d.ts +19 -0
  1290. package/types/webkit/useBodyScrollLock.d.ts +0 -1
  1291. package/types/webkit/useCamera.d.ts +13 -15
  1292. package/types/webkit/useCsrValues.d.ts +6 -4
  1293. package/types/webkit/useDebounce.d.ts +0 -1
  1294. package/types/webkit/useEscapeKey.d.ts +1 -4
  1295. package/types/webkit/useFetch.d.ts +4 -7
  1296. package/types/webkit/useFrameRuntime.d.ts +1 -1
  1297. package/types/webkit/useGeoLocation.d.ts +5 -6
  1298. package/types/webkit/useHistory.d.ts +5 -1
  1299. package/types/webkit/usePageActivity.d.ts +2 -0
  1300. package/types/webkit/usePageFocusEffect.d.ts +7 -0
  1301. package/types/webkit/usePageLocation.d.ts +13 -0
  1302. package/types/webkit/usePageTool.d.ts +2 -9
  1303. package/types/webkit/usePurchase.d.ts +12 -19
  1304. package/types/webkit/useScreenScope.d.ts +2 -13
  1305. package/ui/Agent/Attach.tsx +8 -4
  1306. package/ui/Agent/Bubble.tsx +49 -31
  1307. package/ui/Agent/Chat.tsx +91 -115
  1308. package/ui/Agent/ChatCommands.ts +5 -21
  1309. package/ui/Agent/Composer.tsx +97 -32
  1310. package/ui/Agent/Dock.tsx +176 -16
  1311. package/ui/Agent/Guide.tsx +1 -5
  1312. package/ui/Agent/History.tsx +1 -18
  1313. package/ui/Agent/Launcher.tsx +2 -2
  1314. package/ui/Agent/Markdown.tsx +40 -14
  1315. package/ui/Agent/MentionNode.ts +54 -0
  1316. package/ui/Agent/Menu.tsx +2 -4
  1317. package/ui/Agent/Question.tsx +1 -6
  1318. package/ui/Agent/Queued.tsx +1 -6
  1319. package/ui/Agent/Refer.tsx +1 -5
  1320. package/ui/Agent/RichInput.tsx +146 -0
  1321. package/ui/Agent/Skip.tsx +3 -15
  1322. package/ui/Agent/Steps.tsx +33 -0
  1323. package/ui/Agent/ToolCard.tsx +32 -0
  1324. package/ui/Agent/Zone.tsx +15 -31
  1325. package/ui/Agent/agentSessionOf.ts +115 -15
  1326. package/ui/Agent/attachment.ts +5 -42
  1327. package/ui/Agent/fetchRunner.ts +3 -15
  1328. package/ui/Agent/index.ts +1 -6
  1329. package/ui/Agent/mentionDraft.ts +91 -0
  1330. package/ui/Agent/tokenCount.ts +1 -5
  1331. package/ui/Agent/useChatAttachments.ts +2 -9
  1332. package/ui/Agent/useChatQueue.ts +3 -15
  1333. package/ui/Agent/useChatReferences.ts +6 -22
  1334. package/ui/Agent/useChatVoice.ts +2 -23
  1335. package/ui/Agent/useDraftRecall.ts +0 -9
  1336. package/ui/Agent/useKeyboardInset.ts +0 -7
  1337. package/ui/Agent/useReferenceMenu.ts +4 -19
  1338. package/ui/Agent/useSlashMenu.ts +0 -3
  1339. package/ui/Agent/voice.ts +8 -43
  1340. package/ui/Badge.tsx +0 -2
  1341. package/ui/BottomSheet.tsx +2 -5
  1342. package/ui/Button.tsx +9 -45
  1343. package/ui/ClientSide.tsx +0 -2
  1344. package/ui/Clipboard.tsx +0 -1
  1345. package/ui/Constant/Doc.tsx +274 -265
  1346. package/ui/Constant/Graph.tsx +11 -3
  1347. package/ui/Constant/schemaGraph.ts +0 -9
  1348. package/ui/Copy.tsx +2 -3
  1349. package/ui/CsrImage.tsx +10 -9
  1350. package/ui/Data/CardList.tsx +2 -17
  1351. package/ui/Data/Dashboard.tsx +4 -7
  1352. package/ui/Data/Item.tsx +8 -6
  1353. package/ui/Data/ListContainer.tsx +17 -63
  1354. package/ui/Data/Pagination.tsx +3 -22
  1355. package/ui/Data/QueryMaker.tsx +1 -8
  1356. package/ui/Data/RefPicker.tsx +1 -8
  1357. package/ui/Data/TableList.tsx +2 -15
  1358. package/ui/DatePicker.tsx +1 -12
  1359. package/ui/Dialog/LegacyModal.tsx +3 -7
  1360. package/ui/Dialog/Modal.tsx +3 -4
  1361. package/ui/Dialog/Provider.tsx +85 -7
  1362. package/ui/Dialog/index.tsx +1 -5
  1363. package/ui/DraggableList.tsx +1 -4
  1364. package/ui/Dropdown.tsx +4 -17
  1365. package/ui/Empty.tsx +4 -12
  1366. package/ui/Field/Choice.tsx +1 -1
  1367. package/ui/Field/Collection.tsx +7 -29
  1368. package/ui/Field/DateField.tsx +2 -7
  1369. package/ui/Field/Label.tsx +0 -1
  1370. package/ui/Field/NumberField.tsx +0 -1
  1371. package/ui/Field/Relation.tsx +13 -53
  1372. package/ui/Field/Text.tsx +25 -86
  1373. package/ui/Field/index.tsx +0 -9
  1374. package/ui/Field/lightRefCache.ts +1 -13
  1375. package/ui/Field/useRelationOptions.ts +4 -13
  1376. package/ui/Image.tsx +35 -65
  1377. package/ui/InfiniteScroll.tsx +3 -21
  1378. package/ui/Input.tsx +82 -174
  1379. package/ui/Layout/BottomInset.tsx +1 -1
  1380. package/ui/Layout/Navbar.tsx +1 -1
  1381. package/ui/Layout/Role.tsx +42 -0
  1382. package/ui/Layout/Sider.tsx +82 -1
  1383. package/ui/Layout/TopInset.tsx +25 -2
  1384. package/ui/Layout/index.ts +3 -9
  1385. package/ui/LegacyModal.tsx +1 -12
  1386. package/ui/Link/Action.tsx +29 -0
  1387. package/ui/Link/Anchor.tsx +115 -0
  1388. package/ui/Link/index.tsx +7 -8
  1389. package/ui/Load/Edit_Client.tsx +2 -37
  1390. package/ui/Load/Page.tsx +3 -6
  1391. package/ui/Load/Pagination.tsx +4 -19
  1392. package/ui/Load/Stream.tsx +0 -12
  1393. package/ui/Load/Units.tsx +13 -86
  1394. package/ui/Load/View.tsx +4 -21
  1395. package/ui/Loading/ProgressBar.tsx +0 -4
  1396. package/ui/Loading/Skeleton.tsx +14 -0
  1397. package/ui/Loading/Spin.tsx +24 -15
  1398. package/ui/Loading/index.ts +0 -5
  1399. package/ui/Loading/index_.tsx +2 -12
  1400. package/ui/Menu.tsx +3 -21
  1401. package/ui/Modal.tsx +0 -17
  1402. package/ui/Model/AdminPanel.tsx +2 -5
  1403. package/ui/Model/DraftBar.tsx +3 -14
  1404. package/ui/Model/EditModal.tsx +11 -48
  1405. package/ui/Model/EditWrapper.tsx +2 -3
  1406. package/ui/Model/LoadStore.tsx +18 -0
  1407. package/ui/Model/NewWrapper_Client.tsx +1 -1
  1408. package/ui/Model/Remove.tsx +4 -12
  1409. package/ui/Model/RemoveWrapper.tsx +2 -3
  1410. package/ui/Model/SureToRemove.tsx +4 -13
  1411. package/ui/Model/ViewEditModal.tsx +0 -6
  1412. package/ui/Model/ViewModal.tsx +1 -5
  1413. package/ui/Model/ViewWrapper.tsx +1 -2
  1414. package/ui/Model/draftScope.ts +0 -7
  1415. package/ui/Model/index_.tsx +2 -22
  1416. package/ui/Pagination.tsx +4 -12
  1417. package/ui/Popconfirm.tsx +3 -18
  1418. package/ui/Portal.tsx +2 -3
  1419. package/ui/Radio.tsx +1 -5
  1420. package/ui/RecentTime.tsx +19 -31
  1421. package/ui/Reference/Panel.tsx +102 -6
  1422. package/ui/Reference/Segmented.tsx +5 -11
  1423. package/ui/Reference/docUi.ts +53 -0
  1424. package/ui/Reference/index.ts +3 -7
  1425. package/ui/Refresh.tsx +79 -13
  1426. package/ui/ScreenNavigator.tsx +8 -13
  1427. package/ui/Select.tsx +7 -25
  1428. package/ui/Signal/Endpoint.tsx +154 -0
  1429. package/ui/Signal/Listener.tsx +1 -4
  1430. package/ui/Signal/Object.tsx +67 -73
  1431. package/ui/Signal/RestApi.tsx +30 -76
  1432. package/ui/Signal/WebSocket.tsx +253 -2
  1433. package/ui/Signal/endpointEntries.ts +3 -5
  1434. package/ui/Signal/index.ts +1 -3
  1435. package/ui/Signal/style.ts +1 -2
  1436. package/ui/Switch.tsx +1 -5
  1437. package/ui/System/CSR.tsx +52 -167
  1438. package/ui/System/Client.tsx +54 -54
  1439. package/ui/System/Common.tsx +31 -22
  1440. package/ui/System/Messages.tsx +2 -2
  1441. package/ui/System/Reconnect.tsx +1 -6
  1442. package/ui/System/Root.tsx +1 -4
  1443. package/ui/System/SSR.tsx +11 -17
  1444. package/ui/System/ThemeToggle.tsx +15 -0
  1445. package/ui/System/index.tsx +2 -2
  1446. package/ui/Tab/Provider.tsx +115 -7
  1447. package/ui/Tab/index.tsx +1 -4
  1448. package/ui/Table.tsx +7 -23
  1449. package/ui/Toast.tsx +9 -16
  1450. package/ui/ToggleSelect.tsx +10 -24
  1451. package/ui/Tooltip.tsx +2 -8
  1452. package/ui/UiOverride/UiOverride.tsx +155 -0
  1453. package/ui/UiOverride/index.ts +9 -6
  1454. package/ui/UiOverride/override.ts +2 -18
  1455. package/ui/Unauthorized.tsx +1 -8
  1456. package/ui/agentAttrs.ts +9 -12
  1457. package/ui/index.ts +10 -5
  1458. package/ui/overlayLayer.ts +4 -25
  1459. package/ui/overlayPosition.ts +2 -14
  1460. package/ui/recipe/badgeRecipe.ts +1 -1
  1461. package/ui/recipe/buttonRecipe.ts +4 -4
  1462. package/ui/recipe/factory.ts +1 -22
  1463. package/ui/recipe/index.ts +1 -14
  1464. package/ui/recipe/inputRecipe.ts +2 -2
  1465. package/ui/sliceNamesOf.ts +26 -0
  1466. package/ui/styles.css +195 -1
  1467. package/ui/triggerSlot.tsx +2 -12
  1468. package/vendor/@akanjs/native/LICENSE +21 -0
  1469. package/vendor/@akanjs/native/README.ko.md +88 -0
  1470. package/vendor/@akanjs/native/README.md +93 -0
  1471. package/vendor/@akanjs/native/THIRD_PARTY_NOTICES.md +237 -0
  1472. package/vendor/@akanjs/native/native/android/maven.lock.json +1751 -0
  1473. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAcl.kt +243 -0
  1474. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeActivity.kt +984 -0
  1475. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeApplication.kt +189 -0
  1476. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAssetServer.kt +225 -0
  1477. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeBridge.kt +463 -0
  1478. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeCompat.kt +55 -0
  1479. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeContract.kt +99 -0
  1480. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeEd25519.kt +100 -0
  1481. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeFileProvider.kt +71 -0
  1482. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeKernel.kt +324 -0
  1483. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativePlugin.kt +377 -0
  1484. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeSpec.kt +100 -0
  1485. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeUpdates.kt +305 -0
  1486. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeVectors.kt +132 -0
  1487. package/vendor/@akanjs/native/native/desktop/Cargo.lock +2565 -0
  1488. package/vendor/@akanjs/native/native/desktop/Cargo.toml +49 -0
  1489. package/vendor/@akanjs/native/native/desktop/build.rs +19 -0
  1490. package/vendor/@akanjs/native/native/desktop/rust-toolchain.toml +7 -0
  1491. package/vendor/@akanjs/native/native/desktop/src/accelerator.rs +466 -0
  1492. package/vendor/@akanjs/native/native/desktop/src/autostart.rs +158 -0
  1493. package/vendor/@akanjs/native/native/desktop/src/camera.rs +53 -0
  1494. package/vendor/@akanjs/native/native/desktop/src/chrome.rs +710 -0
  1495. package/vendor/@akanjs/native/native/desktop/src/contract.rs +105 -0
  1496. package/vendor/@akanjs/native/native/desktop/src/devproxy.rs +234 -0
  1497. package/vendor/@akanjs/native/native/desktop/src/dialog_args.rs +189 -0
  1498. package/vendor/@akanjs/native/native/desktop/src/dock.rs +209 -0
  1499. package/vendor/@akanjs/native/native/desktop/src/hotkey.rs +209 -0
  1500. package/vendor/@akanjs/native/native/desktop/src/js_panels.rs +125 -0
  1501. package/vendor/@akanjs/native/native/desktop/src/json.rs +272 -0
  1502. package/vendor/@akanjs/native/native/desktop/src/keychain.rs +151 -0
  1503. package/vendor/@akanjs/native/native/desktop/src/lib.rs +2321 -0
  1504. package/vendor/@akanjs/native/native/desktop/src/linux/appearance.rs +177 -0
  1505. package/vendor/@akanjs/native/native/desktop/src/linux/camera.rs +11 -0
  1506. package/vendor/@akanjs/native/native/desktop/src/linux/clipboard.rs +48 -0
  1507. package/vendor/@akanjs/native/native/desktop/src/linux/device.rs +9 -0
  1508. package/vendor/@akanjs/native/native/desktop/src/linux/dialogs.rs +348 -0
  1509. package/vendor/@akanjs/native/native/desktop/src/linux/dock.rs +146 -0
  1510. package/vendor/@akanjs/native/native/desktop/src/linux/hotkey.rs +228 -0
  1511. package/vendor/@akanjs/native/native/desktop/src/linux/keychain.rs +243 -0
  1512. package/vendor/@akanjs/native/native/desktop/src/linux/menu.rs +445 -0
  1513. package/vendor/@akanjs/native/native/desktop/src/linux/mod.rs +116 -0
  1514. package/vendor/@akanjs/native/native/desktop/src/linux/notify.rs +211 -0
  1515. package/vendor/@akanjs/native/native/desktop/src/linux/open.rs +79 -0
  1516. package/vendor/@akanjs/native/native/desktop/src/linux/power.rs +155 -0
  1517. package/vendor/@akanjs/native/native/desktop/src/linux/screen.rs +158 -0
  1518. package/vendor/@akanjs/native/native/desktop/src/linux/tray.rs +604 -0
  1519. package/vendor/@akanjs/native/native/desktop/src/menu.rs +517 -0
  1520. package/vendor/@akanjs/native/native/desktop/src/navigation.rs +381 -0
  1521. package/vendor/@akanjs/native/native/desktop/src/notify.rs +411 -0
  1522. package/vendor/@akanjs/native/native/desktop/src/notify_schedule.rs +382 -0
  1523. package/vendor/@akanjs/native/native/desktop/src/page_menu.rs +287 -0
  1524. package/vendor/@akanjs/native/native/desktop/src/panels.rs +333 -0
  1525. package/vendor/@akanjs/native/native/desktop/src/placement.rs +92 -0
  1526. package/vendor/@akanjs/native/native/desktop/src/routes.rs +153 -0
  1527. package/vendor/@akanjs/native/native/desktop/src/screen.rs +190 -0
  1528. package/vendor/@akanjs/native/native/desktop/src/tray.rs +279 -0
  1529. package/vendor/@akanjs/native/native/desktop/src/vectors.rs +126 -0
  1530. package/vendor/@akanjs/native/native/desktop/src/volume.rs +184 -0
  1531. package/vendor/@akanjs/native/native/desktop/src/win/appearance.rs +51 -0
  1532. package/vendor/@akanjs/native/native/desktop/src/win/autostart.rs +77 -0
  1533. package/vendor/@akanjs/native/native/desktop/src/win/camera.rs +34 -0
  1534. package/vendor/@akanjs/native/native/desktop/src/win/clipboard.rs +106 -0
  1535. package/vendor/@akanjs/native/native/desktop/src/win/device.rs +80 -0
  1536. package/vendor/@akanjs/native/native/desktop/src/win/dialogs.rs +917 -0
  1537. package/vendor/@akanjs/native/native/desktop/src/win/dock.rs +228 -0
  1538. package/vendor/@akanjs/native/native/desktop/src/win/hotkey.rs +110 -0
  1539. package/vendor/@akanjs/native/native/desktop/src/win/keychain.rs +103 -0
  1540. package/vendor/@akanjs/native/native/desktop/src/win/menu.rs +500 -0
  1541. package/vendor/@akanjs/native/native/desktop/src/win/mod.rs +102 -0
  1542. package/vendor/@akanjs/native/native/desktop/src/win/msgwin.rs +86 -0
  1543. package/vendor/@akanjs/native/native/desktop/src/win/notify.rs +334 -0
  1544. package/vendor/@akanjs/native/native/desktop/src/win/open.rs +127 -0
  1545. package/vendor/@akanjs/native/native/desktop/src/win/power.rs +64 -0
  1546. package/vendor/@akanjs/native/native/desktop/src/win/registry.rs +87 -0
  1547. package/vendor/@akanjs/native/native/desktop/src/win/screen.rs +127 -0
  1548. package/vendor/@akanjs/native/native/desktop/src/win/tray.rs +280 -0
  1549. package/vendor/@akanjs/native/native/desktop/src/win/volume.rs +71 -0
  1550. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeAcl.swift +241 -0
  1551. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeApp.swift +285 -0
  1552. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeBridge.swift +407 -0
  1553. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeContract.swift +106 -0
  1554. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeKernel.swift +317 -0
  1555. package/vendor/@akanjs/native/native/ios/Sources/AkanNativePlugin.swift +250 -0
  1556. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSchemeHandler.swift +209 -0
  1557. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeShell.swift +171 -0
  1558. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSpec.swift +143 -0
  1559. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeUpdates.swift +270 -0
  1560. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeVectors.swift +155 -0
  1561. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeViewController.swift +371 -0
  1562. package/vendor/@akanjs/native/packages/cli/src/api.ts +796 -0
  1563. package/vendor/@akanjs/native/packages/cli/src/commands/build.ts +137 -0
  1564. package/vendor/@akanjs/native/packages/cli/src/commands/compat.ts +53 -0
  1565. package/vendor/@akanjs/native/packages/cli/src/commands/dev.ts +249 -0
  1566. package/vendor/@akanjs/native/packages/cli/src/commands/doctor.ts +536 -0
  1567. package/vendor/@akanjs/native/packages/cli/src/commands/plugin.ts +164 -0
  1568. package/vendor/@akanjs/native/packages/cli/src/commands/signing.ts +32 -0
  1569. package/vendor/@akanjs/native/packages/cli/src/commands/test.ts +130 -0
  1570. package/vendor/@akanjs/native/packages/cli/src/commands/toolchain.ts +143 -0
  1571. package/vendor/@akanjs/native/packages/cli/src/commands/update.ts +114 -0
  1572. package/vendor/@akanjs/native/packages/cli/src/config.ts +305 -0
  1573. package/vendor/@akanjs/native/packages/cli/src/index.ts +77 -0
  1574. package/vendor/@akanjs/native/packages/cli/src/lib/acl.ts +420 -0
  1575. package/vendor/@akanjs/native/packages/cli/src/lib/addons.ts +217 -0
  1576. package/vendor/@akanjs/native/packages/cli/src/lib/apilevel.ts +245 -0
  1577. package/vendor/@akanjs/native/packages/cli/src/lib/apk.ts +203 -0
  1578. package/vendor/@akanjs/native/packages/cli/src/lib/args.ts +44 -0
  1579. package/vendor/@akanjs/native/packages/cli/src/lib/boot.ts +73 -0
  1580. package/vendor/@akanjs/native/packages/cli/src/lib/chrome.ts +89 -0
  1581. package/vendor/@akanjs/native/packages/cli/src/lib/codegen.ts +1128 -0
  1582. package/vendor/@akanjs/native/packages/cli/src/lib/compat.ts +185 -0
  1583. package/vendor/@akanjs/native/packages/cli/src/lib/configkeys.ts +99 -0
  1584. package/vendor/@akanjs/native/packages/cli/src/lib/csp.ts +198 -0
  1585. package/vendor/@akanjs/native/packages/cli/src/lib/desktop-server.ts +58 -0
  1586. package/vendor/@akanjs/native/packages/cli/src/lib/env.ts +257 -0
  1587. package/vendor/@akanjs/native/packages/cli/src/lib/exec.ts +104 -0
  1588. package/vendor/@akanjs/native/packages/cli/src/lib/googleservices.ts +53 -0
  1589. package/vendor/@akanjs/native/packages/cli/src/lib/hmr.ts +536 -0
  1590. package/vendor/@akanjs/native/packages/cli/src/lib/html.ts +63 -0
  1591. package/vendor/@akanjs/native/packages/cli/src/lib/icons.ts +316 -0
  1592. package/vendor/@akanjs/native/packages/cli/src/lib/image.ts +175 -0
  1593. package/vendor/@akanjs/native/packages/cli/src/lib/iossigning.ts +295 -0
  1594. package/vendor/@akanjs/native/packages/cli/src/lib/launch.ts +98 -0
  1595. package/vendor/@akanjs/native/packages/cli/src/lib/log.ts +105 -0
  1596. package/vendor/@akanjs/native/packages/cli/src/lib/macossigning.ts +357 -0
  1597. package/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.ts +107 -0
  1598. package/vendor/@akanjs/native/packages/cli/src/lib/maven.ts +244 -0
  1599. package/vendor/@akanjs/native/packages/cli/src/lib/names.ts +202 -0
  1600. package/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.ts +326 -0
  1601. package/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.ts +68 -0
  1602. package/vendor/@akanjs/native/packages/cli/src/lib/permissions.ts +80 -0
  1603. package/vendor/@akanjs/native/packages/cli/src/lib/plist.ts +139 -0
  1604. package/vendor/@akanjs/native/packages/cli/src/lib/png.ts +240 -0
  1605. package/vendor/@akanjs/native/packages/cli/src/lib/prepare.ts +331 -0
  1606. package/vendor/@akanjs/native/packages/cli/src/lib/privacy.ts +64 -0
  1607. package/vendor/@akanjs/native/packages/cli/src/lib/project.ts +747 -0
  1608. package/vendor/@akanjs/native/packages/cli/src/lib/publish.ts +121 -0
  1609. package/vendor/@akanjs/native/packages/cli/src/lib/root.ts +18 -0
  1610. package/vendor/@akanjs/native/packages/cli/src/lib/routes.ts +3 -0
  1611. package/vendor/@akanjs/native/packages/cli/src/lib/serve.ts +83 -0
  1612. package/vendor/@akanjs/native/packages/cli/src/lib/signing.ts +118 -0
  1613. package/vendor/@akanjs/native/packages/cli/src/lib/spec.ts +521 -0
  1614. package/vendor/@akanjs/native/packages/cli/src/lib/toolchains.ts +603 -0
  1615. package/vendor/@akanjs/native/packages/cli/src/lib/updates.ts +242 -0
  1616. package/vendor/@akanjs/native/packages/cli/src/lib/vectors.ts +121 -0
  1617. package/vendor/@akanjs/native/packages/cli/src/lib/windowssigning.ts +155 -0
  1618. package/vendor/@akanjs/native/packages/cli/src/lib/xml.ts +72 -0
  1619. package/vendor/@akanjs/native/packages/cli/src/platforms/android.ts +1321 -0
  1620. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.ts +105 -0
  1621. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop.ts +312 -0
  1622. package/vendor/@akanjs/native/packages/cli/src/platforms/index.ts +31 -0
  1623. package/vendor/@akanjs/native/packages/cli/src/platforms/ios.ts +801 -0
  1624. package/vendor/@akanjs/native/packages/cli/src/platforms/linux-appimage.ts +84 -0
  1625. package/vendor/@akanjs/native/packages/cli/src/platforms/linux.ts +55 -0
  1626. package/vendor/@akanjs/native/packages/cli/src/platforms/macos.ts +212 -0
  1627. package/vendor/@akanjs/native/packages/cli/src/platforms/targets.ts +12 -0
  1628. package/vendor/@akanjs/native/packages/cli/src/platforms/web-run.ts +69 -0
  1629. package/vendor/@akanjs/native/packages/cli/src/platforms/web.ts +28 -0
  1630. package/vendor/@akanjs/native/packages/cli/src/platforms/windows-installer.ts +628 -0
  1631. package/vendor/@akanjs/native/packages/cli/src/platforms/windows.ts +95 -0
  1632. package/vendor/@akanjs/native/packages/core/contract.json +96 -0
  1633. package/vendor/@akanjs/native/packages/core/src/acl.ts +272 -0
  1634. package/vendor/@akanjs/native/packages/core/src/boot.ts +97 -0
  1635. package/vendor/@akanjs/native/packages/core/src/contract.ts +100 -0
  1636. package/vendor/@akanjs/native/packages/core/src/errors.ts +95 -0
  1637. package/vendor/@akanjs/native/packages/core/src/files.ts +105 -0
  1638. package/vendor/@akanjs/native/packages/core/src/index.ts +35 -0
  1639. package/vendor/@akanjs/native/packages/core/src/kernel.ts +281 -0
  1640. package/vendor/@akanjs/native/packages/core/src/live.ts +62 -0
  1641. package/vendor/@akanjs/native/packages/core/src/mime.ts +8 -0
  1642. package/vendor/@akanjs/native/packages/core/src/plugin.ts +358 -0
  1643. package/vendor/@akanjs/native/packages/core/src/protocol.ts +194 -0
  1644. package/vendor/@akanjs/native/packages/core/src/runtime.ts +541 -0
  1645. package/vendor/@akanjs/native/packages/core/src/state.ts +46 -0
  1646. package/vendor/@akanjs/native/packages/core/src/testing.ts +176 -0
  1647. package/vendor/@akanjs/native/packages/core/src/version.ts +2 -0
  1648. package/vendor/@akanjs/native/packages/core/src/veto.ts +55 -0
  1649. package/vendor/@akanjs/native/packages/core/vectors/acl.json +57 -0
  1650. package/vendor/@akanjs/native/packages/core/vectors/bridge.json +76 -0
  1651. package/vendor/@akanjs/native/packages/core/vectors/ed25519.json +29 -0
  1652. package/vendor/@akanjs/native/packages/core/vectors/ids.json +73 -0
  1653. package/vendor/@akanjs/native/packages/core/vectors/navigation.json +75 -0
  1654. package/vendor/@akanjs/native/packages/core/vectors/ranges.json +39 -0
  1655. package/vendor/@akanjs/native/packages/core/vectors/retained.json +17 -0
  1656. package/vendor/@akanjs/native/packages/core/vectors/routes.json +66 -0
  1657. package/vendor/@akanjs/native/packages/core/vectors/scope.json +143 -0
  1658. package/vendor/@akanjs/native/packages/desktop/src/deeplinks.ts +143 -0
  1659. package/vendor/@akanjs/native/packages/desktop/src/delta.ts +174 -0
  1660. package/vendor/@akanjs/native/packages/desktop/src/dispatcher.ts +706 -0
  1661. package/vendor/@akanjs/native/packages/desktop/src/ffi.ts +76 -0
  1662. package/vendor/@akanjs/native/packages/desktop/src/grants.ts +47 -0
  1663. package/vendor/@akanjs/native/packages/desktop/src/host.ts +455 -0
  1664. package/vendor/@akanjs/native/packages/desktop/src/lifecycle.ts +142 -0
  1665. package/vendor/@akanjs/native/packages/desktop/src/main.ts +181 -0
  1666. package/vendor/@akanjs/native/packages/desktop/src/page-veto.ts +103 -0
  1667. package/vendor/@akanjs/native/packages/desktop/src/paths.ts +93 -0
  1668. package/vendor/@akanjs/native/packages/desktop/src/plugin.ts +275 -0
  1669. package/vendor/@akanjs/native/packages/desktop/src/relaunch.ts +236 -0
  1670. package/vendor/@akanjs/native/packages/desktop/src/server.ts +610 -0
  1671. package/vendor/@akanjs/native/packages/react/src/index.ts +23 -0
  1672. package/vendor/@akanjs/native/plugins/accessibility/android/AccessibilityPlugin.kt +96 -0
  1673. package/vendor/@akanjs/native/plugins/accessibility/ios/AccessibilityPlugin.swift +92 -0
  1674. package/vendor/@akanjs/native/plugins/accessibility/native-plugin.json +21 -0
  1675. package/vendor/@akanjs/native/plugins/accessibility/src/announce.ts +71 -0
  1676. package/vendor/@akanjs/native/plugins/accessibility/src/index.ts +77 -0
  1677. package/vendor/@akanjs/native/plugins/accessibility/src/web.ts +52 -0
  1678. package/vendor/@akanjs/native/plugins/app/android/AppPlugin.kt +106 -0
  1679. package/vendor/@akanjs/native/plugins/app/ios/AppPlugin.swift +52 -0
  1680. package/vendor/@akanjs/native/plugins/app/native-plugin.json +21 -0
  1681. package/vendor/@akanjs/native/plugins/app/src/desktop.ts +77 -0
  1682. package/vendor/@akanjs/native/plugins/app/src/index.ts +99 -0
  1683. package/vendor/@akanjs/native/plugins/app/src/web.ts +15 -0
  1684. package/vendor/@akanjs/native/plugins/app-state/android/AppStatePlugin.kt +90 -0
  1685. package/vendor/@akanjs/native/plugins/app-state/ios/AppStatePlugin.swift +77 -0
  1686. package/vendor/@akanjs/native/plugins/app-state/native-plugin.json +17 -0
  1687. package/vendor/@akanjs/native/plugins/app-state/src/index.ts +47 -0
  1688. package/vendor/@akanjs/native/plugins/app-state/src/web.ts +33 -0
  1689. package/vendor/@akanjs/native/plugins/appearance/android/AppearancePlugin.kt +133 -0
  1690. package/vendor/@akanjs/native/plugins/appearance/ios/AppearancePlugin.swift +109 -0
  1691. package/vendor/@akanjs/native/plugins/appearance/native-plugin.json +18 -0
  1692. package/vendor/@akanjs/native/plugins/appearance/src/desktop.ts +133 -0
  1693. package/vendor/@akanjs/native/plugins/appearance/src/index.ts +62 -0
  1694. package/vendor/@akanjs/native/plugins/appearance/src/setting.ts +18 -0
  1695. package/vendor/@akanjs/native/plugins/appearance/src/web.ts +25 -0
  1696. package/vendor/@akanjs/native/plugins/auth-session/android/AuthSessionPlugin.kt +171 -0
  1697. package/vendor/@akanjs/native/plugins/auth-session/ios/AuthSessionPlugin.swift +112 -0
  1698. package/vendor/@akanjs/native/plugins/auth-session/native-plugin.json +19 -0
  1699. package/vendor/@akanjs/native/plugins/auth-session/src/args.ts +62 -0
  1700. package/vendor/@akanjs/native/plugins/auth-session/src/desktop.ts +133 -0
  1701. package/vendor/@akanjs/native/plugins/auth-session/src/index.ts +39 -0
  1702. package/vendor/@akanjs/native/plugins/autostart/native-plugin.json +10 -0
  1703. package/vendor/@akanjs/native/plugins/autostart/src/desktop.ts +189 -0
  1704. package/vendor/@akanjs/native/plugins/autostart/src/index.ts +51 -0
  1705. package/vendor/@akanjs/native/plugins/badge/ios/BadgePlugin.swift +92 -0
  1706. package/vendor/@akanjs/native/plugins/badge/native-plugin.json +15 -0
  1707. package/vendor/@akanjs/native/plugins/badge/src/count.ts +12 -0
  1708. package/vendor/@akanjs/native/plugins/badge/src/desktop.ts +24 -0
  1709. package/vendor/@akanjs/native/plugins/badge/src/index.ts +40 -0
  1710. package/vendor/@akanjs/native/plugins/badge/src/web.ts +37 -0
  1711. package/vendor/@akanjs/native/plugins/biometric/android/BiometricPlugin.kt +179 -0
  1712. package/vendor/@akanjs/native/plugins/biometric/ios/BiometricPlugin.swift +129 -0
  1713. package/vendor/@akanjs/native/plugins/biometric/native-plugin.json +22 -0
  1714. package/vendor/@akanjs/native/plugins/biometric/src/index.ts +100 -0
  1715. package/vendor/@akanjs/native/plugins/browser/android/BrowserPlugin.kt +178 -0
  1716. package/vendor/@akanjs/native/plugins/browser/ios/BrowserPlugin.swift +63 -0
  1717. package/vendor/@akanjs/native/plugins/browser/native-plugin.json +22 -0
  1718. package/vendor/@akanjs/native/plugins/browser/src/args.ts +34 -0
  1719. package/vendor/@akanjs/native/plugins/browser/src/desktop.ts +40 -0
  1720. package/vendor/@akanjs/native/plugins/browser/src/index.ts +47 -0
  1721. package/vendor/@akanjs/native/plugins/browser/src/web.ts +60 -0
  1722. package/vendor/@akanjs/native/plugins/camera/android/CameraPlugin.kt +365 -0
  1723. package/vendor/@akanjs/native/plugins/camera/ios/CameraPlugin.swift +296 -0
  1724. package/vendor/@akanjs/native/plugins/camera/native-plugin.json +32 -0
  1725. package/vendor/@akanjs/native/plugins/camera/src/desktop.ts +27 -0
  1726. package/vendor/@akanjs/native/plugins/camera/src/index.ts +85 -0
  1727. package/vendor/@akanjs/native/plugins/camera/src/web.ts +267 -0
  1728. package/vendor/@akanjs/native/plugins/clipboard/android/ClipboardPlugin.kt +51 -0
  1729. package/vendor/@akanjs/native/plugins/clipboard/ios/ClipboardPlugin.swift +35 -0
  1730. package/vendor/@akanjs/native/plugins/clipboard/native-plugin.json +17 -0
  1731. package/vendor/@akanjs/native/plugins/clipboard/src/desktop.ts +66 -0
  1732. package/vendor/@akanjs/native/plugins/clipboard/src/index.ts +72 -0
  1733. package/vendor/@akanjs/native/plugins/clipboard/src/web.ts +69 -0
  1734. package/vendor/@akanjs/native/plugins/contacts/android/ContactsPlugin.kt +84 -0
  1735. package/vendor/@akanjs/native/plugins/contacts/ios/ContactsPlugin.swift +86 -0
  1736. package/vendor/@akanjs/native/plugins/contacts/native-plugin.json +22 -0
  1737. package/vendor/@akanjs/native/plugins/contacts/src/index.ts +43 -0
  1738. package/vendor/@akanjs/native/plugins/device/android/DevicePlugin.kt +70 -0
  1739. package/vendor/@akanjs/native/plugins/device/ios/DevicePlugin.swift +80 -0
  1740. package/vendor/@akanjs/native/plugins/device/native-plugin.json +18 -0
  1741. package/vendor/@akanjs/native/plugins/device/src/desktop.ts +276 -0
  1742. package/vendor/@akanjs/native/plugins/device/src/index.ts +72 -0
  1743. package/vendor/@akanjs/native/plugins/device/src/web.ts +162 -0
  1744. package/vendor/@akanjs/native/plugins/dialog/android/DialogPlugin.kt +260 -0
  1745. package/vendor/@akanjs/native/plugins/dialog/ios/DialogPlugin.swift +198 -0
  1746. package/vendor/@akanjs/native/plugins/dialog/native-plugin.json +18 -0
  1747. package/vendor/@akanjs/native/plugins/dialog/src/desktop.ts +80 -0
  1748. package/vendor/@akanjs/native/plugins/dialog/src/index.ts +87 -0
  1749. package/vendor/@akanjs/native/plugins/dialog/src/options.ts +111 -0
  1750. package/vendor/@akanjs/native/plugins/dialog/src/web.ts +296 -0
  1751. package/vendor/@akanjs/native/plugins/dock/native-plugin.json +10 -0
  1752. package/vendor/@akanjs/native/plugins/dock/src/desktop.ts +34 -0
  1753. package/vendor/@akanjs/native/plugins/dock/src/index.ts +46 -0
  1754. package/vendor/@akanjs/native/plugins/file-picker/android/FilePickerPlugin.kt +316 -0
  1755. package/vendor/@akanjs/native/plugins/file-picker/ios/FilePickerPlugin.swift +366 -0
  1756. package/vendor/@akanjs/native/plugins/file-picker/native-plugin.json +18 -0
  1757. package/vendor/@akanjs/native/plugins/file-picker/src/common.ts +125 -0
  1758. package/vendor/@akanjs/native/plugins/file-picker/src/desktop.ts +201 -0
  1759. package/vendor/@akanjs/native/plugins/file-picker/src/index.ts +222 -0
  1760. package/vendor/@akanjs/native/plugins/file-picker/src/web.ts +158 -0
  1761. package/vendor/@akanjs/native/plugins/filesystem/android/FilesystemPlugin.kt +561 -0
  1762. package/vendor/@akanjs/native/plugins/filesystem/ios/FilesystemPlugin.swift +596 -0
  1763. package/vendor/@akanjs/native/plugins/filesystem/native-plugin.json +45 -0
  1764. package/vendor/@akanjs/native/plugins/filesystem/src/common.ts +150 -0
  1765. package/vendor/@akanjs/native/plugins/filesystem/src/desktop.ts +438 -0
  1766. package/vendor/@akanjs/native/plugins/filesystem/src/index.ts +179 -0
  1767. package/vendor/@akanjs/native/plugins/filesystem/src/web.ts +334 -0
  1768. package/vendor/@akanjs/native/plugins/geolocation/android/GeolocationPlugin.kt +360 -0
  1769. package/vendor/@akanjs/native/plugins/geolocation/ios/GeolocationPlugin.swift +284 -0
  1770. package/vendor/@akanjs/native/plugins/geolocation/native-plugin.json +23 -0
  1771. package/vendor/@akanjs/native/plugins/geolocation/src/index.ts +155 -0
  1772. package/vendor/@akanjs/native/plugins/geolocation/src/web.ts +132 -0
  1773. package/vendor/@akanjs/native/plugins/global-shortcut/native-plugin.json +10 -0
  1774. package/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.ts +36 -0
  1775. package/vendor/@akanjs/native/plugins/global-shortcut/src/index.ts +55 -0
  1776. package/vendor/@akanjs/native/plugins/haptics/android/HapticsPlugin.kt +127 -0
  1777. package/vendor/@akanjs/native/plugins/haptics/ios/HapticsPlugin.swift +127 -0
  1778. package/vendor/@akanjs/native/plugins/haptics/native-plugin.json +19 -0
  1779. package/vendor/@akanjs/native/plugins/haptics/src/index.ts +34 -0
  1780. package/vendor/@akanjs/native/plugins/haptics/src/web.ts +53 -0
  1781. package/vendor/@akanjs/native/plugins/http/android/HttpPlugin.kt +234 -0
  1782. package/vendor/@akanjs/native/plugins/http/android/HttpUrl.kt +182 -0
  1783. package/vendor/@akanjs/native/plugins/http/ios/HttpPlugin.swift +228 -0
  1784. package/vendor/@akanjs/native/plugins/http/ios/HttpUrl.swift +166 -0
  1785. package/vendor/@akanjs/native/plugins/http/native-plugin.json +27 -0
  1786. package/vendor/@akanjs/native/plugins/http/src/common.ts +294 -0
  1787. package/vendor/@akanjs/native/plugins/http/src/desktop.ts +69 -0
  1788. package/vendor/@akanjs/native/plugins/http/src/index.ts +181 -0
  1789. package/vendor/@akanjs/native/plugins/http/src/web.ts +40 -0
  1790. package/vendor/@akanjs/native/plugins/iap/android/IapPlugin.kt +358 -0
  1791. package/vendor/@akanjs/native/plugins/iap/ios/IapPlugin.swift +306 -0
  1792. package/vendor/@akanjs/native/plugins/iap/native-plugin.json +28 -0
  1793. package/vendor/@akanjs/native/plugins/iap/src/index.ts +206 -0
  1794. package/vendor/@akanjs/native/plugins/keep-awake/android/KeepAwakePlugin.kt +48 -0
  1795. package/vendor/@akanjs/native/plugins/keep-awake/ios/KeepAwakePlugin.swift +36 -0
  1796. package/vendor/@akanjs/native/plugins/keep-awake/native-plugin.json +17 -0
  1797. package/vendor/@akanjs/native/plugins/keep-awake/src/desktop.ts +127 -0
  1798. package/vendor/@akanjs/native/plugins/keep-awake/src/index.ts +79 -0
  1799. package/vendor/@akanjs/native/plugins/keep-awake/src/web.ts +78 -0
  1800. package/vendor/@akanjs/native/plugins/keyboard/android/KeyboardPlugin.kt +77 -0
  1801. package/vendor/@akanjs/native/plugins/keyboard/ios/KeyboardPlugin.swift +93 -0
  1802. package/vendor/@akanjs/native/plugins/keyboard/native-plugin.json +18 -0
  1803. package/vendor/@akanjs/native/plugins/keyboard/src/index.ts +78 -0
  1804. package/vendor/@akanjs/native/plugins/keyboard/src/web.ts +57 -0
  1805. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationReceiver.kt +38 -0
  1806. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotifications.kt +284 -0
  1807. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationsPlugin.kt +248 -0
  1808. package/vendor/@akanjs/native/plugins/local-notifications/ios/LocalNotificationsPlugin.swift +279 -0
  1809. package/vendor/@akanjs/native/plugins/local-notifications/native-plugin.json +35 -0
  1810. package/vendor/@akanjs/native/plugins/local-notifications/src/desktop.ts +196 -0
  1811. package/vendor/@akanjs/native/plugins/local-notifications/src/index.ts +174 -0
  1812. package/vendor/@akanjs/native/plugins/local-notifications/src/schedule.ts +164 -0
  1813. package/vendor/@akanjs/native/plugins/local-notifications/src/timers.ts +72 -0
  1814. package/vendor/@akanjs/native/plugins/local-notifications/src/web.ts +158 -0
  1815. package/vendor/@akanjs/native/plugins/menu/native-plugin.json +10 -0
  1816. package/vendor/@akanjs/native/plugins/menu/src/desktop.ts +52 -0
  1817. package/vendor/@akanjs/native/plugins/menu/src/index.ts +107 -0
  1818. package/vendor/@akanjs/native/plugins/network/android/NetworkPlugin.kt +124 -0
  1819. package/vendor/@akanjs/native/plugins/network/ios/NetworkPlugin.swift +82 -0
  1820. package/vendor/@akanjs/native/plugins/network/native-plugin.json +19 -0
  1821. package/vendor/@akanjs/native/plugins/network/src/index.ts +59 -0
  1822. package/vendor/@akanjs/native/plugins/network/src/web.ts +43 -0
  1823. package/vendor/@akanjs/native/plugins/opener/android/OpenerPlugin.kt +81 -0
  1824. package/vendor/@akanjs/native/plugins/opener/ios/OpenerPlugin.swift +83 -0
  1825. package/vendor/@akanjs/native/plugins/opener/native-plugin.json +25 -0
  1826. package/vendor/@akanjs/native/plugins/opener/src/desktop.ts +88 -0
  1827. package/vendor/@akanjs/native/plugins/opener/src/index.ts +35 -0
  1828. package/vendor/@akanjs/native/plugins/opener/src/url.ts +39 -0
  1829. package/vendor/@akanjs/native/plugins/opener/src/web.ts +33 -0
  1830. package/vendor/@akanjs/native/plugins/preferences/android/PreferencesPlugin.kt +44 -0
  1831. package/vendor/@akanjs/native/plugins/preferences/ios/PreferencesPlugin.swift +47 -0
  1832. package/vendor/@akanjs/native/plugins/preferences/native-plugin.json +18 -0
  1833. package/vendor/@akanjs/native/plugins/preferences/src/desktop.ts +59 -0
  1834. package/vendor/@akanjs/native/plugins/preferences/src/index.ts +75 -0
  1835. package/vendor/@akanjs/native/plugins/preferences/src/web.ts +55 -0
  1836. package/vendor/@akanjs/native/plugins/push/android/AkanNativeMessagingService.kt +17 -0
  1837. package/vendor/@akanjs/native/plugins/push/android/PushPlugin.kt +265 -0
  1838. package/vendor/@akanjs/native/plugins/push/ios/PushPlugin.swift +173 -0
  1839. package/vendor/@akanjs/native/plugins/push/native-plugin.json +23 -0
  1840. package/vendor/@akanjs/native/plugins/push/src/index.ts +83 -0
  1841. package/vendor/@akanjs/native/plugins/screen/native-plugin.json +10 -0
  1842. package/vendor/@akanjs/native/plugins/screen/src/desktop.ts +50 -0
  1843. package/vendor/@akanjs/native/plugins/screen/src/index.ts +107 -0
  1844. package/vendor/@akanjs/native/plugins/screen/src/web.ts +92 -0
  1845. package/vendor/@akanjs/native/plugins/screen-orientation/android/ScreenOrientationPlugin.kt +113 -0
  1846. package/vendor/@akanjs/native/plugins/screen-orientation/ios/ScreenOrientationPlugin.swift +150 -0
  1847. package/vendor/@akanjs/native/plugins/screen-orientation/native-plugin.json +17 -0
  1848. package/vendor/@akanjs/native/plugins/screen-orientation/src/index.ts +69 -0
  1849. package/vendor/@akanjs/native/plugins/screen-orientation/src/types.ts +26 -0
  1850. package/vendor/@akanjs/native/plugins/screen-orientation/src/web.ts +67 -0
  1851. package/vendor/@akanjs/native/plugins/secure-storage/android/SecureStoragePlugin.kt +184 -0
  1852. package/vendor/@akanjs/native/plugins/secure-storage/ios/SecureStoragePlugin.swift +145 -0
  1853. package/vendor/@akanjs/native/plugins/secure-storage/native-plugin.json +18 -0
  1854. package/vendor/@akanjs/native/plugins/secure-storage/src/desktop.ts +332 -0
  1855. package/vendor/@akanjs/native/plugins/secure-storage/src/index.ts +33 -0
  1856. package/vendor/@akanjs/native/plugins/share/android/SharePlugin.kt +218 -0
  1857. package/vendor/@akanjs/native/plugins/share/ios/SharePlugin.swift +142 -0
  1858. package/vendor/@akanjs/native/plugins/share/native-plugin.json +18 -0
  1859. package/vendor/@akanjs/native/plugins/share/src/index.ts +87 -0
  1860. package/vendor/@akanjs/native/plugins/share/src/options.ts +43 -0
  1861. package/vendor/@akanjs/native/plugins/share/src/web.ts +116 -0
  1862. package/vendor/@akanjs/native/plugins/single-instance/native-plugin.json +10 -0
  1863. package/vendor/@akanjs/native/plugins/single-instance/src/desktop.ts +63 -0
  1864. package/vendor/@akanjs/native/plugins/single-instance/src/index.ts +32 -0
  1865. package/vendor/@akanjs/native/plugins/single-instance/src/socket.ts +248 -0
  1866. package/vendor/@akanjs/native/plugins/splash-screen/android/SplashScreenPlugin.kt +19 -0
  1867. package/vendor/@akanjs/native/plugins/splash-screen/ios/SplashScreenPlugin.swift +20 -0
  1868. package/vendor/@akanjs/native/plugins/splash-screen/native-plugin.json +17 -0
  1869. package/vendor/@akanjs/native/plugins/splash-screen/src/index.ts +24 -0
  1870. package/vendor/@akanjs/native/plugins/splash-screen/src/web.ts +17 -0
  1871. package/vendor/@akanjs/native/plugins/sqlite/android/SqlStatements.kt +121 -0
  1872. package/vendor/@akanjs/native/plugins/sqlite/android/SqlitePlugin.kt +327 -0
  1873. package/vendor/@akanjs/native/plugins/sqlite/ios/SqlitePlugin.swift +361 -0
  1874. package/vendor/@akanjs/native/plugins/sqlite/native-plugin.json +18 -0
  1875. package/vendor/@akanjs/native/plugins/sqlite/src/common.ts +221 -0
  1876. package/vendor/@akanjs/native/plugins/sqlite/src/desktop.ts +140 -0
  1877. package/vendor/@akanjs/native/plugins/sqlite/src/index.ts +114 -0
  1878. package/vendor/@akanjs/native/plugins/toast/android/ToastPlugin.kt +27 -0
  1879. package/vendor/@akanjs/native/plugins/toast/native-plugin.json +14 -0
  1880. package/vendor/@akanjs/native/plugins/toast/src/index.ts +41 -0
  1881. package/vendor/@akanjs/native/plugins/toast/src/queue.ts +77 -0
  1882. package/vendor/@akanjs/native/plugins/toast/src/web.ts +130 -0
  1883. package/vendor/@akanjs/native/plugins/tray/native-plugin.json +10 -0
  1884. package/vendor/@akanjs/native/plugins/tray/src/desktop.ts +73 -0
  1885. package/vendor/@akanjs/native/plugins/tray/src/index.ts +111 -0
  1886. package/vendor/@akanjs/native/plugins/updates/android/UpdatesPlugin.kt +290 -0
  1887. package/vendor/@akanjs/native/plugins/updates/ios/UpdatesPlugin.swift +292 -0
  1888. package/vendor/@akanjs/native/plugins/updates/native-plugin.json +19 -0
  1889. package/vendor/@akanjs/native/plugins/updates/src/desktop.ts +869 -0
  1890. package/vendor/@akanjs/native/plugins/updates/src/index.ts +107 -0
  1891. package/vendor/@akanjs/native/plugins/volume/android/VolumePlugin.kt +107 -0
  1892. package/vendor/@akanjs/native/plugins/volume/native-plugin.json +14 -0
  1893. package/vendor/@akanjs/native/plugins/volume/src/common.ts +28 -0
  1894. package/vendor/@akanjs/native/plugins/volume/src/desktop.ts +185 -0
  1895. package/vendor/@akanjs/native/plugins/volume/src/index.ts +32 -0
  1896. package/vendor/@akanjs/native/plugins/window/native-plugin.json +32 -0
  1897. package/vendor/@akanjs/native/plugins/window/src/desktop.ts +170 -0
  1898. package/vendor/@akanjs/native/plugins/window/src/index.ts +342 -0
  1899. package/vendor/@akanjs/native/plugins/window/src/web.ts +43 -0
  1900. package/vendor/@akanjs/native/plugins/window-state/native-plugin.json +10 -0
  1901. package/vendor/@akanjs/native/plugins/window-state/src/desktop.ts +73 -0
  1902. package/vendor/@akanjs/native/plugins/window-state/src/index.ts +35 -0
  1903. package/vendor/@akanjs/native/plugins/window-state/src/state.ts +146 -0
  1904. package/vendor/use-agentic/AgentActivity.tsx +26 -0
  1905. package/vendor/use-agentic/AgentGate.ts +25 -0
  1906. package/vendor/use-agentic/AgentProgress.ts +13 -1
  1907. package/vendor/use-agentic/AgentSession.ts +183 -28
  1908. package/vendor/use-agentic/AgenticSurface.ts +94 -34
  1909. package/vendor/use-agentic/Compaction.ts +82 -8
  1910. package/vendor/use-agentic/ToolRunner.ts +77 -2
  1911. package/vendor/use-agentic/Transcript.ts +6 -1
  1912. package/vendor/use-agentic/WIRE.md +16 -2
  1913. package/vendor/use-agentic/httpRunner.ts +19 -4
  1914. package/vendor/use-agentic/index.ts +2 -1
  1915. package/vendor/use-agentic/surfaceContext.ts +3 -0
  1916. package/vendor/use-agentic/types.ts +83 -3
  1917. package/webkit/CsrRouteTable.ts +278 -0
  1918. package/webkit/CsrStack.ts +98 -0
  1919. package/webkit/RenderLayer.tsx +132 -0
  1920. package/webkit/bootCsr.tsx +41 -283
  1921. package/webkit/csrFrameDump.ts +67 -0
  1922. package/webkit/index.ts +5 -5
  1923. package/webkit/lazy.tsx +3 -13
  1924. package/webkit/nativeNavigation.ts +206 -0
  1925. package/webkit/nativePurchase.ts +103 -0
  1926. package/webkit/nativeUpdates.ts +55 -0
  1927. package/webkit/seoPages.ts +20 -0
  1928. package/webkit/useBodyScrollLock.tsx +0 -6
  1929. package/webkit/useCamera.tsx +76 -89
  1930. package/webkit/useCsrValues.ts +338 -554
  1931. package/webkit/useDebounce.ts +0 -3
  1932. package/webkit/useEscapeKey.tsx +1 -12
  1933. package/webkit/useFetch.ts +15 -14
  1934. package/webkit/useFrameRuntime.ts +5 -43
  1935. package/webkit/useGeoLocation.tsx +12 -14
  1936. package/webkit/useHistory.ts +23 -6
  1937. package/webkit/useLocation.ts +11 -11
  1938. package/webkit/usePageActivity.ts +6 -0
  1939. package/webkit/usePageFocusEffect.ts +13 -0
  1940. package/webkit/usePageLocation.ts +17 -0
  1941. package/webkit/usePageTool.tsx +2 -9
  1942. package/webkit/usePurchase.tsx +69 -140
  1943. package/webkit/useScreenScope.tsx +2 -13
  1944. package/capacitor.base.config.ts +0 -141
  1945. package/client/capacitor.ts +0 -297
  1946. package/client/fetch.ts +0 -1
  1947. package/client/frameDebug.ts +0 -29
  1948. package/common/deepObjectify.ts +0 -42
  1949. package/common/dynamicRecord.ts +0 -12
  1950. package/common/formatPhone.ts +0 -7
  1951. package/common/getAllPropertyDescriptors.ts +0 -13
  1952. package/common/isPhoneNumber.ts +0 -8
  1953. package/common/lowerlize.ts +0 -4
  1954. package/common/mergeVersion.ts +0 -10
  1955. package/common/pathGet.ts +0 -23
  1956. package/common/pathGetLoose.ts +0 -31
  1957. package/common/pathSet.ts +0 -27
  1958. package/common/plainFieldsOf.ts +0 -13
  1959. package/common/randomPicks.ts +0 -12
  1960. package/common/splitVersion.ts +0 -11
  1961. package/common/toPathSegments.ts +0 -10
  1962. package/common/websocketAuth.ts +0 -24
  1963. package/common/websocketBinaryFrame.ts +0 -46
  1964. package/constant/deserialize.ts +0 -98
  1965. package/dictionary/agentTurn.dictionary.ts +0 -33
  1966. package/document/schema.ts +0 -24
  1967. package/fetch/fetchType/clientSignal.type.ts +0 -22
  1968. package/local/apps/akan/akan-local.db +0 -0
  1969. package/local/apps/akan/akan-local.db-shm +0 -0
  1970. package/local/apps/akan/akan-local.db-wal +0 -0
  1971. package/local/apps/akan/akan-local_solid.db +0 -0
  1972. package/local/apps/akan/akan-local_solid.db-shm +0 -0
  1973. package/local/apps/akan/akan-local_solid.db-wal +0 -0
  1974. package/local/apps/serverLifecycle/serverLifecycle-local.db +0 -0
  1975. package/local/apps/serverLifecycle/serverLifecycle-local.db-shm +0 -0
  1976. package/local/apps/serverLifecycle/serverLifecycle-local.db-wal +0 -0
  1977. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db +0 -0
  1978. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-shm +0 -0
  1979. package/local/apps/serverLifecycle/serverLifecycle-local_solid.db-wal +0 -0
  1980. package/server/artifact/manifestTypes.ts +0 -19
  1981. package/server/assetEncoding.ts +0 -27
  1982. package/server/consoleEvaluator.ts +0 -51
  1983. package/server/di/index.ts +0 -4
  1984. package/server/di/resolveAdaptorHierarchy.ts +0 -91
  1985. package/server/di/resolveServiceHierarchy.ts +0 -47
  1986. package/server/hmr/changeBatch.ts +0 -14
  1987. package/server/hmr/index.ts +0 -4
  1988. package/server/metadata.tsx +0 -198
  1989. package/server/proxy/akanResponse.ts +0 -16
  1990. package/server/proxy/bunRequestFields.ts +0 -12
  1991. package/server/routing/eventStream.ts +0 -93
  1992. package/server/rscPartialCommit.ts +0 -3
  1993. package/server/rscPatchSafety.ts +0 -57
  1994. package/server/rscWorkerReplay.ts +0 -49
  1995. package/server/subRouteIndexDocument.tsx +0 -61
  1996. package/service/predefinedAdaptor/deepseekLlm.ts +0 -82
  1997. package/service/predefinedAdaptor/sqlDescriptor.ts +0 -25
  1998. package/store/agent/storeSurface.ts +0 -28
  1999. package/store/agent/types.ts +0 -16
  2000. package/store/agentic/useFileFieldTool.ts +0 -221
  2001. package/store/stateInfo.ts +0 -66
  2002. package/test/playwright.config.base.ts +0 -48
  2003. package/test/playwright.pageAgent.ts +0 -41
  2004. package/test/sample.ts +0 -19
  2005. package/types/capacitor.base.config.d.ts +0 -3
  2006. package/types/client/capacitor.d.ts +0 -290
  2007. package/types/client/fetch.d.ts +0 -1
  2008. package/types/client/frameDebug.d.ts +0 -3
  2009. package/types/common/deepObjectify.d.ts +0 -6
  2010. package/types/common/dynamicRecord.d.ts +0 -14
  2011. package/types/common/formatPhone.d.ts +0 -2
  2012. package/types/common/getAllPropertyDescriptors.d.ts +0 -5
  2013. package/types/common/isPhoneNumber.d.ts +0 -2
  2014. package/types/common/lowerlize.d.ts +0 -2
  2015. package/types/common/mergeVersion.d.ts +0 -10
  2016. package/types/common/pathGet.d.ts +0 -1
  2017. package/types/common/pathGetLoose.d.ts +0 -8
  2018. package/types/common/pathSet.d.ts +0 -3
  2019. package/types/common/plainFieldsOf.d.ts +0 -6
  2020. package/types/common/randomPicks.d.ts +0 -1
  2021. package/types/common/splitVersion.d.ts +0 -11
  2022. package/types/common/toPathSegments.d.ts +0 -9
  2023. package/types/common/websocketAuth.d.ts +0 -19
  2024. package/types/common/websocketBinaryFrame.d.ts +0 -17
  2025. package/types/constant/deserialize.d.ts +0 -10
  2026. package/types/dictionary/agentTurn.dictionary.d.ts +0 -1
  2027. package/types/document/schema.d.ts +0 -5
  2028. package/types/fetch/fetchType/clientSignal.type.d.ts +0 -16
  2029. package/types/server/artifact/manifestTypes.d.ts +0 -16
  2030. package/types/server/assetEncoding.d.ts +0 -7
  2031. package/types/server/consoleEvaluator.d.ts +0 -2
  2032. package/types/server/di/index.d.ts +0 -4
  2033. package/types/server/di/resolveAdaptorHierarchy.d.ts +0 -21
  2034. package/types/server/di/resolveServiceHierarchy.d.ts +0 -13
  2035. package/types/server/di.d.ts +0 -1
  2036. package/types/server/hmr/changeBatch.d.ts +0 -13
  2037. package/types/server/hmr/index.d.ts +0 -4
  2038. package/types/server/hmr.d.ts +0 -1
  2039. package/types/server/metadata.d.ts +0 -22
  2040. package/types/server/proxy/akanResponse.d.ts +0 -7
  2041. package/types/server/proxy/bunRequestFields.d.ts +0 -1
  2042. package/types/server/routing/eventStream.d.ts +0 -23
  2043. package/types/server/rscPartialCommit.d.ts +0 -1
  2044. package/types/server/rscPatchSafety.d.ts +0 -8
  2045. package/types/server/rscWorkerReplay.d.ts +0 -32
  2046. package/types/server/subRouteIndexDocument.d.ts +0 -8
  2047. package/types/service/predefinedAdaptor/deepseekLlm.d.ts +0 -19
  2048. package/types/service/predefinedAdaptor/sqlDescriptor.d.ts +0 -5
  2049. package/types/store/agent/storeSurface.d.ts +0 -14
  2050. package/types/store/agent/types.d.ts +0 -15
  2051. package/types/store/agentic/useFileFieldTool.d.ts +0 -41
  2052. package/types/store/stateInfo.d.ts +0 -23
  2053. package/types/test/playwright.config.base.d.ts +0 -9
  2054. package/types/test/playwright.pageAgent.d.ts +0 -12
  2055. package/types/test/sample.d.ts +0 -15
  2056. package/types/ui/Agent/Context.d.ts +0 -13
  2057. package/types/ui/Agent/Mic.d.ts +0 -8
  2058. package/types/ui/Agent/Section.d.ts +0 -10
  2059. package/types/ui/Agent/StateKey.d.ts +0 -16
  2060. package/types/ui/Agent/Tool.d.ts +0 -15
  2061. package/types/ui/Agent/Transcript.d.ts +0 -13
  2062. package/types/ui/Agent/markdownBlocks.d.ts +0 -35
  2063. package/types/ui/Agent/markdownSpans.d.ts +0 -2
  2064. package/types/ui/Agent/markdownTable.d.ts +0 -16
  2065. package/types/ui/Agent/sessionHistory.d.ts +0 -14
  2066. package/types/ui/Agent/sessionView.d.ts +0 -15
  2067. package/types/ui/Dialog/Action.d.ts +0 -5
  2068. package/types/ui/Dialog/Close.d.ts +0 -6
  2069. package/types/ui/Dialog/Content.d.ts +0 -6
  2070. package/types/ui/Dialog/Title.d.ts +0 -5
  2071. package/types/ui/Dialog/Trigger.d.ts +0 -6
  2072. package/types/ui/Dialog/context.d.ts +0 -18
  2073. package/types/ui/Layout/LeftSider.d.ts +0 -11
  2074. package/types/ui/Layout/RightSider.d.ts +0 -12
  2075. package/types/ui/Layout/Template.d.ts +0 -7
  2076. package/types/ui/Layout/TopLeftAction.d.ts +0 -6
  2077. package/types/ui/Layout/Unit.d.ts +0 -9
  2078. package/types/ui/Layout/View.d.ts +0 -8
  2079. package/types/ui/Layout/Zone.d.ts +0 -6
  2080. package/types/ui/Link/Back.d.ts +0 -7
  2081. package/types/ui/Link/Close.d.ts +0 -7
  2082. package/types/ui/Link/CsrLink.d.ts +0 -2
  2083. package/types/ui/Link/Lang.d.ts +0 -8
  2084. package/types/ui/Link/SsrLink.d.ts +0 -2
  2085. package/types/ui/Link/types.d.ts +0 -50
  2086. package/types/ui/Loading/Area.d.ts +0 -9
  2087. package/types/ui/Loading/Button.d.ts +0 -7
  2088. package/types/ui/Loading/Input.d.ts +0 -7
  2089. package/types/ui/Model/LoadInit.d.ts +0 -10
  2090. package/types/ui/Model/LoadView.d.ts +0 -10
  2091. package/types/ui/Reference/Collapse.d.ts +0 -11
  2092. package/types/ui/Reference/Summary.d.ts +0 -13
  2093. package/types/ui/Reference/Toolbar.d.ts +0 -21
  2094. package/types/ui/Reference/dictText.d.ts +0 -6
  2095. package/types/ui/Reference/style.d.ts +0 -20
  2096. package/types/ui/Signal/Message.d.ts +0 -23
  2097. package/types/ui/Signal/PubSub.d.ts +0 -24
  2098. package/types/ui/Signal/Request.d.ts +0 -8
  2099. package/types/ui/System/DevModeToggle.d.ts +0 -1
  2100. package/types/ui/System/Gtag.d.ts +0 -4
  2101. package/types/ui/System/frameCssVars.d.ts +0 -5
  2102. package/types/ui/Tab/Menu.d.ts +0 -12
  2103. package/types/ui/Tab/Menus.d.ts +0 -6
  2104. package/types/ui/Tab/Panel.d.ts +0 -8
  2105. package/types/ui/Tab/context.d.ts +0 -11
  2106. package/types/ui/UiOverride/Provider.d.ts +0 -15
  2107. package/types/ui/UiOverride/context.d.ts +0 -127
  2108. package/types/ui/UiOverride/createOverridable.d.ts +0 -9
  2109. package/types/ui/UiOverride/useUiOverride.d.ts +0 -7
  2110. package/types/ui/UiOverride/useUiRecipe.d.ts +0 -8
  2111. package/types/webkit/createRobotPage.d.ts +0 -15
  2112. package/types/webkit/createSitemapPage.d.ts +0 -4
  2113. package/types/webkit/useCodepush.d.ts +0 -16
  2114. package/types/webkit/useContact.d.ts +0 -11
  2115. package/ui/Agent/Context.tsx +0 -49
  2116. package/ui/Agent/Mic.tsx +0 -27
  2117. package/ui/Agent/Section.tsx +0 -24
  2118. package/ui/Agent/StateKey.tsx +0 -46
  2119. package/ui/Agent/Tool.tsx +0 -59
  2120. package/ui/Agent/Transcript.tsx +0 -33
  2121. package/ui/Agent/markdownBlocks.ts +0 -137
  2122. package/ui/Agent/markdownSpans.tsx +0 -49
  2123. package/ui/Agent/markdownTable.ts +0 -54
  2124. package/ui/Agent/sessionHistory.ts +0 -88
  2125. package/ui/Agent/sessionView.ts +0 -38
  2126. package/ui/Dialog/Action.tsx +0 -15
  2127. package/ui/Dialog/Close.tsx +0 -18
  2128. package/ui/Dialog/Content.tsx +0 -11
  2129. package/ui/Dialog/Title.tsx +0 -15
  2130. package/ui/Dialog/Trigger.tsx +0 -18
  2131. package/ui/Dialog/context.ts +0 -32
  2132. package/ui/Layout/LeftSider.tsx +0 -43
  2133. package/ui/Layout/RightSider.tsx +0 -47
  2134. package/ui/Layout/Template.tsx +0 -11
  2135. package/ui/Layout/TopLeftAction.tsx +0 -28
  2136. package/ui/Layout/Unit.tsx +0 -19
  2137. package/ui/Layout/View.tsx +0 -12
  2138. package/ui/Layout/Zone.tsx +0 -10
  2139. package/ui/Link/Back.tsx +0 -15
  2140. package/ui/Link/Close.tsx +0 -20
  2141. package/ui/Link/CsrLink.tsx +0 -46
  2142. package/ui/Link/Lang.tsx +0 -16
  2143. package/ui/Link/SsrLink.tsx +0 -72
  2144. package/ui/Link/types.ts +0 -55
  2145. package/ui/Loading/Area.tsx +0 -27
  2146. package/ui/Loading/Button.tsx +0 -15
  2147. package/ui/Loading/Input.tsx +0 -15
  2148. package/ui/Model/LoadInit.tsx +0 -11
  2149. package/ui/Model/LoadView.tsx +0 -11
  2150. package/ui/Reference/Collapse.tsx +0 -26
  2151. package/ui/Reference/Summary.tsx +0 -25
  2152. package/ui/Reference/Toolbar.tsx +0 -44
  2153. package/ui/Reference/dictText.ts +0 -9
  2154. package/ui/Reference/style.ts +0 -45
  2155. package/ui/Signal/Message.tsx +0 -215
  2156. package/ui/Signal/PubSub.tsx +0 -201
  2157. package/ui/Signal/Request.tsx +0 -11
  2158. package/ui/System/DevModeToggle.tsx +0 -19
  2159. package/ui/System/Gtag.tsx +0 -69
  2160. package/ui/System/frameCssVars.ts +0 -25
  2161. package/ui/Tab/Menu.tsx +0 -70
  2162. package/ui/Tab/Menus.tsx +0 -13
  2163. package/ui/Tab/Panel.tsx +0 -25
  2164. package/ui/Tab/context.ts +0 -20
  2165. package/ui/UiOverride/Provider.tsx +0 -26
  2166. package/ui/UiOverride/context.ts +0 -143
  2167. package/ui/UiOverride/createOverridable.tsx +0 -25
  2168. package/ui/UiOverride/useUiOverride.ts +0 -15
  2169. package/ui/UiOverride/useUiRecipe.ts +0 -15
  2170. package/webkit/createRobotPage.ts +0 -15
  2171. package/webkit/createSitemapPage.ts +0 -4
  2172. package/webkit/useCodepush.tsx +0 -99
  2173. package/webkit/useContact.tsx +0 -52
@@ -0,0 +1,917 @@
1
+ //! Native dialogs on Windows for the dialog and file-picker plugins, with the ops and JSON of the
2
+ //! macOS sheets (panels.rs, dialog_args.rs): `alert.show` → a TaskDialog (a dialog of our own when
3
+ //! it needs a text field), `panel.open` and `panel.save` → IFileOpenDialog / IFileSaveDialog,
4
+ //! `panel.mime` → the registry's Content Type. And D7 (JavaScript alert/confirm/prompt) under tests.
5
+ //!
6
+ //! - Each dialog runs on a thread of its own, owned by the app window (Tauri does the same through
7
+ //! rfd: tauri-plugins-workspace/plugins/dialog/src/desktop.rs:142-150). A Win32 dialog runs a
8
+ //! nested modal loop, and inside tao's event handler that loop would hold back every other event
9
+ //! of the app, IPC responses included (tao buffers what arrives while the handler runs,
10
+ //! tao/src/platform_impl/windows/event_loop/runner.rs event_buffer). The owner is disabled while
11
+ //! the dialog is open, like under a sheet; the other windows keep working.
12
+ //! - Common Controls 6 (TaskDialogIndirect, themed buttons and text fields): the Bun executable has
13
+ //! no manifest, so build.rs embeds one into this DLL (resource 2, a dependency on
14
+ //! Microsoft.Windows.Common-Controls 6) and a dialog thread activates it (electrobun/package/src/
15
+ //! native/win/nativeWrapper.cpp showTaskDialogWithDllActivationContext). TaskDialogIndirect is
16
+ //! looked up at run time, so the DLL loads without it; alerts then use our own dialog as well.
17
+ //! - Types: extensions and MIME types become one "*.ext" filter (the registry's MIME database and a
18
+ //! table of common types); a type without a known extension turns the filter off, so a file is
19
+ //! never unpickable (the macOS rule). One filter, no "All files" choice, as on macOS.
20
+
21
+ use std::{
22
+ cell::RefCell,
23
+ collections::HashMap,
24
+ ffi::c_void,
25
+ sync::{LazyLock, Mutex, OnceLock},
26
+ };
27
+
28
+ use tao::platform::windows::WindowExtWindows;
29
+ use windows::core::{w, Interface, BOOL, HRESULT, HSTRING, PCWSTR, PWSTR};
30
+ use windows::Win32::Foundation::{ERROR_CANCELLED, HANDLE, HINSTANCE, HMODULE, HWND, LPARAM, RECT, S_OK, WPARAM};
31
+ use windows::Win32::Graphics::Gdi::{
32
+ CreateFontIndirectW, DeleteObject, DrawTextW, GetDC, GetObjectW, ReleaseDC, SelectObject, DRAW_TEXT_FORMAT, DT_CALCRECT, DT_EXPANDTABS, DT_NOPREFIX, DT_SINGLELINE, DT_WORDBREAK, FW_BOLD,
33
+ HFONT, LOGFONTW,
34
+ };
35
+ use windows::Win32::System::ApplicationInstallationAndServicing::{ActivateActCtx, CreateActCtxW, DeactivateActCtx, ReleaseActCtx, ACTCTXW};
36
+ use windows::Win32::System::Com::{CoCreateInstance, CoInitializeEx, CoTaskMemFree, CoUninitialize, CLSCTX_INPROC_SERVER, COINIT_APARTMENTTHREADED, COINIT_DISABLE_OLE1DDE};
37
+ use windows::Win32::System::LibraryLoader::{GetModuleHandleExW, GetProcAddress, LoadLibraryW, GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT};
38
+ use windows::Win32::System::Ole::IOleWindow;
39
+ use windows::Win32::System::Registry::{RegCloseKey, RegEnumKeyExW, RegOpenKeyExW, HKEY, HKEY_CLASSES_ROOT, KEY_READ};
40
+ use windows::Win32::UI::Controls::{
41
+ EM_SETCUEBANNER, EM_SETSEL, TASKDIALOGCONFIG, TASKDIALOG_BUTTON, TASKDIALOG_NOTIFICATIONS, TDF_ALLOW_DIALOG_CANCELLATION, TDF_CALLBACK_TIMER, TDF_POSITION_RELATIVE_TO_WINDOW, TDF_SIZE_TO_CONTENT, TDM_CLICK_BUTTON, TDN_CREATED, TDN_DESTROYED, TDN_TIMER,
42
+ };
43
+ use windows::Win32::UI::Shell::Common::COMDLG_FILTERSPEC;
44
+ use windows::Win32::UI::Shell::{
45
+ FileOpenDialog, FileSaveDialog, IFileDialog, IFileOpenDialog, IFileSaveDialog, IShellItem, SHCreateItemFromParsingName, FOS_ALLOWMULTISELECT, FOS_FILEMUSTEXIST, FOS_FORCEFILESYSTEM,
46
+ FOS_OVERWRITEPROMPT, FOS_PATHMUSTEXIST, FOS_PICKFOLDERS, SIGDN_FILESYSPATH,
47
+ };
48
+ use windows::Win32::UI::WindowsAndMessaging::{
49
+ CreateWindowExW, DestroyWindow, DialogBoxIndirectParamW, EndDialog, GetClientRect, GetWindowLongPtrW, GetWindowRect, GetWindowTextLengthW, GetWindowTextW, IsWindowVisible, KillTimer, MapDialogRect,
50
+ PostMessageW, SendMessageW, SetTimer, SetWindowLongPtrW, SetWindowPos, SetWindowTextW, BS_DEFPUSHBUTTON, BS_PUSHBUTTON, DLGTEMPLATE, DM_SETDEFID, DS_MODALFRAME, DS_SETFONT,
51
+ ES_AUTOHSCROLL, GWLP_USERDATA, HMENU, HWND_MESSAGE, IDCANCEL, IDOK, SWP_NOACTIVATE, SWP_NOZORDER, WINDOW_EX_STYLE, WINDOW_STYLE, WM_COMMAND, WM_DESTROY,
52
+ WM_APP, WM_GETFONT, WM_INITDIALOG, WM_NEXTDLGCTL, WM_SETFONT, WM_TIMER, WS_CAPTION, WS_CHILD, WS_EX_CLIENTEDGE, WS_POPUP, WS_SYSMENU, WS_TABSTOP, WS_VISIBLE,
53
+ };
54
+
55
+ use crate::dialog_args::{alert_answer, mime_answer, open_answer, save_answer, strings, Alert, TestAnswers, CANCELLED};
56
+ use crate::json::{self, V};
57
+
58
+ /// Handles `panel.open`, `panel.save`, `panel.mime` and `alert.show`. false: another op (also
59
+ /// `panel.types`, macOS UTIs, which lib.rs answers UNSUPPORTED).
60
+ pub fn async_op(id: u64, json: &str, windows: &crate::Windows) -> bool {
61
+ if !json.contains("\"panel.") && !json.contains("\"alert.") {
62
+ return false;
63
+ }
64
+ let Ok(cmd) = json::parse(json) else { return false };
65
+ match cmd.get("op").and_then(|v| v.as_str()) {
66
+ Some("panel.mime") => crate::reply(id, Ok(mime_answer(&strings(cmd.get("exts")), mime_for_ext))),
67
+ // The call that showed it was cancelled or its page ended: the dialog goes. Posted to the
68
+ // dialog's own thread; its answer reaches a call nobody waits for.
69
+ Some("alert.dismiss") => {
70
+ let tag = cmd.get("tag").and_then(|v| v.as_str()).unwrap_or("");
71
+ let open = OPEN_DIALOGS.lock().unwrap().remove(tag);
72
+ if let Some((hwnd, how)) = open {
73
+ let hwnd = HWND(hwnd as *mut c_void);
74
+ let _ = match how {
75
+ Dismiss::Click(button) => unsafe { PostMessageW(Some(hwnd), TDM_CLICK_BUTTON.0 as u32, WPARAM(button as usize), LPARAM(0)) },
76
+ Dismiss::Form => unsafe { PostMessageW(Some(hwnd), WM_DISMISS, WPARAM(0), LPARAM(0)) },
77
+ };
78
+ }
79
+ crate::reply(id, Ok(format!(r#"{{"dismissed":{}}}"#, open.is_some())));
80
+ }
81
+ Some(op @ ("panel.open" | "panel.save" | "alert.show")) => {
82
+ if let Err(e) = show(id, op, &cmd, windows) {
83
+ crate::reply(id, Err(e));
84
+ }
85
+ }
86
+ _ => return false,
87
+ }
88
+ true
89
+ }
90
+
91
+ /// How `alert.dismiss` ends a dialog: a TaskDialog by clicking one of its buttons (TaskDialog has no
92
+ /// "end without an answer"), our own form by WM_DISMISS.
93
+ #[derive(Clone, Copy)]
94
+ enum Dismiss {
95
+ Click(i32),
96
+ Form,
97
+ }
98
+
99
+ /// Alerts on screen by tag: the dialog window (an isize: HWND is not Send) and how to end it.
100
+ static OPEN_DIALOGS: LazyLock<Mutex<HashMap<String, (isize, Dismiss)>>> = LazyLock::new(Default::default);
101
+
102
+ /// Ends our own form without an answer (-1).
103
+ const WM_DISMISS: u32 = WM_APP + 1;
104
+
105
+ /// What a dialog thread shows.
106
+ enum Job {
107
+ Alert { alert: Alert, caption: String },
108
+ Open { directory: bool, multiple: bool, types: Vec<String> },
109
+ Save { name: Option<String> },
110
+ }
111
+
112
+ fn show(id: u64, op: &str, cmd: &V, windows: &crate::Windows) -> Result<(), String> {
113
+ let wid = match crate::window_arg(cmd)? {
114
+ Some(w) => w,
115
+ None => windows.primary().ok_or("there is no window")?,
116
+ };
117
+ let win = windows.map.get(&wid).ok_or_else(|| format!("no window {wid}"))?;
118
+ if !win.window.is_visible() {
119
+ win.window.set_visible(true);
120
+ }
121
+ let job = match op {
122
+ "alert.show" => Job::Alert { alert: Alert::parse(cmd), caption: windows.shell.title.clone() },
123
+ "panel.save" => Job::Save { name: cmd.get("name").and_then(|v| v.as_str()).map(str::to_string) },
124
+ _ => Job::Open {
125
+ directory: cmd.get("directory").and_then(|v| v.as_bool()).unwrap_or(false),
126
+ multiple: cmd.get("multiple").and_then(|v| v.as_bool()).unwrap_or(false),
127
+ types: strings(cmd.get("types")),
128
+ },
129
+ };
130
+ let owner = win.window.hwnd(); // an isize: HWND is not Send
131
+ let test = TestAnswers::get(windows.shell.devtools);
132
+ std::thread::Builder::new()
133
+ .name("akan-native dialog".into())
134
+ .spawn(move || crate::reply(id, dialog_thread(HWND(owner as *mut c_void), test, job)))
135
+ .map(drop)
136
+ .map_err(|e| format!("INTERNAL: cannot start the dialog thread: {e}"))
137
+ }
138
+
139
+ fn dialog_thread(owner: HWND, test: Option<&'static TestAnswers>, job: Job) -> Result<String, String> {
140
+ // The file dialogs are COM objects of a single-threaded apartment.
141
+ let com = unsafe { CoInitializeEx(None, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE) };
142
+ let result = {
143
+ let controls = CommonControls::activate();
144
+ match job {
145
+ Job::Alert { alert, caption } => {
146
+ let task_dialog = controls.as_ref().and_then(|_| task_dialog_fn());
147
+ let answer = match task_dialog {
148
+ Some(f) if alert.input.is_none() => task_alert(f, owner, &caption, &alert, test),
149
+ _ => form(owner, &caption, &alert, test),
150
+ };
151
+ answer.map(|(button, text)| alert_answer(button, text.as_deref()))
152
+ }
153
+ Job::Open { directory, multiple, types } => unsafe { open(owner, directory, multiple, &types, test) },
154
+ Job::Save { name } => unsafe { save(owner, name.as_deref(), test) },
155
+ }
156
+ };
157
+ if com.is_ok() {
158
+ unsafe { CoUninitialize() };
159
+ }
160
+ result
161
+ }
162
+
163
+ fn internal(context: &str) -> impl Fn(windows::core::Error) -> String + '_ {
164
+ move |e| format!("INTERNAL: {context}: {e}")
165
+ }
166
+
167
+ // ───────────────────────── Common Controls 6 ─────────────────────────
168
+
169
+ // winbase.h; the constants live in a large windows-rs module (Win32_System_WindowsProgramming).
170
+ const ACTCTX_FLAG_RESOURCE_NAME_VALID: u32 = 0x8;
171
+ const ACTCTX_FLAG_HMODULE_VALID: u32 = 0x80;
172
+ /// ISOLATIONAWARE_MANIFEST_RESOURCE_ID: where the linker puts a DLL's manifest (build.rs).
173
+ const DLL_MANIFEST: u16 = 2;
174
+
175
+ /// This DLL: the module that holds ANCHOR, not the executable.
176
+ fn this_module() -> Option<HMODULE> {
177
+ static ANCHOR: u8 = 0;
178
+ let mut module = HMODULE::default();
179
+ let flags = GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT;
180
+ unsafe { GetModuleHandleExW(flags, PCWSTR(&ANCHOR as *const u8 as *const u16), &mut module) }.ok()?;
181
+ Some(module)
182
+ }
183
+
184
+ /// This DLL's manifest (Common Controls 6) as this thread's activation context while it lives.
185
+ struct CommonControls {
186
+ context: HANDLE,
187
+ cookie: usize,
188
+ }
189
+
190
+ impl CommonControls {
191
+ fn activate() -> Option<CommonControls> {
192
+ let module = this_module()?;
193
+ unsafe {
194
+ let request = ACTCTXW {
195
+ cbSize: size_of::<ACTCTXW>() as u32,
196
+ dwFlags: ACTCTX_FLAG_HMODULE_VALID | ACTCTX_FLAG_RESOURCE_NAME_VALID,
197
+ lpResourceName: PCWSTR(DLL_MANIFEST as usize as *const u16),
198
+ hModule: module,
199
+ ..Default::default()
200
+ };
201
+ let context = CreateActCtxW(&request).map_err(|e| log!("dialogs: no Common Controls 6 manifest in the DLL ({e}); plain controls")).ok()?;
202
+ let mut cookie = 0;
203
+ if let Err(e) = ActivateActCtx(Some(context), &mut cookie) {
204
+ log!("dialogs: cannot activate Common Controls 6 ({e})");
205
+ ReleaseActCtx(context);
206
+ return None;
207
+ }
208
+ Some(CommonControls { context, cookie })
209
+ }
210
+ }
211
+ }
212
+
213
+ impl Drop for CommonControls {
214
+ fn drop(&mut self) {
215
+ unsafe {
216
+ let _ = DeactivateActCtx(0, self.cookie);
217
+ ReleaseActCtx(self.context);
218
+ }
219
+ }
220
+ }
221
+
222
+ type TaskDialogIndirect = unsafe extern "system" fn(*const TASKDIALOGCONFIG, *mut i32, *mut i32, *mut BOOL) -> HRESULT;
223
+
224
+ /// TaskDialogIndirect of comctl32 6 (5.82, what a process without a manifest gets, has none). The
225
+ /// first call runs under CommonControls, so the loader picks version 6 from the side-by-side store.
226
+ fn task_dialog_fn() -> Option<TaskDialogIndirect> {
227
+ static FN: OnceLock<Option<usize>> = OnceLock::new();
228
+ let f = *FN.get_or_init(|| unsafe {
229
+ let comctl = LoadLibraryW(w!("comctl32.dll")).ok()?;
230
+ GetProcAddress(comctl, windows::core::s!("TaskDialogIndirect")).map(|f| f as usize)
231
+ });
232
+ // Safety: the export has this signature (commctrl.h).
233
+ f.map(|f| unsafe { std::mem::transmute::<usize, TaskDialogIndirect>(f) })
234
+ }
235
+
236
+ // ───────────────────────── alerts ─────────────────────────
237
+
238
+ /// Button ids: after IDOK..IDCONTINUE, which TaskDialog and the dialog manager use themselves.
239
+ const BUTTON_ID: i32 = 100;
240
+
241
+ /// Tests: which button the TaskDialog's timer notification clicks, once.
242
+ struct TestClick {
243
+ delay: u32,
244
+ /// A button id to click, and the answer to give when the test's button is not one of the dialog's.
245
+ click: i32,
246
+ answer: Option<isize>,
247
+ done: bool,
248
+ }
249
+
250
+ /// What the TaskDialog callback needs: the tag to file the dialog under, and the test's click.
251
+ struct TaskCallback {
252
+ tag: Option<String>,
253
+ /// The button `alert.dismiss` clicks: the cancel button, else the first.
254
+ dismiss: i32,
255
+ click: Option<TestClick>,
256
+ }
257
+
258
+ /// `alert.show` as a TaskDialog: the title is the main instruction and the message the content under
259
+ /// it (NSAlert's messageText / informativeText), the buttons in their order with the first one as
260
+ /// the default. Escape and the close button answer with the cancel button; without one the dialog
261
+ /// cannot be cancelled. No destructive style: TaskDialog has none.
262
+ fn task_alert(f: TaskDialogIndirect, owner: HWND, caption: &str, a: &Alert, test: Option<&'static TestAnswers>) -> Result<(isize, Option<String>), String> {
263
+ let (main, content) = a.lines();
264
+ let (caption, main_w, content_w) = (HSTRING::from(caption), HSTRING::from(main), HSTRING::from(content));
265
+ let labels: Vec<HSTRING> = a.buttons.iter().map(|(label, _)| HSTRING::from(label.as_str())).collect();
266
+ let buttons: Vec<TASKDIALOG_BUTTON> = labels.iter().enumerate().map(|(i, l)| TASKDIALOG_BUTTON { nButtonID: BUTTON_ID + i as i32, pszButtonText: PCWSTR(l.as_ptr()) }).collect();
267
+ let n = buttons.len() as isize;
268
+ let cancel = a.cancel();
269
+ let text = |s: &HSTRING| if s.is_empty() { PCWSTR::null() } else { PCWSTR(s.as_ptr()) };
270
+
271
+ let mut flags = TDF_POSITION_RELATIVE_TO_WINDOW | TDF_SIZE_TO_CONTENT;
272
+ if cancel.is_some() {
273
+ flags |= TDF_ALLOW_DIALOG_CANCELLATION;
274
+ }
275
+ // A packed struct (commctrl.h): fields are assigned whole, never borrowed.
276
+ let mut config = TASKDIALOGCONFIG::default();
277
+ config.cbSize = size_of::<TASKDIALOGCONFIG>() as u32;
278
+ config.hwndParent = owner;
279
+ config.pszWindowTitle = PCWSTR(caption.as_ptr());
280
+ config.pszMainInstruction = text(&main_w);
281
+ config.pszContent = text(&content_w);
282
+ config.cButtons = buttons.len() as u32;
283
+ config.pButtons = buttons.as_ptr();
284
+ config.nDefaultButton = BUTTON_ID;
285
+ let click = test.map(|t| {
286
+ let known = (0..n).contains(&t.button);
287
+ TestClick { delay: t.delay_ms(), click: BUTTON_ID + if known { t.button as i32 } else { 0 }, answer: (!known).then_some(t.button), done: false }
288
+ });
289
+ if click.is_some() {
290
+ // TDN_TIMER comes about every 200 ms with the time since the dialog was created.
291
+ flags |= TDF_CALLBACK_TIMER;
292
+ }
293
+ let mut callback = TaskCallback { tag: a.tag.clone(), dismiss: BUTTON_ID + cancel.unwrap_or(0) as i32, click };
294
+ config.pfCallback = Some(task_callback);
295
+ config.lpCallbackData = &mut callback as *mut TaskCallback as isize;
296
+ config.dwFlags = flags;
297
+ let mut pressed = 0;
298
+ let shown = unsafe { f(&config, &mut pressed, std::ptr::null_mut(), std::ptr::null_mut()) }.ok().map_err(internal("TaskDialogIndirect"));
299
+ if let Some(tag) = &callback.tag {
300
+ OPEN_DIALOGS.lock().unwrap().remove(tag);
301
+ }
302
+ shown?;
303
+ if let Some(answer) = callback.click.and_then(|c| c.answer) {
304
+ return Ok((answer, None));
305
+ }
306
+ let button = match pressed as isize - BUTTON_ID as isize {
307
+ i if (0..n).contains(&i) => i,
308
+ _ => cancel.map_or(-1, |c| c as isize), // IDCANCEL: Escape or the close button
309
+ };
310
+ Ok((button, None))
311
+ }
312
+
313
+ unsafe extern "system" fn task_callback(hwnd: HWND, msg: TASKDIALOG_NOTIFICATIONS, wparam: WPARAM, _: LPARAM, data: isize) -> HRESULT {
314
+ let callback = unsafe { &mut *(data as *mut TaskCallback) };
315
+ if msg == TDN_CREATED {
316
+ if let Some(tag) = &callback.tag {
317
+ OPEN_DIALOGS.lock().unwrap().insert(tag.clone(), (hwnd.0 as isize, Dismiss::Click(callback.dismiss)));
318
+ }
319
+ } else if msg == TDN_DESTROYED {
320
+ if let Some(tag) = &callback.tag {
321
+ OPEN_DIALOGS.lock().unwrap().remove(tag);
322
+ }
323
+ } else if msg == TDN_TIMER {
324
+ if let Some(click) = &mut callback.click {
325
+ if !click.done && wparam.0 >= click.delay as usize {
326
+ click.done = true;
327
+ unsafe { SendMessageW(hwnd, TDM_CLICK_BUTTON.0 as u32, Some(WPARAM(click.click as usize)), Some(LPARAM(0))) };
328
+ }
329
+ }
330
+ }
331
+ S_OK
332
+ }
333
+
334
+ /// Our own dialog: a prompt (a text field under the text), or an alert when there is no TaskDialog.
335
+ /// An empty in-memory template (Segoe UI 9 pt) whose controls WM_INITDIALOG creates and lays out in
336
+ /// dialog units (MapDialogRect), so the layout follows the font and the monitor's DPI. The buttons
337
+ /// are in their order, right-aligned, the first one the default (Return).
338
+ struct Form<'a> {
339
+ alert: &'a Alert,
340
+ owner: HWND,
341
+ test: Option<&'static TestAnswers>,
342
+ edit: Option<HWND>,
343
+ bold: Option<HFONT>,
344
+ done: bool,
345
+ button: isize,
346
+ text: Option<String>,
347
+ }
348
+
349
+ const TEST_TIMER: usize = 1;
350
+
351
+ fn form(owner: HWND, caption: &str, a: &Alert, test: Option<&'static TestAnswers>) -> Result<(isize, Option<String>), String> {
352
+ let mut form = Form { alert: a, owner, test, edit: None, bold: None, done: false, button: -1, text: None };
353
+ let template = template(caption, a.cancel().is_some());
354
+ let module = this_module().map(|m| HINSTANCE(m.0));
355
+ let result = unsafe { DialogBoxIndirectParamW(module, template.as_ptr() as *const DLGTEMPLATE, Some(owner), Some(form_proc), LPARAM(&mut form as *mut Form as isize)) };
356
+ if result <= 0 {
357
+ return Err(format!("INTERNAL: DialogBoxIndirectParam: {}", windows::core::Error::from_thread()));
358
+ }
359
+ Ok((form.button, form.text))
360
+ }
361
+
362
+ /// DLGTEMPLATE, no menu, the default class, the caption and DS_SETFONT's font; no items. DWORD
363
+ /// aligned, as the dialog manager requires.
364
+ fn template(caption: &str, closable: bool) -> Vec<u32> {
365
+ let style = WS_POPUP.0 | WS_CAPTION.0 | if closable { WS_SYSMENU.0 } else { 0 } | DS_MODALFRAME as u32 | DS_SETFONT as u32;
366
+ // style, extended style, item count, x, y, cx, cy (resized in WM_INITDIALOG), menu, class
367
+ let mut words: Vec<u16> = vec![style as u16, (style >> 16) as u16, 0, 0, 0, 0, 0, 200, 60, 0, 0];
368
+ words.extend(caption.encode_utf16().chain([0]));
369
+ words.push(9); // points
370
+ words.extend("Segoe UI".encode_utf16().chain([0]));
371
+ let mut out = vec![0u32; words.len().div_ceil(2)];
372
+ // Safety: `out` has room for every word.
373
+ unsafe { std::ptr::copy_nonoverlapping(words.as_ptr(), out.as_mut_ptr() as *mut u16, words.len()) };
374
+ out
375
+ }
376
+
377
+ unsafe extern "system" fn form_proc(hwnd: HWND, msg: u32, wparam: WPARAM, lparam: LPARAM) -> isize {
378
+ unsafe {
379
+ if msg == WM_INITDIALOG {
380
+ SetWindowLongPtrW(hwnd, GWLP_USERDATA, lparam.0);
381
+ let form = &mut *(lparam.0 as *mut Form);
382
+ form.layout(hwnd);
383
+ if let Some(tag) = &form.alert.tag {
384
+ OPEN_DIALOGS.lock().unwrap().insert(tag.clone(), (hwnd.0 as isize, Dismiss::Form));
385
+ }
386
+ if let Some(t) = form.test {
387
+ SetTimer(Some(hwnd), TEST_TIMER, t.delay_ms(), None);
388
+ }
389
+ // FALSE: the focus is set (the text field); TRUE: the dialog manager focuses the first button.
390
+ return form.edit.is_none() as isize;
391
+ }
392
+ let Some(form) = (GetWindowLongPtrW(hwnd, GWLP_USERDATA) as *mut Form).as_mut() else { return 0 };
393
+ match msg {
394
+ WM_COMMAND => {
395
+ let n = form.alert.buttons.len() as i32;
396
+ let button = match (wparam.0 & 0xffff) as i32 {
397
+ id if (BUTTON_ID..BUTTON_ID + n).contains(&id) => (id - BUTTON_ID) as isize,
398
+ id if id == IDOK.0 => 0, // Return
399
+ id if id == IDCANCEL.0 => match form.alert.cancel() {
400
+ Some(c) => c as isize, // Escape, the close button
401
+ None => return 1,
402
+ },
403
+ _ => return 0,
404
+ };
405
+ form.finish(hwnd, button);
406
+ 1
407
+ }
408
+ WM_TIMER if wparam.0 == TEST_TIMER => {
409
+ let _ = KillTimer(Some(hwnd), TEST_TIMER);
410
+ if let Some(t) = form.test {
411
+ if let (Some(edit), Some(text)) = (form.edit, &t.text) {
412
+ let _ = SetWindowTextW(edit, &HSTRING::from(text.as_str()));
413
+ }
414
+ form.finish(hwnd, t.button);
415
+ }
416
+ 1
417
+ }
418
+ WM_DISMISS => {
419
+ form.finish(hwnd, -1);
420
+ 1
421
+ }
422
+ WM_DESTROY => {
423
+ if let Some(bold) = form.bold.take() {
424
+ let _ = DeleteObject(bold.into());
425
+ }
426
+ if let Some(tag) = &form.alert.tag {
427
+ OPEN_DIALOGS.lock().unwrap().remove(tag);
428
+ }
429
+ 0
430
+ }
431
+ _ => 0,
432
+ }
433
+ }
434
+ }
435
+
436
+ impl Form<'_> {
437
+ unsafe fn finish(&mut self, hwnd: HWND, button: isize) {
438
+ if std::mem::replace(&mut self.done, true) {
439
+ return;
440
+ }
441
+ self.button = button;
442
+ self.text = self.edit.map(|edit| unsafe { window_text(edit) });
443
+ let _ = unsafe { EndDialog(hwnd, 1) };
444
+ }
445
+
446
+ unsafe fn layout(&mut self, hwnd: HWND) {
447
+ unsafe {
448
+ let font = HFONT(SendMessageW(hwnd, WM_GETFONT, None, None).0 as *mut c_void);
449
+ // Dialog units (a quarter of the font's average width, an eighth of its height) in pixels.
450
+ let du = |x: i32, y: i32| {
451
+ let mut r = RECT { left: 0, top: 0, right: x, bottom: y };
452
+ let _ = MapDialogRect(hwnd, &mut r);
453
+ (r.right, r.bottom)
454
+ };
455
+ let (mx, my) = du(7, 7);
456
+ let (gx, gy) = du(4, 4);
457
+ let (bw, bh) = du(50, 14);
458
+ let (pad, _) = du(10, 0);
459
+ let mut width = du(220, 0).0;
460
+
461
+ let labels: Vec<String> = self.alert.buttons.iter().map(|(l, _)| l.clone()).collect();
462
+ let widths: Vec<i32> = labels.iter().map(|l| bw.max(measure(hwnd, font, l, 0).0 + pad)).collect();
463
+ let row = widths.iter().sum::<i32>() + gx * (widths.len() as i32 - 1);
464
+ width = width.max(row);
465
+
466
+ let (primary, secondary) = self.alert.lines();
467
+ let mut y = my;
468
+ if !primary.is_empty() {
469
+ // The title in bold over the message, as NSAlert and TaskDialog set it apart.
470
+ let label_font = if secondary.is_empty() { font } else { self.bold_font(font) };
471
+ let h = measure(hwnd, label_font, primary, width).1;
472
+ control(hwnd, w!("STATIC"), primary, 0x80 /* SS_NOPREFIX */, WINDOW_EX_STYLE(0), -1, (mx, y, width, h), label_font);
473
+ y += h + gy;
474
+ }
475
+ if !secondary.is_empty() {
476
+ let h = measure(hwnd, font, secondary, width).1;
477
+ control(hwnd, w!("STATIC"), secondary, 0x80, WINDOW_EX_STYLE(0), -1, (mx, y, width, h), font);
478
+ y += h + gy;
479
+ }
480
+ if let Some((text, placeholder)) = &self.alert.input {
481
+ let edit = control(hwnd, w!("EDIT"), text, WS_TABSTOP.0 | ES_AUTOHSCROLL as u32, WS_EX_CLIENTEDGE, BUTTON_ID - 1, (mx, y, width, bh), font);
482
+ if !placeholder.is_empty() {
483
+ let cue = HSTRING::from(placeholder.as_str());
484
+ // TRUE: shown while the (focused) field is empty.
485
+ SendMessageW(edit, EM_SETCUEBANNER, Some(WPARAM(1)), Some(LPARAM(cue.as_ptr() as isize)));
486
+ }
487
+ SendMessageW(edit, EM_SETSEL, Some(WPARAM(0)), Some(LPARAM(-1)));
488
+ // The dialog manager's way to focus a control (WM_INITDIALOG then returns FALSE).
489
+ SendMessageW(hwnd, WM_NEXTDLGCTL, Some(WPARAM(edit.0 as usize)), Some(LPARAM(1)));
490
+ self.edit = Some(edit);
491
+ y += bh + gy;
492
+ }
493
+ y += my - gy;
494
+ let mut x = mx + width - row;
495
+ for (i, (label, w)) in labels.iter().zip(&widths).enumerate() {
496
+ let style = WS_TABSTOP.0 | if i == 0 { BS_DEFPUSHBUTTON } else { BS_PUSHBUTTON } as u32;
497
+ control(hwnd, w!("BUTTON"), label, style, WINDOW_EX_STYLE(0), BUTTON_ID + i as i32, (x, y, *w, bh), font);
498
+ x += w + gx;
499
+ }
500
+ SendMessageW(hwnd, DM_SETDEFID, Some(WPARAM(BUTTON_ID as usize)), None);
501
+
502
+ // Client size → window size, centered on the owner.
503
+ let (cw, ch) = (mx + width + mx, y + bh + my);
504
+ let (mut outer, mut inner, mut owner) = (RECT::default(), RECT::default(), RECT::default());
505
+ let _ = GetWindowRect(hwnd, &mut outer);
506
+ let _ = GetClientRect(hwnd, &mut inner);
507
+ let _ = GetWindowRect(self.owner, &mut owner);
508
+ let (ww, wh) = (cw + (outer.right - outer.left) - inner.right, ch + (outer.bottom - outer.top) - inner.bottom);
509
+ let (x, y) = ((owner.left + owner.right - ww) / 2, (owner.top + owner.bottom - wh) / 2);
510
+ let _ = SetWindowPos(hwnd, None, x, y, ww, wh, SWP_NOZORDER | SWP_NOACTIVATE);
511
+ }
512
+ }
513
+
514
+ /// The dialog font in bold, deleted with the dialog.
515
+ unsafe fn bold_font(&mut self, font: HFONT) -> HFONT {
516
+ unsafe {
517
+ let mut lf = LOGFONTW::default();
518
+ if GetObjectW(font.into(), size_of::<LOGFONTW>() as i32, Some(&mut lf as *mut LOGFONTW as *mut c_void)) == 0 {
519
+ return font;
520
+ }
521
+ lf.lfWeight = FW_BOLD.0 as i32;
522
+ let bold = CreateFontIndirectW(&lf);
523
+ if bold.is_invalid() {
524
+ return font;
525
+ }
526
+ self.bold = Some(bold);
527
+ bold
528
+ }
529
+ }
530
+ }
531
+
532
+ /// A child control with the dialog's font.
533
+ unsafe fn control(parent: HWND, class: PCWSTR, text: &str, style: u32, ex: WINDOW_EX_STYLE, id: i32, (x, y, w, h): (i32, i32, i32, i32), font: HFONT) -> HWND {
534
+ unsafe {
535
+ let menu = HMENU(id as isize as *mut c_void); // a child's id
536
+ let child = CreateWindowExW(ex, class, &HSTRING::from(text), WINDOW_STYLE(WS_CHILD.0 | WS_VISIBLE.0 | style), x, y, w, h, Some(parent), Some(menu), None, None).unwrap_or_default();
537
+ SendMessageW(child, WM_SETFONT, Some(WPARAM(font.0 as usize)), Some(LPARAM(1)));
538
+ child
539
+ }
540
+ }
541
+
542
+ /// The size of `text` in `font`: one line when `width` is 0, else wrapped to `width`.
543
+ unsafe fn measure(hwnd: HWND, font: HFONT, text: &str, width: i32) -> (i32, i32) {
544
+ unsafe {
545
+ let dc = GetDC(Some(hwnd));
546
+ let old = SelectObject(dc, font.into());
547
+ let mut wide: Vec<u16> = text.encode_utf16().collect();
548
+ let mut r = RECT { left: 0, top: 0, right: width, bottom: 0 };
549
+ let format: DRAW_TEXT_FORMAT = DT_CALCRECT | DT_NOPREFIX | DT_EXPANDTABS | if width == 0 { DT_SINGLELINE } else { DT_WORDBREAK };
550
+ DrawTextW(dc, &mut wide, &mut r, format);
551
+ SelectObject(dc, old);
552
+ ReleaseDC(Some(hwnd), dc);
553
+ (r.right - r.left, r.bottom - r.top)
554
+ }
555
+ }
556
+
557
+ unsafe fn window_text(hwnd: HWND) -> String {
558
+ unsafe {
559
+ let mut buf = vec![0u16; GetWindowTextLengthW(hwnd) as usize + 1];
560
+ let n = GetWindowTextW(hwnd, &mut buf);
561
+ String::from_utf16_lossy(&buf[..n.max(0) as usize])
562
+ }
563
+ }
564
+
565
+ // ───────────────────────── file dialogs ─────────────────────────
566
+
567
+ const CANCELLED_HR: HRESULT = HRESULT::from_win32(ERROR_CANCELLED.0);
568
+
569
+ unsafe fn open(owner: HWND, directory: bool, multiple: bool, types: &[String], test: Option<&'static TestAnswers>) -> Result<String, String> {
570
+ unsafe {
571
+ let dialog: IFileOpenDialog = CoCreateInstance(&FileOpenDialog, None, CLSCTX_INPROC_SERVER).map_err(internal("FileOpenDialog"))?;
572
+ let mut options = dialog.GetOptions().map_err(internal("GetOptions"))? | FOS_FORCEFILESYSTEM | FOS_PATHMUSTEXIST | FOS_FILEMUSTEXIST;
573
+ if directory {
574
+ options |= FOS_PICKFOLDERS;
575
+ } else if multiple {
576
+ options |= FOS_ALLOWMULTISELECT;
577
+ }
578
+ dialog.SetOptions(options).map_err(internal("SetOptions"))?;
579
+ // Kept alive until Show returns: the dialog holds the pointers.
580
+ let spec = (!directory).then(|| filter(types)).flatten().map(|s| HSTRING::from(s.as_str()));
581
+ if let Some(spec) = &spec {
582
+ dialog.SetFileTypes(&[COMDLG_FILTERSPEC { pszName: PCWSTR(spec.as_ptr()), pszSpec: PCWSTR(spec.as_ptr()) }]).map_err(internal("SetFileTypes"))?;
583
+ }
584
+ prepare(&dialog, test, None);
585
+ match show_modal(&dialog, owner, test, directory) {
586
+ Err(e) if e.code() == CANCELLED_HR => return Ok(CANCELLED.into()),
587
+ Err(e) => return Err(internal("Show")(e)),
588
+ Ok(()) => {}
589
+ }
590
+ let items = dialog.GetResults().map_err(internal("GetResults"))?;
591
+ let mut paths = Vec::new();
592
+ for i in 0..items.GetCount().map_err(internal("GetCount"))? {
593
+ paths.push(path_of(&items.GetItemAt(i).map_err(internal("GetItemAt"))?)?);
594
+ }
595
+ Ok(open_answer(&paths))
596
+ }
597
+ }
598
+
599
+ unsafe fn save(owner: HWND, name: Option<&str>, test: Option<&'static TestAnswers>) -> Result<String, String> {
600
+ unsafe {
601
+ let dialog: IFileSaveDialog = CoCreateInstance(&FileSaveDialog, None, CLSCTX_INPROC_SERVER).map_err(internal("FileSaveDialog"))?;
602
+ // The plugin writes the file without asking again, as after NSSavePanel.
603
+ let options = dialog.GetOptions().map_err(internal("GetOptions"))? | FOS_FORCEFILESYSTEM | FOS_PATHMUSTEXIST | FOS_OVERWRITEPROMPT;
604
+ dialog.SetOptions(options).map_err(internal("SetOptions"))?;
605
+ if let Some(name) = name {
606
+ let _ = dialog.SetFileName(&HSTRING::from(name));
607
+ // A name typed without an extension gets the suggested one.
608
+ if let Some((_, ext)) = name.rsplit_once('.').filter(|(stem, ext)| !stem.is_empty() && !ext.is_empty()) {
609
+ let _ = dialog.SetDefaultExtension(&HSTRING::from(ext));
610
+ }
611
+ }
612
+ prepare(&dialog, test, name);
613
+ match show_modal(&dialog, owner, test, true) {
614
+ Err(e) if e.code() == CANCELLED_HR => return Ok(CANCELLED.into()),
615
+ Err(e) => return Err(internal("Show")(e)),
616
+ Ok(()) => {}
617
+ }
618
+ let item = dialog.GetResult().map_err(internal("GetResult"))?;
619
+ Ok(save_answer(Some(&path_of(&item)?)))
620
+ }
621
+ }
622
+
623
+ unsafe fn path_of(item: &IShellItem) -> Result<String, String> {
624
+ unsafe {
625
+ let path: PWSTR = item.GetDisplayName(SIGDN_FILESYSPATH).map_err(internal("GetDisplayName"))?;
626
+ let s = path.to_string().map_err(|e| format!("INTERNAL: a path is not UTF-16: {e}"));
627
+ CoTaskMemFree(Some(path.0 as *const c_void));
628
+ s
629
+ }
630
+ }
631
+
632
+ /// Tests: the answer's folder and name, set before the dialog is shown (as on macOS).
633
+ unsafe fn prepare(dialog: &IFileDialog, test: Option<&'static TestAnswers>, name: Option<&str>) {
634
+ let Some(t) = test else { return };
635
+ unsafe {
636
+ if let Some(dir) = &t.directory {
637
+ if let Ok(folder) = SHCreateItemFromParsingName::<_, _, IShellItem>(&HSTRING::from(dir.as_str()), None) {
638
+ let _ = dialog.SetFolder(&folder);
639
+ }
640
+ }
641
+ if let (Some(test_name), Some(_)) = (&t.name, name) {
642
+ let _ = dialog.SetFileName(&HSTRING::from(test_name.as_str()));
643
+ }
644
+ }
645
+ }
646
+
647
+ thread_local! {
648
+ /// Tests: the file dialog this thread shows, and whether to answer it with OK.
649
+ static SHOWN: RefCell<Option<(IFileDialog, bool)>> = const { RefCell::new(None) };
650
+ }
651
+
652
+ /// Shows the dialog on its owner. Tests: a timer on a message-only window of this thread ends it
653
+ /// from inside the dialog's modal loop, which dispatches this thread's messages.
654
+ unsafe fn show_modal(dialog: &IFileDialog, owner: HWND, test: Option<&'static TestAnswers>, can_ok: bool) -> windows::core::Result<()> {
655
+ unsafe {
656
+ let timer = test.and_then(|t| {
657
+ let window = CreateWindowExW(WINDOW_EX_STYLE(0), w!("STATIC"), None, WINDOW_STYLE(0), 0, 0, 0, 0, Some(HWND_MESSAGE), None, None, None).ok()?;
658
+ SHOWN.with(|s| *s.borrow_mut() = Some((dialog.clone(), t.panel_ok && can_ok)));
659
+ SetTimer(Some(window), TEST_TIMER, t.delay_ms(), Some(end_file_dialog));
660
+ Some(window)
661
+ });
662
+ let result = dialog.Show(Some(owner));
663
+ if let Some(window) = timer {
664
+ SHOWN.with(|s| s.borrow_mut().take());
665
+ let _ = DestroyWindow(window); // and its timer
666
+ }
667
+ result
668
+ }
669
+ }
670
+
671
+ /// Clicks OK or Cancel, at every tick until Show returns: Show pumps this thread's messages while it
672
+ /// builds the dialog, so a tick can come before the dialog takes clicks. IFileDialog::Close returns
673
+ /// S_OK from here but leaves the dialog open (it works from the dialog's own event callbacks).
674
+ unsafe extern "system" fn end_file_dialog(_: HWND, _: u32, _: usize, _: u32) {
675
+ unsafe {
676
+ let Some((dialog, ok)) = SHOWN.with(|s| s.borrow().clone()) else { return };
677
+ let Ok(hwnd) = dialog.cast::<IOleWindow>().and_then(|w| w.GetWindow()) else { return };
678
+ if IsWindowVisible(hwnd).as_bool() {
679
+ // OK: the folder and name prepare() set. Cancel: Show returns ERROR_CANCELLED.
680
+ let button = if ok { IDOK } else { IDCANCEL };
681
+ let _ = PostMessageW(Some(hwnd), WM_COMMAND, WPARAM(button.0 as usize), LPARAM(0));
682
+ }
683
+ }
684
+ }
685
+
686
+ // ───────────────────────── types ─────────────────────────
687
+
688
+ /// Common types the registry's MIME database often lacks (it lists what installed apps registered).
689
+ const COMMON: &[(&str, &[&str])] = &[
690
+ ("image/png", &["png"]),
691
+ ("image/jpeg", &["jpg", "jpeg", "jpe", "jfif"]),
692
+ ("image/gif", &["gif"]),
693
+ ("image/webp", &["webp"]),
694
+ ("image/bmp", &["bmp"]),
695
+ ("image/tiff", &["tif", "tiff"]),
696
+ ("image/svg+xml", &["svg"]),
697
+ ("image/heic", &["heic"]),
698
+ ("image/avif", &["avif"]),
699
+ ("image/x-icon", &["ico"]),
700
+ ("video/mp4", &["mp4", "m4v"]),
701
+ ("video/quicktime", &["mov"]),
702
+ ("video/webm", &["webm"]),
703
+ ("video/x-msvideo", &["avi"]),
704
+ ("video/x-matroska", &["mkv"]),
705
+ ("video/mpeg", &["mpeg", "mpg"]),
706
+ ("audio/mpeg", &["mp3"]),
707
+ ("audio/mp4", &["m4a"]),
708
+ ("audio/wav", &["wav"]),
709
+ ("audio/ogg", &["ogg", "oga"]),
710
+ ("audio/flac", &["flac"]),
711
+ ("audio/aac", &["aac"]),
712
+ ("text/plain", &["txt"]),
713
+ ("text/csv", &["csv"]),
714
+ ("text/html", &["html", "htm"]),
715
+ ("text/markdown", &["md", "markdown"]),
716
+ ("text/css", &["css"]),
717
+ ("text/javascript", &["js", "mjs"]),
718
+ ("application/json", &["json"]),
719
+ ("application/pdf", &["pdf"]),
720
+ ("application/zip", &["zip"]),
721
+ ("application/xml", &["xml"]),
722
+ ("application/rtf", &["rtf"]),
723
+ ("application/msword", &["doc"]),
724
+ ("application/vnd.openxmlformats-officedocument.wordprocessingml.document", &["docx"]),
725
+ ("application/vnd.ms-excel", &["xls"]),
726
+ ("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", &["xlsx"]),
727
+ ("application/vnd.ms-powerpoint", &["ppt"]),
728
+ ("application/vnd.openxmlformats-officedocument.presentationml.presentation", &["pptx"]),
729
+ ("font/ttf", &["ttf"]),
730
+ ("font/otf", &["otf"]),
731
+ ("font/woff", &["woff"]),
732
+ ("font/woff2", &["woff2"]),
733
+ ];
734
+
735
+ const MIME_DATABASE: &str = "MIME\\Database\\Content Type";
736
+
737
+ /// The filter's pattern list ("*.pdf;*.txt"), or None (every file) when a type is "*/*" or has no
738
+ /// extension this machine knows.
739
+ fn filter(types: &[String]) -> Option<String> {
740
+ filter_with(types, registry_extensions)
741
+ }
742
+
743
+ fn filter_with(types: &[String], registry: impl Fn(&str) -> Vec<String>) -> Option<String> {
744
+ if types.is_empty() {
745
+ return None;
746
+ }
747
+ let mut patterns: Vec<String> = Vec::new();
748
+ for ty in types {
749
+ if ty == "*/*" {
750
+ return None;
751
+ }
752
+ let exts = if ty.contains('/') { extensions_for_mime(ty, &registry) } else { vec![ty.trim_start_matches('.').to_ascii_lowercase()] };
753
+ if exts.is_empty() {
754
+ return None;
755
+ }
756
+ for ext in exts {
757
+ let pattern = format!("*.{ext}");
758
+ if !patterns.contains(&pattern) {
759
+ patterns.push(pattern);
760
+ }
761
+ }
762
+ }
763
+ Some(patterns.join(";"))
764
+ }
765
+
766
+ /// Extensions of a MIME type ("image/png") or a family ("image/*"): the table, then the registry.
767
+ fn extensions_for_mime(mime: &str, registry: &impl Fn(&str) -> Vec<String>) -> Vec<String> {
768
+ let mime = mime.to_ascii_lowercase();
769
+ let family = mime.strip_suffix('*');
770
+ let matches = |m: &str| family.map_or(m == mime, |prefix| m.starts_with(prefix));
771
+ let mut out: Vec<String> = Vec::new();
772
+ for ext in COMMON.iter().filter(|(m, _)| matches(m)).flat_map(|(_, exts)| exts.iter().map(|e| e.to_string())).chain(registry(&mime)) {
773
+ if !out.contains(&ext) {
774
+ out.push(ext);
775
+ }
776
+ }
777
+ out
778
+ }
779
+
780
+ /// HKCR\MIME\Database\Content Type\<type>\Extension, for one type or every type of a family.
781
+ fn registry_extensions(mime: &str) -> Vec<String> {
782
+ let ext = |ty: &str| reg_string(&format!("{MIME_DATABASE}\\{ty}"), "Extension").map(|e| e.trim_start_matches('.').to_ascii_lowercase());
783
+ match mime.strip_suffix('*') {
784
+ Some(prefix) => reg_subkeys(MIME_DATABASE).iter().filter(|t| t.to_ascii_lowercase().starts_with(prefix)).filter_map(|t| ext(t)).collect(),
785
+ None => ext(mime).into_iter().collect(),
786
+ }
787
+ }
788
+
789
+ /// The MIME type of a file extension: HKCR\.<ext>\Content Type, else the table.
790
+ fn mime_for_ext(ext: &str) -> Option<String> {
791
+ let ext = ext.trim_start_matches('.').to_ascii_lowercase();
792
+ reg_string(&format!(".{ext}"), "Content Type").or_else(|| COMMON.iter().find(|(_, exts)| exts.contains(&ext.as_str())).map(|(m, _)| m.to_string()))
793
+ }
794
+
795
+ fn reg_string(key: &str, value: &str) -> Option<String> {
796
+ super::registry::read_string(HKEY_CLASSES_ROOT, key, value).ok().flatten().filter(|s| !s.is_empty())
797
+ }
798
+
799
+ fn reg_subkeys(key: &str) -> Vec<String> {
800
+ let mut out = Vec::new();
801
+ unsafe {
802
+ let mut hkey = HKEY::default();
803
+ if RegOpenKeyExW(HKEY_CLASSES_ROOT, &HSTRING::from(key), None, KEY_READ, &mut hkey).is_err() {
804
+ return out;
805
+ }
806
+ let mut buf = [0u16; 256];
807
+ for i in 0.. {
808
+ let mut len = buf.len() as u32;
809
+ if RegEnumKeyExW(hkey, i, Some(PWSTR(buf.as_mut_ptr())), &mut len, None, None, None, None).is_err() {
810
+ break;
811
+ }
812
+ out.push(String::from_utf16_lossy(&buf[..len as usize]));
813
+ }
814
+ let _ = RegCloseKey(hkey);
815
+ }
816
+ out
817
+ }
818
+
819
+ // ───────────────────────── D7 ─────────────────────────
820
+
821
+ /// D7 under tests: WebView2 shows its own JavaScript alert/confirm/prompt dialogs, which wait for a
822
+ /// click. With AKAN_NATIVE_TEST_PANELS (dev builds) the default dialogs are turned off and the
823
+ /// ScriptDialogOpening event answers them instead: the handler takes a deferral, sets the answer and
824
+ /// completes it after the delay; the page's script waits meanwhile, as behind a real dialog. Set
825
+ /// right after the webview is built, before its first navigation starts (settings changed later
826
+ /// apply from the next navigation). Without the variable WebView2's own dialogs stay.
827
+ pub fn install_js_dialogs(dev: bool, webview: &wry::WebView) {
828
+ use webview2_com::Microsoft::Web::WebView2::Win32::{COREWEBVIEW2_SCRIPT_DIALOG_KIND, COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT, COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT};
829
+ use webview2_com::ScriptDialogOpeningEventHandler;
830
+ use wry::WebViewExtWindows;
831
+ let Some(t) = TestAnswers::get(dev) else { return };
832
+ let core = webview.webview();
833
+ let handler = ScriptDialogOpeningEventHandler::create(Box::new(move |_, args| {
834
+ let Some(args) = args else { return Ok(()) };
835
+ unsafe {
836
+ let mut kind = COREWEBVIEW2_SCRIPT_DIALOG_KIND::default();
837
+ args.Kind(&mut kind)?;
838
+ let accept = t.button == 0 && kind != COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT;
839
+ // As on macOS, a prompt keeps its default text.
840
+ if accept && kind == COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT {
841
+ let text = match &t.text {
842
+ Some(text) => text.clone(),
843
+ None => {
844
+ let mut default = PWSTR::null();
845
+ args.DefaultText(&mut default)?;
846
+ webview2_com::take_pwstr(default)
847
+ }
848
+ };
849
+ args.SetResultText(&HSTRING::from(text))?;
850
+ }
851
+ let deferral = args.GetDeferral()?;
852
+ later(t.delay_ms(), move || {
853
+ if accept {
854
+ let _ = args.Accept();
855
+ }
856
+ let _ = deferral.Complete();
857
+ });
858
+ }
859
+ Ok(())
860
+ }));
861
+ let result = unsafe {
862
+ let mut token = 0;
863
+ core.add_ScriptDialogOpening(&handler, &mut token).and_then(|()| core.Settings()).and_then(|s| s.SetAreDefaultScriptDialogsEnabled(false))
864
+ };
865
+ if let Err(e) = result {
866
+ log!("D7: cannot answer JavaScript dialogs in tests: {e}");
867
+ }
868
+ }
869
+
870
+ thread_local! {
871
+ /// Main-thread timers: id → what runs when it fires.
872
+ static LATER: RefCell<HashMap<usize, Box<dyn FnOnce()>>> = RefCell::new(HashMap::new());
873
+ }
874
+
875
+ /// Runs `f` on this (the main) thread after `ms`: a thread timer, dispatched by tao's message loop.
876
+ fn later(ms: u32, f: impl FnOnce() + 'static) {
877
+ let id = unsafe { SetTimer(None, 0, ms, Some(run_later)) };
878
+ if id == 0 {
879
+ return f();
880
+ }
881
+ LATER.with(|l| l.borrow_mut().insert(id, Box::new(f)));
882
+ }
883
+
884
+ unsafe extern "system" fn run_later(_: HWND, _: u32, id: usize, _: u32) {
885
+ let _ = unsafe { KillTimer(None, id) };
886
+ if let Some(f) = LATER.with(|l| l.borrow_mut().remove(&id)) {
887
+ f();
888
+ }
889
+ }
890
+
891
+ #[cfg(test)]
892
+ mod tests {
893
+ use super::*;
894
+
895
+ #[test]
896
+ fn filters() {
897
+ let none = |_: &str| Vec::new();
898
+ let types = |t: &[&str]| t.iter().map(|s| s.to_string()).collect::<Vec<_>>();
899
+ assert_eq!(filter_with(&types(&["pdf", ".TXT", "image/png"]), none).as_deref(), Some("*.pdf;*.txt;*.png"));
900
+ assert_eq!(filter_with(&types(&["audio/*"]), none).unwrap().split(';').count(), 7);
901
+ assert_eq!(filter_with(&types(&["application/x-nope"]), none), None); // unknown: no filter
902
+ assert_eq!(filter_with(&types(&["application/x-nope"]), |_| vec!["nope".into()]).as_deref(), Some("*.nope"));
903
+ assert_eq!(filter_with(&types(&["pdf", "*/*"]), none), None);
904
+ assert_eq!(filter_with(&[], none), None);
905
+ }
906
+
907
+ #[test]
908
+ fn dialog_template_is_dword_aligned_words() {
909
+ let t = template("A", true);
910
+ let words: Vec<u16> = t.iter().flat_map(|d| [*d as u16, (*d >> 16) as u16]).collect();
911
+ // style, ex style, cdit, x, y, cx, cy, menu, class, "A\0", 9, "Segoe UI\0"
912
+ assert_eq!(&words[9..13], &[0, 0, 'A' as u16, 0]);
913
+ assert_eq!(words[13], 9);
914
+ assert_eq!(String::from_utf16_lossy(&words[14..22]), "Segoe UI");
915
+ assert_eq!(words[22], 0);
916
+ }
917
+ }