@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 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(` One board on this account: ${seen[0].name}.`);
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;
@@ -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,gCAAgC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,4FAA4F;IAC5F,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,GAAG,CAAC,sDAAsD,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,8FAA8F;IAC9F,sCAAsC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,oCAAoC,EACpC,GAAG,IAAI,CAAC,MAAM,mBAAmB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAClF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,EAAE,EAAE,CAAC,CAAC,GAAG;QACT,KAAK,EAAE,CAAC,CAAC,IAAI;QACb,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;KACnG,CAAC,CAAC,EACH,OAAO,CACR,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,8FAA8F;IAC9F,6CAA6C;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAyB,EAAE,KAA4B;IAChF,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAyB;IAChD,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AACvD,CAAC;AAID;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnF,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACnG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,SAAS;QAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,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 cheap:
9
+ * Four decisions make it work:
10
10
  *
11
- * · The page is read as an ACCESSIBILITY SNAPSHOT, not as the DOM. Playwright emits a compact
12
- * tree of roles and names — the same thing a screen reader would say — which is a fraction of
13
- * the tokens and, more importantly, is what a person would describe. Nothing here traverses
14
- * the DOM; that work was already done properly upstream.
15
- * · Elements are addressed by ROLE AND NAME, never by selector. `button "Save"` is stable across
16
- * a rewrite of the markup, and an agent can read it out of the snapshot it was just given.
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
- 'mcp__browser__fill',
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
- /** How much of a snapshot is worth sending. A page that needs more than this needs narrowing. */
44
- const SNAPSHOT_CAP = 6000;
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
- /** The snapshot, trimmed. Everything an agent needs to act is a role and a name. */
260
- const describe = async (page) => {
261
- let tree = '';
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
- tree = await page.locator('body').ariaSnapshot({ timeout: 5000 });
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 read the page: ${e instanceof Error ? e.message : String(e)})`;
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(`${wallBrief(wall, url)}\n\nWhat is on it:\n${await describe(page)}`);
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' : ''}.\n\n` +
395
- `${await describe(page)}\n` +
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', 'What is on the page now. Use after an action to see what changed.', {}, async () => {
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. An agent that walked into a wall between two clicks would
404
- // otherwise carry on reading a login form as though it were the app.
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 something by what it IS, as the page describes it — a role and its name, taken ' +
410
- 'from the snapshot you were given. Never a CSS selector.', {
411
- role: z.string().describe('The role, e.g. "button", "link", "checkbox".'),
412
- name: z.string().describe('Its accessible name, e.g. "Save", exactly as the snapshot shows it.'),
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 { role, name } = args;
415
- const { page } = needPage();
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.getByRole(role, { name, exact: false }).first().click({ timeout: 10_000 });
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 ${role} "${name}": ${e instanceof Error ? e.message.split('\n')[0] : String(e)}\n\n` +
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
- await page.waitForLoadState('domcontentloaded', { timeout: 10_000 }).catch(() => { });
424
- // What a click DID is usually drawn after the navigation settles, not with it.
425
- await settle(page);
426
- return say(`Clicked ${role} "${name}".\n\n${await describe(page)}`);
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('fill', 'Type into a field, named the way the page describes it.', {
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 { name, text } = args;
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
- await page.getByLabel(name, { exact: false }).first().fill(text, { timeout: 10_000 });
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
- try {
439
- await page.getByRole('textbox', { name, exact: false }).first().fill(text, { timeout: 10_000 });
440
- }
441
- catch (e) {
442
- return say(`Could not fill "${name}": ${e instanceof Error ? e.message.split('\n')[0] : String(e)}\n\n` +
443
- `What is actually on the page:\n${await describe(page)}`, true);
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) => {
@@ -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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"}
@@ -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\`, \`fill\`, ` +
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} It gives you the page as a list of ` +
655
- `what is on it, by role and name; click and fill take those same names, so you never write a ` +
656
- `selector.\n\n` +
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. ` +