@oxyhq/services 5.17.17 → 5.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/README.md +32 -38
  2. package/lib/commonjs/core/CrossDomainAuth.js +277 -0
  3. package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
  4. package/lib/commonjs/core/HttpService.js +82 -15
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/OxyServices.base.js +11 -3
  7. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  8. package/lib/commonjs/core/OxyServices.js +4 -1
  9. package/lib/commonjs/core/OxyServices.js.map +1 -1
  10. package/lib/commonjs/core/index.js +30 -0
  11. package/lib/commonjs/core/index.js.map +1 -1
  12. package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
  13. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  14. package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
  15. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  16. package/lib/commonjs/core/mixins/OxyServices.features.js +372 -0
  17. package/lib/commonjs/core/mixins/OxyServices.features.js.map +1 -0
  18. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
  19. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
  20. package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
  21. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
  22. package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
  23. package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
  24. package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
  25. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  26. package/lib/commonjs/core/mixins/index.js +28 -15
  27. package/lib/commonjs/core/mixins/index.js.map +1 -1
  28. package/lib/commonjs/crypto/index.js +30 -0
  29. package/lib/commonjs/crypto/index.js.map +1 -1
  30. package/lib/commonjs/crypto/keyManager.js +902 -0
  31. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  32. package/lib/commonjs/crypto/polyfill.js +14 -5
  33. package/lib/commonjs/crypto/polyfill.js.map +1 -1
  34. package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
  35. package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
  36. package/lib/commonjs/crypto/signatureService.js +289 -0
  37. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  38. package/lib/commonjs/i18n/locales/en-US.json +1 -1
  39. package/lib/commonjs/index.js +40 -26
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/models/interfaces.js +0 -15
  42. package/lib/commonjs/models/interfaces.js.map +1 -1
  43. package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
  44. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  45. package/lib/commonjs/ui/components/GroupedItem.js +11 -1
  46. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  47. package/lib/commonjs/ui/components/Icon.js.map +1 -1
  48. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
  49. package/lib/commonjs/ui/components/OxyProvider.js +41 -11
  50. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  51. package/lib/commonjs/ui/components/SettingRow.js +17 -4
  52. package/lib/commonjs/ui/components/SettingRow.js.map +1 -1
  53. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
  54. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
  55. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
  56. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
  57. package/lib/commonjs/ui/components/feedback/FormInput.js +72 -0
  58. package/lib/commonjs/ui/components/feedback/FormInput.js.map +1 -0
  59. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js +33 -0
  60. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js.map +1 -0
  61. package/lib/commonjs/ui/components/feedback/constants.js +59 -0
  62. package/lib/commonjs/ui/components/feedback/constants.js.map +1 -0
  63. package/lib/commonjs/ui/components/feedback/feedbackStyles.js +262 -0
  64. package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -0
  65. package/lib/commonjs/ui/components/feedback/index.js +54 -0
  66. package/lib/commonjs/ui/components/feedback/index.js.map +1 -0
  67. package/lib/commonjs/ui/components/feedback/types.js +6 -0
  68. package/lib/commonjs/ui/components/feedback/types.js.map +1 -0
  69. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js +52 -0
  70. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js.map +1 -0
  71. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +282 -0
  72. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -0
  73. package/lib/commonjs/ui/components/modals/index.js +14 -0
  74. package/lib/commonjs/ui/components/modals/index.js.map +1 -0
  75. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +309 -0
  76. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  77. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +79 -0
  78. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -0
  79. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +108 -0
  80. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -0
  81. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +79 -0
  82. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  83. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +176 -0
  84. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  85. package/lib/commonjs/ui/components/payment/constants.js +53 -0
  86. package/lib/commonjs/ui/components/payment/constants.js.map +1 -0
  87. package/lib/commonjs/ui/components/payment/index.js +80 -0
  88. package/lib/commonjs/ui/components/payment/index.js.map +1 -0
  89. package/lib/commonjs/ui/components/payment/paymentStyles.js +409 -0
  90. package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -0
  91. package/lib/commonjs/ui/components/payment/types.js +6 -0
  92. package/lib/commonjs/ui/components/payment/types.js.map +1 -0
  93. package/lib/commonjs/ui/context/OxyContext.js +110 -199
  94. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  95. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
  96. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  97. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
  98. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  99. package/lib/commonjs/ui/hooks/index.js +26 -0
  100. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  101. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +79 -72
  102. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  103. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
  104. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  105. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
  106. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  107. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
  108. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  109. package/lib/commonjs/ui/hooks/useAsyncAction.js +95 -0
  110. package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -0
  111. package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
  112. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  113. package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
  114. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  115. package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
  116. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  117. package/lib/commonjs/ui/hooks/useSettingToggle.js +126 -0
  118. package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -0
  119. package/lib/commonjs/ui/hooks/useStorage.js +24 -58
  120. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
  121. package/lib/commonjs/ui/index.js +50 -21
  122. package/lib/commonjs/ui/index.js.map +1 -1
  123. package/lib/commonjs/ui/navigation/routes.js +6 -1
  124. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  125. package/lib/commonjs/ui/screens/AccountCenterScreen.js +6 -4
  126. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  127. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +33 -30
  128. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  129. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
  130. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  131. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
  132. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  133. package/lib/commonjs/ui/screens/FAQScreen.js +315 -0
  134. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -0
  135. package/lib/commonjs/ui/screens/FeedbackScreen.js +73 -590
  136. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  137. package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -7
  138. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  139. package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
  140. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  141. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +67 -1395
  142. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  143. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
  144. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  145. package/lib/commonjs/ui/screens/ProfileScreen.js +13 -5
  146. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  147. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -10
  148. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  149. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +23 -11
  150. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  151. package/lib/commonjs/ui/stores/accountStore.js +2 -4
  152. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  153. package/lib/commonjs/ui/stores/authStore.js +45 -32
  154. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  155. package/lib/commonjs/ui/styles/spacing.js +54 -2
  156. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  157. package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
  158. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  159. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
  160. package/lib/commonjs/utils/errorUtils.js +13 -0
  161. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  162. package/lib/commonjs/utils/validationUtils.js +15 -1
  163. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  164. package/lib/module/core/CrossDomainAuth.js +271 -0
  165. package/lib/module/core/CrossDomainAuth.js.map +1 -0
  166. package/lib/module/core/HttpService.js +82 -15
  167. package/lib/module/core/HttpService.js.map +1 -1
  168. package/lib/module/core/OxyServices.base.js +11 -4
  169. package/lib/module/core/OxyServices.base.js.map +1 -1
  170. package/lib/module/core/OxyServices.js +4 -1
  171. package/lib/module/core/OxyServices.js.map +1 -1
  172. package/lib/module/core/index.js +6 -1
  173. package/lib/module/core/index.js.map +1 -1
  174. package/lib/module/core/mixins/OxyServices.assets.js +16 -3
  175. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  176. package/lib/module/core/mixins/OxyServices.auth.js +73 -32
  177. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  178. package/lib/module/core/mixins/OxyServices.features.js +369 -0
  179. package/lib/module/core/mixins/OxyServices.features.js.map +1 -0
  180. package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
  181. package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
  182. package/lib/module/core/mixins/OxyServices.popup.js +349 -0
  183. package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
  184. package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
  185. package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
  186. package/lib/module/core/mixins/OxyServices.user.js +35 -24
  187. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  188. package/lib/module/core/mixins/index.js +16 -3
  189. package/lib/module/core/mixins/index.js.map +1 -1
  190. package/lib/module/crypto/index.js +8 -4
  191. package/lib/module/crypto/index.js.map +1 -1
  192. package/lib/module/crypto/keyManager.js +899 -0
  193. package/lib/module/crypto/keyManager.js.map +1 -0
  194. package/lib/module/crypto/polyfill.js +6 -5
  195. package/lib/module/crypto/polyfill.js.map +1 -1
  196. package/lib/module/crypto/recoveryPhrase.js +147 -0
  197. package/lib/module/crypto/recoveryPhrase.js.map +1 -0
  198. package/lib/module/crypto/signatureService.js +286 -0
  199. package/lib/module/crypto/signatureService.js.map +1 -0
  200. package/lib/module/i18n/locales/en-US.json +1 -1
  201. package/lib/module/index.js +6 -9
  202. package/lib/module/index.js.map +1 -1
  203. package/lib/module/models/interfaces.js +0 -15
  204. package/lib/module/models/interfaces.js.map +1 -1
  205. package/lib/module/ui/components/BottomSheetRouter.js +6 -2
  206. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  207. package/lib/module/ui/components/GroupedItem.js +11 -1
  208. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  209. package/lib/module/ui/components/Icon.js.map +1 -1
  210. package/lib/module/ui/components/IconButton/utils.js.map +1 -1
  211. package/lib/module/ui/components/OxyProvider.js +41 -11
  212. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  213. package/lib/module/ui/components/SettingRow.js +17 -4
  214. package/lib/module/ui/components/SettingRow.js.map +1 -1
  215. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
  216. package/lib/module/ui/components/TextField/helpers.js.map +1 -1
  217. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
  218. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
  219. package/lib/module/ui/components/feedback/FormInput.js +67 -0
  220. package/lib/module/ui/components/feedback/FormInput.js.map +1 -0
  221. package/lib/module/ui/components/feedback/ProgressIndicator.js +28 -0
  222. package/lib/module/ui/components/feedback/ProgressIndicator.js.map +1 -0
  223. package/lib/module/ui/components/feedback/constants.js +55 -0
  224. package/lib/module/ui/components/feedback/constants.js.map +1 -0
  225. package/lib/module/ui/components/feedback/feedbackStyles.js +257 -0
  226. package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -0
  227. package/lib/module/ui/components/feedback/index.js +8 -0
  228. package/lib/module/ui/components/feedback/index.js.map +1 -0
  229. package/lib/module/ui/components/feedback/types.js +4 -0
  230. package/lib/module/ui/components/feedback/types.js.map +1 -0
  231. package/lib/module/ui/components/feedback/useFeedbackForm.js +47 -0
  232. package/lib/module/ui/components/feedback/useFeedbackForm.js.map +1 -0
  233. package/lib/module/ui/components/modals/DeleteAccountModal.js +276 -0
  234. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -0
  235. package/lib/module/ui/components/modals/index.js +4 -0
  236. package/lib/module/ui/components/modals/index.js.map +1 -0
  237. package/lib/module/ui/components/payment/PaymentDetailsStep.js +303 -0
  238. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  239. package/lib/module/ui/components/payment/PaymentMethodStep.js +73 -0
  240. package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -0
  241. package/lib/module/ui/components/payment/PaymentReviewStep.js +102 -0
  242. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -0
  243. package/lib/module/ui/components/payment/PaymentSuccessStep.js +73 -0
  244. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  245. package/lib/module/ui/components/payment/PaymentSummaryStep.js +170 -0
  246. package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  247. package/lib/module/ui/components/payment/constants.js +47 -0
  248. package/lib/module/ui/components/payment/constants.js.map +1 -0
  249. package/lib/module/ui/components/payment/index.js +10 -0
  250. package/lib/module/ui/components/payment/index.js.map +1 -0
  251. package/lib/module/ui/components/payment/paymentStyles.js +404 -0
  252. package/lib/module/ui/components/payment/paymentStyles.js.map +1 -0
  253. package/lib/module/ui/components/payment/types.js +4 -0
  254. package/lib/module/ui/components/payment/types.js.map +1 -0
  255. package/lib/module/ui/context/OxyContext.js +112 -191
  256. package/lib/module/ui/context/OxyContext.js.map +1 -1
  257. package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
  258. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  259. package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
  260. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  261. package/lib/module/ui/hooks/index.js +2 -0
  262. package/lib/module/ui/hooks/index.js.map +1 -1
  263. package/lib/module/ui/hooks/mutations/useAccountMutations.js +80 -72
  264. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  265. package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
  266. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  267. package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
  268. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  269. package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
  270. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  271. package/lib/module/ui/hooks/useAsyncAction.js +89 -0
  272. package/lib/module/ui/hooks/useAsyncAction.js.map +1 -0
  273. package/lib/module/ui/hooks/useProfileEditing.js +3 -5
  274. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  275. package/lib/module/ui/hooks/useSessionManagement.js +4 -8
  276. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  277. package/lib/module/ui/hooks/useSessionSocket.js +162 -315
  278. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  279. package/lib/module/ui/hooks/useSettingToggle.js +120 -0
  280. package/lib/module/ui/hooks/useSettingToggle.js.map +1 -0
  281. package/lib/module/ui/hooks/useStorage.js +25 -59
  282. package/lib/module/ui/hooks/useStorage.js.map +1 -1
  283. package/lib/module/ui/index.js +15 -10
  284. package/lib/module/ui/index.js.map +1 -1
  285. package/lib/module/ui/navigation/routes.js +6 -1
  286. package/lib/module/ui/navigation/routes.js.map +1 -1
  287. package/lib/module/ui/screens/AccountCenterScreen.js +6 -4
  288. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  289. package/lib/module/ui/screens/AccountOverviewScreen.js +33 -30
  290. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  291. package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
  292. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  293. package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
  294. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  295. package/lib/module/ui/screens/FAQScreen.js +310 -0
  296. package/lib/module/ui/screens/FAQScreen.js.map +1 -0
  297. package/lib/module/ui/screens/FeedbackScreen.js +64 -581
  298. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  299. package/lib/module/ui/screens/HelpSupportScreen.js +8 -7
  300. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  301. package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
  302. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  303. package/lib/module/ui/screens/PaymentGatewayScreen.js +67 -1397
  304. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  305. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
  306. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  307. package/lib/module/ui/screens/ProfileScreen.js +13 -5
  308. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  309. package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -10
  310. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  311. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +23 -11
  312. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  313. package/lib/module/ui/stores/accountStore.js +2 -4
  314. package/lib/module/ui/stores/accountStore.js.map +1 -1
  315. package/lib/module/ui/stores/authStore.js +45 -32
  316. package/lib/module/ui/stores/authStore.js.map +1 -1
  317. package/lib/module/ui/styles/spacing.js +6 -2
  318. package/lib/module/ui/styles/spacing.js.map +1 -1
  319. package/lib/module/ui/utils/avatarUtils.js +37 -40
  320. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  321. package/lib/module/ui/utils/storageHelpers.js.map +1 -1
  322. package/lib/module/utils/errorUtils.js +7 -0
  323. package/lib/module/utils/errorUtils.js.map +1 -1
  324. package/lib/module/utils/validationUtils.js +13 -0
  325. package/lib/module/utils/validationUtils.js.map +1 -1
  326. package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
  327. package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
  328. package/lib/typescript/core/HttpService.d.ts +1 -1
  329. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  330. package/lib/typescript/core/OxyServices.base.d.ts +0 -6
  331. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  332. package/lib/typescript/core/OxyServices.d.ts +5 -36
  333. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  334. package/lib/typescript/core/index.d.ts +4 -0
  335. package/lib/typescript/core/index.d.ts.map +1 -1
  336. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  337. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  338. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
  339. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  340. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  341. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  342. package/lib/typescript/core/mixins/OxyServices.features.d.ts +229 -0
  343. package/lib/typescript/core/mixins/OxyServices.features.d.ts.map +1 -0
  344. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
  345. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
  346. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  347. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  348. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  349. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  350. package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
  351. package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
  352. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  353. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
  354. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
  355. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  356. package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
  357. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  358. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  359. package/lib/typescript/core/mixins/index.d.ts +291 -9
  360. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  361. package/lib/typescript/crypto/index.d.ts +6 -3
  362. package/lib/typescript/crypto/index.d.ts.map +1 -1
  363. package/lib/typescript/crypto/keyManager.d.ts +190 -0
  364. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  365. package/lib/typescript/crypto/polyfill.d.ts +4 -3
  366. package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
  367. package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
  368. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
  369. package/lib/typescript/crypto/signatureService.d.ts +87 -0
  370. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  371. package/lib/typescript/index.d.ts +5 -6
  372. package/lib/typescript/index.d.ts.map +1 -1
  373. package/lib/typescript/models/interfaces.d.ts +2 -14
  374. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  375. package/lib/typescript/models/session.d.ts +0 -9
  376. package/lib/typescript/models/session.d.ts.map +1 -1
  377. package/lib/typescript/types/bip39.d.ts +32 -0
  378. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
  379. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
  380. package/lib/typescript/ui/components/GroupedItem.d.ts +5 -1
  381. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  382. package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
  383. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  384. package/lib/typescript/ui/components/SettingRow.d.ts +6 -0
  385. package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -1
  386. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
  387. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
  388. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
  389. package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
  390. package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
  391. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
  392. package/lib/typescript/ui/components/feedback/FormInput.d.ts +20 -0
  393. package/lib/typescript/ui/components/feedback/FormInput.d.ts.map +1 -0
  394. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts +11 -0
  395. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts.map +1 -0
  396. package/lib/typescript/ui/components/feedback/constants.d.ts +5 -0
  397. package/lib/typescript/ui/components/feedback/constants.d.ts.map +1 -0
  398. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts +280 -0
  399. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts.map +1 -0
  400. package/lib/typescript/ui/components/feedback/index.d.ts +7 -0
  401. package/lib/typescript/ui/components/feedback/index.d.ts.map +1 -0
  402. package/lib/typescript/ui/components/feedback/types.d.ts +46 -0
  403. package/lib/typescript/ui/components/feedback/types.d.ts.map +1 -0
  404. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts +9 -0
  405. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts.map +1 -0
  406. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts +19 -0
  407. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts.map +1 -0
  408. package/lib/typescript/ui/components/modals/index.d.ts +2 -0
  409. package/lib/typescript/ui/components/modals/index.d.ts.map +1 -0
  410. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts +21 -0
  411. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -0
  412. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts +14 -0
  413. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts.map +1 -0
  414. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts +16 -0
  415. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts.map +1 -0
  416. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts +10 -0
  417. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -0
  418. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts +15 -0
  419. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -0
  420. package/lib/typescript/ui/components/payment/constants.d.ts +7 -0
  421. package/lib/typescript/ui/components/payment/constants.d.ts.map +1 -0
  422. package/lib/typescript/ui/components/payment/index.d.ts +9 -0
  423. package/lib/typescript/ui/components/payment/index.d.ts.map +1 -0
  424. package/lib/typescript/ui/components/payment/paymentStyles.d.ts +396 -0
  425. package/lib/typescript/ui/components/payment/paymentStyles.d.ts.map +1 -0
  426. package/lib/typescript/ui/components/payment/types.d.ts +40 -0
  427. package/lib/typescript/ui/components/payment/types.d.ts.map +1 -0
  428. package/lib/typescript/ui/components/types.d.ts +4 -0
  429. package/lib/typescript/ui/components/types.d.ts.map +1 -1
  430. package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
  431. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  432. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
  433. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  434. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
  435. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  436. package/lib/typescript/ui/hooks/index.d.ts +2 -0
  437. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  438. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  439. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  440. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  441. package/lib/typescript/ui/hooks/useAsyncAction.d.ts +51 -0
  442. package/lib/typescript/ui/hooks/useAsyncAction.d.ts.map +1 -0
  443. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  444. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  445. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
  446. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  447. package/lib/typescript/ui/hooks/useSettingToggle.d.ts +55 -0
  448. package/lib/typescript/ui/hooks/useSettingToggle.d.ts.map +1 -0
  449. package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
  450. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
  451. package/lib/typescript/ui/index.d.ts +6 -2
  452. package/lib/typescript/ui/index.d.ts.map +1 -1
  453. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  454. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  455. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  456. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  457. package/lib/typescript/ui/screens/FAQScreen.d.ts +5 -0
  458. package/lib/typescript/ui/screens/FAQScreen.d.ts.map +1 -0
  459. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  460. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  461. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
  462. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  463. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +3 -15
  464. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  465. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  466. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  467. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  468. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  469. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  470. package/lib/typescript/ui/stores/authStore.d.ts +8 -7
  471. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  472. package/lib/typescript/ui/styles/spacing.d.ts +5 -0
  473. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  474. package/lib/typescript/ui/types/navigation.d.ts +2 -1
  475. package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
  476. package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
  477. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  478. package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
  479. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
  480. package/lib/typescript/utils/errorUtils.d.ts +6 -0
  481. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  482. package/lib/typescript/utils/validationUtils.d.ts +8 -0
  483. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  484. package/package.json +8 -7
  485. package/src/core/CrossDomainAuth.ts +307 -0
  486. package/src/core/HttpService.ts +99 -16
  487. package/src/core/OxyServices.base.ts +20 -3
  488. package/src/core/OxyServices.ts +7 -3
  489. package/src/core/index.ts +9 -1
  490. package/src/core/mixins/OxyServices.assets.ts +14 -3
  491. package/src/core/mixins/OxyServices.auth.ts +105 -36
  492. package/src/core/mixins/OxyServices.features.ts +428 -0
  493. package/src/core/mixins/OxyServices.fedcm.ts +315 -0
  494. package/src/core/mixins/OxyServices.popup.ts +402 -0
  495. package/src/core/mixins/OxyServices.redirect.ts +397 -0
  496. package/src/core/mixins/OxyServices.user.ts +39 -24
  497. package/src/core/mixins/index.ts +33 -14
  498. package/src/crypto/index.ts +16 -5
  499. package/src/crypto/keyManager.ts +966 -0
  500. package/src/crypto/polyfill.ts +6 -5
  501. package/src/crypto/recoveryPhrase.ts +166 -0
  502. package/src/crypto/signatureService.ts +323 -0
  503. package/src/i18n/locales/en-US.json +1 -1
  504. package/src/index.ts +19 -15
  505. package/src/models/interfaces.ts +4 -16
  506. package/src/models/session.ts +2 -11
  507. package/src/types/bip39.d.ts +32 -0
  508. package/src/ui/components/BottomSheetRouter.tsx +6 -1
  509. package/src/ui/components/GroupedItem.tsx +19 -1
  510. package/src/ui/components/Icon.tsx +1 -1
  511. package/src/ui/components/IconButton/utils.ts +1 -1
  512. package/src/ui/components/OxyProvider.tsx +44 -12
  513. package/src/ui/components/SettingRow.tsx +26 -4
  514. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  515. package/src/ui/components/TextField/Adornment/utils.ts +2 -2
  516. package/src/ui/components/TextField/helpers.tsx +10 -10
  517. package/src/ui/components/TextField/types.tsx +1 -1
  518. package/src/ui/components/TouchableRipple/utils.ts +2 -2
  519. package/src/ui/components/Typography/AnimatedText.tsx +2 -2
  520. package/src/ui/components/feedback/FormInput.tsx +84 -0
  521. package/src/ui/components/feedback/ProgressIndicator.tsx +35 -0
  522. package/src/ui/components/feedback/constants.ts +22 -0
  523. package/src/ui/components/feedback/feedbackStyles.ts +247 -0
  524. package/src/ui/components/feedback/index.ts +6 -0
  525. package/src/ui/components/feedback/types.ts +52 -0
  526. package/src/ui/components/feedback/useFeedbackForm.ts +44 -0
  527. package/src/ui/components/modals/DeleteAccountModal.tsx +294 -0
  528. package/src/ui/components/modals/index.ts +1 -0
  529. package/src/ui/components/payment/PaymentDetailsStep.tsx +222 -0
  530. package/src/ui/components/payment/PaymentMethodStep.tsx +89 -0
  531. package/src/ui/components/payment/PaymentReviewStep.tsx +126 -0
  532. package/src/ui/components/payment/PaymentSuccessStep.tsx +71 -0
  533. package/src/ui/components/payment/PaymentSummaryStep.tsx +159 -0
  534. package/src/ui/components/payment/constants.ts +39 -0
  535. package/src/ui/components/payment/index.ts +9 -0
  536. package/src/ui/components/payment/paymentStyles.ts +397 -0
  537. package/src/ui/components/payment/types.ts +45 -0
  538. package/src/ui/components/types.tsx +6 -0
  539. package/src/ui/context/OxyContext.tsx +173 -195
  540. package/src/ui/context/hooks/useAuthOperations.ts +177 -36
  541. package/src/ui/context/hooks/useSessionManagement.ts +399 -0
  542. package/src/ui/hooks/index.ts +3 -1
  543. package/src/ui/hooks/mutations/useAccountMutations.ts +83 -76
  544. package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
  545. package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
  546. package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
  547. package/src/ui/hooks/useAsyncAction.ts +129 -0
  548. package/src/ui/hooks/useProfileEditing.ts +3 -3
  549. package/src/ui/hooks/useSessionManagement.ts +5 -10
  550. package/src/ui/hooks/useSessionSocket.ts +46 -175
  551. package/src/ui/hooks/useSettingToggle.ts +147 -0
  552. package/src/ui/hooks/useStorage.ts +24 -76
  553. package/src/ui/index.ts +22 -13
  554. package/src/ui/navigation/routes.ts +8 -2
  555. package/src/ui/screens/AccountCenterScreen.tsx +4 -4
  556. package/src/ui/screens/AccountOverviewScreen.tsx +36 -38
  557. package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
  558. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  559. package/src/ui/screens/FAQScreen.tsx +332 -0
  560. package/src/ui/screens/FeedbackScreen.tsx +91 -626
  561. package/src/ui/screens/HelpSupportScreen.tsx +7 -5
  562. package/src/ui/screens/OxyAuthScreen.tsx +138 -64
  563. package/src/ui/screens/PaymentGatewayScreen.tsx +96 -1275
  564. package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
  565. package/src/ui/screens/ProfileScreen.tsx +11 -6
  566. package/src/ui/screens/SavesCollectionsScreen.tsx +19 -10
  567. package/src/ui/screens/karma/KarmaCenterScreen.tsx +10 -10
  568. package/src/ui/stores/accountStore.ts +1 -11
  569. package/src/ui/stores/authStore.ts +43 -44
  570. package/src/ui/styles/spacing.ts +15 -2
  571. package/src/ui/types/navigation.ts +2 -2
  572. package/src/ui/utils/avatarUtils.ts +39 -46
  573. package/src/ui/utils/storageHelpers.ts +0 -4
  574. package/src/utils/__tests__/validationUtils.test.ts +16 -1
  575. package/src/utils/errorUtils.ts +8 -1
  576. package/src/utils/validationUtils.ts +12 -0
  577. package/lib/commonjs/core/services/SessionService.js +0 -163
  578. package/lib/commonjs/core/services/SessionService.js.map +0 -1
  579. package/lib/commonjs/core/services/TokenService.js +0 -220
  580. package/lib/commonjs/core/services/TokenService.js.map +0 -1
  581. package/lib/commonjs/crypto/types.js +0 -2
  582. package/lib/commonjs/crypto/types.js.map +0 -1
  583. package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
  584. package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
  585. package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
  586. package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
  587. package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
  588. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
  589. package/lib/module/core/services/SessionService.js +0 -159
  590. package/lib/module/core/services/SessionService.js.map +0 -1
  591. package/lib/module/core/services/TokenService.js +0 -217
  592. package/lib/module/core/services/TokenService.js.map +0 -1
  593. package/lib/module/crypto/types.js +0 -2
  594. package/lib/module/crypto/types.js.map +0 -1
  595. package/lib/module/ui/context/OxyContextBase.js +0 -16
  596. package/lib/module/ui/context/OxyContextBase.js.map +0 -1
  597. package/lib/module/ui/context/hooks/useStorage.js +0 -74
  598. package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
  599. package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
  600. package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
  601. package/lib/typescript/core/services/SessionService.d.ts +0 -78
  602. package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
  603. package/lib/typescript/core/services/TokenService.d.ts +0 -72
  604. package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
  605. package/lib/typescript/crypto/types.d.ts +0 -22
  606. package/lib/typescript/crypto/types.d.ts.map +0 -1
  607. package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
  608. package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
  609. package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
  610. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
  611. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
  612. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
  613. package/src/core/services/SessionService.ts +0 -173
  614. package/src/core/services/TokenService.ts +0 -237
  615. package/src/crypto/types.ts +0 -23
  616. package/src/ui/context/OxyContextBase.tsx +0 -78
  617. package/src/ui/context/hooks/useStorage.ts +0 -104
  618. package/src/ui/hooks/useAvatarPicker.ts +0 -61
