react-native-inapp-inspector 2.5.11 → 2.5.13

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 (412) hide show
  1. package/README.ar.md +0 -8
  2. package/README.de.md +0 -8
  3. package/README.es.md +0 -8
  4. package/README.fr.md +0 -8
  5. package/README.hi.md +0 -8
  6. package/README.ja.md +0 -8
  7. package/README.ko.md +0 -8
  8. package/README.md +54 -26
  9. package/README.pt-BR.md +0 -8
  10. package/README.ru.md +0 -8
  11. package/README.zh-CN.md +0 -8
  12. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  13. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  15. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  16. package/android/src/main/AndroidManifest.xml +11 -0
  17. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +379 -19
  18. package/android/src/main/res/xml/inappinspector_file_paths.xml +7 -0
  19. package/dist/commonjs/components/ConsoleLogCard.js +32 -26
  20. package/dist/commonjs/components/Inspector/AboutModal.js +1 -4
  21. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +47 -49
  22. package/dist/commonjs/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  23. package/dist/commonjs/components/Inspector/BoxModelVisualizer.js +76 -0
  24. package/dist/commonjs/components/Inspector/ConsoleExportModal.js +51 -51
  25. package/dist/commonjs/components/Inspector/ConsoleTab.js +19 -14
  26. package/dist/commonjs/components/Inspector/CrashTab.js +17 -17
  27. package/dist/commonjs/components/Inspector/DebuggingTab.js +24 -24
  28. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +2 -2
  29. package/dist/commonjs/components/Inspector/FabLauncher.js +2 -2
  30. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +2 -2
  31. package/dist/commonjs/components/Inspector/InspectorHeader.js +15 -15
  32. package/dist/commonjs/components/Inspector/MainScreen.js +9 -6
  33. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +187 -90
  34. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +1 -0
  35. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +222 -222
  36. package/dist/commonjs/components/Inspector/NetworkDetail.js +11 -8
  37. package/dist/commonjs/components/Inspector/NetworkExportModal.d.ts +10 -0
  38. package/dist/commonjs/components/Inspector/NetworkExportModal.js +333 -0
  39. package/dist/commonjs/components/Inspector/NetworkTab.js +48 -42
  40. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +11 -12
  41. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +2 -0
  42. package/dist/commonjs/components/Inspector/PerformanceTab.js +652 -0
  43. package/dist/commonjs/components/Inspector/ReduxDetail.js +17 -19
  44. package/dist/commonjs/components/Inspector/ReduxTab.js +5 -5
  45. package/dist/commonjs/components/Inspector/SettingsPanel.js +259 -255
  46. package/dist/commonjs/components/Inspector/SocketCard.js +2 -2
  47. package/dist/commonjs/components/Inspector/SupportPage.js +5 -5
  48. package/dist/commonjs/components/Inspector/TabBar.js +17 -16
  49. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  50. package/dist/commonjs/components/Inspector/UiA11yAuditPanel.js +97 -0
  51. package/dist/commonjs/components/Inspector/UiInspectorDetail.d.ts +2 -0
  52. package/dist/commonjs/components/Inspector/UiInspectorDetail.js +485 -0
  53. package/dist/commonjs/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  54. package/dist/commonjs/components/Inspector/UiInspectorOverlay.js +199 -0
  55. package/dist/commonjs/components/Inspector/UiInspectorTab.d.ts +2 -0
  56. package/dist/commonjs/components/Inspector/UiInspectorTab.js +117 -0
  57. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  58. package/dist/commonjs/components/Inspector/UiLiveStyleTweaker.js +148 -0
  59. package/dist/commonjs/components/Inspector/index.d.ts +28 -0
  60. package/dist/commonjs/components/Inspector/index.js +1 -0
  61. package/dist/commonjs/components/LogCard.js +15 -10
  62. package/dist/commonjs/components/NetworkIcons.d.ts +6 -0
  63. package/dist/commonjs/components/NetworkIcons.js +35 -3
  64. package/dist/commonjs/constants/index.d.ts +1 -0
  65. package/dist/commonjs/constants/index.js +1 -1
  66. package/dist/commonjs/constants/version.d.ts +1 -1
  67. package/dist/commonjs/constants/version.js +1 -1
  68. package/dist/commonjs/customHooks/crashHandler.d.ts +1 -1
  69. package/dist/commonjs/customHooks/crashHandler.js +6 -6
  70. package/dist/commonjs/customHooks/uiInspectorManager.d.ts +22 -0
  71. package/dist/commonjs/customHooks/uiInspectorManager.js +1 -0
  72. package/dist/commonjs/helpers/index.d.ts +3 -0
  73. package/dist/commonjs/helpers/index.js +6 -6
  74. package/dist/commonjs/helpers/performanceSampler.d.ts +88 -0
  75. package/dist/commonjs/helpers/performanceSampler.js +1 -0
  76. package/dist/commonjs/helpers/remoteConfig.d.ts +0 -2
  77. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  78. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -0
  79. package/dist/commonjs/helpers/searchQueryParser.js +7 -5
  80. package/dist/commonjs/helpers/shareFormatter.d.ts +16 -0
  81. package/dist/commonjs/helpers/shareFormatter.js +16 -9
  82. package/dist/commonjs/helpers/uiInspectorEngine.d.ts +62 -0
  83. package/dist/commonjs/helpers/uiInspectorEngine.js +19 -0
  84. package/dist/commonjs/i18n/locales/ar.json +1 -1
  85. package/dist/commonjs/i18n/locales/bn.json +1 -1
  86. package/dist/commonjs/i18n/locales/de.json +1 -1
  87. package/dist/commonjs/i18n/locales/en.json +1 -1
  88. package/dist/commonjs/i18n/locales/es.json +1 -1
  89. package/dist/commonjs/i18n/locales/fr.json +1 -1
  90. package/dist/commonjs/i18n/locales/gu.json +1 -1
  91. package/dist/commonjs/i18n/locales/hi.json +1 -1
  92. package/dist/commonjs/i18n/locales/id.json +1 -1
  93. package/dist/commonjs/i18n/locales/it.json +1 -1
  94. package/dist/commonjs/i18n/locales/ja.json +1 -1
  95. package/dist/commonjs/i18n/locales/kn.json +1 -1
  96. package/dist/commonjs/i18n/locales/ko.json +1 -1
  97. package/dist/commonjs/i18n/locales/ml.json +1 -1
  98. package/dist/commonjs/i18n/locales/mr.json +1 -1
  99. package/dist/commonjs/i18n/locales/nl.json +1 -1
  100. package/dist/commonjs/i18n/locales/pa.json +1 -1
  101. package/dist/commonjs/i18n/locales/pl.json +1 -1
  102. package/dist/commonjs/i18n/locales/pt.json +1 -1
  103. package/dist/commonjs/i18n/locales/ru.json +1 -1
  104. package/dist/commonjs/i18n/locales/ta.json +1 -1
  105. package/dist/commonjs/i18n/locales/te.json +1 -1
  106. package/dist/commonjs/i18n/locales/tr.json +1 -1
  107. package/dist/commonjs/i18n/locales/vi.json +1 -1
  108. package/dist/commonjs/i18n/locales/zh.json +1 -1
  109. package/dist/commonjs/index.d.ts +6 -4
  110. package/dist/commonjs/index.js +3 -3
  111. package/dist/commonjs/native/NativeInspector.d.ts +2 -0
  112. package/dist/commonjs/native/NativeInspector.js +1 -1
  113. package/dist/commonjs/native/NativeNetworkInspector.d.ts +2 -0
  114. package/dist/commonjs/styles/index.js +1 -1
  115. package/dist/commonjs/types/editor.d.ts +31 -0
  116. package/dist/commonjs/types/enums.d.ts +1 -0
  117. package/dist/commonjs/types/enums.js +1 -1
  118. package/dist/commonjs/types/interfaces.d.ts +8 -0
  119. package/dist/esm/components/ConsoleLogCard.js +67 -61
  120. package/dist/esm/components/Inspector/AboutModal.js +14 -17
  121. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +73 -75
  122. package/dist/esm/components/Inspector/BoxModelVisualizer.d.ts +8 -0
  123. package/dist/esm/components/Inspector/BoxModelVisualizer.js +76 -0
  124. package/dist/esm/components/Inspector/ConsoleExportModal.js +67 -67
  125. package/dist/esm/components/Inspector/ConsoleTab.js +33 -28
  126. package/dist/esm/components/Inspector/CrashTab.js +58 -58
  127. package/dist/esm/components/Inspector/DebuggingTab.js +89 -89
  128. package/dist/esm/components/Inspector/DeviceInfoTab.js +2 -2
  129. package/dist/esm/components/Inspector/FabLauncher.js +21 -21
  130. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +23 -23
  131. package/dist/esm/components/Inspector/InspectorHeader.js +31 -31
  132. package/dist/esm/components/Inspector/MainScreen.js +61 -58
  133. package/dist/esm/components/Inspector/MediaGalleryTab.js +244 -147
  134. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +1 -0
  135. package/dist/esm/components/Inspector/MediaPreviewModal.js +468 -468
  136. package/dist/esm/components/Inspector/NetworkDetail.js +62 -59
  137. package/dist/esm/components/Inspector/NetworkExportModal.d.ts +10 -0
  138. package/dist/esm/components/Inspector/NetworkExportModal.js +333 -0
  139. package/dist/esm/components/Inspector/NetworkTab.js +76 -70
  140. package/dist/esm/components/Inspector/NpmStarPrompt.js +32 -33
  141. package/dist/esm/components/Inspector/PerformanceTab.d.ts +2 -0
  142. package/dist/esm/components/Inspector/PerformanceTab.js +652 -0
  143. package/dist/esm/components/Inspector/ReduxDetail.js +54 -56
  144. package/dist/esm/components/Inspector/ReduxTab.js +9 -9
  145. package/dist/esm/components/Inspector/SettingsPanel.js +302 -298
  146. package/dist/esm/components/Inspector/SocketCard.js +13 -13
  147. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  148. package/dist/esm/components/Inspector/TabBar.js +4 -3
  149. package/dist/esm/components/Inspector/UiA11yAuditPanel.d.ts +7 -0
  150. package/dist/esm/components/Inspector/UiA11yAuditPanel.js +97 -0
  151. package/dist/esm/components/Inspector/UiInspectorDetail.d.ts +2 -0
  152. package/dist/esm/components/Inspector/UiInspectorDetail.js +422 -0
  153. package/dist/esm/components/Inspector/UiInspectorOverlay.d.ts +2 -0
  154. package/dist/esm/components/Inspector/UiInspectorOverlay.js +138 -0
  155. package/dist/esm/components/Inspector/UiInspectorTab.d.ts +2 -0
  156. package/dist/esm/components/Inspector/UiInspectorTab.js +117 -0
  157. package/dist/esm/components/Inspector/UiLiveStyleTweaker.d.ts +10 -0
  158. package/dist/esm/components/Inspector/UiLiveStyleTweaker.js +148 -0
  159. package/dist/esm/components/Inspector/index.d.ts +28 -0
  160. package/dist/esm/components/Inspector/index.js +1 -0
  161. package/dist/esm/components/LogCard.js +60 -55
  162. package/dist/esm/components/NetworkIcons.d.ts +6 -0
  163. package/dist/esm/components/NetworkIcons.js +32 -0
  164. package/dist/esm/constants/index.d.ts +1 -0
  165. package/dist/esm/constants/index.js +1 -1
  166. package/dist/esm/constants/version.d.ts +1 -1
  167. package/dist/esm/constants/version.js +1 -1
  168. package/dist/esm/customHooks/crashHandler.d.ts +1 -1
  169. package/dist/esm/customHooks/crashHandler.js +6 -6
  170. package/dist/esm/customHooks/uiInspectorManager.d.ts +22 -0
  171. package/dist/esm/customHooks/uiInspectorManager.js +1 -0
  172. package/dist/esm/helpers/index.d.ts +3 -0
  173. package/dist/esm/helpers/index.js +6 -6
  174. package/dist/esm/helpers/performanceSampler.d.ts +88 -0
  175. package/dist/esm/helpers/performanceSampler.js +1 -0
  176. package/dist/esm/helpers/remoteConfig.d.ts +0 -2
  177. package/dist/esm/helpers/remoteConfig.js +1 -1
  178. package/dist/esm/helpers/searchQueryParser.d.ts +1 -0
  179. package/dist/esm/helpers/searchQueryParser.js +7 -5
  180. package/dist/esm/helpers/shareFormatter.d.ts +16 -0
  181. package/dist/esm/helpers/shareFormatter.js +20 -13
  182. package/dist/esm/helpers/uiInspectorEngine.d.ts +48 -0
  183. package/dist/esm/helpers/uiInspectorEngine.js +19 -0
  184. package/dist/esm/i18n/locales/ar.json +1 -1
  185. package/dist/esm/i18n/locales/bn.json +1 -1
  186. package/dist/esm/i18n/locales/de.json +1 -1
  187. package/dist/esm/i18n/locales/en.json +1 -1
  188. package/dist/esm/i18n/locales/es.json +1 -1
  189. package/dist/esm/i18n/locales/fr.json +1 -1
  190. package/dist/esm/i18n/locales/gu.json +1 -1
  191. package/dist/esm/i18n/locales/hi.json +1 -1
  192. package/dist/esm/i18n/locales/id.json +1 -1
  193. package/dist/esm/i18n/locales/it.json +1 -1
  194. package/dist/esm/i18n/locales/ja.json +1 -1
  195. package/dist/esm/i18n/locales/kn.json +1 -1
  196. package/dist/esm/i18n/locales/ko.json +1 -1
  197. package/dist/esm/i18n/locales/ml.json +1 -1
  198. package/dist/esm/i18n/locales/mr.json +1 -1
  199. package/dist/esm/i18n/locales/nl.json +1 -1
  200. package/dist/esm/i18n/locales/pa.json +1 -1
  201. package/dist/esm/i18n/locales/pl.json +1 -1
  202. package/dist/esm/i18n/locales/pt.json +1 -1
  203. package/dist/esm/i18n/locales/ru.json +1 -1
  204. package/dist/esm/i18n/locales/ta.json +1 -1
  205. package/dist/esm/i18n/locales/te.json +1 -1
  206. package/dist/esm/i18n/locales/tr.json +1 -1
  207. package/dist/esm/i18n/locales/vi.json +1 -1
  208. package/dist/esm/i18n/locales/zh.json +1 -1
  209. package/dist/esm/index.d.ts +6 -4
  210. package/dist/esm/index.js +8 -8
  211. package/dist/esm/native/NativeInspector.d.ts +2 -0
  212. package/dist/esm/native/NativeInspector.js +1 -1
  213. package/dist/esm/native/NativeNetworkInspector.d.ts +2 -0
  214. package/dist/esm/styles/index.js +1 -1
  215. package/dist/esm/types/editor.d.ts +31 -0
  216. package/dist/esm/types/enums.d.ts +1 -0
  217. package/dist/esm/types/enums.js +1 -1
  218. package/dist/esm/types/interfaces.d.ts +8 -0
  219. package/ios/NetworkInspectorModule.mm +314 -16
  220. package/package.json +24 -1
  221. package/src/native/NativeInspector.ts +37 -0
  222. package/src/native/NativeNetworkInspector.ts +2 -0
  223. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +0 -1
  224. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  225. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  226. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  227. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  228. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  229. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  230. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  231. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.dex +0 -0
  232. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  233. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  234. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  235. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  236. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  237. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +0 -1
  238. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  239. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +0 -10
  240. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +0 -160
  241. package/android/build/generated/source/codegen/jni/CMakeLists.txt +0 -28
  242. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +0 -212
  243. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +0 -31
  244. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +0 -22
  245. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +0 -24
  246. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +0 -16
  247. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +0 -17
  248. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +0 -19
  249. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +0 -18
  250. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +0 -300
  251. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +0 -17
  252. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +0 -23
  253. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +0 -16
  254. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +0 -20
  255. package/android/build/generated/source/codegen/schema.json +0 -1
  256. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -7
  257. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  258. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  259. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  260. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  261. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  262. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  263. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  264. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  265. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  266. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  267. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  268. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  269. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  270. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  271. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
  272. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -7
  273. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -7
  274. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  275. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  276. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  277. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  278. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  279. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  280. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  281. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  282. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  283. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  284. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  285. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  286. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  287. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  288. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  289. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  290. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  301. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  302. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  303. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  304. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  305. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  306. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  307. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  308. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  309. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  311. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  312. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  313. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  314. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  315. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  316. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  317. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  318. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  319. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  320. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  321. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  322. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  323. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  324. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  325. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  326. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  327. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  328. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  329. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  330. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  331. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  332. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  333. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  334. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  335. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  336. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  337. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  338. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  339. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  340. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  341. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  342. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  343. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  344. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  345. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  346. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  347. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  348. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  349. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  350. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  351. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  352. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  353. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  354. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  355. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  356. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  357. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  358. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  359. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  360. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  361. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  362. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  363. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  364. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  365. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  366. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  367. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  368. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  369. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  370. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  371. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  372. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  373. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  374. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  375. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  376. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  377. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  378. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  379. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -17
  380. package/android/build/reports/problems/problems-report.html +0 -659
  381. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  382. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  383. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  384. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  385. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  386. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  387. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  388. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  389. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  390. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  391. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  392. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  393. package/dist/commonjs/a11y.d.ts +0 -2
  394. package/dist/commonjs/a11y.js +0 -1
  395. package/dist/commonjs/components/Inspector/A11yTab.d.ts +0 -2
  396. package/dist/commonjs/components/Inspector/A11yTab.js +0 -268
  397. package/dist/commonjs/components/Inspector/DeveloperSponsorCard.d.ts +0 -9
  398. package/dist/commonjs/components/Inspector/DeveloperSponsorCard.js +0 -52
  399. package/dist/commonjs/customHooks/a11yAdapter.d.ts +0 -11
  400. package/dist/commonjs/customHooks/a11yAdapter.js +0 -1
  401. package/dist/commonjs/helpers/sponsorService.d.ts +0 -20
  402. package/dist/commonjs/helpers/sponsorService.js +0 -1
  403. package/dist/esm/a11y.d.ts +0 -2
  404. package/dist/esm/a11y.js +0 -1
  405. package/dist/esm/components/Inspector/A11yTab.d.ts +0 -2
  406. package/dist/esm/components/Inspector/A11yTab.js +0 -268
  407. package/dist/esm/components/Inspector/DeveloperSponsorCard.d.ts +0 -9
  408. package/dist/esm/components/Inspector/DeveloperSponsorCard.js +0 -52
  409. package/dist/esm/customHooks/a11yAdapter.d.ts +0 -11
  410. package/dist/esm/customHooks/a11yAdapter.js +0 -1
  411. package/dist/esm/helpers/sponsorService.d.ts +0 -20
  412. package/dist/esm/helpers/sponsorService.js +0 -1
