typia 13.0.1-dev.20260703.1 → 13.0.2

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 (1298) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +169 -171
  3. package/lib/TypeGuardError.mjs +42 -3
  4. package/lib/TypeGuardError.mjs.map +1 -1
  5. package/lib/_virtual/_rolldown/runtime.mjs +17 -0
  6. package/lib/compare.mjs +39 -3
  7. package/lib/compare.mjs.map +1 -1
  8. package/lib/executable/TypiaGenerateWizard.js +7 -2
  9. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  10. package/lib/executable/TypiaGenerateWizard.mjs +474 -3
  11. package/lib/executable/TypiaGenerateWizard.mjs.map +1 -1
  12. package/lib/executable/generate/ttsc.js +11 -8
  13. package/lib/executable/generate/ttsc.js.map +1 -1
  14. package/lib/executable/generate/ttsc.mjs +37 -3
  15. package/lib/executable/generate/ttsc.mjs.map +1 -1
  16. package/lib/executable/typia.js +10 -4
  17. package/lib/executable/typia.js.map +1 -1
  18. package/lib/executable/typia.mjs +59 -3
  19. package/lib/executable/typia.mjs.map +1 -1
  20. package/lib/functional.mjs +99 -3
  21. package/lib/functional.mjs.map +1 -1
  22. package/lib/http.mjs +139 -3
  23. package/lib/http.mjs.map +1 -1
  24. package/lib/index.mjs +18 -2
  25. package/lib/index.mjs.map +1 -1
  26. package/lib/internal/_IProtobufWriter.mjs +0 -3
  27. package/lib/internal/_ProtobufReader.js +7 -6
  28. package/lib/internal/_ProtobufReader.js.map +1 -1
  29. package/lib/internal/_ProtobufReader.mjs +140 -3
  30. package/lib/internal/_ProtobufReader.mjs.map +1 -1
  31. package/lib/internal/_ProtobufSizer.mjs +84 -3
  32. package/lib/internal/_ProtobufSizer.mjs.map +1 -1
  33. package/lib/internal/_ProtobufWriter.mjs +94 -3
  34. package/lib/internal/_ProtobufWriter.mjs.map +1 -1
  35. package/lib/internal/_accessExpressionAsString.mjs +46 -3
  36. package/lib/internal/_accessExpressionAsString.mjs.map +1 -1
  37. package/lib/internal/_assertGuard.mjs +11 -3
  38. package/lib/internal/_assertGuard.mjs.map +1 -1
  39. package/lib/internal/_coerceLlmArguments.mjs +7 -3
  40. package/lib/internal/_coerceLlmArguments.mjs.map +1 -1
  41. package/lib/internal/_createStandardSchema.mjs +64 -3
  42. package/lib/internal/_createStandardSchema.mjs.map +1 -1
  43. package/lib/internal/_functionalTypeGuardErrorFactory.mjs +7 -3
  44. package/lib/internal/_functionalTypeGuardErrorFactory.mjs.map +1 -1
  45. package/lib/internal/_httpFormDataReadArray.mjs +6 -3
  46. package/lib/internal/_httpFormDataReadArray.mjs.map +1 -1
  47. package/lib/internal/_httpFormDataReadBigint.mjs +13 -3
  48. package/lib/internal/_httpFormDataReadBigint.mjs.map +1 -1
  49. package/lib/internal/_httpFormDataReadBlob.mjs +6 -3
  50. package/lib/internal/_httpFormDataReadBlob.mjs.map +1 -1
  51. package/lib/internal/_httpFormDataReadBoolean.mjs +6 -3
  52. package/lib/internal/_httpFormDataReadBoolean.mjs.map +1 -1
  53. package/lib/internal/_httpFormDataReadFile.mjs +6 -3
  54. package/lib/internal/_httpFormDataReadFile.mjs.map +1 -1
  55. package/lib/internal/_httpFormDataReadNumber.mjs +10 -3
  56. package/lib/internal/_httpFormDataReadNumber.mjs.map +1 -1
  57. package/lib/internal/_httpFormDataReadString.mjs +6 -3
  58. package/lib/internal/_httpFormDataReadString.mjs.map +1 -1
  59. package/lib/internal/_httpHeaderReadBigint.mjs +13 -3
  60. package/lib/internal/_httpHeaderReadBigint.mjs.map +1 -1
  61. package/lib/internal/_httpHeaderReadBoolean.mjs +6 -3
  62. package/lib/internal/_httpHeaderReadBoolean.mjs.map +1 -1
  63. package/lib/internal/_httpHeaderReadNumber.mjs +10 -3
  64. package/lib/internal/_httpHeaderReadNumber.mjs.map +1 -1
  65. package/lib/internal/_httpParameterReadBigint.mjs +13 -3
  66. package/lib/internal/_httpParameterReadBigint.mjs.map +1 -1
  67. package/lib/internal/_httpParameterReadBoolean.mjs +6 -3
  68. package/lib/internal/_httpParameterReadBoolean.mjs.map +1 -1
  69. package/lib/internal/_httpParameterReadNumber.mjs +10 -3
  70. package/lib/internal/_httpParameterReadNumber.mjs.map +1 -1
  71. package/lib/internal/_httpParameterReadString.mjs +6 -3
  72. package/lib/internal/_httpParameterReadString.mjs.map +1 -1
  73. package/lib/internal/_httpQueryParseURLSearchParams.mjs +13 -3
  74. package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -1
  75. package/lib/internal/_httpQueryReadArray.mjs +6 -3
  76. package/lib/internal/_httpQueryReadArray.mjs.map +1 -1
  77. package/lib/internal/_httpQueryReadBigint.mjs +13 -3
  78. package/lib/internal/_httpQueryReadBigint.mjs.map +1 -1
  79. package/lib/internal/_httpQueryReadBoolean.mjs +6 -3
  80. package/lib/internal/_httpQueryReadBoolean.mjs.map +1 -1
  81. package/lib/internal/_httpQueryReadNumber.mjs +10 -3
  82. package/lib/internal/_httpQueryReadNumber.mjs.map +1 -1
  83. package/lib/internal/_httpQueryReadString.mjs +6 -3
  84. package/lib/internal/_httpQueryReadString.mjs.map +1 -1
  85. package/lib/internal/_isBetween.mjs +6 -3
  86. package/lib/internal/_isBetween.mjs.map +1 -1
  87. package/lib/internal/_isBigintString.mjs +13 -3
  88. package/lib/internal/_isBigintString.mjs.map +1 -1
  89. package/lib/internal/_isFormatByte.mjs +10 -3
  90. package/lib/internal/_isFormatByte.mjs.map +1 -1
  91. package/lib/internal/_isFormatDate.mjs +7 -3
  92. package/lib/internal/_isFormatDate.mjs.map +1 -1
  93. package/lib/internal/_isFormatDateTime.mjs +7 -3
  94. package/lib/internal/_isFormatDateTime.mjs.map +1 -1
  95. package/lib/internal/_isFormatDuration.mjs +7 -3
  96. package/lib/internal/_isFormatDuration.mjs.map +1 -1
  97. package/lib/internal/_isFormatEmail.mjs +7 -3
  98. package/lib/internal/_isFormatEmail.mjs.map +1 -1
  99. package/lib/internal/_isFormatHostname.mjs +7 -3
  100. package/lib/internal/_isFormatHostname.mjs.map +1 -1
  101. package/lib/internal/_isFormatIdnEmail.mjs +7 -3
  102. package/lib/internal/_isFormatIdnEmail.mjs.map +1 -1
  103. package/lib/internal/_isFormatIdnHostname.mjs +7 -3
  104. package/lib/internal/_isFormatIdnHostname.mjs.map +1 -1
  105. package/lib/internal/_isFormatIpv4.mjs +7 -3
  106. package/lib/internal/_isFormatIpv4.mjs.map +1 -1
  107. package/lib/internal/_isFormatIpv6.mjs +7 -3
  108. package/lib/internal/_isFormatIpv6.mjs.map +1 -1
  109. package/lib/internal/_isFormatIri.mjs +7 -3
  110. package/lib/internal/_isFormatIri.mjs.map +1 -1
  111. package/lib/internal/_isFormatIriReference.mjs +7 -3
  112. package/lib/internal/_isFormatIriReference.mjs.map +1 -1
  113. package/lib/internal/_isFormatJsonPointer.mjs +7 -3
  114. package/lib/internal/_isFormatJsonPointer.mjs.map +1 -1
  115. package/lib/internal/_isFormatPassword.mjs +6 -3
  116. package/lib/internal/_isFormatPassword.mjs.map +1 -1
  117. package/lib/internal/_isFormatRegex.mjs +13 -3
  118. package/lib/internal/_isFormatRegex.mjs.map +1 -1
  119. package/lib/internal/_isFormatRelativeJsonPointer.mjs +7 -3
  120. package/lib/internal/_isFormatRelativeJsonPointer.mjs.map +1 -1
  121. package/lib/internal/_isFormatTime.mjs +7 -3
  122. package/lib/internal/_isFormatTime.mjs.map +1 -1
  123. package/lib/internal/_isFormatUri.mjs +8 -3
  124. package/lib/internal/_isFormatUri.mjs.map +1 -1
  125. package/lib/internal/_isFormatUriReference.mjs +7 -3
  126. package/lib/internal/_isFormatUriReference.mjs.map +1 -1
  127. package/lib/internal/_isFormatUriTemplate.mjs +7 -3
  128. package/lib/internal/_isFormatUriTemplate.mjs.map +1 -1
  129. package/lib/internal/_isFormatUrl.mjs +7 -3
  130. package/lib/internal/_isFormatUrl.mjs.map +1 -1
  131. package/lib/internal/_isFormatUuid.mjs +7 -3
  132. package/lib/internal/_isFormatUuid.mjs.map +1 -1
  133. package/lib/internal/_isTypeFloat.mjs +8 -3
  134. package/lib/internal/_isTypeFloat.mjs.map +1 -1
  135. package/lib/internal/_isTypeInt16.mjs +8 -3
  136. package/lib/internal/_isTypeInt16.mjs.map +1 -1
  137. package/lib/internal/_isTypeInt32.mjs +8 -3
  138. package/lib/internal/_isTypeInt32.mjs.map +1 -1
  139. package/lib/internal/_isTypeInt64.mjs +8 -3
  140. package/lib/internal/_isTypeInt64.mjs.map +1 -1
  141. package/lib/internal/_isTypeInt8.mjs +8 -3
  142. package/lib/internal/_isTypeInt8.mjs.map +1 -1
  143. package/lib/internal/_isTypeUint16.mjs +8 -3
  144. package/lib/internal/_isTypeUint16.mjs.map +1 -1
  145. package/lib/internal/_isTypeUint32.mjs +8 -3
  146. package/lib/internal/_isTypeUint32.mjs.map +1 -1
  147. package/lib/internal/_isTypeUint64.mjs +8 -3
  148. package/lib/internal/_isTypeUint64.mjs.map +1 -1
  149. package/lib/internal/_isTypeUint8.mjs +8 -3
  150. package/lib/internal/_isTypeUint8.mjs.map +1 -1
  151. package/lib/internal/_isUniqueItems.mjs +67 -3
  152. package/lib/internal/_isUniqueItems.mjs.map +1 -1
  153. package/lib/internal/_jsonStringifyNumber.mjs +6 -3
  154. package/lib/internal/_jsonStringifyNumber.mjs.map +1 -1
  155. package/lib/internal/_jsonStringifyRest.mjs +8 -3
  156. package/lib/internal/_jsonStringifyRest.mjs.map +1 -1
  157. package/lib/internal/_jsonStringifyString.mjs +34 -3
  158. package/lib/internal/_jsonStringifyString.mjs.map +1 -1
  159. package/lib/internal/_jsonStringifyTail.mjs +6 -3
  160. package/lib/internal/_jsonStringifyTail.mjs.map +1 -1
  161. package/lib/internal/_llmApplicationFinalize.mjs +19 -3
  162. package/lib/internal/_llmApplicationFinalize.mjs.map +1 -1
  163. package/lib/internal/_notationAny.mjs +18 -3
  164. package/lib/internal/_notationAny.mjs.map +1 -1
  165. package/lib/internal/_notationCamel.mjs +11 -3
  166. package/lib/internal/_notationCamel.mjs.map +1 -1
  167. package/lib/internal/_notationPascal.mjs +11 -3
  168. package/lib/internal/_notationPascal.mjs.map +1 -1
  169. package/lib/internal/_notationSnake.mjs +32 -3
  170. package/lib/internal/_notationSnake.mjs.map +1 -1
  171. package/lib/internal/_parseLlmArguments.mjs +7 -3
  172. package/lib/internal/_parseLlmArguments.mjs.map +1 -1
  173. package/lib/internal/_plainCloneAny.mjs +35 -3
  174. package/lib/internal/_plainCloneAny.mjs.map +1 -1
  175. package/lib/internal/_randomArray.mjs +22 -3
  176. package/lib/internal/_randomArray.mjs.map +1 -1
  177. package/lib/internal/_randomBigint.mjs +7 -3
  178. package/lib/internal/_randomBigint.mjs.map +1 -1
  179. package/lib/internal/_randomBoolean.mjs +6 -3
  180. package/lib/internal/_randomBoolean.mjs.map +1 -1
  181. package/lib/internal/_randomFormatByte.mjs +7 -3
  182. package/lib/internal/_randomFormatByte.mjs.map +1 -1
  183. package/lib/internal/_randomFormatDate.mjs +11 -3
  184. package/lib/internal/_randomFormatDate.mjs.map +1 -1
  185. package/lib/internal/_randomFormatDatetime.mjs +11 -3
  186. package/lib/internal/_randomFormatDatetime.mjs.map +1 -1
  187. package/lib/internal/_randomFormatDuration.mjs +26 -3
  188. package/lib/internal/_randomFormatDuration.mjs.map +1 -1
  189. package/lib/internal/_randomFormatEmail.mjs +12 -3
  190. package/lib/internal/_randomFormatEmail.mjs.map +1 -1
  191. package/lib/internal/_randomFormatHostname.mjs +12 -3
  192. package/lib/internal/_randomFormatHostname.mjs.map +1 -1
  193. package/lib/internal/_randomFormatIdnEmail.mjs +7 -3
  194. package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -1
  195. package/lib/internal/_randomFormatIdnHostname.mjs +7 -3
  196. package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
  197. package/lib/internal/_randomFormatIpv4.mjs +12 -3
  198. package/lib/internal/_randomFormatIpv4.mjs.map +1 -1
  199. package/lib/internal/_randomFormatIpv6.mjs +12 -3
  200. package/lib/internal/_randomFormatIpv6.mjs.map +1 -1
  201. package/lib/internal/_randomFormatIri.mjs +7 -3
  202. package/lib/internal/_randomFormatIri.mjs.map +1 -1
  203. package/lib/internal/_randomFormatIriReference.mjs +7 -3
  204. package/lib/internal/_randomFormatIriReference.mjs.map +1 -1
  205. package/lib/internal/_randomFormatJsonPointer.mjs +12 -3
  206. package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -1
  207. package/lib/internal/_randomFormatPassword.mjs +11 -3
  208. package/lib/internal/_randomFormatPassword.mjs.map +1 -1
  209. package/lib/internal/_randomFormatRegex.mjs +7 -3
  210. package/lib/internal/_randomFormatRegex.mjs.map +1 -1
  211. package/lib/internal/_randomFormatRelativeJsonPointer.mjs +11 -3
  212. package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -1
  213. package/lib/internal/_randomFormatTime.mjs +12 -3
  214. package/lib/internal/_randomFormatTime.mjs.map +1 -1
  215. package/lib/internal/_randomFormatUri.mjs +7 -3
  216. package/lib/internal/_randomFormatUri.mjs.map +1 -1
  217. package/lib/internal/_randomFormatUriReference.mjs +7 -3
  218. package/lib/internal/_randomFormatUriReference.mjs.map +1 -1
  219. package/lib/internal/_randomFormatUriTemplate.mjs +7 -3
  220. package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -1
  221. package/lib/internal/_randomFormatUrl.mjs +12 -3
  222. package/lib/internal/_randomFormatUrl.mjs.map +1 -1
  223. package/lib/internal/_randomFormatUuid.mjs +9 -3
  224. package/lib/internal/_randomFormatUuid.mjs.map +1 -1
  225. package/lib/internal/_randomInteger.mjs +31 -3
  226. package/lib/internal/_randomInteger.mjs.map +1 -1
  227. package/lib/internal/_randomNumber.mjs +45 -3
  228. package/lib/internal/_randomNumber.mjs.map +1 -1
  229. package/lib/internal/_randomPattern.mjs +14 -3
  230. package/lib/internal/_randomPattern.mjs.map +1 -1
  231. package/lib/internal/_randomPick.mjs +12 -3
  232. package/lib/internal/_randomPick.mjs.map +1 -1
  233. package/lib/internal/_randomString.mjs +23 -3
  234. package/lib/internal/_randomString.mjs.map +1 -1
  235. package/lib/internal/_throwTypeGuardError.mjs +9 -3
  236. package/lib/internal/_throwTypeGuardError.mjs.map +1 -1
  237. package/lib/internal/_validateReport.mjs +23 -3
  238. package/lib/internal/_validateReport.mjs.map +1 -1
  239. package/lib/internal/private/__notationCapitalize.mjs +6 -3
  240. package/lib/internal/private/__notationCapitalize.mjs.map +1 -1
  241. package/lib/internal/private/__notationUnsnake.mjs +15 -3
  242. package/lib/internal/private/__notationUnsnake.mjs.map +1 -1
  243. package/lib/json.mjs +94 -3
  244. package/lib/json.mjs.map +1 -1
  245. package/lib/llm.mjs +54 -3
  246. package/lib/llm.mjs.map +1 -1
  247. package/lib/module.mjs +131 -2
  248. package/lib/module.mjs.map +1 -1
  249. package/lib/notations.mjs +169 -3
  250. package/lib/notations.mjs.map +1 -1
  251. package/lib/plain.mjs +119 -3
  252. package/lib/plain.mjs.map +1 -1
  253. package/lib/protobuf.mjs +94 -3
  254. package/lib/protobuf.mjs.map +1 -1
  255. package/lib/re-exports.d.ts +2 -1
  256. package/lib/re-exports.js +5 -1
  257. package/lib/re-exports.js.map +1 -1
  258. package/lib/re-exports.mjs +2 -2
  259. package/lib/reflect.mjs +29 -3
  260. package/lib/reflect.mjs.map +1 -1
  261. package/lib/transform.mjs +15 -2
  262. package/lib/transform.mjs.map +1 -1
  263. package/lib/transformers/NoTransformConfigurationError.mjs +19 -3
  264. package/lib/transformers/NoTransformConfigurationError.mjs.map +1 -1
  265. package/native/adapter/adapter.go +29 -29
  266. package/native/adapter/adapter_options_branch_matrix_test.go +54 -54
  267. package/native/adapter/visit.go +173 -173
  268. package/native/adapter/visit_property_chain_edges_test.go +129 -129
  269. package/native/cmd/ttsc-typia/any_array_type_tags_transform_test.go +204 -204
  270. package/native/cmd/ttsc-typia/atomic_intersection_schema_transform_test.go +148 -148
  271. package/native/cmd/ttsc-typia/boolean_literal_discriminant_schema_transform_test.go +374 -374
  272. package/native/cmd/ttsc-typia/build.go +188 -188
  273. package/native/cmd/ttsc-typia/build_reports_semantic_diagnostics_test.go +34 -34
  274. package/native/cmd/ttsc-typia/build_reports_syntactic_diagnostics_test.go +34 -34
  275. package/native/cmd/ttsc-typia/command_routes_and_diagnostics_coverage_test.go +314 -314
  276. package/native/cmd/ttsc-typia/compare_equal_cover_transform_test.go +271 -271
  277. package/native/cmd/ttsc-typia/compare_less_transform_test.go +180 -180
  278. package/native/cmd/ttsc-typia/compare_method_delegation_transform_test.go +173 -173
  279. package/native/cmd/ttsc-typia/demo_rejects_bad_flag_test.go +25 -25
  280. package/native/cmd/ttsc-typia/diagnostics.go +51 -51
  281. package/native/cmd/ttsc-typia/dynamic_key_path_helper_alias_transform_test.go +159 -159
  282. package/native/cmd/ttsc-typia/exclude_type_tag_transform_test.go +176 -176
  283. package/native/cmd/ttsc-typia/inline_type_display_name_transform_test.go +290 -290
  284. package/native/cmd/ttsc-typia/instance_union_create_is_transform_test.go +248 -248
  285. package/native/cmd/ttsc-typia/intersection_all_never_union_transform_test.go +168 -168
  286. package/native/cmd/ttsc-typia/intersection_brand_transform_test.go +267 -267
  287. package/native/cmd/ttsc-typia/intersection_nonsensible_backstop_transform_test.go +157 -132
  288. package/native/cmd/ttsc-typia/intersection_union_validation_transform_test.go +590 -590
  289. package/native/cmd/ttsc-typia/json_is_stringify_scoped_checker_transform_test.go +206 -0
  290. package/native/cmd/ttsc-typia/json_stringify_constant_atomic_union_transform_test.go +171 -171
  291. package/native/cmd/ttsc-typia/main.go +97 -97
  292. package/native/cmd/ttsc-typia/main_wasm.go +226 -226
  293. package/native/cmd/ttsc-typia/non_trailing_rest_tuple_transform_test.go +156 -156
  294. package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +186 -186
  295. package/native/cmd/ttsc-typia/nullable_primitive_property_is_transform_test.go +236 -236
  296. package/native/cmd/ttsc-typia/object_custom_tag_validation_transform_test.go +332 -332
  297. package/native/cmd/ttsc-typia/object_union_explicit_pointer_schema_transform_test.go +269 -269
  298. package/native/cmd/ttsc-typia/plain_classify_class_ref_transform_test.go +261 -261
  299. package/native/cmd/ttsc-typia/plain_classify_container_seed_transform_test.go +144 -144
  300. package/native/cmd/ttsc-typia/plain_classify_cross_module_extra_transform_test.go +211 -211
  301. package/native/cmd/ttsc-typia/plain_classify_deep_nested_transform_test.go +184 -184
  302. package/native/cmd/ttsc-typia/plain_classify_field_copy_transform_test.go +204 -204
  303. package/native/cmd/ttsc-typia/plain_classify_from_new_transform_test.go +465 -465
  304. package/native/cmd/ttsc-typia/plain_classify_strategy_edges_transform_test.go +519 -519
  305. package/native/cmd/ttsc-typia/plain_classify_union_transform_test.go +149 -149
  306. package/native/cmd/ttsc-typia/plain_classify_validated_union_transform_test.go +212 -212
  307. package/native/cmd/ttsc-typia/plain_clone_bigint_wrapper_transform_test.go +153 -153
  308. package/native/cmd/ttsc-typia/plugin_options_missing_config_test.go +26 -26
  309. package/native/cmd/ttsc-typia/plugin_options_undefined_false_test.go +36 -36
  310. package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +73 -73
  311. package/native/cmd/ttsc-typia/protobuf_object_generic_union_encode_transform_test.go +248 -248
  312. package/native/cmd/ttsc-typia/protobuf_sequence_field_numbers_transform_test.go +107 -107
  313. package/native/cmd/ttsc-typia/random_recursive_min_items_diagnostic_test.go +234 -234
  314. package/native/cmd/ttsc-typia/random_unsatisfiable_recursive_diagnostic_test.go +146 -146
  315. package/native/cmd/ttsc-typia/recursive_visit_tracking_transform_test.go +473 -473
  316. package/native/cmd/ttsc-typia/run_default_build_route_test.go +31 -31
  317. package/native/cmd/ttsc-typia/schema_dts_role_transform_test.go +404 -404
  318. package/native/cmd/ttsc-typia/shallow_depth_argument_error_transform_test.go +88 -88
  319. package/native/cmd/ttsc-typia/shallow_depth_limit_transform_test.go +278 -278
  320. package/native/cmd/ttsc-typia/shallow_depth_runtime_test.go +173 -173
  321. package/native/cmd/ttsc-typia/shallow_factory_depth_runtime_test.go +171 -171
  322. package/native/cmd/ttsc-typia/shallow_nested_depth_transform_test.go +148 -148
  323. package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +322 -322
  324. package/native/cmd/ttsc-typia/template_literal_type_tags_transform_test.go +162 -162
  325. package/native/cmd/ttsc-typia/transform.go +270 -270
  326. package/native/cmd/ttsc-typia/transform_declaration_source_produces_no_js_test.go +59 -59
  327. package/native/cmd/ttsc-typia/transform_diagnostics_preserve_details_test.go +203 -203
  328. package/native/cmd/ttsc-typia/transform_fixtures_emit_coverage_test.go +528 -528
  329. package/native/cmd/ttsc-typia/transform_helpers_test.go +155 -155
  330. package/native/core/context/EmitFactory.go +39 -39
  331. package/native/core/context/IProgrammerProps.go +14 -14
  332. package/native/core/context/ITransformOptions.go +9 -9
  333. package/native/core/context/ITypiaContext.go +36 -36
  334. package/native/core/context/ImportProgrammer.go +388 -354
  335. package/native/core/context/TransformerError.go +117 -117
  336. package/native/core/context/import_programmer_module_identifier_test.go +29 -0
  337. package/native/core/context/import_programmer_statement_coverage_test.go +71 -71
  338. package/native/core/context/index.go +1 -1
  339. package/native/core/context/transformer_error_formatting_test.go +100 -100
  340. package/native/core/factories/CommentFactory.go +27 -27
  341. package/native/core/factories/ExpressionFactory.go +357 -357
  342. package/native/core/factories/FormatCheatSheet.go +30 -30
  343. package/native/core/factories/IdentifierFactory.go +172 -172
  344. package/native/core/factories/JsonMetadataFactory.go +154 -154
  345. package/native/core/factories/LiteralFactory.go +319 -282
  346. package/native/core/factories/MetadataCommentTagFactory.go +446 -446
  347. package/native/core/factories/MetadataFactory.go +543 -543
  348. package/native/core/factories/MetadataTypeTagFactory.go +560 -560
  349. package/native/core/factories/MetadataTypeTagSchemaFactory.go +117 -117
  350. package/native/core/factories/NumericRangeFactory.go +132 -132
  351. package/native/core/factories/ProtobufFactory.go +1090 -1090
  352. package/native/core/factories/StatementFactory.go +114 -114
  353. package/native/core/factories/TemplateFactory.go +82 -82
  354. package/native/core/factories/TypeFactory.go +176 -176
  355. package/native/core/factories/ValueFactory.go +43 -43
  356. package/native/core/factories/factory_utility_coverage_test.go +1006 -1006
  357. package/native/core/factories/index.go +1 -1
  358. package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +70 -70
  359. package/native/core/factories/internal/metadata/MetadataHelper.go +425 -425
  360. package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +184 -184
  361. package/native/core/factories/internal/metadata/emend_metadata_atomics.go +80 -80
  362. package/native/core/factories/internal/metadata/emplace_metadata_alias.go +41 -41
  363. package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +44 -44
  364. package/native/core/factories/internal/metadata/emplace_metadata_object.go +599 -599
  365. package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +69 -69
  366. package/native/core/factories/internal/metadata/explore_metadata.go +75 -75
  367. package/native/core/factories/internal/metadata/iterate_metadata.go +55 -55
  368. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +36 -36
  369. package/native/core/factories/internal/metadata/iterate_metadata_array.go +77 -77
  370. package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +63 -63
  371. package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +30 -30
  372. package/native/core/factories/internal/metadata/iterate_metadata_collection.go +366 -366
  373. package/native/core/factories/internal/metadata/iterate_metadata_collection_branch_matrix_test.go +201 -201
  374. package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +34 -34
  375. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +139 -139
  376. package/native/core/factories/internal/metadata/iterate_metadata_escape.go +56 -56
  377. package/native/core/factories/internal/metadata/iterate_metadata_function.go +93 -93
  378. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +1054 -1054
  379. package/native/core/factories/internal/metadata/iterate_metadata_intersection_brand_coverage_test.go +114 -114
  380. package/native/core/factories/internal/metadata/iterate_metadata_intersection_coverage_test.go +106 -106
  381. package/native/core/factories/internal/metadata/iterate_metadata_intersection_shareable_name_test.go +22 -22
  382. package/native/core/factories/internal/metadata/iterate_metadata_map.go +55 -55
  383. package/native/core/factories/internal/metadata/iterate_metadata_native.go +122 -122
  384. package/native/core/factories/internal/metadata/iterate_metadata_object.go +35 -35
  385. package/native/core/factories/internal/metadata/iterate_metadata_set.go +41 -41
  386. package/native/core/factories/internal/metadata/iterate_metadata_sort.go +202 -202
  387. package/native/core/factories/internal/metadata/iterate_metadata_template.go +41 -41
  388. package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +24 -24
  389. package/native/core/factories/internal/metadata/iterate_metadata_union.go +40 -40
  390. package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +55 -55
  391. package/native/core/factories/internal/metadata/optional_coalesce_coverage_test.go +38 -38
  392. package/native/core/factories/internal/metadata/sort_constants_coverage_test.go +63 -63
  393. package/native/core/factories/json_metadata_factory_dedupes_bigint_diagnostics_test.go +36 -36
  394. package/native/core/factories/json_metadata_factory_rejects_bigint_native_test.go +29 -29
  395. package/native/core/factories/literal_factory_ordered_object_marshals_json_test.go +40 -0
  396. package/native/core/factories/metadata_comment_tag_factory_coverage_test.go +239 -239
  397. package/native/core/factories/protobuf_factory_rejects_invalid_field_names_test.go +75 -75
  398. package/native/core/index.go +1 -1
  399. package/native/core/programmers/AssertProgrammer.go +511 -511
  400. package/native/core/programmers/IsProgrammer.go +418 -419
  401. package/native/core/programmers/RandomProgrammer.go +1448 -1448
  402. package/native/core/programmers/ValidateProgrammer.go +488 -488
  403. package/native/core/programmers/compare/CompareEqualProgrammer.go +668 -668
  404. package/native/core/programmers/compare/CompareLessProgrammer.go +489 -489
  405. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +172 -172
  406. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +135 -135
  407. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +131 -131
  408. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +106 -106
  409. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +222 -222
  410. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +129 -129
  411. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +172 -172
  412. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +252 -252
  413. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +147 -147
  414. package/native/core/programmers/functional/functional_assert_helper_coverage_test.go +26 -26
  415. package/native/core/programmers/functional/index.go +1 -1
  416. package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +53 -53
  417. package/native/core/programmers/helpers/AtomicPredicator.go +75 -75
  418. package/native/core/programmers/helpers/ClassifyJoiner.go +174 -174
  419. package/native/core/programmers/helpers/CloneJoiner.go +307 -307
  420. package/native/core/programmers/helpers/FunctionProgrammer.go +218 -218
  421. package/native/core/programmers/helpers/HttpMetadataUtil.go +30 -30
  422. package/native/core/programmers/helpers/ICheckEntry.go +14 -14
  423. package/native/core/programmers/helpers/IExpressionEntry.go +15 -15
  424. package/native/core/programmers/helpers/ModuloText.go +26 -26
  425. package/native/core/programmers/helpers/NotationJoiner.go +204 -204
  426. package/native/core/programmers/helpers/OptionPredicator.go +39 -39
  427. package/native/core/programmers/helpers/ProtobufUtil.go +273 -273
  428. package/native/core/programmers/helpers/ProtobufWire.go +14 -14
  429. package/native/core/programmers/helpers/PruneJoiner.go +290 -290
  430. package/native/core/programmers/helpers/RandomJoiner.go +805 -805
  431. package/native/core/programmers/helpers/StringifyJoinder.go +409 -409
  432. package/native/core/programmers/helpers/StringifyPredicator.go +25 -25
  433. package/native/core/programmers/helpers/UnionExplorer.go +966 -966
  434. package/native/core/programmers/helpers/UnionPredicator.go +92 -92
  435. package/native/core/programmers/helpers/clone_joiner_optional_condition_test.go +70 -70
  436. package/native/core/programmers/helpers/disable_function_programmer_declare.go +10 -10
  437. package/native/core/programmers/helpers/function_programmer_unique_names_test.go +54 -54
  438. package/native/core/programmers/helpers/joiner_branch_coverage_test.go +147 -147
  439. package/native/core/programmers/helpers/random_joiner_recursive_array_guard_test.go +166 -166
  440. package/native/core/programmers/helpers/union_explorer_coverage_test.go +135 -135
  441. package/native/core/programmers/helpers/union_predicator_checks_neighbor_flag_test.go +34 -34
  442. package/native/core/programmers/helpers/union_predicator_skips_atomic_like_native_fields_test.go +65 -65
  443. package/native/core/programmers/helpers/union_predicator_skips_collection_bucket_fields_test.go +72 -72
  444. package/native/core/programmers/helpers/union_predicator_skips_shared_native_names_test.go +239 -239
  445. package/native/core/programmers/helpers/union_predicator_skips_shared_object_fields_test.go +43 -43
  446. package/native/core/programmers/helpers/union_predicator_skips_shared_template_fields_test.go +57 -57
  447. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +116 -116
  448. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +59 -59
  449. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +71 -71
  450. package/native/core/programmers/http/HttpFormDataProgrammer.go +416 -416
  451. package/native/core/programmers/http/HttpHeadersProgrammer.go +428 -428
  452. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +142 -142
  453. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +53 -53
  454. package/native/core/programmers/http/HttpIsQueryProgrammer.go +65 -65
  455. package/native/core/programmers/http/HttpParameterProgrammer.go +190 -190
  456. package/native/core/programmers/http/HttpQueryProgrammer.go +484 -484
  457. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +110 -110
  458. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +56 -56
  459. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +68 -68
  460. package/native/core/programmers/http/http_programmer_helper_coverage_test.go +120 -120
  461. package/native/core/programmers/http/index.go +1 -1
  462. package/native/core/programmers/index.go +1 -1
  463. package/native/core/programmers/internal/CheckerProgrammer.go +2064 -2064
  464. package/native/core/programmers/internal/FeatureProgrammer.go +1361 -1361
  465. package/native/core/programmers/internal/feature_programmer_visit_guard_test.go +70 -70
  466. package/native/core/programmers/internal/internal_utility_coverage_test.go +384 -384
  467. package/native/core/programmers/iterate/check_array_length.go +64 -64
  468. package/native/core/programmers/iterate/check_bigint.go +78 -78
  469. package/native/core/programmers/iterate/check_dynamic_key.go +271 -271
  470. package/native/core/programmers/iterate/check_dynamic_key_tag_rows_test.go +46 -46
  471. package/native/core/programmers/iterate/check_dynamic_properties.go +292 -292
  472. package/native/core/programmers/iterate/check_everything.go +33 -33
  473. package/native/core/programmers/iterate/check_exclude.go +88 -88
  474. package/native/core/programmers/iterate/check_native.go +38 -38
  475. package/native/core/programmers/iterate/check_number.go +180 -180
  476. package/native/core/programmers/iterate/check_object.go +113 -113
  477. package/native/core/programmers/iterate/check_object_strict_optional_undefined_test.go +74 -74
  478. package/native/core/programmers/iterate/check_object_type_tags.go +64 -64
  479. package/native/core/programmers/iterate/check_string.go +78 -78
  480. package/native/core/programmers/iterate/check_template.go +346 -346
  481. package/native/core/programmers/iterate/check_union_array_like.go +422 -422
  482. package/native/core/programmers/iterate/decode_union_object.go +157 -157
  483. package/native/core/programmers/iterate/feature_object_entries.go +188 -188
  484. package/native/core/programmers/iterate/iterate_check_coverage_test.go +178 -178
  485. package/native/core/programmers/iterate/iterate_utility_coverage_test.go +302 -302
  486. package/native/core/programmers/iterate/json_schema_alias.go +62 -62
  487. package/native/core/programmers/iterate/json_schema_array.go +66 -66
  488. package/native/core/programmers/iterate/json_schema_bigint.go +17 -17
  489. package/native/core/programmers/iterate/json_schema_boolean.go +17 -17
  490. package/native/core/programmers/iterate/json_schema_constant.go +53 -53
  491. package/native/core/programmers/iterate/json_schema_description.go +21 -21
  492. package/native/core/programmers/iterate/json_schema_discriminator.go +57 -57
  493. package/native/core/programmers/iterate/json_schema_escaped.go +68 -68
  494. package/native/core/programmers/iterate/json_schema_jsDocTags.go +48 -48
  495. package/native/core/programmers/iterate/json_schema_native.go +106 -106
  496. package/native/core/programmers/iterate/json_schema_number.go +17 -17
  497. package/native/core/programmers/iterate/json_schema_object.go +187 -184
  498. package/native/core/programmers/iterate/json_schema_plugin.go +47 -47
  499. package/native/core/programmers/iterate/json_schema_station.go +251 -251
  500. package/native/core/programmers/iterate/json_schema_string.go +17 -17
  501. package/native/core/programmers/iterate/json_schema_template.go +63 -63
  502. package/native/core/programmers/iterate/json_schema_title.go +25 -25
  503. package/native/core/programmers/iterate/json_schema_tuple.go +41 -41
  504. package/native/core/programmers/iterate/metadata_to_pattern.go +64 -64
  505. package/native/core/programmers/iterate/postfix_of_tuple.go +12 -12
  506. package/native/core/programmers/iterate/prune_object_properties.go +105 -105
  507. package/native/core/programmers/iterate/stringify_dynamic_properties.go +219 -219
  508. package/native/core/programmers/iterate/stringify_native.go +14 -14
  509. package/native/core/programmers/iterate/stringify_regular_properties.go +112 -112
  510. package/native/core/programmers/iterate/template_interpolation_tags_test.go +495 -495
  511. package/native/core/programmers/iterate/template_runtime_pattern.go +262 -262
  512. package/native/core/programmers/iterate/template_to_pattern.go +29 -29
  513. package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +23 -23
  514. package/native/core/programmers/json/JsonApplicationProgrammer.go +380 -380
  515. package/native/core/programmers/json/JsonAssertParseProgrammer.go +115 -115
  516. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +108 -108
  517. package/native/core/programmers/json/JsonIsParseProgrammer.go +162 -162
  518. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +113 -113
  519. package/native/core/programmers/json/JsonSchemaProgrammer.go +94 -94
  520. package/native/core/programmers/json/JsonSchemasProgrammer.go +142 -142
  521. package/native/core/programmers/json/JsonStringifyProgrammer.go +1528 -1508
  522. package/native/core/programmers/json/JsonValidateParseProgrammer.go +105 -105
  523. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +126 -126
  524. package/native/core/programmers/json/index.go +1 -1
  525. package/native/core/programmers/json/json_schema_programmer_coverage_test.go +198 -198
  526. package/native/core/programmers/json/json_schemas_programmer_dedupes_bigint_diagnostics_test.go +37 -37
  527. package/native/core/programmers/json/json_schemas_programmer_rejects_bigint_native_test.go +29 -29
  528. package/native/core/programmers/json/json_stringify_programmer_coverage_test.go +422 -422
  529. package/native/core/programmers/llm/LlmApplicationProgrammer.go +526 -526
  530. package/native/core/programmers/llm/LlmCoerceProgrammer.go +109 -109
  531. package/native/core/programmers/llm/LlmControllerProgrammer.go +51 -51
  532. package/native/core/programmers/llm/LlmMetadataFactory.go +89 -89
  533. package/native/core/programmers/llm/LlmParametersProgrammer.go +141 -141
  534. package/native/core/programmers/llm/LlmParseProgrammer.go +121 -121
  535. package/native/core/programmers/llm/LlmSchemaProgrammer.go +902 -846
  536. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +147 -147
  537. package/native/core/programmers/llm/index.go +1 -1
  538. package/native/core/programmers/llm/llm_application_programmer_coverage_test.go +166 -166
  539. package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +282 -282
  540. package/native/core/programmers/llm/llm_schema_programmer_dedupes_bigint_diagnostics_test.go +38 -38
  541. package/native/core/programmers/llm/llm_schema_programmer_rejects_bigint_native_test.go +30 -30
  542. package/native/core/programmers/llm/llm_schema_programmer_rejects_exclude_tag_in_strict_test.go +52 -52
  543. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +107 -107
  544. package/native/core/programmers/notations/NotationGeneralProgrammer.go +1441 -1441
  545. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +112 -112
  546. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +131 -131
  547. package/native/core/programmers/notations/index.go +1 -1
  548. package/native/core/programmers/notations/notation_general_helpers_test.go +395 -395
  549. package/native/core/programmers/notations/notation_general_programmer_snake_prefix_test.go +44 -44
  550. package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +111 -111
  551. package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +102 -102
  552. package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +117 -117
  553. package/native/core/programmers/plain/PlainClassifyProgrammer.go +2205 -2205
  554. package/native/core/programmers/plain/PlainCloneProgrammer.go +1254 -1254
  555. package/native/core/programmers/plain/PlainIsCloneProgrammer.go +117 -117
  556. package/native/core/programmers/plain/PlainIsPruneProgrammer.go +106 -106
  557. package/native/core/programmers/plain/PlainPruneProgrammer.go +837 -837
  558. package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +127 -127
  559. package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +123 -123
  560. package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +114 -114
  561. package/native/core/programmers/plain/index.go +1 -1
  562. package/native/core/programmers/plain/plain_programmer_helper_coverage_test.go +284 -284
  563. package/native/core/programmers/plain/plain_prune_programmer_branch_matrix_test.go +145 -145
  564. package/native/core/programmers/programmer_direct_helper_coverage_test.go +70 -70
  565. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +125 -125
  566. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +143 -143
  567. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +861 -861
  568. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +1269 -1269
  569. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +122 -122
  570. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +115 -115
  571. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +269 -269
  572. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +111 -111
  573. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +145 -145
  574. package/native/core/programmers/protobuf/index.go +1 -1
  575. package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +454 -454
  576. package/native/core/programmers/random_programmer_helper_coverage_test.go +367 -367
  577. package/native/core/programmers/random_programmer_min_items_tag_test.go +44 -44
  578. package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +125 -125
  579. package/native/core/schemas/index.go +1 -1
  580. package/native/core/schemas/metadata/IMetadataDictionary.go +8 -8
  581. package/native/core/schemas/metadata/IMetadataTypeTagSequence.go +53 -53
  582. package/native/core/schemas/metadata/MetadataAlias.go +36 -36
  583. package/native/core/schemas/metadata/MetadataAliasType.go +64 -64
  584. package/native/core/schemas/metadata/MetadataApplication.go +41 -41
  585. package/native/core/schemas/metadata/MetadataArray.go +36 -36
  586. package/native/core/schemas/metadata/MetadataArrayType.go +59 -59
  587. package/native/core/schemas/metadata/MetadataAtomic.go +69 -69
  588. package/native/core/schemas/metadata/MetadataCollection.go +698 -698
  589. package/native/core/schemas/metadata/MetadataComponents.go +122 -122
  590. package/native/core/schemas/metadata/MetadataConstant.go +47 -47
  591. package/native/core/schemas/metadata/MetadataConstantValue.go +97 -97
  592. package/native/core/schemas/metadata/MetadataEscaped.go +40 -40
  593. package/native/core/schemas/metadata/MetadataFunction.go +46 -46
  594. package/native/core/schemas/metadata/MetadataMap.go +45 -45
  595. package/native/core/schemas/metadata/MetadataNative.go +72 -72
  596. package/native/core/schemas/metadata/MetadataObject.go +36 -36
  597. package/native/core/schemas/metadata/MetadataObjectType.go +223 -223
  598. package/native/core/schemas/metadata/MetadataParameter.go +46 -46
  599. package/native/core/schemas/metadata/MetadataProperty.go +50 -50
  600. package/native/core/schemas/metadata/MetadataSchema.go +1485 -1485
  601. package/native/core/schemas/metadata/MetadataSet.go +41 -41
  602. package/native/core/schemas/metadata/MetadataTemplate.go +70 -70
  603. package/native/core/schemas/metadata/MetadataTuple.go +20 -20
  604. package/native/core/schemas/metadata/MetadataTupleType.go +69 -69
  605. package/native/core/schemas/metadata/index.go +1 -1
  606. package/native/core/schemas/metadata/metadata_object_type_required_literal_property_test.go +51 -51
  607. package/native/core/schemas/metadata/metadata_schema_covers_tag_matrix_test.go +125 -125
  608. package/native/core/schemas/metadata/metadata_schema_sole_literal_caches_pointer_test.go +38 -38
  609. package/native/core/schemas/metadata/schema_sequence_and_json_coverage_test.go +427 -427
  610. package/native/core/schemas/protobuf/IProtobufProperty.go +6 -6
  611. package/native/core/schemas/protobuf/IProtobufPropertyType.go +55 -55
  612. package/native/core/schemas/protobuf/IProtobufSchema.go +54 -54
  613. package/native/core/schemas/protobuf/index.go +1 -1
  614. package/native/core/schemas/protobuf/protobuf_marker_coverage_test.go +58 -58
  615. package/native/core/typings/Writable.go +5 -5
  616. package/native/core/utils/PatternUtil.go +57 -57
  617. package/native/core/utils/ProtobufNameEncoder.go +47 -47
  618. package/native/go.mod +31 -31
  619. package/native/go.sum +22 -22
  620. package/native/go.work +22 -22
  621. package/native/transform/CallExpressionTransformer.go +719 -719
  622. package/native/transform/FileTransformer.go +221 -221
  623. package/native/transform/ITransformProps.go +5 -5
  624. package/native/transform/ImportTransformer.go +285 -285
  625. package/native/transform/NodeTransformer.go +25 -25
  626. package/native/transform/TransformerError.go +11 -11
  627. package/native/transform/TypiaGenerator.go +171 -171
  628. package/native/transform/call_expression_transformer_registry_coverage_test.go +53 -53
  629. package/native/transform/call_expression_transformer_target_test.go +46 -46
  630. package/native/transform/features/AssertTransformer.go +39 -39
  631. package/native/transform/features/CreateAssertTransformer.go +39 -39
  632. package/native/transform/features/CreateIsTransformer.go +35 -35
  633. package/native/transform/features/CreateRandomTransformer.go +47 -47
  634. package/native/transform/features/CreateShallowTransformer.go +33 -33
  635. package/native/transform/features/CreateValidateTransformer.go +35 -35
  636. package/native/transform/features/IsTransformer.go +35 -35
  637. package/native/transform/features/RandomTransformer.go +54 -54
  638. package/native/transform/features/ShallowTransformer.go +65 -65
  639. package/native/transform/features/ValidateTransformer.go +35 -35
  640. package/native/transform/features/compare/CompareCoverTransformer.go +14 -14
  641. package/native/transform/features/compare/CompareCreateCoverTransformer.go +14 -14
  642. package/native/transform/features/compare/CompareCreateEqualTransformer.go +14 -14
  643. package/native/transform/features/compare/CompareCreateLessTransformer.go +14 -14
  644. package/native/transform/features/compare/CompareEqualTransformer.go +73 -73
  645. package/native/transform/features/compare/CompareLessTransformer.go +71 -71
  646. package/native/transform/features/feature_transformer_entry_coverage_test.go +59 -59
  647. package/native/transform/features/functional/FunctionalGenericTransformer.go +70 -70
  648. package/native/transform/features/http/CreateHttpAssertFormDataTransformer.go +22 -22
  649. package/native/transform/features/http/CreateHttpAssertHeadersTransformer.go +22 -22
  650. package/native/transform/features/http/CreateHttpAssertQueryTransformer.go +28 -28
  651. package/native/transform/features/http/CreateHttpFormDataTransformer.go +22 -22
  652. package/native/transform/features/http/CreateHttpHeadersTransformer.go +22 -22
  653. package/native/transform/features/http/CreateHttpIsFormDataTransformer.go +22 -22
  654. package/native/transform/features/http/CreateHttpIsHeadersTransformer.go +22 -22
  655. package/native/transform/features/http/CreateHttpIsQueryTransformer.go +28 -28
  656. package/native/transform/features/http/CreateHttpParameterTransformer.go +22 -22
  657. package/native/transform/features/http/CreateHttpQueryTransformer.go +28 -28
  658. package/native/transform/features/http/CreateHttpValidateFormDataTransformer.go +22 -22
  659. package/native/transform/features/http/CreateHttpValidateHeadersTransformer.go +22 -22
  660. package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +28 -28
  661. package/native/transform/features/http/HttpAssertFormDataTransformer.go +22 -22
  662. package/native/transform/features/http/HttpAssertHeadersTransformer.go +22 -22
  663. package/native/transform/features/http/HttpAssertQueryTransformer.go +28 -28
  664. package/native/transform/features/http/HttpFormDataTransformer.go +22 -22
  665. package/native/transform/features/http/HttpHeadersTransformer.go +22 -22
  666. package/native/transform/features/http/HttpIsFormDataTransformer.go +22 -22
  667. package/native/transform/features/http/HttpIsHeadersTransformer.go +22 -22
  668. package/native/transform/features/http/HttpIsQueryTransformer.go +28 -28
  669. package/native/transform/features/http/HttpParameterTransformer.go +22 -22
  670. package/native/transform/features/http/HttpQueryTransformer.go +28 -28
  671. package/native/transform/features/http/HttpValidateFormDataTransformer.go +22 -22
  672. package/native/transform/features/http/HttpValidateHeadersTransformer.go +22 -22
  673. package/native/transform/features/http/HttpValidateQueryTransformer.go +28 -28
  674. package/native/transform/features/http/http_transformer_entry_coverage_test.go +65 -65
  675. package/native/transform/features/json/JsonApplicationTransformer.go +75 -75
  676. package/native/transform/features/json/JsonAssertParseTransformer.go +22 -22
  677. package/native/transform/features/json/JsonAssertStringifyTransformer.go +22 -22
  678. package/native/transform/features/json/JsonCreateAssertParseTransformer.go +22 -22
  679. package/native/transform/features/json/JsonCreateAssertStringifyTransformer.go +22 -22
  680. package/native/transform/features/json/JsonCreateIsParseTransformer.go +22 -22
  681. package/native/transform/features/json/JsonCreateIsStringifyTransformer.go +22 -22
  682. package/native/transform/features/json/JsonCreateStringifyTransformer.go +22 -22
  683. package/native/transform/features/json/JsonCreateValidateParseTransformer.go +22 -22
  684. package/native/transform/features/json/JsonCreateValidateStringifyProgrammer.go +22 -22
  685. package/native/transform/features/json/JsonIsParseTransformer.go +22 -22
  686. package/native/transform/features/json/JsonIsStringifyTransformer.go +22 -22
  687. package/native/transform/features/json/JsonSchemaTransformer.go +175 -175
  688. package/native/transform/features/json/JsonSchemasTransformer.go +109 -109
  689. package/native/transform/features/json/JsonStringifyTransformer.go +22 -22
  690. package/native/transform/features/json/JsonValidateParseTransformer.go +22 -22
  691. package/native/transform/features/json/JsonValidateStringifyTransformer.go +22 -22
  692. package/native/transform/features/json/json_transformer_entry_coverage_test.go +56 -56
  693. package/native/transform/features/llm/LlmApplicationTransformer.go +54 -54
  694. package/native/transform/features/llm/LlmCoerceTransformer.go +63 -63
  695. package/native/transform/features/llm/LlmControllerTransformer.go +59 -59
  696. package/native/transform/features/llm/LlmCreateCoerceTransformer.go +54 -54
  697. package/native/transform/features/llm/LlmCreateParseTransformer.go +54 -54
  698. package/native/transform/features/llm/LlmParametersTransformer.go +49 -49
  699. package/native/transform/features/llm/LlmParseTransformer.go +63 -63
  700. package/native/transform/features/llm/LlmSchemaTransformer.go +167 -167
  701. package/native/transform/features/llm/LlmStructuredOutputTransformer.go +55 -55
  702. package/native/transform/features/llm/llm_transformer_entry_coverage_test.go +48 -48
  703. package/native/transform/features/notations/NotationAssertGeneralTransformer.go +27 -27
  704. package/native/transform/features/notations/NotationCreateAssertGeneralTransformer.go +27 -27
  705. package/native/transform/features/notations/NotationCreateGeneralTransformer.go +27 -27
  706. package/native/transform/features/notations/NotationCreateIsGeneralTransformer.go +27 -27
  707. package/native/transform/features/notations/NotationCreateValidateGeneralTransformer.go +27 -27
  708. package/native/transform/features/notations/NotationGeneralTransformer.go +36 -36
  709. package/native/transform/features/notations/NotationIsGeneralTransformer.go +27 -27
  710. package/native/transform/features/notations/NotationValidateGeneralTransformer.go +27 -27
  711. package/native/transform/features/notations/notation_transformer_entry_coverage_test.go +58 -58
  712. package/native/transform/features/plain/PlainAssertClassifyTransformer.go +22 -22
  713. package/native/transform/features/plain/PlainAssertCloneTransformer.go +22 -22
  714. package/native/transform/features/plain/PlainAssertPruneTransformer.go +22 -22
  715. package/native/transform/features/plain/PlainClassifyTransformer.go +22 -22
  716. package/native/transform/features/plain/PlainCloneTransformer.go +22 -22
  717. package/native/transform/features/plain/PlainCreateAssertClassifyTransformer.go +22 -22
  718. package/native/transform/features/plain/PlainCreateAssertCloneTransformer.go +22 -22
  719. package/native/transform/features/plain/PlainCreateAssertPruneTransformer.go +22 -22
  720. package/native/transform/features/plain/PlainCreateClassifyTransformer.go +22 -22
  721. package/native/transform/features/plain/PlainCreateCloneTransformer.go +22 -22
  722. package/native/transform/features/plain/PlainCreateIsCloneTransformer.go +22 -22
  723. package/native/transform/features/plain/PlainCreateIsPruneTransformer.go +22 -22
  724. package/native/transform/features/plain/PlainCreatePruneTransformer.go +22 -22
  725. package/native/transform/features/plain/PlainCreateValidateClassifyTransformer.go +22 -22
  726. package/native/transform/features/plain/PlainCreateValidateCloneTransformer.go +22 -22
  727. package/native/transform/features/plain/PlainCreateValidatePruneTransformer.go +22 -22
  728. package/native/transform/features/plain/PlainIsCloneTransformer.go +22 -22
  729. package/native/transform/features/plain/PlainIsPruneTransformer.go +22 -22
  730. package/native/transform/features/plain/PlainPruneTransformer.go +22 -22
  731. package/native/transform/features/plain/PlainValidateClassifyTransformer.go +22 -22
  732. package/native/transform/features/plain/PlainValidateCloneTransformer.go +22 -22
  733. package/native/transform/features/plain/PlainValidatePruneTransformer.go +22 -22
  734. package/native/transform/features/plain/plain_transformer_entry_coverage_test.go +61 -61
  735. package/native/transform/features/protobuf/ProtobufAssertDecodeTransformer.go +22 -22
  736. package/native/transform/features/protobuf/ProtobufAssertEncodeTransformer.go +22 -22
  737. package/native/transform/features/protobuf/ProtobufCreateAssertDecodeTransformer.go +22 -22
  738. package/native/transform/features/protobuf/ProtobufCreateAssertEncodeTransformer.go +22 -22
  739. package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +22 -22
  740. package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +22 -22
  741. package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +22 -22
  742. package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +22 -22
  743. package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +22 -22
  744. package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +22 -22
  745. package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +22 -22
  746. package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +22 -22
  747. package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +22 -22
  748. package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +22 -22
  749. package/native/transform/features/protobuf/ProtobufMessageTransformer.go +31 -31
  750. package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +22 -22
  751. package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +22 -22
  752. package/native/transform/features/protobuf/protobuf_transformer_entry_coverage_test.go +56 -56
  753. package/native/transform/features/reflect/ReflectLiteralsTransformer.go +32 -32
  754. package/native/transform/features/reflect/ReflectMetadataTransformer.go +73 -73
  755. package/native/transform/features/reflect/ReflectNameTransformer.go +100 -100
  756. package/native/transform/features/reflect/ReflectSchemaTransformer.go +153 -153
  757. package/native/transform/features/reflect/ReflectSchemasTransformer.go +68 -68
  758. package/native/transform/features/reflect/reflect_metadata_transformer_edge_branches_test.go +55 -55
  759. package/native/transform/features/reflect/reflect_transformer_entry_coverage_test.go +47 -47
  760. package/native/transform/file_transformer_coverage_test.go +94 -94
  761. package/native/transform/import_transformer_coverage_test.go +153 -153
  762. package/native/transform/index.go +1 -1
  763. package/native/transform/internal/GenericTransformer.go +236 -236
  764. package/native/transform/transform.go +57 -57
  765. package/native/transform/typia_generator_helpers_coverage_test.go +166 -166
  766. package/package.json +8 -15
  767. package/src/executable/TypiaGenerateWizard.ts +5 -1
  768. package/src/executable/generate/ttsc.ts +3 -4
  769. package/src/executable/typia.ts +8 -4
  770. package/src/internal/_ProtobufReader.ts +187 -187
  771. package/src/internal/_randomArray.ts +34 -34
  772. package/src/internal/_randomString.ts +30 -30
  773. package/src/re-exports.ts +8 -3
  774. package/src/transform.ts +21 -21
  775. package/lib/TypeGuardError2.mjs +0 -55
  776. package/lib/TypeGuardError2.mjs.map +0 -1
  777. package/lib/_virtual/NoTransformConfigurationError.mjs +0 -4
  778. package/lib/_virtual/NoTransformConfigurationError.mjs.map +0 -1
  779. package/lib/_virtual/TypeGuardError.mjs +0 -4
  780. package/lib/_virtual/TypeGuardError.mjs.map +0 -1
  781. package/lib/_virtual/TypiaGenerateWizard.mjs +0 -4
  782. package/lib/_virtual/TypiaGenerateWizard.mjs.map +0 -1
  783. package/lib/_virtual/_IProtobufWriter.mjs +0 -4
  784. package/lib/_virtual/_IProtobufWriter.mjs.map +0 -1
  785. package/lib/_virtual/_ProtobufReader.mjs +0 -4
  786. package/lib/_virtual/_ProtobufReader.mjs.map +0 -1
  787. package/lib/_virtual/_ProtobufSizer.mjs +0 -4
  788. package/lib/_virtual/_ProtobufSizer.mjs.map +0 -1
  789. package/lib/_virtual/_ProtobufWriter.mjs +0 -4
  790. package/lib/_virtual/_ProtobufWriter.mjs.map +0 -1
  791. package/lib/_virtual/__notationCapitalize.mjs +0 -4
  792. package/lib/_virtual/__notationCapitalize.mjs.map +0 -1
  793. package/lib/_virtual/__notationUnsnake.mjs +0 -4
  794. package/lib/_virtual/__notationUnsnake.mjs.map +0 -1
  795. package/lib/_virtual/_accessExpressionAsString.mjs +0 -4
  796. package/lib/_virtual/_accessExpressionAsString.mjs.map +0 -1
  797. package/lib/_virtual/_assertGuard.mjs +0 -4
  798. package/lib/_virtual/_assertGuard.mjs.map +0 -1
  799. package/lib/_virtual/_coerceLlmArguments.mjs +0 -4
  800. package/lib/_virtual/_coerceLlmArguments.mjs.map +0 -1
  801. package/lib/_virtual/_commander.mjs +0 -7
  802. package/lib/_virtual/_commander.mjs.map +0 -1
  803. package/lib/_virtual/_commonjsHelpers.mjs +0 -35
  804. package/lib/_virtual/_commonjsHelpers.mjs.map +0 -1
  805. package/lib/_virtual/_createStandardSchema.mjs +0 -4
  806. package/lib/_virtual/_createStandardSchema.mjs.map +0 -1
  807. package/lib/_virtual/_functionalTypeGuardErrorFactory.mjs +0 -4
  808. package/lib/_virtual/_functionalTypeGuardErrorFactory.mjs.map +0 -1
  809. package/lib/_virtual/_httpFormDataReadArray.mjs +0 -4
  810. package/lib/_virtual/_httpFormDataReadArray.mjs.map +0 -1
  811. package/lib/_virtual/_httpFormDataReadBigint.mjs +0 -4
  812. package/lib/_virtual/_httpFormDataReadBigint.mjs.map +0 -1
  813. package/lib/_virtual/_httpFormDataReadBlob.mjs +0 -4
  814. package/lib/_virtual/_httpFormDataReadBlob.mjs.map +0 -1
  815. package/lib/_virtual/_httpFormDataReadBoolean.mjs +0 -4
  816. package/lib/_virtual/_httpFormDataReadBoolean.mjs.map +0 -1
  817. package/lib/_virtual/_httpFormDataReadFile.mjs +0 -4
  818. package/lib/_virtual/_httpFormDataReadFile.mjs.map +0 -1
  819. package/lib/_virtual/_httpFormDataReadNumber.mjs +0 -4
  820. package/lib/_virtual/_httpFormDataReadNumber.mjs.map +0 -1
  821. package/lib/_virtual/_httpFormDataReadString.mjs +0 -4
  822. package/lib/_virtual/_httpFormDataReadString.mjs.map +0 -1
  823. package/lib/_virtual/_httpHeaderReadBigint.mjs +0 -4
  824. package/lib/_virtual/_httpHeaderReadBigint.mjs.map +0 -1
  825. package/lib/_virtual/_httpHeaderReadBoolean.mjs +0 -4
  826. package/lib/_virtual/_httpHeaderReadBoolean.mjs.map +0 -1
  827. package/lib/_virtual/_httpHeaderReadNumber.mjs +0 -4
  828. package/lib/_virtual/_httpHeaderReadNumber.mjs.map +0 -1
  829. package/lib/_virtual/_httpParameterReadBigint.mjs +0 -4
  830. package/lib/_virtual/_httpParameterReadBigint.mjs.map +0 -1
  831. package/lib/_virtual/_httpParameterReadBoolean.mjs +0 -4
  832. package/lib/_virtual/_httpParameterReadBoolean.mjs.map +0 -1
  833. package/lib/_virtual/_httpParameterReadNumber.mjs +0 -4
  834. package/lib/_virtual/_httpParameterReadNumber.mjs.map +0 -1
  835. package/lib/_virtual/_httpParameterReadString.mjs +0 -4
  836. package/lib/_virtual/_httpParameterReadString.mjs.map +0 -1
  837. package/lib/_virtual/_httpQueryParseURLSearchParams.mjs +0 -4
  838. package/lib/_virtual/_httpQueryParseURLSearchParams.mjs.map +0 -1
  839. package/lib/_virtual/_httpQueryReadArray.mjs +0 -4
  840. package/lib/_virtual/_httpQueryReadArray.mjs.map +0 -1
  841. package/lib/_virtual/_httpQueryReadBigint.mjs +0 -4
  842. package/lib/_virtual/_httpQueryReadBigint.mjs.map +0 -1
  843. package/lib/_virtual/_httpQueryReadBoolean.mjs +0 -4
  844. package/lib/_virtual/_httpQueryReadBoolean.mjs.map +0 -1
  845. package/lib/_virtual/_httpQueryReadNumber.mjs +0 -4
  846. package/lib/_virtual/_httpQueryReadNumber.mjs.map +0 -1
  847. package/lib/_virtual/_httpQueryReadString.mjs +0 -4
  848. package/lib/_virtual/_httpQueryReadString.mjs.map +0 -1
  849. package/lib/_virtual/_inquirer.mjs +0 -7
  850. package/lib/_virtual/_inquirer.mjs.map +0 -1
  851. package/lib/_virtual/_isBetween.mjs +0 -4
  852. package/lib/_virtual/_isBetween.mjs.map +0 -1
  853. package/lib/_virtual/_isBigintString.mjs +0 -4
  854. package/lib/_virtual/_isBigintString.mjs.map +0 -1
  855. package/lib/_virtual/_isFormatByte.mjs +0 -4
  856. package/lib/_virtual/_isFormatByte.mjs.map +0 -1
  857. package/lib/_virtual/_isFormatDate.mjs +0 -4
  858. package/lib/_virtual/_isFormatDate.mjs.map +0 -1
  859. package/lib/_virtual/_isFormatDateTime.mjs +0 -4
  860. package/lib/_virtual/_isFormatDateTime.mjs.map +0 -1
  861. package/lib/_virtual/_isFormatDuration.mjs +0 -4
  862. package/lib/_virtual/_isFormatDuration.mjs.map +0 -1
  863. package/lib/_virtual/_isFormatEmail.mjs +0 -4
  864. package/lib/_virtual/_isFormatEmail.mjs.map +0 -1
  865. package/lib/_virtual/_isFormatHostname.mjs +0 -4
  866. package/lib/_virtual/_isFormatHostname.mjs.map +0 -1
  867. package/lib/_virtual/_isFormatIdnEmail.mjs +0 -4
  868. package/lib/_virtual/_isFormatIdnEmail.mjs.map +0 -1
  869. package/lib/_virtual/_isFormatIdnHostname.mjs +0 -4
  870. package/lib/_virtual/_isFormatIdnHostname.mjs.map +0 -1
  871. package/lib/_virtual/_isFormatIpv4.mjs +0 -4
  872. package/lib/_virtual/_isFormatIpv4.mjs.map +0 -1
  873. package/lib/_virtual/_isFormatIpv6.mjs +0 -4
  874. package/lib/_virtual/_isFormatIpv6.mjs.map +0 -1
  875. package/lib/_virtual/_isFormatIri.mjs +0 -4
  876. package/lib/_virtual/_isFormatIri.mjs.map +0 -1
  877. package/lib/_virtual/_isFormatIriReference.mjs +0 -4
  878. package/lib/_virtual/_isFormatIriReference.mjs.map +0 -1
  879. package/lib/_virtual/_isFormatJsonPointer.mjs +0 -4
  880. package/lib/_virtual/_isFormatJsonPointer.mjs.map +0 -1
  881. package/lib/_virtual/_isFormatPassword.mjs +0 -4
  882. package/lib/_virtual/_isFormatPassword.mjs.map +0 -1
  883. package/lib/_virtual/_isFormatRegex.mjs +0 -4
  884. package/lib/_virtual/_isFormatRegex.mjs.map +0 -1
  885. package/lib/_virtual/_isFormatRelativeJsonPointer.mjs +0 -4
  886. package/lib/_virtual/_isFormatRelativeJsonPointer.mjs.map +0 -1
  887. package/lib/_virtual/_isFormatTime.mjs +0 -4
  888. package/lib/_virtual/_isFormatTime.mjs.map +0 -1
  889. package/lib/_virtual/_isFormatUri.mjs +0 -4
  890. package/lib/_virtual/_isFormatUri.mjs.map +0 -1
  891. package/lib/_virtual/_isFormatUriReference.mjs +0 -4
  892. package/lib/_virtual/_isFormatUriReference.mjs.map +0 -1
  893. package/lib/_virtual/_isFormatUriTemplate.mjs +0 -4
  894. package/lib/_virtual/_isFormatUriTemplate.mjs.map +0 -1
  895. package/lib/_virtual/_isFormatUrl.mjs +0 -4
  896. package/lib/_virtual/_isFormatUrl.mjs.map +0 -1
  897. package/lib/_virtual/_isFormatUuid.mjs +0 -4
  898. package/lib/_virtual/_isFormatUuid.mjs.map +0 -1
  899. package/lib/_virtual/_isTypeFloat.mjs +0 -4
  900. package/lib/_virtual/_isTypeFloat.mjs.map +0 -1
  901. package/lib/_virtual/_isTypeInt16.mjs +0 -4
  902. package/lib/_virtual/_isTypeInt16.mjs.map +0 -1
  903. package/lib/_virtual/_isTypeInt32.mjs +0 -4
  904. package/lib/_virtual/_isTypeInt32.mjs.map +0 -1
  905. package/lib/_virtual/_isTypeInt64.mjs +0 -4
  906. package/lib/_virtual/_isTypeInt64.mjs.map +0 -1
  907. package/lib/_virtual/_isTypeInt8.mjs +0 -4
  908. package/lib/_virtual/_isTypeInt8.mjs.map +0 -1
  909. package/lib/_virtual/_isTypeUint16.mjs +0 -4
  910. package/lib/_virtual/_isTypeUint16.mjs.map +0 -1
  911. package/lib/_virtual/_isTypeUint32.mjs +0 -4
  912. package/lib/_virtual/_isTypeUint32.mjs.map +0 -1
  913. package/lib/_virtual/_isTypeUint64.mjs +0 -4
  914. package/lib/_virtual/_isTypeUint64.mjs.map +0 -1
  915. package/lib/_virtual/_isTypeUint8.mjs +0 -4
  916. package/lib/_virtual/_isTypeUint8.mjs.map +0 -1
  917. package/lib/_virtual/_isUniqueItems.mjs +0 -4
  918. package/lib/_virtual/_isUniqueItems.mjs.map +0 -1
  919. package/lib/_virtual/_jsonStringifyNumber.mjs +0 -4
  920. package/lib/_virtual/_jsonStringifyNumber.mjs.map +0 -1
  921. package/lib/_virtual/_jsonStringifyRest.mjs +0 -4
  922. package/lib/_virtual/_jsonStringifyRest.mjs.map +0 -1
  923. package/lib/_virtual/_jsonStringifyString.mjs +0 -4
  924. package/lib/_virtual/_jsonStringifyString.mjs.map +0 -1
  925. package/lib/_virtual/_jsonStringifyTail.mjs +0 -4
  926. package/lib/_virtual/_jsonStringifyTail.mjs.map +0 -1
  927. package/lib/_virtual/_llmApplicationFinalize.mjs +0 -4
  928. package/lib/_virtual/_llmApplicationFinalize.mjs.map +0 -1
  929. package/lib/_virtual/_node_child_process.mjs +0 -7
  930. package/lib/_virtual/_node_child_process.mjs.map +0 -1
  931. package/lib/_virtual/_node_fs.mjs +0 -7
  932. package/lib/_virtual/_node_fs.mjs.map +0 -1
  933. package/lib/_virtual/_node_module.mjs +0 -7
  934. package/lib/_virtual/_node_module.mjs.map +0 -1
  935. package/lib/_virtual/_node_path.mjs +0 -7
  936. package/lib/_virtual/_node_path.mjs.map +0 -1
  937. package/lib/_virtual/_notationAny.mjs +0 -4
  938. package/lib/_virtual/_notationAny.mjs.map +0 -1
  939. package/lib/_virtual/_notationCamel.mjs +0 -4
  940. package/lib/_virtual/_notationCamel.mjs.map +0 -1
  941. package/lib/_virtual/_notationPascal.mjs +0 -4
  942. package/lib/_virtual/_notationPascal.mjs.map +0 -1
  943. package/lib/_virtual/_notationSnake.mjs +0 -4
  944. package/lib/_virtual/_notationSnake.mjs.map +0 -1
  945. package/lib/_virtual/_parseLlmArguments.mjs +0 -4
  946. package/lib/_virtual/_parseLlmArguments.mjs.map +0 -1
  947. package/lib/_virtual/_plainCloneAny.mjs +0 -4
  948. package/lib/_virtual/_plainCloneAny.mjs.map +0 -1
  949. package/lib/_virtual/_randexp.mjs +0 -7
  950. package/lib/_virtual/_randexp.mjs.map +0 -1
  951. package/lib/_virtual/_randomArray.mjs +0 -4
  952. package/lib/_virtual/_randomArray.mjs.map +0 -1
  953. package/lib/_virtual/_randomBigint.mjs +0 -4
  954. package/lib/_virtual/_randomBigint.mjs.map +0 -1
  955. package/lib/_virtual/_randomBoolean.mjs +0 -4
  956. package/lib/_virtual/_randomBoolean.mjs.map +0 -1
  957. package/lib/_virtual/_randomFormatByte.mjs +0 -4
  958. package/lib/_virtual/_randomFormatByte.mjs.map +0 -1
  959. package/lib/_virtual/_randomFormatDate.mjs +0 -4
  960. package/lib/_virtual/_randomFormatDate.mjs.map +0 -1
  961. package/lib/_virtual/_randomFormatDatetime.mjs +0 -4
  962. package/lib/_virtual/_randomFormatDatetime.mjs.map +0 -1
  963. package/lib/_virtual/_randomFormatDuration.mjs +0 -4
  964. package/lib/_virtual/_randomFormatDuration.mjs.map +0 -1
  965. package/lib/_virtual/_randomFormatEmail.mjs +0 -4
  966. package/lib/_virtual/_randomFormatEmail.mjs.map +0 -1
  967. package/lib/_virtual/_randomFormatHostname.mjs +0 -4
  968. package/lib/_virtual/_randomFormatHostname.mjs.map +0 -1
  969. package/lib/_virtual/_randomFormatIdnEmail.mjs +0 -4
  970. package/lib/_virtual/_randomFormatIdnEmail.mjs.map +0 -1
  971. package/lib/_virtual/_randomFormatIdnHostname.mjs +0 -4
  972. package/lib/_virtual/_randomFormatIdnHostname.mjs.map +0 -1
  973. package/lib/_virtual/_randomFormatIpv4.mjs +0 -4
  974. package/lib/_virtual/_randomFormatIpv4.mjs.map +0 -1
  975. package/lib/_virtual/_randomFormatIpv6.mjs +0 -4
  976. package/lib/_virtual/_randomFormatIpv6.mjs.map +0 -1
  977. package/lib/_virtual/_randomFormatIri.mjs +0 -4
  978. package/lib/_virtual/_randomFormatIri.mjs.map +0 -1
  979. package/lib/_virtual/_randomFormatIriReference.mjs +0 -4
  980. package/lib/_virtual/_randomFormatIriReference.mjs.map +0 -1
  981. package/lib/_virtual/_randomFormatJsonPointer.mjs +0 -4
  982. package/lib/_virtual/_randomFormatJsonPointer.mjs.map +0 -1
  983. package/lib/_virtual/_randomFormatPassword.mjs +0 -4
  984. package/lib/_virtual/_randomFormatPassword.mjs.map +0 -1
  985. package/lib/_virtual/_randomFormatRegex.mjs +0 -4
  986. package/lib/_virtual/_randomFormatRegex.mjs.map +0 -1
  987. package/lib/_virtual/_randomFormatRelativeJsonPointer.mjs +0 -4
  988. package/lib/_virtual/_randomFormatRelativeJsonPointer.mjs.map +0 -1
  989. package/lib/_virtual/_randomFormatTime.mjs +0 -4
  990. package/lib/_virtual/_randomFormatTime.mjs.map +0 -1
  991. package/lib/_virtual/_randomFormatUri.mjs +0 -4
  992. package/lib/_virtual/_randomFormatUri.mjs.map +0 -1
  993. package/lib/_virtual/_randomFormatUriReference.mjs +0 -4
  994. package/lib/_virtual/_randomFormatUriReference.mjs.map +0 -1
  995. package/lib/_virtual/_randomFormatUriTemplate.mjs +0 -4
  996. package/lib/_virtual/_randomFormatUriTemplate.mjs.map +0 -1
  997. package/lib/_virtual/_randomFormatUrl.mjs +0 -4
  998. package/lib/_virtual/_randomFormatUrl.mjs.map +0 -1
  999. package/lib/_virtual/_randomFormatUuid.mjs +0 -4
  1000. package/lib/_virtual/_randomFormatUuid.mjs.map +0 -1
  1001. package/lib/_virtual/_randomInteger.mjs +0 -4
  1002. package/lib/_virtual/_randomInteger.mjs.map +0 -1
  1003. package/lib/_virtual/_randomNumber.mjs +0 -4
  1004. package/lib/_virtual/_randomNumber.mjs.map +0 -1
  1005. package/lib/_virtual/_randomPattern.mjs +0 -4
  1006. package/lib/_virtual/_randomPattern.mjs.map +0 -1
  1007. package/lib/_virtual/_randomPick.mjs +0 -4
  1008. package/lib/_virtual/_randomPick.mjs.map +0 -1
  1009. package/lib/_virtual/_randomString.mjs +0 -4
  1010. package/lib/_virtual/_randomString.mjs.map +0 -1
  1011. package/lib/_virtual/_throwTypeGuardError.mjs +0 -4
  1012. package/lib/_virtual/_throwTypeGuardError.mjs.map +0 -1
  1013. package/lib/_virtual/_tinyglobby.mjs +0 -7
  1014. package/lib/_virtual/_tinyglobby.mjs.map +0 -1
  1015. package/lib/_virtual/_validateReport.mjs +0 -4
  1016. package/lib/_virtual/_validateReport.mjs.map +0 -1
  1017. package/lib/_virtual/compare.mjs +0 -4
  1018. package/lib/_virtual/compare.mjs.map +0 -1
  1019. package/lib/_virtual/functional.mjs +0 -4
  1020. package/lib/_virtual/functional.mjs.map +0 -1
  1021. package/lib/_virtual/http.mjs +0 -4
  1022. package/lib/_virtual/http.mjs.map +0 -1
  1023. package/lib/_virtual/index.mjs +0 -4
  1024. package/lib/_virtual/index.mjs.map +0 -1
  1025. package/lib/_virtual/json.mjs +0 -4
  1026. package/lib/_virtual/json.mjs.map +0 -1
  1027. package/lib/_virtual/llm.mjs +0 -4
  1028. package/lib/_virtual/llm.mjs.map +0 -1
  1029. package/lib/_virtual/module.mjs +0 -4
  1030. package/lib/_virtual/module.mjs.map +0 -1
  1031. package/lib/_virtual/notations.mjs +0 -4
  1032. package/lib/_virtual/notations.mjs.map +0 -1
  1033. package/lib/_virtual/plain.mjs +0 -4
  1034. package/lib/_virtual/plain.mjs.map +0 -1
  1035. package/lib/_virtual/protobuf.mjs +0 -4
  1036. package/lib/_virtual/protobuf.mjs.map +0 -1
  1037. package/lib/_virtual/re-exports.mjs +0 -4
  1038. package/lib/_virtual/re-exports.mjs.map +0 -1
  1039. package/lib/_virtual/reflect.mjs +0 -4
  1040. package/lib/_virtual/reflect.mjs.map +0 -1
  1041. package/lib/_virtual/transform.mjs +0 -4
  1042. package/lib/_virtual/transform.mjs.map +0 -1
  1043. package/lib/_virtual/ttsc.mjs +0 -4
  1044. package/lib/_virtual/ttsc.mjs.map +0 -1
  1045. package/lib/_virtual/typia.mjs +0 -4
  1046. package/lib/_virtual/typia.mjs.map +0 -1
  1047. package/lib/compare2.mjs +0 -39
  1048. package/lib/compare2.mjs.map +0 -1
  1049. package/lib/executable/TypiaGenerateWizard2.mjs +0 -719
  1050. package/lib/executable/TypiaGenerateWizard2.mjs.map +0 -1
  1051. package/lib/executable/generate/ttsc2.mjs +0 -56
  1052. package/lib/executable/generate/ttsc2.mjs.map +0 -1
  1053. package/lib/executable/typia2.mjs +0 -88
  1054. package/lib/executable/typia2.mjs.map +0 -1
  1055. package/lib/functional2.mjs +0 -99
  1056. package/lib/functional2.mjs.map +0 -1
  1057. package/lib/http2.mjs +0 -139
  1058. package/lib/http2.mjs.map +0 -1
  1059. package/lib/index2.mjs +0 -53
  1060. package/lib/index2.mjs.map +0 -1
  1061. package/lib/internal/_IProtobufWriter.mjs.map +0 -1
  1062. package/lib/internal/_IProtobufWriter2.mjs +0 -6
  1063. package/lib/internal/_IProtobufWriter2.mjs.map +0 -1
  1064. package/lib/internal/_ProtobufReader2.mjs +0 -169
  1065. package/lib/internal/_ProtobufReader2.mjs.map +0 -1
  1066. package/lib/internal/_ProtobufSizer2.mjs +0 -119
  1067. package/lib/internal/_ProtobufSizer2.mjs.map +0 -1
  1068. package/lib/internal/_ProtobufWriter2.mjs +0 -107
  1069. package/lib/internal/_ProtobufWriter2.mjs.map +0 -1
  1070. package/lib/internal/_accessExpressionAsString2.mjs +0 -49
  1071. package/lib/internal/_accessExpressionAsString2.mjs.map +0 -1
  1072. package/lib/internal/_assertGuard2.mjs +0 -20
  1073. package/lib/internal/_assertGuard2.mjs.map +0 -1
  1074. package/lib/internal/_coerceLlmArguments2.mjs +0 -11
  1075. package/lib/internal/_coerceLlmArguments2.mjs.map +0 -1
  1076. package/lib/internal/_createStandardSchema2.mjs +0 -138
  1077. package/lib/internal/_createStandardSchema2.mjs.map +0 -1
  1078. package/lib/internal/_functionalTypeGuardErrorFactory2.mjs +0 -12
  1079. package/lib/internal/_functionalTypeGuardErrorFactory2.mjs.map +0 -1
  1080. package/lib/internal/_httpFormDataReadArray2.mjs +0 -9
  1081. package/lib/internal/_httpFormDataReadArray2.mjs.map +0 -1
  1082. package/lib/internal/_httpFormDataReadBigint2.mjs +0 -23
  1083. package/lib/internal/_httpFormDataReadBigint2.mjs.map +0 -1
  1084. package/lib/internal/_httpFormDataReadBlob2.mjs +0 -15
  1085. package/lib/internal/_httpFormDataReadBlob2.mjs.map +0 -1
  1086. package/lib/internal/_httpFormDataReadBoolean2.mjs +0 -21
  1087. package/lib/internal/_httpFormDataReadBoolean2.mjs.map +0 -1
  1088. package/lib/internal/_httpFormDataReadFile2.mjs +0 -15
  1089. package/lib/internal/_httpFormDataReadFile2.mjs.map +0 -1
  1090. package/lib/internal/_httpFormDataReadNumber2.mjs +0 -19
  1091. package/lib/internal/_httpFormDataReadNumber2.mjs.map +0 -1
  1092. package/lib/internal/_httpFormDataReadString2.mjs +0 -15
  1093. package/lib/internal/_httpFormDataReadString2.mjs.map +0 -1
  1094. package/lib/internal/_httpHeaderReadBigint2.mjs +0 -17
  1095. package/lib/internal/_httpHeaderReadBigint2.mjs.map +0 -1
  1096. package/lib/internal/_httpHeaderReadBoolean2.mjs +0 -15
  1097. package/lib/internal/_httpHeaderReadBoolean2.mjs.map +0 -1
  1098. package/lib/internal/_httpHeaderReadNumber2.mjs +0 -13
  1099. package/lib/internal/_httpHeaderReadNumber2.mjs.map +0 -1
  1100. package/lib/internal/_httpParameterReadBigint2.mjs +0 -17
  1101. package/lib/internal/_httpParameterReadBigint2.mjs.map +0 -1
  1102. package/lib/internal/_httpParameterReadBoolean2.mjs +0 -15
  1103. package/lib/internal/_httpParameterReadBoolean2.mjs.map +0 -1
  1104. package/lib/internal/_httpParameterReadNumber2.mjs +0 -13
  1105. package/lib/internal/_httpParameterReadNumber2.mjs.map +0 -1
  1106. package/lib/internal/_httpParameterReadString2.mjs +0 -9
  1107. package/lib/internal/_httpParameterReadString2.mjs.map +0 -1
  1108. package/lib/internal/_httpQueryParseURLSearchParams2.mjs +0 -16
  1109. package/lib/internal/_httpQueryParseURLSearchParams2.mjs.map +0 -1
  1110. package/lib/internal/_httpQueryReadArray2.mjs +0 -9
  1111. package/lib/internal/_httpQueryReadArray2.mjs.map +0 -1
  1112. package/lib/internal/_httpQueryReadBigint2.mjs +0 -17
  1113. package/lib/internal/_httpQueryReadBigint2.mjs.map +0 -1
  1114. package/lib/internal/_httpQueryReadBoolean2.mjs +0 -19
  1115. package/lib/internal/_httpQueryReadBoolean2.mjs.map +0 -1
  1116. package/lib/internal/_httpQueryReadNumber2.mjs +0 -13
  1117. package/lib/internal/_httpQueryReadNumber2.mjs.map +0 -1
  1118. package/lib/internal/_httpQueryReadString2.mjs +0 -9
  1119. package/lib/internal/_httpQueryReadString2.mjs.map +0 -1
  1120. package/lib/internal/_isBetween2.mjs +0 -9
  1121. package/lib/internal/_isBetween2.mjs.map +0 -1
  1122. package/lib/internal/_isBigintString2.mjs +0 -17
  1123. package/lib/internal/_isBigintString2.mjs.map +0 -1
  1124. package/lib/internal/_isFormatByte2.mjs +0 -13
  1125. package/lib/internal/_isFormatByte2.mjs.map +0 -1
  1126. package/lib/internal/_isFormatDate2.mjs +0 -10
  1127. package/lib/internal/_isFormatDate2.mjs.map +0 -1
  1128. package/lib/internal/_isFormatDateTime2.mjs +0 -10
  1129. package/lib/internal/_isFormatDateTime2.mjs.map +0 -1
  1130. package/lib/internal/_isFormatDuration2.mjs +0 -10
  1131. package/lib/internal/_isFormatDuration2.mjs.map +0 -1
  1132. package/lib/internal/_isFormatEmail2.mjs +0 -10
  1133. package/lib/internal/_isFormatEmail2.mjs.map +0 -1
  1134. package/lib/internal/_isFormatHostname2.mjs +0 -10
  1135. package/lib/internal/_isFormatHostname2.mjs.map +0 -1
  1136. package/lib/internal/_isFormatIdnEmail2.mjs +0 -10
  1137. package/lib/internal/_isFormatIdnEmail2.mjs.map +0 -1
  1138. package/lib/internal/_isFormatIdnHostname2.mjs +0 -10
  1139. package/lib/internal/_isFormatIdnHostname2.mjs.map +0 -1
  1140. package/lib/internal/_isFormatIpv42.mjs +0 -10
  1141. package/lib/internal/_isFormatIpv42.mjs.map +0 -1
  1142. package/lib/internal/_isFormatIpv62.mjs +0 -10
  1143. package/lib/internal/_isFormatIpv62.mjs.map +0 -1
  1144. package/lib/internal/_isFormatIri2.mjs +0 -10
  1145. package/lib/internal/_isFormatIri2.mjs.map +0 -1
  1146. package/lib/internal/_isFormatIriReference2.mjs +0 -10
  1147. package/lib/internal/_isFormatIriReference2.mjs.map +0 -1
  1148. package/lib/internal/_isFormatJsonPointer2.mjs +0 -10
  1149. package/lib/internal/_isFormatJsonPointer2.mjs.map +0 -1
  1150. package/lib/internal/_isFormatPassword2.mjs +0 -9
  1151. package/lib/internal/_isFormatPassword2.mjs.map +0 -1
  1152. package/lib/internal/_isFormatRegex2.mjs +0 -17
  1153. package/lib/internal/_isFormatRegex2.mjs.map +0 -1
  1154. package/lib/internal/_isFormatRelativeJsonPointer2.mjs +0 -10
  1155. package/lib/internal/_isFormatRelativeJsonPointer2.mjs.map +0 -1
  1156. package/lib/internal/_isFormatTime2.mjs +0 -10
  1157. package/lib/internal/_isFormatTime2.mjs.map +0 -1
  1158. package/lib/internal/_isFormatUri2.mjs +0 -11
  1159. package/lib/internal/_isFormatUri2.mjs.map +0 -1
  1160. package/lib/internal/_isFormatUriReference2.mjs +0 -10
  1161. package/lib/internal/_isFormatUriReference2.mjs.map +0 -1
  1162. package/lib/internal/_isFormatUriTemplate2.mjs +0 -10
  1163. package/lib/internal/_isFormatUriTemplate2.mjs.map +0 -1
  1164. package/lib/internal/_isFormatUrl2.mjs +0 -10
  1165. package/lib/internal/_isFormatUrl2.mjs.map +0 -1
  1166. package/lib/internal/_isFormatUuid2.mjs +0 -10
  1167. package/lib/internal/_isFormatUuid2.mjs.map +0 -1
  1168. package/lib/internal/_isTypeFloat2.mjs +0 -11
  1169. package/lib/internal/_isTypeFloat2.mjs.map +0 -1
  1170. package/lib/internal/_isTypeInt162.mjs +0 -11
  1171. package/lib/internal/_isTypeInt162.mjs.map +0 -1
  1172. package/lib/internal/_isTypeInt322.mjs +0 -11
  1173. package/lib/internal/_isTypeInt322.mjs.map +0 -1
  1174. package/lib/internal/_isTypeInt642.mjs +0 -11
  1175. package/lib/internal/_isTypeInt642.mjs.map +0 -1
  1176. package/lib/internal/_isTypeInt82.mjs +0 -11
  1177. package/lib/internal/_isTypeInt82.mjs.map +0 -1
  1178. package/lib/internal/_isTypeUint162.mjs +0 -11
  1179. package/lib/internal/_isTypeUint162.mjs.map +0 -1
  1180. package/lib/internal/_isTypeUint322.mjs +0 -11
  1181. package/lib/internal/_isTypeUint322.mjs.map +0 -1
  1182. package/lib/internal/_isTypeUint642.mjs +0 -11
  1183. package/lib/internal/_isTypeUint642.mjs.map +0 -1
  1184. package/lib/internal/_isTypeUint82.mjs +0 -11
  1185. package/lib/internal/_isTypeUint82.mjs.map +0 -1
  1186. package/lib/internal/_isUniqueItems2.mjs +0 -143
  1187. package/lib/internal/_isUniqueItems2.mjs.map +0 -1
  1188. package/lib/internal/_jsonStringifyNumber2.mjs +0 -9
  1189. package/lib/internal/_jsonStringifyNumber2.mjs.map +0 -1
  1190. package/lib/internal/_jsonStringifyRest2.mjs +0 -11
  1191. package/lib/internal/_jsonStringifyRest2.mjs.map +0 -1
  1192. package/lib/internal/_jsonStringifyString2.mjs +0 -45
  1193. package/lib/internal/_jsonStringifyString2.mjs.map +0 -1
  1194. package/lib/internal/_jsonStringifyTail2.mjs +0 -9
  1195. package/lib/internal/_jsonStringifyTail2.mjs.map +0 -1
  1196. package/lib/internal/_llmApplicationFinalize2.mjs +0 -11
  1197. package/lib/internal/_llmApplicationFinalize2.mjs.map +0 -1
  1198. package/lib/internal/_notationAny2.mjs +0 -42
  1199. package/lib/internal/_notationAny2.mjs.map +0 -1
  1200. package/lib/internal/_notationCamel2.mjs +0 -21
  1201. package/lib/internal/_notationCamel2.mjs.map +0 -1
  1202. package/lib/internal/_notationPascal2.mjs +0 -17
  1203. package/lib/internal/_notationPascal2.mjs.map +0 -1
  1204. package/lib/internal/_notationSnake2.mjs +0 -54
  1205. package/lib/internal/_notationSnake2.mjs.map +0 -1
  1206. package/lib/internal/_parseLlmArguments2.mjs +0 -11
  1207. package/lib/internal/_parseLlmArguments2.mjs.map +0 -1
  1208. package/lib/internal/_plainCloneAny2.mjs +0 -67
  1209. package/lib/internal/_plainCloneAny2.mjs.map +0 -1
  1210. package/lib/internal/_randomArray2.mjs +0 -31
  1211. package/lib/internal/_randomArray2.mjs.map +0 -1
  1212. package/lib/internal/_randomBigint2.mjs +0 -12
  1213. package/lib/internal/_randomBigint2.mjs.map +0 -1
  1214. package/lib/internal/_randomBoolean2.mjs +0 -9
  1215. package/lib/internal/_randomBoolean2.mjs.map +0 -1
  1216. package/lib/internal/_randomFormatByte2.mjs +0 -10
  1217. package/lib/internal/_randomFormatByte2.mjs.map +0 -1
  1218. package/lib/internal/_randomFormatDate2.mjs +0 -20
  1219. package/lib/internal/_randomFormatDate2.mjs.map +0 -1
  1220. package/lib/internal/_randomFormatDatetime2.mjs +0 -18
  1221. package/lib/internal/_randomFormatDatetime2.mjs.map +0 -1
  1222. package/lib/internal/_randomFormatDuration2.mjs +0 -35
  1223. package/lib/internal/_randomFormatDuration2.mjs.map +0 -1
  1224. package/lib/internal/_randomFormatEmail2.mjs +0 -17
  1225. package/lib/internal/_randomFormatEmail2.mjs.map +0 -1
  1226. package/lib/internal/_randomFormatHostname2.mjs +0 -13
  1227. package/lib/internal/_randomFormatHostname2.mjs.map +0 -1
  1228. package/lib/internal/_randomFormatIdnEmail2.mjs +0 -12
  1229. package/lib/internal/_randomFormatIdnEmail2.mjs.map +0 -1
  1230. package/lib/internal/_randomFormatIdnHostname2.mjs +0 -12
  1231. package/lib/internal/_randomFormatIdnHostname2.mjs.map +0 -1
  1232. package/lib/internal/_randomFormatIpv42.mjs +0 -17
  1233. package/lib/internal/_randomFormatIpv42.mjs.map +0 -1
  1234. package/lib/internal/_randomFormatIpv62.mjs +0 -17
  1235. package/lib/internal/_randomFormatIpv62.mjs.map +0 -1
  1236. package/lib/internal/_randomFormatIri2.mjs +0 -12
  1237. package/lib/internal/_randomFormatIri2.mjs.map +0 -1
  1238. package/lib/internal/_randomFormatIriReference2.mjs +0 -12
  1239. package/lib/internal/_randomFormatIriReference2.mjs.map +0 -1
  1240. package/lib/internal/_randomFormatJsonPointer2.mjs +0 -13
  1241. package/lib/internal/_randomFormatJsonPointer2.mjs.map +0 -1
  1242. package/lib/internal/_randomFormatPassword2.mjs +0 -16
  1243. package/lib/internal/_randomFormatPassword2.mjs.map +0 -1
  1244. package/lib/internal/_randomFormatRegex2.mjs +0 -10
  1245. package/lib/internal/_randomFormatRegex2.mjs.map +0 -1
  1246. package/lib/internal/_randomFormatRelativeJsonPointer2.mjs +0 -16
  1247. package/lib/internal/_randomFormatRelativeJsonPointer2.mjs.map +0 -1
  1248. package/lib/internal/_randomFormatTime2.mjs +0 -19
  1249. package/lib/internal/_randomFormatTime2.mjs.map +0 -1
  1250. package/lib/internal/_randomFormatUri2.mjs +0 -12
  1251. package/lib/internal/_randomFormatUri2.mjs.map +0 -1
  1252. package/lib/internal/_randomFormatUriReference2.mjs +0 -12
  1253. package/lib/internal/_randomFormatUriReference2.mjs.map +0 -1
  1254. package/lib/internal/_randomFormatUriTemplate2.mjs +0 -12
  1255. package/lib/internal/_randomFormatUriTemplate2.mjs.map +0 -1
  1256. package/lib/internal/_randomFormatUrl2.mjs +0 -17
  1257. package/lib/internal/_randomFormatUrl2.mjs.map +0 -1
  1258. package/lib/internal/_randomFormatUuid2.mjs +0 -13
  1259. package/lib/internal/_randomFormatUuid2.mjs.map +0 -1
  1260. package/lib/internal/_randomInteger2.mjs +0 -47
  1261. package/lib/internal/_randomInteger2.mjs.map +0 -1
  1262. package/lib/internal/_randomNumber2.mjs +0 -66
  1263. package/lib/internal/_randomNumber2.mjs.map +0 -1
  1264. package/lib/internal/_randomPattern2.mjs +0 -22
  1265. package/lib/internal/_randomPattern2.mjs.map +0 -1
  1266. package/lib/internal/_randomPick2.mjs +0 -17
  1267. package/lib/internal/_randomPick2.mjs.map +0 -1
  1268. package/lib/internal/_randomString2.mjs +0 -32
  1269. package/lib/internal/_randomString2.mjs.map +0 -1
  1270. package/lib/internal/_throwTypeGuardError2.mjs +0 -14
  1271. package/lib/internal/_throwTypeGuardError2.mjs.map +0 -1
  1272. package/lib/internal/_validateReport2.mjs +0 -29
  1273. package/lib/internal/_validateReport2.mjs.map +0 -1
  1274. package/lib/internal/private/__notationCapitalize2.mjs +0 -9
  1275. package/lib/internal/private/__notationCapitalize2.mjs.map +0 -1
  1276. package/lib/internal/private/__notationUnsnake2.mjs +0 -29
  1277. package/lib/internal/private/__notationUnsnake2.mjs.map +0 -1
  1278. package/lib/json2.mjs +0 -94
  1279. package/lib/json2.mjs.map +0 -1
  1280. package/lib/llm2.mjs +0 -54
  1281. package/lib/llm2.mjs.map +0 -1
  1282. package/lib/module2.mjs +0 -185
  1283. package/lib/module2.mjs.map +0 -1
  1284. package/lib/notations2.mjs +0 -169
  1285. package/lib/notations2.mjs.map +0 -1
  1286. package/lib/plain2.mjs +0 -119
  1287. package/lib/plain2.mjs.map +0 -1
  1288. package/lib/protobuf2.mjs +0 -94
  1289. package/lib/protobuf2.mjs.map +0 -1
  1290. package/lib/re-exports.mjs.map +0 -1
  1291. package/lib/re-exports2.mjs +0 -17
  1292. package/lib/re-exports2.mjs.map +0 -1
  1293. package/lib/reflect2.mjs +0 -29
  1294. package/lib/reflect2.mjs.map +0 -1
  1295. package/lib/transform2.mjs +0 -26
  1296. package/lib/transform2.mjs.map +0 -1
  1297. package/lib/transformers/NoTransformConfigurationError2.mjs +0 -21
  1298. package/lib/transformers/NoTransformConfigurationError2.mjs.map +0 -1
