typia 8.0.0-dev.20250224 → 8.0.0-dev.20250301

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 (43) hide show
  1. package/lib/IValidation.d.ts +1 -17
  2. package/lib/index.mjs +0 -2
  3. package/lib/index.mjs.map +1 -1
  4. package/lib/llm.d.ts +33 -115
  5. package/lib/llm.js +5 -5
  6. package/lib/llm.js.map +1 -1
  7. package/lib/llm.mjs +4 -4
  8. package/lib/llm.mjs.map +1 -1
  9. package/lib/module.mjs +0 -2
  10. package/lib/module.mjs.map +1 -1
  11. package/lib/programmers/llm/LlmApplicationProgrammer.d.ts +5 -0
  12. package/lib/programmers/llm/LlmApplicationProgrammer.js +57 -16
  13. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  14. package/lib/schemas/llm/ILlmApplicationOfValidate.d.ts +3 -50
  15. package/lib/schemas/llm/ILlmApplicationOfValidate.js +0 -4
  16. package/lib/schemas/llm/ILlmApplicationOfValidate.js.map +1 -1
  17. package/lib/schemas/llm/ILlmFunctionOfValidate.d.ts +3 -34
  18. package/lib/schemas/llm/ILlmFunctionOfValidate.js +0 -4
  19. package/lib/schemas/llm/ILlmFunctionOfValidate.js.map +1 -1
  20. package/lib/transformers/CallExpressionTransformer.js +1 -2
  21. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  22. package/lib/transformers/features/llm/LlmApplicationTransformer.js +3 -0
  23. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  24. package/package.json +5 -7
  25. package/src/IValidation.ts +1 -21
  26. package/src/llm.ts +46 -131
  27. package/src/programmers/llm/LlmApplicationProgrammer.ts +98 -12
  28. package/src/schemas/llm/ILlmApplicationOfValidate.ts +3 -52
  29. package/src/schemas/llm/ILlmFunctionOfValidate.ts +3 -36
  30. package/src/transformers/CallExpressionTransformer.ts +1 -2
  31. package/src/transformers/features/llm/LlmApplicationTransformer.ts +3 -0
  32. package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.d.ts +0 -19
  33. package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.js +0 -49
  34. package/lib/programmers/llm/LlmApplicationOfValidateProgrammer.js.map +0 -1
  35. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs +0 -6
  36. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs.map +0 -1
  37. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs +0 -6
  38. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs.map +0 -1
  39. package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.d.ts +0 -5
  40. package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.js +0 -105
  41. package/lib/transformers/features/llm/LlmApplicationOfValidateTransformer.js.map +0 -1
  42. package/src/programmers/llm/LlmApplicationOfValidateProgrammer.ts +0 -104
  43. package/src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts +0 -129
@@ -1,17 +1 @@
1
- export type IValidation<T = unknown> = IValidation.ISuccess<T> | IValidation.IFailure;
2
- export declare namespace IValidation {
3
- interface ISuccess<T = unknown> {
4
- success: true;
5
- data: T;
6
- }
7
- interface IFailure {
8
- success: false;
9
- errors: IError[];
10
- data: unknown;
11
- }
12
- interface IError {
13
- path: string;
14
- expected: string;
15
- value: any;
16
- }
17
- }
1
+ export { IValidation } from "@samchon/openapi";
package/lib/index.mjs CHANGED
@@ -18,8 +18,6 @@ import * as reflect from './reflect.mjs';
18
18
  export { reflect };
19
19
  import * as index from './tags/index.mjs';
20
20
  export { index as tags };
21
- export { ILlmApplicationOfValidate } from './schemas/llm/ILlmApplicationOfValidate.mjs';
22
- export { ILlmFunctionOfValidate } from './schemas/llm/ILlmFunctionOfValidate.mjs';
23
21
  export { TypeGuardError } from './TypeGuardError.mjs';
24
22
 
25
23
 
package/lib/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/llm.d.ts CHANGED
@@ -1,89 +1,24 @@
1
1
  import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
