@node-llm/core 1.6.2 → 1.8.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 (105) hide show
  1. package/README.md +9 -8
  2. package/dist/aliases.d.ts +215 -0
  3. package/dist/aliases.d.ts.map +1 -1
  4. package/dist/aliases.js +241 -26
  5. package/dist/chat/Chat.d.ts +12 -3
  6. package/dist/chat/Chat.d.ts.map +1 -1
  7. package/dist/chat/Chat.js +35 -5
  8. package/dist/chat/ChatOptions.d.ts +2 -1
  9. package/dist/chat/ChatOptions.d.ts.map +1 -1
  10. package/dist/chat/ChatResponse.d.ts +9 -2
  11. package/dist/chat/ChatResponse.d.ts.map +1 -1
  12. package/dist/chat/ChatResponse.js +12 -3
  13. package/dist/chat/ChatStream.d.ts.map +1 -1
  14. package/dist/chat/ChatStream.js +15 -1
  15. package/dist/chat/Content.d.ts +7 -0
  16. package/dist/chat/Content.d.ts.map +1 -1
  17. package/dist/config.d.ts +28 -0
  18. package/dist/config.d.ts.map +1 -1
  19. package/dist/config.js +50 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/llm.d.ts.map +1 -1
  23. package/dist/llm.js +3 -2
  24. package/dist/models/models.d.ts +321 -76
  25. package/dist/models/models.d.ts.map +1 -1
  26. package/dist/models/models.js +7804 -2885
  27. package/dist/providers/Provider.d.ts +37 -0
  28. package/dist/providers/Provider.d.ts.map +1 -1
  29. package/dist/providers/anthropic/Capabilities.d.ts +1 -0
  30. package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
  31. package/dist/providers/anthropic/Capabilities.js +8 -5
  32. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  33. package/dist/providers/anthropic/Chat.js +23 -1
  34. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  35. package/dist/providers/anthropic/Streaming.js +15 -0
  36. package/dist/providers/anthropic/types.d.ts +7 -1
  37. package/dist/providers/anthropic/types.d.ts.map +1 -1
  38. package/dist/providers/bedrock/BedrockProvider.d.ts +53 -0
  39. package/dist/providers/bedrock/BedrockProvider.d.ts.map +1 -0
  40. package/dist/providers/bedrock/BedrockProvider.js +107 -0
  41. package/dist/providers/bedrock/Capabilities.d.ts +50 -0
  42. package/dist/providers/bedrock/Capabilities.d.ts.map +1 -0
  43. package/dist/providers/bedrock/Capabilities.js +233 -0
  44. package/dist/providers/bedrock/Chat.d.ts +26 -0
  45. package/dist/providers/bedrock/Chat.d.ts.map +1 -0
  46. package/dist/providers/bedrock/Chat.js +170 -0
  47. package/dist/providers/bedrock/Embeddings.d.ts +22 -0
  48. package/dist/providers/bedrock/Embeddings.d.ts.map +1 -0
  49. package/dist/providers/bedrock/Embeddings.js +100 -0
  50. package/dist/providers/bedrock/Image.d.ts +33 -0
  51. package/dist/providers/bedrock/Image.d.ts.map +1 -0
  52. package/dist/providers/bedrock/Image.js +154 -0
  53. package/dist/providers/bedrock/Models.d.ts +34 -0
  54. package/dist/providers/bedrock/Models.d.ts.map +1 -0
  55. package/dist/providers/bedrock/Models.js +131 -0
  56. package/dist/providers/bedrock/Moderation.d.ts +23 -0
  57. package/dist/providers/bedrock/Moderation.d.ts.map +1 -0
  58. package/dist/providers/bedrock/Moderation.js +138 -0
  59. package/dist/providers/bedrock/Streaming.d.ts +21 -0
  60. package/dist/providers/bedrock/Streaming.d.ts.map +1 -0
  61. package/dist/providers/bedrock/Streaming.js +240 -0
  62. package/dist/providers/bedrock/config.d.ts +57 -0
  63. package/dist/providers/bedrock/config.d.ts.map +1 -0
  64. package/dist/providers/bedrock/config.js +33 -0
  65. package/dist/providers/bedrock/index.d.ts +8 -0
  66. package/dist/providers/bedrock/index.d.ts.map +1 -0
  67. package/dist/providers/bedrock/index.js +30 -0
  68. package/dist/providers/bedrock/mapper.d.ts +37 -0
  69. package/dist/providers/bedrock/mapper.d.ts.map +1 -0
  70. package/dist/providers/bedrock/mapper.js +204 -0
  71. package/dist/providers/bedrock/types.d.ts +179 -0
  72. package/dist/providers/bedrock/types.d.ts.map +1 -0
  73. package/dist/providers/bedrock/types.js +7 -0
  74. package/dist/providers/deepseek/Capabilities.d.ts +3 -2
  75. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  76. package/dist/providers/deepseek/Capabilities.js +19 -5
  77. package/dist/providers/deepseek/Chat.d.ts.map +1 -1
  78. package/dist/providers/deepseek/Chat.js +9 -2
  79. package/dist/providers/deepseek/Streaming.d.ts.map +1 -1
  80. package/dist/providers/deepseek/Streaming.js +3 -2
  81. package/dist/providers/gemini/Capabilities.d.ts +1 -0
  82. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  83. package/dist/providers/gemini/Capabilities.js +9 -6
  84. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  85. package/dist/providers/gemini/Chat.js +4 -5
  86. package/dist/providers/gemini/Streaming.d.ts.map +1 -1
  87. package/dist/providers/gemini/Streaming.js +17 -2
  88. package/dist/providers/gemini/types.d.ts +4 -0
  89. package/dist/providers/gemini/types.d.ts.map +1 -1
  90. package/dist/providers/ollama/Capabilities.d.ts.map +1 -1
  91. package/dist/providers/ollama/Capabilities.js +4 -1
  92. package/dist/providers/openai/Capabilities.d.ts +1 -0
  93. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  94. package/dist/providers/openai/Capabilities.js +14 -11
  95. package/dist/providers/openai/Chat.d.ts.map +1 -1
  96. package/dist/providers/openai/Chat.js +18 -3
  97. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  98. package/dist/providers/openai/Streaming.js +11 -3
  99. package/dist/providers/registry.d.ts +2 -1
  100. package/dist/providers/registry.d.ts.map +1 -1
  101. package/dist/providers/registry.js +2 -1
  102. package/dist/utils/AwsSigV4.d.ts +51 -0
  103. package/dist/utils/AwsSigV4.d.ts.map +1 -0
  104. package/dist/utils/AwsSigV4.js +209 -0
  105. package/package.json +1 -1
