@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,29 +1,613 @@
1
- 'use strict';
2
- // Onairos SDK - Asset Registry (auto-generated)
3
- var __ONAIROS_REQ_REGISTRY__ = [
4
- require("../config/api"),
5
- require('./webviewScripts'),
6
- require('./webviewScripts'),
7
- require('./webviewScripts'),
8
- require('./webviewScripts'),
9
- require('./webviewScripts'),
10
- require('./webviewScripts'),
11
- require('./webviewScripts'),
12
- require('../services/chatGPTConversationService'),
13
- require('../services/claudeConversationService'),
14
- require('../services/hingeDataService'),
15
- require('../services/instagramDataService'),
16
- require('../services/sephoraDataService'),
17
- require('../services/telegramDataService'),
18
- require('../services/hingeDataExtractor'),
19
- require('../services/instagramDataExtractor'),
20
- require('../services/sephoraDataExtractor'),
21
- require('../services/telegramDataExtractor'),
22
- require('./webviewScripts'),
23
- require('./webviewScripts'),
24
- require('./webviewScripts'),
25
- require(`../services/${platform}DataService`),
26
- require(`../services/${platform}DataExtractor`)
27
- ];
28
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
29
- Object[_0x428b(0x0)](exports,_0x428b(0x1),{'value':!![]}),exports[_0x428b(0x2)]=exports[_0x428b(0x3)]=exports[_0x428b(0x4)]=exports['testPlatformConnector']=exports['testExtractorImports']=exports[_0x428b(0x5)]=exports[_0x428b(0x6)]=void 0x0;function _0x2ea7(){const _0x490a73=['defineProperty','__esModule','testWebViewScriptExports','testServiceImports','testPlatformDetection','testBackendConnectivity','runConnectorSanityTests','chatgpt','webview_scripts','fail','claude','Claude\x20scripts\x20exported\x20correctly','hinge','instagram','Instagram\x20scripts\x20exported\x20correctly','Instagram\x20scripts\x20missing','sephora','Sephora\x20scripts\x20exported\x20correctly','telegram','platform_detection','all','push','oiwgU','YVwME','pass','CzFzv','MyWes','jhojA','LCrnU','UdVNJ','aSMtU','Claude\x20scripts\x20missing','MNfRk','QvhyQ','IdzVe','CsNRI','DCymA','OmYCX','wXlHQ','pXzqZ','cjFKI','Gryda','jMiGP','jZWoR','bJijk','utilities','poqwB','Platform\x20detection\x20functions\x20available','UXxVR','Import\x20error:\x20','message','Hinge\x20scripts\x20missing','Sephora\x20scripts\x20missing','service','Sephora\x20service\x20function\x20available','Export\x20script\x20available','ChatGPT\x20service\x20function\x20available','OPLkz','Claude\x20service\x20function\x20available','PcFVZ','pYxsP','sFEcB','Telegram\x20service\x20function\x20available','CgrOa','GKrpu','qWajc','dVNUH','oUaUy','fGvat','TKcwc','gSPIA','mNDXP','FEROV','EtnQv','EyyDV','HPypg','uOXRQ','uQgiz','xLBaY','hxtuQ','WCZPb','IXDZz','Telegram\x20scripts\x20exported\x20correctly','rGKEq','GLzgT','guAYo','Jfncq','qfZrb','UYuEc','zneOg','function','xkjcj','sDLlO','jGcqT','IJGHw','UbpmD','NosqV','PDFVH','BcCSW','TsKFn','Instagram\x20service\x20function\x20available','HkRkn','GNWye','Export\x20script\x20missing','AOkSQ','extractor','Hinge\x20extractor\x20hook\x20available','Telegram\x20extractor\x20hook\x20available','QfFWD','dqCVp','aPvHZ','wWheB','cJTwC','YFUIC','yYfoF','xinWo','pwALb','KlIuG','nfGfq','testExtractorImports','detection','Hinge\x20detection\x20correct','Hinge\x20detection\x20failed','Sephora\x20detection\x20correct','Sephora\x20detection\x20failed','Telegram\x20detection\x20correct','Telegram\x20detection\x20failed','backend','health','warning','Backend\x20health\x20check\x20passed','OPTIONS','platform_data_endpoint','jQhTq','abort','ZmfKp','API_CONFIG','BASE_URL','/health','signal','HmpEj','FqMWr','TOXkc','xOUnx','kNLuy','Backend\x20returned\x20status\x20','status','IzUmN','GMSjL','yGwDw','nZzLi','Platform\x20data\x20endpoint\x20check:\x20','YfxMO','IwZTX','AaXfv','pfbVY','ncejM','qbkgn','pRgPo','FMYwR','pWgZb','DbkEQ','sJNrU','QOgwb','UTtVN','KhfOL','LSvZI','DRNmy','IVMLw','uSwzB','fMHgl','Detection\x20test\x20error:\x20','Endpoint\x20check\x20failed\x20(may\x20require\x20auth):\x20','storeInstagramData','storeTelegramData','storeSephoraData','vRFyM','Instagram\x20detection\x20correct','Instagram\x20detection\x20failed','zVpZS','NAlRu','DyfMX','Pcdml','BusXG','uJWmf','ilFEx','LbGXZ','zCAeR','lEnfK','MOqzP','WLhgk','BNJgv','TRQZg','cBcPi','dCToY','KFdLq','OJiHU','TCDIZ','LsWrA','JzJBf','MrnSU','vtwSo','oeLDx','fNGkp','๐Ÿงช\x20[CONNECTOR_TESTS]\x20Starting\x20connector\x20sanity\x20tests...\x0a','๐Ÿ“‹\x20Testing\x20WebView\x20script\x20exports...','๐Ÿ“‹\x20Testing\x20service\x20imports...','๐Ÿ“‹\x20Testing\x20backend\x20connectivity...','\x0a========================================','========================================\x0a','SKoyO','โŒ\x20Some\x20tests\x20failed!\x20Please\x20check\x20the\x20errors\x20above.','XlCyY','CtGYm','โš ๏ธ\x20All\x20critical\x20tests\x20passed,\x20but\x20there\x20are\x20warnings.','log','fwAjW','naVtZ','mnrWE','jbaFs','mmjME','AcVEI','filter','length','DsOCn','TWUbE','WWpul','Fiskq','hcObq','platform','toUpperCase','๐Ÿ“Š\x20Summary:\x20','\x20passed,\x20','\x20failed,\x20','\x20warnings','KEdRF','JkKpP','hNMsG','YpbBO','ViOza','UwLSS','xACdd','HWwnn','Hinge\x20scripts\x20exported\x20correctly','Telegram\x20scripts\x20missing','khmXd','IFpVD','webview_script','iWyGe','validation','๐Ÿงช\x20Testing\x20','\x20connector...\x0a','inckg','UCXMF','TQkFb','nzvpn','oSyct','jxgkI','cGwSt','nqshi','xDyMG','CKCJd','_EXPORT_SCRIPT','tMYHZ','TMuCC','LzAoI','unLwF','KuBEB','ynQVZ','ZsBvQ','HldBq','Service\x20function\x20','\x20available','Service\x20import\x20failed:\x20','dDKEV','use','charAt','DataExtractor','dEvWO','BvSZB','AgZTL','Extractor\x20hook\x20','IorHG','Extractor\x20import\x20failed:\x20','uVOhP','ChatGPT\x20scripts\x20exported\x20correctly','ChatGPT\x20scripts\x20missing','KElGe','haGal','LgaBT','EXKIp','xYPsR','CrjXH','qwBnj','VSuUy','ohLvx','Unknown\x20platform:\x20','.\x20Use\x20\x27hinge\x27,\x20\x27instagram\x27,\x20\x27sephora\x27,\x20or\x20\x27telegram\x27.','component','testPlatformConnector'];_0x2ea7=function(){return _0x490a73;};return _0x2ea7();}var _api=__ONAIROS_REQ_FUNC__(0x0);function _0x428b(_0x2ea7e7,_0x428ba9){_0x2ea7e7=_0x2ea7e7-0x0;const _0x517f17=_0x2ea7();let _0x358f53=_0x517f17[_0x2ea7e7];return _0x358f53;}const testWebViewScriptExports=()=>{const _0xca411b={'MNfRk':function(_0x16ed8b,_0x3a845f){return _0x16ed8b(_0x3a845f);},'oiwgU':_0x428b(0x7),'YVwME':_0x428b(0x8),'CzFzv':_0x428b(0x9),'MyWes':'ChatGPT\x20scripts\x20exported\x20correctly','jhojA':'ChatGPT\x20scripts\x20missing','LCrnU':_0x428b(0xa),'UdVNJ':'pass','aSMtU':_0x428b(0xb),'QvhyQ':_0x428b(0xc),'IdzVe':'Hinge\x20scripts\x20missing','CsNRI':function(_0x461e81,_0x655158){return _0x461e81(_0x655158);},'DCymA':_0x428b(0xd),'OmYCX':_0x428b(0xe),'wXlHQ':_0x428b(0xf),'pXzqZ':_0x428b(0x10),'cjFKI':_0x428b(0x11),'Gryda':'Sephora\x20scripts\x20missing','jMiGP':_0x428b(0x12),'jZWoR':'Telegram\x20scripts\x20exported\x20correctly','bJijk':'Telegram\x20scripts\x20missing','poqwB':_0x428b(0x13),'QOCkW':function(_0x2181be,_0x259c5d){return _0x2181be&&_0x259c5d;},'UXxVR':_0x428b(0x14)},_0xf46df1=[];try{const {CHATGPT_CONSENT_POPUP_SCRIPT:_0xb8db89,CHATGPT_EXPORT_SCRIPT:_0x29ed75}=_0xca411b['MNfRk'](__ONAIROS_REQ_FUNC__,0x14);_0xf46df1[_0x428b(0x15)]({'platform':_0xca411b[_0x428b(0x16)],'component':_0xca411b[_0x428b(0x17)],'status':_0x29ed75?_0x428b(0x18):_0xca411b[_0x428b(0x19)],'message':_0x29ed75?_0xca411b[_0x428b(0x1a)]:_0xca411b[_0x428b(0x1b)]});const {CLAUDE_CONSENT_POPUP_SCRIPT:_0x43234f,CLAUDE_EXPORT_SCRIPT:_0x4ac20a}=_0xca411b['MNfRk'](__ONAIROS_REQ_FUNC__,0x13);_0xf46df1['push']({'platform':_0xca411b[_0x428b(0x1c)],'component':_0xca411b[_0x428b(0x17)],'status':_0x4ac20a?_0xca411b[_0x428b(0x1d)]:_0xca411b[_0x428b(0x19)],'message':_0x4ac20a?_0xca411b[_0x428b(0x1e)]:_0x428b(0x1f)});const {HINGE_CONSENT_POPUP_SCRIPT:_0x4fb93a,HINGE_EXPORT_SCRIPT:_0x510e7a}=_0xca411b[_0x428b(0x20)](__ONAIROS_REQ_FUNC__,0x12);_0xf46df1[_0x428b(0x15)]({'platform':_0xca411b[_0x428b(0x21)],'component':_0xca411b[_0x428b(0x17)],'status':_0x510e7a?'pass':_0xca411b[_0x428b(0x19)],'message':_0x510e7a?'Hinge\x20scripts\x20exported\x20correctly':_0xca411b[_0x428b(0x22)]});const {INSTAGRAM_CONSENT_POPUP_SCRIPT:_0x539974,INSTAGRAM_EXPORT_SCRIPT:_0x46797d}=_0xca411b[_0x428b(0x23)](__ONAIROS_REQ_FUNC__,0x7);_0xf46df1[_0x428b(0x15)]({'platform':_0xca411b[_0x428b(0x24)],'component':_0xca411b['YVwME'],'status':_0x46797d?_0xca411b[_0x428b(0x1d)]:_0xca411b[_0x428b(0x19)],'message':_0x46797d?_0xca411b[_0x428b(0x25)]:_0xca411b[_0x428b(0x26)]});const {SEPHORA_CONSENT_POPUP_SCRIPT:_0xf4dfb2,SEPHORA_EXPORT_SCRIPT:_0x5b7f57}=_0xca411b[_0x428b(0x20)](__ONAIROS_REQ_FUNC__,0x6);_0xf46df1[_0x428b(0x15)]({'platform':_0xca411b[_0x428b(0x27)],'component':_0x428b(0x8),'status':_0x5b7f57?_0xca411b[_0x428b(0x1d)]:_0xca411b['CzFzv'],'message':_0x5b7f57?_0xca411b[_0x428b(0x28)]:_0xca411b[_0x428b(0x29)]});const {TELEGRAM_CONSENT_POPUP_SCRIPT:_0x29c153,TELEGRAM_EXPORT_SCRIPT:_0xa468e6}=__ONAIROS_REQ_FUNC__(0x5);_0xf46df1[_0x428b(0x15)]({'platform':_0xca411b[_0x428b(0x2a)],'component':_0x428b(0x8),'status':_0xa468e6?_0xca411b[_0x428b(0x1d)]:_0xca411b[_0x428b(0x19)],'message':_0xa468e6?_0xca411b[_0x428b(0x2b)]:_0xca411b[_0x428b(0x2c)]});const {isWebViewExtractionPlatform:_0x899d9d,isHingePlatform:_0x28fad4,isInstagramPlatform:_0x27afe7,isSephoraPlatform:_0x4fb89f,isTelegramPlatform:_0x3a2d2b}=_0xca411b[_0x428b(0x23)](__ONAIROS_REQ_FUNC__,0x4);_0xf46df1[_0x428b(0x15)]({'platform':_0x428b(0x2d),'component':_0xca411b[_0x428b(0x2e)],'status':_0xca411b['QOCkW'](_0x899d9d,_0x28fad4)&&_0x27afe7&&_0x4fb89f&&_0x3a2d2b?_0xca411b[_0x428b(0x1d)]:_0xca411b[_0x428b(0x19)],'message':_0x428b(0x2f)});}catch(_0x33921f){_0xf46df1[_0x428b(0x15)]({'platform':_0xca411b[_0x428b(0x30)],'component':_0xca411b['YVwME'],'status':_0xca411b[_0x428b(0x19)],'message':_0x428b(0x31)+_0x33921f[_0x428b(0x32)]});}return _0xf46df1;};exports[_0x428b(0x2)]=testWebViewScriptExports;const testServiceImports=()=>{const _0x30339d={'fGvat':function(_0x49ab8d,_0x97cf3c){return _0x49ab8d(_0x97cf3c);},'CgrOa':'chatgpt','TKcwc':'pass','dVNUH':_0x428b(0x9),'gSPIA':'ChatGPT\x20scripts\x20exported\x20correctly','mNDXP':_0x428b(0xa),'uQgiz':_0x428b(0x8),'KOYCJ':_0x428b(0xb),'FEROV':'Claude\x20scripts\x20missing','EtnQv':function(_0x1454a2,_0xe2a5d6){return _0x1454a2(_0xe2a5d6);},'hnmRU':'Hinge\x20scripts\x20exported\x20correctly','EqJiu':_0x428b(0x33),'EyyDV':'instagram','HPypg':_0x428b(0xe),'frJHg':'Instagram\x20scripts\x20missing','uOXRQ':_0x428b(0x10),'xLBaY':_0x428b(0x11),'hxtuQ':_0x428b(0x34),'WCZPb':function(_0x199f5c,_0x4ac45c){return _0x199f5c(_0x4ac45c);},'IXDZz':'telegram','rGKEq':'Telegram\x20scripts\x20missing','ifsng':'utilities','GLzgT':_0x428b(0x13),'guAYo':function(_0x3d9b61,_0x4c72bb){return _0x3d9b61&&_0x4c72bb;},'Jfncq':'Platform\x20detection\x20functions\x20available','qfZrb':_0x428b(0x14),'IJGHw':function(_0x36716e,_0x98c1ba){return _0x36716e(_0x98c1ba);},'UbpmD':'hinge','qWajc':'function','NosqV':'Hinge\x20service\x20function\x20available','ajlHc':function(_0x1b7383,_0x172d50){return _0x1b7383(_0x172d50);},'jGcqT':_0x428b(0x35),'zneOg':function(_0x83bd7a,_0x7b3b9e){return _0x83bd7a===_0x7b3b9e;},'BcCSW':_0x428b(0x36),'GNWye':'webview_script','adXLd':_0x428b(0x37),'GKrpu':function(_0x21b559,_0x144109){return _0x21b559===_0x144109;},'wPGkp':_0x428b(0x38),'pupzD':function(_0x3ca9e5,_0xe4f2dc){return _0x3ca9e5===_0xe4f2dc;},'LLJEC':_0x428b(0x39),'UYuEc':function(_0x141599,_0x45a923){return _0x141599(_0x45a923);},'xkjcj':_0x428b(0x3a),'sDLlO':_0x428b(0x3b),'dMrfF':_0x428b(0x3c),'TsKFn':function(_0x36e1a2,_0xef3ddb){return _0x36e1a2===_0xef3ddb;},'TEarJ':function(_0x52b1fd,_0x2de209){return _0x52b1fd===_0x2de209;},'HkRkn':_0x428b(0x3d),'AOkSQ':function(_0x20e2c6,_0x4d8993){return _0x20e2c6===_0x4d8993;},'BnUAK':_0x428b(0x3e)},_0x4c2f83=[];try{const {storeChatGPTConversations:_0x2a105a}=__ONAIROS_REQ_FUNC__(0x8);_0x4c2f83[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x3f)],'component':_0x30339d['jGcqT'],'status':_0x30339d[_0x428b(0x40)](typeof _0x2a105a,_0x30339d[_0x428b(0x41)])?_0x428b(0x18):_0x30339d[_0x428b(0x42)],'message':_0x30339d['wPGkp']});}catch(_0x2f34ac){_0x4c2f83[_0x428b(0x15)]({'platform':_0x30339d['CgrOa'],'component':_0x30339d['jGcqT'],'status':'fail','message':_0x428b(0x31)+_0x2f34ac[_0x428b(0x32)]});}try{if(_0x30339d['pupzD'](_0x428b(0x43),_0x30339d['LLJEC'])){const _0x40a6c9=[];try{const {CHATGPT_CONSENT_POPUP_SCRIPT:_0x2a0435,CHATGPT_EXPORT_SCRIPT:_0x5651fd}=_0x30339d[_0x428b(0x44)](_0x130655,0x14);_0x40a6c9['push']({'platform':_0x30339d['CgrOa'],'component':_0x428b(0x8),'status':_0x5651fd?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x5651fd?_0x30339d[_0x428b(0x46)]:'ChatGPT\x20scripts\x20missing'});const {CLAUDE_CONSENT_POPUP_SCRIPT:_0x54ebcb,CLAUDE_EXPORT_SCRIPT:_0x809e90}=_0x540e4e(0x13);_0x40a6c9[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x47)],'component':_0x30339d['uQgiz'],'status':_0x809e90?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x809e90?_0x30339d['KOYCJ']:_0x30339d[_0x428b(0x48)]});const {HINGE_CONSENT_POPUP_SCRIPT:_0x3f7e3d,HINGE_EXPORT_SCRIPT:_0x5d1f78}=_0x30339d[_0x428b(0x49)](_0x510856,0x12);_0x40a6c9['push']({'platform':_0x428b(0xc),'component':_0x428b(0x8),'status':_0x5d1f78?_0x30339d['TKcwc']:_0x30339d[_0x428b(0x42)],'message':_0x5d1f78?_0x30339d['hnmRU']:_0x30339d['EqJiu']});const {INSTAGRAM_CONSENT_POPUP_SCRIPT:_0x41af0e,INSTAGRAM_EXPORT_SCRIPT:_0x4bf8cb}=_0x30339d['fGvat'](_0x2ff322,0x7);_0x40a6c9[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x4a)],'component':_0x30339d['uQgiz'],'status':_0x4bf8cb?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x4bf8cb?_0x30339d[_0x428b(0x4b)]:_0x30339d['frJHg']});const {SEPHORA_CONSENT_POPUP_SCRIPT:_0x4aa48e,SEPHORA_EXPORT_SCRIPT:_0xa80f42}=_0x30339d[_0x428b(0x49)](_0x1c4558,0x6);_0x40a6c9[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x4c)],'component':_0x30339d[_0x428b(0x4d)],'status':_0xa80f42?_0x30339d[_0x428b(0x45)]:'fail','message':_0xa80f42?_0x30339d[_0x428b(0x4e)]:_0x30339d[_0x428b(0x4f)]});const {TELEGRAM_CONSENT_POPUP_SCRIPT:_0x5064c5,TELEGRAM_EXPORT_SCRIPT:_0x4da7c0}=_0x30339d[_0x428b(0x50)](_0x17557b,0x5);_0x40a6c9[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x51)],'component':_0x30339d[_0x428b(0x4d)],'status':_0x4da7c0?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x4da7c0?_0x428b(0x52):_0x30339d[_0x428b(0x53)]});const {isWebViewExtractionPlatform:_0xb2d539,isHingePlatform:_0x481115,isInstagramPlatform:_0x276e03,isSephoraPlatform:_0x3cc7f8,isTelegramPlatform:_0x5ba10e}=_0x30339d[_0x428b(0x50)](_0x9350c0,0x4);_0x40a6c9[_0x428b(0x15)]({'platform':_0x30339d['ifsng'],'component':_0x30339d[_0x428b(0x54)],'status':_0x30339d[_0x428b(0x55)](_0xb2d539,_0x481115)&&_0x276e03&&_0x3cc7f8&&_0x5ba10e?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x30339d[_0x428b(0x56)]});}catch(_0x5594c9){_0x40a6c9[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x57)],'component':_0x30339d[_0x428b(0x4d)],'status':_0x30339d[_0x428b(0x42)],'message':_0x428b(0x31)+_0x5594c9[_0x428b(0x32)]});}return _0x40a6c9;}else{const {storeClaudeConversations:_0x507809}=_0x30339d[_0x428b(0x58)](__ONAIROS_REQ_FUNC__,0x9);_0x4c2f83[_0x428b(0x15)]({'platform':'claude','component':_0x428b(0x35),'status':_0x30339d[_0x428b(0x59)](typeof _0x507809,_0x428b(0x5a))?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x30339d[_0x428b(0x5b)]});}}catch(_0x552184){if(_0x30339d[_0x428b(0x59)](_0x428b(0x3b),_0x30339d[_0x428b(0x5c)]))_0x4c2f83['push']({'platform':_0x30339d[_0x428b(0x47)],'component':_0x30339d[_0x428b(0x5d)],'status':_0x30339d[_0x428b(0x42)],'message':_0x428b(0x31)+_0x552184['message']});else{const {storeHingeData:_0x4c9524}=_0x30339d[_0x428b(0x5e)](_0x362399,0xa);_0x56cedf['push']({'platform':_0x30339d[_0x428b(0x5f)],'component':'service','status':typeof _0x4c9524===_0x30339d['qWajc']?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x30339d[_0x428b(0x60)]});}}try{if(_0x30339d['dMrfF']!==_0x428b(0x61)){const {storeHingeData:_0xba3ec6}=__ONAIROS_REQ_FUNC__(0xa);_0x4c2f83[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x5f)],'component':_0x30339d[_0x428b(0x5d)],'status':_0x30339d['zneOg'](typeof _0xba3ec6,_0x30339d['qWajc'])?_0x30339d[_0x428b(0x45)]:_0x30339d['dVNUH'],'message':_0x30339d[_0x428b(0x60)]});}else{const {storeSephoraData:_0x14afbf}=_0x30339d['ajlHc'](_0x531c9a,0xc);_0x3bd36b[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x4c)],'component':_0x30339d[_0x428b(0x5d)],'status':_0x30339d[_0x428b(0x59)](typeof _0x14afbf,_0x30339d[_0x428b(0x41)])?_0x428b(0x18):_0x30339d[_0x428b(0x42)],'message':_0x30339d[_0x428b(0x62)]});}}catch(_0x3bbea8){_0x4c2f83[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x5f)],'component':_0x30339d['jGcqT'],'status':_0x30339d[_0x428b(0x42)],'message':_0x428b(0x31)+_0x3bbea8[_0x428b(0x32)]});}try{const {storeInstagramData:_0x365bec}=__ONAIROS_REQ_FUNC__(0xb);_0x4c2f83[_0x428b(0x15)]({'platform':_0x30339d['EyyDV'],'component':_0x30339d[_0x428b(0x5d)],'status':_0x30339d[_0x428b(0x63)](typeof _0x365bec,_0x30339d[_0x428b(0x41)])?'pass':_0x30339d[_0x428b(0x42)],'message':_0x428b(0x64)});}catch(_0x480e82){_0x4c2f83['push']({'platform':_0x30339d[_0x428b(0x4a)],'component':_0x30339d['jGcqT'],'status':_0x30339d[_0x428b(0x42)],'message':_0x428b(0x31)+_0x480e82[_0x428b(0x32)]});}try{const {storeSephoraData:_0x34ca6b}=__ONAIROS_REQ_FUNC__(0xc);_0x4c2f83['push']({'platform':_0x30339d['uOXRQ'],'component':_0x30339d['jGcqT'],'status':typeof _0x34ca6b===_0x30339d[_0x428b(0x41)]?_0x428b(0x18):_0x30339d[_0x428b(0x42)],'message':_0x30339d[_0x428b(0x62)]});}catch(_0x125983){if(_0x30339d['TEarJ'](_0x30339d[_0x428b(0x65)],_0x30339d[_0x428b(0x65)]))_0x4c2f83['push']({'platform':_0x428b(0x10),'component':_0x30339d[_0x428b(0x5d)],'status':_0x30339d[_0x428b(0x42)],'message':_0x428b(0x31)+_0x125983[_0x428b(0x32)]});else{const _0x39120f=_0x30339d[_0x428b(0x44)](_0x5e9539,0x1),_0x56ac1b=_0x25da56['toUpperCase']()+'_EXPORT_SCRIPT',_0x19f44f=!!_0x39120f[_0x56ac1b];_0x1c90ab[_0x428b(0x15)]({'platform':_0x2e3d1d,'component':_0x30339d[_0x428b(0x66)],'status':_0x19f44f?_0x30339d[_0x428b(0x45)]:_0x30339d[_0x428b(0x42)],'message':_0x19f44f?_0x30339d['adXLd']:_0x428b(0x67)});}}try{const {storeTelegramData:_0x2b966a}=_0x30339d['UYuEc'](__ONAIROS_REQ_FUNC__,0xd);_0x4c2f83[_0x428b(0x15)]({'platform':_0x30339d[_0x428b(0x51)],'component':_0x428b(0x35),'status':_0x30339d[_0x428b(0x68)](typeof _0x2b966a,'function')?'pass':_0x428b(0x9),'message':_0x30339d['BnUAK']});}catch(_0x4dd734){_0x4c2f83['push']({'platform':_0x428b(0x12),'component':_0x30339d[_0x428b(0x5d)],'status':_0x428b(0x9),'message':_0x428b(0x31)+_0x4dd734[_0x428b(0x32)]});}return _0x4c2f83;};exports[_0x428b(0x3)]=testServiceImports;const testExtractorImports=()=>{const _0xfc04aa={'QfFWD':function(_0x3df815,_0xeef4de){return _0x3df815(_0xeef4de);},'dqCVp':_0x428b(0x69),'aPvHZ':function(_0x3fff8f,_0x3fa973){return _0x3fff8f===_0x3fa973;},'wWheB':'function','cJTwC':_0x428b(0x18),'YFUIC':_0x428b(0x6a),'yYfoF':'hinge','xinWo':function(_0x5c6097,_0x2284d7){return _0x5c6097===_0x2284d7;},'pwALb':_0x428b(0x9),'KlIuG':_0x428b(0x10),'KGHdU':function(_0x14931d,_0x2663a0){return _0x14931d===_0x2663a0;},'QSKcU':'Sephora\x20extractor\x20hook\x20available','nfGfq':_0x428b(0x12),'omjfl':_0x428b(0x6b)},_0x5af6b5=[];try{const {useHingeDataExtractor:useHingeDataExtractor}=_0xfc04aa[_0x428b(0x6c)](__ONAIROS_REQ_FUNC__,0xe);_0x5af6b5[_0x428b(0x15)]({'platform':_0x428b(0xc),'component':_0xfc04aa[_0x428b(0x6d)],'status':_0xfc04aa[_0x428b(0x6e)](typeof useHingeDataExtractor,_0xfc04aa[_0x428b(0x6f)])?_0xfc04aa[_0x428b(0x70)]:'fail','message':_0xfc04aa[_0x428b(0x71)]});}catch(_0x108bc1){_0x5af6b5['push']({'platform':_0xfc04aa[_0x428b(0x72)],'component':_0xfc04aa[_0x428b(0x6d)],'status':'fail','message':_0x428b(0x31)+_0x108bc1[_0x428b(0x32)]});}try{const {useInstagramDataExtractor:useInstagramDataExtractor}=_0xfc04aa[_0x428b(0x6c)](__ONAIROS_REQ_FUNC__,0xf);_0x5af6b5['push']({'platform':_0x428b(0xd),'component':_0xfc04aa['dqCVp'],'status':_0xfc04aa[_0x428b(0x73)](typeof useInstagramDataExtractor,_0xfc04aa[_0x428b(0x6f)])?_0xfc04aa[_0x428b(0x70)]:_0xfc04aa['pwALb'],'message':'Instagram\x20extractor\x20hook\x20available'});}catch(_0x7b1581){_0x5af6b5[_0x428b(0x15)]({'platform':_0x428b(0xd),'component':_0xfc04aa[_0x428b(0x6d)],'status':_0xfc04aa[_0x428b(0x74)],'message':_0x428b(0x31)+_0x7b1581[_0x428b(0x32)]});}try{const {useSephoraDataExtractor:useSephoraDataExtractor}=__ONAIROS_REQ_FUNC__(0x10);_0x5af6b5['push']({'platform':_0xfc04aa['KlIuG'],'component':_0xfc04aa[_0x428b(0x6d)],'status':_0xfc04aa['KGHdU'](typeof useSephoraDataExtractor,_0xfc04aa['wWheB'])?_0xfc04aa[_0x428b(0x70)]:_0xfc04aa['pwALb'],'message':_0xfc04aa['QSKcU']});}catch(_0x475dd1){_0x5af6b5[_0x428b(0x15)]({'platform':_0xfc04aa[_0x428b(0x75)],'component':_0xfc04aa['dqCVp'],'status':_0x428b(0x9),'message':_0x428b(0x31)+_0x475dd1[_0x428b(0x32)]});}try{const {useTelegramDataExtractor:useTelegramDataExtractor}=__ONAIROS_REQ_FUNC__(0x11);_0x5af6b5[_0x428b(0x15)]({'platform':_0xfc04aa[_0x428b(0x76)],'component':'extractor','status':typeof useTelegramDataExtractor===_0xfc04aa[_0x428b(0x6f)]?_0xfc04aa[_0x428b(0x70)]:_0xfc04aa[_0x428b(0x74)],'message':_0xfc04aa['omjfl']});}catch(_0x50eb8a){_0x5af6b5[_0x428b(0x15)]({'platform':_0xfc04aa[_0x428b(0x76)],'component':_0xfc04aa[_0x428b(0x6d)],'status':_0xfc04aa[_0x428b(0x74)],'message':_0x428b(0x31)+_0x50eb8a['message']});}return _0x5af6b5;};exports[_0x428b(0x77)]=testExtractorImports;const testBackendConnectivity=async()=>{const _0x457038={'AaXfv':function(_0x18c4f0,_0x421960){return _0x18c4f0(_0x421960);},'ncejM':function(_0x9c937a,_0xd93212){return _0x9c937a(_0xd93212);},'pfbVY':'hinge','HmpEj':function(_0x23dade,_0x10e6ca){return _0x23dade(_0x10e6ca);},'qbkgn':_0x428b(0x78),'TOXkc':_0x428b(0x18),'IzUmN':_0x428b(0x9),'pRgPo':_0x428b(0x79),'FMYwR':_0x428b(0x7a),'pWgZb':'instagram','DbkEQ':function(_0x146106,_0x8306a3){return _0x146106(_0x8306a3);},'sJNrU':function(_0x1f79b8,_0x5896de){return _0x1f79b8(_0x5896de);},'ezCaQ':'Instagram\x20detection\x20correct','QOgwb':function(_0xe10a80,_0x2b181d){return _0xe10a80(_0x2b181d);},'VAxCv':function(_0x334239,_0x462de0){return _0x334239(_0x462de0);},'UTtVN':_0x428b(0x10),'KhfOL':_0x428b(0x7b),'LSvZI':_0x428b(0x7c),'DRNmy':function(_0xaf43b9,_0x7040d2){return _0xaf43b9(_0x7040d2);},'IVMLw':_0x428b(0x12),'uSwzB':function(_0x476bf0,_0x459180){return _0x476bf0(_0x459180);},'fMHgl':_0x428b(0x7d),'CjPHv':_0x428b(0x7e),'jMyjY':function(_0x3a14c1,_0x3a4a9c,_0x470624){return _0x3a14c1(_0x3a4a9c,_0x470624);},'ZmfKp':function(_0x2dc453,_0x2169cf,_0x34672d){return _0x2dc453(_0x2169cf,_0x34672d);},'FqMWr':_0x428b(0x7f),'wvkte':_0x428b(0x80),'xOUnx':_0x428b(0x81),'kNLuy':_0x428b(0x82),'GMSjL':function(_0x12e850,_0x5bf5aa,_0x51152c){return _0x12e850(_0x5bf5aa,_0x51152c);},'yGwDw':_0x428b(0x83),'nZzLi':_0x428b(0x84),'ZYfJG':function(_0x276ce0,_0x43e523){return _0x276ce0<_0x43e523;},'YfxMO':function(_0x2c772,_0x8689e5){return _0x2c772!==_0x8689e5;},'IwZTX':_0x428b(0x85)},_0x30bbe1=[];try{const _0x567578=new AbortController(),_0xef1775=_0x457038['jMyjY'](setTimeout,()=>_0x567578[_0x428b(0x86)](),0x2710),_0xd483d=await _0x457038[_0x428b(0x87)](fetch,_api[_0x428b(0x88)][_0x428b(0x89)]+_0x428b(0x8a),{'method':'GET','signal':_0x567578[_0x428b(0x8b)]});_0x457038[_0x428b(0x8c)](clearTimeout,_0xef1775),_0x30bbe1[_0x428b(0x15)]({'platform':_0x457038[_0x428b(0x8d)],'component':_0x457038['wvkte'],'status':_0xd483d['ok']?_0x457038[_0x428b(0x8e)]:_0x457038[_0x428b(0x8f)],'message':_0xd483d['ok']?_0x457038[_0x428b(0x90)]:_0x428b(0x91)+_0xd483d[_0x428b(0x92)],'details':{'status':_0xd483d[_0x428b(0x92)]}});}catch(_0x18d3a8){_0x30bbe1['push']({'platform':_0x457038[_0x428b(0x8d)],'component':_0x457038['wvkte'],'status':_0x457038[_0x428b(0x93)],'message':'Backend\x20unreachable:\x20'+_0x18d3a8[_0x428b(0x32)]});}try{const _0x3ff2c4=new AbortController(),_0x2a1ef5=_0x457038[_0x428b(0x87)](setTimeout,()=>_0x3ff2c4['abort'](),0x2710),_0x57ca2d=await _0x457038[_0x428b(0x94)](fetch,_api[_0x428b(0x88)][_0x428b(0x89)]+'/platform-data/store',{'method':_0x457038[_0x428b(0x95)],'signal':_0x3ff2c4[_0x428b(0x8b)]});clearTimeout(_0x2a1ef5),_0x30bbe1[_0x428b(0x15)]({'platform':_0x457038[_0x428b(0x8d)],'component':_0x457038[_0x428b(0x96)],'status':_0x457038['ZYfJG'](_0x57ca2d[_0x428b(0x92)],0x1f4)?_0x428b(0x18):_0x457038[_0x428b(0x8f)],'message':_0x428b(0x97)+_0x57ca2d[_0x428b(0x92)],'details':{'status':_0x57ca2d[_0x428b(0x92)]}});}catch(_0x137bae){if(_0x457038[_0x428b(0x98)](_0x457038[_0x428b(0x99)],_0x457038['IwZTX'])){const _0x959467=[];try{const {isWebViewExtractionPlatform:_0x232936,isHingePlatform:_0x15e6a9,isInstagramPlatform:_0x1dc045,isSephoraPlatform:_0x103512,isLLMPlatform:_0x3382f8}=_0x457038[_0x428b(0x9a)](_0x287e74,0x3),_0x2dce97=_0x457038['ncejM'](_0x15e6a9,_0x457038[_0x428b(0x9b)])&&_0x457038[_0x428b(0x8c)](_0x232936,_0x457038['pfbVY'])&&!_0x457038[_0x428b(0x9c)](_0x3382f8,_0x428b(0xc));_0x959467[_0x428b(0x15)]({'platform':_0x457038['pfbVY'],'component':_0x457038[_0x428b(0x9d)],'status':_0x2dce97?_0x457038['TOXkc']:_0x457038[_0x428b(0x93)],'message':_0x2dce97?_0x457038[_0x428b(0x9e)]:_0x457038[_0x428b(0x9f)]});const _0x2831f8=_0x1dc045(_0x457038[_0x428b(0xa0)])&&_0x457038[_0x428b(0xa1)](_0x232936,_0x457038[_0x428b(0xa0)])&&!_0x457038[_0x428b(0xa2)](_0x3382f8,_0x457038[_0x428b(0xa0)]);_0x959467['push']({'platform':'instagram','component':_0x457038[_0x428b(0x9d)],'status':_0x2831f8?_0x428b(0x18):_0x457038[_0x428b(0x93)],'message':_0x2831f8?_0x457038['ezCaQ']:'Instagram\x20detection\x20failed'});const _0x231652=_0x457038[_0x428b(0xa3)](_0x103512,_0x428b(0x10))&&_0x457038['VAxCv'](_0x232936,_0x457038[_0x428b(0xa4)])&&!_0x457038['sJNrU'](_0x3382f8,_0x457038[_0x428b(0xa4)]);_0x959467[_0x428b(0x15)]({'platform':'sephora','component':_0x457038['qbkgn'],'status':_0x231652?_0x457038[_0x428b(0x8e)]:_0x428b(0x9),'message':_0x231652?_0x457038[_0x428b(0xa5)]:_0x457038[_0x428b(0xa6)]});const {isTelegramPlatform:_0x321c30}=_0x457038[_0x428b(0xa7)](_0xe58724,0x2),_0x57cf46=_0x321c30(_0x457038[_0x428b(0xa8)])&&_0x457038[_0x428b(0xa9)](_0x232936,_0x457038['IVMLw'])&&!_0x457038[_0x428b(0xa1)](_0x3382f8,_0x457038['IVMLw']);_0x959467['push']({'platform':_0x457038[_0x428b(0xa8)],'component':_0x457038[_0x428b(0x9d)],'status':_0x57cf46?_0x457038['TOXkc']:'fail','message':_0x57cf46?_0x457038[_0x428b(0xaa)]:_0x457038['CjPHv']});}catch(_0x3b8597){_0x959467[_0x428b(0x15)]({'platform':_0x428b(0x14),'component':_0x457038['qbkgn'],'status':_0x457038['IzUmN'],'message':_0x428b(0xab)+_0x3b8597[_0x428b(0x32)]});}return _0x959467;}else _0x30bbe1[_0x428b(0x15)]({'platform':_0x457038[_0x428b(0x8d)],'component':'platform_data_endpoint','status':_0x457038['xOUnx'],'message':_0x428b(0xac)+_0x137bae[_0x428b(0x32)]});}return _0x30bbe1;};exports[_0x428b(0x5)]=testBackendConnectivity;const testPlatformDetection=()=>{const _0x1d0cc3={'XRnlV':function(_0x20a727,_0x12f1fb){return _0x20a727===_0x12f1fb;},'CqCBN':_0x428b(0xc),'DyfMX':'storeHingeData','Pcdml':_0x428b(0xad),'BusXG':function(_0x44417e,_0x4eb6f6){return _0x44417e===_0x4eb6f6;},'uJWmf':_0x428b(0xae),'ilFEx':_0x428b(0xaf),'LbGXZ':_0x428b(0x35),'oeLDx':_0x428b(0x18),'zCAeR':_0x428b(0x9),'zVpZS':function(_0x5a0edb,_0x149e77){return _0x5a0edb!==_0x149e77;},'NAlRu':_0x428b(0xb0),'lEnfK':function(_0x29ca8d,_0x584a72){return _0x29ca8d(_0x584a72);},'JtMoi':function(_0x33e4f0,_0x1b57ae){return _0x33e4f0(_0x1b57ae);},'MOqzP':'detection','WLhgk':'Hinge\x20detection\x20correct','BNJgv':'Hinge\x20detection\x20failed','TRQZg':function(_0x21c06d,_0x49c82){return _0x21c06d(_0x49c82);},'cBcPi':function(_0x10305f,_0x40bdcc){return _0x10305f(_0x40bdcc);},'dCToY':_0x428b(0xd),'kWOun':_0x428b(0xb1),'cBYWo':_0x428b(0xb2),'TCDIZ':_0x428b(0x10),'KFdLq':function(_0x1eff63,_0x824ca9){return _0x1eff63(_0x824ca9);},'OJiHU':function(_0x5206c1,_0x5759a1){return _0x5206c1(_0x5759a1);},'LsWrA':_0x428b(0x7b),'JzJBf':'Sephora\x20detection\x20failed','MrnSU':function(_0x2a7069,_0x19569a){return _0x2a7069(_0x19569a);},'vtwSo':'telegram','fNGkp':_0x428b(0x7d)},_0x31fc46=[];try{if(_0x1d0cc3[_0x428b(0xb3)](_0x1d0cc3[_0x428b(0xb4)],_0x428b(0xb0))){const _0x162df6=_0x2cd5df(0x15),_0x35ebce=_0x1d0cc3['XRnlV'](_0x3b67f5,_0x1d0cc3['CqCBN'])?_0x1d0cc3[_0x428b(0xb5)]:_0x2d0d8b===_0x428b(0xd)?_0x1d0cc3[_0x428b(0xb6)]:_0x1d0cc3[_0x428b(0xb7)](_0x507f28,'telegram')?_0x1d0cc3[_0x428b(0xb8)]:_0x1d0cc3[_0x428b(0xb9)];_0x74b52['push']({'platform':_0x26f1af,'component':_0x1d0cc3[_0x428b(0xba)],'status':typeof _0x162df6[_0x35ebce]===_0x428b(0x5a)?_0x1d0cc3['oeLDx']:_0x1d0cc3[_0x428b(0xbb)],'message':'Service\x20function\x20'+_0x35ebce+'\x20available'});}else{const {isWebViewExtractionPlatform:_0x19c234,isHingePlatform:_0x5b9937,isInstagramPlatform:_0x32b5e2,isSephoraPlatform:_0x57acb7,isLLMPlatform:_0x12c036}=_0x1d0cc3[_0x428b(0xbc)](__ONAIROS_REQ_FUNC__,0x3),_0x42268c=_0x1d0cc3[_0x428b(0xbc)](_0x5b9937,_0x1d0cc3['CqCBN'])&&_0x1d0cc3[_0x428b(0xbc)](_0x19c234,_0x428b(0xc))&&!_0x1d0cc3['JtMoi'](_0x12c036,_0x1d0cc3['CqCBN']);_0x31fc46['push']({'platform':'hinge','component':_0x1d0cc3[_0x428b(0xbd)],'status':_0x42268c?_0x428b(0x18):_0x1d0cc3['zCAeR'],'message':_0x42268c?_0x1d0cc3[_0x428b(0xbe)]:_0x1d0cc3[_0x428b(0xbf)]});const _0x33a44d=_0x1d0cc3[_0x428b(0xc0)](_0x32b5e2,_0x428b(0xd))&&_0x1d0cc3[_0x428b(0xc1)](_0x19c234,_0x1d0cc3['dCToY'])&&!_0x12c036(_0x1d0cc3[_0x428b(0xc2)]);_0x31fc46[_0x428b(0x15)]({'platform':_0x1d0cc3[_0x428b(0xc2)],'component':'detection','status':_0x33a44d?_0x1d0cc3['oeLDx']:'fail','message':_0x33a44d?_0x1d0cc3['kWOun']:_0x1d0cc3['cBYWo']});const _0x1c94a6=_0x1d0cc3[_0x428b(0xc1)](_0x57acb7,_0x1d0cc3['TCDIZ'])&&_0x1d0cc3[_0x428b(0xc3)](_0x19c234,'sephora')&&!_0x1d0cc3[_0x428b(0xc4)](_0x12c036,_0x1d0cc3[_0x428b(0xc5)]);_0x31fc46['push']({'platform':_0x1d0cc3[_0x428b(0xc5)],'component':_0x1d0cc3['MOqzP'],'status':_0x1c94a6?_0x428b(0x18):_0x1d0cc3['zCAeR'],'message':_0x1c94a6?_0x1d0cc3[_0x428b(0xc6)]:_0x1d0cc3[_0x428b(0xc7)]});const {isTelegramPlatform:_0x4caf6f}=_0x1d0cc3[_0x428b(0xbc)](__ONAIROS_REQ_FUNC__,0x2),_0x1fcc7a=_0x1d0cc3[_0x428b(0xc8)](_0x4caf6f,_0x1d0cc3[_0x428b(0xc9)])&&_0x1d0cc3['JtMoi'](_0x19c234,'telegram')&&!_0x1d0cc3[_0x428b(0xc1)](_0x12c036,_0x1d0cc3[_0x428b(0xc9)]);_0x31fc46['push']({'platform':_0x1d0cc3[_0x428b(0xc9)],'component':_0x428b(0x78),'status':_0x1fcc7a?_0x1d0cc3[_0x428b(0xca)]:_0x1d0cc3[_0x428b(0xbb)],'message':_0x1fcc7a?_0x1d0cc3[_0x428b(0xcb)]:_0x428b(0x7e)});}}catch(_0x33518c){_0x31fc46[_0x428b(0x15)]({'platform':_0x428b(0x14),'component':_0x1d0cc3[_0x428b(0xbd)],'status':_0x1d0cc3[_0x428b(0xbb)],'message':'Detection\x20test\x20error:\x20'+_0x33518c[_0x428b(0x32)]});}return _0x31fc46;};exports[_0x428b(0x4)]=testPlatformDetection;const runConnectorSanityTests=async()=>{const _0x155fc8={'ViOza':_0x428b(0x69),'hcObq':_0x428b(0x9),'xACdd':_0x428b(0x10),'vQrQV':_0x428b(0xcc),'fdXqR':_0x428b(0xcd),'fwAjW':_0x428b(0xce),'mnrWE':function(_0x16a860){return _0x16a860();},'naVtZ':'๐Ÿ“‹\x20Testing\x20extractor\x20imports...','jbaFs':'๐Ÿ“‹\x20Testing\x20platform\x20detection...','mmjME':function(_0x510eed){return _0x510eed();},'AcVEI':_0x428b(0xcf),'DsOCn':_0x428b(0xd0),'TWUbE':'๐Ÿงช\x20CONNECTOR\x20SANITY\x20TEST\x20RESULTS','WWpul':_0x428b(0xd1),'JkKpP':function(_0x44418f,_0x45445a){return _0x44418f===_0x45445a;},'KntOI':_0x428b(0x18),'Fiskq':function(_0x44d3eb,_0x54e832){return _0x44d3eb===_0x54e832;},'KEdRF':function(_0x55ec25,_0x57631c){return _0x55ec25>_0x57631c;},'hNMsG':_0x428b(0xd2),'YpbBO':_0x428b(0xd3),'EUWvd':_0x428b(0xd4),'ScjyA':_0x428b(0xd5),'UwLSS':_0x428b(0xd6),'HWwnn':'โœ…\x20All\x20tests\x20passed!\x20Connectors\x20are\x20ready.'};console[_0x428b(0xd7)](_0x155fc8['vQrQV']);const _0x4aced2=[];console[_0x428b(0xd7)](_0x155fc8['fdXqR']),_0x4aced2[_0x428b(0x15)](...testWebViewScriptExports()),console['log'](_0x155fc8[_0x428b(0xd8)]),_0x4aced2[_0x428b(0x15)](..._0x155fc8['mnrWE'](testServiceImports)),console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xd9)]),_0x4aced2[_0x428b(0x15)](..._0x155fc8[_0x428b(0xda)](testExtractorImports)),console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xdb)]),_0x4aced2['push'](..._0x155fc8[_0x428b(0xdc)](testPlatformDetection)),console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xdd)]),_0x4aced2[_0x428b(0x15)](...await _0x155fc8[_0x428b(0xda)](testBackendConnectivity));const _0x2e9d7c=_0x4aced2[_0x428b(0xde)](_0x14a7dc=>_0x14a7dc[_0x428b(0x92)]==='pass')[_0x428b(0xdf)],_0x4cd4c7=_0x4aced2[_0x428b(0xde)](_0x48c35e=>_0x48c35e['status']===_0x428b(0x9))['length'],_0x1ace33=_0x4aced2['filter'](_0x58884e=>_0x58884e[_0x428b(0x92)]==='warning')[_0x428b(0xdf)];console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xe0)]),console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xe1)]),console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xe2)]);for(const _0x5332af of _0x4aced2){const _0x5bb535=_0x155fc8['JkKpP'](_0x5332af[_0x428b(0x92)],_0x155fc8['KntOI'])?'โœ…':_0x155fc8[_0x428b(0xe3)](_0x5332af[_0x428b(0x92)],_0x155fc8[_0x428b(0xe4)])?'โŒ':'โš ๏ธ';console[_0x428b(0xd7)](_0x5bb535+'\x20['+_0x5332af[_0x428b(0xe5)][_0x428b(0xe6)]()+']\x20'+_0x5332af['component']+':\x20'+_0x5332af['message']);}console[_0x428b(0xd7)](_0x428b(0xd0)),console[_0x428b(0xd7)](_0x428b(0xe7)+_0x2e9d7c+_0x428b(0xe8)+_0x4cd4c7+_0x428b(0xe9)+_0x1ace33+_0x428b(0xea)),console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xe2)]);if(_0x155fc8[_0x428b(0xeb)](_0x4cd4c7,0x0))_0x155fc8[_0x428b(0xec)](_0x155fc8[_0x428b(0xed)],_0x428b(0xd2))?console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xee)]):_0xc90834[_0x428b(0x15)]({'platform':_0x4a90eb,'component':_0x155fc8[_0x428b(0xef)],'status':_0x155fc8[_0x428b(0xe4)],'message':'Extractor\x20import\x20failed:\x20'+_0x565bd5[_0x428b(0x32)]});else _0x1ace33>0x0?_0x155fc8['EUWvd']!==_0x155fc8['ScjyA']?console[_0x428b(0xd7)](_0x155fc8[_0x428b(0xf0)]):_0xc348b8[_0x428b(0x15)]({'platform':_0x155fc8[_0x428b(0xf1)],'component':_0x155fc8[_0x428b(0xef)],'status':_0x155fc8['hcObq'],'message':_0x428b(0x31)+_0xdf1a77[_0x428b(0x32)]}):console['log'](_0x155fc8[_0x428b(0xf2)]);return{'passed':_0x2e9d7c,'failed':_0x4cd4c7,'warnings':_0x1ace33,'results':_0x4aced2};};exports[_0x428b(0x6)]=runConnectorSanityTests;const testPlatformConnector=async _0x10918b=>{const _0x3c0856={'xDyMG':'hinge','ZsBvQ':_0x428b(0x35),'inckg':_0x428b(0x10),'uVOhP':_0x428b(0x7),'KElGe':_0x428b(0x8),'AgZTL':'pass','qWOUn':_0x428b(0xa),'TMuCC':_0x428b(0x9),'haGal':_0x428b(0xb),'dOfYI':function(_0x4a13e4,_0x2317f9){return _0x4a13e4(_0x2317f9);},'LgaBT':_0x428b(0xf3),'CKCJd':function(_0x4139e3,_0x2234cc){return _0x4139e3(_0x2234cc);},'PlvaO':_0x428b(0xd),'xyRnR':'Instagram\x20scripts\x20exported\x20correctly','EXKIp':_0x428b(0x34),'UCXMF':_0x428b(0x12),'xYPsR':_0x428b(0xf4),'iAxLh':function(_0x44ad3e,_0x545837){return _0x44ad3e(_0x545837);},'CrjXH':_0x428b(0x2d),'DHJsB':_0x428b(0x13),'qwBnj':'Platform\x20detection\x20functions\x20available','TQkFb':function(_0x5eb372,_0x5216c1){return _0x5eb372!==_0x5216c1;},'nzvpn':_0x428b(0xf5),'jxgkI':function(_0x1dab79,_0x45f115){return _0x1dab79===_0x45f115;},'cGwSt':_0x428b(0xf6),'nqshi':'vCtDw','tMYHZ':_0x428b(0xf7),'LzAoI':_0x428b(0x37),'unLwF':_0x428b(0x67),'dukBu':'storeHingeData','KuBEB':function(_0x3ec528,_0x4d86d5){return _0x3ec528===_0x4d86d5;},'ynQVZ':'storeSephoraData','HldBq':_0x428b(0x5a),'dDKEV':function(_0x387000,_0x341580){return _0x387000(_0x341580);},'mJCoz':function(_0x177731,_0x4e88a8){return _0x177731+_0x4e88a8;},'dEvWO':_0x428b(0x69),'BvSZB':function(_0x5ac11d,_0x158805){return _0x5ac11d===_0x158805;},'IorHG':function(_0x438ab7,_0x42eb3e){return _0x438ab7===_0x42eb3e;},'oBZvq':_0x428b(0xf8),'VSuUy':_0x428b(0xf9),'ohLvx':_0x428b(0x81)};console['log'](_0x428b(0xfa)+_0x10918b+_0x428b(0xfb));const _0x4efcd0=[],_0x3b98d8=_0x10918b['toLowerCase']();if([_0x428b(0xc),_0x428b(0xd),_0x3c0856[_0x428b(0xfc)],_0x3c0856[_0x428b(0xfd)]]['includes'](_0x3b98d8)){if(_0x3c0856[_0x428b(0xfe)](_0x3c0856[_0x428b(0xff)],_0x428b(0x100))){try{if(_0x3c0856[_0x428b(0x101)](_0x3c0856[_0x428b(0x102)],_0x3c0856[_0x428b(0x103)]))_0x3013d7[_0x428b(0x15)]({'platform':_0x3c0856[_0x428b(0x104)],'component':_0x3c0856['ZsBvQ'],'status':_0x428b(0x9),'message':_0x428b(0x31)+_0x3f4067['message']});else{const _0x409fb9=_0x3c0856[_0x428b(0x105)](__ONAIROS_REQ_FUNC__,0x1),_0x5e2a58=_0x3b98d8[_0x428b(0xe6)]()+_0x428b(0x106),_0x255431=!!_0x409fb9[_0x5e2a58];_0x4efcd0['push']({'platform':_0x3b98d8,'component':_0x3c0856[_0x428b(0x107)],'status':_0x255431?_0x3c0856['AgZTL']:_0x3c0856[_0x428b(0x108)],'message':_0x255431?_0x3c0856[_0x428b(0x109)]:_0x3c0856[_0x428b(0x10a)]});}}catch(_0x2fa518){_0x4efcd0[_0x428b(0x15)]({'platform':_0x3b98d8,'component':_0x3c0856[_0x428b(0x107)],'status':_0x3c0856[_0x428b(0x108)],'message':'Script\x20import\x20failed:\x20'+_0x2fa518[_0x428b(0x32)]});}try{const _0x569f54=__ONAIROS_REQ_FUNC__(0x15),_0x3af56d=_0x3c0856['jxgkI'](_0x3b98d8,_0x3c0856['xDyMG'])?_0x3c0856['dukBu']:_0x3c0856[_0x428b(0x10b)](_0x3b98d8,_0x428b(0xd))?'storeInstagramData':_0x3b98d8===_0x428b(0x12)?_0x428b(0xae):_0x3c0856[_0x428b(0x10c)];_0x4efcd0[_0x428b(0x15)]({'platform':_0x3b98d8,'component':_0x3c0856[_0x428b(0x10d)],'status':typeof _0x569f54[_0x3af56d]===_0x3c0856[_0x428b(0x10e)]?_0x428b(0x18):_0x3c0856[_0x428b(0x108)],'message':_0x428b(0x10f)+_0x3af56d+_0x428b(0x110)});}catch(_0x27066f){_0x4efcd0['push']({'platform':_0x3b98d8,'component':_0x3c0856[_0x428b(0x10d)],'status':_0x3c0856[_0x428b(0x108)],'message':_0x428b(0x111)+_0x27066f[_0x428b(0x32)]});}try{const _0x57870a=_0x3c0856[_0x428b(0x112)](__ONAIROS_REQ_FUNC__,0x16),_0x4e3d3e=_0x428b(0x113)+_0x3c0856['mJCoz'](_0x3b98d8[_0x428b(0x114)](0x0)[_0x428b(0xe6)](),_0x3b98d8['slice'](0x1))+_0x428b(0x115);_0x4efcd0[_0x428b(0x15)]({'platform':_0x3b98d8,'component':_0x3c0856[_0x428b(0x116)],'status':_0x3c0856[_0x428b(0x117)](typeof _0x57870a[_0x4e3d3e],_0x3c0856[_0x428b(0x10e)])?_0x3c0856[_0x428b(0x118)]:_0x3c0856['TMuCC'],'message':_0x428b(0x119)+_0x4e3d3e+_0x428b(0x110)});}catch(_0x3e23c8){_0x3c0856[_0x428b(0x11a)]('iWyGe',_0x3c0856['oBZvq'])?_0x4efcd0[_0x428b(0x15)]({'platform':_0x3b98d8,'component':'extractor','status':_0x3c0856[_0x428b(0x108)],'message':_0x428b(0x11b)+_0x3e23c8['message']}):_0x430b20[_0x428b(0x15)]({'platform':_0x3c0856['inckg'],'component':_0x3c0856[_0x428b(0x10d)],'status':_0x428b(0x9),'message':_0x428b(0x31)+_0x5e722a[_0x428b(0x32)]});}}else{const {CHATGPT_CONSENT_POPUP_SCRIPT:_0x28e2b7,CHATGPT_EXPORT_SCRIPT:_0x1cc3cf}=_0x3ee4c3(0x14);_0x562c87[_0x428b(0x15)]({'platform':_0x3c0856[_0x428b(0x11c)],'component':_0x3c0856['KElGe'],'status':_0x1cc3cf?_0x3c0856[_0x428b(0x118)]:'fail','message':_0x1cc3cf?_0x428b(0x11d):_0x428b(0x11e)});const {CLAUDE_CONSENT_POPUP_SCRIPT:_0x56a02f,CLAUDE_EXPORT_SCRIPT:_0x330e13}=_0x5d4560(0x13);_0x1beeda['push']({'platform':_0x3c0856['qWOUn'],'component':_0x3c0856[_0x428b(0x11f)],'status':_0x330e13?_0x428b(0x18):_0x3c0856[_0x428b(0x108)],'message':_0x330e13?_0x3c0856[_0x428b(0x120)]:_0x428b(0x1f)});const {HINGE_CONSENT_POPUP_SCRIPT:_0x59b616,HINGE_EXPORT_SCRIPT:_0x1e1c18}=_0x3c0856['dOfYI'](_0x117e98,0x12);_0x3f09e7[_0x428b(0x15)]({'platform':_0x3c0856[_0x428b(0x104)],'component':_0x3c0856[_0x428b(0x11f)],'status':_0x1e1c18?_0x3c0856['AgZTL']:_0x3c0856[_0x428b(0x108)],'message':_0x1e1c18?_0x3c0856[_0x428b(0x121)]:_0x428b(0x33)});const {INSTAGRAM_CONSENT_POPUP_SCRIPT:_0x57b3fd,INSTAGRAM_EXPORT_SCRIPT:_0x23e1a3}=_0x3c0856[_0x428b(0x105)](_0x1edb07,0x7);_0x28c94d[_0x428b(0x15)]({'platform':_0x3c0856['PlvaO'],'component':_0x428b(0x8),'status':_0x23e1a3?_0x3c0856[_0x428b(0x118)]:_0x428b(0x9),'message':_0x23e1a3?_0x3c0856['xyRnR']:_0x428b(0xf)});const {SEPHORA_CONSENT_POPUP_SCRIPT:_0xf43238,SEPHORA_EXPORT_SCRIPT:_0x2adead}=_0x41b452(0x6);_0x32592a[_0x428b(0x15)]({'platform':'sephora','component':_0x3c0856['KElGe'],'status':_0x2adead?_0x3c0856[_0x428b(0x118)]:_0x3c0856[_0x428b(0x108)],'message':_0x2adead?_0x428b(0x11):_0x3c0856[_0x428b(0x122)]});const {TELEGRAM_CONSENT_POPUP_SCRIPT:_0x1fe465,TELEGRAM_EXPORT_SCRIPT:_0x7e8f98}=_0x3c0856['dOfYI'](_0x1986d2,0x5);_0xacbc03[_0x428b(0x15)]({'platform':_0x3c0856[_0x428b(0xfd)],'component':_0x3c0856[_0x428b(0x11f)],'status':_0x7e8f98?_0x3c0856[_0x428b(0x118)]:_0x3c0856[_0x428b(0x108)],'message':_0x7e8f98?_0x428b(0x52):_0x3c0856[_0x428b(0x123)]});const {isWebViewExtractionPlatform:_0x3d5a30,isHingePlatform:_0x520a4b,isInstagramPlatform:_0x4828eb,isSephoraPlatform:_0x1630f7,isTelegramPlatform:_0x5100ed}=_0x3c0856['iAxLh'](_0xa89645,0x4);_0x1eab77[_0x428b(0x15)]({'platform':_0x3c0856[_0x428b(0x124)],'component':_0x3c0856['DHJsB'],'status':_0x3d5a30&&_0x520a4b&&_0x4828eb&&_0x1630f7&&_0x5100ed?_0x3c0856['AgZTL']:_0x3c0856[_0x428b(0x108)],'message':_0x3c0856[_0x428b(0x125)]});}}else _0x4efcd0[_0x428b(0x15)]({'platform':_0x3b98d8,'component':_0x3c0856[_0x428b(0x126)],'status':_0x3c0856[_0x428b(0x127)],'message':_0x428b(0x128)+_0x10918b+_0x428b(0x129)});for(const _0x4da47b of _0x4efcd0){const _0x28a20a=_0x3c0856[_0x428b(0x101)](_0x4da47b[_0x428b(0x92)],_0x3c0856[_0x428b(0x118)])?'โœ…':_0x3c0856[_0x428b(0x117)](_0x4da47b['status'],_0x428b(0x9))?'โŒ':'โš ๏ธ';console[_0x428b(0xd7)](_0x28a20a+'\x20'+_0x4da47b[_0x428b(0x12a)]+':\x20'+_0x4da47b['message']);}return _0x4efcd0;};exports[_0x428b(0x12b)]=testPlatformConnector;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.testWebViewScriptExports = exports.testServiceImports = exports.testPlatformDetection = exports.testPlatformConnector = exports.testExtractorImports = exports.testBackendConnectivity = exports.runConnectorSanityTests = void 0;
7
+ var _api = require("../config/api");
8
+ /**
9
+ * Connector API Tests / Sanity Checks
10
+ *
11
+ * This module provides test utilities to verify all platform connectors
12
+ * are properly configured and their services are working correctly.
13
+ *
14
+ * Run these tests to ensure:
15
+ * 1. All WebView scripts are properly exported
16
+ * 2. All extractor hooks are available
17
+ * 3. All services can be instantiated
18
+ * 4. Backend endpoints are reachable
19
+ *
20
+ * Usage:
21
+ * import { runConnectorSanityTests } from './utils/connectorTests';
22
+ * await runConnectorSanityTests();
23
+ */
24
+
25
+ /**
26
+ * Test result interface
27
+ */
28
+
29
+ /**
30
+ * Test all WebView script exports
31
+ */
32
+ const testWebViewScriptExports = () => {
33
+ const results = [];
34
+ try {
35
+ // Test ChatGPT scripts
36
+ const {
37
+ CHATGPT_CONSENT_POPUP_SCRIPT,
38
+ CHATGPT_EXPORT_SCRIPT
39
+ } = require('./webviewScripts');
40
+ results.push({
41
+ platform: 'chatgpt',
42
+ component: 'webview_scripts',
43
+ status: CHATGPT_EXPORT_SCRIPT ? 'pass' : 'fail',
44
+ message: CHATGPT_EXPORT_SCRIPT ? 'ChatGPT scripts exported correctly' : 'ChatGPT scripts missing'
45
+ });
46
+
47
+ // Test Claude scripts
48
+ const {
49
+ CLAUDE_CONSENT_POPUP_SCRIPT,
50
+ CLAUDE_EXPORT_SCRIPT
51
+ } = require('./webviewScripts');
52
+ results.push({
53
+ platform: 'claude',
54
+ component: 'webview_scripts',
55
+ status: CLAUDE_EXPORT_SCRIPT ? 'pass' : 'fail',
56
+ message: CLAUDE_EXPORT_SCRIPT ? 'Claude scripts exported correctly' : 'Claude scripts missing'
57
+ });
58
+
59
+ // Test Hinge scripts
60
+ const {
61
+ HINGE_CONSENT_POPUP_SCRIPT,
62
+ HINGE_EXPORT_SCRIPT
63
+ } = require('./webviewScripts');
64
+ results.push({
65
+ platform: 'hinge',
66
+ component: 'webview_scripts',
67
+ status: HINGE_EXPORT_SCRIPT ? 'pass' : 'fail',
68
+ message: HINGE_EXPORT_SCRIPT ? 'Hinge scripts exported correctly' : 'Hinge scripts missing'
69
+ });
70
+
71
+ // Test Instagram scripts
72
+ const {
73
+ INSTAGRAM_CONSENT_POPUP_SCRIPT,
74
+ INSTAGRAM_EXPORT_SCRIPT
75
+ } = require('./webviewScripts');
76
+ results.push({
77
+ platform: 'instagram',
78
+ component: 'webview_scripts',
79
+ status: INSTAGRAM_EXPORT_SCRIPT ? 'pass' : 'fail',
80
+ message: INSTAGRAM_EXPORT_SCRIPT ? 'Instagram scripts exported correctly' : 'Instagram scripts missing'
81
+ });
82
+
83
+ // Test Sephora scripts
84
+ const {
85
+ SEPHORA_CONSENT_POPUP_SCRIPT,
86
+ SEPHORA_EXPORT_SCRIPT
87
+ } = require('./webviewScripts');
88
+ results.push({
89
+ platform: 'sephora',
90
+ component: 'webview_scripts',
91
+ status: SEPHORA_EXPORT_SCRIPT ? 'pass' : 'fail',
92
+ message: SEPHORA_EXPORT_SCRIPT ? 'Sephora scripts exported correctly' : 'Sephora scripts missing'
93
+ });
94
+
95
+ // Test Telegram scripts
96
+ const {
97
+ TELEGRAM_CONSENT_POPUP_SCRIPT,
98
+ TELEGRAM_EXPORT_SCRIPT
99
+ } = require('./webviewScripts');
100
+ results.push({
101
+ platform: 'telegram',
102
+ component: 'webview_scripts',
103
+ status: TELEGRAM_EXPORT_SCRIPT ? 'pass' : 'fail',
104
+ message: TELEGRAM_EXPORT_SCRIPT ? 'Telegram scripts exported correctly' : 'Telegram scripts missing'
105
+ });
106
+
107
+ // Test utility functions
108
+ const {
109
+ isWebViewExtractionPlatform,
110
+ isHingePlatform,
111
+ isInstagramPlatform,
112
+ isSephoraPlatform,
113
+ isTelegramPlatform
114
+ } = require('./webviewScripts');
115
+ results.push({
116
+ platform: 'utilities',
117
+ component: 'platform_detection',
118
+ status: isWebViewExtractionPlatform && isHingePlatform && isInstagramPlatform && isSephoraPlatform && isTelegramPlatform ? 'pass' : 'fail',
119
+ message: 'Platform detection functions available'
120
+ });
121
+ } catch (error) {
122
+ results.push({
123
+ platform: 'all',
124
+ component: 'webview_scripts',
125
+ status: 'fail',
126
+ message: `Import error: ${error.message}`
127
+ });
128
+ }
129
+ return results;
130
+ };
131
+
132
+ /**
133
+ * Test all service imports
134
+ */
135
+ exports.testWebViewScriptExports = testWebViewScriptExports;
136
+ const testServiceImports = () => {
137
+ const results = [];
138
+
139
+ // Test ChatGPT service
140
+ try {
141
+ const {
142
+ storeChatGPTConversations
143
+ } = require('../services/chatGPTConversationService');
144
+ results.push({
145
+ platform: 'chatgpt',
146
+ component: 'service',
147
+ status: typeof storeChatGPTConversations === 'function' ? 'pass' : 'fail',
148
+ message: 'ChatGPT service function available'
149
+ });
150
+ } catch (error) {
151
+ results.push({
152
+ platform: 'chatgpt',
153
+ component: 'service',
154
+ status: 'fail',
155
+ message: `Import error: ${error.message}`
156
+ });
157
+ }
158
+
159
+ // Test Claude service
160
+ try {
161
+ const {
162
+ storeClaudeConversations
163
+ } = require('../services/claudeConversationService');
164
+ results.push({
165
+ platform: 'claude',
166
+ component: 'service',
167
+ status: typeof storeClaudeConversations === 'function' ? 'pass' : 'fail',
168
+ message: 'Claude service function available'
169
+ });
170
+ } catch (error) {
171
+ results.push({
172
+ platform: 'claude',
173
+ component: 'service',
174
+ status: 'fail',
175
+ message: `Import error: ${error.message}`
176
+ });
177
+ }
178
+
179
+ // Test Hinge service
180
+ try {
181
+ const {
182
+ storeHingeData
183
+ } = require('../services/hingeDataService');
184
+ results.push({
185
+ platform: 'hinge',
186
+ component: 'service',
187
+ status: typeof storeHingeData === 'function' ? 'pass' : 'fail',
188
+ message: 'Hinge service function available'
189
+ });
190
+ } catch (error) {
191
+ results.push({
192
+ platform: 'hinge',
193
+ component: 'service',
194
+ status: 'fail',
195
+ message: `Import error: ${error.message}`
196
+ });
197
+ }
198
+
199
+ // Test Instagram service
200
+ try {
201
+ const {
202
+ storeInstagramData
203
+ } = require('../services/instagramDataService');
204
+ results.push({
205
+ platform: 'instagram',
206
+ component: 'service',
207
+ status: typeof storeInstagramData === 'function' ? 'pass' : 'fail',
208
+ message: 'Instagram service function available'
209
+ });
210
+ } catch (error) {
211
+ results.push({
212
+ platform: 'instagram',
213
+ component: 'service',
214
+ status: 'fail',
215
+ message: `Import error: ${error.message}`
216
+ });
217
+ }
218
+
219
+ // Test Sephora service
220
+ try {
221
+ const {
222
+ storeSephoraData
223
+ } = require('../services/sephoraDataService');
224
+ results.push({
225
+ platform: 'sephora',
226
+ component: 'service',
227
+ status: typeof storeSephoraData === 'function' ? 'pass' : 'fail',
228
+ message: 'Sephora service function available'
229
+ });
230
+ } catch (error) {
231
+ results.push({
232
+ platform: 'sephora',
233
+ component: 'service',
234
+ status: 'fail',
235
+ message: `Import error: ${error.message}`
236
+ });
237
+ }
238
+
239
+ // Test Telegram service
240
+ try {
241
+ const {
242
+ storeTelegramData
243
+ } = require('../services/telegramDataService');
244
+ results.push({
245
+ platform: 'telegram',
246
+ component: 'service',
247
+ status: typeof storeTelegramData === 'function' ? 'pass' : 'fail',
248
+ message: 'Telegram service function available'
249
+ });
250
+ } catch (error) {
251
+ results.push({
252
+ platform: 'telegram',
253
+ component: 'service',
254
+ status: 'fail',
255
+ message: `Import error: ${error.message}`
256
+ });
257
+ }
258
+ return results;
259
+ };
260
+
261
+ /**
262
+ * Test all extractor hook imports
263
+ */
264
+ exports.testServiceImports = testServiceImports;
265
+ const testExtractorImports = () => {
266
+ const results = [];
267
+
268
+ // Test Hinge extractor
269
+ try {
270
+ const {
271
+ useHingeDataExtractor
272
+ } = require('../services/hingeDataExtractor');
273
+ results.push({
274
+ platform: 'hinge',
275
+ component: 'extractor',
276
+ status: typeof useHingeDataExtractor === 'function' ? 'pass' : 'fail',
277
+ message: 'Hinge extractor hook available'
278
+ });
279
+ } catch (error) {
280
+ results.push({
281
+ platform: 'hinge',
282
+ component: 'extractor',
283
+ status: 'fail',
284
+ message: `Import error: ${error.message}`
285
+ });
286
+ }
287
+
288
+ // Test Instagram extractor
289
+ try {
290
+ const {
291
+ useInstagramDataExtractor
292
+ } = require('../services/instagramDataExtractor');
293
+ results.push({
294
+ platform: 'instagram',
295
+ component: 'extractor',
296
+ status: typeof useInstagramDataExtractor === 'function' ? 'pass' : 'fail',
297
+ message: 'Instagram extractor hook available'
298
+ });
299
+ } catch (error) {
300
+ results.push({
301
+ platform: 'instagram',
302
+ component: 'extractor',
303
+ status: 'fail',
304
+ message: `Import error: ${error.message}`
305
+ });
306
+ }
307
+
308
+ // Test Sephora extractor
309
+ try {
310
+ const {
311
+ useSephoraDataExtractor
312
+ } = require('../services/sephoraDataExtractor');
313
+ results.push({
314
+ platform: 'sephora',
315
+ component: 'extractor',
316
+ status: typeof useSephoraDataExtractor === 'function' ? 'pass' : 'fail',
317
+ message: 'Sephora extractor hook available'
318
+ });
319
+ } catch (error) {
320
+ results.push({
321
+ platform: 'sephora',
322
+ component: 'extractor',
323
+ status: 'fail',
324
+ message: `Import error: ${error.message}`
325
+ });
326
+ }
327
+
328
+ // Test Telegram extractor
329
+ try {
330
+ const {
331
+ useTelegramDataExtractor
332
+ } = require('../services/telegramDataExtractor');
333
+ results.push({
334
+ platform: 'telegram',
335
+ component: 'extractor',
336
+ status: typeof useTelegramDataExtractor === 'function' ? 'pass' : 'fail',
337
+ message: 'Telegram extractor hook available'
338
+ });
339
+ } catch (error) {
340
+ results.push({
341
+ platform: 'telegram',
342
+ component: 'extractor',
343
+ status: 'fail',
344
+ message: `Import error: ${error.message}`
345
+ });
346
+ }
347
+ return results;
348
+ };
349
+
350
+ /**
351
+ * Test backend API connectivity
352
+ */
353
+ exports.testExtractorImports = testExtractorImports;
354
+ const testBackendConnectivity = async () => {
355
+ const results = [];
356
+
357
+ // Test health endpoint
358
+ try {
359
+ const controller = new AbortController();
360
+ const timeoutId = setTimeout(() => controller.abort(), 10000);
361
+ const response = await fetch(`${_api.API_CONFIG.BASE_URL}/health`, {
362
+ method: 'GET',
363
+ signal: controller.signal
364
+ });
365
+ clearTimeout(timeoutId);
366
+ results.push({
367
+ platform: 'backend',
368
+ component: 'health',
369
+ status: response.ok ? 'pass' : 'warning',
370
+ message: response.ok ? 'Backend health check passed' : `Backend returned status ${response.status}`,
371
+ details: {
372
+ status: response.status
373
+ }
374
+ });
375
+ } catch (error) {
376
+ results.push({
377
+ platform: 'backend',
378
+ component: 'health',
379
+ status: 'fail',
380
+ message: `Backend unreachable: ${error.message}`
381
+ });
382
+ }
383
+
384
+ // Test platform-data endpoint exists (OPTIONS request)
385
+ try {
386
+ const controller = new AbortController();
387
+ const timeoutId = setTimeout(() => controller.abort(), 10000);
388
+ const response = await fetch(`${_api.API_CONFIG.BASE_URL}/platform-data/store`, {
389
+ method: 'OPTIONS',
390
+ signal: controller.signal
391
+ });
392
+ clearTimeout(timeoutId);
393
+ results.push({
394
+ platform: 'backend',
395
+ component: 'platform_data_endpoint',
396
+ status: response.status < 500 ? 'pass' : 'warning',
397
+ message: `Platform data endpoint check: ${response.status}`,
398
+ details: {
399
+ status: response.status
400
+ }
401
+ });
402
+ } catch (error) {
403
+ results.push({
404
+ platform: 'backend',
405
+ component: 'platform_data_endpoint',
406
+ status: 'warning',
407
+ message: `Endpoint check failed (may require auth): ${error.message}`
408
+ });
409
+ }
410
+ return results;
411
+ };
412
+
413
+ /**
414
+ * Test platform detection utility functions
415
+ */
416
+ exports.testBackendConnectivity = testBackendConnectivity;
417
+ const testPlatformDetection = () => {
418
+ const results = [];
419
+ try {
420
+ const {
421
+ isWebViewExtractionPlatform,
422
+ isHingePlatform,
423
+ isInstagramPlatform,
424
+ isSephoraPlatform,
425
+ isLLMPlatform
426
+ } = require('./webviewScripts');
427
+
428
+ // Test Hinge detection
429
+ const hingeTest = isHingePlatform('hinge') && isWebViewExtractionPlatform('hinge') && !isLLMPlatform('hinge');
430
+ results.push({
431
+ platform: 'hinge',
432
+ component: 'detection',
433
+ status: hingeTest ? 'pass' : 'fail',
434
+ message: hingeTest ? 'Hinge detection correct' : 'Hinge detection failed'
435
+ });
436
+
437
+ // Test Instagram detection
438
+ const instagramTest = isInstagramPlatform('instagram') && isWebViewExtractionPlatform('instagram') && !isLLMPlatform('instagram');
439
+ results.push({
440
+ platform: 'instagram',
441
+ component: 'detection',
442
+ status: instagramTest ? 'pass' : 'fail',
443
+ message: instagramTest ? 'Instagram detection correct' : 'Instagram detection failed'
444
+ });
445
+
446
+ // Test Sephora detection
447
+ const sephoraTest = isSephoraPlatform('sephora') && isWebViewExtractionPlatform('sephora') && !isLLMPlatform('sephora');
448
+ results.push({
449
+ platform: 'sephora',
450
+ component: 'detection',
451
+ status: sephoraTest ? 'pass' : 'fail',
452
+ message: sephoraTest ? 'Sephora detection correct' : 'Sephora detection failed'
453
+ });
454
+
455
+ // Test Telegram detection
456
+ const {
457
+ isTelegramPlatform
458
+ } = require('./webviewScripts');
459
+ const telegramTest = isTelegramPlatform('telegram') && isWebViewExtractionPlatform('telegram') && !isLLMPlatform('telegram');
460
+ results.push({
461
+ platform: 'telegram',
462
+ component: 'detection',
463
+ status: telegramTest ? 'pass' : 'fail',
464
+ message: telegramTest ? 'Telegram detection correct' : 'Telegram detection failed'
465
+ });
466
+ } catch (error) {
467
+ results.push({
468
+ platform: 'all',
469
+ component: 'detection',
470
+ status: 'fail',
471
+ message: `Detection test error: ${error.message}`
472
+ });
473
+ }
474
+ return results;
475
+ };
476
+
477
+ /**
478
+ * Run all connector sanity tests
479
+ */
480
+ exports.testPlatformDetection = testPlatformDetection;
481
+ const runConnectorSanityTests = async () => {
482
+ console.log('๐Ÿงช [CONNECTOR_TESTS] Starting connector sanity tests...\n');
483
+ const allResults = [];
484
+
485
+ // Run all test suites
486
+ console.log('๐Ÿ“‹ Testing WebView script exports...');
487
+ allResults.push(...testWebViewScriptExports());
488
+ console.log('๐Ÿ“‹ Testing service imports...');
489
+ allResults.push(...testServiceImports());
490
+ console.log('๐Ÿ“‹ Testing extractor imports...');
491
+ allResults.push(...testExtractorImports());
492
+ console.log('๐Ÿ“‹ Testing platform detection...');
493
+ allResults.push(...testPlatformDetection());
494
+ console.log('๐Ÿ“‹ Testing backend connectivity...');
495
+ allResults.push(...(await testBackendConnectivity()));
496
+
497
+ // Calculate summary
498
+ const passed = allResults.filter(r => r.status === 'pass').length;
499
+ const failed = allResults.filter(r => r.status === 'fail').length;
500
+ const warnings = allResults.filter(r => r.status === 'warning').length;
501
+
502
+ // Log results
503
+ console.log('\n========================================');
504
+ console.log('๐Ÿงช CONNECTOR SANITY TEST RESULTS');
505
+ console.log('========================================\n');
506
+ for (const result of allResults) {
507
+ const icon = result.status === 'pass' ? 'โœ…' : result.status === 'fail' ? 'โŒ' : 'โš ๏ธ';
508
+ console.log(`${icon} [${result.platform.toUpperCase()}] ${result.component}: ${result.message}`);
509
+ }
510
+ console.log('\n========================================');
511
+ console.log(`๐Ÿ“Š Summary: ${passed} passed, ${failed} failed, ${warnings} warnings`);
512
+ console.log('========================================\n');
513
+ if (failed > 0) {
514
+ console.log('โŒ Some tests failed! Please check the errors above.');
515
+ } else if (warnings > 0) {
516
+ console.log('โš ๏ธ All critical tests passed, but there are warnings.');
517
+ } else {
518
+ console.log('โœ… All tests passed! Connectors are ready.');
519
+ }
520
+ return {
521
+ passed,
522
+ failed,
523
+ warnings,
524
+ results: allResults
525
+ };
526
+ };
527
+
528
+ /**
529
+ * Quick test to validate a specific platform's connector
530
+ */
531
+ exports.runConnectorSanityTests = runConnectorSanityTests;
532
+ const testPlatformConnector = async platformName => {
533
+ console.log(`๐Ÿงช Testing ${platformName} connector...\n`);
534
+ const results = [];
535
+ const platform = platformName.toLowerCase();
536
+
537
+ // Test based on platform
538
+ if (['hinge', 'instagram', 'sephora', 'telegram'].includes(platform)) {
539
+ // Test script export
540
+ try {
541
+ const scripts = require('./webviewScripts');
542
+ const scriptKey = `${platform.toUpperCase()}_EXPORT_SCRIPT`;
543
+ const hasScript = !!scripts[scriptKey];
544
+ results.push({
545
+ platform,
546
+ component: 'webview_script',
547
+ status: hasScript ? 'pass' : 'fail',
548
+ message: hasScript ? 'Export script available' : 'Export script missing'
549
+ });
550
+ } catch (e) {
551
+ results.push({
552
+ platform,
553
+ component: 'webview_script',
554
+ status: 'fail',
555
+ message: `Script import failed: ${e.message}`
556
+ });
557
+ }
558
+
559
+ // Test service
560
+ try {
561
+ const service = require(`../services/${platform}DataService`);
562
+ const functionName = platform === 'hinge' ? 'storeHingeData' : platform === 'instagram' ? 'storeInstagramData' : platform === 'telegram' ? 'storeTelegramData' : 'storeSephoraData';
563
+ results.push({
564
+ platform,
565
+ component: 'service',
566
+ status: typeof service[functionName] === 'function' ? 'pass' : 'fail',
567
+ message: `Service function ${functionName} available`
568
+ });
569
+ } catch (e) {
570
+ results.push({
571
+ platform,
572
+ component: 'service',
573
+ status: 'fail',
574
+ message: `Service import failed: ${e.message}`
575
+ });
576
+ }
577
+
578
+ // Test extractor
579
+ try {
580
+ const extractor = require(`../services/${platform}DataExtractor`);
581
+ const hookName = `use${platform.charAt(0).toUpperCase() + platform.slice(1)}DataExtractor`;
582
+ results.push({
583
+ platform,
584
+ component: 'extractor',
585
+ status: typeof extractor[hookName] === 'function' ? 'pass' : 'fail',
586
+ message: `Extractor hook ${hookName} available`
587
+ });
588
+ } catch (e) {
589
+ results.push({
590
+ platform,
591
+ component: 'extractor',
592
+ status: 'fail',
593
+ message: `Extractor import failed: ${e.message}`
594
+ });
595
+ }
596
+ } else {
597
+ results.push({
598
+ platform,
599
+ component: 'validation',
600
+ status: 'warning',
601
+ message: `Unknown platform: ${platformName}. Use 'hinge', 'instagram', 'sephora', or 'telegram'.`
602
+ });
603
+ }
604
+
605
+ // Log results
606
+ for (const result of results) {
607
+ const icon = result.status === 'pass' ? 'โœ…' : result.status === 'fail' ? 'โŒ' : 'โš ๏ธ';
608
+ console.log(`${icon} ${result.component}: ${result.message}`);
609
+ }
610
+ return results;
611
+ };
612
+ exports.testPlatformConnector = testPlatformConnector;
613
+ //# sourceMappingURL=connectorTests.js.map