@zimtsui/typechat 0.0.106 → 0.0.108

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.
Files changed (152) hide show
  1. package/README.md +0 -5
  2. package/assets/xml/instruction.md +19 -0
  3. package/assets/xml/quotation.handlebars +1 -0
  4. package/assets/xml/system.handlebars +1 -0
  5. package/build/adaptor.d.ts +6 -7
  6. package/build/adaptor.js.map +1 -1
  7. package/build/assets.d.ts +1 -3
  8. package/build/assets.js +4 -6
  9. package/build/assets.js.map +1 -1
  10. package/build/engine/message.d.ts +7 -15
  11. package/build/engine/message.js +4 -19
  12. package/build/engine/message.js.map +1 -1
  13. package/build/engine/middleware.d.ts +3 -4
  14. package/build/engine/parts-validator.d.ts +3 -4
  15. package/build/engine/parts-validator.js.map +1 -1
  16. package/build/engine/recoverable.d.ts +7 -8
  17. package/build/engine/recoverable.js.map +1 -1
  18. package/build/engine/session.d.ts +5 -6
  19. package/build/engine/tool-choice-validator.d.ts +14 -0
  20. package/build/engine/tool-choice-validator.js +44 -0
  21. package/build/engine/tool-choice-validator.js.map +1 -0
  22. package/build/engine/transport.d.ts +2 -3
  23. package/build/engine.d.ts +23 -26
  24. package/build/engine.js +12 -18
  25. package/build/engine.js.map +1 -1
  26. package/build/engines/anthropic/message-codec.d.ts +6 -9
  27. package/build/engines/anthropic/message-codec.js +2 -7
  28. package/build/engines/anthropic/message-codec.js.map +1 -1
  29. package/build/engines/anthropic/message.d.ts +2 -3
  30. package/build/engines/anthropic/message.js.map +1 -1
  31. package/build/engines/anthropic/tool-choice-codec.d.ts +3 -0
  32. package/build/engines/anthropic/tool-choice-codec.js +15 -0
  33. package/build/engines/anthropic/tool-choice-codec.js.map +1 -0
  34. package/build/engines/anthropic/transport.d.ts +10 -11
  35. package/build/engines/anthropic/transport.js +4 -4
  36. package/build/engines/anthropic/transport.js.map +1 -1
  37. package/build/engines/anthropic.d.ts +8 -9
  38. package/build/engines/anthropic.js +1 -2
  39. package/build/engines/anthropic.js.map +1 -1
  40. package/build/engines/google/message-codec.d.ts +6 -9
  41. package/build/engines/google/message-codec.js +3 -9
  42. package/build/engines/google/message-codec.js.map +1 -1
  43. package/build/engines/google/message.d.ts +3 -4
  44. package/build/engines/google/message.js +2 -2
  45. package/build/engines/google/message.js.map +1 -1
  46. package/build/engines/google/tool-choice-codec.d.ts +3 -0
  47. package/build/engines/google/tool-choice-codec.js +15 -0
  48. package/build/engines/google/tool-choice-codec.js.map +1 -0
  49. package/build/engines/google/transport.d.ts +9 -10
  50. package/build/engines/google/transport.js +4 -4
  51. package/build/engines/google/transport.js.map +1 -1
  52. package/build/engines/google.d.ts +15 -16
  53. package/build/engines/google.js +10 -18
  54. package/build/engines/google.js.map +1 -1
  55. package/build/engines/openai-chatcompletions/message-codec.d.ts +7 -10
  56. package/build/engines/openai-chatcompletions/message-codec.js +2 -7
  57. package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
  58. package/build/engines/openai-chatcompletions/tool-choice-codec.d.ts +3 -0
  59. package/build/engines/openai-chatcompletions/tool-choice-codec.js +14 -0
  60. package/build/engines/openai-chatcompletions/tool-choice-codec.js.map +1 -0
  61. package/build/engines/openai-chatcompletions/transport.d.ts +10 -11
  62. package/build/engines/openai-chatcompletions/transport.js +4 -4
  63. package/build/engines/openai-chatcompletions/transport.js.map +1 -1
  64. package/build/engines/openai-chatcompletions.d.ts +8 -9
  65. package/build/engines/openai-chatcompletions.js +1 -4
  66. package/build/engines/openai-chatcompletions.js.map +1 -1
  67. package/build/engines/openai-responses/message-codec.d.ts +6 -9
  68. package/build/engines/openai-responses/message-codec.js +2 -7
  69. package/build/engines/openai-responses/message-codec.js.map +1 -1
  70. package/build/engines/openai-responses/message.d.ts +2 -3
  71. package/build/engines/openai-responses/message.js.map +1 -1
  72. package/build/engines/openai-responses/tool-choice-codec.d.ts +3 -0
  73. package/build/engines/openai-responses/tool-choice-codec.js +14 -0
  74. package/build/engines/openai-responses/tool-choice-codec.js.map +1 -0
  75. package/build/engines/openai-responses/tool-choice-validator.d.ts +11 -0
  76. package/build/engines/openai-responses/tool-choice-validator.js +50 -0
  77. package/build/engines/openai-responses/tool-choice-validator.js.map +1 -0
  78. package/build/engines/openai-responses/transport.d.ts +10 -11
  79. package/build/engines/openai-responses/transport.js +4 -4
  80. package/build/engines/openai-responses/transport.js.map +1 -1
  81. package/build/engines/openai-responses.d.ts +16 -17
  82. package/build/engines/openai-responses.js +10 -18
  83. package/build/engines/openai-responses.js.map +1 -1
  84. package/build/exports.d.ts +2 -2
  85. package/build/exports.js +2 -2
  86. package/build/exports.js.map +1 -1
  87. package/build/function.d.ts +3 -2
  88. package/build/function.js.map +1 -1
  89. package/build/media.js +2 -2
  90. package/build/media.js.map +1 -1
  91. package/build/tool-choice.d.ts +7 -0
  92. package/build/tool-choice.js +8 -0
  93. package/build/tool-choice.js.map +1 -0
  94. package/build/tsconfig.tsbuildinfo +1 -1
  95. package/build/xml/helpers.js.map +1 -0
  96. package/build/{verbatim/codec → xml}/quotation.js +2 -2
  97. package/build/xml/quotation.js.map +1 -0
  98. package/build/xml/system.js +7 -0
  99. package/build/xml/system.js.map +1 -0
  100. package/build/xml.d.ts +2 -0
  101. package/build/xml.js +3 -0
  102. package/build/xml.js.map +1 -0
  103. package/package.json +2 -2
  104. package/assets/verbatim/declarations.handlebars +0 -12
  105. package/assets/verbatim/instruction.md +0 -55
  106. package/assets/verbatim/quotation.handlebars +0 -1
  107. package/assets/verbatim/response.handlebars +0 -1
  108. package/assets/verbatim/system.handlebars +0 -1
  109. package/build/engine/structuring-validator.d.ts +0 -15
  110. package/build/engine/structuring-validator.js +0 -77
  111. package/build/engine/structuring-validator.js.map +0 -1
  112. package/build/engines/anthropic/structuring-choice-codec.d.ts +0 -5
  113. package/build/engines/anthropic/structuring-choice-codec.js +0 -23
  114. package/build/engines/anthropic/structuring-choice-codec.js.map +0 -1
  115. package/build/engines/google/structuring-choice-codec.d.ts +0 -5
  116. package/build/engines/google/structuring-choice-codec.js +0 -23
  117. package/build/engines/google/structuring-choice-codec.js.map +0 -1
  118. package/build/engines/openai-chatcompletions/structuring-choice-codec.d.ts +0 -5
  119. package/build/engines/openai-chatcompletions/structuring-choice-codec.js +0 -22
  120. package/build/engines/openai-chatcompletions/structuring-choice-codec.js.map +0 -1
  121. package/build/engines/openai-responses/structuring-choice-codec.d.ts +0 -3
  122. package/build/engines/openai-responses/structuring-choice-codec.js +0 -22
  123. package/build/engines/openai-responses/structuring-choice-codec.js.map +0 -1
  124. package/build/engines/openai-responses/structuring-validator.d.ts +0 -12
  125. package/build/engines/openai-responses/structuring-validator.js +0 -83
  126. package/build/engines/openai-responses/structuring-validator.js.map +0 -1
  127. package/build/structuring-choice.d.ts +0 -15
  128. package/build/structuring-choice.js +0 -18
  129. package/build/structuring-choice.js.map +0 -1
  130. package/build/verbatim/codec/declarations.d.ts +0 -2
  131. package/build/verbatim/codec/declarations.js +0 -25
  132. package/build/verbatim/codec/declarations.js.map +0 -1
  133. package/build/verbatim/codec/helpers.js.map +0 -1
  134. package/build/verbatim/codec/quotation.js.map +0 -1
  135. package/build/verbatim/codec/request.d.ts +0 -11
  136. package/build/verbatim/codec/request.js +0 -81
  137. package/build/verbatim/codec/request.js.map +0 -1
  138. package/build/verbatim/codec/response.d.ts +0 -2
  139. package/build/verbatim/codec/response.js +0 -7
  140. package/build/verbatim/codec/response.js.map +0 -1
  141. package/build/verbatim/codec/system.js +0 -7
  142. package/build/verbatim/codec/system.js.map +0 -1
  143. package/build/verbatim/codec.d.ts +0 -5
  144. package/build/verbatim/codec.js +0 -6
  145. package/build/verbatim/codec.js.map +0 -1
  146. package/build/verbatim.d.ts +0 -76
  147. package/build/verbatim.js +0 -17
  148. package/build/verbatim.js.map +0 -1
  149. /package/build/{verbatim/codec → xml}/helpers.d.ts +0 -0
  150. /package/build/{verbatim/codec → xml}/helpers.js +0 -0
  151. /package/build/{verbatim/codec → xml}/quotation.d.ts +0 -0
  152. /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 type { Verbatim } from '../../verbatim.ts';
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, in out vdm extends Verbatim.Decl.Map.Proto> implements Engine.Transport<fdm, vdm> {
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 structuringChoice: StructuringChoice;
19
+ protected toolChoice: ToolChoice;
21
20
  protected applyPatch: boolean;
22
- protected messageCodec: MessageCodec<fdm, vdm>;
21
+ protected messageCodec: MessageCodec<fdm>;
23
22
  protected toolCodec: ToolCodec<fdm>;
24
23
  protected billing: Billing;
25
- constructor(options: Transport.Options<fdm, vdm>);
26
- protected makeParams(session: Session.From<fdm, vdm>): OpenAI.Responses.ResponseCreateParamsStreaming;
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, vdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm, vdm>>;
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, in out vdm extends Verbatim.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
- structuringChoice: StructuringChoice;
35
+ toolChoice: ToolChoice;
37
36
  applyPatch: boolean;
38
- messageCodec: MessageCodec<fdm, vdm>;
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 StructuringChoiceCodec from "./structuring-choice-codec.js";
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
- structuringChoice;
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.structuringChoice = options.structuringChoice;
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 ? StructuringChoiceCodec.encode(this.structuringChoice) : undefined,
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":"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"}
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 { StructuringValidator } from './openai-responses/structuring-validator.ts';
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, vdm extends Verbatim.Decl.Map.Proto> = OpenAIResponsesEngine.Instance<fdm, vdm>;
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, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Instance<fdm, vdm> {
16
- protected options: OpenAIResponsesEngine.Options<fdm, vdm>;
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, vdm>;
17
+ protected messageCodec: MessageCodec<fdm>;
19
18
  protected billing: Billing;
20
- protected transport: Transport<fdm, vdm>;
21
- protected structuringValidator: StructuringValidator.From<fdm, vdm>;
19
+ protected transport: Transport<fdm>;
20
+ protected toolChoiceValidator: ToolChoiceValidator.From<fdm>;
22
21
  protected applyPatch: boolean;
23
- constructor(options: OpenAIResponsesEngine.Options<fdm, vdm>);
24
- clone(): OpenAIResponsesEngine<fdm, vdm>;
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, vdm>): Promise<RoleMessage.Ai.From<fdm, vdm>>;
32
- stateless(wfctx: InferenceContext, session: Session.From<fdm, vdm>): Promise<RoleMessage.Ai.From<fdm, vdm>>;
33
- stateful(wfctx: InferenceContext, session: Session.From<fdm, vdm>): Promise<RoleMessage.Ai.From<fdm, vdm>>;
34
- useStateless(middleware: Middleware.From<fdm, vdm>): OpenAIResponsesEngine<fdm, vdm>;
35
- useStateful(middleware: Middleware.From<fdm, vdm>): OpenAIResponsesEngine<fdm, vdm>;
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, vdm>, fnm: Function.Map<fdm>, vhm: Verbatim.Handler.Map<vdm>, limit?: number, applyPatch?: Tool.ApplyPatch): AsyncGenerator<string, string, void>;
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, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Options<fdm, vdm> {
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 { StructuringValidator } from "./openai-responses/structuring-validator.js";
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
- structuringValidator;
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
- structuringChoice: this.structuringChoice,
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.structuringValidator = new StructuringValidator({ structuringChoice: this.structuringChoice });
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, vhm, limit = Number.POSITIVE_INFINITY, applyPatch) {
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.allChat())
86
- return response.getChat();
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
- const textPart = part;
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, ...vress]));
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":"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"}
1
+ {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/engines/openai-responses.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  export * from './adaptor.ts';
2
2
  export * from './function.ts';
3
- export * from './verbatim.ts';
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 './structuring-choice.ts';
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 "./verbatim.js";
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 "./structuring-choice.js";
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";
@@ -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,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AAExC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,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"}
@@ -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
  }
@@ -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,CA6MxB;AA7MD,WAAiB,QAAQ;IAkFrB,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,EA7MgB,QAAQ,KAAR,QAAQ,QA6MxB"}
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 VerbatimCodec from "./verbatim/codec.js";
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 VerbatimCodec.Quotation.encode(this.mimeType, this.text);
43
+ return XmlCodec.Quotation.encode(this.mimeType, this.text);
44
44
  }
45
45
  }
46
46
  Media.Text = Text;
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,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,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;KACJ;IAdY,UAAI,OAchB,CAAA;AAOL,CAAC,EAxDgB,KAAK,KAAL,KAAK,QAwDrB"}
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,8 @@
1
+ export var ToolChoice;
2
+ (function (ToolChoice) {
3
+ ToolChoice.REQUIRED = Symbol();
4
+ ToolChoice.ANYONE = Symbol();
5
+ ToolChoice.NONE = Symbol();
6
+ ToolChoice.AUTO = Symbol();
7
+ })(ToolChoice || (ToolChoice = {}));
8
+ //# sourceMappingURL=tool-choice.js.map
@@ -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"}