@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/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; fascicle
102
- * runs the first that many, in order, and drops the rest. 1 by default,
103
- * since some model and runtime pairs return parallel calls badly; raise it
104
- * for a pair that handles them. Ignored by the `claude_cli` builder. */
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