@loompad/cli 1.1.2 → 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 (134) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +31 -10
  3. package/dist/adapters/antigravity-cli.d.ts +2 -0
  4. package/dist/adapters/antigravity-cli.js +27 -4
  5. package/dist/adapters/antigravity-cli.js.map +1 -1
  6. package/dist/adapters/model.js +1 -1
  7. package/dist/adapters/model.js.map +1 -1
  8. package/dist/adapters/opencode.d.ts +4 -0
  9. package/dist/adapters/opencode.js +18 -0
  10. package/dist/adapters/opencode.js.map +1 -1
  11. package/dist/cli/doctor.d.ts +38 -1
  12. package/dist/cli/doctor.js +157 -3
  13. package/dist/cli/doctor.js.map +1 -1
  14. package/dist/cli/index.js +357 -20
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/cli/ui.js +11 -7
  17. package/dist/cli/ui.js.map +1 -1
  18. package/dist/core/auto-policy.d.ts +46 -0
  19. package/dist/core/auto-policy.js +181 -0
  20. package/dist/core/auto-policy.js.map +1 -0
  21. package/dist/core/council.d.ts +55 -0
  22. package/dist/core/council.js +73 -0
  23. package/dist/core/council.js.map +1 -0
  24. package/dist/core/crew-protocol.js +4 -1
  25. package/dist/core/crew-protocol.js.map +1 -1
  26. package/dist/core/crew.d.ts +13 -1
  27. package/dist/core/crew.js +40 -6
  28. package/dist/core/crew.js.map +1 -1
  29. package/dist/core/digest.d.ts +2 -0
  30. package/dist/core/digest.js +9 -0
  31. package/dist/core/digest.js.map +1 -1
  32. package/dist/core/loops.js +22 -2
  33. package/dist/core/loops.js.map +1 -1
  34. package/dist/core/orchestra.d.ts +16 -0
  35. package/dist/core/orchestra.js +45 -2
  36. package/dist/core/orchestra.js.map +1 -1
  37. package/dist/core/permissions.js +2 -2
  38. package/dist/core/permissions.js.map +1 -1
  39. package/dist/core/prices.d.ts +66 -0
  40. package/dist/core/prices.js +109 -0
  41. package/dist/core/prices.js.map +1 -0
  42. package/dist/core/proof.d.ts +13 -1
  43. package/dist/core/proof.js +89 -17
  44. package/dist/core/proof.js.map +1 -1
  45. package/dist/core/providers.d.ts +13 -0
  46. package/dist/core/providers.js +17 -0
  47. package/dist/core/providers.js.map +1 -1
  48. package/dist/core/replay.js +14 -0
  49. package/dist/core/replay.js.map +1 -1
  50. package/dist/core/review.d.ts +60 -0
  51. package/dist/core/review.js +121 -0
  52. package/dist/core/review.js.map +1 -0
  53. package/dist/core/routes.js +14 -0
  54. package/dist/core/routes.js.map +1 -1
  55. package/dist/core/setup.d.ts +27 -0
  56. package/dist/core/setup.js +39 -7
  57. package/dist/core/setup.js.map +1 -1
  58. package/dist/core/shield.js +7 -3
  59. package/dist/core/shield.js.map +1 -1
  60. package/dist/core/shift.d.ts +2 -0
  61. package/dist/core/shift.js +14 -2
  62. package/dist/core/shift.js.map +1 -1
  63. package/dist/core/turn-wait.d.ts +20 -0
  64. package/dist/core/turn-wait.js +39 -0
  65. package/dist/core/turn-wait.js.map +1 -0
  66. package/dist/core/usage.d.ts +7 -1
  67. package/dist/core/usage.js +11 -3
  68. package/dist/core/usage.js.map +1 -1
  69. package/dist/daemon/client.d.ts +60 -1
  70. package/dist/daemon/client.js +40 -1
  71. package/dist/daemon/client.js.map +1 -1
  72. package/dist/daemon/council.d.ts +98 -0
  73. package/dist/daemon/council.js +254 -0
  74. package/dist/daemon/council.js.map +1 -0
  75. package/dist/daemon/proof.d.ts +6 -0
  76. package/dist/daemon/proof.js +32 -9
  77. package/dist/daemon/proof.js.map +1 -1
  78. package/dist/daemon/push.js +7 -0
  79. package/dist/daemon/push.js.map +1 -1
  80. package/dist/daemon/review.d.ts +95 -0
  81. package/dist/daemon/review.js +154 -0
  82. package/dist/daemon/review.js.map +1 -0
  83. package/dist/daemon/routes/council.d.ts +4 -0
  84. package/dist/daemon/routes/council.js +29 -0
  85. package/dist/daemon/routes/council.js.map +1 -0
  86. package/dist/daemon/routes/crews.js +2 -0
  87. package/dist/daemon/routes/crews.js.map +1 -1
  88. package/dist/daemon/routes/messages.js +8 -2
  89. package/dist/daemon/routes/messages.js.map +1 -1
  90. package/dist/daemon/routes/review.d.ts +4 -0
  91. package/dist/daemon/routes/review.js +40 -0
  92. package/dist/daemon/routes/review.js.map +1 -0
  93. package/dist/daemon/routes/routing.js +2 -1
  94. package/dist/daemon/routes/routing.js.map +1 -1
  95. package/dist/daemon/routes/setup.d.ts +2 -1
  96. package/dist/daemon/routes/setup.js +22 -6
  97. package/dist/daemon/routes/setup.js.map +1 -1
  98. package/dist/daemon/runtime/accounting.d.ts +6 -0
  99. package/dist/daemon/runtime/accounting.js +37 -1
  100. package/dist/daemon/runtime/accounting.js.map +1 -1
  101. package/dist/daemon/runtime/briefings.d.ts +8 -3
  102. package/dist/daemon/runtime/briefings.js +26 -14
  103. package/dist/daemon/runtime/briefings.js.map +1 -1
  104. package/dist/daemon/runtime/queue.d.ts +7 -0
  105. package/dist/daemon/runtime/queue.js +13 -1
  106. package/dist/daemon/runtime/queue.js.map +1 -1
  107. package/dist/daemon/runtime/relay.d.ts +2 -0
  108. package/dist/daemon/runtime/relay.js +7 -0
  109. package/dist/daemon/runtime/relay.js.map +1 -1
  110. package/dist/daemon/runtime/turns.d.ts +2 -0
  111. package/dist/daemon/runtime/turns.js +1 -0
  112. package/dist/daemon/runtime/turns.js.map +1 -1
  113. package/dist/daemon/runtime-support.js +1 -1
  114. package/dist/daemon/runtime-support.js.map +1 -1
  115. package/dist/daemon/runtime.d.ts +65 -3
  116. package/dist/daemon/runtime.js +238 -5
  117. package/dist/daemon/runtime.js.map +1 -1
  118. package/dist/daemon/server.js +5 -1
  119. package/dist/daemon/server.js.map +1 -1
  120. package/dist/daemon/shift.js +1 -1
  121. package/dist/daemon/shift.js.map +1 -1
  122. package/dist/providers/agent.js +6 -0
  123. package/dist/providers/agent.js.map +1 -1
  124. package/dist/providers/claude/adapter.d.ts +3 -0
  125. package/dist/providers/claude/adapter.js +20 -1
  126. package/dist/providers/claude/adapter.js.map +1 -1
  127. package/dist/types.d.ts +31 -1
  128. package/dist/types.js.map +1 -1
  129. package/dist/web/app.css +51 -0
  130. package/dist/web/app.js +172 -18
  131. package/dist/web/app.js.map +3 -3
  132. package/docs/release-notes/v1.2.0.md +48 -0
  133. package/docs/release-notes/v1.2.1.md +40 -0
  134. package/package.json +1 -1
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Review: the same change read by several agents at once, none of them taking
3
+ * the baton or touching a file, and their findings collected in one place to
4
+ * accept or reject (#253). This file is the pure part — the brief each
5
+ * reviewer gets and the reading of what it sends back. daemon/review.ts runs it.
6
+ */
7
+ export type ReviewTarget = {
8
+ kind: "diff";
9
+ diff: string;
10
+ untracked?: string[];
11
+ } | {
12
+ kind: "file";
13
+ file: string;
14
+ } | {
15
+ kind: "text";
16
+ text: string;
17
+ };
18
+ export type Severity = "high" | "medium" | "low";
19
+ export interface Finding {
20
+ id: string;
21
+ agent: string;
22
+ severity: Severity | null;
23
+ file?: string;
24
+ line?: number;
25
+ text: string;
26
+ /** Other reviewers that flagged the same place — agreement is the strongest signal a review has. */
27
+ agreed?: Array<{
28
+ agent: string;
29
+ text: string;
30
+ }>;
31
+ }
32
+ export type FindingDecision = "accepted" | "rejected";
33
+ export declare const READ_ONLY_RULE = "This is a READ-ONLY review: do not edit, create or delete any file, and run nothing that changes the project. Read, think, and report.";
34
+ /** What a target is called in a title or a card. */
35
+ export declare function targetLabel(t: ReviewTarget | {
36
+ kind: string;
37
+ file?: string;
38
+ }): string;
39
+ export declare function reviewPrompt(target: ReviewTarget, focus?: string): string;
40
+ /**
41
+ * The findings in a reviewer's reply. A bullet counts when it carries a
42
+ * severity or points at a file — "Summary: looks fine" is not a finding.
43
+ */
44
+ export declare function parseFindings(reply: string, agent: string, idPrefix?: string): Finding[];
45
+ /**
46
+ * Every reviewer's findings in one list, worst first, ids unique to the
47
+ * review. Two reviewers pointing at the same file and line are one finding
48
+ * that both agree on — kept at the worse severity, the other's words beside it.
49
+ */
50
+ export declare function collectFindings(reviewId: string, replies: Array<{
51
+ agent: string;
52
+ reply: string;
53
+ }>): Finding[];
54
+ /** One line for the card and the CLI: "3 reviewers · 7 findings (2 high)". */
55
+ export declare function reviewSummary(results: Array<{
56
+ status: string;
57
+ edited?: string[];
58
+ }>, findings: Finding[]): string;
59
+ /** How an accepted finding reads as a project decision. */
60
+ export declare function decisionText(f: Finding, note?: string): string;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Review: the same change read by several agents at once, none of them taking
3
+ * the baton or touching a file, and their findings collected in one place to
4
+ * accept or reject (#253). This file is the pure part — the brief each
5
+ * reviewer gets and the reading of what it sends back. daemon/review.ts runs it.
6
+ */
7
+ /** A subtask brief tops out at 10k; the diff gets what's left after the instructions. */
8
+ const DIFF_ROOM = 7_500;
9
+ export const READ_ONLY_RULE = "This is a READ-ONLY review: do not edit, create or delete any file, and run nothing that changes the project. Read, think, and report.";
10
+ /** What a target is called in a title or a card. */
11
+ export function targetLabel(t) {
12
+ if (t.kind === "file")
13
+ return String(t.file ?? "a file");
14
+ if (t.kind === "diff")
15
+ return "the uncommitted changes";
16
+ const first = String(t.text ?? "").split("\n").find((l) => l.trim())?.trim() ?? "";
17
+ return first ? (first.length > 40 ? `${first.slice(0, 39)}…` : first) : "your request";
18
+ }
19
+ export function reviewPrompt(target, focus) {
20
+ const what = target.kind === "file" ? `Review the file \`${target.file}\` in this project.`
21
+ : target.kind === "text" ? `Review this: ${target.text}`
22
+ : target.diff.trim()
23
+ ? target.diff.length <= DIFF_ROOM
24
+ ? `Review these uncommitted changes (\`git diff HEAD\`):\n\n\`\`\`diff\n${target.diff}\n\`\`\``
25
+ : `Review the uncommitted changes — run \`git diff HEAD\` to read them (${Math.round(target.diff.length / 1000)}k characters, too long to paste here). They start:\n\n\`\`\`diff\n${target.diff.slice(0, 1500)}\n\`\`\``
26
+ : "Review the uncommitted changes (`git diff HEAD`) — there are none tracked yet, so review the new files.";
27
+ const fresh = target.kind === "diff" && target.untracked?.length ? `\nNew files, not yet in git: ${target.untracked.slice(0, 30).join(", ")}${target.untracked.length > 30 ? ", …" : ""}` : "";
28
+ return [
29
+ what + fresh,
30
+ focus ? `Focus on: ${focus}` : "",
31
+ READ_ONLY_RULE,
32
+ "List each finding on its own line, worst first, exactly like this:\n- [high] path/to/file.ts:42 — what is wrong, and the fix\n" +
33
+ "Use [high] for bugs, data loss or security; [medium] for wrong-but-survivable; [low] for style and nits. " +
34
+ "If you find nothing worth changing, say so in one line. Keep anything else short.",
35
+ ].filter(Boolean).join("\n\n");
36
+ }
37
+ const SEVERITY = {
38
+ critical: "high", blocker: "high", high: "high", major: "high", severe: "high",
39
+ medium: "medium", med: "medium", moderate: "medium",
40
+ low: "low", minor: "low", nit: "low", nitpick: "low", info: "low", style: "low",
41
+ };
42
+ const SEV_HEAD = /^(?:\*\*|__)?\s*[[(]?\s*(critical|blocker|high|major|severe|medium|med|moderate|low|minor|nit|nitpick|info|style)\s*[\])]?\s*(?:\*\*|__)?\s*[:—–-]*\s*/i;
43
+ const BULLET = /^\s*(?:[-*•]|\d+[.)])\s+(.+)$/;
44
+ const LOC = /`?((?:[\w@.-]+\/)*[\w@.-]+\.[A-Za-z][A-Za-z0-9]{0,6})(?::(\d+)(?:[-–]\d+)?)?`?/;
45
+ /**
46
+ * The findings in a reviewer's reply. A bullet counts when it carries a
47
+ * severity or points at a file — "Summary: looks fine" is not a finding.
48
+ */
49
+ export function parseFindings(reply, agent, idPrefix = "") {
50
+ const out = [];
51
+ for (const raw of reply.split("\n")) {
52
+ const m = raw.match(BULLET);
53
+ if (!m)
54
+ continue;
55
+ let body = m[1].trim();
56
+ const sev = body.match(SEV_HEAD);
57
+ const severity = sev ? SEVERITY[sev[1].toLowerCase()] ?? null : null;
58
+ if (sev)
59
+ body = body.slice(sev[0].length);
60
+ const loc = body.match(LOC);
61
+ const looksLikeFile = loc && (loc[2] || /\//.test(loc[1]) || /\.(ts|tsx|js|jsx|mjs|cjs|py|go|rs|java|kt|swift|rb|php|c|cc|cpp|h|hpp|cs|css|scss|html|vue|svelte|json|ya?ml|toml|md|sql|sh)$/i.test(loc[1]));
62
+ if (!severity && !looksLikeFile)
63
+ continue;
64
+ let text = body;
65
+ // "path:12 — the problem" → "the problem"
66
+ if (looksLikeFile && body.indexOf(loc[0]) <= 2)
67
+ text = body.slice(body.indexOf(loc[0]) + loc[0].length).replace(/^\s*[:—–-]+\s*/, "");
68
+ text = text.replace(/\*\*/g, "").trim();
69
+ if (!text)
70
+ continue;
71
+ out.push({ id: `${idPrefix}${out.length + 1}`, agent, severity, ...(looksLikeFile ? { file: loc[1] } : {}), ...(looksLikeFile && loc[2] ? { line: Number(loc[2]) } : {}), text: text.slice(0, 600) });
72
+ }
73
+ return out;
74
+ }
75
+ const RANK = { high: 0, medium: 1, low: 2 };
76
+ const rank = (f) => RANK[f.severity ?? "low"] ?? 3;
77
+ /**
78
+ * Every reviewer's findings in one list, worst first, ids unique to the
79
+ * review. Two reviewers pointing at the same file and line are one finding
80
+ * that both agree on — kept at the worse severity, the other's words beside it.
81
+ */
82
+ export function collectFindings(reviewId, replies) {
83
+ const merged = [];
84
+ const at = new Map();
85
+ for (const f of replies.flatMap((r) => parseFindings(r.reply, r.agent))) {
86
+ const key = f.file && f.line ? `${f.file}:${f.line}` : null;
87
+ const same = key ? at.get(key) : undefined;
88
+ if (!same || same.agent === f.agent) {
89
+ merged.push(f);
90
+ if (key && !same)
91
+ at.set(key, f);
92
+ continue;
93
+ }
94
+ if ((same.agreed ?? []).some((a) => a.agent === f.agent))
95
+ continue;
96
+ if (rank(f) < rank(same)) {
97
+ same.agreed = [...(same.agreed ?? []), { agent: same.agent, text: same.text }];
98
+ Object.assign(same, { agent: f.agent, severity: f.severity, text: f.text });
99
+ }
100
+ else {
101
+ same.agreed = [...(same.agreed ?? []), { agent: f.agent, text: f.text }];
102
+ }
103
+ }
104
+ merged.sort((a, b) => rank(a) - rank(b) || (b.agreed?.length ?? 0) - (a.agreed?.length ?? 0));
105
+ return merged.map((f, i) => ({ ...f, id: `${reviewId}.${i + 1}` }));
106
+ }
107
+ /** One line for the card and the CLI: "3 reviewers · 7 findings (2 high)". */
108
+ export function reviewSummary(results, findings) {
109
+ const failed = results.filter((r) => r.status !== "done").length;
110
+ const wrote = results.filter((r) => r.edited?.length).length;
111
+ const high = findings.filter((f) => f.severity === "high").length;
112
+ const agreed = findings.filter((f) => f.agreed?.length).length;
113
+ return `${results.length} reviewer${results.length === 1 ? "" : "s"}${failed ? ` (${failed} failed)` : ""} · ` +
114
+ (findings.length ? `${findings.length} finding${findings.length === 1 ? "" : "s"}${high ? ` (${high} high)` : ""}${agreed ? ` · ${agreed} flagged by more than one` : ""}` : "no findings") +
115
+ (wrote ? ` · ⚠ ${wrote} changed files in a read-only review` : "");
116
+ }
117
+ /** How an accepted finding reads as a project decision. */
118
+ export function decisionText(f, note) {
119
+ return `Review finding accepted (${[f.agent, ...(f.agreed ?? []).map((a) => a.agent)].join(" + ")}${f.severity ? `, ${f.severity}` : ""}): ${f.file ? `${f.file}${f.line ? `:${f.line}` : ""} — ` : ""}${f.text}${note ? ` — ${note}` : ""}`;
120
+ }
121
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/core/review.ts"],"names":[],"mappings":"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"}
@@ -363,6 +363,17 @@ export class RouteEngine {
363
363
  r.reason = note;
364
364
  r.costUsd = this.routeCost(r);
365
365
  this.write(r);
366
+ // a route that ends on a reviewer gives the baton back to the step before it that did the work — the
367
+ // conversation is the builder's, not left with whoever checked it last (#292)
368
+ const reviewing = (i) => /review|test|qa|audit|check/i.test(String(r.stepRoles?.[i] ?? ""));
369
+ const lastAt = Math.min(r.current, r.steps.length - 1);
370
+ let giveBack;
371
+ if (reviewing(lastAt))
372
+ for (let i = lastAt - 1; i >= 0; i--)
373
+ if (!reviewing(i) && r.steps[i] !== r.steps[lastAt]) {
374
+ giveBack = r.steps[i];
375
+ break;
376
+ }
366
377
  this.host.log.append({
367
378
  kind: "route_completed",
368
379
  payload: {
@@ -371,8 +382,11 @@ export class RouteEngine {
371
382
  task: r.task,
372
383
  costUsd: r.costUsd,
373
384
  ...(note ? { note } : {}),
385
+ ...(giveBack ? { batonTo: giveBack } : {}),
374
386
  },
375
387
  });
388
+ if (giveBack)
389
+ void this.host.handoff(giveBack).catch(() => { });
376
390
  notify({
377
391
  title: `Loom · ${this.host.projectName}`,
378
392
  body: `route complete: ${r.steps.join(" → ")}`,
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/core/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/core/routes.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,34 @@ export interface SetupReport {
64
64
  ready: boolean;
65
65
  }
66
66
  /** Is this Node new enough for the event log to be real? */
67
+ type Auth = {
68
+ authed: boolean | null;
69
+ detail?: string;
70
+ };
71
+ /**
72
+ * One agent kind's sign-in, without waiting: the last answer (undefined until the first probe lands),
73
+ * refreshed in the background once it's a minute old. A project's status is polled often, and a
74
+ * probe spawns the CLI — it must never sit in that path (#251).
75
+ */
76
+ export declare function knownAuth(kind: string, ttlMs?: number): Auth | undefined;
77
+ /** What to run to sign a kind in. */
78
+ export declare function signInCommand(kind: string): string;
67
79
  export declare function nodeOk(version?: string): boolean;
80
+ interface GrokEntry {
81
+ refresh_token?: string;
82
+ key?: string;
83
+ expires_at?: string;
84
+ }
85
+ /**
86
+ * Is there a grok session it can use? A refresh token alone isn't enough: a
87
+ * session expired weeks ago and never rewritten is one grok no longer renews —
88
+ * it answers "Not signed in" while the file still holds a token (#274).
89
+ */
90
+ export declare function grokAuth(entries: Record<string, GrokEntry>, now?: number): {
91
+ authed: boolean;
92
+ detail?: string;
93
+ };
68
94
  export declare function setupReport(): Promise<SetupReport>;
69
95
  /** For the "and this is your machine" line in onboarding. */
70
96
  export declare function machineName(): string;
97
+ export {};
@@ -124,12 +124,7 @@ async function probeAuth(kind) {
124
124
  const file = path.join(os.homedir(), ".grok", "auth.json");
125
125
  if (!fs.existsSync(file))
126
126
  return { authed: false, detail: "no grok session on this machine" };
127
- const entries = Object.values(JSON.parse(fs.readFileSync(file, "utf8")));
128
- if (entries.some((e) => typeof e?.refresh_token === "string" && e.refresh_token.length > 0))
129
- return { authed: true };
130
- if (entries.some((e) => typeof e?.key === "string" && e.key.length > 0))
131
- return { authed: true };
132
- return { authed: false, detail: "grok's auth file has no session" };
127
+ return grokAuth(JSON.parse(fs.readFileSync(file, "utf8")));
133
128
  }
134
129
  if (kind === "model") {
135
130
  // There is nothing to log in to: a model agent is usable when some
@@ -247,11 +242,48 @@ function permissionsFor(p) {
247
242
  ...shared,
248
243
  ];
249
244
  }
250
- /** Is this Node new enough for the event log to be real? */
245
+ const authCache = new Map();
246
+ /**
247
+ * One agent kind's sign-in, without waiting: the last answer (undefined until the first probe lands),
248
+ * refreshed in the background once it's a minute old. A project's status is polled often, and a
249
+ * probe spawns the CLI — it must never sit in that path (#251).
250
+ */
251
+ export function knownAuth(kind, ttlMs = 60_000) {
252
+ const hit = authCache.get(kind) ?? { at: 0 };
253
+ if (!hit.pending && Date.now() - hit.at >= ttlMs) {
254
+ hit.pending = probeAuth(kind).catch(() => ({ authed: null }))
255
+ .then((value) => { hit.value = value; hit.at = Date.now(); hit.pending = undefined; });
256
+ authCache.set(kind, hit);
257
+ }
258
+ return hit.value;
259
+ }
260
+ /** What to run to sign a kind in. */
261
+ export function signInCommand(kind) { return AUTH[kind] ?? ""; }
251
262
  export function nodeOk(version = process.versions.node) {
252
263
  const [major, minor] = version.split(".").map(Number);
253
264
  return (major ?? 0) > 22 || ((major ?? 0) === 22 && (minor ?? 0) >= 5);
254
265
  }
266
+ /** How long past its expiry a grok session can sit unrefreshed and still be one it renews (a used session is rewritten with a new expiry). */
267
+ const GROK_STALE_MS = 3 * 24 * 60 * 60_000;
268
+ /**
269
+ * Is there a grok session it can use? A refresh token alone isn't enough: a
270
+ * session expired weeks ago and never rewritten is one grok no longer renews —
271
+ * it answers "Not signed in" while the file still holds a token (#274).
272
+ */
273
+ export function grokAuth(entries, now = Date.now()) {
274
+ const all = Object.values(entries).filter((e) => e && typeof e === "object");
275
+ const usable = all.filter((e) => (typeof e.refresh_token === "string" && e.refresh_token.length > 0) || (typeof e.key === "string" && e.key.length > 0));
276
+ if (!usable.length)
277
+ return { authed: false, detail: "grok's auth file has no session" };
278
+ const fresh = usable.filter((e) => {
279
+ const exp = e.expires_at ? Date.parse(e.expires_at) : NaN;
280
+ return !Number.isFinite(exp) || exp + GROK_STALE_MS > now;
281
+ });
282
+ if (fresh.length)
283
+ return { authed: true };
284
+ const latest = Math.max(...usable.map((e) => Date.parse(e.expires_at)));
285
+ return { authed: false, detail: `grok's session expired ${new Date(latest).toISOString().slice(0, 10)} and hasn't renewed` };
286
+ }
255
287
  export async function setupReport() {
256
288
  const p = platform();
257
289
  const available = await detectAdes();
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/core/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/core/setup.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,13 @@ export function dangerOf(command, projectDir) {
27
27
  if (/\bgit\s+(?:filter-branch|filter-repo)\b|\bgit\s+rebase\b[^|;&]*\s(?:origin\/)?(?:main|master)\b.*--onto/.test(c))
28
28
  return { what: "rewriting git history", why: "every commit after the change gets a new id" };
29
29
  // files: deleting outside the project, or everything
30
- const rm = /\brm\s+(?:-[a-zA-Z]*\s+)*-[a-zA-Z]*[rR][a-zA-Z]*\b(.*)$/.exec(c) ?? /\brm\s+(?:-[a-zA-Z]*\s+)*-[a-zA-Z]*f[a-zA-Z]*[rR]\b(.*)$/.exec(c);
31
- if (rm) {
32
- const target = rm[1] ?? "";
30
+ // every rm on the line, each with only its own arguments — they end at the next command (; && || |) or a
31
+ // closing quote; the "/dev/null" of a curl later on the line was read as a delete target (#287)
32
+ for (const piece of c.split(/[;&|'"`)\n]/)) {
33
+ const rm = /\brm\s+((?:-[a-zA-Z]+\s+)*)(.*)$/.exec(piece);
34
+ if (!rm || !/^(?:-[a-zA-Z]+\s+)*$/.test(rm[1]) || !/-[a-zA-Z]*[rR]/.test(rm[1]))
35
+ continue;
36
+ const target = rm[2].split(/\s+/).filter((t) => t && !/^\/dev\//.test(t) && !/^\d?>/.test(t)).join(" ");
33
37
  if (/(?:^|\s)\/(?:\s|$|\*)/.test(target) || HOME.test(` ${target} `) || /(?:^|\s)\.\.(?:\/|\s|$)/.test(target) || /(?:^|\s)\*(?:\s|$)/.test(target))
34
38
  return { what: "a recursive delete outside the work", why: "it deletes beyond the project (/, your home, .., or everything here)" };
35
39
  for (const p of target.split(/\s+/).filter((x) => x.startsWith("/"))) {
@@ -1 +1 @@
1
- {"version":3,"file":"shield.js","sourceRoot":"","sources":["../../src/core/shield.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shield.js","sourceRoot":"","sources":["../../src/core/shield.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export interface TaskOutcome {
46
46
  ms: number;
47
47
  error?: string;
48
48
  question?: string;
49
+ /** What cut its turn short, when something did (the shield, the loop watch, Stop, a quota). */
50
+ stopped?: string;
49
51
  }
50
52
  export interface ShiftReport {
51
53
  shiftId: string;
@@ -14,6 +14,8 @@ export function outcomeOf(task, events, opts = {}) {
14
14
  return base;
15
15
  const files = new Set();
16
16
  let lastDone, lastProof, lastAsk, lastSay, lastAnswer, lastError;
17
+ // what stopped a turn short, said plainly — not "was Loom restarted?" when the shield did it (#288)
18
+ let stoppedBy;
17
19
  for (const e of events) {
18
20
  const p = e.payload ?? {};
19
21
  if (e.kind === "run_complete" && e.agentId) {
@@ -34,8 +36,17 @@ export function outcomeOf(task, events, opts = {}) {
34
36
  files.add(f.path);
35
37
  else if (e.kind === "status" && p.state === "question_answered")
36
38
  lastAnswer = e;
37
- else if (e.kind === "status" && p.state === "loop_detected")
39
+ else if (e.kind === "status" && p.state === "loop_detected") {
38
40
  base.loops++;
41
+ if (p.nudged)
42
+ stoppedBy = { id: e.id, why: `the loop watch stopped it to nudge it (${String(p.call ?? "").slice(0, 80)})` };
43
+ }
44
+ else if (e.kind === "status" && p.state === "shield_tripped" && p.stopped)
45
+ stoppedBy = { id: e.id, why: `the Blast-Radius Shield stopped it: it ran ${String(p.what ?? "something that can't be undone")}` };
46
+ else if (e.kind === "status" && (p.state === "interrupted" || p.state === "stopped") && (!stoppedBy || stoppedBy.id < Math.max(lastSay?.id ?? 0, lastDone?.id ?? 0)))
47
+ stoppedBy = { id: e.id, why: "its turn was stopped" };
48
+ else if (e.kind === "status" && (p.state === "quota_relay" || p.state === "quota_limit"))
49
+ stoppedBy = { id: e.id, why: String(p.text ?? "it ran out of quota") };
39
50
  else if (e.kind === "status" && p.state === "turn_cost")
40
51
  base.costUsd += Number(p.costUsd ?? 0) || 0;
41
52
  }
@@ -52,8 +63,9 @@ export function outcomeOf(task, events, opts = {}) {
52
63
  if (lastAsk && (!lastSay || lastAsk.id > lastSay.id) && (!lastAnswer || lastAsk.id > lastAnswer.id)) {
53
64
  return { ...base, status: "needs_you", agent: lastAsk.agentId ?? base.agent, question: String(lastAsk.payload.question ?? "") };
54
65
  }
66
+ const cut = stoppedBy && (!lastDone || stoppedBy.id > lastDone.id) ? { stopped: stoppedBy.why } : {};
55
67
  if (!lastDone)
56
- return { ...base, status: lastSay ? "running" : "not_started" };
68
+ return { ...base, status: lastSay ? "running" : "not_started", ...cut };
57
69
  // Proof only counts when it checked the last turn (a nudge can come after it)
58
70
  if (lastProof && lastProof.id > lastDone.id) {
59
71
  const v = String(lastProof.payload.verdict ?? "");
@@ -1 +1 @@
1
- {"version":3,"file":"shift.js","sourceRoot":"","sources":["../../src/core/shift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shift.js","sourceRoot":"","sources":["../../src/core/shift.ts"],"names":[],"mappings":"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"}