@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,344 +1,63 @@
1
- import { Function } from "../../function.js";
2
- import { RoleMessage } from "./session.js";
3
- import { Tool } from "./tool.js";
4
- import { ResponseInvalid, Engine, USER_ABORTION, InferenceTimeout } from "../../engine.js";
5
- import {} from "../../inference-context.js";
6
- import OpenAI from 'openai';
7
- import * as Undici from 'undici';
8
- import { OpenAIResponsesEngine } from "../../api-types/openai-responses.js";
9
- import { Throttle } from "../../throttle.js";
10
- import { logger } from "../../telemetry.js";
11
- export var OpenAIResponsesNativeEngine;
12
- (function (OpenAIResponsesNativeEngine) {
13
- let OwnProps;
14
- (function (OwnProps) {
15
- function init(options) {
16
- return {
17
- apiURL: new URL(`${this.baseUrl}/responses`),
18
- toolChoice: options.toolChoice ?? Function.ToolChoice.AUTO,
19
- applyPatch: options.applyPatch ?? false,
20
- };
21
- }
22
- OwnProps.init = init;
23
- })(OwnProps = OpenAIResponsesNativeEngine.OwnProps || (OpenAIResponsesNativeEngine.OwnProps = {}));
24
- async function stateless(wfctx, session) {
25
- for (let retry = 0;; retry++) {
26
- const signalTimeout = this.timeout ? AbortSignal.timeout(this.timeout) : undefined;
27
- const signal = wfctx.signal && signalTimeout ? AbortSignal.any([
28
- wfctx.signal,
29
- signalTimeout,
30
- ]) : wfctx.signal || signalTimeout;
31
- try {
32
- return await this.fetch(wfctx, session, signal);
33
- }
34
- catch (e) {
35
- if (wfctx.signal?.aborted)
36
- throw USER_ABORTION; // 用户中止
37
- else if (signalTimeout?.aborted)
38
- e = new InferenceTimeout(undefined, { cause: e }); // 推理超时
39
- else if (e instanceof ResponseInvalid) { } // 模型抽风
40
- else if (e instanceof TypeError) { } // 网络故障
41
- else
42
- throw e;
43
- if (retry < 3)
44
- logger.message?.warn(e);
45
- else
46
- throw e;
47
- }
48
- }
1
+ import { Function } from '#@/function.ts';
2
+ import { RoleMessage } from '#@/native-engines.d/openai-responses/session.ts';
3
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
4
+ import { Engine } from '#@/engine.ts';
5
+ import {} from '#@/inference-context.ts';
6
+ import { OpenAIResponsesToolCodec } from '#@/api-types/openai-responses/tool-codec.ts';
7
+ import { OpenAIResponsesBilling } from '#@/api-types/openai-responses/billing.ts';
8
+ import { OpenAIResponsesCompatibleMessageCodec } from '#@/compatible.d/openai-responses/message-codec.ts';
9
+ import { OpenAIResponsesNativeMessageCodec } from '#@/native-engines.d/openai-responses/message-codec.ts';
10
+ import { OpenAIResponsesNativeToolCallValidator } from '#@/native-engines.d/openai-responses/tool-call-validator.ts';
11
+ import { OpenAIResponsesNativeTransport } from '#@/native-engines.d/openai-responses/transport.ts';
12
+ export class OpenAIResponsesNativeEngine extends Engine {
13
+ applyPatch;
14
+ toolChoice;
15
+ toolCodec;
16
+ compatibleMessageCodec;
17
+ messageCodec;
18
+ billing;
19
+ toolCallValidator;
20
+ transport;
21
+ parallelToolCall;
22
+ constructor(options) {
23
+ super(options);
24
+ this.parallelToolCall = options.parallelToolCall ?? false;
25
+ this.applyPatch = options.applyPatch ?? false;
26
+ this.toolChoice = options.toolChoice ?? Function.ToolChoice.AUTO;
27
+ this.toolCodec = new OpenAIResponsesToolCodec({ fdm: this.fdm });
28
+ this.compatibleMessageCodec = new OpenAIResponsesCompatibleMessageCodec({ toolCodec: this.toolCodec });
29
+ this.messageCodec = new OpenAIResponsesNativeMessageCodec({
30
+ toolCodec: this.toolCodec,
31
+ compatibleMessageCodec: this.compatibleMessageCodec,
32
+ });
33
+ this.billing = new OpenAIResponsesBilling({ pricing: this.pricing });
34
+ this.toolCallValidator = new OpenAIResponsesNativeToolCallValidator({ toolChoice: this.toolChoice });
35
+ this.transport = new OpenAIResponsesNativeTransport({
36
+ inferenceParams: this.inferenceParams,
37
+ providerSpec: this.providerSpec,
38
+ fdm: this.fdm,
39
+ throttle: this.throttle,
40
+ toolChoice: this.toolChoice,
41
+ parallelToolCall: this.parallelToolCall,
42
+ applyPatch: this.applyPatch,
43
+ messageCodec: this.messageCodec,
44
+ toolCodec: this.toolCodec,
45
+ billing: this.billing,
46
+ toolCallValidator: this.toolCallValidator,
47
+ });
49
48
  }
50
- OpenAIResponsesNativeEngine.stateless = stateless;
51
- async function stateful(wfctx, session) {
52
- const response = await this.stateless(wfctx, session);
53
- session.chatMessages.push(response);
54
- return response;
49
+ infer(wfctx, session, signal) {
50
+ return this.transport.fetch(wfctx, session, signal);
55
51
  }
56
- OpenAIResponsesNativeEngine.stateful = stateful;
57
- function appendUserMessage(session, message) {
52
+ appendUserMessage(session, message) {
58
53
  return {
59
- ...session,
54
+ developerMessage: session.developerMessage,
60
55
  chatMessages: [...session.chatMessages, message],
61
56
  };
62
57
  }
63
- OpenAIResponsesNativeEngine.appendUserMessage = appendUserMessage;
64
- function pushUserMessage(session, message) {
58
+ pushUserMessage(session, message) {
65
59
  session.chatMessages.push(message);
66
60
  return session;
67
61
  }
68
- OpenAIResponsesNativeEngine.pushUserMessage = pushUserMessage;
69
- function convertToAiMessage(output) {
70
- const parts = output.flatMap((item) => {
71
- if (item.type === 'message') {
72
- if (item.content.every(part => part.type === 'output_text')) { }
73
- else
74
- throw new Error();
75
- return [RoleMessage.Part.Text.create(item.content.map(part => part.text).join(''))];
76
- }
77
- else if (item.type === 'function_call')
78
- return [this.convertToFunctionCall(item)];
79
- else if (item.type === 'reasoning')
80
- return [];
81
- else if (item.type === 'apply_patch_call')
82
- return [Tool.ApplyPatch.Call.create(item)];
83
- else
84
- throw new Error();
85
- });
86
- return RoleMessage.Ai.create(parts, output);
87
- }
88
- OpenAIResponsesNativeEngine.convertToAiMessage = convertToAiMessage;
89
- function convertFromUserMessage(userMessage) {
90
- return userMessage.getParts().map(part => {
91
- if (part instanceof RoleMessage.Part.Text.Instance)
92
- return {
93
- type: 'message',
94
- role: 'user',
95
- content: part.text,
96
- };
97
- else if (part instanceof Function.Response)
98
- return this.convertFromFunctionResponse(part);
99
- else if (part instanceof Tool.ApplyPatch.Response)
100
- return {
101
- type: 'apply_patch_call_output',
102
- call_id: part.id,
103
- status: part.failure ? 'failed' : 'completed',
104
- output: part.failure || undefined,
105
- };
106
- else
107
- throw new Error();
108
- });
109
- }
110
- OpenAIResponsesNativeEngine.convertFromUserMessage = convertFromUserMessage;
111
- function convertFromDeveloperMessage(developerMessage) {
112
- return developerMessage.getOnlyText();
113
- }
114
- OpenAIResponsesNativeEngine.convertFromDeveloperMessage = convertFromDeveloperMessage;
115
- function convertFromChatMessage(chatMessage) {
116
- if (chatMessage instanceof RoleMessage.User.Instance)
117
- return this.convertFromUserMessage(chatMessage);
118
- else if (chatMessage instanceof RoleMessage.Ai.Instance)
119
- return chatMessage.getRaw();
120
- else
121
- throw new Error();
122
- }
123
- OpenAIResponsesNativeEngine.convertFromChatMessage = convertFromChatMessage;
124
- function convertFromToolChoice(toolChoice) {
125
- if (toolChoice === Function.ToolChoice.NONE)
126
- return 'none';
127
- else if (toolChoice === Function.ToolChoice.REQUIRED)
128
- return 'required';
129
- else if (toolChoice === Function.ToolChoice.AUTO)
130
- return 'auto';
131
- else {
132
- return {
133
- type: 'allowed_tools',
134
- mode: 'required',
135
- tools: toolChoice.map(name => {
136
- if (name === Tool.Choice.APPLY_PATCH)
137
- return { type: 'apply_patch' };
138
- else
139
- return { type: 'function', name };
140
- }),
141
- };
142
- }
143
- }
144
- OpenAIResponsesNativeEngine.convertFromToolChoice = convertFromToolChoice;
145
- function makeMonolithParams(session) {
146
- const fdentries = Object.entries(this.fdm);
147
- const tools = fdentries.map(fdentry => this.convertFromFunctionDeclarationEntry(fdentry));
148
- if (this.applyPatch)
149
- tools.push({ type: 'apply_patch' });
150
- return {
151
- model: this.model,
152
- include: ['reasoning.encrypted_content'],
153
- store: false,
154
- input: session.chatMessages.flatMap(chatMessage => this.convertFromChatMessage(chatMessage)),
155
- instructions: session.developerMessage && this.convertFromDeveloperMessage(session.developerMessage),
156
- tools: tools.length ? tools : undefined,
157
- tool_choice: tools.length ? this.convertFromToolChoice(this.toolChoice) : undefined,
158
- parallel_tool_calls: fdentries.length ? this.parallelToolCall : undefined,
159
- max_output_tokens: this.maxTokens,
160
- ...this.additionalOptions,
161
- };
162
- }
163
- OpenAIResponsesNativeEngine.makeMonolithParams = makeMonolithParams;
164
- function logAiMessage(output) {
165
- for (const item of output)
166
- if (item.type === 'message') {
167
- if (item.content.every(part => part.type === 'output_text')) { }
168
- else
169
- throw new Error();
170
- logger.inference?.debug(item.content.map(part => part.text).join('') + '\n');
171
- }
172
- else if (item.type === 'function_call')
173
- logger.message?.debug(item);
174
- else if (item.type === 'apply_patch_call')
175
- logger.message?.debug(item);
176
- }
177
- OpenAIResponsesNativeEngine.logAiMessage = logAiMessage;
178
- async function fetch(wfctx, session, signal) {
179
- return await this.fetchRaw(wfctx, session, signal).catch(e => Promise.reject(e instanceof OpenAI.APIError ? new ResponseInvalid(undefined, { cause: e }) : e));
180
- }
181
- OpenAIResponsesNativeEngine.fetch = fetch;
182
- async function fetchRaw(wfctx, session, signal) {
183
- const params = this.makeMonolithParams(session);
184
- logger.message?.trace(params);
185
- await this.throttle.requests(wfctx);
186
- const res = await Undici.fetch(this.apiURL, {
187
- method: 'POST',
188
- headers: new Headers({
189
- 'Content-Type': 'application/json',
190
- 'Authorization': `Bearer ${this.apiKey}`,
191
- }),
192
- body: JSON.stringify(params),
193
- dispatcher: this.proxyAgent,
194
- signal,
195
- });
196
- if (res.ok) { }
197
- else
198
- throw new Error(undefined, { cause: res });
199
- const response = await res.json();
200
- logger.message?.trace(response);
201
- if (response.status === 'incomplete' && response.incomplete_details?.reason === 'max_output_tokens')
202
- throw new ResponseInvalid('Token limit exceeded.', { cause: response });
203
- if (response.status === 'completed') { }
204
- else
205
- throw new ResponseInvalid('Abnormal response status', { cause: response });
206
- this.logAiMessage(response.output);
207
- if (response.usage) { }
208
- else
209
- throw new Error();
210
- const cost = this.calcCost(response.usage);
211
- wfctx.cost?.(cost);
212
- logger.message?.debug(response.usage);
213
- const aiMessage = this.convertToAiMessage(response.output);
214
- this.validateToolCallsByToolChoice(aiMessage.getToolCalls());
215
- return aiMessage;
216
- }
217
- OpenAIResponsesNativeEngine.fetchRaw = fetchRaw;
218
- function validateToolCallsByToolChoice(toolCalls) {
219
- if (this.toolChoice === Function.ToolChoice.REQUIRED)
220
- if (toolCalls.length) { }
221
- else
222
- throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
223
- else if (this.toolChoice instanceof Array)
224
- for (const tc of toolCalls) {
225
- if (tc instanceof Function.Call)
226
- if (this.toolChoice.includes(tc.name)) { }
227
- else
228
- throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
229
- else if (tc instanceof Tool.ApplyPatch.Call)
230
- if (this.toolChoice.includes(Tool.Choice.APPLY_PATCH)) { }
231
- else
232
- throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
233
- else
234
- throw new Error();
235
- }
236
- else if (this.toolChoice === Function.ToolChoice.NONE)
237
- if (!toolCalls.length) { }
238
- else
239
- throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
240
- }
241
- OpenAIResponsesNativeEngine.validateToolCallsByToolChoice = validateToolCallsByToolChoice;
242
- class Instance {
243
- baseUrl;
244
- apiKey;
245
- model;
246
- name;
247
- inputPrice;
248
- outputPrice;
249
- cachePrice;
250
- fdm;
251
- additionalOptions;
252
- throttle;
253
- timeout;
254
- maxTokens;
255
- proxyAgent;
256
- apiURL;
257
- parallelToolCall;
258
- applyPatch;
259
- toolChoice;
260
- constructor(options) {
261
- ({
262
- baseUrl: this.baseUrl,
263
- apiKey: this.apiKey,
264
- model: this.model,
265
- name: this.name,
266
- inputPrice: this.inputPrice,
267
- outputPrice: this.outputPrice,
268
- cachePrice: this.cachePrice,
269
- fdm: this.fdm,
270
- additionalOptions: this.additionalOptions,
271
- throttle: this.throttle,
272
- timeout: this.timeout,
273
- maxTokens: this.maxTokens,
274
- proxyAgent: this.proxyAgent,
275
- } = (Engine.OwnProps.init).call(this, options));
276
- ({ parallelToolCall: this.parallelToolCall } = (OpenAIResponsesEngine.OwnProps.init).call(this, options));
277
- ({
278
- applyPatch: this.applyPatch,
279
- toolChoice: this.toolChoice,
280
- apiURL: this.apiURL,
281
- } = (OwnProps.init).call(this, options));
282
- }
283
- convertFromFunctionResponse(fr) {
284
- return (OpenAIResponsesEngine.convertFromFunctionResponse).call(this, fr);
285
- }
286
- calcCost(usage) {
287
- return (OpenAIResponsesEngine.calcCost).call(this, usage);
288
- }
289
- convertFromFunctionDeclarationEntry(fdentry) {
290
- return (OpenAIResponsesEngine.convertFromFunctionDeclarationEntry).call(this, fdentry);
291
- }
292
- convertToFunctionCall(apifc) {
293
- return (OpenAIResponsesEngine.convertToFunctionCall).call(this, apifc);
294
- }
295
- stateless(wfctx, session) {
296
- return (OpenAIResponsesNativeEngine.stateless).call(this, wfctx, session);
297
- }
298
- stateful(wfctx, session) {
299
- return (OpenAIResponsesNativeEngine.stateful).call(this, wfctx, session);
300
- }
301
- appendUserMessage(session, message) {
302
- return (OpenAIResponsesNativeEngine.appendUserMessage).call(this, session, message);
303
- }
304
- pushUserMessage(session, message) {
305
- return (OpenAIResponsesNativeEngine.pushUserMessage).call(this, session, message);
306
- }
307
- async fetch(wfctx, session, signal) {
308
- return (OpenAIResponsesNativeEngine.fetch).call(this, wfctx, session, signal);
309
- }
310
- async fetchRaw(wfctx, session, signal) {
311
- return (OpenAIResponsesNativeEngine.fetchRaw).call(this, wfctx, session, signal);
312
- }
313
- convertToAiMessage(output) {
314
- return (OpenAIResponsesNativeEngine.convertToAiMessage).call(this, output);
315
- }
316
- convertFromChatMessage(chatMessage) {
317
- return (OpenAIResponsesNativeEngine.convertFromChatMessage).call(this, chatMessage);
318
- }
319
- convertFromUserMessage(userMessage) {
320
- return (OpenAIResponsesNativeEngine.convertFromUserMessage).call(this, userMessage);
321
- }
322
- convertFromDeveloperMessage(developerMessage) {
323
- return (OpenAIResponsesNativeEngine.convertFromDeveloperMessage).call(this, developerMessage);
324
- }
325
- convertFromToolChoice(toolChoice) {
326
- return (OpenAIResponsesNativeEngine.convertFromToolChoice).call(this, toolChoice);
327
- }
328
- makeMonolithParams(session) {
329
- return (OpenAIResponsesNativeEngine.makeMonolithParams).call(this, session);
330
- }
331
- logAiMessage(output) {
332
- return (OpenAIResponsesNativeEngine.logAiMessage).call(this, output);
333
- }
334
- validateToolCallsByToolChoice(toolCalls) {
335
- return (OpenAIResponsesNativeEngine.validateToolCallsByToolChoice).call(this, toolCalls);
336
- }
337
- }
338
- OpenAIResponsesNativeEngine.Instance = Instance;
339
- function create(options) {
340
- return new OpenAIResponsesNativeEngine.Instance(options);
341
- }
342
- OpenAIResponsesNativeEngine.create = create;
343
- })(OpenAIResponsesNativeEngine || (OpenAIResponsesNativeEngine = {}));
62
+ }
344
63
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/engine.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- export * from './engine.ts';
2
- export * from './session.ts';
3
- export * from './tool.ts';
4
- export * from './agentloop.ts';
5
- export * from '../../api-types/openai-responses.ts';
6
- export * from '../../telemetry.ts';
7
- export * from '../../engine.ts';
1
+ export * from '#@/native-engines.d/openai-responses/engine.ts';
2
+ export * from '#@/native-engines.d/openai-responses/session.ts';
3
+ export * from '#@/native-engines.d/openai-responses/tool.ts';
4
+ export * from '#@/native-engines.d/openai-responses/agentloop.ts';
5
+ export * from '#@/telemetry.ts';
6
+ export * from '#@/engine.ts';
@@ -1,8 +1,7 @@
1
- export * from "./engine.js";
2
- export * from "./session.js";
3
- export * from "./tool.js";
4
- export * from "./agentloop.js";
5
- export * from "../../api-types/openai-responses.js";
6
- export * from "../../telemetry.js";
7
- export * from "../../engine.js";
1
+ export * from '#@/native-engines.d/openai-responses/engine.ts';
2
+ export * from '#@/native-engines.d/openai-responses/session.ts';
3
+ export * from '#@/native-engines.d/openai-responses/tool.ts';
4
+ export * from '#@/native-engines.d/openai-responses/agentloop.ts';
5
+ export * from '#@/telemetry.ts';
6
+ export * from '#@/engine.ts';
8
7
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/exports.ts"],"names":[],"mappings":"AAAA,cAAa,aAAa,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/exports.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iDAAiD,CAAC;AAChE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mDAAmD,CAAC;AAClE,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { RoleMessage, type Session } from '#@/native-engines.d/openai-responses/session.ts';
2
+ import { Function } from '#@/function.ts';
3
+ import OpenAI from 'openai';
4
+ import { OpenAIResponsesCompatibleMessageCodec } from '#@/compatible.d/openai-responses/message-codec.ts';
5
+ import type { OpenAIResponsesToolCodec } from '#@/api-types/openai-responses/tool-codec.ts';
6
+ export declare class OpenAIResponsesNativeMessageCodec<fdm extends Function.Declaration.Map> {
7
+ protected ctx: OpenAIResponsesNativeMessageCodec.Context<fdm>;
8
+ constructor(ctx: OpenAIResponsesNativeMessageCodec.Context<fdm>);
9
+ convertFromFunctionResponse(fr: Function.Response.Distributive<fdm>): OpenAI.Responses.ResponseInputItem.FunctionCallOutput;
10
+ convertToAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): RoleMessage.Ai<fdm>;
11
+ convertFromUserMessage(userMessage: RoleMessage.User<fdm>): OpenAI.Responses.ResponseInput;
12
+ convertFromAiMessage(aiMessage: RoleMessage.Ai<fdm>): OpenAI.Responses.ResponseInput;
13
+ convertFromDeveloperMessage(developerMessage: RoleMessage.Developer): string;
14
+ convertFromChatMessage(chatMessage: Session.ChatMessage<fdm>): OpenAI.Responses.ResponseInput;
15
+ }
16
+ export declare namespace OpenAIResponsesNativeMessageCodec {
17
+ interface Context<fdm extends Function.Declaration.Map> {
18
+ toolCodec: OpenAIResponsesToolCodec<fdm>;
19
+ compatibleMessageCodec: OpenAIResponsesCompatibleMessageCodec<fdm>;
20
+ }
21
+ }
@@ -0,0 +1,69 @@
1
+ import { RoleMessage } from '#@/native-engines.d/openai-responses/session.ts';
2
+ import { Function } from '#@/function.ts';
3
+ import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
4
+ import OpenAI from 'openai';
5
+ import { OpenAIResponsesCompatibleMessageCodec } from '#@/compatible.d/openai-responses/message-codec.ts';
6
+ export class OpenAIResponsesNativeMessageCodec {
7
+ ctx;
8
+ constructor(ctx) {
9
+ this.ctx = ctx;
10
+ }
11
+ convertFromFunctionResponse(fr) {
12
+ return this.ctx.toolCodec.convertFromFunctionResponse(fr);
13
+ }
14
+ convertToAiMessage(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 Error();
20
+ return [RoleMessage.Part.Text.create(item.content.map(part => part.text).join(''))];
21
+ }
22
+ else if (item.type === 'function_call')
23
+ return [this.ctx.toolCodec.convertToFunctionCall(item)];
24
+ else if (item.type === 'reasoning')
25
+ return [];
26
+ else if (item.type === 'apply_patch_call')
27
+ return [Tool.ApplyPatch.Call.create(item)];
28
+ else
29
+ throw new Error();
30
+ });
31
+ return RoleMessage.Ai.create(parts, output);
32
+ }
33
+ convertFromUserMessage(userMessage) {
34
+ return userMessage.getParts().map(part => {
35
+ if (part instanceof RoleMessage.Part.Text.Instance)
36
+ return {
37
+ type: 'message',
38
+ role: 'user',
39
+ content: part.text,
40
+ };
41
+ else if (part instanceof Function.Response)
42
+ return this.convertFromFunctionResponse(part);
43
+ else if (part instanceof Tool.ApplyPatch.Response)
44
+ return {
45
+ type: 'apply_patch_call_output',
46
+ call_id: part.id,
47
+ status: part.failure ? 'failed' : 'completed',
48
+ output: part.failure || undefined,
49
+ };
50
+ else
51
+ throw new Error();
52
+ });
53
+ }
54
+ convertFromAiMessage(aiMessage) {
55
+ return aiMessage.getRaw();
56
+ }
57
+ convertFromDeveloperMessage(developerMessage) {
58
+ return this.ctx.compatibleMessageCodec.convertFromDeveloperMessage(developerMessage);
59
+ }
60
+ convertFromChatMessage(chatMessage) {
61
+ if (chatMessage instanceof RoleMessage.User.Instance)
62
+ return this.convertFromUserMessage(chatMessage);
63
+ else if (chatMessage instanceof RoleMessage.Ai.Instance)
64
+ return this.convertFromAiMessage(chatMessage);
65
+ else
66
+ throw new Error();
67
+ }
68
+ }
69
+ //# sourceMappingURL=message-codec.js.map
@@ -0,0 +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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"}