@typia/utils 12.0.0-dev.20260306 → 12.0.0-dev.20260307
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 +5 -5
- package/lib/converters/LlmSchemaConverter.d.ts +1 -20
- package/lib/converters/LlmSchemaConverter.js +0 -189
- package/lib/converters/LlmSchemaConverter.js.map +1 -1
- package/lib/converters/LlmSchemaConverter.mjs +0 -227
- package/lib/converters/LlmSchemaConverter.mjs.map +1 -1
- package/lib/http/HttpLlm.d.ts +2 -32
- package/lib/http/HttpLlm.js +4 -27
- package/lib/http/HttpLlm.js.map +1 -1
- package/lib/http/HttpLlm.mjs +1 -24
- package/lib/http/HttpLlm.mjs.map +1 -1
- package/lib/http/internal/HttpLlmApplicationComposer.js +13 -19
- package/lib/http/internal/HttpLlmApplicationComposer.js.map +1 -1
- package/lib/http/internal/HttpLlmApplicationComposer.mjs +7 -9
- package/lib/http/internal/HttpLlmApplicationComposer.mjs.map +1 -1
- package/lib/index.mjs +10 -10
- package/lib/utils/LlmJson.d.ts +67 -0
- package/lib/utils/LlmJson.js +106 -0
- package/lib/utils/LlmJson.js.map +1 -0
- package/lib/utils/LlmJson.mjs +113 -0
- package/lib/utils/LlmJson.mjs.map +1 -0
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/index.mjs +1 -1
- package/lib/utils/internal/coerceLlmArguments.d.ts +1 -0
- package/lib/utils/internal/coerceLlmArguments.js +233 -0
- package/lib/utils/internal/coerceLlmArguments.js.map +1 -0
- package/lib/utils/internal/coerceLlmArguments.mjs +232 -0
- package/lib/utils/internal/coerceLlmArguments.mjs.map +1 -0
- package/lib/utils/internal/parseLenientJson.d.ts +1 -0
- package/lib/utils/internal/parseLenientJson.js +639 -0
- package/lib/utils/internal/parseLenientJson.js.map +1 -0
- package/lib/utils/internal/parseLenientJson.mjs +640 -0
- package/lib/utils/internal/parseLenientJson.mjs.map +1 -0
- package/lib/utils/internal/stringifyValidationFailure.d.ts +2 -0
- package/lib/utils/{stringifyValidationFailure.js → internal/stringifyValidationFailure.js} +55 -63
- package/lib/utils/internal/stringifyValidationFailure.js.map +1 -0
- package/lib/utils/{stringifyValidationFailure.mjs → internal/stringifyValidationFailure.mjs} +54 -63
- package/lib/utils/internal/stringifyValidationFailure.mjs.map +1 -0
- package/lib/validators/internal/OpenApiOneOfValidator.mjs +5 -1
- package/lib/validators/internal/OpenApiOneOfValidator.mjs.map +1 -1
- package/package.json +2 -2
- package/src/converters/LlmSchemaConverter.ts +0 -277
- package/src/http/HttpLlm.ts +1 -44
- package/src/http/internal/HttpLlmApplicationComposer.ts +3 -9
- package/src/utils/LlmJson.ts +115 -0
- package/src/utils/index.ts +1 -1
- package/src/utils/internal/coerceLlmArguments.ts +297 -0
- package/src/utils/internal/parseLenientJson.ts +731 -0
- package/src/utils/{stringifyValidationFailure.ts → internal/stringifyValidationFailure.ts} +66 -70
- package/lib/http/internal/LlmDataMerger.d.ts +0 -48
- package/lib/http/internal/LlmDataMerger.js +0 -60
- package/lib/http/internal/LlmDataMerger.js.map +0 -1
- package/lib/http/internal/LlmDataMerger.mjs +0 -59
- package/lib/http/internal/LlmDataMerger.mjs.map +0 -1
- package/lib/utils/stringifyValidationFailure.d.ts +0 -25
- package/lib/utils/stringifyValidationFailure.js.map +0 -1
- package/lib/utils/stringifyValidationFailure.mjs.map +0 -1
- package/src/http/internal/LlmDataMerger.ts +0 -73
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { LlmTypeChecker } from '../../validators/LlmTypeChecker.mjs';
|
|
2
|
+
import { parseLenientJson } from './parseLenientJson.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Coerce LLM arguments by parsing double-stringified JSON values.
|
|
6
|
+
*
|
|
7
|
+
* When LLM produces stringified JSON for non-string schema types, this function
|
|
8
|
+
* attempts to parse them using the lenient JSON parser.
|
|
9
|
+
*
|
|
10
|
+
* Only applies coercion when value is string but schema expects non-string.
|
|
11
|
+
* Type validation is handled separately by `ILlmFunction.validate`.
|
|
12
|
+
*
|
|
13
|
+
* @param value Parsed JSON value (potentially with stringified nested values)
|
|
14
|
+
* @param parameters LLM parameters schema
|
|
15
|
+
* @returns Coerced value with double-stringified JSON parsed
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
function coerceLlmArguments(value, parameters) {
|
|
19
|
+
return coerceValue(value, parameters, parameters.$defs);
|
|
20
|
+
}
|
|
21
|
+
function coerceValue(value, schema, $defs) {
|
|
22
|
+
// Resolve reference
|
|
23
|
+
if (LlmTypeChecker.isReference(schema)) {
|
|
24
|
+
const key = schema.$ref.replace("#/$defs/", "");
|
|
25
|
+
const resolved = $defs?.[key];
|
|
26
|
+
if (resolved !== undefined) {
|
|
27
|
+
return coerceValue(value, resolved, $defs);
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
// Handle anyOf
|
|
32
|
+
if (LlmTypeChecker.isAnyOf(schema)) {
|
|
33
|
+
// Value is string
|
|
34
|
+
if (typeof value === "string") {
|
|
35
|
+
// If string is in union, don't parse - it's valid as-is
|
|
36
|
+
const hasString = schema.anyOf.some((s) => LlmTypeChecker.isString(resolveSchema(s, $defs)));
|
|
37
|
+
if (hasString) {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
// String value but no string in union - try to parse
|
|
41
|
+
const parsed = parseLenientJson(value);
|
|
42
|
+
if (parsed.success) {
|
|
43
|
+
// Find uniquely matching schema via type + x-discriminator
|
|
44
|
+
const matched = findMatchingAnyOfSchema(parsed.data, schema, $defs);
|
|
45
|
+
if (matched !== undefined) {
|
|
46
|
+
return coerceValue(parsed.data, matched, $defs);
|
|
47
|
+
}
|
|
48
|
+
return parsed.data;
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
// Value is object - find matching schema via discriminated union
|
|
53
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
54
|
+
const matched = findMatchingObjectInAnyOf(value, schema, $defs);
|
|
55
|
+
if (matched !== undefined) {
|
|
56
|
+
return coerceValue(value, matched, $defs);
|
|
57
|
+
}
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
// Value is array - find matching array schema (only if unambiguous)
|
|
61
|
+
if (Array.isArray(value)) {
|
|
62
|
+
const arraySchemas = schema.anyOf.filter((s) => LlmTypeChecker.isArray(resolveSchema(s, $defs)));
|
|
63
|
+
if (arraySchemas.length === 1) {
|
|
64
|
+
return coerceValue(value, arraySchemas[0], $defs);
|
|
65
|
+
}
|
|
66
|
+
// Multiple or no array schemas - skip coercion
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
// Non-string primitive or no matching schema - return as-is
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
// String schema - no coercion needed (value stays as-is)
|
|
73
|
+
if (LlmTypeChecker.isString(schema)) {
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
// Unknown schema - no coercion needed
|
|
77
|
+
if (LlmTypeChecker.isUnknown(schema)) {
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
// Value is string but schema is non-string - try to parse
|
|
81
|
+
if (typeof value === "string") {
|
|
82
|
+
const parsed = parseLenientJson(value);
|
|
83
|
+
if (parsed.success) {
|
|
84
|
+
// Continue coercion on the parsed value (for nested stringified values)
|
|
85
|
+
return coerceValue(parsed.data, schema, $defs);
|
|
86
|
+
}
|
|
87
|
+
// Parse failed, return original - validate will catch type error
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
// Value is array and schema is array - recurse into items
|
|
91
|
+
if (Array.isArray(value) && LlmTypeChecker.isArray(schema)) {
|
|
92
|
+
return value.map((item) => coerceValue(item, schema.items, $defs));
|
|
93
|
+
}
|
|
94
|
+
// Value is object and schema is object - recurse into properties
|
|
95
|
+
if (typeof value === "object" &&
|
|
96
|
+
value !== null &&
|
|
97
|
+
!Array.isArray(value) &&
|
|
98
|
+
LlmTypeChecker.isObject(schema)) {
|
|
99
|
+
return coerceObject(value, schema, $defs);
|
|
100
|
+
}
|
|
101
|
+
// Everything else (null, boolean, number, integer) - return as-is
|
|
102
|
+
return value;
|
|
103
|
+
}
|
|
104
|
+
function coerceObject(value, schema, $defs) {
|
|
105
|
+
const result = {};
|
|
106
|
+
// Coerce known properties
|
|
107
|
+
for (const [key, propSchema] of Object.entries(schema.properties)) {
|
|
108
|
+
if (key in value) {
|
|
109
|
+
result[key] = coerceValue(value[key], propSchema, $defs);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Preserve additional properties - let validation handle rejection
|
|
113
|
+
const additionalSchema = typeof schema.additionalProperties === "object"
|
|
114
|
+
? schema.additionalProperties
|
|
115
|
+
: undefined;
|
|
116
|
+
for (const key of Object.keys(value)) {
|
|
117
|
+
if (!(key in schema.properties)) {
|
|
118
|
+
result[key] = additionalSchema
|
|
119
|
+
? coerceValue(value[key], additionalSchema, $defs)
|
|
120
|
+
: value[key];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
function resolveSchema(schema, $defs) {
|
|
126
|
+
if (LlmTypeChecker.isReference(schema)) {
|
|
127
|
+
const key = schema.$ref.replace("#/$defs/", "");
|
|
128
|
+
const resolved = $defs?.[key];
|
|
129
|
+
if (resolved !== undefined) {
|
|
130
|
+
return resolveSchema(resolved, $defs);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return schema;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Check if value roughly matches the expected schema type. Used for anyOf
|
|
137
|
+
* matching after parsing.
|
|
138
|
+
*/
|
|
139
|
+
function matchesSchemaType(value, schema, $defs) {
|
|
140
|
+
if (LlmTypeChecker.isReference(schema)) {
|
|
141
|
+
const key = schema.$ref.replace("#/$defs/", "");
|
|
142
|
+
const resolved = $defs?.[key];
|
|
143
|
+
if (resolved)
|
|
144
|
+
return matchesSchemaType(value, resolved, $defs);
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
if (LlmTypeChecker.isNull(schema))
|
|
148
|
+
return value === null;
|
|
149
|
+
if (LlmTypeChecker.isBoolean(schema))
|
|
150
|
+
return typeof value === "boolean";
|
|
151
|
+
if (LlmTypeChecker.isInteger(schema))
|
|
152
|
+
return typeof value === "number" && Number.isInteger(value);
|
|
153
|
+
if (LlmTypeChecker.isNumber(schema))
|
|
154
|
+
return typeof value === "number";
|
|
155
|
+
if (LlmTypeChecker.isString(schema))
|
|
156
|
+
return typeof value === "string";
|
|
157
|
+
if (LlmTypeChecker.isArray(schema))
|
|
158
|
+
return Array.isArray(value);
|
|
159
|
+
if (LlmTypeChecker.isObject(schema))
|
|
160
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
161
|
+
if (LlmTypeChecker.isUnknown(schema))
|
|
162
|
+
return true;
|
|
163
|
+
if (LlmTypeChecker.isAnyOf(schema))
|
|
164
|
+
return schema.anyOf.some((s) => matchesSchemaType(value, s, $defs));
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Find the uniquely matching schema for a value among anyOf alternatives. Uses
|
|
169
|
+
* `x-discriminator` for object disambiguation. Returns undefined if no unique
|
|
170
|
+
* match can be determined.
|
|
171
|
+
*/
|
|
172
|
+
function findMatchingAnyOfSchema(value, schema, $defs) {
|
|
173
|
+
const matching = schema.anyOf.filter((s) => matchesSchemaType(value, s, $defs));
|
|
174
|
+
if (matching.length === 1)
|
|
175
|
+
return matching[0];
|
|
176
|
+
if (matching.length === 0)
|
|
177
|
+
return undefined;
|
|
178
|
+
// Multiple type matches - try x-discriminator for objects
|
|
179
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
180
|
+
return findMatchingObjectInAnyOf(value, schema, $defs);
|
|
181
|
+
}
|
|
182
|
+
return undefined;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Find the matching object schema among anyOf using `x-discriminator`. If only
|
|
186
|
+
* one object schema exists, returns it directly. If multiple exist but no
|
|
187
|
+
* x-discriminator, gives up.
|
|
188
|
+
*/
|
|
189
|
+
function findMatchingObjectInAnyOf(value, schema, $defs) {
|
|
190
|
+
const objectSchemas = schema.anyOf.filter((s) => LlmTypeChecker.isObject(resolveSchema(s, $defs)));
|
|
191
|
+
if (objectSchemas.length === 0)
|
|
192
|
+
return undefined;
|
|
193
|
+
if (objectSchemas.length === 1)
|
|
194
|
+
return objectSchemas[0];
|
|
195
|
+
// Multiple object schemas - require x-discriminator
|
|
196
|
+
const discriminator = schema["x-discriminator"];
|
|
197
|
+
if (discriminator === undefined)
|
|
198
|
+
return undefined;
|
|
199
|
+
const key = discriminator.propertyName;
|
|
200
|
+
const discriminatorValue = value[key];
|
|
201
|
+
// Use mapping for direct $ref lookup
|
|
202
|
+
if (discriminator.mapping !== undefined &&
|
|
203
|
+
typeof discriminatorValue === "string") {
|
|
204
|
+
const ref = discriminator.mapping[discriminatorValue];
|
|
205
|
+
if (ref !== undefined) {
|
|
206
|
+
for (const s of schema.anyOf) {
|
|
207
|
+
if (LlmTypeChecker.isReference(s) && s.$ref === ref) {
|
|
208
|
+
return s;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
// No mapping - match by enum values on the discriminator property
|
|
215
|
+
for (const s of objectSchemas) {
|
|
216
|
+
const resolved = resolveSchema(s, $defs);
|
|
217
|
+
if (!LlmTypeChecker.isObject(resolved))
|
|
218
|
+
continue;
|
|
219
|
+
const propSchema = resolved.properties?.[key];
|
|
220
|
+
if (propSchema === undefined)
|
|
221
|
+
continue;
|
|
222
|
+
const resolvedProp = resolveSchema(propSchema, $defs);
|
|
223
|
+
if (LlmTypeChecker.isString(resolvedProp) &&
|
|
224
|
+
resolvedProp.enum?.includes(discriminatorValue)) {
|
|
225
|
+
return s;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export { coerceLlmArguments };
|
|
232
|
+
//# sourceMappingURL=coerceLlmArguments.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerceLlmArguments.mjs","sources":["../../../src/utils/internal/coerceLlmArguments.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|