react-native-ai-debugger 1.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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +303 -0
  3. package/build/core/android.d.ts +108 -0
  4. package/build/core/android.d.ts.map +1 -0
  5. package/build/core/android.js +686 -0
  6. package/build/core/android.js.map +1 -0
  7. package/build/core/connection.d.ts +12 -0
  8. package/build/core/connection.d.ts.map +1 -0
  9. package/build/core/connection.js +242 -0
  10. package/build/core/connection.js.map +1 -0
  11. package/build/core/executor.d.ts +6 -0
  12. package/build/core/executor.d.ts.map +1 -0
  13. package/build/core/executor.js +112 -0
  14. package/build/core/executor.js.map +1 -0
  15. package/build/core/index.d.ts +10 -0
  16. package/build/core/index.d.ts.map +1 -0
  17. package/build/core/index.js +21 -0
  18. package/build/core/index.js.map +1 -0
  19. package/build/core/ios.d.ts +54 -0
  20. package/build/core/ios.d.ts.map +1 -0
  21. package/build/core/ios.js +393 -0
  22. package/build/core/ios.js.map +1 -0
  23. package/build/core/logs.d.ts +27 -0
  24. package/build/core/logs.d.ts.map +1 -0
  25. package/build/core/logs.js +102 -0
  26. package/build/core/logs.js.map +1 -0
  27. package/build/core/metro.d.ts +8 -0
  28. package/build/core/metro.d.ts.map +1 -0
  29. package/build/core/metro.js +79 -0
  30. package/build/core/metro.js.map +1 -0
  31. package/build/core/network.d.ts +37 -0
  32. package/build/core/network.d.ts.map +1 -0
  33. package/build/core/network.js +210 -0
  34. package/build/core/network.js.map +1 -0
  35. package/build/core/state.d.ts +9 -0
  36. package/build/core/state.d.ts.map +1 -0
  37. package/build/core/state.js +16 -0
  38. package/build/core/state.js.map +1 -0
  39. package/build/core/types.d.ts +68 -0
  40. package/build/core/types.d.ts.map +1 -0
  41. package/build/core/types.js +2 -0
  42. package/build/core/types.js.map +1 -0
  43. package/build/index.d.ts +3 -0
  44. package/build/index.d.ts.map +1 -0
  45. package/build/index.js +951 -0
  46. package/build/index.js.map +1 -0
  47. package/package.json +50 -0
