@eddym06/custom-chrome-mcp 1.0.4 → 1.1.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 (72) hide show
  1. package/CONDITIONAL_DESCRIPTIONS.md +174 -0
  2. package/FUTURE_FEATURES.txt +1503 -0
  3. package/README.md +300 -3
  4. package/TEST_WORKFLOW.md +311 -0
  5. package/USAGE_GUIDE.md +393 -0
  6. package/demo_features.ts +115 -0
  7. package/dist/chrome-connector.d.ts +31 -4
  8. package/dist/chrome-connector.d.ts.map +1 -1
  9. package/dist/chrome-connector.js +402 -53
  10. package/dist/chrome-connector.js.map +1 -1
  11. package/dist/index.js +69 -12
  12. package/dist/index.js.map +1 -1
  13. package/dist/tests/execute-script-tests.d.ts +62 -0
  14. package/dist/tests/execute-script-tests.d.ts.map +1 -0
  15. package/dist/tests/execute-script-tests.js +280 -0
  16. package/dist/tests/execute-script-tests.js.map +1 -0
  17. package/dist/tests/run-execute-tests.d.ts +7 -0
  18. package/dist/tests/run-execute-tests.d.ts.map +1 -0
  19. package/dist/tests/run-execute-tests.js +88 -0
  20. package/dist/tests/run-execute-tests.js.map +1 -0
  21. package/dist/tools/advanced-network.backup.d.ts +245 -0
  22. package/dist/tools/advanced-network.backup.d.ts.map +1 -0
  23. package/dist/tools/advanced-network.backup.js +996 -0
  24. package/dist/tools/advanced-network.backup.js.map +1 -0
  25. package/dist/tools/advanced-network.d.ts +580 -0
  26. package/dist/tools/advanced-network.d.ts.map +1 -0
  27. package/dist/tools/advanced-network.js +1325 -0
  28. package/dist/tools/advanced-network.js.map +1 -0
  29. package/dist/tools/anti-detection.d.ts.map +1 -1
  30. package/dist/tools/anti-detection.js +13 -8
  31. package/dist/tools/anti-detection.js.map +1 -1
  32. package/dist/tools/capture.d.ts +15 -9
  33. package/dist/tools/capture.d.ts.map +1 -1
  34. package/dist/tools/capture.js +21 -12
  35. package/dist/tools/capture.js.map +1 -1
  36. package/dist/tools/interaction.d.ts +84 -10
  37. package/dist/tools/interaction.d.ts.map +1 -1
  38. package/dist/tools/interaction.js +88 -33
  39. package/dist/tools/interaction.js.map +1 -1
  40. package/dist/tools/navigation.d.ts.map +1 -1
  41. package/dist/tools/navigation.js +43 -21
  42. package/dist/tools/navigation.js.map +1 -1
  43. package/dist/tools/network-accessibility.d.ts +67 -0
  44. package/dist/tools/network-accessibility.d.ts.map +1 -0
  45. package/dist/tools/network-accessibility.js +367 -0
  46. package/dist/tools/network-accessibility.js.map +1 -0
  47. package/dist/tools/playwright-launcher.d.ts +1 -1
  48. package/dist/tools/playwright-launcher.js +6 -6
  49. package/dist/tools/playwright-launcher.js.map +1 -1
  50. package/dist/tools/service-worker.d.ts +2 -2
  51. package/dist/tools/service-worker.d.ts.map +1 -1
  52. package/dist/tools/service-worker.js +22 -12
  53. package/dist/tools/service-worker.js.map +1 -1
  54. package/dist/tools/session.d.ts.map +1 -1
  55. package/dist/tools/session.js +23 -14
  56. package/dist/tools/session.js.map +1 -1
  57. package/dist/tools/system.d.ts +2 -2
  58. package/dist/tools/system.d.ts.map +1 -1
  59. package/dist/tools/system.js +9 -5
  60. package/dist/tools/system.js.map +1 -1
  61. package/dist/utils/truncate.d.ts +29 -0
  62. package/dist/utils/truncate.d.ts.map +1 -0
  63. package/dist/utils/truncate.js +46 -0
  64. package/dist/utils/truncate.js.map +1 -0
  65. package/dist/verify-tools.d.ts +7 -0
  66. package/dist/verify-tools.d.ts.map +1 -0
  67. package/dist/verify-tools.js +137 -0
  68. package/dist/verify-tools.js.map +1 -0
  69. package/package.json +3 -3
  70. package/recordings/demo_recording.har +3036 -0
  71. package/.npmrc.example +0 -2
  72. package/test-playwright.js +0 -57
