typia 10.0.2 → 11.0.0

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 (86) hide show
  1. package/README.md +14 -10
  2. package/lib/factories/internal/metadata/emplace_metadata_object.js +11 -1
  3. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  4. package/lib/factories/internal/metadata/emplace_metadata_object.mjs +11 -0
  5. package/lib/index.mjs +2 -2
  6. package/lib/internal/_createStandardSchema.d.mts +1 -1
  7. package/lib/internal/_createStandardSchema.d.ts +1 -1
  8. package/lib/internal/_createStandardSchema.js.map +1 -1
  9. package/lib/internal/_llmApplicationFinalize.d.mts +2 -2
  10. package/lib/internal/_llmApplicationFinalize.d.ts +2 -2
  11. package/lib/internal/_llmApplicationFinalize.js +9 -10
  12. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  13. package/lib/internal/_llmApplicationFinalize.mjs +12 -13
  14. package/lib/llm.d.mts +20 -199
  15. package/lib/llm.d.ts +20 -199
  16. package/lib/llm.js.map +1 -1
  17. package/lib/misc.d.mts +3 -3
  18. package/lib/misc.d.ts +3 -3
  19. package/lib/misc.js.map +1 -1
  20. package/lib/module.d.mts +2 -2
  21. package/lib/module.d.ts +2 -2
  22. package/lib/programmers/internal/json_schema_object.js +1 -0
  23. package/lib/programmers/internal/json_schema_object.js.map +1 -1
  24. package/lib/programmers/internal/json_schema_object.mjs +1 -0
  25. package/lib/programmers/llm/LlmApplicationProgrammer.d.mts +8 -8
  26. package/lib/programmers/llm/LlmApplicationProgrammer.d.ts +8 -8
  27. package/lib/programmers/llm/LlmApplicationProgrammer.js +58 -64
  28. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  29. package/lib/programmers/llm/LlmApplicationProgrammer.mjs +63 -68
  30. package/lib/programmers/llm/{LlmModelPredicator.d.mts → LlmMetadataFactory.d.mts} +2 -8
  31. package/lib/programmers/llm/{LlmModelPredicator.d.ts → LlmMetadataFactory.d.ts} +2 -8
  32. package/lib/programmers/llm/{LlmModelPredicator.js → LlmMetadataFactory.js} +6 -37
  33. package/lib/programmers/llm/LlmMetadataFactory.js.map +1 -0
  34. package/lib/programmers/llm/{LlmModelPredicator.mjs → LlmMetadataFactory.mjs} +6 -34
  35. package/lib/programmers/llm/LlmMetadataFactory.mjs.map +1 -0
  36. package/lib/programmers/llm/LlmParametersProgrammer.d.mts +8 -8
  37. package/lib/programmers/llm/LlmParametersProgrammer.d.ts +8 -8
  38. package/lib/programmers/llm/LlmParametersProgrammer.js +10 -10
  39. package/lib/programmers/llm/LlmParametersProgrammer.js.map +1 -1
  40. package/lib/programmers/llm/LlmParametersProgrammer.mjs +10 -13
  41. package/lib/programmers/llm/LlmSchemaProgrammer.d.mts +10 -12
  42. package/lib/programmers/llm/LlmSchemaProgrammer.d.ts +10 -12
  43. package/lib/programmers/llm/LlmSchemaProgrammer.js +21 -33
  44. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  45. package/lib/programmers/llm/LlmSchemaProgrammer.mjs +21 -37
  46. package/lib/schemas/metadata/IMetadataProperty.d.mts +1 -0
  47. package/lib/schemas/metadata/IMetadataProperty.d.ts +1 -0
  48. package/lib/schemas/metadata/MetadataProperty.d.mts +1 -0
  49. package/lib/schemas/metadata/MetadataProperty.d.ts +1 -0
  50. package/lib/schemas/metadata/MetadataProperty.js +3 -0
  51. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  52. package/lib/schemas/metadata/MetadataProperty.mjs +4 -0
  53. package/lib/transformers/features/llm/LlmApplicationTransformer.d.mts +0 -2
  54. package/lib/transformers/features/llm/LlmApplicationTransformer.d.ts +0 -2
  55. package/lib/transformers/features/llm/LlmApplicationTransformer.js +9 -20
  56. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  57. package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +9 -20
  58. package/lib/transformers/features/llm/LlmControllerTransformer.js +1 -8
  59. package/lib/transformers/features/llm/LlmControllerTransformer.js.map +1 -1
  60. package/lib/transformers/features/llm/LlmControllerTransformer.mjs +1 -8
  61. package/lib/transformers/features/llm/LlmParametersTransformer.js +6 -15
  62. package/lib/transformers/features/llm/LlmParametersTransformer.js.map +1 -1
  63. package/lib/transformers/features/llm/LlmParametersTransformer.mjs +6 -15
  64. package/lib/transformers/features/llm/LlmSchemaTransformer.js +11 -26
  65. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  66. package/lib/transformers/features/llm/LlmSchemaTransformer.mjs +11 -26
  67. package/package.json +4 -3
  68. package/src/factories/internal/metadata/emplace_metadata_object.ts +16 -0
  69. package/src/internal/_createStandardSchema.ts +2 -2
  70. package/src/internal/_llmApplicationFinalize.ts +18 -25
  71. package/src/llm.ts +28 -221
  72. package/src/misc.ts +9 -9
  73. package/src/module.ts +2 -2
  74. package/src/programmers/internal/json_schema_object.ts +1 -0
  75. package/src/programmers/llm/LlmApplicationProgrammer.ts +139 -151
  76. package/src/programmers/llm/{LlmModelPredicator.ts → LlmMetadataFactory.ts} +4 -42
  77. package/src/programmers/llm/LlmParametersProgrammer.ts +34 -41
  78. package/src/programmers/llm/LlmSchemaProgrammer.ts +59 -98
  79. package/src/schemas/metadata/IMetadataProperty.ts +1 -0
  80. package/src/schemas/metadata/MetadataProperty.ts +4 -0
  81. package/src/transformers/features/llm/LlmApplicationTransformer.ts +14 -29
  82. package/src/transformers/features/llm/LlmControllerTransformer.ts +1 -12
  83. package/src/transformers/features/llm/LlmParametersTransformer.ts +10 -21
  84. package/src/transformers/features/llm/LlmSchemaTransformer.ts +29 -65
  85. package/lib/programmers/llm/LlmModelPredicator.js.map +0 -1
  86. package/lib/programmers/llm/LlmModelPredicator.mjs.map +0 -1
