@llmgateway/models 1.1.1 → 1.2.1

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 (44) hide show
  1. package/dist/models/alibaba.d.ts +19 -0
  2. package/dist/models/alibaba.js +22 -0
  3. package/dist/models/alibaba.js.map +1 -1
  4. package/dist/models/google.d.ts +1 -0
  5. package/dist/models/google.js +1 -0
  6. package/dist/models/google.js.map +1 -1
  7. package/dist/models/meta.d.ts +0 -1
  8. package/dist/models/meta.js +0 -1
  9. package/dist/models/meta.js.map +1 -1
  10. package/dist/models.d.ts +20 -1
  11. package/package.json +1 -1
  12. package/dist/get-cheapest-from-available-providers.d.ts +0 -30
  13. package/dist/get-cheapest-from-available-providers.js +0 -183
  14. package/dist/get-cheapest-from-available-providers.js.map +0 -1
  15. package/dist/get-cheapest-model-for-provider.d.ts +0 -2
  16. package/dist/get-cheapest-model-for-provider.js +0 -49
  17. package/dist/get-cheapest-model-for-provider.js.map +0 -1
  18. package/dist/get-provider-endpoint.d.ts +0 -3
  19. package/dist/get-provider-endpoint.js +0 -243
  20. package/dist/get-provider-endpoint.js.map +0 -1
  21. package/dist/get-provider-headers.d.ts +0 -5
  22. package/dist/get-provider-headers.js +0 -45
  23. package/dist/get-provider-headers.js.map +0 -1
  24. package/dist/models.spec.d.ts +0 -1
  25. package/dist/models.spec.js +0 -263
  26. package/dist/models.spec.js.map +0 -1
  27. package/dist/prepare-request-body.d.ts +0 -10
  28. package/dist/prepare-request-body.js +0 -1081
  29. package/dist/prepare-request-body.js.map +0 -1
  30. package/dist/prepare-request-body.spec.d.ts +0 -1
  31. package/dist/prepare-request-body.spec.js +0 -231
  32. package/dist/prepare-request-body.spec.js.map +0 -1
  33. package/dist/process-image-url.d.ts +0 -4
  34. package/dist/process-image-url.js +0 -121
  35. package/dist/process-image-url.js.map +0 -1
  36. package/dist/transform-anthropic-messages.d.ts +0 -2
  37. package/dist/transform-anthropic-messages.js +0 -185
  38. package/dist/transform-anthropic-messages.js.map +0 -1
  39. package/dist/transform-google-messages.d.ts +0 -25
  40. package/dist/transform-google-messages.js +0 -122
  41. package/dist/transform-google-messages.js.map +0 -1
  42. package/dist/validate-provider-key.d.ts +0 -4
  43. package/dist/validate-provider-key.js +0 -113
  44. package/dist/validate-provider-key.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare-request-body.js","sourceRoot":"","sources":["../src/prepare-request-body.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,231 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { prepareRequestBody } from "./prepare-request-body.js";
