@gaunt-sloth/batch 2.0.0-beta.8 → 2.0.0

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 (59) hide show
  1. package/dist/bin.d.ts +2 -2
  2. package/dist/bin.js +2 -2
  3. package/dist/classificationReport.d.ts +2 -2
  4. package/dist/classificationReport.js +2 -2
  5. package/dist/classificationTypes.d.ts +7 -7
  6. package/dist/classificationTypes.js +1 -1
  7. package/dist/evalCompare.d.ts +128 -1
  8. package/dist/evalCompare.js +253 -2
  9. package/dist/evalCompare.js.map +1 -1
  10. package/dist/evalOutput.d.ts +1 -1
  11. package/dist/evalOutput.js +1 -1
  12. package/dist/evalRunner.d.ts +15 -3
  13. package/dist/evalRunner.js +82 -5
  14. package/dist/evalRunner.js.map +1 -1
  15. package/dist/evalSuite.d.ts +5 -1
  16. package/dist/evalSuite.js +218 -7
  17. package/dist/evalSuite.js.map +1 -1
  18. package/dist/evalTypes.d.ts +79 -18
  19. package/dist/evalTypes.js +2 -2
  20. package/dist/evalTypes.js.map +1 -1
  21. package/dist/index.d.ts +8 -2
  22. package/dist/index.js +9 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/judge.d.ts +2 -2
  25. package/dist/judge.js +10 -14
  26. package/dist/judge.js.map +1 -1
  27. package/dist/output.d.ts +1 -1
  28. package/dist/output.js +1 -1
  29. package/dist/parseOver.d.ts +1 -1
  30. package/dist/parseOver.js +1 -1
  31. package/dist/pipelineCli.d.ts +3 -3
  32. package/dist/pipelineCli.js +3 -3
  33. package/dist/raterPromptArm.d.ts +140 -0
  34. package/dist/raterPromptArm.js +306 -0
  35. package/dist/raterPromptArm.js.map +1 -0
  36. package/dist/raterTarget.d.ts +34 -12
  37. package/dist/raterTarget.js +124 -33
  38. package/dist/raterTarget.js.map +1 -1
  39. package/dist/reporters/registry.d.ts +1 -1
  40. package/dist/reporters/registry.js +1 -1
  41. package/dist/reporters/registry.js.map +1 -1
  42. package/dist/reporters/reporterTypes.d.ts +3 -3
  43. package/dist/reporters/textReporter.js +16 -0
  44. package/dist/reporters/textReporter.js.map +1 -1
  45. package/dist/toolCoverage.d.ts +244 -0
  46. package/dist/toolCoverage.js +414 -0
  47. package/dist/toolCoverage.js.map +1 -0
  48. package/dist/toolCoverageRender.d.ts +31 -0
  49. package/dist/toolCoverageRender.js +71 -0
  50. package/dist/toolCoverageRender.js.map +1 -0
  51. package/dist/toolResultChecks.d.ts +8 -2
  52. package/dist/toolResultChecks.js +45 -3
  53. package/dist/toolResultChecks.js.map +1 -1
  54. package/dist/types.d.ts +38 -3
  55. package/dist/types.js +0 -9
  56. package/dist/types.js.map +1 -1
  57. package/dist/workflow/runWorkflow.d.ts +4 -4
  58. package/dist/workflow/runWorkflow.js +3 -3
  59. package/package.json +9 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolCoverage.js","sourceRoot":"","sources":["../src/toolCoverage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * BATCH-32 — render a {@link ToolCoverageReport} as plain lines.
