@botbotgo/better-call 0.1.16 → 0.1.17
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/dist/better-tool.d.ts +2 -1
- package/dist/better-tool.js +2 -0
- package/dist/better-tool.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/reliable.js +113 -8
- package/dist/reliable.js.map +1 -1
- package/dist/schema.d.ts +3 -1
- package/dist/schema.js +126 -0
- package/dist/schema.js.map +1 -1
- package/dist/types.d.ts +54 -0
- package/package.json +1 -1
package/dist/better-tool.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type RepairModelLike } from "./default-repair.js";
|
|
2
|
-
import type { GuardPolicy, RepairFunction, SemanticValidator, ToolCallIssue } from "./types.js";
|
|
2
|
+
import type { GuardPolicy, RepairFunction, RepairPolicy, SemanticValidator, ToolCallIssue } from "./types.js";
|
|
3
3
|
export type BetterToolLike = {
|
|
4
4
|
name: string;
|
|
5
5
|
description?: string;
|
|
@@ -13,6 +13,7 @@ export type BetterToolsOptions = {
|
|
|
13
13
|
repairModel?: RepairModelLike;
|
|
14
14
|
repair?: RepairFunction;
|
|
15
15
|
policy?: GuardPolicy;
|
|
16
|
+
repairPolicy?: RepairPolicy;
|
|
16
17
|
mode?: "guard" | "repair" | "review";
|
|
17
18
|
};
|
|
18
19
|
export declare class BetterToolValidationError extends Error {
|
package/dist/better-tool.js
CHANGED
|
@@ -23,7 +23,9 @@ function wrapOneTool(tool, options) {
|
|
|
23
23
|
tools: [toToolDefinition(tool, options)],
|
|
24
24
|
calls: [{ tool: tool.name, args }],
|
|
25
25
|
policy: options.policy,
|
|
26
|
+
repairPolicy: options.repairPolicy,
|
|
26
27
|
repair: resolveRepair(options),
|
|
28
|
+
repairSource: options.repairModel && !options.repair ? "model" : "custom",
|
|
27
29
|
mode: options.mode,
|
|
28
30
|
});
|
|
29
31
|
if (!result.ok) {
|
package/dist/better-tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-tool.js","sourceRoot":"","sources":["../src/better-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"better-tool.js","sourceRoot":"","sources":["../src/better-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ export { guardToolCalls } from "./guard.js";
|
|
|
2
2
|
export { buildRepairPrompt, buildReviewPrompt } from "./prompts.js";
|
|
3
3
|
export { defaultRepair } from "./default-repair.js";
|
|
4
4
|
export type { RepairModelLike } from "./default-repair.js";
|
|
5
|
-
export { normalizeToolSchema } from "./schema.js";
|
|
5
|
+
export { extractSchemaDescriptor, normalizeArgsBySchema, normalizeToolSchema } from "./schema.js";
|
|
6
6
|
export { reliableToolCalls } from "./reliable.js";
|
|
7
7
|
export { BetterToolValidationError, betterTools } from "./better-tool.js";
|
|
8
8
|
export type { BetterToolLike, BetterToolsOptions } from "./better-tool.js";
|
|
9
|
-
export type { GuardPolicy, GuardResult, IssueKind, JsonSchema, ReliableToolCallsInput, ReliableToolCallsResult, RepairFunction, RepairInput, SemanticValidator, ToolCall, ToolCallIssue, ToolDefinition, ToolSchema, } from "./types.js";
|
|
9
|
+
export type { GuardPolicy, GuardResult, IssueKind, JsonSchema, ArgsNormalizationOptions, ArgsNormalizationResult, ReliableToolCallsInput, ReliableToolCallsResult, RepairDiagnostics, RepairFunction, RepairInput, RepairPolicy, RepairProposal, SchemaDescriptor, SemanticValidator, ToolCall, ToolCallIssue, ToolDefinition, ToolSchema, } from "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { guardToolCalls } from "./guard.js";
|
|
2
2
|
export { buildRepairPrompt, buildReviewPrompt } from "./prompts.js";
|
|
3
3
|
export { defaultRepair } from "./default-repair.js";
|
|
4
|
-
export { normalizeToolSchema } from "./schema.js";
|
|
4
|
+
export { extractSchemaDescriptor, normalizeArgsBySchema, normalizeToolSchema } from "./schema.js";
|
|
5
5
|
export { reliableToolCalls } from "./reliable.js";
|
|
6
6
|
export { BetterToolValidationError, betterTools } from "./better-tool.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/reliable.js
CHANGED
|
@@ -1,26 +1,131 @@
|
|
|
1
1
|
import { guardToolCalls } from "./guard.js";
|
|
2
|
-
import { normalizeToolSchema } from "./schema.js";
|
|
2
|
+
import { normalizeArgsBySchema, normalizeToolSchema } from "./schema.js";
|
|
3
3
|
export async function reliableToolCalls(input) {
|
|
4
4
|
const mode = input.mode ?? "repair";
|
|
5
5
|
const tools = normalizeTools(input.tools);
|
|
6
6
|
const first = await guardToolCalls({ ...input, tools });
|
|
7
|
-
const
|
|
7
|
+
const diagnostics = [];
|
|
8
|
+
let repairBaseCalls = input.calls;
|
|
9
|
+
let repairBaseIssues = first.issues;
|
|
10
|
+
if (mode === "repair" && !first.ok) {
|
|
11
|
+
const schemaRepair = await proposeSchemaRepair(input.calls, tools, first.issues, input.repairPolicy);
|
|
12
|
+
if (schemaRepair) {
|
|
13
|
+
const accepted = await acceptProposal(schemaRepair, input.repairPolicy);
|
|
14
|
+
if (accepted && schemaRepair.issuesAfter.length === 0) {
|
|
15
|
+
return {
|
|
16
|
+
ok: true,
|
|
17
|
+
calls: schemaRepair.proposed,
|
|
18
|
+
issues: [],
|
|
19
|
+
repaired: true,
|
|
20
|
+
original: input.calls,
|
|
21
|
+
diagnostics: [schemaRepair.diagnostics],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (accepted) {
|
|
25
|
+
diagnostics.push(schemaRepair.diagnostics);
|
|
26
|
+
repairBaseCalls = schemaRepair.proposed;
|
|
27
|
+
repairBaseIssues = schemaRepair.issuesAfter;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const allowModelRepair = input.repairPolicy?.allowModelRepair ?? true;
|
|
32
|
+
const repairSource = input.repairSource ?? "custom";
|
|
33
|
+
const repairAllowed = repairSource === "model" ? allowModelRepair : true;
|
|
34
|
+
const shouldRepair = repairAllowed && Boolean(input.repair) && (mode === "review" || (mode === "repair" && !first.ok));
|
|
8
35
|
if (!shouldRepair)
|
|
9
|
-
return { ...first, repaired: false, original: input.calls };
|
|
36
|
+
return { ...first, repaired: false, original: input.calls, diagnostics };
|
|
10
37
|
const repairedCalls = await input.repair({
|
|
11
38
|
userInput: input.userInput,
|
|
12
39
|
tools,
|
|
13
|
-
calls:
|
|
14
|
-
issues:
|
|
40
|
+
calls: repairBaseCalls,
|
|
41
|
+
issues: repairBaseIssues,
|
|
15
42
|
});
|
|
16
43
|
const second = await guardToolCalls({ ...input, tools, calls: normalizeCalls(repairedCalls) });
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
:
|
|
44
|
+
const modelDiagnostics = createDiagnostics(repairSource, repairBaseCalls, second.calls, repairBaseIssues, second.issues);
|
|
45
|
+
const modelProposal = {
|
|
46
|
+
source: modelDiagnostics.source,
|
|
47
|
+
original: repairBaseCalls,
|
|
48
|
+
proposed: second.calls,
|
|
49
|
+
diagnostics: modelDiagnostics,
|
|
50
|
+
issuesBefore: repairBaseIssues,
|
|
51
|
+
issuesAfter: second.issues,
|
|
52
|
+
};
|
|
53
|
+
if (second.ok && await acceptProposal(modelProposal, input.repairPolicy)) {
|
|
54
|
+
return { ...second, repaired: true, original: input.calls, diagnostics: [...diagnostics, modelDiagnostics] };
|
|
55
|
+
}
|
|
56
|
+
return { ...first, repaired: false, original: input.calls, diagnostics };
|
|
20
57
|
}
|
|
21
58
|
function normalizeTools(tools) {
|
|
22
59
|
return tools.map((tool) => ({ ...tool, schema: normalizeToolSchema(tool.schema) }));
|
|
23
60
|
}
|
|
61
|
+
async function proposeSchemaRepair(calls, tools, issuesBefore, policy) {
|
|
62
|
+
if (!hasSchemaRepairPolicy(policy))
|
|
63
|
+
return undefined;
|
|
64
|
+
const changedPaths = [];
|
|
65
|
+
const proposed = calls.map((call, index) => {
|
|
66
|
+
const tool = tools.find((item) => item.name === call.tool);
|
|
67
|
+
if (!tool)
|
|
68
|
+
return call;
|
|
69
|
+
const normalized = normalizeArgsBySchema(tool.schema, call.args, policy);
|
|
70
|
+
changedPaths.push(...normalized.changedPaths.map((path) => path.replace("$", `$.calls[${index}].args`)));
|
|
71
|
+
return normalized.changedPaths.length > 0 ? { ...call, args: normalized.args } : call;
|
|
72
|
+
});
|
|
73
|
+
if (changedPaths.length === 0)
|
|
74
|
+
return undefined;
|
|
75
|
+
const after = await guardToolCalls({ tools, calls: proposed });
|
|
76
|
+
const diagnostics = {
|
|
77
|
+
source: "schema",
|
|
78
|
+
changedPaths,
|
|
79
|
+
repairReason: "schema-derived argument normalization",
|
|
80
|
+
confidence: 1,
|
|
81
|
+
issuesBefore,
|
|
82
|
+
issuesAfter: after.issues,
|
|
83
|
+
};
|
|
84
|
+
return {
|
|
85
|
+
source: "schema",
|
|
86
|
+
original: calls,
|
|
87
|
+
proposed,
|
|
88
|
+
diagnostics,
|
|
89
|
+
issuesBefore: issuesBefore ?? [],
|
|
90
|
+
issuesAfter: after.issues,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function hasSchemaRepairPolicy(policy) {
|
|
94
|
+
return Boolean(policy?.allowCoercion ||
|
|
95
|
+
policy?.allowClamp ||
|
|
96
|
+
policy?.allowDropUnknownKeys ||
|
|
97
|
+
policy?.allowArrayStringSplit);
|
|
98
|
+
}
|
|
99
|
+
async function acceptProposal(proposal, policy) {
|
|
100
|
+
return policy?.onProposedRepair ? policy.onProposedRepair(proposal) : true;
|
|
101
|
+
}
|
|
102
|
+
function createDiagnostics(source, original, proposed, issuesBefore, issuesAfter) {
|
|
103
|
+
return {
|
|
104
|
+
source,
|
|
105
|
+
changedPaths: diffCallPaths(original, proposed),
|
|
106
|
+
repairReason: source === "schema" ? "schema-derived argument normalization" : "repair function proposal",
|
|
107
|
+
issuesBefore,
|
|
108
|
+
issuesAfter,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function diffCallPaths(original, proposed) {
|
|
112
|
+
const paths = [];
|
|
113
|
+
for (let index = 0; index < Math.max(original.length, proposed.length); index += 1) {
|
|
114
|
+
const before = original[index];
|
|
115
|
+
const after = proposed[index];
|
|
116
|
+
if (!before || !after) {
|
|
117
|
+
paths.push(`$.calls[${index}]`);
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
if (before.tool !== after.tool)
|
|
121
|
+
paths.push(`$.calls[${index}].tool`);
|
|
122
|
+
for (const key of new Set([...Object.keys(before.args), ...Object.keys(after.args)])) {
|
|
123
|
+
if (!Object.is(before.args[key], after.args[key]))
|
|
124
|
+
paths.push(`$.calls[${index}].args.${key}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return paths;
|
|
128
|
+
}
|
|
24
129
|
function normalizeCalls(calls) {
|
|
25
130
|
return calls.filter((call) => call && typeof call.tool === "string" && isRecord(call.args));
|
|
26
131
|
}
|
package/dist/reliable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliable.js","sourceRoot":"","sources":["../src/reliable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"reliable.js","sourceRoot":"","sources":["../src/reliable.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
import type { JsonSchema, ToolCallIssue, ToolSchema } from "./types.js";
|
|
1
|
+
import type { ArgsNormalizationOptions, ArgsNormalizationResult, JsonSchema, SchemaDescriptor, ToolCallIssue, ToolSchema } from "./types.js";
|
|
2
2
|
export declare function normalizeToolSchema(schema: ToolSchema | unknown): JsonSchema | undefined;
|
|
3
|
+
export declare function extractSchemaDescriptor(schema: ToolSchema | unknown): SchemaDescriptor | undefined;
|
|
4
|
+
export declare function normalizeArgsBySchema(schema: ToolSchema | unknown, args: Record<string, unknown>, options?: ArgsNormalizationOptions): ArgsNormalizationResult;
|
|
3
5
|
export declare function validateSchema(schema: JsonSchema | undefined, value: unknown, path?: string): ToolCallIssue[];
|
package/dist/schema.js
CHANGED
|
@@ -8,6 +8,18 @@ export function normalizeToolSchema(schema) {
|
|
|
8
8
|
return schema;
|
|
9
9
|
return undefined;
|
|
10
10
|
}
|
|
11
|
+
export function extractSchemaDescriptor(schema) {
|
|
12
|
+
const normalized = normalizeToolSchema(schema);
|
|
13
|
+
return normalized ? describeJsonSchema(normalized) : undefined;
|
|
14
|
+
}
|
|
15
|
+
export function normalizeArgsBySchema(schema, args, options = {}) {
|
|
16
|
+
const normalized = normalizeToolSchema(schema);
|
|
17
|
+
if (!normalized || !isObjectSchema(normalized))
|
|
18
|
+
return { args, changedPaths: [] };
|
|
19
|
+
const changedPaths = [];
|
|
20
|
+
const next = normalizeObjectArgs(normalized, args, "$", options, changedPaths);
|
|
21
|
+
return { args: next, changedPaths };
|
|
22
|
+
}
|
|
11
23
|
export function validateSchema(schema, value, path = "$") {
|
|
12
24
|
if (!schema)
|
|
13
25
|
return [];
|
|
@@ -52,6 +64,120 @@ function validateObject(schema, value, path) {
|
|
|
52
64
|
}
|
|
53
65
|
return issues;
|
|
54
66
|
}
|
|
67
|
+
function describeJsonSchema(schema) {
|
|
68
|
+
const descriptor = {
|
|
69
|
+
type: schema.type,
|
|
70
|
+
enum: schema.enum,
|
|
71
|
+
additionalProperties: schema.additionalProperties,
|
|
72
|
+
};
|
|
73
|
+
if (includesType(schema.type, "integer"))
|
|
74
|
+
descriptor.integer = true;
|
|
75
|
+
if (schema.items)
|
|
76
|
+
descriptor.items = describeJsonSchema(schema.items);
|
|
77
|
+
if (isRecord(schema)) {
|
|
78
|
+
const maybeMinimum = schema.minimum;
|
|
79
|
+
const maybeMaximum = schema.maximum;
|
|
80
|
+
const maybeExclusiveMinimum = schema.exclusiveMinimum;
|
|
81
|
+
const maybeExclusiveMaximum = schema.exclusiveMaximum;
|
|
82
|
+
if (typeof maybeMinimum === "number")
|
|
83
|
+
descriptor.minimum = maybeMinimum;
|
|
84
|
+
if (typeof maybeMaximum === "number")
|
|
85
|
+
descriptor.maximum = maybeMaximum;
|
|
86
|
+
if (typeof maybeExclusiveMinimum === "number")
|
|
87
|
+
descriptor.minimum = maybeExclusiveMinimum;
|
|
88
|
+
if (typeof maybeExclusiveMaximum === "number")
|
|
89
|
+
descriptor.maximum = maybeExclusiveMaximum;
|
|
90
|
+
if (schema.format === "finite")
|
|
91
|
+
descriptor.finite = true;
|
|
92
|
+
if (Array.isArray(schema.anyOf) || Array.isArray(schema.oneOf)) {
|
|
93
|
+
for (const item of [...(schema.anyOf ?? []), ...(schema.oneOf ?? [])]) {
|
|
94
|
+
if (isRecord(item) && item.type === "null")
|
|
95
|
+
descriptor.nullable = true;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (isObjectSchema(schema)) {
|
|
100
|
+
descriptor.required = schema.required ?? [];
|
|
101
|
+
descriptor.properties = Object.fromEntries(Object.entries(schema.properties ?? {}).map(([key, property]) => [key, {
|
|
102
|
+
...describeJsonSchema(property),
|
|
103
|
+
optional: !(schema.required ?? []).includes(key),
|
|
104
|
+
}]));
|
|
105
|
+
}
|
|
106
|
+
return descriptor;
|
|
107
|
+
}
|
|
108
|
+
function normalizeObjectArgs(schema, args, path, options, changedPaths) {
|
|
109
|
+
let next = { ...args };
|
|
110
|
+
const properties = schema.properties ?? {};
|
|
111
|
+
if (options.allowDropUnknownKeys && schema.additionalProperties === false) {
|
|
112
|
+
for (const key of Object.keys(next)) {
|
|
113
|
+
if (!(key in properties)) {
|
|
114
|
+
delete next[key];
|
|
115
|
+
addChangedPath(changedPaths, `${path}.${key}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
for (const [key, property] of Object.entries(properties)) {
|
|
120
|
+
if (!(key in next))
|
|
121
|
+
continue;
|
|
122
|
+
const before = next[key];
|
|
123
|
+
const after = normalizeValueBySchema(property, before, `${path}.${key}`, options, changedPaths);
|
|
124
|
+
if (after !== before)
|
|
125
|
+
next = { ...next, [key]: after };
|
|
126
|
+
}
|
|
127
|
+
return next;
|
|
128
|
+
}
|
|
129
|
+
function normalizeValueBySchema(schema, value, path, options, changedPaths) {
|
|
130
|
+
let next = value;
|
|
131
|
+
if (options.allowArrayStringSplit && schema.type === "array" && schema.items?.type === "string" && typeof next === "string") {
|
|
132
|
+
next = splitShellLikeString(next);
|
|
133
|
+
addChangedPath(changedPaths, path);
|
|
134
|
+
}
|
|
135
|
+
if (options.allowCoercion && expectsNumber(schema) && typeof next === "string" && next.trim() !== "") {
|
|
136
|
+
const numeric = Number(next);
|
|
137
|
+
if (Number.isFinite(numeric)) {
|
|
138
|
+
next = numeric;
|
|
139
|
+
addChangedPath(changedPaths, path);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (options.allowCoercion && expectsInteger(schema) && typeof next === "number" && Number.isFinite(next)) {
|
|
143
|
+
const integer = Math.trunc(next);
|
|
144
|
+
if (integer !== next && Math.abs(next - integer) < Number.EPSILON * 100) {
|
|
145
|
+
next = integer;
|
|
146
|
+
addChangedPath(changedPaths, path);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (options.allowClamp && typeof next === "number" && Number.isFinite(next)) {
|
|
150
|
+
const minimum = readNumber(schema, "minimum");
|
|
151
|
+
const maximum = readNumber(schema, "maximum");
|
|
152
|
+
const clamped = Math.min(maximum ?? next, Math.max(minimum ?? next, next));
|
|
153
|
+
if (clamped !== next) {
|
|
154
|
+
next = clamped;
|
|
155
|
+
addChangedPath(changedPaths, path);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (isObjectSchema(schema) && isRecord(next)) {
|
|
159
|
+
return normalizeObjectArgs(schema, next, path, options, changedPaths);
|
|
160
|
+
}
|
|
161
|
+
return next;
|
|
162
|
+
}
|
|
163
|
+
function expectsNumber(schema) {
|
|
164
|
+
return includesType(schema.type, "number") || includesType(schema.type, "integer");
|
|
165
|
+
}
|
|
166
|
+
function expectsInteger(schema) {
|
|
167
|
+
return includesType(schema.type, "integer");
|
|
168
|
+
}
|
|
169
|
+
function readNumber(schema, key) {
|
|
170
|
+
const value = schema[key];
|
|
171
|
+
return typeof value === "number" ? value : undefined;
|
|
172
|
+
}
|
|
173
|
+
function splitShellLikeString(value) {
|
|
174
|
+
const result = value.match(/"([^"]*)"|'([^']*)'|[^\s]+/gu) ?? [];
|
|
175
|
+
return result.map((item) => item.replace(/^["']|["']$/gu, ""));
|
|
176
|
+
}
|
|
177
|
+
function addChangedPath(paths, path) {
|
|
178
|
+
if (!paths.includes(path))
|
|
179
|
+
paths.push(path);
|
|
180
|
+
}
|
|
55
181
|
function isObjectSchema(schema) {
|
|
56
182
|
return includesType(schema.type, "object") || Boolean(schema.properties);
|
|
57
183
|
}
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAC9D,IAAI,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,CAAe,CAAC;IACrE,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAe,CAAC;IAC9E,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA4B;IAClE,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA4B,EAC5B,IAA6B,EAC7B,UAAoC,EAAE;IAEtC,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAClF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA8B,EAAE,KAAc,EAAE,IAAI,GAAG,GAAG;IACvF,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC;gBACN,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,IAAI;gBACJ,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,MAAM,CAAC,IAAI;gBACrB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,MAAkB,EAAE,KAAc,EAAE,IAAY;IACtE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACpH,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,IAAI,GAAG,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAkB;IAC5C,MAAM,UAAU,GAAqB;QACnC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;KAClD,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IACpE,IAAI,MAAM,CAAC,KAAK;QAAE,UAAU,CAAC,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,qBAAqB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACtD,MAAM,qBAAqB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACtD,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;QACxE,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;QACxE,IAAI,OAAO,qBAAqB,KAAK,QAAQ;YAAE,UAAU,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAC1F,IAAI,OAAO,qBAAqB,KAAK,QAAQ;YAAE,UAAU,CAAC,OAAO,GAAG,qBAAqB,CAAC;QAC1F,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;oBAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5C,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE;gBACrE,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;aACjD,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAkB,EAClB,IAA6B,EAC7B,IAAY,EACZ,OAAiC,EACjC,YAAsB;IAEtB,IAAI,IAAI,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,oBAAoB,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;QAC1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,YAAY,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;YAAE,SAAS;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAChG,IAAI,KAAK,KAAK,MAAM;YAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAkB,EAClB,KAAc,EACd,IAAY,EACZ,OAAiC,EACjC,YAAsB;IAEtB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,CAAC,qBAAqB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5H,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAClC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrG,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,GAAG,OAAO,CAAC;YACf,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;YACxE,IAAI,GAAG,OAAO,CAAC;YACf,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,GAAG,OAAO,CAAC;YACf,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,cAAc,CAAC,MAAkB;IACxC,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,MAAkB,EAAE,GAA0B;IAChE,MAAM,KAAK,GAAI,MAAkC,CAAC,GAAG,CAAC,CAAC;IACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,KAAe,EAAE,IAAY;IACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,MAAkB;IACxC,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,IAAuB,EAAE,KAAc;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAc;IACrD,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;IACxD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,KAAK,IAAI,CAAC;IAC3C,OAAO,OAAO,KAAK,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,IAAmC,EAAE,QAAgB;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC3E,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,8 +6,29 @@ export type JsonSchema = {
|
|
|
6
6
|
enum?: unknown[];
|
|
7
7
|
items?: JsonSchema;
|
|
8
8
|
additionalProperties?: boolean;
|
|
9
|
+
minimum?: number;
|
|
10
|
+
maximum?: number;
|
|
11
|
+
exclusiveMinimum?: number;
|
|
12
|
+
exclusiveMaximum?: number;
|
|
13
|
+
format?: string;
|
|
14
|
+
anyOf?: JsonSchema[];
|
|
15
|
+
oneOf?: JsonSchema[];
|
|
9
16
|
};
|
|
10
17
|
export type ToolSchema = JsonSchema | z.ZodType | z.ZodRawShape;
|
|
18
|
+
export type SchemaDescriptor = {
|
|
19
|
+
type?: string | string[];
|
|
20
|
+
optional?: boolean;
|
|
21
|
+
nullable?: boolean;
|
|
22
|
+
enum?: unknown[];
|
|
23
|
+
minimum?: number;
|
|
24
|
+
maximum?: number;
|
|
25
|
+
integer?: boolean;
|
|
26
|
+
finite?: boolean;
|
|
27
|
+
items?: SchemaDescriptor;
|
|
28
|
+
properties?: Record<string, SchemaDescriptor>;
|
|
29
|
+
required?: string[];
|
|
30
|
+
additionalProperties?: boolean;
|
|
31
|
+
};
|
|
11
32
|
export type ToolDefinition = {
|
|
12
33
|
name: string;
|
|
13
34
|
description?: string;
|
|
@@ -31,6 +52,36 @@ export type GuardPolicy = {
|
|
|
31
52
|
expected?: "any" | "none" | "some";
|
|
32
53
|
allowUnknownTools?: boolean;
|
|
33
54
|
};
|
|
55
|
+
export type ArgsNormalizationOptions = {
|
|
56
|
+
allowCoercion?: boolean;
|
|
57
|
+
allowClamp?: boolean;
|
|
58
|
+
allowDropUnknownKeys?: boolean;
|
|
59
|
+
allowArrayStringSplit?: boolean;
|
|
60
|
+
};
|
|
61
|
+
export type ArgsNormalizationResult = {
|
|
62
|
+
args: Record<string, unknown>;
|
|
63
|
+
changedPaths: string[];
|
|
64
|
+
};
|
|
65
|
+
export type RepairDiagnostics = {
|
|
66
|
+
changedPaths: string[];
|
|
67
|
+
repairReason?: string;
|
|
68
|
+
source: "schema" | "model" | "custom";
|
|
69
|
+
confidence?: number;
|
|
70
|
+
issuesBefore?: ToolCallIssue[];
|
|
71
|
+
issuesAfter?: ToolCallIssue[];
|
|
72
|
+
};
|
|
73
|
+
export type RepairProposal = {
|
|
74
|
+
source: RepairDiagnostics["source"];
|
|
75
|
+
original: ToolCall[];
|
|
76
|
+
proposed: ToolCall[];
|
|
77
|
+
diagnostics: RepairDiagnostics;
|
|
78
|
+
issuesBefore: ToolCallIssue[];
|
|
79
|
+
issuesAfter: ToolCallIssue[];
|
|
80
|
+
};
|
|
81
|
+
export type RepairPolicy = ArgsNormalizationOptions & {
|
|
82
|
+
allowModelRepair?: boolean;
|
|
83
|
+
onProposedRepair?: (proposal: RepairProposal) => Promise<boolean> | boolean;
|
|
84
|
+
};
|
|
34
85
|
export type GuardResult = {
|
|
35
86
|
ok: boolean;
|
|
36
87
|
calls: ToolCall[];
|
|
@@ -52,10 +103,13 @@ export type ReliableToolCallsInput = {
|
|
|
52
103
|
tools: ToolDefinition[];
|
|
53
104
|
calls: ToolCall[];
|
|
54
105
|
policy?: GuardPolicy;
|
|
106
|
+
repairPolicy?: RepairPolicy;
|
|
55
107
|
repair?: RepairFunction;
|
|
108
|
+
repairSource?: "model" | "custom";
|
|
56
109
|
mode?: "guard" | "repair" | "review";
|
|
57
110
|
};
|
|
58
111
|
export type ReliableToolCallsResult = GuardResult & {
|
|
59
112
|
repaired: boolean;
|
|
60
113
|
original: ToolCall[];
|
|
114
|
+
diagnostics?: RepairDiagnostics[];
|
|
61
115
|
};
|