@nestia/sdk 14.0.1 → 14.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 (377) hide show
  1. package/assets/bundle/distribute/build-sdk.cjs +28 -0
  2. package/assets/bundle/distribute/package.json +6 -2
  3. package/lib/INestiaConfig.d.ts +55 -24
  4. package/lib/NestiaSdkApplication.d.ts +60 -0
  5. package/lib/NestiaSdkApplication.js +63 -5
  6. package/lib/NestiaSdkApplication.js.map +1 -1
  7. package/lib/NestiaSwaggerComposer.d.ts +21 -0
  8. package/lib/NestiaSwaggerComposer.js +21 -3
  9. package/lib/NestiaSwaggerComposer.js.map +1 -1
  10. package/lib/analyses/AccessorAnalyzer.d.ts +26 -0
  11. package/lib/analyses/AccessorAnalyzer.js +26 -0
  12. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  13. package/lib/analyses/ConfigAnalyzer.d.ts +41 -0
  14. package/lib/analyses/ConfigAnalyzer.js +48 -73
  15. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  16. package/lib/analyses/ImportAnalyzer.d.ts +25 -0
  17. package/lib/analyses/ImportAnalyzer.js +25 -0
  18. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  19. package/lib/analyses/ParameterNameAnalyzer.d.ts +24 -0
  20. package/lib/analyses/ParameterNameAnalyzer.js +15 -0
  21. package/lib/analyses/ParameterNameAnalyzer.js.map +1 -1
  22. package/lib/analyses/PathAnalyzer.d.ts +63 -1
  23. package/lib/analyses/PathAnalyzer.js +54 -9
  24. package/lib/analyses/PathAnalyzer.js.map +1 -1
  25. package/lib/analyses/ReflectControllerAnalyzer.d.ts +32 -0
  26. package/lib/analyses/ReflectControllerAnalyzer.js +22 -0
  27. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  28. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +29 -0
  29. package/lib/analyses/ReflectHttpOperationAnalyzer.js +28 -17
  30. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  31. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +31 -0
  32. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +21 -0
  33. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
  34. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +31 -0
  35. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +21 -0
  36. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
  37. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +32 -0
  38. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +22 -0
  39. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  40. package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +29 -0
  41. package/lib/analyses/ReflectMcpOperationAnalyzer.js +30 -9
  42. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -1
  43. package/lib/analyses/ReflectMetadataAnalyzer.d.ts +47 -0
  44. package/lib/analyses/ReflectMetadataAnalyzer.js +47 -0
  45. package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
  46. package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +29 -0
  47. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +21 -2
  48. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  49. package/lib/analyses/SecurityAnalyzer.d.ts +15 -0
  50. package/lib/analyses/SecurityAnalyzer.js +15 -0
  51. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  52. package/lib/analyses/SwaggerExampleAnalyzer.d.ts +16 -0
  53. package/lib/analyses/SwaggerExampleAnalyzer.js +16 -0
  54. package/lib/analyses/SwaggerExampleAnalyzer.js.map +1 -1
  55. package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +41 -3
  56. package/lib/analyses/TypedHttpRouteAnalyzer.js +172 -157
  57. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
  58. package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +29 -0
  59. package/lib/analyses/TypedMcpRouteAnalyzer.js +152 -20
  60. package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -1
  61. package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +19 -0
  62. package/lib/analyses/TypedWebSocketRouteAnalyzer.js +19 -0
  63. package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
  64. package/lib/decorators/OperationMetadata.d.ts +6 -0
  65. package/lib/decorators/OperationMetadata.js +6 -0
  66. package/lib/decorators/OperationMetadata.js.map +1 -1
  67. package/lib/executable/internal/CommandParser.d.ts +19 -0
  68. package/lib/executable/internal/CommandParser.js +19 -0
  69. package/lib/executable/internal/CommandParser.js.map +1 -1
  70. package/lib/executable/internal/NestiaConfigLoader.d.ts +56 -0
  71. package/lib/executable/internal/NestiaConfigLoader.js +48 -42
  72. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  73. package/lib/executable/internal/NestiaSdkCommand.d.ts +60 -0
  74. package/lib/executable/internal/NestiaSdkCommand.js +95 -3
  75. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  76. package/lib/executable/internal/NestiaSdkWatcher.d.ts +81 -0
  77. package/lib/executable/internal/NestiaSdkWatcher.js +122 -38
  78. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -1
  79. package/lib/executable/internal/NestiaSwaggerWatch.d.ts +80 -0
  80. package/lib/executable/internal/NestiaSwaggerWatch.js +308 -0
  81. package/lib/executable/internal/NestiaSwaggerWatch.js.map +1 -0
  82. package/lib/factories/ExpressionFactory.d.ts +17 -2
  83. package/lib/factories/ExpressionFactory.js +17 -2
  84. package/lib/factories/ExpressionFactory.js.map +1 -1
  85. package/lib/factories/IdentifierFactory.d.ts +24 -0
  86. package/lib/factories/IdentifierFactory.js +24 -0
  87. package/lib/factories/IdentifierFactory.js.map +1 -1
  88. package/lib/factories/LiteralFactory.d.ts +22 -4
  89. package/lib/factories/LiteralFactory.js +30 -10
  90. package/lib/factories/LiteralFactory.js.map +1 -1
  91. package/lib/factories/StatementFactory.d.ts +28 -1
  92. package/lib/factories/StatementFactory.js +28 -1
  93. package/lib/factories/StatementFactory.js.map +1 -1
  94. package/lib/factories/TypeFactory.d.ts +24 -0
  95. package/lib/factories/TypeFactory.js +15 -0
  96. package/lib/factories/TypeFactory.js.map +1 -1
  97. package/lib/generates/CloneGenerator.d.ts +22 -0
  98. package/lib/generates/CloneGenerator.js +26 -5
  99. package/lib/generates/CloneGenerator.js.map +1 -1
  100. package/lib/generates/E2eGenerator.d.ts +19 -0
  101. package/lib/generates/E2eGenerator.js +19 -0
  102. package/lib/generates/E2eGenerator.js.map +1 -1
  103. package/lib/generates/SdkGenerator.d.ts +38 -0
  104. package/lib/generates/SdkGenerator.js +40 -2
  105. package/lib/generates/SdkGenerator.js.map +1 -1
  106. package/lib/generates/SwaggerGenerator.d.ts +36 -6
  107. package/lib/generates/SwaggerGenerator.js +55 -13
  108. package/lib/generates/SwaggerGenerator.js.map +1 -1
  109. package/lib/generates/internal/E2eFileProgrammer.d.ts +19 -0
  110. package/lib/generates/internal/E2eFileProgrammer.js +20 -1
  111. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  112. package/lib/generates/internal/FilePrinter.d.ts +43 -0
  113. package/lib/generates/internal/FilePrinter.js +43 -0
  114. package/lib/generates/internal/FilePrinter.js.map +1 -1
  115. package/lib/generates/internal/ImportDictionary.d.ts +92 -2
  116. package/lib/generates/internal/ImportDictionary.js +91 -3
  117. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  118. package/lib/generates/internal/SdkAliasCollection.d.ts +119 -0
  119. package/lib/generates/internal/SdkAliasCollection.js +124 -7
  120. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  121. package/lib/generates/internal/SdkDistributionComposer.d.ts +19 -0
  122. package/lib/generates/internal/SdkDistributionComposer.js +98 -59
  123. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  124. package/lib/generates/internal/SdkFileProgrammer.d.ts +18 -0
  125. package/lib/generates/internal/SdkFileProgrammer.js +18 -0
  126. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  127. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +29 -0
  128. package/lib/generates/internal/SdkHttpCloneProgrammer.js +33 -0
  129. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  130. package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +19 -0
  131. package/lib/generates/internal/SdkHttpCloneReferencer.js +78 -25
  132. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  133. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +19 -0
  134. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +19 -0
  135. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  136. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +19 -0
  137. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +19 -0
  138. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  139. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +104 -2
  140. package/lib/generates/internal/SdkHttpParameterProgrammer.js +70 -0
  141. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  142. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +20 -0
  143. package/lib/generates/internal/SdkHttpRouteProgrammer.js +20 -0
  144. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  145. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +38 -0
  146. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +49 -5
  147. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  148. package/lib/generates/internal/SdkImportWizard.d.ts +63 -0
  149. package/lib/generates/internal/SdkImportWizard.js +63 -0
  150. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  151. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +17 -2
  152. package/lib/generates/internal/SdkMcpRouteProgrammer.js +33 -13
  153. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  154. package/lib/generates/internal/SdkPathTemplate.d.ts +15 -0
  155. package/lib/generates/internal/SdkPathTemplate.js +15 -0
  156. package/lib/generates/internal/SdkPathTemplate.js.map +1 -1
  157. package/lib/generates/internal/SdkRouteDirectory.d.ts +10 -0
  158. package/lib/generates/internal/SdkRouteDirectory.js +10 -0
  159. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  160. package/lib/generates/internal/SdkTypeProgrammer.d.ts +54 -1
  161. package/lib/generates/internal/SdkTypeProgrammer.js +96 -12
  162. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  163. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +36 -3
  164. package/lib/generates/internal/SdkTypeTagProgrammer.js +28 -7
  165. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  166. package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +40 -0
  167. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +149 -142
  168. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -1
  169. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +19 -0
  170. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +19 -0
  171. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  172. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +81 -2
  173. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +48 -0
  174. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  175. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +18 -0
  176. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +18 -0
  177. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  178. package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +42 -0
  179. package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -1
  180. package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
  181. package/lib/generates/internal/SwaggerOperationComposer.d.ts +18 -0
  182. package/lib/generates/internal/SwaggerOperationComposer.js +18 -0
  183. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
  184. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +39 -0
  185. package/lib/generates/internal/SwaggerOperationParameterComposer.js +31 -8
  186. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  187. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +19 -0
  188. package/lib/generates/internal/SwaggerOperationResponseComposer.js +19 -0
  189. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  190. package/lib/internal/legacy.d.ts +296 -16
  191. package/lib/internal/legacy.js +127 -10
  192. package/lib/internal/legacy.js.map +1 -1
  193. package/lib/structures/INestiaProject.d.ts +10 -0
  194. package/lib/structures/INestiaSdkInput.d.ts +30 -0
  195. package/lib/structures/IOperationMetadata.d.ts +55 -0
  196. package/lib/structures/IReflectController.d.ts +10 -0
  197. package/lib/structures/IReflectHttpOperation.d.ts +10 -0
  198. package/lib/structures/IReflectHttpOperationException.d.ts +10 -0
  199. package/lib/structures/IReflectHttpOperationParameter.d.ts +47 -0
  200. package/lib/structures/IReflectHttpOperationSuccess.d.ts +11 -0
  201. package/lib/structures/IReflectImport.d.ts +10 -0
  202. package/lib/structures/IReflectMcpOperation.d.ts +19 -0
  203. package/lib/structures/IReflectMcpOperationParameter.d.ts +9 -0
  204. package/lib/structures/IReflectOperationError.d.ts +28 -0
  205. package/lib/structures/IReflectOperationError.js +22 -2
  206. package/lib/structures/IReflectOperationError.js.map +1 -1
  207. package/lib/structures/IReflectType.d.ts +9 -0
  208. package/lib/structures/IReflectWebSocketOperation.d.ts +10 -0
  209. package/lib/structures/IReflectWebSocketOperationParameter.d.ts +55 -0
  210. package/lib/structures/ITypedApplication.d.ts +10 -0
  211. package/lib/structures/ITypedHttpRoute.d.ts +10 -0
  212. package/lib/structures/ITypedHttpRouteException.d.ts +10 -0
  213. package/lib/structures/ITypedHttpRouteParameter.d.ts +45 -0
  214. package/lib/structures/ITypedHttpRouteSuccess.d.ts +10 -0
  215. package/lib/structures/ITypedMcpRoute.d.ts +11 -0
  216. package/lib/structures/ITypedWebSocketRoute.d.ts +10 -0
  217. package/lib/transform.d.ts +6 -0
  218. package/lib/transform.js +6 -0
  219. package/lib/transform.js.map +1 -1
  220. package/lib/utils/ArrayUtil.d.ts +31 -1
  221. package/lib/utils/ArrayUtil.js +32 -11
  222. package/lib/utils/ArrayUtil.js.map +1 -1
  223. package/lib/utils/EmittedJavaScriptPatcher.d.ts +20 -0
  224. package/lib/utils/EmittedJavaScriptPatcher.js +65 -46
  225. package/lib/utils/EmittedJavaScriptPatcher.js.map +1 -1
  226. package/lib/utils/FileRetriever.d.ts +29 -0
  227. package/lib/utils/FileRetriever.js +29 -0
  228. package/lib/utils/FileRetriever.js.map +1 -1
  229. package/lib/utils/HttpResponseContentTypeUtil.d.ts +41 -0
  230. package/lib/utils/HttpResponseContentTypeUtil.js +31 -0
  231. package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -1
  232. package/lib/utils/MapUtil.d.ts +64 -1
  233. package/lib/utils/MapUtil.js +24 -3
  234. package/lib/utils/MapUtil.js.map +1 -1
  235. package/lib/utils/PathUtil.d.ts +31 -0
  236. package/lib/utils/PathUtil.js +38 -0
  237. package/lib/utils/PathUtil.js.map +1 -1
  238. package/lib/utils/SdkBundlePath.d.ts +2 -0
  239. package/lib/utils/SdkBundlePath.js +10 -0
  240. package/lib/utils/SdkBundlePath.js.map +1 -0
  241. package/lib/utils/SdkInputFilter.d.ts +31 -0
  242. package/lib/utils/SdkInputFilter.js +115 -0
  243. package/lib/utils/SdkInputFilter.js.map +1 -0
  244. package/lib/utils/SourceFinder.d.ts +35 -0
  245. package/lib/utils/SourceFinder.js +47 -12
  246. package/lib/utils/SourceFinder.js.map +1 -1
  247. package/lib/utils/StringUtil.d.ts +77 -2
  248. package/lib/utils/StringUtil.js +166 -4
  249. package/lib/utils/StringUtil.js.map +1 -1
  250. package/lib/utils/TemporaryDirectory.d.ts +60 -0
  251. package/lib/utils/TemporaryDirectory.js +112 -0
  252. package/lib/utils/TemporaryDirectory.js.map +1 -0
  253. package/lib/utils/TsConfigReader.d.ts +42 -0
  254. package/lib/utils/TsConfigReader.js +98 -14
  255. package/lib/utils/TsConfigReader.js.map +1 -1
  256. package/lib/utils/TtscExecutor.d.ts +23 -1
  257. package/lib/utils/TtscExecutor.js +22 -0
  258. package/lib/utils/TtscExecutor.js.map +1 -1
  259. package/lib/utils/VersioningStrategy.d.ts +26 -1
  260. package/lib/utils/VersioningStrategy.js +30 -9
  261. package/lib/utils/VersioningStrategy.js.map +1 -1
  262. package/lib/validators/TextPlainValidator.d.ts +19 -0
  263. package/lib/validators/TextPlainValidator.js +19 -0
  264. package/lib/validators/TextPlainValidator.js.map +1 -1
  265. package/native/go.mod +1 -1
  266. package/native/go.sum +2 -2
  267. package/native/sdk/register.go +12 -2
  268. package/native/sdk/sdk_metadata_json.go +6 -1
  269. package/native/sdk/sdk_transform.go +388 -397
  270. package/package.json +7 -5
  271. package/src/INestiaConfig.ts +55 -24
  272. package/src/NestiaSdkApplication.ts +66 -7
  273. package/src/NestiaSwaggerComposer.ts +21 -6
  274. package/src/analyses/AccessorAnalyzer.ts +26 -0
  275. package/src/analyses/ConfigAnalyzer.ts +49 -87
  276. package/src/analyses/ImportAnalyzer.ts +25 -0
  277. package/src/analyses/ParameterNameAnalyzer.ts +24 -0
  278. package/src/analyses/PathAnalyzer.ts +63 -11
  279. package/src/analyses/ReflectControllerAnalyzer.ts +32 -0
  280. package/src/analyses/ReflectHttpOperationAnalyzer.ts +32 -10
  281. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +31 -0
  282. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +31 -0
  283. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +32 -0
  284. package/src/analyses/ReflectMcpOperationAnalyzer.ts +32 -1
  285. package/src/analyses/ReflectMetadataAnalyzer.ts +47 -0
  286. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +33 -4
  287. package/src/analyses/SecurityAnalyzer.ts +15 -0
  288. package/src/analyses/SwaggerExampleAnalyzer.ts +16 -0
  289. package/src/analyses/TypedHttpRouteAnalyzer.ts +240 -184
  290. package/src/analyses/TypedMcpRouteAnalyzer.ts +180 -20
  291. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +19 -0
  292. package/src/decorators/OperationMetadata.ts +6 -0
  293. package/src/executable/internal/CommandParser.ts +19 -0
  294. package/src/executable/internal/NestiaConfigLoader.ts +66 -50
  295. package/src/executable/internal/NestiaSdkCommand.ts +96 -3
  296. package/src/executable/internal/NestiaSdkWatcher.ts +169 -41
  297. package/src/executable/internal/NestiaSwaggerWatch.ts +359 -0
  298. package/src/factories/ExpressionFactory.ts +17 -2
  299. package/src/factories/IdentifierFactory.ts +24 -0
  300. package/src/factories/LiteralFactory.ts +44 -11
  301. package/src/factories/StatementFactory.ts +28 -1
  302. package/src/factories/TypeFactory.ts +24 -0
  303. package/src/generates/CloneGenerator.ts +26 -5
  304. package/src/generates/E2eGenerator.ts +19 -0
  305. package/src/generates/SdkGenerator.ts +40 -9
  306. package/src/generates/SwaggerGenerator.ts +56 -14
  307. package/src/generates/internal/E2eFileProgrammer.ts +20 -0
  308. package/src/generates/internal/FilePrinter.ts +43 -0
  309. package/src/generates/internal/ImportDictionary.ts +110 -3
  310. package/src/generates/internal/SdkAliasCollection.ts +133 -11
  311. package/src/generates/internal/SdkDistributionComposer.ts +117 -66
  312. package/src/generates/internal/SdkFileProgrammer.ts +18 -0
  313. package/src/generates/internal/SdkHttpCloneProgrammer.ts +55 -0
  314. package/src/generates/internal/SdkHttpCloneReferencer.ts +97 -23
  315. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +19 -0
  316. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +19 -0
  317. package/src/generates/internal/SdkHttpParameterProgrammer.ts +104 -2
  318. package/src/generates/internal/SdkHttpRouteProgrammer.ts +20 -0
  319. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +72 -5
  320. package/src/generates/internal/SdkImportWizard.ts +63 -0
  321. package/src/generates/internal/SdkMcpRouteProgrammer.ts +38 -18
  322. package/src/generates/internal/SdkPathTemplate.ts +15 -0
  323. package/src/generates/internal/SdkRouteDirectory.ts +10 -0
  324. package/src/generates/internal/SdkTypeProgrammer.ts +118 -14
  325. package/src/generates/internal/SdkTypeTagProgrammer.ts +37 -7
  326. package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +185 -142
  327. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +19 -0
  328. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +81 -2
  329. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +18 -0
  330. package/src/generates/internal/SwaggerDescriptionComposer.ts +47 -1
  331. package/src/generates/internal/SwaggerOperationComposer.ts +18 -0
  332. package/src/generates/internal/SwaggerOperationParameterComposer.ts +41 -8
  333. package/src/generates/internal/SwaggerOperationResponseComposer.ts +19 -0
  334. package/src/internal/legacy-augmentation.d.ts +16 -0
  335. package/src/internal/legacy.ts +296 -26
  336. package/src/structures/INestiaProject.ts +10 -0
  337. package/src/structures/INestiaSdkInput.ts +30 -0
  338. package/src/structures/IOperationMetadata.ts +55 -0
  339. package/src/structures/IReflectController.ts +10 -0
  340. package/src/structures/IReflectHttpOperation.ts +10 -0
  341. package/src/structures/IReflectHttpOperationException.ts +10 -0
  342. package/src/structures/IReflectHttpOperationParameter.ts +47 -0
  343. package/src/structures/IReflectHttpOperationSuccess.ts +11 -0
  344. package/src/structures/IReflectImport.ts +10 -0
  345. package/src/structures/IReflectMcpOperation.ts +19 -0
  346. package/src/structures/IReflectMcpOperationParameter.ts +9 -0
  347. package/src/structures/IReflectOperationError.ts +31 -2
  348. package/src/structures/IReflectType.ts +9 -0
  349. package/src/structures/IReflectWebSocketOperation.ts +10 -0
  350. package/src/structures/IReflectWebSocketOperationParameter.ts +55 -0
  351. package/src/structures/ITypedApplication.ts +10 -0
  352. package/src/structures/ITypedHttpRoute.ts +10 -0
  353. package/src/structures/ITypedHttpRouteException.ts +10 -0
  354. package/src/structures/ITypedHttpRouteParameter.ts +45 -0
  355. package/src/structures/ITypedHttpRouteSuccess.ts +10 -0
  356. package/src/structures/ITypedMcpRoute.ts +12 -0
  357. package/src/structures/ITypedWebSocketRoute.ts +10 -0
  358. package/src/transform.ts +6 -0
  359. package/src/utils/ArrayUtil.ts +32 -13
  360. package/src/utils/EmittedJavaScriptPatcher.ts +70 -47
  361. package/src/utils/FileRetriever.ts +29 -0
  362. package/src/utils/HttpResponseContentTypeUtil.ts +41 -0
  363. package/src/utils/MapUtil.ts +68 -3
  364. package/src/utils/PathUtil.ts +38 -0
  365. package/src/utils/SdkBundlePath.ts +11 -0
  366. package/src/utils/SdkInputFilter.ts +108 -0
  367. package/src/utils/SourceFinder.ts +51 -14
  368. package/src/utils/StringUtil.ts +182 -5
  369. package/src/utils/TemporaryDirectory.ts +108 -0
  370. package/src/utils/TsConfigReader.ts +124 -26
  371. package/src/utils/TtscExecutor.ts +23 -1
  372. package/src/utils/VersioningStrategy.ts +33 -13
  373. package/src/validators/TextPlainValidator.ts +19 -0
  374. package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +0 -9
  375. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +0 -178
  376. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +0 -1
  377. package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +0 -264
