genaicode 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.7.0 — 2026-09-29
4
+
5
+ ### Added
6
+
7
+ - The Anthropic provider maps `thinking.level` to `output_config.effort` (`minimal` and
8
+ `low` → `low`, `medium`, `high`) with adaptive thinking on models that have it (Opus and
9
+ Sonnet 4.6 and later, Fable, Mythos). Before, `level` was ignored on Anthropic.
10
+ - `anthropicModelTraits(model)` reports what a Claude model ID accepts (adaptive thinking,
11
+ budgets, temperature, forced tool choice, how thinking turns off). It reads Bedrock
12
+ (`anthropic.`) and Vertex (`@date`) IDs too.
13
+
14
+ ### Fixed
15
+
16
+ - Claude Sonnet 5.5, Opus 5.5 and Fable 5.1 no longer 400 on requests genaicode builds:
17
+ - `thinking: false` sends `between_tools` on Sonnet 5.5, and on Opus 5.5 / Fable / Mythos
18
+ (where thinking cannot be turned off) leaves `thinking` out and sets effort `low`.
19
+ - A forced `toolChoice` (`'required'` or `{ name }`) becomes `auto` plus a system-prompt
20
+ line asking for the call. These models reject `any` / `tool`; check that a call was made.
21
+ - `thinking.budgetTokens` becomes adaptive thinking on models that removed budgets (Opus
22
+ 4.7+, Sonnet 5+, Fable, Mythos) instead of a 400.
23
+ - `temperature` is left out on models that reject it (Opus 4.7+, Sonnet 5+, Fable, Mythos),
24
+ as for `gpt-6-luna`.
25
+
3
26
  ## 2.6.0 — 2026-09-28
4
27
 
5
28
  ### Added
package/README.md CHANGED
@@ -254,6 +254,10 @@ const verdict = await ai(promptText)
254
254
  because Gemini 3 rejects `thinkingBudget: 0`. JSON `responseFormat` without an
255
255
  explicit `thinking` setting or provider `generationConfig.thinkingConfig` default also
256
256
  defaults Google thinking to `MINIMAL` (or `LOW` on Gemini 3.7 / Pro).
257
+ On Anthropic, `level` becomes `output_config.effort` with adaptive thinking (Opus and
258
+ Sonnet 4.6+), and `false` uses whatever the model accepts: `disabled`, `between_tools`
259
+ (Sonnet 5.5), or effort `low` where thinking is always on (Opus 5.5, Fable). Budgets
260
+ become adaptive thinking on models that removed them.
257
261
 
258
262
  Providers map what they support and ignore the rest. `ProviderCapabilities.jsonResponse`
259
263
  and `ProviderCapabilities.thinking` advertise support. Vendor-specific escapes such as
@@ -8,5 +8,22 @@ export interface AnthropicRequestDefaults {
8
8
  maxOutputTokens?: number;
9
9
  thinking?: Anthropic.ThinkingConfigParam;
10
10
  }
11
+ /** What a Claude model accepts, where it differs across generations. */
12
+ export interface AnthropicModelTraits {
13
+ /** Adaptive thinking and `output_config.effort` are available. */
14
+ adaptiveThinking: boolean;
15
+ /** `thinking: { type: 'enabled', budget_tokens }` returns a 400. */
16
+ rejectsBudgetTokens: boolean;
17
+ /** A non-default `temperature` returns a 400. */
18
+ rejectsTemperature: boolean;
19
+ /** Forced `tool_choice` (`any` / `tool`) returns a 400. */
20
+ rejectsForcedToolChoice: boolean;
21
+ /**
22
+ * How the model turns thinking off: `disabled`, `between_tools` (its lowest
23
+ * setting), or `none` when thinking is always on and only effort lowers it.
24
+ */
25
+ thinkingOff: 'disabled' | 'between_tools' | 'none';
26
+ }
27
+ export declare function anthropicModelTraits(model: string): AnthropicModelTraits;
11
28
  export declare function toAnthropicRequest(request: GenerationRequest, defaults: AnthropicRequestDefaults): Anthropic.MessageCreateParamsNonStreaming;
12
29
  export declare function fromAnthropicMessage(message: Anthropic.Message): GenerationResult;
@@ -58,19 +58,82 @@ export function toAnthropicToolChoice(choice) {
58
58
  return { type: 'any' };
59
59
  return { type: 'tool', name: choice.name };
60
60
  }
