@onairos/react-native 3.1.15 → 3.1.17

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 (191) hide show
  1. package/README.md +404 -0
  2. package/lib/commonjs/assets/images/Checkbox.svg +3 -3
  3. package/lib/commonjs/assets/images/EnochE.svg +19 -19
  4. package/lib/commonjs/assets/images/Personalityprofile.svg +3 -3
  5. package/lib/commonjs/assets/images/Personalitytraits.svg +3 -3
  6. package/lib/commonjs/assets/images/Userpreferences.svg +3 -3
  7. package/lib/commonjs/assets/images/arrow.svg +20 -20
  8. package/lib/commonjs/assets/images/basicproficon.svg +43 -43
  9. package/lib/commonjs/assets/images/basicprofile.svg +3 -3
  10. package/lib/commonjs/assets/images/checkmark.svg +4 -4
  11. package/lib/commonjs/assets/images/contentanalysis.svg +3 -3
  12. package/lib/commonjs/assets/images/contenticon.svg +23 -23
  13. package/lib/commonjs/assets/images/personalityicon.svg +18 -18
  14. package/lib/commonjs/assets/images/x-close.svg +3 -3
  15. package/lib/commonjs/components/OnairosSignInButton.js +32 -74
  16. package/lib/commonjs/components/OnairosSignInButton.js.map +1 -1
  17. package/lib/commonjs/components/UniversalOnboarding.js +4 -4
  18. package/lib/commonjs/config/api.js +2 -2
  19. package/lib/commonjs/hooks/useConnections.js +6 -6
  20. package/lib/commonjs/hooks/useUserConnections.js +10 -10
  21. package/lib/commonjs/index.js +5 -12
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/services/apiClient.js +35 -35
  24. package/lib/commonjs/services/apiKeyService.js +99 -99
  25. package/lib/commonjs/services/authService.js +82 -82
  26. package/lib/commonjs/services/biometricPinService.js +10 -10
  27. package/lib/commonjs/services/connectedAccountsService.js +32 -32
  28. package/lib/commonjs/services/googleAuthService.js +15 -15
  29. package/lib/commonjs/services/imageCompressionService.js +15 -15
  30. package/lib/commonjs/services/jwtStorageService.js +59 -59
  31. package/lib/commonjs/services/mobileTrainingService.js +14 -14
  32. package/lib/commonjs/services/pinEncryptionService.js +10 -10
  33. package/lib/commonjs/services/pinStorageUtils.js +15 -15
  34. package/lib/commonjs/services/platformAuthService.js +47 -47
  35. package/lib/commonjs/services/storageService.js +31 -31
  36. package/lib/commonjs/services/trainingApiHelpers.js +33 -33
  37. package/lib/commonjs/services/userConnectionsService.js +24 -24
  38. package/lib/commonjs/utils/Portal.js +4 -4
  39. package/lib/commonjs/utils/api.js +24 -24
  40. package/lib/commonjs/utils/auth.js +18 -18
  41. package/lib/commonjs/utils/crypto.js +13 -13
  42. package/lib/commonjs/utils/encryption.js +12 -12
  43. package/lib/commonjs/utils/eventUtils.js +52 -52
  44. package/lib/commonjs/utils/programmaticFlow.js +16 -16
  45. package/lib/commonjs/utils/retryHelper.js +27 -27
  46. package/lib/module/assets/images/Checkbox.svg +3 -3
  47. package/lib/module/assets/images/EnochE.svg +19 -19
  48. package/lib/module/assets/images/Personalityprofile.svg +3 -3
  49. package/lib/module/assets/images/Personalitytraits.svg +3 -3
  50. package/lib/module/assets/images/Userpreferences.svg +3 -3
  51. package/lib/module/assets/images/arrow.svg +20 -20
  52. package/lib/module/assets/images/basicproficon.svg +43 -43
  53. package/lib/module/assets/images/basicprofile.svg +3 -3
  54. package/lib/module/assets/images/checkmark.svg +4 -4
  55. package/lib/module/assets/images/contentanalysis.svg +3 -3
  56. package/lib/module/assets/images/contenticon.svg +23 -23
  57. package/lib/module/assets/images/personalityicon.svg +18 -18
  58. package/lib/module/assets/images/x-close.svg +3 -3
  59. package/lib/module/components/OnairosSignInButton.js +32 -74
  60. package/lib/module/components/OnairosSignInButton.js.map +1 -1
  61. package/lib/module/components/UniversalOnboarding.js +4 -4
  62. package/lib/module/config/api.js +2 -2
  63. package/lib/module/hooks/useConnections.js +6 -6
  64. package/lib/module/hooks/useUserConnections.js +10 -10
  65. package/lib/module/index.js +5 -6
  66. package/lib/module/index.js.map +1 -1
  67. package/lib/module/services/apiClient.js +35 -35
  68. package/lib/module/services/apiKeyService.js +99 -99
  69. package/lib/module/services/authService.js +82 -82
  70. package/lib/module/services/biometricPinService.js +10 -10
  71. package/lib/module/services/connectedAccountsService.js +32 -32
  72. package/lib/module/services/googleAuthService.js +15 -15
  73. package/lib/module/services/imageCompressionService.js +15 -15
  74. package/lib/module/services/jwtStorageService.js +59 -59
  75. package/lib/module/services/mobileTrainingService.js +14 -14
  76. package/lib/module/services/pinEncryptionService.js +10 -10
  77. package/lib/module/services/pinStorageUtils.js +15 -15
  78. package/lib/module/services/platformAuthService.js +47 -47
  79. package/lib/module/services/storageService.js +31 -31
  80. package/lib/module/services/trainingApiHelpers.js +33 -33
  81. package/lib/module/services/userConnectionsService.js +24 -24
  82. package/lib/module/utils/Portal.js +4 -4
  83. package/lib/module/utils/api.js +24 -24
  84. package/lib/module/utils/auth.js +18 -18
  85. package/lib/module/utils/crypto.js +13 -13
  86. package/lib/module/utils/encryption.js +12 -12
  87. package/lib/module/utils/eventUtils.js +52 -52
  88. package/lib/module/utils/programmaticFlow.js +16 -16
  89. package/lib/module/utils/retryHelper.js +27 -27
  90. package/lib/typescript/components/OnairosSignInButton.d.ts.map +1 -1
  91. package/lib/typescript/index.d.ts +0 -1
  92. package/lib/typescript/index.d.ts.map +1 -1
  93. package/package.json +163 -163
  94. package/src/api/index.ts +151 -151
  95. package/src/assets/images/Checkbox.svg +3 -3
  96. package/src/assets/images/EnochE.svg +19 -19
  97. package/src/assets/images/Personalityprofile.svg +3 -3
  98. package/src/assets/images/Personalitytraits.svg +3 -3
  99. package/src/assets/images/Userpreferences.svg +3 -3
  100. package/src/assets/images/arrow.svg +20 -20
  101. package/src/assets/images/basicproficon.svg +43 -43
  102. package/src/assets/images/basicprofile.svg +3 -3
  103. package/src/assets/images/checkmark.svg +4 -4
  104. package/src/assets/images/contentanalysis.svg +3 -3
  105. package/src/assets/images/contenticon.svg +23 -23
  106. package/src/assets/images/personalityicon.svg +18 -18
  107. package/src/assets/images/x-close.svg +3 -3
  108. package/src/components/BodyText.tsx +33 -33
  109. package/src/components/BrandMark.tsx +62 -62
  110. package/src/components/CodeInput.tsx +32 -32
  111. package/src/components/DataRequestScreen.tsx +355 -355
  112. package/src/components/EmailInput.tsx +31 -31
  113. package/src/components/EmailVerificationModal.tsx +363 -363
  114. package/src/components/ExistingUserDataConfirmation.tsx +506 -506
  115. package/src/components/GoogleButton.tsx +55 -55
  116. package/src/components/HeadingGroup.tsx +49 -49
  117. package/src/components/ModalHeader.tsx +125 -125
  118. package/src/components/ModalSheet.tsx +57 -57
  119. package/src/components/Onairos.tsx +422 -422
  120. package/src/components/OnairosButton.tsx +339 -339
  121. package/src/components/OnairosSignInButton.tsx +130 -166
  122. package/src/components/Overlay.tsx +506 -506
  123. package/src/components/PersonaImage.tsx +79 -79
  124. package/src/components/PersonaLoadingScreen.tsx +201 -201
  125. package/src/components/PersonalizationConsentScreen.tsx +410 -410
  126. package/src/components/PinCreationScreen.tsx +492 -492
  127. package/src/components/PinInput.tsx +555 -555
  128. package/src/components/PlatformConnectorsStep.tsx +891 -891
  129. package/src/components/PlatformList.tsx +144 -144
  130. package/src/components/PlatformToggle.tsx +226 -226
  131. package/src/components/PrimaryButton.tsx +213 -213
  132. package/src/components/SignInMatchAnimation.tsx +225 -225
  133. package/src/components/SignInStep.tsx +217 -217
  134. package/src/components/TrainingModal.tsx +1047 -1047
  135. package/src/components/UniversalOnboarding.tsx +2887 -2887
  136. package/src/components/VerificationStep.tsx +198 -198
  137. package/src/components/WelcomeScreen.tsx +473 -473
  138. package/src/components/icons/Basicproficon.tsx +30 -30
  139. package/src/components/icons/Basicprofile.tsx +17 -17
  140. package/src/components/icons/Checkbox.tsx +17 -17
  141. package/src/components/icons/Checkmark.tsx +24 -24
  142. package/src/components/icons/Contentanalysis.tsx +17 -17
  143. package/src/components/icons/Contenticon.tsx +30 -30
  144. package/src/components/icons/EnochE.tsx +39 -39
  145. package/src/components/icons/Personalityicon.tsx +22 -22
  146. package/src/components/icons/Personalityprofile.tsx +17 -17
  147. package/src/components/icons/Personalitytraits.tsx +17 -17
  148. package/src/components/icons/Userpreferences.tsx +17 -17
  149. package/src/components/icons/index.ts +12 -12
  150. package/src/components/onboarding/OAuthWebView.tsx +232 -232
  151. package/src/config/api.ts +25 -25
  152. package/src/context/AuthContext.tsx +393 -393
  153. package/src/hooks/useConnectedAccounts.ts +138 -138
  154. package/src/hooks/useConnections.ts +161 -161
  155. package/src/hooks/useCredentials.ts +174 -174
  156. package/src/hooks/useUserConnections.ts +165 -165
  157. package/src/index.js +14 -14
  158. package/src/index.ts +94 -95
  159. package/src/services/apiClient.ts +336 -336
  160. package/src/services/apiKeyService.ts +919 -919
  161. package/src/services/authService.ts +1008 -1008
  162. package/src/services/biometricPinService.ts +192 -192
  163. package/src/services/connectedAccountsService.ts +289 -289
  164. package/src/services/googleAuthService.ts +279 -279
  165. package/src/services/imageCompressionService.ts +302 -302
  166. package/src/services/jwtStorageService.ts +256 -256
  167. package/src/services/mobileTrainingService.ts +203 -203
  168. package/src/services/pinEncryptionService.ts +75 -75
  169. package/src/services/pinStorageUtils.ts +96 -96
  170. package/src/services/platformAuthService.ts +1346 -1346
  171. package/src/services/storageService.ts +451 -451
  172. package/src/services/trainingApiHelpers.ts +66 -66
  173. package/src/services/userConnectionsService.ts +556 -556
  174. package/src/services/youtubeMigrationService.ts +453 -453
  175. package/src/theme/index.ts +239 -239
  176. package/src/types/ambient.d.ts +28 -28
  177. package/src/types/index.ts +265 -265
  178. package/src/types/node-fix.d.ts +18 -18
  179. package/src/types/node-override.d.ts +23 -23
  180. package/src/types/opacity.d.ts +15 -15
  181. package/src/types/types.d.ts +17 -17
  182. package/src/utils/Portal.tsx +82 -82
  183. package/src/utils/api.js +111 -111
  184. package/src/utils/auth.js +103 -103
  185. package/src/utils/crypto.js +59 -59
  186. package/src/utils/encryption.ts +68 -68
  187. package/src/utils/eventUtils.ts +302 -302
  188. package/src/utils/haptics.ts +58 -58
  189. package/src/utils/imagePreloader.ts +2 -2
  190. package/src/utils/programmaticFlow.ts +112 -112
  191. package/src/utils/retryHelper.ts +274 -274
