@node-llm/core 1.15.2 → 1.16.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 (112) hide show
  1. package/dist/aliases.d.ts +315 -26
  2. package/dist/aliases.d.ts.map +1 -1
  3. package/dist/aliases.js +334 -45
  4. package/dist/chat/Chat.d.ts +22 -2
  5. package/dist/chat/Chat.d.ts.map +1 -1
  6. package/dist/chat/Chat.js +45 -3
  7. package/dist/chat/ChatOptions.d.ts +3 -1
  8. package/dist/chat/ChatOptions.d.ts.map +1 -1
  9. package/dist/chat/ChatResponse.d.ts +8 -2
  10. package/dist/chat/ChatResponse.d.ts.map +1 -1
  11. package/dist/chat/ChatResponse.js +9 -3
  12. package/dist/chat/ChatStream.d.ts.map +1 -1
  13. package/dist/chat/ChatStream.js +2 -0
  14. package/dist/chat/Tool.d.ts.map +1 -1
  15. package/dist/chat/Tool.js +21 -11
  16. package/dist/chat/ToolHandler.d.ts.map +1 -1
  17. package/dist/chat/ToolHandler.js +9 -2
  18. package/dist/chat/Validation.d.ts +1 -0
  19. package/dist/chat/Validation.d.ts.map +1 -1
  20. package/dist/chat/Validation.js +10 -0
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/llm.d.ts +4 -0
  24. package/dist/llm.d.ts.map +1 -1
  25. package/dist/models/ModelRegistry.d.ts +3 -0
  26. package/dist/models/ModelRegistry.d.ts.map +1 -1
  27. package/dist/models/ModelRegistry.js +53 -16
  28. package/dist/models/PricingRegistry.d.ts.map +1 -1
  29. package/dist/models/PricingRegistry.js +14 -0
  30. package/dist/models/models.json +15118 -8614
  31. package/dist/providers/BaseProvider.d.ts.map +1 -1
  32. package/dist/providers/BaseProvider.js +1 -0
  33. package/dist/providers/Provider.d.ts +33 -0
  34. package/dist/providers/Provider.d.ts.map +1 -1
  35. package/dist/providers/anthropic/AnthropicProvider.js +1 -1
  36. package/dist/providers/anthropic/Capabilities.d.ts +1 -0
  37. package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
  38. package/dist/providers/anthropic/Capabilities.js +15 -34
  39. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  40. package/dist/providers/anthropic/Chat.js +16 -2
  41. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  42. package/dist/providers/anthropic/Streaming.js +15 -1
  43. package/dist/providers/bedrock/BedrockProvider.d.ts +1 -1
  44. package/dist/providers/bedrock/BedrockProvider.js +1 -1
  45. package/dist/providers/bedrock/Capabilities.d.ts +3 -28
  46. package/dist/providers/bedrock/Capabilities.d.ts.map +1 -1
  47. package/dist/providers/bedrock/Capabilities.js +62 -183
  48. package/dist/providers/bedrock/Chat.d.ts.map +1 -1
  49. package/dist/providers/bedrock/Chat.js +1 -0
  50. package/dist/providers/bedrock/Streaming.d.ts.map +1 -1
  51. package/dist/providers/bedrock/Streaming.js +1 -0
  52. package/dist/providers/bedrock/mapper.d.ts +4 -3
  53. package/dist/providers/bedrock/mapper.d.ts.map +1 -1
  54. package/dist/providers/bedrock/mapper.js +19 -4
  55. package/dist/providers/deepseek/Capabilities.d.ts +2 -1
  56. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  57. package/dist/providers/deepseek/Capabilities.js +21 -30
  58. package/dist/providers/deepseek/DeepSeekProvider.d.ts +1 -1
  59. package/dist/providers/gemini/Capabilities.d.ts +1 -1
  60. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  61. package/dist/providers/gemini/Capabilities.js +33 -87
  62. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  63. package/dist/providers/gemini/Chat.js +44 -9
  64. package/dist/providers/gemini/ChatUtils.d.ts.map +1 -1
  65. package/dist/providers/gemini/ChatUtils.js +59 -49
  66. package/dist/providers/gemini/GeminiProvider.js +1 -1
  67. package/dist/providers/gemini/Image.d.ts.map +1 -1
  68. package/dist/providers/gemini/Image.js +17 -5
  69. package/dist/providers/gemini/Streaming.d.ts.map +1 -1
  70. package/dist/providers/gemini/Streaming.js +41 -1
  71. package/dist/providers/gemini/types.d.ts +1 -0
  72. package/dist/providers/gemini/types.d.ts.map +1 -1
  73. package/dist/providers/mistral/Capabilities.d.ts +1 -0
  74. package/dist/providers/mistral/Capabilities.d.ts.map +1 -1
  75. package/dist/providers/mistral/Capabilities.js +30 -59
  76. package/dist/providers/mistral/Chat.d.ts.map +1 -1
  77. package/dist/providers/mistral/Chat.js +13 -1
  78. package/dist/providers/mistral/Streaming.d.ts.map +1 -1
  79. package/dist/providers/mistral/Streaming.js +13 -1
  80. package/dist/providers/mistral/Transcription.d.ts.map +1 -1
  81. package/dist/providers/mistral/Transcription.js +3 -1
  82. package/dist/providers/ollama/Capabilities.d.ts +1 -0
  83. package/dist/providers/ollama/Capabilities.d.ts.map +1 -1
  84. package/dist/providers/ollama/Capabilities.js +17 -27
  85. package/dist/providers/openai/Capabilities.d.ts +2 -1
  86. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  87. package/dist/providers/openai/Capabilities.js +35 -71
  88. package/dist/providers/openai/Chat.d.ts.map +1 -1
  89. package/dist/providers/openai/Chat.js +4 -1
  90. package/dist/providers/openai/Image.d.ts +1 -0
  91. package/dist/providers/openai/Image.d.ts.map +1 -1
  92. package/dist/providers/openai/Image.js +61 -2
  93. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  94. package/dist/providers/openai/Streaming.js +7 -1
  95. package/dist/providers/openai/Transcription.d.ts.map +1 -1
  96. package/dist/providers/openai/Transcription.js +7 -2
  97. package/dist/providers/openrouter/Capabilities.d.ts +10 -9
  98. package/dist/providers/openrouter/Capabilities.d.ts.map +1 -1
  99. package/dist/providers/openrouter/Capabilities.js +25 -48
  100. package/dist/providers/utils.d.ts +4 -0
  101. package/dist/providers/utils.d.ts.map +1 -1
  102. package/dist/providers/utils.js +11 -0
  103. package/dist/providers/xai/Capabilities.d.ts +13 -9
  104. package/dist/providers/xai/Capabilities.d.ts.map +1 -1
  105. package/dist/providers/xai/Capabilities.js +34 -65
  106. package/dist/transcription/Transcription.d.ts +23 -1
  107. package/dist/transcription/Transcription.d.ts.map +1 -1
  108. package/dist/transcription/Transcription.js +22 -0
  109. package/dist/utils/Binary.d.ts +8 -0
  110. package/dist/utils/Binary.d.ts.map +1 -1
  111. package/dist/utils/Binary.js +12 -0
  112. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProvider.d.ts","sourceRoot":"","sources":["../../src/providers/BaseProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,8BAAsB,YAAa,YAAW,QAAQ;aACpC,OAAO,IAAI,MAAM;aACjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAEzC,IAAI,EAAE,IAAI,MAAM,CAEf;IAEM,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9C,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;aAIvC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1D,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,oBAAoB;IAe9C,MAAM,CAAC,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;IAKzD,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAInC,KAAK,CAAC,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,UAAU,CAAC,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI3E,QAAQ,CAAC,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInE,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIpE,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO;CAQX"}
