@oxyhq/services 5.26.4 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (897) hide show
  1. package/README.md +113 -484
  2. package/lib/commonjs/index.js +82 -607
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/client.js +0 -7
  5. package/lib/commonjs/ui/client.js.map +1 -1
  6. package/lib/commonjs/ui/components/SignInModal.js +2 -2
  7. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  8. package/lib/commonjs/ui/context/OxyContext.js +13 -16
  9. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  10. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +6 -7
  11. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  12. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +2 -2
  13. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js.map +1 -1
  14. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js +7 -7
  15. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js.map +1 -1
  16. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +3 -3
  17. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -1
  18. package/lib/commonjs/ui/hooks/useDeviceManagement.js +2 -2
  19. package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +1 -1
  20. package/lib/commonjs/ui/hooks/useI18n.js +2 -2
  21. package/lib/commonjs/ui/hooks/useI18n.js.map +1 -1
  22. package/lib/commonjs/ui/hooks/useLanguageManagement.js +7 -7
  23. package/lib/commonjs/ui/hooks/useLanguageManagement.js.map +1 -1
  24. package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -3
  25. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  26. package/lib/commonjs/ui/hooks/useSessionSocket.js +9 -10
  27. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  28. package/lib/commonjs/ui/index.js +1 -11
  29. package/lib/commonjs/ui/index.js.map +1 -1
  30. package/lib/commonjs/ui/screens/AccountCenterScreen.js +3 -3
  31. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/AppInfoScreen.js +13 -13
  33. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +2 -2
  35. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/FeedbackScreen.js +2 -2
  37. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  38. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +3 -3
  39. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  40. package/lib/commonjs/ui/screens/OxyAuthScreen.js +2 -2
  41. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  42. package/lib/commonjs/ui/screens/ProfileScreen.js +3 -3
  43. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  44. package/lib/commonjs/ui/screens/UserListScreen.js +2 -2
  45. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  46. package/lib/commonjs/ui/server.js +1 -11
  47. package/lib/commonjs/ui/server.js.map +1 -1
  48. package/lib/commonjs/ui/stores/authStore.js +2 -2
  49. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  50. package/lib/commonjs/ui/utils/colorUtils.js +8 -8
  51. package/lib/commonjs/ui/utils/colorUtils.js.map +1 -1
  52. package/lib/commonjs/ui/utils/themeUtils.js +6 -6
  53. package/lib/commonjs/ui/utils/themeUtils.js.map +1 -1
  54. package/lib/module/index.js +30 -75
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/ui/client.js +0 -2
  57. package/lib/module/ui/client.js.map +1 -1
  58. package/lib/module/ui/components/SignInModal.js +1 -1
  59. package/lib/module/ui/components/SignInModal.js.map +1 -1
  60. package/lib/module/ui/context/OxyContext.js +4 -4
  61. package/lib/module/ui/context/OxyContext.js.map +1 -1
  62. package/lib/module/ui/context/hooks/useAuthOperations.js +2 -2
  63. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  64. package/lib/module/ui/context/hooks/useDeviceManagement.js +1 -1
  65. package/lib/module/ui/context/hooks/useDeviceManagement.js.map +1 -1
  66. package/lib/module/ui/context/hooks/useLanguageManagement.js +1 -1
  67. package/lib/module/ui/context/hooks/useLanguageManagement.js.map +1 -1
  68. package/lib/module/ui/context/hooks/useSessionManagement.js +1 -1
  69. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -1
  70. package/lib/module/ui/hooks/useDeviceManagement.js +1 -1
  71. package/lib/module/ui/hooks/useDeviceManagement.js.map +1 -1
  72. package/lib/module/ui/hooks/useI18n.js +1 -1
  73. package/lib/module/ui/hooks/useI18n.js.map +1 -1
  74. package/lib/module/ui/hooks/useLanguageManagement.js +1 -1
  75. package/lib/module/ui/hooks/useLanguageManagement.js.map +1 -1
  76. package/lib/module/ui/hooks/useSessionManagement.js +1 -1
  77. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  78. package/lib/module/ui/hooks/useSessionSocket.js +2 -2
  79. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  80. package/lib/module/ui/index.js +0 -2
  81. package/lib/module/ui/index.js.map +1 -1
  82. package/lib/module/ui/screens/AccountCenterScreen.js +1 -1
  83. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  84. package/lib/module/ui/screens/AppInfoScreen.js +1 -1
  85. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  86. package/lib/module/ui/screens/EditProfileFieldScreen.js +1 -1
  87. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  88. package/lib/module/ui/screens/FeedbackScreen.js +1 -1
  89. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  90. package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
  91. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  92. package/lib/module/ui/screens/OxyAuthScreen.js +1 -1
  93. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  94. package/lib/module/ui/screens/ProfileScreen.js +1 -1
  95. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  96. package/lib/module/ui/screens/UserListScreen.js +1 -1
  97. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  98. package/lib/module/ui/server.js +0 -2
  99. package/lib/module/ui/server.js.map +1 -1
  100. package/lib/module/ui/stores/authStore.js +1 -1
  101. package/lib/module/ui/stores/authStore.js.map +1 -1
  102. package/lib/module/ui/utils/colorUtils.js +1 -1
  103. package/lib/module/ui/utils/colorUtils.js.map +1 -1
  104. package/lib/module/ui/utils/themeUtils.js +1 -1
  105. package/lib/module/ui/utils/themeUtils.js.map +1 -1
  106. package/lib/typescript/commonjs/index.d.ts +18 -35
  107. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/client.d.ts +0 -2
  109. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +1 -1
  111. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts +1 -1
  113. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts +1 -1
  115. package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +3 -3
  117. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +3 -3
  119. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/ui/context/hooks/useDeviceManagement.d.ts +2 -2
  121. package/lib/typescript/commonjs/ui/context/hooks/useDeviceManagement.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/ui/context/hooks/useLanguageManagement.d.ts +2 -2
  123. package/lib/typescript/commonjs/ui/context/hooks/useLanguageManagement.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/context/hooks/useSessionManagement.d.ts +3 -3
  125. package/lib/typescript/commonjs/ui/context/hooks/useSessionManagement.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +1 -1
  127. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
  129. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts +1 -1
  131. package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  133. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  134. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +2 -2
  135. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts +1 -1
  137. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/ui/hooks/useDeviceManagement.d.ts +2 -2
  139. package/lib/typescript/commonjs/ui/hooks/useDeviceManagement.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts +1 -1
  141. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/ui/hooks/useFileFiltering.d.ts +1 -1
  143. package/lib/typescript/commonjs/ui/hooks/useFileFiltering.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/ui/hooks/useLanguageManagement.d.ts +2 -2
  145. package/lib/typescript/commonjs/ui/hooks/useLanguageManagement.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts +3 -3
  147. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/ui/hooks/useStorage.d.ts +1 -1
  149. package/lib/typescript/commonjs/ui/hooks/useStorage.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts +2 -2
  151. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/ui/index.d.ts +0 -2
  153. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  155. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/ui/stores/accountStore.d.ts +1 -1
  157. package/lib/typescript/commonjs/ui/stores/accountStore.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/ui/stores/assetStore.d.ts +1 -1
  159. package/lib/typescript/commonjs/ui/stores/assetStore.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/ui/stores/authStore.d.ts +1 -1
  161. package/lib/typescript/commonjs/ui/stores/authStore.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/ui/stores/fileStore.d.ts +1 -1
  163. package/lib/typescript/commonjs/ui/stores/fileStore.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/ui/stores/followStore.d.ts +1 -1
  165. package/lib/typescript/commonjs/ui/stores/followStore.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/ui/types/fileManagement.d.ts +1 -1
  167. package/lib/typescript/commonjs/ui/types/fileManagement.d.ts.map +1 -1
  168. package/lib/typescript/commonjs/ui/utils/authHelpers.d.ts +1 -1
  169. package/lib/typescript/commonjs/ui/utils/authHelpers.d.ts.map +1 -1
  170. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts +2 -2
  171. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts +1 -1
  173. package/lib/typescript/commonjs/ui/utils/colorUtils.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/ui/utils/errorHandlers.d.ts +1 -1
  175. package/lib/typescript/commonjs/ui/utils/errorHandlers.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +1 -1
  177. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts +1 -1
  179. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts +2 -2
  181. package/lib/typescript/commonjs/ui/utils/themeUtils.d.ts.map +1 -1
  182. package/lib/typescript/module/index.d.ts +18 -35
  183. package/lib/typescript/module/index.d.ts.map +1 -1
  184. package/lib/typescript/module/ui/client.d.ts +0 -2
  185. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  186. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +1 -1
  187. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  188. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts +1 -1
  189. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  190. package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts +1 -1
  191. package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  192. package/lib/typescript/module/ui/context/OxyContext.d.ts +3 -3
  193. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  194. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +3 -3
  195. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  196. package/lib/typescript/module/ui/context/hooks/useDeviceManagement.d.ts +2 -2
  197. package/lib/typescript/module/ui/context/hooks/useDeviceManagement.d.ts.map +1 -1
  198. package/lib/typescript/module/ui/context/hooks/useLanguageManagement.d.ts +2 -2
  199. package/lib/typescript/module/ui/context/hooks/useLanguageManagement.d.ts.map +1 -1
  200. package/lib/typescript/module/ui/context/hooks/useSessionManagement.d.ts +3 -3
  201. package/lib/typescript/module/ui/context/hooks/useSessionManagement.d.ts.map +1 -1
  202. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +1 -1
  203. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
  204. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
  205. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  206. package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts +1 -1
  207. package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  208. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  209. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  210. package/lib/typescript/module/ui/hooks/useAssets.d.ts +2 -2
  211. package/lib/typescript/module/ui/hooks/useAssets.d.ts.map +1 -1
  212. package/lib/typescript/module/ui/hooks/useAuth.d.ts +1 -1
  213. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  214. package/lib/typescript/module/ui/hooks/useDeviceManagement.d.ts +2 -2
  215. package/lib/typescript/module/ui/hooks/useDeviceManagement.d.ts.map +1 -1
  216. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts +1 -1
  217. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  218. package/lib/typescript/module/ui/hooks/useFileFiltering.d.ts +1 -1
  219. package/lib/typescript/module/ui/hooks/useFileFiltering.d.ts.map +1 -1
  220. package/lib/typescript/module/ui/hooks/useLanguageManagement.d.ts +2 -2
  221. package/lib/typescript/module/ui/hooks/useLanguageManagement.d.ts.map +1 -1
  222. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts +3 -3
  223. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  224. package/lib/typescript/module/ui/hooks/useStorage.d.ts +1 -1
  225. package/lib/typescript/module/ui/hooks/useStorage.d.ts.map +1 -1
  226. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts +2 -2
  227. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts.map +1 -1
  228. package/lib/typescript/module/ui/index.d.ts +0 -2
  229. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  230. package/lib/typescript/module/ui/server.d.ts +0 -2
  231. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  232. package/lib/typescript/module/ui/stores/accountStore.d.ts +1 -1
  233. package/lib/typescript/module/ui/stores/accountStore.d.ts.map +1 -1
  234. package/lib/typescript/module/ui/stores/assetStore.d.ts +1 -1
  235. package/lib/typescript/module/ui/stores/assetStore.d.ts.map +1 -1
  236. package/lib/typescript/module/ui/stores/authStore.d.ts +1 -1
  237. package/lib/typescript/module/ui/stores/authStore.d.ts.map +1 -1
  238. package/lib/typescript/module/ui/stores/fileStore.d.ts +1 -1
  239. package/lib/typescript/module/ui/stores/fileStore.d.ts.map +1 -1
  240. package/lib/typescript/module/ui/stores/followStore.d.ts +1 -1
  241. package/lib/typescript/module/ui/stores/followStore.d.ts.map +1 -1
  242. package/lib/typescript/module/ui/types/fileManagement.d.ts +1 -1
  243. package/lib/typescript/module/ui/types/fileManagement.d.ts.map +1 -1
  244. package/lib/typescript/module/ui/utils/authHelpers.d.ts +1 -1
  245. package/lib/typescript/module/ui/utils/authHelpers.d.ts.map +1 -1
  246. package/lib/typescript/module/ui/utils/avatarUtils.d.ts +2 -2
  247. package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
  248. package/lib/typescript/module/ui/utils/colorUtils.d.ts +1 -1
  249. package/lib/typescript/module/ui/utils/colorUtils.d.ts.map +1 -1
  250. package/lib/typescript/module/ui/utils/errorHandlers.d.ts +1 -1
  251. package/lib/typescript/module/ui/utils/errorHandlers.d.ts.map +1 -1
  252. package/lib/typescript/module/ui/utils/fileManagement.d.ts +1 -1
  253. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  254. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts +1 -1
  255. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/utils/themeUtils.d.ts +2 -2
  257. package/lib/typescript/module/ui/utils/themeUtils.d.ts.map +1 -1
  258. package/package.json +39 -171
  259. package/src/index.ts +56 -254
  260. package/src/ui/client.ts +0 -4
  261. package/src/ui/components/SignInModal.tsx +1 -1
  262. package/src/ui/components/fileManagement/FileDetailsModal.tsx +1 -1
  263. package/src/ui/components/fileManagement/FileViewer.tsx +1 -1
  264. package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +1 -1
  265. package/src/ui/context/OxyContext.tsx +6 -6
  266. package/src/ui/context/hooks/useAuthOperations.ts +5 -5
  267. package/src/ui/context/hooks/useDeviceManagement.ts +3 -3
  268. package/src/ui/context/hooks/useLanguageManagement.ts +2 -2
  269. package/src/ui/context/hooks/useSessionManagement.ts +4 -4
  270. package/src/ui/hooks/mutations/mutationFactory.ts +1 -1
  271. package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
  272. package/src/ui/hooks/mutations/useServicesMutations.ts +1 -1
  273. package/src/ui/hooks/queries/useAccountQueries.ts +1 -1
  274. package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
  275. package/src/ui/hooks/queries/useServicesQueries.ts +1 -1
  276. package/src/ui/hooks/useAssets.ts +7 -7
  277. package/src/ui/hooks/useAuth.ts +1 -1
  278. package/src/ui/hooks/useDeviceManagement.ts +3 -3
  279. package/src/ui/hooks/useFileDownloadUrl.ts +1 -1
  280. package/src/ui/hooks/useFileFiltering.ts +1 -1
  281. package/src/ui/hooks/useI18n.ts +1 -1
  282. package/src/ui/hooks/useLanguageManagement.ts +2 -2
  283. package/src/ui/hooks/useSessionManagement.ts +4 -4
  284. package/src/ui/hooks/useSessionSocket.ts +2 -2
  285. package/src/ui/hooks/useStorage.ts +1 -1
  286. package/src/ui/hooks/useWebSSO.ts +2 -2
  287. package/src/ui/index.ts +0 -3
  288. package/src/ui/screens/AccountCenterScreen.tsx +1 -1
  289. package/src/ui/screens/AccountSwitcherScreen.tsx +2 -2
  290. package/src/ui/screens/AppInfoScreen.tsx +1 -1
  291. package/src/ui/screens/EditProfileFieldScreen.tsx +1 -1
  292. package/src/ui/screens/FeedbackScreen.tsx +1 -1
  293. package/src/ui/screens/FileManagementScreen.tsx +1 -1
  294. package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
  295. package/src/ui/screens/OxyAuthScreen.tsx +1 -1
  296. package/src/ui/screens/PrivacySettingsScreen.tsx +1 -1
  297. package/src/ui/screens/ProfileScreen.tsx +2 -2
  298. package/src/ui/screens/SearchSettingsScreen.tsx +1 -1
  299. package/src/ui/screens/SessionManagementScreen.tsx +1 -1
  300. package/src/ui/screens/UserListScreen.tsx +2 -2
  301. package/src/ui/server.ts +0 -4
  302. package/src/ui/stores/accountStore.ts +1 -1
  303. package/src/ui/stores/assetStore.ts +1 -1
  304. package/src/ui/stores/authStore.ts +2 -2
  305. package/src/ui/stores/fileStore.ts +1 -1
  306. package/src/ui/stores/followStore.ts +1 -1
  307. package/src/ui/types/fileManagement.ts +1 -1
  308. package/src/ui/types/navigation.ts +2 -2
  309. package/src/ui/utils/authHelpers.ts +1 -1
  310. package/src/ui/utils/avatarUtils.ts +2 -2
  311. package/src/ui/utils/colorUtils.ts +1 -1
  312. package/src/ui/utils/errorHandlers.ts +1 -1
  313. package/src/ui/utils/fileManagement.ts +1 -1
  314. package/src/ui/utils/sessionHelpers.ts +1 -1
  315. package/src/ui/utils/themeUtils.ts +2 -2
  316. package/lib/commonjs/constants/version.js +0 -28
  317. package/lib/commonjs/constants/version.js.map +0 -1
  318. package/lib/commonjs/core/AuthManager.js +0 -405
  319. package/lib/commonjs/core/AuthManager.js.map +0 -1
  320. package/lib/commonjs/core/CrossDomainAuth.js +0 -277
  321. package/lib/commonjs/core/CrossDomainAuth.js.map +0 -1
  322. package/lib/commonjs/core/HttpService.js +0 -697
  323. package/lib/commonjs/core/HttpService.js.map +0 -1
  324. package/lib/commonjs/core/OxyServices.base.js +0 -291
  325. package/lib/commonjs/core/OxyServices.base.js.map +0 -1
  326. package/lib/commonjs/core/OxyServices.errors.js +0 -26
  327. package/lib/commonjs/core/OxyServices.errors.js.map +0 -1
  328. package/lib/commonjs/core/OxyServices.js +0 -149
  329. package/lib/commonjs/core/OxyServices.js.map +0 -1
  330. package/lib/commonjs/core/index.js +0 -158
  331. package/lib/commonjs/core/index.js.map +0 -1
  332. package/lib/commonjs/core/mixins/OxyServices.analytics.js +0 -60
  333. package/lib/commonjs/core/mixins/OxyServices.analytics.js.map +0 -1
  334. package/lib/commonjs/core/mixins/OxyServices.assets.js +0 -390
  335. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +0 -1
  336. package/lib/commonjs/core/mixins/OxyServices.auth.js +0 -296
  337. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +0 -1
  338. package/lib/commonjs/core/mixins/OxyServices.developer.js +0 -115
  339. package/lib/commonjs/core/mixins/OxyServices.developer.js.map +0 -1
  340. package/lib/commonjs/core/mixins/OxyServices.devices.js +0 -133
  341. package/lib/commonjs/core/mixins/OxyServices.devices.js.map +0 -1
  342. package/lib/commonjs/core/mixins/OxyServices.features.js +0 -372
  343. package/lib/commonjs/core/mixins/OxyServices.features.js.map +0 -1
  344. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +0 -464
  345. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +0 -1
  346. package/lib/commonjs/core/mixins/OxyServices.karma.js +0 -117
  347. package/lib/commonjs/core/mixins/OxyServices.karma.js.map +0 -1
  348. package/lib/commonjs/core/mixins/OxyServices.language.js +0 -124
  349. package/lib/commonjs/core/mixins/OxyServices.language.js.map +0 -1
  350. package/lib/commonjs/core/mixins/OxyServices.location.js +0 -55
  351. package/lib/commonjs/core/mixins/OxyServices.location.js.map +0 -1
  352. package/lib/commonjs/core/mixins/OxyServices.payment.js +0 -168
  353. package/lib/commonjs/core/mixins/OxyServices.payment.js.map +0 -1
  354. package/lib/commonjs/core/mixins/OxyServices.popup.js +0 -393
  355. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +0 -1
  356. package/lib/commonjs/core/mixins/OxyServices.privacy.js +0 -174
  357. package/lib/commonjs/core/mixins/OxyServices.privacy.js.map +0 -1
  358. package/lib/commonjs/core/mixins/OxyServices.redirect.js +0 -378
  359. package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +0 -1
  360. package/lib/commonjs/core/mixins/OxyServices.security.js +0 -96
  361. package/lib/commonjs/core/mixins/OxyServices.security.js.map +0 -1
  362. package/lib/commonjs/core/mixins/OxyServices.user.js +0 -393
  363. package/lib/commonjs/core/mixins/OxyServices.user.js.map +0 -1
  364. package/lib/commonjs/core/mixins/OxyServices.utility.js +0 -165
  365. package/lib/commonjs/core/mixins/OxyServices.utility.js.map +0 -1
  366. package/lib/commonjs/core/mixins/index.js +0 -75
  367. package/lib/commonjs/core/mixins/index.js.map +0 -1
  368. package/lib/commonjs/core/mixins/mixinHelpers.js +0 -62
  369. package/lib/commonjs/core/mixins/mixinHelpers.js.map +0 -1
  370. package/lib/commonjs/crypto/index.js +0 -34
  371. package/lib/commonjs/crypto/index.js.map +0 -1
  372. package/lib/commonjs/crypto/keyManager.js +0 -942
  373. package/lib/commonjs/crypto/keyManager.js.map +0 -1
  374. package/lib/commonjs/crypto/polyfill.js +0 -86
  375. package/lib/commonjs/crypto/polyfill.js.map +0 -1
  376. package/lib/commonjs/crypto/recoveryPhrase.js +0 -152
  377. package/lib/commonjs/crypto/recoveryPhrase.js.map +0 -1
  378. package/lib/commonjs/crypto/signatureService.js +0 -289
  379. package/lib/commonjs/crypto/signatureService.js.map +0 -1
  380. package/lib/commonjs/i18n/index.js +0 -76
  381. package/lib/commonjs/i18n/index.js.map +0 -1
  382. package/lib/commonjs/i18n/locales/ar-SA.json +0 -120
  383. package/lib/commonjs/i18n/locales/ca-ES.json +0 -120
  384. package/lib/commonjs/i18n/locales/de-DE.json +0 -120
  385. package/lib/commonjs/i18n/locales/en-US.json +0 -956
  386. package/lib/commonjs/i18n/locales/es-ES.json +0 -944
  387. package/lib/commonjs/i18n/locales/fr-FR.json +0 -120
  388. package/lib/commonjs/i18n/locales/it-IT.json +0 -120
  389. package/lib/commonjs/i18n/locales/ja-JP.json +0 -119
  390. package/lib/commonjs/i18n/locales/ko-KR.json +0 -120
  391. package/lib/commonjs/i18n/locales/pt-PT.json +0 -120
  392. package/lib/commonjs/i18n/locales/zh-CN.json +0 -120
  393. package/lib/commonjs/models/interfaces.js +0 -61
  394. package/lib/commonjs/models/interfaces.js.map +0 -1
  395. package/lib/commonjs/models/session.js +0 -2
  396. package/lib/commonjs/models/session.js.map +0 -1
  397. package/lib/commonjs/node/index.js +0 -59
  398. package/lib/commonjs/node/index.js.map +0 -1
  399. package/lib/commonjs/shared/index.js +0 -227
  400. package/lib/commonjs/shared/index.js.map +0 -1
  401. package/lib/commonjs/shared/utils/colorUtils.js +0 -161
  402. package/lib/commonjs/shared/utils/colorUtils.js.map +0 -1
  403. package/lib/commonjs/shared/utils/debugUtils.js +0 -84
  404. package/lib/commonjs/shared/utils/debugUtils.js.map +0 -1
  405. package/lib/commonjs/shared/utils/errorUtils.js +0 -190
  406. package/lib/commonjs/shared/utils/errorUtils.js.map +0 -1
  407. package/lib/commonjs/shared/utils/index.js +0 -196
  408. package/lib/commonjs/shared/utils/index.js.map +0 -1
  409. package/lib/commonjs/shared/utils/networkUtils.js +0 -213
  410. package/lib/commonjs/shared/utils/networkUtils.js.map +0 -1
  411. package/lib/commonjs/shared/utils/themeUtils.js +0 -118
  412. package/lib/commonjs/shared/utils/themeUtils.js.map +0 -1
  413. package/lib/commonjs/utils/apiUtils.js +0 -79
  414. package/lib/commonjs/utils/apiUtils.js.map +0 -1
  415. package/lib/commonjs/utils/asyncUtils.js +0 -207
  416. package/lib/commonjs/utils/asyncUtils.js.map +0 -1
  417. package/lib/commonjs/utils/cache.js +0 -259
  418. package/lib/commonjs/utils/cache.js.map +0 -1
  419. package/lib/commonjs/utils/deviceManager.js +0 -177
  420. package/lib/commonjs/utils/deviceManager.js.map +0 -1
  421. package/lib/commonjs/utils/errorUtils.js +0 -168
  422. package/lib/commonjs/utils/errorUtils.js.map +0 -1
  423. package/lib/commonjs/utils/index.js +0 -106
  424. package/lib/commonjs/utils/index.js.map +0 -1
  425. package/lib/commonjs/utils/languageUtils.js +0 -159
  426. package/lib/commonjs/utils/languageUtils.js.map +0 -1
  427. package/lib/commonjs/utils/loggerUtils.js +0 -160
  428. package/lib/commonjs/utils/loggerUtils.js.map +0 -1
  429. package/lib/commonjs/utils/platform.js +0 -129
  430. package/lib/commonjs/utils/platform.js.map +0 -1
  431. package/lib/commonjs/utils/platformInit.js +0 -13
  432. package/lib/commonjs/utils/platformInit.js.map +0 -1
  433. package/lib/commonjs/utils/platformInit.native.js +0 -16
  434. package/lib/commonjs/utils/platformInit.native.js.map +0 -1
  435. package/lib/commonjs/utils/requestUtils.js +0 -218
  436. package/lib/commonjs/utils/requestUtils.js.map +0 -1
  437. package/lib/commonjs/utils/sessionUtils.js +0 -191
  438. package/lib/commonjs/utils/sessionUtils.js.map +0 -1
  439. package/lib/commonjs/utils/validationUtils.js +0 -191
  440. package/lib/commonjs/utils/validationUtils.js.map +0 -1
  441. package/lib/commonjs/web/WebOxyContext.js +0 -384
  442. package/lib/commonjs/web/WebOxyContext.js.map +0 -1
  443. package/lib/commonjs/web/index.js +0 -319
  444. package/lib/commonjs/web/index.js.map +0 -1
  445. package/lib/commonjs/web.js +0 -659
  446. package/lib/commonjs/web.js.map +0 -1
  447. package/lib/module/constants/version.js +0 -21
  448. package/lib/module/constants/version.js.map +0 -1
  449. package/lib/module/core/AuthManager.js +0 -399
  450. package/lib/module/core/AuthManager.js.map +0 -1
  451. package/lib/module/core/CrossDomainAuth.js +0 -271
  452. package/lib/module/core/CrossDomainAuth.js.map +0 -1
  453. package/lib/module/core/HttpService.js +0 -692
  454. package/lib/module/core/HttpService.js.map +0 -1
  455. package/lib/module/core/OxyServices.base.js +0 -285
  456. package/lib/module/core/OxyServices.base.js.map +0 -1
  457. package/lib/module/core/OxyServices.errors.js +0 -20
  458. package/lib/module/core/OxyServices.errors.js.map +0 -1
  459. package/lib/module/core/OxyServices.js +0 -134
  460. package/lib/module/core/OxyServices.js.map +0 -1
  461. package/lib/module/core/index.js +0 -31
  462. package/lib/module/core/index.js.map +0 -1
  463. package/lib/module/core/mixins/OxyServices.analytics.js +0 -56
  464. package/lib/module/core/mixins/OxyServices.analytics.js.map +0 -1
  465. package/lib/module/core/mixins/OxyServices.assets.js +0 -386
  466. package/lib/module/core/mixins/OxyServices.assets.js.map +0 -1
  467. package/lib/module/core/mixins/OxyServices.auth.js +0 -292
  468. package/lib/module/core/mixins/OxyServices.auth.js.map +0 -1
  469. package/lib/module/core/mixins/OxyServices.developer.js +0 -111
  470. package/lib/module/core/mixins/OxyServices.developer.js.map +0 -1
  471. package/lib/module/core/mixins/OxyServices.devices.js +0 -129
  472. package/lib/module/core/mixins/OxyServices.devices.js.map +0 -1
  473. package/lib/module/core/mixins/OxyServices.features.js +0 -369
  474. package/lib/module/core/mixins/OxyServices.features.js.map +0 -1
  475. package/lib/module/core/mixins/OxyServices.fedcm.js +0 -461
  476. package/lib/module/core/mixins/OxyServices.fedcm.js.map +0 -1
  477. package/lib/module/core/mixins/OxyServices.karma.js +0 -113
  478. package/lib/module/core/mixins/OxyServices.karma.js.map +0 -1
  479. package/lib/module/core/mixins/OxyServices.language.js +0 -120
  480. package/lib/module/core/mixins/OxyServices.language.js.map +0 -1
  481. package/lib/module/core/mixins/OxyServices.location.js +0 -51
  482. package/lib/module/core/mixins/OxyServices.location.js.map +0 -1
  483. package/lib/module/core/mixins/OxyServices.payment.js +0 -164
  484. package/lib/module/core/mixins/OxyServices.payment.js.map +0 -1
  485. package/lib/module/core/mixins/OxyServices.popup.js +0 -390
  486. package/lib/module/core/mixins/OxyServices.popup.js.map +0 -1
  487. package/lib/module/core/mixins/OxyServices.privacy.js +0 -170
  488. package/lib/module/core/mixins/OxyServices.privacy.js.map +0 -1
  489. package/lib/module/core/mixins/OxyServices.redirect.js +0 -375
  490. package/lib/module/core/mixins/OxyServices.redirect.js.map +0 -1
  491. package/lib/module/core/mixins/OxyServices.security.js +0 -92
  492. package/lib/module/core/mixins/OxyServices.security.js.map +0 -1
  493. package/lib/module/core/mixins/OxyServices.user.js +0 -389
  494. package/lib/module/core/mixins/OxyServices.user.js.map +0 -1
  495. package/lib/module/core/mixins/OxyServices.utility.js +0 -160
  496. package/lib/module/core/mixins/OxyServices.utility.js.map +0 -1
  497. package/lib/module/core/mixins/index.js +0 -72
  498. package/lib/module/core/mixins/index.js.map +0 -1
  499. package/lib/module/core/mixins/mixinHelpers.js +0 -56
  500. package/lib/module/core/mixins/mixinHelpers.js.map +0 -1
  501. package/lib/module/crypto/index.js +0 -18
  502. package/lib/module/crypto/index.js.map +0 -1
  503. package/lib/module/crypto/keyManager.js +0 -939
  504. package/lib/module/crypto/keyManager.js.map +0 -1
  505. package/lib/module/crypto/polyfill.js +0 -78
  506. package/lib/module/crypto/polyfill.js.map +0 -1
  507. package/lib/module/crypto/recoveryPhrase.js +0 -147
  508. package/lib/module/crypto/recoveryPhrase.js.map +0 -1
  509. package/lib/module/crypto/signatureService.js +0 -286
  510. package/lib/module/crypto/signatureService.js.map +0 -1
  511. package/lib/module/i18n/index.js +0 -71
  512. package/lib/module/i18n/index.js.map +0 -1
  513. package/lib/module/i18n/locales/ar-SA.json +0 -120
  514. package/lib/module/i18n/locales/ca-ES.json +0 -120
  515. package/lib/module/i18n/locales/de-DE.json +0 -120
  516. package/lib/module/i18n/locales/en-US.json +0 -956
  517. package/lib/module/i18n/locales/es-ES.json +0 -944
  518. package/lib/module/i18n/locales/fr-FR.json +0 -120
  519. package/lib/module/i18n/locales/it-IT.json +0 -120
  520. package/lib/module/i18n/locales/ja-JP.json +0 -119
  521. package/lib/module/i18n/locales/ko-KR.json +0 -120
  522. package/lib/module/i18n/locales/pt-PT.json +0 -120
  523. package/lib/module/i18n/locales/zh-CN.json +0 -120
  524. package/lib/module/models/interfaces.js +0 -57
  525. package/lib/module/models/interfaces.js.map +0 -1
  526. package/lib/module/models/session.js +0 -2
  527. package/lib/module/models/session.js.map +0 -1
  528. package/lib/module/node/index.js +0 -20
  529. package/lib/module/node/index.js.map +0 -1
  530. package/lib/module/shared/index.js +0 -37
  531. package/lib/module/shared/index.js.map +0 -1
  532. package/lib/module/shared/utils/colorUtils.js +0 -150
  533. package/lib/module/shared/utils/colorUtils.js.map +0 -1
  534. package/lib/module/shared/utils/debugUtils.js +0 -75
  535. package/lib/module/shared/utils/debugUtils.js.map +0 -1
  536. package/lib/module/shared/utils/errorUtils.js +0 -176
  537. package/lib/module/shared/utils/errorUtils.js.map +0 -1
  538. package/lib/module/shared/utils/index.js +0 -21
  539. package/lib/module/shared/utils/index.js.map +0 -1
  540. package/lib/module/shared/utils/networkUtils.js +0 -202
  541. package/lib/module/shared/utils/networkUtils.js.map +0 -1
  542. package/lib/module/shared/utils/themeUtils.js +0 -109
  543. package/lib/module/shared/utils/themeUtils.js.map +0 -1
  544. package/lib/module/utils/apiUtils.js +0 -72
  545. package/lib/module/utils/apiUtils.js.map +0 -1
  546. package/lib/module/utils/asyncUtils.js +0 -192
  547. package/lib/module/utils/asyncUtils.js.map +0 -1
  548. package/lib/module/utils/cache.js +0 -250
  549. package/lib/module/utils/cache.js.map +0 -1
  550. package/lib/module/utils/deviceManager.js +0 -171
  551. package/lib/module/utils/deviceManager.js.map +0 -1
  552. package/lib/module/utils/errorUtils.js +0 -160
  553. package/lib/module/utils/errorUtils.js.map +0 -1
  554. package/lib/module/utils/index.js +0 -11
  555. package/lib/module/utils/index.js.map +0 -1
  556. package/lib/module/utils/languageUtils.js +0 -151
  557. package/lib/module/utils/languageUtils.js.map +0 -1
  558. package/lib/module/utils/loggerUtils.js +0 -149
  559. package/lib/module/utils/loggerUtils.js.map +0 -1
  560. package/lib/module/utils/platform.js +0 -118
  561. package/lib/module/utils/platform.js.map +0 -1
  562. package/lib/module/utils/platformInit.js +0 -13
  563. package/lib/module/utils/platformInit.js.map +0 -1
  564. package/lib/module/utils/platformInit.native.js +0 -16
  565. package/lib/module/utils/platformInit.native.js.map +0 -1
  566. package/lib/module/utils/requestUtils.js +0 -212
  567. package/lib/module/utils/requestUtils.js.map +0 -1
  568. package/lib/module/utils/sessionUtils.js +0 -180
  569. package/lib/module/utils/sessionUtils.js.map +0 -1
  570. package/lib/module/utils/validationUtils.js +0 -170
  571. package/lib/module/utils/validationUtils.js.map +0 -1
  572. package/lib/module/web/WebOxyContext.js +0 -377
  573. package/lib/module/web/WebOxyContext.js.map +0 -1
  574. package/lib/module/web/index.js +0 -72
  575. package/lib/module/web/index.js.map +0 -1
  576. package/lib/module/web.js +0 -76
  577. package/lib/module/web.js.map +0 -1
  578. package/lib/typescript/commonjs/constants/version.d.ts +0 -14
  579. package/lib/typescript/commonjs/constants/version.d.ts.map +0 -1
  580. package/lib/typescript/commonjs/core/AuthManager.d.ts +0 -144
  581. package/lib/typescript/commonjs/core/AuthManager.d.ts.map +0 -1
  582. package/lib/typescript/commonjs/core/CrossDomainAuth.d.ts +0 -161
  583. package/lib/typescript/commonjs/core/CrossDomainAuth.d.ts.map +0 -1
  584. package/lib/typescript/commonjs/core/HttpService.d.ts +0 -164
  585. package/lib/typescript/commonjs/core/HttpService.d.ts.map +0 -1
  586. package/lib/typescript/commonjs/core/OxyServices.base.d.ts +0 -127
  587. package/lib/typescript/commonjs/core/OxyServices.base.d.ts.map +0 -1
  588. package/lib/typescript/commonjs/core/OxyServices.d.ts +0 -82
  589. package/lib/typescript/commonjs/core/OxyServices.d.ts.map +0 -1
  590. package/lib/typescript/commonjs/core/OxyServices.errors.d.ts +0 -12
  591. package/lib/typescript/commonjs/core/OxyServices.errors.d.ts.map +0 -1
  592. package/lib/typescript/commonjs/core/index.d.ts +0 -21
  593. package/lib/typescript/commonjs/core/index.d.ts.map +0 -1
  594. package/lib/typescript/commonjs/core/mixins/OxyServices.analytics.d.ts +0 -67
  595. package/lib/typescript/commonjs/core/mixins/OxyServices.analytics.d.ts.map +0 -1
  596. package/lib/typescript/commonjs/core/mixins/OxyServices.assets.d.ts +0 -136
  597. package/lib/typescript/commonjs/core/mixins/OxyServices.assets.d.ts.map +0 -1
  598. package/lib/typescript/commonjs/core/mixins/OxyServices.auth.d.ts +0 -187
  599. package/lib/typescript/commonjs/core/mixins/OxyServices.auth.d.ts.map +0 -1
  600. package/lib/typescript/commonjs/core/mixins/OxyServices.developer.d.ts +0 -100
  601. package/lib/typescript/commonjs/core/mixins/OxyServices.developer.d.ts.map +0 -1
  602. package/lib/typescript/commonjs/core/mixins/OxyServices.devices.d.ts +0 -97
  603. package/lib/typescript/commonjs/core/mixins/OxyServices.devices.d.ts.map +0 -1
  604. package/lib/typescript/commonjs/core/mixins/OxyServices.features.d.ts +0 -229
  605. package/lib/typescript/commonjs/core/mixins/OxyServices.features.d.ts.map +0 -1
  606. package/lib/typescript/commonjs/core/mixins/OxyServices.fedcm.d.ts +0 -201
  607. package/lib/typescript/commonjs/core/mixins/OxyServices.fedcm.d.ts.map +0 -1
  608. package/lib/typescript/commonjs/core/mixins/OxyServices.karma.d.ts +0 -86
  609. package/lib/typescript/commonjs/core/mixins/OxyServices.karma.d.ts.map +0 -1
  610. package/lib/typescript/commonjs/core/mixins/OxyServices.language.d.ts +0 -82
  611. package/lib/typescript/commonjs/core/mixins/OxyServices.language.d.ts.map +0 -1
  612. package/lib/typescript/commonjs/core/mixins/OxyServices.location.d.ts +0 -65
  613. package/lib/typescript/commonjs/core/mixins/OxyServices.location.d.ts.map +0 -1
  614. package/lib/typescript/commonjs/core/mixins/OxyServices.payment.d.ts +0 -112
  615. package/lib/typescript/commonjs/core/mixins/OxyServices.payment.d.ts.map +0 -1
  616. package/lib/typescript/commonjs/core/mixins/OxyServices.popup.d.ts +0 -206
  617. package/lib/typescript/commonjs/core/mixins/OxyServices.popup.d.ts.map +0 -1
  618. package/lib/typescript/commonjs/core/mixins/OxyServices.privacy.d.ts +0 -123
  619. package/lib/typescript/commonjs/core/mixins/OxyServices.privacy.d.ts.map +0 -1
  620. package/lib/typescript/commonjs/core/mixins/OxyServices.redirect.d.ts +0 -246
  621. package/lib/typescript/commonjs/core/mixins/OxyServices.redirect.d.ts.map +0 -1
  622. package/lib/typescript/commonjs/core/mixins/OxyServices.security.d.ts +0 -79
  623. package/lib/typescript/commonjs/core/mixins/OxyServices.security.d.ts.map +0 -1
  624. package/lib/typescript/commonjs/core/mixins/OxyServices.user.d.ts +0 -185
  625. package/lib/typescript/commonjs/core/mixins/OxyServices.user.d.ts.map +0 -1
  626. package/lib/typescript/commonjs/core/mixins/OxyServices.utility.d.ts +0 -94
  627. package/lib/typescript/commonjs/core/mixins/OxyServices.utility.d.ts.map +0 -1
  628. package/lib/typescript/commonjs/core/mixins/index.d.ts +0 -31
  629. package/lib/typescript/commonjs/core/mixins/index.d.ts.map +0 -1
  630. package/lib/typescript/commonjs/core/mixins/mixinHelpers.d.ts +0 -32
  631. package/lib/typescript/commonjs/core/mixins/mixinHelpers.d.ts.map +0 -1
  632. package/lib/typescript/commonjs/crypto/index.d.ts +0 -12
  633. package/lib/typescript/commonjs/crypto/index.d.ts.map +0 -1
  634. package/lib/typescript/commonjs/crypto/keyManager.d.ts +0 -190
  635. package/lib/typescript/commonjs/crypto/keyManager.d.ts.map +0 -1
  636. package/lib/typescript/commonjs/crypto/polyfill.d.ts +0 -13
  637. package/lib/typescript/commonjs/crypto/polyfill.d.ts.map +0 -1
  638. package/lib/typescript/commonjs/crypto/recoveryPhrase.d.ts +0 -59
  639. package/lib/typescript/commonjs/crypto/recoveryPhrase.d.ts.map +0 -1
  640. package/lib/typescript/commonjs/crypto/signatureService.d.ts +0 -87
  641. package/lib/typescript/commonjs/crypto/signatureService.d.ts.map +0 -1
  642. package/lib/typescript/commonjs/i18n/index.d.ts +0 -4
  643. package/lib/typescript/commonjs/i18n/index.d.ts.map +0 -1
  644. package/lib/typescript/commonjs/models/interfaces.d.ts +0 -416
  645. package/lib/typescript/commonjs/models/interfaces.d.ts.map +0 -1
  646. package/lib/typescript/commonjs/models/session.d.ts +0 -28
  647. package/lib/typescript/commonjs/models/session.d.ts.map +0 -1
  648. package/lib/typescript/commonjs/node/index.d.ts +0 -10
  649. package/lib/typescript/commonjs/node/index.d.ts.map +0 -1
  650. package/lib/typescript/commonjs/shared/index.d.ts +0 -29
  651. package/lib/typescript/commonjs/shared/index.d.ts.map +0 -1
  652. package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts +0 -105
  653. package/lib/typescript/commonjs/shared/utils/colorUtils.d.ts.map +0 -1
  654. package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts +0 -49
  655. package/lib/typescript/commonjs/shared/utils/debugUtils.d.ts.map +0 -1
  656. package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts +0 -98
  657. package/lib/typescript/commonjs/shared/utils/errorUtils.d.ts.map +0 -1
  658. package/lib/typescript/commonjs/shared/utils/index.d.ts +0 -14
  659. package/lib/typescript/commonjs/shared/utils/index.d.ts.map +0 -1
  660. package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts +0 -140
  661. package/lib/typescript/commonjs/shared/utils/networkUtils.d.ts.map +0 -1
  662. package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts +0 -91
  663. package/lib/typescript/commonjs/shared/utils/themeUtils.d.ts.map +0 -1
  664. package/lib/typescript/commonjs/utils/apiUtils.d.ts +0 -54
  665. package/lib/typescript/commonjs/utils/apiUtils.d.ts.map +0 -1
  666. package/lib/typescript/commonjs/utils/asyncUtils.d.ts +0 -59
  667. package/lib/typescript/commonjs/utils/asyncUtils.d.ts.map +0 -1
  668. package/lib/typescript/commonjs/utils/cache.d.ts +0 -128
  669. package/lib/typescript/commonjs/utils/cache.d.ts.map +0 -1
  670. package/lib/typescript/commonjs/utils/deviceManager.d.ts +0 -66
  671. package/lib/typescript/commonjs/utils/deviceManager.d.ts.map +0 -1
  672. package/lib/typescript/commonjs/utils/errorUtils.d.ts +0 -47
  673. package/lib/typescript/commonjs/utils/errorUtils.d.ts.map +0 -1
  674. package/lib/typescript/commonjs/utils/index.d.ts +0 -7
  675. package/lib/typescript/commonjs/utils/index.d.ts.map +0 -1
  676. package/lib/typescript/commonjs/utils/languageUtils.d.ts +0 -38
  677. package/lib/typescript/commonjs/utils/languageUtils.d.ts.map +0 -1
  678. package/lib/typescript/commonjs/utils/loggerUtils.d.ts +0 -49
  679. package/lib/typescript/commonjs/utils/loggerUtils.d.ts.map +0 -1
  680. package/lib/typescript/commonjs/utils/platform.d.ts +0 -41
  681. package/lib/typescript/commonjs/utils/platform.d.ts.map +0 -1
  682. package/lib/typescript/commonjs/utils/platformInit.d.ts +0 -10
  683. package/lib/typescript/commonjs/utils/platformInit.d.ts.map +0 -1
  684. package/lib/typescript/commonjs/utils/platformInit.native.d.ts +0 -2
  685. package/lib/typescript/commonjs/utils/platformInit.native.d.ts.map +0 -1
  686. package/lib/typescript/commonjs/utils/requestUtils.d.ts +0 -124
  687. package/lib/typescript/commonjs/utils/requestUtils.d.ts.map +0 -1
  688. package/lib/typescript/commonjs/utils/sessionUtils.d.ts +0 -55
  689. package/lib/typescript/commonjs/utils/sessionUtils.d.ts.map +0 -1
  690. package/lib/typescript/commonjs/utils/validationUtils.d.ts +0 -86
  691. package/lib/typescript/commonjs/utils/validationUtils.d.ts.map +0 -1
  692. package/lib/typescript/commonjs/web/WebOxyContext.d.ts +0 -152
  693. package/lib/typescript/commonjs/web/WebOxyContext.d.ts.map +0 -1
  694. package/lib/typescript/commonjs/web/index.d.ts +0 -53
  695. package/lib/typescript/commonjs/web/index.d.ts.map +0 -1
  696. package/lib/typescript/commonjs/web.d.ts +0 -54
  697. package/lib/typescript/commonjs/web.d.ts.map +0 -1
  698. package/lib/typescript/module/constants/version.d.ts +0 -14
  699. package/lib/typescript/module/constants/version.d.ts.map +0 -1
  700. package/lib/typescript/module/core/AuthManager.d.ts +0 -144
  701. package/lib/typescript/module/core/AuthManager.d.ts.map +0 -1
  702. package/lib/typescript/module/core/CrossDomainAuth.d.ts +0 -161
  703. package/lib/typescript/module/core/CrossDomainAuth.d.ts.map +0 -1
  704. package/lib/typescript/module/core/HttpService.d.ts +0 -164
  705. package/lib/typescript/module/core/HttpService.d.ts.map +0 -1
  706. package/lib/typescript/module/core/OxyServices.base.d.ts +0 -127
  707. package/lib/typescript/module/core/OxyServices.base.d.ts.map +0 -1
  708. package/lib/typescript/module/core/OxyServices.d.ts +0 -82
  709. package/lib/typescript/module/core/OxyServices.d.ts.map +0 -1
  710. package/lib/typescript/module/core/OxyServices.errors.d.ts +0 -12
  711. package/lib/typescript/module/core/OxyServices.errors.d.ts.map +0 -1
  712. package/lib/typescript/module/core/index.d.ts +0 -21
  713. package/lib/typescript/module/core/index.d.ts.map +0 -1
  714. package/lib/typescript/module/core/mixins/OxyServices.analytics.d.ts +0 -67
  715. package/lib/typescript/module/core/mixins/OxyServices.analytics.d.ts.map +0 -1
  716. package/lib/typescript/module/core/mixins/OxyServices.assets.d.ts +0 -136
  717. package/lib/typescript/module/core/mixins/OxyServices.assets.d.ts.map +0 -1
  718. package/lib/typescript/module/core/mixins/OxyServices.auth.d.ts +0 -187
  719. package/lib/typescript/module/core/mixins/OxyServices.auth.d.ts.map +0 -1
  720. package/lib/typescript/module/core/mixins/OxyServices.developer.d.ts +0 -100
  721. package/lib/typescript/module/core/mixins/OxyServices.developer.d.ts.map +0 -1
  722. package/lib/typescript/module/core/mixins/OxyServices.devices.d.ts +0 -97
  723. package/lib/typescript/module/core/mixins/OxyServices.devices.d.ts.map +0 -1
  724. package/lib/typescript/module/core/mixins/OxyServices.features.d.ts +0 -229
  725. package/lib/typescript/module/core/mixins/OxyServices.features.d.ts.map +0 -1
  726. package/lib/typescript/module/core/mixins/OxyServices.fedcm.d.ts +0 -201
  727. package/lib/typescript/module/core/mixins/OxyServices.fedcm.d.ts.map +0 -1
  728. package/lib/typescript/module/core/mixins/OxyServices.karma.d.ts +0 -86
  729. package/lib/typescript/module/core/mixins/OxyServices.karma.d.ts.map +0 -1
  730. package/lib/typescript/module/core/mixins/OxyServices.language.d.ts +0 -82
  731. package/lib/typescript/module/core/mixins/OxyServices.language.d.ts.map +0 -1
  732. package/lib/typescript/module/core/mixins/OxyServices.location.d.ts +0 -65
  733. package/lib/typescript/module/core/mixins/OxyServices.location.d.ts.map +0 -1
  734. package/lib/typescript/module/core/mixins/OxyServices.payment.d.ts +0 -112
  735. package/lib/typescript/module/core/mixins/OxyServices.payment.d.ts.map +0 -1
  736. package/lib/typescript/module/core/mixins/OxyServices.popup.d.ts +0 -206
  737. package/lib/typescript/module/core/mixins/OxyServices.popup.d.ts.map +0 -1
  738. package/lib/typescript/module/core/mixins/OxyServices.privacy.d.ts +0 -123
  739. package/lib/typescript/module/core/mixins/OxyServices.privacy.d.ts.map +0 -1
  740. package/lib/typescript/module/core/mixins/OxyServices.redirect.d.ts +0 -246
  741. package/lib/typescript/module/core/mixins/OxyServices.redirect.d.ts.map +0 -1
  742. package/lib/typescript/module/core/mixins/OxyServices.security.d.ts +0 -79
  743. package/lib/typescript/module/core/mixins/OxyServices.security.d.ts.map +0 -1
  744. package/lib/typescript/module/core/mixins/OxyServices.user.d.ts +0 -185
  745. package/lib/typescript/module/core/mixins/OxyServices.user.d.ts.map +0 -1
  746. package/lib/typescript/module/core/mixins/OxyServices.utility.d.ts +0 -94
  747. package/lib/typescript/module/core/mixins/OxyServices.utility.d.ts.map +0 -1
  748. package/lib/typescript/module/core/mixins/index.d.ts +0 -31
  749. package/lib/typescript/module/core/mixins/index.d.ts.map +0 -1
  750. package/lib/typescript/module/core/mixins/mixinHelpers.d.ts +0 -32
  751. package/lib/typescript/module/core/mixins/mixinHelpers.d.ts.map +0 -1
  752. package/lib/typescript/module/crypto/index.d.ts +0 -12
  753. package/lib/typescript/module/crypto/index.d.ts.map +0 -1
  754. package/lib/typescript/module/crypto/keyManager.d.ts +0 -190
  755. package/lib/typescript/module/crypto/keyManager.d.ts.map +0 -1
  756. package/lib/typescript/module/crypto/polyfill.d.ts +0 -13
  757. package/lib/typescript/module/crypto/polyfill.d.ts.map +0 -1
  758. package/lib/typescript/module/crypto/recoveryPhrase.d.ts +0 -59
  759. package/lib/typescript/module/crypto/recoveryPhrase.d.ts.map +0 -1
  760. package/lib/typescript/module/crypto/signatureService.d.ts +0 -87
  761. package/lib/typescript/module/crypto/signatureService.d.ts.map +0 -1
  762. package/lib/typescript/module/i18n/index.d.ts +0 -4
  763. package/lib/typescript/module/i18n/index.d.ts.map +0 -1
  764. package/lib/typescript/module/models/interfaces.d.ts +0 -416
  765. package/lib/typescript/module/models/interfaces.d.ts.map +0 -1
  766. package/lib/typescript/module/models/session.d.ts +0 -28
  767. package/lib/typescript/module/models/session.d.ts.map +0 -1
  768. package/lib/typescript/module/node/index.d.ts +0 -10
  769. package/lib/typescript/module/node/index.d.ts.map +0 -1
  770. package/lib/typescript/module/shared/index.d.ts +0 -29
  771. package/lib/typescript/module/shared/index.d.ts.map +0 -1
  772. package/lib/typescript/module/shared/utils/colorUtils.d.ts +0 -105
  773. package/lib/typescript/module/shared/utils/colorUtils.d.ts.map +0 -1
  774. package/lib/typescript/module/shared/utils/debugUtils.d.ts +0 -49
  775. package/lib/typescript/module/shared/utils/debugUtils.d.ts.map +0 -1
  776. package/lib/typescript/module/shared/utils/errorUtils.d.ts +0 -98
  777. package/lib/typescript/module/shared/utils/errorUtils.d.ts.map +0 -1
  778. package/lib/typescript/module/shared/utils/index.d.ts +0 -14
  779. package/lib/typescript/module/shared/utils/index.d.ts.map +0 -1
  780. package/lib/typescript/module/shared/utils/networkUtils.d.ts +0 -140
  781. package/lib/typescript/module/shared/utils/networkUtils.d.ts.map +0 -1
  782. package/lib/typescript/module/shared/utils/themeUtils.d.ts +0 -91
  783. package/lib/typescript/module/shared/utils/themeUtils.d.ts.map +0 -1
  784. package/lib/typescript/module/utils/apiUtils.d.ts +0 -54
  785. package/lib/typescript/module/utils/apiUtils.d.ts.map +0 -1
  786. package/lib/typescript/module/utils/asyncUtils.d.ts +0 -59
  787. package/lib/typescript/module/utils/asyncUtils.d.ts.map +0 -1
  788. package/lib/typescript/module/utils/cache.d.ts +0 -128
  789. package/lib/typescript/module/utils/cache.d.ts.map +0 -1
  790. package/lib/typescript/module/utils/deviceManager.d.ts +0 -66
  791. package/lib/typescript/module/utils/deviceManager.d.ts.map +0 -1
  792. package/lib/typescript/module/utils/errorUtils.d.ts +0 -47
  793. package/lib/typescript/module/utils/errorUtils.d.ts.map +0 -1
  794. package/lib/typescript/module/utils/index.d.ts +0 -7
  795. package/lib/typescript/module/utils/index.d.ts.map +0 -1
  796. package/lib/typescript/module/utils/languageUtils.d.ts +0 -38
  797. package/lib/typescript/module/utils/languageUtils.d.ts.map +0 -1
  798. package/lib/typescript/module/utils/loggerUtils.d.ts +0 -49
  799. package/lib/typescript/module/utils/loggerUtils.d.ts.map +0 -1
  800. package/lib/typescript/module/utils/platform.d.ts +0 -41
  801. package/lib/typescript/module/utils/platform.d.ts.map +0 -1
  802. package/lib/typescript/module/utils/platformInit.d.ts +0 -10
  803. package/lib/typescript/module/utils/platformInit.d.ts.map +0 -1
  804. package/lib/typescript/module/utils/platformInit.native.d.ts +0 -2
  805. package/lib/typescript/module/utils/platformInit.native.d.ts.map +0 -1
  806. package/lib/typescript/module/utils/requestUtils.d.ts +0 -124
  807. package/lib/typescript/module/utils/requestUtils.d.ts.map +0 -1
  808. package/lib/typescript/module/utils/sessionUtils.d.ts +0 -55
  809. package/lib/typescript/module/utils/sessionUtils.d.ts.map +0 -1
  810. package/lib/typescript/module/utils/validationUtils.d.ts +0 -86
  811. package/lib/typescript/module/utils/validationUtils.d.ts.map +0 -1
  812. package/lib/typescript/module/web/WebOxyContext.d.ts +0 -152
  813. package/lib/typescript/module/web/WebOxyContext.d.ts.map +0 -1
  814. package/lib/typescript/module/web/index.d.ts +0 -53
  815. package/lib/typescript/module/web/index.d.ts.map +0 -1
  816. package/lib/typescript/module/web.d.ts +0 -54
  817. package/lib/typescript/module/web.d.ts.map +0 -1
  818. package/lib/typescript/types/bip39.d.ts +0 -32
  819. package/lib/typescript/types/buffer.d.ts +0 -97
  820. package/lib/typescript/types/color.d.ts +0 -20
  821. package/lib/typescript/types/elliptic.d.ts +0 -62
  822. package/src/constants/version.ts +0 -15
  823. package/src/core/AuthManager.ts +0 -436
  824. package/src/core/CrossDomainAuth.ts +0 -307
  825. package/src/core/HttpService.ts +0 -752
  826. package/src/core/OxyServices.base.ts +0 -334
  827. package/src/core/OxyServices.errors.ts +0 -26
  828. package/src/core/OxyServices.ts +0 -129
  829. package/src/core/index.ts +0 -42
  830. package/src/core/mixins/OxyServices.analytics.ts +0 -53
  831. package/src/core/mixins/OxyServices.assets.ts +0 -412
  832. package/src/core/mixins/OxyServices.auth.ts +0 -358
  833. package/src/core/mixins/OxyServices.developer.ts +0 -114
  834. package/src/core/mixins/OxyServices.devices.ts +0 -119
  835. package/src/core/mixins/OxyServices.features.ts +0 -428
  836. package/src/core/mixins/OxyServices.fedcm.ts +0 -494
  837. package/src/core/mixins/OxyServices.karma.ts +0 -111
  838. package/src/core/mixins/OxyServices.language.ts +0 -127
  839. package/src/core/mixins/OxyServices.location.ts +0 -46
  840. package/src/core/mixins/OxyServices.payment.ts +0 -163
  841. package/src/core/mixins/OxyServices.popup.ts +0 -443
  842. package/src/core/mixins/OxyServices.privacy.ts +0 -182
  843. package/src/core/mixins/OxyServices.redirect.ts +0 -397
  844. package/src/core/mixins/OxyServices.security.ts +0 -103
  845. package/src/core/mixins/OxyServices.user.ts +0 -392
  846. package/src/core/mixins/OxyServices.utility.ts +0 -191
  847. package/src/core/mixins/index.ts +0 -91
  848. package/src/core/mixins/mixinHelpers.ts +0 -69
  849. package/src/crypto/index.ts +0 -25
  850. package/src/crypto/keyManager.ts +0 -962
  851. package/src/crypto/polyfill.ts +0 -81
  852. package/src/crypto/recoveryPhrase.ts +0 -166
  853. package/src/crypto/signatureService.ts +0 -323
  854. package/src/i18n/index.ts +0 -75
  855. package/src/i18n/locales/ar-SA.json +0 -120
  856. package/src/i18n/locales/ca-ES.json +0 -120
  857. package/src/i18n/locales/de-DE.json +0 -120
  858. package/src/i18n/locales/en-US.json +0 -956
  859. package/src/i18n/locales/es-ES.json +0 -944
  860. package/src/i18n/locales/fr-FR.json +0 -120
  861. package/src/i18n/locales/it-IT.json +0 -120
  862. package/src/i18n/locales/ja-JP.json +0 -119
  863. package/src/i18n/locales/ko-KR.json +0 -120
  864. package/src/i18n/locales/pt-PT.json +0 -120
  865. package/src/i18n/locales/zh-CN.json +0 -120
  866. package/src/models/interfaces.ts +0 -511
  867. package/src/models/session.ts +0 -30
  868. package/src/node/index.ts +0 -17
  869. package/src/shared/index.ts +0 -82
  870. package/src/shared/utils/colorUtils.ts +0 -155
  871. package/src/shared/utils/debugUtils.ts +0 -73
  872. package/src/shared/utils/errorUtils.ts +0 -181
  873. package/src/shared/utils/index.ts +0 -59
  874. package/src/shared/utils/networkUtils.ts +0 -248
  875. package/src/shared/utils/themeUtils.ts +0 -115
  876. package/src/types/bip39.d.ts +0 -32
  877. package/src/types/buffer.d.ts +0 -97
  878. package/src/types/color.d.ts +0 -20
  879. package/src/types/elliptic.d.ts +0 -62
  880. package/src/utils/__tests__/validationUtils.test.ts +0 -236
  881. package/src/utils/apiUtils.ts +0 -88
  882. package/src/utils/asyncUtils.ts +0 -252
  883. package/src/utils/cache.ts +0 -264
  884. package/src/utils/deviceManager.ts +0 -198
  885. package/src/utils/errorUtils.ts +0 -216
  886. package/src/utils/index.ts +0 -21
  887. package/src/utils/languageUtils.ts +0 -174
  888. package/src/utils/loggerUtils.ts +0 -153
  889. package/src/utils/platform.ts +0 -117
  890. package/src/utils/platformInit.native.ts +0 -13
  891. package/src/utils/platformInit.ts +0 -11
  892. package/src/utils/requestUtils.ts +0 -237
  893. package/src/utils/sessionUtils.ts +0 -206
  894. package/src/utils/validationUtils.ts +0 -174
  895. package/src/web/WebOxyContext.tsx +0 -470
  896. package/src/web/index.ts +0 -157
  897. package/src/web.ts +0 -230
