@onairos/react-native 3.7.1 โ†’ 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 (241) hide show
  1. package/lib/commonjs/api/index.js +219 -9
  2. package/lib/commonjs/assets/icons/spotify.png +0 -0
  3. package/lib/commonjs/assets/images/spotify.png +0 -0
  4. package/lib/commonjs/components/BodyText.js +27 -9
  5. package/lib/commonjs/components/BrandMark.js +111 -10
  6. package/lib/commonjs/components/CodeInput.js +116 -9
  7. package/lib/commonjs/components/EmailInput.js +30 -8
  8. package/lib/commonjs/components/GoogleButton.js +56 -9
  9. package/lib/commonjs/components/HeadingGroup.js +43 -9
  10. package/lib/commonjs/components/LLMDataInputModal.js +664 -14
  11. package/lib/commonjs/components/ModalHeader.js +99 -9
  12. package/lib/commonjs/components/ModalSheet.js +47 -9
  13. package/lib/commonjs/components/Onairos.js +380 -14
  14. package/lib/commonjs/components/OnairosButton.js +313 -13
  15. package/lib/commonjs/components/OnairosSignInButton.js +130 -12
  16. package/lib/commonjs/components/Overlay.js +465 -13
  17. package/lib/commonjs/components/PersonaImage.js +137 -10
  18. package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
  19. package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
  20. package/lib/commonjs/components/PinCreationScreen.js +403 -12
  21. package/lib/commonjs/components/PinInput.js +464 -9
  22. package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
  23. package/lib/commonjs/components/PlatformList.js +137 -10
  24. package/lib/commonjs/components/PlatformToggle.js +180 -9
  25. package/lib/commonjs/components/PrimaryButton.js +180 -10
  26. package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
  27. package/lib/commonjs/components/SignInStep.js +345 -12
  28. package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
  29. package/lib/commonjs/components/VerificationStep.js +176 -11
  30. package/lib/commonjs/components/WelcomeScreen.js +461 -22
  31. package/lib/commonjs/components/icons/Basicproficon.js +37 -8
  32. package/lib/commonjs/components/icons/Basicprofile.js +21 -8
  33. package/lib/commonjs/components/icons/Checkbox.js +21 -8
  34. package/lib/commonjs/components/icons/Checkmark.js +27 -8
  35. package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
  36. package/lib/commonjs/components/icons/Contenticon.js +39 -8
  37. package/lib/commonjs/components/icons/EnochE.js +41 -8
  38. package/lib/commonjs/components/icons/Personalityicon.js +30 -8
  39. package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
  40. package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
  41. package/lib/commonjs/components/icons/Userpreferences.js +21 -8
  42. package/lib/commonjs/components/icons/index.js +84 -17
  43. package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
  44. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
  45. package/lib/commonjs/components/onboarding/PinInput.js +283 -10
  46. package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
  47. package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
  48. package/lib/commonjs/config/api.js +56 -7
  49. package/lib/commonjs/constants/index.js +120 -7
  50. package/lib/commonjs/context/AuthContext.js +345 -10
  51. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
  52. package/lib/commonjs/hooks/useConnections.js +102 -8
  53. package/lib/commonjs/hooks/useCredentials.js +178 -10
  54. package/lib/commonjs/hooks/useUserConnections.js +148 -10
  55. package/lib/commonjs/index.js +439 -34
  56. package/lib/commonjs/services/apiClient.js +298 -8
  57. package/lib/commonjs/services/biometricPinService.js +180 -8
  58. package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
  59. package/lib/commonjs/services/chatGPTConversationService.js +275 -9
  60. package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
  61. package/lib/commonjs/services/claudeConversationService.js +158 -9
  62. package/lib/commonjs/services/connectedAccountsService.js +310 -10
  63. package/lib/commonjs/services/googleAuthService.js +252 -11
  64. package/lib/commonjs/services/hingeDataExtractor.js +105 -8
  65. package/lib/commonjs/services/hingeDataService.js +150 -9
  66. package/lib/commonjs/services/imageCompressionService.js +260 -7
  67. package/lib/commonjs/services/instagramDataExtractor.js +126 -8
  68. package/lib/commonjs/services/instagramDataService.js +163 -9
  69. package/lib/commonjs/services/jwtStorageService.js +276 -7
  70. package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
  71. package/lib/commonjs/services/linkedinProfileService.js +222 -9
  72. package/lib/commonjs/services/linkedinScrapingService.js +230 -8
  73. package/lib/commonjs/services/llmDataStorage.js +294 -8
  74. package/lib/commonjs/services/mobileTrainingService.js +186 -8
  75. package/lib/commonjs/services/netflixDataExtractor.js +120 -8
  76. package/lib/commonjs/services/netflixDataService.js +198 -9
  77. package/lib/commonjs/services/pinEncryptionService.js +84 -8
  78. package/lib/commonjs/services/pinStorageUtils.js +105 -7
  79. package/lib/commonjs/services/platformAuthService.js +1484 -12
  80. package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
  81. package/lib/commonjs/services/sephoraDataService.js +200 -9
  82. package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
  83. package/lib/commonjs/services/spotifyDataService.js +241 -9
  84. package/lib/commonjs/services/storageService.js +404 -8
  85. package/lib/commonjs/services/telegramDataExtractor.js +115 -8
  86. package/lib/commonjs/services/telegramDataService.js +499 -9
  87. package/lib/commonjs/services/trainingApiHelpers.js +73 -7
  88. package/lib/commonjs/services/userConnectionsService.js +340 -10
  89. package/lib/commonjs/services/youtubeMigrationService.js +416 -10
  90. package/lib/commonjs/theme/index.js +250 -7
  91. package/lib/commonjs/types/ambient.d.js +2 -1
  92. package/lib/commonjs/types/declarations.d.js +2 -1
  93. package/lib/commonjs/types/index.js +6 -1
  94. package/lib/commonjs/types/node-fix.d.js +2 -1
  95. package/lib/commonjs/types/node-override.d.js +2 -1
  96. package/lib/commonjs/types/opacity.d.js +2 -1
  97. package/lib/commonjs/types.js +14 -1
  98. package/lib/commonjs/utils/Portal.js +98 -8
  99. package/lib/commonjs/utils/api.js +130 -9
  100. package/lib/commonjs/utils/assetRegistry.js +210 -35
  101. package/lib/commonjs/utils/auth.js +112 -9
  102. package/lib/commonjs/utils/connectorTests.js +613 -29
  103. package/lib/commonjs/utils/crypto.js +62 -8
  104. package/lib/commonjs/utils/debugHelper.js +64 -1
  105. package/lib/commonjs/utils/encryption.js +76 -7
  106. package/lib/commonjs/utils/eventUtils.js +288 -1
  107. package/lib/commonjs/utils/haptics.js +66 -9
  108. package/lib/commonjs/utils/imagePreloader.js +6 -1
  109. package/lib/commonjs/utils/networkDiagnostics.js +226 -8
  110. package/lib/commonjs/utils/onairosApi.js +350 -9
  111. package/lib/commonjs/utils/programmaticFlow.js +117 -9
  112. package/lib/commonjs/utils/retryHelper.js +220 -1
  113. package/lib/commonjs/utils/secureStorage.js +349 -10
  114. package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
  115. package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
  116. package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
  117. package/lib/commonjs/utils/webviewScripts/index.js +698 -15
  118. package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
  119. package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
  120. package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
  121. package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
  122. package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
  123. package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
  124. package/lib/module/api/index.js +211 -1
  125. package/lib/module/assets/icons/spotify.png +0 -0
  126. package/lib/module/assets/images/spotify.png +0 -0
  127. package/lib/module/components/BodyText.js +20 -1
  128. package/lib/module/components/BrandMark.js +104 -1
  129. package/lib/module/components/CodeInput.js +109 -1
  130. package/lib/module/components/EmailInput.js +23 -1
  131. package/lib/module/components/GoogleButton.js +49 -1
  132. package/lib/module/components/HeadingGroup.js +36 -1
  133. package/lib/module/components/LLMDataInputModal.js +656 -7
  134. package/lib/module/components/ModalHeader.js +92 -1
  135. package/lib/module/components/ModalSheet.js +39 -1
  136. package/lib/module/components/Onairos.js +373 -1
  137. package/lib/module/components/OnairosButton.js +305 -1
  138. package/lib/module/components/OnairosSignInButton.js +121 -1
  139. package/lib/module/components/Overlay.js +456 -1
  140. package/lib/module/components/PersonaImage.js +129 -1
  141. package/lib/module/components/PersonaLoadingScreen.js +310 -1
  142. package/lib/module/components/PersonalizationConsentScreen.js +460 -1
  143. package/lib/module/components/PinCreationScreen.js +396 -1
  144. package/lib/module/components/PinInput.js +456 -1
  145. package/lib/module/components/PlatformConnectorsStep.js +1302 -6
  146. package/lib/module/components/PlatformList.js +129 -1
  147. package/lib/module/components/PlatformToggle.js +173 -1
  148. package/lib/module/components/PrimaryButton.js +172 -1
  149. package/lib/module/components/SignInMatchAnimation.js +189 -1
  150. package/lib/module/components/SignInStep.js +338 -1
  151. package/lib/module/components/UniversalOnboarding.js +2770 -1
  152. package/lib/module/components/VerificationStep.js +168 -1
  153. package/lib/module/components/WelcomeScreen.js +453 -1
  154. package/lib/module/components/icons/Basicproficon.js +30 -1
  155. package/lib/module/components/icons/Basicprofile.js +14 -1
  156. package/lib/module/components/icons/Checkbox.js +14 -1
  157. package/lib/module/components/icons/Checkmark.js +20 -1
  158. package/lib/module/components/icons/Contentanalysis.js +14 -1
  159. package/lib/module/components/icons/Contenticon.js +32 -1
  160. package/lib/module/components/icons/EnochE.js +34 -1
  161. package/lib/module/components/icons/Personalityicon.js +23 -1
  162. package/lib/module/components/icons/Personalityprofile.js +14 -1
  163. package/lib/module/components/icons/Personalitytraits.js +14 -1
  164. package/lib/module/components/icons/Userpreferences.js +14 -1
  165. package/lib/module/components/icons/index.js +13 -1
  166. package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
  167. package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
  168. package/lib/module/components/onboarding/PinInput.js +274 -1
  169. package/lib/module/components/onboarding/PlatformConnector.js +240 -1
  170. package/lib/module/config/PLATFORM_APIS.md +849 -0
  171. package/lib/module/config/api.js +47 -1
  172. package/lib/module/constants/index.js +114 -1
  173. package/lib/module/context/AuthContext.js +335 -1
  174. package/lib/module/hooks/useConnectedAccounts.js +106 -1
  175. package/lib/module/hooks/useConnections.js +95 -1
  176. package/lib/module/hooks/useCredentials.js +171 -6
  177. package/lib/module/hooks/useUserConnections.js +140 -1
  178. package/lib/module/index.js +172 -1
  179. package/lib/module/services/apiClient.js +295 -1
  180. package/lib/module/services/biometricPinService.js +169 -1
  181. package/lib/module/services/chatGPTConversationExtractor.js +149 -1
  182. package/lib/module/services/chatGPTConversationService.js +268 -1
  183. package/lib/module/services/claudeConversationExtractor.js +97 -1
  184. package/lib/module/services/claudeConversationService.js +151 -1
  185. package/lib/module/services/connectedAccountsService.js +293 -1
  186. package/lib/module/services/googleAuthService.js +241 -1
  187. package/lib/module/services/hingeDataExtractor.js +99 -1
  188. package/lib/module/services/hingeDataService.js +143 -1
  189. package/lib/module/services/imageCompressionService.js +250 -1
  190. package/lib/module/services/instagramDataExtractor.js +120 -1
  191. package/lib/module/services/instagramDataService.js +156 -1
  192. package/lib/module/services/jwtStorageService.js +257 -1
  193. package/lib/module/services/linkedinDOMExtractor.js +234 -1
  194. package/lib/module/services/linkedinProfileService.js +210 -1
  195. package/lib/module/services/linkedinScrapingService.js +219 -1
  196. package/lib/module/services/llmDataStorage.js +277 -1
  197. package/lib/module/services/mobileTrainingService.js +173 -1
  198. package/lib/module/services/netflixDataExtractor.js +114 -1
  199. package/lib/module/services/netflixDataService.js +191 -1
  200. package/lib/module/services/pinEncryptionService.js +74 -6
  201. package/lib/module/services/pinStorageUtils.js +93 -1
  202. package/lib/module/services/platformAuthService.js +1461 -1
  203. package/lib/module/services/sephoraDataExtractor.js +134 -1
  204. package/lib/module/services/sephoraDataService.js +193 -1
  205. package/lib/module/services/spotifyDataExtractor.js +142 -1
  206. package/lib/module/services/spotifyDataService.js +234 -1
  207. package/lib/module/services/storageService.js +383 -1
  208. package/lib/module/services/telegramDataExtractor.js +109 -1
  209. package/lib/module/services/telegramDataService.js +493 -1
  210. package/lib/module/services/trainingApiHelpers.js +67 -1
  211. package/lib/module/services/userConnectionsService.js +329 -1
  212. package/lib/module/services/youtubeMigrationService.js +405 -1
  213. package/lib/module/theme/index.js +245 -1
  214. package/lib/module/types.js +10 -1
  215. package/lib/module/utils/Portal.js +90 -1
  216. package/lib/module/utils/api.js +118 -1
  217. package/lib/module/utils/assetRegistry.js +200 -34
  218. package/lib/module/utils/auth.js +100 -1
  219. package/lib/module/utils/connectorTests.js +600 -27
  220. package/lib/module/utils/crypto.js +54 -1
  221. package/lib/module/utils/debugHelper.js +54 -1
  222. package/lib/module/utils/encryption.js +67 -1
  223. package/lib/module/utils/eventUtils.js +270 -1
  224. package/lib/module/utils/haptics.js +59 -8
  225. package/lib/module/utils/imagePreloader.js +3 -1
  226. package/lib/module/utils/networkDiagnostics.js +217 -1
  227. package/lib/module/utils/onairosApi.js +333 -1
  228. package/lib/module/utils/programmaticFlow.js +111 -1
  229. package/lib/module/utils/retryHelper.js +211 -1
  230. package/lib/module/utils/secureStorage.js +330 -6
  231. package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
  232. package/lib/module/utils/webviewScripts/claude.js +370 -1
  233. package/lib/module/utils/webviewScripts/hinge.js +405 -1
  234. package/lib/module/utils/webviewScripts/index.js +434 -1
  235. package/lib/module/utils/webviewScripts/instagram.js +448 -1
  236. package/lib/module/utils/webviewScripts/linkedin.js +874 -1
  237. package/lib/module/utils/webviewScripts/netflix.js +376 -1
  238. package/lib/module/utils/webviewScripts/sephora.js +510 -1
  239. package/lib/module/utils/webviewScripts/spotify.js +413 -1
  240. package/lib/module/utils/webviewScripts/telegram.js +672 -1
  241. 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
