@loompad/cli 1.2.0 → 1.2.1

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.
Files changed (89) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +13 -7
  3. package/dist/adapters/antigravity-cli.js +7 -3
  4. package/dist/adapters/antigravity-cli.js.map +1 -1
  5. package/dist/adapters/opencode.d.ts +4 -0
  6. package/dist/adapters/opencode.js +18 -0
  7. package/dist/adapters/opencode.js.map +1 -1
  8. package/dist/cli/doctor.d.ts +8 -0
  9. package/dist/cli/doctor.js +41 -3
  10. package/dist/cli/doctor.js.map +1 -1
  11. package/dist/cli/index.js +65 -8
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/ui.js +1 -1
  14. package/dist/cli/ui.js.map +1 -1
  15. package/dist/core/council.d.ts +3 -3
  16. package/dist/core/council.js +6 -4
  17. package/dist/core/council.js.map +1 -1
  18. package/dist/core/crew-protocol.js +4 -1
  19. package/dist/core/crew-protocol.js.map +1 -1
  20. package/dist/core/crew.d.ts +13 -1
  21. package/dist/core/crew.js +40 -6
  22. package/dist/core/crew.js.map +1 -1
  23. package/dist/core/digest.d.ts +2 -0
  24. package/dist/core/digest.js +9 -0
  25. package/dist/core/digest.js.map +1 -1
  26. package/dist/core/loops.js +22 -2
  27. package/dist/core/loops.js.map +1 -1
  28. package/dist/core/orchestra.d.ts +16 -0
  29. package/dist/core/orchestra.js +45 -2
  30. package/dist/core/orchestra.js.map +1 -1
  31. package/dist/core/prices.d.ts +11 -0
  32. package/dist/core/prices.js +10 -0
  33. package/dist/core/prices.js.map +1 -1
  34. package/dist/core/proof.d.ts +11 -1
  35. package/dist/core/proof.js +56 -7
  36. package/dist/core/proof.js.map +1 -1
  37. package/dist/core/replay.js +1 -1
  38. package/dist/core/replay.js.map +1 -1
  39. package/dist/core/routes.js +14 -0
  40. package/dist/core/routes.js.map +1 -1
  41. package/dist/core/setup.d.ts +14 -0
  42. package/dist/core/setup.js +22 -6
  43. package/dist/core/setup.js.map +1 -1
  44. package/dist/core/shield.js +7 -3
  45. package/dist/core/shield.js.map +1 -1
  46. package/dist/core/shift.d.ts +2 -0
  47. package/dist/core/shift.js +14 -2
  48. package/dist/core/shift.js.map +1 -1
  49. package/dist/daemon/client.d.ts +14 -1
  50. package/dist/daemon/client.js +6 -1
  51. package/dist/daemon/client.js.map +1 -1
  52. package/dist/daemon/council.js +10 -4
  53. package/dist/daemon/council.js.map +1 -1
  54. package/dist/daemon/proof.js +11 -7
  55. package/dist/daemon/proof.js.map +1 -1
  56. package/dist/daemon/review.d.ts +6 -0
  57. package/dist/daemon/review.js +19 -1
  58. package/dist/daemon/review.js.map +1 -1
  59. package/dist/daemon/routes/crews.js +2 -0
  60. package/dist/daemon/routes/crews.js.map +1 -1
  61. package/dist/daemon/routes/messages.js +8 -2
  62. package/dist/daemon/routes/messages.js.map +1 -1
  63. package/dist/daemon/routes/setup.js +9 -1
  64. package/dist/daemon/routes/setup.js.map +1 -1
  65. package/dist/daemon/runtime/queue.d.ts +7 -0
  66. package/dist/daemon/runtime/queue.js +13 -1
  67. package/dist/daemon/runtime/queue.js.map +1 -1
  68. package/dist/daemon/runtime/relay.d.ts +2 -0
  69. package/dist/daemon/runtime/relay.js +7 -0
  70. package/dist/daemon/runtime/relay.js.map +1 -1
  71. package/dist/daemon/runtime/turns.d.ts +2 -0
  72. package/dist/daemon/runtime/turns.js +1 -0
  73. package/dist/daemon/runtime/turns.js.map +1 -1
  74. package/dist/daemon/runtime-support.js +1 -1
  75. package/dist/daemon/runtime-support.js.map +1 -1
  76. package/dist/daemon/runtime.d.ts +25 -2
  77. package/dist/daemon/runtime.js +67 -3
  78. package/dist/daemon/runtime.js.map +1 -1
  79. package/dist/daemon/shift.js +1 -1
  80. package/dist/daemon/shift.js.map +1 -1
  81. package/dist/providers/agent.js +3 -0
  82. package/dist/providers/agent.js.map +1 -1
  83. package/dist/types.d.ts +12 -0
  84. package/dist/types.js.map +1 -1
  85. package/dist/web/app.css +7 -0
  86. package/dist/web/app.js +30 -7
  87. package/dist/web/app.js.map +2 -2
  88. package/docs/release-notes/v1.2.1.md +40 -0
  89. package/package.json +1 -1
