typia 9.3.0-dev.20250511 → 9.3.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 (521) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +149 -149
  3. package/lib/executable/setup/PluginConfigurator.js +3 -3
  4. package/lib/executable/setup/PluginConfigurator.mjs +3 -3
  5. package/lib/executable/typia.js +15 -15
  6. package/lib/executable/typia.mjs +15 -15
  7. package/lib/llm.d.mts +179 -31
  8. package/lib/llm.d.ts +179 -31
  9. package/lib/llm.js.map +1 -1
  10. package/lib/schemas/json/IJsonApplication.d.mts +5 -1
  11. package/lib/schemas/json/IJsonApplication.d.ts +5 -1
  12. package/lib/schemas/json/IJsonApplication.js.map +1 -1
  13. package/lib/transformers/features/llm/LlmControllerTransformer.js +3 -3
  14. package/lib/transformers/features/llm/LlmControllerTransformer.js.map +1 -1
  15. package/lib/transformers/features/llm/LlmControllerTransformer.mjs +3 -3
  16. package/package.json +3 -3
  17. package/src/AssertionGuard.ts +1 -1
  18. package/src/CamelCase.ts +75 -75
  19. package/src/IRandomGenerator.ts +49 -49
  20. package/src/IReadableURLSearchParams.ts +9 -9
  21. package/src/IValidation.ts +1 -1
  22. package/src/PascalCase.ts +71 -71
  23. package/src/Primitive.ts +92 -92
  24. package/src/Resolved.ts +74 -74
  25. package/src/SnakeCase.ts +126 -126
  26. package/src/TypeGuardError.ts +37 -37
  27. package/src/executable/TypiaGenerateWizard.ts +83 -83
  28. package/src/executable/TypiaPatchWizard.ts +45 -45
  29. package/src/executable/TypiaSetupWizard.ts +171 -171
  30. package/src/executable/setup/ArgumentParser.ts +42 -42
  31. package/src/executable/setup/CommandExecutor.ts +8 -8
  32. package/src/executable/setup/FileRetriever.ts +19 -19
  33. package/src/executable/setup/PackageManager.ts +87 -87
  34. package/src/executable/setup/PluginConfigurator.ts +69 -69
  35. package/src/executable/typia.ts +55 -55
  36. package/src/factories/CommentFactory.ts +79 -79
  37. package/src/factories/ExpressionFactory.ts +219 -219
  38. package/src/factories/IdentifierFactory.ts +89 -89
  39. package/src/factories/JsonMetadataFactory.ts +83 -83
  40. package/src/factories/LiteralFactory.ts +52 -52
  41. package/src/factories/MetadataCollection.ts +278 -278
  42. package/src/factories/MetadataCommentTagFactory.ts +648 -648
  43. package/src/factories/MetadataFactory.ts +404 -404
  44. package/src/factories/MetadataTypeTagFactory.ts +413 -413
  45. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  46. package/src/factories/NumericRangeFactory.ts +72 -72
  47. package/src/factories/ProtobufFactory.ts +875 -875
  48. package/src/factories/StatementFactory.ts +90 -90
  49. package/src/factories/TemplateFactory.ts +64 -64
  50. package/src/factories/TypeFactory.ts +140 -140
  51. package/src/factories/ValueFactory.ts +12 -12
  52. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  53. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  54. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  55. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  56. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  57. package/src/factories/internal/metadata/emplace_metadata_object.ts +212 -212
  58. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  59. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  60. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  61. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  62. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  63. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  64. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  65. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  66. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  67. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  68. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  69. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  70. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +212 -212
  71. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  72. package/src/factories/internal/metadata/iterate_metadata_native.ts +264 -264
  73. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  74. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  75. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  76. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  77. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  78. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  79. package/src/functional.ts +740 -740
  80. package/src/http.ts +1040 -1040
  81. package/src/index.ts +4 -4
  82. package/src/internal/_IProtobufWriter.ts +18 -18
  83. package/src/internal/_ProtobufReader.ts +194 -194
  84. package/src/internal/_ProtobufSizer.ts +145 -145
  85. package/src/internal/_ProtobufWriter.ts +145 -145
  86. package/src/internal/_accessExpressionAsString.ts +46 -46
  87. package/src/internal/_assertGuard.ts +13 -13
  88. package/src/internal/_createStandardSchema.ts +134 -134
  89. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  90. package/src/internal/_httpFormDataReadArray.ts +4 -4
  91. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  92. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  93. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  94. package/src/internal/_httpFormDataReadFile.ts +10 -10
  95. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  96. package/src/internal/_httpFormDataReadString.ts +10 -10
  97. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  98. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  99. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  100. package/src/internal/_httpParameterReadBigint.ts +10 -10
  101. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  102. package/src/internal/_httpParameterReadNumber.ts +7 -7
  103. package/src/internal/_httpParameterReadString.ts +2 -2
  104. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  105. package/src/internal/_httpQueryReadArray.ts +4 -4
  106. package/src/internal/_httpQueryReadBigint.ts +12 -12
  107. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  108. package/src/internal/_httpQueryReadNumber.ts +9 -9
  109. package/src/internal/_httpQueryReadString.ts +4 -4
  110. package/src/internal/_isBetween.ts +2 -2
  111. package/src/internal/_isBigintString.ts +8 -8
  112. package/src/internal/_isFormatByte.ts +7 -7
  113. package/src/internal/_isFormatDate.ts +3 -3
  114. package/src/internal/_isFormatDateTime.ts +4 -4
  115. package/src/internal/_isFormatDuration.ts +4 -4
  116. package/src/internal/_isFormatEmail.ts +4 -4
  117. package/src/internal/_isFormatHostname.ts +4 -4
  118. package/src/internal/_isFormatIdnEmail.ts +4 -4
  119. package/src/internal/_isFormatIdnHostname.ts +4 -4
  120. package/src/internal/_isFormatIpv4.ts +4 -4
  121. package/src/internal/_isFormatIpv6.ts +4 -4
  122. package/src/internal/_isFormatIri.ts +3 -3
  123. package/src/internal/_isFormatIriReference.ts +4 -4
  124. package/src/internal/_isFormatJsonPointer.ts +3 -3
  125. package/src/internal/_isFormatPassword.ts +1 -1
  126. package/src/internal/_isFormatRegex.ts +8 -8
  127. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  128. package/src/internal/_isFormatTime.ts +4 -4
  129. package/src/internal/_isFormatUri.ts +6 -6
  130. package/src/internal/_isFormatUriReference.ts +5 -5
  131. package/src/internal/_isFormatUriTemplate.ts +4 -4
  132. package/src/internal/_isFormatUrl.ts +4 -4
  133. package/src/internal/_isFormatUuid.ts +3 -3
  134. package/src/internal/_isTypeFloat.ts +5 -5
  135. package/src/internal/_isTypeInt32.ts +5 -5
  136. package/src/internal/_isTypeInt64.ts +5 -5
  137. package/src/internal/_isTypeUint32.ts +5 -5
  138. package/src/internal/_isTypeUint64.ts +5 -5
  139. package/src/internal/_isUniqueItems.ts +159 -159
  140. package/src/internal/_jsonStringifyNumber.ts +12 -12
  141. package/src/internal/_jsonStringifyRest.ts +3 -3
  142. package/src/internal/_jsonStringifyString.ts +42 -42
  143. package/src/internal/_jsonStringifyTail.ts +2 -2
  144. package/src/internal/_llmApplicationFinalize.ts +20 -20
  145. package/src/internal/_miscCloneAny.ts +46 -46
  146. package/src/internal/_notationAny.ts +37 -37
  147. package/src/internal/_notationCamel.ts +13 -13
  148. package/src/internal/_notationPascal.ts +8 -8
  149. package/src/internal/_notationSnake.ts +43 -43
  150. package/src/internal/_randomArray.ts +21 -21
  151. package/src/internal/_randomBigint.ts +6 -6
  152. package/src/internal/_randomBoolean.ts +1 -1
  153. package/src/internal/_randomFormatByte.ts +3 -3
  154. package/src/internal/_randomFormatDate.ts +18 -18
  155. package/src/internal/_randomFormatDatetime.ts +16 -16
  156. package/src/internal/_randomFormatDuration.ts +27 -27
  157. package/src/internal/_randomFormatEmail.ts +11 -11
  158. package/src/internal/_randomFormatHostname.ts +6 -6
  159. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  160. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  161. package/src/internal/_randomFormatIpv4.ts +11 -11
  162. package/src/internal/_randomFormatIpv6.ts +11 -11
  163. package/src/internal/_randomFormatIri.ts +3 -3
  164. package/src/internal/_randomFormatIriReference.ts +3 -3
  165. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  166. package/src/internal/_randomFormatPassword.ts +8 -8
  167. package/src/internal/_randomFormatRegex.ts +4 -4
  168. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  169. package/src/internal/_randomFormatTime.ts +14 -14
  170. package/src/internal/_randomFormatUri.ts +3 -3
  171. package/src/internal/_randomFormatUriReference.ts +3 -3
  172. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  173. package/src/internal/_randomFormatUrl.ts +11 -11
  174. package/src/internal/_randomFormatUuid.ts +6 -6
  175. package/src/internal/_randomInteger.ts +53 -53
  176. package/src/internal/_randomNumber.ts +80 -80
  177. package/src/internal/_randomPattern.ts +10 -10
  178. package/src/internal/_randomPick.ts +9 -9
  179. package/src/internal/_randomString.ts +24 -24
  180. package/src/internal/_throwTypeGuardError.ts +5 -5
  181. package/src/internal/_validateReport.ts +13 -13
  182. package/src/internal/private/__notationCapitalize.ts +2 -2
  183. package/src/internal/private/__notationUnsnake.ts +24 -24
  184. package/src/json.ts +696 -696
  185. package/src/llm.ts +506 -358
  186. package/src/misc.ts +651 -651
  187. package/src/module.ts +936 -936
  188. package/src/notations.ts +820 -820
  189. package/src/programmers/AssertProgrammer.ts +454 -454
  190. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  191. package/src/programmers/FeatureProgrammer.ts +627 -627
  192. package/src/programmers/ImportProgrammer.ts +185 -185
  193. package/src/programmers/IsProgrammer.ts +273 -273
  194. package/src/programmers/RandomProgrammer.ts +1190 -1190
  195. package/src/programmers/TypiaProgrammer.ts +175 -175
  196. package/src/programmers/ValidateProgrammer.ts +448 -448
  197. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  198. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  199. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  200. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  201. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  202. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  203. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  204. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  205. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  206. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  207. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  208. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  209. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  210. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  211. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  212. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  213. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  214. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  215. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  216. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  217. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  218. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  219. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  220. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  221. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  222. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  223. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  224. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  225. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  226. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  227. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  228. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  229. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  230. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  231. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  232. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  233. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  234. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  235. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  236. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  237. package/src/programmers/internal/check_array_length.ts +47 -47
  238. package/src/programmers/internal/check_bigint.ts +50 -50
  239. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  240. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  241. package/src/programmers/internal/check_everything.ts +23 -23
  242. package/src/programmers/internal/check_native.ts +27 -27
  243. package/src/programmers/internal/check_number.ts +112 -112
  244. package/src/programmers/internal/check_object.ts +75 -75
  245. package/src/programmers/internal/check_string.ts +50 -50
  246. package/src/programmers/internal/check_template.ts +48 -48
  247. package/src/programmers/internal/check_union_array_like.ts +335 -335
  248. package/src/programmers/internal/decode_union_object.ts +116 -116
  249. package/src/programmers/internal/feature_object_entries.ts +61 -61
  250. package/src/programmers/internal/json_schema_alias.ts +47 -47
  251. package/src/programmers/internal/json_schema_array.ts +45 -45
  252. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  253. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  254. package/src/programmers/internal/json_schema_constant.ts +26 -26
  255. package/src/programmers/internal/json_schema_description.ts +12 -12
  256. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  257. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  258. package/src/programmers/internal/json_schema_native.ts +33 -33
  259. package/src/programmers/internal/json_schema_number.ts +15 -15
  260. package/src/programmers/internal/json_schema_object.ts +158 -158
  261. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  262. package/src/programmers/internal/json_schema_station.ts +185 -185
  263. package/src/programmers/internal/json_schema_string.ts +15 -15
  264. package/src/programmers/internal/json_schema_template.ts +55 -55
  265. package/src/programmers/internal/json_schema_title.ts +20 -20
  266. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  267. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  268. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  269. package/src/programmers/internal/prune_object_properties.ts +71 -71
  270. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  271. package/src/programmers/internal/stringify_native.ts +7 -7
  272. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  273. package/src/programmers/internal/template_to_pattern.ts +23 -23
  274. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  275. package/src/programmers/json/JsonApplicationProgrammer.ts +266 -266
  276. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  277. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  278. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  279. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  280. package/src/programmers/json/JsonSchemaProgrammer.ts +26 -26
  281. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  282. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  283. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  284. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  285. package/src/programmers/llm/LlmApplicationProgrammer.ts +401 -401
  286. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  287. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  288. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  289. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  290. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  291. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  292. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  293. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  294. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  295. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  296. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  297. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  298. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  299. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  300. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  301. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  302. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  303. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  304. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  305. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  306. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  307. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  308. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  309. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  310. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  311. package/src/protobuf.ts +861 -861
  312. package/src/reflect.ts +50 -50
  313. package/src/schemas/json/IJsonApplication.ts +77 -73
  314. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  315. package/src/schemas/json/IJsonSchemaUnit.ts +32 -32
  316. package/src/schemas/json/__IJsonApplication.ts +63 -63
  317. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  318. package/src/schemas/metadata/IMetadata.ts +35 -35
  319. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  320. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  321. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  322. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  323. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  324. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  325. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  326. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  327. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  328. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  329. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  330. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  331. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  332. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  333. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  334. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  335. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  336. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  337. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  338. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  339. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  340. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  341. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  342. package/src/schemas/metadata/Metadata.ts +687 -687
  343. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  344. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  345. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  346. package/src/schemas/metadata/MetadataArray.ts +49 -49
  347. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  348. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  349. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  350. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  351. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  352. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  353. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  354. package/src/schemas/metadata/MetadataMap.ts +48 -48
  355. package/src/schemas/metadata/MetadataNative.ts +44 -44
  356. package/src/schemas/metadata/MetadataObject.ts +48 -48
  357. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  358. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  359. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  360. package/src/schemas/metadata/MetadataSet.ts +45 -45
  361. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  362. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  363. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  364. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  365. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  366. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  367. package/src/tags/Constant.ts +15 -15
  368. package/src/tags/ContentMediaType.ts +10 -10
  369. package/src/tags/Default.ts +22 -22
  370. package/src/tags/Example.ts +24 -24
  371. package/src/tags/Examples.ts +16 -16
  372. package/src/tags/ExclusiveMaximum.ts +23 -23
  373. package/src/tags/ExclusiveMinimum.ts +23 -23
  374. package/src/tags/Format.ts +50 -50
  375. package/src/tags/JsonSchemaPlugin.ts +8 -8
  376. package/src/tags/MaxItems.ts +12 -12
  377. package/src/tags/MaxLength.ts +12 -12
  378. package/src/tags/Maximum.ts +19 -19
  379. package/src/tags/MinItems.ts +12 -12
  380. package/src/tags/MinLength.ts +12 -12
  381. package/src/tags/Minimum.ts +19 -19
  382. package/src/tags/MultipleOf.ts +21 -21
  383. package/src/tags/Pattern.ts +31 -31
  384. package/src/tags/Sequence.ts +10 -10
  385. package/src/tags/TagBase.ts +82 -82
  386. package/src/tags/Type.ts +37 -37
  387. package/src/tags/UniqueItems.ts +14 -14
  388. package/src/tags/index.ts +21 -21
  389. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  390. package/src/transform.ts +35 -35
  391. package/src/transformers/CallExpressionTransformer.ts +554 -554
  392. package/src/transformers/FileTransformer.ts +136 -136
  393. package/src/transformers/IProgrammerProps.ts +11 -11
  394. package/src/transformers/ITransformOptions.ts +62 -62
  395. package/src/transformers/ITransformProps.ts +9 -9
  396. package/src/transformers/ITypiaContext.ts +18 -18
  397. package/src/transformers/ImportTransformer.ts +81 -81
  398. package/src/transformers/NoTransformConfigurationError.ts +18 -18
  399. package/src/transformers/NodeTransformer.ts +17 -17
  400. package/src/transformers/TransformerError.ts +60 -60
  401. package/src/transformers/features/AssertTransformer.ts +24 -24
  402. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  403. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  404. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  405. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  406. package/src/transformers/features/IsTransformer.ts +18 -18
  407. package/src/transformers/features/RandomTransformer.ts +41 -41
  408. package/src/transformers/features/ValidateTransformer.ts +18 -18
  409. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  410. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  411. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  412. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  413. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  414. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  415. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  416. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  417. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  418. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  419. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  420. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  421. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  422. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  423. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  424. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  425. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  426. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  427. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  428. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  429. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  430. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  431. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  432. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  433. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  434. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  435. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  436. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  437. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  438. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  439. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  440. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  441. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  442. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  443. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  444. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  445. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  446. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  447. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  448. package/src/transformers/features/json/JsonSchemaTransformer.ts +135 -135
  449. package/src/transformers/features/json/JsonSchemasTransformer.ts +145 -145
  450. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  451. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  452. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  453. package/src/transformers/features/llm/LlmApplicationTransformer.ts +145 -145
  454. package/src/transformers/features/llm/LlmControllerTransformer.ts +93 -93
  455. package/src/transformers/features/llm/LlmParametersTransformer.ts +102 -102
  456. package/src/transformers/features/llm/LlmSchemaTransformer.ts +170 -170
  457. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  458. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  459. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  460. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  461. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  462. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  463. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  464. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  465. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  466. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  467. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  468. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  469. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  470. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  471. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  472. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  473. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  474. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  475. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  476. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  477. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  478. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  479. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  480. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  481. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  482. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  483. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  484. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  485. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  486. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  487. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  488. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  489. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  490. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  491. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  492. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  493. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  494. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  495. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  496. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  497. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  498. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  499. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  500. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  501. package/src/transformers/internal/GenericTransformer.ts +101 -101
  502. package/src/typings/Atomic.ts +13 -13
  503. package/src/typings/ClassProperties.ts +5 -5
  504. package/src/typings/Customizable.ts +5 -5
  505. package/src/typings/Equal.ts +18 -18
  506. package/src/typings/IsTuple.ts +9 -9
  507. package/src/typings/NativeClass.ts +23 -23
  508. package/src/typings/OmitNever.ts +3 -3
  509. package/src/typings/ProtobufAtomic.ts +19 -19
  510. package/src/typings/SpecialFields.ts +3 -3
  511. package/src/typings/ValidationPipe.ts +9 -9
  512. package/src/typings/ValueOf.ts +20 -20
  513. package/src/typings/Writable.ts +11 -11
  514. package/src/utils/ArrayUtil.ts +41 -41
  515. package/src/utils/Escaper.ts +50 -50
  516. package/src/utils/MapUtil.ts +14 -14
  517. package/src/utils/NamingConvention.ts +94 -94
  518. package/src/utils/PatternUtil.ts +29 -29
  519. package/src/utils/ProtobufNameEncoder.ts +32 -32
  520. package/src/utils/Singleton.ts +16 -16
  521. package/src/utils/StringUtil.ts +16 -16
