@pyrokine/mcp-chrome 1.1.0 → 1.3.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 (91) hide show
  1. package/README.md +103 -53
  2. package/dist/anti-detection/behavior.d.ts +0 -8
  3. package/dist/anti-detection/behavior.d.ts.map +1 -1
  4. package/dist/anti-detection/behavior.js +0 -16
  5. package/dist/anti-detection/behavior.js.map +1 -1
  6. package/dist/cdp/client.d.ts +0 -2
  7. package/dist/cdp/client.d.ts.map +1 -1
  8. package/dist/cdp/client.js +30 -45
  9. package/dist/cdp/client.js.map +1 -1
  10. package/dist/cdp/launcher.d.ts +1 -8
  11. package/dist/cdp/launcher.d.ts.map +1 -1
  12. package/dist/cdp/launcher.js +4 -20
  13. package/dist/cdp/launcher.js.map +1 -1
  14. package/dist/core/auto-wait.d.ts +2 -2
  15. package/dist/core/auto-wait.d.ts.map +1 -1
  16. package/dist/core/auto-wait.js +1 -1
  17. package/dist/core/auto-wait.js.map +1 -1
  18. package/dist/core/errors.d.ts +10 -13
  19. package/dist/core/errors.d.ts.map +1 -1
  20. package/dist/core/errors.js +19 -25
  21. package/dist/core/errors.js.map +1 -1
  22. package/dist/core/locator.d.ts +6 -7
  23. package/dist/core/locator.d.ts.map +1 -1
  24. package/dist/core/locator.js +77 -31
  25. package/dist/core/locator.js.map +1 -1
  26. package/dist/core/retry.d.ts.map +1 -1
  27. package/dist/core/retry.js +1 -1
  28. package/dist/core/retry.js.map +1 -1
  29. package/dist/core/session.d.ts +32 -33
  30. package/dist/core/session.d.ts.map +1 -1
  31. package/dist/core/session.js +154 -114
  32. package/dist/core/session.js.map +1 -1
  33. package/dist/core/types.d.ts +4 -0
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/core/types.js +6 -0
  36. package/dist/core/types.js.map +1 -1
  37. package/dist/core/unified-session.d.ts +54 -67
  38. package/dist/core/unified-session.d.ts.map +1 -1
  39. package/dist/core/unified-session.js +215 -181
  40. package/dist/core/unified-session.js.map +1 -1
  41. package/dist/extension/bridge.d.ts +0 -19
  42. package/dist/extension/bridge.d.ts.map +1 -1
  43. package/dist/extension/bridge.js +6 -52
  44. package/dist/extension/bridge.js.map +1 -1
  45. package/dist/extension/http-server.d.ts +13 -11
  46. package/dist/extension/http-server.d.ts.map +1 -1
  47. package/dist/extension/http-server.js +101 -95
  48. package/dist/extension/http-server.js.map +1 -1
  49. package/dist/index.js +11 -64
  50. package/dist/index.js.map +1 -1
  51. package/dist/tools/browse.d.ts +3 -80
  52. package/dist/tools/browse.d.ts.map +1 -1
  53. package/dist/tools/browse.js +135 -291
  54. package/dist/tools/browse.js.map +1 -1
  55. package/dist/tools/cookies.d.ts +3 -71
  56. package/dist/tools/cookies.d.ts.map +1 -1
  57. package/dist/tools/cookies.js +75 -157
  58. package/dist/tools/cookies.js.map +1 -1
  59. package/dist/tools/evaluate.d.ts +3 -52
  60. package/dist/tools/evaluate.d.ts.map +1 -1
  61. package/dist/tools/evaluate.js +35 -86
  62. package/dist/tools/evaluate.js.map +1 -1
  63. package/dist/tools/extract.d.ts +3 -226
  64. package/dist/tools/extract.d.ts.map +1 -1
  65. package/dist/tools/extract.js +98 -170
  66. package/dist/tools/extract.js.map +1 -1
  67. package/dist/tools/index.d.ts +9 -9
  68. package/dist/tools/index.d.ts.map +1 -1
  69. package/dist/tools/index.js +9 -9
  70. package/dist/tools/index.js.map +1 -1
  71. package/dist/tools/input.d.ts +3 -258
  72. package/dist/tools/input.d.ts.map +1 -1
  73. package/dist/tools/input.js +56 -143
  74. package/dist/tools/input.js.map +1 -1
  75. package/dist/tools/logs.d.ts +3 -51
  76. package/dist/tools/logs.d.ts.map +1 -1
  77. package/dist/tools/logs.js +47 -108
  78. package/dist/tools/logs.js.map +1 -1
  79. package/dist/tools/manage.d.ts +3 -64
  80. package/dist/tools/manage.d.ts.map +1 -1
  81. package/dist/tools/manage.js +243 -373
  82. package/dist/tools/manage.js.map +1 -1
  83. package/dist/tools/schema.d.ts +16 -182
  84. package/dist/tools/schema.d.ts.map +1 -1
  85. package/dist/tools/schema.js +70 -159
  86. package/dist/tools/schema.js.map +1 -1
  87. package/dist/tools/wait.d.ts +3 -221
  88. package/dist/tools/wait.d.ts.map +1 -1
  89. package/dist/tools/wait.js +74 -145
  90. package/dist/tools/wait.js.map +1 -1
  91. package/package.json +1 -1
