gaunt-sloth 2.0.0-alpha.20 → 2.0.0-alpha.22

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.
@@ -1,5 +1,8 @@
1
1
  import { Command } from 'commander';
2
2
  import { CommandLineConfigOverrides } from '@gaunt-sloth/core/config.js';
3
+ /** Split each collected `--reporter` value on `,`, flatten, trim, drop blanks, and de-duplicate
4
+ * (order-preserving), so `-r junit,text` and `-r junit -r text` both yield `['junit','text']`. */
5
+ export declare function normalizeReporterNames(collected: string[]): string[];
3
6
  /** Default output dir when `-o/--output` is omitted: a timestamped dir next to other gth reports —
4
7
  * same convention as `defaultBatchOutputDir` in `batchCommand.ts`, `_EVAL` suffix instead. */
5
8
  export declare function defaultEvalOutputDir(): string;
@@ -1,15 +1,134 @@
1
+ import { readdirSync, statSync } from 'node:fs';
2
+ import { basename, extname, join, resolve } from 'node:path';
1
3
  import { initConfig, resolveIdentityProfileConfigPath, } from '@gaunt-sloth/core/config.js';
2
4
  import { getAskSystemPrompt } from '#src/commands/commandIntrospection.js';
3
5
  import { buildProductionRunCell, buildProductionRunConversation, } from '#src/commands/batchCommand.js';
4
6
  import { parseIntOption } from '#src/commands/cliOptionParsers.js';
5
- import { display, displayError, displaySuccess, displayWarning, } from '@gaunt-sloth/core/utils/consoleUtils.js';
6
- import { setExitCode } from '@gaunt-sloth/core/utils/systemUtils.js';
7
- import { fileSafeLocalDate, getGslothFilePath, readFileFromProjectDir, } from '@gaunt-sloth/core/utils/fileUtils.js';
7
+ import { displayError, displaySuccess, displayWarning, } from '@gaunt-sloth/core/utils/consoleUtils.js';
8
+ import { getProjectDir, setExitCode } from '@gaunt-sloth/core/utils/systemUtils.js';
9
+ import { fileSafeLocalDate, getGslothFilePath, importExternalFile, readFileFromProjectDir, } from '@gaunt-sloth/core/utils/fileUtils.js';
10
+ /** Split each collected `--reporter` value on `,`, flatten, trim, drop blanks, and de-duplicate
11
+ * (order-preserving), so `-r junit,text` and `-r junit -r text` both yield `['junit','text']`. */
12
+ export function normalizeReporterNames(collected) {
13
+ const seen = new Set();
14
+ const out = [];
15
+ for (const raw of collected) {
16
+ for (const name of raw.split(',').map((n) => n.trim())) {
17
+ if (name && !seen.has(name)) {
18
+ seen.add(name);
19
+ out.push(name);
20
+ }
21
+ }
22
+ }
23
+ return out;
24
+ }
25
+ /**
26
+ * Build the `custom` reporter-factory map handed to `resolveReporters`. It always registers the
27
+ * BUNDLED JUnit reporter through the SAME public `custom` seam a user reporter uses (the point: it
28
+ * proves the plug-in contract from an out-of-core package), then overlays any config-declared
29
+ * reporters. A config reporter may reuse a built-in/bundled name — config wins on a collision, so it
30
+ * is added last.
31
+ *
32
+ * A config reporter's module path is resolved relative to the PROJECT dir (the same base
33
+ * `readFileFromProjectDir` uses) and imported via {@link importExternalFile} (which turns it into a
34
+ * `file://` URL and supports `.ts` through jiti). Its DEFAULT export must be an `EvalReporterFactory`
35
+ * (`() => EvalReporter`); a missing file, a failed import, or a non-function default export THROWS —
36
+ * caught by the command's outer try/catch → exit 2 (harness error). It is the user's own trusted
37
+ * config (already arbitrary JS), so nothing is sandboxed.
38
+ */
39
+ async function buildCustomReporterFactories(config) {
40
+ const custom = {};
41
+ const { createJUnitReporter, JUNIT_REPORTER_NAME } = await import('@gaunt-sloth/eval-reporter-junit/index.js');
42
+ custom[JUNIT_REPORTER_NAME] = createJUnitReporter;
43
+ for (const [name, modulePath] of Object.entries(config.reporters ?? {})) {
44
+ const absPath = resolve(getProjectDir(), modulePath);
45
+ let mod;
46
+ try {
47
+ mod = await importExternalFile(absPath);
48
+ }
49
+ catch (error) {
50
+ throw new Error(`failed to load config reporter "${name}" from "${modulePath}" (${absPath}): ` +
51
+ (error instanceof Error ? error.message : String(error)));
52
+ }
53
+ const factory = mod.default;
54
+ if (typeof factory !== 'function') {
55
+ throw new Error(`config reporter "${name}" (${modulePath}) must export a default function ` +
56
+ `(an EvalReporterFactory: () => EvalReporter); got ${typeof factory}.`);
57
+ }
58
+ custom[name] = factory;
59
+ }
60
+ return custom;
61
+ }
8
62
  /** Default output dir when `-o/--output` is omitted: a timestamped dir next to other gth reports —
9
63
  * same convention as `defaultBatchOutputDir` in `batchCommand.ts`, `_EVAL` suffix instead. */
10
64
  export function defaultEvalOutputDir() {
11
65
  return getGslothFilePath(`gth_${fileSafeLocalDate()}_EVAL`);
12
66
  }
