@pyrokine/mcp-chrome 2.3.2 → 2.4.1

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 (86) hide show
  1. package/README.md +40 -13
  2. package/README_zh.md +30 -11
  3. package/dist/anti-detection/behavior.d.ts.map +1 -1
  4. package/dist/anti-detection/behavior.js.map +1 -1
  5. package/dist/anti-detection/injection.js.map +1 -1
  6. package/dist/cdp/client.d.ts.map +1 -1
  7. package/dist/cdp/client.js.map +1 -1
  8. package/dist/cdp/launcher.d.ts.map +1 -1
  9. package/dist/cdp/launcher.js.map +1 -1
  10. package/dist/core/auto-wait.d.ts.map +1 -1
  11. package/dist/core/auto-wait.js.map +1 -1
  12. package/dist/core/browser-driver.d.ts +6 -1
  13. package/dist/core/browser-driver.d.ts.map +1 -1
  14. package/dist/core/browser-driver.js.map +1 -1
  15. package/dist/core/errors.d.ts.map +1 -1
  16. package/dist/core/errors.js.map +1 -1
  17. package/dist/core/extension-errors.d.ts.map +1 -1
  18. package/dist/core/locator.d.ts.map +1 -1
  19. package/dist/core/locator.js.map +1 -1
  20. package/dist/core/retry.js.map +1 -1
  21. package/dist/core/session.d.ts +2 -2
  22. package/dist/core/session.d.ts.map +1 -1
  23. package/dist/core/session.js +1 -1
  24. package/dist/core/session.js.map +1 -1
  25. package/dist/core/types.d.ts.map +1 -1
  26. package/dist/core/types.js.map +1 -1
  27. package/dist/core/unified-session.d.ts +17 -2
  28. package/dist/core/unified-session.d.ts.map +1 -1
  29. package/dist/core/unified-session.js +44 -6
  30. package/dist/core/unified-session.js.map +1 -1
  31. package/dist/extension/bridge.d.ts +8 -2
  32. package/dist/extension/bridge.d.ts.map +1 -1
  33. package/dist/extension/bridge.js +5 -1
  34. package/dist/extension/bridge.js.map +1 -1
  35. package/dist/extension/http-server.d.ts +17 -0
  36. package/dist/extension/http-server.d.ts.map +1 -1
  37. package/dist/extension/http-server.js +63 -8
  38. package/dist/extension/http-server.js.map +1 -1
  39. package/dist/extension/index.d.ts +1 -0
  40. package/dist/extension/index.d.ts.map +1 -1
  41. package/dist/extension/index.js.map +1 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/tools/browse.d.ts.map +1 -1
  44. package/dist/tools/browse.js +13 -37
  45. package/dist/tools/browse.js.map +1 -1
  46. package/dist/tools/cookies.js.map +1 -1
  47. package/dist/tools/diagnostics.d.ts +31 -0
  48. package/dist/tools/diagnostics.d.ts.map +1 -0
  49. package/dist/tools/diagnostics.js +93 -0
  50. package/dist/tools/diagnostics.js.map +1 -0
  51. package/dist/tools/evaluate.d.ts +15 -0
  52. package/dist/tools/evaluate.d.ts.map +1 -1
  53. package/dist/tools/evaluate.js +136 -84
  54. package/dist/tools/evaluate.js.map +1 -1
  55. package/dist/tools/extract.d.ts.map +1 -1
  56. package/dist/tools/extract.js +36 -17
  57. package/dist/tools/extract.js.map +1 -1
  58. package/dist/tools/input.d.ts +6 -0
  59. package/dist/tools/input.d.ts.map +1 -1
  60. package/dist/tools/input.js +394 -248
  61. package/dist/tools/input.js.map +1 -1
  62. package/dist/tools/logs.d.ts +17 -0
  63. package/dist/tools/logs.d.ts.map +1 -1
  64. package/dist/tools/logs.js +41 -10
  65. package/dist/tools/logs.js.map +1 -1
  66. package/dist/tools/network-sanitizer.d.ts +15 -0
  67. package/dist/tools/network-sanitizer.d.ts.map +1 -0
  68. package/dist/tools/network-sanitizer.js +61 -0
  69. package/dist/tools/network-sanitizer.js.map +1 -0
  70. package/dist/tools/post-condition.d.ts +18 -1
  71. package/dist/tools/post-condition.d.ts.map +1 -1
  72. package/dist/tools/post-condition.js +52 -94
  73. package/dist/tools/post-condition.js.map +1 -1
  74. package/dist/tools/target-diagnostics.d.ts +31 -0
  75. package/dist/tools/target-diagnostics.d.ts.map +1 -0
  76. package/dist/tools/target-diagnostics.js +91 -0
  77. package/dist/tools/target-diagnostics.js.map +1 -0
  78. package/dist/tools/wait.d.ts.map +1 -1
  79. package/dist/tools/wait.js +183 -209
  80. package/dist/tools/wait.js.map +1 -1
  81. package/extension/dist/assets/content.ts-Cj_iiU2s.js +25 -0
  82. package/extension/dist/assets/{index.ts-CJXGbOcp.js → index.ts-GG6dPUPX.js} +569 -347
  83. package/extension/dist/manifest.json +3 -3
  84. package/extension/dist/service-worker-loader.js +1 -1
  85. package/package.json +14 -10
  86. package/extension/dist/assets/content.ts-pEASbjEL.js +0 -6
