akanjs 3.0.0-beta.20 → 3.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (731) 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/device.ts +47 -95
  6. package/client/frameConfig.ts +2 -2
  7. package/client/native.ts +44 -0
  8. package/client/router.ts +11 -1
  9. package/client/rscNavigation.ts +5 -0
  10. package/client/storage.ts +68 -39
  11. package/fetch/client/fetchClient.ts +13 -4
  12. package/index.ts +47 -46
  13. package/package.json +6 -87
  14. package/server/devtools/signalSerializer.ts +1 -2
  15. package/server/hmr/devHmrController.ts +29 -11
  16. package/server/resolver/signal.resolver.ts +1 -10
  17. package/server/routeTreeBuilder.ts +8 -11
  18. package/server/routing/apiRouter.ts +15 -2
  19. package/server/rscClient.tsx +1 -2
  20. package/server/ssrFromRscRenderer.tsx +2 -0
  21. package/server/webRouter.ts +1 -0
  22. package/signal/CrossSiteGuard.ts +34 -2
  23. package/signal/endpoint.ts +12 -7
  24. package/signal/endpointInfo.ts +13 -0
  25. package/signal/internal.ts +9 -5
  26. package/signal/serializer/fetch.serializer.ts +6 -3
  27. package/signal/slice.ts +34 -24
  28. package/store/baseSt.ts +0 -1
  29. package/store/storeInstance.ts +29 -17
  30. package/types/client/cookie.d.ts +6 -4
  31. package/types/client/device.d.ts +7 -10
  32. package/types/client/native.d.ts +26 -0
  33. package/types/client/rscNavigation.d.ts +4 -0
  34. package/types/client/storage.d.ts +8 -1
  35. package/types/index.d.ts +48 -44
  36. package/types/server/hmr/devHmrController.d.ts +2 -1
  37. package/types/server/resolver/signal.resolver.d.ts +0 -1
  38. package/types/server/rscClient.d.ts +0 -3
  39. package/types/signal/CrossSiteGuard.d.ts +7 -2
  40. package/types/signal/endpoint.d.ts +1 -1
  41. package/types/signal/endpointInfo.d.ts +3 -0
  42. package/types/signal/slice.d.ts +3 -2
  43. package/types/store/baseSt.d.ts +0 -13
  44. package/types/vendor/@akanjs/native/packages/cli/src/api.d.ts +182 -0
  45. package/types/vendor/@akanjs/native/packages/cli/src/commands/build.d.ts +28 -0
  46. package/types/vendor/@akanjs/native/packages/cli/src/commands/compat.d.ts +2 -0
  47. package/types/vendor/@akanjs/native/packages/cli/src/commands/dev.d.ts +2 -0
  48. package/types/vendor/@akanjs/native/packages/cli/src/commands/doctor.d.ts +37 -0
  49. package/types/vendor/@akanjs/native/packages/cli/src/commands/plugin.d.ts +2 -0
  50. package/types/vendor/@akanjs/native/packages/cli/src/commands/signing.d.ts +2 -0
  51. package/types/vendor/@akanjs/native/packages/cli/src/commands/test.d.ts +2 -0
  52. package/types/vendor/@akanjs/native/packages/cli/src/commands/toolchain.d.ts +2 -0
  53. package/types/vendor/@akanjs/native/packages/cli/src/commands/update.d.ts +2 -0
  54. package/types/vendor/@akanjs/native/packages/cli/src/config.d.ts +278 -0
  55. package/types/vendor/@akanjs/native/packages/cli/src/index.d.ts +2 -0
  56. package/types/vendor/@akanjs/native/packages/cli/src/lib/acl.d.ts +21 -0
  57. package/types/vendor/@akanjs/native/packages/cli/src/lib/apilevel.d.ts +40 -0
  58. package/types/vendor/@akanjs/native/packages/cli/src/lib/apk.d.ts +36 -0
  59. package/types/vendor/@akanjs/native/packages/cli/src/lib/args.d.ts +9 -0
  60. package/types/vendor/@akanjs/native/packages/cli/src/lib/boot.d.ts +32 -0
  61. package/types/vendor/@akanjs/native/packages/cli/src/lib/chrome.d.ts +6 -0
  62. package/types/vendor/@akanjs/native/packages/cli/src/lib/codegen.d.ts +94 -0
  63. package/types/vendor/@akanjs/native/packages/cli/src/lib/compat.d.ts +49 -0
  64. package/types/vendor/@akanjs/native/packages/cli/src/lib/configkeys.d.ts +2 -0
  65. package/types/vendor/@akanjs/native/packages/cli/src/lib/csp.d.ts +51 -0
  66. package/types/vendor/@akanjs/native/packages/cli/src/lib/env.d.ts +44 -0
  67. package/types/vendor/@akanjs/native/packages/cli/src/lib/exec.d.ts +31 -0
  68. package/types/vendor/@akanjs/native/packages/cli/src/lib/googleservices.d.ts +2 -0
  69. package/types/vendor/@akanjs/native/packages/cli/src/lib/hmr.d.ts +120 -0
  70. package/types/vendor/@akanjs/native/packages/cli/src/lib/html.d.ts +20 -0
  71. package/types/vendor/@akanjs/native/packages/cli/src/lib/icons.d.ts +44 -0
  72. package/types/vendor/@akanjs/native/packages/cli/src/lib/image.d.ts +21 -0
  73. package/types/vendor/@akanjs/native/packages/cli/src/lib/iossigning.d.ts +81 -0
  74. package/types/vendor/@akanjs/native/packages/cli/src/lib/launch.d.ts +51 -0
  75. package/types/vendor/@akanjs/native/packages/cli/src/lib/log.d.ts +42 -0
  76. package/types/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.d.ts +18 -0
  77. package/types/vendor/@akanjs/native/packages/cli/src/lib/maven.d.ts +97 -0
  78. package/types/vendor/@akanjs/native/packages/cli/src/lib/names.d.ts +45 -0
  79. package/types/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.d.ts +67 -0
  80. package/types/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.d.ts +11 -0
  81. package/types/vendor/@akanjs/native/packages/cli/src/lib/permissions.d.ts +10 -0
  82. package/types/vendor/@akanjs/native/packages/cli/src/lib/plist.d.ts +11 -0
  83. package/types/vendor/@akanjs/native/packages/cli/src/lib/png.d.ts +11 -0
  84. package/types/vendor/@akanjs/native/packages/cli/src/lib/prepare.d.ts +138 -0
  85. package/types/vendor/@akanjs/native/packages/cli/src/lib/privacy.d.ts +13 -0
  86. package/types/vendor/@akanjs/native/packages/cli/src/lib/project.d.ts +208 -0
  87. package/types/vendor/@akanjs/native/packages/cli/src/lib/root.d.ts +1 -0
  88. package/types/vendor/@akanjs/native/packages/cli/src/lib/routes.d.ts +1 -0
  89. package/types/vendor/@akanjs/native/packages/cli/src/lib/serve.d.ts +17 -0
  90. package/types/vendor/@akanjs/native/packages/cli/src/lib/signing.d.ts +14 -0
  91. package/types/vendor/@akanjs/native/packages/cli/src/lib/spec.d.ts +96 -0
  92. package/types/vendor/@akanjs/native/packages/cli/src/lib/toolchains.d.ts +150 -0
  93. package/types/vendor/@akanjs/native/packages/cli/src/lib/updates.d.ts +77 -0
  94. package/types/vendor/@akanjs/native/packages/cli/src/lib/vectors.d.ts +13 -0
  95. package/types/vendor/@akanjs/native/packages/cli/src/lib/xml.d.ts +13 -0
  96. package/types/vendor/@akanjs/native/packages/cli/src/platforms/android.d.ts +57 -0
  97. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.d.ts +4 -0
  98. package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop.d.ts +40 -0
  99. package/types/vendor/@akanjs/native/packages/cli/src/platforms/index.d.ts +14 -0
  100. package/types/vendor/@akanjs/native/packages/cli/src/platforms/ios.d.ts +44 -0
  101. package/types/vendor/@akanjs/native/packages/cli/src/platforms/linux.d.ts +6 -0
  102. package/types/vendor/@akanjs/native/packages/cli/src/platforms/macos.d.ts +7 -0
  103. package/types/vendor/@akanjs/native/packages/cli/src/platforms/targets.d.ts +4 -0
  104. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web-run.d.ts +15 -0
  105. package/types/vendor/@akanjs/native/packages/cli/src/platforms/web.d.ts +2 -0
  106. package/types/vendor/@akanjs/native/packages/cli/src/platforms/windows.d.ts +8 -0
  107. package/types/vendor/@akanjs/native/packages/cli/src/platforms.d.ts +1 -0
  108. package/types/vendor/@akanjs/native/packages/cli/src.d.ts +1 -0
  109. package/types/vendor/@akanjs/native/packages/core/src/acl.d.ts +97 -0
  110. package/types/vendor/@akanjs/native/packages/core/src/boot.d.ts +66 -0
  111. package/types/vendor/@akanjs/native/packages/core/src/contract.d.ts +35 -0
  112. package/types/vendor/@akanjs/native/packages/core/src/errors.d.ts +27 -0
  113. package/types/vendor/@akanjs/native/packages/core/src/files.d.ts +23 -0
  114. package/types/vendor/@akanjs/native/packages/core/src/index.d.ts +14 -0
  115. package/types/vendor/@akanjs/native/packages/core/src/kernel.d.ts +112 -0
  116. package/types/vendor/@akanjs/native/packages/core/src/live.d.ts +12 -0
  117. package/types/vendor/@akanjs/native/packages/core/src/mime.d.ts +2 -0
  118. package/types/vendor/@akanjs/native/packages/core/src/plugin.d.ts +71 -0
  119. package/types/vendor/@akanjs/native/packages/core/src/protocol.d.ts +109 -0
  120. package/types/vendor/@akanjs/native/packages/core/src/runtime.d.ts +66 -0
  121. package/types/vendor/@akanjs/native/packages/core/src/state.d.ts +28 -0
  122. package/types/vendor/@akanjs/native/packages/core/src/testing.d.ts +41 -0
  123. package/types/vendor/@akanjs/native/packages/core/src/version.d.ts +2 -0
  124. package/types/vendor/@akanjs/native/packages/core/src/veto.d.ts +17 -0
  125. package/types/vendor/@akanjs/native/packages/core/src.d.ts +1 -0
  126. package/types/vendor/@akanjs/native/packages/desktop/src/deeplinks.d.ts +24 -0
  127. package/types/vendor/@akanjs/native/packages/desktop/src/delta.d.ts +2 -0
  128. package/types/vendor/@akanjs/native/packages/desktop/src/dispatcher.d.ts +95 -0
  129. package/types/vendor/@akanjs/native/packages/desktop/src/ffi.d.ts +144 -0
  130. package/types/vendor/@akanjs/native/packages/desktop/src/host.d.ts +11 -0
  131. package/types/vendor/@akanjs/native/packages/desktop/src/lifecycle.d.ts +40 -0
  132. package/types/vendor/@akanjs/native/packages/desktop/src/main.d.ts +4 -0
  133. package/types/vendor/@akanjs/native/packages/desktop/src/page-veto.d.ts +17 -0
  134. package/types/vendor/@akanjs/native/packages/desktop/src/paths.d.ts +25 -0
  135. package/types/vendor/@akanjs/native/packages/desktop/src/plugin.d.ts +179 -0
  136. package/types/vendor/@akanjs/native/packages/react/src/index.d.ts +8 -0
  137. package/types/vendor/@akanjs/native/packages/react/src.d.ts +1 -0
  138. package/types/vendor/@akanjs/native/plugins/accessibility/src/announce.d.ts +8 -0
  139. package/types/vendor/@akanjs/native/plugins/accessibility/src/index.d.ts +47 -0
  140. package/types/vendor/@akanjs/native/plugins/accessibility/src/web.d.ts +4 -0
  141. package/types/vendor/@akanjs/native/plugins/accessibility/src.d.ts +1 -0
  142. package/types/vendor/@akanjs/native/plugins/app/src/desktop.d.ts +3 -0
  143. package/types/vendor/@akanjs/native/plugins/app/src/index.d.ts +66 -0
  144. package/types/vendor/@akanjs/native/plugins/app/src/web.d.ts +2 -0
  145. package/types/vendor/@akanjs/native/plugins/app/src.d.ts +1 -0
  146. package/types/vendor/@akanjs/native/plugins/app-state/src/index.d.ts +19 -0
  147. package/types/vendor/@akanjs/native/plugins/app-state/src/web.d.ts +2 -0
  148. package/types/vendor/@akanjs/native/plugins/app-state/src.d.ts +1 -0
  149. package/types/vendor/@akanjs/native/plugins/appearance/src/desktop.d.ts +9 -0
  150. package/types/vendor/@akanjs/native/plugins/appearance/src/index.d.ts +32 -0
  151. package/types/vendor/@akanjs/native/plugins/appearance/src/setting.d.ts +6 -0
  152. package/types/vendor/@akanjs/native/plugins/appearance/src/web.d.ts +3 -0
  153. package/types/vendor/@akanjs/native/plugins/appearance/src.d.ts +1 -0
  154. package/types/vendor/@akanjs/native/plugins/auth-session/src/args.d.ts +18 -0
  155. package/types/vendor/@akanjs/native/plugins/auth-session/src/desktop.d.ts +17 -0
  156. package/types/vendor/@akanjs/native/plugins/auth-session/src/index.d.ts +41 -0
  157. package/types/vendor/@akanjs/native/plugins/auth-session/src.d.ts +1 -0
  158. package/types/vendor/@akanjs/native/plugins/autostart/src/desktop.d.ts +44 -0
  159. package/types/vendor/@akanjs/native/plugins/autostart/src/index.d.ts +44 -0
  160. package/types/vendor/@akanjs/native/plugins/autostart/src.d.ts +1 -0
  161. package/types/vendor/@akanjs/native/plugins/badge/src/count.d.ts +4 -0
  162. package/types/vendor/@akanjs/native/plugins/badge/src/desktop.d.ts +3 -0
  163. package/types/vendor/@akanjs/native/plugins/badge/src/index.d.ts +37 -0
  164. package/types/vendor/@akanjs/native/plugins/badge/src/web.d.ts +2 -0
  165. package/types/vendor/@akanjs/native/plugins/badge/src.d.ts +1 -0
  166. package/types/vendor/@akanjs/native/plugins/biometric/src/index.d.ts +53 -0
  167. package/types/vendor/@akanjs/native/plugins/biometric/src.d.ts +1 -0
  168. package/types/vendor/@akanjs/native/plugins/browser/src/args.d.ts +8 -0
  169. package/types/vendor/@akanjs/native/plugins/browser/src/desktop.d.ts +9 -0
  170. package/types/vendor/@akanjs/native/plugins/browser/src/index.d.ts +36 -0
  171. package/types/vendor/@akanjs/native/plugins/browser/src/web.d.ts +2 -0
  172. package/types/vendor/@akanjs/native/plugins/browser/src.d.ts +1 -0
  173. package/types/vendor/@akanjs/native/plugins/camera/src/desktop.d.ts +5 -0
  174. package/types/vendor/@akanjs/native/plugins/camera/src/index.d.ts +55 -0
  175. package/types/vendor/@akanjs/native/plugins/camera/src/web.d.ts +2 -0
  176. package/types/vendor/@akanjs/native/plugins/camera/src.d.ts +1 -0
  177. package/types/vendor/@akanjs/native/plugins/clipboard/src/desktop.d.ts +8 -0
  178. package/types/vendor/@akanjs/native/plugins/clipboard/src/index.d.ts +40 -0
  179. package/types/vendor/@akanjs/native/plugins/clipboard/src/web.d.ts +2 -0
  180. package/types/vendor/@akanjs/native/plugins/clipboard/src.d.ts +1 -0
  181. package/types/vendor/@akanjs/native/plugins/device/src/desktop.d.ts +33 -0
  182. package/types/vendor/@akanjs/native/plugins/device/src/index.d.ts +55 -0
  183. package/types/vendor/@akanjs/native/plugins/device/src/web.d.ts +22 -0
  184. package/types/vendor/@akanjs/native/plugins/device/src.d.ts +1 -0
  185. package/types/vendor/@akanjs/native/plugins/dialog/src/desktop.d.ts +3 -0
  186. package/types/vendor/@akanjs/native/plugins/dialog/src/index.d.ts +60 -0
  187. package/types/vendor/@akanjs/native/plugins/dialog/src/options.d.ts +29 -0
  188. package/types/vendor/@akanjs/native/plugins/dialog/src/web.d.ts +2 -0
  189. package/types/vendor/@akanjs/native/plugins/dialog/src.d.ts +1 -0
  190. package/types/vendor/@akanjs/native/plugins/dock/src/desktop.d.ts +3 -0
  191. package/types/vendor/@akanjs/native/plugins/dock/src/index.d.ts +46 -0
  192. package/types/vendor/@akanjs/native/plugins/dock/src.d.ts +1 -0
  193. package/types/vendor/@akanjs/native/plugins/file-picker/src/common.d.ts +33 -0
  194. package/types/vendor/@akanjs/native/plugins/file-picker/src/desktop.d.ts +9 -0
  195. package/types/vendor/@akanjs/native/plugins/file-picker/src/index.d.ts +84 -0
  196. package/types/vendor/@akanjs/native/plugins/file-picker/src/web.d.ts +6 -0
  197. package/types/vendor/@akanjs/native/plugins/file-picker/src.d.ts +1 -0
  198. package/types/vendor/@akanjs/native/plugins/filesystem/src/common.d.ts +49 -0
  199. package/types/vendor/@akanjs/native/plugins/filesystem/src/desktop.d.ts +8 -0
  200. package/types/vendor/@akanjs/native/plugins/filesystem/src/index.d.ts +123 -0
  201. package/types/vendor/@akanjs/native/plugins/filesystem/src/web.d.ts +2 -0
  202. package/types/vendor/@akanjs/native/plugins/filesystem/src.d.ts +1 -0
  203. package/types/vendor/@akanjs/native/plugins/geolocation/src/index.d.ts +93 -0
  204. package/types/vendor/@akanjs/native/plugins/geolocation/src/web.d.ts +11 -0
  205. package/types/vendor/@akanjs/native/plugins/geolocation/src.d.ts +1 -0
  206. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.d.ts +3 -0
  207. package/types/vendor/@akanjs/native/plugins/global-shortcut/src/index.d.ts +52 -0
  208. package/types/vendor/@akanjs/native/plugins/global-shortcut/src.d.ts +1 -0
  209. package/types/vendor/@akanjs/native/plugins/haptics/src/index.d.ts +31 -0
  210. package/types/vendor/@akanjs/native/plugins/haptics/src/web.d.ts +2 -0
  211. package/types/vendor/@akanjs/native/plugins/haptics/src.d.ts +1 -0
  212. package/types/vendor/@akanjs/native/plugins/http/src/common.d.ts +71 -0
  213. package/types/vendor/@akanjs/native/plugins/http/src/desktop.d.ts +5 -0
  214. package/types/vendor/@akanjs/native/plugins/http/src/index.d.ts +104 -0
  215. package/types/vendor/@akanjs/native/plugins/http/src/web.d.ts +2 -0
  216. package/types/vendor/@akanjs/native/plugins/http/src.d.ts +1 -0
  217. package/types/vendor/@akanjs/native/plugins/iap/src/index.d.ts +171 -0
  218. package/types/vendor/@akanjs/native/plugins/iap/src.d.ts +1 -0
  219. package/types/vendor/@akanjs/native/plugins/keep-awake/src/desktop.d.ts +15 -0
  220. package/types/vendor/@akanjs/native/plugins/keep-awake/src/index.d.ts +33 -0
  221. package/types/vendor/@akanjs/native/plugins/keep-awake/src/web.d.ts +2 -0
  222. package/types/vendor/@akanjs/native/plugins/keep-awake/src.d.ts +1 -0
  223. package/types/vendor/@akanjs/native/plugins/keyboard/src/index.d.ts +42 -0
  224. package/types/vendor/@akanjs/native/plugins/keyboard/src/web.d.ts +2 -0
  225. package/types/vendor/@akanjs/native/plugins/keyboard/src.d.ts +1 -0
  226. package/types/vendor/@akanjs/native/plugins/local-notifications/src/desktop.d.ts +29 -0
  227. package/types/vendor/@akanjs/native/plugins/local-notifications/src/index.d.ts +126 -0
  228. package/types/vendor/@akanjs/native/plugins/local-notifications/src/schedule.d.ts +38 -0
  229. package/types/vendor/@akanjs/native/plugins/local-notifications/src/timers.d.ts +25 -0
  230. package/types/vendor/@akanjs/native/plugins/local-notifications/src/web.d.ts +4 -0
  231. package/types/vendor/@akanjs/native/plugins/local-notifications/src.d.ts +1 -0
  232. package/types/vendor/@akanjs/native/plugins/menu/src/desktop.d.ts +3 -0
  233. package/types/vendor/@akanjs/native/plugins/menu/src/index.d.ts +85 -0
  234. package/types/vendor/@akanjs/native/plugins/menu/src.d.ts +1 -0
  235. package/types/vendor/@akanjs/native/plugins/network/src/index.d.ts +22 -0
  236. package/types/vendor/@akanjs/native/plugins/network/src/web.d.ts +3 -0
  237. package/types/vendor/@akanjs/native/plugins/network/src.d.ts +1 -0
  238. package/types/vendor/@akanjs/native/plugins/opener/src/desktop.d.ts +14 -0
  239. package/types/vendor/@akanjs/native/plugins/opener/src/index.d.ts +33 -0
  240. package/types/vendor/@akanjs/native/plugins/opener/src/url.d.ts +16 -0
  241. package/types/vendor/@akanjs/native/plugins/opener/src/web.d.ts +2 -0
  242. package/types/vendor/@akanjs/native/plugins/opener/src.d.ts +1 -0
  243. package/types/vendor/@akanjs/native/plugins/preferences/src/desktop.d.ts +3 -0
  244. package/types/vendor/@akanjs/native/plugins/preferences/src/index.d.ts +26 -0
  245. package/types/vendor/@akanjs/native/plugins/preferences/src/web.d.ts +2 -0
  246. package/types/vendor/@akanjs/native/plugins/preferences/src.d.ts +1 -0
  247. package/types/vendor/@akanjs/native/plugins/push/src/index.d.ts +57 -0
  248. package/types/vendor/@akanjs/native/plugins/push/src.d.ts +1 -0
  249. package/types/vendor/@akanjs/native/plugins/screen/src/desktop.d.ts +3 -0
  250. package/types/vendor/@akanjs/native/plugins/screen/src/index.d.ts +70 -0
  251. package/types/vendor/@akanjs/native/plugins/screen/src/web.d.ts +18 -0
  252. package/types/vendor/@akanjs/native/plugins/screen/src.d.ts +1 -0
  253. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/index.d.ts +32 -0
  254. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/types.d.ts +8 -0
  255. package/types/vendor/@akanjs/native/plugins/screen-orientation/src/web.d.ts +3 -0
  256. package/types/vendor/@akanjs/native/plugins/screen-orientation/src.d.ts +1 -0
  257. package/types/vendor/@akanjs/native/plugins/secure-storage/src/desktop.d.ts +16 -0
  258. package/types/vendor/@akanjs/native/plugins/secure-storage/src/index.d.ts +39 -0
  259. package/types/vendor/@akanjs/native/plugins/secure-storage/src.d.ts +1 -0
  260. package/types/vendor/@akanjs/native/plugins/share/src/index.d.ts +55 -0
  261. package/types/vendor/@akanjs/native/plugins/share/src/options.d.ts +6 -0
  262. package/types/vendor/@akanjs/native/plugins/share/src/web.d.ts +5 -0
  263. package/types/vendor/@akanjs/native/plugins/share/src.d.ts +1 -0
  264. package/types/vendor/@akanjs/native/plugins/single-instance/src/desktop.d.ts +8 -0
  265. package/types/vendor/@akanjs/native/plugins/single-instance/src/index.d.ts +25 -0
  266. package/types/vendor/@akanjs/native/plugins/single-instance/src/socket.d.ts +46 -0
  267. package/types/vendor/@akanjs/native/plugins/single-instance/src.d.ts +1 -0
  268. package/types/vendor/@akanjs/native/plugins/splash-screen/src/index.d.ts +19 -0
  269. package/types/vendor/@akanjs/native/plugins/splash-screen/src/web.d.ts +4 -0
  270. package/types/vendor/@akanjs/native/plugins/splash-screen/src.d.ts +1 -0
  271. package/types/vendor/@akanjs/native/plugins/sqlite/src/common.d.ts +34 -0
  272. package/types/vendor/@akanjs/native/plugins/sqlite/src/desktop.d.ts +6 -0
  273. package/types/vendor/@akanjs/native/plugins/sqlite/src/index.d.ts +115 -0
  274. package/types/vendor/@akanjs/native/plugins/sqlite/src.d.ts +1 -0
  275. package/types/vendor/@akanjs/native/plugins/toast/src/index.d.ts +30 -0
  276. package/types/vendor/@akanjs/native/plugins/toast/src/queue.d.ts +23 -0
  277. package/types/vendor/@akanjs/native/plugins/toast/src/web.d.ts +2 -0
  278. package/types/vendor/@akanjs/native/plugins/toast/src.d.ts +1 -0
  279. package/types/vendor/@akanjs/native/plugins/tray/src/desktop.d.ts +3 -0
  280. package/types/vendor/@akanjs/native/plugins/tray/src/index.d.ts +113 -0
  281. package/types/vendor/@akanjs/native/plugins/tray/src.d.ts +1 -0
  282. package/types/vendor/@akanjs/native/plugins/updates/src/desktop.d.ts +4 -0
  283. package/types/vendor/@akanjs/native/plugins/updates/src/index.d.ts +68 -0
  284. package/types/vendor/@akanjs/native/plugins/updates/src.d.ts +1 -0
  285. package/types/vendor/@akanjs/native/plugins/window/src/desktop.d.ts +6 -0
  286. package/types/vendor/@akanjs/native/plugins/window/src/index.d.ts +185 -0
  287. package/types/vendor/@akanjs/native/plugins/window/src/web.d.ts +2 -0
  288. package/types/vendor/@akanjs/native/plugins/window/src.d.ts +1 -0
  289. package/types/vendor/@akanjs/native/plugins/window-state/src/desktop.d.ts +7 -0
  290. package/types/vendor/@akanjs/native/plugins/window-state/src/index.d.ts +33 -0
  291. package/types/vendor/@akanjs/native/plugins/window-state/src/state.d.ts +39 -0
  292. package/types/vendor/@akanjs/native/plugins/window-state/src.d.ts +1 -0
  293. package/types/webkit/index.d.ts +0 -2
  294. package/types/webkit/nativeNavigation.d.ts +25 -0
  295. package/types/webkit/nativePurchase.d.ts +37 -0
  296. package/types/webkit/useCamera.d.ts +13 -15
  297. package/types/webkit/useGeoLocation.d.ts +4 -5
  298. package/types/webkit/usePurchase.d.ts +12 -16
  299. package/ui/Link/Anchor.tsx +2 -5
  300. package/ui/System/Client.tsx +2 -6
  301. package/vendor/@akanjs/native/LICENSE +21 -0
  302. package/vendor/@akanjs/native/README.ko.md +88 -0
  303. package/vendor/@akanjs/native/README.md +93 -0
  304. package/vendor/@akanjs/native/THIRD_PARTY_NOTICES.md +237 -0
  305. package/vendor/@akanjs/native/native/android/maven.lock.json +1751 -0
  306. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAcl.kt +243 -0
  307. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeActivity.kt +936 -0
  308. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeApplication.kt +189 -0
  309. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAssetServer.kt +225 -0
  310. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeBridge.kt +444 -0
  311. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeCompat.kt +55 -0
  312. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeContract.kt +99 -0
  313. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeEd25519.kt +100 -0
  314. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeFileProvider.kt +71 -0
  315. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeKernel.kt +324 -0
  316. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativePlugin.kt +361 -0
  317. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeSpec.kt +100 -0
  318. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeUpdates.kt +305 -0
  319. package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeVectors.kt +132 -0
  320. package/vendor/@akanjs/native/native/desktop/Cargo.lock +2565 -0
  321. package/vendor/@akanjs/native/native/desktop/Cargo.toml +49 -0
  322. package/vendor/@akanjs/native/native/desktop/build.rs +19 -0
  323. package/vendor/@akanjs/native/native/desktop/rust-toolchain.toml +7 -0
  324. package/vendor/@akanjs/native/native/desktop/src/accelerator.rs +466 -0
  325. package/vendor/@akanjs/native/native/desktop/src/autostart.rs +158 -0
  326. package/vendor/@akanjs/native/native/desktop/src/camera.rs +53 -0
  327. package/vendor/@akanjs/native/native/desktop/src/chrome.rs +710 -0
  328. package/vendor/@akanjs/native/native/desktop/src/contract.rs +105 -0
  329. package/vendor/@akanjs/native/native/desktop/src/devproxy.rs +234 -0
  330. package/vendor/@akanjs/native/native/desktop/src/dialog_args.rs +189 -0
  331. package/vendor/@akanjs/native/native/desktop/src/dock.rs +209 -0
  332. package/vendor/@akanjs/native/native/desktop/src/hotkey.rs +209 -0
  333. package/vendor/@akanjs/native/native/desktop/src/js_panels.rs +125 -0
  334. package/vendor/@akanjs/native/native/desktop/src/json.rs +272 -0
  335. package/vendor/@akanjs/native/native/desktop/src/keychain.rs +151 -0
  336. package/vendor/@akanjs/native/native/desktop/src/lib.rs +2185 -0
  337. package/vendor/@akanjs/native/native/desktop/src/linux/appearance.rs +177 -0
  338. package/vendor/@akanjs/native/native/desktop/src/linux/camera.rs +11 -0
  339. package/vendor/@akanjs/native/native/desktop/src/linux/clipboard.rs +48 -0
  340. package/vendor/@akanjs/native/native/desktop/src/linux/device.rs +9 -0
  341. package/vendor/@akanjs/native/native/desktop/src/linux/dialogs.rs +348 -0
  342. package/vendor/@akanjs/native/native/desktop/src/linux/dock.rs +146 -0
  343. package/vendor/@akanjs/native/native/desktop/src/linux/hotkey.rs +228 -0
  344. package/vendor/@akanjs/native/native/desktop/src/linux/keychain.rs +243 -0
  345. package/vendor/@akanjs/native/native/desktop/src/linux/menu.rs +445 -0
  346. package/vendor/@akanjs/native/native/desktop/src/linux/mod.rs +116 -0
  347. package/vendor/@akanjs/native/native/desktop/src/linux/notify.rs +211 -0
  348. package/vendor/@akanjs/native/native/desktop/src/linux/open.rs +79 -0
  349. package/vendor/@akanjs/native/native/desktop/src/linux/power.rs +155 -0
  350. package/vendor/@akanjs/native/native/desktop/src/linux/screen.rs +158 -0
  351. package/vendor/@akanjs/native/native/desktop/src/linux/tray.rs +604 -0
  352. package/vendor/@akanjs/native/native/desktop/src/menu.rs +517 -0
  353. package/vendor/@akanjs/native/native/desktop/src/navigation.rs +381 -0
  354. package/vendor/@akanjs/native/native/desktop/src/notify.rs +411 -0
  355. package/vendor/@akanjs/native/native/desktop/src/notify_schedule.rs +382 -0
  356. package/vendor/@akanjs/native/native/desktop/src/page_menu.rs +287 -0
  357. package/vendor/@akanjs/native/native/desktop/src/panels.rs +333 -0
  358. package/vendor/@akanjs/native/native/desktop/src/placement.rs +92 -0
  359. package/vendor/@akanjs/native/native/desktop/src/routes.rs +153 -0
  360. package/vendor/@akanjs/native/native/desktop/src/screen.rs +190 -0
  361. package/vendor/@akanjs/native/native/desktop/src/tray.rs +279 -0
  362. package/vendor/@akanjs/native/native/desktop/src/vectors.rs +126 -0
  363. package/vendor/@akanjs/native/native/desktop/src/win/appearance.rs +51 -0
  364. package/vendor/@akanjs/native/native/desktop/src/win/autostart.rs +77 -0
  365. package/vendor/@akanjs/native/native/desktop/src/win/camera.rs +34 -0
  366. package/vendor/@akanjs/native/native/desktop/src/win/clipboard.rs +106 -0
  367. package/vendor/@akanjs/native/native/desktop/src/win/device.rs +80 -0
  368. package/vendor/@akanjs/native/native/desktop/src/win/dialogs.rs +917 -0
  369. package/vendor/@akanjs/native/native/desktop/src/win/dock.rs +228 -0
  370. package/vendor/@akanjs/native/native/desktop/src/win/hotkey.rs +110 -0
  371. package/vendor/@akanjs/native/native/desktop/src/win/keychain.rs +103 -0
  372. package/vendor/@akanjs/native/native/desktop/src/win/menu.rs +500 -0
  373. package/vendor/@akanjs/native/native/desktop/src/win/mod.rs +100 -0
  374. package/vendor/@akanjs/native/native/desktop/src/win/msgwin.rs +86 -0
  375. package/vendor/@akanjs/native/native/desktop/src/win/notify.rs +334 -0
  376. package/vendor/@akanjs/native/native/desktop/src/win/open.rs +127 -0
  377. package/vendor/@akanjs/native/native/desktop/src/win/power.rs +64 -0
  378. package/vendor/@akanjs/native/native/desktop/src/win/registry.rs +87 -0
  379. package/vendor/@akanjs/native/native/desktop/src/win/screen.rs +127 -0
  380. package/vendor/@akanjs/native/native/desktop/src/win/tray.rs +280 -0
  381. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeAcl.swift +241 -0
  382. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeApp.swift +285 -0
  383. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeBridge.swift +407 -0
  384. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeContract.swift +106 -0
  385. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeKernel.swift +317 -0
  386. package/vendor/@akanjs/native/native/ios/Sources/AkanNativePlugin.swift +250 -0
  387. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSchemeHandler.swift +209 -0
  388. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeShell.swift +161 -0
  389. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSpec.swift +143 -0
  390. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeUpdates.swift +270 -0
  391. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeVectors.swift +155 -0
  392. package/vendor/@akanjs/native/native/ios/Sources/AkanNativeViewController.swift +371 -0
  393. package/vendor/@akanjs/native/packages/cli/src/api.ts +600 -0
  394. package/vendor/@akanjs/native/packages/cli/src/commands/build.ts +101 -0
  395. package/vendor/@akanjs/native/packages/cli/src/commands/compat.ts +53 -0
  396. package/vendor/@akanjs/native/packages/cli/src/commands/dev.ts +249 -0
  397. package/vendor/@akanjs/native/packages/cli/src/commands/doctor.ts +536 -0
  398. package/vendor/@akanjs/native/packages/cli/src/commands/plugin.ts +164 -0
  399. package/vendor/@akanjs/native/packages/cli/src/commands/signing.ts +32 -0
  400. package/vendor/@akanjs/native/packages/cli/src/commands/test.ts +130 -0
  401. package/vendor/@akanjs/native/packages/cli/src/commands/toolchain.ts +143 -0
  402. package/vendor/@akanjs/native/packages/cli/src/commands/update.ts +168 -0
  403. package/vendor/@akanjs/native/packages/cli/src/config.ts +257 -0
  404. package/vendor/@akanjs/native/packages/cli/src/index.ts +77 -0
  405. package/vendor/@akanjs/native/packages/cli/src/lib/acl.ts +420 -0
  406. package/vendor/@akanjs/native/packages/cli/src/lib/apilevel.ts +245 -0
  407. package/vendor/@akanjs/native/packages/cli/src/lib/apk.ts +203 -0
  408. package/vendor/@akanjs/native/packages/cli/src/lib/args.ts +44 -0
  409. package/vendor/@akanjs/native/packages/cli/src/lib/boot.ts +73 -0
  410. package/vendor/@akanjs/native/packages/cli/src/lib/chrome.ts +89 -0
  411. package/vendor/@akanjs/native/packages/cli/src/lib/codegen.ts +1128 -0
  412. package/vendor/@akanjs/native/packages/cli/src/lib/compat.ts +185 -0
  413. package/vendor/@akanjs/native/packages/cli/src/lib/configkeys.ts +91 -0
  414. package/vendor/@akanjs/native/packages/cli/src/lib/csp.ts +198 -0
  415. package/vendor/@akanjs/native/packages/cli/src/lib/env.ts +257 -0
  416. package/vendor/@akanjs/native/packages/cli/src/lib/exec.ts +104 -0
  417. package/vendor/@akanjs/native/packages/cli/src/lib/googleservices.ts +53 -0
  418. package/vendor/@akanjs/native/packages/cli/src/lib/hmr.ts +534 -0
  419. package/vendor/@akanjs/native/packages/cli/src/lib/html.ts +63 -0
  420. package/vendor/@akanjs/native/packages/cli/src/lib/icons.ts +316 -0
  421. package/vendor/@akanjs/native/packages/cli/src/lib/image.ts +175 -0
  422. package/vendor/@akanjs/native/packages/cli/src/lib/iossigning.ts +295 -0
  423. package/vendor/@akanjs/native/packages/cli/src/lib/launch.ts +98 -0
  424. package/vendor/@akanjs/native/packages/cli/src/lib/log.ts +105 -0
  425. package/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.ts +107 -0
  426. package/vendor/@akanjs/native/packages/cli/src/lib/maven.ts +244 -0
  427. package/vendor/@akanjs/native/packages/cli/src/lib/names.ts +202 -0
  428. package/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.ts +326 -0
  429. package/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.ts +68 -0
  430. package/vendor/@akanjs/native/packages/cli/src/lib/permissions.ts +80 -0
  431. package/vendor/@akanjs/native/packages/cli/src/lib/plist.ts +139 -0
  432. package/vendor/@akanjs/native/packages/cli/src/lib/png.ts +240 -0
  433. package/vendor/@akanjs/native/packages/cli/src/lib/prepare.ts +290 -0
  434. package/vendor/@akanjs/native/packages/cli/src/lib/privacy.ts +64 -0
  435. package/vendor/@akanjs/native/packages/cli/src/lib/project.ts +710 -0
  436. package/vendor/@akanjs/native/packages/cli/src/lib/root.ts +18 -0
  437. package/vendor/@akanjs/native/packages/cli/src/lib/routes.ts +3 -0
  438. package/vendor/@akanjs/native/packages/cli/src/lib/serve.ts +83 -0
  439. package/vendor/@akanjs/native/packages/cli/src/lib/signing.ts +117 -0
  440. package/vendor/@akanjs/native/packages/cli/src/lib/spec.ts +521 -0
  441. package/vendor/@akanjs/native/packages/cli/src/lib/toolchains.ts +579 -0
  442. package/vendor/@akanjs/native/packages/cli/src/lib/updates.ts +160 -0
  443. package/vendor/@akanjs/native/packages/cli/src/lib/vectors.ts +121 -0
  444. package/vendor/@akanjs/native/packages/cli/src/lib/xml.ts +72 -0
  445. package/vendor/@akanjs/native/packages/cli/src/platforms/android.ts +1320 -0
  446. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.ts +78 -0
  447. package/vendor/@akanjs/native/packages/cli/src/platforms/desktop.ts +279 -0
  448. package/vendor/@akanjs/native/packages/cli/src/platforms/index.ts +31 -0
  449. package/vendor/@akanjs/native/packages/cli/src/platforms/ios.ts +801 -0
  450. package/vendor/@akanjs/native/packages/cli/src/platforms/linux.ts +52 -0
  451. package/vendor/@akanjs/native/packages/cli/src/platforms/macos.ts +97 -0
  452. package/vendor/@akanjs/native/packages/cli/src/platforms/targets.ts +12 -0
  453. package/vendor/@akanjs/native/packages/cli/src/platforms/web-run.ts +69 -0
  454. package/vendor/@akanjs/native/packages/cli/src/platforms/web.ts +28 -0
  455. package/vendor/@akanjs/native/packages/cli/src/platforms/windows.ts +82 -0
  456. package/vendor/@akanjs/native/packages/core/contract.json +96 -0
  457. package/vendor/@akanjs/native/packages/core/src/acl.ts +272 -0
  458. package/vendor/@akanjs/native/packages/core/src/boot.ts +97 -0
  459. package/vendor/@akanjs/native/packages/core/src/contract.ts +100 -0
  460. package/vendor/@akanjs/native/packages/core/src/errors.ts +95 -0
  461. package/vendor/@akanjs/native/packages/core/src/files.ts +105 -0
  462. package/vendor/@akanjs/native/packages/core/src/index.ts +35 -0
  463. package/vendor/@akanjs/native/packages/core/src/kernel.ts +281 -0
  464. package/vendor/@akanjs/native/packages/core/src/live.ts +62 -0
  465. package/vendor/@akanjs/native/packages/core/src/mime.ts +8 -0
  466. package/vendor/@akanjs/native/packages/core/src/plugin.ts +358 -0
  467. package/vendor/@akanjs/native/packages/core/src/protocol.ts +194 -0
  468. package/vendor/@akanjs/native/packages/core/src/runtime.ts +520 -0
  469. package/vendor/@akanjs/native/packages/core/src/state.ts +46 -0
  470. package/vendor/@akanjs/native/packages/core/src/testing.ts +176 -0
  471. package/vendor/@akanjs/native/packages/core/src/version.ts +2 -0
  472. package/vendor/@akanjs/native/packages/core/src/veto.ts +55 -0
  473. package/vendor/@akanjs/native/packages/core/vectors/acl.json +57 -0
  474. package/vendor/@akanjs/native/packages/core/vectors/bridge.json +76 -0
  475. package/vendor/@akanjs/native/packages/core/vectors/ed25519.json +29 -0
  476. package/vendor/@akanjs/native/packages/core/vectors/ids.json +73 -0
  477. package/vendor/@akanjs/native/packages/core/vectors/navigation.json +75 -0
  478. package/vendor/@akanjs/native/packages/core/vectors/ranges.json +39 -0
  479. package/vendor/@akanjs/native/packages/core/vectors/retained.json +17 -0
  480. package/vendor/@akanjs/native/packages/core/vectors/routes.json +66 -0
  481. package/vendor/@akanjs/native/packages/core/vectors/scope.json +143 -0
  482. package/vendor/@akanjs/native/packages/desktop/src/deeplinks.ts +143 -0
  483. package/vendor/@akanjs/native/packages/desktop/src/delta.ts +174 -0
  484. package/vendor/@akanjs/native/packages/desktop/src/dispatcher.ts +679 -0
  485. package/vendor/@akanjs/native/packages/desktop/src/ffi.ts +76 -0
  486. package/vendor/@akanjs/native/packages/desktop/src/host.ts +355 -0
  487. package/vendor/@akanjs/native/packages/desktop/src/lifecycle.ts +142 -0
  488. package/vendor/@akanjs/native/packages/desktop/src/main.ts +133 -0
  489. package/vendor/@akanjs/native/packages/desktop/src/page-veto.ts +103 -0
  490. package/vendor/@akanjs/native/packages/desktop/src/paths.ts +59 -0
  491. package/vendor/@akanjs/native/packages/desktop/src/plugin.ts +232 -0
  492. package/vendor/@akanjs/native/packages/react/src/index.ts +23 -0
  493. package/vendor/@akanjs/native/plugins/accessibility/android/AccessibilityPlugin.kt +96 -0
  494. package/vendor/@akanjs/native/plugins/accessibility/ios/AccessibilityPlugin.swift +92 -0
  495. package/vendor/@akanjs/native/plugins/accessibility/native-plugin.json +21 -0
  496. package/vendor/@akanjs/native/plugins/accessibility/src/announce.ts +71 -0
  497. package/vendor/@akanjs/native/plugins/accessibility/src/index.ts +77 -0
  498. package/vendor/@akanjs/native/plugins/accessibility/src/web.ts +52 -0
  499. package/vendor/@akanjs/native/plugins/app/android/AppPlugin.kt +72 -0
  500. package/vendor/@akanjs/native/plugins/app/ios/AppPlugin.swift +52 -0
  501. package/vendor/@akanjs/native/plugins/app/native-plugin.json +21 -0
  502. package/vendor/@akanjs/native/plugins/app/src/desktop.ts +64 -0
  503. package/vendor/@akanjs/native/plugins/app/src/index.ts +77 -0
  504. package/vendor/@akanjs/native/plugins/app/src/web.ts +12 -0
  505. package/vendor/@akanjs/native/plugins/app-state/android/AppStatePlugin.kt +54 -0
  506. package/vendor/@akanjs/native/plugins/app-state/ios/AppStatePlugin.swift +58 -0
  507. package/vendor/@akanjs/native/plugins/app-state/native-plugin.json +17 -0
  508. package/vendor/@akanjs/native/plugins/app-state/src/index.ts +42 -0
  509. package/vendor/@akanjs/native/plugins/app-state/src/web.ts +33 -0
  510. package/vendor/@akanjs/native/plugins/appearance/android/AppearancePlugin.kt +133 -0
  511. package/vendor/@akanjs/native/plugins/appearance/ios/AppearancePlugin.swift +109 -0
  512. package/vendor/@akanjs/native/plugins/appearance/native-plugin.json +18 -0
  513. package/vendor/@akanjs/native/plugins/appearance/src/desktop.ts +133 -0
  514. package/vendor/@akanjs/native/plugins/appearance/src/index.ts +62 -0
  515. package/vendor/@akanjs/native/plugins/appearance/src/setting.ts +18 -0
  516. package/vendor/@akanjs/native/plugins/appearance/src/web.ts +25 -0
  517. package/vendor/@akanjs/native/plugins/auth-session/android/AuthSessionPlugin.kt +171 -0
  518. package/vendor/@akanjs/native/plugins/auth-session/ios/AuthSessionPlugin.swift +112 -0
  519. package/vendor/@akanjs/native/plugins/auth-session/native-plugin.json +19 -0
  520. package/vendor/@akanjs/native/plugins/auth-session/src/args.ts +62 -0
  521. package/vendor/@akanjs/native/plugins/auth-session/src/desktop.ts +133 -0
  522. package/vendor/@akanjs/native/plugins/auth-session/src/index.ts +39 -0
  523. package/vendor/@akanjs/native/plugins/autostart/native-plugin.json +10 -0
  524. package/vendor/@akanjs/native/plugins/autostart/src/desktop.ts +189 -0
  525. package/vendor/@akanjs/native/plugins/autostart/src/index.ts +51 -0
  526. package/vendor/@akanjs/native/plugins/badge/ios/BadgePlugin.swift +92 -0
  527. package/vendor/@akanjs/native/plugins/badge/native-plugin.json +15 -0
  528. package/vendor/@akanjs/native/plugins/badge/src/count.ts +12 -0
  529. package/vendor/@akanjs/native/plugins/badge/src/desktop.ts +24 -0
  530. package/vendor/@akanjs/native/plugins/badge/src/index.ts +40 -0
  531. package/vendor/@akanjs/native/plugins/badge/src/web.ts +37 -0
  532. package/vendor/@akanjs/native/plugins/biometric/android/BiometricPlugin.kt +179 -0
  533. package/vendor/@akanjs/native/plugins/biometric/ios/BiometricPlugin.swift +129 -0
  534. package/vendor/@akanjs/native/plugins/biometric/native-plugin.json +22 -0
  535. package/vendor/@akanjs/native/plugins/biometric/src/index.ts +100 -0
  536. package/vendor/@akanjs/native/plugins/browser/android/BrowserPlugin.kt +178 -0
  537. package/vendor/@akanjs/native/plugins/browser/ios/BrowserPlugin.swift +63 -0
  538. package/vendor/@akanjs/native/plugins/browser/native-plugin.json +22 -0
  539. package/vendor/@akanjs/native/plugins/browser/src/args.ts +34 -0
  540. package/vendor/@akanjs/native/plugins/browser/src/desktop.ts +40 -0
  541. package/vendor/@akanjs/native/plugins/browser/src/index.ts +47 -0
  542. package/vendor/@akanjs/native/plugins/browser/src/web.ts +60 -0
  543. package/vendor/@akanjs/native/plugins/camera/android/CameraPlugin.kt +365 -0
  544. package/vendor/@akanjs/native/plugins/camera/ios/CameraPlugin.swift +296 -0
  545. package/vendor/@akanjs/native/plugins/camera/native-plugin.json +32 -0
  546. package/vendor/@akanjs/native/plugins/camera/src/desktop.ts +27 -0
  547. package/vendor/@akanjs/native/plugins/camera/src/index.ts +85 -0
  548. package/vendor/@akanjs/native/plugins/camera/src/web.ts +267 -0
  549. package/vendor/@akanjs/native/plugins/clipboard/android/ClipboardPlugin.kt +51 -0
  550. package/vendor/@akanjs/native/plugins/clipboard/ios/ClipboardPlugin.swift +35 -0
  551. package/vendor/@akanjs/native/plugins/clipboard/native-plugin.json +17 -0
  552. package/vendor/@akanjs/native/plugins/clipboard/src/desktop.ts +66 -0
  553. package/vendor/@akanjs/native/plugins/clipboard/src/index.ts +72 -0
  554. package/vendor/@akanjs/native/plugins/clipboard/src/web.ts +69 -0
  555. package/vendor/@akanjs/native/plugins/device/android/DevicePlugin.kt +70 -0
  556. package/vendor/@akanjs/native/plugins/device/ios/DevicePlugin.swift +80 -0
  557. package/vendor/@akanjs/native/plugins/device/native-plugin.json +18 -0
  558. package/vendor/@akanjs/native/plugins/device/src/desktop.ts +276 -0
  559. package/vendor/@akanjs/native/plugins/device/src/index.ts +72 -0
  560. package/vendor/@akanjs/native/plugins/device/src/web.ts +162 -0
  561. package/vendor/@akanjs/native/plugins/dialog/android/DialogPlugin.kt +260 -0
  562. package/vendor/@akanjs/native/plugins/dialog/ios/DialogPlugin.swift +198 -0
  563. package/vendor/@akanjs/native/plugins/dialog/native-plugin.json +18 -0
  564. package/vendor/@akanjs/native/plugins/dialog/src/desktop.ts +80 -0
  565. package/vendor/@akanjs/native/plugins/dialog/src/index.ts +87 -0
  566. package/vendor/@akanjs/native/plugins/dialog/src/options.ts +111 -0
  567. package/vendor/@akanjs/native/plugins/dialog/src/web.ts +296 -0
  568. package/vendor/@akanjs/native/plugins/dock/native-plugin.json +10 -0
  569. package/vendor/@akanjs/native/plugins/dock/src/desktop.ts +34 -0
  570. package/vendor/@akanjs/native/plugins/dock/src/index.ts +46 -0
  571. package/vendor/@akanjs/native/plugins/file-picker/android/FilePickerPlugin.kt +316 -0
  572. package/vendor/@akanjs/native/plugins/file-picker/ios/FilePickerPlugin.swift +366 -0
  573. package/vendor/@akanjs/native/plugins/file-picker/native-plugin.json +18 -0
  574. package/vendor/@akanjs/native/plugins/file-picker/src/common.ts +125 -0
  575. package/vendor/@akanjs/native/plugins/file-picker/src/desktop.ts +164 -0
  576. package/vendor/@akanjs/native/plugins/file-picker/src/index.ts +187 -0
  577. package/vendor/@akanjs/native/plugins/file-picker/src/web.ts +158 -0
  578. package/vendor/@akanjs/native/plugins/filesystem/android/FilesystemPlugin.kt +561 -0
  579. package/vendor/@akanjs/native/plugins/filesystem/ios/FilesystemPlugin.swift +596 -0
  580. package/vendor/@akanjs/native/plugins/filesystem/native-plugin.json +45 -0
  581. package/vendor/@akanjs/native/plugins/filesystem/src/common.ts +150 -0
  582. package/vendor/@akanjs/native/plugins/filesystem/src/desktop.ts +438 -0
  583. package/vendor/@akanjs/native/plugins/filesystem/src/index.ts +179 -0
  584. package/vendor/@akanjs/native/plugins/filesystem/src/web.ts +334 -0
  585. package/vendor/@akanjs/native/plugins/geolocation/android/GeolocationPlugin.kt +360 -0
  586. package/vendor/@akanjs/native/plugins/geolocation/ios/GeolocationPlugin.swift +284 -0
  587. package/vendor/@akanjs/native/plugins/geolocation/native-plugin.json +23 -0
  588. package/vendor/@akanjs/native/plugins/geolocation/src/index.ts +155 -0
  589. package/vendor/@akanjs/native/plugins/geolocation/src/web.ts +132 -0
  590. package/vendor/@akanjs/native/plugins/global-shortcut/native-plugin.json +10 -0
  591. package/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.ts +36 -0
  592. package/vendor/@akanjs/native/plugins/global-shortcut/src/index.ts +55 -0
  593. package/vendor/@akanjs/native/plugins/haptics/android/HapticsPlugin.kt +127 -0
  594. package/vendor/@akanjs/native/plugins/haptics/ios/HapticsPlugin.swift +127 -0
  595. package/vendor/@akanjs/native/plugins/haptics/native-plugin.json +19 -0
  596. package/vendor/@akanjs/native/plugins/haptics/src/index.ts +34 -0
  597. package/vendor/@akanjs/native/plugins/haptics/src/web.ts +53 -0
  598. package/vendor/@akanjs/native/plugins/http/android/HttpPlugin.kt +234 -0
  599. package/vendor/@akanjs/native/plugins/http/android/HttpUrl.kt +182 -0
  600. package/vendor/@akanjs/native/plugins/http/ios/HttpPlugin.swift +228 -0
  601. package/vendor/@akanjs/native/plugins/http/ios/HttpUrl.swift +166 -0
  602. package/vendor/@akanjs/native/plugins/http/native-plugin.json +27 -0
  603. package/vendor/@akanjs/native/plugins/http/src/common.ts +294 -0
  604. package/vendor/@akanjs/native/plugins/http/src/desktop.ts +69 -0
  605. package/vendor/@akanjs/native/plugins/http/src/index.ts +181 -0
  606. package/vendor/@akanjs/native/plugins/http/src/web.ts +40 -0
  607. package/vendor/@akanjs/native/plugins/iap/android/IapPlugin.kt +358 -0
  608. package/vendor/@akanjs/native/plugins/iap/ios/IapPlugin.swift +306 -0
  609. package/vendor/@akanjs/native/plugins/iap/native-plugin.json +28 -0
  610. package/vendor/@akanjs/native/plugins/iap/src/index.ts +206 -0
  611. package/vendor/@akanjs/native/plugins/keep-awake/android/KeepAwakePlugin.kt +48 -0
  612. package/vendor/@akanjs/native/plugins/keep-awake/ios/KeepAwakePlugin.swift +36 -0
  613. package/vendor/@akanjs/native/plugins/keep-awake/native-plugin.json +17 -0
  614. package/vendor/@akanjs/native/plugins/keep-awake/src/desktop.ts +127 -0
  615. package/vendor/@akanjs/native/plugins/keep-awake/src/index.ts +79 -0
  616. package/vendor/@akanjs/native/plugins/keep-awake/src/web.ts +78 -0
  617. package/vendor/@akanjs/native/plugins/keyboard/android/KeyboardPlugin.kt +77 -0
  618. package/vendor/@akanjs/native/plugins/keyboard/ios/KeyboardPlugin.swift +93 -0
  619. package/vendor/@akanjs/native/plugins/keyboard/native-plugin.json +18 -0
  620. package/vendor/@akanjs/native/plugins/keyboard/src/index.ts +78 -0
  621. package/vendor/@akanjs/native/plugins/keyboard/src/web.ts +57 -0
  622. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationReceiver.kt +38 -0
  623. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotifications.kt +284 -0
  624. package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationsPlugin.kt +248 -0
  625. package/vendor/@akanjs/native/plugins/local-notifications/ios/LocalNotificationsPlugin.swift +279 -0
  626. package/vendor/@akanjs/native/plugins/local-notifications/native-plugin.json +35 -0
  627. package/vendor/@akanjs/native/plugins/local-notifications/src/desktop.ts +196 -0
  628. package/vendor/@akanjs/native/plugins/local-notifications/src/index.ts +174 -0
  629. package/vendor/@akanjs/native/plugins/local-notifications/src/schedule.ts +164 -0
  630. package/vendor/@akanjs/native/plugins/local-notifications/src/timers.ts +72 -0
  631. package/vendor/@akanjs/native/plugins/local-notifications/src/web.ts +158 -0
  632. package/vendor/@akanjs/native/plugins/menu/native-plugin.json +10 -0
  633. package/vendor/@akanjs/native/plugins/menu/src/desktop.ts +52 -0
  634. package/vendor/@akanjs/native/plugins/menu/src/index.ts +107 -0
  635. package/vendor/@akanjs/native/plugins/network/android/NetworkPlugin.kt +124 -0
  636. package/vendor/@akanjs/native/plugins/network/ios/NetworkPlugin.swift +82 -0
  637. package/vendor/@akanjs/native/plugins/network/native-plugin.json +19 -0
  638. package/vendor/@akanjs/native/plugins/network/src/index.ts +59 -0
  639. package/vendor/@akanjs/native/plugins/network/src/web.ts +43 -0
  640. package/vendor/@akanjs/native/plugins/opener/android/OpenerPlugin.kt +81 -0
  641. package/vendor/@akanjs/native/plugins/opener/ios/OpenerPlugin.swift +83 -0
  642. package/vendor/@akanjs/native/plugins/opener/native-plugin.json +25 -0
  643. package/vendor/@akanjs/native/plugins/opener/src/desktop.ts +88 -0
  644. package/vendor/@akanjs/native/plugins/opener/src/index.ts +35 -0
  645. package/vendor/@akanjs/native/plugins/opener/src/url.ts +39 -0
  646. package/vendor/@akanjs/native/plugins/opener/src/web.ts +33 -0
  647. package/vendor/@akanjs/native/plugins/preferences/android/PreferencesPlugin.kt +44 -0
  648. package/vendor/@akanjs/native/plugins/preferences/ios/PreferencesPlugin.swift +47 -0
  649. package/vendor/@akanjs/native/plugins/preferences/native-plugin.json +18 -0
  650. package/vendor/@akanjs/native/plugins/preferences/src/desktop.ts +59 -0
  651. package/vendor/@akanjs/native/plugins/preferences/src/index.ts +75 -0
  652. package/vendor/@akanjs/native/plugins/preferences/src/web.ts +55 -0
  653. package/vendor/@akanjs/native/plugins/push/android/AkanNativeMessagingService.kt +17 -0
  654. package/vendor/@akanjs/native/plugins/push/android/PushPlugin.kt +257 -0
  655. package/vendor/@akanjs/native/plugins/push/ios/PushPlugin.swift +169 -0
  656. package/vendor/@akanjs/native/plugins/push/native-plugin.json +23 -0
  657. package/vendor/@akanjs/native/plugins/push/src/index.ts +73 -0
  658. package/vendor/@akanjs/native/plugins/screen/native-plugin.json +10 -0
  659. package/vendor/@akanjs/native/plugins/screen/src/desktop.ts +50 -0
  660. package/vendor/@akanjs/native/plugins/screen/src/index.ts +107 -0
  661. package/vendor/@akanjs/native/plugins/screen/src/web.ts +92 -0
  662. package/vendor/@akanjs/native/plugins/screen-orientation/android/ScreenOrientationPlugin.kt +113 -0
  663. package/vendor/@akanjs/native/plugins/screen-orientation/ios/ScreenOrientationPlugin.swift +150 -0
  664. package/vendor/@akanjs/native/plugins/screen-orientation/native-plugin.json +17 -0
  665. package/vendor/@akanjs/native/plugins/screen-orientation/src/index.ts +69 -0
  666. package/vendor/@akanjs/native/plugins/screen-orientation/src/types.ts +26 -0
  667. package/vendor/@akanjs/native/plugins/screen-orientation/src/web.ts +67 -0
  668. package/vendor/@akanjs/native/plugins/secure-storage/android/SecureStoragePlugin.kt +184 -0
  669. package/vendor/@akanjs/native/plugins/secure-storage/ios/SecureStoragePlugin.swift +145 -0
  670. package/vendor/@akanjs/native/plugins/secure-storage/native-plugin.json +18 -0
  671. package/vendor/@akanjs/native/plugins/secure-storage/src/desktop.ts +332 -0
  672. package/vendor/@akanjs/native/plugins/secure-storage/src/index.ts +33 -0
  673. package/vendor/@akanjs/native/plugins/share/android/SharePlugin.kt +218 -0
  674. package/vendor/@akanjs/native/plugins/share/ios/SharePlugin.swift +142 -0
  675. package/vendor/@akanjs/native/plugins/share/native-plugin.json +18 -0
  676. package/vendor/@akanjs/native/plugins/share/src/index.ts +87 -0
  677. package/vendor/@akanjs/native/plugins/share/src/options.ts +43 -0
  678. package/vendor/@akanjs/native/plugins/share/src/web.ts +116 -0
  679. package/vendor/@akanjs/native/plugins/single-instance/native-plugin.json +10 -0
  680. package/vendor/@akanjs/native/plugins/single-instance/src/desktop.ts +63 -0
  681. package/vendor/@akanjs/native/plugins/single-instance/src/index.ts +32 -0
  682. package/vendor/@akanjs/native/plugins/single-instance/src/socket.ts +248 -0
  683. package/vendor/@akanjs/native/plugins/splash-screen/android/SplashScreenPlugin.kt +19 -0
  684. package/vendor/@akanjs/native/plugins/splash-screen/ios/SplashScreenPlugin.swift +20 -0
  685. package/vendor/@akanjs/native/plugins/splash-screen/native-plugin.json +17 -0
  686. package/vendor/@akanjs/native/plugins/splash-screen/src/index.ts +24 -0
  687. package/vendor/@akanjs/native/plugins/splash-screen/src/web.ts +17 -0
  688. package/vendor/@akanjs/native/plugins/sqlite/android/SqlStatements.kt +121 -0
  689. package/vendor/@akanjs/native/plugins/sqlite/android/SqlitePlugin.kt +327 -0
  690. package/vendor/@akanjs/native/plugins/sqlite/ios/SqlitePlugin.swift +361 -0
  691. package/vendor/@akanjs/native/plugins/sqlite/native-plugin.json +18 -0
  692. package/vendor/@akanjs/native/plugins/sqlite/src/common.ts +221 -0
  693. package/vendor/@akanjs/native/plugins/sqlite/src/desktop.ts +140 -0
  694. package/vendor/@akanjs/native/plugins/sqlite/src/index.ts +114 -0
  695. package/vendor/@akanjs/native/plugins/toast/android/ToastPlugin.kt +27 -0
  696. package/vendor/@akanjs/native/plugins/toast/native-plugin.json +14 -0
  697. package/vendor/@akanjs/native/plugins/toast/src/index.ts +41 -0
  698. package/vendor/@akanjs/native/plugins/toast/src/queue.ts +77 -0
  699. package/vendor/@akanjs/native/plugins/toast/src/web.ts +130 -0
  700. package/vendor/@akanjs/native/plugins/tray/native-plugin.json +10 -0
  701. package/vendor/@akanjs/native/plugins/tray/src/desktop.ts +73 -0
  702. package/vendor/@akanjs/native/plugins/tray/src/index.ts +111 -0
  703. package/vendor/@akanjs/native/plugins/updates/android/UpdatesPlugin.kt +290 -0
  704. package/vendor/@akanjs/native/plugins/updates/ios/UpdatesPlugin.swift +292 -0
  705. package/vendor/@akanjs/native/plugins/updates/native-plugin.json +19 -0
  706. package/vendor/@akanjs/native/plugins/updates/src/desktop.ts +558 -0
  707. package/vendor/@akanjs/native/plugins/updates/src/index.ts +95 -0
  708. package/vendor/@akanjs/native/plugins/window/native-plugin.json +32 -0
  709. package/vendor/@akanjs/native/plugins/window/src/desktop.ts +170 -0
  710. package/vendor/@akanjs/native/plugins/window/src/index.ts +342 -0
  711. package/vendor/@akanjs/native/plugins/window/src/web.ts +43 -0
  712. package/vendor/@akanjs/native/plugins/window-state/native-plugin.json +10 -0
  713. package/vendor/@akanjs/native/plugins/window-state/src/desktop.ts +73 -0
  714. package/vendor/@akanjs/native/plugins/window-state/src/index.ts +35 -0
  715. package/vendor/@akanjs/native/plugins/window-state/src/state.ts +146 -0
  716. package/webkit/bootCsr.tsx +26 -14
  717. package/webkit/index.ts +0 -2
  718. package/webkit/nativeNavigation.ts +116 -0
  719. package/webkit/nativePurchase.ts +93 -0
  720. package/webkit/useCamera.tsx +76 -71
  721. package/webkit/useCsrValues.ts +10 -124
  722. package/webkit/useGeoLocation.tsx +11 -13
  723. package/webkit/usePurchase.tsx +68 -123
  724. package/capacitor.base.config.ts +0 -140
  725. package/client/capacitor.ts +0 -252
  726. package/types/capacitor.base.config.d.ts +0 -3
  727. package/types/client/capacitor.d.ts +0 -290
  728. package/types/webkit/useCodepush.d.ts +0 -16
  729. package/types/webkit/useContact.d.ts +0 -11
  730. package/webkit/useCodepush.tsx +0 -76
  731. package/webkit/useContact.tsx +0 -45
