maestro-agent-sdk 0.1.25 → 0.1.26

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 (50) hide show
  1. package/README.md +11 -264
  2. package/dist/core/agent.d.ts +3 -1
  3. package/dist/core/agent.d.ts.map +1 -1
  4. package/dist/core/agent.js +5 -1
  5. package/dist/core/agent.js.map +1 -1
  6. package/dist/index.d.ts +0 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +0 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/mcp/pool-cache.d.ts.map +1 -1
  11. package/dist/mcp/pool-cache.js +7 -1
  12. package/dist/mcp/pool-cache.js.map +1 -1
  13. package/dist/provider.d.ts +28 -22
  14. package/dist/provider.d.ts.map +1 -1
  15. package/dist/provider.js +54 -35
  16. package/dist/provider.js.map +1 -1
  17. package/dist/state/tasks.d.ts +10 -0
  18. package/dist/state/tasks.d.ts.map +1 -1
  19. package/dist/state/tasks.js +6 -0
  20. package/dist/state/tasks.js.map +1 -1
  21. package/dist/sub-agent/runner.d.ts.map +1 -1
  22. package/dist/sub-agent/runner.js +3 -8
  23. package/dist/sub-agent/runner.js.map +1 -1
  24. package/dist/tools/builtin/agent.d.ts +1 -1
  25. package/dist/tools/builtin/agent.js +1 -1
  26. package/dist/tools/builtin/agent.js.map +1 -1
  27. package/dist/tools/builtin/ask_user_question.d.ts +24 -0
  28. package/dist/tools/builtin/ask_user_question.d.ts.map +1 -0
  29. package/dist/tools/builtin/ask_user_question.js +67 -0
  30. package/dist/tools/builtin/ask_user_question.js.map +1 -0
  31. package/dist/tools/builtin/tasks.d.ts +20 -4
  32. package/dist/tools/builtin/tasks.d.ts.map +1 -1
  33. package/dist/tools/builtin/tasks.js +99 -1
  34. package/dist/tools/builtin/tasks.js.map +1 -1
  35. package/dist/tools/file-state.d.ts +1 -1
  36. package/dist/tools/file-state.d.ts.map +1 -1
  37. package/dist/tools/file-state.js.map +1 -1
  38. package/dist/tools/index.d.ts +1 -2
  39. package/dist/tools/index.d.ts.map +1 -1
  40. package/dist/tools/index.js +1 -2
  41. package/dist/tools/index.js.map +1 -1
  42. package/dist/tools/path-guard.d.ts +1 -1
  43. package/dist/tools/path-guard.js +2 -2
  44. package/dist/types.d.ts +19 -14
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/tools/builtin/multi_edit.d.ts +0 -16
  48. package/dist/tools/builtin/multi_edit.d.ts.map +0 -1
  49. package/dist/tools/builtin/multi_edit.js +0 -292
  50. package/dist/tools/builtin/multi_edit.js.map +0 -1
package/README.md CHANGED
@@ -15,8 +15,7 @@ A generalizable agent runtime. Swap providers, inject your own logger/MCP resolv
15
15
 
16
16
  - **Agent loop** — provider-driven tool-calling loop with iteration cap, abort signal, LLM pre/post guardrail hooks, and event stream.
17
17
  - **Pluggable providers** — first-class adapters for Anthropic (Claude) and DeepSeek V4; provider-neutral message schema so adding OpenAI / Gemini / Ollama is a thin file.
18
- - **Built-in tools** — `bash` (foreground + optional background w/ `bash_id` as of v0.1.18), `Read` (text + images + PDF as of v0.1.18), `Write`, `Edit`, `MultiEdit`, `Glob`, `Grep`, `Agent` (sub-agent delegation), `TaskCreate`/`TaskUpdate`/`TaskList`/`TaskGet`, `WebFetch` (optional SSRF policy via `createWebFetchTool`), `BashOutput` / `KillBash` (background process polling + kill, v0.1.18+), `skill_view`, `skill_write`. Bring your own via `ToolRegistry`. Grep shells out to ripgrep (`rg`) so install it if you want the tool active; the SDK surfaces a structured error pointing to the install path when missing. Tool primitives are also importable from the `maestro-agent-sdk/tools` subpath when you don't need the rest of the runtime.
19
- - **Multimodal Read (v0.1.18+)** — `.png/.jpg/.webp/.gif` files return a native vision content block (Anthropic `image.source`, DeepSeek `image_url` data URI) so the model sees the image directly. `.pdf` text-extracts via `pdfjs-dist` and returns line-numbered text per page.
18
+ - **Built-in tools** — `bash`, `Read`, `Write`, `Edit`, `MultiEdit`, `Glob`, `Grep`, `Agent` (sub-agent delegation), `TaskCreate`/`TaskUpdate`/`TaskList`/`TaskGet`, `WebFetch` (optional SSRF policy via `createWebFetchTool`), `skill_view`, `skill_write`. Bring your own via `ToolRegistry`. Grep shells out to ripgrep (`rg`) so install it if you want the tool active; the SDK surfaces a structured error pointing to the install path when missing. Tool primitives are also importable from the `maestro-agent-sdk/tools` subpath when you don't need the rest of the runtime.
20
19
  - **MCP** — built-in client pool (stdio + SSE) so any MCP server (`@modelcontextprotocol/sdk`) shows up as tools.
