@typia/utils 12.0.0-dev.20260305 → 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 +11 -11
- 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
|
@@ -1,38 +1,22 @@
|
|
|
1
1
|
import { IValidation } from "@typia/interface";
|
|
2
2
|
|
|
3
|
-
import { NamingConvention } from "
|
|
4
|
-
import { dedent } from "
|
|
3
|
+
import { NamingConvention } from "../NamingConvention";
|
|
4
|
+
import { dedent } from "../dedent";
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* Format validation failure for LLM auto-correction feedback.
|
|
8
|
-
*
|
|
9
|
-
* When LLM generates invalid function call arguments, this produces annotated
|
|
10
|
-
* JSON with inline `// ❌` error comments at each invalid property. The output
|
|
11
|
-
* is wrapped in a markdown code block so that LLM can understand and correct
|
|
12
|
-
* its mistakes in the next turn.
|
|
13
|
-
*
|
|
14
|
-
* Below is an example of the output format:
|
|
15
|
-
*
|
|
16
|
-
* ```json
|
|
17
|
-
* {
|
|
18
|
-
* "name": "John",
|
|
19
|
-
* "age": "twenty", // ❌ [{"path":"$input.age","expected":"number & Type<\"uint32\">"}]
|
|
20
|
-
* "email": "not-an-email", // ❌ [{"path":"$input.email","expected":"string & Format<\"email\">"}]
|
|
21
|
-
* "hobbies": "reading" // ❌ [{"path":"$input.hobbies","expected":"Array<string>"}]
|
|
22
|
-
* }
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
26
|
-
* @param failure Validation failure from {@link ILlmFunction.validate}
|
|
27
|
-
* @returns Markdown code block with error-annotated JSON
|
|
28
|
-
*/
|
|
29
6
|
export function stringifyValidationFailure(
|
|
30
7
|
failure: IValidation.IFailure,
|
|
31
8
|
): string {
|
|
32
9
|
const usedErrors: Set<IValidation.IError> = new Set();
|
|
10
|
+
// Pre-index errors by path for O(1) lookup
|
|
11
|
+
const errorsByPath: Map<string, IValidation.IError[]> = new Map();
|
|
12
|
+
for (const e of failure.errors) {
|
|
13
|
+
const arr: IValidation.IError[] | undefined = errorsByPath.get(e.path);
|
|
14
|
+
if (arr !== undefined) arr.push(e);
|
|
15
|
+
else errorsByPath.set(e.path, [e]);
|
|
16
|
+
}
|
|
33
17
|
const jsonOutput = stringify({
|
|
34
18
|
value: failure.data,
|
|
35
|
-
|
|
19
|
+
errorsByPath,
|
|
36
20
|
path: "$input",
|
|
37
21
|
tab: 0,
|
|
38
22
|
inArray: false,
|
|
@@ -66,16 +50,17 @@ export function stringifyValidationFailure(
|
|
|
66
50
|
|
|
67
51
|
function stringify(props: {
|
|
68
52
|
value: unknown;
|
|
69
|
-
|
|
53
|
+
errorsByPath: Map<string, IValidation.IError[]>;
|
|
70
54
|
path: string;
|
|
71
55
|
tab: number;
|
|
72
56
|
inArray: boolean;
|
|
73
57
|
inToJson: boolean;
|
|
74
58
|
usedErrors: Set<IValidation.IError>;
|
|
75
59
|
}): string {
|
|
76
|
-
const { value,
|
|
60
|
+
const { value, errorsByPath, path, tab, inArray, inToJson, usedErrors } =
|
|
61
|
+
props;
|
|
77
62
|
const indent: string = " ".repeat(tab);
|
|
78
|
-
const errorComment: string = getErrorComment(path,
|
|
63
|
+
const errorComment: string = getErrorComment(path, errorsByPath, usedErrors);
|
|
79
64
|
|
|
80
65
|
// Handle undefined in arrays
|
|
81
66
|
if (inArray && value === undefined) {
|
|
@@ -87,7 +72,7 @@ function stringify(props: {
|
|
|
87
72
|
// Check for missing array element errors (path[])
|
|
88
73
|
const missingElementErrors = getMissingArrayElementErrors(
|
|
89
74
|
path,
|
|
90
|
-
|
|
75
|
+
errorsByPath,
|
|
91
76
|
usedErrors,
|
|
92
77
|
);
|
|
93
78
|
const hasMissingElements = missingElementErrors.length > 0;
|
|
@@ -120,7 +105,7 @@ function stringify(props: {
|
|
|
120
105
|
|
|
121
106
|
let itemStr: string = stringify({
|
|
122
107
|
value: item,
|
|
123
|
-
|
|
108
|
+
errorsByPath,
|
|
124
109
|
path: itemPath,
|
|
125
110
|
tab: tab + 1,
|
|
126
111
|
inArray: true,
|
|
@@ -129,18 +114,7 @@ function stringify(props: {
|
|
|
129
114
|
});
|
|
130
115
|
// Add comma before the error comment if not the last element
|
|
131
116
|
if (needsComma) {
|
|
132
|
-
|
|
133
|
-
const lastLine: string = itemLines[itemLines.length - 1]!;
|
|
134
|
-
const commentIndex: number = lastLine.indexOf(" //");
|
|
135
|
-
if (commentIndex !== -1) {
|
|
136
|
-
itemLines[itemLines.length - 1] = `${lastLine.slice(
|
|
137
|
-
0,
|
|
138
|
-
commentIndex,
|
|
139
|
-
)},${lastLine.slice(commentIndex)}`;
|
|
140
|
-
} else {
|
|
141
|
-
itemLines[itemLines.length - 1] += ",";
|
|
142
|
-
}
|
|
143
|
-
itemStr = itemLines.join("\n");
|
|
117
|
+
itemStr = insertCommaBeforeComment(itemStr);
|
|
144
118
|
}
|
|
145
119
|
lines.push(itemStr);
|
|
146
120
|
});
|
|
@@ -168,7 +142,7 @@ function stringify(props: {
|
|
|
168
142
|
const jsonValue: unknown = (value as any).toJSON();
|
|
169
143
|
return stringify({
|
|
170
144
|
value: jsonValue,
|
|
171
|
-
|
|
145
|
+
errorsByPath,
|
|
172
146
|
path,
|
|
173
147
|
tab,
|
|
174
148
|
inArray,
|
|
@@ -189,7 +163,11 @@ function stringify(props: {
|
|
|
189
163
|
);
|
|
190
164
|
|
|
191
165
|
// Find missing properties that have validation errors (not in object at all)
|
|
192
|
-
const missingKeys: string[] = getMissingProperties(
|
|
166
|
+
const missingKeys: string[] = getMissingProperties(
|
|
167
|
+
path,
|
|
168
|
+
value,
|
|
169
|
+
errorsByPath,
|
|
170
|
+
);
|
|
193
171
|
|
|
194
172
|
// Combine: defined entries + undefined entries with errors + missing properties
|
|
195
173
|
const undefinedKeysWithErrors: string[] = Array.from(
|
|
@@ -198,7 +176,7 @@ function stringify(props: {
|
|
|
198
176
|
const propPath = NamingConvention.variable(key)
|
|
199
177
|
? `${path}.${key}`
|
|
200
178
|
: `${path}[${JSON.stringify(key)}]`;
|
|
201
|
-
return
|
|
179
|
+
return hasErrorsAtOrUnder(propPath, errorsByPath);
|
|
202
180
|
});
|
|
203
181
|
|
|
204
182
|
const allKeys: string[] = [
|
|
@@ -237,7 +215,7 @@ function stringify(props: {
|
|
|
237
215
|
) {
|
|
238
216
|
const propErrorComment: string = getErrorComment(
|
|
239
217
|
propPath,
|
|
240
|
-
|
|
218
|
+
errorsByPath,
|
|
241
219
|
usedErrors,
|
|
242
220
|
);
|
|
243
221
|
const keyStr: string = JSON.stringify(key);
|
|
@@ -255,7 +233,7 @@ function stringify(props: {
|
|
|
255
233
|
const keyLine: string = `${propIndent}${JSON.stringify(key)}: `;
|
|
256
234
|
let valStr: string = stringify({
|
|
257
235
|
value: val,
|
|
258
|
-
|
|
236
|
+
errorsByPath,
|
|
259
237
|
path: propPath,
|
|
260
238
|
tab: tab + 1,
|
|
261
239
|
inArray: false,
|
|
@@ -265,18 +243,7 @@ function stringify(props: {
|
|
|
265
243
|
const valStrWithoutIndent: string = valStr.trimStart();
|
|
266
244
|
// Add comma before the error comment if not the last property
|
|
267
245
|
if (index < array.length - 1) {
|
|
268
|
-
|
|
269
|
-
const lastLine: string = valLines[valLines.length - 1]!;
|
|
270
|
-
const commentIndex: number = lastLine.indexOf(" //");
|
|
271
|
-
if (commentIndex !== -1) {
|
|
272
|
-
valLines[valLines.length - 1] = `${lastLine.slice(
|
|
273
|
-
0,
|
|
274
|
-
commentIndex,
|
|
275
|
-
)},${lastLine.slice(commentIndex)}`;
|
|
276
|
-
} else {
|
|
277
|
-
valLines[valLines.length - 1] += ",";
|
|
278
|
-
}
|
|
279
|
-
valStr = valLines.join("\n");
|
|
246
|
+
valStr = insertCommaBeforeComment(valStrWithoutIndent);
|
|
280
247
|
} else {
|
|
281
248
|
valStr = valStrWithoutIndent;
|
|
282
249
|
}
|
|
@@ -297,16 +264,31 @@ function stringify(props: {
|
|
|
297
264
|
return `${indent}${valStr}${errorComment}`;
|
|
298
265
|
}
|
|
299
266
|
|
|
267
|
+
/** Insert comma before inline error comment on the last line */
|
|
268
|
+
function insertCommaBeforeComment(str: string): string {
|
|
269
|
+
const lines: string[] = str.split("\n");
|
|
270
|
+
const lastLine: string = lines[lines.length - 1]!;
|
|
271
|
+
// Use specific error marker to avoid false positives with values containing " //"
|
|
272
|
+
const commentIndex: number = lastLine.indexOf(" // ❌");
|
|
273
|
+
if (commentIndex !== -1) {
|
|
274
|
+
lines[lines.length - 1] = `${lastLine.slice(
|
|
275
|
+
0,
|
|
276
|
+
commentIndex,
|
|
277
|
+
)},${lastLine.slice(commentIndex)}`;
|
|
278
|
+
} else {
|
|
279
|
+
lines[lines.length - 1] += ",";
|
|
280
|
+
}
|
|
281
|
+
return lines.join("\n");
|
|
282
|
+
}
|
|
283
|
+
|
|
300
284
|
/** Get error comment for a given path */
|
|
301
285
|
function getErrorComment(
|
|
302
286
|
path: string,
|
|
303
|
-
|
|
287
|
+
errorsByPath: Map<string, IValidation.IError[]>,
|
|
304
288
|
usedErrors: Set<IValidation.IError>,
|
|
305
289
|
): string {
|
|
306
|
-
const pathErrors: IValidation.IError[] =
|
|
307
|
-
|
|
308
|
-
);
|
|
309
|
-
if (pathErrors.length === 0) {
|
|
290
|
+
const pathErrors: IValidation.IError[] | undefined = errorsByPath.get(path);
|
|
291
|
+
if (pathErrors === undefined || pathErrors.length === 0) {
|
|
310
292
|
return "";
|
|
311
293
|
}
|
|
312
294
|
|
|
@@ -328,11 +310,12 @@ function getErrorComment(
|
|
|
328
310
|
*/
|
|
329
311
|
function getMissingArrayElementErrors(
|
|
330
312
|
path: string,
|
|
331
|
-
|
|
313
|
+
errorsByPath: Map<string, IValidation.IError[]>,
|
|
332
314
|
usedErrors: Set<IValidation.IError>,
|
|
333
315
|
): IValidation.IError[] {
|
|
334
316
|
const wildcardPath = `${path}[]`;
|
|
335
|
-
const missingErrors
|
|
317
|
+
const missingErrors: IValidation.IError[] =
|
|
318
|
+
errorsByPath.get(wildcardPath) ?? [];
|
|
336
319
|
|
|
337
320
|
// Mark these errors as used
|
|
338
321
|
missingErrors.forEach((e) => usedErrors.add(e));
|
|
@@ -340,6 +323,19 @@ function getMissingArrayElementErrors(
|
|
|
340
323
|
return missingErrors;
|
|
341
324
|
}
|
|
342
325
|
|
|
326
|
+
/** Check if any errors exist at or under the given path prefix */
|
|
327
|
+
function hasErrorsAtOrUnder(
|
|
328
|
+
pathPrefix: string,
|
|
329
|
+
errorsByPath: Map<string, IValidation.IError[]>,
|
|
330
|
+
): boolean {
|
|
331
|
+
for (const errorPath of errorsByPath.keys()) {
|
|
332
|
+
if (errorPath.startsWith(pathPrefix)) {
|
|
333
|
+
return true;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
return false;
|
|
337
|
+
}
|
|
338
|
+
|
|
343
339
|
/**
|
|
344
340
|
* Find missing properties that have validation errors but don't exist in the
|
|
345
341
|
* data Returns array of property keys that should be displayed as undefined
|
|
@@ -347,13 +343,13 @@ function getMissingArrayElementErrors(
|
|
|
347
343
|
function getMissingProperties(
|
|
348
344
|
path: string,
|
|
349
345
|
value: object,
|
|
350
|
-
|
|
346
|
+
errorsByPath: Map<string, IValidation.IError[]>,
|
|
351
347
|
): string[] {
|
|
352
348
|
const missingKeys: Set<string> = new Set();
|
|
353
349
|
|
|
354
|
-
for (const
|
|
350
|
+
for (const errorPath of errorsByPath.keys()) {
|
|
355
351
|
// Check if error.path is a direct child of current path
|
|
356
|
-
const childKey = extractDirectChildKey(path,
|
|
352
|
+
const childKey = extractDirectChildKey(path, errorPath);
|
|
357
353
|
if (childKey !== null) {
|
|
358
354
|
// Check if this property actually exists in the value
|
|
359
355
|
if (!(childKey in value)) {
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ILlmFunction } from "@typia/interface";
|
|
2
|
-
/**
|
|
3
|
-
* Data combiner for LLM function call.
|
|
4
|
-
*
|
|
5
|
-
* @author Samchon
|
|
6
|
-
*/
|
|
7
|
-
export declare namespace LlmDataMerger {
|
|
8
|
-
/** Properties of {@link parameters} function. */
|
|
9
|
-
interface IProps {
|
|
10
|
-
/** Target function to call. */
|
|
11
|
-
function: ILlmFunction;
|
|
12
|
-
/** Arguments composed by LLM (Large Language Model). */
|
|
13
|
-
llm: object | null;
|
|
14
|
-
/** Arguments composed by human. */
|
|
15
|
-
human: object | null;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Combine LLM and human arguments into one.
|
|
19
|
-
*
|
|
20
|
-
* When you compose {@link IHttpLlmApplication} with
|
|
21
|
-
* {@link IHttpLlmApplication.IConfig.separate} option, then the arguments of
|
|
22
|
-
* the target function would be separated into two parts; LLM (Large Language
|
|
23
|
-
* Model) and human.
|
|
24
|
-
*
|
|
25
|
-
* In that case, you can combine both LLM and human composed arguments into
|
|
26
|
-
* one by utilizing this {@link LlmDataMerger.parameters} function, referencing
|
|
27
|
-
* the target function metadata {@link ILlmFunction.separated}.
|
|
28
|
-
*
|
|
29
|
-
* @param props Properties to combine LLM and human arguments with metadata.
|
|
30
|
-
* @returns Combined arguments
|
|
31
|
-
*/
|
|
32
|
-
const parameters: (props: IProps) => object;
|
|
33
|
-
/**
|
|
34
|
-
* Combine two values into one.
|
|
35
|
-
*
|
|
36
|
-
* If both values are objects, then combines them in the properties level.
|
|
37
|
-
*
|
|
38
|
-
* Otherwise, returns the latter value if it's not null, otherwise the former
|
|
39
|
-
* value
|
|
40
|
-
*
|
|
41
|
-
* - `return (y ?? x)`
|
|
42
|
-
*
|
|
43
|
-
* @param x Value X
|
|
44
|
-
* @param y Value Y
|
|
45
|
-
* @returns Combined value
|
|
46
|
-
*/
|
|
47
|
-
const value: (x: unknown, y: unknown) => unknown;
|
|
48
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LlmDataMerger = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Data combiner for LLM function call.
|
|
6
|
-
*
|
|
7
|
-
* @author Samchon
|
|
8
|
-
*/
|
|
9
|
-
var LlmDataMerger;
|
|
10
|
-
(function (LlmDataMerger) {
|
|
11
|
-
/**
|
|
12
|
-
* Combine LLM and human arguments into one.
|
|
13
|
-
*
|
|
14
|
-
* When you compose {@link IHttpLlmApplication} with
|
|
15
|
-
* {@link IHttpLlmApplication.IConfig.separate} option, then the arguments of
|
|
16
|
-
* the target function would be separated into two parts; LLM (Large Language
|
|
17
|
-
* Model) and human.
|
|
18
|
-
*
|
|
19
|
-
* In that case, you can combine both LLM and human composed arguments into
|
|
20
|
-
* one by utilizing this {@link LlmDataMerger.parameters} function, referencing
|
|
21
|
-
* the target function metadata {@link ILlmFunction.separated}.
|
|
22
|
-
*
|
|
23
|
-
* @param props Properties to combine LLM and human arguments with metadata.
|
|
24
|
-
* @returns Combined arguments
|
|
25
|
-
*/
|
|
26
|
-
LlmDataMerger.parameters = (props) => {
|
|
27
|
-
const separated = props.function.separated;
|
|
28
|
-
if (separated === undefined)
|
|
29
|
-
throw new Error("Error on LlmDataMerger.parameters(): the function parameters are not separated.");
|
|
30
|
-
return LlmDataMerger.value(props.llm, props.human);
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Combine two values into one.
|
|
34
|
-
*
|
|
35
|
-
* If both values are objects, then combines them in the properties level.
|
|
36
|
-
*
|
|
37
|
-
* Otherwise, returns the latter value if it's not null, otherwise the former
|
|
38
|
-
* value
|
|
39
|
-
*
|
|
40
|
-
* - `return (y ?? x)`
|
|
41
|
-
*
|
|
42
|
-
* @param x Value X
|
|
43
|
-
* @param y Value Y
|
|
44
|
-
* @returns Combined value
|
|
45
|
-
*/
|
|
46
|
-
LlmDataMerger.value = (x, y) => typeof x === "object" && typeof y === "object" && x !== null && y !== null
|
|
47
|
-
? combineObject(x, y)
|
|
48
|
-
: Array.isArray(x) && Array.isArray(y)
|
|
49
|
-
? new Array(Math.max(x.length, y.length))
|
|
50
|
-
.fill(0)
|
|
51
|
-
.map((_, i) => LlmDataMerger.value(x[i], y[i]))
|
|
52
|
-
: (y !== null && y !== void 0 ? y : x);
|
|
53
|
-
const combineObject = (x, y) => {
|
|
54
|
-
const output = Object.assign({}, x);
|
|
55
|
-
for (const [k, v] of Object.entries(y))
|
|
56
|
-
output[k] = LlmDataMerger.value(x[k], v);
|
|
57
|
-
return output;
|
|
58
|
-
};
|
|
59
|
-
})(LlmDataMerger || (exports.LlmDataMerger = LlmDataMerger = {}));
|
|
60
|
-
//# sourceMappingURL=LlmDataMerger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlmDataMerger.js","sourceRoot":"","sources":["../../../src/http/internal/LlmDataMerger.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,IAAiB,aAAa,CAiE7B;AAjED,WAAiB,aAAa;IAa5B;;;;;;;;;;;;;;OAcG;IACU,wBAAU,GAAG,CAAC,KAAa,EAAU,EAAE;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS;YACzB,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,OAAO,cAAA,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAW,CAAC;IACjD,CAAC,CAAC;IAEF;;;;;;;;;;;;;OAaG;IACU,mBAAK,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE,CACvD,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QACxE,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;iBACpC,IAAI,CAAC,CAAC,CAAC;iBACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,CAAC,CAAC;IAEjB,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,CAAM,EAAO,EAAE;QAC5C,MAAM,MAAM,qBAAa,CAAC,CAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,cAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,EAjEgB,aAAa,6BAAb,aAAa,QAiE7B"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data combiner for LLM function call.
|
|
3
|
-
*
|
|
4
|
-
* @author Samchon
|
|
5
|
-
*/
|
|
6
|
-
var LlmDataMerger;
|
|
7
|
-
(function (LlmDataMerger) {
|
|
8
|
-
/**
|
|
9
|
-
* Combine LLM and human arguments into one.
|
|
10
|
-
*
|
|
11
|
-
* When you compose {@link IHttpLlmApplication} with
|
|
12
|
-
* {@link IHttpLlmApplication.IConfig.separate} option, then the arguments of
|
|
13
|
-
* the target function would be separated into two parts; LLM (Large Language
|
|
14
|
-
* Model) and human.
|
|
15
|
-
*
|
|
16
|
-
* In that case, you can combine both LLM and human composed arguments into
|
|
17
|
-
* one by utilizing this {@link LlmDataMerger.parameters} function, referencing
|
|
18
|
-
* the target function metadata {@link ILlmFunction.separated}.
|
|
19
|
-
*
|
|
20
|
-
* @param props Properties to combine LLM and human arguments with metadata.
|
|
21
|
-
* @returns Combined arguments
|
|
22
|
-
*/
|
|
23
|
-
LlmDataMerger.parameters = (props) => {
|
|
24
|
-
const separated = props.function.separated;
|
|
25
|
-
if (separated === undefined)
|
|
26
|
-
throw new Error("Error on LlmDataMerger.parameters(): the function parameters are not separated.");
|
|
27
|
-
return LlmDataMerger.value(props.llm, props.human);
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Combine two values into one.
|
|
31
|
-
*
|
|
32
|
-
* If both values are objects, then combines them in the properties level.
|
|
33
|
-
*
|
|
34
|
-
* Otherwise, returns the latter value if it's not null, otherwise the former
|
|
35
|
-
* value
|
|
36
|
-
*
|
|
37
|
-
* - `return (y ?? x)`
|
|
38
|
-
*
|
|
39
|
-
* @param x Value X
|
|
40
|
-
* @param y Value Y
|
|
41
|
-
* @returns Combined value
|
|
42
|
-
*/
|
|
43
|
-
LlmDataMerger.value = (x, y) => typeof x === "object" && typeof y === "object" && x !== null && y !== null
|
|
44
|
-
? combineObject(x, y)
|
|
45
|
-
: Array.isArray(x) && Array.isArray(y)
|
|
46
|
-
? new Array(Math.max(x.length, y.length))
|
|
47
|
-
.fill(0)
|
|
48
|
-
.map((_, i) => LlmDataMerger.value(x[i], y[i]))
|
|
49
|
-
: (y ?? x);
|
|
50
|
-
const combineObject = (x, y) => {
|
|
51
|
-
const output = { ...x };
|
|
52
|
-
for (const [k, v] of Object.entries(y))
|
|
53
|
-
output[k] = LlmDataMerger.value(x[k], v);
|
|
54
|
-
return output;
|
|
55
|
-
};
|
|
56
|
-
})(LlmDataMerger || (LlmDataMerger = {}));
|
|
57
|
-
|
|
58
|
-
export { LlmDataMerger };
|
|
59
|
-
//# sourceMappingURL=LlmDataMerger.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlmDataMerger.mjs","sources":["../../../src/http/internal/LlmDataMerger.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;AAIG;AACG,IAAW;AAAjB,CAAA,UAAiB,aAAa,EAAA;AAa5B;;;;;;;;;;;;;;AAcG;AACU,IAAA,aAAA,CAAA,UAAU,GAAG,CAAC,KAAa,KAAY;AAClD,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS;QAC1C,IAAI,SAAS,KAAK,SAAS;AACzB,YAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF;QACH,OAAO,aAAA,CAAA,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAW;AAChD,IAAA,CAAC;AAED;;;;;;;;;;;;;AAaG;IACU,aAAA,CAAA,KAAK,GAAG,CAAC,CAAU,EAAE,CAAU,KAC1C,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;AACpE,UAAE,aAAa,CAAC,CAAC,EAAE,CAAC;AACpB,UAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnC,cAAE,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;iBACnC,IAAI,CAAC,CAAC;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,aAAA,CAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,eAAG,CAAC,IAAI,CAAC,CAAC;AAEhB,IAAA,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,CAAM,KAAS;AAC5C,QAAA,MAAM,MAAM,GAAQ,EAAE,GAAG,CAAC,EAAE;AAC5B,QAAA,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAAE,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,cAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,QAAA,OAAO,MAAM;AACf,IAAA,CAAC;AACH,CAAC,EAjEgB,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { IValidation } from "@typia/interface";
|
|
2
|
-
/**
|
|
3
|
-
* Format validation failure for LLM auto-correction feedback.
|
|
4
|
-
*
|
|
5
|
-
* When LLM generates invalid function call arguments, this produces annotated
|
|
6
|
-
* JSON with inline `// ❌` error comments at each invalid property. The output
|
|
7
|
-
* is wrapped in a markdown code block so that LLM can understand and correct
|
|
8
|
-
* its mistakes in the next turn.
|
|
9
|
-
*
|
|
10
|
-
* Below is an example of the output format:
|
|
11
|
-
*
|
|
12
|
-
* ```json
|
|
13
|
-
* {
|
|
14
|
-
* "name": "John",
|
|
15
|
-
* "age": "twenty", // ❌ [{"path":"$input.age","expected":"number & Type<\"uint32\">"}]
|
|
16
|
-
* "email": "not-an-email", // ❌ [{"path":"$input.email","expected":"string & Format<\"email\">"}]
|
|
17
|
-
* "hobbies": "reading" // ❌ [{"path":"$input.hobbies","expected":"Array<string>"}]
|
|
18
|
-
* }
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
22
|
-
* @param failure Validation failure from {@link ILlmFunction.validate}
|
|
23
|
-
* @returns Markdown code block with error-annotated JSON
|
|
24
|
-
*/
|
|
25
|
-
export declare function stringifyValidationFailure(failure: IValidation.IFailure): string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyValidationFailure.js","sourceRoot":"","sources":["../../src/utils/stringifyValidationFailure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stringifyValidationFailure.mjs","sources":["../../src/utils/stringifyValidationFailure.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { ILlmFunction } from "@typia/interface";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Data combiner for LLM function call.
|
|
5
|
-
*
|
|
6
|
-
* @author Samchon
|
|
7
|
-
*/
|
|
8
|
-
export namespace LlmDataMerger {
|
|
9
|
-
/** Properties of {@link parameters} function. */
|
|
10
|
-
export interface IProps {
|
|
11
|
-
/** Target function to call. */
|
|
12
|
-
function: ILlmFunction;
|
|
13
|
-
|
|
14
|
-
/** Arguments composed by LLM (Large Language Model). */
|
|
15
|
-
llm: object | null;
|
|
16
|
-
|
|
17
|
-
/** Arguments composed by human. */
|
|
18
|
-
human: object | null;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Combine LLM and human arguments into one.
|
|
23
|
-
*
|
|
24
|
-
* When you compose {@link IHttpLlmApplication} with
|
|
25
|
-
* {@link IHttpLlmApplication.IConfig.separate} option, then the arguments of
|
|
26
|
-
* the target function would be separated into two parts; LLM (Large Language
|
|
27
|
-
* Model) and human.
|
|
28
|
-
*
|
|
29
|
-
* In that case, you can combine both LLM and human composed arguments into
|
|
30
|
-
* one by utilizing this {@link LlmDataMerger.parameters} function, referencing
|
|
31
|
-
* the target function metadata {@link ILlmFunction.separated}.
|
|
32
|
-
*
|
|
33
|
-
* @param props Properties to combine LLM and human arguments with metadata.
|
|
34
|
-
* @returns Combined arguments
|
|
35
|
-
*/
|
|
36
|
-
export const parameters = (props: IProps): object => {
|
|
37
|
-
const separated = props.function.separated;
|
|
38
|
-
if (separated === undefined)
|
|
39
|
-
throw new Error(
|
|
40
|
-
"Error on LlmDataMerger.parameters(): the function parameters are not separated.",
|
|
41
|
-
);
|
|
42
|
-
return value(props.llm, props.human) as object;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Combine two values into one.
|
|
47
|
-
*
|
|
48
|
-
* If both values are objects, then combines them in the properties level.
|
|
49
|
-
*
|
|
50
|
-
* Otherwise, returns the latter value if it's not null, otherwise the former
|
|
51
|
-
* value
|
|
52
|
-
*
|
|
53
|
-
* - `return (y ?? x)`
|
|
54
|
-
*
|
|
55
|
-
* @param x Value X
|
|
56
|
-
* @param y Value Y
|
|
57
|
-
* @returns Combined value
|
|
58
|
-
*/
|
|
59
|
-
export const value = (x: unknown, y: unknown): unknown =>
|
|
60
|
-
typeof x === "object" && typeof y === "object" && x !== null && y !== null
|
|
61
|
-
? combineObject(x, y)
|
|
62
|
-
: Array.isArray(x) && Array.isArray(y)
|
|
63
|
-
? new Array(Math.max(x.length, y.length))
|
|
64
|
-
.fill(0)
|
|
65
|
-
.map((_, i) => value(x[i], y[i]))
|
|
66
|
-
: (y ?? x);
|
|
67
|
-
|
|
68
|
-
const combineObject = (x: any, y: any): any => {
|
|
69
|
-
const output: any = { ...x };
|
|
70
|
-
for (const [k, v] of Object.entries(y)) output[k] = value(x[k], v);
|
|
71
|
-
return output;
|
|
72
|
-
};
|
|
73
|
-
}
|