package/lib/llm.d.mts CHANGED
@@ -1,8 +1,150 @@
1
1
  import { ILlmApplication, ILlmController, ILlmSchema } from "@samchon/openapi";
2
+ /**
3
+ * > You must configure the generic argument `Class`.
4
+ *
5
+ * TypeScript functions to LLM function calling controller.
6
+ *
7
+ * Creates a controller of LLM (Large Language Model) function calling
8
+ * from a TypeScript class or interface type containing the target functions to be
9
+ * called by the LLM function calling feature. The returned controller contains
10
+ * not only the {@link application} of {@link ILlmFunction function calling schemas},
11
+ * but also the {@link ILlmController.execute executor} of the functions.
12
+ *
13
+ * If you put the returned {@link ILlmController} to the LLM provider like
14
+ * [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
15
+ * proper function and fill its arguments from the conversation (maybe chatting text)
16
+ * with user (human). And you can actually call the function by using
17
+ * {@link ILlmController.execute} property. This is the concept of the LLM function
18
+ * calling.
19
+ *
20
+ * Here is an example of using `typia.llm.controller()` function for AI agent
21
+ * development of performing such AI function calling to mobile API classes
22
+ * through this `typia` and external `@agentica` libraries.
23
+ *
24
+ * ```typescript
25
+ * import { Agentica } from "@agentica/core";
26
+ * import typia from "typia";
27
+ *
28
+ * const agentica = new Agentica({
29
+ * model: "chatgpt",
30
+ * vendor: {
31
+ * api: new OpenAI({ apiKey: "********" }),
32
+ * model: "gpt-4o-mini",
33
+ * },
34
+ * controllers: [
35
+ * typia.llm.controller<ReactNativeFileSystem, "chatgpt">(
36
+ * "filesystem",
37
+ * new ReactNativeFileSystem(),
38
+ * ),
39
+ * typia.llm.controller<ReactNativeGallery, "chatgpt">(
40
+ * "gallery",
41
+ * new ReactNativeGallery(),
42
+ * ),
43
+ * ],
44
+ * });
45
+ * await agentica.conversate(
46
+ * "Organize photo collection and sort them into appropriate folders.",
47
+ * );
48
+ * ```
49
+ *
50
+ * Here is the list of available `Model` types with their corresponding LLM schema.
51
+ * Reading the following list, and determine the `Model` type considering the
52
+ * characteristics of the target LLM provider.
53
+ *
54
+ * - LLM provider schemas
55
+ * - `chatgpt`: [`IChatGptSchema`](https://samchon.github.io/openapi/api/types/IChatGptSchema-1.html)
56
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
57
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
58
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
59
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
60
+ * - Midldle layer schemas
61
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
62
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
63
+ *
64
+ * @template Class Target class or interface type collecting the functions to call
65
+ * @template Model LLM schema model
66
+ * @template Config Configuration of LLM schema composition
67
+ * @param name Identifier name of the controller
68
+ * @param execute Executor instance
69
+ * @param options Options for the LLM application construction
70
+ * @returns Controller of LLM function calling
71
+ * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/
72
+ * @author Jeongho Nam - https://github.com/samchon
73
+ */
2
74
  export declare function controller(name: string, execute: object, options?: Partial<Pick<ILlmApplication.IOptions<any>, "separate">>): never;
