@gaunt-sloth/batch 2.0.0-alpha.19 → 2.0.0-alpha.21

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 (39) hide show
  1. package/README.md +140 -0
  2. package/dist/bin.d.ts +13 -0
  3. package/dist/bin.js +28 -0
  4. package/dist/bin.js.map +1 -0
  5. package/dist/deterministicChecks.d.ts +39 -7
  6. package/dist/deterministicChecks.js +120 -11
  7. package/dist/deterministicChecks.js.map +1 -1
  8. package/dist/evalOutput.d.ts +17 -4
  9. package/dist/evalOutput.js +40 -5
  10. package/dist/evalOutput.js.map +1 -1
  11. package/dist/evalRunner.d.ts +68 -15
  12. package/dist/evalRunner.js +309 -55
  13. package/dist/evalRunner.js.map +1 -1
  14. package/dist/evalSuite.d.ts +32 -11
  15. package/dist/evalSuite.js +487 -42
  16. package/dist/evalSuite.js.map +1 -1
  17. package/dist/evalTypes.d.ts +187 -15
  18. package/dist/index.d.ts +5 -1
  19. package/dist/index.js +6 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/pipelineCli.d.ts +102 -0
  22. package/dist/pipelineCli.js +348 -0
  23. package/dist/pipelineCli.js.map +1 -0
  24. package/dist/reporters/drive.d.ts +14 -0
  25. package/dist/reporters/drive.js +49 -0
  26. package/dist/reporters/drive.js.map +1 -0
  27. package/dist/reporters/registry.d.ts +11 -0
  28. package/dist/reporters/registry.js +26 -0
  29. package/dist/reporters/registry.js.map +1 -0
  30. package/dist/reporters/reporterTypes.d.ts +36 -0
  31. package/dist/reporters/reporterTypes.js +2 -0
  32. package/dist/reporters/reporterTypes.js.map +1 -0
  33. package/dist/reporters/textReporter.d.ts +10 -0
  34. package/dist/reporters/textReporter.js +50 -0
  35. package/dist/reporters/textReporter.js.map +1 -0
  36. package/dist/toolChecks.d.ts +21 -0
  37. package/dist/toolChecks.js +38 -0
  38. package/dist/toolChecks.js.map +1 -0
  39. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"evalSuite.js","sourceRoot":"","sources":["../src/evalSuite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evalSuite.js","sourceRoot":"","sources":["../src/evalSuite.ts"],"names":[],"mappings":"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"}
@@ -11,32 +11,168 @@
11
11
  * Kept as our own constant (not imported) since review's is private to that module and coupled to
12
12
  * middleware/tool-call/artifact-store plumbing that doesn't fit a plain structured-output call. */
13
13
  export declare const DEFAULT_EVAL_PASS_THRESHOLD = 6;
