@typia/transform 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.
- package/lib/CallExpressionTransformer.js +8 -0
- package/lib/CallExpressionTransformer.js.map +1 -1
- package/lib/CallExpressionTransformer.mjs +8 -0
- package/lib/CallExpressionTransformer.mjs.map +1 -1
- package/lib/features/json/JsonApplicationTransformer.js +3 -4
- package/lib/features/json/JsonApplicationTransformer.js.map +1 -1
- package/lib/features/json/JsonApplicationTransformer.mjs +4 -5
- package/lib/features/json/JsonApplicationTransformer.mjs.map +1 -1
- package/lib/features/json/JsonSchemaTransformer.js +2 -8
- package/lib/features/json/JsonSchemaTransformer.js.map +1 -1
- package/lib/features/json/JsonSchemaTransformer.mjs +3 -9
- package/lib/features/json/JsonSchemaTransformer.mjs.map +1 -1
- package/lib/features/json/JsonSchemasTransformer.js +2 -8
- package/lib/features/json/JsonSchemasTransformer.js.map +1 -1
- package/lib/features/json/JsonSchemasTransformer.mjs +3 -9
- package/lib/features/json/JsonSchemasTransformer.mjs.map +1 -1
- package/lib/features/llm/LlmApplicationTransformer.js +56 -20
- package/lib/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/features/llm/LlmApplicationTransformer.mjs +56 -20
- package/lib/features/llm/LlmApplicationTransformer.mjs.map +1 -1
- package/lib/features/llm/LlmCoerceTransformer.d.ts +5 -0
- package/lib/features/llm/LlmCoerceTransformer.js +81 -0
- package/lib/features/llm/LlmCoerceTransformer.js.map +1 -0
- package/lib/features/llm/LlmCoerceTransformer.mjs +77 -0
- package/lib/features/llm/LlmCoerceTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmControllerTransformer.js +12 -10
- package/lib/features/llm/LlmControllerTransformer.js.map +1 -1
- package/lib/features/llm/LlmControllerTransformer.mjs +12 -10
- package/lib/features/llm/LlmControllerTransformer.mjs.map +1 -1
- package/lib/features/llm/LlmCreateCoerceTransformer.d.ts +5 -0
- package/lib/features/llm/LlmCreateCoerceTransformer.js +75 -0
- package/lib/features/llm/LlmCreateCoerceTransformer.js.map +1 -0
- package/lib/features/llm/LlmCreateCoerceTransformer.mjs +71 -0
- package/lib/features/llm/LlmCreateCoerceTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmCreateParseTransformer.d.ts +5 -0
- package/lib/features/llm/LlmCreateParseTransformer.js +75 -0
- package/lib/features/llm/LlmCreateParseTransformer.js.map +1 -0
- package/lib/features/llm/LlmCreateParseTransformer.mjs +71 -0
- package/lib/features/llm/LlmCreateParseTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmParametersTransformer.d.ts +1 -1
- package/lib/features/llm/LlmParametersTransformer.js +3 -6
- package/lib/features/llm/LlmParametersTransformer.js.map +1 -1
- package/lib/features/llm/LlmParametersTransformer.mjs +4 -7
- package/lib/features/llm/LlmParametersTransformer.mjs.map +1 -1
- package/lib/features/llm/LlmParseTransformer.d.ts +5 -0
- package/lib/features/llm/LlmParseTransformer.js +81 -0
- package/lib/features/llm/LlmParseTransformer.js.map +1 -0
- package/lib/features/llm/LlmParseTransformer.mjs +77 -0
- package/lib/features/llm/LlmParseTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmSchemaTransformer.d.ts +1 -1
- package/lib/features/llm/LlmSchemaTransformer.js +10 -25
- package/lib/features/llm/LlmSchemaTransformer.js.map +1 -1
- package/lib/features/llm/LlmSchemaTransformer.mjs +11 -26
- package/lib/features/llm/LlmSchemaTransformer.mjs.map +1 -1
- package/package.json +4 -4
- package/src/CallExpressionTransformer.ts +8 -0
- package/src/features/json/JsonApplicationTransformer.ts +7 -10
- package/src/features/json/JsonSchemaTransformer.ts +3 -15
- package/src/features/json/JsonSchemasTransformer.ts +3 -15
- package/src/features/llm/LlmApplicationTransformer.ts +66 -26
- package/src/features/llm/LlmCoerceTransformer.ts +95 -0
- package/src/features/llm/LlmControllerTransformer.ts +19 -14
- package/src/features/llm/LlmCreateCoerceTransformer.ts +84 -0
- package/src/features/llm/LlmCreateParseTransformer.ts +84 -0
- package/src/features/llm/LlmParametersTransformer.ts +4 -16
- package/src/features/llm/LlmParseTransformer.ts +95 -0
- package/src/features/llm/LlmSchemaTransformer.ts +15 -61
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LlmCreateParseTransformer = void 0;
|
|
7
|
+
const core_1 = require("@typia/core");
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const TransformerError_1 = require("../../TransformerError");
|
|
10
|
+
var LlmCreateParseTransformer;
|
|
11
|
+
(function (LlmCreateParseTransformer) {
|
|
12
|
+
LlmCreateParseTransformer.transform = (props) => {
|
|
13
|
+
var _a;
|
|
14
|
+
// GET GENERIC ARGUMENT
|
|
15
|
+
if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
|
|
16
|
+
throw new TransformerError_1.TransformerError({
|
|
17
|
+
code: "typia.llm.createParse",
|
|
18
|
+
message: "no generic argument.",
|
|
19
|
+
});
|
|
20
|
+
const top = props.expression.typeArguments[0];
|
|
21
|
+
if (typescript_1.default.isTypeNode(top) === false)
|
|
22
|
+
return props.expression;
|
|
23
|
+
// GET TYPE AND CONFIG
|
|
24
|
+
const config = core_1.LlmMetadataFactory.getConfig({
|
|
25
|
+
context: props.context,
|
|
26
|
+
method: "createParse",
|
|
27
|
+
node: props.expression.typeArguments[1],
|
|
28
|
+
});
|
|
29
|
+
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
30
|
+
if (type.isTypeParameter())
|
|
31
|
+
throw new TransformerError_1.TransformerError({
|
|
32
|
+
code: "typia.llm.createParse",
|
|
33
|
+
message: "non-specified generic argument.",
|
|
34
|
+
});
|
|
35
|
+
// VALIDATE TYPE
|
|
36
|
+
const analyze = (validate) => {
|
|
37
|
+
const result = core_1.MetadataFactory.analyze({
|
|
38
|
+
checker: props.context.checker,
|
|
39
|
+
transformer: props.context.transformer,
|
|
40
|
+
options: {
|
|
41
|
+
absorb: validate,
|
|
42
|
+
escape: true,
|
|
43
|
+
constant: true,
|
|
44
|
+
validate: validate === true
|
|
45
|
+
? (metadata, explore) => core_1.LlmParseProgrammer.validate({
|
|
46
|
+
config,
|
|
47
|
+
metadata,
|
|
48
|
+
explore,
|
|
49
|
+
})
|
|
50
|
+
: undefined,
|
|
51
|
+
},
|
|
52
|
+
components: new core_1.MetadataCollection({
|
|
53
|
+
replace: core_1.MetadataCollection.replace,
|
|
54
|
+
}),
|
|
55
|
+
type,
|
|
56
|
+
});
|
|
57
|
+
if (result.success === false)
|
|
58
|
+
throw TransformerError_1.TransformerError.from({
|
|
59
|
+
code: "typia.llm.createParse",
|
|
60
|
+
errors: result.errors,
|
|
61
|
+
});
|
|
62
|
+
return result.data;
|
|
63
|
+
};
|
|
64
|
+
analyze(true);
|
|
65
|
+
// GENERATE CODE (factory returns the function directly)
|
|
66
|
+
return core_1.LlmParseProgrammer.write({
|
|
67
|
+
context: props.context,
|
|
68
|
+
modulo: props.modulo,
|
|
69
|
+
metadata: analyze(false),
|
|
70
|
+
name: top.getFullText().trim(),
|
|
71
|
+
config,
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
})(LlmCreateParseTransformer || (exports.LlmCreateParseTransformer = LlmCreateParseTransformer = {}));
|
|
75
|
+
//# sourceMappingURL=LlmCreateParseTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlmCreateParseTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmCreateParseTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAMqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,yBAAyB,CAsEzC;AAtED,WAAiB,yBAAyB;IAC3B,mCAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,uBAAuB;QACvB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1D,sBAAsB;QACtB,MAAM,MAAM,GAAgC,yBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC,CAAgC,CAAC;QAElC,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,iCAAiC;aAC3C,CAAC,CAAC;QAEL,gBAAgB;QAChB,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAkB,EAAE;YACpD,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,QAAQ,EACN,QAAQ,KAAK,IAAI;wBACf,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CACpB,yBAAkB,CAAC,QAAQ,CAAC;4BAC1B,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR,CAAC;wBACN,CAAC,CAAC,SAAS;iBAChB;gBACD,UAAU,EAAE,IAAI,yBAAkB,CAAC;oBACjC,OAAO,EAAE,yBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;aACL,CAAC,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,wDAAwD;QACxD,OAAO,yBAAkB,CAAC,KAAK,CAAC;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,IAAI,EAAG,GAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;YAC/C,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,EAtEgB,yBAAyB,yCAAzB,yBAAyB,QAsEzC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { LlmMetadataFactory, LlmParseProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { TransformerError } from '../../TransformerError.mjs';
|
|
4
|
+
|
|
5
|
+
var LlmCreateParseTransformer;
|
|
6
|
+
(function (LlmCreateParseTransformer) {
|
|
7
|
+
LlmCreateParseTransformer.transform = (props) => {
|
|
8
|
+
// GET GENERIC ARGUMENT
|
|
9
|
+
if (!props.expression.typeArguments?.length)
|
|
10
|
+
throw new TransformerError({
|
|
11
|
+
code: "typia.llm.createParse",
|
|
12
|
+
message: "no generic argument.",
|
|
13
|
+
});
|
|
14
|
+
const top = props.expression.typeArguments[0];
|
|
15
|
+
if (ts.isTypeNode(top) === false)
|
|
16
|
+
return props.expression;
|
|
17
|
+
// GET TYPE AND CONFIG
|
|
18
|
+
const config = LlmMetadataFactory.getConfig({
|
|
19
|
+
context: props.context,
|
|
20
|
+
method: "createParse",
|
|
21
|
+
node: props.expression.typeArguments[1],
|
|
22
|
+
});
|
|
23
|
+
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
24
|
+
if (type.isTypeParameter())
|
|
25
|
+
throw new TransformerError({
|
|
26
|
+
code: "typia.llm.createParse",
|
|
27
|
+
message: "non-specified generic argument.",
|
|
28
|
+
});
|
|
29
|
+
// VALIDATE TYPE
|
|
30
|
+
const analyze = (validate) => {
|
|
31
|
+
const result = MetadataFactory.analyze({
|
|
32
|
+
checker: props.context.checker,
|
|
33
|
+
transformer: props.context.transformer,
|
|
34
|
+
options: {
|
|
35
|
+
absorb: validate,
|
|
36
|
+
escape: true,
|
|
37
|
+
constant: true,
|
|
38
|
+
validate: validate === true
|
|
39
|
+
? (metadata, explore) => LlmParseProgrammer.validate({
|
|
40
|
+
config,
|
|
41
|
+
metadata,
|
|
42
|
+
explore,
|
|
43
|
+
})
|
|
44
|
+
: undefined,
|
|
45
|
+
},
|
|
46
|
+
components: new MetadataCollection({
|
|
47
|
+
replace: MetadataCollection.replace,
|
|
48
|
+
}),
|
|
49
|
+
type,
|
|
50
|
+
});
|
|
51
|
+
if (result.success === false)
|
|
52
|
+
throw TransformerError.from({
|
|
53
|
+
code: "typia.llm.createParse",
|
|
54
|
+
errors: result.errors,
|
|
55
|
+
});
|
|
56
|
+
return result.data;
|
|
57
|
+
};
|
|
58
|
+
analyze(true);
|
|
59
|
+
// GENERATE CODE (factory returns the function directly)
|
|
60
|
+
return LlmParseProgrammer.write({
|
|
61
|
+
context: props.context,
|
|
62
|
+
modulo: props.modulo,
|
|
63
|
+
metadata: analyze(false),
|
|
64
|
+
name: top.getFullText().trim(),
|
|
65
|
+
config,
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
})(LlmCreateParseTransformer || (LlmCreateParseTransformer = {}));
|
|
69
|
+
|
|
70
|
+
export { LlmCreateParseTransformer };
|
|
71
|
+
//# sourceMappingURL=LlmCreateParseTransformer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlmCreateParseTransformer.mjs","sources":["../../../src/features/llm/LlmCreateParseTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAaM,IAAW;AAAjB,CAAA,UAAiB,yBAAyB,EAAA;AAC3B,IAAA,yBAAA,CAAA,SAAS,GAAG,CAAC,KAAsB,KAAmB;;AAEjE,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QAEJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU;;AAGzD,QAAA,MAAM,MAAM,GAAgC,kBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AACxC,SAAA,CAAgC;AAEjC,QAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;QAEpE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,OAAO,EAAE,iCAAiC;AAC3C,aAAA,CAAC;;AAGJ,QAAA,MAAM,OAAO,GAAG,CAAC,QAAiB,KAAoB;AACpD,YAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;oBACd,QAAQ,EACN,QAAQ,KAAK;0BACT,CAAC,QAAQ,EAAE,OAAO,KAChB,kBAAkB,CAAC,QAAQ,CAAC;4BAC1B,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR;AACL,0BAAE,SAAS;AAChB,iBAAA;gBACD,UAAU,EAAE,IAAI,kBAAkB,CAAC;oBACjC,OAAO,EAAE,kBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;AACL,aAAA,CAAC;AACJ,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;;QAGb,OAAO,kBAAkB,CAAC,KAAK,CAAC;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,YAAA,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;AACxB,YAAA,IAAI,EAAG,GAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;YAC/C,MAAM;AACP,SAAA,CAAC;AACJ,IAAA,CAAC;AACH,CAAC,EAtEgB,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { ITransformProps } from "../../ITransformProps";
|
|
3
3
|
export declare namespace LlmParametersTransformer {
|
|
4
|
-
const transform: (props:
|
|
4
|
+
const transform: (props: ITransformProps) => ts.Expression;
|
|
5
5
|
}
|
|
@@ -57,15 +57,12 @@ var LlmParametersTransformer;
|
|
|
57
57
|
return result.data;
|
|
58
58
|
};
|
|
59
59
|
analyze(true);
|
|
60
|
-
// GENERATE LLM SCHEMA
|
|
61
|
-
|
|
60
|
+
// GENERATE LLM PARAMETERS SCHEMA
|
|
61
|
+
return core_1.LlmParametersProgrammer.write({
|
|
62
|
+
context: props.context,
|
|
62
63
|
metadata: analyze(false),
|
|
63
64
|
config,
|
|
64
65
|
});
|
|
65
|
-
return typescript_1.default.factory.createSatisfiesExpression(core_1.LiteralFactory.write(out), props.context.importer.type({
|
|
66
|
-
file: "typia",
|
|
67
|
-
name: typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier("ILlmSchema"), typescript_1.default.factory.createIdentifier("IParameters")),
|
|
68
|
-
}));
|
|
69
66
|
};
|
|
70
67
|
})(LlmParametersTransformer || (exports.LlmParametersTransformer = LlmParametersTransformer = {}));
|
|
71
68
|
//# sourceMappingURL=LlmParametersTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmParametersTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmParametersTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"LlmParametersTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmParametersTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAMqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,wBAAwB,CA8DxC;AA9DD,WAAiB,wBAAwB;IAC1B,kCAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,uBAAuB;QACvB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1D,WAAW;QACX,MAAM,MAAM,GAAgC,yBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC,CAAgC,CAAC;QAElC,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAErE,gBAAgB;QAChB,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAkB,EAAE;YACpD,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,QAAQ,EACN,QAAQ,KAAK,IAAI;wBACf,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CACpB,8BAAuB,CAAC,QAAQ,CAAC;4BAC/B,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR,CAAC;wBACN,CAAC,CAAC,SAAS;iBAChB;gBACD,UAAU,EAAE,IAAI,yBAAkB,CAAC;oBACjC,OAAO,EAAE,yBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;aACL,CAAC,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,iCAAiC;QACjC,OAAO,8BAAuB,CAAC,KAAK,CAAC;YACnC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,EA9DgB,wBAAwB,wCAAxB,wBAAwB,QA8DxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LlmMetadataFactory, LlmParametersProgrammer,
|
|
1
|
+
import { LlmMetadataFactory, LlmParametersProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
|
|
2
2
|
import ts from 'typescript';
|
|
3
3
|
import { TransformerError } from '../../TransformerError.mjs';
|
|
4
4
|
|
|
@@ -51,15 +51,12 @@ var LlmParametersTransformer;
|
|
|
51
51
|
return result.data;
|
|
52
52
|
};
|
|
53
53
|
analyze(true);
|
|
54
|
-
// GENERATE LLM SCHEMA
|
|
55
|
-
|
|
54
|
+
// GENERATE LLM PARAMETERS SCHEMA
|
|
55
|
+
return LlmParametersProgrammer.write({
|
|
56
|
+
context: props.context,
|
|
56
57
|
metadata: analyze(false),
|
|
57
58
|
config,
|
|
58
59
|
});
|
|
59
|
-
return ts.factory.createSatisfiesExpression(LiteralFactory.write(out), props.context.importer.type({
|
|
60
|
-
file: "typia",
|
|
61
|
-
name: ts.factory.createQualifiedName(ts.factory.createIdentifier("ILlmSchema"), ts.factory.createIdentifier("IParameters")),
|
|
62
|
-
}));
|
|
63
60
|
};
|
|
64
61
|
})(LlmParametersTransformer || (LlmParametersTransformer = {}));
|
|
65
62
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmParametersTransformer.mjs","sources":["../../../src/features/llm/LlmParametersTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"LlmParametersTransformer.mjs","sources":["../../../src/features/llm/LlmParametersTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAaM,IAAW;AAAjB,CAAA,UAAiB,wBAAwB,EAAA;AAC1B,IAAA,wBAAA,CAAA,SAAS,GAAG,CAAC,KAAsB,KAAmB;;AAEjE,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QAEJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU;;AAGzD,QAAA,MAAM,MAAM,GAAgC,kBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AACxC,SAAA,CAAgC;AAEjC,QAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;;AAGpE,QAAA,MAAM,OAAO,GAAG,CAAC,QAAiB,KAAoB;AACpD,YAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;oBACd,QAAQ,EACN,QAAQ,KAAK;0BACT,CAAC,QAAQ,EAAE,OAAO,KAChB,uBAAuB,CAAC,QAAQ,CAAC;4BAC/B,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR;AACL,0BAAE,SAAS;AAChB,iBAAA;gBACD,UAAU,EAAE,IAAI,kBAAkB,CAAC;oBACjC,OAAO,EAAE,kBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;AACL,aAAA,CAAC;AACJ,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;;QAGb,OAAO,uBAAuB,CAAC,KAAK,CAAC;YACnC,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,MAAM;AACP,SAAA,CAAC;AACJ,IAAA,CAAC;AACH,CAAC,EA9DgB,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LlmParseTransformer = void 0;
|
|
7
|
+
const core_1 = require("@typia/core");
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const TransformerError_1 = require("../../TransformerError");
|
|
10
|
+
var LlmParseTransformer;
|
|
11
|
+
(function (LlmParseTransformer) {
|
|
12
|
+
LlmParseTransformer.transform = (props) => {
|
|
13
|
+
var _a;
|
|
14
|
+
// CHECK PARAMETER
|
|
15
|
+
if (props.expression.arguments.length === 0)
|
|
16
|
+
throw new TransformerError_1.TransformerError({
|
|
17
|
+
code: "typia.llm.parse",
|
|
18
|
+
message: "no input value.",
|
|
19
|
+
});
|
|
20
|
+
// GET GENERIC ARGUMENT
|
|
21
|
+
if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
|
|
22
|
+
throw new TransformerError_1.TransformerError({
|
|
23
|
+
code: "typia.llm.parse",
|
|
24
|
+
message: "no generic argument.",
|
|
25
|
+
});
|
|
26
|
+
const top = props.expression.typeArguments[0];
|
|
27
|
+
if (typescript_1.default.isTypeNode(top) === false)
|
|
28
|
+
return props.expression;
|
|
29
|
+
// GET TYPE AND CONFIG
|
|
30
|
+
const config = core_1.LlmMetadataFactory.getConfig({
|
|
31
|
+
context: props.context,
|
|
32
|
+
method: "parse",
|
|
33
|
+
node: props.expression.typeArguments[1],
|
|
34
|
+
});
|
|
35
|
+
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
36
|
+
if (type.isTypeParameter())
|
|
37
|
+
throw new TransformerError_1.TransformerError({
|
|
38
|
+
code: "typia.llm.parse",
|
|
39
|
+
message: "non-specified generic argument.",
|
|
40
|
+
});
|
|
41
|
+
// VALIDATE TYPE
|
|
42
|
+
const analyze = (validate) => {
|
|
43
|
+
const result = core_1.MetadataFactory.analyze({
|
|
44
|
+
checker: props.context.checker,
|
|
45
|
+
transformer: props.context.transformer,
|
|
46
|
+
options: {
|
|
47
|
+
absorb: validate,
|
|
48
|
+
escape: true,
|
|
49
|
+
constant: true,
|
|
50
|
+
validate: validate === true
|
|
51
|
+
? (metadata, explore) => core_1.LlmParseProgrammer.validate({
|
|
52
|
+
config,
|
|
53
|
+
metadata,
|
|
54
|
+
explore,
|
|
55
|
+
})
|
|
56
|
+
: undefined,
|
|
57
|
+
},
|
|
58
|
+
components: new core_1.MetadataCollection({
|
|
59
|
+
replace: core_1.MetadataCollection.replace,
|
|
60
|
+
}),
|
|
61
|
+
type,
|
|
62
|
+
});
|
|
63
|
+
if (result.success === false)
|
|
64
|
+
throw TransformerError_1.TransformerError.from({
|
|
65
|
+
code: "typia.llm.parse",
|
|
66
|
+
errors: result.errors,
|
|
67
|
+
});
|
|
68
|
+
return result.data;
|
|
69
|
+
};
|
|
70
|
+
analyze(true);
|
|
71
|
+
// GENERATE CODE
|
|
72
|
+
return typescript_1.default.factory.createCallExpression(core_1.LlmParseProgrammer.write({
|
|
73
|
+
context: props.context,
|
|
74
|
+
modulo: props.modulo,
|
|
75
|
+
metadata: analyze(false),
|
|
76
|
+
name: top.getFullText().trim(),
|
|
77
|
+
config,
|
|
78
|
+
}), undefined, props.expression.arguments);
|
|
79
|
+
};
|
|
80
|
+
})(LlmParseTransformer || (exports.LlmParseTransformer = LlmParseTransformer = {}));
|
|
81
|
+
//# sourceMappingURL=LlmParseTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlmParseTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmParseTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { LlmMetadataFactory, LlmParseProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { TransformerError } from '../../TransformerError.mjs';
|
|
4
|
+
|
|
5
|
+
var LlmParseTransformer;
|
|
6
|
+
(function (LlmParseTransformer) {
|
|
7
|
+
LlmParseTransformer.transform = (props) => {
|
|
8
|
+
// CHECK PARAMETER
|
|
9
|
+
if (props.expression.arguments.length === 0)
|
|
10
|
+
throw new TransformerError({
|
|
11
|
+
code: "typia.llm.parse",
|
|
12
|
+
message: "no input value.",
|
|
13
|
+
});
|
|
14
|
+
// GET GENERIC ARGUMENT
|
|
15
|
+
if (!props.expression.typeArguments?.length)
|
|
16
|
+
throw new TransformerError({
|
|
17
|
+
code: "typia.llm.parse",
|
|
18
|
+
message: "no generic argument.",
|
|
19
|
+
});
|
|
20
|
+
const top = props.expression.typeArguments[0];
|
|
21
|
+
if (ts.isTypeNode(top) === false)
|
|
22
|
+
return props.expression;
|
|
23
|
+
// GET TYPE AND CONFIG
|
|
24
|
+
const config = LlmMetadataFactory.getConfig({
|
|
25
|
+
context: props.context,
|
|
26
|
+
method: "parse",
|
|
27
|
+
node: props.expression.typeArguments[1],
|
|
28
|
+
});
|
|
29
|
+
const type = props.context.checker.getTypeFromTypeNode(top);
|
|
30
|
+
if (type.isTypeParameter())
|
|
31
|
+
throw new TransformerError({
|
|
32
|
+
code: "typia.llm.parse",
|
|
33
|
+
message: "non-specified generic argument.",
|
|
34
|
+
});
|
|
35
|
+
// VALIDATE TYPE
|
|
36
|
+
const analyze = (validate) => {
|
|
37
|
+
const result = MetadataFactory.analyze({
|
|
38
|
+
checker: props.context.checker,
|
|
39
|
+
transformer: props.context.transformer,
|
|
40
|
+
options: {
|
|
41
|
+
absorb: validate,
|
|
42
|
+
escape: true,
|
|
43
|
+
constant: true,
|
|
44
|
+
validate: validate === true
|
|
45
|
+
? (metadata, explore) => LlmParseProgrammer.validate({
|
|
46
|
+
config,
|
|
47
|
+
metadata,
|
|
48
|
+
explore,
|
|
49
|
+
})
|
|
50
|
+
: undefined,
|
|
51
|
+
},
|
|
52
|
+
components: new MetadataCollection({
|
|
53
|
+
replace: MetadataCollection.replace,
|
|
54
|
+
}),
|
|
55
|
+
type,
|
|
56
|
+
});
|
|
57
|
+
if (result.success === false)
|
|
58
|
+
throw TransformerError.from({
|
|
59
|
+
code: "typia.llm.parse",
|
|
60
|
+
errors: result.errors,
|
|
61
|
+
});
|
|
62
|
+
return result.data;
|
|
63
|
+
};
|
|
64
|
+
analyze(true);
|
|
65
|
+
// GENERATE CODE
|
|
66
|
+
return ts.factory.createCallExpression(LlmParseProgrammer.write({
|
|
67
|
+
context: props.context,
|
|
68
|
+
modulo: props.modulo,
|
|
69
|
+
metadata: analyze(false),
|
|
70
|
+
name: top.getFullText().trim(),
|
|
71
|
+
config,
|
|
72
|
+
}), undefined, props.expression.arguments);
|
|
73
|
+
};
|
|
74
|
+
})(LlmParseTransformer || (LlmParseTransformer = {}));
|
|
75
|
+
|
|
76
|
+
export { LlmParseTransformer };
|
|
77
|
+
//# sourceMappingURL=LlmParseTransformer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlmParseTransformer.mjs","sources":["../../../src/features/llm/LlmParseTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { ITransformProps } from "../../ITransformProps";
|
|
3
3
|
export declare namespace LlmSchemaTransformer {
|
|
4
|
-
const transform: (props:
|
|
4
|
+
const transform: (props: ITransformProps) => ts.Expression;
|
|
5
5
|
}
|
|
@@ -57,34 +57,19 @@ var LlmSchemaTransformer;
|
|
|
57
57
|
};
|
|
58
58
|
analyze(true);
|
|
59
59
|
// GENERATE LLM SCHEMA
|
|
60
|
-
const
|
|
60
|
+
const expr = core_1.LlmSchemaProgrammer.write({
|
|
61
|
+
context: props.context,
|
|
61
62
|
metadata: analyze(false),
|
|
62
63
|
config,
|
|
63
64
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return
|
|
72
|
-
core_1.IdentifierFactory.parameter("$defs", typescript_1.default.factory.createTypeReferenceNode("Record", [
|
|
73
|
-
typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
|
|
74
|
-
schemaTypeNode,
|
|
75
|
-
]), undefined),
|
|
76
|
-
], undefined, undefined, typescript_1.default.factory.createBlock([
|
|
77
|
-
typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), undefined, [
|
|
78
|
-
typescript_1.default.factory.createIdentifier("$defs"),
|
|
79
|
-
typescript_1.default.factory.createAsExpression(core_1.LiteralFactory.write(out.$defs), typescript_1.default.factory.createTypeReferenceNode("Record", [
|
|
80
|
-
typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
|
|
81
|
-
schemaTypeNode,
|
|
82
|
-
])),
|
|
83
|
-
])),
|
|
84
|
-
typescript_1.default.factory.createReturnStatement(literal),
|
|
85
|
-
], true)), undefined, ((_b = props.expression.arguments) === null || _b === void 0 ? void 0 : _b[0]) !== undefined
|
|
86
|
-
? [props.expression.arguments[0]]
|
|
87
|
-
: []);
|
|
65
|
+
// If user provided $defs argument and expression is a function, call it with $defs
|
|
66
|
+
if (((_b = props.expression.arguments) === null || _b === void 0 ? void 0 : _b[0]) !== undefined &&
|
|
67
|
+
typescript_1.default.isArrowFunction(expr)) {
|
|
68
|
+
return typescript_1.default.factory.createCallExpression(expr, undefined, [
|
|
69
|
+
props.expression.arguments[0],
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
return expr;
|
|
88
73
|
};
|
|
89
74
|
})(LlmSchemaTransformer || (exports.LlmSchemaTransformer = LlmSchemaTransformer = {}));
|
|
90
75
|
//# sourceMappingURL=LlmSchemaTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAMqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,oBAAoB,CAyEpC;AAzED,WAAiB,oBAAoB;IACtB,8BAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,uBAAuB;QACvB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1D,WAAW;QACX,MAAM,MAAM,GAAgC,yBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC,CAAgC,CAAC;QAElC,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAErE,gBAAgB;QAChB,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAkB,EAAE;YACpD,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,EACN,QAAQ,KAAK,IAAI;wBACf,CAAC,CAAC,CAAC,QAAwB,EAAE,EAAE,CAC3B,0BAAmB,CAAC,QAAQ,CAAC;4BAC3B,MAAM;4BACN,QAAQ;yBACT,CAAC;wBACN,CAAC,CAAC,SAAS;iBAChB;gBACD,UAAU,EAAE,IAAI,yBAAkB,CAAC;oBACjC,OAAO,EAAE,yBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;aACL,CAAC,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,sBAAsB;QACtB,MAAM,IAAI,GAAG,0BAAmB,CAAC,KAAK,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,MAAM;SACP,CAAC,CAAC;QAEH,mFAAmF;QACnF,IACE,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,MAAK,SAAS;YAC7C,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACxB,CAAC;YACD,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE;gBACtD,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,EAzEgB,oBAAoB,oCAApB,oBAAoB,QAyEpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LlmMetadataFactory, LlmSchemaProgrammer,
|
|
1
|
+
import { LlmMetadataFactory, LlmSchemaProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
|
|
2
2
|
import ts from 'typescript';
|
|
3
3
|
import { TransformerError } from '../../TransformerError.mjs';
|
|
4
4
|
|
|
@@ -51,34 +51,19 @@ var LlmSchemaTransformer;
|
|
|
51
51
|
};
|
|
52
52
|
analyze(true);
|
|
53
53
|
// GENERATE LLM SCHEMA
|
|
54
|
-
const
|
|
54
|
+
const expr = LlmSchemaProgrammer.write({
|
|
55
|
+
context: props.context,
|
|
55
56
|
metadata: analyze(false),
|
|
56
57
|
config,
|
|
57
58
|
});
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return
|
|
66
|
-
IdentifierFactory.parameter("$defs", ts.factory.createTypeReferenceNode("Record", [
|
|
67
|
-
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
|
68
|
-
schemaTypeNode,
|
|
69
|
-
]), undefined),
|
|
70
|
-
], undefined, undefined, ts.factory.createBlock([
|
|
71
|
-
ts.factory.createExpressionStatement(ts.factory.createCallExpression(ts.factory.createIdentifier("Object.assign"), undefined, [
|
|
72
|
-
ts.factory.createIdentifier("$defs"),
|
|
73
|
-
ts.factory.createAsExpression(LiteralFactory.write(out.$defs), ts.factory.createTypeReferenceNode("Record", [
|
|
74
|
-
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
|
75
|
-
schemaTypeNode,
|
|
76
|
-
])),
|
|
77
|
-
])),
|
|
78
|
-
ts.factory.createReturnStatement(literal),
|
|
79
|
-
], true)), undefined, props.expression.arguments?.[0] !== undefined
|
|
80
|
-
? [props.expression.arguments[0]]
|
|
81
|
-
: []);
|
|
59
|
+
// If user provided $defs argument and expression is a function, call it with $defs
|
|
60
|
+
if (props.expression.arguments?.[0] !== undefined &&
|
|
61
|
+
ts.isArrowFunction(expr)) {
|
|
62
|
+
return ts.factory.createCallExpression(expr, undefined, [
|
|
63
|
+
props.expression.arguments[0],
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
return expr;
|
|
82
67
|
};
|
|
83
68
|
})(LlmSchemaTransformer || (LlmSchemaTransformer = {}));
|
|
84
69
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmSchemaTransformer.mjs","sources":["../../../src/features/llm/LlmSchemaTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"LlmSchemaTransformer.mjs","sources":["../../../src/features/llm/LlmSchemaTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAaM,IAAW;AAAjB,CAAA,UAAiB,oBAAoB,EAAA;AACtB,IAAA,oBAAA,CAAA,SAAS,GAAG,CAAC,KAAsB,KAAmB;;AAEjE,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QAEJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU;;AAGzD,QAAA,MAAM,MAAM,GAAgC,kBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AACxC,SAAA,CAAgC;AAEjC,QAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;;AAGpE,QAAA,MAAM,OAAO,GAAG,CAAC,QAAiB,KAAoB;AACpD,YAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE,IAAI;oBACZ,QAAQ,EACN,QAAQ,KAAK;0BACT,CAAC,QAAwB,KACvB,mBAAmB,CAAC,QAAQ,CAAC;4BAC3B,MAAM;4BACN,QAAQ;yBACT;AACL,0BAAE,SAAS;AAChB,iBAAA;gBACD,UAAU,EAAE,IAAI,kBAAkB,CAAC;oBACjC,OAAO,EAAE,kBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;AACL,aAAA,CAAC;AACJ,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;;AAGb,QAAA,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,MAAM;AACP,SAAA,CAAC;;QAGF,IACE,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,SAAS;AAC7C,YAAA,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACxB;YACA,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE;AACtD,gBAAA,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE;AAC/B,aAAA,CAAC;QACJ;AAEA,QAAA,OAAO,IAAI;AACb,IAAA,CAAC;AACH,CAAC,EAzEgB,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typia/transform",
|
|
3
|
-
"version": "12.0.0-dev.
|
|
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,9 +22,9 @@
|
|
|
22
22
|
},
|
|
23
23
|
"homepage": "https://typia.io",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@typia/core": "^12.0.0-dev.
|
|
26
|
-
"@typia/interface": "^12.0.0-dev.
|
|
27
|
-
"@typia/utils": "^12.0.0-dev.
|
|
25
|
+
"@typia/core": "^12.0.0-dev.20260309",
|
|
26
|
+
"@typia/interface": "^12.0.0-dev.20260309",
|
|
27
|
+
"@typia/utils": "^12.0.0-dev.20260309"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@rollup/plugin-commonjs": "^29.0.0",
|
|
@@ -69,8 +69,12 @@ import { JsonStringifyTransformer } from "./features/json/JsonStringifyTransform
|
|
|
69
69
|
import { JsonValidateParseTransformer } from "./features/json/JsonValidateParseTransformer";
|
|
70
70
|
import { JsonValidateStringifyTransformer } from "./features/json/JsonValidateStringifyTransformer";
|
|
71
71
|
import { LlmApplicationTransformer } from "./features/llm/LlmApplicationTransformer";
|
|
72
|
+
import { LlmCoerceTransformer } from "./features/llm/LlmCoerceTransformer";
|
|
72
73
|
import { LlmControllerTransformer } from "./features/llm/LlmControllerTransformer";
|
|
74
|
+
import { LlmCreateCoerceTransformer } from "./features/llm/LlmCreateCoerceTransformer";
|
|
75
|
+
import { LlmCreateParseTransformer } from "./features/llm/LlmCreateParseTransformer";
|
|
73
76
|
import { LlmParametersTransformer } from "./features/llm/LlmParametersTransformer";
|
|
77
|
+
import { LlmParseTransformer } from "./features/llm/LlmParseTransformer";
|
|
74
78
|
import { LlmSchemaTransformer } from "./features/llm/LlmSchemaTransformer";
|
|
75
79
|
import { MiscAssertCloneTransformer } from "./features/misc/MiscAssertCloneTransformer";
|
|
76
80
|
import { MiscAssertPruneTransformer } from "./features/misc/MiscAssertPruneTransformer";
|
|
@@ -421,6 +425,10 @@ const FUNCTORS: Record<string, Record<string, () => Task>> = {
|
|
|
421
425
|
application: () => LlmApplicationTransformer.transform,
|
|
422
426
|
parameters: () => LlmParametersTransformer.transform,
|
|
423
427
|
schema: () => LlmSchemaTransformer.transform,
|
|
428
|
+
parse: () => LlmParseTransformer.transform,
|
|
429
|
+
createParse: () => LlmCreateParseTransformer.transform,
|
|
430
|
+
coerce: () => LlmCoerceTransformer.transform,
|
|
431
|
+
createCoerce: () => LlmCreateCoerceTransformer.transform,
|
|
424
432
|
},
|
|
425
433
|
json: {
|
|
426
434
|
// METADATA
|