micro-models-agent 0.2.83 → 0.2.85
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwD,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwD,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAkVpD,kEAAkE;AAClE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAuF5G"}
|
|
@@ -105,6 +105,13 @@ Directory tree: {"name":"tree","arguments":{"depth":2}}
|
|
|
105
105
|
{"name":"web_browse","arguments":{"action":"get_links"}}
|
|
106
106
|
{"name":"web_browse","arguments":{"action":"close"}}
|
|
107
107
|
|
|
108
|
+
## Web Scrape (one-call product/card extraction):
|
|
109
|
+
Use for: parsing products, cards, items, listings from any website.
|
|
110
|
+
Instead of navigate → discover → evaluate → write_file (4 calls), use ONE call:
|
|
111
|
+
{"name":"web_browse","arguments":{"action":"scrape","url":"https://example.com/catalog","pattern":"product|card|item","maxItems":10}}
|
|
112
|
+
{"name":"web_browse","arguments":{"action":"scrape","url":"https://shop.com/bikes","pattern":"bike|velosiped","maxItems":15}}
|
|
113
|
+
Parameters: url (required), pattern (regex for class matching, default: "product|card|item|goods"), maxItems (default: 10)
|
|
114
|
+
|
|
108
115
|
## Theme tool (theme management):
|
|
109
116
|
{"name":"theme","arguments":{"action":"list"}}
|
|
110
117
|
{"name":"theme","arguments":{"action":"switch","name":"dark"}}
|
|
@@ -239,14 +246,15 @@ const RULES_COMMON = `Rules:
|
|
|
239
246
|
Example: subagent({task:"Create ONLY src/api.ts with Express CRUD", existingFiles:"src/db.ts,src/types.ts"})
|
|
240
247
|
The subagent will see the project context and should NOT create files beyond what's in the task.
|
|
241
248
|
22. WEB TOOLS STRATEGY:
|
|
242
|
-
a. For
|
|
243
|
-
b.
|
|
244
|
-
c.
|
|
249
|
+
a. For scraping products/cards/items: use web_browse(action:"scrape") — ONE call does everything.
|
|
250
|
+
b. For any other URL: FIRST try web_fetch — it's fast and works for most sites (content is in the initial HTML).
|
|
251
|
+
c. If web_fetch returns empty or nonsense (JS-rendered page), switch to web_browse.
|
|
252
|
+
d. When using web_browse manually — 4-step pattern:
|
|
245
253
|
Step 1: navigate(url)
|
|
246
|
-
Step 2: discover → find REAL CSS selectors
|
|
247
|
-
Step 3: evaluate → extract data via JSON
|
|
254
|
+
Step 2: discover → find REAL CSS selectors
|
|
255
|
+
Step 3: evaluate → extract data via JSON
|
|
248
256
|
Step 4: write_file → save result
|
|
249
|
-
|
|
257
|
+
e. NEVER guess CSS selectors — always use discover or scrape first.`;
|
|
250
258
|
const RULES_FAST = `Rules:
|
|
251
259
|
1. Use filesystem tools for file operations (read_file, write_file, edit_file, list_dir, glob_search, grep_search, tree). Use bash ONLY for non-file commands (npm, git, etc).
|
|
252
260
|
2. Always respond in the user's language (Russian or English). Do NOT mix languages in one response — pick ONE and stick with it.
|
|
@@ -280,14 +288,15 @@ const RULES_FAST = `Rules:
|
|
|
280
288
|
18. VITE PROJECTS: When creating a Vite project, create these files via SEPARATE subagent calls: package.json, vite.config.ts, tsconfig.json, index.html, src/main.tsx, src/App.tsx. NEVER skip index.html or vite.config.ts.
|
|
281
289
|
19. SUBAGENT CONTEXT: When calling subagent, pass existingFiles and use "Create ONLY" in task. Example: subagent({task:"Create ONLY X.ts with debounce function", existingFiles:"Y.ts"})
|
|
282
290
|
22. WEB TOOLS STRATEGY:
|
|
283
|
-
a. For
|
|
284
|
-
b.
|
|
285
|
-
c.
|
|
291
|
+
a. For scraping products/cards/items: use web_browse(action:"scrape") — ONE call does everything.
|
|
292
|
+
b. For any other URL: FIRST try web_fetch — it's fast and works for most sites (content is in the initial HTML).
|
|
293
|
+
c. If web_fetch returns empty or nonsense (JS-rendered page), switch to web_browse.
|
|
294
|
+
d. When using web_browse manually — 4-step pattern:
|
|
286
295
|
Step 1: navigate(url)
|
|
287
|
-
Step 2: discover → find REAL CSS selectors
|
|
288
|
-
Step 3: evaluate → extract data via JSON
|
|
296
|
+
Step 2: discover → find REAL CSS selectors
|
|
297
|
+
Step 3: evaluate → extract data via JSON
|
|
289
298
|
Step 4: write_file → save result
|
|
290
|
-
|
|
299
|
+
e. NEVER guess CSS selectors — always use discover or scrape first.`;
|
|
291
300
|
const POWERSHELL_EXAMPLES = `Examples (PowerShell):
|
|
292
301
|
<tool_call>{"name":"bash","arguments":{"cmd":"dir"}}</tool_call>
|
|
293
302
|
<tool_call>{"name":"bash","arguments":{"cmd":"Get-Content src\\\\index.ts"}}</tool_call>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAc,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGjD;;;;;;;;;;;;;;;;GAgBG;AAEH,yDAAyD;AACzD,yDAAyD;AACzD,MAAM,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-browse.d.ts","sourceRoot":"","sources":["../../src/tools/web-browse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"web-browse.d.ts","sourceRoot":"","sources":["../../src/tools/web-browse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAipB9C,eAAO,MAAM,mBAAmB,EAAE,cA4BjC,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,WAgF9B,CAAC"}
|
package/dist/tools/web-browse.js
CHANGED
|
@@ -77,6 +77,172 @@ async function checkIdle() {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
// ─── Actions ─────────────────────────────────────────────
|
|
80
|
+
/**
|
|
81
|
+
* Универсальный scrape: navigate + auto-scroll + discover + извлечение данных.
|
|
82
|
+
* Одним вызовом代替ует 4-шаговый паттерн (navigate → discover → evaluate → write_file).
|
|
83
|
+
*
|
|
84
|
+
* Алгоритм:
|
|
85
|
+
* 1. Navigate (если страница не активна)
|
|
86
|
+
* 2. Auto-scroll для lazy-контента
|
|
87
|
+
* 3. Discover — найти элементы по паттерну классов
|
|
88
|
+
* 4. Извлечь данные из каждого элемента (текст, ссылки, дочерние элементы)
|
|
89
|
+
* 5. Вернуть структурированный JSON
|
|
90
|
+
*/
|
|
91
|
+
async function actionScrape(page, args) {
|
|
92
|
+
const url = String(args.url ?? '').trim();
|
|
93
|
+
const pattern = String(args.pattern ?? 'product|card|item|goods|bike|velosiped').trim();
|
|
94
|
+
const maxItems = Math.min(Number(args.maxItems) || 10, 50);
|
|
95
|
+
const extractFields = String(args.fields ?? '').trim(); // e.g. "title,price,href"
|
|
96
|
+
// Шаг 1: Navigate (если нет активной страницы или указан URL)
|
|
97
|
+
if (url) {
|
|
98
|
+
if (!url.startsWith('http://') && !url.startsWith('https://')) {
|
|
99
|
+
return 'Error: URL must start with http:// or https://';
|
|
100
|
+
}
|
|
101
|
+
const navResult = await actionNavigate(page, args);
|
|
102
|
+
if (navResult.startsWith('Error'))
|
|
103
|
+
return navResult;
|
|
104
|
+
}
|
|
105
|
+
if (!page || page.isClosed()) {
|
|
106
|
+
return 'Error: No active page. Provide a URL to navigate to.';
|
|
107
|
+
}
|
|
108
|
+
// Шаг 2: Auto-scroll (если не был сделан в navigate)
|
|
109
|
+
try {
|
|
110
|
+
const currentScroll = await page.evaluate(() => window.scrollY);
|
|
111
|
+
if (currentScroll === 0) {
|
|
112
|
+
// Navigate уже скроллил, но если мы здесь — скроллим ещё раз
|
|
113
|
+
let prevCount = await page.evaluate(() => document.querySelectorAll('*').length);
|
|
114
|
+
for (let i = 0; i < 5; i++) {
|
|
115
|
+
await page.evaluate(() => window.scrollBy(0, window.innerHeight));
|
|
116
|
+
await page.waitForLoadState('networkidle', { timeout: 5000 }).catch(() => { });
|
|
117
|
+
await page.waitForTimeout(1500);
|
|
118
|
+
const newCount = await page.evaluate(() => document.querySelectorAll('*').length);
|
|
119
|
+
if (newCount === prevCount)
|
|
120
|
+
break;
|
|
121
|
+
prevCount = newCount;
|
|
122
|
+
}
|
|
123
|
+
await page.evaluate(() => window.scrollTo(0, 0));
|
|
124
|
+
await page.waitForTimeout(500);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch { /* ignore */ }
|
|
128
|
+
// Шаг 3: Discover — найти элементы по паттерну
|
|
129
|
+
const patternRegex = new RegExp(pattern, 'i');
|
|
130
|
+
const scrapeResult = await page.evaluate(({ pat, max }) => {
|
|
131
|
+
const regex = new RegExp(pat, 'i');
|
|
132
|
+
// Собираем все элементы с классами
|
|
133
|
+
const allElements = Array.from(document.querySelectorAll('*'));
|
|
134
|
+
const candidates = [];
|
|
135
|
+
for (const el of allElements) {
|
|
136
|
+
if (!el.className || typeof el.className !== 'string')
|
|
137
|
+
continue;
|
|
138
|
+
const cls = el.className;
|
|
139
|
+
// Считаем совпадения паттерна в классах
|
|
140
|
+
const matches = cls.match(regex);
|
|
141
|
+
if (!matches)
|
|
142
|
+
continue;
|
|
143
|
+
// Оценка: количество совпадений + длина текста (продукты обычно имеют текст)
|
|
144
|
+
const text = (el.textContent ?? '').trim();
|
|
145
|
+
const score = matches.length * 10 + Math.min(text.length / 10, 20);
|
|
146
|
+
candidates.push({ el, score, className: cls });
|
|
147
|
+
}
|
|
148
|
+
// Сортируем по score, берём топ
|
|
149
|
+
candidates.sort((a, b) => b.score - a.score);
|
|
150
|
+
// Группируем похожие элементы (одинаковый тег + похожие классы)
|
|
151
|
+
const groups = [];
|
|
152
|
+
for (const c of candidates.slice(0, max * 3)) {
|
|
153
|
+
const tag = c.el.tagName;
|
|
154
|
+
const existing = groups.find(g => g.tag === tag && g.className === c.className);
|
|
155
|
+
if (existing) {
|
|
156
|
+
existing.count++;
|
|
157
|
+
existing.elements.push(c.el);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
groups.push({ tag, className: c.className, count: 1, elements: [c.el] });
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Берём группу с наибольшим количеством элементов (это карточки товаров)
|
|
164
|
+
groups.sort((a, b) => b.count - a.count);
|
|
165
|
+
const bestGroup = groups[0];
|
|
166
|
+
if (!bestGroup || bestGroup.count < 2) {
|
|
167
|
+
// Нет подходящих групп — возвращаем все кандидаты как есть
|
|
168
|
+
return {
|
|
169
|
+
found: false,
|
|
170
|
+
message: `No elements matching pattern "${pat}" found. Page classes: ${candidates.slice(0, 20).map(c => c.className).join(', ')}`,
|
|
171
|
+
items: [],
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
// Извлекаем данные из элементов лучшей группы
|
|
175
|
+
const items = bestGroup.elements.slice(0, max).map(el => {
|
|
176
|
+
const data = {};
|
|
177
|
+
// Текст элемента
|
|
178
|
+
const fullText = (el.textContent ?? '').trim().substring(0, 500);
|
|
179
|
+
data.text = fullText;
|
|
180
|
+
// Ссылки внутри элемента
|
|
181
|
+
const links = Array.from(el.querySelectorAll('a[href]'))
|
|
182
|
+
.filter((a) => a instanceof HTMLAnchorElement)
|
|
183
|
+
.map(a => ({ text: (a.textContent ?? '').trim().substring(0, 100), href: a.href }));
|
|
184
|
+
if (links.length > 0)
|
|
185
|
+
data.links = JSON.stringify(links);
|
|
186
|
+
// Изображения
|
|
187
|
+
const imgs = Array.from(el.querySelectorAll('img[src]'))
|
|
188
|
+
.map(img => img.src)
|
|
189
|
+
.slice(0, 3);
|
|
190
|
+
if (imgs.length > 0)
|
|
191
|
+
data.images = JSON.stringify(imgs);
|
|
192
|
+
// Дочерние элементы с有意义ными классами
|
|
193
|
+
const children = Array.from(el.querySelectorAll('[class]'))
|
|
194
|
+
.filter(c => c !== el && c.className && typeof c.className === 'string')
|
|
195
|
+
.slice(0, 10)
|
|
196
|
+
.map(c => ({
|
|
197
|
+
tag: c.tagName,
|
|
198
|
+
class: c.className.substring(0, 60),
|
|
199
|
+
text: (c.textContent ?? '').trim().substring(0, 100),
|
|
200
|
+
}));
|
|
201
|
+
if (children.length > 0)
|
|
202
|
+
data.children = JSON.stringify(children);
|
|
203
|
+
return data;
|
|
204
|
+
});
|
|
205
|
+
return {
|
|
206
|
+
found: true,
|
|
207
|
+
groupTag: bestGroup.tag,
|
|
208
|
+
groupClass: bestGroup.className,
|
|
209
|
+
totalInGroup: bestGroup.count,
|
|
210
|
+
items,
|
|
211
|
+
};
|
|
212
|
+
}, { pat: pattern, max: maxItems });
|
|
213
|
+
if (!scrapeResult.found) {
|
|
214
|
+
return `Scrape: ${scrapeResult.message}\n\nTry a different pattern or use discover to see page structure.`;
|
|
215
|
+
}
|
|
216
|
+
// Форматируем вывод
|
|
217
|
+
let output = `Scrape results: ${scrapeResult.totalInGroup} items found (showing ${scrapeResult.items.length})\n`;
|
|
218
|
+
output += `Selector: <${scrapeResult.groupTag} class="${scrapeResult.groupClass}">\n\n`;
|
|
219
|
+
for (let i = 0; i < scrapeResult.items.length; i++) {
|
|
220
|
+
const item = scrapeResult.items[i];
|
|
221
|
+
output += `--- Item ${i + 1} ---\n`;
|
|
222
|
+
if (item.text)
|
|
223
|
+
output += `Text: ${item.text}\n`;
|
|
224
|
+
if (item.links) {
|
|
225
|
+
const links = JSON.parse(item.links);
|
|
226
|
+
for (const link of links) {
|
|
227
|
+
output += `Link: ${link.text} → ${link.href}\n`;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
if (item.images) {
|
|
231
|
+
const imgs = JSON.parse(item.images);
|
|
232
|
+
for (const img of imgs) {
|
|
233
|
+
output += `Image: ${img}\n`;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
if (item.children) {
|
|
237
|
+
const children = JSON.parse(item.children);
|
|
238
|
+
for (const child of children) {
|
|
239
|
+
output += ` <${child.tag} class="${child.class}"> ${child.text}\n`;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
output += '\n';
|
|
243
|
+
}
|
|
244
|
+
return output;
|
|
245
|
+
}
|
|
80
246
|
async function actionNavigate(page, args) {
|
|
81
247
|
const url = String(args.url ?? '').trim();
|
|
82
248
|
if (!url)
|
|
@@ -94,6 +260,38 @@ async function actionNavigate(page, args) {
|
|
|
94
260
|
await page.waitForLoadState('networkidle', { timeout: 8000 }).catch(() => { });
|
|
95
261
|
// Доп. ожидание для тяжёлых JS-страниц
|
|
96
262
|
await page.waitForTimeout(2000);
|
|
263
|
+
// Универсальный автоскролл: скроллим пока DOM стабилизируется
|
|
264
|
+
// (нет новых элементов после скролла) или до лимита (8 скроллов).
|
|
265
|
+
// Покрывает: lazy loading, infinite scroll, AJAX-каталоги.
|
|
266
|
+
try {
|
|
267
|
+
let prevCount = await page.evaluate(() => document.querySelectorAll('*').length);
|
|
268
|
+
const maxScrolls = 8;
|
|
269
|
+
let scrollsDone = 0;
|
|
270
|
+
for (let i = 0; i < maxScrolls; i++) {
|
|
271
|
+
// Скроллим вниз на высоту вьюпорта
|
|
272
|
+
await page.evaluate(() => window.scrollBy(0, window.innerHeight));
|
|
273
|
+
scrollsDone++;
|
|
274
|
+
// Ждём загрузки контента (networkidle + фиксированная пауза)
|
|
275
|
+
await page.waitForLoadState('networkidle', { timeout: 5000 }).catch(() => { });
|
|
276
|
+
await page.waitForTimeout(1500);
|
|
277
|
+
// Проверяем стабилизацию DOM
|
|
278
|
+
const newCount = await page.evaluate(() => document.querySelectorAll('*').length);
|
|
279
|
+
if (newCount === prevCount) {
|
|
280
|
+
// DOM стабилизировался — пробуем ещё раз для надёжности
|
|
281
|
+
await page.evaluate(() => window.scrollBy(0, window.innerHeight));
|
|
282
|
+
await page.waitForLoadState('networkidle', { timeout: 3000 }).catch(() => { });
|
|
283
|
+
await page.waitForTimeout(1000);
|
|
284
|
+
const finalCount = await page.evaluate(() => document.querySelectorAll('*').length);
|
|
285
|
+
if (finalCount === prevCount)
|
|
286
|
+
break; // Стабильно — выходим
|
|
287
|
+
}
|
|
288
|
+
prevCount = newCount;
|
|
289
|
+
}
|
|
290
|
+
// Вернуться наверх
|
|
291
|
+
await page.evaluate(() => window.scrollTo(0, 0));
|
|
292
|
+
await page.waitForTimeout(500);
|
|
293
|
+
}
|
|
294
|
+
catch { /* ignore — scroll is best-effort */ }
|
|
97
295
|
const status = response?.status() ?? 0;
|
|
98
296
|
const title = await page.title();
|
|
99
297
|
const finalUrl = page.url();
|
|
@@ -413,7 +611,7 @@ export const webBrowseDefinition = {
|
|
|
413
611
|
properties: {
|
|
414
612
|
action: {
|
|
415
613
|
type: 'string',
|
|
416
|
-
enum: ['navigate', 'click', 'type', 'extract', 'screenshot', 'scroll', 'wait', 'get_links', 'evaluate', 'discover', 'close'],
|
|
614
|
+
enum: ['navigate', 'click', 'type', 'extract', 'screenshot', 'scroll', 'wait', 'get_links', 'evaluate', 'discover', 'scrape', 'close'],
|
|
417
615
|
description: 'Action to perform on the page',
|
|
418
616
|
},
|
|
419
617
|
url: { type: 'string', description: 'URL to navigate to (for navigate action)' },
|
|
@@ -424,6 +622,9 @@ export const webBrowseDefinition = {
|
|
|
424
622
|
maxChars: { type: 'number', description: 'Max characters to extract (default: 10000)' },
|
|
425
623
|
timeout: { type: 'number', description: 'Timeout in ms for wait action (default: 5000)' },
|
|
426
624
|
condition: { type: 'string', description: 'JS expression to wait for (e.g. "document.querySelectorAll(\\\'.item\\\').length > 0") — for wait action only' },
|
|
625
|
+
pattern: { type: 'string', description: 'Regex pattern to match element classes (for scrape, default: "product|card|item|goods")' },
|
|
626
|
+
maxItems: { type: 'number', description: 'Max items to scrape (default: 10, max: 50)' },
|
|
627
|
+
fields: { type: 'string', description: 'Comma-separated fields to extract (for scrape, e.g. "title,price,href")' },
|
|
427
628
|
},
|
|
428
629
|
required: ['action'],
|
|
429
630
|
},
|
|
@@ -460,6 +661,17 @@ export const webBrowseHandler = {
|
|
|
460
661
|
const result = await actionNavigate(page, args);
|
|
461
662
|
return { stdout: result, stderr: '', exitCode: 0, truncated: false };
|
|
462
663
|
}
|
|
664
|
+
// Scrape тоже может навигировать сам (если указан URL)
|
|
665
|
+
if (action === 'scrape') {
|
|
666
|
+
const url = String(args.url ?? '').trim();
|
|
667
|
+
if (url && !url.startsWith('http://') && !url.startsWith('https://')) {
|
|
668
|
+
return { stdout: '', stderr: 'URL must start with http:// or https://', exitCode: 1, truncated: false };
|
|
669
|
+
}
|
|
670
|
+
const page = await ensureBrowser();
|
|
671
|
+
const result = await actionScrape(page, args);
|
|
672
|
+
const exitCode = result.startsWith('Error') ? 1 : 0;
|
|
673
|
+
return { stdout: result, stderr: '', exitCode, truncated: false };
|
|
674
|
+
}
|
|
463
675
|
// Все остальные action'ы требуют активную страницу
|
|
464
676
|
if (!state.page || state.page.isClosed()) {
|
|
465
677
|
return {
|
|
@@ -498,6 +710,9 @@ export const webBrowseHandler = {
|
|
|
498
710
|
case 'evaluate':
|
|
499
711
|
result = await actionEvaluate(state.page, args);
|
|
500
712
|
break;
|
|
713
|
+
case 'scrape':
|
|
714
|
+
result = await actionScrape(state.page, args);
|
|
715
|
+
break;
|
|
501
716
|
default:
|
|
502
717
|
return { stdout: '', stderr: `Unknown action: ${action}`, exitCode: 1, truncated: false };
|
|
503
718
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-browse.js","sourceRoot":"","sources":["../../src/tools/web-browse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web-browse.js","sourceRoot":"","sources":["../../src/tools/web-browse.ts"],"names":[],"mappings":"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"}
|