@typia/transform 12.0.0-dev.20260307-2 → 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.
Files changed (67) hide show
  1. package/lib/CallExpressionTransformer.js +8 -0
  2. package/lib/CallExpressionTransformer.js.map +1 -1
  3. package/lib/CallExpressionTransformer.mjs +8 -0
  4. package/lib/CallExpressionTransformer.mjs.map +1 -1
  5. package/lib/features/json/JsonApplicationTransformer.js +3 -4
  6. package/lib/features/json/JsonApplicationTransformer.js.map +1 -1
  7. package/lib/features/json/JsonApplicationTransformer.mjs +4 -5
  8. package/lib/features/json/JsonApplicationTransformer.mjs.map +1 -1
  9. package/lib/features/json/JsonSchemaTransformer.js +2 -8
  10. package/lib/features/json/JsonSchemaTransformer.js.map +1 -1
  11. package/lib/features/json/JsonSchemaTransformer.mjs +3 -9
  12. package/lib/features/json/JsonSchemaTransformer.mjs.map +1 -1
  13. package/lib/features/json/JsonSchemasTransformer.js +2 -8
  14. package/lib/features/json/JsonSchemasTransformer.js.map +1 -1
  15. package/lib/features/json/JsonSchemasTransformer.mjs +3 -9
  16. package/lib/features/json/JsonSchemasTransformer.mjs.map +1 -1
  17. package/lib/features/llm/LlmApplicationTransformer.js +56 -20
  18. package/lib/features/llm/LlmApplicationTransformer.js.map +1 -1
  19. package/lib/features/llm/LlmApplicationTransformer.mjs +56 -20
  20. package/lib/features/llm/LlmApplicationTransformer.mjs.map +1 -1
  21. package/lib/features/llm/LlmCoerceTransformer.d.ts +5 -0
  22. package/lib/features/llm/LlmCoerceTransformer.js +81 -0
  23. package/lib/features/llm/LlmCoerceTransformer.js.map +1 -0
  24. package/lib/features/llm/LlmCoerceTransformer.mjs +77 -0
  25. package/lib/features/llm/LlmCoerceTransformer.mjs.map +1 -0
  26. package/lib/features/llm/LlmControllerTransformer.js +12 -10
  27. package/lib/features/llm/LlmControllerTransformer.js.map +1 -1
  28. package/lib/features/llm/LlmControllerTransformer.mjs +12 -10
  29. package/lib/features/llm/LlmControllerTransformer.mjs.map +1 -1
  30. package/lib/features/llm/LlmCreateCoerceTransformer.d.ts +5 -0
  31. package/lib/features/llm/LlmCreateCoerceTransformer.js +75 -0
  32. package/lib/features/llm/LlmCreateCoerceTransformer.js.map +1 -0
  33. package/lib/features/llm/LlmCreateCoerceTransformer.mjs +71 -0
  34. package/lib/features/llm/LlmCreateCoerceTransformer.mjs.map +1 -0
  35. package/lib/features/llm/LlmCreateParseTransformer.d.ts +5 -0
  36. package/lib/features/llm/LlmCreateParseTransformer.js +75 -0
  37. package/lib/features/llm/LlmCreateParseTransformer.js.map +1 -0
  38. package/lib/features/llm/LlmCreateParseTransformer.mjs +71 -0
  39. package/lib/features/llm/LlmCreateParseTransformer.mjs.map +1 -0
  40. package/lib/features/llm/LlmParametersTransformer.d.ts +1 -1
  41. package/lib/features/llm/LlmParametersTransformer.js +3 -6
  42. package/lib/features/llm/LlmParametersTransformer.js.map +1 -1
  43. package/lib/features/llm/LlmParametersTransformer.mjs +4 -7
  44. package/lib/features/llm/LlmParametersTransformer.mjs.map +1 -1
  45. package/lib/features/llm/LlmParseTransformer.d.ts +5 -0
  46. package/lib/features/llm/LlmParseTransformer.js +81 -0
  47. package/lib/features/llm/LlmParseTransformer.js.map +1 -0
  48. package/lib/features/llm/LlmParseTransformer.mjs +77 -0
  49. package/lib/features/llm/LlmParseTransformer.mjs.map +1 -0
  50. package/lib/features/llm/LlmSchemaTransformer.d.ts +1 -1
  51. package/lib/features/llm/LlmSchemaTransformer.js +10 -25
  52. package/lib/features/llm/LlmSchemaTransformer.js.map +1 -1
  53. package/lib/features/llm/LlmSchemaTransformer.mjs +11 -26
  54. package/lib/features/llm/LlmSchemaTransformer.mjs.map +1 -1
  55. package/package.json +4 -4
  56. package/src/CallExpressionTransformer.ts +8 -0
  57. package/src/features/json/JsonApplicationTransformer.ts +7 -10
  58. package/src/features/json/JsonSchemaTransformer.ts +3 -15
  59. package/src/features/json/JsonSchemasTransformer.ts +3 -15
  60. package/src/features/llm/LlmApplicationTransformer.ts +66 -26
  61. package/src/features/llm/LlmCoerceTransformer.ts +95 -0
  62. package/src/features/llm/LlmControllerTransformer.ts +19 -14
  63. package/src/features/llm/LlmCreateCoerceTransformer.ts +84 -0
  64. package/src/features/llm/LlmCreateParseTransformer.ts +84 -0
  65. package/src/features/llm/LlmParametersTransformer.ts +4 -16
  66. package/src/features/llm/LlmParseTransformer.ts +95 -0
  67. 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: Omit<ITransformProps, "modulo">) => ts.Expression;
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
- const out = core_1.LlmParametersProgrammer.write({
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,sCAOqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,wBAAwB,CAyExC;AAzED,WAAiB,wBAAwB;IAC1B,kCAAS,GAAG,CACvB,KAAsC,EACvB,EAAE;;QACjB,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,sBAAsB;QACtB,MAAM,GAAG,GAA2B,8BAAuB,CAAC,KAAK,CAAC;YAChE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,MAAM;SACP,CAAC,CAAC;QACH,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC,qBAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EACzB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAC3C;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EAzEgB,wBAAwB,wCAAxB,wBAAwB,QAyExC"}
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, LiteralFactory, MetadataFactory, MetadataCollection } from '@typia/core';
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
- const out = LlmParametersProgrammer.write({
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":";;;;AAcM,IAAW;AAAjB,CAAA,UAAiB,wBAAwB,EAAA;AAC1B,IAAA,wBAAA,CAAA,SAAS,GAAG,CACvB,KAAsC,KACrB;;AAEjB,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;;AAGb,QAAA,MAAM,GAAG,GAA2B,uBAAuB,CAAC,KAAK,CAAC;AAChE,YAAA,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,MAAM;AACP,SAAA,CAAC;QACF,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EACzB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAClC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAC3C;AACF,SAAA,CAAC,CACH;AACH,IAAA,CAAC;AACH,CAAC,EAzEgB,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;;;"}
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,5 @@
1
+ import ts from "typescript";
2
+ import { ITransformProps } from "../../ITransformProps";
3
+ export declare namespace LlmParseTransformer {
4
+ const transform: (props: ITransformProps) => ts.Expression;
5
+ }
@@ -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: Omit<ITransformProps, "modulo">) => ts.Expression;
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 out = core_1.LlmSchemaProgrammer.write({
60
+ const expr = core_1.LlmSchemaProgrammer.write({
61
+ context: props.context,
61
62
  metadata: analyze(false),
62
63
  config,
63
64
  });
64
- const schemaTypeNode = props.context.importer.type({
65
- file: "typia",
66
- name: "ILlmSchema",
67
- });
68
- const literal = typescript_1.default.factory.createSatisfiesExpression(core_1.LiteralFactory.write(out.schema), schemaTypeNode);
69
- if (Object.keys(out.$defs).length === 0)
70
- return literal;
71
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [
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":"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"}
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, LiteralFactory, IdentifierFactory, MetadataFactory, MetadataCollection } from '@typia/core';
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 out = LlmSchemaProgrammer.write({
54
+ const expr = LlmSchemaProgrammer.write({
55
+ context: props.context,
55
56
  metadata: analyze(false),
56
57
  config,
57
58
  });
58
- const schemaTypeNode = props.context.importer.type({
59
- file: "typia",
60
- name: "ILlmSchema",
61
- });
62
- const literal = ts.factory.createSatisfiesExpression(LiteralFactory.write(out.schema), schemaTypeNode);
63
- if (Object.keys(out.$defs).length === 0)
64
- return literal;
65
- return ts.factory.createCallExpression(ts.factory.createArrowFunction(undefined, undefined, [
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":"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"}
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.20260307-2",
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/interface": "^12.0.0-dev.20260307-2",
26
- "@typia/utils": "^12.0.0-dev.20260307-2",
27
- "@typia/core": "^12.0.0-dev.20260307-2"
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