@zimtsui/typechat 0.0.93 → 0.0.95

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 (164) hide show
  1. package/DEVELOPMENT.md +0 -6
  2. package/README.md +26 -36
  3. package/assets/verbatim/instruction.md +27 -25
  4. package/assets/verbatim/quotation.handlebars +1 -1
  5. package/assets/verbatim/system.handlebars +1 -0
  6. package/build/adaptor.d.ts +5 -23
  7. package/build/adaptor.js +14 -25
  8. package/build/adaptor.js.map +1 -1
  9. package/build/api-types/anthropic/billing.d.ts +3 -3
  10. package/build/api-types/anthropic/billing.js +6 -6
  11. package/build/api-types/anthropic/billing.js.map +1 -1
  12. package/build/api-types/anthropic/tool-codec.d.ts +3 -3
  13. package/build/api-types/anthropic/tool-codec.js +15 -11
  14. package/build/api-types/anthropic/tool-codec.js.map +1 -1
  15. package/build/api-types/google/billing.d.ts +3 -3
  16. package/build/api-types/google/billing.js +7 -7
  17. package/build/api-types/google/billing.js.map +1 -1
  18. package/build/api-types/google/tool-codec.d.ts +3 -3
  19. package/build/api-types/google/tool-codec.js +16 -34
  20. package/build/api-types/google/tool-codec.js.map +1 -1
  21. package/build/api-types/openai-chatcompletions/billing.d.ts +5 -5
  22. package/build/api-types/openai-chatcompletions/billing.js +7 -7
  23. package/build/api-types/openai-chatcompletions/billing.js.map +1 -1
  24. package/build/api-types/openai-chatcompletions/tool-codec.d.ts +5 -5
  25. package/build/api-types/openai-chatcompletions/tool-codec.js +17 -13
  26. package/build/api-types/openai-chatcompletions/tool-codec.js.map +1 -1
  27. package/build/api-types/openai-responses/billing.d.ts +3 -3
  28. package/build/api-types/openai-responses/billing.js +6 -6
  29. package/build/api-types/openai-responses/billing.js.map +1 -1
  30. package/build/api-types/openai-responses/tool-codec.d.ts +3 -3
  31. package/build/api-types/openai-responses/tool-codec.js +16 -12
  32. package/build/api-types/openai-responses/tool-codec.js.map +1 -1
  33. package/build/assets.d.ts +1 -1
  34. package/build/assets.js +6 -5
  35. package/build/assets.js.map +1 -1
  36. package/build/compatible-engine/session.d.ts +4 -16
  37. package/build/compatible-engine/session.js +8 -15
  38. package/build/compatible-engine/session.js.map +1 -1
  39. package/build/compatible-engine/validation.d.ts +7 -7
  40. package/build/compatible-engine/validation.js +33 -34
  41. package/build/compatible-engine/validation.js.map +1 -1
  42. package/build/compatible-engine.d/anthropic/message-codec.d.ts +4 -3
  43. package/build/compatible-engine.d/anthropic/message-codec.js +16 -22
  44. package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -1
  45. package/build/compatible-engine.d/anthropic/transport.d.ts +10 -3
  46. package/build/compatible-engine.d/anthropic/transport.js +105 -101
  47. package/build/compatible-engine.d/anthropic/transport.js.map +1 -1
  48. package/build/compatible-engine.d/anthropic.d.ts +2 -0
  49. package/build/compatible-engine.d/anthropic.js +9 -1
  50. package/build/compatible-engine.d/anthropic.js.map +1 -1
  51. package/build/compatible-engine.d/google/message-codec.d.ts +4 -3
  52. package/build/compatible-engine.d/google/message-codec.js +16 -22
  53. package/build/compatible-engine.d/google/message-codec.js.map +1 -1
  54. package/build/compatible-engine.d/google/transport.d.ts +10 -3
  55. package/build/compatible-engine.d/google/transport.js +32 -24
  56. package/build/compatible-engine.d/google/transport.js.map +1 -1
  57. package/build/compatible-engine.d/google.d.ts +2 -0
  58. package/build/compatible-engine.d/google.js +23 -2
  59. package/build/compatible-engine.d/google.js.map +1 -1
  60. package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +6 -5
  61. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +17 -24
  62. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -1
  63. package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +33 -3
  64. package/build/compatible-engine.d/openai-chatcompletions/transport.js +182 -6
  65. package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -1
  66. package/build/compatible-engine.d/openai-chatcompletions.d.ts +10 -2
  67. package/build/compatible-engine.d/openai-chatcompletions.js +35 -0
  68. package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -1
  69. package/build/compatible-engine.d/openai-responses/message-codec.d.ts +4 -6
  70. package/build/compatible-engine.d/openai-responses/message-codec.js +70 -74
  71. package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -1
  72. package/build/compatible-engine.d/openai-responses/transport.d.ts +14 -8
  73. package/build/compatible-engine.d/openai-responses/transport.js +64 -64
  74. package/build/compatible-engine.d/openai-responses/transport.js.map +1 -1
  75. package/build/compatible-engine.d/openai-responses.d.ts +2 -0
  76. package/build/compatible-engine.d/openai-responses.js +10 -2
  77. package/build/compatible-engine.d/openai-responses.js.map +1 -1
  78. package/build/compatible-engine.d.ts +2 -1
  79. package/build/compatible-engine.js +3 -3
  80. package/build/compatible-engine.js.map +1 -1
  81. package/build/config.d.ts +17 -19
  82. package/build/config.js +2 -4
  83. package/build/config.js.map +1 -1
  84. package/build/endpoint-spec.d.ts +15 -15
  85. package/build/endpoint-spec.js +2 -2
  86. package/build/endpoint-spec.js.map +1 -1
  87. package/build/engine/session.d.ts +31 -0
  88. package/build/engine/session.js +19 -0
  89. package/build/engine/session.js.map +1 -1
  90. package/build/engine/validation.d.ts +1 -7
  91. package/build/engine.d.ts +37 -20
  92. package/build/engine.js +154 -87
  93. package/build/engine.js.map +1 -1
  94. package/build/function.d.ts +1 -1
  95. package/build/native-engines.d/google/message-codec.d.ts +6 -3
  96. package/build/native-engines.d/google/message-codec.js +23 -27
  97. package/build/native-engines.d/google/message-codec.js.map +1 -1
  98. package/build/native-engines.d/google/transport.d.ts +13 -3
  99. package/build/native-engines.d/google/transport.js +41 -27
  100. package/build/native-engines.d/google/transport.js.map +1 -1
  101. package/build/native-engines.d/google/validation.d.ts +5 -6
  102. package/build/native-engines.d/google/validation.js +3 -6
  103. package/build/native-engines.d/google/validation.js.map +1 -1
  104. package/build/native-engines.d/google.d.ts +2 -2
  105. package/build/native-engines.d/google.js +22 -4
  106. package/build/native-engines.d/google.js.map +1 -1
  107. package/build/native-engines.d/openai-responses/choice-codec.d.ts +1 -1
  108. package/build/native-engines.d/openai-responses/choice-codec.js +12 -12
  109. package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -1
  110. package/build/native-engines.d/openai-responses/message-codec.d.ts +5 -3
  111. package/build/native-engines.d/openai-responses/message-codec.js +59 -48
  112. package/build/native-engines.d/openai-responses/message-codec.js.map +1 -1
  113. package/build/native-engines.d/openai-responses/transport.d.ts +14 -6
  114. package/build/native-engines.d/openai-responses/transport.js +56 -54
  115. package/build/native-engines.d/openai-responses/transport.js.map +1 -1
  116. package/build/native-engines.d/openai-responses/validation.d.ts +7 -7
  117. package/build/native-engines.d/openai-responses/validation.js +31 -32
  118. package/build/native-engines.d/openai-responses/validation.js.map +1 -1
  119. package/build/native-engines.d/openai-responses.d.ts +2 -2
  120. package/build/native-engines.d/openai-responses.js +9 -4
  121. package/build/native-engines.d/openai-responses.js.map +1 -1
  122. package/build/repetition.d.ts +2 -1
  123. package/build/repetition.js +7 -42
  124. package/build/repetition.js.map +1 -1
  125. package/build/telemetry.d.ts +1 -0
  126. package/build/telemetry.js +1 -0
  127. package/build/telemetry.js.map +1 -1
  128. package/build/tsconfig.tsbuildinfo +1 -1
  129. package/build/verbatim/codec/declarations.d.ts +0 -1
  130. package/build/verbatim/codec/declarations.js +1 -2
  131. package/build/verbatim/codec/declarations.js.map +1 -1
  132. package/build/verbatim/codec/helpers.d.ts +2 -0
  133. package/build/verbatim/codec/{escape.js → helpers.js} +5 -1
  134. package/build/verbatim/codec/helpers.js.map +1 -0
  135. package/build/verbatim/codec/quotation.d.ts +1 -2
  136. package/build/verbatim/codec/quotation.js +3 -4
  137. package/build/verbatim/codec/quotation.js.map +1 -1
  138. package/build/verbatim/codec/response.d.ts +0 -1
  139. package/build/verbatim/codec/response.js +1 -2
  140. package/build/verbatim/codec/response.js.map +1 -1
  141. package/build/verbatim/codec/{meta.d.ts → system.d.ts} +0 -1
  142. package/build/verbatim/codec/system.js +7 -0
  143. package/build/verbatim/codec/system.js.map +1 -0
  144. package/build/verbatim/codec.d.ts +1 -1
  145. package/build/verbatim/codec.js +1 -1
  146. package/build/verbatim/codec.js.map +1 -1
  147. package/package.json +8 -9
  148. package/assets/verbatim/meta.handlebars +0 -1
  149. package/build/compatible-engine.d/aliyun/transport.d.ts +0 -12
  150. package/build/compatible-engine.d/aliyun/transport.js +0 -7
  151. package/build/compatible-engine.d/aliyun/transport.js.map +0 -1
  152. package/build/compatible-engine.d/aliyun.d.ts +0 -21
  153. package/build/compatible-engine.d/aliyun.js +0 -38
  154. package/build/compatible-engine.d/aliyun.js.map +0 -1
  155. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +0 -31
  156. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js +0 -88
  157. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +0 -1
  158. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +0 -34
  159. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +0 -190
  160. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +0 -1
  161. package/build/verbatim/codec/escape.d.ts +0 -1
  162. package/build/verbatim/codec/escape.js.map +0 -1
  163. package/build/verbatim/codec/meta.js +0 -8
  164. package/build/verbatim/codec/meta.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/transport.ts"],"names":[],"mappings":"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"}