1
+ {"version":3,"file":"BaseProvider.d.ts","sourceRoot":"","sources":["../../src/providers/BaseProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,8BAAsB,YAAa,YAAW,QAAQ;aACpC,OAAO,IAAI,MAAM;aACjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAEzC,IAAI,EAAE,IAAI,MAAM,CAEf;IAEM,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9C,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;aAIvC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1D,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,oBAAoB;IAgB9C,MAAM,CAAC,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;IAKzD,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAInC,KAAK,CAAC,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,UAAU,CAAC,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI3E,QAAQ,CAAC,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAInE,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIpE,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO;CAQX"}
@@ -30,6 +30,7 @@ export class BaseProvider {
30
30
  supportsModeration: () => false,
31
31
  supportsReasoning: () => false,
32
32
  supportsDeveloperRole: () => false,
33
+ supportsToolChoice: () => false,
33
34
  getContextWindow: () => null
34
35
  };
35
36
  }
@@ -38,10 +38,18 @@ export interface ThinkingResult {
38
38
  */
39
39
  tokens?: number;
40
40
  }
41
+ export type ToolChoice = "auto" | "none" | "required" | {
42
+ type: "function";
43
+ function: {
44
+ name: string;
45
+ };
46
+ } | string;
41
47
  export interface ChatRequest {
42
48
  model: string;
43
49
  messages: Message[];
44
50
  tools?: ToolDefinition[];
51
+ tool_choice?: ToolChoice;
52
+ parallel_tool_calls?: boolean;
45
53
  thinking?: ThinkingConfig;
46
54
  temperature?: number;
47
55
  max_tokens?: number;
@@ -67,12 +75,19 @@ export interface Usage {
67
75
  output_tokens: number;
68
76
  total_tokens: number;
69
77
  reasoning_tokens?: number;
78
+ image_tokens?: number;
70
79
  cached_tokens?: number;
71
80
  cache_creation_tokens?: number;
72
81
  cost?: number;
73
82
  input_cost?: number;
74
83
  output_cost?: number;
75
84
  }
85
+ export interface Attachment {
86
+ mimeType: string;
87
+ data: string;
88
+ name?: string;
89
+ [key: string]: unknown;
90
+ }
76
91
  export interface ChatResponse {
77
92
  content: string | null;
78
93
  thinking?: ThinkingResult;
@@ -82,6 +97,7 @@ export interface ChatResponse {
82
97
  usage?: Usage;
83
98
  finish_reason?: string | null;
84
99
  metadata?: Record<string, unknown>;
100
+ attachments?: Attachment[];
85
101
  }
86
102
  export interface ProviderCapabilities {
87
103
  supportsVision(modelId: string): boolean;
@@ -94,6 +110,7 @@ export interface ProviderCapabilities {
94
110
  supportsReasoning(modelId: string): boolean;
95
111
  supportsDeveloperRole(modelId: string): boolean;
96
112
  supportsPrediction?(modelId: string): boolean;
113
+ supportsToolChoice?(modelId: string): boolean;
97
114
  getContextWindow(modelId: string): number | null;
98
115
  }
99
116
  export interface ModelInfo {
@@ -114,11 +131,14 @@ export interface ModelInfo {
114
131
  export interface ImageRequest {
115
132
  model?: string;
116
133
  prompt: string;
134
+ images?: string[];
135
+ mask?: string;
117
136
  size?: string;
118
137
  quality?: string;
119
138
  n?: number;
120
139
  headers?: Record<string, string>;
121
140
  requestTimeout?: number;
141
+ [key: string]: unknown;
122
142
  }
123
143
  export interface ImageResponse {
124
144
  url?: string;
@@ -134,6 +154,17 @@ export interface TranscriptionRequest {
134
154
  speakerNames?: string[];
135
155
  speakerReferences?: string[];
136
156
  requestTimeout?: number;
157
+ /**
158
+ * Granularity of timestamps in the response.
159
+ * 'word' returns word-level timestamps (useful for subtitle generation).
160
+ * Defaults to 'segment' if not specified.
161
+ */
162
+ timestamp_granularities?: ("word" | "segment")[];
163
+ }
164
+ export interface TranscriptionWord {
165
+ word: string;
166
+ start: number;
167
+ end: number;
137
168
  }
138
169
  export interface TranscriptionSegment {
139
170
  id: number;
@@ -141,6 +172,7 @@ export interface TranscriptionSegment {
141
172
  end: number;
142
173
  text: string;
143
174
  speaker?: string;
175
+ words?: TranscriptionWord[];
144
176
  [key: string]: unknown;
145
177
  }
146
178
  export interface TranscriptionResponse {
@@ -148,6 +180,7 @@ export interface TranscriptionResponse {
148
180
  model: string;
149
181
  duration?: number;
150
182
  segments?: TranscriptionSegment[];
183
+ words?: TranscriptionWord[];
151
184
  }
152
185
  export interface ModerationRequest {
153
186
  input: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/providers/Provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/providers/Provider.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export class AnthropicProvider extends BaseProvider {
44
44
  return "Anthropic";
45
45
  }
46
46
  defaultModel(_feature) {
47
- return "claude-3-5-haiku-20241022";
47
+ return "claude-3-haiku-20240307";
48
48
  }
49
49
  async chat(request) {
50
50
  return this.chatHandler.execute(request);
@@ -6,6 +6,7 @@ export declare class Capabilities {
6
6
  static supportsTools(modelId: string): boolean;
7
7
  static supportsJsonMode(modelId: string): boolean;
8
8
  static supportsExtendedThinking(modelId: string): boolean;
9
+ static supportsToolChoice(_modelId: string): boolean;
9
10
  static getCapabilities(modelId: string): string[];
10
11
  static getPricing(modelId: string): ModelPricing | undefined;
11
12
  private static findModel;
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAa,YAAY;IACvB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKzD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAO/C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAO9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjD,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOzD,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAsBjD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI5D,OAAO,CAAC,MAAM,CAAC,SAAS;CAGzB"}
1
+ {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAa,YAAY;IACvB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIzD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI/C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAO9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIjD,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIzD,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpD,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBjD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI5D,OAAO,CAAC,MAAM,CAAC,SAAS;CAGzB"}
@@ -2,61 +2,42 @@ import { ModelRegistry } from "../../models/ModelRegistry.js";
2
2
  import { PricingRegistry } from "../../models/PricingRegistry.js";
3
3
  export class Capabilities {
4
4
  static getContextWindow(modelId) {
5
- const val = ModelRegistry.getContextWindow(modelId, "anthropic");
6
- return val ?? 200_000;
5
+ return ModelRegistry.getContextWindow(modelId, "anthropic") ?? 200_000;
7
6
  }
8
7
  static getMaxOutputTokens(modelId) {
9
- const val = ModelRegistry.getMaxOutputTokens(modelId, "anthropic");
10
- return val ?? 4_096;
8
+ return ModelRegistry.getMaxOutputTokens(modelId, "anthropic") ?? 8_192;
11
9
  }
12
10
  static supportsVision(modelId) {
13
- const model = this.findModel(modelId);
14
- if (model?.modalities?.input?.includes("image"))
15
- return true;
16
- return /claude-3/.test(modelId);
11
+ return ModelRegistry.supports(modelId, "vision", "anthropic");
17
12
  }
18
13
  static supportsTools(modelId) {
19
- const model = this.findModel(modelId);
20
- if (model?.capabilities?.includes("function_calling"))
21
- return true;
22
- return /claude-3/.test(modelId);
14
+ return (ModelRegistry.supports(modelId, "tools", "anthropic") ||
15
+ ModelRegistry.supports(modelId, "function_calling", "anthropic"));
23
16
  }
24
17
  static supportsJsonMode(modelId) {
25
- const model = this.findModel(modelId);
26
- if (model?.capabilities.includes("json_mode"))
27
- return true;
28
- return this.supportsTools(modelId);
18
+ return ModelRegistry.supports(modelId, "json_mode", "anthropic") || this.supportsTools(modelId);
29
19
  }
30
20
  static supportsExtendedThinking(modelId) {
31
- const model = this.findModel(modelId);
32
- if (model?.capabilities.includes("reasoning"))
33
- return true;
34
- return /claude-3-7/.test(modelId) || /thinking/.test(modelId);
21
+ return ModelRegistry.supports(modelId, "reasoning", "anthropic");
22
+ }
23
+ static supportsToolChoice(_modelId) {
24
+ return true;
35
25
  }
36
26
  static getCapabilities(modelId) {
37
- const caps = ["streaming"];
38
27
  const model = this.findModel(modelId);
39
- if (model) {
40
- if (model.capabilities.includes("function_calling"))
41
- caps.push("function_calling");
42
- if (model.capabilities.includes("reasoning"))
43
- caps.push("reasoning");
44
- if (model.capabilities.includes("json_mode"))
45
- caps.push("json_mode");
46
- model.capabilities.forEach((c) => {
47
- if (!caps.includes(c))
48
- caps.push(c);
49
- });
28
+ if (model?.capabilities) {
29
+ const caps = [...model.capabilities];
30
+ if (!caps.includes("streaming"))
31
+ caps.push("streaming");
50
32
  return caps;
51
33
  }
34
+ const caps = ["streaming"];
52
35
  if (this.supportsTools(modelId))
53
36
  caps.push("function_calling");
54
37
  if (this.supportsExtendedThinking(modelId))
55
38
  caps.push("reasoning");
56
39
  if (this.supportsJsonMode(modelId))
57
40
  caps.push("json_mode");
58
- if (/claude-3/.test(modelId))
59
- caps.push("batch");
60
41
  return caps;
61
42
  }
62
43
  static getPricing(modelId) {
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAW3E,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;IAG3B,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CA0J3D"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAW3E,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;IAG3B,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAwK3D"}
@@ -28,7 +28,7 @@ export class AnthropicChat {
28
28
  const instruction = `CRITICAL: Respond ONLY with a valid JSON object matching the requested schema.${schemaText}\n\nDo not include any other text or explanation.`;
29
29
  system = system ? `${system}\n\n${instruction}` : instruction;
30
30
  }
31
- const { model: _model, messages: _messages, tools: _tools, temperature: _temp, max_tokens: _max, response_format: _format, thinking: _thinking, headers: _headers, requestTimeout, ...rest } = request;
31
+ const { model: _model, messages: _messages, tools: _tools, temperature: _temp, max_tokens: _max, response_format: _format, thinking: _thinking, headers: _headers, tool_choice: _choice, parallel_tool_calls: _parallel, requestTimeout, ...rest } = request;
32
32
  const body = {
33
33
  model: model,
34
34
  messages: messages,
@@ -51,13 +51,27 @@ export class AnthropicChat {
51
51
  body.temperature = request.temperature;
52
52
  }
53
53
  // Map tools
54
- if (request.tools && request.tools.length > 0) {
54
+ if (request.tools && request.tools.length > 0 && request.tool_choice !== "none") {
55
55
  body.tools = request.tools.map((tool) => ({
56
56
  name: tool.function.name,
57
57
  description: tool.function.description,
58
58
  input_schema: tool.function.parameters
59
59
  }));
60
60
  }
61
+ if (request.tool_choice && request.tool_choice !== "none") {
62
+ if (request.tool_choice === "auto") {
63
+ body.tool_choice = { type: "auto" };
64
+ }
65
+ else if (request.tool_choice === "required") {
66
+ body.tool_choice = { type: "any" };
67
+ }
68
+ else if (typeof request.tool_choice === "string") {
69
+ body.tool_choice = { type: "tool", name: request.tool_choice };
70
+ }
71
+ else if (typeof request.tool_choice === "object" && "function" in request.tool_choice) {
72
+ body.tool_choice = { type: "tool", name: request.tool_choice.function.name };
73
+ }
74
+ }
61
75
  // Check if any message contains PDF content to add beta header
62
76
  const hasPdf = messages.some((msg) => Array.isArray(msg.content) && msg.content.some((block) => block.type === "document"));
63
77
  const headers = {
@@ -1 +1 @@
1
- {"version":3,"file":"Streaming.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AASxD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;IAG1B,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC;CA0O9F"}
1
+ {"version":3,"file":"Streaming.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AASxD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;IAG1B,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC;CAsP9F"}
@@ -38,13 +38,27 @@ export class AnthropicStreaming {
38
38
  if (request.temperature !== undefined) {
39
39
  body.temperature = request.temperature;
40
40
  }
41
- if (request.tools && request.tools.length > 0) {
41
+ if (request.tools && request.tools.length > 0 && request.tool_choice !== "none") {
42
42
  body.tools = request.tools.map((tool) => ({
43
43
  name: tool.function.name,
44
44
  description: tool.function.description,
45
45
  input_schema: tool.function.parameters
46
46
  }));
47
47
  }
48
+ if (request.tool_choice && request.tool_choice !== "none") {
49
+ if (request.tool_choice === "auto") {
50
+ body.tool_choice = { type: "auto" };
51
+ }
52
+ else if (request.tool_choice === "required") {
53
+ body.tool_choice = { type: "any" };
54
+ }
55
+ else if (typeof request.tool_choice === "string") {
56
+ body.tool_choice = { type: "tool", name: request.tool_choice };
57
+ }
58
+ else if (typeof request.tool_choice === "object" && "function" in request.tool_choice) {
59
+ body.tool_choice = { type: "tool", name: request.tool_choice.function.name };
60
+ }
61
+ }
48
62
  if (request.thinking?.budget) {
49
63
  body.thinking = {
50
64
  type: "enabled",
@@ -20,7 +20,7 @@
20
20
  * });
21
21
  *
22
22
  * const response = await bedrock.chat({
23
- * model: "anthropic.claude-3-5-haiku-20241022-v1:0",
23
+ * model: "anthropic.claude-3-haiku-20240307-v1:0",
24
24
  * messages: [{ role: "user", content: "Hello!" }]
25
25
  * });
26
26
  * ```
@@ -20,7 +20,7 @@
20
20
  * });
21
21
  *
22
22
  * const response = await bedrock.chat({
23
- * model: "anthropic.claude-3-5-haiku-20241022-v1:0",
23
+ * model: "anthropic.claude-3-haiku-20240307-v1:0",
24
24
  * messages: [{ role: "user", content: "Hello!" }]
25
25
  * });
26
26
  * ```
@@ -2,9 +2,7 @@
2
2
  * Maps Bedrock model IDs to their capabilities.
3
3
  */
4
4
  import { ModelPricing } from "../../models/types.js";
5
- type ModelFamily = "claude3_opus" | "claude3_sonnet" | "claude3_haiku" | "claude3_5_haiku" | "claude2" | "claude_instant" | "claude4" | "nova" | "nova2" | "other";
6
5
  export declare class Capabilities {
7
- static getModelFamily(modelId: string): ModelFamily;
8
6
  static getContextWindow(modelId: string): number | null;
9
7
  static getMaxOutputTokens(modelId: string): number | null;
10
8
  static supportsChat(modelId: string): boolean;
@@ -15,36 +13,13 @@ export declare class Capabilities {
15
13
  static supportsExtendedThinking(modelId: string): boolean;
16
14
  static supportsEmbeddings(modelId: string): boolean;
17
15
  static supportsImageGeneration(modelId: string): boolean;
18
- /**
19
- * Check if a model supports audio input.
20
- */
21
- static supportsAudio(_modelId: string): boolean;
22
- /**
23
- * Get input modalities for a model.
24
- */
16
+ static supportsToolChoice(_modelId: string): boolean;
25
17
  static getInputModalities(modelId: string): string[];
26
- /**
27
- * Get output modalities for a model.
28
- */
29
- static getOutputModalities(_modelId: string): string[];
30
- /**
31
- * Get all capabilities for a model.
32
- */
18
+ static getOutputModalities(modelId: string): string[];
33
19
  static getCapabilities(modelId: string): string[];
34
20
  static getPricing(modelId: string): ModelPricing | undefined;
35
- /**
36
- * Get input price per million tokens.
37
- */
38
- static getInputPrice(modelId: string): number;
39
- /**
40
- * Get output price per million tokens.
41
- */
42
- static getOutputPrice(modelId: string): number;
43
- /**
44
- * Format model ID as display name.
45
- */
21
+ static getModelFamily(modelId: string): string;
46
22
  static formatDisplayName(modelId: string): string;
47
23
  private static findModel;
48
24
  }
49
- export {};
50
25
  //# sourceMappingURL=Capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/providers/bedrock/Capabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD,KAAK,WAAW,GACZ,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,SAAS,GACT,gBAAgB,GAChB,SAAS,GACT,MAAM,GACN,OAAO,GACP,OAAO,CAAC;AAsCZ,qBAAa,YAAY;IACvB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAOnD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA2BvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOzD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAa7C,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAalD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQ/C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQ9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAWjD,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOzD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOnD,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI/C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAcpD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAItD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAuBjD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAuB5D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK7C;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK9C;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAUjD,OAAO,CAAC,MAAM,CAAC,SAAS;CAGzB"}
1
+ {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/providers/bedrock/Capabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMrD,qBAAa,YAAY;IACvB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIvD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIzD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7C,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMlD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQ/C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAO9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjD,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIzD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMnD,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQxD,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAWpD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAKrD,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAejD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI5D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAa9C,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAWjD,OAAO,CAAC,MAAM,CAAC,SAAS;CAGzB"}