67
+ /** `basename(path)` with its extension removed — the per-suite output subdir name and the JUnit
68
+ * `<testsuites>` name. `eval/authz-matrix.yaml` → `authz-matrix`. */
69
+ function suiteStem(path) {
70
+ const base = basename(path);
71
+ const ext = extname(base);
72
+ return ext ? base.slice(0, -ext.length) : base;
73
+ }
74
+ /**
75
+ * Deterministically resolve the CLI `<suites...>` args into the ordered list of suites to run
76
+ * (BATCH-19 Task B, Deliverable 1):
77
+ * - A **file** (or a path that doesn't exist on disk — its read is deferred so a missing suite
78
+ * surfaces as that suite's own harness error, keeping the single-suite behavior byte-for-byte) →
79
+ * that one suite, read by the exact CLI string given.
80
+ * - A **directory** → its **direct-child** `*.yaml`/`*.yml` files only (NON-recursive), sorted
81
+ * lexicographically. An empty / no-match directory yields no suites and one harness `error` (the
82
+ * caller folds it into the aggregate exit → 2) instead of throwing, so any GOOD sibling inputs
83
+ * still run.
84
+ *
85
+ * The given arg order is preserved and each directory is expanded in place; suites are
86
+ * de-duplicated by **resolved absolute path** (the same file named twice, directly or via a
87
+ * directory, runs once).
88
+ */
89
+ function resolveEvalSuiteInputs(inputs) {
90
+ const projectDir = getProjectDir();
91
+ const suites = [];
92
+ const errors = [];
93
+ const seen = new Set();
94
+ const push = (readPath, absPath) => {
95
+ if (seen.has(absPath))
96
+ return;
97
+ seen.add(absPath);
98
+ suites.push({ readPath, absPath });
99
+ };
100
+ for (const input of inputs) {
101
+ const abs = resolve(projectDir, input);
102
+ let isDirectory = false;
103
+ try {
104
+ isDirectory = statSync(abs).isDirectory();
105
+ }
106
+ catch {
107
+ // Non-existent path: treat as a file suite and let its read fail as that suite's own harness
108
+ // error (single-suite behavior preserved; a real file mock/read is keyed on the CLI string).
109
+ isDirectory = false;
110
+ }
111
+ if (!isDirectory) {
112
+ push(input, abs);
113
+ continue;
114
+ }
115
+ const yamlChildren = readdirSync(abs)
116
+ .filter((name) => {
117
+ const ext = extname(name).toLowerCase();
118
+ return ext === '.yaml' || ext === '.yml';
119
+ })
120
+ .sort();
121
+ if (yamlChildren.length === 0) {
122
+ errors.push(`eval suite directory "${input}" contains no .yaml/.yml files`);
123
+ continue;
124
+ }
125
+ for (const name of yamlChildren) {
126
+ const childAbs = resolve(abs, name);
127
+ push(childAbs, childAbs);
128
+ }
129
+ }
130
+ return { suites, errors };
131
+ }
13
132
  /**
14
133
  * Build the production {@link JudgeFn}: grades one case's answer with `judgeEvalCase` against
15
134
  * `config.llm`. The caller chooses *which* config this is (BATCH-10 Task 2): by default it's the
@@ -48,42 +167,6 @@ function judgeModelName(config) {
48
167
  const name = typeof llm.model === 'string' ? llm.model : llm.modelName;
49
168
  return typeof name === 'string' && name.length > 0 ? name : undefined;
50
169
  }
51
- /** Print the human-readable, `review`-flavored summary: one PASS/FAIL line per case (failures
52
- * carry their reasons), then a suite-total line — doesn't replicate `review`'s exact `REVIEW
53
- * RATING` block format, just its spirit (a scannable verdict, not a wall of JSON). */
54
- function printSummary(summary, outputDir, judgeNotice) {
55
- // BATCH-10 Task 2: when a separate judge profile is in effect, lead with a single self-describing
56
- // line so a captured run records which model graded it (reproducibility). Emitted only for a
57
- // separate judge — the default SUT-as-judge run prints exactly as before.
58
- if (judgeNotice) {
59
- display(`Judge: profile "${judgeNotice.profile}"` +
60
- (judgeNotice.model ? ` (model: ${judgeNotice.model})` : ''));
61
- }
62
- for (const caseResult of summary.cases) {
63
- // BATCH-12: an identity-matrix cell tags its line with the identity it ran under, so the two
64
- // rows a case produces per (case × identity) are distinguishable. A no-identities cell prints
65
- // exactly as before (just the case id).
66
- const label = caseResult.identity ? `${caseResult.id} [${caseResult.identity}]` : caseResult.id;
67
- if (caseResult.verdict === 'PASS') {
68
- display(`PASS ${label}`);
69
- }
70
- else {
71
- displayWarning(`FAIL ${label} — ${caseResult.reasons.join('; ') || 'no reason recorded'}`);
72
- }
73
- }
74
- // M1: X/Y counts CELLS in a matrix run (one per case × identity) — e.g. `2/2` for 1 case × 2
75
- // identities — so a bare "case(s)" would misreport the denominator. Use an identity-aware noun:
76
- // "case(s)" for a no-identities run (unchanged), "cell(s)" once any cell carries an identity.
77
- const isMatrix = summary.cases.some((caseResult) => caseResult.identity !== undefined);
78
- const noun = isMatrix ? 'cell(s)' : 'case(s)';
79
- const verdictLine = `EVAL RESULT: ${summary.passed}/${summary.total} ${noun} passed`;
80
- if (summary.failed === 0) {
81
- displaySuccess(`${verdictLine}. Results written to ${outputDir}`);
82
- }
83
- else {
84
- displayWarning(`${verdictLine}, ${summary.failed} failed. Results written to ${outputDir}`);
85
- }
86
- }
87
170
  /**
88
171
  * Adds the `eval` command to the program.
89
172
  *
@@ -115,153 +198,283 @@ export function evalCommand(program, commandLineConfigOverrides) {
115
198
  .description('Grade a suite of cases against the SUT agent with deterministic checks and/or an LLM ' +
116
199
  'judge ("pytest for prompts"). Exit code: 0 = all cases passed, 1 = a case failed, ' +
117
200
  '2 = harness error (bad suite/config, or the SUT could not run).')
118
- .argument('<suite>', 'Path to the eval suite YAML file')
201
+ .argument('<suites...>', 'Eval suite YAML file(s) or directory(ies). A directory runs its direct-child *.yaml/*.yml ' +
202
+ 'suites (non-recursive, sorted). Multiple suites report ONE aggregate exit code; each ' +
203
+ 'writes into its own <output>/<suite-name>/ subdir (a single suite writes into <output> directly).')
119
204
  .option('-j, --concurrency <n>', 'Max in-flight cases', parseIntOption)
120
205
  .option('-o, --output <dir>', 'Directory to write structured per-case JSON + results.json summary to ' +
121
206
  '(default: a timestamped dir alongside other gth reports)')
122
207
  .option('--judge <profile>', 'Identity profile whose model judges the cases (defaults to the SUT model). ' +
123
208
  'Overrides the suite-level judge_profile.')
209
+ .option('-r, --reporter <names>', 'Reporter(s) to render the run through (repeatable; comma-separated). Built-in: "text" ' +
210
+ '(default), "junit" (writes results.xml). REPLACES the default, so "--reporter junit" is ' +
211
+ 'JUnit only. The always-on results.json + per-cell JSON are written regardless.', (value, previous = []) => [...previous, value])
124
212
  .addHelpText('after', '\n' +
213
+ 'Reporters:\n' +
214
+ ' text (default) a human-readable PASS/FAIL summary on the console\n' +
215
+ ' junit an Ant-JUnit results.xml (for TeamCity / CI JUnit readers)\n' +
216
+ ' Custom reporters are declared in config under `reporters: { <name>: <module path> }`.\n' +
217
+ ' --reporter REPLACES the default set (it does not add to it); pass every reporter you\n' +
218
+ ' want, e.g. `--reporter text,junit`. results.json is always written, regardless.\n' +
219
+ '\n' +
125
220
  'Examples:\n' +
126
221
  ' $ gsloth eval eval/js-basics.yaml\n' +
127
222
  ' $ gsloth eval eval/js-basics.yaml --judge strict-judge\n' +
128
- ' $ gsloth eval eval/authz-matrix.yaml -j 8 -o eval/out/authz\n')
129
- .action(async (suitePath, options) => {
223
+ ' $ gsloth eval eval/authz-matrix.yaml -j 8 -o eval/out/authz\n' +
224
+ ' $ gsloth eval eval/js-basics.yaml eval/authz-matrix.yaml # many suites, one exit\n' +
225
+ ' $ gsloth eval eval/ -o eval/out --reporter junit # a whole directory\n' +
226
+ ' $ gsloth eval eval/js-basics.yaml --reporter junit\n' +
227
+ ' $ gsloth eval eval/js-basics.yaml --reporter text,junit\n')
228
+ .action(async (suitePaths, options) => {
130
229
  try {
131
- const config = await initConfig(commandLineConfigOverrides);
132
230
  // Specific `.js` subpaths (not the bare package root), matching batchCommand.ts's
133
231
  // convention — vitest's workspace-import resolver recognizes these and resolves straight to
134
232
  // source, so specs exercise live `packages/batch/src` rather than a `dist/` build.
135
233
  const { parseEvalSuite } = await import('@gaunt-sloth/batch/evalSuite.js');
136
234
  const { runEvalSuite, classifyEvalExit } = await import('@gaunt-sloth/batch/evalRunner.js');
137
235
  const { writeEvalOutput } = await import('@gaunt-sloth/batch/evalOutput.js');
138
- const suiteText = readFileFromProjectDir(suitePath);
139
- const suite = parseEvalSuite(suiteText, suitePath);
140
- // BATCH-12 PRECONDITION — trustworthy loads (no false-green): every suite-declared identity
141
- // must resolve to its OWN config (`.gsloth-settings/<name>/`), not the global/plain
142
- // fallback. Verify ALL of them with GS2-62's PURE, catchable helper BEFORE building any
143
- // per-identity config, because handing a bad profile to `initConfig({ …, identityProfile })`
144
- // would hit its uncatchable `exit(1)` and collapse the harness-vs-product (2-vs-1) exit-code
145
- // distinction. A silent wrong-identity run is the worst failure for an auth matrix — so an
146
- // unresolved identity throws here → outer catch → exit 2, and NOTHING runs.
147
- const suiteIdentities = suite.identities ?? [];
148
- const unresolvedIdentities = suiteIdentities.filter((identity) => !resolveIdentityProfileConfigPath(identity));
149
- if (unresolvedIdentities.length > 0) {
150
- throw new Error(`identity profile(s) not found: ${unresolvedIdentities.join(', ')} — each suite ` +
151
- '`identities` entry must have its own config file in ' +
152
- '.gsloth/.gsloth-settings/<name>/. No cases were run.');
153
- }
154
- // Build the SUT run function(s), selected by `target.type`. The eval runner is
155
- // target-agnostic — it just consumes an injected single-turn `runCell` and multi-turn
156
- // `runConversation` — so the target only changes which builders produce them. The judge is
157
- // orthogonal: it always grades via the local gth `config.llm` (built above), regardless of
158
- // which target produced the answer, so the whole content-assertion + judge surface works
159
- // for both targets.
160
- let runCell;
161
- let runConversation;
162
- let runCellByIdentity;
163
- let runConversationByIdentity;
164
- if (suite.target.type === 'adk-agent') {
165
- // BATCH-14: drive an EXTERNAL Google ADK agent over A2A. The agent runs out-of-process
166
- // (its own model/tools/auth), so there is no per-identity gth config — the `identities`
167
- // matrix is rejected for this target at parse time, leaving only the single-run path.
168
- const { buildAdkRunCell, buildAdkRunConversation } = await import('#src/commands/adkEvalRunner.js');
169
- runCell = buildAdkRunCell(suite.target);
170
- runConversation = buildAdkRunConversation(suite.target);
171
- }
172
- else if (suite.target.type === 'ag-ui') {
173
- // BATCH-15: drive an EXTERNAL AG-UI agent over HTTP/SSE. Like the ADK target, the agent
174
- // runs out-of-process (its own model/tools/auth), so there is no per-identity gth config —
175
- // the `identities` matrix is rejected for this target at parse time, leaving only the
176
- // single-run path. Unlike ADK, the AG-UI wire streams tool calls, so the runner captures
177
- // them and `must_call`/`must_not_call` grade normally.
178
- const { buildAgUiRunCell, buildAgUiRunConversation } = await import('#src/commands/agUiEvalRunner.js');
179
- runCell = buildAgUiRunCell(suite.target);
180
- runConversation = buildAgUiRunConversation(suite.target);
181
- }
182
- else {
183
- // gth-agent (unchanged). With no identities: one runCell under the invoked profile. With
184
- // identities: one runCell per identity, each from a fresh `initConfig({ …, identityProfile
185
- // })` (mirrors `gth batch --models`' per-model construction — a genuinely fresh `.llm`,
186
- // never a structural clone), built ONCE per identity and reused across cases by the runner.
187
- // An identity profile's manual `mcpServers.<n>.headers.Authorization` (CFG-4) flows through
188
- // this config path as-is — never stripped, rewritten, or warned on.
189
- // BATCH-12 Task 2: build BOTH seams — the single-turn `runCell` (proven `runSingleShot`
190
- // path) and the multi-turn `runConversation` — from the ONE already-resolved config per
191
- // identity/SUT (no extra `initConfig`; the runner picks per case by `turns.length`). The
192
- // shared `ProductionRunCellOptions` frames each the same way.
236
+ const { resolveReporters } = await import('@gaunt-sloth/batch/reporters/registry.js');
237
+ const { driveReporters } = await import('@gaunt-sloth/batch/reporters/drive.js');
238
+ // The reporter selection (`--reporter`, else the default `['text']`) and the output ROOT are
239
+ // invocation-level — the same for every suite. REPLACES the default: the `--reporter` value
240
+ // when given, else `['text']`.
241
+ const reporterNames = options.reporter
242
+ ? normalizeReporterNames(options.reporter)
243
+ : ['text'];
244
+ const outputRoot = options.output ?? defaultEvalOutputDir();
245
+ // BATCH-19 Task B: run ONE whole suite — parse, precondition-check its identities, build its
246
+ // configs/reporters, run, write its structured output, and drive its reporters — RETURNING
247
+ // its summary. THROWS on this suite's own harness error (parse/config/reporter/precondition
248
+ // failure), which the caller catches per suite so one bad suite never aborts the good ones.
249
+ //
250
+ // Task B, Deliverable 2 — the `-i` papercut: a MATRIX suite (declares `identities:`) must run
251
+ // with NO base `-i`. The per-identity configs come from the suite's `identities:` list (each
252
+ // pre-validated by the precondition below), so the base config used for reporters + the
253
+ // default judge is the FIRST identity's already-built config — the matrix path NEVER calls
254
+ // `initConfig` without an `identityProfile`. That is the fix: the old top-level
255
+ // `initConfig(overrides)` demanded a resolvable base config (a matrix-only project has none),
256
+ // and its terminal `exit(1)` is uncatchable, so it can't be reached at all on this path. The
257
+ // NON-matrix path is unchanged — the base config is still `initConfig(overrides)`. (Configs
258
+ // are built per suite, not cached across suites — a documented non-goal.)
259
+ const runOneSuite = async (suite, suiteOutputDir) => {
260
+ const suiteText = readFileFromProjectDir(suite.readPath);
261
+ const parsedSuite = parseEvalSuite(suiteText, suite.readPath);
262
+ // BATCH-12 PRECONDITION — trustworthy loads (no false-green): every suite-declared identity
263
+ // must resolve to its OWN config (`.gsloth-settings/<name>/`), not the global/plain
264
+ // fallback. Verify ALL of them with GS2-62's PURE, catchable helper BEFORE building any
265
+ // per-identity config, because handing a bad profile to `initConfig({ …, identityProfile })`
266
+ // would hit its uncatchable `exit(1)` and collapse the harness-vs-product (2-vs-1) exit-code
267
+ // distinction. A silent wrong-identity run is the worst failure for an auth matrix — so an
268
+ // unresolved identity throws here → per-suite catch → exit 2, and NOTHING runs.
269
+ const suiteIdentities = parsedSuite.identities ?? [];
270
+ const unresolvedIdentities = suiteIdentities.filter((identity) => !resolveIdentityProfileConfigPath(identity));
271
+ if (unresolvedIdentities.length > 0) {
272
+ throw new Error(`identity profile(s) not found: ${unresolvedIdentities.join(', ')} — each suite ` +
273
+ '`identities` entry must have its own config file in ' +
274
+ '.gsloth/.gsloth-settings/<name>/. No cases were run.');
275
+ }
193
276
  const runCellOptions = {
194
277
  command: 'ask',
195
278
  sourcePrefix: 'EVAL',
196
279
  wrapBlockPrefix: 'message',
197
280
  wrapPrefix: 'user message',
198
281
  };
199
- if (suiteIdentities.length > 0) {
282
+ // Build the SUT run function(s), selected by `target.type`, AND resolve the base config
283
+ // used for the reporters + the default (SUT-model) judge. The eval runner is
284
+ // target-agnostic — it just consumes an injected single-turn `runCell` and multi-turn
285
+ // `runConversation` — so the target only changes which builders produce them.
286
+ let runCell;
287
+ let runConversation;
288
+ let runCellByIdentity;
289
+ let runConversationByIdentity;
290
+ let baseConfig;
291
+ if (suiteIdentities.length > 0 && parsedSuite.target.type === 'gth-agent') {
292
+ // MATRIX (gth-agent): one runCell per identity, each from a fresh
293
+ // `initConfig({ …, identityProfile })` (mirrors `gth batch --models`' per-model
294
+ // construction — a genuinely fresh `.llm`, never a structural clone), built ONCE per
295
+ // identity and reused across cases by the runner. An identity profile's manual
296
+ // `mcpServers.<n>.headers.Authorization` (CFG-4) flows through as-is. The base config for
297
+ // reporters + the default judge is the FIRST identity's config (reused, not rebuilt) — so
298
+ // this path makes NO `initConfig` call without an `identityProfile` (Deliverable 2).
200
299
  runCellByIdentity = new Map();
201
300
  runConversationByIdentity = new Map();
301
+ let firstIdentityConfig;
202
302
  for (const identity of suiteIdentities) {
203
303
  const identityConfig = await initConfig({
204
304
  ...commandLineConfigOverrides,
205
305
  identityProfile: identity,
206
306
  });
307
+ if (!firstIdentityConfig)
308
+ firstIdentityConfig = identityConfig;
207
309
  const identityPreamble = getAskSystemPrompt(identityConfig);
208
310
  runCellByIdentity.set(identity, await buildProductionRunCell(identityConfig, identityPreamble, commandLineConfigOverrides, runCellOptions));
209
311
  runConversationByIdentity.set(identity, await buildProductionRunConversation(identityConfig, identityPreamble, runCellOptions));
210
312
  }
313
+ // `firstIdentityConfig` is always set here (suiteIdentities is non-empty).
314
+ baseConfig = firstIdentityConfig;
315
+ }
316
+ else if (parsedSuite.target.type === 'adk-agent') {
317
+ // BATCH-14: drive an EXTERNAL Google ADK agent over A2A. The agent runs out-of-process
318
+ // (its own model/tools/auth), so there is no per-identity gth config — the `identities`
319
+ // matrix is rejected for this target at parse time, leaving only the single-run path. The
320
+ // judge still grades via the local gth config, so build it from `initConfig(overrides)`.
321
+ baseConfig = await initConfig(commandLineConfigOverrides);
322
+ const { buildAdkRunCell, buildAdkRunConversation } = await import('#src/commands/adkEvalRunner.js');
323
+ runCell = buildAdkRunCell(parsedSuite.target);
324
+ runConversation = buildAdkRunConversation(parsedSuite.target);
325
+ }
326
+ else if (parsedSuite.target.type === 'ag-ui') {
327
+ // BATCH-15: drive an EXTERNAL AG-UI agent over HTTP/SSE. Like the ADK target, the agent
328
+ // runs out-of-process (its own model/tools/auth), so there is no per-identity gth config —
329
+ // the `identities` matrix is rejected for this target at parse time. Unlike ADK, the AG-UI
330
+ // wire streams tool calls, so the runner captures them and `must_call`/`must_not_call`
331
+ // grade normally. The judge still grades via the local gth `initConfig(overrides)` config.
332
+ baseConfig = await initConfig(commandLineConfigOverrides);
333
+ const { buildAgUiRunCell, buildAgUiRunConversation } = await import('#src/commands/agUiEvalRunner.js');
334
+ runCell = buildAgUiRunCell(parsedSuite.target);
335
+ runConversation = buildAgUiRunConversation(parsedSuite.target);
211
336
  }
212
337
  else {
213
- const preamble = getAskSystemPrompt(config);
214
- runCell = await buildProductionRunCell(config, preamble, commandLineConfigOverrides, runCellOptions);
215
- runConversation = await buildProductionRunConversation(config, preamble, runCellOptions);
338
+ // gth-agent, NO identities (unchanged): one runCell/runConversation under the invoked
339
+ // profile, from the single `initConfig(overrides)` base config (byte-for-byte as before).
340
+ baseConfig = await initConfig(commandLineConfigOverrides);
341
+ const preamble = getAskSystemPrompt(baseConfig);
342
+ runCell = await buildProductionRunCell(baseConfig, preamble, commandLineConfigOverrides, runCellOptions);
343
+ runConversation = await buildProductionRunConversation(baseConfig, preamble, runCellOptions);
344
+ }
345
+ // BATCH-19 A2: resolve the reporter selection — BEFORE the suite runs and before any output
346
+ // is written — so an unknown `--reporter` name (or a broken config-reporter module) fails
347
+ // fast → this suite's harness error (exit 2) with NOTHING run and no misleading partial
348
+ // output. The bundled JUnit reporter and any config-declared reporters are registered
349
+ // through the ONE public `custom` seam `resolveReporters` exposes (config wins on a name
350
+ // collision). Reporters are re-resolved per suite so each suite gets fresh reporter state
351
+ // (e.g. its own JUnit document). An unknown name throws (message lists the available
352
+ // reporters) → per-suite catch → exit 2.
353
+ const customReporterFactories = await buildCustomReporterFactories(baseConfig);
354
+ const reporters = resolveReporters(reporterNames, customReporterFactories);
355
+ // BATCH-10 Task 2: resolve the judge identity profile (CLI `--judge` > suite `judge_profile`
356
+ // > none). When set, build a SEPARATE config for it — the same supported
357
+ // `initConfig({ …overrides, identityProfile })` path `gth batch --models` uses to
358
+ // reconstruct a fresh `.llm` — so the judge runs under its own model. When unset, the judge
359
+ // shares the base config (the SUT's for a single run; the FIRST identity's for a matrix).
360
+ const judgeProfile = resolveJudgeProfile(options.judge, parsedSuite.judgeProfile);
361
+ if (judgeProfile && !resolveIdentityProfileConfigPath(judgeProfile)) {
362
+ // GS2-62 (BATCH-10 review Minor 1): pre-check the requested judge profile with the PURE
363
+ // helper and throw our OWN catchable error. Without this, `initConfig({ …, identityProfile
364
+ // })` would silently fall back to the global (or plain) config on a bad profile and the
365
+ // self-describing notice below would print `Judge: profile "<typo>" (model: <global>)` —
366
+ // asserting a profile that never loaded. The throw is caught per suite → exit 2 (harness
367
+ // error). We can't lean on initConfig's own hard-error here: that path calls the
368
+ // uncatchable `exit(1)`, which would end the process with code 1 and collapse the
369
+ // harness-vs-product (2-vs-1) exit-code distinction.
370
+ throw new Error(`judge profile "${judgeProfile}" not found: no config file in ` +
371
+ `.gsloth/.gsloth-settings/${judgeProfile}/`);
372
+ }
373
+ const judgeConfig = judgeProfile
374
+ ? await initConfig({ ...commandLineConfigOverrides, identityProfile: judgeProfile })
375
+ : baseConfig;
376
+ const judge = buildProductionJudge(judgeConfig);
377
+ const summary = await runEvalSuite(parsedSuite, {
378
+ runCell,
379
+ runCellByIdentity,
380
+ runConversation,
381
+ runConversationByIdentity,
382
+ judge,
383
+ concurrency: options.concurrency,
384
+ });
385
+ writeEvalOutput(suiteOutputDir, summary);
386
+ // BATCH-19: render the run through the reporters resolved above (A1 seam + A2 selection).
387
+ // `writeEvalOutput` (results.json + per-cell JSON) is always-on core output, independent of
388
+ // any reporter — a JUnit run writes results.xml IN ADDITION, never instead. Reporters are an
389
+ // additional rendering layer, driven here in lifecycle order, with THIS suite's dir + path.
390
+ await driveReporters(reporters, summary, {
391
+ suitePath: suite.readPath,
392
+ outputDir: suiteOutputDir,
393
+ judgeNotice: judgeProfile
394
+ ? { profile: judgeProfile, model: judgeModelName(judgeConfig) }
395
+ : undefined,
396
+ });
397
+ return summary;
398
+ };
399
+ // Deliverable 1: resolve the CLI args into the ordered, de-duplicated suite list (files as
400
+ // given; directories → their sorted direct-child *.yaml/*.yml). A no-match directory records
401
+ // a harness error but does not abort the good inputs.
402
+ const { suites, errors: resolutionErrors } = resolveEvalSuiteInputs(suitePaths);
403
+ let anyHarnessError = false;
404
+ for (const message of resolutionErrors) {
405
+ displayError(`eval harness error: ${message}`);
406
+ anyHarnessError = true;
407
+ }
408
+ // Exactly one resolved suite → write DIRECTLY into the output dir (byte-for-byte with the
409
+ // single-suite contract). Multiple → each suite writes into `<output>/<suiteStem>/`, so a CI
410
+ // glob collects them and suites never clobber. On a stem collision across resolved suites,
411
+ // disambiguate deterministically (`-2`, `-3`, … in resolved order) and WARN — never silently
412
+ // overwrite.
413
+ const single = suites.length === 1;
414
+ const usedStems = new Map();
415
+ const combinedCases = [];
416
+ for (const suite of suites) {
417
+ let suiteOutputDir = outputRoot;
418
+ if (!single) {
419
+ const stem = suiteStem(suite.readPath);
420
+ const priorCount = usedStems.get(stem) ?? 0;
421
+ usedStems.set(stem, priorCount + 1);
422
+ const dirName = priorCount === 0 ? stem : `${stem}-${priorCount + 1}`;
423
+ if (priorCount > 0) {
424
+ displayWarning(`eval: two suites share the output name "${stem}"; writing "${suite.readPath}" ` +
425
+ `output to "${dirName}/" so it does not clobber the earlier one.`);
426
+ }
427
+ suiteOutputDir = join(outputRoot, dirName);
428
+ }
429
+ try {
430
+ const summary = await runOneSuite(suite, suiteOutputDir);
431
+ combinedCases.push(...summary.cases);
432
+ }
433
+ catch (error) {
434
+ // A harness-level error for THIS suite (parse/config/reporter/precondition/unexpected).
435
+ // A harness error in ANY suite dominates the aggregate exit → 2 (a partial run can't be
436
+ // trusted), but the good suites still ran and wrote their output.
437
+ displayError(`eval harness error${single ? '' : ` in ${suite.readPath}`}: ` +
438
+ (error instanceof Error ? error.message : String(error)));
439
+ anyHarnessError = true;
216
440
  }
217
441
  }
218
- // BATCH-10 Task 2: resolve the judge identity profile (CLI `--judge` > suite `judge_profile`
219
- // > none). When set, build a SEPARATE config for it — the same supported
220
- // `initConfig({ …overrides, identityProfile })` path `gth batch --models` uses to
221
- // reconstruct a fresh `.llm` (never a structural clone of an already-built model) — so the
222
- // judge runs under its own model. When unset, the judge shares the SUT's config, unchanged.
223
- const judgeProfile = resolveJudgeProfile(options.judge, suite.judgeProfile);
224
- if (judgeProfile && !resolveIdentityProfileConfigPath(judgeProfile)) {
225
- // GS2-62 (BATCH-10 review Minor 1): pre-check the requested judge profile with the PURE
226
- // helper and throw our OWN catchable error. Without this, `initConfig({ …, identityProfile
227
- // })` would silently fall back to the global (or plain) config on a bad profile and the
228
- // self-describing notice below would print `Judge: profile "<typo>" (model: <global>)` —
229
- // asserting a profile that never loaded. The throw is caught by the outer try/catch →
230
- // exit 2 (harness error). We can't lean on initConfig's own hard-error here: that path
231
- // calls the uncatchable `exit(1)`, which would end the process with code 1 and collapse
232
- // the harness-vs-product (2-vs-1) exit-code distinction.
233
- throw new Error(`judge profile "${judgeProfile}" not found: no config file in ` +
234
- `.gsloth/.gsloth-settings/${judgeProfile}/`);
442
+ // Aggregate three-way exit: concatenate every successful suite's cases into ONE combined
443
+ // summary and call `classifyEvalExit` ONCE. A harness error in ANY suite dominates → exit 2.
444
+ // For N=1 this reproduces the single-suite exit EXACTLY (one summary, or one harness error →
445
+ // 2); `classifyEvalExit`'s own empty/all-`!sutOk` rule also yields 2 when nothing gradeable
446
+ // ran anywhere.
447
+ const passed = combinedCases.filter((result) => result.verdict === 'PASS').length;
448
+ const combined = {
449
+ total: combinedCases.length,
450
+ passed,
451
+ failed: combinedCases.length - passed,
452
+ cases: combinedCases,
453
+ };
454
+ // Multi-suite only: one aggregate total line AFTER every suite's own per-suite output. For
455
+ // N=1 print NOTHING extra — the single suite's text reporter already printed its verdict, so
456
+ // the output stays byte-for-byte identical to the single-suite contract.
457
+ if (suites.length > 1) {
458
+ const totalLine = `EVAL TOTAL: ${combined.passed}/${combined.total} across ${suites.length} suites, ` +
459
+ `${combined.failed} failed`;
460
+ if (combined.failed === 0 && !anyHarnessError) {
461
+ displaySuccess(totalLine);
462
+ }
463
+ else {
464
+ displayWarning(totalLine);
465
+ }
235
466
  }
236
- const judgeConfig = judgeProfile
237
- ? await initConfig({ ...commandLineConfigOverrides, identityProfile: judgeProfile })
238
- : config;
239
- const judge = buildProductionJudge(judgeConfig);
240
- const summary = await runEvalSuite(suite, {
241
- runCell,
242
- runCellByIdentity,
243
- runConversation,
244
- runConversationByIdentity,
245
- judge,
246
- concurrency: options.concurrency,
247
- });
248
- const outputDir = options.output ?? defaultEvalOutputDir();
249
- writeEvalOutput(outputDir, summary);
250
- printSummary(summary, outputDir, judgeProfile ? { profile: judgeProfile, model: judgeModelName(judgeConfig) } : undefined);
251
- // BATCH-11: distinct exit codes — 0 pass / 1 suite ran but a case FAILED / 2 no gradeable
252
- // results (every SUT run failed). `setExitCode` is only called for a non-zero code; `0` is
253
- // the default process exit code, preserving the "not set on a clean pass" behavior.
254
- const exitCode = classifyEvalExit(summary);
467
+ const exitCode = anyHarnessError ? 2 : classifyEvalExit(combined);
255
468
  if (exitCode !== 0) {
256
469
  setExitCode(exitCode);
257
470
  }
258
471
  }
259
472
  catch (error) {
260
- // BATCH-11: a harness-level error the run never recovered from — suite-file load/parse
261
- // error, config error, or any unexpected setup/run failure. The suite couldn't be
262
- // meaningfully evaluated, so this is an *environment* signal (exit 2), distinct from a
263
- // product regression (exit 1). Surface the reason; do NOT rethrow — an uncaught throw would
264
- // surface as a generic exit 1 via the entry point, collapsing the 1-vs-2 distinction.
473
+ // BATCH-11: an invocation-level harness error the run never recovered from (e.g. a failed
474
+ // dynamic import) — distinct from a per-suite error (caught in the loop). The suites couldn't
475
+ // be meaningfully evaluated, so this is an *environment* signal (exit 2). Surface the reason;
476
+ // do NOT rethrow — an uncaught throw would surface as a generic exit 1 via the entry point,
477
+ // collapsing the 1-vs-2 distinction.
265
478
  displayError(`eval harness error: ${error instanceof Error ? error.message : String(error)}`);
266
479
  setExitCode(2);
267
480
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evalCommand.js","sourceRoot":"","sources":["../../src/commands/evalCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evalCommand.js","sourceRoot":"","sources":["../../src/commands/evalCommand.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
+ import { buildToolBodyLines, buildToolPreviewLines, getToolGlyph, summariseToolCall, } from '@gaunt-sloth/core/core/toolDisplay.js';
3
4
  import { CHECKLIST_TOOL_NAME, parseChecklistArgs } from '#src/tui/viewModel.js';
4
5
  import { renderMarkdown } from '#src/tui/markdown.js';
5
6
  /** Status glyph + word for a tool call's compact summary line. */
