@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/CHANGELOG.md +27 -0
- package/README.md +69 -8
- package/dist/cli.js +684 -296
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +44 -3
- package/dist/index.js +549 -246
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
|
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
|