@zimtsui/typechat 0.0.126 → 0.0.127
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/adaptor.d.ts +0 -10
- package/build/adaptor.js +0 -32
- package/build/adaptor.js.map +1 -1
- package/build/engine/exceptions.d.ts +7 -7
- package/build/engine/exceptions.js.map +1 -1
- package/build/engine/message-validator.d.ts +9 -0
- package/build/engine/message-validator.js +28 -0
- package/build/engine/message-validator.js.map +1 -0
- package/build/engine/message.d.ts +33 -31
- package/build/engine/message.js +26 -75
- package/build/engine/message.js.map +1 -1
- package/build/engine/middleware.d.ts +2 -2
- package/build/engine/session.d.ts +4 -4
- package/build/engine/tool-choice-validator.d.ts +2 -2
- package/build/engine/tool-choice-validator.js +18 -21
- package/build/engine/tool-choice-validator.js.map +1 -1
- package/build/engine/transport.d.ts +2 -2
- package/build/engine.d.ts +11 -11
- package/build/engine.js +29 -56
- package/build/engine.js.map +1 -1
- package/build/engines/anthropic/message-codec.d.ts +9 -5
- package/build/engines/anthropic/message-codec.js +37 -35
- package/build/engines/anthropic/message-codec.js.map +1 -1
- package/build/engines/anthropic/tool-codec.d.ts +3 -3
- package/build/engines/anthropic/tool-codec.js +45 -14
- package/build/engines/anthropic/tool-codec.js.map +1 -1
- package/build/engines/anthropic/transport.d.ts +1 -2
- package/build/engines/anthropic/transport.js +1 -1
- package/build/engines/anthropic/transport.js.map +1 -1
- package/build/engines/anthropic.d.ts +0 -3
- package/build/engines/anthropic.js +1 -8
- package/build/engines/anthropic.js.map +1 -1
- package/build/engines/google/message-codec.d.ts +10 -7
- package/build/engines/google/message-codec.js +50 -70
- package/build/engines/google/message-codec.js.map +1 -1
- package/build/engines/google/tool-codec.d.ts +2 -3
- package/build/engines/google/tool-codec.js +51 -22
- package/build/engines/google/tool-codec.js.map +1 -1
- package/build/engines/google/transport.d.ts +1 -8
- package/build/engines/google/transport.js +1 -13
- package/build/engines/google/transport.js.map +1 -1
- package/build/engines/google.d.ts +3 -25
- package/build/engines/google.js +1 -124
- package/build/engines/google.js.map +1 -1
- package/build/engines/openai-chatcompletions/message-codec.d.ts +11 -7
- package/build/engines/openai-chatcompletions/message-codec.js +45 -45
- package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
- package/build/engines/openai-chatcompletions/tool-codec.d.ts +3 -3
- package/build/engines/openai-chatcompletions/tool-codec.js +31 -31
- package/build/engines/openai-chatcompletions/tool-codec.js.map +1 -1
- package/build/engines/openai-chatcompletions/transport.d.ts +2 -2
- package/build/engines/openai-chatcompletions/transport.js +12 -12
- package/build/engines/openai-chatcompletions/transport.js.map +1 -1
- package/build/engines/openai-chatcompletions.d.ts +0 -3
- package/build/engines/openai-chatcompletions.js +1 -8
- package/build/engines/openai-chatcompletions.js.map +1 -1
- package/build/engines/openai-compatible/message-codec.d.ts +14 -5
- package/build/engines/openai-compatible/message-codec.js +72 -71
- package/build/engines/openai-compatible/message-codec.js.map +1 -1
- package/build/engines/openai-compatible/transport.d.ts +3 -6
- package/build/engines/openai-compatible/transport.js +6 -7
- package/build/engines/openai-compatible/transport.js.map +1 -1
- package/build/engines/openai-compatible.d.ts +0 -3
- package/build/engines/openai-compatible.js +1 -8
- package/build/engines/openai-compatible.js.map +1 -1
- package/build/engines/openai-responses/message-codec.d.ts +12 -5
- package/build/engines/openai-responses/message-codec.js +72 -88
- package/build/engines/openai-responses/message-codec.js.map +1 -1
- package/build/engines/openai-responses/tool-codec.d.ts +5 -3
- package/build/engines/openai-responses/tool-codec.js +43 -28
- package/build/engines/openai-responses/tool-codec.js.map +1 -1
- package/build/engines/openai-responses/transport.d.ts +2 -6
- package/build/engines/openai-responses/transport.js +1 -7
- package/build/engines/openai-responses/transport.js.map +1 -1
- package/build/engines/openai-responses.d.ts +3 -24
- package/build/engines/openai-responses.js +1 -111
- package/build/engines/openai-responses.js.map +1 -1
- package/build/exports/xml.d.ts +2 -2
- package/build/exports/xml.js +2 -2
- package/build/exports/xml.js.map +1 -1
- package/build/exports.d.ts +1 -5
- package/build/exports.js +1 -5
- package/build/exports.js.map +1 -1
- package/build/function.d.ts +4 -2
- package/build/function.js +2 -2
- package/build/function.js.map +1 -1
- package/build/media.d.ts +2 -2
- package/build/media.js +5 -5
- package/build/media.js.map +1 -1
- package/build/text.d.ts +8 -0
- package/build/text.js +11 -0
- package/build/text.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/DEVELOPMENT.md +0 -11
- package/build/engine/parts-validator.d.ts +0 -8
- package/build/engine/parts-validator.js +0 -12
- package/build/engine/parts-validator.js.map +0 -1
- package/build/engines/anthropic/message.d.ts +0 -19
- package/build/engines/anthropic/message.js +0 -20
- package/build/engines/anthropic/message.js.map +0 -1
- package/build/engines/google/message.d.ts +0 -36
- package/build/engines/google/message.js +0 -58
- package/build/engines/google/message.js.map +0 -1
- package/build/engines/openai-chatcompletions/message.d.ts +0 -19
- package/build/engines/openai-chatcompletions/message.js +0 -20
- package/build/engines/openai-chatcompletions/message.js.map +0 -1
- package/build/engines/openai-compatible/message.d.ts +0 -19
- package/build/engines/openai-compatible/message.js +0 -20
- package/build/engines/openai-compatible/message.js.map +0 -1
- package/build/engines/openai-responses/message.d.ts +0 -22
- package/build/engines/openai-responses/message.js +0 -38
- package/build/engines/openai-responses/message.js.map +0 -1
- package/build/engines/openai-responses/tool-choice-validator.d.ts +0 -11
- package/build/engines/openai-responses/tool-choice-validator.js +0 -50
- package/build/engines/openai-responses/tool-choice-validator.js.map +0 -1
- package/build/engines/openai-responses/tool.d.ts +0 -53
- package/build/engines/openai-responses/tool.js +0 -24
- package/build/engines/openai-responses/tool.js.map +0 -1
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { RoleMessage } from './message.ts';
|
|
2
1
|
import { Engine } from '../../engine.ts';
|
|
3
2
|
import { Function } from '../../function.ts';
|
|
4
3
|
import * as Google from '@google/genai';
|
|
5
4
|
import { type ToolCodec } from './tool-codec.ts';
|
|
6
5
|
export declare class MessageCodec<fdm extends Function.Decl.Map.Proto> {
|
|
6
|
+
protected cacheDeveloperMessages: WeakMap<Engine.Message.Developer, Google.Content>;
|
|
7
|
+
protected cacheInputMessages: WeakMap<Engine.Message.Input<Function.Decl.Proto>, Google.Content>;
|
|
8
|
+
protected cacheOutputMessages: WeakMap<Engine.Message.Output<Function.Decl.Proto>, Google.Content>;
|
|
7
9
|
protected toolCodec: ToolCodec<fdm>;
|
|
8
|
-
protected
|
|
10
|
+
protected messageValidator: Engine.MessageValidator.From<fdm>;
|
|
9
11
|
constructor(options: MessageCodec.Options<fdm>);
|
|
10
|
-
|
|
12
|
+
encodeOutputMessage(outm: Engine.Message.Output.From<fdm>): Google.Content;
|
|
11
13
|
encodeChatMessages(chatMessages: Engine.Session.ChatMessage.From<fdm>[]): Google.Content[];
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
encodeChatMessage(chatMessage: Engine.Session.ChatMessage.From<fdm>): Google.Content;
|
|
15
|
+
encodeInputMessage(inm: Engine.Message.Input.From<fdm>): Google.Content;
|
|
16
|
+
encodeDeveloperMessage(developerMessage: Engine.Message.Developer): Google.Content;
|
|
17
|
+
decodeOutputMessage(content: Google.Content): Engine.Message.Output.From<fdm>;
|
|
15
18
|
}
|
|
16
19
|
export declare namespace MessageCodec {
|
|
17
20
|
interface Options<in out fdm extends Function.Decl.Map.Proto> {
|
|
18
21
|
toolCodec: ToolCodec<fdm>;
|
|
19
|
-
|
|
22
|
+
messageValidator: Engine.MessageValidator.From<fdm>;
|
|
20
23
|
}
|
|
21
24
|
}
|
|
@@ -1,58 +1,46 @@
|
|
|
1
|
-
import { RoleMessage } from "./message.js";
|
|
2
1
|
import { Engine } from "../../engine.js";
|
|
3
2
|
import { Function } from "../../function.js";
|
|
4
3
|
import * as Google from '@google/genai';
|
|
5
4
|
import { Media } from "../../media.js";
|
|
5
|
+
import { Text } from "../../text.js";
|
|
6
6
|
export class MessageCodec {
|
|
7
|
+
cacheDeveloperMessages = new WeakMap();
|
|
8
|
+
cacheInputMessages = new WeakMap();
|
|
9
|
+
cacheOutputMessages = new WeakMap();
|
|
7
10
|
toolCodec;
|
|
8
|
-
|
|
11
|
+
messageValidator;
|
|
9
12
|
constructor(options) {
|
|
10
13
|
this.toolCodec = options.toolCodec;
|
|
11
|
-
this.
|
|
14
|
+
this.messageValidator = options.messageValidator;
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
const apiParts = [];
|
|
20
|
-
for (const part of aiMessage.getParts()) {
|
|
21
|
-
if (part instanceof RoleMessage.Part.Text) {
|
|
22
|
-
apiParts.push(Google.createPartFromText(part.text));
|
|
23
|
-
}
|
|
24
|
-
else if (part instanceof Function.Call) {
|
|
25
|
-
const fc = part;
|
|
26
|
-
if (fc.args instanceof Object) { }
|
|
27
|
-
else
|
|
28
|
-
throw new Error();
|
|
29
|
-
apiParts.push(Google.createPartFromFunctionCall(fc.name, fc.args));
|
|
30
|
-
}
|
|
31
|
-
else
|
|
32
|
-
throw new Error('Unknown AI message part type', { cause: part });
|
|
33
|
-
}
|
|
34
|
-
return Google.createModelContent(apiParts);
|
|
35
|
-
}
|
|
16
|
+
encodeOutputMessage(outm) {
|
|
17
|
+
if (this.cacheOutputMessages.has(outm))
|
|
18
|
+
return this.cacheOutputMessages.get(outm);
|
|
19
|
+
throw new Error('Only native output message allowed.', { cause: outm });
|
|
36
20
|
}
|
|
37
21
|
encodeChatMessages(chatMessages) {
|
|
38
|
-
return chatMessages.map(chatMessage =>
|
|
39
|
-
if (chatMessage instanceof Engine.RoleMessage.User) {
|
|
40
|
-
const userMessage = chatMessage;
|
|
41
|
-
return this.encodeUserMessage(userMessage);
|
|
42
|
-
}
|
|
43
|
-
else if (chatMessage instanceof Engine.RoleMessage.Ai) {
|
|
44
|
-
const aiMessage = chatMessage;
|
|
45
|
-
return this.encodeAiMessage(aiMessage);
|
|
46
|
-
}
|
|
47
|
-
else
|
|
48
|
-
throw new Error();
|
|
49
|
-
});
|
|
22
|
+
return chatMessages.map(chatMessage => this.encodeChatMessage(chatMessage));
|
|
50
23
|
}
|
|
51
|
-
|
|
24
|
+
encodeChatMessage(chatMessage) {
|
|
25
|
+
if (chatMessage instanceof Engine.Message.Input) {
|
|
26
|
+
const inm = chatMessage;
|
|
27
|
+
return this.encodeInputMessage(inm);
|
|
28
|
+
}
|
|
29
|
+
else if (chatMessage instanceof Engine.Message.Output) {
|
|
30
|
+
const outm = chatMessage;
|
|
31
|
+
return this.encodeOutputMessage(outm);
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
throw new Error();
|
|
35
|
+
}
|
|
36
|
+
encodeInputMessage(inm) {
|
|
37
|
+
if (this.cacheInputMessages.has(inm))
|
|
38
|
+
return this.cacheInputMessages.get(inm);
|
|
39
|
+
this.messageValidator.validateInputMessage(inm);
|
|
52
40
|
const apiParts = [];
|
|
53
|
-
for (const part of
|
|
54
|
-
if (part instanceof
|
|
55
|
-
apiParts.push(Google.createPartFromText(part.
|
|
41
|
+
for (const part of inm.parts) {
|
|
42
|
+
if (part instanceof Text)
|
|
43
|
+
apiParts.push(Google.createPartFromText(part.raw));
|
|
56
44
|
else if (part instanceof Function.Response) {
|
|
57
45
|
const fr = part;
|
|
58
46
|
apiParts.push(this.toolCodec.encodeFunctionResponse(fr));
|
|
@@ -67,45 +55,37 @@ export class MessageCodec {
|
|
|
67
55
|
throw new Error('Unknown user message part type', { cause: part });
|
|
68
56
|
}
|
|
69
57
|
;
|
|
70
|
-
|
|
58
|
+
const raw = Google.createUserContent(apiParts);
|
|
59
|
+
this.cacheInputMessages.set(inm, raw);
|
|
60
|
+
return raw;
|
|
71
61
|
}
|
|
72
62
|
encodeDeveloperMessage(developerMessage) {
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
if (this.cacheDeveloperMessages.has(developerMessage))
|
|
64
|
+
return this.cacheDeveloperMessages.get(developerMessage);
|
|
65
|
+
const parts = developerMessage.getOnlyTextParts().map(part => Google.createPartFromText(part.raw));
|
|
66
|
+
const raw = { parts };
|
|
67
|
+
this.cacheDeveloperMessages.set(developerMessage, raw);
|
|
68
|
+
return raw;
|
|
75
69
|
}
|
|
76
|
-
|
|
70
|
+
decodeOutputMessage(content) {
|
|
77
71
|
if (content.parts) { }
|
|
78
72
|
else
|
|
79
73
|
throw new Error();
|
|
80
74
|
const parts = [];
|
|
81
75
|
for (const part of content.parts) {
|
|
82
|
-
if (part.text)
|
|
83
|
-
parts.push(new
|
|
76
|
+
if (part.text !== undefined)
|
|
77
|
+
parts.push(new Text(part.text));
|
|
84
78
|
if (part.functionCall)
|
|
85
79
|
parts.push(this.toolCodec.decodeFunctionCall(part.functionCall));
|
|
86
|
-
if (part.executableCode)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (part.executableCode.code) { }
|
|
91
|
-
else
|
|
92
|
-
throw new Error();
|
|
93
|
-
if (part.executableCode.language) { }
|
|
94
|
-
else
|
|
95
|
-
throw new Error();
|
|
96
|
-
parts.push(new RoleMessage.Ai.Part.ExecutableCode(part.executableCode.code, part.executableCode.language === Google.Language.LANGUAGE_UNSPECIFIED ? undefined : part.executableCode.language));
|
|
97
|
-
}
|
|
98
|
-
if (part.codeExecutionResult) {
|
|
99
|
-
if (this.codeExecution) { }
|
|
100
|
-
else
|
|
101
|
-
throw new Engine.Exceptions.InferenceError('Unexpected code execution result', { cause: content });
|
|
102
|
-
if (part.codeExecutionResult.outcome) { }
|
|
103
|
-
else
|
|
104
|
-
throw new Error();
|
|
105
|
-
parts.push(new RoleMessage.Ai.Part.CodeExecutionResult(part.codeExecutionResult.outcome, part.codeExecutionResult.output));
|
|
106
|
-
}
|
|
80
|
+
if (part.executableCode)
|
|
81
|
+
throw new Error('Executable code is not supported.', { cause: part });
|
|
82
|
+
if (part.codeExecutionResult)
|
|
83
|
+
throw new Error('Code execution result is not supported.', { cause: part });
|
|
107
84
|
}
|
|
108
|
-
|
|
85
|
+
const outm = new Engine.Message.Output(parts);
|
|
86
|
+
this.messageValidator.validateOutputMessage(outm);
|
|
87
|
+
this.cacheOutputMessages.set(outm, content);
|
|
88
|
+
return outm;
|
|
109
89
|
}
|
|
110
90
|
}
|
|
111
91
|
//# sourceMappingURL=message-codec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/engines/google/message-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/engines/google/message-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,11 @@ import { Function } from '../../function.ts';
|
|
|
2
2
|
import * as Google from '@google/genai';
|
|
3
3
|
export declare class ToolCodec<in out fdm extends Function.Decl.Map.Proto> {
|
|
4
4
|
protected fdm: fdm;
|
|
5
|
-
protected
|
|
5
|
+
protected rawfds: Google.FunctionDeclaration[];
|
|
6
6
|
constructor(options: ToolCodec.Options<fdm>);
|
|
7
|
-
encodeFunctionCall(fc: Function.Call.From<fdm>): Google.FunctionCall;
|
|
8
7
|
encodeFunctionDeclarationMap(): Google.FunctionDeclaration[];
|
|
9
8
|
protected static encodeFunctionDeclarationEntry<fdu extends Function.Decl.Proto>(fdentry: Function.Decl.Entry.Of<fdu>): Google.FunctionDeclaration;
|
|
10
|
-
decodeFunctionCall(
|
|
9
|
+
decodeFunctionCall(rawfc: Google.FunctionCall): Function.Call.From<fdm>;
|
|
11
10
|
encodeFunctionResponse(fr: Function.Response.From<fdm>): Google.Part;
|
|
12
11
|
}
|
|
13
12
|
export declare namespace ToolCodec {
|
|
@@ -2,23 +2,19 @@ import { Function } from "../../function.js";
|
|
|
2
2
|
import { Parse, ParseError } from 'typebox/schema';
|
|
3
3
|
import { removeAdditionalProperties } from "../../function/parameters.js";
|
|
4
4
|
import { Engine } from "../../engine.js";
|
|
5
|
+
import assert from 'node:assert';
|
|
6
|
+
import { Text } from "../../text.js";
|
|
7
|
+
import { Media } from "../../media.js";
|
|
5
8
|
export class ToolCodec {
|
|
6
9
|
fdm;
|
|
7
|
-
|
|
10
|
+
rawfds;
|
|
8
11
|
constructor(options) {
|
|
9
12
|
this.fdm = options.fdm;
|
|
10
13
|
const fdentries = Object.entries(this.fdm);
|
|
11
|
-
this.
|
|
12
|
-
}
|
|
13
|
-
encodeFunctionCall(fc) {
|
|
14
|
-
return {
|
|
15
|
-
id: fc.id,
|
|
16
|
-
name: fc.name,
|
|
17
|
-
args: fc.args,
|
|
18
|
-
};
|
|
14
|
+
this.rawfds = fdentries.map(fdentry => ToolCodec.encodeFunctionDeclarationEntry(fdentry));
|
|
19
15
|
}
|
|
20
16
|
encodeFunctionDeclarationMap() {
|
|
21
|
-
return this.
|
|
17
|
+
return this.rawfds.slice();
|
|
22
18
|
}
|
|
23
19
|
static encodeFunctionDeclarationEntry(fdentry) {
|
|
24
20
|
return {
|
|
@@ -27,16 +23,16 @@ export class ToolCodec {
|
|
|
27
23
|
parameters: removeAdditionalProperties(fdentry[1].parameters),
|
|
28
24
|
};
|
|
29
25
|
}
|
|
30
|
-
decodeFunctionCall(
|
|
31
|
-
if (
|
|
26
|
+
decodeFunctionCall(rawfc) {
|
|
27
|
+
if (rawfc.name) { }
|
|
32
28
|
else
|
|
33
29
|
throw new Error();
|
|
34
|
-
const fditem = this.fdm[
|
|
30
|
+
const fditem = this.fdm[rawfc.name];
|
|
35
31
|
if (fditem) { }
|
|
36
32
|
else
|
|
37
|
-
throw new Engine.Exceptions.InferenceError('Unknown function call', { cause:
|
|
33
|
+
throw new Engine.Exceptions.InferenceError('Unknown function call', { cause: rawfc });
|
|
38
34
|
try {
|
|
39
|
-
Parse(fditem.parameters,
|
|
35
|
+
Parse(fditem.parameters, rawfc.args);
|
|
40
36
|
}
|
|
41
37
|
catch (e) {
|
|
42
38
|
if (e instanceof ParseError)
|
|
@@ -45,16 +41,49 @@ export class ToolCodec {
|
|
|
45
41
|
throw e;
|
|
46
42
|
}
|
|
47
43
|
return Function.Call.of({
|
|
48
|
-
id:
|
|
49
|
-
name:
|
|
50
|
-
args:
|
|
44
|
+
id: rawfc.id,
|
|
45
|
+
name: rawfc.name,
|
|
46
|
+
args: rawfc.args,
|
|
51
47
|
});
|
|
52
48
|
}
|
|
53
49
|
encodeFunctionResponse(fr) {
|
|
54
|
-
if (fr instanceof Function.Response.Successful)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
50
|
+
if (fr instanceof Function.Response.Successful) {
|
|
51
|
+
assert(fr.parts.length === 1);
|
|
52
|
+
if (fr.parts[0] instanceof Text) {
|
|
53
|
+
const text = fr.parts[0];
|
|
54
|
+
return {
|
|
55
|
+
functionResponse: { id: fr.id, name: fr.name, response: { output: text.raw } },
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
else if (fr.parts[0] instanceof Media.Text) {
|
|
59
|
+
const media = fr.parts[0];
|
|
60
|
+
return {
|
|
61
|
+
functionResponse: { id: fr.id, name: fr.name, response: { output: media.quote() } },
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
else if (fr.parts[0] instanceof Media.Image || fr.parts[0] instanceof Media.Pdf) {
|
|
65
|
+
const media = fr.parts[0];
|
|
66
|
+
return {
|
|
67
|
+
functionResponse: {
|
|
68
|
+
id: fr.id, name: fr.name,
|
|
69
|
+
parts: [{
|
|
70
|
+
inlineData: {
|
|
71
|
+
data: String(media),
|
|
72
|
+
mimeType: String(media.mimeType),
|
|
73
|
+
displayName: 'media',
|
|
74
|
+
},
|
|
75
|
+
}],
|
|
76
|
+
response: {
|
|
77
|
+
output: {
|
|
78
|
+
$ref: 'media',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
else
|
|
85
|
+
throw new Error('Unsupported function response part.', { cause: fr.parts[0] });
|
|
86
|
+
}
|
|
58
87
|
else if (fr instanceof Function.Response.Failed)
|
|
59
88
|
return {
|
|
60
89
|
functionResponse: { id: fr.id, name: fr.name, response: { error: fr.error } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/google/tool-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/google/tool-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type InferenceOptions, type ProviderSpecs, Engine } from '../../engine.ts';
|
|
2
|
-
import { RoleMessage } from './message.ts';
|
|
3
2
|
import { Function } from '../../function.ts';
|
|
4
3
|
import { type InferenceContext } from '../../inference-context.ts';
|
|
5
4
|
import { Throttle } from '../../throttle.ts';
|
|
@@ -14,14 +13,11 @@ export declare class Transport<in out fdm extends Function.Decl.Map.Proto> imple
|
|
|
14
13
|
protected fdm: fdm;
|
|
15
14
|
protected throttle: Throttle;
|
|
16
15
|
protected toolChoice: ToolChoice;
|
|
17
|
-
protected codeExecution: boolean;
|
|
18
|
-
protected urlContext: boolean;
|
|
19
|
-
protected googleSearch: boolean;
|
|
20
16
|
protected messageCodec: MessageCodec<fdm>;
|
|
21
17
|
protected toolCodec: ToolCodec<fdm>;
|
|
22
18
|
protected billing: Billing;
|
|
23
19
|
constructor(options: GoogleNativeTransport.Options<fdm>);
|
|
24
|
-
fetch(wfctx: InferenceContext, session: Engine.Session.From<fdm>, signal?: AbortSignal): Promise<
|
|
20
|
+
fetch(wfctx: InferenceContext, session: Engine.Session.From<fdm>, signal?: AbortSignal): Promise<Engine.Message.Output.From<fdm>>;
|
|
25
21
|
}
|
|
26
22
|
export declare namespace GoogleNativeTransport {
|
|
27
23
|
interface Options<in out fdm extends Function.Decl.Map.Proto> {
|
|
@@ -30,9 +26,6 @@ export declare namespace GoogleNativeTransport {
|
|
|
30
26
|
fdm: fdm;
|
|
31
27
|
throttle: Throttle;
|
|
32
28
|
toolChoice: ToolChoice;
|
|
33
|
-
codeExecution: boolean;
|
|
34
|
-
urlContext: boolean;
|
|
35
|
-
googleSearch: boolean;
|
|
36
29
|
messageCodec: MessageCodec<fdm>;
|
|
37
30
|
toolCodec: ToolCodec<fdm>;
|
|
38
31
|
billing: Billing;
|
|
@@ -11,9 +11,6 @@ export class Transport {
|
|
|
11
11
|
fdm;
|
|
12
12
|
throttle;
|
|
13
13
|
toolChoice;
|
|
14
|
-
codeExecution;
|
|
15
|
-
urlContext;
|
|
16
|
-
googleSearch;
|
|
17
14
|
messageCodec;
|
|
18
15
|
toolCodec;
|
|
19
16
|
billing;
|
|
@@ -24,9 +21,6 @@ export class Transport {
|
|
|
24
21
|
this.fdm = options.fdm;
|
|
25
22
|
this.throttle = options.throttle;
|
|
26
23
|
this.toolChoice = options.toolChoice;
|
|
27
|
-
this.codeExecution = options.codeExecution;
|
|
28
|
-
this.urlContext = options.urlContext;
|
|
29
|
-
this.googleSearch = options.googleSearch;
|
|
30
24
|
this.messageCodec = options.messageCodec;
|
|
31
25
|
this.toolCodec = options.toolCodec;
|
|
32
26
|
this.billing = options.billing;
|
|
@@ -40,12 +34,6 @@ export class Transport {
|
|
|
40
34
|
const apiTools = [];
|
|
41
35
|
if (apiFds.length)
|
|
42
36
|
apiTools.push({ functionDeclarations: apiFds });
|
|
43
|
-
if (this.urlContext)
|
|
44
|
-
apiTools.push({ urlContext: {} });
|
|
45
|
-
if (this.googleSearch)
|
|
46
|
-
apiTools.push({ googleSearch: {} });
|
|
47
|
-
if (this.codeExecution)
|
|
48
|
-
apiTools.push({ codeExecution: {} });
|
|
49
37
|
const apiToolConfig = {};
|
|
50
38
|
if (apiFds.length)
|
|
51
39
|
apiToolConfig.functionCallingConfig = ChoiceCodec.encode(this.toolChoice);
|
|
@@ -119,7 +107,7 @@ export class Transport {
|
|
|
119
107
|
loggers.message.info(part.codeExecutionResult.output);
|
|
120
108
|
}
|
|
121
109
|
wfctx.cost?.(this.billing.charge(response.usageMetadata));
|
|
122
|
-
return this.messageCodec.
|
|
110
|
+
return this.messageCodec.decodeOutputMessage(response.candidates[0].content);
|
|
123
111
|
}
|
|
124
112
|
}
|
|
125
113
|
//# sourceMappingURL=transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/google/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/google/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,39 +4,17 @@ 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
6
|
import * as TransportModule from './google/transport.ts';
|
|
7
|
-
import { InferenceContext } from '../inference-context.ts';
|
|
8
|
-
import * as MessageModule from './google/message.ts';
|
|
9
7
|
export type GoogleEngine<fdm extends Function.Decl.Map.Proto> = GoogleEngine.Instance<fdm>;
|
|
10
8
|
export declare namespace GoogleEngine {
|
|
11
9
|
class Instance<in out fdm extends Function.Decl.Map.Proto> extends Engine.Instance<fdm> {
|
|
12
|
-
protected options:
|
|
10
|
+
protected options: Engine.Options<fdm>;
|
|
13
11
|
protected toolCodec: ToolCodec<fdm>;
|
|
14
12
|
protected messageCodec: MessageCodec<fdm>;
|
|
15
13
|
protected billing: Billing;
|
|
16
14
|
protected transport: Transport<fdm>;
|
|
17
|
-
|
|
18
|
-
protected codeExecution: boolean;
|
|
19
|
-
protected urlContext: boolean;
|
|
20
|
-
protected googleSearch: boolean;
|
|
21
|
-
constructor(options: GoogleEngine.Options<fdm>);
|
|
22
|
-
protected infer(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
23
|
-
clone(): GoogleEngine<fdm>;
|
|
24
|
-
stateless(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
25
|
-
stateful(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
26
|
-
useStateless(middleware: Engine.Middleware.From<fdm>): GoogleEngine<fdm>;
|
|
27
|
-
useStateful(middleware: Engine.Middleware.From<fdm>): GoogleEngine<fdm>;
|
|
28
|
-
/**
|
|
29
|
-
* @param session mutable
|
|
30
|
-
*/
|
|
31
|
-
agentloop(wfctx: InferenceContext, session: Engine.Session.From<fdm>, fnm: Function.Map<fdm>, limit?: number): AsyncGenerator<string, string, void>;
|
|
15
|
+
constructor(options: Engine.Options<fdm>);
|
|
32
16
|
}
|
|
33
|
-
|
|
34
|
-
codeExecution?: boolean;
|
|
35
|
-
urlContext?: boolean;
|
|
36
|
-
googleSearch?: boolean;
|
|
37
|
-
}
|
|
38
|
-
function create<fdm extends Function.Decl.Map.Proto>(options: GoogleEngine.Options<fdm>): GoogleEngine<fdm>;
|
|
17
|
+
function create<fdm extends Function.Decl.Map.Proto>(options: Engine.Options<fdm>): GoogleEngine<fdm>;
|
|
39
18
|
function createEngine<fdm extends Function.Decl.Map.Proto>(options: Engine.Options<fdm>): Engine<fdm>;
|
|
40
|
-
export import RoleMessage = MessageModule.RoleMessage;
|
|
41
19
|
export import Transport = TransportModule.Transport;
|
|
42
20
|
}
|