llm-proxy 1.3.14 → 1.4.15

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
@@ -46,51 +46,51 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.generateLLMStreamResponse = exports.generateLLMResponse = void 0;
49
- const ProviderFinder_1 = require("./middleware/ProviderFinder");
50
- const InputFormatAdapter_1 = require("./middleware/InputFormatAdapter");
51
49
  const types_1 = require("./types");
52
50
  const OpenAIService_1 = __importDefault(require("./services/OpenAIService"));
53
- const OutputFormatAdapter_1 = require("./middleware/OutputFormatAdapter");
54
51
  const AwsBedrockAnthropicService_1 = __importDefault(require("./services/AwsBedrockAnthropicService"));
52
+ const ProviderFinder_1 = __importDefault(require("./middleware/ProviderFinder"));
53
+ const InputFormatAdapter_1 = __importDefault(require("./middleware/InputFormatAdapter"));
54
+ const OutputFormatAdapter_1 = __importDefault(require("./middleware/OutputFormatAdapter"));
55
55
  // Main function for non-streaming requests
56
56
  function generateLLMResponse(params) {
57
57
  return __awaiter(this, void 0, void 0, function* () {
58
58
  const { messages, model, functions, max_tokens, temperature, credentials } = params;
59
59
  // Step 1: Identify the provider based on the model
60
- const provider = ProviderFinder_1.ProviderFinder.getProvider(model);
60
+ const provider = ProviderFinder_1.default.getProvider(model);
61
61
  // Initialize the correct service based on the provider
62
62
  let service;
63
63
  if (provider === types_1.Providers.OPENAI) {
64
64
  if (!credentials.apiKey) {
65
- return Promise.reject("OpenAI API key is required for OpenAI models.");
65
+ return Promise.reject(new Error("OpenAI API key is required for OpenAI models."));
66
66
  }
67
67
  service = new OpenAIService_1.default(credentials.apiKey);
68
68
  }
69
69
  else if (provider === types_1.Providers.ANTHROPIC_BEDROCK) {
70
- const awsConfig = credentials.awsConfig;
70
+ const { awsConfig } = credentials;
71
71
  if (!awsConfig) {
72
- return Promise.reject("AWS credentials are required for Bedrock models.");
72
+ return Promise.reject(new Error("AWS credentials are required for Bedrock models."));
73
73
  }
74
74
  service = new AwsBedrockAnthropicService_1.default(awsConfig.accessKeyId, awsConfig.secretAccessKey, awsConfig.region);
75
75
  }
76
76
  else {
77
- return Promise.reject("Unsupported provider");
77
+ return Promise.reject(new Error("Unsupported provider"));
78
78
  }
79
79
  // Step 2: Adapt messages and extract the system prompt
80
- const { adaptedMessages, systemPrompt } = InputFormatAdapter_1.InputFormatAdapter.adaptMessages(messages, provider);
80
+ const { adaptedMessages, systemPrompt } = InputFormatAdapter_1.default.adaptMessages(messages, provider);
81
81
  // Step 3: Generate the completion
82
82
  const response = yield service.generateCompletion({
83
83
  messages: adaptedMessages,
84
84
  model,
85
85
  max_tokens,
86
86
  temperature: temperature || 0,
87
- functions,
87
+ tools: functions,
88
88
  systemPrompt,
89
89
  });
90
90
  // Step 4: Adapt the response if needed
91
91
  return provider === types_1.Providers.OPENAI
92
92
  ? response
93
- : OutputFormatAdapter_1.OutputFormatAdapter.adaptResponse(response, provider);
93
+ : OutputFormatAdapter_1.default.adaptResponse(response, provider);
94
94
  });
95
95
  }
96
96
  exports.generateLLMResponse = generateLLMResponse;
