@eddym06/custom-chrome-mcp 1.0.2

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 (56) hide show
  1. package/.npmrc.example +2 -0
  2. package/CHANGELOG.md +87 -0
  3. package/INSTALL.md +148 -0
  4. package/LICENSE +21 -0
  5. package/README.md +403 -0
  6. package/dist/chrome-connector.d.ts +116 -0
  7. package/dist/chrome-connector.d.ts.map +1 -0
  8. package/dist/chrome-connector.js +452 -0
  9. package/dist/chrome-connector.js.map +1 -0
  10. package/dist/index.d.ts +7 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +211 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/tools/anti-detection.d.ts +22 -0
  15. package/dist/tools/anti-detection.d.ts.map +1 -0
  16. package/dist/tools/anti-detection.js +220 -0
  17. package/dist/tools/anti-detection.js.map +1 -0
  18. package/dist/tools/capture.d.ts +130 -0
  19. package/dist/tools/capture.d.ts.map +1 -0
  20. package/dist/tools/capture.js +164 -0
  21. package/dist/tools/capture.js.map +1 -0
  22. package/dist/tools/interaction.d.ts +173 -0
  23. package/dist/tools/interaction.d.ts.map +1 -0
  24. package/dist/tools/interaction.js +274 -0
  25. package/dist/tools/interaction.js.map +1 -0
  26. package/dist/tools/navigation.d.ts +82 -0
  27. package/dist/tools/navigation.d.ts.map +1 -0
  28. package/dist/tools/navigation.js +196 -0
  29. package/dist/tools/navigation.js.map +1 -0
  30. package/dist/tools/playwright-launcher.d.ts +53 -0
  31. package/dist/tools/playwright-launcher.d.ts.map +1 -0
  32. package/dist/tools/playwright-launcher.js +117 -0
  33. package/dist/tools/playwright-launcher.js.map +1 -0
  34. package/dist/tools/service-worker.d.ts +128 -0
  35. package/dist/tools/service-worker.d.ts.map +1 -0
  36. package/dist/tools/service-worker.js +355 -0
  37. package/dist/tools/service-worker.js.map +1 -0
  38. package/dist/tools/session.d.ts +54 -0
  39. package/dist/tools/session.d.ts.map +1 -0
  40. package/dist/tools/session.js +311 -0
  41. package/dist/tools/session.js.map +1 -0
  42. package/dist/tools/system.d.ts +159 -0
  43. package/dist/tools/system.d.ts.map +1 -0
  44. package/dist/tools/system.js +252 -0
  45. package/dist/tools/system.js.map +1 -0
  46. package/dist/types/index.d.ts +75 -0
  47. package/dist/types/index.d.ts.map +1 -0
  48. package/dist/types/index.js +5 -0
  49. package/dist/types/index.js.map +1 -0
  50. package/dist/utils/helpers.d.ts +53 -0
  51. package/dist/utils/helpers.d.ts.map +1 -0
  52. package/dist/utils/helpers.js +122 -0
  53. package/dist/utils/helpers.js.map +1 -0
  54. package/mcp-config-example.json +12 -0
  55. package/package.json +61 -0
  56. package/test-playwright.js +57 -0