75
+ /**
76
+ * TypeScript functions to LLM function calling controller.
77
+ *
78
+ * Creates a controller of LLM (Large Language Model) function calling
79
+ * from a TypeScript class or interface type containing the target functions to be
80
+ * called by the LLM function calling feature. The returned controller contains
81
+ * not only the {@link application} of {@link ILlmFunction function calling schemas},
82
+ * but also the {@link ILlmController.execute executor} of the functions.
83
+ *
84
+ * If you put the returned {@link ILlmController} to the LLM provider like
85
+ * [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
86
+ * proper function and fill its arguments from the conversation (maybe chatting text)
87
+ * with user (human). And you can actually call the function by using
88
+ * {@link ILlmController.execute} property. This is the concept of the LLM function
89
+ * calling.
90
+ *
91
+ * Here is an example of using `typia.llm.controller()` function for AI agent
92
+ * development of performing such AI function calling to mobile API classes
93
+ * through this `typia` and external `@agentica` libraries.
94
+ *
95
+ * ```typescript
96
+ * import { Agentica } from "@agentica/core";
97
+ * import typia from "typia";
98
+ *
99
+ * const agentica = new Agentica({
100
+ * model: "chatgpt",
101
+ * vendor: {
102
+ * api: new OpenAI({ apiKey: "********" }),
103
+ * model: "gpt-4o-mini",
104
+ * },
105
+ * controllers: [
106
+ * typia.llm.controller<ReactNativeFileSystem, "chatgpt">(
107
+ * "filesystem",
108
+ * new ReactNativeFileSystem(),
109
+ * ),
110
+ * typia.llm.controller<ReactNativeGallery, "chatgpt">(
111
+ * "gallery",
112
+ * new ReactNativeGallery(),
113
+ * ),
114
+ * ],
115
+ * });
116
+ * await agentica.conversate(
117
+ * "Organize photo collection and sort them into appropriate folders.",
118
+ * );
119
+ * ```
120
+ *
121
+ * Here is the list of available `Model` types with their corresponding LLM schema.
122
+ * Reading the following list, and determine the `Model` type considering the
123
+ * characteristics of the target LLM provider.
124
+ *
125
+ * - LLM provider schemas
126
+ * - `chatgpt`: [`IChatGptSchema`](https://samchon.github.io/openapi/api/types/IChatGptSchema-1.html)
127
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
128
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
129
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
130
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
131
+ * - Midldle layer schemas
132
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
133
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
134
+ *
135
+ * @template Class Target class or interface type collecting the functions to call
136
+ * @template Model LLM schema model
137
+ * @template Config Configuration of LLM schema composition
138
+ * @param name Identifier name of the controller
139
+ * @param execute Executor instance
140
+ * @param options Options for the LLM application construction
141
+ * @returns Controller of LLM function calling
142
+ * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/
143
+ * @author Jeongho Nam - https://github.com/samchon
144
+ */
3
145
  export declare function controller<Class extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(name: string, execute: Class, options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>): ILlmController<Model>;
