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.
Files changed (113) hide show
  1. package/bin/debug-toolkit.js +114 -0
  2. package/lib/commonjs/features/network/index.js +28 -2
  3. package/lib/commonjs/features/network/index.js.map +1 -1
  4. package/lib/commonjs/features/network/networkInterceptor.js +14 -6
  5. package/lib/commonjs/features/network/networkInterceptor.js.map +1 -1
  6. package/lib/commonjs/index.js +59 -0
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/ui/panel/DebugPanel.js +25 -0
  9. package/lib/commonjs/ui/panel/DebugPanel.js.map +1 -1
  10. package/lib/commonjs/ui/panel/FloatPanelView.js +15 -62
  11. package/lib/commonjs/ui/panel/FloatPanelView.js.map +1 -1
  12. package/lib/commonjs/ui/panel/StreamingSettingsModal.js +529 -0
  13. package/lib/commonjs/ui/panel/StreamingSettingsModal.js.map +1 -0
  14. package/lib/commonjs/ui/panel/useTabAnimation.js +71 -0
  15. package/lib/commonjs/ui/panel/useTabAnimation.js.map +1 -0
  16. package/lib/commonjs/utils/autoDetectDaemon.js +141 -0
  17. package/lib/commonjs/utils/autoDetectDaemon.js.map +1 -0
  18. package/lib/commonjs/utils/createPersistedObservableStore.js +23 -3
  19. package/lib/commonjs/utils/createPersistedObservableStore.js.map +1 -1
  20. package/lib/commonjs/utils/daemonConnection.js +81 -0
  21. package/lib/commonjs/utils/daemonConnection.js.map +1 -0
  22. package/lib/commonjs/utils/daemonSettings.js +110 -0
  23. package/lib/commonjs/utils/daemonSettings.js.map +1 -0
  24. package/lib/commonjs/utils/reportToDaemon.js +112 -0
  25. package/lib/commonjs/utils/reportToDaemon.js.map +1 -0
  26. package/lib/commonjs/utils/sessionReport.js +132 -0
  27. package/lib/commonjs/utils/sessionReport.js.map +1 -0
  28. package/lib/commonjs/utils/streamToDaemon.js +334 -0
  29. package/lib/commonjs/utils/streamToDaemon.js.map +1 -0
  30. package/lib/module/features/network/index.js +25 -1
  31. package/lib/module/features/network/index.js.map +1 -1
  32. package/lib/module/features/network/networkInterceptor.js +14 -6
  33. package/lib/module/features/network/networkInterceptor.js.map +1 -1
  34. package/lib/module/index.js +5 -0
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/ui/panel/DebugPanel.js +26 -1
  37. package/lib/module/ui/panel/DebugPanel.js.map +1 -1
  38. package/lib/module/ui/panel/FloatPanelView.js +16 -63
  39. package/lib/module/ui/panel/FloatPanelView.js.map +1 -1
  40. package/lib/module/ui/panel/StreamingSettingsModal.js +524 -0
  41. package/lib/module/ui/panel/StreamingSettingsModal.js.map +1 -0
  42. package/lib/module/ui/panel/useTabAnimation.js +67 -0
  43. package/lib/module/ui/panel/useTabAnimation.js.map +1 -0
  44. package/lib/module/utils/autoDetectDaemon.js +136 -0
  45. package/lib/module/utils/autoDetectDaemon.js.map +1 -0
  46. package/lib/module/utils/createPersistedObservableStore.js +23 -3
  47. package/lib/module/utils/createPersistedObservableStore.js.map +1 -1
  48. package/lib/module/utils/daemonConnection.js +77 -0
  49. package/lib/module/utils/daemonConnection.js.map +1 -0
  50. package/lib/module/utils/daemonSettings.js +102 -0
  51. package/lib/module/utils/daemonSettings.js.map +1 -0
  52. package/lib/module/utils/reportToDaemon.js +105 -0
  53. package/lib/module/utils/reportToDaemon.js.map +1 -0
  54. package/lib/module/utils/sessionReport.js +128 -0
  55. package/lib/module/utils/sessionReport.js.map +1 -0
  56. package/lib/module/utils/streamToDaemon.js +328 -0
  57. package/lib/module/utils/streamToDaemon.js.map +1 -0
  58. package/lib/typescript/src/features/network/index.d.ts +2 -0
  59. package/lib/typescript/src/features/network/index.d.ts.map +1 -1
  60. package/lib/typescript/src/features/network/networkInterceptor.d.ts +1 -1
  61. package/lib/typescript/src/features/network/networkInterceptor.d.ts.map +1 -1
  62. package/lib/typescript/src/index.d.ts +10 -0
  63. package/lib/typescript/src/index.d.ts.map +1 -1
  64. package/lib/typescript/src/ui/panel/DebugPanel.d.ts.map +1 -1
  65. package/lib/typescript/src/ui/panel/FloatPanelView.d.ts.map +1 -1
  66. package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts +8 -0
  67. package/lib/typescript/src/ui/panel/StreamingSettingsModal.d.ts.map +1 -0
  68. package/lib/typescript/src/ui/panel/useTabAnimation.d.ts +14 -0
  69. package/lib/typescript/src/ui/panel/useTabAnimation.d.ts.map +1 -0
  70. package/lib/typescript/src/utils/autoDetectDaemon.d.ts +15 -0
  71. package/lib/typescript/src/utils/autoDetectDaemon.d.ts.map +1 -0
  72. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts +2 -1
  73. package/lib/typescript/src/utils/createPersistedObservableStore.d.ts.map +1 -1
  74. package/lib/typescript/src/utils/daemonConnection.d.ts +18 -0
  75. package/lib/typescript/src/utils/daemonConnection.d.ts.map +1 -0
  76. package/lib/typescript/src/utils/daemonSettings.d.ts +19 -0
  77. package/lib/typescript/src/utils/daemonSettings.d.ts.map +1 -0
  78. package/lib/typescript/src/utils/reportToDaemon.d.ts +34 -0
  79. package/lib/typescript/src/utils/reportToDaemon.d.ts.map +1 -0
  80. package/lib/typescript/src/utils/sessionReport.d.ts +18 -0
  81. package/lib/typescript/src/utils/sessionReport.d.ts.map +1 -0
  82. package/lib/typescript/src/utils/streamToDaemon.d.ts +23 -0
  83. package/lib/typescript/src/utils/streamToDaemon.d.ts.map +1 -0
  84. package/node/daemon/src/cli.js +75 -0
  85. package/node/daemon/src/console/console.html +936 -0
  86. package/node/daemon/src/console/index.js +47 -0
  87. package/node/daemon/src/constants.js +32 -0
  88. package/node/daemon/src/index.js +11 -0
  89. package/node/daemon/src/server.js +365 -0
  90. package/node/daemon/src/store.js +110 -0
  91. package/node/mcp/src/cli.js +31 -0
  92. package/node/mcp/src/constants.js +13 -0
  93. package/node/mcp/src/daemonClient.js +132 -0
  94. package/node/mcp/src/httpClient.js +49 -0
  95. package/node/mcp/src/index.js +15 -0
  96. package/node/mcp/src/logs.js +95 -0
  97. package/node/mcp/src/server.js +144 -0
  98. package/node/mcp/src/tools.js +84 -0
  99. package/package.json +7 -2
  100. package/src/features/network/index.ts +30 -3
  101. package/src/features/network/networkInterceptor.ts +19 -6
  102. package/src/index.ts +14 -0
  103. package/src/ui/panel/DebugPanel.tsx +23 -1
  104. package/src/ui/panel/FloatPanelView.tsx +10 -68
  105. package/src/ui/panel/StreamingSettingsModal.tsx +566 -0
  106. package/src/ui/panel/useTabAnimation.ts +77 -0
  107. package/src/utils/autoDetectDaemon.ts +175 -0
  108. package/src/utils/createPersistedObservableStore.ts +16 -3
  109. package/src/utils/daemonConnection.ts +133 -0
  110. package/src/utils/daemonSettings.ts +134 -0
  111. package/src/utils/reportToDaemon.ts +172 -0
  112. package/src/utils/sessionReport.ts +203 -0
  113. package/src/utils/streamToDaemon.ts +419 -0
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict';
4
+
5
+ const {
6
+ DAEMON_NAME,
7
+ DEFAULT_HOST,
8
+ DEFAULT_PORT,
9
+ getLanIPs,
10
+ } = require('../node/daemon/src/constants');
11
+ const { createDaemonServer } = require('../node/daemon/src/server');
12
+ const { startStdioServer } = require('../node/mcp/src/server');
13
+
14
+ function readOption(args, name, fallback) {
15
+ const index = args.indexOf(name);
16
+ if (index < 0) {
17
+ return fallback;
18
+ }
19
+ return args[index + 1] || fallback;
20
+ }
21
+
22
+ function hasHelpFlag(args) {
23
+ return args.includes('--help') || args.includes('-h');
24
+ }
25
+
26
+ function printHelp() {
27
+ process.stderr.write(
28
+ 'Usage: debug-toolkit [--host 0.0.0.0] [--port 3799] [--token dev-token] [--daemon-only]\n'
29
+ + '\n'
30
+ + 'Starts the debug toolkit: daemon (HTTP + Web Console) and MCP stdio server.\n'
31
+ + '\n'
32
+ + 'Options:\n'
33
+ + ' --host <addr> Host to bind (default: 0.0.0.0)\n'
34
+ + ' --port <port> Port to bind (default: 3799)\n'
35
+ + ' --token <str> Auth token for daemon endpoints\n'
36
+ + ' --daemon-only Start only the HTTP daemon and Web Console\n'
37
+ + ' -h, --help Show this help\n',
38
+ );
39
+ }
40
+
41
+ function hasDaemonOnlyFlag(args) {
42
+ return args.includes('--daemon-only');
43
+ }
44
+
45
+ function getLocalOrigin(host, port) {
46
+ const localHost = host === '0.0.0.0' || host === '::' ? '127.0.0.1' : host;
47
+ return `http://${localHost}:${port}`;
48
+ }
49
+
50
+ async function main() {
51
+ const args = process.argv.slice(2);
52
+
53
+ if (hasHelpFlag(args)) {
54
+ printHelp();
55
+ return;
56
+ }
57
+
58
+ const host = readOption(args, '--host', process.env.DEBUG_TOOLKIT_DAEMON_HOST || DEFAULT_HOST);
59
+ const port = Number(readOption(args, '--port', process.env.DEBUG_TOOLKIT_DAEMON_PORT || DEFAULT_PORT));
60
+ const token = readOption(args, '--token', process.env.DEBUG_TOOLKIT_DAEMON_TOKEN || '');
61
+ const daemonOnly = hasDaemonOnlyFlag(args);
62
+
63
+ if (!Number.isFinite(port) || port <= 0) {
64
+ process.stderr.write('Invalid --port value\n');
65
+ process.exitCode = 1;
66
+ return;
67
+ }
68
+
69
+ // Start daemon HTTP server in-process
70
+ const { server } = createDaemonServer({ token });
71
+
72
+ server.on('error', (error) => {
73
+ process.stderr.write(`${DAEMON_NAME} failed to start: ${error.message}\n`);
74
+ process.exitCode = 1;
75
+ });
76
+
77
+ await new Promise((resolve) => {
78
+ server.listen(port, host, () => {
79
+ const consolePath = token ? `/console?token=${encodeURIComponent(token)}` : '/console';
80
+ process.stderr.write(`${DAEMON_NAME} listening on http://${host}:${port}\n`);
81
+ process.stderr.write(`Web Console: ${getLocalOrigin(host, port)}${consolePath}\n`);
82
+ const lanIPs = getLanIPs();
83
+ if (lanIPs.length > 0) {
84
+ process.stderr.write(`LAN IPs: ${lanIPs.join(', ')}\n`);
85
+ }
86
+ resolve();
87
+ });
88
+ });
89
+
90
+ const close = () => {
91
+ server.close(() => process.exit(0));
92
+ };
93
+
94
+ process.on('SIGINT', close);
95
+ process.on('SIGTERM', close);
96
+
97
+ if (daemonOnly) {
98
+ return;
99
+ }
100
+
101
+ const origin = getLocalOrigin(host, port);
102
+
103
+ // MCP stdio — daemon is in-process, skip HTTP health check
104
+ startStdioServer({
105
+ context: {
106
+ ensureDaemon: async () => ({ ok: true, origin, spawned: false }),
107
+ },
108
+ });
109
+ }
110
+
111
+ main().catch((error) => {
112
+ process.stderr.write(`Fatal: ${error.message}\n`);
113
+ process.exitCode = 1;
114
+ });
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports._addDaemonEndpointToNetworkBlacklist = _addDaemonEndpointToNetworkBlacklist;
7
+ exports._isNetworkUrlBlacklistedForTesting = _isNetworkUrlBlacklistedForTesting;
6
8
  exports._resetNetworkForTesting = _resetNetworkForTesting;
