hoomanjs 1.36.0 → 1.37.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 (63) hide show
  1. package/README.md +17 -13
  2. package/dist/chat/app.js +117 -1
  3. package/dist/chat/app.js.map +1 -1
  4. package/dist/chat/components/BottomChrome.d.ts +2 -1
  5. package/dist/chat/components/BottomChrome.js +2 -2
  6. package/dist/chat/components/BottomChrome.js.map +1 -1
  7. package/dist/chat/components/ReasoningStrip.js +3 -1
  8. package/dist/chat/components/ReasoningStrip.js.map +1 -1
  9. package/dist/chat/components/StatusBar.d.ts +2 -1
  10. package/dist/chat/components/StatusBar.js +18 -3
  11. package/dist/chat/components/StatusBar.js.map +1 -1
  12. package/dist/chat/components/ThoughtEvent.d.ts +3 -1
  13. package/dist/chat/components/ThoughtEvent.js +6 -2
  14. package/dist/chat/components/ThoughtEvent.js.map +1 -1
  15. package/dist/chat/components/Transcript.d.ts +5 -2
  16. package/dist/chat/components/Transcript.js +4 -4
  17. package/dist/chat/components/Transcript.js.map +1 -1
  18. package/dist/cli.js +23 -0
  19. package/dist/cli.js.map +1 -1
  20. package/dist/configure/app.js +287 -68
  21. package/dist/configure/app.js.map +1 -1
  22. package/dist/configure/components/MenuScreen.js +29 -5
  23. package/dist/configure/components/MenuScreen.js.map +1 -1
  24. package/dist/configure/types.d.ts +8 -2
  25. package/dist/core/config.d.ts +352 -22
  26. package/dist/core/config.js +40 -0
  27. package/dist/core/config.js.map +1 -1
  28. package/dist/core/models/anthropic.d.ts +7 -1
  29. package/dist/core/models/anthropic.js +36 -7
  30. package/dist/core/models/anthropic.js.map +1 -1
  31. package/dist/core/models/azure.js +13 -0
  32. package/dist/core/models/azure.js.map +1 -1
  33. package/dist/core/models/bedrock.js +33 -0
  34. package/dist/core/models/bedrock.js.map +1 -1
  35. package/dist/core/models/google.js +5 -0
  36. package/dist/core/models/google.js.map +1 -1
  37. package/dist/core/models/groq.js +14 -0
  38. package/dist/core/models/groq.js.map +1 -1
  39. package/dist/core/models/minimax.js +2 -2
  40. package/dist/core/models/minimax.js.map +1 -1
  41. package/dist/core/models/moonshot.js +5 -0
  42. package/dist/core/models/moonshot.js.map +1 -1
  43. package/dist/core/models/ollama/index.js +5 -3
  44. package/dist/core/models/ollama/index.js.map +1 -1
  45. package/dist/core/models/openai.js +21 -1
  46. package/dist/core/models/openai.js.map +1 -1
  47. package/dist/core/models/openrouter.d.ts +2 -2
  48. package/dist/core/models/openrouter.js +28 -10
  49. package/dist/core/models/openrouter.js.map +1 -1
  50. package/dist/core/models/types.d.ts +759 -51
  51. package/dist/core/models/types.js +43 -7
  52. package/dist/core/models/types.js.map +1 -1
  53. package/dist/core/models/xai.js +12 -0
  54. package/dist/core/models/xai.js.map +1 -1
  55. package/dist/core/session-config.d.ts +10 -1
  56. package/dist/core/session-config.js +16 -0
  57. package/dist/core/session-config.js.map +1 -1
  58. package/dist/core/skills/built-in/hooman-config/SKILL.md +20 -12
  59. package/dist/core/state/todos.d.ts +4 -4
  60. package/dist/core/tools/todo.d.ts +1 -1
  61. package/dist/core/tools/web-search.js +56 -1
  62. package/dist/core/tools/web-search.js.map +1 -1
  63. package/package.json +2 -1
@@ -6,6 +6,7 @@ const SearchProviderSchema = z.enum([
6
6
  "brave",
7
7
  "exa",
8
8
  "firecrawl",
9
+ "litellm",
9
10
  "serper",
10
11
  "tavily",
11
12
  ]);
@@ -13,6 +14,7 @@ const CompactionPartialSchema = z.object({
13
14
  ratio: z.number().min(0).max(1).optional(),
14
15
  keep: z.number().int().nonnegative().optional(),
15
16
  });
17
+ const ReasoningDisplaySchema = z.enum(["collapsed", "full"]);
16
18
  const ToolTogglePartialSchema = z.object({
17
19
  enabled: z.boolean().optional(),
18
20
  });
