@zimtsui/typechat 0.0.77 → 0.0.79
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/README.md +1 -0
- package/assets/verbatim/declarations.handlebars +1 -2
- package/assets/verbatim/instruction.md +22 -13
- package/assets/verbatim/response.handlebars +1 -0
- package/assets/verbatim/system.handlebars +1 -0
- package/build/assets.d.ts +2 -0
- package/build/assets.js +2 -0
- package/build/assets.js.map +1 -1
- package/build/compatible-engine.d/anthropic/message-codec.d.ts +0 -3
- package/build/compatible-engine.d/anthropic/message-codec.js +12 -7
- package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -1
- package/build/compatible-engine.d/google/message-codec.d.ts +0 -3
- package/build/compatible-engine.d/google/message-codec.js +11 -7
- package/build/compatible-engine.d/google/message-codec.js.map +1 -1
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +0 -3
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +11 -7
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -1
- package/build/compatible-engine.d/openai-responses/message-codec.js +11 -4
- package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -1
- package/build/engine.js +4 -13
- package/build/engine.js.map +1 -1
- package/build/native-engines.d/google/message-codec.js +11 -4
- package/build/native-engines.d/google/message-codec.js.map +1 -1
- package/build/native-engines.d/openai-responses/message-codec.js +11 -4
- package/build/native-engines.d/openai-responses/message-codec.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/verbatim/codec/declarations.js +10 -5
- package/build/verbatim/codec/declarations.js.map +1 -1
- package/build/verbatim/codec/request.d.ts +1 -3
- package/build/verbatim/codec/request.js +13 -11
- package/build/verbatim/codec/request.js.map +1 -1
- package/build/verbatim/codec/response.d.ts +1 -0
- package/build/verbatim/codec/response.js +10 -0
- package/build/verbatim/codec/response.js.map +1 -0
- package/build/verbatim/codec/system.d.ts +1 -0
- package/build/verbatim/codec/system.js +10 -0
- package/build/verbatim/codec/system.js.map +1 -0
- package/build/verbatim/codec.d.ts +2 -0
- package/build/verbatim/codec.js +2 -0
- package/build/verbatim/codec.js.map +1 -1
- package/build/verbatim.d.ts +4 -3
- package/build/verbatim.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import Handlebars from 'handlebars';
|
|
2
2
|
import Assets from "../../assets.js";
|
|
3
|
+
import assert from 'node:assert';
|
|
3
4
|
const template = Handlebars.compile(Assets.verbatim.declarations);
|
|
4
5
|
export function encode(vdm) {
|
|
5
|
-
const vds = Object.entries(vdm).map(([name, body]) =>
|
|
6
|
-
name
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const vds = Object.entries(vdm).map(([name, body]) => {
|
|
7
|
+
assert(/^[^<>&'"]+$/.test(name));
|
|
8
|
+
return ({
|
|
9
|
+
name,
|
|
10
|
+
description: body.description,
|
|
11
|
+
parameters: body.parameters,
|
|
12
|
+
});
|
|
13
|
+
});
|
|
10
14
|
return template({
|
|
11
15
|
declarations: vds.map(declaration => ({
|
|
12
16
|
name: declaration.name,
|
|
@@ -15,6 +19,7 @@ export function encode(vdm) {
|
|
|
15
19
|
name,
|
|
16
20
|
description: parameter.description,
|
|
17
21
|
mimeType: parameter.mimeType,
|
|
22
|
+
required: parameter.required,
|
|
18
23
|
})),
|
|
19
24
|
})),
|
|
20
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../src/verbatim/codec/declarations.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../src/verbatim/codec/declarations.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAiB,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAsBlF,MAAM,UAAU,MAAM,CAClB,GAAQ;IAER,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAC/B,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACb,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,OAAO,CAAC;YACJ,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAA4B,CAAC;IAClC,CAAC,CACJ,CAAC;IAEF,OAAO,QAAQ,CAAC;QACZ,YAAY,EAAE,GAAG,CAAC,GAAG,CACjB,WAAW,CAAC,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpB,IAAI;gBACJ,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC/B,CAAC,CACL;SACJ,CAAC,CACL;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Verbatim } from '../../verbatim.ts';
|
|
2
2
|
/**
|
|
3
|
-
* @throws {@link
|
|
3
|
+
* @throws {@link SyntaxError}
|
|
4
4
|
*/
|
|
5
5
|
export declare function decode<vdm extends Verbatim.Decl.Map.Proto>(str: string, vdm: vdm): Verbatim.Request.From<vdm>[];
|
|
6
|
-
export declare class Invalid extends Error {
|
|
7
|
-
}
|
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
import { Verbatim } from "../../verbatim.js";
|
|
2
2
|
/**
|
|
3
|
-
* @throws {@link
|
|
3
|
+
* @throws {@link SyntaxError}
|
|
4
4
|
*/
|
|
5
5
|
export function decode(str, vdm) {
|
|
6
6
|
const parts = [];
|
|
7
7
|
const requests = extractRequests(str);
|
|
8
8
|
for (const [channelName, args] of requests) {
|
|
9
|
-
const
|
|
10
|
-
if (
|
|
9
|
+
const params = vdm[channelName]?.parameters;
|
|
10
|
+
if (params) { }
|
|
11
11
|
else
|
|
12
|
-
throw new
|
|
13
|
-
const paramNames = Object.keys(
|
|
12
|
+
throw new SyntaxError('Channel not found: ' + channelName);
|
|
13
|
+
const paramNames = Object.keys(params);
|
|
14
14
|
const argNames = Object.keys(args);
|
|
15
|
-
for (const paramName of paramNames)
|
|
15
|
+
for (const paramName of paramNames) {
|
|
16
|
+
if (params[paramName].required) { }
|
|
17
|
+
else
|
|
18
|
+
continue;
|
|
16
19
|
if (argNames.includes(paramName)) { }
|
|
17
20
|
else
|
|
18
|
-
throw new
|
|
21
|
+
throw new SyntaxError(`Argument of required parameter ${paramName} of channel ${channelName} is missing.`);
|
|
22
|
+
}
|
|
19
23
|
for (const argName of argNames)
|
|
20
24
|
if (paramNames.includes(argName)) { }
|
|
21
25
|
else
|
|
22
|
-
throw new
|
|
26
|
+
throw new SyntaxError(`Parameter ${argName} is not defined in channel ${channelName}.`);
|
|
23
27
|
const options = { name: channelName, args };
|
|
24
28
|
parts.push(Verbatim.Request.create(options));
|
|
25
29
|
}
|
|
26
30
|
return parts;
|
|
27
31
|
}
|
|
28
|
-
export class Invalid extends Error {
|
|
29
|
-
}
|
|
30
32
|
const XML_ATTR_VAL = /(?<attr_val_quote>['"])(?<attr_val_body>[\s\S]+?)\k<attr_val_quote>/;
|
|
31
33
|
const REQUEST = new RegExp(`<verbatim:request\\s+name\\s*=\\s*(?:${XML_ATTR_VAL.source})\\s*>` +
|
|
32
34
|
`(?<verbatim_body>[\\s\\S]*?)` +
|
|
@@ -39,7 +41,7 @@ function extractArgs(str) {
|
|
|
39
41
|
for (const match of str.matchAll(new RegExp(ARG_CDATA, 'g'))) {
|
|
40
42
|
if (results[match.groups.attr_val_body] === undefined) { }
|
|
41
43
|
else
|
|
42
|
-
throw new
|
|
44
|
+
throw new SyntaxError('Duplicate argument of parameter ' + match.groups.attr_val_body);
|
|
43
45
|
results[match.groups.attr_val_body] = match.groups.arg_cdata_body;
|
|
44
46
|
}
|
|
45
47
|
return results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/verbatim/codec/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C;;GAEG;AACH,MAAM,UAAU,MAAM,CAEpB,GAAW,EAAE,GAAQ;IAEnB,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/verbatim/codec/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function encode(name: string, mimeType: string, text: string): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Handlebars from 'handlebars';
|
|
2
|
+
import Assets from "../../assets.js";
|
|
3
|
+
import { loggers } from "../../telemetry.js";
|
|
4
|
+
const template = Handlebars.compile(Assets.verbatim.response);
|
|
5
|
+
export function encode(name, mimeType, text) {
|
|
6
|
+
if (text.includes(']]>'))
|
|
7
|
+
loggers.message.warn('The text contains "]]>", which is not allowed in XML CDATA sections. ');
|
|
8
|
+
return template({ name, mimeType, text });
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/verbatim/codec/response.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAiB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAS9E,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,QAAgB,EAAE,IAAY;IAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAClG,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function encode(name: string, mimeType: string, text: string): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Handlebars from 'handlebars';
|
|
2
|
+
import Assets from "../../assets.js";
|
|
3
|
+
import { loggers } from "../../telemetry.js";
|
|
4
|
+
const template = Handlebars.compile(Assets.verbatim.system);
|
|
5
|
+
export function encode(name, mimeType, text) {
|
|
6
|
+
if (text.includes(']]>'))
|
|
7
|
+
loggers.message.warn('The text contains "]]>", which is not allowed in XML CDATA sections. ');
|
|
8
|
+
return template({ name, mimeType, text });
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/verbatim/codec/system.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAiB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAS5E,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,QAAgB,EAAE,IAAY;IAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAClG,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC"}
|
package/build/verbatim/codec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/verbatim/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/verbatim/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC"}
|
package/build/verbatim.d.ts
CHANGED
|
@@ -11,15 +11,16 @@ export declare namespace Verbatim {
|
|
|
11
11
|
name: string;
|
|
12
12
|
}
|
|
13
13
|
type Args<parameters extends Verbatim.Decl.Params.Proto> = {
|
|
14
|
-
[name in keyof parameters]: string;
|
|
14
|
+
[name in keyof parameters]: parameters[name]['required'] extends true ? string : string | void;
|
|
15
15
|
};
|
|
16
16
|
namespace Params {
|
|
17
|
-
type Proto = Record<string, Verbatim.Decl.
|
|
17
|
+
type Proto = Record<string, Verbatim.Decl.Param.Body>;
|
|
18
18
|
}
|
|
19
|
-
namespace
|
|
19
|
+
namespace Param {
|
|
20
20
|
interface Body {
|
|
21
21
|
description: string;
|
|
22
22
|
mimeType: string;
|
|
23
|
+
required: boolean;
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
type Extract<vdm extends Verbatim.Decl.Map.Proto, nameu extends Verbatim.Name.From<vdm>> = nameu extends infer name extends Verbatim.Name.From<vdm> ? Verbatim.Decl<name, vdm[name]['parameters']> : never;
|
package/build/verbatim.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verbatim.js","sourceRoot":"","sources":["../src/verbatim.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,KAAW,QAAQ,
|
|
1
|
+
{"version":3,"file":"verbatim.js","sourceRoot":"","sources":["../src/verbatim.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAGzB,MAAM,KAAW,QAAQ,CA4IxB;AA5ID,WAAiB,QAAQ;IAmFrB,MAAa,OAAO;QAET,IAAI,CAAa;QACjB,IAAI,CAAuC;QAClD,YAAsB,EAAuB;YACzC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACxB,CAAC;QAEM,MAAM,CAAC,MAAM,CAChB,EAAoC;YAEpC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAA6B,CAAC;QAChE,CAAC;KACJ;IAdY,gBAAO,UAcnB,CAAA;AA2CL,CAAC,EA5IgB,QAAQ,KAAR,QAAQ,QA4IxB"}
|