@zimtsui/typechat 0.0.61

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 (216) hide show
  1. package/DEVELOPMENT.md +22 -0
  2. package/LICENSE +165 -0
  3. package/README.md +202 -0
  4. package/assets/verbatim/declarations.handlebars +11 -0
  5. package/assets/verbatim/instruction.md +49 -0
  6. package/build/adaptor.d.ts +45 -0
  7. package/build/adaptor.js +90 -0
  8. package/build/adaptor.js.map +1 -0
  9. package/build/api-types/anthropic/billing.d.ts +12 -0
  10. package/build/api-types/anthropic/billing.js +14 -0
  11. package/build/api-types/anthropic/billing.js.map +1 -0
  12. package/build/api-types/anthropic/tool-codec.d.ts +16 -0
  13. package/build/api-types/anthropic/tool-codec.js +58 -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 +23 -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 +1 -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/tool-codec.js +80 -0
  23. package/build/api-types/google/tool-codec.js.map +1 -0
  24. package/build/api-types/openai-chatcompletions/billing.d.ts +12 -0
  25. package/build/api-types/openai-chatcompletions/billing.js +14 -0
  26. package/build/api-types/openai-chatcompletions/billing.js.map +1 -0
  27. package/build/api-types/openai-chatcompletions/tool-codec.d.ts +17 -0
  28. package/build/api-types/openai-chatcompletions/tool-codec.js +80 -0
  29. package/build/api-types/openai-chatcompletions/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 +14 -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 +76 -0
  35. package/build/api-types/openai-responses/tool-codec.js.map +1 -0
  36. package/build/assets.d.ts +7 -0
  37. package/build/assets.js +8 -0
  38. package/build/assets.js.map +1 -0
  39. package/build/compatible-engine/session.d.ts +67 -0
  40. package/build/compatible-engine/session.js +92 -0
  41. package/build/compatible-engine/session.js.map +1 -0
  42. package/build/compatible-engine/structuring.d.ts +36 -0
  43. package/build/compatible-engine/structuring.js +34 -0
  44. package/build/compatible-engine/structuring.js.map +1 -0
  45. package/build/compatible-engine/validation.d.ts +21 -0
  46. package/build/compatible-engine/validation.js +82 -0
  47. package/build/compatible-engine/validation.js.map +1 -0
  48. package/build/compatible-engine.d/agentloop.d.ts +12 -0
  49. package/build/compatible-engine.d/agentloop.js +52 -0
  50. package/build/compatible-engine.d/agentloop.js.map +1 -0
  51. package/build/compatible-engine.d/aliyun/transport.d.ts +12 -0
  52. package/build/compatible-engine.d/aliyun/transport.js +7 -0
  53. package/build/compatible-engine.d/aliyun/transport.js.map +1 -0
  54. package/build/compatible-engine.d/aliyun.d.ts +24 -0
  55. package/build/compatible-engine.d/aliyun.js +46 -0
  56. package/build/compatible-engine.d/aliyun.js.map +1 -0
  57. package/build/compatible-engine.d/anthropic/choice-codec.d.ts +5 -0
  58. package/build/compatible-engine.d/anthropic/choice-codec.js +26 -0
  59. package/build/compatible-engine.d/anthropic/choice-codec.js.map +1 -0
  60. package/build/compatible-engine.d/anthropic/message-codec.d.ts +36 -0
  61. package/build/compatible-engine.d/anthropic/message-codec.js +86 -0
  62. package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -0
  63. package/build/compatible-engine.d/anthropic/transport.d.ts +34 -0
  64. package/build/compatible-engine.d/anthropic/transport.js +150 -0
  65. package/build/compatible-engine.d/anthropic/transport.js.map +1 -0
  66. package/build/compatible-engine.d/anthropic.d.ts +26 -0
  67. package/build/compatible-engine.d/anthropic.js +46 -0
  68. package/build/compatible-engine.d/anthropic.js.map +1 -0
  69. package/build/compatible-engine.d/google/choice-codec.d.ts +5 -0
  70. package/build/compatible-engine.d/google/choice-codec.js +27 -0
  71. package/build/compatible-engine.d/google/choice-codec.js.map +1 -0
  72. package/build/compatible-engine.d/google/message-codec.d.ts +36 -0
  73. package/build/compatible-engine.d/google/message-codec.js +94 -0
  74. package/build/compatible-engine.d/google/message-codec.js.map +1 -0
  75. package/build/compatible-engine.d/google/transport.d.ts +30 -0
  76. package/build/compatible-engine.d/google/transport.js +78 -0
  77. package/build/compatible-engine.d/google/transport.js.map +1 -0
  78. package/build/compatible-engine.d/google.d.ts +26 -0
  79. package/build/compatible-engine.d/google.js +50 -0
  80. package/build/compatible-engine.d/google.js.map +1 -0
  81. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.d.ts +5 -0
  82. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +31 -0
  83. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +1 -0
  84. package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +24 -0
  85. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +71 -0
  86. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -0
  87. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +38 -0
  88. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js +77 -0
  89. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +1 -0
  90. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +37 -0
  91. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +190 -0
  92. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +1 -0
  93. package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +10 -0
  94. package/build/compatible-engine.d/openai-chatcompletions/transport.js +11 -0
  95. package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -0
  96. package/build/compatible-engine.d/openai-chatcompletions.d.ts +17 -0
  97. package/build/compatible-engine.d/openai-chatcompletions.js +14 -0
  98. package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -0
  99. package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +5 -0
  100. package/build/compatible-engine.d/openai-responses/choice-codec.js +30 -0
  101. package/build/compatible-engine.d/openai-responses/choice-codec.js.map +1 -0
  102. package/build/compatible-engine.d/openai-responses/message-codec.d.ts +36 -0
  103. package/build/compatible-engine.d/openai-responses/message-codec.js +96 -0
  104. package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -0
  105. package/build/compatible-engine.d/openai-responses/transport.d.ts +35 -0
  106. package/build/compatible-engine.d/openai-responses/transport.js +80 -0
  107. package/build/compatible-engine.d/openai-responses/transport.js.map +1 -0
  108. package/build/compatible-engine.d/openai-responses.d.ts +26 -0
  109. package/build/compatible-engine.d/openai-responses.js +46 -0
  110. package/build/compatible-engine.d/openai-responses.js.map +1 -0
  111. package/build/compatible-engine.d.ts +22 -0
  112. package/build/compatible-engine.js +29 -0
  113. package/build/compatible-engine.js.map +1 -0
  114. package/build/config.d.ts +24 -0
  115. package/build/config.js +11 -0
  116. package/build/config.js.map +1 -0
  117. package/build/endpoint-spec.d.ts +20 -0
  118. package/build/endpoint-spec.js +26 -0
  119. package/build/endpoint-spec.js.map +1 -0
  120. package/build/engine/session.d.ts +7 -0
  121. package/build/engine/session.js +1 -0
  122. package/build/engine/session.js.map +1 -0
  123. package/build/engine/transport.d.ts +5 -0
  124. package/build/engine/transport.js +1 -0
  125. package/build/engine/transport.js.map +1 -0
  126. package/build/engine/validation.d.ts +9 -0
  127. package/build/engine/validation.js +1 -0
  128. package/build/engine/validation.js.map +1 -0
  129. package/build/engine.d.ts +82 -0
  130. package/build/engine.js +104 -0
  131. package/build/engine.js.map +1 -0
  132. package/build/exports.d.ts +14 -0
  133. package/build/exports.js +15 -0
  134. package/build/exports.js.map +1 -0
  135. package/build/function.d.ts +106 -0
  136. package/build/function.js +55 -0
  137. package/build/function.js.map +1 -0
  138. package/build/inference-context.d.ts +6 -0
  139. package/build/inference-context.js +1 -0
  140. package/build/inference-context.js.map +1 -0
  141. package/build/native-engines.d/google/message-codec.d.ts +23 -0
  142. package/build/native-engines.d/google/message-codec.js +67 -0
  143. package/build/native-engines.d/google/message-codec.js.map +1 -0
  144. package/build/native-engines.d/google/session.d.ts +58 -0
  145. package/build/native-engines.d/google/session.js +101 -0
  146. package/build/native-engines.d/google/session.js.map +1 -0
  147. package/build/native-engines.d/google/transport.d.ts +34 -0
  148. package/build/native-engines.d/google/transport.js +81 -0
  149. package/build/native-engines.d/google/transport.js.map +1 -0
  150. package/build/native-engines.d/google/validation.d.ts +22 -0
  151. package/build/native-engines.d/google/validation.js +20 -0
  152. package/build/native-engines.d/google/validation.js.map +1 -0
  153. package/build/native-engines.d/google.d/agentloop.d.ts +12 -0
  154. package/build/native-engines.d/google.d/agentloop.js +57 -0
  155. package/build/native-engines.d/google.d/agentloop.js.map +1 -0
  156. package/build/native-engines.d/google.d/exports.d.ts +2 -0
  157. package/build/native-engines.d/google.d/exports.js +3 -0
  158. package/build/native-engines.d/google.d/exports.js.map +1 -0
  159. package/build/native-engines.d/google.d.ts +42 -0
  160. package/build/native-engines.d/google.js +83 -0
  161. package/build/native-engines.d/google.js.map +1 -0
  162. package/build/native-engines.d/openai-responses/choice-codec.d.ts +5 -0
  163. package/build/native-engines.d/openai-responses/choice-codec.js +30 -0
  164. package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -0
  165. package/build/native-engines.d/openai-responses/message-codec.d.ts +23 -0
  166. package/build/native-engines.d/openai-responses/message-codec.js +75 -0
  167. package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
  168. package/build/native-engines.d/openai-responses/session.d.ts +61 -0
  169. package/build/native-engines.d/openai-responses/session.js +86 -0
  170. package/build/native-engines.d/openai-responses/session.js.map +1 -0
  171. package/build/native-engines.d/openai-responses/structuring.d.ts +19 -0
  172. package/build/native-engines.d/openai-responses/structuring.js +19 -0
  173. package/build/native-engines.d/openai-responses/structuring.js.map +1 -0
  174. package/build/native-engines.d/openai-responses/tool.d.ts +55 -0
  175. package/build/native-engines.d/openai-responses/tool.js +24 -0
  176. package/build/native-engines.d/openai-responses/tool.js.map +1 -0
  177. package/build/native-engines.d/openai-responses/transport.d.ts +35 -0
  178. package/build/native-engines.d/openai-responses/transport.js +84 -0
  179. package/build/native-engines.d/openai-responses/transport.js.map +1 -0
  180. package/build/native-engines.d/openai-responses/validation.d.ts +20 -0
  181. package/build/native-engines.d/openai-responses/validation.js +80 -0
  182. package/build/native-engines.d/openai-responses/validation.js.map +1 -0
  183. package/build/native-engines.d/openai-responses.d/agentloop.d.ts +12 -0
  184. package/build/native-engines.d/openai-responses.d/agentloop.js +61 -0
  185. package/build/native-engines.d/openai-responses.d/agentloop.js.map +1 -0
  186. package/build/native-engines.d/openai-responses.d/exports.d.ts +2 -0
  187. package/build/native-engines.d/openai-responses.d/exports.js +3 -0
  188. package/build/native-engines.d/openai-responses.d/exports.js.map +1 -0
  189. package/build/native-engines.d/openai-responses.d.ts +44 -0
  190. package/build/native-engines.d/openai-responses.js +78 -0
  191. package/build/native-engines.d/openai-responses.js.map +1 -0
  192. package/build/telemetry.d.ts +6 -0
  193. package/build/telemetry.js +19 -0
  194. package/build/telemetry.js.map +1 -0
  195. package/build/throttle.d.ts +11 -0
  196. package/build/throttle.js +39 -0
  197. package/build/throttle.js.map +1 -0
  198. package/build/tsconfig.tsbuildinfo +1 -0
  199. package/build/verbatim/codec/declarations.d.ts +2 -0
  200. package/build/verbatim/codec/declarations.js +22 -0
  201. package/build/verbatim/codec/declarations.js.map +1 -0
  202. package/build/verbatim/codec/request.d.ts +7 -0
  203. package/build/verbatim/codec/request.js +53 -0
  204. package/build/verbatim/codec/request.js.map +1 -0
  205. package/build/verbatim/codec.d.ts +2 -0
  206. package/build/verbatim/codec.js +3 -0
  207. package/build/verbatim/codec.js.map +1 -0
  208. package/build/verbatim.d.ts +74 -0
  209. package/build/verbatim.js +17 -0
  210. package/build/verbatim.js.map +1 -0
  211. package/examples/agent.ts +65 -0
  212. package/examples/chat.ts +24 -0
  213. package/examples/config.ts +24 -0
  214. package/examples/tsconfig.json +28 -0
  215. package/examples/verbatim.ts +44 -0
  216. package/package.json +50 -0
