react-native-ai-debugger 1.5.1 → 1.6.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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=toolDescriptions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolDescriptions.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/toolDescriptions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,145 @@
1
+ // Commit 6 of the MCP Tool Discoverability Rework — regression test that keeps
2
+ // every registered tool description above the bar set by Commits 2–5. Guards
3
+ // against silent regressions back to one-liners and against typos in WORKFLOW /
4
+ // SEE ALSO / PRIMARY / HELPER cross-references that would silently mislead
5
+ // agents to call tools that don't exist.
6
+ //
7
+ // See: docs/improvements/mcp-tool-discoverability-rework.md
8
+ // IMPORTANT: set test mode BEFORE importing src/index.ts so main() is skipped
9
+ // (no license check, no transport, no HTTP listener, no CDP sockets).
10
+ process.env.RN_AI_DEVTOOLS_TEST_MODE = "1";
11
+ import { describe, it, expect } from "@jest/globals";
12
+ import { toolRegistry } from "../../index.js";
13
+ // Tools exempt from the "must contain PURPOSE or WHEN TO USE" and minimum-length
14
+ // checks. These are meta/account/admin tools where a short description reads
15
+ // naturally and adding a PURPOSE line would be boilerplate. execute_in_app uses
16
+ // semantically equivalent headings (RECOMMENDED WORKFLOW / LIMITATIONS / GOOD
17
+ // examples / BAD examples) instead of PURPOSE / WHEN TO USE — see plan.
18
+ const SEMANTIC_ALLOWLIST = new Set([
19
+ "get_usage_guide",
20
+ "activate_license",
21
+ "get_license_status",
22
+ "delete_account",
23
+ "send_feedback",
24
+ "reset_telemetry",
25
+ "execute_in_app",
26
+ "dev",
27
+ ]);
28
+ // Non-tool identifiers that appear in descriptions (prop names, JS globals,
29
+ // schema keys, natural-language nouns that happen to match the tool-name
30
+ // regex). If the cross-reference scan hits one of these it's a false positive,
31
+ // not a broken link. Keep this list conservative — every addition weakens the
32
+ // guarantee, so prefer tightening the extractor over growing this set.
33
+ const NON_TOOL_TOKENS = new Set([
34
+ // JS built-ins and common API shapes
35
+ "true", "false", "null", "undefined", "console", "log", "error", "warn",
36
+ "fetch", "require", "async", "await", "function", "return", "new",
37
+ "typeof", "instanceof", "string", "number", "boolean", "object", "array",
38
+ "map", "set", "promise", "date", "json", "regexp", "math",
39
+ // Common param / prop names used in example tool calls
40
+ "text", "query", "component", "pattern", "componentname", "testid",
41
+ "x", "y", "verbose", "device", "deviceid", "udid", "packagename",
42
+ "bundleid", "url", "uri", "method", "status", "level", "limit",
43
+ "offset", "depth", "maxdepth", "timeout", "force", "forcerefresh",
44
+ "healthcheck", "native", "strategy", "burst", "screenshot", "verify",
45
+ "frameindex", "groupid", "id", "structureonly", "extended", "topic",
46
+ "action", "tool", "args", "mode", "format", "type", "name", "value",
47
+ "key", "keycode", "buttons", "headers", "body", "response", "request",
48
+ "params", "args", "input", "output", "result", "data", "payload",
49
+ // DSL / English verbs that match the regex in practice
50
+ "e", "i", "s", "n", "t", "b", "a", "it", "is", "to", "of", "in", "on",
51
+ "at", "by", "or", "and", "not", "use", "see", "call", "get", "set",
52
+ "for", "via", "the", "its", "has", "all", "any", "ids", "file",
53
+ // Schema / MCP things
54
+ "isolated_vm", "isolated", "vm", "hermes", "jsc", "metro", "rn",
55
+ "ios", "android", "cdp", "sdk", "ui", "ocr",
56
+ // Verb-ish tokens used before "(" in English prose
57
+ "returns", "includes", "uses", "uses_", "works", "tries", "prefers",
58
+ "matches", "triggers", "scans", "parses", "reads", "writes", "sends",
59
+ "sets", "gets", "checks", "detects", "enables", "disables", "skips",
60
+ "supports", "handles", "captures", "adds", "removes", "runs", "is",
61
+ "becomes", "executes", "fires", "emits", "wakes",
62
+ "e.g", "i.e", "eg", "ie",
63
+ // Connector words used in "prefer <word>" matches that aren't tool names
64
+ "the", "this", "that", "these", "those",
65
+ // Method-style identifiers appearing as examples
66
+ "measureinwindow", "onpress", "onchangetext", "onfocus",
67
+ ]);
68
+ describe("Tool descriptions (registration enforcement)", () => {
69
+ const tools = Array.from(toolRegistry.entries()).map(([name, { config }]) => ({
70
+ name,
71
+ description: String(config?.description ?? ""),
72
+ }));
73
+ it("registers a non-trivial number of tools", () => {
74
+ // Current count is ~60-70; a big drop would almost certainly be a bug.
75
+ expect(tools.length).toBeGreaterThan(30);
76
+ });
77
+ describe("each tool has a rich description", () => {
78
+ it.each(tools.map((t) => [t.name, t]))("%s", (_name, tool) => {
79
+ const { name, description } = tool;
80
+ expect(description.length).toBeGreaterThan(0);
81
+ expect(description.length).toBeLessThanOrEqual(1500);
82
+ if (!SEMANTIC_ALLOWLIST.has(name)) {
83
+ // Minimum length protects against regressions to one-liners.
84
+ expect(description.length).toBeGreaterThanOrEqual(120);
85
+ // Must contain a PURPOSE or WHEN TO USE anchor so the agent
86
+ // can scan for intent before reading the whole description.
87
+ const hasPurposeAnchor = description.includes("PURPOSE") || description.includes("WHEN TO USE");
88
+ expect(hasPurposeAnchor).toBe(true);
89
+ }
90
+ });
91
+ });
92
+ it("cross-references only point to registered tool names", () => {
93
+ const registered = new Set(tools.map((t) => t.name));
94
+ // Lines whose trailing content is a comma/space separated list of tool
95
+ // names. These are the high-signal structured lines from the template.
96
+ const ANCHOR_RE = /^(WORKFLOW|SEE ALSO|PRIMARY|HELPER|PLATFORM FALLBACK|PREFER|PREFERRED)\s*[:=-]/i;
97
+ const unknown = [];
98
+ for (const { name, description } of tools) {
99
+ for (const rawLine of description.split(/\r?\n/)) {
100
+ const line = rawLine.trim();
101
+ if (!ANCHOR_RE.test(line))
102
+ continue;
103
+ // Extract backtick-quoted identifiers and bare `name(` forms.
104
+ const tokens = new Set();
105
+ for (const m of line.matchAll(/`([a-z_][a-z0-9_]+)`/gi))
106
+ tokens.add(m[1]);
107
+ for (const m of line.matchAll(/([a-z_][a-z0-9_]+)\s*\(/gi))
108
+ tokens.add(m[1]);
109
+ for (const token of tokens) {
110
+ const lower = token.toLowerCase();
111
+ if (registered.has(token))
112
+ continue;
113
+ if (NON_TOOL_TOKENS.has(lower))
114
+ continue;
115
+ // Heuristic: must look like a tool name (snake_case with an
116
+ // underscore or a known cross-platform primary). Single
117
+ // words like "prefer" are filtered out here.
118
+ if (!token.includes("_") && !registered.has(token)) {
119
+ // Could still be "tap" / "logbox" etc — only flag if
120
+ // it's also not a registered name.
121
+ if (!registered.has(token))
122
+ continue;
123
+ }
124
+ unknown.push({ tool: name, token, line });
125
+ }
126
+ }
127
+ }
128
+ if (unknown.length > 0) {
129
+ const msg = unknown
130
+ .map((u) => ` ${u.tool}: unknown "${u.token}" in "${u.line}"`)
131
+ .join("\n");
132
+ throw new Error(`Cross-reference check failed — the following tokens look like tool names in structured lines but are not registered:\n${msg}`);
133
+ }
134
+ });
135
+ it("logs total tools/list payload size (informational)", () => {
136
+ const totalBytes = tools
137
+ .map((t) => JSON.stringify({ name: t.name, description: t.description }).length)
138
+ .reduce((a, b) => a + b, 0);
139
+ // eslint-disable-next-line no-console
140
+ console.log(`[tool-descriptions] total tools/list payload: ${totalBytes} bytes across ${tools.length} tools`);
141
+ // Sanity upper bound — not a strict cap, just to catch runaway growth.
142
+ expect(totalBytes).toBeLessThan(500_000);
143
+ });
144
+ });
145
+ //# sourceMappingURL=toolDescriptions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolDescriptions.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/toolDescriptions.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,13 @@ export interface Guide {
8
8
  summary: string;
9
9
  content: string;
10
10
  }
