react-native-debug-toolkit 3.3.4 → 3.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 (258) hide show
  1. package/README.md +48 -46
  2. package/README.zh-CN.md +48 -46
  3. package/android/src/main/java/com/reactnativedebugtoolkit/DebugToolkitDevConnectModule.java +0 -187
  4. package/bin/debug-toolkit.js +0 -16
  5. package/ios/DebugToolkitDevConnect.h +0 -12
  6. package/ios/DebugToolkitDevConnect.mm +0 -321
  7. package/lib/commonjs/constants/logLevels.js +19 -0
  8. package/lib/commonjs/constants/logLevels.js.map +1 -0
  9. package/lib/commonjs/core/initialize.js +36 -18
  10. package/lib/commonjs/core/initialize.js.map +1 -1
  11. package/lib/commonjs/features/console/ConsoleLogTab.js +4 -15
  12. package/lib/commonjs/features/console/ConsoleLogTab.js.map +1 -1
  13. package/lib/commonjs/features/console/index.js +15 -8
  14. package/lib/commonjs/features/console/index.js.map +1 -1
  15. package/lib/commonjs/features/devConnect/DevConnectTab.js +18 -470
  16. package/lib/commonjs/features/devConnect/DevConnectTab.js.map +1 -1
  17. package/lib/commonjs/features/devConnect/devConnectPreferences.js +0 -12
  18. package/lib/commonjs/features/devConnect/devConnectPreferences.js.map +1 -1
  19. package/lib/commonjs/features/devConnect/devConnectUtils.js +2 -57
  20. package/lib/commonjs/features/devConnect/devConnectUtils.js.map +1 -1
  21. package/lib/commonjs/features/devConnect/index.js +1 -23
  22. package/lib/commonjs/features/devConnect/index.js.map +1 -1
  23. package/lib/commonjs/features/devConnect/nativeDevConnect.js +1 -103
  24. package/lib/commonjs/features/devConnect/nativeDevConnect.js.map +1 -1
  25. package/lib/commonjs/features/network/NetworkLogTab.js +91 -93
  26. package/lib/commonjs/features/network/NetworkLogTab.js.map +1 -1
  27. package/lib/commonjs/features/network/index.js +7 -4
  28. package/lib/commonjs/features/network/index.js.map +1 -1
  29. package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js +1044 -0
  30. package/lib/commonjs/features/sessionHistory/SessionHistoryTab.js.map +1 -0
  31. package/lib/commonjs/features/sessionHistory/index.js +103 -0
  32. package/lib/commonjs/features/sessionHistory/index.js.map +1 -0
  33. package/lib/commonjs/features/track/index.js +4 -3
  34. package/lib/commonjs/features/track/index.js.map +1 -1
  35. package/lib/commonjs/index.js +27 -0
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/ui/DebugView.js +3 -0
  38. package/lib/commonjs/ui/DebugView.js.map +1 -1
  39. package/lib/commonjs/ui/panel/DebugPanel.js +67 -34
  40. package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
  41. package/lib/commonjs/ui/panel/FeatureIntroCard.js +131 -0
  42. package/lib/commonjs/ui/panel/FeatureIntroCard.js.map +1 -0
  43. package/lib/commonjs/ui/panel/FeatureRail.js +163 -0
  44. package/lib/commonjs/ui/panel/FeatureRail.js.map +1 -0
  45. package/lib/commonjs/ui/panel/FloatPanelView.js +169 -32
  46. package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -1
  47. package/lib/commonjs/ui/panel/buildFeatureSummary.js +207 -0
  48. package/lib/commonjs/ui/panel/buildFeatureSummary.js.map +1 -0
  49. package/lib/commonjs/ui/panel/filterFeatureSnapshot.js +43 -0
  50. package/lib/commonjs/ui/panel/filterFeatureSnapshot.js.map +1 -0
  51. package/lib/commonjs/ui/panel/tabPersistence.js +17 -0
  52. package/lib/commonjs/ui/panel/tabPersistence.js.map +1 -0
  53. package/lib/commonjs/ui/theme/colors.js +6 -0
  54. package/lib/commonjs/ui/theme/colors.js.map +1 -1
  55. package/lib/commonjs/utils/DaemonClient.js +30 -8
  56. package/lib/commonjs/utils/DaemonClient.js.map +1 -1
  57. package/lib/commonjs/utils/SessionManager.js +132 -0
  58. package/lib/commonjs/utils/SessionManager.js.map +1 -0
  59. package/lib/commonjs/utils/StorageAdapter.js +104 -0
  60. package/lib/commonjs/utils/StorageAdapter.js.map +1 -0
  61. package/lib/commonjs/utils/createChannelFeature.js +22 -5
  62. package/lib/commonjs/utils/createChannelFeature.js.map +1 -1
  63. package/lib/commonjs/utils/createDebugTab.js +21 -0
  64. package/lib/commonjs/utils/createDebugTab.js.map +1 -0
  65. package/lib/commonjs/utils/createPersistedObservableStore.js +14 -8
  66. package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -1
  67. package/lib/commonjs/utils/debugPreferences.js +28 -6
  68. package/lib/commonjs/utils/debugPreferences.js.map +1 -1
  69. package/lib/commonjs/utils/deviceReport.js +5 -1
  70. package/lib/commonjs/utils/deviceReport.js.map +1 -1
  71. package/lib/commonjs/utils/logRuntime.js +32 -0
  72. package/lib/commonjs/utils/logRuntime.js.map +1 -0
  73. package/lib/module/constants/logLevels.js +15 -0
  74. package/lib/module/constants/logLevels.js.map +1 -0
  75. package/lib/module/core/initialize.js +36 -18
  76. package/lib/module/core/initialize.js.map +1 -1
  77. package/lib/module/features/console/ConsoleLogTab.js +1 -12
  78. package/lib/module/features/console/ConsoleLogTab.js.map +1 -1
  79. package/lib/module/features/console/index.js +15 -8
  80. package/lib/module/features/console/index.js.map +1 -1
  81. package/lib/module/features/devConnect/DevConnectTab.js +21 -473
  82. package/lib/module/features/devConnect/DevConnectTab.js.map +1 -1
  83. package/lib/module/features/devConnect/devConnectPreferences.js +1 -12
  84. package/lib/module/features/devConnect/devConnectPreferences.js.map +1 -1
  85. package/lib/module/features/devConnect/devConnectUtils.js +1 -53
  86. package/lib/module/features/devConnect/devConnectUtils.js.map +1 -1
  87. package/lib/module/features/devConnect/index.js +5 -9
  88. package/lib/module/features/devConnect/index.js.map +1 -1
  89. package/lib/module/features/devConnect/nativeDevConnect.js +1 -100
  90. package/lib/module/features/devConnect/nativeDevConnect.js.map +1 -1
  91. package/lib/module/features/network/NetworkLogTab.js +91 -93
  92. package/lib/module/features/network/NetworkLogTab.js.map +1 -1
  93. package/lib/module/features/network/index.js +7 -4
  94. package/lib/module/features/network/index.js.map +1 -1
  95. package/lib/module/features/sessionHistory/SessionHistoryTab.js +1039 -0
  96. package/lib/module/features/sessionHistory/SessionHistoryTab.js.map +1 -0
  97. package/lib/module/features/sessionHistory/index.js +99 -0
  98. package/lib/module/features/sessionHistory/index.js.map +1 -0
  99. package/lib/module/features/track/index.js +4 -3
  100. package/lib/module/features/track/index.js.map +1 -1
  101. package/lib/module/index.js +4 -0
  102. package/lib/module/index.js.map +1 -1
  103. package/lib/module/ui/DebugView.js +3 -0
  104. package/lib/module/ui/DebugView.js.map +1 -1
  105. package/lib/module/ui/panel/DebugPanel.js +67 -34
  106. package/lib/module/ui/panel/DebugPanel.js.map +1 -1
  107. package/lib/module/ui/panel/FeatureIntroCard.js +126 -0
  108. package/lib/module/ui/panel/FeatureIntroCard.js.map +1 -0
  109. package/lib/module/ui/panel/FeatureRail.js +158 -0
  110. package/lib/module/ui/panel/FeatureRail.js.map +1 -0
  111. package/lib/module/ui/panel/FloatPanelView.js +170 -33
  112. package/lib/module/ui/panel/FloatPanelView.js.map +1 -1
  113. package/lib/module/ui/panel/buildFeatureSummary.js +203 -0
  114. package/lib/module/ui/panel/buildFeatureSummary.js.map +1 -0
  115. package/lib/module/ui/panel/filterFeatureSnapshot.js +39 -0
  116. package/lib/module/ui/panel/filterFeatureSnapshot.js.map +1 -0
  117. package/lib/module/ui/panel/tabPersistence.js +13 -0
  118. package/lib/module/ui/panel/tabPersistence.js.map +1 -0
  119. package/lib/module/ui/theme/colors.js +6 -0
  120. package/lib/module/ui/theme/colors.js.map +1 -1
  121. package/lib/module/utils/DaemonClient.js +30 -8
  122. package/lib/module/utils/DaemonClient.js.map +1 -1
  123. package/lib/module/utils/SessionManager.js +127 -0
  124. package/lib/module/utils/SessionManager.js.map +1 -0
  125. package/lib/module/utils/StorageAdapter.js +96 -0
  126. package/lib/module/utils/StorageAdapter.js.map +1 -0
  127. package/lib/module/utils/createChannelFeature.js +22 -5
  128. package/lib/module/utils/createChannelFeature.js.map +1 -1
  129. package/lib/module/utils/createDebugTab.js +17 -0
  130. package/lib/module/utils/createDebugTab.js.map +1 -0
  131. package/lib/module/utils/createPersistedObservableStore.js +14 -8
  132. package/lib/module/utils/createPersistedObservableStore.js.map +1 -1
  133. package/lib/module/utils/debugPreferences.js +27 -6
  134. package/lib/module/utils/debugPreferences.js.map +1 -1
  135. package/lib/module/utils/deviceReport.js +4 -1
  136. package/lib/module/utils/deviceReport.js.map +1 -1
  137. package/lib/module/utils/logRuntime.js +26 -0
  138. package/lib/module/utils/logRuntime.js.map +1 -0
  139. package/lib/typescript/src/constants/logLevels.d.ts +3 -0
  140. package/lib/typescript/src/constants/logLevels.d.ts.map +1 -0
  141. package/lib/typescript/src/core/initialize.d.ts +6 -0
  142. package/lib/typescript/src/core/initialize.d.ts.map +1 -1
  143. package/lib/typescript/src/features/console/ConsoleLogTab.d.ts.map +1 -1
  144. package/lib/typescript/src/features/console/index.d.ts +2 -1
  145. package/lib/typescript/src/features/console/index.d.ts.map +1 -1
  146. package/lib/typescript/src/features/devConnect/DevConnectTab.d.ts.map +1 -1
  147. package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts +0 -2
  148. package/lib/typescript/src/features/devConnect/devConnectPreferences.d.ts.map +1 -1
  149. package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts +0 -20
  150. package/lib/typescript/src/features/devConnect/devConnectUtils.d.ts.map +1 -1
  151. package/lib/typescript/src/features/devConnect/index.d.ts +2 -2
  152. package/lib/typescript/src/features/devConnect/index.d.ts.map +1 -1
  153. package/lib/typescript/src/features/devConnect/nativeDevConnect.d.ts +0 -25
  154. package/lib/typescript/src/features/devConnect/nativeDevConnect.d.ts.map +1 -1
  155. package/lib/typescript/src/features/devConnect/types.d.ts +1 -3
  156. package/lib/typescript/src/features/devConnect/types.d.ts.map +1 -1
  157. package/lib/typescript/src/features/network/NetworkLogTab.d.ts.map +1 -1
  158. package/lib/typescript/src/features/network/index.d.ts +2 -1
  159. package/lib/typescript/src/features/network/index.d.ts.map +1 -1
  160. package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts +20 -0
  161. package/lib/typescript/src/features/sessionHistory/SessionHistoryTab.d.ts.map +1 -0
  162. package/lib/typescript/src/features/sessionHistory/index.d.ts +4 -0
  163. package/lib/typescript/src/features/sessionHistory/index.d.ts.map +1 -0
  164. package/lib/typescript/src/features/track/index.d.ts +2 -1
  165. package/lib/typescript/src/features/track/index.d.ts.map +1 -1
  166. package/lib/typescript/src/index.d.ts +6 -0
  167. package/lib/typescript/src/index.d.ts.map +1 -1
  168. package/lib/typescript/src/types/feature.d.ts +1 -1
  169. package/lib/typescript/src/types/feature.d.ts.map +1 -1
  170. package/lib/typescript/src/types/index.d.ts +2 -0
  171. package/lib/typescript/src/types/index.d.ts.map +1 -1
  172. package/lib/typescript/src/ui/DebugView.d.ts +4 -2
  173. package/lib/typescript/src/ui/DebugView.d.ts.map +1 -1
  174. package/lib/typescript/src/ui/panel/DebugPanel.d.ts +3 -1
  175. package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
  176. package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts +11 -0
  177. package/lib/typescript/src/ui/panel/FeatureIntroCard.d.ts.map +1 -0
  178. package/lib/typescript/src/ui/panel/FeatureRail.d.ts +16 -0
  179. package/lib/typescript/src/ui/panel/FeatureRail.d.ts.map +1 -0
  180. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -1
  181. package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts +13 -0
  182. package/lib/typescript/src/ui/panel/buildFeatureSummary.d.ts.map +1 -0
  183. package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts +3 -0
  184. package/lib/typescript/src/ui/panel/filterFeatureSnapshot.d.ts.map +1 -0
  185. package/lib/typescript/src/ui/panel/tabPersistence.d.ts +3 -0
  186. package/lib/typescript/src/ui/panel/tabPersistence.d.ts.map +1 -0
  187. package/lib/typescript/src/ui/theme/colors.d.ts +5 -0
  188. package/lib/typescript/src/ui/theme/colors.d.ts.map +1 -1
  189. package/lib/typescript/src/utils/DaemonClient.d.ts +7 -1
  190. package/lib/typescript/src/utils/DaemonClient.d.ts.map +1 -1
  191. package/lib/typescript/src/utils/SessionManager.d.ts +30 -0
  192. package/lib/typescript/src/utils/SessionManager.d.ts.map +1 -0
  193. package/lib/typescript/src/utils/StorageAdapter.d.ts +38 -0
  194. package/lib/typescript/src/utils/StorageAdapter.d.ts.map +1 -0
  195. package/lib/typescript/src/utils/createChannelFeature.d.ts +2 -0
  196. package/lib/typescript/src/utils/createChannelFeature.d.ts.map +1 -1
  197. package/lib/typescript/src/utils/createDebugTab.d.ts +18 -0
  198. package/lib/typescript/src/utils/createDebugTab.d.ts.map +1 -0
  199. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +4 -1
  200. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -1
  201. package/lib/typescript/src/utils/debugPreferences.d.ts +1 -4
  202. package/lib/typescript/src/utils/debugPreferences.d.ts.map +1 -1
  203. package/lib/typescript/src/utils/deviceReport.d.ts +1 -0
  204. package/lib/typescript/src/utils/deviceReport.d.ts.map +1 -1
  205. package/lib/typescript/src/utils/logRuntime.d.ts +13 -0
  206. package/lib/typescript/src/utils/logRuntime.d.ts.map +1 -0
  207. package/package.json +10 -6
  208. package/src/constants/logLevels.ts +13 -0
  209. package/src/core/initialize.ts +61 -21
  210. package/src/features/console/ConsoleLogTab.tsx +1 -14
  211. package/src/features/console/index.ts +18 -8
  212. package/src/features/devConnect/DevConnectTab.tsx +17 -381
  213. package/src/features/devConnect/devConnectPreferences.ts +0 -15
  214. package/src/features/devConnect/devConnectUtils.ts +1 -81
  215. package/src/features/devConnect/index.ts +2 -9
  216. package/src/features/devConnect/nativeDevConnect.ts +1 -136
  217. package/src/features/devConnect/types.ts +1 -3
  218. package/src/features/network/NetworkLogTab.tsx +61 -71
  219. package/src/features/network/index.ts +12 -3
  220. package/src/features/sessionHistory/SessionHistoryTab.tsx +691 -0
  221. package/src/features/sessionHistory/index.ts +102 -0
  222. package/src/features/track/index.ts +10 -3
  223. package/src/index.ts +13 -0
  224. package/src/types/feature.ts +2 -1
  225. package/src/types/index.ts +10 -0
  226. package/src/ui/DebugView.tsx +6 -1
  227. package/src/ui/panel/DebugPanel.tsx +60 -30
  228. package/src/ui/panel/FeatureIntroCard.tsx +127 -0
  229. package/src/ui/panel/FeatureRail.tsx +165 -0
  230. package/src/ui/panel/FloatPanelView.tsx +176 -25
  231. package/src/ui/panel/buildFeatureSummary.ts +288 -0
  232. package/src/ui/panel/filterFeatureSnapshot.ts +51 -0
  233. package/src/ui/panel/tabPersistence.ts +22 -0
  234. package/src/ui/theme/colors.ts +7 -0
  235. package/src/utils/DaemonClient.ts +33 -5
  236. package/src/utils/SessionManager.ts +174 -0
  237. package/src/utils/StorageAdapter.ts +135 -0
  238. package/src/utils/createChannelFeature.ts +28 -6
  239. package/src/utils/createDebugTab.ts +32 -0
  240. package/src/utils/createPersistedObservableStore.ts +18 -10
  241. package/src/utils/debugPreferences.ts +38 -8
  242. package/src/utils/deviceReport.ts +5 -1
  243. package/src/utils/logRuntime.ts +39 -0
  244. package/app.plugin.js +0 -51
  245. package/dev-client.js +0 -3
  246. package/lib/commonjs/ui/panel/FeatureTabBar.js +0 -182
  247. package/lib/commonjs/ui/panel/FeatureTabBar.js.map +0 -1
  248. package/lib/module/ui/panel/FeatureTabBar.js +0 -177
  249. package/lib/module/ui/panel/FeatureTabBar.js.map +0 -1
  250. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts +0 -13
  251. package/lib/typescript/src/ui/panel/FeatureTabBar.d.ts.map +0 -1
  252. package/scripts/bundle/android.js +0 -101
  253. package/scripts/bundle/cli.js +0 -57
  254. package/scripts/bundle/doctor.js +0 -38
  255. package/scripts/bundle/ios.js +0 -179
  256. package/scripts/bundle/setup.js +0 -39
  257. package/scripts/debug-bundle.gradle +0 -147
  258. package/src/ui/panel/FeatureTabBar.tsx +0 -204
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ export function buildFeatureSummary(feature, snapshot) {
4
+ const name = feature.name;
5
+ if (name === 'network') return buildNetworkSummary(snapshot);
6
+ if (name === 'console') return buildConsoleSummary(snapshot);
7
+ if (name === 'navigation') return buildNavigationSummary(snapshot);
8
+ if (name === 'zustand') return buildZustandSummary(snapshot);
9
+ if (name === 'track') return buildTrackSummary(snapshot);
10
+ if (name === 'clipboard') return buildClipboardSummary(snapshot);
11
+ if (name === 'environment') return buildEnvironmentSummary(snapshot);
12
+ if (name === 'devConnect') return buildDevConnectSummary(snapshot);
13
+ if (name === 'sessionHistory') return buildSessionHistorySummary(snapshot);
14
+ if (name === 'thirdPartyLibs') return buildThirdPartyLibsSummary(snapshot);
15
+ if (name === 'native') return buildNativeSummary(snapshot);
16
+ return buildUnknownSummary(snapshot);
17
+ }
18
+
19
+ // ─── Per-feature builders ──────────────────────────────
20
+
21
+ function buildNetworkSummary(snapshot) {
22
+ const items = asArray(snapshot);
23
+ const count = items.length;
24
+ let badCount = 0;
25
+ let latestLabel;
26
+ if (count > 0) {
27
+ for (const item of items) {
28
+ const n = item;
29
+ if (n.error || (n.response?.status ?? 0) >= 400) badCount++;
30
+ }
31
+ const last = items[items.length - 1];
32
+ const method = last.request?.method?.toUpperCase() ?? '';
33
+ const url = last.request?.url ?? '';
34
+ const status = last.response?.status;
35
+ const path = extractPath(url);
36
+ latestLabel = [method, path, status].filter(Boolean).join(' ');
37
+ }
38
+ return {
39
+ capabilityText: 'HTTP capture, status, duration, request and response body',
40
+ count,
41
+ badCount: badCount > 0 ? badCount : undefined,
42
+ latestLabel,
43
+ supportsBadFilter: count > 0
44
+ };
45
+ }
46
+ function buildConsoleSummary(snapshot) {
47
+ const items = asArray(snapshot);
48
+ const count = items.length;
49
+ let badCount = 0;
50
+ let latestLabel;
51
+ if (count > 0) {
52
+ for (const item of items) {
53
+ const lvl = item.level ?? '';
54
+ if (lvl === 'warn' || lvl === 'error' || lvl === 'fatal') badCount++;
55
+ }
56
+ const last = items[items.length - 1];
57
+ latestLabel = formatConsoleMessage(last.data);
58
+ }
59
+ return {
60
+ capabilityText: 'Console log capture with level filtering',
61
+ count,
62
+ badCount: badCount > 0 ? badCount : undefined,
63
+ latestLabel,
64
+ supportsBadFilter: count > 0
65
+ };
66
+ }
67
+ function buildNavigationSummary(snapshot) {
68
+ const items = asArray(snapshot);
69
+ const count = items.length;
70
+ let latestLabel;
71
+ if (count > 0) {
72
+ const last = items[items.length - 1];
73
+ const from = last.from ?? '?';
74
+ const to = last.to ?? '?';
75
+ latestLabel = `${from} → ${to}`;
76
+ }
77
+ return {
78
+ capabilityText: 'Screen navigation tracking with route history',
79
+ count,
80
+ latestLabel,
81
+ supportsBadFilter: false
82
+ };
83
+ }
84
+ function buildZustandSummary(snapshot) {
85
+ const items = asArray(snapshot);
86
+ const count = items.length;
87
+ let latestLabel;
88
+ if (count > 0) {
89
+ const last = items[items.length - 1];
90
+ const parts = [last.action, last.storeName].filter(Boolean);
91
+ latestLabel = parts.join(' @ ') || undefined;
92
+ }
93
+ return {
94
+ capabilityText: 'State change tracking for Zustand stores',
95
+ count,
96
+ latestLabel,
97
+ supportsBadFilter: false
98
+ };
99
+ }
100
+ function buildTrackSummary(snapshot) {
101
+ const items = asArray(snapshot);
102
+ const count = items.length;
103
+ let latestLabel;
104
+ if (count > 0) {
105
+ const last = items[items.length - 1];
106
+ latestLabel = last.eventName;
107
+ }
108
+ return {
109
+ capabilityText: 'Analytics event tracking and inspection',
110
+ count,
111
+ latestLabel,
112
+ supportsBadFilter: false
113
+ };
114
+ }
115
+ function buildClipboardSummary(_snapshot) {
116
+ return {
117
+ capabilityText: 'Clipboard event monitoring',
118
+ supportsBadFilter: false
119
+ };
120
+ }
121
+ function buildEnvironmentSummary(snapshot) {
122
+ const env = snapshot ?? {};
123
+ const envs = env.environments ?? [];
124
+ const current = envs.find(e => e.id === env.currentEnvironmentId);
125
+ return {
126
+ capabilityText: 'Environment configuration and switching',
127
+ count: envs.length || undefined,
128
+ latestLabel: current?.label,
129
+ statusLabel: current?.label,
130
+ supportsBadFilter: false
131
+ };
132
+ }
133
+ function buildDevConnectSummary(snapshot) {
134
+ const s = snapshot ?? {};
135
+ const host = [s.computerHost, s.daemonPort].filter(Boolean).join(':');
136
+ return {
137
+ capabilityText: 'Desktop sync with daemon connection',
138
+ statusLabel: host ? `${s.streaming ? 'live' : 'offline'} ${host}` : s.streaming ? 'live' : undefined,
139
+ statusColor: s.streaming ? '#34C759' : undefined,
140
+ supportsBadFilter: false
141
+ };
142
+ }
143
+ function buildSessionHistorySummary(snapshot) {
144
+ const s = snapshot ?? {};
145
+ const count = s.sessions?.length;
146
+ return {
147
+ capabilityText: 'Session log recording and replay',
148
+ count: count || undefined,
149
+ latestLabel: s.currentSessionId,
150
+ supportsBadFilter: false
151
+ };
152
+ }
153
+ function buildThirdPartyLibsSummary(snapshot) {
154
+ const items = asArray(snapshot);
155
+ return {
156
+ capabilityText: 'Third-party library inspection and management',
157
+ count: items.length || undefined,
158
+ supportsBadFilter: false
159
+ };
160
+ }
161
+ function buildNativeSummary(snapshot) {
162
+ const items = asArray(snapshot);
163
+ let badCount = 0;
164
+ for (const item of items) {
165
+ const lvl = item.level ?? '';
166
+ if (lvl === 'warn' || lvl === 'error' || lvl === 'fatal') badCount++;
167
+ }
168
+ return {
169
+ capabilityText: 'Native log capture',
170
+ count: items.length || undefined,
171
+ badCount: badCount > 0 ? badCount : undefined,
172
+ supportsBadFilter: items.length > 0
173
+ };
174
+ }
175
+ function buildUnknownSummary(snapshot) {
176
+ const items = asArray(snapshot);
177
+ return {
178
+ capabilityText: `${items.length} item${items.length !== 1 ? 's' : ''} captured`,
179
+ count: items.length || undefined,
180
+ supportsBadFilter: false
181
+ };
182
+ }
183
+
184
+ // ─── Helpers ───────────────────────────────────────────
185
+
186
+ function asArray(snap) {
187
+ if (Array.isArray(snap)) return snap;
188
+ return [];
189
+ }
190
+ function extractPath(url) {
191
+ try {
192
+ const u = new URL(url);
193
+ return u.pathname + u.search;
194
+ } catch {
195
+ return url;
196
+ }
197
+ }
198
+ function formatConsoleMessage(data) {
199
+ if (!data || data.length === 0) return undefined;
200
+ const joined = data.map(d => typeof d === 'string' ? d : JSON.stringify(d)).join(' ').slice(0, 60);
201
+ return joined || undefined;
202
+ }
203
+ //# sourceMappingURL=buildFeatureSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["buildFeatureSummary","feature","snapshot","name","buildNetworkSummary","buildConsoleSummary","buildNavigationSummary","buildZustandSummary","buildTrackSummary","buildClipboardSummary","buildEnvironmentSummary","buildDevConnectSummary","buildSessionHistorySummary","buildThirdPartyLibsSummary","buildNativeSummary","buildUnknownSummary","items","asArray","count","length","badCount","latestLabel","item","n","error","response","status","last","method","request","toUpperCase","url","path","extractPath","filter","Boolean","join","capabilityText","undefined","supportsBadFilter","lvl","level","formatConsoleMessage","data","from","to","parts","action","storeName","eventName","_snapshot","env","envs","environments","current","find","e","id","currentEnvironmentId","label","statusLabel","s","host","computerHost","daemonPort","streaming","statusColor","sessions","currentSessionId","snap","Array","isArray","u","URL","pathname","search","joined","map","d","JSON","stringify","slice"],"sourceRoot":"../../../../src","sources":["ui/panel/buildFeatureSummary.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ export function filterFeatureSnapshot(feature, snapshot, query, filterMode) {
4
+ if (!Array.isArray(snapshot)) return snapshot;
5
+ const name = feature.name;
6
+ const supportsBad = name === 'network' || name === 'console' || name === 'native';
7
+ return snapshot.filter(item => {
8
+ if (filterMode === 'bad' && supportsBad) {
9
+ if (!isBad(name, item)) return false;
10
+ }
11
+ if (query) {
12
+ const hay = extractSearchableText(item).toLowerCase();
13
+ if (!hay.includes(query.toLowerCase())) return false;
14
+ }
15
+ return true;
16
+ });
17
+ }
18
+ function isBad(featureName, item) {
19
+ if (featureName === 'network') {
20
+ const resp = item.response;
21
+ return !!(item.error || (resp?.status ?? 0) >= 400);
22
+ }
23
+ // console, native
24
+ const lvl = item.level ?? '';
25
+ return lvl === 'warn' || lvl === 'error' || lvl === 'fatal';
26
+ }
27
+ function extractSearchableText(item) {
28
+ if (item == null) return '';
29
+ if (typeof item === 'string') return item;
30
+ if (typeof item === 'number' || typeof item === 'boolean') return String(item);
31
+ if (Array.isArray(item)) return item.map(extractSearchableText).join(' ');
32
+ const parts = [];
33
+ for (const val of Object.values(item)) {
34
+ const t = extractSearchableText(val);
35
+ if (t) parts.push(t);
36
+ }
37
+ return parts.join(' ');
38
+ }
39
+ //# sourceMappingURL=filterFeatureSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["filterFeatureSnapshot","feature","snapshot","query","filterMode","Array","isArray","name","supportsBad","filter","item","isBad","hay","extractSearchableText","toLowerCase","includes","featureName","resp","response","error","status","lvl","level","String","map","join","parts","val","Object","values","t","push"],"sourceRoot":"../../../../src","sources":["ui/panel/filterFeatureSnapshot.ts"],"mappings":";;AAEA,OAAO,SAASA,qBAAqBA,CACnCC,OAAwB,EACxBC,QAAiB,EACjBC,KAAa,EACbC,UAAyB,EAChB;EACT,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,QAAQ,CAAC,EAAE,OAAOA,QAAQ;EAE7C,MAAMK,IAAI,GAAGN,OAAO,CAACM,IAAI;EACzB,MAAMC,WAAW,GACfD,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,QAAQ;EAE/D,OAAQL,QAAQ,CAAeO,MAAM,CAAEC,IAAI,IAAK;IAC9C,IAAIN,UAAU,KAAK,KAAK,IAAII,WAAW,EAAE;MACvC,IAAI,CAACG,KAAK,CAACJ,IAAI,EAAEG,IAA+B,CAAC,EAAE,OAAO,KAAK;IACjE;IACA,IAAIP,KAAK,EAAE;MACT,MAAMS,GAAG,GAAGC,qBAAqB,CAACH,IAAI,CAAC,CAACI,WAAW,CAAC,CAAC;MACrD,IAAI,CAACF,GAAG,CAACG,QAAQ,CAACZ,KAAK,CAACW,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;IACtD;IACA,OAAO,IAAI;EACb,CAAC,CAAC;AACJ;AAEA,SAASH,KAAKA,CACZK,WAAmB,EACnBN,IAA6B,EACpB;EACT,IAAIM,WAAW,KAAK,SAAS,EAAE;IAC7B,MAAMC,IAAI,GAAGP,IAAI,CAACQ,QAA+C;IACjE,OAAO,CAAC,EAAER,IAAI,CAACS,KAAK,IAAI,CAAEF,IAAI,EAAEG,MAAM,IAAe,CAAC,KAAK,GAAG,CAAC;EACjE;EACA;EACA,MAAMC,GAAG,GAAIX,IAAI,CAACY,KAAK,IAAe,EAAE;EACxC,OAAOD,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,OAAO;AAC7D;AAEA,SAASR,qBAAqBA,CAACH,IAAa,EAAU;EACpD,IAAIA,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE;EAC3B,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAOA,IAAI;EACzC,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE,OAAOa,MAAM,CAACb,IAAI,CAAC;EAC9E,IAAIL,KAAK,CAACC,OAAO,CAACI,IAAI,CAAC,EAAE,OAAOA,IAAI,CAACc,GAAG,CAACX,qBAAqB,CAAC,CAACY,IAAI,CAAC,GAAG,CAAC;EACzE,MAAMC,KAAe,GAAG,EAAE;EAC1B,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,MAAM,CAACnB,IAA+B,CAAC,EAAE;IAChE,MAAMoB,CAAC,GAAGjB,qBAAqB,CAACc,GAAG,CAAC;IACpC,IAAIG,CAAC,EAAEJ,KAAK,CAACK,IAAI,CAACD,CAAC,CAAC;EACtB;EACA,OAAOJ,KAAK,CAACD,IAAI,CAAC,GAAG,CAAC;AACxB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ export function resolveStoredTabIndex(features, storedTab) {
4
+ if (!storedTab) return 0;
5
+ const nameIndex = features.findIndex(feature => feature.name === storedTab);
6
+ if (nameIndex >= 0) return nameIndex;
7
+ const legacyIndex = Number(storedTab);
8
+ if (Number.isInteger(legacyIndex) && legacyIndex >= 0 && legacyIndex < features.length) {
9
+ return legacyIndex;
10
+ }
11
+ return 0;
12
+ }
13
+ //# sourceMappingURL=tabPersistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveStoredTabIndex","features","storedTab","nameIndex","findIndex","feature","name","legacyIndex","Number","isInteger","length"],"sourceRoot":"../../../../src","sources":["ui/panel/tabPersistence.ts"],"mappings":";;AAEA,OAAO,SAASA,qBAAqBA,CACnCC,QAA2B,EAC3BC,SAAwB,EAChB;EACR,IAAI,CAACA,SAAS,EAAE,OAAO,CAAC;EAExB,MAAMC,SAAS,GAAGF,QAAQ,CAACG,SAAS,CAAEC,OAAO,IAAKA,OAAO,CAACC,IAAI,KAAKJ,SAAS,CAAC;EAC7E,IAAIC,SAAS,IAAI,CAAC,EAAE,OAAOA,SAAS;EAEpC,MAAMI,WAAW,GAAGC,MAAM,CAACN,SAAS,CAAC;EACrC,IACEM,MAAM,CAACC,SAAS,CAACF,WAAW,CAAC,IAC7BA,WAAW,IAAI,CAAC,IAChBA,WAAW,GAAGN,QAAQ,CAACS,MAAM,EAC7B;IACA,OAAOH,WAAW;EACpB;EAEA,OAAO,CAAC;AACV","ignoreList":[]}
@@ -13,6 +13,12 @@ export const Colors = {
13
13
  warning: '#FF9500',
14
14
  info: '#5AC8FA',
15
15
  purple: '#AF52DE',
16
+ // Panel-specific
17
+ railBackground: '#E8EEF6',
18
+ panelDivider: '#CED8E4',
19
+ signalRedBg: '#FFE9E7',
20
+ signalAmberBg: '#FFF1D6',
21
+ signalDefaultBg: '#E7EDF5',
16
22
  get: '#007AFF',
17
23
  post: '#34C759',
18
24
  put: '#FF9500',
@@ -1 +1 @@
1
- {"version":3,"names":["Colors","primary","text","textSecondary","textLight","border","background","surface","success","error","warning","info","purple","get","post","put","delete","patch","getMethodColor","method","toUpperCase"],"sourceRoot":"../../../../src","sources":["ui/theme/colors.ts"],"mappings":";;AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,aAAa,EAAE,SAAS;EACxBC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAElBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EAEfC,MAAM,EAAE,SAAS;EAEjBC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,SAAS;EACdC,MAAM,EAAE,SAAS;EACjBC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,SAASC,cAAcA,CAACC,MAAc,EAAU;EACrD,QAAQA,MAAM,CAACC,WAAW,CAAC,CAAC;IAC1B,KAAK,KAAK;MAAE,OAAOpB,MAAM,CAACa,GAAG;IAC7B,KAAK,MAAM;MAAE,OAAOb,MAAM,CAACc,IAAI;IAC/B,KAAK,KAAK;MAAE,OAAOd,MAAM,CAACe,GAAG;IAC7B,KAAK,QAAQ;MAAE,OAAOf,MAAM,CAACgB,MAAM;IACnC,KAAK,OAAO;MAAE,OAAOhB,MAAM,CAACiB,KAAK;IACjC;MAAS,OAAOjB,MAAM,CAACG,aAAa;EACtC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Colors","primary","text","textSecondary","textLight","border","background","surface","success","error","warning","info","purple","railBackground","panelDivider","signalRedBg","signalAmberBg","signalDefaultBg","get","post","put","delete","patch","getMethodColor","method","toUpperCase"],"sourceRoot":"../../../../src","sources":["ui/theme/colors.ts"],"mappings":";;AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,aAAa,EAAE,SAAS;EACxBC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAElBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EAEfC,MAAM,EAAE,SAAS;EAEjB;EACAC,cAAc,EAAE,SAAS;EACzBC,YAAY,EAAE,SAAS;EACvBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,eAAe,EAAE,SAAS;EAE1BC,GAAG,EAAE,SAAS;EACdC,IAAI,EAAE,SAAS;EACfC,GAAG,EAAE,SAAS;EACdC,MAAM,EAAE,SAAS;EACjBC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,SAASC,cAAcA,CAACC,MAAc,EAAU;EACrD,QAAQA,MAAM,CAACC,WAAW,CAAC,CAAC;IAC1B,KAAK,KAAK;MAAE,OAAOzB,MAAM,CAACkB,GAAG;IAC7B,KAAK,MAAM;MAAE,OAAOlB,MAAM,CAACmB,IAAI;IAC/B,KAAK,KAAK;MAAE,OAAOnB,MAAM,CAACoB,GAAG;IAC7B,KAAK,QAAQ;MAAE,OAAOpB,MAAM,CAACqB,MAAM;IACnC,KAAK,OAAO;MAAE,OAAOrB,MAAM,CAACsB,KAAK;IACjC;MAAS,OAAOtB,MAAM,CAACG,aAAa;EACtC;AACF","ignoreList":[]}
@@ -63,6 +63,7 @@ export class DaemonClient {
63
63
  _stream = null;
64
64
  _restorePromise = null;
65
65
  _sessionId = null;
66
+ _sessionProvider = null;
66
67
  constructor(options) {
67
68
  this._fetch = options.fetch;
68
69
  this._AbortController = options.AbortController;
@@ -152,12 +153,7 @@ export class DaemonClient {
152
153
 
153
154
  connect(options = {}) {
154
155
  if (this._stream) return;
155
- if (!this._sessionId) {
156
- this._sessionId = {
157
- id: generateSessionId(),
158
- startedAt: Date.now()
159
- };
160
- }
156
+ const session = this.resolveSession();
161
157
  const endpoint = options.endpoint || this.resolveEndpoint();
162
158
  const reportUrl = buildDaemonUrl(endpoint, '/report');
163
159
  const ingestUrl = buildDaemonUrl(endpoint, '/ingest');
@@ -172,7 +168,7 @@ export class DaemonClient {
172
168
  debounceMs: options.debounceMs || DEFAULT_DEBOUNCE_MS,
173
169
  timeoutMs: Math.max(0, options.timeoutMs ?? DEFAULT_TIMEOUT_MS),
174
170
  deviceId: null,
175
- session: this._sessionId,
171
+ session,
176
172
  sending: false,
177
173
  debounceTimer: null,
178
174
  retryTimer: null,
@@ -243,6 +239,12 @@ export class DaemonClient {
243
239
  setOnConnectionChange(callback) {
244
240
  this._onConnectionChange = callback;
245
241
  }
242
+ setSessionProvider(provider) {
243
+ this._sessionProvider = provider;
244
+ }
245
+ clearSessionProvider() {
246
+ this._sessionProvider = null;
247
+ }
246
248
 
247
249
  // --- Restore (init-time reconnect) ---
248
250
 
@@ -280,7 +282,10 @@ export class DaemonClient {
280
282
  async reportOnce(options = {}) {
281
283
  const endpoint = options.endpoint ?? this.resolveEndpoint();
282
284
  const reportUrl = buildDaemonUrl(endpoint, '/report');
283
- const report = createDebugDeviceReport(options);
285
+ const report = createDebugDeviceReport({
286
+ ...options,
287
+ session: options.session ?? this.resolveSession()
288
+ });
284
289
  const fetchImpl = this.resolveFetch();
285
290
  this.notifyEndpoint(endpoint);
286
291
  this.notifyEndpoint(reportUrl);
@@ -343,6 +348,7 @@ export class DaemonClient {
343
348
  this._streamingEnabled = null;
344
349
  this._restorePromise = null;
345
350
  this._sessionId = null;
351
+ this._sessionProvider = null;
346
352
  }
347
353
 
348
354
  // ---- Private: Transport ----
@@ -362,6 +368,22 @@ export class DaemonClient {
362
368
  notifyEndpoint(url) {
363
369
  this._onEndpointDetected?.(url);
364
370
  }
371
+ resolveSession() {
372
+ if (this._sessionProvider) {
373
+ try {
374
+ return this._sessionProvider();
375
+ } catch {
376
+ // fall through to internal session
377
+ }
378
+ }
379
+ if (!this._sessionId) {
380
+ this._sessionId = {
381
+ id: generateSessionId(),
382
+ startedAt: Date.now()
383
+ };
384
+ }
385
+ return this._sessionId;
386
+ }
365
387
  emitStatus(status) {
366
388
  try {
367
389
  this._stream?.onStatus?.(status);
@@ -1 +1 @@
1
- {"version":3,"names":["AppState","Platform","debugToolkit","createDebugDeviceReport","safeStringify","DEFAULT_HEALTH_TIMEOUT_MS","DEFAULT_DEBOUNCE_MS","DEFAULT_TIMEOUT_MS","DEFAULT_REPORT_TIMEOUT_MS","RETRY_BASE_MS","MAX_RETRY_DELAY_MS","BACKGROUND_RESYNC_THRESHOLD_MS","getDefaultDaemonEndpoint","OS","buildDeviceDaemonEndpoint","host","trimmed","trim","replace","withProtocol","test","url","URL","port","toString","normalizeDaemonSettings","settings","endpoint","mode","deviceHost","token","undefined","DaemonClient","_settings","_streamingEnabled","_stream","_restorePromise","_sessionId","constructor","options","_fetch","fetch","_AbortController","AbortController","_featureProvider","featureProvider","_onEndpointDetected","onEndpointDetected","getSettings","configure","normalized","checkConnection","healthUrl","buildDaemonUrl","fetchImpl","resolveFetch","ok","reason","error","timeoutMs","Math","max","controller","createAbortController","timedOut","timeout","setTimeout","abort","response","method","headers","signal","body","readHealthBody","status","Error","message","String","clearTimeout","connect","id","generateSessionId","startedAt","Date","now","resolveEndpoint","reportUrl","ingestUrl","notifyEndpoint","state","debounceMs","deviceId","session","sending","debounceTimer","retryTimer","retryAttempt","maxRetryAttempts","floor","dirtyFeatures","Set","lastSentIds","Map","featureUnsubscribes","appStateUnsubscribe","backgroundedAt","onStatus","feature","features","subscribe","unsub","onFeatureChange","name","push","addEventListener","nextState","handleAppStateChange","remove","_onConnectionChange","emitStatus","enqueueSendFullReport","disconnect","forEach","fn","isConnected","getStatus","retryInMs","min","setStreamingEnabled","enabled","setEndpointDetector","callback","setOnConnectionChange","restore","doRestore","finally","canProbe","Boolean","connection","reportOnce","report","Authorization","JSON","stringify","bodyObject","readReportResponseBody","logCount","readLogCount","receivedAt","_resetForTesting","globalThis","Ctor","doPost","emitStreamStatus","resetRetry","failStreaming","scheduleRetry","delay","enqueueSendDelta","scheduleDelta","featureName","add","wasAway","clear","fetchHeaders","result","doSendFullReport","size","isAuthFailure","json","snapshot","getSnapshot","Array","isArray","set","snapshotToIds","retry","delta","nextSentIds","find","f","prevIds","get","newEntries","filter","entry","getEntryId","has","length","Object","keys","n","logs","ids","daemonClient","path","endsWith","map","raw","value","entries","reduce","acc","key","count","_resetDaemonClientForTesting","crypto","randomUUID","fallbackSessionId","c","r","random"],"sourceRoot":"../../../src","sources":["utils/DaemonClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AppState","Platform","debugToolkit","createDebugDeviceReport","safeStringify","DEFAULT_HEALTH_TIMEOUT_MS","DEFAULT_DEBOUNCE_MS","DEFAULT_TIMEOUT_MS","DEFAULT_REPORT_TIMEOUT_MS","RETRY_BASE_MS","MAX_RETRY_DELAY_MS","BACKGROUND_RESYNC_THRESHOLD_MS","getDefaultDaemonEndpoint","OS","buildDeviceDaemonEndpoint","host","trimmed","trim","replace","withProtocol","test","url","URL","port","toString","normalizeDaemonSettings","settings","endpoint","mode","deviceHost","token","undefined","DaemonClient","_settings","_streamingEnabled","_stream","_restorePromise","_sessionId","_sessionProvider","constructor","options","_fetch","fetch","_AbortController","AbortController","_featureProvider","featureProvider","_onEndpointDetected","onEndpointDetected","getSettings","configure","normalized","checkConnection","healthUrl","buildDaemonUrl","fetchImpl","resolveFetch","ok","reason","error","timeoutMs","Math","max","controller","createAbortController","timedOut","timeout","setTimeout","abort","response","method","headers","signal","body","readHealthBody","status","Error","message","String","clearTimeout","connect","session","resolveSession","resolveEndpoint","reportUrl","ingestUrl","notifyEndpoint","state","debounceMs","deviceId","sending","debounceTimer","retryTimer","retryAttempt","maxRetryAttempts","floor","dirtyFeatures","Set","lastSentIds","Map","featureUnsubscribes","appStateUnsubscribe","backgroundedAt","onStatus","feature","features","subscribe","unsub","onFeatureChange","name","push","addEventListener","nextState","handleAppStateChange","remove","_onConnectionChange","emitStatus","enqueueSendFullReport","disconnect","forEach","fn","isConnected","getStatus","retryInMs","min","setStreamingEnabled","enabled","setEndpointDetector","callback","setOnConnectionChange","setSessionProvider","provider","clearSessionProvider","restore","doRestore","finally","canProbe","Boolean","connection","reportOnce","report","Authorization","JSON","stringify","bodyObject","readReportResponseBody","logCount","readLogCount","receivedAt","_resetForTesting","globalThis","Ctor","id","generateSessionId","startedAt","Date","now","doPost","emitStreamStatus","resetRetry","failStreaming","scheduleRetry","delay","enqueueSendDelta","scheduleDelta","featureName","add","wasAway","clear","fetchHeaders","result","doSendFullReport","size","isAuthFailure","json","snapshot","getSnapshot","Array","isArray","set","snapshotToIds","retry","delta","nextSentIds","find","f","prevIds","get","newEntries","filter","entry","getEntryId","has","length","Object","keys","n","logs","ids","daemonClient","path","endsWith","map","raw","value","entries","reduce","acc","key","count","_resetDaemonClientForTesting","crypto","randomUUID","fallbackSessionId","c","r","random"],"sourceRoot":"../../../src","sources":["utils/DaemonClient.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ const SESSION_INDEX_KEY = '@react_native_debug_toolkit/sessions';
4
+ const DEFAULT_MAX_SESSIONS = 5;
5
+ const DEFAULT_FEATURE_KEYS = ['console_logs', 'network_logs', 'track_logs'];
6
+ function randomHex() {
7
+ return Math.floor(Math.random() * 0xffffffff).toString(16).padStart(8, '0');
8
+ }
9
+ function createSession() {
10
+ const startedAt = Date.now();
11
+ return {
12
+ id: `${startedAt}-${randomHex()}`,
13
+ startedAt
14
+ };
15
+ }
16
+ function isLogSession(value) {
17
+ return Boolean(value && typeof value === 'object' && typeof value.id === 'string' && typeof value.startedAt === 'number');
18
+ }
19
+ function parseSessionIndex(raw) {
20
+ if (!raw) {
21
+ return null;
22
+ }
23
+ try {
24
+ const parsed = JSON.parse(raw);
25
+ if (!parsed || !Array.isArray(parsed.sessions)) {
26
+ return null;
27
+ }
28
+ return {
29
+ currentSessionId: typeof parsed.currentSessionId === 'string' ? parsed.currentSessionId : '',
30
+ sessions: parsed.sessions.filter(isLogSession),
31
+ maxSessions: typeof parsed.maxSessions === 'number' ? parsed.maxSessions : DEFAULT_MAX_SESSIONS
32
+ };
33
+ } catch {
34
+ return null;
35
+ }
36
+ }
37
+ function compareNewestFirst(left, right) {
38
+ return right.startedAt - left.startedAt;
39
+ }
40
+ export class SessionManager {
41
+ constructor(storage, options = {}) {
42
+ this.storage = storage;
43
+ this.currentSession = createSession();
44
+ this.maxSessions = Math.max(1, Math.floor(options.maxSessions ?? DEFAULT_MAX_SESSIONS));
45
+ this.featureKeys = options.featureKeys?.length ? options.featureKeys : DEFAULT_FEATURE_KEYS;
46
+ }
47
+ async initialize() {
48
+ const existing = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
49
+ const byId = new Map();
50
+ byId.set(this.currentSession.id, this.currentSession);
51
+ for (const session of existing?.sessions ?? []) {
52
+ byId.set(session.id, session);
53
+ }
54
+ const sessions = Array.from(byId.values()).sort(compareNewestFirst);
55
+ const retained = sessions.slice(0, this.maxSessions);
56
+ const removed = sessions.slice(this.maxSessions);
57
+ const index = {
58
+ currentSessionId: this.currentSession.id,
59
+ sessions: retained,
60
+ maxSessions: this.maxSessions
61
+ };
62
+ await this.storage.setItem(SESSION_INDEX_KEY, JSON.stringify(index));
63
+ await this.cleanupSessionLogs(removed);
64
+ }
65
+ getCurrentSession() {
66
+ return this.currentSession;
67
+ }
68
+ async getSessionHistory() {
69
+ const index = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
70
+ return (index?.sessions ?? []).sort(compareNewestFirst);
71
+ }
72
+ getLogStorageKey(featureKey, sessionId = this.currentSession.id) {
73
+ return `@react_native_debug_toolkit/${sessionId}/${featureKey}`;
74
+ }
75
+ async loadSessionLogs(sessionId, featureKey) {
76
+ const raw = await this.storage.getItem(this.getLogStorageKey(featureKey, sessionId));
77
+ if (!raw) {
78
+ return [];
79
+ }
80
+ try {
81
+ const parsed = JSON.parse(raw);
82
+ return Array.isArray(parsed) ? parsed : [];
83
+ } catch {
84
+ return [];
85
+ }
86
+ }
87
+ async getSessionLogCount(sessionId, featureKey) {
88
+ const raw = await this.storage.getItem(this.getLogStorageKey(featureKey, sessionId));
89
+ if (!raw) return 0;
90
+ try {
91
+ const parsed = JSON.parse(raw);
92
+ return Array.isArray(parsed) ? parsed.length : 0;
93
+ } catch {
94
+ return 0;
95
+ }
96
+ }
97
+ async clearCurrentSessionLogs(featureKey) {
98
+ await this.storage.setItem(this.getLogStorageKey(featureKey), '[]');
99
+ }
100
+ async cleanupOldSessions() {
101
+ const index = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
102
+ if (!index) {
103
+ return 0;
104
+ }
105
+ const sessions = index.sessions.sort(compareNewestFirst);
106
+ const retained = sessions.slice(0, this.maxSessions);
107
+ const removed = sessions.slice(this.maxSessions);
108
+ if (removed.length === 0) {
109
+ return 0;
110
+ }
111
+ await this.storage.setItem(SESSION_INDEX_KEY, JSON.stringify({
112
+ currentSessionId: index.currentSessionId,
113
+ sessions: retained,
114
+ maxSessions: this.maxSessions
115
+ }));
116
+ await this.cleanupSessionLogs(removed);
117
+ return removed.length;
118
+ }
119
+ async cleanupSessionLogs(sessions) {
120
+ for (const session of sessions) {
121
+ for (const featureKey of this.featureKeys) {
122
+ await this.storage.removeItem(this.getLogStorageKey(featureKey, session.id));
123
+ }
124
+ }
125
+ }
126
+ }
127
+ //# sourceMappingURL=SessionManager.js.map