@zimtsui/typechat 0.0.97 → 0.0.99
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 +3 -8
- package/README.md +5 -177
- package/assets/verbatim/instruction.md +1 -1
- package/assets/verbatim/response.handlebars +1 -1
- package/build/adaptor.d.ts +9 -9
- package/build/adaptor.js +15 -17
- package/build/adaptor.js.map +1 -1
- package/build/endpoint-spec.d.ts +1 -1
- package/build/endpoint-spec.js +1 -1
- package/build/engine/message.d.ts +75 -0
- package/build/engine/message.js +165 -0
- package/build/engine/message.js.map +1 -0
- package/build/engine/middleware.d.ts +11 -0
- package/build/engine/middleware.js +1 -0
- package/build/engine/middleware.js.map +1 -0
- package/build/engine/parts-validator.d.ts +9 -0
- package/build/engine/parts-validator.js +11 -0
- package/build/engine/parts-validator.js.map +1 -0
- package/build/engine/recoverable.d.ts +13 -0
- package/build/engine/recoverable.js +29 -0
- package/build/engine/recoverable.js.map +1 -0
- package/build/engine/session.d.ts +8 -32
- package/build/engine/session.js +0 -19
- package/build/engine/session.js.map +1 -1
- package/build/engine/structuring-validator.d.ts +15 -0
- package/build/engine/structuring-validator.js +64 -0
- package/build/engine/structuring-validator.js.map +1 -0
- package/build/engine/transport.d.ts +6 -3
- package/build/engine.d.ts +40 -39
- package/build/engine.js +100 -64
- package/build/engine.js.map +1 -1
- package/build/engines/anthropic/billing.js.map +1 -0
- package/build/engines/anthropic/message-codec.d.ts +22 -0
- package/build/engines/anthropic/message-codec.js +79 -0
- package/build/engines/anthropic/message-codec.js.map +1 -0
- package/build/engines/anthropic/message.d.ts +22 -0
- package/build/engines/anthropic/message.js +25 -0
- package/build/engines/anthropic/message.js.map +1 -0
- package/build/{compatible-engine.d/anthropic/choice-codec.d.ts → engines/anthropic/structuring-choice-codec.d.ts} +2 -2
- package/build/engines/anthropic/structuring-choice-codec.js +23 -0
- package/build/engines/anthropic/structuring-choice-codec.js.map +1 -0
- package/build/{api-types → engines}/anthropic/tool-codec.d.ts +5 -4
- package/build/{api-types → engines}/anthropic/tool-codec.js +16 -14
- package/build/engines/anthropic/tool-codec.js.map +1 -0
- package/build/engines/anthropic/transport.d.ts +37 -0
- package/build/{compatible-engine.d → engines}/anthropic/transport.js +8 -12
- package/build/engines/anthropic/transport.js.map +1 -0
- package/build/engines/anthropic.d.ts +22 -0
- package/build/engines/anthropic.js +46 -0
- package/build/engines/anthropic.js.map +1 -0
- package/build/engines/google/billing.js.map +1 -0
- package/build/engines/google/message-codec.d.ts +24 -0
- package/build/engines/google/message-codec.js +113 -0
- package/build/engines/google/message-codec.js.map +1 -0
- package/build/engines/google/message.d.ts +37 -0
- package/build/engines/google/message.js +58 -0
- package/build/engines/google/message.js.map +1 -0
- package/build/engines/google/restful-request.js.map +1 -0
- package/build/{compatible-engine.d/google/choice-codec.d.ts → engines/google/structuring-choice-codec.d.ts} +2 -2
- package/build/engines/google/structuring-choice-codec.js +23 -0
- package/build/engines/google/structuring-choice-codec.js.map +1 -0
- package/build/{api-types → engines}/google/tool-codec.d.ts +5 -4
- package/build/{api-types → engines}/google/tool-codec.js +15 -13
- package/build/engines/google/tool-codec.js.map +1 -0
- package/build/{native-engines.d → engines}/google/transport.d.ts +13 -14
- package/build/{native-engines.d → engines}/google/transport.js +18 -13
- package/build/engines/google/transport.js.map +1 -0
- package/build/engines/google.d.ts +41 -0
- package/build/engines/google.js +151 -0
- package/build/engines/google.js.map +1 -0
- package/build/engines/openai-chatcompletions/billing.js.map +1 -0
- package/build/engines/openai-chatcompletions/message-codec.d.ts +22 -0
- package/build/engines/openai-chatcompletions/message-codec.js +80 -0
- package/build/engines/openai-chatcompletions/message-codec.js.map +1 -0
- package/build/{compatible-engine.d/openai-chatcompletions/choice-codec.d.ts → engines/openai-chatcompletions/structuring-choice-codec.d.ts} +2 -2
- package/build/engines/openai-chatcompletions/structuring-choice-codec.js +22 -0
- package/build/engines/openai-chatcompletions/structuring-choice-codec.js.map +1 -0
- package/build/engines/openai-chatcompletions/tool-codec.d.ts +17 -0
- package/build/{api-types → engines}/openai-chatcompletions/tool-codec.js +19 -17
- package/build/engines/openai-chatcompletions/tool-codec.js.map +1 -0
- package/build/{compatible-engine.d → engines}/openai-chatcompletions/transport.d.ts +13 -15
- package/build/{compatible-engine.d → engines}/openai-chatcompletions/transport.js +8 -18
- package/build/engines/openai-chatcompletions/transport.js.map +1 -0
- package/build/engines/openai-chatcompletions.d.ts +22 -0
- package/build/engines/openai-chatcompletions.js +48 -0
- package/build/engines/openai-chatcompletions.js.map +1 -0
- package/build/engines/openai-responses/billing.js.map +1 -0
- package/build/engines/openai-responses/message-codec.d.ts +24 -0
- package/build/{compatible-engine.d → engines}/openai-responses/message-codec.js +55 -51
- package/build/engines/openai-responses/message-codec.js.map +1 -0
- package/build/engines/openai-responses/message.d.ts +25 -0
- package/build/engines/openai-responses/message.js +43 -0
- package/build/engines/openai-responses/message.js.map +1 -0
- package/build/engines/openai-responses/structuring-choice-codec.d.ts +3 -0
- package/build/engines/openai-responses/structuring-choice-codec.js +22 -0
- package/build/engines/openai-responses/structuring-choice-codec.js.map +1 -0
- package/build/engines/openai-responses/structuring-validator.d.ts +12 -0
- package/build/engines/openai-responses/structuring-validator.js +64 -0
- package/build/engines/openai-responses/structuring-validator.js.map +1 -0
- package/build/engines/openai-responses/tool-codec.d.ts +17 -0
- package/build/{api-types → engines}/openai-responses/tool-codec.js +19 -17
- package/build/engines/openai-responses/tool-codec.js.map +1 -0
- package/build/{native-engines.d → engines}/openai-responses/tool.d.ts +1 -3
- package/build/{native-engines.d → engines}/openai-responses/tool.js +3 -3
- package/build/engines/openai-responses/tool.js.map +1 -0
- package/build/{compatible-engine.d → engines}/openai-responses/transport.d.ts +16 -12
- package/build/{native-engines.d → engines}/openai-responses/transport.js +11 -9
- package/build/engines/openai-responses/transport.js.map +1 -0
- package/build/engines/openai-responses.d.ts +41 -0
- package/build/engines/openai-responses.js +134 -0
- package/build/engines/openai-responses.js.map +1 -0
- package/build/exports.d.ts +5 -5
- package/build/exports.js +5 -5
- package/build/exports.js.map +1 -1
- package/build/function.d.ts +7 -7
- package/build/function.js +19 -19
- package/build/function.js.map +1 -1
- package/build/repetition.d.ts +2 -2
- package/build/repetition.js +21 -20
- package/build/repetition.js.map +1 -1
- package/build/structuring-choice.d.ts +15 -0
- package/build/structuring-choice.js +18 -0
- package/build/structuring-choice.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/verbatim/codec/declarations.js +0 -2
- package/build/verbatim/codec/declarations.js.map +1 -1
- package/build/verbatim/codec/quotation.js +0 -3
- package/build/verbatim/codec/quotation.js.map +1 -1
- package/build/verbatim/codec/request.js +4 -4
- package/build/verbatim/codec/request.js.map +1 -1
- package/build/verbatim/codec/response.js +0 -3
- package/build/verbatim/codec/response.js.map +1 -1
- package/package.json +2 -4
- package/build/api-types/anthropic/billing.js.map +0 -1
- package/build/api-types/anthropic/tool-codec.js.map +0 -1
- package/build/api-types/google/billing.js.map +0 -1
- package/build/api-types/google/restful-request.js.map +0 -1
- package/build/api-types/google/tool-codec.js.map +0 -1
- package/build/api-types/openai-chatcompletions/billing.js.map +0 -1
- package/build/api-types/openai-chatcompletions/tool-codec.d.ts +0 -16
- package/build/api-types/openai-chatcompletions/tool-codec.js.map +0 -1
- package/build/api-types/openai-responses/billing.js.map +0 -1
- package/build/api-types/openai-responses/tool-codec.d.ts +0 -16
- package/build/api-types/openai-responses/tool-codec.js.map +0 -1
- package/build/compatible-engine/session.d.ts +0 -56
- package/build/compatible-engine/session.js +0 -85
- package/build/compatible-engine/session.js.map +0 -1
- package/build/compatible-engine/structuring.d.ts +0 -36
- package/build/compatible-engine/structuring.js +0 -34
- package/build/compatible-engine/structuring.js.map +0 -1
- package/build/compatible-engine/validation.d.ts +0 -28
- package/build/compatible-engine/validation.js +0 -104
- package/build/compatible-engine/validation.js.map +0 -1
- package/build/compatible-engine.d/agentloop.d.ts +0 -12
- package/build/compatible-engine.d/agentloop.js +0 -52
- package/build/compatible-engine.d/agentloop.js.map +0 -1
- package/build/compatible-engine.d/anthropic/choice-codec.js +0 -27
- package/build/compatible-engine.d/anthropic/choice-codec.js.map +0 -1
- package/build/compatible-engine.d/anthropic/message-codec.d.ts +0 -34
- package/build/compatible-engine.d/anthropic/message-codec.js +0 -85
- package/build/compatible-engine.d/anthropic/message-codec.js.map +0 -1
- package/build/compatible-engine.d/anthropic/transport.d.ts +0 -38
- package/build/compatible-engine.d/anthropic/transport.js.map +0 -1
- package/build/compatible-engine.d/anthropic.d.ts +0 -25
- package/build/compatible-engine.d/anthropic.js +0 -47
- package/build/compatible-engine.d/anthropic.js.map +0 -1
- package/build/compatible-engine.d/google/choice-codec.js +0 -27
- package/build/compatible-engine.d/google/choice-codec.js.map +0 -1
- package/build/compatible-engine.d/google/message-codec.d.ts +0 -34
- package/build/compatible-engine.d/google/message-codec.js +0 -95
- package/build/compatible-engine.d/google/message-codec.js.map +0 -1
- package/build/compatible-engine.d/google/transport.d.ts +0 -35
- package/build/compatible-engine.d/google/transport.js +0 -97
- package/build/compatible-engine.d/google/transport.js.map +0 -1
- package/build/compatible-engine.d/google.d.ts +0 -25
- package/build/compatible-engine.d/google.js +0 -64
- package/build/compatible-engine.d/google.js.map +0 -1
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +0 -31
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +0 -1
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +0 -22
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +0 -68
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +0 -1
- package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +0 -1
- package/build/compatible-engine.d/openai-chatcompletions.d.ts +0 -25
- package/build/compatible-engine.d/openai-chatcompletions.js +0 -49
- package/build/compatible-engine.d/openai-chatcompletions.js.map +0 -1
- package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +0 -5
- package/build/compatible-engine.d/openai-responses/choice-codec.js +0 -30
- package/build/compatible-engine.d/openai-responses/choice-codec.js.map +0 -1
- package/build/compatible-engine.d/openai-responses/message-codec.d.ts +0 -36
- package/build/compatible-engine.d/openai-responses/message-codec.js.map +0 -1
- package/build/compatible-engine.d/openai-responses/transport.js +0 -91
- package/build/compatible-engine.d/openai-responses/transport.js.map +0 -1
- package/build/compatible-engine.d/openai-responses.d.ts +0 -25
- package/build/compatible-engine.d/openai-responses.js +0 -47
- package/build/compatible-engine.d/openai-responses.js.map +0 -1
- package/build/compatible-engine.d.ts +0 -26
- package/build/compatible-engine.js +0 -34
- package/build/compatible-engine.js.map +0 -1
- package/build/engine/validation.d.ts +0 -6
- package/build/engine/validation.js +0 -1
- package/build/engine/validation.js.map +0 -1
- package/build/native-engines.d/google/message-codec.d.ts +0 -26
- package/build/native-engines.d/google/message-codec.js +0 -70
- package/build/native-engines.d/google/message-codec.js.map +0 -1
- package/build/native-engines.d/google/session.d.ts +0 -58
- package/build/native-engines.d/google/session.js +0 -101
- package/build/native-engines.d/google/session.js.map +0 -1
- package/build/native-engines.d/google/transport.js.map +0 -1
- package/build/native-engines.d/google/validation.d.ts +0 -28
- package/build/native-engines.d/google/validation.js +0 -26
- package/build/native-engines.d/google/validation.js.map +0 -1
- package/build/native-engines.d/google.d/agentloop.d.ts +0 -12
- package/build/native-engines.d/google.d/agentloop.js +0 -57
- package/build/native-engines.d/google.d/agentloop.js.map +0 -1
- package/build/native-engines.d/google.d/exports.d.ts +0 -2
- package/build/native-engines.d/google.d/exports.js +0 -3
- package/build/native-engines.d/google.d/exports.js.map +0 -1
- package/build/native-engines.d/google.d.ts +0 -43
- package/build/native-engines.d/google.js +0 -100
- package/build/native-engines.d/google.js.map +0 -1
- package/build/native-engines.d/openai-responses/choice-codec.d.ts +0 -5
- package/build/native-engines.d/openai-responses/choice-codec.js +0 -30
- package/build/native-engines.d/openai-responses/choice-codec.js.map +0 -1
- package/build/native-engines.d/openai-responses/message-codec.d.ts +0 -25
- package/build/native-engines.d/openai-responses/message-codec.js +0 -99
- package/build/native-engines.d/openai-responses/message-codec.js.map +0 -1
- package/build/native-engines.d/openai-responses/session.d.ts +0 -61
- package/build/native-engines.d/openai-responses/session.js +0 -86
- package/build/native-engines.d/openai-responses/session.js.map +0 -1
- package/build/native-engines.d/openai-responses/structuring.d.ts +0 -19
- package/build/native-engines.d/openai-responses/structuring.js +0 -19
- package/build/native-engines.d/openai-responses/structuring.js.map +0 -1
- package/build/native-engines.d/openai-responses/tool.js.map +0 -1
- package/build/native-engines.d/openai-responses/transport.d.ts +0 -40
- package/build/native-engines.d/openai-responses/transport.js.map +0 -1
- package/build/native-engines.d/openai-responses/validation.d.ts +0 -28
- package/build/native-engines.d/openai-responses/validation.js +0 -101
- package/build/native-engines.d/openai-responses/validation.js.map +0 -1
- package/build/native-engines.d/openai-responses.d/agentloop.d.ts +0 -12
- package/build/native-engines.d/openai-responses.d/agentloop.js +0 -61
- package/build/native-engines.d/openai-responses.d/agentloop.js.map +0 -1
- package/build/native-engines.d/openai-responses.d/exports.d.ts +0 -2
- package/build/native-engines.d/openai-responses.d/exports.js +0 -3
- package/build/native-engines.d/openai-responses.d/exports.js.map +0 -1
- package/build/native-engines.d/openai-responses.d.ts +0 -45
- package/build/native-engines.d/openai-responses.js +0 -82
- package/build/native-engines.d/openai-responses.js.map +0 -1
- /package/build/{api-types → engines}/anthropic/billing.d.ts +0 -0
- /package/build/{api-types → engines}/anthropic/billing.js +0 -0
- /package/build/{api-types → engines}/google/billing.d.ts +0 -0
- /package/build/{api-types → engines}/google/billing.js +0 -0
- /package/build/{api-types → engines}/google/restful-request.d.ts +0 -0
- /package/build/{api-types → engines}/google/restful-request.js +0 -0
- /package/build/{api-types → engines}/openai-chatcompletions/billing.d.ts +0 -0
- /package/build/{api-types → engines}/openai-chatcompletions/billing.js +0 -0
- /package/build/{api-types → engines}/openai-responses/billing.d.ts +0 -0
- /package/build/{api-types → engines}/openai-responses/billing.js +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Engine } from "../engine.js";
|
|
2
|
+
import { MessageCodec } from "./openai-chatcompletions/message-codec.js";
|
|
3
|
+
import { Transport } from "./openai-chatcompletions/transport.js";
|
|
4
|
+
import { ToolCodec } from "./openai-chatcompletions/tool-codec.js";
|
|
5
|
+
import { Billing } from "./openai-chatcompletions/billing.js";
|
|
6
|
+
export var OpenAIChatCompletionsEngine;
|
|
7
|
+
(function (OpenAIChatCompletionsEngine) {
|
|
8
|
+
class Instance extends Engine.Instance {
|
|
9
|
+
options;
|
|
10
|
+
toolCodec;
|
|
11
|
+
messageCodec;
|
|
12
|
+
billing;
|
|
13
|
+
transport;
|
|
14
|
+
constructor(options) {
|
|
15
|
+
super(options);
|
|
16
|
+
this.options = options;
|
|
17
|
+
this.toolCodec = new ToolCodec({ fdm: this.fdm });
|
|
18
|
+
this.messageCodec = new MessageCodec({
|
|
19
|
+
toolCodec: this.toolCodec,
|
|
20
|
+
vdm: this.vdm,
|
|
21
|
+
});
|
|
22
|
+
this.billing = new Billing({ pricing: this.pricing });
|
|
23
|
+
this.transport = new Transport({
|
|
24
|
+
inferenceParams: this.inferenceOptions,
|
|
25
|
+
providerSpec: this.providerSpecs,
|
|
26
|
+
fdm: this.fdm,
|
|
27
|
+
throttle: this.throttle,
|
|
28
|
+
structuringChoice: this.structuringChoice,
|
|
29
|
+
messageCodec: this.messageCodec,
|
|
30
|
+
toolCodec: this.toolCodec,
|
|
31
|
+
billing: this.billing,
|
|
32
|
+
});
|
|
33
|
+
if (Object.keys(this.fdm).length && Object.keys(this.vdm).length)
|
|
34
|
+
throw new Error('Functions cannot be declared together with Verbatim Channels in OpenAI ChatCompletions Engine.');
|
|
35
|
+
}
|
|
36
|
+
clone() {
|
|
37
|
+
const engine = new OpenAIChatCompletionsEngine.Instance(this.options);
|
|
38
|
+
engine.middlewaresStateless = [...this.middlewaresStateless];
|
|
39
|
+
engine.middlewaresStateful = [...this.middlewaresStateful];
|
|
40
|
+
return engine;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
OpenAIChatCompletionsEngine.Instance = Instance;
|
|
44
|
+
OpenAIChatCompletionsEngine.create = function (options) {
|
|
45
|
+
return new Instance(options);
|
|
46
|
+
};
|
|
47
|
+
})(OpenAIChatCompletionsEngine || (OpenAIChatCompletionsEngine = {}));
|
|
48
|
+
//# sourceMappingURL=openai-chatcompletions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-chatcompletions.js","sourceRoot":"","sources":["../../src/engines/openai-chatcompletions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAO9D,MAAM,KAAW,2BAA2B,CAmD3C;AAnDD,WAAiB,2BAA2B;IACxC,MAAa,QAGX,SAAQ,MAAM,CAAC,QAAkB;QAMF;QALnB,SAAS,CAAiB;QAC1B,YAAY,CAAyB;QACrC,OAAO,CAAU;QACR,SAAS,CAAsB;QAElD,YAA6B,OAAsD;YAC/E,KAAK,CAAC,OAAO,CAAC,CAAC;YADU,YAAO,GAAP,OAAO,CAA+C;YAE/E,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC3B,eAAe,EAAE,IAAI,CAAC,gBAAgB;gBACtC,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;gBAC5D,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;QAC1H,CAAC;QAEe,KAAK;YACjB,MAAM,MAAM,GAAG,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ;IArCY,oCAAQ,WAqCpB,CAAA;IAOY,kCAAM,GAAkB,UAGnC,OAAiC;QAC/B,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAA;AACL,CAAC,EAnDgB,2BAA2B,KAA3B,2BAA2B,QAmD3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/billing.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,OAAO;IACN,OAAO,CAAU;IAC3B,YAAmB,OAAwB;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,KAAqC;QAC/C,MAAM,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACpE,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC;QACpE,OAAO,CACH,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,mBAAmB,GAAG,GAAG;YACnD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kBAAkB,GAAG,GAAG;YAClD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,GAAG,GAAG,CACvD,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Engine } from '../../engine.ts';
|
|
2
|
+
import { RoleMessage } from './message.ts';
|
|
3
|
+
import { Function } from '../../function.ts';
|
|
4
|
+
import OpenAI from 'openai';
|
|
5
|
+
import type { ToolCodec } from './tool-codec.ts';
|
|
6
|
+
import type { Verbatim } from '../../verbatim.ts';
|
|
7
|
+
import { Media } from '../../media.ts';
|
|
8
|
+
export declare class MessageCodec<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
|
|
9
|
+
protected toolCodec: ToolCodec<fdm>;
|
|
10
|
+
protected vdm: vdm;
|
|
11
|
+
constructor(options: MessageCodec.Options<fdm, vdm>);
|
|
12
|
+
protected encodeImageResolution(resolution: Media.Image.Resolution): OpenAI.Responses.ResponseInputImage['detail'];
|
|
13
|
+
decodeAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): RoleMessage.Ai.From<fdm, vdm>;
|
|
14
|
+
encodeUserMessage(userMessage: Engine.RoleMessage.User.From<fdm>): OpenAI.Responses.ResponseInput;
|
|
15
|
+
encodeAiMessage(aiMessage: Engine.RoleMessage.Ai.From<fdm, vdm>): OpenAI.Responses.ResponseInput;
|
|
16
|
+
encodeDeveloperMessage(developerMessage: Engine.RoleMessage.Developer): string;
|
|
17
|
+
encodeChatMessage(chatMessage: Engine.Session.ChatMessage.From<fdm, vdm>): OpenAI.Responses.ResponseInput;
|
|
18
|
+
}
|
|
19
|
+
export declare namespace MessageCodec {
|
|
20
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
|
|
21
|
+
toolCodec: ToolCodec<fdm>;
|
|
22
|
+
vdm: vdm;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Engine } from "../../engine.js";
|
|
2
|
+
import { RoleMessage } from "./message.js";
|
|
2
3
|
import { Function } from "../../function.js";
|
|
4
|
+
import { Tool } from "./tool.js";
|
|
3
5
|
import * as VerbatimCodec from "../../verbatim/codec.js";
|
|
4
6
|
import { Media } from "../../media.js";
|
|
5
|
-
const NOMINAL = Symbol();
|
|
6
7
|
export class MessageCodec {
|
|
7
8
|
toolCodec;
|
|
8
9
|
vdm;
|
|
@@ -10,14 +11,26 @@ export class MessageCodec {
|
|
|
10
11
|
this.toolCodec = options.toolCodec;
|
|
11
12
|
this.vdm = options.vdm;
|
|
12
13
|
}
|
|
14
|
+
encodeImageResolution(resolution) {
|
|
15
|
+
if (resolution === 1 /* Media.Image.Resolution.LOW */)
|
|
16
|
+
return 'low';
|
|
17
|
+
else if (resolution === 2 /* Media.Image.Resolution.HIGH */)
|
|
18
|
+
return 'high';
|
|
19
|
+
else if (resolution === 3 /* Media.Image.Resolution.HIGHEST */)
|
|
20
|
+
return 'original';
|
|
21
|
+
else if (resolution === 0 /* Media.Image.Resolution.AUTO */)
|
|
22
|
+
return 'auto';
|
|
23
|
+
else
|
|
24
|
+
throw new Error();
|
|
25
|
+
}
|
|
13
26
|
decodeAiMessage(output) {
|
|
14
27
|
const parts = [];
|
|
15
|
-
for (const item of output)
|
|
28
|
+
for (const item of output) {
|
|
16
29
|
if (item.type === 'message')
|
|
17
30
|
for (const part of item.content)
|
|
18
31
|
if (part.type === 'output_text') {
|
|
19
|
-
const
|
|
20
|
-
parts.push(new RoleMessage.Part.Text(part.text,
|
|
32
|
+
const vreqs = VerbatimCodec.Request.decode(part.text, this.vdm);
|
|
33
|
+
parts.push(new RoleMessage.Ai.Part.Text(part.text, vreqs));
|
|
21
34
|
}
|
|
22
35
|
else if (part.type === 'refusal')
|
|
23
36
|
throw new SyntaxError('Refusal', { cause: output });
|
|
@@ -26,21 +39,12 @@ export class MessageCodec {
|
|
|
26
39
|
else if (item.type === 'function_call')
|
|
27
40
|
parts.push(this.toolCodec.decodeFunctionCall(item));
|
|
28
41
|
else if (item.type === 'reasoning') { }
|
|
42
|
+
else if (item.type === 'apply_patch_call')
|
|
43
|
+
parts.push(new Tool.ApplyPatch.Call(item));
|
|
29
44
|
else
|
|
30
45
|
throw new Error();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
encodeImageResolution(resolution) {
|
|
34
|
-
if (resolution === 1 /* Media.Image.Resolution.LOW */)
|
|
35
|
-
return 'low';
|
|
36
|
-
else if (resolution === 2 /* Media.Image.Resolution.HIGH */)
|
|
37
|
-
return 'high';
|
|
38
|
-
else if (resolution === 3 /* Media.Image.Resolution.HIGHEST */)
|
|
39
|
-
return 'original';
|
|
40
|
-
else if (resolution === 0 /* Media.Image.Resolution.AUTO */)
|
|
41
|
-
return 'auto';
|
|
42
|
-
else
|
|
43
|
-
throw new Error();
|
|
46
|
+
}
|
|
47
|
+
return new RoleMessage.Ai(parts, output);
|
|
44
48
|
}
|
|
45
49
|
encodeUserMessage(userMessage) {
|
|
46
50
|
const responseInput = [];
|
|
@@ -56,7 +60,7 @@ export class MessageCodec {
|
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
for (const part of userMessage.getParts()) {
|
|
59
|
-
if (part instanceof RoleMessage.Part.Text)
|
|
63
|
+
if (part instanceof Engine.RoleMessage.User.Part.Text)
|
|
60
64
|
content.push({
|
|
61
65
|
type: 'input_text',
|
|
62
66
|
text: part.text,
|
|
@@ -73,64 +77,64 @@ export class MessageCodec {
|
|
|
73
77
|
file_data: `data:${part.mimeType};base64,${part.base64}`,
|
|
74
78
|
});
|
|
75
79
|
else if (part instanceof Function.Response) {
|
|
80
|
+
const fres = part;
|
|
81
|
+
flush();
|
|
82
|
+
responseInput.push(this.toolCodec.encodeFunctionResponse(fres));
|
|
83
|
+
}
|
|
84
|
+
else if (part instanceof Tool.ApplyPatch.Response) {
|
|
76
85
|
flush();
|
|
77
|
-
responseInput.push(
|
|
86
|
+
responseInput.push({
|
|
87
|
+
type: 'apply_patch_call_output',
|
|
88
|
+
call_id: part.id,
|
|
89
|
+
status: part.failure ? 'failed' : 'completed',
|
|
90
|
+
output: part.failure || undefined,
|
|
91
|
+
});
|
|
78
92
|
}
|
|
79
93
|
else
|
|
80
|
-
throw new Error();
|
|
94
|
+
throw new Error('Unknown user message part type', { cause: part });
|
|
81
95
|
}
|
|
82
96
|
flush();
|
|
83
97
|
return responseInput;
|
|
84
98
|
}
|
|
85
99
|
encodeAiMessage(aiMessage) {
|
|
86
|
-
if (aiMessage instanceof
|
|
87
|
-
const
|
|
88
|
-
|
|
100
|
+
if (aiMessage instanceof RoleMessage.Ai) {
|
|
101
|
+
const nativeAiMessage = aiMessage;
|
|
102
|
+
const raw = nativeAiMessage.getRaw();
|
|
103
|
+
if (raw.every(item => item.type !== 'computer_call_output')) { }
|
|
89
104
|
else
|
|
90
105
|
throw new Error('Computer calls are not supported yet.');
|
|
91
|
-
return
|
|
106
|
+
return raw;
|
|
92
107
|
}
|
|
93
108
|
const responseInput = [];
|
|
94
109
|
for (const part of aiMessage.getParts()) {
|
|
95
|
-
if (part instanceof RoleMessage.Part.Text)
|
|
110
|
+
if (part instanceof Engine.RoleMessage.Ai.Part.Text)
|
|
96
111
|
responseInput.push({
|
|
97
112
|
role: 'assistant',
|
|
98
113
|
content: part.text,
|
|
99
114
|
});
|
|
100
|
-
else if (part instanceof Function.Call)
|
|
101
|
-
|
|
115
|
+
else if (part instanceof Function.Call) {
|
|
116
|
+
const fcall = part;
|
|
117
|
+
responseInput.push(this.toolCodec.encodeFunctionCall(fcall));
|
|
118
|
+
}
|
|
102
119
|
else
|
|
103
|
-
throw new Error();
|
|
120
|
+
throw new Error('Unknown AI message part type', { cause: part });
|
|
104
121
|
}
|
|
105
|
-
;
|
|
106
122
|
return responseInput;
|
|
107
123
|
}
|
|
108
124
|
encodeDeveloperMessage(developerMessage) {
|
|
109
|
-
return developerMessage.
|
|
125
|
+
return developerMessage.getOnlyTextParts().map(part => part.text).join('');
|
|
110
126
|
}
|
|
111
127
|
encodeChatMessage(chatMessage) {
|
|
112
|
-
if (chatMessage instanceof RoleMessage.User)
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
128
|
+
if (chatMessage instanceof Engine.RoleMessage.User) {
|
|
129
|
+
const userMessage = chatMessage;
|
|
130
|
+
return this.encodeUserMessage(userMessage);
|
|
131
|
+
}
|
|
132
|
+
else if (chatMessage instanceof Engine.RoleMessage.Ai) {
|
|
133
|
+
const aiMessage = chatMessage;
|
|
134
|
+
return this.encodeAiMessage(aiMessage);
|
|
135
|
+
}
|
|
116
136
|
else
|
|
117
137
|
throw new Error();
|
|
118
138
|
}
|
|
119
139
|
}
|
|
120
|
-
(function (MessageCodec) {
|
|
121
|
-
let Message;
|
|
122
|
-
(function (Message) {
|
|
123
|
-
class Ai extends RoleMessage.Ai {
|
|
124
|
-
raw;
|
|
125
|
-
constructor(parts, raw) {
|
|
126
|
-
super(parts);
|
|
127
|
-
this.raw = raw;
|
|
128
|
-
}
|
|
129
|
-
getRaw() {
|
|
130
|
-
return this.raw;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
Message.Ai = Ai;
|
|
134
|
-
})(Message = MessageCodec.Message || (MessageCodec.Message = {}));
|
|
135
|
-
})(MessageCodec || (MessageCodec = {}));
|
|
136
140
|
//# sourceMappingURL=message-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/message-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Engine } from '../../engine.ts';
|
|
2
|
+
import { Function } from '../../function.ts';
|
|
3
|
+
import { Tool } from './tool.ts';
|
|
4
|
+
import type { Verbatim } from '../../verbatim.ts';
|
|
5
|
+
import OpenAI from 'openai';
|
|
6
|
+
declare const NOMINAL: unique symbol;
|
|
7
|
+
export declare namespace RoleMessage {
|
|
8
|
+
class Ai<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> extends Engine.RoleMessage.Ai<fdu, vdu> {
|
|
9
|
+
protected raw: OpenAI.Responses.ResponseOutputItem[];
|
|
10
|
+
protected [NOMINAL]: never;
|
|
11
|
+
constructor(parts: unknown[], raw: OpenAI.Responses.ResponseOutputItem[]);
|
|
12
|
+
getRaw(): OpenAI.Responses.ResponseOutputItem[];
|
|
13
|
+
getToolCalls(): Tool.Call.Of<fdu>[];
|
|
14
|
+
getOnlyToolCall(): Tool.Call.Of<fdu>;
|
|
15
|
+
}
|
|
16
|
+
namespace Ai {
|
|
17
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Ai<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
18
|
+
namespace Part {
|
|
19
|
+
export import Text = Engine.RoleMessage.Ai.Part.Text;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export import User = Engine.RoleMessage.User;
|
|
23
|
+
export import Developer = Engine.RoleMessage.Developer;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Engine } from "../../engine.js";
|
|
2
|
+
import { Function } from "../../function.js";
|
|
3
|
+
import { Tool } from "./tool.js";
|
|
4
|
+
const NOMINAL = Symbol();
|
|
5
|
+
export var RoleMessage;
|
|
6
|
+
(function (RoleMessage) {
|
|
7
|
+
class Ai extends Engine.RoleMessage.Ai {
|
|
8
|
+
raw;
|
|
9
|
+
constructor(parts, raw) {
|
|
10
|
+
super(parts);
|
|
11
|
+
this.raw = raw;
|
|
12
|
+
}
|
|
13
|
+
getRaw() {
|
|
14
|
+
return this.raw;
|
|
15
|
+
}
|
|
16
|
+
getToolCalls() {
|
|
17
|
+
const tcs = [];
|
|
18
|
+
for (const part of this.parts)
|
|
19
|
+
if (part instanceof Function.Call || part instanceof Tool.ApplyPatch.Call) {
|
|
20
|
+
const tc = part;
|
|
21
|
+
tcs.push(tc);
|
|
22
|
+
}
|
|
23
|
+
return tcs;
|
|
24
|
+
}
|
|
25
|
+
getOnlyToolCall() {
|
|
26
|
+
const tcs = this.getToolCalls();
|
|
27
|
+
if (tcs.length === 1) { }
|
|
28
|
+
else
|
|
29
|
+
throw new Error();
|
|
30
|
+
return tcs[0];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
RoleMessage.Ai = Ai;
|
|
34
|
+
(function (Ai) {
|
|
35
|
+
let Part;
|
|
36
|
+
(function (Part) {
|
|
37
|
+
Part.Text = Engine.RoleMessage.Ai.Part.Text;
|
|
38
|
+
})(Part = Ai.Part || (Ai.Part = {}));
|
|
39
|
+
})(Ai = RoleMessage.Ai || (RoleMessage.Ai = {}));
|
|
40
|
+
RoleMessage.User = Engine.RoleMessage.User;
|
|
41
|
+
RoleMessage.Developer = Engine.RoleMessage.Developer;
|
|
42
|
+
})(RoleMessage || (RoleMessage = {}));
|
|
43
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,KAAW,WAAW,CA6C3B;AA7CD,WAAiB,WAAW;IACxB,MAAa,EAGX,SAAQ,MAAM,CAAC,WAAW,CAAC,EAAY;QAIvB;QAFd,YACI,KAAgB,EACN,GAA0C;YAEpD,KAAK,CAAC,KAAK,CAAC,CAAC;YAFH,QAAG,GAAH,GAAG,CAAuC;QAGxD,CAAC;QAEM,MAAM;YACT,OAAO,IAAI,CAAC,GAAG,CAAC;QACpB,CAAC;QACM,YAAY;YACf,MAAM,GAAG,GAAwB,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBACzB,IAAI,IAAI,YAAY,QAAQ,CAAC,IAAI,IAAI,IAAI,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACxE,MAAM,EAAE,GAAG,IAAyB,CAAC;oBACrC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;YACL,OAAO,GAAG,CAAC;QACf,CAAC;QACM,eAAe;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAChD,OAAO,GAAG,CAAC,CAAC,CAAE,CAAC;QACnB,CAAC;KACJ;IA7BY,cAAE,KA6Bd,CAAA;IAED,WAAiB,EAAE;QAMf,IAAiB,IAAI,CAEpB;QAFD,WAAiB,IAAI;YACH,SAAI,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACzD,CAAC,EAFgB,IAAI,GAAJ,OAAI,KAAJ,OAAI,QAEpB;IACL,CAAC,EATgB,EAAE,GAAF,cAAE,KAAF,cAAE,QASlB;IAEa,gBAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,qBAAS,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;AAC3D,CAAC,EA7CgB,WAAW,KAAX,WAAW,QA6C3B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { StructuringChoice } from "../../structuring-choice.js";
|
|
2
|
+
export function encode(structuringChoice) {
|
|
3
|
+
if (structuringChoice === StructuringChoice.NONE)
|
|
4
|
+
return 'none';
|
|
5
|
+
else if (structuringChoice === StructuringChoice.REQUIRED)
|
|
6
|
+
return 'auto';
|
|
7
|
+
else if (structuringChoice === StructuringChoice.ANYONE)
|
|
8
|
+
return 'auto';
|
|
9
|
+
else if (structuringChoice === StructuringChoice.AUTO)
|
|
10
|
+
return 'auto';
|
|
11
|
+
else if (structuringChoice === StructuringChoice.TCall.REQUIRED)
|
|
12
|
+
return 'required';
|
|
13
|
+
else if (structuringChoice === StructuringChoice.TCall.ANYONE)
|
|
14
|
+
return 'required';
|
|
15
|
+
else if (structuringChoice === StructuringChoice.VRequest.REQUIRED)
|
|
16
|
+
return 'none';
|
|
17
|
+
else if (structuringChoice === StructuringChoice.VRequest.ANYONE)
|
|
18
|
+
return 'none';
|
|
19
|
+
else
|
|
20
|
+
throw new Error();
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=structuring-choice-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuring-choice-codec.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/structuring-choice-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,MAAM,UAAU,MAAM,CAClB,iBAAoC;IAEpC,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAC3D,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SACpE,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SAClE,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAEhE,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;SAC9E,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;SAE5E,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SAC7E,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;;QAE3E,MAAM,IAAI,KAAK,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Function } from '../../function.ts';
|
|
2
|
+
import { Verbatim } from '../../verbatim.ts';
|
|
3
|
+
import { RoleMessage } from './message.ts';
|
|
4
|
+
import { Engine } from '../../engine.ts';
|
|
5
|
+
export declare class StructuringValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> extends Engine.StructuringValidator<fdu, vdu> {
|
|
6
|
+
constructor(options: StructuringValidator.Options);
|
|
7
|
+
validate(aiMessage: RoleMessage.Ai<fdu, vdu>): RoleMessage.User<never> | void;
|
|
8
|
+
}
|
|
9
|
+
export declare namespace StructuringValidator {
|
|
10
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = StructuringValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
11
|
+
type Options = Engine.StructuringValidator.Options;
|
|
12
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { RoleMessage } from "./message.js";
|
|
2
|
+
import * as VerbatimCodec from "../../verbatim/codec.js";
|
|
3
|
+
import { StructuringChoice } from "../../structuring-choice.js";
|
|
4
|
+
import { Engine } from "../../engine.js";
|
|
5
|
+
export class StructuringValidator extends Engine.StructuringValidator {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super(options);
|
|
8
|
+
}
|
|
9
|
+
validate(aiMessage) {
|
|
10
|
+
const tcalls = aiMessage.getToolCalls();
|
|
11
|
+
const vreqs = aiMessage.getVerbatimRequests();
|
|
12
|
+
if (this.structuringChoice === StructuringChoice.TCall.REQUIRED) {
|
|
13
|
+
if (!tcalls.length)
|
|
14
|
+
throw new SyntaxError('Tool call required.');
|
|
15
|
+
}
|
|
16
|
+
else if (this.structuringChoice === StructuringChoice.TCall.ANYONE) {
|
|
17
|
+
if (!tcalls.length)
|
|
18
|
+
throw new SyntaxError('Tool call required.');
|
|
19
|
+
if (tcalls.length > 1)
|
|
20
|
+
throw new SyntaxError('Only 1 tool call allowed.');
|
|
21
|
+
}
|
|
22
|
+
else if (this.structuringChoice === StructuringChoice.VRequest.REQUIRED) {
|
|
23
|
+
if (!vreqs.length)
|
|
24
|
+
return new RoleMessage.User([
|
|
25
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Verbatim request required, but not found. Check your output format.`)),
|
|
26
|
+
]);
|
|
27
|
+
}
|
|
28
|
+
else if (this.structuringChoice === StructuringChoice.VRequest.ANYONE) {
|
|
29
|
+
if (!vreqs.length)
|
|
30
|
+
return new RoleMessage.User([
|
|
31
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Verbatim request required, but not found. Check your output format.`)),
|
|
32
|
+
]);
|
|
33
|
+
if (vreqs.length > 1)
|
|
34
|
+
return new RoleMessage.User([
|
|
35
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Only 1 verbatim request allowed, but multiple found.`)),
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
else if (this.structuringChoice === StructuringChoice.REQUIRED) {
|
|
39
|
+
if (tcalls.length + vreqs.length) { }
|
|
40
|
+
else
|
|
41
|
+
return new RoleMessage.User([
|
|
42
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either tool call or verbatim request required, but none found. Check your output format.`)),
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
else if (this.structuringChoice === StructuringChoice.ANYONE) {
|
|
46
|
+
if (tcalls.length + vreqs.length) { }
|
|
47
|
+
else
|
|
48
|
+
return new RoleMessage.User([
|
|
49
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either 1 tool call or 1 verbatim request required, but none found. Check your output format.`)),
|
|
50
|
+
]);
|
|
51
|
+
if (tcalls.length + vreqs.length > 1)
|
|
52
|
+
return new RoleMessage.User([
|
|
53
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either Only 1 tool call or only 1 verbatim request allowed, but multiple found.`)),
|
|
54
|
+
]);
|
|
55
|
+
}
|
|
56
|
+
else if (this.structuringChoice === StructuringChoice.NONE) {
|
|
57
|
+
if (tcalls.length + vreqs.length)
|
|
58
|
+
return new RoleMessage.User([
|
|
59
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Neither tool call nor verbatim request allowed.`)),
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=structuring-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuring-validator.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/structuring-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
import { Function } from '../../function.ts';
|
|
3
|
+
export declare class ToolCodec<in out fdm extends Function.Decl.Map.Proto> {
|
|
4
|
+
protected fdm: fdm;
|
|
5
|
+
protected apiFds: OpenAI.Responses.FunctionTool[];
|
|
6
|
+
constructor(options: ToolCodec.Options<fdm>);
|
|
7
|
+
encodeFunctionResponse(fres: Function.Response.From<fdm>): OpenAI.Responses.ResponseInputItem.FunctionCallOutput;
|
|
8
|
+
protected static encodeFunctionDeclarationEntry<fdu extends Function.Decl.Proto>(fdentry: Function.Decl.Entry.Of<fdu>): OpenAI.Responses.FunctionTool;
|
|
9
|
+
encodeFunctionDeclarationMap(): OpenAI.Responses.FunctionTool[];
|
|
10
|
+
decodeFunctionCall(apifc: OpenAI.Responses.ResponseFunctionToolCall): Function.Call.From<fdm>;
|
|
11
|
+
encodeFunctionCall(fcall: Function.Call.From<fdm>): OpenAI.Responses.ResponseFunctionToolCall;
|
|
12
|
+
}
|
|
13
|
+
export declare namespace ToolCodec {
|
|
14
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto> {
|
|
15
|
+
fdm: fdm;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -2,29 +2,32 @@ import { Function } from "../../function.js";
|
|
|
2
2
|
import { Parse, ParseError } from 'typebox/schema';
|
|
3
3
|
export class ToolCodec {
|
|
4
4
|
fdm;
|
|
5
|
+
apiFds;
|
|
5
6
|
constructor(options) {
|
|
6
7
|
this.fdm = options.fdm;
|
|
8
|
+
const fdentries = Object.entries(this.fdm);
|
|
9
|
+
this.apiFds = fdentries.map(fdentry => ToolCodec.encodeFunctionDeclarationEntry(fdentry));
|
|
7
10
|
}
|
|
8
|
-
encodeFunctionResponse(
|
|
9
|
-
if (
|
|
11
|
+
encodeFunctionResponse(fres) {
|
|
12
|
+
if (fres.id) { }
|
|
10
13
|
else
|
|
11
14
|
throw new Error();
|
|
12
|
-
if (
|
|
15
|
+
if (fres instanceof Function.Response.Successful)
|
|
13
16
|
return {
|
|
14
17
|
type: 'function_call_output',
|
|
15
|
-
call_id:
|
|
16
|
-
output:
|
|
18
|
+
call_id: fres.id,
|
|
19
|
+
output: fres.text,
|
|
17
20
|
};
|
|
18
|
-
else if (
|
|
21
|
+
else if (fres instanceof Function.Response.Failed)
|
|
19
22
|
return {
|
|
20
23
|
type: 'function_call_output',
|
|
21
|
-
call_id:
|
|
22
|
-
output:
|
|
24
|
+
call_id: fres.id,
|
|
25
|
+
output: fres.error,
|
|
23
26
|
};
|
|
24
27
|
else
|
|
25
28
|
throw new Error();
|
|
26
29
|
}
|
|
27
|
-
encodeFunctionDeclarationEntry(fdentry) {
|
|
30
|
+
static encodeFunctionDeclarationEntry(fdentry) {
|
|
28
31
|
return {
|
|
29
32
|
name: fdentry[0],
|
|
30
33
|
description: fdentry[1].description,
|
|
@@ -33,9 +36,8 @@ export class ToolCodec {
|
|
|
33
36
|
type: 'function',
|
|
34
37
|
};
|
|
35
38
|
}
|
|
36
|
-
encodeFunctionDeclarationMap(
|
|
37
|
-
|
|
38
|
-
return fdentries.map(fdentry => this.encodeFunctionDeclarationEntry(fdentry));
|
|
39
|
+
encodeFunctionDeclarationMap() {
|
|
40
|
+
return this.apiFds.slice();
|
|
39
41
|
}
|
|
40
42
|
decodeFunctionCall(apifc) {
|
|
41
43
|
const fditem = this.fdm[apifc.name];
|
|
@@ -65,15 +67,15 @@ export class ToolCodec {
|
|
|
65
67
|
args,
|
|
66
68
|
});
|
|
67
69
|
}
|
|
68
|
-
encodeFunctionCall(
|
|
69
|
-
if (
|
|
70
|
+
encodeFunctionCall(fcall) {
|
|
71
|
+
if (fcall.id) { }
|
|
70
72
|
else
|
|
71
73
|
throw new Error();
|
|
72
74
|
return {
|
|
73
75
|
type: 'function_call',
|
|
74
|
-
call_id:
|
|
75
|
-
name:
|
|
76
|
-
arguments: JSON.stringify(
|
|
76
|
+
call_id: fcall.id,
|
|
77
|
+
name: fcall.name,
|
|
78
|
+
arguments: JSON.stringify(fcall.args),
|
|
77
79
|
};
|
|
78
80
|
}
|
|
79
81
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/tool-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,6 @@ export declare namespace Tool {
|
|
|
40
40
|
path: string;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
}
|
|
44
|
-
namespace ApplyPatch {
|
|
45
43
|
class Call {
|
|
46
44
|
raw: OpenAI.Responses.ResponseApplyPatchToolCall;
|
|
47
45
|
constructor(raw: OpenAI.Responses.ResponseApplyPatchToolCall);
|
|
@@ -49,7 +47,7 @@ export declare namespace Tool {
|
|
|
49
47
|
class Response {
|
|
50
48
|
id: string;
|
|
51
49
|
failure: string;
|
|
52
|
-
constructor(
|
|
50
|
+
constructor(apres: Omit<ApplyPatch.Response, never>);
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
}
|
|
@@ -13,9 +13,9 @@ export var Tool;
|
|
|
13
13
|
class Response {
|
|
14
14
|
id;
|
|
15
15
|
failure;
|
|
16
|
-
constructor(
|
|
17
|
-
this.id =
|
|
18
|
-
this.failure =
|
|
16
|
+
constructor(apres) {
|
|
17
|
+
this.id = apres.id;
|
|
18
|
+
this.failure = apres.failure;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
ApplyPatch.Response = Response;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/tool.ts"],"names":[],"mappings":"AAIA,MAAM,KAAW,IAAI,CA4EpB;AA5ED,WAAiB,IAAI;IACJ,gBAAW,GAAG,MAAM,EAAE,CAAC;IA2CpC,IAAiB,UAAU,CA+B1B;IA/BD,WAAiB,UAAU;QAmBvB,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,KAAuC;gBACtD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACjC,CAAC;SACJ;QAPY,mBAAQ,WAOpB,CAAA;IACL,CAAC,EA/BgB,UAAU,GAAV,eAAU,KAAV,eAAU,QA+B1B;AACL,CAAC,EA5EgB,IAAI,KAAJ,IAAI,QA4EpB"}
|