2
- import { ILlmApplicationOfValidate } from "./module";
3
2
  /**
4
3
  * > You must configure the generic argument `App`.
5
4
  *
6
- * TypeScript functions to LLM function calling application with validators.
7
- *
8
- * Creates an application of LLM (Large Language Model) function calling application
9
- * from a TypeScript class or interface type containing the target functions to be
10
- * called by the LLM function calling feature.
11
- *
12
- * If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
13
- * LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
14
- * select the proper function and fill its arguments from the conversation
15
- * (maybe chatting text) with user (human). This is the concept of the LLM function calling.
16
- *
17
- * Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
18
- * {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
19
- * {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
20
- * parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
21
- * is a validator function reporting the detailed information about the wrong typed parameters.
22
- *
23
- * By the way, there can be some parameters (or their nested properties) which must be
24
- * composed by human, not by LLM. File uploading feature or some sensitive information
25
- * like security keys (password) are the examples. In that case, you can separate the
26
- * function parameters to both LLM and human sides by configuring the
27
- * {@link ILlmApplicationOfValidate.IOptions.separate} property. The separated parameters
28
- * are assigned to the {@link ILlmFunctionOfValidate.separated} property.
29
- *
30
- * For reference, the actual function call execution is not by LLM, but by you.
31
- * When the LLM selects the proper function and fills the arguments, you just call
32
- * the function with the LLM prepared arguments. And then informs the return value to
33
- * the LLM by system prompt. The LLM will continue the next conversation based on
34
- * the return value.
35
- *
36
- * Additionally, if you've configured {@link ILlmApplicationOfValidate.IOptions.separate},
37
- * so that the parameters are separated to human and LLM sides, you can merge these
38
- * humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters}
39
- * before the actual LLM function call execution.
40
- *
41
- * Here is the list of available `Model` types with their corresponding LLM schema.
42
- * Reading the following list, and determine the `Model` type considering the
43
- * characteristics of the target LLM provider.
44
- *
45
- * - LLM provider schemas
46
- * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
47
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
48
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
49
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
50
- * - Midldle layer schemas
51
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
52
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
53
- *
54
- * @template App Target class or interface type collecting the functions to call
55
- * @template Model LLM schema model
56
- * @template Config Configuration of LLM schema composition
57
- * @param options Options for the LLM application construction
58
- * @returns Application of LLM function calling schemas
59
- * @reference https://platform.openai.com/docs/guides/function-calling
60
- * @author Jeongho Nam - https://github.com/samchon
61
- */
62
- export declare function applicationOfValidate(options?: Partial<Pick<ILlmApplicationOfValidate.IOptions<any>, "separate">>): never;
63
- /**
64
- * TypeScript functions to LLM function calling application with validators.
5
+ * TypeScript functions to LLM function calling application.
65
6
  *
66
7
  * Creates an application of LLM (Large Language Model) function calling application
67
8
  * from a TypeScript class or interface type containing the target functions to be
68
9
  * called by the LLM function calling feature.
69
10
  *
70
- * If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
71
- * LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
72
- * select the proper function and fill its arguments from the conversation
73
- * (maybe chatting text) with user (human). This is the concept of the LLM function calling.
74
- *
75
- * Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
76
- * {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
77
- * {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
78
- * parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
79
- * is a validator function reporting the detailed information about the wrong typed parameters.
11
+ * If you put the returned {@link ILlmApplication.functions} objects to the LLM provider
12
+ * like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
13
+ * proper function and fill its arguments from the conversation (maybe chatting text)
14
+ * with user (human). This is the concept of the LLM function calling.
80
15
  *
81
16
  * By the way, there can be some parameters (or their nested properties) which must be
82
17
  * composed by human, not by LLM. File uploading feature or some sensitive information
83
18
  * like security keys (password) are the examples. In that case, you can separate the
84
19
  * function parameters to both LLM and human sides by configuring the
85
- * {@link ILlmApplicationOfValidate.IOptions.separate} property. The separated parameters
86
- * are assigned to the {@link ILlmFunctionOfValidate.separated} property.
20
+ * {@link ILlmApplication.IOptions.separate} property. The separated parameters are
21
+ * assigned to the {@link ILlmFunction.separated} property.
87
22
  *
88
23
  * For reference, the actual function call execution is not by LLM, but by you.
89
24
  * When the LLM selects the proper function and fills the arguments, you just call
@@ -91,7 +26,7 @@ export declare function applicationOfValidate(options?: Partial<Pick<ILlmApplica
91
26
  * the LLM by system prompt. The LLM will continue the next conversation based on
92
27
  * the return value.
93
28
  *
94
- * Additionally, if you've configured {@link ILlmApplicationOfValidate.IOptions.separate},
29
+ * Additionally, if you've configured {@link ILlmApplication.IOptions.separate},
95
30
  * so that the parameters are separated to human and LLM sides, you can merge these
96
31
  * humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters}
97
32
  * before the actual LLM function call execution.
@@ -117,10 +52,8 @@ export declare function applicationOfValidate(options?: Partial<Pick<ILlmApplica
117
52
  * @reference https://platform.openai.com/docs/guides/function-calling
118
53
  * @author Jeongho Nam - https://github.com/samchon
119
54
  */
120
- export declare function applicationOfValidate<App extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(options?: Partial<Pick<ILlmApplicationOfValidate.IOptions<Model>, "separate">>): ILlmApplicationOfValidate<Model>;
55
+ export declare function application(options?: Partial<Pick<ILlmApplication.IOptions<any>, "separate">>): never;
121
56
  /**
122
- * > You must configure the generic argument `App`.
123
- *
124
57
  * TypeScript functions to LLM function calling application.
125
58
  *
126
59
  * Creates an application of LLM (Large Language Model) function calling application
@@ -171,59 +104,44 @@ export declare function applicationOfValidate<App extends Record<string, any>, M
171
104
  * @reference https://platform.openai.com/docs/guides/function-calling
172
105
  * @author Jeongho Nam - https://github.com/samchon
173
106
  */