21
20
  - **Skills** — per-workspace `.skills/<skillKey>/<name>/skill.md` packages with FTS-style indexing, on-demand body load (`skill_view`), and agent-autonomous authoring (`skill_write`).
22
21
  - **Memory** — automatic context compression (summarization + pruning) when the token budget is hit. Reuses the agent's own model for compaction — no separate model knob.
@@ -101,265 +100,17 @@ for await (const event of runConversation(agent, "Summarize today's news.")) {
101
100
  }
102
101
  ```
103
102
 
104
- ### Multimodal Read (v0.1.18+)
105
-
106
- ```ts
107
- import { ToolRegistry, createReadTool } from "maestro-agent-sdk";
108
-
109
- const tools = new ToolRegistry();
110
- // Read auto-detects images (PNG/JPG/WebP/GIF → native vision block) and PDFs
111
- // (text-extracted via pdfjs-dist, page-paginated by offset/limit).
112
- tools.register(createReadTool());
113
- ```
114
-
115
- ### Background bash (v0.1.18+ / v0.1.19+ one-knob)
116
-
117
- **v0.1.19 (recommended — host uses `maestroProvider`):**
118
-
119
- ```ts
120
- import { maestroProvider } from "maestro-agent-sdk";
121
-
122
- for await (const event of maestroProvider({
123
- agent: "maestro",
124
- prompt: "Start the dev server and tail it for errors",
125
- cwd: "/repo",
126
- systemPrompt: "...",
127
- abortController: new AbortController(),
128
- enableBackgroundBash: true, // ← single knob
129
- })) {
130
- // Bash(run_in_background:true) / BashOutput / KillBash all available.
131
- }
132
- ```
133
-
134
- Cascade-kill on `abortController.abort()` is wired automatically.
135
-
136
- **v0.1.18 (host builds its own ToolRegistry):**
137
-
138
- ```ts
139
- import {
140
- ToolRegistry,
141
- createBashTool,
142
- createBackgroundBashRegistry,
143
- createBashOutputTool,
144
- createKillBashTool,
145
- } from "maestro-agent-sdk";
146
-
147
- const ac = new AbortController();
148
- // One registry handle wires the three tools together — bash_id from
149
- // one plugs directly into the others. abortSignal cascade-kills every
150
- // still-running process when the loop aborts.
151
- const bgRegistry = createBackgroundBashRegistry({ abortSignal: ac.signal });
152
-
153
- const tools = new ToolRegistry();
154
- tools.register(createBashTool({ signal: ac.signal, background: bgRegistry }));
155
- tools.register(createBashOutputTool(bgRegistry));
156
- tools.register(createKillBashTool(bgRegistry));
157
- // Now the model can run `Bash(run_in_background:true, command:"npm run dev")`,
158
- // poll via `BashOutput(bash_id)`, and stop via `KillBash(bash_id)`.
159
- ```
160
-
161
- ### Session fork at message N (v0.1.18+)
162
-
163
- ```ts
164
- import { forkSessionAt } from "maestro-agent-sdk";
165
-
166
- // "Branch session A at turn 12 and try a different question."
167
- const { sessionId: forkId } = forkSessionAt({
168
- parentSessionId: "a1b2c3d4-...",
169
- messageIndex: 12, // copy first 12 turns
170
- metadata: { reason: "exploring alt path" },
171
- });
172
- // forkId is a brand-new sessionId. `maestroProvider.query({ sessionId: forkId, ... })`
173
- // resumes from the forked prefix as if it were a fresh resume.
174
- // The parent JSONL is untouched.
175
- ```
176
-
177
- > **What happens on the wire.** Anthropic gets `tool_result.content` as an
178
- > array of `text` + `image` blocks (`source.type: "base64"`); DeepSeek gets
179
- > the same image as an OpenAI-style `image_url` content part with a
180
- > `data:image/<type>;base64,<bytes>` URI. Hosts don't see any of this —
181
- > the tool result UnifiedEvent carries a short text preview
182
- > (`<image image/png 12345B>`) so existing render code keeps working.
183
- >
184
- > **Web search?** Not a builtin — search backends vary too much (Tavily,
185
- > Brave, Serper, Anthropic-native `web_search_20250305`, …) and each has
186
- > its own auth + result shape. Hosts wire whichever they want as a
187
- > `ToolHandler` (or use Claude's server-side `web_search` via provider
188
- > config). Keeping it out of the SDK avoids forcing every consumer to
189
- > carry a search-API dep + key.
190
-
191
- > **Effort scale (v0.1.16+).** `effort` controls two orthogonal knobs:
192
- >
193
- > 1. **Reasoning depth** — thinking budget on Anthropic (`thinking.budget_tokens`),
194
- > `reasoning_effort` on DeepSeek.
195
- > 2. **Working-mode persona** — a `## Working mode` block injected into the
196
- > system prompt with imperative verbs the model conditions on from turn 1
197
- > (e.g. `low` → "answer fast, one Read max", `max` → "exhaustive,
198
- > enumerate failure modes"). Pure function of `effort`, prefix-cache stable.
199
- >
200
- > The **tool-iteration cap is no longer derived from effort** as of v0.1.16 —
201
- > it's a single host-tunable default (`DEFAULT_MAX_ITERATIONS = 90`) that you
202
- > override per call via `AgentQueryOptions.maxIterations`. The default
203
- > matches v0.1.15's old `xhigh` cap (the "extended exploration" baseline)
204
- > so existing callers that didn't pin a value see no behavior change. This
205
- > lets a host mix and match: `effort: "low"` + `maxIterations: 90` (terse,
206
- > but don't trip on a surprise sub-task), or `effort: "max"` +
207
- > `maxIterations: 30` (think hard, but stay snappy).
208
- >
209
- > | effort | thinking budget (Anthropic) | DeepSeek `reasoning_effort` |
210
- > |---------|----------------------------:|:---------------------------:|
211
- > | `low` | 2 048 | `low` |
212
- > | `medium`| 8 192 | `medium` |
213
- > | `high` | 16 384 | `high` |
214
- > | `xhigh` | 16 384 | `high` |
215
- > | `max` | 32 768 | `max` |
216
- >
217
- > **`xhigh` shares `high`'s thinking ceiling** — the difference is persona,
218
- > not budget. `xhigh` tells the model to use the same allowance more broadly
219
- > (hold multiple hypotheses, survey, name edge cases). On sonnet-4-6 /
220
- > haiku-4-5 the answer-quality return on thinking above ~16K dropped off
221
- > sharply in practice, so the lever became persona instead of more tokens.
222
- >
223
- > **`max` is halved from v0.1.15's 65 536** — 64K thinking is rarely fully
224
- > utilized in a single turn; the latency penalty was unrecouped. 32K is the
225
- > ceiling for "really chew on this" without paying for headroom the model
226
- > doesn't reach.
227
- >
228
- > DeepSeek's API ships four tiers; maestro's `xhigh` maps to DeepSeek `high`
229
- > (not `max`) so that `max` stays reserved for the explicit "deepest
230
- > reasoning" opt-in.
231
- >
232
- > **Turn-adaptive budget (v0.1.16).** The per-turn thinking budget the loop
233
- > actually sends to the API is *not* constant — it's resolved through
234
- > `thinkingBudgetForTurn(base, iter, maxIter)`:
235
- >
236
- > - **First turn** (`iter == 0`) — full base. Planning gets the full
237
- > allowance because a careful first-turn plan saves tool calls later.
238
- > - **Middle turns** — full base. Interleaved thinking between tool calls
239
- > is what Anthropic's interleaved-thinking beta is for; cutting it
240
- > mid-flow defeats the beta.
241
- > - **Last 3 turns** (wrap-up zone) — `base / 4`, floored at 1024 (the
242
- > Anthropic API minimum). The iteration reminder has already flipped to
243
- > "finalize NOW"; spending another 16K thinking on a turn that mostly
244
- > emits final text is pure latency waste.
245
- >
246
- > The model still sees a remaining-iteration count in the per-turn
247
- > `<system-reminder>` so it can self-pace within the cap you set.
248
- >
249
- > **Wrap-up zone hard enforcement (v0.1.17).** In the same last-3-turn
250
- > window the loop also sends `tools: []` on the wire. Anthropic's API
251
- > can't emit a `tool_use` block when no tools are declared, so the next
252
- > assistant turn is forced to pure text and the loop's natural-termination
253
- > branch fires deterministically. The previous text-only signal ("[wrap-up
254
- > zone] stop new tool calls") was ignorable — the model could still
255
- > reach for a tool if it judged one worthwhile. Now the gate is real:
256
- > three layers (thinking trim, tools disable, reminder overlay) all fire
257
- > on the same boundary via the shared `isWrapUpZone(iter, maxIter)`
258
- > helper. Tiny caps (`maxIter <= 3`) opt out — at that scale every turn
259
- > is already a wrap-up turn and gating tools would defeat the cap's
260
- > purpose.
261
- >
262
- > **Multimodal Read + stop-reason fan-out + fork + bg bash (v0.1.18).**
263
- > Four additions land together:
264
- >
265
- > 1. **Multimodal Read.** `.png/.jpg/.webp/.gif` files return a
266
- > `MaestroToolResultBlock[]` containing a text bookend + an `image`
267
- > content block; PDFs text-extract via `pdfjs-dist` and return
268
- > line-numbered text per page. `ToolHandler.execute` now returns
269
- > `string | MaestroToolResultBlock[]` (non-breaking: every existing
270
- > tool still returns a string). Each provider adapter serializes per
271
- > its native wire shape — Anthropic uses `image.source: { type: "base64",
272
- > media_type, data }`, DeepSeek wraps as an OpenAI `image_url` with
273
- > `data:<mime>;base64,<bytes>` URI.
274
- > 2. **Stop-reason fan-out.** `pause_turn` now continues the loop with
275
- > the same `messages` array (no new user turn), matching Anthropic's
276
- > long-output contract; `refusal` propagates through `result.stopReason`
277
- > as a distinct terminal so hosts can branch on safety-policy declines
278
- > without confusing them with `end_turn`. Both bump the iteration
279
- > counter so pathological runs still hit the `maxIterations` ceiling.
280
- > 3. **`forkSessionAt`.** Claude-Code-style message-N branching for
281
- > `~/.maestro/sessions/<sessionId>.jsonl`. Given a parent session +
282
- > message index, writes a new JSONL with `{parentSessionId, forkedAtMessageIndex}`
283
- > in its `_meta` header. Parent JSONL is left untouched. The slice
284
- > is run through `trimToSafePrefix` so an orphan `tool_use` at the
285
- > cut point can't 400 the next API call. Lets a host UI render
286
- > branch trees ("session B is a fork of A at turn 12") and lets the
287
- > model retry an earlier turn without polluting the original history.
288
- > 4. **Background bash (`run_in_background:true` + `BashOutput` + `KillBash`).**
289
- > Same triad Claude Code ships: start a long-running shell with
290
- > `Bash(run_in_background:true)` → returns a `bash_id`; poll
291
- > incremental output via `BashOutput(bash_id)`; selectively stop via
292
- > `KillBash(bash_id)` (SIGTERM with a 5s SIGKILL escalation). When
293
- > the parent agent loop's `AbortController` fires, every still-
294
- > running background process registered under that loop is killed —
295
- > no detached children left behind.
296
- >
297
- > **What's NOT in v0.1.18:** WebSearch tool. Search backends vary too
298
- > much (Tavily/Brave/Serper/Anthropic server-side) and forcing one keeps
299
- > the SDK opinion-heavy. Hosts wire their preferred search backend as a
300
- > `ToolHandler` directly — clawgram, for example, exposes the
301
- > Anthropic-native `web_search_20250305` via the provider call when the
302
- > active provider is Claude.
303
- >
304
- > **`maxTokens` wire-through + model-aware default (v0.1.21).** Prior
305
- > versions exposed `maxIterations` on `AgentQueryOptions` but not
306
- > `maxTokens`, and `AIAgent` silently fell back to a flat 4096 on every
307
- > call. Long outputs got truncated mid-string and Write/Edit tool calls
308
- > generating large file bodies failed to parse their tool_input JSON
309
- > (the truncation landed inside an unclosed string). Two fixes ship
310
- > together:
311
- >
312
- > 1. **`AgentQueryOptions.maxTokens`** — caller surface for the
313
- > per-call output ceiling. Wired through `provider.ts` → `AIAgent`
314
- > → provider request body for both Anthropic and DeepSeek.
315
- > 2. **Model-catalog default** — when the caller omits `maxTokens`,
316
- > `AIAgent` resolves the default through
317
- > `getNativeMaxOutputTokens(model)`: Sonnet 4.6 → 64K, Opus 4.7 →
318
- > 128K, Haiku 4.5 → 64K, DeepSeek V4-Pro → 64K, V4-Flash → 32K,
319
- > unknown model → 32K. Claude entries match Anthropic's native cap
320
- > (same behavior as `@anthropic-ai/claude-agent-sdk`); DeepSeek
321
- > entries are conservative because the V4 native ceiling (384K)
322
- > would let one runaway turn rack up cost / wall time before the
323
- > iteration cap notices — Pro is pinned to 64K so it lines up with
324
- > the Claude Sonnet/Haiku reference point (a topic switching
325
- > providers sees the same default ceiling), Flash sits one tier
326
- > lower at 32K because the latency-tier user intent is "snappy
327
- > first answer, escalate to Pro if you need length". Callers
328
- > wanting the full 384K still get it via the explicit `maxTokens`
329
- > override.
330
- >
331
- > Migration: zero-config callers see a higher implicit ceiling
332
- > (4096 → 16K-128K depending on model). Cost per call only goes up
333
- > on responses that previously truncated at 4K — those are the cases
334
- > the fix targets. Callers that want the old behavior can pin
335
- > `maxTokens: 4096` explicitly.
336
- >
337
- > **ToolSearch + MCP auto-defer (v0.1.22).** Claude-Code-style two-tier
338
- > tool surface: built-in tools (Read/Write/Edit/Bash/Glob/Grep/Task/skills)
339
- > always ride the wire; MCP tools register as **deferred** when
340
- > `AgentQueryOptions.enableToolSearch` is set, and their schemas stay off
341
- > the wire until the model activates them. The system-reminder grows a
342
- > compact `name → 80-char summary` catalog of still-deferred tools; the
343
- > model promotes the ones it needs by calling
344
- > `ToolSearch("select:Name1,Name2")` (exact-name) or
345
- > `ToolSearch("keyword")` (fuzzy match against name + description).
346
- > Activated tools become callable from the next turn, and the active set
347
- > persists across resume via the rollout `_meta` header — a multi-turn
348
- > conversation doesn't re-promote the same tools every resume.
349
- >
350
- > Token economics: a topic with 50 deferred MCP tools spends ~1.5K
351
- > tokens/turn on the catalog vs ~25K tokens/turn on full schemas — order-
352
- > of-magnitude savings. The trade is one extra turn the first time a
353
- > deferred tool is needed (the `ToolSearch` call itself), which is
354
- > usually worth it on long sessions with large MCP setups. Pre-v0.1.22
355
- > callers opt out by leaving `enableToolSearch` unset (default false) —
356
- > behavior is byte-identical to v0.1.21.
103
+ > **Effort scale.** `effort` drives both the thinking budget _and_ the
104
+ > tool-iteration cap. The model also sees its remaining-iteration count in a
105
+ > `<system-reminder>` block every turn so it can self-pace. Knobs:
357
106
  >
358
- > The `ToolSearch` built-in is always-loaded when the flag is set (it has
359
- > to be callable for the model to discover anything else) and itself
360
- > reuses the claude-SDK `<functions>{...}</functions>` response envelope
361
- > so the model's pretrained instincts for Claude-Code transcripts
362
- > transfer cleanly.
107
+ > | effort | thinking budget | iteration cap |
108
+ > |---------|----------------:|--------------:|
109
+ > | `low` | 2 048 | 5 |
110
+ > | `medium`| 8 192 | 20 |
111
+ > | `high` | 16 384 | 50 |
112
+ > | `xhigh` | 32 768 | 90 |
113
+ > | `max` | 65 536 | 200 |
363
114
 
364
115
  More runnable scripts live under [`examples/`](./examples) — Anthropic, DeepSeek,
365
116
  a custom-tool walkthrough, and a `skill_write` demo.
@@ -371,10 +122,6 @@ Per-call options on `AgentQueryOptions`:
371
122
  | Option | Required | Purpose |
372
123
  |---|---|---|
373
124
  | `cwd` | ✓ | Workspace root. Drives `.skills/` location, rollout `_meta`, and the `mkdir` invariant. |
374
- | `effort` | — | Reasoning depth + working-mode persona (`low`/`medium`/`high`/`xhigh`/`max`). See the effort table above. |
375
- | `maxIterations` | — | Tool-iteration cap. Omit for `DEFAULT_MAX_ITERATIONS = 90`. Decoupled from `effort` as of v0.1.16 — controls turn budget, not reasoning depth. |
376
- | `maxTokens` | — | Per-call `max_tokens` ceiling on assistant output. Omit for the model-catalog default (`getNativeMaxOutputTokens`): sonnet=64K, opus=128K, deepseek-pro=64K, deepseek-flash=32K, unknown=32K. v0.1.21+. |
377
- | `enableToolSearch` | — | Claude-Code-style deferred tool catalog. When `true`, every MCP tool registers as deferred — schemas stay off the wire until the model promotes them via `ToolSearch("select:Name1,Name2")` or `ToolSearch("keyword")`. Active set persists across resume. Built-ins are never deferred. v0.1.22+. |
378
125
  | `skillKey` | — | Named skill profile within `<cwd>/.skills/`. Omit for `default`. |
379
126
  | `allowedSkills` | — | Per-call name whitelist applied before curation. |
380
127
  | `sessionMetadata` | — | Opaque host bag round-tripped via the rollout `_meta` header. |
@@ -16,7 +16,9 @@ export interface AIAgentConfig {
16
16
  model: string;
17
17
  /** System prompt — usually composed by the host before each query. */
18
18
  systemPrompt: string;
19
- /** Hard cap on tool-calling iterations. Default 90 to match upstream. */
19
+ /** Hard cap on tool-calling iterations. Omit for unbounded (the loop
20
+ * runs until `end_turn` / abort). Set a finite number when the host
21
+ * needs to bound turn budget. */
20
22
  maxIterations?: number;
21
23
  /**
22
24
  * Per-API-call max output tokens.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnE,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CACvB,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC,CAC9E,GAAG;QACF,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;QACnE,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;gBAEU,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;CAqB3E"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB;;sCAEkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnE,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CACvB,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC,CAC9E,GAAG;QACF,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;QACnE,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;gBAEU,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa;CAyB3E"}
@@ -9,7 +9,11 @@ export class AIAgent {
9
9
  this.config = {
10
10
  model: config.model,
11
11
  systemPrompt: config.systemPrompt,
12
- maxIterations: config.maxIterations ?? 90,
12
+ // v0.1.26+: default is unbounded so the loop runs until the model
13
+ // ends the turn or the host aborts. Callers that need a finite cap
14
+ // pin one via `AIAgentConfig.maxIterations` (mirrored to
15
+ // `AgentQueryOptions.maxIterations` in the provider layer).
16
+ maxIterations: config.maxIterations ?? Number.POSITIVE_INFINITY,
13
17
  // v0.1.21+: model-aware default replaces the flat 4096 fallback. See
14
18
  // `getNativeMaxOutputTokens` for the per-model catalog and the
15
19
  // `AIAgentConfig.maxTokens` docstring for the rationale.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAiFtD,MAAM,OAAO,OAAO;IACT,QAAQ,CAAW;IACnB,KAAK,CAAe;IACpB,MAAM,CASb;IAEF,YAAY,QAAkB,EAAE,KAAmB,EAAE,MAAqB;QACxE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;YACzC,qEAAqE;YACrE,+DAA+D;YAC/D,yDAAyD;YACzD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC;YACrE,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC;gBACpD,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAmFtD,MAAM,OAAO,OAAO;IACT,QAAQ,CAAW;IACnB,KAAK,CAAe;IACpB,MAAM,CASb;IAEF,YAAY,QAAkB,EAAE,KAAmB,EAAE,MAAqB;QACxE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kEAAkE;YAClE,mEAAmE;YACnE,yDAAyD;YACzD,4DAA4D;YAC5D,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,iBAAiB;YAC/D,qEAAqE;YACrE,+DAA+D;YAC/D,yDAAyD;YACzD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC;YACrE,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC;gBACpD,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -38,7 +38,6 @@ export { type BackgroundBashRegistry, createBackgroundBashRegistry, createBashOu
38
38
  export { createEditTool } from "./tools/builtin/edit.js";
39
39
  export { compileGlob, globTool } from "./tools/builtin/glob.js";
40
40
  export { grepTool } from "./tools/builtin/grep.js";
41
- export { createMultiEditTool } from "./tools/builtin/multi_edit.js";
42
41
  export { createReadTool } from "./tools/builtin/read.js";
43
42
  export { createSkillViewTool } from "./tools/builtin/skill_view.js";
44
43
  export { createSkillWriteTool } from "./tools/builtin/skill_write.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -42,7 +42,6 @@ export { createBackgroundBashRegistry, createBashOutputTool, createKillBashTool,
42
42
  export { createEditTool } from "./tools/builtin/edit.js";
43
43
  export { compileGlob, globTool } from "./tools/builtin/glob.js";
44
44
  export { grepTool } from "./tools/builtin/grep.js";
45
- export { createMultiEditTool } from "./tools/builtin/multi_edit.js";
46
45
  export { createReadTool } from "./tools/builtin/read.js";
47
46
  export { createSkillViewTool } from "./tools/builtin/skill_view.js";
48
47
  export { createSkillWriteTool } from "./tools/builtin/skill_write.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool-cache.d.ts","sourceRoot":"","sources":["../../src/mcp/pool-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAI3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,qEAAqE;AACrE,eAAO,MAAM,4BAA4B,QAGxC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,QAAgE,CAAC;AAElG;uEACuE;AACvE,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+CAC2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD;0EAC0E;AAC1E,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;AAGpF;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAW3D;AAaD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAyC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAc/D;AA2BD,kDAAkD;AAClD,wBAAsB,SAAS,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAeD,sDAAsD;AACtD,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9D;AAYD;iDACiD;AACjD,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAED;sEACsE;AACtE,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAEvE;AAED,kCAAkC;AAClC,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,CACxB,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,oBAAoB,GACzB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG/C"}
1
+ {"version":3,"file":"pool-cache.d.ts","sourceRoot":"","sources":["../../src/mcp/pool-cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAI3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,qEAAqE;AACrE,eAAO,MAAM,4BAA4B,QAGxC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,QAAgE,CAAC;AAElG;uEACuE;AACvE,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+CAC2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD;0EAC0E;AAC1E,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;AAGpF;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAW3D;AAaD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAkD3B;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAc/D;AA2BD,kDAAkD;AAClD,wBAAsB,SAAS,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAeD,sDAAsD;AACtD,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9D;AAYD;iDACiD;AACjD,wBAAgB,eAAe,IAAI,IAAI,CAKtC;AAED;sEACsE;AACtE,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAEvE;AAED,kCAAkC;AAClC,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,CACxB,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,oBAAoB,GACzB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG/C"}
@@ -96,9 +96,15 @@ export async function getOrStartClient(ctx, serverName, spec) {
96
96
  await client.start();
97
97
  // Race check: a concurrent acquire of the same key could have raced ahead
98
98
  // while we were in `await client.start()`. If so, drop ours and use theirs.
99
+ // Swallowing a `close()` failure here used to be silent, but if it fails
100
+ // the just-spawned MCP subprocess leaks — surface it at warn so a leak
101
+ // pattern is visible in logs without escalating to an error that callers
102
+ // would have to handle (the race winner is already returned successfully).
99
103
  const racer = cache.get(key);
100
104
  if (racer) {
101
- await client.close().catch(() => { });
105
+ await client.close().catch((err) => {
106
+ logger.warn({ err, serverName, key }, "mcp pool-cache: race-win client.close() failed — subprocess may leak");
107
+ });
102
108
  racer.refcount++;
103
109
  racer.lastUsed = Date.now();
104
110
  return racer.client;
@@ -1 +1 @@
1
- {"version":3,"file":"pool-cache.js","sourceRoot":"","sources":["../../src/mcp/pool-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool-cache.js","sourceRoot":"","sources":["../../src/mcp/pool-cache.ts"],"names":[],"mappings":"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"}
@@ -32,20 +32,25 @@ import type { AgentQueryOptions, UnifiedEvent } from "./types.js";
32
32
  */
33
33
  /**
34
34
  * Default tool-iteration cap when the caller doesn't supply
35
- * `opts.maxIterations`. 90 was picked as a single comfortable ceiling:
36
- * large enough to absorb research + multi-file edit chains without
37
- * strangling longer investigations, small enough that a runaway loop
38
- * still terminates in bounded wall-clock time on a typical model. The
39
- * choice matches the previous `xhigh` cap from v0.1.15's effort-derived
40
- * table the level that was effectively the "extended exploration"
41
- * baseline before maxIter was decoupled from effort.
42
- *
43
- * As of v0.1.16 this is decoupled from `effort` effort drives reasoning
44
- * depth (thinking budget + persona), the iteration cap is a separate
45
- * orthogonal budget the host owns. Override per call with
46
- * `AgentQueryOptions.maxIterations`.
35
+ * `opts.maxIterations`. **No cap** is the default as of v0.1.26: the SDK
36
+ * runs until the model emits `end_turn`, the host aborts via
37
+ * `AgentQueryOptions.abortSignal`, or a hard wall (token budget, network
38
+ * error) trips. Use `AgentQueryOptions.maxIterations` per call when a
39
+ * host genuinely needs a turn ceiling interactive surfaces with a
40
+ * tight latency contract, sub-agents with a sub-task slice, etc.
41
+ *
42
+ * Earlier versions shipped a fixed turn default. v0.1.26 lifted the cap
43
+ * because (a) the in-loop tone line ("finalize NOW", "pace yourself")
44
+ * was nudging models to stop early on long, legitimate multi-file
45
+ * tasks, and (b) hosts that need a ceiling can supply one cheaply —
46
+ * keeping the SDK default unlimited is the less surprising baseline.
47
+ * When `maxIterations` is finite the v0.1.17 wrap-up zone (last 3
48
+ * turns) still fires; when unlimited the wrap-up gates and the
49
+ * iteration-remaining reminder line are all skipped (see
50
+ * `buildIterReminder` below — `isFinite(maxIter)` guards the iteration
51
+ * line so the model isn't told "1/Infinity remaining — finalize NOW").
47
52
  */
48
- export declare const DEFAULT_MAX_ITERATIONS = 90;
53
+ export declare const DEFAULT_MAX_ITERATIONS: number;
49
54
  export declare function maestroProvider(opts: AgentQueryOptions): AsyncGenerator<UnifiedEvent>;
50
55
  /**
51
56
  * Compose the "Tool iterations remaining: N/M — <tone>" line that rides
@@ -54,12 +59,10 @@ export declare function maestroProvider(opts: AgentQueryOptions): AsyncGenerator
54
59
  * Tone shifts with PROPORTION of `maxIter` remaining (v0.1.16+), not an
55
60
  * absolute count. The previous v0.1.15 version keyed off raw `remaining`
56
61
  * (>= 10 → "plenty of room", < 2 → "finalize NOW"), which made sense
57
- * when the cap was effort-derived (5 / 20 / 50 / 90 / 200) but broke
58
- * after v0.1.16 unified the cap on a host-tunable default (90). At
59
- * `maxIter = 90`, `remaining = 15` is ~17% of the budget intact and the
60
- * old absolute logic would emit "pace yourself" while the proportional
61
- * one correctly routes to "start wrapping up" — the tone tracks the
62
- * budget consistently across cap sizes now.
62
+ * when the cap was effort-derived and small but broke once v0.1.16
63
+ * unified the cap on a host-tunable budget. The proportional logic now
64
+ * tracks the budget consistently regardless of whether the host pins a
65
+ * 30-turn ceiling or a 200-turn one.
63
66
  *
64
67
  * Percentage thresholds (calibrated for both small and large caps):
65
68
  * - >= 50% → plenty of room. (no urgency, explore freely)
@@ -69,9 +72,12 @@ export declare function maestroProvider(opts: AgentQueryOptions): AsyncGenerator
69
72
  *
70
73
  * Each tier scales with the host's chosen budget: at `maxIter = 30`
71
74
  * (chat-grade) the wrap-up tier kicks in around 6 turns left; at
72
- * `maxIter = 90` (default) it kicks in around 18 left; at `maxIter =
73
- * 200` (deep work) around 40. The model gets the same proportional cue
74
- * regardless of cap, which matches Claude Code's pacing intuition.
75
+ * `maxIter = 100` it kicks in around 20 left; at `maxIter = 200`
76
+ * (deep work) around 40. The model gets the same proportional cue
77
+ * regardless of cap, which matches Claude Code's pacing intuition. This
78
+ * whole pacing path is bypassed when `maxIter` is unbounded — the
79
+ * v0.1.26 default — so the line never reaches the model unless the host
80
+ * supplies a finite cap.
75
81
  *
76
82
  * Edge case — `max <= 0`: defensive guard for callers passing nonsense.
77
83
  * Falls back to absolute thresholds (the v0.1.15 behavior) so the line
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAsBrD,OAAO,KAAK,EAAE,QAAQ,EAAyC,MAAM,kBAAkB,CAAC;AAuCxF,OAAO,KAAK,EAAE,iBAAiB,EAAc,YAAY,EAAE,MAAM,SAAS,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,wBAAuB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAAC,YAAY,CAAC,CA6iB5F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/E;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,EAAG,SAAkB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,MAAM,EAAE,CAAC,EAAE,EACX,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,CAAC,EAAE,CAGL;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAKhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAIjG;AAED;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAsBrD,OAAO,KAAK,EAAE,QAAQ,EAAyC,MAAM,kBAAkB,CAAC;AAyCxF,OAAO,KAAK,EAAE,iBAAiB,EAAc,YAAY,EAAE,MAAM,SAAS,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAE/D,wBAAuB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAAC,YAAY,CAAC,CA0jB5F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/E;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,EAAG,SAAkB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,MAAM,EAAE,CAAC,EAAE,EACX,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,CAAC,EAAE,CAGL;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAKhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAIjG;AAED;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,CAAC"}