@typia/utils 12.0.0-dev.20260307 → 12.0.0-dev.20260309

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.
@@ -1,3 +1,108 @@
1
+ /**
2
+ * Parse lenient JSON that may be incomplete or malformed.
3
+ *
4
+ * Handles:
5
+ *
6
+ * - Unclosed brackets `{`, `[` - parses as much as possible
7
+ * - Trailing commas `[1, 2, ]` - ignores them
8
+ * - Unclosed strings `"hello` - returns partial string
9
+ * - Junk text before JSON (LLM often adds explanatory text)
10
+ * - Markdown code blocks (extracts content from `json ... `)
11
+ * - Incomplete keywords like `tru`, `fal`, `nul`
12
+ * - Unicode escape sequences including surrogate pairs (emoji)
13
+ * - JavaScript-style comments (single-line and multi-line)
14
+ * - Unquoted object keys (JavaScript identifier style)
15
+ *
16
+ * @param input Raw JSON string (potentially incomplete)
17
+ * @returns Parse result with data, original input, and any errors
18
+ * @internal
19
+ */
20
+ function parseLenientJson(input) {
21
+ // Try native JSON.parse first (faster for valid JSON)
22
+ try {
23
+ return {
24
+ success: true,
25
+ data: JSON.parse(input),
26
+ };
27
+ }
28
+ catch {
29
+ // Fall back to lenient parser
30
+ }
31
+ // Extract markdown code block if present
32
+ const codeBlockContent = extractMarkdownCodeBlock(input);
33
+ const jsonSource = codeBlockContent !== null ? codeBlockContent : input;
34
+ // Check if input is empty or whitespace-only
35
+ const trimmed = jsonSource.trim();
36
+ if (trimmed.length === 0) {
37
+ return {
38
+ success: false,
39
+ data: undefined,
40
+ input,
41
+ errors: [
42
+ {
43
+ path: "$input",
44
+ expected: "JSON value",
45
+ value: "empty input",
46
+ },
47
+ ],
48
+ };
49
+ }
50
+ // Check if input starts with a primitive value (no junk prefix skipping needed)
51
+ if (startsWithPrimitive(trimmed)) {
52
+ const errors = [];
53
+ const parser = new LenientJsonParser(jsonSource, errors);
54
+ const data = parser.parse();
55
+ if (errors.length > 0) {
56
+ return { success: false, data: data, input, errors };
57
+ }
58
+ return { success: true, data: data };
59
+ }
60
+ // Find JSON start position (skip junk prefix from LLM)
61
+ const jsonStart = findJsonStart(jsonSource);
62
+ if (jsonStart === -1) {
63
+ // No object/array found - check if there's a primitive after skipping comments
64
+ const skipped = skipCommentsAndWhitespace(jsonSource);
65
+ if (skipped.length > 0 && startsWithPrimitive(skipped)) {
66
+ const errors = [];
67
+ const parser = new LenientJsonParser(jsonSource, errors);
68
+ const data = parser.parse();
69
+ if (errors.length > 0) {
70
+ return { success: false, data: data, input, errors };
71
+ }
72
+ return { success: true, data: data };
73
+ }
74
+ // No valid JSON found - return failure
75
+ return {
76
+ success: false,
77
+ data: undefined,
78
+ input,
79
+ errors: [
80
+ {
81
+ path: "$input",
82
+ expected: "JSON value",
83
+ value: jsonSource,
84
+ },
85
+ ],
86
+ };
87
+ }
88
+ // Extract JSON portion (skip junk prefix)
89
+ const jsonInput = jsonStart > 0 ? jsonSource.slice(jsonStart) : jsonSource;
90
+ const errors = [];
91
+ const parser = new LenientJsonParser(jsonInput, errors);
92
+ const data = parser.parse();
93
+ if (errors.length > 0) {
94
+ return {
95
+ success: false,
96
+ data: data,
97
+ input,
98
+ errors,
99
+ };
100
+ }
101
+ return {
102
+ success: true,
103
+ data: data,
104
+ };
105
+ }
1
106
  /**
2
107
  * Maximum nesting depth to prevent stack overflow attacks.
3
108
  *
@@ -80,23 +185,112 @@ function extractMarkdownCodeBlock(input) {
80
185
  * - "Here is your JSON: {"name": "test"}"
81
186
  * - "Sure! [1, 2, 3]"
82
187
  *
83
- * This function only looks for `{` or `[` to skip junk prefix. Primitive values
84
- * (strings, numbers, booleans) are handled directly by the parser.
188
+ * This function skips over comments and strings to find the real JSON start.
189
+ * Primitive values (strings, numbers, booleans) are handled directly by the
190
+ * parser.
85
191
  *
86
192
  * @param input Text that may contain JSON with junk prefix
87
- * @returns Index of first `{` or `[`, or -1 if not found
193
+ * @returns Index of first `{` or `[` outside comments/strings, or -1 if not
194
+ * found
88
195
  * @internal
89
196
  */
