typia 7.0.0-dev.20241114 → 7.0.0-dev.20241122

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 (40) hide show
  1. package/README.md +3 -3
  2. package/lib/executable/TypiaSetupWizard.js +1 -1
  3. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  4. package/lib/factories/MetadataFactory.js +1 -1
  5. package/lib/factories/MetadataFactory.js.map +1 -1
  6. package/lib/index.mjs.map +1 -1
  7. package/lib/internal/_isUniqueItems.d.ts +1 -0
  8. package/lib/internal/_isUniqueItems.js +140 -0
  9. package/lib/internal/_isUniqueItems.js.map +1 -0
  10. package/lib/internal/_llmApplicationFinalize.d.ts +1 -1
  11. package/lib/internal/_llmApplicationFinalize.js +14 -6
  12. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  13. package/lib/llm.d.ts +4 -3
  14. package/lib/programmers/internal/check_array_length.js +8 -11
  15. package/lib/programmers/internal/check_array_length.js.map +1 -1
  16. package/lib/programmers/internal/check_bigint.js +8 -11
  17. package/lib/programmers/internal/check_bigint.js.map +1 -1
  18. package/lib/programmers/internal/check_number.js +8 -11
  19. package/lib/programmers/internal/check_number.js.map +1 -1
  20. package/lib/programmers/internal/check_string.js +8 -11
  21. package/lib/programmers/internal/check_string.js.map +1 -1
  22. package/lib/programmers/llm/LlmApplicationProgrammer.js +149 -104
  23. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  24. package/lib/programmers/llm/LlmSchemaProgrammer.d.ts +7 -2
  25. package/lib/programmers/llm/LlmSchemaProgrammer.js +40 -12
  26. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  27. package/lib/tags/UniqueItems.d.ts +1 -1
  28. package/lib/transformers/features/llm/LlmSchemaTransformer.js +13 -2
  29. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  30. package/package.json +37 -28
  31. package/src/executable/TypiaSetupWizard.ts +1 -1
  32. package/src/internal/_isUniqueItems.ts +159 -0
  33. package/src/internal/_llmApplicationFinalize.ts +25 -6
  34. package/src/llm.ts +6 -6
  35. package/src/programmers/llm/LlmApplicationProgrammer.ts +175 -155
  36. package/src/programmers/llm/LlmSchemaProgrammer.ts +80 -17
  37. package/src/tags/Format.ts +50 -50
  38. package/src/tags/Type.ts +32 -32
  39. package/src/tags/UniqueItems.ts +1 -1
  40. package/src/transformers/features/llm/LlmSchemaTransformer.ts +40 -6
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LlmApplicationProgrammer = void 0;
4
+ const ChatGptConverter_1 = require("@samchon/openapi/lib/converters/ChatGptConverter");
5
+ const GeminiConverter_1 = require("@samchon/openapi/lib/converters/GeminiConverter");
6
+ const LlmConverterV3_2 = require("@samchon/openapi/lib/converters/LlmConverterV3");
7
+ const LlmConverterV3_1_1 = require("@samchon/openapi/lib/converters/LlmConverterV3_1");
8
+ const JsonApplicationProgrammer_1 = require("../json/JsonApplicationProgrammer");
4
9
  const LlmSchemaProgrammer_1 = require("./LlmSchemaProgrammer");
5
10
  var LlmApplicationProgrammer;
6
11
  (function (LlmApplicationProgrammer) {
@@ -70,123 +75,163 @@ var LlmApplicationProgrammer;
70
75
  });
71
76
  if (errors.length)
72
77
  throw new Error("Failed to write LLM application: " + errors.join("\n"));
