react-native-inapp-inspector 2.4.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/README.ar.md +163 -0
  2. package/README.de.md +163 -0
  3. package/README.es.md +164 -0
  4. package/README.fr.md +163 -0
  5. package/README.hi.md +163 -0
  6. package/README.ja.md +180 -0
  7. package/README.ko.md +163 -0
  8. package/README.md +340 -243
  9. package/README.pt-BR.md +163 -0
  10. package/README.ru.md +163 -0
  11. package/README.zh-CN.md +387 -0
  12. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +605 -23
  13. package/assets/banner_dark.svg +186 -0
  14. package/assets/banner_light.svg +186 -0
  15. package/assets/icon_circle.svg +148 -0
  16. package/assets/icon_square.svg +369 -0
  17. package/assets/inapp_inspector_icon.gif +0 -0
  18. package/assets/inapp_inspector_icon_original.gif +0 -0
  19. package/assets/social_preview.png +0 -0
  20. package/assets/walkthrough.gif +0 -0
  21. package/dist/commonjs/capture.d.ts +2 -0
  22. package/dist/commonjs/capture.js +1 -1
  23. package/dist/commonjs/components/AnalyticsDetail.js +23 -23
  24. package/dist/commonjs/components/AnalyticsEventCard.js +1 -1
  25. package/dist/commonjs/components/AnalyticsGraph.js +44 -44
  26. package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
  27. package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
  28. package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
  29. package/dist/commonjs/components/AppHeaderLogo.js +5 -3
  30. package/dist/commonjs/components/BrandCircleIcon.js +28 -28
  31. package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
  32. package/dist/commonjs/components/BrandSquareIcon.js +139 -0
  33. package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
  34. package/dist/commonjs/components/ConsoleLogCard.js +23 -39
  35. package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
  36. package/dist/commonjs/components/Inspector/AnalyticsTab.js +6 -6
  37. package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
  38. package/dist/commonjs/components/Inspector/ConfirmationModal.js +30 -0
  39. package/dist/commonjs/components/Inspector/ConsoleTab.js +12 -12
  40. package/dist/commonjs/components/Inspector/CrashTab.js +44 -9
  41. package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
  42. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +1 -1
  43. package/dist/commonjs/components/Inspector/FabLauncher.js +30 -33
  44. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
  45. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  46. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +54 -0
  47. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  48. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +234 -0
  49. package/dist/commonjs/components/Inspector/InspectorHeader.js +137 -127
  50. package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  51. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +172 -0
  52. package/dist/commonjs/components/Inspector/MainScreen.js +55 -35
  53. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +40 -35
  54. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +36 -0
  55. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +341 -135
  56. package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
  57. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
  58. package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
  59. package/dist/commonjs/components/Inspector/PushCard.js +5 -4
  60. package/dist/commonjs/components/Inspector/PushDetail.js +41 -32
  61. package/dist/commonjs/components/Inspector/PushTab.js +12 -12
  62. package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
  63. package/dist/commonjs/components/Inspector/ReduxTab.js +10 -8
  64. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  65. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  66. package/dist/commonjs/components/Inspector/SettingsPanel.js +287 -139
  67. package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
  68. package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
  69. package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
  70. package/dist/commonjs/components/Inspector/SocketDetail.js +327 -0
  71. package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
  72. package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
  73. package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
  74. package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
  75. package/dist/commonjs/components/Inspector/StorageTab.js +39 -37
  76. package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
  77. package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
  78. package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
  79. package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
  80. package/dist/commonjs/components/Inspector/TabBar.js +24 -23
  81. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
  82. package/dist/commonjs/components/JsonViewer.js +50 -48
  83. package/dist/commonjs/components/LogCard.d.ts +3 -2
  84. package/dist/commonjs/components/LogCard.js +27 -25
  85. package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
  86. package/dist/commonjs/components/ModuleErrorBoundary.js +5 -5
  87. package/dist/commonjs/components/NetworkIcons.d.ts +42 -0
  88. package/dist/commonjs/components/NetworkIcons.js +139 -6
  89. package/dist/commonjs/components/SegmentedTabs.js +1 -1
  90. package/dist/commonjs/constants/version.d.ts +1 -1
  91. package/dist/commonjs/constants/version.js +1 -1
  92. package/dist/commonjs/crash.d.ts +1 -1
  93. package/dist/commonjs/crash.js +1 -1
  94. package/dist/commonjs/customHooks/crashHandler.d.ts +2 -1
  95. package/dist/commonjs/customHooks/crashHandler.js +7 -7
  96. package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
  97. package/dist/commonjs/customHooks/socketLogger.js +2 -0
  98. package/dist/commonjs/editor.d.ts +13 -0
  99. package/dist/commonjs/editor.js +1 -0
  100. package/dist/commonjs/helpers/index.d.ts +1 -0
  101. package/dist/commonjs/helpers/index.js +3 -3
  102. package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
  103. package/dist/commonjs/helpers/memoryManager.js +1 -1
  104. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
  105. package/dist/commonjs/helpers/searchQueryParser.js +5 -1
  106. package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
  107. package/dist/commonjs/helpers/settingsStore.js +1 -1
  108. package/dist/commonjs/helpers/shareFormatter.d.ts +3 -1
  109. package/dist/commonjs/helpers/shareFormatter.js +8 -7
  110. package/dist/commonjs/helpers/telemetry.js +1 -1
  111. package/dist/commonjs/i18n/index.d.ts +99 -1
  112. package/dist/commonjs/i18n/index.js +1 -1
  113. package/dist/commonjs/i18n/locales/ar.json +1 -1
  114. package/dist/commonjs/i18n/locales/bn.json +1 -0
  115. package/dist/commonjs/i18n/locales/de.json +1 -1
  116. package/dist/commonjs/i18n/locales/en.json +1 -1
  117. package/dist/commonjs/i18n/locales/es.json +1 -1
  118. package/dist/commonjs/i18n/locales/fr.json +1 -1
  119. package/dist/commonjs/i18n/locales/gu.json +1 -0
  120. package/dist/commonjs/i18n/locales/hi.json +1 -1
  121. package/dist/commonjs/i18n/locales/id.json +1 -0
  122. package/dist/commonjs/i18n/locales/it.json +1 -0
  123. package/dist/commonjs/i18n/locales/ja.json +1 -1
  124. package/dist/commonjs/i18n/locales/kn.json +1 -0
  125. package/dist/commonjs/i18n/locales/ko.json +1 -1
  126. package/dist/commonjs/i18n/locales/ml.json +1 -0
  127. package/dist/commonjs/i18n/locales/mr.json +1 -0
  128. package/dist/commonjs/i18n/locales/nl.json +1 -0
  129. package/dist/commonjs/i18n/locales/pa.json +1 -0
  130. package/dist/commonjs/i18n/locales/pl.json +1 -0
  131. package/dist/commonjs/i18n/locales/pt.json +1 -1
  132. package/dist/commonjs/i18n/locales/ru.json +1 -1
  133. package/dist/commonjs/i18n/locales/ta.json +1 -0
  134. package/dist/commonjs/i18n/locales/te.json +1 -0
  135. package/dist/commonjs/i18n/locales/tr.json +1 -0
  136. package/dist/commonjs/i18n/locales/vi.json +1 -0
  137. package/dist/commonjs/i18n/locales/zh.json +1 -1
  138. package/dist/commonjs/index.d.ts +16 -13
  139. package/dist/commonjs/index.js +5 -4
  140. package/dist/commonjs/native/NativeInspector.d.ts +4 -0
  141. package/dist/commonjs/native/NativeInspector.js +1 -1
  142. package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
  143. package/dist/commonjs/socket.d.ts +4 -0
  144. package/dist/commonjs/socket.js +1 -0
  145. package/dist/commonjs/styles/AppColors.d.ts +42 -2
  146. package/dist/commonjs/styles/AppColors.js +1 -1
  147. package/dist/commonjs/styles/common.js +1 -1
  148. package/dist/commonjs/styles/index.d.ts +30 -0
  149. package/dist/commonjs/styles/index.js +1 -1
  150. package/dist/commonjs/types/editor.d.ts +96 -0
  151. package/dist/commonjs/types/editor.js +1 -0
  152. package/dist/commonjs/types/enums.d.ts +40 -0
  153. package/dist/commonjs/types/enums.js +1 -1
  154. package/dist/commonjs/types/interfaces.d.ts +143 -1
  155. package/dist/esm/capture.d.ts +2 -0
  156. package/dist/esm/capture.js +1 -1
  157. package/dist/esm/components/AnalyticsDetail.js +31 -31
  158. package/dist/esm/components/AnalyticsEventCard.js +1 -1
  159. package/dist/esm/components/AnalyticsGraph.js +74 -74
  160. package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
  161. package/dist/esm/components/AnimatedBrandOwl.js +175 -0
  162. package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
  163. package/dist/esm/components/AppHeaderLogo.js +7 -5
  164. package/dist/esm/components/BrandCircleIcon.js +70 -70
  165. package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
  166. package/dist/esm/components/BrandSquareIcon.js +139 -0
  167. package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
  168. package/dist/esm/components/ConsoleLogCard.js +61 -77
  169. package/dist/esm/components/Inspector/AboutModal.js +85 -95
  170. package/dist/esm/components/Inspector/AnalyticsTab.js +24 -24
  171. package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
  172. package/dist/esm/components/Inspector/ConfirmationModal.js +30 -0
  173. package/dist/esm/components/Inspector/ConsoleTab.js +48 -48
  174. package/dist/esm/components/Inspector/CrashTab.js +203 -168
  175. package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
  176. package/dist/esm/components/Inspector/DeviceInfoTab.js +75 -75
  177. package/dist/esm/components/Inspector/FabLauncher.js +57 -60
  178. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
  179. package/dist/esm/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  180. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +54 -0
  181. package/dist/esm/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  182. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +234 -0
  183. package/dist/esm/components/Inspector/InspectorHeader.js +162 -152
  184. package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  185. package/dist/esm/components/Inspector/LanguageSelectorModal.js +172 -0
  186. package/dist/esm/components/Inspector/MainScreen.js +130 -110
  187. package/dist/esm/components/Inspector/MediaGalleryTab.js +83 -78
  188. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +36 -0
  189. package/dist/esm/components/Inspector/MediaPreviewModal.js +345 -139
  190. package/dist/esm/components/Inspector/NetworkTab.js +130 -130
  191. package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
  192. package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
  193. package/dist/esm/components/Inspector/PushCard.js +23 -22
  194. package/dist/esm/components/Inspector/PushDetail.js +45 -36
  195. package/dist/esm/components/Inspector/PushTab.js +23 -23
  196. package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
  197. package/dist/esm/components/Inspector/ReduxTab.js +20 -18
  198. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  199. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  200. package/dist/esm/components/Inspector/SettingsPanel.js +526 -378
  201. package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
  202. package/dist/esm/components/Inspector/SocketCard.js +116 -0
  203. package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
  204. package/dist/esm/components/Inspector/SocketDetail.js +327 -0
  205. package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
  206. package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
  207. package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
  208. package/dist/esm/components/Inspector/SocketTab.js +112 -0
  209. package/dist/esm/components/Inspector/StorageTab.js +139 -137
  210. package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
  211. package/dist/esm/components/Inspector/SupportModal.js +125 -0
  212. package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
  213. package/dist/esm/components/Inspector/SupportPage.js +227 -0
  214. package/dist/esm/components/Inspector/TabBar.js +36 -35
  215. package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
  216. package/dist/esm/components/JsonViewer.js +66 -64
  217. package/dist/esm/components/LogCard.d.ts +3 -2
  218. package/dist/esm/components/LogCard.js +57 -55
  219. package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
  220. package/dist/esm/components/ModuleErrorBoundary.js +23 -23
  221. package/dist/esm/components/NetworkIcons.d.ts +42 -0
  222. package/dist/esm/components/NetworkIcons.js +139 -6
  223. package/dist/esm/components/SegmentedTabs.js +7 -7
  224. package/dist/esm/constants/version.d.ts +1 -1
  225. package/dist/esm/constants/version.js +1 -1
  226. package/dist/esm/crash.d.ts +1 -1
  227. package/dist/esm/crash.js +1 -1
  228. package/dist/esm/customHooks/crashHandler.d.ts +2 -1
  229. package/dist/esm/customHooks/crashHandler.js +7 -7
  230. package/dist/esm/customHooks/socketLogger.d.ts +26 -0
  231. package/dist/esm/customHooks/socketLogger.js +2 -0
  232. package/dist/esm/editor.d.ts +13 -0
  233. package/dist/esm/editor.js +1 -0
  234. package/dist/esm/helpers/index.d.ts +1 -0
  235. package/dist/esm/helpers/index.js +4 -4
  236. package/dist/esm/helpers/memoryManager.d.ts +1 -0
  237. package/dist/esm/helpers/memoryManager.js +1 -1
  238. package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
  239. package/dist/esm/helpers/searchQueryParser.js +5 -1
  240. package/dist/esm/helpers/settingsStore.d.ts +1 -0
  241. package/dist/esm/helpers/settingsStore.js +1 -1
  242. package/dist/esm/helpers/shareFormatter.d.ts +3 -1
  243. package/dist/esm/helpers/shareFormatter.js +8 -7
  244. package/dist/esm/helpers/telemetry.js +1 -1
  245. package/dist/esm/i18n/index.d.ts +99 -1
  246. package/dist/esm/i18n/index.js +1 -1
  247. package/dist/esm/i18n/locales/ar.json +1 -1
  248. package/dist/esm/i18n/locales/bn.json +1 -0
  249. package/dist/esm/i18n/locales/de.json +1 -1
  250. package/dist/esm/i18n/locales/en.json +1 -1
  251. package/dist/esm/i18n/locales/es.json +1 -1
  252. package/dist/esm/i18n/locales/fr.json +1 -1
  253. package/dist/esm/i18n/locales/gu.json +1 -0
  254. package/dist/esm/i18n/locales/hi.json +1 -1
  255. package/dist/esm/i18n/locales/id.json +1 -0
  256. package/dist/esm/i18n/locales/it.json +1 -0
  257. package/dist/esm/i18n/locales/ja.json +1 -1
  258. package/dist/esm/i18n/locales/kn.json +1 -0
  259. package/dist/esm/i18n/locales/ko.json +1 -1
  260. package/dist/esm/i18n/locales/ml.json +1 -0
  261. package/dist/esm/i18n/locales/mr.json +1 -0
  262. package/dist/esm/i18n/locales/nl.json +1 -0
  263. package/dist/esm/i18n/locales/pa.json +1 -0
  264. package/dist/esm/i18n/locales/pl.json +1 -0
  265. package/dist/esm/i18n/locales/pt.json +1 -1
  266. package/dist/esm/i18n/locales/ru.json +1 -1
  267. package/dist/esm/i18n/locales/ta.json +1 -0
  268. package/dist/esm/i18n/locales/te.json +1 -0
  269. package/dist/esm/i18n/locales/tr.json +1 -0
  270. package/dist/esm/i18n/locales/vi.json +1 -0
  271. package/dist/esm/i18n/locales/zh.json +1 -1
  272. package/dist/esm/index.d.ts +16 -13
  273. package/dist/esm/index.js +8 -7
  274. package/dist/esm/native/NativeInspector.d.ts +4 -0
  275. package/dist/esm/native/NativeInspector.js +1 -1
  276. package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
  277. package/dist/esm/socket.d.ts +4 -0
  278. package/dist/esm/socket.js +1 -0
  279. package/dist/esm/styles/AppColors.d.ts +42 -2
  280. package/dist/esm/styles/AppColors.js +1 -1
  281. package/dist/esm/styles/common.js +1 -1
  282. package/dist/esm/styles/index.d.ts +30 -0
  283. package/dist/esm/styles/index.js +1 -1
  284. package/dist/esm/types/editor.d.ts +96 -0
  285. package/dist/esm/types/editor.js +1 -0
  286. package/dist/esm/types/enums.d.ts +40 -0
  287. package/dist/esm/types/enums.js +1 -1
  288. package/dist/esm/types/interfaces.d.ts +143 -1
  289. package/editor.d.ts +1 -0
  290. package/editor.js +1 -0
  291. package/ios/NetworkInspectorModule.mm +531 -12
  292. package/package.json +213 -2
  293. package/react-native-inapp-inspector.podspec +1 -1
  294. package/src/native/NativeInspector.ts +65 -4
  295. package/src/native/NativeNetworkInspector.ts +4 -0
