@onepointfour-packs/flaredeck-agent 0.2.74 → 0.2.76
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/dist/boards.js +3 -1
- package/dist/boards.js.map +1 -1
- package/dist/browser.d.ts +8 -0
- package/dist/browser.js +182 -57
- package/dist/browser.js.map +1 -1
- package/dist/environment.js +7 -5
- package/dist/environment.js.map +1 -1
- package/dist/githubauth.d.ts +4 -0
- package/dist/githubauth.js +4 -0
- package/dist/githubauth.js.map +1 -1
- package/dist/intake.d.ts +5 -0
- package/dist/intake.js +3 -0
- package/dist/intake.js.map +1 -1
- package/dist/jam.d.ts +7 -0
- package/dist/jam.js +10 -0
- package/dist/jam.js.map +1 -1
- package/dist/main.js +13 -7
- package/dist/main.js.map +1 -1
- package/dist/pointer.d.ts +44 -0
- package/dist/pointer.js +119 -0
- package/dist/pointer.js.map +1 -0
- package/dist/relaunch.d.ts +7 -0
- package/dist/relaunch.js +15 -0
- package/dist/relaunch.js.map +1 -1
- package/dist/sandbox.js +6 -1
- package/dist/sandbox.js.map +1 -1
- package/dist/serve.d.ts +2 -0
- package/dist/serve.js +18 -0
- package/dist/serve.js.map +1 -1
- package/dist/worktree.d.ts +2 -0
- package/dist/worktree.js +8 -2
- package/dist/worktree.js.map +1 -1
- package/package.json +1 -1
package/dist/boards.js
CHANGED
|
@@ -55,8 +55,10 @@ list, say, already) {
|
|
|
55
55
|
return null;
|
|
56
56
|
}
|
|
57
57
|
if (seen.length < 2) {
|
|
58
|
+
// Matches the summary's "every board on this account": nothing is narrowed, so a board added
|
|
59
|
+
// later is worked too. It said "one board: X" and the summary then said "every board".
|
|
58
60
|
if (seen.length === 1)
|
|
59
|
-
say(`
|
|
61
|
+
say(` Only ${seen[0].name} so far, so nothing to choose: this agent works every board on the account, including ones added later.`);
|
|
60
62
|
return null;
|
|
61
63
|
}
|
|
62
64
|
const prior = already?.length ? new Set(already.map((b) => b.key)) : null;
|
package/dist/boards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boards.js","sourceRoot":"","sources":["../src/boards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,yBAAyB;IACzB,uFAAuF;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;AAC7B;;;;GAIG;AACH,IAA2B,EAC3B,GAAwB,EACxB,OAAkD;IAElD,IAAI,IAAI,GAAgB,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,4BAA4B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACpH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"boards.js","sourceRoot":"","sources":["../src/boards.ts"],"names":[],"mappings":"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"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { type SavedSession } from './session.js';
|
|
2
2
|
import type { EnvContract } from './environment.js';
|
|
3
3
|
export declare const BROWSER_TOOL_NAMES: string[];
|
|
4
|
+
/**
|
|
5
|
+
* The screen the agent sees. Fixed, and under the ~1568px edge a vision model downsamples to, so
|
|
6
|
+
* a point in the picture IS a point on the page: no scaling for the agent to get wrong.
|
|
7
|
+
*/
|
|
8
|
+
export declare const VIEWPORT: {
|
|
9
|
+
readonly width: 1280;
|
|
10
|
+
readonly height: 800;
|
|
11
|
+
};
|
|
4
12
|
/**
|
|
5
13
|
* Keep a session a person just signed in with, where the browser tools will find it: FlareDeck.
|
|
6
14
|
*
|
package/dist/browser.js
CHANGED
|
@@ -6,14 +6,18 @@
|
|
|
6
6
|
* one: installing something, finding a port, writing selectors against markup nobody wrote, and
|
|
7
7
|
* paying for a page of HTML on every look.
|
|
8
8
|
*
|
|
9
|
-
* Four decisions make it
|
|
9
|
+
* Four decisions make it work:
|
|
10
10
|
*
|
|
11
|
-
* · The
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
11
|
+
* · The agent SEES the page, as a screenshot, and acts on it with a pointer and a keyboard —
|
|
12
|
+
* exactly what a person has. It used to be handed an accessibility snapshot (roles and names)
|
|
13
|
+
* and to click by name, which is cheap and wrong in the way that matters for testing: it acts
|
|
14
|
+
* on things a person cannot see (a hidden control, text under an overlay, a button off the
|
|
15
|
+
* side) and cannot see what a person can (a canvas chart, a drag target, a field drawn in the
|
|
16
|
+
* wrong place). Measured in Sceneflo on 27 tasks: the snapshot completed 8 and filed 9 false
|
|
17
|
+
* "broken" findings; the screenshot completed 26 and filed none. See pointer.ts.
|
|
18
|
+
* · Every pointer action says what it HIT, by role and name — `clicked button "Save"` — and the
|
|
19
|
+
* next picture carries a ring where it landed. A coordinate on its own hides the click that
|
|
20
|
+
* missed; this makes it the first thing the agent sees.
|
|
17
21
|
* · What a session learns is written down and handed to the next one, keyed by the part of the
|
|
18
22
|
* PROJECT rather than by URL. Every worktree runs on a different port, so a URL-keyed memory
|
|
19
23
|
* is empty on every card; a given repo's `ui` is the same place on Tuesday as it was on Monday.
|
|
@@ -26,6 +30,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
26
30
|
import { captureSession, contextFor, restoreIndexedDb } from './session.js';
|
|
27
31
|
import { settle } from './settle.js';
|
|
28
32
|
import { signInWall, wallBrief } from './wall.js';
|
|
33
|
+
import { chooseAt, hitAt, optionsAt, said, withMark } from './pointer.js';
|
|
29
34
|
import { dirname, join } from 'node:path';
|
|
30
35
|
import { z } from 'zod';
|
|
31
36
|
import { tool } from '@anthropic-ai/claude-agent-sdk';
|
|
@@ -36,12 +41,20 @@ export const BROWSER_TOOL_NAMES = [
|
|
|
36
41
|
'mcp__browser__open_page',
|
|
37
42
|
'mcp__browser__look',
|
|
38
43
|
'mcp__browser__click',
|
|
39
|
-
'
|
|
44
|
+
'mcp__browser__type',
|
|
45
|
+
'mcp__browser__press_key',
|
|
46
|
+
'mcp__browser__scroll',
|
|
47
|
+
'mcp__browser__drag',
|
|
48
|
+
'mcp__browser__choose',
|
|
49
|
+
'mcp__browser__zoom',
|
|
40
50
|
'mcp__browser__screenshot',
|
|
41
51
|
'mcp__browser__remember',
|
|
42
52
|
];
|
|
43
|
-
/**
|
|
44
|
-
|
|
53
|
+
/**
|
|
54
|
+
* The screen the agent sees. Fixed, and under the ~1568px edge a vision model downsamples to, so
|
|
55
|
+
* a point in the picture IS a point on the page: no scaling for the agent to get wrong.
|
|
56
|
+
*/
|
|
57
|
+
export const VIEWPORT = { width: 1280, height: 800 };
|
|
45
58
|
const memoryDir = () => {
|
|
46
59
|
const d = join(configDir(), 'browser');
|
|
47
60
|
try {
|
|
@@ -252,23 +265,41 @@ export function browserTools(deps) {
|
|
|
252
265
|
catch { /* going away anyway */ }
|
|
253
266
|
live = null;
|
|
254
267
|
};
|
|
255
|
-
const say = (text, isError = false) => ({
|
|
256
|
-
content: [{ type: 'text', text }],
|
|
268
|
+
const say = (text, isError = false, more = []) => ({
|
|
269
|
+
content: [{ type: 'text', text }, ...more],
|
|
257
270
|
...(isError ? { isError: true } : {}),
|
|
258
271
|
});
|
|
259
|
-
/**
|
|
260
|
-
|
|
261
|
-
|
|
272
|
+
/**
|
|
273
|
+
* What is on the screen, as a picture — the viewport only, because a point in it must be a point
|
|
274
|
+
* on the page. Anything further down is off the screen for a person too, and needs a scroll.
|
|
275
|
+
* JPEG, because a page photographs far smaller that way and a vision model reads it the same.
|
|
276
|
+
*/
|
|
277
|
+
const screen = async (page) => {
|
|
262
278
|
try {
|
|
263
|
-
|
|
279
|
+
const shot = await withMark(page, live && live.page === page ? live.last : undefined, () => page.screenshot({ type: 'jpeg', quality: 75, animations: 'disabled', timeout: 10_000 }));
|
|
280
|
+
return [{ type: 'image', data: shot.toString('base64'), mimeType: 'image/jpeg' }];
|
|
264
281
|
}
|
|
265
282
|
catch (e) {
|
|
266
|
-
return `(could not
|
|
283
|
+
return [{ type: 'text', text: `(could not photograph the page: ${e instanceof Error ? e.message : String(e)})` }];
|
|
267
284
|
}
|
|
268
|
-
return tree.length > SNAPSHOT_CAP
|
|
269
|
-
? `${tree.slice(0, SNAPSHOT_CAP)}\n… (trimmed — narrow what you are looking at)`
|
|
270
|
-
: tree;
|
|
271
285
|
};
|
|
286
|
+
/** A sign-in wall reads, from inside a picture, like any other page. It is said in words. */
|
|
287
|
+
const wallNote = async (page) => {
|
|
288
|
+
const wall = await signInWall(page);
|
|
289
|
+
return wall.wall ? `${wallBrief(wall, page.url())}\n\n` : '';
|
|
290
|
+
};
|
|
291
|
+
/** After an action: let the page react, then show it. */
|
|
292
|
+
const after = async (page, text) => {
|
|
293
|
+
await page.waitForLoadState('domcontentloaded', { timeout: 10_000 }).catch(() => { });
|
|
294
|
+
await settle(page);
|
|
295
|
+
return say(`${await wallNote(page)}${text}\nNow at ${page.url()}.`, false, await screen(page));
|
|
296
|
+
};
|
|
297
|
+
/** Coordinates the agent gave, held inside the screen it was shown. */
|
|
298
|
+
const point = (x, y) => ({
|
|
299
|
+
x: Math.max(0, Math.min(VIEWPORT.width - 1, Math.round(x))),
|
|
300
|
+
y: Math.max(0, Math.min(VIEWPORT.height - 1, Math.round(y))),
|
|
301
|
+
});
|
|
302
|
+
const fail = (e) => (e instanceof Error ? e.message.split('\n')[0] : String(e));
|
|
272
303
|
const needPage = () => {
|
|
273
304
|
if (!live)
|
|
274
305
|
throw new Error('No page is open. Call open_page first.');
|
|
@@ -359,7 +390,7 @@ export function browserTools(deps) {
|
|
|
359
390
|
`FlareDeck is reachable.`, true);
|
|
360
391
|
}
|
|
361
392
|
const stored = got.value;
|
|
362
|
-
const context = await contextFor(browser, stored);
|
|
393
|
+
const context = await contextFor(browser, stored, { viewport: VIEWPORT });
|
|
363
394
|
const page = await context.newPage();
|
|
364
395
|
const url = `${base.replace(/\/+$/, '')}${path ? (path.startsWith('/') ? path : `/${path}`) : ''}`;
|
|
365
396
|
try {
|
|
@@ -389,61 +420,155 @@ export function browserTools(deps) {
|
|
|
389
420
|
const wall = await signInWall(page);
|
|
390
421
|
if (wall.wall) {
|
|
391
422
|
deps.onNote(`browser: ${url} is a sign-in wall (${wall.how})`);
|
|
392
|
-
return say(
|
|
423
|
+
return say(wallBrief(wall, url), false, await screen(page));
|
|
393
424
|
}
|
|
394
|
-
return say(`Open at ${url}${stored ? ', already signed in from an earlier session' : ''}
|
|
395
|
-
|
|
425
|
+
return say(`Open at ${url}${stored ? ', already signed in from an earlier session' : ''}. ` +
|
|
426
|
+
`This is the screen, ${VIEWPORT.width}x${VIEWPORT.height}; point at things by their ` +
|
|
427
|
+
`pixel position in it.\n` +
|
|
396
428
|
(learned ? `\nWhat earlier sessions learned about ${site}:\n${learned}\n` : '') +
|
|
397
|
-
(!stored && creds ? `\nSign-ins this project published:\n${creds}\n` : ''));
|
|
429
|
+
(!stored && creds ? `\nSign-ins this project published:\n${creds}\n` : ''), false, await screen(page));
|
|
398
430
|
}),
|
|
399
|
-
tool('look', '
|
|
431
|
+
tool('look', 'The screen as it is now. Actions already return a fresh picture, so use this when the ' +
|
|
432
|
+
'page may have changed by itself — something loading, a timer, a toast.', {}, async () => {
|
|
400
433
|
const { page } = needPage();
|
|
401
434
|
await settle(page);
|
|
402
435
|
// A session can die mid-turn as easily as before it — a revoked token, an expiry, a
|
|
403
|
-
// sign-out elsewhere.
|
|
404
|
-
|
|
405
|
-
const wall = await signInWall(page);
|
|
406
|
-
const seen = await describe(page);
|
|
407
|
-
return say(wall.wall ? `${wallBrief(wall, page.url())}\n\nWhat is on it:\n${seen}` : seen);
|
|
436
|
+
// sign-out elsewhere. Said in words, since a login form is just another picture.
|
|
437
|
+
return say(`${await wallNote(page)}At ${page.url()}.`, false, await screen(page));
|
|
408
438
|
}),
|
|
409
|
-
tool('click', 'Click
|
|
410
|
-
'
|
|
411
|
-
|
|
412
|
-
|
|
439
|
+
tool('click', 'Click a point on the screen, in pixels of the picture you were shown (top-left is 0,0). ' +
|
|
440
|
+
'You are told what the click HIT — check it is what you meant; a ring marks where it ' +
|
|
441
|
+
'landed in the next picture. Click a field before typing into it.', {
|
|
442
|
+
x: z.number().describe('Pixels from the left of the screenshot.'),
|
|
443
|
+
y: z.number().describe('Pixels from the top of the screenshot.'),
|
|
444
|
+
button: z.enum(['left', 'right']).optional(),
|
|
445
|
+
double: z.boolean().optional().describe('A double-click.'),
|
|
413
446
|
}, async (args) => {
|
|
414
|
-
const
|
|
415
|
-
const
|
|
447
|
+
const a = args;
|
|
448
|
+
const l = needPage();
|
|
449
|
+
const { page } = l;
|
|
450
|
+
const p = point(a.x, a.y);
|
|
451
|
+
l.last = p;
|
|
452
|
+
const hit = await hitAt(page, p.x, p.y);
|
|
416
453
|
try {
|
|
417
|
-
await page.
|
|
454
|
+
await page.mouse.click(p.x, p.y, { button: a.button ?? 'left', clickCount: a.double ? 2 : 1 });
|
|
418
455
|
}
|
|
419
456
|
catch (e) {
|
|
420
|
-
return say(`Could not click ${
|
|
421
|
-
`What is actually on the page:\n${await describe(page)}`, true);
|
|
457
|
+
return say(`Could not click at (${p.x}, ${p.y}): ${fail(e)}`, true, await screen(page));
|
|
422
458
|
}
|
|
423
|
-
|
|
424
|
-
//
|
|
425
|
-
|
|
426
|
-
|
|
459
|
+
// A native dropdown's list is drawn by the operating system, never into the page, so no
|
|
460
|
+
// screenshot will ever show it open. Its options are read out instead.
|
|
461
|
+
if (hit?.select) {
|
|
462
|
+
const opts = await optionsAt(page, p.x, p.y);
|
|
463
|
+
return say(`Clicked ${said(hit, p.x, p.y)}. It is a native dropdown; its list does not show in a ` +
|
|
464
|
+
`screenshot. Options: ${opts.map((o) => `"${o}"`).join(', ')}. Pick one with choose.`, false, await screen(page));
|
|
465
|
+
}
|
|
466
|
+
return after(page, `Clicked ${said(hit, p.x, p.y)}.`);
|
|
427
467
|
}),
|
|
428
|
-
tool('
|
|
429
|
-
name: z.string().describe('The field\'s label or accessible name.'),
|
|
468
|
+
tool('type', 'Type text with the keyboard into whatever has focus — click the field first.', {
|
|
430
469
|
text: z.string().describe('What to type.'),
|
|
470
|
+
press_enter: z.boolean().optional().describe('Press Enter afterwards.'),
|
|
471
|
+
replace: z.boolean().optional().describe('Select what is already in the field first, so this replaces it.'),
|
|
431
472
|
}, async (args) => {
|
|
432
|
-
const
|
|
473
|
+
const a = args;
|
|
433
474
|
const { page } = needPage();
|
|
475
|
+
const into = await page.evaluate(() => {
|
|
476
|
+
const e = globalThis.document?.activeElement;
|
|
477
|
+
if (!e || e.tagName === 'BODY')
|
|
478
|
+
return '';
|
|
479
|
+
return e.getAttribute('aria-label') || e.labels?.[0]?.innerText?.trim() || e.placeholder || e.name || e.tagName.toLowerCase();
|
|
480
|
+
}).catch(() => '');
|
|
481
|
+
if (!into) {
|
|
482
|
+
return say('Nothing has focus, so there is nowhere for the text to go. Click the field first.', true, await screen(page));
|
|
483
|
+
}
|
|
434
484
|
try {
|
|
435
|
-
|
|
485
|
+
if (a.replace)
|
|
486
|
+
await page.keyboard.press('ControlOrMeta+A');
|
|
487
|
+
await page.keyboard.type(a.text, { delay: 12 });
|
|
488
|
+
if (a.press_enter)
|
|
489
|
+
await page.keyboard.press('Enter');
|
|
436
490
|
}
|
|
437
|
-
catch {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
491
|
+
catch (e) {
|
|
492
|
+
return say(`Could not type: ${fail(e)}`, true, await screen(page));
|
|
493
|
+
}
|
|
494
|
+
return after(page, `Typed into "${into}"${a.press_enter ? ' and pressed Enter' : ''}.`);
|
|
495
|
+
}),
|
|
496
|
+
tool('press_key', 'Press a key or a combination, e.g. "Enter", "Escape", "Tab", "ArrowDown", "Control+A".', { key: z.string() }, async (args) => {
|
|
497
|
+
const { key } = args;
|
|
498
|
+
const { page } = needPage();
|
|
499
|
+
try {
|
|
500
|
+
await page.keyboard.press(key);
|
|
501
|
+
}
|
|
502
|
+
catch (e) {
|
|
503
|
+
return say(`Could not press ${key}: ${fail(e)}`, true, await screen(page));
|
|
504
|
+
}
|
|
505
|
+
return after(page, `Pressed ${key}.`);
|
|
506
|
+
}),
|
|
507
|
+
tool('scroll', 'Scroll with the pointer over the part of the screen that should move — a panel or list ' +
|
|
508
|
+
'scrolls on its own, not with the page. The picture shows only what is on the screen.', {
|
|
509
|
+
x: z.number().describe('Where the pointer sits while scrolling.'),
|
|
510
|
+
y: z.number(),
|
|
511
|
+
direction: z.enum(['down', 'up', 'left', 'right']),
|
|
512
|
+
amount: z.number().optional().describe('Pixels; default 500.'),
|
|
513
|
+
}, async (args) => {
|
|
514
|
+
const a = args;
|
|
515
|
+
const { page } = needPage();
|
|
516
|
+
const p = point(a.x, a.y), m = a.amount ?? 500;
|
|
517
|
+
const d = a.direction === 'up' ? [0, -m] : a.direction === 'left' ? [-m, 0] : a.direction === 'right' ? [m, 0] : [0, m];
|
|
518
|
+
await page.mouse.move(p.x, p.y);
|
|
519
|
+
await page.mouse.wheel(d[0], d[1]);
|
|
520
|
+
return after(page, `Scrolled ${a.direction} over ${said(await hitAt(page, p.x, p.y), p.x, p.y)}.`);
|
|
521
|
+
}),
|
|
522
|
+
tool('drag', 'Press at one point, move to another and let go — for sliders, reordering, drag-and-drop. ' +
|
|
523
|
+
'If something can ONLY be done by dragging, a keyboard user cannot do it: say so.', { from_x: z.number(), from_y: z.number(), to_x: z.number(), to_y: z.number() }, async (args) => {
|
|
524
|
+
const a = args;
|
|
525
|
+
const l = needPage();
|
|
526
|
+
const { page } = l;
|
|
527
|
+
const s = point(a.from_x, a.from_y), e = point(a.to_x, a.to_y);
|
|
528
|
+
const from = await hitAt(page, s.x, s.y);
|
|
529
|
+
// In steps, because many drag libraries only start a drag once the pointer has MOVED.
|
|
530
|
+
await page.mouse.move(s.x, s.y);
|
|
531
|
+
await page.mouse.down();
|
|
532
|
+
for (let i = 1; i <= 12; i++)
|
|
533
|
+
await page.mouse.move(s.x + ((e.x - s.x) * i) / 12, s.y + ((e.y - s.y) * i) / 12);
|
|
534
|
+
await page.mouse.up();
|
|
535
|
+
l.last = e;
|
|
536
|
+
return after(page, `Dragged ${said(from, s.x, s.y)} to (${e.x}, ${e.y}).`);
|
|
537
|
+
}),
|
|
538
|
+
tool('choose', 'Pick an option in a native dropdown, by its visible text — after clicking the dropdown ' +
|
|
539
|
+
'told you its options. (A dropdown the page draws itself shows its list in the picture; ' +
|
|
540
|
+
'click the option there instead.)', { x: z.number().describe('The dropdown, as you clicked it.'), y: z.number(), option: z.string() }, async (args) => {
|
|
541
|
+
const a = args;
|
|
542
|
+
const { page } = needPage();
|
|
543
|
+
const p = point(a.x, a.y);
|
|
544
|
+
const hit = await hitAt(page, p.x, p.y);
|
|
545
|
+
if (!hit?.select)
|
|
546
|
+
return say(`There is no native dropdown at (${p.x}, ${p.y}); it hit ${said(hit, p.x, p.y)}.`, true, await screen(page));
|
|
547
|
+
if (!(await chooseAt(page, p.x, p.y, a.option))) {
|
|
548
|
+
const opts = await optionsAt(page, p.x, p.y);
|
|
549
|
+
return say(`"${a.option}" is not one of its options: ${opts.map((o) => `"${o}"`).join(', ')}.`, true, await screen(page));
|
|
550
|
+
}
|
|
551
|
+
return after(page, `Chose "${a.option}" in ${said(hit, p.x, p.y)}.`);
|
|
552
|
+
}),
|
|
553
|
+
tool('zoom', 'A close-up of part of the screen at twice the detail, for reading small print. If a ' +
|
|
554
|
+
'person would need to zoom to read it, that is worth saying on the card.', { x: z.number(), y: z.number(), width: z.number(), height: z.number() }, async (args) => {
|
|
555
|
+
const a = args;
|
|
556
|
+
const { page } = needPage();
|
|
557
|
+
const p = point(a.x, a.y), q = point(a.x + a.width, a.y + a.height);
|
|
558
|
+
const cdp = await page.context().newCDPSession(page);
|
|
559
|
+
try {
|
|
560
|
+
const r = await cdp.send('Page.captureScreenshot', {
|
|
561
|
+
format: 'jpeg', quality: 85,
|
|
562
|
+
clip: { x: p.x, y: p.y, width: Math.max(8, q.x - p.x), height: Math.max(8, q.y - p.y), scale: 2 },
|
|
563
|
+
});
|
|
564
|
+
return say(`Close-up of (${p.x}, ${p.y}) to (${q.x}, ${q.y}), at twice the size.`, false, [{ type: 'image', data: r.data, mimeType: 'image/jpeg' }]);
|
|
565
|
+
}
|
|
566
|
+
catch (e) {
|
|
567
|
+
return say(`Could not zoom: ${fail(e)}`, true);
|
|
568
|
+
}
|
|
569
|
+
finally {
|
|
570
|
+
await cdp.detach().catch(() => { });
|
|
445
571
|
}
|
|
446
|
-
return say(`Typed into "${name}".`);
|
|
447
572
|
}),
|
|
448
573
|
tool('screenshot', 'Take a picture of the page, saved in your checkout so you can attach it to the card. ' +
|
|
449
574
|
'Use this when a card asks for evidence of something visual.', { name: z.string().describe('A short file name, e.g. "region-one-person".') }, async (args) => {
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/environment.js
CHANGED
|
@@ -638,8 +638,8 @@ web) {
|
|
|
638
638
|
// Nothing to look at yet. Worth saying anyway: an agent told nothing assumes it has no eyes,
|
|
639
639
|
// and the one thing that would give it eyes is a file it is perfectly able to write.
|
|
640
640
|
if (!running.length && !deployed.length) {
|
|
641
|
-
return (`\n\nThis machine has a real browser — \`open_page\`, \`look\`, \`click\`, \`
|
|
642
|
-
`\`screenshot\` — and right now nothing to point it at: this project has no ` +
|
|
641
|
+
return (`\n\nThis machine has a real browser — \`open_page\`, \`look\`, \`click\`, \`type\`, ` +
|
|
642
|
+
`\`scroll\`, \`screenshot\` — and right now nothing to point it at: this project has no ` +
|
|
643
643
|
`${START_SCRIPT} and the board declared no deployed site.\n\n` +
|
|
644
644
|
`If the card needs to be SEEN, you can fix that yourself rather than report it. Write ` +
|
|
645
645
|
`${START_SCRIPT}: bring the project up on a free port, print \`name=url\` for each part it ` +
|
|
@@ -651,9 +651,11 @@ web) {
|
|
|
651
651
|
? `\`open_page\` takes the NAME of a part — \`${part}\` — not a port, because every worktree ` +
|
|
652
652
|
`runs on different ones.`
|
|
653
653
|
: `\`open_page\` takes the NAME of a site the board declared: ${deployed.map(([k]) => `\`${k}\``).join(', ')}.`;
|
|
654
|
-
return (`\n\nYou can look at this with a real browser. ${where}
|
|
655
|
-
`
|
|
656
|
-
`
|
|
654
|
+
return (`\n\nYou can look at this with a real browser. ${where} You see the screen as a picture and ` +
|
|
655
|
+
`act on it the way a person does — click a point, type, scroll, drag — and each action says ` +
|
|
656
|
+
`what it hit. Work only from what is on the screen: if something can be reached only by ` +
|
|
657
|
+
`zooming in, by keyboard because the mouse could not get to it, or not at all, a person ` +
|
|
658
|
+
`would hit that too, and it belongs on the card.\n\n` +
|
|
657
659
|
(deployed.length && running.length
|
|
658
660
|
? `Two different things are reachable, and they answer different questions. ` +
|
|
659
661
|
`\`${part}\` is YOUR code, with your change in it. ` +
|