@zimtsui/typechat 0.0.105 → 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.
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 +14 -21
  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 +8 -11
  56. package/build/engines/openai-chatcompletions/message-codec.js +13 -15
  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 -20
  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 -64
  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 -64
  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
package/README.md CHANGED
@@ -14,8 +14,3 @@ TypeChat 是一个强类型的 LLM 推理服务商 API 适配器。
14
14
  ## [配置](./examples/config.ts)
15
15
  ## [对话](./examples/chat.ts)
16
16
  ## [智能体](./examples/agent.ts)
17
- ### [XML 逐字频道](./examples/verbatim.ts)
18
-
19
- When a LLM outputs structured data in JSON format (e.g., legacy LLM function calling), if there are too many special characters in a string property (e.g., a large LaTeX document, or a complex shell command), the LLM is prone to make mistakes in JSON escaping.
20
-
21
- XML Verbatim Channel is designed to avoid escaping in LLM messages.
@@ -0,0 +1,19 @@
1
+ # TypeChat
2
+
3
+ TypeChat is the adaptor you are using for LLM inference providers.
4
+
5
+ ## Verbatim Quotation
6
+
7
+ LLM developer/user-role messages may contain verbatim quotations in the form of
8
+
9
+ <typechat:quotation author="AUTHOR OF QUOTATION"><![CDATA[VERBATIM QUOTATION]]></typechat:quotation>
10
+
11
+ The CDATA section may directly contain `]]>`, which is not allowed in standard XML.
12
+
13
+ The attribute `author` is optional, indicating the source of the quotation.
14
+
15
+ ## System Information
16
+
17
+ LLM developer/user-role messages may contain system information from the AI agent framework in the form of
18
+
19
+ <typechat:system></typechat:system>
@@ -0,0 +1 @@
1
+ <typechat:quotation{{#if (isDefined this.author)}} author="{{AssertXmlAttr this.author}}"{{/if}} mime-type="{{XmlAttr this.mimeType}}"><![CDATA[{{{this.text}}}]]></typechat:quotation>
@@ -0,0 +1 @@
1
+ <typechat:system>{{this.text}}</typechat:system>
@@ -3,25 +3,24 @@ import { Function } from './function.ts';
3
3
  import { Throttle } from './throttle.ts';
4
4
  import { GoogleEngine } from './engines/google.ts';
5
5
  import { OpenAIResponsesEngine } from './engines/openai-responses.ts';
6
- import type { Verbatim } from './verbatim.ts';
7
6
  import { Engine } from './engine.ts';
8
7
  export declare class Adaptor {
9
8
  config: Config;
10
9
  static create(config: Config): Adaptor;
11
10
  protected throttles: Map<string, Throttle>;
12
11
  protected constructor(config: Config);
13
- makeEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto>(adaptorOptions: Adaptor.Params<fdm, vdm>): Engine<fdm, vdm>;
14
- makeGoogleEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto>(adaptorOptions: Adaptor.GoogleParams<fdm, vdm>): GoogleEngine<fdm, vdm>;
15
- makeOpenAIResponsesEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto>(adaptorOptions: Adaptor.OpenAIResponsesParams<fdm, vdm>): OpenAIResponsesEngine<fdm, vdm>;
12
+ makeEngine<fdm extends Function.Decl.Map.Proto>(adaptorOptions: Adaptor.Params<fdm>): Engine<fdm>;
13
+ makeGoogleEngine<fdm extends Function.Decl.Map.Proto>(adaptorOptions: Adaptor.GoogleParams<fdm>): GoogleEngine<fdm>;
14
+ makeOpenAIResponsesEngine<fdm extends Function.Decl.Map.Proto>(adaptorOptions: Adaptor.OpenAIResponsesParams<fdm>): OpenAIResponsesEngine<fdm>;
16
15
  }
17
16
  export declare namespace Adaptor {
18
- interface Params<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Omit<Engine.Options<fdm, vdm>, 'endpointSpec' | 'throttle'> {
17
+ interface Params<in out fdm extends Function.Decl.Map.Proto> extends Omit<Engine.Options<fdm>, 'endpointSpec' | 'throttle'> {
19
18
  endpoint: string;
20
19
  }
21
- interface GoogleParams<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Omit<GoogleEngine.Options<fdm, vdm>, 'endpointSpec' | 'throttle'> {
20
+ interface GoogleParams<in out fdm extends Function.Decl.Map.Proto> extends Omit<GoogleEngine.Options<fdm>, 'endpointSpec' | 'throttle'> {
22
21
  endpoint: string;
23
22
  }
24
- interface OpenAIResponsesParams<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Omit<OpenAIResponsesEngine.Options<fdm, vdm>, 'endpointSpec' | 'throttle'> {
23
+ interface OpenAIResponsesParams<in out fdm extends Function.Decl.Map.Proto> extends Omit<OpenAIResponsesEngine.Options<fdm>, 'endpointSpec' | 'throttle'> {
25
24
  endpoint: string;
26
25
  }
27
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adaptor.js","sourceRoot":"","sources":["../src/adaptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adaptor.js","sourceRoot":"","sources":["../src/adaptor.ts"],"names":[],"mappings":"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"}
package/build/assets.d.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  declare const _default: {
2
- readonly verbatim: {
2
+ readonly xml: {
3
3
  readonly instruction: string;
4
- readonly declarations: string;
5
4
  readonly quotation: string;
6
- readonly response: string;
7
5
  readonly system: string;
8
6
  };
9
7
  };
package/build/assets.js CHANGED
@@ -1,12 +1,10 @@
1
1
  import { loadtext } from '@zimtsui/node-loaders';
2
2
  import { fileURLToPath } from 'node:url';
3
3
  export default {
4
- verbatim: {
5
- instruction: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/instruction.md'))),
6
- declarations: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/declarations.handlebars'))),
7
- quotation: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/quotation.handlebars'))),
8
- response: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/response.handlebars'))),
9
- system: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/system.handlebars'))),
4
+ xml: {
5
+ instruction: loadtext(fileURLToPath(import.meta.resolve('../assets/xml/instruction.md'))),
6
+ quotation: loadtext(fileURLToPath(import.meta.resolve('../assets/xml/quotation.handlebars'))),
7
+ system: loadtext(fileURLToPath(import.meta.resolve('../assets/xml/system.handlebars'))),
10
8
  },
11
9
  };
12
10
  //# sourceMappingURL=assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,eAAe;IACX,QAAQ,EAAE;QACN,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC9F,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACxG,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAClG,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAChG,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,CAAC;KAC/F;CACK,CAAC"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,eAAe;IACX,GAAG,EAAE;QACD,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzF,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC7F,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC;KAC1F;CACK,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { Function } from '../function.ts';
2
- import { Verbatim } from '../verbatim.ts';
3
2
  declare const NOMINAL: unique symbol;
4
3
  export declare namespace RoleMessage {
5
4
  class Developer {
@@ -22,32 +21,25 @@ export declare namespace RoleMessage {
22
21
  }
23
22
  }
24
23
  }
25
- class Ai<out fdu extends Function.Decl.Proto, out vdu extends Verbatim.Decl.Proto> {
24
+ class Ai<out fdu extends Function.Decl.Proto> {
26
25
  protected parts: unknown[];
27
26
  protected [NOMINAL]: never;
28
27
  constructor(parts: unknown[]);
29
28
  getParts(): unknown[];
30
- allChat(): boolean;
31
- getTextParts(): RoleMessage.Ai.Part.Text<vdu>[];
32
- getChat(): string;
29
+ allText(): boolean;
30
+ getTextParts(): RoleMessage.Ai.Part.Text[];
33
31
  getText(): string;
34
32
  getFunctionCalls(): Function.Call.Of<fdu>[];
35
- getVerbatimRequests(): Verbatim.Request.Of<vdu>[];
36
33
  getOnlyFunctionCall(): Function.Call.Of<fdu>;
37
- getOnlyVerbatimRequest(): Verbatim.Request.Of<vdu>;
38
34
  }
39
35
  namespace Ai {
40
- type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = RoleMessage.Ai<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
36
+ type From<fdm extends Function.Decl.Map.Proto> = RoleMessage.Ai<Function.Decl.From<fdm>>;
41
37
  namespace Part {
42
- class Text<out vdu extends Verbatim.Decl.Proto> {
38
+ class Text {
43
39
  text: string;
44
- vreqs: Verbatim.Request.Of<vdu>[];
45
40
  protected [NOMINAL]: never;
46
- static paragraph(text: string): Text<never>;
47
- constructor(text: string, vreqs: Verbatim.Request.Of<vdu>[]);
48
- }
49
- namespace Text {
50
- type From<vdm extends Verbatim.Decl.Map.Proto> = Text<Verbatim.Decl.From<vdm>>;
41
+ static paragraph(text: string): Text;
42
+ constructor(text: string);
51
43
  }
52
44
  }
53
45
  }
@@ -56,15 +56,12 @@ export var RoleMessage;
56
56
  getParts() {
57
57
  return this.parts;
58
58
  }
59
- allChat() {
60
- return this.parts.every(part => part instanceof RoleMessage.Ai.Part.Text && !part.vreqs.length);
59
+ allText() {
60
+ return this.parts.every(part => part instanceof RoleMessage.Ai.Part.Text);
61
61
  }
62
62
  getTextParts() {
63
63
  return this.parts.filter(part => part instanceof RoleMessage.Ai.Part.Text);
64
64
  }
65
- getChat() {
66
- return this.getTextParts().filter(part => !part.vreqs.length).map(part => part.text).join('');
67
- }
68
65
  getText() {
69
66
  return this.getTextParts().map(part => part.text).join('');
70
67
  }
@@ -77,9 +74,6 @@ export var RoleMessage;
77
74
  }
78
75
  return fcalls;
79
76
  }
80
- getVerbatimRequests() {
81
- return this.getTextParts().flatMap(part => part.vreqs);
82
- }
83
77
  getOnlyFunctionCall() {
84
78
  const fcalls = this.getFunctionCalls();
85
79
  if (fcalls.length === 1) { }
@@ -87,13 +81,6 @@ export var RoleMessage;
87
81
  throw new Error();
88
82
  return fcalls[0];
89
83
  }
90
- getOnlyVerbatimRequest() {
91
- const vreqs = this.getVerbatimRequests();
92
- if (vreqs.length === 1) { }
93
- else
94
- throw new Error();
95
- return vreqs[0];
96
- }
97
84
  }
98
85
  RoleMessage.Ai = Ai;
99
86
  (function (Ai) {
@@ -101,13 +88,11 @@ export var RoleMessage;
101
88
  (function (Part) {
102
89
  class Text {
103
90
  text;
104
- vreqs;
105
91
  static paragraph(text) {
106
- return new RoleMessage.Ai.Part.Text(text.trimEnd() + '\n\n', []);
92
+ return new RoleMessage.Ai.Part.Text(text.trimEnd() + '\n\n');
107
93
  }
108
- constructor(text, vreqs) {
94
+ constructor(text) {
109
95
  this.text = text;
110
- this.vreqs = vreqs;
111
96
  }
112
97
  }
113
98
  Part.Text = Text;
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/engine/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/engine/message.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,9 @@ import { Function } from '../function.ts';
2
2
  import { type InferenceContext } from '../inference-context.ts';
3
3
  import { Session } from './session.ts';
4
4
  import { RoleMessage } from './message.ts';
5
- import { Verbatim } from '../verbatim.ts';
6
- export interface Middleware<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
7
- (wfctx: InferenceContext, session: Session<fdu, vdu>, next: () => Promise<RoleMessage.Ai<fdu, vdu>>): Promise<RoleMessage.Ai<fdu, vdu>>;
5
+ export interface Middleware<in out fdu extends Function.Decl.Proto> {
6
+ (wfctx: InferenceContext, session: Session<fdu>, next: () => Promise<RoleMessage.Ai<fdu>>): Promise<RoleMessage.Ai<fdu>>;
8
7
  }
9
8
  export declare namespace Middleware {
10
- type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Middleware<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
9
+ type From<fdm extends Function.Decl.Map.Proto> = Middleware<Function.Decl.From<fdm>>;
11
10
  }
@@ -1,9 +1,8 @@
1
1
  import { Function } from '../function.ts';
2
- import { Verbatim } from '../verbatim.ts';
3
2
  import { RoleMessage } from './message.ts';
4
- export declare class PartsValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
5
- validate(message: RoleMessage.Ai<fdu, vdu>): void;
3
+ export declare class PartsValidator<in out fdu extends Function.Decl.Proto> {
4
+ validate(message: RoleMessage.Ai<fdu>): void;
6
5
  }
7
6
  export declare namespace PartsValidator {
8
- type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = PartsValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
7
+ type From<fdm extends Function.Decl.Map.Proto> = PartsValidator<Function.Decl.From<fdm>>;
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parts-validator.js","sourceRoot":"","sources":["../../src/engine/parts-validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,OAAO,cAAc;IAKhB,QAAQ,CACX,OAAiC;QAEjC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC/E,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC;CAEJ"}
1
+ {"version":3,"file":"parts-validator.js","sourceRoot":"","sources":["../../src/engine/parts-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,OAAO,cAAc;IAIhB,QAAQ,CACX,OAA4B;QAE5B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC/E,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC;CAEJ"}
@@ -2,12 +2,11 @@ import { Function } from '../function.ts';
2
2
  import { type InferenceContext } from '../inference-context.ts';
3
3
  import { Session } from './session.ts';
4
4
  import { RoleMessage } from './message.ts';
5
- import { Verbatim } from '../verbatim.ts';
6
- export declare class Recoverable<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> extends SyntaxError {
7
- protected response: RoleMessage.Ai<fdu, vdu>;
8
- protected rejection: RoleMessage.User<never>;
9
- constructor(response: RoleMessage.Ai<fdu, vdu>, rejection: RoleMessage.User<never>, ...rest: ConstructorParameters<typeof SyntaxError>);
10
- resume(): RoleMessage.Ai<fdu, vdu>;
11
- recover(): RoleMessage.User<never>;
12
- static recover<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto>(wfctx: InferenceContext, session: Session<fdu, vdu>, next: () => Promise<RoleMessage.Ai<fdu, vdu>>): Promise<RoleMessage.Ai<fdu, vdu>>;
5
+ export declare class Recoverable<in out fdu extends Function.Decl.Proto> extends SyntaxError {
6
+ protected response: RoleMessage.Ai<fdu>;
7
+ protected rejection: RoleMessage.User<fdu>;
8
+ constructor(response: RoleMessage.Ai<fdu>, rejection: RoleMessage.User<fdu>, ...rest: ConstructorParameters<typeof SyntaxError>);
9
+ resume(): RoleMessage.Ai<fdu>;
10
+ recover(): RoleMessage.User<fdu>;
11
+ static recover<fdu extends Function.Decl.Proto>(wfctx: InferenceContext, session: Session<fdu>, next: () => Promise<RoleMessage.Ai<fdu>>): Promise<RoleMessage.Ai<fdu>>;
13
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recoverable.js","sourceRoot":"","sources":["../../src/engine/recoverable.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,WAGX,SAAQ,WAAW;IAEH;IACA;IAFd,YACc,QAAkC,EAClC,SAAkC,EAC5C,GAAG,IAA+C;QAElD,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAJL,aAAQ,GAAR,QAAQ,CAA0B;QAClC,cAAS,GAAT,SAAS,CAAyB;IAIhD,CAAC;IACM,MAAM;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACM,OAAO;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CAIvB,KAAuB,EACvB,OAA0B,EAC1B,IAA6C;QAE7C,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,CAA0B,CAAC;YAC/C,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"recoverable.js","sourceRoot":"","sources":["../../src/engine/recoverable.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,WAEX,SAAQ,WAAW;IAEH;IACA;IAFd,YACc,QAA6B,EAC7B,SAAgC,EAC1C,GAAG,IAA+C;QAElD,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAJL,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,cAAS,GAAT,SAAS,CAAuB;IAI9C,CAAC;IACM,MAAM;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACM,OAAO;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CAGvB,KAAuB,EACvB,OAAqB,EACrB,IAAwC;QAExC,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,CAAqB,CAAC;YAC1C,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;CACJ"}
@@ -1,14 +1,13 @@
1
1
  import { Function } from '../function.ts';
2
- import { Verbatim } from '../verbatim.ts';
3
2
  import { RoleMessage } from './message.ts';
4
- export interface Session<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
5
- chatMessages: Session.ChatMessage<fdu, vdu>[];
3
+ export interface Session<in out fdu extends Function.Decl.Proto> {
4
+ chatMessages: Session.ChatMessage<fdu>[];
6
5
  developerMessage?: RoleMessage.Developer;
7
6
  }
8
7
  export declare namespace Session {
9
- type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Session<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
10
- type ChatMessage<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto> = RoleMessage.User<fdu> | RoleMessage.Ai<fdu, vdu>;
8
+ type From<fdm extends Function.Decl.Map.Proto> = Session<Function.Decl.From<fdm>>;
9
+ type ChatMessage<fdu extends Function.Decl.Proto> = RoleMessage.User<fdu> | RoleMessage.Ai<fdu>;
11
10
  namespace ChatMessage {
12
- type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = ChatMessage<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
11
+ type From<fdm extends Function.Decl.Map.Proto> = ChatMessage<Function.Decl.From<fdm>>;
13
12
  }
14
13
  }
@@ -0,0 +1,14 @@
1
+ import { ToolChoice } from '../tool-choice.ts';
2
+ import { Function } from '../function.ts';
3
+ import { RoleMessage } from './message.ts';
4
+ export declare class ToolChoiceValidator<in out fdu extends Function.Decl.Proto> {
5
+ protected toolChoice: ToolChoice;
6
+ constructor(options: ToolChoiceValidator.Options);
7
+ validate(aiMessage: RoleMessage.Ai<fdu>): RoleMessage.User<fdu> | void;
8
+ }
9
+ export declare namespace ToolChoiceValidator {
10
+ type From<fdm extends Function.Decl.Map.Proto> = ToolChoiceValidator<Function.Decl.From<fdm>>;
11
+ interface Options {
12
+ toolChoice: ToolChoice;
13
+ }
14
+ }
@@ -0,0 +1,44 @@
1
+ import { ToolChoice } from "../tool-choice.js";
2
+ import { Function } from "../function.js";
3
+ import { RoleMessage } from "./message.js";
4
+ import * as XmlCodec from "../xml.js";
5
+ export class ToolChoiceValidator {
6
+ toolChoice;
7
+ constructor(options) {
8
+ this.toolChoice = options.toolChoice;
9
+ }
10
+ validate(aiMessage) {
11
+ const fcalls = aiMessage.getFunctionCalls();
12
+ const fress = fcalls.map(fcall => Function.Response.Failed.of({
13
+ id: fcall.id,
14
+ name: fcall.name,
15
+ error: XmlCodec.System.encode('Cancelled by system.'),
16
+ }));
17
+ if (this.toolChoice === ToolChoice.REQUIRED) {
18
+ if (fcalls.length) { }
19
+ else
20
+ return new RoleMessage.User([
21
+ RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: Function call required, but not found.`)),
22
+ ]);
23
+ }
24
+ else if (this.toolChoice === ToolChoice.ANYONE) {
25
+ if (!fcalls.length)
26
+ return new RoleMessage.User([
27
+ RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: Function call required, but not found.`)),
28
+ ]);
29
+ if (fcalls.length > 1)
30
+ return new RoleMessage.User([
31
+ ...fress,
32
+ RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: Only 1 function call allowed, but multiple found.`)),
33
+ ]);
34
+ }
35
+ else if (this.toolChoice === ToolChoice.NONE) {
36
+ if (fcalls.length)
37
+ return new RoleMessage.User([
38
+ ...fress,
39
+ RoleMessage.User.Part.Text.paragraph(XmlCodec.System.encode(`Error: No function call allowed.`)),
40
+ ]);
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=tool-choice-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-choice-validator.js","sourceRoot":"","sources":["../../src/engine/tool-choice-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAGtC,MAAM,OAAO,mBAAmB;IAGlB,UAAU,CAAa;IACjC,YAAmB,OAAoC;QACnD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IAEM,QAAQ,CACX,SAA8B;QAE9B,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CACpB,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;SACZ,CAAC,CACjD,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,CAAM;oBAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAC1E;iBACJ,CAAC,CAAC;QAEX,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,MAAM;gBACd,OAAO,IAAI,WAAW,CAAC,IAAI,CAAQ;oBAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAC1E;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,0DAA0D,CAAC,CACrF;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,GAAG,KAAK;oBACR,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAC7D;iBACJ,CAAC,CAAC;QACX,CAAC;IACL,CAAC;CACJ"}
@@ -2,7 +2,6 @@ import { Function } from '../function.ts';
2
2
  import { type InferenceContext } from '../inference-context.ts';
3
3
  import { Session } from './session.ts';
4
4
  import { RoleMessage } from './message.ts';
5
- import { Verbatim } from '../verbatim.ts';
6
- export interface Transport<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
7
- fetch(wfctx: InferenceContext, session: Session.From<fdm, vdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm, vdm>>;
5
+ export interface Transport<in out fdm extends Function.Decl.Map.Proto> {
6
+ fetch(wfctx: InferenceContext, session: Session.From<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm>>;
8
7
  }
package/build/engine.d.ts CHANGED
@@ -5,13 +5,12 @@ import { Dispatcher } from 'undici';
5
5
  import { type InferenceContext } from './inference-context.ts';
6
6
  import * as SessionModule from './engine/session.ts';
7
7
  import * as MessageModule from './engine/message.ts';
8
- import { Verbatim } from './verbatim.ts';
9
8
  import { PartsValidator } from './engine/parts-validator.ts';
10
9
  import { Recoverable } from './engine/recoverable.ts';
11
10
  import { Middleware } from './engine/middleware.ts';
12
- import * as StructuringValidatorModule from './engine/structuring-validator.ts';
11
+ import * as ToolChoiceValidatorModule from './engine/tool-choice-validator.ts';
13
12
  import * as EngineTransportModule from './engine/transport.ts';
14
- import { StructuringChoice } from './structuring-choice.ts';
13
+ import { ToolChoice } from './tool-choice.ts';
15
14
  export interface Pricing {
16
15
  inputPrice: number;
17
16
  cachePrice: number;
@@ -30,68 +29,66 @@ export interface InferenceOptions {
30
29
  timeout?: number;
31
30
  retry: number;
32
31
  }
33
- export type Engine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Engine.Instance<fdm, vdm>;
32
+ export type Engine<fdm extends Function.Decl.Map.Proto> = Engine.Instance<fdm>;
34
33
  export declare namespace Engine {
35
- abstract class Instance<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
34
+ abstract class Instance<in out fdm extends Function.Decl.Map.Proto> {
36
35
  protected providerSpecs: ProviderSpecs;
37
36
  protected inferenceOptions: InferenceOptions;
38
37
  name: string;
39
38
  pricing: Pricing;
40
39
  fdm: fdm;
41
- vdm: vdm;
42
40
  protected throttle: Throttle;
43
- protected structuringChoice: StructuringChoice;
44
- protected structuringValidator: Engine.StructuringValidator.From<fdm, vdm>;
45
- protected partsValidator: PartsValidator.From<fdm, vdm>;
46
- protected abstract transport: Engine.Transport<fdm, vdm>;
47
- constructor(options: Engine.Options<fdm, vdm>);
41
+ protected toolChoice: ToolChoice;
42
+ protected toolChoiceValidator: Engine.ToolChoiceValidator.From<fdm>;
43
+ protected partsValidator: PartsValidator.From<fdm>;
44
+ protected abstract transport: Engine.Transport<fdm>;
45
+ constructor(options: Engine.Options<fdm>);
48
46
  /**
49
47
  * @throws {@link InferenceTimeout} 推理超时
50
48
  * @throws {@link SyntaxError} 模型抽风
51
49
  * @throws {@link Recoverable} 模型抽风但可恢复
52
50
  * @throws {@link TypeError} 网络故障
53
51
  */
54
- protected infer(wfctx: InferenceContext, session: Session.From<fdm, vdm>): Promise<RoleMessage.Ai.From<fdm, vdm>>;
52
+ protected infer(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
55
53
  /**
56
54
  * @throws {@link InferenceTimeout} 推理超时
57
55
  * @throws {@link SyntaxError} 模型抽风
58
56
  * @throws {@link TypeError} 网络故障
59
57
  */
60
- stateless(wfctx: InferenceContext, session: Session.From<fdm, vdm>): Promise<RoleMessage.Ai.From<fdm, vdm>>;
58
+ stateless(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
61
59
  /**
62
60
  * @throws {@link InferenceTimeout} 推理超时
63
61
  * @throws {@link SyntaxError} 模型抽风
64
62
  * @throws {@link TypeError} 网络故障
65
63
  * @param session mutable
66
64
  */
67
- stateful(wfctx: InferenceContext, session: Session.From<fdm, vdm>): Promise<RoleMessage.Ai.From<fdm, vdm>>;
68
- abstract clone(): Engine<fdm, vdm>;
69
- protected middlewaresStateless: Middleware.From<fdm, vdm>[];
70
- useStateless(middleware: Middleware.From<fdm, vdm>): Engine<fdm, vdm>;
71
- protected middlewaresStateful: Middleware.From<fdm, vdm>[];
72
- useStateful(middleware: Middleware.From<fdm, vdm>): Engine<fdm, vdm>;
73
- protected compose(middlewares: Middleware.From<fdm, vdm>[]): Middleware.From<fdm, vdm>;
65
+ stateful(wfctx: InferenceContext, session: Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
66
+ abstract clone(): Engine<fdm>;
67
+ protected middlewaresStateless: Middleware.From<fdm>[];
68
+ useStateless(middleware: Middleware.From<fdm>): Engine<fdm>;
69
+ protected middlewaresStateful: Middleware.From<fdm>[];
70
+ useStateful(middleware: Middleware.From<fdm>): Engine<fdm>;
71
+ protected compose(middlewares: Middleware.From<fdm>[]): Middleware.From<fdm>;
74
72
  /**
75
73
  * @param session mutable
76
74
  */
77
- agentloop(wfctx: InferenceContext, session: Session.From<fdm, vdm>, fnm: Function.Map<fdm>, vhm: Verbatim.Handler.Map<vdm>, limit?: number): AsyncGenerator<string, string, void>;
75
+ agentloop(wfctx: InferenceContext, session: Session.From<fdm>, fnm: Function.Map<fdm>, limit?: number): AsyncGenerator<string, string, void>;
78
76
  }
79
77
  class FunctionCallLimitExceeded extends Error {
80
78
  }
81
- interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
79
+ interface Options<in out fdm extends Function.Decl.Map.Proto> {
82
80
  throttle: Throttle;
83
81
  endpointSpec: EndpointSpec;
84
82
  functionDeclarationMap: fdm;
85
- verbatimDeclarationMap: vdm;
86
- structuringChoice?: StructuringChoice;
83
+ toolChoice?: ToolChoice;
87
84
  providerRetry?: number;
88
85
  inferenceRetry?: number;
89
86
  }
90
87
  interface Create {
91
- <fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto>(options: Engine.Options<fdm, vdm>): Engine<fdm, vdm>;
88
+ <fdm extends Function.Decl.Map.Proto>(options: Engine.Options<fdm>): Engine<fdm>;
92
89
  }
93
90
  export import Transport = EngineTransportModule.Transport;
94
- export import StructuringValidator = StructuringValidatorModule.StructuringValidator;
91
+ export import ToolChoiceValidator = ToolChoiceValidatorModule.ToolChoiceValidator;
95
92
  export import Session = SessionModule.Session;
96
93
  export import RoleMessage = MessageModule.RoleMessage;
97
94
  }