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,278 @@
1
+ /** A scope entry (PL-11): field → glob, e.g. { base: "documents", path: "exports/**" } or { url: "https://example.com/*" }. */
2
+ export type ScopeEntry = Record<string, string>;
3
+ /** A permission with scopes: the plugin enforces them for the calls this permission allows. */
4
+ export interface CapabilityPermission {
5
+ identifier: string;
6
+ allow?: ScopeEntry[];
7
+ deny?: ScopeEntry[];
8
+ }
9
+ /**
10
+ * Plugin permissions for some windows and platforms (PL-11, Tauri capability style). Identifiers:
11
+ * "<plugin>:default", "<plugin>:all", "<plugin>:allow-<method>", "<plugin>:deny-<method>",
12
+ * "<plugin>:allow-listen-<event>", "<plugin>:deny-listen-<event>", "<plugin>:<set>" (from the
13
+ * plugin's manifest), and "core:deny-print". Anything not granted is refused with NOT_ALLOWED;
14
+ * a deny wins over every grant, in every window.
15
+ */
16
+ export interface Capability {
17
+ /** Lowercase letters, digits and "-", unique. */
18
+ identifier: string;
19
+ description?: string;
20
+ /** Desktop windows: "main" (the first window), window ids, or "*". Default every window. */
21
+ windows?: ("main" | number | "*")[];
22
+ /** Default every platform. */
23
+ platforms?: ("web" | "macos" | "windows" | "linux" | "ios" | "android")[];
24
+ permissions: (string | CapabilityPermission)[];
25
+ }
26
+ /** A value of an Info.plist or entitlements entry. */
27
+ export type NativeValue = string | number | boolean | NativeValue[] | {
28
+ [key: string]: NativeValue;
29
+ };
30
+ export interface AkanNativeConfig {
31
+ app: {
32
+ /** Reverse-DNS id, used as bundle id / application id. */
33
+ id: string;
34
+ /**
35
+ * Display name: the .app folder, the Windows install folder and shortcuts, CFBundleDisplayName,
36
+ * the Android label. Any language; no control characters, no / \ : * ? " < > |, no leading or
37
+ * trailing spaces or trailing dot, not a Windows device name (CON, NUL, COM1 …).
38
+ */
39
+ name: string;
40
+ /**
41
+ * File name for executables, the Swift module and archives: letters, digits, ".", "_" and "-".
42
+ * Default: the last part of `id` ("com.example.notes" → "notes"). Identifiers (data folders,
43
+ * the Windows uninstall key and AUMID, the Linux desktop file) always come from `id`.
44
+ */
45
+ fileName?: string;
46
+ /** Marketing version, e.g. "1.2.0". */
47
+ version: string;
48
+ /** Integer build number. Default 1. `akan-native build --build <n>` or AKAN_NATIVE_BUILD overrides it for one build. */
49
+ build?: number;
50
+ };
51
+ web: {
52
+ /** Folder with the built SPA: index.html (JS inlined) plus any static files such as public/ assets. */
53
+ dir: string;
54
+ /** Command that produces `dir`, run by `akan-native build` in the app folder. Optional. */
55
+ build?: string;
56
+ /** Path prefix for web deployments under a sub-path. Default "/". Apps always use "/". */
57
+ base?: string;
58
+ /**
59
+ * The source HTML that `akan-native dev <platform> --hmr` hands to Bun's dev server (React Fast
60
+ * Refresh), relative to the app folder: the file whose `<script type="module" src>` points at
61
+ * the app's entry, like the one `web.build` bundles. Default "index.html".
62
+ */
63
+ devEntry?: string;
64
+ };
65
+ /** Plugin packages (or relative folders) that contain an native-plugin.json (PL-3). */
66
+ plugins?: string[];
67
+ /**
68
+ * What the plugins may do, per window and platform (PL-11). Without it every plugin listed in
69
+ * `plugins` gets its default permissions (usually everything it offers).
70
+ */
71
+ capabilities?: Capability[];
72
+ env?: {
73
+ /** Lowest-precedence values. Only PUBLIC_ keys are passed to the app. */
74
+ defaults?: Record<string, string>;
75
+ /**
76
+ * Per-platform values (ENV-6), e.g. { android: { PUBLIC_API_URL: "http://10.0.2.2:8787" } }.
77
+ * They win over every shared value; .env.<platform> and .env.<mode>.<platform> win over them.
78
+ */
79
+ platforms?: Partial<Record<"web" | "macos" | "windows" | "linux" | "ios" | "android", Record<string, string>>>;
80
+ };
81
+ shell?: {
82
+ /** Painted before the page loads, to avoid a white flash (SH-3). */
83
+ backgroundColor?: string;
84
+ backgroundColorDark?: string;
85
+ };
86
+ /** Overrides for permission usage texts, e.g. { NSCameraUsageDescription: "..." }. */
87
+ usageDescriptions?: Record<string, string>;
88
+ /**
89
+ * The app's part of the iOS privacy manifest (PrivacyInfo.xcprivacy, required for App Store
90
+ * uploads). The Required Reason APIs of akan-native's shell and plugins are added by the build; list here
91
+ * what the app's own data practices are.
92
+ */
93
+ privacy?: {
94
+ /** NSPrivacyTracking. Default false. */
95
+ tracking?: boolean;
96
+ /** NSPrivacyTrackingDomains. */
97
+ trackingDomains?: string[];
98
+ /** NSPrivacyCollectedDataTypes, as Apple's dictionaries (NSPrivacyCollectedDataType, …Linked, …Tracking, …Purposes). */
99
+ collectedDataTypes?: Record<string, string | boolean | string[]>[];
100
+ /** Extra Required Reason APIs the app's own native code calls, e.g. { "DiskSpace": ["E174.1"] }. */
101
+ accessedApis?: Record<string, string[]>;
102
+ };
103
+ /**
104
+ * Permissions for web APIs used without a plugin (plugins.md C8): getUserMedia needs camera or
105
+ * microphone, navigator.geolocation needs location. `true` or the usage text iOS/macOS show,
106
+ * e.g. { microphone: "Record voice notes." }. Adds the Info.plist texts and Android permissions.
107
+ */
108
+ permissions?: {
109
+ camera?: string | true;
110
+ microphone?: string | true;
111
+ location?: string | true;
112
+ };
113
+ /**
114
+ * Over-the-air updates (UP-2 web bundles on iOS / Android, UP-1 app updates on macOS), used by
115
+ * @akanjs/native/plugins/updates. `akan-native update keygen` makes the signing key and prints `publicKey`;
116
+ * `akan-native update publish <platform>` writes signed releases for `url`.
117
+ */
118
+ updates?: {
119
+ url: string;
120
+ publicKey: string;
121
+ channel?: string;
122
+ readyTimeout?: number;
123
+ };
124
+ /** Links that open the app, delivered through the app plugin's urlOpen (and getLaunchUrl). */
125
+ deepLinks?: {
126
+ /** Custom URL schemes (myapp://...). */
127
+ schemes?: string[];
128
+ /**
129
+ * https links of these hosts (akanjs readiness O5-2): iOS universal links (associated-domains
130
+ * "applinks:<host>") and Android app links (a verified intent filter per host). The site must
131
+ * serve /.well-known/apple-app-site-association and /.well-known/assetlinks.json for the app;
132
+ * Android debug builds carry android.debugAppIdSuffix in their id. pathPrefixes limit Android's
133
+ * filter (iOS takes the paths from the site's file).
134
+ */
135
+ domains?: (string | {
136
+ host: string;
137
+ pathPrefixes?: string[];
138
+ })[];
139
+ };
140
+ /**
141
+ * Native settings beyond what plugins declare (akanjs readiness O5, architecture review F): merged
142
+ * last, over the shell's and the plugins' (arrays union, dictionaries merged, the app's values win).
143
+ */
144
+ native?: {
145
+ ios?: {
146
+ /** Info.plist entries. Keys akan-native owns (bundle id, executable, versions, minimum OS) cannot be set. */
147
+ infoPlist?: Record<string, NativeValue>;
148
+ /** Entitlements (e.g. keychain-access-groups). associated-domains comes from deepLinks.domains. */
149
+ entitlements?: Record<string, NativeValue>;
150
+ };
151
+ android?: {
152
+ /** XML at the <manifest> level (uses-permission, queries, …). ${applicationId} is replaced. */
153
+ manifest?: string[];
154
+ /** XML inside <application> (meta-data, services, receivers, providers). */
155
+ application?: string[];
156
+ /** XML inside the app's activity (intent filters). */
157
+ activity?: string[];
158
+ };
159
+ /**
160
+ * Files copied into the app. `to` is a logical place: "ios/<path>" (the app bundle), "android/res/<type>/<file>"
161
+ * (a resource, e.g. android/res/raw/chime.mp3), or "android/assets/<path>". `from` is relative to the app folder.
162
+ */
163
+ resources?: {
164
+ from: string;
165
+ to: string;
166
+ }[];
167
+ };
168
+ security?: {
169
+ /**
170
+ * Content-Security-Policy for index.html (SEC-4). "strict" is akan-native's recommended policy
171
+ * (`STRICT_CSP` in packages/cli/src/lib/csp.ts: same origin only, plus blob:/data: images and
172
+ * media); a string or a directive map is used as given, e.g. `{ "default-src": "'self'", "connect-src":
173
+ * ["'self'", "https://api.example.com"] }`. The build adds the hashes of index.html's inline scripts and
174
+ * styles and puts the policy in a <meta> tag. Default: no policy.
175
+ */
176
+ csp?: "strict" | string | Record<string, string | string[]>;
177
+ /** The shell's own policy (L0, docs/architecture.md "보안 계층"). */
178
+ shell?: {
179
+ /**
180
+ * Schemes, besides http, https, mailto and tel, that links, window.open and the opener may
181
+ * hand to the OS (e.g. "sms", another app's "otherapp"). javascript, file, data, blob, about,
182
+ * content, intent and app can never be added.
183
+ */
184
+ externalSchemes?: string[];
185
+ };
186
+ };
187
+ android?: {
188
+ /**
189
+ * The oldest WebView (Chromium major) the page runs on. On an older one the shell shows its own
190
+ * "update Android System WebView" screen instead of a page that cannot parse. Default 94, what
191
+ * akan-native's runtime and unlowered ES2022 syntax (class static blocks) need; raise it for newer syntax
192
+ * or APIs the bundle uses. Android 10+ devices with Google Play update WebView themselves.
193
+ */
194
+ minWebViewVersion?: number;
195
+ /**
196
+ * Appended to app.id in debug builds (e.g. ".debug"), so a debug build installs next to the
197
+ * release app. Deep links and app links must list the suffixed id for debug builds.
198
+ */
199
+ debugAppIdSuffix?: string;
200
+ /**
201
+ * The Firebase project's google-services.json (relative to the app folder), for the push plugin's
202
+ * FCM module: its values become the string resources Firebase initializes from, as the
203
+ * google-services Gradle plugin makes them (google_app_id, gcm_defaultSenderId, google_api_key, …).
204
+ */
205
+ googleServices?: string;
206
+ };
207
+ /** Remote notifications (the push plugin). */
208
+ push?: {
209
+ android?: {
210
+ /**
211
+ * The channel pushes arrive in: Firebase's default channel for messages that name none (while
212
+ * the app is not in front) and the plugin's own notifications in front. Default: Firebase's
213
+ * "Miscellaneous" channel in the background and "Notifications" in front.
214
+ */
215
+ channel?: {
216
+ id: string;
217
+ name: string;
218
+ importance?: "min" | "low" | "default" | "high";
219
+ description?: string;
220
+ };
221
+ /**
222
+ * The status bar icon: a white-on-transparent PNG (Android shows only its alpha), ideally
223
+ * 96×96. Default: the app icon, which shows as a gray square.
224
+ */
225
+ smallIcon?: string;
226
+ /** The notification's accent color, e.g. "#1a73e8". */
227
+ color?: string;
228
+ };
229
+ };
230
+ /**
231
+ * What the soft keyboard does to the page from the first frame (akanjs readiness O6-1): "resize"
232
+ * (default) shrinks the page by the keyboard, "none" lets it cover the page. keyboard.setResizeMode()
233
+ * changes it at run time.
234
+ */
235
+ keyboard?: {
236
+ resize?: "resize" | "none";
237
+ };
238
+ ios?: {
239
+ /** Hide the bar with previous / next / Done above the keyboard for form fields. Default false. */
240
+ hideFormAccessoryBar?: boolean;
241
+ };
242
+ desktop?: {
243
+ /**
244
+ * Closing the window quits the app (after app.onBeforeQuit handlers). With false, closing only
245
+ * hides the window: the app keeps running, a Dock click shows it again, Cmd+Q quits. Default true.
246
+ */
247
+ quitOnLastWindowClosed?: boolean;
248
+ };
249
+ /**
250
+ * App icon for every platform, generated from one square PNG, ideally 1024×1024 (CLI-8).
251
+ * Full-bleed icons work best: iOS and Android mask the corners, macOS gets its rounded grid.
252
+ * `backgroundColor` fills transparent areas where a platform needs an opaque icon (iOS, the
253
+ * Android adaptive icon background). Default: the top-left pixel of an opaque icon, else white.
254
+ * Without an icon the platforms show their placeholder icon.
255
+ */
256
+ icon?: string | {
257
+ image: string;
258
+ backgroundColor?: string;
259
+ };
260
+ /** Launch screen on iOS and Android (SH-6). Desktop windows stay hidden until the first page load instead. */
261
+ splash?: {
262
+ /** Default: shell.backgroundColor / shell.backgroundColorDark. */
263
+ backgroundColor?: string | {
264
+ light: string;
265
+ dark: string;
266
+ };
267
+ /**
268
+ * PNG shown centered, fitted into 136×136 pt (iOS) / dp (Android). Without it Android shows
269
+ * the app icon (the platform default) and iOS only the color.
270
+ */
271
+ image?: string;
272
+ /** Hide when the first page load finishes. With false, call splash.hide() (@akanjs/native/plugins/splash-screen). Default true. */
273
+ autoHide?: boolean;
274
+ /** Hide after this many milliseconds at the latest, with a warning. Default 10000. */
275
+ timeout?: number;
276
+ };
277
+ }
278
+ export declare function defineConfig(config: AkanNativeConfig): AkanNativeConfig;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env bun
2
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { Platform, ResolvedAcl } from "../../../core/src/index.ts";
2
+ import type { Capability } from "../config.ts";
3
+ import type { PluginManifest, ResolvedPlugin } from "./project.ts";
4
+ export type { Capability, CapabilityPermission } from "../config.ts";
5
+ export interface PermissionSet {
6
+ description?: string;
7
+ /** Local identifiers: allow-*, allow-listen-*, other set names, "all". */
8
+ permissions: string[];
9
+ }
10
+ /** Problems in a plugin manifest's permission fields (checked when the plugin is loaded). */
11
+ export declare function manifestPermissionProblems(manifest: PluginManifest): string[];
12
+ /**
13
+ * Checks the app's capabilities against the registered plugins and resolves them for one platform.
14
+ * Throws a CliError listing every problem.
15
+ */
16
+ export declare function resolveAcl(capabilities: Capability[] | undefined, plugins: ResolvedPlugin[], platform: Platform): ResolvedAcl;
17
+ /**
18
+ * Scopes that build but likely do not say what the app meant. A URL deny written for https:// only
19
+ * leaves the same host open over http:// (and a URL field matches the scheme exactly).
20
+ */
21
+ export declare function aclWarnings(acl: ResolvedAcl, plugins: ResolvedPlugin[]): string[];
@@ -0,0 +1,40 @@
1
+ export interface ApiClass {
2
+ since: number;
3
+ supers: string[];
4
+ members: Map<string, number>;
5
+ }
6
+ export type ApiVersions = Map<string, ApiClass>;
7
+ /** Reads api-versions.xml (one element per line, as the SDK ships it). */
8
+ export declare function loadApiVersions(path: string): ApiVersions;
9
+ export interface ClassInfo {
10
+ name: string;
11
+ superName: string | null;
12
+ interfaces: string[];
13
+ /** Classes named in the constant pool (array types stripped). */
14
+ classes: string[];
15
+ /** Field and method references: owner, name, descriptor. */
16
+ members: {
17
+ owner: string;
18
+ name: string;
19
+ descriptor: string;
20
+ field: boolean;
21
+ }[];
22
+ /** Interfaces an invokedynamic call site produces (lambdas turned into framework interfaces). */
23
+ lambdaTypes: string[];
24
+ }
25
+ /** The parts of a class file this check needs: the constant pool, this class, its supertypes. */
26
+ export declare function readClass(bytes: Uint8Array): ClassInfo;
27
+ /** The API level a class may use: minSdk, a plugin package's minSdk, or N for an `ApiN` class. */
28
+ export declare function allowedLevel(className: string, minSdk: number, packageLevels?: [prefix: string, level: number][]): number;
29
+ export interface ApiProblem {
30
+ className: string;
31
+ what: string;
32
+ since: number;
33
+ allowed: number;
34
+ }
35
+ /** Checks every class of a jar. */
36
+ export declare function checkApiLevels(jar: Uint8Array, api: ApiVersions, minSdk: number, packageLevels?: [string, number][]): ApiProblem[];
37
+ /** One line per problem, grouped by class, for a build error. */
38
+ export declare function formatApiProblems(problems: ApiProblem[], minSdk: number): string;
39
+ /** api-versions.xml of the SDK platform that android.jar belongs to, when the SDK has it. */
40
+ export declare function apiVersionsFor(androidJar: string): string | null;
@@ -0,0 +1,36 @@
1
+ interface Entry {
2
+ name: string;
3
+ method: 0 | 8;
4
+ crc: number;
5
+ compressedSize: number;
6
+ size: number;
7
+ data: Uint8Array;
8
+ }
9
+ export declare function readZip(buf: Uint8Array): Entry[];
10
+ export declare function fileEntry(name: string, bytes: Uint8Array, store: boolean): Entry;
11
+ export declare function writeZip(entries: Entry[]): Uint8Array;
12
+ export interface ApkInput {
13
+ /** aapt2 link output (manifest + resources, no assets). */
14
+ base: Uint8Array;
15
+ /** classes.dex, classes2.dex, ... in order. */
16
+ dex: Uint8Array[];
17
+ /** Folder whose content goes under assets/. */
18
+ assetsDir: string;
19
+ /**
20
+ * More files by their path in the APK (O8): lib/<abi>/*.so of pinned libraries (compressed: the
21
+ * installer extracts them, extractNativeLibs is not set) and META-INF/services/* for ServiceLoader.
22
+ */
23
+ extra?: {
24
+ name: string;
25
+ bytes: Uint8Array;
26
+ }[];
27
+ }
28
+ export declare function assembleApk({ base, dex, assetsDir, extra }: ApkInput): Uint8Array;
29
+ /**
30
+ * The base module of an Android App Bundle (akanjs readiness O1-5), for `bundletool build-bundle
31
+ * --modules`: aapt2's --proto-format output with its manifest under manifest/ (resources.pb and res/
32
+ * stay at the root), the dex files under dex/ and the assets under assets/. bundletool decides the
33
+ * APKs' compression and alignment itself.
34
+ */
35
+ export declare function assembleBundleModule({ base, dex, assetsDir, extra }: ApkInput): Uint8Array;
36
+ export {};
@@ -0,0 +1,9 @@
1
+ export interface ParsedArgs {
2
+ positional: string[];
3
+ flags: Record<string, string | true>;
4
+ }
5
+ /** Parses `a b --flag value --bool --key=value`. A flag followed by another flag or nothing is boolean. */
6
+ export declare function parseArgs(argv: string[], booleanFlags?: readonly string[]): ParsedArgs;
7
+ /** Rejects flags a command does not know (a typo would otherwise be ignored, e.g. --relase). */
8
+ export declare function checkFlags(args: ParsedArgs, known: readonly string[], usage: string): void;
9
+ export declare function stringFlag(args: ParsedArgs, name: string): string | undefined;
@@ -0,0 +1,32 @@
1
+ import type { Platform, PluginDecl, ResolvedAcl } from "../../../core/src/index.ts";
2
+ import { type NativePlatform } from "./native-plugins.ts";
3
+ import type { BuildContext } from "./prepare.ts";
4
+ import type { Project, ResolvedConfig } from "./project.ts";
5
+ export { INIT_PREFIX, INIT_SUFFIX, renderInitScript } from "../../../core/src/protocol.ts";
6
+ export interface BootData {
7
+ v: 1;
8
+ platform: Platform;
9
+ runtimeVersion: string;
10
+ dev: boolean;
11
+ app: {
12
+ id: string;
13
+ name: string;
14
+ version: string;
15
+ build: number;
16
+ };
17
+ plugins: Record<string, PluginDecl>;
18
+ /** Resolved capabilities (PL-11): the host enforces them before dispatching a call. */
19
+ acl?: ResolvedAcl;
20
+ /** Native builds: what web bundles this binary can run (UP-3, lib/compat.ts). */
21
+ nativeApi?: string;
22
+ /** Native builds: what the hosts speak beyond bridge protocol v1 (architecture.md §4). */
23
+ bridge?: {
24
+ features: string[];
25
+ };
26
+ }
27
+ /** Without `project` there is no ACL (everything allowed), as in unit tests of other parts. */
28
+ export declare function makeBoot(config: ResolvedConfig, platform: Platform, plugins: Record<string, PluginDecl>, dev: boolean, project?: Project): BootData;
29
+ /** boot.json of a native build, with <outDir>/bundle.json written next to the build (UP-3). */
30
+ export declare function makeNativeBoot(ctx: BuildContext, platform: NativePlatform): BootData;
31
+ /** The runtime version (UP-3, packages/core/src/version.ts). */
32
+ export declare function runtimeVersion(): string;
@@ -0,0 +1,6 @@
1
+ export declare function findChrome(): string;
2
+ /** Opens `url` in a fresh headless profile and forwards console lines and exceptions. */
3
+ export declare function openHeadless(url: string, onLine: (line: string) => void): Promise<{
4
+ stop(): void;
5
+ exited: Promise<number>;
6
+ }>;
@@ -0,0 +1,94 @@
1
+ import type { PluginManifest, ResolvedPlugin } from "./project.ts";
2
+ import { type PluginSpec } from "./spec.ts";
3
+ export type GenType = {
4
+ t: "string" | "number" | "boolean" | "any";
5
+ } | {
6
+ t: "enum";
7
+ name: string;
8
+ } | {
9
+ t: "struct";
10
+ name: string;
11
+ } | {
12
+ t: "array";
13
+ of: GenType;
14
+ } | {
15
+ t: "map";
16
+ of: GenType;
17
+ };
18
+ export interface GenField {
19
+ /** The JSON key. */
20
+ name: string;
21
+ type: GenType;
22
+ /** `name?:` — may be missing; results leave it out when nil. */
23
+ optional: boolean;
24
+ /** `| null` — results write null when nil. */
25
+ nullable: boolean;
26
+ doc?: string;
27
+ }
28
+ export interface GenStruct {
29
+ name: string;
30
+ doc?: string;
31
+ fields: GenField[];
32
+ /** Extends FileRef: gets a constructor taking the runtime AkanNativeFileRef for url, mime and size. */
33
+ fileRef?: true;
34
+ }
35
+ export interface GenEnum {
36
+ name: string;
37
+ doc?: string;
38
+ values: string[];
39
+ }
40
+ export interface GenMethod {
41
+ name: string;
42
+ doc?: string;
43
+ /** Missing for methods without an argument. */
44
+ args?: string;
45
+ /** null for Promise<void>. */
46
+ result: {
47
+ type: GenType;
48
+ nullable: boolean;
49
+ } | null;
50
+ /** Set when the types cannot be generated: the method gets the raw AkanNativeCall. */
51
+ untyped?: string;
52
+ }
53
+ export interface GenEvent {
54
+ name: string;
55
+ doc?: string;
56
+ /** null when the payload type cannot be generated (the helper then takes Any). */
57
+ type: GenType | null;
58
+ nullable: boolean;
59
+ untyped?: string;
60
+ }
61
+ export interface GenModel {
62
+ pluginId: string;
63
+ /** PascalCase plugin id, the prefix of every generated name (all iOS plugins share one Swift module). */
64
+ prefix: string;
65
+ source: string;
66
+ structs: GenStruct[];
67
+ enums: GenEnum[];
68
+ methods: GenMethod[];
69
+ events: GenEvent[];
70
+ }
71
+ /**
72
+ * Resolves the spec's types into named structs and enums. `methods` / `events` limit the model to
73
+ * what a platform implements (the manifest's per-platform subset).
74
+ */
75
+ export declare function buildModel(spec: PluginSpec, pluginId: string, options?: {
76
+ methods?: string[];
77
+ events?: string[];
78
+ source?: string;
79
+ }): GenModel;
80
+ export declare function generateSwift(model: GenModel): string;
81
+ export declare function generateKotlin(model: GenModel, pkg: string): string;
82
+ /** Where the spec and the manifest disagree (method and event names, platform subsets). */
83
+ export declare function specProblems(manifest: PluginManifest, spec: PluginSpec): string[];
84
+ /** Methods and events whose types could not be generated, with the reason. */
85
+ export declare function untypedMembers(model: GenModel): string[];
86
+ /** The generated source for one plugin on one platform (file name relative to the gen folder). */
87
+ export declare function pluginBindings(plugin: ResolvedPlugin, platform: "ios" | "android", appDir: string): {
88
+ file: string;
89
+ text: string;
90
+ };
91
+ /** A Swift plugin class that conforms to the generated protocol, every method still to write. */
92
+ export declare function swiftStub(model: GenModel, className: string): string;
93
+ /** A Kotlin plugin class that implements the generated interface, every method still to write. */
94
+ export declare function kotlinStub(model: GenModel, pkg: string, className: string): string;
@@ -0,0 +1,49 @@
1
+ import type { Platform, PluginDecl, ResolvedAcl } from "../../../core/src/index.ts";
2
+ import type { Project } from "./project.ts";
3
+ export declare const BUNDLE_FILE = "bundle.json";
4
+ export interface NativeApi {
5
+ /** Bridge protocol version (architecture.md §4) and the v1.1 features the hosts speak. */
6
+ protocol: 1;
7
+ features: string[];
8
+ /** @akanjs/native/core major.minor, or major alone from 1.0 on (semver caret compatibility). */
9
+ runtime: string;
10
+ platform: Platform;
11
+ /** Every plugin the binary declares, with the package version of native implementations. */
12
+ plugins: Record<string, {
13
+ decl: PluginDecl;
14
+ version?: string;
15
+ }>;
16
+ /** The capabilities the binary enforces (PL-11). */
17
+ acl: ResolvedAcl | null;
18
+ /** App-level permissions (C8) and deep-link schemes the binary declares. */
19
+ permissions: string[];
20
+ deepLinks: string[];
21
+ }
22
+ export interface BundleInfo {
23
+ schema: 1;
24
+ app: {
25
+ id: string;
26
+ version: string;
27
+ build: number;
28
+ };
29
+ platform: Platform;
30
+ runtimeVersion: string;
31
+ nativeApi: {
32
+ hash: string;
33
+ inputs: NativeApi;
34
+ };
35
+ /** sha256 of the web files (index.html as served and public/), for update integrity later. */
36
+ web: {
37
+ hash: string;
38
+ files: number;
39
+ };
40
+ }
41
+ /** "0.1.4" → "0.1", "1.2.0" → "1". */
42
+ export declare function runtimeLine(version: string): string;
43
+ export declare function nativeApi(project: Project, platform: Platform, decls: Record<string, PluginDecl>, acl: ResolvedAcl | undefined, runtimeVersion: string): NativeApi;
44
+ export declare function nativeApiHash(api: NativeApi): string;
45
+ /** Why a bundle built against `bundle` cannot run in a binary that provides `installed` (empty: it can). */
46
+ export declare function compatProblems(installed: NativeApi, bundle: NativeApi): string[];
47
+ /** Writes <outDir>/bundle.json for a native build. */
48
+ export declare function writeBundleInfo(outDir: string, project: Project, platform: Platform, runtimeVersion: string, api: NativeApi, webDir: string, html: string): BundleInfo;
49
+ export declare function readBundleInfo(path: string): BundleInfo;
@@ -0,0 +1,2 @@
1
+ /** "unknown key deepLink (did you mean deepLinks?)" for every key the config should not have. */
2
+ export declare function unknownConfigKeys(config: unknown): string[];
@@ -0,0 +1,51 @@
1
+ export type CspDirectives = Record<string, string | string[]>;
2
+ /** "strict" is akan-native's recommended policy; a string or a directive map is used as given. */
3
+ export type CspConfig = "strict" | string | CspDirectives;
4
+ /**
5
+ * Everything an akan-native app needs and nothing else: the page, init.js, the bridge (desktop fetch to
6
+ * /__akan_native/ipc, Android /__akan_native/hello + MessagePort; iOS messageHandlers are outside CSP), FileRefs
7
+ * (/__akan_native/file/*), blob:/data: images and media (camera, file-picker, filesystem on the web), dev
8
+ * live reload (same-origin EventSource), fetch() of blob:/data: URLs (web FileRefs). Remote APIs,
9
+ * CDNs and fonts must be added by the app.
10
+ */
11
+ export declare const STRICT_CSP: Record<string, string[]>;
12
+ export declare function parseCsp(text: string): Map<string, string[]>;
13
+ export declare function serializeCsp(map: Map<string, string[]>): string;
14
+ /** The HTML parser turns CRLF and lone CR into LF before a script's text is hashed. */
15
+ export declare function normalizeForHash(text: string): string;
16
+ export declare function cspHash(text: string): string;
17
+ /**
18
+ * Inline <script> (without src) and <style> contents of a document. Like the HTML tokenizer, a
19
+ * script or style ends at the first `</script` / `</style`, so text in the bundle that merely
20
+ * mentions a tag does not start a new element (bundlers escape `</script` inside JS).
21
+ */
22
+ export declare function inlineBlocks(html: string): {
23
+ scripts: string[];
24
+ styles: string[];
25
+ };
26
+ /**
27
+ * The policy for this index.html: the configured directives plus hashes of its inline scripts
28
+ * and styles. A directive the app left out is derived from default-src first, so adding hashes
29
+ * never drops sources the app allowed. A directive with 'unsafe-inline' stays as it is: hashes
30
+ * would switch 'unsafe-inline' off (CSP2) and break inline styles the app relies on.
31
+ */
32
+ export declare function buildCsp(config: CspConfig, html: string): {
33
+ policy: string;
34
+ scripts: number;
35
+ styles: number;
36
+ warnings: string[];
37
+ };
38
+ export declare function validateCsp(raw: unknown): CspConfig | undefined;
39
+ /**
40
+ * Inserts the policy near the top of <head>: right after `<meta charset>` when there is one (so
41
+ * the charset stays in the first 1024 bytes a browser scans), else first. Either way it comes
42
+ * before the inlined styles and the bundle; only init.js may precede it, which 'self' allows.
43
+ */
44
+ export declare function injectCspMeta(html: string, policy: string): string;
45
+ /** True when the source index.html brings its own policy (left alone when security.csp is unset). */
46
+ export declare function hasCspMeta(html: string): boolean;
47
+ /**
48
+ * security.shell.externalSchemes (L0): lowercase URL schemes the shell may also hand to the OS.
49
+ * Schemes that reach local files, run script or name the app itself can never be added.
50
+ */
51
+ export declare function validateExternalSchemes(raw: unknown): string[];