@node-llm/core 1.5.2 → 1.6.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 (185) hide show
  1. package/README.md +84 -110
  2. package/dist/aliases.js +239 -239
  3. package/dist/chat/Chat.d.ts +18 -17
  4. package/dist/chat/Chat.d.ts.map +1 -1
  5. package/dist/chat/Chat.js +63 -42
  6. package/dist/chat/ChatOptions.d.ts +8 -9
  7. package/dist/chat/ChatOptions.d.ts.map +1 -1
  8. package/dist/chat/ChatResponse.d.ts +1 -1
  9. package/dist/chat/ChatResponse.d.ts.map +1 -1
  10. package/dist/chat/ChatResponse.js +22 -8
  11. package/dist/chat/ChatStream.d.ts.map +1 -1
  12. package/dist/chat/ChatStream.js +16 -22
  13. package/dist/chat/Content.d.ts +3 -3
  14. package/dist/chat/Content.d.ts.map +1 -1
  15. package/dist/chat/Content.js +3 -6
  16. package/dist/chat/Message.d.ts +3 -1
  17. package/dist/chat/Message.d.ts.map +1 -1
  18. package/dist/chat/Role.d.ts.map +1 -1
  19. package/dist/chat/Tool.d.ts +15 -15
  20. package/dist/chat/Tool.d.ts.map +1 -1
  21. package/dist/chat/Tool.js +9 -7
  22. package/dist/chat/ToolHandler.d.ts +4 -3
  23. package/dist/chat/ToolHandler.d.ts.map +1 -1
  24. package/dist/chat/ToolHandler.js +10 -14
  25. package/dist/chat/Validation.d.ts.map +1 -1
  26. package/dist/chat/Validation.js +13 -6
  27. package/dist/config.d.ts +4 -0
  28. package/dist/config.d.ts.map +1 -1
  29. package/dist/config.js +80 -25
  30. package/dist/constants.js +1 -1
  31. package/dist/errors/index.d.ts +21 -7
  32. package/dist/errors/index.d.ts.map +1 -1
  33. package/dist/errors/index.js +14 -0
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -1
  37. package/dist/llm.d.ts +44 -46
  38. package/dist/llm.d.ts.map +1 -1
  39. package/dist/llm.js +206 -134
  40. package/dist/model_aliases.d.ts.map +1 -1
  41. package/dist/models/ModelRegistry.d.ts.map +1 -1
  42. package/dist/models/ModelRegistry.js +12 -10
  43. package/dist/models/PricingRegistry.d.ts +31 -0
  44. package/dist/models/PricingRegistry.d.ts.map +1 -0
  45. package/dist/models/PricingRegistry.js +101 -0
  46. package/dist/models/models.d.ts.map +1 -1
  47. package/dist/models/models.js +5954 -7352
  48. package/dist/models/types.d.ts +37 -34
  49. package/dist/models/types.d.ts.map +1 -1
  50. package/dist/moderation/Moderation.d.ts.map +1 -1
  51. package/dist/moderation/Moderation.js +15 -5
  52. package/dist/providers/BaseProvider.d.ts +12 -8
  53. package/dist/providers/BaseProvider.d.ts.map +1 -1
  54. package/dist/providers/BaseProvider.js +17 -7
  55. package/dist/providers/Provider.d.ts +20 -5
  56. package/dist/providers/Provider.d.ts.map +1 -1
  57. package/dist/providers/anthropic/AnthropicProvider.d.ts +1 -1
  58. package/dist/providers/anthropic/AnthropicProvider.d.ts.map +1 -1
  59. package/dist/providers/anthropic/AnthropicProvider.js +3 -3
  60. package/dist/providers/anthropic/Capabilities.d.ts +2 -1
  61. package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
  62. package/dist/providers/anthropic/Capabilities.js +3 -20
  63. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  64. package/dist/providers/anthropic/Chat.js +27 -17
  65. package/dist/providers/anthropic/Errors.d.ts.map +1 -1
  66. package/dist/providers/anthropic/Errors.js +5 -2
  67. package/dist/providers/anthropic/Models.d.ts.map +1 -1
  68. package/dist/providers/anthropic/Models.js +6 -6
  69. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  70. package/dist/providers/anthropic/Streaming.js +17 -12
  71. package/dist/providers/anthropic/Utils.js +8 -5
  72. package/dist/providers/anthropic/index.d.ts.map +1 -1
  73. package/dist/providers/anthropic/index.js +4 -3
  74. package/dist/providers/anthropic/types.d.ts +11 -4
  75. package/dist/providers/anthropic/types.d.ts.map +1 -1
  76. package/dist/providers/deepseek/Capabilities.d.ts +7 -5
  77. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  78. package/dist/providers/deepseek/Capabilities.js +9 -5
  79. package/dist/providers/deepseek/Chat.d.ts.map +1 -1
  80. package/dist/providers/deepseek/Chat.js +10 -9
  81. package/dist/providers/deepseek/DeepSeekProvider.d.ts +1 -1
  82. package/dist/providers/deepseek/DeepSeekProvider.d.ts.map +1 -1
  83. package/dist/providers/deepseek/DeepSeekProvider.js +4 -4
  84. package/dist/providers/deepseek/Models.d.ts.map +1 -1
  85. package/dist/providers/deepseek/Models.js +7 -7
  86. package/dist/providers/deepseek/Streaming.d.ts.map +1 -1
  87. package/dist/providers/deepseek/Streaming.js +11 -8
  88. package/dist/providers/deepseek/index.d.ts.map +1 -1
  89. package/dist/providers/deepseek/index.js +5 -4
  90. package/dist/providers/gemini/Capabilities.d.ts +5 -33
  91. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  92. package/dist/providers/gemini/Capabilities.js +7 -30
  93. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  94. package/dist/providers/gemini/Chat.js +24 -19
  95. package/dist/providers/gemini/ChatUtils.d.ts.map +1 -1
  96. package/dist/providers/gemini/ChatUtils.js +10 -10
  97. package/dist/providers/gemini/Embeddings.d.ts.map +1 -1
  98. package/dist/providers/gemini/Embeddings.js +2 -2
  99. package/dist/providers/gemini/Errors.d.ts.map +1 -1
  100. package/dist/providers/gemini/Errors.js +5 -2
  101. package/dist/providers/gemini/GeminiProvider.d.ts +1 -1
  102. package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -1
  103. package/dist/providers/gemini/GeminiProvider.js +3 -3
  104. package/dist/providers/gemini/Image.d.ts.map +1 -1
  105. package/dist/providers/gemini/Image.js +8 -8
  106. package/dist/providers/gemini/Models.d.ts.map +1 -1
  107. package/dist/providers/gemini/Models.js +6 -6
  108. package/dist/providers/gemini/Streaming.d.ts.map +1 -1
  109. package/dist/providers/gemini/Streaming.js +18 -14
  110. package/dist/providers/gemini/Transcription.d.ts.map +1 -1
  111. package/dist/providers/gemini/Transcription.js +11 -11
  112. package/dist/providers/gemini/index.d.ts +1 -1
  113. package/dist/providers/gemini/index.d.ts.map +1 -1
  114. package/dist/providers/gemini/index.js +5 -4
  115. package/dist/providers/gemini/types.d.ts +4 -4
  116. package/dist/providers/gemini/types.d.ts.map +1 -1
  117. package/dist/providers/ollama/Capabilities.d.ts.map +1 -1
  118. package/dist/providers/ollama/Capabilities.js +6 -2
  119. package/dist/providers/ollama/Models.js +1 -1
  120. package/dist/providers/ollama/OllamaProvider.d.ts +1 -1
  121. package/dist/providers/ollama/OllamaProvider.d.ts.map +1 -1
  122. package/dist/providers/ollama/OllamaProvider.js +2 -2
  123. package/dist/providers/ollama/index.d.ts +1 -1
  124. package/dist/providers/ollama/index.d.ts.map +1 -1
  125. package/dist/providers/ollama/index.js +7 -3
  126. package/dist/providers/openai/Capabilities.d.ts +2 -1
  127. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  128. package/dist/providers/openai/Capabilities.js +9 -21
  129. package/dist/providers/openai/Chat.d.ts.map +1 -1
  130. package/dist/providers/openai/Chat.js +18 -14
  131. package/dist/providers/openai/Embedding.d.ts.map +1 -1
  132. package/dist/providers/openai/Embedding.js +11 -7
  133. package/dist/providers/openai/Errors.d.ts.map +1 -1
  134. package/dist/providers/openai/Errors.js +5 -2
  135. package/dist/providers/openai/Image.d.ts.map +1 -1
  136. package/dist/providers/openai/Image.js +6 -6
  137. package/dist/providers/openai/Models.d.ts +1 -1
  138. package/dist/providers/openai/Models.d.ts.map +1 -1
  139. package/dist/providers/openai/Models.js +12 -8
  140. package/dist/providers/openai/Moderation.d.ts.map +1 -1
  141. package/dist/providers/openai/Moderation.js +6 -6
  142. package/dist/providers/openai/OpenAIProvider.d.ts +2 -3
  143. package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -1
  144. package/dist/providers/openai/OpenAIProvider.js +4 -4
  145. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  146. package/dist/providers/openai/Streaming.js +18 -13
  147. package/dist/providers/openai/Transcription.d.ts.map +1 -1
  148. package/dist/providers/openai/Transcription.js +15 -12
  149. package/dist/providers/openai/index.d.ts +1 -1
  150. package/dist/providers/openai/index.d.ts.map +1 -1
  151. package/dist/providers/openai/index.js +6 -5
  152. package/dist/providers/openai/types.d.ts +1 -1
  153. package/dist/providers/openai/utils.js +2 -2
  154. package/dist/providers/openrouter/Capabilities.d.ts +3 -3
  155. package/dist/providers/openrouter/Capabilities.d.ts.map +1 -1
  156. package/dist/providers/openrouter/Capabilities.js +21 -24
  157. package/dist/providers/openrouter/Models.d.ts.map +1 -1
  158. package/dist/providers/openrouter/Models.js +20 -16
  159. package/dist/providers/openrouter/OpenRouterProvider.d.ts.map +1 -1
  160. package/dist/providers/openrouter/OpenRouterProvider.js +1 -1
  161. package/dist/providers/openrouter/index.d.ts +1 -1
  162. package/dist/providers/openrouter/index.d.ts.map +1 -1
  163. package/dist/providers/openrouter/index.js +6 -5
  164. package/dist/providers/registry.d.ts +18 -2
  165. package/dist/providers/registry.d.ts.map +1 -1
  166. package/dist/providers/registry.js +17 -2
  167. package/dist/providers/utils.js +1 -1
  168. package/dist/schema/Schema.d.ts +3 -3
  169. package/dist/schema/Schema.d.ts.map +1 -1
  170. package/dist/schema/Schema.js +2 -2
  171. package/dist/schema/to-json-schema.d.ts +1 -1
  172. package/dist/schema/to-json-schema.d.ts.map +1 -1
  173. package/dist/streaming/Stream.d.ts.map +1 -1
  174. package/dist/streaming/Stream.js +3 -3
  175. package/dist/utils/Binary.d.ts.map +1 -1
  176. package/dist/utils/Binary.js +32 -23
  177. package/dist/utils/FileLoader.d.ts.map +1 -1
  178. package/dist/utils/FileLoader.js +25 -4
  179. package/dist/utils/audio.js +2 -2
  180. package/dist/utils/fetch.d.ts.map +1 -1
  181. package/dist/utils/fetch.js +14 -4
  182. package/dist/utils/logger.d.ts +3 -3
  183. package/dist/utils/logger.d.ts.map +1 -1
  184. package/dist/utils/logger.js +2 -2
  185. package/package.json +1 -1