174
- export declare function application(options?: Partial<Pick<ILlmApplication.IOptions<any>, "separate">>): never;
107
+ export declare function application<App extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>): ILlmApplication<Model, App>;
175
108
  /**
176
- * TypeScript functions to LLM function calling application.
177
- *
178
- * Creates an application of LLM (Large Language Model) function calling application
179
- * from a TypeScript class or interface type containing the target functions to be
180
- * called by the LLM function calling feature.
109
+ * > You must configure the generic argument `App`.
181
110
  *
182
- * If you put the returned {@link ILlmApplication.functions} objects to the LLM provider
183
- * like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
184
- * proper function and fill its arguments from the conversation (maybe chatting text)
185
- * with user (human). This is the concept of the LLM function calling.
111
+ * Use {@link application} instead.
186
112
  *
187
- * By the way, there can be some parameters (or their nested properties) which must be
188
- * composed by human, not by LLM. File uploading feature or some sensitive information
189
- * like security keys (password) are the examples. In that case, you can separate the
190
- * function parameters to both LLM and human sides by configuring the
191
- * {@link ILlmApplication.IOptions.separate} property. The separated parameters are
192
- * assigned to the {@link ILlmFunction.separated} property.
113
+ * Since the version `typia@8.0.0`, {@link application} function has
114
+ * started supporting the {@link ILlmFunction.validate} function which
115
+ * has been designed for the validation feedback strategy of the LLM
116
+ * function calling.
193
117
  *
194
- * For reference, the actual function call execution is not by LLM, but by you.
195
- * When the LLM selects the proper function and fills the arguments, you just call
196
- * the function with the LLM prepared arguments. And then informs the return value to
197
- * the LLM by system prompt. The LLM will continue the next conversation based on
198
- * the return value.
118
+ * This `applicationOfValidate` function would be eliminated in the
119
+ * next major version `typia@9.0.0`. So please use {@link application}
120
+ * function instead.
199
121
  *
200
- * Additionally, if you've configured {@link ILlmApplication.IOptions.separate},
201
- * so that the parameters are separated to human and LLM sides, you can merge these
202
- * humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters}
203
- * before the actual LLM function call execution.
122
+ * @deprecated
123
+ */
124
+ export declare function applicationOfValidate(options?: Partial<Pick<ILlmApplication.IOptions<any>, "separate">>): never;
125
+ /**
126
+ * Use {@link application} instead.
204
127
  *
205
- * Here is the list of available `Model` types with their corresponding LLM schema.
206
- * Reading the following list, and determine the `Model` type considering the
207
- * characteristics of the target LLM provider.
128
+ * Since the version `typia@8.0.0`, {@link application} function has
129
+ * started supporting the {@link ILlmFunction.validate} function which
130
+ * has been designed for the validation feedback strategy of the LLM
131
+ * function calling.
208
132
  *
209
- * - LLM provider schemas
210
- * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
211
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
212
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
213
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
214
- * - Midldle layer schemas
215
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
216
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
133
+ * This `applicationOfValidate` function would be eliminated in the
134
+ * next major version `typia@9.0.0`. So please use {@link application}
135
+ * function instead.
217
136
  *
218
137
  * @template App Target class or interface type collecting the functions to call
219
138
  * @template Model LLM schema model
220
139
  * @template Config Configuration of LLM schema composition
221
140
  * @param options Options for the LLM application construction
222
141
  * @returns Application of LLM function calling schemas
223
- * @reference https://platform.openai.com/docs/guides/function-calling
224
- * @author Jeongho Nam - https://github.com/samchon
142
+ * @deprecated
225
143
  */
226
- export declare function application<App extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>): ILlmApplication<Model>;
144
+ export declare function applicationOfValidate<App extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>): ILlmApplication<Model, App>;
227
145
  /**
228
146
  * > You must configure the generic argument `Parameters`.
229
147
  *
package/lib/llm.js CHANGED
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applicationOfValidate = applicationOfValidate;
4
3
  exports.application = application;
4
+ exports.applicationOfValidate = applicationOfValidate;
5
5
  exports.parameters = parameters;
6
6
  exports.schema = schema;
7
7
  /**
8
8
  * @internal
9
9
  */
