@zimtsui/typechat 0.0.106 → 0.0.107
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/README.md +0 -5
- package/assets/xml/instruction.md +19 -0
- package/assets/xml/quotation.handlebars +1 -0
- package/assets/xml/system.handlebars +1 -0
- package/build/adaptor.d.ts +6 -7
- package/build/adaptor.js.map +1 -1
- package/build/assets.d.ts +1 -3
- package/build/assets.js +4 -6
- package/build/assets.js.map +1 -1
- package/build/engine/message.d.ts +7 -15
- package/build/engine/message.js +4 -19
- package/build/engine/message.js.map +1 -1
- package/build/engine/middleware.d.ts +3 -4
- package/build/engine/parts-validator.d.ts +3 -4
- package/build/engine/parts-validator.js.map +1 -1
- package/build/engine/recoverable.d.ts +7 -8
- package/build/engine/recoverable.js.map +1 -1
- package/build/engine/session.d.ts +5 -6
- package/build/engine/tool-choice-validator.d.ts +14 -0
- package/build/engine/tool-choice-validator.js +44 -0
- package/build/engine/tool-choice-validator.js.map +1 -0
- package/build/engine/transport.d.ts +2 -3
- package/build/engine.d.ts +23 -26
- package/build/engine.js +12 -18
- package/build/engine.js.map +1 -1
- package/build/engines/anthropic/message-codec.d.ts +6 -9
- package/build/engines/anthropic/message-codec.js +2 -7
- package/build/engines/anthropic/message-codec.js.map +1 -1
- package/build/engines/anthropic/message.d.ts +2 -3
- package/build/engines/anthropic/message.js.map +1 -1
- package/build/engines/anthropic/tool-choice-codec.d.ts +3 -0
- package/build/engines/anthropic/tool-choice-codec.js +15 -0
- package/build/engines/anthropic/tool-choice-codec.js.map +1 -0
- package/build/engines/anthropic/transport.d.ts +10 -11
- package/build/engines/anthropic/transport.js +4 -4
- package/build/engines/anthropic/transport.js.map +1 -1
- package/build/engines/anthropic.d.ts +8 -9
- package/build/engines/anthropic.js +1 -2
- package/build/engines/anthropic.js.map +1 -1
- package/build/engines/google/message-codec.d.ts +6 -9
- package/build/engines/google/message-codec.js +3 -9
- package/build/engines/google/message-codec.js.map +1 -1
- package/build/engines/google/message.d.ts +3 -4
- package/build/engines/google/message.js +2 -2
- package/build/engines/google/message.js.map +1 -1
- package/build/engines/google/tool-choice-codec.d.ts +3 -0
- package/build/engines/google/tool-choice-codec.js +15 -0
- package/build/engines/google/tool-choice-codec.js.map +1 -0
- package/build/engines/google/transport.d.ts +9 -10
- package/build/engines/google/transport.js +4 -4
- package/build/engines/google/transport.js.map +1 -1
- package/build/engines/google.d.ts +15 -16
- package/build/engines/google.js +10 -18
- package/build/engines/google.js.map +1 -1
- package/build/engines/openai-chatcompletions/message-codec.d.ts +7 -10
- package/build/engines/openai-chatcompletions/message-codec.js +2 -7
- package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
- package/build/engines/openai-chatcompletions/tool-choice-codec.d.ts +3 -0
- package/build/engines/openai-chatcompletions/tool-choice-codec.js +14 -0
- package/build/engines/openai-chatcompletions/tool-choice-codec.js.map +1 -0
- package/build/engines/openai-chatcompletions/transport.d.ts +10 -11
- package/build/engines/openai-chatcompletions/transport.js +4 -4
- package/build/engines/openai-chatcompletions/transport.js.map +1 -1
- package/build/engines/openai-chatcompletions.d.ts +8 -9
- package/build/engines/openai-chatcompletions.js +1 -4
- package/build/engines/openai-chatcompletions.js.map +1 -1
- package/build/engines/openai-responses/message-codec.d.ts +6 -9
- package/build/engines/openai-responses/message-codec.js +2 -7
- package/build/engines/openai-responses/message-codec.js.map +1 -1
- package/build/engines/openai-responses/message.d.ts +2 -3
- package/build/engines/openai-responses/message.js.map +1 -1
- package/build/engines/openai-responses/tool-choice-codec.d.ts +3 -0
- package/build/engines/openai-responses/tool-choice-codec.js +14 -0
- package/build/engines/openai-responses/tool-choice-codec.js.map +1 -0
- package/build/engines/openai-responses/tool-choice-validator.d.ts +11 -0
- package/build/engines/openai-responses/tool-choice-validator.js +50 -0
- package/build/engines/openai-responses/tool-choice-validator.js.map +1 -0
- package/build/engines/openai-responses/transport.d.ts +10 -11
- package/build/engines/openai-responses/transport.js +4 -4
- package/build/engines/openai-responses/transport.js.map +1 -1
- package/build/engines/openai-responses.d.ts +16 -17
- package/build/engines/openai-responses.js +10 -18
- package/build/engines/openai-responses.js.map +1 -1
- package/build/exports.d.ts +2 -2
- package/build/exports.js +2 -2
- package/build/exports.js.map +1 -1
- package/build/function.d.ts +3 -2
- package/build/function.js.map +1 -1
- package/build/media.js +2 -2
- package/build/media.js.map +1 -1
- package/build/tool-choice.d.ts +7 -0
- package/build/tool-choice.js +8 -0
- package/build/tool-choice.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/xml/helpers.js.map +1 -0
- package/build/{verbatim/codec → xml}/quotation.js +2 -2
- package/build/xml/quotation.js.map +1 -0
- package/build/xml/system.js +7 -0
- package/build/xml/system.js.map +1 -0
- package/build/xml.d.ts +2 -0
- package/build/xml.js +3 -0
- package/build/xml.js.map +1 -0
- package/package.json +2 -2
- package/assets/verbatim/declarations.handlebars +0 -12
- package/assets/verbatim/instruction.md +0 -55
- package/assets/verbatim/quotation.handlebars +0 -1
- package/assets/verbatim/response.handlebars +0 -1
- package/assets/verbatim/system.handlebars +0 -1
- package/build/engine/structuring-validator.d.ts +0 -15
- package/build/engine/structuring-validator.js +0 -77
- package/build/engine/structuring-validator.js.map +0 -1
- package/build/engines/anthropic/structuring-choice-codec.d.ts +0 -5
- package/build/engines/anthropic/structuring-choice-codec.js +0 -23
- package/build/engines/anthropic/structuring-choice-codec.js.map +0 -1
- package/build/engines/google/structuring-choice-codec.d.ts +0 -5
- package/build/engines/google/structuring-choice-codec.js +0 -23
- package/build/engines/google/structuring-choice-codec.js.map +0 -1
- package/build/engines/openai-chatcompletions/structuring-choice-codec.d.ts +0 -5
- package/build/engines/openai-chatcompletions/structuring-choice-codec.js +0 -22
- package/build/engines/openai-chatcompletions/structuring-choice-codec.js.map +0 -1
- package/build/engines/openai-responses/structuring-choice-codec.d.ts +0 -3
- package/build/engines/openai-responses/structuring-choice-codec.js +0 -22
- package/build/engines/openai-responses/structuring-choice-codec.js.map +0 -1
- package/build/engines/openai-responses/structuring-validator.d.ts +0 -12
- package/build/engines/openai-responses/structuring-validator.js +0 -83
- package/build/engines/openai-responses/structuring-validator.js.map +0 -1
- package/build/structuring-choice.d.ts +0 -15
- package/build/structuring-choice.js +0 -18
- package/build/structuring-choice.js.map +0 -1
- package/build/verbatim/codec/declarations.d.ts +0 -2
- package/build/verbatim/codec/declarations.js +0 -25
- package/build/verbatim/codec/declarations.js.map +0 -1
- package/build/verbatim/codec/helpers.js.map +0 -1
- package/build/verbatim/codec/quotation.js.map +0 -1
- package/build/verbatim/codec/request.d.ts +0 -11
- package/build/verbatim/codec/request.js +0 -81
- package/build/verbatim/codec/request.js.map +0 -1
- package/build/verbatim/codec/response.d.ts +0 -2
- package/build/verbatim/codec/response.js +0 -7
- package/build/verbatim/codec/response.js.map +0 -1
- package/build/verbatim/codec/system.js +0 -7
- package/build/verbatim/codec/system.js.map +0 -1
- package/build/verbatim/codec.d.ts +0 -5
- package/build/verbatim/codec.js +0 -6
- package/build/verbatim/codec.js.map +0 -1
- package/build/verbatim.d.ts +0 -76
- package/build/verbatim.js +0 -17
- package/build/verbatim.js.map +0 -1
- /package/build/{verbatim/codec → xml}/helpers.d.ts +0 -0
- /package/build/{verbatim/codec → xml}/helpers.js +0 -0
- /package/build/{verbatim/codec → xml}/quotation.d.ts +0 -0
- /package/build/{verbatim/codec → xml}/system.d.ts +0 -0
|
@@ -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 'required';
|
|
7
|
+
else if (toolChoice === ToolChoice.ANYONE)
|
|
8
|
+
return 'required';
|
|
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/openai-responses/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,UAAU,CAAC;SAC1D,IAAI,UAAU,KAAK,UAAU,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;SACxD,IAAI,UAAU,KAAK,UAAU,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;;QAClD,MAAM,IAAI,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Function } from '../../function.ts';
|
|
2
|
+
import { RoleMessage } from './message.ts';
|
|
3
|
+
import { Engine } from '../../engine.ts';
|
|
4
|
+
export declare class ToolChoiceValidator<in out fdu extends Function.Decl.Proto> extends Engine.ToolChoiceValidator<fdu> {
|
|
5
|
+
constructor(options: ToolChoiceValidator.Options);
|
|
6
|
+
validate(aiMessage: RoleMessage.Ai<fdu>): RoleMessage.User<fdu> | void;
|
|
7
|
+
}
|
|
8
|
+
export declare namespace ToolChoiceValidator {
|
|
9
|
+
type From<fdm extends Function.Decl.Map.Proto> = ToolChoiceValidator<Function.Decl.From<fdm>>;
|
|
10
|
+
type Options = Engine.ToolChoiceValidator.Options;
|
|
11
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Function } from "../../function.js";
|
|
2
|
+
import { RoleMessage } from "./message.js";
|
|
3
|
+
import * as XmlCodec from "../../xml.js";
|
|
4
|
+
import { ToolChoice } from "../../tool-choice.js";
|
|
5
|
+
import { Engine } from "../../engine.js";
|
|
6
|
+
import { Tool } from "./tool.js";
|
|
7
|
+
export class ToolChoiceValidator extends Engine.ToolChoiceValidator {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super(options);
|
|
10
|
+
}
|
|
11
|
+
validate(aiMessage) {
|
|
12
|
+
const tcalls = aiMessage.getToolCalls();
|
|
13
|
+
const tress = tcalls.map(tcall => tcall instanceof Tool.ApplyPatch.Call
|
|
14
|
+
? new Tool.ApplyPatch.Response({
|
|
15
|
+
id: tcall.raw.call_id,
|
|
16
|
+
failure: XmlCodec.System.encode('Cancelled by system.'),
|
|
17
|
+
})
|
|
18
|
+
: Function.Response.Failed.of({
|
|
19
|
+
id: tcall.id,
|
|
20
|
+
name: tcall.name,
|
|
21
|
+
error: XmlCodec.System.encode('Cancelled by system.'),
|
|
22
|
+
}));
|
|
23
|
+
if (this.toolChoice === ToolChoice.REQUIRED) {
|
|
24
|
+
if (tcalls.length) { }
|
|
25
|
+
else
|
|
26
|
+
return new RoleMessage.User([
|
|
27
|
+
RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: Tool call required, but not found.`)),
|
|
28
|
+
]);
|
|
29
|
+
}
|
|
30
|
+
else if (this.toolChoice === ToolChoice.ANYONE) {
|
|
31
|
+
if (tcalls.length) { }
|
|
32
|
+
else
|
|
33
|
+
return new RoleMessage.User([
|
|
34
|
+
RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: Tool call required, but not found.`)),
|
|
35
|
+
]);
|
|
36
|
+
if (tcalls.length > 1)
|
|
37
|
+
return new RoleMessage.User([
|
|
38
|
+
...tress,
|
|
39
|
+
RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: Only 1 tool call allowed, but multiple found.`)),
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
else if (this.toolChoice === ToolChoice.NONE) {
|
|
43
|
+
if (tcalls.length)
|
|
44
|
+
return new RoleMessage.User([
|
|
45
|
+
RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: No tool call allowed.`)),
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=tool-choice-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-choice-validator.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/tool-choice-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,OAAO,mBAEX,SAAQ,MAAM,CAAC,mBAAwB;IACrC,YAAmB,OAAoC;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEe,QAAQ,CACpB,SAA8B;QAE9B,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CACpB,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI;YAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC3B,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO;gBACrB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;aAC1D,CAAC;YACF,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;aACZ,CAAC,CACrD,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;gBACjB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAQ;oBAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,2CAA2C,CAAC,CACtE;iBACJ,CAAC,CAAC;QAEX,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;gBACjB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAQ;oBAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,2CAA2C,CAAC,CACtE;iBACJ,CAAC,CAAC;YACP,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAM;oBAC7B,GAAG,KAAK;oBACR,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,sDAAsD,CAAC,CACjF;iBACJ,CAAC,CAAC;QAEX,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,MAAM;gBACb,OAAO,IAAI,WAAW,CAAC,IAAI,CAAM;oBAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CACzD;iBACJ,CAAC,CAAC;QACX,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -8,34 +8,33 @@ import { Throttle } from '../../throttle.ts';
|
|
|
8
8
|
import type { MessageCodec } from './message-codec.ts';
|
|
9
9
|
import type { ToolCodec } from './tool-codec.ts';
|
|
10
10
|
import type { Billing } from './billing.ts';
|
|
11
|
-
import
|
|
12
|
-
import { StructuringChoice } from '../../structuring-choice.ts';
|
|
11
|
+
import { ToolChoice } from '../../tool-choice.ts';
|
|
13
12
|
import type { Engine } from '../../engine.ts';
|
|
14
|
-
export declare class Transport<in out fdm extends Function.Decl.Map.Proto
|
|
13
|
+
export declare class Transport<in out fdm extends Function.Decl.Map.Proto> implements Engine.Transport<fdm> {
|
|
15
14
|
protected client: OpenAI;
|
|
16
15
|
protected inferenceParams: InferenceOptions;
|
|
17
16
|
protected providerSpec: ProviderSpecs;
|
|
18
17
|
protected fdm: fdm;
|
|
19
18
|
protected throttle: Throttle;
|
|
20
|
-
protected
|
|
19
|
+
protected toolChoice: ToolChoice;
|
|
21
20
|
protected applyPatch: boolean;
|
|
22
|
-
protected messageCodec: MessageCodec<fdm
|
|
21
|
+
protected messageCodec: MessageCodec<fdm>;
|
|
23
22
|
protected toolCodec: ToolCodec<fdm>;
|
|
24
23
|
protected billing: Billing;
|
|
25
|
-
constructor(options: Transport.Options<fdm
|
|
26
|
-
protected makeParams(session: Session.From<fdm
|
|
24
|
+
constructor(options: Transport.Options<fdm>);
|
|
25
|
+
protected makeParams(session: Session.From<fdm>): OpenAI.Responses.ResponseCreateParamsStreaming;
|
|
27
26
|
protected logAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): void;
|
|
28
|
-
fetch(wfctx: InferenceContext, session: Session.From<fdm
|
|
27
|
+
fetch(wfctx: InferenceContext, session: Session.From<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm>>;
|
|
29
28
|
}
|
|
30
29
|
export declare namespace Transport {
|
|
31
|
-
interface Options<in out fdm extends Function.Decl.Map.Proto
|
|
30
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto> {
|
|
32
31
|
inferenceParams: InferenceOptions;
|
|
33
32
|
providerSpec: ProviderSpecs;
|
|
34
33
|
fdm: fdm;
|
|
35
34
|
throttle: Throttle;
|
|
36
|
-
|
|
35
|
+
toolChoice: ToolChoice;
|
|
37
36
|
applyPatch: boolean;
|
|
38
|
-
messageCodec: MessageCodec<fdm
|
|
37
|
+
messageCodec: MessageCodec<fdm>;
|
|
39
38
|
toolCodec: ToolCodec<fdm>;
|
|
40
39
|
billing: Billing;
|
|
41
40
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
2
|
import { loggers } from "../../telemetry.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as ToolChoiceCodec from "./tool-choice-codec.js";
|
|
4
4
|
import * as Undici from 'undici';
|
|
5
5
|
export class Transport {
|
|
6
6
|
client;
|
|
@@ -8,7 +8,7 @@ export class Transport {
|
|
|
8
8
|
providerSpec;
|
|
9
9
|
fdm;
|
|
10
10
|
throttle;
|
|
11
|
-
|
|
11
|
+
toolChoice;
|
|
12
12
|
applyPatch;
|
|
13
13
|
messageCodec;
|
|
14
14
|
toolCodec;
|
|
@@ -24,7 +24,7 @@ export class Transport {
|
|
|
24
24
|
this.providerSpec = options.providerSpec;
|
|
25
25
|
this.fdm = options.fdm;
|
|
26
26
|
this.throttle = options.throttle;
|
|
27
|
-
this.
|
|
27
|
+
this.toolChoice = options.toolChoice;
|
|
28
28
|
this.applyPatch = options.applyPatch;
|
|
29
29
|
this.messageCodec = options.messageCodec;
|
|
30
30
|
this.toolCodec = options.toolCodec;
|
|
@@ -42,7 +42,7 @@ export class Transport {
|
|
|
42
42
|
input: session.chatMessages.flatMap(chatMessage => this.messageCodec.encodeChatMessage(chatMessage)),
|
|
43
43
|
instructions: session.developerMessage && this.messageCodec.encodeDeveloperMessage(session.developerMessage),
|
|
44
44
|
tools: tools.length ? tools : undefined,
|
|
45
|
-
tool_choice: tools.length ?
|
|
45
|
+
tool_choice: tools.length ? ToolChoiceCodec.encode(this.toolChoice) : undefined,
|
|
46
46
|
parallel_tool_calls: tools.length ? this.inferenceParams.parallelToolCall : undefined,
|
|
47
47
|
...this.inferenceParams.additionalOptions,
|
|
48
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/transport.ts"],"names":[],"mappings":"AAIA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,43 @@
|
|
|
1
1
|
import { Engine, Middleware } from '../engine.ts';
|
|
2
2
|
import { Function } from '../function.ts';
|
|
3
|
-
import { Verbatim } from '../verbatim.ts';
|
|
4
3
|
import { MessageCodec } from './openai-responses/message-codec.ts';
|
|
5
4
|
import { ToolCodec } from './openai-responses/tool-codec.ts';
|
|
6
5
|
import { Billing } from './openai-responses/billing.ts';
|
|
7
|
-
import {
|
|
6
|
+
import { ToolChoiceValidator } from './openai-responses/tool-choice-validator.ts';
|
|
8
7
|
import { Transport } from './openai-responses/transport.ts';
|
|
9
8
|
import { InferenceContext } from '../inference-context.ts';
|
|
10
9
|
import { Session } from '../engine/session.ts';
|
|
11
10
|
import * as MessageModule from './openai-responses/message.ts';
|
|
12
11
|
import * as ToolModule from './openai-responses/tool.ts';
|
|
13
|
-
export type OpenAIResponsesEngine<fdm extends Function.Decl.Map.Proto
|
|
12
|
+
export type OpenAIResponsesEngine<fdm extends Function.Decl.Map.Proto> = OpenAIResponsesEngine.Instance<fdm>;
|
|
14
13
|
export declare namespace OpenAIResponsesEngine {
|
|
15
|
-
class Instance<in out fdm extends Function.Decl.Map.Proto
|
|
16
|
-
protected options: OpenAIResponsesEngine.Options<fdm
|
|
14
|
+
class Instance<in out fdm extends Function.Decl.Map.Proto> extends Engine.Instance<fdm> {
|
|
15
|
+
protected options: OpenAIResponsesEngine.Options<fdm>;
|
|
17
16
|
protected toolCodec: ToolCodec<fdm>;
|
|
18
|
-
protected messageCodec: MessageCodec<fdm
|
|
17
|
+
protected messageCodec: MessageCodec<fdm>;
|
|
19
18
|
protected billing: Billing;
|
|
20
|
-
protected transport: Transport<fdm
|
|
21
|
-
protected
|
|
19
|
+
protected transport: Transport<fdm>;
|
|
20
|
+
protected toolChoiceValidator: ToolChoiceValidator.From<fdm>;
|
|
22
21
|
protected applyPatch: boolean;
|
|
23
|
-
constructor(options: OpenAIResponsesEngine.Options<fdm
|
|
24
|
-
clone(): OpenAIResponsesEngine<fdm
|
|
22
|
+
constructor(options: OpenAIResponsesEngine.Options<fdm>);
|
|
23
|
+
clone(): OpenAIResponsesEngine<fdm>;
|
|
25
24
|
/**
|
|
26
25
|
* @throws {@link InferenceTimeout} 推理超时
|
|
27
26
|
* @throws {@link SyntaxError} 模型抽风
|
|
28
27
|
* @throws {@link Recoverable} 模型抽风但可恢复
|
|
29
28
|
* @throws {@link TypeError} 网络故障
|
|
30
29
|
*/
|
|
31
|
-
protected infer(wfctx: InferenceContext, session: Session.From<fdm
|
|
32
|
-
stateless(wfctx: InferenceContext, session: Session.From<fdm
|
|
33
|
-
stateful(wfctx: InferenceContext, session: Session.From<fdm
|
|
34
|
-
useStateless(middleware: Middleware.From<fdm
|
|
35
|
-
useStateful(middleware: Middleware.From<fdm
|
|
30
|
+
protected infer(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
31
|
+
stateless(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
32
|
+
stateful(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
|
|
33
|
+
useStateless(middleware: Middleware.From<fdm>): OpenAIResponsesEngine<fdm>;
|
|
34
|
+
useStateful(middleware: Middleware.From<fdm>): OpenAIResponsesEngine<fdm>;
|
|
36
35
|
/**
|
|
37
36
|
* @param session mutable
|
|
38
37
|
*/
|
|
39
|
-
agentloop(wfctx: InferenceContext, session: Session.From<fdm
|
|
38
|
+
agentloop(wfctx: InferenceContext, session: Session.From<fdm>, fnm: Function.Map<fdm>, limit?: number, applyPatch?: Tool.ApplyPatch): AsyncGenerator<string, string, void>;
|
|
40
39
|
}
|
|
41
|
-
interface Options<in out fdm extends Function.Decl.Map.Proto
|
|
40
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto> extends Engine.Options<fdm> {
|
|
42
41
|
applyPatch?: boolean;
|
|
43
42
|
}
|
|
44
43
|
const create: Engine.Create;
|
|
@@ -3,7 +3,7 @@ import { Function } from "../function.js";
|
|
|
3
3
|
import { MessageCodec } from "./openai-responses/message-codec.js";
|
|
4
4
|
import { ToolCodec } from "./openai-responses/tool-codec.js";
|
|
5
5
|
import { Billing } from "./openai-responses/billing.js";
|
|
6
|
-
import {
|
|
6
|
+
import { ToolChoiceValidator } from "./openai-responses/tool-choice-validator.js";
|
|
7
7
|
import { Transport } from "./openai-responses/transport.js";
|
|
8
8
|
import * as MessageModule from "./openai-responses/message.js";
|
|
9
9
|
import * as ToolModule from "./openai-responses/tool.js";
|
|
@@ -16,7 +16,7 @@ export var OpenAIResponsesEngine;
|
|
|
16
16
|
messageCodec;
|
|
17
17
|
billing;
|
|
18
18
|
transport;
|
|
19
|
-
|
|
19
|
+
toolChoiceValidator;
|
|
20
20
|
applyPatch;
|
|
21
21
|
constructor(options) {
|
|
22
22
|
super(options);
|
|
@@ -25,7 +25,6 @@ export var OpenAIResponsesEngine;
|
|
|
25
25
|
this.toolCodec = new ToolCodec({ fdm: this.fdm });
|
|
26
26
|
this.messageCodec = new MessageCodec({
|
|
27
27
|
toolCodec: this.toolCodec,
|
|
28
|
-
vdm: this.vdm,
|
|
29
28
|
});
|
|
30
29
|
this.billing = new Billing({ pricing: this.pricing });
|
|
31
30
|
this.transport = new Transport({
|
|
@@ -33,13 +32,13 @@ export var OpenAIResponsesEngine;
|
|
|
33
32
|
providerSpec: this.providerSpecs,
|
|
34
33
|
fdm: this.fdm,
|
|
35
34
|
throttle: this.throttle,
|
|
36
|
-
|
|
35
|
+
toolChoice: this.toolChoice,
|
|
37
36
|
applyPatch: this.applyPatch,
|
|
38
37
|
messageCodec: this.messageCodec,
|
|
39
38
|
toolCodec: this.toolCodec,
|
|
40
39
|
billing: this.billing,
|
|
41
40
|
});
|
|
42
|
-
this.
|
|
41
|
+
this.toolChoiceValidator = new ToolChoiceValidator({ toolChoice: this.toolChoice });
|
|
43
42
|
}
|
|
44
43
|
clone() {
|
|
45
44
|
const engine = new OpenAIResponsesEngine.Instance(this.options);
|
|
@@ -79,22 +78,16 @@ export var OpenAIResponsesEngine;
|
|
|
79
78
|
/**
|
|
80
79
|
* @param session mutable
|
|
81
80
|
*/
|
|
82
|
-
async *agentloop(wfctx, session, fnm,
|
|
81
|
+
async *agentloop(wfctx, session, fnm, limit = Number.POSITIVE_INFINITY, applyPatch) {
|
|
83
82
|
for (let i = 0; i < limit; i++) {
|
|
84
83
|
const response = await this.stateful(wfctx, session);
|
|
85
|
-
if (response.
|
|
86
|
-
return response.
|
|
84
|
+
if (response.allText())
|
|
85
|
+
return response.getText();
|
|
87
86
|
const pfress = [];
|
|
88
|
-
const pvress = [];
|
|
89
87
|
const papress = [];
|
|
90
88
|
for (const part of response.getParts()) {
|
|
91
89
|
if (part instanceof Engine.RoleMessage.Ai.Part.Text) {
|
|
92
|
-
|
|
93
|
-
yield textPart.text;
|
|
94
|
-
for (const vreq of textPart.vreqs) {
|
|
95
|
-
const vh = vhm[vreq.name];
|
|
96
|
-
pvress.push((async () => new OpenAIResponsesEngine.RoleMessage.User.Part.Text(await vh.call(vhm, vreq.args)))());
|
|
97
|
-
}
|
|
90
|
+
yield part.text;
|
|
98
91
|
}
|
|
99
92
|
else if (part instanceof Function.Call) {
|
|
100
93
|
const fcall = part;
|
|
@@ -104,7 +97,7 @@ export var OpenAIResponsesEngine;
|
|
|
104
97
|
return Function.Response.Successful.of({
|
|
105
98
|
id: fcall.id,
|
|
106
99
|
name: fcall.name,
|
|
107
|
-
text: await f.call(fnm, fcall.args),
|
|
100
|
+
text: await f.call(fnm, fcall.args, fcall),
|
|
108
101
|
});
|
|
109
102
|
}
|
|
110
103
|
catch (e) {
|
|
@@ -132,9 +125,8 @@ export var OpenAIResponsesEngine;
|
|
|
132
125
|
throw new Error();
|
|
133
126
|
}
|
|
134
127
|
const fress = await Promise.all(pfress);
|
|
135
|
-
const vress = await Promise.all(pvress);
|
|
136
128
|
const aprs = await Promise.all(papress);
|
|
137
|
-
session.chatMessages.push(new OpenAIResponsesEngine.RoleMessage.User([...fress, ...aprs
|
|
129
|
+
session.chatMessages.push(new OpenAIResponsesEngine.RoleMessage.User([...fress, ...aprs]));
|
|
138
130
|
}
|
|
139
131
|
throw new Engine.FunctionCallLimitExceeded('Function call limit exceeded.');
|
|
140
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/engines/openai-responses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/engines/openai-responses.ts"],"names":[],"mappings":"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"}
|
package/build/exports.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * from './adaptor.ts';
|
|
2
2
|
export * from './function.ts';
|
|
3
|
-
export * from './
|
|
3
|
+
export * from './xml.ts';
|
|
4
4
|
export * from './config.ts';
|
|
5
5
|
export * from './inference-context.ts';
|
|
6
6
|
export * from './endpoint-spec.ts';
|
|
7
7
|
export * from './engine.ts';
|
|
8
8
|
export * from './media.ts';
|
|
9
|
-
export * from './
|
|
9
|
+
export * from './tool-choice.ts';
|
|
10
10
|
export * from './engines/google.ts';
|
|
11
11
|
export * from './engines/openai-responses.ts';
|
|
12
12
|
export * from './engines/openai-chatcompletions.ts';
|
package/build/exports.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * from "./adaptor.js";
|
|
2
2
|
export * from "./function.js";
|
|
3
|
-
export * from "./
|
|
3
|
+
export * from "./xml.js";
|
|
4
4
|
export * from "./config.js";
|
|
5
5
|
export * from "./inference-context.js";
|
|
6
6
|
export * from "./endpoint-spec.js";
|
|
7
7
|
export * from "./engine.js";
|
|
8
8
|
export * from "./media.js";
|
|
9
|
-
export * from "./
|
|
9
|
+
export * from "./tool-choice.js";
|
|
10
10
|
export * from "./engines/google.js";
|
|
11
11
|
export * from "./engines/openai-responses.js";
|
|
12
12
|
export * from "./engines/openai-chatcompletions.js";
|
package/build/exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC"}
|
package/build/function.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Static, type TObject, type TSchema } from 'typebox';
|
|
2
2
|
declare const NOMINAL: unique symbol;
|
|
3
3
|
export interface Function<in out fd extends Function.Decl.Proto> {
|
|
4
|
-
(params: Static<fd['parameters']>): Promise<string>;
|
|
4
|
+
(params: Static<fd['parameters']>, fcall: Function.Call<fd>): Promise<string>;
|
|
5
5
|
}
|
|
6
6
|
export declare namespace Function {
|
|
7
7
|
namespace Name {
|
|
@@ -9,6 +9,7 @@ export declare namespace Function {
|
|
|
9
9
|
}
|
|
10
10
|
type Extract<fdm extends Function.Decl.Map.Proto, nameu extends Function.Name.From<fdm>> = Function.Of<Function.Decl.Extract<fdm, nameu>>;
|
|
11
11
|
type Of<fdu extends Function.Decl.Proto> = fdu extends infer fd extends Function.Decl.Proto ? Function<fd> : never;
|
|
12
|
+
type From<fdm extends Function.Decl.Map.Proto> = Function.Of<Function.Decl.From<fdm>>;
|
|
12
13
|
interface Decl<in out name extends string, in out params extends Function.Decl.Params.Proto> extends Function.Decl.Body<params> {
|
|
13
14
|
name: name;
|
|
14
15
|
}
|
|
@@ -98,7 +99,7 @@ export declare namespace Function {
|
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
type Map<fdm extends Function.Decl.Map.Proto> = {
|
|
101
|
-
[name in Function.Name.From<fdm>]: Function<Function.Decl.Extract<fdm, name>>;
|
|
102
|
+
[name in Function.Name.From<fdm>]: Function.Of<Function.Decl.Extract<fdm, name>>;
|
|
102
103
|
};
|
|
103
104
|
class Error extends globalThis.Error {
|
|
104
105
|
}
|
package/build/function.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAMzB,MAAM,KAAW,QAAQ,
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAMzB,MAAM,KAAW,QAAQ,CAiNxB;AAjND,WAAiB,QAAQ;IAsFrB,MAAa,IAAI;QAEN,EAAE,CAAU;QACZ,IAAI,CAAa;QACjB,IAAI,CAA2B;QACtC,YAAsB,KAA4B;YAC9C,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QACM,MAAM,CAAC,EAAE,CACZ,KAAoC;YAEpC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAA0B,CAAC;QAC7D,CAAC;KAEJ;IAhBY,aAAI,OAgBhB,CAAA;IAqBD,MAAsB,QAAQ;QACnB,EAAE,CAAU;QACZ,IAAI,CAAa;QACxB,YAAsB,IAAwC;YAC1D,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;KACJ;IAPqB,iBAAQ,WAO7B,CAAA;IACD,WAAiB,QAAQ;QAQrB,MAAa,UAAkD,SAAQ,QAAQ,CAAC,QAAY;YAEjF,IAAI,CAAS;YACpB,YAAsB,IAA8C;gBAChE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,CAAC;YACM,MAAM,CAAC,EAAE,CACZ,IAAkD;gBAElD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAyC,CAAC;YAC1F,CAAC;SACJ;QAZY,mBAAU,aAYtB,CAAA;QAoBD,MAAa,MAA8C,SAAQ,QAAQ,CAAC,QAAY;YAE7E,KAAK,CAAS;YACrB,YAAsB,IAA0C;gBAC5D,KAAK,CAAC,IAAI,CAAC,CAAC;gBACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,CAAC;YACM,MAAM,CAAC,EAAE,CACZ,IAA8C;gBAE9C,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAqC,CAAC;YAClF,CAAC;SACJ;QAZY,eAAM,SAYlB,CAAA;IAmBL,CAAC,EAvEgB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QAuExB;IAMD,MAAa,KAAM,SAAQ,UAAU,CAAC,KAAK;KAAG;IAAjC,cAAK,QAA4B,CAAA;AAClD,CAAC,EAjNgB,QAAQ,KAAR,QAAQ,QAiNxB"}
|
package/build/media.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as XmlCodec from "./xml.js";
|
|
2
2
|
import { MIMEType } from 'whatwg-mimetype';
|
|
3
3
|
const NOMINAL = Symbol();
|
|
4
4
|
export class Media {
|
|
@@ -40,7 +40,7 @@ export class Media {
|
|
|
40
40
|
this.text = options.text;
|
|
41
41
|
}
|
|
42
42
|
quote() {
|
|
43
|
-
return
|
|
43
|
+
return XmlCodec.Quotation.encode(this.mimeType, this.text);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
Media.Text = Text;
|
package/build/media.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,OAAgB,KAAK;CAG1B;AAED,WAAiB,KAAK;IAClB,MAAa,KAAM,SAAQ,KAAK;QACZ,QAAQ,CAAW;QAC5B,MAAM,CAAS;QACf,UAAU,CAAyB;QAC1C,YAAmB,OAA4B;YAC3C,KAAK,EAAE,CAAC;YACR,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA,CAAC;;gBACrC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACzC,CAAC;KACJ;IAZY,WAAK,QAYjB,CAAA;IAeD,MAAa,GAAI,SAAQ,KAAK;QAEA;QADV,QAAQ,GAAG,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC3D,YAA0B,MAAc;YACpC,KAAK,EAAE,CAAC;YADc,WAAM,GAAN,MAAM,CAAQ;QAExC,CAAC;KACJ;IALY,SAAG,MAKf,CAAA;IAED,MAAa,IAAK,SAAQ,KAAK;QACX,QAAQ,CAAW;QAC5B,IAAI,CAAS;QACpB,YAAmB,OAA2B;YAC1C,KAAK,EAAE,CAAC;YACR,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAA,CAAC;;gBACpC,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,CAAC;QAEM,KAAK;YACR,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;KACJ;IAdY,UAAI,OAchB,CAAA;AAOL,CAAC,EAxDgB,KAAK,KAAL,KAAK,QAwDrB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type ToolChoice = typeof ToolChoice.NONE | typeof ToolChoice.AUTO | typeof ToolChoice.REQUIRED | typeof ToolChoice.ANYONE;
|
|
2
|
+
export declare namespace ToolChoice {
|
|
3
|
+
const REQUIRED: unique symbol;
|
|
4
|
+
const ANYONE: unique symbol;
|
|
5
|
+
const NONE: unique symbol;
|
|
6
|
+
const AUTO: unique symbol;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-choice.js","sourceRoot":"","sources":["../src/tool-choice.ts"],"names":[],"mappings":"AASA,MAAM,KAAW,UAAU,CAK1B;AALD,WAAiB,UAAU;IACV,mBAAQ,GAAG,MAAM,EAAE,CAAC;IACpB,iBAAM,GAAG,MAAM,EAAE,CAAC;IAClB,eAAI,GAAG,MAAM,EAAE,CAAC;IAChB,eAAI,GAAG,MAAM,EAAE,CAAC;AACjC,CAAC,EALgB,UAAU,KAAV,UAAU,QAK1B"}
|