package/dist/cli/ui.js CHANGED
@@ -118,7 +118,7 @@ export function formatEvent(e) {
118
118
  }
119
119
  export function formatProjectRow(p) {
120
120
  // an agent mid-turn is working, whatever the last event was (#252)
121
- const working = (p.agents ?? []).filter((a) => a.busy).map((a) => a.id);
121
+ const working = [...(p.agents ?? []).filter((a) => a.busy).map((a) => a.id), ...(p.activity ?? [])];
122
122
  const flag = p.needsInput ? pc.yellow("● needs input") : working.length ? pc.cyan(`◐ working (${working.join(", ")})`) : pc.dim("○ idle");
123
123
  const holder = p.holder ? agentColor(p.holder)(p.holder) : pc.dim("—");
124
124
  const last = p.lastEvent
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,9 @@ export declare const STAGES: readonly [{
36
36
  readonly what: "the planner fixes what it agrees with, then Proof again";
37
37
  }];
38
38
  export type StageKey = (typeof STAGES)[number]["key"];
39
- export type StageStatus = "waiting" | "running" | "done" | "skipped" | "failed";
39
+ export type StageStatus = "waiting" | "running" | "done" | "skipped" | "failed" | "unverified";
40
+ /** How a Proof verdict shows on the Prove stage: only a verified one is a tick (#276). */
41
+ export declare const proofStage: (verdict: string | undefined) => StageStatus;
40
42
  /** A plan a reviewer brief can carry: the subtask limit is 10k, and the review's own instructions need room. */
41
43
  export declare const PLAN_ROOM = 6500;
42
44
  export declare function planPrompt(goal: string): string;
@@ -51,5 +53,3 @@ export declare function parseVerdicts(reply: string, ids: string[]): Map<string,
51
53
  decision: "accepted" | "rejected";
52
54
  note?: string;
53
55
  }>;
54
- /** Findings worth a fix round: high or medium, or unrated. */
55
- export declare const worthFixing: (f: Finding) => boolean;
@@ -14,6 +14,8 @@ export const STAGES = [
14
14
  { key: "forward", name: "Forward-test", what: "reviewers read the diff, read-only, in parallel" },
15
15
  { key: "fix", name: "Fix", what: "the planner fixes what it agrees with, then Proof again" },
16
16
  ];
17
+ /** How a Proof verdict shows on the Prove stage: only a verified one is a tick (#276). */
18
+ export const proofStage = (verdict) => verdict === "verified" ? "done" : verdict === "contradicted" ? "failed" : "unverified";
17
19
  /** A plan a reviewer brief can carry: the subtask limit is 10k, and the review's own instructions need room. */
18
20
  export const PLAN_ROOM = 6_500;
