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,132 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SessionManager = void 0;
7
+ const SESSION_INDEX_KEY = '@react_native_debug_toolkit/sessions';
8
+ const DEFAULT_MAX_SESSIONS = 5;
9
+ const DEFAULT_FEATURE_KEYS = ['console_logs', 'network_logs', 'track_logs'];
10
+ function randomHex() {
11
+ return Math.floor(Math.random() * 0xffffffff).toString(16).padStart(8, '0');
12
+ }
13
+ function createSession() {
14
+ const startedAt = Date.now();
15
+ return {
16
+ id: `${startedAt}-${randomHex()}`,
17
+ startedAt
18
+ };
19
+ }
20
+ function isLogSession(value) {
21
+ return Boolean(value && typeof value === 'object' && typeof value.id === 'string' && typeof value.startedAt === 'number');
22
+ }
23
+ function parseSessionIndex(raw) {
24
+ if (!raw) {
25
+ return null;
26
+ }
27
+ try {
28
+ const parsed = JSON.parse(raw);
29
+ if (!parsed || !Array.isArray(parsed.sessions)) {
30
+ return null;
31
+ }
32
+ return {
33
+ currentSessionId: typeof parsed.currentSessionId === 'string' ? parsed.currentSessionId : '',
34
+ sessions: parsed.sessions.filter(isLogSession),
35
+ maxSessions: typeof parsed.maxSessions === 'number' ? parsed.maxSessions : DEFAULT_MAX_SESSIONS
36
+ };
37
+ } catch {
38
+ return null;
39
+ }
40
+ }
41
+ function compareNewestFirst(left, right) {
42
+ return right.startedAt - left.startedAt;
43
+ }
44
+ class SessionManager {
45
+ constructor(storage, options = {}) {
46
+ this.storage = storage;
47
+ this.currentSession = createSession();
48
+ this.maxSessions = Math.max(1, Math.floor(options.maxSessions ?? DEFAULT_MAX_SESSIONS));
49
+ this.featureKeys = options.featureKeys?.length ? options.featureKeys : DEFAULT_FEATURE_KEYS;
50
+ }
51
+ async initialize() {
52
+ const existing = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
53
+ const byId = new Map();
54
+ byId.set(this.currentSession.id, this.currentSession);
55
+ for (const session of existing?.sessions ?? []) {
56
+ byId.set(session.id, session);
57
+ }
58
+ const sessions = Array.from(byId.values()).sort(compareNewestFirst);
59
+ const retained = sessions.slice(0, this.maxSessions);
60
+ const removed = sessions.slice(this.maxSessions);
61
+ const index = {
62
+ currentSessionId: this.currentSession.id,
63
+ sessions: retained,
64
+ maxSessions: this.maxSessions
65
+ };
66
+ await this.storage.setItem(SESSION_INDEX_KEY, JSON.stringify(index));
67
+ await this.cleanupSessionLogs(removed);
68
+ }
69
+ getCurrentSession() {
70
+ return this.currentSession;
71
+ }
72
+ async getSessionHistory() {
73
+ const index = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
74
+ return (index?.sessions ?? []).sort(compareNewestFirst);
75
+ }
76
+ getLogStorageKey(featureKey, sessionId = this.currentSession.id) {
77
+ return `@react_native_debug_toolkit/${sessionId}/${featureKey}`;
78
+ }
79
+ async loadSessionLogs(sessionId, featureKey) {
80
+ const raw = await this.storage.getItem(this.getLogStorageKey(featureKey, sessionId));
81
+ if (!raw) {
82
+ return [];
83
+ }
84
+ try {
85
+ const parsed = JSON.parse(raw);
86
+ return Array.isArray(parsed) ? parsed : [];
87
+ } catch {
88
+ return [];
89
+ }
90
+ }
91
+ async getSessionLogCount(sessionId, featureKey) {
92
+ const raw = await this.storage.getItem(this.getLogStorageKey(featureKey, sessionId));
93
+ if (!raw) return 0;
94
+ try {
95
+ const parsed = JSON.parse(raw);
96
+ return Array.isArray(parsed) ? parsed.length : 0;
97
+ } catch {
98
+ return 0;
99
+ }
100
+ }
101
+ async clearCurrentSessionLogs(featureKey) {
102
+ await this.storage.setItem(this.getLogStorageKey(featureKey), '[]');
103
+ }
104
+ async cleanupOldSessions() {
105
+ const index = parseSessionIndex(await this.storage.getItem(SESSION_INDEX_KEY));
106
+ if (!index) {
107
+ return 0;
108
+ }
109
+ const sessions = index.sessions.sort(compareNewestFirst);
110
+ const retained = sessions.slice(0, this.maxSessions);
111
+ const removed = sessions.slice(this.maxSessions);
112
+ if (removed.length === 0) {
113
+ return 0;
114
+ }
115
+ await this.storage.setItem(SESSION_INDEX_KEY, JSON.stringify({
116
+ currentSessionId: index.currentSessionId,
117
+ sessions: retained,
118
+ maxSessions: this.maxSessions
119
+ }));
120
+ await this.cleanupSessionLogs(removed);
121
+ return removed.length;
122
+ }
123
+ async cleanupSessionLogs(sessions) {
124
+ for (const session of sessions) {
125
+ for (const featureKey of this.featureKeys) {
126
+ await this.storage.removeItem(this.getLogStorageKey(featureKey, session.id));
127
+ }
128
+ }
129
+ }
130
+ }
131
+ exports.SessionManager = SessionManager;
132
+ //# sourceMappingURL=SessionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SESSION_INDEX_KEY","DEFAULT_MAX_SESSIONS","DEFAULT_FEATURE_KEYS","randomHex","Math","floor","random","toString","padStart","createSession","startedAt","Date","now","id","isLogSession","value","Boolean","parseSessionIndex","raw","parsed","JSON","parse","Array","isArray","sessions","currentSessionId","filter","maxSessions","compareNewestFirst","left","right","SessionManager","constructor","storage","options","currentSession","max","featureKeys","length","initialize","existing","getItem","byId","Map","set","session","from","values","sort","retained","slice","removed","index","setItem","stringify","cleanupSessionLogs","getCurrentSession","getSessionHistory","getLogStorageKey","featureKey","sessionId","loadSessionLogs","getSessionLogCount","clearCurrentSessionLogs","cleanupOldSessions","removeItem","exports"],"sourceRoot":"../../../src","sources":["utils/SessionManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MemoryStorageAdapter = exports.MMKVStorageAdapter = exports.AsyncStorageAdapter = void 0;
7
+ exports.createDefaultLogStorage = createDefaultLogStorage;
8
+ class MemoryStorageAdapter {
9
+ store = new Map();
10
+ getItem(key) {
11
+ return this.store.get(key) ?? null;
12
+ }
13
+ setItem(key, value) {
14
+ this.store.set(key, value);
15
+ }
16
+ removeItem(key) {
17
+ this.store.delete(key);
18
+ }
19
+ }
20
+ exports.MemoryStorageAdapter = MemoryStorageAdapter;
21
+ class AsyncStorageAdapter {
22
+ constructor(storage) {
23
+ this.storage = storage;
24
+ }
25
+ getItem(key) {
26
+ return this.storage.getItem(key);
27
+ }
28
+ setItem(key, value) {
29
+ return this.storage.setItem(key, value);
30
+ }
31
+ removeItem(key) {
32
+ return this.storage.removeItem(key);
33
+ }
34
+ }
35
+ exports.AsyncStorageAdapter = AsyncStorageAdapter;
36
+ class MMKVStorageAdapter {
37
+ constructor(storage) {
38
+ this.storage = storage;
39
+ }
40
+ getItem(key) {
41
+ return this.storage.getString(key) ?? null;
42
+ }
43
+ setItem(key, value) {
44
+ this.storage.set(key, value);
45
+ }
46
+ removeItem(key) {
47
+ if ('delete' in this.storage) {
48
+ this.storage.delete(key);
49
+ } else {
50
+ this.storage.remove(key);
51
+ }
52
+ }
53
+ }
54
+ exports.MMKVStorageAdapter = MMKVStorageAdapter;
55
+ function isAsyncStorageLike(value) {
56
+ return Boolean(value && typeof value === 'object' && typeof value.getItem === 'function' && typeof value.setItem === 'function' && typeof value.removeItem === 'function');
57
+ }
58
+ function loadMMKVStorage() {
59
+ try {
60
+ const mod = require('react-native-mmkv');
61
+ console.warn('[StorageAdapter] MMKV module loaded, keys:', Object.keys(mod).join(','));
62
+
63
+ // v4+: createMMKV factory function
64
+ if (typeof mod?.createMMKV === 'function') {
65
+ console.warn('[StorageAdapter] Found createMMKV (v4+)');
66
+ const instance = mod.createMMKV({
67
+ id: 'debug-toolkit-logs'
68
+ });
69
+ console.warn('[StorageAdapter] createMMKV returned:', typeof instance, instance ? 'has getString:' + typeof instance.getString : 'null');
70
+ if (instance && typeof instance.getString === 'function' && typeof instance.set === 'function') {
71
+ return new MMKVStorageAdapter(instance);
72
+ }
73
+ }
74
+
75
+ // v3 and earlier: MMKV class
76
+ const MMKV = mod?.MMKV ?? mod?.default?.MMKV ?? mod?.default;
77
+ if (typeof MMKV === 'function') {
78
+ return new MMKVStorageAdapter(new MMKV({
79
+ id: 'debug-toolkit-logs'
80
+ }));
81
+ }
82
+ console.warn('[StorageAdapter] No MMKV constructor found');
83
+ return null;
84
+ } catch (e) {
85
+ console.warn('[StorageAdapter] loadMMKVStorage failed:', e);
86
+ return null;
87
+ }
88
+ }
89
+ function loadAsyncStorage() {
90
+ try {
91
+ const mod = require('@react-native-async-storage/async-storage');
92
+ const storage = isAsyncStorageLike(mod?.default) ? mod.default : mod;
93
+ if (!isAsyncStorageLike(storage)) {
94
+ return null;
95
+ }
96
+ return new AsyncStorageAdapter(storage);
97
+ } catch {
98
+ return null;
99
+ }
100
+ }
101
+ function createDefaultLogStorage() {
102
+ return loadMMKVStorage() ?? loadAsyncStorage() ?? new MemoryStorageAdapter();
103
+ }
104
+ //# sourceMappingURL=StorageAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MemoryStorageAdapter","store","Map","getItem","key","get","setItem","value","set","removeItem","delete","exports","AsyncStorageAdapter","constructor","storage","MMKVStorageAdapter","getString","remove","isAsyncStorageLike","Boolean","loadMMKVStorage","mod","require","console","warn","Object","keys","join","createMMKV","instance","id","MMKV","default","e","loadAsyncStorage","createDefaultLogStorage"],"sourceRoot":"../../../src","sources":["utils/StorageAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -19,14 +19,17 @@ function createChannelFeature(getChannel, toEntry, options) {
19
19
  const maxLogs = options.maxLogs ?? DEFAULT_MAX_LOGS;
