@oxyhq/services 5.16.44 → 5.17.1

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 (512) hide show
  1. package/README.md +29 -10
  2. package/lib/commonjs/core/OxyServices.js +1 -1
  3. package/lib/commonjs/core/index.js +20 -15
  4. package/lib/commonjs/core/index.js.map +1 -1
  5. package/lib/commonjs/core/mixins/OxyServices.auth.js +36 -53
  6. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  7. package/lib/commonjs/core/mixins/OxyServices.user.js +10 -17
  8. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  9. package/lib/commonjs/core/services/TokenService.js +27 -13
  10. package/lib/commonjs/core/services/TokenService.js.map +1 -1
  11. package/lib/commonjs/crypto/index.js +0 -16
  12. package/lib/commonjs/crypto/index.js.map +1 -1
  13. package/lib/commonjs/crypto/keyManager.js +21 -22
  14. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  15. package/lib/commonjs/crypto/polyfill.js +1 -10
  16. package/lib/commonjs/crypto/polyfill.js.map +1 -1
  17. package/lib/commonjs/crypto/signatureService.js +18 -32
  18. package/lib/commonjs/crypto/signatureService.js.map +1 -1
  19. package/lib/commonjs/index.js +13 -134
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/models/interfaces.js +0 -7
  22. package/lib/commonjs/models/interfaces.js.map +1 -1
  23. package/lib/commonjs/node/index.js +1 -10
  24. package/lib/commonjs/node/index.js.map +1 -1
  25. package/lib/commonjs/ui/components/BottomSheetRouter.js +1 -9
  26. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  27. package/lib/commonjs/ui/components/OxyProvider.js +9 -20
  28. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  29. package/lib/commonjs/ui/context/OxyContext.js +779 -450
  30. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  31. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +551 -0
  32. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -0
  33. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +73 -0
  34. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js.map +1 -0
  35. package/lib/commonjs/ui/context/hooks/useStorage.js +79 -0
  36. package/lib/commonjs/ui/context/hooks/useStorage.js.map +1 -0
  37. package/lib/commonjs/ui/hooks/index.js +0 -20
  38. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  39. package/lib/commonjs/ui/hooks/mutations/index.js +0 -12
  40. package/lib/commonjs/ui/hooks/mutations/index.js.map +1 -1
  41. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +23 -74
  42. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  43. package/lib/commonjs/ui/hooks/queries/index.js +0 -12
  44. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -1
  45. package/lib/commonjs/ui/hooks/queries/queryKeys.js +1 -3
  46. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  47. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +28 -64
  48. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  49. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +6 -4
  50. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  51. package/lib/commonjs/ui/hooks/useDeviceManagement.js +73 -0
  52. package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +1 -0
  53. package/lib/commonjs/ui/hooks/useProfileEditing.js +5 -3
  54. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  55. package/lib/commonjs/ui/hooks/useSessionManagement.js +284 -0
  56. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -0
  57. package/lib/commonjs/ui/index.js +2 -10
  58. package/lib/commonjs/ui/index.js.map +1 -1
  59. package/lib/commonjs/ui/navigation/routes.js +1 -5
  60. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  61. package/lib/commonjs/ui/screens/AccountCenterScreen.js +4 -9
  62. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +19 -37
  64. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +5 -5
  66. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/OxyAuthScreen.js +15 -2
  68. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +97 -76
  70. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/ProfileScreen.js +6 -6
  72. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  73. package/lib/commonjs/ui/stores/authStore.js +6 -54
  74. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  75. package/lib/commonjs/ui/styles/spacing.js +2 -54
  76. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  77. package/lib/commonjs/ui/utils/avatarUtils.js +12 -9
  78. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  79. package/lib/commonjs/ui/utils/sessionHelpers.js +1 -7
  80. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  81. package/lib/commonjs/utils/deviceManager.js +177 -0
  82. package/lib/commonjs/utils/deviceManager.js.map +1 -0
  83. package/lib/commonjs/utils/errorUtils.js +0 -13
  84. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  85. package/lib/commonjs/utils/index.js +7 -0
  86. package/lib/commonjs/utils/index.js.map +1 -1
  87. package/lib/commonjs/utils/sessionUtils.js +1 -8
  88. package/lib/commonjs/utils/sessionUtils.js.map +1 -1
  89. package/lib/commonjs/utils/validationUtils.js +1 -15
  90. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  91. package/lib/module/core/OxyServices.js +1 -1
  92. package/lib/module/core/index.js +4 -6
  93. package/lib/module/core/index.js.map +1 -1
  94. package/lib/module/core/mixins/OxyServices.auth.js +36 -53
  95. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  96. package/lib/module/core/mixins/OxyServices.user.js +10 -17
  97. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  98. package/lib/module/core/services/TokenService.js +27 -13
  99. package/lib/module/core/services/TokenService.js.map +1 -1
  100. package/lib/module/crypto/index.js +0 -3
  101. package/lib/module/crypto/index.js.map +1 -1
  102. package/lib/module/crypto/keyManager.js +21 -22
  103. package/lib/module/crypto/keyManager.js.map +1 -1
  104. package/lib/module/crypto/polyfill.js +1 -2
  105. package/lib/module/crypto/polyfill.js.map +1 -1
  106. package/lib/module/crypto/signatureService.js +18 -32
  107. package/lib/module/crypto/signatureService.js.map +1 -1
  108. package/lib/module/index.js +7 -19
  109. package/lib/module/index.js.map +1 -1
  110. package/lib/module/models/interfaces.js +0 -7
  111. package/lib/module/models/interfaces.js.map +1 -1
  112. package/lib/module/node/index.js +0 -3
  113. package/lib/module/node/index.js.map +1 -1
  114. package/lib/module/ui/components/BottomSheetRouter.js +2 -6
  115. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  116. package/lib/module/ui/components/OxyProvider.js +9 -20
  117. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  118. package/lib/module/ui/context/OxyContext.js +779 -450
  119. package/lib/module/ui/context/OxyContext.js.map +1 -1
  120. package/lib/module/ui/context/hooks/useAuthOperations.js +545 -0
  121. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -0
  122. package/lib/module/ui/context/hooks/useDeviceManagement.js +68 -0
  123. package/lib/module/ui/context/hooks/useDeviceManagement.js.map +1 -0
  124. package/lib/module/ui/context/hooks/useStorage.js +74 -0
  125. package/lib/module/ui/context/hooks/useStorage.js.map +1 -0
  126. package/lib/module/ui/hooks/index.js +0 -1
  127. package/lib/module/ui/hooks/index.js.map +1 -1
  128. package/lib/module/ui/hooks/mutations/index.js +1 -1
  129. package/lib/module/ui/hooks/mutations/index.js.map +1 -1
  130. package/lib/module/ui/hooks/mutations/useAccountMutations.js +21 -71
  131. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  132. package/lib/module/ui/hooks/queries/index.js +1 -1
  133. package/lib/module/ui/hooks/queries/index.js.map +1 -1
  134. package/lib/module/ui/hooks/queries/queryKeys.js +1 -3
  135. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  136. package/lib/module/ui/hooks/queries/useAccountQueries.js +27 -61
  137. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  138. package/lib/module/ui/hooks/queries/useServicesQueries.js +6 -4
  139. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  140. package/lib/module/ui/hooks/useDeviceManagement.js +68 -0
  141. package/lib/module/ui/hooks/useDeviceManagement.js.map +1 -0
  142. package/lib/module/ui/hooks/useProfileEditing.js +5 -3
  143. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  144. package/lib/module/ui/hooks/useSessionManagement.js +279 -0
  145. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -0
  146. package/lib/module/ui/index.js +1 -2
  147. package/lib/module/ui/index.js.map +1 -1
  148. package/lib/module/ui/navigation/routes.js +1 -5
  149. package/lib/module/ui/navigation/routes.js.map +1 -1
  150. package/lib/module/ui/screens/AccountCenterScreen.js +4 -9
  151. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  152. package/lib/module/ui/screens/AccountSettingsScreen.js +19 -37
  153. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  154. package/lib/module/ui/screens/AccountSwitcherScreen.js +5 -5
  155. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  156. package/lib/module/ui/screens/OxyAuthScreen.js +15 -2
  157. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  158. package/lib/module/ui/screens/PrivacySettingsScreen.js +98 -77
  159. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  160. package/lib/module/ui/screens/ProfileScreen.js +6 -6
  161. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  162. package/lib/module/ui/stores/authStore.js +6 -54
  163. package/lib/module/ui/stores/authStore.js.map +1 -1
  164. package/lib/module/ui/styles/spacing.js +2 -6
  165. package/lib/module/ui/styles/spacing.js.map +1 -1
  166. package/lib/module/ui/utils/avatarUtils.js +12 -9
  167. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  168. package/lib/module/ui/utils/sessionHelpers.js +1 -7
  169. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  170. package/lib/module/utils/deviceManager.js +171 -0
  171. package/lib/module/utils/deviceManager.js.map +1 -0
  172. package/lib/module/utils/errorUtils.js +0 -7
  173. package/lib/module/utils/errorUtils.js.map +1 -1
  174. package/lib/module/utils/index.js +1 -2
  175. package/lib/module/utils/index.js.map +1 -1
  176. package/lib/module/utils/sessionUtils.js +1 -8
  177. package/lib/module/utils/sessionUtils.js.map +1 -1
  178. package/lib/module/utils/validationUtils.js +0 -13
  179. package/lib/module/utils/validationUtils.js.map +1 -1
  180. package/lib/typescript/core/OxyServices.d.ts +1 -1
  181. package/lib/typescript/core/index.d.ts +3 -3
  182. package/lib/typescript/core/index.d.ts.map +1 -1
  183. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +21 -44
  184. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  185. package/lib/typescript/core/mixins/OxyServices.user.d.ts +1 -0
  186. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  187. package/lib/typescript/core/mixins/index.d.ts +8 -15
  188. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  189. package/lib/typescript/core/services/TokenService.d.ts.map +1 -1
  190. package/lib/typescript/crypto/index.d.ts +0 -1
  191. package/lib/typescript/crypto/index.d.ts.map +1 -1
  192. package/lib/typescript/crypto/keyManager.d.ts +2 -15
  193. package/lib/typescript/crypto/keyManager.d.ts.map +1 -1
  194. package/lib/typescript/crypto/polyfill.d.ts +1 -2
  195. package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
  196. package/lib/typescript/crypto/signatureService.d.ts +0 -13
  197. package/lib/typescript/crypto/signatureService.d.ts.map +1 -1
  198. package/lib/typescript/index.d.ts +7 -12
  199. package/lib/typescript/index.d.ts.map +1 -1
  200. package/lib/typescript/models/interfaces.d.ts +36 -5
  201. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  202. package/lib/typescript/models/session.d.ts +18 -3
  203. package/lib/typescript/models/session.d.ts.map +1 -1
  204. package/lib/typescript/node/index.d.ts +0 -1
  205. package/lib/typescript/node/index.d.ts.map +1 -1
  206. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +0 -5
  207. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
  208. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  209. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
  210. package/lib/typescript/ui/components/TextField/helpers.d.ts +2 -2
  211. package/lib/typescript/ui/components/TextField/types.d.ts +0 -1
  212. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
  213. package/lib/typescript/ui/context/OxyContext.d.ts +28 -5
  214. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  215. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +59 -0
  216. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -0
  217. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts +27 -0
  218. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts.map +1 -0
  219. package/lib/typescript/ui/context/hooks/useStorage.d.ts +22 -0
  220. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +1 -0
  221. package/lib/typescript/ui/hooks/index.d.ts +0 -1
  222. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  223. package/lib/typescript/ui/hooks/mutations/index.d.ts +1 -1
  224. package/lib/typescript/ui/hooks/mutations/index.d.ts.map +1 -1
  225. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +8 -19
  226. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  227. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts +1 -1
  228. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  229. package/lib/typescript/ui/hooks/queries/index.d.ts +1 -1
  230. package/lib/typescript/ui/hooks/queries/index.d.ts.map +1 -1
  231. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts +0 -2
  232. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  233. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +5 -17
  234. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  235. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  236. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts +27 -0
  237. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts.map +1 -0
  238. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  239. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +41 -0
  240. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -0
  241. package/lib/typescript/ui/index.d.ts +0 -1
  242. package/lib/typescript/ui/index.d.ts.map +1 -1
  243. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  244. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  245. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  246. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  247. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  248. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  249. package/lib/typescript/ui/stores/authStore.d.ts +1 -8
  250. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  251. package/lib/typescript/ui/styles/spacing.d.ts +0 -5
  252. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  253. package/lib/typescript/ui/utils/avatarUtils.d.ts +4 -1
  254. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  255. package/lib/typescript/ui/utils/sessionHelpers.d.ts +0 -1
  256. package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -1
  257. package/lib/typescript/utils/deviceManager.d.ts +66 -0
  258. package/lib/typescript/utils/deviceManager.d.ts.map +1 -0
  259. package/lib/typescript/utils/errorUtils.d.ts +0 -6
  260. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  261. package/lib/typescript/utils/index.d.ts +2 -0
  262. package/lib/typescript/utils/index.d.ts.map +1 -1
  263. package/lib/typescript/utils/sessionUtils.d.ts.map +1 -1
  264. package/lib/typescript/utils/validationUtils.d.ts +0 -8
  265. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  266. package/package.json +1 -6
  267. package/src/core/OxyServices.ts +1 -1
  268. package/src/core/index.ts +5 -8
  269. package/src/core/mixins/OxyServices.auth.ts +44 -87
  270. package/src/core/mixins/OxyServices.user.ts +10 -18
  271. package/src/core/services/TokenService.ts +27 -16
  272. package/src/crypto/index.ts +1 -3
  273. package/src/crypto/keyManager.ts +21 -30
  274. package/src/crypto/polyfill.ts +1 -2
  275. package/src/crypto/signatureService.ts +19 -43
  276. package/src/index.ts +6 -41
  277. package/src/models/interfaces.ts +39 -12
  278. package/src/models/session.ts +19 -7
  279. package/src/node/index.ts +0 -3
  280. package/src/ui/components/BottomSheetRouter.tsx +1 -6
  281. package/src/ui/components/OxyProvider.tsx +10 -17
  282. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  283. package/src/ui/components/TextField/helpers.tsx +2 -2
  284. package/src/ui/components/TextField/types.tsx +1 -1
  285. package/src/ui/context/OxyContext.tsx +831 -463
  286. package/src/ui/context/hooks/useAuthOperations.ts +620 -0
  287. package/src/ui/context/hooks/useDeviceManagement.ts +108 -0
  288. package/src/ui/context/hooks/useStorage.ts +104 -0
  289. package/src/ui/hooks/index.ts +1 -2
  290. package/src/ui/hooks/mutations/index.ts +0 -2
  291. package/src/ui/hooks/mutations/useAccountMutations.ts +20 -66
  292. package/src/ui/hooks/queries/index.ts +0 -2
  293. package/src/ui/hooks/queries/queryKeys.ts +0 -2
  294. package/src/ui/hooks/queries/useAccountQueries.ts +19 -53
  295. package/src/ui/hooks/queries/useServicesQueries.ts +5 -5
  296. package/src/ui/hooks/useDeviceManagement.ts +108 -0
  297. package/src/ui/hooks/useProfileEditing.ts +3 -3
  298. package/src/ui/hooks/useSessionManagement.ts +405 -0
  299. package/src/ui/index.ts +1 -2
  300. package/src/ui/navigation/routes.ts +2 -6
  301. package/src/ui/screens/AccountCenterScreen.tsx +4 -9
  302. package/src/ui/screens/AccountSettingsScreen.tsx +31 -49
  303. package/src/ui/screens/AccountSwitcherScreen.tsx +5 -5
  304. package/src/ui/screens/OxyAuthScreen.tsx +19 -4
  305. package/src/ui/screens/PrivacySettingsScreen.tsx +101 -67
  306. package/src/ui/screens/ProfileScreen.tsx +10 -10
  307. package/src/ui/stores/authStore.ts +8 -48
  308. package/src/ui/styles/spacing.ts +2 -15
  309. package/src/ui/utils/avatarUtils.ts +21 -19
  310. package/src/ui/utils/sessionHelpers.ts +0 -7
  311. package/src/utils/__tests__/validationUtils.test.ts +1 -16
  312. package/src/utils/deviceManager.ts +198 -0
  313. package/src/utils/errorUtils.ts +1 -8
  314. package/src/utils/index.ts +2 -1
  315. package/src/utils/sessionUtils.ts +0 -8
  316. package/src/utils/validationUtils.ts +0 -12
  317. package/lib/commonjs/adapters/expo/crypto.js +0 -56
  318. package/lib/commonjs/adapters/expo/crypto.js.map +0 -1
  319. package/lib/commonjs/adapters/expo/fetch.js +0 -30
  320. package/lib/commonjs/adapters/expo/fetch.js.map +0 -1
  321. package/lib/commonjs/adapters/expo/index.js +0 -48
  322. package/lib/commonjs/adapters/expo/index.js.map +0 -1
  323. package/lib/commonjs/adapters/expo/storage.js +0 -201
  324. package/lib/commonjs/adapters/expo/storage.js.map +0 -1
  325. package/lib/commonjs/adapters/index.js +0 -48
  326. package/lib/commonjs/adapters/index.js.map +0 -1
  327. package/lib/commonjs/adapters/node/crypto.js +0 -40
  328. package/lib/commonjs/adapters/node/crypto.js.map +0 -1
  329. package/lib/commonjs/adapters/node/fetch.js +0 -62
  330. package/lib/commonjs/adapters/node/fetch.js.map +0 -1
  331. package/lib/commonjs/adapters/node/index.js +0 -34
  332. package/lib/commonjs/adapters/node/index.js.map +0 -1
  333. package/lib/commonjs/adapters/node/storage.js +0 -163
  334. package/lib/commonjs/adapters/node/storage.js.map +0 -1
  335. package/lib/commonjs/core/identity-session/DeviceManager.js +0 -237
  336. package/lib/commonjs/core/identity-session/DeviceManager.js.map +0 -1
  337. package/lib/commonjs/core/identity-session/INTEGRATION_GUIDE.md +0 -287
  338. package/lib/commonjs/core/identity-session/IdentityManager.js +0 -400
  339. package/lib/commonjs/core/identity-session/IdentityManager.js.map +0 -1
  340. package/lib/commonjs/core/identity-session/IdentitySessionCore.js +0 -394
  341. package/lib/commonjs/core/identity-session/IdentitySessionCore.js.map +0 -1
  342. package/lib/commonjs/core/identity-session/RefreshManager.js +0 -137
  343. package/lib/commonjs/core/identity-session/RefreshManager.js.map +0 -1
  344. package/lib/commonjs/core/identity-session/SessionManager.js +0 -427
  345. package/lib/commonjs/core/identity-session/SessionManager.js.map +0 -1
  346. package/lib/commonjs/core/identity-session/createIdentitySessionCore.js +0 -24
  347. package/lib/commonjs/core/identity-session/createIdentitySessionCore.js.map +0 -1
  348. package/lib/commonjs/core/identity-session/errors.js +0 -176
  349. package/lib/commonjs/core/identity-session/errors.js.map +0 -1
  350. package/lib/commonjs/core/identity-session/index.js +0 -80
  351. package/lib/commonjs/core/identity-session/index.js.map +0 -1
  352. package/lib/commonjs/core/identity-session/types.js +0 -2
  353. package/lib/commonjs/core/identity-session/types.js.map +0 -1
  354. package/lib/commonjs/crypto/README.md +0 -142
  355. package/lib/commonjs/crypto/core.js +0 -147
  356. package/lib/commonjs/crypto/core.js.map +0 -1
  357. package/lib/commonjs/node/signatureService.js +0 -107
  358. package/lib/commonjs/node/signatureService.js.map +0 -1
  359. package/lib/commonjs/ui/hooks/auth/index.js +0 -37
  360. package/lib/commonjs/ui/hooks/auth/index.js.map +0 -1
  361. package/lib/commonjs/ui/hooks/auth/useUsernameValidation.js +0 -171
  362. package/lib/commonjs/ui/hooks/auth/useUsernameValidation.js.map +0 -1
  363. package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -52
  364. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
  365. package/lib/commonjs/ui/hooks/useIdentityTransfer.js +0 -125
  366. package/lib/commonjs/ui/hooks/useIdentityTransfer.js.map +0 -1
  367. package/lib/commonjs/ui/hooks/useTransferCodesPersistence.js +0 -81
  368. package/lib/commonjs/ui/hooks/useTransferCodesPersistence.js.map +0 -1
  369. package/lib/commonjs/ui/hooks/useTransferQueries.js +0 -85
  370. package/lib/commonjs/ui/hooks/useTransferQueries.js.map +0 -1
  371. package/lib/commonjs/ui/stores/transferStore.js +0 -157
  372. package/lib/commonjs/ui/stores/transferStore.js.map +0 -1
  373. package/lib/module/adapters/expo/crypto.js +0 -51
  374. package/lib/module/adapters/expo/crypto.js.map +0 -1
  375. package/lib/module/adapters/expo/fetch.js +0 -26
  376. package/lib/module/adapters/expo/fetch.js.map +0 -1
  377. package/lib/module/adapters/expo/index.js +0 -45
  378. package/lib/module/adapters/expo/index.js.map +0 -1
  379. package/lib/module/adapters/expo/storage.js +0 -198
  380. package/lib/module/adapters/expo/storage.js.map +0 -1
  381. package/lib/module/adapters/index.js +0 -45
  382. package/lib/module/adapters/index.js.map +0 -1
  383. package/lib/module/adapters/node/crypto.js +0 -36
  384. package/lib/module/adapters/node/crypto.js.map +0 -1
  385. package/lib/module/adapters/node/fetch.js +0 -57
  386. package/lib/module/adapters/node/fetch.js.map +0 -1
  387. package/lib/module/adapters/node/index.js +0 -31
  388. package/lib/module/adapters/node/index.js.map +0 -1
  389. package/lib/module/adapters/node/storage.js +0 -159
  390. package/lib/module/adapters/node/storage.js.map +0 -1
  391. package/lib/module/core/identity-session/DeviceManager.js +0 -232
  392. package/lib/module/core/identity-session/DeviceManager.js.map +0 -1
  393. package/lib/module/core/identity-session/INTEGRATION_GUIDE.md +0 -287
  394. package/lib/module/core/identity-session/IdentityManager.js +0 -395
  395. package/lib/module/core/identity-session/IdentityManager.js.map +0 -1
  396. package/lib/module/core/identity-session/IdentitySessionCore.js +0 -390
  397. package/lib/module/core/identity-session/IdentitySessionCore.js.map +0 -1
  398. package/lib/module/core/identity-session/RefreshManager.js +0 -132
  399. package/lib/module/core/identity-session/RefreshManager.js.map +0 -1
  400. package/lib/module/core/identity-session/SessionManager.js +0 -422
  401. package/lib/module/core/identity-session/SessionManager.js.map +0 -1
  402. package/lib/module/core/identity-session/createIdentitySessionCore.js +0 -21
  403. package/lib/module/core/identity-session/createIdentitySessionCore.js.map +0 -1
  404. package/lib/module/core/identity-session/errors.js +0 -170
  405. package/lib/module/core/identity-session/errors.js.map +0 -1
  406. package/lib/module/core/identity-session/index.js +0 -17
  407. package/lib/module/core/identity-session/index.js.map +0 -1
  408. package/lib/module/core/identity-session/types.js +0 -2
  409. package/lib/module/core/identity-session/types.js.map +0 -1
  410. package/lib/module/crypto/README.md +0 -142
  411. package/lib/module/crypto/core.js +0 -133
  412. package/lib/module/crypto/core.js.map +0 -1
  413. package/lib/module/node/signatureService.js +0 -101
  414. package/lib/module/node/signatureService.js.map +0 -1
  415. package/lib/module/ui/hooks/auth/index.js +0 -7
  416. package/lib/module/ui/hooks/auth/index.js.map +0 -1
  417. package/lib/module/ui/hooks/auth/useUsernameValidation.js +0 -167
  418. package/lib/module/ui/hooks/auth/useUsernameValidation.js.map +0 -1
  419. package/lib/module/ui/hooks/useAvatarPicker.js +0 -48
  420. package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
  421. package/lib/module/ui/hooks/useIdentityTransfer.js +0 -121
  422. package/lib/module/ui/hooks/useIdentityTransfer.js.map +0 -1
  423. package/lib/module/ui/hooks/useTransferCodesPersistence.js +0 -77
  424. package/lib/module/ui/hooks/useTransferCodesPersistence.js.map +0 -1
  425. package/lib/module/ui/hooks/useTransferQueries.js +0 -80
  426. package/lib/module/ui/hooks/useTransferQueries.js.map +0 -1
  427. package/lib/module/ui/stores/transferStore.js +0 -152
  428. package/lib/module/ui/stores/transferStore.js.map +0 -1
  429. package/lib/typescript/adapters/expo/crypto.d.ts +0 -17
  430. package/lib/typescript/adapters/expo/crypto.d.ts.map +0 -1
  431. package/lib/typescript/adapters/expo/fetch.d.ts +0 -16
  432. package/lib/typescript/adapters/expo/fetch.d.ts.map +0 -1
  433. package/lib/typescript/adapters/expo/index.d.ts +0 -23
  434. package/lib/typescript/adapters/expo/index.d.ts.map +0 -1
  435. package/lib/typescript/adapters/expo/storage.d.ts +0 -23
  436. package/lib/typescript/adapters/expo/storage.d.ts.map +0 -1
  437. package/lib/typescript/adapters/index.d.ts +0 -17
  438. package/lib/typescript/adapters/index.d.ts.map +0 -1
  439. package/lib/typescript/adapters/node/crypto.d.ts +0 -17
  440. package/lib/typescript/adapters/node/crypto.d.ts.map +0 -1
  441. package/lib/typescript/adapters/node/fetch.d.ts +0 -16
  442. package/lib/typescript/adapters/node/fetch.d.ts.map +0 -1
  443. package/lib/typescript/adapters/node/index.d.ts +0 -23
  444. package/lib/typescript/adapters/node/index.d.ts.map +0 -1
  445. package/lib/typescript/adapters/node/storage.d.ts +0 -23
  446. package/lib/typescript/adapters/node/storage.d.ts.map +0 -1
  447. package/lib/typescript/core/identity-session/DeviceManager.d.ts +0 -64
  448. package/lib/typescript/core/identity-session/DeviceManager.d.ts.map +0 -1
  449. package/lib/typescript/core/identity-session/IdentityManager.d.ts +0 -88
  450. package/lib/typescript/core/identity-session/IdentityManager.d.ts.map +0 -1
  451. package/lib/typescript/core/identity-session/IdentitySessionCore.d.ts +0 -141
  452. package/lib/typescript/core/identity-session/IdentitySessionCore.d.ts.map +0 -1
  453. package/lib/typescript/core/identity-session/RefreshManager.d.ts +0 -36
  454. package/lib/typescript/core/identity-session/RefreshManager.d.ts.map +0 -1
  455. package/lib/typescript/core/identity-session/SessionManager.d.ts +0 -104
  456. package/lib/typescript/core/identity-session/SessionManager.d.ts.map +0 -1
  457. package/lib/typescript/core/identity-session/createIdentitySessionCore.d.ts +0 -11
  458. package/lib/typescript/core/identity-session/createIdentitySessionCore.d.ts.map +0 -1
  459. package/lib/typescript/core/identity-session/errors.d.ts +0 -63
  460. package/lib/typescript/core/identity-session/errors.d.ts.map +0 -1
  461. package/lib/typescript/core/identity-session/index.d.ts +0 -14
  462. package/lib/typescript/core/identity-session/index.d.ts.map +0 -1
  463. package/lib/typescript/core/identity-session/types.d.ts +0 -196
  464. package/lib/typescript/core/identity-session/types.d.ts.map +0 -1
  465. package/lib/typescript/crypto/core.d.ts +0 -56
  466. package/lib/typescript/crypto/core.d.ts.map +0 -1
  467. package/lib/typescript/node/signatureService.d.ts +0 -55
  468. package/lib/typescript/node/signatureService.d.ts.map +0 -1
  469. package/lib/typescript/ui/hooks/auth/index.d.ts +0 -6
  470. package/lib/typescript/ui/hooks/auth/index.d.ts.map +0 -1
  471. package/lib/typescript/ui/hooks/auth/useUsernameValidation.d.ts +0 -32
  472. package/lib/typescript/ui/hooks/auth/useUsernameValidation.d.ts.map +0 -1
  473. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -18
  474. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
  475. package/lib/typescript/ui/hooks/useIdentityTransfer.d.ts +0 -24
  476. package/lib/typescript/ui/hooks/useIdentityTransfer.d.ts.map +0 -1
  477. package/lib/typescript/ui/hooks/useTransferCodesPersistence.d.ts +0 -6
  478. package/lib/typescript/ui/hooks/useTransferCodesPersistence.d.ts.map +0 -1
  479. package/lib/typescript/ui/hooks/useTransferQueries.d.ts +0 -26
  480. package/lib/typescript/ui/hooks/useTransferQueries.d.ts.map +0 -1
  481. package/lib/typescript/ui/stores/transferStore.d.ts +0 -36
  482. package/lib/typescript/ui/stores/transferStore.d.ts.map +0 -1
  483. package/src/adapters/expo/crypto.ts +0 -55
  484. package/src/adapters/expo/fetch.ts +0 -28
  485. package/src/adapters/expo/index.ts +0 -51
  486. package/src/adapters/expo/storage.ts +0 -228
  487. package/src/adapters/index.ts +0 -48
  488. package/src/adapters/node/crypto.ts +0 -39
  489. package/src/adapters/node/fetch.ts +0 -59
  490. package/src/adapters/node/index.ts +0 -37
  491. package/src/adapters/node/storage.ts +0 -170
  492. package/src/core/identity-session/DeviceManager.ts +0 -273
  493. package/src/core/identity-session/INTEGRATION_GUIDE.md +0 -287
  494. package/src/core/identity-session/IdentityManager.ts +0 -474
  495. package/src/core/identity-session/IdentitySessionCore.ts +0 -464
  496. package/src/core/identity-session/RefreshManager.ts +0 -189
  497. package/src/core/identity-session/SessionManager.ts +0 -500
  498. package/src/core/identity-session/createIdentitySessionCore.ts +0 -19
  499. package/src/core/identity-session/errors.ts +0 -197
  500. package/src/core/identity-session/index.ts +0 -15
  501. package/src/core/identity-session/types.ts +0 -188
  502. package/src/crypto/README.md +0 -142
  503. package/src/crypto/__tests__/core.test.ts +0 -203
  504. package/src/crypto/core.ts +0 -142
  505. package/src/node/signatureService.ts +0 -126
  506. package/src/ui/hooks/auth/index.ts +0 -9
  507. package/src/ui/hooks/auth/useUsernameValidation.ts +0 -177
  508. package/src/ui/hooks/useAvatarPicker.ts +0 -62
  509. package/src/ui/hooks/useIdentityTransfer.ts +0 -135
  510. package/src/ui/hooks/useTransferCodesPersistence.ts +0 -80
  511. package/src/ui/hooks/useTransferQueries.ts +0 -102
  512. package/src/ui/stores/transferStore.ts +0 -201