@@ -31,6 +33,13 @@ const SearchPartialSchema = z.object({
31
33
  brave: z.object({ apiKey: z.string().min(1).optional() }).optional(),
32
34
  exa: z.object({ apiKey: z.string().min(1).optional() }).optional(),
33
35
  firecrawl: z.object({ apiKey: z.string().min(1).optional() }).optional(),
36
+ litellm: z
37
+ .object({
38
+ baseURL: z.string().min(1).optional(),
39
+ apiKey: z.string().min(1).optional(),
40
+ tool: z.string().min(1).optional(),
41
+ })
42
+ .optional(),
34
43
  serper: z.object({ apiKey: z.string().min(1).optional() }).optional(),
35
44
  tavily: z.object({ apiKey: z.string().min(1).optional() }).optional(),
36
45
  });
@@ -43,6 +52,7 @@ const ToolsPartialSchema = z.object({
43
52
  subagents: SubagentsPartialSchema.optional(),
44
53
  });
45
54
  const DEFAULT_COMPACTION = { ratio: 0.75, keep: 5 };
55
+ const DEFAULT_REASONING = "collapsed";
46
56
  const DEFAULT_PROMPTS = {
47
57
  behaviour: true,
48
58
  communication: true,
@@ -58,6 +68,7 @@ const ConfigSchema = z
58
68
  prompts: PromptsPartialSchema.nullish(),
59
69
  tools: ToolsPartialSchema.nullish(),
60
70
  compaction: CompactionPartialSchema.nullish(),
71
+ reasoning: ReasoningDisplaySchema.nullish(),
61
72
  })
62
73
  .superRefine((input, ctx) => {
63
74
  const seenProviders = new Set();
@@ -92,6 +103,11 @@ const ConfigSchema = z
92
103
  brave: { apiKey: input.search?.brave?.apiKey },
93
104
  exa: { apiKey: input.search?.exa?.apiKey },
94
105
  firecrawl: { apiKey: input.search?.firecrawl?.apiKey },
106
+ litellm: {
107
+ baseURL: input.search?.litellm?.baseURL,
108
+ apiKey: input.search?.litellm?.apiKey,
109
+ tool: input.search?.litellm?.tool,
110
+ },
95
111
  serper: { apiKey: input.search?.serper?.apiKey },
96
112
  tavily: { apiKey: input.search?.tavily?.apiKey },
97
113
  },
@@ -115,6 +131,7 @@ const ConfigSchema = z
115
131
  ratio: input.compaction?.ratio ?? DEFAULT_COMPACTION.ratio,
116
132
  keep: input.compaction?.keep ?? DEFAULT_COMPACTION.keep,
117
133
  },
134
+ reasoning: input.reasoning ?? DEFAULT_REASONING,
118
135
  }));
119
136
  const ConfigOverlaySchema = z
120
137
  .object({
@@ -125,6 +142,7 @@ const ConfigOverlaySchema = z
125
142
  prompts: PromptsPartialSchema.optional(),
126
143
  tools: ToolsPartialSchema.optional(),
127
144
  compaction: CompactionPartialSchema.optional(),
145
+ reasoning: ReasoningDisplaySchema.optional(),
128
146
  })
129
147
  .strict();