10
- function applicationOfValidate() {
11
- halt("applicationOfValidate");
10
+ function application() {
11
+ halt("application");
12
12
  }
13
13
  /**
14
14
  * @internal
15
15
  */
16
- function application() {
17
- halt("application");
16
+ function applicationOfValidate() {
17
+ halt("applicationOfValidate");
18
18
  }
19
19
  /**
20
20
  * @internal
package/lib/llm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;AAyIA,sDAEC;AAyHD,kCAEC;AA2FD,gCAEC;AAkHD,wBAEC;AAjVD;;GAEG;AACH,SAAgB,qBAAqB;IACnC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAChC,CAAC;AAsHD;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAwFD;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,YAAY,CAAC,CAAC;AACrB,CAAC;AA+GD;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,2FAA2F,CACtH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;AAyHA,kCAEC;AAoDD,sDAEC;AA2FD,gCAEC;AAkHD,wBAEC;AA5QD;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAiDD;;GAEG;AACH,SAAgB,qBAAqB;IACnC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAChC,CAAC;AAwFD;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,YAAY,CAAC,CAAC;AACrB,CAAC;AA+GD;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,2FAA2F,CACtH,CAAC;AACJ,CAAC"}
package/lib/llm.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * @internal
3
3
  */
4
- function applicationOfValidate() {
5
- halt("applicationOfValidate");
4
+ function application() {
5
+ halt("application");
6
6
  }
7
7
  /**
8
8
  * @internal
9
9
  */
10
- function application() {
11
- halt("application");
10
+ function applicationOfValidate() {
11
+ halt("applicationOfValidate");
12
12
  }
13
13
  /**
14
14
  * @internal
package/lib/llm.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"llm.mjs","sources":["../src/llm.ts"],"sourcesContent":[null],"names":[],"mappings":"AAsIA;;AAEG;SACa,qBAAqB,GAAA;IACnC,IAAI,CAAC,uBAAuB,CAAC;AAC/B;AAsHA;;AAEG;SACa,WAAW,GAAA;IACzB,IAAI,CAAC,aAAa,CAAC;AACrB;AAwFA;;AAEG;SACa,UAAU,GAAA;IACxB,IAAI,CAAC,YAAY,CAAC;AACpB;AA+GA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AAEA;;AAEG;AACH,SAAS,IAAI,CAAC,IAAY,EAAA;AACxB,IAAA,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAA,yFAAA,CAA2F,CACtH;AACH;;;;"}
1
+ {"version":3,"file":"llm.mjs","sources":["../src/llm.ts"],"sourcesContent":[null],"names":[],"mappings":"AAsHA;;AAEG;SACa,WAAW,GAAA;IACzB,IAAI,CAAC,aAAa,CAAC;AACrB;AAiDA;;AAEG;SACa,qBAAqB,GAAA;IACnC,IAAI,CAAC,uBAAuB,CAAC;AAC/B;AAwFA;;AAEG;SACa,UAAU,GAAA;IACxB,IAAI,CAAC,YAAY,CAAC;AACpB;AA+GA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AAEA;;AAEG;AACH,SAAS,IAAI,CAAC,IAAY,EAAA;AACxB,IAAA,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAA,yFAAA,CAA2F,CACtH;AACH;;;;"}
package/lib/module.mjs CHANGED
@@ -16,8 +16,6 @@ import * as reflect from './reflect.mjs';
16
16
  export { reflect };
17
17
  import * as index from './tags/index.mjs';
18
18
  export { index as tags };
19
- export { ILlmApplicationOfValidate } from './schemas/llm/ILlmApplicationOfValidate.mjs';
20
- export { ILlmFunctionOfValidate } from './schemas/llm/ILlmFunctionOfValidate.mjs';
21
19
  export { TypeGuardError } from './TypeGuardError.mjs';
22
20
 
23
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","sources":["../src/module.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA4FA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AA8DA;;AAEG;SACa,WAAW,GAAA;IACzB,IAAI,CAAC,aAAa,CAAC;AACrB;AAmDA;;AAEG;SACa,EAAE,GAAA;IAChB,IAAI,CAAC,IAAI,CAAC;AACZ;AAoDA;;AAEG;SACa,QAAQ,GAAA;IACtB,IAAI,CAAC,UAAU,CAAC;AAClB;AA+DA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AAoEA;;AAEG;SACa,iBAAiB,GAAA;IAC/B,IAAI,CAAC,mBAAmB,CAAC;AAC3B;AAoDA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AAsDA;;AAEG;SACa,cAAc,GAAA;IAC5B,IAAI,CAAC,gBAAgB,CAAC;AACxB;AA2CA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AAgCA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AA2DA;;AAEG;SACa,iBAAiB,GAAA;IAC/B,IAAI,CAAC,mBAAmB,CAAC;AAC3B;AAuBA;;AAEG;SACa,QAAQ,GAAA;IACtB,IAAI,CAAC,UAAU,CAAC;AAClB;AAuBA;;AAEG;SACa,cAAc,GAAA;IAC5B,IAAI,CAAC,gBAAgB,CAAC;AACxB;AA6BA;;AAEG;SACa,kBAAkB,GAAA;IAChC,IAAI,CAAC,oBAAoB,CAAC;AAC5B;AA2DA;;AAEG;SACa,uBAAuB,GAAA;IAGrC,IAAI,CAAC,yBAAyB,CAAC;AACjC;AAuBA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AAuBA;;AAEG;SACa,oBAAoB,GAAA;IAClC,IAAI,CAAC,sBAAsB,CAAC;AAC9B;AA2BA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AAEA;;AAEG;AACH,SAAS,IAAI,CAAC,IAAY,EAAA;AACxB,IAAA,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAA,yFAAA,CAA2F,CAClH;AACH;;;;"}
1
+ {"version":3,"file":"module.mjs","sources":["../src/module.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA4FA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AA8DA;;AAEG;SACa,WAAW,GAAA;IACzB,IAAI,CAAC,aAAa,CAAC;AACrB;AAmDA;;AAEG;SACa,EAAE,GAAA;IAChB,IAAI,CAAC,IAAI,CAAC;AACZ;AAoDA;;AAEG;SACa,QAAQ,GAAA;IACtB,IAAI,CAAC,UAAU,CAAC;AAClB;AA+DA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AAoEA;;AAEG;SACa,iBAAiB,GAAA;IAC/B,IAAI,CAAC,mBAAmB,CAAC;AAC3B;AAoDA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AAsDA;;AAEG;SACa,cAAc,GAAA;IAC5B,IAAI,CAAC,gBAAgB,CAAC;AACxB;AA2CA;;AAEG;SACa,MAAM,GAAA;IACpB,IAAI,CAAC,QAAQ,CAAC;AAChB;AAgCA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AA2DA;;AAEG;SACa,iBAAiB,GAAA;IAC/B,IAAI,CAAC,mBAAmB,CAAC;AAC3B;AAuBA;;AAEG;SACa,QAAQ,GAAA;IACtB,IAAI,CAAC,UAAU,CAAC;AAClB;AAuBA;;AAEG;SACa,cAAc,GAAA;IAC5B,IAAI,CAAC,gBAAgB,CAAC;AACxB;AA6BA;;AAEG;SACa,kBAAkB,GAAA;IAChC,IAAI,CAAC,oBAAoB,CAAC;AAC5B;AA2DA;;AAEG;SACa,uBAAuB,GAAA;IAGrC,IAAI,CAAC,yBAAyB,CAAC;AACjC;AAuBA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AAuBA;;AAEG;SACa,oBAAoB,GAAA;IAClC,IAAI,CAAC,sBAAsB,CAAC;AAC9B;AA2BA;;AAEG;SACa,YAAY,GAAA;IAC1B,IAAI,CAAC,cAAc,CAAC;AACtB;AAEA;;AAEG;AACH,SAAS,IAAI,CAAC,IAAY,EAAA;AACxB,IAAA,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAA,yFAAA,CAA2F,CAClH;AACH;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
2
+ import ts from "typescript";
2
3
  import { MetadataFactory } from "../../factories/MetadataFactory";
3
4
  import { Metadata } from "../../schemas/metadata/Metadata";
5
+ import { ITypiaContext } from "../../transformers/ITypiaContext";
4
6
  export declare namespace LlmApplicationProgrammer {
5
7
  const validate: <Model extends ILlmSchema.Model>(props: {
6
8
  model: Model;
@@ -8,7 +10,10 @@ export declare namespace LlmApplicationProgrammer {
8
10
  }) => (metadata: Metadata, explore: MetadataFactory.IExplore) => string[];
9
11
  const write: <Model extends ILlmSchema.Model>(props: {
10
12
  model: Model;
13
+ context: ITypiaContext;
14
+ modulo: ts.LeftHandSideExpression;
11
15
  metadata: Metadata;
12
16
  config?: Partial<ILlmSchema.ModelConfig[Model]>;
17
+ name?: string;
13
18
  }) => ILlmApplication<Model>;
14
19
  }
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LlmApplicationProgrammer = void 0;
4
4
  const LlmSchemaComposer_1 = require("@samchon/openapi/lib/composers/LlmSchemaComposer");
5
+ const TypeFactory_1 = require("../../factories/TypeFactory");
6
+ const ValidateProgrammer_1 = require("../ValidateProgrammer");
5
7
  const JsonApplicationProgrammer_1 = require("../json/JsonApplicationProgrammer");
6
8
  const LlmSchemaProgrammer_1 = require("./LlmSchemaProgrammer");
7
9
  var LlmApplicationProgrammer;
@@ -103,18 +105,35 @@ var LlmApplicationProgrammer;
103
105
  });
104
106
  if (errors.length)
105
107
  throw new Error("Failed to write LLM application: " + errors.join("\n"));
108
+ const functionParameters = Object.fromEntries(props.metadata.objects[0].type.properties.filter((p) => p.key.isSoleLiteral() &&
109
+ p.value.size() === 1 &&
110
+ p.value.nullable === false &&
111
+ p.value.isRequired() === true &&
112
+ p.value.functions.length === 1)
113
+ .filter((p) => p.jsDocTags.find((tag) => tag.name === "hidden" || tag.name === "internal") === undefined)
114
+ .map((p) => [
115
+ p.key.getSoleLiteral(),
116
+ p.value.functions[0].parameters[0],
117
+ ]));
106
118
  const errorMessages = [];
107
119
  const application = JsonApplicationProgrammer_1.JsonApplicationProgrammer.write({
108
120
  version: "3.1",
109
121
  metadata: props.metadata,
110
122
  filter: (p) => p.jsDocTags.some((tag) => tag.name === "human") === false,
111
123
  });
112
- const functions = application.functions.map((func) => writeFunction({
113
- model: props.model,
114
- components: application.components,
115
- function: func,
116
- errors: errorMessages,
117
- }));
124
+ const functions = application.functions.map((func) => {
125
+ var _a;
126
+ return writeFunction({
127
+ model: props.model,
128
+ context: props.context,
129
+ modulo: props.modulo,
130
+ className: props.name,
131
+ components: application.components,
132
+ function: func,
133
+ errors: errorMessages,
134
+ parameter: (_a = functionParameters[func.name]) !== null && _a !== void 0 ? _a : null,
135
+ });
136
+ });
118
137
  if (functions.some((func) => func === null))
119
138
  throw new Error("Failed to write LLM application:\n\n" +
120
139
  errorMessages.map((str) => ` - ${str}`).join("\n"));
@@ -161,6 +180,13 @@ var LlmApplicationProgrammer;
161
180
  })(),
162
181
  deprecated: props.function.deprecated,
163
182
  tags: props.function.tags,
183
+ validate: writeValidadtor({
184
+ context: props.context,
185
+ modulo: props.modulo,
186
+ parameter: props.parameter,
187
+ name: props.function.name,
188
+ className: props.className,
189
+ }),
164
190
  };
165
191
  };
166
192
  const writeParameters = (props) => {
@@ -199,16 +225,31 @@ var LlmApplicationProgrammer;
199
225
  }
200
226
  return result.value;
201
227
  };
202
- const concatDescription = (p) => {
203
- var _a, _b, _c;
204
- if (!((_a = p.summary) === null || _a === void 0 ? void 0 : _a.length) || !((_b = p.description) === null || _b === void 0 ? void 0 : _b.length))
205
- return (_c = p.summary) !== null && _c !== void 0 ? _c : p.description;
206
- const summary = p.summary.endsWith(".")
207
- ? p.summary.slice(0, -1)
208
- : p.summary;
209
- return p.description.startsWith(summary)
210
- ? p.description
211
- : summary + ".\n\n" + p.description;
228
+ const writeValidadtor = (props) => {
229
+ if (props.parameter === null)
230
+ return ValidateProgrammer_1.ValidateProgrammer.write(Object.assign(Object.assign({}, props), { type: props.context.checker.getTypeFromTypeNode(TypeFactory_1.TypeFactory.keyword("any")), config: {
231
+ equals: false,
232
+ }, name: undefined }));
233
+ const type = props.parameter.tsType;
234
+ if (type === undefined)
235
+ // unreachable
236
+ throw new Error("Failed to write LLM application's function validator. You don't have to call `LlmApplicationOfValidator.write()` function by yourself, but only by the `typia.llm.applicationOfValidate()` function.");
237
+ return ValidateProgrammer_1.ValidateProgrammer.write(Object.assign(Object.assign({}, props), { type: props.parameter.tsType, config: {
238
+ equals: false,
239
+ }, name: props.className
240
+ ? `Parameters<${props.className}[${JSON.stringify(props.name)}]>[0]`
241
+ : undefined }));
212
242
  };
213
243
  })(LlmApplicationProgrammer || (exports.LlmApplicationProgrammer = LlmApplicationProgrammer = {}));
244
+ const concatDescription = (p) => {
245
+ var _a, _b, _c;
246
+ if (!((_a = p.summary) === null || _a === void 0 ? void 0 : _a.length) || !((_b = p.description) === null || _b === void 0 ? void 0 : _b.length))
247
+ return (_c = p.summary) !== null && _c !== void 0 ? _c : p.description;
248
+ const summary = p.summary.endsWith(".")
249
+ ? p.summary.slice(0, -1)
250
+ : p.summary;
251
+ return p.description.startsWith(summary)
252
+ ? p.description
253
+ : summary + ".\n\n" + p.description;
254
+ };
214
255
  //# 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":";;;AAOA,wFAAqF;AAKrF,6DAA0D;AAW1D,8DAA2D;AAC3D,iFAA8E;AAC9E,+DAA4D;AAE5D,IAAiB,wBAAwB,CAmXxC;AAnXD,WAAiB,wBAAwB;IAC1B,iCAAQ,GAAG,CAAiC,KAGxD,EAAE,EAAE;QACH,IAAI,GAAyB,CAAC;QAC9B,OAAO,CACL,QAAkB,EAClB,OAAiC,EACvB,EAAE;;YACZ,GAAG,aAAH,GAAG,cAAH,GAAG,IAAH,GAAG,GAAK,QAAQ,EAAC;YACjB,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK;gBACvB,IACE,OAAO,CAAC,MAAM,MAAK,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;oBACxC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;oBACrB,QAAQ,CAAC,QAAQ,KAAK,KAAK;oBAC3B,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI;oBAC9B,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBAE/B,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;;oBAC/D,OAAO,yCAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,QAAQ,GACZ,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;gBACrB,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC7B,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI;gBAC9B,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC;YAC9B,IAAI,QAAQ,KAAK,KAAK;gBACpB,MAAM,CAAC,IAAI,CACT,oEAAoE,CACrE,CAAC;YAEJ,MAAM,MAAM,GAAmC,MAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;YACzE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,KAAK,CAAC;oBAChE,MAAM,CAAC,IAAI,CACT,sEAAsE,CACvE,CAAC;gBACJ,IAAI,KAAK,GAAY,KAAK,CAAC;gBAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,CAAC;oBAC7D,MAAM,KAAK,GAAa,CAAC,CAAC,KAAK,CAAC;oBAChC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;wBAC3B,KAAK,KAAL,KAAK,GAAK,IAAI,EAAC;wBACf,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;4BACvB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gCACpD,MAAM,CAAC,IAAI,CACT,+BAA+B,IAAI,mCAAmC,CACvE,CAAC;4BACJ,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK;gCAC9B,MAAM,CAAC,IAAI,CACT,+BAA+B,IAAI,0BAA0B,CAC9D,CAAC;4BACJ,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;gCACzB,MAAM,CAAC,IAAI,CACT,+BAA+B,IAAI,8BAA8B,CAClE,CAAC;wBACN,CAAC;wBAED,MAAM,WAAW,GAAuB,iBAAiB,CACvD,qDAAyB,CAAC,gBAAgB,CAAC;4BACzC,WAAW,EACT,MAAA,MAAA,CAAC,CAAC,WAAW,mCACb,MAAA,MAAA,MAAA,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,0CACjD,IAAI,0CAAG,CAAC,CAAC,0CAAE,IAAI,mCACnB,IAAI;4BACN,SAAS,EAAE,CAAC,CAAC,SAAS;4BACtB,IAAI,EAAE,SAAS;yBAChB,CAAC,CACH,CAAC;wBACF,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,IAAK;4BACzD,MAAM,CAAC,IAAI,CACT,+BAA+B,IAAI,iDAAiD,CACrF,CAAC;oBACN,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,KAAK,KAAK;oBACjB,MAAM,CAAC,IAAI,CACT,mEAAmE,CACpE,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,IAAsB,EAAY,EAAE;;QAC1E,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAW,+BAA+B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,KAAK;YAC1D,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,uDAAuD,CACjE,CAAC;QACJ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,KAAK,IAAI;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,qCAAqC,CAAC,CAAC;QAC9D,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;YACzC,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,uDAAuD,CACjE,CAAC;QACJ,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,sCAAsC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,gCAAgC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAa,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;YAChD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,sCAAsC,CAAC,CAAC;iBAC1D,CAAC;gBACJ,IACE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,KAAK,CACvC;oBAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0CAA0C,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,KAAK;oBAC7B,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,qDAAqD,CAC/D,CAAC;gBACJ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEW,8BAAK,GAAG,CAAiC,KAOrD,EAA0B,EAAE;QAC3B,MAAM,MAAM,GAAa,yBAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvD,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM;YACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3E,MAAM,kBAAkB,GACtB,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE;YACrB,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;YACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK;YAC1B,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI;YAC7B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CACjC;aACE,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,SAAS,CAAC,IAAI,CACd,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAC1D,KAAK,SAAS,CAClB;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,CAAC,CAAC,GAAG,CAAC,cAAc,EAAG;YACvB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,CAAE;SACrC,CAAC,CACL,CAAC;QAEJ,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,WAAW,GACf,qDAAyB,CAAC,KAAK,CAAC;YAC9B,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,KAAK;SAC5D,CAAC,CAAC;QACL,MAAM,SAAS,GACb,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YACjC,OAAA,aAAa,CAAC;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,MAAA,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,IAAI;aACjD,CAAC,CAAA;SAAA,CACH,CAAC;QACJ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,sCAAsC;gBACpC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtD,CAAC;QACJ,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,gDACF,qCAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAC5C,KAAK,CAAC,MAAM,KACf,QAAQ,EAAE,IAAI,GACf;YACD,SAAS,EAAE,SAAkC;SAC9C,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAiC,KAStD,EAA8B,EAAE;;QAC/B,MAAM,UAAU,GACd,eAAe,iCACV,KAAK,KACR,QAAQ,EAAE,UAAU,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,IACpD,CAAC;QACL,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,MAAM,GACV,WAAW,CAAC;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU;YACV,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,MAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,0CAAE,MAAM,mCAAI,IAAI;YAC7C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,UAAU,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS;SACjD,CAAC,CAAC;QACL,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;aAC5B,IACH,MAAM;YACN,MAAM,CAAC,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,0CAAE,WAAW,0CAAE,MAAM,CAAA;YAE5C,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YACzB,UAAU;YACV,MAAM,EAAE,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,CAEf;YACb,WAAW,EAAE,CAAC,GAAG,EAAE;;gBACjB,IACE,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA;oBAC/B,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,WAAW,0CAAE,MAAM,CAAA;oBAEnC,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC9D,MAAM,OAAO,GAAW,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC1D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;oBACnD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW;oBAC5B,CAAC,CAAC,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,EAAE;YACJ,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;YACrC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YACzB,QAAQ,EAAE,eAAe,CAAC;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBACzB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAiC,KAMxD,EAA4C,EAAE;;QAC7C,MAAM,MAAM,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,MAAM,mCAAI;YACrD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,MAAM,MAAM,GAGR,qCAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,EAAE,qCAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAQ;YAC3D,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,kCACA,MAE+B,KACnC,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,KAAK,EAC1D,WAAW,EACT,MAAA,MAAM,CAAC,WAAW,mCAAI,MAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,WAAW,GAClE;YACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAoE,CAAC;QACtE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CACtE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAiC,KAOpD,EAAoD,EAAE;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GACV,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,EAAE,qCAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAQ;YAC3D,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAG,KAAK,CAAC,UAAkB,CAAC,KAAK;YACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAgE,CAAC;QACpE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CACtE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAMxB,EAA8C,EAAE;QAC/C,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAC1B,OAAO,uCAAkB,CAAC,KAAK,iCAC1B,KAAK,KACR,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC7C,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3B,EACD,MAAM,EAAE;oBACN,MAAM,EAAE,KAAK;iBACd,EACD,IAAI,EAAE,SAAS,IACR,CAAC;QAEZ,MAAM,IAAI,GAAwB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS;YACpB,cAAc;YACd,MAAM,IAAI,KAAK,CACb,sMAAsM,CACvM,CAAC;QACJ,OAAO,uCAAkB,CAAC,KAAK,iCAC1B,KAAK,KACR,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,MAAO,EAC7B,MAAM,EAAE;gBACN,MAAM,EAAE,KAAK;aACd,EACD,IAAI,EAAE,KAAK,CAAC,SAAS;gBACnB,CAAC,CAAC,cAAc,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;gBACpE,CAAC,CAAC,SAAS,IAGU,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,EAnXgB,wBAAwB,wCAAxB,wBAAwB,QAmXxC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAG1B,EAAsB,EAAE;;IACvB,IAAI,CAAC,CAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,MAAA,CAAC,CAAC,WAAW,0CAAE,MAAM,CAAA;QAC9C,OAAO,MAAA,CAAC,CAAC,OAAO,mCAAI,CAAC,CAAC,WAAW,CAAC;IACpC,MAAM,OAAO,GAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC7C,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACd,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC,WAAW;QACf,CAAC,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC;AACxC,CAAC,CAAC"}
@@ -1,52 +1,5 @@
1
- import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
2
- import { ILlmFunctionOfValidate } from "./ILlmFunctionOfValidate";
1
+ import { ILlmApplication } from "@samchon/openapi";
3
2
  /**
4
- * Application of LLM function calling with validators.
5
- *
6
- * `ILlmApplication` is a data structure representing a collection of
7
- * {@link ILlmFunctionOfValidate LLM function calling schemas}, composed from a native
8
- * TypeScript class (or interface) type by the `typia.llm.applicationOfValidate<App, Model>()`
9
- * function.
10
- *
11
- * If you put the returned {@link ILlmApplicationOfValidate.functions} objects to the
12
- * LLM provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically
13
- * select the proper function and fill its arguments from the conversation
14
- * (maybe chatting text) with user (human). This is the concept of the LLM function calling.
15
- *
16
- * Additionally, the LLM function calling sometimes take a mistake that composing wrong typed
17
- * {@link ILlmFunctionOfValidate.parameters}. In that case, deliver return value of the
18
- * {@link ILlmFunctionOfValidate.validate} function, then LLM provider will correct the
19
- * parameters at the next conversation. The {@link ILlmFunctionOfValidate.validate} function
20
- * is a validator function reporting the detailed information about the wrong typed parameters.
21
- *
22
- * By the way, there can be some parameters (or their nested properties) which must be
23
- * composed by Human, not by LLM. File uploading feature or some sensitive information
24
- * like secret keys (password) are the examples. In that case, you can separate the
25
- * function parameters to both LLM and human sides by configuring the
26
- * {@link ILlmApplication.IOptions.separate} property. The separated parameters are
27
- * assigned to the {@link ILlmFunction.separated} property.
28
- *
29
- * For reference, when both LLM and Human filled parameter values to call, you can
30
- * merge them by calling the {@link HttpLlm.mergeParameters} function. In other words,
31
- * if you've configured the {@link ILlmApplication.IOptions.separate} property, you
32
- * have to merge the separated parameters before the function call execution.
33
- *
34
- * @reference https://platform.openai.com/docs/guides/function-calling
35
- * @author Jeongho Nam - https://github.com/samchon
3
+ * @deprecated Use `ILlmApplication` type instead
36
4
  */
37
- export interface ILlmApplicationOfValidate<Model extends ILlmSchema.Model> extends ILlmApplication<Model> {
38
- /**
39
- * List of function metadata.
40
- *
41
- * List of function metadata that can be used for the LLM function call.
42
- *
43
- * Also, every functions have their own parameters validator
44
- * {@link ILlmFunctionOfValidate.validate}. If the LLM function calling composes wrong
45
- * typed parameters, then deliver return value of it, then LLM will correct parameters
46
- * at the next conversation.
47
- */
48
- functions: ILlmFunctionOfValidate<Model>[];
49
- }
50
- export declare namespace ILlmApplicationOfValidate {
51
- export import IOptions = ILlmApplication.IOptions;
52
- }
5
+ export import ILlmApplicationOfValidate = ILlmApplication;
@@ -1,7 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ILlmApplicationOfValidate = void 0;
4
- var ILlmApplicationOfValidate;
5
- (function (ILlmApplicationOfValidate) {
6
- })(ILlmApplicationOfValidate || (exports.ILlmApplicationOfValidate = ILlmApplicationOfValidate = {}));
7
3
  //# sourceMappingURL=ILlmApplicationOfValidate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ILlmApplicationOfValidate.js","sourceRoot":"","sources":["../../../src/schemas/llm/ILlmApplicationOfValidate.ts"],"names":[],"mappings":";;;AAoDA,IAAiB,yBAAyB,CAEzC;AAFD,WAAiB,yBAAyB;AAE1C,CAAC,EAFgB,yBAAyB,yCAAzB,yBAAyB,QAEzC"}
1
+ {"version":3,"file":"ILlmApplicationOfValidate.js","sourceRoot":"","sources":["../../../src/schemas/llm/ILlmApplicationOfValidate.ts"],"names":[],"mappings":""}
@@ -1,36 +1,5 @@
1
- import { ILlmFunction, ILlmSchema } from "@samchon/openapi";
2
- import { IValidation } from "../../IValidation";
1
+ import { ILlmFunction } from "@samchon/openapi";
3
2
  /**
4
- * LLM function metadata with validator.
5
- *
6
- * `ILlmFunctionOfValidate` is an interface representing a function metadata,
7
- * which has been used for the LLM (Language Large Model) function
8
- * calling. Also, it's a function structure containing the function
9
- * {@link name}, {@link parameters} and {@link output return type}.
10
- *
11
- * If you provide this `ILlmFunctionOfValidate` data to the LLM provider like "OpenAI",
12
- * the "OpenAI" will compose a function arguments by analyzing conversations
13
- * with the user. With the LLM composed arguments, you can execute the function
14
- * and get the result.
15
- *
16
- * If the LLM function calling take s a mistake that composing wrong typed
17
- * {@link parameters}, you can correct the parameters by delivering the return
18
- * value of the {@link validate} function. The {@link validate} function is a
19
- * validator function reporting the detailed information about the wrong typed
20
- * {@link parameters}.
21
- *
22
- * By the way, do not ensure that LLM will always provide the correct arguments.
23
- * The LLM of present age is not perfect, and sometimes takes a mistake that composing
24
- * wrong typed {@link parameters}. In that case, you can correc the parameters by
25
- * delivering the return value of the {@link validate} function. The {@link validate}
26
- * function reports the detailed information about the wrong typed {@link parameters},
27
- *
28
- * @reference https://platform.openai.com/docs/guides/function-calling
29
- * @author Jeongho Nam - https://github.com/samchon
3
+ * @deprecated Use `ILlmFunction` type instead
30
4
  */
31
- export interface ILlmFunctionOfValidate<Model extends ILlmSchema.Model> extends ILlmFunction<Model> {
32
- validate(props: object): IValidation<unknown>;
33
- }
34
- export declare namespace ILlmFunctionOfValidate {
35
- export import ISeparated = ILlmFunction.ISeparated;
36
- }
5
+ export import ILlmFunctionOfValidate = ILlmFunction;
@@ -1,7 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ILlmFunctionOfValidate = void 0;
4
- var ILlmFunctionOfValidate;
5
- (function (ILlmFunctionOfValidate) {
6
- })(ILlmFunctionOfValidate || (exports.ILlmFunctionOfValidate = ILlmFunctionOfValidate = {}));
7
3
  //# sourceMappingURL=ILlmFunctionOfValidate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ILlmFunctionOfValidate.js","sourceRoot":"","sources":["../../../src/schemas/llm/ILlmFunctionOfValidate.ts"],"names":[],"mappings":";;;AAoCA,IAAiB,sBAAsB,CAEtC;AAFD,WAAiB,sBAAsB;AAEvC,CAAC,EAFgB,sBAAsB,sCAAtB,sBAAsB,QAEtC"}
1
+ {"version":3,"file":"ILlmFunctionOfValidate.js","sourceRoot":"","sources":["../../../src/schemas/llm/ILlmFunctionOfValidate.ts"],"names":[],"mappings":""}