4
+ *
5
+ * A pure string builder, separate from the reporter that prints it (the `classificationRender.ts`
6
+ * precedent): the console rendering is unit-testable without mocking `consoleUtils`, and another
7
+ * reporter can emit the same block without reimplementing the layout.
8
+ *
9
+ * Total over the report — no "…and 12 more" anywhere. The uncovered list IS the output; a renderer
10
+ * that truncates it turns the one actionable part of the block into a teaser, and a truncated list
11
+ * reads as a complete one.
12
+ */
13
+ import type { ToolCoverageReport } from '#src/toolCoverage.js';
14
+ /** Options for {@link renderToolCoverage}. */
15
+ export interface RenderToolCoverageOptions {
16
+ /**
17
+ * Prefix the headline with this word — `'TOTAL'` for the run-level aggregate that follows
18
+ * `EVAL TOTAL:`, so the two numbers on screen are never mistaken for each other.
19
+ */
20
+ scope?: string;
21
+ }
22
+ /**
23
+ * Render the whole block: the fraction, what qualifies it, the uncovered names, the per-server
24
+ * breakdown, any warnings, and any gate failures.
25
+ *
26
+ * The waived count sits on the headline rather than below it. A suite waiving 38 of 41 reports
27
+ * 100%, and a reader who sees only the fraction has been told the opposite of the truth — so the
28
+ * qualifier has to arrive in the same glance as the number it qualifies, not in a detail line that
29
+ * scrolls or gets skimmed.
30
+ */
31
+ export declare function renderToolCoverage(report: ToolCoverageReport, options?: RenderToolCoverageOptions): string[];
@@ -0,0 +1,71 @@
1
+ /** The headline label, shared by the per-suite line and the run-level aggregate. */
2
+ const HEADLINE = 'TOOL COVERAGE';
3
+ /** How many tools the report's fraction is over (covered + uncovered). */
4
+ function denominatorOf(report) {
5
+ return report.covered.length + report.uncovered.length;
6
+ }
7
+ /** A bucket's human label: the server key, or what the bucket holds instead of one. */
8
+ function serverLabel(bucket) {
9
+ if (bucket.kind === 'mcp')
10
+ return bucket.server ?? '';
11
+ if (bucket.kind === 'builtin')
12
+ return 'built-in / config tools';
13
+ return 'unattributed MCP tools';
14
+ }
15
+ /**
16
+ * Render the whole block: the fraction, what qualifies it, the uncovered names, the per-server
17
+ * breakdown, any warnings, and any gate failures.
18
+ *
19
+ * The waived count sits on the headline rather than below it. A suite waiving 38 of 41 reports
20
+ * 100%, and a reader who sees only the fraction has been told the opposite of the truth — so the
21
+ * qualifier has to arrive in the same glance as the number it qualifies, not in a detail line that
22
+ * scrolls or gets skimmed.
23
+ */
24
+ export function renderToolCoverage(report, options = {}) {
25
+ const lines = [];
26
+ const total = denominatorOf(report);
27
+ const headline = options.scope ? `${HEADLINE} ${options.scope}` : HEADLINE;
28
+ const qualifiers = [];
29
+ if (report.waived.length > 0)
30
+ qualifiers.push(`${report.waived.length} waived`);
31
+ if (report.filteredOut.length > 0) {
32
+ qualifiers.push(`${report.filteredOut.length} filtered out by allowedTools`);
33
+ }
34
+ if (report.unnamed > 0)
35
+ qualifiers.push(`${report.unnamed} unnamed (not counted)`);
36
+ lines.push(`${headline}: ${report.covered.length}/${total} tools exercised` +
37
+ (qualifiers.length > 0 ? ` — ${qualifiers.join(', ')}` : ''));
38
+ // Coverage counts a CALL. Said in the output rather than left for the reader to assume, because
39
+ // the alternative reading (the tool was called AND returned something usable) is the one a person
40
+ // reaching for a coverage number is likely to want.
41
+ lines.push(' a tool counts as covered once a case CALLED it, error result or not');
42
+ if (report.uncovered.length > 0) {
43
+ lines.push(` uncovered: ${[...report.uncovered].sort().join(', ')}`);
44
+ }
45
+ if (report.waived.length > 0) {
46
+ lines.push(` waived: ${[...report.waived].sort().join(', ')}`);
47
+ }
48
+ if (report.filteredOut.length > 0) {
49
+ lines.push(` filtered out by allowedTools: ${[...report.filteredOut].sort().join(', ')}`);
50
+ }
51
+ // Per-server only once more than one MCP server is configured — with a single server the
52
+ // breakdown restates the headline, and printing it twice is noise rather than information. The
53
+ // report still carries every bucket in `results.json`, where a reader is not paying for lines.
54
+ const mcpBuckets = report.byServer.filter((bucket) => bucket.kind === 'mcp');
55
+ if (mcpBuckets.length > 1) {
56
+ lines.push(' by server:');
57
+ for (const bucket of report.byServer) {
58
+ const bucketTotal = bucket.covered.length + bucket.uncovered.length;
59
+ lines.push(` ${serverLabel(bucket)}: ${bucket.covered.length}/${bucketTotal}` +
60
+ (bucket.uncovered.length > 0
61
+ ? ` — uncovered: ${[...bucket.uncovered].sort().join(', ')}`
62
+ : ''));
63
+ }
64
+ }
65
+ for (const warning of report.warnings)
66
+ lines.push(` ! ${warning}`);
67
+ for (const failure of report.gateFailures)
68
+ lines.push(`TOOL COVERAGE GATE FAILED — ${failure}`);
69
+ return lines;
70
+ }
71
+ //# sourceMappingURL=toolCoverageRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolCoverageRender.js","sourceRoot":"","sources":["../src/toolCoverageRender.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,14 @@ import type { ToolResultRecord } from '#src/types.js';
19
19
  * - `toolResultJsonPath` — each entry passes iff **at least one** result from a tool matching its