@@ -1,3 +1,35 @@
1
+ export interface ModelPricing {
2
+ text_tokens?: {
3
+ standard?: {
4
+ input_per_million?: number;
5
+ cached_input_per_million?: number;
6
+ output_per_million?: number;
7
+ reasoning_output_per_million?: number;
8
+ };
9
+ batch?: {
10
+ input_per_million?: number;
11
+ cached_input_per_million?: number;
12
+ output_per_million?: number;
13
+ reasoning_output_per_million?: number;
14
+ };
15
+ };
16
+ images?: {
17
+ standard?: {
18
+ input?: number;
19
+ output?: number;
20
+ };
21
+ batch?: {
22
+ input?: number;
23
+ output?: number;
24
+ };
25
+ };
26
+ audio_tokens?: {
27
+ standard?: {
28
+ input_per_million?: number;
29
+ output_per_million?: number;
30
+ };
31
+ };
32
+ }
1
33
  export interface Model {
2
34
  id: string;
3
35
  name: string;
@@ -12,39 +44,10 @@ export interface Model {
12
44
  output: string[];
13
45
  };
14
46
  capabilities: string[];
15
- pricing?: {
16
- text_tokens?: {
17
- standard?: {
18
- input_per_million?: number;
19
- cached_input_per_million?: number;
20
- output_per_million?: number;
21
- reasoning_output_per_million?: number;
22
- };
23
- batch?: {
24
- input_per_million?: number;
25
- output_per_million?: number;
26
- };
27
- };
28
- images?: {
29
- standard?: {
30
- input?: number;
31
- output?: number;
32
- };
33
- batch?: {
34
- input?: number;
35
- output?: number;
36
- };
37
- };
38
- audio_tokens?: {
39
- standard?: {
40
- input_per_million?: number;
41
- output_per_million?: number;
42
- };
43
- };
44
- };
45
- metadata?: Record<string, any>;
47
+ pricing?: ModelPricing;
48
+ metadata?: Record<string, unknown>;
46
49
  }
