@songsid/agend 2.1.12-beta.5 → 2.1.12-beta.6

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 (43) hide show
  1. package/dist/backend/antigravity.d.ts +51 -10
  2. package/dist/backend/antigravity.js +142 -18
  3. package/dist/backend/antigravity.js.map +1 -1
  4. package/dist/backend/codex-metadata.js +4 -0
  5. package/dist/backend/codex-metadata.js.map +1 -1
  6. package/dist/backend/effort-metadata.d.ts +9 -0
  7. package/dist/backend/effort-metadata.js +29 -0
  8. package/dist/backend/effort-metadata.js.map +1 -1
  9. package/dist/backend/kiro.js +6 -2
  10. package/dist/backend/kiro.js.map +1 -1
  11. package/dist/backend/muse.d.ts +5 -0
  12. package/dist/backend/muse.js +29 -0
  13. package/dist/backend/muse.js.map +1 -1
  14. package/dist/backend/types.d.ts +8 -0
  15. package/dist/backend/types.js +9 -3
  16. package/dist/backend/types.js.map +1 -1
  17. package/dist/delivery-outbox.d.ts +2 -0
  18. package/dist/delivery-outbox.js +7 -0
  19. package/dist/delivery-outbox.js.map +1 -1
  20. package/dist/event-log.d.ts +1 -0
  21. package/dist/event-log.js +5 -1
  22. package/dist/event-log.js.map +1 -1
  23. package/dist/event-loop-watch.d.ts +18 -0
  24. package/dist/event-loop-watch.js +32 -3
  25. package/dist/event-loop-watch.js.map +1 -1
  26. package/dist/fleet-manager.d.ts +3 -0
  27. package/dist/fleet-manager.js +23 -5
  28. package/dist/fleet-manager.js.map +1 -1
  29. package/dist/instance-lifecycle.js +7 -0
  30. package/dist/instance-lifecycle.js.map +1 -1
  31. package/dist/login-flows.js +5 -1
  32. package/dist/login-flows.js.map +1 -1
  33. package/dist/statusline-watcher.js +2 -1
  34. package/dist/statusline-watcher.js.map +1 -1
  35. package/dist/sync-work-attribution.d.ts +9 -0
  36. package/dist/sync-work-attribution.js +25 -0
  37. package/dist/sync-work-attribution.js.map +1 -0
  38. package/dist/topic-commands.js +10 -3
  39. package/dist/topic-commands.js.map +1 -1
  40. package/dist/transcript-sources.d.ts +1 -27
  41. package/dist/transcript-sources.js +9 -0
  42. package/dist/transcript-sources.js.map +1 -1
  43. package/package.json +1 -1
@@ -1,5 +1,40 @@
1
1
  import { type CliBackend, type CliBackendConfig, type ErrorPattern, type RuntimeDialog, type StartupDialog } from "./types.js";
2
2
  /** Parse `agy models`, which may emit TSV slug/display pairs or legacy single-column names. */
3
+ /**
4
+ * agy's logged-out startup screen, as the CLI paints it (captured offline from 1.0.10 and 1.3.1):
5
+ *
6
+ * Welcome to the Antigravity CLI. You are currently not signed in.
7
+ * Select login method:
8
+ * > 1. Google OAuth
9
+ * 2. Use a Google Cloud project
10
+ * ↑/↓ Navigate · enter Select (1.0.10: [Use arrow keys to navigate, Enter to select])
11
+ *
12
+ * Bottom-anchored: the not-signed-in line, then the title, then only numbered option rows and at most one key-hint
13
+ * row. A transcript that quotes the screen has the prompt below it, so it never matches. ("not logged into
14
+ * Antigravity", the old pattern, is only ever written to agy's log file, never to the pane.)
15
+ */
16
+ export declare function agyLoginScreenActive(pane: string): boolean;
17
+ /**
18
+ * agy's trust prompt, bottom-anchored (captured live, 1.3.1):
19
+ *
20
+ * Do you trust the contents of this project?
21
+ * Antigravity CLI requires permission to read, edit, and execute files here.
22
+ * > Yes, I trust this folder
23
+ * No, exit
24
+ * ↑/↓ Navigate · enter Confirm
25
+ * Gemini 3.8 Flash · high
26
+ *
27
+ * "yes": the prompt is the live screen and the one cursor is on "Yes, I trust this folder"; "other": it is the live
28
+ * screen but the cursor is elsewhere, missing or doubled; null: not the live screen (not present, or something other
29
+ * than its own hint/status rows follows the options — a quoted copy in a conversation).
30
+ */
31
+ export declare function agyTrustDialogState(pane: string): "yes" | "other" | null;
32
+ /**
33
+ * The levels on the `--effort` row of `agy --help`, in AgEnD's canonical order, or null when the row or its
34
+ * `(a|b|…)` list is absent. 1.3.1: "--effort Reasoning effort for the current CLI session (low|medium|high|xhigh|max)";
35
+ * 1.0.10 has no --effort at all. Unknown names are dropped.
36
+ */
37
+ export declare function parseAgyEffortLevels(help: string): string[] | null;
3
38
  export declare function parseAntigravityModelsOutput(output: string): import("./types.js").ModelOption[];