73
- const object = props.metadata.objects[0].type;
78
+ const application = JsonApplicationProgrammer_1.JsonApplicationProgrammer.write({
79
+ version: "3.1",
80
+ metadata: props.metadata,
81
+ });
74
82
  return {
75
83
  model: props.model,
76
- functions: object.properties
77
- .filter((p) => p.value.functions.length === 1 &&
78
- p.value.size() === 1 &&
79
- p.key.isSoleLiteral())
80
- .filter((p) => p.jsDocTags.find((tag) => tag.name === "hidden") === undefined)
81
- .map((p) => writeFunction({
84
+ functions: application.functions.map((func) => writeFunction({
82
85
  model: props.model,
83
- name: p.key.getSoleLiteral(),
84
- function: p.value.functions[0],
85
- description: p.description,
86
- jsDocTags: p.jsDocTags,
86
+ components: application.components,
87
+ function: func,
87
88
  })),
88
- options: {
89
- separate: null,
90
- recursive: props.model === "chatgpt" ? undefined : 3,
91
- },
89
+ options: (props.model === "chatgpt"
90
+ ? {
91
+ separate: null,
92
+ reference: false,
93
+ constraint: false,
94
+ }
95
+ : {
96
+ separate: null,
97
+ recursive: props.model === "chatgpt" ? undefined : 3,
98
+ }),
92
99
  };
93
100
  };
94
101
  const writeFunction = (props) => {
95
- var _a, _b;
96
- const deprecated = props.jsDocTags.some((tag) => tag.name === "deprecated");
97
- const tags = props.jsDocTags
98
- .map((tag) => {
99
- var _a, _b;
100
- return tag.name === "tag"
101
- ? ((_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a.filter((elem) => elem.kind === "text")) !== null && _b !== void 0 ? _b : [])
102
- : [];
103
- })
104
- .flat()
105
- .map((elem) => elem.text)
106
- .map((str) => { var _a; return (_a = str.trim().split(" ")[0]) !== null && _a !== void 0 ? _a : ""; })
107
- .filter((str) => !!str.length);
102
+ var _a, _b, _c, _d;
103
+ const parameters = writeParameters(props);
104
+ const output = writeOutput({
105
+ model: props.model,
106
+ parameters,
107
+ components: props.components,
108
+ schema: (_b = (_a = props.function.output) === null || _a === void 0 ? void 0 : _a.schema) !== null && _b !== void 0 ? _b : null,
109
+ });
110
+ if (output &&
111
+ output.description === undefined &&
112
+ !!((_d = (_c = props.function.output) === null || _c === void 0 ? void 0 : _c.description) === null || _d === void 0 ? void 0 : _d.length))
113
+ output.description = props.function.output.description;
108
114
  return {
109
- name: props.name,
110
- parameters: props.function.parameters.map((p) => {
111
- const jsDocTagDescription = writeDescriptionFromJsDocTag({
112
- jsDocTags: p.jsDocTags,
113
- name: "param",
114
- parameter: p.name,
115
- });
116
- return writeSchema({
117
- model: props.model,
118
- metadata: p.type,
119
- description: jsDocTagDescription !== null && jsDocTagDescription !== void 0 ? jsDocTagDescription : p.description,
120
- jsDocTags: jsDocTagDescription ? [] : p.jsDocTags,
121
- });
122
- }),
123
- output: props.function.output.size() || props.function.output.nullable
124
- ? writeSchema({
125
- model: props.model,
126
- metadata: props.function.output,
127
- description: (_a = writeDescriptionFromJsDocTag({
128
- jsDocTags: props.jsDocTags,
129
- name: "return",
130
- })) !== null && _a !== void 0 ? _a : writeDescriptionFromJsDocTag({
131
- jsDocTags: props.jsDocTags,
132
- name: "returns",
133
- }),
134
- jsDocTags: [],
135
- })
136
- : undefined,
137
- description: (_b = props.description) !== null && _b !== void 0 ? _b : undefined,
138
- deprecated: deprecated || undefined,
139
- tags: tags.length ? tags : undefined,
115
+ name: props.function.name,
116
+ parameters,
117
+ output: (output !== null && output !== void 0 ? output : undefined),
118
+ description: (() => {
119
+ var _a, _b;
120
+ if (!((_a = props.function.summary) === null || _a === void 0 ? void 0 : _a.length) ||
121
+ !((_b = props.function.description) === null || _b === void 0 ? void 0 : _b.length))
122
+ return props.function.summary || props.function.description;
123
+ const summary = props.function.summary.endsWith(".")
124
+ ? props.function.summary.slice(0, -1)
125
+ : props.function.summary;
126
+ return props.function.description.startsWith(summary)
127
+ ? props.function.description
128
+ : summary + ".\n\n" + props.function.description;
129
+ })(),
130
+ deprecated: props.function.deprecated,
131
+ tags: props.function.tags,
132
+ strict: true,
140
133
  };
141
134
  };
142
- const writeSchema = (props) => {
143
- var _a, _b;
144
- const schema = LlmSchemaProgrammer_1.LlmSchemaProgrammer.write(props);
145
- const explicit = writeDescription({
146
- model: props.model,
147
- description: props.description,
148
- jsDocTags: props.jsDocTags,
149
- });
150
- return Object.assign(Object.assign({}, schema), (!!((_a = explicit.title) === null || _a === void 0 ? void 0 : _a.length) || !!((_b = explicit.description) === null || _b === void 0 ? void 0 : _b.length)
151
- ? explicit
152
- : {}));
135
+ const writeParameters = (props) => {
136
+ const schema = {
137
+ type: "object",
138
+ properties: Object.fromEntries(props.function.parameters.map((p) => {
139
+ var _a, _b;
140
+ return [
141
+ p.name,
142
+ Object.assign(Object.assign({}, p.schema), { title: (_a = p.title) !== null && _a !== void 0 ? _a : p.schema.title, description: (_b = p.description) !== null && _b !== void 0 ? _b : p.schema.description }),
143
+ ];
144
+ })),
145
+ required: props.function.parameters
146
+ .filter((p) => p.required)
147
+ .map((p) => p.name),
148
+ additionalProperties: false,
149
+ };
150
+ const parameters = (() => {
151
+ if (props.model === "chatgpt")
152
+ return ChatGptConverter_1.ChatGptConverter.parameters({
153
+ options: DEFAULT_CHATGPT_OPTION,
154
+ components: props.components,
155
+ schema,
156
+ });
157
+ else if (props.model === "gemini")
158
+ return GeminiConverter_1.GeminiConverter.parameters({
159
+ recursive: DEFAULT_V3_OPTIONS.recursive,
160
+ components: props.components,
161
+ schema,
162
+ });
163
+ else if (props.model === "3.0")
164
+ return LlmConverterV3_2.LlmConverterV3.parameters({
165
+ recursive: DEFAULT_V3_OPTIONS.recursive,
166
+ components: props.components,
167
+ schema,
168
+ });
169
+ else if (props.model === "3.1")
170
+ return LlmConverterV3_1_1.LlmConverterV3_1.parameters({
171
+ recursive: DEFAULT_V3_OPTIONS.recursive,
172
+ components: props.components,
173
+ schema,
174
+ });
175
+ else
176
+ return null;
177
+ })();
178
+ if (parameters === null)
179
+ throw new Error("Failed to write LLM application parameters.");
180
+ return parameters;
153
181
  };
154
- const writeDescription = (props) => {
155
- var _a;
156
- const title = (() => {
182
+ const writeOutput = (props) => {
183
+ if (props.schema === null)
184
+ return null;
185
+ const output = (() => {
157
186
  var _a;
158
- const [explicit] = getJsDocTexts({
159
- jsDocTags: props.jsDocTags,
160
- name: "title",
161
- });
162
- if (explicit === null || explicit === void 0 ? void 0 : explicit.length)
163
- return explicit;
164
- else if (!((_a = props.description) === null || _a === void 0 ? void 0 : _a.length))
165
- return undefined;
166
- const index = props.description.indexOf("\n");
167
- const top = (index === -1 ? props.description : props.description.substring(0, index)).trim();
168
- return top.endsWith(".") ? top.substring(0, top.length - 1) : undefined;
187
+ if (props.model === "chatgpt") {
188
+ const $defs = (_a = props.parameters.$defs) !== null && _a !== void 0 ? _a : {};
189
+ const output = ChatGptConverter_1.ChatGptConverter.schema({
190
+ options: DEFAULT_CHATGPT_OPTION,
191
+ components: props.components,
192
+ $defs,
193
+ schema: props.schema,
194
+ });
195
+ if (output !== null &&
196
+ props.parameters.$defs ===
197
+ undefined &&
198
+ Object.keys($defs).length !== 0)
199
+ props.parameters.$defs = $defs;
200
+ return output;
201
+ }
202
+ else if (props.model === "gemini")
203
+ return GeminiConverter_1.GeminiConverter.schema({
204
+ recursive: DEFAULT_V3_OPTIONS.recursive,
205
+ components: props.components,
206
+ schema: props.schema,
207
+ });
208
+ else if (props.model === "3.0")
209
+ return LlmConverterV3_2.LlmConverterV3.schema({
210
+ recursive: DEFAULT_V3_OPTIONS.recursive,
211
+ components: props.components,
212
+ schema: props.schema,
213
+ });
214
+ else if (props.model === "3.1")
215
+ return LlmConverterV3_1_1.LlmConverterV3_1.schema({
216
+ recursive: DEFAULT_V3_OPTIONS.recursive,
217
+ components: props.components,
218
+ schema: props.schema,
219
+ });
220
+ else
221
+ return null;
169
222
  })();
170
- return {
171
- title: title,
172
- description: ((_a = props.description) === null || _a === void 0 ? void 0 : _a.length) ? props.description : undefined,
173
- };
174
- };
175
- const writeDescriptionFromJsDocTag = (props) => {
176
- var _a, _b;
177
- const parametric = props.parameter
178
- ? (tag) => tag.text.find((elem) => elem.kind === "parameterName" && elem.text === props.parameter) !== undefined
179
- : () => true;
180
- const tag = props.jsDocTags.find((tag) => tag.name === props.name && tag.text && parametric(tag));
181
- return tag && tag.text
182
- ? ((_b = (_a = tag.text.find((elem) => elem.kind === "text")) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : null)
183
- : null;
223
+ if (output === null)
224
+ throw new Error("Failed to write LLM application output.");
225
+ return output;
184
226
  };
185
- const getJsDocTexts = (props) => props.jsDocTags
186
- .filter((tag) => tag.name === props.name &&
187
- tag.text &&
188
- tag.text.find((elem) => elem.kind === "text" && elem.text.length) !==
189
- undefined)
190
- .map((tag) => tag.text.find((elem) => elem.kind === "text").text);
191
227
  })(LlmApplicationProgrammer || (exports.LlmApplicationProgrammer = LlmApplicationProgrammer = {}));
228
+ const DEFAULT_CHATGPT_OPTION = {
229
+ separate: null,
230
+ reference: false,
231
+ constraint: false,
232
+ };
233
+ const DEFAULT_V3_OPTIONS = {
234
+ separate: null,
235
+ recursive: 3,
236
+ };
192
237
  //# sourceMappingURL=LlmApplicationProgrammer.js.map
@@ -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,9 +1,14 @@
1
- import { ILlmApplication } from "@samchon/openapi";
1
+ import { IChatGptSchema, ILlmApplication } from "@samchon/openapi";
2
2
  import { Metadata } from "../../schemas/metadata/Metadata";
3
3
  export declare namespace LlmSchemaProgrammer {
4
+ interface IOutput<Model extends ILlmApplication.Model> {
5
+ model: Model;
6
+ schema: ILlmApplication.ModelSchema[Model];
7
+ $defs: Record<string, IChatGptSchema>;
8
+ }
4
9
  const write: <Model extends ILlmApplication.Model>(props: {
5
10
  model: Model;
6
11
  metadata: Metadata;
7
- }) => ILlmApplication.ModelSchema[Model];
12
+ }) => IOutput<Model>;
8
13
  const validate: (model: ILlmApplication.Model) => (metadata: Metadata) => string[];
9
14
  }
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LlmSchemaProgrammer = void 0;
4
- const HttpLlmConverter_1 = require("@samchon/openapi/lib/converters/HttpLlmConverter");
4
+ const ChatGptConverter_1 = require("@samchon/openapi/lib/converters/ChatGptConverter");
5
+ const GeminiConverter_1 = require("@samchon/openapi/lib/converters/GeminiConverter");
6
+ const LlmConverterV3_2 = require("@samchon/openapi/lib/converters/LlmConverterV3");
7
+ const LlmConverterV3_1_1 = require("@samchon/openapi/lib/converters/LlmConverterV3_1");
5
8
  const AtomicPredicator_1 = require("../helpers/AtomicPredicator");
6
9
  const json_schema_bigint_1 = require("../internal/json_schema_bigint");
7
10
  const json_schema_boolean_1 = require("../internal/json_schema_boolean");
@@ -16,15 +19,24 @@ var LlmSchemaProgrammer;
16
19
  version: "3.1",
17
20
  metadatas: [props.metadata],
18
21
  });
19
- const schema = HttpLlmConverter_1.HttpLlmConverter.schema({
20
- model: props.model,
22
+ const $defs = {};
23
+ const schema = CASTERS[props.model]({
24
+ options: {
25
+ recursive: 3,
26
+ reference: false,
27
+ constraint: false,
28
+ },
21
29
  components: collection.components,
22
30
  schema: collection.schemas[0],
23
- recursive: 3,
31
+ $defs,
24
32
  });
25
33
  if (schema === null)
26
34
  throw new Error("Failed to convert JSON schema to LLM schema.");
27
- return schema;
35
+ return {
36
+ model: props.model,
37
+ $defs,
38
+ schema,
39
+ };
28
40
  };
29
41
  LlmSchemaProgrammer.validate = (model) => (metadata) => {
30
42
  const output = [];
@@ -46,13 +58,6 @@ var LlmSchemaProgrammer;
46
58
  output.push(`LLM schema does not support ${native.name} type.`);
47
59
  if (model === "gemini" && size(metadata) > 1)
48
60
  output.push("Gemini model does not support the union type.");
49
- // if (
50
- // metadata.aliases.some((a) => a.type.recursive) ||
51
- // metadata.arrays.some((a) => a.type.recursive) ||
52
- // metadata.objects.some((o) => o.type.recursive) ||
53
- // metadata.tuples.some((t) => t.type.recursive)
54
- // )
55
- // output.push("LLM schema does not support recursive type.");
56
61
  return output;
57
62
  };
58
63
  })(LlmSchemaProgrammer || (exports.LlmSchemaProgrammer = LlmSchemaProgrammer = {}));