@@ -7,227 +7,9 @@
7
7
  * - time: 固定等待时间
8
8
  * - idle: 等待网络空闲
9
9
  */
10
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
10
11
  /**
11
- * wait 工具定义
12
+ * 注册 wait 工具
12
13
  */
13
- export declare const waitToolDefinition: {
14
- name: string;
15
- description: string;
16
- inputSchema: {
17
- type: "object";
18
- properties: {
19
- for: {
20
- type: string;
21
- enum: string[];
22
- description: string;
23
- };
24
- target: {
25
- description: string;
26
- oneOf: readonly [{
27
- readonly type: "object";
28
- readonly title: "可访问性树定位";
29
- readonly description: "通过 ARIA role 和 name 定位元素";
30
- readonly properties: {
31
- readonly role: {
32
- readonly type: "string";
33
- readonly description: "ARIA role(如 button、link、textbox)";
34
- };
35
- readonly name: {
36
- readonly type: "string";
37
- readonly description: "可访问名称(可选)";
38
- };
39
- };
40
- readonly required: readonly ["role"];
41
- readonly additionalProperties: false;
42
- }, {
43
- readonly type: "object";
44
- readonly title: "文本内容定位";
45
- readonly description: "通过元素文本内容定位";
46
- readonly properties: {
47
- readonly text: {
48
- readonly type: "string";
49
- readonly description: "文本内容";
50
- };
51
- readonly exact: {
52
- readonly type: "boolean";
53
- readonly description: "是否精确匹配(默认 false)";
54
- };
55
- };
56
- readonly required: readonly ["text"];
57
- readonly additionalProperties: false;
58
- }, {
59
- readonly type: "object";
60
- readonly title: "Label 定位";
61
- readonly description: "通过表单 label 文本定位关联的输入元素";
62
- readonly properties: {
63
- readonly label: {
64
- readonly type: "string";
65
- readonly description: "label 文本";
66
- };
67
- readonly exact: {
68
- readonly type: "boolean";
69
- readonly description: "是否精确匹配(默认 false)";
70
- };
71
- };
72
- readonly required: readonly ["label"];
73
- readonly additionalProperties: false;
74
- }, {
75
- readonly type: "object";
76
- readonly title: "Placeholder 定位";
77
- readonly description: "通过输入框的 placeholder 属性定位";
78
- readonly properties: {
79
- readonly placeholder: {
80
- readonly type: "string";
81
- readonly description: "placeholder 文本";
82
- };
83
- readonly exact: {
84
- readonly type: "boolean";
85
- readonly description: "是否精确匹配(默认 false)";
86
- };
87
- };
88
- readonly required: readonly ["placeholder"];
89
- readonly additionalProperties: false;
90
- }, {
91
- readonly type: "object";
92
- readonly title: "Title 属性定位";
93
- readonly description: "通过元素的 title 属性定位";
94
- readonly properties: {
95
- readonly title: {
96
- readonly type: "string";
97
- readonly description: "title 属性值";
98
- };
99
- readonly exact: {
100
- readonly type: "boolean";
101
- readonly description: "是否精确匹配(默认 false)";
102
- };
103
- };
104
- readonly required: readonly ["title"];
105
- readonly additionalProperties: false;
106
- }, {
107
- readonly type: "object";
108
- readonly title: "Alt 属性定位";
109
- readonly description: "通过图片的 alt 属性定位";
110
- readonly properties: {
111
- readonly alt: {
112
- readonly type: "string";
113
- readonly description: "alt 属性值";
114
- };
115
- readonly exact: {
116
- readonly type: "boolean";
117
- readonly description: "是否精确匹配(默认 false)";
118
- };
119
- };
120
- readonly required: readonly ["alt"];
121
- readonly additionalProperties: false;
122
- }, {
123
- readonly type: "object";
124
- readonly title: "TestId 定位";
125
- readonly description: "通过 data-testid 属性定位";
126
- readonly properties: {
127
- readonly testId: {
128
- readonly type: "string";
129
- readonly description: "data-testid 值";
130
- };
131
- };
132
- readonly required: readonly ["testId"];
133
- readonly additionalProperties: false;
134
- }, {
135
- readonly type: "object";
136
- readonly title: "CSS 选择器定位";
137
- readonly description: "通过 CSS 选择器定位";
138
- readonly properties: {
139
- readonly css: {
140
- readonly type: "string";
141
- readonly description: "CSS 选择器";
142
- };
143
- };
144
- readonly required: readonly ["css"];
145
- readonly additionalProperties: false;
146
- }, {
147
- readonly type: "object";
148
- readonly title: "CSS + 文本组合定位";
149
- readonly description: "通过 CSS 选择器 + 文本内容组合定位(先 CSS 筛选,再按文本过滤)";
150
- readonly properties: {
151
- readonly css: {
152
- readonly type: "string";
153
- readonly description: "CSS 选择器";
154
- };
155
- readonly text: {
156
- readonly type: "string";
157
- readonly description: "文本内容";
158
- };
159
- readonly exact: {
160
- readonly type: "boolean";
161
- readonly description: "是否精确匹配(默认 false)";
162
- };
163
- };
164
- readonly required: readonly ["css", "text"];
165
- readonly additionalProperties: false;
166
- }, {
167
- readonly type: "object";
168
- readonly title: "XPath 定位";
169
- readonly description: "通过 XPath 表达式定位";
170
- readonly properties: {
171
- readonly xpath: {
172
- readonly type: "string";
173
- readonly description: "XPath 表达式";
174
- };
175
- };
176
- readonly required: readonly ["xpath"];
177
- readonly additionalProperties: false;
178
- }, {
179
- readonly type: "object";
180
- readonly title: "坐标定位";
181
- readonly description: "通过页面坐标定位";
182
- readonly properties: {
183
- readonly x: {
184
- readonly type: "number";
185
- readonly description: "X 坐标(像素)";
186
- };
187
- readonly y: {
188
- readonly type: "number";
189
- readonly description: "Y 坐标(像素)";
190
- };
191
- };
192
- readonly required: readonly ["x", "y"];
193
- readonly additionalProperties: false;
194
- }];
195
- };
196
- state: {
197
- type: string;
198
- enum: string[];
199
- description: string;
200
- };
201
- ms: {
202
- type: string;
203
- description: string;
204
- };
205
- tabId: {
206
- type: string;
207
- description: string;
208
- };
209
- timeout: {
210
- type: string;
211
- description: string;
212
- };
213
- frame: {
214
- oneOf: {
215
- type: string;
216
- }[];
217
- description: string;
218
- };
219
- };
220
- required: string[];
221
- };
222
- };
223
- /**
224
- * wait 工具处理器
225
- */
226
- export declare function handleWait(params: unknown): Promise<{
227
- content: Array<{
228
- type: 'text';
229
- text: string;
230
- }>;
231
- isError?: boolean;
232
- }>;
14
+ export declare function registerWaitTool(server: McpServer): void;
233
15
  //# sourceMappingURL=wait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/tools/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC9B,CAAA;AAiBD;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IACvD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC,CAyQD"}
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/tools/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAA;AAmbtE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAKxD"}
@@ -8,72 +8,31 @@
8
8
  * - idle: 等待网络空闲
