real-browser-mcp-server 1.3.3 → 1.4.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 (118) hide show
  1. package/README.md +96 -9
  2. package/dist/lib/cjs/index.d.ts +2 -0
  3. package/dist/lib/cjs/index.d.ts.map +1 -0
  4. package/dist/lib/cjs/index.js +386 -0
  5. package/dist/lib/cjs/index.js.map +1 -0
  6. package/dist/lib/cjs/module/pageController.d.ts +2 -0
  7. package/dist/lib/cjs/module/pageController.d.ts.map +1 -0
  8. package/{lib → dist/lib}/cjs/module/pageController.js +28 -29
  9. package/dist/lib/cjs/module/pageController.js.map +1 -0
  10. package/dist/lib/cjs/module/turnstile.d.ts +2 -0
  11. package/dist/lib/cjs/module/turnstile.d.ts.map +1 -0
  12. package/{lib → dist/lib}/cjs/module/turnstile.js +24 -12
  13. package/dist/lib/cjs/module/turnstile.js.map +1 -0
  14. package/dist/src/index.d.ts +11 -0
  15. package/dist/src/index.d.ts.map +1 -0
  16. package/dist/src/index.js +118 -0
  17. package/dist/src/index.js.map +1 -0
  18. package/dist/src/mcp/handlers/browser.d.ts +30 -0
  19. package/dist/src/mcp/handlers/browser.d.ts.map +1 -0
  20. package/dist/src/mcp/handlers/browser.js +232 -0
  21. package/dist/src/mcp/handlers/browser.js.map +1 -0
  22. package/dist/src/mcp/handlers/dom.d.ts +149 -0
  23. package/dist/src/mcp/handlers/dom.d.ts.map +1 -0
  24. package/dist/src/mcp/handlers/dom.js +577 -0
  25. package/dist/src/mcp/handlers/dom.js.map +1 -0
  26. package/dist/src/mcp/handlers/extract.d.ts +59 -0
  27. package/dist/src/mcp/handlers/extract.d.ts.map +1 -0
  28. package/dist/src/mcp/handlers/extract.js +455 -0
  29. package/dist/src/mcp/handlers/extract.js.map +1 -0
  30. package/dist/src/mcp/handlers/form-handlers.d.ts +9 -0
  31. package/dist/src/mcp/handlers/form-handlers.d.ts.map +1 -0
  32. package/dist/src/mcp/handlers/form-handlers.js +56 -0
  33. package/dist/src/mcp/handlers/form-handlers.js.map +1 -0
  34. package/dist/src/mcp/handlers/helpers.d.ts +47 -0
  35. package/dist/src/mcp/handlers/helpers.d.ts.map +1 -0
  36. package/dist/src/mcp/handlers/helpers.js +515 -0
  37. package/dist/src/mcp/handlers/helpers.js.map +1 -0
  38. package/dist/src/mcp/handlers/index.d.ts +6 -0
  39. package/dist/src/mcp/handlers/index.d.ts.map +1 -0
  40. package/dist/src/mcp/handlers/index.js +61 -0
  41. package/dist/src/mcp/handlers/index.js.map +1 -0
  42. package/dist/src/mcp/handlers/media-handlers.d.ts +10 -0
  43. package/dist/src/mcp/handlers/media-handlers.d.ts.map +1 -0
  44. package/dist/src/mcp/handlers/media-handlers.js +535 -0
  45. package/dist/src/mcp/handlers/media-handlers.js.map +1 -0
  46. package/dist/src/mcp/handlers/network.d.ts +147 -0
  47. package/dist/src/mcp/handlers/network.d.ts.map +1 -0
  48. package/dist/src/mcp/handlers/network.js +1135 -0
  49. package/dist/src/mcp/handlers/network.js.map +1 -0
  50. package/dist/src/mcp/handlers/state.d.ts +34 -0
  51. package/dist/src/mcp/handlers/state.d.ts.map +1 -0
  52. package/dist/src/mcp/handlers/state.js +226 -0
  53. package/dist/src/mcp/handlers/state.js.map +1 -0
  54. package/dist/src/mcp/handlers/utility-handlers.d.ts +167 -0
  55. package/dist/src/mcp/handlers/utility-handlers.d.ts.map +1 -0
  56. package/dist/src/mcp/handlers/utility-handlers.js +280 -0
  57. package/dist/src/mcp/handlers/utility-handlers.js.map +1 -0
  58. package/dist/src/mcp/handlers/vision.d.ts +127 -0
  59. package/dist/src/mcp/handlers/vision.d.ts.map +1 -0
  60. package/dist/src/mcp/handlers/vision.js +549 -0
  61. package/dist/src/mcp/handlers/vision.js.map +1 -0
  62. package/dist/src/mcp/index.d.ts +3 -0
  63. package/dist/src/mcp/index.d.ts.map +1 -0
  64. package/dist/src/mcp/index.js +166 -0
  65. package/dist/src/mcp/index.js.map +1 -0
  66. package/dist/src/mcp/server.d.ts +2 -0
  67. package/dist/src/mcp/server.d.ts.map +1 -0
  68. package/dist/src/mcp/server.js +117 -0
  69. package/dist/src/mcp/server.js.map +1 -0
  70. package/dist/src/mcp/tools.d.ts +8 -0
  71. package/dist/src/mcp/tools.d.ts.map +1 -0
  72. package/{src → dist/src}/mcp/tools.js +12 -11
  73. package/dist/src/mcp/tools.js.map +1 -0
  74. package/dist/src/shared/cache-manager.d.ts +80 -0
  75. package/dist/src/shared/cache-manager.d.ts.map +1 -0
  76. package/dist/src/shared/cache-manager.js +221 -0
  77. package/dist/src/shared/cache-manager.js.map +1 -0
  78. package/dist/src/shared/tools.d.ts +2 -0
  79. package/dist/src/shared/tools.d.ts.map +1 -0
  80. package/dist/src/shared/tools.js +606 -0
  81. package/dist/src/shared/tools.js.map +1 -0
  82. package/dist/src/types.d.ts +376 -0
  83. package/dist/src/types.d.ts.map +1 -0
  84. package/dist/src/types.js +9 -0
  85. package/dist/src/types.js.map +1 -0
  86. package/dist/test/cjs/test.d.ts +11 -0
  87. package/dist/test/cjs/test.d.ts.map +1 -0
  88. package/dist/test/cjs/test.js +289 -0
  89. package/dist/test/cjs/test.js.map +1 -0
  90. package/dist/test/mcp/smoke-test.d.ts +29 -0
  91. package/dist/test/mcp/smoke-test.d.ts.map +1 -0
  92. package/dist/test/mcp/smoke-test.js +132 -0
  93. package/dist/test/mcp/smoke-test.js.map +1 -0
  94. package/lib/esm/index.mjs +230 -154
  95. package/lib/esm/module/pageController.mjs +21 -18
  96. package/lib/esm/module/turnstile.mjs +7 -0
  97. package/package.json +25 -16
  98. package/typings.d.ts +7 -1
  99. package/.github/ISSUE_TEMPLATE/general_issue.yaml +0 -58
  100. package/.github/SETUP.md +0 -111
  101. package/.github/workflows/publish.yml +0 -135
  102. package/Dockerfile +0 -79
  103. package/lib/cjs/adblocker.bin +0 -0
  104. package/lib/cjs/index.js +0 -321
  105. package/src/ai/action-parser.js +0 -274
  106. package/src/ai/core.js +0 -378
  107. package/src/ai/element-finder.js +0 -466
  108. package/src/ai/index.js +0 -82
  109. package/src/ai/page-analyzer.js +0 -304
  110. package/src/ai/selector-healer.js +0 -236
  111. package/src/index.js +0 -121
  112. package/src/mcp/handlers.js +0 -5071
  113. package/src/mcp/index.js +0 -190
  114. package/src/mcp/server.js +0 -144
  115. package/src/shared/tools.js +0 -618
  116. package/test/cjs/test.js +0 -259
  117. package/test/esm/package.json +0 -13
  118. package/test/esm/test.js +0 -226
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { CacheManager } from '../../shared/cache-manager';
2
+ import type { BrowserState, ProgressStatus, ProgressNotification, ProgressCallback, DecodeResult, AESDecryptResult } from '../../types';
3
+ export declare const state: BrowserState;
4
+ export declare const globalCache: CacheManager;
5
+ export declare function setProgressCallback(callback: ProgressCallback): void;
6
+ export declare function notifyProgress(toolName: string, status: ProgressStatus, message: string, data?: Record<string, unknown>): ProgressNotification;
7
+ export declare function getHeadlessFromEnv(): boolean;
8
+ export declare function getState(): {
9
+ browser: import("patchright-core").Browser | null;
10
+ page: import("patchright-core").Page | null;
11
+ blocker: import("../../types").PlaywrightBlocker | null;
12
+ };
13
+ export declare function requireBrowser(): {
14
+ browser: import("patchright-core").Browser;
15
+ page: import("patchright-core").Page;
16
+ };
17
+ export declare function resolveWaitUntil(value: string): string;
18
+ export declare const decoders: {
19
+ urlDecode: (encodedUrl: string) => DecodeResult;
20
+ base64Decode: (encodedData: string) => DecodeResult;
21
+ decryptAES: (encryptedData: string | Buffer, key: string | Buffer, iv?: string | Buffer | null, algorithm?: string) => AESDecryptResult;
22
+ tryAll: (data: string, options?: {
23
+ key?: string;
24
+ iv?: string;
25
+ algorithm?: string;
26
+ }) => {
27
+ original: string;
28
+ attempts: Array<{
29
+ type: string;
30
+ result: string | undefined;
31
+ }>;
32
+ };
33
+ };
34
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,KAAK,EAAE,YAUnB,CAAC;AAGF,eAAO,MAAM,WAAW,cAGtB,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,oBAAoB,CAwBtB;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAoB5C;AAED,wBAAgB,QAAQ;;;;EAEvB;AAED,wBAAgB,cAAc;;;EAK7B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,eAAO,MAAM,QAAQ;4BACK,MAAM,KAAG,YAAY;gCAoBjB,MAAM,KAAG,YAAY;gCAyChC,MAAM,GAAG,MAAM,OACzB,MAAM,GAAG,MAAM,OAChB,MAAM,GAAG,MAAM,GAAG,IAAI,cACf,MAAM,KAChB,gBAAgB;mBA+BJ,MAAM,YAAW;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;kBACpD,MAAM;kBAAY,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;;CAkBnG,CAAC"}
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.decoders = exports.globalCache = exports.state = void 0;
37
+ exports.setProgressCallback = setProgressCallback;
38
+ exports.notifyProgress = notifyProgress;
39
+ exports.getHeadlessFromEnv = getHeadlessFromEnv;
40
+ exports.getState = getState;
41
+ exports.requireBrowser = requireBrowser;
42
+ exports.resolveWaitUntil = resolveWaitUntil;
43
+ const crypto = __importStar(require("crypto"));
44
+ const path = __importStar(require("path"));
45
+ const cache_manager_1 = require("../../shared/cache-manager");
46
+ exports.state = {
47
+ browserInstance: null,
48
+ pageInstance: null,
49
+ blockerInstance: null,
50
+ setupPageFn: null,
51
+ activeAnnotations: undefined,
52
+ networkRecords: [],
53
+ isRecordingNetwork: false,
54
+ progressTasks: {},
55
+ progressCallback: null
56
+ };
57
+ // Global cache instance for persistent storage across server restarts
58
+ exports.globalCache = new cache_manager_1.CacheManager({
59
+ cacheDir: path.join(process.cwd(), '.cache'),
60
+ autoSaveInterval: 30000,
61
+ });
62
+ function setProgressCallback(callback) {
63
+ exports.state.progressCallback = callback;
64
+ }
65
+ function notifyProgress(toolName, status, message, data = {}) {
66
+ const notification = {
67
+ tool: toolName,
68
+ status,
69
+ message,
70
+ timestamp: new Date().toISOString(),
71
+ ...data
72
+ };
73
+ const emoji = {
74
+ started: '🚀',
75
+ progress: '⏳',
76
+ completed: '✅',
77
+ error: '❌'
78
+ };
79
+ const icon = emoji[status] || '📌';
80
+ console.error(`${icon} [${toolName}] ${message}`);
81
+ if (exports.state.progressCallback) {
82
+ exports.state.progressCallback(notification);
83
+ }
84
+ return notification;
85
+ }
86
+ function getHeadlessFromEnv() {
87
+ const envHeadless = process.env.HEADLESS;
88
+ if (envHeadless !== undefined && envHeadless !== null && envHeadless !== '') {
89
+ const value = envHeadless.toLowerCase().trim();
90
+ return value === 'true' || value === '1' || value === 'yes';
91
+ }
92
+ if (process.env.CI || process.env.GITHUB_ACTIONS || process.env.TRAVIS || process.env.CIRCLECI) {
93
+ return true;
94
+ }
95
+ if (process.platform === 'linux') {
96
+ const hasDisplay = process.env.DISPLAY || process.env.WAYLAND_DISPLAY;
97
+ if (!hasDisplay) {
98
+ return true;
99
+ }
100
+ }
101
+ return false;
102
+ }
103
+ function getState() {
104
+ return { browser: exports.state.browserInstance, page: exports.state.pageInstance, blocker: exports.state.blockerInstance };
105
+ }
106
+ function requireBrowser() {
107
+ if (!exports.state.browserInstance || !exports.state.pageInstance) {
108
+ throw new Error('Browser not initialized. Call browser_init first.');
109
+ }
110
+ return { browser: exports.state.browserInstance, page: exports.state.pageInstance };
111
+ }
112
+ function resolveWaitUntil(value) {
113
+ const allowed = ['load', 'domcontentloaded', 'networkidle', 'commit'];
114
+ return allowed.includes(value) ? value : 'networkidle';
115
+ }
116
+ exports.decoders = {
117
+ urlDecode: (encodedUrl) => {
118
+ try {
119
+ let decoded = encodedUrl;
120
+ let iterations = 0;
121
+ const maxIterations = 5;
122
+ while (iterations < maxIterations) {
123
+ const newDecoded = decodeURIComponent(decoded);
124
+ if (newDecoded === decoded)
125
+ break;
126
+ decoded = newDecoded;
127
+ iterations++;
128
+ }
129
+ return { success: true, decoded, iterations, original: encodedUrl };
130
+ }
131
+ catch (error) {
132
+ const msg = error instanceof Error ? error.message : String(error);
133
+ return { success: false, error: msg, original: encodedUrl };
134
+ }
135
+ },
136
+ base64Decode: (encodedData) => {
137
+ try {
138
+ const approaches = [];
139
+ try {
140
+ const decoded = Buffer.from(encodedData, 'base64').toString('utf-8');
141
+ if (decoded && decoded !== encodedData) {
142
+ approaches.push({ method: 'standard', decoded });
143
+ }
144
+ }
145
+ catch (_e) { /* ignore */ }
146
+ try {
147
+ const normalized = encodedData.replace(/-/g, '+').replace(/_/g, '/');
148
+ const decoded = Buffer.from(normalized, 'base64').toString('utf-8');
149
+ if (decoded && decoded !== encodedData) {
150
+ approaches.push({ method: 'url-safe', decoded });
151
+ }
152
+ }
153
+ catch (_e) { /* ignore */ }
154
+ try {
155
+ const padding = 4 - (encodedData.length % 4);
156
+ if (padding !== 4) {
157
+ const padded = encodedData + '='.repeat(padding);
158
+ const decoded = Buffer.from(padded, 'base64').toString('utf-8');
159
+ if (decoded && decoded !== encodedData) {
160
+ approaches.push({ method: 'padded', decoded });
161
+ }
162
+ }
163
+ }
164
+ catch (_e) { /* ignore */ }
165
+ if (approaches.length === 0) {
166
+ return { success: false, error: 'Could not decode base64', original: encodedData };
167
+ }
168
+ return { success: true, decoded: approaches[0].decoded, approaches, original: encodedData };
169
+ }
170
+ catch (error) {
171
+ const msg = error instanceof Error ? error.message : String(error);
172
+ return { success: false, error: msg, original: encodedData };
173
+ }
174
+ },
175
+ decryptAES: (encryptedData, key, iv = null, algorithm = 'aes-256-cbc') => {
176
+ try {
177
+ const keyBuffer = Buffer.isBuffer(key) ? key : Buffer.from(key, 'utf-8');
178
+ let encryptedBuffer;
179
+ if (Buffer.isBuffer(encryptedData)) {
180
+ encryptedBuffer = encryptedData;
181
+ }
182
+ else if (typeof encryptedData === 'string' && encryptedData.includes('%')) {
183
+ encryptedBuffer = Buffer.from(decodeURIComponent(encryptedData), 'base64');
184
+ }
185
+ else {
186
+ encryptedBuffer = Buffer.from(encryptedData, 'base64');
187
+ }
188
+ let decipher;
189
+ if (iv) {
190
+ const ivBuffer = Buffer.isBuffer(iv) ? iv : Buffer.from(iv, 'utf-8');
191
+ decipher = crypto.createDecipheriv(algorithm, keyBuffer, ivBuffer);
192
+ }
193
+ else {
194
+ decipher = crypto.createDecipheriv(algorithm.replace('-cbc', '-ecb'), keyBuffer, Buffer.alloc(0));
195
+ }
196
+ let decrypted = decipher.update(encryptedBuffer);
197
+ decrypted = Buffer.concat([decrypted, decipher.final()]);
198
+ const result = decrypted.toString('utf-8');
199
+ return { success: true, decrypted: result, algorithm };
200
+ }
201
+ catch (error) {
202
+ const msg = error instanceof Error ? error.message : String(error);
203
+ return { success: false, error: msg, algorithm };
204
+ }
205
+ },
206
+ tryAll: (data, options = {}) => {
207
+ const results = { original: data, attempts: [] };
208
+ const urlResult = exports.decoders.urlDecode(data);
209
+ if (urlResult.success && urlResult.iterations && urlResult.iterations > 0)
210
+ results.attempts.push({ type: 'url', result: urlResult.decoded });
211
+ const base64Result = exports.decoders.base64Decode(data);
212
+ if (base64Result.success) {
213
+ results.attempts.push({ type: 'base64', result: base64Result.decoded });
214
+ const nestedUrl = exports.decoders.urlDecode(base64Result.decoded);
215
+ if (nestedUrl.success && nestedUrl.iterations && nestedUrl.iterations > 0)
216
+ results.attempts.push({ type: 'base64+url', result: nestedUrl.decoded });
217
+ }
218
+ if (options.key) {
219
+ const aesResult = exports.decoders.decryptAES(data, options.key, options.iv || null, options.algorithm);
220
+ if (aesResult.success)
221
+ results.attempts.push({ type: 'aes', result: aesResult.decrypted });
222
+ }
223
+ return results;
224
+ }
225
+ };
226
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,kDAEC;AAED,wCA6BC;AAED,gDAoBC;AAED,4BAEC;AAED,wCAKC;AAED,4CAGC;AArGD,+CAAiC;AACjC,2CAA6B;AAC7B,8DAA0D;AAU7C,QAAA,KAAK,GAAiB;IACjC,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,SAAS;IAC5B,cAAc,EAAE,EAAE;IAClB,kBAAkB,EAAE,KAAK;IACzB,aAAa,EAAE,EAAE;IACjB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,sEAAsE;AACzD,QAAA,WAAW,GAAG,IAAI,4BAAY,CAAC;IAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;IAC5C,gBAAgB,EAAE,KAAK;CACxB,CAAC,CAAC;AAEH,SAAgB,mBAAmB,CAAC,QAA0B;IAC5D,aAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC;AACpC,CAAC;AAED,SAAgB,cAAc,CAC5B,QAAgB,EAChB,MAAsB,EACtB,OAAe,EACf,OAAgC,EAAE;IAElC,MAAM,YAAY,GAAyB;QACzC,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,OAAO;QACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,IAAI;KACR,CAAC;IAEF,MAAM,KAAK,GAA2B;QACpC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG;QACd,KAAK,EAAE,GAAG;KACX,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAEnC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;IAElD,IAAI,aAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,aAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,kBAAkB;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAEzC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,QAAQ;IACtB,OAAO,EAAE,OAAO,EAAE,aAAK,CAAC,eAAe,EAAE,IAAI,EAAE,aAAK,CAAC,YAAY,EAAE,OAAO,EAAE,aAAK,CAAC,eAAe,EAAE,CAAC;AACtG,CAAC;AAED,SAAgB,cAAc;IAC5B,IAAI,CAAC,aAAK,CAAC,eAAe,IAAI,CAAC,aAAK,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,aAAK,CAAC,eAAe,EAAE,IAAI,EAAE,aAAK,CAAC,YAAY,EAAE,CAAC;AACtE,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;AACzD,CAAC;AAEY,QAAA,QAAQ,GAAG;IACtB,SAAS,EAAE,CAAC,UAAkB,EAAgB,EAAE;QAC9C,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,UAAU,CAAC;YACzB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,aAAa,GAAG,CAAC,CAAC;YAExB,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,UAAU,KAAK,OAAO;oBAAE,MAAM;gBAClC,OAAO,GAAG,UAAU,CAAC;gBACrB,UAAU,EAAE,CAAC;YACf,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,YAAY,EAAE,CAAC,WAAmB,EAAgB,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,UAAU,GAA+C,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrE,IAAI,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBACvC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAE7B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpE,IAAI,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBACvC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAE7B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAChE,IAAI,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;wBACvC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAE7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;YACrF,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,UAAU,EAAE,CACV,aAA8B,EAC9B,GAAoB,EACpB,KAA6B,IAAI,EACjC,YAAoB,aAAa,EACf,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzE,IAAI,eAAuB,CAAC;YAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,eAAe,GAAG,aAAa,CAAC;YAClC,CAAC;iBAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5E,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAuB,EAAE,QAAQ,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,QAA2B,CAAC;YAChC,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACrE,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,CAAC;YAED,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACjD,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAEzD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,EAAE,CAAC,IAAY,EAAE,UAA6D,EAAE,EAAE,EAAE;QACxF,MAAM,OAAO,GAAwF,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACtI,MAAM,SAAS,GAAG,gBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAE7I,MAAM,YAAY,GAAG,gBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,gBAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,OAAQ,CAAC,CAAC;YAC5D,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC;gBAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACtJ,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,gBAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAChG,IAAI,SAAS,CAAC,OAAO;gBAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"}
@@ -0,0 +1,167 @@
1
+ export declare const utilityHandlers: {
2
+ _validateCaptchaText(text: string, expectedLength: number, allowedChars: string): {
3
+ valid: boolean;
4
+ reason: string;
5
+ } | {
6
+ valid: boolean;
7
+ reason?: undefined;
8
+ };
9
+ search_regex(params: any): Promise<{
10
+ success: boolean;
11
+ pattern: any;
12
+ matchCount: number;
13
+ matches: string[];
14
+ }>;
15
+ progress_tracker(params?: any): Promise<{
16
+ success: boolean;
17
+ tasks: Record<string, import("../../types").ProgressTask>;
18
+ }>;
19
+ deep_analysis(params?: any): Promise<{
20
+ success: boolean;
21
+ url: string;
22
+ analysis: {
23
+ seo: {
24
+ title: string;
25
+ titleLength: number;
26
+ h1Count: number;
27
+ metaDescription: any;
28
+ canonicalUrl: string | undefined;
29
+ hasViewport: boolean;
30
+ };
31
+ performance: {
32
+ domElements: number;
33
+ scripts: number;
34
+ stylesheets: number;
35
+ images: number;
36
+ };
37
+ accessibility: {
38
+ imagesWithoutAlt: number;
39
+ linksCount: number;
40
+ formsCount: number;
41
+ inputsWithoutLabel: number;
42
+ };
43
+ security: {
44
+ isHttps: boolean;
45
+ hasCSP: boolean;
46
+ externalScripts: number;
47
+ };
48
+ };
49
+ }>;
50
+ file_downloader(params: any): Promise<{
51
+ success: boolean;
52
+ error: string;
53
+ filename?: undefined;
54
+ size?: undefined;
55
+ } | {
56
+ success: boolean;
57
+ filename: string;
58
+ size: number;
59
+ error?: undefined;
60
+ }>;
61
+ iframe_handler(params?: any): Promise<{
62
+ success: boolean;
63
+ count: number;
64
+ frames: {
65
+ index: number;
66
+ name: string;
67
+ url: string;
68
+ }[];
69
+ switched?: undefined;
70
+ url?: undefined;
71
+ error?: undefined;
72
+ content?: undefined;
73
+ message?: undefined;
74
+ } | {
75
+ success: boolean;
76
+ switched: boolean;
77
+ url: string;
78
+ count?: undefined;
79
+ frames?: undefined;
80
+ error?: undefined;
81
+ content?: undefined;
82
+ message?: undefined;
83
+ } | {
84
+ success: boolean;
85
+ error: string;
86
+ count?: undefined;
87
+ frames?: undefined;
88
+ switched?: undefined;
89
+ url?: undefined;
90
+ content?: undefined;
91
+ message?: undefined;
92
+ } | {
93
+ success: boolean;
94
+ content: string;
95
+ count?: undefined;
96
+ frames?: undefined;
97
+ switched?: undefined;
98
+ url?: undefined;
99
+ error?: undefined;
100
+ message?: undefined;
101
+ } | {
102
+ success: boolean;
103
+ message: string;
104
+ count?: undefined;
105
+ frames?: undefined;
106
+ switched?: undefined;
107
+ url?: undefined;
108
+ error?: undefined;
109
+ content?: undefined;
110
+ }>;
111
+ js_scrape(params: any): Promise<{
112
+ success: boolean;
113
+ selector: any;
114
+ content: {
115
+ html: any;
116
+ text: any;
117
+ attributes: any;
118
+ };
119
+ }>;
120
+ execute_js(params: any): Promise<{
121
+ success: boolean;
122
+ error: string;
123
+ result?: undefined;
124
+ iframe?: undefined;
125
+ } | {
126
+ success: boolean;
127
+ result: unknown;
128
+ iframe: {
129
+ index: number;
130
+ url: string;
131
+ isMain: boolean;
132
+ selector?: undefined;
133
+ } | {
134
+ index: any;
135
+ url: string;
136
+ isMain?: undefined;
137
+ selector?: undefined;
138
+ } | {
139
+ selector: any;
140
+ url: string;
141
+ index?: undefined;
142
+ isMain?: undefined;
143
+ } | null;
144
+ error?: undefined;
145
+ } | {
146
+ success: boolean;
147
+ error: any;
148
+ iframe: {
149
+ index: number;
150
+ url: string;
151
+ isMain: boolean;
152
+ selector?: undefined;
153
+ } | {
154
+ index: any;
155
+ url: string;
156
+ isMain?: undefined;
157
+ selector?: undefined;
158
+ } | {
159
+ selector: any;
160
+ url: string;
161
+ index?: undefined;
162
+ isMain?: undefined;
163
+ } | null;
164
+ result?: undefined;
165
+ }>;
166
+ };
167
+ //# sourceMappingURL=utility-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility-handlers.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/utility-handlers.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe;+BACC,MAAM,kBAAkB,MAAM,gBAAgB,MAAM;;;;;;;yBAYpD,GAAG;;;;;;8BAuBC,GAAG;;;;2BA2BN,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA0CD,GAAG;;;;;;;;;;;4BA2BJ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAiDR,GAAG;;;;;;;;;uBAsBF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6E7B,CAAC"}