llm-proxy 1.7.2 → 1.8.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.
package/dist/index.js CHANGED
@@ -140,6 +140,15 @@ async function generateLLMStreamResponse(params) {
140
140
  });
141
141
  // Step 4: Create and return the async generator
142
142
  async function* streamGenerator() {
143
+ const isOpenAIFormat = provider === types_1.Providers.OPENAI ||
144
+ provider === types_1.Providers.OPENAI_COMPATIBLE_PROVIDER;
145
+ if (isOpenAIFormat) {
146
+ for await (const chunk of stream) {
147
+ yield chunk;
148
+ }
149
+ return;
150
+ }
151
+ // Buffering logic for Bedrock providers
143
152
  const buffer = []; // Buffer to hold the first three chunks
144
153
  let isFunctionCall = false;
145
154
  const accumulatedChunks = []; // Accumulate chunks for function calls
@@ -161,14 +170,12 @@ async function generateLLMStreamResponse(params) {
161
170
  }
162
171
  else {
163
172
  // Yield the first chunk
164
- yield provider === types_1.Providers.OPENAI
165
- ? first
166
- : (await OutputFormatAdapter_1.default.adaptResponse({
167
- response: first,
168
- provider,
169
- isStream: true,
170
- isFunctionCall: false,
171
- }));
173
+ yield (await OutputFormatAdapter_1.default.adaptResponse({
174
+ response: first,
175
+ provider,
176
+ isStream: true,
177
+ isFunctionCall: false,
178
+ }));
172
179
  buffer.shift(); // Remove the first chunk from the buffer
173
180
  }
174
181
  }
@@ -184,27 +191,23 @@ async function generateLLMStreamResponse(params) {
184
191
  acc.generation += cur.generation;
185
192
  return acc;
186
193
  });
187
- const response = provider === types_1.Providers.OPENAI
188
- ? { ...fullResponse, isFunctionCall: true }
189
- : (await OutputFormatAdapter_1.default.adaptResponse({
190
- response: fullResponse,
191
- provider,
192
- isStream: false,
193
- isFunctionCall: true,
194
- }));
194
+ const response = (await OutputFormatAdapter_1.default.adaptResponse({
195
+ response: fullResponse,
196
+ provider,
197
+ isStream: false,
198
+ isFunctionCall: true,
199
+ }));
195
200
  yield response;
196
201
  }