47
- export type ProviderName = 'openai' | 'anthropic' | 'gemini' | 'deepseek' | 'openrouter' | 'ollama';
48
- export type ModelCapability = 'streaming' | 'function_calling' | 'structured_output' | 'predicted_outputs' | 'distillation' | 'fine_tuning' | 'batch' | 'realtime' | 'image_generation' | 'speech_generation' | 'transcription' | 'translation' | 'citations' | 'reasoning' | 'caching' | 'moderation' | 'json_mode' | 'vision' | 'chat' | 'tools';
49
- export type ModelModality = 'text' | 'image' | 'audio' | 'pdf' | 'video' | 'file' | 'embeddings' | 'moderation';
50
+ export type ProviderName = "openai" | "anthropic" | "gemini" | "deepseek" | "openrouter" | "ollama" | (string & {});
51
+ export type ModelCapability = "streaming" | "function_calling" | "structured_output" | "predicted_outputs" | "distillation" | "fine_tuning" | "batch" | "realtime" | "image_generation" | "speech_generation" | "transcription" | "translation" | "citations" | "reasoning" | "caching" | "moderation" | "json_mode" | "vision" | "chat" | "tools";
52
+ export type ModelModality = "text" | "image" | "audio" | "pdf" | "video" | "file" | "embeddings" | "moderation";
50
53
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE;YACZ,QAAQ,CAAC,EAAE;gBACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;gBAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;aACvC,CAAC;YACF,KAAK,CAAC,EAAE;gBACN,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;aAC7B,CAAC;SACH,CAAC;QACF,MAAM,CAAC,EAAE;YACP,QAAQ,CAAC,EAAE;gBACT,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,MAAM,CAAC,EAAE,MAAM,CAAC;aACjB,CAAC;YACF,KAAK,CAAC,EAAE;gBACN,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,MAAM,CAAC,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;QACF,YAAY,CAAC,EAAE;YACb,QAAQ,CAAC,EAAE;gBACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEpG,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,OAAO,GACP,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,WAAW,GACX,WAAW,GACX,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,OAAO,GACP,KAAK,GACL,OAAO,GACP,MAAM,GACN,YAAY,GACZ,YAAY,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE;YACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;YAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;SACvC,CAAC;QACF,KAAK,CAAC,EAAE;YACN,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;YAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;SACvC,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE;YACT,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,KAAK,CAAC,EAAE;YACN,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE;YACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC7B,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,OAAO,GACP,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,WAAW,GACX,WAAW,GACX,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,OAAO,GACP,KAAK,GACL,OAAO,GACP,MAAM,GACN,YAAY,GACZ,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Moderation.d.ts","sourceRoot":"","sources":["../../src/moderation/Moderation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEhF;;;GAGG;AACH,qBAAa,UAAW,YAAW,QAAQ,CAAC,cAAc,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,kBAAkB;IAEzD,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,EAAE,CAE9B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAMhC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAExC;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3C;IAGD,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAmC;IACrE,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAgC;IAC7E,SAAS,IAAI,OAAO;IAEpB;;OAEG;IACF,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC;CAK/C;AAED;;GAEG;AACH,qBAAa,cAAc;aACG,GAAG,EAAE,gBAAgB;gBAArB,GAAG,EAAE,gBAAgB;IAEjD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAExC;IAED,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3C;IAED,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAEhC;IAGD,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAmC;IACrE,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAgC;CAC9E"}
1
+ {"version":3,"file":"Moderation.d.ts","sourceRoot":"","sources":["../../src/moderation/Moderation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEhF;;;GAGG;AACH,qBAAa,UAAW,YAAW,QAAQ,CAAC,cAAc,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,kBAAkB;IAEzD,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,EAAE,CAE9B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAMhC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAExC;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3C;IAGD,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IACD,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5C;IACD,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACF,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC;CAK/C;AAED;;GAEG;AACH,qBAAa,cAAc;aACG,GAAG,EAAE,gBAAgB;gBAArB,GAAG,EAAE,gBAAgB;IAEjD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAExC;IAED,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3C;IAED,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAEhC;IAGD,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IACD,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5C;CACF"}
@@ -54,9 +54,15 @@ export class Moderation {
54
54
  return this.results[0]?.categoryScores || {};
55
55
  }
56
56
  // --- Ruby-compatible aliases ---
57
- get flagged_categories() { return this.flaggedCategories; }
58
- get category_scores() { return this.categoryScores; }
59
- isFlagged() { return this.flagged; }
57
+ get flagged_categories() {
58
+ return this.flaggedCategories;
59
+ }
60
+ get category_scores() {
61
+ return this.categoryScores;
62
+ }
63
+ isFlagged() {
64
+ return this.flagged;
65
+ }
60
66
  /**
61
67
  * Makes the Moderation object iterable (yields results)
62
68
  */
@@ -87,6 +93,10 @@ export class ModerationItem {
87
93
  return Object.keys(this.categories).filter((cat) => this.categories[cat]);
88
94
  }
89
95
  // --- Ruby-compatible aliases ---
90
- get flagged_categories() { return this.flaggedCategories; }
91
- get category_scores() { return this.categoryScores; }
96
+ get flagged_categories() {
97
+ return this.flaggedCategories;
98
+ }
99
+ get category_scores() {
100
+ return this.categoryScores;
101
+ }
92
102
  }