90
197
  function findJsonStart(input) {
91
- const objStart = input.indexOf("{");
92
- const arrStart = input.indexOf("[");
93
- if (objStart === -1 && arrStart === -1)
94
- return -1;
95
- if (objStart === -1)
96
- return arrStart;
97
- if (arrStart === -1)
98
- return objStart;
99
- return Math.min(objStart, arrStart);
198
+ let pos = 0;
199
+ const len = input.length;
200
+ while (pos < len) {
201
+ const ch = input[pos];
202
+ // Found JSON start
203
+ if (ch === "{" || ch === "[") {
204
+ return pos;
205
+ }
206
+ // Skip single-line comment
207
+ if (ch === "/" && pos + 1 < len && input[pos + 1] === "/") {
208
+ pos += 2;
209
+ while (pos < len && input[pos] !== "\n" && input[pos] !== "\r") {
210
+ pos++;
211
+ }
212
+ continue;
213
+ }
214
+ // Skip multi-line comment
215
+ if (ch === "/" && pos + 1 < len && input[pos + 1] === "*") {
216
+ pos += 2;
217
+ while (pos + 1 < len) {
218
+ if (input[pos] === "*" && input[pos + 1] === "/") {
219
+ pos += 2;
220
+ break;
221
+ }
222
+ pos++;
223
+ }
224
+ // If unclosed comment, move to end
225
+ if (pos + 1 >= len) {
226
+ pos = len;
227
+ }
228
+ continue;
229
+ }
230
+ // Skip string literal (to avoid matching { or [ inside strings)
231
+ if (ch === '"') {
232
+ pos++;
233
+ while (pos < len) {
234
+ if (input[pos] === "\\") {
235
+ pos += 2; // skip escape sequence
236
+ continue;
237
+ }
238
+ if (input[pos] === '"') {
239
+ pos++;
240
+ break;
241
+ }
242
+ pos++;
243
+ }
244
+ continue;
245
+ }
246
+ pos++;
247
+ }
248
+ return -1;
249
+ }
250
+ /**
251
+ * Skip leading comments and whitespace from input.
252
+ *
253
+ * @param input Text that may start with comments or whitespace
254
+ * @returns Input with leading comments and whitespace removed
255
+ * @internal
256
+ */
257
+ function skipCommentsAndWhitespace(input) {
258
+ let pos = 0;
259
+ const len = input.length;
260
+ while (pos < len) {
261
+ const ch = input[pos];
262
+ // Skip whitespace
263
+ if (ch === " " || ch === "\t" || ch === "\n" || ch === "\r") {
264
+ pos++;
265
+ continue;
266
+ }
267
+ // Skip single-line comment
268
+ if (ch === "/" && pos + 1 < len && input[pos + 1] === "/") {
269
+ pos += 2;
270
+ while (pos < len && input[pos] !== "\n" && input[pos] !== "\r") {
271
+ pos++;
272
+ }
273
+ continue;
274
+ }
275
+ // Skip multi-line comment
276
+ if (ch === "/" && pos + 1 < len && input[pos + 1] === "*") {
277
+ pos += 2;
278
+ while (pos + 1 < len) {
279
+ if (input[pos] === "*" && input[pos + 1] === "/") {
280
+ pos += 2;
281
+ break;
282
+ }
283
+ pos++;
284
+ }
285
+ if (pos + 1 >= len) {
286
+ pos = len;
287
+ }
288
+ continue;
289
+ }
290
+ // Not whitespace or comment
291
+ break;
292
+ }
293
+ return input.slice(pos);
100
294
  }
