@zimtsui/typechat 0.0.92 → 0.0.94
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/openai-chatcompletions/tool-codec.d.ts +0 -1
- package/build/compatible-engine/validation.d.ts +14 -7
- package/build/compatible-engine/validation.js +24 -15
- package/build/compatible-engine/validation.js.map +1 -1
- package/build/compatible-engine.d/aliyun.d.ts +0 -3
- package/build/compatible-engine.d/aliyun.js +0 -8
- package/build/compatible-engine.d/aliyun.js.map +1 -1
- package/build/compatible-engine.d/anthropic/choice-codec.d.ts +1 -1
- package/build/compatible-engine.d/anthropic/choice-codec.js +7 -6
- package/build/compatible-engine.d/anthropic/choice-codec.js.map +1 -1
- package/build/compatible-engine.d/anthropic/transport.d.ts +0 -3
- package/build/compatible-engine.d/anthropic/transport.js +14 -11
- package/build/compatible-engine.d/anthropic/transport.js.map +1 -1
- package/build/compatible-engine.d/anthropic.d.ts +0 -3
- package/build/compatible-engine.d/anthropic.js +0 -7
- package/build/compatible-engine.d/anthropic.js.map +1 -1
- package/build/compatible-engine.d/google/transport.d.ts +0 -2
- package/build/compatible-engine.d/google/transport.js +13 -14
- package/build/compatible-engine.d/google/transport.js.map +1 -1
- package/build/compatible-engine.d/google.d.ts +0 -3
- package/build/compatible-engine.d/google.js +1 -8
- package/build/compatible-engine.d/google.js.map +1 -1
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +3 -10
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js +8 -9
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +1 -1
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +0 -3
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +11 -9
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +1 -1
- package/build/compatible-engine.d/openai-responses/transport.d.ts +0 -3
- package/build/compatible-engine.d/openai-responses/transport.js +4 -5
- package/build/compatible-engine.d/openai-responses/transport.js.map +1 -1
- package/build/compatible-engine.d/openai-responses.d.ts +0 -3
- package/build/compatible-engine.d/openai-responses.js +0 -7
- package/build/compatible-engine.d/openai-responses.js.map +1 -1
- package/build/compatible-engine.d.ts +4 -1
- package/build/compatible-engine.js +6 -1
- package/build/compatible-engine.js.map +1 -1
- package/build/config.d.ts +0 -1
- package/build/endpoint-spec.d.ts +0 -1
- package/build/endpoint-spec.js +0 -1
- package/build/endpoint-spec.js.map +1 -1
- package/build/engine/validation.d.ts +10 -5
- package/build/engine.d.ts +8 -7
- package/build/engine.js +33 -21
- package/build/engine.js.map +1 -1
- package/build/native-engines.d/google/transport.d.ts +0 -2
- package/build/native-engines.d/google/transport.js +16 -18
- package/build/native-engines.d/google/transport.js.map +1 -1
- package/build/native-engines.d/google/validation.d.ts +16 -10
- package/build/native-engines.d/google/validation.js +19 -15
- package/build/native-engines.d/google/validation.js.map +1 -1
- package/build/native-engines.d/google.d.ts +4 -3
- package/build/native-engines.d/google.js +7 -8
- package/build/native-engines.d/google.js.map +1 -1
- package/build/native-engines.d/openai-responses/transport.d.ts +0 -3
- package/build/native-engines.d/openai-responses/transport.js +4 -5
- package/build/native-engines.d/openai-responses/transport.js.map +1 -1
- package/build/native-engines.d/openai-responses/validation.d.ts +15 -7
- package/build/native-engines.d/openai-responses/validation.js +22 -15
- package/build/native-engines.d/openai-responses/validation.js.map +1 -1
- package/build/native-engines.d/openai-responses.d.ts +4 -3
- package/build/native-engines.d/openai-responses.js +6 -7
- package/build/native-engines.d/openai-responses.js.map +1 -1
- package/build/repetition.d.ts +1 -0
- package/build/repetition.js +90 -0
- package/build/repetition.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/build/engine.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProxyAgent } from 'undici';
|
|
1
|
+
import { Agent, ProxyAgent } from 'undici';
|
|
2
2
|
import { env } from 'node:process';
|
|
3
3
|
import { loggers } from "./telemetry.js";
|
|
4
4
|
export var Engine;
|
|
@@ -11,35 +11,43 @@ export var Engine;
|
|
|
11
11
|
fdm;
|
|
12
12
|
vdm;
|
|
13
13
|
throttle;
|
|
14
|
-
retry;
|
|
15
14
|
constructor(options) {
|
|
16
15
|
const proxyUrl = options.proxy || env.https_proxy || env.HTTPS_PROXY;
|
|
16
|
+
const dispatcher = proxyUrl
|
|
17
|
+
? new ProxyAgent({
|
|
18
|
+
uri: proxyUrl,
|
|
19
|
+
headersTimeout: 0,
|
|
20
|
+
bodyTimeout: 0,
|
|
21
|
+
})
|
|
22
|
+
: new Agent({
|
|
23
|
+
headersTimeout: 0,
|
|
24
|
+
bodyTimeout: 0,
|
|
25
|
+
});
|
|
17
26
|
this.providerSpec = {
|
|
18
27
|
baseUrl: options.baseUrl,
|
|
19
28
|
apiKey: options.apiKey,
|
|
20
|
-
|
|
29
|
+
dispatcher,
|
|
21
30
|
};
|
|
22
31
|
this.name = options.name;
|
|
23
32
|
this.inferenceParams = {
|
|
24
33
|
model: options.model,
|
|
25
34
|
additionalOptions: options.additionalOptions,
|
|
26
35
|
timeout: options.timeout,
|
|
27
|
-
|
|
36
|
+
parallelToolCall: options.parallelToolCall,
|
|
37
|
+
retry: options.retry ?? 3,
|
|
28
38
|
};
|
|
29
|
-
const inputPrice = options.inputPrice ?? 0;
|
|
30
39
|
this.pricing = {
|
|
31
|
-
inputPrice,
|
|
40
|
+
inputPrice: options.inputPrice ?? 0,
|
|
32
41
|
outputPrice: options.outputPrice ?? 0,
|
|
33
|
-
cachePrice: options.cachePrice ?? inputPrice,
|
|
42
|
+
cachePrice: options.cachePrice ?? options.inputPrice ?? 0,
|
|
34
43
|
};
|
|
35
44
|
this.fdm = options.functionDeclarationMap;
|
|
36
45
|
this.vdm = options.verbatimDeclarationMap;
|
|
37
46
|
this.throttle = options.throttle;
|
|
38
|
-
this.retry = options.retry ?? 3;
|
|
39
47
|
}
|
|
40
48
|
async infer(wfctx, session, signal) {
|
|
41
49
|
const aiMessage = await this.transport.fetch(wfctx, session, signal);
|
|
42
|
-
this.
|
|
50
|
+
this.partsValidator.validate(aiMessage);
|
|
43
51
|
return aiMessage;
|
|
44
52
|
}
|
|
45
53
|
/**
|
|
@@ -51,13 +59,15 @@ export var Engine;
|
|
|
51
59
|
async stateless(wfctx, session, validate = () => Promise.resolve(true)) {
|
|
52
60
|
for (let retry = 0;; retry++) {
|
|
53
61
|
const signalTimeout = this.inferenceParams.timeout ? AbortSignal.timeout(this.inferenceParams.timeout) : undefined;
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
signalTimeout
|
|
57
|
-
|
|
62
|
+
const signals = [];
|
|
63
|
+
if (signalTimeout)
|
|
64
|
+
signals.push(signalTimeout);
|
|
65
|
+
if (wfctx.signal)
|
|
66
|
+
signals.push(wfctx.signal);
|
|
67
|
+
const signal = AbortSignal.any(signals);
|
|
58
68
|
try {
|
|
59
69
|
const response = await this.infer(wfctx, session, signal);
|
|
60
|
-
const rejection = this.
|
|
70
|
+
const rejection = this.structuringValidator.validate(response);
|
|
61
71
|
if (rejection)
|
|
62
72
|
throw new ResponseInvalid.Recoverable();
|
|
63
73
|
if (await validate(response)) { }
|
|
@@ -73,7 +83,7 @@ export var Engine;
|
|
|
73
83
|
else if (e instanceof CustomRetry) { } // 自定义重试
|
|
74
84
|
else
|
|
75
85
|
throw e;
|
|
76
|
-
if (retry < this.retry)
|
|
86
|
+
if (retry < this.inferenceParams.retry)
|
|
77
87
|
loggers.message.warn(e);
|
|
78
88
|
else
|
|
79
89
|
throw e;
|
|
@@ -86,13 +96,15 @@ export var Engine;
|
|
|
86
96
|
async stateful(wfctx, session, validate = () => Promise.resolve(true)) {
|
|
87
97
|
for (let retry = 0;; retry++) {
|
|
88
98
|
const signalTimeout = this.inferenceParams.timeout ? AbortSignal.timeout(this.inferenceParams.timeout) : undefined;
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
signalTimeout
|
|
92
|
-
|
|
99
|
+
const signals = [];
|
|
100
|
+
if (signalTimeout)
|
|
101
|
+
signals.push(signalTimeout);
|
|
102
|
+
if (wfctx.signal)
|
|
103
|
+
signals.push(wfctx.signal);
|
|
104
|
+
const signal = AbortSignal.any(signals);
|
|
93
105
|
try {
|
|
94
106
|
const response = await this.infer(wfctx, session, signal);
|
|
95
|
-
const rejection = this.
|
|
107
|
+
const rejection = this.structuringValidator.validate(response);
|
|
96
108
|
if (rejection) {
|
|
97
109
|
session.chatMessages.push(response, rejection);
|
|
98
110
|
throw new ResponseInvalid.Recoverable();
|
|
@@ -111,7 +123,7 @@ export var Engine;
|
|
|
111
123
|
else if (e instanceof CustomRetry) { } // 自定义重试
|
|
112
124
|
else
|
|
113
125
|
throw e;
|
|
114
|
-
if (retry < this.retry) { }
|
|
126
|
+
if (retry < this.inferenceParams.retry) { }
|
|
115
127
|
else
|
|
116
128
|
throw e;
|
|
117
129
|
loggers.message.warn(e);
|
package/build/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ import { Throttle } from '../../throttle.ts';
|
|
|
6
6
|
import type { MessageCodec } from './message-codec.ts';
|
|
7
7
|
import type { ToolCodec } from '../../api-types/google/tool-codec.ts';
|
|
8
8
|
import type { Billing } from '../../api-types/google/billing.ts';
|
|
9
|
-
import type { Validator } from './validation.ts';
|
|
10
9
|
import type { Verbatim } from '../../verbatim.ts';
|
|
11
10
|
import type { Structuring } from '../../compatible-engine/structuring.ts';
|
|
12
11
|
import type { Engine } from '../../engine.ts';
|
|
@@ -29,6 +28,5 @@ export declare namespace GoogleNativeTransport {
|
|
|
29
28
|
messageCodec: MessageCodec<fdm, vdm>;
|
|
30
29
|
toolCodec: ToolCodec<fdm>;
|
|
31
30
|
billing: Billing;
|
|
32
|
-
validator: Validator.From<fdm, vdm>;
|
|
33
31
|
}
|
|
34
32
|
}
|
|
@@ -15,29 +15,27 @@ export class GoogleNativeTransport {
|
|
|
15
15
|
const systemInstruction = session.developerMessage && this.ctx.messageCodec.encodeDeveloperMessage(session.developerMessage);
|
|
16
16
|
const contents = this.ctx.messageCodec.encodeChatMessages(session.chatMessages);
|
|
17
17
|
await this.ctx.throttle.requests(wfctx);
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
if (
|
|
21
|
-
|
|
18
|
+
const apifds = this.ctx.toolCodec.encodeFunctionDeclarationMap(this.ctx.fdm);
|
|
19
|
+
const apiTools = [];
|
|
20
|
+
if (apifds.length)
|
|
21
|
+
apiTools.push({ functionDeclarations: apifds });
|
|
22
22
|
if (this.ctx.urlContext)
|
|
23
|
-
|
|
23
|
+
apiTools.push({ urlContext: {} });
|
|
24
24
|
if (this.ctx.googleSearch)
|
|
25
|
-
|
|
25
|
+
apiTools.push({ googleSearch: {} });
|
|
26
26
|
if (this.ctx.codeExecution)
|
|
27
|
-
|
|
27
|
+
apiTools.push({ codeExecution: {} });
|
|
28
|
+
const apiToolConfig = {};
|
|
29
|
+
if (apifds.length)
|
|
30
|
+
apiToolConfig.functionCallingConfig = ChoiceCodec.encode(this.ctx.choice);
|
|
28
31
|
const reqbody = {
|
|
29
32
|
contents,
|
|
30
|
-
tools:
|
|
31
|
-
toolConfig:
|
|
32
|
-
functionCallingConfig: ChoiceCodec.encode(this.ctx.choice),
|
|
33
|
-
} : undefined,
|
|
33
|
+
tools: apiTools.length ? apiTools : undefined,
|
|
34
|
+
toolConfig: apiToolConfig,
|
|
34
35
|
systemInstruction,
|
|
35
|
-
generationConfig: this.ctx.inferenceParams.
|
|
36
|
-
maxOutputTokens: this.ctx.inferenceParams.maxTokens ?? undefined,
|
|
37
|
-
...this.ctx.inferenceParams.additionalOptions,
|
|
38
|
-
} : undefined,
|
|
36
|
+
generationConfig: this.ctx.inferenceParams.additionalOptions,
|
|
39
37
|
};
|
|
40
|
-
loggers.message.
|
|
38
|
+
loggers.message.debug(reqbody);
|
|
41
39
|
const res = await Undici.fetch(this.apiURL, {
|
|
42
40
|
method: 'POST',
|
|
43
41
|
headers: {
|
|
@@ -45,7 +43,7 @@ export class GoogleNativeTransport {
|
|
|
45
43
|
'x-goog-api-key': this.ctx.providerSpec.apiKey,
|
|
46
44
|
},
|
|
47
45
|
body: JSON.stringify(reqbody),
|
|
48
|
-
dispatcher: this.ctx.providerSpec.
|
|
46
|
+
dispatcher: this.ctx.providerSpec.dispatcher,
|
|
49
47
|
signal,
|
|
50
48
|
}).catch(e => {
|
|
51
49
|
if (e instanceof TypeError)
|
|
@@ -53,7 +51,7 @@ export class GoogleNativeTransport {
|
|
|
53
51
|
else
|
|
54
52
|
throw e;
|
|
55
53
|
});
|
|
56
|
-
loggers.message.
|
|
54
|
+
loggers.message.debug(res);
|
|
57
55
|
if (res.ok) { }
|
|
58
56
|
else {
|
|
59
57
|
const contentType = res.headers.get('Content-Type');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAA2C,MAAM,iBAAiB,CAAC;AAGzG,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAIjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,18 +2,16 @@ import { Structuring } from '../../compatible-engine/structuring.ts';
|
|
|
2
2
|
import { Function } from '../../function.ts';
|
|
3
3
|
import { Verbatim } from '../../verbatim.ts';
|
|
4
4
|
import { RoleMessage } from './session.ts';
|
|
5
|
-
import {
|
|
5
|
+
import { StructuringValidator as CompatibleStructuringValidator, PartsValidator as CompatiblePartsValidator } from '../../compatible-engine/validation.ts';
|
|
6
6
|
import { Engine } from '../../engine.ts';
|
|
7
|
-
export declare class
|
|
8
|
-
protected ctx:
|
|
9
|
-
protected
|
|
10
|
-
constructor(ctx:
|
|
11
|
-
|
|
12
|
-
validateStructuring(fcs: Function.Call.Of<fdu>[], vrs: Verbatim.Request.Of<vdu>[]): void | RoleMessage.User<fdu>;
|
|
13
|
-
validateMessageStructuring(message: RoleMessage.Ai<fdu, vdu>): void | RoleMessage.User<fdu>;
|
|
7
|
+
export declare class StructuringValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.StructuringValidator<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>> {
|
|
8
|
+
protected ctx: StructuringValidator.Context<fdu, vdu>;
|
|
9
|
+
protected compatibleStructuringValidator: CompatibleStructuringValidator<fdu, vdu>;
|
|
10
|
+
constructor(ctx: StructuringValidator.Context<fdu, vdu>);
|
|
11
|
+
validate(message: RoleMessage.Ai<fdu, vdu>): void | RoleMessage.User<fdu>;
|
|
14
12
|
}
|
|
15
|
-
export declare namespace
|
|
16
|
-
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> =
|
|
13
|
+
export declare namespace StructuringValidator {
|
|
14
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = StructuringValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
17
15
|
interface Context<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
|
|
18
16
|
choice: Structuring.Choice<fdu, vdu>;
|
|
19
17
|
}
|
|
@@ -21,3 +19,11 @@ export declare namespace Validator {
|
|
|
21
19
|
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Context<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
22
20
|
}
|
|
23
21
|
}
|
|
22
|
+
export declare class PartsValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.PartsValidator<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>> {
|
|
23
|
+
protected compatiblePartsValidator: CompatiblePartsValidator<fdu, vdu>;
|
|
24
|
+
constructor();
|
|
25
|
+
validate(message: RoleMessage.Ai<fdu, vdu>): void;
|
|
26
|
+
}
|
|
27
|
+
export declare namespace PartsValidator {
|
|
28
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = PartsValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
29
|
+
}
|
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RoleMessage } from "./session.js";
|
|
2
|
+
import { StructuringValidator as CompatibleStructuringValidator, PartsValidator as CompatiblePartsValidator, } from "../../compatible-engine/validation.js";
|
|
2
3
|
import { ResponseInvalid } from "../../engine.js";
|
|
3
|
-
export class
|
|
4
|
+
export class StructuringValidator {
|
|
4
5
|
ctx;
|
|
5
|
-
|
|
6
|
+
compatibleStructuringValidator;
|
|
6
7
|
constructor(ctx) {
|
|
7
8
|
this.ctx = ctx;
|
|
8
|
-
this.
|
|
9
|
+
this.compatibleStructuringValidator = new CompatibleStructuringValidator({ choice: this.ctx.choice });
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
const parts = message.getParts();
|
|
12
|
-
if (parts.length) { }
|
|
13
|
-
else
|
|
14
|
-
throw new ResponseInvalid('Empty message.');
|
|
15
|
-
}
|
|
16
|
-
validateStructuring(fcs, vrs) {
|
|
17
|
-
return this.compatibleValidator.validateStructuring(fcs, vrs);
|
|
18
|
-
}
|
|
19
|
-
validateMessageStructuring(message) {
|
|
11
|
+
validate(message) {
|
|
20
12
|
const fcs = message.getFunctionCalls();
|
|
21
13
|
const vrs = message.getVerbatimRequests();
|
|
22
|
-
return this.validateStructuring(fcs, vrs);
|
|
14
|
+
return this.compatibleStructuringValidator.validateStructuring(fcs, vrs);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class PartsValidator {
|
|
18
|
+
compatiblePartsValidator;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.compatiblePartsValidator = new CompatiblePartsValidator();
|
|
21
|
+
}
|
|
22
|
+
validate(message) {
|
|
23
|
+
if (message.getParts().length) { }
|
|
24
|
+
else
|
|
25
|
+
throw new ResponseInvalid('Empty message.');
|
|
26
|
+
this.compatiblePartsValidator.validateMessageTextParts(message.getChatParts().filter(part => part instanceof RoleMessage.Part.Text));
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
29
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/validation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACH,oBAAoB,IAAI,8BAA8B,EACtD,cAAc,IAAI,wBAAwB,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAU,MAAM,iBAAiB,CAAC;AAI1D,MAAM,OAAO,oBAAoB;IAKA;IADnB,8BAA8B,CAA2C;IACnF,YAA6B,GAA2C;QAA3C,QAAG,GAAH,GAAG,CAAwC;QACpE,IAAI,CAAC,8BAA8B,GAAG,IAAI,8BAA8B,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1G,CAAC;IAEM,QAAQ,CACX,OAAiC;QAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;CACJ;AAuBD,MAAM,OAAO,cAAc;IAIb,wBAAwB,CAAqC;IACvE;QACI,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IACnE,CAAC;IAEM,QAAQ,CACX,OAAiC;QAEjC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACnF,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,CAClD,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/E,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -21,9 +21,9 @@ export declare namespace GoogleNativeEngine {
|
|
|
21
21
|
protected compatibleMessageCodec: CompatibleMessageCodec<fdm, vdm>;
|
|
22
22
|
protected messageCodec: GoogleNativeEngine.MessageCodec<fdm, vdm>;
|
|
23
23
|
protected billing: Billing;
|
|
24
|
-
protected
|
|
24
|
+
protected structuringValidator: GoogleNativeEngine.StructuringValidator.From<fdm, vdm>;
|
|
25
|
+
protected partsValidator: GoogleNativeEngine.PartsValidator.From<fdm, vdm>;
|
|
25
26
|
protected transport: GoogleNativeTransport<fdm, vdm>;
|
|
26
|
-
protected parallelToolCall: boolean;
|
|
27
27
|
constructor(options: GoogleNativeEngine.Options<fdm, vdm>);
|
|
28
28
|
protected infer(wfctx: InferenceContext, session: GoogleNativeEngine.Session.From<fdm, vdm>, signal?: AbortSignal): Promise<GoogleNativeEngine.RoleMessage.Ai.From<fdm, vdm>>;
|
|
29
29
|
appendUserMessage(session: GoogleNativeEngine.Session.From<fdm, vdm>, message: GoogleNativeEngine.RoleMessage.User.From<fdm>): GoogleNativeEngine.Session.From<fdm, vdm>;
|
|
@@ -37,6 +37,7 @@ export declare namespace GoogleNativeEngine {
|
|
|
37
37
|
}
|
|
38
38
|
export import Session = SessionModule.Session;
|
|
39
39
|
export import RoleMessage = SessionModule.RoleMessage;
|
|
40
|
-
export import
|
|
40
|
+
export import StructuringValidator = ValidationModule.StructuringValidator;
|
|
41
|
+
export import PartsValidator = ValidationModule.PartsValidator;
|
|
41
42
|
export import MessageCodec = MessageCodecModule.MessageCodec;
|
|
42
43
|
}
|
|
@@ -18,14 +18,12 @@ export var GoogleNativeEngine;
|
|
|
18
18
|
compatibleMessageCodec;
|
|
19
19
|
messageCodec;
|
|
20
20
|
billing;
|
|
21
|
-
|
|
21
|
+
structuringValidator;
|
|
22
|
+
partsValidator;
|
|
22
23
|
transport;
|
|
23
|
-
parallelToolCall;
|
|
24
24
|
constructor(options) {
|
|
25
25
|
super(options);
|
|
26
|
-
|
|
27
|
-
if (this.parallelToolCall) { }
|
|
28
|
-
else
|
|
26
|
+
if (options.parallelToolCall === false)
|
|
29
27
|
throw new Error('Parallel tool calling is required by Google engine.');
|
|
30
28
|
this.choice = options.structuringChoice ?? Structuring.Choice.AUTO;
|
|
31
29
|
this.codeExecution = options.codeExecution ?? false;
|
|
@@ -45,7 +43,8 @@ export var GoogleNativeEngine;
|
|
|
45
43
|
vdm: this.vdm,
|
|
46
44
|
});
|
|
47
45
|
this.billing = new Billing({ pricing: this.pricing });
|
|
48
|
-
this.
|
|
46
|
+
this.structuringValidator = new GoogleNativeEngine.StructuringValidator({ choice: this.choice });
|
|
47
|
+
this.partsValidator = new GoogleNativeEngine.PartsValidator();
|
|
49
48
|
this.transport = new GoogleNativeTransport({
|
|
50
49
|
inferenceParams: this.inferenceParams,
|
|
51
50
|
providerSpec: this.providerSpec,
|
|
@@ -58,7 +57,6 @@ export var GoogleNativeEngine;
|
|
|
58
57
|
messageCodec: this.messageCodec,
|
|
59
58
|
toolCodec: this.toolCodec,
|
|
60
59
|
billing: this.billing,
|
|
61
|
-
validator: this.validator,
|
|
62
60
|
});
|
|
63
61
|
}
|
|
64
62
|
infer(wfctx, session, signal) {
|
|
@@ -77,7 +75,8 @@ export var GoogleNativeEngine;
|
|
|
77
75
|
}
|
|
78
76
|
GoogleNativeEngine.Instance = Instance;
|
|
79
77
|
GoogleNativeEngine.RoleMessage = SessionModule.RoleMessage;
|
|
80
|
-
GoogleNativeEngine.
|
|
78
|
+
GoogleNativeEngine.StructuringValidator = ValidationModule.StructuringValidator;
|
|
79
|
+
GoogleNativeEngine.PartsValidator = ValidationModule.PartsValidator;
|
|
81
80
|
GoogleNativeEngine.MessageCodec = MessageCodecModule.MessageCodec;
|
|
82
81
|
})(GoogleNativeEngine || (GoogleNativeEngine = {}));
|
|
83
82
|
//# sourceMappingURL=google.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/native-engines.d/google.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxG,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAQlE,MAAM,KAAW,kBAAkB,CAyGlC;AAzGD,WAAiB,kBAAkB;IAC/B,MAAa,QAGX,SAAQ,MAAM,CAAC,QAMhB;QACa,MAAM,CAAoC;QAC1C,aAAa,CAAU;QACvB,UAAU,CAAU;QACpB,YAAY,CAAU;QAEtB,SAAS,CAAiB;QAC1B,sBAAsB,CAAmC;QACzD,YAAY,CAA4C;QACxD,OAAO,CAAU;QACR,
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/native-engines.d/google.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ import { Throttle } from '../../throttle.ts';
|
|
|
7
7
|
import type { MessageCodec } from './message-codec.ts';
|
|
8
8
|
import type { ToolCodec } from '../../api-types/openai-responses/tool-codec.ts';
|
|
9
9
|
import type { Billing } from '../../api-types/openai-responses/billing.ts';
|
|
10
|
-
import type { Validator } from './validation.ts';
|
|
11
10
|
import type { Verbatim } from '../../verbatim.ts';
|
|
12
11
|
import { Structuring } from './structuring.ts';
|
|
13
12
|
export declare class Transport<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> {
|
|
@@ -25,11 +24,9 @@ export declare namespace Transport {
|
|
|
25
24
|
fdm: fdm;
|
|
26
25
|
throttle: Throttle;
|
|
27
26
|
choice: Structuring.Choice.From<fdm, vdm>;
|
|
28
|
-
parallelToolCall: boolean;
|
|
29
27
|
applyPatch: boolean;
|
|
30
28
|
messageCodec: MessageCodec<fdm, vdm>;
|
|
31
29
|
toolCodec: ToolCodec<fdm>;
|
|
32
30
|
billing: Billing;
|
|
33
|
-
validator: Validator.From<fdm, vdm>;
|
|
34
31
|
}
|
|
35
32
|
}
|
|
@@ -22,8 +22,7 @@ export class Transport {
|
|
|
22
22
|
instructions: session.developerMessage && this.ctx.messageCodec.encodeDeveloperMessage(session.developerMessage),
|
|
23
23
|
tools: tools.length ? tools : undefined,
|
|
24
24
|
tool_choice: tools.length ? ChoiceCodec.encode(this.ctx.choice) : undefined,
|
|
25
|
-
parallel_tool_calls: tools.length ? this.ctx.parallelToolCall : undefined,
|
|
26
|
-
max_output_tokens: this.ctx.inferenceParams.maxTokens,
|
|
25
|
+
parallel_tool_calls: tools.length ? this.ctx.inferenceParams.parallelToolCall : undefined,
|
|
27
26
|
...this.ctx.inferenceParams.additionalOptions,
|
|
28
27
|
};
|
|
29
28
|
}
|
|
@@ -44,7 +43,7 @@ export class Transport {
|
|
|
44
43
|
await this.ctx.throttle.requests(wfctx);
|
|
45
44
|
// Prepare request
|
|
46
45
|
const params = this.makeParams(session);
|
|
47
|
-
loggers.message.
|
|
46
|
+
loggers.message.debug(params);
|
|
48
47
|
// Send request
|
|
49
48
|
const res = await Undici.fetch(this.apiURL, {
|
|
50
49
|
method: 'POST',
|
|
@@ -53,7 +52,7 @@ export class Transport {
|
|
|
53
52
|
'Authorization': `Bearer ${this.ctx.providerSpec.apiKey}`,
|
|
54
53
|
},
|
|
55
54
|
body: JSON.stringify(params),
|
|
56
|
-
dispatcher: this.ctx.providerSpec.
|
|
55
|
+
dispatcher: this.ctx.providerSpec.dispatcher,
|
|
57
56
|
signal,
|
|
58
57
|
}).catch(e => {
|
|
59
58
|
if (e instanceof TypeError)
|
|
@@ -77,7 +76,7 @@ export class Transport {
|
|
|
77
76
|
throw new Error(res.statusText, { cause: res });
|
|
78
77
|
}
|
|
79
78
|
const response = await res.json();
|
|
80
|
-
loggers.message.
|
|
79
|
+
loggers.message.debug(response);
|
|
81
80
|
// Validate response
|
|
82
81
|
if (response.status === 'incomplete' && response.incomplete_details?.reason === 'max_output_tokens')
|
|
83
82
|
throw new ResponseInvalid('Token limit exceeded.', { cause: response });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAA2C,MAAM,iBAAiB,CAAC;AAIzG,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,14 @@ import { Function } from '../../function.ts';
|
|
|
3
3
|
import { Verbatim } from '../../verbatim.ts';
|
|
4
4
|
import { RoleMessage } from './session.ts';
|
|
5
5
|
import type { Engine } from '../../engine.ts';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
import { PartsValidator as CompatiblePartsValidator } from '../../compatible-engine/validation.ts';
|
|
7
|
+
export declare class StructuringValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.StructuringValidator<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>> {
|
|
8
|
+
protected ctx: StructuringValidator.Context<fdu, vdu>;
|
|
9
|
+
constructor(ctx: StructuringValidator.Context<fdu, vdu>);
|
|
10
|
+
validate(message: RoleMessage.Ai<fdu, vdu>): RoleMessage.User<fdu> | undefined;
|
|
11
11
|
}
|
|
12
|
-
export declare namespace
|
|
13
|
-
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> =
|
|
12
|
+
export declare namespace StructuringValidator {
|
|
13
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = StructuringValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
14
14
|
interface Context<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
|
|
15
15
|
choice: Structuring.Choice<fdu, vdu>;
|
|
16
16
|
}
|
|
@@ -18,3 +18,11 @@ export declare namespace Validator {
|
|
|
18
18
|
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Context<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
export declare class PartsValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.PartsValidator<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>> {
|
|
22
|
+
protected compatiblePartsValidator: CompatiblePartsValidator<fdu, vdu>;
|
|
23
|
+
constructor();
|
|
24
|
+
validate(message: RoleMessage.Ai<fdu, vdu>): void;
|
|
25
|
+
}
|
|
26
|
+
export declare namespace PartsValidator {
|
|
27
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = PartsValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
28
|
+
}
|