@zimtsui/brainswitch 0.0.54 → 0.0.56

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 (215) hide show
  1. package/DEVELOPMENT.md +13 -14
  2. package/README.md +7 -14
  3. package/build/adaptor.d.ts +5 -5
  4. package/build/adaptor.js +16 -16
  5. package/build/adaptor.js.map +1 -1
  6. package/build/agentloop.d.ts +5 -5
  7. package/build/agentloop.js +4 -4
  8. package/build/agentloop.js.map +1 -1
  9. package/build/api-types/anthropic/billing.d.ts +12 -0
  10. package/build/api-types/anthropic/billing.js +15 -0
  11. package/build/api-types/anthropic/billing.js.map +1 -0
  12. package/build/api-types/anthropic/tool-codec.d.ts +17 -0
  13. package/build/api-types/anthropic/tool-codec.js +73 -0
  14. package/build/api-types/anthropic/tool-codec.js.map +1 -0
  15. package/build/api-types/google/billing.d.ts +12 -0
  16. package/build/api-types/google/billing.js +24 -0
  17. package/build/api-types/google/billing.js.map +1 -0
  18. package/build/api-types/google/restful-request.d.ts +8 -0
  19. package/build/api-types/google/restful-request.js +2 -0
  20. package/build/api-types/google/restful-request.js.map +1 -0
  21. package/build/api-types/google/tool-codec.d.ts +16 -0
  22. package/build/api-types/{google.js → google/tool-codec.js} +27 -26
  23. package/build/api-types/google/tool-codec.js.map +1 -0
  24. package/build/api-types/openai-chatcompletion/billing.d.ts +13 -0
  25. package/build/api-types/openai-chatcompletion/billing.js +16 -0
  26. package/build/api-types/openai-chatcompletion/billing.js.map +1 -0
  27. package/build/api-types/openai-chatcompletion/tool-codec.d.ts +18 -0
  28. package/build/api-types/openai-chatcompletion/tool-codec.js +86 -0
  29. package/build/api-types/openai-chatcompletion/tool-codec.js.map +1 -0
  30. package/build/api-types/openai-responses/billing.d.ts +12 -0
  31. package/build/api-types/openai-responses/billing.js +15 -0
  32. package/build/api-types/openai-responses/billing.js.map +1 -0
  33. package/build/api-types/openai-responses/tool-codec.d.ts +16 -0
  34. package/build/api-types/openai-responses/tool-codec.js +72 -0
  35. package/build/api-types/openai-responses/tool-codec.js.map +1 -0
  36. package/build/compatible/engine.d/aliyun.d.ts +23 -0
  37. package/build/compatible/engine.d/aliyun.js +44 -0
  38. package/build/compatible/engine.d/aliyun.js.map +1 -0
  39. package/build/compatible/engine.d/anthropic.d.ts +23 -0
  40. package/build/compatible/engine.d/anthropic.js +41 -0
  41. package/build/compatible/engine.d/anthropic.js.map +1 -0
  42. package/build/compatible/engine.d/google.d.ts +23 -0
  43. package/build/compatible/engine.d/google.js +45 -0
  44. package/build/compatible/engine.d/google.js.map +1 -0
  45. package/build/compatible/engine.d/openai-responses.d.ts +23 -0
  46. package/build/compatible/engine.d/openai-responses.js +41 -0
  47. package/build/compatible/engine.d/openai-responses.js.map +1 -0
  48. package/build/compatible/engine.d.ts +18 -0
  49. package/build/compatible/engine.js +21 -0
  50. package/build/compatible/engine.js.map +1 -0
  51. package/build/compatible/session.d.ts +78 -0
  52. package/build/compatible/session.js +138 -0
  53. package/build/compatible/session.js.map +1 -0
  54. package/build/compatible/tool-call-validator.d.ts +11 -0
  55. package/build/compatible/tool-call-validator.js +12 -0
  56. package/build/compatible/tool-call-validator.js.map +1 -0
  57. package/build/compatible.d/aliyun/transport.d.ts +11 -0
  58. package/build/compatible.d/aliyun/transport.js +9 -0
  59. package/build/compatible.d/aliyun/transport.js.map +1 -0
  60. package/build/compatible.d/anthropic/message-codec.d.ts +31 -0
  61. package/build/compatible.d/anthropic/message-codec.js +88 -0
  62. package/build/compatible.d/anthropic/message-codec.js.map +1 -0
  63. package/build/compatible.d/anthropic/transport.d.ts +31 -0
  64. package/build/compatible.d/anthropic/transport.js +137 -0
  65. package/build/compatible.d/anthropic/transport.js.map +1 -0
  66. package/build/compatible.d/google/message-codec.d.ts +31 -0
  67. package/build/compatible.d/google/message-codec.js +98 -0
  68. package/build/compatible.d/google/message-codec.js.map +1 -0
  69. package/build/compatible.d/google/transport.d.ts +28 -0
  70. package/build/compatible.d/google/transport.js +74 -0
  71. package/build/compatible.d/google/transport.js.map +1 -0
  72. package/build/compatible.d/openai-chatcompletions/message-codec.d.ts +19 -0
  73. package/build/compatible.d/openai-chatcompletions/message-codec.js +66 -0
  74. package/build/compatible.d/openai-chatcompletions/message-codec.js.map +1 -0
  75. package/build/compatible.d/openai-chatcompletions/transport.d.ts +9 -0
  76. package/build/compatible.d/openai-chatcompletions/transport.js +25 -0
  77. package/build/compatible.d/openai-chatcompletions/transport.js.map +1 -0
  78. package/build/compatible.d/openai-chatcompletions.d/monolith.d.ts +36 -0
  79. package/build/compatible.d/openai-chatcompletions.d/monolith.js +74 -0
  80. package/build/compatible.d/openai-chatcompletions.d/monolith.js.map +1 -0
  81. package/build/compatible.d/openai-chatcompletions.d/stream.d.ts +35 -0
  82. package/build/{compatible-engines.d → compatible.d}/openai-chatcompletions.d/stream.js +52 -42
  83. package/build/compatible.d/openai-chatcompletions.d/stream.js.map +1 -0
  84. package/build/compatible.d/openai-responses/message-codec.d.ts +32 -0
  85. package/build/compatible.d/openai-responses/message-codec.js +105 -0
  86. package/build/compatible.d/openai-responses/message-codec.js.map +1 -0
  87. package/build/compatible.d/openai-responses/transport.d.ts +33 -0
  88. package/build/compatible.d/openai-responses/transport.js +88 -0
  89. package/build/compatible.d/openai-responses/transport.js.map +1 -0
  90. package/build/config.js +1 -1
  91. package/build/config.js.map +1 -1
  92. package/build/engine.d.ts +48 -26
  93. package/build/engine.js +78 -29
  94. package/build/engine.js.map +1 -1
  95. package/build/exports.d.ts +14 -13
  96. package/build/exports.js +14 -13
  97. package/build/exports.js.map +1 -1
  98. package/build/function.d.ts +25 -13
  99. package/build/function.js +2 -1
  100. package/build/function.js.map +1 -1
  101. package/build/inference-context.d.ts +1 -1
  102. package/build/native-engines.d/google/agentloop.d.ts +6 -6
  103. package/build/native-engines.d/google/agentloop.js +5 -5
  104. package/build/native-engines.d/google/agentloop.js.map +1 -1
  105. package/build/native-engines.d/google/engine.d.ts +28 -103
  106. package/build/native-engines.d/google/engine.js +63 -304
  107. package/build/native-engines.d/google/engine.js.map +1 -1
  108. package/build/native-engines.d/google/exports.d.ts +5 -5
  109. package/build/native-engines.d/google/exports.js +5 -5
  110. package/build/native-engines.d/google/exports.js.map +1 -1
  111. package/build/native-engines.d/google/message-codec.d.ts +21 -0
  112. package/build/native-engines.d/google/message-codec.js +69 -0
  113. package/build/native-engines.d/google/message-codec.js.map +1 -0
  114. package/build/native-engines.d/google/session.d.ts +16 -15
  115. package/build/native-engines.d/google/session.js +2 -2
  116. package/build/native-engines.d/google/session.js.map +1 -1
  117. package/build/native-engines.d/google/transport.d.ts +31 -0
  118. package/build/native-engines.d/google/transport.js +81 -0
  119. package/build/native-engines.d/google/transport.js.map +1 -0
  120. package/build/native-engines.d/openai-responses/agentloop.d.ts +7 -7
  121. package/build/native-engines.d/openai-responses/agentloop.js +6 -6
  122. package/build/native-engines.d/openai-responses/agentloop.js.map +1 -1
  123. package/build/native-engines.d/openai-responses/engine.d.ts +26 -106
  124. package/build/native-engines.d/openai-responses/engine.js +53 -334
  125. package/build/native-engines.d/openai-responses/engine.js.map +1 -1
  126. package/build/native-engines.d/openai-responses/exports.d.ts +6 -7
  127. package/build/native-engines.d/openai-responses/exports.js +6 -7
  128. package/build/native-engines.d/openai-responses/exports.js.map +1 -1
  129. package/build/native-engines.d/openai-responses/message-codec.d.ts +21 -0
  130. package/build/native-engines.d/openai-responses/message-codec.js +69 -0
  131. package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
  132. package/build/native-engines.d/openai-responses/session.d.ts +27 -26
  133. package/build/native-engines.d/openai-responses/session.js +3 -3
  134. package/build/native-engines.d/openai-responses/session.js.map +1 -1
  135. package/build/native-engines.d/openai-responses/tool-call-validator.d.ts +12 -0
  136. package/build/native-engines.d/openai-responses/tool-call-validator.js +33 -0
  137. package/build/native-engines.d/openai-responses/tool-call-validator.js.map +1 -0
  138. package/build/native-engines.d/openai-responses/tool.d.ts +3 -3
  139. package/build/native-engines.d/openai-responses/tool.js +1 -1
  140. package/build/native-engines.d/openai-responses/tool.js.map +1 -1
  141. package/build/native-engines.d/openai-responses/transport.d.ts +36 -0
  142. package/build/native-engines.d/openai-responses/transport.js +104 -0
  143. package/build/native-engines.d/openai-responses/transport.js.map +1 -0
  144. package/build/session.d.ts +5 -75
  145. package/build/session.js +0 -136
  146. package/build/session.js.map +1 -1
  147. package/build/throttle.d.ts +1 -1
  148. package/build/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +4 -4
  150. package/test/build/test-codecs.js +230 -0
  151. package/test/build/test-codecs.js.map +1 -0
  152. package/test/build/test-compatible-engine.d.ts +1 -0
  153. package/test/build/test-compatible-engine.js +27 -0
  154. package/test/build/test-compatible-engine.js.map +1 -0
  155. package/test/build/test-compatible-engines.d.ts +1 -0
  156. package/test/build/test-compatible-engines.js +112 -0
  157. package/test/build/test-compatible-engines.js.map +1 -0
  158. package/test/build/test-engine.d.ts +1 -0
  159. package/test/build/test-engine.js +97 -0
  160. package/test/build/test-engine.js.map +1 -0
  161. package/test/build/test-helpers.d.ts +46 -0
  162. package/test/build/test-helpers.js +45 -0
  163. package/test/build/test-helpers.js.map +1 -0
  164. package/test/build/test-native-engines.d.ts +1 -0
  165. package/test/build/test-native-engines.js +64 -0
  166. package/test/build/test-native-engines.js.map +1 -0
  167. package/test/build/test.d.ts +5 -0
  168. package/test/build/test.js +6 -0
  169. package/test/build/test.js.map +1 -0
  170. package/test/build/tsconfig.tsbuildinfo +1 -0
  171. package/test/src/test-codecs.ts +256 -0
  172. package/test/src/test-compatible-engine.ts +45 -0
  173. package/test/src/test-compatible-engines.ts +129 -0
  174. package/test/src/test-engine.ts +144 -0
  175. package/test/src/test-helpers.ts +53 -0
  176. package/test/src/test-native-engines.ts +75 -0
  177. package/test/src/test.ts +5 -0
  178. package/test/src/tsconfig.json +30 -0
  179. package/build/api-types/anthropic.d.ts +0 -29
  180. package/build/api-types/anthropic.js +0 -93
  181. package/build/api-types/anthropic.js.map +0 -1
  182. package/build/api-types/google.d.ts +0 -28
  183. package/build/api-types/google.js.map +0 -1
  184. package/build/api-types/openai-chat-completions.d.ts +0 -31
  185. package/build/api-types/openai-chat-completions.js +0 -113
  186. package/build/api-types/openai-chat-completions.js.map +0 -1
  187. package/build/api-types/openai-responses.d.ts +0 -23
  188. package/build/api-types/openai-responses.js +0 -71
  189. package/build/api-types/openai-responses.js.map +0 -1
  190. package/build/compatible-engine.d.ts +0 -51
  191. package/build/compatible-engine.js +0 -67
  192. package/build/compatible-engine.js.map +0 -1
  193. package/build/compatible-engines.d/aliyun.d.ts +0 -69
  194. package/build/compatible-engines.d/aliyun.js +0 -149
  195. package/build/compatible-engines.d/aliyun.js.map +0 -1
  196. package/build/compatible-engines.d/anthropic.d.ts +0 -78
  197. package/build/compatible-engines.d/anthropic.js +0 -312
  198. package/build/compatible-engines.d/anthropic.js.map +0 -1
  199. package/build/compatible-engines.d/google.d.ts +0 -83
  200. package/build/compatible-engines.d/google.js +0 -279
  201. package/build/compatible-engines.d/google.js.map +0 -1
  202. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.d.ts +0 -15
  203. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js +0 -75
  204. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js.map +0 -1
  205. package/build/compatible-engines.d/openai-chatcompletions.d/stream.d.ts +0 -21
  206. package/build/compatible-engines.d/openai-chatcompletions.d/stream.js.map +0 -1
  207. package/build/compatible-engines.d/openai-chatcompletions.d.ts +0 -27
  208. package/build/compatible-engines.d/openai-chatcompletions.js +0 -76
  209. package/build/compatible-engines.d/openai-chatcompletions.js.map +0 -1
  210. package/build/compatible-engines.d/openai-responses.d.ts +0 -93
  211. package/build/compatible-engines.d/openai-responses.js +0 -300
  212. package/build/compatible-engines.d/openai-responses.js.map +0 -1
  213. package/build/test.js +0 -198
  214. package/build/test.js.map +0 -1
  215. /package/{build/test.d.ts → test/build/test-codecs.d.ts} +0 -0