@@ -0,0 +1,40 @@
1
+ import { AkanNativeError } from "../../../packages/core/src/index.ts";
2
+ /**
3
+ * Plain text on the system clipboard.
4
+ *
5
+ * readText resolves `{ text: "" }` when the clipboard holds no text. It may reject:
6
+ * - PERMISSION_DENIED
7
+ * - iOS 16+: the user answered "Don't Allow" to the paste prompt, shown when another app copied the text
8
+ * - Android 10+: the app does not have window focus
9
+ * - web: the browser refused (Chrome asks for clipboard-read permission, Safari and Firefox show a
10
+ * "Paste" button that must be clicked, both need a user gesture)
11
+ * - UNSUPPORTED on the web without `navigator.clipboard.readText` (insecure http:// origin, older browsers)
12
+ *
13
+ * writeText needs a user gesture on the web (and a focused document in Chrome); without
14
+ * `navigator.clipboard` it falls back to `execCommand("copy")`, which also needs the gesture.
15
+ */
16
+ export interface ClipboardApi {
17
+ writeText(args: {
18
+ text: string;
19
+ }): Promise<void>;
20
+ readText(): Promise<{
21
+ text: string;
22
+ }>;
23
+ }
24
+ export declare const clipboard: import("../../../packages/core/src/plugin.ts").Plugin<ClipboardApi, {}>;
25
+ export interface UseClipboard {
26
+ supported: boolean;
27
+ /** True for `resetAfter` ms after a successful copy, for "Copied" feedback next to the button. */
28
+ copied: boolean;
29
+ /** Last copy failure. */
30
+ error: AkanNativeError | null;
31
+ /** Copies text; resolves false (and sets `error`) instead of throwing. */
32
+ copy(text: string): Promise<boolean>;
33
+ }
34
+ /**
35
+ * Copy-button helper. Android 13+ already shows a system confirmation after copying, so show
36
+ * `copied` in place (e.g. the button label) rather than as an extra toast.
37
+ */
38
+ export declare function useClipboard(options?: {
39
+ resetAfter?: number;
40
+ }): UseClipboard;
@@ -0,0 +1,2 @@
1
+ import type { ClipboardApi } from "./index.ts";
2
+ export declare const web: import("../../../packages/core/src/plugin.ts").WebPlugin<ClipboardApi, {}>;
@@ -0,0 +1 @@
1
+ export * from "./src/index.d.ts";
@@ -0,0 +1,33 @@
1
+ import type { BatteryInfo, DeviceApi } from "./index.ts";
2
+ /** A <string> value from an XML property list (SystemVersion.plist and Safari's Info.plist are XML). */
3
+ export declare function plistString(xml: string, key: string): string | null;
4
+ /**
5
+ * `pmset -g batt`, e.g.
6
+ * Now drawing from 'AC Power'
7
+ * -InternalBattery-0 (id=22806627) 100%; charged; 0:00 remaining present: true
8
+ * Desktop Macs print only the first line (a UPS may add its own line, which is not the Mac's battery).
9
+ */
10
+ export declare function parsePmset(out: string): BatteryInfo;
11
+ /** The first entry of `defaults read -g AppleLanguages`: ( "en-KR", en, ... ). */
12
+ export declare function parseAppleLanguages(out: string): string | null;
13
+ /** One entry of /sys/class/power_supply: the attribute files it has (sysfs-class-power ABI). */
14
+ export type PowerSupply = Partial<Record<"type" | "scope" | "status" | "capacity" | "online" | "energy_now" | "energy_full" | "charge_now" | "charge_full", string>>;
15
+ /**
16
+ * The system's batteries (type Battery; scope Device is a mouse or headset) as one reading: the
17
+ * summed energy (or charge) where every battery reports it, else the mean capacity. Connected to
18
+ * power: a mains or USB supply online, else the batteries' status ("Not charging" is a full or
19
+ * held battery on AC, as macOS's "AC attached").
20
+ */
21
+ export declare function parsePowerSupplies(supplies: PowerSupply[]): BatteryInfo;
22
+ /**
23
+ * The user's language from the POSIX locale variables, in gettext's order for messages:
24
+ * LANGUAGE (a list), LC_ALL, LC_MESSAGES, LANG. "ko_KR.UTF-8" → "ko-KR", "sr_RS@latin" →
25
+ * "sr-Latn-RS"; C and POSIX are no language.
26
+ */
27
+ export declare function posixLanguage(env: Record<string, string | undefined>): string | null;
28
+ /** Vendor and product names of hypervisors in DMI/SMBIOS (QEMU, KVM, VMware, VirtualBox, Hyper-V, Parallels, Xen, Apple's Virtualization framework). */
29
+ export declare function isVirtualMachine(manufacturer: string, model: string): boolean;
30
+ /** `platform` and `root` (prefix of /sys, /proc) are replaceable so tests can read a fake Linux on any OS. */
31
+ export declare function createDesktopDevice(platform?: NodeJS.Platform, root?: string, env?: Record<string, string | undefined>): import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<DeviceApi, {}>;
32
+ declare const _default: import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<DeviceApi, {}>;
33
+ export default _default;
@@ -0,0 +1,55 @@
1
+ import { type Platform } from "../../../packages/core/src/index.ts";
2
+ export interface DeviceInfo {
3
+ /** The akan-native platform: "web" in a browser, otherwise the app host. */
4
+ platform: Platform;
5
+ /** Hardware model identifier, e.g. "iPhone17,1", "Pixel 9", "Mac16,7". Best effort on the web. */
6
+ model: string;
7
+ /** e.g. "Apple", "Google", "samsung". "unknown" where the host cannot tell (most browsers). */
8
+ manufacturer: string;
9
+ /** "iOS", "iPadOS", "Android", "macOS", "Windows", "Linux", "ChromeOS" or "unknown". */
10
+ osName: string;
11
+ /** e.g. "26.0", "16". Browsers freeze the version in the user agent, so it may be stale on the web. */
12
+ osVersion: string;
13
+ /**
14
+ * True in the iOS simulator, the Android emulator and virtual machines (macOS: the hypervisor
15
+ * flag; Windows and Linux: the firmware's vendor and product names, and the CPU's hypervisor flag
16
+ * on Linux). Always false on the web.
17
+ */
18
+ isVirtual: boolean;
19
+ /**
20
+ * Version of the engine rendering the page: WebKit ships with iOS, the WebView package on Android,
21
+ * Safari on macOS, the WebView2 runtime on Windows, WebKitGTK on Linux, the browser on the web.
22
+ */
23
+ webViewVersion: string | null;
24
+ }
25
+ export interface BatteryInfo {
26
+ /** Charge from 0 to 1, or null without a battery (iOS simulator, desktop Macs) or a reading. iOS reports 5% steps. */
27
+ level: number | null;
28
+ /** True while connected to power (charging or full), null without a battery. */
29
+ charging: boolean | null;
30
+ }
31
+ export interface DeviceApi {
32
+ getInfo(): Promise<DeviceInfo>;
33
+ /**
34
+ * A stable identifier for this app on this device. Not a hardware id:
35
+ * iOS identifierForVendor (reset when all of the vendor's apps are removed), Android ANDROID_ID
36
+ * (differs per signing key and user), desktop and web a random UUID stored with the app data.
37
+ */
38
+ getId(): Promise<{
39
+ identifier: string;
40
+ }>;
41
+ /**
42
+ * The user's preferred language as a BCP 47 tag ("ko-KR", "zh-Hans-CN") and its language subtag ("ko").
43
+ * Prefer this over navigator.language inside apps: WKWebView answers from the app bundle's
44
+ * localizations, not the user's language list (an app without any reports "en-US"; verified on macOS).
45
+ */
46
+ getLanguage(): Promise<{
47
+ tag: string;
48
+ code: string;
49
+ }>;
50
+ /** Rejects UNSUPPORTED where the host cannot read the battery (Safari, Firefox). */
51
+ getBattery(): Promise<BatteryInfo>;
52
+ }
53
+ export declare const device: import("../../../packages/core/src/plugin.ts").Plugin<DeviceApi, {}>;
54
+ /** Device information, or null until it has loaded. */
55
+ export declare function useDeviceInfo(): DeviceInfo | null;
@@ -0,0 +1,22 @@
1
+ import type { DeviceApi } from "./index.ts";
2
+ export interface UserAgentFields {
3
+ osName: string;
4
+ osVersion: string;
5
+ model: string;
6
+ manufacturer: string;
7
+ browserVersion: string | null;
8
+ }
9
+ /** OS and browser from a user agent string. `touchPoints` tells iPads in desktop mode from Macs. */
10
+ export declare function parseUserAgent(ua: string, touchPoints?: number): UserAgentFields;
11
+ interface HighEntropyValues {
12
+ model?: string;
13
+ platformVersion?: string;
14
+ fullVersionList?: {
15
+ brand: string;
16
+ version: string;
17
+ }[];
18
+ }
19
+ /** Applies Client Hints on top of the user agent fields. */
20
+ export declare function applyClientHints(fields: UserAgentFields, hints: HighEntropyValues): UserAgentFields;
21
+ export declare const web: import("../../../packages/core/src/plugin.ts").WebPlugin<DeviceApi, {}>;
22
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./src/index.d.ts";
@@ -0,0 +1,3 @@
1
+ import type { DialogApi } from "./index.ts";
2
+ declare const _default: import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<DialogApi, {}>;
3
+ export default _default;
@@ -0,0 +1,60 @@
1
+ export interface AlertOptions {
2
+ title?: string;
3
+ /** Required; may be "" when there is a title. */
4
+ message: string;
5
+ /** Default: "OK" (the OS's localized OK on iOS and Android). */
6
+ buttonTitle?: string;
7
+ }
8
+ export interface ConfirmOptions {
9
+ title?: string;
10
+ message: string;
11
+ okButtonTitle?: string;
12
+ cancelButtonTitle?: string;
13
+ }
14
+ export interface ConfirmResult {
15
+ /** true only for the OK button. */
16
+ value: boolean;
17
+ }
18
+ export interface PromptOptions extends ConfirmOptions {
19
+ inputPlaceholder?: string;
20
+ /** Text the field starts with. */
21
+ inputText?: string;
22
+ }
23
+ export interface PromptResult {
24
+ /** The text as typed (not trimmed). "" when cancelled. */
25
+ value: string;
26
+ cancelled: boolean;
27
+ }
28
+ export type ActionSheetOptionStyle = "default" | "destructive" | "cancel";
29
+ export interface ActionSheetOption {
30
+ title: string;
31
+ /**
32
+ * "destructive" is shown in red. At most one option may be "cancel": it is shown apart
33
+ * (iOS hides it on iPhone and iPad and cancels on a tap outside instead) and choosing it
34
+ * answers `{ index: -1, cancelled: true }` like any other dismissal.
35
+ */
36
+ style?: ActionSheetOptionStyle;
37
+ }
38
+ export interface ActionSheetOptions {
39
+ title?: string;
40
+ message?: string;
41
+ /** At least one. */
42
+ options: ActionSheetOption[];
43
+ }
44
+ export interface ActionSheetResult {
45
+ /** Index into `options` of the chosen option, or -1 when cancelled. */
46
+ index: number;
47
+ cancelled: boolean;
48
+ }
49
+ export interface DialogApi {
50
+ alert(options: AlertOptions): Promise<void>;
51
+ confirm(options: ConfirmOptions): Promise<ConfirmResult>;
52
+ prompt(options: PromptOptions): Promise<PromptResult>;
53
+ actionSheet(options: ActionSheetOptions): Promise<ActionSheetResult>;
54
+ }
55
+ export declare const dialog: import("../../../packages/core/src/plugin.ts").Plugin<DialogApi, {}>;
56
+ export interface UseDialog extends DialogApi {
57
+ supported: boolean;
58
+ }
59
+ /** The dialog functions for components. They hold no state, so they are stable across renders. */
60
+ export declare function useDialog(): UseDialog;
@@ -0,0 +1,29 @@
1
+ import type { ActionSheetOption, ActionSheetOptionStyle, ActionSheetOptions, AlertOptions, ConfirmOptions, PromptOptions } from "./index.ts";
2
+ export declare const OPTION_STYLES: readonly ActionSheetOptionStyle[];
3
+ /** Web defaults. The native hosts use the OS's localized OK / Cancel instead. */
4
+ export declare const DEFAULT_OK = "OK";
5
+ export declare const DEFAULT_CANCEL = "Cancel";
6
+ export interface NormalizedAlert {
7
+ title: string;
8
+ message: string;
9
+ buttonTitle: string;
10
+ }
11
+ export interface NormalizedConfirm {
12
+ title: string;
13
+ message: string;
14
+ okButtonTitle: string;
15
+ cancelButtonTitle: string;
16
+ }
17
+ export interface NormalizedPrompt extends NormalizedConfirm {
18
+ inputPlaceholder: string;
19
+ inputText: string;
20
+ }
21
+ export interface NormalizedActionSheet {
22
+ title: string;
23
+ message: string;
24
+ options: Required<ActionSheetOption>[];
25
+ }
26
+ export declare function normalizeAlert(args: AlertOptions | undefined): NormalizedAlert;
27
+ export declare function normalizeConfirm(args: ConfirmOptions | undefined, method?: string): NormalizedConfirm;
28
+ export declare function normalizePrompt(args: PromptOptions | undefined): NormalizedPrompt;
29
+ export declare function normalizeActionSheet(args: ActionSheetOptions | undefined): NormalizedActionSheet;
@@ -0,0 +1,2 @@
1
+ import type { DialogApi } from "./index.ts";
2
+ export declare const web: import("../../../packages/core/src/plugin.ts").WebPlugin<DialogApi, {}>;
@@ -0,0 +1 @@
1
+ export * from "./src/index.d.ts";
@@ -0,0 +1,3 @@
1
+ import type { DockApi } from "./index.ts";
2
+ declare const _default: import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<DockApi, {}>;
3
+ export default _default;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The app's Dock icon on macOS, its taskbar buttons on Windows and its launcher entry on Linux
3
+ * (plugins.md §5): a badge, a progress bar, and whether the app has a Dock icon at all.
4
+ *
5
+ * - Everything is app-wide and outlives the page: after a reload, read it back with getState().
6
+ * - setBadge: any short text ("3", "!", "new"); null or "" removes it. Numbers read best.
7
+ * - setProgress: 0..1, drawn as a bar over the icon in whole percents; null hides it. `state`
8
+ * colors it: normal (blue), paused (yellow), error (red). There is no indeterminate bar on macOS.
9
+ * - setVisible(false): no Dock icon, not in Cmd+Tab, no menu bar (keyboard shortcuts of the app
10
+ * menu still work); windows stay open. For apps that live in the menu bar (tray plugin).
11
+ * `policy` also reports "prohibited", the state `akan-native test` starts the app in.
12
+ * - Windows: every window's taskbar button. setBadge draws the label on a red disc as the overlay
13
+ * icon (counts over 99 as "99+", other labels longer than 2 characters as a plain disc),
14
+ * setProgress is the button's progress bar in the same three colors, setVisible(false) takes
15
+ * the buttons away (policy "accessory"; the windows stay in Alt+Tab).
16
+ * - Linux: the launcher entry of the desktop file "<app id>.desktop" (the Unity LauncherEntry
17
+ * API, which Ubuntu's dock, Dash to Dock and KDE Plasma show): setBadge takes whole numbers
18
+ * only (other labels reject UNSUPPORTED), setProgress draws paused and error like normal, and
19
+ * setVisible(false) sets the windows' skip-taskbar hint. Nothing shows until the app is
20
+ * installed with a desktop file of that name; the state is kept meanwhile.
21
+ * - Web, iOS and Android: UNSUPPORTED.
22
+ */
23
+ export type DockProgressState = "normal" | "paused" | "error";
24
+ export interface DockState {
25
+ /** The app has a Dock icon (activation policy "regular"). */
26
+ visible: boolean;
27
+ policy: "regular" | "accessory" | "prohibited";
28
+ badge: string | null;
29
+ /** 0..1 as last set, or null when no bar is shown. */
30
+ progress: number | null;
31
+ progressState: DockProgressState | null;
32
+ }
33
+ export interface DockApi {
34
+ setBadge(args: {
35
+ label: string | null;
36
+ }): Promise<DockState>;
37
+ setProgress(args: {
38
+ progress: number | null;
39
+ state?: DockProgressState;
40
+ }): Promise<DockState>;
41
+ setVisible(args: {
42
+ visible: boolean;
43
+ }): Promise<DockState>;
44
+ getState(): Promise<DockState>;
45
+ }
46
+ export declare const dock: import("../../../packages/core/src/plugin.ts").Plugin<DockApi, {}>;
@@ -0,0 +1 @@
1
+ export * from "./src/index.d.ts";
@@ -0,0 +1,33 @@
1
+ import { AkanNativeError } from "../../../packages/core/src/index.ts";
2
+ export declare const invalid: (message: string) => AkanNativeError;
3
+ export declare function checkObject(args: unknown, optional: boolean): Record<string, unknown>;
4
+ /**
5
+ * File types as given to pickFiles: MIME types ("image/png", "image/*") or file name extensions
6
+ * ("pdf" or ".pdf"). Normalized to lower case, extensions without the dot. "*\/*" or no types
7
+ * means any file.
8
+ */
9
+ export declare function checkTypes(types: unknown): string[];
10
+ export declare function checkFlag(value: unknown, key: string): boolean;
11
+ /** A file name for saveFile: one path segment, no control characters. */
12
+ export declare function checkName(name: unknown): string;
13
+ export declare const DEFAULT_LIMIT = 1000;
14
+ export declare const MAX_LIMIT = 10000;
15
+ export declare function checkLimit(value: unknown): number;
16
+ export declare function checkMime(value: unknown): string | undefined;
17
+ export declare function checkBase64(data: string): void;
18
+ export type SaveSource = {
19
+ kind: "data";
20
+ data: string;
21
+ encoding: "utf8" | "base64";
22
+ } | {
23
+ kind: "url";
24
+ url: string;
25
+ };
26
+ /** Content for saveFile: `data` (text, or base64 with encoding) or `url`. Exactly one. */
27
+ export declare function checkSaveSource(args: Record<string, unknown>): SaveSource;
28
+ export declare function base64ToBytes(data: string): Uint8Array;
29
+ export declare function bytesToBase64(bytes: Uint8Array): string;
30
+ /** A FileRef served by the host: "/__akan_native/file/<id>", optionally on the app origin. */
31
+ export declare function isFileRef(url: string): boolean;
32
+ /** Hidden entries (".DS_Store", ".git/…") are left out of pickDirectory everywhere. */
33
+ export declare const isHidden: (relativePath: string) => boolean;
@@ -0,0 +1,9 @@
1
+ import type { FilePickerApi } from "./index.ts";
2
+ /** Regular files under `dir`, depth first by name, without hidden files and folders (".*"). */
3
+ export declare function listFiles(dir: string, limit: number): {
4
+ files: string[];
5
+ truncated: boolean;
6
+ };
7
+ export declare function createDesktopFilePicker(): import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<FilePickerApi, {}>;
8
+ declare const _default: import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<FilePickerApi, {}>;
9
+ export default _default;
@@ -0,0 +1,84 @@
1
+ import { AkanNativeError, type FileRef, type Plugin } from "../../../packages/core/src/index.ts";
2
+ /** A file the user picked: a copy served by the host (web: a blob: URL of the browser's File). */
3
+ export interface PickedFile extends FileRef {
4
+ /** The file's name as the user saw it, e.g. "Invoice.pdf". Never a path. */
5
+ name: string;
6
+ }
7
+ export interface DirectoryFile extends PickedFile {
8
+ /** Relative to the picked folder, "/"-separated, e.g. "2026/March/receipt.pdf". */
9
+ path: string;
10
+ }
11
+ export interface PickFilesOptions {
12
+ /**
13
+ * Allowed types: MIME types ("application/pdf", "image/*") or extensions ("pdf", ".csv").
14
+ * Omitted, empty or "*\/*": any file. A type the platform cannot map turns the filter off rather
15
+ * than hide files the user may be looking for.
16
+ */
17
+ types?: string[];
18
+ /** Let the user pick more than one file. Default false. */
19
+ multiple?: boolean;
20
+ }
21
+ export interface SaveFileOptions {
22
+ /** Suggested file name; the user can change it (the result says what was chosen, where known). */
23
+ name: string;
24
+ /** Text, or base64 with encoding: "base64". */
25
+ data?: string;
26
+ /** Default "utf8". */
27
+ encoding?: "utf8" | "base64";
28
+ /** Instead of data: a FileRef of this session (camera, filesystem.readFile, pickFiles) or a blob:/data:/same-origin URL. */
29
+ url?: string;
30
+ /** MIME type of the content (Android files the document under it). Default: from the name's extension. */
31
+ mime?: string;
32
+ }
33
+ export interface SaveFileResult {
34
+ /** False when the user closed the dialog. On the web without showSaveFilePicker this is true once the download started. */
35
+ saved: boolean;
36
+ /** The name the file was saved under, when the platform tells (it may differ from the suggestion). */
37
+ name?: string;
38
+ }
39
+ export interface PickDirectoryOptions {
40
+ /** Most files to return (1–10000, default 1000); `truncated` tells whether there were more. */
41
+ limit?: number;
42
+ }
43
+ export interface PickDirectoryResult {
44
+ /** The folder's name; null when the user closed the dialog. */
45
+ name: string | null;
46
+ /** Every file inside, recursively, as copies; hidden files and folders (".*") are left out. */
47
+ files: DirectoryFile[];
48
+ truncated: boolean;
49
+ }
50
+ /**
51
+ * System file dialogs.
52
+ * - pickFiles: UIDocumentPickerViewController (iOS, as copies), ACTION_OPEN_DOCUMENT (Android, copied
53
+ * into the app cache), an NSOpenPanel sheet on the calling window (macOS), <input type=file> (web).
54
+ * - saveFile: the export picker (iOS), ACTION_CREATE_DOCUMENT (Android), an NSSavePanel sheet
55
+ * (macOS), showSaveFilePicker or a download (web).
56
+ * - pickDirectory: a read-only snapshot of a folder the user picks: its files, copied like pickFiles.
57
+ * Results are copies registered as FileRefs; no absolute path reaches the page. Closing a dialog
58
+ * resolves (`files: []`, `saved: false`, `name: null`); a second dialog while one is open rejects
59
+ * CANCELLED. On the web call these from a click handler, before any await (user activation).
60
+ */
61
+ export interface FilePickerApi {
62
+ pickFiles(options?: PickFilesOptions): Promise<{
63
+ files: PickedFile[];
64
+ }>;
65
+ saveFile(options: SaveFileOptions): Promise<SaveFileResult>;
66
+ pickDirectory(options?: PickDirectoryOptions): Promise<PickDirectoryResult>;
67
+ }
68
+ export type FilePicker = Plugin<FilePickerApi>;
69
+ export declare const filePicker: FilePicker;
70
+ export interface UseFilePicker {
71
+ supported: {
72
+ pickFiles: boolean;
73
+ saveFile: boolean;
74
+ pickDirectory: boolean;
75
+ };
76
+ pending: boolean;
77
+ /** Last failure. Closing a dialog is not a failure. */
78
+ error: AkanNativeError | null;
79
+ /** These resolve null on failure (see `error`). */
80
+ pickFiles(options?: PickFilesOptions): Promise<PickedFile[] | null>;
81
+ saveFile(options: SaveFileOptions): Promise<SaveFileResult | null>;
82
+ pickDirectory(options?: PickDirectoryOptions): Promise<PickDirectoryResult | null>;
83
+ }
84
+ export declare function useFilePicker(): UseFilePicker;
@@ -0,0 +1,6 @@
1
+ import type { FilePickerApi, PickDirectoryResult } from "./index.ts";
2
+ /** The accept attribute: MIME types as they are, extensions with a dot. */
3
+ export declare function acceptAttribute(types: string[]): string;
4
+ /** What pickDirectory makes of the files an <input webkitdirectory> returns. */
5
+ export declare function directoryResult(files: File[], limit: number): PickDirectoryResult;
6
+ export declare const web: import("../../../packages/core/src/plugin.ts").WebPlugin<FilePickerApi, {}>;
@@ -0,0 +1 @@
1
+ export * from "./src/index.d.ts";
@@ -0,0 +1,49 @@
1
+ import { AkanNativeError, type CallScope } from "../../../packages/core/src/index.ts";
2
+ import type { BaseDirectory, Encoding, EntryType } from "./index.ts";
3
+ export declare const BASES: readonly BaseDirectory[];
4
+ export declare const invalid: (message: string) => AkanNativeError;
5
+ export declare function checkObject(args: unknown, what?: string): Record<string, unknown>;
6
+ export declare function checkBase(base: unknown, key?: string): BaseDirectory;
7
+ /**
8
+ * A path relative to a base directory, as segments. Only "/" separates segments; "" and "."
9
+ * segments are dropped. Rejected: absolute paths, "..", backslashes and NUL, so a path can never
10
+ * leave its base by its spelling (tauri/crates/tauri/src/path/mod.rs:47 SafePathBuf rejects any
11
+ * ParentDir component the same way). Symbolic links are checked separately, after resolving.
12
+ * `allowRoot`: whether "" (the base itself) is acceptable, e.g. for readDir.
13
+ */
14
+ export declare function checkPath(path: unknown, allowRoot: boolean, key?: string): string[];
15
+ /**
16
+ * PL-11: the app's capabilities may limit filesystem calls to scopes { base?, path? } (globs; the
17
+ * path is relative to the base with "/" separators; an allowed wildcard never matches a dot file).
18
+ * `fold`: the base is on a case-insensitive volume. Throws NOT_ALLOWED outside the call's scope.
19
+ */
20
+ export declare function checkScope(scope: CallScope | undefined, base: BaseDirectory, segments: string[], fold?: boolean): void;
21
+ export declare function checkEncoding(encoding: unknown, allowNone: boolean): Encoding | undefined;
22
+ export declare function checkFlag(value: unknown, key: string): boolean;
23
+ /**
24
+ * A FileRef served by the host: "/__akan_native/file/<id>", absolute on the app origin, or null. The origin
25
+ * is the shell's (`__AKAN_NATIVE__.origin`); without one (the desktop plugin host, tests) either shell origin.
26
+ */
27
+ export declare function fileRefId(url: string, origin?: string | undefined): string | null;
28
+ export declare function checkBase64(data: string): void;
29
+ export declare function bytesToBase64(bytes: Uint8Array): string;
30
+ export declare function base64ToBytes(data: string): Uint8Array;
31
+ export declare const decodeUtf8: (bytes: Uint8Array) => string;
32
+ export declare const encodeUtf8: (text: string) => Uint8Array<ArrayBuffer>;
33
+ /** Content to write: text or base64 `data`, or a `url` to copy from. Exactly one. */
34
+ export type WriteSource = {
35
+ kind: "data";
36
+ data: string;
37
+ encoding: Encoding;
38
+ } | {
39
+ kind: "url";
40
+ url: string;
41
+ };
42
+ export declare function checkWriteSource(args: Record<string, unknown>): WriteSource;
43
+ export { mimeFor } from "../../../packages/core/src/index.ts";
44
+ export declare function sortEntries<T extends {
45
+ name: string;
46
+ }>(entries: T[]): T[];
47
+ /** Runs tasks one after another in call order, so un-awaited calls (e.g. append chunks) land in order. */
48
+ export declare function serialQueue(): <T>(task: () => Promise<T> | T) => Promise<T>;
49
+ export type { EntryType };
@@ -0,0 +1,8 @@
1
+ import { type DesktopContext } from "../../../packages/desktop/src/plugin.ts";
2
+ import type { BaseDirectory, FilesystemApi } from "./index.ts";
3
+ type Dirs = Record<BaseDirectory, string>;
4
+ /** The base folders for an app. Windows and Linux are unverified until those milestones. */
5
+ export declare function baseDirs(ctx: Pick<DesktopContext, "app" | "appDataDir">, platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv, home?: string, tmp?: string): Dirs;
6
+ export declare function createDesktopFilesystem(dirsFor?: (ctx: DesktopContext) => Dirs): import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<FilesystemApi, {}>;
7
+ declare const _default: import("../../../packages/desktop/src/plugin.ts").DesktopPlugin<FilesystemApi, {}>;
8
+ export default _default;
@@ -0,0 +1,123 @@
1
+ import { type FileRef, type Plugin } from "../../../packages/core/src/index.ts";
2
+ /**
3
+ * Where a path lives. Paths are always relative to one of these; absolute paths and ".." are
4
+ * rejected with INVALID_ARGS, and symbolic links that lead outside the base with PERMISSION_DENIED.
5
+ *
6
+ * | base | macOS | iOS | Android | web (OPFS) |
7
+ * |-----------|-----------------------------------------|------------------------------------|------------------------------------------------|------------|
8
+ * | data | ~/Library/Application Support/<id>/files | Library/Application Support/files | files/ (Context.filesDir) | /data |
9
+ * | cache | ~/Library/Caches/<id>/files | Library/Caches/files | cache/files | /cache |
10
+ * | documents | ~/Documents | Documents | Android/data/<id>/files/Documents (external) | /documents |
11
+ * | temp | $TMPDIR/<id>/files | tmp/files | cache/temp | /temp |
12
+ *
13
+ * - data: kept until the app is removed, included in device backups.
14
+ * - cache, temp: the OS may delete them when storage runs low (iOS, Android) or at any time the app
15
+ * is not running (iOS tmp). Not backed up.
16
+ * - documents: user-visible documents. On macOS the first access asks the user for the Documents
17
+ * folder (TCC). On iOS the Files app shows it only if the app's Info.plist sets
18
+ * UIFileSharingEnabled and LSSupportsOpeningDocumentsInPlace. On Android it is the app's own
19
+ * external folder: no permission, removed with the app.
20
+ * - web: the origin private file system (navigator.storage.getDirectory()), one folder per base.
21
+ */
22
+ export type BaseDirectory = "data" | "cache" | "documents" | "temp";
23
+ export type Encoding = "utf8" | "base64";
24
+ export type EntryType = "file" | "directory" | "symlink" | "other";
25
+ export interface PathOptions {
26
+ /** Relative to `base`, "/"-separated, e.g. "notes/today.txt". */
27
+ path: string;
28
+ base: BaseDirectory;
29
+ }
30
+ export interface ReadFileOptions extends PathOptions {
31
+ /**
32
+ * "utf8" returns the text, "base64" the bytes as base64. Without an encoding the file is not
33
+ * sent over the bridge at all: the result is a FileRef whose `url` serves the file (fetch it,
34
+ * or use it as an <img>/<video> src), which is the way to read large or binary files.
35
+ */
36
+ encoding?: Encoding;
37
+ }
38
+ export type WriteFileOptions = PathOptions & {
39
+ /** Add to the end of the file instead of replacing it. Replacing writes are atomic (temp file + rename). */
40
+ append?: boolean;
41
+ /** Create missing parent folders. Without it a missing parent rejects NOT_FOUND. */
42
+ recursive?: boolean;
43
+ } & ({
44
+ /** Text, or base64 with encoding: "base64". For large binary content write base64 chunks with append. */
45
+ data: string;
46
+ /** Default "utf8". */
47
+ encoding?: Encoding;
48
+ url?: never;
49
+ } | {
50
+ /**
51
+ * Copy the content of this URL: a FileRef of this session (camera.takePhoto, file-picker,
52
+ * readFile), or a blob:, data: or same-origin URL, which the page fetches first.
53
+ */
54
+ url: string;
55
+ data?: never;
56
+ encoding?: never;
57
+ });
58
+ export interface FileInfo {
59
+ /** Symbolic links are followed by stat and reported as "symlink" by readDir. */
60
+ type: EntryType;
61
+ /** Bytes; 0 for folders. */
62
+ size: number;
63
+ /** Last modification, ms since the epoch (like Date.now()). 0 where unknown (OPFS folders). */
64
+ mtime: number;
65
+ }
66
+ export interface DirEntry extends FileInfo {
67
+ name: string;
68
+ }
69
+ export interface MoveOptions {
70
+ from: string;
71
+ to: string;
72
+ /** Base of `from`, and of `to` unless `toBase` is given. */
73
+ base: BaseDirectory;
74
+ toBase?: BaseDirectory;
75
+ }
76
+ export interface FilesystemApi {
77
+ readFile(options: PathOptions & {
78
+ encoding: Encoding;
79
+ }): Promise<{
80
+ data: string;
81
+ }>;
82
+ readFile(options: PathOptions & {
83
+ encoding?: undefined;
84
+ }): Promise<FileRef>;
85
+ readFile(options: ReadFileOptions): Promise<{
86
+ data: string;
87
+ } | FileRef>;
88
+ /** Creates or replaces the file (or appends to it). Parent folders must exist unless `recursive`. */
89
+ writeFile(options: WriteFileOptions): Promise<void>;
90
+ /** Entries of a folder ("" is the base itself), sorted by name. */
91
+ readDir(options: PathOptions): Promise<{
92
+ entries: DirEntry[];
93
+ }>;
94
+ stat(options: PathOptions): Promise<FileInfo>;
95
+ exists(options: PathOptions): Promise<{
96
+ value: boolean;
97
+ }>;
98
+ /** Without `recursive` the parent must exist and the folder must not (INVALID_ARGS). */
99
+ mkdir(options: PathOptions & {
100
+ recursive?: boolean;
101
+ }): Promise<void>;
102
+ /** Removes a file, a symbolic link (not its target) or a folder; non-empty folders need `recursive`. */
103
+ remove(options: PathOptions & {
104
+ recursive?: boolean;
105
+ }): Promise<void>;
106
+ /**
107
+ * Moves a file or folder, also across bases (copy + remove where the bases are on different
108
+ * volumes). An existing file at `to` is replaced; an existing folder rejects INVALID_ARGS.
109
+ */
110
+ rename(options: MoveOptions): Promise<void>;
111
+ /** Copies a file, or a folder with everything in it. Same rules for `to` as rename. */
112
+ copy(options: MoveOptions): Promise<void>;
113
+ /** Absolute locations of the bases, for display and logs only; other methods take relative paths. */
114
+ paths(): Promise<Record<BaseDirectory, string>>;
115
+ }
116
+ /**
117
+ * The iOS bridge parses requests with JSONSerialization, which drops a U+FEFF (byte order mark) at
118
+ * the start of any string value (verified). Such text goes as base64 there, so the bytes on disk are
119
+ * the ones written everywhere.
120
+ */
121
+ export declare function protectLeadingBom(options: WriteFileOptions): WriteFileOptions;
122
+ export type Filesystem = Plugin<FilesystemApi>;
123
+ export declare const filesystem: Filesystem;