@@ -15,20 +16,53 @@ function toolStatus(tc) {
15
16
  return { glyph: '⋯', label: 'running', color: 'yellow' };
16
17
  }
17
18
  /**
18
- * One tool call rendered as a collapsible panel: a compact summary line (glyph + name +
19
- * status) that, when `expanded`, also shows the streamed args and the result. Collapsed by
20
- * default so the transcript stays readable; the whole turn's tool calls expand together via
21
- * the App-level toggle (Ctrl+T), mirroring the docked debug panel's single-key detail flip.
19
+ * TUI-C30 — map one registry-styled body/preview line onto Ink `<Text>` props: `dim` = greyed
20
+ * preview text, `added`/`removed` = diff green/red (DL-8 colour semantics). The 4-space indent
21
+ * keeps the body visually nested under the call line.
22
+ */
23
+ function ToolBodyLine({ line }) {
24
+ if (line.style === 'added')
25
+ return _jsx(Text, { color: "green", children: ` ${line.text}` });
26
+ if (line.style === 'removed')
27
+ return _jsx(Text, { color: "red", children: ` ${line.text}` });
28
+ return _jsx(Text, { dimColor: true, children: ` ${line.text}` });
29
+ }
30
+ /**
31
+ * One tool call rendered as a collapsible panel (TUI-C30 rendering, via the surface-agnostic
32
+ * registry in `@gaunt-sloth/core/core/toolDisplay.js` — shared with the plain surface):
33
+ *
34
+ * - The call line shows the params INLINE, shortened + secret-redacted:
35
+ * `▸ ✓ 📁 read_file(path=README.md) [done]` (DL-4 transparency without a raw JSON dump).
36
+ * - Collapsed (default) it still previews up to the canonical 10 lines of the tool's output as
37
+ * greyed text with a `… (+N more lines)` overflow marker — inspectable without expanding
38
+ * (DL-2 progressive disclosure with the head of the story visible).
39
+ * - `write_file`/`edit_file` render their change as a diff (added green / removed red) derived
40
+ * from the args instead of an args/output dump.
41
+ * - Expanded (`/tools` / Ctrl+T, unchanged) shows the FULL body: raw args, the routed
42
+ * "Executing" notice, and the uncapped formatter output (deduped for shell calls whose
43
+ * result repeats the live output).
44
+ *
45
+ * The whole turn's tool calls expand together via the App-level toggle; committed turns are
46
+ * frozen in Ink's `<Static>` and cannot re-fold.
22
47
  */