19
21
  export function planPrompt(goal) {
@@ -49,7 +51,7 @@ export function buildPrompt(goal, accepted, rejected) {
49
51
  export function fixPrompt(findings, proofHeadline) {
50
52
  return [
51
53
  "[Loom council] Fix round. The reviewers read your diff" + (proofHeadline ? `, and Proof said: ${proofHeadline}` : "") + ".",
52
- findings.length ? `Their findings:\n${findings.map(line).join("\n")}` : "",
54
+ findings.length ? `Their findings — every one, low ones included (a low one can still be something you promised):\n${findings.map(line).join("\n")}` : "",
53
55
  "Fix what you agree with. Then answer with one line per finding: FIXED <id> — what you changed, or REJECT <id> — why. Run the tests again before you finish.",
54
56
  ].filter(Boolean).join("\n\n");
55
57
  }
@@ -58,7 +60,9 @@ export function parseVerdicts(reply, ids) {
58
60
  const known = new Set(ids);
59
61
  const out = new Map();
60
62
  for (const raw of reply.split("\n")) {
61
- const m = raw.replace(/[*_`]/g, "").match(/^\s*(?:[-*•]|\d+[.)])?\s*(ACCEPT(?:ED)?|REJECT(?:ED)?|FIXED)\s*:?\s*([\w-]+\.\d+)\b\s*[:—–-]*\s*(.*)$/i);
63
+ // the verdict and the id may be dressed in Markdown (**ACCEPT** `r1.2`); the note is kept exactly as written —
64
+ // stripping `_` from it turned test_reach.py into testreach.py in project memory (#275)
65
+ const m = raw.match(/^\s*(?:[-*•]|\d+[.)])?\s*(?:[*_`]+\s*)?(ACCEPT(?:ED)?|REJECT(?:ED)?|FIXED)(?:\s*[*_`]+)?\s*:?\s*[*_`]*([\w-]+\.\d+)[*_`]*\s*[:—–-]*\s*(.*)$/i);
62
66
  if (!m || !known.has(m[2]))
63
67
  continue;
64
68
  const note = m[3].trim();
@@ -66,6 +70,4 @@ export function parseVerdicts(reply, ids) {
66
70
  }
67
71
  return out;
68
72
  }
69
- /** Findings worth a fix round: high or medium, or unrated. */
70
- export const worthFixing = (f) => f.severity !== "low";
71
73
  //# sourceMappingURL=council.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"council.js","sourceRoot":"","sources":["../../src/core/council.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"council.js","sourceRoot":"","sources":["../../src/core/council.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,10 @@ function toAction(raw) {
88
88
  }
89
89
  if (type === "review") {
90
90
  const v = str(a.verdict, 20).toLowerCase();
91
- const verdict = /^(approve|approved|lgtm|pass|ok)$/.test(v) ? "approve" : /^(changes|request_changes|reject|fail)$/.test(v) ? "changes" : null;
91
+ // reviewers spell it many ways — GitHub's "changes_requested" among them (#282)
92
+ const w = v.replace(/[\s-]+/g, "_");
93
+ const verdict = /^(approve|approved|lgtm|pass|passed|ok|accept|accepted|ship_it)$/.test(w) ? "approve"
94
+ : /^(changes|changes_requested|request_changes|requested_changes|needs_changes|needs_work|revise|reject|rejected|fail|failed|block|blocked)$/.test(w) ? "changes" : null;
92
95
  return verdict ? { type, verdict, notes: str(a.notes ?? a.text) } : null;
93
96
  }
94
97
  if (type === "test") {
@@ -1 +1 @@
1
- {"version":3,"file":"crew-protocol.js","sourceRoot":"","sources":["../../src/core/crew-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crew-protocol.js","sourceRoot":"","sources":["../../src/core/crew-protocol.ts"],"names":[],"mappings":"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"}
@@ -236,6 +236,15 @@ export interface CrewHost {
236
236
  export declare const CREW_TEMPLATES: string[];
237
237
  /** Fill a template's roles from the roster; the reviewer avoids the builders' vendor when it can. */
238
238
  export declare function teammatesFromTemplate(template: string, roster: AgentConfig[]): CrewTeammate[];
239
+ /** Who sits where, when you say so: `--lead`, `--builders a,b`, `--reviewer`, `--tester` on create. */
240
+ export interface CrewSeats {
241
+ lead?: string;
242
+ builders?: string[];
243
+ reviewer?: string;
244
+ tester?: string;
245
+ }
246
+ /** The template's seats, with the ones you named filled by those agents (builders in turn). */
247
+ export declare function seatCrew(teammates: CrewTeammate[], seats?: CrewSeats): CrewTeammate[];
239
248
  export declare class CrewEngine {
240
249
  private readonly host;
241
250
  private states;
@@ -247,6 +256,8 @@ export declare class CrewEngine {
247
256
  /** A teammate's live instance by its id (`crew-<crew>-<seat>.<agent>`), for answering its questions. */
248
257
  liveAgent(instanceId: string): Adapter | undefined;
249
258
  private running;
259
+ /** Crews working right now (for "is this project busy"). */
260
+ get workingCrews(): string[];
250
261
  private turnText;
251
262
  private turnError;
252
263
  private turnQuestion;
@@ -270,6 +281,7 @@ export declare class CrewEngine {
270
281
  name?: string;
271
282
  template?: string;
272
283
  teammates?: CrewTeammate[];
284
+ seats?: CrewSeats;
273
285
  planApproval?: boolean;
274
286
  testCommand?: string;
275
287
  play?: CrewConfig["play"];
@@ -337,7 +349,7 @@ export declare class CrewEngine {
337
349
  private waitForTeam;
338
350
  decideOverlap(id: string, cardId: string, decision: string, touches?: string[]): CrewGoal;
339
351
  pause(id: string): CrewGoal;
340
- raiseBudget(id: string, amount: number): CrewGoal;
352
+ raiseBudget(id: string, amount: number): CrewGoal | null;
341
353
  private validParallel;
342
354
  private validBudget;
343
355
  /** A bounded wave owns its declared file scopes through review and test. */
package/dist/core/crew.js CHANGED
@@ -68,13 +68,28 @@ export function teammatesFromTemplate(template, roster) {
68
68
  throw new Error(`no crew template "${template}" (${CREW_TEMPLATES.join(", ")})`);
69
69
  if (!roster.length)
70
70
  throw new Error("this project has no agents to put on a crew");
71
- const byKind = (kind) => roster.find((a) => a.kind === kind);
71
+ const byKind = (kind, among = roster) => among.find((a) => a.kind === kind);
72
+ // the project already said who does what: writers build and lead, reviewers review (#283)
73
+ const said = (a) => String(a.role ?? "").toLowerCase();
74
+ const writes = (a) => a.kind !== "model" || Boolean(a.options?.write);
75
+ const reviews = (a) => /review|test|qa|audit/.test(said(a)) && !/execut|build|implement|lead|plan/.test(said(a));
76
+ const fits = (role) => {
77
+ if (role === "builder" || role === "lead")
78
+ return roster.filter((a) => writes(a) && /execut|build|implement|lead|plan|writ|cod/.test(said(a)));
79
+ if (role === "reviewer" || role === "tester")
80
+ return roster.filter(reviews);
81
+ return [];
82
+ };
72
83
  const out = [];
73
84
  for (const s of slots) {
74
- let pick = s.prefer.map(byKind).find(Boolean) ?? roster[0];
85
+ const fit = fits(s.role);
86
+ let pick = (fit.length ? s.prefer.map((k) => byKind(k, fit)).find(Boolean) ?? fit[0] : undefined)
87
+ ?? s.prefer.map((k) => byKind(k, s.role === "builder" || s.role === "lead" ? roster.filter((a) => writes(a) && !reviews(a)) : roster)).find(Boolean)
88
+ ?? s.prefer.map((k) => byKind(k)).find(Boolean) ?? roster[0];
75
89
  if (s.role === "reviewer") {
76
90
  const builderKinds = new Set(out.filter((t) => t.role === "builder").map((t) => roster.find((a) => a.id === t.agent)?.kind));
77
- const other = roster.find((a) => !builderKinds.has(a.kind) && s.prefer.includes(a.kind)) ?? roster.find((a) => !builderKinds.has(a.kind));
91
+ const pool = fit.length ? fit : roster;
92
+ const other = pool.find((a) => !builderKinds.has(a.kind) && s.prefer.includes(a.kind)) ?? pool.find((a) => !builderKinds.has(a.kind));
78
93
  if (other)
79
94
  pick = other;
80
95
  }
@@ -82,6 +97,16 @@ export function teammatesFromTemplate(template, roster) {
82
97
  }
83
98
  return out;
84
99
  }
100
+ /** The template's seats, with the ones you named filled by those agents (builders in turn). */
101
+ export function seatCrew(teammates, seats) {
102
+ if (!seats)
103
+ return teammates;
104
+ let b = 0;
105
+ return teammates.map((t) => {
106
+ const agent = t.role === "lead" ? seats.lead : t.role === "builder" && seats.builders?.length ? seats.builders[b++ % seats.builders.length] : t.role === "reviewer" ? seats.reviewer : t.role === "tester" ? seats.tester : undefined;
107
+ return agent ? { ...t, agent } : t;
108
+ });
109
+ }
85
110
  const slug = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 40) || "crew";
86
111
  const newId = () => `g${Date.now().toString(36)}${Math.random().toString(36).slice(2, 5)}`;
87
112
  const terminal = (s) => s === "completed" || s === "failed" || s === "stopped";
@@ -108,6 +133,8 @@ export class CrewEngine {
108
133
  return [...this.agents.values()].find((a) => a.id === instanceId);
109
134
  }
110
135
  running = new Set();
136
+ /** Crews working right now (for "is this project busy"). */
137
+ get workingCrews() { return [...this.running]; }
111
138
  turnText = new Map();
112
139
  turnError = new Map();
113
140
  turnQuestion = new Map();
@@ -157,7 +184,7 @@ export class CrewEngine {
157
184
  }
158
185
  create(input) {
159
186
  const roster = this.host.roster();
160
- const teammates = input.teammates?.length ? input.teammates : teammatesFromTemplate(input.template ?? "ship", roster);
187
+ const teammates = input.teammates?.length ? input.teammates : seatCrew(teammatesFromTemplate(input.template ?? "ship", roster), input.seats);
161
188
  this.validate(teammates, roster);
162
189
  const name = (input.name ?? "").trim() || `${(input.template ?? "ship").replace(/^./, (c) => c.toUpperCase())} crew`;
163
190
  const existing = this.host.crews();
@@ -904,8 +931,15 @@ export class CrewEngine {
904
931
  }
905
932
  raiseBudget(id, amount) {
906
933
  const cfg = this.config(id), st = this.state(cfg), g = st.goal;
907
- if (!g || !Number.isFinite(amount) || amount <= g.costUsd || amount > 100000)
908
- throw new Error("the new budget must exceed the goal's current spend");
934
+ if (!Number.isFinite(amount) || amount <= 0 || amount > 100000)
935
+ throw new Error("a budget is a dollar amount above 0");
936
+ // no goal yet (or the last one is over): it's the budget the next goal starts with (#284)
937
+ if (!g || ["completed", "failed", "stopped"].includes(g.status)) {
938
+ this.update(id, { budgetUsd: amount });
939
+ return g ?? null;
940
+ }
941
+ if (amount <= g.costUsd)
942
+ throw new Error(`the goal has already spent $${g.costUsd.toFixed(2)} — a new budget must be more than that`);
909
943
  const cap = this.host.policy?.()?.budgets.perGoalUsd;
910
944
  if (cap && amount > cap)
911
945
  throw new Error("the requested budget exceeds reviewed team policy");