130
148
  const defaultConfigData = () => ({
@@ -152,6 +170,7 @@ const defaultConfigData = () => ({
152
170
  brave: { apiKey: undefined },
153
171
  exa: { apiKey: undefined },
154
172
  firecrawl: { apiKey: undefined },
173
+ litellm: { baseURL: undefined, apiKey: undefined, tool: undefined },
155
174
  serper: { apiKey: undefined },
156
175
  tavily: { apiKey: undefined },
157
176
  },
@@ -168,6 +187,7 @@ const defaultConfigData = () => ({
168
187
  ratio: 0.75,
169
188
  keep: 5,
170
189
  },
190
+ reasoning: DEFAULT_REASONING,
171
191
  });
172
192
  function clone(value) {
173
193
  return structuredClone(value);
@@ -287,6 +307,9 @@ export class Config {
287
307
  get compaction() {
288
308
  return clone(this.data.compaction);
289
309
  }
310
+ get reasoning() {
311
+ return this.data.reasoning;
312
+ }
290
313
  readJson(path, fallback) {
291
314
  if (!existsSync(path)) {
292
315
  return fallback;
@@ -352,5 +375,22 @@ export class Config {
352
375
  throw new Error(result.error);
353
376
  }
354
377
  }
378
+ /**
379
+ * Durably write a change to the shared on-disk config file.
380
+ *
381
+ * `build` receives the config whose data the change should be derived from
382
+ * and returns the partial to persist (or `null` to skip). For a plain
383
+ * `Config` this applies against itself and persists normally. `SessionConfig`
384
+ * overrides this to write through to the shared base file (freshly loaded,
385
+ * without project overlays) so ephemeral session overrides — and any
386
+ * overlay-provided values — never leak into it.
387
+ */
388
+ persistToDisk(build) {
389
+ const partial = build(this);
390
+ if (!partial) {
391
+ return { ok: true };
392
+ }
393
+ return this.tryUpdate(partial);
394
+ }
355
395
  }
356
396
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,WAAW,EAKX,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,OAAO;IACP,KAAK;IACL,WAAW;IACX,SAAS;IACT,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxE,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACnC,CAAC;SACD,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtE,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACxC,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC9C,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACzC,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAW,CAAC;AAC7D,MAAM,iBAAiB,GAAG,WAAoB,CAAC;AAC/C,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;CACR,CAAC;AAEX,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE;IACrC,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE;IACnC,UAAU,EAAE,uBAAuB,CAAC,OAAO,EAAE;IAC7C,SAAS,EAAE,sBAAsB,CAAC,OAAO,EAAE;CAC5C,CAAC;KACD,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,6BAA6B,QAAQ,CAAC,IAAI,IAAI;gBACvD,IAAI,EAAE,CAAC,WAAW,CAAC;aACpB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,QAAQ,GAAG,CAAC,IAAI,kCAAkC,GAAG,CAAC,QAAQ,IAAI;gBAC3E,IAAI,EAAE,CAAC,MAAM,CAAC;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC;KACD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE;QACN,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK;QACvC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,OAAO;QAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC9C,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;QAC1C,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;QACtD,OAAO,EAAE;YACP,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO;YACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM;YACrC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI;SAClC;QACD,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAChD,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;KACjD;IACD,OAAO,EAAE;QACP,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,IAAI,eAAe,CAAC,SAAS;QAChE,aAAa,EACX,KAAK,CAAC,OAAO,EAAE,aAAa,IAAI,eAAe,CAAC,aAAa;QAC/D,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,IAAI,eAAe,CAAC,SAAS;QAChE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,eAAe,CAAC,UAAU;KACpE;IACD,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE;QACrD,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE;QACvD,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,IAAI,IAAI,EAAE;QACjE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE;QACvD,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE;QACvD,SAAS,EAAE;YACT,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,IAAI,IAAI;SACjD;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,kBAAkB,CAAC,KAAK;QAC1D,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,kBAAkB,CAAC,IAAI;KACxD;IACD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,iBAAiB;CAChD,CAAC,CAAC,CAAC;AAEN,MAAM,mBAAmB,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;IACxD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IAC9C,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AA2BZ,MAAM,iBAAiB,GAAG,GAAe,EAAE,CAAC,CAAC;IAC3C,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE;QACT;YACE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,WAAW,CAAC,MAAM;YAC5B,OAAO,EAAE,EAAE;SACZ;KACF;IACD,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,YAAY;aACpB;YACD,OAAO,EAAE,IAAI;SACd;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;QAC5B,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;QAC1B,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;QAChC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACnE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;QAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;KAC9B;IACD,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE;IAC/B,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACvB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACxB,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACxB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACxB,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC7B;IACD,UAAU,EAAE;QACV,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,CAAC;KACR;IACD,SAAS,EAAE,iBAAiB;CAC7B,CAAC,CAAC;AAEH,SAAS,KAAK,CAAI,KAAQ;IACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAkB,EAClB,OAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAY,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAI,IAAO,EAAE,OAAgB;IAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,OAAY,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB,EAAE,OAAsB;IAC5D,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO;QACL,GAAG,UAAU;QACb,SAAS,EAAE,SAAS;YAClB,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC;YACpD,CAAC,CAAC,UAAU,CAAC,SAAS;QACxB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAc;IACnD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;IAC1E,OAAO,IAAI,KAAK,CAAC,+BAA+B,IAAI,MAAM,OAAO,EAAE,EAAE;QACnE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiB;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,IAAI;QACT,CAAC,CAAC,mBAAmB,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE;QAC7C,CAAC,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC;AAGvB,MAAM,OAAO,MAAM;IACT,IAAI,CAAc;IACP,IAAI,CAAS;IACf,YAAY,CAAW;IAExC,YAAmB,IAAY,EAAE,OAAuB;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAEO,eAAe,CAAC,KAAqB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAC/C,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,QAAQ,KAAK,CAAC,IAAI,kCAAkC,KAAK,CAAC,QAAQ,IAAI,CACvE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,GAAG;QACL,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,QAAiB;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,IAAI,CAAC;YACH,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEM,MAAM;QACX,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAoB,CAAC;QACzB,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,KAAK,CAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,8CAA8C,OAAO,MACnD,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,8BACN,EAAE,EACF;gBACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAClD,CACF,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAEM,SAAS,CAAC,OAA4B;QAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,OAA4B;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACI,aAAa,CAClB,KAAqD;QAErD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -1,4 +1,10 @@
1
1
  import { AnthropicModel } from "@strands-agents/sdk/models/anthropic";
2
2
  import type { AnthropicProviderOptions, LlmOptions } from "./types.js";
3
3
  export type AnthropicModelParams = AnthropicProviderOptions & LlmOptions;
4
- export declare function create(providerOptions: AnthropicProviderOptions, llmOptions: LlmOptions): AnthropicModel;
4
+ /**
5
+ * Anthropic-compatible thinking `type`. Real Claude uses `enabled`; MiniMax's
6
+ * Anthropic-compatible API uses `adaptive`. In the `enabled` path we always send
7
+ * an explicit `budget_tokens` derived from the effort (defaulting to `medium`).
8
+ */
9
+ export type ThinkingType = "enabled" | "adaptive";
10
+ export declare function create(providerOptions: AnthropicProviderOptions, llmOptions: LlmOptions, thinkingType?: ThinkingType): AnthropicModel;
@@ -1,5 +1,13 @@
1
1
  import { AnthropicModel } from "@strands-agents/sdk/models/anthropic";
2
- export function create(providerOptions, llmOptions) {
2
+ import { REASONING_BUDGET_TOKENS } from "./types.js";
3
+ // `output_config.effort` (adaptive path) only accepts low/medium/high.
4
+ const OUTPUT_CONFIG_EFFORT = {
5
+ minimal: "low",
6
+ low: "low",
7
+ medium: "medium",
8
+ high: "high",
9
+ };
10
+ export function create(providerOptions, llmOptions, thinkingType = "enabled") {
3
11
  const clientConfig = providerOptions.baseURL || providerOptions.headers
4
12
  ? {
5
13
  ...(providerOptions.baseURL
@@ -10,18 +18,39 @@ export function create(providerOptions, llmOptions) {
10
18
  : {}),
11
19
  }
12
20
  : undefined;
13
- const params = providerOptions.thinking !== undefined
14
- ? { thinking: { type: providerOptions.thinking } }
15
- : undefined;
21
+ // Enable thinking whenever `reasoning` is configured; effort defaults to
22
+ // `medium`. Setting `display` switches to the `adaptive` scheme (required by
23
+ // newer Bedrock Claude, e.g. Opus 4.7+, which omit reasoning by default) and
24
+ // uses `output_config.effort` instead of a fixed `budget_tokens`.
25
+ const reasoning = providerOptions.reasoning;
26
+ const effort = reasoning ? (reasoning.effort ?? "medium") : undefined;
27
+ const params = (() => {
28
+ if (effort === undefined) {
29
+ return undefined;
30
+ }
31
+ if (reasoning?.display !== undefined) {
32
+ return {
33
+ thinking: { type: "adaptive", display: reasoning.display },
34
+ output_config: { effort: OUTPUT_CONFIG_EFFORT[effort] },
35
+ };
36
+ }
37
+ return {
38
+ thinking: {
39
+ type: thinkingType,
40
+ budget_tokens: REASONING_BUDGET_TOKENS[effort],
41
+ },
42
+ };
43
+ })();
44
+ // Anthropic requires `temperature` to be unset (or exactly 1) when thinking is
45
+ // enabled, so we drop any custom temperature on the thinking path.
46
+ const sendTemperature = llmOptions.temperature !== undefined && params === undefined;
16
47
  return new AnthropicModel({
17
48
  modelId: llmOptions.model,
18
49
  ...(providerOptions.apiKey ? { apiKey: providerOptions.apiKey } : {}),
19
50
  ...(clientConfig && Object.keys(clientConfig).length > 0
20
51
  ? { clientConfig }
21
52
  : {}),
22
- ...(llmOptions.temperature !== undefined
23
- ? { temperature: llmOptions.temperature }
24
- : {}),
53
+ ...(sendTemperature ? { temperature: llmOptions.temperature } : {}),
25
54
  ...(llmOptions.maxTokens !== undefined
26
55
  ? { maxTokens: llmOptions.maxTokens }
27
56
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtE,MAAM,UAAU,MAAM,CACpB,eAAyC,EACzC,UAAsB;IAEtB,MAAM,YAAY,GAChB,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO;QAChD,CAAC,CAAC;YACE,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,MAAM,GACV,eAAe,CAAC,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE;QAClD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,IAAI,cAAc,CAAC;QACxB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,EAAE,YAAY,EAAE;YAClB,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAMtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAWrD,uEAAuE;AACvE,MAAM,oBAAoB,GACxB;IACE,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEJ,MAAM,UAAU,MAAM,CACpB,eAAyC,EACzC,UAAsB,EACtB,eAA6B,SAAS;IAEtC,MAAM,YAAY,GAChB,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO;QAChD,CAAC,CAAC;YACE,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,MAAM,GAAG,CAAC,GAAwC,EAAE;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACL,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;gBAC1D,aAAa,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,YAAY;gBAClB,aAAa,EAAE,uBAAuB,CAAC,MAAM,CAAC;aAC/C;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,+EAA+E;IAC/E,mEAAmE;IACnE,MAAM,eAAe,GACnB,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;IAE/D,OAAO,IAAI,cAAc,CAAC;QACxB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,EAAE,YAAY,EAAE;YAClB,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
@@ -10,6 +10,16 @@ export function create(providerOptions, llmOptions) {
10
10
  useDeploymentBasedUrls: providerOptions.useDeploymentBasedUrls,
11
11
  }).filter((entry) => entry[1] !== undefined));
12
12
  const provider = Object.keys(settings).length > 0 ? createAzure(settings) : azure;
13
+ // Azure OpenAI (Responses API) reads reasoning from `providerOptions.azure`.
14
+ // Only reasoning-capable deployments honor these; others ignore them.
15
+ const azureOptions = {};
16
+ if (providerOptions.reasoning?.effort) {
17
+ azureOptions.reasoningEffort = providerOptions.reasoning.effort;
18
+ }
19
+ const summary = providerOptions.reasoning?.summary;
20
+ if (summary !== undefined && summary !== "none") {
21
+ azureOptions.reasoningSummary = summary;
22
+ }
13
23
  const config = {
14
24
  ...(llmOptions.temperature !== undefined
15
25
  ? { temperature: llmOptions.temperature }
@@ -17,6 +27,9 @@ export function create(providerOptions, llmOptions) {
17
27
  ...(llmOptions.maxTokens !== undefined
18
28
  ? { maxTokens: llmOptions.maxTokens }
19
29
  : {}),
30
+ ...(Object.keys(azureOptions).length > 0
31
+ ? { providerOptions: { azure: azureOptions } }
32
+ : {}),
20
33
  };
21
34
  return new VercelModel({
22
35
  provider: provider(llmOptions.model),
@@ -1 +1 @@
1
- {"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../src/core/models/azure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAMhE,MAAM,UAAU,MAAM,CACpB,eAAqC,EACrC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;KAC/D,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACd,CAAC;IACjC,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../src/core/models/azure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAMhE,MAAM,UAAU,MAAM,CACpB,eAAqC,EACrC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;KAC/D,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACd,CAAC;IACjC,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACtC,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC;IAClE,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;IACnD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAChD,YAAY,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YACtC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,12 @@
1
1
  import { BedrockModel } from "@strands-agents/sdk/models/bedrock";
2
+ import { REASONING_BUDGET_TOKENS } from "./types.js";
3
+ // `output_config.effort` (adaptive path) only accepts low/medium/high.
4
+ const OUTPUT_CONFIG_EFFORT = {
5
+ minimal: "low",
6
+ low: "low",
7
+ medium: "medium",
8
+ high: "high",
9
+ };
2
10
  export function create(providerOptions, llmOptions) {
3
11
  const clientConfig = {};
4
12
  if (providerOptions.accessKeyId && providerOptions.secretAccessKey) {
@@ -10,6 +18,30 @@ export function create(providerOptions, llmOptions) {
10
18
  : {}),
11
19
  };
12
20
  }
21
+ // Enable thinking whenever `reasoning` is configured; effort defaults to
22
+ // `medium`. Setting `display` switches to the `adaptive` scheme (required by
23
+ // newer Bedrock Claude, e.g. Opus 4.7+, which omit reasoning by default) and
24
+ // uses `output_config.effort` instead of a fixed `budget_tokens`. Otherwise
25
+ // Converse requires an explicit thinking budget.
26
+ const reasoning = providerOptions.reasoning;
27
+ const effort = reasoning ? (reasoning.effort ?? "medium") : undefined;
28
+ const additionalRequestFields = (() => {
29
+ if (effort === undefined) {
30
+ return undefined;
31
+ }
32
+ if (reasoning?.display !== undefined) {
33
+ return {
34
+ thinking: { type: "adaptive", display: reasoning.display },
35
+ output_config: { effort: OUTPUT_CONFIG_EFFORT[effort] },
36
+ };
37
+ }
38
+ return {
39
+ thinking: {
40
+ type: "enabled",
41
+ budget_tokens: REASONING_BUDGET_TOKENS[effort],
42
+ },
43
+ };
44
+ })();
13
45
  return new BedrockModel({
14
46
  modelId: llmOptions.model,
15
47
  region: providerOptions.region ?? "us-west-2",
@@ -23,6 +55,7 @@ export function create(providerOptions, llmOptions) {
23
55
  ...(llmOptions.maxTokens !== undefined
24
56
  ? { maxTokens: llmOptions.maxTokens }
25
57
  : {}),
58
+ ...(additionalRequestFields ? { additionalRequestFields } : {}),
26
59
  });
27
60
  }
28
61
  //# sourceMappingURL=bedrock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/core/models/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAMlE,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,MAAM,YAAY,GAA+B,EAAE,CAAC;IACpD,IAAI,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;QACnE,YAAY,CAAC,WAAW,GAAG;YACzB,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,eAAe,EAAE,eAAe,CAAC,eAAe;YAChD,GAAG,CAAC,eAAe,CAAC,YAAY;gBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,WAAW;QAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACe,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/core/models/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAOlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIrD,uEAAuE;AACvE,MAAM,oBAAoB,GACxB;IACE,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEJ,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,MAAM,YAAY,GAA+B,EAAE,CAAC;IACpD,IAAI,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;QACnE,YAAY,CAAC,WAAW,GAAG;YACzB,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,eAAe,EAAE,eAAe,CAAC,eAAe;YAChD,GAAG,CAAC,eAAe,CAAC,YAAY;gBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,uBAAuB,GAAG,CAAC,GAAwC,EAAE;QACzE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACL,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;gBAC1D,aAAa,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,uBAAuB,CAAC,MAAM,CAAC;aAC/C;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,WAAW;QAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC,CAAC;AAC5B,CAAC"}
@@ -7,6 +7,11 @@ export function create(providerOptions, llmOptions) {
7
7
  ...(llmOptions.maxTokens !== undefined
8
8
  ? { maxOutputTokens: llmOptions.maxTokens }
9
9
  : {}),
10
+ // Any effort enables Gemini thinking and streams thoughts; `thinkingBudget:
11
+ // -1` lets the model size the budget dynamically (no fixed budget).
12
+ ...(providerOptions.reasoning?.effort
13
+ ? { thinkingConfig: { includeThoughts: true, thinkingBudget: -1 } }
14
+ : {}),
10
15
  };
11
16
  return new GoogleModel({
12
17
  modelId: llmOptions.model,
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/core/models/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIhE,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,SAAS,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/core/models/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIhE,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,SAAS,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,4EAA4E;QAC5E,oEAAoE;QACpE,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM;YACnC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;YACnE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;AAC3B,CAAC"}
@@ -7,6 +7,10 @@ export function create(providerOptions, llmOptions) {
7
7
  headers: providerOptions.headers,
8
8
  }).filter((entry) => entry[1] !== undefined));
9
9
  const provider = Object.keys(settings).length > 0 ? createGroq(settings) : groq;
10
+ // Groq reads `reasoning_effort`/`reasoning_format` from `providerOptions.groq`.
11
+ // Groq has no `minimal` level, so it maps to `low`. `reasoning_format: parsed`
12
+ // streams reasoning as a separate channel (surfaced as reasoningContentDelta).
13
+ const effort = providerOptions.reasoning?.effort;
10
14
  const config = {
11
15
  ...(llmOptions.temperature !== undefined
12
16
  ? { temperature: llmOptions.temperature }
@@ -14,6 +18,16 @@ export function create(providerOptions, llmOptions) {
14
18
  ...(llmOptions.maxTokens !== undefined
15
19
  ? { maxTokens: llmOptions.maxTokens }
16
20
  : {}),
21
+ ...(effort
22
+ ? {
23
+ providerOptions: {
24
+ groq: {
25
+ reasoningEffort: effort === "minimal" ? "low" : effort,
26
+ reasoningFormat: "parsed",
27
+ },
28
+ },
29
+ }
30
+ : {}),
17
31
  };
18
32
  return new VercelModel({
19
33
  provider: provider(llmOptions.model),
@@ -1 +1 @@
1
- {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/core/models/groq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,MAAM,UAAU,MAAM,CACpB,eAAoC,EACpC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACrB,CAAC;IAC1B,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/core/models/groq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,MAAM,UAAU,MAAM,CACpB,eAAoC,EACpC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACrB,CAAC;IAC1B,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,gFAAgF;IAChF,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC;IACjD,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,IAAI,EAAE;wBACJ,eAAe,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;wBACtD,eAAe,EAAE,QAAQ;qBAC1B;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
@@ -5,7 +5,7 @@ export function create(providerOptions, llmOptions) {
5
5
  apiKey: providerOptions.apiKey,
6
6
  baseURL: DEFAULT_BASE_URL,
7
7
  headers: providerOptions.headers,
8
- thinking: providerOptions.thinking,
9
- }, llmOptions);
8
+ reasoning: providerOptions.reasoning,
9
+ }, llmOptions, "adaptive");
10
10
  }
11
11
  //# sourceMappingURL=minimax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../../src/core/models/minimax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,OAAO,oBAAoB,CACzB;QACE,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,QAAQ,EAAE,eAAe,CAAC,QAAQ;KACnC,EACD,UAAU,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../../src/core/models/minimax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,OAAO,oBAAoB,CACzB;QACE,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,SAAS,EAAE,eAAe,CAAC,SAAS;KACrC,EACD,UAAU,EACV,UAAU,CACX,CAAC;AACJ,CAAC"}
@@ -9,6 +9,8 @@ export function create(providerOptions, llmOptions) {
9
9
  headers: providerOptions.headers,
10
10
  }).filter((entry) => entry[1] !== undefined));
11
11
  const provider = Object.keys(settings).length > 0 ? createMoonshotAI(settings) : moonshotai;
12
+ // Kimi reads `thinking` from `providerOptions.moonshotai`. Any effort just
13
+ // enables it (`budgetTokens` is left to the model default).
12
14
  const config = {
13
15
  ...(llmOptions.temperature !== undefined
14
16
  ? { temperature: llmOptions.temperature }
@@ -16,6 +18,9 @@ export function create(providerOptions, llmOptions) {
16
18
  ...(llmOptions.maxTokens !== undefined
17
19
  ? { maxTokens: llmOptions.maxTokens }
18
20
  : {}),
21
+ ...(providerOptions.reasoning?.effort
22
+ ? { providerOptions: { moonshotai: { thinking: { type: "enabled" } } } }
23
+ : {}),
19
24
  };
20
25
  return new MoonshotModel({
21
26
  provider: provider(llmOptions.model),
@@ -1 +1 @@
1
- {"version":3,"file":"moonshot.js","sourceRoot":"","sources":["../../../src/core/models/moonshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moonshot.js","sourceRoot":"","sources":["../../../src/core/models/moonshot.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,15 @@ export function create(providerOptions, llmOptions) {
5
5
  Number.isFinite(llmOptions.maxTokens)
6
6
  ? llmOptions.maxTokens
7
7
  : 64_000;
8
+ // Ollama's `think` accepts level strings on supported models. Map the shared
9
+ // effort onto a level (`minimal`/`low` -> `low`).
10
+ const effort = providerOptions.reasoning?.effort;
11
+ const think = effort === "minimal" ? "low" : effort;
8
12
  return new StrandsOllamaModel({
9
13
  modelId: llmOptions.model,
10
14
  maxTokens,
11
15
  ...(providerOptions.baseURL ? { host: providerOptions.baseURL } : {}),
12
- ...(providerOptions.thinking !== undefined
13
- ? { think: providerOptions.thinking }
14
- : {}),
16
+ ...(think !== undefined ? { think } : {}),
15
17
  ...(llmOptions.temperature !== undefined
16
18
  ? { options: { temperature: llmOptions.temperature } }
17
19
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/models/ollama/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,gFAAgF;AAChF,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,SAAS,GACb,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;QACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,SAAS;QACtB,CAAC,CAAC,MAAM,CAAC;IACb,OAAO,IAAI,kBAAkB,CAAC;QAC5B,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,SAAS;QACT,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/models/ollama/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,gFAAgF;AAChF,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,SAAS,GACb,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;QACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,SAAS;QACtB,CAAC,CAAC,MAAM,CAAC;IACb,6EAA6E;IAC7E,kDAAkD;IAClD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,IAAI,kBAAkB,CAAC;QAC5B,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,SAAS;QACT,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC"}
@@ -10,8 +10,27 @@ export function create(providerOptions, llmOptions) {
10
10
  : {}),
11
11
  }
12
12
  : undefined;
13
+ const api = providerOptions.api ?? "responses";
14
+ // On the Responses API, reasoning summaries only stream when a `reasoning`
15
+ // param is sent. `summary` defaults to `auto`; `none` opts out entirely (for
16
+ // non-reasoning models that reject the parameter). The Chat Completions API
17
+ // has no equivalent, so we never attach reasoning there.
18
+ const params = (() => {
19
+ if (api !== "responses") {
20
+ return undefined;
21
+ }
22
+ const summary = providerOptions.reasoning?.summary ?? "auto";
23
+ const reasoning = {};
24
+ if (providerOptions.reasoning?.effort) {
25
+ reasoning.effort = providerOptions.reasoning.effort;
26
+ }
27
+ if (summary !== "none") {
28
+ reasoning.summary = summary;
29
+ }
30
+ return Object.keys(reasoning).length > 0 ? { reasoning } : undefined;
31
+ })();
13
32
  return new OpenAIModel({
14
- api: "chat",
33
+ api,
15
34
  modelId: llmOptions.model,
16
35
  ...(providerOptions.apiKey ? { apiKey: providerOptions.apiKey } : {}),
17
36
  ...(clientConfig ? { clientConfig } : {}),
@@ -21,6 +40,7 @@ export function create(providerOptions, llmOptions) {
21
40
  ...(llmOptions.maxTokens !== undefined
22
41
  ? { maxTokens: llmOptions.maxTokens }
23
42
  : {}),
43
+ ...(params ? { params } : {}),
24
44
  });
25
45
  }
26
46
  //# sourceMappingURL=openai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/core/models/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAOhE,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,YAAY,GAChB,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO;QAChD,CAAC,CAAC;YACE,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACc,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/core/models/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAOhE,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,YAAY,GAChB,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO;QAChD,CAAC,CAAC;YACE,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,IAAI,WAAW,CAAC;IAC/C,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,MAAM,GAAG,CAAC,GAAwC,EAAE;QACxD,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,IAAI,MAAM,CAAC;QAC7D,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,IAAI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACtC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC;QACtD,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG;QACH,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { OpenAIModel } from "@strands-agents/sdk/models/openai";
1
+ import { VercelModel } from "@strands-agents/sdk/models/vercel";
2
2
  import type { LlmOptions, OpenRouterProviderOptions } from "./types.js";
3
3
  export type OpenRouterModelParams = OpenRouterProviderOptions & LlmOptions;
4
- export declare function create(providerOptions: OpenRouterProviderOptions, llmOptions: LlmOptions): OpenAIModel;
4
+ export declare function create(providerOptions: OpenRouterProviderOptions, llmOptions: LlmOptions): VercelModel;
@@ -1,23 +1,41 @@
1
- import { OpenAIModel } from "@strands-agents/sdk/models/openai";
1
+ import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
2
+ import { VercelModel } from "@strands-agents/sdk/models/vercel";
2
3
  const DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
4
+ // `providerOptionsName` is derived from the provider name, so reasoning options
5
+ // are read from `providerOptions.openrouter`.
6
+ const PROVIDER_NAME = "openrouter";
3
7
  export function create(providerOptions, llmOptions) {
4
- const clientConfig = {
8
+ const settings = {
9
+ name: PROVIDER_NAME,
5
10
  baseURL: providerOptions.baseURL ?? DEFAULT_BASE_URL,
6
- ...(providerOptions.headers
7
- ? { defaultHeaders: providerOptions.headers }
8
- : {}),
9
- };
10
- return new OpenAIModel({
11
- api: "chat",
12
- modelId: llmOptions.model,
13
11
  ...(providerOptions.apiKey ? { apiKey: providerOptions.apiKey } : {}),
14
- ...(clientConfig ? { clientConfig } : {}),
12
+ ...(providerOptions.headers ? { headers: providerOptions.headers } : {}),
13
+ };
14
+ const provider = createOpenAICompatible(settings);
15
+ // The openai-compatible adapter surfaces `reasoning_content`/`reasoning`
16
+ // deltas (which the SDK maps to reasoningContentDelta) — unlike the OpenAI
17
+ // Chat Completions adapter, which drops them. `reasoning.effort` maps to
18
+ // `reasoning_effort`, which OpenRouter normalizes for reasoning models.
19
+ const config = {
15
20
  ...(llmOptions.temperature !== undefined
16
21
  ? { temperature: llmOptions.temperature }
17
22
  : {}),
18
23
  ...(llmOptions.maxTokens !== undefined
19
24
  ? { maxTokens: llmOptions.maxTokens }
20
25
  : {}),
26
+ ...(providerOptions.reasoning?.effort
27
+ ? {
28
+ providerOptions: {
29
+ [PROVIDER_NAME]: {
30
+ reasoningEffort: providerOptions.reasoning.effort,
31
+ },
32
+ },
33
+ }
34
+ : {}),
35
+ };
36
+ return new VercelModel({
37
+ provider: provider(llmOptions.model),
38
+ ...config,
21
39
  });
22
40
  }
23
41
  //# sourceMappingURL=openrouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/core/models/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAIxD,MAAM,UAAU,MAAM,CACpB,eAA0C,EAC1C,UAAsB;IAEtB,MAAM,YAAY,GAAkB;QAClC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,gBAAgB;QACpD,GAAG,CAAC,eAAe,CAAC,OAAO;YACzB,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE;YAC7C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACc,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/core/models/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AACxD,gFAAgF;AAChF,8CAA8C;AAC9C,MAAM,aAAa,GAAG,YAAY,CAAC;AAInC,MAAM,UAAU,MAAM,CACpB,eAA0C,EAC1C,UAAsB;IAEtB,MAAM,QAAQ,GAAqC;QACjD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,gBAAgB;QACpD,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC;IACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAClD,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM;YACnC,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,CAAC,aAAa,CAAC,EAAE;wBACf,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM;qBAClD;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}