@onepointfour-packs/flaredeck-agent 0.2.75 → 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.
@@ -0,0 +1,44 @@
1
+ /**
2
+ * What sits under a point on the page, in a person's words.
3
+ *
4
+ * The browser hands the agent a picture and takes a pointer back, so every action arrives as a
5
+ * coordinate. A coordinate is useless in a report — "clicked (412, 300)" says nothing to whoever
6
+ * reads the card — and it hides the one mistake that matters most: the click that landed beside
7
+ * the button. Naming what was actually hit ("clicked button "Save"") makes both visible.
8
+ *
9
+ * Ported from Sceneflo (BrowserAgent: src/capture/describe.ts + identity.ts), where the pixel
10
+ * driver it serves completed 26 of 27 measured tasks against 8 of 27 for reading the page as a
11
+ * role-and-name list, and filed no false "this is broken" findings against nine — because it acts
12
+ * only through what is on the screen, which is what a person does.
13
+ *
14
+ * The logic runs in the PAGE as source strings, eval'd there. A named inner function inside a
15
+ * `page.evaluate` is compiled with a `__name()` helper that does not exist in the page and throws;
16
+ * keeping it as text sidesteps that for good.
17
+ */
18
+ import type { Page } from 'playwright-core';
19
+ export type Hit = {
20
+ role: string;
21
+ name: string;
22
+ select: boolean;
23
+ };
24
+ /**
25
+ * The control under (x, y): climb from the exact hit to the nearest thing a person means to act on
26
+ * — a real control, else something styled to be clicked (pointer cursor, onclick, focusable).
27
+ * Null when nothing there can be acted on, which is itself worth telling the agent: it clicked
28
+ * text or empty space.
29
+ */
30
+ export declare function hitAt(page: Page, x: number, y: number): Promise<Hit | null>;
31
+ /** `button "Save"`, or what was there when it was not a control. */
32
+ export declare const said: (h: Hit | null, x: number, y: number) => string;
33
+ /** The options of the native dropdown at (x, y). Headless never draws the open list, so it is read. */
34
+ export declare function optionsAt(page: Page, x: number, y: number): Promise<string[]>;
35
+ /** Pick an option by its visible text in the native dropdown at (x, y), as choosing it would. */
36
+ export declare function chooseAt(page: Page, x: number, y: number, option: string): Promise<boolean>;
37
+ /**
38
+ * Draw a ring where the last pointer action landed, for the length of one screenshot. Without it a
39
+ * click that missed by twenty pixels looks exactly like a button that does nothing.
40
+ */
41
+ export declare function withMark<T>(page: Page, at: {
42
+ x: number;
43
+ y: number;
44
+ } | undefined, take: () => Promise<T>): Promise<T>;
@@ -0,0 +1,119 @@
1
+ /** (el) => string — the accessible-name precedence a screen reader would use, then a description. */
2
+ const NAME_FN_SRC = `(el) => {
3
+ const labelledBy = el.getAttribute('aria-labelledby');
4
+ const fromLabelledBy = labelledBy
5
+ ? labelledBy.split(/\\s+/).map((id) => document.getElementById(id)?.textContent ?? '').join(' ')
6
+ : '';
7
+ const isFormControl = el.tagName === 'INPUT' || el.tagName === 'SELECT' || el.tagName === 'TEXTAREA';
8
+ const fromLabel = el.labels && el.labels.length ? el.labels[0].textContent ?? '' : '';
9
+ const rendered = isFormControl ? '' : (el.innerText ?? el.textContent ?? '');
10
+ const row = el.closest('tr,[role="row"],li,[role="listitem"],[role="option"]');
11
+ const rowText = row ? (row.innerText ?? '').trim().replace(/\\s+/g, ' ').slice(0, 40) : '';
12
+ const img = el.querySelector('img[alt]');
13
+ const svg = el.querySelector('svg');
14
+ const svgTitle = svg ? svg.querySelector('title') : null;
15
+ const icon = (img ? img.getAttribute('alt') : '') ||
16
+ (svg ? (svg.getAttribute('aria-label') || (svgTitle ? svgTitle.textContent : '')) : '');
17
+ const synth = el.tagName === 'SELECT'
18
+ ? 'unnamed dropdown'
19
+ : isFormControl
20
+ ? 'unnamed ' + ((el.type || el.tagName).toLowerCase()) + ' field'
21
+ : rowText ? 'unnamed control in “' + rowText + '”' : 'unnamed control';
22
+ return (
23
+ fromLabelledBy || el.getAttribute('aria-label') || fromLabel || rendered || el.placeholder ||
24
+ el.getAttribute('title') || icon || synth
25
+ ).trim().replace(/\\s+/g, ' ').slice(0, 80);
26
+ }`;
27
+ /** (el) => string | null — the role a person would act on; null for text, images and layout. */
28
+ const ROLE_FN_SRC = `(el) => {
29
+ const explicit = el.getAttribute('role');
30
+ if (explicit) return explicit.trim().split(/\\s+/)[0];
31
+ const tag = el.tagName;
32
+ if (tag === 'A') return el.hasAttribute('href') ? 'link' : null;
33
+ if (tag === 'BUTTON' || tag === 'SUMMARY') return 'button';
34
+ if (tag === 'SELECT') return 'dropdown';
35
+ if (tag === 'TEXTAREA') return 'textbox';
36
+ if (tag === 'INPUT') {
37
+ const t = (el.getAttribute('type') || 'text').toLowerCase();
38
+ if (t === 'button' || t === 'submit' || t === 'reset' || t === 'image') return 'button';
39
+ if (t === 'checkbox' || t === 'radio') return t;
40
+ if (t === 'range') return 'slider';
41
+ if (t === 'hidden') return null;
42
+ return t === 'text' || t === 'email' || t === 'tel' || t === 'url' || t === 'password' || t === 'search' || t === 'number'
43
+ ? 'textbox' : t + ' field';
44
+ }
45
+ return null;
46
+ }`;
47
+ /**
48
+ * The control under (x, y): climb from the exact hit to the nearest thing a person means to act on
49
+ * — a real control, else something styled to be clicked (pointer cursor, onclick, focusable).
50
+ * Null when nothing there can be acted on, which is itself worth telling the agent: it clicked
51
+ * text or empty space.
52
+ */
53
+ export async function hitAt(page, x, y) {
54
+ return page.evaluate((a) => {
55
+ const nameOf = eval('(' + a.nameSrc + ')');
56
+ const roleOf = eval('(' + a.roleSrc + ')');
57
+ const el = document.elementFromPoint(a.x, a.y);
58
+ if (!el)
59
+ return null;
60
+ let informal = null;
61
+ let cur = el;
62
+ for (let depth = 0; cur && depth < 10 && cur.tagName !== 'BODY'; depth++, cur = cur.parentElement) {
63
+ const r = roleOf(cur);
64
+ if (r)
65
+ return { role: r, name: nameOf(cur), select: cur.tagName === 'SELECT' };
66
+ if (!informal) {
67
+ const s = getComputedStyle(cur);
68
+ if (s.cursor === 'pointer' || cur.hasAttribute('onclick') || cur.tabIndex >= 0)
69
+ informal = cur;
70
+ }
71
+ }
72
+ return informal ? { role: 'clickable', name: nameOf(informal), select: false } : null;
73
+ }, { x, y, nameSrc: NAME_FN_SRC, roleSrc: ROLE_FN_SRC }).catch(() => null);
74
+ }
75
+ /** `button "Save"`, or what was there when it was not a control. */
76
+ export const said = (h, x, y) => h ? `${h.role} "${h.name}"` : `(${x}, ${y}) — nothing a person could act on is there`;
77
+ /** The options of the native dropdown at (x, y). Headless never draws the open list, so it is read. */
78
+ export async function optionsAt(page, x, y) {
79
+ return page.evaluate((p) => {
80
+ const s = document.elementFromPoint(p.x, p.y)?.closest('select');
81
+ return s ? Array.from(s.options).map((o) => String(o.text).trim()) : [];
82
+ }, { x, y }).catch(() => []);
83
+ }
84
+ /** Pick an option by its visible text in the native dropdown at (x, y), as choosing it would. */
85
+ export async function chooseAt(page, x, y, option) {
86
+ return page.evaluate((a) => {
87
+ const s = document.elementFromPoint(a.x, a.y)?.closest('select');
88
+ const want = a.option.trim().toLowerCase();
89
+ const o = s && Array.from(s.options).find((x) => String(x.text).trim().toLowerCase() === want);
90
+ if (!s || !o)
91
+ return false;
92
+ s.value = o.value;
93
+ s.dispatchEvent(new Event('input', { bubbles: true }));
94
+ s.dispatchEvent(new Event('change', { bubbles: true }));
95
+ return true;
96
+ }, { x, y, option }).catch(() => false);
97
+ }
98
+ /**
99
+ * Draw a ring where the last pointer action landed, for the length of one screenshot. Without it a
100
+ * click that missed by twenty pixels looks exactly like a button that does nothing.
101
+ */
102
+ export async function withMark(page, at, take) {
103
+ if (!at)
104
+ return take();
105
+ await page.evaluate((p) => {
106
+ const c = document.createElement('div');
107
+ c.id = '__fd_pointer';
108
+ c.style.cssText = `position:fixed;left:${p.x - 11}px;top:${p.y - 11}px;width:22px;height:22px;` +
109
+ 'border:3px solid #e11d48;border-radius:50%;pointer-events:none;z-index:2147483647;box-sizing:border-box';
110
+ document.documentElement.appendChild(c);
111
+ }, at).catch(() => { });
112
+ try {
113
+ return await take();
114
+ }
115
+ finally {
116
+ await page.evaluate(() => document.getElementById('__fd_pointer')?.remove()).catch(() => { });
117
+ }
118
+ }
119
+ //# sourceMappingURL=pointer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointer.js","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,10 @@
10
10
  * the pid you can see still stops the agent.