20
20
  let nextId = 0;
21
21
  let logStore;
22
+ let persistedStore = null;
22
23
  let getId;
23
24
  if (options.persist) {
24
25
  const persisted = (0, _createPersistedObservableStore.createPersistedObservableStore)({
26
+ storage: options.persist.storage,
25
27
  storageKey: options.persist.storageKey,
26
28
  maxPersist: options.persist.maxPersist,
27
29
  debounceMs: options.persist.debounceMs,
28
30
  serialize: options.persist.serialize
29
31
  });
32
+ persistedStore = persisted;
30
33
  logStore = persisted;
31
34
  getId = () => persisted.nextId();
32
35
  } else {
@@ -41,26 +44,40 @@ function createChannelFeature(getChannel, toEntry, options) {
41
44
  label: options.label,
42
45
  renderContent: options.renderContent,
43
46
  setup: () => {
44
- if (initialized) return;
47
+ if (initialized) {
48
+ return;
49
+ }
45
50
  unsubscribe = getChannel().subscribe(payload => {
46
51
  const filtered = options.beforePush ? options.beforePush(payload) : payload;
47
- if (filtered == null) return;
52
+ if (filtered == null) {
53
+ return;
54
+ }
48
55
  logStore.push(toEntry(filtered, getId()), maxLogs);
49
56
  });
50
57
  const cleanup = options.onSetup?.();
51
- if (cleanup) customCleanup = cleanup;
58
+ if (cleanup) {
59
+ customCleanup = cleanup;
60
+ }
52
61
  initialized = true;
53
62
  },
54
63
  getSnapshot: () => logStore.getData(),
55
64
  clear: () => {
56
- logStore.clear();
65
+ if (persistedStore) {
66
+ persistedStore.clearPersisted();
67
+ } else {
68
+ logStore.clear();
69
+ }
57
70
  },
58
71
  cleanup: () => {
59
72
  customCleanup?.();
60
73
  customCleanup = null;
61
74
  unsubscribe?.();
62
75
  unsubscribe = null;
63
- logStore.clear();
76
+ if (persistedStore) {
77
+ persistedStore.dispose();
78
+ } else {
79
+ logStore.clear();
80
+ }
64
81
  initialized = false;
65
82
  },
66
83
  subscribe: listener => logStore.subscribe(listener)
@@ -1 +1 @@
1
- {"version":3,"names":["_createObservableStore","require","_createPersistedObservableStore","DEFAULT_MAX_LOGS","createChannelFeature","getChannel","toEntry","options","maxLogs","nextId","logStore","getId","persist","persisted","createPersistedObservableStore","storageKey","maxPersist","debounceMs","serialize","createObservableStore","String","initialized","unsubscribe","customCleanup","name","label","renderContent","setup","subscribe","payload","filtered","beforePush","push","cleanup","onSetup","getSnapshot","getData","clear","listener"],"sourceRoot":"../../../src","sources":["utils/createChannelFeature.ts"],"mappings":";;;;;;AAGA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AAEA,MAAME,gBAAgB,GAAG,GAAG;AAS5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAClCC,UAAwC,EACxCC,OAAkD,EAClDC,OAUC,EACuB;EACxB,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAIL,gBAAgB;EACnD,IAAIM,MAAM,GAAG,CAAC;EACd,IAAIC,QAAiC;EACrC,IAAIC,KAAmB;EAEvB,IAAIJ,OAAO,CAACK,OAAO,EAAE;IACnB,MAAMC,SAAS,GAAG,IAAAC,8DAA8B,EAAS;MACvDC,UAAU,EAAER,OAAO,CAACK,OAAO,CAACG,UAAU;MACtCC,UAAU,EAAET,OAAO,CAACK,OAAO,CAACI,UAAU;MACtCC,UAAU,EAAEV,OAAO,CAACK,OAAO,CAACK,UAAU;MACtCC,SAAS,EAAEX,OAAO,CAACK,OAAO,CAACM;IAC7B,CAAC,CAAC;IACFR,QAAQ,GAAGG,SAAS;IACpBF,KAAK,GAAGA,CAAA,KAAME,SAAS,CAACJ,MAAM,CAAC,CAAC;EAClC,CAAC,MAAM;IACLC,QAAQ,GAAG,IAAAS,4CAAqB,EAAS,CAAC;IAC1CR,KAAK,GAAGA,CAAA,KAAMS,MAAM,CAACX,MAAM,EAAE,CAAC;EAChC;EAEA,IAAIY,WAAW,GAAG,KAAK;EACvB,IAAIC,WAAgC,GAAG,IAAI;EAC3C,IAAIC,aAAkC,GAAG,IAAI;EAE7C,OAAO;IACLC,IAAI,EAAEjB,OAAO,CAACiB,IAAI;IAClBC,KAAK,EAAElB,OAAO,CAACkB,KAAK;IACpBC,aAAa,EAAEnB,OAAO,CAACmB,aAAa;IACpCC,KAAK,EAAEA,CAAA,KAAM;MACX,IAAIN,WAAW,EAAE;MACjBC,WAAW,GAAGjB,UAAU,CAAC,CAAC,CAACuB,SAAS,CAAEC,OAAO,IAAK;QAChD,MAAMC,QAAQ,GAAGvB,OAAO,CAACwB,UAAU,GAAGxB,OAAO,CAACwB,UAAU,CAACF,OAAO,CAAC,GAAGA,OAAO;QAC3E,IAAIC,QAAQ,IAAI,IAAI,EAAE;QACtBpB,QAAQ,CAACsB,IAAI,CAAC1B,OAAO,CAACwB,QAAQ,EAAEnB,KAAK,CAAC,CAAC,CAAC,EAAEH,OAAO,CAAC;MACpD,CAAC,CAAC;MACF,MAAMyB,OAAO,GAAG1B,OAAO,CAAC2B,OAAO,GAAG,CAAC;MACnC,IAAID,OAAO,EAAEV,aAAa,GAAGU,OAAO;MACpCZ,WAAW,GAAG,IAAI;IACpB,CAAC;IACDc,WAAW,EAAEA,CAAA,KAAMzB,QAAQ,CAAC0B,OAAO,CAAC,CAAC;IACrCC,KAAK,EAAEA,CAAA,KAAM;MACX3B,QAAQ,CAAC2B,KAAK,CAAC,CAAC;IAClB,CAAC;IACDJ,OAAO,EAAEA,CAAA,KAAM;MACbV,aAAa,GAAG,CAAC;MACjBA,aAAa,GAAG,IAAI;MACpBD,WAAW,GAAG,CAAC;MACfA,WAAW,GAAG,IAAI;MAClBZ,QAAQ,CAAC2B,KAAK,CAAC,CAAC;MAChBhB,WAAW,GAAG,KAAK;IACrB,CAAC;IACDO,SAAS,EAAGU,QAA8B,IAAK5B,QAAQ,CAACkB,SAAS,CAACU,QAAQ;EAC5E,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_createObservableStore","require","_createPersistedObservableStore","DEFAULT_MAX_LOGS","createChannelFeature","getChannel","toEntry","options","maxLogs","nextId","logStore","persistedStore","getId","persist","persisted","createPersistedObservableStore","storage","storageKey","maxPersist","debounceMs","serialize","createObservableStore","String","initialized","unsubscribe","customCleanup","name","label","renderContent","setup","subscribe","payload","filtered","beforePush","push","cleanup","onSetup","getSnapshot","getData","clear","clearPersisted","dispose","listener"],"sourceRoot":"../../../src","sources":["utils/createChannelFeature.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDebugTab = createDebugTab;
7
+ const noop = () => {};
8
+ function createDebugTab(options) {
9
+ return {
10
+ name: options.name,
11
+ label: options.label,
12
+ setup: options.setup ?? noop,
13
+ cleanup: options.cleanup ?? noop,
14
+ getSnapshot: options.getSnapshot,
15
+ clear: options.clear,
16
+ subscribe: options.subscribe,
17
+ renderContent: options.render,
18
+ badge: options.badge
19
+ };
20
+ }
21
+ //# sourceMappingURL=createDebugTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["noop","createDebugTab","options","name","label","setup","cleanup","getSnapshot","clear","subscribe","renderContent","render","badge"],"sourceRoot":"../../../src","sources":["utils/createDebugTab.ts"],"mappings":";;;;;;AAeA,MAAMA,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAEd,SAASC,cAAcA,CAC5BC,OAAyC,EAChB;EACzB,OAAO;IACLC,IAAI,EAAED,OAAO,CAACC,IAAI;IAClBC,KAAK,EAAEF,OAAO,CAACE,KAAK;IACpBC,KAAK,EAAEH,OAAO,CAACG,KAAK,IAAIL,IAAI;IAC5BM,OAAO,EAAEJ,OAAO,CAACI,OAAO,IAAIN,IAAI;IAChCO,WAAW,EAAEL,OAAO,CAACK,WAAW;IAChCC,KAAK,EAAEN,OAAO,CAACM,KAAK;IACpBC,SAAS,EAAEP,OAAO,CAACO,SAAS;IAC5BC,aAAa,EAAER,OAAO,CAACS,MAAM;IAC7BC,KAAK,EAAEV,OAAO,CAACU;EACjB,CAAC;AACH","ignoreList":[]}
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createPersistedObservableStore = createPersistedObservableStore;
7
7
  var _createObservableStore = require("./createObservableStore");
8
- var _debugPreferences = require("./debugPreferences");
9
8
  function createPersistedObservableStore(options) {
10
9
  const {
10
+ storage,
11
11
  storageKey,
12
12
  maxPersist,
13
13
  debounceMs = 2000,
@@ -22,7 +22,7 @@ function createPersistedObservableStore(options) {
22
22
  });
23
23
 
24
24
  // Restore from storage (single notify via pushBatch)
25
- (0, _debugPreferences.getPreference)(storageKey).then(raw => {
25
+ Promise.resolve(storage.getItem(storageKey)).then(raw => {
26
26
  if (!raw) {
27
27
  resolveReady();
28
28
  return;
@@ -39,7 +39,9 @@ function createPersistedObservableStore(options) {
39
39
  let max = 0;
40
40
  for (const e of restored) {
41
41
  const n = parseInt(e.id ?? '', 10);
42
- if (!isNaN(n) && n >= max) max = n + 1;
42
+ if (!isNaN(n) && n >= max) {
43
+ max = n + 1;
44
+ }
43
45
  }
44
46
  idCounter = max;
45
47
  } catch {
@@ -48,13 +50,15 @@ function createPersistedObservableStore(options) {
48
50
  resolveReady();
49
51
  });
50
52
  function scheduleWrite() {
51
- if (writeTimer !== null) clearTimeout(writeTimer);
53
+ if (writeTimer !== null) {
54
+ clearTimeout(writeTimer);
55
+ }
52
56
  writeTimer = setTimeout(() => {
53
57
  writeTimer = null;
54
58
  const data = store.getData().slice(-maxPersist);
55
59
  const toStore = serialize ? data.map(serialize) : data;
56
60
  try {
57
- (0, _debugPreferences.setPreference)(storageKey, JSON.stringify(toStore));
61
+ Promise.resolve(storage.setItem(storageKey, JSON.stringify(toStore))).catch(() => {});
58
62
  } catch {
59
63
  // stringify failed (circular refs, etc) — skip write
60
64
  }
@@ -69,22 +73,24 @@ function createPersistedObservableStore(options) {
69
73
  pushBatch: store.pushBatch,
70
74
  clear: () => {
71
75
  store.clear();
76
+ },
77
+ clearPersisted: () => {
78
+ store.clear();
72
79
  if (writeTimer !== null) {
73
80
  clearTimeout(writeTimer);
74
81
  writeTimer = null;
75
82
  }
76
- (0, _debugPreferences.setPreference)(storageKey, '[]');
83
+ Promise.resolve(storage.setItem(storageKey, '[]')).catch(() => {});
77
84
  },
78
85
  subscribe: store.subscribe,
79
86
  nextId: () => String(idCounter++),
80
87
  ready,
81
- destroy: () => {
88
+ dispose: () => {
82
89
  if (writeTimer !== null) {
83
90
  clearTimeout(writeTimer);
84
91
  writeTimer = null;
85
92
  }
86
93
  store.clear();
87
- (0, _debugPreferences.setPreference)(storageKey, '[]');
88
94
  }
89
95
  };
90
96
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_createObservableStore","require","_debugPreferences","createPersistedObservableStore","options","storageKey","maxPersist","debounceMs","serialize","store","createObservableStore","writeTimer","idCounter","resolveReady","ready","Promise","resolve","getPreference","then","raw","entries","JSON","parse","Array","isArray","restored","slice","pushBatch","max","e","n","parseInt","id","isNaN","scheduleWrite","clearTimeout","setTimeout","data","getData","toStore","map","setPreference","stringify","push","item","maxEntries","clear","subscribe","nextId","String","destroy"],"sourceRoot":"../../../src","sources":["utils/createPersistedObservableStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_createObservableStore","require","createPersistedObservableStore","options","storage","storageKey","maxPersist","debounceMs","serialize","store","createObservableStore","writeTimer","idCounter","resolveReady","ready","Promise","resolve","getItem","then","raw","entries","JSON","parse","Array","isArray","restored","slice","pushBatch","max","e","n","parseInt","id","isNaN","scheduleWrite","clearTimeout","setTimeout","data","getData","toStore","map","setItem","stringify","catch","push","item","maxEntries","clear","clearPersisted","subscribe","nextId","String","dispose"],"sourceRoot":"../../../src","sources":["utils/createPersistedObservableStore.ts"],"mappings":"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","ignoreList":[]}
@@ -5,13 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.KEYS = void 0;
7
7
  exports.getPreference = getPreference;
8
+ exports.removePreference = removePreference;
8
9
  exports.setPreference = setPreference;
9
10
  const memoryStore = new Map();
10
11
  function loadAsyncStorage() {
11
12
  try {
12
13
  const mod = require('@react-native-async-storage/async-storage');
13
- if (mod && typeof mod.getItem === 'function') {
14
- return mod;
14
+ const storage = mod?.default && typeof mod.default.getItem === 'function' ? mod.default : mod;
15
+ if (storage && typeof storage.getItem === 'function' && typeof storage.setItem === 'function') {
16
+ return storage;
15
17
  }
16
18
  return null;
17
19
  } catch {
@@ -77,14 +79,34 @@ async function getPreference(key) {
77
79
  }
78
80
  return memoryStore.get(key) ?? null;
79
81
  }
82
+ async function removePreference(key) {
83
+ memoryStore.delete(key);
84
+ const AsyncStorage = loadAsyncStorage();
85
+ if (AsyncStorage) {
86
+ try {
87
+ if (typeof AsyncStorage.removeItem === 'function') {
88
+ await AsyncStorage.removeItem(key);
89
+ } else {
90
+ await AsyncStorage.setItem(key, '');
91
+ }
92
+ return;
93
+ } catch {
94
+ // degrade to memory only
95
+ }
96
+ }
97
+ const nativePreferences = loadNativePreferences();
98
+ if (nativePreferences) {
99
+ try {
100
+ await nativePreferences.setPreference(key, '');
101
+ } catch {
102
+ // degrade to memory only
103
+ }
104
+ }
105
+ }
80
106
  const KEYS = exports.KEYS = {
81
107
  fabPosition: '@react_native_debug_toolkit/fab_position',
82
108
  lastTab: '@react_native_debug_toolkit/last_tab',
83
- consoleLogs: '@react_native_debug_toolkit/console_logs',
84
- networkLogs: '@react_native_debug_toolkit/network_logs',
85
- trackLogs: '@react_native_debug_toolkit/track_logs',
86
109
  computerHost: '@react_native_debug_toolkit/computer_host',
87
- metroPort: '@react_native_debug_toolkit/metro_port',
88
110
  daemonPort: '@react_native_debug_toolkit/daemon_port'
89
111
  };
90
112
  //# sourceMappingURL=debugPreferences.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["memoryStore","Map","loadAsyncStorage","mod","require","getItem","loadNativePreferences","NativeModules","DebugToolkitDevConnect","getPreference","setPreference","key","value","set","AsyncStorage","setItem","nativePreferences","val","get","KEYS","exports","fabPosition","lastTab","consoleLogs","networkLogs","trackLogs","computerHost","metroPort","daemonPort"],"sourceRoot":"../../../src","sources":["utils/debugPreferences.ts"],"mappings":";;;;;;;;AAGA,MAAMA,WAAW,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAE7C,SAASC,gBAAgBA,CAAA,EAA4B;EACnD,IAAI;IACF,MAAMC,GAAG,GAAGC,OAAO,CAAC,2CAA2C,CAAC;IAChE,IAAID,GAAG,IAAI,OAAOA,GAAG,CAACE,OAAO,KAAK,UAAU,EAAE;MAC5C,OAAOF,GAAG;IACZ;IACA,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,SAASG,qBAAqBA,CAAA,EAAiC;EAC7D,IAAI;IACF,MAAM;MAAEC;IAAc,CAAC,GAAGH,OAAO,CAAC,cAAc,CAAoF;IACpI,MAAMD,GAAG,GAAGI,aAAa,EAAEC,sBAAsB;IACjD,IACEL,GAAG,IACH,OAAOA,GAAG,CAACM,aAAa,KAAK,UAAU,IACvC,OAAON,GAAG,CAACO,aAAa,KAAK,UAAU,EACvC;MACA,OAAOP,GAAG;IACZ;IACA,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEO,eAAeO,aAAaA,CAACC,GAAW,EAAEC,KAAa,EAAiB;EAC7EZ,WAAW,CAACa,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;EAC3B,MAAME,YAAY,GAAGZ,gBAAgB,CAAC,CAAC;EACvC,IAAIY,YAAY,EAAE;IAChB,IAAI;MACF,MAAMA,YAAY,CAACC,OAAO,CAACJ,GAAG,EAAEC,KAAK,CAAC;MACtC;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMI,iBAAiB,GAAGV,qBAAqB,CAAC,CAAC;EACjD,IAAIU,iBAAiB,EAAE;IACrB,IAAI;MACF,MAAMA,iBAAiB,CAACN,aAAa,CAACC,GAAG,EAAEC,KAAK,CAAC;IACnD,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF;AAEO,eAAeH,aAAaA,CAACE,GAAW,EAA0B;EACvE,MAAMG,YAAY,GAAGZ,gBAAgB,CAAC,CAAC;EACvC,IAAIY,YAAY,EAAE;IAChB,IAAI;MACF,MAAMG,GAAG,GAAG,MAAMH,YAAY,CAACT,OAAO,CAACM,GAAG,CAAC;MAC3C,IAAIM,GAAG,KAAK,IAAI,EAAE;QAChB,OAAOA,GAAG;MACZ;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMD,iBAAiB,GAAGV,qBAAqB,CAAC,CAAC;EACjD,IAAIU,iBAAiB,EAAE;IACrB,IAAI;MACF,MAAMC,GAAG,GAAG,MAAMD,iBAAiB,CAACP,aAAa,CAACE,GAAG,CAAC;MACtD,IAAIM,GAAG,KAAK,IAAI,EAAE;QAChB,OAAOA,GAAG;MACZ;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,OAAOjB,WAAW,CAACkB,GAAG,CAACP,GAAG,CAAC,IAAI,IAAI;AACrC;AAEO,MAAMQ,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,WAAW,EAAE,0CAA0C;EACvDC,OAAO,EAAE,sCAAsC;EAC/CC,WAAW,EAAE,0CAA0C;EACvDC,WAAW,EAAE,0CAA0C;EACvDC,SAAS,EAAE,wCAAwC;EACnDC,YAAY,EAAE,2CAA2C;EACzDC,SAAS,EAAE,wCAAwC;EACnDC,UAAU,EAAE;AACd,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["memoryStore","Map","loadAsyncStorage","mod","require","storage","default","getItem","setItem","loadNativePreferences","NativeModules","DebugToolkitDevConnect","getPreference","setPreference","key","value","set","AsyncStorage","nativePreferences","val","get","removePreference","delete","removeItem","KEYS","exports","fabPosition","lastTab","computerHost","daemonPort"],"sourceRoot":"../../../src","sources":["utils/debugPreferences.ts"],"mappings":"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","ignoreList":[]}
@@ -4,12 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createDebugDeviceReport = createDebugDeviceReport;
7
+ exports.sanitizeDebugLogEntry = sanitizeDebugLogEntry;
7
8
  var _reactNative = require("react-native");
8
9
  var _DebugToolkit = require("../core/DebugToolkit");
9
10
  var _safeStringify = require("./safeStringify");
10
11
  const DEFAULT_MAX_PER_TYPE = 50;
11
12
  const DEFAULT_MAX_BODY_BYTES = 16 * 1024;
12
13
  const MAX_DEPTH = 8;
14
+ function sanitizeDebugLogEntry(value, maxBodyBytes = DEFAULT_MAX_BODY_BYTES) {
15
+ return sanitizeValue(value, Math.max(256, Math.floor(maxBodyBytes)));
16
+ }
13
17
  function utf8ByteLength(value) {
14
18
  let bytes = 0;
15
19
  for (let index = 0; index < value.length; index += 1) {
@@ -116,7 +120,7 @@ function createDebugDeviceReport(options = {}) {
116
120
  if (!Array.isArray(snapshot)) {
117
121
  return;
118
122
  }
119
- logs[feature.name] = snapshot.slice(-maxPerType).map(entry => sanitizeValue(entry, maxBodyBytes));
123
+ logs[feature.name] = snapshot.slice(-maxPerType).map(entry => sanitizeDebugLogEntry(entry, maxBodyBytes));
120
124
  });
121
125
  const constants = _reactNative.Platform.constants;
122
126
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_DebugToolkit","_safeStringify","DEFAULT_MAX_PER_TYPE","DEFAULT_MAX_BODY_BYTES","MAX_DEPTH","utf8ByteLength","value","bytes","index","length","code","charCodeAt","truncateUtf8","maxBytes","result","char","charBytes","truncateLargeValue","serialized","safeStringify","originalBytes","__debugToolkitTruncated","preview","sanitizeValue","maxBodyBytes","depth","seen","WeakSet","key","String","Date","toISOString","normalizedKey","toLowerCase","normalized","has","add","Array","isArray","map","item","Object","entries","reduce","acc","entryKey","entryValue","createDebugDeviceReport","options","provider","featureProvider","debugToolkit","maxPerType","Math","max","floor","includeTypes","Set","logs","features","forEach","feature","name","snapshot","getSnapshot","slice","entry","constants","Platform","version","device","platform","OS","model","osVersion","Version","appVersion","session"],"sourceRoot":"../../../src","sources":["utils/deviceReport.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AAEA,MAAMG,oBAAoB,GAAG,EAAE;AAC/B,MAAMC,sBAAsB,GAAG,EAAE,GAAG,IAAI;AACxC,MAAMC,SAAS,GAAG,CAAC;AAiCnB,SAASC,cAAcA,CAACC,KAAa,EAAU;EAC7C,IAAIC,KAAK,GAAG,CAAC;EACb,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,KAAK,CAACG,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;IACpD,MAAME,IAAI,GAAGJ,KAAK,CAACK,UAAU,CAACH,KAAK,CAAC;IACpC,IAAIE,IAAI,IAAI,IAAI,EAAE;MAChBH,KAAK,IAAI,CAAC;IACZ,CAAC,MAAM,IAAIG,IAAI,IAAI,KAAK,EAAE;MACxBH,KAAK,IAAI,CAAC;IACZ,CAAC,MAAM,IAAIG,IAAI,IAAI,MAAM,IAAIA,IAAI,IAAI,MAAM,EAAE;MAC3CH,KAAK,IAAI,CAAC;MACVC,KAAK,IAAI,CAAC;IACZ,CAAC,MAAM;MACLD,KAAK,IAAI,CAAC;IACZ;EACF;EACA,OAAOA,KAAK;AACd;AAEA,SAASK,YAAYA,CAACN,KAAa,EAAEO,QAAgB,EAAU;EAC7D,IAAIR,cAAc,CAACC,KAAK,CAAC,IAAIO,QAAQ,EAAE;IACrC,OAAOP,KAAK;EACd;EAEA,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIO,MAAM,GAAG,EAAE;EACf,KAAK,IAAIN,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,KAAK,CAACG,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;IACpD,MAAME,IAAI,GAAGJ,KAAK,CAACK,UAAU,CAACH,KAAK,CAAC;IACpC,MAAMO,IAAI,GAAGT,KAAK,CAACE,KAAK,CAAE;IAC1B,MAAMQ,SAAS,GAAGN,IAAI,IAAI,IAAI,GAC1B,CAAC,GACDA,IAAI,IAAI,KAAK,GACX,CAAC,GACDA,IAAI,IAAI,MAAM,IAAIA,IAAI,IAAI,MAAM,GAC9B,CAAC,GACD,CAAC;IAET,IAAIH,KAAK,GAAGS,SAAS,GAAGH,QAAQ,EAAE;MAChC;IACF;IAEAC,MAAM,IAAIC,IAAI;IACdR,KAAK,IAAIS,SAAS;IAElB,IAAIA,SAAS,KAAK,CAAC,EAAE;MACnBR,KAAK,IAAI,CAAC;MACVM,MAAM,IAAIR,KAAK,CAACE,KAAK,CAAC,IAAI,EAAE;IAC9B;EACF;EAEA,OAAO,GAAGM,MAAM,gBAAgB;AAClC;AAEA,SAASG,kBAAkBA,CAACX,KAAc,EAAEO,QAAgB,EAA4B;EACtF,MAAMK,UAAU,GAAG,IAAAC,4BAAa,EAACb,KAAK,CAAC;EACvC,MAAMc,aAAa,GAAGf,cAAc,CAACa,UAAU,CAAC;EAChD,IAAIE,aAAa,IAAIP,QAAQ,EAAE;IAC7B,OAAOP,KAAK;EACd;EAEA,OAAO;IACLe,uBAAuB,EAAE,IAAI;IAC7BD,aAAa;IACbE,OAAO,EAAEV,YAAY,CAACM,UAAU,EAAEL,QAAQ;EAC5C,CAAC;AACH;AAEA,SAASU,aAAaA,CACpBjB,KAAc,EACdkB,YAAoB,EACpBC,KAAK,GAAG,CAAC,EACTC,IAAI,GAAG,IAAIC,OAAO,CAAS,CAAC,EAC5BC,GAAG,GAAG,EAAE,EACC;EACT,IAAI,OAAOtB,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOM,YAAY,CAACN,KAAK,EAAEkB,YAAY,CAAC;EAC1C;EAEA,IACElB,KAAK,KAAK,IAAI,IACd,OAAOA,KAAK,KAAK,QAAQ,IACzB,OAAOA,KAAK,KAAK,SAAS,IAC1B,OAAOA,KAAK,KAAK,WAAW,EAC5B;IACA,OAAOA,KAAK;EACd;EAEA,IAAI,OAAOA,KAAK,KAAK,UAAU,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACzF,OAAOuB,MAAM,CAACvB,KAAK,CAAC;EACtB;EAEA,IAAIA,KAAK,YAAYwB,IAAI,EAAE;IACzB,OAAOxB,KAAK,CAACyB,WAAW,CAAC,CAAC;EAC5B;EAEA,IAAI,OAAOzB,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,MAAM0B,aAAa,GAAGJ,GAAG,CAACK,WAAW,CAAC,CAAC;EACvC,IAAID,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,MAAM,EAAE;IACxD,MAAME,UAAU,GAAGX,aAAa,CAACjB,KAAK,EAAEkB,YAAY,EAAEC,KAAK,GAAG,CAAC,EAAEC,IAAI,CAAC;IACtE,OAAOT,kBAAkB,CAACiB,UAAU,EAAEV,YAAY,CAAC;EACrD;EAEA,IAAIE,IAAI,CAACS,GAAG,CAAC7B,KAAK,CAAC,EAAE;IACnB,OAAO,YAAY;EACrB;EAEA,IAAImB,KAAK,IAAIrB,SAAS,EAAE;IACtB,OAAO,YAAY;EACrB;EAEAsB,IAAI,CAACU,GAAG,CAAC9B,KAAK,CAAC;EAEf,IAAI+B,KAAK,CAACC,OAAO,CAAChC,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACiC,GAAG,CAAEC,IAAI,IAAKjB,aAAa,CAACiB,IAAI,EAAEhB,YAAY,EAAEC,KAAK,GAAG,CAAC,EAAEC,IAAI,CAAC,CAAC;EAChF;EAEA,OAAOe,MAAM,CAACC,OAAO,CAACpC,KAAgC,CAAC,CAACqC,MAAM,CAC5D,CAACC,GAAG,EAAE,CAACC,QAAQ,EAAEC,UAAU,CAAC,KAAK;IAC/BF,GAAG,CAACC,QAAQ,CAAC,GAAGtB,aAAa,CAACuB,UAAU,EAAEtB,YAAY,EAAEC,KAAK,GAAG,CAAC,EAAEC,IAAI,EAAEmB,QAAQ,CAAC;IAClF,OAAOD,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;AACH;AAEO,SAASG,uBAAuBA,CACrCC,OAAoG,GAAG,CAAC,CAAC,EACtF;EACnB,MAAMC,QAAQ,GAAGD,OAAO,CAACE,eAAe,IAAIC,0BAAY;EACxD,MAAMC,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACP,OAAO,CAACI,UAAU,IAAIlD,oBAAoB,CAAC,CAAC;EACtF,MAAMsB,YAAY,GAAG6B,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,KAAK,CAACP,OAAO,CAACxB,YAAY,IAAIrB,sBAAsB,CAAC,CAAC;EAC9F,MAAMqD,YAAY,GAAGR,OAAO,CAACQ,YAAY,EAAE/C,MAAM,GAAG,IAAIgD,GAAG,CAACT,OAAO,CAACQ,YAAY,CAAC,GAAG,IAAI;EACxF,MAAME,IAA+B,GAAG,CAAC,CAAC;EAE1CT,QAAQ,CAACU,QAAQ,CAACC,OAAO,CAAEC,OAAO,IAAK;IACrC,IAAIL,YAAY,IAAI,CAACA,YAAY,CAACrB,GAAG,CAAC0B,OAAO,CAACC,IAAI,CAAC,EAAE;MACnD;IACF;IAEA,IAAIC,QAAiB;IACrB,IAAI;MACFA,QAAQ,GAAGF,OAAO,CAACG,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,MAAM;MACN;IACF;IAEA,IAAI,CAAC3B,KAAK,CAACC,OAAO,CAACyB,QAAQ,CAAC,EAAE;MAC5B;IACF;IAEAL,IAAI,CAACG,OAAO,CAACC,IAAI,CAAC,GAAGC,QAAQ,CAC1BE,KAAK,CAAC,CAACb,UAAU,CAAC,CAClBb,GAAG,CAAE2B,KAAK,IAAK3C,aAAa,CAAC2C,KAAK,EAAE1C,YAAY,CAAC,CAAC;EACvD,CAAC,CAAC;EAEF,MAAM2C,SAAS,GAAGC,qBAAQ,CAACD,SAAgD;EAE3E,OAAO;IACLE,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE;MACNC,QAAQ,EAAEH,qBAAQ,CAACI,EAAE;MACrBC,KAAK,EAAGN,SAAS,EAAEM,KAAK,IAAe,SAAS;MAChDC,SAAS,EAAEN,qBAAQ,CAACO,OAAO,IAAI,IAAI,GAAG,SAAS,GAAG9C,MAAM,CAACuC,qBAAQ,CAACO,OAAO,CAAC;MAC1EC,UAAU,EAAGT,SAAS,EAAES,UAAU,IAAe;IACnD,CAAC;IACDC,OAAO,EAAE7B,OAAO,CAAC6B,OAAO;IACxBnB;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_DebugToolkit","_safeStringify","DEFAULT_MAX_PER_TYPE","DEFAULT_MAX_BODY_BYTES","MAX_DEPTH","sanitizeDebugLogEntry","value","maxBodyBytes","sanitizeValue","Math","max","floor","utf8ByteLength","bytes","index","length","code","charCodeAt","truncateUtf8","maxBytes","result","char","charBytes","truncateLargeValue","serialized","safeStringify","originalBytes","__debugToolkitTruncated","preview","depth","seen","WeakSet","key","String","Date","toISOString","normalizedKey","toLowerCase","normalized","has","add","Array","isArray","map","item","Object","entries","reduce","acc","entryKey","entryValue","createDebugDeviceReport","options","provider","featureProvider","debugToolkit","maxPerType","includeTypes","Set","logs","features","forEach","feature","name","snapshot","getSnapshot","slice","entry","constants","Platform","version","device","platform","OS","model","osVersion","Version","appVersion","session"],"sourceRoot":"../../../src","sources":["utils/deviceReport.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createLogRuntime = createLogRuntime;
7
+ exports.getDefaultLogRuntime = getDefaultLogRuntime;
8
+ exports.setDefaultLogRuntime = setDefaultLogRuntime;
9
+ var _SessionManager = require("./SessionManager");
10
+ var _StorageAdapter = require("./StorageAdapter");
11
+ let defaultRuntime = null;
12
+ function createLogRuntime(options = {}) {
13
+ const logStorage = options.logStorage ?? (0, _StorageAdapter.createDefaultLogStorage)();
14
+ return {
15
+ logStorage,
16
+ sessionManager: new _SessionManager.SessionManager(logStorage, {
17
+ maxSessions: options.maxSessions,
18
+ featureKeys: options.featureKeys
19
+ })
20
+ };
21
+ }
22
+ function setDefaultLogRuntime(runtime) {
23
+ defaultRuntime = runtime;
24
+ }
25
+ function getDefaultLogRuntime() {
26
+ if (!defaultRuntime) {
27
+ defaultRuntime = createLogRuntime();
28
+ defaultRuntime.sessionManager.initialize().catch(() => {});
29
+ }
30
+ return defaultRuntime;
31
+ }
32
+ //# sourceMappingURL=logRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_SessionManager","require","_StorageAdapter","defaultRuntime","createLogRuntime","options","logStorage","createDefaultLogStorage","sessionManager","SessionManager","maxSessions","featureKeys","setDefaultLogRuntime","runtime","getDefaultLogRuntime","initialize","catch"],"sourceRoot":"../../../src","sources":["utils/logRuntime.ts"],"mappings":";;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAcA,IAAIE,cAAwC,GAAG,IAAI;AAE5C,SAASC,gBAAgBA,CAACC,OAA0B,GAAG,CAAC,CAAC,EAAqB;EACnF,MAAMC,UAAU,GAAGD,OAAO,CAACC,UAAU,IAAI,IAAAC,uCAAuB,EAAC,CAAC;EAClE,OAAO;IACLD,UAAU;IACVE,cAAc,EAAE,IAAIC,8BAAc,CAACH,UAAU,EAAE;MAC7CI,WAAW,EAAEL,OAAO,CAACK,WAAW;MAChCC,WAAW,EAAEN,OAAO,CAACM;IACvB,CAAC;EACH,CAAC;AACH;AAEO,SAASC,oBAAoBA,CAACC,OAAiC,EAAQ;EAC5EV,cAAc,GAAGU,OAAO;AAC1B;AAEO,SAASC,oBAAoBA,CAAA,EAAsB;EACxD,IAAI,CAACX,cAAc,EAAE;IACnBA,cAAc,GAAGC,gBAAgB,CAAC,CAAC;IACnCD,cAAc,CAACK,cAAc,CAACO,UAAU,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EAC5D;EACA,OAAOb,cAAc;AACvB","ignoreList":[]}