typebulb 0.49.3 → 0.50.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/README.md CHANGED
@@ -419,7 +419,7 @@ Or you can rely on the default provider and model if you set them in `.env`.
419
419
 
420
420
  ### Reasoning effort
421
421
 
422
- `tb.ai()` accepts an optional `effort` parameter (0–3) that hints at how much the model should reason. `low` (1) is the sensible default for most work; omit it for the model's own default.
422
+ `tb.ai()` accepts an optional `effort` parameter (0–4) that hints at how much the model should reason. `low` (1) is the sensible default for most work; omit it for the model's own default.
423
423
 
424
424
  | Level | Label | Effect |
425
425
  |-------|-------|--------|
@@ -427,6 +427,7 @@ Or you can rely on the default provider and model if you set them in `.env`.
427
427
  | 1 | Low | Light reasoning |
428
428
  | 2 | Med | Moderate reasoning |
429
429
  | 3 | High | Heavy reasoning |
430
+ | 4 | XHigh | The rung above high where the provider has one (OpenAI, Anthropic); clamps down to High where it doesn't, never errors. |
430
431
 
431
432
  ```typescript
432
433
  const { text } = await tb.ai({
@@ -446,7 +447,7 @@ for await (const c of tb.ai.stream({ messages })) {
446
447
  }
447
448
  ```
448
449
 
449
- Breaking the loop stops the stream; same options as `tb.ai()`. **`kind: "reasoning"` chunks require `effort: 1-3` and a thinking-capable model**.
450
+ Breaking the loop stops the stream; same options as `tb.ai()`. **`kind: "reasoning"` chunks require `effort: 1-4` and a thinking-capable model**.
450
451
 
451
452
  ### AI access
452
453
 
package/SKILL.md CHANGED
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: typebulb
3
3
  description: "Author and run Typebulb bulbs — single-file markdown apps (TypeScript/TSX) that run locally via `npx typebulb` (full power: filesystem, database, `server.ts`, `tb.ai`) or render live inline in your coding agent's session through Typebulb's agent mirror (sandboxed, client-only). A bulb can be a visual widget (chart, simulation, diagram, calculator, UI), a full-stack tool with a Node backend, or an AI app that calls models at runtime. Covers the bulb format, the `tb.*` API, trust, and the local run/inline workflow. Use when the user wants a bulb, a quick local tool (visual, backend-backed, or AI-powered), or something visual rendered inline in the conversation."
4
- version: 0.49.3
4
+ version: 0.50.0
5
5
  ---
6
6
 
7
- > Generated from typebulb v0.49.3. `npx typebulb agent` prints the running version alongside the path to its packaged SKILL.md: if that version is newer than this one, replace this file with that one.
7
+ > Generated from typebulb v0.50.0. `npx typebulb agent` prints the running version alongside the path to its packaged SKILL.md: if that version is newer than this one, replace this file with that one.
8
8
 
9
9
  # typebulb
10
10
 
@@ -427,7 +427,7 @@ Or you can rely on the default provider and model if you set them in `.env`.
427
427
 
428
428
  ### Reasoning effort
429
429
 
430
- `tb.ai()` accepts an optional `effort` parameter (0–3) that hints at how much the model should reason. `low` (1) is the sensible default for most work; omit it for the model's own default.
430
+ `tb.ai()` accepts an optional `effort` parameter (0–4) that hints at how much the model should reason. `low` (1) is the sensible default for most work; omit it for the model's own default.
431
431
 
432
432
  | Level | Label | Effect |
433
433
  |-------|-------|--------|
@@ -435,6 +435,7 @@ Or you can rely on the default provider and model if you set them in `.env`.
435
435
  | 1 | Low | Light reasoning |
436
436
  | 2 | Med | Moderate reasoning |
437
437
  | 3 | High | Heavy reasoning |
438
+ | 4 | XHigh | The rung above high where the provider has one (OpenAI, Anthropic); clamps down to High where it doesn't, never errors. |
438
439
 
439
440
  ```typescript
440
441
  const { text } = await tb.ai({
@@ -454,7 +455,7 @@ for await (const c of tb.ai.stream({ messages })) {
454
455
  }
455
456
  ```
456
457
 
457
- Breaking the loop stops the stream; same options as `tb.ai()`. **`kind: "reasoning"` chunks require `effort: 1-3` and a thinking-capable model**.
458
+ Breaking the loop stops the stream; same options as `tb.ai()`. **`kind: "reasoning"` chunks require `effort: 1-4` and a thinking-capable model**.
458
459
 
459
460
  ### AI access
460
461
 
@@ -1,8 +1,12 @@
1
1
  import type { ChatMessageDto, UpstreamErrorDto, EffortLevel, ChatStreamPieceDto, ChatResponseDto, ProviderResponseDto, ProviderStreamEventDto, StreamErrorCode } from './protocol.js';
