@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
package/build/engine.js CHANGED
@@ -1,37 +1,86 @@
1
- import { Function } from "./function.js";
2
- import { EndpointSpec } from "./endpoint-spec.js";
3
- import { Throttle } from "./throttle.js";
1
+ import { Function } from '#@/function.ts';
2
+ import { EndpointSpec } from '#@/endpoint-spec.ts';
3
+ import { Throttle } from '#@/throttle.ts';
4
4
  import { ProxyAgent } from 'undici';
5
5
  import { env } from 'node:process';
6
- export var Engine;
7
- (function (Engine) {
8
- let OwnProps;
9
- (function (OwnProps) {
10
- function init(options) {
11
- const proxyUrl = env.https_proxy || env.HTTPS_PROXY;
12
- const inputPrice = options.inputPrice ?? 0;
13
- return {
14
- baseUrl: options.baseUrl,
15
- apiKey: options.apiKey,
16
- model: options.model,
17
- name: options.name,
18
- inputPrice,
19
- outputPrice: options.outputPrice ?? 0,
20
- cachePrice: options.cachePrice ?? inputPrice,
21
- fdm: options.functionDeclarationMap,
22
- additionalOptions: options.additionalOptions,
23
- throttle: options.throttle,
24
- timeout: options.timeout,
25
- maxTokens: options.maxTokens,
26
- proxyAgent: proxyUrl ? new ProxyAgent(proxyUrl) : undefined,
27
- };
6
+ import {} from '#@/inference-context.ts';
7
+ import { logger } from '#@/telemetry.ts';
8
+ import {} from '#@/session.ts';
9
+ export class Engine {
10
+ providerSpec;
11
+ inferenceParams;
12
+ name;
13
+ pricing;
14
+ fdm;
15
+ throttle;
16
+ constructor(options) {
17
+ const proxyUrl = env.https_proxy || env.HTTPS_PROXY;
18
+ this.providerSpec = {
19
+ baseUrl: options.baseUrl,
20
+ apiKey: options.apiKey,
21
+ proxyAgent: proxyUrl ? new ProxyAgent(proxyUrl) : undefined,
22
+ };
23
+ this.name = options.name;
24
+ this.inferenceParams = {
25
+ model: options.model,
26
+ additionalOptions: options.additionalOptions,
27
+ timeout: options.timeout,
28
+ maxTokens: options.maxTokens,
29
+ };
30
+ const inputPrice = options.inputPrice ?? 0;
31
+ this.pricing = {
32
+ inputPrice,
33
+ outputPrice: options.outputPrice ?? 0,
34
+ cachePrice: options.cachePrice ?? inputPrice,
35
+ };
36
+ this.fdm = options.functionDeclarationMap;
37
+ this.throttle = options.throttle;
38
+ }
39
+ /**
40
+ * @throws {@link UserAbortion} 用户中止
41
+ * @throws {@link InferenceTimeout} 推理超时
42
+ * @throws {@link ResponseInvalid} 模型抽风
43
+ * @throws {TypeError} 网络故障
44
+ */
45
+ async stateless(wfctx, session) {
46
+ for (let retry = 0;; retry++) {
47
+ const signalTimeout = this.inferenceParams.timeout ? AbortSignal.timeout(this.inferenceParams.timeout) : undefined;
48
+ const signal = wfctx.signal && signalTimeout ? AbortSignal.any([
49
+ wfctx.signal,
50
+ signalTimeout,
51
+ ]) : wfctx.signal || signalTimeout;
52
+ try {
53
+ return await this.infer(wfctx, session, signal);
54
+ }
55
+ catch (e) {
56
+ if (wfctx.signal?.aborted)
57
+ throw new UserAbortion(); // 用户中止
58
+ else if (signalTimeout?.aborted)
59
+ e = new InferenceTimeout(undefined, { cause: e }); // 推理超时
60
+ else if (e instanceof ResponseInvalid) { } // 模型抽风
61
+ else if (e instanceof TypeError) { } // 网络故障
62
+ else
63
+ throw e;
64
+ if (retry < 3)
65
+ logger.message.warn(e);
66
+ else
67
+ throw e;
68
+ }
28
69
  }
29
- OwnProps.init = init;
30
- })(OwnProps = Engine.OwnProps || (Engine.OwnProps = {}));
31
- })(Engine || (Engine = {}));
70
+ }
71
+ /**
72
+ * @param session mutable
73
+ */
74
+ async stateful(wfctx, session) {
75
+ const response = await this.stateless(wfctx, session);
76
+ session.chatMessages.push(response);
77
+ return response;
78
+ }
79
+ }
32
80
  export class ResponseInvalid extends Error {
33
81
  }
34
- export const USER_ABORTION = Symbol();
82
+ export class UserAbortion {
83
+ }
35
84
  export class InferenceTimeout extends Error {
36
85
  }
37
86
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAOnC,MAAM,KAAW,MAAM,CAsDtB;AAtDD,WAAiB,MAAM;IA0BnB,IAAiB,QAAQ,CAoBxB;IApBD,WAAiB,QAAQ;QACrB,SAAgB,IAAI,CAAuC,OAAqB;YAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC;YACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;YAC3C,OAAO;gBACH,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU;gBACV,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;gBACrC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,UAAU;gBAC5C,GAAG,EAAE,OAAO,CAAC,sBAAsB;gBACnC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9D,CAAC;QACN,CAAC;QAlBe,aAAI,OAkBnB,CAAA;IACL,CAAC,EApBgB,QAAQ,GAAR,eAAQ,KAAR,eAAQ,QAoBxB;AAQL,CAAC,EAtDgB,MAAM,KAAN,MAAM,QAsDtB;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;CAAG;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;AACtC,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
- export * from './adaptor.ts';
2
- export * from './throttle.ts';
3
- export * from './session.ts';
4
- export * from './compatible-engine.ts';
5
- export * from './function.ts';
6
- export * from './config.ts';
7
- export * from './inference-context.ts';
8
- export * from './endpoint-spec.ts';
9
- export * from './agentloop.ts';
10
- export * from './engine.ts';
11
- export * from './compatible-engine.ts';
12
- export * from './frontmatter.ts';
13
- export * from './telemetry.ts';
1
+ export * from '#@/adaptor.ts';
2
+ export * from '#@/throttle.ts';
3
+ export * from '#@/session.ts';
4
+ export * from '#@/compatible/session.ts';
5
+ export * from '#@/compatible/engine.ts';
6
+ export * from '#@/function.ts';
7
+ export * from '#@/config.ts';
8
+ export * from '#@/inference-context.ts';
9
+ export * from '#@/endpoint-spec.ts';
10
+ export * from '#@/agentloop.ts';
11
+ export * from '#@/engine.ts';
12
+ export * from '#@/compatible/engine.ts';
13
+ export * from '#@/frontmatter.ts';
14
+ export * from '#@/telemetry.ts';
package/build/exports.js CHANGED
@@ -1,14 +1,15 @@
1
- export * from "./adaptor.js";
2
- export * from "./throttle.js";
3
- export * from "./session.js";
4
- export * from "./compatible-engine.js";
5
- export * from "./function.js";
6
- export * from "./config.js";
7
- export * from "./inference-context.js";
8
- export * from "./endpoint-spec.js";
9
- export * from "./agentloop.js";
10
- export * from "./engine.js";
11
- export * from "./compatible-engine.js";
12
- export * from "./frontmatter.js";
13
- export * from "./telemetry.js";
1
+ export * from '#@/adaptor.ts';
2
+ export * from '#@/throttle.ts';
3
+ export * from '#@/session.ts';
4
+ export * from '#@/compatible/session.ts';
5
+ export * from '#@/compatible/engine.ts';
6
+ export * from '#@/function.ts';
7
+ export * from '#@/config.ts';
8
+ export * from '#@/inference-context.ts';
9
+ export * from '#@/endpoint-spec.ts';
10
+ export * from '#@/agentloop.ts';
11
+ export * from '#@/engine.ts';
12
+ export * from '#@/compatible/engine.ts';
13
+ export * from '#@/frontmatter.ts';
14
+ export * from '#@/telemetry.ts';
14
15
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -33,20 +33,26 @@ export declare namespace Function {
33
33
  name: fd['name'];
34
34
  args: Static<fd['paraschema']>;
35
35
  private constructor();
36
- static create<fdu extends Declaration>(fc: Call.create.Options<fdu>): Call.Distributive<fdu>;
37
- static restore<fdu extends Declaration>(snapshot: Call.Snapshot.Distributive<fdu>): Call.Distributive<fdu>;
38
- static capture<fdu extends Declaration>(fc: Call.Distributive<fdu>): Call.Snapshot.Distributive<fdu>;
36
+ static create<fdm extends Declaration.Map>(fc: Call.create.Options<fdm>): Call.From<fdm>;
37
+ static restore<fdm extends Declaration.Map>(snapshot: Call.Snapshot.Distributive<fdm>): Call.From<fdm>;
38
+ static capture<fdm extends Declaration.Map>(fc: Call.From<fdm>): Call.Snapshot.Distributive<fdm>;
39
39
  }
40
40
  namespace Call {
41
+ type From<fdm extends Declaration.Map> = {
42
+ [name in Declaration.Map.NameOf<fdm>]: Call<Declaration.From<fdm, name>>;
43
+ }[Declaration.Map.NameOf<fdm>];
41
44
  type Snapshot<fd extends Declaration> = Omit<Call<fd>, never>;
42
45
  namespace Snapshot {
43
- type Distributive<fdu extends Declaration> = fdu extends infer fd extends Declaration ? Snapshot<fd> : never;
46
+ type Distributive<fdm extends Declaration.Map> = {
47
+ [name in Declaration.Map.NameOf<fdm>]: Snapshot<Declaration.From<fdm, name>>;
48
+ }[Declaration.Map.NameOf<fdm>];
44
49
  }
45
- type Distributive<fdu extends Declaration> = fdu extends infer fd extends Declaration ? Call<fd> : never;
46
50
  namespace create {
47
- type Options<fdu extends Declaration> = fdu extends infer fd extends Function.Declaration ? Omit<Call<fd>, never> : never;
51
+ type Options<fdm extends Declaration.Map> = {
52
+ [name in Declaration.Map.NameOf<fdm>]: Omit<Call<Declaration.From<fdm, name>>, never>;
53
+ }[Declaration.Map.NameOf<fdm>];
48
54
  }
49
- function validate<fdm extends Function.Declaration.Map>(toolCalls: Function.Call.Distributive<Function.Declaration.From<fdm>>[], toolChoice: Function.ToolChoice<fdm>, e: Error): void;
55
+ function validate<fdm extends Function.Declaration.Map>(toolCalls: Function.Call.From<fdm>[], toolChoice: Function.ToolChoice<fdm>, e: Error): void;
50
56
  }
51
57
  class Response<in out fd extends Declaration> {
52
58
  static readonly NOMINAL: unique symbol;
@@ -55,18 +61,24 @@ export declare namespace Function {
55
61
  name: fd['name'];
56
62
  text: string;
57
63
  private constructor();
58
- static create<fdu extends Declaration>(fr: Response.create.Options<fdu>): Response.Distributive<fdu>;
59
- static capture<fdu extends Declaration>(response: Response.Distributive<fdu>): Response.Snapshot.Distributive<fdu>;
60
- static restore<fdu extends Declaration>(snapshot: Response.Snapshot.Distributive<fdu>): Response.Distributive<fdu>;
64
+ static create<fdm extends Declaration.Map>(fr: Response.create.Options<fdm>): Response.Distributive<fdm>;
65
+ static capture<fdm extends Declaration.Map>(response: Response.Distributive<fdm>): Response.Snapshot.Distributive<fdm>;
66
+ static restore<fdm extends Declaration.Map>(snapshot: Response.Snapshot.Distributive<fdm>): Response.Distributive<fdm>;
61
67
  }
62
68
  namespace Response {
63
69
  type Snapshot<fd extends Declaration> = Omit<Response<fd>, never>;
64
70
  namespace Snapshot {
65
- type Distributive<fdu extends Declaration> = fdu extends infer fd extends Declaration ? Snapshot<fd> : never;
71
+ type Distributive<fdm extends Declaration.Map> = {
72
+ [name in Declaration.Map.NameOf<fdm>]: Snapshot<Declaration.From<fdm, name>>;
73
+ }[Declaration.Map.NameOf<fdm>];
66
74
  }
67
- type Distributive<fdu extends Declaration> = fdu extends infer fd extends Declaration ? Response<fd> : never;
75
+ type Distributive<fdm extends Declaration.Map> = {
76
+ [name in Declaration.Map.NameOf<fdm>]: Response<Declaration.From<fdm, name>>;
77
+ }[Declaration.Map.NameOf<fdm>];
68
78
  namespace create {
69
- type Options<fdu extends Declaration> = fdu extends infer fd extends Function.Declaration ? Omit<Response<fd>, never> : never;
79
+ type Options<fdm extends Declaration.Map> = {
80
+ [name in Declaration.Map.NameOf<fdm>]: Omit<Response<Declaration.From<fdm, name>>, never>;
81
+ }[Declaration.Map.NameOf<fdm>];
70
82
  }
71
83
  }
72
84
  type ToolChoice<fdm extends Function.Declaration.Map> = Function.Declaration.Map.NameOf<fdm>[] | typeof ToolChoice.NONE | typeof ToolChoice.REQUIRED | typeof ToolChoice.AUTO;
package/build/function.js CHANGED
@@ -29,10 +29,11 @@ export var Function;
29
29
  else
30
30
  throw e;
31
31
  else if (toolChoice instanceof Array)
32
- for (const fc of toolCalls)
32
+ for (const fc of toolCalls) {
33
33
  if (toolChoice.includes(fc.name)) { }
34
34
  else
35
35
  throw e;
36
+ }
36
37
  else if (toolChoice === Function.ToolChoice.NONE)
37
38
  if (!toolCalls.length) { }
38
39
  else
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,MAAM,mBAAmB,CAAC;AAO9D,MAAM,KAAW,QAAQ,CAuHxB;AAvHD,WAAiB,QAAQ;IA4BrB,MAAa,IAAI;QACN,MAAM,CAAU,OAAO,GAAG,MAAM,EAAE,CAAC;QAEnC,EAAE,CAAU;QACZ,IAAI,CAAa;QACjB,IAAI,CAA2B;QACtC,YAAoB,EAAyB;YACzC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;QACM,MAAM,CAAC,MAAM,CAA0B,EAA4B;YACtE,OAAO,IAAI,IAAI,CAAC,EAAE,CAA2B,CAAC;QAClD,CAAC;QACM,MAAM,CAAC,OAAO,CAA0B,QAAyC;YACpF,OAAO,IAAI,IAAI,CAAC,QAAQ,CAA2B,CAAC;QACxD,CAAC;QACM,MAAM,CAAC,OAAO,CAA0B,EAA0B;YACrE,OAAO,EAAqC,CAAC;QACjD,CAAC;;IAnBQ,aAAI,OAoBhB,CAAA;IACD,WAAiB,IAAI;QAUjB,SAAgB,QAAQ,CACpB,SAAuE,EACvE,UAAoC,EACpC,CAAQ;YAER,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,QAAQ;gBAC3C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,CAAC,CAAC;iBACrC,IAAI,UAAU,YAAY,KAAK;gBAAE,KAAK,MAAM,EAAE,IAAI,SAAS;oBAC5D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC;;wBAAM,MAAM,CAAC,CAAC;iBACjD,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI;gBAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,CAAC,CAAC;QAC/C,CAAC;QAXe,aAAQ,WAWvB,CAAA;IACL,CAAC,EAtBgB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QAsBpB;IAED,MAAa,QAAQ;QACV,MAAM,CAAU,OAAO,GAAG,MAAM,EAAE,CAAC;QAEnC,EAAE,CAAU;QACZ,IAAI,CAAa;QACjB,IAAI,CAAS;QACpB,YAAoB,EAA6B;YAC7C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;QACM,MAAM,CAAC,MAAM,CAA0B,EAAgC;YAC1E,OAAO,IAAI,QAAQ,CAAC,EAAE,CAA+B,CAAC;QAC1D,CAAC;QACM,MAAM,CAAC,OAAO,CAA0B,QAAoC;YAC/E,OAAO,QAA+C,CAAC;QAC3D,CAAC;QACM,MAAM,CAAC,OAAO,CAA0B,QAA6C;YACxF,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAA+B,CAAC;QAChE,CAAC;;IAnBQ,iBAAQ,WAoBpB,CAAA;IAiBD,IAAiB,UAAU,CAI1B;IAJD,WAAiB,UAAU;QACV,eAAI,GAAG,MAAM,EAAE,CAAC;QAChB,mBAAQ,GAAG,MAAM,EAAE,CAAC;QACpB,eAAI,GAAG,MAAM,EAAE,CAAC;IACjC,CAAC,EAJgB,UAAU,GAAV,mBAAU,KAAV,mBAAU,QAI1B;AAKL,CAAC,EAvHgB,QAAQ,KAAR,QAAQ,QAuHxB"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,MAAM,mBAAmB,CAAC;AAO9D,MAAM,KAAW,QAAQ,CAoIxB;AApID,WAAiB,QAAQ;IA4BrB,MAAa,IAAI;QACN,MAAM,CAAU,OAAO,GAAG,MAAM,EAAE,CAAC;QAEnC,EAAE,CAAU;QACZ,IAAI,CAAa;QACjB,IAAI,CAA2B;QACtC,YAAoB,EAAyB;YACzC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;QACM,MAAM,CAAC,MAAM,CAA8B,EAA4B;YAC1E,OAAO,IAAI,IAAI,CAAC,EAAE,CAAmB,CAAC;QAC1C,CAAC;QACM,MAAM,CAAC,OAAO,CAA8B,QAAyC;YACxF,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAmB,CAAC;QAChD,CAAC;QACM,MAAM,CAAC,OAAO,CAA8B,EAAkB;YACjE,OAAO,EAAqC,CAAC;QACjD,CAAC;;IAnBQ,aAAI,OAoBhB,CAAA;IACD,WAAiB,IAAI;QAiBjB,SAAgB,QAAQ,CACpB,SAAoC,EACpC,UAAoC,EACpC,CAAQ;YAER,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,QAAQ;gBAC3C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,CAAC,CAAC;iBACrC,IAAI,UAAU,YAAY,KAAK;gBAAE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC/D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC;;wBAAM,MAAM,CAAC,CAAC;gBACtD,CAAC;iBAAM,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI;gBAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,CAAC,CAAC;QAC/C,CAAC;QAXe,aAAQ,WAWvB,CAAA;IACL,CAAC,EA7BgB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QA6BpB;IAED,MAAa,QAAQ;QACV,MAAM,CAAU,OAAO,GAAG,MAAM,EAAE,CAAC;QAEnC,EAAE,CAAU;QACZ,IAAI,CAAa;QACjB,IAAI,CAAS;QACpB,YAAoB,EAA6B;YAC7C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;QACM,MAAM,CAAC,MAAM,CAA8B,EAAgC;YAC9E,OAAO,IAAI,QAAQ,CAAC,EAAE,CAA+B,CAAC;QAC1D,CAAC;QACM,MAAM,CAAC,OAAO,CAA8B,QAAoC;YACnF,OAAO,QAA+C,CAAC;QAC3D,CAAC;QACM,MAAM,CAAC,OAAO,CAA8B,QAA6C;YAC5F,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAA+B,CAAC;QAChE,CAAC;;IAnBQ,iBAAQ,WAoBpB,CAAA;IAuBD,IAAiB,UAAU,CAI1B;IAJD,WAAiB,UAAU;QACV,eAAI,GAAG,MAAM,EAAE,CAAC;QAChB,mBAAQ,GAAG,MAAM,EAAE,CAAC;QACpB,eAAI,GAAG,MAAM,EAAE,CAAC;IACjC,CAAC,EAJgB,UAAU,GAAV,mBAAU,KAAV,mBAAU,QAI1B;AAKL,CAAC,EApIgB,QAAQ,KAAR,QAAQ,QAoIxB"}
@@ -2,5 +2,5 @@ import { RWLock } from '@zimtsui/coroutine-locks';
2
2
  export interface InferenceContext {
3
3
  busy: RWLock | null;
4
4
  signal: AbortSignal | null;
5
- cost(deltaCost: number): void;
5
+ cost?(deltaCost: number): void;
6
6
  }
@@ -1,12 +1,12 @@
1
- import { type InferenceContext } from '../../inference-context.ts';
2
- import { type Session } from './session.ts';
3
- import { Function } from '../../function.ts';
4
- import { type GoogleNativeEngine } from './engine.ts';
5
- import * as CompatibleAgentloopModule from '../../agentloop.ts';
1
+ import { type InferenceContext } from '#@/inference-context.ts';
2
+ import { type Session } from '#@/native-engines.d/google/session.ts';
3
+ import { Function } from '#@/function.ts';
4
+ import { type GoogleNativeEngine } from '#@/native-engines.d/google/engine.ts';
5
+ import * as CompatibleAgentloopModule from '#@/agentloop.ts';
6
6
  /**
7
7
  * @param session mutable
8
8
  */
9
- export declare function agentloop<fdm extends Function.Declaration.Map>(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, engine: GoogleNativeEngine<fdm>, fnm: Function.Map<fdm>, limit?: number): AsyncGenerator<string, string, void>;
9
+ export declare function agentloop<fdm extends Function.Declaration.Map>(wfctx: InferenceContext, session: Session<fdm>, engine: GoogleNativeEngine<fdm>, fnm: Function.Map<fdm>, limit?: number): AsyncGenerator<string, string, void>;
10
10
  export declare namespace agentloop {
11
11
  export import FunctionCallLimitExceeded = CompatibleAgentloopModule.agentloop.FunctionCallLimitExceeded;
12
12
  }
@@ -1,8 +1,8 @@
1
- import {} from "../../inference-context.js";
2
- import { RoleMessage } from "./session.js";
3
- import { Function } from "../../function.js";
4
- import {} from "./engine.js";
5
- import * as CompatibleAgentloopModule from "../../agentloop.js";
1
+ import {} from '#@/inference-context.ts';
2
+ import { RoleMessage } from '#@/native-engines.d/google/session.ts';
3
+ import { Function } from '#@/function.ts';
4
+ import {} from '#@/native-engines.d/google/engine.ts';
5
+ import * as CompatibleAgentloopModule from '#@/agentloop.ts';
6
6
  /**
7
7
  * @param session mutable
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agentloop.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/agentloop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAA2B,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,yBAAyB,MAAM,oBAAoB,CAAC;AAGhE;;GAEG;AACH,MAAM,CAAC,KAAK,SAAU,CAAC,CAAA,SAAS,CAC5B,KAAuB,EACvB,OAAgD,EAChD,MAA+B,EAC/B,GAAsB,EACtB,KAAK,GAAG,MAAM,CAAC,iBAAiB;IAGhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAmD,EAAE,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,IAAI,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM,IAAI,CAAC,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,EAAE,GAAG,IAAuC,CAAC;gBACnD,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;oBAClB,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAM;wBACjC,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC;qBACM,CAAC,CAAC;gBAChD,CAAC,CAAC,EAAE,CAAC,CAAC;YACV,CAAC;;gBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAM,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;AACnF,CAAC;AAED,WAAiB,SAAS;IACR,mCAAyB,GAAG,yBAAyB,CAAC,SAAS,CAAC,yBAAyB,CAAC;AAC5G,CAAC,EAFgB,SAAS,KAAT,SAAS,QAEzB"}
1
+ {"version":3,"file":"agentloop.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/agentloop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAgB,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAA2B,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,yBAAyB,MAAM,iBAAiB,CAAC;AAG7D;;GAEG;AACH,MAAM,CAAC,KAAK,SAAU,CAAC,CAAA,SAAS,CAC5B,KAAuB,EACvB,OAAqB,EACrB,MAA+B,EAC/B,GAAsB,EACtB,KAAK,GAAG,MAAM,CAAC,iBAAiB;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAmD,EAAE,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,IAAI,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM,IAAI,CAAC,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,EAAE,GAAG,IAA+B,CAAC;gBAC3C,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;oBAClB,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAM;wBACjC,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC;qBACM,CAAC,CAAC;gBAChD,CAAC,CAAC,EAAE,CAAC,CAAC;YACV,CAAC;;gBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAM,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;AACnF,CAAC;AAED,WAAiB,SAAS;IACR,mCAAyB,GAAG,yBAAyB,CAAC,SAAS,CAAC,yBAAyB,CAAC;AAC5G,CAAC,EAFgB,SAAS,KAAT,SAAS,QAEzB"}
@@ -1,110 +1,35 @@
1
- import { Function } from '../../function.ts';
2
- import { RoleMessage, type ChatMessage, type Session } from './session.ts';
3
- import { Engine } from '../../engine.ts';
4
- import { type InferenceContext } from '../../inference-context.ts';
5
- import * as Google from '@google/genai';
6
- import * as Undici from 'undici';
7
- import { GoogleEngine } from '../../api-types/google.ts';
8
- import { CompatibleEngine } from '../../compatible-engine.ts';
9
- import { Throttle } from '../../throttle.ts';
10
- export interface GoogleNativeEngine<fdm extends Function.Declaration.Map> extends Engine {
11
- /**
12
- * @throws {@link USER_ABORTION} 用户中止
13
- * @throws {@link InferenceTimeout} 推理超时
14
- * @throws {@link ResponseInvalid} 模型抽风
15
- * @throws {TypeError} 网络故障
16
- */
17
- stateless(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
18
- /**
19
- * @param session mutable
20
- */
21
- stateful(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
22
- appendUserMessage(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm>>;
23
- /**
24
- * @param session mutable
25
- */
26
- pushUserMessage(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm>>;
1
+ import { Function } from '#@/function.ts';
2
+ import { RoleMessage, type Session } from '#@/native-engines.d/google/session.ts';
3
+ import { Engine } from '#@/engine.ts';
4
+ import { type InferenceContext } from '#@/inference-context.ts';
5
+ import { GoogleToolCodec } from '#@/api-types/google/tool-codec.ts';
6
+ import { GoogleBilling } from '#@/api-types/google/billing.ts';
7
+ import { ToolCallValidator } from '#@/compatible/tool-call-validator.ts';
8
+ import { GoogleCompatibleMessageCodec } from '#@/compatible.d/google/message-codec.ts';
9
+ import { GoogleNativeMessageCodec } from '#@/native-engines.d/google/message-codec.ts';
10
+ import { GoogleNativeTransport } from '#@/native-engines.d/google/transport.ts';
11
+ export declare class GoogleNativeEngine<in out fdm extends Function.Declaration.Map> extends Engine<fdm, RoleMessage.User<fdm>, RoleMessage.Ai<fdm>, RoleMessage.Developer, Session<fdm>> {
12
+ protected toolChoice: Function.ToolChoice<fdm>;
13
+ protected codeExecution: boolean;
14
+ protected urlContext: boolean;
15
+ protected googleSearch: boolean;
16
+ protected toolCodec: GoogleToolCodec<fdm>;
17
+ protected compatibleMessageCodec: GoogleCompatibleMessageCodec<fdm>;
18
+ protected messageCodec: GoogleNativeMessageCodec<fdm>;
19
+ protected billing: GoogleBilling;
20
+ protected toolCallValidator: ToolCallValidator<fdm>;
21
+ protected transport: GoogleNativeTransport<fdm>;
22
+ protected parallelToolCall: boolean;
23
+ constructor(options: GoogleNativeEngine.Options<fdm>);
24
+ protected infer(wfctx: InferenceContext, session: Session<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai<fdm>>;
25
+ appendUserMessage(session: Session<fdm>, message: RoleMessage.User<fdm>): Session<fdm>;
26
+ pushUserMessage(session: Session<fdm>, message: RoleMessage.User<fdm>): Session<fdm>;
27
27
  }
28
28
  export declare namespace GoogleNativeEngine {
29
- interface Options<in out fdm extends Function.Declaration.Map> extends Engine.Options<fdm>, CompatibleEngine.Options.Tools<fdm>, GoogleEngine.Options<fdm> {
29
+ interface Options<in out fdm extends Function.Declaration.Map> extends Engine.Options<fdm> {
30
+ toolChoice?: Function.ToolChoice<fdm>;
30
31
  codeExecution?: boolean;
31
32
  urlContext?: boolean;
32
33
  googleSearch?: boolean;
33
34
  }
34
- interface OwnProps<in out fdm extends Function.Declaration.Map> {
35
- apiURL: URL;
36
- codeExecution: boolean;
37
- urlContext: boolean;
38
- googleSearch: boolean;
39
- toolChoice: Function.ToolChoice<fdm>;
40
- }
41
- interface ParentUnderhood<in out fdm extends Function.Declaration.Map> extends Engine.Underhood<fdm>, GoogleEngine.Underhood<fdm> {
42
- }
43
- namespace OwnProps {
44
- function init<fdm extends Function.Declaration.Map>(this: ParentUnderhood<fdm>, options: Options<fdm>): OwnProps<fdm>;
45
- }
46
- interface Underhood<in out fdm extends Function.Declaration.Map> extends ParentUnderhood<fdm>, GoogleNativeEngine<fdm>, OwnProps<fdm> {
47
- stateless(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
48
- stateful(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
49
- convertFromUserMessage(userMessage: RoleMessage.User<Function.Declaration.From<fdm>>): Google.Content;
50
- convertFromAiMessage(aiMessage: RoleMessage.Ai<Function.Declaration.From<fdm>>): Google.Content;
51
- convertFromDeveloperMessage(developerMessage: RoleMessage.Developer): Google.Content;
52
- convertFromChatMessages(chatMessages: ChatMessage<Function.Declaration.From<fdm>>[]): Google.Content[];
53
- convertToAiMessage(content: Google.Content): RoleMessage.Ai<Function.Declaration.From<fdm>>;
54
- convertFromToolChoice(toolChoice: Function.ToolChoice<fdm>): Google.FunctionCallingConfig;
55
- appendUserMessage(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm>>;
56
- pushUserMessage(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm>>;
57
- fetch(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
58
- validateToolCallsByToolChoice(toolCalls: Function.Call.Distributive<Function.Declaration.From<fdm>>[]): void;
59
- }
60
- function stateless<fdm extends Function.Declaration.Map>(this: GoogleNativeEngine.Underhood<fdm>, wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
61
- function stateful<fdm extends Function.Declaration.Map>(this: GoogleNativeEngine.Underhood<fdm>, wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
62
- function appendUserMessage<fdm extends Function.Declaration.Map>(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm>>;
63
- function pushUserMessage<fdm extends Function.Declaration.Map>(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm>>;
64
- function convertToAiMessage<fdm extends Function.Declaration.Map>(this: GoogleNativeEngine.Underhood<fdm>, content: Google.Content): RoleMessage.Ai<Function.Declaration.From<fdm>>;
65
- function convertFromAiMessage<fdm extends Function.Declaration.Map>(aiMessage: RoleMessage.Ai<Function.Declaration.From<fdm>>): Google.Content;
66
- function convertFromUserMessage<fdm extends Function.Declaration.Map>(this: Engine.Underhood<fdm>, userMessage: RoleMessage.User<Function.Declaration.From<fdm>>): Google.Content;
67
- function convertFromDeveloperMessage<fdm extends Function.Declaration.Map>(this: Engine.Underhood<fdm>, developerMessage: RoleMessage.Developer): Google.Content;
68
- function convertFromChatMessages<fdm extends Function.Declaration.Map>(this: GoogleNativeEngine.Underhood<fdm>, chatMessages: ChatMessage<Function.Declaration.From<fdm>>[]): Google.Content[];
69
- function convertFromToolChoice<fdm extends Function.Declaration.Map>(this: Engine.Underhood<fdm>, toolChoice: Function.ToolChoice<fdm>): Google.FunctionCallingConfig;
70
- function fetch<fdm extends Function.Declaration.Map>(this: GoogleNativeEngine.Underhood<fdm>, wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
71
- function validateToolCallsByToolChoice<fdm extends Function.Declaration.Map>(this: GoogleNativeEngine.Underhood<fdm>, toolCalls: Function.Call.Distributive<Function.Declaration.From<fdm>>[]): void;
72
- class Instance<in out fdm extends Function.Declaration.Map> implements GoogleNativeEngine.Underhood<fdm> {
73
- baseUrl: string;
74
- apiKey: string;
75
- model: string;
76
- name: string;
77
- inputPrice: number;
78
- outputPrice: number;
79
- cachePrice: number;
80
- fdm: fdm;
81
- additionalOptions?: Record<string, unknown>;
82
- throttle: Throttle;
83
- timeout?: number;
84
- maxTokens?: number;
85
- proxyAgent?: Undici.ProxyAgent;
86
- parallelToolCall: boolean;
87
- apiURL: URL;
88
- codeExecution: boolean;
89
- urlContext: boolean;
90
- googleSearch: boolean;
91
- toolChoice: Function.ToolChoice<fdm>;
92
- constructor(options: GoogleNativeEngine.Options<fdm>);
93
- stateless(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm, Extract<keyof fdm, string>>>>;
94
- stateful(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>): Promise<RoleMessage.Ai<Function.Declaration.From<fdm, Extract<keyof fdm, string>>>>;
95
- appendUserMessage(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm, Extract<keyof fdm, string>>>;
96
- pushUserMessage(session: Session<Function.Declaration.From<fdm>>, message: RoleMessage.User<Function.Declaration.From<fdm>>): Session<Function.Declaration.From<fdm, Extract<keyof fdm, string>>>;
97
- validateToolCallsByToolChoice(toolCalls: Function.Call.Distributive<Function.Declaration.From<fdm>>[]): void;
98
- convertFromFunctionCall(fc: Function.Call.Distributive<Function.Declaration.From<fdm>>): Google.FunctionCall;
99
- convertToFunctionCall(googlefc: Google.FunctionCall): Function.Call.Distributive<Function.Declaration.From<fdm>>;
100
- convertFromFunctionDeclarationEntry(fdentry: Function.Declaration.Entry.From<fdm>): Google.FunctionDeclaration;
101
- convertFromUserMessage(userMessage: RoleMessage.User<Function.Declaration.From<fdm>>): Google.Content;
102
- convertFromAiMessage(aiMessage: RoleMessage.Ai<Function.Declaration.From<fdm>>): Google.Content;
103
- convertFromDeveloperMessage(developerMessage: RoleMessage.Developer): Google.Content;
104
- convertFromChatMessages(chatMessages: ChatMessage<Function.Declaration.From<fdm>>[]): Google.Content[];
105
- convertToAiMessage(content: Google.Content): RoleMessage.Ai<Function.Declaration.From<fdm>>;
106
- convertFromToolChoice(toolChoice: Function.ToolChoice<fdm>): Google.FunctionCallingConfig;
107
- fetch(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
108
- }
109
- function create<fdm extends Function.Declaration.Map>(options: GoogleNativeEngine.Options<fdm>): GoogleNativeEngine<fdm>;
110
35
  }