@loompad/cli 1.1.1 → 1.2.0
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/CHANGELOG.md +37 -0
- package/README.md +20 -5
- package/dist/adapters/antigravity-cli.d.ts +2 -0
- package/dist/adapters/antigravity-cli.js +20 -1
- package/dist/adapters/antigravity-cli.js.map +1 -1
- package/dist/adapters/model.js +1 -1
- package/dist/adapters/model.js.map +1 -1
- package/dist/cli/doctor.d.ts +30 -1
- package/dist/cli/doctor.js +117 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +294 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui.js +11 -7
- package/dist/cli/ui.js.map +1 -1
- package/dist/core/auto-policy.d.ts +46 -0
- package/dist/core/auto-policy.js +181 -0
- package/dist/core/auto-policy.js.map +1 -0
- package/dist/core/council.d.ts +55 -0
- package/dist/core/council.js +71 -0
- package/dist/core/council.js.map +1 -0
- package/dist/core/permissions.js +2 -2
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/prices.d.ts +55 -0
- package/dist/core/prices.js +99 -0
- package/dist/core/prices.js.map +1 -0
- package/dist/core/proof.d.ts +2 -0
- package/dist/core/proof.js +33 -10
- package/dist/core/proof.js.map +1 -1
- package/dist/core/providers.d.ts +13 -0
- package/dist/core/providers.js +17 -0
- package/dist/core/providers.js.map +1 -1
- package/dist/core/replay.js +14 -0
- package/dist/core/replay.js.map +1 -1
- package/dist/core/review.d.ts +60 -0
- package/dist/core/review.js +121 -0
- package/dist/core/review.js.map +1 -0
- package/dist/core/setup.d.ts +13 -0
- package/dist/core/setup.js +17 -1
- package/dist/core/setup.js.map +1 -1
- package/dist/core/turn-wait.d.ts +20 -0
- package/dist/core/turn-wait.js +39 -0
- package/dist/core/turn-wait.js.map +1 -0
- package/dist/core/usage.d.ts +7 -1
- package/dist/core/usage.js +11 -3
- package/dist/core/usage.js.map +1 -1
- package/dist/daemon/client.d.ts +46 -0
- package/dist/daemon/client.js +34 -0
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/council.d.ts +98 -0
- package/dist/daemon/council.js +248 -0
- package/dist/daemon/council.js.map +1 -0
- package/dist/daemon/proof.d.ts +6 -0
- package/dist/daemon/proof.js +22 -3
- package/dist/daemon/proof.js.map +1 -1
- package/dist/daemon/push.js +7 -0
- package/dist/daemon/push.js.map +1 -1
- package/dist/daemon/review.d.ts +89 -0
- package/dist/daemon/review.js +136 -0
- package/dist/daemon/review.js.map +1 -0
- package/dist/daemon/routes/council.d.ts +4 -0
- package/dist/daemon/routes/council.js +29 -0
- package/dist/daemon/routes/council.js.map +1 -0
- package/dist/daemon/routes/review.d.ts +4 -0
- package/dist/daemon/routes/review.js +40 -0
- package/dist/daemon/routes/review.js.map +1 -0
- package/dist/daemon/routes/routing.js +2 -1
- package/dist/daemon/routes/routing.js.map +1 -1
- package/dist/daemon/routes/setup.d.ts +2 -1
- package/dist/daemon/routes/setup.js +13 -5
- package/dist/daemon/routes/setup.js.map +1 -1
- package/dist/daemon/runtime/accounting.d.ts +6 -0
- package/dist/daemon/runtime/accounting.js +37 -1
- package/dist/daemon/runtime/accounting.js.map +1 -1
- package/dist/daemon/runtime/briefings.d.ts +8 -3
- package/dist/daemon/runtime/briefings.js +26 -14
- package/dist/daemon/runtime/briefings.js.map +1 -1
- package/dist/daemon/runtime.d.ts +40 -1
- package/dist/daemon/runtime.js +171 -2
- package/dist/daemon/runtime.js.map +1 -1
- package/dist/daemon/server.js +5 -1
- package/dist/daemon/server.js.map +1 -1
- package/dist/providers/agent.js +3 -0
- package/dist/providers/agent.js.map +1 -1
- package/dist/providers/claude/adapter.d.ts +3 -0
- package/dist/providers/claude/adapter.js +20 -1
- package/dist/providers/claude/adapter.js.map +1 -1
- package/dist/types.d.ts +19 -1
- package/dist/types.js.map +1 -1
- package/dist/web/app.css +48 -1
- package/dist/web/app.js +143 -12
- package/dist/web/app.js.map +3 -3
- package/docs/release-notes/v1.1.2.md +21 -0
- package/docs/release-notes/v1.2.0.md +48 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefings.js","sourceRoot":"","sources":["../../../src/daemon/runtime/briefings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"briefings.js","sourceRoot":"","sources":["../../../src/daemon/runtime/briefings.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/runtime.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { NativeUsage } from "./runtime/native-usage.js";
|
|
|
7
7
|
import { OrchestraEngine, type OrchestraCoordinator } from "../core/orchestra.js";
|
|
8
8
|
import { CrewEngine } from "../core/crew.js";
|
|
9
9
|
import { type Loop } from "../core/loops.js";
|
|
10
|
+
import { type AutoPolicy } from "../core/auto-policy.js";
|
|
10
11
|
import { QuotaRelay } from "./runtime/relay.js";
|
|
11
12
|
import { ProofRunner } from "./proof.js";
|
|
12
13
|
import { NightShift } from "./shift.js";
|
|
@@ -29,6 +30,9 @@ import { ServerFrame, TeamBrainHook } from './runtime-support.js';
|
|
|
29
30
|
import { type TurnOptions, type TurnResult } from './runtime/turns.js';
|
|
30
31
|
import { ContinuityEngine } from "../core/continuity/engine.js";
|
|
31
32
|
import { HarnessMonitor } from "../core/continuity/capabilities.js";
|
|
33
|
+
import { type ReviewTarget } from "../core/review.js";
|
|
34
|
+
import { ReviewRunner } from "./review.js";
|
|
35
|
+
import { CouncilRunner } from "./council.js";
|
|
32
36
|
import { type LiveFrame } from "../providers/live.js";
|
|
33
37
|
import { type AgentCheck } from "../adapters/base.js";
|
|
34
38
|
import type { LiveText } from "../types.js";
|
|
@@ -58,8 +62,12 @@ export declare class ProjectRuntime {
|
|
|
58
62
|
readonly relay: QuotaRelay;
|
|
59
63
|
/** Proof: checks an agent's "done" against what ran and a clean re-run of the tests. */
|
|
60
64
|
readonly proofs: ProofRunner;
|
|
65
|
+
/** Loom's Auto policy, registered by project id for this project's agents (core/auto-policy.ts). */
|
|
66
|
+
private readonly unregisterAutoPolicy;
|
|
61
67
|
/** Night Shift: a line of tasks run while you're away, then one report (daemon/shift.ts). */
|
|
62
68
|
readonly shifts: NightShift;
|
|
69
|
+
readonly reviews: ReviewRunner;
|
|
70
|
+
readonly councils: CouncilRunner;
|
|
63
71
|
/** Adapter kinds installed on this machine, probed once at open. */
|
|
64
72
|
private installedKinds;
|
|
65
73
|
/** Memory as units — see core/brain.ts. Reads and writes through `log`. */
|
|
@@ -739,6 +747,11 @@ export declare class ProjectRuntime {
|
|
|
739
747
|
* project, a dropped table. Said at once, in its chat and as a push; with
|
|
740
748
|
* shield.auto "stop" (the default on a night shift) the turn is stopped too.
|
|
741
749
|
*/
|
|
750
|
+
/** Agents whose last turn failed on sign-in, and the message — until a turn succeeds (#251). */
|
|
751
|
+
private readonly signedOutAgents;
|
|
752
|
+
private noteSignIn;
|
|
753
|
+
/** What status says about an agent's sign-in: a real failure beats the CLI's own (cached) check. */
|
|
754
|
+
private signInState;
|
|
742
755
|
private shield;
|
|
743
756
|
/** The loop card's buttons: stop the turn, nudge the agent, or hand the task to another agent. */
|
|
744
757
|
actOnLoop(chat: string, agentId: string, action: "stop" | "nudge" | "handoff", to?: string, loop?: Loop): Promise<{
|
|
@@ -814,7 +827,7 @@ export declare class ProjectRuntime {
|
|
|
814
827
|
* each child is a real CLI process with its own model calls. The cap is per
|
|
815
828
|
* project rather than global so one busy project can't starve the others.
|
|
816
829
|
*/
|
|
817
|
-
|
|
830
|
+
static readonly MAX_CONCURRENT_SUBTASKS = 4;
|
|
818
831
|
/** In-flight subtasks, by the id minted when they started. */
|
|
819
832
|
private subtasks;
|
|
820
833
|
/** Subtasks currently running, for the status payload and the cap. */
|
|
@@ -849,10 +862,34 @@ export declare class ProjectRuntime {
|
|
|
849
862
|
agentId: string;
|
|
850
863
|
task: string;
|
|
851
864
|
chat?: string;
|
|
865
|
+
/** Investigate and report, change nothing: the agent's own plan mode where it has one, and said in the brief either way (a review). */
|
|
866
|
+
readOnly?: boolean;
|
|
867
|
+
/** Told once the child's turn has ended, however it ended. */
|
|
868
|
+
onSettled?: (outcome: {
|
|
869
|
+
ok: boolean;
|
|
870
|
+
message?: string;
|
|
871
|
+
}) => void;
|
|
852
872
|
}): Promise<{
|
|
853
873
|
id: string;
|
|
854
874
|
agentId: string;
|
|
855
875
|
}>;
|
|
876
|
+
/**
|
|
877
|
+
* `loom review`: these agents read the same thing at once, read-only, off
|
|
878
|
+
* the baton (daemon/review.ts). The target is a file, free text, or —
|
|
879
|
+
* by default — the uncommitted changes.
|
|
880
|
+
*/
|
|
881
|
+
startReview(input: {
|
|
882
|
+
agents: string[];
|
|
883
|
+
file?: string;
|
|
884
|
+
text?: string;
|
|
885
|
+
focus?: string;
|
|
886
|
+
chat?: string;
|
|
887
|
+
}): Promise<import("./review.js").ReviewState>;
|
|
888
|
+
/** What a review reads: a file, free text, or the uncommitted changes. Throws when there's nothing to read. */
|
|
889
|
+
reviewTarget(input: {
|
|
890
|
+
file?: string;
|
|
891
|
+
text?: string;
|
|
892
|
+
}): ReviewTarget;
|
|
856
893
|
private subtaskBriefing;
|
|
857
894
|
private defaultAdapterId;
|
|
858
895
|
private consumePendingBriefing;
|
|
@@ -931,6 +968,8 @@ export declare class ProjectRuntime {
|
|
|
931
968
|
* at the ceiling. Plan mode can't be known when an agent is built, so
|
|
932
969
|
* `bypassRequiresPlan` treats it as off — the stricter reading.
|
|
933
970
|
*/
|
|
971
|
+
/** Loom's Auto policy for this project, read live by agents (core/auto-policy.ts). */
|
|
972
|
+
autoPolicy(): AutoPolicy;
|
|
934
973
|
private policyOptions;
|
|
935
974
|
/** Phase 5: this project is a runner's workspace for one goal (D70). */
|
|
936
975
|
runnerMode: boolean;
|
package/dist/daemon/runtime.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
1
|
+
import { execFileSync, execSync } from "node:child_process";
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { createAgent, isWithdrawnKind, knownAgentKinds, tierForKind } from "../adapters/index.js";
|
|
@@ -20,6 +20,11 @@ import { OrchestraEngine } from "../core/orchestra.js";
|
|
|
20
20
|
import { CrewEngine } from "../core/crew.js";
|
|
21
21
|
import { LoopWatch, nudgeText } from "../core/loops.js";
|
|
22
22
|
import { commandOf, dangerOf } from "../core/shield.js";
|
|
23
|
+
import { registerAutoPolicy } from "../core/auto-policy.js";
|
|
24
|
+
import { detectTestCommand } from "../core/proof.js";
|
|
25
|
+
import { knownAuth, signInCommand } from "../core/setup.js";
|
|
26
|
+
/** What a CLI says when it isn't signed in. */
|
|
27
|
+
const SIGNED_OUT = /\b(?:not signed in|not logged in|please (?:run )?\S*\s*\/?login|run `?[\w-]+ (?:auth )?login|sign in (?:first|again)|authentication (?:required|failed)|unauthori[sz]ed|invalid (?:api key|credentials)|401\b)/i;
|
|
23
28
|
import { QuotaRelay } from "./runtime/relay.js";
|
|
24
29
|
import { ProofRunner } from "./proof.js";
|
|
25
30
|
import { NightShift } from "./shift.js";
|
|
@@ -50,6 +55,9 @@ import { ContinuityEngine } from "../core/continuity/engine.js";
|
|
|
50
55
|
import { ContinuityError } from "../core/continuity/contracts.js";
|
|
51
56
|
import { HarnessMonitor, isNativeKind } from "../core/continuity/capabilities.js";
|
|
52
57
|
import { ProviderAgent } from "../providers/agent.js";
|
|
58
|
+
import { READ_ONLY_RULE } from "../core/review.js";
|
|
59
|
+
import { ReviewRunner } from "./review.js";
|
|
60
|
+
import { CouncilRunner } from "./council.js";
|
|
53
61
|
import { LiveDeltaThrottle } from "../providers/live.js";
|
|
54
62
|
import { AdapterBase } from "../adapters/base.js";
|
|
55
63
|
export { BudgetExceededError, CLOCK_TICK_MS, LOOM_ASK_TIMEOUT_MESSAGE, LOOM_ASK_TIMEOUT_MS, LoomAskTimeoutError, QuarantinedError, activityLine, planModeBriefing, relativeToProject, withLoomAskTimeout } from './runtime-support.js';
|
|
@@ -112,8 +120,12 @@ export class ProjectRuntime {
|
|
|
112
120
|
relay;
|
|
113
121
|
/** Proof: checks an agent's "done" against what ran and a clean re-run of the tests. */
|
|
114
122
|
proofs;
|
|
123
|
+
/** Loom's Auto policy, registered by project id for this project's agents (core/auto-policy.ts). */
|
|
124
|
+
unregisterAutoPolicy;
|
|
115
125
|
/** Night Shift: a line of tasks run while you're away, then one report (daemon/shift.ts). */
|
|
116
126
|
shifts;
|
|
127
|
+
reviews;
|
|
128
|
+
councils;
|
|
117
129
|
/** Adapter kinds installed on this machine, probed once at open. */
|
|
118
130
|
installedKinds = [];
|
|
119
131
|
/** Memory as units — see core/brain.ts. Reads and writes through `log`. */
|
|
@@ -357,6 +369,7 @@ export class ProjectRuntime {
|
|
|
357
369
|
append: (e) => (this.closed ? { ...e, id: -1, ts: Date.now() } : this.log.append(e)),
|
|
358
370
|
warn: (message, detail) => logbook.warn("relay", message, String(detail), this.info.id),
|
|
359
371
|
});
|
|
372
|
+
this.unregisterAutoPolicy = registerAutoPolicy(info.id, () => this.autoPolicy());
|
|
360
373
|
this.proofs = new ProofRunner({
|
|
361
374
|
projectId: info.id,
|
|
362
375
|
dir: info.dir,
|
|
@@ -384,6 +397,61 @@ export class ProjectRuntime {
|
|
|
384
397
|
append: (e) => (this.closed ? { ...e, id: -1, ts: Date.now() } : this.log.append(e)),
|
|
385
398
|
warn: (message, detail) => logbook.warn("shift", message, String(detail), this.info.id),
|
|
386
399
|
});
|
|
400
|
+
this.reviews = new ReviewRunner({
|
|
401
|
+
hasAgent: (id) => this.config.agents.some((a) => a.id === id),
|
|
402
|
+
canReview: (id) => {
|
|
403
|
+
const cfg = this.config.agents.find((a) => a.id === id);
|
|
404
|
+
return Boolean(cfg && cfg.enabled !== false && this.agents.has(id) && isAdapter(this.agent(id)));
|
|
405
|
+
},
|
|
406
|
+
holder: () => this.baton.holder() ?? undefined,
|
|
407
|
+
createChat: (title) => this.createChat(title),
|
|
408
|
+
spawn: (parent, opts) => this.spawnSubAgent(parent, opts),
|
|
409
|
+
list: (opts) => this.log.list(opts),
|
|
410
|
+
append: (e) => (this.closed ? { ...e, id: -1, ts: Date.now() } : this.log.append(e)),
|
|
411
|
+
// an accepted finding is a decision like `loom decision`: the event, and the memory every briefing carries
|
|
412
|
+
decide: (text) => {
|
|
413
|
+
if (this.closed)
|
|
414
|
+
return;
|
|
415
|
+
const event = this.log.append({ kind: "decision", payload: { text, source: "review" } });
|
|
416
|
+
this.brain.add({ kind: "decision", text, provenance: { agentId: "user", eventId: event.id, ts: event.ts } });
|
|
417
|
+
},
|
|
418
|
+
maxReviewers: ProjectRuntime.MAX_CONCURRENT_SUBTASKS,
|
|
419
|
+
});
|
|
420
|
+
this.councils = new CouncilRunner({
|
|
421
|
+
hasAgent: (id) => this.config.agents.some((a) => a.id === id),
|
|
422
|
+
canWrite: (id) => {
|
|
423
|
+
const cfg = this.config.agents.find((a) => a.id === id);
|
|
424
|
+
if (!cfg || cfg.enabled === false || !this.agents.has(id) || !isAdapter(this.agent(id)))
|
|
425
|
+
return false;
|
|
426
|
+
return cfg.kind !== "model" || Boolean(cfg.options?.write); // a model agent without write only answers
|
|
427
|
+
},
|
|
428
|
+
createChat: (title) => this.createChat(title),
|
|
429
|
+
holder: () => this.baton.holder() ?? undefined,
|
|
430
|
+
handoff: (to) => this.handoff(to, { source: "route" }),
|
|
431
|
+
send: (agentId, text, opts) => this.sendMessage(text, agentId, { chat: opts.chat, plan: opts.plan, source: "route" }),
|
|
432
|
+
interrupt: (chat) => this.interrupt({ chat, source: "route" }),
|
|
433
|
+
checkReviewers: (ids) => this.reviews.check(ids),
|
|
434
|
+
startReview: (input) => this.reviews.start(input),
|
|
435
|
+
reviewStatus: (id) => this.reviews.status(id),
|
|
436
|
+
diffTarget: () => this.reviewTarget({}),
|
|
437
|
+
decide: (id, decision, note) => void this.reviews.decide(id, decision, note),
|
|
438
|
+
// the turn may already be being checked (Proof checks a reply that claims something by itself): use that one
|
|
439
|
+
prove: async (chat) => {
|
|
440
|
+
const t = this.proofs.turn(chat);
|
|
441
|
+
if (!t)
|
|
442
|
+
return null;
|
|
443
|
+
for (let i = 0; i < 1200 && this.proofs.busy; i++)
|
|
444
|
+
await new Promise((r) => setTimeout(r, 250));
|
|
445
|
+
const had = this.log.list({ kinds: ["proof"], chat }).reverse().find((e) => e.payload.turn?.done === t.done.id);
|
|
446
|
+
if (had)
|
|
447
|
+
return { verdict: String(had.payload.verdict), headline: String(had.payload.headline) };
|
|
448
|
+
return this.proofs.prove(chat);
|
|
449
|
+
},
|
|
450
|
+
list: (opts) => this.log.list(opts),
|
|
451
|
+
append: (e) => (this.closed ? { ...e, id: -1, ts: Date.now() } : this.log.append(e)),
|
|
452
|
+
lastId: () => this.log.list({ limit: 1 }).at(-1)?.id ?? 0,
|
|
453
|
+
warn: (message, detail) => logbook.warn("council", message, String(detail), this.info.id),
|
|
454
|
+
});
|
|
387
455
|
this.crews = new CrewEngine({
|
|
388
456
|
projectId: info.id,
|
|
389
457
|
projectName: info.name,
|
|
@@ -1976,6 +2044,7 @@ export class ProjectRuntime {
|
|
|
1976
2044
|
afterAgentEvent(event) {
|
|
1977
2045
|
this.trackCost(event);
|
|
1978
2046
|
this.shield(event);
|
|
2047
|
+
this.noteSignIn(event);
|
|
1979
2048
|
const loop = this.loops.observe(event);
|
|
1980
2049
|
if (loop)
|
|
1981
2050
|
void this.onLoop(loop).catch((err) => logbook.warn("loops", "couldn't act on a loop", String(err), this.info.id));
|
|
@@ -2420,6 +2489,29 @@ export class ProjectRuntime {
|
|
|
2420
2489
|
* project, a dropped table. Said at once, in its chat and as a push; with
|
|
2421
2490
|
* shield.auto "stop" (the default on a night shift) the turn is stopped too.
|
|
2422
2491
|
*/
|
|
2492
|
+
/** Agents whose last turn failed on sign-in, and the message — until a turn succeeds (#251). */
|
|
2493
|
+
signedOutAgents = new Map();
|
|
2494
|
+
noteSignIn(event) {
|
|
2495
|
+
if (!event.agentId)
|
|
2496
|
+
return;
|
|
2497
|
+
if (event.kind === "run_complete" && !event.payload.error) {
|
|
2498
|
+
this.signedOutAgents.delete(event.agentId);
|
|
2499
|
+
return;
|
|
2500
|
+
}
|
|
2501
|
+
const message = event.kind === "error" ? String(event.payload.message ?? "") : event.kind === "run_complete" ? String(event.payload.error ?? "") : "";
|
|
2502
|
+
if (message && SIGNED_OUT.test(message))
|
|
2503
|
+
this.signedOutAgents.set(event.agentId, message.split("\n")[0].slice(0, 200));
|
|
2504
|
+
}
|
|
2505
|
+
/** What status says about an agent's sign-in: a real failure beats the CLI's own (cached) check. */
|
|
2506
|
+
signInState(agentId, kind) {
|
|
2507
|
+
const learned = this.signedOutAgents.get(agentId);
|
|
2508
|
+
if (learned)
|
|
2509
|
+
return { signedOut: `${learned}${signInCommand(kind) ? ` — ${signInCommand(kind)}` : ""}` };
|
|
2510
|
+
if (!signInCommand(kind) || process.env.LOOM_NO_AUTH_PROBE)
|
|
2511
|
+
return {};
|
|
2512
|
+
const auth = knownAuth(kind);
|
|
2513
|
+
return auth?.authed === false ? { signedOut: `${auth.detail ?? "not signed in"} — ${signInCommand(kind)}` } : {};
|
|
2514
|
+
}
|
|
2423
2515
|
shield(event) {
|
|
2424
2516
|
if (!event.agentId)
|
|
2425
2517
|
return;
|
|
@@ -2697,25 +2789,42 @@ export class ProjectRuntime {
|
|
|
2697
2789
|
});
|
|
2698
2790
|
await this.ensureStarted(opts.agentId);
|
|
2699
2791
|
const mcp = child.capabilities.mcp ? writeMcpSession(this.healthyMcps()) : null;
|
|
2792
|
+
const brief = this.subtaskBriefing(parentAgentId, opts.agentId, task);
|
|
2700
2793
|
const input = {
|
|
2701
2794
|
text: task,
|
|
2702
2795
|
chat,
|
|
2703
|
-
briefing:
|
|
2796
|
+
briefing: opts.readOnly ? `${brief}\n\n${READ_ONLY_RULE}` : brief,
|
|
2797
|
+
...(opts.readOnly && child instanceof ProviderAgent ? { interactionMode: "plan" } : {}),
|
|
2704
2798
|
...(mcp ? { mcp: { configPath: mcp.configPath, servers: mcp.servers } } : {}),
|
|
2705
2799
|
};
|
|
2800
|
+
const startedAt = Date.now();
|
|
2801
|
+
// the child's reply belongs to the chat it was asked in, not wherever it last talked
|
|
2802
|
+
this.turns.turnChat.set(opts.agentId, chat);
|
|
2706
2803
|
void child
|
|
2707
2804
|
.send(input)
|
|
2708
2805
|
.then(() => {
|
|
2709
2806
|
this.subtasks.delete(id);
|
|
2807
|
+
// an adapter can report a failed turn as an error event and still resolve: that subtask
|
|
2808
|
+
// failed — it isn't "done" (#247)
|
|
2809
|
+
const failed = this.log.list({ chat, agentId: opts.agentId, kinds: ["error", "run_complete"], sinceTs: startedAt })
|
|
2810
|
+
.reverse().find((e) => e.kind === "error" || Boolean(e.payload.error));
|
|
2811
|
+
if (failed) {
|
|
2812
|
+
const message = String(failed.payload.message ?? failed.payload.error ?? "the turn failed").slice(0, 500);
|
|
2813
|
+
this.appendIfOpen({ kind: "subtask_failed", agentId: opts.agentId, chat, payload: { subtaskId: id, parent: parentAgentId, task, message } });
|
|
2814
|
+
opts.onSettled?.({ ok: false, message });
|
|
2815
|
+
return;
|
|
2816
|
+
}
|
|
2710
2817
|
this.appendIfOpen({
|
|
2711
2818
|
kind: "subtask_done",
|
|
2712
2819
|
agentId: opts.agentId,
|
|
2713
2820
|
chat,
|
|
2714
2821
|
payload: { subtaskId: id, parent: parentAgentId, task },
|
|
2715
2822
|
});
|
|
2823
|
+
opts.onSettled?.({ ok: true });
|
|
2716
2824
|
})
|
|
2717
2825
|
.catch((err) => {
|
|
2718
2826
|
this.subtasks.delete(id);
|
|
2827
|
+
opts.onSettled?.({ ok: false, message: String(err instanceof Error ? err.message : err) });
|
|
2719
2828
|
this.appendIfOpen({
|
|
2720
2829
|
kind: "subtask_failed",
|
|
2721
2830
|
agentId: opts.agentId,
|
|
@@ -2731,6 +2840,51 @@ export class ProjectRuntime {
|
|
|
2731
2840
|
.finally(() => mcp?.cleanup());
|
|
2732
2841
|
return { id, agentId: opts.agentId };
|
|
2733
2842
|
}
|
|
2843
|
+
/**
|
|
2844
|
+
* `loom review`: these agents read the same thing at once, read-only, off
|
|
2845
|
+
* the baton (daemon/review.ts). The target is a file, free text, or —
|
|
2846
|
+
* by default — the uncommitted changes.
|
|
2847
|
+
*/
|
|
2848
|
+
async startReview(input) {
|
|
2849
|
+
this.reviews.check(input.agents); // who, before reading any diff
|
|
2850
|
+
const target = this.reviewTarget(input);
|
|
2851
|
+
return this.reviews.start({ agents: input.agents, target, ...(input.focus ? { focus: input.focus } : {}), ...(input.chat ? { chat: input.chat } : {}) });
|
|
2852
|
+
}
|
|
2853
|
+
/** What a review reads: a file, free text, or the uncommitted changes. Throws when there's nothing to read. */
|
|
2854
|
+
reviewTarget(input) {
|
|
2855
|
+
let target;
|
|
2856
|
+
if (input.file?.trim()) {
|
|
2857
|
+
const rel = path.relative(this.info.dir, path.resolve(this.info.dir, input.file.trim()));
|
|
2858
|
+
if (rel.startsWith("..") || path.isAbsolute(rel))
|
|
2859
|
+
throw new Error(`${input.file} is outside the project`);
|
|
2860
|
+
if (!fs.existsSync(path.join(this.info.dir, rel)))
|
|
2861
|
+
throw new Error(`no file ${rel} in this project`);
|
|
2862
|
+
target = { kind: "file", file: rel.split(path.sep).join("/") };
|
|
2863
|
+
}
|
|
2864
|
+
else if (input.text?.trim()) {
|
|
2865
|
+
target = { kind: "text", text: input.text.trim() };
|
|
2866
|
+
}
|
|
2867
|
+
else {
|
|
2868
|
+
const git = (...args) => execFileSync("git", args, { cwd: this.info.dir, encoding: "utf8", maxBuffer: 32 * 1024 * 1024, timeout: 15_000, stdio: ["ignore", "pipe", "ignore"] });
|
|
2869
|
+
let diff = "", untracked = [];
|
|
2870
|
+
try {
|
|
2871
|
+
try {
|
|
2872
|
+
diff = git("diff", "HEAD");
|
|
2873
|
+
}
|
|
2874
|
+
catch {
|
|
2875
|
+
diff = git("diff");
|
|
2876
|
+
} // no commits yet
|
|
2877
|
+
untracked = git("ls-files", "--others", "--exclude-standard").split("\n").filter(Boolean);
|
|
2878
|
+
}
|
|
2879
|
+
catch {
|
|
2880
|
+
throw new Error("--diff needs a git repository — review a --file instead");
|
|
2881
|
+
}
|
|
2882
|
+
if (!diff.trim() && !untracked.length)
|
|
2883
|
+
throw new Error("there are no uncommitted changes to review — name a --file instead");
|
|
2884
|
+
target = { kind: "diff", diff, untracked };
|
|
2885
|
+
}
|
|
2886
|
+
return target;
|
|
2887
|
+
}
|
|
2734
2888
|
subtaskBriefing(parent, childId, task) { return this.briefings.subtaskBriefing(parent, childId, task); }
|
|
2735
2889
|
defaultAdapterId() {
|
|
2736
2890
|
const cfg = (this.config.defaultAgent &&
|
|
@@ -2984,6 +3138,8 @@ export class ProjectRuntime {
|
|
|
2984
3138
|
// which chat that turn is in, so a client shows Stop only where it applies
|
|
2985
3139
|
...(isAdapter(live) && (live.busy() || this.turns.busySince.has(cfg.id)) ? { chat: this.turns.turnChat.get(cfg.id) ?? MAIN_CHAT } : {}),
|
|
2986
3140
|
holdsBaton: holder === cfg.id,
|
|
3141
|
+
...this.signInState(cfg.id, cfg.kind),
|
|
3142
|
+
...(cfg.kind === "model" && !cfg.options?.write ? { readOnly: true } : {}),
|
|
2987
3143
|
model,
|
|
2988
3144
|
permissions: permissionFor(cfg.kind, cfg.options),
|
|
2989
3145
|
enabled: true,
|
|
@@ -3131,6 +3287,17 @@ export class ProjectRuntime {
|
|
|
3131
3287
|
* at the ceiling. Plan mode can't be known when an agent is built, so
|
|
3132
3288
|
* `bypassRequiresPlan` treats it as off — the stricter reading.
|
|
3133
3289
|
*/
|
|
3290
|
+
/** Loom's Auto policy for this project, read live by agents (core/auto-policy.ts). */
|
|
3291
|
+
autoPolicy() {
|
|
3292
|
+
const dir = this.info.dir;
|
|
3293
|
+
const test = this.config.proof?.testCommand ?? detectTestCommand(dir);
|
|
3294
|
+
return {
|
|
3295
|
+
projectDir: dir,
|
|
3296
|
+
readPaths: (this.config.readPaths ?? []).filter((p) => typeof p === "string" && p.trim()).map((p) => path.resolve(dir, p)),
|
|
3297
|
+
// the project's own test command always runs: an agent has to be able to check its work
|
|
3298
|
+
allow: [...(this.config.permissions?.allow ?? []).filter((a) => typeof a === "string"), ...(test ? [test] : [])],
|
|
3299
|
+
};
|
|
3300
|
+
}
|
|
3134
3301
|
policyOptions(cfg) {
|
|
3135
3302
|
const opts = { ...(cfg.options ?? {}) };
|
|
3136
3303
|
if (this.runnerMode) {
|
|
@@ -3252,9 +3419,11 @@ export class ProjectRuntime {
|
|
|
3252
3419
|
};
|
|
3253
3420
|
}
|
|
3254
3421
|
async close() {
|
|
3422
|
+
this.unregisterAutoPolicy();
|
|
3255
3423
|
await this.orchestra.shutdown().catch(() => { });
|
|
3256
3424
|
this.relay.stop();
|
|
3257
3425
|
this.shifts.close();
|
|
3426
|
+
this.councils.close();
|
|
3258
3427
|
await this.crews.shutdown().catch(() => { });
|
|
3259
3428
|
this.closed = true;
|
|
3260
3429
|
this.harnesses.stop();
|