20
20
  * `tool` pattern satisfies it: the payload parses as JSON, the `path` resolves, and (when set)
21
21
  * `equals` deep-equals / `contains` substring-matches the resolved value. A non-JSON (or absent)
22
- * payload is a deterministic per-result FAIL, never a throw — note capture caps payloads
23
- * (`TOOL_RESULT_CONTENT_CAP`), so a truncated over-cap payload also fails as non-JSON.
22
+ * payload is a deterministic per-result FAIL, never a throw. A payload capture cut at
23
+ * `toolResultCaptureMaxBytes` fails too, with its own reason naming that key, even when the
24
+ * cut prefix still parses — the cut is recorded on the result at capture (`contentTruncated`),
25
+ * and this check reads that record rather than inferring the cut from the stored length or from
26
+ * a parse of the prefix.
27
+ * (BATCH-43) The payload it reads is the result's `errorPayload` when capture recovered one — an
28
+ * errored MCP tool's own error body, freed from the adapter's prose prefix — and otherwise the
29
+ * observed `content`, which is left exactly as the model saw it in either case.
24
30
  *
25
31
  * The runner only ever calls this with expectation blocks a `gth-agent` suite produced — the suite
26
32
  * parser rejects tool-result assertions against `ag-ui`/`adk-agent` targets, whose wire carries no
@@ -20,8 +20,14 @@ import { resolveJsonPath } from '#src/deterministicChecks.js';
20
20
  * - `toolResultJsonPath` — each entry passes iff **at least one** result from a tool matching its
21
21
  * `tool` pattern satisfies it: the payload parses as JSON, the `path` resolves, and (when set)
22
22
  * `equals` deep-equals / `contains` substring-matches the resolved value. A non-JSON (or absent)
23
- * payload is a deterministic per-result FAIL, never a throw — note capture caps payloads
24
- * (`TOOL_RESULT_CONTENT_CAP`), so a truncated over-cap payload also fails as non-JSON.
23
+ * payload is a deterministic per-result FAIL, never a throw. A payload capture cut at
24
+ * `toolResultCaptureMaxBytes` fails too, with its own reason naming that key, even when the
25
+ * cut prefix still parses — the cut is recorded on the result at capture (`contentTruncated`),
26
+ * and this check reads that record rather than inferring the cut from the stored length or from
27
+ * a parse of the prefix.
28
+ * (BATCH-43) The payload it reads is the result's `errorPayload` when capture recovered one — an
29
+ * errored MCP tool's own error body, freed from the adapter's prose prefix — and otherwise the
30
+ * observed `content`, which is left exactly as the model saw it in either case.
25
31
  *
26
32
  * The runner only ever calls this with expectation blocks a `gth-agent` suite produced — the suite
27
33
  * parser rejects tool-result assertions against `ag-ui`/`adk-agent` targets, whose wire carries no
@@ -64,12 +70,48 @@ function checkToolResultJsonPath(toolResults, check) {
64
70
  }
65
71
  return `${label}: ${[...reasons].join('; ')}`;
66
72
  }
73
+ /**
74
+ * BATCH-49 — the reason a payload that capture cut gets, distinct from the one a prose payload
75
+ * gets.
76
+ *
77
+ * The two used to share `result payload is not JSON`, which sent the person reading it to the
78
+ * server when the cut had happened here. The wording names `toolResultCaptureMaxBytes` because
79
+ * that is the key to raise, and it quotes the original size when capture recorded one, because a
80
+ * reason that only names the key still leaves the new value to be guessed. The original size is
81
+ * optional in the wording only: a record written before the field existed still has to produce a
82
+ * reason that names the key.
83
+ */
84
+ function truncatedPayloadReason(originalBytes) {
85
+ const measured = typeof originalBytes === 'number' ? ` (the tool returned ${originalBytes} bytes)` : '';
86
+ return ('result payload was truncated at toolResultCaptureMaxBytes' +
87
+ measured +
88
+ ' and is no longer JSON; raise toolResultCaptureMaxBytes to capture it whole');
89
+ }
67
90
  /** Evaluate ONE tool result against ONE check: `undefined` = satisfied, else the failure reason.
68
91
  * Deterministic and throw-free: a non-JSON/absent payload is a reason, not an exception. */