9
9
  */
10
10
  import { z } from 'zod';
11
- import { formatErrorResponse, getSession, getUnifiedSession, TimeoutError } from '../core/index.js';
12
- import { targetJsonSchema, targetToFindParams, targetZodSchema } from './schema.js';
13
- /**
14
- * wait 工具定义
15
- */
16
- export const waitToolDefinition = {
17
- name: 'wait',
18
- description: '等待条件:元素、导航、时间',
19
- inputSchema: {
20
- type: 'object',
21
- properties: {
22
- for: {
23
- type: 'string',
24
- enum: ['element', 'navigation', 'time', 'idle'],
25
- description: '等待类型',
26
- },
27
- target: {
28
- ...targetJsonSchema,
29
- description: '目标元素(for=element 时必填;navigation/time/idle 不需要)',
30
- },
31
- state: {
32
- type: 'string',
33
- enum: ['visible', 'hidden', 'attached', 'detached'],
34
- description: '元素状态(element)',
35
- },
36
- ms: {
37
- type: 'number',
38
- description: '毫秒(time)',
39
- },
40
- tabId: {
41
- type: 'string',
42
- description: '目标 Tab ID(可选,仅 Extension 模式)。不指定则使用当前 attach 的 tab。可操作非当前 attach 的 tab。CDP 模式下忽略此参数',
43
- },
44
- timeout: {
45
- type: 'number',
46
- description: '超时',
47
- },
48
- frame: {
49
- oneOf: [{ type: 'string' }, { type: 'number' }],
50
- description: 'iframe 定位(可选,仅 Extension 模式)。CSS 选择器(如 "iframe#main")或索引(如 0)。不指定则在主框架操作',
51
- },
52
- },
53
- required: ['for'],
54
- },
55
- };
11
+ import { formatErrorResponse, formatResponse, getSession, getUnifiedSession, TimeoutError } from '../core/index.js';
12
+ import { DEFAULT_TIMEOUT } from '../core/types.js';
13
+ import { targetToFindParams, targetZodSchema } from './schema.js';
14
+ /** 轮询间隔(毫秒) */
15
+ const POLL_INTERVAL = 100;
56
16
  /**
57
17
  * wait 参数 schema
58
18
  */