101
295
  /**
102
296
  * Check if input starts with a valid JSON primitive token.
@@ -120,94 +314,21 @@ function startsWithPrimitive(input) {
120
314
  input.startsWith("false") ||
121
315
  input.startsWith("null"))
122
316
  return true;
123
- // Partial keywords
317
+ // Partial keywords (note: "null" requires at least 2 chars to match parseKeywordOrIdentifier logic)
124
318
  if ("true".startsWith(input) ||
125
319
  "false".startsWith(input) ||
126
- "null".startsWith(input))
320
+ ("null".startsWith(input) && input.length >= 2))
321
+ return true;
322
+ // Boolean string variants (note: "n" is intentionally excluded)
323
+ const lower = input.toLowerCase();
324
+ if (lower === "yes" ||
325
+ lower === "y" ||
326
+ lower === "on" ||
327
+ lower === "no" ||
328
+ lower === "off")
127
329
  return true;
128
330
  return false;
129
331
  }
130
- /**
131
- * Parse lenient JSON that may be incomplete or malformed.
132
- *
133
- * Handles:
134
- *
135
- * - Unclosed brackets `{`, `[` - parses as much as possible
136
- * - Trailing commas `[1, 2, ]` - ignores them
137
- * - Unclosed strings `"hello` - returns partial string
138
- * - Junk text before JSON (LLM often adds explanatory text)
139
- * - Markdown code blocks (extracts content from `json ... `)
140
- * - Incomplete keywords like `tru`, `fal`, `nul`
141
- * - Unicode escape sequences including surrogate pairs (emoji)
142
- * - JavaScript-style comments (single-line and multi-line)
143
- * - Unquoted object keys (JavaScript identifier style)
144
- *
145
- * @param input Raw JSON string (potentially incomplete)
146
- * @returns Parse result with data, original input, and any errors
147
- * @internal
148
- */
149
- function parseLenientJson(input) {
150
- // Try native JSON.parse first (faster for valid JSON)
151
- try {
152
- return {
153
- success: true,
154
- data: JSON.parse(input),
155
- };
156
- }
157
- catch {
158
- // Fall back to lenient parser
159
- }
160
- // Extract markdown code block if present
161
- const codeBlockContent = extractMarkdownCodeBlock(input);
162
- const jsonSource = codeBlockContent !== null ? codeBlockContent : input;
163
- // Check if input is empty or whitespace-only
164
- const trimmed = jsonSource.trim();
165
- if (trimmed.length === 0) {
166
- const errors = [];
167
- const parser = new LenientJsonParser(jsonSource, errors);
168
- const data = parser.parse();
169
- if (errors.length > 0) {
170
- return { success: false, data: data, input, errors };
171
- }
172
- return { success: true, data: data };
173
- }
174
- // Check if input starts with a primitive value (no junk prefix skipping needed)
175
- if (startsWithPrimitive(trimmed)) {
176
- const errors = [];
177
- const parser = new LenientJsonParser(jsonSource, errors);
178
- const data = parser.parse();
179
- if (errors.length > 0) {
180
- return { success: false, data: data, input, errors };
181
- }
182
- return { success: true, data: data };
183
- }
184
- // Find JSON start position (skip junk prefix from LLM)
185
- const jsonStart = findJsonStart(jsonSource);
186
- if (jsonStart === -1) {
187
- // No JSON found - return empty object for lenient behavior
188
- return {
189
- success: true,
190
- data: {},
191
- };
192
- }
193
- // Extract JSON portion (skip junk prefix)
194
- const jsonInput = jsonStart > 0 ? jsonSource.slice(jsonStart) : jsonSource;
195
- const errors = [];
196
- const parser = new LenientJsonParser(jsonInput, errors);
197
- const data = parser.parse();
198
- if (errors.length > 0) {
199
- return {
200
- success: false,
201
- data: data,
202
- input,
203
- errors,
204
- };
205
- }
206
- return {
207
- success: true,
208
- data: data,
209
- };
210
- }
211
332
  /**
212
333
  * Lenient JSON parser that handles incomplete JSON.
213
334
  *
@@ -256,6 +377,12 @@ class LenientJsonParser {
256
377
  if (this.isIdentifierStart(char)) {
257
378
  return this.parseKeywordOrIdentifier(path);
258
379
  }
380
+ // Don't skip structural characters - let the caller handle them
381
+ const ch = this.input[this.pos];
382
+ if (ch === "}" || ch === "]" || ch === ",") {
383
+ // Not an error - just no value here (e.g., {"a":} or [,])
384
+ return undefined;
385
+ }
259
386
  this.errors.push({
260
387
  path,
261
388
  expected: "JSON value",
@@ -292,12 +419,19 @@ class LenientJsonParser {
292
419
  return false;
293
420
  if (token === "null")
294
421
  return null;
422
+ // Boolean string coercion: "yes", "y", "on" -> true, "no", "off" -> false
423
+ // Note: "n" is intentionally NOT handled (neither null nor false)
424
+ const lower = token.toLowerCase();
425
+ if (lower === "yes" || lower === "y" || lower === "on")
426
+ return true;
427
+ if (lower === "no" || lower === "off")
428
+ return false;
295
429
  // Partial match for lenient parsing (e.g., "tru" -> true, "fal" -> false)
296
430
  if ("true".startsWith(token) && token.length > 0)
297
431
  return true;
298
432
  if ("false".startsWith(token) && token.length > 0)
299
433
  return false;
300
- if ("null".startsWith(token) && token.length > 0)
434
+ if ("null".startsWith(token) && token.length >= 2)
301
435
  return null;
302
436
  // Check if this looks like a string with missing opening quote (e.g., abcdefg")
303
437
  if (this.pos < this.input.length && this.input[this.pos] === '"') {
@@ -427,7 +561,13 @@ class LenientJsonParser {
427
561
  continue;
428
562
  }
429
563
  // Parse value
564
+ const prevPos = this.pos;
430
565
  const value = this.parseValue(path + "[" + index + "]");
566
+ // Guard: if parseValue didn't advance, skip unexpected char to prevent infinite loop
567
+ if (this.pos === prevPos && this.pos < this.input.length) {
568
+ this.pos++;
569
+ continue;
570
+ }
431
571
  result.push(value);
432
572
  index++;
433
573
  this.skipWhitespace();
@@ -1 +1 @@
1
- {"version":3,"file":"parseLenientJson.mjs","sources":["../../../src/utils/internal/parseLenientJson.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseLenientJson.mjs","sources":["../../../src/utils/internal/parseLenientJson.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
- import '../../utils/ArrayUtil.mjs';
2
- import '../../utils/LlmJson.mjs';
3
- import { MapUtil } from '../../utils/MapUtil.mjs';
4
- import '../../utils/NamingConvention.mjs';
5
- import '../../utils/StringUtil.mjs';
6
1
  import { OpenApiTypeChecker } from '../OpenApiTypeChecker.mjs';
7
2
  import { OpenApiStationValidator } from './OpenApiStationValidator.mjs';
3
+ import { MapUtil } from '../../utils/MapUtil.mjs';
8
4
 
9
5
  var OpenApiOneOfValidator;
10
6
  (function (OpenApiOneOfValidator) {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiOneOfValidator.mjs","sources":["../../../src/validators/internal/OpenApiOneOfValidator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAOM,IAAW;AAAjB,CAAA,UAAiB,qBAAqB,EAAA;AACvB,IAAA,qBAAA,CAAA,QAAQ,GAAG,CACtB,GAAyD,KAC9C;AACX,QAAA,MAAM,aAAa,GAAmB,gBAAgB,CAAC,GAAG,CAAC;AAC3D,QAAA,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ;AACvC,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC5B,OAAO,uBAAuB,CAAC,QAAQ,CAAC;AACtC,oBAAA,GAAG,GAAG;oBACN,MAAM,EAAE,IAAI,CAAC,MAAM;AACpB,iBAAA,CAAC;AACN,QAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrC,OAAO,qBAAA,CAAA,QAAQ,CAAC;AACd,gBAAA,GAAG,GAAG;AACN,gBAAA,MAAM,EAAE;oBACN,KAAK,EAAE,aAAa,CAAC,UAAU;AAChC,iBAAA;AACF,aAAA,CAAC;AACJ,QAAA,MAAM,OAAO,GACX,aAAa,CAAC,UAAU,CAAC,IAAI,CAC3B,CAAC,MAAM,KACL,uBAAuB,CAAC,QAAQ,CAAC;AAC/B,YAAA,GAAG,GAAG;YACN,MAAM;AACN,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,MAAM,EAAE,KAAK;SACd,CAAC,KAAK,IAAI,CACd;QACH,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;AACjD,QAAA,OAAO,GAAG,CAAC,MAAM,KAAK;AACpB,cAAE,uBAAuB,CAAC,QAAQ,CAAC;AAC/B,gBAAA,GAAG,GAAG;AACN,gBAAA,MAAM,EAAE,OAAO;aAChB;cACD,IAAI;AACV,IAAA,CAAC;AAED,IAAA,MAAM,gBAAgB,GAAG,CACvB,GAAyD,KACvC;AAClB,QAAA,MAAM,YAAY,GAAkB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAC9D,YAAY,CAAC;YACX,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,MAAM;YACN,OAAO,EAAE,IAAI,GAAG,EAAE;AACnB,SAAA,CAAC,CACH;;QAGD,MAAM,QAAQ,GAA4B,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,KACnE,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC/C;AACD,QAAA,IAAI,QAAQ;YACV,OAAO;AACL,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,UAAU,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;aAC9B;;QAGH,MAAM,SAAS,GACb,YAAY,CAAC,MAAM,CACjB,CAAC,QAAQ,KACP,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC7C;QACH,MAAM,WAAW,GAAuC,YAAY,CAAC,MAAM,CACzE,CAAC,QAAQ,KAAK,KAAK,KAAK,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpE;AACD,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAC1B,OAAO;AACL,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,MAAM,EAAE,WAAW,CAAC,CAAC,CAAE,CAAC,MAAM;wBAC9B,UAAU,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI;AACtC,qBAAA;AACF,iBAAA;AACD,gBAAA,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC;aACzD;;QAGH,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,KACrC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CACzC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAC/B,CAAC,IAAI,KACH,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3C;AACD,QAAA,MAAM,QAAQ,GAA2B;YACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK;kBACzC,kBAAkB,CAChB,GAAG,EACH,WAAW,CAAC,MAAM,CAChB,CAAC,IAAI,KACH,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAC1C;kBAEH,EAAE,CAAC;AACP,YAAA,GAAG,mBAAmB,CACpB,GAAG,EACH,WAAW,CAAC,MAAM,CAChB,CAAC,IAAI,KACH,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAC5C,EACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CACpC;SACF;QACD,OAAO;YACL,QAAQ;AACR,YAAA,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,CACtD;SACF;AACH,IAAA,CAAC;AAED,IAAA,MAAM,kBAAkB,GAAG,CACzB,GAAyD,EACzD,YAAuD,KAC7B;AAC1B,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAC3B,OAAO;AACL,gBAAA;AACE,oBAAA,MAAM,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,MAAM;oBAC/B,UAAU,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAC5C,iBAAA;aACF;AACH,QAAA,OAAO;aACJ,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,KACrB,KAAK,CAAC,KAAK,CACT,CAAC,IAAI,EAAE,CAAC,KACN,CAAC,KAAK,CAAC;YACP,kBAAkB,CAAC,MAAM,CAAC;gBACxB,UAAU,EAAE,GAAG,CAAC,UAAU;AAC1B,gBAAA,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;AACrB,gBAAA,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;aACtB,CAAC,KAAK,KAAK,CACf;AAEF,aAAA,GAAG,CACF,CAAC,IAAI,MACF;YACC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,CAAC,KAAK,KAChB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACpB,iBAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBACjB,uBAAuB,CAAC,QAAQ,CAAC;AAC/B,wBAAA,GAAG,GAAG;AACN,wBAAA,MAAM,EAAG,IAAI,CAAC,OAAsC,CAAC,KAAK;AAC1D,wBAAA,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE;AAChB,wBAAA,IAAI,EAAE,CAAA,EAAG,GAAG,CAAC,IAAI,CAAA,GAAA,CAAK;AACtB,wBAAA,aAAa,EAAE,KAAK;AACpB,wBAAA,MAAM,EAAE,KAAK;AACd,qBAAA,CAAC,CAAC;AACR,SAAA,CAAgC,CACpC;AACL,IAAA,CAAC;IAED,MAAM,mBAAmB,GAAG,CAC1B,GAAyD,EACzD,aAAyD,EACzD,OAAgB,KACU;AAC1B,QAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAC5B,OAAO;AACL,gBAAA;AACE,oBAAA,MAAM,EAAE,aAAa,CAAC,CAAC,CAAE,CAAC,MAAM;AAChC,oBAAA,UAAU,EAAE;AACV,0BAAE,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK;0BAClD,CAAC,KAAK,KACJ,OAAO,KAAK,KAAK,QAAQ;AACzB,4BAAA,KAAK,KAAK,IAAI;AACd,4BAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK;AACrC,iBAAA;aACF;;AAGH,QAAA,aAAa,GAAG;AACb,aAAA,MAAM,CACL,CAAC,IAAI,KACH,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;AACrC,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;AAEtC,aAAA,GAAG,CACF,CAAC,IAAI,MACF;AACC,YAAA,GAAG,IAAI;AACP,YAAA,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,OAAO;AACf,gBAAA,UAAU,EAAE,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;oBAChB,GAAG;AACH,oBAAA,YAAY,CAAC;wBACX,UAAU,EAAE,GAAG,CAAC,UAAU;AAC1B,wBAAA,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,IAAI,GAAG,EAAE;AACnB,qBAAA,CAAC,CAAC,OAAO;AACX,iBAAA,CACF,CACF;AACF,aAAA;AACF,SAAA,CAAoD,CACxD;;AAGH,QAAA,MAAM,MAAM,GAAmD,IAAI,GAAG,EAAE;QACxE,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;YAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;AACvE,gBAAA,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE;AACrD,gBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MACxB,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3C,CAAC,CAAC,CAAC,GAAG,KAAK;YACd;AACF,QAAA,CAAC,CAAC;;AAGF,QAAA,OAAO;AACJ,aAAA,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;YACd,MAAM,UAAU,GAAa,EAAE;YAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CACvC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAC7B,EAAE;AACD,gBAAA,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE;gBAErD,MAAM,SAAS,GAA0B;qBACtC,GAAG,CAAC,GAAG;qBACP,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;qBAC5B,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC;AAClC,gBAAA,MAAM,MAAM,GAAY,kBAAkB,CAAC,UAAU,CAAC,KAAK;AACzD,sBAAE,SAAS,CAAC,KAAK,CACb,CAAC,IAAI,KACH,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC;AACnC,wBAAA,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;AAEhC,sBAAE,SAAS,CAAC,MAAM,KAAK,CAAC;AAC1B,gBAAA,IAAI,MAAM;AAAE,oBAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAClC;AACA,YAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;AAAE,gBAAA,OAAO,IAAI;AACxC,YAAA,MAAM,GAAG,GACP,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAClB,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAW,CAAC,GAAG,CAAE,CAAC,CAC7D,IAAI,UAAU,CAAC,CAAC,CAAE;YACrB,MAAM,MAAM,GAAwB,GAAG,CAAC,OAAO,CAAC,UAAW,CAAC,GAAG,CAAE;YACjE,OAAO;gBACL,MAAM,EAAE,GAAG,CAAC,MAAM;AAClB,gBAAA,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM;sBAC5C,CAAC,KAAK,KACJ,OAAO,KAAK,KAAK,QAAQ;AACzB,wBAAA,KAAK,KAAK,IAAI;AACb,wBAAA,KAAa,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;sBACjC,CAAC,KAAK,KACJ,OAAO,KAAK,KAAK,QAAQ;AACzB,wBAAA,KAAK,KAAK,IAAI;AACb,wBAAA,KAAa,CAAC,GAAG,CAAC,KAAK,SAAS;aACT;AAClC,QAAA,CAAC;aACA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAC9B,IAAA,CAAC;AACH,CAAC,EAhQgB,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAkQtC,MAAM,YAAY,GAAG,CAAC,KAIrB,KAAiB;IAChB,IAAI,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAChD,QAAA,MAAM,GAAG,GAAW,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE;AAC5D,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,gBAAA,OAAO,EAAE,EAAE;aACZ;AACH,QAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QACtB,OAAO;AACL,YAAA,GAAG,YAAY,CAAC;gBACd,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE;gBAC7C,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB;IACH;IACA,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,MAAM;KACtB;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"OpenApiOneOfValidator.mjs","sources":["../../../src/validators/internal/OpenApiOneOfValidator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typia/utils",
3
- "version": "12.0.0-dev.20260307",
3
+ "version": "12.0.0-dev.20260309",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "exports": {
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "homepage": "https://typia.io",
24
24
  "dependencies": {
25
- "@typia/interface": "^12.0.0-dev.20260307"
25
+ "@typia/interface": "^12.0.0-dev.20260309"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@rollup/plugin-commonjs": "^29.0.0",
@@ -261,6 +261,7 @@ export namespace HttpLlmApplicationComposer {
261
261
  deprecated: operation.deprecated,
262
262
  tags: operation.tags,
263
263
  parse: (input: string) => LlmJson.parse(input, llmParameters.value),
264
+ coerce: (input: unknown) => LlmJson.coerce(input, llmParameters.value),
264
265
  validate: OpenApiValidator.create({
265
266
  components: props.components,
266
267
  schema: parameters,
@@ -21,6 +21,32 @@ import { stringifyValidationFailure } from "./internal/stringifyValidationFailur
21
21
  * @author Jeongho Nam - https://github.com/samchon
22
22
  */