@@ -11,10 +11,37 @@ export interface ResponseFormat {
11
11
  };
12
12
  [key: string]: unknown;
13
13
  }
14
+ export interface ThinkingConfig {
15
+ /**
16
+ * Effort level for thinking-capable models.
17
+ * 'low', 'medium', 'high' map to provider-specific qualitative settings.
18
+ * 'none' disables thinking if the model allows it.
19
+ */
20
+ effort?: "low" | "medium" | "high" | "none";
21
+ /**
22
+ * Maximum budget (in tokens) dedicated to thinking.
23
+ */
24
+ budget?: number;
25
+ }
26
+ export interface ThinkingResult {
27
+ /**
28
+ * The thinking text (chain of thought).
29
+ */
30
+ text?: string;
31
+ /**
32
+ * Cryptographic signature or provider-specific trace ID.
33
+ */
34
+ signature?: string;
35
+ /**
36
+ * Tokens consumed during thinking.
37
+ */
38
+ tokens?: number;
39
+ }
14
40
  export interface ChatRequest {
15
41
  model: string;
16
42
  messages: Message[];
17
43
  tools?: ToolDefinition[];
44
+ thinking?: ThinkingConfig;
18
45
  temperature?: number;
19
46
  max_tokens?: number;
20
47
  response_format?: ResponseFormat;
@@ -24,15 +51,20 @@ export interface ChatRequest {
24
51
  }
25
52
  export interface ChatChunk {
26
53
  content: string;
54
+ thinking?: ThinkingResult;
55
+ /** @deprecated use thinking.text */
27
56
  reasoning?: string;
28
57
  tool_calls?: ToolCall[];
29
58
  done?: boolean;
30
59
  usage?: Usage;
60
+ finish_reason?: string | null;
61
+ metadata?: Record<string, unknown>;
31
62
  }
32
63
  export interface Usage {
33
64
  input_tokens: number;
34
65
  output_tokens: number;
35
66
  total_tokens: number;
67
+ reasoning_tokens?: number;
36
68
  cached_tokens?: number;
37
69
  cache_creation_tokens?: number;
38
70
  cost?: number;
@@ -41,9 +73,13 @@ export interface Usage {
41
73
  }
42
74
  export interface ChatResponse {
43
75
  content: string | null;
76
+ thinking?: ThinkingResult;
77
+ /** @deprecated use thinking.text */
44
78
  reasoning?: string | null;
45
79
  tool_calls?: ToolCall[];
46
80
  usage?: Usage;
81
+ finish_reason?: string | null;
82
+ metadata?: Record<string, unknown>;
47
83
  }
48
84
  export interface ProviderCapabilities {
49
85
  supportsVision(modelId: string): boolean;
@@ -78,6 +114,7 @@ export interface ImageRequest {
78
114
  size?: string;
79
115
  quality?: string;
80
116
  n?: number;
117
+ headers?: Record<string, string>;
81
118
  requestTimeout?: number;
82
119
  }
83
120
  export interface ImageResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/providers/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;IAC7C,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACnD,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7C,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAClD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,CAAC,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACxD,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACpC,KAAK,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,UAAU,CAAC,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3E,QAAQ,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE,KAAK,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9D,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO,CAAC;CACZ"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/providers/Provider.ts"],"names":[],"mappings":"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"}
@@ -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,EAAE,MAAM,gBAAgB,CAAC;AAU3D,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;CAoI3D"}
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"}
@@ -27,7 +27,7 @@ export class AnthropicChat {
27
27
  const instruction = `CRITICAL: Respond ONLY with a valid JSON object matching the requested schema.${schemaText}\n\nDo not include any other text or explanation.`;
28
28
  system = system ? `${system}\n\n${instruction}` : instruction;
29
29
  }
30
- const { model: _model, messages: _messages, tools: _tools, temperature: _temp, max_tokens: _max, response_format: _format, headers: _headers, requestTimeout, ...rest } = request;
30
+ const { model: _model, messages: _messages, tools: _tools, temperature: _temp, max_tokens: _max, response_format: _format, thinking: _thinking, headers: _headers, requestTimeout, ...rest } = request;
31
31
  const body = {
32
32
  model: model,
33
33
  messages: messages,
@@ -36,6 +36,16 @@ export class AnthropicChat {
36
36
  stream: false,
37
37
  ...rest
38
38
  };
39
+ if (_thinking?.budget) {
40
+ body.thinking = {
41
+ type: "enabled",
42
+ budget_tokens: _thinking.budget
43
+ };
44
+ // Extended thinking models require a larger max_tokens
45
+ if (!request.max_tokens) {
46
+ body.max_tokens = Math.max(maxTokens, _thinking.budget + 1024);
47
+ }
48
+ }
39
49
  if (request.temperature !== undefined) {
40
50
  body.temperature = request.temperature;
41
51
  }
@@ -73,6 +83,7 @@ export class AnthropicChat {
73
83
  const contentBlocks = json.content;
74
84
  // Extract text content and tool calls
75
85
  let content = null;
86
+ let thinkingResult = undefined;
76
87
  const toolCalls = [];
77
88
  for (const block of contentBlocks) {
78
89
  if (block.type === "text") {
@@ -80,6 +91,16 @@ export class AnthropicChat {
80
91
  content = "";
81
92
  content += block.text;
82
93
  }
94
+ else if (block.type === "thinking") {
95
+ // Handle thinking block (Claude 3.7)
96
+ if (!thinkingResult)
97
+ thinkingResult = { text: "" };
98
+ if (block.thinking) {
99
+ thinkingResult.text = (thinkingResult.text || "") + block.thinking;
100
+ }
101
+ if (block.signature)
102
+ thinkingResult.signature = block.signature;
103
+ }
83
104
  else if (block.type === "tool_use") {
84
105
  toolCalls.push({
85
106
  id: block.id,
@@ -106,6 +127,7 @@ export class AnthropicChat {
106
127
  return {
107
128
  content,
108
129
  usage: calculatedUsage,
130
+ thinking: thinkingResult,
109
131
  tool_calls: toolCalls.length > 0 ? toolCalls : undefined
110
132
  };
111
133
  }
@@ -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;CA2M9F"}
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"}
@@ -44,6 +44,15 @@ export class AnthropicStreaming {
44
44
  input_schema: tool.function.parameters
45
45
  }));
46
46
  }
47
+ if (request.thinking?.budget) {
48
+ body.thinking = {
49
+ type: "enabled",
50
+ budget_tokens: request.thinking.budget
51
+ };
52
+ if (!request.max_tokens) {
53
+ body.max_tokens = Math.max(maxTokens, request.thinking.budget + 1024);
54
+ }
55
+ }
47
56
  // Check if any message contains PDF content to add beta header
48
57
  const hasPdf = messages.some((msg) => Array.isArray(msg.content) && msg.content.some((block) => block.type === "document"));
49
58
  const headers = {
@@ -128,6 +137,12 @@ export class AnthropicStreaming {
128
137
  if (data.delta && data.delta.type === "text_delta") {
129
138
  yield { content: data.delta.text };
130
139
  }
140
+ else if (data.delta && data.delta.type === "thinking_delta") {
141
+ yield { content: "", thinking: { text: data.delta.thinking } };
142
+ }
143
+ else if (data.delta && data.delta.type === "signature_delta") {
144
+ yield { content: "", thinking: { signature: data.delta.signature } };
145
+ }
131
146
  else if (data.delta && data.delta.type === "input_json_delta") {
132
147
  // Accumulate tool arguments
133
148
  const index = data.index;
@@ -3,7 +3,7 @@ export interface AnthropicMessage {
3
3
  content: string | Array<AnthropicContentBlock>;
4
4
  }
5
5
  export interface AnthropicContentBlock {
6
- type: "text" | "image" | "tool_use" | "tool_result" | "document";
6
+ type: "text" | "image" | "tool_use" | "tool_result" | "document" | "thinking" | "redacted_thinking";
7
7
  text?: string;
8
8
  source?: {
9
9
  type: "base64";
@@ -16,6 +16,8 @@ export interface AnthropicContentBlock {
16
16
  tool_use_id?: string;
17
17
  content?: string | Array<AnthropicContentBlock>;
18
18
  is_error?: boolean;
19
+ thinking?: string;
20
+ signature?: string;
19
21
  }
20
22
  export interface AnthropicMessageRequest {
21
23
  model: string;
@@ -37,6 +39,10 @@ export interface AnthropicMessageRequest {
37
39
  type: string;
38
40
  name?: string;
39
41
  };
42
+ thinking?: {
43
+ type: "enabled" | "disabled";
44
+ budget_tokens: number;
45
+ };
40
46
  }
41
47
  export interface AnthropicUsage {
42
48
  input_tokens: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC,CAAC;IACH,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,IAAI,CAAC;IAC7E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,MAAM,GACN,OAAO,GACP,UAAU,GACV,aAAa,GACb,UAAU,GACV,UAAU,GACV,mBAAmB,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC,CAAC;IACH,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,IAAI,CAAC;IAC7E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
@@ -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"}