197
202
  else {
198
203
  // Handle any remaining chunks in the buffer for non-function calls
199
204
  while (buffer.length > 0) {
200
205
  const chunk = buffer.shift();
201
- const response = provider === types_1.Providers.OPENAI
202
- ? chunk
203
- : (await OutputFormatAdapter_1.default.adaptResponse({
204
- response: chunk,
205
- provider,
206
- isStream: true,
207
- }));
206
+ const response = (await OutputFormatAdapter_1.default.adaptResponse({
207
+ response: chunk,
208
+ provider,
209
+ isStream: true,
210
+ }));
208
211
  yield response;
209
212
  }
210
213
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,20 +13,23 @@ class InputFormatAdapter {
13
13
  case types_1.Providers.OPENAI_COMPATIBLE_PROVIDER:
14
14
  return {
15
15
  // @ts-ignore: Ignore the any type in the msg
16
- adaptedMessages: messages.map(msg => {
16
+ adaptedMessages: messages.map((msg) => {
17
17
  var _a, _b;
18
18
  if (msg.role === "function") {
19
19
  return {
20
20
  role: msg.role,
21
21
  content: (_a = msg.content) !== null && _a !== void 0 ? _a : "",
22
- name: msg.name
22
+ ...(msg.thought_signature && {
23
+ thought_signature: msg.thought_signature,
24
+ }),
25
+ name: msg.name,
23
26
  };
24
27
  }
25
28
  return {
26
29
  role: msg.role,
27
- content: (_b = msg.content) !== null && _b !== void 0 ? _b : "function call"
30
+ content: (_b = msg.content) !== null && _b !== void 0 ? _b : msg.function_call,
28
31
  };
29
- })
32
+ }),
30
33
  };
31
34
  case types_1.Providers.ANTHROPIC_BEDROCK: {
32
35
  if (!messages.length) {
@@ -40,7 +43,7 @@ class InputFormatAdapter {
40
43
  const systemPrompt = (_a = firstMessage.content) !== null && _a !== void 0 ? _a : "";
41
44
  const adaptedMessages = [];
42
45
  // @ts-ignore: Ignore the any type in the msg
43
- restMessages.forEach(msg => {
46
+ restMessages.forEach((msg) => {
44
47
  var _a, _b;
45
48
  if (msg.role !== "user" && msg.role !== "assistant") {
46
49
  // Add the "empty" message before the current one
@@ -49,9 +52,9 @@ class InputFormatAdapter {
49
52
  content: [
50
53
  {
51
54
  type: types_1.BedrockAnthropicContentType.TEXT,
52
- text: ":"
53
- }
54
- ]
55
+ text: ":",
56
+ },
57
+ ],
55
58
  });
56
59
  // Change the role to "assistant" for the current message
57
60
  adaptedMessages.push({
@@ -59,9 +62,9 @@ class InputFormatAdapter {
59
62
  content: [
60
63
  {
61
64
  type: types_1.BedrockAnthropicContentType.TEXT,
62
- text: (_a = msg.content) !== null && _a !== void 0 ? _a : ""
63
- }
64
- ]
65
+ text: (_a = msg.content) !== null && _a !== void 0 ? _a : "",
66
+ },
67
+ ],
65
68
  });
66
69
  }
67
70
  else {
@@ -71,9 +74,9 @@ class InputFormatAdapter {
71
74
  content: [
72
75
  {
73
76
  type: types_1.BedrockAnthropicContentType.TEXT,
74
- text: (_b = msg.content) !== null && _b !== void 0 ? _b : msg.function_call.arguments
75
- }
76
- ]
77
+ text: (_b = msg.content) !== null && _b !== void 0 ? _b : msg.function_call.arguments,
78
+ },
79
+ ],
77
80
  });
78
81
  }
79
82
  });
@@ -86,9 +89,9 @@ class InputFormatAdapter {
86
89
  content: [
87
90
  {
88
91
  type: types_1.BedrockAnthropicContentType.TEXT,
89
- text: ":"
90
- }
91
- ]
92
+ text: ":",
93
+ },
94
+ ],
92
95
  });
93
96
  i += 1; // Skip the inserted message
94
97
  }