23
23
  export namespace LlmJson {
24
+ /**
25
+ * Coerce LLM arguments to match expected schema types.
26
+ *
27
+ * LLMs often return values with incorrect types (e.g., numbers as strings).
28
+ * This function recursively coerces values based on the schema:
29
+ *
30
+ * - `"42"` → `42` (when schema expects number)
31
+ * - `"true"` → `true` (when schema expects boolean)
32
+ * - `"null"` → `null` (when schema expects null)
33
+ * - `"{...}"` → `{...}` (when schema expects object)
34
+ * - `"[...]"` → `[...]` (when schema expects array)
35
+ *
36
+ * Use this when SDK provides already-parsed objects but values may have wrong
37
+ * types. For raw JSON strings, use {@link parse} instead.
38
+ *
39
+ * @param input Parsed arguments object from LLM
40
+ * @param parameters LLM function parameters schema for type coercion
41
+ * @returns Coerced arguments with corrected types
42
+ */
43
+ export function coerce<T = unknown>(
44
+ input: unknown,
45
+ parameters: ILlmSchema.IParameters,
46
+ ): T {
47
+ return coerceLlmArguments(input, parameters);
48
+ }
49
+
24
50
  /**
25
51
  * Parse lenient JSON with optional schema-based coercion.
26
52
  *
@@ -17,11 +17,11 @@ import { parseLenientJson } from "./parseLenientJson";
17
17
  * @returns Coerced value with double-stringified JSON parsed
18
18
  * @internal
19
19
  */
20
- export function coerceLlmArguments(
20
+ export function coerceLlmArguments<T = unknown>(
21
21
  value: unknown,
22
22
  parameters: ILlmSchema.IParameters,
23
- ): unknown {
24
- return coerceValue(value, parameters, parameters.$defs);
23
+ ): T {
24
+ return coerceValue(value, parameters, parameters.$defs) as T;
25
25
  }
26
26
 
27
27
  function coerceValue(
@@ -64,7 +64,19 @@ function coerceValue(
64
64
  }
65
65
  return parsed.data;
66
66
  }
67
- return value;
67
+ // JSON parse failed - try "n" -> false or null
68
+ if (value.length === 1 && value.toLowerCase() === "n") {
69
+ const hasBoolean: boolean = schema.anyOf.some(
70
+ (s: ILlmSchema): boolean =>
71
+ LlmTypeChecker.isBoolean(resolveSchema(s, $defs)),
72
+ );
73
+ const hasNull: boolean = schema.anyOf.some((s: ILlmSchema): boolean =>
74
+ LlmTypeChecker.isNull(resolveSchema(s, $defs)),
75
+ );
76
+ if (hasBoolean && !hasNull) return false;
77
+ else if (hasNull && !hasBoolean) return null;
78
+ return value;
79
+ }
68
80
  }
69
81
  // Value is object - find matching schema via discriminated union
70
82
  if (typeof value === "object" && value !== null && !Array.isArray(value)) {
@@ -111,6 +123,11 @@ function coerceValue(
111
123
  // Continue coercion on the parsed value (for nested stringified values)
112
124
  return coerceValue(parsed.data, schema, $defs);
113
125
  }
126
+ // JSON parse failed - try "n" -> false for boolean schema
127
+ if (value.length === 1 && value.toLowerCase() === "n") {
128
+ if (LlmTypeChecker.isNull(schema)) return null;
129
+ if (LlmTypeChecker.isBoolean(schema)) return false;
130
+ }
114
131
  // Parse failed, return original - validate will catch type error
115
132
  return value;
116
133
  }