11
+ /**
12
+ * Shared quick decision tree body — embedded into the MCP server-level
13
+ * `instructions` field (src/index.ts) AND into `getGuideOverview()` so agents
14
+ * see identical guidance regardless of whether their client surfaces
15
+ * `instructions`. Keep this as the single source of truth.
16
+ */
17
+ export declare const DECISION_TREE: string;
11
18
  export declare function getGuideOverview(): string;
12
19
  export declare function getGuideByTopic(topic: string): string | null;
13
20
  export declare function getAvailableTopics(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAgTD,wBAAgB,gBAAgB,IAAI,MAAM,CAUzC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
1
+ {"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AA+SD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAchB,CAAC;AAEb,wBAAgB,gBAAgB,IAAI,MAAM,CAWzC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
@@ -10,7 +10,7 @@ const guides = [
10
10
  content: `# Session Setup
11
11
 
12
12
  ## Prerequisites (CRITICAL — install BEFORE using device tools)
13
- - **iOS UI driver (required for tap, swipe, describe, find_element, and all iOS interaction tools):**
13
+ - **iOS UI driver (required for tap, ios_button, and all iOS interaction tools):**
14
14
  - Recommended: AXe — brew install cameroncooke/axe/axe (then set IOS_DRIVER=axe in MCP server env)
15
15
  - Alternative: IDB — brew install idb-companion (used by default)
16
16
  - Without a UI driver, most iOS tools will fail with "not installed" errors
@@ -105,7 +105,7 @@ const guides = [
105
105
  content: `# Device Interaction
106
106
 
107
107
  ## Prerequisites
108
- iOS interaction tools (tap, ios_swipe, ios_input_text, ios_button, ios_describe_all, ios_find_element, ios_wait_for_element) require a UI driver:
108
+ iOS interaction tools (tap, ios_button) require a UI driver:
109
109
  - Recommended: AXe — brew install cameroncooke/axe/axe (set IOS_DRIVER=axe in MCP server env)
110
110
  - Alternative: IDB — brew install idb-companion (default)
111
111
  Without a UI driver installed, these tools will fail.
@@ -140,13 +140,12 @@ For buttons that contain only an icon (no text):
140
140
  tap(text=...) skips fiber for non-ASCII (Hermes limitation) and uses accessibility/OCR instead. For best results, use testID or coordinates.
141
141
 
142
142
  ## Other Interactions
143
- - ios_swipe / android_swipe: swipe/scroll with start/end coordinates
144
- - ios_input_text / android_input_text: type text (tap input field first)
143
+ - android_swipe: swipe/scroll with start/end coordinates
144
+ - android_input_text: type text (tap input field first; on iOS use tap(testID=...) to focus, then native keyboard)
145
145
  - ios_button / android_key_event: hardware buttons (HOME, BACK, etc.)
146
146
  - ios_open_url: deep links and universal links
147
147
 
148
148
  ## After Interactions
149
- - ios_wait_for_element / android_wait_for_element: wait for UI to update
150
149
  - Take a screenshot to verify the result`
151
150
  },
152
151
  {
@@ -303,14 +302,38 @@ If the user wants to share feedback, request a feature, or report a problem with
303
302
  - No GitHub account setup or CLI tools needed — just a browser`
304
303
  }
305
304
  ];
305
+ /**
306
+ * Shared quick decision tree body — embedded into the MCP server-level
307
+ * `instructions` field (src/index.ts) AND into `getGuideOverview()` so agents
308
+ * see identical guidance regardless of whether their client surfaces
309
+ * `instructions`. Keep this as the single source of truth.
310
+ */
311
+ export const DECISION_TREE = [
312
+ "Primary tools: scan_metro, get_logs / search_logs, ios_screenshot / android_screenshot, tap, get_pressable_elements, get_screen_layout.",
313
+ "Platform-specific ios_* / android_* tools (ios_button, android_swipe, android_input_text, android_key_event, android_long_press, ios_open_url, etc.) are FALLBACKS for non-React or native-only flows — prefer the cross-platform primary tools above whenever possible.",
314
+ "",
315
+ "Call get_usage_guide(topic=...) for end-to-end workflows. Available topics:",
316
+ " setup — session setup (scan_metro, connect_metro, ensure_connection)",
317
+ " logs — console debugging (get_logs, search_logs)",
318
+ " interact — device interaction (tap, android_swipe, screenshots, android_input_text)",
319
+ " layout — on-screen layout check (get_screen_layout, get_pressable_elements)",
320
+ " inspect — component inspection (find_components, inspect_component, get_inspector_selection)",
321
+ " network — network request inspection (get_network_requests, search_network)",
322
+ " state — app state & JS execution (execute_in_app, list_debug_globals)",
323
+ " bundle — bundle / Metro error checks (get_bundle_status, get_bundle_errors)",
324
+ " feedback — share feedback, feature requests, or bug reports (send_feedback)"
325
+ ].join("\n");
306
326
  export function getGuideOverview() {
307
- const lines = ["Available usage guides:\n"];
308
- for (const guide of guides) {
309
- lines.push(` ${guide.id} — ${guide.summary}`);
310
- }
311
- lines.push("\nCall get_usage_guide with a topic parameter for the full guide.");
312
- lines.push("\nQuick start: scan_metro → get_logs / search_logs (console debugging) → ios_screenshot → get_inspector_selection(x, y) (identify components)");
313
- return lines.join("\n");
327
+ const guideList = guides.map((g) => ` ${g.id} — ${g.summary}`).join("\n");
328
+ return `Quick decision tree
329
+ -------------------
330
+ ${DECISION_TREE}
331
+
332
+ Available usage guides:
333
+
334
+ ${guideList}
335
+
336
+ Call get_usage_guide with a topic parameter for the full guide.`;
314
337
  }
315
338
  export function getGuideByTopic(topic) {
316
339
  const guide = guides.find((g) => g.id === topic.toLowerCase());
@@ -1 +1 @@
1
- {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,MAAM,GAAY;IACpB;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA8B8B;KAC1C;IACD;QACI,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,mFAAmF;QAC5F,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;iGAoBgF;KAC5F;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;4DA2B2C;KACvD;IACD;QACI,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCA6CwB;KACpC;IACD;QACI,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE;;;;;;;;;;;;;;;;;;2DAkB0C;KACtD;IACD;QACI,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAuCyE;KACrF;IACD;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;kEAsBiD;KAC7D;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;6DAwB4C;KACxD;IACD;QACI,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;+DAoB8C;KAC1D;CACJ,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC5B,MAAM,KAAK,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAChF,KAAK,CAAC,IAAI,CACN,+IAA+I,CAClJ,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/core/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,MAAM,GAAY;IACpB;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA8B8B;KAC1C;IACD;QACI,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,mFAAmF;QAC5F,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;iGAoBgF;KAC5F;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;4DA2B2C;KACvD;IACD;QACI,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCA4CwB;KACpC;IACD;QACI,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE;;;;;;;;;;;;;;;;;;2DAkB0C;KACtD;IACD;QACI,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAuCyE;KACrF;IACD;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;kEAsBiD;KAC7D;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,oEAAoE;QAC7E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;6DAwB4C;KACxD;IACD;QACI,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,0EAA0E;QACnF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;+DAoB8C;KAC1D;CACJ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAW;IACjC,yIAAyI;IACzI,0QAA0Q;IAC1Q,EAAE;IACF,6EAA6E;IAC7E,4EAA4E;IAC5E,yDAAyD;IACzD,wFAAwF;IACxF,kFAAkF;IAClF,kGAAkG;IAClG,iFAAiF;IACjF,6EAA6E;IAC7E,kFAAkF;IAClF,gFAAgF;CACnF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,gBAAgB;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO;;EAET,aAAa;;;;EAIb,SAAS;;gEAEqD,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC"}
@@ -23,8 +23,8 @@ const NATIVE_FALLBACKS = {
23
23
  search_network: [],
24
24
  get_network_stats: [],
25
25
  get_request_details: [],
26
- get_screen_layout: ["ios_describe_all", "android_describe_all"],
27
- get_inspector_selection: ["ios_describe_point", "android_describe_point"],
26
+ get_screen_layout: [],
27
+ get_inspector_selection: [],
28
28
  };
29
29
  export function buildMetroMissingHint({ toolName, devices }) {
30
30
  const fallbacks = NATIVE_FALLBACKS[toolName] ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"nativeOnlyHints.js","sourceRoot":"","sources":["../../src/core/nativeOnlyHints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,QAAQ;IACpB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAClC,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,8BAA8B,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClD,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;AACjD,CAAC;AAED,4DAA4D;AAC5D,8DAA8D;AAC9D,MAAM,gBAAgB,GAA6B;IAC/C,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,oBAAoB,EAAE,EAAE;IACxB,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,mBAAmB,EAAE,EAAE;IACvB,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAC/D,uBAAuB,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;CAC5E,CAAC;AAOF,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA2B;IAChF,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAExG,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,GAAG;YAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,OAAO;YAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC7J,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,6CAA6C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;IAC1H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,qFAAqF;AACrF,8CAA8C;AAC9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IAC3D,IAAI,QAAQ,EAAE;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC5C,OAAO,MAAM,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"nativeOnlyHints.js","sourceRoot":"","sources":["../../src/core/nativeOnlyHints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,QAAQ;IACpB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAClC,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,8BAA8B,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAClD,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;AACjD,CAAC;AAED,4DAA4D;AAC5D,8DAA8D;AAC9D,MAAM,gBAAgB,GAA6B;IAC/C,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,oBAAoB,EAAE,EAAE;IACxB,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,mBAAmB,EAAE,EAAE;IACvB,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,EAAE;CAC9B,CAAC;AAOF,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA2B;IAChF,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAExG,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,GAAG;YAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,OAAO;YAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;IAC7J,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,6CAA6C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;IAC1H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,qFAAqF;AACrF,8CAA8C;AAC9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IAC3D,IAAI,QAAQ,EAAE;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC5C,OAAO,MAAM,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAGvE,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAGD,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAMD,KAAK,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,CAAC;AA4BtH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CA6C1F;AA2FD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAWD,wBAAgB,aAAa,IAAI,IAAI,CAqDpC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,qEAAqE;AACrE,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAwBD,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,GACrB,IAAI,CA0GN;AAwED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,IAAI,CA4DP"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAGvE,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAGD,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAMD,KAAK,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,gBAAgB,GAAG,SAAS,CAAC;AA4BtH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CA6C1F;AAyFD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAWD,wBAAgB,aAAa,IAAI,IAAI,CA8CpC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,qEAAqE;AACrE,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAiBD,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,GACrB,IAAI,CAsGN;AAkED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,IAAI,CAsDP"}
@@ -11,8 +11,6 @@ import { getPostHogClient } from "./posthog.js";
11
11
  // ============================================================================
12
12
  const TELEMETRY_ENDPOINT = "https://rn-debugger-telemetry.500griven.workers.dev";
13
13
  const TELEMETRY_API_KEY = "6a630181cb391ed5c42a188428cc2d2623dfe9333ec048193bb711ab58afe85e";
14
- const BATCH_SIZE = 10;
15
- const BATCH_INTERVAL_MS = 30_000; // 30 seconds
16
14
  const REQUEST_TIMEOUT_MS = 5_000;
17
15
  const CONFIG_DIR = join(homedir(), ".rn-ai-debugger");
18
16
  const CONFIG_FILE = join(CONFIG_DIR, "telemetry.json");
@@ -95,8 +93,6 @@ export function categorizeError(errorMessage, errorContext) {
95
93
  // ============================================================================
96
94
  let telemetryEnabled = true;
97
95
  let config = null;
98
- let eventQueue = [];
99
- let batchTimer = null;
100
96
  let sessionStartTime = null;
101
97
  let sessionId = null;
102
98
  let isFirstRunSession = false;
@@ -194,19 +190,14 @@ export function initTelemetry() {
194
190
  trackEvent("session_start", {
195
191
  isFirstRun: isFirstRun()
196
192
  });
197
- // Start batch timer
198
- startBatchTimer();
199
- // Flush on process exit
200
- process.on("beforeExit", () => {
201
- flushSync();
202
- });
203
- // Track session end on SIGINT/SIGTERM
193
+ // Track session end on SIGINT/SIGTERM. Each event is dispatched immediately
194
+ // with keepalive, so no flush is needed — the OS completes the request even
195
+ // if the process exits right after.
204
196
  const handleExit = () => {
205
197
  if (sessionStarted && sessionStartTime) {
206
198
  trackEvent("session_end", {
207
199
  duration: Date.now() - sessionStartTime
208
200
  });
209
- flushSync();
210
201
  }
211
202
  process.exit(0);
212
203
  };
@@ -232,17 +223,12 @@ export function isDevMode() {
232
223
  function trackEvent(name, properties) {
233
224
  if (!telemetryEnabled)
234
225
  return;
235
- const event = {
226
+ dispatch({
236
227
  name,
237
228
  timestamp: Date.now(),
238
229
  isFirstRun: isFirstRun(),
239
230
  properties
240
- };
241
- eventQueue.push(event);
242
- // Flush immediately if batch size reached
243
- if (eventQueue.length >= BATCH_SIZE) {
244
- flush();
245
- }
231
+ });
246
232
  }
247
233
  export function trackToolInvocation(toolName, success, durationMs, errorMessage, errorContext, inputTokens, outputTokens, targetPlatform, emptyResult, meaningful, changeRate, tapStrategy, iosDriver, responsePreview, emptyReason) {
248
234
  // Append to local JSONL file for local dashboard (dev mode only)
@@ -350,16 +336,13 @@ export function trackToolInvocation(toolName, success, durationMs, errorMessage,
350
336
  event.iosDriver = iosDriver;
351
337
  if (emptyReason)
352
338
  event.emptyReason = emptyReason;
353
- eventQueue.push(event);
339
+ dispatch(event);
354
340
  // Increment local usage counter
355
341
  incrementLocalUsage();
356
342
  // Mirror platform-cohort signal to PostHog for native users.
357
343
  // Mirrors the infra's native-user inference (backend/worker.ts:deriveNativePlatform)
358
344
  // so PostHog cohort filters match the Cloudflare dashboard.
359
345
  mirrorNativeCohortToPostHog(toolName);
360
- if (eventQueue.length >= BATCH_SIZE) {
361
- flush();
362
- }
363
346
  }
364
347
  // Track what we've already sent to PostHog so we don't re-identify on every tool call.
365
348
  let _nativeKindSet = false;
@@ -411,7 +394,7 @@ function mirrorNativeCohortToPostHog(toolName) {
411
394
  function trackLicenseCheck(source, tier, durationMs) {
412
395
  if (!telemetryEnabled)
413
396
  return;
414
- const event = {
397
+ dispatch({
415
398
  name: "tool_invocation",
416
399
  timestamp: Date.now(),
417
400
  toolName: "_license_check",
@@ -419,11 +402,7 @@ function trackLicenseCheck(source, tier, durationMs) {
419
402
  duration: durationMs,
420
403
  isFirstRun: isFirstRun(),
421
404
  errorContext: `${source}:${tier}`
422
- };
423
- eventQueue.push(event);
424
- if (eventQueue.length >= BATCH_SIZE) {
425
- flush();
426
- }
405
+ });
427
406
  }
428
407
  /**
429
408
  * Records app detection result as an app_detected event.
@@ -432,7 +411,7 @@ function trackLicenseCheck(source, tier, durationMs) {
432
411
  export function trackAppDetection(detection) {
433
412
  if (!telemetryEnabled)
434
413
  return;
435
- const event = {
414
+ dispatch({
436
415
  name: "app_detected",
437
416
  timestamp: Date.now(),
438
417
  isFirstRun: isFirstRun(),
@@ -445,8 +424,7 @@ export function trackAppDetection(detection) {
445
424
  ...(detection.expoSdkVersion ? { expo: detection.expoSdkVersion } : {}),
446
425
  }),
447
426
  targetPlatform: detection.appPlatform,
448
- };
449
- eventQueue.push(event);
427
+ });
450
428
  // Mirror to PostHog so insights/cohort filters can use kind + platform without custom queries.
451
429
  try {
452
430
  const client = getPostHogClient();
@@ -484,44 +462,15 @@ export function trackAppDetection(detection) {
484
462
  catch {
485
463
  // PostHog errors must never affect tool flow.
486
464
  }
487
- if (eventQueue.length >= BATCH_SIZE) {
488
- flush();
489
- }
490
465
  }
491
466
  // ============================================================================
492
- // Batch Sending
467
+ // Event Dispatch
493
468
  // ============================================================================
494
- function startBatchTimer() {
495
- if (batchTimer)
496
- return;
497
- batchTimer = setInterval(() => {
498
- flush();
499
- }, BATCH_INTERVAL_MS);
500
- // Unref so it doesn't keep the process alive
501
- batchTimer.unref();
502
- }
503
- async function flush() {
504
- if (!telemetryEnabled || eventQueue.length === 0)
505
- return;
506
- const eventsToSend = [...eventQueue];
507
- eventQueue = [];
508
- try {
509
- await sendEvents(eventsToSend);
510
- }
511
- catch {
512
- // Silently fail - telemetry should never impact the user
513
- }
514
- }
515
- function flushSync() {
516
- if (!telemetryEnabled || eventQueue.length === 0)
517
- return;
518
- const eventsToSend = [...eventQueue];
519
- eventQueue = [];
520
- // Use a synchronous-ish approach for exit handlers
521
- // This won't actually wait, but queues the request
522
- sendEvents(eventsToSend).catch(() => { });
523
- }
524
- async function sendEvents(events) {
469
+ // One event per HTTP request, fired immediately. `keepalive: true` (undici,
470
+ // Node 18+) tells the runtime to complete the request even if the process
471
+ // exits right after — the Node equivalent of navigator.sendBeacon. No queue,
472
+ // no flush timer, no data loss on abrupt exit.
473
+ function dispatch(event) {
525
474
  const payload = {
526
475
  installationId: getInstallationId(),
527
476
  sessionId: sessionId || undefined,
@@ -529,23 +478,19 @@ async function sendEvents(events) {
529
478
  packageName: getPackageName(),
530
479
  nodeVersion: process.version,
531
480
  platform: process.platform,
532
- events
481
+ events: [event]
533
482
  };
534
- const controller = new AbortController();
535
- const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
536
- try {
537
- await fetch(TELEMETRY_ENDPOINT, {
538
- method: "POST",
539
- headers: {
540
- "Content-Type": "application/json",
541
- "X-API-Key": TELEMETRY_API_KEY
542
- },
543
- body: JSON.stringify(payload),
544
- signal: controller.signal
545
- });
546
- }
547
- finally {
548
- clearTimeout(timeoutId);
549
- }
483
+ fetch(TELEMETRY_ENDPOINT, {
484
+ method: "POST",
485
+ headers: {
486
+ "Content-Type": "application/json",
487
+ "X-API-Key": TELEMETRY_API_KEY
488
+ },
489
+ body: JSON.stringify(payload),
490
+ keepalive: true,
491
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
492
+ }).catch(() => {
493
+ // Silent: telemetry must never impact the user.
494
+ });
550
495
  }
551
496
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/core/telemetry.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare const toolRegistry: Map<string, {
3
+ config: any;
4
+ handler: (args: any) => Promise<any>;
5
+ }>;
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAmUA,eAAO,MAAM,YAAY;YAA6B,GAAG;aAAW,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;EAAK,CAAC"}