@pyrokine/mcp-chrome 1.1.0 → 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.
- package/README.md +130 -54
- package/dist/anti-detection/behavior.d.ts +0 -8
- package/dist/anti-detection/behavior.d.ts.map +1 -1
- package/dist/anti-detection/behavior.js +0 -16
- package/dist/anti-detection/behavior.js.map +1 -1
- package/dist/cdp/client.d.ts +0 -2
- package/dist/cdp/client.d.ts.map +1 -1
- package/dist/cdp/client.js +30 -45
- package/dist/cdp/client.js.map +1 -1
- package/dist/cdp/launcher.d.ts +1 -8
- package/dist/cdp/launcher.d.ts.map +1 -1
- package/dist/cdp/launcher.js +11 -21
- package/dist/cdp/launcher.js.map +1 -1
- package/dist/core/auto-wait.d.ts +2 -2
- package/dist/core/auto-wait.d.ts.map +1 -1
- package/dist/core/auto-wait.js +1 -1
- package/dist/core/auto-wait.js.map +1 -1
- package/dist/core/errors.d.ts +10 -13
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +19 -25
- package/dist/core/errors.js.map +1 -1
- package/dist/core/locator.d.ts +6 -7
- package/dist/core/locator.d.ts.map +1 -1
- package/dist/core/locator.js +77 -31
- package/dist/core/locator.js.map +1 -1
- package/dist/core/retry.d.ts.map +1 -1
- package/dist/core/retry.js +1 -1
- package/dist/core/retry.js.map +1 -1
- package/dist/core/session.d.ts +37 -33
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +159 -116
- package/dist/core/session.js.map +1 -1
- package/dist/core/types.d.ts +25 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +20 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/unified-session.d.ts +105 -67
- package/dist/core/unified-session.d.ts.map +1 -1
- package/dist/core/unified-session.js +347 -186
- package/dist/core/unified-session.js.map +1 -1
- package/dist/extension/bridge.d.ts +25 -19
- package/dist/extension/bridge.d.ts.map +1 -1
- package/dist/extension/bridge.js +29 -52
- package/dist/extension/bridge.js.map +1 -1
- package/dist/extension/http-server.d.ts +13 -11
- package/dist/extension/http-server.d.ts.map +1 -1
- package/dist/extension/http-server.js +101 -95
- package/dist/extension/http-server.js.map +1 -1
- package/dist/index.js +18 -64
- package/dist/index.js.map +1 -1
- package/dist/tools/browse.d.ts +3 -80
- package/dist/tools/browse.d.ts.map +1 -1
- package/dist/tools/browse.js +135 -291
- package/dist/tools/browse.js.map +1 -1
- package/dist/tools/cookies.d.ts +3 -71
- package/dist/tools/cookies.d.ts.map +1 -1
- package/dist/tools/cookies.js +75 -157
- package/dist/tools/cookies.js.map +1 -1
- package/dist/tools/evaluate.d.ts +3 -52
- package/dist/tools/evaluate.d.ts.map +1 -1
- package/dist/tools/evaluate.js +35 -86
- package/dist/tools/evaluate.js.map +1 -1
- package/dist/tools/extract.d.ts +5 -227
- package/dist/tools/extract.d.ts.map +1 -1
- package/dist/tools/extract.js +586 -184
- package/dist/tools/extract.js.map +1 -1
- package/dist/tools/index.d.ts +9 -9
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -9
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/input.d.ts +3 -258
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +95 -147
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/logs.d.ts +3 -51
- package/dist/tools/logs.d.ts.map +1 -1
- package/dist/tools/logs.js +47 -108
- package/dist/tools/logs.js.map +1 -1
- package/dist/tools/manage.d.ts +3 -64
- package/dist/tools/manage.d.ts.map +1 -1
- package/dist/tools/manage.js +243 -373
- package/dist/tools/manage.js.map +1 -1
- package/dist/tools/schema.d.ts +16 -182
- package/dist/tools/schema.d.ts.map +1 -1
- package/dist/tools/schema.js +70 -159
- package/dist/tools/schema.js.map +1 -1
- package/dist/tools/wait.d.ts +3 -221
- package/dist/tools/wait.d.ts.map +1 -1
- package/dist/tools/wait.js +74 -145
- package/dist/tools/wait.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/extract.d.ts
CHANGED
|
@@ -3,237 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 提取页面内容:
|
|
5
5
|
* - text: 文本内容
|
|
6
|
-
* - html: HTML
|
|
6
|
+
* - html: HTML 源码(可选附带图片元信息或图片数据)
|
|
7
7
|
* - attribute: 元素属性
|
|
8
8
|
* - screenshot: 截图
|
|
9
9
|
* - state: 页面状态(精简的可交互元素列表)
|
|
10
|
+
* - metadata: 页面元信息(title/og/jsonLd 等)
|
|
10
11
|
*/
|
|
12
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
11
13
|
/**
|
|
12
|
-
* extract
|
|
14
|
+
* 注册 extract 工具
|
|
13
15
|
*/
|
|
14
|
-
export declare
|
|
15
|
-
name: string;
|
|
16
|
-
description: string;
|
|
17
|
-
inputSchema: {
|
|
18
|
-
type: "object";
|
|
19
|
-
properties: {
|
|
20
|
-
type: {
|
|
21
|
-
type: string;
|
|
22
|
-
enum: string[];
|
|
23
|
-
description: string;
|
|
24
|
-
};
|
|
25
|
-
target: {
|
|
26
|
-
description: string;
|
|
27
|
-
oneOf: readonly [{
|
|
28
|
-
readonly type: "object";
|
|
29
|
-
readonly title: "可访问性树定位";
|
|
30
|
-
readonly description: "通过 ARIA role 和 name 定位元素";
|
|
31
|
-
readonly properties: {
|
|
32
|
-
readonly role: {
|
|
33
|
-
readonly type: "string";
|
|
34
|
-
readonly description: "ARIA role(如 button、link、textbox)";
|
|
35
|
-
};
|
|
36
|
-
readonly name: {
|
|
37
|
-
readonly type: "string";
|
|
38
|
-
readonly description: "可访问名称(可选)";
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
readonly required: readonly ["role"];
|
|
42
|
-
readonly additionalProperties: false;
|
|
43
|
-
}, {
|
|
44
|
-
readonly type: "object";
|
|
45
|
-
readonly title: "文本内容定位";
|
|
46
|
-
readonly description: "通过元素文本内容定位";
|
|
47
|
-
readonly properties: {
|
|
48
|
-
readonly text: {
|
|
49
|
-
readonly type: "string";
|
|
50
|
-
readonly description: "文本内容";
|
|
51
|
-
};
|
|
52
|
-
readonly exact: {
|
|
53
|
-
readonly type: "boolean";
|
|
54
|
-
readonly description: "是否精确匹配(默认 false)";
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
readonly required: readonly ["text"];
|
|
58
|
-
readonly additionalProperties: false;
|
|
59
|
-
}, {
|
|
60
|
-
readonly type: "object";
|
|
61
|
-
readonly title: "Label 定位";
|
|
62
|
-
readonly description: "通过表单 label 文本定位关联的输入元素";
|
|
63
|
-
readonly properties: {
|
|
64
|
-
readonly label: {
|
|
65
|
-
readonly type: "string";
|
|
66
|
-
readonly description: "label 文本";
|
|
67
|
-
};
|
|
68
|
-
readonly exact: {
|
|
69
|
-
readonly type: "boolean";
|
|
70
|
-
readonly description: "是否精确匹配(默认 false)";
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
readonly required: readonly ["label"];
|
|
74
|
-
readonly additionalProperties: false;
|
|
75
|
-
}, {
|
|
76
|
-
readonly type: "object";
|
|
77
|
-
readonly title: "Placeholder 定位";
|
|
78
|
-
readonly description: "通过输入框的 placeholder 属性定位";
|
|
79
|
-
readonly properties: {
|
|
80
|
-
readonly placeholder: {
|
|
81
|
-
readonly type: "string";
|
|
82
|
-
readonly description: "placeholder 文本";
|
|
83
|
-
};
|
|
84
|
-
readonly exact: {
|
|
85
|
-
readonly type: "boolean";
|
|
86
|
-
readonly description: "是否精确匹配(默认 false)";
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
readonly required: readonly ["placeholder"];
|
|
90
|
-
readonly additionalProperties: false;
|
|
91
|
-
}, {
|
|
92
|
-
readonly type: "object";
|
|
93
|
-
readonly title: "Title 属性定位";
|
|
94
|
-
readonly description: "通过元素的 title 属性定位";
|
|
95
|
-
readonly properties: {
|
|
96
|
-
readonly title: {
|
|
97
|
-
readonly type: "string";
|
|
98
|
-
readonly description: "title 属性值";
|
|
99
|
-
};
|
|
100
|
-
readonly exact: {
|
|
101
|
-
readonly type: "boolean";
|
|
102
|
-
readonly description: "是否精确匹配(默认 false)";
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
readonly required: readonly ["title"];
|
|
106
|
-
readonly additionalProperties: false;
|
|
107
|
-
}, {
|
|
108
|
-
readonly type: "object";
|
|
109
|
-
readonly title: "Alt 属性定位";
|
|
110
|
-
readonly description: "通过图片的 alt 属性定位";
|
|
111
|
-
readonly properties: {
|
|
112
|
-
readonly alt: {
|
|
113
|
-
readonly type: "string";
|
|
114
|
-
readonly description: "alt 属性值";
|
|
115
|
-
};
|
|
116
|
-
readonly exact: {
|
|
117
|
-
readonly type: "boolean";
|
|
118
|
-
readonly description: "是否精确匹配(默认 false)";
|
|
119
|
-
};
|
|
120
|
-
};
|
|
121
|
-
readonly required: readonly ["alt"];
|
|
122
|
-
readonly additionalProperties: false;
|
|
123
|
-
}, {
|
|
124
|
-
readonly type: "object";
|
|
125
|
-
readonly title: "TestId 定位";
|
|
126
|
-
readonly description: "通过 data-testid 属性定位";
|
|
127
|
-
readonly properties: {
|
|
128
|
-
readonly testId: {
|
|
129
|
-
readonly type: "string";
|
|
130
|
-
readonly description: "data-testid 值";
|
|
131
|
-
};
|
|
132
|
-
};
|
|
133
|
-
readonly required: readonly ["testId"];
|
|
134
|
-
readonly additionalProperties: false;
|
|
135
|
-
}, {
|
|
136
|
-
readonly type: "object";
|
|
137
|
-
readonly title: "CSS 选择器定位";
|
|
138
|
-
readonly description: "通过 CSS 选择器定位";
|
|
139
|
-
readonly properties: {
|
|
140
|
-
readonly css: {
|
|
141
|
-
readonly type: "string";
|
|
142
|
-
readonly description: "CSS 选择器";
|
|
143
|
-
};
|
|
144
|
-
};
|
|
145
|
-
readonly required: readonly ["css"];
|
|
146
|
-
readonly additionalProperties: false;
|
|
147
|
-
}, {
|
|
148
|
-
readonly type: "object";
|
|
149
|
-
readonly title: "CSS + 文本组合定位";
|
|
150
|
-
readonly description: "通过 CSS 选择器 + 文本内容组合定位(先 CSS 筛选,再按文本过滤)";
|
|
151
|
-
readonly properties: {
|
|
152
|
-
readonly css: {
|
|
153
|
-
readonly type: "string";
|
|
154
|
-
readonly description: "CSS 选择器";
|
|
155
|
-
};
|
|
156
|
-
readonly text: {
|
|
157
|
-
readonly type: "string";
|
|
158
|
-
readonly description: "文本内容";
|
|
159
|
-
};
|
|
160
|
-
readonly exact: {
|
|
161
|
-
readonly type: "boolean";
|
|
162
|
-
readonly description: "是否精确匹配(默认 false)";
|
|
163
|
-
};
|
|
164
|
-
};
|
|
165
|
-
readonly required: readonly ["css", "text"];
|
|
166
|
-
readonly additionalProperties: false;
|
|
167
|
-
}, {
|
|
168
|
-
readonly type: "object";
|
|
169
|
-
readonly title: "XPath 定位";
|
|
170
|
-
readonly description: "通过 XPath 表达式定位";
|
|
171
|
-
readonly properties: {
|
|
172
|
-
readonly xpath: {
|
|
173
|
-
readonly type: "string";
|
|
174
|
-
readonly description: "XPath 表达式";
|
|
175
|
-
};
|
|
176
|
-
};
|
|
177
|
-
readonly required: readonly ["xpath"];
|
|
178
|
-
readonly additionalProperties: false;
|
|
179
|
-
}, {
|
|
180
|
-
readonly type: "object";
|
|
181
|
-
readonly title: "坐标定位";
|
|
182
|
-
readonly description: "通过页面坐标定位";
|
|
183
|
-
readonly properties: {
|
|
184
|
-
readonly x: {
|
|
185
|
-
readonly type: "number";
|
|
186
|
-
readonly description: "X 坐标(像素)";
|
|
187
|
-
};
|
|
188
|
-
readonly y: {
|
|
189
|
-
readonly type: "number";
|
|
190
|
-
readonly description: "Y 坐标(像素)";
|
|
191
|
-
};
|
|
192
|
-
};
|
|
193
|
-
readonly required: readonly ["x", "y"];
|
|
194
|
-
readonly additionalProperties: false;
|
|
195
|
-
}];
|
|
196
|
-
};
|
|
197
|
-
attribute: {
|
|
198
|
-
type: string;
|
|
199
|
-
description: string;
|
|
200
|
-
};
|
|
201
|
-
fullPage: {
|
|
202
|
-
type: string;
|
|
203
|
-
description: string;
|
|
204
|
-
};
|
|
205
|
-
output: {
|
|
206
|
-
type: string;
|
|
207
|
-
description: string;
|
|
208
|
-
};
|
|
209
|
-
tabId: {
|
|
210
|
-
type: string;
|
|
211
|
-
description: string;
|
|
212
|
-
};
|
|
213
|
-
timeout: {
|
|
214
|
-
type: string;
|
|
215
|
-
description: string;
|
|
216
|
-
};
|
|
217
|
-
frame: {
|
|
218
|
-
oneOf: {
|
|
219
|
-
type: string;
|
|
220
|
-
}[];
|
|
221
|
-
description: string;
|
|
222
|
-
};
|
|
223
|
-
};
|
|
224
|
-
required: string[];
|
|
225
|
-
};
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* extract 工具处理器
|
|
229
|
-
*/
|
|
230
|
-
export declare function handleExtract(params: unknown): Promise<{
|
|
231
|
-
content: Array<{
|
|
232
|
-
type: 'text' | 'image';
|
|
233
|
-
text?: string;
|
|
234
|
-
data?: string;
|
|
235
|
-
mimeType?: string;
|
|
236
|
-
}>;
|
|
237
|
-
isError?: boolean;
|
|
238
|
-
}>;
|
|
16
|
+
export declare function registerExtractTool(server: McpServer): void;
|
|
239
17
|
//# sourceMappingURL=extract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/tools/extract.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/tools/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAA;AAw+BtE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAK3D"}
|