3
- describe("prepareRequestBody - Anthropic", () => {
4
- test("should extract system messages to system field for caching", async () => {
5
- const requestBody = (await prepareRequestBody("anthropic", "claude-3-5-sonnet-20241022", [
6
- { role: "system", content: "You are a helpful assistant." },
7
- { role: "user", content: "Hello!" },
8
- ], false, undefined, 1024, undefined, undefined, undefined, undefined, undefined, undefined, undefined, false, false));
9
- expect(requestBody.system).toBeDefined();
10
- expect(Array.isArray(requestBody.system)).toBe(true);
11
- expect(requestBody.system).toHaveLength(1);
12
- expect(requestBody.system[0].type).toBe("text");
13
- expect(requestBody.system[0].text).toBe("You are a helpful assistant.");
14
- expect(requestBody.system[0].cache_control).toBeUndefined();
15
- expect(requestBody.messages).toHaveLength(1);
16
- expect(requestBody.messages[0].role).toBe("user");
17
- });
18
- test("should add cache_control for long system prompts", async () => {
19
- const longSystemPrompt = "A".repeat(5000);
20
- const requestBody = (await prepareRequestBody("anthropic", "claude-3-5-sonnet-20241022", [
21
- { role: "system", content: longSystemPrompt },
22
- { role: "user", content: "Hello!" },
23
- ], false, undefined, 1024, undefined, undefined, undefined, undefined, undefined, undefined, undefined, false, false));
24
- expect(requestBody.system).toBeDefined();
25
- expect(Array.isArray(requestBody.system)).toBe(true);
26
- expect(requestBody.system[0].cache_control).toEqual({
27
- type: "ephemeral",
28
- });
29
- });
30
- test("should handle array content in system messages", async () => {
31
- const requestBody = (await prepareRequestBody("anthropic", "claude-3-5-sonnet-20241022", [
32
- {
33
- role: "system",
34
- content: [
35
- { type: "text", text: "Part 1. " },
36
- { type: "text", text: "Part 2." },
37
- ],
38
- },
39
- { role: "user", content: "Hello!" },
40
- ], false, undefined, 1024, undefined, undefined, undefined, undefined, undefined, undefined, undefined, false, false));
41
- expect(requestBody.system).toBeDefined();
42
- expect(Array.isArray(requestBody.system)).toBe(true);
43
- expect(requestBody.system[0].text).toBe("Part 1. Part 2.");
44
- });
45
- test("should limit cache_control blocks to 4 total across system and user messages", async () => {
46
- const longContent = "A".repeat(5000);
47
- const requestBody = (await prepareRequestBody("anthropic", "claude-3-5-sonnet-20241022", [
48
- { role: "system", content: longContent },
49
- { role: "system", content: longContent },
50
- { role: "user", content: longContent },
51
- { role: "user", content: longContent },
52
- { role: "user", content: longContent },
53
- ], false, undefined, 1024, undefined, undefined, undefined, undefined, undefined, undefined, undefined, false, false));
54
- let totalCacheControlBlocks = 0;
55
- if (requestBody.system && Array.isArray(requestBody.system)) {
56
- for (const block of requestBody.system) {
57
- if (block.cache_control) {
58
- totalCacheControlBlocks++;
59
- }
60
- }
61
- }
62
- for (const msg of requestBody.messages) {
63
- if (Array.isArray(msg.content)) {
64
- for (const block of msg.content) {
65
- if (block.cache_control) {
66
- totalCacheControlBlocks++;
67
- }
68
- }
69
- }
70
- }
71
- expect(totalCacheControlBlocks).toBe(4);
72
- });
73
- });
74
- describe("prepareRequestBody - Google AI Studio", () => {
75
- test("should set thinkingBudget when reasoning_effort is provided", async () => {
76
- const requestBody = (await prepareRequestBody("google-ai-studio", "gemini-2.5-pro", [{ role: "user", content: "What is 2+2?" }], false, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "medium", true, false));
77
- expect(requestBody.generationConfig).toBeDefined();
78
- expect(requestBody.generationConfig.thinkingConfig).toBeDefined();
79
- expect(requestBody.generationConfig.thinkingConfig.includeThoughts).toBe(true);
80
- expect(requestBody.generationConfig.thinkingConfig.thinkingBudget).toBe(8192);
81
- });
82
- test("should map reasoning_effort values correctly", async () => {
83
- const effortMapping = [
84
- { effort: "minimal", expected: 512 },
85
- { effort: "low", expected: 2048 },
86
- { effort: "medium", expected: 8192 },
87
- { effort: "high", expected: 24576 },
88
- ];
89
- for (const { effort, expected } of effortMapping) {
90
- const requestBody = (await prepareRequestBody("google-ai-studio", "gemini-2.5-pro", [{ role: "user", content: "test" }], false, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, effort, true, false));
91
- expect(requestBody.generationConfig.thinkingConfig.thinkingBudget).toBe(expected);
92
- }
93
- });
94
- test("should not set thinkingBudget when reasoning_effort is not provided", async () => {
95
- const requestBody = (await prepareRequestBody("google-ai-studio", "gemini-2.5-pro", [{ role: "user", content: "test" }], false, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, true, false));
96
- expect(requestBody.generationConfig.thinkingConfig.includeThoughts).toBe(true);
97
- expect(requestBody.generationConfig.thinkingConfig.thinkingBudget).toBeUndefined();
98
- });
99
- test("should not set thinkingConfig when supportsReasoning is false", async () => {
100
- const requestBody = (await prepareRequestBody("google-ai-studio", "gemini-1.5-pro", [{ role: "user", content: "test" }], false, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "medium", false, false));
101
- expect(requestBody.generationConfig.thinkingConfig).toBeUndefined();
102
- });
103
- test("should expand $ref references in tool parameters", async () => {
104
- const toolsWithRef = [
105
- {
106
- type: "function",
107
- function: {
108
- name: "ask_question",
109
- description: "Ask a question",
110
- parameters: {
111
- type: "object",
112
- properties: {
113
- question: { type: "string" },
114
- options: {
115
- type: "array",
116
- items: { $ref: "#/$defs/QuestionOption" },
117
- },
118
- },
119
- $defs: {
120
- QuestionOption: {
121
- type: "object",
122
- properties: {
123
- label: { type: "string" },
124
- value: { type: "string" },
125
- },
126
- required: ["label", "value"],
127
- },
128
- },
129
- required: ["question"],
130
- },
131
- },
132
- },
133
- ];
134
- const requestBody = (await prepareRequestBody("google-ai-studio", "gemini-2.0-flash", [{ role: "user", content: "test" }], false, undefined, undefined, undefined, undefined, undefined, undefined, toolsWithRef, undefined, undefined, false, false));
135
- expect(requestBody.tools).toBeDefined();
136
- expect(requestBody.tools[0].functionDeclarations).toBeDefined();
137
- const params = requestBody.tools[0].functionDeclarations[0].parameters;
138
- expect(params.$defs).toBeUndefined();
139
- expect(params.properties.options.items).toEqual({
140
- type: "object",
141
- properties: {
142
- label: { type: "string" },
143
- value: { type: "string" },
144
- },
145
- required: ["label", "value"],
146
- });
147
- });
148
- test("should strip additionalProperties from tool parameters", async () => {
149
- const toolsWithAdditionalProps = [
150
- {
151
- type: "function",
152
- function: {
153
- name: "test_tool",
154
- description: "Test tool",
155
- parameters: {
156
- type: "object",
157
- properties: {
158
- name: { type: "string" },
159
- },
160
- additionalProperties: false,
161
- },
162
- },
163
- },
164
- ];
165
- const requestBody = (await prepareRequestBody("google-ai-studio", "gemini-2.0-flash", [{ role: "user", content: "test" }], false, undefined, undefined, undefined, undefined, undefined, undefined, toolsWithAdditionalProps, undefined, undefined, false, false));
166
- const params = requestBody.tools[0].functionDeclarations[0].parameters;
167
- expect(params.additionalProperties).toBeUndefined();
168
- });
169
- test("should add additionalProperties: false to Cerebras tool parameters", async () => {
170
- const toolsWithoutAdditionalProps = [
171
- {
172
- type: "function",
173
- function: {
174
- name: "test_tool",
175
- description: "Test tool",
176
- parameters: {
177
- type: "object",
178
- properties: {
179
- name: { type: "string" },
180
- nested: {
181
- type: "object",
182
- properties: {
183
- value: { type: "string" },
184
- },
185
- },
186
- },
187
- },
188
- },
189
- },
190
- ];
191
- const requestBody = (await prepareRequestBody("cerebras", "llama-4-scout-17b-16e-instruct", [{ role: "user", content: "test" }], false, undefined, undefined, undefined, undefined, undefined, undefined, toolsWithoutAdditionalProps, undefined, undefined, false, false));
192
- const params = requestBody.tools[0].function.parameters;
193
- expect(params.additionalProperties).toBe(false);
194
- expect(params.properties.nested.additionalProperties).toBe(false);
195
- expect(requestBody.tools[0].function.strict).toBe(true);
196
- });
197
- test("should strip unsupported string fields from Cerebras tool parameters", async () => {
198
- const toolsWithStringFields = [
199
- {
200
- type: "function",
201
- function: {
202
- name: "fetch_url",
203
- description: "Fetch a URL",
204
- parameters: {
205
- type: "object",
206
- properties: {
207
- url: { type: "string", format: "uri" },
208
- email: { type: "string", format: "email" },
209
- name: { type: "string", minLength: 1, maxLength: 100 },
210
- code: { type: "string", pattern: "^[A-Z]+$" },
211
- plainString: { type: "string" },
212
- },
213
- },
214
- },
215
- },
216
- ];
217
- const requestBody = (await prepareRequestBody("cerebras", "llama-4-scout-17b-16e-instruct", [{ role: "user", content: "test" }], false, undefined, undefined, undefined, undefined, undefined, undefined, toolsWithStringFields, undefined, undefined, false, false));
218
- const params = requestBody.tools[0].function.parameters;
219
- expect(params.properties.url.format).toBeUndefined();
220
- expect(params.properties.email.format).toBeUndefined();
221
- expect(params.properties.name.minLength).toBeUndefined();
222
- expect(params.properties.name.maxLength).toBeUndefined();
223
- expect(params.properties.code.pattern).toBeUndefined();
224
- expect(params.properties.url.type).toBe("string");
225
- expect(params.properties.email.type).toBe("string");
226
- expect(params.properties.name.type).toBe("string");
227
- expect(params.properties.code.type).toBe("string");
228
- expect(params.properties.plainString.type).toBe("string");
229
- });
230
- });
231
- //# sourceMappingURL=prepare-request-body.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare-request-body.spec.js","sourceRoot":"","sources":["../src/prepare-request-body.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare function processImageUrl(url: string, isProd?: boolean, maxSizeMB?: number, userPlan?: "free" | "pro" | null): Promise<{
2
- data: string;
3
- mimeType: string;
4
- }>;
@@ -1,121 +0,0 @@
1
- import { logger } from "@llmgateway/logger";
2
- function getImageSizeErrorMessage(maxSizeMB, actualSizeMB, userPlan) {
3
- const isHosted = process.env.HOSTED === "true";
4
- const isPaidMode = process.env.PAID_MODE === "true";
5
- const proLimitMB = Number(process.env.IMAGE_SIZE_LIMIT_PRO_MB) || 100;
6
- let message = `Image size (${actualSizeMB.toFixed(1)}MB) exceeds your current limit of ${maxSizeMB}MB.`;
7
- if (isHosted && isPaidMode) {
8
- if (userPlan === "free") {
9
- message += ` Upgrade to Pro plan for ${proLimitMB}MB image uploads.`;
10
- }
11
- else if (userPlan === "pro") {
12
- message += ` Contact us for Business or Enterprise plans with higher limits.`;
13
- }
14
- else {
15
- message += ` Upgrade your plan for higher limits (Pro: ${proLimitMB}MB).`;
16
- }
17
- }
18
- return message;
19
- }
20
- export async function processImageUrl(url, isProd = false, maxSizeMB = 20, userPlan = null) {
21
- if (url.startsWith("data:")) {
22
- const dataUrlMatch = url.match(/^data:([^;,]+)(?:;base64)?,(.*)$/);
23
- if (!dataUrlMatch) {
24
- logger.warn("Invalid data URL format provided");
25
- throw new Error("Invalid image data URL format");
26
- }
27
- const [, mimeType, data] = dataUrlMatch;
28
- if (!mimeType.startsWith("image/")) {
29
- logger.warn("Non-image MIME type in data URL", { mimeType });
30
- throw new Error("Data URL must contain an image");
31
- }
32
- const isBase64 = url.includes(";base64,");
33
- const base64Data = isBase64 ? data : btoa(data);
34
- const estimatedSize = (base64Data.length * 3) / 4;
35
- const maxSizeBytes = maxSizeMB * 1024 * 1024;
36
- if (estimatedSize > maxSizeBytes) {
37
- const actualSizeMB = estimatedSize / (1024 * 1024);
38
- logger.warn("Data URL image size exceeds limit", {
39
- estimatedSize,
40
- maxSizeMB,
41
- actualSizeMB,
42
- });
43
- throw new Error(getImageSizeErrorMessage(maxSizeMB, actualSizeMB, userPlan));
44
- }
45
- return {
46
- data: base64Data,
47
- mimeType,
48
- };
49
- }
50
- if (!url.startsWith("https://") && isProd) {
51
- logger.warn("Non-HTTPS URL provided for image fetch in production", {
52
- url: url.substring(0, 20) + "...",
53
- });
54
- throw new Error("Image URLs must use HTTPS protocol in production");
55
- }
56
- try {
57
- const response = await fetch(url);
58
- if (!response.ok) {
59
- logger.warn(`Failed to fetch image from URL (${response.status})`, {
60
- url: url.substring(0, 50) + "...",
61
- });
62
- throw new Error(`Failed to fetch image: HTTP ${response.status}`);
63
- }
64
- const maxSizeBytes = maxSizeMB * 1024 * 1024;
65
- const contentLength = response.headers.get("content-length");
66
- if (contentLength && parseInt(contentLength, 10) > maxSizeBytes) {
67
- const actualSizeMB = parseInt(contentLength, 10) / (1024 * 1024);
68
- logger.warn("Image size exceeds limit via Content-Length", {
69
- contentLength,
70
- maxSizeMB,
71
- actualSizeMB,
72
- });
73
- throw new Error(getImageSizeErrorMessage(maxSizeMB, actualSizeMB, userPlan));
74
- }
75
- const contentType = response.headers.get("content-type");
76
- if (!contentType || !contentType.startsWith("image/")) {
77
- logger.warn("Invalid content type for image URL", {
78
- contentType,
79
- url: url.substring(0, 50) + "...",
80
- });
81
- throw new Error("URL does not point to a valid image");
82
- }
83
- const arrayBuffer = await response.arrayBuffer();
84
- if (arrayBuffer.byteLength > maxSizeBytes) {
85
- const actualSizeMB = arrayBuffer.byteLength / (1024 * 1024);
86
- logger.warn("Image size exceeds limit after download", {
87
- size: arrayBuffer.byteLength,
88
- maxSizeMB,
89
- actualSizeMB,
90
- });
91
- throw new Error(getImageSizeErrorMessage(maxSizeMB, actualSizeMB, userPlan));
92
- }
93
- const uint8Array = new Uint8Array(arrayBuffer);
94
- const binaryString = Array.from(uint8Array, (byte) => String.fromCharCode(byte)).join("");
95
- const base64 = btoa(binaryString);
96
- return {
97
- data: base64,
98
- mimeType: contentType,
99
- };
100
- }
101
- catch (error) {
102
- logger.error("Error processing image URL", {
103
- err: error instanceof Error ? error : new Error(String(error)),
104
- url: url.substring(0, 50) + "...",
105
- });
106
- if (error instanceof Error &&
107
- error.message.includes("Image size exceeds")) {
108
- throw error;
109
- }
110
- if (error instanceof Error &&
111
- error.message.includes("Failed to fetch image: HTTP")) {
112
- throw error;
113
- }
114
- if (error instanceof Error &&
115
- error.message.includes("URL does not point to a valid image")) {
116
- throw error;
117
- }
118
- throw new Error("Failed to process image from URL");
119
- }
120
- }
121
- //# sourceMappingURL=process-image-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-image-url.js","sourceRoot":"","sources":["../src/process-image-url.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { type AnthropicMessage, type BaseMessage } from "./types.js";
2
- export declare function transformAnthropicMessages(messages: BaseMessage[], isProd?: boolean, provider?: string, _model?: string, maxImageSizeMB?: number, userPlan?: "free" | "pro" | null, initialCacheControlCount?: number, minCacheableChars?: number): Promise<AnthropicMessage[]>;