maestro-agent-sdk 0.1.19 → 0.1.21
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/README.md +34 -0
- package/dist/core/agent.d.ts +16 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +5 -1
- package/dist/core/agent.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/compressor.d.ts.map +1 -1
- package/dist/memory/compressor.js +35 -8
- package/dist/memory/compressor.js.map +1 -1
- package/dist/platform/version.d.ts +1 -1
- package/dist/platform/version.js +1 -1
- package/dist/provider.d.ts +18 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +63 -2
- package/dist/provider.js.map +1 -1
- package/dist/providers/anthropic.d.ts +107 -21
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +202 -36
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/registry.d.ts +66 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +77 -1
- package/dist/registry.js.map +1 -1
- package/dist/sub-agent/runner.d.ts.map +1 -1
- package/dist/sub-agent/runner.js +22 -6
- package/dist/sub-agent/runner.js.map +1 -1
- package/dist/tools/builtin/bash.d.ts.map +1 -1
- package/dist/tools/builtin/bash.js +18 -0
- package/dist/tools/builtin/bash.js.map +1 -1
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -36,6 +36,39 @@ export declare class AnthropicProvider implements Provider {
|
|
|
36
36
|
*/
|
|
37
37
|
stream(opts: ProviderCompleteOptions): AsyncGenerator<ProviderStreamChunk>;
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Defensive scrub for thinking blocks that arrive at the wire builder without
|
|
41
|
+
* a usable `signature`. Anthropic's API requires every replayed `thinking`
|
|
42
|
+
* block to carry the original signature it produced; sending one without it
|
|
43
|
+
* trips a 400 `messages.N.content.M.thinking.signature: Field required`.
|
|
44
|
+
*
|
|
45
|
+
* In normal operation the streaming code already refuses to emit
|
|
46
|
+
* thinking blocks lacking a signature (see `content_block_stop` in the SSE
|
|
47
|
+
* handler), so this filter is belt-and-suspenders for two recovery cases:
|
|
48
|
+
*
|
|
49
|
+
* 1. A session persisted by an older SDK build (pre-v0.1.20) that DID
|
|
50
|
+
* emit signatureless thinking blocks now loads from disk. Without this
|
|
51
|
+
* filter, the first wire call after upgrading would 400 on the bad
|
|
52
|
+
* block.
|
|
53
|
+
*
|
|
54
|
+
* 2. A future provider-side transformation (compaction, dedup) accidentally
|
|
55
|
+
* drops the field. Filtering here gives us a single chokepoint to lock.
|
|
56
|
+
*
|
|
57
|
+
* Two complications the filter has to handle:
|
|
58
|
+
*
|
|
59
|
+
* - **Anthropic forbids mixing `thinking` and `text` after `tool_use` /
|
|
60
|
+
* `tool_result` in the same message.** Simply removing the bad thinking
|
|
61
|
+
* block can leave a message starting with `text` + `tool_use`, which is
|
|
62
|
+
* still valid. So we only drop the thinking block itself, not surrounding
|
|
63
|
+
* blocks.
|
|
64
|
+
*
|
|
65
|
+
* - **An assistant message can become content-empty after the filter.** A
|
|
66
|
+
* turn like `[thinking(broken)]` reduces to `[]`. Anthropic rejects empty
|
|
67
|
+
* content arrays, so we substitute a single empty text block as a
|
|
68
|
+
* placeholder — same trick `loop.ts` already uses for the scrubber-drops-
|
|
69
|
+
* everything case.
|
|
70
|
+
*/
|
|
71
|
+
export declare function sanitizeThinkingBlocksForWire(messages: readonly ProviderMessage[]): ProviderMessage[];
|
|
39
72
|
/**
|
|
40
73
|
* Convert the user-supplied `system` (plain string) into the array shape
|
|
41
74
|
* Anthropic accepts when you need a cache_control marker. A string slot
|
|
@@ -101,31 +134,84 @@ export declare function applyThinkingBudget(body: Record<string, unknown>, budge
|
|
|
101
134
|
* `MAESTRO_EFFORT_VALUES`); other values return undefined so the caller skips
|
|
102
135
|
* thinking entirely.
|
|
103
136
|
*
|
|
104
|
-
* Scale (v0.1.
|
|
105
|
-
* - low →
|
|
106
|
-
* - medium →
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
137
|
+
* Scale (v0.1.19+ — aligned with the prompt-keyword tier ladder):
|
|
138
|
+
* - low → undefined (thinking off — latency-priority working mode)
|
|
139
|
+
* - medium → undefined (thinking off — default; matches Claude Code's
|
|
140
|
+
* "off unless asked" behavior. Persona text still
|
|
141
|
+
* shapes the model's working style, but the API
|
|
142
|
+
* ships without a `thinking` payload.)
|
|
143
|
+
* - high → 4 096 (T1 — same as the `think` / `생각해줘` keyword)
|
|
144
|
+
* - xhigh → 10 000 (T2 — same as `think hard` / `깊이 생각`)
|
|
145
|
+
* - max → 31 999 (T3 — same as `ultrathink` / `끝까지 생각`)
|
|
146
|
+
*
|
|
147
|
+
* Why only high/xhigh/max grant thinking: the lower three rungs are the
|
|
148
|
+
* conversational defaults where fast tool dispatch beats deeper reasoning
|
|
149
|
+
* (Telegram bot, chat UI, simple file ops). Users who want extended
|
|
150
|
+
* thinking either escalate via the effort knob explicitly or type the
|
|
151
|
+
* keyword in the prompt — both routes land on the same three tier budgets,
|
|
152
|
+
* so behavior is predictable across surfaces.
|
|
153
|
+
*
|
|
154
|
+
* Symmetry with `detectThinkingKeyword`: the three "on" tiers here mirror
|
|
155
|
+
* the three keyword tiers exactly. Whichever path activates thinking, the
|
|
156
|
+
* model sees one of {4096, 10000, 31999} — no fourth budget exists.
|
|
157
|
+
* `resolveThinkingBudget` (provider.ts) picks the higher of the two if
|
|
158
|
+
* both fire, so an `effort: "high"` call that happens to contain
|
|
159
|
+
* "ultrathink" in the prompt still gets T3, not T1.
|
|
121
160
|
*
|
|
122
161
|
* Budgets are *ceilings*, not enforced spending: the model decides how
|
|
123
|
-
* much to actually emit inside the budget.
|
|
124
|
-
* task still costs almost nothing — the savings come from latency
|
|
125
|
-
*
|
|
126
|
-
* smaller.
|
|
162
|
+
* much to actually emit inside the budget. A 31999 ceiling on a simple
|
|
163
|
+
* task still costs almost nothing — the savings come from latency
|
|
164
|
+
* (model returns sooner when it knows the budget is smaller).
|
|
127
165
|
*/
|
|
128
166
|
export declare function effortToThinkingBudget(e: string | undefined): number | undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Claude Code-style think-keyword detection.
|
|
169
|
+
*
|
|
170
|
+
* Scans the caller's user prompt for an explicit "think harder" cue. When
|
|
171
|
+
* present, returns the matching thinking-budget tier; otherwise returns
|
|
172
|
+
* undefined (the loop then ships the call with thinking disabled — same
|
|
173
|
+
* default Claude Code uses).
|
|
174
|
+
*
|
|
175
|
+
* Why this exists alongside `effortToThinkingBudget`:
|
|
176
|
+
* - `effort` is a *programmatic* knob set by the SDK consumer (CLI flag,
|
|
177
|
+
* config file, server-side default). It's awkward to plumb through
|
|
178
|
+
* conversational surfaces like a Telegram bot or chat UI where the user
|
|
179
|
+
* just types text.
|
|
180
|
+
* - The keyword path lets end-users toggle thinking via the prompt itself
|
|
181
|
+
* ("think harder", "끝까지 생각해줘") without the host having to wire
|
|
182
|
+
* UI for an effort selector. This matches Claude Code's behavior and
|
|
183
|
+
* is what users coming from CC instinctively try.
|
|
184
|
+
*
|
|
185
|
+
* Tier mapping mirrors Claude Code's documented set:
|
|
186
|
+
* tier 3 (max) → 31999 tokens — "ultrathink", "think harder",
|
|
187
|
+
* "끝까지 생각", "심층 생각"
|
|
188
|
+
* tier 2 (deep) → 10000 tokens — "think hard", "think a lot",
|
|
189
|
+
* "깊이 생각", "깊게 생각"
|
|
190
|
+
* tier 1 (basic) → 4096 tokens — "think" (English), "생각해줘" /
|
|
191
|
+
* "생각해봐" / "잘 생각" (Korean)
|
|
192
|
+
*
|
|
193
|
+
* Why 31999 (not 32768): Anthropic requires `max_tokens > budget`, and
|
|
194
|
+
* 31999 + 1024 = 33023 stays under the 64K max_tokens ceiling on sonnet-4-6
|
|
195
|
+
* while leaving room for the final text response. Picking 32768 would force
|
|
196
|
+
* max_tokens to ≥ 33792 which loses headroom for long answers.
|
|
197
|
+
*
|
|
198
|
+
* Why "think" word-boundary on English but substring on Korean:
|
|
199
|
+
* English splits with whitespace so `\bthink\b` cleanly avoids false hits
|
|
200
|
+
* on "thinking" / "rethink". Korean morphology glues particles to verbs
|
|
201
|
+
* ("생각해줘" / "생각해봐"), so we substring-match the verb stem and accept
|
|
202
|
+
* the false-positive rate (a Korean user saying "그는 잘 생각해" in a code
|
|
203
|
+
* snippet would unintentionally trigger — same trade-off CC made in
|
|
204
|
+
* English).
|
|
205
|
+
*
|
|
206
|
+
* Highest tier wins: if both "think" and "ultrathink" appear (e.g. "think
|
|
207
|
+
* about this — actually ultrathink"), we honor the higher budget. Tier
|
|
208
|
+
* ordering matters because tier-3 substrings contain tier-1's pattern.
|
|
209
|
+
*
|
|
210
|
+
* Pure helper — no side effects, safe to call on every turn. Exposed for
|
|
211
|
+
* tests and for hosts that want to compose their own keyword surfaces
|
|
212
|
+
* (e.g. add Japanese keywords without forking).
|
|
213
|
+
*/
|
|
214
|
+
export declare function detectThinkingKeyword(prompt: string | undefined): number | undefined;
|
|
129
215
|
/**
|
|
130
216
|
* Resolve the actual thinking budget the loop should send on *this turn*,
|
|
131
217
|
* given the base budget (already derived from effort) and the turn's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,uBAAuB,EAEvB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAO1B;oEACoE;AACpE,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAwB1C;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,OAAO,IAAI,iBAAiB;IAQ7B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqDxE;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,uBAAuB,EAEvB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAO1B;oEACoE;AACpE,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAwB1C;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,OAAO,IAAI,iBAAiB;IAQ7B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqDxE;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAAC,mBAAmB,CAAC;CAmNlF;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,eAAe,EAAE,GACnC,eAAe,EAAE,CAuBnB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,YAAY,CAAA;CAAE,CAAC,CAG7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GACnC,KAAK,CAAC,kBAAkB,GAAG;IAAE,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAO9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,CA6B9F;AAGD,eAAO,MAAM,oBAAoB,IAAwB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,IAAI,CAMN;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAehF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CA2CpF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAcpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAInE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAqD/E"}
|
|
@@ -46,7 +46,7 @@ export class AnthropicProvider {
|
|
|
46
46
|
model: opts.model,
|
|
47
47
|
max_tokens: opts.maxTokens ?? 4096,
|
|
48
48
|
system: buildCacheableSystem(opts.system),
|
|
49
|
-
messages: buildCacheableMessages(opts.messages),
|
|
49
|
+
messages: buildCacheableMessages(sanitizeThinkingBlocksForWire(opts.messages)),
|
|
50
50
|
};
|
|
51
51
|
if (opts.tools && opts.tools.length > 0) {
|
|
52
52
|
body.tools = buildCacheableTools(opts.tools);
|
|
@@ -96,7 +96,7 @@ export class AnthropicProvider {
|
|
|
96
96
|
model: opts.model,
|
|
97
97
|
max_tokens: opts.maxTokens ?? 4096,
|
|
98
98
|
system: buildCacheableSystem(opts.system),
|
|
99
|
-
messages: buildCacheableMessages(opts.messages),
|
|
99
|
+
messages: buildCacheableMessages(sanitizeThinkingBlocksForWire(opts.messages)),
|
|
100
100
|
stream: true,
|
|
101
101
|
};
|
|
102
102
|
if (opts.tools && opts.tools.length > 0) {
|
|
@@ -221,14 +221,34 @@ export class AnthropicProvider {
|
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
223
|
else if (meta?.type === "thinking") {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
224
|
+
// CRITICAL: drop the block entirely when no signature was
|
|
225
|
+
// collected. Anthropic requires a `signature` field on every
|
|
226
|
+
// replayed `thinking` block — sending one without it 400s the
|
|
227
|
+
// next API call with
|
|
228
|
+
// "messages.N.content.M.thinking.signature: Field required".
|
|
229
|
+
//
|
|
230
|
+
// Two paths lead here:
|
|
231
|
+
// 1. No `signature_delta` ever arrived (server-side hiccup,
|
|
232
|
+
// mid-block stream interrupt — rare but observed).
|
|
233
|
+
// 2. `signature_delta` arrived with an empty string. The
|
|
234
|
+
// concat `${meta.signature ?? ""}${delta.signature}` then
|
|
235
|
+
// yielded "", which we treat the same as missing.
|
|
236
|
+
//
|
|
237
|
+
// An empty signature isn't a valid signature (Anthropic's
|
|
238
|
+
// verification would reject it anyway), so it's safer to drop
|
|
239
|
+
// the block from history. The model loses some reasoning
|
|
240
|
+
// continuity for this turn, but the conversation continues —
|
|
241
|
+
// strictly better than the alternative (whole turn fails).
|
|
242
|
+
if (typeof meta.signature === "string" && meta.signature.length > 0) {
|
|
243
|
+
yield {
|
|
244
|
+
type: "thinking_complete",
|
|
245
|
+
block: {
|
|
246
|
+
type: "thinking",
|
|
247
|
+
thinking: meta.thinking ?? "",
|
|
248
|
+
signature: meta.signature,
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
}
|
|
232
252
|
}
|
|
233
253
|
else if (meta?.type === "redacted_thinking") {
|
|
234
254
|
yield {
|
|
@@ -329,6 +349,65 @@ async function* parseSseStream(body, abortSignal) {
|
|
|
329
349
|
reader.releaseLock();
|
|
330
350
|
}
|
|
331
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* Defensive scrub for thinking blocks that arrive at the wire builder without
|
|
354
|
+
* a usable `signature`. Anthropic's API requires every replayed `thinking`
|
|
355
|
+
* block to carry the original signature it produced; sending one without it
|
|
356
|
+
* trips a 400 `messages.N.content.M.thinking.signature: Field required`.
|
|
357
|
+
*
|
|
358
|
+
* In normal operation the streaming code already refuses to emit
|
|
359
|
+
* thinking blocks lacking a signature (see `content_block_stop` in the SSE
|
|
360
|
+
* handler), so this filter is belt-and-suspenders for two recovery cases:
|
|
361
|
+
*
|
|
362
|
+
* 1. A session persisted by an older SDK build (pre-v0.1.20) that DID
|
|
363
|
+
* emit signatureless thinking blocks now loads from disk. Without this
|
|
364
|
+
* filter, the first wire call after upgrading would 400 on the bad
|
|
365
|
+
* block.
|
|
366
|
+
*
|
|
367
|
+
* 2. A future provider-side transformation (compaction, dedup) accidentally
|
|
368
|
+
* drops the field. Filtering here gives us a single chokepoint to lock.
|
|
369
|
+
*
|
|
370
|
+
* Two complications the filter has to handle:
|
|
371
|
+
*
|
|
372
|
+
* - **Anthropic forbids mixing `thinking` and `text` after `tool_use` /
|
|
373
|
+
* `tool_result` in the same message.** Simply removing the bad thinking
|
|
374
|
+
* block can leave a message starting with `text` + `tool_use`, which is
|
|
375
|
+
* still valid. So we only drop the thinking block itself, not surrounding
|
|
376
|
+
* blocks.
|
|
377
|
+
*
|
|
378
|
+
* - **An assistant message can become content-empty after the filter.** A
|
|
379
|
+
* turn like `[thinking(broken)]` reduces to `[]`. Anthropic rejects empty
|
|
380
|
+
* content arrays, so we substitute a single empty text block as a
|
|
381
|
+
* placeholder — same trick `loop.ts` already uses for the scrubber-drops-
|
|
382
|
+
* everything case.
|
|
383
|
+
*/
|
|
384
|
+
export function sanitizeThinkingBlocksForWire(messages) {
|
|
385
|
+
let mutated = false;
|
|
386
|
+
const out = messages.map((msg) => {
|
|
387
|
+
if (!Array.isArray(msg.content))
|
|
388
|
+
return msg;
|
|
389
|
+
let blockChanged = false;
|
|
390
|
+
const filtered = msg.content.filter((block) => {
|
|
391
|
+
if (block.type !== "thinking")
|
|
392
|
+
return true;
|
|
393
|
+
const sig = block.signature;
|
|
394
|
+
const valid = typeof sig === "string" && sig.length > 0;
|
|
395
|
+
if (!valid) {
|
|
396
|
+
blockChanged = true;
|
|
397
|
+
return false;
|
|
398
|
+
}
|
|
399
|
+
return true;
|
|
400
|
+
});
|
|
401
|
+
if (!blockChanged)
|
|
402
|
+
return msg;
|
|
403
|
+
mutated = true;
|
|
404
|
+
// Empty content array isn't a valid Anthropic message — keep one
|
|
405
|
+
// placeholder text block so the turn stays well-formed.
|
|
406
|
+
const safe = filtered.length > 0 ? filtered : [{ type: "text", text: "" }];
|
|
407
|
+
return { role: msg.role, content: safe };
|
|
408
|
+
});
|
|
409
|
+
return mutated ? out : messages;
|
|
410
|
+
}
|
|
332
411
|
/**
|
|
333
412
|
* Convert the user-supplied `system` (plain string) into the array shape
|
|
334
413
|
* Anthropic accepts when you need a cache_control marker. A string slot
|
|
@@ -445,46 +524,133 @@ function applyThinkingHeaders(headers, budget) {
|
|
|
445
524
|
* `MAESTRO_EFFORT_VALUES`); other values return undefined so the caller skips
|
|
446
525
|
* thinking entirely.
|
|
447
526
|
*
|
|
448
|
-
* Scale (v0.1.
|
|
449
|
-
* - low →
|
|
450
|
-
* - medium →
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
*
|
|
454
|
-
*
|
|
455
|
-
*
|
|
456
|
-
*
|
|
457
|
-
*
|
|
458
|
-
*
|
|
459
|
-
*
|
|
460
|
-
*
|
|
461
|
-
*
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
*
|
|
527
|
+
* Scale (v0.1.19+ — aligned with the prompt-keyword tier ladder):
|
|
528
|
+
* - low → undefined (thinking off — latency-priority working mode)
|
|
529
|
+
* - medium → undefined (thinking off — default; matches Claude Code's
|
|
530
|
+
* "off unless asked" behavior. Persona text still
|
|
531
|
+
* shapes the model's working style, but the API
|
|
532
|
+
* ships without a `thinking` payload.)
|
|
533
|
+
* - high → 4 096 (T1 — same as the `think` / `생각해줘` keyword)
|
|
534
|
+
* - xhigh → 10 000 (T2 — same as `think hard` / `깊이 생각`)
|
|
535
|
+
* - max → 31 999 (T3 — same as `ultrathink` / `끝까지 생각`)
|
|
536
|
+
*
|
|
537
|
+
* Why only high/xhigh/max grant thinking: the lower three rungs are the
|
|
538
|
+
* conversational defaults where fast tool dispatch beats deeper reasoning
|
|
539
|
+
* (Telegram bot, chat UI, simple file ops). Users who want extended
|
|
540
|
+
* thinking either escalate via the effort knob explicitly or type the
|
|
541
|
+
* keyword in the prompt — both routes land on the same three tier budgets,
|
|
542
|
+
* so behavior is predictable across surfaces.
|
|
543
|
+
*
|
|
544
|
+
* Symmetry with `detectThinkingKeyword`: the three "on" tiers here mirror
|
|
545
|
+
* the three keyword tiers exactly. Whichever path activates thinking, the
|
|
546
|
+
* model sees one of {4096, 10000, 31999} — no fourth budget exists.
|
|
547
|
+
* `resolveThinkingBudget` (provider.ts) picks the higher of the two if
|
|
548
|
+
* both fire, so an `effort: "high"` call that happens to contain
|
|
549
|
+
* "ultrathink" in the prompt still gets T3, not T1.
|
|
465
550
|
*
|
|
466
551
|
* Budgets are *ceilings*, not enforced spending: the model decides how
|
|
467
|
-
* much to actually emit inside the budget.
|
|
468
|
-
* task still costs almost nothing — the savings come from latency
|
|
469
|
-
*
|
|
470
|
-
* smaller.
|
|
552
|
+
* much to actually emit inside the budget. A 31999 ceiling on a simple
|
|
553
|
+
* task still costs almost nothing — the savings come from latency
|
|
554
|
+
* (model returns sooner when it knows the budget is smaller).
|
|
471
555
|
*/
|
|
472
556
|
export function effortToThinkingBudget(e) {
|
|
473
557
|
switch (e) {
|
|
474
558
|
case "low":
|
|
475
|
-
return
|
|
559
|
+
return undefined;
|
|
476
560
|
case "medium":
|
|
477
|
-
return
|
|
561
|
+
return undefined;
|
|
478
562
|
case "high":
|
|
479
|
-
return
|
|
563
|
+
return 4096;
|
|
480
564
|
case "xhigh":
|
|
481
|
-
return
|
|
565
|
+
return 10000;
|
|
482
566
|
case "max":
|
|
483
|
-
return
|
|
567
|
+
return 31999;
|
|
484
568
|
default:
|
|
485
569
|
return undefined;
|
|
486
570
|
}
|
|
487
571
|
}
|
|
572
|
+
/**
|
|
573
|
+
* Claude Code-style think-keyword detection.
|
|
574
|
+
*
|
|
575
|
+
* Scans the caller's user prompt for an explicit "think harder" cue. When
|
|
576
|
+
* present, returns the matching thinking-budget tier; otherwise returns
|
|
577
|
+
* undefined (the loop then ships the call with thinking disabled — same
|
|
578
|
+
* default Claude Code uses).
|
|
579
|
+
*
|
|
580
|
+
* Why this exists alongside `effortToThinkingBudget`:
|
|
581
|
+
* - `effort` is a *programmatic* knob set by the SDK consumer (CLI flag,
|
|
582
|
+
* config file, server-side default). It's awkward to plumb through
|
|
583
|
+
* conversational surfaces like a Telegram bot or chat UI where the user
|
|
584
|
+
* just types text.
|
|
585
|
+
* - The keyword path lets end-users toggle thinking via the prompt itself
|
|
586
|
+
* ("think harder", "끝까지 생각해줘") without the host having to wire
|
|
587
|
+
* UI for an effort selector. This matches Claude Code's behavior and
|
|
588
|
+
* is what users coming from CC instinctively try.
|
|
589
|
+
*
|
|
590
|
+
* Tier mapping mirrors Claude Code's documented set:
|
|
591
|
+
* tier 3 (max) → 31999 tokens — "ultrathink", "think harder",
|
|
592
|
+
* "끝까지 생각", "심층 생각"
|
|
593
|
+
* tier 2 (deep) → 10000 tokens — "think hard", "think a lot",
|
|
594
|
+
* "깊이 생각", "깊게 생각"
|
|
595
|
+
* tier 1 (basic) → 4096 tokens — "think" (English), "생각해줘" /
|
|
596
|
+
* "생각해봐" / "잘 생각" (Korean)
|
|
597
|
+
*
|
|
598
|
+
* Why 31999 (not 32768): Anthropic requires `max_tokens > budget`, and
|
|
599
|
+
* 31999 + 1024 = 33023 stays under the 64K max_tokens ceiling on sonnet-4-6
|
|
600
|
+
* while leaving room for the final text response. Picking 32768 would force
|
|
601
|
+
* max_tokens to ≥ 33792 which loses headroom for long answers.
|
|
602
|
+
*
|
|
603
|
+
* Why "think" word-boundary on English but substring on Korean:
|
|
604
|
+
* English splits with whitespace so `\bthink\b` cleanly avoids false hits
|
|
605
|
+
* on "thinking" / "rethink". Korean morphology glues particles to verbs
|
|
606
|
+
* ("생각해줘" / "생각해봐"), so we substring-match the verb stem and accept
|
|
607
|
+
* the false-positive rate (a Korean user saying "그는 잘 생각해" in a code
|
|
608
|
+
* snippet would unintentionally trigger — same trade-off CC made in
|
|
609
|
+
* English).
|
|
610
|
+
*
|
|
611
|
+
* Highest tier wins: if both "think" and "ultrathink" appear (e.g. "think
|
|
612
|
+
* about this — actually ultrathink"), we honor the higher budget. Tier
|
|
613
|
+
* ordering matters because tier-3 substrings contain tier-1's pattern.
|
|
614
|
+
*
|
|
615
|
+
* Pure helper — no side effects, safe to call on every turn. Exposed for
|
|
616
|
+
* tests and for hosts that want to compose their own keyword surfaces
|
|
617
|
+
* (e.g. add Japanese keywords without forking).
|
|
618
|
+
*/
|
|
619
|
+
export function detectThinkingKeyword(prompt) {
|
|
620
|
+
if (!prompt)
|
|
621
|
+
return undefined;
|
|
622
|
+
const lower = prompt.toLowerCase();
|
|
623
|
+
// Tier 3 — max. Order matters: check the highest tier first so a prompt
|
|
624
|
+
// containing "ultrathink" doesn't get downgraded by an earlier "think"
|
|
625
|
+
// match. Korean cues sit alongside the English set; substring match is
|
|
626
|
+
// intentional (see docstring).
|
|
627
|
+
if (/\bultrathink\b/.test(lower) ||
|
|
628
|
+
/\bthink\s+harder\b/.test(lower) ||
|
|
629
|
+
/\bmegathink\b/.test(lower) ||
|
|
630
|
+
prompt.includes("끝까지 생각") ||
|
|
631
|
+
prompt.includes("심층 생각")) {
|
|
632
|
+
return 31999;
|
|
633
|
+
}
|
|
634
|
+
// Tier 2 — deep.
|
|
635
|
+
if (/\bthink\s+hard\b/.test(lower) ||
|
|
636
|
+
/\bthink\s+a\s+lot\b/.test(lower) ||
|
|
637
|
+
prompt.includes("깊이 생각") ||
|
|
638
|
+
prompt.includes("깊게 생각")) {
|
|
639
|
+
return 10000;
|
|
640
|
+
}
|
|
641
|
+
// Tier 1 — basic. The English `\bthink\b` is broad and will fire on any
|
|
642
|
+
// standalone "think" mention; that's the documented Claude Code behavior
|
|
643
|
+
// and matches user intuition. For Korean we require an imperative-ish
|
|
644
|
+
// form ("생각해줘" / "생각해봐") or a deliberate modifier ("잘 생각") to
|
|
645
|
+
// avoid casual triggering on words like "생각" in a description.
|
|
646
|
+
if (/\bthink\b/.test(lower) ||
|
|
647
|
+
prompt.includes("생각해줘") ||
|
|
648
|
+
prompt.includes("생각해봐") ||
|
|
649
|
+
prompt.includes("잘 생각")) {
|
|
650
|
+
return 4096;
|
|
651
|
+
}
|
|
652
|
+
return undefined;
|
|
653
|
+
}
|
|
488
654
|
/**
|
|
489
655
|
* Resolve the actual thinking budget the loop should send on *this turn*,
|
|
490
656
|
* given the base budget (already derived from effort) and the turn's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -1,3 +1,69 @@
|
|
|
1
1
|
import type { AgentRegistry } from "./agents/contracts.js";
|
|
2
|
+
/**
|
|
3
|
+
* Per-model default `max_tokens` ceiling — the value the SDK ships to the
|
|
4
|
+
* provider when the caller doesn't pin `AgentQueryOptions.maxTokens` itself.
|
|
5
|
+
*
|
|
6
|
+
* v0.1.21+ replaces the previous flat 4096 fallback (which silently truncated
|
|
7
|
+
* any output > 4K — see the v0.1.20 ↔ v0.1.21 changelog for the bug it caused
|
|
8
|
+
* in long-form report generation). The new defaults are picked per-model
|
|
9
|
+
* rather than blanket because the providers diverge sharply:
|
|
10
|
+
*
|
|
11
|
+
* - **Claude** (Anthropic) caps native output at 64K (sonnet/haiku) or 128K
|
|
12
|
+
* (opus 4.7). These are realistic ceilings for actual long-form work, so
|
|
13
|
+
* the default IS the native cap — matches `@anthropic-ai/claude-agent-sdk`
|
|
14
|
+
* behavior where caller omitting `maxTokens` gets the per-model native
|
|
15
|
+
* max from the SDK's model catalog.
|
|
16
|
+
*
|
|
17
|
+
* - **DeepSeek V4** caps native output at 384K (both pro and flash). That's
|
|
18
|
+
* ~290k English words in one shot — far beyond any practical single-turn
|
|
19
|
+
* use case. Defaulting to native here would mean a single runaway turn
|
|
20
|
+
* could rack up serious cost and 30-minute+ wall time before the loop
|
|
21
|
+
* even notices. We pin a smaller default per variant:
|
|
22
|
+
* - `deepseek-v4-pro` → 65_536 (matches the Claude Sonnet / Haiku
|
|
23
|
+
* 64K reference point so a topic
|
|
24
|
+
* switching providers sees the same
|
|
25
|
+
* default ceiling)
|
|
26
|
+
* - `deepseek-v4-flash` → 32_768 (latency-tier — flash users prefer
|
|
27
|
+
* snappier responses; long outputs
|
|
28
|
+
* should escalate to pro)
|
|
29
|
+
* Callers that genuinely need the full 384K still get it via the
|
|
30
|
+
* `AgentQueryOptions.maxTokens` override — the catalog is a default,
|
|
31
|
+
* not a hard ceiling.
|
|
32
|
+
*
|
|
33
|
+
* - **Unknown model ids** fall back to `DEFAULT_MAX_OUTPUT_TOKENS` (32_768)
|
|
34
|
+
* via `getNativeMaxOutputTokens`. The fallback is sized to "comfortably
|
|
35
|
+
* covers most long-form outputs" — picking 4096 like v0.1.20 reintroduces
|
|
36
|
+
* the original silent-truncation bug for any new model the caller hasn't
|
|
37
|
+
* registered yet, so we err on the generous side. Callers running an
|
|
38
|
+
* unknown model who want to clamp output should set `maxTokens` explicitly.
|
|
39
|
+
*
|
|
40
|
+
* The catalog is read at exactly one site — `AIAgent`'s constructor in
|
|
41
|
+
* `src/core/agent.ts` — via the `getNativeMaxOutputTokens(model)` helper.
|
|
42
|
+
* Adding a new model: extend this table and the corresponding alias entry.
|
|
43
|
+
*/
|
|
44
|
+
export declare const MODEL_MAX_OUTPUT_TOKENS: Readonly<Record<string, number>>;
|
|
45
|
+
/**
|
|
46
|
+
* Default `max_tokens` for an unknown model id. Sized generously (32_768)
|
|
47
|
+
* because the previous 4096 fallback silently truncated long outputs on every
|
|
48
|
+
* known model — picking that low again for unknowns would re-introduce the
|
|
49
|
+
* same class of bug for any model the catalog hasn't been updated for yet.
|
|
50
|
+
*
|
|
51
|
+
* Hosts that want to clamp an unknown model can pass `maxTokens` explicitly
|
|
52
|
+
* on `AgentQueryOptions`; the catalog is a default, not a hard ceiling.
|
|
53
|
+
*/
|
|
54
|
+
export declare const DEFAULT_MAX_OUTPUT_TOKENS: 32768;
|
|
55
|
+
/**
|
|
56
|
+
* Resolve the per-API-call `max_tokens` default for a given resolved model id.
|
|
57
|
+
*
|
|
58
|
+
* Returns the catalog entry when the model is registered, or
|
|
59
|
+
* `DEFAULT_MAX_OUTPUT_TOKENS` (32_768) otherwise. Pure helper — no side
|
|
60
|
+
* effects, safe to call on every loop iteration.
|
|
61
|
+
*
|
|
62
|
+
* Used by `AIAgent` to compute its `maxTokens` default when the caller
|
|
63
|
+
* doesn't pin one via `AgentQueryOptions.maxTokens`. Exposed so hosts can
|
|
64
|
+
* surface the same number in their UI (e.g. "this run will cap at 64K
|
|
65
|
+
* output tokens") without duplicating the table.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getNativeMaxOutputTokens(model: string): number;
|
|
2
68
|
export declare const maestroRegistry: AgentRegistry;
|
|
3
69
|
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAuCxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ3D,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAG,KAAe,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,eAAO,MAAM,eAAe,EAAE,aAkF7B,CAAC"}
|