11
11
  */
12
12
  export declare function runChild(execPath: string, args: string[], env: NodeJS.ProcessEnv): Promise<number>;
13
+ /**
14
+ * Started straight from an SSH login, with nothing to keep it alive when the connection drops.
15
+ * The connection going takes the agent with it at once — no handover, no "stopped" — and its
16
+ * cards sit assigned to an agent that is gone. JARVIS and HAL both went that way on 12 Oct when
17
+ * their SSH sessions dropped; TARS, in tmux on the same kind of box, carried on.
18
+ */
19
+ export declare function diesWithSsh(env: NodeJS.ProcessEnv): string | null;
package/dist/relaunch.js CHANGED
@@ -29,4 +29,19 @@ export function runChild(execPath, args, env) {
29
29
  });
30
30
  });
31
31
  }
32
+ /**
33
+ * Started straight from an SSH login, with nothing to keep it alive when the connection drops.
34
+ * The connection going takes the agent with it at once — no handover, no "stopped" — and its
35
+ * cards sit assigned to an agent that is gone. JARVIS and HAL both went that way on 12 Oct when
36
+ * their SSH sessions dropped; TARS, in tmux on the same kind of box, carried on.
37
+ */
38
+ export function diesWithSsh(env) {
39
+ if (!env['SSH_CONNECTION'] && !env['SSH_TTY'])
40
+ return null;
41
+ if (env['TMUX'] || env['STY'] || env['ZELLIJ'] || env['FLAREDECK_AGENT_DETACHED'])
42
+ return null;
43
+ return 'this agent runs straight in an SSH session, so it stops the moment that connection drops — ' +
44
+ 'cards stay assigned to an agent that is gone. Run it inside tmux on this machine instead: ' +
45
+ '`tmux new -s agent flaredeck-agent` (reattach with `tmux attach -t agent`).';
46
+ }
32
47
  //# sourceMappingURL=relaunch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAc,EAAE,GAAsB;IAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,EAAE,GAA0B,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,GAAmB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../src/relaunch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAc,EAAE,GAAsB;IAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,EAAE,GAA0B,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,GAAmB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,GAAsB;IAChD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,0BAA0B,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/F,OAAO,6FAA6F;QAClG,4FAA4F;QAC5F,6EAA6E,CAAC;AAClF,CAAC"}
