@zimtsui/typechat 0.0.109 → 0.0.110
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/engine/message.d.ts +12 -30
- package/build/engine/message.js +18 -50
- package/build/engine/message.js.map +1 -1
- package/build/engine/middleware.d.ts +1 -1
- package/build/engine/recoverable.d.ts +1 -1
- package/build/engine/recoverable.js.map +1 -1
- package/build/engine/tool-choice-validator.js +4 -4
- package/build/engine/tool-choice-validator.js.map +1 -1
- package/build/engine.d.ts +2 -2
- package/build/engine.js +1 -1
- package/build/engine.js.map +1 -1
- package/build/engines/anthropic/message-codec.js +3 -3
- package/build/engines/anthropic/message-codec.js.map +1 -1
- package/build/engines/anthropic/message.d.ts +1 -3
- package/build/engines/anthropic/message.js +1 -6
- package/build/engines/anthropic/message.js.map +1 -1
- package/build/engines/anthropic.d.ts +4 -1
- package/build/engines/anthropic.js +5 -2
- package/build/engines/anthropic.js.map +1 -1
- package/build/engines/dashscope/message-codec.d.ts +19 -0
- package/build/engines/dashscope/message-codec.js +116 -0
- package/build/engines/dashscope/message-codec.js.map +1 -0
- package/build/engines/dashscope/message.d.ts +19 -0
- package/build/engines/dashscope/message.js +20 -0
- package/build/engines/dashscope/message.js.map +1 -0
- package/build/engines/dashscope/tool-choice-codec.d.ts +3 -0
- package/build/engines/dashscope/tool-choice-codec.js +14 -0
- package/build/engines/dashscope/tool-choice-codec.js.map +1 -0
- package/build/engines/dashscope/transport.d.ts +31 -3
- package/build/engines/dashscope/transport.js +110 -6
- package/build/engines/dashscope/transport.js.map +1 -1
- package/build/engines/dashscope.d.ts +23 -6
- package/build/engines/dashscope.js +43 -7
- package/build/engines/dashscope.js.map +1 -1
- package/build/engines/google/message-codec.js +6 -4
- package/build/engines/google/message-codec.js.map +1 -1
- package/build/engines/google/message.d.ts +1 -1
- package/build/engines/google/message.js +5 -5
- package/build/engines/google/message.js.map +1 -1
- package/build/engines/google.d.ts +2 -1
- package/build/engines/google.js +4 -3
- package/build/engines/google.js.map +1 -1
- package/build/engines/openai-chatcompletions/message-codec.js +4 -4
- package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
- package/build/engines/openai-responses/message-codec.d.ts +1 -3
- package/build/engines/openai-responses/message-codec.js +10 -22
- package/build/engines/openai-responses/message-codec.js.map +1 -1
- package/build/engines/openai-responses/message.d.ts +4 -6
- package/build/engines/openai-responses/message.js +1 -6
- package/build/engines/openai-responses/message.js.map +1 -1
- package/build/engines/openai-responses/tool-choice-validator.js +4 -4
- package/build/engines/openai-responses/tool-choice-validator.js.map +1 -1
- package/build/engines/openai-responses/transport.js +1 -1
- package/build/engines/openai-responses/transport.js.map +1 -1
- package/build/engines/openai-responses.d.ts +6 -6
- package/build/engines/openai-responses.js +4 -3
- package/build/engines/openai-responses.js.map +1 -1
- package/build/media.d.ts +0 -8
- package/build/media.js +0 -2
- package/build/media.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Engine } from '../../engine.ts';
|
|
2
|
+
import { Function } from '../../function.ts';
|
|
3
|
+
import OpenAI from 'openai';
|
|
4
|
+
declare const NOMINAL: unique symbol;
|
|
5
|
+
export declare namespace RoleMessage {
|
|
6
|
+
class Ai<in out fdu extends Function.Decl.Proto> extends Engine.RoleMessage.Ai<fdu> {
|
|
7
|
+
protected raw: OpenAI.Responses.Response;
|
|
8
|
+
protected [NOMINAL]: never;
|
|
9
|
+
constructor(parts: unknown[], raw: OpenAI.Responses.Response);
|
|
10
|
+
getRaw(): OpenAI.Responses.Response;
|
|
11
|
+
}
|
|
12
|
+
namespace Ai {
|
|
13
|
+
type From<fdm extends Function.Decl.Map.Proto> = Ai<Function.Decl.From<fdm>>;
|
|
14
|
+
}
|
|
15
|
+
export import Part = Engine.RoleMessage.Part;
|
|
16
|
+
export import User = Engine.RoleMessage.User;
|
|
17
|
+
export import Developer = Engine.RoleMessage.Developer;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Engine } from "../../engine.js";
|
|
2
|
+
const NOMINAL = Symbol();
|
|
3
|
+
export var RoleMessage;
|
|
4
|
+
(function (RoleMessage) {
|
|
5
|
+
class Ai extends Engine.RoleMessage.Ai {
|
|
6
|
+
raw;
|
|
7
|
+
constructor(parts, raw) {
|
|
8
|
+
super(parts);
|
|
9
|
+
this.raw = raw;
|
|
10
|
+
}
|
|
11
|
+
getRaw() {
|
|
12
|
+
return this.raw;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
RoleMessage.Ai = Ai;
|
|
16
|
+
RoleMessage.Part = Engine.RoleMessage.Part;
|
|
17
|
+
RoleMessage.User = Engine.RoleMessage.User;
|
|
18
|
+
RoleMessage.Developer = Engine.RoleMessage.Developer;
|
|
19
|
+
})(RoleMessage || (RoleMessage = {}));
|
|
20
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/engines/dashscope/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIzC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,KAAW,WAAW,CA0B3B;AA1BD,WAAiB,WAAW;IACxB,MAAa,EAEX,SAAQ,MAAM,CAAC,WAAW,CAAC,EAAO;QAIlB;QAFd,YACI,KAAgB,EACN,GAA8B;YAExC,KAAK,CAAC,KAAK,CAAC,CAAC;YAFH,QAAG,GAAH,GAAG,CAA2B;QAG5C,CAAC;QAEM,MAAM;YACT,OAAO,IAAI,CAAC,GAAG,CAAC;QACpB,CAAC;KACJ;IAdY,cAAE,KAcd,CAAA;IAQa,gBAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,gBAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,qBAAS,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;AAC3D,CAAC,EA1BgB,WAAW,KAAX,WAAW,QA0B3B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ToolChoice } from "../../tool-choice.js";
|
|
2
|
+
export function encode(toolChoice) {
|
|
3
|
+
if (toolChoice === ToolChoice.NONE)
|
|
4
|
+
return 'none';
|
|
5
|
+
else if (toolChoice === ToolChoice.REQUIRED)
|
|
6
|
+
return 'auto';
|
|
7
|
+
else if (toolChoice === ToolChoice.ANYONE)
|
|
8
|
+
return 'auto';
|
|
9
|
+
else if (toolChoice === ToolChoice.AUTO)
|
|
10
|
+
return 'auto';
|
|
11
|
+
else
|
|
12
|
+
throw new Error();
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=tool-choice-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-choice-codec.js","sourceRoot":"","sources":["../../../src/engines/dashscope/tool-choice-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,MAAM,UAAU,MAAM,CAClB,UAAsB;IAEtB,IAAI,UAAU,KAAK,UAAU,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAC7C,IAAI,UAAU,KAAK,UAAU,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SACtD,IAAI,UAAU,KAAK,UAAU,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACpD,IAAI,UAAU,KAAK,UAAU,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;;QAClD,MAAM,IAAI,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1,11 +1,39 @@
|
|
|
1
|
+
import { type InferenceOptions, type ProviderSpecs } from '../../engine.ts';
|
|
1
2
|
import { type Session } from '../../engine/session.ts';
|
|
3
|
+
import { RoleMessage } from './message.ts';
|
|
2
4
|
import { Function } from '../../function.ts';
|
|
3
5
|
import OpenAI from 'openai';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
+
import { type InferenceContext } from '../../inference-context.ts';
|
|
7
|
+
import { Throttle } from '../../throttle.ts';
|
|
8
|
+
import type { MessageCodec } from './message-codec.ts';
|
|
9
|
+
import type { ToolCodec } from '../openai-responses/tool-codec.ts';
|
|
10
|
+
import type { Billing } from '../openai-responses/billing.ts';
|
|
11
|
+
import { ToolChoice } from '../../tool-choice.ts';
|
|
12
|
+
import { Engine } from "../../engine.js";
|
|
13
|
+
export declare class Transport<in out fdm extends Function.Decl.Map.Proto> implements Engine.Transport<fdm> {
|
|
14
|
+
protected client: OpenAI;
|
|
15
|
+
protected inferenceParams: InferenceOptions;
|
|
16
|
+
protected providerSpec: ProviderSpecs;
|
|
17
|
+
protected fdm: fdm;
|
|
18
|
+
protected throttle: Throttle;
|
|
19
|
+
protected toolChoice: ToolChoice;
|
|
20
|
+
protected messageCodec: MessageCodec<fdm>;
|
|
21
|
+
protected toolCodec: ToolCodec<fdm>;
|
|
22
|
+
protected billing: Billing;
|
|
23
|
+
constructor(options: Transport.Options<fdm>);
|
|
6
24
|
protected makeParams(session: Session.From<fdm>): OpenAI.Responses.ResponseCreateParamsStreaming;
|
|
25
|
+
protected logAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): void;
|
|
26
|
+
fetch(wfctx: InferenceContext, session: Session.From<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm>>;
|
|
7
27
|
}
|
|
8
28
|
export declare namespace Transport {
|
|
9
|
-
interface Options<in out fdm extends Function.Decl.Map.Proto>
|
|
29
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto> {
|
|
30
|
+
inferenceParams: InferenceOptions;
|
|
31
|
+
providerSpec: ProviderSpecs;
|
|
32
|
+
fdm: fdm;
|
|
33
|
+
throttle: Throttle;
|
|
34
|
+
toolChoice: ToolChoice;
|
|
35
|
+
messageCodec: MessageCodec<fdm>;
|
|
36
|
+
toolCodec: ToolCodec<fdm>;
|
|
37
|
+
billing: Billing;
|
|
10
38
|
}
|
|
11
39
|
}
|
|
@@ -1,10 +1,114 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { RoleMessage } from "./message.js";
|
|
2
|
+
import OpenAI from 'openai';
|
|
3
|
+
import { loggers } from "../../telemetry.js";
|
|
4
|
+
import * as ToolChoiceCodec from "./tool-choice-codec.js";
|
|
5
|
+
import { Engine } from "../../engine.js";
|
|
6
|
+
import * as Undici from 'undici';
|
|
7
|
+
import assert from 'node:assert';
|
|
8
|
+
export class Transport {
|
|
9
|
+
client;
|
|
10
|
+
inferenceParams;
|
|
11
|
+
providerSpec;
|
|
12
|
+
fdm;
|
|
13
|
+
throttle;
|
|
14
|
+
toolChoice;
|
|
15
|
+
messageCodec;
|
|
16
|
+
toolCodec;
|
|
17
|
+
billing;
|
|
18
|
+
constructor(options) {
|
|
19
|
+
this.client = new OpenAI({
|
|
20
|
+
baseURL: options.providerSpec.baseUrl,
|
|
21
|
+
apiKey: options.providerSpec.apiKey,
|
|
22
|
+
fetch: Undici.fetch,
|
|
23
|
+
fetchOptions: { dispatcher: options.providerSpec.dispatcher },
|
|
24
|
+
defaultHeaders: new Headers({
|
|
25
|
+
'X-Dashscope-Session-Cache': 'enable',
|
|
26
|
+
}),
|
|
27
|
+
});
|
|
28
|
+
this.inferenceParams = options.inferenceParams;
|
|
29
|
+
this.providerSpec = options.providerSpec;
|
|
30
|
+
this.fdm = options.fdm;
|
|
31
|
+
this.throttle = options.throttle;
|
|
32
|
+
this.toolChoice = options.toolChoice;
|
|
33
|
+
this.messageCodec = options.messageCodec;
|
|
34
|
+
this.toolCodec = options.toolCodec;
|
|
35
|
+
this.billing = options.billing;
|
|
36
|
+
}
|
|
3
37
|
makeParams(session) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
38
|
+
const tools = this.toolCodec.encodeFunctionDeclarationMap();
|
|
39
|
+
let input;
|
|
40
|
+
let previous_response_id = undefined;
|
|
41
|
+
let instructions = undefined;
|
|
42
|
+
const lastSecondMessage = session.chatMessages.at(-2);
|
|
43
|
+
if (lastSecondMessage instanceof RoleMessage.Ai) {
|
|
44
|
+
const lastMessage = session.chatMessages.at(-1);
|
|
45
|
+
assert(lastMessage instanceof Engine.RoleMessage.User);
|
|
46
|
+
input = this.messageCodec.encodeUserMessage(lastMessage);
|
|
47
|
+
previous_response_id = lastSecondMessage.getRaw().id;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
input = session.chatMessages.flatMap(chatMessage => this.messageCodec.encodeChatMessage(chatMessage));
|
|
51
|
+
instructions = session.developerMessage && this.messageCodec.encodeDeveloperMessage(session.developerMessage);
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
model: this.inferenceParams.model,
|
|
55
|
+
include: ['reasoning.encrypted_content'],
|
|
56
|
+
store: true,
|
|
57
|
+
stream: true,
|
|
58
|
+
input,
|
|
59
|
+
previous_response_id,
|
|
60
|
+
instructions,
|
|
61
|
+
tools: tools.length ? tools : undefined,
|
|
62
|
+
tool_choice: tools.length ? ToolChoiceCodec.encode(this.toolChoice) : undefined,
|
|
63
|
+
parallel_tool_calls: tools.length ? this.inferenceParams.parallelToolCall : undefined,
|
|
64
|
+
...this.inferenceParams.additionalOptions,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
logAiMessage(output) {
|
|
68
|
+
for (const item of output)
|
|
69
|
+
if (item.type === 'message') {
|
|
70
|
+
if (item.content.every(part => part.type === 'output_text')) { }
|
|
71
|
+
else
|
|
72
|
+
throw new SyntaxError('Refusal', { cause: output });
|
|
73
|
+
loggers.inference.info(item.content.map(part => part.text).join(''));
|
|
74
|
+
}
|
|
75
|
+
else if (item.type === 'function_call')
|
|
76
|
+
loggers.message.info(item);
|
|
77
|
+
else if (item.type === 'reasoning') { }
|
|
78
|
+
else
|
|
79
|
+
loggers.message.info(item);
|
|
80
|
+
}
|
|
81
|
+
async fetch(wfctx, session, signal) {
|
|
82
|
+
await this.throttle.requests(wfctx);
|
|
83
|
+
const params = this.makeParams(session);
|
|
84
|
+
loggers.message.debug(params);
|
|
85
|
+
let response = null;
|
|
86
|
+
const stream = await this.client.responses.create(params, { signal });
|
|
87
|
+
for await (const event of stream) {
|
|
88
|
+
loggers.stream.trace(event);
|
|
89
|
+
if (event.type === 'response.completed')
|
|
90
|
+
response = event.response;
|
|
91
|
+
else if (event.type === 'response.incomplete')
|
|
92
|
+
response = event.response;
|
|
93
|
+
else if (event.type === 'response.failed')
|
|
94
|
+
response = event.response;
|
|
95
|
+
else if (event.type === 'error')
|
|
96
|
+
throw new SyntaxError('Response stream error', { cause: event });
|
|
97
|
+
}
|
|
98
|
+
if (response) { }
|
|
99
|
+
else
|
|
100
|
+
throw new Error();
|
|
101
|
+
loggers.message.debug(response);
|
|
102
|
+
if (response.status === 'completed') { }
|
|
103
|
+
else
|
|
104
|
+
throw new SyntaxError('Abnormal response status', { cause: response });
|
|
105
|
+
if (response.usage) { }
|
|
106
|
+
else
|
|
107
|
+
throw new Error();
|
|
108
|
+
this.logAiMessage(response.output);
|
|
109
|
+
wfctx.cost?.(this.billing.charge(response.usage));
|
|
110
|
+
loggers.message.info(response.usage);
|
|
111
|
+
return this.messageCodec.decodeAiMessage(response);
|
|
8
112
|
}
|
|
9
113
|
}
|
|
10
114
|
//# sourceMappingURL=transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/dashscope/transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/dashscope/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,36 @@
|
|
|
1
1
|
import { Engine, Middleware } from '../engine.ts';
|
|
2
2
|
import { Function } from '../function.ts';
|
|
3
|
-
import {
|
|
3
|
+
import { MessageCodec } from './dashscope/message-codec.ts';
|
|
4
|
+
import { ToolCodec } from './openai-responses/tool-codec.ts';
|
|
5
|
+
import { Billing } from './openai-responses/billing.ts';
|
|
6
|
+
import * as TransportModule from './dashscope/transport.ts';
|
|
7
|
+
import { InferenceContext } from '../inference-context.ts';
|
|
8
|
+
import * as MessageModule from './dashscope/message.ts';
|
|
4
9
|
export type DashScopeEngine<fdm extends Function.Decl.Map.Proto> = DashScopeEngine.Instance<fdm>;
|
|
5
10
|
export declare namespace DashScopeEngine {
|
|
6
|
-
class Instance<in out fdm extends Function.Decl.Map.Proto> extends
|
|
11
|
+
class Instance<in out fdm extends Function.Decl.Map.Proto> extends Engine.Instance<fdm> {
|
|
7
12
|
protected options: DashScopeEngine.Options<fdm>;
|
|
13
|
+
protected toolCodec: ToolCodec<fdm>;
|
|
14
|
+
protected messageCodec: MessageCodec<fdm>;
|
|
15
|
+
protected billing: Billing;
|
|
16
|
+
protected transport: Transport<fdm>;
|
|
8
17
|
constructor(options: DashScopeEngine.Options<fdm>);
|
|
9
18
|
clone(): DashScopeEngine<fdm>;
|
|
19
|
+
/**
|
|
20
|
+
* @throws {@link InferenceTimeout} 推理超时
|
|
21
|
+
* @throws {@link SyntaxError} 模型抽风
|
|
22
|
+
* @throws {@link Recoverable} 模型抽风但可恢复
|
|
23
|
+
* @throws {@link TypeError} 网络故障
|
|
24
|
+
*/
|
|
25
|
+
protected infer(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
26
|
+
stateless(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
27
|
+
stateful(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
10
28
|
useStateless(middleware: Middleware.From<fdm>): DashScopeEngine<fdm>;
|
|
11
29
|
useStateful(middleware: Middleware.From<fdm>): DashScopeEngine<fdm>;
|
|
12
30
|
}
|
|
13
|
-
interface Options<in out fdm extends Function.Decl.Map.Proto> extends
|
|
14
|
-
applyPatch?: false;
|
|
31
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto> extends Engine.Options<fdm> {
|
|
15
32
|
}
|
|
16
33
|
const create: Engine.Create;
|
|
17
|
-
export import
|
|
18
|
-
export import
|
|
34
|
+
export import RoleMessage = MessageModule.RoleMessage;
|
|
35
|
+
export import Transport = TransportModule.Transport;
|
|
19
36
|
}
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Engine } from "../engine.js";
|
|
2
|
+
import { MessageCodec } from "./dashscope/message-codec.js";
|
|
3
|
+
import { ToolCodec } from "./openai-responses/tool-codec.js";
|
|
4
|
+
import { Billing } from "./openai-responses/billing.js";
|
|
5
|
+
import * as TransportModule from "./dashscope/transport.js";
|
|
6
|
+
import * as MessageModule from "./dashscope/message.js";
|
|
7
|
+
import OpenAI from 'openai';
|
|
3
8
|
export var DashScopeEngine;
|
|
4
9
|
(function (DashScopeEngine) {
|
|
5
|
-
class Instance extends
|
|
10
|
+
class Instance extends Engine.Instance {
|
|
6
11
|
options;
|
|
12
|
+
toolCodec;
|
|
13
|
+
messageCodec;
|
|
14
|
+
billing;
|
|
15
|
+
transport;
|
|
7
16
|
constructor(options) {
|
|
8
17
|
super(options);
|
|
9
18
|
this.options = options;
|
|
10
|
-
this.
|
|
19
|
+
this.toolCodec = new ToolCodec({ fdm: this.fdm });
|
|
20
|
+
this.messageCodec = new MessageCodec({
|
|
21
|
+
toolCodec: this.toolCodec,
|
|
22
|
+
});
|
|
23
|
+
this.billing = new Billing({ pricing: this.pricing });
|
|
24
|
+
this.transport = new DashScopeEngine.Transport({
|
|
11
25
|
inferenceParams: this.inferenceOptions,
|
|
12
26
|
providerSpec: this.providerSpecs,
|
|
13
27
|
fdm: this.fdm,
|
|
14
28
|
throttle: this.throttle,
|
|
15
29
|
toolChoice: this.toolChoice,
|
|
16
|
-
applyPatch: this.applyPatch,
|
|
17
30
|
messageCodec: this.messageCodec,
|
|
18
31
|
toolCodec: this.toolCodec,
|
|
19
32
|
billing: this.billing,
|
|
@@ -25,6 +38,29 @@ export var DashScopeEngine;
|
|
|
25
38
|
engine.middlewaresStateful = [...this.middlewaresStateful];
|
|
26
39
|
return engine;
|
|
27
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* @throws {@link InferenceTimeout} 推理超时
|
|
43
|
+
* @throws {@link SyntaxError} 模型抽风
|
|
44
|
+
* @throws {@link Recoverable} 模型抽风但可恢复
|
|
45
|
+
* @throws {@link TypeError} 网络故障
|
|
46
|
+
*/
|
|
47
|
+
async infer(wfctx, session) {
|
|
48
|
+
try {
|
|
49
|
+
return await super.infer(wfctx, session);
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
if (e instanceof OpenAI.APIConnectionError)
|
|
53
|
+
throw new TypeError(undefined, { cause: e });
|
|
54
|
+
else
|
|
55
|
+
throw e;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async stateless(wfctx, session) {
|
|
59
|
+
return await super.stateless(wfctx, session);
|
|
60
|
+
}
|
|
61
|
+
async stateful(wfctx, session) {
|
|
62
|
+
return await super.stateful(wfctx, session);
|
|
63
|
+
}
|
|
28
64
|
useStateless(middleware) {
|
|
29
65
|
return super.useStateless(middleware);
|
|
30
66
|
}
|
|
@@ -36,7 +72,7 @@ export var DashScopeEngine;
|
|
|
36
72
|
DashScopeEngine.create = function (options) {
|
|
37
73
|
return new Instance(options);
|
|
38
74
|
};
|
|
39
|
-
DashScopeEngine.
|
|
40
|
-
DashScopeEngine.
|
|
75
|
+
DashScopeEngine.RoleMessage = MessageModule.RoleMessage;
|
|
76
|
+
DashScopeEngine.Transport = TransportModule.Transport;
|
|
41
77
|
})(DashScopeEngine || (DashScopeEngine = {}));
|
|
42
78
|
//# sourceMappingURL=dashscope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashscope.js","sourceRoot":"","sources":["../../src/engines/dashscope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dashscope.js","sourceRoot":"","sources":["../../src/engines/dashscope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAC;AACxD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAM5B,MAAM,KAAW,eAAe,CAoF/B;AApFD,WAAiB,eAAe;IAC5B,MAAa,QAEX,SAAQ,MAAM,CAAC,QAAa;QAMG;QALnB,SAAS,CAAiB;QAC1B,YAAY,CAAoB;QAChC,OAAO,CAAU;QACR,SAAS,CAAiB;QAE7C,YAA6B,OAAqC;YAC9D,KAAK,CAAC,OAAO,CAAC,CAAC;YADU,YAAO,GAAP,OAAO,CAA8B;YAG9D,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAA,SAAS,CAAC;gBAC3B,eAAe,EAAE,IAAI,CAAC,gBAAgB;gBACtC,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC,CAAC;QACP,CAAC;QAEe,KAAK;YACjB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC;QAClB,CAAC;QAED;;;;;UAKE;QACiB,KAAK,CAAC,KAAK,CAC1B,KAAuB,EACvB,OAAiC;YAEjC,IAAI,CAAC;gBACD,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAA6B,CAAC;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,MAAM,CAAC,kBAAkB;oBACtC,MAAM,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;;oBAC5C,MAAM,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QAEe,KAAK,CAAC,SAAS,CAAC,KAAuB,EAAE,OAAiC;YACtF,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAA6B,CAAC;QAC7E,CAAC;QAEe,KAAK,CAAC,QAAQ,CAAC,KAAuB,EAAE,OAAiC;YACrF,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAA6B,CAAC;QAC5E,CAAC;QAEe,YAAY,CAAC,UAAgC;YACzD,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU,CAAyB,CAAC;QAClE,CAAC;QACe,WAAW,CAAC,UAAgC;YACxD,OAAO,KAAK,CAAC,WAAW,CAAC,UAAU,CAAyB,CAAC;QACjE,CAAC;KAEJ;IArEY,wBAAQ,WAqEpB,CAAA;IAMY,sBAAM,GAAkB,UAEnC,OAA4B;QAC1B,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAA;IAEa,2BAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IACxC,yBAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AACxD,CAAC,EApFgB,eAAe,KAAf,eAAe,QAoF/B"}
|
|
@@ -18,7 +18,7 @@ export class MessageCodec {
|
|
|
18
18
|
else {
|
|
19
19
|
const apiParts = [];
|
|
20
20
|
for (const part of aiMessage.getParts()) {
|
|
21
|
-
if (part instanceof RoleMessage.
|
|
21
|
+
if (part instanceof RoleMessage.Part.Text) {
|
|
22
22
|
apiParts.push(Google.createPartFromText(part.text));
|
|
23
23
|
}
|
|
24
24
|
else if (part instanceof Function.Call) {
|
|
@@ -51,14 +51,16 @@ export class MessageCodec {
|
|
|
51
51
|
encodeUserMessage(userMessage) {
|
|
52
52
|
const apiParts = [];
|
|
53
53
|
for (const part of userMessage.getParts()) {
|
|
54
|
-
if (part instanceof Engine.RoleMessage.
|
|
54
|
+
if (part instanceof Engine.RoleMessage.Part.Text)
|
|
55
55
|
apiParts.push(Google.createPartFromText(part.text));
|
|
56
56
|
else if (part instanceof Function.Response) {
|
|
57
57
|
const fres = part;
|
|
58
58
|
apiParts.push(this.toolCodec.encodeFunctionResponse(fres));
|
|
59
59
|
}
|
|
60
60
|
else if (part instanceof Media.Pdf)
|
|
61
|
-
apiParts.push(Google.createPartFromBase64(part.base64,
|
|
61
|
+
apiParts.push(Google.createPartFromBase64(part.base64, String(part.mimeType), Google.PartMediaResolutionLevel.MEDIA_RESOLUTION_MEDIUM));
|
|
62
|
+
else if (part instanceof Media.Image)
|
|
63
|
+
apiParts.push(Google.createPartFromBase64(part.base64, String(part.mimeType), Google.PartMediaResolutionLevel.MEDIA_RESOLUTION_HIGH));
|
|
62
64
|
else if (part instanceof Media.Text)
|
|
63
65
|
apiParts.push(Google.createPartFromText(part.quote()));
|
|
64
66
|
else
|
|
@@ -78,7 +80,7 @@ export class MessageCodec {
|
|
|
78
80
|
const parts = [];
|
|
79
81
|
for (const part of content.parts) {
|
|
80
82
|
if (part.text)
|
|
81
|
-
parts.push(new RoleMessage.
|
|
83
|
+
parts.push(new RoleMessage.Part.Text(part.text));
|
|
82
84
|
if (part.functionCall)
|
|
83
85
|
parts.push(this.toolCodec.decodeFunctionCall(part.functionCall));
|
|
84
86
|
if (part.executableCode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/engines/google/message-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,MAAM,OAAO,YAAY;IAGX,SAAS,CAAiB;IAC1B,aAAa,CAAU;IACjC,YAAmB,OAAkC;QACjD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC/C,CAAC;IAEM,eAAe,CAClB,SAA0C;QAE1C,IAAI,SAAS,YAAY,WAAW,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,SAAqC,CAAC;YAC9D,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;aACI,CAAC;YACF,MAAM,QAAQ,GAAuB,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtC,IAAI,IAAI,YAAY,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/engines/google/message-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ export declare namespace RoleMessage {
|
|
|
15
15
|
namespace Ai {
|
|
16
16
|
type From<fdm extends Function.Decl.Map.Proto> = Ai<Function.Decl.From<fdm>>;
|
|
17
17
|
namespace Part {
|
|
18
|
-
export import Text = Engine.RoleMessage.Ai.Part.Text;
|
|
19
18
|
class ExecutableCode {
|
|
20
19
|
code: string;
|
|
21
20
|
language?: string | undefined;
|
|
@@ -30,6 +29,7 @@ export declare namespace RoleMessage {
|
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
31
|
}
|
|
32
|
+
export import Part = Engine.RoleMessage.Part;
|
|
33
33
|
export import User = Engine.RoleMessage.User;
|
|
34
34
|
export import Developer = Engine.RoleMessage.Developer;
|
|
35
35
|
}
|
|
@@ -12,18 +12,18 @@ export var RoleMessage;
|
|
|
12
12
|
return this.raw;
|
|
13
13
|
}
|
|
14
14
|
allText() {
|
|
15
|
-
return this.parts.every(part => part instanceof RoleMessage.
|
|
15
|
+
return this.parts.every(part => part instanceof RoleMessage.Part.Text ||
|
|
16
16
|
part instanceof RoleMessage.Ai.Part.ExecutableCode ||
|
|
17
17
|
part instanceof RoleMessage.Ai.Part.CodeExecutionResult);
|
|
18
18
|
}
|
|
19
19
|
static encodeExecutableCodePart(part) {
|
|
20
|
-
return RoleMessage.
|
|
20
|
+
return RoleMessage.Part.Text.paragraph('```' + (part.language ?? '') + '\n' + part.code + '\n```').text;
|
|
21
21
|
}
|
|
22
22
|
static encodeCodeExecutionResultPart(part) {
|
|
23
23
|
const textParts = [];
|
|
24
24
|
if (part.output)
|
|
25
|
-
textParts.push(RoleMessage.
|
|
26
|
-
textParts.push(RoleMessage.
|
|
25
|
+
textParts.push(RoleMessage.Part.Text.paragraph('```\n' + part.output + '\n```'));
|
|
26
|
+
textParts.push(RoleMessage.Part.Text.paragraph(part.outcome));
|
|
27
27
|
return textParts.map(part => part.text).join('');
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -31,7 +31,6 @@ export var RoleMessage;
|
|
|
31
31
|
(function (Ai) {
|
|
32
32
|
let Part;
|
|
33
33
|
(function (Part) {
|
|
34
|
-
Part.Text = Engine.RoleMessage.Ai.Part.Text;
|
|
35
34
|
class ExecutableCode {
|
|
36
35
|
code;
|
|
37
36
|
language;
|
|
@@ -52,6 +51,7 @@ export var RoleMessage;
|
|
|
52
51
|
Part.CodeExecutionResult = CodeExecutionResult;
|
|
53
52
|
})(Part = Ai.Part || (Ai.Part = {}));
|
|
54
53
|
})(Ai = RoleMessage.Ai || (RoleMessage.Ai = {}));
|
|
54
|
+
RoleMessage.Part = Engine.RoleMessage.Part;
|
|
55
55
|
RoleMessage.User = Engine.RoleMessage.User;
|
|
56
56
|
RoleMessage.Developer = Engine.RoleMessage.Developer;
|
|
57
57
|
})(RoleMessage || (RoleMessage = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/engines/google/message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,KAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/engines/google/message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,KAAW,WAAW,CA+D3B;AA/DD,WAAiB,WAAW;IAExB,MAAa,EAEX,SAAQ,MAAM,CAAC,WAAW,CAAC,EAAO;QAIlB;QAFd,YACI,KAAgB,EACN,GAAmB;YAE7B,KAAK,CAAC,KAAK,CAAC,CAAC;YAFH,QAAG,GAAH,GAAG,CAAgB;QAGjC,CAAC;QAEM,MAAM;YACT,OAAO,IAAI,CAAC,GAAG,CAAC;QACpB,CAAC;QACe,OAAO;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CACnB,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI;gBACzC,IAAI,YAAY,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc;gBAClD,IAAI,YAAY,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAC9D,CAAC;QACN,CAAC;QACM,MAAM,CAAC,wBAAwB,CAAC,IAAwC;YAC3E,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAClC,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAC7D,CAAC,IAAI,CAAC;QACX,CAAC;QACM,MAAM,CAAC,6BAA6B,CAAC,IAA6C;YACrF,MAAM,SAAS,GAA4B,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,MAAM;gBAAE,SAAS,CAAC,IAAI,CAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAC3B,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAClC,CACJ,CAAC;YACF,SAAS,CAAC,IAAI,CACV,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAChD,CAAC;YACF,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;KACJ;IAtCY,cAAE,KAsCd,CAAA;IACD,WAAiB,EAAE;QAKf,IAAiB,IAAI,CAWpB;QAXD,WAAiB,IAAI;YAEjB,MAAa,cAAc;gBAEG;gBAAqB;gBAA/C,YAA0B,IAAY,EAAS,QAAiB;oBAAtC,SAAI,GAAJ,IAAI,CAAQ;oBAAS,aAAQ,GAAR,QAAQ,CAAS;gBAAG,CAAC;aACvE;YAHY,mBAAc,iBAG1B,CAAA;YAED,MAAa,mBAAmB;gBAEF;gBAAwB;gBAAlD,YAA0B,OAAe,EAAS,MAAe;oBAAvC,YAAO,GAAP,OAAO,CAAQ;oBAAS,WAAM,GAAN,MAAM,CAAS;gBAAG,CAAC;aACxE;YAHY,wBAAmB,sBAG/B,CAAA;QACL,CAAC,EAXgB,IAAI,GAAJ,OAAI,KAAJ,OAAI,QAWpB;IACL,CAAC,EAjBgB,EAAE,GAAF,cAAE,KAAF,cAAE,QAiBlB;IAEa,gBAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,gBAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,qBAAS,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;AAC3D,CAAC,EA/DgB,WAAW,KAAX,WAAW,QA+D3B"}
|
|
@@ -3,7 +3,7 @@ import { Function } from '../function.ts';
|
|
|
3
3
|
import { MessageCodec } from './google/message-codec.ts';
|
|
4
4
|
import { ToolCodec } from './google/tool-codec.ts';
|
|
5
5
|
import { Billing } from './google/billing.ts';
|
|
6
|
-
import
|
|
6
|
+
import * as TransportModule from './google/transport.ts';
|
|
7
7
|
import { InferenceContext } from '../inference-context.ts';
|
|
8
8
|
import * as MessageModule from './google/message.ts';
|
|
9
9
|
export type GoogleEngine<fdm extends Function.Decl.Map.Proto> = GoogleEngine.Instance<fdm>;
|
|
@@ -37,4 +37,5 @@ export declare namespace GoogleEngine {
|
|
|
37
37
|
}
|
|
38
38
|
const create: Engine.Create;
|
|
39
39
|
export import RoleMessage = MessageModule.RoleMessage;
|
|
40
|
+
export import Transport = TransportModule.Transport;
|
|
40
41
|
}
|
package/build/engines/google.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Billing } from "./google/billing.js";
|
|
|
6
6
|
import { env } from 'node:process';
|
|
7
7
|
import { Agent, ProxyAgent } from 'undici';
|
|
8
8
|
import { ToolChoiceValidator } from "../engine/tool-choice-validator.js";
|
|
9
|
-
import
|
|
9
|
+
import * as TransportModule from "./google/transport.js";
|
|
10
10
|
import * as MessageModule from "./google/message.js";
|
|
11
11
|
export var GoogleEngine;
|
|
12
12
|
(function (GoogleEngine) {
|
|
@@ -47,7 +47,7 @@ export var GoogleEngine;
|
|
|
47
47
|
codeExecution: this.codeExecution,
|
|
48
48
|
});
|
|
49
49
|
this.billing = new Billing({ pricing: this.pricing });
|
|
50
|
-
this.transport = new Transport({
|
|
50
|
+
this.transport = new GoogleEngine.Transport({
|
|
51
51
|
inferenceParams: this.inferenceOptions,
|
|
52
52
|
providerSpec: this.providerSpecs,
|
|
53
53
|
fdm: this.fdm,
|
|
@@ -93,7 +93,7 @@ export var GoogleEngine;
|
|
|
93
93
|
return response.getText();
|
|
94
94
|
const pfress = [];
|
|
95
95
|
for (const part of response.getParts()) {
|
|
96
|
-
if (part instanceof Engine.RoleMessage.
|
|
96
|
+
if (part instanceof Engine.RoleMessage.Part.Text) {
|
|
97
97
|
yield part.text;
|
|
98
98
|
}
|
|
99
99
|
else if (part instanceof Function.Call) {
|
|
@@ -139,5 +139,6 @@ export var GoogleEngine;
|
|
|
139
139
|
return new Instance(options);
|
|
140
140
|
};
|
|
141
141
|
GoogleEngine.RoleMessage = MessageModule.RoleMessage;
|
|
142
|
+
GoogleEngine.Transport = TransportModule.Transport;
|
|
142
143
|
})(GoogleEngine || (GoogleEngine = {}));
|
|
143
144
|
//# sourceMappingURL=google.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/engines/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/engines/google.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export class MessageCodec {
|
|
|
9
9
|
decodeAiMessage(message) {
|
|
10
10
|
const parts = [];
|
|
11
11
|
if (message.content)
|
|
12
|
-
parts.push(new Engine.RoleMessage.
|
|
12
|
+
parts.push(new Engine.RoleMessage.Part.Text(message.content));
|
|
13
13
|
if (message.tool_calls)
|
|
14
14
|
for (const apifc of message.tool_calls)
|
|
15
15
|
if (apifc.type === 'function')
|
|
@@ -30,7 +30,7 @@ export class MessageCodec {
|
|
|
30
30
|
encodeUserMessage(userMessage) {
|
|
31
31
|
for (const part of userMessage.getParts())
|
|
32
32
|
if (part instanceof Function.Response) { }
|
|
33
|
-
else if (part instanceof Engine.RoleMessage.
|
|
33
|
+
else if (part instanceof Engine.RoleMessage.Part.Text) { }
|
|
34
34
|
else if (part instanceof Media.Text) { }
|
|
35
35
|
else
|
|
36
36
|
throw new Error('Unsupported part type.');
|
|
@@ -40,7 +40,7 @@ export class MessageCodec {
|
|
|
40
40
|
apiMessages.push(this.toolCodec.encodeFunctionResponse(fres));
|
|
41
41
|
const contentParts = [];
|
|
42
42
|
for (const part of userMessage.getParts())
|
|
43
|
-
if (part instanceof Engine.RoleMessage.
|
|
43
|
+
if (part instanceof Engine.RoleMessage.Part.Text)
|
|
44
44
|
contentParts.push({ type: 'text', text: part.text });
|
|
45
45
|
else if (part instanceof Media.Text)
|
|
46
46
|
contentParts.push({ type: 'text', text: part.quote() });
|
|
@@ -53,7 +53,7 @@ export class MessageCodec {
|
|
|
53
53
|
const textParts = [];
|
|
54
54
|
const fcParts = [];
|
|
55
55
|
for (const part of parts) {
|
|
56
|
-
if (part instanceof Engine.RoleMessage.
|
|
56
|
+
if (part instanceof Engine.RoleMessage.Part.Text)
|
|
57
57
|
textParts.push(part);
|
|
58
58
|
else if (part instanceof Function.Call)
|
|
59
59
|
fcParts.push(part);
|