4
146
  /**
5
- * > You must configure the generic argument `App`.
147
+ * > You must configure the generic argument `Class`.
6
148
  *
7
149
  * TypeScript functions to LLM function calling application.
8
150
  *
@@ -39,12 +181,13 @@ export declare function controller<Class extends Record<string, any>, Model exte
39
181
  *
40
182
  * - LLM provider schemas
41
183
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
42
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
43
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
44
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
184
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
185
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
186
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
187
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
45
188
  * - Midldle layer schemas
46
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
47
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
189
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
190
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
48
191
  *
49
192
  * @template Class Target class or interface type collecting the functions to call
50
193
  * @template Model LLM schema model
@@ -91,12 +234,13 @@ export declare function application(options?: Partial<Pick<ILlmApplication.IOpti
91
234
  *
92
235
  * - LLM provider schemas
93
236
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
94
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
95
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
96
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
237
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
238
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
239
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
240
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
97
241
  * - Midldle layer schemas
98
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
99
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
242
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
243
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
100
244
  *
101
245
  * @template Class Target class or interface type collecting the functions to call
102
246
  * @template Model LLM schema model
@@ -133,12 +277,13 @@ export declare function application<Class extends Record<string, any>, Model ext
133
277
  *
134
278
  * - LLM provider schemas
135
279
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
136
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
137
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
138
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
280
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
281
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
282
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
283
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
139
284
  * - Midldle layer schemas
140
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
141
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
285
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
286
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
142
287
  *
143
288
  * @template Parameters Target parameters type
144
289
  * @template Model LLM schema model
@@ -172,12 +317,13 @@ export declare function parameters(): never;
172
317
  *
173
318
  * - LLM provider schemas
174
319
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
175
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
176
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
177
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
320
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
321
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
322
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
323
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
178
324
  * - Midldle layer schemas
179
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
180
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
325
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
326
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
181
327
  *
182
328
  * @template Parameters Target parameters type
183
329
  * @template Model LLM schema model
@@ -203,12 +349,13 @@ export declare function parameters<Parameters extends Record<string, any>, Model
203
349
  *
204
350
  * - LLM provider schemas
205
351
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
206
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
207
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
208
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
352
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
353
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
354
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
355
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
209
356
  * - Midldle layer schemas
210
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
211
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
357
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
358
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
212
359
  *
213
360
  * If you actually want to perform the LLM function calling with TypeScript functions,
214
361
  * you can do it with the {@link application} function. Otherwise you hope to perform the
@@ -249,12 +396,13 @@ export declare function schema(): never;
249
396
  *
250
397
  * - LLM provider schemas
251
398
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
252
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
253
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
254
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
399
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
400
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
401
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
402
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
255
403
  * - Midldle layer schemas
256
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
257
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
404
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
405
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
258
406
  *
259
407
  * If you actually want to perform the LLM function calling with TypeScript functions,
260
408
  * you can do it with the {@link application} function. Otherwise you hope to perform the
package/lib/llm.d.ts CHANGED
@@ -1,8 +1,150 @@
1
1
  import { ILlmApplication, ILlmController, ILlmSchema } from "@samchon/openapi";
2
+ /**
3
+ * > You must configure the generic argument `Class`.
4
+ *
5
+ * TypeScript functions to LLM function calling controller.
6
+ *
7
+ * Creates a controller of LLM (Large Language Model) function calling
8
+ * from a TypeScript class or interface type containing the target functions to be
9
+ * called by the LLM function calling feature. The returned controller contains
10
+ * not only the {@link application} of {@link ILlmFunction function calling schemas},
11
+ * but also the {@link ILlmController.execute executor} of the functions.
12
+ *
13
+ * If you put the returned {@link ILlmController} to the LLM provider like
14
+ * [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
15
+ * proper function and fill its arguments from the conversation (maybe chatting text)
16
+ * with user (human). And you can actually call the function by using
17
+ * {@link ILlmController.execute} property. This is the concept of the LLM function
18
+ * calling.
19
+ *
20
+ * Here is an example of using `typia.llm.controller()` function for AI agent
21
+ * development of performing such AI function calling to mobile API classes
22
+ * through this `typia` and external `@agentica` libraries.
23
+ *
24
+ * ```typescript
25
+ * import { Agentica } from "@agentica/core";
26
+ * import typia from "typia";
27
+ *
28
+ * const agentica = new Agentica({
29
+ * model: "chatgpt",
30
+ * vendor: {
31
+ * api: new OpenAI({ apiKey: "********" }),
32
+ * model: "gpt-4o-mini",
33
+ * },
34
+ * controllers: [
35
+ * typia.llm.controller<ReactNativeFileSystem, "chatgpt">(
36
+ * "filesystem",
37
+ * new ReactNativeFileSystem(),
38
+ * ),
39
+ * typia.llm.controller<ReactNativeGallery, "chatgpt">(
40
+ * "gallery",
41
+ * new ReactNativeGallery(),
42
+ * ),
43
+ * ],
44
+ * });
45
+ * await agentica.conversate(
46
+ * "Organize photo collection and sort them into appropriate folders.",
47
+ * );
48
+ * ```
49
+ *
50
+ * Here is the list of available `Model` types with their corresponding LLM schema.
51
+ * Reading the following list, and determine the `Model` type considering the
52
+ * characteristics of the target LLM provider.
53
+ *
54
+ * - LLM provider schemas
55
+ * - `chatgpt`: [`IChatGptSchema`](https://samchon.github.io/openapi/api/types/IChatGptSchema-1.html)
56
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
57
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
58
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
59
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
60
+ * - Midldle layer schemas
61
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
62
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
63
+ *
64
+ * @template Class Target class or interface type collecting the functions to call
65
+ * @template Model LLM schema model
66
+ * @template Config Configuration of LLM schema composition
67
+ * @param name Identifier name of the controller
68
+ * @param execute Executor instance
69
+ * @param options Options for the LLM application construction
70
+ * @returns Controller of LLM function calling
71
+ * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/
72
+ * @author Jeongho Nam - https://github.com/samchon
73
+ */
2
74
  export declare function controller(name: string, execute: object, options?: Partial<Pick<ILlmApplication.IOptions<any>, "separate">>): never;
