@node-llm/core 1.7.0 → 1.9.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 (132) hide show
  1. package/README.md +9 -8
  2. package/dist/aliases.d.ts +216 -0
  3. package/dist/aliases.d.ts.map +1 -1
  4. package/dist/aliases.js +241 -25
  5. package/dist/chat/Chat.d.ts +8 -4
  6. package/dist/chat/Chat.d.ts.map +1 -1
  7. package/dist/chat/Chat.js +33 -5
  8. package/dist/chat/ChatResponse.d.ts +28 -3
  9. package/dist/chat/ChatResponse.d.ts.map +1 -1
  10. package/dist/chat/ChatResponse.js +79 -6
  11. package/dist/chat/ChatStream.d.ts.map +1 -1
  12. package/dist/chat/ChatStream.js +13 -1
  13. package/dist/chat/Content.d.ts +7 -0
  14. package/dist/chat/Content.d.ts.map +1 -1
  15. package/dist/config.d.ts +28 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +58 -6
  18. package/dist/constants.d.ts +6 -0
  19. package/dist/constants.d.ts.map +1 -1
  20. package/dist/constants.js +6 -0
  21. package/dist/errors/index.d.ts +20 -2
  22. package/dist/errors/index.d.ts.map +1 -1
  23. package/dist/errors/index.js +31 -3
  24. package/dist/index.d.ts +2 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/llm.d.ts.map +1 -1
  27. package/dist/llm.js +3 -2
  28. package/dist/models/ModelRegistry.d.ts.map +1 -1
  29. package/dist/models/ModelRegistry.js +4 -2
  30. package/dist/models/PricingRegistry.js +3 -3
  31. package/dist/models/models.json +16696 -0
  32. package/dist/providers/Provider.d.ts +5 -0
  33. package/dist/providers/Provider.d.ts.map +1 -1
  34. package/dist/providers/anthropic/AnthropicProvider.d.ts.map +1 -1
  35. package/dist/providers/anthropic/AnthropicProvider.js +2 -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 +8 -5
  39. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  40. package/dist/providers/anthropic/Chat.js +2 -1
  41. package/dist/providers/anthropic/Errors.d.ts.map +1 -1
  42. package/dist/providers/anthropic/Errors.js +15 -1
  43. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  44. package/dist/providers/anthropic/Streaming.js +19 -3
  45. package/dist/providers/bedrock/BedrockProvider.d.ts +53 -0
  46. package/dist/providers/bedrock/BedrockProvider.d.ts.map +1 -0
  47. package/dist/providers/bedrock/BedrockProvider.js +107 -0
  48. package/dist/providers/bedrock/Capabilities.d.ts +50 -0
  49. package/dist/providers/bedrock/Capabilities.d.ts.map +1 -0
  50. package/dist/providers/bedrock/Capabilities.js +233 -0
  51. package/dist/providers/bedrock/Chat.d.ts +26 -0
  52. package/dist/providers/bedrock/Chat.d.ts.map +1 -0
  53. package/dist/providers/bedrock/Chat.js +152 -0
  54. package/dist/providers/bedrock/Embeddings.d.ts +22 -0
  55. package/dist/providers/bedrock/Embeddings.d.ts.map +1 -0
  56. package/dist/providers/bedrock/Embeddings.js +100 -0
  57. package/dist/providers/bedrock/Errors.d.ts +2 -0
  58. package/dist/providers/bedrock/Errors.d.ts.map +1 -0
  59. package/dist/providers/bedrock/Errors.js +51 -0
  60. package/dist/providers/bedrock/Image.d.ts +33 -0
  61. package/dist/providers/bedrock/Image.d.ts.map +1 -0
  62. package/dist/providers/bedrock/Image.js +154 -0
  63. package/dist/providers/bedrock/Models.d.ts +34 -0
  64. package/dist/providers/bedrock/Models.d.ts.map +1 -0
  65. package/dist/providers/bedrock/Models.js +131 -0
  66. package/dist/providers/bedrock/Moderation.d.ts +23 -0
  67. package/dist/providers/bedrock/Moderation.d.ts.map +1 -0
  68. package/dist/providers/bedrock/Moderation.js +138 -0
  69. package/dist/providers/bedrock/Streaming.d.ts +21 -0
  70. package/dist/providers/bedrock/Streaming.d.ts.map +1 -0
  71. package/dist/providers/bedrock/Streaming.js +239 -0
  72. package/dist/providers/bedrock/config.d.ts +57 -0
  73. package/dist/providers/bedrock/config.d.ts.map +1 -0
  74. package/dist/providers/bedrock/config.js +33 -0
  75. package/dist/providers/bedrock/index.d.ts +8 -0
  76. package/dist/providers/bedrock/index.d.ts.map +1 -0
  77. package/dist/providers/bedrock/index.js +30 -0
  78. package/dist/providers/bedrock/mapper.d.ts +37 -0
  79. package/dist/providers/bedrock/mapper.d.ts.map +1 -0
  80. package/dist/providers/bedrock/mapper.js +204 -0
  81. package/dist/providers/bedrock/types.d.ts +179 -0
  82. package/dist/providers/bedrock/types.d.ts.map +1 -0
  83. package/dist/providers/bedrock/types.js +7 -0
  84. package/dist/providers/deepseek/Capabilities.d.ts +3 -2
  85. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  86. package/dist/providers/deepseek/Capabilities.js +19 -5
  87. package/dist/providers/deepseek/Chat.d.ts.map +1 -1
  88. package/dist/providers/deepseek/Chat.js +2 -2
  89. package/dist/providers/deepseek/DeepSeekProvider.d.ts.map +1 -1
  90. package/dist/providers/deepseek/DeepSeekProvider.js +2 -1
  91. package/dist/providers/deepseek/Errors.d.ts +2 -0
  92. package/dist/providers/deepseek/Errors.d.ts.map +1 -0
  93. package/dist/providers/deepseek/Errors.js +45 -0
  94. package/dist/providers/deepseek/Streaming.d.ts.map +1 -1
  95. package/dist/providers/deepseek/Streaming.js +13 -2
  96. package/dist/providers/gemini/Capabilities.d.ts +1 -0
  97. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  98. package/dist/providers/gemini/Capabilities.js +9 -6
  99. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  100. package/dist/providers/gemini/Chat.js +6 -23
  101. package/dist/providers/gemini/Errors.d.ts.map +1 -1
  102. package/dist/providers/gemini/Errors.js +13 -1
  103. package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -1
  104. package/dist/providers/gemini/GeminiProvider.js +2 -1
  105. package/dist/providers/ollama/Capabilities.d.ts.map +1 -1
  106. package/dist/providers/ollama/Capabilities.js +4 -1
  107. package/dist/providers/ollama/OllamaProvider.d.ts.map +1 -1
  108. package/dist/providers/ollama/OllamaProvider.js +2 -2
  109. package/dist/providers/openai/Capabilities.d.ts +1 -0
  110. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  111. package/dist/providers/openai/Capabilities.js +14 -11
  112. package/dist/providers/openai/Errors.d.ts.map +1 -1
  113. package/dist/providers/openai/Errors.js +31 -5
  114. package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -1
  115. package/dist/providers/openai/OpenAIProvider.js +2 -1
  116. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  117. package/dist/providers/openai/Streaming.js +10 -0
  118. package/dist/providers/openrouter/OpenRouterProvider.d.ts.map +1 -1
  119. package/dist/providers/openrouter/OpenRouterProvider.js +2 -1
  120. package/dist/providers/registry.d.ts +5 -1
  121. package/dist/providers/registry.d.ts.map +1 -1
  122. package/dist/providers/registry.js +12 -3
  123. package/dist/utils/AwsSigV4.d.ts +51 -0
  124. package/dist/utils/AwsSigV4.d.ts.map +1 -0
  125. package/dist/utils/AwsSigV4.js +209 -0
  126. package/dist/utils/json.d.ts +6 -0
  127. package/dist/utils/json.d.ts.map +1 -0
  128. package/dist/utils/json.js +43 -0
  129. package/package.json +1 -1
  130. package/dist/models/models.d.ts +0 -327
  131. package/dist/models/models.d.ts.map +0 -1
  132. package/dist/models/models.js +0 -11138
