akanjs 3.0.0-beta.20 → 3.0.0-beta.22

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 (741) hide show
  1. package/README.ko.md +0 -1
  2. package/README.md +0 -1
  3. package/base/baseEnv.ts +40 -3
  4. package/client/cookie.ts +56 -20
  5. package/client/csrTypes.ts +10 -1
  6. package/client/device.ts +47 -95
  7. package/client/frameConfig.ts +2 -2
  8. package/client/native.ts +46 -0
  9. package/client/router.ts +11 -1
  10. package/client/rscNavigation.ts +5 -0
  11. package/client/storage.ts +68 -39
  12. package/fetch/client/fetchClient.ts +13 -4
  13. package/index.ts +47 -46
  14. package/package.json +6 -87
  15. package/server/akanApp.ts +4 -2
  16. package/server/devtools/signalSerializer.ts +1 -2
  17. package/server/hmr/devHmrController.ts +29 -11
  18. package/server/resolver/signal.resolver.ts +1 -10
  19. package/server/routeTreeBuilder.ts +8 -11
  20. package/server/routing/apiRouter.ts +15 -2
  21. package/server/rscClient.tsx +1 -2
  22. package/server/ssrFromRscRenderer.tsx +2 -0
  23. package/server/webRouter.ts +1 -0
  24. package/signal/CrossSiteGuard.ts +34 -2
  25. package/signal/endpoint.ts +12 -7
  26. package/signal/endpointInfo.ts +13 -0
  27. package/signal/internal.ts +9 -5
  28. package/signal/serializer/fetch.serializer.ts +6 -3
  29. package/signal/slice.ts +34 -24
  30. package/store/baseSt.ts +0 -1
  31. package/store/storeInstance.ts +29 -17
  32. package/types/client/cookie.d.ts +6 -4
  33. package/types/client/device.d.ts +7 -10
  34. package/types/client/native.d.ts +28 -0
  35. package/types/client/rscNavigation.d.ts +4 -0
  36. package/types/client/storage.d.ts +8 -1
  37. package/types/index.d.ts +48 -44
  38. package/types/server/hmr/devHmrController.d.ts +2 -1
  39. package/types/server/resolver/signal.resolver.d.ts +0 -1
  40. package/types/server/rscClient.d.ts +0 -3
  41. package/types/signal/CrossSiteGuard.d.ts +7 -2
  42. package/types/signal/endpoint.d.ts +1 -1
  43. package/types/signal/endpointInfo.d.ts +3 -0
  44. package/types/signal/slice.d.ts +3 -2
  45. package/types/store/baseSt.d.ts +0 -13
  46. package/types/ui/Data/Item.d.ts +3 -3
  47. package/types/vendor/@akanjs/native/packages/cli/src/api.d.ts +182 -0
  48. package/types/vendor/@akanjs/native/packages/cli/src/commands/build.d.ts +28 -0
  49. package/types/vendor/@akanjs/native/packages/cli/src/commands/compat.d.ts +2 -0
  50. package/types/vendor/@akanjs/native/packages/cli/src/commands/dev.d.ts +2 -0
  51. package/types/vendor/@akanjs/native/packages/cli/src/commands/doctor.d.ts +37 -0
  52. package/types/vendor/@akanjs/native/packages/cli/src/commands/plugin.d.ts +2 -0
  53. package/types/vendor/@akanjs/native/packages/cli/src/commands/signing.d.ts +2 -0
  54. package/types/vendor/@akanjs/native/packages/cli/src/commands/test.d.ts +2 -0
  55. package/types/vendor/@akanjs/native/packages/cli/src/commands/toolchain.d.ts +2 -0
  56. package/types/vendor/@akanjs/native/packages/cli/src/commands/update.d.ts +2 -0
  57. package/types/vendor/@akanjs/native/packages/cli/src/config.d.ts +278 -0
  58. package/types/vendor/@akanjs/native/packages/cli/src/index.d.ts +2 -0
  59. package/types/vendor/@akanjs/native/packages/cli/src/lib/acl.d.ts +21 -0
  60. package/types/vendor/@akanjs/native/packages/cli/src/lib/apilevel.d.ts +40 -0
  61. package/types/vendor/@akanjs/native/packages/cli/src/lib/apk.d.ts +36 -0
  62. package/types/vendor/@akanjs/native/packages/cli/src/lib/args.d.ts +9 -0
  63. package/types/vendor/@akanjs/native/packages/cli/src/lib/boot.d.ts +32 -0
  64. package/types/vendor/@akanjs/native/packages/cli/src/lib/chrome.d.ts +6 -0
  65. package/types/vendor/@akanjs/native/packages/cli/src/lib/codegen.d.ts +94 -0
  66. package/types/vendor/@akanjs/native/packages/cli/src/lib/compat.d.ts +49 -0
  67. package/types/vendor/@akanjs/native/packages/cli/src/lib/configkeys.d.ts +2 -0
  68. package/types/vendor/@akanjs/native/packages/cli/src/lib/csp.d.ts +51 -0
  69. package/types/vendor/@akanjs/native/packages/cli/src/lib/env.d.ts +44 -0
  70. package/types/vendor/@akanjs/native/packages/cli/src/lib/exec.d.ts +31 -0
  71. package/types/vendor/@akanjs/native/packages/cli/src/lib/googleservices.d.ts +2 -0
  72. package/types/vendor/@akanjs/native/packages/cli/src/lib/hmr.d.ts +120 -0
  73. package/types/vendor/@akanjs/native/packages/cli/src/lib/html.d.ts +20 -0
  74. package/types/vendor/@akanjs/native/packages/cli/src/lib/icons.d.ts +44 -0
  75. package/types/vendor/@akanjs/native/packages/cli/src/lib/image.d.ts +21 -0
  76. package/types/vendor/@akanjs/native/packages/cli/src/lib/iossigning.d.ts +81 -0
  77. package/types/vendor/@akanjs/native/packages/cli/src/lib/launch.d.ts +51 -0
  78. package/types/vendor/@akanjs/native/packages/cli/src/lib/log.d.ts +42 -0
  79. package/types/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.d.ts +18 -0
  80. package/types/vendor/@akanjs/native/packages/cli/src/lib/maven.d.ts +97 -0
  81. package/types/vendor/@akanjs/native/packages/cli/src/lib/names.d.ts +45 -0
  82. package/types/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.d.ts +67 -0
  83. package/types/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.d.ts +11 -0
  84. package/types/vendor/@akanjs/native/packages/cli/src/lib/permissions.d.ts +10 -0
  85. package/types/vendor/@akanjs/native/packages/cli/src/lib/plist.d.ts +11 -0
  86. package/types/vendor/@akanjs/native/packages/cli/src/lib/png.d.ts +11 -0
  87. package/types/vendor/@akanjs/native/packages/cli/src/lib/prepare.d.ts +138 -0
  88. package/types/vendor/@akanjs/native/packages/cli/src/lib/privacy.d.ts +13 -0
  89. package/types/vendor/@akanjs/native/packages/cli/src/lib/project.d.ts +208 -0
  90. package/types/vendor/@akanjs/native/packages/cli/src/lib/root.d.ts +1 -0
  91. package/types/vendor/@akanjs/native/packages/cli/src/lib/routes.d.ts +1 -0
  92. package/types/vendor/@akanjs/native/packages/cli/src/lib/serve.d.ts +17 -0
  93. package/types/vendor/@akanjs/native/packages/cli/src/lib/signing.d.ts +14 -0
  94. package/types/vendor/@akanjs/native/packages/cli/src/lib/spec.d.ts +96 -0
  95. package/types/vendor/@akanjs/native/packages/cli/src/lib/toolchains.d.ts +150 -0
  96. package/types/vendor/@akanjs/native/packages/cli/src/lib/updates.d.ts +77 -0
  97. package/types/vendor/@akanjs/native/packages/cli/src/lib/vectors.d.ts +13 -0
  98. package/types/vendor/@akanjs/native/packages/cli/src/lib/xml.d.ts +13 -0
  99. package/types/vendor/@akanjs/native/packages/cli/src/platforms/android.d.ts +57 -0
  100. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.d.ts +4 -0
  101. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop.d.ts +40 -0
  102. package/types/vendor/@akanjs/native/packages/cli/src/platforms/index.d.ts +14 -0
  103. package/types/vendor/@akanjs/native/packages/cli/src/platforms/ios.d.ts +44 -0
  104. package/types/vendor/@akanjs/native/packages/cli/src/platforms/linux.d.ts +6 -0
  105. package/types/vendor/@akanjs/native/packages/cli/src/platforms/macos.d.ts +7 -0
  106. package/types/vendor/@akanjs/native/packages/cli/src/platforms/targets.d.ts +4 -0
  107. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web-run.d.ts +15 -0
  108. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web.d.ts +2 -0
  109. package/types/vendor/@akanjs/native/packages/cli/src/platforms/windows.d.ts +8 -0
  110. package/types/vendor/@akanjs/native/packages/cli/src/platforms.d.ts +1 -0
  111. package/types/vendor/@akanjs/native/packages/cli/src.d.ts +1 -0
  112. package/types/vendor/@akanjs/native/packages/core/src/acl.d.ts +97 -0
  113. package/types/vendor/@akanjs/native/packages/core/src/boot.d.ts +66 -0
  114. package/types/vendor/@akanjs/native/packages/core/src/contract.d.ts +35 -0
  115. package/types/vendor/@akanjs/native/packages/core/src/errors.d.ts +27 -0
  116. package/types/vendor/@akanjs/native/packages/core/src/files.d.ts +23 -0
  117. package/types/vendor/@akanjs/native/packages/core/src/index.d.ts +14 -0
  118. package/types/vendor/@akanjs/native/packages/core/src/kernel.d.ts +112 -0
  119. package/types/vendor/@akanjs/native/packages/core/src/live.d.ts +12 -0
  120. package/types/vendor/@akanjs/native/packages/core/src/mime.d.ts +2 -0
  121. package/types/vendor/@akanjs/native/packages/core/src/plugin.d.ts +71 -0
  122. package/types/vendor/@akanjs/native/packages/core/src/protocol.d.ts +109 -0
  123. package/types/vendor/@akanjs/native/packages/core/src/runtime.d.ts +66 -0
  124. package/types/vendor/@akanjs/native/packages/core/src/state.d.ts +28 -0
  125. package/types/vendor/@akanjs/native/packages/core/src/testing.d.ts +41 -0
  126. package/types/vendor/@akanjs/native/packages/core/src/version.d.ts +2 -0
  127. package/types/vendor/@akanjs/native/packages/core/src/veto.d.ts +17 -0
  128. package/types/vendor/@akanjs/native/packages/core/src.d.ts +1 -0
  129. package/types/vendor/@akanjs/native/packages/desktop/src/deeplinks.d.ts +24 -0
  130. package/types/vendor/@akanjs/native/packages/desktop/src/delta.d.ts +2 -0
  131. package/types/vendor/@akanjs/native/packages/desktop/src/dispatcher.d.ts +95 -0
  132. package/types/vendor/@akanjs/native/packages/desktop/src/ffi.d.ts +144 -0
  133. package/types/vendor/@akanjs/native/packages/desktop/src/host.d.ts +11 -0
  134. package/types/vendor/@akanjs/native/packages/desktop/src/lifecycle.d.ts +40 -0
  135. package/types/vendor/@akanjs/native/packages/desktop/src/main.d.ts +4 -0
  136. package/types/vendor/@akanjs/native/packages/desktop/src/page-veto.d.ts +17 -0
  137. package/types/vendor/@akanjs/native/packages/desktop/src/paths.d.ts +25 -0
  138. package/types/vendor/@akanjs/native/packages/desktop/src/plugin.d.ts +179 -0
  139. package/types/vendor/@akanjs/native/packages/react/src/index.d.ts +8 -0
  140. package/types/vendor/@akanjs/native/packages/react/src.d.ts +1 -0
  141. package/types/vendor/@akanjs/native/plugins/accessibility/src/announce.d.ts +8 -0
  142. package/types/vendor/@akanjs/native/plugins/accessibility/src/index.d.ts +47 -0
  143. package/types/vendor/@akanjs/native/plugins/accessibility/src/web.d.ts +4 -0
  144. package/types/vendor/@akanjs/native/plugins/accessibility/src.d.ts +1 -0
  145. package/types/vendor/@akanjs/native/plugins/app/src/desktop.d.ts +3 -0
  146. package/types/vendor/@akanjs/native/plugins/app/src/index.d.ts +66 -0
  147. package/types/vendor/@akanjs/native/plugins/app/src/web.d.ts +2 -0
  148. package/types/vendor/@akanjs/native/plugins/app/src.d.ts +1 -0
  149. package/types/vendor/@akanjs/native/plugins/app-state/src/index.d.ts +19 -0
  150. package/types/vendor/@akanjs/native/plugins/app-state/src/web.d.ts +2 -0
  151. package/types/vendor/@akanjs/native/plugins/app-state/src.d.ts +1 -0
  152. package/types/vendor/@akanjs/native/plugins/appearance/src/desktop.d.ts +9 -0
  153. package/types/vendor/@akanjs/native/plugins/appearance/src/index.d.ts +32 -0
  154. package/types/vendor/@akanjs/native/plugins/appearance/src/setting.d.ts +6 -0
  155. package/types/vendor/@akanjs/native/plugins/appearance/src/web.d.ts +3 -0
  156. package/types/vendor/@akanjs/native/plugins/appearance/src.d.ts +1 -0
  157. package/types/vendor/@akanjs/native/plugins/auth-session/src/args.d.ts +18 -0
  158. package/types/vendor/@akanjs/native/plugins/auth-session/src/desktop.d.ts +17 -0
  159. package/types/vendor/@akanjs/native/plugins/auth-session/src/index.d.ts +41 -0
  160. package/types/vendor/@akanjs/native/plugins/auth-session/src.d.ts +1 -0
  161. package/types/vendor/@akanjs/native/plugins/autostart/src/desktop.d.ts +44 -0
  162. package/types/vendor/@akanjs/native/plugins/autostart/src/index.d.ts +44 -0
  163. package/types/vendor/@akanjs/native/plugins/autostart/src.d.ts +1 -0
  164. package/types/vendor/@akanjs/native/plugins/badge/src/count.d.ts +4 -0
  165. package/types/vendor/@akanjs/native/plugins/badge/src/desktop.d.ts +3 -0
  166. package/types/vendor/@akanjs/native/plugins/badge/src/index.d.ts +37 -0
  167. package/types/vendor/@akanjs/native/plugins/badge/src/web.d.ts +2 -0
  168. package/types/vendor/@akanjs/native/plugins/badge/src.d.ts +1 -0
  169. package/types/vendor/@akanjs/native/plugins/biometric/src/index.d.ts +53 -0
  170. package/types/vendor/@akanjs/native/plugins/biometric/src.d.ts +1 -0
  171. package/types/vendor/@akanjs/native/plugins/browser/src/args.d.ts +8 -0
  172. package/types/vendor/@akanjs/native/plugins/browser/src/desktop.d.ts +9 -0
  173. package/types/vendor/@akanjs/native/plugins/browser/src/index.d.ts +36 -0
  174. package/types/vendor/@akanjs/native/plugins/browser/src/web.d.ts +2 -0
  175. package/types/vendor/@akanjs/native/plugins/browser/src.d.ts +1 -0
  176. package/types/vendor/@akanjs/native/plugins/camera/src/desktop.d.ts +5 -0
  177. package/types/vendor/@akanjs/native/plugins/camera/src/index.d.ts +55 -0
  178. package/types/vendor/@akanjs/native/plugins/camera/src/web.d.ts +2 -0
  179. package/types/vendor/@akanjs/native/plugins/camera/src.d.ts +1 -0
  180. package/types/vendor/@akanjs/native/plugins/clipboard/src/desktop.d.ts +8 -0
  181. package/types/vendor/@akanjs/native/plugins/clipboard/src/index.d.ts +40 -0
  182. package/types/vendor/@akanjs/native/plugins/clipboard/src/web.d.ts +2 -0
  183. package/types/vendor/@akanjs/native/plugins/clipboard/src.d.ts +1 -0
  184. package/types/vendor/@akanjs/native/plugins/contacts/src/index.d.ts +43 -0
  185. package/types/vendor/@akanjs/native/plugins/contacts/src.d.ts +1 -0
  186. package/types/vendor/@akanjs/native/plugins/device/src/desktop.d.ts +33 -0
  187. package/types/vendor/@akanjs/native/plugins/device/src/index.d.ts +55 -0
  188. package/types/vendor/@akanjs/native/plugins/device/src/web.d.ts +22 -0
  189. package/types/vendor/@akanjs/native/plugins/device/src.d.ts +1 -0
  190. package/types/vendor/@akanjs/native/plugins/dialog/src/desktop.d.ts +3 -0
  191. package/types/vendor/@akanjs/native/plugins/dialog/src/index.d.ts +60 -0
  192. package/types/vendor/@akanjs/native/plugins/dialog/src/options.d.ts +29 -0
  193. package/types/vendor/@akanjs/native/plugins/dialog/src/web.d.ts +2 -0
  194. package/types/vendor/@akanjs/native/plugins/dialog/src.d.ts +1 -0
  195. package/types/vendor/@akanjs/native/plugins/dock/src/desktop.d.ts +3 -0
  196. package/types/vendor/@akanjs/native/plugins/dock/src/index.d.ts +46 -0
  197. package/types/vendor/@akanjs/native/plugins/dock/src.d.ts +1 -0
  198. package/types/vendor/@akanjs/native/plugins/file-picker/src/common.d.ts +33 -0
  199. package/types/vendor/@akanjs/native/plugins/file-picker/src/desktop.d.ts +9 -0
  200. package/types/vendor/@akanjs/native/plugins/file-picker/src/index.d.ts +84 -0
  201. package/types/vendor/@akanjs/native/plugins/file-picker/src/web.d.ts +6 -0
  202. package/types/vendor/@akanjs/native/plugins/file-picker/src.d.ts +1 -0
  203. package/types/vendor/@akanjs/native/plugins/filesystem/src/common.d.ts +49 -0
  204. package/types/vendor/@akanjs/native/plugins/filesystem/src/desktop.d.ts +8 -0
  205. package/types/vendor/@akanjs/native/plugins/filesystem/src/index.d.ts +123 -0
  206. package/types/vendor/@akanjs/native/plugins/filesystem/src/web.d.ts +2 -0
  207. package/types/vendor/@akanjs/native/plugins/filesystem/src.d.ts +1 -0
  208. package/types/vendor/@akanjs/native/plugins/geolocation/src/index.d.ts +93 -0
  209. package/types/vendor/@akanjs/native/plugins/geolocation/src/web.d.ts +11 -0
  210. package/types/vendor/@akanjs/native/plugins/geolocation/src.d.ts +1 -0
  211. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.d.ts +3 -0
  212. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/index.d.ts +52 -0
  213. package/types/vendor/@akanjs/native/plugins/global-shortcut/src.d.ts +1 -0
  214. package/types/vendor/@akanjs/native/plugins/haptics/src/index.d.ts +31 -0
  215. package/types/vendor/@akanjs/native/plugins/haptics/src/web.d.ts +2 -0
  216. package/types/vendor/@akanjs/native/plugins/haptics/src.d.ts +1 -0
  217. package/types/vendor/@akanjs/native/plugins/http/src/common.d.ts +71 -0
  218. package/types/vendor/@akanjs/native/plugins/http/src/desktop.d.ts +5 -0
  219. package/types/vendor/@akanjs/native/plugins/http/src/index.d.ts +104 -0
  220. package/types/vendor/@akanjs/native/plugins/http/src/web.d.ts +2 -0
  221. package/types/vendor/@akanjs/native/plugins/http/src.d.ts +1 -0
  222. package/types/vendor/@akanjs/native/plugins/iap/src/index.d.ts +171 -0
  223. package/types/vendor/@akanjs/native/plugins/iap/src.d.ts +1 -0
  224. package/types/vendor/@akanjs/native/plugins/keep-awake/src/desktop.d.ts +15 -0
  225. package/types/vendor/@akanjs/native/plugins/keep-awake/src/index.d.ts +33 -0
  226. package/types/vendor/@akanjs/native/plugins/keep-awake/src/web.d.ts +2 -0
  227. package/types/vendor/@akanjs/native/plugins/keep-awake/src.d.ts +1 -0
  228. package/types/vendor/@akanjs/native/plugins/keyboard/src/index.d.ts +42 -0
  229. package/types/vendor/@akanjs/native/plugins/keyboard/src/web.d.ts +2 -0
  230. package/types/vendor/@akanjs/native/plugins/keyboard/src.d.ts +1 -0
  231. package/types/vendor/@akanjs/native/plugins/local-notifications/src/desktop.d.ts +29 -0
  232. package/types/vendor/@akanjs/native/plugins/local-notifications/src/index.d.ts +126 -0
  233. package/types/vendor/@akanjs/native/plugins/local-notifications/src/schedule.d.ts +38 -0
  234. package/types/vendor/@akanjs/native/plugins/local-notifications/src/timers.d.ts +25 -0
  235. package/types/vendor/@akanjs/native/plugins/local-notifications/src/web.d.ts +4 -0
  236. package/types/vendor/@akanjs/native/plugins/local-notifications/src.d.ts +1 -0
  237. package/types/vendor/@akanjs/native/plugins/menu/src/desktop.d.ts +3 -0
  238. package/types/vendor/@akanjs/native/plugins/menu/src/index.d.ts +85 -0
  239. package/types/vendor/@akanjs/native/plugins/menu/src.d.ts +1 -0
  240. package/types/vendor/@akanjs/native/plugins/network/src/index.d.ts +22 -0
  241. package/types/vendor/@akanjs/native/plugins/network/src/web.d.ts +3 -0
  242. package/types/vendor/@akanjs/native/plugins/network/src.d.ts +1 -0
  243. package/types/vendor/@akanjs/native/plugins/opener/src/desktop.d.ts +14 -0
  244. package/types/vendor/@akanjs/native/plugins/opener/src/index.d.ts +33 -0
  245. package/types/vendor/@akanjs/native/plugins/opener/src/url.d.ts +16 -0
  246. package/types/vendor/@akanjs/native/plugins/opener/src/web.d.ts +2 -0
  247. package/types/vendor/@akanjs/native/plugins/opener/src.d.ts +1 -0
  248. package/types/vendor/@akanjs/native/plugins/preferences/src/desktop.d.ts +3 -0
  249. package/types/vendor/@akanjs/native/plugins/preferences/src/index.d.ts +26 -0
  250. package/types/vendor/@akanjs/native/plugins/preferences/src/web.d.ts +2 -0
  251. package/types/vendor/@akanjs/native/plugins/preferences/src.d.ts +1 -0
  252. package/types/vendor/@akanjs/native/plugins/push/src/index.d.ts +57 -0
  253. package/types/vendor/@akanjs/native/plugins/push/src.d.ts +1 -0
  254. package/types/vendor/@akanjs/native/plugins/screen/src/desktop.d.ts +3 -0
  255. package/types/vendor/@akanjs/native/plugins/screen/src/index.d.ts +70 -0
  256. package/types/vendor/@akanjs/native/plugins/screen/src/web.d.ts +18 -0
  257. package/types/vendor/@akanjs/native/plugins/screen/src.d.ts +1 -0
  258. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/index.d.ts +32 -0
  259. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/types.d.ts +8 -0
  260. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/web.d.ts +3 -0
  261. package/types/vendor/@akanjs/native/plugins/screen-orientation/src.d.ts +1 -0
  262. package/types/vendor/@akanjs/native/plugins/secure-storage/src/desktop.d.ts +16 -0
  263. package/types/vendor/@akanjs/native/plugins/secure-storage/src/index.d.ts +39 -0
  264. package/types/vendor/@akanjs/native/plugins/secure-storage/src.d.ts +1 -0
  265. package/types/vendor/@akanjs/native/plugins/share/src/index.d.ts +55 -0
  266. package/types/vendor/@akanjs/native/plugins/share/src/options.d.ts +6 -0
  267. package/types/vendor/@akanjs/native/plugins/share/src/web.d.ts +5 -0
  268. package/types/vendor/@akanjs/native/plugins/share/src.d.ts +1 -0
  269. package/types/vendor/@akanjs/native/plugins/single-instance/src/desktop.d.ts +8 -0
  270. package/types/vendor/@akanjs/native/plugins/single-instance/src/index.d.ts +25 -0
  271. package/types/vendor/@akanjs/native/plugins/single-instance/src/socket.d.ts +46 -0
  272. package/types/vendor/@akanjs/native/plugins/single-instance/src.d.ts +1 -0
  273. package/types/vendor/@akanjs/native/plugins/splash-screen/src/index.d.ts +19 -0
  274. package/types/vendor/@akanjs/native/plugins/splash-screen/src/web.d.ts +4 -0
  275. package/types/vendor/@akanjs/native/plugins/splash-screen/src.d.ts +1 -0
  276. package/types/vendor/@akanjs/native/plugins/sqlite/src/common.d.ts +34 -0
  277. package/types/vendor/@akanjs/native/plugins/sqlite/src/desktop.d.ts +6 -0
  278. package/types/vendor/@akanjs/native/plugins/sqlite/src/index.d.ts +115 -0
  279. package/types/vendor/@akanjs/native/plugins/sqlite/src.d.ts +1 -0
  280. package/types/vendor/@akanjs/native/plugins/toast/src/index.d.ts +30 -0
  281. package/types/vendor/@akanjs/native/plugins/toast/src/queue.d.ts +23 -0
  282. package/types/vendor/@akanjs/native/plugins/toast/src/web.d.ts +2 -0
  283. package/types/vendor/@akanjs/native/plugins/toast/src.d.ts +1 -0
  284. package/types/vendor/@akanjs/native/plugins/tray/src/desktop.d.ts +3 -0
  285. package/types/vendor/@akanjs/native/plugins/tray/src/index.d.ts +113 -0
  286. package/types/vendor/@akanjs/native/plugins/tray/src.d.ts +1 -0
  287. package/types/vendor/@akanjs/native/plugins/updates/src/desktop.d.ts +4 -0
  288. package/types/vendor/@akanjs/native/plugins/updates/src/index.d.ts +68 -0
  289. package/types/vendor/@akanjs/native/plugins/updates/src.d.ts +1 -0
  290. package/types/vendor/@akanjs/native/plugins/window/src/desktop.d.ts +6 -0
  291. package/types/vendor/@akanjs/native/plugins/window/src/index.d.ts +185 -0
  292. package/types/vendor/@akanjs/native/plugins/window/src/web.d.ts +2 -0
  293. package/types/vendor/@akanjs/native/plugins/window/src.d.ts +1 -0
  294. package/types/vendor/@akanjs/native/plugins/window-state/src/desktop.d.ts +7 -0
  295. package/types/vendor/@akanjs/native/plugins/window-state/src/index.d.ts +33 -0
  296. package/types/vendor/@akanjs/native/plugins/window-state/src/state.d.ts +39 -0
  297. package/types/vendor/@akanjs/native/plugins/window-state/src.d.ts +1 -0
  298. package/types/webkit/index.d.ts +0 -2
  299. package/types/webkit/nativeNavigation.d.ts +25 -0
  300. package/types/webkit/nativePurchase.d.ts +37 -0
  301. package/types/webkit/useCamera.d.ts +13 -15
  302. package/types/webkit/useGeoLocation.d.ts +4 -5
  303. package/types/webkit/usePurchase.d.ts +12 -16
  304. package/ui/Data/Item.tsx +6 -3
  305. package/ui/Link/Anchor.tsx +2 -5
  306. package/ui/System/Client.tsx +2 -6
  307. package/vendor/@akanjs/native/LICENSE +21 -0
  308. package/vendor/@akanjs/native/README.ko.md +88 -0
  309. package/vendor/@akanjs/native/README.md +93 -0
  310. package/vendor/@akanjs/native/THIRD_PARTY_NOTICES.md +237 -0
  311. package/vendor/@akanjs/native/native/android/maven.lock.json +1751 -0
  312. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAcl.kt +243 -0
  313. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeActivity.kt +936 -0
  314. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeApplication.kt +189 -0
  315. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAssetServer.kt +225 -0
  316. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeBridge.kt +444 -0
  317. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeCompat.kt +55 -0
  318. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeContract.kt +99 -0
  319. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeEd25519.kt +100 -0
  320. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeFileProvider.kt +71 -0
  321. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeKernel.kt +324 -0
  322. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativePlugin.kt +361 -0
  323. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeSpec.kt +100 -0
  324. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeUpdates.kt +305 -0
  325. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeVectors.kt +132 -0
  326. package/vendor/@akanjs/native/native/desktop/Cargo.lock +2565 -0
  327. package/vendor/@akanjs/native/native/desktop/Cargo.toml +49 -0
  328. package/vendor/@akanjs/native/native/desktop/build.rs +19 -0
  329. package/vendor/@akanjs/native/native/desktop/rust-toolchain.toml +7 -0
  330. package/vendor/@akanjs/native/native/desktop/src/accelerator.rs +466 -0
  331. package/vendor/@akanjs/native/native/desktop/src/autostart.rs +158 -0
  332. package/vendor/@akanjs/native/native/desktop/src/camera.rs +53 -0
  333. package/vendor/@akanjs/native/native/desktop/src/chrome.rs +710 -0
  334. package/vendor/@akanjs/native/native/desktop/src/contract.rs +105 -0
  335. package/vendor/@akanjs/native/native/desktop/src/devproxy.rs +234 -0
  336. package/vendor/@akanjs/native/native/desktop/src/dialog_args.rs +189 -0
  337. package/vendor/@akanjs/native/native/desktop/src/dock.rs +209 -0
  338. package/vendor/@akanjs/native/native/desktop/src/hotkey.rs +209 -0
  339. package/vendor/@akanjs/native/native/desktop/src/js_panels.rs +125 -0
  340. package/vendor/@akanjs/native/native/desktop/src/json.rs +272 -0
  341. package/vendor/@akanjs/native/native/desktop/src/keychain.rs +151 -0
  342. package/vendor/@akanjs/native/native/desktop/src/lib.rs +2185 -0
  343. package/vendor/@akanjs/native/native/desktop/src/linux/appearance.rs +177 -0
  344. package/vendor/@akanjs/native/native/desktop/src/linux/camera.rs +11 -0
  345. package/vendor/@akanjs/native/native/desktop/src/linux/clipboard.rs +48 -0
  346. package/vendor/@akanjs/native/native/desktop/src/linux/device.rs +9 -0
  347. package/vendor/@akanjs/native/native/desktop/src/linux/dialogs.rs +348 -0
  348. package/vendor/@akanjs/native/native/desktop/src/linux/dock.rs +146 -0
  349. package/vendor/@akanjs/native/native/desktop/src/linux/hotkey.rs +228 -0
  350. package/vendor/@akanjs/native/native/desktop/src/linux/keychain.rs +243 -0
  351. package/vendor/@akanjs/native/native/desktop/src/linux/menu.rs +445 -0
  352. package/vendor/@akanjs/native/native/desktop/src/linux/mod.rs +116 -0
  353. package/vendor/@akanjs/native/native/desktop/src/linux/notify.rs +211 -0
  354. package/vendor/@akanjs/native/native/desktop/src/linux/open.rs +79 -0
  355. package/vendor/@akanjs/native/native/desktop/src/linux/power.rs +155 -0
  356. package/vendor/@akanjs/native/native/desktop/src/linux/screen.rs +158 -0
  357. package/vendor/@akanjs/native/native/desktop/src/linux/tray.rs +604 -0
  358. package/vendor/@akanjs/native/native/desktop/src/menu.rs +517 -0
  359. package/vendor/@akanjs/native/native/desktop/src/navigation.rs +381 -0
  360. package/vendor/@akanjs/native/native/desktop/src/notify.rs +411 -0
  361. package/vendor/@akanjs/native/native/desktop/src/notify_schedule.rs +382 -0
  362. package/vendor/@akanjs/native/native/desktop/src/page_menu.rs +287 -0
  363. package/vendor/@akanjs/native/native/desktop/src/panels.rs +333 -0
  364. package/vendor/@akanjs/native/native/desktop/src/placement.rs +92 -0
  365. package/vendor/@akanjs/native/native/desktop/src/routes.rs +153 -0
  366. package/vendor/@akanjs/native/native/desktop/src/screen.rs +190 -0
  367. package/vendor/@akanjs/native/native/desktop/src/tray.rs +279 -0
  368. package/vendor/@akanjs/native/native/desktop/src/vectors.rs +126 -0
  369. package/vendor/@akanjs/native/native/desktop/src/win/appearance.rs +51 -0
  370. package/vendor/@akanjs/native/native/desktop/src/win/autostart.rs +77 -0
  371. package/vendor/@akanjs/native/native/desktop/src/win/camera.rs +34 -0
  372. package/vendor/@akanjs/native/native/desktop/src/win/clipboard.rs +106 -0
  373. package/vendor/@akanjs/native/native/desktop/src/win/device.rs +80 -0
  374. package/vendor/@akanjs/native/native/desktop/src/win/dialogs.rs +917 -0
  375. package/vendor/@akanjs/native/native/desktop/src/win/dock.rs +228 -0
  376. package/vendor/@akanjs/native/native/desktop/src/win/hotkey.rs +110 -0
  377. package/vendor/@akanjs/native/native/desktop/src/win/keychain.rs +103 -0
  378. package/vendor/@akanjs/native/native/desktop/src/win/menu.rs +500 -0
  379. package/vendor/@akanjs/native/native/desktop/src/win/mod.rs +100 -0
  380. package/vendor/@akanjs/native/native/desktop/src/win/msgwin.rs +86 -0
  381. package/vendor/@akanjs/native/native/desktop/src/win/notify.rs +334 -0
  382. package/vendor/@akanjs/native/native/desktop/src/win/open.rs +127 -0
  383. package/vendor/@akanjs/native/native/desktop/src/win/power.rs +64 -0
  384. package/vendor/@akanjs/native/native/desktop/src/win/registry.rs +87 -0
  385. package/vendor/@akanjs/native/native/desktop/src/win/screen.rs +127 -0
  386. package/vendor/@akanjs/native/native/desktop/src/win/tray.rs +280 -0
  387. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeAcl.swift +241 -0
  388. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeApp.swift +285 -0
  389. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeBridge.swift +407 -0
  390. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeContract.swift +106 -0
  391. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeKernel.swift +317 -0
  392. package/vendor/@akanjs/native/native/ios/Sources/AkanNativePlugin.swift +250 -0
  393. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSchemeHandler.swift +209 -0
  394. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeShell.swift +161 -0
  395. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSpec.swift +143 -0
  396. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeUpdates.swift +270 -0
  397. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeVectors.swift +155 -0
  398. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeViewController.swift +371 -0
  399. package/vendor/@akanjs/native/packages/cli/src/api.ts +600 -0
  400. package/vendor/@akanjs/native/packages/cli/src/commands/build.ts +101 -0
  401. package/vendor/@akanjs/native/packages/cli/src/commands/compat.ts +53 -0
  402. package/vendor/@akanjs/native/packages/cli/src/commands/dev.ts +249 -0
  403. package/vendor/@akanjs/native/packages/cli/src/commands/doctor.ts +536 -0
  404. package/vendor/@akanjs/native/packages/cli/src/commands/plugin.ts +164 -0
  405. package/vendor/@akanjs/native/packages/cli/src/commands/signing.ts +32 -0
  406. package/vendor/@akanjs/native/packages/cli/src/commands/test.ts +130 -0
  407. package/vendor/@akanjs/native/packages/cli/src/commands/toolchain.ts +143 -0
  408. package/vendor/@akanjs/native/packages/cli/src/commands/update.ts +168 -0
  409. package/vendor/@akanjs/native/packages/cli/src/config.ts +257 -0
  410. package/vendor/@akanjs/native/packages/cli/src/index.ts +77 -0
  411. package/vendor/@akanjs/native/packages/cli/src/lib/acl.ts +420 -0
  412. package/vendor/@akanjs/native/packages/cli/src/lib/apilevel.ts +245 -0
  413. package/vendor/@akanjs/native/packages/cli/src/lib/apk.ts +203 -0
  414. package/vendor/@akanjs/native/packages/cli/src/lib/args.ts +44 -0
  415. package/vendor/@akanjs/native/packages/cli/src/lib/boot.ts +73 -0
  416. package/vendor/@akanjs/native/packages/cli/src/lib/chrome.ts +89 -0
  417. package/vendor/@akanjs/native/packages/cli/src/lib/codegen.ts +1128 -0
  418. package/vendor/@akanjs/native/packages/cli/src/lib/compat.ts +185 -0
  419. package/vendor/@akanjs/native/packages/cli/src/lib/configkeys.ts +91 -0
  420. package/vendor/@akanjs/native/packages/cli/src/lib/csp.ts +198 -0
  421. package/vendor/@akanjs/native/packages/cli/src/lib/env.ts +257 -0
  422. package/vendor/@akanjs/native/packages/cli/src/lib/exec.ts +104 -0
  423. package/vendor/@akanjs/native/packages/cli/src/lib/googleservices.ts +53 -0
  424. package/vendor/@akanjs/native/packages/cli/src/lib/hmr.ts +534 -0
  425. package/vendor/@akanjs/native/packages/cli/src/lib/html.ts +63 -0
  426. package/vendor/@akanjs/native/packages/cli/src/lib/icons.ts +316 -0
  427. package/vendor/@akanjs/native/packages/cli/src/lib/image.ts +175 -0
  428. package/vendor/@akanjs/native/packages/cli/src/lib/iossigning.ts +295 -0
  429. package/vendor/@akanjs/native/packages/cli/src/lib/launch.ts +98 -0
  430. package/vendor/@akanjs/native/packages/cli/src/lib/log.ts +105 -0
  431. package/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.ts +107 -0
  432. package/vendor/@akanjs/native/packages/cli/src/lib/maven.ts +244 -0
  433. package/vendor/@akanjs/native/packages/cli/src/lib/names.ts +202 -0
  434. package/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.ts +326 -0
  435. package/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.ts +68 -0
  436. package/vendor/@akanjs/native/packages/cli/src/lib/permissions.ts +80 -0
  437. package/vendor/@akanjs/native/packages/cli/src/lib/plist.ts +139 -0
  438. package/vendor/@akanjs/native/packages/cli/src/lib/png.ts +240 -0
  439. package/vendor/@akanjs/native/packages/cli/src/lib/prepare.ts +290 -0
  440. package/vendor/@akanjs/native/packages/cli/src/lib/privacy.ts +64 -0
  441. package/vendor/@akanjs/native/packages/cli/src/lib/project.ts +710 -0
  442. package/vendor/@akanjs/native/packages/cli/src/lib/root.ts +18 -0
  443. package/vendor/@akanjs/native/packages/cli/src/lib/routes.ts +3 -0
  444. package/vendor/@akanjs/native/packages/cli/src/lib/serve.ts +83 -0
  445. package/vendor/@akanjs/native/packages/cli/src/lib/signing.ts +117 -0
  446. package/vendor/@akanjs/native/packages/cli/src/lib/spec.ts +521 -0
  447. package/vendor/@akanjs/native/packages/cli/src/lib/toolchains.ts +579 -0
  448. package/vendor/@akanjs/native/packages/cli/src/lib/updates.ts +160 -0
  449. package/vendor/@akanjs/native/packages/cli/src/lib/vectors.ts +121 -0
  450. package/vendor/@akanjs/native/packages/cli/src/lib/xml.ts +72 -0
  451. package/vendor/@akanjs/native/packages/cli/src/platforms/android.ts +1320 -0
  452. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.ts +78 -0
  453. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop.ts +279 -0
  454. package/vendor/@akanjs/native/packages/cli/src/platforms/index.ts +31 -0
  455. package/vendor/@akanjs/native/packages/cli/src/platforms/ios.ts +801 -0
  456. package/vendor/@akanjs/native/packages/cli/src/platforms/linux.ts +52 -0
  457. package/vendor/@akanjs/native/packages/cli/src/platforms/macos.ts +97 -0
  458. package/vendor/@akanjs/native/packages/cli/src/platforms/targets.ts +12 -0
  459. package/vendor/@akanjs/native/packages/cli/src/platforms/web-run.ts +69 -0
  460. package/vendor/@akanjs/native/packages/cli/src/platforms/web.ts +28 -0
  461. package/vendor/@akanjs/native/packages/cli/src/platforms/windows.ts +82 -0
  462. package/vendor/@akanjs/native/packages/core/contract.json +96 -0
  463. package/vendor/@akanjs/native/packages/core/src/acl.ts +272 -0
  464. package/vendor/@akanjs/native/packages/core/src/boot.ts +97 -0
  465. package/vendor/@akanjs/native/packages/core/src/contract.ts +100 -0
  466. package/vendor/@akanjs/native/packages/core/src/errors.ts +95 -0
  467. package/vendor/@akanjs/native/packages/core/src/files.ts +105 -0
  468. package/vendor/@akanjs/native/packages/core/src/index.ts +35 -0
  469. package/vendor/@akanjs/native/packages/core/src/kernel.ts +281 -0
  470. package/vendor/@akanjs/native/packages/core/src/live.ts +62 -0
  471. package/vendor/@akanjs/native/packages/core/src/mime.ts +8 -0
  472. package/vendor/@akanjs/native/packages/core/src/plugin.ts +358 -0
  473. package/vendor/@akanjs/native/packages/core/src/protocol.ts +194 -0
  474. package/vendor/@akanjs/native/packages/core/src/runtime.ts +520 -0
  475. package/vendor/@akanjs/native/packages/core/src/state.ts +46 -0
  476. package/vendor/@akanjs/native/packages/core/src/testing.ts +176 -0
  477. package/vendor/@akanjs/native/packages/core/src/version.ts +2 -0
  478. package/vendor/@akanjs/native/packages/core/src/veto.ts +55 -0
  479. package/vendor/@akanjs/native/packages/core/vectors/acl.json +57 -0
  480. package/vendor/@akanjs/native/packages/core/vectors/bridge.json +76 -0
  481. package/vendor/@akanjs/native/packages/core/vectors/ed25519.json +29 -0
  482. package/vendor/@akanjs/native/packages/core/vectors/ids.json +73 -0
  483. package/vendor/@akanjs/native/packages/core/vectors/navigation.json +75 -0
  484. package/vendor/@akanjs/native/packages/core/vectors/ranges.json +39 -0
  485. package/vendor/@akanjs/native/packages/core/vectors/retained.json +17 -0
  486. package/vendor/@akanjs/native/packages/core/vectors/routes.json +66 -0
  487. package/vendor/@akanjs/native/packages/core/vectors/scope.json +143 -0
  488. package/vendor/@akanjs/native/packages/desktop/src/deeplinks.ts +143 -0
  489. package/vendor/@akanjs/native/packages/desktop/src/delta.ts +174 -0
  490. package/vendor/@akanjs/native/packages/desktop/src/dispatcher.ts +679 -0
  491. package/vendor/@akanjs/native/packages/desktop/src/ffi.ts +76 -0
  492. package/vendor/@akanjs/native/packages/desktop/src/host.ts +355 -0
  493. package/vendor/@akanjs/native/packages/desktop/src/lifecycle.ts +142 -0
  494. package/vendor/@akanjs/native/packages/desktop/src/main.ts +133 -0
  495. package/vendor/@akanjs/native/packages/desktop/src/page-veto.ts +103 -0
  496. package/vendor/@akanjs/native/packages/desktop/src/paths.ts +59 -0
  497. package/vendor/@akanjs/native/packages/desktop/src/plugin.ts +232 -0
  498. package/vendor/@akanjs/native/packages/react/src/index.ts +23 -0
  499. package/vendor/@akanjs/native/plugins/accessibility/android/AccessibilityPlugin.kt +96 -0
  500. package/vendor/@akanjs/native/plugins/accessibility/ios/AccessibilityPlugin.swift +92 -0
  501. package/vendor/@akanjs/native/plugins/accessibility/native-plugin.json +21 -0
  502. package/vendor/@akanjs/native/plugins/accessibility/src/announce.ts +71 -0
  503. package/vendor/@akanjs/native/plugins/accessibility/src/index.ts +77 -0
  504. package/vendor/@akanjs/native/plugins/accessibility/src/web.ts +52 -0
  505. package/vendor/@akanjs/native/plugins/app/android/AppPlugin.kt +72 -0
  506. package/vendor/@akanjs/native/plugins/app/ios/AppPlugin.swift +52 -0
  507. package/vendor/@akanjs/native/plugins/app/native-plugin.json +21 -0
  508. package/vendor/@akanjs/native/plugins/app/src/desktop.ts +64 -0
  509. package/vendor/@akanjs/native/plugins/app/src/index.ts +77 -0
  510. package/vendor/@akanjs/native/plugins/app/src/web.ts +12 -0
  511. package/vendor/@akanjs/native/plugins/app-state/android/AppStatePlugin.kt +54 -0
  512. package/vendor/@akanjs/native/plugins/app-state/ios/AppStatePlugin.swift +58 -0
  513. package/vendor/@akanjs/native/plugins/app-state/native-plugin.json +17 -0
  514. package/vendor/@akanjs/native/plugins/app-state/src/index.ts +42 -0
  515. package/vendor/@akanjs/native/plugins/app-state/src/web.ts +33 -0
  516. package/vendor/@akanjs/native/plugins/appearance/android/AppearancePlugin.kt +133 -0
  517. package/vendor/@akanjs/native/plugins/appearance/ios/AppearancePlugin.swift +109 -0
  518. package/vendor/@akanjs/native/plugins/appearance/native-plugin.json +18 -0
  519. package/vendor/@akanjs/native/plugins/appearance/src/desktop.ts +133 -0
  520. package/vendor/@akanjs/native/plugins/appearance/src/index.ts +62 -0
  521. package/vendor/@akanjs/native/plugins/appearance/src/setting.ts +18 -0
  522. package/vendor/@akanjs/native/plugins/appearance/src/web.ts +25 -0
  523. package/vendor/@akanjs/native/plugins/auth-session/android/AuthSessionPlugin.kt +171 -0
  524. package/vendor/@akanjs/native/plugins/auth-session/ios/AuthSessionPlugin.swift +112 -0
  525. package/vendor/@akanjs/native/plugins/auth-session/native-plugin.json +19 -0
  526. package/vendor/@akanjs/native/plugins/auth-session/src/args.ts +62 -0
  527. package/vendor/@akanjs/native/plugins/auth-session/src/desktop.ts +133 -0
  528. package/vendor/@akanjs/native/plugins/auth-session/src/index.ts +39 -0
  529. package/vendor/@akanjs/native/plugins/autostart/native-plugin.json +10 -0
  530. package/vendor/@akanjs/native/plugins/autostart/src/desktop.ts +189 -0
  531. package/vendor/@akanjs/native/plugins/autostart/src/index.ts +51 -0
  532. package/vendor/@akanjs/native/plugins/badge/ios/BadgePlugin.swift +92 -0
  533. package/vendor/@akanjs/native/plugins/badge/native-plugin.json +15 -0
  534. package/vendor/@akanjs/native/plugins/badge/src/count.ts +12 -0
  535. package/vendor/@akanjs/native/plugins/badge/src/desktop.ts +24 -0
  536. package/vendor/@akanjs/native/plugins/badge/src/index.ts +40 -0
  537. package/vendor/@akanjs/native/plugins/badge/src/web.ts +37 -0
  538. package/vendor/@akanjs/native/plugins/biometric/android/BiometricPlugin.kt +179 -0
  539. package/vendor/@akanjs/native/plugins/biometric/ios/BiometricPlugin.swift +129 -0
  540. package/vendor/@akanjs/native/plugins/biometric/native-plugin.json +22 -0
  541. package/vendor/@akanjs/native/plugins/biometric/src/index.ts +100 -0
  542. package/vendor/@akanjs/native/plugins/browser/android/BrowserPlugin.kt +178 -0
  543. package/vendor/@akanjs/native/plugins/browser/ios/BrowserPlugin.swift +63 -0
  544. package/vendor/@akanjs/native/plugins/browser/native-plugin.json +22 -0
  545. package/vendor/@akanjs/native/plugins/browser/src/args.ts +34 -0
  546. package/vendor/@akanjs/native/plugins/browser/src/desktop.ts +40 -0
  547. package/vendor/@akanjs/native/plugins/browser/src/index.ts +47 -0
  548. package/vendor/@akanjs/native/plugins/browser/src/web.ts +60 -0
  549. package/vendor/@akanjs/native/plugins/camera/android/CameraPlugin.kt +365 -0
  550. package/vendor/@akanjs/native/plugins/camera/ios/CameraPlugin.swift +296 -0
  551. package/vendor/@akanjs/native/plugins/camera/native-plugin.json +32 -0
  552. package/vendor/@akanjs/native/plugins/camera/src/desktop.ts +27 -0
  553. package/vendor/@akanjs/native/plugins/camera/src/index.ts +85 -0
  554. package/vendor/@akanjs/native/plugins/camera/src/web.ts +267 -0
  555. package/vendor/@akanjs/native/plugins/clipboard/android/ClipboardPlugin.kt +51 -0
  556. package/vendor/@akanjs/native/plugins/clipboard/ios/ClipboardPlugin.swift +35 -0
  557. package/vendor/@akanjs/native/plugins/clipboard/native-plugin.json +17 -0
  558. package/vendor/@akanjs/native/plugins/clipboard/src/desktop.ts +66 -0
  559. package/vendor/@akanjs/native/plugins/clipboard/src/index.ts +72 -0
  560. package/vendor/@akanjs/native/plugins/clipboard/src/web.ts +69 -0
  561. package/vendor/@akanjs/native/plugins/contacts/android/ContactsPlugin.kt +84 -0
  562. package/vendor/@akanjs/native/plugins/contacts/ios/ContactsPlugin.swift +86 -0
  563. package/vendor/@akanjs/native/plugins/contacts/native-plugin.json +22 -0
  564. package/vendor/@akanjs/native/plugins/contacts/src/index.ts +43 -0
  565. package/vendor/@akanjs/native/plugins/device/android/DevicePlugin.kt +70 -0
  566. package/vendor/@akanjs/native/plugins/device/ios/DevicePlugin.swift +80 -0
  567. package/vendor/@akanjs/native/plugins/device/native-plugin.json +18 -0
  568. package/vendor/@akanjs/native/plugins/device/src/desktop.ts +276 -0
  569. package/vendor/@akanjs/native/plugins/device/src/index.ts +72 -0
  570. package/vendor/@akanjs/native/plugins/device/src/web.ts +162 -0
  571. package/vendor/@akanjs/native/plugins/dialog/android/DialogPlugin.kt +260 -0
  572. package/vendor/@akanjs/native/plugins/dialog/ios/DialogPlugin.swift +198 -0
  573. package/vendor/@akanjs/native/plugins/dialog/native-plugin.json +18 -0
  574. package/vendor/@akanjs/native/plugins/dialog/src/desktop.ts +80 -0
  575. package/vendor/@akanjs/native/plugins/dialog/src/index.ts +87 -0
  576. package/vendor/@akanjs/native/plugins/dialog/src/options.ts +111 -0
  577. package/vendor/@akanjs/native/plugins/dialog/src/web.ts +296 -0
  578. package/vendor/@akanjs/native/plugins/dock/native-plugin.json +10 -0
  579. package/vendor/@akanjs/native/plugins/dock/src/desktop.ts +34 -0
  580. package/vendor/@akanjs/native/plugins/dock/src/index.ts +46 -0
  581. package/vendor/@akanjs/native/plugins/file-picker/android/FilePickerPlugin.kt +316 -0
  582. package/vendor/@akanjs/native/plugins/file-picker/ios/FilePickerPlugin.swift +366 -0
  583. package/vendor/@akanjs/native/plugins/file-picker/native-plugin.json +18 -0
  584. package/vendor/@akanjs/native/plugins/file-picker/src/common.ts +125 -0
  585. package/vendor/@akanjs/native/plugins/file-picker/src/desktop.ts +164 -0
  586. package/vendor/@akanjs/native/plugins/file-picker/src/index.ts +187 -0
  587. package/vendor/@akanjs/native/plugins/file-picker/src/web.ts +158 -0
  588. package/vendor/@akanjs/native/plugins/filesystem/android/FilesystemPlugin.kt +561 -0
  589. package/vendor/@akanjs/native/plugins/filesystem/ios/FilesystemPlugin.swift +596 -0
  590. package/vendor/@akanjs/native/plugins/filesystem/native-plugin.json +45 -0
  591. package/vendor/@akanjs/native/plugins/filesystem/src/common.ts +150 -0
  592. package/vendor/@akanjs/native/plugins/filesystem/src/desktop.ts +438 -0
  593. package/vendor/@akanjs/native/plugins/filesystem/src/index.ts +179 -0
  594. package/vendor/@akanjs/native/plugins/filesystem/src/web.ts +334 -0
  595. package/vendor/@akanjs/native/plugins/geolocation/android/GeolocationPlugin.kt +360 -0
  596. package/vendor/@akanjs/native/plugins/geolocation/ios/GeolocationPlugin.swift +284 -0
  597. package/vendor/@akanjs/native/plugins/geolocation/native-plugin.json +23 -0
  598. package/vendor/@akanjs/native/plugins/geolocation/src/index.ts +155 -0
  599. package/vendor/@akanjs/native/plugins/geolocation/src/web.ts +132 -0
  600. package/vendor/@akanjs/native/plugins/global-shortcut/native-plugin.json +10 -0
  601. package/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.ts +36 -0
  602. package/vendor/@akanjs/native/plugins/global-shortcut/src/index.ts +55 -0
  603. package/vendor/@akanjs/native/plugins/haptics/android/HapticsPlugin.kt +127 -0
  604. package/vendor/@akanjs/native/plugins/haptics/ios/HapticsPlugin.swift +127 -0
  605. package/vendor/@akanjs/native/plugins/haptics/native-plugin.json +19 -0
  606. package/vendor/@akanjs/native/plugins/haptics/src/index.ts +34 -0
  607. package/vendor/@akanjs/native/plugins/haptics/src/web.ts +53 -0
  608. package/vendor/@akanjs/native/plugins/http/android/HttpPlugin.kt +234 -0
  609. package/vendor/@akanjs/native/plugins/http/android/HttpUrl.kt +182 -0
  610. package/vendor/@akanjs/native/plugins/http/ios/HttpPlugin.swift +228 -0
  611. package/vendor/@akanjs/native/plugins/http/ios/HttpUrl.swift +166 -0
  612. package/vendor/@akanjs/native/plugins/http/native-plugin.json +27 -0
  613. package/vendor/@akanjs/native/plugins/http/src/common.ts +294 -0
  614. package/vendor/@akanjs/native/plugins/http/src/desktop.ts +69 -0
  615. package/vendor/@akanjs/native/plugins/http/src/index.ts +181 -0
  616. package/vendor/@akanjs/native/plugins/http/src/web.ts +40 -0
  617. package/vendor/@akanjs/native/plugins/iap/android/IapPlugin.kt +358 -0
  618. package/vendor/@akanjs/native/plugins/iap/ios/IapPlugin.swift +306 -0
  619. package/vendor/@akanjs/native/plugins/iap/native-plugin.json +28 -0
  620. package/vendor/@akanjs/native/plugins/iap/src/index.ts +206 -0
  621. package/vendor/@akanjs/native/plugins/keep-awake/android/KeepAwakePlugin.kt +48 -0
  622. package/vendor/@akanjs/native/plugins/keep-awake/ios/KeepAwakePlugin.swift +36 -0
  623. package/vendor/@akanjs/native/plugins/keep-awake/native-plugin.json +17 -0
  624. package/vendor/@akanjs/native/plugins/keep-awake/src/desktop.ts +127 -0
  625. package/vendor/@akanjs/native/plugins/keep-awake/src/index.ts +79 -0
  626. package/vendor/@akanjs/native/plugins/keep-awake/src/web.ts +78 -0
  627. package/vendor/@akanjs/native/plugins/keyboard/android/KeyboardPlugin.kt +77 -0
  628. package/vendor/@akanjs/native/plugins/keyboard/ios/KeyboardPlugin.swift +93 -0
  629. package/vendor/@akanjs/native/plugins/keyboard/native-plugin.json +18 -0
  630. package/vendor/@akanjs/native/plugins/keyboard/src/index.ts +78 -0
  631. package/vendor/@akanjs/native/plugins/keyboard/src/web.ts +57 -0
  632. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationReceiver.kt +38 -0
  633. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotifications.kt +284 -0
  634. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationsPlugin.kt +248 -0
  635. package/vendor/@akanjs/native/plugins/local-notifications/ios/LocalNotificationsPlugin.swift +279 -0
  636. package/vendor/@akanjs/native/plugins/local-notifications/native-plugin.json +35 -0
  637. package/vendor/@akanjs/native/plugins/local-notifications/src/desktop.ts +196 -0
  638. package/vendor/@akanjs/native/plugins/local-notifications/src/index.ts +174 -0
  639. package/vendor/@akanjs/native/plugins/local-notifications/src/schedule.ts +164 -0
  640. package/vendor/@akanjs/native/plugins/local-notifications/src/timers.ts +72 -0
  641. package/vendor/@akanjs/native/plugins/local-notifications/src/web.ts +158 -0
  642. package/vendor/@akanjs/native/plugins/menu/native-plugin.json +10 -0
  643. package/vendor/@akanjs/native/plugins/menu/src/desktop.ts +52 -0
  644. package/vendor/@akanjs/native/plugins/menu/src/index.ts +107 -0
  645. package/vendor/@akanjs/native/plugins/network/android/NetworkPlugin.kt +124 -0
  646. package/vendor/@akanjs/native/plugins/network/ios/NetworkPlugin.swift +82 -0
  647. package/vendor/@akanjs/native/plugins/network/native-plugin.json +19 -0
  648. package/vendor/@akanjs/native/plugins/network/src/index.ts +59 -0
  649. package/vendor/@akanjs/native/plugins/network/src/web.ts +43 -0
  650. package/vendor/@akanjs/native/plugins/opener/android/OpenerPlugin.kt +81 -0
  651. package/vendor/@akanjs/native/plugins/opener/ios/OpenerPlugin.swift +83 -0
  652. package/vendor/@akanjs/native/plugins/opener/native-plugin.json +25 -0
  653. package/vendor/@akanjs/native/plugins/opener/src/desktop.ts +88 -0
  654. package/vendor/@akanjs/native/plugins/opener/src/index.ts +35 -0
  655. package/vendor/@akanjs/native/plugins/opener/src/url.ts +39 -0
  656. package/vendor/@akanjs/native/plugins/opener/src/web.ts +33 -0
  657. package/vendor/@akanjs/native/plugins/preferences/android/PreferencesPlugin.kt +44 -0
  658. package/vendor/@akanjs/native/plugins/preferences/ios/PreferencesPlugin.swift +47 -0
  659. package/vendor/@akanjs/native/plugins/preferences/native-plugin.json +18 -0
  660. package/vendor/@akanjs/native/plugins/preferences/src/desktop.ts +59 -0
  661. package/vendor/@akanjs/native/plugins/preferences/src/index.ts +75 -0
  662. package/vendor/@akanjs/native/plugins/preferences/src/web.ts +55 -0
  663. package/vendor/@akanjs/native/plugins/push/android/AkanNativeMessagingService.kt +17 -0
  664. package/vendor/@akanjs/native/plugins/push/android/PushPlugin.kt +257 -0
  665. package/vendor/@akanjs/native/plugins/push/ios/PushPlugin.swift +169 -0
  666. package/vendor/@akanjs/native/plugins/push/native-plugin.json +23 -0
  667. package/vendor/@akanjs/native/plugins/push/src/index.ts +73 -0
  668. package/vendor/@akanjs/native/plugins/screen/native-plugin.json +10 -0
  669. package/vendor/@akanjs/native/plugins/screen/src/desktop.ts +50 -0
  670. package/vendor/@akanjs/native/plugins/screen/src/index.ts +107 -0
  671. package/vendor/@akanjs/native/plugins/screen/src/web.ts +92 -0
  672. package/vendor/@akanjs/native/plugins/screen-orientation/android/ScreenOrientationPlugin.kt +113 -0
  673. package/vendor/@akanjs/native/plugins/screen-orientation/ios/ScreenOrientationPlugin.swift +150 -0
  674. package/vendor/@akanjs/native/plugins/screen-orientation/native-plugin.json +17 -0
  675. package/vendor/@akanjs/native/plugins/screen-orientation/src/index.ts +69 -0
  676. package/vendor/@akanjs/native/plugins/screen-orientation/src/types.ts +26 -0
  677. package/vendor/@akanjs/native/plugins/screen-orientation/src/web.ts +67 -0
  678. package/vendor/@akanjs/native/plugins/secure-storage/android/SecureStoragePlugin.kt +184 -0
  679. package/vendor/@akanjs/native/plugins/secure-storage/ios/SecureStoragePlugin.swift +145 -0
  680. package/vendor/@akanjs/native/plugins/secure-storage/native-plugin.json +18 -0
  681. package/vendor/@akanjs/native/plugins/secure-storage/src/desktop.ts +332 -0
  682. package/vendor/@akanjs/native/plugins/secure-storage/src/index.ts +33 -0
  683. package/vendor/@akanjs/native/plugins/share/android/SharePlugin.kt +218 -0
  684. package/vendor/@akanjs/native/plugins/share/ios/SharePlugin.swift +142 -0
  685. package/vendor/@akanjs/native/plugins/share/native-plugin.json +18 -0
  686. package/vendor/@akanjs/native/plugins/share/src/index.ts +87 -0
  687. package/vendor/@akanjs/native/plugins/share/src/options.ts +43 -0
  688. package/vendor/@akanjs/native/plugins/share/src/web.ts +116 -0
  689. package/vendor/@akanjs/native/plugins/single-instance/native-plugin.json +10 -0
  690. package/vendor/@akanjs/native/plugins/single-instance/src/desktop.ts +63 -0
  691. package/vendor/@akanjs/native/plugins/single-instance/src/index.ts +32 -0
  692. package/vendor/@akanjs/native/plugins/single-instance/src/socket.ts +248 -0
  693. package/vendor/@akanjs/native/plugins/splash-screen/android/SplashScreenPlugin.kt +19 -0
  694. package/vendor/@akanjs/native/plugins/splash-screen/ios/SplashScreenPlugin.swift +20 -0
  695. package/vendor/@akanjs/native/plugins/splash-screen/native-plugin.json +17 -0
  696. package/vendor/@akanjs/native/plugins/splash-screen/src/index.ts +24 -0
  697. package/vendor/@akanjs/native/plugins/splash-screen/src/web.ts +17 -0
  698. package/vendor/@akanjs/native/plugins/sqlite/android/SqlStatements.kt +121 -0
  699. package/vendor/@akanjs/native/plugins/sqlite/android/SqlitePlugin.kt +327 -0
  700. package/vendor/@akanjs/native/plugins/sqlite/ios/SqlitePlugin.swift +361 -0
  701. package/vendor/@akanjs/native/plugins/sqlite/native-plugin.json +18 -0
  702. package/vendor/@akanjs/native/plugins/sqlite/src/common.ts +221 -0
  703. package/vendor/@akanjs/native/plugins/sqlite/src/desktop.ts +140 -0
  704. package/vendor/@akanjs/native/plugins/sqlite/src/index.ts +114 -0
  705. package/vendor/@akanjs/native/plugins/toast/android/ToastPlugin.kt +27 -0
  706. package/vendor/@akanjs/native/plugins/toast/native-plugin.json +14 -0
  707. package/vendor/@akanjs/native/plugins/toast/src/index.ts +41 -0
  708. package/vendor/@akanjs/native/plugins/toast/src/queue.ts +77 -0
  709. package/vendor/@akanjs/native/plugins/toast/src/web.ts +130 -0
  710. package/vendor/@akanjs/native/plugins/tray/native-plugin.json +10 -0
  711. package/vendor/@akanjs/native/plugins/tray/src/desktop.ts +73 -0
  712. package/vendor/@akanjs/native/plugins/tray/src/index.ts +111 -0
  713. package/vendor/@akanjs/native/plugins/updates/android/UpdatesPlugin.kt +290 -0
  714. package/vendor/@akanjs/native/plugins/updates/ios/UpdatesPlugin.swift +292 -0
  715. package/vendor/@akanjs/native/plugins/updates/native-plugin.json +19 -0
  716. package/vendor/@akanjs/native/plugins/updates/src/desktop.ts +558 -0
  717. package/vendor/@akanjs/native/plugins/updates/src/index.ts +95 -0
  718. package/vendor/@akanjs/native/plugins/window/native-plugin.json +32 -0
  719. package/vendor/@akanjs/native/plugins/window/src/desktop.ts +170 -0
  720. package/vendor/@akanjs/native/plugins/window/src/index.ts +342 -0
  721. package/vendor/@akanjs/native/plugins/window/src/web.ts +43 -0
  722. package/vendor/@akanjs/native/plugins/window-state/native-plugin.json +10 -0
  723. package/vendor/@akanjs/native/plugins/window-state/src/desktop.ts +73 -0
  724. package/vendor/@akanjs/native/plugins/window-state/src/index.ts +35 -0
  725. package/vendor/@akanjs/native/plugins/window-state/src/state.ts +146 -0
  726. package/webkit/bootCsr.tsx +26 -14
  727. package/webkit/index.ts +0 -2
  728. package/webkit/nativeNavigation.ts +116 -0
  729. package/webkit/nativePurchase.ts +93 -0
  730. package/webkit/useCamera.tsx +76 -71
  731. package/webkit/useCsrValues.ts +10 -124
  732. package/webkit/useGeoLocation.tsx +11 -13
  733. package/webkit/usePurchase.tsx +68 -123
  734. package/capacitor.base.config.ts +0 -140
  735. package/client/capacitor.ts +0 -252
  736. package/types/capacitor.base.config.d.ts +0 -3
  737. package/types/client/capacitor.d.ts +0 -290
  738. package/types/webkit/useCodepush.d.ts +0 -16
  739. package/types/webkit/useContact.d.ts +0 -11
  740. package/webkit/useCodepush.tsx +0 -76
  741. package/webkit/useContact.tsx +0 -45