@@ -11,59 +11,56 @@ const LlmSchemaProgrammer_1 = require("./LlmSchemaProgrammer");
11
11
  var LlmApplicationProgrammer;
12
12
  (function (LlmApplicationProgrammer) {
13
13
  LlmApplicationProgrammer.validate = (props) => {
14
- let top;
15
- return (metadata, explore) => {
16
- var _a, _b, _c, _d, _e, _f, _g;
17
- top !== null && top !== void 0 ? top : (top = metadata);
18
- if (explore.top === false)
19
- if (explore.object === ((_a = top === null || top === void 0 ? void 0 : top.objects[0]) === null || _a === void 0 ? void 0 : _a.type) &&
20
- typeof explore.property === "string" &&
21
- metadata.size() === 1 &&
22
- metadata.nullable === false &&
23
- metadata.isRequired() === true &&
24
- metadata.functions.length === 1)
25
- return validateFunction(explore.property, metadata.functions[0]);
26
- else
27
- return LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate(props)(metadata);
28
- const output = [];
29
- const validity = metadata.size() === 1 &&
30
- metadata.objects.length === 1 &&
31
- metadata.isRequired() === true &&
32
- metadata.nullable === false;
33
- if (validity === false)
34
- output.push("LLM application's generic argument must be a class/interface type.");
35
- const object = (_b = metadata.objects[0]) === null || _b === void 0 ? void 0 : _b.type;
36
- if (object !== undefined) {
37
- if (object.properties.some((p) => p.key.isSoleLiteral() === false))
38
- output.push("LLM application does not allow dynamic keys on class/interface type.");
39
- let least = false;
40
- for (const p of object.properties) {
41
- const name = JSON.stringify(p.key.getSoleLiteral());
42
- const value = p.value;
43
- if (value.functions.length) {
44
- least || (least = true);
45
- if (validity === false) {
46
- if (value.functions.length !== 1 || value.size() !== 1)
47
- output.push(`LLM application's function (${name}) type does not allow union type.`);
48
- if (value.isRequired() === false)
49
- output.push(`LLM application's function (${name}) type must be required.`);
50
- if (value.nullable === true)
51
- output.push(`LLM application's function (${name}) type must not be nullable.`);
52
- }
53
- const description = concatDescription(JsonApplicationProgrammer_1.JsonApplicationProgrammer.writeDescription({
54
- description: (_g = (_c = p.description) !== null && _c !== void 0 ? _c : (_f = (_e = (_d = p.jsDocTags.find((tag) => tag.name === "description")) === null || _d === void 0 ? void 0 : _d.text) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.text) !== null && _g !== void 0 ? _g : null,
55
- jsDocTags: p.jsDocTags,
56
- kind: "summary",
57
- }));
58
- if (description !== undefined && description.length > 1024)
59
- output.push(`LLM application's function (${name}) description must not exceed 1,024 characters.`);
14
+ var _a, _b, _c, _d, _e, _f, _g;
15
+ const top = props.metadata;
16
+ if (props.explore.top === false)
17
+ if (props.explore.object === ((_a = top === null || top === void 0 ? void 0 : top.objects[0]) === null || _a === void 0 ? void 0 : _a.type) &&
18
+ typeof props.explore.property === "string" &&
19
+ props.metadata.size() === 1 &&
20
+ props.metadata.nullable === false &&
21
+ props.metadata.isRequired() === true &&
22
+ props.metadata.functions.length === 1)
23
+ return validateFunction(props.explore.property, props.metadata.functions[0]);
24
+ else
25
+ return LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate(props);
26
+ const output = [];
27
+ const validity = props.metadata.size() === 1 &&
28
+ props.metadata.objects.length === 1 &&
29
+ props.metadata.isRequired() === true &&
30
+ props.metadata.nullable === false;
31
+ if (validity === false)
32
+ output.push("LLM application's generic argument must be a class/interface type.");
33
+ const object = (_b = props.metadata.objects[0]) === null || _b === void 0 ? void 0 : _b.type;
34
+ if (object !== undefined) {
35
+ if (object.properties.some((p) => p.key.isSoleLiteral() === false))
36
+ output.push("LLM application does not allow dynamic keys on class/interface type.");
37
+ let least = false;
38
+ for (const p of object.properties) {
39
+ const name = JSON.stringify(p.key.getSoleLiteral());
40
+ const value = p.value;
41
+ if (value.functions.length) {
42
+ least || (least = true);
43
+ if (validity === false) {
44
+ if (value.functions.length !== 1 || value.size() !== 1)
45
+ output.push(`LLM application's function (${name}) type does not allow union type.`);
46
+ if (value.isRequired() === false)
47
+ output.push(`LLM application's function (${name}) type must be required.`);
48
+ if (value.nullable === true)
49
+ output.push(`LLM application's function (${name}) type must not be nullable.`);
60
50
  }
51
+ const description = concatDescription(JsonApplicationProgrammer_1.JsonApplicationProgrammer.writeDescription({
52
+ description: (_g = (_c = p.description) !== null && _c !== void 0 ? _c : (_f = (_e = (_d = p.jsDocTags.find((tag) => tag.name === "description")) === null || _d === void 0 ? void 0 : _d.text) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.text) !== null && _g !== void 0 ? _g : null,
53
+ jsDocTags: p.jsDocTags,
54
+ kind: "summary",
55
+ }));
56
+ if (description !== undefined && description.length > 1024)
57
+ output.push(`LLM application's function (${name}) description must not exceed 1,024 characters.`);
61
58
  }
62
- if (least === false)
63
- output.push("LLM application's target type must have at least a function type.");
64
59
  }
65
- return output;
66
- };
60
+ if (least === false)
61
+ output.push("LLM application's target type must have at least a function type.");
62
+ }
63
+ return output;
67
64
  };
68
65
  const validateFunction = (name, func) => {
69
66
  var _a;
@@ -115,7 +112,6 @@ var LlmApplicationProgrammer;
115
112
  const functions = application.functions.map((func) => {
116
113
  var _a;
117
114
  return writeFunction({
118
- model: props.model,
119
115
  context: props.context,
120
116
  modulo: props.modulo,
121
117
  className: props.name,
@@ -130,19 +126,19 @@ var LlmApplicationProgrammer;
130
126
  throw new Error("Failed to write LLM application:\n\n" +
131
127
  errorMessages.map((str) => ` - ${str}`).join("\n"));
132
128
  return {
133
- model: props.model,
134
- options: Object.assign(Object.assign(Object.assign({}, LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model)), props.config), { separate: null }),
135
- functions: functions,
129
+ config: Object.assign(Object.assign({}, LlmSchemaComposer_1.LlmSchemaComposer.getConfig(props.config)), { separate: null, validate: null }),
130
+ functions: functions.filter((f) => f !== null),
136
131
  };
137
132
  };
138
133
  const writeFunction = (props) => {
139
134
  var _a, _b, _c, _d, _e, _f;
140
- const parameters = writeParameters(Object.assign(Object.assign({}, props), { accessor: `$input.${props.function.name}.parameters` }));
135
+ const config = LlmSchemaComposer_1.LlmSchemaComposer.getConfig(props.config);
136
+ const parameters = writeParameters(Object.assign(Object.assign({}, props), { config, accessor: `$input.${props.function.name}.parameters` }));
141
137
  if (parameters === null)
142
138
  return null;
143
139
  const output = writeOutput({
144
- model: props.model,
145
140
  parameters,
141
+ config,
146
142
  components: props.components,
147
143
  schema: (_b = (_a = props.function.output) === null || _a === void 0 ? void 0 : _a.schema) !== null && _b !== void 0 ? _b : null,
148
144
  errors: props.errors,
@@ -150,17 +146,15 @@ var LlmApplicationProgrammer;
150
146
  });
151
147
  if (output === null)
152
148
  return null;
153
- const isReference = (schema) => openapi_1.ChatGptTypeChecker.isReference(schema);
154
149
  if (output &&
155
- props.model !== "chatgpt" &&
156
- isReference(output) === false &&
150
+ openapi_1.LlmTypeChecker.isReference(output) === false &&
157
151
  output.description === undefined &&
158
152
  !!((_d = (_c = props.function.output) === null || _c === void 0 ? void 0 : _c.description) === null || _d === void 0 ? void 0 : _d.length))
159
153
  output.description = props.function.output.description;
160
154
  return {
161
155
  name: props.function.name,
162
156
  parameters,
163
- output: (output !== null && output !== void 0 ? output : undefined),
157
+ output: output !== null && output !== void 0 ? output : undefined,
164
158
  description: (() => {
165
159
  var _a, _b;
166
160
  if (!((_a = props.function.summary) === null || _a === void 0 ? void 0 : _a.length) ||
@@ -193,8 +187,8 @@ var LlmApplicationProgrammer;
193
187
  additionalProperties: false,
194
188
  required: [],
195
189
  };
196
- const result = LlmSchemaComposer_1.LlmSchemaComposer.parameters(props.model)({
197
- config: LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model),
190
+ const result = LlmSchemaComposer_1.LlmSchemaComposer.parameters({
191
+ config: props.config,
198
192
  components: props.components,
199
193
  schema: Object.assign(Object.assign({}, schema), { title: (_c = schema.title) !== null && _c !== void 0 ? _c : (_d = props.function.parameters[0]) === null || _d === void 0 ? void 0 : _d.title, description: (_e = schema.description) !== null && _e !== void 0 ? _e : (_f = props.function.parameters[0]) === null || _f === void 0 ? void 0 : _f.description }),
200
194
  accessor: props.accessor,
@@ -208,8 +202,8 @@ var LlmApplicationProgrammer;
208
202
  const writeOutput = (props) => {
209
203
  if (props.schema === null)
210
204
  return undefined;
211
- const result = LlmSchemaComposer_1.LlmSchemaComposer.schema(props.model)({
212
- config: LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model),
205
+ const result = LlmSchemaComposer_1.LlmSchemaComposer.schema({
206
+ config: props.config,
213
207
  components: props.components,
214
208
  schema: props.schema,
215
209
  $defs: props.parameters.$defs,
@@ -1 +1 @@
1
- {"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ChatGptTypeChecker } from '@samchon/openapi';
1
+ import { LlmTypeChecker } from '@samchon/openapi';
2
2
  import { LlmSchemaComposer } from '@samchon/openapi/lib/composers/LlmSchemaComposer.mjs';
3
3
  import { TypeFactory } from '../../factories/TypeFactory.mjs';
4
4
  import { Metadata } from '../../schemas/metadata/Metadata.mjs';
@@ -9,61 +9,58 @@ import { LlmSchemaProgrammer } from './LlmSchemaProgrammer.mjs';
9
9
  var LlmApplicationProgrammer;
10
10
  (function (LlmApplicationProgrammer) {
11
11
  LlmApplicationProgrammer.validate = (props) => {
12
- let top;
13
- return (metadata, explore) => {
14
- top ??= metadata;
15
- if (explore.top === false)
16
- if (explore.object === top?.objects[0]?.type &&
17
- typeof explore.property === "string" &&
18
- metadata.size() === 1 &&
19
- metadata.nullable === false &&
20
- metadata.isRequired() === true &&
21
- metadata.functions.length === 1)
22
- return validateFunction(explore.property, metadata.functions[0]);
23
- else
24
- return LlmSchemaProgrammer.validate(props)(metadata);
25
- const output = [];
26
- const validity = metadata.size() === 1 &&
27
- metadata.objects.length === 1 &&
28
- metadata.isRequired() === true &&
29
- metadata.nullable === false;
30
- if (validity === false)
31
- output.push("LLM application's generic argument must be a class/interface type.");
32
- const object = metadata.objects[0]?.type;
33
- if (object !== undefined) {
34
- if (object.properties.some((p) => p.key.isSoleLiteral() === false))
35
- output.push("LLM application does not allow dynamic keys on class/interface type.");
36
- let least = false;
37
- for (const p of object.properties) {
38
- const name = JSON.stringify(p.key.getSoleLiteral());
39
- const value = p.value;
40
- if (value.functions.length) {
41
- least ||= true;
42
- if (validity === false) {
43
- if (value.functions.length !== 1 || value.size() !== 1)
44
- output.push(`LLM application's function (${name}) type does not allow union type.`);
45
- if (value.isRequired() === false)
46
- output.push(`LLM application's function (${name}) type must be required.`);
47
- if (value.nullable === true)
48
- output.push(`LLM application's function (${name}) type must not be nullable.`);
49
- }
50
- const description = concatDescription(JsonApplicationProgrammer.writeDescription({
51
- description: p.description ??
52
- p.jsDocTags.find((tag) => tag.name === "description")
53
- ?.text?.[0]?.text ??
54
- null,
55
- jsDocTags: p.jsDocTags,
56
- kind: "summary",
57
- }));
58
- if (description !== undefined && description.length > 1_024)
59
- output.push(`LLM application's function (${name}) description must not exceed 1,024 characters.`);
12
+ const top = props.metadata;
13
+ if (props.explore.top === false)
14
+ if (props.explore.object === top?.objects[0]?.type &&
15
+ typeof props.explore.property === "string" &&
16
+ props.metadata.size() === 1 &&
17
+ props.metadata.nullable === false &&
18
+ props.metadata.isRequired() === true &&
19
+ props.metadata.functions.length === 1)
20
+ return validateFunction(props.explore.property, props.metadata.functions[0]);
21
+ else
22
+ return LlmSchemaProgrammer.validate(props);
23
+ const output = [];
24
+ const validity = props.metadata.size() === 1 &&
25
+ props.metadata.objects.length === 1 &&
26
+ props.metadata.isRequired() === true &&
27
+ props.metadata.nullable === false;
28
+ if (validity === false)
29
+ output.push("LLM application's generic argument must be a class/interface type.");
30
+ const object = props.metadata.objects[0]?.type;
31
+ if (object !== undefined) {
32
+ if (object.properties.some((p) => p.key.isSoleLiteral() === false))
33
+ output.push("LLM application does not allow dynamic keys on class/interface type.");
34
+ let least = false;
35
+ for (const p of object.properties) {
36
+ const name = JSON.stringify(p.key.getSoleLiteral());
37
+ const value = p.value;
38
+ if (value.functions.length) {
39
+ least ||= true;
40
+ if (validity === false) {
41
+ if (value.functions.length !== 1 || value.size() !== 1)
42
+ output.push(`LLM application's function (${name}) type does not allow union type.`);
43
+ if (value.isRequired() === false)
44
+ output.push(`LLM application's function (${name}) type must be required.`);
45
+ if (value.nullable === true)
46
+ output.push(`LLM application's function (${name}) type must not be nullable.`);
60
47
  }
48
+ const description = concatDescription(JsonApplicationProgrammer.writeDescription({
49
+ description: p.description ??
50
+ p.jsDocTags.find((tag) => tag.name === "description")?.text?.[0]
51
+ ?.text ??
52
+ null,
53
+ jsDocTags: p.jsDocTags,
54
+ kind: "summary",
55
+ }));
56
+ if (description !== undefined && description.length > 1_024)
57
+ output.push(`LLM application's function (${name}) description must not exceed 1,024 characters.`);
61
58
  }
62
- if (least === false)
63
- output.push("LLM application's target type must have at least a function type.");
64
59
  }
65
- return output;
66
- };
60
+ if (least === false)
61
+ output.push("LLM application's target type must have at least a function type.");
62
+ }
63
+ return output;
67
64
  };
68
65
  const validateFunction = (name, func) => {
69
66
  const output = [];
@@ -112,7 +109,6 @@ var LlmApplicationProgrammer;
112
109
  filter: (p) => p.jsDocTags.some((tag) => tag.name === "human") === false,
113
110
  });
114
111
  const functions = application.functions.map((func) => writeFunction({
115
- model: props.model,
116
112
  context: props.context,
117
113
  modulo: props.modulo,
118
114
  className: props.name,
@@ -126,25 +122,26 @@ var LlmApplicationProgrammer;
126
122
  throw new Error("Failed to write LLM application:\n\n" +
127
123
  errorMessages.map((str) => ` - ${str}`).join("\n"));
128
124
  return {
129
- model: props.model,
130
- options: {
131
- ...LlmSchemaComposer.defaultConfig(props.model),
132
- ...props.config,
125
+ config: {
126
+ ...LlmSchemaComposer.getConfig(props.config),
133
127
  separate: null,
128
+ validate: null,
134
129
  },
135
- functions: functions,
130
+ functions: functions.filter((f) => f !== null),
136
131
  };
137
132
  };
138
133
  const writeFunction = (props) => {
134
+ const config = LlmSchemaComposer.getConfig(props.config);
139
135
  const parameters = writeParameters({
140
136
  ...props,
137
+ config,
141
138
  accessor: `$input.${props.function.name}.parameters`,
142
139
  });
143
140
  if (parameters === null)
144
141
  return null;
145
142
  const output = writeOutput({
146
- model: props.model,
147
143
  parameters,
144
+ config,
148
145
  components: props.components,
149
146
  schema: props.function.output?.schema ?? null,
150
147
  errors: props.errors,
@@ -152,17 +149,15 @@ var LlmApplicationProgrammer;
152
149
  });
153
150
  if (output === null)
154
151
  return null;
155
- const isReference = (schema) => ChatGptTypeChecker.isReference(schema);
156
152
  if (output &&
157
- props.model !== "chatgpt" &&
158
- isReference(output) === false &&
153
+ LlmTypeChecker.isReference(output) === false &&
159
154
  output.description === undefined &&
160
155
  !!props.function.output?.description?.length)
161
156
  output.description = props.function.output.description;
162
157
  return {
163
158
  name: props.function.name,
164
159
  parameters,
165
- output: (output ?? undefined),
160
+ output: output ?? undefined,
166
161
  description: (() => {
167
162
  if (!props.function.summary?.length ||
168
163
  !props.function.description?.length)
@@ -193,8 +188,8 @@ var LlmApplicationProgrammer;
193
188
  additionalProperties: false,
194
189
  required: [],
195
190
  };
196
- const result = LlmSchemaComposer.parameters(props.model)({
197
- config: LlmSchemaComposer.defaultConfig(props.model),
191
+ const result = LlmSchemaComposer.parameters({
192
+ config: props.config,
198
193
  components: props.components,
199
194
  schema: {
200
195
  ...schema,
@@ -212,8 +207,8 @@ var LlmApplicationProgrammer;
212
207
  const writeOutput = (props) => {
213
208
  if (props.schema === null)
214
209
  return undefined;
215
- const result = LlmSchemaComposer.schema(props.model)({
216
- config: LlmSchemaComposer.defaultConfig(props.model),
210
+ const result = LlmSchemaComposer.schema({
211
+ config: props.config,
217
212
  components: props.components,
218
213
  schema: props.schema,
219
214
  $defs: props.parameters.$defs,
@@ -1,18 +1,12 @@
1
1
  import { ILlmSchema } from "@samchon/openapi";
2
2
  import ts from "typescript";
3
3
  import { ITypiaContext } from "../../transformers/ITypiaContext";
4
- export declare namespace LlmModelPredicator {
4
+ export declare namespace LlmMetadataFactory {
5
5
  const getConfig: (props: {
6
6
  context: ITypiaContext;
7
7
  method: string;
8
- model: ILlmSchema.Model;
9
8
  node: ts.TypeNode | undefined;
10
- }) => Partial<ILlmSchema.ModelConfig[ILlmSchema.Model] & {
9
+ }) => Partial<ILlmSchema.IConfig & {
11
10
  equals: boolean;
12
11
  }> | undefined;
13
- const getModel: (props: {
14
- checker: ts.TypeChecker;
15
- method: string;
16
- node: ts.TypeNode | undefined;
17
- }) => ILlmSchema.Model;
18
12
  }
@@ -1,18 +1,12 @@
1
1
  import { ILlmSchema } from "@samchon/openapi";
2
2
  import ts from "typescript";
3
3
  import { ITypiaContext } from "../../transformers/ITypiaContext";
4
- export declare namespace LlmModelPredicator {
4
+ export declare namespace LlmMetadataFactory {
5
5
  const getConfig: (props: {
6
6
  context: ITypiaContext;
7
7
  method: string;
8
- model: ILlmSchema.Model;
9
8
  node: ts.TypeNode | undefined;
10
- }) => Partial<ILlmSchema.ModelConfig[ILlmSchema.Model] & {
9
+ }) => Partial<ILlmSchema.IConfig & {
11
10
  equals: boolean;
12
11
  }> | undefined;
13
- const getModel: (props: {
14
- checker: ts.TypeChecker;
15
- method: string;
16
- node: ts.TypeNode | undefined;
17
- }) => ILlmSchema.Model;
18
12
  }
@@ -1,17 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LlmModelPredicator = void 0;
7
- const LlmSchemaComposer_1 = require("@samchon/openapi/lib/composers/LlmSchemaComposer");
8
- const typescript_1 = __importDefault(require("typescript"));
3
+ exports.LlmMetadataFactory = void 0;
9
4
  const MetadataCollection_1 = require("../../factories/MetadataCollection");
10
5
  const MetadataFactory_1 = require("../../factories/MetadataFactory");
11
6
  const TransformerError_1 = require("../../transformers/TransformerError");
12
- var LlmModelPredicator;
13
- (function (LlmModelPredicator) {
14
- LlmModelPredicator.getConfig = (props) => {
7
+ var LlmMetadataFactory;
8
+ (function (LlmMetadataFactory) {
9
+ LlmMetadataFactory.getConfig = (props) => {
15
10
  if (props.node === undefined)
16
11
  return undefined;
17
12
  const type = props.context.checker.getTypeFromTypeNode(props.node);
@@ -69,31 +64,5 @@ var LlmModelPredicator;
69
64
  }
70
65
  return config;
71
66
  };
72
- LlmModelPredicator.getModel = (props) => {
73
- if (props.node === undefined)
74
- throw new TransformerError_1.TransformerError({
75
- code: `typia.llm.${props.method}`,
76
- message: `generic argument "Model" must be specified.`,
77
- });
78
- // CHECK LITERAL TYPE
79
- const type = props.checker.getTypeFromTypeNode(props.node);
80
- if (!type.isLiteral() &&
81
- (type.getFlags() & typescript_1.default.TypeFlags.BooleanLiteral) === 0)
82
- throw new TransformerError_1.TransformerError({
83
- code: `typia.llm.${props.method}`,
84
- message: `generic argument "Model" must be constant.`,
85
- });
86
- // GET VALUE AND VALIDATE IT
87
- const value = type.isLiteral()
88
- ? type.value
89
- : props.checker.typeToString(type);
90
- if (typeof value !== "string" ||
91
- LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(value) === undefined)
92
- throw new TransformerError_1.TransformerError({
93
- code: "typia.llm.schema",
94
- message: `invalid value on generic argument "Model".`,
95
- });
96
- return value;
97
- };
98
- })(LlmModelPredicator || (exports.LlmModelPredicator = LlmModelPredicator = {}));
99
- //# sourceMappingURL=LlmModelPredicator.js.map
67
+ })(LlmMetadataFactory || (exports.LlmMetadataFactory = LlmMetadataFactory = {}));
68
+ //# sourceMappingURL=LlmMetadataFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmMetadataFactory.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmMetadataFactory.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
- import { LlmSchemaComposer } from '@samchon/openapi/lib/composers/LlmSchemaComposer.mjs';
2
- import ts from 'typescript';
3
1
  import { MetadataCollection } from '../../factories/MetadataCollection.mjs';
4
2
  import { MetadataFactory } from '../../factories/MetadataFactory.mjs';
5
3
  import { TransformerError } from '../../transformers/TransformerError.mjs';
6
4
 
7
- var LlmModelPredicator;
8
- (function (LlmModelPredicator) {
9
- LlmModelPredicator.getConfig = (props) => {
5
+ var LlmMetadataFactory;
6
+ (function (LlmMetadataFactory) {
7
+ LlmMetadataFactory.getConfig = (props) => {
10
8
  if (props.node === undefined)
11
9
  return undefined;
12
10
  const type = props.context.checker.getTypeFromTypeNode(props.node);
@@ -64,33 +62,7 @@ var LlmModelPredicator;
64
62
  }
65
63
  return config;
66
64
  };
67
- LlmModelPredicator.getModel = (props) => {
68
- if (props.node === undefined)
69
- throw new TransformerError({
70
- code: `typia.llm.${props.method}`,
71
- message: `generic argument "Model" must be specified.`,
72
- });
73
- // CHECK LITERAL TYPE
74
- const type = props.checker.getTypeFromTypeNode(props.node);
75
- if (!type.isLiteral() &&
76
- (type.getFlags() & ts.TypeFlags.BooleanLiteral) === 0)
77
- throw new TransformerError({
78
- code: `typia.llm.${props.method}`,
79
- message: `generic argument "Model" must be constant.`,
80
- });
81
- // GET VALUE AND VALIDATE IT
82
- const value = type.isLiteral()
83
- ? type.value
84
- : props.checker.typeToString(type);
85
- if (typeof value !== "string" ||
86
- LlmSchemaComposer.defaultConfig(value) === undefined)
87
- throw new TransformerError({
88
- code: "typia.llm.schema",
89
- message: `invalid value on generic argument "Model".`,
90
- });
91
- return value;
92
- };
93
- })(LlmModelPredicator || (LlmModelPredicator = {}));
65
+ })(LlmMetadataFactory || (LlmMetadataFactory = {}));
94
66
 
95
- export { LlmModelPredicator };
96
- //# sourceMappingURL=LlmModelPredicator.mjs.map
67
+ export { LlmMetadataFactory };
68
+ //# sourceMappingURL=LlmMetadataFactory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmMetadataFactory.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -2,13 +2,13 @@ import { ILlmSchema } from "@samchon/openapi";
2
2
  import { MetadataFactory } from "../../factories/MetadataFactory";
3
3
  import { Metadata } from "../../schemas/metadata/Metadata";
4
4
  export declare namespace LlmParametersProgrammer {
5
- const write: <Model extends ILlmSchema.Model>(props: {
6
- model: Model;
5
+ const write: (props: {
7
6
  metadata: Metadata;
8
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
9
- }) => ILlmSchema.ModelParameters[Model];
10
- const validate: <Model extends ILlmSchema.Model>(props: {
11
- model: Model;
12
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
13
- }) => (metadata: Metadata, explore: MetadataFactory.IExplore) => string[];
7
+ config?: Partial<ILlmSchema.IConfig>;
8
+ }) => ILlmSchema.IParameters;
9
+ const validate: (props: {
10
+ config?: Partial<ILlmSchema.IConfig>;
11
+ metadata: Metadata;
12
+ explore: MetadataFactory.IExplore;
13
+ }) => string[];
14
14
  }