23
48
  function ToolCallPanel({ tc, expanded, live, }) {
24
49
  const { glyph, label, color } = toolStatus(tc);
25
- const name = tc.name || '(tool)';
26
- // Collapsed-state affordance: a ▸/▾ caret so it reads as foldable, plus a hint there is
27
- // detail to expand. Expanded shows ▾ and the args/result body. The Ctrl+T hint only shows
28
- // on the live turn — committed turns are frozen in Ink's <Static> and cannot re-fold.
50
+ // Inline shortened params (summariseToolCall handles the empty/unparsable-args fallbacks).
51
+ const summary = summariseToolCall(tc.name, tc.argsText);
29
52
  const caret = expanded ? '▾' : '▸';
30
- const hasDetail = !!tc.argsText || !!tc.result;
31
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: color, children: [`${caret} ${glyph} ${name}`, _jsx(Text, { dimColor: true, children: ` [${label}]` }), live && !expanded && hasDetail ? _jsx(Text, { dimColor: true, children: ' (Ctrl+T to expand)' }) : null] }), expanded && tc.argsText ? (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: ' args: ' }), _jsx(Text, { dimColor: true, children: tc.argsText })] })) : null, expanded && tc.result ? (_jsx(Box, { flexDirection: "column", children: tc.result.split('\n').map((line, i) => (_jsx(Text, { dimColor: true, children: ` ${line}` }, i))) })) : null] }));
53
+ const hasDetail = !!tc.argsText || !!tc.result || !!tc.output || !!tc.notice;
54
+ const displayInput = {
55
+ name: tc.name,
56
+ argsText: tc.argsText,
57
+ result: tc.result,
58
+ output: tc.output,
59
+ isError: tc.isError,
60
+ };
61
+ // Collapsed: the canonical 10-line capped preview. Expanded: the full uncapped body.
62
+ const body = expanded ? buildToolBodyLines(displayInput) : buildToolPreviewLines(displayInput);
63
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: color, children: [`${caret} ${glyph} ${getToolGlyph(tc.name)} ${summary}`, _jsx(Text, { dimColor: true, children: ` [${label}]` }), live && !expanded && hasDetail ? _jsx(Text, { dimColor: true, children: ' (Ctrl+T to expand)' }) : null] }), expanded && tc.argsText ? (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: ' args: ' }), _jsx(Text, { dimColor: true, children: tc.argsText })] })) : null, expanded && tc.notice
64
+ ? tc.notice.split('\n').map((line, i) => (_jsx(Text, { dimColor: true, children: ` ${line}` }, `n${i}`)))
65
+ : null, body.map((line, i) => (_jsx(ToolBodyLine, { line: line }, i)))] }));
32
66
  }