@@ -5,21 +5,20 @@ import { RoleMessage } from './session.ts';
5
5
  import { StructuringValidator as CompatibleStructuringValidator, PartsValidator as CompatiblePartsValidator } from '../../compatible-engine/validation.ts';
6
6
  import { Engine } from '../../engine.ts';
7
7
  export declare class StructuringValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.StructuringValidator<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>> {
8
- protected ctx: StructuringValidator.Context<fdu, vdu>;
9
8
  protected compatibleStructuringValidator: CompatibleStructuringValidator<fdu, vdu>;
10
- constructor(ctx: StructuringValidator.Context<fdu, vdu>);
9
+ constructor(options: StructuringValidator.Options<fdu, vdu>);
11
10
  validate(message: RoleMessage.Ai<fdu, vdu>): void | RoleMessage.User<fdu>;
12
11
  }
13
12
  export declare namespace StructuringValidator {
14
13
  type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = StructuringValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
15
- interface Context<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
14
+ interface Options<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
16
15
  choice: Structuring.Choice<fdu, vdu>;
17
16
  }
18
- namespace Context {
19
- type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Context<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
17
+ namespace Options {
18
+ type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Options<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
20
19
  }
21
20
  }
22
- export declare class PartsValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.PartsValidator<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>> {
21
+ export declare class PartsValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.PartsValidator<RoleMessage.Ai<fdu, vdu>> {
23
22
  protected compatiblePartsValidator: CompatiblePartsValidator<fdu, vdu>;
24
23
  constructor();
25
24
  validate(message: RoleMessage.Ai<fdu, vdu>): void;
@@ -1,12 +1,9 @@
1
1
  import { RoleMessage } from "./session.js";
2
2
  import { StructuringValidator as CompatibleStructuringValidator, PartsValidator as CompatiblePartsValidator, } from "../../compatible-engine/validation.js";
3
- import { ResponseInvalid } from "../../engine.js";
4
3
  export class StructuringValidator {
5
- ctx;
6
4
  compatibleStructuringValidator;
7
- constructor(ctx) {
8
- this.ctx = ctx;
9
- this.compatibleStructuringValidator = new CompatibleStructuringValidator({ choice: this.ctx.choice });
5
+ constructor(options) {
6
+ this.compatibleStructuringValidator = new CompatibleStructuringValidator({ structuringChoice: options.choice });
10
7
  }
11
8
  validate(message) {
12
9
  const fcs = message.getFunctionCalls();
@@ -22,7 +19,7 @@ export class PartsValidator {
22
19
  validate(message) {
23
20
  if (message.getParts().length) { }
24
21
  else
25
- throw new ResponseInvalid('Empty message.');
22
+ throw new SyntaxError('Empty message.');
26
23
  this.compatiblePartsValidator.validateMessageTextParts(message.getChatParts().filter(part => part instanceof RoleMessage.Part.Text));
27
24
  }
28
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/validation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACH,oBAAoB,IAAI,8BAA8B,EACtD,cAAc,IAAI,wBAAwB,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAU,MAAM,iBAAiB,CAAC;AAI1D,MAAM,OAAO,oBAAoB;IAKA;IADnB,8BAA8B,CAA2C;IACnF,YAA6B,GAA2C;QAA3C,QAAG,GAAH,GAAG,CAAwC;QACpE,IAAI,CAAC,8BAA8B,GAAG,IAAI,8BAA8B,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1G,CAAC;IAEM,QAAQ,CACX,OAAiC;QAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;CACJ;AAuBD,MAAM,OAAO,cAAc;IAIb,wBAAwB,CAAqC;IACvE;QACI,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IACnE,CAAC;IAEM,QAAQ,CACX,OAAiC;QAEjC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACnF,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,CAClD,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/E,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/validation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACH,oBAAoB,IAAI,8BAA8B,EACtD,cAAc,IAAI,wBAAwB,GAC7C,MAAM,uCAAuC,CAAC;AAK/C,MAAM,OAAO,oBAAoB;IAInB,8BAA8B,CAA2C;IACnF,YAAmB,OAA+C;QAC9D,IAAI,CAAC,8BAA8B,GAAG,IAAI,8BAA8B,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpH,CAAC;IAEM,QAAQ,CACX,OAAiC;QAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;CACJ;AAuBD,MAAM,OAAO,cAAc;IAIb,wBAAwB,CAAqC;IACvE;QACI,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IACnE,CAAC;IAEM,QAAQ,CACX,OAAiC;QAEjC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC/E,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,CAClD,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/E,CAAC;IACN,CAAC;CACJ"}
@@ -1,7 +1,6 @@
1
1
  import { Function } from '../function.ts';
2
2
  import * as SessionModule from './google/session.ts';
3
3
  import { Engine } from '../engine.ts';
4
- import { type InferenceContext } from '../inference-context.ts';
5
4
  import { ToolCodec } from '../api-types/google/tool-codec.ts';
6
5
  import { Billing } from '../api-types/google/billing.ts';
7
6
  import * as ValidationModule from './google/validation.ts';
@@ -13,6 +12,7 @@ import { Structuring } from '../compatible-engine/structuring.ts';
13
12
  export type GoogleNativeEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = GoogleNativeEngine.Instance<fdm, vdm>;
14
13
  export declare namespace GoogleNativeEngine {
15
14
  class Instance<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Instance<fdm, vdm, GoogleNativeEngine.RoleMessage.User.From<fdm>, GoogleNativeEngine.RoleMessage.Ai.From<fdm, vdm>, GoogleNativeEngine.RoleMessage.Developer, GoogleNativeEngine.Session.From<fdm, vdm>> {
15
+ protected options: GoogleNativeEngine.Options<fdm, vdm>;
16
16
  protected choice: Structuring.Choice.From<fdm, vdm>;
17
17
  protected codeExecution: boolean;
18
18
  protected urlContext: boolean;
@@ -25,9 +25,9 @@ export declare namespace GoogleNativeEngine {
25
25
  protected partsValidator: GoogleNativeEngine.PartsValidator.From<fdm, vdm>;
26
26
  protected transport: GoogleNativeTransport<fdm, vdm>;
27
27
  constructor(options: GoogleNativeEngine.Options<fdm, vdm>);
28
- protected infer(wfctx: InferenceContext, session: GoogleNativeEngine.Session.From<fdm, vdm>, signal?: AbortSignal): Promise<GoogleNativeEngine.RoleMessage.Ai.From<fdm, vdm>>;
29
28
  appendUserMessage(session: GoogleNativeEngine.Session.From<fdm, vdm>, message: GoogleNativeEngine.RoleMessage.User.From<fdm>): GoogleNativeEngine.Session.From<fdm, vdm>;
30
29
  pushUserMessage(session: GoogleNativeEngine.Session.From<fdm, vdm>, message: GoogleNativeEngine.RoleMessage.User.From<fdm>): GoogleNativeEngine.Session.From<fdm, vdm>;
30
+ clone(): GoogleNativeEngine.Instance<fdm, vdm>;
31
31
  }
32
32
  interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Options<fdm, vdm> {
33
33
  structuringChoice?: Structuring.Choice.From<fdm, vdm>;
@@ -7,9 +7,12 @@ import { MessageCodec as CompatibleMessageCodec } from "../compatible-engine.d/g
7
7
  import * as MessageCodecModule from "./google/message-codec.js";
8
8
  import { GoogleNativeTransport } from "./google/transport.js";
9
9
  import { Structuring } from "../compatible-engine/structuring.js";
10
+ import { env } from 'node:process';
11
+ import { Agent, ProxyAgent } from 'undici';
10
12
  export var GoogleNativeEngine;
11
13
  (function (GoogleNativeEngine) {
12
14
  class Instance extends Engine.Instance {
15
+ options;
13
16
  choice;
14
17
  codeExecution;
15
18
  urlContext;
@@ -23,7 +26,19 @@ export var GoogleNativeEngine;
23
26
  transport;
24
27
  constructor(options) {
25
28
  super(options);
26
- if (options.parallelToolCall === false)
29
+ this.options = options;
30
+ const proxyUrl = options.endpointSpec.proxy || env.https_proxy || env.HTTPS_PROXY;
31
+ this.providerSpec.dispatcher = proxyUrl
32
+ ? new ProxyAgent({
33
+ uri: proxyUrl,
34
+ headersTimeout: 0,
35
+ bodyTimeout: 0,
36
+ })
37
+ : new Agent({
38
+ headersTimeout: 0,
39
+ bodyTimeout: 0,
40
+ });
41
+ if (options.endpointSpec.parallelToolCall === false)
27
42
  throw new Error('Parallel tool calling is required by Google engine.');
28
43
  this.choice = options.structuringChoice ?? Structuring.Choice.AUTO;
29
44
  this.codeExecution = options.codeExecution ?? false;
@@ -59,9 +74,6 @@ export var GoogleNativeEngine;
59
74
  billing: this.billing,
60
75
  });
61
76
  }
62
- infer(wfctx, session, signal) {
63
- return this.transport.fetch(wfctx, session, signal);
64
- }
65
77
  appendUserMessage(session, message) {
66
78
  return {
67
79
  developerMessage: session.developerMessage,
@@ -72,6 +84,12 @@ export var GoogleNativeEngine;
72
84
  session.chatMessages.push(message);
73
85
  return session;
74
86
  }
87
+ clone() {
88
+ const engine = new GoogleNativeEngine.Instance(this.options);
89
+ engine.middlewares = [...this.middlewares];
90
+ engine.statefulMiddlewares = [...this.statefulMiddlewares];
91
+ return engine;
92
+ }
75
93
  }
76
94
  GoogleNativeEngine.Instance = Instance;
77
95
  GoogleNativeEngine.RoleMessage = SessionModule.RoleMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/native-engines.d/google.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/native-engines.d/google.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@ import { Structuring } from './structuring.ts';
2
2
  import type { Function } from '../../function.ts';
3
3
  import type { Verbatim } from '../../verbatim.ts';
4
4
  import type { OpenAI } from 'openai';
5
- export declare function encode<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto>(choice: Structuring.Choice<fdu, vdu>): OpenAI.Responses.ToolChoiceOptions | OpenAI.Responses.ToolChoiceAllowed;
5
+ export declare function encode<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto>(structuringChoice: Structuring.Choice<fdu, vdu>): OpenAI.Responses.ToolChoiceOptions | OpenAI.Responses.ToolChoiceAllowed;
@@ -1,28 +1,28 @@
1
1
  import { Structuring } from "./structuring.js";
2
- export function encode(choice) {
3
- if (choice === Structuring.Choice.NONE)
2
+ export function encode(structuringChoice) {
3
+ if (structuringChoice === Structuring.Choice.NONE)
4
4
  return 'none';
5
- else if (choice === Structuring.Choice.REQUIRED)
5
+ else if (structuringChoice === Structuring.Choice.REQUIRED)
6
6
  return 'auto';
7
- else if (choice === Structuring.Choice.ANYONE)
7
+ else if (structuringChoice === Structuring.Choice.ANYONE)
8
8
  return 'auto';
9
- else if (choice === Structuring.Choice.AUTO)
9
+ else if (structuringChoice === Structuring.Choice.AUTO)
10
10
  return 'auto';
11
- else if (choice === Structuring.Choice.TCall.REQUIRED)
11
+ else if (structuringChoice === Structuring.Choice.TCall.REQUIRED)
12
12
  return 'required';
13
- else if (choice === Structuring.Choice.TCall.ANYONE)
13
+ else if (structuringChoice === Structuring.Choice.TCall.ANYONE)
14
14
  return 'required';
15
- else if (choice instanceof Structuring.Choice.TCall.FCall)
15
+ else if (structuringChoice instanceof Structuring.Choice.TCall.FCall)
16
16
  return {
17
17
  type: 'allowed_tools',
18
18
  mode: 'required',
19
- tools: [{ type: 'function', name: choice.name }],
19
+ tools: [{ type: 'function', name: structuringChoice.name }],
20
20
  };
21
- else if (choice === Structuring.Choice.VRequest.REQUIRED)
21
+ else if (structuringChoice === Structuring.Choice.VRequest.REQUIRED)
22
22
  return 'none';
23
- else if (choice === Structuring.Choice.VRequest.ANYONE)
23
+ else if (structuringChoice === Structuring.Choice.VRequest.ANYONE)
24
24
  return 'none';
25
- else if (choice instanceof Structuring.Choice.VRequest)
25
+ else if (structuringChoice instanceof Structuring.Choice.VRequest)
26
26
  return 'none';
27
27
  else
28
28
  throw new Error();
@@ -1 +1 @@
1
- {"version":3,"file":"choice-codec.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/choice-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,MAAM,UAAU,MAAM,CAIlB,MAAoC;IAEpC,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SACjD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SAC1D,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACxD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAEtD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;SACpE,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;SAClE,IAAI,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;QACrD,OAAO;YACH,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAiD;SACnG,CAAC;SAED,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SACnE,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACjE,IAAI,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;;QAEjE,MAAM,IAAI,KAAK,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"choice-codec.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/choice-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,MAAM,UAAU,MAAM,CAIlB,iBAA+C;IAE/C,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAC5D,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SACrE,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACnE,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAEjE,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;SAC/E,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;SAC7E,IAAI,iBAAiB,YAAY,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;QAChE,OAAO;YACH,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAiD;SAC9G,CAAC;SAED,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SAC9E,IAAI,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SAC5E,IAAI,iBAAiB,YAAY,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;;QAE5E,MAAM,IAAI,KAAK,EAAE,CAAC;AAC3B,CAAC"}
@@ -5,8 +5,10 @@ import { MessageCodec as CompatibleMessageCodec } from '../../compatible-engine.
5
5
  import type { ToolCodec } from '../../api-types/openai-responses/tool-codec.ts';
6
6
  import type { Verbatim } from '../../verbatim.ts';
7
7
  export declare class MessageCodec<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
8
- protected ctx: MessageCodec.Context<fdm, vdm>;
9
- constructor(ctx: MessageCodec.Context<fdm, vdm>);
8
+ protected toolCodec: ToolCodec<fdm>;
9
+ protected compatibleMessageCodec: CompatibleMessageCodec<fdm, vdm>;
10
+ protected vdm: vdm;
11
+ constructor(options: MessageCodec.Options<fdm, vdm>);
10
12
  encodeFunctionResponse(fr: Function.Response.From<fdm>): OpenAI.Responses.ResponseInputItem.FunctionCallOutput;
11
13
  decodeAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): RoleMessage.Ai.From<fdm, vdm>;
12
14
  encodeUserMessage(userMessage: RoleMessage.User.From<fdm>): OpenAI.Responses.ResponseInput;
@@ -15,7 +17,7 @@ export declare class MessageCodec<in out fdm extends Function.Decl.Map.Proto, in
15
17
  encodeChatMessage(chatMessage: Session.ChatMessage.From<fdm, vdm>): OpenAI.Responses.ResponseInput;
16
18
  }
17
19
  export declare namespace MessageCodec {
18
- interface Context<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
20
+ interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
19
21
  toolCodec: ToolCodec<fdm>;
20
22
  compatibleMessageCodec: CompatibleMessageCodec<fdm, vdm>;
21
23
  vdm: vdm;
@@ -1,80 +1,91 @@
1
1
  import { RoleMessage } from "./session.js";
2
2
  import { Function } from "../../function.js";
3
3
  import { Tool } from "./tool.js";
4
- import { ResponseInvalid } from "../../engine.js";
5
4
  import * as VerbatimCodec from "../../verbatim/codec.js";
6
5
  export class MessageCodec {
7
- ctx;
8
- constructor(ctx) {
9
- this.ctx = ctx;
6
+ toolCodec;
7
+ compatibleMessageCodec;
8
+ vdm;
9
+ constructor(options) {
10
+ this.toolCodec = options.toolCodec;
11
+ this.compatibleMessageCodec = options.compatibleMessageCodec;
12
+ this.vdm = options.vdm;
10
13
  }
11
14
  encodeFunctionResponse(fr) {
12
- return this.ctx.toolCodec.encodeFunctionResponse(fr);
15
+ return this.toolCodec.encodeFunctionResponse(fr);
13
16
  }
14
17
  decodeAiMessage(output) {
15
- const parts = output.flatMap((item) => {
16
- if (item.type === 'message') {
17
- if (item.content.every(part => part.type === 'output_text')) { }
18
- else
19
- throw new ResponseInvalid('Refusal', { cause: output });
20
- const text = item.content.map(part => part.text).join('');
21
- if (text)
22
- try {
23
- const vrs = VerbatimCodec.Request.decode(text, this.ctx.vdm);
24
- return [new RoleMessage.Part.Text(text, vrs)];
18
+ const parts = [];
19
+ for (const item of output) {
20
+ if (item.type === 'message')
21
+ for (const part of item.content)
22
+ if (part.type === 'output_text') {
23
+ const vrs = VerbatimCodec.Request.decode(part.text, this.vdm);
24
+ parts.push(new RoleMessage.Part.Text(part.text, vrs));
25
25
  }
26
- catch (e) {
27
- if (e instanceof SyntaxError)
28
- throw new ResponseInvalid('Invalid verbatim message', { cause: output });
29
- else
30
- throw e;
31
- }
32
- else
33
- return [];
34
- }
26
+ else if (part.type === 'refusal')
27
+ throw new SyntaxError('Refusal', { cause: output });
28
+ else
29
+ throw new Error();
35
30
  else if (item.type === 'function_call')
36
- return [this.ctx.toolCodec.decodeFunctionCall(item)];
37
- else if (item.type === 'reasoning')
38
- return [];
31
+ parts.push(this.toolCodec.decodeFunctionCall(item));
32
+ else if (item.type === 'reasoning') { }
39
33
  else if (item.type === 'apply_patch_call')
40
- return [new Tool.ApplyPatch.Call(item)];
34
+ parts.push(new Tool.ApplyPatch.Call(item));
41
35
  else
42
36
  throw new Error();
43
- });
37
+ }
38
+ ;
44
39
  return new RoleMessage.Ai(parts, output);
45
40
  }
46
41
  encodeUserMessage(userMessage) {
47
- return userMessage.getParts().map(part => {
48
- if (part instanceof RoleMessage.Part.Text)
49
- return {
42
+ const responseInput = [];
43
+ let content = [];
44
+ function flush() {
45
+ if (content.length) {
46
+ responseInput.push({
50
47
  type: 'message',
51
48
  role: 'user',
52
- content: part.text,
53
- };
54
- else if (part instanceof Function.Response)
55
- return this.encodeFunctionResponse(part);
56
- else if (part instanceof Tool.ApplyPatch.Response)
57
- return {
49
+ content,
50
+ });
51
+ content = [];
52
+ }
53
+ }
54
+ for (const part of userMessage.getParts()) {
55
+ if (part instanceof RoleMessage.Part.Text)
56
+ content.push({
57
+ type: 'input_text',
58
+ text: part.text,
59
+ });
60
+ else if (part instanceof Function.Response) {
61
+ flush();
62
+ responseInput.push(this.encodeFunctionResponse(part));
63
+ }
64
+ else if (part instanceof Tool.ApplyPatch.Response) {
65
+ flush();
66
+ responseInput.push({
58
67
  type: 'apply_patch_call_output',
59
68
  call_id: part.id,
60
69
  status: part.failure ? 'failed' : 'completed',
61
70
  output: part.failure || undefined,
62
- };
71
+ });
72
+ }
63
73
  else
64
74
  throw new Error();
65
- });
75
+ }
76
+ ;
77
+ flush();
78
+ return responseInput;
66
79
  }
67
80
  encodeAiMessage(aiMessage) {
68
- const raw = aiMessage.getRaw();
69
- return raw.map(item => {
70
- if (item.type !== 'computer_call_output')
71
- return item;
72
- else
73
- throw new Error('Computer calls are not supported yet.');
74
- });
81
+ const responseInput = aiMessage.getRaw();
82
+ if (responseInput.every(item => item.type !== 'computer_call_output')) { }
83
+ else
84
+ throw new Error('Computer calls are not supported yet.');
85
+ return responseInput;
75
86
  }
76
87
  encodeDeveloperMessage(developerMessage) {
77
- return this.ctx.compatibleMessageCodec.encodeDeveloperMessage(developerMessage);
88
+ return this.compatibleMessageCodec.encodeDeveloperMessage(developerMessage);
78
89
  }
79
90
  encodeChatMessage(chatMessage) {
80
91
  if (chatMessage instanceof RoleMessage.User)
@@ -1 +1 @@
1
- {"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/message-codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/message-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAIzD,MAAM,OAAO,YAAY;IAIX,SAAS,CAAiB;IAC1B,sBAAsB,CAAmC;IACzD,GAAG,CAAM;IACnB,YAAmB,OAAuC;QACtD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAC3B,CAAC;IAEM,sBAAsB,CACzB,EAA+B;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,eAAe,CAClB,MAA6C;QAE7C,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO;oBAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBAC9B,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC1D,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;wBAC9B,MAAM,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;;wBACnD,MAAM,IAAI,KAAK,EAAE,CAAC;iBAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;gBAClC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC,CAAA,CAAC;iBACjC,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;gBACrC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;gBAC1C,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,CAAC;QAAA,CAAC;QACF,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEM,iBAAiB,CACpB,WAAuC;QAEvC,MAAM,aAAa,GAAmC,EAAE,CAAC;QACzD,IAAI,OAAO,GAA4C,EAAE,CAAC;QAC1D,SAAS,KAAK;YACV,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,aAAa,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO;iBACV,CAAC,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;QACL,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI;gBACrC,OAAO,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC;iBACF,IAAI,IAAI,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACzC,KAAK,EAAE,CAAC;gBACR,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,IAAI,YAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAClD,KAAK,EAAE,CAAC;gBACR,aAAa,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;oBAC7C,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;iBACpC,CAAC,CAAC;YACP,CAAC;;gBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC7B,CAAC;QAAA,CAAC;QACF,KAAK,EAAE,CAAC;QACR,OAAO,aAAa,CAAC;IACzB,CAAC;IAEM,eAAe,CAClB,SAAwC;QAExC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,EAAE,CAAC,CAAA,CAAC;;YACrE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,OAAO,aAAa,CAAC;IACzB,CAAC;IAEM,sBAAsB,CACzB,gBAAuC;QAEvC,OAAO,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC;IAEM,iBAAiB,CACpB,WAA+C;QAE/C,IAAI,WAAW,YAAY,WAAW,CAAC,IAAI;YACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;aAC1C,IAAI,WAAW,YAAY,WAAW,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;;YACxC,MAAM,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
1
  import { type InferenceParams, type ProviderSpec } from '../../engine.ts';
2
2
  import { RoleMessage, type Session } from './session.ts';
3
3
  import { Function } from '../../function.ts';
4
- import type OpenAI from 'openai';
4
+ import OpenAI from 'openai';
5
5
  import { type InferenceContext } from '../../inference-context.ts';
6
6
  import { Throttle } from '../../throttle.ts';
7
7
  import type { MessageCodec } from './message-codec.ts';
@@ -10,15 +10,23 @@ import type { Billing } from '../../api-types/openai-responses/billing.ts';
10
10
  import type { Verbatim } from '../../verbatim.ts';
11
11
  import { Structuring } from './structuring.ts';
12
12
  export declare class Transport<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> {
13
- protected ctx: Transport.Context<fdm, vdm>;
14
- protected apiURL: URL;
15
- constructor(ctx: Transport.Context<fdm, vdm>);
16
- protected makeParams(session: Session.From<fdm, vdm>): OpenAI.Responses.ResponseCreateParamsNonStreaming;
13
+ protected client: OpenAI;
14
+ protected inferenceParams: InferenceParams;
15
+ protected providerSpec: ProviderSpec;
16
+ protected fdm: fdm;
17
+ protected throttle: Throttle;
18
+ protected choice: Structuring.Choice.From<fdm, vdm>;
19
+ protected applyPatch: boolean;
20
+ protected messageCodec: MessageCodec<fdm, vdm>;
21
+ protected toolCodec: ToolCodec<fdm>;
22
+ protected billing: Billing;
23
+ constructor(options: Transport.Options<fdm, vdm>);
24
+ protected makeParams(session: Session.From<fdm, vdm>): OpenAI.Responses.ResponseCreateParamsStreaming;
17
25
  protected logAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): void;
18
26
  fetch(wfctx: InferenceContext, session: Session.From<fdm, vdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm, vdm>>;
19
27
  }
20
28
  export declare namespace Transport {
21
- interface Context<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
29
+ interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
22
30
  inferenceParams: InferenceParams;
23
31
  providerSpec: ProviderSpec;
24
32
  fdm: fdm;
@@ -1,29 +1,50 @@
1
- import { NetworkError, ResponseInvalid } from "../../engine.js";
2
- import * as Undici from 'undici';
1
+ import OpenAI from 'openai';
3
2
  import { loggers } from "../../telemetry.js";
4
3
  import * as ChoiceCodec from "./choice-codec.js";
5
- import { MIMEType } from 'whatwg-mimetype';
4
+ import * as Undici from 'undici';
6
5
  export class Transport {
7
- ctx;
8
- apiURL;
9
- constructor(ctx) {
10
- this.ctx = ctx;
11
- this.apiURL = new URL(`${this.ctx.providerSpec.baseUrl}/responses`);
6
+ client;
7
+ inferenceParams;
8
+ providerSpec;
9
+ fdm;
10
+ throttle;
11
+ choice;
12
+ applyPatch;
13
+ messageCodec;
14
+ toolCodec;
15
+ billing;
16
+ constructor(options) {
17
+ this.client = new OpenAI({
18
+ baseURL: options.providerSpec.baseUrl,
19
+ apiKey: options.providerSpec.apiKey,
20
+ fetch: Undici.fetch,
21
+ fetchOptions: { dispatcher: options.providerSpec.dispatcher },
22
+ });
23
+ this.inferenceParams = options.inferenceParams;
24
+ this.providerSpec = options.providerSpec;
25
+ this.fdm = options.fdm;
26
+ this.throttle = options.throttle;
27
+ this.choice = options.choice;
28
+ this.applyPatch = options.applyPatch;
29
+ this.messageCodec = options.messageCodec;
30
+ this.toolCodec = options.toolCodec;
31
+ this.billing = options.billing;
12
32
  }
13
33
  makeParams(session) {
14
- const tools = this.ctx.toolCodec.encodeFunctionDeclarationMap(this.ctx.fdm);
15
- if (this.ctx.applyPatch)
34
+ const tools = this.toolCodec.encodeFunctionDeclarationMap(this.fdm);
35
+ if (this.applyPatch)
16
36
  tools.push({ type: 'apply_patch' });
17
37
  return {
18
- model: this.ctx.inferenceParams.model,
38
+ model: this.inferenceParams.model,
19
39
  include: ['reasoning.encrypted_content'],
20
40
  store: false,
21
- input: session.chatMessages.flatMap(chatMessage => this.ctx.messageCodec.encodeChatMessage(chatMessage)),
22
- instructions: session.developerMessage && this.ctx.messageCodec.encodeDeveloperMessage(session.developerMessage),
41
+ stream: true,
42
+ input: session.chatMessages.flatMap(chatMessage => this.messageCodec.encodeChatMessage(chatMessage)),
43
+ instructions: session.developerMessage && this.messageCodec.encodeDeveloperMessage(session.developerMessage),
23
44
  tools: tools.length ? tools : undefined,
24
- tool_choice: tools.length ? ChoiceCodec.encode(this.ctx.choice) : undefined,
25
- parallel_tool_calls: tools.length ? this.ctx.inferenceParams.parallelToolCall : undefined,
26
- ...this.ctx.inferenceParams.additionalOptions,
45
+ tool_choice: tools.length ? ChoiceCodec.encode(this.choice) : undefined,
46
+ parallel_tool_calls: tools.length ? this.inferenceParams.parallelToolCall : undefined,
47
+ ...this.inferenceParams.additionalOptions,
27
48
  };
28
49
  }
29
50
  logAiMessage(output) {
@@ -31,7 +52,7 @@ export class Transport {
31
52
  if (item.type === 'message') {
32
53
  if (item.content.every(part => part.type === 'output_text')) { }
33
54
  else
34
- throw new ResponseInvalid('Refusal', { cause: output });
55
+ throw new SyntaxError('Refusal', { cause: output });
35
56
  loggers.inference.info(item.content.map(part => part.text).join(''));
36
57
  }
37
58
  else if (item.type === 'function_call')
@@ -40,56 +61,37 @@ export class Transport {
40
61
  loggers.message.info(item);
41
62
  }
42
63
  async fetch(wfctx, session, signal) {
43
- await this.ctx.throttle.requests(wfctx);
64
+ await this.throttle.requests(wfctx);
44
65
  // Prepare request
45
66
  const params = this.makeParams(session);
46
67
  loggers.message.debug(params);
47
68
  // Send request
48
- const res = await Undici.fetch(this.apiURL, {
49
- method: 'POST',
50
- headers: {
51
- 'Content-Type': 'application/json',
52
- 'Authorization': `Bearer ${this.ctx.providerSpec.apiKey}`,
53
- },
54
- body: JSON.stringify(params),
55
- dispatcher: this.ctx.providerSpec.dispatcher,
56
- signal,
57
- }).catch(e => {
58
- if (e instanceof TypeError)
59
- throw new NetworkError(undefined, { cause: e });
60
- else
61
- throw e;
62
- });
63
- // Get response
64
- if (res.ok) { }
65
- else {
66
- const contentType = res.headers.get('Content-Type');
67
- if (contentType) { }
68
- else
69
- throw new Error(res.statusText, { cause: res });
70
- const mimeType = new MIMEType(contentType);
71
- if (mimeType.essence === 'application/json')
72
- throw new Error(res.statusText, { cause: await res.json() });
73
- else if (mimeType.type === 'text')
74
- throw new Error(res.statusText, { cause: await res.text() });
75
- else
76
- throw new Error(res.statusText, { cause: res });
69
+ let response = null;
70
+ const stream = await this.client.responses.create(params, { signal });
71
+ for await (const event of stream) {
72
+ loggers.stream.trace(event);
73
+ if (event.type === 'response.completed')
74
+ response = event.response;
75
+ else if (event.type === 'response.incomplete')
76
+ response = event.response;
77
+ else if (event.type === 'error')
78
+ throw new SyntaxError(event.message, { cause: event });
77
79
  }
78
- const response = await res.json();
79
- loggers.message.debug(response);
80
80
  // Validate response
81
- if (response.status === 'incomplete' && response.incomplete_details?.reason === 'max_output_tokens')
82
- throw new ResponseInvalid('Token limit exceeded.', { cause: response });
81
+ if (response) { }
82
+ else
83
+ throw new Error();
84
+ loggers.message.debug(response);
83
85
  if (response.status === 'completed') { }
84
86
  else
85
- throw new ResponseInvalid('Abnormal response status', { cause: response });
87
+ throw new SyntaxError('Abnormal response status', { cause: response });
86
88
  if (response.usage) { }
87
89
  else
88
90
  throw new Error();
89
91
  this.logAiMessage(response.output);
90
- wfctx.cost?.(this.ctx.billing.charge(response.usage));
92
+ wfctx.cost?.(this.billing.charge(response.usage));
91
93
  loggers.message.info(response.usage);
92
- return this.ctx.messageCodec.decodeAiMessage(response.output);
94
+ return this.messageCodec.decodeAiMessage(response.output);
93
95
  }
94
96
  }
95
97
  //# sourceMappingURL=transport.js.map