@@ -82,4 +87,27 @@ const size = (metadata) => (metadata.escaped ? size(metadata.escaped.returns) :
82
87
  native: n,
83
88
  }).length)
84
89
  .reduce((a, b) => a + b, 0);
90
+ const CASTERS = {
91
+ "3.0": (props) => LlmConverterV3_2.LlmConverterV3.schema({
92
+ components: props.components,
93
+ schema: props.schema,
94
+ recursive: props.options.recursive,
95
+ }),
96
+ "3.1": (props) => LlmConverterV3_1_1.LlmConverterV3_1.schema({
97
+ components: props.components,
98
+ schema: props.schema,
99
+ recursive: props.options.recursive,
100
+ }),
101
+ chatgpt: (props) => ChatGptConverter_1.ChatGptConverter.schema({
102
+ components: props.components,
103
+ schema: props.schema,
104
+ $defs: props.$defs,
105
+ options: props.options,
106
+ }),
107
+ gemini: (props) => GeminiConverter_1.GeminiConverter.schema({
108
+ components: props.components,
109
+ schema: props.schema,
110
+ recursive: props.options.recursive,
111
+ }),
112
+ };
85
113
  //# sourceMappingURL=LlmSchemaProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export type UniqueItems<Value extends boolean = true> = TagBase<{