@@ -1,12 +1,13 @@
1
- import * as Compatible from '../../session.ts';
2
- import { Function } from '../../function.ts';
3
- import { Tool } from './tool.ts';
1
+ import * as Compatible from '#@/compatible/session.ts';
2
+ import { Function } from '#@/function.ts';
3
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
4
+ import type { GenericSession } from '#@/session.ts';
4
5
  import OpenAI from 'openai';
5
- export interface Session<out fdu extends Function.Declaration = never> {
6
- developerMessage?: RoleMessage.Developer;
7
- chatMessages: ChatMessage<fdu>[];
6
+ export interface Session<in out fdm extends Function.Declaration.Map> extends GenericSession<RoleMessage.User<fdm>, RoleMessage.Ai<fdm>, RoleMessage.Developer> {
7
+ }
8
+ export declare namespace Session {
9
+ type ChatMessage<fdm extends Function.Declaration.Map> = GenericSession.ChatMessage<RoleMessage.User<fdm>, RoleMessage.Ai<fdm>>;
8
10
  }
9
- export type ChatMessage<fdu extends Function.Declaration = never> = RoleMessage.User<fdu> | RoleMessage.Ai<fdu>;
10
11
  export type RoleMessage = RoleMessage.Instance;
11
12
  export declare namespace RoleMessage {
12
13
  const NOMINAL: unique symbol;
@@ -18,41 +19,41 @@ export declare namespace RoleMessage {
18
19
  namespace Part {
19
20
  export import Text = Compatible.RoleMessage.Part.Text;
20
21
  }
21
- type Ai<fdu extends Function.Declaration = never> = Ai.Instance<fdu>;
22
+ type Ai<fdm extends Function.Declaration.Map> = Ai.Instance<fdm>;
22
23
  namespace Ai {
23
- function create<fdu extends Function.Declaration = never>(parts: RoleMessage.Ai.Part<fdu>[], raw: OpenAI.Responses.ResponseOutputItem[]): RoleMessage.Ai<fdu>;
24
+ function create<fdm extends Function.Declaration.Map>(parts: RoleMessage.Ai.Part<fdm>[], raw: OpenAI.Responses.ResponseOutputItem[]): RoleMessage.Ai<fdm>;
24
25
  const NOMINAL: unique symbol;
25
- class Instance<out fdu extends Function.Declaration = never> extends RoleMessage.Instance {
26
- protected parts: RoleMessage.Ai.Part<fdu>[];
26
+ class Instance<in out fdm extends Function.Declaration.Map> extends RoleMessage.Instance {
27
+ protected parts: RoleMessage.Ai.Part<fdm>[];
27
28
  protected raw: OpenAI.Responses.ResponseOutputItem[];
28
29
  readonly [NOMINAL]: void;
29
- constructor(parts: RoleMessage.Ai.Part<fdu>[], raw: OpenAI.Responses.ResponseOutputItem[]);
30
- getParts(): RoleMessage.Ai.Part<fdu>[];
30
+ constructor(parts: RoleMessage.Ai.Part<fdm>[], raw: OpenAI.Responses.ResponseOutputItem[]);
31
+ getParts(): RoleMessage.Ai.Part<fdm>[];
31
32
  getRaw(): OpenAI.Responses.ResponseOutputItem[];
32
33
  getText(): string;
33
34
  getOnlyText(): string;
34
- getOnlyFunctionCall(): Function.Call.Distributive<fdu>;
35
+ getOnlyFunctionCall(): Function.Call.From<fdm>;
35
36
  getOnlyApplyPatchCall(): Tool.ApplyPatch.Call;
36
- getToolCalls(): Tool.Call<fdu>[];
37
- getFunctionCalls(): Function.Call.Distributive<fdu>[];
38
- getOnlyFunctionCalls(): Function.Call.Distributive<fdu>[];
37
+ getToolCalls(): Tool.Call<fdm>[];
38
+ getFunctionCalls(): Function.Call.From<fdm>[];
39
+ getOnlyFunctionCalls(): Function.Call.From<fdm>[];
39
40
  }
40
- type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Tool.Call<fdu>;
41
+ type Part<fdm extends Function.Declaration.Map> = RoleMessage.Part.Text | Tool.Call<fdm>;
41
42
  }
42
- type User<fdu extends Function.Declaration = never> = User.Instance<fdu>;
43
+ type User<fdm extends Function.Declaration.Map> = User.Instance<fdm>;
43
44
  namespace User {
44
- function create<fdu extends Function.Declaration = never>(parts: User.Part<fdu>[]): User<fdu>;
45
+ function create<fdm extends Function.Declaration.Map>(parts: User.Part<fdm>[]): User<fdm>;
45
46
  const NOMINAL: unique symbol;
46
- class Instance<out fdu extends Function.Declaration = never> extends RoleMessage.Instance {
47
- protected parts: RoleMessage.User.Part<fdu>[];
47
+ class Instance<in out fdm extends Function.Declaration.Map> extends RoleMessage.Instance {
48
+ protected parts: RoleMessage.User.Part<fdm>[];
48
49
  private readonly [NOMINAL];
49
- constructor(parts: RoleMessage.User.Part<fdu>[]);
50
- getParts(): RoleMessage.User.Part<fdu>[];
50
+ constructor(parts: RoleMessage.User.Part<fdm>[]);
51
+ getParts(): RoleMessage.User.Part<fdm>[];
51
52
  getText(): string;
52
53
  getOnlyText(): string;
53
- getToolResponses(): Tool.Response<fdu>[];
54
+ getToolResponses(): Tool.Response<fdm>[];
54
55
  }
55
- type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Tool.Response<fdu>;
56
+ type Part<fdm extends Function.Declaration.Map> = RoleMessage.Part.Text | Tool.Response<fdm>;
56
57
  }
57
58
  export import Developer = Compatible.RoleMessage.Developer;
58
59
  }
@@ -1,6 +1,6 @@
1
- import * as Compatible from "../../session.js";
2
- import { Function } from "../../function.js";
3
- import { Tool } from "./tool.js";
1
+ import * as Compatible from '#@/compatible/session.ts';
2
+ import { Function } from '#@/function.ts';
3
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
4
4
  import OpenAI from 'openai';
5
5
  export var RoleMessage;
6
6
  (function (RoleMessage) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Function } from '#@/function.ts';
2
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
3
+ export declare class OpenAIResponsesNativeToolCallValidator<fdm extends Function.Declaration.Map> {
4
+ protected ctx: OpenAIResponsesNativeToolCallValidator.Context<fdm>;
5
+ constructor(ctx: OpenAIResponsesNativeToolCallValidator.Context<fdm>);
6
+ validate(toolCalls: Tool.Call<fdm>[]): void;
7
+ }
8
+ export declare namespace OpenAIResponsesNativeToolCallValidator {
9
+ interface Context<fdm extends Function.Declaration.Map> {
10
+ toolChoice: Tool.Choice<fdm>;
11
+ }
12
+ }
@@ -0,0 +1,33 @@
1
+ import { Function } from '#@/function.ts';
2
+ import { ResponseInvalid } from '#@/engine.ts';
3
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
4
+ export class OpenAIResponsesNativeToolCallValidator {
5
+ ctx;
6
+ constructor(ctx) {
7
+ this.ctx = ctx;
8
+ }
9
+ validate(toolCalls) {
10
+ if (this.ctx.toolChoice === Function.ToolChoice.REQUIRED)
11
+ if (toolCalls.length) { }
12
+ else
13
+ throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
14
+ else if (this.ctx.toolChoice instanceof Array)
15
+ for (const tc of toolCalls) {
16
+ if (tc instanceof Function.Call)
17
+ if (this.ctx.toolChoice.includes(tc.name)) { }
18
+ else
19
+ throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
20
+ else if (tc instanceof Tool.ApplyPatch.Call)
21
+ if (this.ctx.toolChoice.includes(Tool.Choice.APPLY_PATCH)) { }
22
+ else
23
+ throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
24
+ else
25
+ throw new Error();
26
+ }
27
+ else if (this.ctx.toolChoice === Function.ToolChoice.NONE)
28
+ if (!toolCalls.length) { }
29
+ else
30
+ throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
31
+ }
32
+ }
33
+ //# sourceMappingURL=tool-call-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-validator.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool-call-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,8CAA8C,CAAC;AAIpE,MAAM,OAAO,sCAAsC;IAClB;IAA7B,YAA6B,GAAwD;QAAxD,QAAG,GAAH,GAAG,CAAqD;IAAG,CAAC;IAElF,QAAQ,CACX,SAA2B;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,QAAQ;YACpD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;aACtG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,YAAY,KAAK;YAAE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBACxE,IAAI,EAAE,YAAY,QAAQ,CAAC,IAAI;oBAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC;;wBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;qBAC3H,IAAI,EAAE,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA,CAAC;;wBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;;oBAC3I,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI;YACvD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAChH,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- import { Function } from '../../function.ts';
1
+ import { Function } from '#@/function.ts';
2
2
  import OpenAI from 'openai';
3
3
  export declare namespace Tool {
4
4
  type Name<fdm extends Function.Declaration.Map> = Function.Declaration.Map.NameOf<fdm> | typeof Tool.Choice.APPLY_PATCH;
@@ -9,8 +9,8 @@ export declare namespace Tool {
9
9
  namespace Choice {
10
10
  const APPLY_PATCH: unique symbol;
11
11
  }
12
- type Call<fdu extends Function.Declaration = never> = Function.Call.Distributive<fdu> | ApplyPatch.Call;
13
- type Response<fdu extends Function.Declaration = never> = Function.Response.Distributive<fdu> | ApplyPatch.Response;
12
+ type Call<fdm extends Function.Declaration.Map> = Function.Call.From<fdm> | ApplyPatch.Call;
13
+ type Response<fdm extends Function.Declaration.Map> = Function.Response.Distributive<fdm> | ApplyPatch.Response;
14
14
  interface ApplyPatch {
15
15
  /**
16
16
  * @returns empty string on success
@@ -1,4 +1,4 @@
1
- import { Function } from "../../function.js";
1
+ import { Function } from '#@/function.ts';
2
2
  import OpenAI from 'openai';
3
3
  export var Tool;
4
4
  (function (Tool) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,KAAW,IAAI,CAmFpB;AAnFD,WAAiB,IAAI;IAoBjB,IAAiB,MAAM,CAEtB;IAFD,WAAiB,MAAM;QACN,kBAAW,GAAG,MAAM,EAAE,CAAC;IACxC,CAAC,EAFgB,MAAM,GAAN,WAAM,KAAN,WAAM,QAEtB;IAqCD,IAAiB,UAAU,CAqB1B;IArBD,WAAiB,UAAU;QAEvB,MAAa,IAAI;YAIa;YAHnB,MAAM,CAAC,MAAM,CAAC,GAAgD;gBACjE,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,YAA0B,GAAgD;gBAAhD,QAAG,GAAH,GAAG,CAA6C;YAAG,CAAC;SACjF;QALY,eAAI,OAKhB,CAAA;QAED,MAAa,QAAQ;YACV,EAAE,CAAS;YACX,OAAO,CAAS;YAChB,MAAM,CAAC,MAAM,CAAC,GAAqC;gBACtD,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,YAAmB,GAAqC;gBACpD,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC/B,CAAC;SACJ;QAVY,mBAAQ,WAUpB,CAAA;IAEL,CAAC,EArBgB,UAAU,GAAV,eAAU,KAAV,eAAU,QAqB1B;AAGL,CAAC,EAnFgB,IAAI,KAAJ,IAAI,QAmFpB"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,KAAW,IAAI,CAmFpB;AAnFD,WAAiB,IAAI;IAoBjB,IAAiB,MAAM,CAEtB;IAFD,WAAiB,MAAM;QACN,kBAAW,GAAG,MAAM,EAAE,CAAC;IACxC,CAAC,EAFgB,MAAM,GAAN,WAAM,KAAN,WAAM,QAEtB;IAqCD,IAAiB,UAAU,CAqB1B;IArBD,WAAiB,UAAU;QAEvB,MAAa,IAAI;YAIa;YAHnB,MAAM,CAAC,MAAM,CAAC,GAAgD;gBACjE,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,YAA0B,GAAgD;gBAAhD,QAAG,GAAH,GAAG,CAA6C;YAAG,CAAC;SACjF;QALY,eAAI,OAKhB,CAAA;QAED,MAAa,QAAQ;YACV,EAAE,CAAS;YACX,OAAO,CAAS;YAChB,MAAM,CAAC,MAAM,CAAC,GAAqC;gBACtD,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,YAAmB,GAAqC;gBACpD,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC/B,CAAC;SACJ;QAVY,mBAAQ,WAUpB,CAAA;IAEL,CAAC,EArBgB,UAAU,GAAV,eAAU,KAAV,eAAU,QAqB1B;AAGL,CAAC,EAnFgB,IAAI,KAAJ,IAAI,QAmFpB"}
@@ -0,0 +1,36 @@
1
+ import { type InferenceParams, type ProviderSpec } from '#@/engine.ts';
2
+ import { RoleMessage, type Session } from '#@/native-engines.d/openai-responses/session.ts';
3
+ import { Function } from '#@/function.ts';
4
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
5
+ import OpenAI from 'openai';
6
+ import { type InferenceContext } from '#@/inference-context.ts';
7
+ import { Throttle } from '#@/throttle.ts';
8
+ import type { OpenAIResponsesNativeMessageCodec } from '#@/native-engines.d/openai-responses/message-codec.ts';
9
+ import type { OpenAIResponsesToolCodec } from '#@/api-types/openai-responses/tool-codec.ts';
10
+ import type { OpenAIResponsesBilling } from '#@/api-types/openai-responses/billing.ts';
11
+ import type { OpenAIResponsesNativeToolCallValidator } from '#@/native-engines.d/openai-responses/tool-call-validator.ts';
12
+ export declare class OpenAIResponsesNativeTransport<fdm extends Function.Declaration.Map> {
13
+ protected ctx: OpenAIResponsesNativeTransport.Context<fdm>;
14
+ protected apiURL: URL;
15
+ constructor(ctx: OpenAIResponsesNativeTransport.Context<fdm>);
16
+ protected makeParams(session: Session<fdm>): OpenAI.Responses.ResponseCreateParamsNonStreaming;
17
+ protected convertFromToolChoice(toolChoice: Tool.Choice<fdm>): OpenAI.Responses.ToolChoiceOptions | OpenAI.Responses.ToolChoiceAllowed;
18
+ protected logAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): void;
19
+ protected fetchRaw(wfctx: InferenceContext, session: Session<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai<fdm>>;
20
+ fetch(wfctx: InferenceContext, session: Session<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai<fdm>>;
21
+ }
22
+ export declare namespace OpenAIResponsesNativeTransport {
23
+ interface Context<fdm extends Function.Declaration.Map> {
24
+ inferenceParams: InferenceParams;
25
+ providerSpec: ProviderSpec;
26
+ fdm: fdm;
27
+ throttle: Throttle;
28
+ toolChoice: Tool.Choice<fdm>;
29
+ parallelToolCall: boolean;
30
+ applyPatch: boolean;
31
+ messageCodec: OpenAIResponsesNativeMessageCodec<fdm>;
32
+ toolCodec: OpenAIResponsesToolCodec<fdm>;
33
+ billing: OpenAIResponsesBilling;
34
+ toolCallValidator: OpenAIResponsesNativeToolCallValidator<fdm>;
35
+ }
36
+ }
@@ -0,0 +1,104 @@
1
+ import { ResponseInvalid } from '#@/engine.ts';
2
+ import { RoleMessage } from '#@/native-engines.d/openai-responses/session.ts';
3
+ import { Function } from '#@/function.ts';
4
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
5
+ import OpenAI from 'openai';
6
+ import * as Undici from 'undici';
7
+ import {} from '#@/inference-context.ts';
8
+ import { Throttle } from '#@/throttle.ts';
9
+ import { logger } from '#@/telemetry.ts';
10
+ export class OpenAIResponsesNativeTransport {
11
+ ctx;
12
+ apiURL;
13
+ constructor(ctx) {
14
+ this.ctx = ctx;
15
+ this.apiURL = new URL(`${this.ctx.providerSpec.baseUrl}/responses`);
16
+ }
17
+ makeParams(session) {
18
+ const tools = this.ctx.toolCodec.convertFromFunctionDeclarationMap(this.ctx.fdm);
19
+ if (this.ctx.applyPatch)
20
+ tools.push({ type: 'apply_patch' });
21
+ return {
22
+ model: this.ctx.inferenceParams.model,
23
+ include: ['reasoning.encrypted_content'],
24
+ store: false,
25
+ input: session.chatMessages.flatMap(chatMessage => this.ctx.messageCodec.convertFromChatMessage(chatMessage)),
26
+ instructions: session.developerMessage && this.ctx.messageCodec.convertFromDeveloperMessage(session.developerMessage),
27
+ tools: tools.length ? tools : undefined,
28
+ tool_choice: tools.length ? this.convertFromToolChoice(this.ctx.toolChoice) : undefined,
29
+ parallel_tool_calls: tools.length ? this.ctx.parallelToolCall : undefined,
30
+ max_output_tokens: this.ctx.inferenceParams.maxTokens,
31
+ ...this.ctx.inferenceParams.additionalOptions,
32
+ };
33
+ }
34
+ convertFromToolChoice(toolChoice) {
35
+ if (toolChoice === Function.ToolChoice.NONE)
36
+ return 'none';
37
+ else if (toolChoice === Function.ToolChoice.REQUIRED)
38
+ return 'required';
39
+ else if (toolChoice === Function.ToolChoice.AUTO)
40
+ return 'auto';
41
+ else
42
+ return {
43
+ type: 'allowed_tools',
44
+ mode: 'required',
45
+ tools: toolChoice.map(name => {
46
+ if (name === Tool.Choice.APPLY_PATCH)
47
+ return { type: 'apply_patch' };
48
+ else
49
+ return { type: 'function', name };
50
+ }),
51
+ };
52
+ }
53
+ logAiMessage(output) {
54
+ for (const item of output)
55
+ if (item.type === 'message') {
56
+ if (item.content.every(part => part.type === 'output_text')) { }
57
+ else
58
+ throw new Error();
59
+ logger.inference.debug(item.content.map(part => part.text).join(''));
60
+ }
61
+ else if (item.type === 'function_call')
62
+ logger.message.debug(item);
63
+ else if (item.type === 'apply_patch_call')
64
+ logger.message.debug(item);
65
+ }
66
+ async fetchRaw(wfctx, session, signal) {
67
+ const params = this.makeParams(session);
68
+ logger.message.trace(params);
69
+ await this.ctx.throttle.requests(wfctx);
70
+ const res = await Undici.fetch(this.apiURL, {
71
+ method: 'POST',
72
+ headers: new Headers({
73
+ 'Content-Type': 'application/json',
74
+ 'Authorization': `Bearer ${this.ctx.providerSpec.apiKey}`,
75
+ }),
76
+ body: JSON.stringify(params),
77
+ dispatcher: this.ctx.providerSpec.proxyAgent,
78
+ signal,
79
+ });
80
+ if (res.ok) { }
81
+ else
82
+ throw new Error(undefined, { cause: res });
83
+ const response = await res.json();
84
+ logger.message.trace(response);
85
+ if (response.status === 'incomplete' && response.incomplete_details?.reason === 'max_output_tokens')
86
+ throw new ResponseInvalid('Token limit exceeded.', { cause: response });
87
+ if (response.status === 'completed') { }
88
+ else
89
+ throw new ResponseInvalid('Abnormal response status', { cause: response });
90
+ this.logAiMessage(response.output);
91
+ if (response.usage) { }
92
+ else
93
+ throw new Error();
94
+ wfctx.cost?.(this.ctx.billing.charge(response.usage));
95
+ logger.message.debug(response.usage);
96
+ const aiMessage = this.ctx.messageCodec.convertToAiMessage(response.output);
97
+ this.ctx.toolCallValidator.validate(aiMessage.getToolCalls());
98
+ return aiMessage;
99
+ }
100
+ async fetch(wfctx, session, signal) {
101
+ return await this.fetchRaw(wfctx, session, signal).catch(e => Promise.reject(e instanceof OpenAI.APIError ? new ResponseInvalid(undefined, { cause: e }) : e));
102
+ }
103
+ }
104
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/transport.ts"],"names":[],"mappings":"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"}
@@ -1,77 +1,7 @@
1
- import { Function } from './function.ts';
2
- export interface Session<out fdu extends Function.Declaration = never> {
3
- developerMessage?: RoleMessage.Developer;
4
- chatMessages: ChatMessage<fdu>[];
1
+ export interface GenericSession<userm, aim, devm> {
2
+ chatMessages: GenericSession.ChatMessage<userm, aim>[];
3
+ developerMessage?: devm;
5
4
  }
6
- export type ChatMessage<fdu extends Function.Declaration = never> = RoleMessage.User<fdu> | RoleMessage.Ai<fdu>;
7
- export type RoleMessage = RoleMessage.Instance;
8
- export declare namespace RoleMessage {
9
- class SpecificMessageError extends Error {
10
- constructor();
11
- }
12
- const NOMINAL: unique symbol;
13
- abstract class Instance {
14
- private readonly [NOMINAL];
15
- abstract getText(): string;
16
- abstract getOnlyText(): string;
17
- }
18
- namespace Part {
19
- type Text = Text.Instance;
20
- namespace Text {
21
- function create(text: string): Text;
22
- function paragraph(text: string): Text;
23
- const NOMINAL: unique symbol;
24
- class Instance {
25
- text: string;
26
- private readonly [NOMINAL];
27
- constructor(text: string);
28
- }
29
- }
30
- }
31
- type Ai<fdu extends Function.Declaration = never> = Ai.Instance<fdu>;
32
- namespace Ai {
33
- function create<fdu extends Function.Declaration = never>(parts: RoleMessage.Ai.Part<fdu>[]): RoleMessage.Ai<fdu>;
34
- const NOMINAL: unique symbol;
35
- class Instance<out fdu extends Function.Declaration = never> extends RoleMessage.Instance {
36
- protected parts: RoleMessage.Ai.Part<fdu>[];
37
- readonly [NOMINAL]: void;
38
- constructor(parts: RoleMessage.Ai.Part<fdu>[]);
39
- getParts(): RoleMessage.Ai.Part<fdu>[];
40
- getText(): string;
41
- getOnlyText(): string;
42
- getOnlyFunctionCall(): Function.Call.Distributive<fdu>;
43
- getFunctionCalls(): Function.Call.Distributive<fdu>[];
44
- }
45
- type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Function.Call.Distributive<fdu>;
46
- }
47
- type User<fdu extends Function.Declaration = never> = User.Instance<fdu>;
48
- namespace User {
49
- function create<fdu extends Function.Declaration = never>(parts: RoleMessage.User.Part<fdu>[]): RoleMessage.User<fdu>;
50
- const NOMINAL: unique symbol;
51
- class Instance<out fdu extends Function.Declaration = never> extends RoleMessage.Instance {
52
- protected parts: RoleMessage.User.Part<fdu>[];
53
- private readonly [NOMINAL];
54
- constructor(parts: RoleMessage.User.Part<fdu>[]);
55
- getParts(): RoleMessage.User.Part<fdu>[];
56
- getText(): string;
57
- getOnlyText(): string;
58
- getFunctionResponses(): Function.Response.Distributive<fdu>[];
59
- getOnlyFunctionResponse(): Function.Response.Distributive<fdu>;
60
- }
61
- type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Function.Response.Distributive<fdu>;
62
- }
63
- type Developer = Developer.Instance;
64
- namespace Developer {
65
- function create(parts: Developer.Part[]): Developer;
66
- const NOMINAL: unique symbol;
67
- class Instance extends RoleMessage.Instance {
68
- protected parts: Developer.Part[];
69
- private readonly [NOMINAL];
70
- constructor(parts: Developer.Part[]);
71
- getParts(): Developer.Part[];
72
- getText(): string;
73
- getOnlyText(): string;
74
- }
75
- type Part = Part.Text;
76
- }
5
+ export declare namespace GenericSession {
6
+ type ChatMessage<userm, aim> = userm | aim;
77
7
  }
package/build/session.js CHANGED
@@ -1,137 +1 @@
1
- import { Function } from "./function.js";
2
- export var RoleMessage;
3
- (function (RoleMessage) {
4
- class SpecificMessageError extends Error {
5
- constructor() {
6
- super('This message is specific to a certain type of engines.');
7
- }
8
- }
9
- RoleMessage.SpecificMessageError = SpecificMessageError;
10
- RoleMessage.NOMINAL = Symbol();
11
- class Instance {
12
- }
13
- RoleMessage.Instance = Instance;
14
- let Part;
15
- (function (Part) {
16
- let Text;
17
- (function (Text) {
18
- function create(text) {
19
- return new Instance(text);
20
- }
21
- Text.create = create;
22
- function paragraph(text) {
23
- return new Instance(text.trimEnd() + '\n\n');
24
- }
25
- Text.paragraph = paragraph;
26
- Text.NOMINAL = Symbol();
27
- class Instance {
28
- text;
29
- constructor(text) {
30
- this.text = text;
31
- }
32
- }
33
- Text.Instance = Instance;
34
- })(Text = Part.Text || (Part.Text = {}));
35
- })(Part = RoleMessage.Part || (RoleMessage.Part = {}));
36
- let Ai;
37
- (function (Ai) {
38
- function create(parts) {
39
- return new Instance(parts);
40
- }
41
- Ai.create = create;
42
- Ai.NOMINAL = Symbol();
43
- class Instance extends RoleMessage.Instance {
44
- parts;
45
- constructor(parts) {
46
- super();
47
- this.parts = parts;
48
- }
49
- getParts() {
50
- return this.parts;
51
- }
52
- getText() {
53
- return this.parts.filter(part => part instanceof RoleMessage.Part.Text.Instance).map(part => part.text).join('');
54
- }
55
- getOnlyText() {
56
- if (this.parts.every(part => part instanceof RoleMessage.Part.Text.Instance)) { }
57
- else
58
- throw new Error();
59
- return this.getText();
60
- }
61
- getOnlyFunctionCall() {
62
- const fcs = this.getFunctionCalls();
63
- if (fcs.length === 1) { }
64
- else
65
- throw new Error();
66
- return fcs[0];
67
- }
68
- getFunctionCalls() {
69
- return this.parts.filter(part => part instanceof Function.Call);
70
- }
71
- }
72
- Ai.Instance = Instance;
73
- })(Ai = RoleMessage.Ai || (RoleMessage.Ai = {}));
74
- let User;
75
- (function (User) {
76
- function create(parts) {
77
- return new Instance(parts);
78
- }
79
- User.create = create;
80
- User.NOMINAL = Symbol();
81
- class Instance extends RoleMessage.Instance {
82
- parts;
83
- constructor(parts) {
84
- super();
85
- this.parts = parts;
86
- }
87
- getParts() {
88
- return this.parts;
89
- }
90
- getText() {
91
- return this.parts.filter(part => part instanceof RoleMessage.Part.Text.Instance).map(part => part.text).join('');
92
- }
93
- getOnlyText() {
94
- if (this.parts.every(part => part instanceof RoleMessage.Part.Text.Instance)) { }
95
- else
96
- throw new Error();
97
- return this.getText();
98
- }
99
- getFunctionResponses() {
100
- return this.parts.filter(part => part instanceof Function.Response);
101
- }
102
- getOnlyFunctionResponse() {
103
- if (this.parts.length === 1 && this.parts[0] instanceof Function.Response) { }
104
- else
105
- throw new Error();
106
- return this.parts[0];
107
- }
108
- }
109
- User.Instance = Instance;
110
- })(User = RoleMessage.User || (RoleMessage.User = {}));
111
- let Developer;
112
- (function (Developer) {
113
- function create(parts) {
114
- return new Instance(parts);
115
- }
116
- Developer.create = create;
117
- Developer.NOMINAL = Symbol();
118
- class Instance extends RoleMessage.Instance {
119
- parts;
120
- constructor(parts) {
121
- super();
122
- this.parts = parts;
123
- }
124
- getParts() {
125
- return this.parts;
126
- }
127
- getText() {
128
- return this.parts.map(part => part.text).join('');
129
- }
130
- getOnlyText() {
131
- return this.getText();
132
- }
133
- }
134
- Developer.Instance = Instance;
135
- })(Developer = RoleMessage.Developer || (RoleMessage.Developer = {}));
136
- })(RoleMessage || (RoleMessage = {}));
137
1
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import type { InferenceContext } from './inference-context.ts';
1
+ import type { InferenceContext } from '#@/inference-context.ts';
2
2
  export declare class Throttle {
3
3
  private rpm;
4
4
  private valve;