@onairos/react-native 3.1.12 → 3.1.13

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 (604) hide show
  1. package/lib/commonjs/api/index.js +75 -1
  2. package/lib/commonjs/api/index.js.map +1 -1
  3. package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  4. package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  5. package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
  6. package/lib/commonjs/assets/icons/Gmail.png +0 -0
  7. package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
  8. package/lib/commonjs/assets/icons/Redditicon.png +0 -0
  9. package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
  10. package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
  11. package/lib/commonjs/assets/icons/farcaster.png +0 -0
  12. package/lib/commonjs/assets/icons/instagram.png +0 -0
  13. package/lib/commonjs/assets/icons/pinterest.png +0 -0
  14. package/lib/commonjs/assets/icons/swerv_logo.png +0 -0
  15. package/lib/commonjs/assets/icons/twitter.jpg +0 -0
  16. package/lib/commonjs/assets/images/Checkbox.svg +3 -0
  17. package/lib/commonjs/assets/images/EnochE.svg +19 -0
  18. package/lib/commonjs/assets/images/Enochicon1.png +0 -0
  19. package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
  20. package/lib/commonjs/assets/images/Facebookicon.png +0 -0
  21. package/lib/commonjs/assets/images/Gmail.png +0 -0
  22. package/lib/commonjs/assets/images/Googlelogo.png +0 -0
  23. package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
  24. package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
  25. package/lib/commonjs/assets/images/Personalityprofile.svg +3 -0
  26. package/lib/commonjs/assets/images/Personalitytraits.svg +3 -0
  27. package/lib/commonjs/assets/images/Redditicon.png +0 -0
  28. package/lib/commonjs/assets/images/Userpreferences.svg +3 -0
  29. package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
  30. package/lib/commonjs/assets/images/arrow.svg +20 -0
  31. package/lib/commonjs/assets/images/basicproficon.svg +43 -0
  32. package/lib/commonjs/assets/images/basicprofile.svg +3 -0
  33. package/lib/commonjs/assets/images/checkmark.svg +4 -0
  34. package/lib/commonjs/assets/images/contentanalysis.svg +3 -0
  35. package/lib/commonjs/assets/images/contenticon.svg +23 -0
  36. package/lib/commonjs/assets/images/persona1.png +0 -0
  37. package/lib/commonjs/assets/images/persona2.png +0 -0
  38. package/lib/commonjs/assets/images/persona3.png +0 -0
  39. package/lib/commonjs/assets/images/persona4.png +0 -0
  40. package/lib/commonjs/assets/images/persona5.png +0 -0
  41. package/lib/commonjs/assets/images/personalityicon.svg +18 -0
  42. package/lib/commonjs/assets/images/x-close.svg +3 -0
  43. package/lib/commonjs/components/BodyText.js +27 -0
  44. package/lib/commonjs/components/BodyText.js.map +1 -0
  45. package/lib/commonjs/components/BrandMark.js +44 -0
  46. package/lib/commonjs/components/BrandMark.js.map +1 -0
  47. package/lib/commonjs/components/CodeInput.js +30 -0
  48. package/lib/commonjs/components/CodeInput.js.map +1 -0
  49. package/lib/commonjs/components/EmailInput.js +30 -0
  50. package/lib/commonjs/components/EmailInput.js.map +1 -0
  51. package/lib/commonjs/components/ExistingUserDataConfirmation.js +474 -0
  52. package/lib/commonjs/components/ExistingUserDataConfirmation.js.map +1 -0
  53. package/lib/commonjs/components/GoogleButton.js +55 -0
  54. package/lib/commonjs/components/GoogleButton.js.map +1 -0
  55. package/lib/commonjs/components/HeadingGroup.js +43 -0
  56. package/lib/commonjs/components/HeadingGroup.js.map +1 -0
  57. package/lib/commonjs/components/ModalHeader.js +99 -0
  58. package/lib/commonjs/components/ModalHeader.js.map +1 -0
  59. package/lib/commonjs/components/ModalSheet.js +41 -0
  60. package/lib/commonjs/components/ModalSheet.js.map +1 -0
  61. package/lib/commonjs/components/Onairos.js +1 -3
  62. package/lib/commonjs/components/Onairos.js.map +1 -1
  63. package/lib/commonjs/components/OnairosButton.js +171 -190
  64. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  65. package/lib/commonjs/components/OnairosSignInButton.js +169 -0
  66. package/lib/commonjs/components/OnairosSignInButton.js.map +1 -0
  67. package/lib/commonjs/components/Overlay.js +5 -5
  68. package/lib/commonjs/components/Overlay.js.map +1 -1
  69. package/lib/commonjs/components/PersonaImage.js +60 -0
  70. package/lib/commonjs/components/PersonaImage.js.map +1 -0
  71. package/lib/commonjs/components/PersonaLoadingScreen.js +156 -0
  72. package/lib/commonjs/components/PersonaLoadingScreen.js.map +1 -0
  73. package/lib/commonjs/components/PersonalizationConsentScreen.js +316 -0
  74. package/lib/commonjs/components/PersonalizationConsentScreen.js.map +1 -0
  75. package/lib/commonjs/components/PinCreationScreen.js +393 -0
  76. package/lib/commonjs/components/PinCreationScreen.js.map +1 -0
  77. package/lib/commonjs/components/PinInput.js +282 -120
  78. package/lib/commonjs/components/PinInput.js.map +1 -1
  79. package/lib/commonjs/components/PlatformConnectorsStep.js +828 -0
  80. package/lib/commonjs/components/PlatformConnectorsStep.js.map +1 -0
  81. package/lib/commonjs/components/PlatformToggle.js +180 -0
  82. package/lib/commonjs/components/PlatformToggle.js.map +1 -0
  83. package/lib/commonjs/components/PrimaryButton.js +180 -0
  84. package/lib/commonjs/components/PrimaryButton.js.map +1 -0
  85. package/lib/commonjs/components/SignInMatchAnimation.js +197 -0
  86. package/lib/commonjs/components/SignInMatchAnimation.js.map +1 -0
  87. package/lib/commonjs/components/SignInStep.js +179 -0
  88. package/lib/commonjs/components/SignInStep.js.map +1 -0
  89. package/lib/commonjs/components/TrainingModal.js +808 -563
  90. package/lib/commonjs/components/TrainingModal.js.map +1 -1
  91. package/lib/commonjs/components/UniversalOnboarding.js +2304 -1283
  92. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  93. package/lib/commonjs/components/VerificationStep.js +154 -0
  94. package/lib/commonjs/components/VerificationStep.js.map +1 -0
  95. package/lib/commonjs/components/WelcomeScreen.js +385 -0
  96. package/lib/commonjs/components/WelcomeScreen.js.map +1 -0
  97. package/lib/commonjs/components/icons/Basicproficon.js +37 -0
  98. package/lib/commonjs/components/icons/Basicproficon.js.map +1 -0
  99. package/lib/commonjs/components/icons/Basicprofile.js +21 -0
  100. package/lib/commonjs/components/icons/Basicprofile.js.map +1 -0
  101. package/lib/commonjs/components/icons/Checkbox.js +21 -0
  102. package/lib/commonjs/components/icons/Checkbox.js.map +1 -0
  103. package/lib/commonjs/components/icons/Checkmark.js +27 -0
  104. package/lib/commonjs/components/icons/Checkmark.js.map +1 -0
  105. package/lib/commonjs/components/icons/Contentanalysis.js +21 -0
  106. package/lib/commonjs/components/icons/Contentanalysis.js.map +1 -0
  107. package/lib/commonjs/components/icons/Contenticon.js +39 -0
  108. package/lib/commonjs/components/icons/Contenticon.js.map +1 -0
  109. package/lib/commonjs/components/icons/EnochE.js +41 -0
  110. package/lib/commonjs/components/icons/EnochE.js.map +1 -0
  111. package/lib/commonjs/components/icons/Personalityicon.js +30 -0
  112. package/lib/commonjs/components/icons/Personalityicon.js.map +1 -0
  113. package/lib/commonjs/components/icons/Personalityprofile.js +21 -0
  114. package/lib/commonjs/components/icons/Personalityprofile.js.map +1 -0
  115. package/lib/commonjs/components/icons/Personalitytraits.js +21 -0
  116. package/lib/commonjs/components/icons/Personalitytraits.js.map +1 -0
  117. package/lib/commonjs/components/icons/Userpreferences.js +21 -0
  118. package/lib/commonjs/components/icons/Userpreferences.js.map +1 -0
  119. package/lib/commonjs/components/icons/index.js +84 -0
  120. package/lib/commonjs/components/icons/index.js.map +1 -0
  121. package/lib/commonjs/components/onboarding/OAuthWebView.js +134 -743
  122. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
  123. package/lib/commonjs/config/api.js +34 -0
  124. package/lib/commonjs/config/api.js.map +1 -0
  125. package/lib/commonjs/context/AuthContext.js +345 -0
  126. package/lib/commonjs/context/AuthContext.js.map +1 -0
  127. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -0
  128. package/lib/commonjs/hooks/useConnectedAccounts.js.map +1 -0
  129. package/lib/commonjs/hooks/useConnections.js +120 -125
  130. package/lib/commonjs/hooks/useConnections.js.map +1 -1
  131. package/lib/commonjs/hooks/useUserConnections.js +148 -0
  132. package/lib/commonjs/hooks/useUserConnections.js.map +1 -0
  133. package/lib/commonjs/index.js +149 -27
  134. package/lib/commonjs/index.js.map +1 -1
  135. package/lib/commonjs/services/apiClient.js +302 -0
  136. package/lib/commonjs/services/apiClient.js.map +1 -0
  137. package/lib/commonjs/services/apiKeyService.js +8 -9
  138. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  139. package/lib/commonjs/services/authService.js +935 -0
  140. package/lib/commonjs/services/authService.js.map +1 -0
  141. package/lib/commonjs/services/biometricPinService.js +184 -0
  142. package/lib/commonjs/services/biometricPinService.js.map +1 -0
  143. package/lib/commonjs/services/connectedAccountsService.js +268 -0
  144. package/lib/commonjs/services/connectedAccountsService.js.map +1 -0
  145. package/lib/commonjs/services/googleAuthService.js +268 -0
  146. package/lib/commonjs/services/googleAuthService.js.map +1 -0
  147. package/lib/commonjs/services/imageCompressionService.js +260 -0
  148. package/lib/commonjs/services/imageCompressionService.js.map +1 -0
  149. package/lib/commonjs/services/jwtStorageService.js +256 -0
  150. package/lib/commonjs/services/jwtStorageService.js.map +1 -0
  151. package/lib/commonjs/services/mobileTrainingService.js +185 -0
  152. package/lib/commonjs/services/mobileTrainingService.js.map +1 -0
  153. package/lib/commonjs/services/pinEncryptionService.js +84 -0
  154. package/lib/commonjs/services/pinEncryptionService.js.map +1 -0
  155. package/lib/commonjs/services/pinStorageUtils.js +105 -0
  156. package/lib/commonjs/services/pinStorageUtils.js.map +1 -0
  157. package/lib/commonjs/services/platformAuthService.js +956 -722
  158. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  159. package/lib/commonjs/services/storageService.js +404 -0
  160. package/lib/commonjs/services/storageService.js.map +1 -0
  161. package/lib/commonjs/services/trainingApiHelpers.js +73 -0
  162. package/lib/commonjs/services/trainingApiHelpers.js.map +1 -0
  163. package/lib/commonjs/services/userConnectionsService.js +486 -0
  164. package/lib/commonjs/services/userConnectionsService.js.map +1 -0
  165. package/lib/commonjs/services/youtubeMigrationService.js +415 -0
  166. package/lib/commonjs/services/youtubeMigrationService.js.map +1 -0
  167. package/lib/commonjs/theme/index.js +249 -0
  168. package/lib/commonjs/theme/index.js.map +1 -0
  169. package/lib/commonjs/utils/eventUtils.js +288 -0
  170. package/lib/commonjs/utils/eventUtils.js.map +1 -0
  171. package/lib/commonjs/utils/haptics.js +66 -0
  172. package/lib/commonjs/utils/haptics.js.map +1 -0
  173. package/lib/commonjs/utils/imagePreloader.js +6 -0
  174. package/lib/commonjs/utils/imagePreloader.js.map +1 -0
  175. package/lib/module/api/index.js +72 -0
  176. package/lib/module/api/index.js.map +1 -1
  177. package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  178. package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  179. package/lib/module/assets/icons/Facebookicon.png +0 -0
  180. package/lib/module/assets/icons/Gmail.png +0 -0
  181. package/lib/module/assets/icons/Linkedinicon.png +0 -0
  182. package/lib/module/assets/icons/Redditicon.png +0 -0
  183. package/lib/module/assets/icons/YouTubeicon2.png +0 -0
  184. package/lib/module/assets/icons/YouTubeicon3.png +0 -0
  185. package/lib/module/assets/icons/farcaster.png +0 -0
  186. package/lib/module/assets/icons/instagram.png +0 -0
  187. package/lib/module/assets/icons/pinterest.png +0 -0
  188. package/lib/module/assets/icons/swerv_logo.png +0 -0
  189. package/lib/module/assets/icons/twitter.jpg +0 -0
  190. package/lib/module/assets/images/Checkbox.svg +3 -0
  191. package/lib/module/assets/images/EnochE.svg +19 -0
  192. package/lib/module/assets/images/Enochicon1.png +0 -0
  193. package/lib/module/assets/images/Face_ID_logo.png +0 -0
  194. package/lib/module/assets/images/Facebookicon.png +0 -0
  195. package/lib/module/assets/images/Gmail.png +0 -0
  196. package/lib/module/assets/images/Googlelogo.png +0 -0
  197. package/lib/module/assets/images/Linkedinicon.png +0 -0
  198. package/lib/module/assets/images/Onairoslogo.png +0 -0
  199. package/lib/module/assets/images/Personalityprofile.svg +3 -0
  200. package/lib/module/assets/images/Personalitytraits.svg +3 -0
  201. package/lib/module/assets/images/Redditicon.png +0 -0
  202. package/lib/module/assets/images/Userpreferences.svg +3 -0
  203. package/lib/module/assets/images/YouTubeicon3.png +0 -0
  204. package/lib/module/assets/images/arrow.svg +20 -0
  205. package/lib/module/assets/images/basicproficon.svg +43 -0
  206. package/lib/module/assets/images/basicprofile.svg +3 -0
  207. package/lib/module/assets/images/checkmark.svg +4 -0
  208. package/lib/module/assets/images/contentanalysis.svg +3 -0
  209. package/lib/module/assets/images/contenticon.svg +23 -0
  210. package/lib/module/assets/images/persona1.png +0 -0
  211. package/lib/module/assets/images/persona2.png +0 -0
  212. package/lib/module/assets/images/persona3.png +0 -0
  213. package/lib/module/assets/images/persona4.png +0 -0
  214. package/lib/module/assets/images/persona5.png +0 -0
  215. package/lib/module/assets/images/personalityicon.svg +18 -0
  216. package/lib/module/assets/images/x-close.svg +3 -0
  217. package/lib/module/components/BodyText.js +20 -0
  218. package/lib/module/components/BodyText.js.map +1 -0
  219. package/lib/module/components/BrandMark.js +37 -0
  220. package/lib/module/components/BrandMark.js.map +1 -0
  221. package/lib/module/components/CodeInput.js +23 -0
  222. package/lib/module/components/CodeInput.js.map +1 -0
  223. package/lib/module/components/EmailInput.js +23 -0
  224. package/lib/module/components/EmailInput.js.map +1 -0
  225. package/lib/module/components/ExistingUserDataConfirmation.js +465 -0
  226. package/lib/module/components/ExistingUserDataConfirmation.js.map +1 -0
  227. package/lib/module/components/GoogleButton.js +48 -0
  228. package/lib/module/components/GoogleButton.js.map +1 -0
  229. package/lib/module/components/HeadingGroup.js +36 -0
  230. package/lib/module/components/HeadingGroup.js.map +1 -0
  231. package/lib/module/components/ModalHeader.js +92 -0
  232. package/lib/module/components/ModalHeader.js.map +1 -0
  233. package/lib/module/components/ModalSheet.js +34 -0
  234. package/lib/module/components/ModalSheet.js.map +1 -0
  235. package/lib/module/components/Onairos.js +1 -3
  236. package/lib/module/components/Onairos.js.map +1 -1
  237. package/lib/module/components/OnairosButton.js +172 -192
  238. package/lib/module/components/OnairosButton.js.map +1 -1
  239. package/lib/module/components/OnairosSignInButton.js +160 -0
  240. package/lib/module/components/OnairosSignInButton.js.map +1 -0
  241. package/lib/module/components/Overlay.js +5 -5
  242. package/lib/module/components/Overlay.js.map +1 -1
  243. package/lib/module/components/PersonaImage.js +53 -0
  244. package/lib/module/components/PersonaImage.js.map +1 -0
  245. package/lib/module/components/PersonaLoadingScreen.js +148 -0
  246. package/lib/module/components/PersonaLoadingScreen.js.map +1 -0
  247. package/lib/module/components/PersonalizationConsentScreen.js +309 -0
  248. package/lib/module/components/PersonalizationConsentScreen.js.map +1 -0
  249. package/lib/module/components/PinCreationScreen.js +386 -0
  250. package/lib/module/components/PinCreationScreen.js.map +1 -0
  251. package/lib/module/components/PinInput.js +283 -120
  252. package/lib/module/components/PinInput.js.map +1 -1
  253. package/lib/module/components/PlatformConnectorsStep.js +820 -0
  254. package/lib/module/components/PlatformConnectorsStep.js.map +1 -0
  255. package/lib/module/components/PlatformToggle.js +173 -0
  256. package/lib/module/components/PlatformToggle.js.map +1 -0
  257. package/lib/module/components/PrimaryButton.js +172 -0
  258. package/lib/module/components/PrimaryButton.js.map +1 -0
  259. package/lib/module/components/SignInMatchAnimation.js +189 -0
  260. package/lib/module/components/SignInMatchAnimation.js.map +1 -0
  261. package/lib/module/components/SignInStep.js +171 -0
  262. package/lib/module/components/SignInStep.js.map +1 -0
  263. package/lib/module/components/TrainingModal.js +809 -565
  264. package/lib/module/components/TrainingModal.js.map +1 -1
  265. package/lib/module/components/UniversalOnboarding.js +2307 -1284
  266. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  267. package/lib/module/components/VerificationStep.js +146 -0
  268. package/lib/module/components/VerificationStep.js.map +1 -0
  269. package/lib/module/components/WelcomeScreen.js +378 -0
  270. package/lib/module/components/WelcomeScreen.js.map +1 -0
  271. package/lib/module/components/icons/Basicproficon.js +30 -0
  272. package/lib/module/components/icons/Basicproficon.js.map +1 -0
  273. package/lib/module/components/icons/Basicprofile.js +14 -0
  274. package/lib/module/components/icons/Basicprofile.js.map +1 -0
  275. package/lib/module/components/icons/Checkbox.js +14 -0
  276. package/lib/module/components/icons/Checkbox.js.map +1 -0
  277. package/lib/module/components/icons/Checkmark.js +20 -0
  278. package/lib/module/components/icons/Checkmark.js.map +1 -0
  279. package/lib/module/components/icons/Contentanalysis.js +14 -0
  280. package/lib/module/components/icons/Contentanalysis.js.map +1 -0
  281. package/lib/module/components/icons/Contenticon.js +32 -0
  282. package/lib/module/components/icons/Contenticon.js.map +1 -0
  283. package/lib/module/components/icons/EnochE.js +34 -0
  284. package/lib/module/components/icons/EnochE.js.map +1 -0
  285. package/lib/module/components/icons/Personalityicon.js +23 -0
  286. package/lib/module/components/icons/Personalityicon.js.map +1 -0
  287. package/lib/module/components/icons/Personalityprofile.js +14 -0
  288. package/lib/module/components/icons/Personalityprofile.js.map +1 -0
  289. package/lib/module/components/icons/Personalitytraits.js +14 -0
  290. package/lib/module/components/icons/Personalitytraits.js.map +1 -0
  291. package/lib/module/components/icons/Userpreferences.js +14 -0
  292. package/lib/module/components/icons/Userpreferences.js.map +1 -0
  293. package/lib/module/components/icons/index.js +13 -0
  294. package/lib/module/components/icons/index.js.map +1 -0
  295. package/lib/module/components/onboarding/OAuthWebView.js +136 -744
  296. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
  297. package/lib/module/config/api.js +26 -0
  298. package/lib/module/config/api.js.map +1 -0
  299. package/lib/module/context/AuthContext.js +335 -0
  300. package/lib/module/context/AuthContext.js.map +1 -0
  301. package/lib/module/hooks/useConnectedAccounts.js +106 -0
  302. package/lib/module/hooks/useConnectedAccounts.js.map +1 -0
  303. package/lib/module/hooks/useConnections.js +119 -125
  304. package/lib/module/hooks/useConnections.js.map +1 -1
  305. package/lib/module/hooks/useUserConnections.js +140 -0
  306. package/lib/module/hooks/useUserConnections.js.map +1 -0
  307. package/lib/module/index.js +51 -15
  308. package/lib/module/index.js.map +1 -1
  309. package/lib/module/services/apiClient.js +298 -0
  310. package/lib/module/services/apiClient.js.map +1 -0
  311. package/lib/module/services/apiKeyService.js +8 -9
  312. package/lib/module/services/apiKeyService.js.map +1 -1
  313. package/lib/module/services/authService.js +905 -0
  314. package/lib/module/services/authService.js.map +1 -0
  315. package/lib/module/services/biometricPinService.js +173 -0
  316. package/lib/module/services/biometricPinService.js.map +1 -0
  317. package/lib/module/services/connectedAccountsService.js +255 -0
  318. package/lib/module/services/connectedAccountsService.js.map +1 -0
  319. package/lib/module/services/googleAuthService.js +258 -0
  320. package/lib/module/services/googleAuthService.js.map +1 -0
  321. package/lib/module/services/imageCompressionService.js +250 -0
  322. package/lib/module/services/imageCompressionService.js.map +1 -0
  323. package/lib/module/services/jwtStorageService.js +239 -0
  324. package/lib/module/services/jwtStorageService.js.map +1 -0
  325. package/lib/module/services/mobileTrainingService.js +172 -0
  326. package/lib/module/services/mobileTrainingService.js.map +1 -0
  327. package/lib/module/services/pinEncryptionService.js +75 -0
  328. package/lib/module/services/pinEncryptionService.js.map +1 -0
  329. package/lib/module/services/pinStorageUtils.js +93 -0
  330. package/lib/module/services/pinStorageUtils.js.map +1 -0
  331. package/lib/module/services/platformAuthService.js +943 -704
  332. package/lib/module/services/platformAuthService.js.map +1 -1
  333. package/lib/module/services/storageService.js +383 -0
  334. package/lib/module/services/storageService.js.map +1 -0
  335. package/lib/module/services/trainingApiHelpers.js +67 -0
  336. package/lib/module/services/trainingApiHelpers.js.map +1 -0
  337. package/lib/module/services/userConnectionsService.js +476 -0
  338. package/lib/module/services/userConnectionsService.js.map +1 -0
  339. package/lib/module/services/youtubeMigrationService.js +404 -0
  340. package/lib/module/services/youtubeMigrationService.js.map +1 -0
  341. package/lib/module/theme/index.js +244 -0
  342. package/lib/module/theme/index.js.map +1 -0
  343. package/lib/module/utils/eventUtils.js +270 -0
  344. package/lib/module/utils/eventUtils.js.map +1 -0
  345. package/lib/module/utils/haptics.js +59 -0
  346. package/lib/module/utils/haptics.js.map +1 -0
  347. package/lib/module/utils/imagePreloader.js +3 -0
  348. package/lib/module/utils/imagePreloader.js.map +1 -0
  349. package/lib/typescript/api/index.d.ts +8 -0
  350. package/lib/typescript/api/index.d.ts.map +1 -1
  351. package/lib/typescript/components/BodyText.d.ts +10 -0
  352. package/lib/typescript/components/BodyText.d.ts.map +1 -0
  353. package/lib/typescript/components/BrandMark.d.ts +11 -0
  354. package/lib/typescript/components/BrandMark.d.ts.map +1 -0
  355. package/lib/typescript/components/CodeInput.d.ts +10 -0
  356. package/lib/typescript/components/CodeInput.d.ts.map +1 -0
  357. package/lib/typescript/components/EmailInput.d.ts +8 -0
  358. package/lib/typescript/components/EmailInput.d.ts.map +1 -0
  359. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts +12 -0
  360. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts.map +1 -0
  361. package/lib/typescript/components/GoogleButton.d.ts +11 -0
  362. package/lib/typescript/components/GoogleButton.d.ts.map +1 -0
  363. package/lib/typescript/components/HeadingGroup.d.ts +11 -0
  364. package/lib/typescript/components/HeadingGroup.d.ts.map +1 -0
  365. package/lib/typescript/components/ModalHeader.d.ts +11 -0
  366. package/lib/typescript/components/ModalHeader.d.ts.map +1 -0
  367. package/lib/typescript/components/ModalSheet.d.ts +13 -0
  368. package/lib/typescript/components/ModalSheet.d.ts.map +1 -0
  369. package/lib/typescript/components/Onairos.d.ts.map +1 -1
  370. package/lib/typescript/components/OnairosButton.d.ts +29 -4
  371. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  372. package/lib/typescript/components/OnairosSignInButton.d.ts +14 -0
  373. package/lib/typescript/components/OnairosSignInButton.d.ts.map +1 -0
  374. package/lib/typescript/components/PersonaImage.d.ts +8 -0
  375. package/lib/typescript/components/PersonaImage.d.ts.map +1 -0
  376. package/lib/typescript/components/PersonaLoadingScreen.d.ts +10 -0
  377. package/lib/typescript/components/PersonaLoadingScreen.d.ts.map +1 -0
  378. package/lib/typescript/components/PersonalizationConsentScreen.d.ts +10 -0
  379. package/lib/typescript/components/PersonalizationConsentScreen.d.ts.map +1 -0
  380. package/lib/typescript/components/PinCreationScreen.d.ts +10 -0
  381. package/lib/typescript/components/PinCreationScreen.d.ts.map +1 -0
  382. package/lib/typescript/components/PinInput.d.ts +11 -1
  383. package/lib/typescript/components/PinInput.d.ts.map +1 -1
  384. package/lib/typescript/components/PlatformConnectorsStep.d.ts +11 -0
  385. package/lib/typescript/components/PlatformConnectorsStep.d.ts.map +1 -0
  386. package/lib/typescript/components/PlatformToggle.d.ts +20 -0
  387. package/lib/typescript/components/PlatformToggle.d.ts.map +1 -0
  388. package/lib/typescript/components/PrimaryButton.d.ts +22 -0
  389. package/lib/typescript/components/PrimaryButton.d.ts.map +1 -0
  390. package/lib/typescript/components/SignInMatchAnimation.d.ts +9 -0
  391. package/lib/typescript/components/SignInMatchAnimation.d.ts.map +1 -0
  392. package/lib/typescript/components/SignInStep.d.ts +12 -0
  393. package/lib/typescript/components/SignInStep.d.ts.map +1 -0
  394. package/lib/typescript/components/TrainingModal.d.ts +12 -1
  395. package/lib/typescript/components/TrainingModal.d.ts.map +1 -1
  396. package/lib/typescript/components/UniversalOnboarding.d.ts +14 -1
  397. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  398. package/lib/typescript/components/VerificationStep.d.ts +13 -0
  399. package/lib/typescript/components/VerificationStep.d.ts.map +1 -0
  400. package/lib/typescript/components/WelcomeScreen.d.ts +9 -0
  401. package/lib/typescript/components/WelcomeScreen.d.ts.map +1 -0
  402. package/lib/typescript/components/icons/Basicproficon.d.ts +5 -0
  403. package/lib/typescript/components/icons/Basicproficon.d.ts.map +1 -0
  404. package/lib/typescript/components/icons/Basicprofile.d.ts +5 -0
  405. package/lib/typescript/components/icons/Basicprofile.d.ts.map +1 -0
  406. package/lib/typescript/components/icons/Checkbox.d.ts +5 -0
  407. package/lib/typescript/components/icons/Checkbox.d.ts.map +1 -0
  408. package/lib/typescript/components/icons/Checkmark.d.ts +5 -0
  409. package/lib/typescript/components/icons/Checkmark.d.ts.map +1 -0
  410. package/lib/typescript/components/icons/Contentanalysis.d.ts +5 -0
  411. package/lib/typescript/components/icons/Contentanalysis.d.ts.map +1 -0
  412. package/lib/typescript/components/icons/Contenticon.d.ts +5 -0
  413. package/lib/typescript/components/icons/Contenticon.d.ts.map +1 -0
  414. package/lib/typescript/components/icons/EnochE.d.ts +5 -0
  415. package/lib/typescript/components/icons/EnochE.d.ts.map +1 -0
  416. package/lib/typescript/components/icons/Personalityicon.d.ts +5 -0
  417. package/lib/typescript/components/icons/Personalityicon.d.ts.map +1 -0
  418. package/lib/typescript/components/icons/Personalityprofile.d.ts +5 -0
  419. package/lib/typescript/components/icons/Personalityprofile.d.ts.map +1 -0
  420. package/lib/typescript/components/icons/Personalitytraits.d.ts +5 -0
  421. package/lib/typescript/components/icons/Personalitytraits.d.ts.map +1 -0
  422. package/lib/typescript/components/icons/Userpreferences.d.ts +5 -0
  423. package/lib/typescript/components/icons/Userpreferences.d.ts.map +1 -0
  424. package/lib/typescript/components/icons/index.d.ts +12 -0
  425. package/lib/typescript/components/icons/index.d.ts.map +1 -0
  426. package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
  427. package/lib/typescript/config/api.d.ts +24 -0
  428. package/lib/typescript/config/api.d.ts.map +1 -0
  429. package/lib/typescript/context/AuthContext.d.ts +34 -0
  430. package/lib/typescript/context/AuthContext.d.ts.map +1 -0
  431. package/lib/typescript/hooks/useConnectedAccounts.d.ts +11 -0
  432. package/lib/typescript/hooks/useConnectedAccounts.d.ts.map +1 -0
  433. package/lib/typescript/hooks/useConnections.d.ts +10 -5
  434. package/lib/typescript/hooks/useConnections.d.ts.map +1 -1
  435. package/lib/typescript/hooks/useUserConnections.d.ts +12 -0
  436. package/lib/typescript/hooks/useUserConnections.d.ts.map +1 -0
  437. package/lib/typescript/index.d.ts +24 -6
  438. package/lib/typescript/index.d.ts.map +1 -1
  439. package/lib/typescript/services/apiClient.d.ts +91 -0
  440. package/lib/typescript/services/apiClient.d.ts.map +1 -0
  441. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  442. package/lib/typescript/services/authService.d.ts +216 -0
  443. package/lib/typescript/services/authService.d.ts.map +1 -0
  444. package/lib/typescript/services/biometricPinService.d.ts +29 -0
  445. package/lib/typescript/services/biometricPinService.d.ts.map +1 -0
  446. package/lib/typescript/services/connectedAccountsService.d.ts +56 -0
  447. package/lib/typescript/services/connectedAccountsService.d.ts.map +1 -0
  448. package/lib/typescript/services/googleAuthService.d.ts +63 -0
  449. package/lib/typescript/services/googleAuthService.d.ts.map +1 -0
  450. package/lib/typescript/services/imageCompressionService.d.ts +37 -0
  451. package/lib/typescript/services/imageCompressionService.d.ts.map +1 -0
  452. package/lib/typescript/services/jwtStorageService.d.ts +86 -0
  453. package/lib/typescript/services/jwtStorageService.d.ts.map +1 -0
  454. package/lib/typescript/services/mobileTrainingService.d.ts +45 -0
  455. package/lib/typescript/services/mobileTrainingService.d.ts.map +1 -0
  456. package/lib/typescript/services/pinEncryptionService.d.ts +17 -0
  457. package/lib/typescript/services/pinEncryptionService.d.ts.map +1 -0
  458. package/lib/typescript/services/pinStorageUtils.d.ts +25 -0
  459. package/lib/typescript/services/pinStorageUtils.d.ts.map +1 -0
  460. package/lib/typescript/services/platformAuthService.d.ts +34 -109
  461. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  462. package/lib/typescript/services/storageService.d.ts +128 -0
  463. package/lib/typescript/services/storageService.d.ts.map +1 -0
  464. package/lib/typescript/services/trainingApiHelpers.d.ts +38 -0
  465. package/lib/typescript/services/trainingApiHelpers.d.ts.map +1 -0
  466. package/lib/typescript/services/userConnectionsService.d.ts +90 -0
  467. package/lib/typescript/services/userConnectionsService.d.ts.map +1 -0
  468. package/lib/typescript/services/youtubeMigrationService.d.ts +12 -0
  469. package/lib/typescript/services/youtubeMigrationService.d.ts.map +1 -0
  470. package/lib/typescript/theme/index.d.ts +416 -0
  471. package/lib/typescript/theme/index.d.ts.map +1 -0
  472. package/lib/typescript/types/index.d.ts +39 -0
  473. package/lib/typescript/types/index.d.ts.map +1 -1
  474. package/lib/typescript/utils/eventUtils.d.ts +108 -0
  475. package/lib/typescript/utils/eventUtils.d.ts.map +1 -0
  476. package/lib/typescript/utils/haptics.d.ts +11 -0
  477. package/lib/typescript/utils/haptics.d.ts.map +1 -0
  478. package/lib/typescript/utils/imagePreloader.d.ts +2 -0
  479. package/lib/typescript/utils/imagePreloader.d.ts.map +1 -0
  480. package/package.json +158 -145
  481. package/src/api/index.ts +41 -0
  482. package/src/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  483. package/src/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  484. package/src/assets/icons/Facebookicon.png +0 -0
  485. package/src/assets/icons/Gmail.png +0 -0
  486. package/src/assets/icons/Linkedinicon.png +0 -0
  487. package/src/assets/icons/Redditicon.png +0 -0
  488. package/src/assets/icons/YouTubeicon2.png +0 -0
  489. package/src/assets/icons/YouTubeicon3.png +0 -0
  490. package/src/assets/icons/farcaster.png +0 -0
  491. package/src/assets/icons/instagram.png +0 -0
  492. package/src/assets/icons/pinterest.png +0 -0
  493. package/src/assets/icons/swerv_logo.png +0 -0
  494. package/src/assets/icons/twitter.jpg +0 -0
  495. package/src/assets/images/Checkbox.svg +3 -0
  496. package/src/assets/images/EnochE.svg +19 -0
  497. package/src/assets/images/Enochicon1.png +0 -0
  498. package/src/assets/images/Face_ID_logo.png +0 -0
  499. package/src/assets/images/Facebookicon.png +0 -0
  500. package/src/assets/images/Gmail.png +0 -0
  501. package/src/assets/images/Googlelogo.png +0 -0
  502. package/src/assets/images/Linkedinicon.png +0 -0
  503. package/src/assets/images/Onairoslogo.png +0 -0
  504. package/src/assets/images/Personalityprofile.svg +3 -0
  505. package/src/assets/images/Personalitytraits.svg +3 -0
  506. package/src/assets/images/Redditicon.png +0 -0
  507. package/src/assets/images/Userpreferences.svg +3 -0
  508. package/src/assets/images/YouTubeicon3.png +0 -0
  509. package/src/assets/images/arrow.svg +20 -0
  510. package/src/assets/images/basicproficon.svg +43 -0
  511. package/src/assets/images/basicprofile.svg +3 -0
  512. package/src/assets/images/checkmark.svg +4 -0
  513. package/src/assets/images/contentanalysis.svg +3 -0
  514. package/src/assets/images/contenticon.svg +23 -0
  515. package/src/assets/images/persona1.png +0 -0
  516. package/src/assets/images/persona2.png +0 -0
  517. package/src/assets/images/persona3.png +0 -0
  518. package/src/assets/images/persona4.png +0 -0
  519. package/src/assets/images/persona5.png +0 -0
  520. package/src/assets/images/personalityicon.svg +18 -0
  521. package/src/assets/images/x-close.svg +3 -0
  522. package/src/components/BodyText.tsx +33 -0
  523. package/src/components/BrandMark.tsx +62 -0
  524. package/src/components/CodeInput.tsx +32 -0
  525. package/src/components/EmailInput.tsx +31 -0
  526. package/src/components/ExistingUserDataConfirmation.tsx +507 -0
  527. package/src/components/GoogleButton.tsx +55 -0
  528. package/src/components/HeadingGroup.tsx +49 -0
  529. package/src/components/ModalHeader.tsx +125 -0
  530. package/src/components/ModalSheet.tsx +57 -0
  531. package/src/components/Onairos.tsx +422 -424
  532. package/src/components/OnairosButton.tsx +339 -359
  533. package/src/components/OnairosSignInButton.tsx +166 -0
  534. package/src/components/Overlay.tsx +506 -506
  535. package/src/components/PersonaImage.tsx +79 -0
  536. package/src/components/PersonaLoadingScreen.tsx +201 -0
  537. package/src/components/PersonalizationConsentScreen.tsx +410 -0
  538. package/src/components/PinCreationScreen.tsx +492 -0
  539. package/src/components/PinInput.tsx +555 -343
  540. package/src/components/PlatformConnectorsStep.tsx +892 -0
  541. package/src/components/PlatformToggle.tsx +226 -0
  542. package/src/components/PrimaryButton.tsx +214 -0
  543. package/src/components/SignInMatchAnimation.tsx +225 -0
  544. package/src/components/SignInStep.tsx +217 -0
  545. package/src/components/TrainingModal.tsx +1047 -737
  546. package/src/components/UniversalOnboarding.tsx +2888 -1820
  547. package/src/components/VerificationStep.tsx +198 -0
  548. package/src/components/WelcomeScreen.tsx +473 -0
  549. package/src/components/icons/Basicproficon.tsx +30 -0
  550. package/src/components/icons/Basicprofile.tsx +17 -0
  551. package/src/components/icons/Checkbox.tsx +17 -0
  552. package/src/components/icons/Checkmark.tsx +24 -0
  553. package/src/components/icons/Contentanalysis.tsx +17 -0
  554. package/src/components/icons/Contenticon.tsx +30 -0
  555. package/src/components/icons/EnochE.tsx +39 -0
  556. package/src/components/icons/Personalityicon.tsx +22 -0
  557. package/src/components/icons/Personalityprofile.tsx +17 -0
  558. package/src/components/icons/Personalitytraits.tsx +17 -0
  559. package/src/components/icons/Userpreferences.tsx +17 -0
  560. package/src/components/icons/index.ts +12 -0
  561. package/src/components/onboarding/OAuthWebView.tsx +232 -838
  562. package/src/config/api.ts +25 -0
  563. package/src/context/AuthContext.tsx +393 -0
  564. package/src/hooks/useConnectedAccounts.ts +139 -0
  565. package/src/hooks/useConnections.ts +129 -131
  566. package/src/hooks/useUserConnections.ts +166 -0
  567. package/src/index.ts +94 -49
  568. package/src/services/apiClient.ts +337 -0
  569. package/src/services/apiKeyService.ts +9 -11
  570. package/src/services/authService.ts +1008 -0
  571. package/src/services/biometricPinService.ts +193 -0
  572. package/src/services/connectedAccountsService.ts +290 -0
  573. package/src/services/googleAuthService.ts +279 -0
  574. package/src/services/imageCompressionService.ts +303 -0
  575. package/src/services/jwtStorageService.ts +257 -0
  576. package/src/services/mobileTrainingService.ts +204 -0
  577. package/src/services/pinEncryptionService.ts +76 -0
  578. package/src/services/pinStorageUtils.ts +97 -0
  579. package/src/services/platformAuthService.ts +1346 -1113
  580. package/src/services/storageService.ts +452 -0
  581. package/src/services/trainingApiHelpers.ts +67 -0
  582. package/src/services/userConnectionsService.ts +557 -0
  583. package/src/services/youtubeMigrationService.ts +454 -0
  584. package/src/theme/index.ts +239 -0
  585. package/src/types/index.ts +265 -238
  586. package/src/utils/eventUtils.ts +303 -0
  587. package/src/utils/haptics.ts +59 -0
  588. package/src/utils/imagePreloader.ts +2 -0
  589. package/README.md +0 -375
  590. package/lib/commonjs/assets/images/email.png +0 -0
  591. package/lib/commonjs/assets/images/linkedin.png +0 -0
  592. package/lib/commonjs/assets/images/reddit.png +0 -0
  593. package/lib/commonjs/assets/images/youtube.png +0 -0
  594. package/lib/commonjs/components/UniversalOnboarding.tsx.new +0 -455
  595. package/lib/module/assets/images/email.png +0 -0
  596. package/lib/module/assets/images/linkedin.png +0 -0
  597. package/lib/module/assets/images/reddit.png +0 -0
  598. package/lib/module/assets/images/youtube.png +0 -0
  599. package/lib/module/components/UniversalOnboarding.tsx.new +0 -455
  600. package/src/assets/images/email.png +0 -0
  601. package/src/assets/images/linkedin.png +0 -0
  602. package/src/assets/images/reddit.png +0 -0
  603. package/src/assets/images/youtube.png +0 -0
  604. package/src/components/UniversalOnboarding.tsx.new +0 -455
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.storeOnairosJWT = exports.storeJWT = exports.storeEnochJWT = exports.storeAuthToken = exports.replaceJWTAfterVerification = exports.hasValidJWT = exports.getTokenTypeForRoute = exports.getJWTForRoute = exports.getJWT = exports.getAllTokens = exports.clearJWT = exports.clearAllJWT = exports.TokenType = void 0;
7
+ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ /**
10
+ * JWT Token Storage Service - CORRECTED APPROACH
11
+ * Manages 3 DISTINCT JWT token types for different route families
12
+ *
13
+ * TOKEN TYPES:
14
+ * 1. Enoch JWT (enoch_token) - For /enoch/*, /api/auth/*, /mobile-training/enoch
15
+ * 2. Onairos JWT (onairos_jwt_token) - For /youtube/*, /gmail/*, social connections
16
+ * 3. Auth Token (auth_token) - For context-specific auth flows
17
+ */
18
+ let TokenType = exports.TokenType = /*#__PURE__*/function (TokenType) {
19
+ TokenType["ENOCH"] = "enoch_token";
20
+ TokenType["ONAIROS"] = "onairos_jwt_token";
21
+ TokenType["AUTH"] = "auth_token";
22
+ return TokenType;
23
+ }({});
24
+ /**
25
+ * Route-based token mapping
26
+ * Determines which token type to use for which routes
27
+ */
28
+ const getTokenTypeForRoute = route => {
29
+ const cleanRoute = route.toLowerCase();
30
+
31
+ // Enoch routes - use Enoch JWT
32
+ if (cleanRoute.includes('/enoch/') || cleanRoute.includes('/api/auth/') || cleanRoute.includes('/mobile-training/enoch')) {
33
+ return TokenType.ENOCH;
34
+ }
35
+
36
+ // Onairos routes - use Onairos JWT
37
+ if (cleanRoute.includes('/youtube/') || cleanRoute.includes('/gmail/') || cleanRoute.includes('/connectedaccounts') || cleanRoute.includes('/social/')) {
38
+ return TokenType.ONAIROS;
39
+ }
40
+
41
+ // Default to auth token for other routes
42
+ return TokenType.AUTH;
43
+ };
44
+
45
+ /**
46
+ * Store JWT token of specific type
47
+ * @param tokenType - Type of token to store
48
+ * @param token - JWT token to store
49
+ * @returns Promise<boolean> - Success status
50
+ */
51
+ exports.getTokenTypeForRoute = getTokenTypeForRoute;
52
+ const storeJWT = async (tokenType, token) => {
53
+ try {
54
+ if (!token || token.trim() === '') {
55
+ console.warn(`⚠️ [JWT Storage] Attempted to store empty/null ${tokenType} token`);
56
+ return false;
57
+ }
58
+
59
+ // Validate JWT format (should have 3 parts separated by dots)
60
+ const parts = token.split('.');
61
+ if (parts.length !== 3) {
62
+ console.warn(`⚠️ [JWT Storage] Invalid JWT format for ${tokenType} - token should have 3 parts`);
63
+ return false;
64
+ }
65
+ await _asyncStorage.default.setItem(tokenType, token);
66
+ console.log(`✅ [JWT Storage] ${tokenType} token stored successfully`);
67
+ return true;
68
+ } catch (error) {
69
+ console.error(`❌ [JWT Storage] Failed to store ${tokenType} token:`, error);
70
+ return false;
71
+ }
72
+ };
73
+
74
+ /**
75
+ * Retrieve JWT token of specific type
76
+ * @param tokenType - Type of token to retrieve
77
+ * @returns Promise<string | null> - JWT token or null if not found
78
+ */
79
+ exports.storeJWT = storeJWT;
80
+ const getJWT = async tokenType => {
81
+ try {
82
+ const token = await _asyncStorage.default.getItem(tokenType);
83
+ if (!token) {
84
+ console.log(`📭 [JWT Storage] No ${tokenType} token found in storage`);
85
+ return null;
86
+ }
87
+
88
+ // Validate JWT format
89
+ if (!isValidJWTFormat(token)) {
90
+ console.warn(`⚠️ [JWT Storage] Invalid JWT format found for ${tokenType}, removing`);
91
+ await clearJWT(tokenType);
92
+ return null;
93
+ }
94
+ console.log(`🔐 [JWT Storage] ${tokenType} token retrieved successfully`);
95
+ return token;
96
+ } catch (error) {
97
+ console.error(`❌ [JWT Storage] Failed to retrieve ${tokenType} token:`, error);
98
+ return null;
99
+ }
100
+ };
101
+
102
+ /**
103
+ * Get JWT token for specific route
104
+ * @param route - API route to get token for
105
+ * @returns Promise<string | null> - Appropriate JWT token or null
106
+ */
107
+ exports.getJWT = getJWT;
108
+ const getJWTForRoute = async route => {
109
+ const tokenType = getTokenTypeForRoute(route);
110
+ const token = await getJWT(tokenType);
111
+ if (token) {
112
+ console.log(`🎯 [JWT Storage] Using ${tokenType} token for route: ${route}`);
113
+ } else {
114
+ console.warn(`⚠️ [JWT Storage] No ${tokenType} token available for route: ${route}`);
115
+ }
116
+ return token;
117
+ };
118
+
119
+ /**
120
+ * Clear JWT token of specific type
121
+ * @param tokenType - Type of token to clear
122
+ * @returns Promise<boolean> - Success status
123
+ */
124
+ exports.getJWTForRoute = getJWTForRoute;
125
+ const clearJWT = async tokenType => {
126
+ try {
127
+ await _asyncStorage.default.removeItem(tokenType);
128
+ console.log(`✅ [JWT Storage] ${tokenType} token cleared successfully`);
129
+ return true;
130
+ } catch (error) {
131
+ console.error(`❌ [JWT Storage] Failed to clear ${tokenType} token:`, error);
132
+ return false;
133
+ }
134
+ };
135
+
136
+ /**
137
+ * Clear all JWT tokens
138
+ * @returns Promise<boolean> - Success status
139
+ */
140
+ exports.clearJWT = clearJWT;
141
+ const clearAllJWT = async () => {
142
+ try {
143
+ await Promise.all([clearJWT(TokenType.ENOCH), clearJWT(TokenType.ONAIROS), clearJWT(TokenType.AUTH)]);
144
+ console.log('✅ [JWT Storage] All JWT tokens cleared successfully');
145
+ return true;
146
+ } catch (error) {
147
+ console.error('❌ [JWT Storage] Failed to clear all JWT tokens:', error);
148
+ return false;
149
+ }
150
+ };
151
+
152
+ /**
153
+ * Replace JWT token after verification - route-aware
154
+ * @param tokenType - Type of token being replaced
155
+ * @param newToken - New JWT token from verification response
156
+ * @returns Promise<boolean> - Success status
157
+ */
158
+ exports.clearAllJWT = clearAllJWT;
159
+ const replaceJWTAfterVerification = async (tokenType, newToken) => {
160
+ try {
161
+ console.log(`🔄 [JWT Storage] Replacing ${tokenType} token after verification`);
162
+ if (!newToken || !isValidJWTFormat(newToken)) {
163
+ console.error(`❌ [JWT Storage] Invalid ${tokenType} token provided for replacement`);
164
+ return false;
165
+ }
166
+
167
+ // Clear old token first, then store new one
168
+ await clearJWT(tokenType);
169
+ const stored = await storeJWT(tokenType, newToken);
170
+ if (stored) {
171
+ console.log(`✅ [JWT Storage] ${tokenType} token successfully replaced after verification`);
172
+ }
173
+ return stored;
174
+ } catch (error) {
175
+ console.error(`❌ [JWT Storage] Failed to replace ${tokenType} token after verification:`, error);
176
+ return false;
177
+ }
178
+ };
179
+
180
+ /**
181
+ * Store Enoch JWT token (from email verification)
182
+ * @param token - Enoch JWT token
183
+ * @returns Promise<boolean> - Success status
184
+ */
185
+ exports.replaceJWTAfterVerification = replaceJWTAfterVerification;
186
+ const storeEnochJWT = async token => {
187
+ return await storeJWT(TokenType.ENOCH, token);
188
+ };
189
+
190
+ /**
191
+ * Store Onairos JWT token (from sign-in/registration)
192
+ * @param token - Onairos JWT token
193
+ * @returns Promise<boolean> - Success status
194
+ */
195
+ exports.storeEnochJWT = storeEnochJWT;
196
+ const storeOnairosJWT = async token => {
197
+ return await storeJWT(TokenType.ONAIROS, token);
198
+ };
199
+
200
+ /**
201
+ * Store Auth token (for context-specific flows)
202
+ * @param token - Auth token
203
+ * @returns Promise<boolean> - Success status
204
+ */
205
+ exports.storeOnairosJWT = storeOnairosJWT;
206
+ const storeAuthToken = async token => {
207
+ return await storeJWT(TokenType.AUTH, token);
208
+ };
209
+
210
+ /**
211
+ * Validate JWT format
212
+ * @param token - Token to validate
213
+ * @returns boolean - True if valid JWT format
214
+ */
215
+ exports.storeAuthToken = storeAuthToken;
216
+ const isValidJWTFormat = token => {
217
+ if (!token || token.length < 20) return false;
218
+
219
+ // Check if it's an email address (invalid JWT)
220
+ if (token.includes('@') && token.includes('.') && !token.includes('Bearer') && token.length < 100) {
221
+ return false;
222
+ }
223
+
224
+ // Check if it has JWT structure (3 parts separated by dots)
225
+ const tokenParts = token.split('.');
226
+ if (tokenParts.length !== 3) return false;
227
+
228
+ // Additional validation - JWT should be longer than 50 characters typically
229
+ if (token.length < 50) return false;
230
+ return true;
231
+ };
232
+
233
+ /**
234
+ * Check if JWT token of specific type exists and is valid
235
+ * @param tokenType - Type of token to check
236
+ * @returns Promise<boolean> - True if valid token exists
237
+ */
238
+ const hasValidJWT = async tokenType => {
239
+ const token = await getJWT(tokenType);
240
+ return token !== null;
241
+ };
242
+
243
+ /**
244
+ * Get all available tokens (for debugging)
245
+ * @returns Promise<Record<TokenType, string | null>> - All tokens
246
+ */
247
+ exports.hasValidJWT = hasValidJWT;
248
+ const getAllTokens = async () => {
249
+ return {
250
+ [TokenType.ENOCH]: await getJWT(TokenType.ENOCH),
251
+ [TokenType.ONAIROS]: await getJWT(TokenType.ONAIROS),
252
+ [TokenType.AUTH]: await getJWT(TokenType.AUTH)
253
+ };
254
+ };
255
+ exports.getAllTokens = getAllTokens;
256
+ //# sourceMappingURL=jwtStorageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_asyncStorage","_interopRequireDefault","require","e","__esModule","default","TokenType","exports","getTokenTypeForRoute","route","cleanRoute","toLowerCase","includes","ENOCH","ONAIROS","AUTH","storeJWT","tokenType","token","trim","console","warn","parts","split","length","AsyncStorage","setItem","log","error","getJWT","getItem","isValidJWTFormat","clearJWT","getJWTForRoute","removeItem","clearAllJWT","Promise","all","replaceJWTAfterVerification","newToken","stored","storeEnochJWT","storeOnairosJWT","storeAuthToken","tokenParts","hasValidJWT","getAllTokens"],"sourceRoot":"..\\..\\..\\src","sources":["services/jwtStorageService.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startEnochTrainingWithYouTubeCheck = exports.startEnochTraining = exports.isTrainingInProgress = exports.getTrainingStatus = exports.getTrainingFeatures = exports.getModelInfo = exports.getHealthCheck = void 0;
7
+ var _authService = require("./authService");
8
+ // Migration functions no longer needed - backend handles all YouTube cases automatically
9
+ // import { checkAndFixYouTubeConnection, getYouTubeConnectionStatus, shouldShowYouTubeMigrationWarning } from './youtubeMigrationService';
10
+
11
+ const API_BASE_URL = 'https://api2.onairos.uk';
12
+
13
+ /**
14
+ * Mobile Training API Service
15
+ * Implements the updated training spec routes
16
+ */
17
+
18
+ // Training Status Route
19
+ const getTrainingStatus = async username => {
20
+ try {
21
+ const authToken = await (0, _authService.getAuthToken)();
22
+ if (!authToken) {
23
+ throw new Error('No authentication token available');
24
+ }
25
+ const response = await fetch(`${API_BASE_URL}/mobile-training/status/${username}`, {
26
+ method: 'GET',
27
+ headers: {
28
+ 'Authorization': authToken,
29
+ 'Content-Type': 'application/json'
30
+ }
31
+ });
32
+ if (!response.ok) {
33
+ const errorData = await response.json();
34
+ throw new Error(errorData.error || `HTTP ${response.status}`);
35
+ }
36
+ return await response.json();
37
+ } catch (error) {
38
+ console.error('❌ Failed to get training status:', error);
39
+ throw error;
40
+ }
41
+ };
42
+
43
+ // Model Info Route
44
+ exports.getTrainingStatus = getTrainingStatus;
45
+ const getModelInfo = async () => {
46
+ try {
47
+ const authToken = await (0, _authService.getAuthToken)();
48
+ if (!authToken) {
49
+ throw new Error('No authentication token available');
50
+ }
51
+ const response = await fetch(`${API_BASE_URL}/mobile-training/model-info`, {
52
+ method: 'GET',
53
+ headers: {
54
+ 'Authorization': authToken,
55
+ 'Content-Type': 'application/json'
56
+ }
57
+ });
58
+ if (!response.ok) {
59
+ const errorData = await response.json();
60
+ throw new Error(errorData.error || `HTTP ${response.status}`);
61
+ }
62
+ return await response.json();
63
+ } catch (error) {
64
+ console.error('❌ Failed to get model info:', error);
65
+ throw error;
66
+ }
67
+ };
68
+
69
+ // Health Check Route
70
+ exports.getModelInfo = getModelInfo;
71
+ const getHealthCheck = async () => {
72
+ try {
73
+ const response = await fetch(`${API_BASE_URL}/mobile-training/health`, {
74
+ method: 'GET',
75
+ headers: {
76
+ 'Content-Type': 'application/json'
77
+ }
78
+ });
79
+ if (!response.ok) {
80
+ const errorData = await response.json();
81
+ throw new Error(errorData.error || `HTTP ${response.status}`);
82
+ }
83
+ return await response.json();
84
+ } catch (error) {
85
+ console.error('❌ Failed to get health check:', error);
86
+ throw error;
87
+ }
88
+ };
89
+
90
+ /**
91
+ * Start Enoch Training - Simplified Version
92
+ * Backend now handles all YouTube connection cases automatically (temporary mode, refresh tokens, etc.)
93
+ * No frontend migration checks needed anymore
94
+ */
95
+ exports.getHealthCheck = getHealthCheck;
96
+ const startEnochTrainingWithYouTubeCheck = async trainingData => {
97
+ try {
98
+ console.log('🚀 Starting Enoch training for user:', trainingData.username, '(backend auto-handles YouTube)');
99
+
100
+ // ✅ SIMPLIFIED: Backend handles all YouTube connection cases automatically
101
+ console.log('🚀 [TRAINING] Starting training - backend handles all YouTube cases automatically');
102
+ console.log('ℹ️ [TRAINING] No migration checks needed:');
103
+ console.log(' - Temporary mode connections: Work automatically ✅');
104
+ console.log(' - Full refresh tokens: Auto-refresh when expired ✅');
105
+ console.log(' - Backend validation: Handles all edge cases ✅');
106
+
107
+ // ✅ Proceed with training - backend handles YouTube automatically
108
+ return await startEnochTraining(trainingData);
109
+ } catch (error) {
110
+ console.error('❌ Training error:', error);
111
+ throw error;
112
+ }
113
+ };
114
+
115
+ /**
116
+ * Start Enoch Training
117
+ * Updated to use the new /mobile-training/enoch endpoint with proper error handling
118
+ */
119
+ exports.startEnochTrainingWithYouTubeCheck = startEnochTrainingWithYouTubeCheck;
120
+ const startEnochTraining = async trainingData => {
121
+ try {
122
+ const authToken = await (0, _authService.getAuthToken)();
123
+ if (!authToken) {
124
+ throw new Error('No authentication token available');
125
+ }
126
+ console.log('📤 Sending training data to /mobile-training/enoch:', trainingData);
127
+ const response = await fetch(`${API_BASE_URL}/mobile-training/enoch`, {
128
+ method: 'POST',
129
+ headers: {
130
+ 'Content-Type': 'application/json',
131
+ 'Authorization': authToken
132
+ },
133
+ body: JSON.stringify(trainingData)
134
+ });
135
+ console.log('📡 Training API response status:', response.status);
136
+ if (!response.ok) {
137
+ const errorText = await response.text();
138
+ console.error('❌ Training API failed with status:', response.status, 'Error:', errorText);
139
+
140
+ // Try to parse error response
141
+ try {
142
+ const errorData = JSON.parse(errorText);
143
+ throw new Error(errorData.error || `HTTP ${response.status}`);
144
+ } catch (parseError) {
145
+ throw new Error(`Training API failed: ${response.status} - ${errorText}`);
146
+ }
147
+ }
148
+ const result = await response.json();
149
+ console.log('📡 Training API response:', result);
150
+ return result;
151
+ } catch (error) {
152
+ console.error('❌ Training start error:', error);
153
+ throw error;
154
+ }
155
+ };
156
+
157
+ /**
158
+ * Helper function to check if training is in progress
159
+ */
160
+ exports.startEnochTraining = startEnochTraining;
161
+ const isTrainingInProgress = async username => {
162
+ try {
163
+ const status = await getTrainingStatus(username);
164
+ return status.success && status.isTraining;
165
+ } catch (error) {
166
+ console.warn('⚠️ Could not check training status:', error);
167
+ return false;
168
+ }
169
+ };
170
+
171
+ /**
172
+ * Helper function to get training features info
173
+ */
174
+ exports.isTrainingInProgress = isTrainingInProgress;
175
+ const getTrainingFeatures = async () => {
176
+ try {
177
+ const health = await getHealthCheck();
178
+ return health.features;
179
+ } catch (error) {
180
+ console.warn('⚠️ Could not get training features:', error);
181
+ return null;
182
+ }
183
+ };
184
+ exports.getTrainingFeatures = getTrainingFeatures;
185
+ //# sourceMappingURL=mobileTrainingService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_authService","require","API_BASE_URL","getTrainingStatus","username","authToken","getAuthToken","Error","response","fetch","method","headers","ok","errorData","json","error","status","console","exports","getModelInfo","getHealthCheck","startEnochTrainingWithYouTubeCheck","trainingData","log","startEnochTraining","body","JSON","stringify","errorText","text","parse","parseError","result","isTrainingInProgress","success","isTraining","warn","getTrainingFeatures","health","features"],"sourceRoot":"..\\..\\..\\src","sources":["services/mobileTrainingService.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hashPin = exports.getEncryptedPinForAPI = exports.encryptPin = exports.decryptPin = void 0;
7
+ var _pinStorageUtils = require("./pinStorageUtils");
8
+ const CryptoJS = require('react-native-crypto-js');
9
+ /**
10
+ * Service for encrypting PIN data before sending to APIs
11
+ */
12
+
13
+ // Encryption key - in production, this should come from a secure source
14
+ const ENCRYPTION_KEY = 'onairos-pin-encryption-key-2024';
15
+
16
+ /**
17
+ * Encrypt PIN using AES encryption
18
+ */
19
+ const encryptPin = pin => {
20
+ try {
21
+ const encrypted = CryptoJS.AES.encrypt(pin, ENCRYPTION_KEY).toString();
22
+ console.log('🔐 PIN encrypted successfully');
23
+ return encrypted;
24
+ } catch (error) {
25
+ console.error('❌ Error encrypting PIN:', error);
26
+ throw error;
27
+ }
28
+ };
29
+
30
+ /**
31
+ * Decrypt PIN (for verification purposes)
32
+ */
33
+ exports.encryptPin = encryptPin;
34
+ const decryptPin = encryptedPin => {
35
+ try {
36
+ const decrypted = CryptoJS.AES.decrypt(encryptedPin, ENCRYPTION_KEY);
37
+ const pin = decrypted.toString(CryptoJS.enc.Utf8);
38
+ console.log('🔓 PIN decrypted successfully');
39
+ return pin;
40
+ } catch (error) {
41
+ console.error('❌ Error decrypting PIN:', error);
42
+ throw error;
43
+ }
44
+ };
45
+
46
+ /**
47
+ * Get encrypted PIN for API transmission
48
+ */
49
+ exports.decryptPin = decryptPin;
50
+ const getEncryptedPinForAPI = async () => {
51
+ try {
52
+ // Get the temporary PIN from memory
53
+ const pin = (0, _pinStorageUtils.getTemporaryPin)();
54
+ if (!pin) {
55
+ console.log('⚠️ No temporary PIN available for encryption');
56
+ return null;
57
+ }
58
+
59
+ // Encrypt the PIN
60
+ const encryptedPin = encryptPin(pin);
61
+ console.log('✅ PIN encrypted for API transmission');
62
+ return encryptedPin;
63
+ } catch (error) {
64
+ console.error('❌ Error getting encrypted PIN for API:', error);
65
+ return null;
66
+ }
67
+ };
68
+
69
+ /**
70
+ * Hash PIN for verification (one-way hash)
71
+ */
72
+ exports.getEncryptedPinForAPI = getEncryptedPinForAPI;
73
+ const hashPin = pin => {
74
+ try {
75
+ const hash = CryptoJS.SHA256(pin + ENCRYPTION_KEY).toString();
76
+ console.log('🔒 PIN hashed successfully');
77
+ return hash;
78
+ } catch (error) {
79
+ console.error('❌ Error hashing PIN:', error);
80
+ throw error;
81
+ }
82
+ };
83
+ exports.hashPin = hashPin;
84
+ //# sourceMappingURL=pinEncryptionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_pinStorageUtils","require","CryptoJS","ENCRYPTION_KEY","encryptPin","pin","encrypted","AES","encrypt","toString","console","log","error","exports","decryptPin","encryptedPin","decrypted","decrypt","enc","Utf8","getEncryptedPinForAPI","getTemporaryPin","hashPin","hash","SHA256"],"sourceRoot":"..\\..\\..\\src","sources":["services/pinEncryptionService.ts"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AADA,MAAMC,QAAQ,GAAGD,OAAO,CAAC,wBAAwB,CAAC;AAGlD;AACA;AACA;;AAEA;AACA,MAAME,cAAc,GAAG,iCAAiC;;AAExD;AACA;AACA;AACO,MAAMC,UAAU,GAAIC,GAAW,IAAa;EACjD,IAAI;IACF,MAAMC,SAAS,GAAGJ,QAAQ,CAACK,GAAG,CAACC,OAAO,CAACH,GAAG,EAAEF,cAAc,CAAC,CAACM,QAAQ,CAAC,CAAC;IACtEC,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC5C,OAAOL,SAAS;EAClB,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdF,OAAO,CAACE,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IAC/C,MAAMA,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAT,UAAA,GAAAA,UAAA;AAGO,MAAMU,UAAU,GAAIC,YAAoB,IAAa;EAC1D,IAAI;IACF,MAAMC,SAAS,GAAGd,QAAQ,CAACK,GAAG,CAACU,OAAO,CAACF,YAAY,EAAEZ,cAAc,CAAC;IACpE,MAAME,GAAG,GAAGW,SAAS,CAACP,QAAQ,CAACP,QAAQ,CAACgB,GAAG,CAACC,IAAI,CAAC;IACjDT,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC5C,OAAON,GAAG;EACZ,CAAC,CAAC,OAAOO,KAAK,EAAE;IACdF,OAAO,CAACE,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IAC/C,MAAMA,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAGO,MAAMM,qBAAqB,GAAG,MAAAA,CAAA,KAAoC;EACvE,IAAI;IACF;IACA,MAAMf,GAAG,GAAG,IAAAgB,gCAAe,EAAC,CAAC;IAE7B,IAAI,CAAChB,GAAG,EAAE;MACRK,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;MAC3D,OAAO,IAAI;IACb;;IAEA;IACA,MAAMI,YAAY,GAAGX,UAAU,CAACC,GAAG,CAAC;IACpCK,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;IAEnD,OAAOI,YAAY;EACrB,CAAC,CAAC,OAAOH,KAAK,EAAE;IACdF,OAAO,CAACE,KAAK,CAAC,wCAAwC,EAAEA,KAAK,CAAC;IAC9D,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAO,qBAAA,GAAAA,qBAAA;AAGO,MAAME,OAAO,GAAIjB,GAAW,IAAa;EAC9C,IAAI;IACF,MAAMkB,IAAI,GAAGrB,QAAQ,CAACsB,MAAM,CAACnB,GAAG,GAAGF,cAAc,CAAC,CAACM,QAAQ,CAAC,CAAC;IAC7DC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;IACzC,OAAOY,IAAI;EACb,CAAC,CAAC,OAAOX,KAAK,EAAE;IACdF,OAAO,CAACE,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC5C,MAAMA,KAAK;EACb;AACF,CAAC;AAACC,OAAA,CAAAS,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setTemporaryPin = exports.hasStoredPin = exports.getTemporaryPin = exports.getStoredPinForTraining = exports.getPinForTraining = exports.clearTemporaryPin = exports.clearStoredPin = void 0;
7
+ var _biometricPinService = require("./biometricPinService");
8
+ /**
9
+ * Utility functions for PIN storage management
10
+ */
11
+
12
+ /**
13
+ * Get the stored PIN for training/authentication purposes
14
+ * This will prompt for biometric authentication
15
+ */
16
+ const getStoredPinForTraining = async () => {
17
+ try {
18
+ console.log('🔓 Retrieving stored PIN for training...');
19
+
20
+ // Check if PIN is stored
21
+ const pinStored = await _biometricPinService.biometricPinService.isPinStored();
22
+ if (!pinStored) {
23
+ console.log('⚠️ No PIN stored in secure storage');
24
+ return null;
25
+ }
26
+
27
+ // Retrieve PIN with biometric authentication
28
+ const pin = await _biometricPinService.biometricPinService.retrievePinWithBiometric();
29
+ if (pin) {
30
+ console.log('✅ PIN retrieved successfully for training');
31
+ return pin;
32
+ } else {
33
+ console.log('❌ Failed to retrieve PIN or user cancelled authentication');
34
+ return null;
35
+ }
36
+ } catch (error) {
37
+ console.error('❌ Error retrieving stored PIN:', error);
38
+ return null;
39
+ }
40
+ };
41
+
42
+ /**
43
+ * Check if user has a PIN stored securely
44
+ */
45
+ exports.getStoredPinForTraining = getStoredPinForTraining;
46
+ const hasStoredPin = async () => {
47
+ try {
48
+ return await _biometricPinService.biometricPinService.isPinStored();
49
+ } catch (error) {
50
+ console.error('❌ Error checking PIN storage:', error);
51
+ return false;
52
+ }
53
+ };
54
+
55
+ /**
56
+ * Remove stored PIN (for logout/reset purposes)
57
+ */
58
+ exports.hasStoredPin = hasStoredPin;
59
+ const clearStoredPin = async () => {
60
+ try {
61
+ console.log('🗑️ Clearing stored PIN...');
62
+ return await _biometricPinService.biometricPinService.removePinFromStorage();
63
+ } catch (error) {
64
+ console.error('❌ Error clearing stored PIN:', error);
65
+ return false;
66
+ }
67
+ };
68
+
69
+ /**
70
+ * Get PIN for passing to training component
71
+ * This function can be called from the onboarding flow
72
+ */
73
+ exports.clearStoredPin = clearStoredPin;
74
+ const getPinForTraining = async tempPin => {
75
+ // If a temporary PIN is provided (from the PIN input), use it
76
+ if (tempPin) {
77
+ console.log('📝 Using temporary PIN for training');
78
+ return tempPin;
79
+ }
80
+
81
+ // Otherwise, try to retrieve stored PIN
82
+ return await getStoredPinForTraining();
83
+ };
84
+
85
+ /**
86
+ * Store PIN temporarily in memory for training component
87
+ * This is used when PIN is entered but not yet stored biometrically
88
+ */
89
+ exports.getPinForTraining = getPinForTraining;
90
+ let temporaryPin = null;
91
+ const setTemporaryPin = pin => {
92
+ temporaryPin = pin;
93
+ console.log('📝 Temporary PIN set for training');
94
+ };
95
+ exports.setTemporaryPin = setTemporaryPin;
96
+ const getTemporaryPin = () => {
97
+ return temporaryPin;
98
+ };
99
+ exports.getTemporaryPin = getTemporaryPin;
100
+ const clearTemporaryPin = () => {
101
+ temporaryPin = null;
102
+ console.log('🗑️ Temporary PIN cleared');
103
+ };
104
+ exports.clearTemporaryPin = clearTemporaryPin;
105
+ //# sourceMappingURL=pinStorageUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_biometricPinService","require","getStoredPinForTraining","console","log","pinStored","biometricPinService","isPinStored","pin","retrievePinWithBiometric","error","exports","hasStoredPin","clearStoredPin","removePinFromStorage","getPinForTraining","tempPin","temporaryPin","setTemporaryPin","getTemporaryPin","clearTemporaryPin"],"sourceRoot":"..\\..\\..\\src","sources":["services/pinStorageUtils.ts"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMC,uBAAuB,GAAG,MAAAA,CAAA,KAAoC;EACzE,IAAI;IACFC,OAAO,CAACC,GAAG,CAAC,0CAA0C,CAAC;;IAEvD;IACA,MAAMC,SAAS,GAAG,MAAMC,wCAAmB,CAACC,WAAW,CAAC,CAAC;IACzD,IAAI,CAACF,SAAS,EAAE;MACdF,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;MACjD,OAAO,IAAI;IACb;;IAEA;IACA,MAAMI,GAAG,GAAG,MAAMF,wCAAmB,CAACG,wBAAwB,CAAC,CAAC;IAEhE,IAAID,GAAG,EAAE;MACPL,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;MACxD,OAAOI,GAAG;IACZ,CAAC,MAAM;MACLL,OAAO,CAACC,GAAG,CAAC,2DAA2D,CAAC;MACxE,OAAO,IAAI;IACb;EAEF,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdP,OAAO,CAACO,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;IACtD,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAT,uBAAA,GAAAA,uBAAA;AAGO,MAAMU,YAAY,GAAG,MAAAA,CAAA,KAA8B;EACxD,IAAI;IACF,OAAO,MAAMN,wCAAmB,CAACC,WAAW,CAAC,CAAC;EAChD,CAAC,CAAC,OAAOG,KAAK,EAAE;IACdP,OAAO,CAACO,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;IACrD,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAGO,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAA8B;EAC1D,IAAI;IACFV,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;IACzC,OAAO,MAAME,wCAAmB,CAACQ,oBAAoB,CAAC,CAAC;EACzD,CAAC,CAAC,OAAOJ,KAAK,EAAE;IACdP,OAAO,CAACO,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;IACpD,OAAO,KAAK;EACd;AACF,CAAC;;AAED;AACA;AACA;AACA;AAHAC,OAAA,CAAAE,cAAA,GAAAA,cAAA;AAIO,MAAME,iBAAiB,GAAG,MAAOC,OAAgB,IAA6B;EACnF;EACA,IAAIA,OAAO,EAAE;IACXb,OAAO,CAACC,GAAG,CAAC,qCAAqC,CAAC;IAClD,OAAOY,OAAO;EAChB;;EAEA;EACA,OAAO,MAAMd,uBAAuB,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AACA;AAHAS,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAIA,IAAIE,YAA2B,GAAG,IAAI;AAE/B,MAAMC,eAAe,GAAIV,GAAW,IAAW;EACpDS,YAAY,GAAGT,GAAG;EAClBL,OAAO,CAACC,GAAG,CAAC,mCAAmC,CAAC;AAClD,CAAC;AAACO,OAAA,CAAAO,eAAA,GAAAA,eAAA;AAEK,MAAMC,eAAe,GAAGA,CAAA,KAAqB;EAClD,OAAOF,YAAY;AACrB,CAAC;AAACN,OAAA,CAAAQ,eAAA,GAAAA,eAAA;AAEK,MAAMC,iBAAiB,GAAGA,CAAA,KAAY;EAC3CH,YAAY,GAAG,IAAI;EACnBd,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;AAC1C,CAAC;AAACO,OAAA,CAAAS,iBAAA,GAAAA,iBAAA","ignoreList":[]}