@@ -1,7 +1,7 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,a,n){n===void 0&&(n=a);var o=Object.getOwnPropertyDescriptor(t,a);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,o)}):(function(e,t,a,n){n===void 0&&(n=a),e[n]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(a){var n=[];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(n[n.length]=o);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var n=e(t),o=0;o<n.length;o++)n[o]!=="default"&&__createBinding(a,t,n[o]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),constants_1=require("../constants"),helpers_1=require("../helpers"),NetworkIcons_1=require("./NetworkIcons"),AppFonts_1=require("../styles/AppFonts"),HighlightText_1=__importDefault(require("./HighlightText")),TouchableScale_1=__importDefault(require("./TouchableScale")),i18n_1=require("../i18n");function LogCard({item:e,onPress:t,timelineMinStart:a,timelineTotalRange:n,isNew:o,isSelected:h,onToggleSelect:_,searchStr:C,testID:b}){const{t:l}=(0,i18n_1.useTranslation)(),f=constants_1.METHOD_COLORS[e.method]??constants_1.METHOD_COLORS.ALL,s=(0,react_1.useMemo)(()=>{try{const r=new URL(e.url),g=r.host,w=r.pathname+(r.search?r.search:""),S=r.protocol==="https:";return{host:g,path:w||"/",isHttps:S}}catch{const r=e.url.toLowerCase().startsWith("https:"),g=(0,helpers_1.getPath)(e.url);return{host:(0,helpers_1.getBaseUrl)(e.url).replace(/^https?:\/\//,""),path:g||e.url,isHttps:r}}},[e.url]),y=r=>{r?.stopPropagation?.(),react_native_1.Alert.alert(l("common.openInBrowser")||"Open in Browser",`${l("common.openInBrowserPrompt")||"Are you sure you want to open this URL in your external browser?"}
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,a,n){n===void 0&&(n=a);var r=Object.getOwnPropertyDescriptor(t,a);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,r)}):(function(e,t,a,n){n===void 0&&(n=a),e[n]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(a){var n=[];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(n[n.length]=r);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var n=e(t),r=0;r<n.length;r++)n[r]!=="default"&&__createBinding(a,t,n[r]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),constants_1=require("../constants"),helpers_1=require("../helpers"),NetworkIcons_1=require("./NetworkIcons"),AppFonts_1=require("../styles/AppFonts"),HighlightText_1=__importDefault(require("./HighlightText")),TouchableScale_1=__importDefault(require("./TouchableScale")),i18n_1=require("../i18n");function LogCard({item:e,onPress:t,timelineMinStart:a,timelineTotalRange:n,isNew:r,isSelected:h,onToggleSelect:_,searchStr:C,testID:b}){const{t:l}=(0,i18n_1.useTranslation)(),f=constants_1.METHOD_COLORS[e.method]??constants_1.METHOD_COLORS.ALL,s=(0,react_1.useMemo)(()=>{try{const o=new URL(e.url),g=o.host,w=o.pathname+(o.search?o.search:""),S=o.protocol==="https:";return{host:g,path:w||"/",isHttps:S}}catch{const o=e.url.toLowerCase().startsWith("https:"),g=(0,helpers_1.getPath)(e.url);return{host:(0,helpers_1.getBaseUrl)(e.url).replace(/^https?:\/\//,""),path:g||e.url,isHttps:o}}},[e.url]),y=o=>{o?.stopPropagation?.(),react_native_1.Alert.alert(l("common.openInBrowser")||"Open URL",`${l("common.openInBrowserPrompt")||"Choose how you want to open or inspect this URL:"}
2
2
 
3
- ${e.url}`,[{text:l("common.cancel")||"Cancel",style:"cancel"},{text:l("common.open")||"Open",onPress:()=>{react_native_1.Linking.openURL(e.url).catch(()=>{react_native_1.Alert.alert(l("common.error")||"Error",l("common.cannotOpenUrl")||"Could not open URL")})}}])},i=e.status===0||e.status!=null&&e.status>=400,p=e.status==null,d=(0,helpers_1.getStatusColor)(e.status),c=(0,helpers_1.getDurationColor)(e.duration),x=p?AppColors_1.AppColors.darkOrange:i?AppColors_1.AppColors.errorColor:AppColors_1.AppColors.greenColor,u=(0,react_1.useRef)(new react_native_1.Animated.Value(o?.35:0)).current;(0,react_1.useEffect)(()=>{o&&react_native_1.Animated.timing(u,{toValue:0,duration:1200,useNativeDriver:!0}).start()},[o,u]);const A=()=>{if(p)return"...";if(e.status===0||e.status==null)return l("network.statusFailed")||"FAILED";const r=typeof e.status=="number"?e.status:parseInt(String(e.status||0),10);return r===200?"200 OK":r===201?"201 Created":r===204?"204 No Content":r===304?"304 Not Modified":r===400?"400 Bad Req":r===401?"401 Unauth":r===403?"403 Forbidden":r===404?"404 Not Found":r===500?"500 Error":String(e.status)},T=()=>{if(p)return<NetworkIcons_1.ClockIcon color={AppColors_1.AppColors.darkOrange}size={10}/>;const r=typeof e.status=="number"?e.status:parseInt(String(e.status||0),10);return r>=200&&r<300?<NetworkIcons_1.CircleCheckIcon color={AppColors_1.AppColors.greenColor}size={10}/>:r>=300&&r<400?<NetworkIcons_1.RepeatIcon color={AppColors_1.AppColors.amber700}size={10}/>:r>=400&&r<500?<NetworkIcons_1.CircleAlertIcon color={AppColors_1.AppColors.darkOrange}size={10}/>:<NetworkIcons_1.CircleXIcon color={AppColors_1.AppColors.errorColor}size={10}/>},v=(0,helpers_1.formatDateTime)(e.startTime),V=e.url.split("?")[0].toLowerCase().endsWith(".json");return<react_native_1.View style={styles.container}>
4
- <TouchableScale_1.default testID={b}onPress={t}style={[styles.card,{borderLeftWidth:3.5,borderLeftColor:x,backgroundColor:i?AppColors_1.AppColors.errorCardBg:AppColors_1.AppColors.white}]}>
3
+ ${e.url}`,[{text:l("common.cancel")||"Cancel",style:"cancel"},{text:"Open in Postman",onPress:()=>(0,helpers_1.openWithPostman)(e)},{text:l("common.open")||"Browser",onPress:()=>{react_native_1.Linking.openURL(e.url).catch(()=>{react_native_1.Alert.alert(l("common.error")||"Error",l("common.cannotOpenUrl")||"Could not open URL")})}}])},x=o=>{o?.stopPropagation?.(),(0,helpers_1.openWithPostman)(e)},i=e.status===0||e.status!=null&&e.status>=400,p=e.status==null,d=(0,helpers_1.getStatusColor)(e.status),c=(0,helpers_1.getDurationColor)(e.duration),A=p?AppColors_1.AppColors.darkOrange:i?AppColors_1.AppColors.errorColor:AppColors_1.AppColors.greenColor,u=(0,react_1.useRef)(new react_native_1.Animated.Value(r?.35:0)).current;(0,react_1.useEffect)(()=>{r&&react_native_1.Animated.timing(u,{toValue:0,duration:1200,useNativeDriver:!0}).start()},[r,u]);const T=()=>{if(p)return"...";if(e.status===0||e.status==null)return l("network.statusFailed")||"FAILED";const o=typeof e.status=="number"?e.status:parseInt(String(e.status||0),10);return o===200?"200 OK":o===201?"201 Created":o===204?"204 No Content":o===304?"304 Not Modified":o===400?"400 Bad Req":o===401?"401 Unauth":o===403?"403 Forbidden":o===404?"404 Not Found":o===500?"500 Error":String(e.status)},v=()=>{if(p)return<NetworkIcons_1.ClockIcon color={AppColors_1.AppColors.darkOrange}size={10}/>;const o=typeof e.status=="number"?e.status:parseInt(String(e.status||0),10);return o>=200&&o<300?<NetworkIcons_1.CircleCheckIcon color={AppColors_1.AppColors.greenColor}size={10}/>:o>=300&&o<400?<NetworkIcons_1.RepeatIcon color={AppColors_1.AppColors.amber700}size={10}/>:o>=400&&o<500?<NetworkIcons_1.CircleAlertIcon color={AppColors_1.AppColors.darkOrange}size={10}/>:<NetworkIcons_1.CircleXIcon color={AppColors_1.AppColors.errorColor}size={10}/>},m=(0,helpers_1.formatDateTime)(e.startTime),V=e.url.split("?")[0].toLowerCase().endsWith(".json");return<react_native_1.View style={styles.container}>
4
+ <TouchableScale_1.default testID={b}onPress={t}style={[styles.card,{borderLeftWidth:3.5,borderLeftColor:A,backgroundColor:i?AppColors_1.AppColors.errorCardBg:AppColors_1.AppColors.white}]}>
5
5
  <react_native_1.View style={styles.cardBody}>
6
6
 
7
7
  <react_native_1.View style={styles.cardHeaderRow}>
@@ -36,15 +36,20 @@ ${e.url}`,[{text:l("common.cancel")||"Cancel",style:"cancel"},{text:l("common.op
36
36
 
37
37
  <react_native_1.View style={styles.cardHeaderRight}>
38
38
  <react_native_1.View style={[styles.statusPill,{backgroundColor:i?`${AppColors_1.AppColors.errorColor}14`:p?`${AppColors_1.AppColors.darkOrange}14`:`${d}14`,borderColor:i?`${AppColors_1.AppColors.errorColor}33`:p?`${AppColors_1.AppColors.darkOrange}33`:`${d}33`}]}>
39
- {T()}
39
+ {v()}
40
40
  <react_native_1.Text style={[styles.statusPillText,{color:i?AppColors_1.AppColors.errorColor:p?AppColors_1.AppColors.darkOrange:d}]}>
41
- {A()}
41
+ {T()}
42
42
  </react_native_1.Text>
43
43
  </react_native_1.View>
44
- <react_native_1.Pressable onPress={y}hitSlop={8}style={styles.globeBtn}accessibilityRole="button"accessibilityLabel="Open in Browser">
44
+ <react_native_1.Pressable onPress={y}hitSlop={{top:6,bottom:6,left:3,right:3}}style={styles.globeBtn}accessibilityRole="button"accessibilityLabel="Open in Browser">
45
45
  <NetworkIcons_1.GlobeIcon color={AppColors_1.AppColors.grayTextWeak}size={12}/>
46
46
  </react_native_1.Pressable>
47
- <NetworkIcons_1.ForwardChevronIcon color={AppColors_1.AppColors.grayTextWeak}size={13}/>
47
+ <react_native_1.Pressable onPress={x}hitSlop={{top:6,bottom:6,left:3,right:3}}style={[styles.globeBtn,{backgroundColor:"rgba(255, 108, 55, 0.12)",borderColor:"rgba(255, 108, 55, 0.28)"}]}accessibilityRole="button"accessibilityLabel="Open with Postman">
48
+ <NetworkIcons_1.PostmanIcon color="#FF6C37"size={11}/>
49
+ </react_native_1.Pressable>
50
+ <react_native_1.View style={styles.chevronWrapper}>
51
+ <NetworkIcons_1.ForwardChevronIcon color={AppColors_1.AppColors.grayTextWeak}size={13}/>
52
+ </react_native_1.View>
48
53
  </react_native_1.View>
49
54
  </react_native_1.View>
50
55
 
@@ -81,7 +86,7 @@ ${e.url}`,[{text:l("common.cancel")||"Cancel",style:"cancel"},{text:l("common.op
81
86
  <react_native_1.View style={styles.footerLeft}>
82
87
  <react_native_1.View style={styles.cardDateRow}>
83
88
  <NetworkIcons_1.CalendarIcon color={AppColors_1.AppColors.grayTextWeak}size={10}/>
84
- <react_native_1.Text style={styles.cardDateText}numberOfLines={1}>{v}</react_native_1.Text>
89
+ <react_native_1.Text style={styles.cardDateText}numberOfLines={1}>{m}</react_native_1.Text>
85
90
  </react_native_1.View>
86
91
  </react_native_1.View>
87
92
 
@@ -108,6 +113,6 @@ ${e.url}`,[{text:l("common.cancel")||"Cancel",style:"cancel"},{text:l("common.op
108
113
  </react_native_1.View>
109
114
  </react_native_1.View>
110
115
 
111
- {o&&<react_native_1.Animated.View pointerEvents="none"style={[react_native_1.StyleSheet.absoluteFill,{backgroundColor:f,opacity:u}]}/>}
116
+ {r&&<react_native_1.Animated.View pointerEvents="none"style={[react_native_1.StyleSheet.absoluteFill,{backgroundColor:f,opacity:u}]}/>}
112
117
  </TouchableScale_1.default>
113
- </react_native_1.View>}const styles=react_native_1.StyleSheet.create({container:{paddingHorizontal:8,paddingVertical:4,height:126,justifyContent:"center"},card:{height:118,alignSelf:"stretch",borderRadius:10,overflow:"hidden",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString},cardBody:{height:"100%",paddingHorizontal:8,paddingTop:8,paddingBottom:6,justifyContent:"space-between"},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:22,minHeight:22,maxHeight:22},cardHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,marginRight:4,gap:4.5,minWidth:0,overflow:"hidden"},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},smallCheckbox:{width:15,height:15,borderRadius:4,borderWidth:1.5,borderColor:AppColors_1.AppColors.grayTextWeak,alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.white},smallCheckboxChecked:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},serialNumber:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.grayTextWeak,fontSize:10},methodBadge:{paddingHorizontal:6,paddingVertical:2,borderRadius:5,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12,letterSpacing:.5,color:AppColors_1.AppColors.white},chip:{paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,lineHeight:12},statusPill:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,flexShrink:0},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12},globeBtn:{padding:3,borderRadius:4,backgroundColor:`${AppColors_1.AppColors.grayTextWeak}12`,alignItems:"center",justifyContent:"center"},urlBox:{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:7,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:7,paddingVertical:4.5,height:48,minHeight:48,maxHeight:48,justifyContent:"center",gap:2.5,overflow:"hidden"},urlMainRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:4,minHeight:16},hostRow:{flexDirection:"row",alignItems:"center",gap:5,flex:1,minWidth:0},protoBadge:{paddingHorizontal:4,paddingVertical:1,borderRadius:3.5,borderWidth:1},protoBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:10},hostText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.primaryBlack,flex:1},urlBadgeRow:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},jsonBadge:{backgroundColor:`${AppColors_1.AppColors.darkOrange}14`,borderColor:`${AppColors_1.AppColors.darkOrange}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},jsonBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.darkOrange},dupBadge:{backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},dupBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.purple},slugRow:{flexDirection:"row",alignItems:"center",minHeight:15},pathText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.slate600||AppColors_1.AppColors.grayText,flex:1},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:18,minHeight:18,maxHeight:18,gap:4},footerLeft:{flexDirection:"row",alignItems:"center",gap:4.5,flex:1,minWidth:0,overflow:"hidden"},footerRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},cardDateRow:{flexDirection:"row",alignItems:"center",gap:3.5},cardDateText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.violetSoftBg,borderColor:AppColors_1.AppColors.violetSoftBorder,borderWidth:1,paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4},metaStatText:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.violetSoftText,fontSize:9,lineHeight:12},waterfallContainer:{height:2.5,width:"100%",backgroundColor:AppColors_1.AppColors.graySurface,borderRadius:1.5,overflow:"hidden",marginTop:2},waterfallBar:{height:"100%",borderRadius:1.5}});function areLogCardPropsEqual(e,t){return e.item===t.item&&e.isSelected===t.isSelected&&e.isNew===t.isNew&&e.searchStr===t.searchStr&&e.timelineMinStart===t.timelineMinStart&&e.timelineTotalRange===t.timelineTotalRange&&e.onPress===t.onPress&&e.onToggleSelect===t.onToggleSelect}exports.default=react_1.default.memo(LogCard,areLogCardPropsEqual);
118
+ </react_native_1.View>}const styles=react_native_1.StyleSheet.create({container:{paddingHorizontal:8,paddingVertical:4,height:126,justifyContent:"center"},card:{height:118,alignSelf:"stretch",borderRadius:10,overflow:"hidden",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString},cardBody:{height:"100%",paddingHorizontal:8,paddingTop:8,paddingBottom:6,justifyContent:"space-between"},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:22,minHeight:22,maxHeight:22},cardHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,marginRight:4,gap:4.5,minWidth:0,overflow:"hidden"},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:7,flexShrink:0},smallCheckbox:{width:15,height:15,borderRadius:4,borderWidth:1.5,borderColor:AppColors_1.AppColors.grayTextWeak,alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.white},smallCheckboxChecked:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},serialNumber:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.grayTextWeak,fontSize:10},methodBadge:{paddingHorizontal:6,paddingVertical:2,borderRadius:5,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12,letterSpacing:.5,color:AppColors_1.AppColors.white},chip:{paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,lineHeight:12},statusPill:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,flexShrink:0},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12},globeBtn:{width:26,height:22,borderRadius:5,backgroundColor:`${AppColors_1.AppColors.grayTextWeak}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.grayTextWeak}28`,alignItems:"center",justifyContent:"center"},chevronWrapper:{paddingLeft:2,alignItems:"center",justifyContent:"center"},urlBox:{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:7,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:7,paddingVertical:4.5,height:48,minHeight:48,maxHeight:48,justifyContent:"center",gap:2.5,overflow:"hidden"},urlMainRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:4,minHeight:16},hostRow:{flexDirection:"row",alignItems:"center",gap:5,flex:1,minWidth:0},protoBadge:{paddingHorizontal:4,paddingVertical:1,borderRadius:3.5,borderWidth:1},protoBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8,lineHeight:10},hostText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,lineHeight:15,color:AppColors_1.AppColors.primaryBlack,flex:1},urlBadgeRow:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},jsonBadge:{backgroundColor:`${AppColors_1.AppColors.darkOrange}14`,borderColor:`${AppColors_1.AppColors.darkOrange}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},jsonBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.darkOrange},dupBadge:{backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},dupBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.purple},slugRow:{flexDirection:"row",alignItems:"center",minHeight:15},pathText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.slate600||AppColors_1.AppColors.grayText,flex:1},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:18,minHeight:18,maxHeight:18,gap:4},footerLeft:{flexDirection:"row",alignItems:"center",gap:4.5,flex:1,minWidth:0,overflow:"hidden"},footerRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},cardDateRow:{flexDirection:"row",alignItems:"center",gap:3.5},cardDateText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.violetSoftBg,borderColor:AppColors_1.AppColors.violetSoftBorder,borderWidth:1,paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4},metaStatText:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.violetSoftText,fontSize:9,lineHeight:12},waterfallContainer:{height:2.5,width:"100%",backgroundColor:AppColors_1.AppColors.graySurface,borderRadius:1.5,overflow:"hidden",marginTop:2},waterfallBar:{height:"100%",borderRadius:1.5}});function areLogCardPropsEqual(e,t){return e.item===t.item&&e.isSelected===t.isSelected&&e.isNew===t.isNew&&e.searchStr===t.searchStr&&e.timelineMinStart===t.timelineMinStart&&e.timelineTotalRange===t.timelineTotalRange&&e.onPress===t.onPress&&e.onToggleSelect===t.onToggleSelect}exports.default=react_1.default.memo(LogCard,areLogCardPropsEqual);
@@ -58,6 +58,7 @@ export declare const WipeIcon: ({ color, size }: IconProps) => React.JSX.Element
58
58
  export declare const LayersIcon: ({ color, size, }: IconProps) => React.JSX.Element;
59
59
  export declare const UserIcon: ({ color, size }: IconProps) => React.JSX.Element;
60
60
  export declare const InfoCircleIcon: ({ color, size, }: IconProps) => React.JSX.Element;
61
+ export declare const PostmanIcon: ({ color, size, }: IconProps) => React.JSX.Element;
61
62
  export declare const WarningTriangleIcon: ({ color, size, }: IconProps) => React.JSX.Element;
62
63
  export declare const ErrorCircleIcon: ({ color, size, }: IconProps) => React.JSX.Element;
63
64
  export declare const TrendingUpIcon: ({ color, size, }: IconProps) => React.JSX.Element;
@@ -232,3 +233,8 @@ export declare const ArrowForwardIcon: ({ color, size }: IconProps) => React.JSX
232
233
  export declare const ScaleBalanceIcon: ({ color, size }: IconProps) => React.JSX.Element;
233
234
  export declare const VolumeMuteIcon: ({ color, size }: IconProps) => React.JSX.Element;
234
235
  export declare const ShieldBanIcon: ({ color, size }: IconProps) => React.JSX.Element;
236
+ export declare const SpeedometerIcon: ({ color, size }: IconProps) => React.JSX.Element;
237
+ export declare const CpuChipIcon: ({ color, size }: IconProps) => React.JSX.Element;
238
+ export declare const PulseGraphIcon: ({ color, size }: IconProps) => React.JSX.Element;
239
+ export declare const GaugeIcon: ({ color, size }: IconProps) => React.JSX.Element;
240
+ export declare const MemoryRamIcon: ({ color, size }: IconProps) => React.JSX.Element;
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,o,r){r===void 0&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}):(function(e,t,o,r){r===void 0&&(r=o),e[r]=t[o]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(o){var r=[];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[r.length]=n);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var o={};if(t!=null)for(var r=e(t),n=0;n<r.length;n++)r[n]!=="default"&&__createBinding(o,t,r[n]);return __setModuleDefault(o,t),o}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InfoCircleIcon=exports.UserIcon=exports.LayersIcon=exports.WipeIcon=exports.FolderIcon=exports.SettingsIcon=exports.EyeIcon=exports.JsIcon=exports.CssIcon=exports.HtmlIcon=exports.BrandSquareIcon=exports.BrandCircleIcon=exports.MoonIcon=exports.SunIcon=exports.DebugIcon=exports.InsightsIcon=exports.AnalyticsIcon=exports.WhiteBackNavigation=exports.CloseWhite=exports.DownloadIcon=exports.FilterIcon=exports.ChevronIcon=exports.SortArrowIcon=exports.GlobeIcon=exports.DiffIcon=exports.SignalIcon=exports.ShareIcon=exports.ExportIcon=exports.TrashIcon=exports.FailIcon=exports.CircleAlertIcon=exports.CircleXIcon=exports.CircleCheckIcon=exports.CheckIcon=exports.TerminalIcon=exports.FetchIcon=exports.CopyIcon=exports.HeadersIcon=exports.ResponseIcon=exports.RequestIcon=exports.SizeIcon=exports.StatusIcon=exports.CalendarIcon=exports.ClockIcon=exports.ClearIcon=exports.SearchIcon=exports.ExpandCollapseIcon=exports.ScreenIcon=exports.MapPinIcon=exports.EmptyRadarIcon=void 0,exports.StackTraceIcon=exports.LayoutIcon=exports.ChipIcon=exports.SkullIcon=exports.ShieldAlertIcon=exports.CrashIcon=exports.UserCheckIcon=exports.TargetGoalIcon=exports.RepeatIcon=exports.PinIcon=exports.HourglassIcon=exports.FlameIcon=exports.CodeBracketsIcon=exports.AndroidIcon=exports.AppleIcon=exports.LinkChainIcon=exports.GitHubIcon=exports.StarIcon=exports.PackageBoxIcon=exports.ExternalLinkIcon=exports.MoneyIcon=exports.CartIcon=exports.TextAaIcon=exports.BrainIcon=exports.AtomIcon=exports.MapIcon=exports.SparkleIcon=exports.LightbulbIcon=exports.DocIcon=exports.FolderOpenIcon=exports.BanIcon=exports.BoltIcon=exports.PerformanceIcon=exports.ReduxIcon=exports.MetadataIcon=exports.StorageIcon=exports.RefreshCcwIcon=exports.TimelineIcon=exports.LiveStateIcon=exports.BundleIcon=exports.ForwardChevronIcon=exports.PackageIcon=exports.TableIcon=exports.RawIcon=exports.PrettyIcon=exports.SortIcon=exports.MotionIcon=exports.TrendingUpIcon=exports.ErrorCircleIcon=exports.WarningTriangleIcon=void 0,exports.GridIcon=exports.ListIcon=exports.ScreencastIcon=exports.FilmIcon=exports.ImageIcon=exports.PauseIcon=exports.PlayIcon=exports.GifIcon=exports.MicrophoneIcon=exports.VideoCameraIcon=exports.ScreenRecordIcon=exports.CameraLensIcon=exports.ScreenshotCaptureIcon=exports.CameraIcon=exports.LifeBuoyIcon=exports.SendIcon=exports.HelpCircleIcon=exports.HeadphonesIcon=exports.TurtleIcon=exports.RocketIcon=exports.UnlockIcon=exports.QrCodeIcon=exports.LockIcon=exports.PlusIcon=exports.PencilIcon=exports.DatabaseIcon=exports.ShieldCheckIcon=exports.WifiIcon=exports.CpuIcon=exports.MinimizeIcon=exports.MaximizeIcon=exports.ChevronDownIcon=exports.ResetIcon=exports.NpmIcon=exports.TagIcon=exports.BugIcon=exports.AlertTriangleIcon=exports.SmartphoneIcon=exports.KeyIcon=exports.BarChartIcon=exports.DiceIcon=exports.ZapIcon=exports.FlaskIcon=exports.LoadingSpinnerIcon=exports.ListenerIcon=exports.AllFramesIcon=exports.AppFramesIcon=exports.RawJsonIcon=exports.TrailIcon=exports.DiagnosticsIcon=void 0,exports.ResizeIcon=exports.UndoIcon=exports.ZoomOutIcon=exports.ZoomInIcon=exports.BlurIcon=exports.TypeIcon=exports.EllipseIconOutline=exports.CircleIconOutline=exports.RectangleIcon=exports.ShapesIcon=exports.PenIcon=exports.BatteryFullIcon=exports.BatteryChargingIcon=exports.SpeedIcon=exports.ActivityIcon=exports.MailIcon=exports.VolumeXIcon=exports.ScissorsIcon=exports.AnnotateIcon=exports.RedactIcon=exports.RotateIcon=exports.CropIcon=exports.HeartIcon=exports.SupportIcon=exports.ArrowDownIcon=exports.ArrowUpIcon=exports.BuildingIcon=exports.VolumeIcon=exports.BroadcastIcon=exports.PingIcon=exports.ReceiveFrameIcon=exports.SendFrameIcon=exports.WebsocketIcon=exports.SocketIcon=exports.CloudPushIcon=exports.NotificationIcon=exports.BellIcon=exports.HeartFaceIcon=exports.StarFaceIcon=exports.SmileFaceIcon=exports.NeutralFaceIcon=exports.AngryFaceIcon=exports.SparklesIcon=exports.MessageSquareIcon=exports.ChevronUpIcon=exports.WrenchIcon=exports.BookOpenIcon=exports.MinimizeWindowIcon=exports.CameraRollIcon=exports.GridlinesIcon=void 0,exports.ShieldBanIcon=exports.VolumeMuteIcon=exports.ScaleBalanceIcon=exports.ArrowForwardIcon=exports.VignetteIcon=exports.ExposureIcon=exports.WarmthIcon=exports.SaturationIcon=exports.ContrastIcon=exports.BrightnessIcon=exports.EyeCompareIcon=exports.ArrowRightIcon=exports.HighlighterIcon=exports.PixelateIcon=exports.DownloadExportIcon=exports.FlaskAiIcon=exports.SunAdjustIcon=exports.MoreDotsIcon=exports.RedoIcon=exports.SaveIcon=exports.GripVerticalIcon=exports.AspectRatioIcon=void 0;const react_1=__importDefault(require("react")),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),EmptyRadarIcon=({color:e=AppColors_1.AppColors.purple,size:t=32})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,o,r){r===void 0&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}):(function(e,t,o,r){r===void 0&&(r=o),e[r]=t[o]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(o){var r=[];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[r.length]=n);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var o={};if(t!=null)for(var r=e(t),n=0;n<r.length;n++)r[n]!=="default"&&__createBinding(o,t,r[n]);return __setModuleDefault(o,t),o}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.InfoCircleIcon=exports.UserIcon=exports.LayersIcon=exports.WipeIcon=exports.FolderIcon=exports.SettingsIcon=exports.EyeIcon=exports.JsIcon=exports.CssIcon=exports.HtmlIcon=exports.BrandSquareIcon=exports.BrandCircleIcon=exports.MoonIcon=exports.SunIcon=exports.DebugIcon=exports.InsightsIcon=exports.AnalyticsIcon=exports.WhiteBackNavigation=exports.CloseWhite=exports.DownloadIcon=exports.FilterIcon=exports.ChevronIcon=exports.SortArrowIcon=exports.GlobeIcon=exports.DiffIcon=exports.SignalIcon=exports.ShareIcon=exports.ExportIcon=exports.TrashIcon=exports.FailIcon=exports.CircleAlertIcon=exports.CircleXIcon=exports.CircleCheckIcon=exports.CheckIcon=exports.TerminalIcon=exports.FetchIcon=exports.CopyIcon=exports.HeadersIcon=exports.ResponseIcon=exports.RequestIcon=exports.SizeIcon=exports.StatusIcon=exports.CalendarIcon=exports.ClockIcon=exports.ClearIcon=exports.SearchIcon=exports.ExpandCollapseIcon=exports.ScreenIcon=exports.MapPinIcon=exports.EmptyRadarIcon=void 0,exports.LayoutIcon=exports.ChipIcon=exports.SkullIcon=exports.ShieldAlertIcon=exports.CrashIcon=exports.UserCheckIcon=exports.TargetGoalIcon=exports.RepeatIcon=exports.PinIcon=exports.HourglassIcon=exports.FlameIcon=exports.CodeBracketsIcon=exports.AndroidIcon=exports.AppleIcon=exports.LinkChainIcon=exports.GitHubIcon=exports.StarIcon=exports.PackageBoxIcon=exports.ExternalLinkIcon=exports.MoneyIcon=exports.CartIcon=exports.TextAaIcon=exports.BrainIcon=exports.AtomIcon=exports.MapIcon=exports.SparkleIcon=exports.LightbulbIcon=exports.DocIcon=exports.FolderOpenIcon=exports.BanIcon=exports.BoltIcon=exports.PerformanceIcon=exports.ReduxIcon=exports.MetadataIcon=exports.StorageIcon=exports.RefreshCcwIcon=exports.TimelineIcon=exports.LiveStateIcon=exports.BundleIcon=exports.ForwardChevronIcon=exports.PackageIcon=exports.TableIcon=exports.RawIcon=exports.PrettyIcon=exports.SortIcon=exports.MotionIcon=exports.TrendingUpIcon=exports.ErrorCircleIcon=exports.WarningTriangleIcon=exports.PostmanIcon=void 0,exports.ListIcon=exports.ScreencastIcon=exports.FilmIcon=exports.ImageIcon=exports.PauseIcon=exports.PlayIcon=exports.GifIcon=exports.MicrophoneIcon=exports.VideoCameraIcon=exports.ScreenRecordIcon=exports.CameraLensIcon=exports.ScreenshotCaptureIcon=exports.CameraIcon=exports.LifeBuoyIcon=exports.SendIcon=exports.HelpCircleIcon=exports.HeadphonesIcon=exports.TurtleIcon=exports.RocketIcon=exports.UnlockIcon=exports.QrCodeIcon=exports.LockIcon=exports.PlusIcon=exports.PencilIcon=exports.DatabaseIcon=exports.ShieldCheckIcon=exports.WifiIcon=exports.CpuIcon=exports.MinimizeIcon=exports.MaximizeIcon=exports.ChevronDownIcon=exports.ResetIcon=exports.NpmIcon=exports.TagIcon=exports.BugIcon=exports.AlertTriangleIcon=exports.SmartphoneIcon=exports.KeyIcon=exports.BarChartIcon=exports.DiceIcon=exports.ZapIcon=exports.FlaskIcon=exports.LoadingSpinnerIcon=exports.ListenerIcon=exports.AllFramesIcon=exports.AppFramesIcon=exports.RawJsonIcon=exports.TrailIcon=exports.DiagnosticsIcon=exports.StackTraceIcon=void 0,exports.UndoIcon=exports.ZoomOutIcon=exports.ZoomInIcon=exports.BlurIcon=exports.TypeIcon=exports.EllipseIconOutline=exports.CircleIconOutline=exports.RectangleIcon=exports.ShapesIcon=exports.PenIcon=exports.BatteryFullIcon=exports.BatteryChargingIcon=exports.SpeedIcon=exports.ActivityIcon=exports.MailIcon=exports.VolumeXIcon=exports.ScissorsIcon=exports.AnnotateIcon=exports.RedactIcon=exports.RotateIcon=exports.CropIcon=exports.HeartIcon=exports.SupportIcon=exports.ArrowDownIcon=exports.ArrowUpIcon=exports.BuildingIcon=exports.VolumeIcon=exports.BroadcastIcon=exports.PingIcon=exports.ReceiveFrameIcon=exports.SendFrameIcon=exports.WebsocketIcon=exports.SocketIcon=exports.CloudPushIcon=exports.NotificationIcon=exports.BellIcon=exports.HeartFaceIcon=exports.StarFaceIcon=exports.SmileFaceIcon=exports.NeutralFaceIcon=exports.AngryFaceIcon=exports.SparklesIcon=exports.MessageSquareIcon=exports.ChevronUpIcon=exports.WrenchIcon=exports.BookOpenIcon=exports.MinimizeWindowIcon=exports.CameraRollIcon=exports.GridlinesIcon=exports.GridIcon=void 0,exports.MemoryRamIcon=exports.GaugeIcon=exports.PulseGraphIcon=exports.CpuChipIcon=exports.SpeedometerIcon=exports.ShieldBanIcon=exports.VolumeMuteIcon=exports.ScaleBalanceIcon=exports.ArrowForwardIcon=exports.VignetteIcon=exports.ExposureIcon=exports.WarmthIcon=exports.SaturationIcon=exports.ContrastIcon=exports.BrightnessIcon=exports.EyeCompareIcon=exports.ArrowRightIcon=exports.HighlighterIcon=exports.PixelateIcon=exports.DownloadExportIcon=exports.FlaskAiIcon=exports.SunAdjustIcon=exports.MoreDotsIcon=exports.RedoIcon=exports.SaveIcon=exports.GripVerticalIcon=exports.AspectRatioIcon=exports.ResizeIcon=void 0;const react_1=__importDefault(require("react")),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),EmptyRadarIcon=({color:e=AppColors_1.AppColors.purple,size:t=32})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
2
2
  <react_native_svg_1.Path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"stroke={e}strokeWidth="1.5"strokeLinecap="round"strokeLinejoin="round"/>
3
3
  <react_native_svg_1.Circle cx="12"cy="11"r="3"stroke={e}strokeWidth="1.5"/>
4
4
  <react_native_svg_1.Path d="M12 14v3"stroke={e}strokeWidth="1.5"strokeLinecap="round"/>
@@ -146,7 +146,9 @@
146
146
  </react_native_svg_1.default>;exports.UserIcon=UserIcon;const InfoCircleIcon=({color:e=AppColors_1.AppColors.grayTextWeak,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
147
147
  <react_native_svg_1.Circle cx="12"cy="12"r="9"stroke={e}strokeWidth="2"/>
148
148
  <react_native_svg_1.Path d="M12 16v-4M12 8.5h.01"stroke={e}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
149
- </react_native_svg_1.default>;exports.InfoCircleIcon=InfoCircleIcon;const WarningTriangleIcon=({color:e=AppColors_1.AppColors.grayTextWeak,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
149
+ </react_native_svg_1.default>;exports.InfoCircleIcon=InfoCircleIcon;const PostmanIcon=({color:e="#FF6C37",size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
150
+ <react_native_svg_1.Path d="M21.5 2.5L10.5 13.5M21.5 2.5L14.5 21.5L10.5 13.5M21.5 2.5L2.5 9.5L10.5 13.5"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
151
+ </react_native_svg_1.default>;exports.PostmanIcon=PostmanIcon;const WarningTriangleIcon=({color:e=AppColors_1.AppColors.grayTextWeak,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
150
152
  <react_native_svg_1.Path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
151
153
  <react_native_svg_1.Path d="M12 9v4M12 17h.01"stroke={e}strokeWidth="2"strokeLinecap="round"/>
152
154
  </react_native_svg_1.default>;exports.WarningTriangleIcon=WarningTriangleIcon;const ErrorCircleIcon=({color:e=AppColors_1.AppColors.grayTextWeak,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
@@ -767,4 +769,34 @@
767
769
  </react_native_svg_1.default>;exports.VolumeMuteIcon=VolumeMuteIcon;const ShieldBanIcon=({color:e=AppColors_1.AppColors.white,size:t=16})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
768
770
  <react_native_svg_1.Path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
769
771
  <react_native_svg_1.Line x1="4.5"y1="4.5"x2="19.5"y2="19.5"stroke={e}strokeWidth="2"strokeLinecap="round"/>
770
- </react_native_svg_1.default>;exports.ShieldBanIcon=ShieldBanIcon;
772
+ </react_native_svg_1.default>;exports.ShieldBanIcon=ShieldBanIcon;const SpeedometerIcon=({color:e=AppColors_1.AppColors.white,size:t=16})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
773
+ <react_native_svg_1.Path d="M12 2a10 10 0 0 0-7.07 17.07L12 12l5.07-5.07"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
774
+ <react_native_svg_1.Path d="M2 12a10 10 0 1 0 20 0 10 10 0 0 0-20 0z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
775
+ <react_native_svg_1.Circle cx="12"cy="12"r="2"fill={e}/>
776
+ </react_native_svg_1.default>;exports.SpeedometerIcon=SpeedometerIcon;const CpuChipIcon=({color:e=AppColors_1.AppColors.white,size:t=16})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
777
+ <react_native_svg_1.Rect x="4"y="4"width="16"height="16"rx="2"stroke={e}strokeWidth="2"/>
778
+ <react_native_svg_1.Rect x="9"y="9"width="6"height="6"stroke={e}strokeWidth="1.5"/>
779
+ <react_native_svg_1.Line x1="9"y1="1"x2="9"y2="4"stroke={e}strokeWidth="2"strokeLinecap="round"/>
780
+ <react_native_svg_1.Line x1="15"y1="1"x2="15"y2="4"stroke={e}strokeWidth="2"strokeLinecap="round"/>
781
+ <react_native_svg_1.Line x1="9"y1="20"x2="9"y2="23"stroke={e}strokeWidth="2"strokeLinecap="round"/>
782
+ <react_native_svg_1.Line x1="15"y1="20"x2="15"y2="23"stroke={e}strokeWidth="2"strokeLinecap="round"/>
783
+ <react_native_svg_1.Line x1="20"y1="9"x2="23"y2="9"stroke={e}strokeWidth="2"strokeLinecap="round"/>
784
+ <react_native_svg_1.Line x1="20"y1="15"x2="23"y2="15"stroke={e}strokeWidth="2"strokeLinecap="round"/>
785
+ <react_native_svg_1.Line x1="1"y1="9"x2="4"y2="9"stroke={e}strokeWidth="2"strokeLinecap="round"/>
786
+ <react_native_svg_1.Line x1="1"y1="15"x2="4"y2="15"stroke={e}strokeWidth="2"strokeLinecap="round"/>
787
+ </react_native_svg_1.default>;exports.CpuChipIcon=CpuChipIcon;const PulseGraphIcon=({color:e=AppColors_1.AppColors.white,size:t=16})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
788
+ <react_native_svg_1.Polyline points="22 12 18 12 15 21 9 3 6 12 2 12"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
789
+ </react_native_svg_1.default>;exports.PulseGraphIcon=PulseGraphIcon;const GaugeIcon=({color:e=AppColors_1.AppColors.white,size:t=16})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
790
+ <react_native_svg_1.Path d="M3.34 17a10 10 0 1 1 17.32 0"stroke={e}strokeWidth="2"strokeLinecap="round"/>
791
+ <react_native_svg_1.Path d="M12 12l4-4"stroke={e}strokeWidth="2"strokeLinecap="round"/>
792
+ <react_native_svg_1.Circle cx="12"cy="12"r="2"fill={e}/>
793
+ </react_native_svg_1.default>;exports.GaugeIcon=GaugeIcon;const MemoryRamIcon=({color:e=AppColors_1.AppColors.white,size:t=16})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
794
+ <react_native_svg_1.Rect x="2"y="6"width="20"height="12"rx="2"stroke={e}strokeWidth="2"/>
795
+ <react_native_svg_1.Line x1="6"y1="18"x2="6"y2="21"stroke={e}strokeWidth="2"strokeLinecap="round"/>
796
+ <react_native_svg_1.Line x1="10"y1="18"x2="10"y2="21"stroke={e}strokeWidth="2"strokeLinecap="round"/>
797
+ <react_native_svg_1.Line x1="14"y1="18"x2="14"y2="21"stroke={e}strokeWidth="2"strokeLinecap="round"/>
798
+ <react_native_svg_1.Line x1="18"y1="18"x2="18"y2="21"stroke={e}strokeWidth="2"strokeLinecap="round"/>
799
+ <react_native_svg_1.Rect x="5"y="9"width="3"height="5"fill={e}/>
800
+ <react_native_svg_1.Rect x="10.5"y="9"width="3"height="5"fill={e}/>
801
+ <react_native_svg_1.Rect x="16"y="9"width="3"height="5"fill={e}/>
802
+ </react_native_svg_1.default>;exports.MemoryRamIcon=MemoryRamIcon;
@@ -4,4 +4,5 @@ export declare const METHOD_COLORS: Record<Method, string>;
4
4
  export declare const DOMAIN_COLORS: string[];
5
5
  export declare const DURATION_FAST_MS = 200;
6
6
  export declare const DURATION_SLOW_MS = 800;
7
+ export declare const DEFAULT_HIDDEN_URL_PATTERNS: string[];
7
8
  export { LIB_VERSION } from './version';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=exports.DURATION_SLOW_MS=exports.DURATION_FAST_MS=exports.DOMAIN_COLORS=exports.METHOD_COLORS=exports.STATUS_FILTERS=void 0;const AppColors_1=require("../styles/AppColors");exports.STATUS_FILTERS=["ALL","2xx","200","3xx","4xx","400","404","5xx","500","Failed"],exports.METHOD_COLORS={ALL:AppColors_1.AppColors.slate500,GET:AppColors_1.AppColors.emerald600,POST:AppColors_1.AppColors.blue600,PUT:AppColors_1.AppColors.amber600,PATCH:AppColors_1.AppColors.violet600,DELETE:AppColors_1.AppColors.red600,QUERY:AppColors_1.AppColors.sky600,OPTIONS:AppColors_1.AppColors.slate600,HEAD:AppColors_1.AppColors.cyan600},exports.DOMAIN_COLORS=AppColors_1.AppColors.domainColors,exports.DURATION_FAST_MS=200,exports.DURATION_SLOW_MS=800;var version_1=require("./version");Object.defineProperty(exports,"LIB_VERSION",{enumerable:!0,get:function(){return version_1.LIB_VERSION}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=exports.DEFAULT_HIDDEN_URL_PATTERNS=exports.DURATION_SLOW_MS=exports.DURATION_FAST_MS=exports.DOMAIN_COLORS=exports.METHOD_COLORS=exports.STATUS_FILTERS=void 0;const AppColors_1=require("../styles/AppColors");exports.STATUS_FILTERS=["ALL","2xx","200","3xx","4xx","400","404","5xx","500","Failed"],exports.METHOD_COLORS={ALL:AppColors_1.AppColors.slate500,GET:AppColors_1.AppColors.emerald600,POST:AppColors_1.AppColors.blue600,PUT:AppColors_1.AppColors.amber600,PATCH:AppColors_1.AppColors.violet600,DELETE:AppColors_1.AppColors.red600,QUERY:AppColors_1.AppColors.sky600,OPTIONS:AppColors_1.AppColors.slate600,HEAD:AppColors_1.AppColors.cyan600},exports.DOMAIN_COLORS=AppColors_1.AppColors.domainColors,exports.DURATION_FAST_MS=200,exports.DURATION_SLOW_MS=800,exports.DEFAULT_HIDDEN_URL_PATTERNS=["https://google-analytics.com/g/collect","https://api.npmjs.org","https://api.github.com","https://registry.npmjs.org","clients3.google.com"];var version_1=require("./version");Object.defineProperty(exports,"LIB_VERSION",{enumerable:!0,get:function(){return version_1.LIB_VERSION}});
@@ -1 +1 @@
1
- export declare const LIB_VERSION = "2.5.11";
1
+ export declare const LIB_VERSION = "2.5.13";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=void 0,exports.LIB_VERSION="2.5.11";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=void 0,exports.LIB_VERSION="2.5.13";
@@ -37,7 +37,7 @@ export declare const getCrashRecords: () => CrashRecord[];
37
37
  export declare const clearCrashRecords: () => void;
38
38
  export declare const subscribeCrashEvents: (listener: CrashListener) => (() => void);
39
39
  export declare const emitCrashEvent: (payload: CrashEventPayload) => void;
40
- export declare const handleInterceptedCrash: (errorOrTitle: any, rawStack?: any, isFatal?: boolean, customType?: CrashType, componentStack?: string) => CrashRecord;
40
+ export declare const handleInterceptedCrash: (errorOrTitle: any, rawStack?: any, isFatal?: boolean, customType?: CrashType, componentStack?: string, bypassIgnoredCheck?: boolean) => CrashRecord;
41
41
  export declare const recordCustomCrash: (error: Error | string, options?: {
42
42
  isFatal?: boolean;
43
43
  type?: CrashType;
@@ -1,7 +1,7 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupGlobalCrashHandler=exports.exportCrashReport=exports.simulateTestCrash=exports.triggerGlobalCrashScreen=exports.recordCustomCrash=exports.handleInterceptedCrash=exports.emitCrashEvent=exports.subscribeCrashEvents=exports.clearCrashRecords=exports.getCrashRecords=exports.computeCrashFingerprint=exports.parseCrashStackTrace=exports.getCrashBreadcrumbs=exports.clearCrashBreadcrumbs=exports.recordUserActionBreadcrumb=exports.recordReduxBreadcrumb=exports.recordNetworkBreadcrumb=exports.recordNavigationBreadcrumb=exports.addCrashBreadcrumb=exports.pruneCrashRecords=exports.getMaxCrashLogsLimit=exports.setMaxCrashLogsLimit=exports.getCrashModuleEnabled=exports.setCrashModuleEnabled=exports.applyCrashPolicyPreset=exports.setCrashThrottleDuplicatesConfig=exports.getCrashModalTriggerPolicyConfig=exports.setCrashModalTriggerPolicyConfig=exports.getCrashIgnoredTypesConfig=exports.setCrashIgnoredTypesConfig=exports.DEFAULT_CRASH_IGNORED_TYPES=exports.CrashExportFormat=void 0;const react_native_1=require("react-native"),enums_1=require("../types/enums");Object.defineProperty(exports,"CrashExportFormat",{enumerable:!0,get:function(){return enums_1.CrashExportFormat}});const consoleLogger_1=require("./consoleLogger"),NativeInspector_1=require("../native/NativeInspector"),i18n_1=require("../i18n");exports.DEFAULT_CRASH_IGNORED_TYPES={js:!0,native:!1,render:!0,promise:!1,custom:!1};let crashListeners=[],isCrashHandlerInitialized=!1,lastHandledErrorTimestamp=0,lastHandledErrorFingerprint="",crashRecordsStore=[],breadcrumbsStore=[];const MAX_BREADCRUMBS=50;let maxStoredCrashes=100;const appStartTime=Date.now();let isCrashModuleEnabled=!1,crashIgnoredTypesConfig={...exports.DEFAULT_CRASH_IGNORED_TYPES},crashModalTriggerPolicyConfig="fatal_only",crashThrottleDuplicatesConfig=!0;const setCrashIgnoredTypesConfig=e=>{crashIgnoredTypesConfig={...crashIgnoredTypesConfig,...e}};exports.setCrashIgnoredTypesConfig=setCrashIgnoredTypesConfig;const getCrashIgnoredTypesConfig=()=>({...crashIgnoredTypesConfig});exports.getCrashIgnoredTypesConfig=getCrashIgnoredTypesConfig;const setCrashModalTriggerPolicyConfig=e=>{crashModalTriggerPolicyConfig=e};exports.setCrashModalTriggerPolicyConfig=setCrashModalTriggerPolicyConfig;const getCrashModalTriggerPolicyConfig=()=>crashModalTriggerPolicyConfig;exports.getCrashModalTriggerPolicyConfig=getCrashModalTriggerPolicyConfig;const setCrashThrottleDuplicatesConfig=e=>{crashThrottleDuplicatesConfig=e};exports.setCrashThrottleDuplicatesConfig=setCrashThrottleDuplicatesConfig;const applyCrashPolicyPreset=e=>{switch(e){case"max_shield":crashIgnoredTypesConfig={js:!1,native:!1,render:!1,promise:!1,custom:!1};break;case"silent":crashIgnoredTypesConfig={js:!0,native:!0,render:!0,promise:!0,custom:!0};break;default:crashIgnoredTypesConfig={...exports.DEFAULT_CRASH_IGNORED_TYPES};break}return{...crashIgnoredTypesConfig}};exports.applyCrashPolicyPreset=applyCrashPolicyPreset;const setCrashModuleEnabled=e=>{isCrashModuleEnabled=e};exports.setCrashModuleEnabled=setCrashModuleEnabled;const getCrashModuleEnabled=()=>isCrashModuleEnabled;exports.getCrashModuleEnabled=getCrashModuleEnabled;const setMaxCrashLogsLimit=e=>{maxStoredCrashes=Math.max(10,e),crashRecordsStore.length>maxStoredCrashes&&(crashRecordsStore=crashRecordsStore.slice(0,maxStoredCrashes))};exports.setMaxCrashLogsLimit=setMaxCrashLogsLimit;const getMaxCrashLogsLimit=()=>maxStoredCrashes;exports.getMaxCrashLogsLimit=getMaxCrashLogsLimit;const pruneCrashRecords=e=>{const r=e!==void 0?Math.max(0,e):Math.floor(crashRecordsStore.length/2),o=crashRecordsStore.length-r;return o>0&&(crashRecordsStore=crashRecordsStore.slice(0,r)),breadcrumbsStore.length>20&&(breadcrumbsStore=breadcrumbsStore.slice(0,20)),Math.max(0,o)};exports.pruneCrashRecords=pruneCrashRecords;const addCrashBreadcrumb=(e,r,o)=>{if(isCrashModuleEnabled)try{const s={type:e,message:r,timestamp:Date.now(),data:o};breadcrumbsStore.unshift(s),breadcrumbsStore.length>MAX_BREADCRUMBS&&(breadcrumbsStore=breadcrumbsStore.slice(0,MAX_BREADCRUMBS))}catch{}};exports.addCrashBreadcrumb=addCrashBreadcrumb;const recordNavigationBreadcrumb=(e,r)=>{(0,exports.addCrashBreadcrumb)("navigation",(0,i18n_1.t)("crash.breadcrumbNavigation",{from:e||"/",to:r||"/"}),{from:e,to:r})};exports.recordNavigationBreadcrumb=recordNavigationBreadcrumb;const recordNetworkBreadcrumb=(e,r,o,s)=>{const t=o!=null?` [${o}]`:"",a=s!=null?` (${Math.round(s)}ms)`:"";(0,exports.addCrashBreadcrumb)("network",`${r.toUpperCase()} ${e}${t}${a}`,{url:e,method:r,status:o,duration:s})};exports.recordNetworkBreadcrumb=recordNetworkBreadcrumb;const recordReduxBreadcrumb=(e,r)=>{(0,exports.addCrashBreadcrumb)("redux",(0,i18n_1.t)("crash.breadcrumbAction",{actionType:e}),{type:e,payloadSummary:typeof r=="object"&&r!==null?Object.keys(r):typeof r})};exports.recordReduxBreadcrumb=recordReduxBreadcrumb;const recordUserActionBreadcrumb=(e,r)=>{(0,exports.addCrashBreadcrumb)("user",e,r)};exports.recordUserActionBreadcrumb=recordUserActionBreadcrumb;const clearCrashBreadcrumbs=()=>{breadcrumbsStore=[]};exports.clearCrashBreadcrumbs=clearCrashBreadcrumbs;const getCrashBreadcrumbs=()=>[...breadcrumbsStore];exports.getCrashBreadcrumbs=getCrashBreadcrumbs;const parseCrashStackTrace=e=>{if(!e||typeof e!="string")return[];const r=e.split(`
2
- `),o=[];for(const s of r){const t=s.trim();if(!t||t.includes("crashHandler.ts")||t.includes("handleInterceptedCrash")||t.includes("addLogFromCrash")||t.includes("setupGlobalCrashHandler"))continue;const a=t.match(/^([^@]+)@(.*):(\d+):(\d+)$/);if(a){const[,i,n,u,h]=a,m=n.split("?")[0].split("/").pop()||n,f=!n.includes("node_modules")&&!n.includes("react-native")&&!n.includes("react-dom")&&!n.includes("hermes")&&!n.includes("internal");o.push({method:i.trim(),file:m,lineNumber:parseInt(u,10),column:parseInt(h,10),raw:t,isAppCode:f});continue}const p=t.match(/^at\s+(.+)\s+\((.+):(\d+):(\d+)\)$/);if(p){const[,i,n,u,h]=p,m=n.split("?")[0].split("/").pop()||n,f=!n.includes("node_modules")&&!n.includes("react-native")&&!n.includes("react-dom")&&!n.includes("internal");o.push({method:i.trim(),file:m,lineNumber:parseInt(u,10),column:parseInt(h,10),raw:t,isAppCode:f});continue}const d=t.match(/^at\s+(.+):(\d+):(\d+)$/);if(d){const[,i,n,u]=d,h=i.split("?")[0].split("/").pop()||i,m=!i.includes("node_modules")&&!i.includes("react-native");o.push({method:"<anonymous>",file:h,lineNumber:parseInt(n,10),column:parseInt(u,10),raw:t,isAppCode:m});continue}const l=t.match(/^at\s+([a-zA-Z0-9_$.]+)\(([a-zA-Z0-9_$]+\.java):(\d+)\)$/);if(l){const[,i,n,u]=l,h=!i.startsWith("com.facebook.react")&&!i.startsWith("android.");o.push({method:i,file:n,lineNumber:parseInt(u,10),column:0,raw:t,isAppCode:h});continue}const c=t.match(/^\d+\s+([^\s]+)\s+(0x[0-9a-fA-F]+)\s+(.+)$/);if(c){const[,i,,n]=c,u=!i.startsWith("lib")&&!i.startsWith("Core")&&!i.startsWith("React");o.push({method:n,file:i,lineNumber:0,column:0,raw:t,isAppCode:u});continue}o.push({method:t.startsWith("at ")?t.slice(3):t,file:"runtime",lineNumber:0,column:0,raw:t,isAppCode:!1})}return o};exports.parseCrashStackTrace=parseCrashStackTrace;const getMemoryDiagnostics=()=>{try{const e=globalThis.performance;if(e&&e.memory)return{usedJSHeapSize:Math.round(e.memory.usedJSHeapSize/(1024*1024)),totalJSHeapSize:Math.round(e.memory.totalJSHeapSize/(1024*1024))}}catch{}},getScreenDimensions=()=>{try{const e=react_native_1.Dimensions.get("window");return`${Math.round(e.width)}x${Math.round(e.height)} (${e.scale}x)`}catch{return(0,i18n_1.t)("crash.unknown")}},computeCrashFingerprint=e=>{const r=e.type||"js",o=e.name||"Error",s=e.parsedStack&&e.parsedStack.length>0?e.parsedStack[0]:null,t=s?`${s.file}:${s.lineNumber}`:"unknown";return`${r}_${o}_${t}`};exports.computeCrashFingerprint=computeCrashFingerprint;const getCrashRecords=()=>[...crashRecordsStore];exports.getCrashRecords=getCrashRecords;const clearCrashRecords=()=>{crashRecordsStore=[],(0,exports.emitCrashEvent)({error:null,message:"__CLEARED__",timestamp:Date.now()})};exports.clearCrashRecords=clearCrashRecords;const subscribeCrashEvents=e=>(crashListeners.push(e),()=>{crashListeners=crashListeners.filter(r=>r!==e)});exports.subscribeCrashEvents=subscribeCrashEvents;const emitCrashEvent=e=>{if(e.message!=="__CLEARED__"){const r=Date.now();if(r-lastHandledErrorTimestamp<250)return;lastHandledErrorTimestamp=r}crashListeners.forEach(r=>{try{r(e)}catch{}})};exports.emitCrashEvent=emitCrashEvent;const handleInterceptedCrash=(e,r,o=!1,s,t)=>{try{const a=e instanceof Error||typeof e=="object"&&e!==null?e:new Error(String(e||(0,i18n_1.t)("crash.runtimeException"))),p=a.message||(typeof e=="string"?e:(0,i18n_1.t)("crash.runtimeException"));let d="";typeof r=="string"?d=r:Array.isArray(r)?d=r.map(C=>`at ${C.methodName||"<anonymous>"} (${C.file||"unknown"}:${C.lineNumber||0}:${C.column||0})`).join(`
3
- `):d=a.stack||new Error().stack||"";let l=s||enums_1.CrashType.Js;const c=p.toLowerCase();if(s||(c.includes("native")||c.includes("sigsegv")||c.includes("nsrange")||c.includes("nullpointerexception")||c.includes("fatal signal")?l=enums_1.CrashType.Native:c.includes("promise")||c.includes("unhandled rejection")||c.includes("unhandledrejection")?l=enums_1.CrashType.Promise:c.includes("render")||c.includes("errorboundary")||t?l=enums_1.CrashType.Render:l=enums_1.CrashType.Js),!!crashIgnoredTypesConfig[l])return{id:`crash_ignored_${Date.now()}`,isFatal:o,type:l,message:p,timestamp:Date.now(),dateStr:new Date().toLocaleDateString(),timeStr:new Date().toLocaleTimeString()};const n=new Date,u=n.toLocaleDateString(),h=n.toLocaleTimeString(),m=(0,exports.parseCrashStackTrace)(d),f=`${l}_${p}_${d.slice(0,80)}`,b=Date.now();if(crashThrottleDuplicatesConfig&&f===lastHandledErrorFingerprint&&b-lastHandledErrorTimestamp<500)return crashRecordsStore.length>0&&(crashRecordsStore[0].duplicateCount=(crashRecordsStore[0].duplicateCount||1)+1),crashRecordsStore[0];lastHandledErrorFingerprint=f,lastHandledErrorTimestamp=b;const y=(0,consoleLogger_1.addLogFromCrash)(a,`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${p}`,d,o),$=typeof globalThis.HermesInternal<"u",S=typeof globalThis.nativeFabricUIManager<"u",x={id:`crash_${Date.now()}_${Math.random().toString(36).substr(2,6)}`,error:a,isFatal:o,type:l,message:p,name:a.name||(o?(0,i18n_1.t)("crash.errorNameFatal"):(0,i18n_1.t)("crash.errorNameUnhandled")),stack:d,parsedStack:m,componentStack:t||void 0,timestamp:Date.now(),dateStr:u,timeStr:h,deviceInfo:{platform:react_native_1.Platform.OS,osVersion:String(react_native_1.Platform.Version),rnVersion:react_native_1.Platform.constants?.reactNativeVersion?`${react_native_1.Platform.constants.reactNativeVersion.major}.${react_native_1.Platform.constants.reactNativeVersion.minor}.${react_native_1.Platform.constants.reactNativeVersion.patch}`:(0,i18n_1.t)("crash.unknown"),isHermes:$,isFabric:S,appState:react_native_1.AppState.currentState||"active"},memoryInfo:getMemoryDiagnostics(),breadcrumbs:[...breadcrumbsStore],logId:y?.id};crashRecordsStore.unshift(x),crashRecordsStore.length>maxStoredCrashes&&(crashRecordsStore=crashRecordsStore.slice(0,maxStoredCrashes));let g=!1;crashModalTriggerPolicyConfig==="all_errors"?g=!0:crashModalTriggerPolicyConfig==="fatal_only"?g=o||l===enums_1.CrashType.Native:crashModalTriggerPolicyConfig==="silent_tab_only"&&(g=!1),(0,exports.emitCrashEvent)({error:a,isFatal:o,message:`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${p}`,stack:d,timestamp:Date.now(),logId:y?.id,crashRecord:x,shouldShowModal:g});try{(0,NativeInspector_1.showNativeFloatingButton)(),(0,NativeInspector_1.setNativeFloatingButtonBadge)(!0)}catch{}return x}catch{return{id:`crash_${Date.now()}`,isFatal:!0,type:enums_1.CrashType.Js,message:String(e||(0,i18n_1.t)("crash.unknownException")),timestamp:Date.now(),dateStr:new Date().toLocaleDateString(),timeStr:new Date().toLocaleTimeString()}}};exports.handleInterceptedCrash=handleInterceptedCrash;const recordCustomCrash=(e,r)=>(0,exports.handleInterceptedCrash)(e,typeof e=="object"?e.stack:void 0,r?.isFatal??!1,r?.type||enums_1.CrashType.Custom,r?.componentStack);exports.recordCustomCrash=recordCustomCrash;const triggerGlobalCrashScreen=e=>{(0,exports.emitCrashEvent)({error:e.error||new Error(e.message),isFatal:!0,message:e.message,stack:e.stack,timestamp:e.timestamp||Date.now(),logId:e.logId,crashRecord:e})};exports.triggerGlobalCrashScreen=triggerGlobalCrashScreen;const simulateTestCrash=(e=enums_1.CrashType.Js,r,o,s=!0)=>{const t=new Error(r||_defaultSimMessage(e));return(0,exports.handleInterceptedCrash)(e===enums_1.CrashType.Native?t.message:t,o||t.stack,s,e,e===enums_1.CrashType.Render?_buildComponentStack():void 0)};exports.simulateTestCrash=simulateTestCrash;const _defaultSimMessage=e=>{switch(e){case"native":return(0,i18n_1.t)("crash.simNativeMessage");case"promise":return(0,i18n_1.t)("crash.simPromiseMessage");case"render":return(0,i18n_1.t)("crash.simRenderMessage");default:return(0,i18n_1.t)("crash.simJsMessage")}},_buildComponentStack=()=>{try{const e=new Error;if(e.stack)return e.stack.split(`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupGlobalCrashHandler=exports.exportCrashReport=exports.simulateTestCrash=exports.triggerGlobalCrashScreen=exports.recordCustomCrash=exports.handleInterceptedCrash=exports.emitCrashEvent=exports.subscribeCrashEvents=exports.clearCrashRecords=exports.getCrashRecords=exports.computeCrashFingerprint=exports.parseCrashStackTrace=exports.getCrashBreadcrumbs=exports.clearCrashBreadcrumbs=exports.recordUserActionBreadcrumb=exports.recordReduxBreadcrumb=exports.recordNetworkBreadcrumb=exports.recordNavigationBreadcrumb=exports.addCrashBreadcrumb=exports.pruneCrashRecords=exports.getMaxCrashLogsLimit=exports.setMaxCrashLogsLimit=exports.getCrashModuleEnabled=exports.setCrashModuleEnabled=exports.applyCrashPolicyPreset=exports.setCrashThrottleDuplicatesConfig=exports.getCrashModalTriggerPolicyConfig=exports.setCrashModalTriggerPolicyConfig=exports.getCrashIgnoredTypesConfig=exports.setCrashIgnoredTypesConfig=exports.DEFAULT_CRASH_IGNORED_TYPES=exports.CrashExportFormat=void 0;const react_native_1=require("react-native"),enums_1=require("../types/enums");Object.defineProperty(exports,"CrashExportFormat",{enumerable:!0,get:function(){return enums_1.CrashExportFormat}});const consoleLogger_1=require("./consoleLogger"),NativeInspector_1=require("../native/NativeInspector"),i18n_1=require("../i18n");exports.DEFAULT_CRASH_IGNORED_TYPES={js:!0,native:!1,render:!0,promise:!1,custom:!1};let crashListeners=[],isCrashHandlerInitialized=!1,lastHandledErrorTimestamp=0,lastHandledErrorFingerprint="",crashRecordsStore=[],breadcrumbsStore=[];const MAX_BREADCRUMBS=50;let maxStoredCrashes=100;const appStartTime=Date.now();let isCrashModuleEnabled=!1,crashIgnoredTypesConfig={...exports.DEFAULT_CRASH_IGNORED_TYPES},crashModalTriggerPolicyConfig="fatal_only",crashThrottleDuplicatesConfig=!0;const setCrashIgnoredTypesConfig=e=>{crashIgnoredTypesConfig={...crashIgnoredTypesConfig,...e}};exports.setCrashIgnoredTypesConfig=setCrashIgnoredTypesConfig;const getCrashIgnoredTypesConfig=()=>({...crashIgnoredTypesConfig});exports.getCrashIgnoredTypesConfig=getCrashIgnoredTypesConfig;const setCrashModalTriggerPolicyConfig=e=>{crashModalTriggerPolicyConfig=e};exports.setCrashModalTriggerPolicyConfig=setCrashModalTriggerPolicyConfig;const getCrashModalTriggerPolicyConfig=()=>crashModalTriggerPolicyConfig;exports.getCrashModalTriggerPolicyConfig=getCrashModalTriggerPolicyConfig;const setCrashThrottleDuplicatesConfig=e=>{crashThrottleDuplicatesConfig=e};exports.setCrashThrottleDuplicatesConfig=setCrashThrottleDuplicatesConfig;const applyCrashPolicyPreset=e=>{switch(e){case"max_shield":crashIgnoredTypesConfig={js:!1,native:!1,render:!1,promise:!1,custom:!1};break;case"silent":crashIgnoredTypesConfig={js:!0,native:!0,render:!0,promise:!0,custom:!0};break;default:crashIgnoredTypesConfig={...exports.DEFAULT_CRASH_IGNORED_TYPES};break}return{...crashIgnoredTypesConfig}};exports.applyCrashPolicyPreset=applyCrashPolicyPreset;const setCrashModuleEnabled=e=>{isCrashModuleEnabled=e};exports.setCrashModuleEnabled=setCrashModuleEnabled;const getCrashModuleEnabled=()=>isCrashModuleEnabled;exports.getCrashModuleEnabled=getCrashModuleEnabled;const setMaxCrashLogsLimit=e=>{maxStoredCrashes=Math.max(10,e),crashRecordsStore.length>maxStoredCrashes&&(crashRecordsStore=crashRecordsStore.slice(0,maxStoredCrashes))};exports.setMaxCrashLogsLimit=setMaxCrashLogsLimit;const getMaxCrashLogsLimit=()=>maxStoredCrashes;exports.getMaxCrashLogsLimit=getMaxCrashLogsLimit;const pruneCrashRecords=e=>{const r=e!==void 0?Math.max(0,e):Math.floor(crashRecordsStore.length/2),o=crashRecordsStore.length-r;return o>0&&(crashRecordsStore=crashRecordsStore.slice(0,r)),breadcrumbsStore.length>20&&(breadcrumbsStore=breadcrumbsStore.slice(0,20)),Math.max(0,o)};exports.pruneCrashRecords=pruneCrashRecords;const addCrashBreadcrumb=(e,r,o)=>{if(isCrashModuleEnabled)try{const s={type:e,message:r,timestamp:Date.now(),data:o};breadcrumbsStore.unshift(s),breadcrumbsStore.length>MAX_BREADCRUMBS&&(breadcrumbsStore=breadcrumbsStore.slice(0,MAX_BREADCRUMBS))}catch{}};exports.addCrashBreadcrumb=addCrashBreadcrumb;const recordNavigationBreadcrumb=(e,r)=>{(0,exports.addCrashBreadcrumb)("navigation",(0,i18n_1.t)("crash.breadcrumbNavigation",{from:e||"/",to:r||"/"}),{from:e,to:r})};exports.recordNavigationBreadcrumb=recordNavigationBreadcrumb;const recordNetworkBreadcrumb=(e,r,o,s)=>{const t=o!=null?` [${o}]`:"",i=s!=null?` (${Math.round(s)}ms)`:"";(0,exports.addCrashBreadcrumb)("network",`${r.toUpperCase()} ${e}${t}${i}`,{url:e,method:r,status:o,duration:s})};exports.recordNetworkBreadcrumb=recordNetworkBreadcrumb;const recordReduxBreadcrumb=(e,r)=>{(0,exports.addCrashBreadcrumb)("redux",(0,i18n_1.t)("crash.breadcrumbAction",{actionType:e}),{type:e,payloadSummary:typeof r=="object"&&r!==null?Object.keys(r):typeof r})};exports.recordReduxBreadcrumb=recordReduxBreadcrumb;const recordUserActionBreadcrumb=(e,r)=>{(0,exports.addCrashBreadcrumb)("user",e,r)};exports.recordUserActionBreadcrumb=recordUserActionBreadcrumb;const clearCrashBreadcrumbs=()=>{breadcrumbsStore=[]};exports.clearCrashBreadcrumbs=clearCrashBreadcrumbs;const getCrashBreadcrumbs=()=>[...breadcrumbsStore];exports.getCrashBreadcrumbs=getCrashBreadcrumbs;const parseCrashStackTrace=e=>{if(!e||typeof e!="string")return[];const r=e.split(`
2
+ `),o=[];for(const s of r){const t=s.trim();if(!t||t.includes("crashHandler.ts")||t.includes("handleInterceptedCrash")||t.includes("addLogFromCrash")||t.includes("setupGlobalCrashHandler"))continue;const i=t.match(/^([^@]+)@(.*):(\d+):(\d+)$/);if(i){const[,a,n,d,h]=i,m=n.split("?")[0].split("/").pop()||n,f=!n.includes("node_modules")&&!n.includes("react-native")&&!n.includes("react-dom")&&!n.includes("hermes")&&!n.includes("internal");o.push({method:a.trim(),file:m,lineNumber:parseInt(d,10),column:parseInt(h,10),raw:t,isAppCode:f});continue}const c=t.match(/^at\s+(.+)\s+\((.+):(\d+):(\d+)\)$/);if(c){const[,a,n,d,h]=c,m=n.split("?")[0].split("/").pop()||n,f=!n.includes("node_modules")&&!n.includes("react-native")&&!n.includes("react-dom")&&!n.includes("internal");o.push({method:a.trim(),file:m,lineNumber:parseInt(d,10),column:parseInt(h,10),raw:t,isAppCode:f});continue}const u=t.match(/^at\s+(.+):(\d+):(\d+)$/);if(u){const[,a,n,d]=u,h=a.split("?")[0].split("/").pop()||a,m=!a.includes("node_modules")&&!a.includes("react-native");o.push({method:"<anonymous>",file:h,lineNumber:parseInt(n,10),column:parseInt(d,10),raw:t,isAppCode:m});continue}const l=t.match(/^at\s+([a-zA-Z0-9_$.]+)\(([a-zA-Z0-9_$]+\.java):(\d+)\)$/);if(l){const[,a,n,d]=l,h=!a.startsWith("com.facebook.react")&&!a.startsWith("android.");o.push({method:a,file:n,lineNumber:parseInt(d,10),column:0,raw:t,isAppCode:h});continue}const p=t.match(/^\d+\s+([^\s]+)\s+(0x[0-9a-fA-F]+)\s+(.+)$/);if(p){const[,a,,n]=p,d=!a.startsWith("lib")&&!a.startsWith("Core")&&!a.startsWith("React");o.push({method:n,file:a,lineNumber:0,column:0,raw:t,isAppCode:d});continue}o.push({method:t.startsWith("at ")?t.slice(3):t,file:"runtime",lineNumber:0,column:0,raw:t,isAppCode:!1})}return o};exports.parseCrashStackTrace=parseCrashStackTrace;const getMemoryDiagnostics=()=>{try{const e=globalThis.performance;if(e&&e.memory)return{usedJSHeapSize:Math.round(e.memory.usedJSHeapSize/(1024*1024)),totalJSHeapSize:Math.round(e.memory.totalJSHeapSize/(1024*1024))}}catch{}},getScreenDimensions=()=>{try{const e=react_native_1.Dimensions.get("window");return`${Math.round(e.width)}x${Math.round(e.height)} (${e.scale}x)`}catch{return(0,i18n_1.t)("crash.unknown")}},computeCrashFingerprint=e=>{const r=e.type||"js",o=e.name||"Error",s=e.parsedStack&&e.parsedStack.length>0?e.parsedStack[0]:null,t=s?`${s.file}:${s.lineNumber}`:"unknown";return`${r}_${o}_${t}`};exports.computeCrashFingerprint=computeCrashFingerprint;const getCrashRecords=()=>[...crashRecordsStore];exports.getCrashRecords=getCrashRecords;const clearCrashRecords=()=>{crashRecordsStore=[],(0,exports.emitCrashEvent)({error:null,message:"__CLEARED__",timestamp:Date.now()})};exports.clearCrashRecords=clearCrashRecords;const subscribeCrashEvents=e=>(crashListeners.push(e),()=>{crashListeners=crashListeners.filter(r=>r!==e)});exports.subscribeCrashEvents=subscribeCrashEvents;const emitCrashEvent=e=>{if(e.message!=="__CLEARED__"){const r=Date.now();if(r-lastHandledErrorTimestamp<250)return;lastHandledErrorTimestamp=r}crashListeners.forEach(r=>{try{r(e)}catch{}})};exports.emitCrashEvent=emitCrashEvent;const handleInterceptedCrash=(e,r,o=!1,s,t,i=!1)=>{try{const c=e instanceof Error||typeof e=="object"&&e!==null?e:new Error(String(e||(0,i18n_1.t)("crash.runtimeException"))),u=c.message||(typeof e=="string"?e:(0,i18n_1.t)("crash.runtimeException"));let l="";typeof r=="string"?l=r:Array.isArray(r)?l=r.map(g=>`at ${g.methodName||"<anonymous>"} (${g.file||"unknown"}:${g.lineNumber||0}:${g.column||0})`).join(`
3
+ `):l=c.stack||new Error().stack||"";let p=s||enums_1.CrashType.Js;const a=u.toLowerCase();if(s||(a.includes("native")||a.includes("sigsegv")||a.includes("nsrange")||a.includes("nullpointerexception")||a.includes("fatal signal")?p=enums_1.CrashType.Native:a.includes("promise")||a.includes("unhandled rejection")||a.includes("unhandledrejection")?p=enums_1.CrashType.Promise:a.includes("render")||a.includes("errorboundary")||t?p=enums_1.CrashType.Render:p=enums_1.CrashType.Js),!i&&!!crashIgnoredTypesConfig[p])return{id:`crash_ignored_${Date.now()}`,isFatal:o,type:p,message:u,timestamp:Date.now(),dateStr:new Date().toLocaleDateString(),timeStr:new Date().toLocaleTimeString()};const n=new Date,d=n.toLocaleDateString(),h=n.toLocaleTimeString(),m=(0,exports.parseCrashStackTrace)(l),f=`${p}_${u}_${l.slice(0,80)}`,b=Date.now();if(crashThrottleDuplicatesConfig&&f===lastHandledErrorFingerprint&&b-lastHandledErrorTimestamp<500)return crashRecordsStore.length>0&&(crashRecordsStore[0].duplicateCount=(crashRecordsStore[0].duplicateCount||1)+1),crashRecordsStore[0];lastHandledErrorFingerprint=f,lastHandledErrorTimestamp=b;const y=(0,consoleLogger_1.addLogFromCrash)(c,`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${u}`,l,o),$=typeof globalThis.HermesInternal<"u",S=typeof globalThis.nativeFabricUIManager<"u",x={id:`crash_${Date.now()}_${Math.random().toString(36).substr(2,6)}`,error:c,isFatal:o,type:p,message:u,name:c.name||(o?(0,i18n_1.t)("crash.errorNameFatal"):(0,i18n_1.t)("crash.errorNameUnhandled")),stack:l,parsedStack:m,componentStack:t||void 0,timestamp:Date.now(),dateStr:d,timeStr:h,deviceInfo:{platform:react_native_1.Platform.OS,osVersion:String(react_native_1.Platform.Version),rnVersion:react_native_1.Platform.constants?.reactNativeVersion?`${react_native_1.Platform.constants.reactNativeVersion.major}.${react_native_1.Platform.constants.reactNativeVersion.minor}.${react_native_1.Platform.constants.reactNativeVersion.patch}`:(0,i18n_1.t)("crash.unknown"),isHermes:$,isFabric:S,appState:react_native_1.AppState.currentState||"active"},memoryInfo:getMemoryDiagnostics(),breadcrumbs:[...breadcrumbsStore],logId:y?.id};crashRecordsStore.unshift(x),crashRecordsStore.length>maxStoredCrashes&&(crashRecordsStore=crashRecordsStore.slice(0,maxStoredCrashes));let C=!1;crashModalTriggerPolicyConfig==="all_errors"?C=!0:crashModalTriggerPolicyConfig==="fatal_only"?C=o||p===enums_1.CrashType.Native:crashModalTriggerPolicyConfig==="silent_tab_only"&&(C=!1),(0,exports.emitCrashEvent)({error:c,isFatal:o,message:`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${u}`,stack:l,timestamp:Date.now(),logId:y?.id,crashRecord:x,shouldShowModal:C});try{(0,NativeInspector_1.showNativeFloatingButton)(),(0,NativeInspector_1.setNativeFloatingButtonBadge)(!0)}catch{}return x}catch{return{id:`crash_${Date.now()}`,isFatal:!0,type:enums_1.CrashType.Js,message:String(e||(0,i18n_1.t)("crash.unknownException")),timestamp:Date.now(),dateStr:new Date().toLocaleDateString(),timeStr:new Date().toLocaleTimeString()}}};exports.handleInterceptedCrash=handleInterceptedCrash;const recordCustomCrash=(e,r)=>(0,exports.handleInterceptedCrash)(e,typeof e=="object"?e.stack:void 0,r?.isFatal??!1,r?.type||enums_1.CrashType.Custom,r?.componentStack);exports.recordCustomCrash=recordCustomCrash;const triggerGlobalCrashScreen=e=>{(0,exports.emitCrashEvent)({error:e.error||new Error(e.message),isFatal:!0,message:e.message,stack:e.stack,timestamp:e.timestamp||Date.now(),logId:e.logId,crashRecord:e})};exports.triggerGlobalCrashScreen=triggerGlobalCrashScreen;const simulateTestCrash=(e=enums_1.CrashType.Js,r,o,s=!0)=>{const t=new Error(r||_defaultSimMessage(e));return(0,exports.handleInterceptedCrash)(e===enums_1.CrashType.Native?t.message:t,o||t.stack,s,e,e===enums_1.CrashType.Render?_buildComponentStack():void 0,!0)};exports.simulateTestCrash=simulateTestCrash;const _defaultSimMessage=e=>{switch(e){case"native":return(0,i18n_1.t)("crash.simNativeMessage");case"promise":return(0,i18n_1.t)("crash.simPromiseMessage");case"render":return(0,i18n_1.t)("crash.simRenderMessage");default:return(0,i18n_1.t)("crash.simJsMessage")}},_buildComponentStack=()=>{try{const e=new Error;if(e.stack)return e.stack.split(`
4
4
  `).slice(1,6).map(r=>` ${r.trim()}`).join(`
5
- `)}catch{}},exportCrashReport=(e,r="text")=>{if(r==="json")return JSON.stringify(e,null,2);const o=Math.round((e.timestamp-appStartTime)/1e3);if(r==="markdown"){const t=[];return t.push(`## ${(0,i18n_1.t)("crash.mdReportTitle",{name:e.name||"Error"})}`),t.push(`> **${e.message}**`),t.push(""),t.push(`- **${(0,i18n_1.t)("crash.reportType")}** \`${e.type.toUpperCase()}\``),t.push(`- **${(0,i18n_1.t)("crash.reportFatal")}** \`${e.isFatal?(0,i18n_1.t)("crash.mdSeverityFatal"):(0,i18n_1.t)("crash.mdSeverityHandled")}\``),t.push(`- **${(0,i18n_1.t)("crash.reportTimestamp")}** ${e.dateStr} ${e.timeStr}`),t.push(`- **${(0,i18n_1.t)("crash.reportUptime")}** ${o}s`),t.push(`- **${(0,i18n_1.t)("crash.reportPlatform")}** ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),t.push(`- **${(0,i18n_1.t)("crash.reportReactNative")}** v${e.deviceInfo?.rnVersion||"N/A"}`),t.push(`- **${(0,i18n_1.t)("crash.jsEngine")}** ${e.deviceInfo?.isHermes?(0,i18n_1.t)("crash.hermesEngine"):(0,i18n_1.t)("crash.jsc")}`),t.push(`- **${(0,i18n_1.t)("crash.reportArchitecture")}** ${e.deviceInfo?.isFabric?(0,i18n_1.t)("crash.reportFabricNew"):(0,i18n_1.t)("crash.reportPaperLegacy")}`),e.memoryInfo&&t.push(`- **${(0,i18n_1.t)("crash.reportJsMemory")}** ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),t.push(""),t.push(`### ${(0,i18n_1.t)("crash.mdStackTrace")}`),t.push("```"),t.push(e.stack||(0,i18n_1.t)("crash.reportNoStackTrace")),t.push("```"),e.componentStack&&(t.push(""),t.push(`### ${(0,i18n_1.t)("crash.mdComponentHierarchy")}`),t.push("```"),t.push(e.componentStack),t.push("```")),e.breadcrumbs&&e.breadcrumbs.length>0&&(t.push(""),t.push(`### ${(0,i18n_1.t)("crash.mdRecentBreadcrumbs")}`),e.breadcrumbs.forEach(a=>{const p=new Date(a.timestamp).toLocaleTimeString();t.push(`- \`[${p}]\` **[${a.type.toUpperCase()}]** ${a.message}`)})),t.join(`
6
- `)}const s=[];return s.push("===================================================="),s.push(` ${(0,i18n_1.t)("crash.reportTitle")} `),s.push("===================================================="),s.push(`${(0,i18n_1.t)("crash.reportErrorName")} ${e.name||"Error"}`),s.push(`${(0,i18n_1.t)("crash.reportMessage")} ${e.message}`),s.push(`${(0,i18n_1.t)("crash.reportType")} ${e.type.toUpperCase()}`),s.push(`${(0,i18n_1.t)("crash.reportFatal")} ${e.isFatal?(0,i18n_1.t)("crash.reportFatalYes"):(0,i18n_1.t)("crash.reportFatalNo")}`),s.push(`${(0,i18n_1.t)("crash.reportTimestamp")} ${e.dateStr} ${e.timeStr} (${e.timestamp})`),s.push(`${(0,i18n_1.t)("crash.reportUptime")} ${(0,i18n_1.t)("crash.reportUptimeValue",{seconds:o})}`),s.push(`${(0,i18n_1.t)("crash.reportPlatform")} ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),s.push(`${(0,i18n_1.t)("crash.reportReactNative")} ${e.deviceInfo?.rnVersion||"N/A"}`),s.push(`${(0,i18n_1.t)("crash.reportHermes")} ${e.deviceInfo?.isHermes?(0,i18n_1.t)("crash.reportEnabled"):(0,i18n_1.t)("crash.reportDisabled")}`),s.push(`${(0,i18n_1.t)("crash.reportArchitecture")} ${e.deviceInfo?.isFabric?(0,i18n_1.t)("crash.reportFabricNew"):(0,i18n_1.t)("crash.reportPaperLegacy")}`),s.push(`${(0,i18n_1.t)("crash.reportScreenSize")} ${getScreenDimensions()}`),s.push(`${(0,i18n_1.t)("crash.reportAppState")} ${e.deviceInfo?.appState||"active"}`),e.memoryInfo&&s.push(`${(0,i18n_1.t)("crash.reportJsMemory")} ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),s.push("----------------------------------------------------"),s.push(`${(0,i18n_1.t)("crash.reportStackTrace")}`),s.push(e.stack||(0,i18n_1.t)("crash.reportNoStackTrace")),e.componentStack&&(s.push("----------------------------------------------------"),s.push(`${(0,i18n_1.t)("crash.reportComponentHierarchy")}`),s.push(e.componentStack)),e.breadcrumbs&&e.breadcrumbs.length>0&&(s.push("----------------------------------------------------"),s.push(`${(0,i18n_1.t)("crash.reportRecentBreadcrumbs")}`),e.breadcrumbs.forEach(t=>{const a=new Date(t.timestamp).toLocaleTimeString();s.push(` [${a}] [${t.type.toUpperCase()}] ${t.message}`)})),s.push("===================================================="),s.join(`
7
- `)};exports.exportCrashReport=exportCrashReport;const setupGlobalCrashHandler=()=>{if(!isCrashHandlerInitialized){isCrashHandlerInitialized=!0;try{react_native_1.LogBox&&typeof react_native_1.LogBox.ignoreAllLogs=="function"&&react_native_1.LogBox.ignoreAllLogs(!0)}catch{}try{const e=require("react-native/Libraries/LogBox/Data/LogBoxData");e&&typeof e.setDisabled=="function"&&e.setDisabled(!0)}catch{}try{const e=react_native_1.NativeModules?.NetworkInspectorModule;e&&(typeof e.enableNativeCrashProtection=="function"&&e.enableNativeCrashProtection(),new react_native_1.NativeEventEmitter(e).addListener("onNativeCrash",o=>{const t=`[${(o?.platform||react_native_1.Platform.OS).toUpperCase()} ${(0,i18n_1.t)("crash.nativeCrashTitle")}] ${o?.message||(0,i18n_1.t)("crash.nativeUncaughtException")}`,a=o?.stack||"";(0,exports.handleInterceptedCrash)(t,a,!0,"native")}))}catch{}try{const e=react_native_1.TurboModuleRegistry||globalThis.__turboModuleProxy,r=react_native_1.NativeModules?.ExceptionsManager||(e?.get?e.get("ExceptionsManager"):null);if(r){r.reportFatalException=(s,t,a)=>{(0,exports.handleInterceptedCrash)(s,t,!0,"native");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.reportSoftException=(s,t,a)=>{(0,exports.handleInterceptedCrash)(s,t,!1,"js");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.reportException=s=>{const t=s?.message||s?.title||(0,i18n_1.t)("crash.nativeException"),a=s?.stack||s?.rawStack;(0,exports.handleInterceptedCrash)(t,a,s?.isFatal??!0,"js");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.updateExceptionMessage=()=>{};try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}}const o=react_native_1.NativeModules?.RedBox||react_native_1.NativeModules?.RCTRedBox||(e?.get?e.get("RedBox")||e.get("RCTRedBox"):null);o&&(typeof o.showErrorMessage=="function"&&(o.showErrorMessage=()=>{}),typeof o.showUserError=="function"&&(o.showUserError=()=>{}),typeof o.dismiss=="function"&&o.dismiss())}catch{}try{const r=globalThis.ErrorUtils;r&&(typeof r.setGlobalHandler=="function"&&r.setGlobalHandler((o,s)=>{(0,exports.handleInterceptedCrash)(o,o?.stack,s??!1,"js")}),typeof r.reportFatalError=="function"&&(r.reportFatalError=o=>{(0,exports.handleInterceptedCrash)(o,o?.stack,!0,"js")}),typeof r.reportError=="function"&&(r.reportError=o=>{(0,exports.handleInterceptedCrash)(o,o?.stack,!1,"js")}))}catch{}try{const e=globalThis,r=o=>{try{const s=o?.reason||o?.detail?.reason||o,t=s?.stack||(o?.stack??new Error().stack);(0,exports.handleInterceptedCrash)(s,t,!1,"promise")}catch{}};typeof e.addEventListener=="function"&&e.addEventListener("unhandledrejection",r),typeof e.onunhandledrejection<"u"&&(e.onunhandledrejection=r)}catch{}}};exports.setupGlobalCrashHandler=setupGlobalCrashHandler;
5
+ `)}catch{}},exportCrashReport=(e,r="text")=>{if(r==="json")return JSON.stringify(e,null,2);const o=Math.round((e.timestamp-appStartTime)/1e3);if(r==="markdown"){const t=[];return t.push(`## ${(0,i18n_1.t)("crash.mdReportTitle",{name:e.name||"Error"})}`),t.push(`> **${e.message}**`),t.push(""),t.push(`- **${(0,i18n_1.t)("crash.reportType")}** \`${e.type.toUpperCase()}\``),t.push(`- **${(0,i18n_1.t)("crash.reportFatal")}** \`${e.isFatal?(0,i18n_1.t)("crash.mdSeverityFatal"):(0,i18n_1.t)("crash.mdSeverityHandled")}\``),t.push(`- **${(0,i18n_1.t)("crash.reportTimestamp")}** ${e.dateStr} ${e.timeStr}`),t.push(`- **${(0,i18n_1.t)("crash.reportUptime")}** ${o}s`),t.push(`- **${(0,i18n_1.t)("crash.reportPlatform")}** ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),t.push(`- **${(0,i18n_1.t)("crash.reportReactNative")}** v${e.deviceInfo?.rnVersion||"N/A"}`),t.push(`- **${(0,i18n_1.t)("crash.jsEngine")}** ${e.deviceInfo?.isHermes?(0,i18n_1.t)("crash.hermesEngine"):(0,i18n_1.t)("crash.jsc")}`),t.push(`- **${(0,i18n_1.t)("crash.reportArchitecture")}** ${e.deviceInfo?.isFabric?(0,i18n_1.t)("crash.reportFabricNew"):(0,i18n_1.t)("crash.reportPaperLegacy")}`),e.memoryInfo&&t.push(`- **${(0,i18n_1.t)("crash.reportJsMemory")}** ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),t.push(""),t.push(`### ${(0,i18n_1.t)("crash.mdStackTrace")}`),t.push("```"),t.push(e.stack||(0,i18n_1.t)("crash.reportNoStackTrace")),t.push("```"),e.componentStack&&(t.push(""),t.push(`### ${(0,i18n_1.t)("crash.mdComponentHierarchy")}`),t.push("```"),t.push(e.componentStack),t.push("```")),e.breadcrumbs&&e.breadcrumbs.length>0&&(t.push(""),t.push(`### ${(0,i18n_1.t)("crash.mdRecentBreadcrumbs")}`),e.breadcrumbs.forEach(i=>{const c=new Date(i.timestamp).toLocaleTimeString();t.push(`- \`[${c}]\` **[${i.type.toUpperCase()}]** ${i.message}`)})),t.join(`
6
+ `)}const s=[];return s.push("===================================================="),s.push(` ${(0,i18n_1.t)("crash.reportTitle")} `),s.push("===================================================="),s.push(`${(0,i18n_1.t)("crash.reportErrorName")} ${e.name||"Error"}`),s.push(`${(0,i18n_1.t)("crash.reportMessage")} ${e.message}`),s.push(`${(0,i18n_1.t)("crash.reportType")} ${e.type.toUpperCase()}`),s.push(`${(0,i18n_1.t)("crash.reportFatal")} ${e.isFatal?(0,i18n_1.t)("crash.reportFatalYes"):(0,i18n_1.t)("crash.reportFatalNo")}`),s.push(`${(0,i18n_1.t)("crash.reportTimestamp")} ${e.dateStr} ${e.timeStr} (${e.timestamp})`),s.push(`${(0,i18n_1.t)("crash.reportUptime")} ${(0,i18n_1.t)("crash.reportUptimeValue",{seconds:o})}`),s.push(`${(0,i18n_1.t)("crash.reportPlatform")} ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),s.push(`${(0,i18n_1.t)("crash.reportReactNative")} ${e.deviceInfo?.rnVersion||"N/A"}`),s.push(`${(0,i18n_1.t)("crash.reportHermes")} ${e.deviceInfo?.isHermes?(0,i18n_1.t)("crash.reportEnabled"):(0,i18n_1.t)("crash.reportDisabled")}`),s.push(`${(0,i18n_1.t)("crash.reportArchitecture")} ${e.deviceInfo?.isFabric?(0,i18n_1.t)("crash.reportFabricNew"):(0,i18n_1.t)("crash.reportPaperLegacy")}`),s.push(`${(0,i18n_1.t)("crash.reportScreenSize")} ${getScreenDimensions()}`),s.push(`${(0,i18n_1.t)("crash.reportAppState")} ${e.deviceInfo?.appState||"active"}`),e.memoryInfo&&s.push(`${(0,i18n_1.t)("crash.reportJsMemory")} ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),s.push("----------------------------------------------------"),s.push(`${(0,i18n_1.t)("crash.reportStackTrace")}`),s.push(e.stack||(0,i18n_1.t)("crash.reportNoStackTrace")),e.componentStack&&(s.push("----------------------------------------------------"),s.push(`${(0,i18n_1.t)("crash.reportComponentHierarchy")}`),s.push(e.componentStack)),e.breadcrumbs&&e.breadcrumbs.length>0&&(s.push("----------------------------------------------------"),s.push(`${(0,i18n_1.t)("crash.reportRecentBreadcrumbs")}`),e.breadcrumbs.forEach(t=>{const i=new Date(t.timestamp).toLocaleTimeString();s.push(` [${i}] [${t.type.toUpperCase()}] ${t.message}`)})),s.push("===================================================="),s.join(`
7
+ `)};exports.exportCrashReport=exportCrashReport;const setupGlobalCrashHandler=()=>{if(!isCrashHandlerInitialized){isCrashHandlerInitialized=!0;try{react_native_1.LogBox&&typeof react_native_1.LogBox.ignoreAllLogs=="function"&&react_native_1.LogBox.ignoreAllLogs(!0)}catch{}try{const e=require("react-native/Libraries/LogBox/Data/LogBoxData");e&&typeof e.setDisabled=="function"&&e.setDisabled(!0)}catch{}try{const e=react_native_1.NativeModules?.NetworkInspectorModule;e&&(typeof e.enableNativeCrashProtection=="function"&&e.enableNativeCrashProtection(),new react_native_1.NativeEventEmitter(e).addListener("onNativeCrash",o=>{const t=`[${(o?.platform||react_native_1.Platform.OS).toUpperCase()} ${(0,i18n_1.t)("crash.nativeCrashTitle")}] ${o?.message||(0,i18n_1.t)("crash.nativeUncaughtException")}`,i=o?.stack||"";(0,exports.handleInterceptedCrash)(t,i,!0,"native")}))}catch{}try{const e=react_native_1.TurboModuleRegistry||globalThis.__turboModuleProxy,r=react_native_1.NativeModules?.ExceptionsManager||(e?.get?e.get("ExceptionsManager"):null);if(r){r.reportFatalException=(s,t,i)=>{(0,exports.handleInterceptedCrash)(s,t,!0,"native");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.reportSoftException=(s,t,i)=>{(0,exports.handleInterceptedCrash)(s,t,!1,"js");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.reportException=s=>{const t=s?.message||s?.title||(0,i18n_1.t)("crash.nativeException"),i=s?.stack||s?.rawStack;(0,exports.handleInterceptedCrash)(t,i,s?.isFatal??!0,"js");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.updateExceptionMessage=()=>{};try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}}const o=react_native_1.NativeModules?.RedBox||react_native_1.NativeModules?.RCTRedBox||(e?.get?e.get("RedBox")||e.get("RCTRedBox"):null);o&&(typeof o.showErrorMessage=="function"&&(o.showErrorMessage=()=>{}),typeof o.showUserError=="function"&&(o.showUserError=()=>{}),typeof o.dismiss=="function"&&o.dismiss())}catch{}try{const r=globalThis.ErrorUtils;r&&(typeof r.setGlobalHandler=="function"&&r.setGlobalHandler((o,s)=>{(0,exports.handleInterceptedCrash)(o,o?.stack,s??!1,"js")}),typeof r.reportFatalError=="function"&&(r.reportFatalError=o=>{(0,exports.handleInterceptedCrash)(o,o?.stack,!0,"js")}),typeof r.reportError=="function"&&(r.reportError=o=>{(0,exports.handleInterceptedCrash)(o,o?.stack,!1,"js")}))}catch{}try{const e=globalThis,r=o=>{try{const s=o?.reason||o?.detail?.reason||o,t=s?.stack||(o?.stack??new Error().stack);(0,exports.handleInterceptedCrash)(s,t,!1,"promise")}catch{}};typeof e.addEventListener=="function"&&e.addEventListener("unhandledrejection",r),typeof e.onunhandledrejection<"u"&&(e.onunhandledrejection=r)}catch{}}};exports.setupGlobalCrashHandler=setupGlobalCrashHandler;
@@ -0,0 +1,22 @@
1
+ import { InspectedElementInfo, UiInspectorSubTab } from '../types';
2
+ type UiInspectorListener = (state: UiInspectorState) => void;
3
+ export interface UiInspectorState {
4
+ isInspectModeActive: boolean;
5
+ selectedElement: InspectedElementInfo | null;
6
+ activeSubTab: UiInspectorSubTab;
7
+ showAlignmentGrid: boolean;
8
+ showDistanceGuides: boolean;
9
+ history: InspectedElementInfo[];
10
+ tweakedStyles: Record<string, any>;
11
+ }
12
+ export declare function subscribeUiInspectorState(listener: UiInspectorListener): () => void;
13
+ export declare function getUiInspectorState(): UiInspectorState;
14
+ export declare function setInspectModeActive(active: boolean): void;
15
+ export declare function setSelectedUiElement(element: InspectedElementInfo | null): void;
16
+ export declare function setUiInspectorSubTab(subTab: UiInspectorSubTab): void;
17
+ export declare function toggleAlignmentGrid(show?: boolean): void;
18
+ export declare function toggleDistanceGuides(show?: boolean): void;
19
+ export declare function applyLiveStyleOverride(key: string, value: any): void;
20
+ export declare function resetLiveStyleOverrides(): void;
21
+ export declare function clearUiInspectorHistory(): void;
22
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.subscribeUiInspectorState=subscribeUiInspectorState,exports.getUiInspectorState=getUiInspectorState,exports.setInspectModeActive=setInspectModeActive,exports.setSelectedUiElement=setSelectedUiElement,exports.setUiInspectorSubTab=setUiInspectorSubTab,exports.toggleAlignmentGrid=toggleAlignmentGrid,exports.toggleDistanceGuides=toggleDistanceGuides,exports.applyLiveStyleOverride=applyLiveStyleOverride,exports.resetLiveStyleOverrides=resetLiveStyleOverrides,exports.clearUiInspectorHistory=clearUiInspectorHistory;let state={isInspectModeActive:!1,selectedElement:null,activeSubTab:"styles",showAlignmentGrid:!1,showDistanceGuides:!0,history:[],tweakedStyles:{}};const listeners=new Set;function notify(){const e={...state,history:[...state.history],tweakedStyles:{...state.tweakedStyles}};listeners.forEach(t=>{try{t(e)}catch(s){console.warn("[UIInspector] Listener notification error:",s)}})}function subscribeUiInspectorState(e){return listeners.add(e),e(state),()=>{listeners.delete(e)}}function getUiInspectorState(){return state}function setInspectModeActive(e){state.isInspectModeActive=e,notify()}function setSelectedUiElement(e){state.selectedElement=e,e?(state.tweakedStyles={...e.tweakedStyles},state.history.some(t=>t.id===e.id)||(state.history=[e,...state.history.slice(0,19)])):state.tweakedStyles={},notify()}function setUiInspectorSubTab(e){state.activeSubTab=e,notify()}function toggleAlignmentGrid(e){state.showAlignmentGrid=typeof e=="boolean"?e:!state.showAlignmentGrid,notify()}function toggleDistanceGuides(e){state.showDistanceGuides=typeof e=="boolean"?e:!state.showDistanceGuides,notify()}function applyLiveStyleOverride(e,t){state.tweakedStyles={...state.tweakedStyles,[e]:t},state.selectedElement&&(state.selectedElement={...state.selectedElement,tweakedStyles:{...state.tweakedStyles},flattenedStyles:{...state.selectedElement.originalStyles,...state.tweakedStyles}}),notify()}function resetLiveStyleOverrides(){state.tweakedStyles={},state.selectedElement&&(state.selectedElement={...state.selectedElement,tweakedStyles:{},flattenedStyles:{...state.selectedElement.originalStyles}}),notify()}function clearUiInspectorHistory(){state.history=[],notify()}
@@ -17,6 +17,8 @@ export declare const getPath: (url: string) => string;
17
17
  export declare const getBaseUrl: (url: string) => string;
18
18
  export declare const getCurlCommand: (log: NetworkLog) => string;
19
19
  export declare const getFetchCommand: (log: NetworkLog) => string;
20
+ export declare const getPostmanRequestJson: (log: NetworkLog) => string;
21
+ export declare const openWithPostman: (log: NetworkLog, toastFn?: (msg: string) => void) => Promise<void>;
20
22
  export declare const deduplicateLogs: (raw: NetworkLog[]) => NetworkLog[];
21
23
  export declare const escapeRegex: (str: string) => string;
22
24
  export declare const getNavigationInfo: (state: any, path?: string[]) => RouteInfo;
@@ -82,3 +84,4 @@ export interface RuntimeDiagnostics {
82
84
  totalAllocMb: number;
83
85
  }
84
86
  export declare const getRuntimeDiagnostics: () => RuntimeDiagnostics;
87
+ export declare const isUrlHidden: (url: string | undefined | null, patterns: string[] | undefined | null) => boolean;
@@ -1,8 +1,8 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,o,r){r===void 0&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}):(function(e,t,o,r){r===void 0&&(r=o),e[r]=t[o]})),__exportStar=this&&this.__exportStar||function(e,t){for(var o in e)o!=="default"&&!Object.prototype.hasOwnProperty.call(t,o)&&__createBinding(t,e,o)},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRuntimeDiagnostics=exports.getCategoryColors=exports.registerGAPlugin=exports.getEventCategory=exports.getEventColor=exports.ANALYTICS_EVENT_PALETTE=exports.openInVSCode=exports.getCleanCallerDisplay=exports.parseStackLine=exports.getJsonPreviewText=exports.getJsonContent=exports.formatGap=exports.formatTime=exports.formatTimeShort=exports.handleOpenExternalLink=exports.getAppVersionAndBuild=exports.getAppName=exports.getBundleIdentifier=exports.formatDateTimeToAnalytics=exports.isAllValuesEmpty=exports.getLocalizedFilePathWithSlash=exports.getLocalizedFilePath=exports.formatDisplayUrl=exports.getDiff=exports.flattenObject=exports.getLogPageName=exports.getNavigationInfo=exports.escapeRegex=exports.deduplicateLogs=exports.getFetchCommand=exports.getCurlCommand=exports.getBaseUrl=exports.getPath=exports.copyImageOrMediaToClipboard=exports.copyToClipboard=exports.formatByteSize=exports.formatBytes=exports.getSize=exports.getDurationColor=exports.getStatusColor=exports.formatTimestamp=exports.formatDateTime=exports.getDomainColor=exports.isLocalDebugEnvironment=void 0;const react_native_1=require("react-native"),clipboard_1=__importDefault(require("@react-native-clipboard/clipboard")),toast_1=require("./toast"),NativeInspector_1=require("../native/NativeInspector"),AppColors_1=require("../styles/AppColors"),constants_1=require("../constants");__exportStar(require("./searchQueryParser"),exports),__exportStar(require("./memoryManager"),exports),__exportStar(require("./toast"),exports);const isLocalDebugEnvironment=()=>{const e=typeof __DEV__<"u"&&!!__DEV__,t=react_native_1.NativeModules.SourceCode?.scriptURL||"",o=t.startsWith("http://")||t.startsWith("https://")||t.includes(":8081")||t.includes(":8082");return e||o};exports.isLocalDebugEnvironment=isLocalDebugEnvironment;const getDomainColor=e=>{if(!e)return constants_1.DOMAIN_COLORS[0];let t=0;for(let o=0;o<e.length;o++)t=e.charCodeAt(o)+((t<<5)-t);return constants_1.DOMAIN_COLORS[Math.abs(t)%constants_1.DOMAIN_COLORS.length]};exports.getDomainColor=getDomainColor;const formatDateTime=e=>{const t=new Date(e),o=(d,c=2)=>String(d).padStart(c,"0"),r=o(t.getDate()),n=o(t.getMonth()+1),i=t.getFullYear(),s=o(t.getHours()),a=o(t.getMinutes()),l=o(t.getSeconds());return`${r}/${n}/${i} ${s}:${a}:${l}`};exports.formatDateTime=formatDateTime;const formatTimestamp=e=>{try{const t=new Date(e),o=t.getHours().toString().padStart(2,"0"),r=t.getMinutes().toString().padStart(2,"0"),n=t.getSeconds().toString().padStart(2,"0"),i=t.getMilliseconds().toString().padStart(3,"0");return`${o}:${r}:${n}.${i}`}catch{return"\u2014"}};exports.formatTimestamp=formatTimestamp;const getStatusColor=e=>!e||e===0||e>=500?AppColors_1.AppColors.errorColor:e>=400?AppColors_1.AppColors.darkOrange:e>=300?AppColors_1.AppColors.warningIconGold:AppColors_1.AppColors.greenColor;exports.getStatusColor=getStatusColor;const getDurationColor=e=>e==null?AppColors_1.AppColors.grayTextWeak:e<constants_1.DURATION_FAST_MS?AppColors_1.AppColors.greenColor:e<constants_1.DURATION_SLOW_MS?AppColors_1.AppColors.lightOrange:AppColors_1.AppColors.errorColor;exports.getDurationColor=getDurationColor;const getSize=e=>{try{const t=JSON.stringify(e)?.length??0;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}catch{return"\u2014"}};exports.getSize=getSize;const formatBytes=e=>{if(e===0||!e||isNaN(e))return"0 B";const t=1024,o=["B","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/Math.pow(t,r)).toFixed(1))} ${o[r]||"B"}`};exports.formatBytes=formatBytes;const formatByteSize=e=>!e||e<=0?"0 B":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(2)} MB`;exports.formatByteSize=formatByteSize;const copyToClipboard=(e,t)=>{const o=typeof e=="function"?e():e;let r="";if(typeof o=="string")r=o;else try{r=JSON.stringify(o,null,2)}catch{r=String(o)}try{typeof clipboard_1.default?.setString=="function"?clipboard_1.default.setString(r):typeof clipboard_1.default?.default?.setString=="function"&&clipboard_1.default.default.setString(r)}catch(n){__DEV__&&console.warn("[NetworkInspector] Clipboard.setString failed:",n)}try{(0,toast_1.showToast)(t?`${t} copied to clipboard`:"Copied to clipboard")}catch{}try{react_native_1.Platform.OS==="android"&&react_native_1.ToastAndroid?.show&&react_native_1.ToastAndroid.show(t?`${t} copied to clipboard`:"Copied to clipboard",react_native_1.ToastAndroid.SHORT)}catch{}};exports.copyToClipboard=copyToClipboard;const copyImageOrMediaToClipboard=async(e,t="Image")=>{if(!e)return;let o=!1;try{o=await(0,NativeInspector_1.copyMediaToClipboard)(e)}catch{o=!1}if(!o){(0,exports.copyToClipboard)(e,t);return}try{(0,toast_1.showToast)(`${t} copied to clipboard`)}catch{}try{react_native_1.Platform.OS==="android"&&react_native_1.ToastAndroid?.show&&react_native_1.ToastAndroid.show(`${t} copied to clipboard`,react_native_1.ToastAndroid.SHORT)}catch{}};exports.copyImageOrMediaToClipboard=copyImageOrMediaToClipboard;const getPath=e=>{try{const t=new URL(e);return t.pathname+(t.search?t.search:"")}catch{return e.replace(/^https?:\/\/[^/?#]+/,"")||"/"}};exports.getPath=getPath;const getBaseUrl=e=>{try{const t=new URL(e);return`${t.protocol}//${t.host}`}catch{const t=e.match(/^(https?:\/\/[^/]+)/);return t?t[1]:""}};exports.getBaseUrl=getBaseUrl;const getCurlCommand=e=>{let t=`curl -X ${e.method} "${e.url}"`;if(e.requestHeaders&&Object.entries(e.requestHeaders).forEach(([o,r])=>{t+=` \\
2
- -H "${o}: ${r}"`}),e.request&&e.method!=="GET"){const o=typeof e.request=="string"?e.request:JSON.stringify(e.request);t+=` \\
3
- -d '${o.replace(/'/g,"'\\''")}'`}return t};exports.getCurlCommand=getCurlCommand;const getFetchCommand=e=>{const t={method:e.method};return e.requestHeaders&&Object.keys(e.requestHeaders).length>0&&(t.headers=e.requestHeaders),e.request&&e.method!=="GET"&&(t.body=JSON.stringify(e.request)),`fetch("${e.url}", ${JSON.stringify(t,null,2)})`};exports.getFetchCommand=getFetchCommand;const deduplicateLogs=e=>{const t=new Map;return e.forEach(o=>{if(!t.has(o.id))t.set(o.id,o);else{const r=t.get(o.id);(r.status==null&&o.status!=null||(o.startTime??0)>=(r.startTime??0))&&t.set(o.id,o)}}),Array.from(t.values()).sort((o,r)=>r.id-o.id)};exports.deduplicateLogs=deduplicateLogs;const escapeRegex=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");exports.escapeRegex=escapeRegex;const getNavigationInfo=(e,t=[])=>{if(!e)return{path:t.length>0?t.join(" \u2794 "):"",params:null};if(e.name&&!e.routes)return{path:t.length>0?[...t,e.name].join(" \u2794 "):e.name,params:e.params||null};if(!e.routes||!Array.isArray(e.routes)||e.routes.length===0)return{path:t.length>0?t.join(" \u2794 "):"",params:null};const o=typeof e.index=="number"&&e.index>=0&&e.index<e.routes.length?e.index:0,r=e.routes[o];if(!r)return{path:t.length>0?t.join(" \u2794 "):"",params:null};const n=r.name?[...t,r.name]:t;return r?.state?(0,exports.getNavigationInfo)(r.state,n):{path:n.length>0?n.join(" \u2794 "):r.name||"",params:r.params||null}};exports.getNavigationInfo=getNavigationInfo;const getLogPageName=(e,t)=>{const o=t||e?.routeInfo;if(o&&o.path&&o.path!=="Navigators"){const r=o.path.split(" \u2794 ").map(n=>n.trim()).filter(Boolean);return r.length>0?r[r.length-1]:o.path}if(e.caller&&e.caller!=="Unknown")try{const r=e.caller.match(/([^/\\]+)\.(tsx|jsx|ts|js)/i);if(r&&r[1]){const n=r[1];if(!["networklogger","fetch","axios","apiclient","request","http","index","nativeinspector","inappinspector","bundleanalyzer"].includes(n.toLowerCase()))return n}}catch{}if(e.url)try{const n=e.url.split("?")[0].split("#")[0].replace(/^https?:\/\//i,""),i=n.indexOf("/");if(i!==-1){const a=n.substring(i+1).split("/").filter(Boolean),l=["api","v1","v2","v3","v4","rest","graphql","json","data","service","app"],d=a.filter(c=>!l.includes(c.toLowerCase()));if(d.length>0){const c=d[0];return c.charAt(0).toUpperCase()+c.slice(1)}}const s=n.split("/")[0];if(s)return s}catch{}return"General"};exports.getLogPageName=getLogPageName;const flattenObject=(e,t="")=>{let o={};return typeof e=="object"&&e!==null?Array.isArray(e)?e.forEach((r,n)=>{Object.assign(o,(0,exports.flattenObject)(r,t?`${t}[${n}]`:`[${n}]`))}):Object.keys(e).forEach(r=>{Object.assign(o,(0,exports.flattenObject)(e[r],t?`${t}.${r}`:r))}):o[t||"root"]=e,o};exports.flattenObject=flattenObject;const getDiff=(e,t)=>{const o=(0,exports.flattenObject)(e),r=(0,exports.flattenObject)(t),n=[];return new Set([...Object.keys(o),...Object.keys(r)]).forEach(s=>{s in o?s in r?o[s]!==r[s]&&n.push({type:"changed",path:s,oldVal:o[s],newVal:r[s]}):n.push({type:"removed",path:s,oldVal:o[s]}):n.push({type:"added",path:s,newVal:r[s]})}),n.sort((s,a)=>s.path.localeCompare(a.path))};exports.getDiff=getDiff;const formatDisplayUrl=e=>e?e.startsWith("http://")||e.startsWith("https://")?e:`https://${e}`:"";exports.formatDisplayUrl=formatDisplayUrl;const getLocalizedFilePath=(e,t,o)=>e.replace("country-language",`${t?.toLowerCase()}-${o?.toLowerCase()}`);exports.getLocalizedFilePath=getLocalizedFilePath;const getLocalizedFilePathWithSlash=(e,t,o)=>e.replace("country/language",`${t?.toLowerCase()}/${o?.toLowerCase()}`);exports.getLocalizedFilePathWithSlash=getLocalizedFilePathWithSlash;const isAllValuesEmpty=e=>!e||typeof e!="object"?!0:Object.values(e).every(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0);exports.isAllValuesEmpty=isAllValuesEmpty;const formatDateTimeToAnalytics=e=>new Date(e)?.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"});exports.formatDateTimeToAnalytics=formatDateTimeToAnalytics;const getBundleIdentifier=()=>{const e=react_native_1.NativeModules.RNDeviceInfo;if(e&&typeof e.bundleId=="string")return e.bundleId;if(e&&typeof e.getBundleId=="function")try{const n=e.getBundleId();if(typeof n=="string")return n}catch{}const t=react_native_1.NativeModules.ExponentConstants;if(t&&t.manifest){const n=t.manifest;if(n.ios&&n.ios.bundleIdentifier)return n.ios.bundleIdentifier;if(n.android&&n.android.package)return n.android.package}const o=react_native_1.NativeModules.ExpoApplication;if(o&&typeof o.applicationId=="string")return o.applicationId;const r=react_native_1.NativeModules.SourceCode;if(r&&typeof r.scriptURL=="string"){const n=r.scriptURL;if(n.includes("assets/"))try{const i=n.match(/assets\/([^/?#]+)/);if(i&&i[1])return i[1]}catch{}}return"org.reactjs.native.example"};exports.getBundleIdentifier=getBundleIdentifier;const getAppName=()=>{const e=react_native_1.NativeModules.PlatformConstants;e&&e.interfaceIdiom;const t=react_native_1.NativeModules.RNDeviceInfo;if(t&&typeof t.appName=="string")return t.appName;const o=react_native_1.NativeModules.NetworkInspectorModule;if(o&&typeof o.appName=="string"&&o.appName.length>0&&o.appName!=="App")return o.appName;const r=react_native_1.NativeModules.ExpoApplication;if(r&&typeof r.applicationName=="string")return r.applicationName;const n=react_native_1.NativeModules.ExponentConstants;if(n&&n.manifest){const a=n.manifest;if(a.name)return a.name}const i=react_native_1.NativeModules.AppInfo;if(i&&typeof i.appName=="string")return i.appName;const s=(0,exports.getBundleIdentifier)();if(s&&s!=="org.reactjs.native.example"){const a=s.split("."),l=a[a.length-1];return l?l.charAt(0).toUpperCase()+l.slice(1):"App"}return"App"};exports.getAppName=getAppName;const getAppVersionAndBuild=()=>{let e="",t="";const o=react_native_1.NativeModules.NetworkInspectorModule;if(o&&(typeof o.appVersion=="string"&&o.appVersion.length>0&&(e=o.appVersion),typeof o.appBuild=="string"&&o.appBuild.length>0&&(t=o.appBuild)),!e||!t){const r=react_native_1.NativeModules.ExpoApplication;r&&(!e&&typeof r.nativeAppVersion=="string"&&(e=r.nativeAppVersion),!t&&typeof r.nativeBuildVersion=="string"&&(t=r.nativeBuildVersion))}if(!e||!t){const r=react_native_1.NativeModules.ExponentConstants;if(r){const n=r.manifest||r.expoConfig;n&&(!e&&n.version&&(e=String(n.version)),t||(n.ios?.buildNumber?t=String(n.ios.buildNumber):n.android?.versionCode&&(t=String(n.android.versionCode))))}}if(!e||!t){const r=react_native_1.NativeModules.RNDeviceInfo;if(r){if(!e){if(typeof r.appVersion=="string")e=r.appVersion;else if(typeof r.getVersion=="function")try{e=r.getVersion()}catch{}}if(!t){if(typeof r.buildNumber=="string")t=r.buildNumber;else if(typeof r.getBuildNumber=="function")try{t=r.getBuildNumber()}catch{}}}}if(!e||!t){const r=react_native_1.NativeModules.AppInfo;r&&(!e&&typeof r.versionName=="string"&&(e=r.versionName),!t&&typeof r.versionCode=="string"&&(t=r.versionCode))}if(!e){const r=react_native_1.Platform.constants||react_native_1.NativeModules.PlatformConstants;r&&r.Version&&typeof r.Version=="string"&&r.Version.includes(".")&&(e=r.Version)}return e||(e="1.0"),t||(t="1"),{version:e,build:t,formatted:`${e} (${t})`}};exports.getAppVersionAndBuild=getAppVersionAndBuild;const handleOpenExternalLink=e=>{if(!e)return;const t=(0,exports.formatDisplayUrl)(e);react_native_1.Alert.alert("Open Link",`Do you want to open this link in your web browser?
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,r,o){o===void 0&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}):(function(e,t,r,o){o===void 0&&(o=r),e[o]=t[r]})),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&__createBinding(t,e,r)},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.isUrlHidden=exports.getRuntimeDiagnostics=exports.getCategoryColors=exports.registerGAPlugin=exports.getEventCategory=exports.getEventColor=exports.ANALYTICS_EVENT_PALETTE=exports.openInVSCode=exports.getCleanCallerDisplay=exports.parseStackLine=exports.getJsonPreviewText=exports.getJsonContent=exports.formatGap=exports.formatTime=exports.formatTimeShort=exports.handleOpenExternalLink=exports.getAppVersionAndBuild=exports.getAppName=exports.getBundleIdentifier=exports.formatDateTimeToAnalytics=exports.isAllValuesEmpty=exports.getLocalizedFilePathWithSlash=exports.getLocalizedFilePath=exports.formatDisplayUrl=exports.getDiff=exports.flattenObject=exports.getLogPageName=exports.getNavigationInfo=exports.escapeRegex=exports.deduplicateLogs=exports.openWithPostman=exports.getPostmanRequestJson=exports.getFetchCommand=exports.getCurlCommand=exports.getBaseUrl=exports.getPath=exports.copyImageOrMediaToClipboard=exports.copyToClipboard=exports.formatByteSize=exports.formatBytes=exports.getSize=exports.getDurationColor=exports.getStatusColor=exports.formatTimestamp=exports.formatDateTime=exports.getDomainColor=exports.isLocalDebugEnvironment=void 0;const react_native_1=require("react-native"),clipboard_1=__importDefault(require("@react-native-clipboard/clipboard")),toast_1=require("./toast"),NativeInspector_1=require("../native/NativeInspector"),AppColors_1=require("../styles/AppColors"),constants_1=require("../constants");__exportStar(require("./searchQueryParser"),exports),__exportStar(require("./memoryManager"),exports),__exportStar(require("./toast"),exports);const isLocalDebugEnvironment=()=>{const e=typeof __DEV__<"u"&&!!__DEV__,t=react_native_1.NativeModules.SourceCode?.scriptURL||"",r=t.startsWith("http://")||t.startsWith("https://")||t.includes(":8081")||t.includes(":8082");return e||r};exports.isLocalDebugEnvironment=isLocalDebugEnvironment;const getDomainColor=e=>{if(!e)return constants_1.DOMAIN_COLORS[0];let t=0;for(let r=0;r<e.length;r++)t=e.charCodeAt(r)+((t<<5)-t);return constants_1.DOMAIN_COLORS[Math.abs(t)%constants_1.DOMAIN_COLORS.length]};exports.getDomainColor=getDomainColor;const formatDateTime=e=>{const t=new Date(e),r=(u,c=2)=>String(u).padStart(c,"0"),o=r(t.getDate()),n=r(t.getMonth()+1),s=t.getFullYear(),i=r(t.getHours()),a=r(t.getMinutes()),p=r(t.getSeconds());return`${o}/${n}/${s} ${i}:${a}:${p}`};exports.formatDateTime=formatDateTime;const formatTimestamp=e=>{try{const t=new Date(e),r=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),n=t.getSeconds().toString().padStart(2,"0"),s=t.getMilliseconds().toString().padStart(3,"0");return`${r}:${o}:${n}.${s}`}catch{return"\u2014"}};exports.formatTimestamp=formatTimestamp;const getStatusColor=e=>!e||e===0||e>=500?AppColors_1.AppColors.errorColor:e>=400?AppColors_1.AppColors.darkOrange:e>=300?AppColors_1.AppColors.warningIconGold:AppColors_1.AppColors.greenColor;exports.getStatusColor=getStatusColor;const getDurationColor=e=>e==null?AppColors_1.AppColors.grayTextWeak:e<constants_1.DURATION_FAST_MS?AppColors_1.AppColors.greenColor:e<constants_1.DURATION_SLOW_MS?AppColors_1.AppColors.lightOrange:AppColors_1.AppColors.errorColor;exports.getDurationColor=getDurationColor;const getSize=e=>{try{const t=JSON.stringify(e)?.length??0;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}catch{return"\u2014"}};exports.getSize=getSize;const formatBytes=e=>{if(e===0||!e||isNaN(e))return"0 B";const t=1024,r=["B","KB","MB","GB"],o=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/Math.pow(t,o)).toFixed(1))} ${r[o]||"B"}`};exports.formatBytes=formatBytes;const formatByteSize=e=>!e||e<=0?"0 B":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(2)} MB`;exports.formatByteSize=formatByteSize;const copyToClipboard=(e,t)=>{const r=typeof e=="function"?e():e;let o="";if(typeof r=="string")o=r;else try{o=JSON.stringify(r,null,2)}catch{o=String(r)}try{typeof clipboard_1.default?.setString=="function"?clipboard_1.default.setString(o):typeof clipboard_1.default?.default?.setString=="function"&&clipboard_1.default.default.setString(o)}catch(n){__DEV__&&console.warn("[NetworkInspector] Clipboard.setString failed:",n)}try{(0,toast_1.showToast)(t?`${t} copied to clipboard`:"Copied to clipboard")}catch{}try{react_native_1.Platform.OS==="android"&&react_native_1.ToastAndroid?.show&&react_native_1.ToastAndroid.show(t?`${t} copied to clipboard`:"Copied to clipboard",react_native_1.ToastAndroid.SHORT)}catch{}};exports.copyToClipboard=copyToClipboard;const copyImageOrMediaToClipboard=async(e,t="Image")=>{if(!e)return;let r=!1;try{r=await(0,NativeInspector_1.copyMediaToClipboard)(e)}catch{r=!1}if(!r){(0,exports.copyToClipboard)(e,t);return}try{(0,toast_1.showToast)(`${t} copied to clipboard`)}catch{}try{react_native_1.Platform.OS==="android"&&react_native_1.ToastAndroid?.show&&react_native_1.ToastAndroid.show(`${t} copied to clipboard`,react_native_1.ToastAndroid.SHORT)}catch{}};exports.copyImageOrMediaToClipboard=copyImageOrMediaToClipboard;const getPath=e=>{try{const t=new URL(e);return t.pathname+(t.search?t.search:"")}catch{return e.replace(/^https?:\/\/[^/?#]+/,"")||"/"}};exports.getPath=getPath;const getBaseUrl=e=>{try{const t=new URL(e);return`${t.protocol}//${t.host}`}catch{const t=e.match(/^(https?:\/\/[^/]+)/);return t?t[1]:""}};exports.getBaseUrl=getBaseUrl;const getCurlCommand=e=>{let t=`curl -X ${e.method} "${e.url}"`;if(e.requestHeaders&&Object.entries(e.requestHeaders).forEach(([r,o])=>{t+=` \\
2
+ -H "${r}: ${o}"`}),e.request&&e.method!=="GET"){const r=typeof e.request=="string"?e.request:JSON.stringify(e.request);t+=` \\
3
+ -d '${r.replace(/'/g,"'\\''")}'`}return t};exports.getCurlCommand=getCurlCommand;const getFetchCommand=e=>{const t={method:e.method};return e.requestHeaders&&Object.keys(e.requestHeaders).length>0&&(t.headers=e.requestHeaders),e.request&&e.method!=="GET"&&(t.body=JSON.stringify(e.request)),`fetch("${e.url}", ${JSON.stringify(t,null,2)})`};exports.getFetchCommand=getFetchCommand;const getPostmanRequestJson=e=>{let t;try{const s=new URL(e.url),i=s.hostname.split("."),a=s.pathname.replace(/^\//,"").split("/").filter(Boolean),p=[];s.searchParams.forEach((u,c)=>{p.push({key:c,value:u})}),t={raw:e.url,host:i,path:a,query:p.length>0?p:void 0}}catch{t={raw:e.url}}const r=[];e.requestHeaders&&typeof e.requestHeaders=="object"&&Object.entries(e.requestHeaders).forEach(([s,i])=>{r.push({key:s,value:String(i),type:"text"})});let o;if(e.request){const s=e.request;let i="";if(typeof s=="object")try{i=JSON.stringify(s,null,2)}catch{i=String(s)}else i=String(s);o={mode:"raw",raw:i,options:{raw:{language:"json"}}}}const n={info:{name:`${e.method} ${(0,exports.getPath)(e.url)||e.url}`,schema:"https://schema.getpostman.com/json/collection/v2.1.0/collection.json",_exporter_id:"inapp-inspector"},item:[{name:`${e.method} ${(0,exports.getPath)(e.url)||e.url}`,request:{method:e.method||"GET",header:r,body:o,url:t,description:"Captured by React Native In-App Inspector"},response:[]}]};return JSON.stringify(n,null,2)};exports.getPostmanRequestJson=getPostmanRequestJson;const openWithPostman=async(e,t)=>{const r=(0,exports.getCurlCommand)(e);clipboard_1.default.setString(r);const o=s=>{t?t(s):(0,toast_1.showToast)(s)},n="postman://";try{if(await react_native_1.Linking.canOpenURL(n))try{await react_native_1.Linking.openURL(n),o("Opened Postman (cURL copied to clipboard)");return}catch{}}catch{}o("cURL copied! Ready to paste into Postman")};exports.openWithPostman=openWithPostman;const deduplicateLogs=e=>{const t=new Map;return e.forEach(r=>{if(!t.has(r.id))t.set(r.id,r);else{const o=t.get(r.id);(o.status==null&&r.status!=null||(r.startTime??0)>=(o.startTime??0))&&t.set(r.id,r)}}),Array.from(t.values()).sort((r,o)=>o.id-r.id)};exports.deduplicateLogs=deduplicateLogs;const escapeRegex=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");exports.escapeRegex=escapeRegex;const getNavigationInfo=(e,t=[])=>{if(!e)return{path:t.length>0?t.join(" \u2794 "):"",params:null};if(e.name&&!e.routes)return{path:t.length>0?[...t,e.name].join(" \u2794 "):e.name,params:e.params||null};if(!e.routes||!Array.isArray(e.routes)||e.routes.length===0)return{path:t.length>0?t.join(" \u2794 "):"",params:null};const r=typeof e.index=="number"&&e.index>=0&&e.index<e.routes.length?e.index:0,o=e.routes[r];if(!o)return{path:t.length>0?t.join(" \u2794 "):"",params:null};const n=o.name?[...t,o.name]:t;return o?.state?(0,exports.getNavigationInfo)(o.state,n):{path:n.length>0?n.join(" \u2794 "):o.name||"",params:o.params||null}};exports.getNavigationInfo=getNavigationInfo;const getLogPageName=(e,t)=>{const r=t||e?.routeInfo;if(r&&r.path&&r.path!=="Navigators"){const o=r.path.split(" \u2794 ").map(n=>n.trim()).filter(Boolean);return o.length>0?o[o.length-1]:r.path}if(e.caller&&e.caller!=="Unknown")try{const o=e.caller.match(/([^/\\]+)\.(tsx|jsx|ts|js)/i);if(o&&o[1]){const n=o[1];if(!["networklogger","fetch","axios","apiclient","request","http","index","nativeinspector","inappinspector","bundleanalyzer"].includes(n.toLowerCase()))return n}}catch{}if(e.url)try{const n=e.url.split("?")[0].split("#")[0].replace(/^https?:\/\//i,""),s=n.indexOf("/");if(s!==-1){const a=n.substring(s+1).split("/").filter(Boolean),p=["api","v1","v2","v3","v4","rest","graphql","json","data","service","app"],u=a.filter(c=>!p.includes(c.toLowerCase()));if(u.length>0){const c=u[0];return c.charAt(0).toUpperCase()+c.slice(1)}}const i=n.split("/")[0];if(i)return i}catch{}return"General"};exports.getLogPageName=getLogPageName;const flattenObject=(e,t="")=>{let r={};return typeof e=="object"&&e!==null?Array.isArray(e)?e.forEach((o,n)=>{Object.assign(r,(0,exports.flattenObject)(o,t?`${t}[${n}]`:`[${n}]`))}):Object.keys(e).forEach(o=>{Object.assign(r,(0,exports.flattenObject)(e[o],t?`${t}.${o}`:o))}):r[t||"root"]=e,r};exports.flattenObject=flattenObject;const getDiff=(e,t)=>{const r=(0,exports.flattenObject)(e),o=(0,exports.flattenObject)(t),n=[];return new Set([...Object.keys(r),...Object.keys(o)]).forEach(i=>{i in r?i in o?r[i]!==o[i]&&n.push({type:"changed",path:i,oldVal:r[i],newVal:o[i]}):n.push({type:"removed",path:i,oldVal:r[i]}):n.push({type:"added",path:i,newVal:o[i]})}),n.sort((i,a)=>i.path.localeCompare(a.path))};exports.getDiff=getDiff;const formatDisplayUrl=e=>e?e.startsWith("http://")||e.startsWith("https://")?e:`https://${e}`:"";exports.formatDisplayUrl=formatDisplayUrl;const getLocalizedFilePath=(e,t,r)=>e.replace("country-language",`${t?.toLowerCase()}-${r?.toLowerCase()}`);exports.getLocalizedFilePath=getLocalizedFilePath;const getLocalizedFilePathWithSlash=(e,t,r)=>e.replace("country/language",`${t?.toLowerCase()}/${r?.toLowerCase()}`);exports.getLocalizedFilePathWithSlash=getLocalizedFilePathWithSlash;const isAllValuesEmpty=e=>!e||typeof e!="object"?!0:Object.values(e).every(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0);exports.isAllValuesEmpty=isAllValuesEmpty;const formatDateTimeToAnalytics=e=>new Date(e)?.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"});exports.formatDateTimeToAnalytics=formatDateTimeToAnalytics;const getBundleIdentifier=()=>{const e=react_native_1.NativeModules.RNDeviceInfo;if(e&&typeof e.bundleId=="string")return e.bundleId;if(e&&typeof e.getBundleId=="function")try{const n=e.getBundleId();if(typeof n=="string")return n}catch{}const t=react_native_1.NativeModules.ExponentConstants;if(t&&t.manifest){const n=t.manifest;if(n.ios&&n.ios.bundleIdentifier)return n.ios.bundleIdentifier;if(n.android&&n.android.package)return n.android.package}const r=react_native_1.NativeModules.ExpoApplication;if(r&&typeof r.applicationId=="string")return r.applicationId;const o=react_native_1.NativeModules.SourceCode;if(o&&typeof o.scriptURL=="string"){const n=o.scriptURL;if(n.includes("assets/"))try{const s=n.match(/assets\/([^/?#]+)/);if(s&&s[1])return s[1]}catch{}}return"org.reactjs.native.example"};exports.getBundleIdentifier=getBundleIdentifier;const getAppName=()=>{const e=react_native_1.NativeModules.PlatformConstants;e&&e.interfaceIdiom;const t=react_native_1.NativeModules.RNDeviceInfo;if(t&&typeof t.appName=="string")return t.appName;const r=react_native_1.NativeModules.NetworkInspectorModule;if(r&&typeof r.appName=="string"&&r.appName.length>0&&r.appName!=="App")return r.appName;const o=react_native_1.NativeModules.ExpoApplication;if(o&&typeof o.applicationName=="string")return o.applicationName;const n=react_native_1.NativeModules.ExponentConstants;if(n&&n.manifest){const a=n.manifest;if(a.name)return a.name}const s=react_native_1.NativeModules.AppInfo;if(s&&typeof s.appName=="string")return s.appName;const i=(0,exports.getBundleIdentifier)();if(i&&i!=="org.reactjs.native.example"){const a=i.split("."),p=a[a.length-1];return p?p.charAt(0).toUpperCase()+p.slice(1):"App"}return"App"};exports.getAppName=getAppName;const getAppVersionAndBuild=()=>{let e="",t="";const r=react_native_1.NativeModules.NetworkInspectorModule;if(r&&(typeof r.appVersion=="string"&&r.appVersion.length>0&&(e=r.appVersion),typeof r.appBuild=="string"&&r.appBuild.length>0&&(t=r.appBuild)),!e||!t){const o=react_native_1.NativeModules.ExpoApplication;o&&(!e&&typeof o.nativeAppVersion=="string"&&(e=o.nativeAppVersion),!t&&typeof o.nativeBuildVersion=="string"&&(t=o.nativeBuildVersion))}if(!e||!t){const o=react_native_1.NativeModules.ExponentConstants;if(o){const n=o.manifest||o.expoConfig;n&&(!e&&n.version&&(e=String(n.version)),t||(n.ios?.buildNumber?t=String(n.ios.buildNumber):n.android?.versionCode&&(t=String(n.android.versionCode))))}}if(!e||!t){const o=react_native_1.NativeModules.RNDeviceInfo;if(o){if(!e){if(typeof o.appVersion=="string")e=o.appVersion;else if(typeof o.getVersion=="function")try{e=o.getVersion()}catch{}}if(!t){if(typeof o.buildNumber=="string")t=o.buildNumber;else if(typeof o.getBuildNumber=="function")try{t=o.getBuildNumber()}catch{}}}}if(!e||!t){const o=react_native_1.NativeModules.AppInfo;o&&(!e&&typeof o.versionName=="string"&&(e=o.versionName),!t&&typeof o.versionCode=="string"&&(t=o.versionCode))}if(!e){const o=react_native_1.Platform.constants||react_native_1.NativeModules.PlatformConstants;o&&o.Version&&typeof o.Version=="string"&&o.Version.includes(".")&&(e=o.Version)}return e||(e="1.0"),t||(t="1"),{version:e,build:t,formatted:`${e} (${t})`}};exports.getAppVersionAndBuild=getAppVersionAndBuild;const handleOpenExternalLink=e=>{if(!e)return;const t=(0,exports.formatDisplayUrl)(e);react_native_1.Alert.alert("Open Link",`Do you want to open this link in your web browser?
4
4
 
5
- ${t}`,[{text:"Cancel",style:"cancel"},{text:"Open",onPress:()=>{react_native_1.Linking.openURL(t).catch(()=>{})}}])};exports.handleOpenExternalLink=handleOpenExternalLink;const formatTimeShort=e=>{const t=new Date(e),o=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0"),n=String(t.getSeconds()).padStart(2,"0");return`${o}:${r}:${n}`};exports.formatTimeShort=formatTimeShort;const formatTime=e=>{const t=new Date(e),o=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0"),n=String(t.getSeconds()).padStart(2,"0"),i=String(t.getMilliseconds()).padStart(3,"0");return`${o}:${r}:${n}.${i}`};exports.formatTime=formatTime;const formatGap=e=>{if(e<1e3)return`+${e}ms`;const t=Math.round(e/1e3);if(t<60)return`+${t}s`;const o=Math.floor(t/60),r=t%60;return r>0?`+${o}m ${r}s`:`+${o}m`};exports.formatGap=formatGap;const getJsonContent=e=>{if(!e)return null;const t=[];for(let o=0;o<e.length;o++)(e[o]==="{"||e[o]==="[")&&t.push(o);for(const o of t){const r=e.substring(o).trim();try{const n=JSON.parse(r);if(n!==null&&typeof n=="object")return{header:e.substring(0,o).trim(),data:n}}catch{}}return null};exports.getJsonContent=getJsonContent;const getJsonPreviewText=(e,t=4)=>{try{const o=JSON.stringify(e,null,2),r=o.split(`
6
- `);return r.length>t?{text:r.slice(0,t).join(`
5
+ ${t}`,[{text:"Cancel",style:"cancel"},{text:"Open",onPress:()=>{react_native_1.Linking.openURL(t).catch(()=>{})}}])};exports.handleOpenExternalLink=handleOpenExternalLink;const formatTimeShort=e=>{const t=new Date(e),r=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0"),n=String(t.getSeconds()).padStart(2,"0");return`${r}:${o}:${n}`};exports.formatTimeShort=formatTimeShort;const formatTime=e=>{const t=new Date(e),r=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0"),n=String(t.getSeconds()).padStart(2,"0"),s=String(t.getMilliseconds()).padStart(3,"0");return`${r}:${o}:${n}.${s}`};exports.formatTime=formatTime;const formatGap=e=>{if(e<1e3)return`+${e}ms`;const t=Math.round(e/1e3);if(t<60)return`+${t}s`;const r=Math.floor(t/60),o=t%60;return o>0?`+${r}m ${o}s`:`+${r}m`};exports.formatGap=formatGap;const getJsonContent=e=>{if(!e)return null;const t=[];for(let r=0;r<e.length;r++)(e[r]==="{"||e[r]==="[")&&t.push(r);for(const r of t){const o=e.substring(r).trim();try{const n=JSON.parse(o);if(n!==null&&typeof n=="object")return{header:e.substring(0,r).trim(),data:n}}catch{}}return null};exports.getJsonContent=getJsonContent;const getJsonPreviewText=(e,t=4)=>{try{const r=JSON.stringify(e,null,2),o=r.split(`
6
+ `);return o.length>t?{text:o.slice(0,t).join(`
7
7
  `)+`
8
- ...`,hasMore:!0}:{text:o,hasMore:!1}}catch{return{text:String(e),hasMore:!1}}};exports.getJsonPreviewText=getJsonPreviewText;const parseStackLine=(e,t=!1)=>{let o=e.trim().replace(/^at /,"");if(o.includes("@")){const N=o.indexOf("@"),b=o.substring(0,N).trim(),S=o.substring(N+1).trim();o=b?`${b} (${S})`:S}const r=o.match(/^(.*?)\s*\((.*?)\)$/);let n="<anonymous>",i=o;r&&(n=r[1].trim()||"<anonymous>",i=r[2].trim()),(n.startsWith("?anon_")||n==="?")&&(n="anonymous"),i=i.replace(/^address at /,"");const s=i.match(/^(.*?):(\d+):(\d+)$/);let a=i,l,d;s&&(a=s[1],l=s[2],d=s[3]);let c=a.replace(/[?&].*$/,"").replace(/[)]+$/,"").replace(/\/\/+$/,"");c=c.replace(/^(?:https?:\/\/[^\/]+\/|file:\/\/\/|webpack:\/\/\/?)/,"");let p=c.split("/").filter(Boolean).pop()||c;p=p.replace(/[?&].*$/,"").replace(/[)]+$/,""),(p.startsWith("&")||p.startsWith("?")||p.startsWith("platform=")||p.includes("platform=")||p.startsWith("dev=")||p.includes("dev="))&&(p="Unknown",c="Unknown");const m=p.match(/\.([a-z0-9]+)$/i),u=m?m[1].toLowerCase():"",g=u==="tsx"||u==="jsx"||u==="ts"||u==="js"?u:"other",h=i==="native"||c==="native",x=c.includes("InternalBytecode")||c.includes("metro-runtime")||c.includes("regenerator-runtime")||n==="tryCallOne"||n==="asyncGeneratorStep"||n==="_next"||n==="next"&&h,y=c.includes("node_modules")||c.includes("react-native/Libraries")||c.includes("react-native-inapp-inspector")&&!c.includes("/example/"),C=!h&&!x&&!y&&(g==="tsx"||g==="jsx"||g==="ts"||g==="js"||!p.includes(".bundle")&&p!=="Unknown"),v=C?"app":y?"dependency":h?"native":"runtime",A=x||h||n==="asyncGeneratorStep"||n==="_next";let f=c;f.includes("/example/")?f=f.substring(f.indexOf("/example/")+9):f.includes("/src/")?f=f.substring(f.indexOf("/src/")+1):f.includes("/node_modules/")&&(f=f.substring(f.indexOf("/node_modules/")+14));const $=l?`${p}:${l}${d?`:${d}`:""}`:p;return{raw:e,functionName:n,fileName:p,fullPath:f,rawFilePath:a,fileExt:g,frameType:v,isUserCode:C,isRuntimeNoise:A,lineNumber:l,columnNumber:d,isOrigin:t,copyableLocation:$}};exports.parseStackLine=parseStackLine;const getCleanCallerDisplay=e=>{if(!e||e==="Unknown"||e.trim()==="")return null;const t=e.trim();if(t.startsWith("&platform")||t.startsWith("?platform")||t.startsWith("&")||t.includes("&platform=")||t.includes("?platform=")){const i=t.match(/^(.*?)\s*[\(@]/);if(i&&i[1]&&!i[1].includes("&")&&!i[1].includes("platform")){const s=i[1].trim();if(s&&s!=="<anonymous>"&&s!=="anonymous"&&!s.startsWith("?anon_"))return{fileName:s,functionName:s,display:s}}return null}const o=(0,exports.parseStackLine)(e,!0);if(!o)return null;if(o.fileName.includes(".bundle")||o.fileName.includes("platform=")||o.fileName.startsWith("&")||o.fileName.startsWith("?")||o.fileName==="index.bundle"||o.fileName==="bundle"||o.fileName==="Unknown")return o.functionName&&o.functionName!=="<anonymous>"&&o.functionName!=="anonymous"&&!o.functionName.startsWith("?")&&!o.functionName.startsWith("_callee")&&!o.functionName.includes("regeneratorRuntime")?{fileName:o.functionName,lineNumber:o.lineNumber,functionName:o.functionName,display:o.functionName}:null;const n=o.lineNumber?`${o.fileName}:${o.lineNumber}`:o.fileName;return{fileName:o.fileName,lineNumber:o.lineNumber,functionName:o.functionName,display:n}};exports.getCleanCallerDisplay=getCleanCallerDisplay;const openInVSCode=(e,t,o)=>{const r=t?Number(t):1,n=o?Number(o):1,i=t?`:${t}`:"",s=o?`:${o}`:"",a=e.replace(/^file:\/\//,"");let l=null;try{const u=react_native_1.NativeModules?.SourceCode?.scriptURL||react_native_1.NativeModules?.PlatformConstants?.serverHost||react_native_1.NativeModules?.DevSettings?.serverHost;if(typeof u=="string"&&u.length>0){const g=u.match(/^(https?:\/\/[^/]+)/);g?l=g[1]:!u.startsWith("http")&&u.includes(":")&&(l=`http://${u}`)}}catch{}Array.from(new Set([...l?[l]:[],"http://localhost:8081","http://127.0.0.1:8081","http://10.0.2.2:8081"])).forEach(u=>{try{fetch(`${u}/open-stack-frame`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:a,lineNumber:r,column:n})}).catch(()=>{})}catch{}});const c=`vscode://file/${a.replace(/^\/+/,"")}${i}${s}`,p=`cursor://file/${a.replace(/^\/+/,"")}${i}${s}`,m=`vscode-insiders://file/${a.replace(/^\/+/,"")}${i}${s}`;react_native_1.Linking.openURL(c).catch(()=>{react_native_1.Linking.openURL(p).catch(()=>{react_native_1.Linking.openURL(m).catch(()=>{(0,exports.copyToClipboard)(`${a}${i}${s}`,"Location")})})})};exports.openInVSCode=openInVSCode,exports.ANALYTICS_EVENT_PALETTE=[AppColors_1.AppColors.googleBlue,AppColors_1.AppColors.googleGreen,AppColors_1.AppColors.googlePurple,AppColors_1.AppColors.googleTeal,AppColors_1.AppColors.googleRed,AppColors_1.AppColors.googleOrange,AppColors_1.AppColors.blue700,AppColors_1.AppColors.materialGreen];const getEventColor=e=>{const t=typeof e=="string"?e:String(e||"");let o=0;for(let r=0;r<t.length;r++)o=o*31+t.charCodeAt(r)|0;return exports.ANALYTICS_EVENT_PALETTE[Math.abs(o)%exports.ANALYTICS_EVENT_PALETTE.length]};exports.getEventColor=getEventColor;var gaAnalyticsRegistry_1=require("./gaAnalyticsRegistry");Object.defineProperty(exports,"getEventCategory",{enumerable:!0,get:function(){return gaAnalyticsRegistry_1.getEventCategory}}),Object.defineProperty(exports,"registerGAPlugin",{enumerable:!0,get:function(){return gaAnalyticsRegistry_1.registerGAPlugin}});const getCategoryColors=e=>{switch(e){case"page_view":case"Page View":return{bg:AppColors_1.AppColors.blueBg,border:AppColors_1.AppColors.blueBorder,text:AppColors_1.AppColors.blue800};case"ecommerce":case"Ecommerce":return{bg:AppColors_1.AppColors.greenBg,border:AppColors_1.AppColors.greenBorder,text:AppColors_1.AppColors.materialGreen};case"system":case"System":return{bg:AppColors_1.AppColors.greyBg,border:AppColors_1.AppColors.greyBorder,text:AppColors_1.AppColors.grey600};default:return{bg:AppColors_1.AppColors.purpleBg,border:AppColors_1.AppColors.purpleBorder,text:AppColors_1.AppColors.purpleText}}};exports.getCategoryColors=getCategoryColors;const getRuntimeDiagnostics=()=>{const e=typeof global.HermesInternal<"u",t=typeof global._v8runtime<"u",o=e?"hermes":t?"v8":"jsc",n=typeof global.nativeFabricUIManager<"u"||!!global.__turboModuleProxy?"fabric":"paper";let i=32.4,s=64;try{const a=global.HermesInternal?.getInstrumentedStats?.();a?.js_heap_size?(i=Number((a.js_heap_size/(1024*1024)).toFixed(1)),s=Number(((a.js_allocated_bytes||a.js_heap_size*1.6)/(1024*1024)).toFixed(1))):global.performance?.memory?.usedJSHeapSize&&(i=Number((global.performance.memory.usedJSHeapSize/(1024*1024)).toFixed(1)),s=Number((global.performance.memory.totalJSHeapSize/(1024*1024)).toFixed(1)))}catch{}return{engineType:o,archType:n,usedHeapMb:i,totalAllocMb:s}};exports.getRuntimeDiagnostics=getRuntimeDiagnostics;
8
+ ...`,hasMore:!0}:{text:r,hasMore:!1}}catch{return{text:String(e),hasMore:!1}}};exports.getJsonPreviewText=getJsonPreviewText;const parseStackLine=(e,t=!1)=>{let r=e.trim().replace(/^at /,"");if(r.includes("@")){const N=r.indexOf("@"),b=r.substring(0,N).trim(),S=r.substring(N+1).trim();r=b?`${b} (${S})`:S}const o=r.match(/^(.*?)\s*\((.*?)\)$/);let n="<anonymous>",s=r;o&&(n=o[1].trim()||"<anonymous>",s=o[2].trim()),(n.startsWith("?anon_")||n==="?")&&(n="anonymous"),s=s.replace(/^address at /,"");const i=s.match(/^(.*?):(\d+):(\d+)$/);let a=s,p,u;i&&(a=i[1],p=i[2],u=i[3]);let c=a.replace(/[?&].*$/,"").replace(/[)]+$/,"").replace(/\/\/+$/,"");c=c.replace(/^(?:https?:\/\/[^\/]+\/|file:\/\/\/|webpack:\/\/\/?)/,"");let l=c.split("/").filter(Boolean).pop()||c;l=l.replace(/[?&].*$/,"").replace(/[)]+$/,""),(l.startsWith("&")||l.startsWith("?")||l.startsWith("platform=")||l.includes("platform=")||l.startsWith("dev=")||l.includes("dev="))&&(l="Unknown",c="Unknown");const g=l.match(/\.([a-z0-9]+)$/i),d=g?g[1].toLowerCase():"",m=d==="tsx"||d==="jsx"||d==="ts"||d==="js"?d:"other",h=s==="native"||c==="native",x=c.includes("InternalBytecode")||c.includes("metro-runtime")||c.includes("regenerator-runtime")||n==="tryCallOne"||n==="asyncGeneratorStep"||n==="_next"||n==="next"&&h,y=c.includes("node_modules")||c.includes("react-native/Libraries")||c.includes("react-native-inapp-inspector")&&!c.includes("/example/"),C=!h&&!x&&!y&&(m==="tsx"||m==="jsx"||m==="ts"||m==="js"||!l.includes(".bundle")&&l!=="Unknown"),v=C?"app":y?"dependency":h?"native":"runtime",A=x||h||n==="asyncGeneratorStep"||n==="_next";let f=c;f.includes("/example/")?f=f.substring(f.indexOf("/example/")+9):f.includes("/src/")?f=f.substring(f.indexOf("/src/")+1):f.includes("/node_modules/")&&(f=f.substring(f.indexOf("/node_modules/")+14));const $=p?`${l}:${p}${u?`:${u}`:""}`:l;return{raw:e,functionName:n,fileName:l,fullPath:f,rawFilePath:a,fileExt:m,frameType:v,isUserCode:C,isRuntimeNoise:A,lineNumber:p,columnNumber:u,isOrigin:t,copyableLocation:$}};exports.parseStackLine=parseStackLine;const getCleanCallerDisplay=e=>{if(!e||e==="Unknown"||e.trim()==="")return null;const t=e.trim();if(t.startsWith("&platform")||t.startsWith("?platform")||t.startsWith("&")||t.includes("&platform=")||t.includes("?platform=")){const s=t.match(/^(.*?)\s*[\(@]/);if(s&&s[1]&&!s[1].includes("&")&&!s[1].includes("platform")){const i=s[1].trim();if(i&&i!=="<anonymous>"&&i!=="anonymous"&&!i.startsWith("?anon_"))return{fileName:i,functionName:i,display:i}}return null}const r=(0,exports.parseStackLine)(e,!0);if(!r)return null;if(r.fileName.includes(".bundle")||r.fileName.includes("platform=")||r.fileName.startsWith("&")||r.fileName.startsWith("?")||r.fileName==="index.bundle"||r.fileName==="bundle"||r.fileName==="Unknown")return r.functionName&&r.functionName!=="<anonymous>"&&r.functionName!=="anonymous"&&!r.functionName.startsWith("?")&&!r.functionName.startsWith("_callee")&&!r.functionName.includes("regeneratorRuntime")?{fileName:r.functionName,lineNumber:r.lineNumber,functionName:r.functionName,display:r.functionName}:null;const n=r.lineNumber?`${r.fileName}:${r.lineNumber}`:r.fileName;return{fileName:r.fileName,lineNumber:r.lineNumber,functionName:r.functionName,display:n}};exports.getCleanCallerDisplay=getCleanCallerDisplay;const openInVSCode=(e,t,r)=>{const o=t?Number(t):1,n=r?Number(r):1,s=t?`:${t}`:"",i=r?`:${r}`:"",a=e.replace(/^file:\/\//,"");let p=null;try{const d=react_native_1.NativeModules?.SourceCode?.scriptURL||react_native_1.NativeModules?.PlatformConstants?.serverHost||react_native_1.NativeModules?.DevSettings?.serverHost;if(typeof d=="string"&&d.length>0){const m=d.match(/^(https?:\/\/[^/]+)/);m?p=m[1]:!d.startsWith("http")&&d.includes(":")&&(p=`http://${d}`)}}catch{}Array.from(new Set([...p?[p]:[],"http://localhost:8081","http://127.0.0.1:8081","http://10.0.2.2:8081"])).forEach(d=>{try{fetch(`${d}/open-stack-frame`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:a,lineNumber:o,column:n})}).catch(()=>{})}catch{}});const c=`vscode://file/${a.replace(/^\/+/,"")}${s}${i}`,l=`cursor://file/${a.replace(/^\/+/,"")}${s}${i}`,g=`vscode-insiders://file/${a.replace(/^\/+/,"")}${s}${i}`;react_native_1.Linking.openURL(c).catch(()=>{react_native_1.Linking.openURL(l).catch(()=>{react_native_1.Linking.openURL(g).catch(()=>{(0,exports.copyToClipboard)(`${a}${s}${i}`,"Location")})})})};exports.openInVSCode=openInVSCode,exports.ANALYTICS_EVENT_PALETTE=[AppColors_1.AppColors.googleBlue,AppColors_1.AppColors.googleGreen,AppColors_1.AppColors.googlePurple,AppColors_1.AppColors.googleTeal,AppColors_1.AppColors.googleRed,AppColors_1.AppColors.googleOrange,AppColors_1.AppColors.blue700,AppColors_1.AppColors.materialGreen];const getEventColor=e=>{const t=typeof e=="string"?e:String(e||"");let r=0;for(let o=0;o<t.length;o++)r=r*31+t.charCodeAt(o)|0;return exports.ANALYTICS_EVENT_PALETTE[Math.abs(r)%exports.ANALYTICS_EVENT_PALETTE.length]};exports.getEventColor=getEventColor;var gaAnalyticsRegistry_1=require("./gaAnalyticsRegistry");Object.defineProperty(exports,"getEventCategory",{enumerable:!0,get:function(){return gaAnalyticsRegistry_1.getEventCategory}}),Object.defineProperty(exports,"registerGAPlugin",{enumerable:!0,get:function(){return gaAnalyticsRegistry_1.registerGAPlugin}});const getCategoryColors=e=>{switch(e){case"page_view":case"Page View":return{bg:AppColors_1.AppColors.blueBg,border:AppColors_1.AppColors.blueBorder,text:AppColors_1.AppColors.blue800};case"ecommerce":case"Ecommerce":return{bg:AppColors_1.AppColors.greenBg,border:AppColors_1.AppColors.greenBorder,text:AppColors_1.AppColors.materialGreen};case"system":case"System":return{bg:AppColors_1.AppColors.greyBg,border:AppColors_1.AppColors.greyBorder,text:AppColors_1.AppColors.grey600};default:return{bg:AppColors_1.AppColors.purpleBg,border:AppColors_1.AppColors.purpleBorder,text:AppColors_1.AppColors.purpleText}}};exports.getCategoryColors=getCategoryColors;const getRuntimeDiagnostics=()=>{const e=typeof global.HermesInternal<"u",t=typeof global._v8runtime<"u",r=e?"hermes":t?"v8":"jsc",n=typeof global.nativeFabricUIManager<"u"||!!global.__turboModuleProxy?"fabric":"paper";let s=32.4,i=64;try{const a=global.HermesInternal?.getInstrumentedStats?.();a?.js_heap_size?(s=Number((a.js_heap_size/(1024*1024)).toFixed(1)),i=Number(((a.js_allocated_bytes||a.js_heap_size*1.6)/(1024*1024)).toFixed(1))):global.performance?.memory?.usedJSHeapSize&&(s=Number((global.performance.memory.usedJSHeapSize/(1024*1024)).toFixed(1)),i=Number((global.performance.memory.totalJSHeapSize/(1024*1024)).toFixed(1)))}catch{}return{engineType:r,archType:n,usedHeapMb:s,totalAllocMb:i}};exports.getRuntimeDiagnostics=getRuntimeDiagnostics;const isUrlHidden=(e,t)=>{if(!e||!t||t.length===0)return!1;const r=e.trim();if(!r)return!1;const o=r.toLowerCase();for(let n=0;n<t.length;n++){const s=t[n]?.trim();if(!s)continue;const i=s.toLowerCase();if(o.includes(i))return!0;const a=i.replace(/^https?:\/\//,""),p=o.replace(/^https?:\/\//,"");if(a&&p.includes(a))return!0;if(s.includes("*"))try{const u=s.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");if(new RegExp(u,"i").test(r))return!0}catch{}try{if(new RegExp(s,"i").test(r))return!0}catch{}}return!1};exports.isUrlHidden=isUrlHidden;