package/README.ko.md CHANGED
@@ -199,7 +199,6 @@ UI barrel import를 leaf import로 다시 써서 클라이언트 번들을 작
199
199
  특수 public surface:
200
200
 
201
201
  - `akanjs/ui/styles.css`
202
- - `akanjs/capacitor.base.config`
203
202
  - `akanjs/server/rsc-worker`
204
203
  - `akanjs/package.json`
205
204
 
package/README.md CHANGED
@@ -197,7 +197,6 @@ frontend build to rewrite UI barrel imports into leaf imports.
197
197
  Special public surfaces:
198
198
 
199
199
  - `akanjs/ui/styles.css`
200
- - `akanjs/capacitor.base.config`
201
200
  - `akanjs/server/rsc-worker`
202
201
  - `akanjs/package.json`
203
202
 
package/base/baseEnv.ts CHANGED
@@ -111,6 +111,26 @@ export const resetEnvCache = () => {
111
111
  cachedEnv = undefined;
112
112
  };
113
113
 
114
+ const csrServerUrl = (): URL | null => {
115
+ const value = process.env.AKAN_PUBLIC_SERVER_URL;
116
+ if (!value) return null;
117
+ const url = new URL(value);
118
+ if (url.protocol !== "http:" && url.protocol !== "https:")
119
+ throw new Error(`AKAN_PUBLIC_SERVER_URL must be an http(s) URL, got "${value}".`);
120
+ return url;
121
+ };
122
+
123
+ const nativeDevGatewayOrigin = (): string | null =>
124
+ (globalThis as { __AKAN_NATIVE_DEV__?: { gateway?: string } }).__AKAN_NATIVE_DEV__?.gateway
125
+ ? `${window.location.protocol}//${window.location.host}`
126
+ : null;
127
+
128
+ const nativeDevServerUrl = (operationMode: BaseEnv["operationMode"]): URL | null => {
129
+ const platform = (globalThis as { __AKAN_NATIVE__?: { platform?: string } }).__AKAN_NATIVE__?.platform;
130
+ if (operationMode !== "local" || !platform || platform === "web") return null;
131
+ return new URL(`http://localhost:${process.env.AKAN_PUBLIC_SERVER_PORT ?? "8282"}`);
132
+ };
133
+
114
134
  const missingPublicEnv = (key: string) =>
