@onepointfour-packs/flaredeck-agent 0.2.194 → 0.2.196

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.
@@ -22,6 +22,8 @@ export type EnvDeps = {
22
22
  script: () => string | undefined;
23
23
  /** Hand the started environment back, so the browser's addresses are live at once. */
24
24
  onStarted: (started: Started) => void;
25
+ /** Before a start: stop this agent's environments for its other cards, which hold the ports. */
26
+ beforeStart?: () => Promise<void>;
25
27
  /** What is already up, so asking twice is cheap and honest. */
26
28
  running: () => Started | null;
27
29
  /**
package/dist/envtools.js CHANGED
@@ -51,6 +51,7 @@ export function environmentTools(deps) {
51
51
  }
52
52
  // The branch can move mid-card — a merge or fast-forward from dev — and bring packages the
53
53
  // checkout never installed. HAL's API died on start twice for it (HR-0340, HR-0184).
54
+ await deps.beforeStart?.().catch(() => { });
54
55
  if (depsStale(deps.cwd()))
55
56
  await installDeps(deps.cwd(), deps.onNote);
56
57
  const started = await startEnvironment(deps.cwd(), deps.onNote, deps.script());
@@ -1 +1 @@
1
- {"version":3,"file":"envtools.js","sourceRoot":"","sources":["../src/envtools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envtools.js","sourceRoot":"","sources":["../src/envtools.ts"],"names":[],"mappings":"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"}
package/dist/release.d.ts CHANGED
@@ -1,8 +1,14 @@
1
+ /**
2
+ * `who`: a role, people only (`none`), or one named account (`user:<uid>`). `whoName`/`whoAgent`
3
+ * describe a named account.
4
+ */
1
5
  export type LadderStep = {
2
6
  name: string;
3
7
  live: boolean;
4
8
  branches: Record<string, string>;
5
- who?: 'lead' | 'manager' | 'none';
9
+ who?: 'lead' | 'manager' | 'none' | `user:${string}`;
10
+ whoName?: string;
11
+ whoAgent?: boolean;
6
12
  approval?: 'none' | 'manager' | 'person';
7
13
  };
8
14
  export type HotfixSettings = {
@@ -114,6 +120,10 @@ export declare function nextStep(ladder: Ladder, repoUrl: string, from: string):
114
120
  } | null;
115
121
  /** The board's ladder, from FlareDeck. */
116
122
  export declare function fetchLadder(mcpUrl: string, tenantId: string, boardId: string, auth: () => Promise<string>): Promise<Ladder | null>;
123
+ /** Who releases into a step, in words. */
124
+ export declare function releaserOf(step: Pick<LadderStep, 'who' | 'whoName'>): string;
125
+ /** Whether any step of these ladders names this agent: it then gets the release tools. */
126
+ export declare function namedOnLadders(ladders: (Ladder | null)[], self: string): boolean;
117
127
  /** Who may release into a step: the role it names, or anyone above it. */
118
128
  /** A worker with no lead and no manager: nobody else can release its work, so it is its own lead. */
119
129
  export declare function isSoloWorker(a: {
@@ -121,7 +131,7 @@ export declare function isSoloWorker(a: {
121
131
  reportsTo?: string | null;
122
132
  manager?: string | null;
123
133
  }): boolean;
124
- export declare function mayRelease(role: 'worker' | 'lead' | 'manager' | 'assistant', step: Pick<LadderStep, 'who'>): boolean;
134
+ export declare function mayRelease(role: 'worker' | 'lead' | 'manager' | 'assistant', step: Pick<LadderStep, 'who' | 'whoAgent'>, self?: string): boolean;
125
135
  /**
126
136
  * What releasing into `to` means for one repository: the first environment that has a branch takes
127
137
  * a card's branch by merge; every one above it is moved up from the step below by fast-forward.
package/dist/release.js CHANGED
@@ -274,16 +274,32 @@ export async function fetchLadder(mcpUrl, tenantId, boardId, auth) {
274
274
  return null;
275
275
  }
276
276
  }
277
+ /** Who releases into a step, in words. */
278
+ export function releaserOf(step) {
279
+ const who = step.who ?? 'manager';
280
+ if (who === 'none')
281
+ return 'people only';
282
+ if (who.startsWith('user:'))
283
+ return step.whoName || 'one named account';
284
+ return `the ${who}`;
285
+ }
286
+ /** Whether any step of these ladders names this agent: it then gets the release tools. */
287
+ export function namedOnLadders(ladders, self) {
288
+ return !!self && ladders.some((l) => l?.environments.some((s) => s.who === `user:${self}`));
289
+ }
277
290
  /** Who may release into a step: the role it names, or anyone above it. */
278
291
  /** A worker with no lead and no manager: nobody else can release its work, so it is its own lead. */
279
292
  export function isSoloWorker(a) {
280
293
  const role = String(a.role || 'worker').toLowerCase();
281
294
  return (role === 'worker' || role === 'junior') && !a.reportsTo && !a.manager;
282
295
  }
283
- export function mayRelease(role, step) {
296
+ export function mayRelease(role, step, self = '') {
284
297
  const who = step.who ?? 'manager';
285
298
  if (who === 'none')
286
299
  return false;
300
+ // One named account: that agent, or the manager above it. A named PERSON is like people only.
301
+ if (who.startsWith('user:'))
302
+ return (!!self && who === `user:${self}`) || (role === 'manager' && step.whoAgent === true);
287
303
  if (who === 'lead')
288
304
  return role === 'lead' || role === 'manager';
289
305
  return role === 'manager';
@@ -431,9 +447,10 @@ export function releaseTools(d) {
431
447
  const plan = planRelease(ladder, url, to);
432
448
  if ('why' in plan)
433
449
  return said(plan.why, true);
434
- if (!mayRelease(role, plan.step)) {
435
- return said(`${plan.step.name} is released by ${plan.step.who === 'none' ? 'people only' : `the ${plan.step.who}`} on ${ladder.board.name}, not by a ${role}. ` +
436
- (plan.step.who === 'manager' ? 'Tell your manager it is ready, with send-message.' : 'Ask a person.'), true);
450
+ if (!mayRelease(role, plan.step, d.self?.() ?? '')) {
451
+ return said(`${plan.step.name} is released by ${releaserOf(plan.step)} on ${ladder.board.name}, not by you. ` +
452
+ (plan.step.who === 'manager' ? 'Tell your manager it is ready, with send-message.'
453
+ : plan.step.who?.startsWith('user:') && plan.step.whoAgent ? `Tell ${plan.step.whoName} it is ready, with send-message.` : 'Ask a person.'), true);
437
454
  }
438
455
  // The branch a merge takes: the one named, or the open card's. Never an environment's own.
439
456
  const source = (branch ?? '').trim() || job?.branch || '';
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
package/dist/serve.d.ts CHANGED
@@ -9,6 +9,19 @@ import { type StreamEvent } from './stream.js';
9
9
  * read, means the sweep turn runs as before.
10
10
  */
11
11
  export declare function nothingOutstanding(text: string): boolean;
12
+ export type HandoverLog = {
13
+ notesAt?: number;
14
+ changedAt?: number;
15
+ };
16
+ /** Tools that only look: reading files, searching, asking FlareDeck or a service what is there. */
17
+ export declare function onlyLooks(tool: string): boolean;
18
+ /** Record a tool call against the session it ran in. */
19
+ export declare function noteHandoverTool(logs: Map<string, HandoverLog>, key: string, tool: string, at: number): void;
20
+ /**
21
+ * Whether a session ending needs a handover note: it changed something, after its last notes.
22
+ * Unknown (no record) is treated as needed, as before.
23
+ */
24
+ export declare function handoverNeeded(l: HandoverLog | undefined): boolean;
12
25
  /** How long after a card's turn the harness leaves it alone, unless an event brings it back. */
13
26
  export declare const RESUME_COOLDOWN_MS: number;
14
27
  /** Whether any of these ids had a turn within the cooldown. */
package/dist/serve.js CHANGED
@@ -9,7 +9,7 @@ import { freshGitHubToken } from './githubauth.js';
9
9
  import { answerFrom, createPresence, heldFor, modeCommand } from './presence.js';
10
10
  import { defaultUploadRoots, fileTools, flaredeckStores } from './filestore.js';
11
11
  import { scratchFor } from './cardmess.js';
12
- import { fetchLadder, isSoloWorker, releaseTools } from './release.js';
12
+ import { fetchLadder, isSoloWorker, namedOnLadders, releaseTools } from './release.js';
13
13
  import { LiveFeed, liveSender, midTurnMessage, ASSISTANT_KEY, claudeProjectDir, historyMessage, recentExchanges, latestCliSession, assistantBrief, assistantIgnores, assistantPerson, asAssistantEvent, loadAssistantSession, saveAssistantSession } from './assistant.js';
14
14
  import { codePrefix, loadPrefixes, savePrefixes, SCRATCH_SWEEP_EVERY_MS, sweepScratch } from './scratch.js';
15
15
  import { findImages, namedForAgent } from './images.js';
@@ -29,7 +29,7 @@ class RetryOnAnotherPlan extends CouldNotWork {
29
29
  }
30
30
  import { isJustReading, jevGuard, judgeCommand } from './jevguard.js';
31
31
  import { loadProviders } from './providers.js';
32
- import { cardWorkOnBase, currentBranch, ensureWorktree, finishRefusalStands, freeDiskBytes, sweepWorktrees, releaseSharedPushGuard, existingWorktree, produced, releaseWorktree, tooEarlyToFinish, uncommittedCount, worktreeBrief } from './worktree.js';
32
+ import { cardWorkOnBase, currentBranch, ensureWorktree, finishRefusalStands, freeDiskBytes, headOf, leadGaveItBack, sweepWorktrees, releaseSharedPushGuard, existingWorktree, produced, releaseWorktree, tooEarlyToFinish, uncommittedCount, worktreeBrief } from './worktree.js';
33
33
  import { askingForComponent, checkouts, repoIdentity, resolveCheckout, voteByCode, workspaceBrief, describeCheckout } from './workspace.js';
34
34
  import { chooseRepoWithJev } from './jev.js';
35
35
  import { ROUTE, intake, intakeText, unclearBrief } from './intake.js';
@@ -92,6 +92,33 @@ export function nothingOutstanding(text) {
92
92
  return false;
93
93
  return text.includes('*Nothing to do here. 🎉*') && text.includes('*No unactioned comments or mentions. 🎉*') && !/^### \d+\./m.test(text);
94
94
  }
95
+ /** Tools that only look: reading files, searching, asking FlareDeck or a service what is there. */
96
+ export function onlyLooks(tool) {
97
+ if (['Read', 'Grep', 'Glob', 'LS', 'ToolSearch', 'TodoWrite', 'TaskOutput', 'LSP', 'WebFetch', 'WebSearch', 'Monitor', 'Skill'].includes(tool))
98
+ return true;
99
+ const op = tool.startsWith('mcp__') ? tool.split('__').slice(2).join('__') : '';
100
+ return /^(get|find|list|read|search|health|hello|whats|check|describe|site_map|see_screen|browser_look|browser_screenshot|browser_events|pull_request_status|preview)/i.test(op);
101
+ }
102
+ /** Record a tool call against the session it ran in. */
103
+ export function noteHandoverTool(logs, key, tool, at) {
104
+ const l = logs.get(key) ?? {};
105
+ if (/__set-card-notes$/.test(tool))
106
+ l.notesAt = at;
107
+ else if (!onlyLooks(tool))
108
+ l.changedAt = at;
109
+ logs.set(key, l);
110
+ }
111
+ /**
112
+ * Whether a session ending needs a handover note: it changed something, after its last notes.
113
+ * Unknown (no record) is treated as needed, as before.
114
+ */
115
+ export function handoverNeeded(l) {
116
+ if (!l)
117
+ return true;
118
+ if (!l.changedAt)
119
+ return false;
120
+ return !l.notesAt || l.changedAt > l.notesAt;
121
+ }
95
122
  /** How long after a card's turn the harness leaves it alone, unless an event brings it back. */
96
123
  export const RESUME_COOLDOWN_MS = 15 * 60_000;
97
124
  /** Whether any of these ids had a turn within the cooldown. */
@@ -985,6 +1012,12 @@ export async function serve(opts) {
985
1012
  * Only the release rule changes; it is not given a team, sweeps or dispatch.
986
1013
  */
987
1014
  let soloWorker = false;
1015
+ /**
1016
+ * A board names this agent as the one who releases into an environment ("released by FRIDAY"):
1017
+ * it gets the release tools, whatever its role, and the release check lets it into that step.
1018
+ * Looked up when the team is read and every 10 minutes, so a change on the board takes effect.
1019
+ */
1020
+ let namedReleaser = false;
988
1021
  /**
989
1022
  * One person's own agent: on no team, never dispatched to, listening only to `person`. One long
990
1023
  * conversation, never handed over — the SDK compacts it — and loose rules. See ASSISTANT_BRIEF.
@@ -1008,6 +1041,8 @@ export async function serve(opts) {
1008
1041
  const keepTool = (name) => offeredTo(isManager || isAssistant ? 'manager' : isLead ? 'lead' : 'worker', name);
1009
1042
  /** Cards already handed to the lead, so a retried tool call does not assign or message twice. */
1010
1043
  const handedBack = new Set();
1044
+ /** The branch head when each card was handed to the lead: unchanged, a card given back is the lead's "move it". */
1045
+ const handedBackHead = new Map();
1011
1046
  try {
1012
1047
  const team = await fetchTeam(opts.baseUrl, await opts.auth());
1013
1048
  // Who is an agent, so a parked card can tell a person answering from agents talking shop.
@@ -1134,6 +1169,18 @@ export async function serve(opts) {
1134
1169
  }
1135
1170
  }
1136
1171
  selfId = team.you.agentId;
1172
+ const releaseTenant = tenantFromToken(await opts.auth());
1173
+ if (releaseTenant && opts.deck) {
1174
+ const lookNamed = async () => {
1175
+ const ladders = await Promise.all((config.boards ?? []).map((b) => fetchLadder(config.mcpUrl, releaseTenant, b.key, () => opts.auth()).catch(() => null)));
1176
+ const was = namedReleaser;
1177
+ namedReleaser = namedOnLadders(ladders, selfId);
1178
+ if (namedReleaser && !was)
1179
+ log('tool', 'a board names you as the one who releases into an environment — you have the release tools');
1180
+ };
1181
+ await lookNamed().catch(() => { });
1182
+ setInterval(() => void lookNamed().catch(() => { }), 10 * 60_000).unref();
1183
+ }
1137
1184
  teamIds = new Set(team.agents.filter((a) => a.reportsTo === team.you.agentId).map((a) => a.agentId));
1138
1185
  if (team.you.role === 'lead') {
1139
1186
  teamSet = {
@@ -1544,6 +1591,30 @@ export async function serve(opts) {
1544
1591
  */
1545
1592
  const signInPending = new Map();
1546
1593
  const SIGN_IN_HOLD_MS = 2 * 60 * 60_000;
1594
+ /**
1595
+ * Stop this agent's environments for its other cards before starting one for this card. An agent
1596
+ * works one card at a time, and the other card's servers hold the ports: CASE could not rerun its
1597
+ * HR-1091 browser check because HR-1074's environment still served on them (20 Oct), and JARVIS
1598
+ * hit the same twice on 19 Oct. A checkout with a sign-in waiting on a person is left up.
1599
+ */
1600
+ const stopOtherEnvironments = async (cwd) => {
1601
+ for (const other of [...envUp.keys()]) {
1602
+ if (other === cwd)
1603
+ continue;
1604
+ const waiting = signInPending.get(other);
1605
+ if (waiting && Date.now() - waiting < SIGN_IN_HOLD_MS)
1606
+ continue;
1607
+ const timer = idleStops.get(other);
1608
+ if (timer) {
1609
+ clearTimeout(timer);
1610
+ idleStops.delete(other);
1611
+ }
1612
+ envUp.delete(other);
1613
+ const ok = await stopEnvironment(other).catch(() => false);
1614
+ if (ok)
1615
+ log('tool', `environment stopped in ${other.split('/').pop()} — another card's, and this card needs its ports`);
1616
+ }
1617
+ };
1547
1618
  const scheduleEnvironmentStop = (cwd) => {
1548
1619
  const before = idleStops.get(cwd);
1549
1620
  if (before)
@@ -1782,6 +1853,8 @@ export async function serve(opts) {
1782
1853
  timer.unref();
1783
1854
  live.set(key, { cwd, tokens, timer });
1784
1855
  };
1856
+ /** Per session: when it last wrote the card's notes, and last did something that changed anything. */
1857
+ const handoverLog = new Map();
1785
1858
  const closeSession = async (key, done = false) => {
1786
1859
  const s = live.get(key);
1787
1860
  if (!s)
@@ -3188,8 +3261,29 @@ export async function serve(opts) {
3188
3261
  const code = tag || event.cardCode || event.cardKey || '';
3189
3262
  if (!code)
3190
3263
  return null;
3264
+ // Handed over before, and the lead has given it back with nothing new on the branch: the
3265
+ // lead reviewed it and wants it moved on. Let the move through instead of refusing again.
3266
+ if (handedBack.has(code) && tree && opts.deck) {
3267
+ const [here, head] = await Promise.all([opts.deck.card(code).catch(() => null), headOf(tree)]);
3268
+ if (leadGaveItBack(handedBackHead.get(code), head, here?.assigned_to?.uid, selfId)) {
3269
+ log('tool', `moving ${code} on — ${leadName} reviewed it and gave it back, nothing new since`);
3270
+ return null;
3271
+ }
3272
+ // Back with this worker and changed since (or we cannot tell): it is new work, handed to the
3273
+ // lead again like the first time. Remembering the old hand-back forever refused HAL's second
3274
+ // "done" on HR-1074 with "JARVIS's to verify" while the card stayed assigned to HAL (20 Oct).
3275
+ if (here?.assigned_to?.uid && here.assigned_to.uid === selfId) {
3276
+ handedBack.delete(code);
3277
+ handedBackHead.delete(code);
3278
+ }
3279
+ }
3191
3280
  if (!handedBack.has(code)) {
3192
3281
  handedBack.add(code);
3282
+ if (tree) {
3283
+ const head = await headOf(tree);
3284
+ if (head)
3285
+ handedBackHead.set(code, head);
3286
+ }
3193
3287
  const made = tree ? await produced(tree) : null;
3194
3288
  const where = tree
3195
3289
  ? `Branch \`${tree.branch}\`${made ? ` — ${made.commits} commit(s), ${made.pushed ? 'pushed' : 'NOT pushed'}` : ''}.`
@@ -3208,6 +3302,7 @@ export async function serve(opts) {
3208
3302
  catch (e) {
3209
3303
  // A handback that did not happen must not read as one that did.
3210
3304
  handedBack.delete(code);
3305
+ handedBackHead.delete(code);
3211
3306
  const text = e instanceof Error ? e.message : String(e);
3212
3307
  log('warn', `could not hand ${code} to ${leadName}: ${text}`);
3213
3308
  return `Could not hand this card to ${leadName} for review (${text}). Do not move it; say so on the card instead.`;
@@ -3402,7 +3497,7 @@ export async function serve(opts) {
3402
3497
  : forACard && needsRunning
3403
3498
  // The script this board declared for the repository this card is in, if it declared one.
3404
3499
  // Matched on the remote, the same way the base branch is.
3405
- ? await startEnvironment(cwd, (t) => log('tool', t), where.kind === 'repo' ? where.script : undefined)
3500
+ ? await stopOtherEnvironments(cwd).then(() => startEnvironment(cwd, (t) => log('tool', t), where.kind === 'repo' ? where.script : undefined))
3406
3501
  : { ran: false, ok: true, endpoints: {}, detail: '' };
3407
3502
  if (env.ran && env.ok)
3408
3503
  envUp.set(cwd, env);
@@ -3445,6 +3540,7 @@ export async function serve(opts) {
3445
3540
  envUp.set(cwd, started);
3446
3541
  },
3447
3542
  onNote: (t) => log('tool', t),
3543
+ beforeStart: () => stopOtherEnvironments(cwd),
3448
3544
  /**
3449
3545
  * Turning "ask somebody" into something that actually asks.
3450
3546
  *
@@ -3827,7 +3923,7 @@ export async function serve(opts) {
3827
3923
  flaredeck,
3828
3924
  runs: runsSet,
3829
3925
  schedules: schedulesSet,
3830
- ...(releaseSet && (isLead || isManager || soloWorker || event.hotfix === true) ? { release: releaseSet } : {}),
3926
+ ...(releaseSet && (isLead || isManager || soloWorker || namedReleaser || event.hotfix === true) ? { release: releaseSet } : {}),
3831
3927
  },
3832
3928
  guard: {
3833
3929
  ...guard,
@@ -3938,6 +4034,8 @@ export async function serve(opts) {
3938
4034
  log('warn', `${r.status.over.message} — Claude answers from the next turn`);
3939
4035
  });
3940
4036
  }
4037
+ if (out.kind === 'tool' && !out.sub)
4038
+ noteHandoverTool(handoverLog, key, out.name, Date.now());
3941
4039
  if (out.kind === 'tool') {
3942
4040
  const stepBack = struggling.saw(out.name);
3943
4041
  if (stepBack) {
@@ -4168,6 +4266,17 @@ export async function serve(opts) {
4168
4266
  return flaredeckProxy(config.mcpServerName, config.mcpUrl, opts.auth, check.discovered);
4169
4267
  }
4170
4268
  async function wrapUp(key, cwd, done = false) {
4269
+ // Nothing to hand over: the session changed nothing since it last wrote the card's notes, or
4270
+ // never changed anything. A handover reopens the whole session (often 70k-126k tokens, the
4271
+ // cache long cold) to say so: JARVIS spent about half its turns on 20 Oct rewriting notes it
4272
+ // had just written (HR-0759 five times in three minutes). A finished card is always handed over.
4273
+ if (!done && !handoverNeeded(handoverLog.get(key))) {
4274
+ log('tool', `${key}: nothing changed since the last handover — closing without another`);
4275
+ handoverLog.delete(key);
4276
+ sessions.delete(key);
4277
+ return;
4278
+ }
4279
+ handoverLog.delete(key);
4171
4280
  // Resume the session the work actually happened in — NOT the options the turn started with.
4172
4281
  // On a new card those carry no resume id, so reusing them would open a third session and ask
4173
4282
  // an agent with no memory of the work to summarise it. It would answer, too.
@@ -4228,6 +4337,13 @@ export async function serve(opts) {
4228
4337
  '',
4229
4338
  'Keep it short. If there is genuinely nothing worth passing on, say so and write nothing —',
4230
4339
  'an empty note is better than a paragraph restating the card.',
4340
+ '',
4341
+ // HAL stopped a browser check six minutes into its run on this handover, "so nothing is
4342
+ // left running", and the next session started it over (HR-1074, 20 Oct). The card is
4343
+ // not finished: the environment and a run being waited on are what the next session needs.
4344
+ 'Do NOT stop anything that is still running: the environment, a test run or a background',
4345
+ 'job you are waiting on. The card is not finished, and the next session on it picks those',
4346
+ 'up. Say in the note what is still running and where its result will be.',
4231
4347
  ]).join('\n'), {
4232
4348
  config: { ...config, repo: cwd },
4233
4349
  decider: sessionDecider,