75
+ /**
76
+ * TypeScript functions to LLM function calling controller.
77
+ *
78
+ * Creates a controller of LLM (Large Language Model) function calling
79
+ * from a TypeScript class or interface type containing the target functions to be
80
+ * called by the LLM function calling feature. The returned controller contains
81
+ * not only the {@link application} of {@link ILlmFunction function calling schemas},
82
+ * but also the {@link ILlmController.execute executor} of the functions.
83
+ *
84
+ * If you put the returned {@link ILlmController} to the LLM provider like
85
+ * [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
86
+ * proper function and fill its arguments from the conversation (maybe chatting text)
87
+ * with user (human). And you can actually call the function by using
88
+ * {@link ILlmController.execute} property. This is the concept of the LLM function
89
+ * calling.
90
+ *
91
+ * Here is an example of using `typia.llm.controller()` function for AI agent
92
+ * development of performing such AI function calling to mobile API classes
93
+ * through this `typia` and external `@agentica` libraries.
94
+ *
95
+ * ```typescript
96
+ * import { Agentica } from "@agentica/core";
97
+ * import typia from "typia";
98
+ *
99
+ * const agentica = new Agentica({
100
+ * model: "chatgpt",
101
+ * vendor: {
102
+ * api: new OpenAI({ apiKey: "********" }),
103
+ * model: "gpt-4o-mini",
104
+ * },
105
+ * controllers: [
106
+ * typia.llm.controller<ReactNativeFileSystem, "chatgpt">(
107
+ * "filesystem",
108
+ * new ReactNativeFileSystem(),
109
+ * ),
110
+ * typia.llm.controller<ReactNativeGallery, "chatgpt">(
111
+ * "gallery",
112
+ * new ReactNativeGallery(),
113
+ * ),
114
+ * ],
115
+ * });
116
+ * await agentica.conversate(
117
+ * "Organize photo collection and sort them into appropriate folders.",
118
+ * );
119
+ * ```
120
+ *
121
+ * Here is the list of available `Model` types with their corresponding LLM schema.
122
+ * Reading the following list, and determine the `Model` type considering the
123
+ * characteristics of the target LLM provider.
124
+ *
125
+ * - LLM provider schemas
126
+ * - `chatgpt`: [`IChatGptSchema`](https://samchon.github.io/openapi/api/types/IChatGptSchema-1.html)
127
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
128
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
129
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
130
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
131
+ * - Midldle layer schemas
132
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
133
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
134
+ *
135
+ * @template Class Target class or interface type collecting the functions to call
136
+ * @template Model LLM schema model
137
+ * @template Config Configuration of LLM schema composition
138
+ * @param name Identifier name of the controller
139
+ * @param execute Executor instance
140
+ * @param options Options for the LLM application construction
141
+ * @returns Controller of LLM function calling
142
+ * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/
143
+ * @author Jeongho Nam - https://github.com/samchon
144
+ */
3
145
  export declare function controller<Class extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(name: string, execute: Class, options?: Partial<Pick<ILlmApplication.IOptions<Model>, "separate">>): ILlmController<Model>;