@@ -99,34 +99,34 @@ function generateLLMStreamResponse(params) {
99
99
  return __awaiter(this, void 0, void 0, function* () {
100
100
  const { messages, model, functions, max_tokens, temperature, credentials } = params;
101
101
  // Step 1: Identify the provider based on the model
102
- const provider = ProviderFinder_1.ProviderFinder.getProvider(model);
102
+ const provider = ProviderFinder_1.default.getProvider(model);
103
103
  // Initialize the correct service based on the provider
104
104
  let service;
105
105
  if (provider === types_1.Providers.OPENAI) {
106
106
  if (!credentials.apiKey) {
107
- return Promise.reject("OpenAI API key is required for OpenAI models.");
107
+ return Promise.reject(new Error("OpenAI API key is required for OpenAI models."));
108
108
  }
109
109
  service = new OpenAIService_1.default(credentials.apiKey);
110
110
  }
111
111
  else if (provider === types_1.Providers.ANTHROPIC_BEDROCK) {
112
- const awsConfig = credentials.awsConfig;
112
+ const { awsConfig } = credentials;
113
113
  if (!awsConfig) {
114
- return Promise.reject("AWS credentials are required for Bedrock models.");
114
+ return Promise.reject(new Error("AWS credentials are required for Bedrock models."));
115
115
  }
116
116
  service = new AwsBedrockAnthropicService_1.default(awsConfig.accessKeyId, awsConfig.secretAccessKey, awsConfig.region);
117
117
  }
118
118
  else {
119
- return Promise.reject("Unsupported provider");
119
+ return Promise.reject(new Error("Unsupported provider"));
120
120
  }
121
121
  // Step 2: Adapt messages and extract the system prompt
122
- const { adaptedMessages, systemPrompt } = InputFormatAdapter_1.InputFormatAdapter.adaptMessages(messages, provider);
122
+ const { adaptedMessages, systemPrompt } = InputFormatAdapter_1.default.adaptMessages(messages, provider);
123
123
  // Step 3: Generate the streaming completion
124
124
  const stream = service.generateStreamCompletion({
125
125
  messages: adaptedMessages,
126
126
  model,
127
127
  max_tokens,
128
128
  temperature: temperature || 0,
129
- functions,
129
+ tools: functions,
130
130
  systemPrompt,
131
131
  });
132
132
  // Step 4: Create and return the async generator
@@ -141,7 +141,7 @@ function generateLLMStreamResponse(params) {
141
141
  const chunk = _c;
142
142
  yield yield __await(provider === types_1.Providers.OPENAI
143
143
  ? chunk
144
- : OutputFormatAdapter_1.OutputFormatAdapter.adaptResponse(chunk, provider));
144
+ : OutputFormatAdapter_1.default.adaptResponse(chunk, provider));
145
145
  }
146
146
  finally {
147
147
  _d = true;
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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"}
@@ -1,6 +1,6 @@
1
- import { BedrockAnthropicMessage, Messages, OpenAIMessages, Providers } from "../types";
2
- export declare class InputFormatAdapter {
3
- static adaptMessages(messages: Messages, provider: Providers): {
1
+ import { BedrockAnthropicMessage, OpenAIMessages, Providers } from "../types";
2
+ export default class InputFormatAdapter {
3
+ static adaptMessages(messages: any, provider: Providers): {
4
4
  adaptedMessages: OpenAIMessages | BedrockAnthropicMessage[];
5
5
  systemPrompt?: string;
6
6
  };
@@ -1,21 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InputFormatAdapter = void 0;
4
3
  const types_1 = require("../types");
5
4
  class InputFormatAdapter {
6
5
  static adaptMessages(messages, provider) {
7
- //
8
- /**!SECTION
9
- * There some strange stuff happened, in a function call assistant message the
10
- * will be by default null, it must be null, but the openai api was returning error
11
- * and it cannot be null of fine, but using same api version, from different app (CMND)
12
- * it works well !!!!!!!! it works with null content on the same version,
13
- * im not convinced with this work to make it empty string instead of null so here is a todo to go back to it
14
- */
15
6
  var _a;
16
7
  switch (provider) {
17
8
  case types_1.Providers.OPENAI:
18
9
  return {
10
+ // @ts-ignore
19
11
  adaptedMessages: messages.map((msg) => {
20
12
  var _a, _b;
21
13
  if (msg.role === "function") {
@@ -27,7 +19,7 @@ class InputFormatAdapter {
27
19
  }
28
20
  return {
29
21
  role: msg.role,
30
- content: (_b = msg.content) !== null && _b !== void 0 ? _b : "",
22
+ content: (_b = msg.content) !== null && _b !== void 0 ? _b : "function call",
31
23
  };
32
24
  }),
33
25
  };
@@ -41,18 +33,61 @@ class InputFormatAdapter {
41
33
  throw new Error("The first message must have a role of 'system' for Anthropic.");
42
34
  }
43
35
  const systemPrompt = (_a = firstMessage.content) !== null && _a !== void 0 ? _a : "";
44
- const adaptedMessages = restMessages.map((msg) => {
45
- var _a;
46
- return ({
47
- role: msg.role === "user" ? "user" : "assistant",
48
- content: [
49
- {
50
- type: types_1.BedrockAnthropicContentType.TEXT,
51
- text: (_a = msg.content) !== null && _a !== void 0 ? _a : "",
52
- },
53
- ],
54
- });
36
+ const adaptedMessages = [];
37
+ // @ts-ignore
38
+ restMessages.forEach((msg) => {
39
+ var _a, _b;
40
+ if (msg.role !== "user" && msg.role !== "assistant") {
41
+ // Add the "empty" message before the current one
42
+ adaptedMessages.push({
43
+ role: "user",
44
+ content: [
45
+ {
46
+ type: types_1.BedrockAnthropicContentType.TEXT,
47
+ text: ":",
48
+ },
49
+ ],
50
+ });
51
+ // Change the role to "assistant" for the current message
52
+ adaptedMessages.push({
53
+ role: "assistant",
54
+ content: [
55
+ {
56
+ type: types_1.BedrockAnthropicContentType.TEXT,
57
+ text: (_a = msg.content) !== null && _a !== void 0 ? _a : "",
58
+ },
59
+ ],
60
+ });
61
+ }
62
+ else {
63
+ // Add the message as-is
64
+ adaptedMessages.push({
65
+ role: msg.role,
66
+ content: [
67
+ {
68
+ type: types_1.BedrockAnthropicContentType.TEXT,
69
+ text: (_b = msg.content) !== null && _b !== void 0 ? _b : msg.function_call.arguments,
70
+ },
71
+ ],
72
+ });
73
+ }
55
74
  });
75
+ // Ensure no two consecutive messages have the same role
76
+ for (let i = 0; i < adaptedMessages.length - 1; i += 1) {
77
+ if (adaptedMessages[i].role === adaptedMessages[i + 1].role) {
78
+ // Insert a placeholder message with the opposite role
79
+ adaptedMessages.splice(i + 1, 0, {
80
+ role: adaptedMessages[i].role === "user" ? "assistant" : "user",
81
+ content: [
82
+ {
83
+ type: types_1.BedrockAnthropicContentType.TEXT,
84
+ text: ":",
85
+ },
86
+ ],
87
+ });
88
+ i += 1; // Skip the inserted message
89
+ }
90
+ }
56
91
  return { adaptedMessages, systemPrompt };
57
92
  }
58
93
  default:
@@ -60,5 +95,5 @@ class InputFormatAdapter {
60
95
  }
61
96
  }
62
97
  }
63
- exports.InputFormatAdapter = InputFormatAdapter;
98
+ exports.default = InputFormatAdapter;
64
99
  //# sourceMappingURL=InputFormatAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":";;;AAAA,oCAOkB;AAElB,MAAa,kBAAkB;IAC7B,MAAM,CAAC,aAAa,CAClB,QAAkB,EAClB,QAAmB;QAKnB,EAAE;QACF;;;;;;WAMG;;QAEH,QAAQ,QAAQ,EAAE;YAChB,KAAK,iBAAS,CAAC,MAAM;gBACnB,OAAO;oBACL,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;wBACpC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;4BAC3B,OAAO;gCACL,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,OAAO,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE;gCAC1B,IAAI,EAAG,GAA6B,CAAC,IAAI;6BAC1C,CAAC;yBACH;wBACD,OAAO;4BACL,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,OAAO,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE;yBAC3B,CAAC;oBACJ,CAAC,CAAmB;iBACrB,CAAC;YAEJ,KAAK,iBAAS,CAAC,iBAAiB,CAAC,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;iBAClE;gBAED,iDAAiD;gBACjD,MAAM,CAAC,YAAY,EAAE,GAAG,YAAY,CAAC,GAAG,QAAQ,CAAC;gBAEjD,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAClC,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;iBACH;gBAED,MAAM,YAAY,GAAG,MAAA,YAAY,CAAC,OAAO,mCAAI,EAAE,CAAC;gBAEhD,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;oBAAC,OAAA,CAAC;wBACjD,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;wBAChD,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,mCAA2B,CAAC,IAAI;gCACtC,IAAI,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE;6BACxB;yBACF;qBACF,CAAC,CAAA;iBAAA,CAA8B,CAAC;gBAEjC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;aAC1C;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;SACxD;IACH,CAAC;CACF;AApED,gDAoEC"}
1
+ {"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { LLMResponse, Providers } from "../types";
2
- export declare class OutputFormatAdapter {
3
- private static cachedModel;
2
+ export default class OutputFormatAdapter {
3
+ private static isToolUseStream;
4
+ private static toolArguments;
5
+ private static model;
6
+ private static toolName;
4
7
  static adaptResponse(response: any, provider: Providers): LLMResponse;
5
- private static adaptCompleteResponse;
6
8
  private static adaptStreamingResponse;
7
- private static getModel;
8
- private static mapRole;
9
- private static extractContent;
9
+ private static createToolUseResponse;
10
+ private static createNonToolUseResponse;
11
+ private static resetState;
10
12
  }
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OutputFormatAdapter = void 0;
4
3
  const types_1 = require("../types");
5
4
  class OutputFormatAdapter {
6
5
  static adaptResponse(response, provider) {
@@ -12,12 +11,7 @@ class OutputFormatAdapter {
12
11
  case types_1.Providers.OPENAI:
13
12
  return response;
14
13
  case types_1.Providers.ANTHROPIC_BEDROCK:
15
- if (response.type === "message" && !response.delta) {
16
- return this.adaptCompleteResponse(response);
17
- }
18
- else {
19
- return this.adaptStreamingResponse(response);
20
- }
14
+ return this.adaptStreamingResponse(response);
21
15
  default:
22
16
  throw new Error(`Unsupported provider: ${provider}`);
23
17
  }
@@ -26,59 +20,63 @@ class OutputFormatAdapter {
26
20
  throw new Error(`Failed to adapt response: ${error.message}`);
27
21
  }
28
22
  }
29
- static adaptCompleteResponse(response) {
30
- var _a, _b, _c, _d;
31
- const model = this.getModel(response);
32
- return {
33
- id: response.id,
34
- object: "text_completion",
35
- created: Date.now(),
36
- model,
37
- choices: response.content.map((contentBlock, index) => ({
38
- index,
39
- message: {
40
- role: this.mapRole(contentBlock),
41
- content: this.extractContent(contentBlock),
42
- },
43
- logprobs: null,
44
- finish_reason: response.stop_reason || null,
45
- })),
46
- usage: {
47
- prompt_tokens: ((_a = response.usage) === null || _a === void 0 ? void 0 : _a.input_tokens) || 0,
48
- completion_tokens: ((_b = response.usage) === null || _b === void 0 ? void 0 : _b.output_tokens) || 0,
49
- total_tokens: (((_c = response.usage) === null || _c === void 0 ? void 0 : _c.input_tokens) || 0) +
50
- (((_d = response.usage) === null || _d === void 0 ? void 0 : _d.output_tokens) || 0),
51
- prompt_tokens_details: { cached_tokens: 0 },
52
- completion_tokens_details: { reasoning_tokens: 0 },
53
- },
54
- system_fingerprint: response.system_fingerprint || "default_fingerprint",
55
- };
56
- }
57
23
  static adaptStreamingResponse(chunk) {
58
- var _a, _b, _c;
24
+ var _a, _b, _c, _d, _e;
59
25
  const metrics = chunk["amazon-bedrock-invocationMetrics"];
60
26
  const isStop = chunk.type === "content_block_stop" || chunk.type === "message_stop";
61
- // Cache model on the first message_start chunk
27
+ // Cache model on the first `message_start` chunk
62
28
  if (chunk.type === "message_start" && ((_a = chunk.message) === null || _a === void 0 ? void 0 : _a.model)) {
63
- this.cachedModel = chunk.message.model;
29
+ this.model = chunk.message.model;
30
+ }
31
+ // Detect tool use for the current chunk and cache the tool name
32
+ if (chunk.type === "content_block_start" &&
33
+ ((_b = chunk.content_block) === null || _b === void 0 ? void 0 : _b.type) === "tool_use") {
34
+ this.isToolUseStream = true;
35
+ this.toolName = ((_c = chunk.content_block) === null || _c === void 0 ? void 0 : _c.name) || "unknown_tool"; // Capture tool name
36
+ }
37
+ // Accumulate tool arguments for tool-use streams
38
+ if (chunk.type === "content_block_delta" &&
39
+ ((_d = chunk.delta) === null || _d === void 0 ? void 0 : _d.type) === "input_json_delta") {
40
+ this.toolArguments.push(((_e = chunk.delta) === null || _e === void 0 ? void 0 : _e.partial_json) || "nothing");
64
41
  }
65
- // Extract content properly
66
- const content = ((_b = chunk.content_block) === null || _b === void 0 ? void 0 : _b.text) || ((_c = chunk.delta) === null || _c === void 0 ? void 0 : _c.text) || "";
67
- // Generate the adapted chunk
42
+ // Handle the end of the stream
43
+ if (isStop) {
44
+ const response = this.isToolUseStream
45
+ ? this.createToolUseResponse(metrics, isStop)
46
+ : this.createNonToolUseResponse(metrics, isStop, chunk);
47
+ // Reset state after processing the end of the stream
48
+ this.resetState();
49
+ return response;
50
+ }
51
+ // Handle intermediate chunks (non-stop chunks)
52
+ return this.isToolUseStream
53
+ ? this.createToolUseResponse(metrics, isStop, chunk)
54
+ : this.createNonToolUseResponse(metrics, isStop, chunk);
55
+ }
56
+ static createToolUseResponse(metrics, isStop, chunk) {
57
+ var _a, _b;
68
58
  return {
69
59
  id: `stream-${Date.now()}`,
70
60
  object: "chat.completion.chunk",
71
61
  created: Date.now(),
72
- model: this.cachedModel || "unknown-model",
62
+ model: this.model || "unknown-model",
63
+ system_fingerprint: "anthropic_translation",
73
64
  choices: [
74
65
  {
75
66
  index: 0,
76
- delta: isStop
77
- ? {} // Send an empty delta for stop messages
78
- : { content },
67
+ delta: {
68
+ function_call: {
69
+ name: this.toolName || "unknown_tool",
70
+ arguments: chunk &&
71
+ chunk.type === "content_block_delta" &&
72
+ ((_a = chunk.delta) === null || _a === void 0 ? void 0 : _a.type) === "input_json_delta"
73
+ ? (_b = chunk.delta) === null || _b === void 0 ? void 0 : _b.partial_json
74
+ : this.toolArguments.join(", ")
75
+ }
76
+ },
79
77
  logprobs: null,
80
- finish_reason: isStop ? "stop" : null, // Properly use `null` or `"stop"`
81
- },
78
+ finish_reason: isStop ? "stop" : null
79
+ }
82
80
  ],
83
81
  usage: isStop
84
82
  ? {
@@ -86,54 +84,58 @@ class OutputFormatAdapter {
86
84
  completion_tokens: (metrics === null || metrics === void 0 ? void 0 : metrics.outputTokenCount) || 0,
87
85
  total_tokens: ((metrics === null || metrics === void 0 ? void 0 : metrics.inputTokenCount) || 0) +
88
86
  ((metrics === null || metrics === void 0 ? void 0 : metrics.outputTokenCount) || 0),
89
- prompt_tokens_details: { cached_tokens: 0 },
90
- completion_tokens_details: { reasoning_tokens: 0 },
87
+ prompt_tokens_details: {
88
+ cached_tokens: 0
89
+ },
90
+ completion_tokens_details: {
91
+ reasoning_tokens: 0
92
+ }
91
93
  }
92
- : null,
93
- system_fingerprint: "anthropic_translation",
94
+ : null
94
95
  };
95
96
  }
96
- static getModel(response) {
97
- var _a;
98
- // Try to retrieve the model from the response
99
- if ((_a = response === null || response === void 0 ? void 0 : response.message) === null || _a === void 0 ? void 0 : _a.model) {
100
- return response.message.model;
101
- }
102
- if (response === null || response === void 0 ? void 0 : response.model) {
103
- return response.model;
104
- }
105
- return "unknown-model";
106
- }
107
- static mapRole(content) {
108
- if (!content || !content.type) {
109
- throw new Error("Invalid content block structure");
110
- }
111
- switch (content.type) {
112
- case types_1.BedrockAnthropicContentType.TOOL_USE:
113
- case types_1.BedrockAnthropicContentType.TOOL_RESULT:
114
- return "tool";
115
- case types_1.BedrockAnthropicContentType.TEXT:
116
- return "assistant";
117
- default:
118
- return "assistant";
119
- }
97
+ static createNonToolUseResponse(metrics, isStop, chunk) {
98
+ var _a, _b;
99
+ const content = ((_a = chunk.content_block) === null || _a === void 0 ? void 0 : _a.text) || ((_b = chunk.delta) === null || _b === void 0 ? void 0 : _b.text) || "";
100
+ return {
101
+ id: `stream-${Date.now()}`,
102
+ object: "chat.completion.chunk",
103
+ created: Date.now(),
104
+ model: this.model || "unknown-model",
105
+ choices: [
106
+ {
107
+ index: 0,
108
+ delta: {
109
+ content
110
+ },
111
+ logprobs: null,
112
+ finish_reason: isStop ? "stop" : null
113
+ }
114
+ ],
115
+ usage: isStop
116
+ ? {
117
+ prompt_tokens: (metrics === null || metrics === void 0 ? void 0 : metrics.inputTokenCount) || 0,
118
+ completion_tokens: (metrics === null || metrics === void 0 ? void 0 : metrics.outputTokenCount) || 0,
119
+ total_tokens: ((metrics === null || metrics === void 0 ? void 0 : metrics.inputTokenCount) || 0) +
120
+ ((metrics === null || metrics === void 0 ? void 0 : metrics.outputTokenCount) || 0),
121
+ prompt_tokens_details: {
122
+ cached_tokens: 0
123
+ },
124
+ completion_tokens_details: {
125
+ reasoning_tokens: 0
126
+ }
127
+ }
128
+ : null
129
+ };
120
130
  }
121
- static extractContent(content) {
122
- if (!content || !content.type) {
123
- throw new Error("Invalid content block structure");
124
- }
125
- switch (content.type) {
126
- case types_1.BedrockAnthropicContentType.TEXT:
127
- return content.text || "";
128
- case types_1.BedrockAnthropicContentType.TOOL_RESULT:
129
- return content.content || "";
130
- case types_1.BedrockAnthropicContentType.TOOL_USE:
131
- return content.id || "";
132
- default:
133
- return "";
134
- }
131
+ static resetState() {
132
+ this.isToolUseStream = false;
133
+ this.toolArguments = [];
134
+ this.model = undefined;
135
+ this.toolName = undefined;
135
136
  }
136
137
  }
137
- exports.OutputFormatAdapter = OutputFormatAdapter;
138
- OutputFormatAdapter.cachedModel = null; // Cache the model for streaming responses
138
+ exports.default = OutputFormatAdapter;
139
+ OutputFormatAdapter.isToolUseStream = false;
140
+ OutputFormatAdapter.toolArguments = [];
139
141
  //# sourceMappingURL=OutputFormatAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OutputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/OutputFormatAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/OutputFormatAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Providers } from "../types";
2
- export declare class ProviderFinder {
2
+ export default class ProviderFinder {
3
3
  static getProvider(model: string): Providers;
4
4
  }
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderFinder = void 0;
4
3
  const types_1 = require("../types");
5
4
  class ProviderFinder {
6
5
  static getProvider(model) {
@@ -16,5 +15,5 @@ class ProviderFinder {
16
15
  throw new Error(`Unsupported model: ${model}`);
17
16
  }
18
17
  }
19
- exports.ProviderFinder = ProviderFinder;
18
+ exports.default = ProviderFinder;
20
19
  //# sourceMappingURL=ProviderFinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderFinder.js","sourceRoot":"","sources":["../../src/middleware/ProviderFinder.ts"],"names":[],"mappings":";;;AAAA,oCAIkB;AAElB,MAAa,cAAc;IACzB,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,sDAAsD;QACtD,IACE,MAAM,CAAC,MAAM,CAAC,2BAAmB,CAAC,CAAC,QAAQ,CAAC,KAA4B,CAAC,EACzE;YACA,OAAO,iBAAS,CAAC,MAAM,CAAC;SACzB;QACD,iEAAiE;QACjE,IACE,MAAM,CAAC,MAAM,CAAC,qCAA6B,CAAC,CAAC,QAAQ,CACnD,KAAsC,CACvC,EACD;YACA,OAAO,iBAAS,CAAC,iBAAiB,CAAC;SACpC;QACD,wCAAwC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAnBD,wCAmBC"}
1
+ {"version":3,"file":"ProviderFinder.js","sourceRoot":"","sources":["../../src/middleware/ProviderFinder.ts"],"names":[],"mappings":";;AAAA,oCAIkB;AAElB,MAAqB,cAAc;IACjC,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,sDAAsD;QACtD,IACE,MAAM,CAAC,MAAM,CAAC,2BAAmB,CAAC,CAAC,QAAQ,CAAC,KAA4B,CAAC,EACzE;YACA,OAAO,iBAAS,CAAC,MAAM,CAAC;SACzB;QACD,iEAAiE;QACjE,IACE,MAAM,CAAC,MAAM,CAAC,qCAA6B,CAAC,CAAC,QAAQ,CACnD,KAAsC,CACvC,EACD;YACA,OAAO,iBAAS,CAAC,iBAAiB,CAAC;SACpC;QACD,wCAAwC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAnBD,iCAmBC"}
@@ -5,16 +5,18 @@ export default class AwsBedrockAnthropicService implements ClientService {
5
5
  constructor(awsAccessKey: string, awsSecretKey: string, region: string);
6
6
  generateCompletion(params: {
7
7
  messages: Messages;
8
- model: string;
8
+ model?: string;
9
9
  max_tokens?: number;
10
10
  temperature?: number;
11
+ tools?: any;
11
12
  systemPrompt?: string;
12
13
  }): Promise<BedrockAnthropicResponse>;
13
14
  generateStreamCompletion(params: {
14
15
  messages: Messages;
15
- model: string;
16
+ model?: string;
16
17
  max_tokens?: number;
17
18
  temperature?: number;
19
+ tools?: any;
18
20
  systemPrompt?: string;
19
21
  }): AsyncGenerator<BedrockAnthropicParsedChunk, void, unknown>;
20
22
  }
@@ -41,17 +41,13 @@ class AwsBedrockAnthropicService {
41
41
  }
42
42
  generateCompletion(params) {
43
43
  return __awaiter(this, void 0, void 0, function* () {
44
- const { messages, model, max_tokens, temperature, systemPrompt } = params;
44
+ const { messages, model, max_tokens, temperature, systemPrompt, tools } = params;
45
45
  if (!model) {
46
- return Promise.reject("Model ID is required for AwsBedrockAnthropicService");
46
+ return Promise.reject(new Error("Model ID is required for AwsBedrockAnthropicService"));
47
47
  }
48
- const body = JSON.stringify({
49
- anthropic_version: "bedrock-2023-05-31",
50
- max_tokens,
48
+ const body = JSON.stringify(Object.assign({ anthropic_version: "bedrock-2023-05-31", max_tokens,
51
49
  temperature,
52
- messages,
53
- system: systemPrompt,
54
- });
50
+ messages, system: systemPrompt }, (tools.length ? { tools } : {})));
55
51
  const command = new client_bedrock_runtime_1.InvokeModelCommand({
56
52
  modelId: model,
57
53
  body,
@@ -62,21 +58,18 @@ class AwsBedrockAnthropicService {
62
58
  return JSON.parse(new TextDecoder().decode(response.body));
63
59
  });
64
60
  }
61
+ // eslint-disable-next-line consistent-return
65
62
  generateStreamCompletion(params) {
66
63
  var _a;
67
64
  return __asyncGenerator(this, arguments, function* generateStreamCompletion_1() {
68
65
  var _b, e_1, _c, _d;
69
- const { messages, model, max_tokens, temperature, systemPrompt } = params;
66
+ const { messages, model, max_tokens, temperature, tools, systemPrompt } = params;
70
67
  if (!model) {
71
- return yield __await(Promise.reject("Model ID is required for AwsBedrockAnthropicService"));
68
+ return yield __await(Promise.reject(new Error("Model ID is required for AwsBedrockAnthropicService")));
72
69
  }
73
- const body = JSON.stringify({
74
- anthropic_version: "bedrock-2023-05-31",
75
- max_tokens,
70
+ const body = JSON.stringify(Object.assign({ anthropic_version: "bedrock-2023-05-31", max_tokens,
76
71
  temperature,
77
- messages,
78
- system: systemPrompt,
79
- });
72
+ messages, system: systemPrompt }, (tools.length ? { tools } : {})));
80
73
  const command = new client_bedrock_runtime_1.InvokeModelWithResponseStreamCommand({
81
74
  modelId: model,
82
75
  body,
@@ -1 +1 @@
1
- {"version":3,"file":"AwsBedrockAnthropicService.js","sourceRoot":"","sources":["../../src/services/AwsBedrockAnthropicService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAIyC;AAQzC,MAAqB,0BAA0B;IAG7C,YAAY,YAAoB,EAAE,YAAoB,EAAE,MAAc;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,6CAAoB,CAAC;YACtC,MAAM;YACN,WAAW,EAAE;gBACX,WAAW,EAAE,YAAY;gBACzB,eAAe,EAAE,YAAY;aAC9B;SACF,CAAC,CAAC;IACL,CAAC;IAEK,kBAAkB,CAAC,MAMxB;;YACC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;YAE1E,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,OAAO,CAAC,MAAM,CACnB,qDAAqD,CACtD,CAAC;aACH;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,iBAAiB,EAAE,oBAAoB;gBACvC,UAAU;gBACV,WAAW;gBACX,QAAQ;gBACR,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,2CAAkB,CAAC;gBACrC,OAAO,EAAE,KAAK;gBACd,IAAI;gBACJ,WAAW,EAAE,kBAAkB;gBAC/B,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEM,wBAAwB,CAAC,MAM/B;;;;YACC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;YAE1E,IAAI,CAAC,KAAK,EAAE;gBACV,qBAAO,OAAO,CAAC,MAAM,CACnB,qDAAqD,CACtD,EAAC;aACH;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,iBAAiB,EAAE,oBAAoB;gBACvC,UAAU;gBACV,WAAW;gBACX,QAAQ;gBACR,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,6DAAoC,CAAC;gBACvD,OAAO,EAAE,KAAK;gBACd,IAAI;gBACJ,WAAW,EAAE,kBAAkB;gBAC/B,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,cAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC;YAElD,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;;oBAEzC,KAA4B,eAAA,KAAA,cAAA,QAAQ,CAAC,IAAI,CAAA,IAAA;wBAAb,cAAa;wBAAb,WAAa;;4BAA9B,MAAM,OAAO,KAAA,CAAA;4BACtB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,EAAE;gCACzD,MAAM,EAAE,IAAI;6BACb,CAAC,CAAC;4BAEH,IAAI;gCACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gCAC7C,oBAAM,UAAU,CAAA,CAAC;6BAClB;4BAAC,OAAO,KAAK,EAAE;gCACd,qBAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC;6BAC9B;;;;;qBACF;;;;;;;;;aACF;;KACF;CACF;AAhGD,6CAgGC"}
1
+ {"version":3,"file":"AwsBedrockAnthropicService.js","sourceRoot":"","sources":["../../src/services/AwsBedrockAnthropicService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAIyC;AAQzC,MAAqB,0BAA0B;IAG7C,YAAY,YAAoB,EAAE,YAAoB,EAAE,MAAc;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,6CAAoB,CAAC;YACtC,MAAM;YACN,WAAW,EAAE;gBACX,WAAW,EAAE,YAAY;gBACzB,eAAe,EAAE,YAAY;aAC9B;SACF,CAAC,CAAC;IACL,CAAC;IAEK,kBAAkB,CAAC,MAQxB;;YACC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,GACrE,MAAM,CAAC;YAET,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,qDAAqD,CAAC,CACjE,CAAC;aACH;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,iBACzB,iBAAiB,EAAE,oBAAoB,EACvC,UAAU;gBACV,WAAW;gBACX,QAAQ,EACR,MAAM,EAAE,YAAY,IACjB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAClC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,2CAAkB,CAAC;gBACrC,OAAO,EAAE,KAAK;gBACd,IAAI;gBACJ,WAAW,EAAE,kBAAkB;gBAC/B,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;KAAA;IAED,6CAA6C;IACtC,wBAAwB,CAAC,MAQ/B;;;;YACC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,GACrE,MAAM,CAAC;YAET,IAAI,CAAC,KAAK,EAAE;gBACV,qBAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,qDAAqD,CAAC,CACjE,EAAC;aACH;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,iBACzB,iBAAiB,EAAE,oBAAoB,EACvC,UAAU;gBACV,WAAW;gBACX,QAAQ,EACR,MAAM,EAAE,YAAY,IACjB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAClC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,6DAAoC,CAAC;gBACvD,OAAO,EAAE,KAAK;gBACd,IAAI;gBACJ,WAAW,EAAE,kBAAkB;gBAC/B,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,cAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC;YAElD,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;;oBAEzC,KAA4B,eAAA,KAAA,cAAA,QAAQ,CAAC,IAAI,CAAA,IAAA;wBAAb,cAAa;wBAAb,WAAa;;4BAA9B,MAAM,OAAO,KAAA,CAAA;4BACtB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,EAAE;gCACzD,MAAM,EAAE,IAAI;6BACb,CAAC,CAAC;4BAEH,IAAI;gCACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gCAC7C,oBAAM,UAAU,CAAA,CAAC;6BAClB;4BAAC,OAAO,KAAK,EAAE;gCACd,qBAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC;6BAC9B;;;;;qBACF;;;;;;;;;aACF;;KACF;CACF;AAzGD,6CAyGC"}
@@ -1,19 +1,19 @@
1
1
  import { BedrockAnthropicParsedChunk, LLMResponse, Messages } from "../types";
2
2
  export interface ClientService {
3
- generateCompletion({ messages, model, max_tokens, temperature, functions, systemPrompt, }: {
3
+ generateCompletion({ messages, model, max_tokens, temperature, tools, systemPrompt, }: {
4
4
  messages: Messages;
5
5
  model?: string;
6
6
  max_tokens?: number;
7
7
  temperature?: number;
8
- functions?: any;
8
+ tools?: any;
9
9
  systemPrompt?: string;
10
10
  }): Promise<LLMResponse>;
11
- generateStreamCompletion({ messages, model, max_tokens, temperature, functions, systemPrompt, }: {
11
+ generateStreamCompletion({ messages, model, max_tokens, temperature, tools, systemPrompt, }: {
12
12
  messages: Messages;
13
13
  model?: string;
14
14
  max_tokens?: number;
15
15
  temperature?: number;
16
- functions?: any;
16
+ tools?: any;
17
17
  systemPrompt?: string;
18
18
  }): AsyncGenerator<BedrockAnthropicParsedChunk, void, unknown>;
19
19
  }
@@ -1,9 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // functions: [
4
- // {
5
- // name: "function1",
6
- // description: "Description of function1",
7
- // parameters: {/* JSON schema for function1 */}
8
- // },
9
3
  //# sourceMappingURL=ClientService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientService.js","sourceRoot":"","sources":["../../src/services/ClientService.ts"],"names":[],"mappings":";;AAoCA,gBAAgB;AAChB,MAAM;AACN,yBAAyB;AACzB,+CAA+C;AAC/C,oDAAoD;AACpD,OAAO"}
1
+ {"version":3,"file":"ClientService.js","sourceRoot":"","sources":["../../src/services/ClientService.ts"],"names":[],"mappings":""}
@@ -3,20 +3,20 @@ 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, functions, }: {
6
+ generateCompletion({ messages, model, max_tokens, temperature, tools, }: {
7
7
  messages: OpenAIMessages;
8
8
  model: string;
9
9
  max_tokens: number;
10
10
  temperature: number;
11
11
  systemPrompt?: string;
12
- functions?: any;
12
+ tools?: any;
13
13
  }): Promise<OpenAIResponse>;
14
- generateStreamCompletion({ messages, model, max_tokens, temperature, functions, }: {
14
+ generateStreamCompletion({ messages, model, max_tokens, temperature, tools, }: {
15
15
  messages: OpenAIMessages;
16
16
  model: string;
17
17
  max_tokens: number;
18
18
  temperature: number;
19
19
  systemPrompt?: string;
20
- functions?: any;
20
+ tools?: any;
21
21
  }): AsyncGenerator<any, void, unknown>;
22
22
  }
@@ -36,10 +36,10 @@ class OpenAIService {
36
36
  constructor(apiKey) {
37
37
  this.openai = new openai_1.default({ apiKey });
38
38
  }
39
- generateCompletion({ messages, model, max_tokens, temperature, functions, }) {
39
+ generateCompletion({ messages, model, max_tokens, temperature, tools, }) {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
41
  if (!model) {
42
- return Promise.reject("Model ID is required for OpenAIService.");
42
+ return Promise.reject(new Error("Model ID is required for OpenAIService."));
43
43
  }
44
44
  try {
45
45
  const response = yield this.openai.chat.completions.create({
@@ -47,7 +47,7 @@ class OpenAIService {
47
47
  messages,
48
48
  max_tokens,
49
49
  temperature,
50
- functions,
50
+ functions: tools,
51
51
  });
52
52
  return response;
53
53
  }
@@ -56,11 +56,12 @@ class OpenAIService {
56
56
  }
57
57
  });
58
58
  }
59
- generateStreamCompletion({ messages, model, max_tokens, temperature, functions, }) {
59
+ // eslint-disable-next-line consistent-return
60
+ generateStreamCompletion({ messages, model, max_tokens, temperature, tools, }) {
60
61
  return __asyncGenerator(this, arguments, function* generateStreamCompletion_1() {
61
62
  var _a, e_1, _b, _c;
62
63
  if (!model) {
63
- return yield __await(Promise.reject("Model ID is required for OpenAIService."));
64
+ return yield __await(Promise.reject(new Error("Model ID is required for OpenAIService.")));
64
65
  }
65
66
  try {
66
67
  const stream = yield __await(this.openai.chat.completions.create({
@@ -68,7 +69,7 @@ class OpenAIService {
68
69
  messages,
69
70
  max_tokens,
70
71
  temperature,
71
- functions,
72
+ functions: tools,
72
73
  stream: true,
73
74
  stream_options: {
74
75
  include_usage: true,
@@ -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;IAEK,kBAAkB,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,GAQV;;YACC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;aAClE;YAED,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBACzD,KAAK;oBACL,QAAQ;oBACR,UAAU;oBACV,WAAW;oBACX,SAAS;iBACV,CAAC,CAAC;gBACH,OAAO,QAA0B,CAAC;aACnC;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC9B;QACH,CAAC;KAAA;IAEM,wBAAwB,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,GAQV;;;YACC,IAAI,CAAC,KAAK,EAAE;gBACV,qBAAO,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,EAAC;aAClE;YAED,IAAI;gBACF,MAAM,MAAM,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBACvD,KAAK;oBACL,QAAQ;oBACR,UAAU;oBACV,WAAW;oBACX,SAAS;oBACT,MAAM,EAAE,IAAI;oBACZ,cAAc,EAAE;wBACd,aAAa,EAAE,IAAI;qBACpB;iBACF,CAAC,CAAA,CAAC;;oBAEH,KAA0B,eAAA,WAAA,cAAA,MAAM,CAAA,YAAA;wBAAN,sBAAM;wBAAN,WAAM;;4BAArB,MAAM,KAAK,KAAA,CAAA;4BACpB,oBAAM,KAAK,CAAA,CAAC;;;;;qBACb;;;;;;;;;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,qBAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC;aAC9B;QACH,CAAC;KAAA;CACF;AA7ED,gCA6EC"}
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;IAEK,kBAAkB,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,GASN;;YACC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,yCAAyC,CAAC,CACrD,CAAC;aACH;YAED,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBACzD,KAAK;oBACL,QAAQ;oBACR,UAAU;oBACV,WAAW;oBACX,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,OAAO,QAA0B,CAAC;aACnC;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC9B;QACH,CAAC;KAAA;IAED,6CAA6C;IACtC,wBAAwB,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,GAUN;;;YACC,IAAI,CAAC,KAAK,EAAE;gBACV,qBAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,yCAAyC,CAAC,CACrD,EAAC;aACH;YAED,IAAI;gBACF,MAAM,MAAM,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBACvD,KAAK;oBACL,QAAQ;oBACR,UAAU;oBACV,WAAW;oBACX,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,IAAI;oBACZ,cAAc,EAAE;wBACd,aAAa,EAAE,IAAI;qBACpB;iBACF,CAAC,CAAA,CAAC;;oBAEH,KAA0B,eAAA,WAAA,cAAA,MAAM,CAAA,YAAA;wBAAN,sBAAM;wBAAN,WAAM;;4BAArB,MAAM,KAAK,KAAA,CAAA;4BACpB,oBAAM,KAAK,CAAA,CAAC;;;;;qBACb;;;;;;;;;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,qBAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC;aAC9B;QACH,CAAC;KAAA;CACF;AArFD,gCAqFC"}
@@ -64,12 +64,40 @@ export type OpenAIFunctionMessage = {
64
64
  export type OpenAIMessage = OpenAISystemMessage | OpenAIUserMessage | OpenAIAssistantMessage | OpenAIToolMessage | OpenAIFunctionMessage;
65
65
  export type OpenAIMessages = OpenAIMessage[];
66
66
  export declare enum OpenAISupportedLLMs {
67
- GPT_4_O_LAEST = "chatgpt-4o-latest",
67
+ GPT_4_O_LATEST = "chatgpt-4o-latest",
68
68
  GPT_4_O = "gpt-4o",
69
+ GPT_4_O_2024_11_20 = "gpt-4o-2024-11-20",
70
+ GPT_4_O_2024_08_06 = "gpt-4o-2024-08-06",
71
+ GPT_4_O_2024_05_13 = "gpt-4o-2024-05-13",
72
+ GPT_4_O_REALTIME_PREVIEW = "gpt-4o-realtime-preview",
73
+ GPT_4_O_REALTIME_PREVIEW_2024_10_01 = "gpt-4o-realtime-preview-2024-10-01",
74
+ GPT_4_O_AUDIO_PREVIEW = "gpt-4o-audio-preview",
75
+ GPT_4_O_AUDIO_PREVIEW_2024_10_01 = "gpt-4o-audio-preview-2024-10-01",
69
76
  GPT_4_O_MINI = "gpt-4o-mini",
77
+ GPT_4_O_MINI_2024_07_18 = "gpt-4o-mini-2024-07-18",
78
+ O1_PREVIEW = "o1-preview",
79
+ O1_PREVIEW_2024_09_12 = "o1-preview-2024-09-12",
80
+ O1_MINI = "o1-mini",
81
+ O1_MINI_2024_09_12 = "o1-mini-2024-09-12",
70
82
  GPT_4_TURBO = "gpt-4-turbo",
83
+ GPT_4_TURBO_2024_04_09 = "gpt-4-turbo-2024-04-09",
71
84
  GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview",
72
- GPT_3_5_TURBO = "gpt-3.5-turbo"
85
+ GPT_4_0125_PREVIEW = "gpt-4-0125-preview",
86
+ GPT_4_1106_PREVIEW = "gpt-4-1106-preview",
87
+ GPT_4_VISION_PREVIEW = "gpt-4-vision-preview",
88
+ GPT_4 = "gpt-4",
89
+ GPT_4_0314 = "gpt-4-0314",
90
+ GPT_4_0613 = "gpt-4-0613",
91
+ GPT_4_32K = "gpt-4-32k",
92
+ GPT_4_32K_0314 = "gpt-4-32k-0314",
93
+ GPT_4_32K_0613 = "gpt-4-32k-0613",
94
+ GPT_3_5_TURBO = "gpt-3.5-turbo",
95
+ GPT_3_5_TURBO_16K = "gpt-3.5-turbo-16k",
96
+ GPT_3_5_TURBO_0301 = "gpt-3.5-turbo-0301",
97
+ GPT_3_5_TURBO_0613 = "gpt-3.5-turbo-0613",
98
+ GPT_3_5_TURBO_1106 = "gpt-3.5-turbo-1106",
99
+ GPT_3_5_TURBO_0125 = "gpt-3.5-turbo-0125",
100
+ GPT_3_5_TURBO_16K_0613 = "gpt-3.5-turbo-16k-0613"
73
101
  }
74
102
  export interface OpenAIChoices {
75
103
  index: number;
@@ -116,10 +144,15 @@ export interface OpenAIResponse {
116
144
  system_fingerprint: string;
117
145
  }
118
146
  export declare enum BedrockAnthropicSupportedLLMs {
119
- CLAUDE_3_HAIKU = "anthropic.claude-3-haiku-20240307-v1:0",
120
147
  CLAUDE_3_SONNET = "anthropic.claude-3-sonnet-20240229-v1:0",
148
+ CLAUDE_3_5_SONNET_V_1 = "anthropic.claude-3-5-sonnet-20240620-v1:0",
149
+ CLAUDE_3_5_SONNET_V_2 = "anthropic.claude-3-5-sonnet-20241022-v2:0",
121
150
  CLAUDE_3_OPUS = "anthropic.claude-3-opus-20240229-v1:0",
122
- CLAUDE_3_5_SONNET = "anthropic.claude-3-5-sonnet-20241022-v2:0"
151
+ CLAUDE_V_2_1 = "anthropic.claude-v2:1",
152
+ CLAUDE_V_2 = "anthropic.claude-v2\t",
153
+ CLAUDE_3_HAIKU = "anthropic.claude-3-haiku-20240307-v1:0",
154
+ CLAUDE_3_5_HAIKU = "anthropic.claude-3-5-haiku-20241022-v1:0",
155
+ CLAUDE_INSTANT = "anthropic.claude-instant-v1"
123
156
  }
124
157
  export declare enum BedrockAnthropicContentType {
125
158
  TEXT = "text",
@@ -10,21 +10,55 @@ var Providers;
10
10
  })(Providers = exports.Providers || (exports.Providers = {}));
11
11
  var OpenAISupportedLLMs;
12
12
  (function (OpenAISupportedLLMs) {
13
- OpenAISupportedLLMs["GPT_4_O_LAEST"] = "chatgpt-4o-latest";
13
+ OpenAISupportedLLMs["GPT_4_O_LATEST"] = "chatgpt-4o-latest";
14
14
  OpenAISupportedLLMs["GPT_4_O"] = "gpt-4o";
15
+ OpenAISupportedLLMs["GPT_4_O_2024_11_20"] = "gpt-4o-2024-11-20";
16
+ OpenAISupportedLLMs["GPT_4_O_2024_08_06"] = "gpt-4o-2024-08-06";
17
+ OpenAISupportedLLMs["GPT_4_O_2024_05_13"] = "gpt-4o-2024-05-13";
18
+ OpenAISupportedLLMs["GPT_4_O_REALTIME_PREVIEW"] = "gpt-4o-realtime-preview";
19
+ OpenAISupportedLLMs["GPT_4_O_REALTIME_PREVIEW_2024_10_01"] = "gpt-4o-realtime-preview-2024-10-01";
20
+ OpenAISupportedLLMs["GPT_4_O_AUDIO_PREVIEW"] = "gpt-4o-audio-preview";
21
+ OpenAISupportedLLMs["GPT_4_O_AUDIO_PREVIEW_2024_10_01"] = "gpt-4o-audio-preview-2024-10-01";
15
22
  OpenAISupportedLLMs["GPT_4_O_MINI"] = "gpt-4o-mini";
23
+ OpenAISupportedLLMs["GPT_4_O_MINI_2024_07_18"] = "gpt-4o-mini-2024-07-18";
24
+ OpenAISupportedLLMs["O1_PREVIEW"] = "o1-preview";
25
+ OpenAISupportedLLMs["O1_PREVIEW_2024_09_12"] = "o1-preview-2024-09-12";
26
+ OpenAISupportedLLMs["O1_MINI"] = "o1-mini";
27
+ OpenAISupportedLLMs["O1_MINI_2024_09_12"] = "o1-mini-2024-09-12";
16
28
  OpenAISupportedLLMs["GPT_4_TURBO"] = "gpt-4-turbo";
29
+ OpenAISupportedLLMs["GPT_4_TURBO_2024_04_09"] = "gpt-4-turbo-2024-04-09";
17
30
  OpenAISupportedLLMs["GPT_4_TURBO_PREVIEW"] = "gpt-4-turbo-preview";
31
+ OpenAISupportedLLMs["GPT_4_0125_PREVIEW"] = "gpt-4-0125-preview";
32
+ OpenAISupportedLLMs["GPT_4_1106_PREVIEW"] = "gpt-4-1106-preview";
33
+ OpenAISupportedLLMs["GPT_4_VISION_PREVIEW"] = "gpt-4-vision-preview";
34
+ OpenAISupportedLLMs["GPT_4"] = "gpt-4";
35
+ OpenAISupportedLLMs["GPT_4_0314"] = "gpt-4-0314";
36
+ OpenAISupportedLLMs["GPT_4_0613"] = "gpt-4-0613";
37
+ OpenAISupportedLLMs["GPT_4_32K"] = "gpt-4-32k";
38
+ OpenAISupportedLLMs["GPT_4_32K_0314"] = "gpt-4-32k-0314";
39
+ OpenAISupportedLLMs["GPT_4_32K_0613"] = "gpt-4-32k-0613";
18
40
  OpenAISupportedLLMs["GPT_3_5_TURBO"] = "gpt-3.5-turbo";
41
+ OpenAISupportedLLMs["GPT_3_5_TURBO_16K"] = "gpt-3.5-turbo-16k";
42
+ OpenAISupportedLLMs["GPT_3_5_TURBO_0301"] = "gpt-3.5-turbo-0301";
43
+ OpenAISupportedLLMs["GPT_3_5_TURBO_0613"] = "gpt-3.5-turbo-0613";
44
+ OpenAISupportedLLMs["GPT_3_5_TURBO_1106"] = "gpt-3.5-turbo-1106";
45
+ OpenAISupportedLLMs["GPT_3_5_TURBO_0125"] = "gpt-3.5-turbo-0125";
46
+ OpenAISupportedLLMs["GPT_3_5_TURBO_16K_0613"] = "gpt-3.5-turbo-16k-0613";
19
47
  })(OpenAISupportedLLMs = exports.OpenAISupportedLLMs || (exports.OpenAISupportedLLMs = {}));
20
48
  // AWS BEDROCK
21
49
  // AWS BEDROCK ANTHROPIC
50
+ // https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html
22
51
  var BedrockAnthropicSupportedLLMs;
23
52
  (function (BedrockAnthropicSupportedLLMs) {
24
- BedrockAnthropicSupportedLLMs["CLAUDE_3_HAIKU"] = "anthropic.claude-3-haiku-20240307-v1:0";
25
53
  BedrockAnthropicSupportedLLMs["CLAUDE_3_SONNET"] = "anthropic.claude-3-sonnet-20240229-v1:0";
54
+ BedrockAnthropicSupportedLLMs["CLAUDE_3_5_SONNET_V_1"] = "anthropic.claude-3-5-sonnet-20240620-v1:0";
55
+ BedrockAnthropicSupportedLLMs["CLAUDE_3_5_SONNET_V_2"] = "anthropic.claude-3-5-sonnet-20241022-v2:0";
26
56
  BedrockAnthropicSupportedLLMs["CLAUDE_3_OPUS"] = "anthropic.claude-3-opus-20240229-v1:0";
27
- BedrockAnthropicSupportedLLMs["CLAUDE_3_5_SONNET"] = "anthropic.claude-3-5-sonnet-20241022-v2:0";
57
+ BedrockAnthropicSupportedLLMs["CLAUDE_V_2_1"] = "anthropic.claude-v2:1";
58
+ BedrockAnthropicSupportedLLMs["CLAUDE_V_2"] = "anthropic.claude-v2\t";
59
+ BedrockAnthropicSupportedLLMs["CLAUDE_3_HAIKU"] = "anthropic.claude-3-haiku-20240307-v1:0";
60
+ BedrockAnthropicSupportedLLMs["CLAUDE_3_5_HAIKU"] = "anthropic.claude-3-5-haiku-20241022-v1:0";
61
+ BedrockAnthropicSupportedLLMs["CLAUDE_INSTANT"] = "anthropic.claude-instant-v1";
28
62
  })(BedrockAnthropicSupportedLLMs = exports.BedrockAnthropicSupportedLLMs || (exports.BedrockAnthropicSupportedLLMs = {}));
29
63
  var BedrockAnthropicContentType;
30
64
  (function (BedrockAnthropicContentType) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,mDAAsC,CAAA;IACtC,6CAAgC,CAAA;AAClC,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AA8ED,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,0DAAmC,CAAA;IACnC,yCAAkB,CAAA;IAClB,mDAA4B,CAAA;IAC5B,kDAA2B,CAAA;IAC3B,kEAA2C,CAAA;IAC3C,sDAA+B,CAAA;AACjC,CAAC,EAPW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAO9B;AA6CD,cAAc;AAEd,wBAAwB;AAExB,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC,0FAAyD,CAAA;IACzD,4FAA2D,CAAA;IAC3D,wFAAuD,CAAA;IACvD,gGAA+D,CAAA;AACjE,CAAC,EALW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAKxC;AAED,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4CAAa,CAAA;IACb,8CAAe,CAAA;IACf,oDAAqB,CAAA;IACrB,0DAA2B,CAAA;AAC7B,CAAC,EALW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAKtC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,mDAAsC,CAAA;IACtC,6CAAgC,CAAA;AAClC,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AA8ED,IAAY,mBAmCX;AAnCD,WAAY,mBAAmB;IAC7B,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,EAnCW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAmC9B;AA6CD,cAAc;AAEd,wBAAwB;AAExB,6EAA6E;AAC7E,IAAY,6BAUX;AAVD,WAAY,6BAA6B;IACvC,4FAA2D,CAAA;IAC3D,oGAAmE,CAAA;IACnE,oGAAmE,CAAA;IACnE,wFAAuD,CAAA;IACvD,uEAAsC,CAAA;IACtC,qEAAmC,CAAA;IACnC,0FAAyD,CAAA;IACzD,8FAA6D,CAAA;IAC7D,+EAA8C,CAAA;AAChD,CAAC,EAVW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAUxC;AAED,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4CAAa,CAAA;IACb,8CAAe,CAAA;IACf,oDAAqB,CAAA;IACrB,0DAA2B,CAAA;AAC7B,CAAC,EALW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAKtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-proxy",
3
- "version": "1.3.14",
3
+ "version": "1.4.15",
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",
@@ -30,7 +30,7 @@
30
30
  "aws-sdk": "^2.1691.0",
31
31
  "axios": "^1.7.7",
32
32
  "dotenv": "^16.4.5",
33
- "llm-proxy": "^1.3.14",
33
+ "llm-proxy": "^1.4.15",
34
34
  "openai": "^4.69.0"
35
35
  }
36
36
  }