@robmclarty/volley 0.9.0 → 0.10.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.
- package/CHANGELOG.md +22 -0
- package/README.md +57 -16
- package/dist/cli.js +562 -270
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +31 -4
- package/dist/index.js +441 -242
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/builder/presets/harness_append_acp.md +4 -3
- package/src/builder/presets/harness_append_local.md +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -50,6 +50,7 @@ type VolleyConfig = {
|
|
|
50
50
|
builder_url?: string;
|
|
51
51
|
builder_max_steps?: number;
|
|
52
52
|
builder_max_tool_calls?: number;
|
|
53
|
+
builder_max_output_tokens?: number;
|
|
53
54
|
allow_unsandboxed_builder?: boolean;
|
|
54
55
|
critic_model?: string;
|
|
55
56
|
critic_provider?: CriticProvider;
|
|
@@ -98,11 +99,21 @@ type ResolvedConfig = {
|
|
|
98
99
|
* lmstudio, openrouter) takes one. */
|
|
99
100
|
builder_url: string | null;
|
|
100
101
|
builder_max_steps: number;
|
|
101
|
-
/** How many tool calls a tool-loop builder may make in one turn
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
102
|
+
/** How many tool calls a tool-loop builder may make in one turn, reads
|
|
103
|
+
* aside (`read_file`, `search_files`, `list_files` are `read_only` and
|
|
104
|
+
* don't count); fascicle runs a turn's calls in order up to the first one
|
|
105
|
+
* past the cap, drops the rest, and tells the model which it dropped. 1 by
|
|
106
|
+
* default, since some model and runtime pairs return parallel calls badly;
|
|
107
|
+
* raise it for a pair that handles them. Ignored by the `claude_cli`
|
|
108
|
+
* builder. */
|
|
105
109
|
builder_max_tool_calls: number;
|
|
110
|
+
/** The most output tokens a tool-loop builder may generate in one turn,
|
|
111
|
+
* reasoning included, or null to leave each turn to the provider's own
|
|
112
|
+
* limit. 16384 by default on a local builder (ollama, lmstudio), null on
|
|
113
|
+
* openrouter. A turn cut off at it before it made a tool call costs that
|
|
114
|
+
* one step, not the session: fascicle feeds back that it hit the limit and
|
|
115
|
+
* the loop goes on. Ignored by the `claude_cli` builder. */
|
|
116
|
+
builder_max_output_tokens: number | null;
|
|
106
117
|
/** Operator opt-out permitting a non-`claude_cli` builder to run without a
|
|
107
118
|
* sandbox — it gets a real host bash. Refused by default. */
|
|
108
119
|
allow_unsandboxed_builder: boolean;
|
|
@@ -176,6 +187,9 @@ type CheckResult = {
|
|
|
176
187
|
detail: CheckArtifact[];
|
|
177
188
|
/** Raw checkride summary JSON (when the runner is checkride). */
|
|
178
189
|
summary?: unknown;
|
|
190
|
+
/** checkride's capped excerpt of the failing slots (`.check/digest.md`),
|
|
191
|
+
* when the check failed and checkride wrote one. */
|
|
192
|
+
digest?: string;
|
|
179
193
|
/** Captured combined output (when the runner is a shell command). */
|
|
180
194
|
log?: string;
|
|
181
195
|
};
|
|
@@ -232,6 +246,10 @@ type PhaseRecord = {
|
|
|
232
246
|
* counts behind the salvage-rate health metric. */
|
|
233
247
|
tool_calls: number;
|
|
234
248
|
salvaged_tool_calls: number;
|
|
249
|
+
/** Turns the provider cut off at the output cap before they made a tool
|
|
250
|
+
* call (`--builder-max-output-tokens`), each of which cost a step and went
|
|
251
|
+
* on. Set on a builder record when any was; absent otherwise. Additive. */
|
|
252
|
+
truncated_turns?: number;
|
|
235
253
|
/** Provider-error retries that preceded this phase's successful call
|
|
236
254
|
* — the local-critic degradation ladder's first rung: a stochastic
|
|
237
255
|
* Ollama stream death is retried once before falling back. Set on the critic
|
|
@@ -288,6 +306,9 @@ type LoopState = {
|
|
|
288
306
|
builder_cost_usd: number;
|
|
289
307
|
critic_cost_usd: number;
|
|
290
308
|
check_duration_ms: number;
|
|
309
|
+
/** How many of the run's builder sessions ended on the step limit
|
|
310
|
+
* (`max_steps`) rather than calling finish. */
|
|
311
|
+
builder_max_steps_hits: number;
|
|
291
312
|
iteration_cost_usd: number;
|
|
292
313
|
halt: HaltReason;
|
|
293
314
|
cost_warned: boolean;
|
|
@@ -304,6 +325,12 @@ type RunResult = {
|
|
|
304
325
|
builder_cost_usd: number;
|
|
305
326
|
critic_cost_usd: number;
|
|
306
327
|
check_duration_ms: number;
|
|
328
|
+
/** How many of the run's builder sessions hit the step limit before they
|
|
329
|
+
* called finish: work handed to the check and critic unverified. The
|
|
330
|
+
* warning a run prints for each goes to stderr, which `--json` silences, so
|
|
331
|
+
* a harness reads it here. Always 0 for a `claude_cli` builder, which has
|
|
332
|
+
* no step limit, and for a critique. */
|
|
333
|
+
builder_max_steps_hits: number;
|
|
307
334
|
final_verdict: Verdict | null;
|
|
308
335
|
/** The run branch teardown left behind because this run's work was never
|
|
309
336
|
* integrated: under `--worktree` without `--git` a converged run has no
|