@nestia/sdk 14.0.0 → 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 (391) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle/distribute/build-sdk.cjs +28 -0
  3. package/assets/bundle/distribute/package.json +7 -3
  4. package/assets/bundle/distribute/tsconfig.json +15 -105
  5. package/lib/INestiaConfig.d.ts +74 -34
  6. package/lib/NestiaSdkApplication.d.ts +60 -0
  7. package/lib/NestiaSdkApplication.js +121 -32
  8. package/lib/NestiaSdkApplication.js.map +1 -1
  9. package/lib/NestiaSwaggerComposer.d.ts +21 -0
  10. package/lib/NestiaSwaggerComposer.js +32 -13
  11. package/lib/NestiaSwaggerComposer.js.map +1 -1
  12. package/lib/analyses/AccessorAnalyzer.d.ts +26 -0
  13. package/lib/analyses/AccessorAnalyzer.js +26 -0
  14. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  15. package/lib/analyses/ConfigAnalyzer.d.ts +41 -0
  16. package/lib/analyses/ConfigAnalyzer.js +52 -77
  17. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  18. package/lib/analyses/ImportAnalyzer.d.ts +25 -0
  19. package/lib/analyses/ImportAnalyzer.js +25 -0
  20. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  21. package/lib/analyses/ParameterNameAnalyzer.d.ts +44 -0
  22. package/lib/analyses/ParameterNameAnalyzer.js +63 -0
  23. package/lib/analyses/ParameterNameAnalyzer.js.map +1 -0
  24. package/lib/analyses/PathAnalyzer.d.ts +93 -1
  25. package/lib/analyses/PathAnalyzer.js +160 -23
  26. package/lib/analyses/PathAnalyzer.js.map +1 -1
  27. package/lib/analyses/ReflectControllerAnalyzer.d.ts +32 -0
  28. package/lib/analyses/ReflectControllerAnalyzer.js +24 -1
  29. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  30. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +29 -0
  31. package/lib/analyses/ReflectHttpOperationAnalyzer.js +35 -24
  32. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  33. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +31 -0
  34. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +21 -0
  35. package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
  36. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +31 -0
  37. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +143 -23
  38. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
  39. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +32 -0
  40. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +27 -2
  41. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  42. package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +29 -0
  43. package/lib/analyses/ReflectMcpOperationAnalyzer.js +35 -11
  44. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -1
  45. package/lib/analyses/ReflectMetadataAnalyzer.d.ts +47 -0
  46. package/lib/analyses/ReflectMetadataAnalyzer.js +47 -0
  47. package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
  48. package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +29 -0
  49. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +27 -5
  50. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  51. package/lib/analyses/SecurityAnalyzer.d.ts +25 -0
  52. package/lib/analyses/SecurityAnalyzer.js +39 -19
  53. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  54. package/lib/analyses/SwaggerExampleAnalyzer.d.ts +31 -0
  55. package/lib/analyses/SwaggerExampleAnalyzer.js +36 -0
  56. package/lib/analyses/SwaggerExampleAnalyzer.js.map +1 -0
  57. package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +41 -3
  58. package/lib/analyses/TypedHttpRouteAnalyzer.js +196 -172
  59. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
  60. package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +29 -0
  61. package/lib/analyses/TypedMcpRouteAnalyzer.js +152 -20
  62. package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -1
  63. package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +19 -0
  64. package/lib/analyses/TypedWebSocketRouteAnalyzer.js +20 -1
  65. package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
  66. package/lib/decorators/OperationMetadata.d.ts +6 -0
  67. package/lib/decorators/OperationMetadata.js +6 -0
  68. package/lib/decorators/OperationMetadata.js.map +1 -1
  69. package/lib/executable/internal/CommandParser.d.ts +19 -0
  70. package/lib/executable/internal/CommandParser.js +19 -0
  71. package/lib/executable/internal/CommandParser.js.map +1 -1
  72. package/lib/executable/internal/NestiaConfigLoader.d.ts +56 -0
  73. package/lib/executable/internal/NestiaConfigLoader.js +48 -42
  74. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  75. package/lib/executable/internal/NestiaSdkCommand.d.ts +60 -0
  76. package/lib/executable/internal/NestiaSdkCommand.js +95 -3
  77. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  78. package/lib/executable/internal/NestiaSdkWatcher.d.ts +81 -0
  79. package/lib/executable/internal/NestiaSdkWatcher.js +125 -41
  80. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -1
  81. package/lib/executable/internal/NestiaSwaggerWatch.d.ts +80 -0
  82. package/lib/executable/internal/NestiaSwaggerWatch.js +308 -0
  83. package/lib/executable/internal/NestiaSwaggerWatch.js.map +1 -0
  84. package/lib/executable/sdk.js +16 -1
  85. package/lib/executable/sdk.js.map +1 -1
  86. package/lib/factories/ExpressionFactory.d.ts +18 -0
  87. package/lib/factories/ExpressionFactory.js +21 -2
  88. package/lib/factories/ExpressionFactory.js.map +1 -1
  89. package/lib/factories/IdentifierFactory.d.ts +24 -0
  90. package/lib/factories/IdentifierFactory.js +24 -0
  91. package/lib/factories/IdentifierFactory.js.map +1 -1
  92. package/lib/factories/LiteralFactory.d.ts +22 -4
  93. package/lib/factories/LiteralFactory.js +33 -11
  94. package/lib/factories/LiteralFactory.js.map +1 -1
  95. package/lib/factories/StatementFactory.d.ts +28 -1
  96. package/lib/factories/StatementFactory.js +28 -1
  97. package/lib/factories/StatementFactory.js.map +1 -1
  98. package/lib/factories/TypeFactory.d.ts +24 -0
  99. package/lib/factories/TypeFactory.js +15 -0
  100. package/lib/factories/TypeFactory.js.map +1 -1
  101. package/lib/generates/CloneGenerator.d.ts +22 -0
  102. package/lib/generates/CloneGenerator.js +26 -5
  103. package/lib/generates/CloneGenerator.js.map +1 -1
  104. package/lib/generates/E2eGenerator.d.ts +19 -0
  105. package/lib/generates/E2eGenerator.js +19 -0
  106. package/lib/generates/E2eGenerator.js.map +1 -1
  107. package/lib/generates/SdkGenerator.d.ts +38 -0
  108. package/lib/generates/SdkGenerator.js +43 -5
  109. package/lib/generates/SdkGenerator.js.map +1 -1
  110. package/lib/generates/SwaggerGenerator.d.ts +36 -6
  111. package/lib/generates/SwaggerGenerator.js +190 -40
  112. package/lib/generates/SwaggerGenerator.js.map +1 -1
  113. package/lib/generates/internal/E2eFileProgrammer.d.ts +19 -0
  114. package/lib/generates/internal/E2eFileProgrammer.js +20 -1
  115. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  116. package/lib/generates/internal/FilePrinter.d.ts +57 -0
  117. package/lib/generates/internal/FilePrinter.js +74 -0
  118. package/lib/generates/internal/FilePrinter.js.map +1 -1
  119. package/lib/generates/internal/ImportDictionary.d.ts +93 -1
  120. package/lib/generates/internal/ImportDictionary.js +103 -2
  121. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  122. package/lib/generates/internal/SdkAliasCollection.d.ts +121 -1
  123. package/lib/generates/internal/SdkAliasCollection.js +132 -11
  124. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  125. package/lib/generates/internal/SdkDistributionComposer.d.ts +19 -0
  126. package/lib/generates/internal/SdkDistributionComposer.js +149 -52
  127. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  128. package/lib/generates/internal/SdkFileProgrammer.d.ts +18 -0
  129. package/lib/generates/internal/SdkFileProgrammer.js +101 -12
  130. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  131. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +29 -0
  132. package/lib/generates/internal/SdkHttpCloneProgrammer.js +33 -0
  133. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  134. package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +19 -0
  135. package/lib/generates/internal/SdkHttpCloneReferencer.js +78 -25
  136. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  137. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +19 -0
  138. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +40 -23
  139. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  140. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +19 -0
  141. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +46 -34
  142. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  143. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +142 -1
  144. package/lib/generates/internal/SdkHttpParameterProgrammer.js +175 -6
  145. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  146. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +20 -0
  147. package/lib/generates/internal/SdkHttpRouteProgrammer.js +36 -32
  148. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  149. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +38 -0
  150. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +66 -18
  151. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  152. package/lib/generates/internal/SdkImportWizard.d.ts +63 -0
  153. package/lib/generates/internal/SdkImportWizard.js +63 -0
  154. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  155. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +17 -2
  156. package/lib/generates/internal/SdkMcpRouteProgrammer.js +72 -24
  157. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  158. package/lib/generates/internal/SdkPathTemplate.d.ts +36 -0
  159. package/lib/generates/internal/SdkPathTemplate.js +65 -0
  160. package/lib/generates/internal/SdkPathTemplate.js.map +1 -0
  161. package/lib/generates/internal/SdkRouteDirectory.d.ts +10 -0
  162. package/lib/generates/internal/SdkRouteDirectory.js +10 -0
  163. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  164. package/lib/generates/internal/SdkTypeProgrammer.d.ts +54 -1
  165. package/lib/generates/internal/SdkTypeProgrammer.js +111 -27
  166. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  167. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +53 -1
  168. package/lib/generates/internal/SdkTypeTagProgrammer.js +407 -67
  169. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  170. package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +40 -0
  171. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +149 -142
  172. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -1
  173. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +19 -0
  174. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +46 -36
  175. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  176. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +114 -1
  177. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +120 -5
  178. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  179. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +18 -0
  180. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +75 -33
  181. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  182. package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +42 -0
  183. package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -1
  184. package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
  185. package/lib/generates/internal/SwaggerOperationComposer.d.ts +18 -0
  186. package/lib/generates/internal/SwaggerOperationComposer.js +37 -8
  187. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
  188. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +40 -1
  189. package/lib/generates/internal/SwaggerOperationParameterComposer.js +230 -25
  190. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  191. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +21 -0
  192. package/lib/generates/internal/SwaggerOperationResponseComposer.js +58 -7
  193. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  194. package/lib/internal/legacy.d.ts +342 -31
  195. package/lib/internal/legacy.js +207 -31
  196. package/lib/internal/legacy.js.map +1 -1
  197. package/lib/structures/INestiaProject.d.ts +10 -0
  198. package/lib/structures/INestiaSdkInput.d.ts +30 -0
  199. package/lib/structures/IOperationMetadata.d.ts +77 -0
  200. package/lib/structures/IReflectController.d.ts +10 -0
  201. package/lib/structures/IReflectHttpOperation.d.ts +10 -0
  202. package/lib/structures/IReflectHttpOperationException.d.ts +13 -2
  203. package/lib/structures/IReflectHttpOperationParameter.d.ts +55 -3
  204. package/lib/structures/IReflectHttpOperationSuccess.d.ts +15 -3
  205. package/lib/structures/IReflectImport.d.ts +10 -0
  206. package/lib/structures/IReflectMcpOperation.d.ts +19 -0
  207. package/lib/structures/IReflectMcpOperationParameter.d.ts +9 -0
  208. package/lib/structures/IReflectOperationError.d.ts +28 -0
  209. package/lib/structures/IReflectOperationError.js +22 -2
  210. package/lib/structures/IReflectOperationError.js.map +1 -1
  211. package/lib/structures/IReflectType.d.ts +9 -0
  212. package/lib/structures/IReflectWebSocketOperation.d.ts +10 -0
  213. package/lib/structures/IReflectWebSocketOperationParameter.d.ts +55 -0
  214. package/lib/structures/ITypedApplication.d.ts +10 -0
  215. package/lib/structures/ITypedHttpRoute.d.ts +18 -0
  216. package/lib/structures/ITypedHttpRouteException.d.ts +13 -1
  217. package/lib/structures/ITypedHttpRouteParameter.d.ts +48 -1
  218. package/lib/structures/ITypedHttpRouteSuccess.d.ts +13 -1
  219. package/lib/structures/ITypedMcpRoute.d.ts +11 -0
  220. package/lib/structures/ITypedWebSocketRoute.d.ts +18 -0
  221. package/lib/transform.d.ts +6 -0
  222. package/lib/transform.js +6 -0
  223. package/lib/transform.js.map +1 -1
  224. package/lib/utils/ArrayUtil.d.ts +31 -1
  225. package/lib/utils/ArrayUtil.js +32 -11
  226. package/lib/utils/ArrayUtil.js.map +1 -1
  227. package/lib/utils/EmittedJavaScriptPatcher.d.ts +20 -0
  228. package/lib/utils/EmittedJavaScriptPatcher.js +65 -46
  229. package/lib/utils/EmittedJavaScriptPatcher.js.map +1 -1
  230. package/lib/utils/FileRetriever.d.ts +29 -0
  231. package/lib/utils/FileRetriever.js +29 -0
  232. package/lib/utils/FileRetriever.js.map +1 -1
  233. package/lib/utils/HttpResponseContentTypeUtil.d.ts +41 -0
  234. package/lib/utils/HttpResponseContentTypeUtil.js +31 -0
  235. package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -1
  236. package/lib/utils/MapUtil.d.ts +64 -1
  237. package/lib/utils/MapUtil.js +24 -3
  238. package/lib/utils/MapUtil.js.map +1 -1
  239. package/lib/utils/PathUtil.d.ts +31 -0
  240. package/lib/utils/PathUtil.js +38 -0
  241. package/lib/utils/PathUtil.js.map +1 -1
  242. package/lib/utils/SdkBundlePath.d.ts +2 -0
  243. package/lib/utils/SdkBundlePath.js +10 -0
  244. package/lib/utils/SdkBundlePath.js.map +1 -0
  245. package/lib/utils/SdkInputFilter.d.ts +31 -0
  246. package/lib/utils/SdkInputFilter.js +115 -0
  247. package/lib/utils/SdkInputFilter.js.map +1 -0
  248. package/lib/utils/SourceFinder.d.ts +45 -0
  249. package/lib/utils/SourceFinder.js +74 -16
  250. package/lib/utils/SourceFinder.js.map +1 -1
  251. package/lib/utils/StringUtil.d.ts +77 -2
  252. package/lib/utils/StringUtil.js +166 -4
  253. package/lib/utils/StringUtil.js.map +1 -1
  254. package/lib/utils/TemporaryDirectory.d.ts +60 -0
  255. package/lib/utils/TemporaryDirectory.js +112 -0
  256. package/lib/utils/TemporaryDirectory.js.map +1 -0
  257. package/lib/utils/TsConfigReader.d.ts +42 -0
  258. package/lib/utils/TsConfigReader.js +98 -14
  259. package/lib/utils/TsConfigReader.js.map +1 -1
  260. package/lib/utils/TtscExecutor.d.ts +23 -1
  261. package/lib/utils/TtscExecutor.js +22 -0
  262. package/lib/utils/TtscExecutor.js.map +1 -1
  263. package/lib/utils/VersioningStrategy.d.ts +39 -2
  264. package/lib/utils/VersioningStrategy.js +46 -13
  265. package/lib/utils/VersioningStrategy.js.map +1 -1
  266. package/lib/validators/TextPlainValidator.d.ts +19 -0
  267. package/lib/validators/TextPlainValidator.js +19 -0
  268. package/lib/validators/TextPlainValidator.js.map +1 -1
  269. package/native/go.mod +1 -1
  270. package/native/go.sum +2 -2
  271. package/native/sdk/register.go +12 -2
  272. package/native/sdk/sdk_http_rules.go +210 -0
  273. package/native/sdk/sdk_metadata_json.go +79 -4
  274. package/native/sdk/sdk_transform.go +1157 -414
  275. package/package.json +8 -6
  276. package/src/INestiaConfig.ts +74 -34
  277. package/src/NestiaSdkApplication.ts +129 -41
  278. package/src/NestiaSwaggerComposer.ts +32 -14
  279. package/src/analyses/AccessorAnalyzer.ts +26 -0
  280. package/src/analyses/ConfigAnalyzer.ts +52 -90
  281. package/src/analyses/ImportAnalyzer.ts +25 -0
  282. package/src/analyses/ParameterNameAnalyzer.ts +75 -0
  283. package/src/analyses/PathAnalyzer.ts +167 -23
  284. package/src/analyses/ReflectControllerAnalyzer.ts +34 -1
  285. package/src/analyses/ReflectHttpOperationAnalyzer.ts +36 -14
  286. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +31 -0
  287. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +153 -39
  288. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +38 -7
  289. package/src/analyses/ReflectMcpOperationAnalyzer.ts +38 -3
  290. package/src/analyses/ReflectMetadataAnalyzer.ts +47 -0
  291. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +40 -7
  292. package/src/analyses/SecurityAnalyzer.ts +45 -20
  293. package/src/analyses/SwaggerExampleAnalyzer.ts +39 -0
  294. package/src/analyses/TypedHttpRouteAnalyzer.ts +263 -198
  295. package/src/analyses/TypedMcpRouteAnalyzer.ts +180 -20
  296. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +20 -0
  297. package/src/decorators/OperationMetadata.ts +6 -0
  298. package/src/executable/internal/CommandParser.ts +19 -0
  299. package/src/executable/internal/NestiaConfigLoader.ts +66 -50
  300. package/src/executable/internal/NestiaSdkCommand.ts +96 -3
  301. package/src/executable/internal/NestiaSdkWatcher.ts +172 -44
  302. package/src/executable/internal/NestiaSwaggerWatch.ts +359 -0
  303. package/src/executable/sdk.ts +24 -1
  304. package/src/factories/ExpressionFactory.ts +23 -2
  305. package/src/factories/IdentifierFactory.ts +24 -0
  306. package/src/factories/LiteralFactory.ts +51 -13
  307. package/src/factories/StatementFactory.ts +28 -1
  308. package/src/factories/TypeFactory.ts +24 -0
  309. package/src/generates/CloneGenerator.ts +26 -5
  310. package/src/generates/E2eGenerator.ts +19 -0
  311. package/src/generates/SdkGenerator.ts +43 -12
  312. package/src/generates/SwaggerGenerator.ts +229 -46
  313. package/src/generates/internal/E2eFileProgrammer.ts +20 -0
  314. package/src/generates/internal/FilePrinter.ts +71 -0
  315. package/src/generates/internal/ImportDictionary.ts +120 -2
  316. package/src/generates/internal/SdkAliasCollection.ts +144 -15
  317. package/src/generates/internal/SdkDistributionComposer.ts +181 -56
  318. package/src/generates/internal/SdkFileProgrammer.ts +126 -16
  319. package/src/generates/internal/SdkHttpCloneProgrammer.ts +55 -0
  320. package/src/generates/internal/SdkHttpCloneReferencer.ts +97 -23
  321. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +47 -30
  322. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +53 -64
  323. package/src/generates/internal/SdkHttpParameterProgrammer.ts +295 -13
  324. package/src/generates/internal/SdkHttpRouteProgrammer.ts +37 -31
  325. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +122 -18
  326. package/src/generates/internal/SdkImportWizard.ts +63 -0
  327. package/src/generates/internal/SdkMcpRouteProgrammer.ts +150 -33
  328. package/src/generates/internal/SdkPathTemplate.ts +88 -0
  329. package/src/generates/internal/SdkRouteDirectory.ts +10 -0
  330. package/src/generates/internal/SdkTypeProgrammer.ts +137 -36
  331. package/src/generates/internal/SdkTypeTagProgrammer.ts +536 -78
  332. package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +185 -142
  333. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +62 -68
  334. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +205 -5
  335. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +89 -48
  336. package/src/generates/internal/SwaggerDescriptionComposer.ts +47 -1
  337. package/src/generates/internal/SwaggerOperationComposer.ts +38 -6
  338. package/src/generates/internal/SwaggerOperationParameterComposer.ts +318 -36
  339. package/src/generates/internal/SwaggerOperationResponseComposer.ts +74 -11
  340. package/src/internal/legacy-augmentation.d.ts +16 -0
  341. package/src/internal/legacy.ts +407 -49
  342. package/src/structures/INestiaProject.ts +10 -0
  343. package/src/structures/INestiaSdkInput.ts +30 -0
  344. package/src/structures/IOperationMetadata.ts +83 -0
  345. package/src/structures/IReflectController.ts +10 -0
  346. package/src/structures/IReflectHttpOperation.ts +10 -0
  347. package/src/structures/IReflectHttpOperationException.ts +17 -2
  348. package/src/structures/IReflectHttpOperationParameter.ts +56 -2
  349. package/src/structures/IReflectHttpOperationSuccess.ts +19 -3
  350. package/src/structures/IReflectImport.ts +10 -0
  351. package/src/structures/IReflectMcpOperation.ts +19 -0
  352. package/src/structures/IReflectMcpOperationParameter.ts +9 -0
  353. package/src/structures/IReflectOperationError.ts +31 -2
  354. package/src/structures/IReflectType.ts +9 -0
  355. package/src/structures/IReflectWebSocketOperation.ts +10 -0
  356. package/src/structures/IReflectWebSocketOperationParameter.ts +55 -0
  357. package/src/structures/ITypedApplication.ts +10 -0
  358. package/src/structures/ITypedHttpRoute.ts +18 -0
  359. package/src/structures/ITypedHttpRouteException.ts +14 -1
  360. package/src/structures/ITypedHttpRouteParameter.ts +48 -1
  361. package/src/structures/ITypedHttpRouteSuccess.ts +14 -1
  362. package/src/structures/ITypedMcpRoute.ts +12 -0
  363. package/src/structures/ITypedWebSocketRoute.ts +18 -0
  364. package/src/transform.ts +6 -0
  365. package/src/utils/ArrayUtil.ts +32 -13
  366. package/src/utils/EmittedJavaScriptPatcher.ts +70 -47
  367. package/src/utils/FileRetriever.ts +29 -0
  368. package/src/utils/HttpResponseContentTypeUtil.ts +41 -0
  369. package/src/utils/MapUtil.ts +68 -3
  370. package/src/utils/PathUtil.ts +38 -0
  371. package/src/utils/SdkBundlePath.ts +11 -0
  372. package/src/utils/SdkInputFilter.ts +108 -0
  373. package/src/utils/SourceFinder.ts +76 -18
  374. package/src/utils/StringUtil.ts +182 -5
  375. package/src/utils/TemporaryDirectory.ts +108 -0
  376. package/src/utils/TsConfigReader.ts +124 -26
  377. package/src/utils/TtscExecutor.ts +23 -1
  378. package/src/utils/VersioningStrategy.ts +51 -16
  379. package/src/validators/TextPlainValidator.ts +19 -0
  380. package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +0 -9
  381. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +0 -178
  382. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +0 -1
  383. package/lib/validators/HttpHeadersValidator.d.ts +0 -11
  384. package/lib/validators/HttpHeadersValidator.js +0 -15
  385. package/lib/validators/HttpHeadersValidator.js.map +0 -1
  386. package/lib/validators/HttpQueryValidator.d.ts +0 -10
  387. package/lib/validators/HttpQueryValidator.js +0 -14
  388. package/lib/validators/HttpQueryValidator.js.map +0 -1
  389. package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +0 -264
  390. package/src/validators/HttpHeadersValidator.ts +0 -12
  391. package/src/validators/HttpQueryValidator.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"E2eFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/E2eFileProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"E2eFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/E2eFileProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,64 @@