7
9
  exports.createNetworkFeature = void 0;
8
10
  var _NetworkLogTab = require("./NetworkLogTab");
@@ -30,6 +32,7 @@ function emitNetworkLog(entry) {
30
32
  // ─── Feature factory ──────────────────────────────────
31
33
 
32
34
  const DEFAULT_MAX_LOGS = 200;
35
+ const daemonEndpointBlacklist = [];
33
36
  const createNetworkFeature = config => {
34
37
  const maxLogs = config?.maxLogs ?? DEFAULT_MAX_LOGS;
35
38
  const blacklist = config?.blacklist ? [...config.blacklist] : [];
@@ -41,7 +44,7 @@ const createNetworkFeature = config => {
41
44
  let unsubscribeLogs = null;
42
45
  let stopXhrFn = null;
43
46
  const handleLog = entry => {
44
- if (isUrlBlacklisted(entry.request.url, blacklist)) {
47
+ if (isUrlBlacklisted(entry.request.url, [...blacklist, ...daemonEndpointBlacklist])) {
45
48
  return;
46
49
  }
47
50
  logStore.push({
@@ -80,11 +83,34 @@ const createNetworkFeature = config => {
80
83
  subscribe: listener => logStore.subscribe(listener)
81
84
  };
82
85
  };
86
+ exports.createNetworkFeature = createNetworkFeature;
87
+ function normalizeDaemonEndpoint(endpoint) {
88
+ const trimmed = endpoint.trim().replace(/\/+$/, '');
89
+ if (!trimmed) {
90
+ return trimmed;
91
+ }
92
+ try {
93
+ const url = new URL(trimmed);
94
+ return `${url.origin}${url.pathname === '/' ? '' : url.pathname}`;
95
+ } catch {
96
+ return trimmed;
97
+ }
98
+ }
99
+ function _addDaemonEndpointToNetworkBlacklist(endpoint) {
100
+ const normalized = normalizeDaemonEndpoint(endpoint);
101
+ if (!normalized || daemonEndpointBlacklist.includes(normalized)) {
102
+ return;
103
+ }
104
+ daemonEndpointBlacklist.push(normalized);
105
+ }
106
+ function _isNetworkUrlBlacklistedForTesting(url) {
107
+ return isUrlBlacklisted(url, daemonEndpointBlacklist);
108
+ }
83
109
 
84
110
  /** Reset module-level state for testing */
85
- exports.createNetworkFeature = createNetworkFeature;
86
111
  function _resetNetworkForTesting() {
87
112
  networkChannel = (0, _createEventChannel.createEventChannel)();
113
+ daemonEndpointBlacklist.splice(0, daemonEndpointBlacklist.length);
88
114
  (0, _networkInterceptor.resetInterceptors)();
89
115
  }
90
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_NetworkLogTab","require","_createEventChannel","_createPersistedObservableStore","_debugPreferences","_urlRewriterRegistry","_networkInterceptor","isUrlBlacklisted","url","blacklist","some","pattern","RegExp","test","includes","networkChannel","createEventChannel","emitNetworkLog","entry","emit","DEFAULT_MAX_LOGS","createNetworkFeature","config","maxLogs","logStore","createPersistedObservableStore","storageKey","KEYS","networkLogs","maxPersist","initialized","unsubscribeLogs","stopXhrFn","handleLog","request","push","id","nextId","name","label","renderContent","NetworkLogTab","setup","subscribe","startXMLHttpRequest","getSnapshot","getData","clear","cleanup","urlRewriter","set","listener","exports","_resetNetworkForTesting","resetInterceptors"],"sourceRoot":"../../../../src","sources":["features/network/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_NetworkLogTab","require","_createEventChannel","_createPersistedObservableStore","_debugPreferences","_urlRewriterRegistry","_networkInterceptor","isUrlBlacklisted","url","blacklist","some","pattern","RegExp","test","includes","networkChannel","createEventChannel","emitNetworkLog","entry","emit","DEFAULT_MAX_LOGS","daemonEndpointBlacklist","createNetworkFeature","config","maxLogs","logStore","createPersistedObservableStore","storageKey","KEYS","networkLogs","maxPersist","initialized","unsubscribeLogs","stopXhrFn","handleLog","request","push","id","nextId","name","label","renderContent","NetworkLogTab","setup","subscribe","startXMLHttpRequest","getSnapshot","getData","clear","cleanup","urlRewriter","set","listener","exports","normalizeDaemonEndpoint","endpoint","trimmed","trim","replace","URL","origin","pathname","_addDaemonEndpointToNetworkBlacklist","normalized","_isNetworkUrlBlacklistedForTesting","_resetNetworkForTesting","splice","length","resetInterceptors"],"sourceRoot":"../../../../src","sources":["features/network/index.ts"],"mappings":"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","ignoreList":[]}
@@ -75,6 +75,12 @@ function safeRead(read) {
75
75
  return undefined;
76
76
  }
77
77
  }
78
+
79
+ // URLs matching these patterns are skipped (Metro dev server internals).
80
+ const IGNORED_URL_PATTERNS = [/\/symbolicate$/];
81
+ function shouldIgnoreUrl(url) {
82
+ return IGNORED_URL_PATTERNS.some(p => p.test(url));
83
+ }
78
84
  function getGlobalXMLHttpRequest() {
79
85
  return globalThis.XMLHttpRequest;
80
86
  }
@@ -129,6 +135,9 @@ function startXMLHttpRequest(emit) {
129
135
  originalXhrSetRequestHeader = CurrentXMLHttpRequest.prototype.setRequestHeader;
130
136
  CurrentXMLHttpRequest.prototype.open = function interceptedOpen(method, url, ...args) {
131
137
  const rewrittenUrl = _urlRewriterRegistry.urlRewriter.get() ? rewriteUrl(url) : url;
138
+ if (shouldIgnoreUrl(rewrittenUrl)) {
139
+ return originalXhrOpen.call(this, method, rewrittenUrl, ...args);
140
+ }
132
141
  pendingXhrRequests.set(this, {
133
142
  method: (method || 'GET').toUpperCase(),
134
143
  url: rewrittenUrl,
@@ -146,12 +155,11 @@ function startXMLHttpRequest(emit) {
146
155
  };
147
156
  CurrentXMLHttpRequest.prototype.send = function interceptedSend(body) {
148
157
  const that = this;
149
- const state = pendingXhrRequests.get(that) ?? {
150
- method: 'GET',
151
- url: '',
152
- headers: {},
153
- timestamp: Date.now()
154
- };
158
+ const existingState = pendingXhrRequests.get(that);
159
+ if (!existingState) {
160
+ return originalXhrSend.call(that, body);
161
+ }
162
+ const state = existingState;
155
163
  state.body = body;
156
164
  state.timestamp = Date.now();
157
165
  pendingXhrRequests.set(that, state);
@@ -1 +1 @@
1
- {"version":3,"names":["_urlRewriterRegistry","require","rewriteUrl","url","rewriter","urlRewriter","get","parseRawHeaders","rawHeaders","undefined","headers","trim","split","forEach","line","separatorIndex","indexOf","key","slice","value","Object","keys","length","parseBodyText","raw","JSON","parse","normalizeXhrResponseBody","xhr","text","safeRead","responseText","response","originalXMLHttpRequest","originalXhrOpen","originalXhrSend","originalXhrSetRequestHeader","xhrRefCount","pendingXhrRequests","WeakMap","read","getGlobalXMLHttpRequest","globalThis","XMLHttpRequest","getXhrResponseHeaders","getAllResponseHeaders","parsedHeaders","responseHeaders","stopXMLHttpRequest","Math","max","CurrentXMLHttpRequest","prototype","open","send","setRequestHeader","startXMLHttpRequest","emit","interceptedOpen","method","args","rewrittenUrl","set","toUpperCase","timestamp","Date","now","call","interceptedSetRequestHeader","header","state","interceptedSend","body","that","complete","currentState","completed","duration","request","status","statusText","data","success","error","markError","message","addEventListener","resetInterceptors"],"sourceRoot":"../../../../src","sources":["features/network/networkInterceptor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_urlRewriterRegistry","require","rewriteUrl","url","rewriter","urlRewriter","get","parseRawHeaders","rawHeaders","undefined","headers","trim","split","forEach","line","separatorIndex","indexOf","key","slice","value","Object","keys","length","parseBodyText","raw","JSON","parse","normalizeXhrResponseBody","xhr","text","safeRead","responseText","response","originalXMLHttpRequest","originalXhrOpen","originalXhrSend","originalXhrSetRequestHeader","xhrRefCount","pendingXhrRequests","WeakMap","read","IGNORED_URL_PATTERNS","shouldIgnoreUrl","some","p","test","getGlobalXMLHttpRequest","globalThis","XMLHttpRequest","getXhrResponseHeaders","getAllResponseHeaders","parsedHeaders","responseHeaders","stopXMLHttpRequest","Math","max","CurrentXMLHttpRequest","prototype","open","send","setRequestHeader","startXMLHttpRequest","emit","interceptedOpen","method","args","rewrittenUrl","call","set","toUpperCase","timestamp","Date","now","interceptedSetRequestHeader","header","state","interceptedSend","body","that","existingState","complete","currentState","completed","duration","request","status","statusText","data","success","error","markError","message","addEventListener","resetInterceptors"],"sourceRoot":"../../../../src","sources":["features/network/networkInterceptor.ts"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,18 @@ Object.defineProperty(exports, "addZustandLog", {
39
39
  return _zustand.addZustandLog;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "autoDetectDaemonIp", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _autoDetectDaemon.autoDetectDaemonIp;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "checkDaemonConnection", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _daemonConnection.checkDaemonConnection;
52
+ }
53
+ });
42
54
  Object.defineProperty(exports, "copyToComputer", {
43
55
  enumerable: true,
44
56
  get: function () {
@@ -57,6 +69,12 @@ Object.defineProperty(exports, "createConsoleLogFeature", {
57
69
  return _console.createConsoleLogFeature;
58
70
  }
59
71
  });
72
+ Object.defineProperty(exports, "createDebugSessionReport", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _sessionReport.createDebugSessionReport;
76
+ }
77
+ });
60
78
  Object.defineProperty(exports, "createEnvironmentFeature", {
61
79
  enumerable: true,
62
80
  get: function () {
@@ -99,24 +117,60 @@ Object.defineProperty(exports, "fmt", {
99
117
  return _copyToComputer.fmt;
100
118
  }
101
119
  });
120
+ Object.defineProperty(exports, "getDefaultDaemonEndpoint", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _reportToDaemon.getDefaultDaemonEndpoint;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "getMetroHost", {
127
+ enumerable: true,
128
+ get: function () {
129
+ return _autoDetectDaemon.getMetroHost;
130
+ }
131
+ });
102
132
  Object.defineProperty(exports, "initializeDebugToolkit", {
103
133
  enumerable: true,
104
134
  get: function () {
105
135
  return _initialize.initializeDebugToolkit;
106
136
  }
107
137
  });
138
+ Object.defineProperty(exports, "isStreaming", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _streamToDaemon.isStreaming;
142
+ }
143
+ });
108
144
  Object.defineProperty(exports, "logToComputer", {
109
145
  enumerable: true,
110
146
  get: function () {
111
147
  return _copyToComputer.logToComputer;
112
148
  }
113
149
  });
150
+ Object.defineProperty(exports, "reportDebugSessionToDaemon", {
151
+ enumerable: true,
152
+ get: function () {
153
+ return _reportToDaemon.reportDebugSessionToDaemon;
154
+ }
155
+ });
114
156
  Object.defineProperty(exports, "safeStringify", {
115
157
  enumerable: true,
116
158
  get: function () {
117
159
  return _safeStringify.safeStringify;
118
160
  }
119
161
  });
162
+ Object.defineProperty(exports, "startStreaming", {
163
+ enumerable: true,
164
+ get: function () {
165
+ return _streamToDaemon.startStreaming;
166
+ }
167
+ });
168
+ Object.defineProperty(exports, "stopStreaming", {
169
+ enumerable: true,
170
+ get: function () {
171
+ return _streamToDaemon.stopStreaming;
172
+ }
173
+ });
120
174
  Object.defineProperty(exports, "useDebugToolkit", {
121
175
  enumerable: true,
122
176
  get: function () {
@@ -149,4 +203,9 @@ var _clipboard = require("./features/clipboard");
149
203
  var _useNavigationLogger = require("./features/navigation/useNavigationLogger");
150
204
  var _safeStringify = require("./utils/safeStringify");
151
205
  var _copyToComputer = require("./utils/copyToComputer");
206
+ var _sessionReport = require("./utils/sessionReport");
207
+ var _reportToDaemon = require("./utils/reportToDaemon");
208
+ var _daemonConnection = require("./utils/daemonConnection");
209
+ var _streamToDaemon = require("./utils/streamToDaemon");
210
+ var _autoDetectDaemon = require("./utils/autoDetectDaemon");
152
211
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_DebugToolkit","require","_DebugToolkitProvider","_DebugView","_initialize","_network","_console","_zustand","_navigation","_track","_environment","_clipboard","_useNavigationLogger","_safeStringify","_copyToComputer"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAIA,IAAAI,QAAA,GAAAJ,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAAM,QAAA,GAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AAEA,IAAAQ,MAAA,GAAAR,OAAA;AAEA,IAAAS,YAAA,GAAAT,OAAA;AAEA,IAAAU,UAAA,GAAAV,OAAA;AAGA,IAAAW,oBAAA,GAAAX,OAAA;AAGA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAb,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_DebugToolkit","require","_DebugToolkitProvider","_DebugView","_initialize","_network","_console","_zustand","_navigation","_track","_environment","_clipboard","_useNavigationLogger","_safeStringify","_copyToComputer","_sessionReport","_reportToDaemon","_daemonConnection","_streamToDaemon","_autoDetectDaemon"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAIA,IAAAI,QAAA,GAAAJ,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAAM,QAAA,GAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AAEA,IAAAQ,MAAA,GAAAR,OAAA;AAEA,IAAAS,YAAA,GAAAT,OAAA;AAEA,IAAAU,UAAA,GAAAV,OAAA;AAGA,IAAAW,oBAAA,GAAAX,OAAA;AAGA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAb,OAAA;AAEA,IAAAc,cAAA,GAAAd,OAAA;AAEA,IAAAe,eAAA,GAAAf,OAAA;AAEA,IAAAgB,iBAAA,GAAAhB,OAAA;AAMA,IAAAiB,eAAA,GAAAjB,OAAA;AAEA,IAAAkB,iBAAA,GAAAlB,OAAA","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.DebugPanel = DebugPanel;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _colors = require("../theme/colors");
10
+ var _StreamingSettingsModal = require("./StreamingSettingsModal");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
13
  function DebugPanel({
@@ -19,6 +20,7 @@ function DebugPanel({
19
20
  } = (0, _reactNative.useWindowDimensions)();
20
21
  const panelTranslateY = (0, _react.useRef)(new _reactNative.Animated.Value(screenHeight)).current;
21
22
  const backdropOpacity = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
23
+ const [settingsVisible, setSettingsVisible] = (0, _react.useState)(false);
22
24
  (0, _react.useEffect)(() => {
23
25
  requestAnimationFrame(() => {
24
26
  _reactNative.Animated.parallel([_reactNative.Animated.spring(panelTranslateY, {
@@ -103,6 +105,14 @@ function DebugPanel({
103
105
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
104
106
  style: styles.headerButtons,
105
107
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
108
+ onPress: () => setSettingsVisible(true),
109
+ style: styles.settingsButton,
110
+ activeOpacity: 0.6,
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
112
+ style: styles.settingsButtonText,
113
+ children: "\u2699"
114
+ })
115
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
106
116
  onPress: () => {
107
117
  onClearAll();
108
118
  closePanel();
@@ -127,6 +137,9 @@ function DebugPanel({
127
137
  style: styles.panelContent,
128
138
  children: children
129
139
  })]
140
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_StreamingSettingsModal.StreamingSettingsModal, {
141
+ visible: settingsVisible,
142
+ onClose: () => setSettingsVisible(false)
130
143
  })]
131
144
  });
132
145
  }
@@ -212,6 +225,18 @@ const styles = _reactNative.StyleSheet.create({
212
225
  fontSize: 14,
213
226
  fontWeight: '500'
214
227
  },
228
+ settingsButton: {
229
+ width: 32,
230
+ height: 32,
231
+ borderRadius: 16,
232
+ backgroundColor: _colors.Colors.background,
233
+ alignItems: 'center',
234
+ justifyContent: 'center'
235
+ },
236
+ settingsButtonText: {
237
+ fontSize: 16,
238
+ color: _colors.Colors.textSecondary
239
+ },
215
240
  closeButton: {
216
241
  width: 30,
217
242
  height: 30,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_colors","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DebugPanel","onClose","onClearAll","children","height","screenHeight","useWindowDimensions","panelTranslateY","useRef","Animated","Value","current","backdropOpacity","useEffect","requestAnimationFrame","parallel","spring","toValue","friction","tension","useNativeDriver","timing","duration","start","closePanel","useCallback","panelResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gs","dy","onPanResponderMove","setValue","Math","max","onPanResponderRelease","jsxs","View","style","styles","container","jsx","backdrop","opacity","Pressable","backdropPressable","onPress","panel","transform","translateY","panHandlers","dragHandle","dragIndicator","header","Text","headerTitle","headerButtons","TouchableOpacity","clearButton","activeOpacity","clearButtonText","closeButton","closeButtonText","panelContent","StyleSheet","position","top","left","right","bottom","justifyContent","backgroundColor","flex","width","Colors","background","borderTopLeftRadius","borderTopRightRadius","overflow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","alignItems","surface","borderRadius","textLight","flexDirection","paddingHorizontal","paddingTop","paddingBottom","fontSize","fontWeight","color","text","gap","paddingVertical","error","textSecondary","lineHeight"],"sourceRoot":"../../../../src","sources":["ui/panel/DebugPanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_colors","_StreamingSettingsModal","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DebugPanel","onClose","onClearAll","children","height","screenHeight","useWindowDimensions","panelTranslateY","useRef","Animated","Value","current","backdropOpacity","settingsVisible","setSettingsVisible","useState","useEffect","requestAnimationFrame","parallel","spring","toValue","friction","tension","useNativeDriver","timing","duration","start","closePanel","useCallback","panelResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gs","dy","onPanResponderMove","setValue","Math","max","onPanResponderRelease","jsxs","View","style","styles","container","jsx","backdrop","opacity","Pressable","backdropPressable","onPress","panel","transform","translateY","panHandlers","dragHandle","dragIndicator","header","Text","headerTitle","headerButtons","TouchableOpacity","settingsButton","activeOpacity","settingsButtonText","clearButton","clearButtonText","closeButton","closeButtonText","panelContent","StreamingSettingsModal","visible","StyleSheet","position","top","left","right","bottom","justifyContent","backgroundColor","flex","width","Colors","background","borderTopLeftRadius","borderTopRightRadius","overflow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","alignItems","surface","borderRadius","textLight","flexDirection","paddingHorizontal","paddingTop","paddingBottom","fontSize","fontWeight","color","text","gap","paddingVertical","error","textSecondary","lineHeight"],"sourceRoot":"../../../../src","sources":["ui/panel/DebugPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ var _debugPreferences = require("../../utils/debugPreferences");
10
10
  var _FloatIcon = require("../floating/FloatIcon");
11
11
  var _DebugPanel = require("./DebugPanel");
12
12
  var _FeatureTabBar = require("./FeatureTabBar");
13
+ var _useTabAnimation = require("./useTabAnimation");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
16
  // ─── Error Boundary ────────────────────────────────────
@@ -57,32 +58,19 @@ function FloatPanelView({
57
58
  mounted = false;
58
59
  };
59
60
  }, []);
60
-
61
- // Content slide animation
62
- const contentOpacity = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
63
- const contentTranslateX = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
64
- const isSwitchingTab = (0, _react.useRef)(false);
65
-
66
- // Refs to avoid stale closures in PanResponder
67
- const activeTabRef = (0, _react.useRef)(0);
68
- activeTabRef.current = activeTab;
69
- const featuresLengthRef = (0, _react.useRef)(features.length);
70
- featuresLengthRef.current = features.length;
71
- const switchTabRef = (0, _react.useRef)(() => {});
72
-
73
- // Swipe-to-switch responder
74
- const swipeResponder = (0, _react.useRef)(_reactNative.PanResponder.create({
75
- onStartShouldSetPanResponder: () => false,
76
- onMoveShouldSetPanResponder: (_, gs) => {
77
- if (isSwitchingTab.current) return false;
78
- return Math.abs(gs.dx) > 25 && Math.abs(gs.dx) > Math.abs(gs.dy) * 2.5;
79
- },
80
- onPanResponderRelease: (_, gs) => {
81
- const tab = activeTabRef.current;
82
- if (gs.dx < -40 && tab < featuresLengthRef.current - 1) switchTabRef.current(tab + 1);else if (gs.dx > 40 && tab > 0) switchTabRef.current(tab - 1);
83
- },
84
- onPanResponderTerminationRequest: () => true
85
- })).current;
61
+ const {
62
+ contentOpacity,
63
+ contentTranslateX,
64
+ panHandlers,
65
+ switchTab
66
+ } = (0, _useTabAnimation.useTabAnimation)({
67
+ activeTab,
68
+ tabCount: features.length,
69
+ onTabChange: (0, _react.useCallback)(index => {
70
+ setActiveTab(index);
71
+ (0, _debugPreferences.setPreference)(_debugPreferences.KEYS.lastTab, String(index));
72
+ }, [])
73
+ });
86
74
 
87
75
  // Feature subscription → re-render on data changes
88
76
  const [, setTick] = (0, _react.useState)(0);
@@ -108,41 +96,6 @@ function FloatPanelView({
108
96
  }
109
97
  }, [features.length, activeTab]);
110
98
 
111
- // Tab switching with content animation
112
- const switchTab = (0, _react.useCallback)(index => {
113
- if (isSwitchingTab.current || index === activeTabRef.current) return;
114
- isSwitchingTab.current = true;
115
- const direction = index > activeTabRef.current ? 1 : -1;
116
- _reactNative.Animated.parallel([_reactNative.Animated.timing(contentOpacity, {
117
- toValue: 0,
118
- duration: 80,
119
- useNativeDriver: true
120
- }), _reactNative.Animated.timing(contentTranslateX, {
121
- toValue: -direction * 40,
122
- duration: 80,
123
- useNativeDriver: true
124
- })]).start(() => {
125
- setActiveTab(index);
126
- (0, _debugPreferences.setPreference)(_debugPreferences.KEYS.lastTab, String(index));
127
- contentTranslateX.setValue(direction * 40);
128
- _reactNative.Animated.parallel([_reactNative.Animated.timing(contentOpacity, {
129
- toValue: 1,
130
- duration: 150,
131
- useNativeDriver: true
132
- }), _reactNative.Animated.timing(contentTranslateX, {
133
- toValue: 0,
134
- duration: 200,
135
- easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
136
- useNativeDriver: true
137
- })]).start(() => {
138
- isSwitchingTab.current = false;
139
- });
140
- });
141
- }, [contentOpacity, contentTranslateX]);
142
-
143
- // Keep ref in sync
144
- switchTabRef.current = switchTab;
145
-
146
99
  // Badge (first feature that returns one)
147
100
  const envBadge = features.map(f => f.badge?.()).find(b => b != null) ?? null;
148
101
  const tabs = features.map(f => ({
@@ -200,7 +153,7 @@ function FloatPanelView({
200
153
  translateX: contentTranslateX
201
154
  }]
202
155
  }],
203
- ...swipeResponder.panHandlers,
156
+ ...panHandlers,
204
157
  children: renderFeatureContent()
205
158
  })]
206
159
  })]