3
3
  target: "array";
4
4
  kind: "uniqueItems";
5
5
  value: Value;
6
- validate: Value extends true ? `$input.length <= 1 || ($input.length === new Set($input).size)` : undefined;
6
+ validate: Value extends true ? `$importInternal("isUniqueItems")($input)` : undefined;
7
7
  exclusive: true;
8
8
  schema: {
9
9
  uniqueItems: true;
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LlmSchemaTransformer = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
+ const IdentifierFactory_1 = require("../../../factories/IdentifierFactory");
8
9
  const LiteralFactory_1 = require("../../../factories/LiteralFactory");
9
10
  const MetadataCollection_1 = require("../../../factories/MetadataCollection");
10
11
  const MetadataFactory_1 = require("../../../factories/MetadataFactory");
@@ -57,11 +58,21 @@ var LlmSchemaTransformer;
57
58
  errors: result.errors,
58
59
  });
59
60
  // GENERATE LLM SCHEMA
60
- const schema = LlmSchemaProgrammer_1.LlmSchemaProgrammer.write({
61
+ const out = LlmSchemaProgrammer_1.LlmSchemaProgrammer.write({
61
62
  model,
62
63
  metadata: result.data,
63
64
  });
64
- return LiteralFactory_1.LiteralFactory.write(schema);
65
+ if (Object.keys(out.$defs).length === 0)
66
+ return LiteralFactory_1.LiteralFactory.write(out.schema);
67
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [
68
+ IdentifierFactory_1.IdentifierFactory.parameter("$defs", typescript_1.default.factory.createTypeReferenceNode("Record<string, unknown>"), undefined),
69
+ ], undefined, undefined, typescript_1.default.factory.createBlock([
70
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), undefined, [
71
+ typescript_1.default.factory.createIdentifier("$defs"),
72
+ LiteralFactory_1.LiteralFactory.write(out.$defs),
73
+ ])),
74
+ typescript_1.default.factory.createReturnStatement(LiteralFactory_1.LiteralFactory.write(out.schema)),
75
+ ], true)), undefined, [props.expression.arguments[0]]);
65
76
  };
