call-ai 13.1.16 → 13.1.18
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/package.json
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
import { Schema, SchemaStrategy } from "../types.js";
|
|
1
|
+
import { ProcessedSchema, RequestSchema, Schema, SchemaAIJsonSchemaRequest, SchemaAIToolRequest, SchemaStrategy } from "../types.js";
|
|
2
|
+
export type NamedToolChoice = SchemaAIToolRequest["tool_choice"] & {
|
|
3
|
+
readonly function: {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
export type NamedToolDefinition = SchemaAIToolRequest["tools"][number] & {
|
|
8
|
+
readonly function: {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly parameters: RequestSchema | ProcessedSchema;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
2
13
|
export interface EnforcedSchemaFields {
|
|
3
|
-
readonly response_format?:
|
|
4
|
-
readonly tools?:
|
|
5
|
-
readonly tool_choice?:
|
|
14
|
+
readonly response_format?: SchemaAIJsonSchemaRequest["response_format"];
|
|
15
|
+
readonly tools?: NamedToolDefinition[];
|
|
16
|
+
readonly tool_choice?: NamedToolChoice;
|
|
6
17
|
}
|
|
7
18
|
export declare function enforcedSchemaFields(strategy: SchemaStrategy, schema: Schema): EnforcedSchemaFields | undefined;
|
|
@@ -14,6 +14,23 @@ function isRepresentable(strategy, schema) {
|
|
|
14
14
|
}
|
|
15
15
|
return Object.keys(schema).every((key) => TOOL_MODE_PRESERVED_KEYS.has(key) || HARMLESS_METADATA_KEYS.has(key));
|
|
16
16
|
}
|
|
17
|
+
function namedFunction(v) {
|
|
18
|
+
if (v === null || typeof v !== "object")
|
|
19
|
+
return undefined;
|
|
20
|
+
const fn = v.function;
|
|
21
|
+
if (fn === null || typeof fn !== "object")
|
|
22
|
+
return undefined;
|
|
23
|
+
return typeof fn.name === "string" && fn.name.length > 0
|
|
24
|
+
? fn
|
|
25
|
+
: undefined;
|
|
26
|
+
}
|
|
27
|
+
function isNamedToolChoice(v) {
|
|
28
|
+
return namedFunction(v) !== undefined;
|
|
29
|
+
}
|
|
30
|
+
function isNamedToolDefinition(v) {
|
|
31
|
+
const fn = namedFunction(v);
|
|
32
|
+
return fn !== undefined && fn.parameters !== null && typeof fn.parameters === "object";
|
|
33
|
+
}
|
|
17
34
|
function validatePrepared(prepared) {
|
|
18
35
|
if (prepared === null || typeof prepared !== "object" || Array.isArray(prepared))
|
|
19
36
|
return undefined;
|
|
@@ -21,13 +38,13 @@ function validatePrepared(prepared) {
|
|
|
21
38
|
const { response_format, tools, tool_choice } = record;
|
|
22
39
|
if (response_format !== undefined && (response_format === null || typeof response_format !== "object"))
|
|
23
40
|
return undefined;
|
|
24
|
-
if (tools !== undefined && (Array.isArray(tools) === false || tools.length === 0))
|
|
41
|
+
if (tools !== undefined && (Array.isArray(tools) === false || tools.length === 0 || tools.every(isNamedToolDefinition) === false))
|
|
25
42
|
return undefined;
|
|
26
|
-
if (tool_choice !== undefined && (tool_choice ===
|
|
43
|
+
if (tool_choice !== undefined && isNamedToolChoice(tool_choice) === false)
|
|
27
44
|
return undefined;
|
|
28
45
|
return {
|
|
29
|
-
...(response_format !== undefined ? { response_format } : {}),
|
|
30
|
-
...(tools !== undefined ? { tools } : {}),
|
|
46
|
+
...(response_format !== undefined ? { response_format: response_format } : {}),
|
|
47
|
+
...(tools !== undefined ? { tools: tools } : {}),
|
|
31
48
|
...(tool_choice !== undefined ? { tool_choice } : {}),
|
|
32
49
|
};
|
|
33
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforced-fields.js","sourceRoot":"","sources":["../../jsr/strategies/enforced-fields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enforced-fields.js","sourceRoot":"","sources":["../../jsr/strategies/enforced-fields.ts"],"names":[],"mappings":"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"}
|