@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.
- package/DEVELOPMENT.md +22 -0
- package/LICENSE +165 -0
- package/README.md +202 -0
- package/assets/verbatim/declarations.handlebars +11 -0
- package/assets/verbatim/instruction.md +49 -0
- package/build/adaptor.d.ts +45 -0
- package/build/adaptor.js +90 -0
- package/build/adaptor.js.map +1 -0
- package/build/api-types/anthropic/billing.d.ts +12 -0
- package/build/api-types/anthropic/billing.js +14 -0
- package/build/api-types/anthropic/billing.js.map +1 -0
- package/build/api-types/anthropic/tool-codec.d.ts +16 -0
- package/build/api-types/anthropic/tool-codec.js +58 -0
- package/build/api-types/anthropic/tool-codec.js.map +1 -0
- package/build/api-types/google/billing.d.ts +12 -0
- package/build/api-types/google/billing.js +23 -0
- package/build/api-types/google/billing.js.map +1 -0
- package/build/api-types/google/restful-request.d.ts +8 -0
- package/build/api-types/google/restful-request.js +1 -0
- package/build/api-types/google/restful-request.js.map +1 -0
- package/build/api-types/google/tool-codec.d.ts +16 -0
- package/build/api-types/google/tool-codec.js +80 -0
- package/build/api-types/google/tool-codec.js.map +1 -0
- package/build/api-types/openai-chatcompletions/billing.d.ts +12 -0
- package/build/api-types/openai-chatcompletions/billing.js +14 -0
- package/build/api-types/openai-chatcompletions/billing.js.map +1 -0
- package/build/api-types/openai-chatcompletions/tool-codec.d.ts +17 -0
- package/build/api-types/openai-chatcompletions/tool-codec.js +80 -0
- package/build/api-types/openai-chatcompletions/tool-codec.js.map +1 -0
- package/build/api-types/openai-responses/billing.d.ts +12 -0
- package/build/api-types/openai-responses/billing.js +14 -0
- package/build/api-types/openai-responses/billing.js.map +1 -0
- package/build/api-types/openai-responses/tool-codec.d.ts +16 -0
- package/build/api-types/openai-responses/tool-codec.js +76 -0
- package/build/api-types/openai-responses/tool-codec.js.map +1 -0
- package/build/assets.d.ts +7 -0
- package/build/assets.js +8 -0
- package/build/assets.js.map +1 -0
- package/build/compatible-engine/session.d.ts +67 -0
- package/build/compatible-engine/session.js +92 -0
- package/build/compatible-engine/session.js.map +1 -0
- package/build/compatible-engine/structuring.d.ts +36 -0
- package/build/compatible-engine/structuring.js +34 -0
- package/build/compatible-engine/structuring.js.map +1 -0
- package/build/compatible-engine/validation.d.ts +21 -0
- package/build/compatible-engine/validation.js +82 -0
- package/build/compatible-engine/validation.js.map +1 -0
- package/build/compatible-engine.d/agentloop.d.ts +12 -0
- package/build/compatible-engine.d/agentloop.js +52 -0
- package/build/compatible-engine.d/agentloop.js.map +1 -0
- package/build/compatible-engine.d/aliyun/transport.d.ts +12 -0
- package/build/compatible-engine.d/aliyun/transport.js +7 -0
- package/build/compatible-engine.d/aliyun/transport.js.map +1 -0
- package/build/compatible-engine.d/aliyun.d.ts +24 -0
- package/build/compatible-engine.d/aliyun.js +46 -0
- package/build/compatible-engine.d/aliyun.js.map +1 -0
- package/build/compatible-engine.d/anthropic/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/anthropic/choice-codec.js +26 -0
- package/build/compatible-engine.d/anthropic/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/anthropic/message-codec.d.ts +36 -0
- package/build/compatible-engine.d/anthropic/message-codec.js +86 -0
- package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -0
- package/build/compatible-engine.d/anthropic/transport.d.ts +34 -0
- package/build/compatible-engine.d/anthropic/transport.js +150 -0
- package/build/compatible-engine.d/anthropic/transport.js.map +1 -0
- package/build/compatible-engine.d/anthropic.d.ts +26 -0
- package/build/compatible-engine.d/anthropic.js +46 -0
- package/build/compatible-engine.d/anthropic.js.map +1 -0
- package/build/compatible-engine.d/google/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/google/choice-codec.js +27 -0
- package/build/compatible-engine.d/google/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/google/message-codec.d.ts +36 -0
- package/build/compatible-engine.d/google/message-codec.js +94 -0
- package/build/compatible-engine.d/google/message-codec.js.map +1 -0
- package/build/compatible-engine.d/google/transport.d.ts +30 -0
- package/build/compatible-engine.d/google/transport.js +78 -0
- package/build/compatible-engine.d/google/transport.js.map +1 -0
- package/build/compatible-engine.d/google.d.ts +26 -0
- package/build/compatible-engine.d/google.js +50 -0
- package/build/compatible-engine.d/google.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +31 -0
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +24 -0
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +71 -0
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +38 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js +77 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +37 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +190 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +10 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.js +11 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions.d.ts +17 -0
- package/build/compatible-engine.d/openai-chatcompletions.js +14 -0
- package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -0
- package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/openai-responses/choice-codec.js +30 -0
- package/build/compatible-engine.d/openai-responses/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-responses/message-codec.d.ts +36 -0
- package/build/compatible-engine.d/openai-responses/message-codec.js +96 -0
- package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-responses/transport.d.ts +35 -0
- package/build/compatible-engine.d/openai-responses/transport.js +80 -0
- package/build/compatible-engine.d/openai-responses/transport.js.map +1 -0
- package/build/compatible-engine.d/openai-responses.d.ts +26 -0
- package/build/compatible-engine.d/openai-responses.js +46 -0
- package/build/compatible-engine.d/openai-responses.js.map +1 -0
- package/build/compatible-engine.d.ts +22 -0
- package/build/compatible-engine.js +29 -0
- package/build/compatible-engine.js.map +1 -0
- package/build/config.d.ts +24 -0
- package/build/config.js +11 -0
- package/build/config.js.map +1 -0
- package/build/endpoint-spec.d.ts +20 -0
- package/build/endpoint-spec.js +26 -0
- package/build/endpoint-spec.js.map +1 -0
- package/build/engine/session.d.ts +7 -0
- package/build/engine/session.js +1 -0
- package/build/engine/session.js.map +1 -0
- package/build/engine/transport.d.ts +5 -0
- package/build/engine/transport.js +1 -0
- package/build/engine/transport.js.map +1 -0
- package/build/engine/validation.d.ts +9 -0
- package/build/engine/validation.js +1 -0
- package/build/engine/validation.js.map +1 -0
- package/build/engine.d.ts +82 -0
- package/build/engine.js +104 -0
- package/build/engine.js.map +1 -0
- package/build/exports.d.ts +14 -0
- package/build/exports.js +15 -0
- package/build/exports.js.map +1 -0
- package/build/function.d.ts +106 -0
- package/build/function.js +55 -0
- package/build/function.js.map +1 -0
- package/build/inference-context.d.ts +6 -0
- package/build/inference-context.js +1 -0
- package/build/inference-context.js.map +1 -0
- package/build/native-engines.d/google/message-codec.d.ts +23 -0
- package/build/native-engines.d/google/message-codec.js +67 -0
- package/build/native-engines.d/google/message-codec.js.map +1 -0
- package/build/native-engines.d/google/session.d.ts +58 -0
- package/build/native-engines.d/google/session.js +101 -0
- package/build/native-engines.d/google/session.js.map +1 -0
- package/build/native-engines.d/google/transport.d.ts +34 -0
- package/build/native-engines.d/google/transport.js +81 -0
- package/build/native-engines.d/google/transport.js.map +1 -0
- package/build/native-engines.d/google/validation.d.ts +22 -0
- package/build/native-engines.d/google/validation.js +20 -0
- package/build/native-engines.d/google/validation.js.map +1 -0
- package/build/native-engines.d/google.d/agentloop.d.ts +12 -0
- package/build/native-engines.d/google.d/agentloop.js +57 -0
- package/build/native-engines.d/google.d/agentloop.js.map +1 -0
- package/build/native-engines.d/google.d/exports.d.ts +2 -0
- package/build/native-engines.d/google.d/exports.js +3 -0
- package/build/native-engines.d/google.d/exports.js.map +1 -0
- package/build/native-engines.d/google.d.ts +42 -0
- package/build/native-engines.d/google.js +83 -0
- package/build/native-engines.d/google.js.map +1 -0
- package/build/native-engines.d/openai-responses/choice-codec.d.ts +5 -0
- package/build/native-engines.d/openai-responses/choice-codec.js +30 -0
- package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -0
- package/build/native-engines.d/openai-responses/message-codec.d.ts +23 -0
- package/build/native-engines.d/openai-responses/message-codec.js +75 -0
- package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
- package/build/native-engines.d/openai-responses/session.d.ts +61 -0
- package/build/native-engines.d/openai-responses/session.js +86 -0
- package/build/native-engines.d/openai-responses/session.js.map +1 -0
- package/build/native-engines.d/openai-responses/structuring.d.ts +19 -0
- package/build/native-engines.d/openai-responses/structuring.js +19 -0
- package/build/native-engines.d/openai-responses/structuring.js.map +1 -0
- package/build/native-engines.d/openai-responses/tool.d.ts +55 -0
- package/build/native-engines.d/openai-responses/tool.js +24 -0
- package/build/native-engines.d/openai-responses/tool.js.map +1 -0
- package/build/native-engines.d/openai-responses/transport.d.ts +35 -0
- package/build/native-engines.d/openai-responses/transport.js +84 -0
- package/build/native-engines.d/openai-responses/transport.js.map +1 -0
- package/build/native-engines.d/openai-responses/validation.d.ts +20 -0
- package/build/native-engines.d/openai-responses/validation.js +80 -0
- package/build/native-engines.d/openai-responses/validation.js.map +1 -0
- package/build/native-engines.d/openai-responses.d/agentloop.d.ts +12 -0
- package/build/native-engines.d/openai-responses.d/agentloop.js +61 -0
- package/build/native-engines.d/openai-responses.d/agentloop.js.map +1 -0
- package/build/native-engines.d/openai-responses.d/exports.d.ts +2 -0
- package/build/native-engines.d/openai-responses.d/exports.js +3 -0
- package/build/native-engines.d/openai-responses.d/exports.js.map +1 -0
- package/build/native-engines.d/openai-responses.d.ts +44 -0
- package/build/native-engines.d/openai-responses.js +78 -0
- package/build/native-engines.d/openai-responses.js.map +1 -0
- package/build/telemetry.d.ts +6 -0
- package/build/telemetry.js +19 -0
- package/build/telemetry.js.map +1 -0
- package/build/throttle.d.ts +11 -0
- package/build/throttle.js +39 -0
- package/build/throttle.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/verbatim/codec/declarations.d.ts +2 -0
- package/build/verbatim/codec/declarations.js +22 -0
- package/build/verbatim/codec/declarations.js.map +1 -0
- package/build/verbatim/codec/request.d.ts +7 -0
- package/build/verbatim/codec/request.js +53 -0
- package/build/verbatim/codec/request.js.map +1 -0
- package/build/verbatim/codec.d.ts +2 -0
- package/build/verbatim/codec.js +3 -0
- package/build/verbatim/codec.js.map +1 -0
- package/build/verbatim.d.ts +74 -0
- package/build/verbatim.js +17 -0
- package/build/verbatim.js.map +1 -0
- package/examples/agent.ts +65 -0
- package/examples/chat.ts +24 -0
- package/examples/config.ts +24 -0
- package/examples/tsconfig.json +28 -0
- package/examples/verbatim.ts +44 -0
- 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 @@
|
|
|
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,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"}
|