@zimtsui/brainswitch 0.0.55 → 0.0.57
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 +13 -14
- package/README.md +110 -62
- package/assets/verbatim/declarations.handlebars +11 -0
- package/assets/verbatim/instruction.md +49 -0
- package/build/adaptor.d.ts +38 -7
- package/build/adaptor.js +35 -37
- package/build/adaptor.js.map +1 -1
- 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.js → google/tool-codec.js} +32 -29
- 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 +17 -46
- package/build/compatible-engine.js +20 -58
- package/build/compatible-engine.js.map +1 -1
- package/build/config.d.ts +1 -0
- package/build/config.js +0 -1
- package/build/config.js.map +1 -1
- package/build/endpoint-spec.d.ts +1 -0
- package/build/endpoint-spec.js +2 -1
- package/build/endpoint-spec.js.map +1 -1
- 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 +60 -29
- package/build/engine.js +86 -19
- package/build/engine.js.map +1 -1
- package/build/exports.d.ts +4 -3
- package/build/exports.js +4 -3
- package/build/exports.js.map +1 -1
- package/build/function.d.ts +79 -54
- package/build/function.js +30 -46
- package/build/function.js.map +1 -1
- package/build/inference-context.d.ts +2 -2
- package/build/inference-context.js +0 -1
- package/build/inference-context.js.map +1 -1
- 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 +45 -51
- package/build/native-engines.d/google/session.js +84 -80
- package/build/native-engines.d/google/session.js.map +1 -1
- 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 +3 -0
- package/build/native-engines.d/google.d/exports.js +4 -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 +47 -44
- package/build/native-engines.d/openai-responses/session.js +73 -103
- package/build/native-engines.d/openai-responses/session.js.map +1 -1
- 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 +14 -11
- package/build/native-engines.d/openai-responses/tool.js +1 -12
- package/build/native-engines.d/openai-responses/tool.js.map +1 -1
- 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/{google → openai-responses.d}/exports.d.ts +1 -2
- package/build/native-engines.d/{google → openai-responses.d}/exports.js +1 -2
- 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/throttle.d.ts +5 -4
- package/build/throttle.js +17 -14
- package/build/throttle.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- 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 +34 -0
- package/examples/verbatim.ts +44 -0
- package/package.json +10 -9
- package/build/agentloop.d.ts +0 -12
- package/build/agentloop.js +0 -43
- package/build/agentloop.js.map +0 -1
- package/build/api-types/anthropic.d.ts +0 -29
- package/build/api-types/anthropic.js +0 -93
- package/build/api-types/anthropic.js.map +0 -1
- package/build/api-types/google.d.ts +0 -28
- package/build/api-types/google.js.map +0 -1
- package/build/api-types/openai-chat-completions.d.ts +0 -31
- package/build/api-types/openai-chat-completions.js +0 -113
- package/build/api-types/openai-chat-completions.js.map +0 -1
- package/build/api-types/openai-responses.d.ts +0 -23
- package/build/api-types/openai-responses.js +0 -71
- package/build/api-types/openai-responses.js.map +0 -1
- package/build/compatible-engines.d/aliyun.d.ts +0 -69
- package/build/compatible-engines.d/aliyun.js +0 -149
- package/build/compatible-engines.d/aliyun.js.map +0 -1
- package/build/compatible-engines.d/anthropic.d.ts +0 -78
- package/build/compatible-engines.d/anthropic.js +0 -312
- package/build/compatible-engines.d/anthropic.js.map +0 -1
- package/build/compatible-engines.d/google.d.ts +0 -83
- package/build/compatible-engines.d/google.js +0 -279
- package/build/compatible-engines.d/google.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.d.ts +0 -15
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js +0 -75
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d/stream.d.ts +0 -21
- package/build/compatible-engines.d/openai-chatcompletions.d/stream.js +0 -186
- package/build/compatible-engines.d/openai-chatcompletions.d/stream.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d.ts +0 -27
- package/build/compatible-engines.d/openai-chatcompletions.js +0 -76
- package/build/compatible-engines.d/openai-chatcompletions.js.map +0 -1
- package/build/compatible-engines.d/openai-responses.d.ts +0 -93
- package/build/compatible-engines.d/openai-responses.js +0 -300
- package/build/compatible-engines.d/openai-responses.js.map +0 -1
- package/build/frontmatter.d.ts +0 -5
- package/build/frontmatter.js +0 -13
- package/build/frontmatter.js.map +0 -1
- package/build/native-engines.d/google/agentloop.d.ts +0 -12
- package/build/native-engines.d/google/agentloop.js +0 -42
- package/build/native-engines.d/google/agentloop.js.map +0 -1
- package/build/native-engines.d/google/engine.d.ts +0 -110
- package/build/native-engines.d/google/engine.js +0 -314
- package/build/native-engines.d/google/engine.js.map +0 -1
- package/build/native-engines.d/google/exports.js.map +0 -1
- package/build/native-engines.d/openai-responses/agentloop.d.ts +0 -13
- package/build/native-engines.d/openai-responses/agentloop.js +0 -53
- package/build/native-engines.d/openai-responses/agentloop.js.map +0 -1
- package/build/native-engines.d/openai-responses/engine.d.ts +0 -112
- package/build/native-engines.d/openai-responses/engine.js +0 -344
- package/build/native-engines.d/openai-responses/engine.js.map +0 -1
- package/build/native-engines.d/openai-responses/exports.d.ts +0 -7
- package/build/native-engines.d/openai-responses/exports.js +0 -8
- package/build/native-engines.d/openai-responses/exports.js.map +0 -1
- package/build/session.d.ts +0 -77
- package/build/session.js +0 -137
- package/build/session.js.map +0 -1
- package/build/test.d.ts +0 -1
- package/build/test.js +0 -198
- package/build/test.js.map +0 -1
|
@@ -1,116 +1,86 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { RoleMessage as CompatibleRoleMessage } from "../../compatible-engine/session.js";
|
|
2
2
|
import { Function } from "../../function.js";
|
|
3
3
|
import { Tool } from "./tool.js";
|
|
4
|
-
|
|
4
|
+
const NOMINAL = Symbol();
|
|
5
5
|
export var RoleMessage;
|
|
6
6
|
(function (RoleMessage) {
|
|
7
|
-
RoleMessage.NOMINAL = Symbol();
|
|
8
|
-
class Instance {
|
|
9
|
-
}
|
|
10
|
-
RoleMessage.Instance = Instance;
|
|
11
7
|
let Part;
|
|
12
8
|
(function (Part) {
|
|
13
|
-
Part.Text =
|
|
9
|
+
Part.Text = CompatibleRoleMessage.Part.Text;
|
|
14
10
|
})(Part = RoleMessage.Part || (RoleMessage.Part = {}));
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
class Ai {
|
|
12
|
+
parts;
|
|
13
|
+
raw;
|
|
14
|
+
constructor(parts, raw) {
|
|
15
|
+
this.parts = parts;
|
|
16
|
+
this.raw = raw;
|
|
17
|
+
}
|
|
18
|
+
getParts() {
|
|
19
|
+
return this.parts;
|
|
20
|
+
}
|
|
21
|
+
getRaw() {
|
|
22
|
+
return this.raw;
|
|
23
|
+
}
|
|
24
|
+
allTextPart() {
|
|
25
|
+
return this.parts.every(part => part instanceof RoleMessage.Part.Text);
|
|
26
|
+
}
|
|
27
|
+
getTextParts() {
|
|
28
|
+
return this.parts.filter(part => part instanceof RoleMessage.Part.Text);
|
|
29
|
+
}
|
|
30
|
+
getText() {
|
|
31
|
+
return this.getTextParts().map(part => part.text).join('');
|
|
32
|
+
}
|
|
33
|
+
getToolCalls() {
|
|
34
|
+
return this.parts.filter(part => part instanceof Function.Call || part instanceof Tool.ApplyPatch.Call);
|
|
19
35
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class Instance extends RoleMessage.Instance {
|
|
23
|
-
parts;
|
|
24
|
-
raw;
|
|
25
|
-
constructor(parts, raw) {
|
|
26
|
-
super();
|
|
27
|
-
this.parts = parts;
|
|
28
|
-
this.raw = raw;
|
|
29
|
-
}
|
|
30
|
-
getParts() {
|
|
31
|
-
return this.parts;
|
|
32
|
-
}
|
|
33
|
-
getRaw() {
|
|
34
|
-
return this.raw;
|
|
35
|
-
}
|
|
36
|
-
getText() {
|
|
37
|
-
return this.parts.filter(part => part instanceof RoleMessage.Part.Text.Instance).map(part => part.text).join('');
|
|
38
|
-
}
|
|
39
|
-
getOnlyText() {
|
|
40
|
-
if (this.parts.every(part => part instanceof RoleMessage.Part.Text.Instance)) { }
|
|
41
|
-
else
|
|
42
|
-
throw new Error();
|
|
43
|
-
return this.getText();
|
|
44
|
-
}
|
|
45
|
-
getOnlyFunctionCall() {
|
|
46
|
-
const tcs = this.getToolCalls();
|
|
47
|
-
if (tcs.length === 1) { }
|
|
48
|
-
else
|
|
49
|
-
throw new Error();
|
|
50
|
-
const tc = tcs[0];
|
|
51
|
-
if (tc instanceof Function.Call) { }
|
|
52
|
-
else
|
|
53
|
-
throw new Error();
|
|
54
|
-
return tc;
|
|
55
|
-
}
|
|
56
|
-
getOnlyApplyPatchCall() {
|
|
57
|
-
const tcs = this.getToolCalls();
|
|
58
|
-
if (tcs.length === 1) { }
|
|
59
|
-
else
|
|
60
|
-
throw new Error();
|
|
61
|
-
const tc = tcs[0];
|
|
62
|
-
if (tc instanceof Tool.ApplyPatch.Call) { }
|
|
63
|
-
else
|
|
64
|
-
throw new Error();
|
|
65
|
-
return tc;
|
|
66
|
-
}
|
|
67
|
-
getToolCalls() {
|
|
68
|
-
return this.parts.filter(part => part instanceof Function.Call || part instanceof Tool.ApplyPatch.Call);
|
|
69
|
-
}
|
|
70
|
-
getFunctionCalls() {
|
|
71
|
-
return this.parts.filter(part => part instanceof Function.Call);
|
|
72
|
-
}
|
|
73
|
-
getOnlyFunctionCalls() {
|
|
74
|
-
const tcs = this.getToolCalls();
|
|
75
|
-
if (tcs.every(tc => tc instanceof Function.Call)) { }
|
|
76
|
-
else
|
|
77
|
-
throw new Error();
|
|
78
|
-
return tcs;
|
|
79
|
-
}
|
|
36
|
+
getFunctionCalls() {
|
|
37
|
+
return this.parts.filter(part => part instanceof Function.Call);
|
|
80
38
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
function create(parts) {
|
|
86
|
-
return new Instance(parts);
|
|
39
|
+
getVerbatimRequests() {
|
|
40
|
+
return this.parts
|
|
41
|
+
.filter(part => part instanceof RoleMessage.Part.Text)
|
|
42
|
+
.flatMap(part => part.vrs);
|
|
87
43
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
getText() {
|
|
100
|
-
return this.parts.filter(part => part instanceof RoleMessage.Part.Text.Instance).map(part => part.text).join('');
|
|
101
|
-
}
|
|
102
|
-
getOnlyText() {
|
|
103
|
-
if (this.parts.every(part => part instanceof RoleMessage.Part.Text.Instance)) { }
|
|
104
|
-
else
|
|
105
|
-
throw new Error();
|
|
106
|
-
return this.getText();
|
|
107
|
-
}
|
|
108
|
-
getToolResponses() {
|
|
109
|
-
return this.parts.filter(part => part instanceof Function.Response || part instanceof Tool.ApplyPatch.Response);
|
|
110
|
-
}
|
|
44
|
+
getOnlyFunctionCall() {
|
|
45
|
+
const tcs = this.getToolCalls();
|
|
46
|
+
if (tcs.length === 1) { }
|
|
47
|
+
else
|
|
48
|
+
throw new Error();
|
|
49
|
+
const tc = tcs[0];
|
|
50
|
+
if (tc instanceof Function.Call) { }
|
|
51
|
+
else
|
|
52
|
+
throw new Error();
|
|
53
|
+
return tc;
|
|
111
54
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
55
|
+
getOnlyToolCall() {
|
|
56
|
+
const tcs = this.getToolCalls();
|
|
57
|
+
if (tcs.length === 1) { }
|
|
58
|
+
else
|
|
59
|
+
throw new Error();
|
|
60
|
+
return tcs[0];
|
|
61
|
+
}
|
|
62
|
+
getOnlyVerbatimRequest() {
|
|
63
|
+
const vrs = this.getVerbatimRequests();
|
|
64
|
+
if (vrs.length === 1) { }
|
|
65
|
+
else
|
|
66
|
+
throw new Error();
|
|
67
|
+
return vrs[0];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
RoleMessage.Ai = Ai;
|
|
71
|
+
class User {
|
|
72
|
+
parts;
|
|
73
|
+
constructor(parts) {
|
|
74
|
+
this.parts = parts;
|
|
75
|
+
}
|
|
76
|
+
getParts() {
|
|
77
|
+
return this.parts;
|
|
78
|
+
}
|
|
79
|
+
getToolResponses() {
|
|
80
|
+
return this.parts.filter(part => part instanceof Function.Response || part instanceof Tool.ApplyPatch.Response);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
RoleMessage.User = User;
|
|
84
|
+
RoleMessage.Developer = CompatibleRoleMessage.Developer;
|
|
115
85
|
})(RoleMessage || (RoleMessage = {}));
|
|
116
86
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/session.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Structuring as CompatibleStructuring } from '../../compatible-engine/structuring.ts';
|
|
2
|
+
import type { Function } from '../../function.ts';
|
|
3
|
+
import type { Verbatim } from '../../verbatim.ts';
|
|
4
|
+
export declare namespace Structuring {
|
|
5
|
+
type Choice<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto> = Structuring.Choice.TCall.FCall.Of<fdu> | typeof Structuring.Choice.TCall.REQUIRED | typeof Structuring.Choice.TCall.ANYONE | Structuring.Choice.VRequest.Of<vdu> | typeof Structuring.Choice.VRequest.REQUIRED | typeof Structuring.Choice.VRequest.ANYONE | typeof Structuring.Choice.NONE | typeof Structuring.Choice.AUTO | typeof Structuring.Choice.REQUIRED | typeof Structuring.Choice.ANYONE;
|
|
6
|
+
namespace Choice {
|
|
7
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Structuring.Choice<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
8
|
+
export import REQUIRED = CompatibleStructuring.Choice.REQUIRED;
|
|
9
|
+
export import ANYONE = CompatibleStructuring.Choice.ANYONE;
|
|
10
|
+
namespace TCall {
|
|
11
|
+
const REQUIRED: unique symbol;
|
|
12
|
+
const ANYONE: unique symbol;
|
|
13
|
+
export import FCall = CompatibleStructuring.Choice.FCall;
|
|
14
|
+
}
|
|
15
|
+
export import VRequest = CompatibleStructuring.Choice.VRequest;
|
|
16
|
+
export import NONE = CompatibleStructuring.Choice.NONE;
|
|
17
|
+
export import AUTO = CompatibleStructuring.Choice.AUTO;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Structuring as CompatibleStructuring } from "../../compatible-engine/structuring.js";
|
|
2
|
+
export var Structuring;
|
|
3
|
+
(function (Structuring) {
|
|
4
|
+
let Choice;
|
|
5
|
+
(function (Choice) {
|
|
6
|
+
Choice.REQUIRED = CompatibleStructuring.Choice.REQUIRED;
|
|
7
|
+
Choice.ANYONE = CompatibleStructuring.Choice.ANYONE;
|
|
8
|
+
let TCall;
|
|
9
|
+
(function (TCall) {
|
|
10
|
+
TCall.REQUIRED = Symbol();
|
|
11
|
+
TCall.ANYONE = Symbol();
|
|
12
|
+
TCall.FCall = CompatibleStructuring.Choice.FCall;
|
|
13
|
+
})(TCall = Choice.TCall || (Choice.TCall = {}));
|
|
14
|
+
Choice.VRequest = CompatibleStructuring.Choice.VRequest;
|
|
15
|
+
Choice.NONE = CompatibleStructuring.Choice.NONE;
|
|
16
|
+
Choice.AUTO = CompatibleStructuring.Choice.AUTO;
|
|
17
|
+
})(Choice = Structuring.Choice || (Structuring.Choice = {}));
|
|
18
|
+
})(Structuring || (Structuring = {}));
|
|
19
|
+
//# sourceMappingURL=structuring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuring.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/structuring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAK9F,MAAM,KAAW,WAAW,CAuC3B;AAvCD,WAAiB,WAAW;IAmBxB,IAAiB,MAAM,CAmBtB;IAnBD,WAAiB,MAAM;QAML,eAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjD,aAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC;QAE3D,IAAiB,KAAK,CAKrB;QALD,WAAiB,KAAK;YACL,cAAQ,GAAG,MAAM,EAAE,CAAC;YACpB,YAAM,GAAG,MAAM,EAAE,CAAC;YAEjB,WAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7D,CAAC,EALgB,KAAK,GAAL,YAAK,KAAL,YAAK,QAKrB;QAEa,eAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjD,WAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,WAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC;IAC3D,CAAC,EAnBgB,MAAM,GAAN,kBAAM,KAAN,kBAAM,QAmBtB;AACL,CAAC,EAvCgB,WAAW,KAAX,WAAW,QAuC3B"}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import { Function } from '../../function.ts';
|
|
2
2
|
import OpenAI from 'openai';
|
|
3
3
|
export declare namespace Tool {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const APPLY_PATCH: unique symbol;
|
|
5
|
+
namespace Name {
|
|
6
|
+
type From<fdm extends Function.Decl.Map.Proto> = Function.Name.From<fdm> | typeof Tool.APPLY_PATCH;
|
|
7
|
+
}
|
|
8
|
+
type Map<fdm extends Function.Decl.Map.Proto> = {
|
|
9
|
+
[name in Tool.Name.From<fdm>]: name extends typeof Tool.APPLY_PATCH ? Tool.ApplyPatch : name extends Function.Name.From<fdm> ? Function.Extract<fdm, name> : never;
|
|
7
10
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
namespace Call {
|
|
12
|
+
type Of<fdu extends Function.Decl.Proto> = Function.Call.Of<fdu> | ApplyPatch.Call;
|
|
13
|
+
type From<fdm extends Function.Decl.Map.Proto> = Call.Of<Function.Decl.From<fdm>>;
|
|
14
|
+
}
|
|
15
|
+
namespace Response {
|
|
16
|
+
type Of<fdu extends Function.Decl.Proto> = Function.Response.Of<fdu> | ApplyPatch.Response;
|
|
17
|
+
type From<fdm extends Function.Decl.Map.Proto> = Response.Of<Function.Decl.From<fdm>>;
|
|
11
18
|
}
|
|
12
|
-
type Call<fdu extends Function.Declaration = never> = Function.Call.Distributive<fdu> | ApplyPatch.Call;
|
|
13
|
-
type Response<fdu extends Function.Declaration = never> = Function.Response.Distributive<fdu> | ApplyPatch.Response;
|
|
14
19
|
interface ApplyPatch {
|
|
15
20
|
/**
|
|
16
21
|
* @returns empty string on success
|
|
17
22
|
*/
|
|
18
|
-
(operation: ApplyPatch.Operation): string
|
|
23
|
+
(operation: ApplyPatch.Operation): Promise<string>;
|
|
19
24
|
}
|
|
20
25
|
namespace ApplyPatch {
|
|
21
26
|
type Operation = Operation.UpdateFile | Operation.CreateFile | Operation.DeleteFile;
|
|
@@ -39,13 +44,11 @@ export declare namespace Tool {
|
|
|
39
44
|
namespace ApplyPatch {
|
|
40
45
|
class Call {
|
|
41
46
|
raw: OpenAI.Responses.ResponseApplyPatchToolCall;
|
|
42
|
-
static create(raw: OpenAI.Responses.ResponseApplyPatchToolCall): ApplyPatch.Call;
|
|
43
47
|
constructor(raw: OpenAI.Responses.ResponseApplyPatchToolCall);
|
|
44
48
|
}
|
|
45
49
|
class Response {
|
|
46
50
|
id: string;
|
|
47
51
|
failure: string;
|
|
48
|
-
static create(apr: Omit<ApplyPatch.Response, never>): ApplyPatch.Response;
|
|
49
52
|
constructor(apr: Omit<ApplyPatch.Response, never>);
|
|
50
53
|
}
|
|
51
54
|
}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import { Function } from "../../function.js";
|
|
2
|
-
import OpenAI from 'openai';
|
|
3
1
|
export var Tool;
|
|
4
2
|
(function (Tool) {
|
|
5
|
-
|
|
6
|
-
(function (Choice) {
|
|
7
|
-
Choice.APPLY_PATCH = Symbol();
|
|
8
|
-
})(Choice = Tool.Choice || (Tool.Choice = {}));
|
|
3
|
+
Tool.APPLY_PATCH = Symbol();
|
|
9
4
|
let ApplyPatch;
|
|
10
5
|
(function (ApplyPatch) {
|
|
11
6
|
class Call {
|
|
12
7
|
raw;
|
|
13
|
-
static create(raw) {
|
|
14
|
-
return new ApplyPatch.Call(raw);
|
|
15
|
-
}
|
|
16
8
|
constructor(raw) {
|
|
17
9
|
this.raw = raw;
|
|
18
10
|
}
|
|
@@ -21,9 +13,6 @@ export var Tool;
|
|
|
21
13
|
class Response {
|
|
22
14
|
id;
|
|
23
15
|
failure;
|
|
24
|
-
static create(apr) {
|
|
25
|
-
return new ApplyPatch.Response(apr);
|
|
26
|
-
}
|
|
27
16
|
constructor(apr) {
|
|
28
17
|
this.id = apr.id;
|
|
29
18
|
this.failure = apr.failure;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool.ts"],"names":[],"mappings":"AAIA,MAAM,KAAW,IAAI,CAkFpB;AAlFD,WAAiB,IAAI;IACJ,gBAAW,GAAG,MAAM,EAAE,CAAC;IA+DpC,IAAiB,UAAU,CAe1B;IAfD,WAAiB,UAAU;QAEvB,MAAa,IAAI;YACa;YAA1B,YAA0B,GAAgD;gBAAhD,QAAG,GAAH,GAAG,CAA6C;YAAG,CAAC;SACjF;QAFY,eAAI,OAEhB,CAAA;QAED,MAAa,QAAQ;YACV,EAAE,CAAS;YACX,OAAO,CAAS;YACvB,YAAmB,GAAqC;gBACpD,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC/B,CAAC;SACJ;QAPY,mBAAQ,WAOpB,CAAA;IAEL,CAAC,EAfgB,UAAU,GAAV,eAAU,KAAV,eAAU,QAe1B;AAGL,CAAC,EAlFgB,IAAI,KAAJ,IAAI,QAkFpB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type InferenceParams, type ProviderSpec } from '../../engine.ts';
|
|
2
|
+
import { RoleMessage, type Session } from './session.ts';
|
|
3
|
+
import { Function } from '../../function.ts';
|
|
4
|
+
import type OpenAI from 'openai';
|
|
5
|
+
import { type InferenceContext } from '../../inference-context.ts';
|
|
6
|
+
import { Throttle } from '../../throttle.ts';
|
|
7
|
+
import type { MessageCodec } from './message-codec.ts';
|
|
8
|
+
import type { ToolCodec } from '../../api-types/openai-responses/tool-codec.ts';
|
|
9
|
+
import type { Billing } from '../../api-types/openai-responses/billing.ts';
|
|
10
|
+
import type { Validator } from './validation.ts';
|
|
11
|
+
import type { Verbatim } from '../../verbatim.ts';
|
|
12
|
+
import { Structuring } from './structuring.ts';
|
|
13
|
+
export declare class Transport<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> {
|
|
14
|
+
protected ctx: Transport.Context<fdm, vdm>;
|
|
15
|
+
protected apiURL: URL;
|
|
16
|
+
constructor(ctx: Transport.Context<fdm, vdm>);
|
|
17
|
+
protected makeParams(session: Session.From<fdm, vdm>): OpenAI.Responses.ResponseCreateParamsNonStreaming;
|
|
18
|
+
protected logAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): void;
|
|
19
|
+
fetch(wfctx: InferenceContext, session: Session.From<fdm, vdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm, vdm>>;
|
|
20
|
+
}
|
|
21
|
+
export declare namespace Transport {
|
|
22
|
+
interface Context<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
|
|
23
|
+
inferenceParams: InferenceParams;
|
|
24
|
+
providerSpec: ProviderSpec;
|
|
25
|
+
fdm: fdm;
|
|
26
|
+
throttle: Throttle;
|
|
27
|
+
choice: Structuring.Choice.From<fdm, vdm>;
|
|
28
|
+
parallelToolCall: boolean;
|
|
29
|
+
applyPatch: boolean;
|
|
30
|
+
messageCodec: MessageCodec<fdm, vdm>;
|
|
31
|
+
toolCodec: ToolCodec<fdm>;
|
|
32
|
+
billing: Billing;
|
|
33
|
+
validator: Validator.From<fdm, vdm>;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { NetworkError, ResponseInvalid } from "../../engine.js";
|
|
2
|
+
import * as Undici from 'undici';
|
|
3
|
+
import { logger } from "../../telemetry.js";
|
|
4
|
+
import * as ChoiceCodec from "./choice-codec.js";
|
|
5
|
+
export class Transport {
|
|
6
|
+
ctx;
|
|
7
|
+
apiURL;
|
|
8
|
+
constructor(ctx) {
|
|
9
|
+
this.ctx = ctx;
|
|
10
|
+
this.apiURL = new URL(`${this.ctx.providerSpec.baseUrl}/responses`);
|
|
11
|
+
}
|
|
12
|
+
makeParams(session) {
|
|
13
|
+
const tools = this.ctx.toolCodec.encodeFunctionDeclarationMap(this.ctx.fdm);
|
|
14
|
+
if (this.ctx.applyPatch)
|
|
15
|
+
tools.push({ type: 'apply_patch' });
|
|
16
|
+
return {
|
|
17
|
+
model: this.ctx.inferenceParams.model,
|
|
18
|
+
include: ['reasoning.encrypted_content'],
|
|
19
|
+
store: false,
|
|
20
|
+
input: session.chatMessages.flatMap(chatMessage => this.ctx.messageCodec.encodeChatMessage(chatMessage)),
|
|
21
|
+
instructions: session.developerMessage && this.ctx.messageCodec.encodeDeveloperMessage(session.developerMessage),
|
|
22
|
+
tools: tools.length ? tools : undefined,
|
|
23
|
+
tool_choice: tools.length ? ChoiceCodec.encode(this.ctx.choice) : undefined,
|
|
24
|
+
parallel_tool_calls: tools.length ? this.ctx.parallelToolCall : undefined,
|
|
25
|
+
max_output_tokens: this.ctx.inferenceParams.maxTokens,
|
|
26
|
+
...this.ctx.inferenceParams.additionalOptions,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
logAiMessage(output) {
|
|
30
|
+
for (const item of output)
|
|
31
|
+
if (item.type === 'message') {
|
|
32
|
+
if (item.content.every(part => part.type === 'output_text')) { }
|
|
33
|
+
else
|
|
34
|
+
throw new Error();
|
|
35
|
+
logger.inference.debug(item.content.map(part => part.text).join(''));
|
|
36
|
+
}
|
|
37
|
+
else if (item.type === 'function_call')
|
|
38
|
+
logger.message.debug(item);
|
|
39
|
+
else if (item.type === 'apply_patch_call')
|
|
40
|
+
logger.message.debug(item);
|
|
41
|
+
}
|
|
42
|
+
async fetch(wfctx, session, signal) {
|
|
43
|
+
await this.ctx.throttle.requests(wfctx);
|
|
44
|
+
// Prepare request
|
|
45
|
+
const params = this.makeParams(session);
|
|
46
|
+
logger.message.trace(params);
|
|
47
|
+
// Send request
|
|
48
|
+
const res = await Undici.fetch(this.apiURL, {
|
|
49
|
+
method: 'POST',
|
|
50
|
+
headers: new Headers({
|
|
51
|
+
'Content-Type': 'application/json',
|
|
52
|
+
'Authorization': `Bearer ${this.ctx.providerSpec.apiKey}`,
|
|
53
|
+
}),
|
|
54
|
+
body: JSON.stringify(params),
|
|
55
|
+
dispatcher: this.ctx.providerSpec.proxyAgent,
|
|
56
|
+
signal,
|
|
57
|
+
}).catch(e => {
|
|
58
|
+
if (e instanceof TypeError)
|
|
59
|
+
throw new NetworkError(undefined, { cause: e });
|
|
60
|
+
else
|
|
61
|
+
throw e;
|
|
62
|
+
});
|
|
63
|
+
// Get response
|
|
64
|
+
if (res.ok) { }
|
|
65
|
+
else
|
|
66
|
+
throw new Error(undefined, { cause: res });
|
|
67
|
+
const response = await res.json();
|
|
68
|
+
logger.message.trace(response);
|
|
69
|
+
// Validate response
|
|
70
|
+
if (response.status === 'incomplete' && response.incomplete_details?.reason === 'max_output_tokens')
|
|
71
|
+
throw new ResponseInvalid('Token limit exceeded.', { cause: response });
|
|
72
|
+
if (response.status === 'completed') { }
|
|
73
|
+
else
|
|
74
|
+
throw new ResponseInvalid('Abnormal response status', { cause: response });
|
|
75
|
+
if (response.usage) { }
|
|
76
|
+
else
|
|
77
|
+
throw new Error();
|
|
78
|
+
this.logAiMessage(response.output);
|
|
79
|
+
wfctx.cost?.(this.ctx.billing.charge(response.usage));
|
|
80
|
+
logger.message.debug(response.usage);
|
|
81
|
+
return this.ctx.messageCodec.decodeAiMessage(response.output);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Structuring } from './structuring.ts';
|
|
2
|
+
import { Function } from '../../function.ts';
|
|
3
|
+
import { Verbatim } from '../../verbatim.ts';
|
|
4
|
+
import { RoleMessage } from './session.ts';
|
|
5
|
+
import type { Engine } from '../../engine.ts';
|
|
6
|
+
export declare class Validator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.Validator<fdu, vdu, RoleMessage.Ai<fdu, vdu>> {
|
|
7
|
+
protected ctx: Validator.Context<fdu, vdu>;
|
|
8
|
+
constructor(ctx: Validator.Context<fdu, vdu>);
|
|
9
|
+
validateChoice(message: RoleMessage.Ai<fdu, vdu>): void;
|
|
10
|
+
validateParts(message: RoleMessage.Ai<fdu, vdu>): void;
|
|
11
|
+
}
|
|
12
|
+
export declare namespace Validator {
|
|
13
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Validator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
14
|
+
interface Context<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
|
|
15
|
+
choice: Structuring.Choice<fdu, vdu>;
|
|
16
|
+
}
|
|
17
|
+
namespace Context {
|
|
18
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Context<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Structuring } from "./structuring.js";
|
|
2
|
+
import { Function } from "../../function.js";
|
|
3
|
+
import { ResponseInvalid } from "../../engine.js";
|
|
4
|
+
export class Validator {
|
|
5
|
+
ctx;
|
|
6
|
+
constructor(ctx) {
|
|
7
|
+
this.ctx = ctx;
|
|
8
|
+
}
|
|
9
|
+
validateChoice(message) {
|
|
10
|
+
const tcs = message.getToolCalls();
|
|
11
|
+
const vrs = message.getVerbatimRequests();
|
|
12
|
+
if (this.ctx.choice === Structuring.Choice.TCall.REQUIRED) {
|
|
13
|
+
if (tcs.length) { }
|
|
14
|
+
else
|
|
15
|
+
throw new ResponseInvalid('Tool call required.');
|
|
16
|
+
}
|
|
17
|
+
else if (this.ctx.choice === Structuring.Choice.TCall.ANYONE) {
|
|
18
|
+
if (tcs.length) { }
|
|
19
|
+
else
|
|
20
|
+
throw new ResponseInvalid('Tool call required.');
|
|
21
|
+
if (tcs.length > 1)
|
|
22
|
+
throw new ResponseInvalid('Only one tool call allowed.');
|
|
23
|
+
}
|
|
24
|
+
else if (this.ctx.choice instanceof Structuring.Choice.TCall.FCall) {
|
|
25
|
+
if (tcs.length) { }
|
|
26
|
+
else
|
|
27
|
+
throw new ResponseInvalid(`Function call of ${this.ctx.choice.name} required.`);
|
|
28
|
+
if (tcs.length > 1)
|
|
29
|
+
throw new ResponseInvalid('Only one function call allowed.');
|
|
30
|
+
if (tcs[0] instanceof Function.Call && tcs[0].name === this.ctx.choice.name) { }
|
|
31
|
+
else
|
|
32
|
+
throw new ResponseInvalid(`Only function call of ${this.ctx.choice.name} allowed.`);
|
|
33
|
+
}
|
|
34
|
+
else if (this.ctx.choice === Structuring.Choice.VRequest.REQUIRED) {
|
|
35
|
+
if (vrs.length) { }
|
|
36
|
+
else
|
|
37
|
+
throw new ResponseInvalid('Verbatim message required.');
|
|
38
|
+
}
|
|
39
|
+
else if (this.ctx.choice === Structuring.Choice.VRequest.ANYONE) {
|
|
40
|
+
if (vrs.length) { }
|
|
41
|
+
else
|
|
42
|
+
throw new ResponseInvalid('Verbatim message required.');
|
|
43
|
+
if (vrs.length > 1)
|
|
44
|
+
throw new ResponseInvalid('Only one verbatim message allowed.');
|
|
45
|
+
}
|
|
46
|
+
else if (this.ctx.choice instanceof Structuring.Choice.VRequest) {
|
|
47
|
+
if (vrs.length) { }
|
|
48
|
+
else
|
|
49
|
+
throw new ResponseInvalid(`Verbatim message through channel ${this.ctx.choice.name} required.`);
|
|
50
|
+
if (vrs.length > 1)
|
|
51
|
+
throw new ResponseInvalid('Only one verbatim message allowed.');
|
|
52
|
+
if (vrs[0].name === this.ctx.choice.name) { }
|
|
53
|
+
else
|
|
54
|
+
throw new ResponseInvalid(`Only verbatim message through channel ${this.ctx.choice.name} allowed.`);
|
|
55
|
+
}
|
|
56
|
+
else if (this.ctx.choice === Structuring.Choice.REQUIRED) {
|
|
57
|
+
if (tcs.length + vrs.length) { }
|
|
58
|
+
else
|
|
59
|
+
throw new ResponseInvalid('Either tool call or verbatim message required.');
|
|
60
|
+
}
|
|
61
|
+
else if (this.ctx.choice === Structuring.Choice.ANYONE) {
|
|
62
|
+
if (tcs.length + vrs.length) { }
|
|
63
|
+
else
|
|
64
|
+
throw new ResponseInvalid('Either tool call or verbatim message required.');
|
|
65
|
+
if (tcs.length + vrs.length > 1)
|
|
66
|
+
throw new ResponseInvalid('Only one tool call or verbatim message allowed.');
|
|
67
|
+
}
|
|
68
|
+
else if (this.ctx.choice === Structuring.Choice.NONE) {
|
|
69
|
+
if (tcs.length + vrs.length)
|
|
70
|
+
throw new ResponseInvalid('Neither tool call nor verbatim message allowed.');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
validateParts(message) {
|
|
74
|
+
const parts = message.getParts();
|
|
75
|
+
if (parts.length) { }
|
|
76
|
+
else
|
|
77
|
+
throw new ResponseInvalid('Empty message.');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type InferenceContext } from '../../inference-context.ts';
|
|
2
|
+
import { Function } from '../../function.ts';
|
|
3
|
+
import { OpenAIResponsesNativeEngine } from '../openai-responses.ts';
|
|
4
|
+
import * as CompatibleAgentloopModule from '../../compatible-engine.d/agentloop.ts';
|
|
5
|
+
import type { Verbatim } from '../../verbatim.ts';
|
|
6
|
+
/**
|
|
7
|
+
* @param session mutable
|
|
8
|
+
*/
|
|
9
|
+
export declare function agentloop<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto>(wfctx: InferenceContext, session: OpenAIResponsesNativeEngine.Session.From<fdm, vdm>, engine: OpenAIResponsesNativeEngine<fdm, vdm>, tlm: OpenAIResponsesNativeEngine.Tool.Map<fdm>, limit?: number): AsyncGenerator<string, string, void>;
|
|
10
|
+
export declare namespace agentloop {
|
|
11
|
+
export import FunctionCallLimitExceeded = CompatibleAgentloopModule.agentloop.FunctionCallLimitExceeded;
|
|
12
|
+
}
|