2
- /** Options for building chat request payloads */
2
+ /** Options for building chat request payloads. `maxOutputTokens` is a hard cap on the response
3
+ * (reasoning included, since it bills as output) — each provider writes it to its own field, the
4
+ * way `effort` is translated, because the field name is payload-shaped and only the provider
5
+ * knows the shape. */
3
6
  export type ChatRequestOpts = {
4
7
  effort?: EffortLevel;
5
8
  webSearch?: boolean;
9
+ maxOutputTokens?: number;
6
10
  } | undefined;
7
11
  /**
8
12
  * Error thrown by provider stream parsing when the provider or server reports an error.
@@ -1 +1 @@
1
- {"version":3,"file":"aiProvider.d.ts","sourceRoot":"","sources":["../../ai/src/aiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EAChB,MAAM,eAAe,CAAA;AAEtB,iDAAiD;AACjD,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAA;AAEvF;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,IAAI,EAAE,eAAe;aACrB,SAAS,EAAE,OAAO;gBAFlC,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,eAA2B,EACjC,SAAS,GAAE,OAAe;CAI7C;AAED;;;GAGG;AACH,8BAAsB,UAAU;IAC9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAI9B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAIjD,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAE9E,QAAQ,CAAC,YAAY,CACnB,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,OAAO,GACd,OAAO;IAEV,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAM/D,QAAQ,CAAC,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAE9E;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,GAAG,IAAI;IAKzE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,GAAG,IAAI;IAIpG,wDAAwD;IACxD,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,SAAS,SAAS,GAAG;QAC/E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,oBAAoB,EAAE,cAAc,EAAE,CAAA;KACvC;IAQD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAsB7E;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAyBjD,OAAO,CAAC,mBAAmB;CAe5B"}
1
+ {"version":3,"file":"aiProvider.d.ts","sourceRoot":"","sources":["../../ai/src/aiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EAChB,MAAM,eAAe,CAAA;AAEtB;;;uBAGuB;AACvB,MAAM,MAAM,eAAe,GACzB;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAA;AAErF;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,IAAI,EAAE,eAAe;aACrB,SAAS,EAAE,OAAO;gBAFlC,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,eAA2B,EACjC,SAAS,GAAE,OAAe;CAI7C;AAED;;;GAGG;AACH,8BAAsB,UAAU;IAC9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAI9B;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAIjD,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAE9E,QAAQ,CAAC,YAAY,CACnB,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,OAAO,GACd,OAAO;IAEV,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAM/D,QAAQ,CAAC,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAE9E;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,GAAG,IAAI;IAKzE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,GAAG,IAAI;IAIpG,wDAAwD;IACxD,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,SAAS,SAAS,GAAG;QAC/E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,oBAAoB,EAAE,cAAc,EAAE,CAAA;KACvC;IAQD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAsB7E;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAyBjD,OAAO,CAAC,mBAAmB;CAe5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"aiProvider.js","sourceRoot":"","sources":["../../ai/src/aiProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aiProvider.js","sourceRoot":"","sources":["../../ai/src/aiProvider.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,12 @@ export interface SendAIRequestOpts {
16
16
  stream: boolean;
17
17
  effort?: EffortLevel;
18
18
  webSearch?: boolean;
19
+ /** Hard cap on response tokens (reasoning included). Replaces the old `modifyPayload` hook, which
20
+ * wrote a chat-completions `max_tokens` and so silently failed to bind on the OpenAI Responses
21
+ * API and Gemini — the two whose payloads name it differently. */
22
+ maxOutputTokens?: number;
19
23
  origin?: string;
20
24
  signal?: AbortSignal;
21
- modifyPayload?: (payload: Record<string, unknown>) => void;
22
25
  }