@@ -1,237 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DeviceManager = void 0;
7
- var _errors = require("./errors");
8
- /**
9
- * Device Manager
10
- *
11
- * Manages device identification and device sessions (Native + Web)
12
- */
13
-
14
- const DEVICE_STORAGE_KEY = 'oxy_device_info';
15
- /**
16
- * Device Manager Class
17
- */
18
- class DeviceManager {
19
- cachedDevice = null;
20
- constructor(adapter) {
21
- this.adapter = adapter;
22
- }
23
-
24
- /**
25
- * Invalidate cached device
26
- */
27
- invalidateCache() {
28
- this.cachedDevice = null;
29
- }
30
-
31
- /**
32
- * Get device fingerprint
33
- */
34
- getDeviceFingerprint() {
35
- const fingerprint = {
36
- userAgent: typeof navigator !== 'undefined' ? navigator.userAgent : 'unknown',
37
- platform: typeof navigator !== 'undefined' ? navigator.platform : 'unknown',
38
- language: typeof navigator !== 'undefined' ? navigator.language : undefined,
39
- timezone: typeof Intl !== 'undefined' ? Intl.DateTimeFormat().resolvedOptions().timeZone : undefined
40
- };
41
-
42
- // Add screen info if available
43
- if (typeof screen !== 'undefined') {
44
- fingerprint.screen = {
45
- width: screen.width,
46
- height: screen.height,
47
- colorDepth: screen.colorDepth
48
- };
49
- }
50
- return fingerprint;
51
- }
52
-
53
- /**
54
- * Generate a unique device ID
55
- */
56
- async generateDeviceId() {
57
- const randomBytes = await this.adapter.crypto.getRandomBytes(32);
58
- return Array.from(randomBytes, byte => byte.toString(16).padStart(2, '0')).join('');
59
- }
60
-
61
- /**
62
- * Get a user-friendly device name based on platform
63
- */
64
- getDefaultDeviceName() {
65
- const fingerprint = this.getDeviceFingerprint();
66
- const platform = (fingerprint.platform || '').toLowerCase();
67
- const userAgent = (fingerprint.userAgent || '').toLowerCase();
68
- if (platform.includes('win')) return 'Windows Computer';
69
- if (platform.includes('mac')) return 'Mac Computer';
70
- if (platform.includes('linux')) return 'Linux Computer';
71
- if (userAgent.includes('iphone')) return 'iPhone';
72
- if (userAgent.includes('ipad')) return 'iPad';
73
- if (userAgent.includes('android')) return 'Android Device';
74
- if (this.adapter.platform === 'web') return 'Web Browser';
75
- return 'Unknown Device';
76
- }
77
-
78
- /**
79
- * Get stored device info or create new one
80
- */
81
- async getCurrentDevice() {
82
- if (this.cachedDevice) {
83
- return this.cachedDevice;
84
- }
85
- try {
86
- const stored = await this.adapter.storage.get(DEVICE_STORAGE_KEY);
87
- if (stored) {
88
- const deviceInfo = JSON.parse(stored);
89
-
90
- // Update last used timestamp
91
- deviceInfo.lastUsed = new Date().toISOString();
92
- await this.saveDeviceInfo(deviceInfo);
93
- const device = {
94
- deviceId: deviceInfo.deviceId,
95
- deviceName: deviceInfo.deviceName,
96
- deviceType: this.getDeviceType(),
97
- platform: this.adapter.platform === 'native' ? 'ios' : 'web',
98
- // Simplified
99
- fingerprint: deviceInfo.fingerprint,
100
- createdAt: deviceInfo.createdAt,
101
- updatedAt: deviceInfo.lastUsed
102
- };
103
- this.cachedDevice = device;
104
- return device;
105
- }
106
-
107
- // Create new device info
108
- return await this.createNewDevice();
109
- } catch (error) {
110
- console.error('[DeviceManager] Error getting device info:', error);
111
- return await this.createNewDevice();
112
- }
113
- }
114
-
115
- /**
116
- * Create new device info and store it
117
- */
118
- async createNewDevice() {
119
- const deviceId = await this.generateDeviceId();
120
- const fingerprint = JSON.stringify(this.getDeviceFingerprint());
121
- const now = new Date().toISOString();
122
- const device = {
123
- deviceId,
124
- deviceName: this.getDefaultDeviceName(),
125
- deviceType: this.getDeviceType(),
126
- platform: this.adapter.platform === 'native' ? 'ios' : 'web',
127
- // Simplified
128
- fingerprint,
129
- createdAt: now,
130
- updatedAt: now
131
- };
132
- const deviceInfo = {
133
- deviceId,
134
- deviceName: device.deviceName,
135
- fingerprint,
136
- createdAt: now,
137
- lastUsed: now
138
- };
139
- await this.saveDeviceInfo(deviceInfo);
140
- this.cachedDevice = device;
141
- return device;
142
- }
143
-
144
- /**
145
- * Get device type
146
- */
147
- getDeviceType() {
148
- if (this.adapter.platform === 'web') {
149
- return 'desktop'; // Simplified - could detect mobile web
150
- }
151
- // For native, would need Platform.OS detection
152
- return 'mobile';
153
- }
154
-
155
- /**
156
- * Save device info to storage
157
- */
158
- async saveDeviceInfo(deviceInfo) {
159
- try {
160
- await this.adapter.storage.set(DEVICE_STORAGE_KEY, JSON.stringify(deviceInfo));
161
- } catch (error) {
162
- console.error('[DeviceManager] Error saving device info:', error);
163
- throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.DEVICE_CREATION_FAILED, `Failed to save device info: ${error instanceof Error ? error.message : String(error)}`);
164
- }
165
- }
166
-
167
- /**
168
- * Update device name
169
- */
170
- async updateDeviceName(deviceName) {
171
- const device = await this.getCurrentDevice();
172
- if (!device) {
173
- throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.DEVICE_NOT_FOUND, 'Device not found');
174
- }
175
- device.deviceName = deviceName;
176
- device.updatedAt = new Date().toISOString();
177
- const deviceInfo = {
178
- deviceId: device.deviceId,
179
- deviceName: device.deviceName,
180
- fingerprint: device.fingerprint,
181
- createdAt: device.createdAt || new Date().toISOString(),
182
- lastUsed: device.updatedAt
183
- };
184
- await this.saveDeviceInfo(deviceInfo);
185
- this.cachedDevice = device;
186
- return device;
187
- }
188
-
189
- /**
190
- * Get device info for session creation
191
- */
192
- async getDeviceInfo() {
193
- const device = await this.getCurrentDevice();
194
- if (!device) {
195
- throw (0, _errors.createIdentitySessionError)(_errors.IdentitySessionErrorCodes.DEVICE_NOT_FOUND, 'Device not found');
196
- }
197
- const fingerprint = this.getDeviceFingerprint();
198
- return {
199
- deviceName: device.deviceName,
200
- deviceType: device.deviceType,
201
- platform: device.platform,
202
- browser: typeof navigator !== 'undefined' ? this.getBrowserName() : undefined,
203
- os: typeof navigator !== 'undefined' ? navigator.platform : undefined,
204
- lastActive: new Date().toISOString(),
205
- userAgent: fingerprint.userAgent,
206
- fingerprint: device.fingerprint
207
- };
208
- }
209
-
210
- /**
211
- * Get browser name from user agent
212
- */
213
- getBrowserName() {
214
- if (typeof navigator === 'undefined') return undefined;
215
- const ua = navigator.userAgent.toLowerCase();
216
- if (ua.includes('chrome')) return 'Chrome';
217
- if (ua.includes('firefox')) return 'Firefox';
218
- if (ua.includes('safari') && !ua.includes('chrome')) return 'Safari';
219
- if (ua.includes('edge')) return 'Edge';
220
- if (ua.includes('opera')) return 'Opera';
221
- return undefined;
222
- }
223
-
224
- /**
225
- * Clear stored device info
226
- */
227
- async clearDeviceInfo() {
228
- try {
229
- await this.adapter.storage.remove(DEVICE_STORAGE_KEY);
230
- this.invalidateCache();
231
- } catch (error) {
232
- console.error('[DeviceManager] Error clearing device info:', error);
233
- }
234
- }
235
- }
236
- exports.DeviceManager = DeviceManager;
237
- //# sourceMappingURL=DeviceManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_errors","require","DEVICE_STORAGE_KEY","DeviceManager","cachedDevice","constructor","adapter","invalidateCache","getDeviceFingerprint","fingerprint","userAgent","navigator","platform","language","undefined","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","screen","width","height","colorDepth","generateDeviceId","randomBytes","crypto","getRandomBytes","Array","from","byte","toString","padStart","join","getDefaultDeviceName","toLowerCase","includes","getCurrentDevice","stored","storage","get","deviceInfo","JSON","parse","lastUsed","Date","toISOString","saveDeviceInfo","device","deviceId","deviceName","deviceType","getDeviceType","createdAt","updatedAt","createNewDevice","error","console","stringify","now","set","createIdentitySessionError","IdentitySessionErrorCodes","DEVICE_CREATION_FAILED","Error","message","String","updateDeviceName","DEVICE_NOT_FOUND","getDeviceInfo","browser","getBrowserName","os","lastActive","ua","clearDeviceInfo","remove","exports"],"sourceRoot":"../../../../src","sources":["core/identity-session/DeviceManager.ts"],"mappings":"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","ignoreList":[]}
@@ -1,287 +0,0 @@
1
- # Identity Session Core - Integration Guide
2
-
3
- ## Overview
4
-
5
- The Identity Session Core provides a unified API for identity and session management across all platforms (React Native, Web, Node). All identity and session operations go through this core - never access `KeyManager`, storage, or APIs directly.
6
-
7
- ## Architecture
8
-
9
- ```
10
- UI/Hooks Layer
11
-
12
- IdentitySessionCore (unified API)
13
-
14
- Managers (Identity, Session, Device, Refresh)
15
-
16
- Platform Adapters (Expo 54, Node)
17
- ```
18
-
19
- ## Key Principles
20
-
21
- 1. **Frontend: Use `useOxy()` hook** - This is the only API you need for React/React Native applications
22
- 2. **Backend: Use `createIdentitySessionCore()`** - Only for Node.js/backend applications
23
- 3. **Never access storage, APIs, or KeyManager directly** - Always go through the core or `useOxy()`
24
- 4. **Identity operations are NATIVE ONLY** - Web cannot create/import identities
25
- 5. **Session operations work on NATIVE + WEB** - sessions can be used on both platforms
26
- 6. **Models are aligned with backend** - same types, same error codes
27
-
28
- ## Installation
29
-
30
- ```bash
31
- npm install @oxyhq/services
32
- ```
33
-
34
- ## Basic Usage
35
-
36
- ### Using the React Hook (Recommended)
37
-
38
- ```typescript
39
- import { OxyProvider, useOxy } from '@oxyhq/services';
40
- import { Platform } from 'react-native';
41
-
42
- function App() {
43
- return (
44
- <OxyProvider baseURL="https://api.example.com">
45
- <MyComponent />
46
- </OxyProvider>
47
- );
48
- }
49
-
50
- function MyComponent() {
51
- const { createIdentity, signIn, hasIdentity, isLoading, error } = useOxy();
52
-
53
- const handleCreateIdentity = async () => {
54
- if (Platform.OS === 'web') {
55
- alert('Identity creation is only available on native platforms');
56
- return;
57
- }
58
-
59
- try {
60
- const result = await createIdentity('myusername');
61
- console.log('Identity created, synced:', result.synced);
62
- } catch (err) {
63
- console.error('Failed to create identity:', err);
64
- }
65
- };
66
-
67
- const handleSignIn = async () => {
68
- try {
69
- const user = await signIn('My Device');
70
- console.log('Signed in:', user);
71
- } catch (err) {
72
- console.error('Failed to sign in:', err);
73
- }
74
- };
75
-
76
- if (error) return <Text>Error: {error}</Text>;
77
- if (isLoading) return <Text>Loading...</Text>;
78
-
79
- return (
80
- <View>
81
- <Button onPress={handleCreateIdentity} title="Create Identity" />
82
- <Button onPress={handleSignIn} title="Sign In" />
83
- </View>
84
- );
85
- }
86
- ```
87
-
88
- ### Direct Core Usage (Backend/Node.js Only)
89
-
90
- **Note:** For frontend applications, always use `useOxy()` hook. Direct core usage is only for backend/Node.js applications.
91
-
92
- ```typescript
93
- import { createIdentitySessionCore } from '@oxyhq/services';
94
-
95
- // Backend/Node.js only
96
- const core = await createIdentitySessionCore('https://api.example.com');
97
- const identity = await core.getCurrentIdentity();
98
- const session = await core.getSession();
99
- ```
100
-
101
- ## API Reference
102
-
103
- ### Using `useOxy` Hook (Recommended)
104
-
105
- The `useOxy` hook provides all identity and session operations through a simple, reactive API:
106
-
107
- ```typescript
108
- const {
109
- // Identity (Native Only)
110
- createIdentity,
111
- importIdentity,
112
- deleteIdentityAndClearAccount,
113
- hasIdentity,
114
- getPublicKey,
115
- isIdentitySynced,
116
- syncIdentity,
117
- identity,
118
- publicKey,
119
- identitySyncState,
120
-
121
- // Session (Native + Web)
122
- signIn,
123
- logout,
124
- logoutAll,
125
- switchSession,
126
- refreshSession,
127
- session,
128
- sessions,
129
- activeSessionId,
130
- isAuthenticated,
131
-
132
- // Device (Native + Web)
133
- getDeviceSessions,
134
- logoutAllDeviceSessions,
135
- updateDeviceName,
136
- device,
137
-
138
- // State
139
- user,
140
- isLoading,
141
- isTokenReady,
142
- isStorageReady,
143
- error,
144
- } = useOxy();
145
- ```
146
-
147
- ### Identity Operations (Native Only)
148
-
149
- ```typescript
150
- // Create new identity
151
- const result = await createIdentity(username?);
152
- // result.synced indicates if identity was synced with backend
153
-
154
- // Import identity from backup
155
- const result = await importIdentity(backupData, password, username?);
156
- // result.synced indicates if identity was synced with backend
157
-
158
- // Delete identity and clear all account data
159
- await deleteIdentityAndClearAccount(skipBackup?, force?, userConfirmed?);
160
-
161
- // Check if identity exists
162
- const has = await hasIdentity();
163
-
164
- // Get public key
165
- const publicKey = await getPublicKey();
166
-
167
- // Check if identity is synced
168
- const synced = await isIdentitySynced();
169
-
170
- // Manually sync identity
171
- const user = await syncIdentity(username?);
172
- ```
173
-
174
- ### Session Operations (Native + Web)
175
-
176
- ```typescript
177
- // Sign in (create session)
178
- const user = await signIn(deviceName?);
179
-
180
- // Logout (invalidate current or specific session)
181
- await logout(sessionId?);
182
-
183
- // Logout all sessions
184
- await logoutAll();
185
-
186
- // Switch to different session
187
- await switchSession(sessionId);
188
-
189
- // Refresh current session
190
- const session = await refreshSession();
191
- ```
192
-
193
- ### Device Operations (Native + Web)
194
-
195
- ```typescript
196
- // Get all device sessions
197
- const deviceSessions = await getDeviceSessions();
198
-
199
- // Logout all sessions for current device
200
- await logoutAllDeviceSessions();
201
-
202
- // Update device name
203
- await updateDeviceName(deviceName);
204
- ```
205
-
206
- ### Direct Core Usage (Advanced)
207
-
208
- For advanced use cases, you can access the core directly:
209
-
210
- ```typescript
211
- import { createIdentitySessionCore } from '@oxyhq/services';
212
-
213
- const core = await createIdentitySessionCore('https://api.example.com');
214
- const identity = await core.getCurrentIdentity();
215
- const session = await core.getSession();
216
-
217
- // Subscribe to events
218
- const unsubscribe = core.subscribe((event) => {
219
- switch (event.type) {
220
- case 'identity:created':
221
- console.log('Identity created:', event.identity);
222
- break;
223
- case 'session:created':
224
- console.log('Session created:', event.session);
225
- break;
226
- case 'session:invalidated':
227
- console.log('Session invalidated:', event.sessionId);
228
- break;
229
- }
230
- });
231
-
232
- // Cleanup
233
- unsubscribe();
234
- ```
235
-
236
- ## Error Handling
237
-
238
- All errors use unified error codes:
239
-
240
- ```typescript
241
- import {
242
- IdentitySessionError,
243
- IdentitySessionErrorCodes
244
- } from '@oxyhq/services';
245
-
246
- try {
247
- await createIdentity();
248
- } catch (error) {
249
- if (error instanceof IdentitySessionError) {
250
- switch (error.code) {
251
- case IdentitySessionErrorCodes.IDENTITY_NOT_AVAILABLE_ON_WEB:
252
- // Handle web platform error
253
- break;
254
- case IdentitySessionErrorCodes.IDENTITY_ALREADY_EXISTS:
255
- // Handle already exists error
256
- break;
257
- default:
258
- console.error('Error:', error.message);
259
- }
260
- }
261
- }
262
- ```
263
-
264
- ## Type Exports
265
-
266
- ```typescript
267
- import type {
268
- Identity,
269
- Session,
270
- Device,
271
- DeviceInfo,
272
- BackupData,
273
- IdentitySessionEvent,
274
- } from '@oxyhq/services';
275
- ```
276
-
277
- ## Platform Detection
278
-
279
- The core automatically detects the platform and validates operations. Identity operations will throw `IDENTITY_NOT_AVAILABLE_ON_WEB` on web platforms.
280
-
281
- ## Notes
282
-
283
- - The core handles all platform-specific logic internally
284
- - Storage, crypto, and fetch are abstracted through platform adapters
285
- - All models are aligned with backend (IUser, ISession)
286
- - Error codes are unified across frontend and backend
287
- - The core is designed to be "plugged in" to any Oxy app (Mention, Homiio, Noted, etc.)