@@ -8,14 +8,15 @@ export function createInteractionTools(connector) {
8
8
  // Click element
9
9
  {
10
10
  name: 'click',
11
- description: 'Click on an element using CSS selector',
11
+ description: '⚠️ CRITICAL WORKFLOW: BEFORE clicking, ALWAYS use get_html or screenshot FIRST to analyze page and identify correct selectors. NEVER guess selectors blindly. | Click/press/tap on any element (button, link, checkbox, etc.) using CSS selector. PROPER WORKFLOW: 1️⃣ navigate to page → 2️⃣ get_html to see available elements → 3️⃣ identify correct CSS selector from HTML → 4️⃣ THEN click with verified selector. Use when user says "click button", "press submit", "tap link".',
12
12
  inputSchema: z.object({
13
13
  selector: z.string().describe('CSS selector of element to click'),
14
14
  tabId: z.string().optional().describe('Tab ID (optional)'),
15
- waitForSelector: z.boolean().optional().default(true).describe('Wait for selector to be visible'),
16
- timeout: z.number().optional().default(30000).describe('Timeout in milliseconds')
15
+ waitForSelector: z.boolean().default(true).describe('Wait for selector to be visible'),
16
+ timeout: z.number().default(30000).describe('Timeout in milliseconds')
17
17
  }),
18
18
  handler: async ({ selector, tabId, waitForSelector, timeout = 30000 }) => {
19
+ await connector.verifyConnection();
19
20
  const client = await connector.getTabClient(tabId);
20
21
  const { Runtime, DOM } = client;
21
22
  await Runtime.enable();
@@ -57,15 +58,16 @@ export function createInteractionTools(connector) {
57
58
  // Type text
58
59
  {
59
60
  name: 'type',
60
- description: 'Type text into an input element',
61
+ description: '⚠️ PREREQUISITE: Use get_html FIRST to identify input field selectors. | Type/write/enter text into input fields, textboxes, search boxes, textareas. PROPER WORKFLOW: 1️⃣ get_html to find input elements → 2️⃣ identify selector (input#email, textarea.message) → 3️⃣ type text → 4️⃣ optionally press Enter. Use when user says "type in search box", "enter text", "write in field", "fill form".',
61
62
  inputSchema: z.object({
62
63
  selector: z.string().describe('CSS selector of input element'),
63
64
  text: z.string().describe('Text to type'),
64
65
  tabId: z.string().optional().describe('Tab ID (optional)'),
65
- clearFirst: z.boolean().optional().default(true).describe('Clear existing text first'),
66
- timeout: z.number().optional().default(30000).describe('Timeout in milliseconds')
66
+ clearFirst: z.boolean().default(true).describe('Clear existing text first'),
67
+ timeout: z.number().default(30000).describe('Timeout in milliseconds')
67
68
  }),
68
69
  handler: async ({ selector, text, tabId, clearFirst, timeout = 30000 }) => {
70
+ await connector.verifyConnection();
69
71
  const client = await connector.getTabClient(tabId);
70
72
  const { Runtime } = client;
71
73
  await Runtime.enable();
@@ -103,12 +105,13 @@ export function createInteractionTools(connector) {
103
105
  // Get text content
104
106
  {
105
107
  name: 'get_text',
106
- description: 'Get text content from an element',
108
+ description: '📝 Extracts visible text from elements. USE THIS WHEN: 1️⃣ Verifying click/action worked (check if new text appeared). 2️⃣ Scraping content (articles, prices, names). 3️⃣ Reading dynamic text loaded after interaction. 4️⃣ Confirming success/error messages. PREREQUISITE: Run get_html first to identify correct selector. Returns: Rendered text only (no HTML tags). Use for: content verification, web scraping, text analysis.',
107
109
  inputSchema: z.object({
108
110
  selector: z.string().describe('CSS selector of element'),
109
111
  tabId: z.string().optional().describe('Tab ID (optional)')
110
112
  }),
111
113
  handler: async ({ selector, tabId }) => {
114
+ await connector.verifyConnection();
112
115
  const client = await connector.getTabClient(tabId);
113
116
  const { Runtime } = client;
114
117
  await Runtime.enable();
@@ -134,13 +137,14 @@ export function createInteractionTools(connector) {
134
137
  // Get attribute
135
138
  {
136
139
  name: 'get_attribute',
137
- description: 'Get attribute value from an element',
140
+ description: '🔍 Retrieves HTML attribute values from elements. USE THIS WHEN: 1️⃣ Getting link URLs (href from <a> tags). 2️⃣ Getting image sources (src from <img>). 3️⃣ Getting data attributes (data-id, data-value). 4️⃣ Getting element IDs/classes for verification. 5️⃣ Checking disabled/readonly states. WORKFLOW: get_html → identify element → get_attribute(selector, "href"). Common attributes: href, src, id, class, data-*, alt, title, value, disabled.',
138
141
  inputSchema: z.object({
139
142
  selector: z.string().describe('CSS selector of element'),
140
143
  attribute: z.string().describe('Attribute name to get'),
141
144
  tabId: z.string().optional().describe('Tab ID (optional)')
142
145
  }),
143
146
  handler: async ({ selector, attribute, tabId }) => {
147
+ await connector.verifyConnection();
144
148
  const client = await connector.getTabClient(tabId);
145
149
  const { Runtime } = client;
146
150
  await Runtime.enable();
@@ -164,42 +168,91 @@ export function createInteractionTools(connector) {
164
168
  // Execute JavaScript
165
169
  {
166
170
  name: 'execute_script',
167
- description: 'Execute JavaScript code in the PAGE context. IMPORTANT: Do NOT use a Service Worker ID as tabId. Only use the main Tab/Page ID. If you need to debug a Service Worker, use inspect_service_worker_logs.',
171
+ description: 'Executes JavaScript code in page context. BEST PRACTICES: 1️⃣ Prefer get_html/click/type when possible (simpler & safer). 2️⃣ Use execute_script ONLY for: complex queries (querySelectorAll with map/filter), accessing window variables/functions, triggering custom events, advanced DOM manipulation. 3️⃣ ALWAYS use "return" statement to get results. 4️⃣ Return simple values (strings, numbers, arrays, plain objects) - NOT DOM nodes or Handles. EXAMPLES: return Array.from(document.querySelectorAll(".item")).map(e => e.textContent); | return window.appConfig; | return document.title;',
168
172
  inputSchema: z.object({
169
- script: z.string().describe('JavaScript code to execute'),
173
+ script: z.string().describe('JavaScript code to execute. MUST include "return" statement for results. Return serializable values only (no DOM nodes).'),
170
174
  tabId: z.string().optional().describe('Tab ID (optional) - MUST be a Page/Tab ID, not a Service Worker ID'),
171
- awaitPromise: z.boolean().optional().default(false).describe('Wait for promise to resolve'),
172
- timeout: z.number().optional().default(30000).describe('Timeout in milliseconds')
175
+ awaitPromise: z.boolean().default(false).describe('Wait for promise to resolve'),
176
+ timeoutMs: z.number().default(30000).optional().describe('Timeout in milliseconds (default: 30000). AI should specify based on script complexity: simple queries 5000ms, complex operations 30000ms, heavy computations 60000ms.')
173
177
  }),
174
- handler: async ({ script, tabId, awaitPromise, timeout = 30000 }) => {
175
- const client = await connector.getTabClient(tabId);
176
- const { Runtime } = client;
177
- await Runtime.enable();
178
- const result = await withTimeout(Runtime.evaluate({
179
- expression: script,
180
- awaitPromise,
181
- returnByValue: true
182
- }), timeout, 'Script execution timed out');
183
- if (result.exceptionDetails) {
184
- throw new Error(`Script execution failed: ${result.exceptionDetails.text}`);
178
+ handler: async ({ script, tabId, awaitPromise, timeoutMs = 30000 }) => {
179
+ try {
180
+ await connector.verifyConnection();
181
+ const client = await connector.getTabClient(tabId);
182
+ const { Runtime } = client;
183
+ await Runtime.enable();
184
+ // Wrap script to ensure it returns serializable values
185
+ const wrappedScript = `
186
+ (function() {
187
+ try {
188
+ const result = (function() {
189
+ ${script}
190
+ })();
191
+
192
+ // Ensure result is serializable
193
+ if (result === undefined) return null;
194
+ if (result === null) return null;
195
+ if (typeof result === 'function') return '[Function]';
196
+ if (result instanceof Node || result instanceof Element) {
197
+ return '[DOM Node - use get_text or get_attribute instead]';
198
+ }
199
+
200
+ return result;
201
+ } catch (e) {
202
+ return { __error: true, message: e.message, stack: e.stack };
203
+ }
204
+ })()
205
+ `;
206
+ const result = await withTimeout(Runtime.evaluate({
207
+ expression: wrappedScript,
208
+ awaitPromise,
209
+ returnByValue: true,
210
+ userGesture: true
211
+ }), timeoutMs, `Script execution timed out after ${timeoutMs}ms`);
212
+ // Check for evaluation exceptions
213
+ if (result.exceptionDetails) {
214
+ const errorMsg = result.exceptionDetails.exception?.description || result.exceptionDetails.text || 'Unknown error';
215
+ return {
216
+ success: false,
217
+ error: `Script execution failed: ${errorMsg}`,
218
+ exceptionDetails: result.exceptionDetails
219
+ };
220
+ }
221
+ // Check for wrapped error
222
+ const resultValue = result.result.value;
223
+ if (resultValue && resultValue.__error) {
224
+ return {
225
+ success: false,
226
+ error: `Script error: ${resultValue.message}`,
227
+ stack: resultValue.stack
228
+ };
229
+ }
230
+ return {
231
+ success: true,
232
+ result: resultValue
233
+ };
234
+ }
235
+ catch (error) {
236
+ return {
237
+ success: false,
238
+ error: error.message || 'Script execution failed',
239
+ suggestion: 'Ensure: 1) Script has return statement, 2) Returns serializable values (not DOM nodes), 3) Page is loaded, 4) TabId is correct'
240
+ };
185
241
  }
186
- return {
187
- success: true,
188
- result: result.result.value
189
- };
190
242
  }
191
243
  },
192
244
  // Scroll
193
245
  {
194
246
  name: 'scroll',
195
- description: 'Scroll the page or an element',
247
+ description: '⬇️ Scrolls page/element to position. USE THIS WHEN: 1️⃣ Target element below fold (need to scroll to make visible). 2️⃣ Lazy-loading content (scroll triggers image/content load). 3️⃣ Infinite scroll pages (scroll down loads more items). 4️⃣ Taking full-page screenshot (scroll to bottom first). 5️⃣ Content not visible in viewport. TRIGGERS: "scroll down", "load more content", "see bottom of page". Common: scroll(0, 9999) for bottom, scroll(0, 0) for top.',
196
248
  inputSchema: z.object({
197
- x: z.number().optional().default(0).describe('Horizontal scroll position'),
249
+ x: z.number().default(0).describe('Horizontal scroll position'),
198
250
  y: z.number().optional().describe('Vertical scroll position'),
199
251
  selector: z.string().optional().describe('CSS selector to scroll (scrolls window if not provided)'),
200
252
  tabId: z.string().optional().describe('Tab ID (optional)')
201
253
  }),
202
254
  handler: async ({ x, y, selector, tabId }) => {
255
+ await connector.verifyConnection();
203
256
  const client = await connector.getTabClient(tabId);
204
257
  const { Runtime } = client;
205
258
  await Runtime.enable();
@@ -217,13 +270,14 @@ export function createInteractionTools(connector) {
217
270
  // Wait for selector
218
271
  {
219
272
  name: 'wait_for_selector',
220
- description: 'Wait for an element to appear on the page',
273
+ description: '⏱️ Waits for element to appear in DOM. USE THIS WHEN: 1️⃣ After click, waiting for modal/popup to appear. 2️⃣ After form submit, waiting for success message. 3️⃣ After AJAX load, waiting for new content. 4️⃣ Click triggers animation/transition. WORKFLOW: click → wait_for_selector → THEN interact with new element. TIMEOUT: Set based on expected load time (fast: 5000ms, normal: 15000ms, slow: 30000ms). Prevents "element not found" errors by waiting for dynamic content.',
221
274
  inputSchema: z.object({
222
275
  selector: z.string().describe('CSS selector to wait for'),
223
- timeout: z.number().optional().default(30000).describe('Timeout in milliseconds'),
276
+ timeoutMs: z.number().default(30000).optional().describe('Timeout in milliseconds (default: 30000). AI should set: quick animations 5000ms, normal loads 15000ms, slow APIs 30000ms.'),
224
277
  tabId: z.string().optional().describe('Tab ID (optional)')
225
278
  }),
226
- handler: async ({ selector, timeout, tabId }) => {
279
+ handler: async ({ selector, timeoutMs = 30000, tabId }) => {
280
+ await connector.verifyConnection();
227
281
  const client = await connector.getTabClient(tabId);
228
282
  const { Runtime } = client;
229
283
  await Runtime.enable();
@@ -232,7 +286,7 @@ export function createInteractionTools(connector) {
232
286
  expression: `document.querySelector('${selector}') !== null`
233
287
  });
234
288
  return result.result.value === true;
235
- }, timeout);
289
+ }, timeoutMs);
236
290
  if (!found) {
237
291
  throw new Error(`Timeout waiting for selector: ${selector}`);
238
292
  }
@@ -252,6 +306,7 @@ export function createInteractionTools(connector) {
252
306
  tabId: z.string().optional().describe('Tab ID (optional)')
253
307
  }),
254
308
  handler: async ({ selector, value, tabId }) => {
309
+ await connector.verifyConnection();
255
310
  const client = await connector.getTabClient(tabId);
256
311
  const { Runtime } = client;
257
312
  await Runtime.enable();
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/tools/interaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/tools/interaction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvE,MAAM,UAAU,sBAAsB,CAAC,SAA0B;IAC/D,OAAO;QACL,gBAAgB;QAChB;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,wdAAwd;YACre,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC1D,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;gBACtF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;aACvE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,GAAG,KAAK,EAAO,EAAE,EAAE;gBAC5E,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;gBAEhC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBAEnB,iCAAiC;gBACjC,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;wBACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;4BACpC,UAAU,EAAE,2BAA2B,QAAQ,aAAa;yBAC7D,CAAC,CAAC;wBACH,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;oBACtC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAEZ,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,aAAa,OAAO,KAAK,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBAED,uBAAuB;gBACvB,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAE3B,oBAAoB;gBACpB,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACjC,UAAU,EAAE;;mDAE6B,QAAQ;;;;;;WAMhD;oBACD,YAAY,EAAE,IAAI;iBACnB,CAAC,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;gBAEvC,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,uBAAuB,QAAQ,EAAE;iBAC3C,CAAC;YACJ,CAAC;SACF;QAED,YAAY;QACZ;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,wYAAwY;YACrZ,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC1D,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBAC3E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;aACvE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAG,KAAK,EAAO,EAAE,EAAE;gBAC7E,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAE3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,8BAA8B;gBAC9B,MAAM,MAAM,GAAG;;iDAE0B,QAAQ;;;;;;cAM3C,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;;;2BAGrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;qDAIM,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;;;;;;SAMnE,CAAC;gBAEF,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;gBAClH,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,oBAAoB,QAAQ,EAAE;iBACxC,CAAC;YACJ,CAAC;SACF;QAED,mBAAmB;QACnB;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,yaAAya;YACtb,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAO,EAAE,EAAE;gBAC1C,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAE3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;oBACpC,UAAU,EAAE;;mDAE6B,QAAQ;;;;WAIhD;iBACF,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;oBACzB,QAAQ;iBACT,CAAC;YACJ,CAAC;SACF;QAED,gBAAgB;QAChB;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,6bAA6b;YAC1c,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAO,EAAE,EAAE;gBACrD,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAE3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;oBACpC,UAAU,EAAE;;mDAE6B,QAAQ;;wCAEnB,SAAS;;WAEtC;iBACF,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;oBAC1B,QAAQ;oBACR,SAAS;iBACV,CAAC;YACJ,CAAC;SACF;QAED,qBAAqB;QACrB;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,ykBAAykB;YACtlB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0HAA0H,CAAC;gBACvJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;gBAC3G,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wKAAwK,CAAC;aACnO,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,GAAG,KAAK,EAAO,EAAE,EAAE;gBACzE,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;oBAE3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBAEvB,uDAAuD;oBACvD,MAAM,aAAa,GAAG;;;;oBAIZ,MAAM;;;;;;;;;;;;;;;;WAgBf,CAAC;oBAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAChD,UAAU,EAAE,aAAa;wBACzB,YAAY;wBACZ,aAAa,EAAE,IAAI;wBACnB,WAAW,EAAE,IAAI;qBAClB,CAAC,EAAE,SAAS,EAAE,oCAAoC,SAAS,IAAI,CAAQ,CAAC;oBAEzE,kCAAkC;oBAClC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,eAAe,CAAC;wBACnH,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,4BAA4B,QAAQ,EAAE;4BAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;yBAC1C,CAAC;oBACJ,CAAC;oBAED,0BAA0B;oBAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;oBACxC,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACvC,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,iBAAiB,WAAW,CAAC,OAAO,EAAE;4BAC7C,KAAK,EAAE,WAAW,CAAC,KAAK;yBACzB,CAAC;oBACJ,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,WAAW;qBACpB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,yBAAyB;wBACjD,UAAU,EAAE,gIAAgI;qBAC7I,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,SAAS;QACT;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2cAA2c;YACxd,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBAC/D,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBACnG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAO,EAAE,EAAE;gBAChD,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAE3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,MAAM,YAAY,GAAG,QAAQ;oBAC3B,CAAC,CAAC,2BAA2B,QAAQ,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;oBACnE,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBAEvC,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrD,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;iBAClD,CAAC;YACJ,CAAC;SACF;QAED,oBAAoB;QACpB;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,ydAAyd;YACte,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4HAA4H,CAAC;gBACtL,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,EAAO,EAAE,EAAE;gBAC7D,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAE3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;wBACpC,UAAU,EAAE,2BAA2B,QAAQ,aAAa;qBAC7D,CAAC,CAAC;oBACH,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;gBACtC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAEd,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,kBAAkB,QAAQ,EAAE;iBACtC,CAAC;YACJ,CAAC;SACF;QAED,gBAAgB;QAChB;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;gBAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAO,EAAE,EAAE;gBACjD,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAE3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,MAAM,OAAO,CAAC,QAAQ,CAAC;oBACrB,UAAU,EAAE;;uDAEiC,QAAQ;;gCAE/B,KAAK;;;;WAI1B;iBACF,CAAC,CAAC;gBAEH,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,oBAAoB,KAAK,QAAQ,QAAQ,EAAE;iBACrD,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe;;;;;;;;;;yBAoD/B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA6FL,GAAG;;;;;;;;;;;;;;;;;;;yBAuBD,GAAG;;;;;;;;;;;;;;yBAoCH,GAAG;;;;;KAenC"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe;;;;;;;;;;yBAsE/B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiGL,GAAG;;;;;;;;;;;;;;;;;;;yBAwBD,GAAG;;;;;;;;;;;;;;yBAsCH,GAAG;;;;;KAgBnC"}
@@ -8,32 +8,46 @@ export function createNavigationTools(connector) {
8
8
  // Navigate to URL
9
9
  {
10
10
  name: 'navigate',
11
- description: 'Navigate to a URL in the current or specified tab',
11
+ description: '🌐 PRIMARY NAVIGATION TOOL - Opens/loads/visits any URL. ✅ USE THIS for: "go to", "open", "navigate to", "visit", "load page", "browse to" any website. Navigates in CURRENT tab (doesn\'t create new tab). Examples: "go to apple.com", "navigate to google.com", "visit youtube.com". 📋 WORKFLOW: 1️⃣ navigate → 2️⃣ wait_for_load_state(networkidle) → 3️⃣ get_html (analyze) → 4️⃣ interact. ❌ DO NOT use create_tab for simple navigation!',
12
12
  inputSchema: z.object({
13
13
  url: z.string().describe('URL to navigate to'),
14
14
  tabId: z.string().optional().describe('Tab ID (optional, uses current tab if not specified)'),
15
- waitUntil: z.enum(['load', 'domcontentloaded', 'networkidle']).optional().default('load')
15
+ waitUntil: z.enum(['load', 'domcontentloaded', 'networkidle']).default('load')
16
16
  .describe('Wait until this event fires'),
17
- timeout: z.number().optional().default(30000).describe('Timeout in milliseconds')
17
+ timeout: z.number().default(30000).describe('Timeout in milliseconds')
18
18
  }),
19
19
  handler: async ({ url, tabId, waitUntil, timeout = 30000 }) => {
20
+ console.error(`[Navigation] Starting navigation to ${url} (tab: ${tabId || 'active'})`);
21
+ // VERIFY CONNECTION FIRST
22
+ await connector.verifyConnection();
20
23
  if (!isValidUrl(url)) {
24
+ console.error(`[Navigation] Invalid URL rejected: ${url}`);
21
25
  throw new Error(`Invalid URL: ${url}`);
22
26
  }
27
+ console.error(`[Navigation] Connecting to tab...`);
23
28
  const client = await connector.getTabClient(tabId);
29
+ console.error(`[Navigation] Connected to tab. Enabling Page domain...`);
24
30
  const { Page } = client;
25
31
  await Page.enable();
26
- await Page.navigate({ url });
27
- // Wait for the specified event
28
- const waitPromise = (async () => {
29
- if (waitUntil === 'load') {
30
- await Page.loadEventFired();
31
- }
32
- else if (waitUntil === 'domcontentloaded') {
33
- await Page.domContentEventFired();
34
- }
35
- })();
36
- await withTimeout(waitPromise, timeout, `Navigation to ${url} timed out`);
32
+ console.error(`[Navigation] Setting up event listener for ${waitUntil}...`);
33
+ // Set up the event listener BEFORE navigating
34
+ let eventPromise;
35
+ if (waitUntil === 'load') {
36
+ eventPromise = Page.loadEventFired();
37
+ }
38
+ else if (waitUntil === 'domcontentloaded') {
39
+ eventPromise = Page.domContentEventFired();
40
+ }
41
+ else {
42
+ // For networkidle, just wait a bit
43
+ eventPromise = new Promise(r => setTimeout(r, 1000));
44
+ }
45
+ console.error(`[Navigation] Page domain enabled. Sending navigate command...`);
46
+ const navResponse = await Page.navigate({ url });
47
+ console.error(`[Navigation] Navigate response:`, navResponse);
48
+ console.error(`[Navigation] Waiting for ${waitUntil} event...`);
49
+ await withTimeout(eventPromise, timeout, `Navigation to ${url} timed out`);
50
+ console.error(`[Navigation] Event received successfully!`);
37
51
  await humanDelay();
38
52
  return {
39
53
  success: true,
@@ -45,11 +59,12 @@ export function createNavigationTools(connector) {
45
59
  // Go back
46
60
  {
47
61
  name: 'go_back',
48
- description: 'Navigate back in browser history',
62
+ description: 'Go back in browser history - same as pressing the back button. Use when user says "go back", "navigate back", "return to previous page", "press back button".',
49
63
  inputSchema: z.object({
50
64
  tabId: z.string().optional().describe('Tab ID (optional)')
51
65
  }),
52
66
  handler: async ({ tabId }) => {
67
+ await connector.verifyConnection();
53
68
  const client = await connector.getTabClient(tabId);
54
69
  const { Page } = client;
55
70
  await Page.enable();
@@ -71,6 +86,7 @@ export function createNavigationTools(connector) {
71
86
  tabId: z.string().optional().describe('Tab ID (optional)')
72
87
  }),
73
88
  handler: async ({ tabId }) => {
89
+ await connector.verifyConnection();
74
90
  const client = await connector.getTabClient(tabId);
75
91
  const { Page } = client;
76
92
  await Page.enable();
@@ -90,9 +106,10 @@ export function createNavigationTools(connector) {
90
106
  description: 'Reload the current page',
91
107
  inputSchema: z.object({
92
108
  tabId: z.string().optional().describe('Tab ID (optional)'),
93
- ignoreCache: z.boolean().optional().default(false).describe('Ignore cache when reloading')
109
+ ignoreCache: z.boolean().default(false).describe('Ignore cache when reloading')
94
110
  }),
95
111
  handler: async ({ tabId, ignoreCache }) => {
112
+ await connector.verifyConnection();
96
113
  const client = await connector.getTabClient(tabId);
97
114
  const { Page } = client;
98
115
  await Page.enable();
@@ -108,9 +125,10 @@ export function createNavigationTools(connector) {
108
125
  // List tabs
109
126
  {
110
127
  name: 'list_tabs',
111
- description: 'List all open tabs',
128
+ description: '📋 Lists all open browser tabs. USE THIS WHEN: 1️⃣ Need to switch between tabs (get tab IDs). 2️⃣ Multiple tabs open, need to find specific one by title/URL. 3️⃣ Verifying tab was created. 4️⃣ Managing multiple pages simultaneously. 5️⃣ Debugging: "which tab am I in?". Returns: tab IDs, titles, URLs. Use returned ID with tabId parameter in other tools.',
112
129
  inputSchema: z.object({}),
113
130
  handler: async () => {
131
+ await connector.verifyConnection();
114
132
  const tabs = await connector.listTabs();
115
133
  return {
116
134
  success: true,
@@ -126,11 +144,12 @@ export function createNavigationTools(connector) {
126
144
  // Create new tab
127
145
  {
128
146
  name: 'create_tab',
129
- description: 'Create a new tab',
147
+ description: ' Creates NEW/ADDITIONAL browser tab. USE THIS ONLY when user explicitly wants MULTIPLE tabs or says "open in new tab", "create another tab", "new window". ❌ DO NOT USE for simple navigation! For "go to URL" or "navigate to", use navigate tool instead. create_tab is for managing multiple tabs simultaneously.',
130
148
  inputSchema: z.object({
131
149
  url: z.string().optional().describe('URL to open in new tab (optional)')
132
150
  }),
133
151
  handler: async ({ url }) => {
152
+ await connector.verifyConnection();
134
153
  const newTab = await connector.createTab(url);
135
154
  await humanDelay();
136
155
  return {
@@ -147,11 +166,12 @@ export function createNavigationTools(connector) {
147
166
  // Close tab
148
167
  {
149
168
  name: 'close_tab',
150
- description: 'Close a tab by ID',
169
+ description: ' Closes specific tab by ID. USE THIS WHEN: Cleaning up after multi-tab workflow, closing popups/ads, managing tab overflow. PREREQUISITE: list_tabs to get tab ID. CAUTION: Cannot close if it\'s the only tab.',
151
170
  inputSchema: z.object({
152
171
  tabId: z.string().describe('Tab ID to close')
153
172
  }),
154
173
  handler: async ({ tabId }) => {
174
+ await connector.verifyConnection();
155
175
  await connector.closeTab(tabId);
156
176
  await humanDelay();
157
177
  return {
@@ -163,11 +183,12 @@ export function createNavigationTools(connector) {
163
183
  // Activate/switch to tab
164
184
  {
165
185
  name: 'switch_tab',
166
- description: 'Switch to a specific tab',
186
+ description: '🔄 Switches focus to specific tab. USE THIS WHEN: Working with multiple tabs, need to interact with different page. WORKFLOW: list_tabs → get target tab ID → switch_tab → interact with that tab.',
167
187
  inputSchema: z.object({
168
188
  tabId: z.string().describe('Tab ID to switch to')
169
189
  }),
170
190
  handler: async ({ tabId }) => {
191
+ await connector.verifyConnection();
171
192
  await connector.activateTab(tabId);
172
193
  await humanDelay();
173
194
  return {
@@ -179,11 +200,12 @@ export function createNavigationTools(connector) {
179
200
  // Get current URL
180
201
  {
181
202
  name: 'get_url',
182
- description: 'Get the current URL of the page',
203
+ description: '🔗 Gets current page URL. USE THIS WHEN: 1️⃣ Verifying navigation worked (check URL changed). 2️⃣ Checking if redirect happened. 3️⃣ Confirming on correct page before interaction. 4️⃣ Extracting URL parameters (parse returned URL). 5️⃣ Debugging: "where am I?". Returns: Full URL including protocol, domain, path, query params.',
183
204
  inputSchema: z.object({
184
205
  tabId: z.string().optional().describe('Tab ID (optional)')
185
206
  }),
186
207
  handler: async ({ tabId }) => {
208
+ await connector.verifyConnection();
187
209
  const client = await connector.getTabClient(tabId);
188
210
  const { Page } = client;
189
211
  await Page.enable();
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Network Interception and Accessibility Tools
3
+ */
4
+ import { z } from 'zod';
5
+ import type { ChromeConnector } from '../chrome-connector.js';
6
+ export declare function createNetworkAccessibilityTools(connector: ChromeConnector): ({
7
+ name: string;
8
+ description: string;
9
+ inputSchema: z.ZodObject<{
10
+ tabId: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ tabId?: string | undefined;
13
+ }, {
14
+ tabId?: string | undefined;
15
+ }>;
16
+ handler: ({ tabId }: any) => Promise<{
17
+ success: boolean;
18
+ interceptedRequests: never[];
19
+ count: number;
20
+ message: string;
21
+ } | {
22
+ success: boolean;
23
+ interceptedRequests: {
24
+ requestId: any;
25
+ url: any;
26
+ method: any;
27
+ resourceType: any;
28
+ headers: any;
29
+ }[];
30
+ count: number;
31
+ message?: undefined;
32
+ }>;
33
+ } | {
34
+ name: string;
35
+ description: string;
36
+ inputSchema: z.ZodObject<{
37
+ tabId: z.ZodOptional<z.ZodString>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ tabId?: string | undefined;
40
+ }, {
41
+ tabId?: string | undefined;
42
+ }>;
43
+ handler: ({ tabId }: any) => Promise<{
44
+ success: boolean;
45
+ message: string;
46
+ }>;
47
+ } | {
48
+ name: string;
49
+ description: string;
50
+ inputSchema: z.ZodObject<{
51
+ tabId: z.ZodOptional<z.ZodString>;
52
+ interestingOnly: z.ZodDefault<z.ZodBoolean>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ interestingOnly: boolean;
55
+ tabId?: string | undefined;
56
+ }, {
57
+ tabId?: string | undefined;
58
+ interestingOnly?: boolean | undefined;
59
+ }>;
60
+ handler: ({ tabId, interestingOnly }: any) => Promise<{
61
+ success: boolean;
62
+ snapshot: string;
63
+ nodeCount: any;
64
+ totalNodes: any;
65
+ }>;
66
+ })[];
67
+ //# sourceMappingURL=network-accessibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-accessibility.d.ts","sourceRoot":"","sources":["../../src/tools/network-accessibility.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,eAAe;;;;;;;;;;yBAqDzC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAkLH,GAAG;;;;;;;;;;;;;;;;;0CA0GqB,GAAG;;;;;;KAgF3D"}