@@ -1,846 +1,902 @@
1
- package llm
2
-
3
- import (
4
- "fmt"
5
- "reflect"
6
- "sort"
7
- "strconv"
8
- "strings"
9
-
10
- shimast "github.com/microsoft/typescript-go/shim/ast"
11
- shimprinter "github.com/microsoft/typescript-go/shim/printer"
12
- nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
13
- nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
14
- nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
15
- nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
16
- nativejson "github.com/samchon/typia/packages/typia/native/core/programmers/json"
17
- schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
18
- )
19
-
20
- type llmSchemaProgrammerNamespace struct{}
21
-
22
- var LlmSchemaProgrammer = llmSchemaProgrammerNamespace{}
23
-
24
- type LlmSchemaProgrammer_IProps struct {
25
- Context nativecontext.ITypiaContext
26
- Modulo *shimast.Node
27
- Type any
28
- Name *string
29
- Init *shimast.Node
30
- Config map[string]any
31
- }
32
-
33
- type LlmSchemaProgrammer_IOutput struct {
34
- Schema map[string]any
35
- Defs map[string]any
36
- }
37
-
38
- type LlmSchemaProgrammer_IWriteProps struct {
39
- Context nativecontext.ITypiaContext
40
- Metadata *schemametadata.MetadataSchema
41
- Config map[string]any
42
- }
43
-
44
- var llmSchemaProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
45
-
46
- func (llmSchemaProgrammerNamespace) Write(props LlmSchemaProgrammer_IWriteProps) *shimast.Node {
47
- output := LlmSchemaProgrammer.WriteSchema(struct {
48
- Metadata *schemametadata.MetadataSchema
49
- Config map[string]any
50
- }{
51
- Metadata: props.Metadata,
52
- Config: props.Config,
53
- })
54
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, props.Context.Emit)
55
- schemaTypeNode := llmProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
56
- File: "typia",
57
- Name: "ILlmSchema",
58
- })
59
- schemaLiteral := f.NewAsExpression(
60
- f.NewSatisfiesExpression(
61
- nativefactories.LiteralFactory.Write(output.Schema, props.Context.Emit),
62
- schemaTypeNode,
63
- ),
64
- schemaTypeNode,
65
- )
66
- if len(output.Defs) == 0 {
67
- return schemaLiteral
68
- }
69
- recordType := llmSchemaProgrammer_record_type(schemaTypeNode, props.Context.Emit)
70
- return f.NewArrowFunction(
71
- nil,
72
- nil,
73
- f.NewNodeList([]*shimast.Node{
74
- nativefactories.IdentifierFactory.Parameter("$defs", recordType, nil, props.Context.Emit),
75
- }),
76
- schemaTypeNode,
77
- nil,
78
- f.NewToken(shimast.KindEqualsGreaterThanToken),
79
- f.NewBlock(f.NewNodeList([]*shimast.Node{
80
- f.NewExpressionStatement(
81
- f.NewCallExpression(
82
- f.NewIdentifier("Object.assign"),
83
- nil,
84
- nil,
85
- f.NewNodeList([]*shimast.Node{
86
- f.NewIdentifier("$defs"),
87
- f.NewAsExpression(
88
- nativefactories.LiteralFactory.Write(output.Defs, props.Context.Emit),
89
- llmSchemaProgrammer_record_type(schemaTypeNode, props.Context.Emit),
90
- ),
91
- }),
92
- shimast.NodeFlagsNone,
93
- ),
94
- ),
95
- f.NewReturnStatement(schemaLiteral),
96
- }), true),
97
- )
98
- }
99
-
100
- func llmSchemaProgrammer_record_type(schemaTypeNode *shimast.Node, emit ...*shimprinter.EmitContext) *shimast.Node {
101
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, emit...)
102
- return f.NewTypeReferenceNode(
103
- f.NewIdentifier("Record"),
104
- f.NewNodeList([]*shimast.Node{
105
- nativefactories.TypeFactory.Keyword("string", emit...),
106
- schemaTypeNode,
107
- }),
108
- )
109
- }
110
-
111
- func (llmSchemaProgrammerNamespace) WriteSchema(props struct {
112
- Metadata *schemametadata.MetadataSchema
113
- Config map[string]any
114
- }) LlmSchemaProgrammer_IOutput {
115
- collection := nativejson.JsonSchemasProgrammer.WriteSchemas(struct {
116
- Version string
117
- Metadatas []*schemametadata.MetadataSchema
118
- }{
119
- Version: "3.1",
120
- Metadatas: []*schemametadata.MetadataSchema{props.Metadata},
121
- })
122
- defs := map[string]any{}
123
- schema := map[string]any{}
124
- if len(collection.Schemas) != 0 {
125
- schema = llmSchemaProgrammer_convert_schema_config(collection.Schemas[0], collection.Components, defs, props.Config)
126
- }
127
- return LlmSchemaProgrammer_IOutput{
128
- Defs: defs,
129
- Schema: schema,
130
- }
131
- }
132
-
133
- func (llmSchemaProgrammerNamespace) Validate(props struct {
134
- Config map[string]any
135
- Metadata *schemametadata.MetadataSchema
136
- Explore nativefactories.MetadataFactory_IExplore
137
- }) []string {
138
- output := []string{}
139
- strict, _ := props.Config["strict"].(bool)
140
- if strict {
141
- for _, object := range props.Metadata.Objects {
142
- for _, property := range object.Type.Properties {
143
- if property.Key.IsSoleLiteral() == false && property.Value.Size() != 0 {
144
- output = append(output, "Strict mode does not allow dynamic property in object.")
145
- break
146
- }
147
- }
148
- }
149
- for _, object := range props.Metadata.Objects {
150
- for _, property := range object.Type.Properties {
151
- if property.Value.IsRequired() == false {
152
- output = append(output, "Strict mode does not support optional property in object.")
153
- break
154
- }
155
- }
156
- }
157
- // OpenAI strict structured outputs cannot express the `not` keyword the
158
- // exclude tag compiles to (supported subset: types, enum, anyOf, $defs).
159
- excluded := false
160
- scan := func(matrix [][]schemametadata.IMetadataTypeTag) {
161
- for _, row := range matrix {
162
- for _, tag := range row {
163
- if tag.Kind == "exclude" {
164
- excluded = true
165
- }
166
- }
167
- }
168
- }
169
- for _, atomic := range props.Metadata.Atomics {
170
- scan(atomic.Tags)
171
- }
172
- for _, template := range props.Metadata.Templates {
173
- scan(template.Tags)
174
- }
175
- if excluded {
176
- output = append(output, "Strict mode does not support exclude type tag.")
177
- }
178
- }
179
- if schemametadata.MetadataSchema_hasBigint(props.Metadata) {
180
- output = append(output, "LLM schema does not support bigint type.")
181
- }
182
- if len(props.Metadata.Tuples) != 0 {
183
- output = append(output, "LLM schema does not support tuple type.")
184
- }
185
- for _, array := range props.Metadata.Arrays {
186
- if array.Type.Value.IsRequired() == false {
187
- output = append(output, "LLM schema does not support undefined type in array.")
188
- break
189
- }
190
- }
191
- if len(props.Metadata.Maps) != 0 {
192
- output = append(output, "LLM schema does not support Map type.")
193
- }
194
- if len(props.Metadata.Sets) != 0 {
195
- output = append(output, "LLM schema does not support Set type.")
196
- }
197
- for _, native := range props.Metadata.Natives {
198
- if native.Name == "BigInt" {
199
- continue
200
- }
201
- if nativehelpers.AtomicPredicator.Native(native.Name) == false &&
202
- native.Name != "Date" &&
203
- native.Name != "Blob" &&
204
- native.Name != "File" {
205
- output = append(output, "LLM schema does not support "+native.Name+" type.")
206
- }
207
- }
208
- return output
209
- }
210
-
211
- func llmSchemaProgrammer_size(metadata *schemametadata.MetadataSchema) int {
212
- total := 0
213
- if metadata.Escaped != nil {
214
- total += llmSchemaProgrammer_size(metadata.Escaped.Returns)
215
- }
216
- total += len(metadata.Aliases) + len(metadata.Objects) + len(metadata.Arrays) + len(metadata.Tuples)
217
- if len(metadata.Maps) != 0 {
218
- total++
219
- }
220
- if len(metadata.Sets) != 0 {
221
- total++
222
- }
223
- for _, atomic := range metadata.Atomics {
224
- if atomic.Type == "boolean" {
225
- total += len(nativeiterate.Json_schema_boolean_export(atomic))
226
- } else if atomic.Type == "bigint" {
227
- total += len(nativeiterate.Json_schema_bigint_export(atomic))
228
- } else if atomic.Type == "number" {
229
- total += len(nativeiterate.Json_schema_number_export(atomic))
230
- } else {
231
- total += len(nativeiterate.Json_schema_string_export(atomic))
232
- }
233
- }
234
- for _, constant := range metadata.Constants {
235
- found := false
236
- for _, atomic := range metadata.Atomics {
237
- if atomic.Type == constant.Type {
238
- found = true
239
- break
240
- }
241
- }
242
- if found == false {
243
- total++
244
- }
245
- }
246
- total += len(metadata.Templates)
247
- components := &nativeiterate.OpenApi_IComponents{Schemas: map[string]nativeiterate.JsonSchema{}}
248
- for _, native := range metadata.Natives {
249
- found := false
250
- for _, atomic := range metadata.Atomics {
251
- if atomic.Type == native.Name {
252
- found = true
253
- break
254
- }
255
- }
256
- for _, constant := range metadata.Constants {
257
- if constant.Type == native.Name {
258
- found = true
259
- break
260
- }
261
- }
262
- if found == false {
263
- total += len(nativeiterate.Json_schema_native_export(nativeiterate.Json_schema_native_export_props{
264
- Components: components,
265
- Native: native,
266
- }))
267
- }
268
- }
269
- return total
270
- }
271
-
272
- func llmSchemaProgrammer_convert_schema(schema nativeiterate.JsonSchema, components *nativeiterate.OpenApi_IComponents, defs map[string]any) map[string]any {
273
- return llmSchemaProgrammer_convert_schema_config(schema, components, defs, nil)
274
- }
275
-
276
- func llmSchemaProgrammer_convert_schema_config(schema nativeiterate.JsonSchema, components *nativeiterate.OpenApi_IComponents, defs map[string]any, config map[string]any) map[string]any {
277
- strict := llmSchemaProgrammer_strict(config)
278
- attribute := llmSchemaProgrammer_attribute(schema)
279
- union := []map[string]any{}
280
-
281
- insertConstant := func(value any) {
282
- typ := llmSchemaProgrammer_constant_type(value)
283
- for _, elem := range union {
284
- if elem["type"] == typ {
285
- elem["enum"] = append(llmSchemaProgrammer_array(elem["enum"]), value)
286
- return
287
- }
288
- }
289
- union = append(union, map[string]any{
290
- "type": typ,
291
- "enum": []any{value},
292
- })
293
- }
294
- var visitConstant func(nativeiterate.JsonSchema)
295
- visitConstant = func(input nativeiterate.JsonSchema) {
296
- if value, ok := input["const"]; ok {
297
- insertConstant(value)
298
- return
299
- }
300
- for _, elem := range llmSchemaProgrammer_schema_array(input["oneOf"]) {
301
- visitConstant(elem)
302
- }
303
- }
304
-
305
- var visit func(nativeiterate.JsonSchema)
306
- visit = func(input nativeiterate.JsonSchema) {
307
- if oneOf := llmSchemaProgrammer_schema_array(input["oneOf"]); len(oneOf) != 0 {
308
- for _, elem := range oneOf {
309
- visit(elem)
310
- }
311
- return
312
- }
313
- if ref, ok := input["$ref"].(string); ok {
314
- key := llmSchemaProgrammer_ref_key(ref)
315
- if _, exists := defs[key]; exists == false {
316
- defs[key] = map[string]any{}
317
- if target, found := llmSchemaProgrammer_component(components, key); found {
318
- defs[key] = llmSchemaProgrammer_convert_schema_config(target, components, defs, config)
319
- }
320
- }
321
- union = append(union, map[string]any{"$ref": "#/$defs/" + key})
322
- return
323
- }
324
- if input["type"] == "object" {
325
- properties := map[string]any{}
326
- if raw, ok := llmSchemaProgrammer_schema_map(input["properties"]); ok {
327
- keys := make([]string, 0, len(raw))
328
- for key := range raw {
329
- keys = append(keys, key)
330
- }
331
- sort.Strings(keys)
332
- for _, key := range keys {
333
- if value, ok := llmSchemaProgrammer_schema_from_any(raw[key]); ok {
334
- properties[key] = llmSchemaProgrammer_convert_schema_config(value, components, defs, config)
335
- }
336
- }
337
- }
338
- output := llmSchemaProgrammer_clone(input)
339
- output["properties"] = properties
340
- if additional, ok := llmSchemaProgrammer_schema_from_any(input["additionalProperties"]); ok {
341
- output["additionalProperties"] = llmSchemaProgrammer_convert_schema_config(additional, components, defs, config)
342
- } else if strict {
343
- output["additionalProperties"] = false
344
- } else if value, ok := input["additionalProperties"]; ok {
345
- output["additionalProperties"] = value
346
- }
347
- if _, ok := input["required"]; ok {
348
- output["required"] = input["required"]
349
- } else {
350
- output["required"] = []any{}
351
- }
352
- if strict {
353
- if description := llmSchemaProgrammer_json_descriptor_take(input); description != nil {
354
- output["description"] = *description
355
- } else {
356
- delete(output, "description")
357
- }
358
- }
359
- union = append(union, output)
360
- return
361
- }
362
- if input["type"] == "array" {
363
- output := llmSchemaProgrammer_clone(input)
364
- if items, ok := llmSchemaProgrammer_schema_from_any(input["items"]); ok {
365
- output["items"] = llmSchemaProgrammer_convert_schema_config(items, components, defs, config)
366
- }
367
- if strict {
368
- output = llmSchemaProgrammer_shift_array(output)
369
- }
370
- union = append(union, output)
371
- return
372
- }
373
- if input["type"] == "string" {
374
- output := llmSchemaProgrammer_clone(input)
375
- if strict {
376
- output = llmSchemaProgrammer_shift_string(output)
377
- }
378
- union = append(union, output)
379
- return
380
- }
381
- if input["type"] == "number" || input["type"] == "integer" {
382
- output := llmSchemaProgrammer_clone(input)
383
- if strict {
384
- output = llmSchemaProgrammer_shift_numeric(output)
385
- }
386
- union = append(union, output)
387
- return
388
- }
389
- if _, ok := input["const"]; ok {
390
- return
391
- }
392
- union = append(union, llmSchemaProgrammer_clone(input))
393
- }
394
-
395
- visitConstant(schema)
396
- visit(schema)
397
-
398
- if len(union) == 0 {
399
- output := llmSchemaProgrammer_clone(attribute)
400
- output["type"] = nil
401
- return output
402
- }
403
- if len(union) == 1 {
404
- output := llmSchemaProgrammer_merge(attribute, union[0])
405
- if strict && llmSchemaProgrammer_is_reference(union[0]) {
406
- delete(output, "description")
407
- } else if description, ok := union[0]["description"]; ok {
408
- output["description"] = description
409
- } else if description, ok := attribute["description"]; ok {
410
- output["description"] = description
411
- }
412
- return output
413
- }
414
- anyOf := make([]any, 0, len(union))
415
- for _, elem := range union {
416
- output := llmSchemaProgrammer_clone(elem)
417
- if strict && llmSchemaProgrammer_is_reference(elem) {
418
- delete(output, "description")
419
- }
420
- anyOf = append(anyOf, output)
421
- }
422
- output := llmSchemaProgrammer_clone(attribute)
423
- output["anyOf"] = anyOf
424
- if x := llmSchemaProgrammer_discriminator(schema, union); x != nil {
425
- output["x-discriminator"] = x
426
- }
427
- return output
428
- }
429
-
430
- func llmSchemaProgrammer_strict(config map[string]any) bool {
431
- strict, _ := config["strict"].(bool)
432
- return strict
433
- }
434
-
435
- func llmSchemaProgrammer_attribute(schema nativeiterate.JsonSchema) map[string]any {
436
- output := map[string]any{}
437
- for _, key := range []string{
438
- "title",
439
- "description",
440
- "deprecated",
441
- "readOnly",
442
- "writeOnly",
443
- "example",
444
- "examples",
445
- } {
446
- if value, ok := schema[key]; ok && llmSchemaProgrammer_is_nil_like(value) == false {
447
- output[key] = value
448
- }
449
- }
450
- for key, value := range schema {
451
- if strings.HasPrefix(key, "x-") && llmSchemaProgrammer_is_nil_like(value) == false {
452
- output[key] = value
453
- }
454
- }
455
- return output
456
- }
457
-
458
- func llmSchemaProgrammer_clone(input map[string]any) map[string]any {
459
- output := map[string]any{}
460
- for key, value := range input {
461
- if llmSchemaProgrammer_is_nil_like(value) {
462
- continue
463
- }
464
- output[key] = value
465
- }
466
- return output
467
- }
468
-
469
- func llmSchemaProgrammer_is_nil_like(value any) bool {
470
- if value == nil {
471
- return true
472
- }
473
- reflected := reflect.ValueOf(value)
474
- switch reflected.Kind() {
475
- case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Pointer, reflect.Slice:
476
- return reflected.IsNil()
477
- default:
478
- return false
479
- }
480
- }
481
-
482
- func llmSchemaProgrammer_merge(left map[string]any, right map[string]any) map[string]any {
483
- output := llmSchemaProgrammer_clone(left)
484
- for key, value := range right {
485
- output[key] = value
486
- }
487
- return output
488
- }
489
-
490
- func llmSchemaProgrammer_array(value any) []any {
491
- switch v := value.(type) {
492
- case []any:
493
- return append([]any{}, v...)
494
- case []string:
495
- output := make([]any, 0, len(v))
496
- for _, elem := range v {
497
- output = append(output, elem)
498
- }
499
- return output
500
- case []nativeiterate.JsonSchema:
501
- output := make([]any, 0, len(v))
502
- for _, elem := range v {
503
- output = append(output, elem)
504
- }
505
- return output
506
- default:
507
- return []any{}
508
- }
509
- }
510
-
511
- func llmSchemaProgrammer_schema_array(value any) []nativeiterate.JsonSchema {
512
- switch v := value.(type) {
513
- case []nativeiterate.JsonSchema:
514
- return append([]nativeiterate.JsonSchema{}, v...)
515
- case []map[string]any:
516
- output := make([]nativeiterate.JsonSchema, 0, len(v))
517
- for _, elem := range v {
518
- output = append(output, nativeiterate.JsonSchema(elem))
519
- }
520
- return output
521
- case []any:
522
- output := make([]nativeiterate.JsonSchema, 0, len(v))
523
- for _, elem := range v {
524
- if schema, ok := llmSchemaProgrammer_schema_from_any(elem); ok {
525
- output = append(output, schema)
526
- }
527
- }
528
- return output
529
- default:
530
- return nil
531
- }
532
- }
533
-
534
- func llmSchemaProgrammer_schema_map(value any) (map[string]any, bool) {
535
- switch v := value.(type) {
536
- case nativeiterate.JsonSchema:
537
- output := map[string]any{}
538
- for key, value := range v {
539
- output[key] = value
540
- }
541
- return output, true
542
- case map[string]any:
543
- return v, true
544
- default:
545
- return nil, false
546
- }
547
- }
548
-
549
- func llmSchemaProgrammer_schema_from_any(value any) (nativeiterate.JsonSchema, bool) {
550
- switch v := value.(type) {
551
- case nativeiterate.JsonSchema:
552
- return v, true
553
- case map[string]any:
554
- return nativeiterate.JsonSchema(v), true
555
- default:
556
- return nil, false
557
- }
558
- }
559
-
560
- func llmSchemaProgrammer_constant_type(value any) string {
561
- reflected := reflect.ValueOf(value)
562
- if reflected.IsValid() == false {
563
- return fmt.Sprintf("%T", value)
564
- }
565
- switch reflected.Kind() {
566
- case reflect.Bool:
567
- return "boolean"
568
- case reflect.String:
569
- return "string"
570
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
571
- reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64,
572
- reflect.Float32, reflect.Float64:
573
- return "number"
574
- default:
575
- return fmt.Sprintf("%T", value)
576
- }
577
- }
578
-
579
- func llmSchemaProgrammer_ref_key(ref string) string {
580
- if strings.Contains(ref, "#/components/schemas/") {
581
- return strings.Split(ref, "#/components/schemas/")[1]
582
- }
583
- index := strings.LastIndex(ref, "/")
584
- if index == -1 {
585
- return ref
586
- }
587
- return ref[index+1:]
588
- }
589
-
590
- func llmSchemaProgrammer_component(components *nativeiterate.OpenApi_IComponents, key string) (nativeiterate.JsonSchema, bool) {
591
- if components == nil || components.Schemas == nil {
592
- return nil, false
593
- }
594
- schema, ok := components.Schemas[key]
595
- return schema, ok
596
- }
597
-
598
- func llmSchemaProgrammer_is_reference(schema map[string]any) bool {
599
- _, ok := schema["$ref"].(string)
600
- return ok
601
- }
602
-
603
- func llmSchemaProgrammer_is_null(schema map[string]any) bool {
604
- return schema["type"] == "null"
605
- }
606
-
607
- func llmSchemaProgrammer_discriminator(schema nativeiterate.JsonSchema, union []map[string]any) map[string]any {
608
- discriminator, ok := llmSchemaProgrammer_schema_map(schema["discriminator"])
609
- if ok == false || len(llmSchemaProgrammer_schema_array(schema["oneOf"])) != len(union) {
610
- return nil
611
- }
612
- for _, elem := range union {
613
- if llmSchemaProgrammer_is_reference(elem) == false && llmSchemaProgrammer_is_null(elem) == false {
614
- return nil
615
- }
616
- }
617
- output := map[string]any{}
618
- if propertyName, ok := discriminator["propertyName"].(string); ok {
619
- output["propertyName"] = propertyName
620
- }
621
- if rawMapping, ok := llmSchemaProgrammer_schema_map(discriminator["mapping"]); ok {
622
- mapping := map[string]any{}
623
- for key, value := range rawMapping {
624
- mapping[key] = "#/$defs/" + llmSchemaProgrammer_ref_key(fmt.Sprint(value))
625
- }
626
- output["mapping"] = mapping
627
- }
628
- if len(output) == 0 {
629
- return nil
630
- }
631
- return output
632
- }
633
-
634
- func llmSchemaProgrammer_shift_array(schema map[string]any) map[string]any {
635
- output := llmSchemaProgrammer_clone(schema)
636
- tags := []string{}
637
- if value, ok := output["minItems"]; ok {
638
- tags = append(tags, "@minItems "+fmt.Sprint(value))
639
- delete(output, "minItems")
640
- }
641
- if value, ok := output["maxItems"]; ok {
642
- tags = append(tags, "@maxItems "+fmt.Sprint(value))
643
- delete(output, "maxItems")
644
- }
645
- if value, ok := output["uniqueItems"].(bool); ok {
646
- if value {
647
- tags = append(tags, "@uniqueItems")
648
- }
649
- delete(output, "uniqueItems")
650
- }
651
- llmSchemaProgrammer_write_tag_with_description(output, tags)
652
- return output
653
- }
654
-
655
- func llmSchemaProgrammer_shift_numeric(schema map[string]any) map[string]any {
656
- output := llmSchemaProgrammer_clone(schema)
657
- llmSchemaProgrammer_emend_exclusive(output)
658
- tags := []string{}
659
- for _, key := range []string{"minimum", "maximum", "exclusiveMinimum", "exclusiveMaximum", "multipleOf"} {
660
- if value, ok := output[key]; ok {
661
- tags = append(tags, "@"+key+" "+fmt.Sprint(value))
662
- delete(output, key)
663
- }
664
- }
665
- llmSchemaProgrammer_write_tag_with_description(output, tags)
666
- delete(output, "default")
667
- return output
668
- }
669
-
670
- func llmSchemaProgrammer_shift_string(schema map[string]any) map[string]any {
671
- output := llmSchemaProgrammer_clone(schema)
672
- tags := []string{}
673
- for _, key := range []string{"minLength", "maxLength", "format", "pattern", "contentMediaType", "default"} {
674
- if value, ok := output[key]; ok {
675
- tags = append(tags, "@"+key+" "+fmt.Sprint(value))
676
- delete(output, key)
677
- }
678
- }
679
- llmSchemaProgrammer_write_tag_with_description(output, tags)
680
- return output
681
- }
682
-
683
- func llmSchemaProgrammer_write_tag_with_description(schema map[string]any, tags []string) {
684
- if len(tags) == 0 {
685
- return
686
- }
687
- lines := []string{}
688
- if description, ok := schema["description"].(string); ok && len(description) != 0 {
689
- lines = append(lines, description, "\n")
690
- }
691
- lines = append(lines, tags...)
692
- schema["description"] = strings.Join(lines, "\n")
693
- }
694
-
695
- func llmSchemaProgrammer_emend_exclusive(schema map[string]any) {
696
- if exclusiveMinimum, ok := llmSchemaProgrammer_number(schema["exclusiveMinimum"]); ok {
697
- if minimum, found := llmSchemaProgrammer_number(schema["minimum"]); found {
698
- if minimum > exclusiveMinimum {
699
- schema["minimum"] = minimum
700
- delete(schema, "exclusiveMinimum")
701
- } else {
702
- schema["exclusiveMinimum"] = exclusiveMinimum
703
- delete(schema, "minimum")
704
- }
705
- }
706
- }
707
- if exclusiveMaximum, ok := llmSchemaProgrammer_number(schema["exclusiveMaximum"]); ok {
708
- if maximum, found := llmSchemaProgrammer_number(schema["maximum"]); found {
709
- if maximum < exclusiveMaximum {
710
- schema["maximum"] = maximum
711
- delete(schema, "exclusiveMaximum")
712
- } else {
713
- schema["exclusiveMaximum"] = exclusiveMaximum
714
- delete(schema, "maximum")
715
- }
716
- }
717
- }
718
- }
719
-
720
- func llmSchemaProgrammer_number(value any) (float64, bool) {
721
- reflected := reflect.ValueOf(value)
722
- if reflected.IsValid() == false {
723
- return 0, false
724
- }
725
- switch reflected.Kind() {
726
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
727
- return float64(reflected.Int()), true
728
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
729
- return float64(reflected.Uint()), true
730
- case reflect.Float32, reflect.Float64:
731
- return reflected.Convert(reflect.TypeOf(float64(0))).Float(), true
732
- default:
733
- return 0, false
734
- }
735
- }
736
-
737
- func llmSchemaProgrammer_json_descriptor_take(schema nativeiterate.JsonSchema) *string {
738
- parts := []string{}
739
- if description, ok := schema["description"].(string); ok && len(description) != 0 {
740
- parts = append(parts, description)
741
- }
742
- properties, ok := llmSchemaProgrammer_schema_map(schema["properties"])
743
- if ok {
744
- keys := make([]string, 0, len(properties))
745
- for key := range properties {
746
- keys = append(keys, key)
747
- }
748
- sort.Strings(keys)
749
- for _, key := range keys {
750
- value, ok := llmSchemaProgrammer_schema_from_any(properties[key])
751
- if ok == false || llmSchemaProgrammer_is_reference(value) == false {
752
- continue
753
- }
754
- description, ok := value["description"].(string)
755
- if ok == false || len(description) == 0 {
756
- continue
757
- }
758
- name := key
759
- if llmSchemaProgrammer_is_variable_name(key) == false {
760
- name = strconv.Quote(key)
761
- }
762
- parts = append(parts, "### Description of {@link "+name+"} property:\n\n"+llmSchemaProgrammer_quote_description(description))
763
- }
764
- }
765
- if len(parts) == 0 {
766
- return nil
767
- }
768
- output := strings.Join(parts, "\n\n")
769
- return &output
770
- }
771
-
772
- func llmSchemaProgrammer_quote_description(description string) string {
773
- lines := strings.Split(description, "\n")
774
- for i, line := range lines {
775
- lines[i] = "> " + line
776
- }
777
- return strings.Join(lines, "\n")
778
- }
779
-
780
- func llmSchemaProgrammer_is_variable_name(str string) bool {
781
- if len(str) == 0 {
782
- return false
783
- }
784
- for i, r := range str {
785
- if i == 0 {
786
- if (r >= 'A' && r <= 'Z') || (r >= 'a' && r <= 'z') || r == '_' || r == '$' {
787
- continue
788
- }
789
- return false
790
- }
791
- if (r >= 'A' && r <= 'Z') || (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') || r == '_' || r == '$' {
792
- continue
793
- }
794
- return false
795
- }
796
- return true
797
- }
798
-
799
- func llmProgrammer_internal(context nativecontext.ITypiaContext, name string) *shimast.Node {
800
- if importer := context.Importer; importer != nil {
801
- return importer.Internal(name)
802
- }
803
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, context.Emit)
804
- return f.NewIdentifier(name)
805
- }
806
-
807
- func llmProgrammer_import_type(context nativecontext.ITypiaContext, props nativecontext.ImportProgrammer_TypeProps) *shimast.Node {
808
- if importer := context.Importer; importer != nil {
809
- return importer.Type(props)
810
- }
811
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, context.Emit)
812
- if str, ok := props.Name.(string); ok {
813
- return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
814
- }
815
- return props.Name.(*shimast.Node)
816
- }
817
-
818
- func llmProgrammer_type_reference(name string, emit ...*shimprinter.EmitContext) *shimast.Node {
819
- if name == "" {
820
- name = "unknown"
821
- }
822
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, emit...)
823
- return f.NewTypeReferenceNode(f.NewIdentifier(name), nil)
824
- }
825
-
826
- func llmProgrammer_method_text(modulo *shimast.Node) string {
827
- return nativehelpers.ModuloMethodText(modulo)
828
- }
829
-
830
- func llmProgrammer_concat_description(summary *string, description *string) *string {
831
- if summary == nil || len(*summary) == 0 || description == nil || len(*description) == 0 {
832
- if summary != nil && len(*summary) != 0 {
833
- return summary
834
- }
835
- return description
836
- }
837
- head := *summary
838
- if strings.HasSuffix(head, ".") {
839
- head = head[:len(head)-1]
840
- }
841
- if strings.HasPrefix(*description, head) {
842
- return description
843
- }
844
- out := head + ".\n\n" + *description
845
- return &out
846
- }
1
+ package llm
2
+
3
+ import (
4
+ "fmt"
5
+ "reflect"
6
+ "sort"
7
+ "strconv"
8
+ "strings"
9
+
10
+ shimast "github.com/microsoft/typescript-go/shim/ast"
11
+ shimprinter "github.com/microsoft/typescript-go/shim/printer"
12
+ nativecontext "github.com/samchon/typia/packages/typia/native/core/context"
13
+ nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
14
+ nativehelpers "github.com/samchon/typia/packages/typia/native/core/programmers/helpers"
15
+ nativeiterate "github.com/samchon/typia/packages/typia/native/core/programmers/iterate"
16
+ nativejson "github.com/samchon/typia/packages/typia/native/core/programmers/json"
17
+ schemametadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
18
+ )
19
+
20
+ type llmSchemaProgrammerNamespace struct{}
21
+
22
+ var LlmSchemaProgrammer = llmSchemaProgrammerNamespace{}
23
+
24
+ type LlmSchemaProgrammer_IProps struct {
25
+ Context nativecontext.ITypiaContext
26
+ Modulo *shimast.Node
27
+ Type any
28
+ Name *string
29
+ Init *shimast.Node
30
+ Config map[string]any
31
+ }
32
+
33
+ type LlmSchemaProgrammer_IOutput struct {
34
+ Schema map[string]any
35
+ Defs map[string]any
36
+ }
37
+
38
+ type LlmSchemaProgrammer_IWriteProps struct {
39
+ Context nativecontext.ITypiaContext
40
+ Metadata *schemametadata.MetadataSchema
41
+ Config map[string]any
42
+ }
43
+
44
+ var llmSchemaProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
45
+
46
+ func (llmSchemaProgrammerNamespace) Write(props LlmSchemaProgrammer_IWriteProps) *shimast.Node {
47
+ output := LlmSchemaProgrammer.WriteSchema(struct {
48
+ Metadata *schemametadata.MetadataSchema
49
+ Config map[string]any
50
+ }{
51
+ Metadata: props.Metadata,
52
+ Config: props.Config,
53
+ })
54
+ f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, props.Context.Emit)
55
+ schemaTypeNode := llmProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
56
+ File: "typia",
57
+ Name: "ILlmSchema",
58
+ })
59
+ schemaLiteral := f.NewAsExpression(
60
+ f.NewSatisfiesExpression(
61
+ nativefactories.LiteralFactory.Write(output.Schema, props.Context.Emit),
62
+ schemaTypeNode,
63
+ ),
64
+ schemaTypeNode,
65
+ )
66
+ if len(output.Defs) == 0 {
67
+ return schemaLiteral
68
+ }
69
+ recordType := llmSchemaProgrammer_record_type(schemaTypeNode, props.Context.Emit)
70
+ return f.NewArrowFunction(
71
+ nil,
72
+ nil,
73
+ f.NewNodeList([]*shimast.Node{
74
+ nativefactories.IdentifierFactory.Parameter("$defs", recordType, nil, props.Context.Emit),
75
+ }),
76
+ schemaTypeNode,
77
+ nil,
78
+ f.NewToken(shimast.KindEqualsGreaterThanToken),
79
+ f.NewBlock(f.NewNodeList([]*shimast.Node{
80
+ f.NewExpressionStatement(
81
+ f.NewCallExpression(
82
+ f.NewIdentifier("Object.assign"),
83
+ nil,
84
+ nil,
85
+ f.NewNodeList([]*shimast.Node{
86
+ f.NewIdentifier("$defs"),
87
+ f.NewAsExpression(
88
+ nativefactories.LiteralFactory.Write(output.Defs, props.Context.Emit),
89
+ llmSchemaProgrammer_record_type(schemaTypeNode, props.Context.Emit),
90
+ ),
91
+ }),
92
+ shimast.NodeFlagsNone,
93
+ ),
94
+ ),
95
+ f.NewReturnStatement(schemaLiteral),
96
+ }), true),
97
+ )
98
+ }
99
+
100
+ func llmSchemaProgrammer_record_type(schemaTypeNode *shimast.Node, emit ...*shimprinter.EmitContext) *shimast.Node {
101
+ f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, emit...)
102
+ return f.NewTypeReferenceNode(
103
+ f.NewIdentifier("Record"),
104
+ f.NewNodeList([]*shimast.Node{
105
+ nativefactories.TypeFactory.Keyword("string", emit...),
106
+ schemaTypeNode,
107
+ }),
108
+ )
109
+ }
110
+
111
+ func (llmSchemaProgrammerNamespace) WriteSchema(props struct {
112
+ Metadata *schemametadata.MetadataSchema
113
+ Config map[string]any
114
+ }) LlmSchemaProgrammer_IOutput {
115
+ collection := nativejson.JsonSchemasProgrammer.WriteSchemas(struct {
116
+ Version string
117
+ Metadatas []*schemametadata.MetadataSchema
118
+ }{
119
+ Version: "3.1",
120
+ Metadatas: []*schemametadata.MetadataSchema{props.Metadata},
121
+ })
122
+ defs := map[string]any{}
123
+ schema := map[string]any{}
124
+ if len(collection.Schemas) != 0 {
125
+ schema = llmSchemaProgrammer_convert_schema_config(collection.Schemas[0], collection.Components, defs, props.Config)
126
+ }
127
+ return LlmSchemaProgrammer_IOutput{
128
+ Defs: defs,
129
+ Schema: schema,
130
+ }
131
+ }
132
+
133
+ func (llmSchemaProgrammerNamespace) Validate(props struct {
134
+ Config map[string]any
135
+ Metadata *schemametadata.MetadataSchema
136
+ Explore nativefactories.MetadataFactory_IExplore
137
+ }) []string {
138
+ output := []string{}
139
+ strict, _ := props.Config["strict"].(bool)
140
+ if strict {
141
+ for _, object := range props.Metadata.Objects {
142
+ for _, property := range object.Type.Properties {
143
+ if property.Key.IsSoleLiteral() == false && property.Value.Size() != 0 {
144
+ output = append(output, "Strict mode does not allow dynamic property in object.")
145
+ break
146
+ }
147
+ }
148
+ }
149
+ for _, object := range props.Metadata.Objects {
150
+ for _, property := range object.Type.Properties {
151
+ if property.Value.IsRequired() == false {
152
+ output = append(output, "Strict mode does not support optional property in object.")
153
+ break
154
+ }
155
+ }
156
+ }
157
+ // OpenAI strict structured outputs cannot express the `not` keyword the
158
+ // exclude tag compiles to (supported subset: types, enum, anyOf, $defs).
159
+ excluded := false
160
+ scan := func(matrix [][]schemametadata.IMetadataTypeTag) {
161
+ for _, row := range matrix {
162
+ for _, tag := range row {
163
+ if tag.Kind == "exclude" {
164
+ excluded = true
165
+ }
166
+ }
167
+ }
168
+ }
169
+ for _, atomic := range props.Metadata.Atomics {
170
+ scan(atomic.Tags)
171
+ }
172
+ for _, template := range props.Metadata.Templates {
173
+ scan(template.Tags)
174
+ }
175
+ if excluded {
176
+ output = append(output, "Strict mode does not support exclude type tag.")
177
+ }
178
+ }
179
+ if schemametadata.MetadataSchema_hasBigint(props.Metadata) {
180
+ output = append(output, "LLM schema does not support bigint type.")
181
+ }
182
+ if len(props.Metadata.Tuples) != 0 {
183
+ output = append(output, "LLM schema does not support tuple type.")
184
+ }
185
+ for _, array := range props.Metadata.Arrays {
186
+ if array.Type.Value.IsRequired() == false {
187
+ output = append(output, "LLM schema does not support undefined type in array.")
188
+ break
189
+ }
190
+ }
191
+ if len(props.Metadata.Maps) != 0 {
192
+ output = append(output, "LLM schema does not support Map type.")
193
+ }
194
+ if len(props.Metadata.Sets) != 0 {
195
+ output = append(output, "LLM schema does not support Set type.")
196
+ }
197
+ for _, native := range props.Metadata.Natives {
198
+ if native.Name == "BigInt" {
199
+ continue
200
+ }
201
+ if nativehelpers.AtomicPredicator.Native(native.Name) == false &&
202
+ native.Name != "Date" &&
203
+ native.Name != "Blob" &&
204
+ native.Name != "File" {
205
+ output = append(output, "LLM schema does not support "+native.Name+" type.")
206
+ }
207
+ }
208
+ return output
209
+ }
210
+
211
+ func llmSchemaProgrammer_size(metadata *schemametadata.MetadataSchema) int {
212
+ total := 0
213
+ if metadata.Escaped != nil {
214
+ total += llmSchemaProgrammer_size(metadata.Escaped.Returns)
215
+ }
216
+ total += len(metadata.Aliases) + len(metadata.Objects) + len(metadata.Arrays) + len(metadata.Tuples)
217
+ if len(metadata.Maps) != 0 {
218
+ total++
219
+ }
220
+ if len(metadata.Sets) != 0 {
221
+ total++
222
+ }
223
+ for _, atomic := range metadata.Atomics {
224
+ if atomic.Type == "boolean" {
225
+ total += len(nativeiterate.Json_schema_boolean_export(atomic))
226
+ } else if atomic.Type == "bigint" {
227
+ total += len(nativeiterate.Json_schema_bigint_export(atomic))
228
+ } else if atomic.Type == "number" {
229
+ total += len(nativeiterate.Json_schema_number_export(atomic))
230
+ } else {
231
+ total += len(nativeiterate.Json_schema_string_export(atomic))
232
+ }
233
+ }
234
+ for _, constant := range metadata.Constants {
235
+ found := false
236
+ for _, atomic := range metadata.Atomics {
237
+ if atomic.Type == constant.Type {
238
+ found = true
239
+ break
240
+ }
241
+ }
242
+ if found == false {
243
+ total++
244
+ }
245
+ }
246
+ total += len(metadata.Templates)
247
+ components := &nativeiterate.OpenApi_IComponents{Schemas: map[string]nativeiterate.JsonSchema{}}
248
+ for _, native := range metadata.Natives {
249
+ found := false
250
+ for _, atomic := range metadata.Atomics {
251
+ if atomic.Type == native.Name {
252
+ found = true
253
+ break
254
+ }
255
+ }
256
+ for _, constant := range metadata.Constants {
257
+ if constant.Type == native.Name {
258
+ found = true
259
+ break
260
+ }
261
+ }
262
+ if found == false {
263
+ total += len(nativeiterate.Json_schema_native_export(nativeiterate.Json_schema_native_export_props{
264
+ Components: components,
265
+ Native: native,
266
+ }))
267
+ }
268
+ }
269
+ return total
270
+ }
271
+
272
+ func llmSchemaProgrammer_convert_schema(schema nativeiterate.JsonSchema, components *nativeiterate.OpenApi_IComponents, defs map[string]any) map[string]any {
273
+ return llmSchemaProgrammer_convert_schema_config(schema, components, defs, nil)
274
+ }
275
+
276
+ func llmSchemaProgrammer_convert_schema_config(schema nativeiterate.JsonSchema, components *nativeiterate.OpenApi_IComponents, defs map[string]any, config map[string]any) map[string]any {
277
+ strict := llmSchemaProgrammer_strict(config)
278
+ attribute := llmSchemaProgrammer_attribute(schema)
279
+ union := []map[string]any{}
280
+
281
+ insertConstant := func(value any) {
282
+ typ := llmSchemaProgrammer_constant_type(value)
283
+ for _, elem := range union {
284
+ if elem["type"] == typ {
285
+ elem["enum"] = append(llmSchemaProgrammer_array(elem["enum"]), value)
286
+ return
287
+ }
288
+ }
289
+ union = append(union, map[string]any{
290
+ "type": typ,
291
+ "enum": []any{value},
292
+ })
293
+ }
294
+ var visitConstant func(nativeiterate.JsonSchema)
295
+ visitConstant = func(input nativeiterate.JsonSchema) {
296
+ if value, ok := input["const"]; ok {
297
+ insertConstant(value)
298
+ return
299
+ }
300
+ for _, elem := range llmSchemaProgrammer_schema_array(input["oneOf"]) {
301
+ visitConstant(elem)
302
+ }
303
+ }
304
+
305
+ var visit func(nativeiterate.JsonSchema)
306
+ visit = func(input nativeiterate.JsonSchema) {
307
+ if oneOf := llmSchemaProgrammer_schema_array(input["oneOf"]); len(oneOf) != 0 {
308
+ for _, elem := range oneOf {
309
+ visit(elem)
310
+ }
311
+ return
312
+ }
313
+ if ref, ok := input["$ref"].(string); ok {
314
+ key := llmSchemaProgrammer_ref_key(ref)
315
+ if _, exists := defs[key]; exists == false {
316
+ defs[key] = map[string]any{}
317
+ if target, found := llmSchemaProgrammer_component(components, key); found {
318
+ defs[key] = llmSchemaProgrammer_convert_schema_config(target, components, defs, config)
319
+ }
320
+ }
321
+ union = append(union, map[string]any{"$ref": "#/$defs/" + key})
322
+ return
323
+ }
324
+ if input["type"] == "object" {
325
+ properties := map[string]any{}
326
+ propertyKeys := []string{}
327
+ if raw, keys, ok := llmSchemaProgrammer_schema_map_ordered(input["properties"]); ok {
328
+ for _, key := range keys {
329
+ if value, ok := llmSchemaProgrammer_schema_from_any(raw[key]); ok {
330
+ properties[key] = llmSchemaProgrammer_convert_schema_config(value, components, defs, config)
331
+ propertyKeys = append(propertyKeys, key)
332
+ }
333
+ }
334
+ }
335
+ output := llmSchemaProgrammer_clone(input)
336
+ output["properties"] = nativefactories.LiteralFactory_OrderedObject{
337
+ Keys: propertyKeys,
338
+ Values: properties,
339
+ }
340
+ if additional, ok := llmSchemaProgrammer_schema_from_any(input["additionalProperties"]); ok {
341
+ output["additionalProperties"] = llmSchemaProgrammer_convert_schema_config(additional, components, defs, config)
342
+ } else if strict {
343
+ output["additionalProperties"] = false
344
+ } else if value, ok := input["additionalProperties"]; ok {
345
+ output["additionalProperties"] = value
346
+ }
347
+ if _, ok := input["required"]; ok {
348
+ output["required"] = input["required"]
349
+ } else {
350
+ output["required"] = []any{}
351
+ }
352
+ if strict {
353
+ if description := llmSchemaProgrammer_json_descriptor_take(input); description != nil {
354
+ output["description"] = *description
355
+ } else {
356
+ delete(output, "description")
357
+ }
358
+ }
359
+ union = append(union, output)
360
+ return
361
+ }
362
+ if input["type"] == "array" {
363
+ output := llmSchemaProgrammer_clone(input)
364
+ if items, ok := llmSchemaProgrammer_schema_from_any(input["items"]); ok {
365
+ output["items"] = llmSchemaProgrammer_convert_schema_config(items, components, defs, config)
366
+ }
367
+ if strict {
368
+ output = llmSchemaProgrammer_shift_array(output)
369
+ }
370
+ union = append(union, output)
371
+ return
372
+ }
373
+ if input["type"] == "string" {
374
+ output := llmSchemaProgrammer_clone(input)
375
+ if strict {
376
+ output = llmSchemaProgrammer_shift_string(output)
377
+ }
378
+ union = append(union, output)
379
+ return
380
+ }
381
+ if input["type"] == "number" || input["type"] == "integer" {
382
+ output := llmSchemaProgrammer_clone(input)
383
+ if strict {
384
+ output = llmSchemaProgrammer_shift_numeric(output)
385
+ }
386
+ union = append(union, output)
387
+ return
388
+ }
389
+ if _, ok := input["const"]; ok {
390
+ return
391
+ }
392
+ union = append(union, llmSchemaProgrammer_clone(input))
393
+ }
394
+
395
+ visitConstant(schema)
396
+ visit(schema)
397
+
398
+ if len(union) == 0 {
399
+ output := llmSchemaProgrammer_clone(attribute)
400
+ output["type"] = nil
401
+ return output
402
+ }
403
+ if len(union) == 1 {
404
+ output := llmSchemaProgrammer_merge(attribute, union[0])
405
+ if strict && llmSchemaProgrammer_is_reference(union[0]) {
406
+ delete(output, "description")
407
+ } else if description, ok := union[0]["description"]; ok {
408
+ output["description"] = description
409
+ } else if description, ok := attribute["description"]; ok {
410
+ output["description"] = description
411
+ }
412
+ return output
413
+ }
414
+ anyOf := make([]any, 0, len(union))
415
+ for _, elem := range union {
416
+ output := llmSchemaProgrammer_clone(elem)
417
+ if strict && llmSchemaProgrammer_is_reference(elem) {
418
+ delete(output, "description")
419
+ }
420
+ anyOf = append(anyOf, output)
421
+ }
422
+ output := llmSchemaProgrammer_clone(attribute)
423
+ output["anyOf"] = anyOf
424
+ if x := llmSchemaProgrammer_discriminator(schema, union); x != nil {
425
+ output["x-discriminator"] = x
426
+ }
427
+ return output
428
+ }
429
+
430
+ func llmSchemaProgrammer_strict(config map[string]any) bool {
431
+ strict, _ := config["strict"].(bool)
432
+ return strict
433
+ }
434
+
435
+ func llmSchemaProgrammer_attribute(schema nativeiterate.JsonSchema) map[string]any {
436
+ output := map[string]any{}
437
+ for _, key := range []string{
438
+ "title",
439
+ "description",
440
+ "deprecated",
441
+ "readOnly",
442
+ "writeOnly",
443
+ "example",
444
+ "examples",
445
+ } {
446
+ if value, ok := schema[key]; ok && llmSchemaProgrammer_is_nil_like(value) == false {
447
+ output[key] = value
448
+ }
449
+ }
450
+ for key, value := range schema {
451
+ if strings.HasPrefix(key, "x-") && llmSchemaProgrammer_is_nil_like(value) == false {
452
+ output[key] = value
453
+ }
454
+ }
455
+ return output
456
+ }
457
+
458
+ func llmSchemaProgrammer_clone(input map[string]any) map[string]any {
459
+ output := map[string]any{}
460
+ for key, value := range input {
461
+ if llmSchemaProgrammer_is_nil_like(value) {
462
+ continue
463
+ }
464
+ output[key] = value
465
+ }
466
+ return output
467
+ }
468
+
469
+ func llmSchemaProgrammer_is_nil_like(value any) bool {
470
+ if value == nil {
471
+ return true
472
+ }
473
+ reflected := reflect.ValueOf(value)
474
+ switch reflected.Kind() {
475
+ case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Pointer, reflect.Slice:
476
+ return reflected.IsNil()
477
+ default:
478
+ return false
479
+ }
480
+ }
481
+
482
+ func llmSchemaProgrammer_merge(left map[string]any, right map[string]any) map[string]any {
483
+ output := llmSchemaProgrammer_clone(left)
484
+ for key, value := range right {
485
+ output[key] = value
486
+ }
487
+ return output
488
+ }
489
+
490
+ func llmSchemaProgrammer_array(value any) []any {
491
+ switch v := value.(type) {
492
+ case []any:
493
+ return append([]any{}, v...)
494
+ case []string:
495
+ output := make([]any, 0, len(v))
496
+ for _, elem := range v {
497
+ output = append(output, elem)
498
+ }
499
+ return output
500
+ case []nativeiterate.JsonSchema:
501
+ output := make([]any, 0, len(v))
502
+ for _, elem := range v {
503
+ output = append(output, elem)
504
+ }
505
+ return output
506
+ default:
507
+ return []any{}
508
+ }
509
+ }
510
+
511
+ func llmSchemaProgrammer_schema_array(value any) []nativeiterate.JsonSchema {
512
+ switch v := value.(type) {
513
+ case []nativeiterate.JsonSchema:
514
+ return append([]nativeiterate.JsonSchema{}, v...)
515
+ case []map[string]any:
516
+ output := make([]nativeiterate.JsonSchema, 0, len(v))
517
+ for _, elem := range v {
518
+ output = append(output, nativeiterate.JsonSchema(elem))
519
+ }
520
+ return output
521
+ case []any:
522
+ output := make([]nativeiterate.JsonSchema, 0, len(v))
523
+ for _, elem := range v {
524
+ if schema, ok := llmSchemaProgrammer_schema_from_any(elem); ok {
525
+ output = append(output, schema)
526
+ }
527
+ }
528
+ return output
529
+ default:
530
+ return nil
531
+ }
532
+ }
533
+
534
+ func llmSchemaProgrammer_schema_map(value any) (map[string]any, bool) {
535
+ switch v := value.(type) {
536
+ case nativefactories.LiteralFactory_OrderedObject:
537
+ return v.Values, true
538
+ case *nativefactories.LiteralFactory_OrderedObject:
539
+ if v == nil {
540
+ return nil, false
541
+ }
542
+ return v.Values, true
543
+ case nativeiterate.JsonSchema:
544
+ output := map[string]any{}
545
+ for key, value := range v {
546
+ output[key] = value
547
+ }
548
+ return output, true
549
+ case map[string]any:
550
+ return v, true
551
+ default:
552
+ return nil, false
553
+ }
554
+ }
555
+
556
+ func llmSchemaProgrammer_schema_map_ordered(value any) (map[string]any, []string, bool) {
557
+ switch v := value.(type) {
558
+ case nativefactories.LiteralFactory_OrderedObject:
559
+ return v.Values, llmSchemaProgrammer_ordered_keys(v.Keys, v.Values), true
560
+ case *nativefactories.LiteralFactory_OrderedObject:
561
+ if v == nil {
562
+ return nil, nil, false
563
+ }
564
+ return v.Values, llmSchemaProgrammer_ordered_keys(v.Keys, v.Values), true
565
+ case nativeiterate.JsonSchema:
566
+ output := map[string]any{}
567
+ keys := make([]string, 0, len(v))
568
+ for key, value := range v {
569
+ output[key] = value
570
+ keys = append(keys, key)
571
+ }
572
+ sort.Strings(keys)
573
+ return output, keys, true
574
+ case map[string]any:
575
+ keys := make([]string, 0, len(v))
576
+ for key := range v {
577
+ keys = append(keys, key)
578
+ }
579
+ sort.Strings(keys)
580
+ return v, keys, true
581
+ default:
582
+ return nil, nil, false
583
+ }
584
+ }
585
+
586
+ func llmSchemaProgrammer_ordered_keys(keys []string, values map[string]any) []string {
587
+ output := make([]string, 0, len(values))
588
+ visited := map[string]bool{}
589
+ for _, key := range keys {
590
+ if _, ok := values[key]; ok && visited[key] == false {
591
+ output = append(output, key)
592
+ visited[key] = true
593
+ }
594
+ }
595
+ rest := make([]string, 0, len(values)-len(output))
596
+ for key := range values {
597
+ if visited[key] == false {
598
+ rest = append(rest, key)
599
+ }
600
+ }
601
+ sort.Strings(rest)
602
+ return append(output, rest...)
603
+ }
604
+
605
+ func llmSchemaProgrammer_schema_from_any(value any) (nativeiterate.JsonSchema, bool) {
606
+ switch v := value.(type) {
607
+ case nativeiterate.JsonSchema:
608
+ return v, true
609
+ case map[string]any:
610
+ return nativeiterate.JsonSchema(v), true
611
+ default:
612
+ return nil, false
613
+ }
614
+ }
615
+
616
+ func llmSchemaProgrammer_constant_type(value any) string {
617
+ reflected := reflect.ValueOf(value)
618
+ if reflected.IsValid() == false {
619
+ return fmt.Sprintf("%T", value)
620
+ }
621
+ switch reflected.Kind() {
622
+ case reflect.Bool:
623
+ return "boolean"
624
+ case reflect.String:
625
+ return "string"
626
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
627
+ reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64,
628
+ reflect.Float32, reflect.Float64:
629
+ return "number"
630
+ default:
631
+ return fmt.Sprintf("%T", value)
632
+ }
633
+ }
634
+
635
+ func llmSchemaProgrammer_ref_key(ref string) string {
636
+ if strings.Contains(ref, "#/components/schemas/") {
637
+ return strings.Split(ref, "#/components/schemas/")[1]
638
+ }
639
+ index := strings.LastIndex(ref, "/")
640
+ if index == -1 {
641
+ return ref
642
+ }
643
+ return ref[index+1:]
644
+ }
645
+
646
+ func llmSchemaProgrammer_component(components *nativeiterate.OpenApi_IComponents, key string) (nativeiterate.JsonSchema, bool) {
647
+ if components == nil || components.Schemas == nil {
648
+ return nil, false
649
+ }
650
+ schema, ok := components.Schemas[key]
651
+ return schema, ok
652
+ }
653
+
654
+ func llmSchemaProgrammer_is_reference(schema map[string]any) bool {
655
+ _, ok := schema["$ref"].(string)
656
+ return ok
657
+ }
658
+
659
+ func llmSchemaProgrammer_is_null(schema map[string]any) bool {
660
+ return schema["type"] == "null"
661
+ }
662
+
663
+ func llmSchemaProgrammer_discriminator(schema nativeiterate.JsonSchema, union []map[string]any) map[string]any {
664
+ discriminator, ok := llmSchemaProgrammer_schema_map(schema["discriminator"])
665
+ if ok == false || len(llmSchemaProgrammer_schema_array(schema["oneOf"])) != len(union) {
666
+ return nil
667
+ }
668
+ for _, elem := range union {
669
+ if llmSchemaProgrammer_is_reference(elem) == false && llmSchemaProgrammer_is_null(elem) == false {
670
+ return nil
671
+ }
672
+ }
673
+ output := map[string]any{}
674
+ if propertyName, ok := discriminator["propertyName"].(string); ok {
675
+ output["propertyName"] = propertyName
676
+ }
677
+ if rawMapping, ok := llmSchemaProgrammer_schema_map(discriminator["mapping"]); ok {
678
+ mapping := map[string]any{}
679
+ for key, value := range rawMapping {
680
+ mapping[key] = "#/$defs/" + llmSchemaProgrammer_ref_key(fmt.Sprint(value))
681
+ }
682
+ output["mapping"] = mapping
683
+ }
684
+ if len(output) == 0 {
685
+ return nil
686
+ }
687
+ return output
688
+ }
689
+
690
+ func llmSchemaProgrammer_shift_array(schema map[string]any) map[string]any {
691
+ output := llmSchemaProgrammer_clone(schema)
692
+ tags := []string{}
693
+ if value, ok := output["minItems"]; ok {
694
+ tags = append(tags, "@minItems "+fmt.Sprint(value))
695
+ delete(output, "minItems")
696
+ }
697
+ if value, ok := output["maxItems"]; ok {
698
+ tags = append(tags, "@maxItems "+fmt.Sprint(value))
699
+ delete(output, "maxItems")
700
+ }
701
+ if value, ok := output["uniqueItems"].(bool); ok {
702
+ if value {
703
+ tags = append(tags, "@uniqueItems")
704
+ }
705
+ delete(output, "uniqueItems")
706
+ }
707
+ llmSchemaProgrammer_write_tag_with_description(output, tags)
708
+ return output
709
+ }
710
+
711
+ func llmSchemaProgrammer_shift_numeric(schema map[string]any) map[string]any {
712
+ output := llmSchemaProgrammer_clone(schema)
713
+ llmSchemaProgrammer_emend_exclusive(output)
714
+ tags := []string{}
715
+ for _, key := range []string{"minimum", "maximum", "exclusiveMinimum", "exclusiveMaximum", "multipleOf"} {
716
+ if value, ok := output[key]; ok {
717
+ tags = append(tags, "@"+key+" "+fmt.Sprint(value))
718
+ delete(output, key)
719
+ }
720
+ }
721
+ llmSchemaProgrammer_write_tag_with_description(output, tags)
722
+ delete(output, "default")
723
+ return output
724
+ }
725
+
726
+ func llmSchemaProgrammer_shift_string(schema map[string]any) map[string]any {
727
+ output := llmSchemaProgrammer_clone(schema)
728
+ tags := []string{}
729
+ for _, key := range []string{"minLength", "maxLength", "format", "pattern", "contentMediaType", "default"} {
730
+ if value, ok := output[key]; ok {
731
+ tags = append(tags, "@"+key+" "+fmt.Sprint(value))
732
+ delete(output, key)
733
+ }
734
+ }
735
+ llmSchemaProgrammer_write_tag_with_description(output, tags)
736
+ return output
737
+ }
738
+
739
+ func llmSchemaProgrammer_write_tag_with_description(schema map[string]any, tags []string) {
740
+ if len(tags) == 0 {
741
+ return
742
+ }
743
+ lines := []string{}
744
+ if description, ok := schema["description"].(string); ok && len(description) != 0 {
745
+ lines = append(lines, description, "\n")
746
+ }
747
+ lines = append(lines, tags...)
748
+ schema["description"] = strings.Join(lines, "\n")
749
+ }
750
+
751
+ func llmSchemaProgrammer_emend_exclusive(schema map[string]any) {
752
+ if exclusiveMinimum, ok := llmSchemaProgrammer_number(schema["exclusiveMinimum"]); ok {
753
+ if minimum, found := llmSchemaProgrammer_number(schema["minimum"]); found {
754
+ if minimum > exclusiveMinimum {
755
+ schema["minimum"] = minimum
756
+ delete(schema, "exclusiveMinimum")
757
+ } else {
758
+ schema["exclusiveMinimum"] = exclusiveMinimum
759
+ delete(schema, "minimum")
760
+ }
761
+ }
762
+ }
763
+ if exclusiveMaximum, ok := llmSchemaProgrammer_number(schema["exclusiveMaximum"]); ok {
764
+ if maximum, found := llmSchemaProgrammer_number(schema["maximum"]); found {
765
+ if maximum < exclusiveMaximum {
766
+ schema["maximum"] = maximum
767
+ delete(schema, "exclusiveMaximum")
768
+ } else {
769
+ schema["exclusiveMaximum"] = exclusiveMaximum
770
+ delete(schema, "maximum")
771
+ }
772
+ }
773
+ }
774
+ }
775
+
776
+ func llmSchemaProgrammer_number(value any) (float64, bool) {
777
+ reflected := reflect.ValueOf(value)
778
+ if reflected.IsValid() == false {
779
+ return 0, false
780
+ }
781
+ switch reflected.Kind() {
782
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
783
+ return float64(reflected.Int()), true
784
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
785
+ return float64(reflected.Uint()), true
786
+ case reflect.Float32, reflect.Float64:
787
+ return reflected.Convert(reflect.TypeOf(float64(0))).Float(), true
788
+ default:
789
+ return 0, false
790
+ }
791
+ }
792
+
793
+ func llmSchemaProgrammer_json_descriptor_take(schema nativeiterate.JsonSchema) *string {
794
+ parts := []string{}
795
+ if description, ok := schema["description"].(string); ok && len(description) != 0 {
796
+ parts = append(parts, description)
797
+ }
798
+ properties, ok := llmSchemaProgrammer_schema_map(schema["properties"])
799
+ if ok {
800
+ keys := make([]string, 0, len(properties))
801
+ for key := range properties {
802
+ keys = append(keys, key)
803
+ }
804
+ sort.Strings(keys)
805
+ for _, key := range keys {
806
+ value, ok := llmSchemaProgrammer_schema_from_any(properties[key])
807
+ if ok == false || llmSchemaProgrammer_is_reference(value) == false {
808
+ continue
809
+ }
810
+ description, ok := value["description"].(string)
811
+ if ok == false || len(description) == 0 {
812
+ continue
813
+ }
814
+ name := key
815
+ if llmSchemaProgrammer_is_variable_name(key) == false {
816
+ name = strconv.Quote(key)
817
+ }
818
+ parts = append(parts, "### Description of {@link "+name+"} property:\n\n"+llmSchemaProgrammer_quote_description(description))
819
+ }
820
+ }
821
+ if len(parts) == 0 {
822
+ return nil
823
+ }
824
+ output := strings.Join(parts, "\n\n")
825
+ return &output
826
+ }
827
+
828
+ func llmSchemaProgrammer_quote_description(description string) string {
829
+ lines := strings.Split(description, "\n")
830
+ for i, line := range lines {
831
+ lines[i] = "> " + line
832
+ }
833
+ return strings.Join(lines, "\n")
834
+ }
835
+
836
+ func llmSchemaProgrammer_is_variable_name(str string) bool {
837
+ if len(str) == 0 {
838
+ return false
839
+ }
840
+ for i, r := range str {
841
+ if i == 0 {
842
+ if (r >= 'A' && r <= 'Z') || (r >= 'a' && r <= 'z') || r == '_' || r == '$' {
843
+ continue
844
+ }
845
+ return false
846
+ }
847
+ if (r >= 'A' && r <= 'Z') || (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') || r == '_' || r == '$' {
848
+ continue
849
+ }
850
+ return false
851
+ }
852
+ return true
853
+ }
854
+
855
+ func llmProgrammer_internal(context nativecontext.ITypiaContext, name string) *shimast.Node {
856
+ if importer := context.Importer; importer != nil {
857
+ return importer.Internal(name)
858
+ }
859
+ f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, context.Emit)
860
+ return f.NewIdentifier(name)
861
+ }
862
+
863
+ func llmProgrammer_import_type(context nativecontext.ITypiaContext, props nativecontext.ImportProgrammer_TypeProps) *shimast.Node {
864
+ if importer := context.Importer; importer != nil {
865
+ return importer.Type(props)
866
+ }
867
+ f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, context.Emit)
868
+ if str, ok := props.Name.(string); ok {
869
+ return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
870
+ }
871
+ return props.Name.(*shimast.Node)
872
+ }
873
+
874
+ func llmProgrammer_type_reference(name string, emit ...*shimprinter.EmitContext) *shimast.Node {
875
+ if name == "" {
876
+ name = "unknown"
877
+ }
878
+ f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, emit...)
879
+ return f.NewTypeReferenceNode(f.NewIdentifier(name), nil)
880
+ }
881
+
882
+ func llmProgrammer_method_text(modulo *shimast.Node) string {
883
+ return nativehelpers.ModuloMethodText(modulo)
884
+ }
885
+
886
+ func llmProgrammer_concat_description(summary *string, description *string) *string {
887
+ if summary == nil || len(*summary) == 0 || description == nil || len(*description) == 0 {
888
+ if summary != nil && len(*summary) != 0 {
889
+ return summary
890
+ }
891
+ return description
892
+ }
893
+ head := *summary
894
+ if strings.HasSuffix(head, ".") {
895
+ head = head[:len(head)-1]
896
+ }
897
+ if strings.HasPrefix(*description, head) {
898
+ return description
899
+ }
900
+ out := head + ".\n\n" + *description
901
+ return &out
902
+ }