69
92
  function evaluateResultAgainstCheck(result, check) {
93
+ // BATCH-43 — grade the recovered MCP error body when capture produced one, else the observed
94
+ // payload exactly as before. An errored MCP tool's `content` is the adapter's prose-prefixed
95
+ // message and never parses; `errorPayload` is the server's own body with that prefix removed,
96
+ // and it is only ever recorded when it parses, so this branch cannot introduce a new failure —
97
+ // when it is absent (any non-MCP result, or an MCP error whose body is prose) the reason below
98
+ // is the same deterministic one the check has always given.
99
+ // The recovered body is graded when capture produced one; it is only recorded when it
100
+ // parsed, so this branch never sees a truncated `errorPayload` — an over-cap body is dropped
101
+ // whole rather than cut. The truncation flag is about `content`, and it is only consulted when
102
+ // `content` is what is being graded.
103
+ const gradingContent = result.errorPayload === undefined;
104
+ const payload = result.errorPayload ?? result.content ?? '';
105
+ // Consult the flag before the parse. A cut prefix can still parse — a JSON document padded with
106
+ // trailing whitespace past the cap, or a long top-level number cut short — and grading it would
107
+ // judge a payload the server did not send. A cut inside an object or array never parses. `errorPayload` is only recorded when it parsed whole, so a truncated observed payload
108
+ // must not turn that recovered body into a truncation failure.
109
+ if (gradingContent && result.contentTruncated) {
110
+ return truncatedPayloadReason(result.contentOriginalBytes);
111
+ }
70
112
  let root;
71
113
  try {
72
- root = JSON.parse((result.content ?? '').trim());
114
+ root = JSON.parse(payload.trim());
73
115
  }
74
116
  catch {
75
117
  return 'result payload is not JSON';
@@ -1 +1 @@
1
- {"version":3,"file":"toolResultChecks.js","sourceRoot":"","sources":["../src/toolResultChecks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolResultChecks.js","sourceRoot":"","sources":["../src/toolResultChecks.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  * `packages/app/src/commands/batchCommand.ts`, which is what keeps {@link RunCellFn} injectable —
8
8
  * unit tests here fake it, the CLI wires the real one.
9
9
  */
10
+ import type { AdvertisedToolInventory } from '#src/toolCoverage.js';
10
11
  /** One row/record parsed from `--over <path.csv|path.jsonl>`. Values are always strings for csv. */
11
12
  export type MatrixRow = Record<string, string>;
12
13
  /**
@@ -44,8 +45,35 @@ export interface ToolResultRecord {
44
45
  name: string;
45
46
  /** `true` iff the tool result carried the error status (LangChain `ToolMessage.status === 'error'`). */
46
47
  isError: boolean;
47
- /** The result payload as text (non-string payloads JSON-stringified), size-capped at capture. */
48
+ /**
49
+ * The result payload as text (non-string payloads JSON-stringified), capped in UTF-8 bytes at
50
+ * capture. When the cap cut it, this is a character-boundary prefix and {@link contentTruncated}
51
+ * says so.
52
+ */
48
53
  content?: string;
54
+ /**
55
+ * BATCH-49 — `true` iff {@link content} was cut by the capture cap (`toolResultCaptureMaxBytes`).
56
+ * Recorded at capture in core and carried through unchanged — the check reads it rather than
57
+ * guessing from the stored length, which a character-boundary byte cut makes unreliable. Absent
58
+ * when nothing was cut.
59
+ */
60
+ contentTruncated?: boolean;
61
+ /**
62
+ * BATCH-49 — {@link content}'s size in UTF-8 bytes before the cap cut it. Present only together
63
+ * with {@link contentTruncated}; the number a person needs to choose a larger cap.
64
+ */
65
+ contentOriginalBytes?: number;
66
+ /**
67
+ * BATCH-43 — an errored MCP tool's own error body, recovered at capture and carried BESIDE
68
+ * {@link content}, which stays exactly what the model observed. `tool_result_json_path` grades
69
+ * this when it is present; when it is absent the check reads {@link content} and behaves as it
70
+ * always has. Present implies it parses as JSON, so a check that finds it never has to ask.
71
+ *
72
+ * Absent for everything that is not an errored MCP call, and absent too for an MCP error whose
73
+ * body is prose rather than JSON — a server that puts its detail only in MCP `structuredContent`
74
+ * is not gradable at all, because the adapter discards that before any of our code runs.
75
+ */
76
+ errorPayload?: string;
49
77
  }
50
78
  /** What one attempt at running a cell through the shared single-shot runtime produced. */
51
79
  export interface CellRunOutcome {
@@ -68,11 +96,18 @@ export interface CellRunOutcome {
68
96
  * {@link tools} but un-deduped and carrying each result's error status + payload. Only the
69
97
  * in-process `gth-agent` runner can populate this (external adk-agent/ag-ui targets never do). */
70
98
  toolResults?: ToolResultRecord[];
99
+ /**
100
+ * BATCH-32 — what the agent ADVERTISED to the model for this cell: the tool-coverage denominator,
101
+ * to {@link tools}'s numerator. Only the in-process `gth-agent` runner can populate it (an
102
+ * external adk-agent/ag-ui target never advertises its inventory over the wire), and a test fake
103
+ * leaves it unset — which is why absence means "no denominator available", never "no tools".
104
+ */
105
+ advertisedTools?: AdvertisedToolInventory;
71
106
  /** A human-readable failure reason, set when `ok` is `false`. */
72
107
  error?: string;
73
108
  }
74
109
  /**
75
- * Injectable "run one prompt" function — the seam that lets {@link runBatchMatrix} be fully unit
110
+ * Injectable "run one prompt" function — the seam that lets {@link @gaunt-sloth/batch!"BatchRunner.js".runBatchMatrix | runBatchMatrix} be fully unit
76
111
  * tested without any real LLM call. The production wiring (`batchCommand.ts`) adapts
77
112
  * `runSingleShot` to this shape; tests inject a fake that resolves/rejects/throws as needed.
78
113
  */
@@ -89,7 +124,7 @@ export interface CellResult extends CellRunOutcome {
89
124
  /** How many retries were consumed (0 = succeeded, or failed, on the first attempt). */
90
125
  retries: number;
91
126
  }
92
- /** Options for {@link runBatchMatrix}. */
127
+ /** Options for {@link @gaunt-sloth/batch!"BatchRunner.js".runBatchMatrix | runBatchMatrix}. */
93
128
  export interface BatchRunnerOptions {
94
129
  /** Max in-flight cells. Must be >= 1; non-finite/invalid values fall back to the default. */
95
130
  concurrency?: number;
package/dist/types.js CHANGED
@@ -1,12 +1,3 @@
1
- /**
2
- * @packageDocumentation
3
- * BATCH-1 — the shapes shared across matrix construction, the concurrency/retry runner, and the
4
- * structured output writer. Deliberately independent of any LLM/runner types (`GthConfig`,
5
- * `runSingleShot`, …): this package only knows about *cells* and *outcomes*. The production
6
- * adapter that turns a cell into an actual `runSingleShot` call lives in
7
- * `packages/app/src/commands/batchCommand.ts`, which is what keeps {@link RunCellFn} injectable —
8
- * unit tests here fake it, the CLI wires the real one.
9
- */
10
1
  /**
11
2
  * BATCH-24 — the default **cell** concurrency cap for `gth batch` / `gth eval` when
12
3
  * `-j/--concurrency` is not supplied. Serial by default, for every provider (deliberately NOT
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkHH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA6JA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC"}
@@ -1,13 +1,11 @@
1
1
  /**
2
- * @module workflow/runWorkflow
3
- *
4
2
  * BATCH-3 — the `gth workflow` host. Runs a local JS orchestration script (`.mjs`/`.js`) that drives
5
3
  * one or more LLM calls through a small, generic {@link WorkflowContext}. This is the
6
4
  * script-orchestrated sibling of `gth batch` (matrix over a single prompt): a workflow is arbitrary
7
5
  * local code that decides *how* to fan calls out.
8
6
  *
9
7
  * The host provides two agent shapes, both reusing the proven production wiring:
10
- * - a **structured** call via {@link askStructured} (`@gaunt-sloth/core`) — a bare, non-agentic
8
+ * - a **structured** call via {@link @gaunt-sloth/core!runtime/askStructured.askStructured | askStructured} (`@gaunt-sloth/core`) — a bare, non-agentic
11
9
  * `withStructuredOutput` model call that returns a schema-validated object;
12
10
  * - a **text** call that mirrors `buildProductionRunCell` (packages/app/src/commands/batchCommand.ts)
13
11
  * exactly — its own `createResolvers()`, a lean agent factory, `runSingleShot`, and
@@ -18,13 +16,15 @@
18
16
  * a deliberate widening of the batch package (whose matrix runtime was kept LLM/runner-agnostic) to
19
17
  * host the workflow runtime the BATCH-3 brief scopes here; `batch → agent → core` stays a clean DAG
20
18
  * (agent does not depend on batch).
19
+ *
20
+ * @module
21
21
  */
22
22
  import * as z from 'zod';
23
23
  import type { CommandLineConfigOverrides, GthConfig } from '@gaunt-sloth/core/config.js';
24
24
  import type { GthCommand } from '@gaunt-sloth/core/core/types.js';
25
25
  /** Options for a single {@link WorkflowContext.agent} call. */
26
26
  export interface WorkflowAgentOptions {
27
- /** Zod schema → structured output (via {@link askStructured}). Omit for a plain-text agent run.
27
+ /** Zod schema → structured output (via {@link @gaunt-sloth/core!runtime/askStructured.askStructured | askStructured}). Omit for a plain-text agent run.
28
28
  * Build it with {@link WorkflowContext.z} so it is the exact zod instance the model introspects. */
29
29
  schema?: z.ZodType<unknown>;
30
30
  /** System-message text. Default `''`. */
@@ -1,13 +1,11 @@
1
1
  /**
2
- * @module workflow/runWorkflow
3
- *
4
2
  * BATCH-3 — the `gth workflow` host. Runs a local JS orchestration script (`.mjs`/`.js`) that drives
5
3
  * one or more LLM calls through a small, generic {@link WorkflowContext}. This is the
6
4
  * script-orchestrated sibling of `gth batch` (matrix over a single prompt): a workflow is arbitrary
7
5
  * local code that decides *how* to fan calls out.
8
6
  *
9
7
  * The host provides two agent shapes, both reusing the proven production wiring:
10
- * - a **structured** call via {@link askStructured} (`@gaunt-sloth/core`) — a bare, non-agentic
8
+ * - a **structured** call via {@link @gaunt-sloth/core!runtime/askStructured.askStructured | askStructured} (`@gaunt-sloth/core`) — a bare, non-agentic
11
9
  * `withStructuredOutput` model call that returns a schema-validated object;
12
10
  * - a **text** call that mirrors `buildProductionRunCell` (packages/app/src/commands/batchCommand.ts)
13
11
  * exactly — its own `createResolvers()`, a lean agent factory, `runSingleShot`, and
@@ -18,6 +16,8 @@
18
16
  * a deliberate widening of the batch package (whose matrix runtime was kept LLM/runner-agnostic) to
19
17
  * host the workflow runtime the BATCH-3 brief scopes here; `batch → agent → core` stays a clean DAG
20
18
  * (agent does not depend on batch).
19
+ *
20
+ * @module
21
21
  */
22
22
  import * as z from 'zod';
23
23
  import { resolve } from 'node:path';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gaunt-sloth/batch",
3
- "version": "2.0.0-beta.8",
3
+ "version": "2.0.0",
4
4
  "description": "Batch matrix runtime for Gaunt Sloth (BATCH-1): run a prompt-executable over a matrix of models and/or content-bound inputs",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -34,19 +34,20 @@
34
34
  "#src/*.js": "./dist/*.js"
35
35
  },
36
36
  "dependencies": {
37
- "@langchain/core": "^1.2.9",
38
- "yaml": "^2.9.0",
39
- "zod": "^4.5.4",
40
- "@gaunt-sloth/agent": "2.0.0-beta.8",
41
- "@gaunt-sloth/core": "2.0.0-beta.8"
37
+ "@langchain/core": "^1.2.12",
38
+ "yaml": "^2.9.1",
39
+ "zod": "^4.6.5",
40
+ "@gaunt-sloth/agent": "2.0.0",
41
+ "@gaunt-sloth/core": "2.0.0"
42
42
  },
43
43
  "files": [
44
44
  "./dist/*"
45
45
  ],
46
46
  "publishConfig": {
47
- "tag": "beta"
47
+ "tag": "latest"
48
48
  },
49
49
  "scripts": {
50
- "build": "tsc"
50
+ "build": "tsc",
51
+ "value-surface:generate": "node scripts/generate-value-surface.mjs"
51
52
  }
52
53
  }