66
77
  const get_parameter = (props) => (node) => {
67
78
  if (!node)
@@ -1 +1 @@
1
- {"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,sEAAmE;AACnE,8EAA2E;AAC3E,wEAAqE;AAIrE,sFAAmF;AAKnF,6DAA0D;AAE1D,IAAiB,oBAAoB,CA6FpC;AA7FD,WAAiB,oBAAoB;IACtB,8BAAS,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,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,YAAY;QACZ,MAAM,KAAK,GAA0B,aAAa,CAAwB;YACxE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CACZ,KAAK,KAAK,KAAK;gBACf,KAAK,KAAK,KAAK;gBACf,KAAK,KAAK,SAAS;gBACnB,KAAK,KAAK,QAAQ;YACpB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAA8B;YAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;SACrB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,WAAW;QACX,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;YAC5D,OAAO,EAAE,uCAAkB,CAAC,OAAO;SACpC,CAAC,CAAC;QACH,MAAM,MAAM,GACV,iCAAe,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;YACtC,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,yCAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;aAC9C;YACD,UAAU;YACV,IAAI;SACL,CAAC,CAAC;QACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QAEL,sBAAsB;QACtB,MAAM,MAAM,GACV,yCAAmB,CAAC,KAAK,CAAC;YACxB,KAAK;YACL,QAAQ,EAAE,MAAM,CAAC,IAAI;SACtB,CAAC,CAAC;QACL,OAAO,+BAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,aAAa,GACjB,CAAQ,KAMP,EAAE,EAAE,CACL,CAAC,IAA6B,EAAS,EAAE;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QAElC,qBAAqB;QACrB,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9D,IACE,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,oBAAE,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;YAErD,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,qBAAqB,KAAK,CAAC,IAAI,qBAAqB;aAC9D,CAAC,CAAC;QAEL,4BAA4B;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK;YACxD,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,sCAAsC,KAAK,CAAC,IAAI,IAAI;aAC9D,CAAC,CAAC;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;AACN,CAAC,EA7FgB,oBAAoB,oCAApB,oBAAoB,QA6FpC"}
1
+ {"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "7.0.0-dev.20241114",
3
+ "version": "7.0.0-dev.20241122",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -35,32 +35,6 @@
35
35
  "type": "git",
36
36
  "url": "https://github.com/samchon/typia"
37
37
  },
38
- "keywords": [
39
- "fast",
40
- "json",
41
- "stringify",
42
- "typescript",
43
- "transform",
44
- "ajv",
45
- "io-ts",
46
- "schema",
47
- "jsonschema",
48
- "generator",
49
- "assert",
50
- "clone",
51
- "is",
52
- "validate",
53
- "equal",
54
- "runtime",
55
- "type",
56
- "typebox",
57
- "checker",
58
- "validator",
59
- "safe",
60
- "parse",
61
- "prune",
62
- "random"
63
- ],
64
38
  "author": "Jeongho Nam",
65
39
  "license": "MIT",
66
40
  "bugs": {
@@ -68,7 +42,7 @@
68
42
  },
69
43
  "homepage": "https://typia.io",
70
44
  "dependencies": {
71
- "@samchon/openapi": "2.0.0-dev.20241112",
45
+ "@samchon/openapi": "2.0.0-dev.20241122-2",
72
46
  "commander": "^10.0.0",
73
47
  "comment-json": "^4.2.3",
74
48
  "inquirer": "^8.2.5",
@@ -106,5 +80,40 @@
106
80
  "package.json",
107
81
  "lib",
108
82
  "src"
83
+ ],
84
+ "keywords": [
85
+ "fast",
86
+ "json",
87
+ "stringify",
88
+ "typescript",
89
+ "transform",
90
+ "ajv",
91
+ "io-ts",
92
+ "zod",
93
+ "schema",
94
+ "json-schema",
95
+ "generator",
96
+ "assert",
97
+ "clone",
98
+ "is",
99
+ "validate",
100
+ "equal",
101
+ "runtime",
102
+ "type",
103
+ "typebox",
104
+ "checker",
105
+ "validator",
106
+ "safe",
107
+ "parse",
108
+ "prune",
109
+ "random",
110
+ "protobuf",
111
+ "llm",
112
+ "llm-function-calling",
113
+ "openai",
114
+ "chatgpt",
115
+ "llama",
116
+ "gemini",
117
+ "claude"
109
118
  ]
110
119
  }
@@ -158,7 +158,7 @@ export namespace TypiaSetupWizard {
158
158
  "npm" | "pnpm" | "yarn" | "bun" | null
159
159
  > => {
160
160
  const result: DetectResult | null = await detect({ cwd: process.cwd() });
161
- if (result?.name === "npm") return null; // NPM case is still selectable
161
+ if (result?.name === "npm" || result?.name === "deno") return null; // NPM case is still selectable
162
162
  return result?.name ?? null;
163
163
  };
164
164