@@ -1,8 +1,7 @@
1
1
  import React, { useState, useCallback } from 'react';
2
2
  import { TouchableOpacity, Text, StyleSheet, View, Image } from 'react-native';
3
3
  import AsyncStorage from '@react-native-async-storage/async-storage';
4
- import { TrainingModal } from './TrainingModal';
5
- import { UniversalOnboarding } from './UniversalOnboarding';
4
+ import WelcomeScreen from './WelcomeScreen';
6
5
  import { triggerHaptic, HapticType } from '../utils/haptics';
7
6
  export const OnairosSignInButton = ({
8
7
  AppName,
@@ -14,60 +13,44 @@ export const OnairosSignInButton = ({
14
13
  onRejection,
15
14
  autoFocusEmailInput = true
16
15
  }) => {
17
- const [showEmailModal, setShowEmailModal] = useState(false);
18
- const [showOnboardingModal, setShowOnboardingModal] = useState(false);
16
+ const [showWelcomeScreen, setShowWelcomeScreen] = useState(false);
19
17
  const [userEmail, setUserEmail] = useState('');
20
- const handleEmailComplete = useCallback(emailOrToken => {
21
- console.log('🔍 OnairosSignInButton: handleEmailComplete called with:', emailOrToken);
18
+ const handleWelcomeComplete = useCallback((token, email) => {
19
+ console.log('🔍 OnairosSignInButton: handleWelcomeComplete called with:', {
20
+ token,
21
+ email
22
+ });
22
23
 
23
- // Check if we received a JWT token (real authentication) or just an email
24
- const isJWTToken = emailOrToken && emailOrToken.includes('.') && emailOrToken.split('.').length === 3;
24
+ // Check if we received a JWT token (real authentication) or just a placeholder token
25
+ const isJWTToken = token && token.includes('.') && token.split('.').length === 3;
25
26
  console.log('🔍 OnairosSignInButton: Is JWT token?', isJWTToken);
26
- if (isJWTToken) {
27
- // We received a real JWT token from TrainingModal, complete the sign-in immediately
28
- console.log('🔑 Received JWT token from TrainingModal, completing sign-in');
29
- setShowEmailModal(false);
30
- if (onResolved) {
31
- // For JWT tokens, we need to get the email from storage since TrainingModal stored it
27
+
28
+ // Close the welcome screen
29
+ setShowWelcomeScreen(false);
30
+ if (onResolved) {
31
+ // For JWT tokens, use the provided email or get from storage
32
+ if (isJWTToken) {
33
+ console.log('🔑 Received JWT token from WelcomeScreen, completing sign-in');
32
34
  AsyncStorage.getItem('user_email').then(storedEmail => {
33
- const emailToUse = storedEmail || userEmail;
35
+ const emailToUse = email || storedEmail || userEmail;
34
36
  console.log('🔑 OnairosSignInButton: Returning JWT token with email:', emailToUse);
35
- onResolved(emailOrToken, emailToUse);
37
+ onResolved(token, emailToUse);
36
38
  });
39
+ } else {
40
+ // For placeholder tokens, still complete the flow with the provided email
41
+ console.log('🔑 Received placeholder token from WelcomeScreen, completing sign-in');
42
+ const emailToUse = email || userEmail;
43
+ console.log('🔑 OnairosSignInButton: Returning token with email:', emailToUse);
44
+ onResolved(token, emailToUse);
37
45
  }
38
- } else {
39
- // We received an email, continue to UniversalOnboarding platform connectors
40
- console.log('📧 OnairosSignInButton: Received email, opening UniversalOnboarding platform connectors');
41
- setUserEmail(emailOrToken);
42
- setShowEmailModal(false);
43
- setShowOnboardingModal(true);
44
- console.log('📧 OnairosSignInButton: UniversalOnboarding modal should now be visible');
45
46
  }
46
47
  }, [onResolved, userEmail]);
47
- const handleEmailCancel = useCallback(() => {
48
- setShowEmailModal(false);
48
+ const handleWelcomeCancel = useCallback(() => {
49
+ setShowWelcomeScreen(false);
49
50
  if (onRejection) {
50
- onRejection('User closed email sign-in');
51
+ onRejection('User closed welcome screen');
51
52
  }
52
53
  }, [onRejection]);
53
- const handleOnboardingComplete = useCallback((token, email) => {
54
- // Use setTimeout to prevent state updates during component unmount
55
- setTimeout(() => {
56
- setShowOnboardingModal(false);
57
- if (onResolved) {
58
- onResolved(token, email || userEmail);
59
- }
60
- }, 16);
61
- }, [onResolved, userEmail]);
62
- const handleOnboardingCancel = useCallback(() => {
63
- // Use setTimeout to prevent state updates during component unmount
64
- setTimeout(() => {
65
- setShowOnboardingModal(false);
66
- if (onRejection) {
67
- onRejection('User closed onboarding');
68
- }
69
- }, 16);
70
- }, [onRejection]);
71
54
  return /*#__PURE__*/React.createElement(View, {
72
55
  style: styles.container
73
56
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
@@ -78,7 +61,7 @@ export const OnairosSignInButton = ({
78
61
  }],
79
62
  onPress: () => {
80
63
  triggerHaptic(HapticType.BUTTON_PRESS);
81
- setShowEmailModal(true);
64
+ setShowWelcomeScreen(true);
82
65
  },
83
66
  activeOpacity: 0.85
84
67
  }, /*#__PURE__*/React.createElement(View, {
@@ -92,35 +75,10 @@ export const OnairosSignInButton = ({
92
75
  style: [styles.buttonText, {
93
76
  color: textColor
94
77
  }]
95
- }, "Sign in with Onairos"))), /*#__PURE__*/React.createElement(TrainingModal, {
96
- visible: showEmailModal,
97
- onCancel: handleEmailCancel,
98
- onComplete: handleEmailComplete,
99
- autoFocusEmailInput: autoFocusEmailInput,
100
- isPrimaryAuth: true
101
- }), /*#__PURE__*/React.createElement(UniversalOnboarding, {
102
- visible: showOnboardingModal,
103
- onClose: handleOnboardingCancel,
104
- onComplete: handleOnboardingComplete,
105
- AppName: AppName,
106
- primaryAuthOnly: false,
107
- requestData: {
108
- Small: {
109
- type: "Small",
110
- descriptions: "Basic tier",
111
- reward: "1"
112
- },
113
- Medium: {
114
- type: "Medium",
115
- descriptions: "Standard tier",
116
- reward: "2"
117
- },
118
- Large: {
119
- type: "Large",
120
- descriptions: "Premium tier",
121
- reward: "3"
122
- }
123
- }
78
+ }, "Sign in with Onairos"))), /*#__PURE__*/React.createElement(WelcomeScreen, {
79
+ visible: showWelcomeScreen,
80
+ onClose: handleWelcomeCancel,
81
+ onComplete: handleWelcomeComplete
124
82
  }));
125
83
  };
126
84
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useCallback","TouchableOpacity","Text","StyleSheet","View","Image","AsyncStorage","TrainingModal","UniversalOnboarding","triggerHaptic","HapticType","OnairosSignInButton","AppName","buttonWidth","buttonHeight","color","textColor","onResolved","onRejection","autoFocusEmailInput","showEmailModal","setShowEmailModal","showOnboardingModal","setShowOnboardingModal","userEmail","setUserEmail","handleEmailComplete","emailOrToken","console","log","isJWTToken","includes","split","length","getItem","then","storedEmail","emailToUse","handleEmailCancel","handleOnboardingComplete","token","email","setTimeout","handleOnboardingCancel","createElement","style","styles","container","button","width","height","backgroundColor","onPress","BUTTON_PRESS","activeOpacity","contentRow","source","require","logo","resizeMode","accessibilityLabel","buttonText","visible","onCancel","onComplete","isPrimaryAuth","onClose","primaryAuthOnly","requestData","Small","type","descriptions","reward","Medium","Large","create","borderRadius","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","marginVertical","flexDirection","marginRight","fontSize","fontWeight","textAlign"],"sourceRoot":"../../../src","sources":["components/OnairosSignInButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useCallback","TouchableOpacity","Text","StyleSheet","View","Image","AsyncStorage","WelcomeScreen","triggerHaptic","HapticType","OnairosSignInButton","AppName","buttonWidth","buttonHeight","color","textColor","onResolved","onRejection","autoFocusEmailInput","showWelcomeScreen","setShowWelcomeScreen","userEmail","setUserEmail","handleWelcomeComplete","token","email","console","log","isJWTToken","includes","split","length","getItem","then","storedEmail","emailToUse","handleWelcomeCancel","createElement","style","styles","container","button","width","height","backgroundColor","onPress","BUTTON_PRESS","activeOpacity","contentRow","source","require","logo","resizeMode","accessibilityLabel","buttonText","visible","onClose","onComplete","create","borderRadius","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","marginVertical","flexDirection","marginRight","fontSize","fontWeight","textAlign"],"sourceRoot":"../../../src","sources":["components/OnairosSignInButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -579,8 +579,8 @@ export const UniversalOnboarding = ({
579
579
  }
580
580
  }, [platformToggles, username]);
581
581
 
582
- /**
583
- * Handles OAuth callback URLs
582
+ /**
583
+ * Handles OAuth callback URLs
584
584
  */
585
585
  const handleOAuthCallback = useCallback(url => {
586
586
  try {
@@ -612,8 +612,8 @@ export const UniversalOnboarding = ({
612
612
  }
613
613
  }, [currentPlatform, username]);
614
614
 
615
- /**
616
- * Handles successful OAuth authentication from the OAuthWebView
615
+ /**
616
+ * Handles successful OAuth authentication from the OAuthWebView
617
617
  */
618
618
  const handleOAuthSuccess = useCallback(async code => {
619
619
  console.log(`🎉 OAuth success for ${currentPlatform} - backend callback completed`);
@@ -1,5 +1,5 @@
1
- /**
2
- * API Configuration for Onairos SDK
1
+ /**
2
+ * API Configuration for Onairos SDK
3
3
  */
4
4
 
5
5
  export const API_CONFIG = {
@@ -6,8 +6,8 @@ export const useConnections = () => {
6
6
  const [connections, setConnections] = useState({});
7
7
  const [isConnecting, setIsConnecting] = useState(false);
8
8
 
9
- /**
10
- * Connect a platform using OAuth or native SDK
9
+ /**
10
+ * Connect a platform using OAuth or native SDK
11
11
  */
12
12
  const connectPlatform = useCallback(async (platform, username) => {
13
13
  try {
@@ -76,8 +76,8 @@ export const useConnections = () => {
76
76
  }
77
77
  }, []);
78
78
 
79
- /**
80
- * Disconnect a platform
79
+ /**
80
+ * Disconnect a platform
81
81
  */
82
82
  const disconnectPlatform = useCallback(async (platform, username) => {
83
83
  try {
@@ -128,8 +128,8 @@ export const useConnections = () => {
128
128
  }
129
129
  }, []);
130
130
 
131
- /**
132
- * Get current connection status
131
+ /**
132
+ * Get current connection status
133
133
  */
134
134
  const getConnectionStatus = useCallback(async () => {
135
135
  // In a real app, you might fetch this from storage or API
@@ -7,8 +7,8 @@ export const useUserConnections = () => {
7
7
  const [isLoading, setIsLoading] = useState(true);
8
8
  const [error, setError] = useState(null);
9
9
 
10
- /**
11
- * Load connections from API with authentication validation
10
+ /**
11
+ * Load connections from API with authentication validation
12
12
  */
13
13
  const loadConnections = useCallback(async () => {
14
14
  try {
@@ -60,8 +60,8 @@ export const useUserConnections = () => {
60
60
  }
61
61
  }, []);
62
62
 
63
- /**
64
- * Refresh connections with authentication validation
63
+ /**
64
+ * Refresh connections with authentication validation
65
65
  */
66
66
  const refreshConnections = useCallback(async () => {
67
67
  console.log('🔄 [CONNECTIONS HOOK] Refreshing connections...');
@@ -69,8 +69,8 @@ export const useUserConnections = () => {
69
69
  console.log('✅ [CONNECTIONS HOOK] Connections refresh completed');
70
70
  }, [loadConnections]);
71
71
 
72
- /**
73
- * Get connections by username with authentication validation
72
+ /**
73
+ * Get connections by username with authentication validation
74
74
  */
75
75
  const getConnectionsByUsername = useCallback(async username => {
76
76
  try {
@@ -89,8 +89,8 @@ export const useUserConnections = () => {
89
89
  }
90
90
  }, []);
91
91
 
92
- /**
93
- * Get connections by user ID with authentication validation
92
+ /**
93
+ * Get connections by user ID with authentication validation
94
94
  */
95
95
  const getConnectionsByUserId = useCallback(async userId => {
96
96
  try {
@@ -109,8 +109,8 @@ export const useUserConnections = () => {
109
109
  }
110
110
  }, []);
111
111
 
112
- /**
113
- * Upload profile picture
112
+ /**
113
+ * Upload profile picture
114
114
  */
115
115
  const uploadUserProfilePicture = useCallback(async (imageData, fileType = 'jpg') => {
116
116
  try {
@@ -1,15 +1,14 @@
1
- /**
2
- * Onairos React Native SDK v4.0.0
3
- * A React Native implementation for Onairos personalized data integration
4
- *
5
- * PUBLIC API - Complete redesigned UI and enhanced functionality
1
+ /**
2
+ * Onairos React Native SDK v4.0.0
3
+ * A React Native implementation for Onairos personalized data integration
4
+ *
5
+ * PUBLIC API - Complete redesigned UI and enhanced functionality
6
6
  */
7
7
 
8
8
  // Essential Types
9
9
 
10
10
  // Core Components - Redesigned UI
11
11
  export { OnairosButton } from './components/OnairosButton';
12
- export { OnairosSignInButton } from './components/OnairosSignInButton';
13
12
  export { Onairos } from './components/Onairos';
14
13
  export { UniversalOnboarding } from './components/UniversalOnboarding';
15
14
 
@@ -1 +1 @@
1
- {"version":3,"names":["OnairosButton","OnairosSignInButton","Onairos","UniversalOnboarding","default","WelcomeScreen","PrimaryButton","ModalSheet","ModalHeader","BrandMark","HeadingGroup","BodyText","SignInStep","VerificationStep","PlatformConnectorsStep","PersonalizationConsentScreen","PinCreationScreen","PersonaImage","initializeApiKey","ADMIN_API_KEY","extractUsernameFromJWT","extractUserDataFromJWT","decodeJWTPayload","getOnairosUsername","initiateOAuth","initiateNativeAuth","hasNativeSDK","isOAuthCallback","updateGoogleClientIds","ApiClient"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAYA;AACA,SAASA,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kCAAkC;;AAEtE;AACA,SAASC,OAAO,IAAIC,aAAa,QAAQ,4BAA4B;AACrE,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAAST,OAAO,IAAIU,sBAAsB,QAAQ,qCAAqC;AACvF,SAASC,4BAA4B,QAAQ,2CAA2C;AACxF,SAASC,iBAAiB,QAAQ,gCAAgC;;AAElE;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASZ,OAAO,IAAIa,YAAY,QAAQ,2BAA2B;AACnE;AACA;;AAEA;AACA,SACEC,gBAAgB,EAChBC,aAAa,EACbC,sBAAsB,EACtBC,sBAAsB,EACtBC,gBAAgB,QACX,0BAA0B;;AAEjC;AACA,SACEC,kBAAkB,QACb,wBAAwB;AAE/B,SACEC,aAAa,EACbC,kBAAkB,EAClBC,YAAY,EACZC,eAAe,QACV,gCAAgC;AAEvC,SACEC,qBAAqB,QAChB,8BAA8B;;AAErC;AACA,SAASC,SAAS,QAAQ,sBAAsB;;AAEhD;AACA;;AAEA;AACA;;AAEA;AACA,SAAS7B,aAAa,QAAQ,4BAA4B;AAC1D,SAASE,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,OAAOE,aAAa,MAAM,4BAA4B;AAEtD,eAAe;EACbL,aAAa;EACbE,OAAO;EACPC,mBAAmB;EACnBE;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["OnairosButton","Onairos","UniversalOnboarding","default","WelcomeScreen","PrimaryButton","ModalSheet","ModalHeader","BrandMark","HeadingGroup","BodyText","SignInStep","VerificationStep","PlatformConnectorsStep","PersonalizationConsentScreen","PinCreationScreen","PersonaImage","initializeApiKey","ADMIN_API_KEY","extractUsernameFromJWT","extractUserDataFromJWT","decodeJWTPayload","getOnairosUsername","initiateOAuth","initiateNativeAuth","hasNativeSDK","isOAuthCallback","updateGoogleClientIds","ApiClient"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAYA;AACA,SAASA,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kCAAkC;;AAEtE;AACA,SAASC,OAAO,IAAIC,aAAa,QAAQ,4BAA4B;AACrE,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAAST,OAAO,IAAIU,sBAAsB,QAAQ,qCAAqC;AACvF,SAASC,4BAA4B,QAAQ,2CAA2C;AACxF,SAASC,iBAAiB,QAAQ,gCAAgC;;AAElE;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASZ,OAAO,IAAIa,YAAY,QAAQ,2BAA2B;AACnE;AACA;;AAEA;AACA,SACEC,gBAAgB,EAChBC,aAAa,EACbC,sBAAsB,EACtBC,sBAAsB,EACtBC,gBAAgB,QACX,0BAA0B;;AAEjC;AACA,SACEC,kBAAkB,QACb,wBAAwB;AAE/B,SACEC,aAAa,EACbC,kBAAkB,EAClBC,YAAY,EACZC,eAAe,QACV,gCAAgC;AAEvC,SACEC,qBAAqB,QAChB,8BAA8B;;AAErC;AACA,SAASC,SAAS,QAAQ,sBAAsB;;AAEhD;AACA;;AAEA;AACA;;AAEA;AACA,SAAS5B,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,OAAOE,aAAa,MAAM,4BAA4B;AAEtD,eAAe;EACbJ,aAAa;EACbC,OAAO;EACPC,mBAAmB;EACnBE;AACF,CAAC","ignoreList":[]}
@@ -1,28 +1,28 @@
1
1
  import { getJWTForRoute, TokenType, getTokenTypeForRoute, clearJWT, getAllTokens } from './jwtStorageService';
2
2
  import { API_CONFIG } from '../config/api';
3
3
 
4
- /**
5
- * Centralized API Client with Route-Based JWT Token Management
6
- * CORRECTED APPROACH: Uses different JWT tokens for different route families
7
- *
8
- * TOKEN ROUTING:
9
- * - Enoch JWT: /enoch/*, /api/auth/*, /mobile-training/enoch
10
- * - Onairos JWT: /youtube/*, /gmail/*, social connections
11
- * - Auth Token: Context-specific auth flows
4
+ /**
5
+ * Centralized API Client with Route-Based JWT Token Management
6
+ * CORRECTED APPROACH: Uses different JWT tokens for different route families
7
+ *
8
+ * TOKEN ROUTING:
9
+ * - Enoch JWT: /enoch/*, /api/auth/*, /mobile-training/enoch
10
+ * - Onairos JWT: /youtube/*, /gmail/*, social connections
11
+ * - Auth Token: Context-specific auth flows
12
12
  */
13
13
 
14
- /**
15
- * Global request counter for tracking in-flight requests
14
+ /**
15
+ * Global request counter for tracking in-flight requests
16
16
  */
17
17
  let currentRequestId = 0;
18
18
  const activeRequests = new Map();
19
19
 
20
- /**
21
- * Route-specific authentication triggers
20
+ /**
21
+ * Route-specific authentication triggers
22
22
  */
23
23
 
24
- /**
25
- * Create API client with route-based token management
24
+ /**
25
+ * Create API client with route-based token management
26
26
  */
27
27
  class ApiClient {
28
28
  constructor(baseUrl = API_CONFIG.BASE_URL, authTriggers = {}) {
@@ -30,9 +30,9 @@ class ApiClient {
30
30
  this.authTriggers = authTriggers;
31
31
  }
32
32
 
33
- /**
34
- * Make authenticated API request with route-based token selection
35
- * CRITICAL: Uses the correct token type based on route
33
+ /**
34
+ * Make authenticated API request with route-based token selection
35
+ * CRITICAL: Uses the correct token type based on route
36
36
  */
37
37
  async request(endpoint, options = {}) {
38
38
  const requestId = ++currentRequestId;
@@ -101,9 +101,9 @@ class ApiClient {
101
101
  }
102
102
  }
103
103
 
104
- /**
105
- * Get request headers with route-appropriate token
106
- * CRITICAL: Selects correct token based on route
104
+ /**
105
+ * Get request headers with route-appropriate token
106
+ * CRITICAL: Selects correct token based on route
107
107
  */
108
108
  async getRequestHeaders(endpoint, requiresAuth) {
109
109
  if (!requiresAuth) {
@@ -121,9 +121,9 @@ class ApiClient {
121
121
  };
122
122
  }
123
123
 
124
- /**
125
- * Handle 401 errors with route-specific re-authentication
126
- * CRITICAL FIX: Different auth flows for different token types
124
+ /**
125
+ * Handle 401 errors with route-specific re-authentication
126
+ * CRITICAL FIX: Different auth flows for different token types
127
127
  */
128
128
  async handle401Error(requestId, endpoint, tokenType, options) {
129
129
  console.error(`🚫 [API Client] Request ${requestId} received 401 for ${tokenType} token on route: ${endpoint}`);
@@ -146,8 +146,8 @@ class ApiClient {
146
146
  };
147
147
  }
148
148
 
149
- /**
150
- * Trigger appropriate re-authentication based on token type
149
+ /**
150
+ * Trigger appropriate re-authentication based on token type
151
151
  */
152
152
  async triggerReAuthForTokenType(tokenType, endpoint) {
153
153
  console.log(`🔄 [API Client] Triggering re-auth for ${tokenType} token (endpoint: ${endpoint})`);
@@ -183,8 +183,8 @@ class ApiClient {
183
183
  }
184
184
  }
185
185
 
186
- /**
187
- * Cancel requests using a specific token type
186
+ /**
187
+ * Cancel requests using a specific token type
188
188
  */
189
189
  cancelRequestsForTokenType(tokenType, excludeRequestId) {
190
190
  let cancelledCount = 0;
@@ -203,8 +203,8 @@ class ApiClient {
203
203
  }
204
204
  }
205
205
 
206
- /**
207
- * Replace token for specific type and cancel related requests
206
+ /**
207
+ * Replace token for specific type and cancel related requests
208
208
  */
209
209
  async replaceTokenForType(tokenType, newToken) {
210
210
  console.log(`🔄 [API Client] Replacing ${tokenType} token`);
@@ -223,8 +223,8 @@ class ApiClient {
223
223
  return replaced;
224
224
  }
225
225
 
226
- /**
227
- * Debug: Get all current tokens
226
+ /**
227
+ * Debug: Get all current tokens
228
228
  */
229
229
  async debugTokens() {
230
230
  console.log('🔍 [API Client] Debug: Current token status');
@@ -239,8 +239,8 @@ class ApiClient {
239
239
  return tokens;
240
240
  }
241
241
 
242
- /**
243
- * Set authentication triggers
242
+ /**
243
+ * Set authentication triggers
244
244
  */
245
245
  setAuthTriggers(triggers) {
246
246
  this.authTriggers = {
@@ -250,8 +250,8 @@ class ApiClient {
250
250
  console.log('🔧 [API Client] Authentication triggers updated');
251
251
  }
252
252
 
253
- /**
254
- * Convenience methods for common HTTP verbs
253
+ /**
254
+ * Convenience methods for common HTTP verbs
255
255
  */
256
256
  async get(endpoint, options = {}) {
257
257
  return this.request(endpoint, {