react-native-debug-toolkit 2.3.0 → 3.0.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.
- package/bin/debug-toolkit.js +114 -0
- package/lib/commonjs/features/network/index.js +28 -2
- package/lib/commonjs/features/network/index.js.map +1 -1
- package/lib/commonjs/features/network/networkInterceptor.js +14 -6
- package/lib/commonjs/features/network/networkInterceptor.js.map +1 -1
- package/lib/commonjs/index.js +59 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/panel/DebugPanel.js +25 -0
- package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
- package/lib/commonjs/ui/panel/FloatPanelView.js +15 -62
- package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -1
- package/lib/commonjs/ui/panel/StreamingSettingsModal.js +529 -0
- package/lib/commonjs/ui/panel/StreamingSettingsModal.js.map +1 -0
- package/lib/commonjs/ui/panel/useTabAnimation.js +71 -0
- package/lib/commonjs/ui/panel/useTabAnimation.js.map +1 -0
- package/lib/commonjs/utils/autoDetectDaemon.js +141 -0
- package/lib/commonjs/utils/autoDetectDaemon.js.map +1 -0
- package/lib/commonjs/utils/createPersistedObservableStore.js +23 -3
- package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -1
- package/lib/commonjs/utils/daemonConnection.js +81 -0
- package/lib/commonjs/utils/daemonConnection.js.map +1 -0
- package/lib/commonjs/utils/daemonSettings.js +110 -0
- package/lib/commonjs/utils/daemonSettings.js.map +1 -0
- package/lib/commonjs/utils/reportToDaemon.js +112 -0
- package/lib/commonjs/utils/reportToDaemon.js.map +1 -0
- package/lib/commonjs/utils/sessionReport.js +132 -0
- package/lib/commonjs/utils/sessionReport.js.map +1 -0
- package/lib/commonjs/utils/streamToDaemon.js +334 -0
- package/lib/commonjs/utils/streamToDaemon.js.map +1 -0
- package/lib/module/features/network/index.js +25 -1
- package/lib/module/features/network/index.js.map +1 -1
- package/lib/module/features/network/networkInterceptor.js +14 -6
- package/lib/module/features/network/networkInterceptor.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/panel/DebugPanel.js +26 -1
- package/lib/module/ui/panel/DebugPanel.js.map +1 -1
- package/lib/module/ui/panel/FloatPanelView.js +16 -63
- package/lib/module/ui/panel/FloatPanelView.js.map +1 -1
- package/lib/module/ui/panel/StreamingSettingsModal.js +524 -0
- package/lib/module/ui/panel/StreamingSettingsModal.js.map +1 -0
- package/lib/module/ui/panel/useTabAnimation.js +67 -0
- package/lib/module/ui/panel/useTabAnimation.js.map +1 -0
- package/lib/module/utils/autoDetectDaemon.js +136 -0
- package/lib/module/utils/autoDetectDaemon.js.map +1 -0
- package/lib/module/utils/createPersistedObservableStore.js +23 -3
- package/lib/module/utils/createPersistedObservableStore.js.map +1 -1
- package/lib/module/utils/daemonConnection.js +77 -0
- package/lib/module/utils/daemonConnection.js.map +1 -0
- package/lib/module/utils/daemonSettings.js +102 -0
- package/lib/module/utils/daemonSettings.js.map +1 -0
- package/lib/module/utils/reportToDaemon.js +105 -0
- package/lib/module/utils/reportToDaemon.js.map +1 -0
- package/lib/module/utils/sessionReport.js +128 -0
- package/lib/module/utils/sessionReport.js.map +1 -0
- package/lib/module/utils/streamToDaemon.js +328 -0
- package/lib/module/utils/streamToDaemon.js.map +1 -0
- package/lib/typescript/src/features/network/index.d.ts +2 -0
- package/lib/typescript/src/features/network/index.d.ts.map +1 -1
- package/lib/typescript/src/features/network/networkInterceptor.d.ts +1 -1
- package/lib/typescript/src/features/network/networkInterceptor.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +10 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -1
- package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts +8 -0
- package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts.map +1 -0
- package/lib/typescript/src/ui/panel/useTabAnimation.d.ts +14 -0
- package/lib/typescript/src/ui/panel/useTabAnimation.d.ts.map +1 -0
- package/lib/typescript/src/utils/autoDetectDaemon.d.ts +15 -0
- package/lib/typescript/src/utils/autoDetectDaemon.d.ts.map +1 -0
- package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +2 -1
- package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -1
- package/lib/typescript/src/utils/daemonConnection.d.ts +18 -0
- package/lib/typescript/src/utils/daemonConnection.d.ts.map +1 -0
- package/lib/typescript/src/utils/daemonSettings.d.ts +19 -0
- package/lib/typescript/src/utils/daemonSettings.d.ts.map +1 -0
- package/lib/typescript/src/utils/reportToDaemon.d.ts +34 -0
- package/lib/typescript/src/utils/reportToDaemon.d.ts.map +1 -0
- package/lib/typescript/src/utils/sessionReport.d.ts +18 -0
- package/lib/typescript/src/utils/sessionReport.d.ts.map +1 -0
- package/lib/typescript/src/utils/streamToDaemon.d.ts +23 -0
- package/lib/typescript/src/utils/streamToDaemon.d.ts.map +1 -0
- package/node/daemon/src/cli.js +75 -0
- package/node/daemon/src/console/console.html +936 -0
- package/node/daemon/src/console/index.js +47 -0
- package/node/daemon/src/constants.js +32 -0
- package/node/daemon/src/index.js +11 -0
- package/node/daemon/src/server.js +365 -0
- package/node/daemon/src/store.js +110 -0
- package/node/mcp/src/cli.js +31 -0
- package/node/mcp/src/constants.js +13 -0
- package/node/mcp/src/daemonClient.js +132 -0
- package/node/mcp/src/httpClient.js +49 -0
- package/node/mcp/src/index.js +15 -0
- package/node/mcp/src/logs.js +95 -0
- package/node/mcp/src/server.js +144 -0
- package/node/mcp/src/tools.js +84 -0
- package/package.json +7 -2
- package/src/features/network/index.ts +30 -3
- package/src/features/network/networkInterceptor.ts +19 -6
- package/src/index.ts +14 -0
- package/src/ui/panel/DebugPanel.tsx +23 -1
- package/src/ui/panel/FloatPanelView.tsx +10 -68
- package/src/ui/panel/StreamingSettingsModal.tsx +566 -0
- package/src/ui/panel/useTabAnimation.ts +77 -0
- package/src/utils/autoDetectDaemon.ts +175 -0
- package/src/utils/createPersistedObservableStore.ts +16 -3
- package/src/utils/daemonConnection.ts +133 -0
- package/src/utils/daemonSettings.ts +134 -0
- package/src/utils/reportToDaemon.ts +172 -0
- package/src/utils/sessionReport.ts +203 -0
- package/src/utils/streamToDaemon.ts +419 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","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","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","createDebugSessionReport","options","maxPerType","Math","max","floor","includeTypes","Set","logs","features","forEach","feature","name","snapshot","getSnapshot","slice","entry","constants","version","device","platform","OS","model","osVersion","Version","appVersion"],"sourceRoot":"../../../src","sources":["utils/sessionReport.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { AppState } from 'react-native';
|
|
4
|
+
import { DebugToolkit } from '../core/DebugToolkit';
|
|
5
|
+
import { _addDaemonEndpointToNetworkBlacklist } from '../features/network';
|
|
6
|
+
import { createDebugSessionReport } from './sessionReport';
|
|
7
|
+
import { buildDaemonUrl, getDefaultDaemonEndpoint, getGlobalFetch } from './reportToDaemon';
|
|
8
|
+
import { safeStringify } from './safeStringify';
|
|
9
|
+
const DEFAULT_DEBOUNCE_MS = 200;
|
|
10
|
+
const DEFAULT_TIMEOUT_MS = 3000;
|
|
11
|
+
const RETRY_BASE_MS = 1000;
|
|
12
|
+
const MAX_RETRY_DELAY_MS = 30000;
|
|
13
|
+
const MAX_RETRY_ATTEMPTS = 10;
|
|
14
|
+
const BACKGROUND_RESYNC_THRESHOLD_MS = 5 * 60 * 1000;
|
|
15
|
+
let active = null;
|
|
16
|
+
function createAbortController() {
|
|
17
|
+
const AbortControllerCtor = globalThis.AbortController;
|
|
18
|
+
return AbortControllerCtor ? new AbortControllerCtor() : undefined;
|
|
19
|
+
}
|
|
20
|
+
function getEntryId(entry) {
|
|
21
|
+
if (!entry || typeof entry !== 'object') {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const id = entry.id;
|
|
25
|
+
return typeof id === 'string' || typeof id === 'number' ? id : null;
|
|
26
|
+
}
|
|
27
|
+
function snapshotToIds(snapshot) {
|
|
28
|
+
return new Set(snapshot.map(getEntryId).filter(id => id != null));
|
|
29
|
+
}
|
|
30
|
+
function fetchHeaders(state) {
|
|
31
|
+
const headers = {
|
|
32
|
+
'Content-Type': 'application/json'
|
|
33
|
+
};
|
|
34
|
+
if (state.token) headers.Authorization = `Bearer ${state.token}`;
|
|
35
|
+
return headers;
|
|
36
|
+
}
|
|
37
|
+
function emitStatus(state, status) {
|
|
38
|
+
try {
|
|
39
|
+
state.onStatus?.(status);
|
|
40
|
+
} catch {
|
|
41
|
+
// Consumer status callbacks should not affect log delivery.
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function isAuthFailure(status) {
|
|
45
|
+
return status === 401 || status === 403;
|
|
46
|
+
}
|
|
47
|
+
function failStreaming(state, reason) {
|
|
48
|
+
if (active !== state) return;
|
|
49
|
+
emitStatus(state, {
|
|
50
|
+
state: 'failed',
|
|
51
|
+
reason
|
|
52
|
+
});
|
|
53
|
+
stopStreaming();
|
|
54
|
+
}
|
|
55
|
+
async function doPost(url, headers, body, timeoutMs) {
|
|
56
|
+
const fetchImpl = getGlobalFetch();
|
|
57
|
+
if (!fetchImpl) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
const controller = createAbortController();
|
|
61
|
+
const timeout = controller && timeoutMs > 0 ? setTimeout(() => controller.abort(), timeoutMs) : undefined;
|
|
62
|
+
try {
|
|
63
|
+
return await fetchImpl(url, {
|
|
64
|
+
method: 'POST',
|
|
65
|
+
headers,
|
|
66
|
+
body: safeStringify(body),
|
|
67
|
+
signal: controller?.signal
|
|
68
|
+
});
|
|
69
|
+
} catch {
|
|
70
|
+
return null;
|
|
71
|
+
} finally {
|
|
72
|
+
if (timeout) {
|
|
73
|
+
clearTimeout(timeout);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function resetRetry(state) {
|
|
78
|
+
state.retryAttempt = 0;
|
|
79
|
+
if (state.retryTimer) {
|
|
80
|
+
clearTimeout(state.retryTimer);
|
|
81
|
+
state.retryTimer = null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function scheduleRetry(state) {
|
|
85
|
+
if (state.retryTimer) return;
|
|
86
|
+
if (state.retryAttempt >= MAX_RETRY_ATTEMPTS) {
|
|
87
|
+
failStreaming(state, 'retry_limit');
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const delay = Math.min(RETRY_BASE_MS * 2 ** state.retryAttempt, MAX_RETRY_DELAY_MS);
|
|
91
|
+
state.retryAttempt += 1;
|
|
92
|
+
emitStatus(state, {
|
|
93
|
+
state: 'retrying',
|
|
94
|
+
retryInMs: delay
|
|
95
|
+
});
|
|
96
|
+
state.retryTimer = setTimeout(() => {
|
|
97
|
+
state.retryTimer = null;
|
|
98
|
+
if (active !== state) return;
|
|
99
|
+
if (state.sessionId) {
|
|
100
|
+
sendDelta(state);
|
|
101
|
+
} else {
|
|
102
|
+
sendFullReport(state);
|
|
103
|
+
}
|
|
104
|
+
}, delay);
|
|
105
|
+
}
|
|
106
|
+
async function sendFullReport(state) {
|
|
107
|
+
if (state.sending) return;
|
|
108
|
+
state.sending = true;
|
|
109
|
+
let result = 'ok';
|
|
110
|
+
try {
|
|
111
|
+
result = await doSendFullReport(state);
|
|
112
|
+
if (result === 'ok') resetRetry(state);
|
|
113
|
+
} finally {
|
|
114
|
+
state.sending = false;
|
|
115
|
+
if (active !== state) return;
|
|
116
|
+
if (result === 'auth_failed') {
|
|
117
|
+
failStreaming(state, 'auth');
|
|
118
|
+
} else if (result === 'retry') {
|
|
119
|
+
scheduleRetry(state);
|
|
120
|
+
} else if (state.dirtyFeatures.size > 0 && !state.debounceTimer) {
|
|
121
|
+
scheduleDelta(state);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async function doSendFullReport(state) {
|
|
126
|
+
const report = createDebugSessionReport();
|
|
127
|
+
const response = await doPost(state.reportUrl, fetchHeaders(state), report, state.timeoutMs);
|
|
128
|
+
if (!response) return 'retry';
|
|
129
|
+
if (isAuthFailure(response.status)) return 'auth_failed';
|
|
130
|
+
if (response.status < 200 || response.status >= 300) return 'retry';
|
|
131
|
+
try {
|
|
132
|
+
const body = response.json ? await response.json() : null;
|
|
133
|
+
if (body?.ok !== true || typeof body.sessionId !== 'string') return 'retry';
|
|
134
|
+
state.sessionId = body.sessionId;
|
|
135
|
+
emitStatus(state, {
|
|
136
|
+
state: 'connected',
|
|
137
|
+
sessionId: body.sessionId
|
|
138
|
+
});
|
|
139
|
+
} catch {
|
|
140
|
+
return 'retry';
|
|
141
|
+
}
|
|
142
|
+
state.lastSentIds.clear();
|
|
143
|
+
for (const feature of DebugToolkit.features) {
|
|
144
|
+
try {
|
|
145
|
+
const snapshot = feature.getSnapshot();
|
|
146
|
+
if (Array.isArray(snapshot)) state.lastSentIds.set(feature.name, snapshotToIds(snapshot));
|
|
147
|
+
} catch {
|
|
148
|
+
// skip
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return 'ok';
|
|
152
|
+
}
|
|
153
|
+
async function sendDelta(state) {
|
|
154
|
+
if (state.sending || state.dirtyFeatures.size === 0) return;
|
|
155
|
+
state.sending = true;
|
|
156
|
+
let retry = false;
|
|
157
|
+
try {
|
|
158
|
+
const delta = {};
|
|
159
|
+
const nextSentIds = new Map();
|
|
160
|
+
const features = DebugToolkit.features;
|
|
161
|
+
for (const featureName of state.dirtyFeatures) {
|
|
162
|
+
const feature = features.find(f => f.name === featureName);
|
|
163
|
+
if (!feature) continue;
|
|
164
|
+
let snapshot;
|
|
165
|
+
try {
|
|
166
|
+
snapshot = feature.getSnapshot();
|
|
167
|
+
} catch {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
if (!Array.isArray(snapshot)) continue;
|
|
171
|
+
const prevIds = state.lastSentIds.get(featureName) || new Set();
|
|
172
|
+
const newEntries = snapshot.filter(entry => {
|
|
173
|
+
const id = getEntryId(entry);
|
|
174
|
+
return id != null && !prevIds.has(id);
|
|
175
|
+
});
|
|
176
|
+
if (newEntries.length > 0) {
|
|
177
|
+
delta[featureName] = newEntries;
|
|
178
|
+
nextSentIds.set(featureName, snapshotToIds(snapshot));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
state.dirtyFeatures.clear();
|
|
182
|
+
state.debounceTimer = null;
|
|
183
|
+
if (Object.keys(delta).length === 0) return;
|
|
184
|
+
if (!state.sessionId) {
|
|
185
|
+
const result = await doSendFullReport(state);
|
|
186
|
+
retry = result === 'retry';
|
|
187
|
+
if (result !== 'ok') Object.keys(delta).forEach(featureName => state.dirtyFeatures.add(featureName));
|
|
188
|
+
if (result === 'auth_failed') failStreaming(state, 'auth');
|
|
189
|
+
if (result === 'ok') resetRetry(state);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const response = await doPost(state.ingestUrl, fetchHeaders(state), {
|
|
193
|
+
sessionId: state.sessionId,
|
|
194
|
+
delta: {
|
|
195
|
+
logs: delta
|
|
196
|
+
}
|
|
197
|
+
}, state.timeoutMs);
|
|
198
|
+
if (!response) {
|
|
199
|
+
Object.keys(delta).forEach(featureName => state.dirtyFeatures.add(featureName));
|
|
200
|
+
retry = true;
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (response.status === 404) {
|
|
204
|
+
state.sessionId = null;
|
|
205
|
+
state.lastSentIds.clear();
|
|
206
|
+
const result = await doSendFullReport(state);
|
|
207
|
+
retry = result === 'retry';
|
|
208
|
+
if (result !== 'ok') Object.keys(delta).forEach(featureName => state.dirtyFeatures.add(featureName));
|
|
209
|
+
if (result === 'auth_failed') failStreaming(state, 'auth');
|
|
210
|
+
if (result === 'ok') resetRetry(state);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
if (isAuthFailure(response.status)) {
|
|
214
|
+
Object.keys(delta).forEach(featureName => state.dirtyFeatures.add(featureName));
|
|
215
|
+
failStreaming(state, 'auth');
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
if (response.status < 200 || response.status >= 300) {
|
|
219
|
+
Object.keys(delta).forEach(featureName => state.dirtyFeatures.add(featureName));
|
|
220
|
+
retry = true;
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
nextSentIds.forEach((ids, featureName) => {
|
|
224
|
+
state.lastSentIds.set(featureName, ids);
|
|
225
|
+
});
|
|
226
|
+
resetRetry(state);
|
|
227
|
+
if (state.sessionId) {
|
|
228
|
+
emitStatus(state, {
|
|
229
|
+
state: 'connected',
|
|
230
|
+
sessionId: state.sessionId
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
} finally {
|
|
234
|
+
state.sending = false;
|
|
235
|
+
if (active !== state) return;
|
|
236
|
+
if (retry && state.dirtyFeatures.size > 0) {
|
|
237
|
+
scheduleRetry(state);
|
|
238
|
+
} else if (state.dirtyFeatures.size > 0 && !state.debounceTimer) {
|
|
239
|
+
scheduleDelta(state);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
function scheduleDelta(state) {
|
|
244
|
+
if (state.debounceTimer) clearTimeout(state.debounceTimer);
|
|
245
|
+
state.debounceTimer = setTimeout(() => {
|
|
246
|
+
state.debounceTimer = null;
|
|
247
|
+
if (active === state) sendDelta(state);
|
|
248
|
+
}, state.debounceMs);
|
|
249
|
+
}
|
|
250
|
+
function onFeatureChange(featureName) {
|
|
251
|
+
if (!active) return;
|
|
252
|
+
active.dirtyFeatures.add(featureName);
|
|
253
|
+
if (active.retryTimer) return;
|
|
254
|
+
scheduleDelta(active);
|
|
255
|
+
}
|
|
256
|
+
function handleAppStateChange(nextState) {
|
|
257
|
+
if (!active) return;
|
|
258
|
+
if (nextState === 'background') {
|
|
259
|
+
active.backgroundedAt = Date.now();
|
|
260
|
+
if (active.debounceTimer) {
|
|
261
|
+
clearTimeout(active.debounceTimer);
|
|
262
|
+
active.debounceTimer = null;
|
|
263
|
+
}
|
|
264
|
+
sendDelta(active);
|
|
265
|
+
} else if (nextState === 'active') {
|
|
266
|
+
const wasAway = active.backgroundedAt ? Date.now() - active.backgroundedAt : 0;
|
|
267
|
+
active.backgroundedAt = null;
|
|
268
|
+
if (wasAway > BACKGROUND_RESYNC_THRESHOLD_MS || !active.sessionId) {
|
|
269
|
+
active.sessionId = null;
|
|
270
|
+
active.lastSentIds.clear();
|
|
271
|
+
sendFullReport(active);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
export function startStreaming(options = {}) {
|
|
276
|
+
if (active) return;
|
|
277
|
+
const endpoint = options.endpoint || getDefaultDaemonEndpoint();
|
|
278
|
+
const reportUrl = buildDaemonUrl(endpoint, '/report');
|
|
279
|
+
const ingestUrl = buildDaemonUrl(endpoint, '/ingest');
|
|
280
|
+
_addDaemonEndpointToNetworkBlacklist(endpoint);
|
|
281
|
+
_addDaemonEndpointToNetworkBlacklist(reportUrl);
|
|
282
|
+
_addDaemonEndpointToNetworkBlacklist(ingestUrl);
|
|
283
|
+
const state = {
|
|
284
|
+
endpoint,
|
|
285
|
+
reportUrl,
|
|
286
|
+
ingestUrl,
|
|
287
|
+
token: options.token,
|
|
288
|
+
debounceMs: options.debounceMs || DEFAULT_DEBOUNCE_MS,
|
|
289
|
+
timeoutMs: Math.max(0, options.timeoutMs ?? DEFAULT_TIMEOUT_MS),
|
|
290
|
+
sessionId: null,
|
|
291
|
+
sending: false,
|
|
292
|
+
debounceTimer: null,
|
|
293
|
+
retryTimer: null,
|
|
294
|
+
retryAttempt: 0,
|
|
295
|
+
dirtyFeatures: new Set(),
|
|
296
|
+
lastSentIds: new Map(),
|
|
297
|
+
featureUnsubscribes: [],
|
|
298
|
+
appStateUnsubscribe: null,
|
|
299
|
+
backgroundedAt: null,
|
|
300
|
+
onStatus: options.onStatus
|
|
301
|
+
};
|
|
302
|
+
for (const feature of DebugToolkit.features) {
|
|
303
|
+
if (!feature.subscribe) continue;
|
|
304
|
+
const unsub = feature.subscribe(() => {
|
|
305
|
+
onFeatureChange(feature.name);
|
|
306
|
+
});
|
|
307
|
+
state.featureUnsubscribes.push(unsub);
|
|
308
|
+
}
|
|
309
|
+
state.appStateUnsubscribe = AppState.addEventListener('change', handleAppStateChange).remove;
|
|
310
|
+
active = state;
|
|
311
|
+
emitStatus(active, {
|
|
312
|
+
state: 'connecting'
|
|
313
|
+
});
|
|
314
|
+
sendFullReport(active);
|
|
315
|
+
}
|
|
316
|
+
export function stopStreaming() {
|
|
317
|
+
if (!active) return;
|
|
318
|
+
const state = active;
|
|
319
|
+
active = null;
|
|
320
|
+
if (state.debounceTimer) clearTimeout(state.debounceTimer);
|
|
321
|
+
if (state.retryTimer) clearTimeout(state.retryTimer);
|
|
322
|
+
state.featureUnsubscribes.forEach(fn => fn());
|
|
323
|
+
state.appStateUnsubscribe?.();
|
|
324
|
+
}
|
|
325
|
+
export function isStreaming() {
|
|
326
|
+
return active !== null;
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=streamToDaemon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AppState","DebugToolkit","_addDaemonEndpointToNetworkBlacklist","createDebugSessionReport","buildDaemonUrl","getDefaultDaemonEndpoint","getGlobalFetch","safeStringify","DEFAULT_DEBOUNCE_MS","DEFAULT_TIMEOUT_MS","RETRY_BASE_MS","MAX_RETRY_DELAY_MS","MAX_RETRY_ATTEMPTS","BACKGROUND_RESYNC_THRESHOLD_MS","active","createAbortController","AbortControllerCtor","globalThis","AbortController","undefined","getEntryId","entry","id","snapshotToIds","snapshot","Set","map","filter","fetchHeaders","state","headers","token","Authorization","emitStatus","status","onStatus","isAuthFailure","failStreaming","reason","stopStreaming","doPost","url","body","timeoutMs","fetchImpl","controller","timeout","setTimeout","abort","method","signal","clearTimeout","resetRetry","retryAttempt","retryTimer","scheduleRetry","delay","Math","min","retryInMs","sessionId","sendDelta","sendFullReport","sending","result","doSendFullReport","dirtyFeatures","size","debounceTimer","scheduleDelta","report","response","reportUrl","json","ok","lastSentIds","clear","feature","features","getSnapshot","Array","isArray","set","name","retry","delta","nextSentIds","Map","featureName","find","f","prevIds","get","newEntries","has","length","Object","keys","forEach","add","ingestUrl","logs","ids","debounceMs","onFeatureChange","handleAppStateChange","nextState","backgroundedAt","Date","now","wasAway","startStreaming","options","endpoint","max","featureUnsubscribes","appStateUnsubscribe","subscribe","unsub","push","addEventListener","remove","fn","isStreaming"],"sourceRoot":"../../../src","sources":["utils/streamToDaemon.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,8 @@ export interface NetworkFeatureConfig {
|
|
|
6
6
|
blacklist?: Array<string | RegExp>;
|
|
7
7
|
}
|
|
8
8
|
export declare const createNetworkFeature: (config?: NetworkFeatureConfig) => DebugFeature<NetworkLogEntry[]>;
|
|
9
|
+
export declare function _addDaemonEndpointToNetworkBlacklist(endpoint: string): void;
|
|
10
|
+
export declare function _isNetworkUrlBlacklistedForTesting(url: string): boolean;
|
|
9
11
|
/** Reset module-level state for testing */
|
|
10
12
|
export declare function _resetNetworkForTesting(): void;
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/network/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsCjE,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,oBAAoB,KAAG,YAAY,CAAC,eAAe,EAAE,CAgDlG,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/network/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsCjE,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,oBAAoB,KAAG,YAAY,CAAC,eAAe,EAAE,CAgDlG,CAAC;AAgBF,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM3E;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,2CAA2C;AAC3C,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NetworkLogEntry } from '../../types';
|
|
2
2
|
type NetworkLogPayload = Omit<NetworkLogEntry, 'id'>;
|
|
3
|
+
export type { NetworkLogPayload };
|
|
3
4
|
export declare function startXMLHttpRequest(emit: (entry: NetworkLogPayload) => void): () => void;
|
|
4
5
|
export declare function resetInterceptors(): void;
|
|
5
|
-
export {};
|
|
6
6
|
//# sourceMappingURL=networkInterceptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networkInterceptor.d.ts","sourceRoot":"","sources":["../../../../../src/features/network/networkInterceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,KAAK,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"networkInterceptor.d.ts","sourceRoot":"","sources":["../../../../../src/features/network/networkInterceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,KAAK,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAErD,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAoKlC,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GACvC,MAAM,IAAI,CAqHZ;AAID,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC"}
|
|
@@ -21,6 +21,16 @@ export { useNavigationLogger } from './features/navigation/useNavigationLogger';
|
|
|
21
21
|
export { safeStringify } from './utils/safeStringify';
|
|
22
22
|
export { copyToComputer, logToComputer, fmt } from './utils/copyToComputer';
|
|
23
23
|
export type { CopyResult, CopyOptions, CopyMethod } from './utils/copyToComputer';
|
|
24
|
+
export { createDebugSessionReport } from './utils/sessionReport';
|
|
25
|
+
export type { DebugSessionReport, DebugSessionReportOptions } from './utils/sessionReport';
|
|
26
|
+
export { getDefaultDaemonEndpoint, reportDebugSessionToDaemon } from './utils/reportToDaemon';
|
|
27
|
+
export type { ReportResult, ReportToDaemonOptions } from './utils/reportToDaemon';
|
|
28
|
+
export { checkDaemonConnection } from './utils/daemonConnection';
|
|
29
|
+
export type { DaemonConnectionFailureReason, DaemonConnectionOptions, DaemonConnectionResult, } from './utils/daemonConnection';
|
|
30
|
+
export { startStreaming, stopStreaming, isStreaming } from './utils/streamToDaemon';
|
|
31
|
+
export type { StreamStatus, StreamToDaemonOptions } from './utils/streamToDaemon';
|
|
32
|
+
export { autoDetectDaemonIp, getMetroHost } from './utils/autoDetectDaemon';
|
|
33
|
+
export type { AutoDetectOptions, AutoDetectResult } from './utils/autoDetectDaemon';
|
|
24
34
|
export type { AnyDebugFeature, BuiltInFeatureName, DebugFeature, DebugFeatureRenderProps, NetworkLogEntry, ConsoleLogEntry, ZustandLogEntry, NavigationLogEntry, TrackLogEntry, EnvironmentConfig, EnvironmentState, } from './types';
|
|
25
35
|
export { initializeDebugToolkit as default } from './core/initialize';
|
|
26
36
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrF,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClG,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrF,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC9F,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EACV,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGpF,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,sBAAsB,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/DebugPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/DebugPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAcxE,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,eAAe,qBAiH5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatPanelView.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/FloatPanelView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FloatPanelView.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/FloatPanelView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAOnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkCnD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,mBAAmB,qBAmGjH"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface StreamingSettingsModalProps {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function StreamingSettingsModal({ visible, onClose }: StreamingSettingsModalProps): React.JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=StreamingSettingsModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingSettingsModal.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/StreamingSettingsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA2BxE,UAAU,2BAA2B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,2BAA2B,qBAgUvF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Animated } from 'react-native';
|
|
2
|
+
interface UseTabAnimationOptions {
|
|
3
|
+
activeTab: number;
|
|
4
|
+
tabCount: number;
|
|
5
|
+
onTabChange: (index: number) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function useTabAnimation({ activeTab, tabCount, onTabChange }: UseTabAnimationOptions): {
|
|
8
|
+
contentOpacity: Animated.Value;
|
|
9
|
+
contentTranslateX: Animated.Value;
|
|
10
|
+
panHandlers: import("react-native").GestureResponderHandlers;
|
|
11
|
+
switchTab: (index: number) => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useTabAnimation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabAnimation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/panel/useTabAnimation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAwB,MAAM,cAAc,CAAC;AAE9D,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,sBAAsB;;;;uBA4BhF,MAAM;EAuCjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface AutoDetectOptions {
|
|
2
|
+
port?: number;
|
|
3
|
+
timeoutMs?: number;
|
|
4
|
+
batchSize?: number;
|
|
5
|
+
scanSubnets?: boolean;
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
}
|
|
8
|
+
export type AutoDetectMethod = 'metro-bundle' | 'network-info' | 'subnet-common' | 'none';
|
|
9
|
+
export interface AutoDetectResult {
|
|
10
|
+
ip: string | null;
|
|
11
|
+
method: AutoDetectMethod;
|
|
12
|
+
}
|
|
13
|
+
export declare function getMetroHost(): string | null;
|
|
14
|
+
export declare function autoDetectDaemonIp(options?: AutoDetectOptions): Promise<AutoDetectResult>;
|
|
15
|
+
//# sourceMappingURL=autoDetectDaemon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoDetectDaemon.d.ts","sourceRoot":"","sources":["../../../../src/utils/autoDetectDaemon.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAyBD,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAU5C;AAiFD,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAyC3B"}
|
|
@@ -6,8 +6,9 @@ export interface PersistedStoreOptions<T> {
|
|
|
6
6
|
serialize?: (entry: T) => unknown;
|
|
7
7
|
}
|
|
8
8
|
export interface PersistedObservableStore<T> extends ObservableStore<T> {
|
|
9
|
-
/** Returns the next auto-incrementing ID and advances the counter. */
|
|
10
9
|
nextId: () => string;
|
|
10
|
+
ready: Promise<void>;
|
|
11
|
+
destroy: () => void;
|
|
11
12
|
}
|
|
12
13
|
export declare function createPersistedObservableStore<T extends {
|
|
13
14
|
id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPersistedObservableStore.d.ts","sourceRoot":"","sources":["../../../../src/utils/createPersistedObservableStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGtF,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACrE,
|
|
1
|
+
{"version":3,"file":"createPersistedObservableStore.d.ts","sourceRoot":"","sources":["../../../../src/utils/createPersistedObservableStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGtF,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACrE,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EACtE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAChC,wBAAwB,CAAC,CAAC,CAAC,CAsE7B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type DaemonConnectionFailureReason = 'fetch_unavailable' | 'timeout' | 'http' | 'invalid_response' | 'network';
|
|
2
|
+
export type DaemonConnectionResult = {
|
|
3
|
+
ok: true;
|
|
4
|
+
endpoint: string;
|
|
5
|
+
status: number;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
endpoint: string;
|
|
9
|
+
reason: DaemonConnectionFailureReason;
|
|
10
|
+
status?: number;
|
|
11
|
+
error?: string;
|
|
12
|
+
};
|
|
13
|
+
export interface DaemonConnectionOptions {
|
|
14
|
+
endpoint?: string;
|
|
15
|
+
timeoutMs?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function checkDaemonConnection(options?: DaemonConnectionOptions): Promise<DaemonConnectionResult>;
|
|
18
|
+
//# sourceMappingURL=daemonConnection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemonConnection.d.ts","sourceRoot":"","sources":["../../../../src/utils/daemonConnection.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,6BAA6B,GACrC,mBAAmB,GACnB,SAAS,GACT,MAAM,GACN,kBAAkB,GAClB,SAAS,CAAC;AAEd,MAAM,MAAM,sBAAsB,GAC9B;IACA,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GACC;IACA,EAAE,EAAE,KAAK,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,6BAA6B,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAmEjC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const DAEMON_ENDPOINT_STORAGE_KEY = "debugToolkit_streamEndpoint";
|
|
2
|
+
export declare const DAEMON_TOKEN_STORAGE_KEY = "debugToolkit_streamToken";
|
|
3
|
+
export declare const DAEMON_CONNECTION_MODE_STORAGE_KEY = "debugToolkit_connectionMode";
|
|
4
|
+
export declare const DAEMON_DEVICE_HOST_STORAGE_KEY = "debugToolkit_deviceHost";
|
|
5
|
+
export type DaemonConnectionMode = 'simulator' | 'device';
|
|
6
|
+
export interface DaemonSettings {
|
|
7
|
+
mode: DaemonConnectionMode;
|
|
8
|
+
endpoint: string;
|
|
9
|
+
deviceHost: string;
|
|
10
|
+
token: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function loadDaemonSettings(): Promise<DaemonSettings>;
|
|
13
|
+
export declare function saveDaemonSettings(settings: DaemonSettings): Promise<void>;
|
|
14
|
+
export declare function buildDeviceDaemonEndpoint(host: string): string;
|
|
15
|
+
export declare function normalizeDaemonSettings(settings: DaemonSettings): {
|
|
16
|
+
endpoint?: string;
|
|
17
|
+
token?: string;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=daemonSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemonSettings.d.ts","sourceRoot":"","sources":["../../../../src/utils/daemonSettings.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AACzE,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,kCAAkC,gCAAgC,CAAC;AAChF,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAExE,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAgBD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CA0BlE;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhF;AA2BD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB9D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CASA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type DebugSessionReport, type DebugSessionReportOptions } from './sessionReport';
|
|
2
|
+
type FetchResponseLike = {
|
|
3
|
+
ok: boolean;
|
|
4
|
+
status: number;
|
|
5
|
+
json?: () => Promise<unknown>;
|
|
6
|
+
text?: () => Promise<string>;
|
|
7
|
+
};
|
|
8
|
+
type FetchLike = (url: string, init: {
|
|
9
|
+
method: string;
|
|
10
|
+
headers: Record<string, string>;
|
|
11
|
+
body?: string;
|
|
12
|
+
signal?: unknown;
|
|
13
|
+
}) => Promise<FetchResponseLike>;
|
|
14
|
+
export interface ReportToDaemonOptions extends DebugSessionReportOptions {
|
|
15
|
+
endpoint?: string;
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
token?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ReportResult {
|
|
20
|
+
ok: boolean;
|
|
21
|
+
endpoint: string;
|
|
22
|
+
report: DebugSessionReport;
|
|
23
|
+
status?: number;
|
|
24
|
+
sessionId?: string;
|
|
25
|
+
receivedAt?: string;
|
|
26
|
+
logCount?: Record<string, number>;
|
|
27
|
+
error?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function getGlobalFetch(): FetchLike | undefined;
|
|
30
|
+
export declare function getDefaultDaemonEndpoint(): string;
|
|
31
|
+
export declare function buildDaemonUrl(endpoint: string, path: string): string;
|
|
32
|
+
export declare function reportDebugSessionToDaemon(options?: ReportToDaemonOptions): Promise<ReportResult>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=reportToDaemon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportToDaemon.d.ts","sourceRoot":"","sources":["../../../../src/utils/reportToDaemon.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAIzB,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,SAAS,GAAG,CACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KACE,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAOhC,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,IAAI,SAAS,GAAG,SAAS,CAEtD;AASD,wBAAgB,wBAAwB,IAAI,MAAM,CAKjD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrE;AAiCD,wBAAsB,0BAA0B,CAC9C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,YAAY,CAAC,CAiEvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface DebugSessionReportOptions {
|
|
2
|
+
maxPerType?: number;
|
|
3
|
+
maxBodyBytes?: number;
|
|
4
|
+
includeTypes?: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface DeviceInfo {
|
|
7
|
+
platform: string;
|
|
8
|
+
model: string;
|
|
9
|
+
osVersion: string;
|
|
10
|
+
appVersion: string;
|
|
11
|
+
}
|
|
12
|
+
export interface DebugSessionReport {
|
|
13
|
+
version: 2;
|
|
14
|
+
device: DeviceInfo;
|
|
15
|
+
logs: Record<string, unknown[] | undefined>;
|
|
16
|
+
}
|
|
17
|
+
export declare function createDebugSessionReport(options?: DebugSessionReportOptions): DebugSessionReport;
|
|
18
|
+
//# sourceMappingURL=sessionReport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionReport.d.ts","sourceRoot":"","sources":["../../../../src/utils/sessionReport.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;CAC7C;AAuID,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,CAuCpB"}
|