@@ -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.WarningTriangleIcon=exports.InfoCircleIcon=exports.UserIcon=exports.LayersIcon=exports.WipeIcon=exports.FolderIcon=exports.SettingsIcon=exports.EyeIcon=exports.JsIcon=exports.CssIcon=exports.HtmlIcon=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.DiagnosticsIcon=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=void 0,exports.ChevronUpIcon=exports.WrenchIcon=exports.BookOpenIcon=exports.MinimizeWindowIcon=exports.GridIcon=exports.ListIcon=exports.ScreencastIcon=exports.FilmIcon=exports.ImageIcon=exports.PauseIcon=exports.PlayIcon=exports.GifIcon=exports.MicrophoneIcon=exports.VideoCameraIcon=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=void 0,exports.CloudPushIcon=exports.NotificationIcon=exports.BellIcon=exports.HeartFaceIcon=exports.StarFaceIcon=exports.SmileFaceIcon=exports.NeutralFaceIcon=exports.AngryFaceIcon=exports.SparklesIcon=exports.MessageSquareIcon=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.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.GripVerticalIcon=exports.AspectRatioIcon=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=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"/>
@@ -114,7 +114,7 @@
114
114
  <react_native_svg_1.Path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"stroke={e}strokeWidth="2"strokeLinecap="round"/>