package/dist/sandbox.js CHANGED
@@ -53,7 +53,12 @@ const ABSOLUTE_PATHS = /(^|[\s"'=:])(\/[\w.~@+-][^\s"':;|&)]*)/g;
53
53
  */
54
54
  export function shellOnly(command) {
55
55
  const noHeredocs = command.replace(/<<-?\s*(['"]?)(\w+)\1([^\n]*)\n[\s\S]*?\n\s*\2\s*(?=\n|$)/g, '<<$2$3');
56
- return noHeredocs.replace(/((?:\b(?:bash|sh|zsh)\s+-\w*c|\beval)\s+)?'[^']*'/g, (m, runs) => (runs ? m : "''"));
56
+ const noSingle = noHeredocs.replace(/((?:\b(?:bash|sh|zsh)\s+-\w*c|\beval)\s+)?'[^']*'/g, (m, runs) => (runs ? m : "''"));
57
+ // A double-quoted program for an interpreter (`python3 -c "…"`, `node -e "…"`) is that program's
58
+ // text too: KeplerApi's `if i>=0` was read as a redirect and a read-only look at its own saved
59
+ // tool output was refused (KD-1354). Only when nothing in it is expanded by the shell — a `$(…)`,
60
+ // backtick or `$var` inside double quotes IS run, so that stays visible.
61
+ return noSingle.replace(/(\b(?:python3?|node|ruby|perl|php)\s+(?:-\w+\s+)*-[ce]\s+)"((?:[^"\\$`]|\\.)*)"/g, '$1""');
57
62
  }
58
63
  const inside = (path, root) => {
59
64
  const p = resolve(path);
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
package/dist/serve.js CHANGED
@@ -441,6 +441,9 @@ export async function serve(opts) {
441
441
  });
442
442
  // Awaited, because the first card must not run with a list about to change underneath it.
443
443
  await refreshMcp();
444
+ const fragile = (await import('./relaunch.js')).diesWithSsh(process.env);
445
+ if (fragile)
446
+ log('warn', fragile);
444
447
  // Started in an empty folder (a new machine): clone the board's code here, with FlareDeck's
445
448
  // GitHub connection, instead of starting unable to branch or publish. See bootstrap-repo.ts.
446
449
  // Set inside refreshMcp, which the compiler cannot see from here.