1
1
  import { type Node } from "@ttsc/factory";
2
+ /**
3
+ * Prints generated syntax trees to files.
4
+ *
5
+ * @evidence contracts/common.md#principled-implementation The namespace attaches comments, writes tags, prints statements, and formats the result.
6
+ * @evidence contracts/common.md#clear-and-simple-design Four functions and one private formatter.
7
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Formatting failure keeps the unformatted script.
8
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
9
+ * @evidence contracts/portability.md#os-neutral-implementation Only write crosses the native filesystem boundary, through fs.promises.writeFile with the caller's location and UTF-8. The other helpers construct language comments and syntax independently of native path identity or separators.
10
+ */
2
11
  export declare namespace FilePrinter {
12
+ /**
13
+ * Attaches a comment to a node as a JSDoc block, escaping every comment
14
+ * terminator in it so the comment cannot end early.
15
+ *
16
+ * @evidence contracts/common.md#principled-implementation Each line of the comment becomes one JSDoc line and an empty comment adds nothing.
17
+ * @evidence contracts/common.md#clear-and-simple-design One function.
18
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The closing marker is escaped rather than dropped.
19
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
20
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation description attaches language-level comment text to an AST and performs no native filesystem or process operation.
21
+ */
3
22
  const description: <T extends Node>(node: T, comment: string) => T;
23
+ /**
24
+ * Writes a JSDoc tag so TypeScript reads its text back as it is.
25
+ *
26
+ * TypeScript takes a continued line's margin off up to the column the text
27
+ * began at: past `@<head> ` when the text starts on the tag's line, or the
28
+ * tag's own column when it starts on the next one. So a text whose first line
29
+ * is indented, such as an `@example`'s code, starts on the next line, and any
30
+ * other text continues at its first line's column. Either way every line
31
+ * keeps the indentation it has beyond the margin.
32
+ *
33
+ * @param head The tag's name, followed by a `@param` tag's parameter name
34
+ * @param text The tag's text
35
+ * @evidence contracts/common.md#principled-implementation The margin is the width of the head, and a text whose first line is indented starts on the next line.
36
+ * @evidence contracts/common.md#clear-and-simple-design One function.
37
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Every line keeps the indentation it has beyond the margin.
38
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
39
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation jsDocTag formats TypeScript comment text; indentation and line feeds express language syntax rather than native paths or handles.
40
+ */
41
+ const jsDocTag: (head: string, text: string) => string;
42
+ /**
43
+ * Returns a statement that prints as an empty line.
44
+ *
45
+ * @evidence contracts/common.md#principled-implementation A line break is an identifier statement, which the printer emits between its neighbors.
46
+ * @evidence contracts/common.md#clear-and-simple-design One expression.
47
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The printer places the break where it is used.
48
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
49
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation enter returns a language AST node and owns no filesystem or process boundary.
50
+ */
4
51
  const enter: () => import("@ttsc/factory").ExpressionStatement;
52
+ /**
53
+ * Prints the statements to the location, prefixed by the optional top text,
54
+ * and formats the script.
55
+ *
56
+ * @evidence contracts/common.md#principled-implementation The script is formatted with Prettier, and the unformatted script is written when the formatter throws, so a formatting failure never loses the file.
57
+ * @evidence contracts/common.md#clear-and-simple-design One function.
58
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The write is awaited and its failure is thrown.
59
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
60
+ * @evidence contracts/portability.md#os-neutral-implementation writeFile receives the native pathname as a separate argument and writes UTF-8 after formatting. Its caller owns parent-directory creation; write failures propagate on every platform without shell quoting or separator rewriting.
61
+ */
5
62
  const write: (props: {
6
63
  location: string;
7
64
  statements: Node[];
@@ -16,8 +16,27 @@ exports.FilePrinter = void 0;
16
16
  const factory_1 = require("@ttsc/factory");
17
17
  const fs_1 = __importDefault(require("fs"));
18
18
  const prettier_1 = require("prettier");
19
+ /**
20
+ * Prints generated syntax trees to files.
21
+ *
22
+ * @evidence contracts/common.md#principled-implementation The namespace attaches comments, writes tags, prints statements, and formats the result.
23
+ * @evidence contracts/common.md#clear-and-simple-design Four functions and one private formatter.
24
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Formatting failure keeps the unformatted script.
25
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
26
+ * @evidence contracts/portability.md#os-neutral-implementation Only write crosses the native filesystem boundary, through fs.promises.writeFile with the caller's location and UTF-8. The other helpers construct language comments and syntax independently of native path identity or separators.
27
+ */
19
28
  var FilePrinter;
20
29
  (function (FilePrinter) {
30
+ /**
31
+ * Attaches a comment to a node as a JSDoc block, escaping every comment
32
+ * terminator in it so the comment cannot end early.
33
+ *
34
+ * @evidence contracts/common.md#principled-implementation Each line of the comment becomes one JSDoc line and an empty comment adds nothing.
35
+ * @evidence contracts/common.md#clear-and-simple-design One function.
36
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The closing marker is escaped rather than dropped.
37
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
38
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation description attaches language-level comment text to an AST and performs no native filesystem or process operation.
39
+ */
21
40
  FilePrinter.description = (node, comment) => {
22
41
  if (comment.length === 0)
23
42
  return node;
@@ -31,7 +50,62 @@ var FilePrinter;
31
50
  "",
32
51
  ].join("\n"), true);
33
52
  };
53
+ /**
54
+ * Writes a JSDoc tag so TypeScript reads its text back as it is.
55
+ *
56
+ * TypeScript takes a continued line's margin off up to the column the text
57
+ * began at: past `@<head> ` when the text starts on the tag's line, or the
58
+ * tag's own column when it starts on the next one. So a text whose first line
59
+ * is indented, such as an `@example`'s code, starts on the next line, and any
60
+ * other text continues at its first line's column. Either way every line
61
+ * keeps the indentation it has beyond the margin.
62
+ *
63
+ * @param head The tag's name, followed by a `@param` tag's parameter name
64
+ * @param text The tag's text
65
+ * @evidence contracts/common.md#principled-implementation The margin is the width of the head, and a text whose first line is indented starts on the next line.
66
+ * @evidence contracts/common.md#clear-and-simple-design One function.
67
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Every line keeps the indentation it has beyond the margin.
68
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
69
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation jsDocTag formats TypeScript comment text; indentation and line feeds express language syntax rather than native paths or handles.
70
+ */
71
+ FilePrinter.jsDocTag = (head, text) => {
72
+ const lines = text.split("\n").map((line) => line.trimEnd());
73
+ while (lines.length !== 0 && lines[0] === "")
74
+ lines.shift();
75
+ while (lines.length !== 0 && lines.at(-1) === "")
76
+ lines.pop();
77
+ if (lines.length === 0)
78
+ return `@${head}`;
79
+ else if (/^\s/.test(lines[0]))
80
+ return [`@${head}`, ...lines].join("\n");
81
+ const margin = " ".repeat(head.length + 2);
82
+ return [
83
+ `@${head} ${lines[0]}`,
84
+ ...lines
85
+ .slice(1)
86
+ .map((line) => (line.length ? `${margin}${line}` : line)),
87
+ ].join("\n");
88
+ };
89
+ /**
90
+ * Returns a statement that prints as an empty line.
91
+ *
92
+ * @evidence contracts/common.md#principled-implementation A line break is an identifier statement, which the printer emits between its neighbors.
93
+ * @evidence contracts/common.md#clear-and-simple-design One expression.
94
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The printer places the break where it is used.
95
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
96
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation enter returns a language AST node and owns no filesystem or process boundary.
97
+ */
34
98
  FilePrinter.enter = () => factory_1.factory.createExpressionStatement(factory_1.factory.createIdentifier("\n"));
99
+ /**
100
+ * Prints the statements to the location, prefixed by the optional top text,
101
+ * and formats the script.
102
+ *
103
+ * @evidence contracts/common.md#principled-implementation The script is formatted with Prettier, and the unformatted script is written when the formatter throws, so a formatting failure never loses the file.
104
+ * @evidence contracts/common.md#clear-and-simple-design One function.
105
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The write is awaited and its failure is thrown.
106
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
107
+ * @evidence contracts/portability.md#os-neutral-implementation writeFile receives the native pathname as a separate argument and writes UTF-8 after formatting. Its caller owns parent-directory creation; write failures propagate on every platform without shell quoting or separator rewriting.
108
+ */
35
109
  FilePrinter.write = (props) => __awaiter(this, void 0, void 0, function* () {
36
110
  var _a;
37
111
  const script = ((_a = props.top) !== null && _a !== void 0 ? _a : "") +
@@ -1 +1 @@
1
- {"version":3,"file":"FilePrinter.js","sourceRoot":"","sources":["../../../src/generates/internal/FilePrinter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAOuB;AACvB,4CAAoB;AACpB,uCAAkC;AAElC,IAAiB,WAAW,CA6C3B;AA7CD,WAAiB,WAAW;IACb,uBAAW,GAAG,CAAiB,IAAO,EAAE,OAAe,EAAK,EAAE;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,IAAA,oCAA0B,EAC/B,IAAI,EACJ,oBAAU,CAAC,sBAAsB,EACjC;YACE,GAAG;YACH,GAAG,OAAO;iBACP,KAAK,CAAC,MAAM,CAAC;iBACb,IAAI,CAAC,IAAI,CAAC;iBACV,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACtE;YACH,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,IAAI,CACL,CAAC;IACJ,CAAC,CAAC;IAEW,iBAAK,GAAG,GAAG,EAAE,CACxB,iBAAO,CAAC,yBAAyB,CAAC,iBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvD,iBAAK,GAAG,CAAO,KAI3B,EAAiB,EAAE;;QAClB,MAAM,MAAM,GACV,OAAC,KAAK,CAAC,GAAG,mCAAI,EAAE,CAAC;YACjB,IAAI,mBAAS,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,UAAyB,CAAC,CAAC;QACxE,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC,CAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAO,MAAc,EAAmB,EAAE;QACzD,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,iBAAM,EAAC,MAAM,EAAE;gBAC1B,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC;mBAAO,CAAC;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CAAA,CAAC;AACJ,CAAC,EA7CgB,WAAW,aAAX,WAAW,GAAX,WAAW,QA6C3B"}
1
+ {"version":3,"file":"FilePrinter.js","sourceRoot":"","sources":["../../../src/generates/internal/FilePrinter.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,109 @@
1
1
  import { type Node } from "@ttsc/factory";
2
2
  import { IReflectImport } from "../../structures/IReflectImport";
3
+ /**
4
+ * The imports of one generated file, merged by module and kind, and printed as
5
+ * import declarations.
6
+ *
7
+ * @evidence contracts/common.md#principled-implementation An import is keyed by its module, its type-only flag, and its default or namespace name, so the same import is one declaration whose named bindings are collected in order.
8
+ * @evidence contracts/common.md#clear-and-simple-design One class with a hash map of components, and private helpers for the paths.
9
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The keys are equal exactly when the declarations can be merged.
10
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
11
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
12
+ */
3
13
  export declare class ImportDictionary {
4
14
  readonly file: string;
5
15
  private readonly components_;
6
16
  constructor(file: string);
17
+ /**
18
+ * Reports whether the file has no import.
19
+ *
20
+ * @evidence contracts/common.md#principled-implementation The dictionary is empty exactly when no component was registered.
21
+ * @evidence contracts/common.md#clear-and-simple-design One call.
22
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the map.
23
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
24
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation ImportDictionary.prototype.empty composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
25
+ */
7
26
  empty(): boolean;
27
+ /**
28
+ * Registers the imports a route's declarations need, merged by file, as
29
+ * type-only imports.
30
+ *
31
+ * The `WebSocketAcceptor` element is skipped, because the SDK refers to it
32
+ * through `tgrid`.
33
+ *
34
+ * @evidence contracts/common.md#principled-implementation Each namespace, default, and named import is registered under its alias so a name resolves to the same local binding.
35
+ * @evidence contracts/common.md#clear-and-simple-design One loop over the merged imports.
36
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The skipped element is the one binding that the generated code supplies itself.
37
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
38
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
39
+ */
8
40
  declarations(imports: IReflectImport[]): void;
41
+ /**
42
+ * Every identifier the imports bind in the file.
43
+ *
44
+ * @evidence contracts/common.md#principled-implementation The namespace, the default, and each named local are collected, so a caller can see what a route name would shadow.
45
+ * @evidence contracts/common.md#clear-and-simple-design One loop.
46
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the components without changing them.
47
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
48
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation ImportDictionary.prototype.locals composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
49
+ */
50
+ locals(): string[];
51
+ /**
52
+ * Returns registered bindings in the route import representation, retaining
53
+ * normalized module paths and local-to-exported aliases. The route emitter
54
+ * consumes these as type-only declarations.
55
+ *
56
+ * @evidence contracts/common.md#principled-implementation The projection reads the same normalized module keys and local-to-exported binding map used by toStatements, so a structural type writer and its route retain the same imports.
57
+ * @evidence contracts/common.md#clear-and-simple-design One projection over existing registrations.
58
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts No AST parsing or second import policy reconstructs the bindings.
59
+ * @evidence contracts/common.md#meaningful-documentation Documents normalized paths, alias direction and the route's type-only consumption.
60
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation ImportDictionary.prototype.toImports composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
61
+ */
62
+ toImports(): IReflectImport[];
63
+ /**
64
+ * Registers an import of a package and returns the local name it binds.
65
+ *
66
+ * @evidence contracts/common.md#principled-implementation The file is placed under `node_modules`, so the printer emits the bare package specifier.
67
+ * @evidence contracts/common.md#clear-and-simple-design One delegation.
68
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It shares the registration of `internal`.
69
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
70
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
71
+ */
9
72
  external(props: ImportDictionary.IProps): string;
73
+ /**
74
+ * Registers an import of a source file and returns the local name it binds.
75
+ *
76
+ * @evidence contracts/common.md#principled-implementation The path is normalized and its source extension removed, so equal normalized module spellings share a component, and a named binding is stored under its local name. Symlink and filesystem-case identity are not canonicalized.
77
+ * @evidence contracts/common.md#clear-and-simple-design One function.
78
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The result is the alias when there is one.
79
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
80
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
81
+ */
10
82
  internal(props: ImportDictionary.IProps): string;
83
+ /**
84
+ * Returns the import declarations, packages first and files after them,
85
+ * sorted by module, with paths relative to the output directory.
86
+ *
87
+ * @evidence contracts/common.md#principled-implementation The package paths are cut at their last `node_modules`, and a file path is made relative with forward slashes, so the output does not depend on the platform.
88
+ * @evidence contracts/common.md#clear-and-simple-design One function over one filter helper.
89
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Both groups are sorted and separated by one empty line.
90
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
91
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
92
+ */
11
93
  toStatements(outDir: string): Node[];
12
- private toImportClaude;
94
+ private toImportClause;
13
95
  }
14
96
  export declare namespace ImportDictionary {
97
+ /**
98
+ * One import to register: its kind, its module, its name, an optional alias,
99
+ * and whether it is type-only.
100
+ *
101
+ * @evidence contracts/common.md#principled-implementation The record is the argument of both registrations.
102
+ * @evidence contracts/common.md#clear-and-simple-design A flat record.
103
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It is a type and adds no runtime behavior.
104
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
105
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
106
+ */
15
107
  interface IProps {
16
108
  type: "default" | "element" | "asterisk";
17
109
  file: string;
@@ -9,6 +9,16 @@ const path_1 = __importDefault(require("path"));
9
9
  const tstl_1 = require("tstl");
10
10
  const ImportAnalyzer_1 = require("../../analyses/ImportAnalyzer");
11
11
  const FilePrinter_1 = require("./FilePrinter");
12
+ /**
13
+ * The imports of one generated file, merged by module and kind, and printed as
14
+ * import declarations.
15
+ *
16
+ * @evidence contracts/common.md#principled-implementation An import is keyed by its module, its type-only flag, and its default or namespace name, so the same import is one declaration whose named bindings are collected in order.
17
+ * @evidence contracts/common.md#clear-and-simple-design One class with a hash map of components, and private helpers for the paths.
18
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The keys are equal exactly when the declarations can be merged.
19
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
20
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
21
+ */
12
22
  class ImportDictionary {
13
23
  constructor(file) {
14
24
  this.file = file;
@@ -17,9 +27,31 @@ class ImportDictionary {
17
27
  a.asterisk === b.asterisk &&
18
28
  a.default === b.default);
19
29
  }
30
+ /**
31
+ * Reports whether the file has no import.
32
+ *
33
+ * @evidence contracts/common.md#principled-implementation The dictionary is empty exactly when no component was registered.
34
+ * @evidence contracts/common.md#clear-and-simple-design One call.
35
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the map.
36
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
37
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation ImportDictionary.prototype.empty composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
38
+ */
20
39
  empty() {
21
40
  return this.components_.empty();
22
41
  }
42
+ /**
43
+ * Registers the imports a route's declarations need, merged by file, as
44
+ * type-only imports.
45
+ *
46
+ * The `WebSocketAcceptor` element is skipped, because the SDK refers to it
47
+ * through `tgrid`.
48
+ *
49
+ * @evidence contracts/common.md#principled-implementation Each namespace, default, and named import is registered under its alias so a name resolves to the same local binding.
50
+ * @evidence contracts/common.md#clear-and-simple-design One loop over the merged imports.
51
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The skipped element is the one binding that the generated code supplies itself.
52
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
53
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
54
+ */
23
55
  declarations(imports) {
24
56
  var _a;
25
57
  var _b;
@@ -53,10 +85,69 @@ class ImportDictionary {
53
85
  }
54
86
  }
55
87
  }
88
+ /**
89
+ * Every identifier the imports bind in the file.
90
+ *
91
+ * @evidence contracts/common.md#principled-implementation The namespace, the default, and each named local are collected, so a caller can see what a route name would shadow.
92
+ * @evidence contracts/common.md#clear-and-simple-design One loop.
93
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It reads the components without changing them.
94
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
95
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation ImportDictionary.prototype.locals composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
96
+ */
97
+ locals() {
98
+ const output = [];
99
+ for (const { second: c } of this.components_) {
100
+ if (c.asterisk !== null)
101
+ output.push(c.asterisk);
102
+ if (c.default !== null)
103
+ output.push(c.default);
104
+ for (const { first: local } of c.elements)
105
+ output.push(local);
106
+ }
107
+ return output;
108
+ }
109
+ /**
110
+ * Returns registered bindings in the route import representation, retaining
111
+ * normalized module paths and local-to-exported aliases. The route emitter
112
+ * consumes these as type-only declarations.
113
+ *
114
+ * @evidence contracts/common.md#principled-implementation The projection reads the same normalized module keys and local-to-exported binding map used by toStatements, so a structural type writer and its route retain the same imports.
115
+ * @evidence contracts/common.md#clear-and-simple-design One projection over existing registrations.
116
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts No AST parsing or second import policy reconstructs the bindings.
117
+ * @evidence contracts/common.md#meaningful-documentation Documents normalized paths, alias direction and the route's type-only consumption.
118
+ * @evidenceExclude contracts/portability.md#os-neutral-implementation ImportDictionary.prototype.toImports composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
119
+ */
120
+ toImports() {
121
+ return Array.from(this.components_).map(({ second: component }) => {
122
+ const bindings = Array.from(component.elements);
123
+ const aliases = Object.fromEntries(bindings
124
+ .filter(({ first, second }) => first !== second)
125
+ .map(({ first, second }) => [first, second]));
126
+ return Object.assign({ file: component.file, asterisk: component.asterisk, default: component.default, elements: bindings.map(({ first }) => first) }, (Object.keys(aliases).length ? { elementAliases: aliases } : {}));
127
+ });
128
+ }
129
+ /**
130
+ * Registers an import of a package and returns the local name it binds.
131
+ *
132
+ * @evidence contracts/common.md#principled-implementation The file is placed under `node_modules`, so the printer emits the bare package specifier.
133
+ * @evidence contracts/common.md#clear-and-simple-design One delegation.
134
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts It shares the registration of `internal`.
135
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
136
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
137
+ */
56
138
  external(props) {
57
139
  const file = `node_modules/${props.file}`;
58
140
  return this.internal(Object.assign(Object.assign({}, props), { file }));
59
141
  }
142
+ /**
143
+ * Registers an import of a source file and returns the local name it binds.
144
+ *
145
+ * @evidence contracts/common.md#principled-implementation The path is normalized and its source extension removed, so equal normalized module spellings share a component, and a named binding is stored under its local name. Symlink and filesystem-case identity are not canonicalized.
146
+ * @evidence contracts/common.md#clear-and-simple-design One function.
147
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The result is the alias when there is one.
148
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
149
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
150
+ */
60
151
  internal(props) {
61
152
  var _a, _b;
62
153
  const file = normalize(trimSourceExtension(props.file));
@@ -73,6 +164,16 @@ class ImportDictionary {
73
164
  }
74
165
  return props.type === "element" ? ((_b = props.alias) !== null && _b !== void 0 ? _b : props.name) : props.name;
75
166
  }
167
+ /**
168
+ * Returns the import declarations, packages first and files after them,
169
+ * sorted by module, with paths relative to the output directory.
170
+ *
171
+ * @evidence contracts/common.md#principled-implementation The package paths are cut at their last `node_modules`, and a file path is made relative with forward slashes, so the output does not depend on the platform.
172
+ * @evidence contracts/common.md#clear-and-simple-design One function over one filter helper.
173
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Both groups are sorted and separated by one empty line.
174
+ * @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
175
+ * @evidence contracts/portability.md#os-neutral-implementation Source path spelling uses Node path.resolve and relative imports use path.relative followed by native-separator conversion to forward slashes. Package registration uses a node_modules marker; normalization is lexical, not symlink or filesystem-case canonicalization.
176
+ */
76
177
  toStatements(outDir) {
77
178
  outDir = path_1.default.resolve(outDir);
78
179
  const external = [];
@@ -96,7 +197,7 @@ class ImportDictionary {
96
197
  .map((e) => (Object.assign(Object.assign({}, e.second), { file: locator(e.second.file) })))
97
198
  .sort((a, b) => a.file.localeCompare(b.file));
98
199
  for (const c of compositions)
99
- container.push(factory_1.factory.createImportDeclaration(undefined, this.toImportClaude(c), factory_1.factory.createStringLiteral(c.file)));
200
+ container.push(factory_1.factory.createImportDeclaration(undefined, this.toImportClause(c), factory_1.factory.createStringLiteral(c.file)));
100
201
  };
101
202
  enroll((str) => str.indexOf(NODE_MODULES) !== -1)(external);
102
203
  enroll((str) => str.indexOf(NODE_MODULES) === -1)(internal);
@@ -106,7 +207,7 @@ class ImportDictionary {
106
207
  ...internal,
107
208
  ];
108
209
  }
109
- toImportClaude(c) {
210
+ toImportClause(c) {
110
211
  // A namespace binding cannot carry a per-binding `type` modifier, so the
111
212
  // type-only flag goes on the clause itself (`import type * as X`) —
112
213
  // generated SDK code references DTO namespaces only in type positions.
@@ -1 +1 @@
1
- {"version":3,"file":"ImportDictionary.js","sourceRoot":"","sources":["../../../src/generates/internal/ImportDictionary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportDictionary.js","sourceRoot":"","sources":["../../../src/generates/internal/ImportDictionary.ts"],"names":[],"mappings":"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"}