@onepointfour-packs/flaredeck-agent 0.2.182 → 0.2.184
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/comment-merge.d.ts +18 -0
- package/dist/comment-merge.js +38 -0
- package/dist/comment-merge.js.map +1 -0
- package/dist/flaredeck-proxy.d.ts +2 -1
- package/dist/flaredeck-proxy.js +22 -1
- package/dist/flaredeck-proxy.js.map +1 -1
- package/dist/flaredeck.d.ts +7 -0
- package/dist/flaredeck.js +4 -0
- package/dist/flaredeck.js.map +1 -1
- package/dist/log-ship.d.ts +29 -0
- package/dist/log-ship.js +42 -0
- package/dist/log-ship.js.map +1 -0
- package/dist/serve.js +84 -9
- package/dist/serve.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StreamEvent } from './stream.js';
|
|
2
|
+
/** Other queued comments on the same card as `first`, oldest first. */
|
|
3
|
+
export declare function mergeableComments(queue: StreamEvent[], first: StreamEvent): StreamEvent[];
|
|
4
|
+
/** One event standing for several comments on one card: every line, in order, under the first's id. */
|
|
5
|
+
export declare function combineComments(first: StreamEvent, rest: StreamEvent[]): StreamEvent;
|
|
6
|
+
/** Why a card parked on a person comes back, or null while it should stay parked. */
|
|
7
|
+
export declare function unparkReason(o: {
|
|
8
|
+
byPerson: boolean;
|
|
9
|
+
decided: boolean;
|
|
10
|
+
stale: boolean;
|
|
11
|
+
cleared: boolean;
|
|
12
|
+
}): 'answered' | 'cleared' | 'stale' | 'decided' | null;
|
|
13
|
+
/** A comment from this agent's lead or manager that names it: their instructions reach a parked card. */
|
|
14
|
+
export declare function isBossInstruction(e: {
|
|
15
|
+
event: string;
|
|
16
|
+
actor?: string;
|
|
17
|
+
mentioned?: boolean;
|
|
18
|
+
}, bosses: Set<string>): boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const isComment = (e) => e.event === 'commented' || e.event === 'mentioned';
|
|
2
|
+
/** Other queued comments on the same card as `first`, oldest first. */
|
|
3
|
+
export function mergeableComments(queue, first) {
|
|
4
|
+
if (!first.cardKey || !isComment(first))
|
|
5
|
+
return [];
|
|
6
|
+
return queue.filter((q) => q !== first && q.cardKey === first.cardKey && isComment(q));
|
|
7
|
+
}
|
|
8
|
+
/** One event standing for several comments on one card: every line, in order, under the first's id. */
|
|
9
|
+
export function combineComments(first, rest) {
|
|
10
|
+
if (!rest.length)
|
|
11
|
+
return first;
|
|
12
|
+
const all = [first, ...rest];
|
|
13
|
+
return {
|
|
14
|
+
...first,
|
|
15
|
+
event: all.some((e) => e.event === 'mentioned') ? 'mentioned' : first.event,
|
|
16
|
+
mentioned: all.some((e) => e.mentioned === true) || undefined,
|
|
17
|
+
forYou: all.some((e) => e.forYou === true) || first.forYou,
|
|
18
|
+
line: `${all.length} comments arrived on this card while you were busy. Read them together, and answer once:\\n\\n${all.map((e, i) => `${i + 1}. ${e.line}`).join('\\n\\n')}`,
|
|
19
|
+
message: all.map((e) => e.message ?? '').filter(Boolean).join('\\n\\n---\\n\\n') || first.message,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** Why a card parked on a person comes back, or null while it should stay parked. */
|
|
23
|
+
export function unparkReason(o) {
|
|
24
|
+
if (o.byPerson)
|
|
25
|
+
return 'answered';
|
|
26
|
+
if (o.decided)
|
|
27
|
+
return 'decided';
|
|
28
|
+
if (o.cleared)
|
|
29
|
+
return 'cleared';
|
|
30
|
+
if (o.stale)
|
|
31
|
+
return 'stale';
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
/** A comment from this agent's lead or manager that names it: their instructions reach a parked card. */
|
|
35
|
+
export function isBossInstruction(e, bosses) {
|
|
36
|
+
return (e.event === 'commented' || e.event === 'mentioned') && e.mentioned === true && bosses.has(String(e.actor ?? '').trim().toLowerCase());
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=comment-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comment-merge.js","sourceRoot":"","sources":["../src/comment-merge.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;AAEzF,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,KAAoB,EAAE,KAAkB;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,IAAmB;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7B,OAAO;QACL,GAAG,KAAK;QACR,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;QAC3E,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,SAAS;QAC7D,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;QAC1D,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,iGAAiG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC7K,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO;KACnF,CAAC;AACnB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,CAA4E;IACvG,IAAI,CAAC,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IAClC,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,iBAAiB,CAAC,CAAyD,EAAE,MAAmB;IAC9G,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAChJ,CAAC"}
|
|
@@ -102,6 +102,7 @@ export declare const MANAGER_ONLY: readonly string[];
|
|
|
102
102
|
export declare function offeredTo(role: 'worker' | 'lead' | 'manager', name: string): boolean;
|
|
103
103
|
export declare const NOT_FOR_WORKERS: readonly string[];
|
|
104
104
|
export declare function cardIn(args: Record<string, unknown>): string;
|
|
105
|
+
export declare function isAfterReleaseMove(toLane: string, currentLaneType: string | null | undefined, currentLaneName?: string, released?: boolean): boolean;
|
|
105
106
|
export declare function CLAIMS_DONE(name: string, args: Record<string, unknown>): boolean;
|
|
106
107
|
/** The in-process server: FlareDeck's tools, forwarded with a fresh token each time. */
|
|
107
108
|
export declare function flaredeckProxy(serverName: string, mcpUrl: string, token: () => Promise<string>, discovered: Discovered, warn?: (s: string) => void,
|
|
@@ -109,7 +110,7 @@ export declare function flaredeckProxy(serverName: string, mcpUrl: string, token
|
|
|
109
110
|
* Why this card may not be called finished yet, or null when it may. Consulted at the moment a
|
|
110
111
|
* tool would report it done, because that is the only moment a wrong claim can still be caught.
|
|
111
112
|
*/
|
|
112
|
-
tooEarly?: () => Promise<string | null>,
|
|
113
|
+
tooEarly?: (toLane?: string) => Promise<string | null>,
|
|
113
114
|
/** The card a call names, so the pane can say what is being worked rather than what woke it. */
|
|
114
115
|
onCard?: (code: string) => void,
|
|
115
116
|
/** Which tools this agent gets. Everything, for a lead. */
|
package/dist/flaredeck-proxy.js
CHANGED
|
@@ -232,6 +232,27 @@ export function cardIn(args) {
|
|
|
232
232
|
* create-card-comment, so a comment can close a card without any status tool being used.
|
|
233
233
|
*/
|
|
234
234
|
const DONE_LANES = /await|deploy|done|complete|review|signoff|sign-off|qa|test/i;
|
|
235
|
+
/**
|
|
236
|
+
* Lanes a card reaches AFTER its work was released: testing it, and handing it to the person who
|
|
237
|
+
* reviews it. Moving a released card there is the worker's next step in the board's flow, not a claim
|
|
238
|
+
* that the work is finished — HR-0885 (18 Oct) was refused "Ready for review" and handed back to its
|
|
239
|
+
* lead, which also took the card off Kelsey, whom the worker had just assigned as its tester.
|
|
240
|
+
*/
|
|
241
|
+
const AFTER_RELEASE_LANES = /review|test|qa|signoff|sign-off|bug/i;
|
|
242
|
+
/** Lane types a card is in BEFORE release: there the gate still applies, whatever the target. */
|
|
243
|
+
const BEFORE_RELEASE_TYPES = new Set(['todo', 'bug', 'inprogress', 'backlog', '']);
|
|
244
|
+
export function isAfterReleaseMove(toLane, currentLaneType, currentLaneName = '', released = false) {
|
|
245
|
+
if (!AFTER_RELEASE_LANES.test(toLane))
|
|
246
|
+
return false;
|
|
247
|
+
// Released at some point: its work is on an environment, even if a failed proof sent it back to Doing.
|
|
248
|
+
if (released)
|
|
249
|
+
return true;
|
|
250
|
+
const type = String(currentLaneType ?? '').toLowerCase();
|
|
251
|
+
// A card never released and still in a lane where work is done (Doing, Ready For Dev, Bugs).
|
|
252
|
+
if (BEFORE_RELEASE_TYPES.has(type) && !/test|review|deploy/i.test(currentLaneName))
|
|
253
|
+
return false;
|
|
254
|
+
return true;
|
|
255
|
+
}
|
|
235
256
|
export function CLAIMS_DONE(name, args) {
|
|
236
257
|
if (name === 'mark-card-done')
|
|
237
258
|
return true;
|
|
@@ -304,7 +325,7 @@ boards = []) {
|
|
|
304
325
|
sending[field] = body + footer;
|
|
305
326
|
}
|
|
306
327
|
if (CLAIMS_DONE(t.name, sending)) {
|
|
307
|
-
const why = await tooEarly();
|
|
328
|
+
const why = await tooEarly(String(sending['status'] ?? sending['lane'] ?? sending['column'] ?? ''));
|
|
308
329
|
if (why)
|
|
309
330
|
return { content: [{ type: 'text', text: `❌ ${why}` }], isError: true };
|
|
310
331
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flaredeck-proxy.js","sourceRoot":"","sources":["../src/flaredeck-proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flaredeck-proxy.js","sourceRoot":"","sources":["../src/flaredeck-proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/flaredeck.d.ts
CHANGED
|
@@ -123,6 +123,13 @@ export declare class Flaredeck {
|
|
|
123
123
|
resumed: boolean;
|
|
124
124
|
why?: string;
|
|
125
125
|
}>;
|
|
126
|
+
/** A batch of this agent's log lines, for FlareDeck to keep (BigQuery). See log-ship.ts. */
|
|
127
|
+
shipLog(lines: Array<{
|
|
128
|
+
at: number;
|
|
129
|
+
kind: string;
|
|
130
|
+
text: string;
|
|
131
|
+
card?: string;
|
|
132
|
+
}>, machine: string, version: string): Promise<void>;
|
|
126
133
|
/** The wall is gone — tell the lead once. Resuming stays the lead's decision. */
|
|
127
134
|
ready(): Promise<void>;
|
|
128
135
|
/** Every board with its lanes (key, name, type, order), as the REST API lists them. */
|
package/dist/flaredeck.js
CHANGED
|
@@ -120,6 +120,10 @@ export class Flaredeck {
|
|
|
120
120
|
async resumeSelf() {
|
|
121
121
|
return this.call('/agents/me/resume', { method: 'POST', body: '{}' });
|
|
122
122
|
}
|
|
123
|
+
/** A batch of this agent's log lines, for FlareDeck to keep (BigQuery). See log-ship.ts. */
|
|
124
|
+
async shipLog(lines, machine, version) {
|
|
125
|
+
await this.call('/agent-log', { method: 'POST', body: JSON.stringify({ lines, machine, version }) });
|
|
126
|
+
}
|
|
123
127
|
/** The wall is gone — tell the lead once. Resuming stays the lead's decision. */
|
|
124
128
|
async ready() {
|
|
125
129
|
await this.call('/agents/me/ready', { method: 'POST', body: '{}' });
|
package/dist/flaredeck.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flaredeck.js","sourceRoot":"","sources":["../src/flaredeck.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flaredeck.js","sourceRoot":"","sources":["../src/flaredeck.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sends this agent's log lines to FlareDeck in batches, which writes them to BigQuery
|
|
3
|
+
* (flaredeck-mcp/src/agent-log.ts). Reading a fleet from one table beats SSHing into each machine.
|
|
4
|
+
*
|
|
5
|
+
* Never in the agent's way: lines are buffered in memory and sent every few seconds; a failed send
|
|
6
|
+
* drops that batch rather than retrying, and the buffer is bounded so an unreachable FlareDeck
|
|
7
|
+
* cannot grow it without limit. Off with FLAREDECK_AGENT_SHIP_LOGS=0.
|
|
8
|
+
*/
|
|
9
|
+
export type ShippedLine = {
|
|
10
|
+
at: number;
|
|
11
|
+
kind: string;
|
|
12
|
+
text: string;
|
|
13
|
+
card?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare class LogShipper {
|
|
16
|
+
private send;
|
|
17
|
+
private opts;
|
|
18
|
+
private buf;
|
|
19
|
+
private timer;
|
|
20
|
+
private sending;
|
|
21
|
+
dropped: number;
|
|
22
|
+
constructor(send: (lines: ShippedLine[]) => Promise<void>, opts?: {
|
|
23
|
+
everyMs?: number;
|
|
24
|
+
maxBuffer?: number;
|
|
25
|
+
batch?: number;
|
|
26
|
+
});
|
|
27
|
+
push(line: ShippedLine): void;
|
|
28
|
+
flush(): Promise<void>;
|
|
29
|
+
}
|
package/dist/log-ship.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export class LogShipper {
|
|
2
|
+
send;
|
|
3
|
+
opts;
|
|
4
|
+
buf = [];
|
|
5
|
+
timer = null;
|
|
6
|
+
sending = false;
|
|
7
|
+
dropped = 0;
|
|
8
|
+
constructor(send, opts = {}) {
|
|
9
|
+
this.send = send;
|
|
10
|
+
this.opts = opts;
|
|
11
|
+
}
|
|
12
|
+
push(line) {
|
|
13
|
+
this.buf.push(line);
|
|
14
|
+
const max = this.opts.maxBuffer ?? 2000;
|
|
15
|
+
if (this.buf.length > max) {
|
|
16
|
+
this.dropped += this.buf.length - max;
|
|
17
|
+
this.buf.splice(0, this.buf.length - max);
|
|
18
|
+
}
|
|
19
|
+
if (!this.timer) {
|
|
20
|
+
this.timer = setTimeout(() => { this.timer = null; void this.flush(); }, this.opts.everyMs ?? 5000);
|
|
21
|
+
this.timer.unref?.();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async flush() {
|
|
25
|
+
if (this.sending || !this.buf.length)
|
|
26
|
+
return;
|
|
27
|
+
this.sending = true;
|
|
28
|
+
const batch = this.buf.splice(0, this.opts.batch ?? 500);
|
|
29
|
+
try {
|
|
30
|
+
await this.send(batch);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
this.dropped += batch.length;
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
this.sending = false;
|
|
37
|
+
}
|
|
38
|
+
if (this.buf.length)
|
|
39
|
+
void this.flush();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=log-ship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-ship.js","sourceRoot":"","sources":["../src/log-ship.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,UAAU;IAOX;IACA;IAPF,GAAG,GAAkB,EAAE,CAAC;IACxB,KAAK,GAA0B,IAAI,CAAC;IACpC,OAAO,GAAG,KAAK,CAAC;IACxB,OAAO,GAAG,CAAC,CAAC;IAEZ,YACU,IAA6C,EAC7C,OAAiE,EAAE;QADnE,SAAI,GAAJ,IAAI,CAAyC;QAC7C,SAAI,GAAJ,IAAI,CAA+D;IAC1E,CAAC;IAEJ,IAAI,CAAC,IAAiB;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAAC,CAAC;QAChH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YACpG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;QAAC,CAAC;gBAC/D,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAAC,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACF"}
|
package/dist/serve.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hostname } from 'node:os';
|
|
1
2
|
import { execFile, spawn } from 'node:child_process';
|
|
2
3
|
import { EventEmitter } from 'node:events';
|
|
3
4
|
import { createRequire } from 'node:module';
|
|
@@ -49,6 +50,9 @@ import { environmentTools } from './envtools.js';
|
|
|
49
50
|
import { watchForDesperation } from './desperation.js';
|
|
50
51
|
import { note, recallWorktree, rememberWorktree, resumeBrief } from './journal.js';
|
|
51
52
|
import { EventStream, describeFailure } from './stream.js';
|
|
53
|
+
import { mergeableComments, combineComments, unparkReason, isBossInstruction } from './comment-merge.js';
|
|
54
|
+
import { LogShipper } from './log-ship.js';
|
|
55
|
+
import { isAfterReleaseMove } from './flaredeck-proxy.js';
|
|
52
56
|
import { canPublish, canPushTo } from './githubauth.js';
|
|
53
57
|
/**
|
|
54
58
|
* The always-on agent.
|
|
@@ -169,6 +173,9 @@ export async function serve(opts) {
|
|
|
169
173
|
// what it was for — the card number survived only in the branch name.
|
|
170
174
|
let tag = '';
|
|
171
175
|
agentLogFor(opts.agent ?? 'flaredeck-agent');
|
|
176
|
+
const shipper = opts.deck && process.env['FLAREDECK_AGENT_SHIP_LOGS'] !== '0'
|
|
177
|
+
? new LogShipper((lines) => opts.deck.shipLog(lines, hostname().split('.')[0] || 'unknown', harnessVersion()))
|
|
178
|
+
: null;
|
|
172
179
|
const log = (kind, text) => {
|
|
173
180
|
const line = tag ? { kind, text, card: tag } : { kind, text };
|
|
174
181
|
// Kept for the next session on this card. Tools and its own words say what it was doing;
|
|
@@ -181,6 +188,7 @@ export async function serve(opts) {
|
|
|
181
188
|
state.lines.splice(0, state.lines.length - 400);
|
|
182
189
|
ui?.log(line);
|
|
183
190
|
writeAgentLog(line);
|
|
191
|
+
shipper?.push({ at: Date.now(), kind, text, ...(tag ? { card: tag } : {}) });
|
|
184
192
|
};
|
|
185
193
|
const updated = process.env['FLAREDECK_AGENT_UPDATED'];
|
|
186
194
|
if (updated)
|
|
@@ -946,6 +954,7 @@ export async function serve(opts) {
|
|
|
946
954
|
/** Who this agent reports to, when it is a worker on a team: script requests go there first. */
|
|
947
955
|
let leadId = null;
|
|
948
956
|
let leadName = '';
|
|
957
|
+
const bosses = new Set();
|
|
949
958
|
/** A lead's surface is wider than a worker's, so the tool list is too. */
|
|
950
959
|
let isLead = false;
|
|
951
960
|
/** A manager: above the leads, with no lead of its own. See MANAGER_BRIEF. */
|
|
@@ -993,6 +1002,14 @@ export async function serve(opts) {
|
|
|
993
1002
|
const lead = team.you.reportsTo ? team.agents.find((a) => a.agentId === team.you.reportsTo) : undefined;
|
|
994
1003
|
leadId = team.you.reportsTo || null;
|
|
995
1004
|
leadName = lead?.name ?? leadId ?? '';
|
|
1005
|
+
// Who may direct this agent's work on a card that is parked on a person: its lead and the
|
|
1006
|
+
// team's managers. Their instructions reach it; other agents' chatter still does not.
|
|
1007
|
+
bosses.clear();
|
|
1008
|
+
if (leadName)
|
|
1009
|
+
bosses.add(leadName.trim().toLowerCase());
|
|
1010
|
+
for (const a of team.agents)
|
|
1011
|
+
if (a.role === 'manager' && a.name)
|
|
1012
|
+
bosses.add(a.name.trim().toLowerCase());
|
|
996
1013
|
if (leadId)
|
|
997
1014
|
log('tool', `your lead is ${leadName} — ${leadName} verifies your work before it goes anywhere`);
|
|
998
1015
|
isLead = team.you.role === 'lead';
|
|
@@ -1740,9 +1757,25 @@ export async function serve(opts) {
|
|
|
1740
1757
|
* did before this existed.
|
|
1741
1758
|
*/
|
|
1742
1759
|
const myBoards = new Set((config.boards ?? []).map((b) => b.key));
|
|
1760
|
+
/**
|
|
1761
|
+
* A sweep that found nothing is not repeated until something happens. TARS spent a 78k turn every
|
|
1762
|
+
* hour on 17 Oct saying "HR-0635 is in Doing, the harness will pick it up": the card was waiting on
|
|
1763
|
+
* a person, so FlareDeck rightly would not offer it, and the sweep re-read the same list each time.
|
|
1764
|
+
* Anything new reaches a worker as an event anyway; the next-card check still runs every tick.
|
|
1765
|
+
*/
|
|
1766
|
+
let sweptSinceLastEvent = false;
|
|
1743
1767
|
const enqueue = (event, front = false) => {
|
|
1744
1768
|
if (pending.has(event.id))
|
|
1745
1769
|
return false;
|
|
1770
|
+
// Workers only: a lead's or manager's sweep also finds cards nobody holds, and those send no event.
|
|
1771
|
+
if (event.event === 'sweep' && !isLead && !isManager) {
|
|
1772
|
+
if (sweptSinceLastEvent)
|
|
1773
|
+
return false;
|
|
1774
|
+
sweptSinceLastEvent = true;
|
|
1775
|
+
}
|
|
1776
|
+
else {
|
|
1777
|
+
sweptSinceLastEvent = false;
|
|
1778
|
+
}
|
|
1746
1779
|
pending.add(event.id);
|
|
1747
1780
|
event.receivedAt ??= Date.now();
|
|
1748
1781
|
if (front)
|
|
@@ -2232,7 +2265,7 @@ export async function serve(opts) {
|
|
|
2232
2265
|
if (restartDue())
|
|
2233
2266
|
break;
|
|
2234
2267
|
await highestFirst();
|
|
2235
|
-
|
|
2268
|
+
let event = queue.shift();
|
|
2236
2269
|
// Only what needs this agent. A card it once touched keeps sending it every move and
|
|
2237
2270
|
// comment made by whoever has it now, and each one cost a full turn — guide, card,
|
|
2238
2271
|
// orientation — to conclude "not mine". Acknowledge those without waking the model.
|
|
@@ -2254,6 +2287,22 @@ export async function serve(opts) {
|
|
|
2254
2287
|
continue;
|
|
2255
2288
|
}
|
|
2256
2289
|
}
|
|
2290
|
+
/* Comments on one card that queued up while a turn ran are ONE turn, not one each. TARS
|
|
2291
|
+
finished HR-1019 on 17 Oct to find five comments waiting on it and spent five turns of
|
|
2292
|
+
~100k saying "nothing new" to each — they had been written while it worked, and the
|
|
2293
|
+
first turn could have read them all. */
|
|
2294
|
+
const original = event;
|
|
2295
|
+
let merged = [];
|
|
2296
|
+
if ((event.event === 'commented' || event.event === 'mentioned') && event.cardKey) {
|
|
2297
|
+
merged = mergeableComments(queue, event);
|
|
2298
|
+
if (merged.length) {
|
|
2299
|
+
for (const m of merged)
|
|
2300
|
+
queue.splice(queue.indexOf(m), 1);
|
|
2301
|
+
syncQueue();
|
|
2302
|
+
event = combineComments(event, merged);
|
|
2303
|
+
log('tool', `${event.cardCode || event.cardKey}: ${merged.length + 1} comments waiting on this card — read together in one turn`);
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2257
2306
|
// A worker saying it is free, with nothing ready to give it: the lead's model would only
|
|
2258
2307
|
// read the board and say "nothing". Five idle workers after a restart woke R2-D2 five
|
|
2259
2308
|
// times for exactly that. The dispatch timer hands work over once something IS ready.
|
|
@@ -2325,6 +2374,8 @@ export async function serve(opts) {
|
|
|
2325
2374
|
status.finishCard(didWork);
|
|
2326
2375
|
void report();
|
|
2327
2376
|
pending.delete(event.id);
|
|
2377
|
+
for (const m of merged)
|
|
2378
|
+
pending.delete(m.id);
|
|
2328
2379
|
// The plan this event ran on has just moved: read it now, so the next `choose` and the
|
|
2329
2380
|
// Secrets tab see where it stands. Not after a plan switch — that plan is filed already.
|
|
2330
2381
|
// Skipped when the run already reported usage on its own — a separate read would cost a
|
|
@@ -2338,16 +2389,20 @@ export async function serve(opts) {
|
|
|
2338
2389
|
turnPlan = null;
|
|
2339
2390
|
turnSawUsage = false;
|
|
2340
2391
|
// Before the ask/sweep branch: a sweep that hit a dead plan is retried like any other event.
|
|
2341
|
-
if (switchPlan)
|
|
2342
|
-
enqueue(
|
|
2392
|
+
if (switchPlan) {
|
|
2393
|
+
enqueue(original, true);
|
|
2394
|
+
for (const m of merged)
|
|
2395
|
+
enqueue(m);
|
|
2396
|
+
}
|
|
2343
2397
|
else if (event.event === 'ask' || event.event === 'sweep' || event.event === 'run-answered') { /* local: nothing to acknowledge, nothing to retry */ }
|
|
2344
2398
|
else if (didWork)
|
|
2345
|
-
await stream.ack([event.id]);
|
|
2399
|
+
await stream.ack([event.id, ...merged.map((m) => m.id)]);
|
|
2346
2400
|
else {
|
|
2347
2401
|
// Not acknowledged, so the server will redeliver on reconnect — but that can be a long
|
|
2348
2402
|
// way off. Try again here in a minute as well; the id set stops the two colliding.
|
|
2349
2403
|
log('warn', 'left queued — retrying in 60s, and on reconnect');
|
|
2350
|
-
setTimeout(() => {
|
|
2404
|
+
setTimeout(() => { let any = enqueue(original, true); for (const m of merged)
|
|
2405
|
+
any = enqueue(m) || any; if (any)
|
|
2351
2406
|
void drain(); }, 60_000).unref();
|
|
2352
2407
|
}
|
|
2353
2408
|
// A session ends when the model stops talking, which is not the same as the work being
|
|
@@ -2673,8 +2728,20 @@ export async function serve(opts) {
|
|
|
2673
2728
|
// and it un-parked the card a few seconds after agy flagged it.
|
|
2674
2729
|
const afterPark = (event.receivedAt ?? Date.now()) >= waiting.since;
|
|
2675
2730
|
const byPerson = (event.event === 'commented' || event.event === 'mentioned') && !!actor && !agentNames.has(actor) && afterPark;
|
|
2731
|
+
/* The lead or manager telling this agent what to do on the card. HR-0842 (18 Oct): a product
|
|
2732
|
+
question waited on Kelsey, Norm asked TARS to fix a merge conflict on the same card, and TARS
|
|
2733
|
+
left it alone four times — one open question had frozen all other work on the card. */
|
|
2734
|
+
const byBoss = isBossInstruction(event, bosses) && afterPark;
|
|
2676
2735
|
const stale = Date.now() - waiting.since > PARK_EXPIRES_MS;
|
|
2677
|
-
|
|
2736
|
+
/* The flag itself cleared — by a person, the manager, or a release — is the answer too.
|
|
2737
|
+
HR-0915 (18 Oct): Norm cleared it and released the fix to qa, and HAL left the card alone
|
|
2738
|
+
seven times, "waiting on a person", because no person had COMMENTED. */
|
|
2739
|
+
let cleared = false;
|
|
2740
|
+
if (!byPerson && event.event !== 'decided' && !stale && opts.deck) {
|
|
2741
|
+
const now = await opts.deck.card(event.cardKey || event.cardCode || '').catch(() => null);
|
|
2742
|
+
cleared = !!now && now.needs_human === false;
|
|
2743
|
+
}
|
|
2744
|
+
if (!unparkReason({ byPerson: byPerson || byBoss, decided: event.event === 'decided', stale, cleared })) {
|
|
2678
2745
|
log('event', `${label}: waiting on a person (${waiting.why}) — left alone`);
|
|
2679
2746
|
return;
|
|
2680
2747
|
}
|
|
@@ -2683,8 +2750,8 @@ export async function serve(opts) {
|
|
|
2683
2750
|
parked.delete(k);
|
|
2684
2751
|
if (presence.take(event.cardKey))
|
|
2685
2752
|
showPresence();
|
|
2686
|
-
released.set(event.cardKey, byPerson ? `${event.actor} has answered` : stale ? 'it has been waiting a while' : 'an approval was decided');
|
|
2687
|
-
log('event', `${label}: ${byPerson ? `${event.actor} answered` : stale ? 'waited long enough' : 'an approval was decided'} — picking it back up`);
|
|
2753
|
+
released.set(event.cardKey, byBoss && !byPerson ? `${event.actor} has asked you to do something on it; the question to the person may still be open — do not ask it again` : byPerson ? `${event.actor} has answered` : cleared ? 'the question on it was cleared — read the card for the answer' : stale ? 'it has been waiting a while' : 'an approval was decided');
|
|
2754
|
+
log('event', `${label}: ${byBoss && !byPerson ? `${event.actor} (your lead or manager) has work for you on it` : byPerson ? `${event.actor} answered` : cleared ? 'its needs-human flag was cleared' : stale ? 'waited long enough' : 'an approval was decided'} — picking it back up`);
|
|
2688
2755
|
}
|
|
2689
2756
|
if (event.event === 'commented' && event.cardDone && !event.mentioned) {
|
|
2690
2757
|
log('event', `${event.cardCode || event.cardKey}: comment on a finished card — nothing to do`);
|
|
@@ -2947,7 +3014,15 @@ export async function serve(opts) {
|
|
|
2947
3014
|
// token's hour keeps its tools, and nothing on this machine can shadow the server by name.
|
|
2948
3015
|
// The gate on calling a card finished: it must have commits of its own, published. Checked
|
|
2949
3016
|
// here rather than trusted, because a turn that produced nothing still reports confidently.
|
|
2950
|
-
const finishGate = async () => {
|
|
3017
|
+
const finishGate = async (toLane) => {
|
|
3018
|
+
// A released card moving on to testing or review is the next step of the board's flow.
|
|
3019
|
+
if (toLane && opts.deck) {
|
|
3020
|
+
const here = await opts.deck.card(tag || event.cardCode || event.cardKey || '').catch(() => null);
|
|
3021
|
+
if (here && isAfterReleaseMove(toLane, here.lane?.type, here.lane?.name, (Array.isArray(here.releases) && here.releases.length > 0) || !!here.deployedAt)) {
|
|
3022
|
+
log('tool', `moving ${here.code || tag} on to ${toLane} — it was released already, so this is the next step, not a hand-back`);
|
|
3023
|
+
return null;
|
|
3024
|
+
}
|
|
3025
|
+
}
|
|
2951
3026
|
const why = await tooEarlyToFinish(tree);
|
|
2952
3027
|
/* A LEAD moving a card on with nothing of its own on the branch is dispatch, not a claim of
|
|
2953
3028
|
finished work: the code lives on the worker's branch, often already merged. The gate
|