@@ -8,40 +8,19 @@
8
8
  * - idle: 等待网络空闲
9
9
  */
10
10
  import { z } from 'zod';
11
- import { formatErrorResponse, formatResponse, getSession, getUnifiedSession, TimeoutError } from '../core/index.js';
11
+ import { formatErrorResponse, getSession, getUnifiedSession, TimeoutError } from '../core/index.js';
12
12
  import { DEFAULT_TIMEOUT } from '../core/types.js';
13
+ import { withDiagnosticsResponse } from './diagnostics.js';
13
14
  import { targetToFindParams, targetZodSchema } from './schema.js';
15
+ import { buildTargetDiagnostics, TargetTimeoutError } from './target-diagnostics.js';
14
16
  /** 轮询间隔(毫秒) */
15
17
  const POLL_INTERVAL = 100;
16
18
  const NAVIGATION_SNAPSHOT_TIMEOUT = 1000;
17
- async function captureDiagnosticsStart(unifiedSession) {
18
- await unifiedSession.enableConsole();
19
- await unifiedSession.enableNetwork();
20
- const consoleLogs = await unifiedSession.getConsoleLogs();
21
- const network = await unifiedSession.getNetworkRequests();
22
- return { consoleCount: consoleLogs.length, networkCount: network.length };
23
- }
24
- async function captureDiagnosticsDelta(unifiedSession, start) {
25
- const consoleLogs = await unifiedSession.getConsoleLogs();
26
- const network = await unifiedSession.getNetworkRequests();
27
- return {
28
- console: consoleLogs
29
- .slice(start.consoleCount)
30
- .filter((item) => ['error', 'warning', 'warn'].includes(item.level))
31
- .slice(-20),
32
- failedRequests: network
33
- .slice(start.networkCount)
34
- .filter((item) => item.errorText || (item.status !== undefined && item.status >= 400))
35
- .slice(-20),
36
- };
37
- }
38
- async function withDiagnostics(unifiedSession, enabled, action) {
39
- const start = enabled ? await captureDiagnosticsStart(unifiedSession) : undefined;
40
- const result = await action();
41
- if (start) {
42
- result.diagnostics = await captureDiagnosticsDelta(unifiedSession, start);
19
+ async function sleepWithinBudget(startedAt, timeout, interval) {
20
+ const remaining = timeout - (Date.now() - startedAt);
21
+ if (remaining > 0) {
22
+ await new Promise((resolve) => setTimeout(resolve, Math.min(interval, remaining)));
43
23
  }
44
- return result;
45
24
  }
46
25
  async function getExtensionNavigationSnapshot(unifiedSession, timeout = NAVIGATION_SNAPSHOT_TIMEOUT) {
47
26
  const targetId = unifiedSession.getCurrentTargetId();
@@ -94,10 +73,10 @@ const waitSchema = z.object({
94
73
  async function handleWait(args) {
95
74
  try {
96
75
  const unifiedSession = getUnifiedSession();
97
- const mode = unifiedSession.getMode();
98
76
  const timeout = args.timeout ?? DEFAULT_TIMEOUT;
99
77
  return await unifiedSession.withTabId(args.tabId, async () => {
100
78
  return await unifiedSession.withFrame(args.frame, async () => {
79
+ const mode = unifiedSession.getMode();
101
80
  switch (args.for) {
102
81
  case 'element': {
103
82
  if (!args.target) {
@@ -117,9 +96,9 @@ async function handleWait(args) {
117
96
  };
118
97
  }
119
98
  const state = args.state ?? 'visible';
120
- return formatResponse(await withDiagnostics(unifiedSession, args.diagnostics, async () => {
99
+ return withDiagnosticsResponse(unifiedSession, args.diagnostics, async () => {
121
100
  if (mode === 'extension') {
122
- await waitForElementExtension(unifiedSession, args.target, state, timeout);
101
+ await waitForElementExtension(unifiedSession, args.target, state, timeout, args.frame);
123
102
  }
124
103
  else {
125
104
  const session = getSession();
@@ -131,94 +110,86 @@ async function handleWait(args) {
131
110
  state,
132
111
  mode,
133
112
  };
134
- }));
113
+ });
135
114
  }
136
115
  case 'navigation': {
137
- const diagnosticsStart = args.diagnostics
138
- ? await captureDiagnosticsStart(unifiedSession)
139
- : undefined;
140
- if (mode === 'extension') {
141
- const navStart = Date.now();
142
- let navCompleted = false;
143
- let navLastError = null;
144
- let initialUrl = null;
145
- let initialTitle = null;
146
- let sawLoading = false;
147
- let navUrl = null;
148
- let navTitle = null;
149
- try {
150
- const initial = await getExtensionNavigationSnapshot(unifiedSession, Math.min(timeout, NAVIGATION_SNAPSHOT_TIMEOUT));
151
- if (unifiedSession.isExtensionConnected()) {
152
- initialUrl = initial.url;
153
- initialTitle = initial.title;
154
- sawLoading = initial.readyState !== 'complete';
116
+ return withDiagnosticsResponse(unifiedSession, args.diagnostics, async () => {
117
+ if (mode === 'extension') {
118
+ const navStart = Date.now();
119
+ let navCompleted = false;
120
+ let navLastError = null;
121
+ let initialUrl = null;
122
+ let initialTitle = null;
123
+ let sawLoading = false;
124
+ let navUrl = null;
125
+ let navTitle = null;
126
+ try {
127
+ const initial = await getExtensionNavigationSnapshot(unifiedSession, Math.min(timeout, NAVIGATION_SNAPSHOT_TIMEOUT));
128
+ if (unifiedSession.isExtensionConnected()) {
129
+ initialUrl = initial.url;
130
+ initialTitle = initial.title;
131
+ sawLoading = initial.readyState !== 'complete';
132
+ }
155
133
  }
156
- }
157
- catch (err) {
158
- sawLoading = true;
159
- navLastError = err instanceof Error ? err : new Error(String(err));
160
- }
161
- while (!navCompleted && Date.now() - navStart < timeout) {
162
- if (!unifiedSession.isExtensionConnected()) {
163
- navLastError = new Error('Extension 未连接');
164
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL));
165
- continue;
134
+ catch (err) {
135
+ sawLoading = true;
136
+ navLastError = err instanceof Error ? err : new Error(String(err));
166
137
  }
167
- try {
168
- const remaining = timeout - (Date.now() - navStart);
169
- const pageInfo = await getExtensionNavigationSnapshot(unifiedSession, Math.min(remaining, NAVIGATION_SNAPSHOT_TIMEOUT));
138
+ while (!navCompleted && Date.now() - navStart < timeout) {
170
139
  if (!unifiedSession.isExtensionConnected()) {
171
- navLastError = new Error('Extension 在查询导航状态期间断开');
172
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL));
140
+ navLastError = new Error('Extension 未连接');
141
+ await sleepWithinBudget(navStart, timeout, POLL_INTERVAL);
173
142
  continue;
174
143
  }
175
- if (pageInfo.readyState !== 'complete') {
176
- sawLoading = true;
177
- }
178
- else {
179
- const changed = (initialUrl !== null && pageInfo.url !== initialUrl) ||
180
- (initialTitle !== null && pageInfo.title !== initialTitle);
181
- if (sawLoading || changed || initialUrl === null) {
182
- navUrl = pageInfo.url;
183
- navTitle = pageInfo.title;
184
- navCompleted = true;
185
- break;
144
+ try {
145
+ const remaining = timeout - (Date.now() - navStart);
146
+ const pageInfo = await getExtensionNavigationSnapshot(unifiedSession, Math.min(remaining, NAVIGATION_SNAPSHOT_TIMEOUT));
147
+ if (!unifiedSession.isExtensionConnected()) {
148
+ navLastError = new Error('Extension 在查询导航状态期间断开');
149
+ await sleepWithinBudget(navStart, timeout, POLL_INTERVAL);
150
+ continue;
151
+ }
152
+ if (pageInfo.readyState !== 'complete') {
153
+ sawLoading = true;
154
+ }
155
+ else {
156
+ const changed = (initialUrl !== null && pageInfo.url !== initialUrl) ||
157
+ (initialTitle !== null && pageInfo.title !== initialTitle);
158
+ if (sawLoading || changed || initialUrl === null) {
159
+ navUrl = pageInfo.url;
160
+ navTitle = pageInfo.title;
161
+ navCompleted = true;
162
+ break;
163
+ }
186
164
  }
187
165
  }
166
+ catch (err) {
167
+ navLastError = err instanceof Error ? err : new Error(String(err));
168
+ }
169
+ await sleepWithinBudget(navStart, timeout, POLL_INTERVAL);
188
170
  }
189
- catch (err) {
190
- navLastError = err instanceof Error ? err : new Error(String(err));
171
+ if (!navCompleted) {
172
+ const msg = `等待导航完成超时 (${timeout}ms)`;
173
+ throw new TimeoutError(navLastError ? `${msg}: ${navLastError.message}` : msg);
191
174
  }
192
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL));
175
+ return {
176
+ success: true,
177
+ waited: 'navigation',
178
+ url: navUrl,
179
+ title: navTitle,
180
+ mode,
181
+ };
193
182
  }
194
- if (!navCompleted) {
195
- const msg = `等待导航完成超时 (${timeout}ms)`;
196
- throw new TimeoutError(navLastError ? `${msg}: ${navLastError.message}` : msg);
197
- }
198
- return formatResponse({
183
+ const session = getSession();
184
+ await waitForNavigation(session, timeout);
185
+ const sessionState = session.getState();
186
+ return {
199
187
  success: true,
200
188
  waited: 'navigation',
201
- url: navUrl,
202
- title: navTitle,
189
+ url: sessionState?.url,
190
+ title: sessionState?.title,
203
191
  mode,
204
- ...(diagnosticsStart
205
- ? { diagnostics: await captureDiagnosticsDelta(unifiedSession, diagnosticsStart) }
206
- : {}),
207
- });
208
- }
209
- // CDP 模式
210
- const session = getSession();
211
- await waitForNavigation(session, timeout);
212
- const sessionState = session.getState();
213
- return formatResponse({
214
- success: true,
215
- waited: 'navigation',
216
- url: sessionState?.url,
217
- title: sessionState?.title,
218
- mode,
219
- ...(diagnosticsStart
220
- ? { diagnostics: await captureDiagnosticsDelta(unifiedSession, diagnosticsStart) }
221
- : {}),
192
+ };
222
193
  });
223
194
  }
224
195
  case 'time': {
@@ -238,66 +209,66 @@ async function handleWait(args) {
238
209
  isError: true,
239
210
  };
240
211
  }
241
- await new Promise((resolve) => setTimeout(resolve, args.ms));
242
- return formatResponse({
243
- success: true,
244
- waited: 'time',
245
- ms: args.ms,
212
+ return withDiagnosticsResponse(unifiedSession, args.diagnostics, async () => {
213
+ await new Promise((resolve) => setTimeout(resolve, args.ms));
214
+ return {
215
+ success: true,
216
+ waited: 'time',
217
+ ms: args.ms,
218
+ };
246
219
  });
247
220
  }
248
221
  case 'idle': {
249
- const diagnosticsStart = args.diagnostics
250
- ? await captureDiagnosticsStart(unifiedSession)
251
- : undefined;
252
- if (mode === 'extension') {
253
- // Extension 模式:readyState complete + DOM mutation 静默检测
254
- const idleStart = Date.now();
255
- const quietPeriod = args.ms ?? 500;
256
- let idleCompleted = false;
257
- let idleLastError = null;
258
- // Phase 1: 等待 readyState === 'complete'
259
- while (Date.now() - idleStart < timeout) {
260
- if (!unifiedSession.isExtensionConnected()) {
261
- idleLastError = new Error('Extension 未连接');
262
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL));
263
- continue;
264
- }
265
- try {
266
- const remaining = timeout - (Date.now() - idleStart);
267
- const readyState = await unifiedSession.evaluate('document.readyState', undefined, remaining);
222
+ return withDiagnosticsResponse(unifiedSession, args.diagnostics, async () => {
223
+ if (mode === 'extension') {
224
+ // Extension 模式:readyState complete + DOM mutation 静默检测
225
+ const idleStart = Date.now();
226
+ const quietPeriod = args.ms ?? 500;
227
+ let idleCompleted = false;
228
+ let idleLastError = null;
229
+ // Phase 1: 等待 readyState === 'complete'
230
+ while (Date.now() - idleStart < timeout) {
268
231
  if (!unifiedSession.isExtensionConnected()) {
269
- idleLastError = new Error('Extension 在 evaluate 期间断开');
270
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL));
232
+ idleLastError = new Error('Extension 未连接');
233
+ await sleepWithinBudget(idleStart, timeout, POLL_INTERVAL);
271
234
  continue;
272
235
  }
273
- if (readyState === 'complete') {
274
- idleCompleted = true;
275
- break;
236
+ try {
237
+ const remaining = timeout - (Date.now() - idleStart);
238
+ const readyState = await unifiedSession.evaluate('document.readyState', undefined, remaining);
239
+ if (!unifiedSession.isExtensionConnected()) {
240
+ idleLastError = new Error('Extension 在 evaluate 期间断开');
241
+ await sleepWithinBudget(idleStart, timeout, POLL_INTERVAL);
242
+ continue;
243
+ }
244
+ if (readyState === 'complete') {
245
+ idleCompleted = true;
246
+ break;
247
+ }
248
+ }
249
+ catch (err) {
250
+ idleLastError = err instanceof Error ? err : new Error(String(err));
276
251
  }
252
+ await sleepWithinBudget(idleStart, timeout, POLL_INTERVAL);
277
253
  }
278
- catch (err) {
279
- idleLastError = err instanceof Error ? err : new Error(String(err));
254
+ if (!idleCompleted) {
255
+ const msg = `等待页面加载超时 (${timeout}ms)`;
256
+ throw new TimeoutError(idleLastError ? `${msg}: ${idleLastError.message}` : msg);
280
257
  }
281
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL));
282
- }
283
- if (!idleCompleted) {
284
- const msg = `等待页面加载超时 (${timeout}ms)`;
285
- throw new TimeoutError(idleLastError ? `${msg}: ${idleLastError.message}` : msg);
286
- }
287
- // Phase 2: DOM mutation 静默检测
288
- // 注入 MutationObserver,等待 quietPeriod 毫秒内无 DOM 变更
289
- const mutationRemaining = timeout - (Date.now() - idleStart);
290
- const scriptTimeout = mutationRemaining - POLL_INTERVAL;
291
- if (scriptTimeout > quietPeriod) {
292
- try {
293
- const domStable = await new Promise((resolve, reject) => {
294
- let settled = false;
295
- const timer = setTimeout(() => {
296
- settled = true;
297
- resolve(false);
298
- }, scriptTimeout);
299
- unifiedSession
300
- .evaluate(`(function(quietMs, timeoutMs) {
258
+ // Phase 2: DOM mutation 静默检测
259
+ // 注入 MutationObserver,等待 quietPeriod 毫秒内无 DOM 变更
260
+ const mutationRemaining = timeout - (Date.now() - idleStart);
261
+ const scriptTimeout = mutationRemaining - POLL_INTERVAL;
262
+ if (scriptTimeout > quietPeriod) {
263
+ try {
264
+ const domStable = await new Promise((resolve, reject) => {
265
+ let settled = false;
266
+ const timer = setTimeout(() => {
267
+ settled = true;
268
+ resolve(false);
269
+ }, scriptTimeout);
270
+ unifiedSession
271
+ .evaluate(`(function(quietMs, timeoutMs) {
301
272
  return new Promise(function(resolve) {
302
273
  var target = document.documentElement || document.body;
303
274
  if (!target) {
@@ -342,58 +313,50 @@ async function handleWait(args) {
342
313
  setTimeout(check, quietMs);
343
314
  });
344
315
  })`, undefined, mutationRemaining, [quietPeriod, scriptTimeout])
345
- .then((value) => {
346
- if (settled) {
347
- return;
348
- }
349
- settled = true;
350
- clearTimeout(timer);
351
- resolve(value);
352
- })
353
- .catch((err) => {
354
- if (settled) {
355
- return;
356
- }
357
- settled = true;
358
- clearTimeout(timer);
359
- reject(err);
316
+ .then((value) => {
317
+ if (settled) {
318
+ return;
319
+ }
320
+ settled = true;
321
+ clearTimeout(timer);
322
+ resolve(value);
323
+ })
324
+ .catch((err) => {
325
+ if (settled) {
326
+ return;
327
+ }
328
+ settled = true;
329
+ clearTimeout(timer);
330
+ reject(err);
331
+ });
360
332
  });
361
- });
362
- if (!domStable) {
363
- throw new TimeoutError(`等待页面 idle 超时 (${timeout}ms): DOM 未达到 ${quietPeriod}ms 静默`);
333
+ if (!domStable) {
334
+ throw new TimeoutError(`等待页面 idle 超时 (${timeout}ms): DOM 未达到 ${quietPeriod}ms 静默`);
335
+ }
336
+ return {
337
+ success: true,
338
+ waited: 'idle',
339
+ domStable,
340
+ mode,
341
+ };
364
342
  }
365
- return formatResponse({
366
- success: true,
367
- waited: 'idle',
368
- domStable,
369
- mode,
370
- ...(diagnosticsStart
371
- ? {
372
- diagnostics: await captureDiagnosticsDelta(unifiedSession, diagnosticsStart),
373
- }
374
- : {}),
375
- });
376
- }
377
- catch (err) {
378
- if (err instanceof TimeoutError) {
379
- throw err;
343
+ catch (err) {
344
+ if (err instanceof TimeoutError) {
345
+ throw err;
346
+ }
347
+ const message = err instanceof Error ? err.message : String(err);
348
+ throw new TimeoutError(`等待页面 idle 超时 (${timeout}ms): ${message}`);
380
349
  }
381
- const message = err instanceof Error ? err.message : String(err);
382
- throw new TimeoutError(`等待页面 idle 超时 (${timeout}ms): ${message}`);
383
350
  }
351
+ throw new TimeoutError(`等待页面 idle 超时 (${timeout}ms): 剩余时间不足以完成 ${quietPeriod}ms DOM 静默检测`);
384
352
  }
385
- throw new TimeoutError(`等待页面 idle 超时 (${timeout}ms): 剩余时间不足以完成 ${quietPeriod}ms DOM 静默检测`);
386
- }
387
- // CDP 模式
388
- const session = getSession();
389
- await waitForNetworkIdle(session, timeout);
390
- return formatResponse({
391
- success: true,
392
- waited: 'idle',
393
- mode,
394
- ...(diagnosticsStart
395
- ? { diagnostics: await captureDiagnosticsDelta(unifiedSession, diagnosticsStart) }
396
- : {}),
353
+ const session = getSession();
354
+ await waitForNetworkIdle(session, timeout);
355
+ return {
356
+ success: true,
357
+ waited: 'idle',
358
+ mode,
359
+ };
397
360
  });
398
361
  }
399
362
  default:
@@ -422,27 +385,38 @@ async function handleWait(args) {
422
385
  /**
423
386
  * Extension 模式:等待元素
424
387
  */
425
- async function waitForElementExtension(unifiedSession, target, state, timeout) {
388
+ async function waitForElementExtension(unifiedSession, target, state, timeout, frame) {
426
389
  const startTime = Date.now();
427
390
  const retryDelay = POLL_INTERVAL;
428
391
  const { selector, text, xpath, nth: nthParam } = targetToFindParams(target);
429
392
  const nth = nthParam ?? 0;
430
393
  let lastError = null;
394
+ let matchCount = 0;
395
+ let candidates = [];
431
396
  while (true) {
432
397
  const elapsed = Date.now() - startTime;
433
398
  if (elapsed >= timeout) {
434
- const msg = `等待元素 ${JSON.stringify(target)} 状态 ${state} 超时 (${timeout}ms)`;
435
- throw new TimeoutError(lastError ? `${msg}: ${lastError.message}` : msg);
399
+ throw new TargetTimeoutError(await buildTargetDiagnostics(unifiedSession, target, {
400
+ nth,
401
+ timeout,
402
+ frame,
403
+ matchCount,
404
+ lastState: state,
405
+ lastError,
406
+ candidates,
407
+ }));
436
408
  }
437
409
  // 未连接时跳过 find(),避免阻塞超出用户 timeout
438
410
  if (!unifiedSession.isExtensionConnected()) {
439
411
  lastError = new Error('Extension 未连接');
440
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
412
+ await sleepWithinBudget(startTime, timeout, retryDelay);
441
413
  continue;
442
414
  }
443
415
  try {
444
416
  const remaining = timeout - elapsed;
445
417
  const elements = await unifiedSession.find(selector, text, xpath, remaining);
418
+ matchCount = elements.length;
419
+ candidates = elements;
446
420
  const found = elements.length > nth;
447
421
  switch (state) {
448
422
  case 'attached':
@@ -481,12 +455,12 @@ async function waitForElementExtension(unifiedSession, target, state, timeout) {
481
455
  if (err instanceof Error &&
482
456
  /Request timeout|Failed to send|disconnect|未连接|stopped|replaced/i.test(err.message)) {
483
457
  lastError = err;
484
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
458
+ await sleepWithinBudget(startTime, timeout, retryDelay);
485
459
  continue;
486
460
  }
487
461
  throw err;
488
462
  }
489
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
463
+ await sleepWithinBudget(startTime, timeout, retryDelay);
490
464
  }
491
465
  }
492
466
  /**
@@ -544,7 +518,7 @@ async function waitForElement(session, target, state, timeout) {
544
518
  }
545
519
  // 继续等待
546
520
  }
547
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
521
+ await sleepWithinBudget(startTime, timeout, retryDelay);
548
522
  }
549
523
  throw new TimeoutError(`等待元素 ${JSON.stringify(target)} 状态 ${state} 超时 (${timeout}ms)`);
550
524
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/tools/wait.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/tools/wait.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ (function(){//#region src/content/content.ts
2
+ window.__mcpElementMap = window.__mcpElementMap || {};
3
+ window.__mcpRefCounter = window.__mcpRefCounter || 0;
4
+ window.addEventListener("message", (event) => {
5
+ const data = event.data;
6
+ if (event.source !== window.parent || data?.type !== "mcp-frame-probe" || typeof data.token !== "string" || data.token.length > 100 || !Number.isInteger(data.index) || (data.index ?? -1) < 0) return;
7
+ const source = event.source;
8
+ chrome.runtime.sendMessage({
9
+ type: "MCP_FRAME_PROBE",
10
+ token: data.token,
11
+ index: data.index
12
+ }).then((response) => {
13
+ if (!response?.accepted) return;
14
+ source.postMessage({
15
+ type: "mcp-frame-probe-ack",
16
+ token: data.token,
17
+ index: data.index
18
+ }, "*");
19
+ }).catch((error) => {
20
+ console.warn("[MCP] iframe identity probe failed:", error instanceof Error ? error.message : String(error));
21
+ });
22
+ });
23
+ console.log("[MCP] Content script loaded");
24
+ //#endregion
25
+ })()