@@ -0,0 +1,311 @@
1
+ /**
2
+ * Cookie and Session Management Tools
3
+ */
4
+ import { z } from 'zod';
5
+ export function createSessionTools(connector) {
6
+ return [
7
+ // Get cookies
8
+ {
9
+ name: 'get_cookies',
10
+ description: 'Get all cookies for the current page or domain',
11
+ inputSchema: z.object({
12
+ url: z.string().optional().describe('URL to get cookies for (optional, uses current page if not specified)'),
13
+ tabId: z.string().optional().describe('Tab ID (optional)')
14
+ }),
15
+ handler: async ({ url, tabId }) => {
16
+ const client = await connector.getTabClient(tabId);
17
+ const { Network } = client;
18
+ await Network.enable();
19
+ const params = {};
20
+ if (url)
21
+ params.urls = [url];
22
+ const { cookies } = await Network.getCookies(params);
23
+ return {
24
+ success: true,
25
+ count: cookies.length,
26
+ cookies: cookies.map((c) => ({
27
+ name: c.name,
28
+ value: c.value,
29
+ domain: c.domain,
30
+ path: c.path,
31
+ expires: c.expires,
32
+ httpOnly: c.httpOnly,
33
+ secure: c.secure,
34
+ sameSite: c.sameSite
35
+ }))
36
+ };
37
+ }
38
+ },
39
+ // Set cookie
40
+ {
41
+ name: 'set_cookie',
42
+ description: 'Set a cookie for a specific domain',
43
+ inputSchema: z.object({
44
+ name: z.string().describe('Cookie name'),
45
+ value: z.string().describe('Cookie value'),
46
+ domain: z.string().optional().describe('Cookie domain'),
47
+ path: z.string().optional().default('/').describe('Cookie path'),
48
+ secure: z.boolean().optional().default(false).describe('Secure flag'),
49
+ httpOnly: z.boolean().optional().default(false).describe('HttpOnly flag'),
50
+ sameSite: z.enum(['Strict', 'Lax', 'None']).optional().describe('SameSite attribute'),
51
+ expires: z.number().optional().describe('Expiration timestamp'),
52
+ tabId: z.string().optional().describe('Tab ID (optional)')
53
+ }),
54
+ handler: async ({ name, value, domain, path, secure, httpOnly, sameSite, expires, tabId }) => {
55
+ const client = await connector.getTabClient(tabId);
56
+ const { Network } = client;
57
+ await Network.enable();
58
+ // Get current domain if not specified
59
+ if (!domain) {
60
+ const { Runtime } = client;
61
+ await Runtime.enable();
62
+ const result = await Runtime.evaluate({
63
+ expression: 'window.location.hostname'
64
+ });
65
+ domain = result.result.value;
66
+ }
67
+ const cookie = {
68
+ name,
69
+ value,
70
+ domain,
71
+ path,
72
+ secure,
73
+ httpOnly
74
+ };
75
+ if (sameSite)
76
+ cookie.sameSite = sameSite;
77
+ if (expires)
78
+ cookie.expires = expires;
79
+ const { success } = await Network.setCookie(cookie);
80
+ if (!success) {
81
+ throw new Error('Failed to set cookie');
82
+ }
83
+ return {
84
+ success: true,
85
+ cookie: { name, value, domain },
86
+ message: `Cookie "${name}" set successfully`
87
+ };
88
+ }
89
+ },
90
+ // Delete cookie
91
+ {
92
+ name: 'delete_cookie',
93
+ description: 'Delete a specific cookie',
94
+ inputSchema: z.object({
95
+ name: z.string().describe('Cookie name to delete'),
96
+ domain: z.string().optional().describe('Cookie domain (optional, uses current domain if not specified)'),
97
+ path: z.string().optional().default('/').describe('Cookie path'),
98
+ tabId: z.string().optional().describe('Tab ID (optional)')
99
+ }),
100
+ handler: async ({ name, domain, path, tabId }) => {
101
+ const client = await connector.getTabClient(tabId);
102
+ const { Network } = client;
103
+ await Network.enable();
104
+ // Get current domain if not specified
105
+ if (!domain) {
106
+ const { Runtime } = client;
107
+ await Runtime.enable();
108
+ const result = await Runtime.evaluate({
109
+ expression: 'window.location.hostname'
110
+ });
111
+ domain = result.result.value;
112
+ }
113
+ await Network.deleteCookies({ name, domain, path });
114
+ return {
115
+ success: true,
116
+ message: `Cookie "${name}" deleted`
117
+ };
118
+ }
119
+ },
120
+ // Clear all cookies
121
+ {
122
+ name: 'clear_cookies',
123
+ description: 'Clear all cookies for the current domain or all domains',
124
+ inputSchema: z.object({
125
+ allDomains: z.boolean().optional().default(false).describe('Clear cookies for all domains'),
126
+ tabId: z.string().optional().describe('Tab ID (optional)')
127
+ }),
128
+ handler: async ({ allDomains, tabId }) => {
129
+ const client = await connector.getTabClient(tabId);
130
+ const { Network } = client;
131
+ await Network.enable();
132
+ if (allDomains) {
133
+ await Network.clearBrowserCookies();
134
+ return {
135
+ success: true,
136
+ message: 'All cookies cleared from all domains'
137
+ };
138
+ }
139
+ else {
140
+ // Clear only current domain cookies
141
+ const { cookies } = await Network.getCookies();
142
+ for (const cookie of cookies) {
143
+ await Network.deleteCookies({
144
+ name: cookie.name,
145
+ domain: cookie.domain,
146
+ path: cookie.path
147
+ });
148
+ }
149
+ return {
150
+ success: true,
151
+ count: cookies.length,
152
+ message: `Cleared ${cookies.length} cookies from current domain`
153
+ };
154
+ }
155
+ }
156
+ },
157
+ // Get localStorage
158
+ {
159
+ name: 'get_local_storage',
160
+ description: 'Get all localStorage items',
161
+ inputSchema: z.object({
162
+ tabId: z.string().optional().describe('Tab ID (optional)')
163
+ }),
164
+ handler: async ({ tabId }) => {
165
+ const client = await connector.getTabClient(tabId);
166
+ const { Runtime } = client;
167
+ await Runtime.enable();
168
+ const result = await Runtime.evaluate({
169
+ expression: 'JSON.stringify(Object.assign({}, localStorage))',
170
+ returnByValue: true
171
+ });
172
+ const storage = JSON.parse(result.result.value || '{}');
173
+ return {
174
+ success: true,
175
+ count: Object.keys(storage).length,
176
+ storage
177
+ };
178
+ }
179
+ },
180
+ // Set localStorage item
181
+ {
182
+ name: 'set_local_storage',
183
+ description: 'Set a localStorage item',
184
+ inputSchema: z.object({
185
+ key: z.string().describe('Storage key'),
186
+ value: z.string().describe('Storage value'),
187
+ tabId: z.string().optional().describe('Tab ID (optional)')
188
+ }),
189
+ handler: async ({ key, value, tabId }) => {
190
+ const client = await connector.getTabClient(tabId);
191
+ const { Runtime } = client;
192
+ await Runtime.enable();
193
+ await Runtime.evaluate({
194
+ expression: `localStorage.setItem(${JSON.stringify(key)}, ${JSON.stringify(value)})`
195
+ });
196
+ return {
197
+ success: true,
198
+ message: `localStorage item "${key}" set successfully`
199
+ };
200
+ }
201
+ },
202
+ // Clear localStorage
203
+ {
204
+ name: 'clear_local_storage',
205
+ description: 'Clear all localStorage items',
206
+ inputSchema: z.object({
207
+ tabId: z.string().optional().describe('Tab ID (optional)')
208
+ }),
209
+ handler: async ({ tabId }) => {
210
+ const client = await connector.getTabClient(tabId);
211
+ const { Runtime } = client;
212
+ await Runtime.enable();
213
+ await Runtime.evaluate({
214
+ expression: 'localStorage.clear()'
215
+ });
216
+ return {
217
+ success: true,
218
+ message: 'localStorage cleared'
219
+ };
220
+ }
221
+ },
222
+ // Export session
223
+ {
224
+ name: 'export_session',
225
+ description: 'Export current session (cookies, localStorage, sessionStorage)',
226
+ inputSchema: z.object({
227
+ tabId: z.string().optional().describe('Tab ID (optional)')
228
+ }),
229
+ handler: async ({ tabId }) => {
230
+ const client = await connector.getTabClient(tabId);
231
+ const { Network, Runtime } = client;
232
+ await Network.enable();
233
+ await Runtime.enable();
234
+ // Get cookies
235
+ const { cookies } = await Network.getCookies();
236
+ // Get localStorage
237
+ const localStorageResult = await Runtime.evaluate({
238
+ expression: 'JSON.stringify(Object.assign({}, localStorage))',
239
+ returnByValue: true
240
+ });
241
+ // Get sessionStorage
242
+ const sessionStorageResult = await Runtime.evaluate({
243
+ expression: 'JSON.stringify(Object.assign({}, sessionStorage))',
244
+ returnByValue: true
245
+ });
246
+ const sessionData = {
247
+ cookies: cookies.map((c) => ({
248
+ name: c.name,
249
+ value: c.value,
250
+ domain: c.domain,
251
+ path: c.path,
252
+ expires: c.expires,
253
+ httpOnly: c.httpOnly,
254
+ secure: c.secure,
255
+ sameSite: c.sameSite
256
+ })),
257
+ localStorage: JSON.parse(localStorageResult.result.value || '{}'),
258
+ sessionStorage: JSON.parse(sessionStorageResult.result.value || '{}'),
259
+ timestamp: Date.now()
260
+ };
261
+ return {
262
+ success: true,
263
+ session: sessionData,
264
+ message: 'Session exported successfully'
265
+ };
266
+ }
267
+ },
268
+ // Import session
269
+ {
270
+ name: 'import_session',
271
+ description: 'Import a previously exported session',
272
+ inputSchema: z.object({
273
+ sessionData: z.string().describe('Session data as JSON string'),
274
+ tabId: z.string().optional().describe('Tab ID (optional)')
275
+ }),
276
+ handler: async ({ sessionData, tabId }) => {
277
+ const client = await connector.getTabClient(tabId);
278
+ const { Network, Runtime } = client;
279
+ await Network.enable();
280
+ await Runtime.enable();
281
+ const session = JSON.parse(sessionData);
282
+ // Import cookies
283
+ for (const cookie of session.cookies) {
284
+ await Network.setCookie(cookie);
285
+ }
286
+ // Import localStorage
287
+ for (const [key, value] of Object.entries(session.localStorage)) {
288
+ await Runtime.evaluate({
289
+ expression: `localStorage.setItem(${JSON.stringify(key)}, ${JSON.stringify(value)})`
290
+ });
291
+ }
292
+ // Import sessionStorage
293
+ for (const [key, value] of Object.entries(session.sessionStorage)) {
294
+ await Runtime.evaluate({
295
+ expression: `sessionStorage.setItem(${JSON.stringify(key)}, ${JSON.stringify(value)})`
296
+ });
297
+ }
298
+ return {
299
+ success: true,
300
+ imported: {
301
+ cookies: session.cookies.length,
302
+ localStorage: Object.keys(session.localStorage).length,
303
+ sessionStorage: Object.keys(session.sessionStorage).length
304
+ },
305
+ message: 'Session imported successfully'
306
+ };
307
+ }
308
+ }
309
+ ];
310
+ }
311
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,kBAAkB,CAAC,SAA0B;IAC3D,OAAO;QACL,cAAc;QACd;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gDAAgD;YAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;gBAC5G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAO,EAAE,EAAE;gBACrC,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,GAAQ,EAAE,CAAC;gBACvB,IAAI,GAAG;oBAAE,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE7B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAErD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBAChC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;SACF;QAED,aAAa;QACb;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,oCAAoC;YACjD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAChE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACrE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACzE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBACrF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAO,EAAE,EAAE;gBAChG,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,sCAAsC;gBACtC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;oBAC3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;wBACpC,UAAU,EAAE,0BAA0B;qBACvC,CAAC,CAAC;oBACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBAED,MAAM,MAAM,GAAQ;oBAClB,IAAI;oBACJ,KAAK;oBACL,MAAM;oBACN,IAAI;oBACJ,MAAM;oBACN,QAAQ;iBACT,CAAC;gBAEF,IAAI,QAAQ;oBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzC,IAAI,OAAO;oBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBAEtC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC/B,OAAO,EAAE,WAAW,IAAI,oBAAoB;iBAC7C,CAAC;YACJ,CAAC;SACF;QAED,gBAAgB;QAChB;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,0BAA0B;YACvC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAClD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;gBACxG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAO,EAAE,EAAE;gBACpD,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,sCAAsC;gBACtC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;oBAC3B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;wBACpC,UAAU,EAAE,0BAA0B;qBACvC,CAAC,CAAC;oBACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBAED,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEpD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,WAAW,IAAI,WAAW;iBACpC,CAAC;YACJ,CAAC;SACF;QAED,oBAAoB;QACpB;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,yDAAyD;YACtE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC3F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAO,EAAE,EAAE;gBAC5C,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,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBACpC,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,sCAAsC;qBAChD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,oCAAoC;oBACpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;oBAE/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,MAAM,OAAO,CAAC,aAAa,CAAC;4BAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,IAAI,EAAE,MAAM,CAAC,IAAI;yBAClB,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,OAAO,CAAC,MAAM;wBACrB,OAAO,EAAE,WAAW,OAAO,CAAC,MAAM,8BAA8B;qBACjE,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QAED,mBAAmB;QACnB;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,4BAA4B;YACzC,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,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,iDAAiD;oBAC7D,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;gBAExD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;oBAClC,OAAO;iBACR,CAAC;YACJ,CAAC;SACF;QAED,wBAAwB;QACxB;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAO,EAAE,EAAE;gBAC5C,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,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;iBACrF,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,sBAAsB,GAAG,oBAAoB;iBACvD,CAAC;YACJ,CAAC;SACF;QAED,qBAAqB;QACrB;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,8BAA8B;YAC3C,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,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,sBAAsB;iBACnC,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,sBAAsB;iBAChC,CAAC;YACJ,CAAC;SACF;QAED,iBAAiB;QACjB;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,gEAAgE;YAC7E,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,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAEpC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,cAAc;gBACd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAE/C,mBAAmB;gBACnB,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;oBAChD,UAAU,EAAE,iDAAiD;oBAC7D,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBAEH,qBAAqB;gBACrB,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;oBAClD,UAAU,EAAE,mDAAmD;oBAC/D,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAgB;oBAC/B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBAChC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,QAAQ,EAAE,CAAC,CAAC,QAAe;qBAC5B,CAAC,CAAC;oBACH,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;oBACjE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;oBACrE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,+BAA+B;iBACzC,CAAC;YACJ,CAAC;SACF;QAED,iBAAiB;QACjB;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;aAC3D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAO,EAAE,EAAE;gBAC7C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAEpC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEvB,MAAM,OAAO,GAAgB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAErD,iBAAiB;gBACjB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,OAAO,CAAC,SAAS,CAAC,MAAa,CAAC,CAAC;gBACzC,CAAC;gBAED,sBAAsB;gBACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChE,MAAM,OAAO,CAAC,QAAQ,CAAC;wBACrB,UAAU,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;qBACrF,CAAC,CAAC;gBACL,CAAC;gBAED,wBAAwB;gBACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClE,MAAM,OAAO,CAAC,QAAQ,CAAC;wBACrB,UAAU,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;qBACvF,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE;wBACR,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;wBAC/B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM;wBACtD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM;qBAC3D;oBACD,OAAO,EAAE,+BAA+B;iBACzC,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * System-level Chrome Tools
3
+ * For extensions, background workers, etc.
4
+ */
5
+ import { z } from 'zod';
6
+ import type { ChromeConnector } from '../chrome-connector.js';
7
+ export declare function createSystemTools(connector: ChromeConnector): ({
8
+ name: string;
9
+ description: string;
10
+ inputSchema: z.ZodObject<{
11
+ filterType: z.ZodOptional<z.ZodEnum<["all", "service_worker", "background_page", "page", "iframe", "worker"]>>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ filterType?: "page" | "service_worker" | "background_page" | "all" | "iframe" | "worker" | undefined;
14
+ }, {
15
+ filterType?: "page" | "service_worker" | "background_page" | "all" | "iframe" | "worker" | undefined;
16
+ }>;
17
+ handler: ({ filterType }: any) => Promise<{
18
+ success: boolean;
19
+ total: number;
20
+ breakdown: {
21
+ pages: number;
22
+ serviceWorkers: number;
23
+ extensionServiceWorkers: number;
24
+ webServiceWorkers: number;
25
+ backgroundPages: number;
26
+ iframes: number;
27
+ workers: number;
28
+ others: number;
29
+ };
30
+ targets: {
31
+ extensionServiceWorkers: {
32
+ id: any;
33
+ title: any;
34
+ url: any;
35
+ extensionId: any;
36
+ scriptPath: any;
37
+ description: any;
38
+ webSocketDebuggerUrl: any;
39
+ }[];
40
+ webServiceWorkers: {
41
+ id: any;
42
+ title: any;
43
+ url: any;
44
+ description: any;
45
+ webSocketDebuggerUrl: any;
46
+ }[];
47
+ backgroundPages: {
48
+ id: any;
49
+ title: any;
50
+ url: any;
51
+ extensionId: any;
52
+ type: any;
53
+ }[];
54
+ pages: {
55
+ id: any;
56
+ title: any;
57
+ url: any;
58
+ }[];
59
+ iframes: string | never[];
60
+ workers: string | never[];
61
+ others: string | never[];
62
+ };
63
+ message: string;
64
+ }>;
65
+ } | {
66
+ name: string;
67
+ description: string;
68
+ inputSchema: z.ZodObject<{
69
+ targetId: z.ZodString;
70
+ }, "strip", z.ZodTypeAny, {
71
+ targetId: string;
72
+ }, {
73
+ targetId: string;
74
+ }>;
75
+ handler: ({ targetId }: any) => Promise<{
76
+ success: boolean;
77
+ targetId: any;
78
+ context: any;
79
+ message: string;
80
+ }>;
81
+ } | {
82
+ name: string;
83
+ description: string;
84
+ inputSchema: z.ZodObject<{
85
+ targetId: z.ZodString;
86
+ script: z.ZodString;
87
+ awaitPromise: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ script: string;
90
+ awaitPromise: boolean;
91
+ targetId: string;
92
+ }, {
93
+ script: string;
94
+ targetId: string;
95
+ awaitPromise?: boolean | undefined;
96
+ }>;
97
+ handler: ({ targetId, script, awaitPromise }: any) => Promise<{
98
+ success: boolean;
99
+ result: any;
100
+ type: any;
101
+ }>;
102
+ } | {
103
+ name: string;
104
+ description: string;
105
+ inputSchema: z.ZodObject<{
106
+ executeTest: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
107
+ }, "strip", z.ZodTypeAny, {
108
+ executeTest: boolean;
109
+ }, {
110
+ executeTest?: boolean | undefined;
111
+ }>;
112
+ handler: ({ executeTest }: any) => Promise<{
113
+ success: boolean;
114
+ count: number;
115
+ message: string;
116
+ serviceWorkers: never[];
117
+ summary?: undefined;
118
+ } | {
119
+ success: boolean;
120
+ count: number;
121
+ serviceWorkers: ({
122
+ id: any;
123
+ title: any;
124
+ url: any;
125
+ extensionId: any;
126
+ scriptFile: any;
127
+ description: any;
128
+ webSocketDebuggerUrl: any;
129
+ runtimeInfo: {
130
+ hasChrome: any;
131
+ hasRuntime: any;
132
+ contextType: any;
133
+ manifestName: any;
134
+ manifestVersion: any;
135
+ permissions: any;
136
+ };
137
+ testResult: any;
138
+ error?: undefined;
139
+ } | {
140
+ id: any;
141
+ title: any;
142
+ url: any;
143
+ extensionId: any;
144
+ error: string;
145
+ scriptFile?: undefined;
146
+ description?: undefined;
147
+ webSocketDebuggerUrl?: undefined;
148
+ runtimeInfo?: undefined;
149
+ testResult?: undefined;
150
+ })[];
151
+ summary: {
152
+ total: number;
153
+ successful: number;
154
+ failed: number;
155
+ };
156
+ message?: undefined;
157
+ }>;
158
+ })[];
159
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe;;;;;;;;;;8BAStB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAiFL,GAAG;;;;;;;;;;;;;;;;;;;;;;kDAyCmB,GAAG;;;;;;;;;;;;;;;+BA0CtB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyGzC"}