@cogitator-ai/core 0.23.0 → 0.24.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.
Files changed (120) hide show
  1. package/README.md +79 -0
  2. package/dist/agent-tool.d.ts +7 -1
  3. package/dist/agent-tool.d.ts.map +1 -1
  4. package/dist/agent-tool.js +4 -1
  5. package/dist/agent-tool.js.map +1 -1
  6. package/dist/agent.d.ts +6 -25
  7. package/dist/agent.d.ts.map +1 -1
  8. package/dist/agent.js +18 -3
  9. package/dist/agent.js.map +1 -1
  10. package/dist/cogitator/handoffs.d.ts +14 -0
  11. package/dist/cogitator/handoffs.d.ts.map +1 -0
  12. package/dist/cogitator/handoffs.js +53 -0
  13. package/dist/cogitator/handoffs.js.map +1 -0
  14. package/dist/cogitator/prompts.d.ts +69 -0
  15. package/dist/cogitator/prompts.d.ts.map +1 -0
  16. package/dist/cogitator/prompts.js +149 -0
  17. package/dist/cogitator/prompts.js.map +1 -0
  18. package/dist/cogitator/run-checkpoints.d.ts +20 -0
  19. package/dist/cogitator/run-checkpoints.d.ts.map +1 -0
  20. package/dist/cogitator/run-checkpoints.js +67 -0
  21. package/dist/cogitator/run-checkpoints.js.map +1 -0
  22. package/dist/cogitator/streaming.d.ts +9 -7
  23. package/dist/cogitator/streaming.d.ts.map +1 -1
  24. package/dist/cogitator/streaming.js +12 -1
  25. package/dist/cogitator/streaming.js.map +1 -1
  26. package/dist/cogitator/tool-executor.d.ts +1 -1
  27. package/dist/cogitator/tool-executor.d.ts.map +1 -1
  28. package/dist/cogitator/tool-executor.js +2 -2
  29. package/dist/cogitator/tool-executor.js.map +1 -1
  30. package/dist/constitutional/constitutional-ai.d.ts +7 -1
  31. package/dist/constitutional/constitutional-ai.d.ts.map +1 -1
  32. package/dist/constitutional/constitutional-ai.js +6 -2
  33. package/dist/constitutional/constitutional-ai.js.map +1 -1
  34. package/dist/constitutional/tool-guard.d.ts +3 -1
  35. package/dist/constitutional/tool-guard.d.ts.map +1 -1
  36. package/dist/constitutional/tool-guard.js +2 -2
  37. package/dist/constitutional/tool-guard.js.map +1 -1
  38. package/dist/index.d.ts +5 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/learning/postgres-trace-store.d.ts +5 -1
  43. package/dist/learning/postgres-trace-store.d.ts.map +1 -1
  44. package/dist/learning/postgres-trace-store.js +23 -0
  45. package/dist/learning/postgres-trace-store.js.map +1 -1
  46. package/dist/learning/prompt-stores.d.ts +26 -0
  47. package/dist/learning/prompt-stores.d.ts.map +1 -0
  48. package/dist/learning/prompt-stores.js +97 -0
  49. package/dist/learning/prompt-stores.js.map +1 -0
  50. package/dist/llm/anthropic-thinking.d.ts +29 -0
  51. package/dist/llm/anthropic-thinking.d.ts.map +1 -0
  52. package/dist/llm/anthropic-thinking.js +100 -0
  53. package/dist/llm/anthropic-thinking.js.map +1 -0
  54. package/dist/llm/anthropic.d.ts +12 -0
  55. package/dist/llm/anthropic.d.ts.map +1 -1
  56. package/dist/llm/anthropic.js +138 -85
  57. package/dist/llm/anthropic.js.map +1 -1
  58. package/dist/llm/bedrock.d.ts.map +1 -1
  59. package/dist/llm/bedrock.js +136 -39
  60. package/dist/llm/bedrock.js.map +1 -1
  61. package/dist/llm/claude-models.d.ts +23 -0
  62. package/dist/llm/claude-models.d.ts.map +1 -1
  63. package/dist/llm/claude-models.js +50 -0
  64. package/dist/llm/claude-models.js.map +1 -1
  65. package/dist/llm/google.d.ts +12 -1
  66. package/dist/llm/google.d.ts.map +1 -1
  67. package/dist/llm/google.js +84 -12
  68. package/dist/llm/google.js.map +1 -1
  69. package/dist/llm/ollama.d.ts +6 -1
  70. package/dist/llm/ollama.d.ts.map +1 -1
  71. package/dist/llm/ollama.js +26 -0
  72. package/dist/llm/ollama.js.map +1 -1
  73. package/dist/llm/openai-compatible-base.d.ts.map +1 -1
  74. package/dist/llm/openai-compatible-base.js +29 -21
  75. package/dist/llm/openai-compatible-base.js.map +1 -1
  76. package/dist/llm/openai-responses.d.ts.map +1 -1
  77. package/dist/llm/openai-responses.js +20 -3
  78. package/dist/llm/openai-responses.js.map +1 -1
  79. package/dist/logger.d.ts.map +1 -1
  80. package/dist/logger.js +3 -5
  81. package/dist/logger.js.map +1 -1
  82. package/dist/runtime.d.ts +48 -1
  83. package/dist/runtime.d.ts.map +1 -1
  84. package/dist/runtime.js +556 -172
  85. package/dist/runtime.js.map +1 -1
  86. package/dist/security/pii.d.ts +44 -0
  87. package/dist/security/pii.d.ts.map +1 -0
  88. package/dist/security/pii.js +285 -0
  89. package/dist/security/pii.js.map +1 -0
  90. package/dist/skill.d.ts.map +1 -1
  91. package/dist/skill.js +16 -10
  92. package/dist/skill.js.map +1 -1
  93. package/dist/tools/audio-generate.d.ts +1 -1
  94. package/dist/tools/audio-generate.d.ts.map +1 -1
  95. package/dist/tools/audio-generate.js +2 -1
  96. package/dist/tools/audio-generate.js.map +1 -1
  97. package/dist/tools/audio-transcribe.d.ts.map +1 -1
  98. package/dist/tools/audio-transcribe.js +2 -1
  99. package/dist/tools/audio-transcribe.js.map +1 -1
  100. package/dist/tools/email.d.ts.map +1 -1
  101. package/dist/tools/email.js +10 -9
  102. package/dist/tools/email.js.map +1 -1
  103. package/dist/tools/github.d.ts.map +1 -1
  104. package/dist/tools/github.js +2 -1
  105. package/dist/tools/github.js.map +1 -1
  106. package/dist/tools/image-generate.d.ts +2 -2
  107. package/dist/tools/image-generate.d.ts.map +1 -1
  108. package/dist/tools/image-generate.js +2 -1
  109. package/dist/tools/image-generate.js.map +1 -1
  110. package/dist/tools/vector-search.d.ts.map +1 -1
  111. package/dist/tools/vector-search.js +8 -7
  112. package/dist/tools/vector-search.js.map +1 -1
  113. package/dist/tools/web-search.d.ts.map +1 -1
  114. package/dist/tools/web-search.js +7 -6
  115. package/dist/tools/web-search.js.map +1 -1
  116. package/dist/utils/env.d.ts +9 -0
  117. package/dist/utils/env.d.ts.map +1 -0
  118. package/dist/utils/env.js +26 -0
  119. package/dist/utils/env.js.map +1 -0
  120. package/package.json +6 -6