@@ -0,0 +1,37 @@
1
+ import { NetworkRequest } from "./types.js";
2
+ export declare class NetworkBuffer {
3
+ private requests;
4
+ private order;
5
+ private maxSize;
6
+ constructor(maxSize?: number);
7
+ set(requestId: string, request: NetworkRequest): void;
8
+ get(requestId: string): NetworkRequest | undefined;
9
+ getAll(options?: {
10
+ count?: number;
11
+ method?: string;
12
+ urlPattern?: string;
13
+ status?: number;
14
+ completedOnly?: boolean;
15
+ }): NetworkRequest[];
16
+ search(urlPattern: string, maxResults?: number): NetworkRequest[];
17
+ clear(): number;
18
+ get size(): number;
19
+ }
20
+ export declare function formatRequest(request: NetworkRequest): string;
21
+ export declare function formatRequests(requests: NetworkRequest[]): string;
22
+ export declare function formatRequestDetails(request: NetworkRequest): string;
23
+ export declare function getNetworkRequests(networkBuffer: NetworkBuffer, options?: {
24
+ maxRequests?: number;
25
+ method?: string;
26
+ urlPattern?: string;
27
+ status?: number;
28
+ }): {
29
+ requests: NetworkRequest[];
30
+ formatted: string;
31
+ };
32
+ export declare function searchNetworkRequests(networkBuffer: NetworkBuffer, urlPattern: string, maxResults?: number): {
33
+ requests: NetworkRequest[];
34
+ formatted: string;
35
+ };
36
+ export declare function getNetworkStats(networkBuffer: NetworkBuffer): string;
37
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/core/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,MAAY;IAKjC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAcrD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAKlD,MAAM,CAAC,OAAO,GAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,cAAc,EAAE;IAiCzB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAW,GAAG,cAAc,EAAE;IAYrE,KAAK,IAAI,MAAM;IAOf,IAAI,IAAI,IAAI,MAAM,CAEjB;CACJ;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAY7D;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAMjE;AAGD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA+CpE;AAGD,wBAAgB,kBAAkB,CAC9B,aAAa,EAAE,aAAa,EAC5B,OAAO,GAAE;IACL,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACd,GACP;IAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAcnD;AAGD,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAW,GACxB;IAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMnD;AAGD,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAoEpE"}
@@ -0,0 +1,210 @@
1
+ // Circular buffer for storing network requests
2
+ export class NetworkBuffer {
3
+ requests = new Map();
4
+ order = [];
5
+ maxSize;
6
+ constructor(maxSize = 500) {
7
+ this.maxSize = maxSize;
8
+ }
9
+ // Add or update a request
10
+ set(requestId, request) {
11
+ if (!this.requests.has(requestId)) {
12
+ this.order.push(requestId);
13
+ if (this.order.length > this.maxSize) {
14
+ const oldestId = this.order.shift();
15
+ if (oldestId) {
16
+ this.requests.delete(oldestId);
17
+ }
18
+ }
19
+ }
20
+ this.requests.set(requestId, request);
21
+ }
22
+ // Get a request by ID
23
+ get(requestId) {
24
+ return this.requests.get(requestId);
25
+ }
26
+ // Get all requests (optionally filtered)
27
+ getAll(options = {}) {
28
+ const { count, method, urlPattern, status, completedOnly } = options;
29
+ let results = Array.from(this.requests.values());
30
+ // Sort by timestamp
31
+ results.sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
32
+ if (method && method.trim()) {
33
+ results = results.filter((r) => r.method.toUpperCase() === method.toUpperCase());
34
+ }
35
+ if (urlPattern && urlPattern.trim()) {
36
+ const pattern = urlPattern.toLowerCase();
37
+ results = results.filter((r) => r.url.toLowerCase().includes(pattern));
38
+ }
39
+ if (status != null && typeof status === "number") {
40
+ results = results.filter((r) => r.status === status);
41
+ }
42
+ if (completedOnly === true) {
43
+ results = results.filter((r) => r.completed);
44
+ }
45
+ if (count != null && count > 0) {
46
+ results = results.slice(-count);
47
+ }
48
+ return results;
49
+ }
50
+ // Search requests by URL
51
+ search(urlPattern, maxResults = 50) {
52
+ const pattern = urlPattern.toLowerCase();
53
+ const results = Array.from(this.requests.values())
54
+ .filter((r) => r.url.toLowerCase().includes(pattern))
55
+ .sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
56
+ if (maxResults > 0) {
57
+ return results.slice(-maxResults);
58
+ }
59
+ return results;
60
+ }
61
+ clear() {
62
+ const count = this.requests.size;
63
+ this.requests.clear();
64
+ this.order = [];
65
+ return count;
66
+ }
67
+ get size() {
68
+ return this.requests.size;
69
+ }
70
+ }
71
+ // Format a single request for display
72
+ export function formatRequest(request) {
73
+ const time = request.timestamp.toLocaleTimeString();
74
+ const status = request.status ?? "pending";
75
+ const duration = request.timing?.duration ? `${request.timing.duration}ms` : "-";
76
+ let line = `[${request.requestId}] ${time} ${request.method} ${status} ${duration} ${request.url}`;
77
+ if (request.error) {
78
+ line += ` [ERROR: ${request.error}]`;
79
+ }
80
+ return line;
81
+ }
82
+ // Format requests for text output
83
+ export function formatRequests(requests) {
84
+ if (requests.length === 0) {
85
+ return "No network requests captured yet.";
86
+ }
87
+ return requests.map(formatRequest).join("\n");
88
+ }
89
+ // Format request details (full info)
90
+ export function formatRequestDetails(request) {
91
+ const lines = [];
92
+ lines.push(`=== ${request.method} ${request.url} ===`);
93
+ lines.push(`Request ID: ${request.requestId}`);
94
+ lines.push(`Time: ${request.timestamp.toISOString()}`);
95
+ lines.push(`Status: ${request.status ?? "pending"} ${request.statusText ?? ""}`);
96
+ if (request.timing?.duration) {
97
+ lines.push(`Duration: ${request.timing.duration}ms`);
98
+ }
99
+ if (request.mimeType) {
100
+ lines.push(`Content-Type: ${request.mimeType}`);
101
+ }
102
+ if (request.contentLength !== undefined) {
103
+ lines.push(`Content-Length: ${request.contentLength}`);
104
+ }
105
+ if (request.error) {
106
+ lines.push(`Error: ${request.error}`);
107
+ }
108
+ // Request headers
109
+ if (Object.keys(request.headers).length > 0) {
110
+ lines.push("\n--- Request Headers ---");
111
+ for (const [key, value] of Object.entries(request.headers)) {
112
+ lines.push(`${key}: ${value}`);
113
+ }
114
+ }
115
+ // Post data
116
+ if (request.postData) {
117
+ lines.push("\n--- Request Body ---");
118
+ lines.push(request.postData);
119
+ }
120
+ // Response headers
121
+ if (request.responseHeaders && Object.keys(request.responseHeaders).length > 0) {
122
+ lines.push("\n--- Response Headers ---");
123
+ for (const [key, value] of Object.entries(request.responseHeaders)) {
124
+ lines.push(`${key}: ${value}`);
125
+ }
126
+ }
127
+ return lines.join("\n");
128
+ }
129
+ // Get network requests with formatting
130
+ export function getNetworkRequests(networkBuffer, options = {}) {
131
+ const { maxRequests = 50, method, urlPattern, status } = options;
132
+ const requests = networkBuffer.getAll({
133
+ count: maxRequests,
134
+ method,
135
+ urlPattern,
136
+ status,
137
+ completedOnly: false
138
+ });
139
+ return {
140
+ requests,
141
+ formatted: formatRequests(requests)
142
+ };
143
+ }
144
+ // Search network requests with formatting
145
+ export function searchNetworkRequests(networkBuffer, urlPattern, maxResults = 50) {
146
+ const requests = networkBuffer.search(urlPattern, maxResults);
147
+ return {
148
+ requests,
149
+ formatted: formatRequests(requests)
150
+ };
151
+ }
152
+ // Get network stats
153
+ export function getNetworkStats(networkBuffer) {
154
+ const requests = networkBuffer.getAll({});
155
+ if (requests.length === 0) {
156
+ return "No network requests captured yet.";
157
+ }
158
+ const byMethod = {};
159
+ const byStatus = {};
160
+ const byDomain = {};
161
+ let totalDuration = 0;
162
+ let completedCount = 0;
163
+ let errorCount = 0;
164
+ for (const req of requests) {
165
+ // Count by method
166
+ byMethod[req.method] = (byMethod[req.method] || 0) + 1;
167
+ // Count by status
168
+ if (req.status !== undefined) {
169
+ const statusGroup = `${Math.floor(req.status / 100)}xx`;
170
+ byStatus[statusGroup] = (byStatus[statusGroup] || 0) + 1;
171
+ }
172
+ // Count by domain
173
+ try {
174
+ const url = new URL(req.url);
175
+ byDomain[url.hostname] = (byDomain[url.hostname] || 0) + 1;
176
+ }
177
+ catch {
178
+ // Invalid URL, skip domain counting
179
+ }
180
+ // Duration stats
181
+ if (req.timing?.duration) {
182
+ totalDuration += req.timing.duration;
183
+ completedCount++;
184
+ }
185
+ if (req.error) {
186
+ errorCount++;
187
+ }
188
+ }
189
+ const lines = [];
190
+ lines.push(`Total requests: ${requests.length}`);
191
+ lines.push(`Completed: ${completedCount}`);
192
+ lines.push(`Errors: ${errorCount}`);
193
+ if (completedCount > 0) {
194
+ lines.push(`Avg duration: ${Math.round(totalDuration / completedCount)}ms`);
195
+ }
196
+ lines.push("\nBy Method:");
197
+ for (const [method, count] of Object.entries(byMethod).sort((a, b) => b[1] - a[1])) {
198
+ lines.push(` ${method}: ${count}`);
199
+ }
200
+ lines.push("\nBy Status:");
201
+ for (const [status, count] of Object.entries(byStatus).sort()) {
202
+ lines.push(` ${status}: ${count}`);
203
+ }
204
+ lines.push("\nBy Domain:");
205
+ for (const [domain, count] of Object.entries(byDomain).sort((a, b) => b[1] - a[1]).slice(0, 10)) {
206
+ lines.push(` ${domain}: ${count}`);
207
+ }
208
+ return lines.join("\n");
209
+ }
210
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/core/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ConnectedApp, PendingExecution } from "./types.js";
2
+ import { LogBuffer } from "./logs.js";
3
+ import { NetworkBuffer } from "./network.js";
4
+ export declare const logBuffer: LogBuffer;
5
+ export declare const networkBuffer: NetworkBuffer;
6
+ export declare const connectedApps: Map<string, ConnectedApp>;
7
+ export declare const pendingExecutions: Map<number, PendingExecution>;
8
+ export declare function getNextMessageId(): number;
9
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,eAAO,MAAM,SAAS,WAAsB,CAAC;AAG7C,eAAO,MAAM,aAAa,eAAyB,CAAC;AAGpD,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAa,CAAC;AAGlE,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAa,CAAC;AAK1E,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
@@ -0,0 +1,16 @@
1
+ import { LogBuffer } from "./logs.js";
2
+ import { NetworkBuffer } from "./network.js";
3
+ // Global log buffer
4
+ export const logBuffer = new LogBuffer(1000);
5
+ // Global network buffer
6
+ export const networkBuffer = new NetworkBuffer(500);
7
+ // Connected apps
8
+ export const connectedApps = new Map();
9
+ // Pending code executions (for executeInApp)
10
+ export const pendingExecutions = new Map();
11
+ // CDP message ID counter
12
+ let _messageId = 1;
13
+ export function getNextMessageId() {
14
+ return _messageId++;
15
+ }
16
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,oBAAoB;AACpB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AAE7C,wBAAwB;AACxB,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AAEpD,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAA8B,IAAI,GAAG,EAAE,CAAC;AAElE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAkC,IAAI,GAAG,EAAE,CAAC;AAE1E,yBAAyB;AACzB,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,MAAM,UAAU,gBAAgB;IAC5B,OAAO,UAAU,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import WebSocket from "ws";
2
+ export interface LogEntry {
3
+ timestamp: Date;
4
+ level: "log" | "warn" | "error" | "info" | "debug";
5
+ message: string;
6
+ args?: unknown[];
7
+ }
8
+ export interface DeviceInfo {
9
+ id: string;
10
+ title: string;
11
+ description: string;
12
+ appId: string;
13
+ type: string;
14
+ webSocketDebuggerUrl: string;
15
+ deviceName: string;
16
+ }
17
+ export interface ConnectedApp {
18
+ ws: WebSocket;
19
+ deviceInfo: DeviceInfo;
20
+ port: number;
21
+ }
22
+ export interface RemoteObject {
23
+ type: "object" | "function" | "undefined" | "string" | "number" | "boolean" | "symbol" | "bigint";
24
+ subtype?: "array" | "null" | "node" | "regexp" | "date" | "map" | "set" | "weakmap" | "weakset" | "iterator" | "generator" | "error" | "proxy" | "promise" | "typedarray" | "arraybuffer" | "dataview";
25
+ className?: string;
26
+ value?: unknown;
27
+ unserializableValue?: string;
28
+ description?: string;
29
+ objectId?: string;
30
+ }
31
+ export interface ExceptionDetails {
32
+ exceptionId: number;
33
+ text: string;
34
+ lineNumber: number;
35
+ columnNumber: number;
36
+ exception?: RemoteObject;
37
+ }
38
+ export interface PendingExecution {
39
+ resolve: (result: ExecutionResult) => void;
40
+ timeoutId: NodeJS.Timeout;
41
+ }
42
+ export interface ExecutionResult {
43
+ success: boolean;
44
+ result?: string;
45
+ error?: string;
46
+ }
47
+ export type LogLevel = "all" | "log" | "warn" | "error" | "info" | "debug";
48
+ export interface NetworkRequest {
49
+ requestId: string;
50
+ timestamp: Date;
51
+ method: string;
52
+ url: string;
53
+ headers: Record<string, string>;
54
+ postData?: string;
55
+ status?: number;
56
+ statusText?: string;
57
+ responseHeaders?: Record<string, string>;
58
+ mimeType?: string;
59
+ contentLength?: number;
60
+ timing?: {
61
+ requestTime?: number;
62
+ responseTime?: number;
63
+ duration?: number;
64
+ };
65
+ error?: string;
66
+ completed: boolean;
67
+ }
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}