typia 7.0.0-dev.20241201 → 7.0.0-dev.20241202
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/lib/IValidation.d.ts +0 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.js +12 -4
- package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmParametersProgrammer.js +6 -6
- package/lib/programmers/llm/LlmParametersProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js +6 -6
- package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
- package/package.json +4 -3
- package/src/IValidation.ts +0 -1
- package/src/programmers/llm/LlmApplicationProgrammer.ts +35 -12
- package/src/programmers/llm/LlmParametersProgrammer.ts +23 -15
- package/src/programmers/llm/LlmSchemaProgrammer.ts +8 -8
package/lib/IValidation.d.ts
CHANGED
|
@@ -153,25 +153,33 @@ var LlmApplicationProgrammer;
|
|
|
153
153
|
const schema = (_a = props.function.parameters[0]) === null || _a === void 0 ? void 0 : _a.schema;
|
|
154
154
|
if (!schema)
|
|
155
155
|
return null;
|
|
156
|
-
|
|
156
|
+
const result = LlmSchemaComposer_1.LlmSchemaComposer.parameters(props.model)({
|
|
157
157
|
config: LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model),
|
|
158
158
|
components: props.components,
|
|
159
159
|
schema: schema,
|
|
160
|
-
errors: props.errors,
|
|
161
160
|
accessor: props.accessor,
|
|
162
161
|
});
|
|
162
|
+
if (result.success === false) {
|
|
163
|
+
props.errors.push(...result.error.reasons.map((r) => ` - ${r.accessor}: ${r.message}`));
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
return result.value;
|
|
163
167
|
};
|
|
164
168
|
const writeOutput = (props) => {
|
|
165
169
|
if (props.schema === null)
|
|
166
170
|
return undefined;
|
|
167
|
-
|
|
171
|
+
const result = LlmSchemaComposer_1.LlmSchemaComposer.schema(props.model)({
|
|
168
172
|
config: LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model),
|
|
169
173
|
components: props.components,
|
|
170
174
|
schema: props.schema,
|
|
171
175
|
$defs: props.parameters.$defs,
|
|
172
|
-
errors: props.errors,
|
|
173
176
|
accessor: props.accessor,
|
|
174
177
|
});
|
|
178
|
+
if (result.success === false) {
|
|
179
|
+
props.errors.push(...result.error.reasons.map((r) => ` - ${r.accessor}: ${r.message}`));
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
return result.value;
|
|
175
183
|
};
|
|
176
184
|
})(LlmApplicationProgrammer || (exports.LlmApplicationProgrammer = LlmApplicationProgrammer = {}));
|
|
177
185
|
//# sourceMappingURL=LlmApplicationProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,20 +25,20 @@ var LlmParametersProgrammer;
|
|
|
25
25
|
}
|
|
26
26
|
throw new Error("Unreachable code. Failed to find the object schema.");
|
|
27
27
|
})();
|
|
28
|
-
const
|
|
29
|
-
const parameters = LlmSchemaComposer_1.LlmSchemaComposer.parameters(props.model)({
|
|
28
|
+
const result = LlmSchemaComposer_1.LlmSchemaComposer.parameters(props.model)({
|
|
30
29
|
config: Object.assign(Object.assign({}, LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model)), props.config),
|
|
31
30
|
components: collection.components,
|
|
32
31
|
schema,
|
|
33
|
-
errors,
|
|
34
32
|
});
|
|
35
|
-
if (
|
|
33
|
+
if (result.success === false)
|
|
36
34
|
throw new TransformerError_1.TransformerError({
|
|
37
35
|
code: "typia.llm.parameters",
|
|
38
36
|
message: "failed to convert JSON schema to LLM schema.\n\n" +
|
|
39
|
-
|
|
37
|
+
result.error.reasons
|
|
38
|
+
.map((r) => ` - ${r.accessor}: ${r.message}`)
|
|
39
|
+
.join("\n"),
|
|
40
40
|
});
|
|
41
|
-
return
|
|
41
|
+
return result.value;
|
|
42
42
|
};
|
|
43
43
|
LlmParametersProgrammer.validate = (model) => (metadata, explore) => {
|
|
44
44
|
const output = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,24 +18,24 @@ var LlmSchemaProgrammer;
|
|
|
18
18
|
metadatas: [props.metadata],
|
|
19
19
|
});
|
|
20
20
|
const $defs = {};
|
|
21
|
-
const
|
|
22
|
-
const schema = LlmSchemaComposer_1.LlmSchemaComposer.schema(props.model)({
|
|
21
|
+
const result = LlmSchemaComposer_1.LlmSchemaComposer.schema(props.model)({
|
|
23
22
|
config: Object.assign(Object.assign({}, LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model)), props.config),
|
|
24
23
|
components: collection.components,
|
|
25
24
|
schema: collection.schemas[0],
|
|
26
25
|
$defs: $defs,
|
|
27
|
-
errors,
|
|
28
26
|
});
|
|
29
|
-
if (
|
|
27
|
+
if (result.success === false)
|
|
30
28
|
throw new TransformerError_1.TransformerError({
|
|
31
29
|
code: "typia.llm.schema",
|
|
32
30
|
message: "failed to convert JSON schema to LLM schema.\n\n" +
|
|
33
|
-
|
|
31
|
+
result.error.reasons
|
|
32
|
+
.map((r) => ` - ${r.accessor}: ${r.message}`)
|
|
33
|
+
.join("\n"),
|
|
34
34
|
});
|
|
35
35
|
return {
|
|
36
36
|
model: props.model,
|
|
37
37
|
$defs,
|
|
38
|
-
schema,
|
|
38
|
+
schema: result.value,
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
41
|
LlmSchemaProgrammer.validate = (model) => (metadata) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":";;;AACA,wFAAqF;AAKrF,0EAAuE;AAEvE,kEAA+D;AAC/D,uEAAoE;AACpE,yEAAsE;AACtE,uEAAoE;AACpE,uEAAoE;AACpE,uEAAoE;AACpE,yEAAsE;AAEtE,IAAiB,mBAAmB,CAwFnC;AAxFD,WAAiB,mBAAmB;IAOrB,yBAAK,GAAG,CAAiC,KAIrD,EAAkB,EAAE;QACnB,MAAM,UAAU,GACd,6CAAqB,CAAC,KAAK,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC5B,CAAC,CAAC;QAEL,MAAM,KAAK,GAAkD,EAAE,CAAC;QAChE,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "7.0.0-dev.
|
|
3
|
+
"version": "7.0.0-dev.20241202",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"homepage": "https://typia.io",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@samchon/openapi": "^2.0.0-dev.
|
|
44
|
+
"@samchon/openapi": "^2.0.0-dev.20241202-2",
|
|
45
45
|
"commander": "^10.0.0",
|
|
46
46
|
"comment-json": "^4.2.3",
|
|
47
47
|
"inquirer": "^8.2.5",
|
|
@@ -49,7 +49,8 @@
|
|
|
49
49
|
"randexp": "^0.5.3"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"typescript": ">=4.8.0 <5.7.0"
|
|
52
|
+
"typescript": ">=4.8.0 <5.7.0",
|
|
53
|
+
"@samchon/openapi": ">=2.0.0-dev.20241202-2 < 3.0.0"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
55
56
|
"@rollup/plugin-commonjs": "^26.0.1",
|
package/src/IValidation.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ILlmApplication,
|
|
3
|
+
ILlmSchema,
|
|
4
|
+
IOpenApiSchemaError,
|
|
5
|
+
IResult,
|
|
6
|
+
OpenApi,
|
|
7
|
+
} from "@samchon/openapi";
|
|
2
8
|
import { LlmSchemaComposer } from "@samchon/openapi/lib/composers/LlmSchemaComposer";
|
|
3
9
|
import { ILlmFunction } from "@samchon/openapi/lib/structures/ILlmFunction";
|
|
4
10
|
|
|
@@ -221,15 +227,25 @@ export namespace LlmApplicationProgrammer {
|
|
|
221
227
|
}): ILlmSchema.ModelParameters[Model] | null => {
|
|
222
228
|
const schema = props.function.parameters[0]?.schema;
|
|
223
229
|
if (!schema) return null;
|
|
224
|
-
|
|
230
|
+
|
|
231
|
+
const result: IResult<
|
|
232
|
+
ILlmSchema.ModelParameters[Model],
|
|
233
|
+
IOpenApiSchemaError
|
|
234
|
+
> = LlmSchemaComposer.parameters(props.model)({
|
|
225
235
|
config: LlmSchemaComposer.defaultConfig(props.model) as any,
|
|
226
236
|
components: props.components,
|
|
227
237
|
schema: schema as
|
|
228
238
|
| OpenApi.IJsonSchema.IObject
|
|
229
239
|
| OpenApi.IJsonSchema.IReference,
|
|
230
|
-
errors: props.errors,
|
|
231
240
|
accessor: props.accessor,
|
|
232
|
-
}) as ILlmSchema.ModelParameters[Model]
|
|
241
|
+
}) as IResult<ILlmSchema.ModelParameters[Model], IOpenApiSchemaError>;
|
|
242
|
+
if (result.success === false) {
|
|
243
|
+
props.errors.push(
|
|
244
|
+
...result.error.reasons.map((r) => ` - ${r.accessor}: ${r.message}`),
|
|
245
|
+
);
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
return result.value;
|
|
233
249
|
};
|
|
234
250
|
|
|
235
251
|
const writeOutput = <Model extends ILlmSchema.Model>(props: {
|
|
@@ -241,13 +257,20 @@ export namespace LlmApplicationProgrammer {
|
|
|
241
257
|
accessor: string;
|
|
242
258
|
}): ILlmSchema.ModelSchema[Model] | null | undefined => {
|
|
243
259
|
if (props.schema === null) return undefined;
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
260
|
+
const result: IResult<ILlmSchema.ModelSchema[Model], IOpenApiSchemaError> =
|
|
261
|
+
LlmSchemaComposer.schema(props.model)({
|
|
262
|
+
config: LlmSchemaComposer.defaultConfig(props.model) as any,
|
|
263
|
+
components: props.components,
|
|
264
|
+
schema: props.schema,
|
|
265
|
+
$defs: (props.parameters as any).$defs,
|
|
266
|
+
accessor: props.accessor,
|
|
267
|
+
}) as IResult<ILlmSchema.ModelSchema[Model], IOpenApiSchemaError>;
|
|
268
|
+
if (result.success === false) {
|
|
269
|
+
props.errors.push(
|
|
270
|
+
...result.error.reasons.map((r) => ` - ${r.accessor}: ${r.message}`),
|
|
271
|
+
);
|
|
272
|
+
return null;
|
|
273
|
+
}
|
|
274
|
+
return result.value;
|
|
252
275
|
};
|
|
253
276
|
}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ILlmSchema,
|
|
3
|
+
IOpenApiSchemaError,
|
|
4
|
+
IResult,
|
|
5
|
+
OpenApi,
|
|
6
|
+
OpenApiTypeChecker,
|
|
7
|
+
} from "@samchon/openapi";
|
|
2
8
|
import { LlmSchemaComposer } from "@samchon/openapi/lib/composers/LlmSchemaComposer";
|
|
3
9
|
|
|
4
10
|
import { MetadataFactory } from "../../factories/MetadataFactory";
|
|
@@ -33,25 +39,27 @@ export namespace LlmParametersProgrammer {
|
|
|
33
39
|
throw new Error("Unreachable code. Failed to find the object schema.");
|
|
34
40
|
})();
|
|
35
41
|
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (
|
|
42
|
+
const result: IResult<
|
|
43
|
+
ILlmSchema.ModelParameters[Model],
|
|
44
|
+
IOpenApiSchemaError
|
|
45
|
+
> = LlmSchemaComposer.parameters(props.model)({
|
|
46
|
+
config: {
|
|
47
|
+
...LlmSchemaComposer.defaultConfig(props.model),
|
|
48
|
+
...props.config,
|
|
49
|
+
} as any,
|
|
50
|
+
components: collection.components,
|
|
51
|
+
schema,
|
|
52
|
+
}) as IResult<ILlmSchema.ModelParameters[Model], IOpenApiSchemaError>;
|
|
53
|
+
if (result.success === false)
|
|
48
54
|
throw new TransformerError({
|
|
49
55
|
code: "typia.llm.parameters",
|
|
50
56
|
message:
|
|
51
57
|
"failed to convert JSON schema to LLM schema.\n\n" +
|
|
52
|
-
|
|
58
|
+
result.error.reasons
|
|
59
|
+
.map((r) => ` - ${r.accessor}: ${r.message}`)
|
|
60
|
+
.join("\n"),
|
|
53
61
|
});
|
|
54
|
-
return
|
|
62
|
+
return result.value;
|
|
55
63
|
};
|
|
56
64
|
|
|
57
65
|
export const validate =
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
1
|
+
import { ILlmSchema, IOpenApiSchemaError, IResult } from "@samchon/openapi";
|
|
2
2
|
import { LlmSchemaComposer } from "@samchon/openapi/lib/composers/LlmSchemaComposer";
|
|
3
3
|
|
|
4
4
|
import { IJsonSchemaCollection } from "../../schemas/json/IJsonSchemaCollection";
|
|
@@ -33,8 +33,7 @@ export namespace LlmSchemaProgrammer {
|
|
|
33
33
|
});
|
|
34
34
|
|
|
35
35
|
const $defs: Record<string, ILlmSchema.ModelSchema[Model]> = {};
|
|
36
|
-
const
|
|
37
|
-
const schema: ILlmSchema.ModelSchema[Model] | null =
|
|
36
|
+
const result: IResult<ILlmSchema.ModelSchema[Model], IOpenApiSchemaError> =
|
|
38
37
|
LlmSchemaComposer.schema(props.model)({
|
|
39
38
|
config: {
|
|
40
39
|
...LlmSchemaComposer.defaultConfig(props.model),
|
|
@@ -43,19 +42,20 @@ export namespace LlmSchemaProgrammer {
|
|
|
43
42
|
components: collection.components,
|
|
44
43
|
schema: collection.schemas[0]!,
|
|
45
44
|
$defs: $defs as any,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (schema === null)
|
|
45
|
+
}) as IResult<ILlmSchema.ModelSchema[Model], IOpenApiSchemaError>;
|
|
46
|
+
if (result.success === false)
|
|
49
47
|
throw new TransformerError({
|
|
50
48
|
code: "typia.llm.schema",
|
|
51
49
|
message:
|
|
52
50
|
"failed to convert JSON schema to LLM schema.\n\n" +
|
|
53
|
-
|
|
51
|
+
result.error.reasons
|
|
52
|
+
.map((r) => ` - ${r.accessor}: ${r.message}`)
|
|
53
|
+
.join("\n"),
|
|
54
54
|
});
|
|
55
55
|
return {
|
|
56
56
|
model: props.model,
|
|
57
57
|
$defs,
|
|
58
|
-
schema,
|
|
58
|
+
schema: result.value,
|
|
59
59
|
};
|
|
60
60
|
};
|
|
61
61
|
|