4
39
  export declare class AntigravityBackend implements CliBackend {
5
40
  private instanceDir;
@@ -34,16 +69,19 @@ export declare class AntigravityBackend implements CliBackend {
34
69
  * "thinking" verb, and a live seconds timer, e.g. `✢ Thinking… 12s` /
35
70
  * `· Reasoning... (esc to cancel)`.
36
71
  *
37
- * IMPORTANT CAVEAT, deliberately on the record: unlike claude-code (#415) and
38
- * grok (#430), this pattern is NOT derived from a pane I captured myself.
39
- * There is no antigravity instance in this fleet and no agy pipe-pane
40
- * recording on this machine (the closest candidates turned out to be kiro's
41
- * TUI). The shape comes from the incident observation plus the same
42
- * asymmetric-cost rules as the other backends: anchored to a line-leading
43
- * glyph that does not occur in prose, requiring a verb AND a live marker
44
- * (seconds timer or the esc-to-cancel suffix). A miss falls back to today's
45
- * behaviour; a false positive on a stable pane would pin `working`, so
46
- * narrow wins. Verify against a real pane when an agy instance next exists.
72
+ * The first alternative was reconstructed from that incident report, never captured.
73
+ *
74
+ * #1328, captured live from a signed-in agy 1.3.1 (tests/fixtures/agy-1.3.1-busy-generating*.pane.txt): the
75
+ * working row is a BRAILLE spinner frame, a verb and an ellipsis, and nothing else — `⣯ Generating...` — with no
76
+ * timer and no `(esc to cancel)` on it, so the first alternative never matched and agy was always seen as idle.
77
+ * Under AgEnD's own statusLine the footer is blank while working (no `esc to cancel` hint either), so this row is
78
+ * the one signal. It is gone once the reply is written.
79
+ *
80
+ * Only the CLI's own row counts, by where it is: in all 84 captured working frames it starts at column 0 (agy
81
+ * indents the reply two columns, ` 40`) and is the last row above the live composer box — separator, input
82
+ * row(s), separator, at most a footer, then the end of the pane. The same text quoted in a reply (indented), in
83
+ * the scrollback, or anywhere but right above the composer does not count, so a finished turn that talks about the
84
+ * spinner is still idle.
47
85
  */
48
86
  getBusyPattern(): RegExp;
49
87
  hasPeriodicPaneRedraw(): boolean;
@@ -60,11 +98,14 @@ export declare class AntigravityBackend implements CliBackend {
60
98
  getModelSwitchStrategy(): "runtime" | "restart";
61
99
  listModels(): Promise<import("./types.js").ModelOption[]>;
62
100
  probeCLIEnv(): Promise<{
101
+ effortLevels?: string[] | undefined;
63
102
  version: string | undefined;
64
103
  models: import("./types.js").ModelOption[];
65
104
  currentModel: string | undefined;
66
105
  }>;
67
106
  getErrorPatterns(): ErrorPattern[];
68
107
  getStartupDialogs(): StartupDialog[];
108
+ /** Any live agy trust prompt that is not being answered: never keyed, deliveries held (startup and runtime). */
109
+ private trustHoldDialog;
69
110
  getRuntimeDialogs(): RuntimeDialog[];
70
111
  }
@@ -1,4 +1,4 @@
1
- import { EFFORT_CAPABILITIES } from "./effort-metadata.js";
1
+ import { CANONICAL_EFFORT, EFFORT_CAPABILITIES, agyEffortLevels } from "./effort-metadata.js";
2
2
  import { dirname, join } from "node:path";
3
3
  import { ensureInstanceDir } from "../private-dir.js";
4
4
  import { homedir } from "node:os";
@@ -9,6 +9,92 @@ import { appendWithMarker, removeMarker } from "./marker-utils.js";
9
9
  import { getAgendHome } from "../paths.js";
10
10
  import { PIE_CLASS } from "../tui-glyphs.js";
11
11
  /** Parse `agy models`, which may emit TSV slug/display pairs or legacy single-column names. */
12
+ /**
13
+ * agy's logged-out startup screen, as the CLI paints it (captured offline from 1.0.10 and 1.3.1):
14
+ *
15
+ * Welcome to the Antigravity CLI. You are currently not signed in.
16
+ * Select login method:
17
+ * > 1. Google OAuth
18
+ * 2. Use a Google Cloud project
19
+ * ↑/↓ Navigate · enter Select (1.0.10: [Use arrow keys to navigate, Enter to select])
20
+ *
21
+ * Bottom-anchored: the not-signed-in line, then the title, then only numbered option rows and at most one key-hint
22
+ * row. A transcript that quotes the screen has the prompt below it, so it never matches. ("not logged into
23
+ * Antigravity", the old pattern, is only ever written to agy's log file, never to the pane.)
24
+ */
25
+ export function agyLoginScreenActive(pane) {
26
+ const rows = pane.replace(/\r/g, "").split("\n").map(row => row.replace(/\s+$/, "")).filter(row => row.trim() !== "");
27
+ let title = -1;
28
+ for (let i = rows.length - 1; i >= 0; i--)
29
+ if (/^[ \t]*Select login method:$/.test(rows[i])) {
30
+ title = i;
31
+ break;
32
+ }
33
+ if (title < 1 || !/You are currently not signed in\.?$/.test(rows[title - 1]))
34
+ return false;
35
+ const below = rows.slice(title + 1);
36
+ let options = 0;
37
+ while (options < below.length && /^[ \t]*(?:[>❯›][ \t]*)?\d\.[ \t]+\S/.test(below[options]))
38
+ options++;
39
+ const rest = below.slice(options);
40
+ return options >= 2 && (rest.length === 0 || (rest.length === 1 && /navigate/i.test(rest[0]) && /select/i.test(rest[0])));
41
+ }
42
+ /** The reconstructed (#415-era incident) busy row: star/dot glyph, verb, ellipsis, and a timer or "(esc to cancel)". */
43
+ const AGY_LEGACY_BUSY_ROW = /^[ \t]*[·✢✶✻✽][ \t]+\p{L}[^\n]*(?:…|\.\.\.)[^\n]*(?:\b\d+(?:\.\d+)?s\b|\(esc to cancel\))/mu;
44
+ /**
45
+ * #1328, agy 1.3.1's live working row (see getBusyPattern): a braille frame at column 0 + verb + ellipsis, directly
46
+ * above the live composer box (separator, 1–8 input rows, separator), then at most 3 footer rows and the pane's end.
47
+ */
48
+ const AGY_WORKING_ROW_ABOVE_COMPOSER = new RegExp("^[\\u2800-\\u28FF][ \\t]+\\p{L}[^\\n]*?(?:…|\\.\\.\\.)[ \\t]*(?:\\(esc to cancel\\)|\\d+(?:\\.\\d+)?s)?[ \\t]*\\r?\\n"
49
+ + "(?:[ \\t]*\\r?\\n)*─{20,}[ \\t]*\\r?\\n(?:[^\\n]*\\r?\\n){1,8}?─{20,}[ \\t]*(?:\\r?\\n[^\\n]*){0,3}?\\s*(?![\\s\\S])", "mu");
50
+ /**
51
+ * agy's trust prompt, bottom-anchored (captured live, 1.3.1):
52
+ *
53
+ * Do you trust the contents of this project?
54
+ * Antigravity CLI requires permission to read, edit, and execute files here.
55
+ * > Yes, I trust this folder
56
+ * No, exit
57
+ * ↑/↓ Navigate · enter Confirm
58
+ * Gemini 3.8 Flash · high
59
+ *
60
+ * "yes": the prompt is the live screen and the one cursor is on "Yes, I trust this folder"; "other": it is the live
61
+ * screen but the cursor is elsewhere, missing or doubled; null: not the live screen (not present, or something other
62
+ * than its own hint/status rows follows the options — a quoted copy in a conversation).
63
+ */
64
+ export function agyTrustDialogState(pane) {
65
+ const rows = pane.replace(/\r/g, "").split("\n").map(row => row.replace(/\s+$/, "")).filter(row => row.trim() !== "");
66
+ let title = -1;
67
+ for (let i = rows.length - 1; i >= 0; i--)
68
+ if (/^[ \t]*Do you trust the contents of this project\?$/.test(rows[i])) {
69
+ title = i;
70
+ break;
71
+ }
72
+ if (title < 0)
73
+ return null;
74
+ const below = rows.slice(title + 1);
75
+ const yes = below.findIndex(row => /^[ \t]*(?:\S[ \t]+)?Yes, I trust this folder$/.test(row));
76
+ if (yes < 0 || yes > 2 || !/^[ \t]*(?:\S[ \t]+)?No, exit$/.test(below[yes + 1] ?? ""))
77
+ return null;
78
+ const tail = below.slice(yes + 2);
79
+ if (tail.length > 2 || !tail.every(row => /Navigate|Confirm|·/.test(row)))
80
+ return null;
81
+ const cursorOn = (row) => /^[ \t]*[>❯›][ \t]/.test(row);
82
+ return cursorOn(below[yes]) && !cursorOn(below[yes + 1]) ? "yes" : "other";
83
+ }
84
+ /**
85
+ * The levels on the `--effort` row of `agy --help`, in AgEnD's canonical order, or null when the row or its
86
+ * `(a|b|…)` list is absent. 1.3.1: "--effort Reasoning effort for the current CLI session (low|medium|high|xhigh|max)";
87
+ * 1.0.10 has no --effort at all. Unknown names are dropped.
88
+ */
89
+ export function parseAgyEffortLevels(help) {
90
+ const row = help.split("\n").find(line => /^\s*--effort\b/.test(line));
91
+ const list = row ? /\(([A-Za-z]+(?:\|[A-Za-z]+)+)\)/.exec(row) : null;
92
+ if (!list)
93
+ return null;
94
+ const offered = new Set(list[1].toLowerCase().split("|"));
95
+ const levels = CANONICAL_EFFORT.filter(level => offered.has(level));
96
+ return levels.length > 0 ? levels : null;
97
+ }
12
98
  export function parseAntigravityModelsOutput(output) {
13
99
  const models = [];
14
100
  const seen = new Set();
@@ -284,19 +370,22 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
284
370
  * "thinking" verb, and a live seconds timer, e.g. `✢ Thinking… 12s` /
285
371
  * `· Reasoning... (esc to cancel)`.
286
372
  *
287
- * IMPORTANT CAVEAT, deliberately on the record: unlike claude-code (#415) and
288
- * grok (#430), this pattern is NOT derived from a pane I captured myself.
289
- * There is no antigravity instance in this fleet and no agy pipe-pane
290
- * recording on this machine (the closest candidates turned out to be kiro's
291
- * TUI). The shape comes from the incident observation plus the same
292
- * asymmetric-cost rules as the other backends: anchored to a line-leading
293
- * glyph that does not occur in prose, requiring a verb AND a live marker
294
- * (seconds timer or the esc-to-cancel suffix). A miss falls back to today's
295
- * behaviour; a false positive on a stable pane would pin `working`, so
296
- * narrow wins. Verify against a real pane when an agy instance next exists.
373
+ * The first alternative was reconstructed from that incident report, never captured.
374
+ *
375
+ * #1328, captured live from a signed-in agy 1.3.1 (tests/fixtures/agy-1.3.1-busy-generating*.pane.txt): the
376
+ * working row is a BRAILLE spinner frame, a verb and an ellipsis, and nothing else — `⣯ Generating...` — with no
377
+ * timer and no `(esc to cancel)` on it, so the first alternative never matched and agy was always seen as idle.
378
+ * Under AgEnD's own statusLine the footer is blank while working (no `esc to cancel` hint either), so this row is
379
+ * the one signal. It is gone once the reply is written.
380
+ *
381
+ * Only the CLI's own row counts, by where it is: in all 84 captured working frames it starts at column 0 (agy
382
+ * indents the reply two columns, ` 40`) and is the last row above the live composer box — separator, input
383
+ * row(s), separator, at most a footer, then the end of the pane. The same text quoted in a reply (indented), in
384
+ * the scrollback, or anywhere but right above the composer does not count, so a finished turn that talks about the
385
+ * spinner is still idle.
297
386
  */
298
387
  getBusyPattern() {
299
- return /^[ \t]*[·✢✶✻✽][ \t]+\p{L}[^\n]*(?:…|\.\.\.)[^\n]*(?:\b\d+(?:\.\d+)?s\b|\(esc to cancel\))/mu;
388
+ return new RegExp(`${AGY_LEGACY_BUSY_ROW.source}|${AGY_WORKING_ROW_ABOVE_COMPOSER.source}`, "mu");
300
389
  }
301
390
  // agy periodically reruns and repaints its statusLine hook even when the
302
391
  // resulting footer is byte-for-byte identical on screen. A raw tmux %output
@@ -326,11 +415,11 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
326
415
  // agy's documented interrupt is Ctrl+C (2-stage: 2nd press exits the CLI).
327
416
  // Escape also stops streams and can't exit the app, so it's the safer cancel.
328
417
  getCancelKey() { return "Escape"; }
329
- // `agy --help`: "--effort Reasoning effort for the current CLI session
330
- // (low|medium|high)" — three levels only, so xhigh/max clamp to high, which
331
- // the caller reports rather than swallowing.
418
+ // The levels come from the binary's own `--help` ("--effort … (low|medium|high|xhigh|max)" in 1.3.1), read by the
419
+ // CLI env probe (probeCLIEnv, in its bounded worker) and cached with the rest of the CLI env; until a probe has run,
420
+ // or when the help lists none, low|medium|high, so xhigh/max then clamp to high, which the caller reports.
332
421
  getEffortStrategy() { return EFFORT_CAPABILITIES["antigravity"].strategy; }
333
- getEffortLevels() { return [...EFFORT_CAPABILITIES["antigravity"].levels]; }
422
+ getEffortLevels() { return agyEffortLevels(); }
334
423
  // agy's model switch is an interactive TUI change → restart to apply reliably.
335
424
  getModelSwitchStrategy() { return "restart"; }
336
425
  async listModels() {
@@ -363,7 +452,16 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
363
452
  // Settings picker use the TSV slug. Keep an already-slug value unchanged.
364
453
  currentModel = models.find(model => model.label === currentModel)?.id ?? currentModel;
365
454
  }
366
- return { version: probeCliVersion(this.binaryPath), models, currentModel };
455
+ // The effort levels this binary takes, from its own --help (#1328). Runs here, in the probe worker, never on a
456
+ // tool path. A help that lists none gives [] (the fallback applies); one that could not be read leaves them out,
457
+ // and the cache keeps the previous levels only for the same version (persistCliEnvProbeResult).
458
+ let effortLevels;
459
+ try {
460
+ const help = execFileSync(this.binaryPath, ["--help"], { encoding: "utf-8", timeout: 5000, stdio: ["ignore", "pipe", "ignore"] });
461
+ effortLevels = parseAgyEffortLevels(help) ?? [];
462
+ }
463
+ catch { /* no help → previous value for the same version, else the fallback */ }
464
+ return { version: probeCliVersion(this.binaryPath), models, currentModel, ...(effortLevels ? { effortLevels } : {}) };
367
465
  }
368
466
  getErrorPatterns() {
369
467
  return [
@@ -394,9 +492,34 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
394
492
  }
395
493
  getStartupDialogs() {
396
494
  return [
397
- { pattern: /Do you trust.*folder|Yes, I trust/i, keys: ["Enter"], description: "Trust folder prompt" },
495
+ // #1328, captured live from agy 1.3.1 (tests/fixtures/agy-1.3.1-trust-dialog.pane.txt): the title is "Do you
496
+ // trust the contents of this project?", then "> Yes, I trust this folder" / " No, exit". Enter confirms the
497
+ // row under the cursor, so it is sent once, and only when the cursor is verified on "Yes"; a prompt still up
498
+ // after that, or one with the cursor anywhere else, is held for a human (the hold that follows).
499
+ {
500
+ pattern: /Yes, I trust this folder/,
501
+ isActive: pane => agyTrustDialogState(pane) === "yes",
502
+ keys: ["Enter"],
503
+ description: "Trust folder prompt",
504
+ blocksDelivery: true,
505
+ inputBlocked: true,
506
+ autoResolutionKey: "antigravity-folder-trust",
507
+ },
508
+ this.trustHoldDialog(),
398
509
  ];
399
510
  }
511
+ /** Any live agy trust prompt that is not being answered: never keyed, deliveries held (startup and runtime). */
512
+ trustHoldDialog() {
513
+ return {
514
+ pattern: /Do you trust the contents of this project/,
515
+ isActive: pane => agyTrustDialogState(pane) !== null,
516
+ keys: [],
517
+ holdOnly: true,
518
+ blocksDelivery: true,
519
+ inputBlocked: true,
520
+ description: "Antigravity folder trust needs human confirmation",
521
+ };
522
+ }
400
523
  getRuntimeDialogs() {
401
524
  return [
402
525
  {
@@ -406,6 +529,7 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
406
529
  keys: ["0"],
407
530
  description: "Antigravity feedback survey — skip",
408
531
  },
532
+ this.trustHoldDialog(),
409
533
  ];
410
534
  }
411
535
  }
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/backend/antigravity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/backend/antigravity.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { measureSyncWork } from "../sync-work-attribution.js";
1
2
  import { createHash } from "node:crypto";
2
3
  import { existsSync, lstatSync, readFileSync, statSync } from "node:fs";
3
4
  import { homedir } from "node:os";
@@ -31,6 +32,9 @@ export function codexMetadataHomes(instanceDir) {
31
32
  }
32
33
  /** Same per-model account cache/config reader used by the backend and UI. */
33
34
  export function readCodexEffortLevels(homes) {
35
+ return measureSyncWork("codex.effortMetadata", () => readCodexEffortLevelsSync(homes));
36
+ }
37
+ function readCodexEffortLevelsSync(homes) {
34
38
  const fallback = ["low", "medium", "high", "xhigh"];
35
39
  const canonical = new Set(["low", "medium", "high", "xhigh", "max"]);
36
40
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"codex-metadata.js","sourceRoot":"","sources":["../../src/backend/codex-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-metadata.js","sourceRoot":"","sources":["../../src/backend/codex-metadata.ts"],"names":[],"mappings":"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"}
@@ -30,3 +30,12 @@ export interface EffortMetadata {
30
30
  }
31
31
  /** Pure status/menu lookup: only existing Codex config/cache files may be read. */
32
32
  export declare function readEffortMetadata(backend: string, instanceDir: string): EffortMetadata;
33
+ /** The effort levels agy accepts when its `--help` does not list them (agy before 1.3, or an unreadable help). */
34
+ export declare const AGY_FALLBACK_EFFORT_LEVELS: readonly string[];
35
+ export declare const CANONICAL_EFFORT: readonly string[];
36
+ /**
37
+ * The effort levels the installed agy takes: the `effortLevels` the CLI env probe read from its `--help` and cached
38
+ * in `<AGEND_HOME>/cli-env/antigravity.json` (#1328), else the fallback. The cache counts only while it is valid
39
+ * (CLI_ENV_TTL_MS, the same bound the fleet's own reader uses). A pure file read; never runs the CLI.
40
+ */
41
+ export declare function agyEffortLevels(agendHome?: string): string[];
@@ -1,4 +1,8 @@
1
1
  import { codexMetadataHomes, readCodexEffortLevels } from "./codex-metadata.js";
2
+ import { readFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { getAgendHome } from "../paths.js";
5
+ import { CLI_ENV_TTL_MS } from "./types.js";
2
6
  /** Capability data shared with backend getters; resolving it never launches a CLI. */
3
7
  export const EFFORT_CAPABILITIES = {
4
8
  "claude-code": { strategy: "runtime", levels: ["low", "medium", "high", "xhigh", "max"] },
@@ -13,9 +17,34 @@ export function readEffortMetadata(backend, instanceDir) {
13
17
  if (backend === "codex") {
14
18
  return { strategy: EFFORT_CAPABILITIES.codex.strategy, levels: readCodexEffortLevels(codexMetadataHomes(instanceDir)) };
15
19
  }
20
+ if (backend === "antigravity") {
21
+ // From the binary's own --help, via the CLI env probe's cache (agyEffortLevels); three levels until then.
22
+ return { strategy: EFFORT_CAPABILITIES.antigravity.strategy, levels: agyEffortLevels() };
23
+ }
16
24
  if (!Object.hasOwn(EFFORT_CAPABILITIES, backend))
17
25
  return { strategy: "unsupported", levels: [] };
18
26
  const capability = EFFORT_CAPABILITIES[backend];
19
27
  return { strategy: capability.strategy, levels: [...capability.levels] };
20
28
  }
29
+ /** The effort levels agy accepts when its `--help` does not list them (agy before 1.3, or an unreadable help). */
30
+ export const AGY_FALLBACK_EFFORT_LEVELS = ["low", "medium", "high"];
31
+ export const CANONICAL_EFFORT = ["low", "medium", "high", "xhigh", "max"];
32
+ /**
33
+ * The effort levels the installed agy takes: the `effortLevels` the CLI env probe read from its `--help` and cached
34
+ * in `<AGEND_HOME>/cli-env/antigravity.json` (#1328), else the fallback. The cache counts only while it is valid
35
+ * (CLI_ENV_TTL_MS, the same bound the fleet's own reader uses). A pure file read; never runs the CLI.
36
+ */
37
+ export function agyEffortLevels(agendHome = getAgendHome()) {
38
+ try {
39
+ const env = JSON.parse(readFileSync(join(agendHome, "cli-env", "antigravity.json"), "utf-8"));
40
+ const valid = typeof env.probedAt === "number" && Date.now() - env.probedAt < CLI_ENV_TTL_MS;
41
+ const levels = valid && Array.isArray(env.effortLevels)
42
+ ? CANONICAL_EFFORT.filter(level => env.effortLevels.includes(level))
43
+ : [];
44
+ if (levels.length > 0)
45
+ return levels;
46
+ }
47
+ catch { /* no probe yet, or unreadable */ }
48
+ return [...AGY_FALLBACK_EFFORT_LEVELS];
49
+ }
21
50
  //# sourceMappingURL=effort-metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effort-metadata.js","sourceRoot":"","sources":["../../src/backend/effort-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,sFAAsF;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;IACzF,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;IACtF,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;IAChE,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;IACvE,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;IAChF,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;CACtB,CAAC;AAOX,mFAAmF;AACnF,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,WAAmB;IACrE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;IAC1H,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjG,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAA6D,CAAC,CAAC;IACtG,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"effort-metadata.js","sourceRoot":"","sources":["../../src/backend/effort-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { measureSyncWork } from "../sync-work-attribution.js";
1
2
  import { EFFORT_CAPABILITIES } from "./effort-metadata.js";
2
3
  import { join } from "node:path";
3
4
  import { getAgendHome } from "../paths.js";
@@ -368,11 +369,14 @@ function compatibilityFromHelp(version, help) {
368
369
  * `chat --help` — 3.0 included, which is exactly where the table stops being
369
370
  * evidence.
370
371
  */
371
- export function probeKiroCliCompatibility(binaryPath, run = (binary, args) => execFileSync(binary, args, {
372
+ export function probeKiroCliCompatibility(binaryPath, run = (binary, args) => measureSyncWork(args[0] === "--version" ? "kiro.version" : "kiro.help", () => execFileSync(binary, args, {
372
373
  encoding: "utf-8",
373
374
  timeout: 5000,
374
375
  stdio: ["ignore", "pipe", "ignore"],
375
- })) {
376
+ }))) {
377
+ return measureSyncWork("kiro.compatibilitySync", () => probeKiroCliCompatibilitySync(binaryPath, run));
378
+ }
379
+ function probeKiroCliCompatibilitySync(binaryPath, run) {
376
380
  let version;
377
381
  try {
378
382
  version = run(binaryPath, ["--version"]).trim().split("\n")[0].slice(0, 80) || undefined;