33
67
  /**
34
68
  * The `💭 Thinking` region: the model's reasoning/chain-of-thought, rendered as a distinct
@@ -1 +1 @@
1
- {"version":3,"file":"LiveTurn.js","sourceRoot":"","sources":["../../../src/tui/components/LiveTurn.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiveTurn.js","sourceRoot":"","sources":["../../../src/tui/components/LiveTurn.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { render } from 'ink';
3
3
  import { initConfig } from '@gaunt-sloth/core/config.js';
4
4
  import { GthAgentRunner } from '@gaunt-sloth/core/core/GthAgentRunner.js';
5
+ import { mergeToolOutputIntoEvents } from '@gaunt-sloth/core/core/toolOutputChannel.js';
5
6
  import { StatusLevel } from '@gaunt-sloth/core/core/types.js';
6
7
  import { beginWarningCapture, endWarningCapture, flushSessionLog, initSessionLogging, stopSessionLogging, } from '@gaunt-sloth/core/utils/consoleUtils.js';
7
8
  import { appendToFile, getCommandOutputFilePath } from '@gaunt-sloth/core/utils/fileUtils.js';
@@ -316,7 +317,12 @@ export async function createTuiSession(sessionConfig, commandLineConfigOverrides
316
317
  const tuiAgent = {
317
318
  async *runTurn(userInput, signal) {
318
319
  turnStartedAt = Date.now(); // GS2-16: mark turn start for durationMs in logTurn
319
- yield* runner.processMessagesWithEvents([new HumanMessage(userInput)], signal);
320
+ // TUI-C17: subscribe to the tool-output channel for the turn and merge each live
321
+ // custom/dev-tool stdout/stderr chunk (and its "Executing" notice) into the event
322
+ // stream as `tool_output` events — so tool output lands in `foldEvents`/the managed
323
+ // frame instead of leaking to raw stdout above Ink's render tree. Unsubscribes when
324
+ // the turn ends, restoring the default (headless) stdout sink between turns.
325
+ yield* mergeToolOutputIntoEvents(runner.processMessagesWithEvents([new HumanMessage(userInput)], signal));
320
326
  },
321
327
  // `/clear` rotates the runner's thread_id so the model context truly matches the
322
328
  // cleared transcript (the checkpointer otherwise replays the whole prior conversation).
@@ -1 +1 @@
1
- {"version":3,"file":"tuiSessionModule.js","sourceRoot":"","sources":["../../src/tui/tuiSessionModule.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tuiSessionModule.js","sourceRoot":"","sources":["../../src/tui/tuiSessionModule.tsx"],"names":[],"mappings":"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"}
@@ -17,6 +17,20 @@ export interface ToolCallViewModel {
17
17
  /** Accumulated `tool_args` deltas (raw JSON text as streamed). */