@@ -1,939 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * Key Manager - ECDSA secp256k1 Key Generation and Storage
5
- *
6
- * Handles secure generation, storage, and retrieval of cryptographic keys.
7
- * Private keys are stored securely using expo-secure-store and never leave the device.
8
- */
9
-
10
- import { ec as EC } from 'elliptic';
11
- import { isWeb, isIOS, isAndroid } from "../utils/platform.js";
12
- import { logger } from "../utils/loggerUtils.js";
13
-
14
- // Lazy imports for React Native specific modules
15
- let SecureStore = null;
16
- let ExpoCrypto = null;
17
- const ec = new EC('secp256k1');
18
- const STORAGE_KEYS = {
19
- PRIVATE_KEY: 'oxy_identity_private_key',
20
- PUBLIC_KEY: 'oxy_identity_public_key',
21
- BACKUP_PRIVATE_KEY: 'oxy_identity_backup_private_key',
22
- BACKUP_PUBLIC_KEY: 'oxy_identity_backup_public_key',
23
- BACKUP_TIMESTAMP: 'oxy_identity_backup_timestamp',
24
- // Shared keys accessible across all Oxy apps (iOS Keychain Group / Android Account Manager)
25
- SHARED_PRIVATE_KEY: 'oxy_shared_identity_private_key',
26
- SHARED_PUBLIC_KEY: 'oxy_shared_identity_public_key',
27
- SHARED_SESSION_TOKEN: 'oxy_shared_session_token',
28
- SHARED_SESSION_ID: 'oxy_shared_session_id'
29
- };
30
-
31
- /**
32
- * iOS Keychain Access Group for sharing identities across Oxy apps
33
- * All Oxy apps must have this access group enabled in their entitlements
34
- * Format: [Team ID].com.oxy.shared or group.com.oxy.shared
35
- */
36
- const IOS_KEYCHAIN_GROUP = 'group.com.oxy.shared';
37
-
38
- /**
39
- * Android Account Manager type for shared authentication
40
- * Used with sharedUserId to share sessions across apps
41
- */
42
- const ANDROID_ACCOUNT_TYPE = 'com.oxy.account';
43
-
44
- /**
45
- * Initialize React Native specific modules
46
- * This allows the module to work in both Node.js and React Native environments
47
- */
48
- async function initSecureStore() {
49
- if (!SecureStore) {
50
- try {
51
- SecureStore = await import('expo-secure-store');
52
- } catch (error) {
53
- const errorMessage = error instanceof Error ? error.message : String(error);
54
- throw new Error(`Failed to load expo-secure-store: ${errorMessage}. Make sure expo-secure-store is installed and properly configured.`);
55
- }
56
- }
57
- if (!SecureStore) {
58
- throw new Error('expo-secure-store module is not available');
59
- }
60
- return SecureStore;
61
- }
62
-
63
- /**
64
- * Check if we're in a React Native environment
65
- */
66
- function isReactNative() {
67
- return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
68
- }
69
-
70
- /**
71
- * Check if we're in a Node.js environment
72
- */
73
- function isNodeJS() {
74
- return typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
75
- }
76
-
77
- /**
78
- * Check if we're on web platform
79
- * Identity storage is only available on native platforms (iOS/Android)
80
- */
81
- function isWebPlatform() {
82
- return isWeb();
83
- }
84
- async function initExpoCrypto() {
85
- if (!ExpoCrypto) {
86
- ExpoCrypto = await import('expo-crypto');
87
- }
88
- return ExpoCrypto;
89
- }
90
-
91
- /**
92
- * Convert Uint8Array to hexadecimal string
93
- * Works in both Node.js and React Native
94
- */
95
- function uint8ArrayToHex(bytes) {
96
- return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');
97
- }
98
-
99
- /**
100
- * Generate cryptographically secure random bytes
101
- */
102
- async function getSecureRandomBytes(length) {
103
- // In React Native, always use expo-crypto
104
- if (isReactNative() || !isNodeJS()) {
105
- const Crypto = await initExpoCrypto();
106
- return Crypto.getRandomBytes(length);
107
- }
108
-
109
- // In Node.js, use Node's crypto module
110
- // Use Function constructor to prevent Metro bundler from statically analyzing this require
111
- // This ensures the require is only evaluated in Node.js runtime, not during Metro bundling
112
- try {
113
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
114
- const getCrypto = new Function('return require("crypto")');
115
- const crypto = getCrypto();
116
- return new Uint8Array(crypto.randomBytes(length));
117
- } catch (error) {
118
- // Fallback to expo-crypto if Node crypto fails
119
- const Crypto = await initExpoCrypto();
120
- return Crypto.getRandomBytes(length);
121
- }
122
- }
123
- export class KeyManager {
124
- // In-memory cache for identity state (invalidated on identity changes)
125
- static cachedPublicKey = null;
126
- static cachedHasIdentity = null;
127
- static cachedSharedPublicKey = null;
128
- static cachedHasSharedIdentity = null;
129
-
130
- /**
131
- * Invalidate cached identity state
132
- * Called internally when identity is created/deleted/imported
133
- */
134
- static invalidateCache() {
135
- KeyManager.cachedPublicKey = null;
136
- KeyManager.cachedHasIdentity = null;
137
- }
138
-
139
- /**
140
- * Invalidate cached shared identity state
141
- * Called internally when shared identity is created/deleted/imported
142
- */
143
- static invalidateSharedCache() {
144
- KeyManager.cachedSharedPublicKey = null;
145
- KeyManager.cachedHasSharedIdentity = null;
146
- }
147
-
148
- /**
149
- * Generate a new ECDSA secp256k1 key pair
150
- * Returns the keys in hexadecimal format
151
- */
152
- static generateKeyPairSync() {
153
- const keyPair = ec.genKeyPair();
154
- return {
155
- privateKey: keyPair.getPrivate('hex'),
156
- publicKey: keyPair.getPublic('hex')
157
- };
158
- }
159
-
160
- /**
161
- * Generate a new key pair using secure random bytes
162
- */
163
- static async generateKeyPair() {
164
- const randomBytes = await getSecureRandomBytes(32);
165
- const privateKeyHex = uint8ArrayToHex(randomBytes);
166
- const keyPair = ec.keyFromPrivate(privateKeyHex);
167
- return {
168
- privateKey: keyPair.getPrivate('hex'),
169
- publicKey: keyPair.getPublic('hex')
170
- };
171
- }
172
-
173
- // ==================== SHARED IDENTITY METHODS ====================
174
- // These methods enable cross-app session sharing (like Google)
175
- // iOS: Uses Keychain Access Groups
176
- // Android: Uses Account Manager with shared user ID
177
- // =================================================================
178
-
179
- /**
180
- * Create a shared identity accessible across all Oxy apps
181
- *
182
- * iOS: Stores in shared keychain group (requires entitlement configuration)
183
- * Android: Stores in Account Manager (requires sharedUserId in manifest)
184
- *
185
- * This enables true cross-app SSO - when user signs in to one Oxy app,
186
- * they're automatically signed in to all other Oxy apps.
187
- *
188
- * @returns Public key of the shared identity
189
- * @throws Error if not on native platform or if sharing is not configured
190
- */
191
- static async createSharedIdentity() {
192
- if (isWebPlatform()) {
193
- throw new Error('Shared identity is only available on native platforms (iOS/Android).');
194
- }
195
- const store = await initSecureStore();
196
- const {
197
- privateKey,
198
- publicKey
199
- } = await KeyManager.generateKeyPair();
200
- if (isIOS()) {
201
- // iOS: Store in shared keychain group
202
- // Note: keychainAccessGroup requires Keychain Sharing capability in Xcode
203
- try {
204
- await store.setItemAsync(STORAGE_KEYS.SHARED_PRIVATE_KEY, privateKey, {
205
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY,
206
- keychainAccessGroup: IOS_KEYCHAIN_GROUP // This enables sharing across apps
207
- }); // Type assertion: keychainAccessGroup may not be in older @types but is supported
208
-
209
- await store.setItemAsync(STORAGE_KEYS.SHARED_PUBLIC_KEY, publicKey, {
210
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
211
- });
212
- } catch (error) {
213
- throw new Error(`Failed to create shared identity on iOS. Ensure your app has the Keychain Sharing capability enabled with access group "${IOS_KEYCHAIN_GROUP}". Error: ${error}`);
214
- }
215
- } else if (isAndroid()) {
216
- // Android: Store in secure store (accessible via sharedUserId)
217
- // Note: All Oxy apps must have the same sharedUserId in AndroidManifest.xml
218
- await store.setItemAsync(STORAGE_KEYS.SHARED_PRIVATE_KEY, privateKey, {
219
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
220
- });
221
- await store.setItemAsync(STORAGE_KEYS.SHARED_PUBLIC_KEY, publicKey);
222
- }
223
-
224
- // Update cache
225
- KeyManager.cachedSharedPublicKey = publicKey;
226
- KeyManager.cachedHasSharedIdentity = true;
227
- if (__DEV__) {
228
- logger.debug('Shared identity created successfully', {
229
- component: 'KeyManager'
230
- });
231
- }
232
- return publicKey;
233
- }
234
-
235
- /**
236
- * Get the shared public key (accessible across all Oxy apps)
237
- *
238
- * @returns Shared public key or null if no shared identity exists
239
- */
240
- static async getSharedPublicKey() {
241
- if (isWebPlatform()) {
242
- return null;
243
- }
244
-
245
- // Return cached value if available
246
- if (KeyManager.cachedSharedPublicKey !== null) {
247
- return KeyManager.cachedSharedPublicKey;
248
- }
249
- try {
250
- const store = await initSecureStore();
251
- let publicKey = null;
252
- if (isIOS()) {
253
- publicKey = await store.getItemAsync(STORAGE_KEYS.SHARED_PUBLIC_KEY, {
254
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
255
- });
256
- } else if (isAndroid()) {
257
- publicKey = await store.getItemAsync(STORAGE_KEYS.SHARED_PUBLIC_KEY);
258
- }
259
-
260
- // Cache result
261
- KeyManager.cachedSharedPublicKey = publicKey;
262
- return publicKey;
263
- } catch (error) {
264
- if (__DEV__) {
265
- logger.warn('Failed to get shared public key', {
266
- component: 'KeyManager'
267
- }, error);
268
- }
269
- KeyManager.cachedSharedPublicKey = null;
270
- return null;
271
- }
272
- }
273
-
274
- /**
275
- * Get the shared private key (for signing operations)
276
- *
277
- * WARNING: Only use this for signing operations within the app.
278
- * The private key should NEVER be transmitted or exposed.
279
- *
280
- * @returns Shared private key or null if no shared identity exists
281
- */
282
- static async getSharedPrivateKey() {
283
- if (isWebPlatform()) {
284
- return null;
285
- }
286
- try {
287
- const store = await initSecureStore();
288
- let privateKey = null;
289
- if (isIOS()) {
290
- privateKey = await store.getItemAsync(STORAGE_KEYS.SHARED_PRIVATE_KEY, {
291
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
292
- });
293
- } else if (isAndroid()) {
294
- privateKey = await store.getItemAsync(STORAGE_KEYS.SHARED_PRIVATE_KEY);
295
- }
296
- return privateKey;
297
- } catch (error) {
298
- if (__DEV__) {
299
- logger.warn('Failed to get shared private key', {
300
- component: 'KeyManager'
301
- }, error);
302
- }
303
- return null;
304
- }
305
- }
306
-
307
- /**
308
- * Check if a shared identity exists (accessible across all Oxy apps)
309
- *
310
- * @returns True if shared identity exists, false otherwise
311
- */
312
- static async hasSharedIdentity() {
313
- if (isWebPlatform()) {
314
- return false;
315
- }
316
-
317
- // Return cached value if available
318
- if (KeyManager.cachedHasSharedIdentity !== null) {
319
- return KeyManager.cachedHasSharedIdentity;
320
- }
321
- try {
322
- const privateKey = await KeyManager.getSharedPrivateKey();
323
- const hasShared = privateKey !== null;
324
-
325
- // Cache result
326
- KeyManager.cachedHasSharedIdentity = hasShared;
327
- return hasShared;
328
- } catch (error) {
329
- if (__DEV__) {
330
- logger.warn('Failed to check shared identity', {
331
- component: 'KeyManager'
332
- }, error);
333
- }
334
- KeyManager.cachedHasSharedIdentity = false;
335
- return false;
336
- }
337
- }
338
-
339
- /**
340
- * Import an existing key pair as shared identity
341
- *
342
- * This is used when:
343
- * 1. User signs in to a new Oxy app for the first time
344
- * 2. User has existing identity on another Oxy app
345
- * 3. We want to sync the identity across apps
346
- *
347
- * @param privateKey - Private key in hex format
348
- * @returns Public key
349
- */
350
- static async importSharedIdentity(privateKey) {
351
- if (isWebPlatform()) {
352
- throw new Error('Shared identity import is only available on native platforms.');
353
- }
354
- const store = await initSecureStore();
355
- const keyPair = ec.keyFromPrivate(privateKey);
356
- const publicKey = keyPair.getPublic('hex');
357
- if (isIOS()) {
358
- await store.setItemAsync(STORAGE_KEYS.SHARED_PRIVATE_KEY, privateKey, {
359
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY,
360
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
361
- });
362
- await store.setItemAsync(STORAGE_KEYS.SHARED_PUBLIC_KEY, publicKey, {
363
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
364
- });
365
- } else if (isAndroid()) {
366
- await store.setItemAsync(STORAGE_KEYS.SHARED_PRIVATE_KEY, privateKey, {
367
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
368
- });
369
- await store.setItemAsync(STORAGE_KEYS.SHARED_PUBLIC_KEY, publicKey);
370
- }
371
-
372
- // Update cache
373
- KeyManager.cachedSharedPublicKey = publicKey;
374
- KeyManager.cachedHasSharedIdentity = true;
375
- if (__DEV__) {
376
- logger.debug('Shared identity imported successfully', {
377
- component: 'KeyManager'
378
- });
379
- }
380
- return publicKey;
381
- }
382
-
383
- /**
384
- * Store session information in shared storage
385
- *
386
- * This allows all Oxy apps to access the same session without
387
- * re-authenticating. When user signs in to one app, all apps
388
- * get the session automatically.
389
- *
390
- * @param sessionId - Session ID from authentication
391
- * @param accessToken - Access token for API calls
392
- */
393
- static async storeSharedSession(sessionId, accessToken) {
394
- if (isWebPlatform()) {
395
- return; // Not supported on web
396
- }
397
- try {
398
- const store = await initSecureStore();
399
- if (isIOS()) {
400
- await store.setItemAsync(STORAGE_KEYS.SHARED_SESSION_ID, sessionId, {
401
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
402
- });
403
- await store.setItemAsync(STORAGE_KEYS.SHARED_SESSION_TOKEN, accessToken, {
404
- keychainAccessible: store.WHEN_UNLOCKED,
405
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
406
- });
407
- } else if (isAndroid()) {
408
- await store.setItemAsync(STORAGE_KEYS.SHARED_SESSION_ID, sessionId);
409
- await store.setItemAsync(STORAGE_KEYS.SHARED_SESSION_TOKEN, accessToken);
410
- }
411
- if (__DEV__) {
412
- logger.debug('Shared session stored successfully', {
413
- component: 'KeyManager'
414
- });
415
- }
416
- } catch (error) {
417
- if (__DEV__) {
418
- logger.error('Failed to store shared session', error, {
419
- component: 'KeyManager'
420
- });
421
- }
422
- throw error;
423
- }
424
- }
425
-
426
- /**
427
- * Get shared session information
428
- *
429
- * This allows any Oxy app to check if user is already signed in
430
- * via another Oxy app. Enables instant cross-app SSO.
431
- *
432
- * @returns Session data or null if no shared session exists
433
- */
434
- static async getSharedSession() {
435
- if (isWebPlatform()) {
436
- return null;
437
- }
438
- try {
439
- const store = await initSecureStore();
440
- let sessionId = null;
441
- let accessToken = null;
442
- if (isIOS()) {
443
- sessionId = await store.getItemAsync(STORAGE_KEYS.SHARED_SESSION_ID, {
444
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
445
- });
446
- accessToken = await store.getItemAsync(STORAGE_KEYS.SHARED_SESSION_TOKEN, {
447
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
448
- });
449
- } else if (isAndroid()) {
450
- sessionId = await store.getItemAsync(STORAGE_KEYS.SHARED_SESSION_ID);
451
- accessToken = await store.getItemAsync(STORAGE_KEYS.SHARED_SESSION_TOKEN);
452
- }
453
- if (!sessionId || !accessToken) {
454
- return null;
455
- }
456
- return {
457
- sessionId,
458
- accessToken
459
- };
460
- } catch (error) {
461
- if (__DEV__) {
462
- logger.warn('Failed to get shared session', {
463
- component: 'KeyManager'
464
- }, error);
465
- }
466
- return null;
467
- }
468
- }
469
-
470
- /**
471
- * Clear shared session (on logout)
472
- *
473
- * This signs out the user from ALL Oxy apps simultaneously.
474
- * Call this when user explicitly logs out.
475
- */
476
- static async clearSharedSession() {
477
- if (isWebPlatform()) {
478
- return;
479
- }
480
- try {
481
- const store = await initSecureStore();
482
- if (isIOS()) {
483
- await store.deleteItemAsync(STORAGE_KEYS.SHARED_SESSION_ID, {
484
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
485
- });
486
- await store.deleteItemAsync(STORAGE_KEYS.SHARED_SESSION_TOKEN, {
487
- keychainAccessGroup: IOS_KEYCHAIN_GROUP
488
- });
489
- } else if (isAndroid()) {
490
- await store.deleteItemAsync(STORAGE_KEYS.SHARED_SESSION_ID);
491
- await store.deleteItemAsync(STORAGE_KEYS.SHARED_SESSION_TOKEN);
492
- }
493
- if (__DEV__) {
494
- logger.debug('Shared session cleared successfully', {
495
- component: 'KeyManager'
496
- });
497
- }
498
- } catch (error) {
499
- if (__DEV__) {
500
- logger.error('Failed to clear shared session', error, {
501
- component: 'KeyManager'
502
- });
503
- }
504
- }
505
- }
506
-
507
- /**
508
- * Migrate local identity to shared identity
509
- *
510
- * Call this when upgrading existing apps to use shared identities.
511
- * Copies the device-specific identity to shared storage so it can
512
- * be accessed by other Oxy apps.
513
- *
514
- * @returns True if migration was successful, false if no local identity exists
515
- */
516
- static async migrateToSharedIdentity() {
517
- if (isWebPlatform()) {
518
- return false;
519
- }
520
- try {
521
- // Check if we already have a shared identity
522
- const hasShared = await KeyManager.hasSharedIdentity();
523
- if (hasShared) {
524
- if (__DEV__) {
525
- logger.debug('Shared identity already exists, skipping migration', {
526
- component: 'KeyManager'
527
- });
528
- }
529
- return true;
530
- }
531
-
532
- // Get local identity
533
- const privateKey = await KeyManager.getPrivateKey();
534
- if (!privateKey) {
535
- if (__DEV__) {
536
- logger.debug('No local identity to migrate', {
537
- component: 'KeyManager'
538
- });
539
- }
540
- return false;
541
- }
542
-
543
- // Import to shared storage
544
- await KeyManager.importSharedIdentity(privateKey);
545
- if (__DEV__) {
546
- logger.debug('Successfully migrated local identity to shared identity', {
547
- component: 'KeyManager'
548
- });
549
- }
550
- return true;
551
- } catch (error) {
552
- if (__DEV__) {
553
- logger.error('Failed to migrate to shared identity', error, {
554
- component: 'KeyManager'
555
- });
556
- }
557
- return false;
558
- }
559
- }
560
-
561
- // ==================== END SHARED IDENTITY METHODS ====================
562
-
563
- /**
564
- * Generate and securely store a new key pair on the device
565
- * Returns only the public key (private key is stored securely)
566
- */
567
- static async createIdentity() {
568
- if (isWebPlatform()) {
569
- throw new Error('Identity creation is only available on native platforms (iOS/Android). Please use the native app to create your identity.');
570
- }
571
- const store = await initSecureStore();
572
- const {
573
- privateKey,
574
- publicKey
575
- } = await KeyManager.generateKeyPair();
576
- await store.setItemAsync(STORAGE_KEYS.PRIVATE_KEY, privateKey, {
577
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
578
- });
579
- await store.setItemAsync(STORAGE_KEYS.PUBLIC_KEY, publicKey);
580
-
581
- // Update cache
582
- KeyManager.cachedPublicKey = publicKey;
583
- KeyManager.cachedHasIdentity = true;
584
- return publicKey;
585
- }
586
-
587
- /**
588
- * Import an existing key pair (e.g., from recovery phrase)
589
- */
590
- static async importKeyPair(privateKey) {
591
- if (isWebPlatform()) {
592
- throw new Error('Identity import is only available on native platforms (iOS/Android). Please use the native app to import your identity.');
593
- }
594
- const store = await initSecureStore();
595
- const keyPair = ec.keyFromPrivate(privateKey);
596
- const publicKey = keyPair.getPublic('hex');
597
- await store.setItemAsync(STORAGE_KEYS.PRIVATE_KEY, privateKey, {
598
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
599
- });
600
- await store.setItemAsync(STORAGE_KEYS.PUBLIC_KEY, publicKey);
601
-
602
- // Update cache
603
- KeyManager.cachedPublicKey = publicKey;
604
- KeyManager.cachedHasIdentity = true;
605
- return publicKey;
606
- }
607
-
608
- /**
609
- * Get the stored private key
610
- * WARNING: Only use this for signing operations within the app
611
- */
612
- static async getPrivateKey() {
613
- if (isWebPlatform()) {
614
- return null; // Identity storage is only available on native platforms
615
- }
616
- try {
617
- const store = await initSecureStore();
618
- return await store.getItemAsync(STORAGE_KEYS.PRIVATE_KEY);
619
- } catch (error) {
620
- // If secure store is not available, return null (no identity)
621
- // This allows the app to continue functioning even if secure store fails to load
622
- if (__DEV__) {
623
- logger.warn('Failed to access secure store', {
624
- component: 'KeyManager'
625
- }, error);
626
- }
627
- return null;
628
- }
629
- }
630
-
631
- /**
632
- * Get the stored public key (cached for performance)
633
- */
634
- static async getPublicKey() {
635
- if (isWebPlatform()) {
636
- return null; // Identity storage is only available on native platforms
637
- }
638
- if (KeyManager.cachedPublicKey !== null) {
639
- return KeyManager.cachedPublicKey;
640
- }
641
- try {
642
- const store = await initSecureStore();
643
- const publicKey = await store.getItemAsync(STORAGE_KEYS.PUBLIC_KEY);
644
-
645
- // Cache result (null is a valid cache value meaning no identity)
646
- KeyManager.cachedPublicKey = publicKey;
647
- return publicKey;
648
- } catch (error) {
649
- // If secure store is not available, return null (no identity)
650
- // Cache null to avoid repeated failed attempts
651
- KeyManager.cachedPublicKey = null;
652
- if (__DEV__) {
653
- logger.warn('Failed to access secure store', {
654
- component: 'KeyManager'
655
- }, error);
656
- }
657
- return null;
658
- }
659
- }
660
-
661
- /**
662
- * Check if an identity (key pair) exists on this device (cached for performance)
663
- */
664
- static async hasIdentity() {
665
- if (isWebPlatform()) {
666
- return false; // Identity storage is only available on native platforms
667
- }
668
- if (KeyManager.cachedHasIdentity !== null) {
669
- return KeyManager.cachedHasIdentity;
670
- }
671
- try {
672
- const privateKey = await KeyManager.getPrivateKey();
673
- const hasIdentity = privateKey !== null;
674
-
675
- // Cache result
676
- KeyManager.cachedHasIdentity = hasIdentity;
677
- return hasIdentity;
678
- } catch (error) {
679
- // If we can't check, assume no identity (safer default)
680
- // Cache false to avoid repeated failed attempts
681
- KeyManager.cachedHasIdentity = false;
682
- if (__DEV__) {
683
- logger.warn('Failed to check identity', {
684
- component: 'KeyManager'
685
- }, error);
686
- }
687
- return false;
688
- }
689
- }
690
-
691
- /**
692
- * Delete the stored identity (both keys)
693
- * Use with EXTREME caution - this is irreversible without a recovery phrase
694
- * This should ONLY be called when explicitly requested by the user
695
- * @param skipBackup - If true, skip backup before deletion (default: false)
696
- * @param force - If true, skip confirmation checks (default: false)
697
- * @param userConfirmed - If true, user has explicitly confirmed deletion (default: false)
698
- */
699
- static async deleteIdentity(skipBackup = false, force = false, userConfirmed = false) {
700
- if (isWebPlatform()) {
701
- return; // Identity storage is only available on native platforms, nothing to delete
702
- }
703
- // CRITICAL SAFEGUARD: Require explicit user confirmation unless force is true
704
- if (!force && !userConfirmed) {
705
- throw new Error('Identity deletion requires explicit user confirmation. This is a safety measure to prevent accidental data loss.');
706
- }
707
- if (!force) {
708
- const hasIdentity = await KeyManager.hasIdentity();
709
- if (!hasIdentity) {
710
- return; // Nothing to delete
711
- }
712
- }
713
- const store = await initSecureStore();
714
-
715
- // ALWAYS create backup before deletion unless explicitly skipped
716
- if (!skipBackup) {
717
- try {
718
- const backupSuccess = await KeyManager.backupIdentity();
719
- if (!backupSuccess && typeof __DEV__ !== 'undefined' && __DEV__) {
720
- logger.warn('Failed to backup identity before deletion - proceeding anyway', {
721
- component: 'KeyManager'
722
- });
723
- }
724
- } catch (backupError) {
725
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
726
- logger.warn('Failed to backup identity before deletion', {
727
- component: 'KeyManager'
728
- }, backupError);
729
- }
730
- }
731
- }
732
- await store.deleteItemAsync(STORAGE_KEYS.PRIVATE_KEY);
733
- await store.deleteItemAsync(STORAGE_KEYS.PUBLIC_KEY);
734
-
735
- // Invalidate cache
736
- KeyManager.invalidateCache();
737
-
738
- // Also clear backup if force deletion
739
- if (force) {
740
- try {
741
- await store.deleteItemAsync(STORAGE_KEYS.BACKUP_PRIVATE_KEY);
742
- await store.deleteItemAsync(STORAGE_KEYS.BACKUP_PUBLIC_KEY);
743
- await store.deleteItemAsync(STORAGE_KEYS.BACKUP_TIMESTAMP);
744
- } catch (error) {
745
- // Ignore backup deletion errors
746
- }
747
- }
748
- }
749
-
750
- /**
751
- * Backup identity to SecureStore (separate backup storage)
752
- * This provides a recovery mechanism if primary storage fails
753
- */
754
- static async backupIdentity() {
755
- if (isWebPlatform()) {
756
- return false; // Identity storage is only available on native platforms
757
- }
758
- try {
759
- const store = await initSecureStore();
760
- const privateKey = await KeyManager.getPrivateKey();
761
- const publicKey = await KeyManager.getPublicKey();
762
- if (!privateKey || !publicKey) {
763
- return false; // Nothing to backup
764
- }
765
-
766
- // Store backup in SecureStore (still secure, but separate from primary storage)
767
- await store.setItemAsync(STORAGE_KEYS.BACKUP_PRIVATE_KEY, privateKey, {
768
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
769
- });
770
- await store.setItemAsync(STORAGE_KEYS.BACKUP_PUBLIC_KEY, publicKey);
771
- await store.setItemAsync(STORAGE_KEYS.BACKUP_TIMESTAMP, Date.now().toString());
772
- return true;
773
- } catch (error) {
774
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
775
- logger.error('Failed to backup identity', error, {
776
- component: 'KeyManager'
777
- });
778
- }
779
- return false;
780
- }
781
- }
782
-
783
- /**
784
- * Verify identity integrity - checks if keys are valid and accessible
785
- */
786
- static async verifyIdentityIntegrity() {
787
- if (isWebPlatform()) {
788
- return false; // Identity storage is only available on native platforms
789
- }
790
- try {
791
- const privateKey = await KeyManager.getPrivateKey();
792
- const publicKey = await KeyManager.getPublicKey();
793
- if (!privateKey || !publicKey) {
794
- return false;
795
- }
796
-
797
- // Validate private key format
798
- if (!KeyManager.isValidPrivateKey(privateKey)) {
799
- return false;
800
- }
801
-
802
- // Validate public key format
803
- if (!KeyManager.isValidPublicKey(publicKey)) {
804
- return false;
805
- }
806
-
807
- // Verify public key can be derived from private key
808
- const derivedPublicKey = KeyManager.derivePublicKey(privateKey);
809
- if (derivedPublicKey !== publicKey) {
810
- return false; // Keys don't match
811
- }
812
-
813
- // Verify we can create a key pair object (tests elliptic curve operations)
814
- const keyPair = await KeyManager.getKeyPairObject();
815
- if (!keyPair) {
816
- return false;
817
- }
818
- return true;
819
- } catch (error) {
820
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
821
- logger.error('Identity integrity check failed', error, {
822
- component: 'KeyManager'
823
- });
824
- }
825
- return false;
826
- }
827
- }
828
-
829
- /**
830
- * Restore identity from backup if primary storage is corrupted
831
- */
832
- static async restoreIdentityFromBackup() {
833
- if (isWebPlatform()) {
834
- return false; // Identity storage is only available on native platforms
835
- }
836
- try {
837
- const store = await initSecureStore();
838
-
839
- // Check if backup exists
840
- const backupPrivateKey = await store.getItemAsync(STORAGE_KEYS.BACKUP_PRIVATE_KEY);
841
- const backupPublicKey = await store.getItemAsync(STORAGE_KEYS.BACKUP_PUBLIC_KEY);
842
- if (!backupPrivateKey || !backupPublicKey) {
843
- return false; // No backup available
844
- }
845
-
846
- // Verify backup integrity
847
- if (!KeyManager.isValidPrivateKey(backupPrivateKey)) {
848
- return false;
849
- }
850
- if (!KeyManager.isValidPublicKey(backupPublicKey)) {
851
- return false;
852
- }
853
-
854
- // Verify keys match
855
- const derivedPublicKey = KeyManager.derivePublicKey(backupPrivateKey);
856
- if (derivedPublicKey !== backupPublicKey) {
857
- return false; // Backup keys don't match
858
- }
859
- await store.setItemAsync(STORAGE_KEYS.PRIVATE_KEY, backupPrivateKey, {
860
- keychainAccessible: store.WHEN_UNLOCKED_THIS_DEVICE_ONLY
861
- });
862
- await store.setItemAsync(STORAGE_KEYS.PUBLIC_KEY, backupPublicKey);
863
- const restored = await KeyManager.verifyIdentityIntegrity();
864
- if (restored) {
865
- // Update cache
866
- KeyManager.cachedPublicKey = backupPublicKey;
867
- KeyManager.cachedHasIdentity = true;
868
- await store.setItemAsync(STORAGE_KEYS.BACKUP_TIMESTAMP, Date.now().toString());
869
- return true;
870
- }
871
- return false;
872
- } catch (error) {
873
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
874
- logger.error('Failed to restore identity from backup', error, {
875
- component: 'KeyManager'
876
- });
877
- }
878
- return false;
879
- }
880
- }
881
-
882
- /**
883
- * Get the elliptic curve key object from the stored private key
884
- * Used internally for signing operations
885
- */
886
- static async getKeyPairObject() {
887
- if (isWebPlatform()) {
888
- return null; // Identity storage is only available on native platforms
889
- }
890
- const privateKey = await KeyManager.getPrivateKey();
891
- if (!privateKey) return null;
892
- return ec.keyFromPrivate(privateKey);
893
- }
894
-
895
- /**
896
- * Derive public key from a private key (without storing)
897
- */
898
- static derivePublicKey(privateKey) {
899
- const keyPair = ec.keyFromPrivate(privateKey);
900
- return keyPair.getPublic('hex');
901
- }
902
-
903
- /**
904
- * Validate that a string is a valid public key
905
- */
906
- static isValidPublicKey(publicKey) {
907
- try {
908
- ec.keyFromPublic(publicKey, 'hex');
909
- return true;
910
- } catch {
911
- return false;
912
- }
913
- }
914
-
915
- /**
916
- * Validate that a string is a valid private key
917
- */
918
- static isValidPrivateKey(privateKey) {
919
- try {
920
- const keyPair = ec.keyFromPrivate(privateKey);
921
- // Verify it can derive a public key
922
- keyPair.getPublic('hex');
923
- return true;
924
- } catch {
925
- return false;
926
- }
927
- }
928
-
929
- /**
930
- * Get a shortened version of the public key for display
931
- * Format: first 8 chars...last 8 chars
932
- */
933
- static shortenPublicKey(publicKey) {
934
- if (publicKey.length <= 20) return publicKey;
935
- return `${publicKey.slice(0, 8)}...${publicKey.slice(-8)}`;
936
- }
937
- }
938
- export default KeyManager;
939
- //# sourceMappingURL=keyManager.js.map