@robmclarty/volley 0.10.0 → 0.11.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
@@ -51,6 +51,7 @@ type VolleyConfig = {
51
51
  builder_max_steps?: number;
52
52
  builder_max_tool_calls?: number;
53
53
  builder_max_output_tokens?: number;
54
+ builder_trim_history?: number;
54
55
  allow_unsandboxed_builder?: boolean;
55
56
  critic_model?: string;
56
57
  critic_provider?: CriticProvider;
@@ -114,6 +115,11 @@ type ResolvedConfig = {
114
115
  * one step, not the session: fascicle feeds back that it hit the limit and
115
116
  * the loop goes on. Ignored by the `claude_cli` builder. */
116
117
  builder_max_output_tokens: number | null;
118
+ /** The estimated request size, in tokens, above which a tool-loop builder's
119
+ * turns send older tool results as one-line stubs (#7), or null to send
120
+ * every turn whole. Null by default, until a long local session is shown
121
+ * to run faster with it on. Ignored by the `claude_cli` builder. */
122
+ builder_trim_history: number | null;
117
123
  /** Operator opt-out permitting a non-`claude_cli` builder to run without a
118
124
  * sandbox — it gets a real host bash. Refused by default. */
119
125
  allow_unsandboxed_builder: boolean;
@@ -285,6 +291,40 @@ type PhaseRecord = {
285
291
  * another way. A thinking seat needs ai-sdk-ollama 4.3.0 or later, which
286
292
  * streams the reasoning even though volley never sets `think`. */
287
293
  throughput?: Throughput;
294
+ /** Each turn of a builder session, in order, so a long session's growth
295
+ * and where its time went can be read off the archive (#7). Set on a builder
296
+ * record whose provider reported steps (every tool-loop builder); absent on
297
+ * the critic and on a session with none. Additive. */
298
+ steps?: BuilderStepRecord[];
299
+ };
300
+ /** Where a builder turn's prefill and decode times came from.
301
+ * `ollama_reported`: Ollama's own `prompt_eval_duration` and `eval_duration`
302
+ * (native transport). `ollama_derived`: prefill as `total_duration` less
303
+ * `load_duration` and `eval_duration`, the ai_sdk transport's metadata, which
304
+ * leaves `prompt_eval_duration` out; slightly high, since the total includes
305
+ * Ollama's own overhead. `first_chunk`: prefill as the time to the first
306
+ * streamed chunk, decode as the rest of the round trip. `none`: no split. */
307
+ type StepTimingBasis = 'ollama_reported' | 'ollama_derived' | 'first_chunk' | 'none';
308
+ /** One turn of a builder session. */
309
+ type BuilderStepRecord = {
310
+ index: number;
311
+ /** The whole request this turn sent, so the session's growth reads as the
312
+ * sequence of these. */
313
+ input_tokens: number;
314
+ output_tokens: number;
315
+ /** The turn's provider round trip, tool execution excluded. */
316
+ duration_ms: number;
317
+ prefill_ms?: number;
318
+ decode_ms?: number;
319
+ timing_basis: StepTimingBasis;
320
+ finish_reason: FinishReason;
321
+ truncated?: true;
322
+ /** Each tool call the turn made, and how many characters its result put
323
+ * into the transcript every later turn resends. */
324
+ tool_calls: Array<{
325
+ name: string;
326
+ output_chars: number;
327
+ }>;
288
328
  };
289
329
  type HaltReason = 'cost_cap' | 'gate_edit' | null;
290
330
  /** Carry-state threaded through the fascicle loop. */
@@ -486,10 +526,11 @@ export declare function create_renderer(options: RendererOptions): Renderer;
486
526
  //#endregion
487
527
  //#region src/phases.d.ts
488
528
  /** How the check runs when the caller sets it, as `volley acp` does. Left
489
- * out, the check inherits volley's environment and runs unasked, as on the
490
- * CLI. */
529
+ * out, the check runs unasked with volley's environment less the seats' keys,
530
+ * as on the CLI. */
491
531
  type CheckGate = {
492
- /** The whole environment the check runs with, in place of volley's own. */
532
+ /** The whole environment the check runs with, in place of volley's own less
533
+ * the seats' keys. */
493
534
  env?: Readonly<Record<string, string>>;
494
535
  /** Asked on the check's card before each check, the way a model call asks
495
536
  * before a gated tool runs. Anything short of an allow keeps the check from