4
146
  /**
5
- * > You must configure the generic argument `App`.
147
+ * > You must configure the generic argument `Class`.
6
148
  *
7
149
  * TypeScript functions to LLM function calling application.
8
150
  *
@@ -39,12 +181,13 @@ export declare function controller<Class extends Record<string, any>, Model exte
39
181
  *
40
182
  * - LLM provider schemas
41
183
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
42
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
43
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
44
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
184
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
185
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
186
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
187
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
45
188
  * - Midldle layer schemas
46
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
47
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
189
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
190
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
48
191
  *
49
192
  * @template Class Target class or interface type collecting the functions to call
50
193
  * @template Model LLM schema model
@@ -91,12 +234,13 @@ export declare function application(options?: Partial<Pick<ILlmApplication.IOpti
91
234
  *
92
235
  * - LLM provider schemas
93
236
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
94
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
95
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
96
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
237
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
238
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
239
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
240
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
97
241
  * - Midldle layer schemas
98
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
99
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
242
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
243
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
100
244
  *
101
245
  * @template Class Target class or interface type collecting the functions to call
102
246
  * @template Model LLM schema model
@@ -133,12 +277,13 @@ export declare function application<Class extends Record<string, any>, Model ext
133
277
  *
134
278
  * - LLM provider schemas
135
279
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
136
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
137
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
138
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
280
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
281
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
282
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
283
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
139
284
  * - Midldle layer schemas
140
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
141
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
285
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
286
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
142
287
  *
143
288
  * @template Parameters Target parameters type
144
289
  * @template Model LLM schema model
@@ -172,12 +317,13 @@ export declare function parameters(): never;
172
317
  *
173
318
  * - LLM provider schemas
174
319
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
175
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
176
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
177
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
320
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
321
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
322
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
323
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
178
324
  * - Midldle layer schemas
179
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
180
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
325
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
326
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
181
327
  *
182
328
  * @template Parameters Target parameters type
183
329
  * @template Model LLM schema model
@@ -203,12 +349,13 @@ export declare function parameters<Parameters extends Record<string, any>, Model
203
349
  *
204
350
  * - LLM provider schemas
205
351
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
206
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
207
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
208
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
352
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
353
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
354
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
355
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
209
356
  * - Midldle layer schemas
210
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
211
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
357
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
358
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
212
359
  *
213
360
  * If you actually want to perform the LLM function calling with TypeScript functions,
214
361
  * you can do it with the {@link application} function. Otherwise you hope to perform the
@@ -249,12 +396,13 @@ export declare function schema(): never;
249
396
  *
250
397
  * - LLM provider schemas
251
398
  * - `chatgpt`: [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)
252
- * - `claude`: [`IClaudeSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IClaudeSchema.ts)
253
- * - `gemini`: [`IGeminiSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IGeminiSchema.ts)
254
- * - `llama`: [`ILlamaSchema`](https://github.com/samchon/openapi/blob/master/src/structures/ILlamaSchema.ts)
399
+ * - `claude`: [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
400
+ * - `deepseek`: [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)
401
+ * - `gemini`: [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)
402
+ * - `llama`: [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)
255
403
  * - Midldle layer schemas
256
- * - `3.0`: [`ILlmSchemaV3`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3.ts)
257
- * - `3.1`: [`ILlmSchemaV3_1`](https://github.com/samchon/openapi/blob/master/src/structures/ILlmSchemaV3_1.ts)
404
+ * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)
405
+ * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)
258
406
  *
259
407
  * If you actually want to perform the LLM function calling with TypeScript functions,
260
408
  * you can do it with the {@link application} function. Otherwise you hope to perform the
package/lib/llm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;AAuBA,gCAEC;AAyHD,kCAEC;AA2FD,gCAEC;AAkHD,wBAEC;AAnWD,gGAA6F;AAkB7F;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAG,KAAY;IACxC,IAAA,6DAA6B,EAAC,gBAAgB,CAAC,CAAC;AAClD,CAAC;AAsHD;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAA,6DAA6B,EAAC,iBAAiB,CAAC,CAAC;AACnD,CAAC;AAwFD;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAA,6DAA6B,EAAC,gBAAgB,CAAC,CAAC;AAClD,CAAC;AA+GD;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAA,6DAA6B,EAAC,YAAY,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;AAqKA,gCAEC;AA2HD,kCAEC;AA6FD,gCAEC;AAoHD,wBAEC;AAvfD,gGAA6F;AAgK7F;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAG,KAAY;IACxC,IAAA,6DAA6B,EAAC,gBAAgB,CAAC,CAAC;AAClD,CAAC;AAwHD;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAA,6DAA6B,EAAC,iBAAiB,CAAC,CAAC;AACnD,CAAC;AA0FD;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAA,6DAA6B,EAAC,gBAAgB,CAAC,CAAC;AAClD,CAAC;AAiHD;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAA,6DAA6B,EAAC,YAAY,CAAC,CAAC;AAC9C,CAAC"}
@@ -9,4 +9,8 @@ import { IJsonSchemaCollection } from "./IJsonSchemaCollection";
9
9
  * @template Types Original TypeScript types used in the JSON schemas.
10
10
  * @author Jeongho Nam - https://github.com/samchon
11
11
  */