@@ -1,4 +1,5 @@
1
- import { Provider, ChatRequest, ChatResponse, ChatChunk, ModelInfo, ImageRequest, ImageResponse, TranscriptionRequest, TranscriptionResponse, ModerationRequest, ModerationResponse, EmbeddingRequest, EmbeddingResponse } from "./Provider.js";
1
+ import { Message } from "../chat/Message.js";
2
+ import { Provider, ChatRequest, ChatResponse, ChatChunk, ModelInfo, ImageRequest, ImageResponse, TranscriptionRequest, TranscriptionResponse, ModerationRequest, ModerationResponse, EmbeddingRequest, EmbeddingResponse, ProviderCapabilities } from "./Provider.js";
2
3
  /**
3
4
  * Abstract base class for all LLM providers.
4
5
  * Provides common functionality and default implementations for unsupported features.
@@ -9,15 +10,18 @@ export declare abstract class BaseProvider implements Provider {
9
10
  abstract headers(): Record<string, string>;
10
11
  protected abstract providerName(): string;
11
12
  get id(): string;
12
- defaultModel(feature?: string): string;
13
+ defaultModel(_feature?: string): string;
13
14
  protected throwUnsupportedError(feature: string): never;
14
15
  abstract chat(request: ChatRequest): Promise<ChatResponse>;
15
- abstract capabilities?: any;
16
- stream?(request: ChatRequest): AsyncIterable<ChatChunk>;
16
+ abstract capabilities?: ProviderCapabilities;
17
+ stream?(_request: ChatRequest): AsyncIterable<ChatChunk>;
17
18
  listModels?(): Promise<ModelInfo[]>;
18
- paint?(request: ImageRequest): Promise<ImageResponse>;
19
- transcribe?(request: TranscriptionRequest): Promise<TranscriptionResponse>;
20
- moderate?(request: ModerationRequest): Promise<ModerationResponse>;
21
- embed?(request: EmbeddingRequest): Promise<EmbeddingResponse>;
19
+ paint?(_request: ImageRequest): Promise<ImageResponse>;
20
+ transcribe?(_request: TranscriptionRequest): Promise<TranscriptionResponse>;
21
+ moderate?(_request: ModerationRequest): Promise<ModerationResponse>;
22
+ embed?(_request: EmbeddingRequest): Promise<EmbeddingResponse>;
23
+ formatToolResultMessage(toolCallId: string, content: string, options?: {
24
+ isError?: boolean;
25
+ }): Message;
22
26
  }
23
27
  //# sourceMappingURL=BaseProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProvider.d.ts","sourceRoot":"","sources":["../../src/providers/BaseProvider.ts"],"names":[],"mappings":"AAAA,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,EAClB,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,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAI7C,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAIvD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC;IAErB,MAAM,CAAC,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;IAIxD,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAInC,KAAK,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAIrD,UAAU,CAAC,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI1E,QAAQ,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIlE,KAAK,CAAC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAGpE"}
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;IAIvD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAEtC,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,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO;CAQvG"}
@@ -1,3 +1,4 @@
1
+ import { UnsupportedFeatureError } from "../errors/index.js";
1
2
  /**
2
3
  * Abstract base class for all LLM providers.
3
4
  * Provides common functionality and default implementations for unsupported features.
@@ -7,28 +8,37 @@ export class BaseProvider {
7
8
  get id() {
8
9
  return this.providerName();
9
10
  }
10
- defaultModel(feature) {
11
+ defaultModel(_feature) {
11
12
  return "";
12
13
  }
13
14
  throwUnsupportedError(feature) {
14
- throw new Error(`${this.providerName()} does not support ${feature}`);
15
+ throw new UnsupportedFeatureError(this.providerName(), feature);
15
16
  }
16
- async *stream(request) {
17
+ async *stream(_request) {
17
18
  this.throwUnsupportedError("stream");
19
+ yield* [];
18
20
  }
19
21
  async listModels() {
20
22
  this.throwUnsupportedError("listModels");
21
23
  }
22
- async paint(request) {
24
+ async paint(_request) {
23
25
  this.throwUnsupportedError("paint");
24
26
  }
25
- async transcribe(request) {
27
+ async transcribe(_request) {
26
28
  this.throwUnsupportedError("transcribe");
27
29
  }
28
- async moderate(request) {
30
+ async moderate(_request) {
29
31
  this.throwUnsupportedError("moderate");
30
32
  }
31
- async embed(request) {
33
+ async embed(_request) {
32
34
  this.throwUnsupportedError("embed");
33
35
  }
36
+ formatToolResultMessage(toolCallId, content, options) {
37
+ return {
38
+ role: "tool",
39
+ tool_call_id: toolCallId,
40
+ content: content,
41
+ isError: options?.isError
42
+ };
43
+ }
34
44
  }
@@ -1,21 +1,33 @@
1
1
  import { Message } from "../chat/Message.js";
2
2
  import { ToolDefinition, ToolCall } from "../chat/Tool.js";
3
+ export interface ResponseFormat {
4
+ type: "text" | "json_object" | "json_schema";
5
+ json_schema?: {
6
+ name: string;
7
+ description?: string;
8
+ strict?: boolean;
9
+ schema?: Record<string, unknown>;
10
+ [key: string]: unknown;
11
+ };
12
+ [key: string]: unknown;
13
+ }
3
14
  export interface ChatRequest {
4
15
  model: string;
5
16
  messages: Message[];
6
17
  tools?: ToolDefinition[];
7
18
  temperature?: number;
8
19
  max_tokens?: number;
9
- response_format?: any;
20
+ response_format?: ResponseFormat;
10
21
  headers?: Record<string, string>;
11
22
  requestTimeout?: number;
12
- [key: string]: any;
23
+ [key: string]: unknown;
13
24
  }
14
25
  export interface ChatChunk {
15
26
  content: string;
16
27
  reasoning?: string;
17
28
  tool_calls?: ToolCall[];
18
29
  done?: boolean;
30
+ usage?: Usage;
19
31
  }
20
32
  export interface Usage {
21
33
  input_tokens: number;
@@ -57,8 +69,8 @@ export interface ModelInfo {
57
69
  output: string[];
58
70
  };
59
71
  capabilities: string[];
60
- pricing: any;
61
- metadata?: Record<string, any>;
72
+ pricing: unknown;
73
+ metadata?: Record<string, unknown>;
62
74
  }
63
75
  export interface ImageRequest {
64
76
  model?: string;
@@ -89,7 +101,7 @@ export interface TranscriptionSegment {
89
101
  end: number;
90
102
  text: string;
91
103
  speaker?: string;
92
- [key: string]: any;
104
+ [key: string]: unknown;
93
105
  }
94
106
  export interface TranscriptionResponse {
95
107
  text: string;
@@ -140,5 +152,8 @@ export interface Provider {
140
152
  embed?(request: EmbeddingRequest): Promise<EmbeddingResponse>;
141
153
  defaultModel(feature?: string): string;
142
154
  capabilities?: ProviderCapabilities;
155
+ formatToolResultMessage(toolCallId: string, content: string, options?: {
156
+ isError?: boolean;
157
+ }): Message;
143
158
  }
144
159
  //# sourceMappingURL=Provider.d.ts.map
@@ -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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"}
@@ -26,7 +26,7 @@ export declare class AnthropicProvider extends BaseProvider implements Provider
26
26
  apiBase(): string;
27
27
  headers(): Record<string, string>;
28
28
  protected providerName(): string;
29
- defaultModel(feature?: string): string;
29
+ defaultModel(_feature?: string): string;
30
30
  chat(request: ChatRequest): Promise<ChatResponse>;
31
31
  stream(request: ChatRequest): AsyncGenerator<ChatChunk>;
32
32
  listModels(): Promise<ModelInfo[]>;
@@ -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,EAAwJ,MAAM,gBAAgB,CAAC;AACjP,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,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhD,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;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"}
@@ -19,7 +19,7 @@ export class AnthropicProvider extends BaseProvider {
19
19
  supportsModeration: (_model) => false,
20
20
  supportsReasoning: (_model) => false,
21
21
  supportsDeveloperRole: (_model) => true,
22
- getContextWindow: (model) => Capabilities.getContextWindow(model),
22
+ getContextWindow: (model) => Capabilities.getContextWindow(model)
23
23
  };
24
24
  constructor(options) {
25
25
  super();
@@ -36,13 +36,13 @@ export class AnthropicProvider extends BaseProvider {
36
36
  return {
37
37
  "x-api-key": this.options.apiKey,
38
38
  "anthropic-version": "2023-06-01",
39
- "Content-Type": "application/json",
39
+ "Content-Type": "application/json"
40
40
  };
41
41
  }
42
42
  providerName() {
43
43
  return "Anthropic";
44
44
  }
45
- defaultModel(feature) {
45
+ defaultModel(_feature) {
46
46
  return "claude-3-5-haiku-20241022";
47
47
  }
48
48
  async chat(request) {
@@ -1,3 +1,4 @@
1
+ import { ModelPricing } from "../../models/types.js";
1
2
  export declare class Capabilities {
2
3
  static getContextWindow(modelId: string): number | null;
3
4
  static getMaxOutputTokens(modelId: string): number | null;
@@ -6,6 +7,6 @@ export declare class Capabilities {
6
7
  static supportsJsonMode(modelId: string): boolean;
7
8
  static supportsExtendedThinking(modelId: string): boolean;
8
9
  static getCapabilities(modelId: string): string[];
9
- static getPricing(modelId: string): any;
10
+ static getPricing(modelId: string): ModelPricing | undefined;
10
11
  }
11
12
  //# sourceMappingURL=Capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Capabilities.ts"],"names":[],"mappings":"AAEA,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,GAAG;CAsBxC"}
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,4 +1,5 @@
1
1
  import { ModelRegistry } from "../../models/ModelRegistry.js";
2
+ import { PricingRegistry } from "../../models/PricingRegistry.js";
2
3
  export class Capabilities {
3
4
  static getContextWindow(modelId) {
4
5
  const val = ModelRegistry.getContextWindow(modelId, "anthropic");
@@ -42,7 +43,7 @@ export class Capabilities {
42
43
  caps.push("reasoning");
43
44
  if (model.capabilities.includes("json_mode"))
44
45
  caps.push("json_mode");
45
- model.capabilities.forEach(c => {
46
+ model.capabilities.forEach((c) => {
46
47
  if (!caps.includes(c))
47
48
  caps.push(c);
48
49
  });
@@ -59,24 +60,6 @@ export class Capabilities {
59
60
  return caps;
60
61
  }
61
62
  static getPricing(modelId) {
62
- const model = ModelRegistry.find(modelId, "anthropic");
63
- if (model?.pricing)
64
- return model.pricing;
65
- const inputCpm = 3.0;
66
- const outputCpm = 15.0;
67
- return {
68
- text_tokens: {
69
- standard: {
70
- input_per_million: inputCpm,
71
- output_per_million: outputCpm,
72
- ...(this.supportsExtendedThinking(modelId) ? { reasoning_output_per_million: outputCpm * 2.5 } : {})
73
- },
74
- batch: {
75
- input_per_million: inputCpm * 0.5,
76
- output_per_million: outputCpm * 0.5,
77
- ...(this.supportsExtendedThinking(modelId) ? { reasoning_output_per_million: outputCpm * 1.25 } : {})
78
- }
79
- }
80
- };
63
+ return PricingRegistry.getPricing(modelId, "anthropic");
81
64
  }
82
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAS,MAAM,gBAAgB,CAAC;AAYlE,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAxC,OAAO,EAAE,MAAM,EAAmB,MAAM,EAAE,MAAM;IAEvE,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CA4G3D"}
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"}
@@ -19,8 +19,10 @@ export class AnthropicChat {
19
19
  let system = systemPrompt;
20
20
  if (request.response_format) {
21
21
  let schemaText = "";
22
- if (request.response_format.type === "json_schema" && request.response_format.json_schema?.schema) {
23
- schemaText = "\nSchema:\n" + JSON.stringify(request.response_format.json_schema.schema, null, 2);
22
+ if (request.response_format.type === "json_schema" &&
23
+ request.response_format.json_schema?.schema) {
24
+ schemaText =
25
+ "\nSchema:\n" + JSON.stringify(request.response_format.json_schema.schema, null, 2);
24
26
  }
25
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.`;
26
28
  system = system ? `${system}\n\n${instruction}` : instruction;
@@ -32,26 +34,26 @@ export class AnthropicChat {
32
34
  max_tokens: maxTokens,
33
35
  system: system,
34
36
  stream: false,
35
- ...rest,
37
+ ...rest
36
38
  };
37
39
  if (request.temperature !== undefined) {
38
40
  body.temperature = request.temperature;
39
41
  }
40
42
  // Map tools
41
43
  if (request.tools && request.tools.length > 0) {
42
- body.tools = request.tools.map(tool => ({
44
+ body.tools = request.tools.map((tool) => ({
43
45
  name: tool.function.name,
44
46
  description: tool.function.description,
45
47
  input_schema: tool.function.parameters
46
48
  }));
47
49
  }
48
50
  // Check if any message contains PDF content to add beta header
49
- const hasPdf = messages.some(msg => Array.isArray(msg.content) && msg.content.some(block => block.type === "document"));
51
+ const hasPdf = messages.some((msg) => Array.isArray(msg.content) && msg.content.some((block) => block.type === "document"));
50
52
  const headers = {
51
53
  "x-api-key": this.apiKey,
52
54
  "anthropic-version": "2023-06-01",
53
55
  "content-type": "application/json",
54
- ...request.headers,
56
+ ...request.headers
55
57
  };
56
58
  if (hasPdf) {
57
59
  headers["anthropic-beta"] = "pdfs-2024-09-25";
@@ -61,7 +63,7 @@ export class AnthropicChat {
61
63
  const response = await fetchWithTimeout(url, {
62
64
  method: "POST",
63
65
  headers: headers,
64
- body: JSON.stringify(body),
66
+ body: JSON.stringify(body)
65
67
  }, requestTimeout);
66
68
  if (!response.ok) {
67
69
  await handleAnthropicError(response, model);
@@ -71,7 +73,7 @@ export class AnthropicChat {
71
73
  const contentBlocks = json.content;
72
74
  // Extract text content and tool calls
73
75
  let content = null;
74
- const toolCalls = []; // Using any for ToolCall matching Provider.ts interface
76
+ const toolCalls = [];
75
77
  for (const block of contentBlocks) {
76
78
  if (block.type === "text") {
77
79
  if (content === null)
@@ -89,14 +91,22 @@ export class AnthropicChat {
89
91
  });
90
92
  }
91
93
  }
92
- const usage = json.usage ? {
93
- input_tokens: json.usage.input_tokens,
94
- output_tokens: json.usage.output_tokens,
95
- total_tokens: json.usage.input_tokens + json.usage.output_tokens,
96
- cached_tokens: json.usage.cache_read_input_tokens,
97
- cache_creation_tokens: json.usage.cache_creation_input_tokens,
98
- } : undefined;
99
- const calculatedUsage = usage ? ModelRegistry.calculateCost(usage, model, "anthropic") : undefined;
100
- return { content, usage: calculatedUsage, tool_calls: toolCalls.length > 0 ? toolCalls : undefined };
94
+ const usage = json.usage
95
+ ? {
96
+ input_tokens: json.usage.input_tokens,
97
+ output_tokens: json.usage.output_tokens,
98
+ total_tokens: json.usage.input_tokens + json.usage.output_tokens,
99
+ cached_tokens: json.usage.cache_read_input_tokens,
100
+ cache_creation_tokens: json.usage.cache_creation_input_tokens
101
+ }
102
+ : undefined;
103
+ const calculatedUsage = usage
104
+ ? ModelRegistry.calculateCost(usage, model, "anthropic")
105
+ : undefined;
106
+ return {
107
+ content,
108
+ usage: calculatedUsage,
109
+ tool_calls: toolCalls.length > 0 ? toolCalls : undefined
110
+ };
101
111
  }
102
112
  }
@@ -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,CAsC9F"}
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"}
@@ -5,8 +5,11 @@ export async function handleAnthropicError(response, modelId) {
5
5
  let message = `Anthropic error (${status})`;
6
6
  try {
7
7
  body = await response.json();
8
- if (body?.error?.message) {
9
- message = body.error.message;
8
+ if (body && typeof body === "object" && "error" in body) {
9
+ const err = body.error;
10
+ if (err && err.message) {
11
+ message = err.message;
12
+ }
10
13
  }
11
14
  }
12
15
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAxC,OAAO,EAAE,MAAM,EAAmB,MAAM,EAAE,MAAM;IAEvE,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAkDrC,IAAI,CAAC,OAAO,EAAE,MAAM;CAGrB"}
1
+ {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/Models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;IAG3B,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAqDrC,IAAI,CAAC,OAAO,EAAE,MAAM;CAGrB"}
@@ -14,12 +14,12 @@ export class AnthropicModels {
14
14
  headers: {
15
15
  "x-api-key": this.apiKey,
16
16
  "anthropic-version": "2023-06-01",
17
- "content-type": "application/json",
18
- },
17
+ "content-type": "application/json"
18
+ }
19
19
  });
20
20
  if (response.ok) {
21
- const { data } = await response.json();
22
- return data.map(m => {
21
+ const { data } = (await response.json());
22
+ return data.map((m) => {
23
23
  const modelId = m.id;
24
24
  const registryModel = ModelRegistry.find(modelId, "anthropic");
25
25
  const info = {
@@ -46,8 +46,8 @@ export class AnthropicModels {
46
46
  // Fallback
47
47
  }
48
48
  return ModelRegistry.all()
49
- .filter(m => m.provider === "anthropic")
50
- .map(m => ({
49
+ .filter((m) => m.provider === "anthropic")
50
+ .map((m) => ({
51
51
  ...m,
52
52
  capabilities: Capabilities.getCapabilities(m.id)
53
53
  }));
@@ -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;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAxC,OAAO,EAAE,MAAM,EAAmB,MAAM,EAAE,MAAM;IAEtE,OAAO,CACZ,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,cAAc,CAAC,SAAS,CAAC;CAqM7B"}
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"}