@onairos/react-native 3.7.2 โ†’ 3.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/lib/commonjs/api/index.js +219 -9
  2. package/lib/commonjs/components/BodyText.js +27 -9
  3. package/lib/commonjs/components/BrandMark.js +111 -10
  4. package/lib/commonjs/components/CodeInput.js +116 -9
  5. package/lib/commonjs/components/EmailInput.js +30 -8
  6. package/lib/commonjs/components/GoogleButton.js +56 -9
  7. package/lib/commonjs/components/HeadingGroup.js +43 -9
  8. package/lib/commonjs/components/LLMDataInputModal.js +664 -14
  9. package/lib/commonjs/components/ModalHeader.js +99 -9
  10. package/lib/commonjs/components/ModalSheet.js +47 -9
  11. package/lib/commonjs/components/Onairos.js +380 -14
  12. package/lib/commonjs/components/OnairosButton.js +313 -13
  13. package/lib/commonjs/components/OnairosSignInButton.js +130 -12
  14. package/lib/commonjs/components/Overlay.js +465 -13
  15. package/lib/commonjs/components/PersonaImage.js +137 -10
  16. package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
  17. package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
  18. package/lib/commonjs/components/PinCreationScreen.js +403 -12
  19. package/lib/commonjs/components/PinInput.js +464 -9
  20. package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
  21. package/lib/commonjs/components/PlatformList.js +137 -10
  22. package/lib/commonjs/components/PlatformToggle.js +180 -9
  23. package/lib/commonjs/components/PrimaryButton.js +180 -10
  24. package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
  25. package/lib/commonjs/components/SignInStep.js +345 -12
  26. package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
  27. package/lib/commonjs/components/VerificationStep.js +176 -11
  28. package/lib/commonjs/components/WelcomeScreen.js +461 -22
  29. package/lib/commonjs/components/icons/Basicproficon.js +37 -8
  30. package/lib/commonjs/components/icons/Basicprofile.js +21 -8
  31. package/lib/commonjs/components/icons/Checkbox.js +21 -8
  32. package/lib/commonjs/components/icons/Checkmark.js +27 -8
  33. package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
  34. package/lib/commonjs/components/icons/Contenticon.js +39 -8
  35. package/lib/commonjs/components/icons/EnochE.js +41 -8
  36. package/lib/commonjs/components/icons/Personalityicon.js +30 -8
  37. package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
  38. package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
  39. package/lib/commonjs/components/icons/Userpreferences.js +21 -8
  40. package/lib/commonjs/components/icons/index.js +84 -17
  41. package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
  42. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
  43. package/lib/commonjs/components/onboarding/PinInput.js +283 -10
  44. package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
  45. package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
  46. package/lib/commonjs/config/api.js +56 -7
  47. package/lib/commonjs/constants/index.js +120 -7
  48. package/lib/commonjs/context/AuthContext.js +345 -10
  49. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
  50. package/lib/commonjs/hooks/useConnections.js +102 -8
  51. package/lib/commonjs/hooks/useCredentials.js +178 -10
  52. package/lib/commonjs/hooks/useUserConnections.js +148 -10
  53. package/lib/commonjs/index.js +439 -34
  54. package/lib/commonjs/services/apiClient.js +298 -8
  55. package/lib/commonjs/services/biometricPinService.js +180 -8
  56. package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
  57. package/lib/commonjs/services/chatGPTConversationService.js +275 -9
  58. package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
  59. package/lib/commonjs/services/claudeConversationService.js +158 -9
  60. package/lib/commonjs/services/connectedAccountsService.js +310 -10
  61. package/lib/commonjs/services/googleAuthService.js +252 -11
  62. package/lib/commonjs/services/hingeDataExtractor.js +105 -8
  63. package/lib/commonjs/services/hingeDataService.js +150 -9
  64. package/lib/commonjs/services/imageCompressionService.js +260 -7
  65. package/lib/commonjs/services/instagramDataExtractor.js +126 -8
  66. package/lib/commonjs/services/instagramDataService.js +163 -9
  67. package/lib/commonjs/services/jwtStorageService.js +276 -7
  68. package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
  69. package/lib/commonjs/services/linkedinProfileService.js +222 -9
  70. package/lib/commonjs/services/linkedinScrapingService.js +230 -8
  71. package/lib/commonjs/services/llmDataStorage.js +294 -8
  72. package/lib/commonjs/services/mobileTrainingService.js +186 -8
  73. package/lib/commonjs/services/netflixDataExtractor.js +120 -8
  74. package/lib/commonjs/services/netflixDataService.js +198 -9
  75. package/lib/commonjs/services/pinEncryptionService.js +84 -8
  76. package/lib/commonjs/services/pinStorageUtils.js +105 -7
  77. package/lib/commonjs/services/platformAuthService.js +1484 -12
  78. package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
  79. package/lib/commonjs/services/sephoraDataService.js +200 -9
  80. package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
  81. package/lib/commonjs/services/spotifyDataService.js +241 -9
  82. package/lib/commonjs/services/storageService.js +404 -8
  83. package/lib/commonjs/services/telegramDataExtractor.js +115 -8
  84. package/lib/commonjs/services/telegramDataService.js +499 -9
  85. package/lib/commonjs/services/trainingApiHelpers.js +73 -7
  86. package/lib/commonjs/services/userConnectionsService.js +340 -10
  87. package/lib/commonjs/services/youtubeMigrationService.js +416 -10
  88. package/lib/commonjs/theme/index.js +250 -7
  89. package/lib/commonjs/types/ambient.d.js +2 -1
  90. package/lib/commonjs/types/declarations.d.js +2 -1
  91. package/lib/commonjs/types/index.js +6 -1
  92. package/lib/commonjs/types/node-fix.d.js +2 -1
  93. package/lib/commonjs/types/node-override.d.js +2 -1
  94. package/lib/commonjs/types/opacity.d.js +2 -1
  95. package/lib/commonjs/types.js +14 -1
  96. package/lib/commonjs/utils/Portal.js +98 -8
  97. package/lib/commonjs/utils/api.js +130 -9
  98. package/lib/commonjs/utils/assetRegistry.js +210 -35
  99. package/lib/commonjs/utils/auth.js +112 -9
  100. package/lib/commonjs/utils/connectorTests.js +613 -29
  101. package/lib/commonjs/utils/crypto.js +62 -8
  102. package/lib/commonjs/utils/debugHelper.js +64 -1
  103. package/lib/commonjs/utils/encryption.js +76 -7
  104. package/lib/commonjs/utils/eventUtils.js +288 -1
  105. package/lib/commonjs/utils/haptics.js +66 -9
  106. package/lib/commonjs/utils/imagePreloader.js +6 -1
  107. package/lib/commonjs/utils/networkDiagnostics.js +226 -8
  108. package/lib/commonjs/utils/onairosApi.js +350 -9
  109. package/lib/commonjs/utils/programmaticFlow.js +117 -9
  110. package/lib/commonjs/utils/retryHelper.js +220 -1
  111. package/lib/commonjs/utils/secureStorage.js +349 -10
  112. package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
  113. package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
  114. package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
  115. package/lib/commonjs/utils/webviewScripts/index.js +698 -15
  116. package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
  117. package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
  118. package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
  119. package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
  120. package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
  121. package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
  122. package/lib/module/api/index.js +211 -1
  123. package/lib/module/components/BodyText.js +20 -1
  124. package/lib/module/components/BrandMark.js +104 -1
  125. package/lib/module/components/CodeInput.js +109 -1
  126. package/lib/module/components/EmailInput.js +23 -1
  127. package/lib/module/components/GoogleButton.js +49 -1
  128. package/lib/module/components/HeadingGroup.js +36 -1
  129. package/lib/module/components/LLMDataInputModal.js +656 -7
  130. package/lib/module/components/ModalHeader.js +92 -1
  131. package/lib/module/components/ModalSheet.js +39 -1
  132. package/lib/module/components/Onairos.js +373 -1
  133. package/lib/module/components/OnairosButton.js +305 -1
  134. package/lib/module/components/OnairosSignInButton.js +121 -1
  135. package/lib/module/components/Overlay.js +456 -1
  136. package/lib/module/components/PersonaImage.js +129 -1
  137. package/lib/module/components/PersonaLoadingScreen.js +310 -1
  138. package/lib/module/components/PersonalizationConsentScreen.js +460 -1
  139. package/lib/module/components/PinCreationScreen.js +396 -1
  140. package/lib/module/components/PinInput.js +456 -1
  141. package/lib/module/components/PlatformConnectorsStep.js +1302 -6
  142. package/lib/module/components/PlatformList.js +129 -1
  143. package/lib/module/components/PlatformToggle.js +173 -1
  144. package/lib/module/components/PrimaryButton.js +172 -1
  145. package/lib/module/components/SignInMatchAnimation.js +189 -1
  146. package/lib/module/components/SignInStep.js +338 -1
  147. package/lib/module/components/UniversalOnboarding.js +2770 -1
  148. package/lib/module/components/VerificationStep.js +168 -1
  149. package/lib/module/components/WelcomeScreen.js +453 -1
  150. package/lib/module/components/icons/Basicproficon.js +30 -1
  151. package/lib/module/components/icons/Basicprofile.js +14 -1
  152. package/lib/module/components/icons/Checkbox.js +14 -1
  153. package/lib/module/components/icons/Checkmark.js +20 -1
  154. package/lib/module/components/icons/Contentanalysis.js +14 -1
  155. package/lib/module/components/icons/Contenticon.js +32 -1
  156. package/lib/module/components/icons/EnochE.js +34 -1
  157. package/lib/module/components/icons/Personalityicon.js +23 -1
  158. package/lib/module/components/icons/Personalityprofile.js +14 -1
  159. package/lib/module/components/icons/Personalitytraits.js +14 -1
  160. package/lib/module/components/icons/Userpreferences.js +14 -1
  161. package/lib/module/components/icons/index.js +13 -1
  162. package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
  163. package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
  164. package/lib/module/components/onboarding/PinInput.js +274 -1
  165. package/lib/module/components/onboarding/PlatformConnector.js +240 -1
  166. package/lib/module/config/PLATFORM_APIS.md +849 -0
  167. package/lib/module/config/api.js +47 -1
  168. package/lib/module/constants/index.js +114 -1
  169. package/lib/module/context/AuthContext.js +335 -1
  170. package/lib/module/hooks/useConnectedAccounts.js +106 -1
  171. package/lib/module/hooks/useConnections.js +95 -1
  172. package/lib/module/hooks/useCredentials.js +171 -6
  173. package/lib/module/hooks/useUserConnections.js +140 -1
  174. package/lib/module/index.js +172 -1
  175. package/lib/module/services/apiClient.js +295 -1
  176. package/lib/module/services/biometricPinService.js +169 -1
  177. package/lib/module/services/chatGPTConversationExtractor.js +149 -1
  178. package/lib/module/services/chatGPTConversationService.js +268 -1
  179. package/lib/module/services/claudeConversationExtractor.js +97 -1
  180. package/lib/module/services/claudeConversationService.js +151 -1
  181. package/lib/module/services/connectedAccountsService.js +293 -1
  182. package/lib/module/services/googleAuthService.js +241 -1
  183. package/lib/module/services/hingeDataExtractor.js +99 -1
  184. package/lib/module/services/hingeDataService.js +143 -1
  185. package/lib/module/services/imageCompressionService.js +250 -1
  186. package/lib/module/services/instagramDataExtractor.js +120 -1
  187. package/lib/module/services/instagramDataService.js +156 -1
  188. package/lib/module/services/jwtStorageService.js +257 -1
  189. package/lib/module/services/linkedinDOMExtractor.js +234 -1
  190. package/lib/module/services/linkedinProfileService.js +210 -1
  191. package/lib/module/services/linkedinScrapingService.js +219 -1
  192. package/lib/module/services/llmDataStorage.js +277 -1
  193. package/lib/module/services/mobileTrainingService.js +173 -1
  194. package/lib/module/services/netflixDataExtractor.js +114 -1
  195. package/lib/module/services/netflixDataService.js +191 -1
  196. package/lib/module/services/pinEncryptionService.js +74 -6
  197. package/lib/module/services/pinStorageUtils.js +93 -1
  198. package/lib/module/services/platformAuthService.js +1461 -1
  199. package/lib/module/services/sephoraDataExtractor.js +134 -1
  200. package/lib/module/services/sephoraDataService.js +193 -1
  201. package/lib/module/services/spotifyDataExtractor.js +142 -1
  202. package/lib/module/services/spotifyDataService.js +234 -1
  203. package/lib/module/services/storageService.js +383 -1
  204. package/lib/module/services/telegramDataExtractor.js +109 -1
  205. package/lib/module/services/telegramDataService.js +493 -1
  206. package/lib/module/services/trainingApiHelpers.js +67 -1
  207. package/lib/module/services/userConnectionsService.js +329 -1
  208. package/lib/module/services/youtubeMigrationService.js +405 -1
  209. package/lib/module/theme/index.js +245 -1
  210. package/lib/module/types.js +10 -1
  211. package/lib/module/utils/Portal.js +90 -1
  212. package/lib/module/utils/api.js +118 -1
  213. package/lib/module/utils/assetRegistry.js +200 -34
  214. package/lib/module/utils/auth.js +100 -1
  215. package/lib/module/utils/connectorTests.js +600 -27
  216. package/lib/module/utils/crypto.js +54 -1
  217. package/lib/module/utils/debugHelper.js +54 -1
  218. package/lib/module/utils/encryption.js +67 -1
  219. package/lib/module/utils/eventUtils.js +270 -1
  220. package/lib/module/utils/haptics.js +59 -8
  221. package/lib/module/utils/imagePreloader.js +3 -1
  222. package/lib/module/utils/networkDiagnostics.js +217 -1
  223. package/lib/module/utils/onairosApi.js +333 -1
  224. package/lib/module/utils/programmaticFlow.js +111 -1
  225. package/lib/module/utils/retryHelper.js +211 -1
  226. package/lib/module/utils/secureStorage.js +330 -6
  227. package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
  228. package/lib/module/utils/webviewScripts/claude.js +370 -1
  229. package/lib/module/utils/webviewScripts/hinge.js +405 -1
  230. package/lib/module/utils/webviewScripts/index.js +434 -1
  231. package/lib/module/utils/webviewScripts/instagram.js +448 -1
  232. package/lib/module/utils/webviewScripts/linkedin.js +874 -1
  233. package/lib/module/utils/webviewScripts/netflix.js +376 -1
  234. package/lib/module/utils/webviewScripts/sephora.js +510 -1
  235. package/lib/module/utils/webviewScripts/spotify.js +413 -1
  236. package/lib/module/utils/webviewScripts/telegram.js +672 -1
  237. package/package.json +2 -2