23
26
  /**
24
27
  * Join an operation path onto a base URL, **preserving the base's path prefix**.
@@ -1 +1 @@
1
- {"version":3,"file":"aiProviders.d.ts","sourceRoot":"","sources":["../../ai/src/aiProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACtG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAmB5C,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,UAAU,CAMlE;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAC3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,uCAAuC;AACvC,wBAAsB,aAAa,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,QAAQ,CAAC,CAqBnB;AAED;;;uCAGuC;AACvC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,uEAAuE;AACvE,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAYvC"}
1
+ {"version":3,"file":"aiProviders.d.ts","sourceRoot":"","sources":["../../ai/src/aiProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACtG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAmB5C,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,UAAU,CAMlE;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;uEAEmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,uCAAuC;AACvC,wBAAsB,aAAa,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,QAAQ,CAAC,CAmBnB;AAED;;;uCAGuC;AACvC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,uEAAuE;AACvE,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAYvC"}
@@ -41,8 +41,7 @@ export async function sendAIRequest(provider, opts) {
41
41
  const path = spec.getPath(provider.model, opts.stream);
42
42
  const url = joinUrl(provider.baseUrl, path);
43
43
  const headers = spec.buildHeaders(provider.apiKey, opts.origin);
44
- const payload = spec.buildPayload(opts.messages, provider.model, { effort: opts.effort, webSearch: opts.webSearch }, opts.stream);
45
- opts.modifyPayload?.(payload);
44
+ const payload = spec.buildPayload(opts.messages, provider.model, { effort: opts.effort, webSearch: opts.webSearch, maxOutputTokens: opts.maxOutputTokens }, opts.stream);
46
45
  return fetch(url, {
47
46
  method: 'POST',
48
47
  headers,
@@ -1 +1 @@
1
- {"version":3,"file":"aiProviders.js","sourceRoot":"","sources":["../../ai/src/aiProviders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aiProviders.js","sourceRoot":"","sources":["../../ai/src/aiProviders.ts"],"names":[],"mappings":"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"}
@@ -46,13 +46,15 @@ export interface StreamErrorDto extends Required<StreamErrorPayload> {
46
46
  * runtime. `ollama` is the zero-config preset; `openai-compat` is the generic form. See
47
47
  * runtime-specs/TB-Custom-Providers.md. */
48
48
  export type ProviderProtocol = 'openai' | 'anthropic' | 'openrouter' | 'gemini' | 'ollama' | 'openai-compat';
49
- /** Reasoning effort hint: 0 (minimal) – 3 (high). 0 minimizes reasoning, mapped to each provider's
49
+ /** Reasoning effort hint: 0 (minimal) – 4 (xhigh). 0 minimizes reasoning, mapped to each provider's
50
50
  * least rung — OpenAI/OpenRouter `none` (`minimal` is model-gated, so `none` is the robust floor),
51
51
  * Gemini `thinkingBudget: 0`, Anthropic no-thinking on Opus (or `low` where thinking can't be
52
- * disabled). Higher levels are `low`/`medium`/`high`. Omitting is the model's own *default*, not
52
+ * disabled). Higher levels are `low`/`medium`/`high`, then 4 = the rung above high where the vendor
53
+ * has one (OpenAI/OpenRouter `xhigh`, Anthropic `max`) and `high` where it doesn't (Gemini) — a
54
+ * missing rung clamps, never errors. Omitting is the model's own *default*, not
53
55
  * "off" — a native-default reasoner (GPT-5.6: medium) then thinks and bills invisibly. 0 floors to
54
56
  * the lowest available thinking only on always-thinking models. */
55
- export type EffortLevel = 0 | 1 | 2 | 3;
57
+ export type EffortLevel = 0 | 1 | 2 | 3 | 4;
56
58
  /** Narrow an untrusted number to the dial, or `undefined` if it isn't one. 0 is a valid level, so a
57
59
  * falsy check would silently coerce minimal to "omit" — which buys the provider default, not off. */
58
60
  export declare const asEffort: (v: number | undefined | null) => EffortLevel | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../ai/src/protocol.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,0IAA0I;AAC1I,MAAM,WAAW,mBAAmB;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AAE/D,yHAAyH;AACzH,MAAM,WAAW,sBAAsB;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AAIlE,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AAEvG,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAClE,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;;4CAG4C;AAC5C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,CAAA;AAE5G;;;;;oEAKoE;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEvC;sGACsG;AACtG,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,WAAW,GAAG,SACR,CAAA;AAE9D;;0EAE0E;AAC1E,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,WACI,CAAA;AAE5C;;+FAE+F;AAC/F,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC;;qGAEqG;AACrG,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;AAElD,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,0GAA0G;IAC1G,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../ai/src/protocol.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAGD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,0IAA0I;AAC1I,MAAM,WAAW,mBAAmB;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AAE/D,yHAAyH;AACzH,MAAM,WAAW,sBAAsB;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AAIlE,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AAEvG,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAClE,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;;4CAG4C;AAC5C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,CAAA;AAE5G;;;;;;;oEAOoE;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAE3C;sGACsG;AACtG,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,WAAW,GAAG,SACR,CAAA;AAE9D;;0EAE0E;AAC1E,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,WACI,CAAA;AAE5C;;+FAE+F;AAC/F,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC;;qGAEqG;AACrG,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;AAElD,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,0GAA0G;IAC1G,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
@@ -1,9 +1,9 @@
1
1
  // ── Chat types (shared across all providers) ─────────────────────────
2
2
  /** Narrow an untrusted number to the dial, or `undefined` if it isn't one. 0 is a valid level, so a
3
3
  * falsy check would silently coerce minimal to "omit" — which buys the provider default, not off. */
