@onepointfour-packs/flaredeck-agent 0.2.38 → 0.2.39
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/agent.d.ts +42 -3
- package/dist/agent.js +84 -6
- package/dist/agent.js.map +1 -1
- package/dist/automode.js +43 -3
- package/dist/automode.js.map +1 -1
- package/dist/branches.d.ts +12 -1
- package/dist/branches.js +13 -3
- package/dist/branches.js.map +1 -1
- package/dist/browser.d.ts +52 -0
- package/dist/browser.js +185 -17
- package/dist/browser.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.js +36 -2
- package/dist/config.js.map +1 -1
- package/dist/credentials.d.ts +217 -0
- package/dist/credentials.js +332 -0
- package/dist/credentials.js.map +1 -0
- package/dist/engine-antigravity.js +2 -0
- package/dist/engine-antigravity.js.map +1 -1
- package/dist/engine-claude.js +14 -2
- package/dist/engine-claude.js.map +1 -1
- package/dist/engine.d.ts +19 -0
- package/dist/engine.js.map +1 -1
- package/dist/environment.d.ts +13 -1
- package/dist/environment.js +35 -2
- package/dist/environment.js.map +1 -1
- package/dist/envtools.d.ts +58 -0
- package/dist/envtools.js +151 -0
- package/dist/envtools.js.map +1 -0
- package/dist/flaredeck.d.ts +24 -0
- package/dist/flaredeck.js +20 -0
- package/dist/flaredeck.js.map +1 -1
- package/dist/github.d.ts +2 -0
- package/dist/github.js +4 -0
- package/dist/github.js.map +1 -1
- package/dist/githubauth.d.ts +11 -1
- package/dist/githubauth.js +82 -16
- package/dist/githubauth.js.map +1 -1
- package/dist/hydrate.d.ts +76 -0
- package/dist/hydrate.js +77 -0
- package/dist/hydrate.js.map +1 -0
- package/dist/limits.d.ts +184 -0
- package/dist/limits.js +251 -0
- package/dist/limits.js.map +1 -0
- package/dist/main.js +121 -18
- package/dist/main.js.map +1 -1
- package/dist/picker.js +50 -4
- package/dist/picker.js.map +1 -1
- package/dist/preflight.d.ts +43 -0
- package/dist/preflight.js +133 -19
- package/dist/preflight.js.map +1 -1
- package/dist/runs.d.ts +11 -3
- package/dist/runs.js +41 -4
- package/dist/runs.js.map +1 -1
- package/dist/serve.js +956 -113
- package/dist/serve.js.map +1 -1
- package/dist/session.d.ts +51 -0
- package/dist/session.js +145 -0
- package/dist/session.js.map +1 -0
- package/dist/settle.d.ts +18 -0
- package/dist/settle.js +39 -0
- package/dist/settle.js.map +1 -0
- package/dist/signin.d.ts +47 -0
- package/dist/signin.js +331 -0
- package/dist/signin.js.map +1 -0
- package/dist/stream.d.ts +6 -0
- package/dist/stream.js +44 -3
- package/dist/stream.js.map +1 -1
- package/dist/subscriptions.d.ts +115 -0
- package/dist/subscriptions.js +140 -0
- package/dist/subscriptions.js.map +1 -0
- package/dist/ui.d.ts +11 -0
- package/dist/ui.js +6 -1
- package/dist/ui.js.map +1 -1
- package/dist/usage.d.ts +105 -0
- package/dist/usage.js +348 -0
- package/dist/usage.js.map +1 -0
- package/dist/wall.d.ts +35 -0
- package/dist/wall.js +94 -0
- package/dist/wall.js.map +1 -0
- package/dist/worktree.d.ts +19 -0
- package/dist/worktree.js +179 -4
- package/dist/worktree.js.map +1 -1
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -23,11 +23,15 @@
|
|
|
23
23
|
* and hands, and remembers.
|
|
24
24
|
*/
|
|
25
25
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
26
|
+
import { captureSession, contextFor, restoreIndexedDb } from './session.js';
|
|
27
|
+
import { settle } from './settle.js';
|
|
28
|
+
import { signInWall, wallBrief } from './wall.js';
|
|
26
29
|
import { dirname, join } from 'node:path';
|
|
27
30
|
import { z } from 'zod';
|
|
28
31
|
import { tool } from '@anthropic-ai/claude-agent-sdk';
|
|
29
32
|
import { sdkServer } from './localmcp.js';
|
|
30
33
|
import { configDir } from './config.js';
|
|
34
|
+
import { credentialsFor, getJson, putInsistently, sessionOrigin, siteCredentialId, } from './credentials.js';
|
|
31
35
|
export const BROWSER_TOOL_NAMES = [
|
|
32
36
|
'mcp__browser__open_page',
|
|
33
37
|
'mcp__browser__look',
|
|
@@ -49,6 +53,35 @@ const memoryDir = () => {
|
|
|
49
53
|
const safe = (s) => s.replace(/[^A-Za-z0-9._-]/g, '_');
|
|
50
54
|
const memoryFile = (site) => join(memoryDir(), `${safe(site)}.json`);
|
|
51
55
|
const sessionFile = (site) => join(memoryDir(), `${safe(site)}.session.json`);
|
|
56
|
+
/**
|
|
57
|
+
* Sessions live in the FlareDeck vault and nowhere else — not on this disk, not as a cache.
|
|
58
|
+
*
|
|
59
|
+
* That is the whole point of moving them: one sign-in by one person serves every agent in the
|
|
60
|
+
* workspace, and twenty machines each holding a copy of a credential is the situation being
|
|
61
|
+
* escaped rather than the design. It also makes revocation honest, since there is no stale copy
|
|
62
|
+
* anywhere to keep working after the fact. See credentials.ts.
|
|
63
|
+
*/
|
|
64
|
+
const sessionStore = (repo, onNote = () => { }) => credentialsFor(repo, onNote);
|
|
65
|
+
/**
|
|
66
|
+
* The stored session, or an explanation.
|
|
67
|
+
*
|
|
68
|
+
* `{ ok: true, value: null }` and `{ ok: false }` must not be collapsed: no session means ask for
|
|
69
|
+
* a sign-in (the wall machinery does that), while a vault that could not be reached means stop
|
|
70
|
+
* and say so. There is nothing local to fall back to.
|
|
71
|
+
*/
|
|
72
|
+
async function loadSession(repo, id, onNote) {
|
|
73
|
+
return getJson(sessionStore(repo, onNote), id);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Keep a captured session, with retries.
|
|
77
|
+
*
|
|
78
|
+
* It has nowhere else to go, so one network blip must not cost a person another trip through a
|
|
79
|
+
* sign-in form. If it is lost anyway, the card hits the wall again on its next look and the
|
|
80
|
+
* existing machinery asks for a fresh one — the same path an expired session takes.
|
|
81
|
+
*/
|
|
82
|
+
async function saveSession(repo, id, s, onNote = () => { }) {
|
|
83
|
+
return putInsistently(sessionStore(repo, onNote), id, Buffer.from(JSON.stringify(s), 'utf8'), { kind: 'browser-session', label: id.replace(/^session:(host|repo):/, '') }, onNote);
|
|
84
|
+
}
|
|
52
85
|
function loadMemory(site) {
|
|
53
86
|
try {
|
|
54
87
|
return JSON.parse(readFileSync(memoryFile(site), 'utf8'));
|
|
@@ -63,14 +96,101 @@ function saveMemory(site, m) {
|
|
|
63
96
|
}
|
|
64
97
|
catch { /* not worth failing for */ }
|
|
65
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Keep a session a person just signed in with, where the browser tools will find it: FlareDeck.
|
|
101
|
+
*
|
|
102
|
+
* Exported because the sign-in happens OUTSIDE a card — a person runs it when an agent asks —
|
|
103
|
+
* and it has to land under the same identity `open_page` reads. It is keyed centrally, by the
|
|
104
|
+
* HOST when the session is for a real site, so one sign-in serves every agent in the workspace
|
|
105
|
+
* that needs that site. The session is asked where it came from rather than the caller being made
|
|
106
|
+
* to say, which is why this needs no new argument.
|
|
107
|
+
*
|
|
108
|
+
* STILL SYNCHRONOUS, and that is now a compromise rather than a free win. The vault write is
|
|
109
|
+
* necessarily asynchronous, so this starts it and returns the id for the caller to print; if the
|
|
110
|
+
* write ultimately fails, nothing is saved anywhere, because there is no longer a local copy by
|
|
111
|
+
* design. The card then meets the sign-in wall again on its next look and the existing machinery
|
|
112
|
+
* asks for a fresh one — the same path an expired session takes, so the failure degrades into a
|
|
113
|
+
* case that is already handled rather than a new one.
|
|
114
|
+
*
|
|
115
|
+
* `rememberSignInNow` is the same thing awaited, for a caller that wants to report the outcome.
|
|
116
|
+
* Both of this function's callers (main.ts, serve.ts) belong to other work; switching them over
|
|
117
|
+
* is a one-line change each and would turn "Signed in." into the truth rather than a hope.
|
|
118
|
+
*/
|
|
119
|
+
export function rememberSignIn(repo, part, session) {
|
|
120
|
+
const id = siteCredentialId(repo, part, sessionOrigin(session));
|
|
121
|
+
void rememberSignInNow(repo, part, session);
|
|
122
|
+
return id;
|
|
123
|
+
}
|
|
124
|
+
/** `rememberSignIn`, awaited: the credential id and whether it actually reached FlareDeck. */
|
|
125
|
+
export async function rememberSignInNow(repo, part, session, onNote = () => { }) {
|
|
126
|
+
const id = siteCredentialId(repo, part, sessionOrigin(session));
|
|
127
|
+
const r = await saveSession(repo, id, session, onNote);
|
|
128
|
+
if (!r.ok) {
|
|
129
|
+
onNote(`the sign-in could NOT be saved to FlareDeck (${r.message}). Nothing was kept on this ` +
|
|
130
|
+
`machine — credentials live only in FlareDeck — so a sign-in will be requested again.`);
|
|
131
|
+
}
|
|
132
|
+
return { id, ...r };
|
|
133
|
+
}
|
|
66
134
|
/** What this page is, independent of where it happens to be today. See the note on this module. */
|
|
67
135
|
export function siteIdentity(repo, part) {
|
|
68
136
|
return `${repo.split('/').pop() || repo}/${part || 'ui'}`;
|
|
69
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* How every browser here is launched.
|
|
140
|
+
*
|
|
141
|
+
* `headless: true` on its own picks `chromium-headless-shell` whenever that build is present,
|
|
142
|
+
* and a Google sign-in cannot be completed in it — see installChromium. `channel: 'chromium'`
|
|
143
|
+
* asks for the full browser and still runs it with no window, which is the combination measured
|
|
144
|
+
* to work. Without this line the installer change below fixes nothing on any machine that
|
|
145
|
+
* already has the shell.
|
|
146
|
+
*/
|
|
147
|
+
export const HEADLESS_FULL = { headless: true, channel: 'chromium' };
|
|
70
148
|
/**
|
|
71
149
|
* Fetch the browser Playwright expects. Once per machine, and never asked of the agent: an
|
|
72
150
|
* instruction to run an installer is setup, and the point of this is that there is none.
|
|
151
|
+
*
|
|
152
|
+
* The FULL chromium, not `chromium-headless-shell`. The shell is smaller and reads pages
|
|
153
|
+
* perfectly well, and it was what this installed — but it is a stripped build, and a Google
|
|
154
|
+
* sign-in cannot be completed in it: the opener-to-popup channel Firebase needs does not
|
|
155
|
+
* survive, so the login runs to the end and then fails with "the popup has been closed by the
|
|
156
|
+
* user", which is false. Measured on 2026-10-09 across three configurations:
|
|
157
|
+
*
|
|
158
|
+
* full chromium, headed sign-in completed
|
|
159
|
+
* full chromium, HEADLESS sign-in completed
|
|
160
|
+
* headless shell, headless auth/popup-closed-by-user
|
|
161
|
+
*
|
|
162
|
+
* So headless is fine and the shell is not. One build for everything, because two means a
|
|
163
|
+
* machine where ordinary page reading works and signing in mysteriously does not. It also means
|
|
164
|
+
* no Xvfb and no virtual display anywhere: the full build runs headless like any other.
|
|
165
|
+
*/
|
|
166
|
+
let installing = null;
|
|
167
|
+
/**
|
|
168
|
+
* Make sure the browser is on this machine, once.
|
|
169
|
+
*
|
|
170
|
+
* Called at startup so the download happens while the agent is idle rather than in the middle of
|
|
171
|
+
* the first card that needs eyes — 186MB is a long pause to take with a card in hand. Memoised,
|
|
172
|
+
* because the lazy path still calls it: a card arriving mid-download must wait for the download
|
|
173
|
+
* in flight, not start a second one.
|
|
73
174
|
*/
|
|
175
|
+
export function ensureBrowser(onNote = () => { }) {
|
|
176
|
+
if (!installing) {
|
|
177
|
+
installing = (async () => {
|
|
178
|
+
const { chromium } = await import('playwright-core');
|
|
179
|
+
// Already there: nothing to say and nothing to fetch.
|
|
180
|
+
try {
|
|
181
|
+
const b = await chromium.launch(HEADLESS_FULL);
|
|
182
|
+
await b.close();
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
catch { /* fetch it */ }
|
|
186
|
+
onNote('fetching Chromium (first use on this machine, ~186MB)');
|
|
187
|
+
const ok = await installChromium();
|
|
188
|
+
onNote(ok ? 'Chromium ready' : 'could not fetch Chromium — a card needing a browser will say so');
|
|
189
|
+
return ok;
|
|
190
|
+
})();
|
|
191
|
+
}
|
|
192
|
+
return installing;
|
|
193
|
+
}
|
|
74
194
|
async function installChromium() {
|
|
75
195
|
const { execFile } = await import('node:child_process');
|
|
76
196
|
const { fileURLToPath } = await import('node:url');
|
|
@@ -78,7 +198,7 @@ async function installChromium() {
|
|
|
78
198
|
if (!existsSync(cli))
|
|
79
199
|
return false;
|
|
80
200
|
return new Promise((resolve) => {
|
|
81
|
-
execFile(process.execPath, [cli, 'install', 'chromium
|
|
201
|
+
execFile(process.execPath, [cli, 'install', 'chromium'], { timeout: 15 * 60_000 }, (err) => resolve(!err));
|
|
82
202
|
});
|
|
83
203
|
}
|
|
84
204
|
/**
|
|
@@ -121,6 +241,9 @@ function addressable(url, declared) {
|
|
|
121
241
|
(declared.length ? `, or one of the sites the board named: ${declared.join(', ')}.` : '.'));
|
|
122
242
|
}
|
|
123
243
|
export function browserTools(deps) {
|
|
244
|
+
// `site` names the project's page and keys the local notes; `credential` is the central
|
|
245
|
+
// identity the SESSION is stored under, which is the host for a real site. They differ on
|
|
246
|
+
// purpose — see siteCredentialId in credentials.ts.
|
|
124
247
|
let live = null;
|
|
125
248
|
const closeQuietly = async () => {
|
|
126
249
|
try {
|
|
@@ -159,7 +282,7 @@ export function browserTools(deps) {
|
|
|
159
282
|
'example "ui") rather than a port — several worktrees run at once and the ports differ. ' +
|
|
160
283
|
'A deployed site the board declared can be named the same way. Returns what is on the ' +
|
|
161
284
|
'page, and anything earlier sessions learned about this project.', {
|
|
162
|
-
part: z.string().optional().describe('Which part, e.g. "ui". Defaults to the first one.'),
|
|
285
|
+
part: z.string().optional().describe('Which part, e.g. "ui". Defaults to the app\'s own page when the harness found it, else the first one.'),
|
|
163
286
|
path: z.string().optional().describe('A path on that part, e.g. "/admin/learning".'),
|
|
164
287
|
url: z.string().optional().describe('A full address, for something you started yourself that no part names yet. ' +
|
|
165
288
|
'This machine, a private network, or a site the board declared.'),
|
|
@@ -170,7 +293,7 @@ export function browserTools(deps) {
|
|
|
170
293
|
// Both sources answer to a name. A part the environment started wins a name collision,
|
|
171
294
|
// because that is this card's own code and the deployed one is not.
|
|
172
295
|
const all = { ...declared, ...ends };
|
|
173
|
-
let name = part || (all['ui'] ? 'ui' : Object.keys(all)[0] ?? '');
|
|
296
|
+
let name = part || deps.defaultPart?.() || (all['ui'] ? 'ui' : Object.keys(all)[0] ?? '');
|
|
174
297
|
let base = all[name];
|
|
175
298
|
if (asked) {
|
|
176
299
|
const no = addressable(asked, Object.values(declared));
|
|
@@ -193,12 +316,13 @@ export function browserTools(deps) {
|
|
|
193
316
|
`\`name=url\` lines gives every future card on this board a browser.`, true);
|
|
194
317
|
}
|
|
195
318
|
const site = siteIdentity(deps.repo, name);
|
|
319
|
+
const credential = siteCredentialId(deps.repo, name, base);
|
|
196
320
|
const memory = loadMemory(site);
|
|
197
321
|
await closeQuietly();
|
|
198
322
|
const { chromium } = await import('playwright-core');
|
|
199
323
|
let browser;
|
|
200
324
|
try {
|
|
201
|
-
browser = await chromium.launch(
|
|
325
|
+
browser = await chromium.launch(HEADLESS_FULL);
|
|
202
326
|
}
|
|
203
327
|
catch (first) {
|
|
204
328
|
// No browser on this machine yet, or Playwright moved to a newer build than the one
|
|
@@ -207,22 +331,35 @@ export function browserTools(deps) {
|
|
|
207
331
|
if (!/executable doesn't exist|please run.*install/i.test(String(first))) {
|
|
208
332
|
return say(`Could not start a browser: ${first instanceof Error ? first.message : String(first)}`, true);
|
|
209
333
|
}
|
|
210
|
-
deps.onNote(
|
|
211
|
-
const ok = await installChromium();
|
|
334
|
+
const ok = await ensureBrowser((t) => deps.onNote(`browser: ${t}`));
|
|
212
335
|
if (!ok) {
|
|
213
336
|
return say('This machine has no browser and it could not be fetched. Say so on the card — ' +
|
|
214
337
|
'do not try to install anything yourself.', true);
|
|
215
338
|
}
|
|
216
339
|
try {
|
|
217
|
-
browser = await chromium.launch(
|
|
340
|
+
browser = await chromium.launch(HEADLESS_FULL);
|
|
218
341
|
}
|
|
219
342
|
catch (e) {
|
|
220
343
|
return say(`Browser still will not start: ${e instanceof Error ? e.message : String(e)}`, true);
|
|
221
344
|
}
|
|
222
345
|
}
|
|
223
|
-
// A session
|
|
224
|
-
|
|
225
|
-
|
|
346
|
+
// A session signed in by an earlier card, on this machine or on any OTHER agent's — it
|
|
347
|
+
// comes from FlareDeck, so one sign-in serves the whole workspace. Read whole, because
|
|
348
|
+
// being signed in is not only cookies: see session.ts.
|
|
349
|
+
const got = await loadSession(deps.repo, credential, (t) => deps.onNote(`browser: ${t}`));
|
|
350
|
+
if (!got.ok) {
|
|
351
|
+
// Sessions are in FlareDeck and nowhere else, so there is nothing to fall back to and
|
|
352
|
+
// nothing to be gained by opening the page anyway: it would come up signed out, the
|
|
353
|
+
// sign-in wall would be detected, and the request for a sign-in would then fail for
|
|
354
|
+
// the same reason. Stopping here says the true thing once.
|
|
355
|
+
await closeQuietly();
|
|
356
|
+
return say(`FlareDeck could not be reached, so the sign-in for this site is not available: ${got.why}\n\n` +
|
|
357
|
+
`Sign-in sessions are kept in FlareDeck and nowhere else, so there is no local copy ` +
|
|
358
|
+
`to fall back to. Nothing is wrong with the card — say so on it and try again once ` +
|
|
359
|
+
`FlareDeck is reachable.`, true);
|
|
360
|
+
}
|
|
361
|
+
const stored = got.value;
|
|
362
|
+
const context = await contextFor(browser, stored);
|
|
226
363
|
const page = await context.newPage();
|
|
227
364
|
const url = `${base.replace(/\/+$/, '')}${path ? (path.startsWith('/') ? path : `/${path}`) : ''}`;
|
|
228
365
|
try {
|
|
@@ -232,19 +369,43 @@ export function browserTools(deps) {
|
|
|
232
369
|
await closeQuietly();
|
|
233
370
|
return say(`Could not open ${url}: ${e instanceof Error ? e.message : String(e)}`, true);
|
|
234
371
|
}
|
|
235
|
-
|
|
236
|
-
|
|
372
|
+
// IndexedDB can only be written once the databases exist, so it goes back AFTER the
|
|
373
|
+
// first navigation, and the reload inside is what lets the app read it on init.
|
|
374
|
+
// Without this a Firebase app restores silently as nobody — measured, not assumed.
|
|
375
|
+
if (await restoreIndexedDb(page, stored)) {
|
|
376
|
+
await page.waitForLoadState('domcontentloaded', { timeout: 10_000 }).catch(() => { });
|
|
377
|
+
}
|
|
378
|
+
await settle(page);
|
|
379
|
+
live = { browser, context, page, site, credential };
|
|
380
|
+
deps.onNote(`browser: ${url}${stored ? ' (signed in from an earlier session)' : ''}`);
|
|
237
381
|
const creds = Object.entries(deps.contract()?.credentials ?? {})
|
|
238
382
|
.map(([who, v]) => typeof v === 'string' ? ` · ${who}: ${v}` : ` · ${who}: ${v.username ?? ''} / ${v.password ?? ''}`)
|
|
239
383
|
.join('\n');
|
|
240
384
|
const learned = Object.entries(memory.recipes)
|
|
241
385
|
.map(([about, how]) => ` · ${about}: ${how}`).join('\n');
|
|
242
|
-
|
|
386
|
+
// A login page looks, from inside a snapshot, exactly like "the thing I was sent to
|
|
387
|
+
// find is not here". Saying so outright is what stops the next twenty minutes being
|
|
388
|
+
// spent on it. Leads the answer, because it changes what the whole turn should do.
|
|
389
|
+
const wall = await signInWall(page);
|
|
390
|
+
if (wall.wall) {
|
|
391
|
+
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)}`);
|
|
393
|
+
}
|
|
394
|
+
return say(`Open at ${url}${stored ? ', already signed in from an earlier session' : ''}.\n\n` +
|
|
243
395
|
`${await describe(page)}\n` +
|
|
244
396
|
(learned ? `\nWhat earlier sessions learned about ${site}:\n${learned}\n` : '') +
|
|
245
|
-
(!
|
|
397
|
+
(!stored && creds ? `\nSign-ins this project published:\n${creds}\n` : ''));
|
|
398
|
+
}),
|
|
399
|
+
tool('look', 'What is on the page now. Use after an action to see what changed.', {}, async () => {
|
|
400
|
+
const { page } = needPage();
|
|
401
|
+
await settle(page);
|
|
402
|
+
// 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);
|
|
246
408
|
}),
|
|
247
|
-
tool('look', 'What is on the page now. Use after an action to see what changed.', {}, async () => say(await describe(needPage().page))),
|
|
248
409
|
tool('click', 'Click something by what it IS, as the page describes it — a role and its name, taken ' +
|
|
249
410
|
'from the snapshot you were given. Never a CSS selector.', {
|
|
250
411
|
role: z.string().describe('The role, e.g. "button", "link", "checkbox".'),
|
|
@@ -260,6 +421,8 @@ export function browserTools(deps) {
|
|
|
260
421
|
`What is actually on the page:\n${await describe(page)}`, true);
|
|
261
422
|
}
|
|
262
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);
|
|
263
426
|
return say(`Clicked ${role} "${name}".\n\n${await describe(page)}`);
|
|
264
427
|
}),
|
|
265
428
|
tool('fill', 'Type into a field, named the way the page describes it.', {
|
|
@@ -305,10 +468,15 @@ export function browserTools(deps) {
|
|
|
305
468
|
const memory = loadMemory(site);
|
|
306
469
|
memory.recipes[about.trim().toLowerCase()] = how.trim();
|
|
307
470
|
saveMemory(site, memory);
|
|
308
|
-
// Signed in once, signed in for every card after this
|
|
471
|
+
// Signed in once, signed in for every card after this — and, since the session goes to
|
|
472
|
+
// FlareDeck rather than this disk, for every other agent in the workspace that needs
|
|
473
|
+
// the same site. Awaited so a failure is reported rather than lost: there is no local
|
|
474
|
+
// copy behind it any more.
|
|
309
475
|
if (live) {
|
|
310
476
|
try {
|
|
311
|
-
await live.context.
|
|
477
|
+
const kept = await saveSession(deps.repo, live.credential, await captureSession(live.context, live.page), (t) => deps.onNote(`browser: ${t}`));
|
|
478
|
+
if (!kept.ok)
|
|
479
|
+
deps.onNote(`browser: the signed-in session was NOT saved (${kept.message})`);
|
|
312
480
|
}
|
|
313
481
|
catch { /* best effort */ }
|
|
314
482
|
}
|
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/config.d.ts
CHANGED
|
@@ -149,8 +149,14 @@ export declare const configDir: () => string;
|
|
|
149
149
|
export declare const configPath: (repo: string) => string;
|
|
150
150
|
export declare function loadConfig(repo?: string): Config | null;
|
|
151
151
|
export declare function saveConfig(config: Config): string;
|
|
152
|
+
type GitHubLogin = NonNullable<Config['github']>;
|
|
153
|
+
export declare function loadGitHub(): GitHubLogin | null;
|
|
154
|
+
export declare function saveGitHub(login: GitHubLogin): void;
|
|
155
|
+
/** Forget the machine's GitHub login, so the next one is a fresh sign-in rather than a reuse. */
|
|
156
|
+
export declare function forgetGitHub(): void;
|
|
152
157
|
export declare function loadMe(): Tokens | null;
|
|
153
158
|
export declare function saveMe(tokens: Tokens): string;
|
|
154
159
|
export declare function forgetConfig(repo: string): boolean;
|
|
155
160
|
/** Config with defaults filled in — for commands that can run before `login` has written one. */
|
|
156
161
|
export declare function configOrDefaults(repo?: string): Config;
|
|
162
|
+
export {};
|
package/dist/config.js
CHANGED
|
@@ -35,7 +35,8 @@ export function loadConfig(repo = process.cwd()) {
|
|
|
35
35
|
...(raw.tenantId ? { tenantId: raw.tenantId } : {}),
|
|
36
36
|
...(raw.apiKey ? { apiKey: raw.apiKey } : {}),
|
|
37
37
|
...(raw.oauth ? { oauth: raw.oauth } : {}),
|
|
38
|
-
|
|
38
|
+
// The machine's login wins; a repo's own is only what was stored before there was one.
|
|
39
|
+
...((github) => (github ? { github } : {}))(loadGitHub() ?? raw.github),
|
|
39
40
|
...(raw.baseBranch ? { baseBranch: raw.baseBranch } : {}),
|
|
40
41
|
...(raw.runs ? { runs: raw.runs } : {}),
|
|
41
42
|
agentServiceUrl: raw.agentServiceUrl ?? DEFAULTS.agentServiceUrl,
|
|
@@ -64,13 +65,46 @@ function readableConfig(repo) {
|
|
|
64
65
|
export function saveConfig(config) {
|
|
65
66
|
const path = configPath(config.repo);
|
|
66
67
|
mkdirSync(dirname(path), { recursive: true });
|
|
68
|
+
// The GitHub login is the machine's, not the repo's — see githubPath.
|
|
69
|
+
const { github, ...rest } = config;
|
|
70
|
+
if (github)
|
|
71
|
+
saveGitHub(github);
|
|
67
72
|
// 0600: the file holds an API key that can comment on and move cards across the whole tenant.
|
|
68
73
|
// `mode` on writeFileSync only applies when the file is CREATED, so an existing one keeps
|
|
69
74
|
// whatever it had — chmod every time instead of trusting the first write.
|
|
70
|
-
writeFileSync(path, `${JSON.stringify(
|
|
75
|
+
writeFileSync(path, `${JSON.stringify(rest, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 });
|
|
71
76
|
chmodSync(path, 0o600);
|
|
72
77
|
return path;
|
|
73
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* ONE GitHub login per machine, shared by every repo's agent.
|
|
81
|
+
*
|
|
82
|
+
* It used to be one per repo, and that is what killed them: GitHub keeps ten tokens per person
|
|
83
|
+
* per OAuth app and cancels the oldest when another is issued. Eleven repos meant eleven logins,
|
|
84
|
+
* so every new login silently revoked some other agent's token, which then found out at
|
|
85
|
+
* push_branch with "Invalid username or token" after doing the card's work. One login here
|
|
86
|
+
* uses one slot, and signing in again replaces it for every agent at once.
|
|
87
|
+
*/
|
|
88
|
+
const githubPath = () => join(configDir(), 'github.json');
|
|
89
|
+
export function loadGitHub() {
|
|
90
|
+
try {
|
|
91
|
+
const raw = JSON.parse(readFileSync(githubPath(), 'utf8'));
|
|
92
|
+
return raw?.accessToken ? raw : null;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export function saveGitHub(login) {
|
|
99
|
+
const path = githubPath();
|
|
100
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
101
|
+
writeFileSync(path, `${JSON.stringify(login, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 });
|
|
102
|
+
chmodSync(path, 0o600);
|
|
103
|
+
}
|
|
104
|
+
/** Forget the machine's GitHub login, so the next one is a fresh sign-in rather than a reuse. */
|
|
105
|
+
export function forgetGitHub() {
|
|
106
|
+
rmSync(githubPath(), { force: true });
|
|
107
|
+
}
|
|
74
108
|
/** Forget this repo's agent, so the next login is a clean choice of account. */
|
|
75
109
|
/**
|
|
76
110
|
* A PERSON's FlareDeck login on this machine — not any agent's. Kept apart from the repo
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA6H1C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE,+BAA+B;IACvC,eAAe,EAAE,0DAA0D;CACnE,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE,CACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAExF,gEAAgE;AAChE,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CACpC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;AAEhG;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAErG,oFAAoF;AACpF,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC;AAElE,MAAM,UAAU,UAAU,CAAC,OAAe,OAAO,CAAC,GAAG,EAAE;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAoB,CAAC;QACtF,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE;YAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa;YAC1D,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;YACrC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|