12
- export import IJsonApplication = IJsonSchemaCollection;
12
+ export type IJsonApplication = IJsonSchemaCollection;
13
+ export declare namespace IJsonApplication {
14
+ type IV3_0 = IJsonSchemaCollection.IV3_0;
15
+ type IV3_1 = IJsonSchemaCollection.IV3_1;
16
+ }
@@ -9,4 +9,8 @@ import { IJsonSchemaCollection } from "./IJsonSchemaCollection";
9
9
  * @template Types Original TypeScript types used in the JSON schemas.
10
10
  * @author Jeongho Nam - https://github.com/samchon
11
11
  */
12
- export import IJsonApplication = IJsonSchemaCollection;
12
+ export type IJsonApplication = IJsonSchemaCollection;
13
+ export declare namespace IJsonApplication {
14
+ type IV3_0 = IJsonSchemaCollection.IV3_0;
15
+ type IV3_1 = IJsonSchemaCollection.IV3_1;
16
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"IJsonApplication.js","sourceRoot":"","sources":["../../../src/schemas/json/IJsonApplication.ts"],"names":[],"mappings":";;AAcA,qCAAqC;AACrC,2CAA2C;AAC3C,8BAA8B;AAC9B,MAAM;AACN,sBAAsB;AACtB,gFAAgF;AAChF,+EAA+E;AAC/E,qCAAqC;AACrC,IAAI;AACJ,sCAAsC;AACtC,8EAA8E;AAC9E,4BAA4B;AAC5B,+BAA+B;AAE/B,kCAAkC;AAClC,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,wCAAwC;AACxC,MAAM;AAEN,gCAAgC;AAChC,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,sBAAsB;AACtB,oBAAoB;AACpB,wCAAwC;AACxC,2CAA2C;AAC3C,oCAAoC;AACpC,wCAAwC;AACxC,4BAA4B;AAC5B,uBAAuB;AACvB,MAAM;AAEN,iCAAiC;AACjC,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,oBAAoB;AACpB,yBAAyB;AACzB,sBAAsB;AACtB,kCAAkC;AAClC,wCAAwC;AACxC,MAAM;AAEN,8BAA8B;AAC9B,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,sBAAsB;AACtB,yBAAyB;AACzB,wCAAwC;AACxC,MAAM;AACN,IAAI"}
1
+ {"version":3,"file":"IJsonApplication.js","sourceRoot":"","sources":["../../../src/schemas/json/IJsonApplication.ts"],"names":[],"mappings":";;AAkBA,qCAAqC;AACrC,2CAA2C;AAC3C,8BAA8B;AAC9B,MAAM;AACN,sBAAsB;AACtB,gFAAgF;AAChF,+EAA+E;AAC/E,qCAAqC;AACrC,IAAI;AACJ,sCAAsC;AACtC,8EAA8E;AAC9E,4BAA4B;AAC5B,+BAA+B;AAE/B,kCAAkC;AAClC,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,wCAAwC;AACxC,MAAM;AAEN,gCAAgC;AAChC,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,sBAAsB;AACtB,oBAAoB;AACpB,wCAAwC;AACxC,2CAA2C;AAC3C,oCAAoC;AACpC,wCAAwC;AACxC,4BAA4B;AAC5B,uBAAuB;AACvB,MAAM;AAEN,iCAAiC;AACjC,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,oBAAoB;AACpB,yBAAyB;AACzB,sBAAsB;AACtB,kCAAkC;AAClC,wCAAwC;AACxC,MAAM;AAEN,8BAA8B;AAC9B,qBAAqB;AACrB,8BAA8B;AAC9B,uDAAuD;AACvD,QAAQ;AACR,sBAAsB;AACtB,yBAAyB;AACzB,wCAAwC;AACxC,MAAM;AACN,IAAI"}
@@ -17,12 +17,12 @@ var LlmControllerTransformer;
17
17
  const dec = LlmApplicationTransformer_1.LlmApplicationTransformer.decompose("application", props);
