@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,228 +0,0 @@
1
- /**
2
- * Expo 54 Storage Adapter
3
- *
4
- * Handles storage for React Native (expo-secure-store + AsyncStorage) and Web (localStorage)
5
- */
6
-
7
- import { Platform } from 'react-native';
8
- import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';
9
-
10
- // Lazy imports
11
- let SecureStore: typeof import('expo-secure-store') | null = null;
12
- let AsyncStorage: AsyncStorageStatic | null = null;
13
-
14
- /**
15
- * Initialize expo-secure-store (React Native only)
16
- */
17
- async function initSecureStore(): Promise<typeof import('expo-secure-store')> {
18
- if (!SecureStore) {
19
- try {
20
- SecureStore = await import('expo-secure-store');
21
- } catch (error) {
22
- const errorMessage = error instanceof Error ? error.message : String(error);
23
- throw new Error(`Failed to load expo-secure-store: ${errorMessage}`);
24
- }
25
- }
26
- return SecureStore;
27
- }
28
-
29
- /**
30
- * Initialize AsyncStorage (React Native only)
31
- */
32
- async function initAsyncStorage(): Promise<AsyncStorageStatic> {
33
- if (!AsyncStorage) {
34
- try {
35
- const module = await import('@react-native-async-storage/async-storage');
36
- AsyncStorage = (module.default as unknown) as AsyncStorageStatic;
37
- } catch (error) {
38
- const errorMessage = error instanceof Error ? error.message : String(error);
39
- throw new Error(`Failed to load AsyncStorage: ${errorMessage}`);
40
- }
41
- }
42
- return AsyncStorage;
43
- }
44
-
45
- /**
46
- * Check if we're on React Native (not Web)
47
- */
48
- function isReactNative(): boolean {
49
- try {
50
- return Platform.OS !== 'web';
51
- } catch {
52
- return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
53
- }
54
- }
55
-
56
- /**
57
- * Check if we're on Web
58
- */
59
- function isWeb(): boolean {
60
- try {
61
- return Platform.OS === 'web';
62
- } catch {
63
- return typeof window !== 'undefined' && typeof navigator !== 'undefined' && navigator.product !== 'ReactNative';
64
- }
65
- }
66
-
67
- /**
68
- * Storage Adapter Interface
69
- */
70
- export interface StorageAdapter {
71
- // Secure storage (para claves privadas) - SOLO NATIVE
72
- secureGet(key: string): Promise<string | null>;
73
- secureSet(key: string, value: string): Promise<void>;
74
- secureDelete(key: string): Promise<void>;
75
- isSecureStorageAvailable(): boolean;
76
-
77
- // Regular storage (para sesiones, etc.) - Native + Web
78
- get(key: string): Promise<string | null>;
79
- set(key: string, value: string): Promise<void>;
80
- remove(key: string): Promise<void>;
81
- clear(): Promise<void>;
82
- }
83
-
84
- /**
85
- * Create Expo Storage Adapter
86
- */
87
- export async function createExpoStorageAdapter(): Promise<StorageAdapter> {
88
- const isNative = isReactNative();
89
- const isWebPlatform = isWeb();
90
-
91
- if (isNative) {
92
- // React Native: Use expo-secure-store + AsyncStorage
93
- const secureStore = await initSecureStore();
94
- const asyncStorage = await initAsyncStorage();
95
-
96
- return {
97
- // Secure storage (expo-secure-store)
98
- async secureGet(key: string): Promise<string | null> {
99
- try {
100
- return await secureStore.getItemAsync(key);
101
- } catch (error) {
102
- console.warn('[ExpoStorage] Failed to get secure item:', error);
103
- return null;
104
- }
105
- },
106
-
107
- async secureSet(key: string, value: string): Promise<void> {
108
- try {
109
- await secureStore.setItemAsync(key, value, {
110
- keychainAccessible: secureStore.WHEN_UNLOCKED_THIS_DEVICE_ONLY,
111
- });
112
- } catch (error) {
113
- console.warn('[ExpoStorage] Failed to set secure item:', error);
114
- throw error;
115
- }
116
- },
117
-
118
- async secureDelete(key: string): Promise<void> {
119
- try {
120
- await secureStore.deleteItemAsync(key);
121
- } catch (error) {
122
- console.warn('[ExpoStorage] Failed to delete secure item:', error);
123
- }
124
- },
125
-
126
- isSecureStorageAvailable(): boolean {
127
- return true;
128
- },
129
-
130
- // Regular storage (AsyncStorage)
131
- async get(key: string): Promise<string | null> {
132
- try {
133
- return await asyncStorage.getItem(key);
134
- } catch (error) {
135
- console.warn('[ExpoStorage] Failed to get item:', error);
136
- return null;
137
- }
138
- },
139
-
140
- async set(key: string, value: string): Promise<void> {
141
- try {
142
- await asyncStorage.setItem(key, value);
143
- } catch (error) {
144
- console.warn('[ExpoStorage] Failed to set item:', error);
145
- throw error;
146
- }
147
- },
148
-
149
- async remove(key: string): Promise<void> {
150
- try {
151
- await asyncStorage.removeItem(key);
152
- } catch (error) {
153
- console.warn('[ExpoStorage] Failed to remove item:', error);
154
- }
155
- },
156
-
157
- async clear(): Promise<void> {
158
- try {
159
- await asyncStorage.clear();
160
- } catch (error) {
161
- console.warn('[ExpoStorage] Failed to clear storage:', error);
162
- }
163
- },
164
- };
165
- } else if (isWebPlatform) {
166
- // Web: Use localStorage only (no secure storage)
167
- if (typeof window === 'undefined' || typeof window.localStorage === 'undefined') {
168
- throw new Error('localStorage is not available in this environment');
169
- }
170
-
171
- return {
172
- // Secure storage not available on Web
173
- async secureGet(_key: string): Promise<string | null> {
174
- return null;
175
- },
176
-
177
- async secureSet(_key: string, _value: string): Promise<void> {
178
- // No-op on Web
179
- },
180
-
181
- async secureDelete(_key: string): Promise<void> {
182
- // No-op on Web
183
- },
184
-
185
- isSecureStorageAvailable(): boolean {
186
- return false;
187
- },
188
-
189
- // Regular storage (localStorage)
190
- async get(key: string): Promise<string | null> {
191
- try {
192
- return window.localStorage.getItem(key);
193
- } catch (error) {
194
- console.warn('[ExpoStorage] Failed to get item:', error);
195
- return null;
196
- }
197
- },
198
-
199
- async set(key: string, value: string): Promise<void> {
200
- try {
201
- window.localStorage.setItem(key, value);
202
- } catch (error) {
203
- console.warn('[ExpoStorage] Failed to set item:', error);
204
- throw error;
205
- }
206
- },
207
-
208
- async remove(key: string): Promise<void> {
209
- try {
210
- window.localStorage.removeItem(key);
211
- } catch (error) {
212
- console.warn('[ExpoStorage] Failed to remove item:', error);
213
- }
214
- },
215
-
216
- async clear(): Promise<void> {
217
- try {
218
- window.localStorage.clear();
219
- } catch (error) {
220
- console.warn('[ExpoStorage] Failed to clear storage:', error);
221
- }
222
- },
223
- };
224
- } else {
225
- throw new Error('Unknown platform for Expo storage adapter');
226
- }
227
- }
228
-
@@ -1,48 +0,0 @@
1
- /**
2
- * Platform Adapters
3
- *
4
- * Factory function to create the appropriate platform adapter.
5
- * Supports Expo 54 (frontend) and Node.js (backend).
6
- */
7
-
8
- import { createExpoAdapter, type PlatformAdapter as ExpoPlatformAdapter } from './expo';
9
- import type { PlatformAdapter as NodePlatformAdapter } from './node';
10
-
11
- export type PlatformAdapter = ExpoPlatformAdapter | NodePlatformAdapter;
12
-
13
- /**
14
- * Detect platform and create appropriate adapter
15
- *
16
- * Simple detection: Expo (frontend) or Node.js (backend)
17
- * Uses synchronous detection first to prevent Metro from analyzing Node imports
18
- */
19
- export async function createPlatformAdapter(): Promise<PlatformAdapter> {
20
- // Detect React Native/Expo first (frontend)
21
- const isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
22
-
23
- if (isReactNative) {
24
- return await createExpoAdapter();
25
- }
26
-
27
- // Check if we can import react-native (Expo Web)
28
- try {
29
- await import('react-native');
30
- return await createExpoAdapter();
31
- } catch {
32
- // Not Expo, must be Node.js (backend)
33
- // Metro will return empty module for this path (configured in metro.config.js)
34
- try {
35
- const nodePath = './node' + '/index.js';
36
- const nodeModule = await import(nodePath);
37
- if (nodeModule.createNodeAdapter) {
38
- return await nodeModule.createNodeAdapter();
39
- }
40
- // If Metro returned empty module, fallback to Expo (shouldn't happen in Node.js)
41
- return await createExpoAdapter();
42
- } catch {
43
- // Import failed, fallback to Expo adapter
44
- return await createExpoAdapter();
45
- }
46
- }
47
- }
48
-
@@ -1,39 +0,0 @@
1
- /**
2
- * Node.js Crypto Adapter
3
- *
4
- * Uses Node's built-in crypto module
5
- */
6
-
7
- import * as crypto from 'crypto';
8
-
9
- /**
10
- * Crypto Adapter Interface
11
- */
12
- export interface CryptoAdapter {
13
- getRandomBytes(length: number): Promise<Uint8Array>;
14
- digestStringAsync(algorithm: 'SHA256' | 'SHA512', data: string): Promise<string>;
15
- }
16
-
17
- /**
18
- * Create Node Crypto Adapter
19
- */
20
- export async function createNodeCryptoAdapter(): Promise<CryptoAdapter> {
21
- return {
22
- /**
23
- * Generate cryptographically secure random bytes
24
- */
25
- async getRandomBytes(length: number): Promise<Uint8Array> {
26
- return new Uint8Array(crypto.randomBytes(length));
27
- },
28
-
29
- /**
30
- * Hash a string using the specified algorithm
31
- */
32
- async digestStringAsync(algorithm: 'SHA256' | 'SHA512', data: string): Promise<string> {
33
- const hash = crypto.createHash(algorithm.toLowerCase());
34
- hash.update(data);
35
- return hash.digest('hex');
36
- },
37
- };
38
- }
39
-
@@ -1,59 +0,0 @@
1
- /**
2
- * Node.js Fetch Adapter
3
- *
4
- * Uses node-fetch or native fetch (Node 18+)
5
- */
6
-
7
- // Lazy import
8
- let nodeFetch: { default: typeof fetch } | null = null;
9
-
10
- /**
11
- * Initialize node-fetch
12
- */
13
- async function initNodeFetch(): Promise<{ default: typeof fetch }> {
14
- if (!nodeFetch) {
15
- try {
16
- // Try native fetch first (Node 18+)
17
- if (typeof fetch !== 'undefined') {
18
- // Use a wrapper to match the interface
19
- nodeFetch = {
20
- default: fetch,
21
- };
22
- return nodeFetch;
23
- }
24
-
25
- // Fallback to node-fetch (dynamic import to avoid type errors if not installed)
26
- // @ts-ignore - node-fetch may not be installed, handled at runtime
27
- const nodeFetchModule = await import('node-fetch');
28
- nodeFetch = {
29
- default: (nodeFetchModule.default || nodeFetchModule) as unknown as typeof fetch,
30
- };
31
- } catch (error) {
32
- const errorMessage = error instanceof Error ? error.message : String(error);
33
- throw new Error(`Failed to load fetch: ${errorMessage}. Please use Node.js 18+ or install node-fetch`);
34
- }
35
- }
36
- return nodeFetch;
37
- }
38
-
39
- /**
40
- * Fetch Adapter Interface
41
- */
42
- export interface FetchAdapter {
43
- fetch(url: string, options?: RequestInit): Promise<Response>;
44
- }
45
-
46
- /**
47
- * Create Node Fetch Adapter
48
- */
49
- export async function createNodeFetchAdapter(): Promise<FetchAdapter> {
50
- const fetchModule = await initNodeFetch();
51
- const fetchFn = (fetchModule as any).default || fetchModule;
52
-
53
- return {
54
- fetch(url: string, options?: RequestInit): Promise<Response> {
55
- return fetchFn(url, options);
56
- },
57
- };
58
- }
59
-
@@ -1,37 +0,0 @@
1
- /**
2
- * Node.js Platform Adapter
3
- *
4
- * Provides storage, crypto, and fetch adapters for Node.js
5
- */
6
-
7
- import { createNodeStorageAdapter, type StorageAdapter } from './storage';
8
- import { createNodeCryptoAdapter, type CryptoAdapter } from './crypto';
9
- import { createNodeFetchAdapter, type FetchAdapter } from './fetch';
10
- import type { Platform as PlatformType } from '../../core/identity-session/types';
11
-
12
- /**
13
- * Platform Adapter Interface
14
- */
15
- export interface PlatformAdapter {
16
- storage: StorageAdapter;
17
- crypto: CryptoAdapter;
18
- fetch: FetchAdapter;
19
- platform: PlatformType;
20
- }
21
-
22
- /**
23
- * Create Node Platform Adapter
24
- */
25
- export async function createNodeAdapter(): Promise<PlatformAdapter> {
26
- const storage = await createNodeStorageAdapter();
27
- const crypto = await createNodeCryptoAdapter();
28
- const fetchAdapter = await createNodeFetchAdapter();
29
-
30
- return {
31
- storage,
32
- crypto,
33
- fetch: fetchAdapter,
34
- platform: 'node',
35
- };
36
- }
37
-
@@ -1,170 +0,0 @@
1
- /**
2
- * Node.js Storage Adapter
3
- *
4
- * Uses filesystem for storage
5
- */
6
-
7
- import * as fs from 'fs/promises';
8
- import * as path from 'path';
9
- import * as os from 'os';
10
-
11
- /**
12
- * Storage Adapter Interface
13
- */
14
- export interface StorageAdapter {
15
- // Secure storage (for private keys)
16
- secureGet(key: string): Promise<string | null>;
17
- secureSet(key: string, value: string): Promise<void>;
18
- secureDelete(key: string): Promise<void>;
19
- isSecureStorageAvailable(): boolean;
20
-
21
- // Regular storage
22
- get(key: string): Promise<string | null>;
23
- set(key: string, value: string): Promise<void>;
24
- remove(key: string): Promise<void>;
25
- clear(): Promise<void>;
26
- }
27
-
28
- /**
29
- * Get storage directory
30
- */
31
- function getStorageDir(): string {
32
- const homeDir = os.homedir();
33
- return path.join(homeDir, '.oxy', 'storage');
34
- }
35
-
36
- /**
37
- * Get secure storage directory
38
- */
39
- function getSecureStorageDir(): string {
40
- const homeDir = os.homedir();
41
- return path.join(homeDir, '.oxy', 'secure');
42
- }
43
-
44
- /**
45
- * Ensure directory exists
46
- */
47
- async function ensureDir(dirPath: string): Promise<void> {
48
- try {
49
- await fs.mkdir(dirPath, { recursive: true });
50
- } catch (error) {
51
- // Ignore if already exists
52
- if ((error as NodeJS.ErrnoException).code !== 'EEXIST') {
53
- throw error;
54
- }
55
- }
56
- }
57
-
58
- /**
59
- * Get file path for a key
60
- */
61
- function getFilePath(key: string, secure: boolean = false): string {
62
- const baseDir = secure ? getSecureStorageDir() : getStorageDir();
63
- // Sanitize key to prevent directory traversal
64
- const sanitizedKey = key.replace(/[^a-zA-Z0-9_-]/g, '_');
65
- return path.join(baseDir, `${sanitizedKey}.json`);
66
- }
67
-
68
- /**
69
- * Create Node Storage Adapter
70
- */
71
- export async function createNodeStorageAdapter(): Promise<StorageAdapter> {
72
- // Ensure directories exist
73
- await ensureDir(getStorageDir());
74
- await ensureDir(getSecureStorageDir());
75
-
76
- return {
77
- // Secure storage
78
- async secureGet(key: string): Promise<string | null> {
79
- try {
80
- const filePath = getFilePath(key, true);
81
- const data = await fs.readFile(filePath, 'utf-8');
82
- const parsed = JSON.parse(data);
83
- return parsed.value || null;
84
- } catch (error) {
85
- if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
86
- return null;
87
- }
88
- console.warn('[NodeStorage] Failed to get secure item:', error);
89
- return null;
90
- }
91
- },
92
-
93
- async secureSet(key: string, value: string): Promise<void> {
94
- try {
95
- const filePath = getFilePath(key, true);
96
- const data = JSON.stringify({ value, timestamp: Date.now() });
97
- await fs.writeFile(filePath, data, { mode: 0o600 }); // Read/write for owner only
98
- } catch (error) {
99
- console.warn('[NodeStorage] Failed to set secure item:', error);
100
- throw error;
101
- }
102
- },
103
-
104
- async secureDelete(key: string): Promise<void> {
105
- try {
106
- const filePath = getFilePath(key, true);
107
- await fs.unlink(filePath);
108
- } catch (error) {
109
- if ((error as NodeJS.ErrnoException).code !== 'ENOENT') {
110
- console.warn('[NodeStorage] Failed to delete secure item:', error);
111
- }
112
- }
113
- },
114
-
115
- isSecureStorageAvailable(): boolean {
116
- return true;
117
- },
118
-
119
- // Regular storage
120
- async get(key: string): Promise<string | null> {
121
- try {
122
- const filePath = getFilePath(key, false);
123
- const data = await fs.readFile(filePath, 'utf-8');
124
- const parsed = JSON.parse(data);
125
- return parsed.value || null;
126
- } catch (error) {
127
- if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
128
- return null;
129
- }
130
- console.warn('[NodeStorage] Failed to get item:', error);
131
- return null;
132
- }
133
- },
134
-
135
- async set(key: string, value: string): Promise<void> {
136
- try {
137
- const filePath = getFilePath(key, false);
138
- const data = JSON.stringify({ value, timestamp: Date.now() });
139
- await fs.writeFile(filePath, data);
140
- } catch (error) {
141
- console.warn('[NodeStorage] Failed to set item:', error);
142
- throw error;
143
- }
144
- },
145
-
146
- async remove(key: string): Promise<void> {
147
- try {
148
- const filePath = getFilePath(key, false);
149
- await fs.unlink(filePath);
150
- } catch (error) {
151
- if ((error as NodeJS.ErrnoException).code !== 'ENOENT') {
152
- console.warn('[NodeStorage] Failed to remove item:', error);
153
- }
154
- }
155
- },
156
-
157
- async clear(): Promise<void> {
158
- try {
159
- const storageDir = getStorageDir();
160
- const files = await fs.readdir(storageDir);
161
- await Promise.all(
162
- files.map(file => fs.unlink(path.join(storageDir, file)))
163
- );
164
- } catch (error) {
165
- console.warn('[NodeStorage] Failed to clear storage:', error);
166
- }
167
- },
168
- };
169
- }
170
-