- function _0x53a5(_0x218a36,_0x53a535){_0x218a36=_0x218a36-0x0;const _0x5442cf=_0x218a();let _0x2bfe86=_0x5442cf[_0x218a36];return _0x2bfe86;}import{API_CONFIG}from'../config/api';export const testWebViewScriptExports=()=>{const _0xd8262c={'dXXdc':function(_0x2fa734,_0x4f825a){return _0x2fa734(_0x4f825a);},'PBmfu':_0x53a5(0x0),'XoErs':'extractor','bViDm':function(_0x55caf3,_0x235303){return _0x55caf3===_0x235303;},'PaswK':_0x53a5(0x1),'yqJTB':_0x53a5(0x2),'gitVq':'FfSRF','GKpPt':_0x53a5(0x3),'AcLkO':_0x53a5(0x4),'FXTKk':'ChatGPT\x20scripts\x20missing','DZFoj':'claude','TSWZS':_0x53a5(0x5),'sGZws':_0x53a5(0x6),'KDvQs':_0x53a5(0x7),'ZJLLQ':_0x53a5(0x8),'GVnpa':function(_0x40691e,_0x334cbd){return _0x40691e(_0x334cbd);},'GHLlB':'instagram','dUYTv':_0x53a5(0x9),'rpins':_0x53a5(0xa),'lTajN':function(_0x49d25f,_0x1d77fb){return _0x49d25f(_0x1d77fb);},'gIxdN':_0x53a5(0xb),'MplIX':'Sephora\x20scripts\x20missing','ZzPGb':_0x53a5(0xc),'kdUgy':'Telegram\x20scripts\x20exported\x20correctly','EYKnq':_0x53a5(0xd),'zHhSq':_0x53a5(0xe),'zBKeC':_0x53a5(0xf),'HuRdr':function(_0x19dddb,_0x410d53){return _0x19dddb&&_0x410d53;},'ZKHfC':'Platform\x20detection\x20functions\x20available','eUDSq':'all'},_0x3aa9e6=[];try{if(_0x53a5(0x10)!==_0xd8262c[_0x53a5(0x11)]){const {CHATGPT_CONSENT_POPUP_SCRIPT:_0x2b79de,CHATGPT_EXPORT_SCRIPT:_0x19625b}=__ONAIROS_REQ_FUNC__(0x13);_0x3aa9e6['push']({'platform':'chatgpt','component':_0xd8262c[_0x53a5(0x12)],'status':_0x19625b?_0x53a5(0x5):_0xd8262c[_0x53a5(0x13)],'message':_0x19625b?_0xd8262c['AcLkO']:_0xd8262c[_0x53a5(0x14)]});const {CLAUDE_CONSENT_POPUP_SCRIPT:_0x343c53,CLAUDE_EXPORT_SCRIPT:_0x48a752}=__ONAIROS_REQ_FUNC__(0x12);_0x3aa9e6[_0x53a5(0x15)]({'platform':_0xd8262c[_0x53a5(0x16)],'component':_0xd8262c[_0x53a5(0x12)],'status':_0x48a752?_0xd8262c[_0x53a5(0x17)]:_0xd8262c[_0x53a5(0x13)],'message':_0x48a752?_0xd8262c[_0x53a5(0x18)]:_0xd8262c[_0x53a5(0x19)]});const {HINGE_CONSENT_POPUP_SCRIPT:_0x4c3f47,HINGE_EXPORT_SCRIPT:_0x161afd}=_0xd8262c[_0x53a5(0x1a)](__ONAIROS_REQ_FUNC__,0x11);_0x3aa9e6[_0x53a5(0x15)]({'platform':_0x53a5(0x0),'component':_0xd8262c[_0x53a5(0x12)],'status':_0x161afd?_0xd8262c[_0x53a5(0x17)]:_0xd8262c[_0x53a5(0x13)],'message':_0x161afd?_0xd8262c[_0x53a5(0x1b)]:_0x53a5(0x1c)});const {INSTAGRAM_CONSENT_POPUP_SCRIPT:_0x4e4f1a,INSTAGRAM_EXPORT_SCRIPT:_0x5dd1dd}=_0xd8262c[_0x53a5(0x1d)](__ONAIROS_REQ_FUNC__,0x6);_0x3aa9e6[_0x53a5(0x15)]({'platform':_0xd8262c[_0x53a5(0x1e)],'component':_0xd8262c['GKpPt'],'status':_0x5dd1dd?_0xd8262c[_0x53a5(0x17)]:_0xd8262c[_0x53a5(0x13)],'message':_0x5dd1dd?_0xd8262c[_0x53a5(0x1f)]:_0xd8262c[_0x53a5(0x20)]});const {SEPHORA_CONSENT_POPUP_SCRIPT:_0x3577f4,SEPHORA_EXPORT_SCRIPT:_0x52c7a7}=_0xd8262c[_0x53a5(0x21)](__ONAIROS_REQ_FUNC__,0x5);_0x3aa9e6[_0x53a5(0x15)]({'platform':_0xd8262c[_0x53a5(0x22)],'component':_0xd8262c[_0x53a5(0x12)],'status':_0x52c7a7?_0xd8262c[_0x53a5(0x17)]:_0xd8262c[_0x53a5(0x13)],'message':_0x52c7a7?_0x53a5(0x23):_0xd8262c['MplIX']});const {TELEGRAM_CONSENT_POPUP_SCRIPT:_0x368199,TELEGRAM_EXPORT_SCRIPT:_0x43710e}=_0xd8262c['dXXdc'](__ONAIROS_REQ_FUNC__,0x4);_0x3aa9e6[_0x53a5(0x15)]({'platform':_0xd8262c[_0x53a5(0x24)],'component':_0xd8262c['GKpPt'],'status':_0x43710e?'pass':_0xd8262c['yqJTB'],'message':_0x43710e?_0xd8262c[_0x53a5(0x25)]:_0xd8262c[_0x53a5(0x26)]});const {isWebViewExtractionPlatform:_0x25963f,isHingePlatform:_0xecf2e2,isInstagramPlatform:_0x59c459,isSephoraPlatform:_0x1c2f88,isTelegramPlatform:_0x475463}=_0xd8262c[_0x53a5(0x1d)](__ONAIROS_REQ_FUNC__,0x3);_0x3aa9e6[_0x53a5(0x15)]({'platform':_0xd8262c['zHhSq'],'component':_0xd8262c[_0x53a5(0x27)],'status':_0xd8262c[_0x53a5(0x28)](_0x25963f,_0xecf2e2)&&_0x59c459&&_0x1c2f88&&_0x475463?_0xd8262c['TSWZS']:_0x53a5(0x2),'message':_0xd8262c[_0x53a5(0x29)]});}else{const {useHingeDataExtractor:useHingeDataExtractor}=_0xd8262c[_0x53a5(0x1a)](_0x52fc05,0xd);_0x44dab6[_0x53a5(0x15)]({'platform':_0xd8262c[_0x53a5(0x2a)],'component':_0xd8262c[_0x53a5(0x2b)],'status':_0xd8262c[_0x53a5(0x2c)](typeof useHingeDataExtractor,_0xd8262c[_0x53a5(0x2d)])?_0x53a5(0x5):_0xd8262c[_0x53a5(0x13)],'message':'Hinge\x20extractor\x20hook\x20available'});}}catch(_0x58da46){_0x3aa9e6[_0x53a5(0x15)]({'platform':_0xd8262c[_0x53a5(0x2e)],'component':_0xd8262c['GKpPt'],'status':_0xd8262c[_0x53a5(0x13)],'message':_0x53a5(0x2f)+_0x58da46[_0x53a5(0x30)]});}return _0x3aa9e6;};export const testServiceImports=()=>{const _0x60ad44={'YoJIc':_0x53a5(0x31),'JIDMO':function(_0x5f2e3a,_0x25b954){return _0x5f2e3a===_0x25b954;},'CnVKY':_0x53a5(0x1),'lhbQG':_0x53a5(0x2),'waSQw':_0x53a5(0x32),'LGwiR':function(_0xb9573a,_0x4fd396){return _0xb9573a(_0x4fd396);},'zjUUO':function(_0xdd5440,_0x2bfd28){return _0xdd5440===_0x2bfd28;},'KhlQr':_0x53a5(0x0),'MSgGQ':_0x53a5(0x33),'FWKGV':'storeInstagramData','wWsCm':function(_0x240061,_0x47d397){return _0x240061===_0x47d397;},'lLcrB':_0x53a5(0xc),'swJsz':'storeTelegramData','MhmCN':_0x53a5(0x34),'DXxdR':'โŒ\x20Some\x20tests\x20failed!\x20Please\x20check\x20the\x20errors\x20above.','EiURq':'sephora','zMleS':function(_0xa73814,_0x44f8c5){return _0xa73814===_0x44f8c5;},'JYQOr':_0x53a5(0x35),'AeNQD':_0x53a5(0x36),'XpYOt':function(_0x7fb60b,_0x47daaf){return _0x7fb60b(_0x47daaf);},'uuTcD':_0x53a5(0x37),'PPSuf':function(_0x1b754f,_0xeb3745){return _0x1b754f!==_0xeb3745;},'FXTgB':_0x53a5(0x38),'EEJvl':function(_0x24e7bc,_0x5e819f){return _0x24e7bc(_0x5e819f);},'oaArN':'claude','PeSGg':_0x53a5(0x5),'Mtdmp':_0x53a5(0x39),'oYWvf':_0x53a5(0x3a),'zvQZg':_0x53a5(0x3b),'EbEwE':function(_0x31b8fc,_0x2be51e){return _0x31b8fc===_0x2be51e;},'VUiFk':function(_0x1b271a,_0x569193){return _0x1b271a(_0x569193);},'gCgeF':_0x53a5(0x3c),'uDqQP':function(_0x9148f2,_0x46551a){return _0x9148f2===_0x46551a;},'WPOdd':_0x53a5(0x3d),'uplBA':function(_0x4a57fa,_0x48e9d1){return _0x4a57fa===_0x48e9d1;},'EipYN':'Sephora\x20service\x20function\x20available','xuolC':function(_0x1ac1ec,_0x935da){return _0x1ac1ec!==_0x935da;},'qmJgG':_0x53a5(0x3e),'ipGMA':_0x53a5(0x3f),'odAUU':function(_0x4f3732,_0x124e03){return _0x4f3732===_0x124e03;},'lOKpM':'PEjNX'},_0x4139d2=[];try{if(_0x60ad44[_0x53a5(0x40)](_0x60ad44[_0x53a5(0x41)],_0x60ad44[_0x53a5(0x42)])){const {storeInstagramData:_0x4ff83e}=_0x1824f5(0xa);_0x3cf3de[_0x53a5(0x15)]({'platform':_0x53a5(0x3c),'component':_0x60ad44[_0x53a5(0x43)],'status':_0x60ad44[_0x53a5(0x44)](typeof _0x4ff83e,_0x60ad44[_0x53a5(0x45)])?_0x53a5(0x5):_0x60ad44[_0x53a5(0x46)],'message':_0x60ad44['waSQw']});}else{const {storeChatGPTConversations:_0x4ba952}=_0x60ad44['XpYOt'](__ONAIROS_REQ_FUNC__,0x7);_0x4139d2[_0x53a5(0x15)]({'platform':_0x60ad44[_0x53a5(0x47)],'component':_0x60ad44['YoJIc'],'status':_0x60ad44[_0x53a5(0x40)](typeof _0x4ba952,_0x60ad44[_0x53a5(0x45)])?_0x53a5(0x5):_0x60ad44[_0x53a5(0x46)],'message':_0x53a5(0x48)});}}catch(_0x35c48e){_0x4139d2[_0x53a5(0x15)]({'platform':'chatgpt','component':_0x60ad44['YoJIc'],'status':_0x60ad44[_0x53a5(0x46)],'message':_0x53a5(0x2f)+_0x35c48e[_0x53a5(0x30)]});}try{if(_0x60ad44[_0x53a5(0x49)](_0x60ad44[_0x53a5(0x4a)],_0x53a5(0x4b))){const {storeClaudeConversations:_0x512821}=_0x60ad44[_0x53a5(0x4c)](__ONAIROS_REQ_FUNC__,0x8);_0x4139d2[_0x53a5(0x15)]({'platform':_0x60ad44[_0x53a5(0x4d)],'component':_0x53a5(0x31),'status':_0x60ad44[_0x53a5(0x4e)](typeof _0x512821,_0x60ad44[_0x53a5(0x45)])?_0x60ad44[_0x53a5(0x4f)]:_0x60ad44['lhbQG'],'message':_0x60ad44[_0x53a5(0x50)]});}else{const _0x3879ca=_0x60ad44[_0x53a5(0x51)](_0x33e9b8,0x14),_0x5dc723=_0x60ad44[_0x53a5(0x4e)](_0x5e036f,_0x60ad44[_0x53a5(0x52)])?_0x60ad44[_0x53a5(0x53)]:_0x5eb24c===_0x53a5(0x3c)?_0x60ad44['FWKGV']:_0x60ad44[_0x53a5(0x54)](_0x5d8811,_0x60ad44['lLcrB'])?_0x60ad44[_0x53a5(0x55)]:_0x60ad44[_0x53a5(0x56)];_0x5ece6d['push']({'platform':_0x4029c2,'component':_0x53a5(0x31),'status':_0x60ad44[_0x53a5(0x54)](typeof _0x3879ca[_0x5dc723],'function')?'pass':_0x60ad44['lhbQG'],'message':_0x53a5(0x57)+_0x5dc723+_0x53a5(0x58)});}}catch(_0x459b5b){_0x4139d2[_0x53a5(0x15)]({'platform':_0x53a5(0x59),'component':_0x60ad44['YoJIc'],'status':_0x60ad44[_0x53a5(0x46)],'message':_0x53a5(0x2f)+_0x459b5b[_0x53a5(0x30)]});}try{if(_0x60ad44[_0x53a5(0x49)](_0x60ad44[_0x53a5(0x5a)],_0x60ad44[_0x53a5(0x5b)])){const {storeHingeData:_0x2b8c4f}=__ONAIROS_REQ_FUNC__(0x9);_0x4139d2[_0x53a5(0x15)]({'platform':_0x60ad44[_0x53a5(0x52)],'component':_0x60ad44[_0x53a5(0x43)],'status':_0x60ad44[_0x53a5(0x5c)](typeof _0x2b8c4f,_0x60ad44[_0x53a5(0x45)])?_0x60ad44[_0x53a5(0x4f)]:_0x60ad44[_0x53a5(0x46)],'message':_0x53a5(0x5d)});}else _0x9dfe05[_0x53a5(0x5e)](_0x53a5(0x5f));}catch(_0x104216){_0x4139d2[_0x53a5(0x15)]({'platform':_0x60ad44[_0x53a5(0x52)],'component':_0x60ad44[_0x53a5(0x43)],'status':_0x53a5(0x2),'message':_0x53a5(0x2f)+_0x104216[_0x53a5(0x30)]});}try{const {storeInstagramData:_0x3601b9}=_0x60ad44[_0x53a5(0x60)](__ONAIROS_REQ_FUNC__,0xa);_0x4139d2['push']({'platform':_0x60ad44[_0x53a5(0x61)],'component':_0x60ad44['YoJIc'],'status':_0x60ad44[_0x53a5(0x5c)](typeof _0x3601b9,_0x60ad44[_0x53a5(0x45)])?_0x60ad44[_0x53a5(0x4f)]:_0x60ad44['lhbQG'],'message':_0x60ad44[_0x53a5(0x62)]});}catch(_0x568d4c){_0x60ad44['uDqQP'](_0x60ad44[_0x53a5(0x63)],_0x60ad44[_0x53a5(0x63)])?_0x4139d2['push']({'platform':_0x60ad44[_0x53a5(0x61)],'component':_0x60ad44[_0x53a5(0x43)],'status':_0x53a5(0x2),'message':_0x53a5(0x2f)+_0x568d4c[_0x53a5(0x30)]}):_0x1ccccc['push']({'platform':'hinge','component':_0x60ad44[_0x53a5(0x43)],'status':_0x60ad44[_0x53a5(0x46)],'message':'Import\x20error:\x20'+_0x2ce4a7['message']});}try{const {storeSephoraData:_0x53799b}=_0x60ad44[_0x53a5(0x60)](__ONAIROS_REQ_FUNC__,0xb);_0x4139d2['push']({'platform':_0x60ad44[_0x53a5(0x64)],'component':'service','status':_0x60ad44[_0x53a5(0x65)](typeof _0x53799b,_0x60ad44[_0x53a5(0x45)])?_0x60ad44[_0x53a5(0x4f)]:_0x60ad44[_0x53a5(0x46)],'message':_0x60ad44['EipYN']});}catch(_0x31c5e9){_0x4139d2[_0x53a5(0x15)]({'platform':_0x60ad44['EiURq'],'component':_0x60ad44[_0x53a5(0x43)],'status':_0x53a5(0x2),'message':_0x53a5(0x2f)+_0x31c5e9[_0x53a5(0x30)]});}try{if(_0x60ad44[_0x53a5(0x66)](_0x60ad44['qmJgG'],_0x53a5(0x3e)))_0x55e1a9[_0x53a5(0x5e)](_0x60ad44[_0x53a5(0x67)]);else{const {storeTelegramData:_0x1e3747}=_0x60ad44[_0x53a5(0x60)](__ONAIROS_REQ_FUNC__,0xc);_0x4139d2[_0x53a5(0x15)]({'platform':_0x60ad44[_0x53a5(0x68)],'component':_0x60ad44[_0x53a5(0x43)],'status':typeof _0x1e3747===_0x60ad44[_0x53a5(0x45)]?_0x60ad44[_0x53a5(0x4f)]:_0x60ad44[_0x53a5(0x46)],'message':_0x60ad44[_0x53a5(0x69)]});}}catch(_0x1ca73f){_0x60ad44[_0x53a5(0x6a)](_0x60ad44[_0x53a5(0x6b)],_0x60ad44[_0x53a5(0x6b)])?_0x4139d2[_0x53a5(0x15)]({'platform':_0x60ad44[_0x53a5(0x68)],'component':_0x60ad44[_0x53a5(0x43)],'status':_0x60ad44[_0x53a5(0x46)],'message':_0x53a5(0x2f)+_0x1ca73f[_0x53a5(0x30)]}):_0x441897[_0x53a5(0x15)]({'platform':_0x60ad44[_0x53a5(0x64)],'component':'service','status':_0x53a5(0x2),'message':'Import\x20error:\x20'+_0x96cca1[_0x53a5(0x30)]});}return _0x4139d2;};export const testExtractorImports=()=>{const _0x58520e={'JGqoY':function(_0x5dd332,_0x1e4f94){return _0x5dd332(_0x1e4f94);},'kIAvP':_0x53a5(0x37),'aGbSb':_0x53a5(0x31),'OdNBn':function(_0xcc8b9e,_0x56416c){return _0xcc8b9e===_0x56416c;},'JbRtW':_0x53a5(0x5),'wWQWT':_0x53a5(0x2),'ZMbrJ':'ChatGPT\x20service\x20function\x20available','WBiwd':_0x53a5(0x3),'CIXUn':_0x53a5(0x0),'fwoVj':_0x53a5(0x6c),'uNvsh':_0x53a5(0x6d),'AHtFO':function(_0x39635f,_0x141969){return _0x39635f!==_0x141969;},'DzSoj':_0x53a5(0x6e),'RlSbS':'DjXww','xkSyy':'function','WBmCP':_0x53a5(0x6f),'qFAtY':function(_0x1a9dce,_0x354de0){return _0x1a9dce===_0x354de0;},'aMCTW':_0x53a5(0x70),'zmskf':_0x53a5(0xb),'tsYGM':'Sephora\x20extractor\x20hook\x20available','oBoIp':function(_0x30c876,_0x288105){return _0x30c876(_0x288105);},'WOVcz':_0x53a5(0xc),'tmiWP':_0x53a5(0x71)},_0x3565a8=[];try{const {useHingeDataExtractor:useHingeDataExtractor}=_0x58520e[_0x53a5(0x72)](__ONAIROS_REQ_FUNC__,0xd);_0x3565a8[_0x53a5(0x15)]({'platform':_0x58520e[_0x53a5(0x73)],'component':_0x58520e['fwoVj'],'status':_0x58520e[_0x53a5(0x74)](typeof useHingeDataExtractor,_0x53a5(0x1))?_0x58520e['JbRtW']:_0x58520e['wWQWT'],'message':_0x58520e[_0x53a5(0x75)]});}catch(_0x2ebfce){if(_0x58520e[_0x53a5(0x76)](_0x58520e[_0x53a5(0x77)],_0x58520e[_0x53a5(0x78)]))_0x3565a8['push']({'platform':_0x58520e[_0x53a5(0x73)],'component':_0x58520e[_0x53a5(0x79)],'status':_0x58520e[_0x53a5(0x7a)],'message':_0x53a5(0x2f)+_0x2ebfce[_0x53a5(0x30)]});else{const {storeChatGPTConversations:_0x356226}=_0x58520e['JGqoY'](_0x109755,0x7);_0x5762f3[_0x53a5(0x15)]({'platform':_0x58520e[_0x53a5(0x7b)],'component':_0x58520e[_0x53a5(0x7c)],'status':_0x58520e[_0x53a5(0x74)](typeof _0x356226,'function')?_0x58520e['JbRtW']:_0x58520e[_0x53a5(0x7a)],'message':_0x58520e[_0x53a5(0x7d)]});}}try{const {useInstagramDataExtractor:useInstagramDataExtractor}=_0x58520e[_0x53a5(0x72)](__ONAIROS_REQ_FUNC__,0xe);_0x3565a8[_0x53a5(0x15)]({'platform':_0x53a5(0x3c),'component':'extractor','status':_0x58520e['OdNBn'](typeof useInstagramDataExtractor,_0x58520e['xkSyy'])?_0x58520e[_0x53a5(0x7e)]:_0x58520e[_0x53a5(0x7a)],'message':_0x58520e[_0x53a5(0x7f)]});}catch(_0x5b60c7){_0x58520e['qFAtY'](_0x58520e[_0x53a5(0x80)],_0x58520e[_0x53a5(0x80)])?_0x3565a8[_0x53a5(0x15)]({'platform':'instagram','component':_0x58520e[_0x53a5(0x79)],'status':_0x58520e[_0x53a5(0x7a)],'message':_0x53a5(0x2f)+_0x5b60c7[_0x53a5(0x30)]}):_0x1f3975['push']({'platform':_0x53a5(0x81),'component':_0x58520e[_0x53a5(0x82)],'status':_0x58520e[_0x53a5(0x7a)],'message':'Import\x20error:\x20'+_0xc10941[_0x53a5(0x30)]});}try{const {useSephoraDataExtractor:useSephoraDataExtractor}=__ONAIROS_REQ_FUNC__(0xf);_0x3565a8[_0x53a5(0x15)]({'platform':_0x58520e[_0x53a5(0x83)],'component':'extractor','status':typeof useSephoraDataExtractor==='function'?_0x58520e[_0x53a5(0x7e)]:_0x58520e[_0x53a5(0x7a)],'message':_0x58520e[_0x53a5(0x84)]});}catch(_0x2dc69c){_0x3565a8[_0x53a5(0x15)]({'platform':_0x58520e[_0x53a5(0x83)],'component':_0x58520e[_0x53a5(0x79)],'status':_0x58520e[_0x53a5(0x7a)],'message':_0x53a5(0x2f)+_0x2dc69c[_0x53a5(0x30)]});}try{const {useTelegramDataExtractor:useTelegramDataExtractor}=_0x58520e[_0x53a5(0x85)](__ONAIROS_REQ_FUNC__,0x10);_0x3565a8[_0x53a5(0x15)]({'platform':_0x58520e[_0x53a5(0x86)],'component':_0x58520e['fwoVj'],'status':_0x58520e[_0x53a5(0x74)](typeof useTelegramDataExtractor,_0x58520e[_0x53a5(0x87)])?_0x58520e[_0x53a5(0x7e)]:_0x58520e['wWQWT'],'message':_0x58520e[_0x53a5(0x88)]});}catch(_0x513a2d){_0x3565a8[_0x53a5(0x15)]({'platform':_0x58520e[_0x53a5(0x86)],'component':_0x53a5(0x6c),'status':_0x58520e[_0x53a5(0x7a)],'message':_0x53a5(0x2f)+_0x513a2d[_0x53a5(0x30)]});}return _0x3565a8;};export const testBackendConnectivity=async()=>{const _0x18e47b={'yqkLW':_0x53a5(0xc),'CAfEb':_0x53a5(0x6c),'KcRPC':_0x53a5(0x2),'bJXik':function(_0x4cf942,_0x2ae8da,_0x507494){return _0x4cf942(_0x2ae8da,_0x507494);},'mGxoh':function(_0x1705fd,_0x4f4f52,_0x7be151){return _0x1705fd(_0x4f4f52,_0x7be151);},'QorDi':function(_0x174bf6,_0x5c2fb1){return _0x174bf6(_0x5c2fb1);},'JqSwk':_0x53a5(0x89),'aapXX':_0x53a5(0x5),'ZMgrl':_0x53a5(0x8a),'JlbwD':function(_0x3255a4,_0x232e83){return _0x3255a4===_0x232e83;},'oZDya':'DUpIB','rbORX':'backend','TmOsI':function(_0x551286,_0x557afb,_0x29aced){return _0x551286(_0x557afb,_0x29aced);},'cixtm':'warning','OHDVz':'platform_data_endpoint'},_0xc92be4=[];try{const _0x34af19=new AbortController(),_0x55a3e9=_0x18e47b['bJXik'](setTimeout,()=>_0x34af19['abort'](),0x2710),_0x4448f5=await _0x18e47b[_0x53a5(0x8b)](fetch,API_CONFIG[_0x53a5(0x8c)]+_0x53a5(0x8d),{'method':'GET','signal':_0x34af19['signal']});_0x18e47b[_0x53a5(0x8e)](clearTimeout,_0x55a3e9),_0xc92be4[_0x53a5(0x15)]({'platform':'backend','component':_0x18e47b[_0x53a5(0x8f)],'status':_0x4448f5['ok']?_0x18e47b[_0x53a5(0x90)]:_0x53a5(0x91),'message':_0x4448f5['ok']?_0x18e47b[_0x53a5(0x92)]:_0x53a5(0x93)+_0x4448f5['status'],'details':{'status':_0x4448f5[_0x53a5(0x94)]}});}catch(_0x19aeab){_0x18e47b[_0x53a5(0x95)](_0x53a5(0x96),_0x18e47b[_0x53a5(0x97)])?_0x1164fe[_0x53a5(0x15)]({'platform':_0x18e47b[_0x53a5(0x98)],'component':_0x18e47b[_0x53a5(0x99)],'status':_0x18e47b[_0x53a5(0x9a)],'message':_0x53a5(0x2f)+_0x507a9c[_0x53a5(0x30)]}):_0xc92be4[_0x53a5(0x15)]({'platform':_0x18e47b['rbORX'],'component':_0x18e47b[_0x53a5(0x8f)],'status':_0x18e47b[_0x53a5(0x9a)],'message':_0x53a5(0x9b)+_0x19aeab['message']});}try{const _0x1bbc10=new AbortController(),_0x5d9bb8=setTimeout(()=>_0x1bbc10[_0x53a5(0x9c)](),0x2710),_0x5eebe9=await _0x18e47b[_0x53a5(0x9d)](fetch,API_CONFIG[_0x53a5(0x8c)]+'/platform-data/store',{'method':'OPTIONS','signal':_0x1bbc10['signal']});_0x18e47b['QorDi'](clearTimeout,_0x5d9bb8),_0xc92be4[_0x53a5(0x15)]({'platform':_0x18e47b['rbORX'],'component':_0x53a5(0x9e),'status':_0x5eebe9[_0x53a5(0x94)]<0x1f4?_0x53a5(0x5):_0x18e47b[_0x53a5(0x9f)],'message':_0x53a5(0xa0)+_0x5eebe9[_0x53a5(0x94)],'details':{'status':_0x5eebe9[_0x53a5(0x94)]}});}catch(_0x1fdd1b){_0xc92be4['push']({'platform':_0x18e47b[_0x53a5(0xa1)],'component':_0x18e47b[_0x53a5(0xa2)],'status':_0x53a5(0x91),'message':'Endpoint\x20check\x20failed\x20(may\x20require\x20auth):\x20'+_0x1fdd1b[_0x53a5(0x30)]});}return _0xc92be4;};export const testPlatformDetection=()=>{const _0x1bb799={'zqZvt':function(_0x4e7425,_0x2b74a3){return _0x4e7425(_0x2b74a3);},'CqeYf':'service','CYKgQ':function(_0x508b0a,_0x5636ef){return _0x508b0a===_0x5636ef;},'lWwDs':_0x53a5(0x1),'DIxCw':'fail','XOmuJ':_0x53a5(0x3f),'jxIul':function(_0x435e08,_0x3f6522){return _0x435e08(_0x3f6522);},'qpbVL':function(_0x421192,_0x25651a){return _0x421192+_0x25651a;},'vcckd':function(_0x1d911f,_0x30f028){return _0x1d911f!==_0x30f028;},'necKK':'dWueZ','MeLJr':_0x53a5(0xa3),'luchU':_0x53a5(0x0),'TXFrG':function(_0x3ddd28,_0x78003f){return _0x3ddd28(_0x78003f);},'ZLipi':_0x53a5(0xa4),'mgdew':_0x53a5(0x5),'GzcET':function(_0x1994a9,_0x37c659){return _0x1994a9(_0x37c659);},'LRgxj':_0x53a5(0x3c),'aQgaQ':function(_0x626256,_0x4d30fa){return _0x626256(_0x4d30fa);},'FdJNh':_0x53a5(0xa5),'akcmi':_0x53a5(0xa6),'KsFjN':function(_0x294d51,_0x528093){return _0x294d51(_0x528093);},'yGJCw':'sephora','IMWYO':function(_0x5b893a,_0x787ad){return _0x5b893a(_0x787ad);},'CIonJ':function(_0x31f081,_0x4ec08d){return _0x31f081(_0x4ec08d);},'eIFaH':'Sephora\x20detection\x20correct','yBmpL':'Sephora\x20detection\x20failed','NNFfl':function(_0x3172ec,_0x3320af){return _0x3172ec(_0x3320af);},'dtBlG':'telegram','CnXHr':function(_0x320a31,_0x13b89e){return _0x320a31(_0x13b89e);},'jEVUA':'Telegram\x20detection\x20correct','ftTNX':_0x53a5(0xa7),'HVhNl':_0x53a5(0x81)},_0x5016ab=[];try{if(_0x1bb799[_0x53a5(0xa8)](_0x1bb799['necKK'],_0x1bb799[_0x53a5(0xa9)])){const {isWebViewExtractionPlatform:_0x47a34c,isHingePlatform:_0x5744ef,isInstagramPlatform:_0xcbbe1,isSephoraPlatform:_0x456678,isLLMPlatform:_0x30d290}=__ONAIROS_REQ_FUNC__(0x2),_0x5b811f=_0x1bb799[_0x53a5(0xaa)](_0x5744ef,_0x53a5(0x0))&&_0x1bb799[_0x53a5(0xab)](_0x47a34c,_0x1bb799['luchU'])&&!_0x1bb799[_0x53a5(0xac)](_0x30d290,_0x53a5(0x0));_0x5016ab[_0x53a5(0x15)]({'platform':_0x1bb799['luchU'],'component':_0x1bb799[_0x53a5(0xad)],'status':_0x5b811f?_0x1bb799['mgdew']:_0x1bb799['DIxCw'],'message':_0x5b811f?_0x53a5(0xae):_0x53a5(0xaf)});const _0x21596f=_0x1bb799[_0x53a5(0xb0)](_0xcbbe1,_0x1bb799['LRgxj'])&&_0x47a34c(_0x1bb799[_0x53a5(0xb1)])&&!_0x1bb799['aQgaQ'](_0x30d290,_0x1bb799[_0x53a5(0xb1)]);_0x5016ab[_0x53a5(0x15)]({'platform':_0x1bb799[_0x53a5(0xb1)],'component':_0x53a5(0xa4),'status':_0x21596f?_0x1bb799['mgdew']:_0x53a5(0x2),'message':_0x21596f?_0x1bb799[_0x53a5(0xb2)]:_0x1bb799['akcmi']});const _0x5a5a1f=_0x1bb799['KsFjN'](_0x456678,_0x1bb799[_0x53a5(0xb3)])&&_0x1bb799['IMWYO'](_0x47a34c,_0x1bb799[_0x53a5(0xb3)])&&!_0x1bb799[_0x53a5(0xb4)](_0x30d290,_0x1bb799['yGJCw']);_0x5016ab[_0x53a5(0x15)]({'platform':_0x1bb799[_0x53a5(0xb3)],'component':_0x1bb799[_0x53a5(0xad)],'status':_0x5a5a1f?_0x1bb799['mgdew']:_0x1bb799[_0x53a5(0xb5)],'message':_0x5a5a1f?_0x1bb799[_0x53a5(0xb6)]:_0x1bb799[_0x53a5(0xb7)]});const {isTelegramPlatform:_0x24c17e}=_0x1bb799[_0x53a5(0xac)](__ONAIROS_REQ_FUNC__,0x1),_0x213222=_0x1bb799[_0x53a5(0xb8)](_0x24c17e,_0x1bb799['dtBlG'])&&_0x1bb799[_0x53a5(0xb8)](_0x47a34c,_0x53a5(0xc))&&!_0x1bb799[_0x53a5(0xb9)](_0x30d290,_0x1bb799[_0x53a5(0xba)]);_0x5016ab[_0x53a5(0x15)]({'platform':_0x1bb799[_0x53a5(0xba)],'component':_0x1bb799[_0x53a5(0xad)],'status':_0x213222?_0x1bb799[_0x53a5(0xbb)]:_0x1bb799['DIxCw'],'message':_0x213222?_0x1bb799[_0x53a5(0xbc)]:_0x53a5(0xbd)});}else{const {storeTelegramData:_0x5697ca}=_0x1bb799[_0x53a5(0xaa)](_0x13ae74,0xc);_0x365676[_0x53a5(0x15)]({'platform':'telegram','component':_0x1bb799[_0x53a5(0xbe)],'status':_0x1bb799[_0x53a5(0xbf)](typeof _0x5697ca,_0x1bb799[_0x53a5(0xc0)])?_0x53a5(0x5):_0x1bb799[_0x53a5(0xb5)],'message':_0x1bb799[_0x53a5(0xc1)]});}}catch(_0x42693f){if(_0x1bb799['vcckd'](_0x1bb799[_0x53a5(0xc2)],_0x1bb799[_0x53a5(0xc2)])){const _0xaf3072=_0x1bb799['jxIul'](_0x426b6d,0x15),_0x23525b='use'+_0x1bb799[_0x53a5(0xc3)](_0x5db889[_0x53a5(0xc4)](0x0)['toUpperCase'](),_0x2263cc[_0x53a5(0xc5)](0x1))+_0x53a5(0xc6);_0x1793bf[_0x53a5(0x15)]({'platform':_0x10e9ba,'component':_0x53a5(0x6c),'status':_0x1bb799[_0x53a5(0xbf)](typeof _0xaf3072[_0x23525b],_0x53a5(0x1))?'pass':_0x1bb799[_0x53a5(0xb5)],'message':_0x53a5(0xc7)+_0x23525b+_0x53a5(0x58)});}else _0x5016ab['push']({'platform':_0x1bb799[_0x53a5(0xc8)],'component':_0x53a5(0xa4),'status':_0x1bb799[_0x53a5(0xb5)],'message':'Detection\x20test\x20error:\x20'+_0x42693f['message']});}return _0x5016ab;};export const runConnectorSanityTests=async()=>{const _0x1b9a43={'zIzFv':_0x53a5(0x81),'aOXid':'detection','jwAdb':_0x53a5(0x2),'FtaoW':_0x53a5(0xc9),'HMCoK':_0x53a5(0xca),'ssetv':function(_0x105ec0){return _0x105ec0();},'UkCZC':_0x53a5(0xcb),'LSLlF':_0x53a5(0xcc),'lxeIL':_0x53a5(0xcd),'EymFr':'========================================\x0a','pKrce':function(_0x2842b2,_0x2b5e48){return _0x2842b2===_0x2b5e48;},'TbGrb':_0x53a5(0xce),'wjEJp':function(_0x2da2db,_0xc68783){return _0x2da2db>_0xc68783;},'BfrSp':_0x53a5(0xcf),'MBnAj':function(_0x59f28b,_0x1258bf){return _0x59f28b>_0x1258bf;},'XXkPE':_0x53a5(0xd0),'buIrF':_0x53a5(0xd1)};console['log'](_0x1b9a43['FtaoW']);const _0x248b4c=[];console['log'](_0x1b9a43[_0x53a5(0xd2)]),_0x248b4c[_0x53a5(0x15)](..._0x1b9a43['ssetv'](testWebViewScriptExports)),console['log'](_0x1b9a43[_0x53a5(0xd3)]),_0x248b4c[_0x53a5(0x15)](...testServiceImports()),console[_0x53a5(0x5e)](_0x53a5(0xd4)),_0x248b4c[_0x53a5(0x15)](..._0x1b9a43[_0x53a5(0xd5)](testExtractorImports)),console[_0x53a5(0x5e)](_0x1b9a43[_0x53a5(0xd6)]),_0x248b4c[_0x53a5(0x15)](..._0x1b9a43[_0x53a5(0xd5)](testPlatformDetection)),console[_0x53a5(0x5e)](_0x53a5(0xd7)),_0x248b4c[_0x53a5(0x15)](...await _0x1b9a43[_0x53a5(0xd5)](testBackendConnectivity));const _0x1abee7=_0x248b4c[_0x53a5(0xd8)](_0x58aabe=>_0x58aabe['status']===_0x53a5(0x5))[_0x53a5(0xd9)],_0x5b253a=_0x248b4c[_0x53a5(0xd8)](_0x596df1=>_0x596df1[_0x53a5(0x94)]===_0x53a5(0x2))[_0x53a5(0xd9)],_0x18e8d0=_0x248b4c[_0x53a5(0xd8)](_0x56d8fd=>_0x56d8fd[_0x53a5(0x94)]==='warning')['length'];console['log']('\x0a========================================'),console[_0x53a5(0x5e)](_0x1b9a43[_0x53a5(0xda)]),console[_0x53a5(0x5e)](_0x1b9a43['EymFr']);for(const _0x29355d of _0x248b4c){const _0x4816b4=_0x1b9a43[_0x53a5(0xdb)](_0x29355d[_0x53a5(0x94)],_0x53a5(0x5))?'โœ…':_0x29355d['status']===_0x1b9a43['jwAdb']?'โŒ':'โš ๏ธ';console[_0x53a5(0x5e)](_0x4816b4+'\x20['+_0x29355d[_0x53a5(0xdc)][_0x53a5(0xdd)]()+']\x20'+_0x29355d[_0x53a5(0xde)]+':\x20'+_0x29355d['message']);}console['log'](_0x1b9a43[_0x53a5(0xdf)]),console[_0x53a5(0x5e)](_0x53a5(0xe0)+_0x1abee7+'\x20passed,\x20'+_0x5b253a+'\x20failed,\x20'+_0x18e8d0+_0x53a5(0xe1)),console[_0x53a5(0x5e)](_0x1b9a43[_0x53a5(0xe2)]);if(_0x1b9a43[_0x53a5(0xe3)](_0x5b253a,0x0))console[_0x53a5(0x5e)](_0x1b9a43[_0x53a5(0xe4)]);else _0x1b9a43[_0x53a5(0xe5)](_0x18e8d0,0x0)?_0x1b9a43[_0x53a5(0xe6)]!=='NKgHu'?console[_0x53a5(0x5e)](_0x1b9a43[_0x53a5(0xe7)]):_0x55c662[_0x53a5(0x15)]({'platform':_0x1b9a43[_0x53a5(0xe8)],'component':_0x1b9a43['aOXid'],'status':_0x1b9a43['jwAdb'],'message':_0x53a5(0xe9)+_0x7ac593['message']}):console['log'](_0x53a5(0x5f));return{'passed':_0x1abee7,'failed':_0x5b253a,'warnings':_0x18e8d0,'results':_0x248b4c};};function _0x218a(){const _0x4a96a2=['hinge','function','fail','webview_scripts','ChatGPT\x20scripts\x20exported\x20correctly','pass','Claude\x20scripts\x20exported\x20correctly','Claude\x20scripts\x20missing','Hinge\x20scripts\x20exported\x20correctly','Instagram\x20scripts\x20exported\x20correctly','Instagram\x20scripts\x20missing','sephora','telegram','Telegram\x20scripts\x20missing','utilities','platform_detection','NKEdp','gitVq','GKpPt','yqJTB','FXTKk','push','DZFoj','TSWZS','sGZws','KDvQs','dXXdc','ZJLLQ','Hinge\x20scripts\x20missing','GVnpa','GHLlB','dUYTv','rpins','lTajN','gIxdN','Sephora\x20scripts\x20exported\x20correctly','ZzPGb','kdUgy','EYKnq','zBKeC','HuRdr','ZKHfC','PBmfu','XoErs','bViDm','PaswK','eUDSq','Import\x20error:\x20','message','service','Instagram\x20service\x20function\x20available','storeHingeData','storeSephoraData','SUqfp','TsAMf','chatgpt','DcNqX','Claude\x20service\x20function\x20available','bptgF','oAVgb','instagram','Ktwmp','INJXb','Telegram\x20service\x20function\x20available','zMleS','JYQOr','AeNQD','YoJIc','JIDMO','CnVKY','lhbQG','uuTcD','ChatGPT\x20service\x20function\x20available','PPSuf','FXTgB','yKBvJ','EEJvl','oaArN','zjUUO','PeSGg','Mtdmp','LGwiR','KhlQr','MSgGQ','wWsCm','swJsz','MhmCN','Service\x20function\x20','\x20available','claude','oYWvf','zvQZg','EbEwE','Hinge\x20service\x20function\x20available','log','โœ…\x20All\x20tests\x20passed!\x20Connectors\x20are\x20ready.','VUiFk','gCgeF','waSQw','WPOdd','EiURq','uplBA','xuolC','DXxdR','lLcrB','ipGMA','odAUU','lOKpM','extractor','Hinge\x20extractor\x20hook\x20available','GRPjR','Instagram\x20extractor\x20hook\x20available','KUzDm','Telegram\x20extractor\x20hook\x20available','JGqoY','CIXUn','OdNBn','uNvsh','AHtFO','DzSoj','RlSbS','fwoVj','wWQWT','kIAvP','aGbSb','ZMbrJ','JbRtW','WBmCP','aMCTW','all','WBiwd','zmskf','tsYGM','oBoIp','WOVcz','xkSyy','tmiWP','health','Backend\x20health\x20check\x20passed','mGxoh','BASE_URL','/health','QorDi','JqSwk','aapXX','warning','ZMgrl','Backend\x20returned\x20status\x20','status','JlbwD','egUFT','oZDya','yqkLW','CAfEb','KcRPC','Backend\x20unreachable:\x20','abort','TmOsI','platform_data_endpoint','cixtm','Platform\x20data\x20endpoint\x20check:\x20','rbORX','OHDVz','mjMWx','detection','Instagram\x20detection\x20correct','Instagram\x20detection\x20failed','RTUgO','vcckd','MeLJr','zqZvt','jxIul','TXFrG','ZLipi','Hinge\x20detection\x20correct','Hinge\x20detection\x20failed','GzcET','LRgxj','FdJNh','yGJCw','CIonJ','DIxCw','eIFaH','yBmpL','NNFfl','CnXHr','dtBlG','mgdew','jEVUA','Telegram\x20detection\x20failed','CqeYf','CYKgQ','lWwDs','XOmuJ','ftTNX','qpbVL','charAt','slice','DataExtractor','Extractor\x20hook\x20','HVhNl','๐Ÿงช\x20[CONNECTOR_TESTS]\x20Starting\x20connector\x20sanity\x20tests...\x0a','๐Ÿ“‹\x20Testing\x20WebView\x20script\x20exports...','๐Ÿ“‹\x20Testing\x20service\x20imports...','๐Ÿ“‹\x20Testing\x20platform\x20detection...','๐Ÿงช\x20CONNECTOR\x20SANITY\x20TEST\x20RESULTS','\x0a========================================','โŒ\x20Some\x20tests\x20failed!\x20Please\x20check\x20the\x20errors\x20above.','PgDpp','โš ๏ธ\x20All\x20critical\x20tests\x20passed,\x20but\x20there\x20are\x20warnings.','HMCoK','UkCZC','๐Ÿ“‹\x20Testing\x20extractor\x20imports...','ssetv','LSLlF','๐Ÿ“‹\x20Testing\x20backend\x20connectivity...','filter','length','lxeIL','pKrce','platform','toUpperCase','component','TbGrb','๐Ÿ“Š\x20Summary:\x20','\x20warnings','EymFr','wjEJp','BfrSp','MBnAj','XXkPE','buIrF','zIzFv','Detection\x20test\x20error:\x20','webview_script','Export\x20script\x20missing','lEWws','storeInstagramData','storeTelegramData','FVOTg','siQGZ','dLHAD','\x20connector...\x0a','toLowerCase','bewMx','eeOXg','ILljt','Sbfjz','cenGh','ZTMcI','FAJAw','_EXPORT_SCRIPT','dZGuc','ePmwr','fUWyY','XlwfV','.\x20Use\x20\x27hinge\x27,\x20\x27instagram\x27,\x20\x27sephora\x27,\x20or\x20\x27telegram\x27.','kAkae','WrRsI','QazHO','fPotH','jggSr','Script\x20import\x20failed:\x20','DvRyP','CFgtj','blGhE','hYznF','pjxKm','Service\x20import\x20failed:\x20','tGjXm','CjpfQ','dupeS','ILvTq','zXxsD','use','jfgnG','Unknown\x20platform:\x20','nUxkT','XvDAS'];_0x218a=function(){return _0x4a96a2;};return _0x218a();}export const testPlatformConnector=async _0x391e45=>{const _0x33ccbb={'XlwfV':'validation','YrPGu':'warning','FHaWz':function(_0x53e6cf,_0x273185){return _0x53e6cf(_0x273185);},'WrRsI':_0x53a5(0xb),'QazHO':'extractor','fPotH':'function','ILvTq':_0x53a5(0x5),'jggSr':_0x53a5(0x2),'eeOXg':_0x53a5(0x3c),'dupeS':function(_0x25e861,_0x1720bf){return _0x25e861(_0x1720bf);},'dZGuc':_0x53a5(0xea),'ePmwr':'Export\x20script\x20available','fUWyY':_0x53a5(0xeb),'jfgnG':_0x53a5(0xd1),'XvDAS':_0x53a5(0x37),'pjxKm':_0x53a5(0x31),'bewMx':_0x53a5(0x0),'ILljt':_0x53a5(0xc),'tGjXm':function(_0x126935,_0x245cf0){return _0x126935!==_0x245cf0;},'cenGh':'HRYAh','ZTMcI':function(_0xdc16e0,_0x1a8537){return _0xdc16e0===_0x1a8537;},'FAJAw':'hMLLk','kAkae':_0x53a5(0xec),'DvRyP':'storeHingeData','CFgtj':function(_0x37ed49,_0x3fd3cd){return _0x37ed49===_0x3fd3cd;},'HONnI':_0x53a5(0xed),'blGhE':_0x53a5(0xee),'hYznF':function(_0x5c730b,_0x6f1735){return _0x5c730b===_0x6f1735;},'uqChf':_0x53a5(0xef),'CjpfQ':_0x53a5(0xf0),'zXxsD':function(_0x2c365b,_0x1bf5a8){return _0x2c365b(_0x1bf5a8);},'OusIp':function(_0x1de891,_0x228f58){return _0x1de891+_0x228f58;},'unERk':function(_0x3d5fcb,_0x5a6c1e){return _0x3d5fcb===_0x5a6c1e;},'nUxkT':_0x53a5(0xf1)};console[_0x53a5(0x5e)]('๐Ÿงช\x20Testing\x20'+_0x391e45+_0x53a5(0xf2));const _0x54cfd3=[],_0x400f25=_0x391e45[_0x53a5(0xf3)]();if([_0x33ccbb[_0x53a5(0xf4)],_0x33ccbb[_0x53a5(0xf5)],_0x33ccbb['WrRsI'],_0x33ccbb[_0x53a5(0xf6)]]['includes'](_0x400f25)){if(_0x33ccbb['tGjXm'](_0x53a5(0xf7),_0x33ccbb[_0x53a5(0xf8)])){try{if(_0x33ccbb[_0x53a5(0xf9)]('hMLLk',_0x33ccbb[_0x53a5(0xfa)])){const _0x2c7464=__ONAIROS_REQ_FUNC__(0x0),_0x4220bf=_0x400f25[_0x53a5(0xdd)]()+_0x53a5(0xfb),_0x2a372e=!!_0x2c7464[_0x4220bf];_0x54cfd3['push']({'platform':_0x400f25,'component':_0x33ccbb[_0x53a5(0xfc)],'status':_0x2a372e?_0x33ccbb['ILvTq']:'fail','message':_0x2a372e?_0x33ccbb[_0x53a5(0xfd)]:_0x33ccbb[_0x53a5(0xfe)]});}else _0x3dfb63[_0x53a5(0x15)]({'platform':_0x8da51a,'component':_0x33ccbb[_0x53a5(0xff)],'status':_0x33ccbb['YrPGu'],'message':'Unknown\x20platform:\x20'+_0x29b765+_0x53a5(0x100)});}catch(_0xc33164){if(_0x33ccbb[_0x53a5(0x101)]!==_0x33ccbb['kAkae']){const {useSephoraDataExtractor:useSephoraDataExtractor}=_0x33ccbb['FHaWz'](_0x30fbb6,0xf);_0x22ff87[_0x53a5(0x15)]({'platform':_0x33ccbb[_0x53a5(0x102)],'component':_0x33ccbb[_0x53a5(0x103)],'status':typeof useSephoraDataExtractor===_0x33ccbb[_0x53a5(0x104)]?_0x33ccbb['ILvTq']:_0x33ccbb[_0x53a5(0x105)],'message':'Sephora\x20extractor\x20hook\x20available'});}else _0x54cfd3[_0x53a5(0x15)]({'platform':_0x400f25,'component':_0x53a5(0xea),'status':_0x33ccbb[_0x53a5(0x105)],'message':_0x53a5(0x106)+_0xc33164[_0x53a5(0x30)]});}try{const _0xc29ce9=__ONAIROS_REQ_FUNC__(0x14),_0x3821b0=_0x400f25===_0x33ccbb['bewMx']?_0x33ccbb[_0x53a5(0x107)]:_0x33ccbb[_0x53a5(0x108)](_0x400f25,_0x33ccbb[_0x53a5(0xf5)])?_0x33ccbb['HONnI']:_0x33ccbb[_0x53a5(0xf9)](_0x400f25,_0x33ccbb[_0x53a5(0xf6)])?_0x33ccbb[_0x53a5(0x109)]:_0x53a5(0x34);_0x54cfd3['push']({'platform':_0x400f25,'component':'service','status':_0x33ccbb[_0x53a5(0x10a)](typeof _0xc29ce9[_0x3821b0],_0x33ccbb['fPotH'])?_0x33ccbb['ILvTq']:_0x33ccbb[_0x53a5(0x105)],'message':'Service\x20function\x20'+_0x3821b0+_0x53a5(0x58)});}catch(_0x58e09f){if(_0x33ccbb['hYznF']('FVOTg',_0x33ccbb['uqChf']))_0x54cfd3['push']({'platform':_0x400f25,'component':_0x33ccbb[_0x53a5(0x10b)],'status':_0x53a5(0x2),'message':_0x53a5(0x10c)+_0x58e09f['message']});else{const {useInstagramDataExtractor:useInstagramDataExtractor}=_0x5da0af(0xe);_0x270c68[_0x53a5(0x15)]({'platform':_0x33ccbb['eeOXg'],'component':_0x33ccbb[_0x53a5(0x103)],'status':typeof useInstagramDataExtractor===_0x33ccbb[_0x53a5(0x104)]?'pass':_0x33ccbb[_0x53a5(0x105)],'message':_0x53a5(0x6f)});}}try{if(_0x33ccbb[_0x53a5(0x10d)]('siQGZ',_0x33ccbb[_0x53a5(0x10e)])){const _0x278dd5=_0x33ccbb[_0x53a5(0x10f)](_0x4b7d48,0x0),_0x4451e5=_0x8612f3[_0x53a5(0xdd)]()+'_EXPORT_SCRIPT',_0x2ff3e7=!!_0x278dd5[_0x4451e5];_0x17e669[_0x53a5(0x15)]({'platform':_0x122f7b,'component':_0x33ccbb[_0x53a5(0xfc)],'status':_0x2ff3e7?_0x33ccbb[_0x53a5(0x110)]:_0x33ccbb[_0x53a5(0x105)],'message':_0x2ff3e7?_0x33ccbb[_0x53a5(0xfd)]:_0x33ccbb[_0x53a5(0xfe)]});}else{const _0x15f0d6=_0x33ccbb[_0x53a5(0x111)](__ONAIROS_REQ_FUNC__,0x15),_0x590ea1=_0x53a5(0x112)+_0x33ccbb['OusIp'](_0x400f25[_0x53a5(0xc4)](0x0)['toUpperCase'](),_0x400f25[_0x53a5(0xc5)](0x1))+'DataExtractor';_0x54cfd3[_0x53a5(0x15)]({'platform':_0x400f25,'component':_0x33ccbb[_0x53a5(0x103)],'status':_0x33ccbb['unERk'](typeof _0x15f0d6[_0x590ea1],_0x33ccbb['fPotH'])?_0x33ccbb['ILvTq']:_0x33ccbb[_0x53a5(0x105)],'message':'Extractor\x20hook\x20'+_0x590ea1+_0x53a5(0x58)});}}catch(_0x2d6cbd){_0x54cfd3[_0x53a5(0x15)]({'platform':_0x400f25,'component':_0x33ccbb[_0x53a5(0x103)],'status':_0x33ccbb[_0x53a5(0x105)],'message':'Extractor\x20import\x20failed:\x20'+_0x2d6cbd[_0x53a5(0x30)]});}}else _0x3839b5['log'](_0x33ccbb[_0x53a5(0x113)]);}else _0x54cfd3[_0x53a5(0x15)]({'platform':_0x400f25,'component':_0x33ccbb['XlwfV'],'status':_0x33ccbb['YrPGu'],'message':_0x53a5(0x114)+_0x391e45+_0x53a5(0x100)});for(const _0x4a74ee of _0x54cfd3){if(_0x33ccbb[_0x53a5(0x115)]===_0x33ccbb[_0x53a5(0x115)]){const _0x57a447=_0x33ccbb['hYznF'](_0x4a74ee[_0x53a5(0x94)],_0x33ccbb[_0x53a5(0x110)])?'โœ…':_0x33ccbb[_0x53a5(0x10a)](_0x4a74ee[_0x53a5(0x94)],_0x33ccbb['jggSr'])?'โŒ':'โš ๏ธ';console[_0x53a5(0x5e)](_0x57a447+'\x20'+_0x4a74ee[_0x53a5(0xde)]+':\x20'+_0x4a74ee[_0x53a5(0x30)]);}else _0x2685a5[_0x53a5(0x15)]({'platform':_0x33ccbb[_0x53a5(0x116)],'component':_0x33ccbb[_0x53a5(0x10b)],'status':'fail','message':_0x53a5(0x2f)+_0xa8e6f4['message']});}return _0x54cfd3;};
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