@onairos/react-native 3.4.1 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +423 -374
- package/lib/commonjs/api/index.js +9 -145
- package/lib/commonjs/assets/animations/loaderani.json +1 -0
- package/lib/commonjs/assets/animations/persona-animation.json +1 -0
- package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
- package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
- package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
- package/lib/commonjs/assets/icons/Gmail.png +0 -0
- package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
- package/lib/commonjs/assets/icons/Redditicon.png +0 -0
- package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
- package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
- package/lib/commonjs/assets/icons/chatgpt.png +0 -0
- package/lib/commonjs/assets/icons/claude.png +0 -0
- package/lib/commonjs/assets/icons/gemini.png +0 -0
- package/lib/commonjs/assets/icons/grok.png +0 -0
- package/lib/commonjs/assets/images/Checkbox.svg +3 -0
- package/lib/commonjs/assets/images/EnochE.svg +19 -0
- package/lib/commonjs/assets/images/Enochicon1.png +0 -0
- package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
- package/lib/commonjs/assets/images/Facebookicon.png +0 -0
- package/lib/commonjs/assets/images/Gmail.png +0 -0
- package/lib/commonjs/assets/images/Googlelogo.png +0 -0
- package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
- package/lib/commonjs/assets/images/OnairosNewLogo.png +0 -0
- package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
- package/lib/commonjs/assets/images/Personalityprofile.svg +3 -0
- package/lib/commonjs/assets/images/Personalitytraits.svg +3 -0
- package/lib/commonjs/assets/images/Redditicon.png +0 -0
- package/lib/commonjs/assets/images/Userpreferences.svg +3 -0
- package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
- package/lib/commonjs/assets/images/arrow.svg +20 -0
- package/lib/commonjs/assets/images/basicproficon.svg +43 -0
- package/lib/commonjs/assets/images/basicprofile.svg +3 -0
- package/lib/commonjs/assets/images/chatgpt.png +0 -0
- package/lib/commonjs/assets/images/checkmark.svg +4 -0
- package/lib/commonjs/assets/images/claude.png +0 -0
- package/lib/commonjs/assets/images/contentanalysis.svg +3 -0
- package/lib/commonjs/assets/images/contenticon.svg +23 -0
- package/lib/commonjs/assets/images/gemini.png +0 -0
- package/lib/commonjs/assets/images/grok.png +0 -0
- package/lib/commonjs/assets/images/persona1.png +0 -0
- package/lib/commonjs/assets/images/persona2.png +0 -0
- package/lib/commonjs/assets/images/persona3.png +0 -0
- package/lib/commonjs/assets/images/persona4.png +0 -0
- package/lib/commonjs/assets/images/persona5.png +0 -0
- package/lib/commonjs/assets/images/personalityicon.svg +18 -0
- package/lib/commonjs/assets/images/x-close.svg +3 -0
- package/lib/commonjs/components/BodyText.js +9 -0
- package/lib/commonjs/components/BrandMark.js +10 -0
- package/lib/commonjs/components/CodeInput.js +9 -0
- package/lib/commonjs/components/EmailInput.js +8 -0
- package/lib/commonjs/components/GoogleButton.js +9 -0
- package/lib/commonjs/components/HeadingGroup.js +9 -0
- package/lib/commonjs/components/LLMDataInputModal.js +14 -0
- package/lib/commonjs/components/ModalHeader.js +9 -0
- package/lib/commonjs/components/ModalSheet.js +9 -0
- package/lib/commonjs/components/Onairos.js +14 -374
- package/lib/commonjs/components/OnairosButton.js +13 -309
- package/lib/commonjs/components/OnairosSignInButton.js +12 -0
- package/lib/commonjs/components/Overlay.js +13 -483
- package/lib/commonjs/components/PersonaImage.js +10 -0
- package/lib/commonjs/components/PersonaLoadingScreen.js +12 -0
- package/lib/commonjs/components/PersonalizationConsentScreen.js +13 -0
- package/lib/commonjs/components/PinCreationScreen.js +12 -0
- package/lib/commonjs/components/PinInput.js +9 -302
- package/lib/commonjs/components/PlatformConnectorsStep.js +23 -0
- package/lib/commonjs/components/PlatformList.js +10 -137
- package/lib/commonjs/components/PlatformToggle.js +9 -0
- package/lib/commonjs/components/PrimaryButton.js +10 -0
- package/lib/commonjs/components/SignInMatchAnimation.js +9 -0
- package/lib/commonjs/components/SignInStep.js +12 -0
- package/lib/commonjs/components/UniversalOnboarding.js +30 -1702
- package/lib/commonjs/components/VerificationStep.js +11 -0
- package/lib/commonjs/components/WelcomeScreen.js +22 -0
- package/lib/commonjs/components/icons/Basicproficon.js +8 -0
- package/lib/commonjs/components/icons/Basicprofile.js +8 -0
- package/lib/commonjs/components/icons/Checkbox.js +8 -0
- package/lib/commonjs/components/icons/Checkmark.js +8 -0
- package/lib/commonjs/components/icons/Contentanalysis.js +8 -0
- package/lib/commonjs/components/icons/Contenticon.js +8 -0
- package/lib/commonjs/components/icons/EnochE.js +8 -0
- package/lib/commonjs/components/icons/Personalityicon.js +8 -0
- package/lib/commonjs/components/icons/Personalityprofile.js +8 -0
- package/lib/commonjs/components/icons/Personalitytraits.js +8 -0
- package/lib/commonjs/components/icons/Userpreferences.js +8 -0
- package/lib/commonjs/components/icons/index.js +17 -0
- package/lib/commonjs/components/onboarding/OAuthWebView.js +18 -827
- package/lib/commonjs/components/onboarding/OnboardingHeader.js +10 -74
- package/lib/commonjs/components/onboarding/PinInput.js +10 -283
- package/lib/commonjs/components/onboarding/PlatformConnector.js +11 -249
- package/lib/commonjs/config/api.js +7 -0
- package/lib/commonjs/constants/index.js +7 -83
- package/lib/commonjs/context/AuthContext.js +10 -0
- package/lib/commonjs/hooks/useConnectedAccounts.js +9 -0
- package/lib/commonjs/hooks/useConnections.js +8 -159
- package/lib/commonjs/hooks/useCredentials.js +10 -177
- package/lib/commonjs/hooks/useUserConnections.js +10 -0
- package/lib/commonjs/index.js +34 -106
- package/lib/commonjs/services/SDK_API_KEY_VALIDATION.md +421 -421
- package/lib/commonjs/services/apiClient.js +8 -0
- package/lib/commonjs/services/apiKeyService.js +9 -952
- package/lib/commonjs/services/authService.js +10 -0
- package/lib/commonjs/services/biometricPinService.js +8 -0
- package/lib/commonjs/services/chatGPTConversationExtractor.js +8 -0
- package/lib/commonjs/services/chatGPTConversationService.js +9 -0
- package/lib/commonjs/services/claudeConversationExtractor.js +8 -0
- package/lib/commonjs/services/claudeConversationService.js +9 -0
- package/lib/commonjs/services/connectedAccountsService.js +10 -0
- package/lib/commonjs/services/googleAuthService.js +11 -0
- package/lib/commonjs/services/hingeDataExtractor.js +8 -0
- package/lib/commonjs/services/hingeDataService.js +9 -0
- package/lib/commonjs/services/imageCompressionService.js +7 -0
- package/lib/commonjs/services/instagramDataExtractor.js +8 -0
- package/lib/commonjs/services/instagramDataService.js +9 -0
- package/lib/commonjs/services/jwtStorageService.js +7 -0
- package/lib/commonjs/services/linkedinDOMExtractor.js +7 -0
- package/lib/commonjs/services/linkedinProfileService.js +9 -0
- package/lib/commonjs/services/linkedinScrapingService.js +8 -0
- package/lib/commonjs/services/llmDataStorage.js +8 -0
- package/lib/commonjs/services/mobileTrainingService.js +8 -0
- package/lib/commonjs/services/oauthService.js +11 -390
- package/lib/commonjs/services/pinEncryptionService.js +8 -0
- package/lib/commonjs/services/pinStorageUtils.js +7 -0
- package/lib/commonjs/services/platformAuthService.js +12 -1067
- package/lib/commonjs/services/sephoraDataExtractor.js +8 -0
- package/lib/commonjs/services/sephoraDataService.js +9 -0
- package/lib/commonjs/services/storageService.js +8 -0
- package/lib/commonjs/services/telegramDataExtractor.js +8 -0
- package/lib/commonjs/services/telegramDataService.js +11 -0
- package/lib/commonjs/services/trainingApiHelpers.js +7 -0
- package/lib/commonjs/services/userConnectionsService.js +10 -0
- package/lib/commonjs/services/youtubeMigrationService.js +10 -0
- package/lib/commonjs/theme/index.js +7 -0
- package/lib/commonjs/types/ambient.d.js +1 -2
- package/lib/commonjs/types/declarations.d.js +1 -2
- package/lib/commonjs/types/index.js +1 -6
- package/lib/commonjs/types/node-fix.d.js +1 -2
- package/lib/commonjs/types/node-override.d.js +1 -2
- package/lib/commonjs/types/opacity.d.js +1 -2
- package/lib/commonjs/types.js +1 -14
- package/lib/commonjs/utils/Portal.js +8 -98
- package/lib/commonjs/utils/api.js +9 -129
- package/lib/commonjs/utils/assetRegistry.js +33 -0
- package/lib/commonjs/utils/auth.js +9 -111
- package/lib/commonjs/utils/connectorTests.js +29 -0
- package/lib/commonjs/utils/crypto.js +8 -62
- package/lib/commonjs/utils/debugHelper.js +1 -64
- package/lib/commonjs/utils/encryption.js +7 -76
- package/lib/commonjs/utils/eventUtils.js +1 -0
- package/lib/commonjs/utils/haptics.js +9 -0
- package/lib/commonjs/utils/imagePreloader.js +1 -0
- package/lib/commonjs/utils/networkDiagnostics.js +8 -0
- package/lib/commonjs/utils/onairosApi.js +9 -350
- package/lib/commonjs/utils/programmaticFlow.js +9 -117
- package/lib/commonjs/utils/retryHelper.js +1 -220
- package/lib/commonjs/utils/secureStorage.js +10 -349
- package/lib/commonjs/utils/webviewScripts/chatgpt.js +1 -0
- package/lib/commonjs/utils/webviewScripts/claude.js +1 -0
- package/lib/commonjs/utils/webviewScripts/hinge.js +1 -0
- package/lib/commonjs/utils/webviewScripts/index.js +13 -0
- package/lib/commonjs/utils/webviewScripts/instagram.js +1 -0
- package/lib/commonjs/utils/webviewScripts/linkedin.js +1 -0
- package/lib/commonjs/utils/webviewScripts/sephora.js +1 -0
- package/lib/commonjs/utils/webviewScripts/telegram.js +1 -0
- package/lib/module/api/index.js +1 -139
- package/lib/module/assets/animations/loaderani.json +1 -0
- package/lib/module/assets/animations/persona-animation.json +1 -0
- package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
- package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
- package/lib/module/assets/icons/Facebookicon.png +0 -0
- package/lib/module/assets/icons/Gmail.png +0 -0
- package/lib/module/assets/icons/Linkedinicon.png +0 -0
- package/lib/module/assets/icons/Redditicon.png +0 -0
- package/lib/module/assets/icons/YouTubeicon2.png +0 -0
- package/lib/module/assets/icons/YouTubeicon3.png +0 -0
- package/lib/module/assets/icons/chatgpt.png +0 -0
- package/lib/module/assets/icons/claude.png +0 -0
- package/lib/module/assets/icons/farcaster.png +0 -0
- package/lib/module/assets/icons/gemini.png +0 -0
- package/lib/module/assets/icons/grok.png +0 -0
- package/lib/module/assets/icons/instagram.png +0 -0
- package/lib/module/assets/icons/pinterest.png +0 -0
- package/lib/module/assets/icons/swerv_logo.png +0 -0
- package/lib/module/assets/icons/twitter.jpg +0 -0
- package/lib/module/assets/images/Checkbox.svg +3 -0
- package/lib/module/assets/images/EnochE.svg +19 -0
- package/lib/module/assets/images/Enochicon1.png +0 -0
- package/lib/module/assets/images/Face_ID_logo.png +0 -0
- package/lib/module/assets/images/Facebookicon.png +0 -0
- package/lib/module/assets/images/Gmail.png +0 -0
- package/lib/module/assets/images/Googlelogo.png +0 -0
- package/lib/module/assets/images/Linkedinicon.png +0 -0
- package/lib/module/assets/images/OnairosNewLogo.png +0 -0
- package/lib/module/assets/images/Onairoslogo.png +0 -0
- package/lib/module/assets/images/Personalityprofile.svg +3 -0
- package/lib/module/assets/images/Personalitytraits.svg +3 -0
- package/lib/module/assets/images/Redditicon.png +0 -0
- package/lib/module/assets/images/Userpreferences.svg +3 -0
- package/lib/module/assets/images/YouTubeicon3.png +0 -0
- package/lib/module/assets/images/arrow.svg +20 -0
- package/lib/module/assets/images/basicproficon.svg +43 -0
- package/lib/module/assets/images/basicprofile.svg +3 -0
- package/lib/module/assets/images/chatgpt.png +0 -0
- package/lib/module/assets/images/checkmark.svg +4 -0
- package/lib/module/assets/images/claude.png +0 -0
- package/lib/module/assets/images/contentanalysis.svg +3 -0
- package/lib/module/assets/images/contenticon.svg +23 -0
- package/lib/module/assets/images/gemini.png +0 -0
- package/lib/module/assets/images/grok.png +0 -0
- package/lib/module/assets/images/persona1.png +0 -0
- package/lib/module/assets/images/persona2.png +0 -0
- package/lib/module/assets/images/persona3.png +0 -0
- package/lib/module/assets/images/persona4.png +0 -0
- package/lib/module/assets/images/persona5.png +0 -0
- package/lib/module/assets/images/personalityicon.svg +18 -0
- package/lib/module/assets/images/x-close.svg +3 -0
- package/lib/module/components/BodyText.js +1 -0
- package/lib/module/components/BrandMark.js +1 -0
- package/lib/module/components/CodeInput.js +1 -0
- package/lib/module/components/EmailInput.js +1 -0
- package/lib/module/components/GoogleButton.js +1 -0
- package/lib/module/components/HeadingGroup.js +1 -0
- package/lib/module/components/LLMDataInputModal.js +8 -0
- package/lib/module/components/ModalHeader.js +1 -0
- package/lib/module/components/ModalSheet.js +1 -0
- package/lib/module/components/Onairos.js +1 -367
- package/lib/module/components/OnairosButton.js +1 -302
- package/lib/module/components/OnairosSignInButton.js +1 -0
- package/lib/module/components/Overlay.js +1 -474
- package/lib/module/components/PersonaImage.js +1 -0
- package/lib/module/components/PersonaLoadingScreen.js +1 -0
- package/lib/module/components/PersonalizationConsentScreen.js +1 -0
- package/lib/module/components/PinCreationScreen.js +1 -0
- package/lib/module/components/PinInput.js +1 -293
- package/lib/module/components/PlatformConnectorsStep.js +7 -0
- package/lib/module/components/PlatformList.js +1 -129
- package/lib/module/components/PlatformToggle.js +1 -0
- package/lib/module/components/PrimaryButton.js +1 -0
- package/lib/module/components/SignInMatchAnimation.js +1 -0
- package/lib/module/components/SignInStep.js +1 -0
- package/lib/module/components/UniversalOnboarding.js +1 -1693
- package/lib/module/components/VerificationStep.js +1 -0
- package/lib/module/components/WelcomeScreen.js +1 -0
- package/lib/module/components/icons/Basicproficon.js +1 -0
- package/lib/module/components/icons/Basicprofile.js +1 -0
- package/lib/module/components/icons/Checkbox.js +1 -0
- package/lib/module/components/icons/Checkmark.js +1 -0
- package/lib/module/components/icons/Contentanalysis.js +1 -0
- package/lib/module/components/icons/Contenticon.js +1 -0
- package/lib/module/components/icons/EnochE.js +1 -0
- package/lib/module/components/icons/Personalityicon.js +1 -0
- package/lib/module/components/icons/Personalityprofile.js +1 -0
- package/lib/module/components/icons/Personalitytraits.js +1 -0
- package/lib/module/components/icons/Userpreferences.js +1 -0
- package/lib/module/components/icons/index.js +1 -0
- package/lib/module/components/onboarding/OAuthWebView.js +1 -818
- package/lib/module/components/onboarding/OnboardingHeader.js +1 -66
- package/lib/module/components/onboarding/PinInput.js +1 -274
- package/lib/module/components/onboarding/PlatformConnector.js +1 -240
- package/lib/module/config/api.js +1 -0
- package/lib/module/constants/index.js +1 -77
- package/lib/module/context/AuthContext.js +1 -0
- package/lib/module/hooks/useConnectedAccounts.js +1 -0
- package/lib/module/hooks/useConnections.js +1 -152
- package/lib/module/hooks/useCredentials.js +6 -169
- package/lib/module/hooks/useUserConnections.js +1 -0
- package/lib/module/index.js +1 -32
- package/lib/module/services/SDK_API_KEY_VALIDATION.md +421 -421
- package/lib/module/services/apiClient.js +1 -0
- package/lib/module/services/apiKeyService.js +1 -925
- package/lib/module/services/authService.js +1 -0
- package/lib/module/services/biometricPinService.js +1 -0
- package/lib/module/services/chatGPTConversationExtractor.js +1 -0
- package/lib/module/services/chatGPTConversationService.js +1 -0
- package/lib/module/services/claudeConversationExtractor.js +1 -0
- package/lib/module/services/claudeConversationService.js +1 -0
- package/lib/module/services/connectedAccountsService.js +1 -0
- package/lib/module/services/googleAuthService.js +1 -0
- package/lib/module/services/hingeDataExtractor.js +1 -0
- package/lib/module/services/hingeDataService.js +1 -0
- package/lib/module/services/imageCompressionService.js +1 -0
- package/lib/module/services/instagramDataExtractor.js +1 -0
- package/lib/module/services/instagramDataService.js +1 -0
- package/lib/module/services/jwtStorageService.js +1 -0
- package/lib/module/services/linkedinDOMExtractor.js +1 -0
- package/lib/module/services/linkedinProfileService.js +1 -0
- package/lib/module/services/linkedinScrapingService.js +1 -0
- package/lib/module/services/llmDataStorage.js +1 -0
- package/lib/module/services/mobileTrainingService.js +1 -0
- package/lib/module/services/oauthService.js +1 -380
- package/lib/module/services/pinEncryptionService.js +7 -0
- package/lib/module/services/pinStorageUtils.js +1 -0
- package/lib/module/services/platformAuthService.js +1 -1041
- package/lib/module/services/sephoraDataExtractor.js +1 -0
- package/lib/module/services/sephoraDataService.js +1 -0
- package/lib/module/services/storageService.js +1 -0
- package/lib/module/services/telegramDataExtractor.js +1 -0
- package/lib/module/services/telegramDataService.js +8 -0
- package/lib/module/services/trainingApiHelpers.js +1 -0
- package/lib/module/services/userConnectionsService.js +1 -0
- package/lib/module/services/youtubeMigrationService.js +1 -0
- package/lib/module/theme/index.js +1 -0
- package/lib/module/types.js +1 -10
- package/lib/module/utils/Portal.js +1 -90
- package/lib/module/utils/api.js +1 -117
- package/lib/module/utils/assetRegistry.js +33 -0
- package/lib/module/utils/auth.js +1 -99
- package/lib/module/utils/connectorTests.js +28 -0
- package/lib/module/utils/crypto.js +1 -54
- package/lib/module/utils/debugHelper.js +1 -54
- package/lib/module/utils/encryption.js +1 -67
- package/lib/module/utils/eventUtils.js +1 -0
- package/lib/module/utils/haptics.js +8 -0
- package/lib/module/utils/imagePreloader.js +1 -0
- package/lib/module/utils/networkDiagnostics.js +1 -0
- package/lib/module/utils/onairosApi.js +1 -333
- package/lib/module/utils/programmaticFlow.js +1 -111
- package/lib/module/utils/retryHelper.js +1 -211
- package/lib/module/utils/secureStorage.js +6 -330
- package/lib/module/utils/webviewScripts/chatgpt.js +1 -0
- package/lib/module/utils/webviewScripts/claude.js +1 -0
- package/lib/module/utils/webviewScripts/hinge.js +1 -0
- package/lib/module/utils/webviewScripts/index.js +1 -0
- package/lib/module/utils/webviewScripts/instagram.js +1 -0
- package/lib/module/utils/webviewScripts/linkedin.js +1 -0
- package/lib/module/utils/webviewScripts/sephora.js +1 -0
- package/lib/module/utils/webviewScripts/telegram.js +1 -0
- package/package.json +62 -39
- package/lib/commonjs/api/index.js.map +0 -1
- package/lib/commonjs/assets/images/email.png +0 -0
- package/lib/commonjs/assets/images/linkedin.png +0 -0
- package/lib/commonjs/assets/images/reddit.png +0 -0
- package/lib/commonjs/assets/images/youtube.png +0 -0
- package/lib/commonjs/components/DataRequestModal.js +0 -228
- package/lib/commonjs/components/DataRequestModal.js.map +0 -1
- package/lib/commonjs/components/DataRequestScreen.js +0 -329
- package/lib/commonjs/components/DataRequestScreen.js.map +0 -1
- package/lib/commonjs/components/EmailVerificationModal.js +0 -320
- package/lib/commonjs/components/EmailVerificationModal.js.map +0 -1
- package/lib/commonjs/components/Onairos.js.map +0 -1
- package/lib/commonjs/components/OnairosButton.js.map +0 -1
- package/lib/commonjs/components/Overlay.js.map +0 -1
- package/lib/commonjs/components/PinInput.js.map +0 -1
- package/lib/commonjs/components/PlatformList.js.map +0 -1
- package/lib/commonjs/components/TrainingModal.js +0 -717
- package/lib/commonjs/components/TrainingModal.js.map +0 -1
- package/lib/commonjs/components/UniversalOnboarding.js.map +0 -1
- package/lib/commonjs/components/UniversalOnboarding.tsx.new +0 -455
- package/lib/commonjs/components/onboarding/OAuthWebView.js.map +0 -1
- package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +0 -1
- package/lib/commonjs/components/onboarding/PinInput.js.map +0 -1
- package/lib/commonjs/components/onboarding/PlatformConnector.js.map +0 -1
- package/lib/commonjs/components/screens/ConnectorScreen.js +0 -146
- package/lib/commonjs/components/screens/ConnectorScreen.js.map +0 -1
- package/lib/commonjs/components/screens/LoadingScreen.js +0 -91
- package/lib/commonjs/components/screens/LoadingScreen.js.map +0 -1
- package/lib/commonjs/components/screens/PinCreationScreen.js +0 -61
- package/lib/commonjs/components/screens/PinCreationScreen.js.map +0 -1
- package/lib/commonjs/constants/index.js.map +0 -1
- package/lib/commonjs/hooks/useConnections.js.map +0 -1
- package/lib/commonjs/hooks/useCredentials.js.map +0 -1
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/services/apiKeyService.js.map +0 -1
- package/lib/commonjs/services/oauthService.js.map +0 -1
- package/lib/commonjs/services/platformAuthService.js.map +0 -1
- package/lib/commonjs/types/ambient.d.js.map +0 -1
- package/lib/commonjs/types/declarations.d.js.map +0 -1
- package/lib/commonjs/types/index.d.js.map +0 -1
- package/lib/commonjs/types/index.js.map +0 -1
- package/lib/commonjs/types/node-fix.d.js.map +0 -1
- package/lib/commonjs/types/node-override.d.js.map +0 -1
- package/lib/commonjs/types/opacity.d.js.map +0 -1
- package/lib/commonjs/types/types.d.js.map +0 -1
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/utils/Portal.js.map +0 -1
- package/lib/commonjs/utils/api.js.map +0 -1
- package/lib/commonjs/utils/auth.js.map +0 -1
- package/lib/commonjs/utils/crypto.js.map +0 -1
- package/lib/commonjs/utils/debugHelper.js.map +0 -1
- package/lib/commonjs/utils/encryption.js.map +0 -1
- package/lib/commonjs/utils/onairosApi.js.map +0 -1
- package/lib/commonjs/utils/programmaticFlow.js.map +0 -1
- package/lib/commonjs/utils/retryHelper.js.map +0 -1
- package/lib/commonjs/utils/secureStorage.js.map +0 -1
- package/lib/module/api/index.js.map +0 -1
- package/lib/module/assets/images/email.png +0 -0
- package/lib/module/assets/images/linkedin.png +0 -0
- package/lib/module/assets/images/reddit.png +0 -0
- package/lib/module/assets/images/youtube.png +0 -0
- package/lib/module/components/DataRequestModal.js +0 -220
- package/lib/module/components/DataRequestModal.js.map +0 -1
- package/lib/module/components/DataRequestScreen.js +0 -321
- package/lib/module/components/DataRequestScreen.js.map +0 -1
- package/lib/module/components/EmailVerificationModal.js +0 -311
- package/lib/module/components/EmailVerificationModal.js.map +0 -1
- package/lib/module/components/Onairos.js.map +0 -1
- package/lib/module/components/OnairosButton.js.map +0 -1
- package/lib/module/components/Overlay.js.map +0 -1
- package/lib/module/components/PinInput.js.map +0 -1
- package/lib/module/components/PlatformList.js.map +0 -1
- package/lib/module/components/TrainingModal.js +0 -708
- package/lib/module/components/TrainingModal.js.map +0 -1
- package/lib/module/components/UniversalOnboarding.js.map +0 -1
- package/lib/module/components/UniversalOnboarding.tsx.new +0 -455
- package/lib/module/components/onboarding/OAuthWebView.js.map +0 -1
- package/lib/module/components/onboarding/OnboardingHeader.js.map +0 -1
- package/lib/module/components/onboarding/PinInput.js.map +0 -1
- package/lib/module/components/onboarding/PlatformConnector.js.map +0 -1
- package/lib/module/components/screens/ConnectorScreen.js +0 -138
- package/lib/module/components/screens/ConnectorScreen.js.map +0 -1
- package/lib/module/components/screens/LoadingScreen.js +0 -83
- package/lib/module/components/screens/LoadingScreen.js.map +0 -1
- package/lib/module/components/screens/PinCreationScreen.js +0 -53
- package/lib/module/components/screens/PinCreationScreen.js.map +0 -1
- package/lib/module/constants/index.js.map +0 -1
- package/lib/module/hooks/useConnections.js.map +0 -1
- package/lib/module/hooks/useCredentials.js.map +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/services/apiKeyService.js.map +0 -1
- package/lib/module/services/oauthService.js.map +0 -1
- package/lib/module/services/platformAuthService.js.map +0 -1
- package/lib/module/types/ambient.d.js.map +0 -1
- package/lib/module/types/declarations.d.js.map +0 -1
- package/lib/module/types/index.d.js.map +0 -1
- package/lib/module/types/index.js.map +0 -1
- package/lib/module/types/node-fix.d.js.map +0 -1
- package/lib/module/types/node-override.d.js.map +0 -1
- package/lib/module/types/opacity.d.js.map +0 -1
- package/lib/module/types/types.d.js.map +0 -1
- package/lib/module/types.js.map +0 -1
- package/lib/module/utils/Portal.js.map +0 -1
- package/lib/module/utils/api.js.map +0 -1
- package/lib/module/utils/auth.js.map +0 -1
- package/lib/module/utils/crypto.js.map +0 -1
- package/lib/module/utils/debugHelper.js.map +0 -1
- package/lib/module/utils/encryption.js.map +0 -1
- package/lib/module/utils/onairosApi.js.map +0 -1
- package/lib/module/utils/programmaticFlow.js.map +0 -1
- package/lib/module/utils/retryHelper.js.map +0 -1
- package/lib/module/utils/secureStorage.js.map +0 -1
- package/lib/typescript/api/index.d.ts +0 -8
- package/lib/typescript/api/index.d.ts.map +0 -1
- package/lib/typescript/components/DataRequestModal.d.ts +0 -11
- package/lib/typescript/components/DataRequestModal.d.ts.map +0 -1
- package/lib/typescript/components/DataRequestScreen.d.ts +0 -11
- package/lib/typescript/components/DataRequestScreen.d.ts.map +0 -1
- package/lib/typescript/components/EmailVerificationModal.d.ts +0 -11
- package/lib/typescript/components/EmailVerificationModal.d.ts.map +0 -1
- package/lib/typescript/components/Onairos.d.ts +0 -4
- package/lib/typescript/components/Onairos.d.ts.map +0 -1
- package/lib/typescript/components/OnairosButton.d.ts +0 -12
- package/lib/typescript/components/OnairosButton.d.ts.map +0 -1
- package/lib/typescript/components/Overlay.d.ts +0 -4
- package/lib/typescript/components/Overlay.d.ts.map +0 -1
- package/lib/typescript/components/PinInput.d.ts +0 -4
- package/lib/typescript/components/PinInput.d.ts.map +0 -1
- package/lib/typescript/components/PlatformList.d.ts +0 -4
- package/lib/typescript/components/PlatformList.d.ts.map +0 -1
- package/lib/typescript/components/TrainingModal.d.ts +0 -4
- package/lib/typescript/components/TrainingModal.d.ts.map +0 -1
- package/lib/typescript/components/UniversalOnboarding.d.ts +0 -4
- package/lib/typescript/components/UniversalOnboarding.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts +0 -10
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/OnboardingHeader.d.ts +0 -11
- package/lib/typescript/components/onboarding/OnboardingHeader.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/PinInput.d.ts +0 -4
- package/lib/typescript/components/onboarding/PinInput.d.ts.map +0 -1
- package/lib/typescript/components/onboarding/PlatformConnector.d.ts +0 -13
- package/lib/typescript/components/onboarding/PlatformConnector.d.ts.map +0 -1
- package/lib/typescript/components/screens/ConnectorScreen.d.ts +0 -9
- package/lib/typescript/components/screens/ConnectorScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/LoadingScreen.d.ts +0 -9
- package/lib/typescript/components/screens/LoadingScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/PinCreationScreen.d.ts +0 -10
- package/lib/typescript/components/screens/PinCreationScreen.d.ts.map +0 -1
- package/lib/typescript/constants/index.d.ts +0 -53
- package/lib/typescript/constants/index.d.ts.map +0 -1
- package/lib/typescript/hooks/useConnections.d.ts +0 -9
- package/lib/typescript/hooks/useConnections.d.ts.map +0 -1
- package/lib/typescript/hooks/useCredentials.d.ts +0 -9
- package/lib/typescript/hooks/useCredentials.d.ts.map +0 -1
- package/lib/typescript/index.d.ts +0 -18
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/services/apiKeyService.d.ts +0 -132
- package/lib/typescript/services/apiKeyService.d.ts.map +0 -1
- package/lib/typescript/services/oauthService.d.ts +0 -50
- package/lib/typescript/services/oauthService.d.ts.map +0 -1
- package/lib/typescript/services/platformAuthService.d.ts +0 -144
- package/lib/typescript/services/platformAuthService.d.ts.map +0 -1
- package/lib/typescript/types/index.d.ts +0 -231
- package/lib/typescript/types/index.d.ts.map +0 -1
- package/lib/typescript/types.d.ts +0 -270
- package/lib/typescript/types.d.ts.map +0 -1
- package/lib/typescript/utils/Portal.d.ts +0 -14
- package/lib/typescript/utils/Portal.d.ts.map +0 -1
- package/lib/typescript/utils/api.d.ts +0 -6
- package/lib/typescript/utils/api.d.ts.map +0 -1
- package/lib/typescript/utils/auth.d.ts +0 -6
- package/lib/typescript/utils/auth.d.ts.map +0 -1
- package/lib/typescript/utils/crypto.d.ts +0 -4
- package/lib/typescript/utils/crypto.d.ts.map +0 -1
- package/lib/typescript/utils/debugHelper.d.ts +0 -29
- package/lib/typescript/utils/debugHelper.d.ts.map +0 -1
- package/lib/typescript/utils/encryption.d.ts +0 -19
- package/lib/typescript/utils/encryption.d.ts.map +0 -1
- package/lib/typescript/utils/onairosApi.d.ts +0 -87
- package/lib/typescript/utils/onairosApi.d.ts.map +0 -1
- package/lib/typescript/utils/programmaticFlow.d.ts +0 -23
- package/lib/typescript/utils/programmaticFlow.d.ts.map +0 -1
- package/lib/typescript/utils/retryHelper.d.ts +0 -69
- package/lib/typescript/utils/retryHelper.d.ts.map +0 -1
- package/lib/typescript/utils/secureStorage.d.ts +0 -94
- package/lib/typescript/utils/secureStorage.d.ts.map +0 -1
- package/src/api/index.ts +0 -111
- package/src/assets/images/email.png +0 -0
- package/src/assets/images/linkedin.png +0 -0
- package/src/assets/images/onairos_logo.png +0 -0
- package/src/assets/images/reddit.png +0 -0
- package/src/assets/images/youtube.png +0 -0
- package/src/components/DataRequestModal.tsx +0 -227
- package/src/components/DataRequestScreen.tsx +0 -356
- package/src/components/EmailVerificationModal.tsx +0 -364
- package/src/components/Onairos.tsx +0 -425
- package/src/components/OnairosButton.tsx +0 -359
- package/src/components/Overlay.tsx +0 -506
- package/src/components/PinInput.tsx +0 -343
- package/src/components/PlatformList.tsx +0 -145
- package/src/components/TrainingModal.tsx +0 -737
- package/src/components/UniversalOnboarding.tsx +0 -1839
- package/src/components/UniversalOnboarding.tsx.new +0 -455
- package/src/components/onboarding/OAuthWebView.tsx +0 -838
- package/src/components/onboarding/OnboardingHeader.tsx +0 -70
- package/src/components/onboarding/PinInput.tsx +0 -356
- package/src/components/onboarding/PlatformConnector.tsx +0 -302
- package/src/components/screens/ConnectorScreen.tsx +0 -153
- package/src/components/screens/LoadingScreen.tsx +0 -100
- package/src/components/screens/PinCreationScreen.tsx +0 -67
- package/src/constants/index.ts +0 -83
- package/src/hooks/useConnections.ts +0 -163
- package/src/hooks/useCredentials.ts +0 -175
- package/src/index.js +0 -14
- package/src/index.ts +0 -50
- package/src/services/SDK_API_KEY_VALIDATION.md +0 -421
- package/src/services/apiKeyService.ts +0 -984
- package/src/services/oauthService.ts +0 -412
- package/src/services/platformAuthService.ts +0 -1113
- package/src/types/ambient.d.ts +0 -29
- package/src/types/declarations.d.ts +0 -26
- package/src/types/index.d.ts +0 -274
- package/src/types/index.ts +0 -244
- package/src/types/node-fix.d.ts +0 -19
- package/src/types/node-override.d.ts +0 -24
- package/src/types/opacity.d.ts +0 -16
- package/src/types/types.d.ts +0 -18
- package/src/types.ts +0 -298
- package/src/utils/Portal.tsx +0 -83
- package/src/utils/api.js +0 -112
- package/src/utils/auth.js +0 -104
- package/src/utils/crypto.js +0 -60
- package/src/utils/debugHelper.ts +0 -53
- package/src/utils/encryption.ts +0 -69
- package/src/utils/onairosApi.ts +0 -391
- package/src/utils/programmaticFlow.ts +0 -113
- package/src/utils/retryHelper.ts +0 -275
- package/src/utils/secureStorage.ts +0 -361
- package/types/index.d.ts +0 -218
- package/types/node-env.d.ts +0 -15
- /package/{src/assets/images → lib/commonjs/assets/icons}/farcaster.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/instagram.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/pinterest.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/swerv_logo.png +0 -0
- /package/{src/assets/images → lib/commonjs/assets/icons}/twitter.jpg +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x34b3(){const _0x25e987=['⚠️\x20[LINKEDIN\x20SCRAPE]\x20No\x20user\x20auth\x20available,\x20using\x20basic\x20headers:','🔍\x20[LINKEDIN\x20SCRAPE]\x20Passed\x20User\x20ID:','🔍\x20[LINKEDIN\x20SCRAPE]\x20Profile\x20URL:','🔍\x20[LINKEDIN\x20SCRAPE]\x20JWT\x20userId:','🔍\x20[LINKEDIN\x20SCRAPE]\x20Effective\x20userId\x20(will\x20use):','🔑\x20[LINKEDIN\x20SCRAPE]\x20Using\x20authenticated\x20user\x20headers','✅\x20[LINKEDIN\x20SCRAPE]\x20Profile\x20scraped\x20successfully','Profile\x20scraped\x20successfully','❌\x20[LINKEDIN\x20SCRAPE]\x20Error:','log','HOhor','eUXqS','ozSgC','HUdkY','yFVyV','eICdv','error','Invalid\x20LinkedIn\x20profile\x20URL.\x20Please\x20use\x20format:\x20https://linkedin.com/in/username','qltfi','dBgou','usyOS','Hdguf','/enoch/linkedin-scrape/scrape-profile','stringify','text','❌\x20[LINKEDIN\x20SCRAPE]\x20Failed:','Scraping\x20failed:\x20','status','UnoHG','parse','json','YPkGu','📊\x20[LINKEDIN\x20SCRAPE]\x20Data\x20preview:','profileData','bKitB','fullName','aFjTG','headline','experience','length','fxQRV','education','eNlRA','skills','NhvZK','dmGhX','RZWll','message','Unknown\x20error\x20occurred\x20during\x20scraping','❌\x20[LINKEDIN]\x20Error\x20getting\x20connection\x20status:','jZskc','EHuJq','JaKAO','match','FZQSO','NZXBy','joodS','XeYIV','xFixJ','test','CqfoN','❌\x20[LINKEDIN\x20SCRAPE]\x20Invalid\x20LinkedIn\x20URL','http://','https://','pVvtX','hbAvm','startsWith','XeXWm','PPBPa','includes','ThcCi','pYTHF','bMBqg','fFJHH','linkedin.com/in/','https://linkedin.com','https://linkedin.com/in/','JmZLf','❌\x20[LINKEDIN]\x20Error\x20checking\x20scrape\x20availability:','FctEY','XtLKI','BASE_URL','/user/','/connections','luGZh','vTfPf','qOTIi','pyMPr','lKybN','connections','LinkedIn','rpJen','❌\x20[LINKEDIN]\x20Error\x20extracting\x20username:','/enoch/linkedin-scrape/scrape-profile/','Azbqo','LPSbw','omReu'];_0x34b3=function(){return _0x25e987;};return _0x34b3();}import{getUserAuthHeaders,getApiHeaders}from'../config/api';function _0xbab8(_0x34b3df,_0xbab848){_0x34b3df=_0x34b3df-0x0;const _0x4cef05=_0x34b3();let _0x365e65=_0x4cef05[_0x34b3df];return _0x365e65;}import{API_CONFIG}from'../config/api';import{getUserIdFromToken}from'./jwtStorageService';export const scrapeLinkedInProfile=async(_0x5f5690,_0x7ec589)=>{const _0xc6831f={'dBgou':_0xbab8(0x0),'HOhor':'🔍\x20[LINKEDIN\x20SCRAPE]\x20Starting\x20profile\x20scrape...','eUXqS':_0xbab8(0x1),'ozSgC':_0xbab8(0x2),'HUdkY':function(_0x349e3f){return _0x349e3f();},'pAoYo':function(_0x5b1798,_0x26716e){return _0x5b1798||_0x26716e;},'APKwc':_0xbab8(0x3),'yFVyV':_0xbab8(0x4),'eICdv':function(_0x745d06,_0x29151c){return _0x745d06(_0x29151c);},'qltfi':_0xbab8(0x5),'usyOS':function(_0x29403c){return _0x29403c();},'Hdguf':function(_0x3d0160,_0xc34243,_0x50d81c){return _0x3d0160(_0xc34243,_0x50d81c);},'UnoHG':'dhyIc','YPkGu':_0xbab8(0x6),'bKitB':function(_0x8a500c,_0x3cd751){return _0x8a500c===_0x3cd751;},'aFjTG':function(_0x2ea509,_0x3ab36d){return _0x2ea509===_0x3ab36d;},'UexbT':function(_0x2ec683,_0x5518ea){return _0x2ec683===_0x5518ea;},'fxQRV':function(_0x361523,_0x2c292d){return _0x361523===_0x2c292d;},'eNlRA':function(_0x51e20c,_0x1ba564){return _0x51e20c===_0x1ba564;},'NhvZK':_0xbab8(0x7),'AvUkq':function(_0x47f986,_0x47c4c8){return _0x47f986!==_0x47c4c8;},'dmGhX':'AEyjD','RZWll':_0xbab8(0x8)};try{var _0x341869,_0x56be8a,_0x25bfbf,_0x1fc655,_0x15b399;console[_0xbab8(0x9)](_0xc6831f[_0xbab8(0xa)]),console[_0xbab8(0x9)](_0xc6831f[_0xbab8(0xb)],_0x5f5690),console[_0xbab8(0x9)](_0xc6831f[_0xbab8(0xc)],_0x7ec589);const _0x4d5d2c=await _0xc6831f[_0xbab8(0xd)](getUserIdFromToken),_0x409934=_0xc6831f['pAoYo'](_0x4d5d2c,_0x5f5690);console['log'](_0xc6831f['APKwc'],_0x4d5d2c),console[_0xbab8(0x9)](_0xc6831f[_0xbab8(0xe)],_0x409934);if(!_0xc6831f[_0xbab8(0xf)](isValidLinkedInUrl,_0x7ec589))return console[_0xbab8(0x10)]('❌\x20[LINKEDIN\x20SCRAPE]\x20Invalid\x20LinkedIn\x20URL'),{'success':![],'error':_0xbab8(0x11)};let _0x3585cf;try{_0x3585cf=await getUserAuthHeaders(),console[_0xbab8(0x9)](_0xc6831f[_0xbab8(0x12)]);}catch(_0x27037f){console['warn'](_0xc6831f[_0xbab8(0x13)],_0x27037f),_0x3585cf=_0xc6831f[_0xbab8(0x14)](getApiHeaders);}const _0x7147c8=await _0xc6831f[_0xbab8(0x15)](fetch,API_CONFIG['BASE_URL']+_0xbab8(0x16),{'method':'POST','headers':_0x3585cf,'body':JSON[_0xbab8(0x17)]({'userId':_0x409934,'profileUrl':_0x7ec589})});if(!_0x7147c8['ok']){const _0x36f163=await _0x7147c8[_0xbab8(0x18)]();console[_0xbab8(0x10)](_0xbab8(0x19),_0x7147c8['status'],_0x36f163);let _0x7ffd93=_0xbab8(0x1a)+_0x7147c8[_0xbab8(0x1b)];try{if(_0xc6831f[_0xbab8(0x1c)]===_0xc6831f[_0xbab8(0x1c)]){const _0x3eafec=JSON[_0xbab8(0x1d)](_0x36f163);_0x7ffd93=_0x3eafec[_0xbab8(0x10)]||_0x3eafec['message']||_0x7ffd93;}else return _0x303cd7;}catch{}return{'success':![],'error':_0x7ffd93};}const _0x4b5355=await _0x7147c8[_0xbab8(0x1e)]();return console[_0xbab8(0x9)](_0xc6831f[_0xbab8(0x1f)]),console['log'](_0xbab8(0x20),{'name':(_0x341869=_0x4b5355[_0xbab8(0x21)])===null||_0xc6831f[_0xbab8(0x22)](_0x341869,void 0x0)?void 0x0:_0x341869[_0xbab8(0x23)],'headline':_0xc6831f[_0xbab8(0x24)](_0x56be8a=_0x4b5355['profileData'],null)||_0xc6831f['bKitB'](_0x56be8a,void 0x0)?void 0x0:_0x56be8a[_0xbab8(0x25)],'experienceCount':(_0xc6831f[_0xbab8(0x22)](_0x25bfbf=_0x4b5355[_0xbab8(0x21)],null)||_0xc6831f[_0xbab8(0x24)](_0x25bfbf,void 0x0)||_0xc6831f[_0xbab8(0x22)](_0x25bfbf=_0x25bfbf[_0xbab8(0x26)],null)||_0xc6831f['UexbT'](_0x25bfbf,void 0x0)?void 0x0:_0x25bfbf[_0xbab8(0x27)])||0x0,'educationCount':(_0xc6831f['UexbT'](_0x1fc655=_0x4b5355[_0xbab8(0x21)],null)||_0xc6831f[_0xbab8(0x24)](_0x1fc655,void 0x0)||_0xc6831f[_0xbab8(0x28)](_0x1fc655=_0x1fc655[_0xbab8(0x29)],null)||_0x1fc655===void 0x0?void 0x0:_0x1fc655[_0xbab8(0x27)])||0x0,'skillsCount':(_0xc6831f[_0xbab8(0x24)](_0x15b399=_0x4b5355['profileData'],null)||_0xc6831f[_0xbab8(0x22)](_0x15b399,void 0x0)||_0xc6831f[_0xbab8(0x2a)](_0x15b399=_0x15b399[_0xbab8(0x2b)],null)||_0xc6831f[_0xbab8(0x22)](_0x15b399,void 0x0)?void 0x0:_0x15b399[_0xbab8(0x27)])||0x0}),{'success':!![],'data':_0x4b5355[_0xbab8(0x21)],'message':_0xc6831f[_0xbab8(0x2c)]};}catch(_0x219953){if(_0xc6831f['AvUkq']('AEyjD',_0xc6831f[_0xbab8(0x2d)]))_0x11f395['warn'](_0xc6831f[_0xbab8(0x13)],_0x4cc29e),_0x10c112=_0x1ae481();else return console[_0xbab8(0x10)](_0xc6831f[_0xbab8(0x2e)],_0x219953),{'success':![],'error':_0x219953 instanceof Error?_0x219953[_0xbab8(0x2f)]:_0xbab8(0x30)};}};export const extractLinkedInUsername=_0x237472=>{const _0x40b57f={'bGjoT':_0xbab8(0x31),'EHuJq':function(_0x262e6a,_0xa071ff){return _0x262e6a===_0xa071ff;},'OaWot':'MtPRv','JaKAO':_0xbab8(0x32)};try{if(_0x40b57f[_0xbab8(0x33)](_0x40b57f['OaWot'],_0x40b57f[_0xbab8(0x34)]))return _0x5bf1c4[_0xbab8(0x10)](_0x40b57f['bGjoT'],_0x2bf1c0),{'connected':![]};else{const _0x1d04ff=_0x237472[_0xbab8(0x35)](/linkedin\.com\/in\/([^\/\?#]+)/);return _0x1d04ff?_0x1d04ff[0x1]:null;}}catch(_0x190037){return console[_0xbab8(0x10)]('❌\x20[LINKEDIN]\x20Error\x20extracting\x20username:',_0x190037),null;}};export const isValidLinkedInUrl=_0x1200bc=>{const _0x13c355={'NZXBy':function(_0x35254b,_0x52607b){return _0x35254b!==_0x52607b;},'joodS':'string','XeYIV':function(_0x5abd03,_0x47dfd0){return _0x5abd03===_0x47dfd0;},'xFixJ':_0xbab8(0x36),'Huxcu':'RQDzW','CqfoN':function(_0x558a36,_0x1062b4){return _0x558a36(_0x1062b4);},'VaPpF':function(_0x4f46c4,_0x2ace96){return _0x4f46c4>_0x2ace96;}};if(!_0x1200bc||_0x13c355[_0xbab8(0x37)](typeof _0x1200bc,_0x13c355[_0xbab8(0x38)]))return _0x13c355[_0xbab8(0x39)](_0x13c355[_0xbab8(0x3a)],_0x13c355['Huxcu'])?'https://linkedin.com/in/'+_0x10cd2f:![];const _0x490fc9=/linkedin\.com\/in\/[^\/\?#]+/[_0xbab8(0x3b)](_0x1200bc);if(!_0x490fc9)return![];const _0x298a6e=_0x13c355[_0xbab8(0x3c)](extractLinkedInUsername,_0x1200bc);return _0x13c355[_0xbab8(0x37)](_0x298a6e,null)&&_0x13c355['VaPpF'](_0x298a6e['length'],0x0);};export const formatLinkedInUrl=_0x231df0=>{const _0x314691={'bMBqg':_0xbab8(0x3d),'fFJHH':_0xbab8(0x11),'XeXWm':_0xbab8(0x3e),'PPBPa':_0xbab8(0x3f),'ZolrB':function(_0x517f37,_0x47cfd5){return _0x517f37!==_0x47cfd5;},'ThcCi':_0xbab8(0x40),'pYTHF':_0xbab8(0x41)};if(_0x231df0[_0xbab8(0x42)](_0x314691[_0xbab8(0x43)])||_0x231df0[_0xbab8(0x42)](_0x314691[_0xbab8(0x44)]))return _0x231df0;if(!_0x231df0[_0xbab8(0x45)]('/'))return _0x314691['ZolrB'](_0x314691[_0xbab8(0x46)],_0x314691[_0xbab8(0x47)])?'https://linkedin.com/in/'+_0x231df0:(_0x384e85[_0xbab8(0x10)](_0x314691[_0xbab8(0x48)]),{'success':![],'error':_0x314691[_0xbab8(0x49)]});if(_0x231df0['startsWith'](_0xbab8(0x4a)))return _0xbab8(0x3f)+_0x231df0;if(_0x231df0[_0xbab8(0x42)]('/in/'))return _0xbab8(0x4b)+_0x231df0;return _0xbab8(0x4c)+_0x231df0;};export const canScrapeProfile=async _0x9df25f=>{const _0x5060bd={'IUqKa':_0xbab8(0x8),'qOTIi':function(_0x598966,_0x1f6619){return _0x598966 instanceof _0x1f6619;},'pyMPr':_0xbab8(0x30),'FctEY':function(_0x2a5834){return _0x2a5834();},'XtLKI':function(_0x5e706a,_0x51e628,_0x19782f){return _0x5e706a(_0x51e628,_0x19782f);},'luGZh':_0xbab8(0x4d),'vTfPf':'EnTqR','kGBcr':function(_0x2f7839,_0x4c8198){return _0x2f7839!==_0x4c8198;},'lKybN':function(_0x224999,_0x1abc51){return _0x224999===_0x1abc51;},'rpJen':_0xbab8(0x4e)};try{let _0x162653;try{_0x162653=await getUserAuthHeaders();}catch{_0x162653=_0x5060bd[_0xbab8(0x4f)](getApiHeaders);}const _0x183324=await _0x5060bd[_0xbab8(0x50)](fetch,API_CONFIG[_0xbab8(0x51)]+_0xbab8(0x52)+_0x9df25f+_0xbab8(0x53),{'headers':_0x162653});if(_0x183324['ok']){if(_0x5060bd[_0xbab8(0x54)]===_0x5060bd[_0xbab8(0x55)])return _0x3903e6[_0xbab8(0x10)](_0x5060bd['IUqKa'],_0x74f720),{'success':![],'error':_0x5060bd[_0xbab8(0x56)](_0x5c8579,_0x3460d0)?_0x28e612[_0xbab8(0x2f)]:_0x5060bd[_0xbab8(0x57)]};else{var _0x227cc5;const _0x5c662a=await _0x183324[_0xbab8(0x1e)]();return _0x5060bd['kGBcr'](_0x5060bd[_0xbab8(0x58)](_0x227cc5=_0x5c662a[_0xbab8(0x59)],null)||_0x227cc5===void 0x0?void 0x0:_0x227cc5[_0xbab8(0x5a)],undefined);}}return![];}catch(_0x558f1b){return console[_0xbab8(0x10)](_0x5060bd[_0xbab8(0x5b)],_0x558f1b),![];}};export const getLinkedInConnectionStatus=async _0x310f67=>{const _0x5bd428={'omReu':_0xbab8(0x5c),'Azbqo':function(_0x2a1191,_0x3d7447){return _0x2a1191===_0x3d7447;},'LPSbw':'dFxuv','bXmvi':_0xbab8(0x31)};try{let _0x287f1b;try{_0x287f1b=await getUserAuthHeaders();}catch{_0x287f1b=getApiHeaders();}const _0xab2e9e=await fetch(API_CONFIG[_0xbab8(0x51)]+_0xbab8(0x5d)+_0x310f67,{'headers':_0x287f1b});if(_0xab2e9e['ok']){if(_0x5bd428[_0xbab8(0x5e)]('dFxuv',_0x5bd428[_0xbab8(0x5f)])){const _0x5e79c8=await _0xab2e9e[_0xbab8(0x1e)]();return _0x5e79c8;}else return _0x5e33d1[_0xbab8(0x10)](_0x5bd428[_0xbab8(0x60)],_0x35d88e),null;}return{'connected':![]};}catch(_0x31d23e){return console['error'](_0x5bd428['bXmvi'],_0x31d23e),{'connected':![]};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x2977(){const _0x34c513=['💾\x20Storing\x20LLM\x20data\x20locally\x20(temporary)...','connected','✅\x20LLM\x20data\x20stored\x20locally\x20successfully','userId','stringify','appName','timestamp','length','KievF','log','MaPMy','📊\x20Data\x20size:\x20','dataSize','❌\x20Failed\x20to\x20store\x20LLM\x20data:','❌\x20Failed\x20to\x20retrieve\x20LLM\x20metadata:','ℹ️\x20No\x20LLM\x20data\x20found\x20for\x20user:','✅\x20Retrieved\x20LLM\x20data\x20for\x20user:','WzNtm','getItem','IiVcn','parse','NXXqA','tWEyN','error','fPvdr','❌\x20Failed\x20to\x20retrieve\x20LLM\x20data:','❌\x20Failed\x20to\x20clear\x20LLM\x20data:','rAmQU','qNCht','aDtqO','GfLSt','sOvDT','bHiLP','mGhbP','iTBHV','uBQvr','uLTth','Unknown\x20error','kKnLK','FvnTt','cLdwE','❌\x20Failed\x20to\x20update\x20LLM\x20status:','dGkUl','vRYBs','AuTml','oEVHb','warn','⚠️\x20No\x20LLM\x20metadata\x20found\x20for\x20user:','❌\x20Failed\x20to\x20request\x20LLM\x20data\x20from\x20backend:','message','rZZsS','setItem','ihCDj','EKioN','removeItem','chatgpt','🔍\x20Platform\x20connection\x20check:','entries','filter','includes','llm','oFekw','EZfjT','VFAFh','1.0','oeUfK','data','conversations','chatHistory','customData','toISOString','ASPdi','ptISd','SJNvi','IizLX','giswF','❌\x20Backend\x20data\x20ingestion\x20failed:','❌\x20Failed\x20to\x20send\x20data\x20to\x20backend:','AvJwv','EkbNv','DqRxw','📡\x20Sending\x20LLM\x20data\x20to\x20backend\x20for\x20processing...','BASE_URL','/llmdata','Bearer\x20','email','AebPW','accessToken','tokenExpiry','GpsMO','aEXNz','json','✅\x20Backend\x20received\x20and\x20stored\x20LLM\x20data:','cyzrH','KSggd','XXvXJ','text','pstRU','Backend\x20error:\x20','VYwgB','gYpeW','poMsJ','cDeoU','❌\x20Failed\x20to\x20request\x20LLM\x20data:','VRiyA','📤\x20Requesting\x20backend\x20to\x20send\x20LLM\x20data\x20to\x20developer...','apiUrl','status','TWVSR','RwjAw','gFWdJ','VKkIO','preferences','getAllKeys','❌\x20Failed\x20to\x20get\x20LLM\x20data\x20keys:'];_0x2977=function(){return _0x34c513;};return _0x2977();}import AsyncStorage from'@react-native-async-storage/async-storage';import{API_CONFIG}from'../config/api';function _0x31fb(_0x297791,_0x31fb87){_0x297791=_0x297791-0x0;const _0x276ea4=_0x2977();let _0x298f74=_0x276ea4[_0x297791];return _0x298f74;}const LLM_DATA_STORAGE_KEY='@onairos:llm_data',LLM_METADATA_STORAGE_KEY='@onairos:llm_metadata';export const storeLLMData=async _0x47e8c8=>{const _0x41c2b8={'JncBB':_0x31fb(0x0),'KievF':_0x31fb(0x1),'MaPMy':_0x31fb(0x2)};try{console['log'](_0x41c2b8['JncBB']),await AsyncStorage['setItem'](LLM_DATA_STORAGE_KEY+':'+_0x47e8c8[_0x31fb(0x3)],JSON[_0x31fb(0x4)](_0x47e8c8));const _0x2e55f4={'userId':_0x47e8c8[_0x31fb(0x3)],'email':_0x47e8c8['email'],'appName':_0x47e8c8[_0x31fb(0x5)],'timestamp':_0x47e8c8[_0x31fb(0x6)],'hasData':!![],'dataSize':JSON[_0x31fb(0x4)](_0x47e8c8['data'])[_0x31fb(0x7)],'connectionStatus':_0x41c2b8[_0x31fb(0x8)]};return await AsyncStorage['setItem'](LLM_METADATA_STORAGE_KEY+':'+_0x47e8c8[_0x31fb(0x3)],JSON['stringify'](_0x2e55f4)),console[_0x31fb(0x9)](_0x41c2b8[_0x31fb(0xa)]),console[_0x31fb(0x9)](_0x31fb(0xb)+_0x2e55f4[_0x31fb(0xc)]+'\x20bytes'),!![];}catch(_0x56784c){return console['error'](_0x31fb(0xd),_0x56784c),![];}};export const getLLMData=async _0x11fe08=>{const _0x1c864e={'fPvdr':_0x31fb(0xe),'IiVcn':_0x31fb(0xf),'IGJuu':_0x31fb(0x10),'NXXqA':function(_0x5e9c47,_0x3f6ebb){return _0x5e9c47!==_0x3f6ebb;},'tWEyN':_0x31fb(0x11)};try{const _0x10417b=await AsyncStorage[_0x31fb(0x12)](LLM_DATA_STORAGE_KEY+':'+_0x11fe08);if(!_0x10417b)return console[_0x31fb(0x9)](_0x1c864e[_0x31fb(0x13)],_0x11fe08),null;const _0x3eee00=JSON[_0x31fb(0x14)](_0x10417b);return console['log'](_0x1c864e['IGJuu'],_0x11fe08),_0x3eee00;}catch(_0x429c34){return _0x1c864e[_0x31fb(0x15)](_0x1c864e[_0x31fb(0x16)],_0x1c864e[_0x31fb(0x16)])?(_0x531a7e[_0x31fb(0x17)](_0x1c864e[_0x31fb(0x18)],_0x2c248c),null):(console[_0x31fb(0x17)](_0x31fb(0x19),_0x429c34),null);}};export const getLLMMetadata=async _0xd21aa8=>{const _0x59f663={'mGhbP':_0x31fb(0x1a),'uBQvr':_0x31fb(0x19),'GfLSt':function(_0x4297ed,_0x24f8c2){return _0x4297ed===_0x24f8c2;},'sOvDT':_0x31fb(0x1b),'bHiLP':_0x31fb(0x1c),'iTBHV':function(_0x6a49cd,_0x2c792a){return _0x6a49cd===_0x2c792a;},'tSkwA':_0x31fb(0x1d),'uLTth':_0x31fb(0xe)};try{if(_0x59f663[_0x31fb(0x1e)](_0x59f663[_0x31fb(0x1f)],_0x59f663[_0x31fb(0x20)]))return _0xf55cb9['error'](_0x59f663[_0x31fb(0x21)],_0x104e3f),![];else{const _0x26d723=await AsyncStorage['getItem'](LLM_METADATA_STORAGE_KEY+':'+_0xd21aa8);if(!_0x26d723)return null;return JSON[_0x31fb(0x14)](_0x26d723);}}catch(_0x232fa3){return _0x59f663[_0x31fb(0x22)]('xHdad',_0x59f663['tSkwA'])?(_0x3fa7d0[_0x31fb(0x17)](_0x59f663[_0x31fb(0x23)],_0xe30b74),null):(console['error'](_0x59f663[_0x31fb(0x24)],_0x232fa3),null);}};export const updateLLMStatus=async(_0x5c6338,_0x5acffd)=>{const _0x14012b={'rZZsS':_0x31fb(0x25),'snvIP':_0x31fb(0xf),'dGkUl':function(_0x1ed7b0,_0x1d71f5){return _0x1ed7b0(_0x1d71f5);},'vRYBs':function(_0xb68d02,_0x3347a7){return _0xb68d02!==_0x3347a7;},'AuTml':_0x31fb(0x26),'oEVHb':_0x31fb(0x27),'ihCDj':_0x31fb(0x28),'EKioN':_0x31fb(0x29)};try{const _0x5b1108=await _0x14012b[_0x31fb(0x2a)](getLLMMetadata,_0x5c6338);if(!_0x5b1108)return _0x14012b[_0x31fb(0x2b)](_0x14012b[_0x31fb(0x2c)],_0x14012b[_0x31fb(0x2d)])?(console[_0x31fb(0x2e)](_0x31fb(0x2f),_0x5c6338),![]):(_0x3d929b[_0x31fb(0x17)](_0x31fb(0x30),_0x397325),{'success':![],'message':_0x1af5eb instanceof _0x1c1237?_0x993f8e[_0x31fb(0x31)]:_0x14012b[_0x31fb(0x32)]});return _0x5b1108['connectionStatus']=_0x5acffd,await AsyncStorage[_0x31fb(0x33)](LLM_METADATA_STORAGE_KEY+':'+_0x5c6338,JSON[_0x31fb(0x4)](_0x5b1108)),console[_0x31fb(0x9)]('✅\x20Updated\x20LLM\x20status\x20to:\x20'+_0x5acffd),!![];}catch(_0x4e6a31){return'cLdwE'===_0x14012b[_0x31fb(0x34)]?(console['error'](_0x14012b[_0x31fb(0x35)],_0x4e6a31),![]):(_0x28b153[_0x31fb(0x9)](_0x14012b['snvIP'],_0x4ad519),null);}};export const clearLLMData=async _0x10d149=>{const _0xfc3305={'nBgLe':_0x31fb(0x1a)};try{return await AsyncStorage[_0x31fb(0x36)](LLM_DATA_STORAGE_KEY+':'+_0x10d149),await AsyncStorage['removeItem'](LLM_METADATA_STORAGE_KEY+':'+_0x10d149),console[_0x31fb(0x9)]('✅\x20LLM\x20data\x20cleared\x20for\x20user:',_0x10d149),!![];}catch(_0x396deb){return console[_0x31fb(0x17)](_0xfc3305['nBgLe'],_0x396deb),![];}};export const hasOnlyLLMConnection=_0x325ae6=>{const _0x54587e={'oFekw':_0x31fb(0x37),'EZfjT':function(_0xfd2447,_0x310fa3){return _0xfd2447===_0x310fa3;},'VFAFh':_0x31fb(0x38)},_0x1145fb=Object[_0x31fb(0x39)](_0x325ae6)[_0x31fb(0x3a)](([_0xeee6ee,_0x47e406])=>_0x47e406)['map'](([_0x12aea6,_0x3506b6])=>_0x12aea6),_0x5bdb1c=_0x1145fb[_0x31fb(0x3b)](_0x31fb(0x3c))||_0x1145fb['includes'](_0x54587e[_0x31fb(0x3d)]),_0x34c7e4=_0x54587e[_0x31fb(0x3e)](_0x1145fb['length'],0x1)&&_0x5bdb1c;return console[_0x31fb(0x9)](_0x54587e[_0x31fb(0x3f)],{'connectedPlatforms':_0x1145fb,'hasLLM':_0x5bdb1c,'onlyLLM':_0x34c7e4}),_0x34c7e4;};export const formatLLMDataForDeveloper=_0x21fb45=>{const _0xb5319d={'oeUfK':_0x31fb(0x3c),'ASPdi':_0x31fb(0x40)};return{'platform':_0xb5319d[_0x31fb(0x41)],'userId':_0x21fb45[_0x31fb(0x3)],'email':_0x21fb45['email'],'timestamp':_0x21fb45['timestamp'],'data':{'type':'chatgpt','conversations':_0x21fb45[_0x31fb(0x42)][_0x31fb(0x43)]||[],'chatHistory':_0x21fb45[_0x31fb(0x42)][_0x31fb(0x44)]||[],'preferences':_0x21fb45[_0x31fb(0x42)]['preferences']||{},'customData':_0x21fb45[_0x31fb(0x42)][_0x31fb(0x45)]||{}},'metadata':{'appName':_0x21fb45['appName'],'collectedAt':new Date(_0x21fb45[_0x31fb(0x6)])[_0x31fb(0x46)](),'dataVersion':_0xb5319d[_0x31fb(0x47)]}};};export const sendLLMDataToBackend=async(_0x32e882,_0xb1b916)=>{const _0x42df7e={'FcFaf':'chatgpt','DqRxw':'🔍\x20Platform\x20connection\x20check:','cyzrH':_0x31fb(0xd),'AvJwv':function(_0x997ef9,_0x3ad12b){return _0x997ef9!==_0x3ad12b;},'EkbNv':_0x31fb(0x48),'xFVAH':function(_0x117361,_0x6c5ae8,_0x440302){return _0x117361(_0x6c5ae8,_0x440302);},'AebPW':_0x31fb(0x3c),'GpsMO':function(_0x31847e,_0x1f7cc4){return _0x31847e===_0x1f7cc4;},'aEXNz':_0x31fb(0x49),'KSggd':_0x31fb(0x4a),'XXvXJ':_0x31fb(0x4b),'pstRU':_0x31fb(0x4c),'VYwgB':_0x31fb(0x4d),'gYpeW':function(_0x262b3a,_0x407833){return _0x262b3a instanceof _0x407833;},'poMsJ':'Unknown\x20error'};try{if(_0x42df7e[_0x31fb(0x4e)](_0x42df7e['EkbNv'],_0x42df7e[_0x31fb(0x4f)])){const _0x319c23=_0x4876df[_0x31fb(0x39)](_0x3bc525)[_0x31fb(0x3a)](([_0x582ca7,_0x5e78fc])=>_0x5e78fc)['map'](([_0x53c645,_0x41863a])=>_0x53c645),_0x2436c5=_0x319c23[_0x31fb(0x3b)](_0x31fb(0x3c))||_0x319c23[_0x31fb(0x3b)](_0x42df7e['FcFaf']),_0x468e10=_0x319c23[_0x31fb(0x7)]===0x1&&_0x2436c5;return _0x420df4[_0x31fb(0x9)](_0x42df7e[_0x31fb(0x50)],{'connectedPlatforms':_0x319c23,'hasLLM':_0x2436c5,'onlyLLM':_0x468e10}),_0x468e10;}else{console[_0x31fb(0x9)](_0x31fb(0x51));const _0x2e822e=await _0x42df7e['xFVAH'](fetch,API_CONFIG[_0x31fb(0x52)]+_0x31fb(0x53),{'method':'POST','headers':{'Content-Type':'application/json',..._0xb1b916&&{'Authorization':_0x31fb(0x54)+_0xb1b916}},'body':JSON[_0x31fb(0x4)]({'userId':_0x32e882[_0x31fb(0x3)],'email':_0x32e882[_0x31fb(0x55)],'appName':_0x32e882['appName'],'platform':_0x42df7e[_0x31fb(0x56)],'connectionType':_0x42df7e['FcFaf'],'timestamp':new Date()[_0x31fb(0x46)](),'data':_0x32e882['data'],'accessToken':_0x32e882[_0x31fb(0x57)],'refreshToken':_0x32e882['refreshToken'],'tokenExpiry':_0x32e882[_0x31fb(0x58)],'metadata':{'collectedAt':new Date(_0x32e882[_0x31fb(0x6)])[_0x31fb(0x46)](),'dataVersion':_0x31fb(0x40)}})});if(_0x2e822e['ok']){if(_0x42df7e[_0x31fb(0x59)](_0x42df7e['aEXNz'],_0x42df7e[_0x31fb(0x5a)])){const _0xab93ce=await _0x2e822e[_0x31fb(0x5b)]();return console[_0x31fb(0x9)](_0x31fb(0x5c),_0xab93ce),{'success':!![],'message':_0xab93ce[_0x31fb(0x31)],'connectionId':_0xab93ce['connectionId']};}else return _0x86304f[_0x31fb(0x17)](_0x42df7e[_0x31fb(0x5d)],_0x43a75a),![];}else{if(_0x42df7e[_0x31fb(0x5e)]===_0x42df7e[_0x31fb(0x5f)])return _0x277cea[_0x31fb(0x17)]('❌\x20Failed\x20to\x20get\x20LLM\x20data\x20keys:',_0x3b513d),[];else{const _0x5dc9a9=await _0x2e822e[_0x31fb(0x60)]();return console[_0x31fb(0x17)](_0x42df7e[_0x31fb(0x61)],_0x2e822e['status'],_0x5dc9a9),{'success':![],'message':_0x31fb(0x62)+_0x2e822e['status']};}}}}catch(_0x24ef1b){return console[_0x31fb(0x17)](_0x42df7e[_0x31fb(0x63)],_0x24ef1b),{'success':![],'message':_0x42df7e[_0x31fb(0x64)](_0x24ef1b,Error)?_0x24ef1b[_0x31fb(0x31)]:_0x42df7e[_0x31fb(0x65)]};}};export const requestLLMDataForDeveloper=async(_0x531782,_0x4c35fb,_0xfc6daa,_0x14877f,_0x5f5c86)=>{const _0x2b3b42={'oxSpt':function(_0x13037e,_0x61fc29){return _0x13037e!==_0x61fc29;},'VRiyA':_0x31fb(0x66),'RpKov':'✅\x20Backend\x20processing\x20LLM\x20data\x20request:','KmSPB':_0x31fb(0x67),'TWVSR':_0x31fb(0x30),'bbLwA':function(_0x2ced7b,_0x3cae5c){return _0x2ced7b instanceof _0x3cae5c;},'RwjAw':_0x31fb(0x25)};try{if(_0x2b3b42['oxSpt'](_0x2b3b42[_0x31fb(0x68)],_0x31fb(0x66)))return null;else{console[_0x31fb(0x9)](_0x31fb(0x69));const _0x99a9df=await fetch(API_CONFIG[_0x31fb(0x52)]+'/llmdata/request',{'method':'POST','headers':{'Content-Type':'application/json','Authorization':_0x31fb(0x54)+_0x5f5c86},'body':JSON[_0x31fb(0x4)]({'userId':_0x531782,'email':_0x4c35fb,'appName':_0xfc6daa,'requestedData':_0x14877f,'timestamp':new Date()[_0x31fb(0x46)]()})});if(_0x99a9df['ok']){const _0x1b2656=await _0x99a9df[_0x31fb(0x5b)]();return console[_0x31fb(0x9)](_0x2b3b42['RpKov'],_0x1b2656),{'success':!![],'message':_0x1b2656[_0x31fb(0x31)],'apiUrl':_0x1b2656[_0x31fb(0x6a)],'token':_0x1b2656['token']};}else{const _0x1c1676=await _0x99a9df[_0x31fb(0x60)]();return console[_0x31fb(0x17)](_0x2b3b42['KmSPB'],_0x99a9df['status'],_0x1c1676),{'success':![],'message':_0x31fb(0x62)+_0x99a9df[_0x31fb(0x6b)]};}}}catch(_0x3263cb){return console[_0x31fb(0x17)](_0x2b3b42[_0x31fb(0x6c)],_0x3263cb),{'success':![],'message':_0x2b3b42['bbLwA'](_0x3263cb,Error)?_0x3263cb[_0x31fb(0x31)]:_0x2b3b42[_0x31fb(0x6d)]};}};export const getAllLLMDataKeys=async()=>{const _0x202ef5={'xOjKm':_0x31fb(0x3c),'rpcUS':_0x31fb(0x37),'piVjB':function(_0x3e72ac,_0x3e72c5){return _0x3e72ac===_0x3e72c5;},'gFWdJ':'fAzkY','VKkIO':'nJZla'};try{if(_0x202ef5['piVjB'](_0x202ef5[_0x31fb(0x6e)],_0x202ef5[_0x31fb(0x6f)]))return{'platform':_0x202ef5['xOjKm'],'userId':_0xf6fa6f[_0x31fb(0x3)],'email':_0x25d5ac[_0x31fb(0x55)],'timestamp':_0x18f9e1['timestamp'],'data':{'type':_0x202ef5['rpcUS'],'conversations':_0x23cbd0[_0x31fb(0x42)][_0x31fb(0x43)]||[],'chatHistory':_0x310c98[_0x31fb(0x42)][_0x31fb(0x44)]||[],'preferences':_0x8d2b12['data'][_0x31fb(0x70)]||{},'customData':_0x47d3ec[_0x31fb(0x42)]['customData']||{}},'metadata':{'appName':_0x1a4f10[_0x31fb(0x5)],'collectedAt':new _0x5b8849(_0x1a10ad['timestamp'])[_0x31fb(0x46)](),'dataVersion':_0x31fb(0x40)}};else{const _0x2e7b43=await AsyncStorage[_0x31fb(0x71)](),_0x2c6638=_0x2e7b43['filter'](_0x76053=>_0x76053['startsWith'](LLM_DATA_STORAGE_KEY)||_0x76053['startsWith'](LLM_METADATA_STORAGE_KEY));return _0x2c6638;}}catch(_0x2aa376){return console[_0x31fb(0x17)](_0x31fb(0x72),_0x2aa376),[];}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getAuthToken}from'./authService';import{API_CONFIG}from'../config/api';const API_BASE_URL=''+API_CONFIG[_0x4418(0x0)];export const getTrainingStatus=async _0x50bb2e=>{const _0x14a471={'YNsCK':_0x4418(0x1),'UpHPa':'⚠️\x20Could\x20not\x20get\x20training\x20features:','GUeiO':function(_0x1fc5ed,_0xe174db){return _0x1fc5ed===_0xe174db;},'fuCKH':_0x4418(0x2),'ktwkk':_0x4418(0x3),'tqKUB':function(_0x2fc7f8){return _0x2fc7f8();},'aefkC':function(_0x1b2de8,_0x1778ba,_0x11de96){return _0x1b2de8(_0x1778ba,_0x11de96);},'QIUMj':'MqryH','KgbbZ':_0x4418(0x4)};try{if(_0x14a471[_0x4418(0x5)](_0x14a471[_0x4418(0x6)],_0x14a471['ktwkk']))throw new _0x30adaf(_0x14a471[_0x4418(0x7)]);else{const _0x1de6ec=await _0x14a471[_0x4418(0x8)](getAuthToken);if(!_0x1de6ec)throw new Error(_0x14a471['YNsCK']);const _0x391437=await _0x14a471['aefkC'](fetch,API_BASE_URL+_0x4418(0x9)+_0x50bb2e,{'method':'GET','headers':{'Authorization':_0x1de6ec,'Content-Type':'application/json'}});if(!_0x391437['ok']){if(_0x4418(0xa)===_0x14a471[_0x4418(0xb)]){const _0x109957=await _0x391437[_0x4418(0xc)]();throw new Error(_0x109957[_0x4418(0xd)]||_0x4418(0xe)+_0x391437[_0x4418(0xf)]);}else return _0x38fb9a[_0x4418(0x10)](_0x14a471[_0x4418(0x11)],_0xb70f66),null;}return await _0x391437[_0x4418(0xc)]();}}catch(_0x5e68b5){console[_0x4418(0xd)](_0x14a471['KgbbZ'],_0x5e68b5);throw _0x5e68b5;}};export const getModelInfo=async()=>{const _0xb5a464={'nMBMZ':_0x4418(0x1),'HqFQo':function(_0x566109,_0xfd3445,_0x48be33){return _0x566109(_0xfd3445,_0x48be33);},'lBKlY':function(_0x5ece44,_0x27f797){return _0x5ece44===_0x27f797;},'RbliJ':_0x4418(0x12),'RyYJn':_0x4418(0x13)};try{const _0x1337d2=await getAuthToken();if(!_0x1337d2)throw new Error(_0xb5a464[_0x4418(0x14)]);const _0x5de16d=await _0xb5a464['HqFQo'](fetch,API_BASE_URL+_0x4418(0x15),{'method':'GET','headers':{'Authorization':_0x1337d2,'Content-Type':'application/json'}});if(!_0x5de16d['ok']){if(_0xb5a464[_0x4418(0x16)](_0xb5a464[_0x4418(0x17)],_0xb5a464[_0x4418(0x18)]))throw new _0x710c64(_0xb5a464['nMBMZ']);else{const _0x86b191=await _0x5de16d['json']();throw new Error(_0x86b191['error']||_0x4418(0xe)+_0x5de16d[_0x4418(0xf)]);}}return await _0x5de16d[_0x4418(0xc)]();}catch(_0x3727dd){console[_0x4418(0xd)](_0x4418(0x19),_0x3727dd);throw _0x3727dd;}};function _0x3967(){const _0x49e139=['BASE_URL','No\x20authentication\x20token\x20available','EnWaU','hdbCn','❌\x20Failed\x20to\x20get\x20training\x20status:','GUeiO','fuCKH','YNsCK','tqKUB','/mobile-training/status/','MqryH','QIUMj','json','error','HTTP\x20','status','warn','UpHPa','zgLgx','HJJsK','nMBMZ','/mobile-training/model-info','lBKlY','RbliJ','RyYJn','❌\x20Failed\x20to\x20get\x20model\x20info:','ERHro','NETEA','tGMUX','fkyqf','LZmld','/mobile-training/health','Training\x20API\x20failed:\x20','wvJXO','sVicX','lbxBs','fmEDl','3|0|4|1|2|6|5','🚀\x20[TRAINING]\x20Starting\x20training\x20-\x20backend\x20handles\x20all\x20YouTube\x20cases\x20automatically','\x20\x20\x20-\x20Temporary\x20mode\x20connections:\x20Work\x20automatically\x20✅','\x20\x20\x20-\x20Full\x20refresh\x20tokens:\x20Auto-refresh\x20when\x20expired\x20✅','🚀\x20Starting\x20Enoch\x20training\x20for\x20user:','ℹ️\x20[TRAINING]\x20No\x20migration\x20checks\x20needed:','\x20\x20\x20-\x20Backend\x20validation:\x20Handles\x20all\x20edge\x20cases\x20✅','❌\x20Training\x20error:','BdoyN','JklgA','YLpSj','split','log','SFdWJ','SnCzh','username','JBVoS','zhKHQ','aMnsC','AkELG','mjvgC','❌\x20Training\x20start\x20error:','gJfnc','📤\x20Sending\x20training\x20data\x20to\x20/mobile-training/enoch:','mSyKe','❌\x20Training\x20API\x20failed\x20with\x20status:','ZcRcY','codEx','ZLHRJ','wfVns','pnfCu','TyxSC','lGhgp','/mobile-training/enoch','stringify','LqVdJ','lZHZQ','LEknj','text','QHWSZ','HBSwT','bihOd','YCGjJ','\x20-\x20','UhUkb','⚠️\x20Could\x20not\x20check\x20training\x20status:','success','isTraining','❌\x20Failed\x20to\x20get\x20health\x20check:','ghAXo','⚠️\x20Could\x20not\x20get\x20training\x20features:','gjGax','ekCmp','zIylM','features','ZjYdC','KPqqU'];_0x3967=function(){return _0x49e139;};return _0x3967();}function _0x4418(_0x396799,_0x44184f){_0x396799=_0x396799-0x0;const _0x193b95=_0x3967();let _0x194569=_0x193b95[_0x396799];return _0x194569;}export const getHealthCheck=async()=>{const _0x51b5cf={'pTdkA':_0x4418(0x4),'NETEA':function(_0x43cb36,_0x5b195e){return _0x43cb36!==_0x5b195e;},'LZmld':function(_0x4f0ed9,_0x10e07a,_0x21ea8c){return _0x4f0ed9(_0x10e07a,_0x21ea8c);},'wvJXO':function(_0x35cabb,_0x2d5969){return _0x35cabb===_0x2d5969;},'sVicX':_0x4418(0x1a),'lbxBs':'❌\x20Failed\x20to\x20get\x20health\x20check:'};try{if(_0x51b5cf[_0x4418(0x1b)](_0x4418(0x1c),_0x4418(0x1d))){const _0x1124a8=await _0x51b5cf[_0x4418(0x1e)](fetch,API_BASE_URL+_0x4418(0x1f),{'method':'GET','headers':{'Content-Type':'application/json'}});if(!_0x1124a8['ok']){const _0x3d8117=await _0x1124a8[_0x4418(0xc)]();throw new Error(_0x3d8117[_0x4418(0xd)]||'HTTP\x20'+_0x1124a8[_0x4418(0xf)]);}return await _0x1124a8[_0x4418(0xc)]();}else throw new _0x15286b(_0x4418(0x20)+_0x131a08[_0x4418(0xf)]+'\x20-\x20'+_0x2cfd2b);}catch(_0xe80b19){if(_0x51b5cf[_0x4418(0x21)](_0x51b5cf[_0x4418(0x22)],_0x51b5cf[_0x4418(0x22)])){console['error'](_0x51b5cf[_0x4418(0x23)],_0xe80b19);throw _0xe80b19;}else{_0x2ea9c0['error'](_0x51b5cf['pTdkA'],_0x13fb8f);throw _0x143993;}}};export const startEnochTrainingWithYouTubeCheck=async _0x4b2040=>{const _0x1f5cc2={'AkELG':'⚠️\x20Could\x20not\x20check\x20training\x20status:','BdoyN':function(_0x568b3c,_0xfe7287){return _0x568b3c===_0xfe7287;},'JklgA':_0x4418(0x24),'YLpSj':_0x4418(0x25),'SFdWJ':_0x4418(0x26),'Zqegn':_0x4418(0x27),'kfMye':_0x4418(0x28),'SnCzh':_0x4418(0x29),'JBVoS':_0x4418(0x2a),'zhKHQ':function(_0x52fcf9,_0x298acd){return _0x52fcf9(_0x298acd);},'aMnsC':_0x4418(0x2b),'mjvgC':_0x4418(0x2c)};try{if(_0x1f5cc2[_0x4418(0x2d)](_0x1f5cc2[_0x4418(0x2e)],'fmEDl')){const _0x4583db=_0x1f5cc2[_0x4418(0x2f)][_0x4418(0x30)]('|');let _0x1a7a3b=0x0;while(!![]){switch(_0x4583db[_0x1a7a3b++]){case'0':console[_0x4418(0x31)](_0x1f5cc2[_0x4418(0x32)]);continue;case'1':console[_0x4418(0x31)](_0x1f5cc2['Zqegn']);continue;case'2':console[_0x4418(0x31)](_0x1f5cc2['kfMye']);continue;case'3':console[_0x4418(0x31)](_0x1f5cc2[_0x4418(0x33)],_0x4b2040[_0x4418(0x34)],'(backend\x20auto-handles\x20YouTube)');continue;case'4':console[_0x4418(0x31)](_0x1f5cc2[_0x4418(0x35)]);continue;case'5':return await _0x1f5cc2[_0x4418(0x36)](startEnochTraining,_0x4b2040);case'6':console[_0x4418(0x31)](_0x1f5cc2[_0x4418(0x37)]);continue;}break;}}else return _0x4f3250[_0x4418(0x10)](_0x1f5cc2[_0x4418(0x38)],_0x5119e0),![];}catch(_0xcfbc9){console[_0x4418(0xd)](_0x1f5cc2[_0x4418(0x39)],_0xcfbc9);throw _0xcfbc9;}};export const startEnochTraining=async _0x31568e=>{const _0xa01c13={'TyxSC':_0x4418(0x3a),'ZLHRJ':function(_0x20f16,_0x37d91e){return _0x20f16!==_0x37d91e;},'pnfCu':_0x4418(0x3b),'sPOrn':_0x4418(0x1),'DojLu':_0x4418(0x3c),'lGhgp':function(_0x3e9e7d,_0x36807e,_0x3fbabe){return _0x3e9e7d(_0x36807e,_0x3fbabe);},'LqVdJ':'📡\x20Training\x20API\x20response\x20status:','lZHZQ':'UsXWM','LEknj':_0x4418(0x3d),'QHWSZ':_0x4418(0x3e),'HBSwT':'Error:','bihOd':function(_0x1a3be7,_0xe685dd){return _0x1a3be7===_0xe685dd;},'YCGjJ':_0x4418(0x3f),'ZecCL':_0x4418(0x40),'UhUkb':'📡\x20Training\x20API\x20response:'};try{const _0x4774fe=await getAuthToken();if(!_0x4774fe){if(_0xa01c13[_0x4418(0x41)](_0x4418(0x42),_0xa01c13[_0x4418(0x43)]))throw new Error(_0xa01c13['sPOrn']);else{_0x11563a['error'](_0xa01c13[_0x4418(0x44)],_0x166c3e);throw _0x15d2db;}}console['log'](_0xa01c13['DojLu'],_0x31568e);const _0x41ec37=await _0xa01c13[_0x4418(0x45)](fetch,API_BASE_URL+_0x4418(0x46),{'method':'POST','headers':{'Content-Type':'application/json','Authorization':_0x4774fe},'body':JSON[_0x4418(0x47)](_0x31568e)});console[_0x4418(0x31)](_0xa01c13[_0x4418(0x48)],_0x41ec37[_0x4418(0xf)]);if(!_0x41ec37['ok']){if(_0xa01c13[_0x4418(0x41)](_0xa01c13[_0x4418(0x49)],_0xa01c13[_0x4418(0x4a)])){const _0xe6b887=await _0x41ec37[_0x4418(0x4b)]();console[_0x4418(0xd)](_0xa01c13[_0x4418(0x4c)],_0x41ec37['status'],_0xa01c13[_0x4418(0x4d)],_0xe6b887);try{const _0x48f06d=JSON['parse'](_0xe6b887);throw new Error(_0x48f06d['error']||_0x4418(0xe)+_0x41ec37[_0x4418(0xf)]);}catch(_0x339de1){if(_0xa01c13[_0x4418(0x4e)](_0xa01c13[_0x4418(0x4f)],_0xa01c13['ZecCL']))throw new _0x581c8d(_0x4418(0x1));else throw new Error(_0x4418(0x20)+_0x41ec37['status']+_0x4418(0x50)+_0xe6b887);}}else{_0x39fcf6['error'](_0x4418(0x19),_0x41fd93);throw _0x3c928a;}}const _0x51830b=await _0x41ec37[_0x4418(0xc)]();return console[_0x4418(0x31)](_0xa01c13[_0x4418(0x51)],_0x51830b),_0x51830b;}catch(_0x196020){console['error'](_0xa01c13[_0x4418(0x44)],_0x196020);throw _0x196020;}};export const isTrainingInProgress=async _0x1e2b40=>{const _0xd7d9b6={'NhNCC':function(_0x4c2c15,_0x300149){return _0x4c2c15(_0x300149);},'TdRQn':_0x4418(0x52)};try{const _0x5bb232=await _0xd7d9b6['NhNCC'](getTrainingStatus,_0x1e2b40);return _0x5bb232[_0x4418(0x53)]&&_0x5bb232[_0x4418(0x54)];}catch(_0x2bde7f){return console['warn'](_0xd7d9b6['TdRQn'],_0x2bde7f),![];}};export const getTrainingFeatures=async()=>{const _0x2f1af8={'ZjYdC':_0x4418(0x55),'gjGax':function(_0x3c1cac,_0x3c9073){return _0x3c1cac!==_0x3c9073;},'ekCmp':'hHODV','zIylM':_0x4418(0x56),'Pvogs':function(_0x2b0e21){return _0x2b0e21();},'KPqqU':_0x4418(0x57)};try{if(_0x2f1af8[_0x4418(0x58)](_0x2f1af8[_0x4418(0x59)],_0x2f1af8[_0x4418(0x5a)])){const _0x3ca342=await _0x2f1af8['Pvogs'](getHealthCheck);return _0x3ca342[_0x4418(0x5b)];}else{_0x1ef8aa[_0x4418(0xd)](_0x2f1af8[_0x4418(0x5c)],_0x42ca63);throw _0x3b6c85;}}catch(_0x15592d){return console[_0x4418(0x10)](_0x2f1af8[_0x4418(0x5d)],_0x15592d),null;}};
|
|
@@ -1,380 +1 @@
|
|
|
1
|
-
import { Linking } from 'react-native';
|
|
2
|
-
import { updateCredentials } from '../utils/secureStorage';
|
|
3
|
-
import { sha256 } from '../utils/crypto';
|
|
4
|
-
import { onairosApi } from '../api';
|
|
5
|
-
|
|
6
|
-
// Define OAuth configuration types
|
|
7
|
-
|
|
8
|
-
// Platform-specific OAuth configurations
|
|
9
|
-
const OAUTH_CONFIGS = {
|
|
10
|
-
instagram: {
|
|
11
|
-
clientId: 'YOUR_INSTAGRAM_CLIENT_ID',
|
|
12
|
-
// Replace with actual client ID
|
|
13
|
-
redirectUri: 'onairosanime://auth/instagram',
|
|
14
|
-
scope: 'user_profile,user_media',
|
|
15
|
-
authorizationEndpoint: 'https://api.instagram.com/oauth/authorize',
|
|
16
|
-
tokenEndpoint: 'https://api.instagram.com/oauth/access_token',
|
|
17
|
-
responseType: 'code'
|
|
18
|
-
},
|
|
19
|
-
youtube: {
|
|
20
|
-
clientId: 'YOUR_YOUTUBE_CLIENT_ID',
|
|
21
|
-
// Replace with actual client ID
|
|
22
|
-
redirectUri: 'onairosanime://auth/youtube',
|
|
23
|
-
scope: 'https://www.googleapis.com/auth/youtube.readonly',
|
|
24
|
-
authorizationEndpoint: 'https://accounts.google.com/o/oauth2/auth',
|
|
25
|
-
tokenEndpoint: 'https://oauth2.googleapis.com/token',
|
|
26
|
-
responseType: 'code'
|
|
27
|
-
},
|
|
28
|
-
pinterest: {
|
|
29
|
-
clientId: 'YOUR_PINTEREST_CLIENT_ID',
|
|
30
|
-
// Replace with actual client ID
|
|
31
|
-
redirectUri: 'onairosanime://auth/pinterest',
|
|
32
|
-
scope: 'boards:read,pins:read',
|
|
33
|
-
authorizationEndpoint: 'https://www.pinterest.com/oauth/',
|
|
34
|
-
tokenEndpoint: 'https://api.pinterest.com/v5/oauth/token',
|
|
35
|
-
responseType: 'code'
|
|
36
|
-
},
|
|
37
|
-
reddit: {
|
|
38
|
-
clientId: 'YOUR_REDDIT_CLIENT_ID',
|
|
39
|
-
// Replace with actual client ID
|
|
40
|
-
redirectUri: 'onairosanime://auth/reddit',
|
|
41
|
-
scope: 'identity,read',
|
|
42
|
-
authorizationEndpoint: 'https://www.reddit.com/api/v1/authorize',
|
|
43
|
-
tokenEndpoint: 'https://www.reddit.com/api/v1/access_token',
|
|
44
|
-
responseType: 'code'
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Generate a state value for OAuth to prevent CSRF attacks
|
|
50
|
-
*/
|
|
51
|
-
const generateState = () => {
|
|
52
|
-
const randomValue = Math.random().toString(36).substring(2, 15);
|
|
53
|
-
return sha256(randomValue).substring(0, 10);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Initialize OAuth service handlers and listeners
|
|
58
|
-
*/
|
|
59
|
-
export const initializeOAuthService = () => {
|
|
60
|
-
// Set up deep linking handlers for OAuth redirects
|
|
61
|
-
Linking.addEventListener('url', handleDeepLink);
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Clean up OAuth service handlers and listeners
|
|
66
|
-
*/
|
|
67
|
-
export const cleanupOAuthService = () => {
|
|
68
|
-
// Use the modern React Native Linking API
|
|
69
|
-
if (typeof Linking.removeAllListeners === 'function') {
|
|
70
|
-
Linking.removeAllListeners('url');
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
// Keep track of current OAuth state and callbacks
|
|
75
|
-
let currentOAuthState = null;
|
|
76
|
-
let currentOAuthPlatform = null;
|
|
77
|
-
let currentOAuthResolve = null;
|
|
78
|
-
let currentOAuthReject = null;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Handle deep link callbacks from OAuth providers
|
|
82
|
-
*/
|
|
83
|
-
const handleDeepLink = async event => {
|
|
84
|
-
try {
|
|
85
|
-
const {
|
|
86
|
-
url
|
|
87
|
-
} = event;
|
|
88
|
-
|
|
89
|
-
// Check if this is an OAuth callback URL
|
|
90
|
-
if (!url.startsWith('onairosanime://auth/')) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// Extract platform from URL path
|
|
95
|
-
const platform = url.split('onairosanime://auth/')[1].split('?')[0];
|
|
96
|
-
|
|
97
|
-
// Only handle if it matches current OAuth flow
|
|
98
|
-
if (platform !== currentOAuthPlatform) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Parse URL parameters
|
|
103
|
-
const params = new URL(url).searchParams;
|
|
104
|
-
const code = params.get('code');
|
|
105
|
-
const state = params.get('state');
|
|
106
|
-
const error = params.get('error');
|
|
107
|
-
|
|
108
|
-
// Validate state to prevent CSRF attacks
|
|
109
|
-
if (state !== currentOAuthState) {
|
|
110
|
-
if (currentOAuthReject) {
|
|
111
|
-
currentOAuthReject(new Error('OAuth state mismatch - possible CSRF attack'));
|
|
112
|
-
}
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// Handle errors
|
|
117
|
-
if (error) {
|
|
118
|
-
if (currentOAuthReject) {
|
|
119
|
-
currentOAuthReject(new Error(`OAuth error: ${error}`));
|
|
120
|
-
}
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Proceed with token exchange if code is present
|
|
125
|
-
if (code) {
|
|
126
|
-
const tokenResult = await exchangeCodeForToken(platform, code);
|
|
127
|
-
if (currentOAuthResolve) {
|
|
128
|
-
currentOAuthResolve(tokenResult);
|
|
129
|
-
}
|
|
130
|
-
} else {
|
|
131
|
-
if (currentOAuthReject) {
|
|
132
|
-
currentOAuthReject(new Error('No authorization code received'));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
} catch (error) {
|
|
136
|
-
console.error('Error handling OAuth deep link:', error);
|
|
137
|
-
if (currentOAuthReject) {
|
|
138
|
-
currentOAuthReject(error);
|
|
139
|
-
}
|
|
140
|
-
} finally {
|
|
141
|
-
// Reset state
|
|
142
|
-
currentOAuthState = null;
|
|
143
|
-
currentOAuthPlatform = null;
|
|
144
|
-
currentOAuthResolve = null;
|
|
145
|
-
currentOAuthReject = null;
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Exchange OAuth authorization code for access token
|
|
151
|
-
*/
|
|
152
|
-
const exchangeCodeForToken = async (platform, code) => {
|
|
153
|
-
try {
|
|
154
|
-
const config = OAUTH_CONFIGS[platform];
|
|
155
|
-
if (!config) {
|
|
156
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// Prepare token request parameters
|
|
160
|
-
const params = new URLSearchParams({
|
|
161
|
-
grant_type: 'authorization_code',
|
|
162
|
-
code,
|
|
163
|
-
redirect_uri: config.redirectUri,
|
|
164
|
-
client_id: config.clientId
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
// Exchange code for token
|
|
168
|
-
const response = await fetch(config.tokenEndpoint, {
|
|
169
|
-
method: 'POST',
|
|
170
|
-
headers: {
|
|
171
|
-
'Content-Type': 'application/x-www-form-urlencoded'
|
|
172
|
-
},
|
|
173
|
-
body: params.toString()
|
|
174
|
-
});
|
|
175
|
-
const data = await response.json();
|
|
176
|
-
if (!response.ok) {
|
|
177
|
-
throw new Error(data.error || 'Failed to exchange code for token');
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
// Fetch user information based on the platform
|
|
181
|
-
const userInfo = await fetchUserInfo(platform, data.access_token);
|
|
182
|
-
return {
|
|
183
|
-
token: data.access_token,
|
|
184
|
-
refreshToken: data.refresh_token,
|
|
185
|
-
expiresIn: data.expires_in,
|
|
186
|
-
username: userInfo.username,
|
|
187
|
-
userId: userInfo.id
|
|
188
|
-
};
|
|
189
|
-
} catch (error) {
|
|
190
|
-
console.error(`Error exchanging code for token (${platform}):`, error);
|
|
191
|
-
throw error;
|
|
192
|
-
}
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Fetch user information from the connected platform
|
|
197
|
-
*/
|
|
198
|
-
const fetchUserInfo = async (platform, accessToken) => {
|
|
199
|
-
try {
|
|
200
|
-
let endpoint;
|
|
201
|
-
let headers = {
|
|
202
|
-
Authorization: `Bearer ${accessToken}`
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
// Platform-specific API endpoints for user info
|
|
206
|
-
switch (platform) {
|
|
207
|
-
case 'instagram':
|
|
208
|
-
endpoint = 'https://graph.instagram.com/me?fields=id,username';
|
|
209
|
-
break;
|
|
210
|
-
case 'youtube':
|
|
211
|
-
endpoint = 'https://www.googleapis.com/youtube/v3/channels?part=snippet&mine=true';
|
|
212
|
-
break;
|
|
213
|
-
case 'pinterest':
|
|
214
|
-
endpoint = 'https://api.pinterest.com/v5/user_account';
|
|
215
|
-
break;
|
|
216
|
-
case 'reddit':
|
|
217
|
-
endpoint = 'https://oauth.reddit.com/api/v1/me';
|
|
218
|
-
break;
|
|
219
|
-
default:
|
|
220
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
221
|
-
}
|
|
222
|
-
const response = await fetch(endpoint, {
|
|
223
|
-
headers
|
|
224
|
-
});
|
|
225
|
-
const data = await response.json();
|
|
226
|
-
if (!response.ok) {
|
|
227
|
-
throw new Error(data.error || 'Failed to fetch user info');
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
// Extract user information based on platform-specific response format
|
|
231
|
-
switch (platform) {
|
|
232
|
-
case 'instagram':
|
|
233
|
-
return {
|
|
234
|
-
id: data.id,
|
|
235
|
-
username: data.username
|
|
236
|
-
};
|
|
237
|
-
case 'youtube':
|
|
238
|
-
return {
|
|
239
|
-
id: data.items[0].id,
|
|
240
|
-
username: data.items[0].snippet.title
|
|
241
|
-
};
|
|
242
|
-
case 'pinterest':
|
|
243
|
-
return {
|
|
244
|
-
id: data.id,
|
|
245
|
-
username: data.username || data.full_name
|
|
246
|
-
};
|
|
247
|
-
case 'reddit':
|
|
248
|
-
return {
|
|
249
|
-
id: data.id,
|
|
250
|
-
username: data.name
|
|
251
|
-
};
|
|
252
|
-
default:
|
|
253
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
254
|
-
}
|
|
255
|
-
} catch (error) {
|
|
256
|
-
console.error(`Error fetching user info (${platform}):`, error);
|
|
257
|
-
throw error;
|
|
258
|
-
}
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Connect to a platform using OAuth
|
|
263
|
-
*/
|
|
264
|
-
export const connectPlatform = platform => {
|
|
265
|
-
return new Promise((resolve, reject) => {
|
|
266
|
-
try {
|
|
267
|
-
const config = OAUTH_CONFIGS[platform];
|
|
268
|
-
if (!config) {
|
|
269
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
// Generate state for CSRF protection
|
|
273
|
-
const state = generateState();
|
|
274
|
-
|
|
275
|
-
// Build authorization URL
|
|
276
|
-
const authUrl = new URL(config.authorizationEndpoint);
|
|
277
|
-
authUrl.searchParams.append('client_id', config.clientId);
|
|
278
|
-
authUrl.searchParams.append('redirect_uri', config.redirectUri);
|
|
279
|
-
authUrl.searchParams.append('response_type', config.responseType);
|
|
280
|
-
authUrl.searchParams.append('scope', config.scope);
|
|
281
|
-
authUrl.searchParams.append('state', state);
|
|
282
|
-
|
|
283
|
-
// Set up current OAuth state for callback handling
|
|
284
|
-
currentOAuthState = state;
|
|
285
|
-
currentOAuthPlatform = platform;
|
|
286
|
-
currentOAuthResolve = resolve;
|
|
287
|
-
currentOAuthReject = reject;
|
|
288
|
-
|
|
289
|
-
// Open browser or WebView to the authorization URL
|
|
290
|
-
Linking.openURL(authUrl.toString());
|
|
291
|
-
} catch (error) {
|
|
292
|
-
reject(error);
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Disconnect from a platform
|
|
299
|
-
*/
|
|
300
|
-
export const disconnectPlatform = async (platform, credentials) => {
|
|
301
|
-
try {
|
|
302
|
-
// Call Onairos API to disconnect platform
|
|
303
|
-
await onairosApi.post('/users/disconnect-platform', {
|
|
304
|
-
platform,
|
|
305
|
-
username: credentials.username
|
|
306
|
-
});
|
|
307
|
-
|
|
308
|
-
// Update local credentials to remove platform
|
|
309
|
-
const updatedPlatforms = {
|
|
310
|
-
...credentials.platforms
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
// Type-safe platform removal using keyof operator
|
|
314
|
-
if (updatedPlatforms && platform in updatedPlatforms) {
|
|
315
|
-
delete updatedPlatforms[platform];
|
|
316
|
-
}
|
|
317
|
-
await updateCredentials({
|
|
318
|
-
...credentials,
|
|
319
|
-
platforms: updatedPlatforms
|
|
320
|
-
});
|
|
321
|
-
return true;
|
|
322
|
-
} catch (error) {
|
|
323
|
-
console.error(`Error disconnecting platform (${platform}):`, error);
|
|
324
|
-
return false;
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
/**
|
|
329
|
-
* Store platform connection data in user credentials
|
|
330
|
-
*/
|
|
331
|
-
export const storePlatformConnection = async (platform, connectionData, credentials) => {
|
|
332
|
-
try {
|
|
333
|
-
// Only accept valid platform types
|
|
334
|
-
const validPlatform = platform === 'instagram' || platform === 'youtube' || platform === 'pinterest' || platform === 'reddit';
|
|
335
|
-
if (!validPlatform) {
|
|
336
|
-
throw new Error(`Unsupported platform: ${platform}`);
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
// Update platforms in credentials with type safety
|
|
340
|
-
const updatedPlatforms = {
|
|
341
|
-
...credentials.platforms
|
|
342
|
-
};
|
|
343
|
-
|
|
344
|
-
// Type-safe assignment
|
|
345
|
-
const platformData = {
|
|
346
|
-
username: connectionData.username,
|
|
347
|
-
userId: connectionData.userId,
|
|
348
|
-
token: connectionData.token,
|
|
349
|
-
refreshToken: connectionData.refreshToken,
|
|
350
|
-
expiresAt: connectionData.expiresIn ? Date.now() + connectionData.expiresIn * 1000 : null,
|
|
351
|
-
connectedAt: Date.now()
|
|
352
|
-
};
|
|
353
|
-
|
|
354
|
-
// Assign platform data based on platform type
|
|
355
|
-
if (platform === 'instagram') updatedPlatforms.instagram = platformData;else if (platform === 'youtube') updatedPlatforms.youtube = platformData;else if (platform === 'pinterest') updatedPlatforms.pinterest = platformData;else if (platform === 'reddit') updatedPlatforms.reddit = platformData;
|
|
356
|
-
|
|
357
|
-
// Update stored credentials
|
|
358
|
-
await updateCredentials({
|
|
359
|
-
...credentials,
|
|
360
|
-
platforms: updatedPlatforms
|
|
361
|
-
});
|
|
362
|
-
return true;
|
|
363
|
-
} catch (error) {
|
|
364
|
-
console.error(`Error storing platform connection (${platform}):`, error);
|
|
365
|
-
return false;
|
|
366
|
-
}
|
|
367
|
-
};
|
|
368
|
-
/**
|
|
369
|
-
* Service for handling OAuth connections to various platforms
|
|
370
|
-
*/
|
|
371
|
-
export const OAuthService = {
|
|
372
|
-
initializeOAuthService,
|
|
373
|
-
cleanupOAuthService,
|
|
374
|
-
connectPlatform,
|
|
375
|
-
disconnectPlatform,
|
|
376
|
-
storePlatformConnection,
|
|
377
|
-
// Base API URL
|
|
378
|
-
_apiBaseUrl: 'https://api2.onairos.uk'
|
|
379
|
-
};
|
|
380
|
-
//# sourceMappingURL=oauthService.js.map
|
|
1
|
+
import{Linking}from'react-native';function _0x2a1a(_0x5a4bca,_0x2a1a09){_0x5a4bca=_0x5a4bca-0x0;const _0x43e685=_0x5a4b();let _0xa6e8c7=_0x43e685[_0x5a4bca];return _0xa6e8c7;}function _0x5a4b(){const _0x2db63f=['YOUR_INSTAGRAM_CLIENT_ID','https://api.instagram.com/oauth/access_token','code','onairosanime://auth/youtube','https://accounts.google.com/o/oauth2/auth','https://oauth2.googleapis.com/token','YOUR_PINTEREST_CLIENT_ID','boards:read,pins:read','https://api.pinterest.com/v5/oauth/token','YOUR_REDDIT_CLIENT_ID','onairosanime://auth/reddit','identity,read','https://www.reddit.com/api/v1/authorize','https://www.reddit.com/api/v1/access_token','random','substring','alciY','url','addEventListener','bDCjv','function','wPcDh','WYXxo','JcuAo','removeAllListeners','KqzRU','lfyyJ','EynCc','SFSbv','ngruf','onairosanime://auth/','BPhDm','state','error','kufkK','AJrfH','xAdAr','Error\x20handling\x20OAuth\x20deep\x20link:','kyVqI','aeJIa','startsWith','gnOuv','LnthN','searchParams','get','rnKvR','PvVAX','XKxTw','uZsUe','qDIMy','rZOTi','OAuth\x20state\x20mismatch\x20-\x20possible\x20CSRF\x20attack','YHyUR','dIagy','gzcZj','gmhqI','OAuth\x20error:\x20','InYYC','XjEgy','Error\x20disconnecting\x20platform\x20(','sgEnE','NMMjw','Unsupported\x20platform:\x20','No\x20authorization\x20code\x20received','KlXma','authorization_code','application/x-www-form-urlencoded','Failed\x20to\x20exchange\x20code\x20for\x20token','qhqBZ','kAabv','iRJKP','ixZEm','clientId','oAQmZ','xftdM','toString','AUbGZ','YkoZs','qbxpi','zOvVn','access_token','refresh_token','expires_in','username','Error\x20exchanging\x20code\x20for\x20token\x20(','instagram','youtube','https://www.googleapis.com/youtube/v3/channels?part=snippet&mine=true','pinterest','https://api.pinterest.com/v5/user_account','reddit','https://oauth.reddit.com/api/v1/me','Failed\x20to\x20fetch\x20user\x20info','lmwyG','tQdFK','Bearer\x20','CQaEM','CyrHU','WNTaj','tdNfl','WTyNt','json','MAvVI','fToGy','items','snippet','title','full_name','rGMWs','name','YKjtC','VAduR','Error\x20fetching\x20user\x20info\x20(','LfMIy','client_id','redirect_uri','scope','Cfuiz','BWRQZ','Qhmia','WkkVY','cfmBE','JEzpq','oWwdc','Xlpxm','authorizationEndpoint','append','redirectUri','response_type','responseType','openURL','sJMYC','nTZtA','oSoWm','DdRcw','XYjrS','TQzlR','FggkA','/users/disconnect-platform','qKFrh','wWpLK','post','platforms','uqYGp','SJhPG','uAKLv','FEfMU','bqPcu','DaXfr','cxRPF','kHkLf','hnroW','Lkquw','NZbeK','idRmj','APSvr','userId','token','refreshToken','expiresIn','gOTKK','now','RkqDL','CGrIc','piljS','IQSWk','Error\x20storing\x20platform\x20connection\x20('];_0x5a4b=function(){return _0x2db63f;};return _0x5a4b();}import{updateCredentials}from'../utils/secureStorage';import{sha256}from'../utils/crypto';import{onairosApi}from'../api';import{API_CONFIG}from'../config/api';const OAUTH_CONFIGS={'instagram':{'clientId':_0x2a1a(0x0),'redirectUri':'onairosanime://auth/instagram','scope':'user_profile,user_media','authorizationEndpoint':'https://api.instagram.com/oauth/authorize','tokenEndpoint':_0x2a1a(0x1),'responseType':_0x2a1a(0x2)},'youtube':{'clientId':'YOUR_YOUTUBE_CLIENT_ID','redirectUri':_0x2a1a(0x3),'scope':'https://www.googleapis.com/auth/youtube.readonly','authorizationEndpoint':_0x2a1a(0x4),'tokenEndpoint':_0x2a1a(0x5),'responseType':_0x2a1a(0x2)},'pinterest':{'clientId':_0x2a1a(0x6),'redirectUri':'onairosanime://auth/pinterest','scope':_0x2a1a(0x7),'authorizationEndpoint':'https://www.pinterest.com/oauth/','tokenEndpoint':_0x2a1a(0x8),'responseType':'code'},'reddit':{'clientId':_0x2a1a(0x9),'redirectUri':_0x2a1a(0xa),'scope':_0x2a1a(0xb),'authorizationEndpoint':_0x2a1a(0xc),'tokenEndpoint':_0x2a1a(0xd),'responseType':_0x2a1a(0x2)}},generateState=()=>{const _0x52d870={'alciY':function(_0x1c74db,_0x519097){return _0x1c74db(_0x519097);}},_0x1bdfbb=Math[_0x2a1a(0xe)]()['toString'](0x24)[_0x2a1a(0xf)](0x2,0xf);return _0x52d870[_0x2a1a(0x10)](sha256,_0x1bdfbb)['substring'](0x0,0xa);};export const initializeOAuthService=()=>{const _0x6f435a={'bDCjv':_0x2a1a(0x11)};Linking[_0x2a1a(0x12)](_0x6f435a[_0x2a1a(0x13)],handleDeepLink);};export const cleanupOAuthService=()=>{const _0x4f2c39={'ngruf':'url','JcuAo':function(_0x570617,_0x468378){return _0x570617===_0x468378;},'KqzRU':_0x2a1a(0x14),'lfyyJ':function(_0x3d290a,_0x41cded){return _0x3d290a!==_0x41cded;},'EynCc':_0x2a1a(0x15),'SFSbv':_0x2a1a(0x16)};_0x4f2c39[_0x2a1a(0x17)](typeof Linking[_0x2a1a(0x18)],_0x4f2c39[_0x2a1a(0x19)])&&(_0x4f2c39[_0x2a1a(0x1a)](_0x4f2c39[_0x2a1a(0x1b)],_0x4f2c39[_0x2a1a(0x1c)])?Linking[_0x2a1a(0x18)](_0x4f2c39[_0x2a1a(0x1d)]):Linking[_0x2a1a(0x18)](_0x4f2c39['ngruf']));};let currentOAuthState=null,currentOAuthPlatform=null,currentOAuthResolve=null,currentOAuthReject=null;const handleDeepLink=async _0x3cc1d7=>{const _0x476c3e={'rZOTi':function(_0x24227a,_0x3590db){return _0x24227a(_0x3590db);},'gzcZj':'OAuth\x20state\x20mismatch\x20-\x20possible\x20CSRF\x20attack','IkHfO':_0x2a1a(0x1e),'gnOuv':function(_0x547f9c,_0x175a79){return _0x547f9c!==_0x175a79;},'KEWcO':_0x2a1a(0x1f),'rnKvR':_0x2a1a(0x20),'PvVAX':_0x2a1a(0x21),'XKxTw':function(_0x1200de,_0x10db04){return _0x1200de!==_0x10db04;},'uZsUe':'lCHxz','YHyUR':function(_0x2222a4,_0x4388af){return _0x2222a4===_0x4388af;},'dIagy':_0x2a1a(0x22),'lixLt':'wIcBd','gmhqI':function(_0x5a604c,_0x3970d0){return _0x5a604c(_0x3970d0);},'InYYC':function(_0x367cdf,_0x5ea54d,_0x5dbd85){return _0x367cdf(_0x5ea54d,_0x5dbd85);},'XjEgy':_0x2a1a(0x23),'sgEnE':function(_0x2afbe0,_0xcfdf5e){return _0x2afbe0===_0xcfdf5e;},'rhbDo':'FrauX','NMMjw':_0x2a1a(0x24),'LcDiE':_0x2a1a(0x25),'KlXma':function(_0x43f1ec,_0x388098){return _0x43f1ec!==_0x388098;},'rMgVK':_0x2a1a(0x26),'jVGAO':_0x2a1a(0x27)};try{const {url:_0x417c61}=_0x3cc1d7;if(!_0x417c61[_0x2a1a(0x28)](_0x476c3e['IkHfO']))return;const _0x4fa799=_0x417c61['split'](_0x476c3e['IkHfO'])[0x1]['split']('?')[0x0];if(_0x4fa799!==currentOAuthPlatform){if(_0x476c3e[_0x2a1a(0x29)](_0x2a1a(0x2a),_0x476c3e['KEWcO']))return;else{_0x4751c5[_0x2a1a(0x21)]('Error\x20exchanging\x20code\x20for\x20token\x20('+_0x594d23+'):',_0x14495f);throw _0x17dd23;}}const _0x7cc297=new URL(_0x417c61)[_0x2a1a(0x2b)],_0x3e10c3=_0x7cc297['get'](_0x2a1a(0x2)),_0x1a771c=_0x7cc297[_0x2a1a(0x2c)](_0x476c3e[_0x2a1a(0x2d)]),_0x1ee129=_0x7cc297[_0x2a1a(0x2c)](_0x476c3e[_0x2a1a(0x2e)]);if(_0x1a771c!==currentOAuthState){if(_0x476c3e[_0x2a1a(0x2f)](_0x476c3e[_0x2a1a(0x30)],_0x2a1a(0x31))){currentOAuthReject&&_0x476c3e[_0x2a1a(0x32)](currentOAuthReject,new Error(_0x2a1a(0x33)));return;}else _0x42b3f0=null,_0x7b856f=null,_0x3ca4be=null,_0x40f34b=null;}if(_0x1ee129){if(_0x476c3e[_0x2a1a(0x34)](_0x476c3e[_0x2a1a(0x35)],_0x476c3e['lixLt'])){_0x4aba9a&&_0x476c3e[_0x2a1a(0x32)](_0x2ac183,new _0x481dbd(_0x476c3e[_0x2a1a(0x36)]));return;}else{currentOAuthReject&&_0x476c3e[_0x2a1a(0x37)](currentOAuthReject,new Error(_0x2a1a(0x38)+_0x1ee129));return;}}if(_0x3e10c3){const _0x1419ca=await _0x476c3e[_0x2a1a(0x39)](exchangeCodeForToken,_0x4fa799,_0x3e10c3);if(currentOAuthResolve){if(_0x476c3e[_0x2a1a(0x3a)]===_0x476c3e[_0x2a1a(0x3a)])_0x476c3e[_0x2a1a(0x32)](currentOAuthResolve,_0x1419ca);else return _0x2d54b3[_0x2a1a(0x21)](_0x2a1a(0x3b)+_0x5e7db3+'):',_0x2e55ea),![];}}else{if(currentOAuthReject){if(_0x476c3e[_0x2a1a(0x3c)](_0x476c3e['rhbDo'],_0x476c3e[_0x2a1a(0x3d)]))throw new _0x5135ba(_0x2a1a(0x3e)+_0x1b0af1);else _0x476c3e['rZOTi'](currentOAuthReject,new Error(_0x2a1a(0x3f)));}}}catch(_0x5957e0){console[_0x2a1a(0x21)](_0x476c3e['LcDiE'],_0x5957e0),currentOAuthReject&¤tOAuthReject(_0x5957e0);}finally{_0x476c3e[_0x2a1a(0x40)](_0x476c3e['rMgVK'],_0x476c3e['jVGAO'])?(currentOAuthState=null,currentOAuthPlatform=null,currentOAuthResolve=null,currentOAuthReject=null):_0x3a5403(new _0x21c9bd(_0x2a1a(0x33)));}},exchangeCodeForToken=async(_0x4096eb,_0xaa8d8f)=>{const _0x1dccb3={'ixZEm':function(_0x556b79,_0x54e82f){return _0x556b79(_0x54e82f);},'qbxpi':_0x2a1a(0x11),'qhqBZ':function(_0x5eaea4,_0x5c040a){return _0x5eaea4!==_0x5c040a;},'kAabv':'iRJKP','eVwxg':_0x2a1a(0x41),'oAQmZ':function(_0x560e0b,_0x3e347d,_0x4b5e40){return _0x560e0b(_0x3e347d,_0x4b5e40);},'xftdM':_0x2a1a(0x42),'AUbGZ':'YkoZs','zOvVn':_0x2a1a(0x43)};try{if(_0x1dccb3[_0x2a1a(0x44)](_0x1dccb3[_0x2a1a(0x45)],_0x2a1a(0x46)))_0x1dccb3[_0x2a1a(0x47)](_0x198017,_0x38790c);else{const _0x1187f5=OAUTH_CONFIGS[_0x4096eb];if(!_0x1187f5)throw new Error(_0x2a1a(0x3e)+_0x4096eb);const _0x5e5a62=new URLSearchParams({'grant_type':_0x1dccb3['eVwxg'],'code':_0xaa8d8f,'redirect_uri':_0x1187f5['redirectUri'],'client_id':_0x1187f5[_0x2a1a(0x48)]}),_0x2edb15=await _0x1dccb3[_0x2a1a(0x49)](fetch,_0x1187f5['tokenEndpoint'],{'method':'POST','headers':{'Content-Type':_0x1dccb3[_0x2a1a(0x4a)]},'body':_0x5e5a62[_0x2a1a(0x4b)]()}),_0xd1c6cf=await _0x2edb15['json']();if(!_0x2edb15['ok']){if(_0x1dccb3[_0x2a1a(0x4c)]!==_0x2a1a(0x4d))Linking[_0x2a1a(0x12)](_0x1dccb3[_0x2a1a(0x4e)],_0x4565fa);else throw new Error(_0xd1c6cf['error']||_0x1dccb3[_0x2a1a(0x4f)]);}const _0x27a781=await fetchUserInfo(_0x4096eb,_0xd1c6cf[_0x2a1a(0x50)]);return{'token':_0xd1c6cf['access_token'],'refreshToken':_0xd1c6cf[_0x2a1a(0x51)],'expiresIn':_0xd1c6cf[_0x2a1a(0x52)],'username':_0x27a781[_0x2a1a(0x53)],'userId':_0x27a781['id']};}}catch(_0x6213f5){console[_0x2a1a(0x21)](_0x2a1a(0x54)+_0x4096eb+'):',_0x6213f5);throw _0x6213f5;}},fetchUserInfo=async(_0xa09540,_0x115e3b)=>{const _0x5e4778={'LfMIy':function(_0x5b4114,_0x4fba5b){return _0x5b4114(_0x4fba5b);},'fToGy':_0x2a1a(0x55),'CQaEM':_0x2a1a(0x56),'CyrHU':_0x2a1a(0x57),'WNTaj':_0x2a1a(0x58),'tdNfl':_0x2a1a(0x59),'rGMWs':_0x2a1a(0x5a),'oMiOM':_0x2a1a(0x5b),'WTyNt':function(_0x36c5b7,_0xea60e9,_0x20c47e){return _0x36c5b7(_0xea60e9,_0x20c47e);},'MAvVI':_0x2a1a(0x5c),'YKjtC':_0x2a1a(0x5d),'VAduR':_0x2a1a(0x5e)};try{let _0x487a2a,_0x17215d={'Authorization':_0x2a1a(0x5f)+_0x115e3b};switch(_0xa09540){case _0x5e4778['fToGy']:_0x487a2a='https://graph.instagram.com/me?fields=id,username';break;case _0x5e4778[_0x2a1a(0x60)]:_0x487a2a=_0x5e4778[_0x2a1a(0x61)];break;case _0x5e4778[_0x2a1a(0x62)]:_0x487a2a=_0x5e4778[_0x2a1a(0x63)];break;case _0x5e4778['rGMWs']:_0x487a2a=_0x5e4778['oMiOM'];break;default:throw new Error(_0x2a1a(0x3e)+_0xa09540);}const _0x2d5cb2=await _0x5e4778[_0x2a1a(0x64)](fetch,_0x487a2a,{'headers':_0x17215d}),_0x3a150e=await _0x2d5cb2[_0x2a1a(0x65)]();if(!_0x2d5cb2['ok'])throw new Error(_0x3a150e[_0x2a1a(0x21)]||_0x5e4778[_0x2a1a(0x66)]);switch(_0xa09540){case _0x5e4778[_0x2a1a(0x67)]:return{'id':_0x3a150e['id'],'username':_0x3a150e[_0x2a1a(0x53)]};case _0x5e4778['CQaEM']:return{'id':_0x3a150e['items'][0x0]['id'],'username':_0x3a150e[_0x2a1a(0x68)][0x0][_0x2a1a(0x69)][_0x2a1a(0x6a)]};case _0x5e4778[_0x2a1a(0x62)]:return{'id':_0x3a150e['id'],'username':_0x3a150e[_0x2a1a(0x53)]||_0x3a150e[_0x2a1a(0x6b)]};case _0x5e4778[_0x2a1a(0x6c)]:return{'id':_0x3a150e['id'],'username':_0x3a150e[_0x2a1a(0x6d)]};default:throw new Error(_0x2a1a(0x3e)+_0xa09540);}}catch(_0x45495d){if(_0x5e4778[_0x2a1a(0x6e)]!==_0x5e4778[_0x2a1a(0x6f)]){console['error'](_0x2a1a(0x70)+_0xa09540+'):',_0x45495d);throw _0x45495d;}else _0x5e4778[_0x2a1a(0x71)](_0x132bf0,new _0x10ba97(_0x2a1a(0x38)+_0x425205));}};export const connectPlatform=_0x6a83e0=>{const _0x2c6d27={'oWwdc':function(_0x25885f,_0x21d24b){return _0x25885f(_0x21d24b);},'BWRQZ':_0x2a1a(0x72),'Qhmia':_0x2a1a(0x73),'TswQw':_0x2a1a(0x74),'JgOrK':_0x2a1a(0x20),'cfmBE':function(_0x4687d9,_0x40025e){return _0x4687d9!==_0x40025e;},'WkkVY':_0x2a1a(0x75),'JEzpq':'RBKPN','Xlpxm':function(_0x3428cf){return _0x3428cf();},'sJMYC':'nTZtA'};return new Promise((_0x3159e0,_0x6ae42a)=>{const _0x3bc234={'oSoWm':_0x2c6d27[_0x2a1a(0x76)],'DdRcw':_0x2c6d27[_0x2a1a(0x77)],'XYjrS':_0x2c6d27['TswQw'],'TQzlR':_0x2c6d27['JgOrK']};if(_0x2c6d27['cfmBE'](_0x2c6d27[_0x2a1a(0x78)],_0x2c6d27[_0x2a1a(0x78)]))throw new _0x5ebe94(_0x2a1a(0x3e)+_0x3f15ca);else try{const _0x201224=OAUTH_CONFIGS[_0x6a83e0];if(!_0x201224){if(_0x2c6d27[_0x2a1a(0x79)](_0x2c6d27[_0x2a1a(0x7a)],'RBKPN')){const _0x4af796=_0x1a3b82[_0x2a1a(0xe)]()['toString'](0x24)['substring'](0x2,0xf);return _0x2c6d27[_0x2a1a(0x7b)](_0x5961ae,_0x4af796)['substring'](0x0,0xa);}else throw new Error('Unsupported\x20platform:\x20'+_0x6a83e0);}const _0x3b9a5b=_0x2c6d27[_0x2a1a(0x7c)](generateState),_0x1bf8ee=new URL(_0x201224[_0x2a1a(0x7d)]);_0x1bf8ee['searchParams']['append'](_0x2c6d27[_0x2a1a(0x76)],_0x201224['clientId']),_0x1bf8ee['searchParams'][_0x2a1a(0x7e)](_0x2c6d27[_0x2a1a(0x77)],_0x201224[_0x2a1a(0x7f)]),_0x1bf8ee[_0x2a1a(0x2b)]['append'](_0x2a1a(0x80),_0x201224[_0x2a1a(0x81)]),_0x1bf8ee[_0x2a1a(0x2b)][_0x2a1a(0x7e)](_0x2c6d27['TswQw'],_0x201224[_0x2a1a(0x74)]),_0x1bf8ee[_0x2a1a(0x2b)][_0x2a1a(0x7e)]('state',_0x3b9a5b),currentOAuthState=_0x3b9a5b,currentOAuthPlatform=_0x6a83e0,currentOAuthResolve=_0x3159e0,currentOAuthReject=_0x6ae42a,Linking[_0x2a1a(0x82)](_0x1bf8ee[_0x2a1a(0x4b)]());}catch(_0x31e92f){if(_0x2c6d27[_0x2a1a(0x83)]!==_0x2a1a(0x84))try{const _0xb26813=_0x36072d[_0x1ce63d];if(!_0xb26813)throw new _0x2dcb5b(_0x2a1a(0x3e)+_0x5f38d9);const _0x3b4017=_0xdab5e9(),_0x57fd8a=new _0x3dfec6(_0xb26813[_0x2a1a(0x7d)]);_0x57fd8a[_0x2a1a(0x2b)]['append'](_0x3bc234[_0x2a1a(0x85)],_0xb26813[_0x2a1a(0x48)]),_0x57fd8a[_0x2a1a(0x2b)][_0x2a1a(0x7e)](_0x3bc234[_0x2a1a(0x86)],_0xb26813[_0x2a1a(0x7f)]),_0x57fd8a[_0x2a1a(0x2b)][_0x2a1a(0x7e)](_0x2a1a(0x80),_0xb26813['responseType']),_0x57fd8a['searchParams']['append'](_0x3bc234[_0x2a1a(0x87)],_0xb26813[_0x2a1a(0x74)]),_0x57fd8a[_0x2a1a(0x2b)]['append'](_0x3bc234[_0x2a1a(0x88)],_0x3b4017),_0x2440a9=_0x3b4017,_0x28a6ce=_0x3ec6c0,_0x320f10=_0x291079,_0x2de2e4=_0x2d86ea,Linking[_0x2a1a(0x82)](_0x57fd8a[_0x2a1a(0x4b)]());}catch(_0x3b4999){_0x563639(_0x3b4999);}else _0x6ae42a(_0x31e92f);}});};export const disconnectPlatform=async(_0x32da34,_0x4b1e8)=>{const _0x5b0acf={'qqJNE':function(_0x182a40,_0x575ba2){return _0x182a40(_0x575ba2);},'SJhPG':_0x2a1a(0x3f),'qKFrh':function(_0x34c101,_0x1c1874){return _0x34c101===_0x1c1874;},'wWpLK':_0x2a1a(0x89),'EfvMp':_0x2a1a(0x8a),'GQuWe':function(_0x1e6314,_0x20e87f){return _0x1e6314===_0x20e87f;},'uqYGp':'DZKFQ'};try{if(_0x5b0acf[_0x2a1a(0x8b)](_0x5b0acf['wWpLK'],_0x5b0acf[_0x2a1a(0x8c)])){await onairosApi[_0x2a1a(0x8d)](_0x5b0acf['EfvMp'],{'platform':_0x32da34,'username':_0x4b1e8[_0x2a1a(0x53)]});const _0x199fb5={..._0x4b1e8[_0x2a1a(0x8e)]};return _0x199fb5&&_0x32da34 in _0x199fb5&&delete _0x199fb5[_0x32da34],await updateCredentials({..._0x4b1e8,'platforms':_0x199fb5}),!![];}else return;}catch(_0x527d03){if(_0x5b0acf['GQuWe'](_0x5b0acf[_0x2a1a(0x8f)],_0x5b0acf[_0x2a1a(0x8f)]))return console['error']('Error\x20disconnecting\x20platform\x20('+_0x32da34+'):',_0x527d03),![];else _0x125ee1&&_0x5b0acf['qqJNE'](_0x3354de,new _0x574031(_0x5b0acf[_0x2a1a(0x90)]));}};export const storePlatformConnection=async(_0x2da6bc,_0x1e8648,_0x53093a)=>{const _0x1024ae={'IQSWk':function(_0x260cb9,_0x49bad1){return _0x260cb9(_0x49bad1);},'DaXfr':_0x2a1a(0x91),'cxRPF':_0x2a1a(0x92),'kHkLf':function(_0x2aa8ac,_0x1e8e38){return _0x2aa8ac===_0x1e8e38;},'hnroW':_0x2a1a(0x56),'piljS':_0x2a1a(0x58),'Lkquw':function(_0x1850f5,_0x591a27){return _0x1850f5===_0x591a27;},'NZbeK':'reddit','idRmj':function(_0x15aff7,_0xc7bb06){return _0x15aff7===_0xc7bb06;},'APSvr':_0x2a1a(0x93),'gOTKK':function(_0x218dcf,_0x16c075){return _0x218dcf+_0x16c075;},'RkqDL':function(_0x530080,_0x24e0af){return _0x530080*_0x24e0af;},'CGrIc':_0x2a1a(0x55),'RDDUF':function(_0x288cf3,_0x1fddb2){return _0x288cf3===_0x1fddb2;}};try{if(_0x1024ae[_0x2a1a(0x94)]===_0x1024ae[_0x2a1a(0x95)])delete _0x14ed6b[_0x23deee];else{const _0x834cb0=_0x2da6bc==='instagram'||_0x1024ae[_0x2a1a(0x96)](_0x2da6bc,_0x1024ae[_0x2a1a(0x97)])||_0x2da6bc===_0x1024ae['piljS']||_0x1024ae[_0x2a1a(0x98)](_0x2da6bc,_0x1024ae[_0x2a1a(0x99)]);if(!_0x834cb0){if(_0x1024ae[_0x2a1a(0x9a)](_0x1024ae[_0x2a1a(0x9b)],'bqPcu'))throw new Error(_0x2a1a(0x3e)+_0x2da6bc);else _0x1024ae['IQSWk'](_0x2b8a3a,_0x54d60c);}const _0x134c12={..._0x53093a[_0x2a1a(0x8e)]},_0x4d0a56={'username':_0x1e8648[_0x2a1a(0x53)],'userId':_0x1e8648[_0x2a1a(0x9c)],'token':_0x1e8648[_0x2a1a(0x9d)],'refreshToken':_0x1e8648[_0x2a1a(0x9e)],'expiresAt':_0x1e8648[_0x2a1a(0x9f)]?_0x1024ae[_0x2a1a(0xa0)](Date[_0x2a1a(0xa1)](),_0x1024ae[_0x2a1a(0xa2)](_0x1e8648[_0x2a1a(0x9f)],0x3e8)):null,'connectedAt':Date[_0x2a1a(0xa1)]()};if(_0x1024ae[_0x2a1a(0x98)](_0x2da6bc,_0x1024ae[_0x2a1a(0xa3)]))_0x134c12['instagram']=_0x4d0a56;else{if(_0x2da6bc===_0x2a1a(0x56))_0x134c12[_0x2a1a(0x56)]=_0x4d0a56;else{if(_0x1024ae['RDDUF'](_0x2da6bc,_0x1024ae[_0x2a1a(0xa4)]))_0x134c12[_0x2a1a(0x58)]=_0x4d0a56;else{if(_0x1024ae[_0x2a1a(0x98)](_0x2da6bc,_0x2a1a(0x5a)))_0x134c12[_0x2a1a(0x5a)]=_0x4d0a56;}}}return await _0x1024ae[_0x2a1a(0xa5)](updateCredentials,{..._0x53093a,'platforms':_0x134c12}),!![];}}catch(_0x26f46a){return console[_0x2a1a(0x21)](_0x2a1a(0xa6)+_0x2da6bc+'):',_0x26f46a),![];}};export const OAuthService={'initializeOAuthService':initializeOAuthService,'cleanupOAuthService':cleanupOAuthService,'connectPlatform':connectPlatform,'disconnectPlatform':disconnectPlatform,'storePlatformConnection':storePlatformConnection,'_apiBaseUrl':''+API_CONFIG['BASE_URL']};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
|
|
2
|
+
// Onairos SDK - Asset Registry (auto-generated)
|
|
3
|
+
var __ONAIROS_REQ_REGISTRY__ = [
|
|
4
|
+
require('react-native-crypto-js')
|
|
5
|
+
];
|
|
6
|
+
function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
|
|
7
|
+
const CryptoJS=__ONAIROS_REQ_FUNC__(0x0);import{getTemporaryPin}from'./pinStorageUtils';const ENCRYPTION_KEY=_0x264f(0x0);function _0x54e2(){const _0x1c6df0=['onairos-pin-encryption-key-2024','⚠️\x20No\x20temporary\x20PIN\x20available\x20for\x20encryption','✅\x20PIN\x20encrypted\x20for\x20API\x20transmission','❌\x20Error\x20getting\x20encrypted\x20PIN\x20for\x20API:','CzquG','🔐\x20PIN\x20encrypted\x20successfully','❌\x20Error\x20encrypting\x20PIN:','kxXEL','DuXKz','AES','encrypt','toString','log','vudlX','error','❌\x20Error\x20hashing\x20PIN:','MgPBM','tradD','FRRAn','xNxQp','PbKPY','uIbsd','❌\x20Error\x20decrypting\x20PIN:','decrypt','enc','Utf8','YrQYJ','🔓\x20PIN\x20decrypted\x20successfully','GGaJj','WZMjF','VQwNt','ogONe','RaZwL','svGNl','uJDxd','JcYok','ofjKX','YSDxZ','mXvTS','YVIzK','myGgp','🔒\x20PIN\x20hashed\x20successfully','mRMpp','mMUGC','GKvVf','oEIpg','bRDGW','GwhyR','xindD'];_0x54e2=function(){return _0x1c6df0;};return _0x54e2();}export const encryptPin=_0x464f6d=>{const _0x346eaf={'tradD':function(_0x422dbc){return _0x422dbc();},'FRRAn':_0x264f(0x1),'xNxQp':_0x264f(0x2),'PbKPY':_0x264f(0x3),'kxXEL':function(_0x357098,_0x532795){return _0x357098!==_0x532795;},'DuXKz':'NiWGw','XdDia':_0x264f(0x4),'vudlX':_0x264f(0x5),'uIbsd':_0x264f(0x6)};try{if(_0x346eaf[_0x264f(0x7)](_0x346eaf[_0x264f(0x8)],_0x346eaf['XdDia'])){const _0x368394=CryptoJS[_0x264f(0x9)][_0x264f(0xa)](_0x464f6d,ENCRYPTION_KEY)[_0x264f(0xb)]();return console[_0x264f(0xc)](_0x346eaf[_0x264f(0xd)]),_0x368394;}else{_0x3b8cbc[_0x264f(0xe)](_0x264f(0xf),_0x19435c);throw _0x41268b;}}catch(_0x385ebe){if('MgPBM'!==_0x264f(0x10))try{const _0x306a62=_0x346eaf[_0x264f(0x11)](_0x1e937a);if(!_0x306a62)return _0x3986a4[_0x264f(0xc)](_0x346eaf[_0x264f(0x12)]),null;const _0x3d4f65=_0x3c9eec(_0x306a62);return _0x4cebda[_0x264f(0xc)](_0x346eaf[_0x264f(0x13)]),_0x3d4f65;}catch(_0x2881b8){return _0xf20d4c['error'](_0x346eaf[_0x264f(0x14)],_0x2881b8),null;}else{console[_0x264f(0xe)](_0x346eaf[_0x264f(0x15)],_0x385ebe);throw _0x385ebe;}}};function _0x264f(_0x54e249,_0x264f58){_0x54e249=_0x54e249-0x0;const _0x2d9598=_0x54e2();let _0xfcf432=_0x2d9598[_0x54e249];return _0xfcf432;}export const decryptPin=_0x5e4c07=>{const _0x29e1b0={'HDLMx':'🔓\x20PIN\x20decrypted\x20successfully','YrQYJ':_0x264f(0x16)};try{const _0x5b9cae=CryptoJS['AES'][_0x264f(0x17)](_0x5e4c07,ENCRYPTION_KEY),_0x214a5c=_0x5b9cae[_0x264f(0xb)](CryptoJS[_0x264f(0x18)][_0x264f(0x19)]);return console[_0x264f(0xc)](_0x29e1b0['HDLMx']),_0x214a5c;}catch(_0xc8a59d){console[_0x264f(0xe)](_0x29e1b0[_0x264f(0x1a)],_0xc8a59d);throw _0xc8a59d;}};export const getEncryptedPinForAPI=async()=>{const _0x320648={'uJDxd':function(_0x25aa52){return _0x25aa52();},'ofjKX':function(_0x285850,_0x259e4d){return _0x285850(_0x259e4d);},'YVIzK':_0x264f(0x1b),'ogONe':function(_0x490b69,_0x50da93){return _0x490b69!==_0x50da93;},'RaZwL':_0x264f(0x1c),'svGNl':_0x264f(0x1d),'JcYok':_0x264f(0x1),'jCCuR':function(_0x5ef4b0,_0x5db9ae){return _0x5ef4b0===_0x5db9ae;},'YSDxZ':_0x264f(0x1e),'mXvTS':'DLHzl','myGgp':_0x264f(0x3)};try{if(_0x320648[_0x264f(0x1f)](_0x320648[_0x264f(0x20)],_0x320648[_0x264f(0x21)])){const _0xd14441=_0x320648[_0x264f(0x22)](getTemporaryPin);if(!_0xd14441)return console[_0x264f(0xc)](_0x320648[_0x264f(0x23)]),null;const _0xa0650b=_0x320648['ofjKX'](encryptPin,_0xd14441);return console['log']('✅\x20PIN\x20encrypted\x20for\x20API\x20transmission'),_0xa0650b;}else{const _0x45dbdd=_0x320648[_0x264f(0x22)](_0x29e464);if(!_0x45dbdd)return _0x4892b0[_0x264f(0xc)](_0x264f(0x1)),null;const _0x23b24b=_0x320648[_0x264f(0x24)](_0x368336,_0x45dbdd);return _0xcfb8df['log'](_0x264f(0x2)),_0x23b24b;}}catch(_0x4a76f9){if(_0x320648['jCCuR'](_0x320648[_0x264f(0x25)],_0x320648[_0x264f(0x26)])){const _0x14320d=_0x517364[_0x264f(0x9)][_0x264f(0x17)](_0x44c2ef,_0x483697),_0x2e8c57=_0x14320d['toString'](_0x4fe50f[_0x264f(0x18)][_0x264f(0x19)]);return _0x3e4f71[_0x264f(0xc)](_0x320648[_0x264f(0x27)]),_0x2e8c57;}else return console[_0x264f(0xe)](_0x320648[_0x264f(0x28)],_0x4a76f9),null;}};export const hashPin=_0x269bfc=>{const _0x43f396={'GwhyR':_0x264f(0x5),'xindD':'❌\x20Error\x20encrypting\x20PIN:','mMUGC':function(_0x2a8d30,_0x1d6a57){return _0x2a8d30+_0x1d6a57;},'GKvVf':_0x264f(0x29),'oEIpg':function(_0xd0bb44,_0x3cff8a){return _0xd0bb44!==_0x3cff8a;},'bRDGW':_0x264f(0x2a)};try{const _0x49f867=CryptoJS['SHA256'](_0x43f396[_0x264f(0x2b)](_0x269bfc,ENCRYPTION_KEY))['toString']();return console[_0x264f(0xc)](_0x43f396[_0x264f(0x2c)]),_0x49f867;}catch(_0x23196e){if(_0x43f396[_0x264f(0x2d)](_0x43f396[_0x264f(0x2e)],_0x43f396['bRDGW']))try{const _0x39904c=_0x13f502['AES']['encrypt'](_0x14ba63,_0x373704)[_0x264f(0xb)]();return _0x3830de[_0x264f(0xc)](_0x43f396[_0x264f(0x2f)]),_0x39904c;}catch(_0x594398){_0x4be2db['error'](_0x43f396[_0x264f(0x30)],_0x594398);throw _0x594398;}else{console[_0x264f(0xe)](_0x264f(0xf),_0x23196e);throw _0x23196e;}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{biometricPinService}from'./biometricPinService';export const getStoredPinForTraining=async()=>{const _0x5da172={'AqCFg':_0x5b3d(0x0),'OpyRC':_0x5b3d(0x1),'khmWl':_0x5b3d(0x2)};try{console['log']('🔓\x20Retrieving\x20stored\x20PIN\x20for\x20training...');const _0x1054d6=await biometricPinService[_0x5b3d(0x3)]();if(!_0x1054d6)return console[_0x5b3d(0x4)](_0x5da172['AqCFg']),null;const _0x112776=await biometricPinService[_0x5b3d(0x5)]();return _0x112776?(console[_0x5b3d(0x4)](_0x5da172[_0x5b3d(0x6)]),_0x112776):(console[_0x5b3d(0x4)](_0x5b3d(0x7)),null);}catch(_0x17a427){return console[_0x5b3d(0x8)](_0x5da172[_0x5b3d(0x9)],_0x17a427),null;}};export const hasStoredPin=async()=>{const _0x41af7c={'PGHoV':_0x5b3d(0xa)};try{return await biometricPinService[_0x5b3d(0x3)]();}catch(_0x579a80){return console['error'](_0x41af7c[_0x5b3d(0xb)],_0x579a80),![];}};function _0x5b3d(_0x59d542,_0x5b3d77){_0x59d542=_0x59d542-0x0;const _0x1c78e4=_0x59d5();let _0x1887cf=_0x1c78e4[_0x59d542];return _0x1887cf;}export const clearStoredPin=async()=>{const _0x22cfab={'XATpJ':_0x5b3d(0xc),'fllYx':function(_0x4f5119,_0x37e0ad){return _0x4f5119!==_0x37e0ad;},'XcscO':_0x5b3d(0xd),'Irain':_0x5b3d(0xe)};try{return console[_0x5b3d(0x4)](_0x22cfab['XATpJ']),await biometricPinService[_0x5b3d(0xf)]();}catch(_0x6b0bd8){return _0x22cfab['fllYx'](_0x22cfab['XcscO'],_0x22cfab[_0x5b3d(0x10)])?_0x1f54f9:(console[_0x5b3d(0x8)](_0x22cfab[_0x5b3d(0x11)],_0x6b0bd8),![]);}};export const getPinForTraining=async _0x145852=>{const _0x49a1d2={'UBwix':_0x5b3d(0x12),'fAFcl':function(_0x30a8cf){return _0x30a8cf();}};if(_0x145852)return console[_0x5b3d(0x4)](_0x49a1d2['UBwix']),_0x145852;return await _0x49a1d2['fAFcl'](getStoredPinForTraining);};let temporaryPin=null;export const setTemporaryPin=_0x2fe035=>{const _0x5eed66={'JpPhp':_0x5b3d(0x13)};temporaryPin=_0x2fe035,console[_0x5b3d(0x4)](_0x5eed66[_0x5b3d(0x14)]);};export const getTemporaryPin=()=>{return temporaryPin;};export const clearTemporaryPin=()=>{temporaryPin=null,console[_0x5b3d(0x4)](_0x5b3d(0x15));};function _0x59d5(){const _0x35ff3f=['⚠️\x20No\x20PIN\x20stored\x20in\x20secure\x20storage','✅\x20PIN\x20retrieved\x20successfully\x20for\x20training','❌\x20Error\x20retrieving\x20stored\x20PIN:','isPinStored','log','retrievePinWithBiometric','OpyRC','❌\x20Failed\x20to\x20retrieve\x20PIN\x20or\x20user\x20cancelled\x20authentication','error','khmWl','❌\x20Error\x20checking\x20PIN\x20storage:','PGHoV','🗑️\x20Clearing\x20stored\x20PIN...','fAgVL','❌\x20Error\x20clearing\x20stored\x20PIN:','removePinFromStorage','XcscO','Irain','📝\x20Using\x20temporary\x20PIN\x20for\x20training','📝\x20Temporary\x20PIN\x20set\x20for\x20training','JpPhp','🗑️\x20Temporary\x20PIN\x20cleared'];_0x59d5=function(){return _0x35ff3f;};return _0x59d5();}
|