18
18
  argsText: string;
19
19
  status: 'running' | 'done';
20
+ /**
21
+ * TUI-C17 — accumulated LIVE output streamed while the tool executed (`tool_output` events:
22
+ * verbatim child stdout/stderr chunks, in arrival order). Distinct from `result` (the final
23
+ * model-facing tool result): this is what the child printed as it ran. Living here (React
24
+ * state, not ephemeral stdout) is what makes it survive re-renders; TUI-C30 consumes it for
25
+ * the per-tool output preview.
26
+ */
27
+ output?: string;
28
+ /**
29
+ * TUI-C30 — the "🔧 Executing …" announcement (`tool_output` events with `isNotice`), kept
30
+ * SEPARATE from `output` so the raw-output preview never counts the notice as an output line
31
+ * and the expanded panel can style it as chrome rather than child output.
32
+ */
33
+ notice?: string;
20
34
  /** Present once a `tool_result` arrives. */
21
35
  result?: string;
22
36
  /**
@@ -68,6 +68,32 @@ export function foldEvents(state, event) {
68
68
  isError: event.isError,
69
69
  })),
70
70
  };
71
+ case 'tool_output': {
72
+ // TUI-C17 — live output streamed while the tool executes. Chunks normally arrive BEFORE the
73
+ // call's `tool_start` (the agent stream only flushes tool_start when the round's ToolMessage
74
+ // lands), so upsertTool's placeholder path is the common case: seed the name from the event
75
+ // so the panel is labelled while running.
76
+ // Without an id (defensive: the invoking framework supplied no tool call), fall back to the
77
+ // most recent running call with the same name, else a synthetic per-name bucket — output is
78
+ // never silently dropped (mirrors the defensive posture above).
79
+ // TUI-C30 — notices accumulate on the SEPARATE `notice` field (newline-joined; they carry
80
+ // no trailing newline of their own) so the output preview counts only real child output.
81
+ const fallbackId = [...state.toolCalls]
82
+ .reverse()
83
+ .find((tc) => tc.name === event.name && tc.status === 'running')?.id ??
84
+ `${event.name}#live`;
85
+ const id = event.id ?? fallbackId;
86
+ return {
87
+ ...state,
88
+ toolCalls: upsertTool(state.toolCalls, id, (tc) => ({
89
+ ...tc,
90
+ name: tc.name || event.name,
91
+ ...(event.isNotice
92
+ ? { notice: tc.notice ? `${tc.notice}\n${event.chunk}` : event.chunk }
93
+ : { output: (tc.output ?? '') + event.chunk }),
94
+ })),
95
+ };
96
+ }
71
97
  default: {
72
98
  // Exhaustiveness guard: a new AgentStreamEvent variant fails the build here.
73
99
  const _never = event;
@@ -1 +1 @@
1
- {"version":3,"file":"viewModel.js","sourceRoot":"","sources":["../../src/tui/viewModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewModel.js","sourceRoot":"","sources":["../../src/tui/viewModel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gaunt-sloth",
3
- "version": "2.0.0-alpha.20",
3
+ "version": "2.0.0-alpha.22",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -45,10 +45,11 @@
45
45
  "@langchain/xai": "^1.4.5",
46
46
  "commander": "^15.0.0",
47
47
  "zod": "^4.4.3",
48
- "@gaunt-sloth/agent": "2.0.0-alpha.20",
49
- "@gaunt-sloth/batch": "2.0.0-alpha.20",
50
- "@gaunt-sloth/review": "2.0.0-alpha.20",
51
- "@gaunt-sloth/core": "2.0.0-alpha.20"
48
+ "@gaunt-sloth/agent": "2.0.0-alpha.22",
49
+ "@gaunt-sloth/core": "2.0.0-alpha.22",
50
+ "@gaunt-sloth/batch": "2.0.0-alpha.22",
51
+ "@gaunt-sloth/review": "2.0.0-alpha.22",
52
+ "@gaunt-sloth/eval-reporter-junit": "0.1.0"
52
53
  },
53
54
  "optionalDependencies": {
54
55
  "chalk": "^5.6.2",