llm-proxy 1.8.2 → 1.8.4
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/middleware/InputFormatAdapter.js +17 -0
- package/dist/middleware/InputFormatAdapter.js.map +1 -1
- package/dist/services/OpenAICompatibleService.js +17 -8
- package/dist/services/OpenAICompatibleService.js.map +1 -1
- package/dist/services/OpenAIService.d.ts +6 -2
- package/dist/services/OpenAIService.js +58 -13
- package/dist/services/OpenAIService.js.map +1 -1
- package/dist/types/index.d.ts +16 -2
- package/dist/types/index.js.map +1 -1
- package/dist/utils/inputFormatAdapterUtils/openAIToLlamaMessage.js +3 -2
- package/dist/utils/inputFormatAdapterUtils/openAIToLlamaMessage.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,23 @@ class InputFormatAdapter {
|
|
|
10
10
|
var _a;
|
|
11
11
|
switch (provider) {
|
|
12
12
|
case types_1.Providers.OPENAI:
|
|
13
|
+
return {
|
|
14
|
+
// @ts-ignore: Ignore the any type in the msg
|
|
15
|
+
adaptedMessages: messages.map((msg) => {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
if (msg.role === "function") {
|
|
18
|
+
return {
|
|
19
|
+
role: msg.role,
|
|
20
|
+
content: (_a = msg.content) !== null && _a !== void 0 ? _a : "",
|
|
21
|
+
name: msg.name,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
role: msg.role,
|
|
26
|
+
content: (_b = msg.content) !== null && _b !== void 0 ? _b : "function call",
|
|
27
|
+
};
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
13
30
|
case types_1.Providers.OPENAI_COMPATIBLE_PROVIDER:
|
|
14
31
|
return {
|
|
15
32
|
// @ts-ignore: Ignore the any type in the msg
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":";;;;;AAAA,oCAMkB;AAClB,iHAAyF;AAEzF,MAAqB,kBAAkB;IACrC,MAAM,CAAC,aAAa,CAClB,QAAa,EACb,QAAmB;;QAKnB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,iBAAS,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,12 @@ function reformatMessagesWithThoughtSignature(messages) {
|
|
|
32
32
|
var _a, _b, _c;
|
|
33
33
|
const reformatted = [];
|
|
34
34
|
let i = 0;
|
|
35
|
+
const makeToolCallId = () => {
|
|
36
|
+
const prefix = "call_";
|
|
37
|
+
const base = (0, uuid_1.v4)().replace(/-/g, ""); // 32 chars
|
|
38
|
+
const id = `${prefix}${base}`; // 37 chars total
|
|
39
|
+
return id.length > 40 ? id.slice(0, 40) : id;
|
|
40
|
+
};
|
|
35
41
|
while (i < messages.length) {
|
|
36
42
|
const message = messages[i];
|
|
37
43
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -48,8 +54,8 @@ function reformatMessagesWithThoughtSignature(messages) {
|
|
|
48
54
|
const nextMessage = i + 1 < messages.length ? messages[i + 1] : null;
|
|
49
55
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
56
|
const nextMsg = nextMessage;
|
|
51
|
-
// Generate a unique ID for the tool call
|
|
52
|
-
const toolCallId =
|
|
57
|
+
// Generate a unique ID for the tool call (<= 40 chars)
|
|
58
|
+
const toolCallId = makeToolCallId();
|
|
53
59
|
// Extract thought_signature from the next function message if it exists
|
|
54
60
|
const thoughtSignature = (nextMsg === null || nextMsg === void 0 ? void 0 : nextMsg.role) === "function" && (nextMsg === null || nextMsg === void 0 ? void 0 : nextMsg.thought_signature)
|
|
55
61
|
? nextMsg.thought_signature
|
|
@@ -110,17 +116,19 @@ function reformatMessagesWithThoughtSignature(messages) {
|
|
|
110
116
|
role: "assistant",
|
|
111
117
|
tool_calls: [
|
|
112
118
|
{
|
|
113
|
-
id:
|
|
119
|
+
id: makeToolCallId(),
|
|
114
120
|
type: "function",
|
|
115
121
|
function: {
|
|
116
122
|
name: function_call.name,
|
|
117
123
|
arguments: function_call.arguments,
|
|
118
124
|
},
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
125
|
+
...(thought_signature && {
|
|
126
|
+
extra_content: {
|
|
127
|
+
google: {
|
|
128
|
+
thought_signature,
|
|
129
|
+
},
|
|
122
130
|
},
|
|
123
|
-
},
|
|
131
|
+
}),
|
|
124
132
|
},
|
|
125
133
|
],
|
|
126
134
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -159,12 +167,13 @@ class OpenAICompatibleService {
|
|
|
159
167
|
}
|
|
160
168
|
try {
|
|
161
169
|
const reformattedMessages = reformatMessagesWithThoughtSignature(messages);
|
|
170
|
+
const normalizedTools = normalizeTools(tools);
|
|
162
171
|
const response = await this.openai.chat.completions.create({
|
|
163
172
|
model,
|
|
164
173
|
messages: reformattedMessages,
|
|
165
174
|
max_tokens,
|
|
166
175
|
temperature,
|
|
167
|
-
|
|
176
|
+
...(normalizedTools && { tools: normalizedTools }),
|
|
168
177
|
});
|
|
169
178
|
return response;
|
|
170
179
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICompatibleService.js","sourceRoot":"","sources":["../../src/services/OpenAICompatibleService.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,+BAAkC;AAIlC,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,kBAAkB;QAClB,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9D,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B;aACF,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oCAAoC,CAC3C,QAAwB;;IAExB,MAAM,WAAW,GAAmB,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAc,CAAC;QAE3B,gGAAgG;QAChG,MAAM,0BAA0B,GAC9B,GAAG,CAAC,IAAI,KAAK,WAAW;YACxB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC/B,GAAG,CAAC,OAAO,KAAK,IAAI;YACpB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,IAAI;YAChB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;QAExB,IAAI,0BAA0B,EAAE,CAAC;YAC/B,wDAAwD;YACxD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,8DAA8D;YAC9D,MAAM,OAAO,GAAG,WAAkB,CAAC;YAEnC,
|
|
1
|
+
{"version":3,"file":"OpenAICompatibleService.js","sourceRoot":"","sources":["../../src/services/OpenAICompatibleService.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,24 @@ import { ClientService } from "./ClientService";
|
|
|
3
3
|
export default class OpenAIService implements ClientService {
|
|
4
4
|
private openai;
|
|
5
5
|
constructor(apiKey: string);
|
|
6
|
-
generateCompletion({ messages, model, max_tokens, temperature, tools, }: {
|
|
6
|
+
generateCompletion({ messages, model, max_tokens, temperature, tools, reasoning_effort, verbosity }: {
|
|
7
7
|
messages: OpenAIMessages;
|
|
8
8
|
model: string;
|
|
9
9
|
max_tokens: number;
|
|
10
10
|
temperature: number;
|
|
11
11
|
systemPrompt?: string;
|
|
12
12
|
tools?: any;
|
|
13
|
+
reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
14
|
+
verbosity?: "low" | "medium" | "high";
|
|
13
15
|
}): Promise<OpenAIResponse>;
|
|
14
|
-
generateStreamCompletion({ messages, model, max_tokens, temperature, tools, }: {
|
|
16
|
+
generateStreamCompletion({ messages, model, max_tokens, temperature, tools, reasoning_effort, verbosity }: {
|
|
15
17
|
messages: OpenAIMessages;
|
|
16
18
|
model: string;
|
|
17
19
|
max_tokens: number;
|
|
18
20
|
temperature: number;
|
|
19
21
|
systemPrompt?: string;
|
|
20
22
|
tools?: any;
|
|
23
|
+
reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
24
|
+
verbosity?: "low" | "medium" | "high";
|
|
21
25
|
}): AsyncGenerator<any, void, unknown>;
|
|
22
26
|
}
|
|
@@ -8,18 +8,40 @@ class OpenAIService {
|
|
|
8
8
|
constructor(apiKey) {
|
|
9
9
|
this.openai = new openai_1.default({ apiKey });
|
|
10
10
|
}
|
|
11
|
-
async generateCompletion({ messages, model, max_tokens, temperature, tools, }) {
|
|
11
|
+
async generateCompletion({ messages, model, max_tokens, temperature, tools, reasoning_effort, verbosity }) {
|
|
12
12
|
if (!model) {
|
|
13
13
|
return Promise.reject(new Error("Model ID is required for OpenAIService."));
|
|
14
14
|
}
|
|
15
15
|
try {
|
|
16
|
-
|
|
16
|
+
// Build the request object
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
+
const requestBody = {
|
|
17
19
|
model,
|
|
18
20
|
messages,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
temperature
|
|
22
|
+
};
|
|
23
|
+
// Use max_completion_tokens for newer models (GPT-5+), fallback to max_tokens for older models
|
|
24
|
+
if (model.startsWith("gpt-5") ||
|
|
25
|
+
model.startsWith("o3") ||
|
|
26
|
+
model.startsWith("o4")) {
|
|
27
|
+
requestBody.max_completion_tokens = max_tokens;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
requestBody.max_tokens = max_tokens;
|
|
31
|
+
}
|
|
32
|
+
// Add tools if provided (modern API, replaces deprecated functions)
|
|
33
|
+
if (tools) {
|
|
34
|
+
requestBody.tools = tools;
|
|
35
|
+
}
|
|
36
|
+
// Add optional reasoning parameter for reasoning models
|
|
37
|
+
if (reasoning_effort) {
|
|
38
|
+
requestBody.reasoning_effort = reasoning_effort;
|
|
39
|
+
}
|
|
40
|
+
// Add optional verbosity parameter
|
|
41
|
+
if (verbosity) {
|
|
42
|
+
requestBody.verbosity = verbosity;
|
|
43
|
+
}
|
|
44
|
+
const response = await this.openai.chat.completions.create(requestBody);
|
|
23
45
|
return response;
|
|
24
46
|
}
|
|
25
47
|
catch (error) {
|
|
@@ -27,22 +49,45 @@ class OpenAIService {
|
|
|
27
49
|
}
|
|
28
50
|
}
|
|
29
51
|
// eslint-disable-next-line consistent-return
|
|
30
|
-
async *generateStreamCompletion({ messages, model, max_tokens, temperature, tools, }) {
|
|
52
|
+
async *generateStreamCompletion({ messages, model, max_tokens, temperature, tools, reasoning_effort, verbosity }) {
|
|
31
53
|
if (!model) {
|
|
32
54
|
return Promise.reject(new Error("Model ID is required for OpenAIService."));
|
|
33
55
|
}
|
|
34
56
|
try {
|
|
35
|
-
|
|
57
|
+
// Build the request object
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
59
|
+
const requestBody = {
|
|
36
60
|
model,
|
|
37
61
|
messages,
|
|
38
|
-
max_tokens,
|
|
39
62
|
temperature,
|
|
40
|
-
functions: tools,
|
|
41
63
|
stream: true,
|
|
42
64
|
stream_options: {
|
|
43
|
-
include_usage: true
|
|
44
|
-
}
|
|
45
|
-
}
|
|
65
|
+
include_usage: true
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
// Use max_completion_tokens for newer models (GPT-5+), fallback to max_tokens for older models
|
|
69
|
+
if (model.startsWith("gpt-5") ||
|
|
70
|
+
model.startsWith("o3") ||
|
|
71
|
+
model.startsWith("o4")) {
|
|
72
|
+
requestBody.max_completion_tokens = max_tokens;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
requestBody.max_tokens = max_tokens;
|
|
76
|
+
}
|
|
77
|
+
// Add tools if provided (modern API, replaces deprecated functions)
|
|
78
|
+
if (tools) {
|
|
79
|
+
requestBody.tools = tools;
|
|
80
|
+
}
|
|
81
|
+
// Add optional reasoning parameter for reasoning models
|
|
82
|
+
if (reasoning_effort) {
|
|
83
|
+
requestBody.reasoning_effort = reasoning_effort;
|
|
84
|
+
}
|
|
85
|
+
// Add optional verbosity parameter
|
|
86
|
+
if (verbosity) {
|
|
87
|
+
requestBody.verbosity = verbosity;
|
|
88
|
+
}
|
|
89
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
90
|
+
const stream = await this.openai.chat.completions.create(requestBody);
|
|
46
91
|
for await (const chunk of stream) {
|
|
47
92
|
yield chunk;
|
|
48
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIService.js","sourceRoot":"","sources":["../../src/services/OpenAIService.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAI5B,MAAqB,aAAa;IAGhC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,
|
|
1
|
+
{"version":3,"file":"OpenAIService.js","sourceRoot":"","sources":["../../src/services/OpenAIService.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -131,6 +131,16 @@ export interface OpenAIResponse {
|
|
|
131
131
|
message: {
|
|
132
132
|
role: string;
|
|
133
133
|
content: string;
|
|
134
|
+
refusal?: string | null;
|
|
135
|
+
annotations?: Array<any>;
|
|
136
|
+
tool_calls?: Array<{
|
|
137
|
+
id: string;
|
|
138
|
+
type: string;
|
|
139
|
+
function: {
|
|
140
|
+
name: string;
|
|
141
|
+
arguments: string;
|
|
142
|
+
};
|
|
143
|
+
}>;
|
|
134
144
|
function_call?: {
|
|
135
145
|
name: string;
|
|
136
146
|
arguments: any;
|
|
@@ -144,10 +154,14 @@ export interface OpenAIResponse {
|
|
|
144
154
|
completion_tokens: number;
|
|
145
155
|
total_tokens: number;
|
|
146
156
|
prompt_tokens_details?: {
|
|
147
|
-
cached_tokens
|
|
157
|
+
cached_tokens?: number;
|
|
158
|
+
audio_tokens?: number;
|
|
148
159
|
};
|
|
149
160
|
completion_tokens_details?: {
|
|
150
|
-
reasoning_tokens
|
|
161
|
+
reasoning_tokens?: number;
|
|
162
|
+
audio_tokens?: number;
|
|
163
|
+
accepted_prediction_tokens?: number;
|
|
164
|
+
rejected_prediction_tokens?: number;
|
|
151
165
|
};
|
|
152
166
|
};
|
|
153
167
|
system_fingerprint: string;
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,mDAAsC,CAAA;IACtC,2CAA8B,CAAA;IAC9B,oEAAuD,CAAA;AACzD,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AA8ED,IAAY,mBA2CX;AA3CD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,0CAAmB,CAAA;IACnB,oDAA6B,CAAA;IAC7B,oDAA6B,CAAA;IAC7B,0CAAmB,CAAA;IACnB,2DAAoC,CAAA;IACpC,yCAAkB,CAAA;IAClB,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,2EAAoD,CAAA;IACpD,iGAA0E,CAAA;IAC1E,qEAA8C,CAAA;IAC9C,2FAAoE,CAAA;IACpE,mDAA4B,CAAA;IAC5B,yEAAkD,CAAA;IAClD,gDAAyB,CAAA;IACzB,sEAA+C,CAAA;IAC/C,0CAAmB,CAAA;IACnB,gEAAyC,CAAA;IACzC,kDAA2B,CAAA;IAC3B,wEAAiD,CAAA;IACjD,kEAA2C,CAAA;IAC3C,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,oEAA6C,CAAA;IAC7C,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,8CAAuB,CAAA;IACvB,wDAAiC,CAAA;IACjC,wDAAiC,CAAA;IACjC,sDAA+B,CAAA;IAC/B,8DAAuC,CAAA;IACvC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,wEAAiD,CAAA;AACnD,CAAC,EA3CW,mBAAmB,mCAAnB,mBAAmB,QA2C9B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,mDAAsC,CAAA;IACtC,2CAA8B,CAAA;IAC9B,oEAAuD,CAAA;AACzD,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AA8ED,IAAY,mBA2CX;AA3CD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,0CAAmB,CAAA;IACnB,oDAA6B,CAAA;IAC7B,oDAA6B,CAAA;IAC7B,0CAAmB,CAAA;IACnB,2DAAoC,CAAA;IACpC,yCAAkB,CAAA;IAClB,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,2EAAoD,CAAA;IACpD,iGAA0E,CAAA;IAC1E,qEAA8C,CAAA;IAC9C,2FAAoE,CAAA;IACpE,mDAA4B,CAAA;IAC5B,yEAAkD,CAAA;IAClD,gDAAyB,CAAA;IACzB,sEAA+C,CAAA;IAC/C,0CAAmB,CAAA;IACnB,gEAAyC,CAAA;IACzC,kDAA2B,CAAA;IAC3B,wEAAiD,CAAA;IACjD,kEAA2C,CAAA;IAC3C,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,oEAA6C,CAAA;IAC7C,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,8CAAuB,CAAA;IACvB,wDAAiC,CAAA;IACjC,wDAAiC,CAAA;IACjC,sDAA+B,CAAA;IAC/B,8DAAuC,CAAA;IACvC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,wEAAiD,CAAA;AACnD,CAAC,EA3CW,mBAAmB,mCAAnB,mBAAmB,QA2C9B;AA4DD,cAAc;AAEd,wBAAwB;AAExB,6EAA6E;AAC7E,IAAY,6BAqBX;AArBD,WAAY,6BAA6B;IACvC,kBAAkB;IAClB,wFAAuD,CAAA;IACvD,4FAA2D,CAAA;IAC3D,0FAAyD,CAAA;IAEzD,oBAAoB;IACpB,mGAAkE,CAAA;IAClE,mGAAkE,CAAA;IAClE,8FAA6D,CAAA;IAE7D,kBAAkB;IAClB,sEAAqC,CAAA;IACrC,kEAAiC,CAAA;IACjC,kFAAiD,CAAA;IAEjD,qBAAqB;IACrB,gGAA+D,CAAA;IAC/D,oGAAmE,CAAA;IACnE,sGAAqE,CAAA;IACrE,yGAAwE,CAAA;AAC1E,CAAC,EArBW,6BAA6B,6CAA7B,6BAA6B,QAqBxC;AAED,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4CAAa,CAAA;IACb,8CAAe,CAAA;IACf,oDAAqB,CAAA;IACrB,0DAA2B,CAAA;AAC7B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC;AA0GD,YAAY;AAEZ,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,wEAA+C,CAAA;IAC/C,4EAAmD,CAAA;IACnD,4EAAmD,CAAA;IACnD,2FAAkE,CAAA;IAClE,+FAAsE,CAAA;IACtE,+FAAsE,CAAA;AACxE,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// Ensure OpenAIMessage is the base type for all message variants
|
|
3
4
|
const openaiToLlamaMessage = (openaiMessages) => {
|
|
4
5
|
let llamaPrompt = "<|begin_of_text|>";
|
|
5
6
|
// Explicitly type updatedMessages as an array of OpenAIMessage
|
|
6
7
|
const updatedMessages = [];
|
|
7
|
-
openaiMessages.forEach(
|
|
8
|
+
openaiMessages.forEach(msg => {
|
|
8
9
|
const { role, content } = msg;
|
|
9
10
|
if (role === "function") {
|
|
10
11
|
// Add a user message with empty content
|
|
@@ -17,7 +18,7 @@ const openaiToLlamaMessage = (openaiMessages) => {
|
|
|
17
18
|
updatedMessages.push(msg);
|
|
18
19
|
}
|
|
19
20
|
});
|
|
20
|
-
updatedMessages.forEach(
|
|
21
|
+
updatedMessages.forEach(msg => {
|
|
21
22
|
const { role, content } = msg;
|
|
22
23
|
const validRoles = ["system", "user", "assistant"];
|
|
23
24
|
if (!validRoles.includes(role)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAIToLlamaMessage.js","sourceRoot":"","sources":["../../../src/utils/inputFormatAdapterUtils/openAIToLlamaMessage.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"openAIToLlamaMessage.js","sourceRoot":"","sources":["../../../src/utils/inputFormatAdapterUtils/openAIToLlamaMessage.ts"],"names":[],"mappings":";;AACA,iEAAiE;AAEjE,MAAM,oBAAoB,GAAG,CAAC,cAA8B,EAAU,EAAE;IACtE,IAAI,WAAW,GAAG,mBAAmB,CAAC;IAEtC,+DAA+D;IAC/D,MAAM,eAAe,GAAoB,EAAE,CAAC;IAE5C,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAE9B,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,wCAAwC;YACxC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAEpD,oEAAoE;YACpE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC5B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAE9B,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,WAAW,IAAI,wBAAwB,IAAI,sBAAsB,OAAO,cAAc,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,MAAK,MAAM,EAAE,CAAC;QACjC,WAAW,IAAI,iDAAiD,CAAC;IACnE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "llm-proxy",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.4",
|
|
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",
|