@@ -8,6 +8,7 @@ import { BaseLLMBackend } from './base.js';
8
8
  import { createLLMError, llmUnavailable, llmConfigError } from './errors.js';
9
9
  import { createWarnOnce, forcedToolChoiceInstruction, jsonOutputInstruction, mapClaudeStopReason, resolveClaudeSampling, supportsBedrockStructuredOutput, supportsForcedToolChoice, } from './claude-models.js';
10
10
  import { toClaudeStrictJsonSchema } from './claude-json-schema.js';
11
+ import { claudeThinkingParams, thinkingBlocksOf, } from './anthropic-thinking.js';
11
12
  import { fetchImageAsBase64 } from '../utils/image-fetch.js';
12
13
  import { getLogger } from '../logger.js';
13
14
  export class BedrockBackend extends BaseLLMBackend {
@@ -90,21 +91,26 @@ export class BedrockBackend extends BaseLLMBackend {
90
91
  throw this.wrapBedrockError(e, ctx);
91
92
  }
92
93
  const id = this.generateId();
93
- const toolCalls = [];
94
- const toolCallInputs = new Map();
94
+ const state = {
95
+ toolCalls: [],
96
+ toolCallInputs: new Map(),
97
+ reasoning: new Map(),
98
+ thinking: [],
99
+ };
95
100
  if (!response.stream) {
96
101
  return;
97
102
  }
98
103
  try {
99
104
  for await (const event of response.stream) {
100
- yield* this.processStreamEvent(event, id, toolCalls, toolCallInputs);
105
+ yield* this.processStreamEvent(event, id, state);
101
106
  }
102
107
  }
103
108
  catch (e) {
104
109
  throw this.wrapBedrockError(e, ctx);
105
110
  }
106
111
  }