@@ -57,6 +57,8 @@ export interface ChatChunk {
57
57
  tool_calls?: ToolCall[];
58
58
  done?: boolean;
59
59
  usage?: Usage;
60
+ finish_reason?: string | null;
61
+ metadata?: Record<string, unknown>;
60
62
  }
61
63
  export interface Usage {
62
64
  input_tokens: number;
@@ -76,6 +78,8 @@ export interface ChatResponse {
76
78
  reasoning?: string | null;
77
79
  tool_calls?: ToolCall[];
78
80
  usage?: Usage;
81
+ finish_reason?: string | null;
82
+ metadata?: Record<string, unknown>;
79
83
  }
80
84
  export interface ProviderCapabilities {
81
85
  supportsVision(modelId: string): boolean;
@@ -110,6 +114,7 @@ export interface ImageRequest {
110
114
  size?: string;
111
115
  quality?: string;
112
116
  n?: number;
117
+ headers?: Record<string, string>;
113
118
  requestTimeout?: number;
114
119
  }
115
120
  export interface ImageResponse {
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/AnthropicProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,YAAa,YAAW,QAAQ;IAmBzD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEzC,YAAY;gCACO,MAAM;+BACP,MAAM;0CACK,MAAM;qCACX,MAAM;0CACD,MAAM;wCACR,MAAM;qCACT,MAAM;oCACP,MAAM;wCACF,MAAM;kCACZ,MAAM;MAChC;gBAE2B,OAAO,EAAE,wBAAwB;IAQvD,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQxC,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjD,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhD,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC;IAIxD,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAKzC"}
1
+ {"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/AnthropicProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,YAAa,YAAW,QAAQ;IAmBzD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEzC,YAAY;gCACO,MAAM;+BACP,MAAM;0CACK,MAAM;qCACX,MAAM;0CACD,MAAM;wCACR,MAAM;qCACT,MAAM;oCACP,MAAM;wCACF,MAAM;kCACZ,MAAM;MAChC;gBAE2B,OAAO,EAAE,wBAAwB;IAQvD,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQxC,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAIjD,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhD,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC;IAIxD,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAKzC"}
@@ -1,4 +1,5 @@
1
1
  import { BaseProvider } from "../BaseProvider.js";
2
+ import { DEFAULT_ANTHROPIC_BASE_URL } from "../../constants.js";
2
3
  import { Capabilities } from "./Capabilities.js";
3
4
  import { AnthropicChat } from "./Chat.js";
4
5
  import { AnthropicStreaming } from "./Streaming.js";
@@ -24,7 +25,7 @@ export class AnthropicProvider extends BaseProvider {
24
25
  constructor(options) {
25
26
  super();
26
27
  this.options = options;
27
- this.baseUrl = options.baseUrl ?? "https://api.anthropic.com/v1";
28
+ this.baseUrl = options.baseUrl ?? DEFAULT_ANTHROPIC_BASE_URL;
28
29
  this.chatHandler = new AnthropicChat(this.baseUrl, options.apiKey);
29
30
  this.streamHandler = new AnthropicStreaming(this.baseUrl, options.apiKey);
30
31
  this.modelsHandler = new AnthropicModels(this.baseUrl, options.apiKey);
@@ -8,5 +8,6 @@ export declare class Capabilities {
8
8
  static supportsExtendedThinking(modelId: string): boolean;
9
9
  static getCapabilities(modelId: string): string[];
10
10
  static getPricing(modelId: string): ModelPricing | undefined;
11
+ private static findModel;
11
12
  }
12
13
  //# sourceMappingURL=Capabilities.d.ts.map
@@ -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;CAG7D"}
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"}
@@ -10,32 +10,32 @@ export class Capabilities {
10
10
  return val ?? 4_096;
11
11
  }
12
12
  static supportsVision(modelId) {
13
- const model = ModelRegistry.find(modelId, "anthropic");
13
+ const model = this.findModel(modelId);
14
14
  if (model?.modalities?.input?.includes("image"))
15
15
  return true;
16
16
  return /claude-3/.test(modelId);
17
17
  }
18
18
  static supportsTools(modelId) {
19
- const model = ModelRegistry.find(modelId, "anthropic");
19
+ const model = this.findModel(modelId);
20
20
  if (model?.capabilities?.includes("function_calling"))
21
21
  return true;
22
22
  return /claude-3/.test(modelId);
23
23
  }
24
24
  static supportsJsonMode(modelId) {
25
- const model = ModelRegistry.find(modelId, "anthropic");
25
+ const model = this.findModel(modelId);
26
26
  if (model?.capabilities.includes("json_mode"))
27
27
  return true;
28
28
  return this.supportsTools(modelId);
29
29
  }
30
30
  static supportsExtendedThinking(modelId) {
31
- const model = ModelRegistry.find(modelId, "anthropic");
31
+ const model = this.findModel(modelId);
32
32
  if (model?.capabilities.includes("reasoning"))
33
33
  return true;
34
34
  return /claude-3-7/.test(modelId) || /thinking/.test(modelId);
35
35
  }
36
36
  static getCapabilities(modelId) {
37
37
  const caps = ["streaming"];
38
- const model = ModelRegistry.find(modelId, "anthropic");
38
+ const model = this.findModel(modelId);
39
39
  if (model) {
40
40
  if (model.capabilities.includes("function_calling"))
41
41
  caps.push("function_calling");
@@ -62,4 +62,7 @@ export class Capabilities {
62
62
  static getPricing(modelId) {
63
63
  return PricingRegistry.getPricing(modelId, "anthropic");
64
64
  }
65
+ static findModel(modelId) {
66
+ return ModelRegistry.find(modelId, "anthropic");
67
+ }
65
68
  }
@@ -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;AAU3E,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;CAyJ3D"}
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"}
@@ -4,6 +4,7 @@ import { ModelRegistry } from "../../models/ModelRegistry.js";
4
4
  import { logger } from "../../utils/logger.js";
5
5
  import { fetchWithTimeout } from "../../utils/fetch.js";
6
6
  import { formatSystemPrompt, formatMessages } from "./Utils.js";
7
+ import { DEFAULT_MAX_TOKENS } from "../../constants.js";
7
8
  export class AnthropicChat {
8
9
  baseUrl;
9
10
  apiKey;
@@ -13,7 +14,7 @@ export class AnthropicChat {
13
14
  }
14
15
  async execute(request) {
15
16
  const model = request.model;
16
- const maxTokens = request.max_tokens || Capabilities.getMaxOutputTokens(model) || 4096;
17
+ const maxTokens = request.max_tokens || Capabilities.getMaxOutputTokens(model) || DEFAULT_MAX_TOKENS;
17
18
  const systemPrompt = formatSystemPrompt(request.messages);
18
19
  const messages = formatMessages(request.messages);
19
20
  let system = systemPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Errors.ts"],"names":[],"mappings":"AASA,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAyC9F"}
1
+ {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Errors.ts"],"names":[],"mappings":"AAaA,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAwD9F"}
@@ -1,14 +1,16 @@
1
- import { BadRequestError, AuthenticationError, RateLimitError, ServerError, ServiceUnavailableError, APIError } from "../../errors/index.js";
1
+ import { BadRequestError, ContextWindowExceededError, InsufficientQuotaError, InvalidModelError, NotFoundError, AuthenticationError, RateLimitError, ServerError, ServiceUnavailableError, APIError } from "../../errors/index.js";
2
2
  export async function handleAnthropicError(response, modelId) {
3
3
  const status = response.status;
4
4
  let body;
5
5
  let message = `Anthropic error (${status})`;
6
+ let errorType;
6
7
  try {
7
8
  body = await response.json();
8
9
  if (body && typeof body === "object" && "error" in body) {
9
10
  const err = body.error;
10
11
  if (err && err.message) {
11
12
  message = err.message;
13
+ errorType = err.type;
12
14
  }
13
15
  }
14
16
  }
@@ -18,12 +20,24 @@ export async function handleAnthropicError(response, modelId) {
18
20
  }
19
21
  const provider = "anthropic";
20
22
  if (status === 400) {
23
+ if (message.includes("prompt is too long") || message.includes("context_length")) {
24
+ throw new ContextWindowExceededError(message, body, provider, modelId);
25
+ }
21
26
  throw new BadRequestError(message, body, provider, modelId);
22
27
  }
23
28
  if (status === 401 || status === 403) {
24
29
  throw new AuthenticationError(message, status, body, provider);
25
30
  }
31
+ if (status === 404) {
32
+ if (message.includes("model") || errorType === "not_found_error") {
33
+ throw new InvalidModelError(message, body, provider, modelId);
34
+ }
35
+ throw new NotFoundError(message, status, body, provider, modelId);
36
+ }
26
37
  if (status === 429) {
38
+ if (message.includes("quota") || message.includes("credit")) {
39
+ throw new InsufficientQuotaError(message, body, provider, modelId);
40
+ }
27
41
  throw new RateLimitError(message, body, provider, modelId);
28
42
  }
29
43
  if (status === 502 || status === 503 || status === 529) {
@@ -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;AAQxD,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;CAyN9F"}
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"}
@@ -3,6 +3,7 @@ import { handleAnthropicError } from "./Errors.js";
3
3
  import { formatSystemPrompt, formatMessages } from "./Utils.js";
4
4
  import { logger } from "../../utils/logger.js";
5
5
  import { fetchWithTimeout } from "../../utils/fetch.js";
6
+ import { DEFAULT_MAX_TOKENS } from "../../constants.js";
6
7
  export class AnthropicStreaming {
7
8
  baseUrl;
8
9
  apiKey;
@@ -13,7 +14,7 @@ export class AnthropicStreaming {
13
14
  async *execute(request, controller) {
14
15
  const abortController = controller || new AbortController();
15
16
  const model = request.model;
16
- const maxTokens = request.max_tokens || Capabilities.getMaxOutputTokens(model) || 4096;
17
+ const maxTokens = request.max_tokens || Capabilities.getMaxOutputTokens(model) || DEFAULT_MAX_TOKENS;
17
18
  const systemPrompt = formatSystemPrompt(request.messages);
18
19
  const messages = formatMessages(request.messages);
19
20
  let system = systemPrompt;
@@ -156,10 +157,25 @@ export class AnthropicStreaming {
156
157
  // Block finished
157
158
  }
158
159
  else if (eventType === "message_start") {
159
- // Could extract initial usage here
160
+ if (data.message?.usage) {
161
+ const usage = {
162
+ input_tokens: data.message.usage.input_tokens,
163
+ output_tokens: data.message.usage.output_tokens,
164
+ total_tokens: data.message.usage.input_tokens + data.message.usage.output_tokens
165
+ };
166
+ yield { content: "", usage };
167
+ }
160
168
  }
161
169
  else if (eventType === "message_delta") {
162
- // Update usage or stop reason
170
+ // Update usage
171
+ if (data.usage) {
172
+ const usage = {
173
+ input_tokens: 0, // Delta usually only contains output
174
+ output_tokens: data.usage.output_tokens,
175
+ total_tokens: data.usage.output_tokens
176
+ };
177
+ yield { content: "", usage };
178
+ }
163
179
  if (data.delta?.stop_reason === "end_turn" && toolCallsMap.size > 0) {
164
180
  // Yield accumulated tool calls
165
181
  const toolCalls = Array.from(toolCallsMap.values()).map((tc) => ({
@@ -0,0 +1,53 @@
1
+ /**
2
+ * AWS Bedrock Provider
3
+ *
4
+ * Unified provider for all Bedrock-hosted models using the Converse API.
5
+ * Supports: Claude, DeepSeek, Titan, Mistral, Llama, and other Bedrock models.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Using API Key (recommended)
10
+ * const bedrock = new BedrockProvider({
11
+ * region: "us-east-1",
12
+ * apiKey: process.env.AWS_BEARER_TOKEN_BEDROCK
13
+ * });
14
+ *
15
+ * // Using SigV4 (IAM credentials)
16
+ * const bedrock = new BedrockProvider({
17
+ * region: "us-east-1",
18
+ * accessKeyId: process.env.AWS_ACCESS_KEY_ID,
19
+ * secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
20
+ * });
21
+ *
22
+ * const response = await bedrock.chat({
23
+ * model: "anthropic.claude-3-5-haiku-20241022-v1:0",
24
+ * messages: [{ role: "user", content: "Hello!" }]
25
+ * });
26
+ * ```
27
+ */
28
+ import { Provider, ProviderCapabilities, ModelInfo, ChatRequest, ChatResponse, ChatChunk, EmbeddingRequest, EmbeddingResponse, ImageRequest, ImageResponse, ModerationRequest, ModerationResponse } from "../Provider.js";
29
+ import { BaseProvider } from "../BaseProvider.js";
30
+ import { BedrockConfig } from "./config.js";
31
+ export declare class BedrockProvider extends BaseProvider implements Provider {
32
+ private readonly config;
33
+ private readonly chatHandler;
34
+ private readonly modelsHandler;
35
+ private readonly streamingHandler;
36
+ private readonly embeddingsHandler;
37
+ private readonly imageHandler;
38
+ private readonly moderationHandler;
39
+ capabilities: ProviderCapabilities;
40
+ constructor(config: BedrockConfig);
41
+ apiBase(): string;
42
+ headers(): Record<string, string>;
43
+ protected providerName(): string;
44
+ chat(request: ChatRequest): Promise<ChatResponse>;
45
+ stream(request: ChatRequest): AsyncGenerator<ChatChunk>;
46
+ listModels(): Promise<ModelInfo[]>;
47
+ embed(request: EmbeddingRequest): Promise<EmbeddingResponse>;
48
+ paint(request: ImageRequest): Promise<ImageResponse>;
49
+ moderate(request: ModerationRequest): Promise<ModerationResponse>;
50
+ defaultModel(feature?: string): string;
51
+ }
52
+ export { BedrockConfig } from "./config.js";
53
+ //# sourceMappingURL=BedrockProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BedrockProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/bedrock/BedrockProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAC;AAShE,qBAAa,eAAgB,SAAQ,YAAa,YAAW,QAAQ;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAE/C,YAAY,EAAE,oBAAoB,CAYvC;gBAEU,MAAM,EAAE,aAAa;IAW1B,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAUxC,SAAS,CAAC,YAAY,IAAI,MAAM;IAI1B,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhD,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC;IAIxD,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIlC,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI5D,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIvD,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;CAOvD;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * AWS Bedrock Provider
3
+ *
4
+ * Unified provider for all Bedrock-hosted models using the Converse API.
5
+ * Supports: Claude, DeepSeek, Titan, Mistral, Llama, and other Bedrock models.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Using API Key (recommended)
10
+ * const bedrock = new BedrockProvider({
11
+ * region: "us-east-1",
12
+ * apiKey: process.env.AWS_BEARER_TOKEN_BEDROCK
13
+ * });
14
+ *
15
+ * // Using SigV4 (IAM credentials)
16
+ * const bedrock = new BedrockProvider({
17
+ * region: "us-east-1",
18
+ * accessKeyId: process.env.AWS_ACCESS_KEY_ID,
19
+ * secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
20
+ * });
21
+ *
22
+ * const response = await bedrock.chat({
23
+ * model: "anthropic.claude-3-5-haiku-20241022-v1:0",
24
+ * messages: [{ role: "user", content: "Hello!" }]
25
+ * });
26
+ * ```
27
+ */
28
+ import { BaseProvider } from "../BaseProvider.js";
29
+ import { getBedrockEndpoint } from "./config.js";
30
+ import { BedrockChat } from "./Chat.js";
31
+ import { BedrockModels } from "./Models.js";
32
+ import { BedrockStreaming } from "./Streaming.js";
33
+ import { BedrockEmbeddings } from "./Embeddings.js";
34
+ import { BedrockImage } from "./Image.js";
35
+ import { BedrockModeration } from "./Moderation.js";
36
+ import { Capabilities } from "./Capabilities.js";
37
+ export class BedrockProvider extends BaseProvider {
38
+ config;
39
+ chatHandler;
40
+ modelsHandler;
41
+ streamingHandler;
42
+ embeddingsHandler;
43
+ imageHandler;
44
+ moderationHandler;
45
+ capabilities = {
46
+ supportsVision: (model) => Capabilities.supportsVision(model),
47
+ supportsTools: (model) => Capabilities.supportsTools(model),
48
+ supportsStructuredOutput: (model) => Capabilities.supportsJsonMode(model),
49
+ supportsEmbeddings: (model) => Capabilities.supportsEmbeddings(model),
50
+ supportsImageGeneration: (model) => Capabilities.supportsImageGeneration(model),
51
+ supportsTranscription: (_model) => false,
52
+ supportsModeration: (_model) => !!(this.config.guardrailIdentifier && this.config.guardrailVersion),
53
+ supportsReasoning: (model) => Capabilities.supportsExtendedThinking(model),
54
+ supportsDeveloperRole: (_model) => true,
55
+ getContextWindow: (model) => Capabilities.getContextWindow(model)
56
+ };
57
+ constructor(config) {
58
+ super();
59
+ this.config = config;
60
+ this.chatHandler = new BedrockChat(config);
61
+ this.modelsHandler = new BedrockModels(config);
62
+ this.streamingHandler = new BedrockStreaming(config);
63
+ this.embeddingsHandler = new BedrockEmbeddings(config);
64
+ this.imageHandler = new BedrockImage(config);
65
+ this.moderationHandler = new BedrockModeration(config);
66
+ }
67
+ apiBase() {
68
+ return getBedrockEndpoint(this.config.region);
69
+ }
70
+ headers() {
71
+ // Headers are built dynamically based on auth mode
72
+ // This method is primarily for SigV4 signing, which happens at the HTTP client level.
73
+ // For API Key auth, the key is passed in the Authorization header directly.
74
+ // For now, we return a default Content-Type.
75
+ return {
76
+ "Content-Type": "application/json"
77
+ };
78
+ }
79
+ providerName() {
80
+ return "bedrock";
81
+ }
82
+ async chat(request) {
83
+ return this.chatHandler.execute(request);
84
+ }
85
+ async *stream(request) {
86
+ yield* this.streamingHandler.execute(request);
87
+ }
88
+ async listModels() {
89
+ return this.modelsHandler.execute();
90
+ }
91
+ async embed(request) {
92
+ return this.embeddingsHandler.execute(request);
93
+ }
94
+ async paint(request) {
95
+ return this.imageHandler.execute(request);
96
+ }
97
+ async moderate(request) {
98
+ return this.moderationHandler.execute(request);
99
+ }
100
+ defaultModel(feature) {
101
+ if (feature === "embeddings") {
102
+ return "amazon.titan-embed-text-v2:0";
103
+ }
104
+ // Amazon Nova Lite is available by default and cost-effective
105
+ return "amazon.nova-lite-v1:0";
106
+ }
107
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Maps Bedrock model IDs to their capabilities.
3
+ */
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
+ export declare class Capabilities {
7
+ static getModelFamily(modelId: string): ModelFamily;
8
+ static getContextWindow(modelId: string): number | null;
9
+ static getMaxOutputTokens(modelId: string): number | null;
10
+ static supportsChat(modelId: string): boolean;
11
+ static supportsStreaming(modelId: string): boolean;
12
+ static supportsVision(modelId: string): boolean;
13
+ static supportsTools(modelId: string): boolean;
14
+ static supportsJsonMode(modelId: string): boolean;
15
+ static supportsExtendedThinking(modelId: string): boolean;
16
+ static supportsEmbeddings(modelId: string): boolean;
17
+ 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
+ */
25
+ 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
+ */
33
+ static getCapabilities(modelId: string): string[];
34
+ 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
+ */
46
+ static formatDisplayName(modelId: string): string;
47
+ private static findModel;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=Capabilities.d.ts.map
@@ -0,0 +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"}