18
18
  if (dec === null)
19
19
  return props.expression;
20
- else if (props.expression.arguments.length === 0)
20
+ else if (props.expression.arguments[0] === undefined)
21
21
  throw new TransformerError_1.TransformerError({
22
22
  code: `typia.llm.controller`,
23
23
  message: `no identifier name.`,
24
24
  });
25
- else if (props.expression.arguments.length === 1)
25
+ else if (props.expression.arguments[1] === undefined)
26
26
  throw new TransformerError_1.TransformerError({
27
27
  code: `typia.llm.controller`,
28
28
  message: `no executor.`,
@@ -45,7 +45,7 @@ var LlmControllerTransformer;
45
45
  name: "application",
46
46
  value: property,
47
47
  }),
48
- ...(!!((_a = props.expression.arguments) === null || _a === void 0 ? void 0 : _a[2])
48
+ ...(((_a = props.expression.arguments) === null || _a === void 0 ? void 0 : _a[2]) !== undefined
49
49
  ? [
50
50
  typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(props.context.importer.internal("llmApplicationFinalize"), undefined, [
51
51
  typescript_1.default.factory.createIdentifier("application"),
@@ -1 +1 @@
1
- {"version":3,"file":"LlmControllerTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmControllerTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmControllerTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmControllerTransformer.ts"],"names":[],"mappings":"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"}