14
- /** One case's target this task only supports `gth-agent` against the run's own resolved config
15
- * (no `--identities`, no pluggable CLI/HTTP targets — see the BATCH-2 Task 2 brief). */
16
- export interface EvalTarget {
14
+ /** The in-process SUT target: an agent built from the run's own resolved config (the original and
15
+ * default target). */
16
+ export interface GthAgentTarget {
17
17
  type: 'gth-agent';
18
- /** Suite-level profile hint. Only `undefined`/`'default'` is accepted this task (see
18
+ /** Suite-level profile hint. Only `undefined`/`'default'` is accepted (see
19
19
  * {@link ../evalSuite.js}'s `parseEvalSuite`) — per-case/per-identity profile switching is
20
- * `--identities` scope, not this task's. */
20
+ * `identities` scope, not this. */
21
21
  profile?: string;
22
22
  }
23
- /** One case parsed and normalized from suite YAML — snake_case YAML keys become camelCase here,
24
- * arrays default to `[]` (not `undefined`) so callers never need an existence check, and
25
- * `passThreshold` is pre-resolved (case override ?? suite `defaults.pass_threshold` ??
26
- * {@link DEFAULT_EVAL_PASS_THRESHOLD}). */
27
- export interface EvalCase {
28
- id: string;
29
- prompt: string;
23
+ /**
24
+ * BATCH-14 an EXTERNAL Google ADK agent, graded over the A2A (Agent-to-Agent) protocol. The eval
25
+ * drives a *running* ADK agent by A2A text send and grades its answers with the same content
26
+ * assertions as {@link GthAgentTarget}. The agent runs out-of-process (its own model/tools/auth), so
27
+ * this target only needs the A2A connection, not a gth config.
28
+ *
29
+ * Honest-boundary note (BATCH-14 design point 4): A2A's wire content is only text/file/data parts
30
+ * plus task status/artifact events — it does NOT expose the agent's intermediate tool/function calls
31
+ * in any standardized form. So `must_call`/`must_not_call` cannot be graded against this target and
32
+ * are rejected at parse time (never a silent pass); the `identities` matrix (per-identity gth
33
+ * configs) is likewise meaningless for an external agent and rejected.
34
+ */
35
+ export interface AdkAgentTarget {
36
+ type: 'adk-agent';
37
+ /** The ADK agent's A2A endpoint / agent-card base URL (mirrors `A2AClientConfig.agentUrl`; the
38
+ * SDK fetches `/.well-known/agent-card.json` from it). Required — a suite without it is a parse
39
+ * error. */
40
+ url: string;
41
+ /** Optional label for the agent (mirrors `A2AClientConfig.agentId`; used only for debug logging).
42
+ * Defaults to `'adk-agent'` when the suite omits it. */
43
+ agentId?: string;
44
+ }
45
+ /**
46
+ * BATCH-15 — an EXTERNAL agent exposed over the AG-UI protocol, graded by driving its HTTP/SSE run
47
+ * endpoint (`POST {url}/agents/{agentId}/run`). The eval sends the conversation as a `RunAgentInput`
48
+ * and decodes the streamed AG-UI events, grading the assembled answer with the SAME content
49
+ * assertions as {@link GthAgentTarget}. Like {@link AdkAgentTarget}, the agent runs out-of-process
50
+ * (its own model/tools/auth), so this target only needs the AG-UI connection, not a gth config.
51
+ *
52
+ * KEY DIFFERENCE from {@link AdkAgentTarget}: the AG-UI wire DOES stream the agent's tool calls
53
+ * (`TOOL_CALL_START` events). So — unlike A2A, where the tool trace is invisible and
54
+ * `must_call`/`must_not_call` are rejected at parse time — the ag-ui runner captures each
55
+ * `TOOL_CALL_START`'s tool name into the outcome's `tools`, and `must_call`/`must_not_call` grade
56
+ * normally against this target.
57
+ */
58
+ export interface AgUiAgentTarget {
59
+ type: 'ag-ui';
60
+ /** The AG-UI server's base URL — the origin of `POST {url}/agents/{agentId}/run`. Required; a
61
+ * suite without it is a parse error. */
62
+ url: string;
63
+ /** The `{agentId}` path segment of `/agents/{agentId}/run` (per the AG-UI protocol). Required; a
64
+ * suite without it is a parse error. */
65
+ agentId: string;
66
+ }
67
+ /** One suite's target — the in-process gth agent (default), an external ADK agent over A2A
68
+ * (BATCH-14), or an external AG-UI agent over HTTP/SSE (BATCH-15). Discriminated by `type`; the
69
+ * runner is target-agnostic (it consumes an injected `RunCellFn`/`RunConversationFn`), so the target
70
+ * only changes which runner the command builds. */
71
+ export type EvalTarget = GthAgentTarget | AdkAgentTarget | AgUiAgentTarget;
72
+ /** One `json_path` assertion (BATCH-10): resolve `path` against the answer-parsed-as-JSON and check
73
+ * it. Exactly one of `equals`/`contains` is set (enforced in {@link ../evalSuite.js}'s parse):
74
+ * - `equals` — the resolved value must deep-equal this (any JSON value, incl. `null`).
75
+ * - `contains` — the resolved value must be a string containing this substring. */
76
+ export interface JsonPathCheck {
77
+ path: string;
78
+ equals?: unknown;
79
+ contains?: string;
80
+ }
81
+ /**
82
+ * One expectation block (BATCH-12) — the BATCH-10 assertion bundle PLUS an optional `identities`
83
+ * scope. This is the atom the whole eval layer normalizes to: a flat case is sugar for ONE
84
+ * unscoped expectation (applies to every identity), and a matrix case's `expect:` array is a list
85
+ * of these. snake_case YAML keys become camelCase here; arrays default to `[]` (not `undefined`)
86
+ * so callers never need an existence check.
87
+ */
88
+ export interface EvalExpectation {
89
+ /**
90
+ * The identity profiles this block grades (BATCH-12). Absent/empty = applies to EVERY applicable
91
+ * identity — this is what a flat case's single block carries (the sugar), and what an unscoped
92
+ * `expect:` block carries. A block naming `[admin]` grades only the `admin` run. Every name here
93
+ * is validated at parse time to be one the suite declares in its top-level `identities` list.
94
+ */
95
+ identities?: string[];
30
96
  mustContain: string[];
31
97
  mustNotContain: string[];
32
98
  shouldContainAny: string[];
33
- /** The judge rubric, when present and non-blank. `undefined` = no judge for this case. */
99
+ /** BATCH-10 tool-trace assertions, matched against the case's captured tool names with
100
+ * glob support (see `@gaunt-sloth/core/utils/toolMatching.js`, shared with `allowedTools`). */
101
+ mustCall: string[];
102
+ mustNotCall: string[];
103
+ /** BATCH-10 regex assertions over the raw answer — compiled at parse time (bad patterns are a
104
+ * suite error, never a run-time crash) and stored so the compiled `RegExp` is reused, not
105
+ * rebuilt. No implicit case-folding: authors control flags in the pattern themselves. */
106
+ mustMatch: RegExp[];
107
+ mustNotMatch: RegExp[];
108
+ /** BATCH-10 minimal JSON-path assertions over the answer parsed as JSON — see {@link JsonPathCheck}. */
109
+ jsonPath: JsonPathCheck[];
110
+ /** The judge rubric, when present and non-blank. `undefined` = no judge for this block. */
34
111
  judgeRubric?: string;
112
+ }
113
+ /**
114
+ * One conversational turn (BATCH-12): the `user` message to send, and the {@link EvalExpectation}
115
+ * blocks that grade its answer. **Task 1 keeps every case at exactly one turn** (single-turn); the
116
+ * general `turns[]` type exists NOW so Task 2 adds multi-turn *execution*, not a schema migration.
117
+ */
118
+ export interface EvalTurn {
119
+ user: string;
120
+ expectations: EvalExpectation[];
121
+ }
122
+ /**
123
+ * One turn's raw run outcome inside a multi-turn conversation (BATCH-12 Task 2). Structurally the
124
+ * per-turn analogue of BATCH-1's {@link ../types.js CellRunOutcome}: the turn's answer plus the
125
+ * tools/tokens captured FOR THAT TURN — a per-invoke GS2-16 delta (each `processMessages` call
126
+ * resets the tally), NOT the cumulative conversation total. `ok:false` with `error` set means that
127
+ * turn's SUT invocation failed (no answer to grade). The conversational runner returns one of these
128
+ * per turn it attempted, in turn order (a short array = the conversation aborted mid-way).
129
+ */
130
+ export interface TurnRunOutcome {
131
+ ok: boolean;
132
+ answer?: string;
133
+ tokensInput?: number;
134
+ tokensOutput?: number;
135
+ tools?: string[];
136
+ error?: string;
137
+ }
138
+ /**
139
+ * Injectable "run one whole scripted conversation" function (BATCH-12 Task 2) — the multi-turn
140
+ * analogue of BATCH-1's {@link ../types.js RunCellFn}, and the seam that lets
141
+ * {@link ../evalRunner.js}'s multi-turn path be unit tested without any real LLM/MCP. Given the
142
+ * ordered user messages of ONE (case × identity) conversation, it builds the agent + resolves tools
143
+ * ONCE, runs each turn against the accumulated message history, and returns one {@link TurnRunOutcome}
144
+ * per turn (per-turn answer + per-turn tool delta), cleaning up once. The production wiring
145
+ * (`batchCommand.ts`'s `buildProductionRunConversation`) adapts core's `runConversation`; tests
146
+ * inject a fake returning scripted per-turn answers + traces.
147
+ */
148
+ export type RunConversationFn = (userMessages: string[]) => Promise<TurnRunOutcome[]>;
149
+ /**
150
+ * One case parsed and normalized from suite YAML. Every case — flat or matrix — reduces to this
151
+ * ONE shape: a list of {@link EvalTurn}s (Task 1: length exactly 1, its `user` = the case's
152
+ * `prompt`) whose expectations carry the assertions. `passThreshold` is per-case and pre-resolved
153
+ * (case override ?? suite `defaults.pass_threshold` ?? {@link DEFAULT_EVAL_PASS_THRESHOLD}).
154
+ */
155
+ export interface EvalCase {
156
+ id: string;
157
+ turns: EvalTurn[];
35
158
  passThreshold: number;
36
159
  }
37
160
  /** A fully parsed and validated suite — see {@link ../evalSuite.js}'s `parseEvalSuite`. */
38
161
  export interface EvalSuite {
39
162
  target: EvalTarget;
163
+ /**
164
+ * Suite-level identity profiles (BATCH-12 / #405 his #1): run every case once per identity, each
165
+ * under `initConfig({ …, identityProfile })`, to test per-identity authorization / data-isolation.
166
+ * Absent = no matrix — a single run under the invoked profile (today's behavior, unchanged). Each
167
+ * name is a plain profile that must resolve to its own `.gsloth-settings/<name>/` config.
168
+ */
169
+ identities?: string[];
170
+ /** Optional suite-level judge identity profile (BATCH-10 Task 2): the profile whose model grades
171
+ * the cases, when the suite wants a judge distinct from the SUT. A top-level sibling of
172
+ * `target`/`cases` — distinct from `target.profile` (which selects the SUT and is still rejected
173
+ * unless `default`). Resolved by the CLI as `--judge <profile>` > this > none (none = judge uses
174
+ * the SUT's `config.llm`, the pre-Task-2 behavior). Absent/blank = no separate judge. */
175
+ judgeProfile?: string;
40
176
  cases: EvalCase[];
41
177
  }
42
178
  /** The result of running one case's answer through its deterministic checks. */
@@ -70,9 +206,36 @@ export interface JudgeOutcome {
70
206
  * of BATCH-1's `RunCellFn`. The production wiring (`evalCommand.ts`) adapts `judgeEvalCase` to
71
207
  * this shape; tests inject a fake that resolves/fails as needed. */
72
208
  export type JudgeFn = (answer: string, rubric: string) => Promise<JudgeOutcome>;
73
- /** One case's full graded outcome, as written to `<id>.json` and summarized in `results.json`. */
209
+ /**
210
+ * One graded turn inside a multi-turn cell's result (BATCH-12 Task 2). Present only on a multi-turn
211
+ * {@link EvalCaseResult} (via its `turns` array); a single-turn cell keeps its flat top-level shape
212
+ * unchanged. Carries the turn's user message, its answer/tools/tokens, and its own verdict + reasons
213
+ * so the output pinpoints exactly which turn failed and why.
214
+ */
215
+ export interface EvalTurnResult {
216
+ user: string;
217
+ answer?: string;
218
+ tokensInput?: number;
219
+ tokensOutput?: number;
220
+ tools?: string[];
221
+ /** Whether this turn's SUT invocation ran (mirrors {@link TurnRunOutcome.ok}); `false` = the turn
222
+ * produced no answer (transport/agent error, or the conversation aborted before reaching it). */
223
+ ok: boolean;
224
+ verdict: 'PASS' | 'FAIL';
225
+ checks?: DeterministicCheckResult;
226
+ judge?: JudgeOutcome;
227
+ /** Every reason this turn FAILed; empty when `verdict` is `PASS`. */
228
+ reasons: string[];
229
+ }
230
+ /** One graded cell's full outcome, as written to `<id>.json` (matrix: `<id>__<identity>.json`) and
231
+ * summarized in `results.json`. A cell is one (case × identity) pair: without a suite `identities`
232
+ * list there is exactly one cell per case (`identity` omitted, byte-for-byte as before BATCH-12);
233
+ * with identities there is one cell per (case, identity). */
74
234
  export interface EvalCaseResult {
75
235
  id: string;
236
+ /** The identity profile this cell ran under (BATCH-12). Omitted entirely (not `undefined`-valued)
237
+ * for a no-identities suite, so its `<id>.json` output stays byte-for-byte identical to before. */
238
+ identity?: string;
76
239
  verdict: 'PASS' | 'FAIL';
77
240
  passThreshold: number;
78
241
  /** Whether the SUT run itself completed without error (mirrors `CellRunOutcome.ok`). `false`
@@ -86,8 +249,17 @@ export interface EvalCaseResult {
86
249
  checks?: DeterministicCheckResult;
87
250
  judge?: JudgeOutcome;
88
251
  /** Every reason the case FAILed (deterministic check failures, judge-below-threshold, judge
89
- * error, SUT failure). Empty when `verdict` is `PASS`. */
252
+ * error, SUT failure). Empty when `verdict` is `PASS`. For a multi-turn cell each reason is
253
+ * prefixed with the failing turn (`turn N: …`), and the full per-turn breakdown is in {@link turns}. */
90
254
  reasons: string[];
255
+ /**
256
+ * BATCH-12 Task 2 — the per-turn breakdown of a MULTI-TURN cell (one entry per conversational
257
+ * turn, in order). Present only for a multi-turn case; **omitted entirely for a single-turn
258
+ * cell**, so an existing single-`prompt` case's `<id>.json` stays byte-for-byte identical. The
259
+ * cell PASSES iff every turn here PASSes; the top-level `answer`/`checks`/`judge`/`tools` fields
260
+ * are left unset for a multi-turn cell (there is no single answer) — read {@link turns} instead.
261
+ */
262
+ turns?: EvalTurnResult[];
91
263
  }
92
264
  /** The suite-level aggregate written to `results.json` — `gth eval` exits 0 iff `failed === 0`. */
93
265
  export interface EvalSuiteSummary {
package/dist/index.d.ts CHANGED
@@ -11,8 +11,12 @@ export { judgeEvalCase, buildJudgeMessages, EvalVerdictSchema, EVAL_JUDGE_DEFAUL
11
11
  export type { EvalJudgeVerdict } from '#src/judge.js';
12
12
  export { runEvalSuite } from '#src/evalRunner.js';
13
13
  export { writeEvalOutput } from '#src/evalOutput.js';
14
- export type { DeterministicCheckResult, EvalCase, EvalCaseResult, EvalSuite, EvalSuiteSummary, EvalTarget, JudgeFn, JudgeOutcome, JudgeVerdict, } from '#src/evalTypes.js';
14
+ export type { AdkAgentTarget, AgUiAgentTarget, DeterministicCheckResult, EvalCase, EvalCaseResult, EvalExpectation, EvalSuite, EvalSuiteSummary, EvalTarget, GthAgentTarget, EvalTurn, EvalTurnResult, JudgeFn, JudgeOutcome, JudgeVerdict, RunConversationFn, TurnRunOutcome, } from '#src/evalTypes.js';
15
15
  export type { RunEvalSuiteOptions } from '#src/evalRunner.js';
16
16
  export { DEFAULT_EVAL_PASS_THRESHOLD } from '#src/evalTypes.js';
17
+ export { resolveReporters, availableReporterNames } from '#src/reporters/registry.js';
18
+ export { driveReporters } from '#src/reporters/drive.js';
19
+ export { createTextReporter } from '#src/reporters/textReporter.js';
20
+ export type { EvalReporter, EvalReporterFactory, EvalRunContext, NamedReporter, } from '#src/reporters/reporterTypes.js';
17
21
  export { runWorkflow } from '#src/workflow/runWorkflow.js';
18
22
  export type { WorkflowAgentOptions, WorkflowContext, RunWorkflowOptions, } from '#src/workflow/runWorkflow.js';
package/dist/index.js CHANGED
@@ -11,6 +11,12 @@ export { judgeEvalCase, buildJudgeMessages, EvalVerdictSchema, EVAL_JUDGE_DEFAUL
11
11
  export { runEvalSuite } from '#src/evalRunner.js';
12
12
  export { writeEvalOutput } from '#src/evalOutput.js';
13
13
  export { DEFAULT_EVAL_PASS_THRESHOLD } from '#src/evalTypes.js';
14
+ // BATCH-19 — the `gth eval` reporter facility (A1 seam). These are the public plugin contract an
15
+ // out-of-core `@gaunt-sloth/eval-reporter-*` package implements, exported from the package root so a
16
+ // reporter package can type its factory against ONE import.
17
+ export { resolveReporters, availableReporterNames } from '#src/reporters/registry.js';
18
+ export { driveReporters } from '#src/reporters/drive.js';
19
+ export { createTextReporter } from '#src/reporters/textReporter.js';
14
20
  // BATCH-3 — the `gth workflow` host: runs a local JS orchestration script that drives one or more
15
21
  // LLM calls through a small WorkflowContext.
16
22
  export { runWorkflow } from '#src/workflow/runWorkflow.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,gGAAgG;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,kGAAkG;AAClG,6CAA6C;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,gGAAgG;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAqBrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,iGAAiG;AACjG,qGAAqG;AACrG,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAQpE,kGAAkG;AAClG,6CAA6C;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @module pipelineCli
3
+ *
4
+ * BATCH-9 — the standalone `gth-batch` pipeline runner. A thin entry point that runs the BATCH-1
5
+ * matrix runtime ({@link buildMatrix} + {@link runBatchMatrix}) directly from a shell pipeline,
6
+ * without pulling in the whole `gaunt-sloth` app. It takes a prompt-executable script + `--over`
7
+ * data (inline JSON/YAML, or piped on stdin), runs the matrix, and streams the **same structured
8
+ * per-cell `CellResult`** that `gth batch` writes — one JSON object per line (JSONL) on stdout.
9
+ *
10
+ * Relationship to `gth batch` (packages/app/src/commands/batchCommand.ts): the two share the exact
11
+ * matrix runtime and the exact per-cell run wiring. The production per-cell adapter
12
+ * (`buildProductionRunCell`) lives in the app; this file mirrors it — its own `createResolvers()`,
13
+ * a lean agent factory, `runSingleShot` in `exec` mode, and `cleanupTools()` on every path — so the
14
+ * standalone bin needs only `@gaunt-sloth/core` + `@gaunt-sloth/agent` (both already dependencies),
15
+ * never the app. The only intentional differences: over-data is inline/stdin (not a file path, which
16
+ * the pipeline shell already handles) and output is JSONL on stdout (not a directory of files).
17
+ *
18
+ * stdout discipline: the run itself is noisy (the runtime's `display()`/`ProgressIndicator`/token
19
+ * streaming all target `process.stdout`). The bin entry ({@link file://./bin.ts}) redirects
20
+ * `process.stdout.write` to stderr for the duration and this module writes the machine JSONL
21
+ * straight to fd 1 (`fs.writeSync`), so stdout stays a clean data channel — the same "protocol
22
+ * channel" discipline `packages/app/cli.js` uses for ACP.
23
+ */
24
+ import type { CommandLineConfigOverrides, GthConfig } from '@gaunt-sloth/core/config.js';
25
+ import type { BatchSummary, MatrixRow, RunCellFn } from '#src/types.js';
26
+ /** Parsed `gth-batch` invocation. */
27
+ export interface BatchCliArgs {
28
+ /** Path to the `.md` prompt-executable script to run over the matrix. */
29
+ script: string;
30
+ /** Inline `--over` data (JSON/YAML array of row objects). `undefined` = fall back to stdin. */
31
+ over?: string;
32
+ /** `--models a,b,c` parsed into a trimmed, non-empty list; `undefined` when the flag is absent. */
33
+ models?: string[];
34
+ /** `-j/--concurrency <n>` — max in-flight cells. */
35
+ concurrency?: number;
36
+ /** `--retry <n>` — retries on a failed cell. */
37
+ retry?: number;
38
+ }
39
+ /** Injectable seams — all default to the real implementations; overridden in unit tests. */
40
+ export interface BatchCliDeps {
41
+ /** Read the script file; default reads from disk. */
42
+ readScript?: (scriptPath: string) => string;
43
+ /** Read all of stdin to a string; default reads `process.stdin` to EOF. */
44
+ readStdin?: () => Promise<string>;
45
+ /** Machine-output sink for the JSONL cell records; default writes straight to fd 1. */
46
+ write?: (chunk: string) => void;
47
+ /** Human/error/summary sink; default writes to stderr. */
48
+ logError?: (chunk: string) => void;
49
+ /** The per-cell run function; default is the real `runSingleShot`-backed adapter. Injecting a
50
+ * fake here is how unit tests drive the runtime with no live LLM. */
51
+ runCell?: RunCellFn;
52
+ /** Config loader; default is the real `initConfig`. Injectable so tests skip provider resolution. */
53
+ initConfig?: (overrides: CommandLineConfigOverrides) => Promise<GthConfig>;
54
+ }
55
+ /** Parse `--models a,b,c` into a trimmed, non-empty list; `undefined` when empty/absent. */
56
+ export declare function parseModels(models: string): string[] | undefined;
57
+ /**
58
+ * Parse `gth-batch`'s argv (already sliced past `node <script>`). Pure and dependency-free so the
59
+ * arg surface is trivially unit-testable. Supports `--flag value` and `--flag=value`; throws a
60
+ * clear `Error` (with usage) on an unknown option, a missing value, or a missing `<script>`.
61
+ */
62
+ export declare function parseArgs(argv: string[]): BatchCliArgs;
63
+ /**
64
+ * Parse inline/stdin `--over` data — a JSON or YAML **array of row objects** — into
65
+ * {@link MatrixRow}s. (The app's `parseOverFile` picks CSV vs JSONL by file extension; a shell
66
+ * pipeline has no filename, so this bin standardizes on one self-describing format: JSON, which is
67
+ * also valid YAML.) Throws a descriptive `Error` on malformed input — the one thing that should
68
+ * make the bin exit non-zero.
69
+ */
70
+ export declare function parseOverData(text: string): MatrixRow[];
71
+ /**
72
+ * Resolve the input axis: inline `--over` if present, otherwise piped stdin, otherwise `undefined`
73
+ * (no input axis → a single cell over the script's own content, exactly like `exec`).
74
+ */
75
+ export declare function resolveRows(args: BatchCliArgs, readStdin: () => Promise<string>): Promise<MatrixRow[] | undefined>;
76
+ /** Build the exec-mode system preamble the same way `gth batch` does (app's `getExecSystemPrompt`),
77
+ * flattened to a string, using only `@gaunt-sloth/core` prompt builders. */
78
+ export declare function getExecPreamble(config: GthConfig): string;
79
+ /**
80
+ * Run the matrix and stream one JSON `CellResult` per line (JSONL) to `write`. Returns the
81
+ * aggregate {@link BatchSummary}. Each emitted line is the exact object `gth batch` writes to
82
+ * `<id>.json` (compact rather than pretty-printed) — the "same structured per-cell output".
83
+ */
84
+ export declare function runMatrixToStream(scriptContent: string, models: string[] | undefined, rows: MatrixRow[] | undefined, options: {
85
+ concurrency?: number;
86
+ retry?: number;
87
+ runCell: RunCellFn;
88
+ write: (chunk: string) => void;
89
+ }): Promise<BatchSummary>;
90
+ /**
91
+ * The standalone `gth-batch` entry. Parses argv, resolves the script + input axis, wires the
92
+ * per-cell runtime, runs the matrix, and streams JSONL cell records via `deps.write`.
93
+ *
94
+ * Exit-code contract (identical to `gth batch`): resolves to `0` iff the cells *ran* — a per-cell
95
+ * failure is recorded in that cell's JSON, never reflected in the exit code. A harness-level error
96
+ * (bad args, unreadable script, malformed `--over`, config failure) resolves to `1`. A downstream
97
+ * reader closing the pipe early (`EPIPE` on the stdout channel — e.g. `| head`) is normal pipeline
98
+ * usage and also resolves to `0`: the partial output already written is correct.
99
+ *
100
+ * @returns the process exit code (0 or 1).
101
+ */
102
+ export declare function runBatchCli(argv: string[], deps?: BatchCliDeps): Promise<number>;