typia 7.0.0-dev.20241128 → 7.0.0-dev.20241129
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/programmers/llm/LlmApplicationProgrammer.js +31 -31
- package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmParametersProgrammer.js +8 -1
- package/lib/programmers/llm/LlmParametersProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js +8 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
- package/package.json +2 -2
- package/src/programmers/llm/LlmApplicationProgrammer.ts +61 -56
- package/src/programmers/llm/LlmParametersProgrammer.ts +10 -1
- package/src/programmers/llm/LlmSchemaProgrammer.ts +10 -1
|
@@ -88,30 +88,42 @@ var LlmApplicationProgrammer;
|
|
|
88
88
|
});
|
|
89
89
|
if (errors.length)
|
|
90
90
|
throw new Error("Failed to write LLM application: " + errors.join("\n"));
|
|
91
|
+
const errorMessages = [];
|
|
91
92
|
const application = JsonApplicationProgrammer_1.JsonApplicationProgrammer.write({
|
|
92
93
|
version: "3.1",
|
|
93
94
|
metadata: props.metadata,
|
|
94
95
|
});
|
|
96
|
+
const functions = application.functions.map((func) => writeFunction({
|
|
97
|
+
model: props.model,
|
|
98
|
+
components: application.components,
|
|
99
|
+
function: func,
|
|
100
|
+
errors: errorMessages,
|
|
101
|
+
}));
|
|
102
|
+
if (functions.some((func) => func === null))
|
|
103
|
+
throw new Error("Failed to write LLM application:\n\n" +
|
|
104
|
+
errorMessages.map((str) => ` - ${str}`).join("\n"));
|
|
95
105
|
return {
|
|
96
106
|
model: props.model,
|
|
97
107
|
options: Object.assign(Object.assign(Object.assign({}, LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model)), props.config), { separate: null }),
|
|
98
|
-
functions:
|
|
99
|
-
model: props.model,
|
|
100
|
-
components: application.components,
|
|
101
|
-
function: func,
|
|
102
|
-
})),
|
|
108
|
+
functions: functions,
|
|
103
109
|
};
|
|
104
110
|
};
|
|
105
111
|
const writeFunction = (props) => {
|
|
106
112
|
var _a, _b, _c, _d;
|
|
107
|
-
const parameters = writeParameters(props);
|
|
113
|
+
const parameters = writeParameters(Object.assign(Object.assign({}, props), { accessor: `$input.${props.function.name}.parameters` }));
|
|
114
|
+
if (parameters === null)
|
|
115
|
+
return null;
|
|
108
116
|
const output = writeOutput({
|
|
109
117
|
model: props.model,
|
|
110
118
|
parameters,
|
|
111
119
|
components: props.components,
|
|
112
120
|
schema: (_b = (_a = props.function.output) === null || _a === void 0 ? void 0 : _a.schema) !== null && _b !== void 0 ? _b : null,
|
|
121
|
+
errors: props.errors,
|
|
122
|
+
accessor: `$input.${props.function.name}.output`,
|
|
113
123
|
});
|
|
114
|
-
if (output
|
|
124
|
+
if (output === null)
|
|
125
|
+
return null;
|
|
126
|
+
else if (output &&
|
|
115
127
|
output.description === undefined &&
|
|
116
128
|
!!((_d = (_c = props.function.output) === null || _c === void 0 ? void 0 : _c.description) === null || _d === void 0 ? void 0 : _d.length))
|
|
117
129
|
output.description = props.function.output.description;
|
|
@@ -137,41 +149,29 @@ var LlmApplicationProgrammer;
|
|
|
137
149
|
};
|
|
138
150
|
};
|
|
139
151
|
const writeParameters = (props) => {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
p.name,
|
|
146
|
-
Object.assign(Object.assign({}, p.schema), { title: (_a = p.title) !== null && _a !== void 0 ? _a : p.schema.title, description: (_b = p.description) !== null && _b !== void 0 ? _b : p.schema.description }),
|
|
147
|
-
];
|
|
148
|
-
})),
|
|
149
|
-
required: props.function.parameters
|
|
150
|
-
.filter((p) => p.required)
|
|
151
|
-
.map((p) => p.name),
|
|
152
|
-
additionalProperties: false,
|
|
153
|
-
};
|
|
154
|
-
const parameters = LlmSchemaConverter_1.LlmSchemaConverter.parameters(props.model)({
|
|
152
|
+
var _a;
|
|
153
|
+
const schema = (_a = props.function.parameters[0]) === null || _a === void 0 ? void 0 : _a.schema;
|
|
154
|
+
if (!schema)
|
|
155
|
+
return null;
|
|
156
|
+
return LlmSchemaConverter_1.LlmSchemaConverter.parameters(props.model)({
|
|
155
157
|
config: LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model),
|
|
156
158
|
components: props.components,
|
|
157
|
-
schema,
|
|
159
|
+
schema: schema,
|
|
160
|
+
errors: props.errors,
|
|
161
|
+
accessor: props.accessor,
|
|
158
162
|
});
|
|
159
|
-
if (parameters === null)
|
|
160
|
-
throw new Error("Failed to write LLM application parameters.");
|
|
161
|
-
return parameters;
|
|
162
163
|
};
|
|
163
164
|
const writeOutput = (props) => {
|
|
164
165
|
if (props.schema === null)
|
|
165
|
-
return
|
|
166
|
-
|
|
166
|
+
return undefined;
|
|
167
|
+
return LlmSchemaConverter_1.LlmSchemaConverter.schema(props.model)({
|
|
167
168
|
config: LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model),
|
|
168
169
|
components: props.components,
|
|
169
170
|
schema: props.schema,
|
|
170
171
|
$defs: props.parameters.$defs,
|
|
172
|
+
errors: props.errors,
|
|
173
|
+
accessor: props.accessor,
|
|
171
174
|
});
|
|
172
|
-
if (output === null)
|
|
173
|
-
throw new Error("Failed to write LLM application output.");
|
|
174
|
-
return output;
|
|
175
175
|
};
|
|
176
176
|
})(LlmApplicationProgrammer || (exports.LlmApplicationProgrammer = LlmApplicationProgrammer = {}));
|
|
177
177
|
//# sourceMappingURL=LlmApplicationProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":";;;AACA,2FAAwF;AAUxF,iFAA8E;AAC9E,+DAA4D;AAE5D,IAAiB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LlmParametersProgrammer = void 0;
|
|
4
4
|
const openapi_1 = require("@samchon/openapi");
|
|
5
5
|
const LlmSchemaConverter_1 = require("@samchon/openapi/lib/converters/LlmSchemaConverter");
|
|
6
|
+
const TransformerError_1 = require("../../transformers/TransformerError");
|
|
6
7
|
const JsonSchemasProgrammer_1 = require("../json/JsonSchemasProgrammer");
|
|
7
8
|
const LlmSchemaProgrammer_1 = require("./LlmSchemaProgrammer");
|
|
8
9
|
var LlmParametersProgrammer;
|
|
@@ -24,13 +25,19 @@ var LlmParametersProgrammer;
|
|
|
24
25
|
}
|
|
25
26
|
throw new Error("Unreachable code. Failed to find the object schema.");
|
|
26
27
|
})();
|
|
28
|
+
const errors = [];
|
|
27
29
|
const parameters = LlmSchemaConverter_1.LlmSchemaConverter.parameters(props.model)({
|
|
28
30
|
config: Object.assign(Object.assign({}, LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model)), props.config),
|
|
29
31
|
components: collection.components,
|
|
30
32
|
schema,
|
|
33
|
+
errors,
|
|
31
34
|
});
|
|
32
35
|
if (parameters === null)
|
|
33
|
-
throw new
|
|
36
|
+
throw new TransformerError_1.TransformerError({
|
|
37
|
+
code: "typia.llm.parameters",
|
|
38
|
+
message: "failed to convert JSON schema to LLM schema.\n\n" +
|
|
39
|
+
errors.map((str) => ` - ${str}`).join("\n"),
|
|
40
|
+
});
|
|
34
41
|
return parameters;
|
|
35
42
|
};
|
|
36
43
|
LlmParametersProgrammer.validate = (model) => (metadata, explore) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":";;;AAAA,8CAA2E;AAC3E,2FAAwF;
|
|
1
|
+
{"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LlmSchemaProgrammer = void 0;
|
|
4
4
|
const LlmSchemaConverter_1 = require("@samchon/openapi/lib/converters/LlmSchemaConverter");
|
|
5
|
+
const TransformerError_1 = require("../../transformers/TransformerError");
|
|
5
6
|
const AtomicPredicator_1 = require("../helpers/AtomicPredicator");
|
|
6
7
|
const json_schema_bigint_1 = require("../internal/json_schema_bigint");
|
|
7
8
|
const json_schema_boolean_1 = require("../internal/json_schema_boolean");
|
|
@@ -17,14 +18,20 @@ var LlmSchemaProgrammer;
|
|
|
17
18
|
metadatas: [props.metadata],
|
|
18
19
|
});
|
|
19
20
|
const $defs = {};
|
|
21
|
+
const errors = [];
|
|
20
22
|
const schema = LlmSchemaConverter_1.LlmSchemaConverter.schema(props.model)({
|
|
21
23
|
config: Object.assign(Object.assign({}, LlmSchemaConverter_1.LlmSchemaConverter.defaultConfig(props.model)), props.config),
|
|
22
24
|
components: collection.components,
|
|
23
25
|
schema: collection.schemas[0],
|
|
24
26
|
$defs: $defs,
|
|
27
|
+
errors,
|
|
25
28
|
});
|
|
26
29
|
if (schema === null)
|
|
27
|
-
throw new
|
|
30
|
+
throw new TransformerError_1.TransformerError({
|
|
31
|
+
code: "typia.llm.schema",
|
|
32
|
+
message: "failed to convert JSON schema to LLM schema.\n\n" +
|
|
33
|
+
errors.map((str) => ` - ${str}`).join("\n"),
|
|
34
|
+
});
|
|
28
35
|
return {
|
|
29
36
|
model: props.model,
|
|
30
37
|
$defs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":";;;AACA,2FAAwF;AAKxF,kEAA+D;AAC/D,uEAAoE;AACpE,yEAAsE;AACtE,uEAAoE;AACpE,uEAAoE;AACpE,uEAAoE;AACpE,yEAAsE;AAEtE,IAAiB,mBAAmB,
|
|
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.20241129",
|
|
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.20241129-8",
|
|
45
45
|
"commander": "^10.0.0",
|
|
46
46
|
"comment-json": "^4.2.3",
|
|
47
47
|
"inquirer": "^8.2.5",
|
|
@@ -128,11 +128,26 @@ export namespace LlmApplicationProgrammer {
|
|
|
128
128
|
if (errors.length)
|
|
129
129
|
throw new Error("Failed to write LLM application: " + errors.join("\n"));
|
|
130
130
|
|
|
131
|
+
const errorMessages: string[] = [];
|
|
131
132
|
const application: __IJsonApplication<"3.1"> =
|
|
132
133
|
JsonApplicationProgrammer.write({
|
|
133
134
|
version: "3.1",
|
|
134
135
|
metadata: props.metadata,
|
|
135
136
|
});
|
|
137
|
+
const functions: Array<ILlmFunction<Model> | null> =
|
|
138
|
+
application.functions.map((func) =>
|
|
139
|
+
writeFunction({
|
|
140
|
+
model: props.model,
|
|
141
|
+
components: application.components,
|
|
142
|
+
function: func,
|
|
143
|
+
errors: errorMessages,
|
|
144
|
+
}),
|
|
145
|
+
);
|
|
146
|
+
if (functions.some((func) => func === null))
|
|
147
|
+
throw new Error(
|
|
148
|
+
"Failed to write LLM application:\n\n" +
|
|
149
|
+
errorMessages.map((str) => ` - ${str}`).join("\n"),
|
|
150
|
+
);
|
|
136
151
|
return {
|
|
137
152
|
model: props.model,
|
|
138
153
|
options: {
|
|
@@ -140,13 +155,7 @@ export namespace LlmApplicationProgrammer {
|
|
|
140
155
|
...props.config,
|
|
141
156
|
separate: null,
|
|
142
157
|
},
|
|
143
|
-
functions:
|
|
144
|
-
writeFunction({
|
|
145
|
-
model: props.model,
|
|
146
|
-
components: application.components,
|
|
147
|
-
function: func,
|
|
148
|
-
}),
|
|
149
|
-
),
|
|
158
|
+
functions: functions as ILlmFunction<Model>[],
|
|
150
159
|
};
|
|
151
160
|
};
|
|
152
161
|
|
|
@@ -154,16 +163,25 @@ export namespace LlmApplicationProgrammer {
|
|
|
154
163
|
model: Model;
|
|
155
164
|
components: OpenApi.IComponents;
|
|
156
165
|
function: __IJsonApplication.IFunction<OpenApi.IJsonSchema>;
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
166
|
+
errors: string[];
|
|
167
|
+
}): ILlmFunction<Model> | null => {
|
|
168
|
+
const parameters: ILlmSchema.ModelParameters[Model] | null =
|
|
169
|
+
writeParameters({
|
|
170
|
+
...props,
|
|
171
|
+
accessor: `$input.${props.function.name}.parameters`,
|
|
172
|
+
});
|
|
173
|
+
if (parameters === null) return null;
|
|
174
|
+
const output: ILlmSchema.ModelSchema[Model] | null | undefined =
|
|
175
|
+
writeOutput({
|
|
176
|
+
model: props.model,
|
|
177
|
+
parameters,
|
|
178
|
+
components: props.components,
|
|
179
|
+
schema: props.function.output?.schema ?? null,
|
|
180
|
+
errors: props.errors,
|
|
181
|
+
accessor: `$input.${props.function.name}.output`,
|
|
182
|
+
});
|
|
183
|
+
if (output === null) return null;
|
|
184
|
+
else if (
|
|
167
185
|
output &&
|
|
168
186
|
output.description === undefined &&
|
|
169
187
|
!!props.function.output?.description?.length
|
|
@@ -198,33 +216,20 @@ export namespace LlmApplicationProgrammer {
|
|
|
198
216
|
model: Model;
|
|
199
217
|
components: OpenApi.IComponents;
|
|
200
218
|
function: __IJsonApplication.IFunction<OpenApi.IJsonSchema>;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
.filter((p) => p.required)
|
|
216
|
-
.map((p) => p.name),
|
|
217
|
-
additionalProperties: false,
|
|
218
|
-
};
|
|
219
|
-
const parameters: ILlmSchema.ModelParameters[Model] | null =
|
|
220
|
-
LlmSchemaConverter.parameters(props.model)({
|
|
221
|
-
config: LlmSchemaConverter.defaultConfig(props.model) as any,
|
|
222
|
-
components: props.components,
|
|
223
|
-
schema,
|
|
224
|
-
}) as ILlmSchema.ModelParameters[Model] | null;
|
|
225
|
-
if (parameters === null)
|
|
226
|
-
throw new Error("Failed to write LLM application parameters.");
|
|
227
|
-
return parameters;
|
|
219
|
+
errors: string[];
|
|
220
|
+
accessor: string;
|
|
221
|
+
}): ILlmSchema.ModelParameters[Model] | null => {
|
|
222
|
+
const schema = props.function.parameters[0]?.schema;
|
|
223
|
+
if (!schema) return null;
|
|
224
|
+
return LlmSchemaConverter.parameters(props.model)({
|
|
225
|
+
config: LlmSchemaConverter.defaultConfig(props.model) as any,
|
|
226
|
+
components: props.components,
|
|
227
|
+
schema: schema as
|
|
228
|
+
| OpenApi.IJsonSchema.IObject
|
|
229
|
+
| OpenApi.IJsonSchema.IReference,
|
|
230
|
+
errors: props.errors,
|
|
231
|
+
accessor: props.accessor,
|
|
232
|
+
}) as ILlmSchema.ModelParameters[Model] | null;
|
|
228
233
|
};
|
|
229
234
|
|
|
230
235
|
const writeOutput = <Model extends ILlmSchema.Model>(props: {
|
|
@@ -232,17 +237,17 @@ export namespace LlmApplicationProgrammer {
|
|
|
232
237
|
parameters: ILlmSchema.ModelParameters[Model];
|
|
233
238
|
components: OpenApi.IComponents;
|
|
234
239
|
schema: OpenApi.IJsonSchema | null;
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
240
|
+
errors: string[];
|
|
241
|
+
accessor: string;
|
|
242
|
+
}): ILlmSchema.ModelSchema[Model] | null | undefined => {
|
|
243
|
+
if (props.schema === null) return undefined;
|
|
244
|
+
return LlmSchemaConverter.schema(props.model)({
|
|
245
|
+
config: LlmSchemaConverter.defaultConfig(props.model) as any,
|
|
246
|
+
components: props.components,
|
|
247
|
+
schema: props.schema,
|
|
248
|
+
$defs: (props.parameters as any).$defs,
|
|
249
|
+
errors: props.errors,
|
|
250
|
+
accessor: props.accessor,
|
|
251
|
+
}) as ILlmSchema.ModelSchema[Model] | null;
|
|
247
252
|
};
|
|
248
253
|
}
|
|
@@ -5,6 +5,8 @@ import { MetadataFactory } from "../../factories/MetadataFactory";
|
|
|
5
5
|
|
|
6
6
|
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
7
7
|
|
|
8
|
+
import { TransformerError } from "../../transformers/TransformerError";
|
|
9
|
+
|
|
8
10
|
import { IJsonSchemaCollection } from "../../module";
|
|
9
11
|
import { JsonSchemasProgrammer } from "../json/JsonSchemasProgrammer";
|
|
10
12
|
import { LlmSchemaProgrammer } from "./LlmSchemaProgrammer";
|
|
@@ -31,6 +33,7 @@ export namespace LlmParametersProgrammer {
|
|
|
31
33
|
throw new Error("Unreachable code. Failed to find the object schema.");
|
|
32
34
|
})();
|
|
33
35
|
|
|
36
|
+
const errors: string[] = [];
|
|
34
37
|
const parameters: ILlmSchema.ModelParameters[Model] | null =
|
|
35
38
|
LlmSchemaConverter.parameters(props.model)({
|
|
36
39
|
config: {
|
|
@@ -39,9 +42,15 @@ export namespace LlmParametersProgrammer {
|
|
|
39
42
|
} as any,
|
|
40
43
|
components: collection.components,
|
|
41
44
|
schema,
|
|
45
|
+
errors,
|
|
42
46
|
}) as ILlmSchema.ModelParameters[Model] | null;
|
|
43
47
|
if (parameters === null)
|
|
44
|
-
throw new
|
|
48
|
+
throw new TransformerError({
|
|
49
|
+
code: "typia.llm.parameters",
|
|
50
|
+
message:
|
|
51
|
+
"failed to convert JSON schema to LLM schema.\n\n" +
|
|
52
|
+
errors.map((str) => ` - ${str}`).join("\n"),
|
|
53
|
+
});
|
|
45
54
|
return parameters;
|
|
46
55
|
};
|
|
47
56
|
|
|
@@ -4,6 +4,8 @@ import { LlmSchemaConverter } from "@samchon/openapi/lib/converters/LlmSchemaCon
|
|
|
4
4
|
import { IJsonSchemaCollection } from "../../schemas/json/IJsonSchemaCollection";
|
|
5
5
|
import { Metadata } from "../../schemas/metadata/Metadata";
|
|
6
6
|
|
|
7
|
+
import { TransformerError } from "../../transformers/TransformerError";
|
|
8
|
+
|
|
7
9
|
import { AtomicPredicator } from "../helpers/AtomicPredicator";
|
|
8
10
|
import { json_schema_bigint } from "../internal/json_schema_bigint";
|
|
9
11
|
import { json_schema_boolean } from "../internal/json_schema_boolean";
|
|
@@ -31,6 +33,7 @@ export namespace LlmSchemaProgrammer {
|
|
|
31
33
|
});
|
|
32
34
|
|
|
33
35
|
const $defs: Record<string, ILlmSchema.ModelSchema[Model]> = {};
|
|
36
|
+
const errors: string[] = [];
|
|
34
37
|
const schema: ILlmSchema.ModelSchema[Model] | null =
|
|
35
38
|
LlmSchemaConverter.schema(props.model)({
|
|
36
39
|
config: {
|
|
@@ -40,9 +43,15 @@ export namespace LlmSchemaProgrammer {
|
|
|
40
43
|
components: collection.components,
|
|
41
44
|
schema: collection.schemas[0]!,
|
|
42
45
|
$defs: $defs as any,
|
|
46
|
+
errors,
|
|
43
47
|
}) as ILlmSchema.ModelSchema[Model] | null;
|
|
44
48
|
if (schema === null)
|
|
45
|
-
throw new
|
|
49
|
+
throw new TransformerError({
|
|
50
|
+
code: "typia.llm.schema",
|
|
51
|
+
message:
|
|
52
|
+
"failed to convert JSON schema to LLM schema.\n\n" +
|
|
53
|
+
errors.map((str) => ` - ${str}`).join("\n"),
|
|
54
|
+
});
|
|
46
55
|
return {
|
|
47
56
|
model: props.model,
|
|
48
57
|
$defs,
|