package/README.md CHANGED
@@ -104,17 +104,12 @@ app.use(express.json());
104
104
  // Optional: create your own client (e.g., different baseURL per env)
105
105
  const services = new OxyServices({ baseURL: process.env.OXY_CLOUD_URL || 'https://api.oxy.so' });
106
106
 
107
- app.post('/api/auth/login', async (req, res) => {
107
+ // /api/auth/login works too (alias)
108
+ app.post('/auth/login', async (req, res) => {
108
109
  try {
109
- // Public-key challenge/response sign-in (no passwords)
110
- const { KeyManager, SignatureService } = await import('@oxyhq/services/crypto');
111
- const publicKey = await KeyManager.getPublicKey();
112
- const user = await oxyClient.getUserByPublicKey(publicKey);
113
- const { challenge } = await oxyClient.requestChallenge(user.id);
114
- const { challenge: signature, timestamp } = await SignatureService.signChallenge(challenge);
115
- const { sessionId } = await oxyClient.verifyChallenge(user.id, challenge, signature, timestamp);
116
- await oxyClient.getTokenBySession(sessionId);
117
- res.json({ sessionId });
110
+ const { username, password } = req.body;
111
+ const session = await oxyClient.signIn(username, password);
112
+ res.json(session);
118
113
  } catch (err: any) {
119
114
  res.status(401).json({ error: err.message });
120
115
  }
@@ -169,8 +164,7 @@ function UserProfile() {
169
164
 
170
165
  const handleLogin = async () => {
171
166
  try {
172
- // Public-key sign-in (Accounts app or local key handles signing)
173
- await login();
167
+ await login('username', 'password');
174
168
  } catch (error) {
175
169
  console.error('Login failed:', error);
176
170
  }
@@ -230,15 +224,9 @@ import { oxyClient } from '@oxyhq/services/core';
230
224
  // routes/auth.ts
231
225
  export const signIn = async (req, res) => {
232
226
  try {
233
- // Public-key challenge/response sign-in (no passwords)
234
- const { KeyManager, SignatureService } = await import('@oxyhq/services/crypto');
235
- const publicKey = await KeyManager.getPublicKey();
236
- const user = await oxyClient.getUserByPublicKey(publicKey);
237
- const { challenge } = await oxyClient.requestChallenge(user.id);
238
- const { challenge: signature, timestamp } = await SignatureService.signChallenge(challenge);
239
- const { sessionId } = await oxyClient.verifyChallenge(user.id, challenge, signature, timestamp);
240
- await oxyClient.getTokenBySession(sessionId);
241
- res.json({ sessionId });
227
+ const { username, password } = req.body;
228
+ const response = await oxyClient.signIn(username, password);
229
+ res.json(response);
242
230
  } catch (error) {
243
231
  res.status(401).json({ error: error.message });
244
232
  }
@@ -342,7 +330,8 @@ import {
342
330
  // Crypto module (for identity management)
343
331
  import {
344
332
  KeyManager,
345
- SignatureService
333
+ SignatureService,
334
+ RecoveryPhraseService
346
335
  } from '@oxyhq/services/crypto';
347
336
  ```
348
337
 
@@ -449,8 +438,8 @@ const {
449
438
  error,
450
439
 
451
440
  // Identity management (Public Key Authentication)
452
- createIdentity, // Create new identity
453
- importIdentity, // Import identity from backup file
441
+ createIdentity, // Create new identity with recovery phrase
442
+ importIdentity, // Import identity from recovery phrase
454
443
  signIn, // Sign in with stored identity
455
444
  hasIdentity, // Check if identity exists on device
456
445
  getPublicKey, // Get stored public key
@@ -501,7 +490,7 @@ const oxy = new OxyServices({
501
490
 
502
491
  ## 🔐 Authentication
503
492
 
504
- Oxy uses **public/private key cryptography** (ECDSA secp256k1) instead of passwords. Users manage their cryptographic identity in the **Oxy Accounts** app, and other apps can integrate "Sign in with Oxy" for seamless authentication.
493
+ Oxy supports **public/private key cryptography** (ECDSA secp256k1) as the primary identity system, with optional password-based accounts for the web gateway. Users manage their cryptographic identity in the **Oxy Accounts** app, and other apps can integrate "Sign in with Oxy" for seamless authentication.
505
494
 
506
495
  ### Public Key Authentication
507
496
 
@@ -513,12 +502,12 @@ function AuthScreen() {
513
502
 
514
503
  // Create new identity (in Oxy Accounts app)
515
504
  const handleCreate = async () => {
516
- const { synced } = await createIdentity();
517
- // Identity created - user should create backup file
505
+ const { user, recoveryPhrase } = await createIdentity('username', 'email');
506
+ // Show recoveryPhrase to user - they must save it!
518
507
  };
519
508
 
520
- // Import existing identity from backup file
521
- const handleImport = async (backupData: { encrypted: string; salt: string; iv: string; publicKey: string }, password: string) => {
509
+ // Import existing identity
510
+ const handleImport = async (phrase: string) => {
522
511
  const user = await importIdentity(phrase, 'username', 'email');
523
512
  };
524
513
 
@@ -532,6 +521,15 @@ function AuthScreen() {
532
521
  }
533
522
  ```
534
523
 
524
+ ### Password Authentication (Web Gateway)
525
+
526
+ For web-only or legacy flows, Oxy also supports password sign-in (email/username + password). Use the auth gateway (`/login`, `/signup`, `/recover`) for browser-based flows, or call the API directly:
527
+
528
+ ```typescript
529
+ const session = await oxyServices.signUp('username', 'email@example.com', 'password');
530
+ const session2 = await oxyServices.signIn('username-or-email', 'password');
531
+ ```
532
+
535
533
  ### Cross-App Authentication (Sign in with Oxy)
536
534
 
537
535
  For third-party apps that want to allow users to sign in with their Oxy identity:
@@ -548,6 +546,8 @@ This displays:
548
546
  - A QR code that users can scan with Oxy Accounts
549
547
  - A button to open Oxy Accounts directly via deep link
550
548
 
549
+ Web fallback: send users to the auth gateway at `https://accounts.oxy.so/authorize?token=...` to approve the session.
550
+
551
551
  ### Documentation
552
552
 
553
553
  📖 **[Complete Public Key Authentication Guide](./docs/PUBLIC_KEY_AUTHENTICATION.md)**
@@ -886,15 +886,9 @@ app.use(express.json());
886
886
  // Auth routes
887
887
  app.post('/api/auth/signin', async (req, res) => {
888
888
  try {
889
- // Public-key challenge/response sign-in (no passwords)
890
- const { KeyManager, SignatureService } = await import('@oxyhq/services/crypto');
891
- const publicKey = await KeyManager.getPublicKey();
892
- const user = await oxyClient.getUserByPublicKey(publicKey);
893
- const { challenge } = await oxyClient.requestChallenge(user.id);
894
- const { challenge: signature, timestamp } = await SignatureService.signChallenge(challenge);
895
- const { sessionId } = await oxyClient.verifyChallenge(user.id, challenge, signature, timestamp);
896
- await oxyClient.getTokenBySession(sessionId);
897
- res.json({ sessionId });
889
+ const { username, password } = req.body;
890
+ const response = await oxyClient.signIn(username, password);
891
+ res.json(response);
898
892
  } catch (error) {
899
893
  res.status(401).json({ error: error.message });
900
894
  }
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CrossDomainAuth = void 0;
7
+ exports.createCrossDomainAuth = createCrossDomainAuth;
8
+ /**
9
+ * Cross-Domain Authentication Helper
10
+ *
11
+ * Provides a simplified API for cross-domain SSO authentication that automatically
12
+ * selects the best authentication method based on browser capabilities:
13
+ *
14
+ * 1. FedCM (if supported) - Modern, Google-style browser-native auth
15
+ * 2. Popup (fallback) - OAuth2-style popup window
16
+ * 3. Redirect (final fallback) - Traditional full-page redirect
17
+ *
18
+ * Usage:
19
+ * ```typescript
20
+ * import { CrossDomainAuth } from '@oxyhq/services';
21
+ *
22
+ * const auth = new CrossDomainAuth(oxyServices);
23
+ *
24
+ * // Automatic method selection
25
+ * const session = await auth.signIn();
26
+ *
27
+ * // Or use specific method
28
+ * const session = await auth.signInWithPopup();
29
+ * ```
30
+ */
31
+
32
+ class CrossDomainAuth {
33
+ constructor(oxyServices) {
34
+ this.oxyServices = oxyServices;
35
+ }
36
+
37
+ /**
38
+ * Sign in with automatic method selection
39
+ *
40
+ * Tries methods in this order:
41
+ * 1. FedCM (if supported and not in private browsing)
42
+ * 2. Popup (if not blocked)
43
+ * 3. Redirect (always works)
44
+ *
45
+ * @param options - Authentication options
46
+ * @returns Session with user data and access token
47
+ */
48
+ async signIn(options = {}) {
49
+ const method = options.method || 'auto';
50
+
51
+ // If specific method requested, use it directly
52
+ if (method === 'fedcm') {
53
+ return this.signInWithFedCM(options);
54
+ }
55
+ if (method === 'popup') {
56
+ return this.signInWithPopup(options);
57
+ }
58
+ if (method === 'redirect') {
59
+ this.signInWithRedirect(options);
60
+ return null; // Redirect doesn't return immediately
61
+ }
62
+
63
+ // Auto mode: Try methods in order of preference
64
+ return this.autoSignIn(options);
65
+ }
66
+
67
+ /**
68
+ * Automatic sign-in with progressive enhancement
69
+ *
70
+ * @private
71
+ */
72
+ async autoSignIn(options) {
73
+ // 1. Try FedCM first (best UX, most modern)
74
+ if (this.isFedCMSupported()) {
75
+ try {
76
+ options.onMethodSelected?.('fedcm');
77
+ return await this.signInWithFedCM(options);
78
+ } catch (error) {
79
+ console.warn('[CrossDomainAuth] FedCM failed, trying popup...', error);
80
+ }
81
+ }
82
+
83
+ // 2. Try popup (good UX, widely supported)
84
+ try {
85
+ options.onMethodSelected?.('popup');
86
+ return await this.signInWithPopup(options);
87
+ } catch (error) {
88
+ console.warn('[CrossDomainAuth] Popup failed, falling back to redirect...', error);
89
+ }
90
+
91
+ // 3. Fallback to redirect (always works)
92
+ options.onMethodSelected?.('redirect');
93
+ this.signInWithRedirect(options);
94
+ return null;
95
+ }
96
+
97
+ /**
98
+ * Sign in using FedCM (Federated Credential Management)
99
+ *
100
+ * Best method - browser-native, no popups, Google-like experience
101
+ */
102
+ async signInWithFedCM(options = {}) {
103
+ return this.oxyServices.signInWithFedCM({
104
+ context: options.isSignup ? 'signup' : 'signin'
105
+ });
106
+ }
107
+
108
+ /**
109
+ * Sign in using popup window
110
+ *
111
+ * Good method - preserves app state, no full page reload
112
+ */
113
+ async signInWithPopup(options = {}) {
114
+ return this.oxyServices.signInWithPopup({
115
+ mode: options.isSignup ? 'signup' : 'login',
116
+ width: options.popupDimensions?.width,
117
+ height: options.popupDimensions?.height
118
+ });
119
+ }
120
+
121
+ /**
122
+ * Sign in using full-page redirect
123
+ *
124
+ * Fallback method - works everywhere but loses app state
125
+ */
126
+ signInWithRedirect(options = {}) {
127
+ this.oxyServices.signInWithRedirect({
128
+ redirectUri: options.redirectUri,
129
+ mode: options.isSignup ? 'signup' : 'login'
130
+ });
131
+ }
132
+
133
+ /**
134
+ * Handle redirect callback
135
+ *
136
+ * Call this on app startup to check if we're returning from auth redirect
137
+ */
138
+ handleRedirectCallback() {
139
+ return this.oxyServices.handleAuthCallback();
140
+ }
141
+
142
+ /**
143
+ * Silent sign-in (check for existing session)
144
+ *
145
+ * Tries to automatically sign in without user interaction.
146
+ * Works with both FedCM and popup/iframe methods.
147
+ *
148
+ * @returns Session if user is already signed in, null otherwise
149
+ */
150
+ async silentSignIn() {
151
+ // Try FedCM silent sign-in first (if supported)
152
+ if (this.isFedCMSupported()) {
153
+ try {
154
+ const session = await this.oxyServices.silentSignInWithFedCM();
155
+ if (session) {
156
+ return session;
157
+ }
158
+ } catch (error) {
159
+ console.warn('[CrossDomainAuth] FedCM silent sign-in failed:', error);
160
+ }
161
+ }
162
+
163
+ // Fallback to iframe-based silent auth
164
+ try {
165
+ return await this.oxyServices.silentSignIn();
166
+ } catch (error) {
167
+ console.warn('[CrossDomainAuth] Silent sign-in failed:', error);
168
+ return null;
169
+ }
170
+ }
171
+
172
+ /**
173
+ * Restore session from storage
174
+ *
175
+ * For redirect method - restores previously authenticated session from localStorage
176
+ */
177
+ restoreSession() {
178
+ return this.oxyServices.restoreSession?.() || false;
179
+ }
180
+
181
+ /**
182
+ * Check if FedCM is supported in current browser
183
+ */
184
+ isFedCMSupported() {
185
+ return this.oxyServices.constructor.isFedCMSupported?.() || false;
186
+ }
187
+
188
+ /**
189
+ * Get recommended authentication method for current environment
190
+ *
191
+ * @returns Recommended method name and reason
192
+ */
193
+ getRecommendedMethod() {
194
+ if (this.isFedCMSupported()) {
195
+ return {
196
+ method: 'fedcm',
197
+ reason: 'FedCM is supported - provides best UX with browser-native auth'
198
+ };
199
+ }
200
+ if (typeof window !== 'undefined') {
201
+ return {
202
+ method: 'popup',
203
+ reason: 'Browser environment - popup preserves app state'
204
+ };
205
+ }
206
+ return {
207
+ method: 'redirect',
208
+ reason: 'Fallback method - works in all environments'
209
+ };
210
+ }
211
+
212
+ /**
213
+ * Initialize cross-domain auth on app startup
214
+ *
215
+ * This handles:
216
+ * 1. Redirect callback (if returning from auth.oxy.so)
217
+ * 2. Session restoration (from localStorage)
218
+ * 3. Silent sign-in (check for existing SSO session)
219
+ *
220
+ * @returns Session if user is authenticated, null otherwise
221
+ */
222
+ async initialize() {
223
+ // 1. Check if this is a redirect callback
224
+ const callbackSession = this.handleRedirectCallback();
225
+ if (callbackSession) {
226
+ return callbackSession;
227
+ }
228
+
229
+ // 2. Try to restore existing session from storage
230
+ const restored = this.restoreSession();
231
+ if (restored) {
232
+ // Verify session is still valid by fetching user
233
+ try {
234
+ const user = await this.oxyServices.getCurrentUser();
235
+ if (user) {
236
+ return {
237
+ sessionId: this.oxyServices.getStoredSessionId?.() || '',
238
+ deviceId: '',
239
+ expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
240
+ user
241
+ };
242
+ }
243
+ } catch (error) {
244
+ console.warn('[CrossDomainAuth] Stored session invalid:', error);
245
+ }
246
+ }
247
+
248
+ // 3. Try silent sign-in (check for SSO session at auth.oxy.so)
249
+ return await this.silentSignIn();
250
+ }
251
+ }
252
+
253
+ /**
254
+ * Helper function to create CrossDomainAuth instance
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * import { createCrossDomainAuth } from '@oxyhq/services';
259
+ *
260
+ * const oxyServices = new OxyServices({ baseURL: 'https://api.oxy.so' });
261
+ * const auth = createCrossDomainAuth(oxyServices);
262
+ *
263
+ * // On app startup
264
+ * const session = await auth.initialize();
265
+ * if (session) {
266
+ * console.log('User is signed in:', session.user);
267
+ * }
268
+ *
269
+ * // Sign in button click
270
+ * const session = await auth.signIn();
271
+ * ```
272
+ */
273
+ exports.CrossDomainAuth = CrossDomainAuth;
274
+ function createCrossDomainAuth(oxyServices) {
275
+ return new CrossDomainAuth(oxyServices);
276
+ }
277
+ //# sourceMappingURL=CrossDomainAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CrossDomainAuth","constructor","oxyServices","signIn","options","method","signInWithFedCM","signInWithPopup","signInWithRedirect","autoSignIn","isFedCMSupported","onMethodSelected","error","console","warn","context","isSignup","mode","width","popupDimensions","height","redirectUri","handleRedirectCallback","handleAuthCallback","silentSignIn","session","silentSignInWithFedCM","restoreSession","getRecommendedMethod","reason","window","initialize","callbackSession","restored","user","getCurrentUser","sessionId","getStoredSessionId","deviceId","expiresAt","Date","now","toISOString","exports","createCrossDomainAuth"],"sourceRoot":"../../../src","sources":["core/CrossDomainAuth.ts"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ var _cache = require("../utils/cache");
8
8
  var _requestUtils = require("../utils/requestUtils");
9
9
  var _asyncUtils = require("../utils/asyncUtils");
10
10
  var _errorUtils = require("../utils/errorUtils");
11
- var _TokenService = require("./services/TokenService");
11
+ var _jwtDecode = require("jwt-decode");
12
12
  /**
13
13
  * Unified HTTP Service
14
14
  *
@@ -24,7 +24,37 @@ var _TokenService = require("./services/TokenService");
24
24
  * - Request queuing
25
25
  */
26
26
 
27
- // Token management moved to TokenService - import it instead
27
+ /**
28
+ * Token store for authentication (singleton)
29
+ */
30
+ class TokenStore {
31
+ accessToken = null;
32
+ refreshToken = null;
33
+ constructor() {}
34
+ static getInstance() {
35
+ if (!TokenStore.instance) {
36
+ TokenStore.instance = new TokenStore();
37
+ }
38
+ return TokenStore.instance;
39
+ }
40
+ setTokens(accessToken, refreshToken = '') {
41
+ this.accessToken = accessToken;
42
+ this.refreshToken = refreshToken;
43
+ }
44
+ getAccessToken() {
45
+ return this.accessToken;
46
+ }
47
+ getRefreshToken() {
48
+ return this.refreshToken;
49
+ }
50
+ clearTokens() {
51
+ this.accessToken = null;
52
+ this.refreshToken = null;
53
+ }
54
+ hasAccessToken() {
55
+ return !!this.accessToken;
56
+ }
57
+ }
28
58
 
29
59
  /**
30
60
  * Unified HTTP Service
@@ -45,9 +75,7 @@ class HttpService {
45
75
  constructor(config) {
46
76
  this.config = config;
47
77
  this.baseURL = config.baseURL;
48
-
49
- // Initialize TokenService with baseURL
50
- _TokenService.tokenService.initialize(this.baseURL);
78
+ this.tokenStore = TokenStore.getInstance();
51
79
  this.logger = new _requestUtils.SimpleLogger(config.enableLogging || false, config.logLevel || 'error', 'HttpService');
52
80
 
53
81
  // Initialize performance infrastructure
@@ -177,7 +205,7 @@ class HttpService {
177
205
  // Handle response
178
206
  if (!response.ok) {
179
207
  if (response.status === 401) {
180
- _TokenService.tokenService.clearTokens();
208
+ this.tokenStore.clearTokens();
181
209
  }
182
210
 
183
211
  // Try to parse error response (handle empty/malformed JSON)
@@ -186,8 +214,11 @@ class HttpService {
186
214
  if (contentType && contentType.includes('application/json')) {
187
215
  try {
188
216
  const errorData = await response.json();
217
+ // Check both 'message' and 'error' fields for backwards compatibility
189
218
  if (errorData?.message) {
190
219
  errorMessage = errorData.message;
220
+ } else if (errorData?.error) {
221
+ errorMessage = errorData.error;
191
222
  }
192
223
  } catch (parseError) {
193
224
  // Malformed JSON or empty response - use status text
@@ -315,10 +346,46 @@ class HttpService {
315
346
 
316
347
  /**
317
348
  * Get auth header with automatic token refresh
318
- * Uses TokenService for all token operations
319
349
  */
320
350
  async getAuthHeader() {
321
- return await _TokenService.tokenService.getAuthHeader();
351
+ const accessToken = this.tokenStore.getAccessToken();
352
+ if (!accessToken) {
353
+ return null;
354
+ }
355
+ try {
356
+ const decoded = (0, _jwtDecode.jwtDecode)(accessToken);
357
+ const currentTime = Math.floor(Date.now() / 1000);
358
+
359
+ // If token expires in less than 60 seconds, refresh it
360
+ if (decoded.exp && decoded.exp - currentTime < 60 && decoded.sessionId) {
361
+ try {
362
+ const refreshUrl = `${this.baseURL}/api/session/token/${decoded.sessionId}`;
363
+
364
+ // Use AbortSignal.timeout for consistent timeout handling
365
+ const response = await fetch(refreshUrl, {
366
+ method: 'GET',
367
+ headers: {
368
+ 'Accept': 'application/json'
369
+ },
370
+ signal: AbortSignal.timeout(5000)
371
+ });
372
+ if (response.ok) {
373
+ const {
374
+ accessToken: newToken
375
+ } = await response.json();
376
+ this.tokenStore.setTokens(newToken);
377
+ this.logger.debug('Token refreshed');
378
+ return `Bearer ${newToken}`;
379
+ }
380
+ } catch (refreshError) {
381
+ this.logger.warn('Token refresh failed, using current token');
382
+ }
383
+ }
384
+ return `Bearer ${accessToken}`;
385
+ } catch (error) {
386
+ this.logger.error('Error processing token:', error);
387
+ return `Bearer ${accessToken}`;
388
+ }
322
389
  }
323
390
 
324
391
  /**
@@ -453,18 +520,18 @@ class HttpService {
453
520
  };
454
521
  }
455
522
 
456
- // Token management - delegates to TokenService
523
+ // Token management
457
524
  setTokens(accessToken, refreshToken = '') {
458
- _TokenService.tokenService.setTokens(accessToken, refreshToken);
525
+ this.tokenStore.setTokens(accessToken, refreshToken);
459
526
  }
460
527
  clearTokens() {
461
- _TokenService.tokenService.clearTokens();
528
+ this.tokenStore.clearTokens();
462
529
  }
463
530
  getAccessToken() {
464
- return _TokenService.tokenService.getAccessToken();
531
+ return this.tokenStore.getAccessToken();
465
532
  }
466
533
  hasAccessToken() {
467
- return _TokenService.tokenService.hasAccessToken();
534
+ return this.tokenStore.hasAccessToken();
468
535
  }
469
536
  getBaseURL() {
470
537
  return this.baseURL;
@@ -496,10 +563,10 @@ class HttpService {
496
563
  // Test-only utility
497
564
  static __resetTokensForTests() {
498
565
  try {
499
- _TokenService.tokenService.clearTokens();
566
+ TokenStore.getInstance().clearTokens();
500
567
  } catch (error) {
501
568
  // Silently fail in test cleanup - this is expected behavior
502
- // TokenService might not be initialized in some test scenarios
569
+ // TokenStore might not be initialized in some test scenarios
503
570
  }
504
571
  }
505
572
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_cache","require","_requestUtils","_asyncUtils","_errorUtils","_TokenService","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","constructor","config","baseURL","tokenService","initialize","logger","SimpleLogger","enableLogging","logLevel","cache","TTLCache","cacheTTL","registerCacheForCleanup","deduplicator","RequestDeduplicator","requestQueue","RequestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","clearTimeout","ok","status","clearTokens","errorMessage","statusText","contentType","includes","errorData","json","message","parseError","warn","error","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","handleHttpError","requestWithRetry","retryAsync","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","length","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","Array","isArray","success","alpha","post","put","patch","delete","setTokens","accessToken","refreshToken","getAccessToken","hasAccessToken","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests","exports"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cache","require","_requestUtils","_asyncUtils","_errorUtils","_jwtDecode","TokenStore","accessToken","refreshToken","constructor","getInstance","instance","setTokens","getAccessToken","getRefreshToken","clearTokens","hasAccessToken","HttpService","requestMetrics","totalRequests","successfulRequests","failedRequests","cacheHits","cacheMisses","averageResponseTime","config","baseURL","tokenStore","logger","SimpleLogger","enableLogging","logLevel","cache","TTLCache","cacheTTL","registerCacheForCleanup","deduplicator","RequestDeduplicator","requestQueue","RequestQueue","maxConcurrentRequests","requestQueueSize","isFormData","data","FormData","constructorName","name","append","get","has","request","method","url","params","timeout","requestTimeout","signal","deduplicate","retry","enableRetry","maxRetries","cacheKey","generateCacheKey","cached","debug","requestFn","startTime","Date","now","fullUrl","buildURL","authHeader","getAuthHeader","controller","AbortController","timeoutId","setTimeout","abort","addEventListener","headers","Object","entries","forEach","key","value","toLowerCase","bodyValue","JSON","stringify","undefined","response","fetch","body","clearTimeout","ok","status","errorMessage","statusText","contentType","includes","errorData","json","message","error","parseError","warn","Error","responseData","unwrapResponse","SyntaxError","blob","text","duration","updateMetrics","onRequestEnd","onRequestError","String","handleHttpError","requestWithRetry","retryAsync","retryDelay","dedupeKey","finalRequest","result","enqueue","set","keys","length","dataStr","hash","sort","join","substring","base","startsWith","searchParams","URLSearchParams","queryString","toString","decoded","jwtDecode","currentTime","Math","floor","exp","sessionId","refreshUrl","AbortSignal","newToken","refreshError","Array","isArray","success","alpha","post","put","patch","delete","getBaseURL","clearCache","clear","clearCacheEntry","getCacheStats","cacheStats","getStats","total","size","hits","misses","hitRate","getMetrics","__resetTokensForTests","exports"],"sourceRoot":"../../../src","sources":["core/HttpService.ts"],"mappings":"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","ignoreList":[]}