@@ -0,0 +1,61 @@
1
+ import { Function } from "../../function.js";
2
+ import { OpenAIResponsesNativeEngine } from "../openai-responses.js";
3
+ import * as CompatibleAgentloopModule from "../../compatible-engine.d/agentloop.js";
4
+ /**
5
+ * @param session mutable
6
+ */
7
+ export async function* agentloop(wfctx, session, engine, tlm, limit = Number.POSITIVE_INFINITY) {
8
+ for (let i = 0; i < limit; i++) {
9
+ const response = await engine.stateful(wfctx, session);
10
+ if (response.allTextPart())
11
+ return response.getText();
12
+ const ptcs = [];
13
+ for (const part of response.getParts()) {
14
+ if (part instanceof OpenAIResponsesNativeEngine.RoleMessage.Part.Text) {
15
+ yield part.text;
16
+ }
17
+ else if (part instanceof Function.Call) {
18
+ const fc = part;
19
+ const fn = tlm[fc.name];
20
+ ptcs.push((async () => {
21
+ try {
22
+ return Function.Response.Successful.of({
23
+ id: fc.id,
24
+ name: fc.name,
25
+ text: await fn.call(tlm, fc.args),
26
+ });
27
+ }
28
+ catch (e) {
29
+ if (e instanceof Function.Error) { }
30
+ else
31
+ throw e;
32
+ return Function.Response.Failed.of({
33
+ id: fc.id,
34
+ name: fc.name,
35
+ error: e.message,
36
+ });
37
+ }
38
+ })());
39
+ }
40
+ else if (part instanceof OpenAIResponsesNativeEngine.Tool.ApplyPatch.Call) {
41
+ const apc = part;
42
+ const tl = tlm[OpenAIResponsesNativeEngine.Tool.APPLY_PATCH];
43
+ ptcs.push((async () => {
44
+ return new OpenAIResponsesNativeEngine.Tool.ApplyPatch.Response({
45
+ id: apc.raw.call_id,
46
+ failure: await tl.call(tlm, apc.raw.operation),
47
+ });
48
+ })());
49
+ }
50
+ else
51
+ throw new Error();
52
+ }
53
+ const trs = await Promise.all(ptcs);
54
+ engine.pushUserMessage(session, new OpenAIResponsesNativeEngine.RoleMessage.User(trs));
55
+ }
56
+ throw new agentloop.FunctionCallLimitExceeded('Function call limit exceeded.');
57
+ }
58
+ (function (agentloop) {
59
+ agentloop.FunctionCallLimitExceeded = CompatibleAgentloopModule.agentloop.FunctionCallLimitExceeded;
60
+ })(agentloop || (agentloop = {}));
61
+ //# sourceMappingURL=agentloop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentloop.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses.d/agentloop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from '../openai-responses.ts';
2
+ export * from './agentloop.ts';
@@ -0,0 +1,3 @@
1
+ export * from "../openai-responses.js";
2
+ export * from "./agentloop.js";
3
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses.d/exports.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { Function } from '../function.ts';
2
+ import * as SessionModule from './openai-responses/session.ts';
3
+ import { Engine } from '../engine.ts';
4
+ import { type InferenceContext } from '../inference-context.ts';
5
+ import { ToolCodec } from '../api-types/openai-responses/tool-codec.ts';
6
+ import { Billing } from '../api-types/openai-responses/billing.ts';
7
+ import { MessageCodec as CompatibleMessageCodec } from '../compatible-engine.d/openai-responses/message-codec.ts';
8
+ import * as ValidationModule from './openai-responses/validation.ts';
9
+ import type { Verbatim } from '../verbatim.ts';
10
+ import * as StructuringModule from './openai-responses/structuring.ts';
11
+ import * as ToolModule from './openai-responses/tool.ts';
12
+ import * as ChoiceCodecModule from './openai-responses/choice-codec.ts';
13
+ import * as MessageCodecModule from './openai-responses/message-codec.ts';
14
+ import * as TransportModule from './openai-responses/transport.ts';
15
+ export type OpenAIResponsesNativeEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = OpenAIResponsesNativeEngine.Instance<fdm, vdm>;
16
+ export declare namespace OpenAIResponsesNativeEngine {
17
+ class Instance<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Instance<fdm, vdm, OpenAIResponsesNativeEngine.RoleMessage.User.From<fdm>, OpenAIResponsesNativeEngine.RoleMessage.Ai.From<fdm, vdm>, OpenAIResponsesNativeEngine.RoleMessage.Developer, OpenAIResponsesNativeEngine.Session.From<fdm, vdm>> {
18
+ protected applyPatch: boolean;
19
+ protected choice: OpenAIResponsesNativeEngine.Structuring.Choice.From<fdm, vdm>;
20
+ protected toolCodec: ToolCodec<fdm>;
21
+ protected compatibleMessageCodec: CompatibleMessageCodec<fdm, vdm>;
22
+ protected messageCodec: OpenAIResponsesNativeEngine.MessageCodec<fdm, vdm>;
23
+ protected billing: Billing;
24
+ protected validator: OpenAIResponsesNativeEngine.Validator.From<fdm, vdm>;
25
+ protected transport: OpenAIResponsesNativeEngine.Transport<fdm, vdm>;
26
+ protected parallelToolCall: boolean;
27
+ constructor(options: OpenAIResponsesNativeEngine.Options<fdm, vdm>);
28
+ protected infer(wfctx: InferenceContext, session: OpenAIResponsesNativeEngine.Session.From<fdm, vdm>, signal?: AbortSignal): Promise<OpenAIResponsesNativeEngine.RoleMessage.Ai.From<fdm, vdm>>;
29
+ appendUserMessage(session: OpenAIResponsesNativeEngine.Session.From<fdm, vdm>, message: OpenAIResponsesNativeEngine.RoleMessage.User.From<fdm>): OpenAIResponsesNativeEngine.Session.From<fdm, vdm>;
30
+ pushUserMessage(session: OpenAIResponsesNativeEngine.Session.From<fdm, vdm>, message: OpenAIResponsesNativeEngine.RoleMessage.User.From<fdm>): OpenAIResponsesNativeEngine.Session.From<fdm, vdm>;
31
+ }
32
+ interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Options<fdm, vdm> {
33
+ applyPatch?: boolean;
34
+ structuringChoice?: OpenAIResponsesNativeEngine.Structuring.Choice.From<fdm, vdm>;
35
+ }
36
+ export import Session = SessionModule.Session;
37
+ export import RoleMessage = SessionModule.RoleMessage;
38
+ export import Tool = ToolModule.Tool;
39
+ export import ChoiceCodec = ChoiceCodecModule;
40
+ export import MessageCodec = MessageCodecModule.MessageCodec;
41
+ export import Structuring = StructuringModule.Structuring;
42
+ export import Transport = TransportModule.Transport;
43
+ export import Validator = ValidationModule.Validator;
44
+ }
@@ -0,0 +1,78 @@
1
+ import * as SessionModule from "./openai-responses/session.js";
2
+ import { Engine } from "../engine.js";
3
+ import { ToolCodec } from "../api-types/openai-responses/tool-codec.js";
4
+ import { Billing } from "../api-types/openai-responses/billing.js";
5
+ import { MessageCodec as CompatibleMessageCodec } from "../compatible-engine.d/openai-responses/message-codec.js";
6
+ import * as ValidationModule from "./openai-responses/validation.js";
7
+ import * as StructuringModule from "./openai-responses/structuring.js";
8
+ import * as ToolModule from "./openai-responses/tool.js";
9
+ import * as ChoiceCodecModule from "./openai-responses/choice-codec.js";
10
+ import * as MessageCodecModule from "./openai-responses/message-codec.js";
11
+ import * as TransportModule from "./openai-responses/transport.js";
12
+ export var OpenAIResponsesNativeEngine;
13
+ (function (OpenAIResponsesNativeEngine) {
14
+ class Instance extends Engine.Instance {
15
+ applyPatch;
16
+ choice;
17
+ toolCodec;
18
+ compatibleMessageCodec;
19
+ messageCodec;
20
+ billing;
21
+ validator;
22
+ transport;
23
+ parallelToolCall;
24
+ constructor(options) {
25
+ super(options);
26
+ this.parallelToolCall = options.parallelToolCall ?? false;
27
+ this.applyPatch = options.applyPatch ?? false;
28
+ this.choice = options.structuringChoice ?? OpenAIResponsesNativeEngine.Structuring.Choice.AUTO;
29
+ this.toolCodec = new ToolCodec({ fdm: this.fdm });
30
+ this.compatibleMessageCodec = new CompatibleMessageCodec({
31
+ toolCodec: this.toolCodec,
32
+ vdm: this.vdm,
33
+ });
34
+ this.messageCodec = new OpenAIResponsesNativeEngine.MessageCodec({
35
+ toolCodec: this.toolCodec,
36
+ compatibleMessageCodec: this.compatibleMessageCodec,
37
+ vdm: this.vdm,
38
+ });
39
+ this.billing = new Billing({ pricing: this.pricing });
40
+ this.validator = new OpenAIResponsesNativeEngine.Validator({ choice: this.choice });
41
+ this.transport = new OpenAIResponsesNativeEngine.Transport({
42
+ inferenceParams: this.inferenceParams,
43
+ providerSpec: this.providerSpec,
44
+ fdm: this.fdm,
45
+ throttle: this.throttle,
46
+ choice: this.choice,
47
+ parallelToolCall: this.parallelToolCall,
48
+ applyPatch: this.applyPatch,
49
+ messageCodec: this.messageCodec,
50
+ toolCodec: this.toolCodec,
51
+ billing: this.billing,
52
+ validator: this.validator,
53
+ });
54
+ }
55
+ infer(wfctx, session, signal) {
56
+ return this.transport.fetch(wfctx, session, signal);
57
+ }
58
+ appendUserMessage(session, message) {
59
+ return {
60
+ developerMessage: session.developerMessage,
61
+ chatMessages: [...session.chatMessages, message],
62
+ };
63
+ }
64
+ pushUserMessage(session, message) {
65
+ session.chatMessages.push(message);
66
+ return session;
67
+ }
68
+ }
69
+ OpenAIResponsesNativeEngine.Instance = Instance;
70
+ OpenAIResponsesNativeEngine.RoleMessage = SessionModule.RoleMessage;
71
+ OpenAIResponsesNativeEngine.Tool = ToolModule.Tool;
72
+ OpenAIResponsesNativeEngine.ChoiceCodec = ChoiceCodecModule;
73
+ OpenAIResponsesNativeEngine.MessageCodec = MessageCodecModule.MessageCodec;
74
+ OpenAIResponsesNativeEngine.Structuring = StructuringModule.Structuring;
75
+ OpenAIResponsesNativeEngine.Transport = TransportModule.Transport;
76
+ OpenAIResponsesNativeEngine.Validator = ValidationModule.Validator;
77
+ })(OpenAIResponsesNativeEngine || (OpenAIResponsesNativeEngine = {}));
78
+ //# sourceMappingURL=openai-responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/native-engines.d/openai-responses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Channel } from '@zimtsui/typelemetry/log';
2
+ import * as Presets from '@zimtsui/typelemetry/log/presets';
3
+ export declare const logger: {
4
+ inference: Channel<typeof Presets.Level, string>;
5
+ message: Channel<typeof Presets.Level, unknown>;
6
+ };
@@ -0,0 +1,19 @@
1
+ import { Channel, Exporter } from '@zimtsui/typelemetry/log';
2
+ import * as Presets from '@zimtsui/typelemetry/log/presets';
3
+ import { formatWithOptions } from 'node:util';
4
+ import { stderr } from 'node:process';
5
+ export const logger = {
6
+ inference: Channel.create(Presets.Level, (chunk, level) => Exporter.getGlobalExporter().stream({
7
+ scope: '@zimtsui/typechat',
8
+ channel: 'Inference',
9
+ level: Presets.Level[level],
10
+ payload: chunk,
11
+ })),
12
+ message: Channel.create(Presets.Level, (payload, level) => Exporter.getGlobalExporter().monolith({
13
+ scope: '@zimtsui/typechat',
14
+ channel: 'Message',
15
+ level: Presets.Level[level],
16
+ payload: formatWithOptions({ depth: null, colors: !!stderr.isTTY }, payload)
17
+ })),
18
+ };
19
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,OAAO,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,SAAS,EAAE,OAAO,CAAC,MAAM,CACrB,OAAO,CAAC,KAAK,EACb,CAAC,KAAa,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;QAC1D,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,KAAK;KACjB,CAAC,CACL;IACD,OAAO,EAAE,OAAO,CAAC,MAAM,CACnB,OAAO,CAAC,KAAK,EACb,CAAC,OAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;QAC/D,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC;KAC/E,CAAC,CACL;CACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { InferenceContext } from './inference-context.ts';
2
+ import { Mutex } from '@zimtsui/typelocks';
3
+ export declare class Throttle {
4
+ protected rpm: number;
5
+ protected valve: Mutex<void>;
6
+ protected timer: NodeJS.Timeout | null;
7
+ protected interval: number;
8
+ constructor(rpm: number);
9
+ requests(wfctx: InferenceContext): Promise<void>;
10
+ throw(e: Error): void;
11
+ }
@@ -0,0 +1,39 @@
1
+ import { Mutex } from '@zimtsui/typelocks';
2
+ export class Throttle {
3
+ rpm;
4
+ valve = Mutex.release();
5
+ timer = null;
6
+ interval;
7
+ constructor(rpm) {
8
+ this.rpm = rpm;
9
+ this.interval = Math.ceil(60 * 1000 / this.rpm);
10
+ }
11
+ async requests(wfctx) {
12
+ if (this.interval === 0)
13
+ return;
14
+ await wfctx.busy?.acquireRead();
15
+ try {
16
+ wfctx.signal?.throwIfAborted();
17
+ const waiting = this.valve.acquire()
18
+ .finally(() => {
19
+ this.timer = setTimeout(() => {
20
+ this.timer = null;
21
+ void this.valve.release();
22
+ }, this.interval);
23
+ });
24
+ await new Promise((resolve, reject) => {
25
+ waiting.then(resolve, reject);
26
+ wfctx.signal?.addEventListener('abort', reject, { signal: wfctx.signal });
27
+ });
28
+ }
29
+ finally {
30
+ wfctx.busy?.releaseRead();
31
+ }
32
+ }
33
+ throw(e) {
34
+ if (this.timer)
35
+ clearTimeout(this.timer);
36
+ this.valve.unblock(e);
37
+ }
38
+ }
39
+ //# sourceMappingURL=throttle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,MAAM,OAAO,QAAQ;IAIY;IAHnB,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,KAAK,GAA0B,IAAI,CAAC;IACpC,QAAQ,CAAS;IAC3B,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAuB;QACzC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;iBAC/B,OAAO,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,KAAK,GAAG,UAAU,CACnB,GAAG,EAAE;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,CAAC,EACD,IAAI,CAAC,QAAQ,CAChB,CAAC;YACN,CAAC,CAAC,CAAC;YAEP,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9B,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;QAEP,CAAC;gBAAS,CAAC;YACP,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,CAAQ;QACjB,IAAI,IAAI,CAAC,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;CACJ"}