107
- *processStreamEvent(event, id, toolCalls, toolCallInputs) {
112
+ *processStreamEvent(event, id, state) {
113
+ const { toolCalls, toolCallInputs } = state;
108
114
  if (event.contentBlockStart?.start?.toolUse) {
109
115
  const idx = event.contentBlockStart.contentBlockIndex ?? 0;
110
116
  toolCallInputs.set(idx, {
@@ -128,16 +134,41 @@ export class BedrockBackend extends BaseLLMBackend {
128
134
  existing.input += delta.toolUse.input;
129
135
  }
130
136
  }
137
+ if (delta?.reasoningContent) {
138
+ const block = state.reasoning.get(idx) ?? {};
139
+ const { text, signature, redactedContent } = delta.reasoningContent;
140
+ if (text) {
141
+ block.reasoningText = {
142
+ text: (block.reasoningText?.text ?? '') + text,
143
+ signature: block.reasoningText?.signature,
144
+ };
145
+ yield { id, delta: { reasoning: text } };
146
+ }
147
+ if (signature) {
148
+ block.reasoningText = { text: block.reasoningText?.text ?? '', signature };
149
+ }
150
+ if (redactedContent)
151
+ block.redactedContent = redactedContent;
152
+ state.reasoning.set(idx, block);
153
+ }
131
154
  }
132
155
  if (event.contentBlockStop) {
133
156
  const idx = event.contentBlockStop.contentBlockIndex ?? 0;
134
157
  const toolCall = toolCallInputs.get(idx);
135
- if (toolCall) {
158
+ const reasoning = state.reasoning.get(idx);
159
+ if (reasoning) {
160
+ const item = toThinkingItem(reasoning);
161
+ if (item)
162
+ state.thinking.push(item);
163
+ }
164
+ else if (toolCall) {
136
165
  toolCalls.push({
137
166
  id: toolCall.id,
138
167
  name: toolCall.name,
139
168
  arguments: this.tryParseJson(toolCall.input),
169
+ ...(state.thinking.length > 0 && { replay: { precedingItems: state.thinking } }),
140
170
  });
171
+ state.thinking = [];
141
172
  }
142
173
  }
143
174
  if (event.messageStop) {
@@ -151,21 +182,14 @@ export class BedrockBackend extends BaseLLMBackend {
151
182
  };
152
183
  }
153
184
  if (event.metadata?.usage) {
154
- yield {
155
- id,
156
- delta: {},
157
- usage: {
158
- inputTokens: event.metadata.usage.inputTokens ?? 0,
159
- outputTokens: event.metadata.usage.outputTokens ?? 0,
160
- totalTokens: event.metadata.usage.totalTokens ?? 0,
161
- },
162
- };
185
+ yield { id, delta: {}, usage: toChatUsage(event.metadata.usage) };
163
186
  }
164
187
  }
165
188
  async convertMessages(messages, signal) {
166
189
  const systemParts = [];
167
190
  const bedrockMessages = [];
168
- for (const msg of messages) {
191
+ const lastUser = messages.map((m) => m.role).lastIndexOf('user');
192
+ for (const [index, msg] of messages.entries()) {
169
193
  switch (msg.role) {
170
194
  case 'system': {
171
195
  const text = this.getTextContent(msg.content);
@@ -180,20 +204,26 @@ export class BedrockBackend extends BaseLLMBackend {
180
204
  });
181
205
  break;
182
206
  case 'assistant': {
183
- const blocks = await this.convertContentToBlocks(msg.content, signal);
184
- const toolCalls = msg.toolCalls;
185
- if (toolCalls && toolCalls.length > 0) {
186
- blocks.push(...toolCalls.map((tc) => ({
187
- toolUse: {
188
- toolUseId: tc.id,
189
- name: tc.name,
190
- input: tc.arguments,
191
- },
192
- })));
193
- }
207
+ const text = await this.convertContentToBlocks(msg.content, signal);
208
+ const toolCalls = msg.toolCalls ?? [];
209
+ const withThinking = index > lastUser;
210
+ const calls = toolCalls.map((tc) => ({
211
+ thinking: withThinking ? thinkingBlocksOf(tc).map(toReasoningContent) : [],
212
+ toolUse: {
213
+ toolUse: { toolUseId: tc.id, name: tc.name, input: tc.arguments },
214
+ },
215
+ }));
216
+ const [first, ...rest] = calls;
194
217
  bedrockMessages.push({
195
218
  role: 'assistant',
196
- content: blocks,
219
+ content: first
220
+ ? [
221
+ ...first.thinking,
222
+ ...text,
223
+ first.toolUse,
224
+ ...rest.flatMap((call) => [...call.thinking, call.toolUse]),
225
+ ]
226
+ : text,
197
227
  });
198
228
  break;
199
229
  }
@@ -265,14 +295,19 @@ export class BedrockBackend extends BaseLLMBackend {
265
295
  .map((part) => part.text)
266
296
  .join(' ');
267
297
  }
268
- buildInferenceConfig(request) {
298
+ buildInferenceConfig(request, thinking) {
269
299
  const inferenceConfig = {};
270
- if (request.maxTokens !== undefined)
300
+ const budgetThinking = thinking.thinking?.type === 'enabled';
301
+ if (budgetThinking)
302
+ inferenceConfig.maxTokens = thinking.maxTokens;
303
+ else if (request.maxTokens !== undefined)
271
304
  inferenceConfig.maxTokens = request.maxTokens;
272
- const { temperature, topP } = resolveClaudeSampling(request.model, {
273
- temperature: request.temperature,
274
- topP: request.topP,
275
- });
305
+ const { temperature, topP } = budgetThinking
306
+ ? {}
307
+ : resolveClaudeSampling(request.model, {
308
+ temperature: request.temperature,
309
+ topP: request.topP,
310
+ });
276
311
  if (temperature !== undefined)
277
312
  inferenceConfig.temperature = temperature;
278
313
  if (topP !== undefined)
@@ -369,27 +404,53 @@ export class BedrockBackend extends BaseLLMBackend {
369
404
  if (systemText) {
370
405
  input.system = [{ text: systemText }];
371
406
  }
372
- const inferenceConfig = this.buildInferenceConfig(request);
407
+ const forcedTool = toolChoice?.any !== undefined || toolChoice?.tool !== undefined;
408
+ const reasoning = claudeThinkingParams(request.model, request.reasoning, request.maxTokens ?? 4096);
409
+ const thinking = reasoning.budgetThinking && forcedTool ? { ...reasoning, thinking: undefined } : reasoning;
410
+ const additional = {
411
+ ...(thinking.thinking && { thinking: thinking.thinking }),
412
+ ...(thinking.effort && { output_config: { effort: thinking.effort } }),
413
+ };
414
+ if (Object.keys(additional).length > 0) {
415
+ input.additionalModelRequestFields = additional;
416
+ }
417
+ const inferenceConfig = this.buildInferenceConfig(request, thinking);
373
418
  if (inferenceConfig) {
374
419
  input.inferenceConfig = inferenceConfig;
375
420
  }
421
+ if (request.cache) {
422
+ input.system = [...(input.system ?? []), { cachePoint: { type: 'default' } }];
423
+ const last = input.messages.at(-1);
424
+ if (last)
425
+ last.content = [...last.content, { cachePoint: { type: 'default' } }];
426
+ }
376
427
  return input;
377
428
  }
378
429
  parseResponse(response) {
379
430
  const message = response.output?.message;
380
431
  let content = '';
432
+ let reasoning = '';
433
+ let thinking = [];
381
434
  const toolCalls = [];
382
435
  if (message?.content) {
383
436
  for (const block of message.content) {
384
437
  if ('text' in block && block.text) {
385
438
  content += block.text;
386
439
  }
440
+ else if (block.reasoningContent) {
441
+ reasoning += block.reasoningContent.reasoningText?.text ?? '';
442
+ const item = toThinkingItem(block.reasoningContent);
443
+ if (item)
444
+ thinking.push(item);
445
+ }
387
446
  else if ('toolUse' in block && block.toolUse) {
388
447
  toolCalls.push({
389
448
  id: block.toolUse.toolUseId ?? '',
390
449
  name: block.toolUse.name ?? '',
391
450
  arguments: block.toolUse.input ?? {},
451
+ ...(thinking.length > 0 && { replay: { precedingItems: thinking } }),
392
452
  });
453
+ thinking = [];
393
454
  }
394
455
  }
395
456
  }
@@ -398,11 +459,8 @@ export class BedrockBackend extends BaseLLMBackend {
398
459
  content,
399
460
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
400
461
  finishReason: mapClaudeStopReason(response.stopReason),
401
- usage: {
402
- inputTokens: response.usage?.inputTokens ?? 0,
403
- outputTokens: response.usage?.outputTokens ?? 0,
404
- totalTokens: response.usage?.totalTokens ?? 0,
405
- },
462
+ usage: toChatUsage(response.usage ?? {}),
463
+ ...(reasoning && { reasoning }),
406
464
  };
407
465
  }
408
466
  tryParseJson(str) {
@@ -445,4 +503,43 @@ export class BedrockBackend extends BaseLLMBackend {
445
503
  throw llmUnavailable(ctx, String(error));
446
504
  }
447
505
  }
506
+ /**
507
+ * Bedrock reports uncached input apart from cache reads and writes, like the
508
+ * Anthropic API; the total input is their sum.
509
+ */
510
+ function toChatUsage(usage) {
511
+ const cacheRead = usage.cacheReadInputTokens ?? 0;
512
+ const cacheWrite = usage.cacheWriteInputTokens ?? 0;
513
+ const inputTokens = (usage.inputTokens ?? 0) + cacheRead + cacheWrite;
514
+ const outputTokens = usage.outputTokens ?? 0;
515
+ return {
516
+ inputTokens,
517
+ outputTokens,
518
+ totalTokens: inputTokens + outputTokens,
519
+ ...(cacheRead > 0 && { cachedInputTokens: cacheRead }),
520
+ ...(cacheWrite > 0 && { cacheWriteTokens: cacheWrite }),
521
+ };
522
+ }
523
+ /** A Bedrock reasoning block in the format Claude thinking blocks are kept in. */
524
+ function toThinkingItem(block) {
525
+ if (block.redactedContent) {
526
+ return {
527
+ type: 'redacted_thinking',
528
+ data: Buffer.from(block.redactedContent).toString('base64'),
529
+ };
530
+ }
531
+ if (block.reasoningText?.signature) {
532
+ return {
533
+ type: 'thinking',
534
+ thinking: block.reasoningText.text,
535
+ signature: block.reasoningText.signature,
536
+ };
537
+ }
538
+ return undefined;
539
+ }
540
+ function toReasoningContent(block) {
541
+ return block.type === 'thinking'
542
+ ? { reasoningContent: { reasoningText: { text: block.thinking, signature: block.signature } } }
543
+ : { reasoningContent: { redactedContent: Buffer.from(block.data, 'base64') } };
544
+ }
448
545
  //# sourceMappingURL=bedrock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../src/llm/bedrock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../src/llm/bedrock.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,29 @@ export declare function supportsNativeStructuredOutput(modelId: string): boolean
48
48
  * integration); Claude 4.7+, Fable and Mythos reject it there.
49
49
  */
50
50
  export declare function supportsBedrockStructuredOutput(modelId: string): boolean;
51
+ /**
52
+ * How a Claude model takes extended thinking:
53
+ * - `adaptive`: `thinking: { type: 'adaptive' }` plus `output_config.effort` (Claude 4.6+, 5.x, Fable, Mythos)
54
+ * - `budget`: `thinking: { type: 'enabled', budget_tokens }` (Claude 3.7 Sonnet, 4.0 – 4.5)
55
+ * - `none`: no extended thinking
56
+ */
57
+ export type ClaudeThinkingMode = 'adaptive' | 'budget' | 'none';
58
+ export declare function getClaudeThinkingMode(modelId: string): ClaudeThinkingMode;
59
+ export type ClaudeEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
60
+ /**
61
+ * Effort levels `output_config.effort` accepts: all five from Claude 4.7 on
62
+ * (and on 5.x, Fable, Mythos), no `xhigh` on 4.6, `low`–`high` on Opus 4.5,
63
+ * none on other models.
64
+ */
65
+ export declare function getClaudeEffortLevels(modelId: string): readonly ClaudeEffort[];
66
+ /**
67
+ * How a Claude model with adaptive thinking turns thinking off:
68
+ * - `disabled`: `thinking: { type: 'disabled' }` (4.6 – 4.8, Sonnet 5, Opus 5 at effort `high` or below)
69
+ * - `between_tools`: `thinking: { type: 'between_tools' }` (Sonnet 5.5 and later)
70
+ * - `never`: it cannot; the lowest effort is the closest (Opus 5.5+, Fable, Mythos)
71
+ */
72
+ export type ClaudeThinkingOff = 'disabled' | 'between_tools' | 'never';
73
+ export declare function getClaudeThinkingOff(modelId: string): ClaudeThinkingOff;
51
74
  export type WarnOnce = (key: string, message: string, context?: Record<string, unknown>) => void;
52
75
  /**
53
76
  * Create a logger that emits each distinct warning key only once.
@@ -1 +1 @@
1
- {"version":3,"file":"claude-models.d.ts","sourceRoot":"","sources":["../../src/llm/claude-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAqB7E;AAUD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAQ7E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEjG;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAOzC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,cAAc,CAe7F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,YAAY,CAAC,cAAc,CAAC,CAoB9B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAS9E"}
1
+ {"version":3,"file":"claude-models.d.ts","sourceRoot":"","sources":["../../src/llm/claude-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,WAAW,GAAG,aAAa,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAqB7E;AAUD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAQ7E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAKhE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAQzE;AAED,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAY9E;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,eAAe,GAAG,OAAO,CAAC;AAEvE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAQvE;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEjG;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAOzC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,cAAc,CAe7F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,YAAY,CAAC,cAAc,CAAC,CAoB9B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAIrE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAS9E"}
@@ -95,6 +95,56 @@ export function supportsBedrockStructuredOutput(modelId) {
95
95
  return (isAtLeast(version, STRUCTURED_OUTPUT_FROM) &&
96
96
  !isAtLeast(version, BEDROCK_STRUCTURED_OUTPUT_UNTIL));
97
97
  }
98
+ const ADAPTIVE_THINKING_FROM = { major: 4, minor: 6 };
99
+ const BUDGET_THINKING_FROM = { major: 3, minor: 7 };
100
+ export function getClaudeThinkingMode(modelId) {
101
+ const version = parseClaudeModelId(modelId);
102
+ if (!version)
103
+ return 'none';
104
+ if (ALWAYS_CURRENT_FAMILIES.has(version.family))
105
+ return 'adaptive';
106
+ if (version.major === null)
107
+ return 'none';
108
+ if (isAtLeast(version, ADAPTIVE_THINKING_FROM) && version.family !== 'haiku')
109
+ return 'adaptive';
110
+ if (isAtLeast(version, BUDGET_THINKING_FROM))
111
+ return 'budget';
112
+ return 'none';
113
+ }
114
+ /**
115
+ * Effort levels `output_config.effort` accepts: all five from Claude 4.7 on
116
+ * (and on 5.x, Fable, Mythos), no `xhigh` on 4.6, `low`–`high` on Opus 4.5,
117
+ * none on other models.
118
+ */
119
+ export function getClaudeEffortLevels(modelId) {
120
+ const version = parseClaudeModelId(modelId);
121
+ if (!version)
122
+ return [];
123
+ const all = ['low', 'medium', 'high', 'xhigh', 'max'];
124
+ if (ALWAYS_CURRENT_FAMILIES.has(version.family))
125
+ return all;
126
+ if (version.major === null || version.family === 'haiku')
127
+ return [];
128
+ if (isAtLeast(version, { major: 4, minor: 7 }))
129
+ return all;
130
+ if (isAtLeast(version, { major: 4, minor: 6 }))
131
+ return ['low', 'medium', 'high', 'max'];
132
+ if (version.family === 'opus' && isAtLeast(version, { major: 4, minor: 5 })) {
133
+ return ['low', 'medium', 'high'];
134
+ }
135
+ return [];
136
+ }
137
+ export function getClaudeThinkingOff(modelId) {
138
+ const version = parseClaudeModelId(modelId);
139
+ if (!version || ALWAYS_CURRENT_FAMILIES.has(version.family))
140
+ return 'never';
141
+ if (version.family === 'opus' && isAtLeast(version, { major: 5, minor: 5 }))
142
+ return 'never';
143
+ if (version.family === 'sonnet' && isAtLeast(version, { major: 5, minor: 5 })) {
144
+ return 'between_tools';
145
+ }
146
+ return 'disabled';
147
+ }
98
148
  /**
99
149
  * Create a logger that emits each distinct warning key only once.
100
150
  */
@@ -1 +1 @@
1
- {"version":3,"file":"claude-models.js","sourceRoot":"","sources":["../../src/llm/claude-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-models.js","sourceRoot":"","sources":["../../src/llm/claude-models.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,17 @@
7
7
  * - Streaming responses
8
8
  * - Token counting
9
9
  */
10
- import type { ChatRequest, ChatResponse, ChatStreamChunk } from '@cogitator-ai/types';
10
+ import type { ChatRequest, ChatResponse, ChatStreamChunk, ReasoningConfig } from '@cogitator-ai/types';
11
11
  import { BaseLLMBackend } from './base.js';
12
12
  interface GoogleConfig {
13
13
  apiKey: string;
14
14
  baseUrl?: string;
15
15
  }
16
+ interface GeminiThinkingConfig {
17
+ thinkingLevel?: 'minimal' | 'low' | 'medium' | 'high';
18
+ thinkingBudget?: number;
19
+ includeThoughts?: boolean;
20
+ }
16
21
  export declare class GoogleBackend extends BaseLLMBackend {
17
22
  readonly provider: "google";
18
23
  private apiKey;
@@ -36,5 +41,11 @@ export declare class GoogleBackend extends BaseLLMBackend {
36
41
  private convertResponseFormat;
37
42
  private convertToolChoice;
38
43
  }
44
+ /**
45
+ * `thinkingConfig` for a reasoning config: Gemini 3+ takes a thinking level,
46
+ * Gemini 2.5 a token budget (Pro cannot think less than 128 tokens). Older
47
+ * models do not think.
48
+ */
49
+ export declare function geminiThinkingConfig(model: string, reasoning: ReasoningConfig | undefined): GeminiThinkingConfig | undefined;
39
50
  export {};
40
51
  //# sourceMappingURL=google.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/llm/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EAQhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAUxC,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4FD,qBAAa,aAAc,SAAQ,cAAc;IAC/C,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,YAAY;IAM1B,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAoChD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC;IAkIxE,OAAO,CAAC,YAAY;IA0EpB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,eAAe;IAyEvB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAexC;IAEH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,aAAa;IAoCrB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,iBAAiB;CAqB1B"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/llm/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EAEf,eAAe,EAShB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAUxC,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgFD,UAAU,oBAAoB;IAC5B,aAAa,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAmBD,qBAAa,aAAc,SAAQ,cAAc;IAC/C,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,YAAY;IAM1B,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAoChD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC;IAiIxE,OAAO,CAAC,YAAY;IA8EpB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,eAAe;IAyEvB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAexC;IAEH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,iBAAiB;CAqB1B;AAyED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,eAAe,GAAG,SAAS,GACrC,oBAAoB,GAAG,SAAS,CA0BlC"}