61
- function toAnthropicThinking(thinking, fallback) {
61
+ const LEGACY_TRAITS = {
62
+ adaptiveThinking: false,
63
+ rejectsBudgetTokens: false,
64
+ rejectsTemperature: false,
65
+ rejectsForcedToolChoice: false,
66
+ thinkingOff: 'disabled',
67
+ };
68
+ // Matches `claude-sonnet-5-5`, `anthropic.claude-opus-4-7`, `claude-opus-4-5@20251101`,
69
+ // `claude-sonnet-4-20250514`; a date is never read as a minor version.
70
+ const CLAUDE_MODEL = /claude-(opus|sonnet|haiku|fable|mythos)-(\d{1,2})(?:-(\d{1,2}))?(?!\d)/;
71
+ export function anthropicModelTraits(model) {
72
+ const match = CLAUDE_MODEL.exec(model.toLowerCase());
73
+ if (!match)
74
+ return LEGACY_TRAITS;
75
+ const family = match[1];
76
+ const version = Number(match[2]) + Number(match[3] ?? 0) / 10;
77
+ const at = (min) => version >= min;
78
+ if (family === 'fable' || family === 'mythos') {
79
+ return {
80
+ adaptiveThinking: true,
81
+ rejectsBudgetTokens: true,
82
+ rejectsTemperature: true,
83
+ rejectsForcedToolChoice: at(5.1),
84
+ thinkingOff: 'none',
85
+ };
86
+ }
87
+ if (family === 'opus' || family === 'sonnet') {
88
+ const since = family === 'opus' ? 4.7 : 5;
89
+ return {
90
+ adaptiveThinking: at(4.6),
91
+ rejectsBudgetTokens: at(since),
92
+ rejectsTemperature: at(since),
93
+ rejectsForcedToolChoice: at(5.5),
94
+ thinkingOff: !at(5.5) ? 'disabled' : family === 'sonnet' ? 'between_tools' : 'none',
95
+ };
96
+ }
97
+ return LEGACY_TRAITS;
98
+ }
99
+ const EFFORT_BY_LEVEL = {
100
+ minimal: 'low',
101
+ low: 'low',
102
+ medium: 'medium',
103
+ high: 'high',
104
+ };
105
+ function toAnthropicThinking(thinking, fallback, traits) {
62
106
  if (thinking === undefined)
63
- return fallback;
107
+ return { thinking: fallback };
108
+ const effort = thinking && thinking.level && traits.adaptiveThinking ? EFFORT_BY_LEVEL[thinking.level] : undefined;
64
109
  if (thinking === false || thinking.budgetTokens === 0) {
65
- return { type: 'disabled' };
110
+ if (traits.thinkingOff === 'none')
111
+ return { effort: effort ?? 'low' };
112
+ if (traits.thinkingOff === 'between_tools') {
113
+ // Not in the SDK's types yet; the API takes it as-is.
114
+ return { thinking: { type: 'between_tools' }, effort };
115
+ }
116
+ return { thinking: { type: 'disabled' }, effort };
66
117
  }
67
- if (thinking.budgetTokens !== undefined) {
68
- return { type: 'enabled', budget_tokens: thinking.budgetTokens };
118
+ if (thinking.budgetTokens !== undefined && !traits.rejectsBudgetTokens) {
119
+ return { thinking: { type: 'enabled', budget_tokens: thinking.budgetTokens }, effort };
69
120
  }
70
- // Anthropic has no qualitative level; ignore `level` and keep the provider default.
71
- return fallback;
121
+ if (traits.adaptiveThinking)
122
+ return { thinking: { type: 'adaptive' }, effort };
123
+ // Older models have no qualitative level; keep the provider default.
124
+ return { thinking: fallback };
125
+ }
126
+ // Newer models 400 on forced tool use, so ask for the call in the system prompt instead.
127
+ function forcedToolInstruction(choice) {
128
+ if (!choice || choice === 'auto' || choice === 'none')
129
+ return undefined;
130
+ if (choice === 'required')
131
+ return 'Respond by calling one of the provided tools.';
132
+ return `Respond by calling the \`${choice.name}\` tool.`;
72
133
  }
73
134
  export function toAnthropicRequest(request, defaults) {
135
+ const model = request.model ?? defaults.model;
136
+ const traits = anthropicModelTraits(model);
74
137
  // Unlike Google, Anthropic allows the web_search server tool alongside function tools.
75
138
  const tools = (request.tools ?? []).map((tool) => ({
76
139
  name: tool.name,
@@ -79,15 +142,24 @@ export function toAnthropicRequest(request, defaults) {
79
142
  }));
80
143
  if (request.search)
81
144
  tools.push(WEB_SEARCH_TOOL);
145
+ const system = toAnthropicSystem(request.prompt);
146
+ let toolChoice = request.tools?.length ? toAnthropicToolChoice(request.toolChoice) : undefined;
147
+ const instruction = request.tools?.length ? forcedToolInstruction(request.toolChoice) : undefined;
148
+ if (instruction && traits.rejectsForcedToolChoice) {
149
+ toolChoice = { type: 'auto' };
150
+ system.push({ type: 'text', text: instruction });
151
+ }
152
+ const { thinking, effort } = toAnthropicThinking(request.thinking, defaults.thinking, traits);
82
153
  return {
83
- model: request.model ?? defaults.model,
154
+ model,
84
155
  max_tokens: request.maxOutputTokens ?? defaults.maxOutputTokens ?? 8192,
85
- system: toAnthropicSystem(request.prompt),
156
+ system,
86
157
  messages: toAnthropicMessages(request.prompt),
87
- temperature: request.temperature,
158
+ temperature: traits.rejectsTemperature ? undefined : request.temperature,
88
159
  tools: tools.length ? tools : undefined,
89
- tool_choice: request.tools?.length ? toAnthropicToolChoice(request.toolChoice) : undefined,
90
- thinking: toAnthropicThinking(request.thinking, defaults.thinking),
160
+ tool_choice: toolChoice,
161
+ thinking,
162
+ ...(effort ? { output_config: { effort } } : {}),
91
163
  };
92
164
  }
93
165
  function normalizeArguments(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-converter.js","sourceRoot":"","sources":["../../src/providers/anthropic-converter.ts"],"names":[],"mappings":"AAYA,MAAM,eAAe,GAAoC;IACvD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,CAAC;CACZ,CAAC;AAEF,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK,CAAC,GAAG;YACf,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;YACjC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAwC,KAAQ,EAAE,KAA0B;IAC5F,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAI,EAA0B,EAAE;QACpC,MAAM,OAAO,GAAkC,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAC7B,CAAC,MAAM,EAAkC,EAAE,CAAC,CAAC;gBAC3C,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI;gBACzC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,OAAO;aACzB,CAAC,CACH,EACD,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAC3B,CAAC,IAAI,EAA+B,EAAE,CAAC,CAAC;gBACtC,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3F,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA8B;IAClE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC/C,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAQD,SAAS,mBAAmB,CAC1B,QAAoC,EACpC,QAAmD;IAEnD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;IACnE,CAAC;IACD,oFAAoF;IACpF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA0B,EAC1B,QAAkC;IAElC,uFAAuF;IACvF,MAAM,KAAK,GAA0B,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,QAAiB,EAAE;KAC9D,CAAC,CAAC,CAAC;IACJ,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEhD,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;QACtC,UAAU,EAAE,OAAO,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI;QACvE,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;QACzC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACvC,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1F,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC7D,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE;oBACR,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;IAC/D,OAAO;QACL,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;QAC9C,KAAK,EAAE;YACL,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;YACvC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa;YACzC,WAAW,EACT,OAAO,CAAC,KAAK,CAAC,YAAY;gBAC1B,OAAO,CAAC,KAAK,CAAC,aAAa;gBAC3B,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;gBAChD,WAAW;YACb,iBAAiB,EAAE,WAAW;SAC/B;QACD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,EAAE,OAAO;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"anthropic-converter.js","sourceRoot":"","sources":["../../src/providers/anthropic-converter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export { anthropic } from './providers/anthropic.js';
2
2
  export type { AnthropicProviderOptions } from './providers/anthropic.js';
3
- export { fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
4
- export type { AnthropicRequestDefaults } from './providers/anthropic-converter.js';
3
+ export { anthropicModelTraits, fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
4
+ export type { AnthropicModelTraits, AnthropicRequestDefaults } from './providers/anthropic-converter.js';
5
5
  export { gemini, vertexAI } from './providers/google.js';
6
6
  export type { GeminiProviderOptions, VertexAIProviderOptions } from './providers/google.js';
7
7
  export { fromGoogleResponse, toGoogleContents, toGoogleRequest, toGoogleSystemInstruction, } from './providers/google-converter.js';
package/dist/providers.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { anthropic } from './providers/anthropic.js';
2
- export { fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
2
+ export { anthropicModelTraits, fromAnthropicMessage, toAnthropicMessages, toAnthropicRequest, toAnthropicSystem, toAnthropicToolChoice, } from './providers/anthropic-converter.js';
3
3
  export { gemini, vertexAI } from './providers/google.js';
4
4
  export { fromGoogleResponse, toGoogleContents, toGoogleRequest, toGoogleSystemInstruction, } from './providers/google-converter.js';
5
5
  export { openai, openaiCompatible } from './providers/openai.js';
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,iCAAiC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genaicode",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "A small, provider-neutral TypeScript toolkit for calling LLMs from backend code.",
5
5
  "author": "Grzegorz Tańczyk",
6
6
  "repository": {