59
19
  const waitSchema = z.object({
60
- for: z.enum(['element', 'navigation', 'time', 'idle']),
61
- target: targetZodSchema.optional(),
62
- state: z.enum(['visible', 'hidden', 'attached', 'detached']).optional(),
63
- ms: z.number().optional(),
64
- tabId: z.string().optional(),
65
- timeout: z.number().optional(),
66
- frame: z.union([z.string(), z.number()]).optional(),
20
+ for: z.enum(['element', 'navigation', 'time', 'idle']).describe('等待类型'),
21
+ target: targetZodSchema.optional().describe('目标元素(for=element 时必填;navigation/time/idle 不需要)'),
22
+ state: z.enum(['visible', 'hidden', 'attached', 'detached']).optional().describe('元素状态(element)'),
23
+ ms: z.number().optional().describe('毫秒(time)'),
24
+ tabId: z.string().optional().describe('目标 Tab ID(可选,仅 Extension 模式)。不指定则使用当前 attach 的 tab。可操作非当前 attach 的 tab。CDP 模式下忽略此参数'),
25
+ timeout: z.number().optional().describe('超时'),
26
+ frame: z.union([z.string(), z.number()]).optional().describe('iframe 定位(可选,仅 Extension 模式)。CSS 选择器(如 "iframe#main")或索引(如 0)。不指定则在主框架操作'),
67
27
  });