4
- export const asEffort = (v) => v != null && v >= 0 && v <= 3 ? v : undefined;
4
+ export const asEffort = (v) => v != null && v >= 0 && v <= 4 ? v : undefined;
5
5
  /** Pull a stored number onto the dial. Unlike `asEffort`, an out-of-range value is capped rather than
6
6
  * dropped — for persisted settings, where the nearest level beats falling back to a provider default.
7
7
  * The upper bound must track the dial's top if a level is ever added. */
8
- export const clampEffort = (v) => Math.max(0, Math.min(v, 3));
8
+ export const clampEffort = (v) => Math.max(0, Math.min(v, 4));
9
9
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../ai/src/protocol.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAqExE;sGACsG;AACtG,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAA4B,EAA2B,EAAE,CAChF,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;AAE9D;;0EAE0E;AAC1E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAe,EAAE,CACpD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgB,CAAA"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../ai/src/protocol.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAuExE;sGACsG;AACtG,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAA4B,EAA2B,EAAE,CAChF,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;AAE9D;;0EAE0E;AAC1E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAe,EAAE,CACpD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ export class AnthropicProvider extends AIProvider {
19
19
  const { system, conversationMessages } = this.extractSystemMessages(messages);
20
20
  const payload = {
21
21
  model,
22
- max_tokens: this.getMaxTokens(model),
22
+ // A cap never raises the model's own ceiling, so the smaller of the two wins.
23
+ max_tokens: Math.min(this.getMaxTokens(model), opts?.maxOutputTokens ?? Infinity),
23
24
  // Breakpoints on the final two messages cache the conversation prefix (extends each turn)
24
25
  messages: this.withTailMessagesCached(conversationMessages),
25
26
  stream
@@ -39,7 +40,8 @@ export class AnthropicProvider extends AIProvider {
39
40
  // 0 = minimal: thinking off, via the explicit `thinking.disabled` switch. Omitting `thinking`
40
41
  // is NOT off — 4.6/4.7/4.8 default to no-thinking, but the 5 family thinks by default, so
41
42
  // silence bought thinking there anyway, and hid it (`display` defaults to 'omitted').
42
- // `disabled` is rejected above effort `high`, which the 0–3 dial never reaches.
43
+ // `disabled` is rejected above effort `high`. The dial now reaches `max` (4), but only ever
44
+ // pairs `disabled` with effort `low` below, so the two can't collide.
43
45
  if (depth === 0) {
44
46
  if (!this.alwaysThinks(model))
45
47
  payload.thinking = { type: 'disabled' };
@@ -49,7 +51,8 @@ export class AnthropicProvider extends AIProvider {
49
51
  const effortMap = {
50
52
  1: 'low',
51
53
  2: 'medium',
52
- 3: 'high'
54
+ 3: 'high',
55
+ 4: 'max'
53
56
  };
54
57
  // display defaults to 'omitted' on Fable 5 / Mythos 5 / Opus 4.7+ / Sonnet 5 (a silent change from
55
58
  // Opus 4.6 / Sonnet 4.6, which defaulted to 'summarized') — thinking still happens and is billed,
@@ -64,7 +67,8 @@ export class AnthropicProvider extends AIProvider {
64
67
  const budgetMap = {
65
68
  1: 2048,
66
69
  2: 4096,
67
- 3: 8192
70
+ 3: 8192,
71
+ 4: 16384
68
72
  };
69
73
  payload.thinking = {
70
74
  type: 'enabled',
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../ai/src/providers/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../ai/src/providers/anthropic.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAA;AAgHnE,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IAAjD;;QACqB,iBAAY,GAAG,WAAW,CAAA;QACpC,mBAAc,GAAG,2BAA2B,CAAA;QAC5C,SAAI,GAAG,cAAc,CAAA;IAmLhC,CAAC;IAjLC,oEAAoE;IAEpE,YAAY,CAAC,MAAc;QACzB,OAAO;YACL,WAAW,EAAE,MAAM;YACnB,mBAAmB,EAAE,YAAY;YACjC,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,kBAAkB;SAC7B,CAAA;IACH,CAAC;IAED,YAAY,CACV,QAA0B,EAC1B,KAAa,EACb,IAAqB,EACrB,MAAe;QAEf,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAE7E,MAAM,OAAO,GAA4B;YACvC,KAAK;YACL,8EAA8E;YAC9E,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,IAAI,QAAQ,CAAC;YACjF,0FAA0F;YAC1F,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC;YAC3D,MAAM;SACP,CAAA;QAED,2EAA2E;QAC3E,IAAI,IAAI,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,6EAA6E;YAC7E,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,mDAAmD;gBACnD,8FAA8F;gBAC9F,0FAA0F;gBAC1F,sFAAsF;gBACtF,4FAA4F;gBAC5F,sEAAsE;gBACtE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;wBAAE,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;oBACtE,OAAO,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAC3C,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAA6D;wBAC1E,CAAC,EAAE,KAAK;wBACR,CAAC,EAAE,QAAQ;wBACX,CAAC,EAAE,MAAM;wBACT,CAAC,EAAE,KAAK;qBACT,CAAA;oBACD,mGAAmG;oBACnG,kGAAkG;oBAClG,2DAA2D;oBAC3D,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;oBAC9D,OAAO,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;gBACtD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvB,kGAAkG;gBAClG,0FAA0F;gBAC1F,MAAM,SAAS,GAAkC;oBAC/C,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,KAAK;iBACT,CAAA;gBACD,OAAO,CAAC,QAAQ,GAAG;oBACjB,IAAI,EAAE,SAAS;oBACf,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC;iBAChC,CAAA;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,oEAAoE;IAEpE,yBAAyB,CAAC,IAAyB;QACjD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;aACtB,MAAM,CAAC,CAAC,KAAK,EAAiC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;aACvE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO;aAC3B,MAAM,CAAC,CAAC,KAAK,EAAqC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;aAC/E,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC5B,IAAI,CAAC,MAAM,CAAC,CAAA;QAEf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS,EAAE,CAAA;IACpD,CAAC;IAES,wBAAwB,CAAC,IAA4B;QAC7D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAE7C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,qBAAqB;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACrC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAA;gBACxC,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACzC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAA;gBACjD,CAAC;gBACD,OAAO,IAAI,CAAA;YAEb;gBACE,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAED,oEAAoE;IAEpE;;;;;OAKG;IACK,sBAAsB,CAAC,QAA0B;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC,IAAI,WAAW;YACd,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE;YACtG,CAAC,CAAC,CAAC,CACN,CAAA;IACH,CAAC;IAEO,mBAAmB,CAAC,IAAa;QACvC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;eAC1C,IAAyC,CAAC,IAAI,KAAK,SAAS;eAC7D,KAAK,CAAC,OAAO,CAAE,IAAyC,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC;IAEO,gBAAgB,CAAC,IAAa;QACpC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,CAAA;IACpE,CAAC;IAED;;;;;;;;;;;OAWG;IACK,aAAa,CAAC,KAAa;QACjC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACzD,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;IACjD,CAAC;IAED;gEAC4D;IACpD,YAAY,CAAC,KAAa;QAChC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAClD,CAAC;CAEF"}
@@ -70,8 +70,9 @@ export declare class GeminiProvider extends AIProvider {
70
70
  /** Major.minor from a versioned model name (`gemini-3.5-flash` → 3.5); null for aliases. */
71
71
  private geminiVersion;
72
72
  /** Dial → level, clamped to the family's supported enum: `minimal` is 3.5+; earlier 3.x floors at
73
- * `low`. (gemini-3-pro-preview's low|high-only enum would need a wider clamp, but Google retired
74
- * the model — 404 verified 2026-07-15.) */
73
+ * `low`. Gemini has no rung above `high`, so the dial's 4 clamps down to it — clamping, never a
74
+ * 400, is the rule for a missing rung. (gemini-3-pro-preview's low|high-only enum would need a
75
+ * wider clamp, but Google retired the model — 404 verified 2026-07-15.) */
75
76
  private thinkingLevelFor;
76
77
  private isGeminiResponse;
77
78
  /** Split a candidate's parts into answer text and thought (reasoning) summaries — Gemini marks
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/gemini.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ export class GeminiProvider extends AIProvider {
5
5
  this.providerName = 'Gemini';
6
6
  this.defaultBaseUrl = 'https://generativelanguage.googleapis.com';
7
7
  this.path = '/v1beta/models';
8
- this.budgetMap = { 0: 0, 1: 1024, 2: 8192, 3: -1 };
8
+ // 4 repeats 3's `-1`: dynamic already means "think maximally", so the dial's top rung has nowhere
9
+ // higher to go on 2.5-era models — the clamp, expressed in the table.
10
+ this.budgetMap = { 0: 0, 1: 1024, 2: 8192, 3: -1, 4: -1 };
9
11
  }
10
12
  // ── Request building ─────────────────────────────────────────────
11
13
  getPath(model, stream) {
@@ -51,6 +53,11 @@ export class GeminiProvider extends AIProvider {
51
53
  thinkingConfig: effort === 0 ? dial : { includeThoughts: true, ...dial },
52
54
  };
53
55
  }
56
+ // Gemini nests it under generationConfig — merged rather than assigned, so it survives
57
+ // alongside a thinkingConfig set above (and creates the object when effort was omitted).
58
+ if (opts?.maxOutputTokens !== undefined) {
59
+ payload.generationConfig = { ...payload.generationConfig, maxOutputTokens: opts.maxOutputTokens };
60
+ }
54
61
  return payload;
55
62
  }
56
63
  parseError(errorText, status) {
@@ -112,10 +119,11 @@ export class GeminiProvider extends AIProvider {
112
119
  return m ? Number(m[1]) : null;
113
120
  }
114
121
  /** Dial → level, clamped to the family's supported enum: `minimal` is 3.5+; earlier 3.x floors at
115
- * `low`. (gemini-3-pro-preview's low|high-only enum would need a wider clamp, but Google retired
116
- * the model — 404 verified 2026-07-15.) */
122
+ * `low`. Gemini has no rung above `high`, so the dial's 4 clamps down to it — clamping, never a
123
+ * 400, is the rule for a missing rung. (gemini-3-pro-preview's low|high-only enum would need a
124
+ * wider clamp, but Google retired the model — 404 verified 2026-07-15.) */
117
125
  thinkingLevelFor(version, effort) {
118
- const level = ['minimal', 'low', 'medium', 'high'][effort];
126
+ const level = ['minimal', 'low', 'medium', 'high', 'high'][effort];
119
127
  return level === 'minimal' && version < 3.5 ? 'low' : level;
120
128
  }
121
129
  isGeminiResponse(json) {
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../ai/src/providers/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../ai/src/providers/gemini.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { ChatMessageDto, ChatStreamPieceDto, ChatResponseDto, ProviderResponseDto, ProviderStreamEventDto } from '../protocol.js';
5
5
  import { AIProvider, type ChatRequestOpts } from '../aiProvider.js';
6
- export type OpenAIReasoningEffort = 'none' | 'low' | 'medium' | 'high';
6
+ export type OpenAIReasoningEffort = 'none' | 'low' | 'medium' | 'high' | 'xhigh';
7
7
  export type OpenAIReasoningSummary = 'auto' | 'concise' | 'detailed';
8
8
  export interface OpenAIWebSearchTool {
9
9
  type: 'web_search';
@@ -12,6 +12,7 @@ export type OpenAITool = OpenAIWebSearchTool;
12
12
  export interface OpenAIResponsesApiRequestDto {
13
13
  model: string;
14
14
  input: string;
15
+ max_output_tokens?: number;
15
16
  reasoning?: {
16
17
  effort: OpenAIReasoningEffort;
17
18
  summary?: OpenAIReasoningSummary;
@@ -1 +1 @@
1
- {"version":3,"file":"openAI.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/openAI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openAI.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/openAI.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ export class OpenAIProvider extends AIProvider {
10
10
  0: 'none',
11
11
  1: 'low',
12
12
  2: 'medium',
13
- 3: 'high'
13
+ 3: 'high',
14
+ 4: 'xhigh'
14
15
  };
15
16
  }
16
17
  // ── Request building ─────────────────────────────────────────────
@@ -38,6 +39,9 @@ export class OpenAIProvider extends AIProvider {
38
39
  // `summary: 'auto'` requests a reasoning summary; at `none` there's no reasoning to summarize.
39
40
  payload.reasoning = effort === 'none' ? { effort } : { effort, summary: 'auto' };
40
41
  }
42
+ if (opts?.maxOutputTokens !== undefined) {
43
+ payload.max_output_tokens = opts.maxOutputTokens;
44
+ }
41
45
  return payload;
42
46
  }
43
47
  // ── Response parsing ─────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"openAI.js","sourceRoot":"","sources":["../../../ai/src/providers/openAI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openAI.js","sourceRoot":"","sources":["../../../ai/src/providers/openAI.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,9 @@ export type OpenRouterRequestPayload = {
15
15
  model: string;
16
16
  messages: ChatMessageDto[];
17
17
  stream: boolean;
18
+ max_tokens?: number;
18
19
  reasoning?: {
19
- effort: 'none' | 'low' | 'medium' | 'high';
20
+ effort: 'none' | 'low' | 'medium' | 'high' | 'xhigh';
20
21
  };
21
22
  plugins?: OpenRouterWebPlugin[];
22
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"openRouter.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/openRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,mCAAmC;AACnC,UAAU,mBAAmB;IAC3B,EAAE,EAAE,KAAK,CAAA;IACT,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iCAAiC;AACjC,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;KAAE,CAAA;IAC1D,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA;AAED,qBAAa,kBAAmB,SAAQ,uBAAuB;IAC7D,SAAS,CAAC,QAAQ,CAAC,YAAY,gBAAe;IAO9C,QAAQ,CAAC,cAAc,2BAA0B;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA6B;IAIlD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAKzB;IAID,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAkBrE,YAAY,CACV,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,OAAO,GACd,wBAAwB;CAqB5B"}
1
+ {"version":3,"file":"openRouter.d.ts","sourceRoot":"","sources":["../../../ai/src/providers/openRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,mCAAmC;AACnC,UAAU,mBAAmB;IAC3B,EAAE,EAAE,KAAK,CAAA;IACT,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,iCAAiC;AACjC,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IACpE,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAChC,CAAA;AAED,qBAAa,kBAAmB,SAAQ,uBAAuB;IAC7D,SAAS,CAAC,QAAQ,CAAC,YAAY,gBAAe;IAO9C,QAAQ,CAAC,cAAc,2BAA0B;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA6B;IAQlD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAMzB;IAID,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAkBrE,YAAY,CACV,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,OAAO,GACd,wBAAwB;CA8B5B"}
@@ -12,12 +12,17 @@ export class OpenRouterProvider extends ChatCompletionsProvider {
12
12
  this.defaultBaseUrl = 'https://openrouter.ai';
13
13
  this.path = '/api/v1/chat/completions';
14
14
  // 0 → `none` (reasoning off): OpenRouter normalizes this across providers, and it's the robust floor
15
- // (its `minimal` isn't supported by every underlying model, e.g. gpt-5.4-mini).
15
+ // (its `minimal` isn't supported by every underlying model, e.g. gpt-5.4-mini). 4 → `xhigh`: the
16
+ // enum is protocol-wide but support is PER MODEL (`reasoning.supported_efforts` on GET /v1/models —
17
+ // gemini-3.5-flash tops out at `high`), and OpenRouter doesn't document what an unsupported value
18
+ // does. Curate rows against that field; this is the one provider where clamp-never-error rests on
19
+ // the catalog rather than on this map.
16
20
  this.effortMap = {
17
21
  0: 'none',
18
22
  1: 'low',
19
23
  2: 'medium',
20
- 3: 'high'
24
+ 3: 'high',
25
+ 4: 'xhigh'
21
26
  };
22
27
  }
23
28
  // ── Request building ─────────────────────────────────────────────
@@ -42,7 +47,12 @@ export class OpenRouterProvider extends ChatCompletionsProvider {
42
47
  messages,
43
48
  stream
44
49
  };
45
- // Web search disabled for OpenRouter - $0.02/request via Exa.ai is expensive
50
+ // Off by default: a bare `web` plugin auto-selects the model's NATIVE search, which bills the
51
+ // vendor's search fee *and* the retrieved results as input tokens. Measured 2026-08 over one
52
+ // question, search off→on: luna $0.0003→$0.0171 (70→17k input tokens), sonnet-5 $0.0015→$0.0400,
53
+ // grok-4.5 $0.0012→$0.0477, gemini-3.6-flash $0.0059→$0.0343. Gemini is the outlier because
54
+ // grounding retrieves server-side (input barely moves, ~$0.028 flat); everyone else pays twice,
55
+ // so the bill scales with the model's *input* rate, not any flat search price.
46
56
  if (opts?.webSearch === true) {
47
57
  payload.plugins = [{ id: 'web' }];
48
58
  }
@@ -52,6 +62,9 @@ export class OpenRouterProvider extends ChatCompletionsProvider {
52
62
  effort: this.effortMap[effort]
53
63
  };
54
64
  }
65
+ if (opts?.maxOutputTokens !== undefined) {
66
+ payload.max_tokens = opts.maxOutputTokens;
67
+ }
55
68
  return payload;
56
69
  }
57
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openRouter.js","sourceRoot":"","sources":["../../../ai/src/providers/openRouter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAiB9D,MAAM,OAAO,kBAAmB,SAAQ,uBAAuB;IAA/D;;QACqB,iBAAY,GAAG,YAAY,CAAA;QAC9C,6FAA6F;QAC7F,iGAAiG;QACjG,gGAAgG;QAChG,gGAAgG;QAChG,iGAAiG;QACjG,uGAAuG;QAC9F,mBAAc,GAAG,uBAAuB,CAAA;QACxC,SAAI,GAAW,0BAA0B,CAAA;QAElD,qGAAqG;QACrG,gFAAgF;QAC/D,cAAS,GAA4D;YACpF,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,MAAM;SACV,CAAA;IAgDH,CAAC;IA9CC,oEAAoE;IAEpE,YAAY,CAAC,MAAc,EAAE,MAAe;QAC1C,MAAM,OAAO,GAA2B;YACtC,eAAe,EAAE,UAAU,MAAM,EAAE;YACnC,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,UAAU;SACtB,CAAA;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,CAAA;YAChC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;YAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,YAAY,CACV,QAA0B,EAC1B,KAAa,EACb,IAAqB,EACrB,MAAe;QAEf,MAAM,OAAO,GAA6B;YACxC,KAAK;YACL,QAAQ;YACR,MAAM;SACP,CAAA;QAED,6EAA6E;QAC7E,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;QAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,SAAS,GAAG;gBAClB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAC/B,CAAA;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"openRouter.js","sourceRoot":"","sources":["../../../ai/src/providers/openRouter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAkB9D,MAAM,OAAO,kBAAmB,SAAQ,uBAAuB;IAA/D;;QACqB,iBAAY,GAAG,YAAY,CAAA;QAC9C,6FAA6F;QAC7F,iGAAiG;QACjG,gGAAgG;QAChG,gGAAgG;QAChG,iGAAiG;QACjG,uGAAuG;QAC9F,mBAAc,GAAG,uBAAuB,CAAA;QACxC,SAAI,GAAW,0BAA0B,CAAA;QAElD,qGAAqG;QACrG,iGAAiG;QACjG,oGAAoG;QACpG,kGAAkG;QAClG,kGAAkG;QAClG,uCAAuC;QACtB,cAAS,GAAsE;YAC9F,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,OAAO;SACX,CAAA;IAyDH,CAAC;IAvDC,oEAAoE;IAEpE,YAAY,CAAC,MAAc,EAAE,MAAe;QAC1C,MAAM,OAAO,GAA2B;YACtC,eAAe,EAAE,UAAU,MAAM,EAAE;YACnC,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,UAAU;SACtB,CAAA;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,CAAA;YAChC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;YAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC5B,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,YAAY,CACV,QAA0B,EAC1B,KAAa,EACb,IAAqB,EACrB,MAAe;QAEf,MAAM,OAAO,GAA6B;YACxC,KAAK;YACL,QAAQ;YACR,MAAM;SACP,CAAA;QAED,8FAA8F;QAC9F,6FAA6F;QAC7F,iGAAiG;QACjG,4FAA4F;QAC5F,gGAAgG;QAChG,+EAA+E;QAC/E,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;QAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,SAAS,GAAG;gBAClB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aAC/B,CAAA;QACH,CAAC;QAED,IAAI,IAAI,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAA;QAC3C,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
@@ -35,8 +35,8 @@ const insight = `
35
35
  const aiOptions = `options: {
36
36
  messages: Array<{ role: "user" | "assistant"; content: string }>;
37
37
  system?: string;
38
- /** Reasoning effort: 0=minimal, 1=low, 2=med, 3=high. Mapped to each provider's native mechanism (OpenAI/OpenRouter reasoning effort, Gemini thinking level, Anthropic adaptive thinking). 0 reaches the vendor's explicit off switch, and floors to a little thinking only on always-thinking models. Pin 1 (low) for most work; pick 0 deliberately, when you want the raw model or latency is the constraint. Omitting is NOT off — it buys the model's own default (medium on GPT-5.6), which reasons and bills invisibly. Ignored on the courtesy model, which runs at the level Typebulb sets. */
39
- effort?: 0 | 1 | 2 | 3;
38
+ /** Reasoning effort: 0=minimal, 1=low, 2=med, 3=high, 4=xhigh. Mapped to each provider's native mechanism (OpenAI/OpenRouter reasoning effort, Gemini thinking level, Anthropic adaptive thinking). 0 reaches the vendor's explicit off switch, and floors to a little thinking only on always-thinking models. 4 reaches the rung above high where the vendor has one (OpenAI/OpenRouter xhigh, Anthropic max) and clamps to high where it doesn't (Gemini) — never an error. Pin 1 (low) for most work; pick 0 deliberately, when you want the raw model or latency is the constraint. Omitting is NOT off — it buys the model's own default (medium on GPT-5.6), which reasons and bills invisibly. Ignored on the courtesy model, which runs at the level Typebulb sets. */
39
+ effort?: 0 | 1 | 2 | 3 | 4;
40
40
  provider?: string;
41
41
  model?: string;
42
42
  /** Enable/disable web search. Default: on for BYOK, always off for free model. */
@@ -70,7 +70,7 @@ const ai = `
70
70
  * Streaming counterpart of \`tb.ai()\`. Yields \`{ kind: "text" | "reasoning", text }\` deltas
71
71
  * as they arrive; break the loop (or abort \`signal\`) to cancel and stop the upstream.
72
72
  *
73
- * \`kind: "reasoning"\` deltas only arrive when you pass \`effort: 1-3\` AND use a
73
+ * \`kind: "reasoning"\` deltas only arrive when you pass \`effort: 1-4\` AND use a
74
74
  * thinking-capable model; otherwise the stream is \`text\`-only.
75
75
  *
76
76
  * @example