@zimtsui/typechat 0.0.113 → 0.0.114
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/build/engines/google/tool-codec.js +2 -1
- package/build/engines/google/tool-codec.js.map +1 -1
- package/build/engines/openai-responses/tool-codec.js +2 -1
- package/build/engines/openai-responses/tool-codec.js.map +1 -1
- package/build/function/parameters.d.ts +2 -0
- package/build/function/parameters.js +70 -0
- package/build/function/parameters.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Function } from "../../function.js";
|
|
2
2
|
import { Parse, ParseError } from 'typebox/schema';
|
|
3
|
+
import { removeAdditionalProperties } from "../../function/parameters.js";
|
|
3
4
|
export class ToolCodec {
|
|
4
5
|
fdm;
|
|
5
6
|
apiFds;
|
|
@@ -22,7 +23,7 @@ export class ToolCodec {
|
|
|
22
23
|
return {
|
|
23
24
|
name: fdentry[0],
|
|
24
25
|
description: fdentry[1].description,
|
|
25
|
-
parameters: fdentry[1].parameters,
|
|
26
|
+
parameters: removeAdditionalProperties(fdentry[1].parameters),
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
29
|
decodeFunctionCall(googlefc) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/google/tool-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/google/tool-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Function } from "../../function.js";
|
|
2
2
|
import { Parse, ParseError } from 'typebox/schema';
|
|
3
|
+
import { addAdditionalProperties } from "../../function/parameters.js";
|
|
3
4
|
export class ToolCodec {
|
|
4
5
|
fdm;
|
|
5
6
|
apiFds;
|
|
@@ -31,7 +32,7 @@ export class ToolCodec {
|
|
|
31
32
|
return {
|
|
32
33
|
name: fdentry[0],
|
|
33
34
|
description: fdentry[1].description,
|
|
34
|
-
parameters: fdentry[1].parameters,
|
|
35
|
+
parameters: addAdditionalProperties(fdentry[1].parameters),
|
|
35
36
|
strict: true,
|
|
36
37
|
type: 'function',
|
|
37
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/tool-codec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/tool-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
export function removeAdditionalProperties(schema) {
|
|
3
|
+
if (schema.type === 'object') {
|
|
4
|
+
assert(schema.properties);
|
|
5
|
+
assert(!schema.additionalProperties);
|
|
6
|
+
assert(!schema.patternProperties);
|
|
7
|
+
return {
|
|
8
|
+
...schema,
|
|
9
|
+
additionalProperties: undefined,
|
|
10
|
+
properties: Object.fromEntries(Object.entries(schema.properties).map(([key, subschema]) => [key, removeAdditionalProperties(subschema)])),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
else if (schema.type === 'array')
|
|
14
|
+
return {
|
|
15
|
+
...schema,
|
|
16
|
+
items: schema.items instanceof Array ? schema.items.map(removeAdditionalProperties) : removeAdditionalProperties(schema.items),
|
|
17
|
+
};
|
|
18
|
+
else if (schema.anyOf)
|
|
19
|
+
return {
|
|
20
|
+
...schema,
|
|
21
|
+
anyOf: schema.anyOf.map(removeAdditionalProperties),
|
|
22
|
+
};
|
|
23
|
+
else if (schema.oneOf)
|
|
24
|
+
return {
|
|
25
|
+
...schema,
|
|
26
|
+
oneOf: schema.oneOf.map(removeAdditionalProperties),
|
|
27
|
+
};
|
|
28
|
+
else if (schema.allOf)
|
|
29
|
+
return {
|
|
30
|
+
...schema,
|
|
31
|
+
allOf: schema.allOf.map(removeAdditionalProperties),
|
|
32
|
+
};
|
|
33
|
+
else
|
|
34
|
+
return schema;
|
|
35
|
+
}
|
|
36
|
+
export function addAdditionalProperties(schema) {
|
|
37
|
+
if (schema.type === 'object') {
|
|
38
|
+
assert(schema.properties);
|
|
39
|
+
assert(!schema.additionalProperties);
|
|
40
|
+
assert(!schema.patternProperties);
|
|
41
|
+
return {
|
|
42
|
+
...schema,
|
|
43
|
+
additionalProperties: false,
|
|
44
|
+
properties: Object.fromEntries(Object.entries(schema.properties).map(([key, subschema]) => [key, addAdditionalProperties(subschema)])),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
else if (schema.type === 'array')
|
|
48
|
+
return {
|
|
49
|
+
...schema,
|
|
50
|
+
items: schema.items instanceof Array ? schema.items.map(addAdditionalProperties) : addAdditionalProperties(schema.items),
|
|
51
|
+
};
|
|
52
|
+
else if (schema.anyOf)
|
|
53
|
+
return {
|
|
54
|
+
...schema,
|
|
55
|
+
anyOf: schema.anyOf.map(addAdditionalProperties),
|
|
56
|
+
};
|
|
57
|
+
else if (schema.oneOf)
|
|
58
|
+
return {
|
|
59
|
+
...schema,
|
|
60
|
+
oneOf: schema.oneOf.map(addAdditionalProperties),
|
|
61
|
+
};
|
|
62
|
+
else if (schema.allOf)
|
|
63
|
+
return {
|
|
64
|
+
...schema,
|
|
65
|
+
allOf: schema.allOf.map(addAdditionalProperties),
|
|
66
|
+
};
|
|
67
|
+
else
|
|
68
|
+
return schema;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/function/parameters.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,MAAM,UAAU,0BAA0B,CAAC,MAAW;IAClD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,MAAM,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClC,OAAO;YACH,GAAG,MAAM;YACT,oBAAoB,EAAE,SAAS;YAC/B,UAAU,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CACjC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC,CACrE,CACJ;SACJ,CAAC;IACN,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAC9B,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;SACjI,CAAC;SACD,IAAI,MAAM,CAAC,KAAK;QACjB,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC;SACtD,CAAC;SACD,IAAI,MAAM,CAAC,KAAK;QACjB,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC;SACtD,CAAC;SACD,IAAI,MAAM,CAAC,KAAK;QACjB,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC;SACtD,CAAC;;QAEF,OAAO,MAAM,CAAC;AACtB,CAAC;AAGD,MAAM,UAAU,uBAAuB,CAAC,MAAW;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,MAAM,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClC,OAAO;YACH,GAAG,MAAM;YACT,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CACjC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAClE,CACJ;SACJ,CAAC;IACN,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAC9B,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC;SAC3H,CAAC;SACD,IAAI,MAAM,CAAC,KAAK;QACjB,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC;SACnD,CAAC;SACD,IAAI,MAAM,CAAC,KAAK;QACjB,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC;SACnD,CAAC;SACD,IAAI,MAAM,CAAC,KAAK;QACjB,OAAO;YACH,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC;SACnD,CAAC;;QAEF,OAAO,MAAM,CAAC;AACtB,CAAC"}
|