@zimtsui/typechat 0.0.93 → 0.0.95
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 +0 -6
- package/README.md +26 -36
- package/assets/verbatim/instruction.md +27 -25
- package/assets/verbatim/quotation.handlebars +1 -1
- package/assets/verbatim/system.handlebars +1 -0
- package/build/adaptor.d.ts +5 -23
- package/build/adaptor.js +14 -25
- package/build/adaptor.js.map +1 -1
- package/build/api-types/anthropic/billing.d.ts +3 -3
- package/build/api-types/anthropic/billing.js +6 -6
- package/build/api-types/anthropic/billing.js.map +1 -1
- package/build/api-types/anthropic/tool-codec.d.ts +3 -3
- package/build/api-types/anthropic/tool-codec.js +15 -11
- package/build/api-types/anthropic/tool-codec.js.map +1 -1
- package/build/api-types/google/billing.d.ts +3 -3
- package/build/api-types/google/billing.js +7 -7
- package/build/api-types/google/billing.js.map +1 -1
- package/build/api-types/google/tool-codec.d.ts +3 -3
- package/build/api-types/google/tool-codec.js +16 -34
- package/build/api-types/google/tool-codec.js.map +1 -1
- package/build/api-types/openai-chatcompletions/billing.d.ts +5 -5
- package/build/api-types/openai-chatcompletions/billing.js +7 -7
- package/build/api-types/openai-chatcompletions/billing.js.map +1 -1
- package/build/api-types/openai-chatcompletions/tool-codec.d.ts +5 -5
- package/build/api-types/openai-chatcompletions/tool-codec.js +17 -13
- package/build/api-types/openai-chatcompletions/tool-codec.js.map +1 -1
- package/build/api-types/openai-responses/billing.d.ts +3 -3
- package/build/api-types/openai-responses/billing.js +6 -6
- package/build/api-types/openai-responses/billing.js.map +1 -1
- package/build/api-types/openai-responses/tool-codec.d.ts +3 -3
- package/build/api-types/openai-responses/tool-codec.js +16 -12
- package/build/api-types/openai-responses/tool-codec.js.map +1 -1
- package/build/assets.d.ts +1 -1
- package/build/assets.js +6 -5
- package/build/assets.js.map +1 -1
- package/build/compatible-engine/session.d.ts +4 -16
- package/build/compatible-engine/session.js +8 -15
- package/build/compatible-engine/session.js.map +1 -1
- package/build/compatible-engine/validation.d.ts +7 -7
- package/build/compatible-engine/validation.js +33 -34
- package/build/compatible-engine/validation.js.map +1 -1
- package/build/compatible-engine.d/anthropic/message-codec.d.ts +4 -3
- package/build/compatible-engine.d/anthropic/message-codec.js +16 -22
- package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -1
- package/build/compatible-engine.d/anthropic/transport.d.ts +10 -3
- package/build/compatible-engine.d/anthropic/transport.js +105 -101
- package/build/compatible-engine.d/anthropic/transport.js.map +1 -1
- package/build/compatible-engine.d/anthropic.d.ts +2 -0
- package/build/compatible-engine.d/anthropic.js +9 -1
- package/build/compatible-engine.d/anthropic.js.map +1 -1
- package/build/compatible-engine.d/google/message-codec.d.ts +4 -3
- package/build/compatible-engine.d/google/message-codec.js +16 -22
- package/build/compatible-engine.d/google/message-codec.js.map +1 -1
- package/build/compatible-engine.d/google/transport.d.ts +10 -3
- package/build/compatible-engine.d/google/transport.js +32 -24
- package/build/compatible-engine.d/google/transport.js.map +1 -1
- package/build/compatible-engine.d/google.d.ts +2 -0
- package/build/compatible-engine.d/google.js +23 -2
- package/build/compatible-engine.d/google.js.map +1 -1
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +6 -5
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +17 -24
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -1
- package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +33 -3
- package/build/compatible-engine.d/openai-chatcompletions/transport.js +182 -6
- package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -1
- package/build/compatible-engine.d/openai-chatcompletions.d.ts +10 -2
- package/build/compatible-engine.d/openai-chatcompletions.js +35 -0
- package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -1
- package/build/compatible-engine.d/openai-responses/message-codec.d.ts +4 -6
- package/build/compatible-engine.d/openai-responses/message-codec.js +70 -74
- package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -1
- package/build/compatible-engine.d/openai-responses/transport.d.ts +14 -8
- package/build/compatible-engine.d/openai-responses/transport.js +64 -64
- package/build/compatible-engine.d/openai-responses/transport.js.map +1 -1
- package/build/compatible-engine.d/openai-responses.d.ts +2 -0
- package/build/compatible-engine.d/openai-responses.js +10 -2
- package/build/compatible-engine.d/openai-responses.js.map +1 -1
- package/build/compatible-engine.d.ts +2 -1
- package/build/compatible-engine.js +3 -3
- package/build/compatible-engine.js.map +1 -1
- package/build/config.d.ts +17 -19
- package/build/config.js +2 -4
- package/build/config.js.map +1 -1
- package/build/endpoint-spec.d.ts +15 -15
- package/build/endpoint-spec.js +2 -2
- package/build/endpoint-spec.js.map +1 -1
- package/build/engine/session.d.ts +31 -0
- package/build/engine/session.js +19 -0
- package/build/engine/session.js.map +1 -1
- package/build/engine/validation.d.ts +1 -7
- package/build/engine.d.ts +37 -20
- package/build/engine.js +154 -87
- package/build/engine.js.map +1 -1
- package/build/function.d.ts +1 -1
- package/build/native-engines.d/google/message-codec.d.ts +6 -3
- package/build/native-engines.d/google/message-codec.js +23 -27
- package/build/native-engines.d/google/message-codec.js.map +1 -1
- package/build/native-engines.d/google/transport.d.ts +13 -3
- package/build/native-engines.d/google/transport.js +41 -27
- package/build/native-engines.d/google/transport.js.map +1 -1
- package/build/native-engines.d/google/validation.d.ts +5 -6
- package/build/native-engines.d/google/validation.js +3 -6
- package/build/native-engines.d/google/validation.js.map +1 -1
- package/build/native-engines.d/google.d.ts +2 -2
- package/build/native-engines.d/google.js +22 -4
- package/build/native-engines.d/google.js.map +1 -1
- package/build/native-engines.d/openai-responses/choice-codec.d.ts +1 -1
- package/build/native-engines.d/openai-responses/choice-codec.js +12 -12
- package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -1
- package/build/native-engines.d/openai-responses/message-codec.d.ts +5 -3
- package/build/native-engines.d/openai-responses/message-codec.js +59 -48
- package/build/native-engines.d/openai-responses/message-codec.js.map +1 -1
- package/build/native-engines.d/openai-responses/transport.d.ts +14 -6
- package/build/native-engines.d/openai-responses/transport.js +56 -54
- package/build/native-engines.d/openai-responses/transport.js.map +1 -1
- package/build/native-engines.d/openai-responses/validation.d.ts +7 -7
- package/build/native-engines.d/openai-responses/validation.js +31 -32
- package/build/native-engines.d/openai-responses/validation.js.map +1 -1
- package/build/native-engines.d/openai-responses.d.ts +2 -2
- package/build/native-engines.d/openai-responses.js +9 -4
- package/build/native-engines.d/openai-responses.js.map +1 -1
- package/build/repetition.d.ts +2 -1
- package/build/repetition.js +7 -42
- package/build/repetition.js.map +1 -1
- package/build/telemetry.d.ts +1 -0
- package/build/telemetry.js +1 -0
- package/build/telemetry.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/verbatim/codec/declarations.d.ts +0 -1
- package/build/verbatim/codec/declarations.js +1 -2
- package/build/verbatim/codec/declarations.js.map +1 -1
- package/build/verbatim/codec/helpers.d.ts +2 -0
- package/build/verbatim/codec/{escape.js → helpers.js} +5 -1
- package/build/verbatim/codec/helpers.js.map +1 -0
- package/build/verbatim/codec/quotation.d.ts +1 -2
- package/build/verbatim/codec/quotation.js +3 -4
- package/build/verbatim/codec/quotation.js.map +1 -1
- package/build/verbatim/codec/response.d.ts +0 -1
- package/build/verbatim/codec/response.js +1 -2
- package/build/verbatim/codec/response.js.map +1 -1
- package/build/verbatim/codec/{meta.d.ts → system.d.ts} +0 -1
- package/build/verbatim/codec/system.js +7 -0
- package/build/verbatim/codec/system.js.map +1 -0
- package/build/verbatim/codec.d.ts +1 -1
- package/build/verbatim/codec.js +1 -1
- package/build/verbatim/codec.js.map +1 -1
- package/package.json +8 -9
- package/assets/verbatim/meta.handlebars +0 -1
- package/build/compatible-engine.d/aliyun/transport.d.ts +0 -12
- package/build/compatible-engine.d/aliyun/transport.js +0 -7
- package/build/compatible-engine.d/aliyun/transport.js.map +0 -1
- package/build/compatible-engine.d/aliyun.d.ts +0 -21
- package/build/compatible-engine.d/aliyun.js +0 -38
- package/build/compatible-engine.d/aliyun.js.map +0 -1
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +0 -31
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js +0 -88
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +0 -1
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +0 -34
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +0 -190
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +0 -1
- package/build/verbatim/codec/escape.d.ts +0 -1
- package/build/verbatim/codec/escape.js.map +0 -1
- package/build/verbatim/codec/meta.js +0 -8
- package/build/verbatim/codec/meta.js.map +0 -1
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import { ResponseInvalid } from "../../engine.js";
|
|
2
1
|
import { Function } from "../../function.js";
|
|
3
|
-
import
|
|
4
|
-
import Ajv from 'ajv';
|
|
5
|
-
const ajv = new Ajv();
|
|
2
|
+
import { Parse, ParseError } from 'typebox/schema';
|
|
6
3
|
export class ToolCodec {
|
|
7
|
-
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
4
|
+
fdm;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.fdm = options.fdm;
|
|
10
7
|
}
|
|
11
8
|
encodeFunctionCall(fc) {
|
|
12
9
|
return {
|
|
@@ -20,44 +17,29 @@ export class ToolCodec {
|
|
|
20
17
|
return fdentries.map(fdentry => this.encodeFunctionDeclarationEntry(fdentry));
|
|
21
18
|
}
|
|
22
19
|
encodeFunctionDeclarationEntry(fdentry) {
|
|
23
|
-
const json = JSON.stringify(fdentry[1].parameters);
|
|
24
|
-
const parsed = JSON.parse(json, (key, value) => {
|
|
25
|
-
if (key === 'type' && typeof value === 'string') {
|
|
26
|
-
if (value === 'string')
|
|
27
|
-
return Google.Type.STRING;
|
|
28
|
-
else if (value === 'number')
|
|
29
|
-
return Google.Type.NUMBER;
|
|
30
|
-
else if (value === 'boolean')
|
|
31
|
-
return Google.Type.BOOLEAN;
|
|
32
|
-
else if (value === 'object')
|
|
33
|
-
return Google.Type.OBJECT;
|
|
34
|
-
else if (value === 'array')
|
|
35
|
-
return Google.Type.ARRAY;
|
|
36
|
-
else
|
|
37
|
-
throw new Error();
|
|
38
|
-
}
|
|
39
|
-
else if (key === 'additionalProperties' && typeof value === 'boolean')
|
|
40
|
-
return;
|
|
41
|
-
else
|
|
42
|
-
return value;
|
|
43
|
-
});
|
|
44
20
|
return {
|
|
45
21
|
name: fdentry[0],
|
|
46
22
|
description: fdentry[1].description,
|
|
47
|
-
parameters:
|
|
23
|
+
parameters: fdentry[1].parameters,
|
|
48
24
|
};
|
|
49
25
|
}
|
|
50
26
|
decodeFunctionCall(googlefc) {
|
|
51
27
|
if (googlefc.name) { }
|
|
52
28
|
else
|
|
53
29
|
throw new Error();
|
|
54
|
-
const fditem = this.
|
|
30
|
+
const fditem = this.fdm[googlefc.name];
|
|
55
31
|
if (fditem) { }
|
|
56
32
|
else
|
|
57
|
-
throw new
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
33
|
+
throw new SyntaxError('Unknown function call', { cause: googlefc });
|
|
34
|
+
try {
|
|
35
|
+
Parse(fditem.parameters, googlefc.args);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
if (e instanceof ParseError)
|
|
39
|
+
throw new SyntaxError('Invalid arguments of function call.', { cause: e });
|
|
40
|
+
else
|
|
41
|
+
throw e;
|
|
42
|
+
}
|
|
61
43
|
return Function.Call.of({
|
|
62
44
|
id: googlefc.id,
|
|
63
45
|
name: googlefc.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/api-types/google/tool-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/api-types/google/tool-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAInD,MAAM,OAAO,SAAS;IACR,GAAG,CAAM;IACnB,YAAmB,OAA+B;QAC9C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAC3B,CAAC;IAEM,kBAAkB,CACrB,EAA2B;QAE3B,OAAO;YACH,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,EAAE,CAAC,IAAsC;SAClD,CAAC;IACN,CAAC;IAEM,4BAA4B,CAAC,GAAQ;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAoC,CAAC;QACzE,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;IAES,8BAA8B,CACpC,OAAsC;QAEtC,OAAO;YACH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAChB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW;YACnC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAsC;SAChE,CAAC;IACN,CAAC;IAEM,kBAAkB,CACrB,QAA6B;QAE7B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,WAAW,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,UAAU;gBACvB,MAAM,IAAI,WAAW,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;;gBAC1E,MAAM,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACa,CAAC,CAAC;IAC1C,CAAC;IAEM,sBAAsB,CACzB,EAA+B;QAE/B,IAAI,EAAE,YAAY,QAAQ,CAAC,QAAQ,CAAC,UAAU;YAAE,OAAO;gBACnD,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;aAChF,CAAC;aAAM,IAAI,EAAE,YAAY,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;gBACvD,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;aAChF,CAAC;;YAAM,MAAM,IAAI,KAAK,EAAE,CAAC;IAC9B,CAAC;CAEJ"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Pricing } from '../../engine.ts';
|
|
2
2
|
import OpenAI from 'openai';
|
|
3
|
-
export declare class
|
|
4
|
-
protected
|
|
5
|
-
constructor(
|
|
3
|
+
export declare class Billing {
|
|
4
|
+
protected pricing: Pricing;
|
|
5
|
+
constructor(options: Billing.Options);
|
|
6
6
|
charge(usage: OpenAI.CompletionUsage): number;
|
|
7
7
|
}
|
|
8
|
-
export declare namespace
|
|
9
|
-
interface
|
|
8
|
+
export declare namespace Billing {
|
|
9
|
+
interface Options {
|
|
10
10
|
pricing: Pricing;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export class
|
|
2
|
-
|
|
3
|
-
constructor(
|
|
4
|
-
this.
|
|
1
|
+
export class Billing {
|
|
2
|
+
pricing;
|
|
3
|
+
constructor(options) {
|
|
4
|
+
this.pricing = options.pricing;
|
|
5
5
|
}
|
|
6
6
|
charge(usage) {
|
|
7
7
|
const cacheHitTokenCount = usage.prompt_tokens_details?.cached_tokens ?? 0;
|
|
8
8
|
const cacheMissTokenCount = usage.prompt_tokens - cacheHitTokenCount;
|
|
9
|
-
return (this.
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
9
|
+
return (this.pricing.inputPrice * cacheMissTokenCount / 1e6 +
|
|
10
|
+
this.pricing.cachePrice * cacheHitTokenCount / 1e6 +
|
|
11
|
+
this.pricing.outputPrice * usage.completion_tokens / 1e6);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=billing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/api-types/openai-chatcompletions/billing.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/api-types/openai-chatcompletions/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,KAA6B;QACvC,MAAM,kBAAkB,GAAG,KAAK,CAAC,qBAAqB,EAAE,aAAa,IAAI,CAAC,CAAC;QAC3E,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC;QACrE,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,iBAAiB,GAAG,GAAG,CAC3D,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Function } from '../../function.ts';
|
|
2
2
|
import OpenAI from 'openai';
|
|
3
|
-
export declare class
|
|
4
|
-
protected
|
|
5
|
-
constructor(
|
|
3
|
+
export declare class ToolCodec<in out fdm extends Function.Decl.Map.Proto> {
|
|
4
|
+
protected fdm: fdm;
|
|
5
|
+
constructor(options: ToolCodec.Options<fdm>);
|
|
6
6
|
encodeFunctionCall(fc: Function.Call.From<fdm>): OpenAI.ChatCompletionMessageToolCall;
|
|
7
7
|
decodeFunctionCall(apifc: OpenAI.ChatCompletionMessageFunctionToolCall): Function.Call.From<fdm>;
|
|
8
8
|
encodeFunctionResponse(fr: Function.Response.From<fdm>): OpenAI.ChatCompletionToolMessageParam;
|
|
9
9
|
protected encodeFunctionDeclarationEntry(fdentry: Function.Decl.Entry.From<fdm>): OpenAI.ChatCompletionTool;
|
|
10
10
|
encodeFunctionDeclarationMap(fdm: fdm): OpenAI.ChatCompletionTool[];
|
|
11
11
|
}
|
|
12
|
-
export declare namespace
|
|
13
|
-
interface
|
|
12
|
+
export declare namespace ToolCodec {
|
|
13
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto> {
|
|
14
14
|
fdm: fdm;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import { Parse, ParseError } from 'typebox/schema';
|
|
1
2
|
import { Function } from "../../function.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
ctx;
|
|
7
|
-
constructor(ctx) {
|
|
8
|
-
this.ctx = ctx;
|
|
3
|
+
export class ToolCodec {
|
|
4
|
+
fdm;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.fdm = options.fdm;
|
|
9
7
|
}
|
|
10
8
|
encodeFunctionCall(fc) {
|
|
11
9
|
if (fc.id) { }
|
|
@@ -21,21 +19,27 @@ export class OpenAIChatCompletionsToolCodec {
|
|
|
21
19
|
};
|
|
22
20
|
}
|
|
23
21
|
decodeFunctionCall(apifc) {
|
|
24
|
-
const fditem = this.
|
|
22
|
+
const fditem = this.fdm[apifc.function.name];
|
|
25
23
|
if (fditem) { }
|
|
26
24
|
else
|
|
27
|
-
throw new
|
|
25
|
+
throw new SyntaxError('Unknown function call', { cause: apifc });
|
|
28
26
|
const args = (() => {
|
|
29
27
|
try {
|
|
30
28
|
return JSON.parse(apifc.function.arguments);
|
|
31
29
|
}
|
|
32
30
|
catch (e) {
|
|
33
|
-
throw new
|
|
31
|
+
throw new SyntaxError('Invalid JSON of function call', { cause: apifc });
|
|
34
32
|
}
|
|
35
33
|
})();
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
try {
|
|
35
|
+
Parse(fditem.parameters, args);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
if (e instanceof ParseError)
|
|
39
|
+
throw new SyntaxError('Invalid arguments of function call.', { cause: e });
|
|
40
|
+
else
|
|
41
|
+
throw e;
|
|
42
|
+
}
|
|
39
43
|
return Function.Call.of({
|
|
40
44
|
id: apifc.id,
|
|
41
45
|
name: apifc.function.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/api-types/openai-chatcompletions/tool-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/api-types/openai-chatcompletions/tool-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
2
|
import type { Pricing } from '../../engine.ts';
|
|
3
3
|
export declare class Billing {
|
|
4
|
-
protected
|
|
5
|
-
constructor(
|
|
4
|
+
protected pricing: Pricing;
|
|
5
|
+
constructor(options: Billing.Options);
|
|
6
6
|
charge(usage: OpenAI.Responses.ResponseUsage): number;
|
|
7
7
|
}
|
|
8
8
|
export declare namespace Billing {
|
|
9
|
-
interface
|
|
9
|
+
interface Options {
|
|
10
10
|
pricing: Pricing;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export class Billing {
|
|
2
|
-
|
|
3
|
-
constructor(
|
|
4
|
-
this.
|
|
2
|
+
pricing;
|
|
3
|
+
constructor(options) {
|
|
4
|
+
this.pricing = options.pricing;
|
|
5
5
|
}
|
|
6
6
|
charge(usage) {
|
|
7
7
|
const cacheHitTokenCount = usage.input_tokens_details.cached_tokens;
|
|
8
8
|
const cacheMissTokenCount = usage.input_tokens - cacheHitTokenCount;
|
|
9
|
-
return (this.
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
9
|
+
return (this.pricing.inputPrice * cacheMissTokenCount / 1e6 +
|
|
10
|
+
this.pricing.cachePrice * cacheHitTokenCount / 1e6 +
|
|
11
|
+
this.pricing.outputPrice * usage.output_tokens / 1e6);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=billing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/api-types/openai-responses/billing.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/api-types/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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
2
|
import { Function } from '../../function.ts';
|
|
3
3
|
export declare class ToolCodec<in out fdm extends Function.Decl.Map.Proto> {
|
|
4
|
-
protected
|
|
5
|
-
constructor(
|
|
4
|
+
protected fdm: fdm;
|
|
5
|
+
constructor(options: ToolCodec.Options<fdm>);
|
|
6
6
|
encodeFunctionResponse(fr: Function.Response.From<fdm>): OpenAI.Responses.ResponseInputItem.FunctionCallOutput;
|
|
7
7
|
protected encodeFunctionDeclarationEntry(fdentry: Function.Decl.Entry.From<fdm>): OpenAI.Responses.FunctionTool;
|
|
8
8
|
encodeFunctionDeclarationMap(fdm: fdm): OpenAI.Responses.FunctionTool[];
|
|
@@ -10,7 +10,7 @@ export declare class ToolCodec<in out fdm extends Function.Decl.Map.Proto> {
|
|
|
10
10
|
encodeFunctionCall(fc: Function.Call.From<fdm>): OpenAI.Responses.ResponseFunctionToolCall;
|
|
11
11
|
}
|
|
12
12
|
export declare namespace ToolCodec {
|
|
13
|
-
interface
|
|
13
|
+
interface Options<in out fdm extends Function.Decl.Map.Proto> {
|
|
14
14
|
fdm: fdm;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { Function } from "../../function.js";
|
|
2
|
-
import {
|
|
3
|
-
import Ajv from 'ajv';
|
|
4
|
-
const ajv = new Ajv();
|
|
2
|
+
import { Parse, ParseError } from 'typebox/schema';
|
|
5
3
|
export class ToolCodec {
|
|
6
|
-
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
4
|
+
fdm;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.fdm = options.fdm;
|
|
9
7
|
}
|
|
10
8
|
encodeFunctionResponse(fr) {
|
|
11
9
|
if (fr.id) { }
|
|
@@ -40,21 +38,27 @@ export class ToolCodec {
|
|
|
40
38
|
return fdentries.map(fdentry => this.encodeFunctionDeclarationEntry(fdentry));
|
|
41
39
|
}
|
|
42
40
|
decodeFunctionCall(apifc) {
|
|
43
|
-
const fditem = this.
|
|
41
|
+
const fditem = this.fdm[apifc.name];
|
|
44
42
|
if (fditem) { }
|
|
45
43
|
else
|
|
46
|
-
throw new
|
|
44
|
+
throw new SyntaxError('Unknown function call', { cause: apifc });
|
|
47
45
|
const args = (() => {
|
|
48
46
|
try {
|
|
49
47
|
return JSON.parse(apifc.arguments);
|
|
50
48
|
}
|
|
51
49
|
catch (e) {
|
|
52
|
-
throw new
|
|
50
|
+
throw new SyntaxError('Invalid JSON of function call', { cause: apifc });
|
|
53
51
|
}
|
|
54
52
|
})();
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
try {
|
|
54
|
+
Parse(fditem.parameters, args);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
if (e instanceof ParseError)
|
|
58
|
+
throw new SyntaxError('Invalid arguments of function call.', { cause: e });
|
|
59
|
+
else
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
58
62
|
return Function.Call.of({
|
|
59
63
|
id: apifc.call_id,
|
|
60
64
|
name: apifc.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/api-types/openai-responses/tool-codec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/api-types/openai-responses/tool-codec.ts"],"names":[],"mappings":"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"}
|
package/build/assets.d.ts
CHANGED
package/build/assets.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { loadtext } from '@zimtsui/node-loaders';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
2
3
|
export default {
|
|
3
4
|
verbatim: {
|
|
4
|
-
instruction: loadtext(import.meta.resolve('../assets/verbatim/instruction.md')),
|
|
5
|
-
declarations: loadtext(import.meta.resolve('../assets/verbatim/declarations.handlebars')),
|
|
6
|
-
quotation: loadtext(import.meta.resolve('../assets/verbatim/quotation.handlebars')),
|
|
7
|
-
response: loadtext(import.meta.resolve('../assets/verbatim/response.handlebars')),
|
|
8
|
-
|
|
5
|
+
instruction: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/instruction.md'))),
|
|
6
|
+
declarations: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/declarations.handlebars'))),
|
|
7
|
+
quotation: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/quotation.handlebars'))),
|
|
8
|
+
response: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/response.handlebars'))),
|
|
9
|
+
system: loadtext(fileURLToPath(import.meta.resolve('../assets/verbatim/system.handlebars'))),
|
|
9
10
|
},
|
|
10
11
|
};
|
|
11
12
|
//# sourceMappingURL=assets.js.map
|
package/build/assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,eAAe;IACX,QAAQ,EAAE;QACN,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC9F,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACxG,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAClG,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAChG,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,CAAC;KAC/F;CACK,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Function } from '../function.ts';
|
|
2
2
|
import { Engine } from '../engine.ts';
|
|
3
3
|
import { Verbatim } from '../verbatim.ts';
|
|
4
|
-
import { Media } from '../media.ts';
|
|
5
4
|
declare const NOMINAL: unique symbol;
|
|
6
5
|
export interface Session<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> extends Engine.Session<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>, RoleMessage.Developer> {
|
|
7
6
|
}
|
|
@@ -13,15 +12,7 @@ export declare namespace Session {
|
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
export declare namespace RoleMessage {
|
|
16
|
-
|
|
17
|
-
class Text<out vdu extends Verbatim.Decl.Proto> {
|
|
18
|
-
text: string;
|
|
19
|
-
vrs: Verbatim.Request.Of<vdu>[];
|
|
20
|
-
static paragraph(text: string): Text<never>;
|
|
21
|
-
protected [NOMINAL]: never;
|
|
22
|
-
constructor(text: string, vrs: Verbatim.Request.Of<vdu>[]);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
15
|
+
export import Part = Engine.RoleMessage.Part;
|
|
25
16
|
class Ai<out fdu extends Function.Decl.Proto, out vdu extends Verbatim.Decl.Proto> {
|
|
26
17
|
protected parts: RoleMessage.Ai.Part<fdu, vdu>[];
|
|
27
18
|
protected [NOMINAL]: never;
|
|
@@ -37,10 +28,7 @@ export declare namespace RoleMessage {
|
|
|
37
28
|
}
|
|
38
29
|
namespace Ai {
|
|
39
30
|
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = RoleMessage.Ai<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
40
|
-
|
|
41
|
-
namespace Part {
|
|
42
|
-
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = RoleMessage.Ai.Part<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
43
|
-
}
|
|
31
|
+
export import Part = Engine.RoleMessage.Ai.Part;
|
|
44
32
|
}
|
|
45
33
|
class User<out fdu extends Function.Decl.Proto> {
|
|
46
34
|
protected parts: RoleMessage.User.Part<fdu>[];
|
|
@@ -52,7 +40,7 @@ export declare namespace RoleMessage {
|
|
|
52
40
|
}
|
|
53
41
|
namespace User {
|
|
54
42
|
type From<fdm extends Function.Decl.Map.Proto> = RoleMessage.User<Function.Decl.From<fdm>>;
|
|
55
|
-
|
|
43
|
+
export import Part = Engine.RoleMessage.User.Part;
|
|
56
44
|
}
|
|
57
45
|
class Developer {
|
|
58
46
|
protected parts: RoleMessage.Developer.Part[];
|
|
@@ -62,7 +50,7 @@ export declare namespace RoleMessage {
|
|
|
62
50
|
getText(): string;
|
|
63
51
|
}
|
|
64
52
|
namespace Developer {
|
|
65
|
-
|
|
53
|
+
export import Part = Engine.RoleMessage.Developer.Part;
|
|
66
54
|
}
|
|
67
55
|
}
|
|
68
56
|
export {};
|
|
@@ -1,22 +1,9 @@
|
|
|
1
1
|
import { Function } from "../function.js";
|
|
2
|
+
import { Engine } from "../engine.js";
|
|
2
3
|
const NOMINAL = Symbol();
|
|
3
4
|
export var RoleMessage;
|
|
4
5
|
(function (RoleMessage) {
|
|
5
|
-
|
|
6
|
-
(function (Part) {
|
|
7
|
-
class Text {
|
|
8
|
-
text;
|
|
9
|
-
vrs;
|
|
10
|
-
static paragraph(text) {
|
|
11
|
-
return new RoleMessage.Part.Text(text.trimEnd() + '\n\n', []);
|
|
12
|
-
}
|
|
13
|
-
constructor(text, vrs) {
|
|
14
|
-
this.text = text;
|
|
15
|
-
this.vrs = vrs;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
Part.Text = Text;
|
|
19
|
-
})(Part = RoleMessage.Part || (RoleMessage.Part = {}));
|
|
6
|
+
RoleMessage.Part = Engine.RoleMessage.Part;
|
|
20
7
|
class Ai {
|
|
21
8
|
parts;
|
|
22
9
|
constructor(parts) {
|
|
@@ -56,6 +43,8 @@ export var RoleMessage;
|
|
|
56
43
|
}
|
|
57
44
|
}
|
|
58
45
|
RoleMessage.Ai = Ai;
|
|
46
|
+
(function (Ai) {
|
|
47
|
+
})(Ai = RoleMessage.Ai || (RoleMessage.Ai = {}));
|
|
59
48
|
class User {
|
|
60
49
|
parts;
|
|
61
50
|
constructor(parts) {
|
|
@@ -75,6 +64,8 @@ export var RoleMessage;
|
|
|
75
64
|
}
|
|
76
65
|
}
|
|
77
66
|
RoleMessage.User = User;
|
|
67
|
+
(function (User) {
|
|
68
|
+
})(User = RoleMessage.User || (RoleMessage.User = {}));
|
|
78
69
|
class Developer {
|
|
79
70
|
parts;
|
|
80
71
|
constructor(parts) {
|
|
@@ -88,5 +79,7 @@ export var RoleMessage;
|
|
|
88
79
|
}
|
|
89
80
|
}
|
|
90
81
|
RoleMessage.Developer = Developer;
|
|
82
|
+
(function (Developer) {
|
|
83
|
+
})(Developer = RoleMessage.Developer || (RoleMessage.Developer = {}));
|
|
91
84
|
})(RoleMessage || (RoleMessage = {}));
|
|
92
85
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/compatible-engine/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/compatible-engine/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,21 @@ import { Verbatim } from '../verbatim.ts';
|
|
|
4
4
|
import { RoleMessage } from './session.ts';
|
|
5
5
|
import type { Engine } from '../engine.ts';
|
|
6
6
|
export declare class StructuringValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.StructuringValidator<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>> {
|
|
7
|
-
protected
|
|
8
|
-
constructor(
|
|
7
|
+
protected structuringChoice: Structuring.Choice<fdu, vdu>;
|
|
8
|
+
constructor(options: StructuringValidator.Options<fdu, vdu>);
|
|
9
9
|
validate(aiMessage: RoleMessage.Ai<fdu, vdu>): RoleMessage.User<fdu> | void;
|
|
10
10
|
validateStructuring(fcs: Function.Call.Of<fdu>[], vrs: Verbatim.Request.Of<vdu>[]): RoleMessage.User<fdu> | void;
|
|
11
11
|
}
|
|
12
12
|
export declare namespace StructuringValidator {
|
|
13
13
|
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = StructuringValidator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
14
|
-
interface
|
|
15
|
-
|
|
14
|
+
interface Options<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
|
|
15
|
+
structuringChoice: Structuring.Choice<fdu, vdu>;
|
|
16
16
|
}
|
|
17
|
-
namespace
|
|
18
|
-
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> =
|
|
17
|
+
namespace Options {
|
|
18
|
+
type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Options<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
export declare class PartsValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.PartsValidator<RoleMessage.
|
|
21
|
+
export declare class PartsValidator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.PartsValidator<RoleMessage.Ai<fdu, vdu>> {
|
|
22
22
|
constructor();
|
|
23
23
|
validateMessageTextParts(parts: RoleMessage.Part.Text<vdu>[]): void;
|
|
24
24
|
validate(message: RoleMessage.Ai<fdu, vdu>): void;
|