@eddym06/custom-chrome-mcp 1.0.8 → 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 (62) 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 +10 -0
  8. package/dist/chrome-connector.d.ts.map +1 -1
  9. package/dist/chrome-connector.js +44 -0
  10. package/dist/chrome-connector.js.map +1 -1
  11. package/dist/index.js +22 -1
  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.js +5 -5
  30. package/dist/tools/anti-detection.js.map +1 -1
  31. package/dist/tools/capture.d.ts +7 -1
  32. package/dist/tools/capture.d.ts.map +1 -1
  33. package/dist/tools/capture.js +8 -4
  34. package/dist/tools/capture.js.map +1 -1
  35. package/dist/tools/interaction.d.ts +82 -8
  36. package/dist/tools/interaction.d.ts.map +1 -1
  37. package/dist/tools/interaction.js +75 -28
  38. package/dist/tools/interaction.js.map +1 -1
  39. package/dist/tools/navigation.js +7 -7
  40. package/dist/tools/navigation.js.map +1 -1
  41. package/dist/tools/network-accessibility.d.ts +67 -0
  42. package/dist/tools/network-accessibility.d.ts.map +1 -0
  43. package/dist/tools/network-accessibility.js +367 -0
  44. package/dist/tools/network-accessibility.js.map +1 -0
  45. package/dist/tools/playwright-launcher.js +4 -4
  46. package/dist/tools/playwright-launcher.js.map +1 -1
  47. package/dist/tools/service-worker.js +10 -10
  48. package/dist/tools/service-worker.js.map +1 -1
  49. package/dist/tools/session.js +9 -9
  50. package/dist/tools/session.js.map +1 -1
  51. package/dist/tools/system.js +3 -3
  52. package/dist/tools/system.js.map +1 -1
  53. package/dist/utils/truncate.d.ts +29 -0
  54. package/dist/utils/truncate.d.ts.map +1 -0
  55. package/dist/utils/truncate.js +46 -0
  56. package/dist/utils/truncate.js.map +1 -0
  57. package/dist/verify-tools.d.ts +7 -0
  58. package/dist/verify-tools.d.ts.map +1 -0
  59. package/dist/verify-tools.js +137 -0
  60. package/dist/verify-tools.js.map +1 -0
  61. package/package.json +2 -2
  62. package/recordings/demo_recording.har +3036 -0