115
115
  </react_native_svg_1.default>;exports.SunIcon=SunIcon;const MoonIcon=({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">
116
116
  <react_native_svg_1.Path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"fill={e}stroke={e}strokeWidth="1.5"strokeLinecap="round"strokeLinejoin="round"/>
117
- </react_native_svg_1.default>;exports.MoonIcon=MoonIcon;var BrandCircleIcon_1=require("./BrandCircleIcon");Object.defineProperty(exports,"BrandCircleIcon",{enumerable:!0,get:function(){return BrandCircleIcon_1.BrandCircleIcon}});const HtmlIcon=({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">
117
+ </react_native_svg_1.default>;exports.MoonIcon=MoonIcon;var BrandCircleIcon_1=require("./BrandCircleIcon");Object.defineProperty(exports,"BrandCircleIcon",{enumerable:!0,get:function(){return BrandCircleIcon_1.BrandCircleIcon}});var BrandSquareIcon_1=require("./BrandSquareIcon");Object.defineProperty(exports,"BrandSquareIcon",{enumerable:!0,get:function(){return BrandSquareIcon_1.BrandSquareIcon}});const HtmlIcon=({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">
118
118
  <react_native_svg_1.Path d="M17.5 8.5L21 12l-3.5 3.5M6.5 8.5L3 12l3.5 3.5M14 4.5l-4 15"stroke={e}strokeWidth="2.5"strokeLinecap="round"strokeLinejoin="round"/>
119
119
  </react_native_svg_1.default>;exports.HtmlIcon=HtmlIcon;const CssIcon=({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">
120
120
  <react_native_svg_1.Path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
@@ -260,7 +260,7 @@
260
260
  </react_native_svg_1.default>;exports.ExternalLinkIcon=ExternalLinkIcon;const PackageBoxIcon=({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">
261
261
  <react_native_svg_1.Path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
262
262
  <react_native_svg_1.Path d="M3.27 6.96L12 12.01l8.73-5.05M12 22.08V12"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
263
- </react_native_svg_1.default>;exports.PackageBoxIcon=PackageBoxIcon;const StarIcon=({color:e="#F59E0B",size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill={e}>
263
+ </react_native_svg_1.default>;exports.PackageBoxIcon=PackageBoxIcon;const StarIcon=({color:e=AppColors_1.AppColors.amber500,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill={e}>
264
264
  <react_native_svg_1.Path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"stroke={e}strokeWidth="1.5"strokeLinecap="round"strokeLinejoin="round"/>
265
265
  </react_native_svg_1.default>;exports.StarIcon=StarIcon;const GitHubIcon=({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">
266
266
  <react_native_svg_1.Path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
@@ -336,7 +336,7 @@
336
336
  <react_native_svg_1.Path d="M8 3c-2 1-3 2.5-3 5 0 2-1 3.5-2 4 1 .5 2 2 2 4 0 2.5 1 4 3 5M16 3c2 1 3 2.5 3 5 0 2 1 3.5 2 4-1 .5-2 2-2 4 0 2.5-1 4-3 5"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
337
337
  </react_native_svg_1.default>;exports.RawJsonIcon=RawJsonIcon;const AppFramesIcon=({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">
338
338
  <react_native_svg_1.Path d="M4 6h16M4 10h11M4 14h16M4 18h9"stroke={e}strokeWidth="2"strokeLinecap="round"/>
339
- <react_native_svg_1.Path d="M18 12.5l2 2 3-3.5"stroke="#059669"strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
339
+ <react_native_svg_1.Path d="M18 12.5l2 2 3-3.5"stroke={AppColors_1.AppColors.emerald600}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
340
340
  </react_native_svg_1.default>;exports.AppFramesIcon=AppFramesIcon;const AllFramesIcon=({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">
341
341
  <react_native_svg_1.Path d="M4 4h16M4 8h16M4 12h16M4 16h16M4 20h10"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
342
342
  <react_native_svg_1.Rect x="16"y="16"width="4"height="4"rx="1"fill={e}/>
@@ -441,7 +441,20 @@
441
441
  </react_native_svg_1.default>;exports.LifeBuoyIcon=LifeBuoyIcon;const CameraIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
442
442
  <react_native_svg_1.Path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
443
443
  <react_native_svg_1.Circle cx="12"cy="13"r="4"stroke={e}strokeWidth="2"/>
444
- </react_native_svg_1.default>;exports.CameraIcon=CameraIcon;const VideoCameraIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
444
+ </react_native_svg_1.default>;exports.CameraIcon=CameraIcon;const ScreenshotCaptureIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
445
+ <react_native_svg_1.Path d="M3 7V4a1 1 0 0 1 1-1h3M17 3h3a1 1 0 0 1 1 1v3M21 17v3a1 1 0 0 1-1 1h-3M7 21H4a1 1 0 0 1-1-1v-3"stroke={e}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
446
+ <react_native_svg_1.Circle cx="12"cy="12"r="4.2"stroke={e}strokeWidth="2"/>
447
+ <react_native_svg_1.Circle cx="12"cy="12"r="1.8"fill={e}/>
448
+ </react_native_svg_1.default>;exports.ScreenshotCaptureIcon=ScreenshotCaptureIcon;const CameraLensIcon=({color:e=AppColors_1.AppColors.white,size:t=20})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
449
+ <react_native_svg_1.Circle cx="12"cy="12"r="9"stroke={e}strokeWidth="1.8"/>
450
+ <react_native_svg_1.Circle cx="12"cy="12"r="6"stroke={e}strokeWidth="1.4"strokeDasharray="3 2"/>
451
+ <react_native_svg_1.Circle cx="12"cy="12"r="3"fill={e}/>
452
+ <react_native_svg_1.Path d="M12 3v2M12 19v2M3 12h2M19 12h2"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
453
+ </react_native_svg_1.default>;exports.CameraLensIcon=CameraLensIcon;const ScreenRecordIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
454
+ <react_native_svg_1.Rect x="2"y="4"width="14"height="16"rx="3"stroke={e}strokeWidth="2"/>
455
+ <react_native_svg_1.Path d="M16 10l5-3.5v11L16 14v-4z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
456
+ <react_native_svg_1.Circle cx="9"cy="12"r="2.5"fill={e}/>
457
+ </react_native_svg_1.default>;exports.ScreenRecordIcon=ScreenRecordIcon;const VideoCameraIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
445
458
  <react_native_svg_1.Path d="M23 7l-7 5 7 5V7z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
446
459
  <react_native_svg_1.Rect x="1"y="5"width="15"height="14"rx="2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
447
460
  </react_native_svg_1.default>;exports.VideoCameraIcon=VideoCameraIcon;const MicrophoneIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
@@ -537,4 +550,124 @@
537
550
  </react_native_svg_1.default>;exports.BellIcon=BellIcon,exports.NotificationIcon=exports.BellIcon;const CloudPushIcon=({color:e=AppColors_1.AppColors.brandPurple,size:t=20})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
538
551
  <react_native_svg_1.Path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
539
552
  <react_native_svg_1.Path d="m12 13 3 3m0 0-3 3m3-3H7"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
540
- </react_native_svg_1.default>;exports.CloudPushIcon=CloudPushIcon;
553
+ </react_native_svg_1.default>;exports.CloudPushIcon=CloudPushIcon;const SocketIcon=({color:e=AppColors_1.AppColors.blue600,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
554
+ <react_native_svg_1.Path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
555
+ <react_native_svg_1.Path d="M12 6v6l4 2"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
556
+ <react_native_svg_1.Path d="M4.93 4.93l4.24 4.24m5.66 5.66l4.24 4.24"stroke={e}strokeWidth="1.6"strokeLinecap="round"strokeLinejoin="round"/>
557
+ </react_native_svg_1.default>;exports.SocketIcon=SocketIcon;const WebsocketIcon=({color:e=AppColors_1.AppColors.blue600,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
558
+ <react_native_svg_1.Path d="M7 8h10M17 8l-3-3M17 8l-3 3"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
559
+ <react_native_svg_1.Path d="M17 16H7M7 16l3-3M7 16l3 3"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
560
+ <react_native_svg_1.Circle cx="4"cy="8"r="1.5"fill={e}/>
561
+ <react_native_svg_1.Circle cx="20"cy="16"r="1.5"fill={e}/>
562
+ </react_native_svg_1.default>;exports.WebsocketIcon=WebsocketIcon;const SendFrameIcon=({color:e=AppColors_1.AppColors.blue600,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
563
+ <react_native_svg_1.Path d="m12 19V5m-7 7 7-7 7 7"stroke={e}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
564
+ </react_native_svg_1.default>;exports.SendFrameIcon=SendFrameIcon;const ReceiveFrameIcon=({color:e=AppColors_1.AppColors.emerald600,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
565
+ <react_native_svg_1.Path d="m12 5v14m-7-7 7 7 7-7"stroke={e}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
566
+ </react_native_svg_1.default>;exports.ReceiveFrameIcon=ReceiveFrameIcon;const PingIcon=({color:e=AppColors_1.AppColors.amber600,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
567
+ <react_native_svg_1.Path d="M22 12h-4l-3 9L9 3l-3 9H2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
568
+ </react_native_svg_1.default>;exports.PingIcon=PingIcon;const BroadcastIcon=({color:e=AppColors_1.AppColors.brandPurple,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
569
+ <react_native_svg_1.Path d="M4.93 4.93a10 10 0 0 1 14.14 0M7.76 7.76a6 6 0 0 1 8.48 0"stroke={e}strokeWidth="2"strokeLinecap="round"/>
570
+ <react_native_svg_1.Circle cx="12"cy="12"r="2"fill={e}/>
571
+ </react_native_svg_1.default>;exports.BroadcastIcon=BroadcastIcon;const VolumeIcon=({color:e=AppColors_1.AppColors.violet600,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
572
+ <react_native_svg_1.Path d="M11 5L6 9H2v6h4l5 4V5zM19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.08"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
573
+ </react_native_svg_1.default>;exports.VolumeIcon=VolumeIcon;const BuildingIcon=({color:e=AppColors_1.AppColors.blue600,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
574
+ <react_native_svg_1.Path d="M3 21h18M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16M9 9h1M9 13h1M9 17h1M14 9h1M14 13h1M14 17h1"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
575
+ </react_native_svg_1.default>;exports.BuildingIcon=BuildingIcon;const ArrowUpIcon=({color:e=AppColors_1.AppColors.green600,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
576
+ <react_native_svg_1.Path d="M12 19V5M5 12l7-7 7 7"stroke={e}strokeWidth="2.5"strokeLinecap="round"strokeLinejoin="round"/>
577
+ </react_native_svg_1.default>;exports.ArrowUpIcon=ArrowUpIcon;const ArrowDownIcon=({color:e=AppColors_1.AppColors.blue600,size:t=12})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
578
+ <react_native_svg_1.Path d="M12 5v14M19 12l-7 7-7-7"stroke={e}strokeWidth="2.5"strokeLinecap="round"strokeLinejoin="round"/>
579
+ </react_native_svg_1.default>;exports.ArrowDownIcon=ArrowDownIcon;const SupportIcon=({color:e=AppColors_1.AppColors.white,size:t=14})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
580
+ <react_native_svg_1.Circle cx="12"cy="12"r="9.5"stroke={e}strokeWidth="1.8"/>
581
+ <react_native_svg_1.Circle cx="12"cy="12"r="4"stroke={e}strokeWidth="1.8"/>
582
+ <react_native_svg_1.Line x1="4.93"y1="4.93"x2="9.17"y2="9.17"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
583
+ <react_native_svg_1.Line x1="14.83"y1="9.17"x2="19.07"y2="4.93"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
584
+ <react_native_svg_1.Line x1="14.83"y1="14.83"x2="19.07"y2="19.07"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
585
+ <react_native_svg_1.Line x1="4.93"y1="19.07"x2="9.17"y2="14.83"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
586
+ </react_native_svg_1.default>;exports.SupportIcon=SupportIcon;const HeartIcon=({color:e=AppColors_1.AppColors.red500,size:t=20,fill:o=e})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
587
+ <react_native_svg_1.Path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"fill={o}/>
588
+ </react_native_svg_1.default>;exports.HeartIcon=HeartIcon;const CropIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
589
+ <react_native_svg_1.Path d="M6.13 1L6 16a2 2 0 0 0 2 2h15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
590
+ <react_native_svg_1.Path d="M1 6.13L16 6a2 2 0 0 1 2 2v15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
591
+ </react_native_svg_1.default>;exports.CropIcon=CropIcon;const RotateIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
592
+ <react_native_svg_1.Path d="M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.67"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
593
+ </react_native_svg_1.default>;exports.RotateIcon=RotateIcon;const RedactIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
594
+ <react_native_svg_1.Path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
595
+ <react_native_svg_1.Line x1="1"y1="1"x2="23"y2="23"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
596
+ </react_native_svg_1.default>;exports.RedactIcon=RedactIcon;const AnnotateIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
597
+ <react_native_svg_1.Path d="M12 20h9"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
598
+ <react_native_svg_1.Path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
599
+ </react_native_svg_1.default>;exports.AnnotateIcon=AnnotateIcon;const ScissorsIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
600
+ <react_native_svg_1.Circle cx="6"cy="6"r="3"stroke={e}strokeWidth="2"/>
601
+ <react_native_svg_1.Circle cx="6"cy="18"r="3"stroke={e}strokeWidth="2"/>
602
+ <react_native_svg_1.Line x1="20"y1="4"x2="8.12"y2="15.88"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
603
+ <react_native_svg_1.Line x1="14.47"y1="14.48"x2="20"y2="20"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
604
+ <react_native_svg_1.Line x1="8.12"y1="8.12"x2="12"y2="12"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
605
+ </react_native_svg_1.default>;exports.ScissorsIcon=ScissorsIcon;const VolumeXIcon=({color:e=AppColors_1.AppColors.white,size:t=18})=><react_native_svg_1.default width={t}height={t}viewBox="0 0 24 24"fill="none">
606
+ <react_native_svg_1.Polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
607
+ <react_native_svg_1.Line x1="23"y1="9"x2="17"y2="15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
608
+ <react_native_svg_1.Line x1="17"y1="9"x2="23"y2="15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
609
+ </react_native_svg_1.default>;exports.VolumeXIcon=VolumeXIcon;const MailIcon=({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">
610
+ <react_native_svg_1.Path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
611
+ <react_native_svg_1.Path d="M22 6l-10 7L2 6"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
612
+ </react_native_svg_1.default>;exports.MailIcon=MailIcon;const ActivityIcon=({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">
613
+ <react_native_svg_1.Path d="M22 12h-4l-3 9L9 3l-3 9H2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
614
+ </react_native_svg_1.default>;exports.ActivityIcon=ActivityIcon;const SpeedIcon=({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">
615
+ <react_native_svg_1.Path d="M12 2v4M4.93 4.93l2.83 2.83M2 12h4M4.93 19.07l2.83-2.83M12 22v-4M19.07 19.07l-2.83-2.83M22 12h-4M19.07 4.93l-2.83 2.83"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
616
+ </react_native_svg_1.default>;exports.SpeedIcon=SpeedIcon;const BatteryChargingIcon=({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">
617
+ <react_native_svg_1.Path d="M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2M19 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2M23 13v-2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
618
+ <react_native_svg_1.Path d="M11 6l-4 7h6l-4 7"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
619
+ </react_native_svg_1.default>;exports.BatteryChargingIcon=BatteryChargingIcon;const BatteryFullIcon=({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">
620
+ <react_native_svg_1.Rect x="1"y="6"width="18"height="12"rx="2"stroke={e}strokeWidth="2"/>
621
+ <react_native_svg_1.Line x1="23"y1="13"x2="23"y2="11"stroke={e}strokeWidth="2"strokeLinecap="round"/>
622
+ <react_native_svg_1.Rect x="4"y="9"width="12"height="6"fill={e}rx="1"/>
623
+ </react_native_svg_1.default>;exports.BatteryFullIcon=BatteryFullIcon;const PenIcon=({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">
624
+ <react_native_svg_1.Path d="M12 19l7-7 3 3-7 7-3-3z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
625
+ <react_native_svg_1.Path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
626
+ <react_native_svg_1.Path d="M2 2l7.586 7.586"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
627
+ <react_native_svg_1.Circle cx="11"cy="11"r="2"stroke={e}strokeWidth="2"/>
628
+ </react_native_svg_1.default>;exports.PenIcon=PenIcon;const ShapesIcon=({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">
629
+ <react_native_svg_1.Rect x="3"y="3"width="8"height="8"rx="1.5"stroke={e}strokeWidth="2"/>
630
+ <react_native_svg_1.Circle cx="17.5"cy="17.5"r="4.5"stroke={e}strokeWidth="2"/>
631
+ <react_native_svg_1.Polygon points="18,3 22,11 14,11"stroke={e}strokeWidth="2"strokeLinejoin="round"/>
632
+ </react_native_svg_1.default>;exports.ShapesIcon=ShapesIcon;const RectangleIcon=({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">
633
+ <react_native_svg_1.Rect x="3"y="5"width="18"height="14"rx="2"stroke={e}strokeWidth="2"/>
634
+ </react_native_svg_1.default>;exports.RectangleIcon=RectangleIcon;const CircleIconOutline=({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">
635
+ <react_native_svg_1.Circle cx="12"cy="12"r="9"stroke={e}strokeWidth="2"/>
636
+ </react_native_svg_1.default>;exports.CircleIconOutline=CircleIconOutline;const EllipseIconOutline=({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">
637
+ <react_native_svg_1.Ellipse cx="12"cy="12"rx="10"ry="6"stroke={e}strokeWidth="2"/>
638
+ </react_native_svg_1.default>;exports.EllipseIconOutline=EllipseIconOutline;const TypeIcon=({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">
639
+ <react_native_svg_1.Polyline points="4 7 4 4 20 4 20 7"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
640
+ <react_native_svg_1.Line x1="9"y1="20"x2="15"y2="20"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
641
+ <react_native_svg_1.Line x1="12"y1="4"x2="12"y2="20"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
642
+ </react_native_svg_1.default>;exports.TypeIcon=TypeIcon;const BlurIcon=({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">
643
+ <react_native_svg_1.Circle cx="12"cy="12"r="10"stroke={e}strokeWidth="2"/>
644
+ <react_native_svg_1.Path d="M12 2a10 10 0 0 1 0 20V2z"fill={e}opacity={.4}/>
645
+ <react_native_svg_1.Line x1="12"y1="2"x2="12"y2="22"stroke={e}strokeWidth="2"/>
646
+ </react_native_svg_1.default>;exports.BlurIcon=BlurIcon;const ZoomInIcon=({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">
647
+ <react_native_svg_1.Circle cx="11"cy="11"r="8"stroke={e}strokeWidth="2"/>
648
+ <react_native_svg_1.Line x1="21"y1="21"x2="16.65"y2="16.65"stroke={e}strokeWidth="2"strokeLinecap="round"/>
649
+ <react_native_svg_1.Line x1="11"y1="8"x2="11"y2="14"stroke={e}strokeWidth="2"strokeLinecap="round"/>
650
+ <react_native_svg_1.Line x1="8"y1="11"x2="14"y2="11"stroke={e}strokeWidth="2"strokeLinecap="round"/>
651
+ </react_native_svg_1.default>;exports.ZoomInIcon=ZoomInIcon;const ZoomOutIcon=({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">
652
+ <react_native_svg_1.Circle cx="11"cy="11"r="8"stroke={e}strokeWidth="2"/>
653
+ <react_native_svg_1.Line x1="21"y1="21"x2="16.65"y2="16.65"stroke={e}strokeWidth="2"strokeLinecap="round"/>
654
+ <react_native_svg_1.Line x1="8"y1="11"x2="14"y2="11"stroke={e}strokeWidth="2"strokeLinecap="round"/>
655
+ </react_native_svg_1.default>;exports.ZoomOutIcon=ZoomOutIcon;const UndoIcon=({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">
656
+ <react_native_svg_1.Path d="M3 7v6h6"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
657
+ <react_native_svg_1.Path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
658
+ </react_native_svg_1.default>;exports.UndoIcon=UndoIcon;const ResizeIcon=({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">
659
+ <react_native_svg_1.Polyline points="15 3 21 3 21 9"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
660
+ <react_native_svg_1.Polyline points="9 21 3 21 3 15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
661
+ <react_native_svg_1.Line x1="21"y1="3"x2="14"y2="10"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
662
+ <react_native_svg_1.Line x1="3"y1="21"x2="10"y2="14"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
663
+ </react_native_svg_1.default>;exports.ResizeIcon=ResizeIcon;const AspectRatioIcon=({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">
664
+ <react_native_svg_1.Rect x="2"y="4"width="20"height="16"rx="2"stroke={e}strokeWidth="2"/>
665
+ <react_native_svg_1.Path d="M8 8H5v3M16 16h3v-3"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
666
+ </react_native_svg_1.default>;exports.AspectRatioIcon=AspectRatioIcon;const GripVerticalIcon=({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">
667
+ <react_native_svg_1.Circle cx="9"cy="5"r="1.5"fill={e}/>
668
+ <react_native_svg_1.Circle cx="9"cy="12"r="1.5"fill={e}/>
669
+ <react_native_svg_1.Circle cx="9"cy="19"r="1.5"fill={e}/>
670
+ <react_native_svg_1.Circle cx="15"cy="5"r="1.5"fill={e}/>
671
+ <react_native_svg_1.Circle cx="15"cy="12"r="1.5"fill={e}/>
672
+ <react_native_svg_1.Circle cx="15"cy="19"r="1.5"fill={e}/>
673
+ </react_native_svg_1.default>;exports.GripVerticalIcon=GripVerticalIcon;
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_INNER_TAB_THEMES=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),AppColors_1=require("../styles/AppColors"),AppFonts_1=require("../styles/AppFonts");exports.DEFAULT_INNER_TAB_THEMES={metadata:AppColors_1.AppColors.sky600,headers:AppColors_1.AppColors.teal600,request:AppColors_1.AppColors.amber600,response:AppColors_1.AppColors.brandPurple,req:AppColors_1.AppColors.amber600,res:AppColors_1.AppColors.brandPurple,output:AppColors_1.AppColors.teal600,arguments:AppColors_1.AppColors.amber600,stack:AppColors_1.AppColors.errorColor,caller:AppColors_1.AppColors.sky600,error:AppColors_1.AppColors.errorColor,app:AppColors_1.AppColors.green600,all:AppColors_1.AppColors.brandPurple,live:AppColors_1.AppColors.violet600,timeline:AppColors_1.AppColors.orange600,persisted:AppColors_1.AppColors.teal600,payload:AppColors_1.AppColors.violet600,diff:AppColors_1.AppColors.green600,raw:AppColors_1.AppColors.brandPurple,diagnostics:AppColors_1.AppColors.amber600,breadcrumbs:AppColors_1.AppColors.orange600,overview:AppColors_1.AppColors.sky600,json:AppColors_1.AppColors.brandPurple,tree:AppColors_1.AppColors.violet600,preview:AppColors_1.AppColors.brandPurple,delivery:AppColors_1.AppColors.amber600,domainAttrs:AppColors_1.AppColors.sky600,pretty:AppColors_1.AppColors.violet600,table:AppColors_1.AppColors.teal600,production:AppColors_1.AppColors.brandPurple,files:AppColors_1.AppColors.teal600,packages:AppColors_1.AppColors.orange600,media:AppColors_1.AppColors.pink600,optimizer:AppColors_1.AppColors.violet600,hardware:AppColors_1.AppColors.orange600,network:AppColors_1.AppColors.teal600,display:AppColors_1.AppColors.pink600,runtime:AppColors_1.AppColors.amber600,security:AppColors_1.AppColors.errorColor,fatal:AppColors_1.AppColors.errorColor,promise:AppColors_1.AppColors.orange600,render:AppColors_1.AppColors.pink600,native:AppColors_1.AppColors.cyan600,js:AppColors_1.AppColors.amber600,asyncStorage:AppColors_1.AppColors.brandPurple,mmkv:AppColors_1.AppColors.teal600};const SegmentedTabs=react_1.default.memo(({tabs:r,activeKey:a,onChange:i,style:s,scrollable:p})=>{const t=r.map(o=>{const e=a===o.key,l=o.themeColor||o.color||exports.DEFAULT_INNER_TAB_THEMES[o.key]||AppColors_1.AppColors.brandPurple;return<react_native_1.Pressable key={o.key}onPress={()=>i(o.key)}style={({pressed:n})=>[{flex:p?void 0:1,paddingVertical:7,paddingHorizontal:p?12:6,borderRadius:7,backgroundColor:e?l:"transparent",alignItems:"center",justifyContent:"center",gap:4.5,flexDirection:"row",opacity:n?.8:1},e&&{shadowColor:l,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:3,elevation:2}]}>
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_INNER_TAB_THEMES=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),AppColors_1=require("../styles/AppColors"),AppFonts_1=require("../styles/AppFonts");exports.DEFAULT_INNER_TAB_THEMES={metadata:AppColors_1.AppColors.sky600,headers:AppColors_1.AppColors.teal600,request:AppColors_1.AppColors.amber600,response:AppColors_1.AppColors.brandPurple,req:AppColors_1.AppColors.amber600,res:AppColors_1.AppColors.brandPurple,output:AppColors_1.AppColors.teal600,arguments:AppColors_1.AppColors.amber600,stack:AppColors_1.AppColors.errorColor,caller:AppColors_1.AppColors.sky600,error:AppColors_1.AppColors.errorColor,app:AppColors_1.AppColors.green600,all:AppColors_1.AppColors.brandPurple,live:AppColors_1.AppColors.violet600,timeline:AppColors_1.AppColors.orange600,persisted:AppColors_1.AppColors.teal600,payload:AppColors_1.AppColors.violet600,diff:AppColors_1.AppColors.green600,raw:AppColors_1.AppColors.brandPurple,diagnostics:AppColors_1.AppColors.amber600,breadcrumbs:AppColors_1.AppColors.orange600,overview:AppColors_1.AppColors.sky600,json:AppColors_1.AppColors.brandPurple,tree:AppColors_1.AppColors.violet600,preview:AppColors_1.AppColors.brandPurple,delivery:AppColors_1.AppColors.amber600,domainAttrs:AppColors_1.AppColors.sky600,messages:AppColors_1.AppColors.violet600,params:AppColors_1.AppColors.teal600,code:AppColors_1.AppColors.amber600,pretty:AppColors_1.AppColors.violet600,table:AppColors_1.AppColors.teal600,production:AppColors_1.AppColors.brandPurple,files:AppColors_1.AppColors.teal600,packages:AppColors_1.AppColors.orange600,media:AppColors_1.AppColors.pink600,optimizer:AppColors_1.AppColors.violet600,hardware:AppColors_1.AppColors.orange600,network:AppColors_1.AppColors.teal600,display:AppColors_1.AppColors.pink600,runtime:AppColors_1.AppColors.amber600,security:AppColors_1.AppColors.errorColor,fatal:AppColors_1.AppColors.errorColor,promise:AppColors_1.AppColors.orange600,render:AppColors_1.AppColors.pink600,native:AppColors_1.AppColors.cyan600,js:AppColors_1.AppColors.amber600,asyncStorage:AppColors_1.AppColors.brandPurple,mmkv:AppColors_1.AppColors.teal600};const SegmentedTabs=react_1.default.memo(({tabs:r,activeKey:a,onChange:i,style:s,scrollable:p})=>{const t=r.map(o=>{const e=a===o.key,l=o.themeColor||o.color||exports.DEFAULT_INNER_TAB_THEMES[o.key]||AppColors_1.AppColors.brandPurple;return<react_native_1.Pressable key={o.key}onPress={()=>i(o.key)}style={({pressed:n})=>[{flex:p?void 0:1,paddingVertical:7,paddingHorizontal:p?12:6,borderRadius:7,backgroundColor:e?l:"transparent",alignItems:"center",justifyContent:"center",gap:4.5,flexDirection:"row",opacity:n?.8:1},e&&{shadowColor:l,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:3,elevation:2}]}>
2
2
  {o.icon?typeof o.icon=="function"?o.icon(e,l):o.icon:null}
3
3
  <react_native_1.Text numberOfLines={1}style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText,letterSpacing:.2}}>
4
4
  {o.label}
@@ -1 +1 @@
1
- export declare const LIB_VERSION = "2.4.1";
1
+ export declare const LIB_VERSION = "2.5.0";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=void 0,exports.LIB_VERSION="2.4.1";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LIB_VERSION=void 0,exports.LIB_VERSION="2.5.0";
@@ -1,3 +1,3 @@
1
- export { setupGlobalCrashHandler, subscribeCrashEvents, emitCrashEvent, getCrashRecords, clearCrashRecords, simulateTestCrash, exportCrashReport, parseCrashStackTrace, setMaxCrashLogsLimit, getMaxCrashLogsLimit, pruneCrashRecords, setCrashModuleEnabled, getCrashModuleEnabled, } from './customHooks/crashHandler';
1
+ export { setupGlobalCrashHandler, subscribeCrashEvents, emitCrashEvent, getCrashRecords, clearCrashRecords, simulateTestCrash, exportCrashReport, parseCrashStackTrace, triggerGlobalCrashScreen, setMaxCrashLogsLimit, getMaxCrashLogsLimit, pruneCrashRecords, setCrashModuleEnabled, getCrashModuleEnabled, } from './customHooks/crashHandler';
2
2
  export type { CrashRecord, CrashBreadcrumb, } from './types';
3
3
  export { CrashType, CrashExportFormat, CrashDetailSubTab, CrashFilterType, BreadcrumbType, } from './types';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BreadcrumbType=exports.CrashFilterType=exports.CrashDetailSubTab=exports.CrashExportFormat=exports.CrashType=exports.getCrashModuleEnabled=exports.setCrashModuleEnabled=exports.pruneCrashRecords=exports.getMaxCrashLogsLimit=exports.setMaxCrashLogsLimit=exports.parseCrashStackTrace=exports.exportCrashReport=exports.simulateTestCrash=exports.clearCrashRecords=exports.getCrashRecords=exports.emitCrashEvent=exports.subscribeCrashEvents=exports.setupGlobalCrashHandler=void 0;var crashHandler_1=require("./customHooks/crashHandler");Object.defineProperty(exports,"setupGlobalCrashHandler",{enumerable:!0,get:function(){return crashHandler_1.setupGlobalCrashHandler}}),Object.defineProperty(exports,"subscribeCrashEvents",{enumerable:!0,get:function(){return crashHandler_1.subscribeCrashEvents}}),Object.defineProperty(exports,"emitCrashEvent",{enumerable:!0,get:function(){return crashHandler_1.emitCrashEvent}}),Object.defineProperty(exports,"getCrashRecords",{enumerable:!0,get:function(){return crashHandler_1.getCrashRecords}}),Object.defineProperty(exports,"clearCrashRecords",{enumerable:!0,get:function(){return crashHandler_1.clearCrashRecords}}),Object.defineProperty(exports,"simulateTestCrash",{enumerable:!0,get:function(){return crashHandler_1.simulateTestCrash}}),Object.defineProperty(exports,"exportCrashReport",{enumerable:!0,get:function(){return crashHandler_1.exportCrashReport}}),Object.defineProperty(exports,"parseCrashStackTrace",{enumerable:!0,get:function(){return crashHandler_1.parseCrashStackTrace}}),Object.defineProperty(exports,"setMaxCrashLogsLimit",{enumerable:!0,get:function(){return crashHandler_1.setMaxCrashLogsLimit}}),Object.defineProperty(exports,"getMaxCrashLogsLimit",{enumerable:!0,get:function(){return crashHandler_1.getMaxCrashLogsLimit}}),Object.defineProperty(exports,"pruneCrashRecords",{enumerable:!0,get:function(){return crashHandler_1.pruneCrashRecords}}),Object.defineProperty(exports,"setCrashModuleEnabled",{enumerable:!0,get:function(){return crashHandler_1.setCrashModuleEnabled}}),Object.defineProperty(exports,"getCrashModuleEnabled",{enumerable:!0,get:function(){return crashHandler_1.getCrashModuleEnabled}});var types_1=require("./types");Object.defineProperty(exports,"CrashType",{enumerable:!0,get:function(){return types_1.CrashType}}),Object.defineProperty(exports,"CrashExportFormat",{enumerable:!0,get:function(){return types_1.CrashExportFormat}}),Object.defineProperty(exports,"CrashDetailSubTab",{enumerable:!0,get:function(){return types_1.CrashDetailSubTab}}),Object.defineProperty(exports,"CrashFilterType",{enumerable:!0,get:function(){return types_1.CrashFilterType}}),Object.defineProperty(exports,"BreadcrumbType",{enumerable:!0,get:function(){return types_1.BreadcrumbType}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BreadcrumbType=exports.CrashFilterType=exports.CrashDetailSubTab=exports.CrashExportFormat=exports.CrashType=exports.getCrashModuleEnabled=exports.setCrashModuleEnabled=exports.pruneCrashRecords=exports.getMaxCrashLogsLimit=exports.setMaxCrashLogsLimit=exports.triggerGlobalCrashScreen=exports.parseCrashStackTrace=exports.exportCrashReport=exports.simulateTestCrash=exports.clearCrashRecords=exports.getCrashRecords=exports.emitCrashEvent=exports.subscribeCrashEvents=exports.setupGlobalCrashHandler=void 0;var crashHandler_1=require("./customHooks/crashHandler");Object.defineProperty(exports,"setupGlobalCrashHandler",{enumerable:!0,get:function(){return crashHandler_1.setupGlobalCrashHandler}}),Object.defineProperty(exports,"subscribeCrashEvents",{enumerable:!0,get:function(){return crashHandler_1.subscribeCrashEvents}}),Object.defineProperty(exports,"emitCrashEvent",{enumerable:!0,get:function(){return crashHandler_1.emitCrashEvent}}),Object.defineProperty(exports,"getCrashRecords",{enumerable:!0,get:function(){return crashHandler_1.getCrashRecords}}),Object.defineProperty(exports,"clearCrashRecords",{enumerable:!0,get:function(){return crashHandler_1.clearCrashRecords}}),Object.defineProperty(exports,"simulateTestCrash",{enumerable:!0,get:function(){return crashHandler_1.simulateTestCrash}}),Object.defineProperty(exports,"exportCrashReport",{enumerable:!0,get:function(){return crashHandler_1.exportCrashReport}}),Object.defineProperty(exports,"parseCrashStackTrace",{enumerable:!0,get:function(){return crashHandler_1.parseCrashStackTrace}}),Object.defineProperty(exports,"triggerGlobalCrashScreen",{enumerable:!0,get:function(){return crashHandler_1.triggerGlobalCrashScreen}}),Object.defineProperty(exports,"setMaxCrashLogsLimit",{enumerable:!0,get:function(){return crashHandler_1.setMaxCrashLogsLimit}}),Object.defineProperty(exports,"getMaxCrashLogsLimit",{enumerable:!0,get:function(){return crashHandler_1.getMaxCrashLogsLimit}}),Object.defineProperty(exports,"pruneCrashRecords",{enumerable:!0,get:function(){return crashHandler_1.pruneCrashRecords}}),Object.defineProperty(exports,"setCrashModuleEnabled",{enumerable:!0,get:function(){return crashHandler_1.setCrashModuleEnabled}}),Object.defineProperty(exports,"getCrashModuleEnabled",{enumerable:!0,get:function(){return crashHandler_1.getCrashModuleEnabled}});var types_1=require("./types");Object.defineProperty(exports,"CrashType",{enumerable:!0,get:function(){return types_1.CrashType}}),Object.defineProperty(exports,"CrashExportFormat",{enumerable:!0,get:function(){return types_1.CrashExportFormat}}),Object.defineProperty(exports,"CrashDetailSubTab",{enumerable:!0,get:function(){return types_1.CrashDetailSubTab}}),Object.defineProperty(exports,"CrashFilterType",{enumerable:!0,get:function(){return types_1.CrashFilterType}}),Object.defineProperty(exports,"BreadcrumbType",{enumerable:!0,get:function(){return types_1.BreadcrumbType}});
@@ -35,6 +35,7 @@ export declare const recordCustomCrash: (error: Error | string, options?: {
35
35
  type?: CrashType;
36
36
  componentStack?: string;
37
37
  }) => CrashRecord;
38
- export declare const simulateTestCrash: (type?: CrashType, customMessage?: string, customStack?: string) => CrashRecord;
38
+ export declare const triggerGlobalCrashScreen: (crashRecord: CrashRecord) => void;
39
+ export declare const simulateTestCrash: (type?: CrashType, customMessage?: string, customStack?: string, isFatal?: boolean) => CrashRecord;
39
40
  export declare const exportCrashReport: (crash: CrashRecord, format?: CrashExportFormat) => string;
40
41
  export declare const setupGlobalCrashHandler: () => void;
@@ -1,7 +1,7 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupGlobalCrashHandler=exports.exportCrashReport=exports.simulateTestCrash=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.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");let crashListeners=[],isCrashHandlerInitialized=!1,lastHandledErrorTimestamp=0,crashRecordsStore=[],breadcrumbsStore=[];const MAX_BREADCRUMBS=50;let maxStoredCrashes=100;const appStartTime=Date.now();let isCrashModuleEnabled=!1;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 t=e!==void 0?Math.max(0,e):Math.floor(crashRecordsStore.length/2),o=crashRecordsStore.length-t;return o>0&&(crashRecordsStore=crashRecordsStore.slice(0,t)),breadcrumbsStore.length>20&&(breadcrumbsStore=breadcrumbsStore.slice(0,20)),Math.max(0,o)};exports.pruneCrashRecords=pruneCrashRecords;const addCrashBreadcrumb=(e,t,o)=>{if(isCrashModuleEnabled)try{const s={type:e,message:t,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,t)=>{(0,exports.addCrashBreadcrumb)("navigation",(0,i18n_1.t)("crash.breadcrumbNavigation",{from:e||"/",to:t||"/"}),{from:e,to:t})};exports.recordNavigationBreadcrumb=recordNavigationBreadcrumb;const recordNetworkBreadcrumb=(e,t,o,s)=>{const r=o!=null?` [${o}]`:"",a=s!=null?` (${Math.round(s)}ms)`:"";(0,exports.addCrashBreadcrumb)("network",`${t.toUpperCase()} ${e}${r}${a}`,{url:e,method:t,status:o,duration:s})};exports.recordNetworkBreadcrumb=recordNetworkBreadcrumb;const recordReduxBreadcrumb=(e,t)=>{(0,exports.addCrashBreadcrumb)("redux",(0,i18n_1.t)("crash.breadcrumbAction",{actionType:e}),{type:e,payloadSummary:typeof t=="object"&&t!==null?Object.keys(t):typeof t})};exports.recordReduxBreadcrumb=recordReduxBreadcrumb;const recordUserActionBreadcrumb=(e,t)=>{(0,exports.addCrashBreadcrumb)("user",e,t)};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 t=e.split(`
2
- `),o=[];for(const s of t){const r=s.trim();if(!r||r.includes("crashHandler.ts")||r.includes("handleInterceptedCrash")||r.includes("addLogFromCrash")||r.includes("setupGlobalCrashHandler"))continue;const a=r.match(/^([^@]+)@(.*):(\d+):(\d+)$/);if(a){const[,c,n,p,l]=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:c.trim(),file:m,lineNumber:parseInt(p,10),column:parseInt(l,10),raw:r,isAppCode:f});continue}const d=r.match(/^at\s+(.+)\s+\((.+):(\d+):(\d+)\)$/);if(d){const[,c,n,p,l]=d,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:c.trim(),file:m,lineNumber:parseInt(p,10),column:parseInt(l,10),raw:r,isAppCode:f});continue}const u=r.match(/^at\s+(.+):(\d+):(\d+)$/);if(u){const[,c,n,p]=u,l=c.split("?")[0].split("/").pop()||c,m=!c.includes("node_modules")&&!c.includes("react-native");o.push({method:"<anonymous>",file:l,lineNumber:parseInt(n,10),column:parseInt(p,10),raw:r,isAppCode:m});continue}const h=r.match(/^at\s+([a-zA-Z0-9_$.]+)\(([a-zA-Z0-9_$]+\.java):(\d+)\)$/);if(h){const[,c,n,p]=h,l=!c.startsWith("com.facebook.react")&&!c.startsWith("android.");o.push({method:c,file:n,lineNumber:parseInt(p,10),column:0,raw:r,isAppCode:l});continue}const i=r.match(/^\d+\s+([^\s]+)\s+(0x[0-9a-fA-F]+)\s+(.+)$/);if(i){const[,c,,n]=i,p=!c.startsWith("lib")&&!c.startsWith("Core")&&!c.startsWith("React");o.push({method:n,file:c,lineNumber:0,column:0,raw:r,isAppCode:p});continue}o.push({method:r.startsWith("at ")?r.slice(3):r,file:"runtime",lineNumber:0,column:0,raw:r,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 t=e.type||"js",o=e.name||"Error",s=e.parsedStack&&e.parsedStack.length>0?e.parsedStack[0]:null,r=s?`${s.file}:${s.lineNumber}`:"unknown";return`${t}_${o}_${r}`};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(t=>t!==e)});exports.subscribeCrashEvents=subscribeCrashEvents;const emitCrashEvent=e=>{if(e.message!=="__CLEARED__"){const t=Date.now();if(t-lastHandledErrorTimestamp<250)return;lastHandledErrorTimestamp=t}crashListeners.forEach(t=>{try{t(e)}catch{}})};exports.emitCrashEvent=emitCrashEvent;const handleInterceptedCrash=(e,t,o=!1,s,r)=>{try{const a=e instanceof Error||typeof e=="object"&&e!==null?e:new Error(String(e||(0,i18n_1.t)("crash.runtimeException"))),d=a.message||(typeof e=="string"?e:(0,i18n_1.t)("crash.runtimeException"));let u="";typeof t=="string"?u=t:Array.isArray(t)?u=t.map(g=>`at ${g.methodName||"<anonymous>"} (${g.file||"unknown"}:${g.lineNumber||0}:${g.column||0})`).join(`
3
- `):u=a.stack||new Error().stack||"";let h=s||enums_1.CrashType.Js;const i=d.toLowerCase();s||(i.includes("native")||i.includes("sigsegv")||i.includes("nsrange")||i.includes("nullpointerexception")||i.includes("fatal signal")?h=enums_1.CrashType.Native:i.includes("promise")||i.includes("unhandled rejection")||i.includes("unhandledrejection")?h=enums_1.CrashType.Promise:i.includes("render")||i.includes("errorboundary")||r?h=enums_1.CrashType.Render:h=enums_1.CrashType.Js);const c=new Date,n=c.toLocaleDateString(),p=c.toLocaleTimeString(),l=(0,exports.parseCrashStackTrace)(u),m=(0,consoleLogger_1.addLogFromCrash)(a,`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${d}`,u,o),f=typeof globalThis.HermesInternal<"u",x=typeof globalThis.nativeFabricUIManager<"u",C={id:`crash_${Date.now()}_${Math.random().toString(36).substr(2,6)}`,error:a,isFatal:o,type:h,message:d,name:a.name||(o?(0,i18n_1.t)("crash.errorNameFatal"):(0,i18n_1.t)("crash.errorNameUnhandled")),stack:u,parsedStack:l,componentStack:r||void 0,timestamp:Date.now(),dateStr:n,timeStr:p,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:f,isFabric:x,appState:react_native_1.AppState.currentState||"active"},memoryInfo:getMemoryDiagnostics(),breadcrumbs:[...breadcrumbsStore],logId:m?.id};crashRecordsStore.unshift(C),crashRecordsStore.length>maxStoredCrashes&&(crashRecordsStore=crashRecordsStore.slice(0,maxStoredCrashes)),(0,exports.emitCrashEvent)({error:a,isFatal:o,message:`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${d}`,stack:u,timestamp:Date.now(),logId:m?.id,crashRecord:C});try{(0,NativeInspector_1.showNativeFloatingButton)(),(0,NativeInspector_1.setNativeFloatingButtonBadge)(!0)}catch{}return C}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,t)=>(0,exports.handleInterceptedCrash)(e,typeof e=="object"?e.stack:void 0,t?.isFatal??!1,t?.type||enums_1.CrashType.Custom,t?.componentStack);exports.recordCustomCrash=recordCustomCrash;const simulateTestCrash=(e=enums_1.CrashType.Js,t,o)=>{const s=new Error(t||_defaultSimMessage(e));return(0,exports.handleInterceptedCrash)(e===enums_1.CrashType.Native?s.message:s,o||s.stack,e===enums_1.CrashType.Native,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(`
4
- `).slice(1,6).map(t=>` ${t.trim()}`).join(`
5
- `)}catch{}},exportCrashReport=(e,t="text")=>{if(t==="json")return JSON.stringify(e,null,2);const o=Math.round((e.timestamp-appStartTime)/1e3);if(t==="markdown"){const r=[];return r.push(`## ${(0,i18n_1.t)("crash.mdReportTitle",{name:e.name||"Error"})}`),r.push(`> **${e.message}**`),r.push(""),r.push(`- **${(0,i18n_1.t)("crash.reportType")}** \`${e.type.toUpperCase()}\``),r.push(`- **${(0,i18n_1.t)("crash.reportFatal")}** \`${e.isFatal?(0,i18n_1.t)("crash.mdSeverityFatal"):(0,i18n_1.t)("crash.mdSeverityHandled")}\``),r.push(`- **${(0,i18n_1.t)("crash.reportTimestamp")}** ${e.dateStr} ${e.timeStr}`),r.push(`- **${(0,i18n_1.t)("crash.reportUptime")}** ${o}s`),r.push(`- **${(0,i18n_1.t)("crash.reportPlatform")}** ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),r.push(`- **${(0,i18n_1.t)("crash.reportReactNative")}** v${e.deviceInfo?.rnVersion||"N/A"}`),r.push(`- **${(0,i18n_1.t)("crash.jsEngine")}** ${e.deviceInfo?.isHermes?(0,i18n_1.t)("crash.hermesEngine"):(0,i18n_1.t)("crash.jsc")}`),r.push(`- **${(0,i18n_1.t)("crash.reportArchitecture")}** ${e.deviceInfo?.isFabric?(0,i18n_1.t)("crash.reportFabricNew"):(0,i18n_1.t)("crash.reportPaperLegacy")}`),e.memoryInfo&&r.push(`- **${(0,i18n_1.t)("crash.reportJsMemory")}** ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),r.push(""),r.push(`### ${(0,i18n_1.t)("crash.mdStackTrace")}`),r.push("```"),r.push(e.stack||(0,i18n_1.t)("crash.reportNoStackTrace")),r.push("```"),e.componentStack&&(r.push(""),r.push(`### ${(0,i18n_1.t)("crash.mdComponentHierarchy")}`),r.push("```"),r.push(e.componentStack),r.push("```")),e.breadcrumbs&&e.breadcrumbs.length>0&&(r.push(""),r.push(`### ${(0,i18n_1.t)("crash.mdRecentBreadcrumbs")}`),e.breadcrumbs.forEach(a=>{const d=new Date(a.timestamp).toLocaleTimeString();r.push(`- \`[${d}]\` **[${a.type.toUpperCase()}]** ${a.message}`)})),r.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(r=>{const a=new Date(r.timestamp).toLocaleTimeString();s.push(` [${a}] [${r.type.toUpperCase()}] ${r.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 r=`[${(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)(r,a,!0,"native")}))}catch{}try{const e=react_native_1.TurboModuleRegistry||globalThis.__turboModuleProxy,t=react_native_1.NativeModules?.ExceptionsManager||(e?.get?e.get("ExceptionsManager"):null);if(t){t.reportFatalException=(s,r,a)=>{(0,exports.handleInterceptedCrash)(s,r,!0,"native");try{typeof t.dismissRedbox=="function"&&t.dismissRedbox()}catch{}},t.reportSoftException=(s,r,a)=>{(0,exports.handleInterceptedCrash)(s,r,!1,"js");try{typeof t.dismissRedbox=="function"&&t.dismissRedbox()}catch{}},t.reportException=s=>{const r=s?.message||s?.title||(0,i18n_1.t)("crash.nativeException"),a=s?.stack||s?.rawStack;(0,exports.handleInterceptedCrash)(r,a,s?.isFatal??!0,"js");try{typeof t.dismissRedbox=="function"&&t.dismissRedbox()}catch{}},t.updateExceptionMessage=()=>{};try{typeof t.dismissRedbox=="function"&&t.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 t=globalThis.ErrorUtils;t&&(typeof t.setGlobalHandler=="function"&&t.setGlobalHandler((o,s)=>{(0,exports.handleInterceptedCrash)(o,o?.stack,s??!1,"js")}),typeof t.reportFatalError=="function"&&(t.reportFatalError=o=>{(0,exports.handleInterceptedCrash)(o,o?.stack,!0,"js")}),typeof t.reportError=="function"&&(t.reportError=o=>{(0,exports.handleInterceptedCrash)(o,o?.stack,!1,"js")}))}catch{}try{const e=globalThis,t=o=>{try{const s=o?.reason||o?.detail?.reason||o,r=s?.stack||(o?.stack??new Error().stack);(0,exports.handleInterceptedCrash)(s,r,!1,"promise")}catch{}};typeof e.addEventListener=="function"&&e.addEventListener("unhandledrejection",t),typeof e.onunhandledrejection<"u"&&(e.onunhandledrejection=t)}catch{}}};exports.setupGlobalCrashHandler=setupGlobalCrashHandler;
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.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");let crashListeners=[],isCrashHandlerInitialized=!1,lastHandledErrorTimestamp=0,crashRecordsStore=[],breadcrumbsStore=[];const MAX_BREADCRUMBS=50;let maxStoredCrashes=100;const appStartTime=Date.now();let isCrashModuleEnabled=!1;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[,c,n,p,u]=a,h=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:c.trim(),file:h,lineNumber:parseInt(p,10),column:parseInt(u,10),raw:t,isAppCode:f});continue}const d=t.match(/^at\s+(.+)\s+\((.+):(\d+):(\d+)\)$/);if(d){const[,c,n,p,u]=d,h=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:c.trim(),file:h,lineNumber:parseInt(p,10),column:parseInt(u,10),raw:t,isAppCode:f});continue}const l=t.match(/^at\s+(.+):(\d+):(\d+)$/);if(l){const[,c,n,p]=l,u=c.split("?")[0].split("/").pop()||c,h=!c.includes("node_modules")&&!c.includes("react-native");o.push({method:"<anonymous>",file:u,lineNumber:parseInt(n,10),column:parseInt(p,10),raw:t,isAppCode:h});continue}const m=t.match(/^at\s+([a-zA-Z0-9_$.]+)\(([a-zA-Z0-9_$]+\.java):(\d+)\)$/);if(m){const[,c,n,p]=m,u=!c.startsWith("com.facebook.react")&&!c.startsWith("android.");o.push({method:c,file:n,lineNumber:parseInt(p,10),column:0,raw:t,isAppCode:u});continue}const i=t.match(/^\d+\s+([^\s]+)\s+(0x[0-9a-fA-F]+)\s+(.+)$/);if(i){const[,c,,n]=i,p=!c.startsWith("lib")&&!c.startsWith("Core")&&!c.startsWith("React");o.push({method:n,file:c,lineNumber:0,column:0,raw:t,isAppCode:p});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"))),d=a.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=a.stack||new Error().stack||"";let m=s||enums_1.CrashType.Js;const i=d.toLowerCase();s||(i.includes("native")||i.includes("sigsegv")||i.includes("nsrange")||i.includes("nullpointerexception")||i.includes("fatal signal")?m=enums_1.CrashType.Native:i.includes("promise")||i.includes("unhandled rejection")||i.includes("unhandledrejection")?m=enums_1.CrashType.Promise:i.includes("render")||i.includes("errorboundary")||t?m=enums_1.CrashType.Render:m=enums_1.CrashType.Js);const c=new Date,n=c.toLocaleDateString(),p=c.toLocaleTimeString(),u=(0,exports.parseCrashStackTrace)(l),h=(0,consoleLogger_1.addLogFromCrash)(a,`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${d}`,l,o),f=typeof globalThis.HermesInternal<"u",x=typeof globalThis.nativeFabricUIManager<"u",C={id:`crash_${Date.now()}_${Math.random().toString(36).substr(2,6)}`,error:a,isFatal:o,type:m,message:d,name:a.name||(o?(0,i18n_1.t)("crash.errorNameFatal"):(0,i18n_1.t)("crash.errorNameUnhandled")),stack:l,parsedStack:u,componentStack:t||void 0,timestamp:Date.now(),dateStr:n,timeStr:p,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:f,isFabric:x,appState:react_native_1.AppState.currentState||"active"},memoryInfo:getMemoryDiagnostics(),breadcrumbs:[...breadcrumbsStore],logId:h?.id};crashRecordsStore.unshift(C),crashRecordsStore.length>maxStoredCrashes&&(crashRecordsStore=crashRecordsStore.slice(0,maxStoredCrashes)),(0,exports.emitCrashEvent)({error:a,isFatal:o,message:`[${o?(0,i18n_1.t)("crash.logFatalCrash"):(0,i18n_1.t)("crash.logUnhandledError")}] ${d}`,stack:l,timestamp:Date.now(),logId:h?.id,crashRecord:C});try{(0,NativeInspector_1.showNativeFloatingButton)(),(0,NativeInspector_1.setNativeFloatingButtonBadge)(!0)}catch{}return C}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(`
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 d=new Date(a.timestamp).toLocaleTimeString();t.push(`- \`[${d}]\` **[${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;
@@ -0,0 +1,26 @@
1
+ import type { SocketConnectionRecord, SocketFrame, SocketFrameDirection, SocketFrameType, RouteInfo } from '../types';
2
+ export declare const setSocketRouteInfoProvider: (provider: (() => RouteInfo | null) | null) => void;
3
+ export declare const setSocketModuleEnabled: (enabled: boolean) => void;
4
+ export declare const getSocketModuleEnabled: () => boolean;
5
+ export declare const setMaxSocketRecordsLimit: (limit: number) => void;
6
+ export declare const getMaxSocketRecordsLimit: () => number;
7
+ export declare function getSocketRecords(): SocketConnectionRecord[];
8
+ export declare function clearSocketRecords(): void;
9
+ export declare function deleteSocketRecord(id: string): void;
10
+ export declare function deleteMultipleSocketRecords(ids: string[]): void;
11
+ export declare function subscribeSocketRecords(callback: (records: SocketConnectionRecord[]) => void): () => void;
12
+ export declare function pruneSocketRecords(keepCount?: number): void;
13
+ interface ParsedPayloadInfo {
14
+ data: any;
15
+ type: SocketFrameType;
16
+ eventName?: string;
17
+ size: number;
18
+ }
19
+ export declare function analyzeSocketPayload(raw: any): ParsedPayloadInfo;
20
+ export declare function recordSocketConnection(url: string, options?: Partial<SocketConnectionRecord>): SocketConnectionRecord;
21
+ export declare function recordSocketFrame(socketId: string, rawPayload: any, direction?: SocketFrameDirection, options?: Partial<SocketFrame>): SocketFrame | null;
22
+ export declare function recordSocketClose(socketId: string, closeCode?: number, closeReason?: string): void;
23
+ export declare function recordSocketError(socketId: string, error: any): void;
24
+ export declare function setupSocketLogger(): void;
25
+ export declare function simulateTestSocket(preset?: 'chat' | 'crypto' | 'socketio' | 'echo' | 'custom', customData?: any): SocketConnectionRecord;
26
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMaxSocketRecordsLimit=exports.setMaxSocketRecordsLimit=exports.getSocketModuleEnabled=exports.setSocketModuleEnabled=exports.setSocketRouteInfoProvider=void 0,exports.getSocketRecords=getSocketRecords,exports.clearSocketRecords=clearSocketRecords,exports.deleteSocketRecord=deleteSocketRecord,exports.deleteMultipleSocketRecords=deleteMultipleSocketRecords,exports.subscribeSocketRecords=subscribeSocketRecords,exports.pruneSocketRecords=pruneSocketRecords,exports.analyzeSocketPayload=analyzeSocketPayload,exports.recordSocketConnection=recordSocketConnection,exports.recordSocketFrame=recordSocketFrame,exports.recordSocketClose=recordSocketClose,exports.recordSocketError=recordSocketError,exports.setupSocketLogger=setupSocketLogger,exports.simulateTestSocket=simulateTestSocket;let socketRecords=[],maxSocketRecordsLimit=50,isSocketModuleEnabled=!0,isWebSocketProxied=!1,currentRouteProvider=null;const listeners=new Set,setSocketRouteInfoProvider=e=>{currentRouteProvider=e};exports.setSocketRouteInfoProvider=setSocketRouteInfoProvider;const setSocketModuleEnabled=e=>{isSocketModuleEnabled=e};exports.setSocketModuleEnabled=setSocketModuleEnabled;const getSocketModuleEnabled=()=>isSocketModuleEnabled;exports.getSocketModuleEnabled=getSocketModuleEnabled;const setMaxSocketRecordsLimit=e=>{maxSocketRecordsLimit=Math.max(10,Math.min(500,e)),socketRecords.length>maxSocketRecordsLimit&&(socketRecords=socketRecords.slice(0,maxSocketRecordsLimit),notifyListeners())};exports.setMaxSocketRecordsLimit=setMaxSocketRecordsLimit;const getMaxSocketRecordsLimit=()=>maxSocketRecordsLimit;exports.getMaxSocketRecordsLimit=getMaxSocketRecordsLimit;function getSocketRecords(){return[...socketRecords]}function clearSocketRecords(){socketRecords=[],notifyListeners()}function deleteSocketRecord(e){socketRecords=socketRecords.filter(t=>t.id!==e),notifyListeners()}function deleteMultipleSocketRecords(e){const t=new Set(e);socketRecords=socketRecords.filter(s=>!t.has(s.id)),notifyListeners()}function subscribeSocketRecords(e){return listeners.add(e),e([...socketRecords]),()=>{listeners.delete(e)}}function pruneSocketRecords(e=25){socketRecords.length>e&&(socketRecords=socketRecords.slice(0,e),notifyListeners())}function notifyListeners(){const e=[...socketRecords];listeners.forEach(t=>{try{t(e)}catch{}})}function generateSocketId(){return`ws_${Date.now()}_${Math.random().toString(36).substring(2,8)}`}function generateFrameId(){return`f_${Date.now()}_${Math.random().toString(36).substring(2,7)}`}function extractCallerInfo(){try{const e=new Error().stack;if(!e)return;const t=e.split(`
2
+ `);for(const s of t)if(!s.includes("socketLogger")&&!s.includes("NativeInspector")&&!s.includes("InspectorWebSocket")&&!s.includes("node_modules/react-native")&&!s.includes("node_modules/expo")&&s.includes(".js")||s.includes(".tsx")||s.includes(".ts")){const i=s.match(/(?:at\s+)?(?:(.+?)\s+\()?(.*?):(\d+):(\d+)\)?$/);if(i){const n=i[1]||"anonymous",c=i[2]?.split("/").pop()||i[2],a=i[3];return`${c}:${a} (${n})`}}}catch{}}function parseUrlQuery(e){const t={};try{const s=e.indexOf("?");if(s>=0){const n=e.substring(s+1).split("#")[0].split("&");for(const c of n){const[a,d]=c.split("=");a&&(t[decodeURIComponent(a)]=d?decodeURIComponent(d):"")}}}catch{}return t}function analyzeSocketPayload(e){if(e==null)return{data:null,type:"text",size:0};if(typeof e=="string"){const t=(new Blob,e.length);if(/^\d+/.test(e)){if(e.startsWith("2"))return{data:"ping",type:"ping",size:t};if(e.startsWith("3"))return{data:"pong",type:"pong",size:t};if(e.startsWith("42")||e.startsWith("43"))try{const i=e.substring(2),n=JSON.parse(i);if(Array.isArray(n)&&n.length>0){const c=typeof n[0]=="string"?n[0]:"socket.io",a=n.length>1?n.length===2?n[1]:n.slice(1):null;return{data:a!==null?a:n,type:"socket.io",eventName:c,size:t}}}catch{}if(e.startsWith("0"))try{return{data:JSON.parse(e.substring(1)),type:"socket.io",eventName:"handshake",size:t}}catch{}}const s=e.trim();if(s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]"))try{return{data:JSON.parse(s),type:"json",size:t}}catch{}return{data:e,type:"text",size:t}}return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?{data:`[ArrayBuffer ${e.byteLength} bytes]`,type:"binary",size:e.byteLength}:typeof Uint8Array<"u"&&e instanceof Uint8Array?{data:`[Uint8Array ${e.byteLength} bytes]`,type:"binary",size:e.byteLength}:typeof Blob<"u"&&e instanceof Blob?{data:`[Blob ${e.size} bytes: ${e.type||"binary"}]`,type:"binary",size:e.size}:typeof e=="object"?{data:e,type:"json",size:JSON.stringify(e).length}:{data:String(e),type:"text",size:String(e).length}}function recordSocketConnection(e,t){const s=parseUrlQuery(e),i=e.includes("/socket.io")||t?.client==="socket.io",n={id:t?.id||generateSocketId(),url:e,protocols:t?.protocols,readyState:t?.readyState??1,status:t?.status||"open",startTime:t?.startTime||Date.now(),client:t?.client||(i?"socket.io":"websocket"),frames:t?.frames||[],sentCount:t?.sentCount||0,receivedCount:t?.receivedCount||0,totalBytesSent:t?.totalBytesSent||0,totalBytesReceived:t?.totalBytesReceived||0,caller:t?.caller||extractCallerInfo(),query:s,headers:t?.headers,routeInfo:t?.routeInfo||currentRouteProvider&&currentRouteProvider()||void 0};return socketRecords.unshift(n),socketRecords.length>maxSocketRecordsLimit&&(socketRecords=socketRecords.slice(0,maxSocketRecordsLimit)),notifyListeners(),n}function recordSocketFrame(e,t,s="send",i){const n=socketRecords.find(d=>d.id===e);if(!n)return null;const c=analyzeSocketPayload(t),a={id:i?.id||generateFrameId(),timestamp:i?.timestamp||Date.now(),direction:s,type:i?.type||c.type,data:i?.data!==void 0?i.data:c.data,raw:t,size:i?.size!==void 0?i.size:c.size,eventName:i?.eventName||c.eventName,ackId:i?.ackId};return n.frames.push(a),s==="send"?(n.sentCount+=1,n.totalBytesSent+=a.size||0):(n.receivedCount+=1,n.totalBytesReceived+=a.size||0),notifyListeners(),a}function recordSocketClose(e,t=1e3,s="Normal closure"){const i=socketRecords.find(n=>n.id===e);i&&(i.readyState=3,i.status="closed",i.closeCode=t,i.closeReason=s,i.endTime=Date.now(),i.duration=i.endTime-i.startTime,notifyListeners())}function recordSocketError(e,t){const s=socketRecords.find(i=>i.id===e);s&&(s.status="error",s.error=typeof t=="string"?t:t?.message||"WebSocket error occurred",notifyListeners())}const OriginalWebSocket=typeof global<"u"&&global.WebSocket?global.WebSocket:void 0;function setupSocketLogger(){if(isWebSocketProxied||!OriginalWebSocket)return;class e extends OriginalWebSocket{constructor(s,i){const n=typeof s=="string"?s:s.toString();if(super(s,i),this._inspectorUrl=n,this._inspectorId=generateSocketId(),isSocketModuleEnabled){const c=parseUrlQuery(n),a=n.includes("/socket.io"),d={id:this._inspectorId,url:n,protocols:i,readyState:0,status:"connecting",startTime:Date.now(),client:a?"socket.io":"websocket",frames:[],sentCount:0,receivedCount:0,totalBytesSent:0,totalBytesReceived:0,caller:extractCallerInfo(),query:c,routeInfo:currentRouteProvider&&currentRouteProvider()||void 0};socketRecords.unshift(d),socketRecords.length>maxSocketRecordsLimit&&(socketRecords=socketRecords.slice(0,maxSocketRecordsLimit)),notifyListeners(),this.addEventListener("open",()=>{const o=socketRecords.find(r=>r.id===this._inspectorId);o&&(o.readyState=1,o.status="open",notifyListeners())}),this.addEventListener("message",o=>{if(!isSocketModuleEnabled)return;const r=socketRecords.find(m=>m.id===this._inspectorId);if(!r)return;const u=o?.data,l=analyzeSocketPayload(u),p={id:generateFrameId(),timestamp:Date.now(),direction:"receive",type:l.type,data:l.data,raw:u,size:l.size,eventName:l.eventName};r.frames.push(p),r.receivedCount+=1,r.totalBytesReceived+=p.size||0,notifyListeners()}),this.addEventListener("error",o=>{const r=socketRecords.find(u=>u.id===this._inspectorId);r&&(r.status="error",r.error=o?.message||"WebSocket connection error",notifyListeners())}),this.addEventListener("close",o=>{const r=socketRecords.find(u=>u.id===this._inspectorId);r&&(r.readyState=3,r.status="closed",r.closeCode=o?.code||1e3,r.closeReason=o?.reason||"Closed",r.endTime=Date.now(),r.duration=r.endTime-r.startTime,notifyListeners())})}}send(s){if(isSocketModuleEnabled&&this._inspectorId){const i=socketRecords.find(n=>n.id===this._inspectorId);if(i){const n=analyzeSocketPayload(s),c={id:generateFrameId(),timestamp:Date.now(),direction:"send",type:n.type,data:n.data,raw:s,size:n.size,eventName:n.eventName};i.frames.push(c),i.sentCount+=1,i.totalBytesSent+=c.size||0,notifyListeners()}}super.send(s)}}e.CONNECTING=0,e.OPEN=1,e.CLOSING=2,e.CLOSED=3,global.WebSocket=e,isWebSocketProxied=!0}function simulateTestSocket(e="chat",t){const s=Date.now();if(e==="chat"){const d=generateSocketId(),o=s-18450,r={id:d,url:"wss://chat.example.com/v2/rooms/engineering?user=lead_dev",protocols:"chat.v2",readyState:1,status:"open",startTime:o,client:"websocket",sentCount:3,receivedCount:5,totalBytesSent:412,totalBytesReceived:890,caller:"ChatRoomScreen.tsx:84 (initChatWebSocket)",query:{user:"lead_dev",version:"2.0.4"},frames:[{id:generateFrameId(),timestamp:o+120,direction:"send",type:"json",data:{action:"auth",token:"bearer_token_sec_99182",userId:"usr_81723"},size:78},{id:generateFrameId(),timestamp:o+380,direction:"receive",type:"json",data:{status:"authenticated",room:"engineering",activeUsers:14},size:64},{id:generateFrameId(),timestamp:o+2400,direction:"send",type:"json",data:{action:"send_message",message:"Hello team, the new release build is ready! \u{1F680}"},size:82},{id:generateFrameId(),timestamp:o+3100,direction:"receive",type:"json",data:{user:"Sarah_QA",message:"Awesome! Starting regression tests on iOS 18 now.",timestamp:o+3090},size:114},{id:generateFrameId(),timestamp:o+7500,direction:"receive",type:"json",data:{user:"Alex_Backend",message:"API response times look great on staging cluster.",timestamp:o+7490},size:98},{id:generateFrameId(),timestamp:o+12e3,direction:"send",type:"ping",data:"ping",size:4},{id:generateFrameId(),timestamp:o+12045,direction:"receive",type:"pong",data:"pong",size:4},{id:generateFrameId(),timestamp:o+16200,direction:"receive",type:"json",data:{event:"typing_indicator",user:"David_Design",status:"typing"},size:56}]};return socketRecords.unshift(r),notifyListeners(),r}if(e==="crypto"){const d=generateSocketId(),o=s-45e3,r={id:d,url:"wss://stream.binance.com:9443/ws/btcusdt@ticker/ethusdt@ticker",protocols:void 0,readyState:1,status:"open",startTime:o,client:"websocket",sentCount:1,receivedCount:6,totalBytesSent:86,totalBytesReceived:2140,caller:"CryptoLiveTicker.tsx:42 (connectTickerStream)",query:{symbols:"btcusdt,ethusdt"},frames:[{id:generateFrameId(),timestamp:o+80,direction:"send",type:"json",data:{method:"SUBSCRIBE",params:["btcusdt@ticker","ethusdt@ticker"],id:1},size:86},{id:generateFrameId(),timestamp:o+250,direction:"receive",type:"json",data:{result:null,id:1},size:24},{id:generateFrameId(),timestamp:o+1200,direction:"receive",type:"json",data:{s:"BTCUSDT",c:"92,450.00",h:"93,120.00",l:"90,800.00",v:"18420.45",q:"1702891240.50",P:"+2.45%"},size:142},{id:generateFrameId(),timestamp:o+5400,direction:"receive",type:"json",data:{s:"ETHUSDT",c:"3,420.50",h:"3,480.00",l:"3,360.00",v:"84120.12",q:"287890124.00",P:"+1.82%"},size:138},{id:generateFrameId(),timestamp:o+18e3,direction:"receive",type:"json",data:{s:"BTCUSDT",c:"92,610.00",h:"93,120.00",l:"90,800.00",v:"18650.10",q:"1724120890.00",P:"+2.62%"},size:142}]};return socketRecords.unshift(r),notifyListeners(),r}if(e==="socketio"){const d=generateSocketId(),o=s-32e3,r={id:d,url:"https://api.myapp.io/socket.io/?EIO=4&transport=websocket&sid=U9k1l_892Zq",readyState:1,status:"open",startTime:o,client:"socket.io",sentCount:3,receivedCount:4,totalBytesSent:280,totalBytesReceived:560,caller:"SocketIOClient.ts:62 (io.connect)",query:{EIO:"4",transport:"websocket",sid:"U9k1l_892Zq"},frames:[{id:generateFrameId(),timestamp:o+90,direction:"receive",type:"socket.io",eventName:"handshake",data:{sid:"U9k1l_892Zq",upgrades:[],pingInterval:25e3,pingTimeout:2e4},size:96},{id:generateFrameId(),timestamp:o+210,direction:"send",type:"socket.io",eventName:"connect_namespace",data:{token:"jwt_auth_pass_token_99"},size:54},{id:generateFrameId(),timestamp:o+340,direction:"receive",type:"socket.io",eventName:"connect",data:{status:"ok",sid:"U9k1l_892Zq"},size:42},{id:generateFrameId(),timestamp:o+4200,direction:"send",type:"socket.io",eventName:"subscribe_order_feed",data:{orderId:"ORD_99182",tenantId:"enterprise_gold"},size:72},{id:generateFrameId(),timestamp:o+8900,direction:"receive",type:"socket.io",eventName:"order_status_updated",data:{orderId:"ORD_99182",status:"DISPATCHED",driverName:"Michael Brown",etaMinutes:12,location:{lat:37.7749,lng:-122.4194}},size:168},{id:generateFrameId(),timestamp:o+25e3,direction:"send",type:"ping",data:"ping",size:4},{id:generateFrameId(),timestamp:o+25032,direction:"receive",type:"pong",data:"pong",size:4}]};return socketRecords.unshift(r),notifyListeners(),r}const i=generateSocketId(),n=s-6e4,c=s-2e3,a={id:i,url:"wss://echo.websocket.events",readyState:3,status:"closed",startTime:n,endTime:c,duration:c-n,closeCode:1e3,closeReason:"Normal session closure",client:"websocket",sentCount:2,receivedCount:2,totalBytesSent:110,totalBytesReceived:110,caller:"HomeScreen.tsx:120 (testWebSocketEcho)",frames:[{id:generateFrameId(),timestamp:n+200,direction:"send",type:"text",data:"Echo ping test #1",size:17},{id:generateFrameId(),timestamp:n+380,direction:"receive",type:"text",data:"Echo ping test #1",size:17},{id:generateFrameId(),timestamp:n+15e3,direction:"send",type:"json",data:{type:"diagnostics",timestamp:n+15e3},size:45},{id:generateFrameId(),timestamp:n+15210,direction:"receive",type:"json",data:{type:"diagnostics",timestamp:n+15e3},size:45}]};return t&&Object.assign(a,t),socketRecords.unshift(a),notifyListeners(),a}
@@ -0,0 +1,13 @@
1
+ import type { PhotoEditOptions, PhotoEditResult, VideoTrimOptions, VideoTrimResult, FilmstripOptions, FilmstripResult } from './types/editor';
2
+ export * from './types/editor';
3
+ export declare const MediaEditor: {
4
+ editPhoto: (options: PhotoEditOptions) => Promise<PhotoEditResult | null>;
5
+ trimVideo: (options: VideoTrimOptions) => Promise<VideoTrimResult | null>;
6
+ generateFilmstrip: (options: FilmstripOptions) => Promise<FilmstripResult | null>;
7
+ cropToDefect: (uri: string, crop: import("./types/editor").CropRect, options?: Partial<PhotoEditOptions>) => Promise<PhotoEditResult | null>;
8
+ redactSensitiveData: (uri: string, redactions: import("./types/editor").RedactionBox[], options?: Partial<PhotoEditOptions>) => Promise<PhotoEditResult | null>;
9
+ annotateDefect: (uri: string, annotations: import("./types/editor").AnnotationBox[], options?: Partial<PhotoEditOptions>) => Promise<PhotoEditResult | null>;
10
+ trimReproClip: (uri: string, startTimeMs: number, endTimeMs: number, options?: Partial<VideoTrimOptions>) => Promise<VideoTrimResult | null>;
11
+ muteVideo: (uri: string, options?: Partial<VideoTrimOptions>) => Promise<VideoTrimResult | null>;
12
+ };
13
+ export default MediaEditor;
@@ -0,0 +1 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,a)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaEditor=void 0;const NativeInspector_1=require("./native/NativeInspector");__exportStar(require("./types/editor"),exports),exports.MediaEditor={editPhoto:async t=>{if(!t||typeof t.uri!="string"||!t.uri.trim())return null;const e={...t,uri:t.uri.trim(),quality:typeof t.quality=="number"?Math.max(.01,Math.min(1,t.quality)):.9};return(0,NativeInspector_1.editNativePhoto)(e)},trimVideo:async t=>{if(!t||typeof t.uri!="string"||!t.uri.trim())return null;const e=Math.max(0,Number(t.startTimeMs)||0),r=Number(t.endTimeMs)||0;if(r>0&&r<=e)return null;const i=!!(t.mute||t.muteAudio),a={...t,uri:t.uri.trim(),startTimeMs:e,endTimeMs:r,mute:i,muteAudio:i};return(0,NativeInspector_1.trimNativeVideo)(a)},generateFilmstrip:async t=>{if(!t||typeof t.uri!="string"||!t.uri.trim())return null;const e=Math.max(1,Math.min(50,Math.floor(Number(t.count)||8))),r=t.maxWidth||t.targetWidth,i=t.maxHeight||t.targetHeight,a=r?Math.max(32,Math.min(1920,Math.floor(r))):160,n=i?Math.max(32,Math.min(1080,Math.floor(i))):160,u={...t,uri:t.uri.trim(),count:e,maxWidth:a,targetWidth:a,maxHeight:n,targetHeight:n};return(0,NativeInspector_1.generateNativeFilmstrip)(u)},cropToDefect:async(t,e,r)=>exports.MediaEditor.editPhoto({uri:t,crop:e,...r}),redactSensitiveData:async(t,e,r)=>exports.MediaEditor.editPhoto({uri:t,redactions:e,...r}),annotateDefect:async(t,e,r)=>exports.MediaEditor.editPhoto({uri:t,annotations:e,...r}),trimReproClip:async(t,e,r,i)=>exports.MediaEditor.trimVideo({uri:t,startTimeMs:e,endTimeMs:r,...i}),muteVideo:async(t,e)=>exports.MediaEditor.trimVideo({uri:t,startTimeMs:0,endTimeMs:0,muteAudio:!0,...e})},exports.default=exports.MediaEditor;
@@ -10,6 +10,7 @@ export declare const getStatusColor: (status: number | null) => string;
10
10
  export declare const getDurationColor: (duration: number | null) => string;
11
11
  export declare const getSize: (data: unknown) => string;
12
12
  export declare const formatBytes: (bytes: number) => string;
13
+ export declare const formatByteSize: (bytes: number) => string;
13
14
  export declare const copyToClipboard: (value: unknown, label?: string) => void;
14
15
  export declare const copyImageOrMediaToClipboard: (uri: string, label?: string) => Promise<void>;
15
16
  export declare const getPath: (url: string) => string;