@@ -2,7 +2,26 @@ import { OpenApi } from "@typia/interface";
2
2
  import { INestiaConfig } from "../../INestiaConfig";
3
3
  import { MetadataSchema } from "../../internal/legacy";
4
4
  import { ITypedHttpRoute } from "../../structures/ITypedHttpRoute";
5
+ /**
6
+ * Composes the responses of an operation.
7
+ *
8
+ * @evidence contracts/common.md#principled-implementation The namespace writes the responses of the exceptions, of the `@throws` comments, and of the success, and shares the media type of a 2.0 operation.
9
+ * @evidence contracts/common.md#clear-and-simple-design One public function and helpers.
10
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Every response goes through one content writer.
11
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
12
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationResponseComposer composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
13
+ */
5
14
  export declare namespace SwaggerOperationResponseComposer {
15
+ /**
16
+ * Returns the responses of a route, by status: the declared exceptions, the
17
+ * `@throws` comments, and the success.
18
+ *
19
+ * @evidence contracts/common.md#principled-implementation Decorated exceptions retain their schemas and gain a missing description from comments. The success response replaces any entry at its own status. A 2.0 document omits named examples and shares the success body's media type where present.
20
+ * @evidence contracts/common.md#clear-and-simple-design One function.
21
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The sources are ordered.
22
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
23
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationResponseComposer.compose composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
24
+ */
6
25
  const compose: (props: {
7
26
  config: Omit<INestiaConfig.ISwaggerConfig, "output">;
8
27
  schema: (metadata: MetadataSchema) => OpenApi.IJsonSchema | undefined;
@@ -4,8 +4,27 @@ exports.SwaggerOperationResponseComposer = void 0;
4
4
  const tstl_1 = require("tstl");
5
5
  const StringUtil_1 = require("../../utils/StringUtil");
6
6
  const SwaggerDescriptionComposer_1 = require("./SwaggerDescriptionComposer");
7
+ /**
8
+ * Composes the responses of an operation.
9
+ *
10
+ * @evidence contracts/common.md#principled-implementation The namespace writes the responses of the exceptions, of the `@throws` comments, and of the success, and shares the media type of a 2.0 operation.
11
+ * @evidence contracts/common.md#clear-and-simple-design One public function and helpers.
12
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Every response goes through one content writer.
13
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
14
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationResponseComposer composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
15
+ */
7
16
  var SwaggerOperationResponseComposer;
8
17
  (function (SwaggerOperationResponseComposer) {
18
+ /**
19
+ * Returns the responses of a route, by status: the declared exceptions, the
20
+ * `@throws` comments, and the success.
21
+ *
22
+ * @evidence contracts/common.md#principled-implementation Decorated exceptions retain their schemas and gain a missing description from comments. The success response replaces any entry at its own status. A 2.0 document omits named examples and shares the success body's media type where present.
23
+ * @evidence contracts/common.md#clear-and-simple-design One function.
24
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The sources are ordered.
25
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
26
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation SwaggerOperationResponseComposer.compose composes OpenAPI data; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
27
+ */
9
28
  SwaggerOperationResponseComposer.compose = (props) => {
10
29
  var _a, _b;
11
30
  var _c, _d, _e, _f;
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerOperationResponseComposer.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerOperationResponseComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerOperationResponseComposer.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerOperationResponseComposer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,5 @@
1
+ /// <reference path="../../src/internal/legacy-augmentation.d.ts" preserve="true" />
1
2
  import type { IJsonSchemaCollection, IMetadataComponents, IMetadataSchema, IMetadataTypeTag, OpenApi } from "@typia/interface";
2
- declare module "@typia/interface" {
3
- namespace IMetadataSchema {
4
- interface IReference {
5
- type?: IArrayType | ITupleType | IObjectType | IAliasType;
6
- }
7
- }
8
- }
9
3
  /**
10
4
  * Plain `IMetadataSchema` augmented with the fields the nestia transform
11
5
  * pre-bakes. `size`, `name`, and `empty` replace the methods the legacy
@@ -18,6 +12,12 @@ declare module "@typia/interface" {
18
12
  * overlay — still satisfy the type when passed through legacy utilities. The
19
13
  * utilities read the fields via the optional accessor and fall back when
20
14
  * absent.
15
+ *
16
+ * @evidence contracts/common.md#principled-implementation The plain metadata carries baked members the legacy class computed by methods, and each is optional because nested metadata does not carry them.
17
+ * @evidence contracts/common.md#clear-and-simple-design One extending interface.
18
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
19
+ * @evidence contracts/common.md#meaningful-documentation The comment states the baked fields.
20
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
21
21
  */
22
22
  export interface IReflectMetadata extends IMetadataSchema {
23
23
  size?: number;
@@ -25,6 +25,16 @@ export interface IReflectMetadata extends IMetadataSchema {
25
25
  empty?: boolean;
26
26
  jsonSchema?: IReflectJsonSchema;
27
27
  }
28
+ /**
29
+ * The JSON schema that the transform bakes beside a metadata: the version, the
30
+ * components, the schema, and the schema of each property.
31
+ *
32
+ * @evidence contracts/common.md#principled-implementation The bake is data produced by the Go side, so the record only names its parts.
33
+ * @evidence contracts/common.md#clear-and-simple-design A record.
34
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
35
+ * @evidence contracts/common.md#meaningful-documentation The comment and its members state what each part is.
36
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
37
+ */
28
38
  export interface IReflectJsonSchema {
29
39
  version: "3.0" | "3.1";
30
40
  components: OpenApi.IComponents;
@@ -34,6 +44,12 @@ export interface IReflectJsonSchema {
34
44
  * Cross-reference dictionary produced by `MetadataComponents.from`. Each map is
35
45
  * keyed by the entry's `.name`, matching the lookup pattern the legacy
36
46
  * `MetadataComponents.dictionary` getter offered.
47
+ *
48
+ * @evidence contracts/common.md#principled-implementation Four maps by kind let a reference be resolved by name in constant time.
49
+ * @evidence contracts/common.md#clear-and-simple-design A four-member record.
50
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
51
+ * @evidence contracts/common.md#meaningful-documentation The comment states the four kinds.
52
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
37
53
  */
38
54
  export interface IMetadataDictionary {
39
55
  objects: Map<string, IMetadataSchema.IObjectType>;
@@ -41,25 +57,110 @@ export interface IMetadataDictionary {
41
57
  arrays: Map<string, IMetadataSchema.IArrayType>;
42
58
  tuples: Map<string, IMetadataSchema.ITupleType>;
43
59
  }
60
+ /**
61
+ * The name the SDK uses for a metadata schema.
62
+ *
63
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
64
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
65
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
66
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
67
+ */
44
68
  export type MetadataSchema = IMetadataSchema;
69
+ /**
70
+ * The components of a metadata together with their dictionary.
71
+ *
72
+ * @evidence contracts/common.md#principled-implementation The intersection adds the name index to the plain components.
73
+ * @evidence contracts/common.md#clear-and-simple-design One intersection type and a namespace with one builder.
74
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior. The builder only indexes.
75
+ * @evidence contracts/common.md#meaningful-documentation The comment states the added dictionary.
76
+ */
45
77
  export type MetadataComponents = IMetadataComponents & {
46
78
  dictionary: IMetadataDictionary;
47
79
  };
80
+ /**
81
+ * The name the SDK uses for an alias type.
82
+ *
83
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
84
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
85
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
86
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
87
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
88
+ */
48
89
  export type MetadataAliasType = IMetadataSchema.IAliasType;
90
+ /**
91
+ * The name the SDK uses for an array type.
92
+ *
93
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
94
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
95
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
96
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
97
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
98
+ */
49
99
  export type MetadataArrayType = IMetadataSchema.IArrayType;
100
+ /**
101
+ * The name the SDK uses for a tuple type.
102
+ *
103
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
104
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
105
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
106
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
107
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
108
+ */
50
109
  export type MetadataTupleType = IMetadataSchema.ITupleType;
110
+ /**
111
+ * The name the SDK uses for an object type.
112
+ *
113
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
114
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
115
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
116
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
117
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
118
+ */
51
119
  export type MetadataObjectType = IMetadataSchema.IObjectType;
120
+ /**
121
+ * The name the SDK uses for an atomic type.
122
+ *
123
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
124
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
125
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
126
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
127
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
128
+ */
52
129
  export type MetadataAtomic = IMetadataSchema.IAtomic;
53
130
  /**
54
131
  * Flattened constant-value shape: typia v13 splits `IConstant.IValue<T>` by the
55
132
  * atomic discriminator, but sdk's literal writer just needs the runtime `value`
56
133
  * payload, so collapse the union to a single ergonomic shape.
134
+ *
135
+ * @evidence contracts/common.md#principled-implementation The generators need only the value payload, so the union is collapsed into one shape.
136
+ * @evidence contracts/common.md#clear-and-simple-design A two-member record.
137
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
138
+ * @evidence contracts/common.md#meaningful-documentation The comment states the flattening.
139
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
57
140
  */
58
141
  export interface MetadataConstantValue {
59
142
  value: string | number | bigint | boolean;
60
143
  tags: IMetadataTypeTag[][];
61
144
  }
145
+ /**
146
+ * The name the SDK uses for an escaped type.
147
+ *
148
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
149
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
150
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
151
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
152
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
153
+ */
62
154
  export type MetadataEscaped = IMetadataSchema.IEscaped;
155
+ /**
156
+ * The name the SDK uses for an object property.
157
+ *
158
+ * @evidence contracts/common.md#principled-implementation The alias maps the legacy class name to the plain interface of typia, so the generators keep their names.
159
+ * @evidence contracts/common.md#clear-and-simple-design One alias.
160
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
161
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the alias stands for.
162
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
163
+ */
63
164
  export type MetadataProperty = IMetadataSchema.IProperty;
64
165
  /**
65
166
  * Reference to a named array/tuple/object/alias type. typia v13's plain
@@ -68,26 +169,81 @@ export type MetadataProperty = IMetadataSchema.IProperty;
68
169
  * dictionary. `MetadataSchema.from` walks the metadata tree once and attaches
69
170
  * the resolved `.type` field so downstream sdk code can keep its `ref.type`
70
171
  * access pattern.
172
+ *
173
+ * @evidence contracts/common.md#principled-implementation The reference is the plain interface plus the `type` that `MetadataSchema.from` resolves against the dictionary.
174
+ * @evidence contracts/common.md#clear-and-simple-design One intersection type.
175
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
176
+ * @evidence contracts/common.md#meaningful-documentation The comment states the resolved member.
177
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
71
178
  */
72
179
  export type MetadataArray = IMetadataSchema.IReference & {
73
180
  type: MetadataArrayType;
74
181
  };
182
+ /**
183
+ * A reference to a named tuple type, with the resolved type attached.
184
+ *
185
+ * @evidence contracts/common.md#principled-implementation The reference is the plain interface plus the `type` that `MetadataSchema.from` resolves against the dictionary.
186
+ * @evidence contracts/common.md#clear-and-simple-design One intersection type.
187
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
188
+ * @evidence contracts/common.md#meaningful-documentation The comment states the resolved member.
189
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
190
+ */
75
191
  export type MetadataTuple = IMetadataSchema.IReference & {
76
192
  type: MetadataTupleType;
77
193
  };
194
+ /**
195
+ * A reference to a named object type, with the resolved type attached.
196
+ *
197
+ * @evidence contracts/common.md#principled-implementation The reference is the plain interface plus the `type` that `MetadataSchema.from` resolves against the dictionary.
198
+ * @evidence contracts/common.md#clear-and-simple-design One intersection type.
199
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
200
+ * @evidence contracts/common.md#meaningful-documentation The comment states the resolved member.
201
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
202
+ */
78
203
  export type MetadataObject = IMetadataSchema.IReference & {
79
204
  type: MetadataObjectType;
80
205
  };
206
+ /**
207
+ * A reference to a named alias type, with the resolved type attached.
208
+ *
209
+ * @evidence contracts/common.md#principled-implementation The reference is the plain interface plus the `type` that `MetadataSchema.from` resolves against the dictionary.
210
+ * @evidence contracts/common.md#clear-and-simple-design One intersection type.
211
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
212
+ * @evidence contracts/common.md#meaningful-documentation The comment states the resolved member.
213
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
214
+ */
81
215
  export type MetadataAlias = IMetadataSchema.IReference & {
82
216
  type: MetadataAliasType;
83
217
  };
84
- /** `MetadataSchema.size()` → reads the pre-baked `size` field. */
218
+ /**
219
+ * `MetadataSchema.size()` → reads the pre-baked `size` field.
220
+ *
221
+ * @evidence contracts/common.md#principled-implementation The transform bakes the size, which replaces a method of the legacy class.
222
+ * @evidence contracts/common.md#clear-and-simple-design One read.
223
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the baked field.
224
+ * @evidence contracts/common.md#meaningful-documentation The comment states the fallback.
225
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
226
+ */
85
227
  export declare const sizeOf: (m: IMetadataSchema) => number;
86
- /** `MetadataSchema.getName()` → reads the pre-baked `name` field. */
228
+ /**
229
+ * `MetadataSchema.getName()` → reads the pre-baked `name` field.
230
+ *
231
+ * @evidence contracts/common.md#principled-implementation The transform bakes the name, which replaces a method of the legacy class.
232
+ * @evidence contracts/common.md#clear-and-simple-design One read.
233
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the baked field.
234
+ * @evidence contracts/common.md#meaningful-documentation The comment states the fallback.
235
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
236
+ */
87
237
  export declare const nameOf: (m: IMetadataSchema) => string;
88
- /** `MetadataSchema.empty()` → reads the pre-baked `empty` field. */
89
- export declare const emptyOf: (m: IMetadataSchema) => boolean;
90
- /** A property is required only when neither omission nor undefined is allowed. */
238
+ /**
239
+ * A property is required only when neither omission nor undefined is allowed.
240
+ *
241
+ * @evidence contracts/common.md#principled-implementation Both flags must exclude absence, so the conjunction with the negated optional flag is the definition.
242
+ * @evidence contracts/common.md#clear-and-simple-design One expression.
243
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads two flags.
244
+ * @evidence contracts/common.md#meaningful-documentation The comment states the definition.
245
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
246
+ */
91
247
  export declare const isRequiredOf: (m: IMetadataSchema) => boolean;
92
248
  /**
93
249
  * Reads a constant's value as the SDK's Go contributor writes it.
@@ -97,6 +253,12 @@ export declare const isRequiredOf: (m: IMetadataSchema) => boolean;
97
253
  * (`"Infinity"`), both as strings. `type` is the constant's type, which is its
98
254
  * value's own, so a bigint or number constant's string is always one of those;
99
255
  * every other value is returned as it is.
256
+ *
257
+ * @evidence contracts/common.md#principled-implementation JSON holds neither bigint nor a non-finite number, so those are carried as strings and converted back by the constant's own type.
258
+ * @evidence contracts/common.md#clear-and-simple-design One conditional.
259
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The conversion follows the documented encoding.
260
+ * @evidence contracts/common.md#meaningful-documentation The comment states the encoding.
261
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
100
262
  */
101
263
  export declare const decodeMetadataValue: (type: string, value: unknown) => unknown;
102
264
  /**
@@ -106,6 +268,12 @@ export declare const decodeMetadataValue: (type: string, value: unknown) => unkn
106
268
  * a bigint holds a number, and `tags.Example<"Infinity">` on a number holds a
107
269
  * string. So a value encoded as a string, a bigint's digits or a non-finite
108
270
  * number's name, arrives with the type it stands for in `encoding`.
271
+ *
272
+ * @evidence contracts/common.md#principled-implementation A tag's target is the type it tags, so a value carried as a string states the type it stands for in `encoding`.
273
+ * @evidence contracts/common.md#clear-and-simple-design One conditional over `decodeMetadataValue`.
274
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It follows the documented encoding.
275
+ * @evidence contracts/common.md#meaningful-documentation The comment states why the encoding exists.
276
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
109
277
  */
110
278
  export declare const decodeTagValue: (tag: IMetadataTypeTag & {
111
279
  encoding?: "bigint" | "number";
@@ -115,11 +283,38 @@ export declare const decodeTagValue: (tag: IMetadataTypeTag & {
115
283
  * the schema represents exactly one constant literal value and nothing else.
116
284
  * Used by sdk's type printer to fall back to literal emission instead of a
117
285
  * union.
286
+ *
287
+ * @evidence contracts/common.md#principled-implementation Every other form must be empty, the metadata must not be nullable, any, rest, or escaped, and there must be one constant with one value.
288
+ * @evidence contracts/common.md#clear-and-simple-design One function of guards.
289
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The list of forms is exhaustive over the metadata's members.
290
+ * @evidence contracts/common.md#meaningful-documentation The comment states the meaning.
291
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
118
292
  */
119
293
  export declare const isSoleLiteralOf: (m: IMetadataSchema) => boolean;
294
+ /**
295
+ * Indexes metadata component names in memory; component names are symbolic type
296
+ * identities rather than native pathnames.
297
+ *
298
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation Indexes metadata component names in memory; component names are symbolic type identities rather than native pathnames.
299
+ */
120
300
  export declare namespace MetadataComponents {
301
+ /**
302
+ * Builds the components with a dictionary indexing each kind by name.
303
+ *
304
+ * @evidence contracts/common.md#principled-implementation Each kind is a map from name to type, and the plain components are kept beside it.
305
+ * @evidence contracts/common.md#clear-and-simple-design One function.
306
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It only indexes.
307
+ * @evidence contracts/common.md#meaningful-documentation The comment states the result.
308
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
309
+ */
121
310
  const from: (plain: IMetadataComponents) => MetadataComponents;
122
311
  }
312
+ /**
313
+ * Resolves symbolic type references in a metadata graph; dictionary lookup owns
314
+ * no native file or process boundary.
315
+ *
316
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation Resolves symbolic type references in a metadata graph; dictionary lookup owns no native file or process boundary.
317
+ */
123
318
  export declare namespace MetadataSchema {
124
319
  /**
125
320
  * Walks the metadata tree and attaches the resolved `.type` field to every
@@ -127,21 +322,65 @@ export declare namespace MetadataSchema {
127
322
  * index. This is idempotent — references whose `.type` has already been
128
323
  * resolved are left alone — and mutates the input, matching the in-place
129
324
  * resolution model `@typia/core` 12.x used.
325
+ *
326
+ * @evidence contracts/common.md#principled-implementation The walk tracks visited targets, not wrapper schemas, because wrappers are rebuilt on this side and are not shared, so a cyclic type such as a node with children terminates.
327
+ * @evidence contracts/common.md#clear-and-simple-design One function over two private walkers.
328
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The in-place mutation is documented and is confined to the metadata the analysis owns.
329
+ * @evidence contracts/common.md#meaningful-documentation The comment states the mutation, the idempotence, and the cycle rule.
330
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
130
331
  */
131
332
  const from: (plain: IMetadataSchema, dictionary?: IMetadataDictionary) => IMetadataSchema;
132
333
  }
334
+ /**
335
+ * Validation of a metadata by a policy function.
336
+ *
337
+ * @evidence contracts/common.md#principled-implementation The namespace walks the metadata once and collects the messages of the validator, and holds the types of the walk.
338
+ * @evidence contracts/common.md#clear-and-simple-design One function and three types.
339
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The policies are the callers'.
340
+ * @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
341
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
342
+ */
133
343
  export declare namespace MetadataFactory {
344
+ /**
345
+ * Where a node is: its object, property, parameter, and whether it is an
346
+ * output.
347
+ *
348
+ * @evidence contracts/common.md#principled-implementation The record locates a visited node for the error report.
349
+ * @evidence contracts/common.md#clear-and-simple-design A four-member record.
350
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
351
+ * @evidence contracts/common.md#meaningful-documentation The comment states the members.
352
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
353
+ */
134
354
  interface IExplore {
135
355
  object: IMetadataSchema.IObjectType | null;
136
356
  property: string | null;
137
357
  parameter: string | null;
138
358
  output: boolean;
139
359
  }
360
+ /**
361
+ * A validation error: the name of the type, where it is, and the messages.
362
+ *
363
+ * @evidence contracts/common.md#principled-implementation The record is one violation of the policy.
364
+ * @evidence contracts/common.md#clear-and-simple-design A three-member record.
365
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
366
+ * @evidence contracts/common.md#meaningful-documentation The comment states the members.
367
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
368
+ */
140
369
  interface IError {
141
370
  name: string;
142
371
  explore: IExplore;
143
372
  messages: string[];
144
373
  }
374
+ /**
375
+ * A policy: it receives a node and its location and returns the messages of
376
+ * the violations, if any.
377
+ *
378
+ * @evidence contracts/common.md#principled-implementation The function type is the whole contract of a policy.
379
+ * @evidence contracts/common.md#clear-and-simple-design One function type.
380
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
381
+ * @evidence contracts/common.md#meaningful-documentation The comment states the arguments and the result.
382
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
383
+ */
145
384
  type Validator = (props: {
146
385
  metadata: IMetadataSchema;
147
386
  explore: IExplore;
@@ -154,13 +393,27 @@ export declare namespace MetadataFactory {
154
393
  * walker, kept lean: the typia native transform has already validated
155
394
  * structural invariants, so the validator is only called for SDK-side policy
156
395
  * checks (JSON-serializability, query/header atomic-only rules, …).
396
+ *
397
+ * @evidence contracts/common.md#principled-implementation The walk visits objects, arrays, tuples, aliases, and escaped types through their resolved references, tracking visited targets rather than wrappers, and reports each node with the location of its property.
398
+ * @evidence contracts/common.md#clear-and-simple-design One function with one recursive visitor.
399
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It calls only the caller's policy.
400
+ * @evidence contracts/common.md#meaningful-documentation The comment states the walk and the termination.
401
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
157
402
  */
158
403
  const validate: (props: {
159
- options?: unknown;
160
404
  functor: Validator;
161
405
  metadata: IMetadataSchema;
162
406
  }) => IError[];
163
407
  }
408
+ /**
409
+ * The JSON policy of the SDK.
410
+ *
411
+ * @evidence contracts/common.md#principled-implementation The namespace holds the validator that rejects types JSON cannot carry.
412
+ * @evidence contracts/common.md#clear-and-simple-design One function.
413
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The rule is JSON's.
414
+ * @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
415
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
416
+ */
164
417
  export declare namespace JsonMetadataFactory {
165
418
  /**
166
419
  * Rejects metadata that cannot be losslessly JSON-serialized. The typia
@@ -168,9 +421,24 @@ export declare namespace JsonMetadataFactory {
168
421
  * only adds the JSON-policy bans the legacy `@typia/core` walker enforced —
169
422
  * bare `bigint` payloads, function-typed properties, and `Map` / `Set`
170
423
  * containers that have no canonical JSON representation.
424
+ *
425
+ * @evidence contracts/common.md#principled-implementation JSON has no representation for those four forms, so each is a violation, and other structural problems are already rejected by the transform.
426
+ * @evidence contracts/common.md#clear-and-simple-design One function of four checks.
427
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The list is the JSON limitation.
428
+ * @evidence contracts/common.md#meaningful-documentation The comment states the four bans.
429
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
171
430
  */
172
431
  const validate: MetadataFactory.Validator;
173
432
  }
433
+ /**
434
+ * Produces the JSON schemas of metadata from what the transform baked.
435
+ *
436
+ * @evidence contracts/common.md#principled-implementation The namespace copies the baked schemas and components, and falls back to a small converter for metadata without a bake.
437
+ * @evidence contracts/common.md#clear-and-simple-design Two functions with a private converter.
438
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The copies keep one composition from editing another's data.
439
+ * @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
440
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
441
+ */
174
442
  export declare namespace JsonSchemasProgrammer {
175
443
  /**
176
444
  * Consumes the per-metadata `jsonSchema` field the nestia transform
@@ -182,9 +450,15 @@ export declare namespace JsonSchemasProgrammer {
182
450
  *
183
451
  * The schemas and components are copies. The bake belongs to the route
184
452
  * metadata, which every composition in the process reads, while the composer
185
- * edits what it is given in place (the readonly-array emender), and so can a
186
- * `SwaggerCustomizer`; handing the bake out by reference let each document
187
- * inherit the previous one's edits.
453
+ * may edit what it is given in place, and so can a `SwaggerCustomizer`;
454
+ * handing the bake out by reference let each document inherit the previous
455
+ * one's edits.
456
+ *
457
+ * @evidence contracts/common.md#principled-implementation The bake belongs to route metadata that every composition reads while the composer edits its input in place, so copies are returned, and the components are copied once after the last bake of each name wins.
458
+ * @evidence contracts/common.md#clear-and-simple-design One function.
459
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The fallback is stated as weaker than the bake.
460
+ * @evidence contracts/common.md#meaningful-documentation The comment states the copies and the fallback.
461
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
188
462
  */
189
463
  const writeSchemas: (props: {
190
464
  version: "3.0" | "3.1";
@@ -201,6 +475,12 @@ export declare namespace JsonSchemasProgrammer {
201
475
  * entry for the property, because typia's object schema omits it, so no
202
476
  * parameter describes it either. Only metadata the transform did not bake
203
477
  * falls back to {@link writeSchemas} over the property value.
478
+ *
479
+ * @evidence contracts/common.md#principled-implementation The property schemas are baked beside the metadata's own schema and resolved against the same components, copied for the same reason as `writeSchemas`, and a bake without the property means typia omits it.
480
+ * @evidence contracts/common.md#clear-and-simple-design One function.
481
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Only metadata without a bake falls back.
482
+ * @evidence contracts/common.md#meaningful-documentation The comment states the result and the null case.
483
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation This metadata adapter represents schema values, named type references and validation results in memory. It neither interprets native pathname identity nor opens files or launches processes.
204
484
  */
205
485
  const writeProperty: (props: {
206
486
  version: "3.0" | "3.1";