@zimtsui/brainswitch 0.0.21 → 0.0.22
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/build/api-types/aliyun.js +0 -2
- package/build/api-types/aliyun.js.map +1 -1
- package/build/api-types/anthropic.d.ts +1 -2
- package/build/api-types/anthropic.js +84 -113
- package/build/api-types/anthropic.js.map +1 -1
- package/build/api-types/base.d.ts +16 -3
- package/build/api-types/base.js +45 -3
- package/build/api-types/base.js.map +1 -1
- package/build/api-types/google-base.d.ts +0 -1
- package/build/api-types/google-base.js +4 -13
- package/build/api-types/google-base.js.map +1 -1
- package/build/api-types/google-rest.d.ts +1 -1
- package/build/api-types/google-rest.js +56 -77
- package/build/api-types/google-rest.js.map +1 -1
- package/build/api-types/openai-chatcompletions-base.js +7 -14
- package/build/api-types/openai-chatcompletions-base.js.map +1 -1
- package/build/api-types/openai-chatcompletions-monolith-base.d.ts +1 -1
- package/build/api-types/openai-chatcompletions-monolith-base.js +36 -57
- package/build/api-types/openai-chatcompletions-monolith-base.js.map +1 -1
- package/build/api-types/openai-chatcompletions-stream-base.d.ts +1 -1
- package/build/api-types/openai-chatcompletions-stream-base.js +84 -106
- package/build/api-types/openai-chatcompletions-stream-base.js.map +1 -1
- package/build/api-types/openai-chatcompletions.js.map +1 -1
- package/build/api-types/openai-responses.d.ts +1 -2
- package/build/api-types/openai-responses.js +33 -64
- package/build/api-types/openai-responses.js.map +1 -1
- package/build/api-types/openrouter-monolith.js +0 -1
- package/build/api-types/openrouter-monolith.js.map +1 -1
- package/build/api-types/openrouter-stream.js +0 -1
- package/build/api-types/openrouter-stream.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/build/api-types/minimax.d.ts +0 -34
- package/build/api-types/minimax.js +0 -49
- package/build/api-types/minimax.js.map +0 -1
|
@@ -4,7 +4,7 @@ import OpenAI from 'openai';
|
|
|
4
4
|
import assert from 'node:assert';
|
|
5
5
|
import { OpenAIChatCompletionsEngineBase } from "./openai-chatcompletions-base.js";
|
|
6
6
|
import {} from "../inference-context.js";
|
|
7
|
-
import {
|
|
7
|
+
import { InferenceTimeout, ResponseInvalid, UserAbortion } from "./base.js";
|
|
8
8
|
import {} from "../engine.js";
|
|
9
9
|
export class OpenAIChatCompletionsStreamEngineBase extends OpenAIChatCompletionsEngineBase {
|
|
10
10
|
client;
|
|
@@ -34,7 +34,7 @@ export class OpenAIChatCompletionsStreamEngineBase extends OpenAIChatCompletions
|
|
|
34
34
|
stream_options: {
|
|
35
35
|
include_usage: true
|
|
36
36
|
},
|
|
37
|
-
max_completion_tokens: this.
|
|
37
|
+
max_completion_tokens: this.maxTokens ?? undefined,
|
|
38
38
|
...this.additionalOptions,
|
|
39
39
|
};
|
|
40
40
|
}
|
|
@@ -79,118 +79,96 @@ export class OpenAIChatCompletionsStreamEngineBase extends OpenAIChatCompletions
|
|
|
79
79
|
};
|
|
80
80
|
return completion;
|
|
81
81
|
}
|
|
82
|
-
async
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
choices
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
});
|
|
113
|
-
// thoughts
|
|
114
|
-
const deltaThoughts = this.getDeltaThoughts(deltaChoice.delta);
|
|
115
|
-
if (deltaThoughts) {
|
|
116
|
-
if (!thinking) {
|
|
117
|
-
thinking = true;
|
|
118
|
-
ctx.logger.inference?.trace('<think>\n');
|
|
119
|
-
}
|
|
120
|
-
ctx.logger.inference?.trace(deltaThoughts);
|
|
121
|
-
thoughts ??= '';
|
|
122
|
-
thoughts += deltaThoughts;
|
|
82
|
+
async fetch(ctx, session, signal) {
|
|
83
|
+
const params = this.makeParams(session);
|
|
84
|
+
ctx.logger.message?.trace(params);
|
|
85
|
+
await this.throttle.requests(ctx);
|
|
86
|
+
const stream = await this.client.chat.completions.create(params, { signal });
|
|
87
|
+
let stock = null;
|
|
88
|
+
let thoughts = null, thinking = false;
|
|
89
|
+
for await (const chunk of stream) {
|
|
90
|
+
stock ??= {
|
|
91
|
+
id: chunk.id,
|
|
92
|
+
created: chunk.created,
|
|
93
|
+
model: chunk.model,
|
|
94
|
+
choices: [],
|
|
95
|
+
object: 'chat.completion.chunk',
|
|
96
|
+
};
|
|
97
|
+
// choice
|
|
98
|
+
const deltaChoice = chunk.choices[0];
|
|
99
|
+
if (deltaChoice) {
|
|
100
|
+
if (!stock.choices.length)
|
|
101
|
+
stock.choices.push({
|
|
102
|
+
index: 0,
|
|
103
|
+
finish_reason: null,
|
|
104
|
+
delta: {},
|
|
105
|
+
});
|
|
106
|
+
// thoughts
|
|
107
|
+
const deltaThoughts = this.getDeltaThoughts(deltaChoice.delta);
|
|
108
|
+
if (deltaThoughts) {
|
|
109
|
+
if (!thinking) {
|
|
110
|
+
thinking = true;
|
|
111
|
+
ctx.logger.inference?.trace('<think>\n');
|
|
123
112
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
113
|
+
ctx.logger.inference?.trace(deltaThoughts);
|
|
114
|
+
thoughts ??= '';
|
|
115
|
+
thoughts += deltaThoughts;
|
|
116
|
+
}
|
|
117
|
+
// content
|
|
118
|
+
if (deltaChoice.delta.content) {
|
|
119
|
+
if (thinking) {
|
|
120
|
+
thinking = false;
|
|
121
|
+
ctx.logger.inference?.trace('\n</think>\n');
|
|
133
122
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
123
|
+
ctx.logger.inference?.debug(deltaChoice.delta.content);
|
|
124
|
+
stock.choices[0].delta.content ??= '';
|
|
125
|
+
stock.choices[0].delta.content += deltaChoice.delta.content;
|
|
126
|
+
}
|
|
127
|
+
// function calls
|
|
128
|
+
if (deltaChoice.delta.tool_calls) {
|
|
129
|
+
if (thinking) {
|
|
130
|
+
thinking = false;
|
|
131
|
+
ctx.logger.inference?.trace('\n</think>\n');
|
|
132
|
+
}
|
|
133
|
+
stock.choices[0].delta.tool_calls ??= [];
|
|
134
|
+
for (const deltaToolCall of deltaChoice.delta.tool_calls) {
|
|
135
|
+
const toolCalls = stock.choices[0].delta.tool_calls;
|
|
136
|
+
toolCalls[deltaToolCall.index] ??= { index: deltaToolCall.index };
|
|
137
|
+
toolCalls[deltaToolCall.index].id ??= deltaToolCall.id;
|
|
138
|
+
if (deltaToolCall.function) {
|
|
139
|
+
toolCalls[deltaToolCall.index].function ??= {};
|
|
140
|
+
toolCalls[deltaToolCall.index].function.name ??= deltaToolCall.function.name;
|
|
141
|
+
if (deltaToolCall.function.arguments) {
|
|
142
|
+
toolCalls[deltaToolCall.index].function.arguments ??= '';
|
|
143
|
+
toolCalls[deltaToolCall.index].function.arguments += deltaToolCall.function?.arguments || '';
|
|
152
144
|
}
|
|
153
145
|
}
|
|
154
146
|
}
|
|
155
|
-
// finish reason
|
|
156
|
-
stock.choices[0].finish_reason ??= deltaChoice.finish_reason;
|
|
157
147
|
}
|
|
158
|
-
//
|
|
159
|
-
stock.
|
|
148
|
+
// finish reason
|
|
149
|
+
stock.choices[0].finish_reason ??= deltaChoice.finish_reason;
|
|
160
150
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
const choice = completion.choices[0];
|
|
164
|
-
assert(choice, new TransientError('No choices', { cause: completion }));
|
|
165
|
-
if (choice.message.content)
|
|
166
|
-
ctx.logger.inference?.debug('\n');
|
|
167
|
-
this.handleFinishReason(completion, choice.finish_reason);
|
|
168
|
-
assert(completion.usage);
|
|
169
|
-
const cost = this.calcCost(completion.usage);
|
|
170
|
-
ctx.logger.cost?.(cost);
|
|
171
|
-
const aiMessage = this.convertToAiMessage(choice.message);
|
|
172
|
-
// logging
|
|
173
|
-
const apifcs = choice.message.tool_calls;
|
|
174
|
-
if (apifcs?.length)
|
|
175
|
-
ctx.logger.message?.debug(apifcs);
|
|
176
|
-
ctx.logger.message?.debug(completion.usage);
|
|
177
|
-
this.validateFunctionCallByToolChoice(aiMessage.getFunctionCalls());
|
|
178
|
-
return aiMessage;
|
|
179
|
-
}
|
|
180
|
-
catch (e) {
|
|
181
|
-
if (ctx.signal?.aborted)
|
|
182
|
-
throw e;
|
|
183
|
-
else if (signalTimeout?.aborted) { } // 推理超时
|
|
184
|
-
else if (e instanceof TransientError) { } // 模型抽风
|
|
185
|
-
else if (e instanceof TypeError) { } // 网络故障
|
|
186
|
-
else
|
|
187
|
-
throw e;
|
|
188
|
-
ctx.logger.message?.warn(e);
|
|
189
|
-
if (retry < 3)
|
|
190
|
-
return this.stateless(ctx, session, retry + 1);
|
|
191
|
-
else
|
|
192
|
-
throw e;
|
|
151
|
+
// usage
|
|
152
|
+
stock.usage ??= chunk.usage;
|
|
193
153
|
}
|
|
154
|
+
assert(stock);
|
|
155
|
+
const completion = this.convertCompletionStockToCompletion(stock);
|
|
156
|
+
const choice = completion.choices[0];
|
|
157
|
+
assert(choice, new ResponseInvalid('Content missing', { cause: completion }));
|
|
158
|
+
if (choice.message.content)
|
|
159
|
+
ctx.logger.inference?.debug('\n');
|
|
160
|
+
this.handleFinishReason(completion, choice.finish_reason);
|
|
161
|
+
assert(completion.usage);
|
|
162
|
+
const cost = this.calcCost(completion.usage);
|
|
163
|
+
ctx.logger.cost?.(cost);
|
|
164
|
+
const aiMessage = this.convertToAiMessage(choice.message);
|
|
165
|
+
// logging
|
|
166
|
+
const apifcs = choice.message.tool_calls;
|
|
167
|
+
if (apifcs?.length)
|
|
168
|
+
ctx.logger.message?.debug(apifcs);
|
|
169
|
+
ctx.logger.message?.debug(completion.usage);
|
|
170
|
+
this.validateFunctionCallByToolChoice(aiMessage.getFunctionCalls());
|
|
171
|
+
return aiMessage;
|
|
194
172
|
}
|
|
195
173
|
}
|
|
196
174
|
//# sourceMappingURL=openai-chatcompletions-stream-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-chatcompletions-stream-base.js","sourceRoot":"","sources":["../../src/api-types/openai-chatcompletions-stream-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAyB,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"openai-chatcompletions-stream-base.js","sourceRoot":"","sources":["../../src/api-types/openai-chatcompletions-stream-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-chatcompletions.js","sourceRoot":"","sources":["../../src/api-types/openai-chatcompletions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AAEpG,MAAM,KAAW,2BAA2B,CAM3C;AAND,WAAiB,2BAA2B;
|
|
1
|
+
{"version":3,"file":"openai-chatcompletions.js","sourceRoot":"","sources":["../../src/api-types/openai-chatcompletions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AAEpG,MAAM,KAAW,2BAA2B,CAM3C;AAND,WAAiB,2BAA2B;IACxC,SAAgB,MAAM,CAA4C,OAA4B;QAC1F,OAAO,IAAI,WAAW,CAAM,OAAO,CAAC,CAAC;IACzC,CAAC;IAFe,kCAAM,SAErB,CAAA;IAED,MAAa,WAA8D,SAAQ,uCAA4C;KAAG;IAArH,uCAAW,cAA0G,CAAA;AACtI,CAAC,EANgB,2BAA2B,KAA3B,2BAA2B,QAM3C"}
|
|
@@ -21,9 +21,8 @@ export declare namespace OpenAIResponsesEngine {
|
|
|
21
21
|
protected makeMonolithParams(session: Session<Function.Declaration.From<fdm>>): OpenAI.Responses.ResponseCreateParamsNonStreaming;
|
|
22
22
|
protected logApiAiMessage(ctx: InferenceContext, output: OpenAI.Responses.ResponseOutputItem[]): void;
|
|
23
23
|
protected convertToAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): OpenAIResponsesAiMessage<Function.Declaration.From<fdm>>;
|
|
24
|
-
protected validateFunctionCallByToolChoice(functionCalls: Function.Call.Distributive<Function.Declaration.From<fdm>>[]): void;
|
|
25
24
|
protected calcCost(usage: OpenAI.Responses.ResponseUsage): number;
|
|
26
|
-
|
|
25
|
+
protected fetch(ctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
28
|
export type OpenAIResponsesAiMessage<fdu extends Function.Declaration> = OpenAIResponsesAiMessage.Constructor<fdu>;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { EngineBase } from "./base.js";
|
|
1
|
+
import { EngineBase, InferenceTimeout, ResponseInvalid, UserAbortion } from "./base.js";
|
|
2
2
|
import { Function } from "../function.js";
|
|
3
3
|
import { RoleMessage } from "../session.js";
|
|
4
4
|
import {} from "../engine.js";
|
|
5
5
|
import {} from "../inference-context.js";
|
|
6
6
|
import OpenAI from 'openai';
|
|
7
7
|
import assert from 'node:assert';
|
|
8
|
-
import { TransientError } from "./base.js";
|
|
9
8
|
import { fetch } from 'undici';
|
|
10
9
|
import Ajv from 'ajv';
|
|
11
10
|
const ajv = new Ajv();
|
|
@@ -34,16 +33,16 @@ export var OpenAIResponsesEngine;
|
|
|
34
33
|
}
|
|
35
34
|
convertToFunctionCall(apifc) {
|
|
36
35
|
const fditem = this.fdm[apifc.name];
|
|
37
|
-
assert(fditem, new
|
|
36
|
+
assert(fditem, new ResponseInvalid('Unknown function call', { cause: apifc }));
|
|
38
37
|
const args = (() => {
|
|
39
38
|
try {
|
|
40
39
|
return JSON.parse(apifc.arguments);
|
|
41
40
|
}
|
|
42
41
|
catch (e) {
|
|
43
|
-
return new
|
|
42
|
+
return new ResponseInvalid('Invalid JSON of function call', { cause: apifc });
|
|
44
43
|
}
|
|
45
44
|
})();
|
|
46
|
-
assert(ajv.validate(fditem.paraschema, args), new
|
|
45
|
+
assert(ajv.validate(fditem.paraschema, args), new ResponseInvalid('Function call not conforming to schema', { cause: apifc }));
|
|
47
46
|
return Function.Call.create({
|
|
48
47
|
id: apifc.call_id,
|
|
49
48
|
name: apifc.name,
|
|
@@ -133,7 +132,7 @@ export var OpenAIResponsesEngine;
|
|
|
133
132
|
tools: tools.length ? tools : undefined,
|
|
134
133
|
tool_choice: fdentries.length ? this.convertFromToolChoice(this.toolChoice) : undefined,
|
|
135
134
|
parallel_tool_calls: fdentries.length ? this.parallel : undefined,
|
|
136
|
-
max_output_tokens: this.
|
|
135
|
+
max_output_tokens: this.maxTokens,
|
|
137
136
|
...this.additionalOptions,
|
|
138
137
|
};
|
|
139
138
|
}
|
|
@@ -161,16 +160,6 @@ export var OpenAIResponsesEngine;
|
|
|
161
160
|
});
|
|
162
161
|
return OpenAIResponsesAiMessage.create(parts, output);
|
|
163
162
|
}
|
|
164
|
-
validateFunctionCallByToolChoice(functionCalls) {
|
|
165
|
-
// https://community.openai.com/t/function-call-with-finish-reason-of-stop/437226/7
|
|
166
|
-
if (this.toolChoice === Function.ToolChoice.REQUIRED)
|
|
167
|
-
assert(functionCalls.length, new TransientError());
|
|
168
|
-
else if (this.toolChoice instanceof Array)
|
|
169
|
-
for (const fc of functionCalls)
|
|
170
|
-
assert(this.toolChoice.includes(fc.name), new TransientError());
|
|
171
|
-
else if (this.toolChoice === Function.ToolChoice.NONE)
|
|
172
|
-
assert(!functionCalls.length, new TransientError());
|
|
173
|
-
}
|
|
174
163
|
calcCost(usage) {
|
|
175
164
|
const cacheHitTokenCount = usage.input_tokens_details.cached_tokens;
|
|
176
165
|
const cacheMissTokenCount = usage.input_tokens - cacheHitTokenCount;
|
|
@@ -178,54 +167,34 @@ export var OpenAIResponsesEngine;
|
|
|
178
167
|
this.cachedPrice * cacheHitTokenCount / 1e6 +
|
|
179
168
|
this.outputPrice * usage.output_tokens / 1e6;
|
|
180
169
|
}
|
|
181
|
-
async
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
ctx.logger.cost?.(cost);
|
|
210
|
-
ctx.logger.message?.debug(response.usage);
|
|
211
|
-
const aiMessage = this.convertToAiMessage(response.output);
|
|
212
|
-
this.validateFunctionCallByToolChoice(aiMessage.getFunctionCalls());
|
|
213
|
-
return aiMessage;
|
|
214
|
-
}
|
|
215
|
-
catch (e) {
|
|
216
|
-
if (ctx.signal?.aborted)
|
|
217
|
-
throw e;
|
|
218
|
-
else if (signalTimeout?.aborted) { } // 推理超时
|
|
219
|
-
else if (e instanceof TransientError) { } // 模型抽风
|
|
220
|
-
else if (e instanceof TypeError) { } // 网络故障
|
|
221
|
-
else
|
|
222
|
-
throw e;
|
|
223
|
-
ctx.logger.message?.warn(e);
|
|
224
|
-
if (retry < 3)
|
|
225
|
-
return await this.stateless(ctx, session, retry + 1);
|
|
226
|
-
else
|
|
227
|
-
throw e;
|
|
228
|
-
}
|
|
170
|
+
async fetch(ctx, session, signal) {
|
|
171
|
+
const params = this.makeMonolithParams(session);
|
|
172
|
+
ctx.logger.message?.trace(params);
|
|
173
|
+
await this.throttle.requests(ctx);
|
|
174
|
+
const res = await fetch(this.apiURL, {
|
|
175
|
+
method: 'POST',
|
|
176
|
+
headers: new Headers({
|
|
177
|
+
'Content-Type': 'application/json',
|
|
178
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
179
|
+
}),
|
|
180
|
+
body: JSON.stringify(params),
|
|
181
|
+
dispatcher: this.proxyAgent,
|
|
182
|
+
signal,
|
|
183
|
+
});
|
|
184
|
+
assert(res.ok, new Error(undefined, { cause: res }));
|
|
185
|
+
const response = await res.json();
|
|
186
|
+
ctx.logger.message?.trace(response);
|
|
187
|
+
if (response.status === 'incomplete' && response.incomplete_details?.reason === 'max_output_tokens')
|
|
188
|
+
throw new ResponseInvalid('Token limit exceeded.', { cause: response });
|
|
189
|
+
assert(response.status === 'completed', new ResponseInvalid('Abnormal response status', { cause: response }));
|
|
190
|
+
this.logApiAiMessage(ctx, response.output);
|
|
191
|
+
assert(response.usage);
|
|
192
|
+
const cost = this.calcCost(response.usage);
|
|
193
|
+
ctx.logger.cost?.(cost);
|
|
194
|
+
ctx.logger.message?.debug(response.usage);
|
|
195
|
+
const aiMessage = this.convertToAiMessage(response.output);
|
|
196
|
+
this.validateFunctionCallByToolChoice(aiMessage.getFunctionCalls());
|
|
197
|
+
return aiMessage;
|
|
229
198
|
}
|
|
230
199
|
}
|
|
231
200
|
OpenAIResponsesEngine.Constructor = Constructor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/api-types/openai-responses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/api-types/openai-responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { Function } from "../function.js";
|
|
|
3
3
|
import OpenAI from 'openai';
|
|
4
4
|
import {} from "../session.js";
|
|
5
5
|
import { OpenAIChatCompletionsMonolithEngineBase } from "./openai-chatcompletions-monolith-base.js";
|
|
6
|
-
import {} from "../inference-context.js";
|
|
7
6
|
import assert from 'node:assert';
|
|
8
7
|
const EXCHANGE_RATE_USD_CNY = 8;
|
|
9
8
|
export var OpenRouterMonolithEngine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter-monolith.js","sourceRoot":"","sources":["../../src/api-types/openrouter-monolith.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"openrouter-monolith.js","sourceRoot":"","sources":["../../src/api-types/openrouter-monolith.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAehC,MAAM,KAAW,wBAAwB,CA2DxC;AA3DD,WAAiB,wBAAwB;IACrC,SAAgB,MAAM,CAA4C,OAA4B;QAC1F,OAAO,IAAI,WAAW,CAAM,OAAO,CAAC,CAAC;IACzC,CAAC;IAFe,+BAAM,SAErB,CAAA;IAED,MAAa,WAA8D,SAAQ,uCAA4C;QAC3H,YAAmB,OAA4B;YAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,MAAM,CACF,OAAO,CAAC,UAAU,KAAK,SAAS,EAChC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAC/D,CAAC;YACF,MAAM,CACF,OAAO,CAAC,WAAW,KAAK,SAAS,EACjC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAChE,CAAC;YACF,MAAM,CACF,OAAO,CAAC,UAAU,KAAK,SAAS,EAChC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAC/D,CAAC;QACN,CAAC;QAEkB,QAAQ,CAAC,KAAsB;YAC9C,OAAO,KAAK,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAC9C,CAAC;QAEkB,UAAU,CAAC,OAAgD;YAC1E,MAAM,MAAM,GAA6B;gBACrC,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5B,KAAK,EAAE;oBACH,OAAO,EAAE,IAAI;iBAChB;gBACD,GAAG,IAAI,CAAC,iBAAiB;aAC5B,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC;QAEkB,qBAAqB,CAAC,KAAmD;YACxF,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS;gBAC3B,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC;gBACpC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;oBAC1B,GAAG,KAAK;oBACR,QAAQ,EAAE;wBACN,GAAG,KAAK,CAAC,QAAQ;wBACjB,SAAS,EAAE,IAAI;qBAClB;iBACJ,CAAC,CAAC;QACX,CAAC;KAWJ;IArDY,oCAAW,cAqDvB,CAAA;AACL,CAAC,EA3DgB,wBAAwB,KAAxB,wBAAwB,QA2DxC"}
|
|
@@ -4,7 +4,6 @@ import OpenAI from 'openai';
|
|
|
4
4
|
import {} from "../session.js";
|
|
5
5
|
import assert from 'node:assert';
|
|
6
6
|
import { OpenAIChatCompletionsStreamEngineBase } from "./openai-chatcompletions-stream-base.js";
|
|
7
|
-
import {} from "../inference-context.js";
|
|
8
7
|
const EXCHANGE_RATE_USD_CNY = 8;
|
|
9
8
|
export var OpenRouterStreamEngine;
|
|
10
9
|
(function (OpenRouterStreamEngine) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter-stream.js","sourceRoot":"","sources":["../../src/api-types/openrouter-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"openrouter-stream.js","sourceRoot":"","sources":["../../src/api-types/openrouter-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAgB,MAAM,eAAe,CAAC;AAC7C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAEhG,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAgBhC,MAAM,KAAW,sBAAsB,CA8DtC;AA9DD,WAAiB,sBAAsB;IACnC,SAAgB,MAAM,CAA4C,OAA4B;QAC1F,OAAO,IAAI,WAAW,CAAM,OAAO,CAAC,CAAC;IACzC,CAAC;IAFe,6BAAM,SAErB,CAAA;IAED,MAAa,WAA8D,SAAQ,qCAA0C;QACzH,YAAmB,OAA4B;YAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,MAAM,CACF,OAAO,CAAC,UAAU,KAAK,SAAS,EAChC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAC/D,CAAC;YACF,MAAM,CACF,OAAO,CAAC,WAAW,KAAK,SAAS,EACjC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAChE,CAAC;YACF,MAAM,CACF,OAAO,CAAC,UAAU,KAAK,SAAS,EAChC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAC/D,CAAC;QACN,CAAC;QAEkB,QAAQ,CAAC,KAAsB;YAC9C,OAAO,KAAK,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAC9C,CAAC;QAES,gBAAgB,CAAC,KAA+C;YACtE,OAAO,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACjC,CAAC;QAEkB,UAAU,CAAC,OAAgD;YAC1E,MAAM,MAAM,GAA2B;gBACnC,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5B,KAAK,EAAE;oBACH,OAAO,EAAE,IAAI;iBAChB;gBACD,GAAG,IAAI,CAAC,iBAAiB;aAC5B,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC;QAEkB,8BAA8B,CAAC,KAAuD;YACrG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,CAAC,OAAO,KAAK,CAAC,QAAQ,EAAE,SAAS,KAAK,QAAQ,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAqD,CAAC,CAAC;QAC7F,CAAC;QAEkB,qBAAqB,CAAC,KAAmD;YACxF,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS;gBACxB,OAAO,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;;gBAE1C,OAAO,KAAK,CAAC,qBAAqB,CAAC;oBAC/B,GAAG,KAAK;oBACR,QAAQ,EAAE;wBACN,GAAG,KAAK,CAAC,QAAQ;wBACjB,SAAS,EAAE,IAAI;qBAClB;iBACJ,CAAC,CAAC;QACX,CAAC;KACJ;IAxDY,kCAAW,cAwDvB,CAAA;AACL,CAAC,EA9DgB,sBAAsB,KAAtB,sBAAsB,QA8DtC"}
|