@@ -98,7 +101,7 @@ class InputFormatAdapter {
98
101
  case types_1.Providers.LLAMA_3_1_BEDROCK: {
99
102
  const adaptedMessages = (0, openAIToLlamaMessage_1.default)(messages);
100
103
  return {
101
- adaptedMessages
104
+ adaptedMessages,
102
105
  };
103
106
  }
104
107
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,148 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const openai_1 = __importDefault(require("openai"));
7
+ const uuid_1 = require("uuid");
8
+ function normalizeTools(tools) {
9
+ if (!Array.isArray(tools))
10
+ return undefined;
11
+ return tools.map((tool) => {
12
+ // Already correct
13
+ if ((tool === null || tool === void 0 ? void 0 : tool.type) === "function" && tool.function) {
14
+ return tool;
15
+ }
16
+ // Needs reformatting
17
+ if ((tool === null || tool === void 0 ? void 0 : tool.type) === "function" && tool.name && tool.parameters) {
18
+ return {
19
+ type: "function",
20
+ function: {
21
+ name: tool.name,
22
+ description: tool.description,
23
+ parameters: tool.parameters,
24
+ },
25
+ };
26
+ }
27
+ // Unknown / unsupported tool shape
28
+ throw new Error(`Invalid tool definition encountered: ${JSON.stringify(tool, null, 2)}`);
29
+ });
30
+ }
31
+ function reformatMessagesWithThoughtSignature(messages) {
32
+ var _a, _b, _c;
33
+ const reformatted = [];
34
+ let i = 0;
35
+ while (i < messages.length) {
36
+ const message = messages[i];
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ const msg = message;
39
+ // Check if this is an assistant message with content as an object containing name and arguments
40
+ const isAssistantWithToolContent = msg.role === "assistant" &&
41
+ typeof msg.content === "object" &&
42
+ msg.content !== null &&
43
+ !Array.isArray(msg.content) &&
44
+ msg.content.name &&
45
+ msg.content.arguments;
46
+ if (isAssistantWithToolContent) {
47
+ // Look ahead to find the corresponding function message
48
+ const nextMessage = i + 1 < messages.length ? messages[i + 1] : null;
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ const nextMsg = nextMessage;
51
+ // Generate a unique ID for the tool call
52
+ const toolCallId = `function-call-${(0, uuid_1.v4)()}`;
53
+ // Extract thought_signature from the next function message if it exists
54
+ const thoughtSignature = (nextMsg === null || nextMsg === void 0 ? void 0 : nextMsg.role) === "function" && (nextMsg === null || nextMsg === void 0 ? void 0 : nextMsg.thought_signature)
55
+ ? nextMsg.thought_signature
56
+ : undefined;
57
+ // Convert assistant message to have tool_calls
58
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
+ const assistantMessage = {
60
+ role: "assistant",
61
+ tool_calls: [
62
+ {
63
+ id: toolCallId,
64
+ type: "function",
65
+ function: {
66
+ name: msg.content.name,
67
+ arguments: msg.content.arguments,
68
+ },
69
+ ...(thoughtSignature && {
70
+ extra_content: {
71
+ google: {
72
+ thought_signature: thoughtSignature,
73
+ },
74
+ },
75
+ }),
76
+ },
77
+ ],
78
+ };
79
+ reformatted.push(assistantMessage);
80
+ // If there's a corresponding function message, convert it to a tool message
81
+ if ((nextMsg === null || nextMsg === void 0 ? void 0 : nextMsg.role) === "function" && (nextMsg === null || nextMsg === void 0 ? void 0 : nextMsg.name) === msg.content.name) {
82
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
+ const toolMessage = {
84
+ role: "tool",
85
+ name: nextMsg.name,
86
+ tool_call_id: toolCallId,
87
+ content: nextMsg.content,
88
+ };
89
+ reformatted.push(toolMessage);
90
+ i += 2; // Skip both the assistant and function messages
91
+ }
92
+ else {
93
+ i += 1;
94
+ }
95
+ }
96
+ else {
97
+ // Check if this is a function message that wasn't already processed
98
+ const prevMsg = reformatted[reformatted.length - 1];
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ const prevToolCalls = (_c = (_b = (_a = prevMsg === null || prevMsg === void 0 ? void 0 : prevMsg.tool_calls) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.function) === null || _c === void 0 ? void 0 : _c.name;
101
+ const isUnprocessedFunction = msg.role === "function" &&
102
+ !((prevMsg === null || prevMsg === void 0 ? void 0 : prevMsg.role) === "assistant" && prevToolCalls === msg.name);
103
+ if (isUnprocessedFunction) {
104
+ // Check if message has thought_signature and function_call (old format - legacy support)
105
+ if (msg.thought_signature && msg.function_call) {
106
+ const { thought_signature, function_call, ...rest } = msg;
107
+ // Convert to new tool_calls format
108
+ reformatted.push({
109
+ ...rest,
110
+ role: "assistant",
111
+ tool_calls: [
112
+ {
113
+ id: `function-call-${(0, uuid_1.v4)()}`,
114
+ type: "function",
115
+ function: {
116
+ name: function_call.name,
117
+ arguments: function_call.arguments,
118
+ },
119
+ extra_content: {
120
+ google: {
121
+ thought_signature,
122
+ },
123
+ },
124
+ },
125
+ ],
126
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
+ });
128
+ i += 1;
129
+ }
130
+ else {
131
+ // Return message as-is if it doesn't need reformatting
132
+ if (message) {
133
+ reformatted.push(message);
134
+ }
135
+ i += 1;
136
+ }
137
+ }
138
+ else {
139
+ // Return message as-is if it doesn't need reformatting
140
+ if (message) {
141
+ reformatted.push(message);
142
+ }
143
+ i += 1;
144
+ }
145
+ }
146
+ }
147
+ return reformatted;
148
+ }
7
149
  class OpenAICompatibleService {
8
150
  constructor(apiKey, baseUrl) {
9
151
  this.openai = new openai_1.default({
@@ -16,9 +158,10 @@ class OpenAICompatibleService {
16
158
  return Promise.reject(new Error("Model ID is required for OpenAIService."));
17
159
  }
18
160
  try {
161
+ const reformattedMessages = reformatMessagesWithThoughtSignature(messages);
19
162
  const response = await this.openai.chat.completions.create({
20
163
  model,
21
- messages,
164
+ messages: reformattedMessages,
22
165
  max_tokens,
23
166
  temperature,
24
167
  functions: tools,
@@ -31,26 +174,23 @@ class OpenAICompatibleService {
31
174
  }
32
175
  async *generateStreamCompletion({ messages, model, max_tokens, temperature, tools, }) {
33
176
  if (!model) {
34
- return Promise.reject(new Error("Model ID is required for OpenAIService."));
177
+ throw new Error("Model ID is required for OpenAIService.");
35
178
  }
36
- try {
37
- const stream = await this.openai.chat.completions.create({
38
- model,
39
- messages,
40
- max_tokens,
41
- temperature,
42
- functions: tools,
43
- stream: true,
44
- stream_options: {
45
- include_usage: true,
46
- },
47
- });
48
- for await (const chunk of stream) {
49
- yield chunk;
50
- }
51
- }
52
- catch (error) {
53
- return Promise.reject(error);
179
+ const reformattedMessages = reformatMessagesWithThoughtSignature(messages);
180
+ const normalizedTools = normalizeTools(tools);
181
+ const stream = await this.openai.chat.completions.create({
182
+ model,
183
+ messages: reformattedMessages,
184
+ max_tokens,
185
+ temperature,
186
+ ...(normalizedTools && { tools: normalizedTools }),
187
+ stream: true,
188
+ stream_options: {
189
+ include_usage: true,
190
+ },
191
+ });
192
+ for await (const chunk of stream) {
193
+ yield chunk;
54
194
  }
55
195
  }
56
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleService.js","sourceRoot":"","sources":["../../src/services/OpenAICompatibleService.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAI5B,MAAqB,uBAAuB;IAG1C,YAAY,MAAc,EAAE,OAAgB;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC;YACvB,MAAM;YACN,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,GAQN;QACC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,yCAAyC,CAAC,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACzD,KAAK;gBACL,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,OAAO,QAA0B,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,wBAAwB,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,GAQN;QACC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,yCAAyC,CAAC,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvD,KAAK;gBACL,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE;oBACd,aAAa,EAAE,IAAI;iBACpB;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AApFD,0CAoFC"}
1
+ {"version":3,"file":"OpenAICompatibleService.js","sourceRoot":"","sources":["../../src/services/OpenAICompatibleService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-proxy",
3
- "version": "1.7.2",
3
+ "version": "1.8.1",
4
4
  "description": "An LLM Proxy that allows the user to interact with different language models from different providers using unified request and response formats.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -35,6 +35,7 @@
35
35
  "axios": "^1.7.7",
36
36
  "dotenv": "^16.4.5",
37
37
  "llm-proxy": "^1.4.15",
38
- "openai": "^4.69.0"
38
+ "openai": "^4.69.0",
39
+ "uuid": "^13.0.0"
39
40
  }
40
41
  }