@@ -1,28 +1,601 @@
1
+ /**
2
+ * Connector API Tests / Sanity Checks
3
+ *
4
+ * This module provides test utilities to verify all platform connectors
5
+ * are properly configured and their services are working correctly.
6
+ *
7
+ * Run these tests to ensure:
8
+ * 1. All WebView scripts are properly exported
9
+ * 2. All extractor hooks are available
10
+ * 3. All services can be instantiated
11
+ * 4. Backend endpoints are reachable
12
+ *
13
+ * Usage:
14
+ * import { runConnectorSanityTests } from './utils/connectorTests';
15
+ * await runConnectorSanityTests();
16
+ */
1
17
 
2
- // Onairos SDK - Asset Registry (auto-generated)
3
- var __ONAIROS_REQ_REGISTRY__ = [
4
- require('./webviewScripts'),
5
- require('./webviewScripts'),
6
- require('./webviewScripts'),
7
- require('./webviewScripts'),
8
- require('./webviewScripts'),
9
- require('./webviewScripts'),
10
- require('./webviewScripts'),
11
- require('../services/chatGPTConversationService'),
12
- require('../services/claudeConversationService'),
13
- require('../services/hingeDataService'),
14
- require('../services/instagramDataService'),
15
- require('../services/sephoraDataService'),
16
- require('../services/telegramDataService'),
17
- require('../services/hingeDataExtractor'),
18
- require('../services/instagramDataExtractor'),
19
- require('../services/sephoraDataExtractor'),
20
- require('../services/telegramDataExtractor'),
21
- require('./webviewScripts'),
22
- require('./webviewScripts'),
23
- require('./webviewScripts'),
24
- require(`../services/${platform}DataService`),
25
- require(`../services/${platform}DataExtractor`)
26
- ];
27
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
28
- import{API_CONFIG}from'../config/api';export const testWebViewScriptExports=()=>{const _0x1fee5d={'IrPuQ':_0x1e01(0x0),'APTtw':_0x1e01(0x1),'leqIS':_0x1e01(0x2),'jPCzR':_0x1e01(0x3),'LjZEo':_0x1e01(0x4),'EYIeP':_0x1e01(0x5),'nvLua':_0x1e01(0x6),'VqOBW':function(_0x4ff10a,_0x585add){return _0x4ff10a===_0x585add;},'LtNqn':'nrlHd','IAAZv':function(_0xf3317f,_0x2f734b){return _0xf3317f(_0x2f734b);},'KxCjT':_0x1e01(0x7),'QWFiV':'webview_scripts','PrHVW':function(_0x1c645b,_0x1efd34){return _0x1c645b(_0x1efd34);},'HIIst':_0x1e01(0x8),'ofAcb':_0x1e01(0x9),'LBdpD':function(_0x39e01d,_0x3acb8b){return _0x39e01d(_0x3acb8b);},'xcWet':_0x1e01(0xa),'TrqyB':_0x1e01(0xb),'NiBma':_0x1e01(0xc),'PnaJX':_0x1e01(0xd),'GJsib':'utilities','yarVI':function(_0x15c088,_0x4ceb4a){return _0x15c088&&_0x4ceb4a;},'riznc':'Platform\x20detection\x20functions\x20available','wfuJn':_0x1e01(0xe),'TcgZd':_0x1e01(0xf)},_0x37c970=[];try{if(_0x1fee5d['VqOBW'](_0x1e01(0x10),_0x1fee5d[_0x1e01(0x11)]))_0x3112bb['log'](_0x1fee5d['IrPuQ']);else{const {CHATGPT_CONSENT_POPUP_SCRIPT:_0x32f841,CHATGPT_EXPORT_SCRIPT:_0x32dac6}=_0x1fee5d['IAAZv'](__ONAIROS_REQ_FUNC__,0x13);_0x37c970[_0x1e01(0x12)]({'platform':_0x1e01(0x13),'component':_0x1e01(0x14),'status':_0x32dac6?_0x1fee5d['LjZEo']:_0x1e01(0x5),'message':_0x32dac6?_0x1e01(0x15):_0x1fee5d[_0x1e01(0x16)]});const {CLAUDE_CONSENT_POPUP_SCRIPT:_0x183b40,CLAUDE_EXPORT_SCRIPT:_0x1edcb2}=_0x1fee5d[_0x1e01(0x17)](__ONAIROS_REQ_FUNC__,0x12);_0x37c970[_0x1e01(0x12)]({'platform':_0x1e01(0x18),'component':_0x1fee5d[_0x1e01(0x19)],'status':_0x1edcb2?_0x1fee5d[_0x1e01(0x1a)]:_0x1fee5d[_0x1e01(0x1b)],'message':_0x1edcb2?'Claude\x20scripts\x20exported\x20correctly':'Claude\x20scripts\x20missing'});const {HINGE_CONSENT_POPUP_SCRIPT:_0x2a4e70,HINGE_EXPORT_SCRIPT:_0x26e74f}=_0x1fee5d[_0x1e01(0x1c)](__ONAIROS_REQ_FUNC__,0x11);_0x37c970['push']({'platform':_0x1fee5d[_0x1e01(0x1d)],'component':_0x1fee5d[_0x1e01(0x19)],'status':_0x26e74f?'pass':_0x1fee5d[_0x1e01(0x1b)],'message':_0x26e74f?_0x1e01(0x1e):_0x1fee5d[_0x1e01(0x1f)]});const {INSTAGRAM_CONSENT_POPUP_SCRIPT:_0x440762,INSTAGRAM_EXPORT_SCRIPT:_0x2cb820}=__ONAIROS_REQ_FUNC__(0x6);_0x37c970[_0x1e01(0x12)]({'platform':'instagram','component':_0x1fee5d[_0x1e01(0x19)],'status':_0x2cb820?_0x1e01(0x4):_0x1fee5d[_0x1e01(0x1b)],'message':_0x2cb820?_0x1e01(0x20):_0x1e01(0x21)});const {SEPHORA_CONSENT_POPUP_SCRIPT:_0x2390d7,SEPHORA_EXPORT_SCRIPT:_0x4c7259}=_0x1fee5d[_0x1e01(0x22)](__ONAIROS_REQ_FUNC__,0x5);_0x37c970['push']({'platform':_0x1e01(0x23),'component':_0x1e01(0x14),'status':_0x4c7259?_0x1fee5d[_0x1e01(0x1a)]:_0x1fee5d[_0x1e01(0x1b)],'message':_0x4c7259?_0x1fee5d[_0x1e01(0x24)]:_0x1fee5d[_0x1e01(0x25)]});const {TELEGRAM_CONSENT_POPUP_SCRIPT:_0x3cd7f7,TELEGRAM_EXPORT_SCRIPT:_0x210034}=_0x1fee5d['LBdpD'](__ONAIROS_REQ_FUNC__,0x4);_0x37c970[_0x1e01(0x12)]({'platform':_0x1fee5d['APTtw'],'component':_0x1fee5d[_0x1e01(0x19)],'status':_0x210034?_0x1e01(0x4):_0x1fee5d[_0x1e01(0x1b)],'message':_0x210034?_0x1fee5d[_0x1e01(0x26)]:_0x1fee5d['PnaJX']});const {isWebViewExtractionPlatform:_0x56ec72,isHingePlatform:_0x276973,isInstagramPlatform:_0x51a7d0,isSephoraPlatform:_0x387206,isTelegramPlatform:_0x54fd90}=_0x1fee5d[_0x1e01(0x1c)](__ONAIROS_REQ_FUNC__,0x3);_0x37c970[_0x1e01(0x12)]({'platform':_0x1fee5d['GJsib'],'component':_0x1e01(0x27),'status':_0x1fee5d[_0x1e01(0x28)](_0x56ec72,_0x276973)&&_0x51a7d0&&_0x387206&&_0x54fd90?_0x1e01(0x4):_0x1fee5d[_0x1e01(0x1b)],'message':_0x1fee5d['riznc']});}}catch(_0x5d2723){if(_0x1fee5d[_0x1e01(0x29)](_0x1e01(0xe),_0x1fee5d[_0x1e01(0x2a)]))_0x37c970[_0x1e01(0x12)]({'platform':_0x1fee5d['TcgZd'],'component':_0x1fee5d[_0x1e01(0x19)],'status':'fail','message':_0x1e01(0x2b)+_0x5d2723[_0x1e01(0x2c)]});else{const {storeTelegramData:_0x422c0d}=_0x58608f(0xc);_0x3cd9e8[_0x1e01(0x12)]({'platform':_0x1fee5d['APTtw'],'component':_0x1fee5d['leqIS'],'status':typeof _0x422c0d===_0x1fee5d[_0x1e01(0x2d)]?_0x1fee5d[_0x1e01(0x1a)]:_0x1fee5d[_0x1e01(0x1b)],'message':_0x1fee5d[_0x1e01(0x2e)]});}}return _0x37c970;};export const testServiceImports=()=>{const _0x473450={'ASfDd':_0x1e01(0x2f),'ftqUi':'claude','SNlxw':'service','AHbcI':_0x1e01(0x5),'EuTxC':function(_0x5cd653,_0x4406c9){return _0x5cd653(_0x4406c9);},'YTYoz':function(_0x61c1ae,_0x2c17a2){return _0x61c1ae(_0x2c17a2);},'IqmNx':_0x1e01(0x8),'fCFlP':_0x1e01(0x4),'tNWZu':_0x1e01(0x30),'XIDRt':_0x1e01(0x31),'ECvMP':'Instagram\x20detection\x20correct','ZosDu':_0x1e01(0x32),'rCcha':function(_0x280ffe,_0x34982e){return _0x280ffe(_0x34982e);},'euEMs':_0x1e01(0x23),'PVipI':_0x1e01(0x33),'DByCx':_0x1e01(0x1),'ZHykq':function(_0xb9f434,_0x510ba4){return _0xb9f434(_0x510ba4);},'BNXJy':_0x1e01(0x34),'lLGFk':_0x1e01(0x35),'Ablsw':function(_0x22628f,_0x42f63c){return _0x22628f(_0x42f63c);},'OtEaS':'chatgpt','RCoUw':function(_0x35e652,_0x22c1bb){return _0x35e652===_0x22c1bb;},'QiIpV':'function','ZEkzO':function(_0xf293b4,_0x2e53b3){return _0xf293b4===_0x2e53b3;},'DJvIq':_0x1e01(0x36),'aGIDd':'EvXCd','RYqlc':function(_0x252f0b,_0x3c121e){return _0x252f0b===_0x3c121e;},'TDCRd':_0x1e01(0x37),'MKwAe':function(_0x4f2c8e,_0x38d576){return _0x4f2c8e===_0x38d576;},'NeknJ':'Hinge\x20service\x20function\x20available','myhBA':_0x1e01(0x38),'UdpUT':function(_0x468edc,_0x118153){return _0x468edc===_0x118153;},'sJRXl':_0x1e01(0x39),'eHfNb':function(_0x31106f,_0x28ae71){return _0x31106f===_0x28ae71;},'nnugE':_0x1e01(0x3a),'UKrZP':_0x1e01(0x3b),'TBNGS':_0x1e01(0x6)},_0x27daf5=[];try{const {storeChatGPTConversations:_0xa7e58a}=_0x473450[_0x1e01(0x3c)](__ONAIROS_REQ_FUNC__,0x7);_0x27daf5['push']({'platform':_0x473450[_0x1e01(0x3d)],'component':_0x1e01(0x2),'status':_0x473450[_0x1e01(0x3e)](typeof _0xa7e58a,_0x473450[_0x1e01(0x3f)])?_0x473450[_0x1e01(0x40)]:_0x473450['AHbcI'],'message':'ChatGPT\x20service\x20function\x20available'});}catch(_0x1bc9b5){_0x27daf5[_0x1e01(0x12)]({'platform':_0x473450[_0x1e01(0x3d)],'component':_0x473450[_0x1e01(0x41)],'status':_0x473450['AHbcI'],'message':'Import\x20error:\x20'+_0x1bc9b5[_0x1e01(0x2c)]});}try{if(_0x473450[_0x1e01(0x42)](_0x473450[_0x1e01(0x43)],_0x473450[_0x1e01(0x44)]))_0x209992[_0x1e01(0x12)]({'platform':_0x31a375,'component':_0x473450[_0x1e01(0x45)],'status':_0x1e01(0x5),'message':_0x1e01(0x46)+_0xa0d733[_0x1e01(0x2c)]});else{const {storeClaudeConversations:_0x2339b8}=_0x473450[_0x1e01(0x47)](__ONAIROS_REQ_FUNC__,0x8);_0x27daf5[_0x1e01(0x12)]({'platform':_0x473450['ftqUi'],'component':_0x473450['SNlxw'],'status':_0x473450[_0x1e01(0x48)](typeof _0x2339b8,_0x1e01(0x3))?_0x473450[_0x1e01(0x40)]:_0x473450[_0x1e01(0x49)],'message':_0x473450[_0x1e01(0x4a)]});}}catch(_0x558980){_0x27daf5['push']({'platform':_0x473450['ftqUi'],'component':'service','status':_0x473450[_0x1e01(0x49)],'message':_0x1e01(0x2b)+_0x558980['message']});}try{const {storeHingeData:_0x4d7f43}=_0x473450[_0x1e01(0x3c)](__ONAIROS_REQ_FUNC__,0x9);_0x27daf5[_0x1e01(0x12)]({'platform':_0x473450[_0x1e01(0x4b)],'component':_0x473450['SNlxw'],'status':_0x473450['MKwAe'](typeof _0x4d7f43,_0x473450[_0x1e01(0x3f)])?_0x473450['fCFlP']:_0x473450[_0x1e01(0x49)],'message':_0x473450[_0x1e01(0x4c)]});}catch(_0x10372d){_0x27daf5['push']({'platform':_0x473450[_0x1e01(0x4b)],'component':_0x473450['SNlxw'],'status':_0x473450[_0x1e01(0x49)],'message':_0x1e01(0x2b)+_0x10372d[_0x1e01(0x2c)]});}try{const {storeInstagramData:_0x258bab}=__ONAIROS_REQ_FUNC__(0xa);_0x27daf5[_0x1e01(0x12)]({'platform':_0x473450[_0x1e01(0x4d)],'component':_0x473450['SNlxw'],'status':typeof _0x258bab===_0x473450[_0x1e01(0x3f)]?_0x1e01(0x4):_0x473450[_0x1e01(0x49)],'message':_0x473450[_0x1e01(0x4e)]});}catch(_0x53dc7a){_0x473450[_0x1e01(0x4f)](_0x1e01(0x39),_0x473450[_0x1e01(0x50)])?_0x27daf5[_0x1e01(0x12)]({'platform':_0x473450[_0x1e01(0x4d)],'component':_0x473450[_0x1e01(0x41)],'status':_0x473450['AHbcI'],'message':_0x1e01(0x2b)+_0x53dc7a['message']}):_0x10a8fa[_0x1e01(0x12)]({'platform':_0x473450['ftqUi'],'component':_0x473450[_0x1e01(0x41)],'status':_0x473450['AHbcI'],'message':_0x1e01(0x2b)+_0x120080[_0x1e01(0x2c)]});}try{if(_0x473450[_0x1e01(0x51)](_0x473450[_0x1e01(0x52)],_0x473450[_0x1e01(0x53)])){const {isWebViewExtractionPlatform:_0x2cf60b,isHingePlatform:_0xb416e3,isInstagramPlatform:_0x27036d,isSephoraPlatform:_0x370ddb,isLLMPlatform:_0x25f00f}=_0x473450[_0x1e01(0x54)](_0x4385ec,0x2),_0x5d8d77=_0x473450['YTYoz'](_0xb416e3,_0x473450[_0x1e01(0x4b)])&&_0x473450[_0x1e01(0x54)](_0x2cf60b,_0x473450['IqmNx'])&&!_0x473450[_0x1e01(0x54)](_0x25f00f,_0x473450[_0x1e01(0x4b)]);_0x2e167d[_0x1e01(0x12)]({'platform':_0x473450['IqmNx'],'component':'detection','status':_0x5d8d77?_0x473450['fCFlP']:_0x1e01(0x5),'message':_0x5d8d77?'Hinge\x20detection\x20correct':_0x1e01(0x55)});const _0x46b673=_0x473450['EuTxC'](_0x27036d,'instagram')&&_0x2cf60b(_0x473450[_0x1e01(0x4d)])&&!_0x473450[_0x1e01(0x54)](_0x25f00f,_0x473450[_0x1e01(0x4d)]);_0x178121[_0x1e01(0x12)]({'platform':_0x473450[_0x1e01(0x4d)],'component':_0x473450['XIDRt'],'status':_0x46b673?_0x473450[_0x1e01(0x40)]:_0x1e01(0x5),'message':_0x46b673?_0x473450[_0x1e01(0x56)]:_0x473450[_0x1e01(0x57)]});const _0xfb53ba=_0x473450['rCcha'](_0x370ddb,_0x473450[_0x1e01(0x58)])&&_0x2cf60b(_0x473450[_0x1e01(0x58)])&&!_0x25f00f(_0x1e01(0x23));_0x59d34d['push']({'platform':_0x473450['euEMs'],'component':_0x473450[_0x1e01(0x59)],'status':_0xfb53ba?_0x473450[_0x1e01(0x40)]:_0x473450['AHbcI'],'message':_0xfb53ba?_0x473450[_0x1e01(0x5a)]:_0x1e01(0x5b)});const {isTelegramPlatform:_0x2bb45a}=_0x473450[_0x1e01(0x54)](_0x3547be,0x1),_0xdcfef9=_0x473450['EuTxC'](_0x2bb45a,_0x473450[_0x1e01(0x5c)])&&_0x473450[_0x1e01(0x47)](_0x2cf60b,_0x473450[_0x1e01(0x5c)])&&!_0x473450['ZHykq'](_0x25f00f,_0x473450[_0x1e01(0x5c)]);_0x420566['push']({'platform':_0x473450[_0x1e01(0x5c)],'component':_0x473450[_0x1e01(0x59)],'status':_0xdcfef9?_0x473450[_0x1e01(0x40)]:_0x473450[_0x1e01(0x49)],'message':_0xdcfef9?_0x473450[_0x1e01(0x5d)]:_0x473450[_0x1e01(0x5e)]});}else{const {storeSephoraData:_0x31b777}=__ONAIROS_REQ_FUNC__(0xb);_0x27daf5[_0x1e01(0x12)]({'platform':_0x473450[_0x1e01(0x58)],'component':_0x473450[_0x1e01(0x41)],'status':_0x473450[_0x1e01(0x4f)](typeof _0x31b777,_0x473450[_0x1e01(0x3f)])?_0x1e01(0x4):_0x473450['AHbcI'],'message':'Sephora\x20service\x20function\x20available'});}}catch(_0x4f6b84){_0x27daf5[_0x1e01(0x12)]({'platform':'sephora','component':_0x473450[_0x1e01(0x41)],'status':_0x473450['AHbcI'],'message':_0x1e01(0x2b)+_0x4f6b84[_0x1e01(0x2c)]});}try{const {storeTelegramData:_0x1dbbc2}=_0x473450[_0x1e01(0x54)](__ONAIROS_REQ_FUNC__,0xc);_0x27daf5[_0x1e01(0x12)]({'platform':_0x1e01(0x1),'component':_0x473450[_0x1e01(0x41)],'status':typeof _0x1dbbc2===_0x473450[_0x1e01(0x3f)]?'pass':_0x473450[_0x1e01(0x49)],'message':_0x473450[_0x1e01(0x5f)]});}catch(_0x1b36ed){_0x27daf5[_0x1e01(0x12)]({'platform':_0x473450['DByCx'],'component':_0x473450[_0x1e01(0x41)],'status':_0x473450['AHbcI'],'message':_0x1e01(0x2b)+_0x1b36ed['message']});}return _0x27daf5;};export const testExtractorImports=()=>{const _0x1b3703={'OfRWh':_0x1e01(0x60),'eWwpz':_0x1e01(0x5),'FROXj':_0x1e01(0x30),'iKYEk':function(_0x19826a,_0x834ed0){return _0x19826a===_0x834ed0;},'JmpnG':_0x1e01(0x61),'ttSxp':_0x1e01(0x62),'BayPj':function(_0x540865,_0x2cce7b){return _0x540865(_0x2cce7b);},'CTPSS':_0x1e01(0x2f),'mzLyG':function(_0x2f526a,_0x3ec6fb){return _0x2f526a===_0x3ec6fb;},'VvlWM':_0x1e01(0x3),'GMsFV':_0x1e01(0x4),'HbVBa':_0x1e01(0x63),'KLpjg':_0x1e01(0x64),'YYLBo':_0x1e01(0x23),'pttmr':function(_0x82546f,_0x231022){return _0x82546f===_0x231022;},'UwJQh':_0x1e01(0x65),'cmpXH':function(_0x5eb076,_0x30e90d){return _0x5eb076(_0x30e90d);},'HBMdt':'telegram','POMis':_0x1e01(0x66)},_0x3a9a19=[];try{if(_0x1b3703[_0x1e01(0x67)](_0x1b3703[_0x1e01(0x68)],_0x1b3703['ttSxp']))_0x1072e7[_0x1e01(0x12)]({'platform':_0x1afafb,'component':_0x1b3703[_0x1e01(0x69)],'status':_0x1b3703['eWwpz'],'message':_0x1e01(0x6a)+_0x43a89f[_0x1e01(0x2c)]});else{const {useHingeDataExtractor:useHingeDataExtractor}=_0x1b3703['BayPj'](__ONAIROS_REQ_FUNC__,0xd);_0x3a9a19['push']({'platform':_0x1e01(0x8),'component':_0x1b3703[_0x1e01(0x6b)],'status':_0x1b3703['mzLyG'](typeof useHingeDataExtractor,_0x1b3703['VvlWM'])?_0x1b3703[_0x1e01(0x6c)]:_0x1b3703['eWwpz'],'message':_0x1b3703[_0x1e01(0x6d)]});}}catch(_0x51c0a5){_0x3a9a19[_0x1e01(0x12)]({'platform':_0x1e01(0x8),'component':_0x1b3703['CTPSS'],'status':_0x1b3703['eWwpz'],'message':_0x1e01(0x2b)+_0x51c0a5[_0x1e01(0x2c)]});}try{const {useInstagramDataExtractor:useInstagramDataExtractor}=_0x1b3703[_0x1e01(0x6e)](__ONAIROS_REQ_FUNC__,0xe);_0x3a9a19[_0x1e01(0x12)]({'platform':_0x1b3703[_0x1e01(0x6f)],'component':_0x1b3703[_0x1e01(0x6b)],'status':_0x1b3703[_0x1e01(0x67)](typeof useInstagramDataExtractor,_0x1b3703[_0x1e01(0x70)])?_0x1b3703[_0x1e01(0x6c)]:_0x1b3703[_0x1e01(0x71)],'message':_0x1b3703['KLpjg']});}catch(_0x3649cb){_0x3a9a19[_0x1e01(0x12)]({'platform':_0x1b3703[_0x1e01(0x6f)],'component':_0x1b3703[_0x1e01(0x6b)],'status':_0x1b3703['eWwpz'],'message':'Import\x20error:\x20'+_0x3649cb[_0x1e01(0x2c)]});}try{const {useSephoraDataExtractor:useSephoraDataExtractor}=_0x1b3703[_0x1e01(0x6e)](__ONAIROS_REQ_FUNC__,0xf);_0x3a9a19[_0x1e01(0x12)]({'platform':_0x1b3703['YYLBo'],'component':_0x1b3703[_0x1e01(0x6b)],'status':_0x1b3703[_0x1e01(0x67)](typeof useSephoraDataExtractor,_0x1e01(0x3))?_0x1b3703[_0x1e01(0x6c)]:_0x1b3703[_0x1e01(0x71)],'message':_0x1e01(0x72)});}catch(_0x3fb8f7){_0x3a9a19[_0x1e01(0x12)]({'platform':_0x1e01(0x23),'component':_0x1b3703['CTPSS'],'status':_0x1e01(0x5),'message':'Import\x20error:\x20'+_0x3fb8f7['message']});}try{if(_0x1b3703[_0x1e01(0x73)](_0x1b3703['UwJQh'],_0x1b3703[_0x1e01(0x74)])){const {useTelegramDataExtractor:useTelegramDataExtractor}=_0x1b3703[_0x1e01(0x75)](__ONAIROS_REQ_FUNC__,0x10);_0x3a9a19[_0x1e01(0x12)]({'platform':_0x1b3703['HBMdt'],'component':_0x1b3703[_0x1e01(0x6b)],'status':_0x1b3703['pttmr'](typeof useTelegramDataExtractor,_0x1b3703[_0x1e01(0x70)])?_0x1e01(0x4):_0x1b3703[_0x1e01(0x71)],'message':_0x1b3703[_0x1e01(0x76)]});}else _0x4a925f[_0x1e01(0x12)]({'platform':_0x1b3703[_0x1e01(0x6f)],'component':_0x1e01(0x2),'status':_0x1b3703[_0x1e01(0x71)],'message':_0x1e01(0x2b)+_0x40ec4f[_0x1e01(0x2c)]});}catch(_0x43791e){_0x3a9a19[_0x1e01(0x12)]({'platform':_0x1b3703[_0x1e01(0x77)],'component':_0x1b3703['CTPSS'],'status':_0x1e01(0x5),'message':_0x1e01(0x2b)+_0x43791e[_0x1e01(0x2c)]});}return _0x3a9a19;};export const testBackendConnectivity=async()=>{const _0x103abc={'hkRFS':function(_0x2e0b07,_0xe8f848){return _0x2e0b07(_0xe8f848);},'ZQsEF':_0x1e01(0x4),'FqPME':_0x1e01(0x5),'UcQoW':_0x1e01(0x78),'iyCiZ':_0x1e01(0x79),'oihfg':function(_0xc4474f,_0x42eb29,_0x5e6535){return _0xc4474f(_0x42eb29,_0x5e6535);},'NxSpb':_0x1e01(0x7a),'goTer':_0x1e01(0x7b),'CeWQX':_0x1e01(0x7c),'qvOTL':_0x1e01(0x7d),'DiICr':function(_0x149953,_0x17c825){return _0x149953===_0x17c825;},'zONDS':_0x1e01(0x7e),'DvSRH':function(_0x14cc1c,_0x3f8c5a,_0x3c6003){return _0x14cc1c(_0x3f8c5a,_0x3c6003);},'fuiAO':_0x1e01(0x7f),'lrAgl':_0x1e01(0x80),'fiyER':function(_0x40415a,_0x4e2d47){return _0x40415a<_0x4e2d47;}},_0x5b6782=[];try{const _0x34d60f=new AbortController(),_0x276ac5=_0x103abc[_0x1e01(0x81)](setTimeout,()=>_0x34d60f[_0x1e01(0x82)](),0x2710),_0x1ba47a=await fetch(API_CONFIG['BASE_URL']+_0x1e01(0x83),{'method':'GET','signal':_0x34d60f[_0x1e01(0x84)]});_0x103abc['hkRFS'](clearTimeout,_0x276ac5),_0x5b6782[_0x1e01(0x12)]({'platform':_0x103abc[_0x1e01(0x85)],'component':_0x103abc[_0x1e01(0x86)],'status':_0x1ba47a['ok']?_0x1e01(0x4):_0x103abc[_0x1e01(0x87)],'message':_0x1ba47a['ok']?_0x103abc['qvOTL']:_0x1e01(0x88)+_0x1ba47a[_0x1e01(0x89)],'details':{'status':_0x1ba47a[_0x1e01(0x89)]}});}catch(_0x199e52){if(_0x103abc[_0x1e01(0x8a)](_0x103abc[_0x1e01(0x8b)],_0x1e01(0x8c))){const _0x2ba021=_0x103abc[_0x1e01(0x8d)](_0x50bca2,0x0),_0xf8086=_0x28b49c['toUpperCase']()+_0x1e01(0x8e),_0x192ce4=!!_0x2ba021[_0xf8086];_0x370d4f[_0x1e01(0x12)]({'platform':_0x3f3616,'component':'webview_script','status':_0x192ce4?_0x103abc[_0x1e01(0x8f)]:_0x103abc[_0x1e01(0x90)],'message':_0x192ce4?_0x103abc[_0x1e01(0x91)]:_0x103abc['iyCiZ']});}else _0x5b6782[_0x1e01(0x12)]({'platform':_0x103abc[_0x1e01(0x85)],'component':_0x103abc[_0x1e01(0x86)],'status':_0x103abc[_0x1e01(0x90)],'message':'Backend\x20unreachable:\x20'+_0x199e52['message']});}try{const _0x15c317=new AbortController(),_0x70a8b3=_0x103abc['DvSRH'](setTimeout,()=>_0x15c317[_0x1e01(0x82)](),0x2710),_0x577529=await _0x103abc[_0x1e01(0x92)](fetch,API_CONFIG[_0x1e01(0x93)]+_0x1e01(0x94),{'method':_0x103abc['fuiAO'],'signal':_0x15c317[_0x1e01(0x84)]});clearTimeout(_0x70a8b3),_0x5b6782[_0x1e01(0x12)]({'platform':'backend','component':_0x103abc[_0x1e01(0x95)],'status':_0x103abc['fiyER'](_0x577529[_0x1e01(0x89)],0x1f4)?_0x103abc['ZQsEF']:_0x103abc[_0x1e01(0x87)],'message':_0x1e01(0x96)+_0x577529[_0x1e01(0x89)],'details':{'status':_0x577529[_0x1e01(0x89)]}});}catch(_0x5dc260){_0x5b6782[_0x1e01(0x12)]({'platform':_0x1e01(0x7a),'component':'platform_data_endpoint','status':'warning','message':_0x1e01(0x97)+_0x5dc260[_0x1e01(0x2c)]});}return _0x5b6782;};function _0x1e01(_0x316713,_0x1e0114){_0x316713=_0x316713-0x0;const _0x5e7540=_0x3167();let _0x412a09=_0x5e7540[_0x316713];return _0x412a09;}export const testPlatformDetection=()=>{const _0x4e19b9={'QGXzW':function(_0x4f2939,_0x31a889){return _0x4f2939(_0x31a889);},'sNKgl':'hinge','czBbv':function(_0x4067a2,_0x3040fe){return _0x4067a2(_0x3040fe);},'WNcFg':'detection','tkjbC':'pass','YYApu':_0x1e01(0x5),'vgKRP':_0x1e01(0x55),'DvOJC':function(_0x128da0,_0x24a692){return _0x128da0(_0x24a692);},'wUUNH':'instagram','TJGwu':function(_0x3d1f16,_0x5e8d38){return _0x3d1f16(_0x5e8d38);},'zWUUy':_0x1e01(0x98),'KSKle':'Instagram\x20detection\x20failed','uZqDb':'sephora','NgMXw':function(_0x16711c,_0x3ff826){return _0x16711c(_0x3ff826);},'FwhHZ':_0x1e01(0x1),'LoEVg':_0x1e01(0x34),'ppknc':_0x1e01(0x35),'SEygE':_0x1e01(0xf)},_0x3397f7=[];try{const {isWebViewExtractionPlatform:_0x47efc3,isHingePlatform:_0x3c6c9e,isInstagramPlatform:_0xf0834d,isSephoraPlatform:_0x3fc0a6,isLLMPlatform:_0x1e4ce9}=__ONAIROS_REQ_FUNC__(0x2),_0x28a8d7=_0x4e19b9['QGXzW'](_0x3c6c9e,_0x4e19b9[_0x1e01(0x99)])&&_0x4e19b9[_0x1e01(0x9a)](_0x47efc3,_0x4e19b9['sNKgl'])&&!_0x4e19b9[_0x1e01(0x9a)](_0x1e4ce9,_0x4e19b9['sNKgl']);_0x3397f7['push']({'platform':_0x4e19b9[_0x1e01(0x99)],'component':_0x4e19b9['WNcFg'],'status':_0x28a8d7?_0x4e19b9[_0x1e01(0x9b)]:_0x4e19b9[_0x1e01(0x9c)],'message':_0x28a8d7?_0x1e01(0x9d):_0x4e19b9[_0x1e01(0x9e)]});const _0x1aba4a=_0x4e19b9[_0x1e01(0x9f)](_0xf0834d,_0x1e01(0x30))&&_0x47efc3(_0x4e19b9[_0x1e01(0xa0)])&&!_0x4e19b9[_0x1e01(0xa1)](_0x1e4ce9,_0x1e01(0x30));_0x3397f7[_0x1e01(0x12)]({'platform':_0x4e19b9[_0x1e01(0xa0)],'component':_0x4e19b9[_0x1e01(0xa2)],'status':_0x1aba4a?_0x4e19b9[_0x1e01(0x9b)]:_0x4e19b9[_0x1e01(0x9c)],'message':_0x1aba4a?_0x4e19b9[_0x1e01(0xa3)]:_0x4e19b9[_0x1e01(0xa4)]});const _0x52589f=_0x4e19b9[_0x1e01(0xa5)](_0x3fc0a6,_0x1e01(0x23))&&_0x4e19b9['czBbv'](_0x47efc3,_0x4e19b9[_0x1e01(0xa6)])&&!_0x4e19b9[_0x1e01(0xa1)](_0x1e4ce9,_0x4e19b9[_0x1e01(0xa6)]);_0x3397f7['push']({'platform':_0x4e19b9[_0x1e01(0xa6)],'component':_0x1e01(0x31),'status':_0x52589f?_0x4e19b9[_0x1e01(0x9b)]:_0x4e19b9[_0x1e01(0x9c)],'message':_0x52589f?_0x1e01(0x33):'Sephora\x20detection\x20failed'});const {isTelegramPlatform:_0x1f8705}=_0x4e19b9[_0x1e01(0xa7)](__ONAIROS_REQ_FUNC__,0x1),_0x53b793=_0x1f8705(_0x4e19b9[_0x1e01(0xa8)])&&_0x4e19b9[_0x1e01(0xa5)](_0x47efc3,_0x4e19b9['FwhHZ'])&&!_0x1e4ce9(_0x1e01(0x1));_0x3397f7[_0x1e01(0x12)]({'platform':_0x4e19b9['FwhHZ'],'component':_0x4e19b9[_0x1e01(0xa2)],'status':_0x53b793?_0x1e01(0x4):_0x4e19b9[_0x1e01(0x9c)],'message':_0x53b793?_0x4e19b9['LoEVg']:_0x4e19b9[_0x1e01(0xa9)]});}catch(_0x33345c){_0x3397f7[_0x1e01(0x12)]({'platform':_0x4e19b9['SEygE'],'component':_0x4e19b9[_0x1e01(0xa2)],'status':'fail','message':_0x1e01(0xaa)+_0x33345c[_0x1e01(0x2c)]});}return _0x3397f7;};export const runConnectorSanityTests=async()=>{const _0x59d6a8={'OUDDx':_0x1e01(0xf),'jbmMX':_0x1e01(0x14),'tExGj':_0x1e01(0x5),'fcIyc':_0x1e01(0x1),'WbYEX':_0x1e01(0x2f),'LIsXl':_0x1e01(0xab),'MNbJJ':_0x1e01(0xac),'LadLY':_0x1e01(0xad),'cqRBk':function(_0x5a1864){return _0x5a1864();},'vvGyJ':function(_0x482a8f){return _0x482a8f();},'nhGYi':'๐Ÿ“‹\x20Testing\x20platform\x20detection...','aZUYX':function(_0x239790){return _0x239790();},'ipsVS':_0x1e01(0xae),'HvZKt':_0x1e01(0xaf),'kSeJj':function(_0x53c1ee,_0x54ee37){return _0x53c1ee===_0x54ee37;},'UaFwg':_0x1e01(0xb0),'HmSQm':_0x1e01(0xb1),'yNDVc':function(_0x52a309,_0x10bd52){return _0x52a309===_0x10bd52;},'HlGld':_0x1e01(0x4),'IMgcl':function(_0x59d329,_0x44fbde){return _0x59d329===_0x44fbde;},'BMTXm':_0x1e01(0xb2),'OPpmN':function(_0x411789,_0x27c796){return _0x411789!==_0x27c796;},'Tcqkg':_0x1e01(0xb3),'YmWNa':_0x1e01(0xb4),'JfmZd':_0x1e01(0xb5)};console['log'](_0x59d6a8[_0x1e01(0xb6)]);const _0x1b02b7=[];console[_0x1e01(0xb7)](_0x59d6a8[_0x1e01(0xb8)]),_0x1b02b7[_0x1e01(0x12)](...testWebViewScriptExports()),console[_0x1e01(0xb7)](_0x59d6a8['LadLY']),_0x1b02b7[_0x1e01(0x12)](..._0x59d6a8[_0x1e01(0xb9)](testServiceImports)),console[_0x1e01(0xb7)]('๐Ÿ“‹\x20Testing\x20extractor\x20imports...'),_0x1b02b7[_0x1e01(0x12)](..._0x59d6a8[_0x1e01(0xba)](testExtractorImports)),console[_0x1e01(0xb7)](_0x59d6a8[_0x1e01(0xbb)]),_0x1b02b7[_0x1e01(0x12)](..._0x59d6a8[_0x1e01(0xbc)](testPlatformDetection)),console[_0x1e01(0xb7)](_0x1e01(0xbd)),_0x1b02b7[_0x1e01(0x12)](...await _0x59d6a8[_0x1e01(0xb9)](testBackendConnectivity));const _0x5b35ac=_0x1b02b7[_0x1e01(0xbe)](_0x10f3f7=>_0x10f3f7[_0x1e01(0x89)]==='pass')[_0x1e01(0xbf)],_0x37929a=_0x1b02b7[_0x1e01(0xbe)](_0x22a703=>_0x22a703[_0x1e01(0x89)]===_0x1e01(0x5))[_0x1e01(0xbf)],_0x7f08a7=_0x1b02b7[_0x1e01(0xbe)](_0x15913a=>_0x15913a[_0x1e01(0x89)]===_0x1e01(0x7c))['length'];console[_0x1e01(0xb7)](_0x59d6a8[_0x1e01(0xc0)]),console[_0x1e01(0xb7)](_0x1e01(0xc1)),console[_0x1e01(0xb7)](_0x59d6a8[_0x1e01(0xc2)]);for(const _0x55317d of _0x1b02b7){if(_0x59d6a8[_0x1e01(0xc3)](_0x59d6a8[_0x1e01(0xc4)],_0x59d6a8[_0x1e01(0xc5)]))_0x1db8b2['push']({'platform':_0x59d6a8[_0x1e01(0xc6)],'component':_0x59d6a8[_0x1e01(0xc7)],'status':_0x59d6a8['tExGj'],'message':_0x1e01(0x2b)+_0x4fdfd5['message']});else{const _0x3ef254=_0x59d6a8['yNDVc'](_0x55317d[_0x1e01(0x89)],_0x59d6a8[_0x1e01(0xc8)])?'โœ…':_0x59d6a8[_0x1e01(0xc9)](_0x55317d[_0x1e01(0x89)],_0x59d6a8[_0x1e01(0xca)])?'โŒ':'โš ๏ธ';console[_0x1e01(0xb7)](_0x3ef254+'\x20['+_0x55317d[_0x1e01(0xcb)]['toUpperCase']()+']\x20'+_0x55317d[_0x1e01(0xcc)]+':\x20'+_0x55317d[_0x1e01(0x2c)]);}}console['log'](_0x59d6a8[_0x1e01(0xc0)]),console[_0x1e01(0xb7)](_0x1e01(0xcd)+_0x5b35ac+_0x1e01(0xce)+_0x37929a+'\x20failed,\x20'+_0x7f08a7+_0x1e01(0xcf)),console[_0x1e01(0xb7)](_0x59d6a8[_0x1e01(0xc2)]);if(_0x37929a>0x0)console[_0x1e01(0xb7)](_0x59d6a8[_0x1e01(0xd0)]);else _0x7f08a7>0x0?console['log'](_0x1e01(0x0)):_0x59d6a8[_0x1e01(0xd1)](_0x59d6a8['Tcqkg'],_0x59d6a8[_0x1e01(0xd2)])?console[_0x1e01(0xb7)](_0x59d6a8[_0x1e01(0xd3)]):_0x27ede0[_0x1e01(0x12)]({'platform':_0x59d6a8[_0x1e01(0xd4)],'component':_0x59d6a8[_0x1e01(0xd5)],'status':_0x1e01(0x5),'message':_0x1e01(0x2b)+_0x2dc679[_0x1e01(0x2c)]});return{'passed':_0x5b35ac,'failed':_0x37929a,'warnings':_0x7f08a7,'results':_0x1b02b7};};export const testPlatformConnector=async _0x458a4c=>{const _0x2eb519={'VaRsV':function(_0x109caa,_0x240537){return _0x109caa(_0x240537);},'fvRzM':_0x1e01(0x8),'OIFTQ':function(_0x45db8d,_0x20f7fb){return _0x45db8d(_0x20f7fb);},'EKwLI':_0x1e01(0x31),'bALUR':_0x1e01(0x5),'tqTmE':'Hinge\x20detection\x20failed','abNey':function(_0x1763eb,_0xf0f94b){return _0x1763eb(_0xf0f94b);},'uYCfX':_0x1e01(0x30),'TabMR':function(_0x66f327,_0x2e2713){return _0x66f327(_0x2e2713);},'XJXEz':'sephora','SBqHz':_0x1e01(0x33),'PdSJk':_0x1e01(0x5b),'zKxPk':function(_0x51ef54,_0xdc0020){return _0x51ef54(_0xdc0020);},'LyuUQ':_0x1e01(0x1),'IDGOm':_0x1e01(0x4),'INGZv':'Telegram\x20detection\x20failed','eSpnR':_0x1e01(0xf),'ppDUu':function(_0x2de99e,_0x5391fe){return _0x2de99e(_0x5391fe);},'Xrbkx':function(_0x2fb9b7,_0x21cb8d){return _0x2fb9b7+_0x21cb8d;},'PyBQH':_0x1e01(0x2f),'rFsqC':_0x1e01(0x3),'NlIPz':function(_0x290f5c,_0x5f33fe){return _0x290f5c===_0x5f33fe;},'bnBJK':function(_0x1a2b5f,_0x35118b){return _0x1a2b5f===_0x35118b;},'RDbEP':_0x1e01(0x79),'qYOaH':_0x1e01(0x60),'xaddu':_0x1e01(0xd6),'TAnSu':function(_0x4c3aff,_0x3aeb82){return _0x4c3aff(_0x3aeb82);},'fUQMW':'storeInstagramData','NbtGf':'storeTelegramData','mygjd':_0x1e01(0x2),'ZbEbf':function(_0x16f5db,_0x1385dc){return _0x16f5db===_0x1385dc;},'mUQQQ':function(_0x56da01,_0x37d76e){return _0x56da01(_0x37d76e);},'RSpEA':function(_0x229500,_0x1ecc65){return _0x229500+_0x1ecc65;},'wZIQW':function(_0x1e3fc9,_0x1945e2){return _0x1e3fc9===_0x1945e2;},'zMTFF':_0x1e01(0xd7),'ebcQh':function(_0xd4cb2e,_0x18bf93){return _0xd4cb2e!==_0x18bf93;},'knSzW':_0x1e01(0xd8),'aIsyU':_0x1e01(0xd9),'MFSas':_0x1e01(0x7c),'OnPBH':function(_0x28a127,_0x48331d){return _0x28a127===_0x48331d;},'NJvzj':_0x1e01(0xda),'VmXKo':function(_0x18a4b0,_0x497f46){return _0x18a4b0===_0x497f46;},'ilypi':function(_0x16e24d,_0x843f89){return _0x16e24d===_0x843f89;}};console[_0x1e01(0xb7)](_0x1e01(0xdb)+_0x458a4c+_0x1e01(0xdc));const _0x3afa2c=[],_0xba0bce=_0x458a4c[_0x1e01(0xdd)]();if([_0x2eb519[_0x1e01(0xde)],_0x2eb519['uYCfX'],'sephora',_0x2eb519[_0x1e01(0xdf)]][_0x1e01(0xe0)](_0xba0bce)){try{const _0x35c539=_0x2eb519[_0x1e01(0xe1)](__ONAIROS_REQ_FUNC__,0x0),_0x598f04=_0xba0bce['toUpperCase']()+_0x1e01(0x8e),_0x3939a7=!!_0x35c539[_0x598f04];_0x3afa2c[_0x1e01(0x12)]({'platform':_0xba0bce,'component':_0x1e01(0x60),'status':_0x3939a7?_0x2eb519['IDGOm']:_0x2eb519['bALUR'],'message':_0x3939a7?_0x1e01(0x78):_0x2eb519[_0x1e01(0xe2)]});}catch(_0x57b6aa){_0x3afa2c[_0x1e01(0x12)]({'platform':_0xba0bce,'component':_0x2eb519[_0x1e01(0xe3)],'status':_0x2eb519['bALUR'],'message':_0x1e01(0x6a)+_0x57b6aa[_0x1e01(0x2c)]});}try{if(_0x2eb519[_0x1e01(0xe4)](_0x1e01(0xd6),_0x2eb519['xaddu'])){const _0x205b4a=_0x2eb519[_0x1e01(0xe5)](__ONAIROS_REQ_FUNC__,0x14),_0xc92d19=_0x2eb519[_0x1e01(0xe6)](_0xba0bce,_0x1e01(0x8))?_0x1e01(0xe7):_0xba0bce===_0x1e01(0x30)?_0x2eb519['fUQMW']:_0x2eb519[_0x1e01(0xe4)](_0xba0bce,_0x2eb519['LyuUQ'])?_0x2eb519[_0x1e01(0xe8)]:_0x1e01(0xe9);_0x3afa2c[_0x1e01(0x12)]({'platform':_0xba0bce,'component':_0x2eb519[_0x1e01(0xea)],'status':_0x2eb519[_0x1e01(0xeb)](typeof _0x205b4a[_0xc92d19],_0x2eb519[_0x1e01(0xec)])?_0x2eb519[_0x1e01(0xed)]:_0x2eb519['bALUR'],'message':_0x1e01(0xee)+_0xc92d19+_0x1e01(0xef)});}else{const _0x123032=[];try{const {isWebViewExtractionPlatform:_0x4fcd86,isHingePlatform:_0x5bc692,isInstagramPlatform:_0x7e7270,isSephoraPlatform:_0x4d6cfc,isLLMPlatform:_0x17f8bb}=_0x2eb519[_0x1e01(0xf0)](_0xdf9432,0x2),_0x236eeb=_0x5bc692(_0x2eb519[_0x1e01(0xde)])&&_0x2eb519[_0x1e01(0xe1)](_0x4fcd86,_0x2eb519[_0x1e01(0xde)])&&!_0x2eb519['OIFTQ'](_0x17f8bb,_0x2eb519['fvRzM']);_0x123032[_0x1e01(0x12)]({'platform':_0x2eb519[_0x1e01(0xde)],'component':_0x2eb519['EKwLI'],'status':_0x236eeb?_0x1e01(0x4):_0x2eb519['bALUR'],'message':_0x236eeb?'Hinge\x20detection\x20correct':_0x2eb519[_0x1e01(0xf1)]});const _0x135257=_0x2eb519['abNey'](_0x7e7270,_0x2eb519[_0x1e01(0xf2)])&&_0x4fcd86(_0x2eb519[_0x1e01(0xf2)])&&!_0x17f8bb(_0x2eb519[_0x1e01(0xf2)]);_0x123032[_0x1e01(0x12)]({'platform':_0x2eb519['uYCfX'],'component':_0x2eb519[_0x1e01(0xf3)],'status':_0x135257?'pass':_0x2eb519[_0x1e01(0xf4)],'message':_0x135257?_0x1e01(0x98):'Instagram\x20detection\x20failed'});const _0x1abbfd=_0x2eb519['TabMR'](_0x4d6cfc,_0x2eb519[_0x1e01(0xf5)])&&_0x4fcd86(_0x1e01(0x23))&&!_0x17f8bb(_0x2eb519[_0x1e01(0xf5)]);_0x123032['push']({'platform':_0x2eb519[_0x1e01(0xf5)],'component':_0x2eb519[_0x1e01(0xf3)],'status':_0x1abbfd?_0x1e01(0x4):_0x2eb519[_0x1e01(0xf4)],'message':_0x1abbfd?_0x2eb519[_0x1e01(0xf6)]:_0x2eb519[_0x1e01(0xf7)]});const {isTelegramPlatform:_0x494927}=_0x2eb519[_0x1e01(0xf8)](_0x1a431a,0x1),_0x5719b3=_0x494927(_0x2eb519['LyuUQ'])&&_0x2eb519[_0x1e01(0xf8)](_0x4fcd86,_0x2eb519[_0x1e01(0xdf)])&&!_0x2eb519['zKxPk'](_0x17f8bb,_0x2eb519[_0x1e01(0xdf)]);_0x123032[_0x1e01(0x12)]({'platform':_0x2eb519['LyuUQ'],'component':_0x2eb519['EKwLI'],'status':_0x5719b3?_0x2eb519[_0x1e01(0xed)]:_0x2eb519['bALUR'],'message':_0x5719b3?'Telegram\x20detection\x20correct':_0x2eb519['INGZv']});}catch(_0x22c822){_0x123032[_0x1e01(0x12)]({'platform':_0x2eb519[_0x1e01(0xf9)],'component':_0x2eb519[_0x1e01(0xf3)],'status':_0x2eb519[_0x1e01(0xf4)],'message':_0x1e01(0xaa)+_0x22c822[_0x1e01(0x2c)]});}return _0x123032;}}catch(_0x2dc368){_0x3afa2c[_0x1e01(0x12)]({'platform':_0xba0bce,'component':_0x1e01(0x2),'status':_0x2eb519[_0x1e01(0xf4)],'message':_0x1e01(0xfa)+_0x2dc368['message']});}try{const _0x528792=_0x2eb519['mUQQQ'](__ONAIROS_REQ_FUNC__,0x15),_0x163bed=_0x1e01(0xfb)+_0x2eb519[_0x1e01(0xfc)](_0xba0bce[_0x1e01(0xfd)](0x0)[_0x1e01(0xfe)](),_0xba0bce[_0x1e01(0xff)](0x1))+'DataExtractor';_0x3afa2c['push']({'platform':_0xba0bce,'component':_0x2eb519['PyBQH'],'status':_0x2eb519[_0x1e01(0x100)](typeof _0x528792[_0x163bed],_0x2eb519[_0x1e01(0xec)])?_0x2eb519['IDGOm']:_0x1e01(0x5),'message':'Extractor\x20hook\x20'+_0x163bed+_0x1e01(0xef)});}catch(_0x1c22bf){if(_0x2eb519[_0x1e01(0xe4)](_0x2eb519[_0x1e01(0x101)],_0x1e01(0xd7)))_0x3afa2c['push']({'platform':_0xba0bce,'component':_0x2eb519[_0x1e01(0x102)],'status':_0x1e01(0x5),'message':_0x1e01(0x46)+_0x1c22bf['message']});else{const _0x31a227=_0x2eb519['ppDUu'](_0x3864b4,0x15),_0x3fd22d=_0x1e01(0xfb)+_0x2eb519['Xrbkx'](_0x1c01c7[_0x1e01(0xfd)](0x0)['toUpperCase'](),_0x51a07a['slice'](0x1))+_0x1e01(0x103);_0x5937dc['push']({'platform':_0x55f1f9,'component':_0x2eb519[_0x1e01(0x102)],'status':typeof _0x31a227[_0x3fd22d]===_0x2eb519[_0x1e01(0xec)]?_0x2eb519[_0x1e01(0xed)]:_0x2eb519[_0x1e01(0xf4)],'message':'Extractor\x20hook\x20'+_0x3fd22d+_0x1e01(0xef)});}}}else{if(_0x2eb519[_0x1e01(0x104)](_0x2eb519[_0x1e01(0x105)],_0x2eb519[_0x1e01(0x106)]))_0x3afa2c[_0x1e01(0x12)]({'platform':_0xba0bce,'component':_0x1e01(0x107),'status':_0x2eb519[_0x1e01(0x108)],'message':'Unknown\x20platform:\x20'+_0x458a4c+'.\x20Use\x20\x27hinge\x27,\x20\x27instagram\x27,\x20\x27sephora\x27,\x20or\x20\x27telegram\x27.'});else{const _0xc17223=_0x2eb519[_0x1e01(0xe6)](_0x413f11[_0x1e01(0x89)],_0x2eb519['IDGOm'])?'โœ…':_0x2eb519['bnBJK'](_0x2d8874[_0x1e01(0x89)],_0x2eb519[_0x1e01(0xf4)])?'โŒ':'โš ๏ธ';_0x44d4ab[_0x1e01(0xb7)](_0xc17223+'\x20'+_0x538d18[_0x1e01(0xcc)]+':\x20'+_0x4b95e7['message']);}}for(const _0x4484ac of _0x3afa2c){if(_0x2eb519[_0x1e01(0x109)](_0x2eb519[_0x1e01(0x10a)],_0x2eb519[_0x1e01(0x10a)])){const _0x47c795=_0x2eb519[_0x1e01(0x10b)](_0x4484ac['status'],_0x2eb519[_0x1e01(0xed)])?'โœ…':_0x2eb519['ilypi'](_0x4484ac['status'],_0x2eb519[_0x1e01(0xf4)])?'โŒ':'โš ๏ธ';console[_0x1e01(0xb7)](_0x47c795+'\x20'+_0x4484ac[_0x1e01(0xcc)]+':\x20'+_0x4484ac[_0x1e01(0x2c)]);}else _0x172e59[_0x1e01(0x12)]({'platform':_0x2eb519[_0x1e01(0xf9)],'component':_0x1e01(0x31),'status':_0x1e01(0x5),'message':'Detection\x20test\x20error:\x20'+_0x4d2e6e[_0x1e01(0x2c)]});}return _0x3afa2c;};function _0x3167(){const _0x3b20ae=['โš ๏ธ\x20All\x20critical\x20tests\x20passed,\x20but\x20there\x20are\x20warnings.','telegram','service','function','pass','fail','Telegram\x20service\x20function\x20available','ChatGPT\x20scripts\x20missing','hinge','Hinge\x20scripts\x20missing','Sephora\x20scripts\x20exported\x20correctly','Sephora\x20scripts\x20missing','Telegram\x20scripts\x20exported\x20correctly','Telegram\x20scripts\x20missing','xBAKW','all','KpFJu','LtNqn','push','chatgpt','webview_scripts','ChatGPT\x20scripts\x20exported\x20correctly','KxCjT','IAAZv','claude','QWFiV','LjZEo','EYIeP','PrHVW','HIIst','Hinge\x20scripts\x20exported\x20correctly','ofAcb','Instagram\x20scripts\x20exported\x20correctly','Instagram\x20scripts\x20missing','LBdpD','sephora','xcWet','TrqyB','NiBma','platform_detection','yarVI','VqOBW','wfuJn','Import\x20error:\x20','message','jPCzR','nvLua','extractor','instagram','detection','Instagram\x20detection\x20failed','Sephora\x20detection\x20correct','Telegram\x20detection\x20correct','Telegram\x20detection\x20failed','ssoSd','Claude\x20service\x20function\x20available','Instagram\x20service\x20function\x20available','sNXav','XdxoM','oAiko','Ablsw','OtEaS','RCoUw','QiIpV','fCFlP','SNlxw','ZEkzO','DJvIq','aGIDd','ASfDd','Extractor\x20import\x20failed:\x20','YTYoz','RYqlc','AHbcI','TDCRd','IqmNx','NeknJ','tNWZu','myhBA','UdpUT','sJRXl','eHfNb','nnugE','UKrZP','EuTxC','Hinge\x20detection\x20failed','ECvMP','ZosDu','euEMs','XIDRt','PVipI','Sephora\x20detection\x20failed','DByCx','BNXJy','lLGFk','TBNGS','webview_script','xDQgp','YZBmd','Hinge\x20extractor\x20hook\x20available','Instagram\x20extractor\x20hook\x20available','PCUKY','Telegram\x20extractor\x20hook\x20available','iKYEk','JmpnG','OfRWh','Script\x20import\x20failed:\x20','CTPSS','GMsFV','HbVBa','BayPj','FROXj','VvlWM','eWwpz','Sephora\x20extractor\x20hook\x20available','pttmr','UwJQh','cmpXH','POMis','HBMdt','Export\x20script\x20available','Export\x20script\x20missing','backend','health','warning','Backend\x20health\x20check\x20passed','DdjFD','OPTIONS','platform_data_endpoint','oihfg','abort','/health','signal','NxSpb','goTer','CeWQX','Backend\x20returned\x20status\x20','status','DiICr','zONDS','HStoE','hkRFS','_EXPORT_SCRIPT','ZQsEF','FqPME','UcQoW','DvSRH','BASE_URL','/platform-data/store','lrAgl','Platform\x20data\x20endpoint\x20check:\x20','Endpoint\x20check\x20failed\x20(may\x20require\x20auth):\x20','Instagram\x20detection\x20correct','sNKgl','czBbv','tkjbC','YYApu','Hinge\x20detection\x20correct','vgKRP','DvOJC','wUUNH','TJGwu','WNcFg','zWUUy','KSKle','QGXzW','uZqDb','NgMXw','FwhHZ','ppknc','Detection\x20test\x20error:\x20','๐Ÿงช\x20[CONNECTOR_TESTS]\x20Starting\x20connector\x20sanity\x20tests...\x0a','๐Ÿ“‹\x20Testing\x20WebView\x20script\x20exports...','๐Ÿ“‹\x20Testing\x20service\x20imports...','\x0a========================================','========================================\x0a','xCKkn','IxjnQ','โŒ\x20Some\x20tests\x20failed!\x20Please\x20check\x20the\x20errors\x20above.','MSDsd','GqcJB','โœ…\x20All\x20tests\x20passed!\x20Connectors\x20are\x20ready.','LIsXl','log','MNbJJ','cqRBk','vvGyJ','nhGYi','aZUYX','๐Ÿ“‹\x20Testing\x20backend\x20connectivity...','filter','length','ipsVS','๐Ÿงช\x20CONNECTOR\x20SANITY\x20TEST\x20RESULTS','HvZKt','kSeJj','UaFwg','HmSQm','OUDDx','jbmMX','HlGld','IMgcl','tExGj','platform','component','๐Ÿ“Š\x20Summary:\x20','\x20passed,\x20','\x20warnings','BMTXm','OPpmN','YmWNa','JfmZd','fcIyc','WbYEX','FWUqM','CYDJn','eVXQH','QKEvy','Jxkcs','๐Ÿงช\x20Testing\x20','\x20connector...\x0a','toLowerCase','fvRzM','LyuUQ','includes','OIFTQ','RDbEP','qYOaH','bnBJK','TAnSu','NlIPz','storeHingeData','NbtGf','storeSephoraData','mygjd','ZbEbf','rFsqC','IDGOm','Service\x20function\x20','\x20available','VaRsV','tqTmE','uYCfX','EKwLI','bALUR','XJXEz','SBqHz','PdSJk','zKxPk','eSpnR','Service\x20import\x20failed:\x20','use','RSpEA','charAt','toUpperCase','slice','wZIQW','zMTFF','PyBQH','DataExtractor','ebcQh','knSzW','aIsyU','validation','MFSas','OnPBH','NJvzj','VmXKo'];_0x3167=function(){return _0x3b20ae;};return _0x3167();}
18
+ import { API_CONFIG } from '../config/api';
19
+
20
+ /**
21
+ * Test result interface
22
+ */
23
+
24
+ /**
25
+ * Test all WebView script exports
26
+ */
27
+ export const testWebViewScriptExports = () => {
28
+ const results = [];
29
+ try {
30
+ // Test ChatGPT scripts
31
+ const {
32
+ CHATGPT_CONSENT_POPUP_SCRIPT,
33
+ CHATGPT_EXPORT_SCRIPT
34
+ } = require('./webviewScripts');
35
+ results.push({
36
+ platform: 'chatgpt',
37
+ component: 'webview_scripts',
38
+ status: CHATGPT_EXPORT_SCRIPT ? 'pass' : 'fail',
39
+ message: CHATGPT_EXPORT_SCRIPT ? 'ChatGPT scripts exported correctly' : 'ChatGPT scripts missing'
40
+ });
41
+
42
+ // Test Claude scripts
43
+ const {
44
+ CLAUDE_CONSENT_POPUP_SCRIPT,
45
+ CLAUDE_EXPORT_SCRIPT
46
+ } = require('./webviewScripts');
47
+ results.push({
48
+ platform: 'claude',
49
+ component: 'webview_scripts',
50
+ status: CLAUDE_EXPORT_SCRIPT ? 'pass' : 'fail',
51
+ message: CLAUDE_EXPORT_SCRIPT ? 'Claude scripts exported correctly' : 'Claude scripts missing'
52
+ });
53
+
54
+ // Test Hinge scripts
55
+ const {
56
+ HINGE_CONSENT_POPUP_SCRIPT,
57
+ HINGE_EXPORT_SCRIPT
58
+ } = require('./webviewScripts');
59
+ results.push({
60
+ platform: 'hinge',
61
+ component: 'webview_scripts',
62
+ status: HINGE_EXPORT_SCRIPT ? 'pass' : 'fail',
63
+ message: HINGE_EXPORT_SCRIPT ? 'Hinge scripts exported correctly' : 'Hinge scripts missing'
64
+ });
65
+
66
+ // Test Instagram scripts
67
+ const {
68
+ INSTAGRAM_CONSENT_POPUP_SCRIPT,
69
+ INSTAGRAM_EXPORT_SCRIPT
70
+ } = require('./webviewScripts');
71
+ results.push({
72
+ platform: 'instagram',
73
+ component: 'webview_scripts',
74
+ status: INSTAGRAM_EXPORT_SCRIPT ? 'pass' : 'fail',
75
+ message: INSTAGRAM_EXPORT_SCRIPT ? 'Instagram scripts exported correctly' : 'Instagram scripts missing'
76
+ });
77
+
78
+ // Test Sephora scripts
79
+ const {
80
+ SEPHORA_CONSENT_POPUP_SCRIPT,
81
+ SEPHORA_EXPORT_SCRIPT
82
+ } = require('./webviewScripts');
83
+ results.push({
84
+ platform: 'sephora',
85
+ component: 'webview_scripts',
86
+ status: SEPHORA_EXPORT_SCRIPT ? 'pass' : 'fail',
87
+ message: SEPHORA_EXPORT_SCRIPT ? 'Sephora scripts exported correctly' : 'Sephora scripts missing'
88
+ });
89
+
90
+ // Test Telegram scripts
91
+ const {
92
+ TELEGRAM_CONSENT_POPUP_SCRIPT,
93
+ TELEGRAM_EXPORT_SCRIPT
94
+ } = require('./webviewScripts');
95
+ results.push({
96
+ platform: 'telegram',
97
+ component: 'webview_scripts',
98
+ status: TELEGRAM_EXPORT_SCRIPT ? 'pass' : 'fail',
99
+ message: TELEGRAM_EXPORT_SCRIPT ? 'Telegram scripts exported correctly' : 'Telegram scripts missing'
100
+ });
101
+
102
+ // Test utility functions
103
+ const {
104
+ isWebViewExtractionPlatform,
105
+ isHingePlatform,
106
+ isInstagramPlatform,
107
+ isSephoraPlatform,
108
+ isTelegramPlatform
109
+ } = require('./webviewScripts');
110
+ results.push({
111
+ platform: 'utilities',
112
+ component: 'platform_detection',
113
+ status: isWebViewExtractionPlatform && isHingePlatform && isInstagramPlatform && isSephoraPlatform && isTelegramPlatform ? 'pass' : 'fail',
114
+ message: 'Platform detection functions available'
115
+ });
116
+ } catch (error) {
117
+ results.push({
118
+ platform: 'all',
119
+ component: 'webview_scripts',
120
+ status: 'fail',
121
+ message: `Import error: ${error.message}`
122
+ });
123
+ }
124
+ return results;
125
+ };
126
+
127
+ /**
128
+ * Test all service imports
129
+ */
130
+ export const testServiceImports = () => {
131
+ const results = [];
132
+
133
+ // Test ChatGPT service
134
+ try {
135
+ const {
136
+ storeChatGPTConversations
137
+ } = require('../services/chatGPTConversationService');
138
+ results.push({
139
+ platform: 'chatgpt',
140
+ component: 'service',
141
+ status: typeof storeChatGPTConversations === 'function' ? 'pass' : 'fail',
142
+ message: 'ChatGPT service function available'
143
+ });
144
+ } catch (error) {
145
+ results.push({
146
+ platform: 'chatgpt',
147
+ component: 'service',
148
+ status: 'fail',
149
+ message: `Import error: ${error.message}`
150
+ });
151
+ }
152
+
153
+ // Test Claude service
154
+ try {
155
+ const {
156
+ storeClaudeConversations
157
+ } = require('../services/claudeConversationService');
158
+ results.push({
159
+ platform: 'claude',
160
+ component: 'service',
161
+ status: typeof storeClaudeConversations === 'function' ? 'pass' : 'fail',
162
+ message: 'Claude service function available'
163
+ });
164
+ } catch (error) {
165
+ results.push({
166
+ platform: 'claude',
167
+ component: 'service',
168
+ status: 'fail',
169
+ message: `Import error: ${error.message}`
170
+ });
171
+ }
172
+
173
+ // Test Hinge service
174
+ try {
175
+ const {
176
+ storeHingeData
177
+ } = require('../services/hingeDataService');
178
+ results.push({
179
+ platform: 'hinge',
180
+ component: 'service',
181
+ status: typeof storeHingeData === 'function' ? 'pass' : 'fail',
182
+ message: 'Hinge service function available'
183
+ });
184
+ } catch (error) {
185
+ results.push({
186
+ platform: 'hinge',
187
+ component: 'service',
188
+ status: 'fail',
189
+ message: `Import error: ${error.message}`
190
+ });
191
+ }
192
+
193
+ // Test Instagram service
194
+ try {
195
+ const {
196
+ storeInstagramData
197
+ } = require('../services/instagramDataService');
198
+ results.push({
199
+ platform: 'instagram',
200
+ component: 'service',
201
+ status: typeof storeInstagramData === 'function' ? 'pass' : 'fail',
202
+ message: 'Instagram service function available'
203
+ });
204
+ } catch (error) {
205
+ results.push({
206
+ platform: 'instagram',
207
+ component: 'service',
208
+ status: 'fail',
209
+ message: `Import error: ${error.message}`
210
+ });
211
+ }
212
+
213
+ // Test Sephora service
214
+ try {
215
+ const {
216
+ storeSephoraData
217
+ } = require('../services/sephoraDataService');
218
+ results.push({
219
+ platform: 'sephora',
220
+ component: 'service',
221
+ status: typeof storeSephoraData === 'function' ? 'pass' : 'fail',
222
+ message: 'Sephora service function available'
223
+ });
224
+ } catch (error) {
225
+ results.push({
226
+ platform: 'sephora',
227
+ component: 'service',
228
+ status: 'fail',
229
+ message: `Import error: ${error.message}`
230
+ });
231
+ }
232
+
233
+ // Test Telegram service
234
+ try {
235
+ const {
236
+ storeTelegramData
237
+ } = require('../services/telegramDataService');
238
+ results.push({
239
+ platform: 'telegram',
240
+ component: 'service',
241
+ status: typeof storeTelegramData === 'function' ? 'pass' : 'fail',
242
+ message: 'Telegram service function available'
243
+ });
244
+ } catch (error) {
245
+ results.push({
246
+ platform: 'telegram',
247
+ component: 'service',
248
+ status: 'fail',
249
+ message: `Import error: ${error.message}`
250
+ });
251
+ }
252
+ return results;
253
+ };
254
+
255
+ /**
256
+ * Test all extractor hook imports
257
+ */
258
+ export const testExtractorImports = () => {
259
+ const results = [];
260
+
261
+ // Test Hinge extractor
262
+ try {
263
+ const {
264
+ useHingeDataExtractor
265
+ } = require('../services/hingeDataExtractor');
266
+ results.push({
267
+ platform: 'hinge',
268
+ component: 'extractor',
269
+ status: typeof useHingeDataExtractor === 'function' ? 'pass' : 'fail',
270
+ message: 'Hinge extractor hook available'
271
+ });
272
+ } catch (error) {
273
+ results.push({
274
+ platform: 'hinge',
275
+ component: 'extractor',
276
+ status: 'fail',
277
+ message: `Import error: ${error.message}`
278
+ });
279
+ }
280
+
281
+ // Test Instagram extractor
282
+ try {
283
+ const {
284
+ useInstagramDataExtractor
285
+ } = require('../services/instagramDataExtractor');
286
+ results.push({
287
+ platform: 'instagram',
288
+ component: 'extractor',
289
+ status: typeof useInstagramDataExtractor === 'function' ? 'pass' : 'fail',
290
+ message: 'Instagram extractor hook available'
291
+ });
292
+ } catch (error) {
293
+ results.push({
294
+ platform: 'instagram',
295
+ component: 'extractor',
296
+ status: 'fail',
297
+ message: `Import error: ${error.message}`
298
+ });
299
+ }
300
+
301
+ // Test Sephora extractor
302
+ try {
303
+ const {
304
+ useSephoraDataExtractor
305
+ } = require('../services/sephoraDataExtractor');
306
+ results.push({
307
+ platform: 'sephora',
308
+ component: 'extractor',
309
+ status: typeof useSephoraDataExtractor === 'function' ? 'pass' : 'fail',
310
+ message: 'Sephora extractor hook available'
311
+ });
312
+ } catch (error) {
313
+ results.push({
314
+ platform: 'sephora',
315
+ component: 'extractor',
316
+ status: 'fail',
317
+ message: `Import error: ${error.message}`
318
+ });
319
+ }
320
+
321
+ // Test Telegram extractor
322
+ try {
323
+ const {
324
+ useTelegramDataExtractor
325
+ } = require('../services/telegramDataExtractor');
326
+ results.push({
327
+ platform: 'telegram',
328
+ component: 'extractor',
329
+ status: typeof useTelegramDataExtractor === 'function' ? 'pass' : 'fail',
330
+ message: 'Telegram extractor hook available'
331
+ });
332
+ } catch (error) {
333
+ results.push({
334
+ platform: 'telegram',
335
+ component: 'extractor',
336
+ status: 'fail',
337
+ message: `Import error: ${error.message}`
338
+ });
339
+ }
340
+ return results;
341
+ };
342
+
343
+ /**
344
+ * Test backend API connectivity
345
+ */
346
+ export const testBackendConnectivity = async () => {
347
+ const results = [];
348
+
349
+ // Test health endpoint
350
+ try {
351
+ const controller = new AbortController();
352
+ const timeoutId = setTimeout(() => controller.abort(), 10000);
353
+ const response = await fetch(`${API_CONFIG.BASE_URL}/health`, {
354
+ method: 'GET',
355
+ signal: controller.signal
356
+ });
357
+ clearTimeout(timeoutId);
358
+ results.push({
359
+ platform: 'backend',
360
+ component: 'health',
361
+ status: response.ok ? 'pass' : 'warning',
362
+ message: response.ok ? 'Backend health check passed' : `Backend returned status ${response.status}`,
363
+ details: {
364
+ status: response.status
365
+ }
366
+ });
367
+ } catch (error) {
368
+ results.push({
369
+ platform: 'backend',
370
+ component: 'health',
371
+ status: 'fail',
372
+ message: `Backend unreachable: ${error.message}`
373
+ });
374
+ }
375
+
376
+ // Test platform-data endpoint exists (OPTIONS request)
377
+ try {
378
+ const controller = new AbortController();
379
+ const timeoutId = setTimeout(() => controller.abort(), 10000);
380
+ const response = await fetch(`${API_CONFIG.BASE_URL}/platform-data/store`, {
381
+ method: 'OPTIONS',
382
+ signal: controller.signal
383
+ });
384
+ clearTimeout(timeoutId);
385
+ results.push({
386
+ platform: 'backend',
387
+ component: 'platform_data_endpoint',
388
+ status: response.status < 500 ? 'pass' : 'warning',
389
+ message: `Platform data endpoint check: ${response.status}`,
390
+ details: {
391
+ status: response.status
392
+ }
393
+ });
394
+ } catch (error) {
395
+ results.push({
396
+ platform: 'backend',
397
+ component: 'platform_data_endpoint',
398
+ status: 'warning',
399
+ message: `Endpoint check failed (may require auth): ${error.message}`
400
+ });
401
+ }
402
+ return results;
403
+ };
404
+
405
+ /**
406
+ * Test platform detection utility functions
407
+ */
408
+ export const testPlatformDetection = () => {
409
+ const results = [];
410
+ try {
411
+ const {
412
+ isWebViewExtractionPlatform,
413
+ isHingePlatform,
414
+ isInstagramPlatform,
415
+ isSephoraPlatform,
416
+ isLLMPlatform
417
+ } = require('./webviewScripts');
418
+
419
+ // Test Hinge detection
420
+ const hingeTest = isHingePlatform('hinge') && isWebViewExtractionPlatform('hinge') && !isLLMPlatform('hinge');
421
+ results.push({
422
+ platform: 'hinge',
423
+ component: 'detection',
424
+ status: hingeTest ? 'pass' : 'fail',
425
+ message: hingeTest ? 'Hinge detection correct' : 'Hinge detection failed'
426
+ });
427
+
428
+ // Test Instagram detection
429
+ const instagramTest = isInstagramPlatform('instagram') && isWebViewExtractionPlatform('instagram') && !isLLMPlatform('instagram');
430
+ results.push({
431
+ platform: 'instagram',
432
+ component: 'detection',
433
+ status: instagramTest ? 'pass' : 'fail',
434
+ message: instagramTest ? 'Instagram detection correct' : 'Instagram detection failed'
435
+ });
436
+
437
+ // Test Sephora detection
438
+ const sephoraTest = isSephoraPlatform('sephora') && isWebViewExtractionPlatform('sephora') && !isLLMPlatform('sephora');
439
+ results.push({
440
+ platform: 'sephora',
441
+ component: 'detection',
442
+ status: sephoraTest ? 'pass' : 'fail',
443
+ message: sephoraTest ? 'Sephora detection correct' : 'Sephora detection failed'
444
+ });
445
+
446
+ // Test Telegram detection
447
+ const {
448
+ isTelegramPlatform
449
+ } = require('./webviewScripts');
450
+ const telegramTest = isTelegramPlatform('telegram') && isWebViewExtractionPlatform('telegram') && !isLLMPlatform('telegram');
451
+ results.push({
452
+ platform: 'telegram',
453
+ component: 'detection',
454
+ status: telegramTest ? 'pass' : 'fail',
455
+ message: telegramTest ? 'Telegram detection correct' : 'Telegram detection failed'
456
+ });
457
+ } catch (error) {
458
+ results.push({
459
+ platform: 'all',
460
+ component: 'detection',
461
+ status: 'fail',
462
+ message: `Detection test error: ${error.message}`
463
+ });
464
+ }
465
+ return results;
466
+ };
467
+
468
+ /**
469
+ * Run all connector sanity tests
470
+ */
471
+ export const runConnectorSanityTests = async () => {
472
+ console.log('๐Ÿงช [CONNECTOR_TESTS] Starting connector sanity tests...\n');
473
+ const allResults = [];
474
+
475
+ // Run all test suites
476
+ console.log('๐Ÿ“‹ Testing WebView script exports...');
477
+ allResults.push(...testWebViewScriptExports());
478
+ console.log('๐Ÿ“‹ Testing service imports...');
479
+ allResults.push(...testServiceImports());
480
+ console.log('๐Ÿ“‹ Testing extractor imports...');
481
+ allResults.push(...testExtractorImports());
482
+ console.log('๐Ÿ“‹ Testing platform detection...');
483
+ allResults.push(...testPlatformDetection());
484
+ console.log('๐Ÿ“‹ Testing backend connectivity...');
485
+ allResults.push(...(await testBackendConnectivity()));
486
+
487
+ // Calculate summary
488
+ const passed = allResults.filter(r => r.status === 'pass').length;
489
+ const failed = allResults.filter(r => r.status === 'fail').length;
490
+ const warnings = allResults.filter(r => r.status === 'warning').length;
491
+
492
+ // Log results
493
+ console.log('\n========================================');
494
+ console.log('๐Ÿงช CONNECTOR SANITY TEST RESULTS');
495
+ console.log('========================================\n');
496
+ for (const result of allResults) {
497
+ const icon = result.status === 'pass' ? 'โœ…' : result.status === 'fail' ? 'โŒ' : 'โš ๏ธ';
498
+ console.log(`${icon} [${result.platform.toUpperCase()}] ${result.component}: ${result.message}`);
499
+ }
500
+ console.log('\n========================================');
501
+ console.log(`๐Ÿ“Š Summary: ${passed} passed, ${failed} failed, ${warnings} warnings`);
502
+ console.log('========================================\n');
503
+ if (failed > 0) {
504
+ console.log('โŒ Some tests failed! Please check the errors above.');
505
+ } else if (warnings > 0) {
506
+ console.log('โš ๏ธ All critical tests passed, but there are warnings.');
507
+ } else {
508
+ console.log('โœ… All tests passed! Connectors are ready.');
509
+ }
510
+ return {
511
+ passed,
512
+ failed,
513
+ warnings,
514
+ results: allResults
515
+ };
516
+ };
517
+
518
+ /**
519
+ * Quick test to validate a specific platform's connector
520
+ */
521
+ export const testPlatformConnector = async platformName => {
522
+ console.log(`๐Ÿงช Testing ${platformName} connector...\n`);
523
+ const results = [];
524
+ const platform = platformName.toLowerCase();
525
+
526
+ // Test based on platform
527
+ if (['hinge', 'instagram', 'sephora', 'telegram'].includes(platform)) {
528
+ // Test script export
529
+ try {
530
+ const scripts = require('./webviewScripts');
531
+ const scriptKey = `${platform.toUpperCase()}_EXPORT_SCRIPT`;
532
+ const hasScript = !!scripts[scriptKey];
533
+ results.push({
534
+ platform,
535
+ component: 'webview_script',
536
+ status: hasScript ? 'pass' : 'fail',
537
+ message: hasScript ? 'Export script available' : 'Export script missing'
538
+ });
539
+ } catch (e) {
540
+ results.push({
541
+ platform,
542
+ component: 'webview_script',
543
+ status: 'fail',
544
+ message: `Script import failed: ${e.message}`
545
+ });
546
+ }
547
+
548
+ // Test service
549
+ try {
550
+ const service = require(`../services/${platform}DataService`);
551
+ const functionName = platform === 'hinge' ? 'storeHingeData' : platform === 'instagram' ? 'storeInstagramData' : platform === 'telegram' ? 'storeTelegramData' : 'storeSephoraData';
552
+ results.push({
553
+ platform,
554
+ component: 'service',
555
+ status: typeof service[functionName] === 'function' ? 'pass' : 'fail',
556
+ message: `Service function ${functionName} available`
557
+ });
558
+ } catch (e) {
559
+ results.push({
560
+ platform,
561
+ component: 'service',
562
+ status: 'fail',
563
+ message: `Service import failed: ${e.message}`
564
+ });
565
+ }
566
+
567
+ // Test extractor
568
+ try {
569
+ const extractor = require(`../services/${platform}DataExtractor`);
570
+ const hookName = `use${platform.charAt(0).toUpperCase() + platform.slice(1)}DataExtractor`;
571
+ results.push({
572
+ platform,
573
+ component: 'extractor',
574
+ status: typeof extractor[hookName] === 'function' ? 'pass' : 'fail',
575
+ message: `Extractor hook ${hookName} available`
576
+ });
577
+ } catch (e) {
578
+ results.push({
579
+ platform,
580
+ component: 'extractor',
581
+ status: 'fail',
582
+ message: `Extractor import failed: ${e.message}`
583
+ });
584
+ }
585
+ } else {
586
+ results.push({
587
+ platform,
588
+ component: 'validation',
589
+ status: 'warning',
590
+ message: `Unknown platform: ${platformName}. Use 'hinge', 'instagram', 'sephora', or 'telegram'.`
591
+ });
592
+ }
593
+
594
+ // Log results
595
+ for (const result of results) {
596
+ const icon = result.status === 'pass' ? 'โœ…' : result.status === 'fail' ? 'โŒ' : 'โš ๏ธ';
597
+ console.log(`${icon} ${result.component}: ${result.message}`);
598
+ }
599
+ return results;
600
+ };
601
+ //# sourceMappingURL=connectorTests.js.map