115
135
  `getEnv() cannot run at build time: akan build does not inject ${key}. Call it from a runtime function instead of at module scope (e.g. env(() => getEnv()) in adapt(), a method body, or a default thunk).`;
116
136
 
@@ -158,7 +178,14 @@ export const getEnv = (): ClientEnv => {
158
178
  ? "http:"
159
179
  : "https:";
160
180
  const clientHttpUri = `${clientHttpProtocol}//${clientHost}${clientPort === 443 ? "" : `:${clientPort}`}`;
181
+ const csrClient = side === "client" && renderMode === "csr";
182
+ const pageOrigin = csrClient && !process.env.AKAN_PUBLIC_SERVER_URL ? nativeDevGatewayOrigin() : null;
183
+ const serverUrl = csrClient && !pageOrigin ? (csrServerUrl() ?? nativeDevServerUrl(operationMode)) : null;
184
+
185
+ const hostFromPage =
186
+ side === "client" && !serverUrl && (!!pageOrigin || operationMode === "local" || renderMode !== "csr");
161
187
  const serverHost =
188
+ (pageOrigin ? window.location.hostname : serverUrl?.hostname) ??
162
189
  process.env.SERVER_HOST ??
163
190
  (operationMode === "local"
164
191
  ? typeof window === "undefined"
@@ -174,9 +201,14 @@ export const getEnv = (): ClientEnv => {
174
201
  const serverPort =
175
202
  side === "server"
176
203
  ? parseInt(process.env.AKAN_PUBLIC_SERVER_PORT ?? selfServerPort ?? "8282")
177
- : parseInt(window.location.port || (window.location.protocol === "https:" ? "443" : "80"));
204
+ : serverUrl
205
+ ? parseInt(serverUrl.port || (serverUrl.protocol === "https:" ? "443" : "80"))
206
+ : hostFromPage
207
+ ? parseInt(window.location.port || (window.location.protocol === "https:" ? "443" : "80"))
208
+ : 443;
178
209
 
179
210
  const serverHttpProtocol: "http:" | "https:" =
211
+ ((pageOrigin ? window.location.protocol : serverUrl?.protocol) as "http:" | "https:" | undefined) ??
180
212
  (process.env.SERVER_HTTP_PROTOCOL as "http:" | "https:" | undefined) ??
181
213
  (operationMode === "local"
182
214
  ? side === "client"
@@ -189,9 +221,14 @@ export const getEnv = (): ClientEnv => {
189
221
  : ("http:" as const));
190
222
  const apiPrefix = getApiPrefix();
191
223
  const wsPrefix = getWsPrefix();
192
- const serverHttpUri = `${serverHttpProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}${apiPrefix}`;
224
+
225
+ const serverHttpUri = pageOrigin
226
+ ? `${pageOrigin}${apiPrefix}`
227
+ : `${serverHttpProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}${apiPrefix}`;
193
228
  const serverWsProtocol = serverHttpProtocol === "http:" ? "ws:" : "wss:";
194
- const serverWsUri = `${serverWsProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}`;
229
+ const serverWsUri = pageOrigin
230
+ ? pageOrigin.replace(/^http/, "ws")
231
+ : `${serverWsProtocol}//${serverHost}${serverPort === 443 ? "" : `:${serverPort}`}`;
195
232
 
196
233
  const env: ClientEnv = {
197
234
  ...baseEnv,
package/client/cookie.ts CHANGED
@@ -9,8 +9,7 @@ import {
9
9
  } from "akanjs/common";
10
10
  import type { Account } from "akanjs/fetch";
11
11
  import { parseCookieHeader, cookies as serverCookies, headers as serverHeaders } from "akanjs/fetch";
12
- import { loadCapacitorCore } from "./capacitor";
13
- import { storage } from "./storage";
12
+ import { secretStorage } from "./storage";
14
13
  import { fetch } from "./useClient";
15
14
 
16
15
  interface CookieOptions {
@@ -19,8 +18,28 @@ interface CookieOptions {
19
18
  secure?: boolean;
20
19
  }
21
20
 
21
+ const isCsrClient = () => {
22
+ const env = getEnv();
23
+ return env.side === "client" && env.renderMode === "csr";
24
+ };
25
+
26
+ const cookieJarKey = "akan:cookies";
27
+ const pageKeepsCookies = () => (globalThis as { location?: Location }).location?.protocol !== "app:";
28
+ const readCookieJar = (): Record<string, string> => {
29
+ try {
30
+ return JSON.parse(localStorage.getItem(cookieJarKey) ?? "{}") as Record<string, string>;
31
+ } catch {
32
+ return {};
33
+ }
34
+ };
35
+ const writeCookieJar = (jar: Record<string, string>) => {
36
+ localStorage.setItem(cookieJarKey, JSON.stringify(jar));
37
+ };
38
+
22
39
  export const cookies = (): Map<string, { name: string; value: string }> => {
23
40
  if (getEnv().side === "server") return serverCookies();
41
+ if (!pageKeepsCookies())
42
+ return new Map(Object.entries(readCookieJar()).map(([name, value]) => [name, { name, value }]));
24
43
  return parseCookieHeader(document.cookie);
25
44
  };
26
45
 
@@ -29,18 +48,17 @@ export const setCookie = (
29
48
  value: string,
30
49
  options: CookieOptions = { path: "/", sameSite: "none", secure: true },
31
50
  ) => {
32
- const env = getEnv();
33
- if (env.side === "server") return;
51
+ if (getEnv().side === "server") return;
52
+ if (!pageKeepsCookies()) {
53
+ writeCookieJar({ ...readCookieJar(), [key]: value });
54
+ return;
55
+ }
34
56
  const encoded = `${key}=${value}`;
35
57
  const path = options.path ? `; path=${options.path}` : "";
36
58
  const sameSite = options.sameSite ? `; SameSite=${options.sameSite}` : "";
37
59
  const secure = options.secure ? "; Secure" : "";
38
60
 
39
61
  document.cookie = `${encoded}${path}${sameSite}${secure}`;
40
- if (env.renderMode !== "csr") return;
41
- void loadCapacitorCore()
42
- .then(({ CapacitorCookies }) => CapacitorCookies.setCookie({ key, value, path: options.path }))
43
- .catch(() => undefined);
44
62
  };
45
63
 
46
64
  /** Reads through `cookies()` on both sides: a hand-rolled `split("=")` cuts base64 padding and skips the `j:` form. */
@@ -49,6 +67,11 @@ export const getCookie = (key: string): string | undefined => cookies().get(key)
49
67
  export const removeCookie = (key: string, options: { path: string } = { path: "/" }) => {
50
68
 
51
69
  if (getEnv().side === "server") return;
70
+ if (!pageKeepsCookies()) {
71
+ const { [key]: _removed, ...rest } = readCookieJar();
72
+ writeCookieJar(rest);
73
+ return;
74
+ }
52
75
 
53
76
  document.cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=${options.path};`;
54
77
  };
@@ -63,19 +86,31 @@ export const getHeader = (key: string): string | undefined => {
63
86
 
64
87
  export { authTokenKey };
65
88
 
66
- /** The auth token this app holds in the cookie jar, under the app-scoped key or a legacy global one. */
67
- export const getAuthToken = (): string | undefined => readAuthToken(getCookie);
89
+ const sentAuthToken = (): string | undefined => {
90
+ try {
91
+ return (fetch.instance as { jwt?: string | null } | undefined)?.jwt ?? undefined;
92
+ } catch {
93
+
94
+ return undefined;
95
+ }
96
+ };
68
97
 
69
- /** The auth token this app holds in client storage — localStorage under SSR, Capacitor Preferences on CSR. */
98
+ /** The auth token this app holds: on a CSR client the one `fetch` sends first, since a native shell's page keeps no
99
+ * session cookie; then the cookie jar, under the app-scoped key or a legacy global one. */
100
+ export const getAuthToken = (): string | undefined =>
101
+ (isCsrClient() ? sentAuthToken() : undefined) ?? readAuthToken(getCookie);
102
+
103
+ /** The auth token this app holds in client storage — the OS credential store in a native app, localStorage elsewhere. */
70
104
  export const getStoredAuthToken = async (): Promise<string | undefined> => {
71
- const scoped = await storage.getItem(authTokenKey());
105
+ const scoped = await secretStorage.getItem(authTokenKey());
72
106
  if (scoped) return scoped;
73
- const legacy = await storage.getItem(legacyAuthTokenKey);
107
+ const legacy = await secretStorage.getItem(legacyAuthTokenKey);
74
108
  return legacy && isOwnAuthToken(legacy) ? legacy : undefined;
75
109
  };
76
110
 
77
111
  /** The current JWT's account when minted for this app and environment. Reads only the two credentials the server
78
- * honours — the app-scoped auth cookie and `Authorization: Bearer` — so the two never disagree on who is signed in. */
112
+ * honours — the app-scoped auth cookie (a CSR client's bearer token) and `Authorization: Bearer` — so the two never
113
+ * disagree on who is signed in. */
79
114
  export const getAccount = <AddData = unknown>(): Account<AddData> => {
80
115
  const jwt = getAuthToken() ?? getHeader("authorization")?.replace(/^Bearer\s+/i, "");
81
116
  const defaultAccount = { appName: getEnv().appName, environment: getEnv().environment } as Account<AddData>;
@@ -90,14 +125,15 @@ export interface GetOption {
90
125
  interface SetAuthOption {
91
126
  jwt: string;
92
127
  }
93
- /** Sets the active auth token on fetch, cookie storage, and client storage. */
128
+ /** Sets the active auth token on fetch, the cookie jar (except on a CSR client), and client storage. */
94
129
  export const setAuth = ({ jwt }: SetAuthOption) => {
95
130
  fetch.setJwt(jwt);
96
- setCookie(authTokenKey(), jwt);
97
- void storage.setItem(authTokenKey(), jwt);
131
+
132
+ if (!isCsrClient()) setCookie(authTokenKey(), jwt);
133
+ void secretStorage.setItem(authTokenKey(), jwt);
98
134
 
99
135
  removeCookie(legacyAuthTokenKey);
100
- void storage.removeItem(legacyAuthTokenKey);
136
+ void secretStorage.removeItem(legacyAuthTokenKey);
101
137
  };
102
138
 
103
139
  interface InitAuthOption {
@@ -121,6 +157,6 @@ export const resetAuth = () => {
121
157
  fetch.setJwt(null);
122
158
  removeCookie(authTokenKey());
123
159
  removeCookie(legacyAuthTokenKey);
124
- void storage.removeItem(authTokenKey());
125
- void storage.removeItem(legacyAuthTokenKey);
160
+ void secretStorage.removeItem(authTokenKey());
161
+ void secretStorage.removeItem(legacyAuthTokenKey);
126
162
  };
@@ -288,7 +288,16 @@ export type UseCsrTransition = CsrTransitionStyles & {
288
288
  };
289
289
 
290
290
  export type CsrContextType = RouteState & UseCsrTransition;
291
- export const csrContext = sharedContext<CsrContextType>("csr", {} as unknown as CsrContextType);
291
+
292
+ export const csrContext = sharedContext<CsrContextType>("csr", {
293
+ history: { current: null },
294
+ topSafeAreaRef: { current: null },
295
+ bottomSafeAreaRef: { current: null },
296
+ prevPageContentRef: { current: null },
297
+ pageContentRef: { current: null },
298
+ frameRootRef: { current: null },
299
+ onBack: { current: {} },
300
+ } as unknown as CsrContextType);
292
301
  export const useCsr = () => {
293
302
  const contextValues = useContext(csrContext);
294
303
  return contextValues;
package/client/device.ts CHANGED
@@ -1,16 +1,10 @@
1
1
  "use client";
2
2
  import type { RefObject } from "react";
3
- import type {
4
- CapacitorDeviceInfo,
5
- CapacitorHapticsModule,
6
- CapacitorKeyboardInfo,
7
- CapacitorKeyboardModule,
8
- } from "./capacitor";
9
-
10
- type DeviceInfo = CapacitorDeviceInfo;
11
- type Keyboard = CapacitorKeyboardModule["Keyboard"];
12
- type Haptics = CapacitorHapticsModule["Haptics"];
13
- type ImpactStyle = CapacitorHapticsModule["ImpactStyle"];
3
+ import { readCssSafeAreaInsets } from "./frameConfig";
4
+ import type { DeviceInfo } from "./native";
5
+
6
+ type NativeModule = typeof import("./native");
7
+ type NativeControls = Pick<NativeModule, "haptics" | "keyboard">;
14
8
  type ProcessEnvLike = { env?: Record<string, string | undefined> };
15
9
  type DebugPayload = Record<string, unknown>;
16
10
 
@@ -47,37 +41,25 @@ interface DeviceInitOption {
47
41
  info: DeviceInfo;
48
42
  topSafeArea: number;
49
43
  bottomSafeArea: number;
50
- keyboard: Keyboard;
51
- haptics: Haptics;
52
- impactStyle: ImpactStyle;
44
+ /** The shell's keyboard and haptics; a page outside a native shell has neither. */
45
+ native: NativeControls | null;
53
46
  }
54
47
 
55
- const noopKeyboard: Keyboard = {
56
- show: async () => undefined,
57
- hide: async () => undefined,
58
- addListener: async () => undefined,
59
- removeAllListeners: async () => undefined,
60
- };
61
-
62
- const noopHaptics: Haptics = {
63
- vibrate: async () => undefined,
64
- impact: async () => undefined,
65
- selectionStart: async () => undefined,
66
- selectionChanged: async () => undefined,
67
- selectionEnd: async () => undefined,
68
- };
69
-
70
- const noopImpactStyle: ImpactStyle = {
71
- Light: "light",
72
- Medium: "medium",
73
- Heavy: "heavy",
48
+ const webDeviceInfo: DeviceInfo = {
49
+ platform: "web",
50
+ model: "",
51
+ manufacturer: "unknown",
52
+ osName: "unknown",
53
+ osVersion: "",
54
+ isVirtual: false,
55
+ webViewVersion: null,
74
56
  };
75
57
 
76
58
  const getRenderMode = () => globalWithProcess.process?.env?.AKAN_PUBLIC_RENDER_ENV ?? "csr";
77
59
 
78
60
  const getBrowserLanguage = () => globalThis.navigator?.language?.split("-")[0] ?? "en";
79
61
 
80
- const isNativeTarget = () => {
62
+ export const isNativeTarget = () => {
81
63
  if (typeof window === "undefined") return false;
82
64
  return Boolean((window as typeof window & { __AKAN_MOBILE_TARGET__?: unknown }).__AKAN_MOBILE_TARGET__);
83
65
  };
@@ -103,12 +85,10 @@ const createWebDevice = ({
103
85
  const pathname = typeof window === "undefined" ? "" : window.location.pathname;
104
86
  return new Device({
105
87
  lang: lang ?? langInPath(pathname, supportLanguages) ?? getBrowserLanguage(),
106
- info: { platform: "web", isVirtual: false, osVersion: "" },
88
+ info: webDeviceInfo,
107
89
  topSafeArea: 0,
108
90
  bottomSafeArea: 0,
109
- keyboard: noopKeyboard,
110
- haptics: noopHaptics,
111
- impactStyle: noopImpactStyle,
91
+ native: null,
112
92
  });
113
93
  };
114
94
 
@@ -126,31 +106,21 @@ export class Device {
126
106
  Device.instance = createWebDevice({ lang, supportLanguages });
127
107
  return Device.instance;
128
108
  }
129
- const { loadCapacitorDevice, loadCapacitorHaptics, loadCapacitorKeyboard, loadCapacitorSafeArea } = await import(
130
- "./capacitor"
131
- );
132
- const [{ Device: CapacitorDevice }, { Keyboard }, { Haptics, ImpactStyle }, { SafeArea }] = await Promise.all([
133
- loadCapacitorDevice(),
134
- loadCapacitorKeyboard(),
135
- loadCapacitorHaptics(),
136
- loadCapacitorSafeArea(),
137
- ]);
138
- const [
139
- info,
140
- { value: languageCode },
141
- {
142
- insets: { top: topSafeArea, bottom: bottomSafeArea },
143
- },
144
- ] = await Promise.all([CapacitorDevice.getInfo(), CapacitorDevice.getLanguageCode(), SafeArea.getSafeAreaInsets()]);
145
- if (info.platform === "ios") await Keyboard.setResizeMode?.({ mode: "none" });
109
+ const native = await import("./native");
110
+
111
+ if (!native.isNativeApp()) {
112
+ Device.instance = createWebDevice({ lang, supportLanguages });
113
+ return Device.instance;
114
+ }
115
+ const [info, { code: languageCode }] = await Promise.all([native.device.getInfo(), native.device.getLanguage()]);
116
+
117
+ const { top: topSafeArea, bottom: bottomSafeArea } = readCssSafeAreaInsets();
146
118
  Device.instance = new Device({
147
119
  lang: lang ?? langInPath(window.location.pathname, supportLanguages) ?? languageCode,
148
120
  info,
149
121
  topSafeArea,
150
122
  bottomSafeArea,
151
- keyboard: Keyboard,
152
- haptics: Haptics,
153
- impactStyle: ImpactStyle,
123
+ native: { keyboard: native.keyboard, haptics: native.haptics },
154
124
  });
155
125
  return Device.instance;
156
126
  }
@@ -164,33 +134,26 @@ export class Device {
164
134
  topSafeArea: number;
165
135
  bottomSafeArea: number;
166
136
  isMobile = isMobileDevice();
167
- #keyboard: DeviceInitOption["keyboard"];
168
- #haptics: DeviceInitOption["haptics"];
169
- #impactStyle: DeviceInitOption["impactStyle"];
137
+ #native: NativeControls | null;
138
+ #stopKeyboardListeners: (() => void)[] = [];
170
139
  #pageContentRef: RefObject<HTMLDivElement | null> | null = null;
171
140
 
172
- constructor({ lang, info, topSafeArea, bottomSafeArea, keyboard, haptics, impactStyle }: DeviceInitOption) {
141
+ constructor({ lang, info, topSafeArea, bottomSafeArea, native }: DeviceInitOption) {
173
142
  this.info = info;
174
143
  this.lang = lang;
175
144
  this.topSafeArea = topSafeArea;
176
145
  this.bottomSafeArea = bottomSafeArea;
177
- this.#keyboard = keyboard;
178
- this.#haptics = haptics;
179
- this.#impactStyle = impactStyle;
146
+ this.#native = native;
180
147
  }
181
148
  setPageContentRef(pageContentRef: RefObject<HTMLDivElement | null>) {
182
149
  this.#pageContentRef = pageContentRef;
183
150
  }
184
- async showKeyboard() {
185
- if (this.info.platform === "web") return;
186
- await this.#keyboard.show();
187
- }
188
151
  async hideKeyboard() {
189
- if (this.info.platform === "web") return;
190
- await this.#keyboard.hide();
152
+ await this.#native?.keyboard.hide();
191
153
  }
192
154
  listenKeyboardChanged(onKeyboardChanged: (height: number) => void) {
193
- if (this.info.platform === "web") return;
155
+ const keyboard = this.#native?.keyboard;
156
+ if (!keyboard) return;
194
157
  let currentHeight = 0;
195
158
  const emitKeyboardHeight = (event: string, height: number) => {
196
159
  debugFrame("keyboard.event", { event, height, previousHeight: currentHeight });
@@ -198,33 +161,22 @@ export class Device {
198
161
  currentHeight = height;
199
162
  onKeyboardChanged(height);
200
163
  };
201
- for (const event of ["keyboardWillShow", "keyboardDidShow"])
202
- void this.#keyboard.addListener(event, (keyboard: CapacitorKeyboardInfo) => {
203
- emitKeyboardHeight(event, keyboard.keyboardHeight);
204
- });
205
- for (const event of ["keyboardWillHide", "keyboardDidHide"])
206
- void this.#keyboard.addListener(event, () => {
207
- emitKeyboardHeight(event, 0);
208
- });
164
+ this.#stopKeyboardListeners.push(
165
+ ...(["willShow", "didShow", "willHide", "didHide"] as const).map((event) =>
166
+ keyboard.listen(event, ({ height }) => {
167
+ emitKeyboardHeight(event, height);
168
+ }),
169
+ ),
170
+ );
209
171
  }
210
172
  unlistenKeyboardChanged() {
211
- if (this.info.platform === "web") return;
212
- void this.#keyboard.removeAllListeners();
173
+ for (const stop of this.#stopKeyboardListeners.splice(0)) stop();
213
174
  }
214
175
  async vibrate(type: "light" | "medium" | "heavy" | number = "medium") {
215
- if (typeof type === "number") {
216
- await this.#haptics.vibrate({ duration: type });
217
- return;
218
- }
219
- const handleImpact = {
220
- light: () => this.#haptics.impact({ style: this.#impactStyle.Light }),
221
- medium: () => this.#haptics.impact({ style: this.#impactStyle.Medium }),
222
- heavy: () => this.#haptics.impact({ style: this.#impactStyle.Heavy }),
223
- selectionStart: () => this.#haptics.selectionStart(),
224
- selectionChanged: () => this.#haptics.selectionChanged(),
225
- selectionEnd: () => this.#haptics.selectionEnd(),
226
- };
227
- await handleImpact[type]();
176
+ const haptics = this.#native?.haptics;
177
+ if (!haptics) return;
178
+ if (typeof type === "number") await haptics.vibrate({ duration: type });
179
+ else await haptics.impact({ style: type });
228
180
  }
229
181
  getScrollTop() {
230
182
  if (this.info.platform === "web") return window.scrollY;
@@ -238,8 +238,8 @@ export function readCssSafeAreaInsets(): SafeAreaInsets {
238
238
  if (typeof window === "undefined") return { top: 0, bottom: 0 };
239
239
  const style = window.getComputedStyle?.(document.documentElement);
240
240
  return {
241
- top: readCssPixel(style?.getPropertyValue("--safe-area-inset-top")) || readCssEnvProbe("top"),
242
- bottom: readCssPixel(style?.getPropertyValue("--safe-area-inset-bottom")) || readCssEnvProbe("bottom"),
241
+ top: readCssPixel(style?.getPropertyValue("--akan-native-safe-area-top")) || readCssEnvProbe("top"),
242
+ bottom: readCssPixel(style?.getPropertyValue("--akan-native-safe-area-bottom")) || readCssEnvProbe("bottom"),
243
243
  };
244
244
  }
245
245
 
@@ -0,0 +1,46 @@
1
+ import { isNative, platform } from "../vendor/@akanjs/native/packages/core/src/index.ts";
2
+ import { browser } from "../vendor/@akanjs/native/plugins/browser/src/index.ts";
3
+ import { opener } from "../vendor/@akanjs/native/plugins/opener/src/index.ts";
4
+
5
+ export { AkanNativeError, fileBlob, releaseFile } from "../vendor/@akanjs/native/packages/core/src/index.ts";
6
+ export { app } from "../vendor/@akanjs/native/plugins/app/src/index.ts";
7
+ export { appState } from "../vendor/@akanjs/native/plugins/app-state/src/index.ts";
8
+ export type { Photo } from "../vendor/@akanjs/native/plugins/camera/src/index.ts";
9
+ export type { Contact } from "../vendor/@akanjs/native/plugins/contacts/src/index.ts";
10
+ export type { DeviceInfo } from "../vendor/@akanjs/native/plugins/device/src/index.ts";
11
+ export { device } from "../vendor/@akanjs/native/plugins/device/src/index.ts";
12
+ export { dialog } from "../vendor/@akanjs/native/plugins/dialog/src/index.ts";
13
+ export type { Position } from "../vendor/@akanjs/native/plugins/geolocation/src/index.ts";
14
+ export { haptics } from "../vendor/@akanjs/native/plugins/haptics/src/index.ts";
15
+ export type { IapProduct, IapTransaction } from "../vendor/@akanjs/native/plugins/iap/src/index.ts";
16
+ export { keyboard } from "../vendor/@akanjs/native/plugins/keyboard/src/index.ts";
17
+ export { preferences } from "../vendor/@akanjs/native/plugins/preferences/src/index.ts";
18
+ export type {
19
+ PushAction,
20
+ PushMessage,
21
+ PushPermissionState,
22
+ PushToken as NativePushToken,
23
+ } from "../vendor/@akanjs/native/plugins/push/src/index.ts";
24
+ export { push } from "../vendor/@akanjs/native/plugins/push/src/index.ts";
25
+ export { secureStorage } from "../vendor/@akanjs/native/plugins/secure-storage/src/index.ts";
26
+ export { browser, opener };
27
+
28
+ export const loadCamera = () => import("../vendor/@akanjs/native/plugins/camera/src/index.ts");
29
+ export const loadContacts = () => import("../vendor/@akanjs/native/plugins/contacts/src/index.ts");
30
+ export const loadGeolocation = () => import("../vendor/@akanjs/native/plugins/geolocation/src/index.ts");
31
+ export const loadIap = () => import("../vendor/@akanjs/native/plugins/iap/src/index.ts");
32
+
33
+ /** Inside an iOS or Android shell of the native runtime; a mobile target opened in a browser is not. */
34
+ export const isNativeApp = () => isNative && (platform === "ios" || platform === "android");
35
+
36
+ export const nativePlatform = () => (isNativeApp() ? (platform as "ios" | "android") : null);
37
+
38
+ /** http(s) in the in-app browser, anything else (mailto:, tel:) in the app the system picks. */
39
+ export const openExternalUrl = async (url: string) => {
40
+ if (!isNativeApp()) {
41
+ window.open(url, "_blank", "noopener,noreferrer");
42
+ return;
43
+ }
44
+ if (/^https?:/i.test(url)) await browser.open({ url });
45
+ else await opener.openUrl({ url });
46
+ };
package/client/router.ts CHANGED
@@ -111,6 +111,8 @@ export const normalizeDeepLinkHref = (
111
111
  href: string,
112
112
  origin = globalThis.window?.location?.origin ?? "http://localhost",
113
113
  ) => {
114
+
115
+ if (href.startsWith("/") && !href.startsWith("//")) return normalizeRoutePath(href) ?? "/";
114
116
  const url = new URL(href, origin);
115
117
  if (url.protocol === "http:" || url.protocol === "https:") return `${url.pathname}${url.search}${url.hash}`;
116
118
  const hostPath = url.hostname ? `/${url.hostname}` : "";
@@ -317,10 +319,18 @@ class Router {
317
319
  .map((_, index) => `/${segments.slice(0, index + 1).join("/")}`)
318
320
  .filter((candidate) => this.#routePaths.has(candidate));
319
321
  }
322
+
323
+ #routePathOfLink(path: string) {
324
+ const segments = path.split("/").filter(Boolean);
325
+ if (segments[0] && (parseAkanI18nEnv().locales as readonly string[]).includes(segments[0])) segments.shift();
326
+ if (this.#prefix && segments[0] === this.#prefix) segments.shift();
327
+ return segments.length ? `/${segments.join("/")}` : "/";
328
+ }
320
329
  resolveDeepLinkStack(href: string) {
321
330
  this.#checkInitialized();
322
331
  const normalizedHref = normalizeDeepLinkHref(href);
323
- const { path, search, hash } = splitHref(normalizedHref);
332
+ const { path: linkPath, search, hash } = splitHref(normalizedHref);
333
+ const path = this.#routePathOfLink(linkPath);
324
334
  if (this.#routePaths.size > 0 && !this.#routePaths.has(path)) {
325
335
  Logger.info(`[router] deep link target '${path}' was not found in route manifest.`);
326
336
  return [];
@@ -1,6 +1,7 @@
1
1
  declare global {
2
2
  var __AKAN_RSC_CLEAR_CACHE__: (() => void) | undefined;
3
3
  var __AKAN_RSC_IS_FROM_CACHE__: (() => boolean) | undefined;
4
+ var __AKAN_RSC_REFRESH__: ((options?: { buildId?: number }) => Promise<void>) | undefined;
4
5
  var __AKAN_RSC_NAVIGATE__:
5
6
  | ((href: string, options?: { replace?: boolean; scrollToTop?: boolean }) => Promise<void>)
6
7
  | undefined;
@@ -20,6 +21,10 @@ export const navigateRsc = (href: string, options?: { replace?: boolean; scrollT
20
21
  return globalThis.__AKAN_RSC_NAVIGATE__?.(href, options);
21
22
  };
22
23
 
24
+ export const refreshRsc = () => {
25
+ return globalThis.__AKAN_RSC_REFRESH__?.();
26
+ };
27
+
23
28
  export const useRscNavigation = () => ({
24
29
  clearCache: clearRscNavigationCache,
25
30
  isFromCache: isRscNavigationFromCache,