@@ -8,7 +8,7 @@ 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)'),
@@ -59,7 +59,7 @@ export function createNavigationTools(connector) {
59
59
  // Go back
60
60
  {
61
61
  name: 'go_back',
62
- 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".',
63
63
  inputSchema: z.object({
64
64
  tabId: z.string().optional().describe('Tab ID (optional)')
65
65
  }),
@@ -125,7 +125,7 @@ export function createNavigationTools(connector) {
125
125
  // List tabs
126
126
  {
127
127
  name: 'list_tabs',
128
- 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.',
129
129
  inputSchema: z.object({}),
130
130
  handler: async () => {
131
131
  await connector.verifyConnection();
@@ -144,7 +144,7 @@ export function createNavigationTools(connector) {
144
144
  // Create new tab
145
145
  {
146
146
  name: 'create_tab',
147
- 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.',
148
148
  inputSchema: z.object({
149
149
  url: z.string().optional().describe('URL to open in new tab (optional)')
150
150
  }),
@@ -166,7 +166,7 @@ export function createNavigationTools(connector) {
166
166
  // Close tab
167
167
  {
168
168
  name: 'close_tab',
169
- 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.',
170
170
  inputSchema: z.object({
171
171
  tabId: z.string().describe('Tab ID to close')
172
172
  }),
@@ -183,7 +183,7 @@ export function createNavigationTools(connector) {
183
183
  // Activate/switch to tab
184
184
  {
185
185
  name: 'switch_tab',
186
- 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.',
187
187
  inputSchema: z.object({
188
188
  tabId: z.string().describe('Tab ID to switch to')
189
189
  }),
@@ -200,7 +200,7 @@ export function createNavigationTools(connector) {
200
200
  // Get current URL
201
201
  {
202
202
  name: 'get_url',
203
- 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.',
204
204
  inputSchema: z.object({
205
205
  tabId: z.string().optional().describe('Tab ID (optional)')
206
206
  }),
@@ -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":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,UAAU,qBAAqB,CAAC,SAA0B;IAC9D,OAAO;QACL,kBAAkB;QAClB;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,kbAAkb;YAC/b,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;gBAC7F,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;qBAC3E,QAAQ,CAAC,6BAA6B,CAAC;gBAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;aACvE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,EAAO,EAAE,EAAE;gBACjE,OAAO,CAAC,KAAK,CAAC,uCAAuC,GAAG,UAAU,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC;gBAExF,0BAA0B;gBAC1B,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAEnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;oBAC3D,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;gBACzC,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBAExB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEpB,OAAO,CAAC,KAAK,CAAC,8CAA8C,SAAS,KAAK,CAAC,CAAC;gBAE5E,8CAA8C;gBAC9C,IAAI,YAAY,CAAC;gBACjB,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;oBACzB,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,CAAC;qBAAM,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,mCAAmC;oBACnC,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;gBAC/E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;gBAE9D,OAAO,CAAC,KAAK,CAAC,4BAA4B,SAAS,WAAW,CAAC,CAAC;gBAChE,MAAM,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,CAAC;gBAE3E,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAE3D,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,GAAG;oBACH,OAAO,EAAE,gBAAgB,GAAG,EAAE;iBAC/B,CAAC;YACJ,CAAC;SACF;QAED,UAAU;QACV;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,+JAA+J;YAC5K,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAO,EAAE,EAAE;gBAChC,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBAExB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAClD,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBACxD,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,MAAM,UAAU,EAAE,CAAC;oBACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;gBACtD,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;YAC9D,CAAC;SACF;QAED,aAAa;QACb;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,qCAAqC;YAClD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAO,EAAE,EAAE;gBAChC,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBAExB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAClD,IAAI,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBACxD,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,MAAM,UAAU,EAAE,CAAC;oBACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBACzD,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;YACjE,CAAC;SACF;QAED,cAAc;QACd;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC1D,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;aAChF,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAO,EAAE,EAAE;gBAC7C,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBAExB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,gBAAgB,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;iBACjE,CAAC;YACJ,CAAC;SACF;QAED,YAAY;QACZ;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,oWAAoW;YACjX,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACnB,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,GAAG,EAAE,CAAC,CAAC,GAAG;qBACX,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;SACF;QAED,iBAAiB;QACjB;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,uTAAuT;YACpU,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;aACzE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAO,EAAE,EAAE;gBAC9B,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE;wBACH,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB;oBACD,OAAO,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC5D,CAAC;YACJ,CAAC;SACF;QAED,YAAY;QACZ;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,kNAAkN;YAC/N,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;aAC9C,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAO,EAAE,EAAE;gBAChC,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,cAAc,KAAK,EAAE;iBAC/B,CAAC;YACJ,CAAC;SACF;QAED,yBAAyB;QACzB;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,oMAAoM;YACjN,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;aAClD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAO,EAAE,EAAE;gBAChC,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,UAAU,EAAE,CAAC;gBAEnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,mBAAmB,KAAK,EAAE;iBACpC,CAAC;YACJ,CAAC;SACF;QAED,kBAAkB;QAClB;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,yUAAyU;YACtV,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAO,EAAE,EAAE;gBAChC,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBAExB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEhD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG;oBACxB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU;iBAC1C,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -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"}
@@ -0,0 +1,367 @@
1
+ /**
2
+ * Network Interception and Accessibility Tools
3
+ */
4
+ import { z } from 'zod';
5
+ import { withTimeout } from '../utils/helpers.js';
6
+ // Store for intercepted requests (per tab)
7
+ const interceptedRequests = new Map();
8
+ export function createNetworkAccessibilityTools(connector) {
9
+ return [
10
+ // Enable network interception
11
+ {
12
+ name: 'enable_network_interception',
13
+ description: '🔒 Enables REQUEST interception (modify/block requests before they send). USE THIS WHEN: 1️⃣ Modifying request URLs (redirect API calls). 2️⃣ Changing request headers/method (test API variations). 3️⃣ Blocking specific resources (speed testing without ads). WORKFLOW: enable_network_interception → list_intercepted_requests → modify_intercepted_request/fail_intercepted_request. DIFFERENT FROM: enable_response_interception (responses, not requests). PATTERNS: ["*"] = all, ["*.js"] = JS only.',
14
+ inputSchema: z.object({
15
+ patterns: z.array(z.string()).default(['*']).describe('URL patterns to intercept (e.g., ["*.js", "*.css", "*api*"]). Use "*" for all requests.'),
16
+ tabId: z.string().optional().describe('Tab ID (optional)')
17
+ }),
18
+ handler: async ({ patterns = ['*'], tabId }) => {
19
+ await connector.verifyConnection();
20
+ const client = await connector.getTabClient(tabId);
21
+ const { Network, Fetch } = client;
22
+ // Enable Network domain
23
+ await Network.enable();
24
+ // Enable Fetch domain for interception
25
+ await Fetch.enable({
26
+ patterns: patterns.map((pattern) => ({
27
+ urlPattern: pattern,
28
+ requestStage: 'Request'
29
+ }))
30
+ });
31
+ // Initialize storage for this tab
32
+ const effectiveTabId = tabId || 'default';
33
+ if (!interceptedRequests.has(effectiveTabId)) {
34
+ interceptedRequests.set(effectiveTabId, new Map());
35
+ }
36
+ // Listen for intercepted requests
37
+ Fetch.requestPaused((params) => {
38
+ const requests = interceptedRequests.get(effectiveTabId);
39
+ requests.set(params.requestId, params);
40
+ });
41
+ return {
42
+ success: true,
43
+ message: `Network interception enabled for patterns: ${patterns.join(', ')}`,
44
+ interceptedCount: 0
45
+ };
46
+ }
47
+ },
48
+ // List intercepted requests
49
+ {
50
+ name: 'list_intercepted_requests',
51
+ description: '📝 Lists paused requests (after enable_network_interception). USE THIS WHEN: 1️⃣ After enable_network_interception (see what\'s paused). 2️⃣ Getting requestId for modification/blocking. 3️⃣ Checking request details (URL, method, headers). PREREQUISITE: enable_network_interception must be called first. RETURNS: Array with requestId, URL, method, resourceType. NEXT STEPS: Use requestId with modify_intercepted_request, fail_intercepted_request, or continue_intercepted_request.',
52
+ inputSchema: z.object({
53
+ tabId: z.string().optional().describe('Tab ID (optional)')
54
+ }),
55
+ handler: async ({ tabId }) => {
56
+ await connector.verifyConnection();
57
+ const effectiveTabId = tabId || 'default';
58
+ const requests = interceptedRequests.get(effectiveTabId);
59
+ if (!requests || requests.size === 0) {
60
+ return {
61
+ success: true,
62
+ interceptedRequests: [],
63
+ count: 0,
64
+ message: 'No requests currently intercepted. Use enable_network_interception first.'
65
+ };
66
+ }
67
+ const requestList = Array.from(requests.values()).map((req) => ({
68
+ requestId: req.requestId,
69
+ url: req.request.url,
70
+ method: req.request.method,
71
+ resourceType: req.resourceType,
72
+ headers: req.request.headers
73
+ }));
74
+ return {
75
+ success: true,
76
+ interceptedRequests: requestList,
77
+ count: requestList.length
78
+ };
79
+ }
80
+ },
81
+ // Modify and continue intercepted request
82
+ {
83
+ name: 'modify_intercepted_request',
84
+ description: '✏️ Modifies paused request before sending. USE THIS WHEN: 1️⃣ Redirecting request (change URL to different API). 2️⃣ Modifying headers (add auth token, change User-Agent). 3️⃣ Changing HTTP method (POST → GET for testing). 4️⃣ Testing API variations (modify request body). PREREQUISITE: Get requestId from list_intercepted_requests. PARAMETERS: All optional - only provide what needs changing. EFFECT: Modified request sent to server.',
85
+ inputSchema: z.object({
86
+ requestId: z.string().describe('Request ID from list_intercepted_requests'),
87
+ modifiedUrl: z.string().optional().describe('New URL to request'),
88
+ modifiedMethod: z.string().optional().describe('New HTTP method (GET, POST, etc.)'),
89
+ modifiedHeaders: z.record(z.string()).optional().describe('New/modified headers'),
90
+ modifiedPostData: z.string().optional().describe('New POST body data'),
91
+ tabId: z.string().optional().describe('Tab ID (optional)')
92
+ }),
93
+ handler: async ({ requestId, modifiedUrl, modifiedMethod, modifiedHeaders, modifiedPostData, tabId }) => {
94
+ await connector.verifyConnection();
95
+ const client = await connector.getTabClient(tabId);
96
+ const { Fetch } = client;
97
+ const effectiveTabId = tabId || 'default';
98
+ const requests = interceptedRequests.get(effectiveTabId);
99
+ const originalRequest = requests?.get(requestId);
100
+ if (!originalRequest) {
101
+ throw new Error(`Request ${requestId} not found. It may have already been processed.`);
102
+ }
103
+ // Prepare modified headers
104
+ let headers;
105
+ if (modifiedHeaders) {
106
+ headers = Object.entries(modifiedHeaders).map(([name, value]) => ({ name, value }));
107
+ }
108
+ // Continue request with modifications
109
+ await Fetch.continueRequest({
110
+ requestId,
111
+ url: modifiedUrl,
112
+ method: modifiedMethod,
113
+ headers,
114
+ postData: modifiedPostData
115
+ });
116
+ // Remove from pending requests
117
+ requests?.delete(requestId);
118
+ return {
119
+ success: true,
120
+ message: `Request ${requestId} modified and continued`,
121
+ originalUrl: originalRequest.request.url,
122
+ modifiedUrl: modifiedUrl || originalRequest.request.url
123
+ };
124
+ }
125
+ },
126
+ // Fail intercepted request
127
+ {
128
+ name: 'fail_intercepted_request',
129
+ description: '⛔ Blocks intercepted request (network error). USE THIS WHEN: 1️⃣ Simulating network failures (test offline behavior). 2️⃣ Blocking ads/trackers (prevent resource load). 3️⃣ Testing error handling (force API failure). 4️⃣ Speed testing (block slow resources). PREREQUISITE: Get requestId from list_intercepted_requests. ERROR REASONS: Failed, Aborted, TimedOut, AccessDenied, ConnectionClosed, ConnectionReset, ConnectionRefused. EFFECT: Request fails as if network error occurred.',
130
+ inputSchema: z.object({
131
+ requestId: z.string().describe('Request ID from list_intercepted_requests'),
132
+ errorReason: z.enum([
133
+ 'Failed',
134
+ 'Aborted',
135
+ 'TimedOut',
136
+ 'AccessDenied',
137
+ 'ConnectionClosed',
138
+ 'ConnectionReset',
139
+ 'ConnectionRefused',
140
+ 'ConnectionAborted',
141
+ 'ConnectionFailed',
142
+ 'NameNotResolved',
143
+ 'InternetDisconnected',
144
+ 'AddressUnreachable',
145
+ 'BlockedByClient',
146
+ 'BlockedByResponse'
147
+ ]).default('Failed').describe('Reason for failing the request'),
148
+ tabId: z.string().optional().describe('Tab ID (optional)')
149
+ }),
150
+ handler: async ({ requestId, errorReason = 'Failed', tabId }) => {
151
+ await connector.verifyConnection();
152
+ const client = await connector.getTabClient(tabId);
153
+ const { Fetch } = client;
154
+ const effectiveTabId = tabId || 'default';
155
+ const requests = interceptedRequests.get(effectiveTabId);
156
+ const originalRequest = requests?.get(requestId);
157
+ if (!originalRequest) {
158
+ throw new Error(`Request ${requestId} not found. It may have already been processed.`);
159
+ }
160
+ // Fail the request
161
+ await Fetch.failRequest({
162
+ requestId,
163
+ errorReason
164
+ });
165
+ // Remove from pending requests
166
+ requests?.delete(requestId);
167
+ return {
168
+ success: true,
169
+ message: `Request ${requestId} failed with reason: ${errorReason}`,
170
+ url: originalRequest.request.url
171
+ };
172
+ }
173
+ },
174
+ // Continue intercepted request (without modifications)
175
+ {
176
+ name: 'continue_intercepted_request',
177
+ description: '▶️ Continues paused request without changes. USE THIS WHEN: 1️⃣ Inspected request but don\'t need to modify (let it proceed). 2️⃣ Conditionally modifying (if condition not met, continue). 3️⃣ Analyzing requests without altering behavior. PREREQUISITE: Get requestId from list_intercepted_requests. EFFECT: Request proceeds normally to server. TIP: Must call this, modify_intercepted_request, or fail_intercepted_request for ALL intercepted requests.',
178
+ inputSchema: z.object({
179
+ requestId: z.string().describe('Request ID from list_intercepted_requests'),
180
+ tabId: z.string().optional().describe('Tab ID (optional)')
181
+ }),
182
+ handler: async ({ requestId, tabId }) => {
183
+ await connector.verifyConnection();
184
+ const client = await connector.getTabClient(tabId);
185
+ const { Fetch } = client;
186
+ const effectiveTabId = tabId || 'default';
187
+ const requests = interceptedRequests.get(effectiveTabId);
188
+ const originalRequest = requests?.get(requestId);
189
+ if (!originalRequest) {
190
+ throw new Error(`Request ${requestId} not found. It may have already been processed.`);
191
+ }
192
+ // Continue without modifications
193
+ await Fetch.continueRequest({ requestId });
194
+ // Remove from pending requests
195
+ requests?.delete(requestId);
196
+ return {
197
+ success: true,
198
+ message: `Request ${requestId} continued without modifications`,
199
+ url: originalRequest.request.url
200
+ };
201
+ }
202
+ },
203
+ // Disable network interception
204
+ {
205
+ name: 'disable_network_interception',
206
+ description: '🔓 Disables request interception (cleanup). USE THIS WHEN: 1️⃣ Done testing request modifications. 2️⃣ Switching to normal browsing (no interception). 3️⃣ Cleanup after testing. EFFECT: All pending requests released, future requests not intercepted. CLEANUP: Clears intercepted request storage. TIP: Call after finishing with modify_intercepted_request workflow.',
207
+ inputSchema: z.object({
208
+ tabId: z.string().optional().describe('Tab ID (optional)')
209
+ }),
210
+ handler: async ({ tabId }) => {
211
+ await connector.verifyConnection();
212
+ const client = await connector.getTabClient(tabId);
213
+ const { Fetch } = client;
214
+ // Disable Fetch domain
215
+ await Fetch.disable();
216
+ // Clear intercepted requests for this tab
217
+ const effectiveTabId = tabId || 'default';
218
+ interceptedRequests.delete(effectiveTabId);
219
+ return {
220
+ success: true,
221
+ message: 'Network interception disabled'
222
+ };
223
+ }
224
+ },
225
+ // Get accessibility tree
226
+ {
227
+ name: 'get_accessibility_tree',
228
+ description: '🌳 Full accessibility tree (screen reader view). USE THIS WHEN: 1️⃣ Testing accessibility compliance (ARIA roles, labels). 2️⃣ Debugging screen reader behavior (what\'s announced). 3️⃣ Verifying semantic HTML structure. 4️⃣ Finding accessibility issues (missing labels, invalid roles). RETURNS: Hierarchical tree with roles, names, values, children. COMMON ROLES: button, link, heading, textbox, region. TIP: Use get_accessibility_snapshot for simplified view.',
229
+ inputSchema: z.object({
230
+ tabId: z.string().optional().describe('Tab ID (optional)'),
231
+ depth: z.number().default(-1).describe('Depth of the tree to retrieve (-1 for full tree)'),
232
+ includeIgnored: z.boolean().default(false).describe('Include ignored accessibility nodes')
233
+ }),
234
+ handler: async ({ tabId, depth = -1, includeIgnored = false }) => {
235
+ await connector.verifyConnection();
236
+ const client = await connector.getTabClient(tabId);
237
+ const { Accessibility } = client;
238
+ // Get the full accessibility tree
239
+ const result = await withTimeout(Accessibility.getFullAXTree({ depth }), 30000, 'Accessibility tree retrieval timed out');
240
+ const nodes = result.nodes || [];
241
+ // Filter out ignored nodes if requested
242
+ const filteredNodes = includeIgnored
243
+ ? nodes
244
+ : nodes.filter((node) => !node.ignored);
245
+ // Format tree in a more readable structure
246
+ const formatNode = (node) => {
247
+ const formatted = {
248
+ nodeId: node.nodeId,
249
+ role: node.role?.value || 'unknown',
250
+ name: node.name?.value || '',
251
+ };
252
+ // Add additional properties if present
253
+ if (node.description?.value)
254
+ formatted.description = node.description.value;
255
+ if (node.value?.value)
256
+ formatted.value = node.value.value;
257
+ if (node.properties) {
258
+ formatted.properties = node.properties.reduce((acc, prop) => {
259
+ acc[prop.name] = prop.value.value;
260
+ return acc;
261
+ }, {});
262
+ }
263
+ // Add children references
264
+ if (node.childIds && node.childIds.length > 0) {
265
+ formatted.childIds = node.childIds;
266
+ }
267
+ return formatted;
268
+ };
269
+ const formattedTree = filteredNodes.map(formatNode);
270
+ // Create a hierarchical view (root nodes)
271
+ const rootNodes = formattedTree.filter((node) => {
272
+ // Root nodes are those not referenced as children by others
273
+ const allChildIds = new Set(formattedTree.flatMap((n) => n.childIds || []));
274
+ return !allChildIds.has(node.nodeId);
275
+ });
276
+ return {
277
+ success: true,
278
+ totalNodes: formattedTree.length,
279
+ rootNodes: rootNodes.map((n) => ({
280
+ nodeId: n.nodeId,
281
+ role: n.role,
282
+ name: n.name
283
+ })),
284
+ nodes: formattedTree,
285
+ message: `Retrieved ${formattedTree.length} accessibility nodes (${rootNodes.length} root nodes)`
286
+ };
287
+ }
288
+ },
289
+ // Get accessibility snapshot (simpler, Playwright-style)
290
+ {
291
+ name: 'get_accessibility_snapshot',
292
+ description: '📸 Simplified accessibility snapshot (key info only). USE THIS WHEN: 1️⃣ Quick accessibility check (don\'t need full tree). 2️⃣ Finding interactive elements (buttons, links). 3️⃣ Verifying labels exist (form inputs have names). 4️⃣ Smaller output than get_accessibility_tree. RETURNS: Flat list with role, name, value for each element. FASTER: Less data than full tree. USE CASE: Playwright-style accessibility testing.',
293
+ inputSchema: z.object({
294
+ tabId: z.string().optional().describe('Tab ID (optional)'),
295
+ interestingOnly: z.boolean().default(true).describe('Only include interesting nodes (buttons, links, inputs, etc.)')
296
+ }),
297
+ handler: async ({ tabId, interestingOnly = true }) => {
298
+ await connector.verifyConnection();
299
+ const client = await connector.getTabClient(tabId);
300
+ const { Accessibility } = client;
301
+ // Get the accessibility snapshot
302
+ const result = await withTimeout(Accessibility.getFullAXTree({}), 30000, 'Accessibility snapshot retrieval timed out');
303
+ const nodes = result.nodes || [];
304
+ // Filter interesting roles if requested
305
+ const interestingRoles = new Set([
306
+ 'button', 'link', 'textbox', 'searchbox', 'checkbox', 'radio',
307
+ 'combobox', 'listbox', 'menuitem', 'tab', 'heading', 'article',
308
+ 'navigation', 'main', 'banner', 'form', 'dialog', 'alert'
309
+ ]);
310
+ const filteredNodes = nodes.filter((node) => {
311
+ if (node.ignored)
312
+ return false;
313
+ if (!interestingOnly)
314
+ return true;
315
+ return interestingRoles.has(node.role?.value?.toLowerCase() || '');
316
+ });
317
+ // Build a YAML-like string representation
318
+ const lines = [];
319
+ const nodeMap = new Map(nodes.map((n) => [n.nodeId, n]));
320
+ const processed = new Set();
321
+ function renderNode(node, indent = 0) {
322
+ if (processed.has(node.nodeId))
323
+ return;
324
+ processed.add(node.nodeId);
325
+ const prefix = ' '.repeat(indent) + '- ';
326
+ const role = node.role?.value || 'unknown';
327
+ const name = node.name?.value || '';
328
+ const value = node.value?.value || '';
329
+ let line = `${prefix}${role}`;
330
+ if (name)
331
+ line += ` "${name}"`;
332
+ if (value && value !== name)
333
+ line += ` [value: "${value}"]`;
334
+ if (node.nodeId)
335
+ line += ` [ref=${node.nodeId.substring(0, 8)}]`;
336
+ lines.push(line);
337
+ // Render children
338
+ if (node.childIds) {
339
+ for (const childId of node.childIds) {
340
+ const childNode = nodeMap.get(childId);
341
+ if (childNode && !processed.has(childId)) {
342
+ const isInteresting = !interestingOnly ||
343
+ interestingRoles.has(childNode.role?.value?.toLowerCase() || '');
344
+ if (isInteresting) {
345
+ renderNode(childNode, indent + 1);
346
+ }
347
+ }
348
+ }
349
+ }
350
+ }
351
+ // Find root node
352
+ const rootNode = nodes.find((n) => n.role?.value === 'RootWebArea' || n.role?.value === 'WebArea');
353
+ if (rootNode) {
354
+ renderNode(rootNode, 0);
355
+ }
356
+ const snapshot = lines.join('\n');
357
+ return {
358
+ success: true,
359
+ snapshot,
360
+ nodeCount: filteredNodes.length,
361
+ totalNodes: nodes.length
362
+ };
363
+ }
364
+ }
365
+ ];
366
+ }
367
+ //# sourceMappingURL=network-accessibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-accessibility.js","sourceRoot":"","sources":["../../src/tools/network-accessibility.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export function createPlaywrightLauncherTools(connector) {
7
7
  return [
8
8
  {
9
9
  name: 'launch_chrome_with_profile',
10
- description: 'Launch Chrome using Playwright with your user profile (keeps cookies, sessions, extensions). This is the recommended way to start Chrome.',
10
+ description: '🚀 Launches Chrome with YOUR profile (cookies, extensions, sessions). USE THIS WHEN: 1️⃣ Starting automation (first tool to call). 2️⃣ Need existing login sessions (avoid re-login). 3️⃣ Testing with extensions enabled. 4️⃣ Keeping browsing history/bookmarks. PROFILES: "Default" (main), "Profile 1", "Profile 2". PREREQUISITE: Close ALL Chrome windows first (conflict error otherwise). RECOMMENDED: Always use this instead of connecting to external Chrome.',
11
11
  inputSchema: z.object({
12
12
  profileDirectory: z.string().default('Default').describe('Profile directory name: "Default", "Profile 1", "Profile 2", etc.'),
13
13
  userDataDir: z.string().optional().describe('Full path to Chrome User Data directory. Leave empty for default location.')
@@ -40,7 +40,7 @@ export function createPlaywrightLauncherTools(connector) {
40
40
  },
41
41
  {
42
42
  name: 'launch_edge_with_profile',
43
- description: 'Launch Microsoft Edge using Playwright with your user profile',
43
+ description: '🧭Launches Microsoft Edge with YOUR profile (Edge-specific). USE THIS WHEN: 1️⃣ Testing Edge-specific features. 2️⃣ Need Edge browser specifically (not Chrome). 3️⃣ Using Edge profile with saved logins. PROFILES: "Default", "Profile 1". PREREQUISITE: Close all Edge windows. NOTE: Most features work identically to Chrome (Chromium-based).',
44
44
  inputSchema: z.object({
45
45
  profileDirectory: z.string().default('Default').describe('Profile directory name')
46
46
  }),
@@ -70,7 +70,7 @@ export function createPlaywrightLauncherTools(connector) {
70
70
  },
71
71
  {
72
72
  name: 'close_browser',
73
- description: 'Close the Playwright-managed browser instance',
73
+ description: '🚪 Closes Playwright-managed browser (cleanup). USE THIS WHEN: 1️⃣ Done with automation session. 2️⃣ Want to release browser lock (launch again). 3️⃣ Cleaning up after testing. PREREQUISITE: Browser launched with launch_chrome_with_profile. EFFECT: Browser closes, profile unlocked. NOTE: Only works for Playwright-managed browsers (not external connections).',
74
74
  inputSchema: z.object({}),
75
75
  handler: async () => {
76
76
  try {
@@ -96,7 +96,7 @@ export function createPlaywrightLauncherTools(connector) {
96
96
  },
97
97
  {
98
98
  name: 'get_browser_status',
99
- description: 'Check if browser is running and how it was launched',
99
+ description: '📊 Checks browser connection status. USE THIS WHEN: 1️⃣ Verifying browser launched successfully. 2️⃣ Debugging connection issues. 3️⃣ Checking if Playwright-managed or external. RETURNS: connected (boolean), playwrightManaged (boolean), port (CDP port), status (string). STATES: "Running via Playwright", "Connected to external Chrome", "Not connected".',
100
100
  inputSchema: z.object({}),
101
101
  handler: async () => {
102
102
  const isConnected = connector.isConnected();
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-launcher.js","sourceRoot":"","sources":["../../src/tools/playwright-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright-launcher.js","sourceRoot":"","sources":["../../src/tools/playwright-launcher.ts"],"names":[],"mappings":"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"}