68
28
  /**
69
29
  * wait 工具处理器
70
30
  */
71
- export async function handleWait(params) {
31
+ async function handleWait(args) {
72
32
  try {
73
- const args = waitSchema.parse(params);
74
33
  const unifiedSession = getUnifiedSession();
75
34
  const mode = unifiedSession.getMode();
76
- const timeout = args.timeout ?? 30000;
35
+ const timeout = args.timeout ?? DEFAULT_TIMEOUT;
77
36
  return await unifiedSession.withTabId(args.tabId, async () => {
78
37
  return await unifiedSession.withFrame(args.frame, async () => {
79
38
  switch (args.for) {
@@ -102,19 +61,12 @@ export async function handleWait(params) {
102
61
  const session = getSession();
103
62
  await waitForElement(session, args.target, state, timeout);
104
63
  }
105
- return {
106
- content: [
107
- {
108
- type: 'text',
109
- text: JSON.stringify({
110
- success: true,
111
- waited: 'element',
112
- state,
113
- mode,
114
- }),
115
- },
116
- ],
117
- };
64
+ return formatResponse({
65
+ success: true,
66
+ waited: 'element',
67
+ state,
68
+ mode,
69
+ });
118
70
  }
119
71
  case 'navigation': {
120
72
  if (mode === 'extension') {
@@ -125,7 +77,7 @@ export async function handleWait(params) {
125
77
  while (Date.now() - navStart < timeout) {
126
78
  if (!unifiedSession.isExtensionConnected()) {
127
79
  navLastError = new Error('Extension 未连接');
128
- await new Promise(resolve => setTimeout(resolve, 100));
80
+ await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
129
81
  continue;
130
82
  }
131
83
  try {
@@ -134,7 +86,7 @@ export async function handleWait(params) {
134
86
  // evaluate 带 timeout 时,Extension 断连会静默回退 CDP,返回错误 tab 的数据
135
87
  if (!unifiedSession.isExtensionConnected()) {
136
88
  navLastError = new Error('Extension 在 evaluate 期间断开');
137
- await new Promise(resolve => setTimeout(resolve, 100));
89
+ await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
138
90
  continue;
139
91
  }
140
92
  if (readyState === 'complete') {
@@ -146,7 +98,7 @@ export async function handleWait(params) {
146
98
  // 页面正在导航中,evaluate 可能失败
147
99
  navLastError = err instanceof Error ? err : new Error(String(err));
148
100
  }
149
- await new Promise(resolve => setTimeout(resolve, 100));
101
+ await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
150
102
  }
151
103
  if (!navCompleted) {
152
104
  const msg = `等待导航完成超时 (${timeout}ms)`;
@@ -169,39 +121,25 @@ export async function handleWait(params) {
169
121
  // 预算耗尽或连接断开,降级返回(导航本身已成功)
170
122
  }
171
123
  }
172
- return {
173
- content: [
174
- {
175
- type: 'text',
176
- text: JSON.stringify({
177
- success: true,
178
- waited: 'navigation',
179
- url: navUrl,
180
- title: navTitle,
181
- mode,
182
- }),
183
- },
184
- ],
185
- };
124
+ return formatResponse({
125
+ success: true,
126
+ waited: 'navigation',
127
+ url: navUrl,
128
+ title: navTitle,
129
+ mode,
130
+ });
186
131
  }
187
132
  // CDP 模式
188
133
  const session = getSession();
189
134
  await waitForNavigation(session, timeout);
190
135
  const sessionState = session.getState();
191
- return {
192
- content: [
193
- {
194
- type: 'text',
195
- text: JSON.stringify({
196
- success: true,
197
- waited: 'navigation',
198
- url: sessionState?.url,
199
- title: sessionState?.title,
200
- mode,
201
- }),
202
- },
203
- ],
204
- };
136
+ return formatResponse({
137
+ success: true,
138
+ waited: 'navigation',
139
+ url: sessionState?.url,
140
+ title: sessionState?.title,
141
+ mode,
142
+ });
205
143
  }
206
144
  case 'time': {
207
145
  if (!args.ms) {
@@ -221,18 +159,11 @@ export async function handleWait(params) {
221
159
  };
222
160
  }
223
161
  await new Promise((resolve) => setTimeout(resolve, args.ms));
224
- return {
225
- content: [
226
- {
227
- type: 'text',
228
- text: JSON.stringify({
229
- success: true,
230
- waited: 'time',
231
- ms: args.ms,
232
- }),
233
- },
234
- ],
235
- };
162
+ return formatResponse({
163
+ success: true,
164
+ waited: 'time',
165
+ ms: args.ms,
166
+ });
236
167
  }
237
168
  case 'idle': {
238
169
  if (mode === 'extension') {
@@ -243,7 +174,7 @@ export async function handleWait(params) {
243
174
  while (Date.now() - idleStart < timeout) {
244
175
  if (!unifiedSession.isExtensionConnected()) {
245
176
  idleLastError = new Error('Extension 未连接');
246
- await new Promise(resolve => setTimeout(resolve, 100));
177
+ await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
247
178
  continue;
248
179
  }
249
180
  try {
@@ -252,7 +183,7 @@ export async function handleWait(params) {
252
183
  // evaluate 带 timeout 时,Extension 断连会静默回退 CDP,返回错误 tab 的数据
253
184
  if (!unifiedSession.isExtensionConnected()) {
254
185
  idleLastError = new Error('Extension 在 evaluate 期间断开');
255
- await new Promise(resolve => setTimeout(resolve, 100));
186
+ await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
256
187
  continue;
257
188
  }
258
189
  if (readyState === 'complete') {
@@ -263,7 +194,7 @@ export async function handleWait(params) {
263
194
  catch (err) {
264
195
  idleLastError = err instanceof Error ? err : new Error(String(err));
265
196
  }
266
- await new Promise(resolve => setTimeout(resolve, 100));
197
+ await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
267
198
  }
268
199
  if (!idleCompleted) {
269
200
  const msg = `等待网络空闲超时 (${timeout}ms)`;
@@ -274,34 +205,20 @@ export async function handleWait(params) {
274
205
  if (idleRemaining > 0) {
275
206
  await new Promise(resolve => setTimeout(resolve, Math.min(500, idleRemaining)));
276
207
  }
277
- return {
278
- content: [
279
- {
280
- type: 'text',
281
- text: JSON.stringify({
282
- success: true,
283
- waited: 'idle',
284
- mode,
285
- }),
286
- },
287
- ],
288
- };
208
+ return formatResponse({
209
+ success: true,
210
+ waited: 'idle',
211
+ mode,
212
+ });
289
213
  }
290
214
  // CDP 模式
291
215
  const session = getSession();
292
216
  await waitForNetworkIdle(session, timeout);
293
- return {
294
- content: [
295
- {
296
- type: 'text',
297
- text: JSON.stringify({
298
- success: true,
299
- waited: 'idle',
300
- mode,
301
- }),
302
- },
303
- ],
304
- };
217
+ return formatResponse({
218
+ success: true,
219
+ waited: 'idle',
220
+ mode,
221
+ });
305
222
  }
306
223
  default:
307
224
  return {
@@ -331,8 +248,9 @@ export async function handleWait(params) {
331
248
  */
332
249
  async function waitForElementExtension(unifiedSession, target, state, timeout) {
333
250
  const startTime = Date.now();
334
- const retryDelay = 100;
335
- const { selector, text, xpath } = targetToFindParams(target);
251
+ const retryDelay = POLL_INTERVAL;
252
+ const { selector, text, xpath, nth: nthParam } = targetToFindParams(target);
253
+ const nth = nthParam ?? 0;
336
254
  let lastError = null;
337
255
  while (true) {
338
256
  const elapsed = Date.now() - startTime;
@@ -349,13 +267,13 @@ async function waitForElementExtension(unifiedSession, target, state, timeout) {
349
267
  try {
350
268
  const remaining = timeout - elapsed;
351
269
  const elements = await unifiedSession.find(selector, text, xpath, remaining);
352
- const found = elements.length > 0;
270
+ const found = elements.length > nth;
353
271
  switch (state) {
354
272
  case 'attached':
355
273
  case 'visible': {
356
274
  if (found) {
357
275
  if (state === 'visible') {
358
- const rect = elements[0].rect;
276
+ const rect = elements[nth].rect;
359
277
  if (rect.width > 0 && rect.height > 0) {
360
278
  return;
361
279
  }
@@ -372,7 +290,7 @@ async function waitForElementExtension(unifiedSession, target, state, timeout) {
372
290
  return;
373
291
  }
374
292
  if (state === 'hidden' && found) {
375
- const rect = elements[0].rect;
293
+ const rect = elements[nth].rect;
376
294
  if (rect.width === 0 || rect.height === 0) {
377
295
  return;
378
296
  }
@@ -384,7 +302,9 @@ async function waitForElementExtension(unifiedSession, target, state, timeout) {
384
302
  catch (err) {
385
303
  // find() 在元素不存在时返回空数组(不抛异常),此处异常是真正的错误。
386
304
  // 暂时性错误(RPC 超时、发送失败、连接断开)可重试,其他确定性错误立即抛出
387
- if (err instanceof Error && /Request timeout|Failed to send|disconnect|未连接|stopped|replaced/i.test(err.message)) {
305
+ if (err instanceof
306
+ Error &&
307
+ /Request timeout|Failed to send|disconnect|未连接|stopped|replaced/i.test(err.message)) {
388
308
  lastError = err;
389
309
  await new Promise(resolve => setTimeout(resolve, retryDelay));
390
310
  continue;
@@ -399,7 +319,7 @@ async function waitForElementExtension(unifiedSession, target, state, timeout) {
399
319
  */
400
320
  async function waitForElement(session, target, state, timeout) {
401
321
  const startTime = Date.now();
402
- const retryDelay = 100;
322
+ const retryDelay = POLL_INTERVAL;
403
323
  while (Date.now() - startTime < timeout) {
404
324
  try {
405
325
  const remaining = timeout - (Date.now() - startTime);
@@ -465,4 +385,13 @@ async function waitForNavigation(session, timeout) {
465
385
  async function waitForNetworkIdle(session, timeout) {
466
386
  await session.waitForNetworkIdle(timeout);
467
387
  }
388
+ /**
389
+ * 注册 wait 工具
390
+ */
391
+ export function registerWaitTool(server) {
392
+ server.registerTool('wait', {
393
+ description: '等待条件:元素、导航、时间',
394
+ inputSchema: waitSchema,
395
+ }, (args) => handleWait(args));
396
+ }
468
397
  //# sourceMappingURL=wait.js.map
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pyrokine/mcp-chrome",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Chrome browser automation MCP Server using Chrome DevTools Protocol",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",