@voxgig/sdkgen 1.2.1 → 1.3.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 (345) hide show
  1. package/bin/voxgig-sdkgen +2 -2
  2. package/dist/action/action.d.ts +3 -1
  3. package/dist/action/action.js +26 -10
  4. package/dist/action/action.js.map +1 -1
  5. package/dist/action/feature.js +9 -8
  6. package/dist/action/feature.js.map +1 -1
  7. package/dist/action/target.d.ts +7 -1
  8. package/dist/action/target.js +22 -13
  9. package/dist/action/target.js.map +1 -1
  10. package/dist/cmp/Changelog.d.ts +2 -0
  11. package/dist/cmp/Changelog.js +30 -0
  12. package/dist/cmp/Changelog.js.map +1 -0
  13. package/dist/cmp/Deploy.d.ts +2 -0
  14. package/dist/cmp/Deploy.js +227 -0
  15. package/dist/cmp/Deploy.js.map +1 -0
  16. package/dist/cmp/FeatureHook.js +5 -6
  17. package/dist/cmp/FeatureHook.js.map +1 -1
  18. package/dist/cmp/License.d.ts +2 -0
  19. package/dist/cmp/License.js +44 -0
  20. package/dist/cmp/License.js.map +1 -0
  21. package/dist/cmp/Readme.js +2 -0
  22. package/dist/cmp/Readme.js.map +1 -1
  23. package/dist/cmp/ReadmeErrors.d.ts +2 -0
  24. package/dist/cmp/ReadmeErrors.js +210 -0
  25. package/dist/cmp/ReadmeErrors.js.map +1 -0
  26. package/dist/cmp/ReadmeExplanation.js +213 -223
  27. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  28. package/dist/cmp/ReadmeModel.js +6 -1
  29. package/dist/cmp/ReadmeModel.js.map +1 -1
  30. package/dist/cmp/ReadmeTop.js +389 -82
  31. package/dist/cmp/ReadmeTop.js.map +1 -1
  32. package/dist/cmp/Security.d.ts +2 -0
  33. package/dist/cmp/Security.js +36 -0
  34. package/dist/cmp/Security.js.map +1 -0
  35. package/dist/helpers/canonType.d.ts +7 -0
  36. package/dist/helpers/canonType.js +74 -0
  37. package/dist/helpers/canonType.js.map +1 -0
  38. package/dist/helpers/collectDeps.d.ts +3 -2
  39. package/dist/helpers/collectDeps.js.map +1 -1
  40. package/dist/helpers/naming.d.ts +3 -0
  41. package/dist/helpers/naming.js +51 -0
  42. package/dist/helpers/naming.js.map +1 -0
  43. package/dist/helpers/opExample.d.ts +13 -0
  44. package/dist/helpers/opExample.js +149 -0
  45. package/dist/helpers/opExample.js.map +1 -0
  46. package/dist/helpers/opShape.d.ts +18 -0
  47. package/dist/helpers/opShape.js +225 -0
  48. package/dist/helpers/opShape.js.map +1 -0
  49. package/dist/helpers/packageMeta.d.ts +27 -0
  50. package/dist/helpers/packageMeta.js +224 -0
  51. package/dist/helpers/packageMeta.js.map +1 -0
  52. package/dist/sdkgen.d.ts +12 -2
  53. package/dist/sdkgen.js +60 -20
  54. package/dist/sdkgen.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/dist/types.d.ts +65 -2
  57. package/dist/types.js.map +1 -1
  58. package/dist/utility.d.ts +2 -1
  59. package/dist/utility.js +39 -11
  60. package/dist/utility.js.map +1 -1
  61. package/model/sdkgen.aontu +137 -0
  62. package/package.json +11 -5
  63. package/project/.sdk/model/feature/feature-index.aontu +5 -0
  64. package/project/.sdk/model/target/go-cli.aontu +47 -0
  65. package/project/.sdk/model/target/go-mcp.aontu +41 -0
  66. package/project/.sdk/model/target/go.aontu +28 -0
  67. package/project/.sdk/model/target/{js.jsonic → js.aontu} +13 -0
  68. package/project/.sdk/model/target/{lua.jsonic → lua.aontu} +13 -0
  69. package/project/.sdk/model/target/{php.jsonic → php.aontu} +13 -0
  70. package/project/.sdk/model/target/{py.jsonic → py.aontu} +13 -0
  71. package/project/.sdk/model/target/{rb.jsonic → rb.aontu} +13 -0
  72. package/project/.sdk/model/target/{ts.jsonic → ts.aontu} +13 -0
  73. package/project/.sdk/src/cmp/go/Config_go.ts +3 -2
  74. package/project/.sdk/src/cmp/go/EntityOperation_go.ts +1 -0
  75. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +197 -0
  76. package/project/.sdk/src/cmp/go/Entity_go.ts +2 -1
  77. package/project/.sdk/src/cmp/go/MainEntity_go.ts +6 -0
  78. package/project/.sdk/src/cmp/go/Main_go.ts +23 -3
  79. package/project/.sdk/src/cmp/go/Package_go.ts +1 -1
  80. package/project/.sdk/src/cmp/go/ReadmeEntity_go.ts +48 -10
  81. package/project/.sdk/src/cmp/go/ReadmeExamplesTest_go.ts +688 -0
  82. package/project/.sdk/src/cmp/go/ReadmeExplanation_go.ts +1 -1
  83. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +52 -8
  84. package/project/.sdk/src/cmp/go/ReadmeInstall_go.ts +11 -6
  85. package/project/.sdk/src/cmp/go/ReadmeIntro_go.ts +40 -1
  86. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +67 -17
  87. package/project/.sdk/src/cmp/go/ReadmeOptions_go.ts +4 -3
  88. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +146 -116
  89. package/project/.sdk/src/cmp/go/ReadmeRef_go.ts +87 -21
  90. package/project/.sdk/src/cmp/go/ReadmeTopHowto_go.ts +4 -0
  91. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +75 -16
  92. package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +35 -5
  93. package/project/.sdk/src/cmp/go/TestEntity_go.ts +1 -1
  94. package/project/.sdk/src/cmp/go/Test_go.ts +5 -1
  95. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +21 -0
  96. package/project/.sdk/src/cmp/go/fragment/EntityCreateOp.fragment.go +11 -0
  97. package/project/.sdk/src/cmp/go/fragment/EntityListOp.fragment.go +11 -0
  98. package/project/.sdk/src/cmp/go/fragment/EntityLoadOp.fragment.go +11 -0
  99. package/project/.sdk/src/cmp/go/fragment/EntityRemoveOp.fragment.go +11 -0
  100. package/project/.sdk/src/cmp/go/fragment/EntityUpdateOp.fragment.go +11 -0
  101. package/project/.sdk/src/cmp/go/utility_go.ts +70 -0
  102. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +195 -0
  103. package/project/.sdk/src/cmp/go-cli/fragment/main.fragment.go +106 -0
  104. package/project/.sdk/src/cmp/go-cli/fragment/words.fragment.go +132 -0
  105. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +184 -0
  106. package/project/.sdk/src/cmp/go-mcp/fragment/main.fragment.go +68 -0
  107. package/project/.sdk/src/cmp/go-mcp/fragment/tools.fragment.go +114 -0
  108. package/project/.sdk/src/cmp/js/Config_js.ts +3 -6
  109. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +111 -0
  110. package/project/.sdk/src/cmp/js/MainEntity_js.ts +1 -0
  111. package/project/.sdk/src/cmp/js/Main_js.ts +3 -0
  112. package/project/.sdk/src/cmp/js/Package_js.ts +16 -7
  113. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +33 -10
  114. package/project/.sdk/src/cmp/js/ReadmeExplanation_js.ts +2 -2
  115. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +52 -11
  116. package/project/.sdk/src/cmp/js/ReadmeIntro_js.ts +39 -1
  117. package/project/.sdk/src/cmp/js/ReadmeModel_js.ts +50 -18
  118. package/project/.sdk/src/cmp/js/ReadmeOptions_js.ts +4 -3
  119. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +70 -20
  120. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +50 -16
  121. package/project/.sdk/src/cmp/js/ReadmeTopHowto_js.ts +3 -0
  122. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +45 -19
  123. package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +35 -3
  124. package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +5 -0
  125. package/project/.sdk/src/cmp/js/fragment/EntityListOp.fragment.js +5 -0
  126. package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +5 -0
  127. package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +5 -0
  128. package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +5 -0
  129. package/project/.sdk/src/cmp/js/utility_js.ts +57 -0
  130. package/project/.sdk/src/cmp/lua/Config_lua.ts +3 -2
  131. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +113 -0
  132. package/project/.sdk/src/cmp/lua/MainEntity_lua.ts +8 -0
  133. package/project/.sdk/src/cmp/lua/Main_lua.ts +4 -0
  134. package/project/.sdk/src/cmp/lua/Package_lua.ts +23 -4
  135. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +50 -13
  136. package/project/.sdk/src/cmp/lua/ReadmeExamplesTest_lua.ts +293 -0
  137. package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +46 -8
  138. package/project/.sdk/src/cmp/lua/ReadmeInstall_lua.ts +19 -3
  139. package/project/.sdk/src/cmp/lua/ReadmeIntro_lua.ts +38 -1
  140. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +51 -16
  141. package/project/.sdk/src/cmp/lua/ReadmeOptions_lua.ts +4 -3
  142. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +156 -21
  143. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +71 -23
  144. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +46 -9
  145. package/project/.sdk/src/cmp/lua/ReadmeTopTest_lua.ts +43 -5
  146. package/project/.sdk/src/cmp/lua/Test_lua.ts +4 -0
  147. package/project/.sdk/src/cmp/lua/fragment/EntityCreateOp.fragment.lua +4 -0
  148. package/project/.sdk/src/cmp/lua/fragment/EntityListOp.fragment.lua +4 -0
  149. package/project/.sdk/src/cmp/lua/fragment/EntityLoadOp.fragment.lua +4 -0
  150. package/project/.sdk/src/cmp/lua/fragment/EntityRemoveOp.fragment.lua +4 -0
  151. package/project/.sdk/src/cmp/lua/fragment/EntityUpdateOp.fragment.lua +4 -0
  152. package/project/.sdk/src/cmp/php/Config_php.ts +3 -2
  153. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +142 -0
  154. package/project/.sdk/src/cmp/php/MainEntity_php.ts +18 -1
  155. package/project/.sdk/src/cmp/php/Main_php.ts +4 -0
  156. package/project/.sdk/src/cmp/php/Package_php.ts +18 -7
  157. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +46 -14
  158. package/project/.sdk/src/cmp/php/ReadmeExamplesTest_php.ts +401 -0
  159. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +56 -13
  160. package/project/.sdk/src/cmp/php/ReadmeInstall_php.ts +15 -3
  161. package/project/.sdk/src/cmp/php/ReadmeIntro_php.ts +40 -1
  162. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +26 -8
  163. package/project/.sdk/src/cmp/php/ReadmeOptions_php.ts +4 -3
  164. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +159 -25
  165. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +90 -45
  166. package/project/.sdk/src/cmp/php/ReadmeTopHowto_php.ts +1 -1
  167. package/project/.sdk/src/cmp/php/ReadmeTopQuick_php.ts +43 -11
  168. package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +52 -11
  169. package/project/.sdk/src/cmp/php/TestDirect_php.ts +9 -9
  170. package/project/.sdk/src/cmp/php/TestEntity_php.ts +6 -12
  171. package/project/.sdk/src/cmp/php/Test_php.ts +4 -0
  172. package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +13 -1
  173. package/project/.sdk/src/cmp/php/fragment/EntityCreateOp.fragment.php +10 -1
  174. package/project/.sdk/src/cmp/php/fragment/EntityListOp.fragment.php +10 -1
  175. package/project/.sdk/src/cmp/php/fragment/EntityLoadOp.fragment.php +10 -1
  176. package/project/.sdk/src/cmp/php/fragment/EntityRemoveOp.fragment.php +10 -1
  177. package/project/.sdk/src/cmp/php/fragment/EntityUpdateOp.fragment.php +10 -1
  178. package/project/.sdk/src/cmp/php/fragment/Main.fragment.php +22 -14
  179. package/project/.sdk/src/cmp/py/Config_py.ts +3 -2
  180. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +184 -0
  181. package/project/.sdk/src/cmp/py/Entity_py.ts +27 -0
  182. package/project/.sdk/src/cmp/py/MainEntity_py.ts +2 -1
  183. package/project/.sdk/src/cmp/py/Main_py.ts +35 -0
  184. package/project/.sdk/src/cmp/py/Package_py.ts +24 -3
  185. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +48 -14
  186. package/project/.sdk/src/cmp/py/ReadmeExamplesTest_py.ts +626 -0
  187. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +53 -14
  188. package/project/.sdk/src/cmp/py/ReadmeInstall_py.ts +19 -3
  189. package/project/.sdk/src/cmp/py/ReadmeIntro_py.ts +48 -1
  190. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +28 -10
  191. package/project/.sdk/src/cmp/py/ReadmeOptions_py.ts +4 -3
  192. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +150 -27
  193. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +86 -40
  194. package/project/.sdk/src/cmp/py/ReadmeTopHowto_py.ts +1 -1
  195. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +45 -11
  196. package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +43 -5
  197. package/project/.sdk/src/cmp/py/TestDirect_py.ts +7 -9
  198. package/project/.sdk/src/cmp/py/TestEntity_py.ts +6 -14
  199. package/project/.sdk/src/cmp/py/Test_py.ts +4 -0
  200. package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +5 -2
  201. package/project/.sdk/src/cmp/py/fragment/EntityCreateOp.fragment.py +1 -1
  202. package/project/.sdk/src/cmp/py/fragment/EntityListOp.fragment.py +5 -1
  203. package/project/.sdk/src/cmp/py/fragment/EntityLoadOp.fragment.py +6 -1
  204. package/project/.sdk/src/cmp/py/fragment/EntityRemoveOp.fragment.py +6 -1
  205. package/project/.sdk/src/cmp/py/fragment/EntityUpdateOp.fragment.py +1 -1
  206. package/project/.sdk/src/cmp/py/fragment/Main.fragment.py +17 -10
  207. package/project/.sdk/src/cmp/rb/Config_rb.ts +3 -2
  208. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +136 -0
  209. package/project/.sdk/src/cmp/rb/MainEntity_rb.ts +1 -0
  210. package/project/.sdk/src/cmp/rb/Main_rb.ts +4 -0
  211. package/project/.sdk/src/cmp/rb/Package_rb.ts +34 -7
  212. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +47 -13
  213. package/project/.sdk/src/cmp/rb/ReadmeExamplesTest_rb.ts +289 -0
  214. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +72 -21
  215. package/project/.sdk/src/cmp/rb/ReadmeInstall_rb.ts +16 -4
  216. package/project/.sdk/src/cmp/rb/ReadmeIntro_rb.ts +40 -1
  217. package/project/.sdk/src/cmp/rb/ReadmeModel_rb.ts +29 -12
  218. package/project/.sdk/src/cmp/rb/ReadmeOptions_rb.ts +4 -3
  219. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +163 -25
  220. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +85 -40
  221. package/project/.sdk/src/cmp/rb/ReadmeTopHowto_rb.ts +1 -1
  222. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +45 -11
  223. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +54 -11
  224. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +9 -9
  225. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +6 -12
  226. package/project/.sdk/src/cmp/rb/Test_rb.ts +4 -0
  227. package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +2 -0
  228. package/project/.sdk/src/cmp/rb/fragment/EntityCreateOp.fragment.rb +5 -0
  229. package/project/.sdk/src/cmp/rb/fragment/EntityListOp.fragment.rb +20 -2
  230. package/project/.sdk/src/cmp/rb/fragment/EntityLoadOp.fragment.rb +8 -1
  231. package/project/.sdk/src/cmp/rb/fragment/EntityRemoveOp.fragment.rb +6 -1
  232. package/project/.sdk/src/cmp/rb/fragment/EntityUpdateOp.fragment.rb +5 -0
  233. package/project/.sdk/src/cmp/rb/fragment/Main.fragment.rb +24 -8
  234. package/project/.sdk/src/cmp/ts/Config_ts.ts +3 -6
  235. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +105 -0
  236. package/project/.sdk/src/cmp/ts/Entity_ts.ts +17 -1
  237. package/project/.sdk/src/cmp/ts/MainEntity_ts.ts +1 -0
  238. package/project/.sdk/src/cmp/ts/Main_ts.ts +6 -0
  239. package/project/.sdk/src/cmp/ts/Package_ts.ts +14 -7
  240. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +32 -10
  241. package/project/.sdk/src/cmp/ts/ReadmeExampleTest_ts.ts +81 -0
  242. package/project/.sdk/src/cmp/ts/ReadmeExamplesTest_ts.ts +446 -0
  243. package/project/.sdk/src/cmp/ts/ReadmeExplanation_ts.ts +2 -2
  244. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +57 -11
  245. package/project/.sdk/src/cmp/ts/ReadmeInstall_ts.ts +19 -6
  246. package/project/.sdk/src/cmp/ts/ReadmeIntro_ts.ts +39 -1
  247. package/project/.sdk/src/cmp/ts/ReadmeModel_ts.ts +50 -18
  248. package/project/.sdk/src/cmp/ts/ReadmeOptions_ts.ts +4 -3
  249. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +141 -48
  250. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +50 -16
  251. package/project/.sdk/src/cmp/ts/ReadmeTopHowto_ts.ts +3 -0
  252. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +58 -19
  253. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +35 -3
  254. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +2 -2
  255. package/project/.sdk/src/cmp/ts/Test_ts.ts +5 -0
  256. package/project/.sdk/src/cmp/ts/fragment/Entity.fragment.ts +3 -1
  257. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +10 -5
  258. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +4 -2
  259. package/project/.sdk/src/cmp/ts/fragment/EntityListOp.fragment.ts +4 -2
  260. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +4 -2
  261. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +4 -2
  262. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +4 -2
  263. package/project/.sdk/src/cmp/ts/utility_ts.ts +59 -0
  264. package/project/.sdk/tm/go/LICENSE +1 -1
  265. package/project/.sdk/tm/go/Makefile +36 -1
  266. package/project/.sdk/tm/go/VERSION +1 -0
  267. package/project/.sdk/tm/go/core/context.go +12 -7
  268. package/project/.sdk/tm/go-cli/src/feature/README.md +6 -0
  269. package/project/.sdk/tm/go-cli/src/feature/base/.gitkeep +0 -0
  270. package/project/.sdk/tm/go-cli/src/feature/log/.gitkeep +0 -0
  271. package/project/.sdk/tm/go-cli/src/feature/test/.gitkeep +0 -0
  272. package/project/.sdk/tm/go-mcp/src/feature/README.md +6 -0
  273. package/project/.sdk/tm/go-mcp/src/feature/base/.gitkeep +0 -0
  274. package/project/.sdk/tm/go-mcp/src/feature/log/.gitkeep +0 -0
  275. package/project/.sdk/tm/go-mcp/src/feature/test/.gitkeep +0 -0
  276. package/project/.sdk/tm/js/LICENSE +1 -1
  277. package/project/.sdk/tm/js/Makefile +41 -0
  278. package/project/.sdk/tm/lua/LICENSE +1 -1
  279. package/project/.sdk/tm/lua/Makefile +40 -1
  280. package/project/.sdk/tm/lua/core/context.lua +13 -8
  281. package/project/.sdk/tm/php/LICENSE +1 -1
  282. package/project/.sdk/tm/php/Makefile +31 -1
  283. package/project/.sdk/tm/php/VERSION +1 -0
  284. package/project/.sdk/tm/php/core/Context.php +12 -6
  285. package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +13 -4
  286. package/project/.sdk/tm/php/utility/Done.php +2 -2
  287. package/project/.sdk/tm/php/utility/MakeError.php +3 -3
  288. package/project/.sdk/tm/py/LICENSE +1 -1
  289. package/project/.sdk/tm/py/Makefile +34 -1
  290. package/project/.sdk/tm/py/core/context.py +12 -7
  291. package/project/.sdk/tm/py/test/test_primary_utility.py +15 -4
  292. package/project/.sdk/tm/py/test/test_struct_utility.py +1 -1
  293. package/project/.sdk/tm/py/utility/done.py +3 -1
  294. package/project/.sdk/tm/py/utility/make_error.py +2 -2
  295. package/project/.sdk/tm/rb/LICENSE +1 -1
  296. package/project/.sdk/tm/rb/Makefile +36 -2
  297. package/project/.sdk/tm/rb/core/context.rb +8 -3
  298. package/project/.sdk/tm/rb/test/primary_utility_test.rb +2 -2
  299. package/project/.sdk/tm/rb/utility/done.rb +3 -1
  300. package/project/.sdk/tm/rb/utility/make_error.rb +5 -2
  301. package/project/.sdk/tm/ts/LICENSE +1 -1
  302. package/project/.sdk/tm/ts/Makefile +42 -0
  303. package/project/.sdk/tm/ts/src/Context.ts +8 -3
  304. package/src/action/action.ts +30 -11
  305. package/src/action/feature.ts +12 -14
  306. package/src/action/target.ts +28 -17
  307. package/src/cmp/Changelog.ts +34 -0
  308. package/src/cmp/Deploy.ts +258 -0
  309. package/src/cmp/FeatureHook.ts +6 -8
  310. package/src/cmp/License.ts +49 -0
  311. package/src/cmp/Readme.ts +2 -0
  312. package/src/cmp/ReadmeErrors.ts +257 -0
  313. package/src/cmp/ReadmeExplanation.ts +250 -230
  314. package/src/cmp/ReadmeModel.ts +7 -2
  315. package/src/cmp/ReadmeTop.ts +411 -95
  316. package/src/cmp/Security.ts +41 -0
  317. package/src/helpers/canonType.ts +89 -0
  318. package/src/helpers/collectDeps.ts +5 -3
  319. package/src/helpers/naming.ts +59 -0
  320. package/src/helpers/opExample.ts +170 -0
  321. package/src/helpers/opShape.ts +274 -0
  322. package/src/helpers/packageMeta.ts +236 -0
  323. package/src/sdkgen.ts +91 -23
  324. package/src/tsconfig.json +1 -0
  325. package/src/types.ts +85 -2
  326. package/src/utility.ts +45 -11
  327. package/README.md +0 -2
  328. package/dist/action/lang.d.ts +0 -2
  329. package/dist/action/lang.js +0 -68
  330. package/dist/action/lang.js.map +0 -1
  331. package/dist/cmp/Hook.d.ts +0 -2
  332. package/dist/cmp/Hook.js +0 -10
  333. package/dist/cmp/Hook.js.map +0 -1
  334. package/dist/cmp/Top.d.ts +0 -2
  335. package/dist/cmp/Top.js +0 -23
  336. package/dist/cmp/Top.js.map +0 -1
  337. package/dist/prepare-openapi.d.ts +0 -2
  338. package/dist/prepare-openapi.js +0 -37
  339. package/dist/prepare-openapi.js.map +0 -1
  340. package/model/sdkgen.jsonic +0 -74
  341. package/project/.sdk/model/feature/feature-index.jsonic +0 -5
  342. package/project/.sdk/model/target/go.jsonic +0 -22
  343. package/project/.sdk/tm/go/utility/struct/go.mod +0 -3
  344. /package/project/.sdk/model/feature/{log.jsonic → log.aontu} +0 -0
  345. /package/project/.sdk/model/feature/{test.jsonic → test.aontu} +0 -0
package/bin/voxgig-sdkgen CHANGED
@@ -8,7 +8,7 @@ const { Shape, One } = require('shape')
8
8
 
9
9
  const { SdkGen } = require('../dist/sdkgen.js')
10
10
 
11
- const VERSION = '1.2.1'
11
+ const VERSION = '1.3.2'
12
12
  const KONSOLE = console
13
13
 
14
14
 
@@ -54,7 +54,7 @@ function exit(err) {
54
54
 
55
55
 
56
56
  async function operate(options) {
57
- const sdkgen = new SdkGen({
57
+ const sdkgen = SdkGen({
58
58
  debug: options.debug,
59
59
  dryrun: options.dryrun,
60
60
  })
@@ -1,4 +1,6 @@
1
1
  import type { ActionContext } from '../types';
2
+ declare function appendIndexEntries(content: string, names: string[]): string;
2
3
  declare const UpdateIndex: import("jostraca").Component;
4
+ declare function parseAddNames(args: any[]): string[];
3
5
  declare function loadContent(actx: ActionContext, which: string | string[]): any;
4
- export { UpdateIndex, loadContent };
6
+ export { UpdateIndex, appendIndexEntries, parseAddNames, loadContent };
@@ -4,28 +4,44 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.UpdateIndex = void 0;
7
+ exports.appendIndexEntries = appendIndexEntries;
8
+ exports.parseAddNames = parseAddNames;
7
9
  exports.loadContent = loadContent;
8
10
  const node_path_1 = __importDefault(require("node:path"));
9
11
  const jostraca_1 = require("jostraca");
10
- const UpdateIndex = (0, jostraca_1.cmp)(function UpdateIndex(props) {
11
- const names = props.names;
12
- let oldcontent = props.content;
13
- let newcontent = oldcontent;
14
- names.map((n) => {
15
- if (!oldcontent.includes(`@"${n}.jsonic"`)) {
16
- newcontent += `\n@"${n}.jsonic"`;
12
+ // Append `@"<name>.aontu"` import lines for each name not already present in
13
+ // the index content. Checking against the accumulating result (not the
14
+ // original) means duplicate names in the same call are added at most once.
15
+ function appendIndexEntries(content, names) {
16
+ let out = content;
17
+ for (const n of names) {
18
+ const entry = `@"${n}.aontu"`;
19
+ if (!out.includes(entry)) {
20
+ out += '\n' + entry;
17
21
  }
18
- });
19
- (0, jostraca_1.Content)(newcontent);
22
+ }
23
+ return out;
24
+ }
25
+ const UpdateIndex = (0, jostraca_1.cmp)(function UpdateIndex(props) {
26
+ (0, jostraca_1.Content)(appendIndexEntries(props.content, props.names));
20
27
  });
21
28
  exports.UpdateIndex = UpdateIndex;
29
+ // Names given to an `add` action: every positional after the subcommand is
30
+ // a name, each possibly comma-separated — `target add ts,py,go` and
31
+ // `target add ts py go` are equivalent (space-separated extras used to be
32
+ // silently dropped).
33
+ function parseAddNames(args) {
34
+ return args.slice(2)
35
+ .flatMap((a) => 'string' === typeof a ? a.split(',') : a)
36
+ .filter((n) => null != n && '' !== n);
37
+ }
22
38
  function loadContent(actx, which) {
23
39
  which = Array.isArray(which) ? which : [which];
24
40
  const content = {};
25
41
  const fs = actx.fs();
26
42
  const modelfolder = node_path_1.default.dirname(actx.url);
27
43
  which.map((w) => {
28
- const indexfile = node_path_1.default.join(modelfolder, w, w + '-index.jsonic');
44
+ const indexfile = node_path_1.default.join(modelfolder, w, w + '-index.aontu');
29
45
  const indexcontent = fs.readFileSync(indexfile, 'utf8');
30
46
  content[`${w}_index`] = indexcontent;
31
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action/action.ts"],"names":[],"mappings":";;;;;;AAmDE,kCAAW;AAlDb,0DAA4B;AAE5B,uCAGiB;AAQjB,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IAEzB,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAA;IAC9B,IAAI,UAAU,GAAG,UAAU,CAAA;IAE3B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;QACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,UAAU,IAAI,OAAO,CAAC,UAAU,CAAA;QAClC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,kBAAO,EAAC,UAAU,CAAC,CAAA;AACrB,CAAC,CAAC,CAAA;AAuBA,kCAAW;AApBb,SAAS,WAAW,CAAC,IAAmB,EAAE,KAAwB;IAChE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAE9C,MAAM,OAAO,GAAQ,EAAE,CAAA;IAEvB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IACpB,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE1C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAA;QAChE,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action/action.ts"],"names":[],"mappings":";;;;;;AAoEE,gDAAkB;AAClB,sCAAa;AACb,kCAAW;AArEb,0DAA4B;AAE5B,uCAGiB;AAQjB,6EAA6E;AAC7E,uEAAuE;AACvE,2EAA2E;AAC3E,SAAS,kBAAkB,CAAC,OAAe,EAAE,KAAe;IAC1D,IAAI,GAAG,GAAG,OAAO,CAAA;IAEjB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAA;QAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,IAAI,IAAI,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU;IACrD,IAAA,kBAAO,EAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA;AAkCA,kCAAW;AA/Bb,2EAA2E;AAC3E,oEAAoE;AACpE,0EAA0E;AAC1E,qBAAqB;AACrB,SAAS,aAAa,CAAC,IAAW;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACjB,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAC9C,CAAC;AAGD,SAAS,WAAW,CAAC,IAAmB,EAAE,KAAwB;IAChE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAE9C,MAAM,OAAO,GAAQ,EAAE,CAAA;IAEvB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IACpB,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE1C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAA;QAC/D,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -24,12 +24,13 @@ async function action_feature(args, actx) {
24
24
  return await cmd(args, actx);
25
25
  }
26
26
  async function cmd_feature_add(args, actx) {
27
- const features_arg = args[2];
28
- const features = 'string' === typeof features_arg ? features_arg.split(',') : features_arg;
29
- return feature_add(features, actx);
27
+ return feature_add((0, action_1.parseAddNames)(args), actx);
30
28
  }
31
29
  async function feature_add(features, actx) {
32
- const jostraca = (0, jostraca_1.Jostraca)();
30
+ // Reuse the caller's Jostraca instance so feature generation honours the
31
+ // shared controls (notably `dryrun`). A fresh Jostraca() defaults dryrun
32
+ // to false and would write files during a dry run.
33
+ const jostraca = actx.jostraca;
33
34
  const opts = {
34
35
  fs: actx.fs,
35
36
  folder: actx.folder,
@@ -72,16 +73,16 @@ const FeatureRoot = (0, jostraca_1.cmp)(function FeatureRoot(props) {
72
73
  (0, jostraca_1.Folder)({ name: 'model/feature' }, () => {
73
74
  (0, jostraca_1.Copy)({
74
75
  // TODO: these paths needs to be parameterised
75
- from: BASE + '/project/.sdk/model/feature/' + fname + '.jsonic',
76
+ from: BASE + '/project/.sdk/model/feature/' + fname + '.aontu',
76
77
  exclude: true
77
78
  });
78
- (0, jostraca_1.File)({ name: 'feature-index.jsonic' }, () => (0, action_1.UpdateIndex)({
79
+ (0, jostraca_1.File)({ name: 'feature-index.aontu' }, () => (0, action_1.UpdateIndex)({
79
80
  content: ctx$.meta.content.feature_index,
80
81
  names: features,
81
82
  }));
82
83
  });
83
- (0, jostraca_1.each)(target, (target) => (0, jostraca_1.Folder)({ name: 'tm/' + target.name + '/src/feature/' + fname }, () => {
84
- const from = node_path_1.default.join((target.base || node_path_1.default.join(BASE, '/project/.sdk')), 'tm', target.name, '/src/feature/', fname);
84
+ (0, jostraca_1.each)(target, (t) => (0, jostraca_1.Folder)({ name: 'tm/' + t.name + '/src/feature/' + fname }, () => {
85
+ const from = node_path_1.default.join((t.base || node_path_1.default.join(BASE, '/project/.sdk')), 'tm', t.name, '/src/feature/', fname);
85
86
  (0, jostraca_1.Copy)({
86
87
  // from: BASE + '/project/.sdk/tm/' + target.name + '/src/feature/' + name,
87
88
  from,
@@ -1 +1 @@
1
- {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/action/feature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/action/feature.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import type { ActionContext, ActionResult } from '../types';
2
2
  declare function action_target(args: string[], actx: ActionContext): Promise<ActionResult>;
3
3
  declare function target_add(targets: string[], actx: ActionContext): Promise<ActionResult>;
4
- export { action_target, target_add, };
4
+ declare function resolveTarget(tref: string, ctx$: any): {
5
+ tname: string;
6
+ tfolder: string;
7
+ torigname: string;
8
+ base: string;
9
+ };
10
+ export { action_target, target_add, resolveTarget, };
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.action_target = action_target;
7
7
  exports.target_add = target_add;
8
+ exports.resolveTarget = resolveTarget;
8
9
  const node_path_1 = __importDefault(require("node:path"));
9
10
  const jostraca_1 = require("jostraca");
10
11
  const util_1 = require("@voxgig/util");
@@ -25,9 +26,7 @@ async function action_target(args, actx) {
25
26
  return await cmd(args, actx);
26
27
  }
27
28
  async function cmd_target_add(args, actx) {
28
- const targets_arg = args[2];
29
- const targets = 'string' === typeof targets_arg ? targets_arg.split(',') : targets_arg;
30
- return target_add(targets, actx);
29
+ return target_add((0, action_1.parseAddNames)(args), actx);
31
30
  }
32
31
  // Code API
33
32
  async function target_add(targets, actx) {
@@ -49,15 +48,18 @@ async function target_add(targets, actx) {
49
48
  point: 'target-start',
50
49
  note: (actx.opts.dryrun ? '** DRY RUN **' : '')
51
50
  });
52
- const jres = await jostraca.generate(opts, () => TargetRoot({ targets, actx }));
53
- (0, util_1.showChanges)(opts.log, 'target-result', jres);
54
51
  // The `test` feature is required by every generated target (SDK.test()
55
52
  // depends on it), so ensure it is added even if the model does not yet
56
53
  // declare it.
57
54
  const features = Array.from(new Set([
58
55
  'test',
59
- ...Object.keys(actx.model.main[types_1.KIT].feature),
56
+ ...Object.keys(actx.model.main[types_1.KIT]?.feature ?? {}),
60
57
  ]));
58
+ const jres = await jostraca.generate(opts, () => TargetRoot({ targets, features, actx }));
59
+ (0, util_1.showChanges)(opts.log, 'target-result', jres);
60
+ // feature_add copies feature templates for targets already registered in
61
+ // the model. The targets added above are not in the in-memory model yet,
62
+ // so TargetRoot copies their feature templates itself.
61
63
  await (0, feature_1.feature_add)(features, actx);
62
64
  opts.log.info({
63
65
  point: 'target-end',
@@ -68,11 +70,15 @@ async function target_add(targets, actx) {
68
70
  };
69
71
  }
70
72
  const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
71
- const { ctx$, targets } = props;
73
+ const { ctx$, targets, features } = props;
72
74
  const { model, log } = ctx$;
73
75
  // TODO: jostraca - make from value easier to specify
74
76
  // const tfolder = 'node_modules/@voxgig/sdkgen/project/.sdk'
75
77
  (0, jostraca_1.Project)({}, () => {
78
+ // Resolved names of every target in this run. The index File is
79
+ // re-rendered per target and the last render wins, so each render must
80
+ // carry all names seen so far, not just its own.
81
+ const tnames = [];
76
82
  (0, jostraca_1.each)(targets, (n) => {
77
83
  const tref = n.val$;
78
84
  log.info({
@@ -81,6 +87,7 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
81
87
  note: tref
82
88
  });
83
89
  const { tname, tfolder, torigname, base } = resolveTarget(tref, ctx$);
90
+ tnames.push(tname);
84
91
  const targetNote = tname + (tname != tref ? ' ref:' + tref : '');
85
92
  log.info({
86
93
  point: 'target-name', name: tname, folder: tfolder,
@@ -90,16 +97,15 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
90
97
  });
91
98
  (0, jostraca_1.Folder)({ name: 'model/target' }, () => {
92
99
  (0, jostraca_1.Copy)({
93
- from: tfolder + '/model/target/' + torigname + '.jsonic',
100
+ from: tfolder + '/model/target/' + torigname + '.aontu',
94
101
  // exclude: true
95
102
  replace: {
96
103
  "'BASE'": "'" + base + "'"
97
104
  }
98
105
  });
99
- (0, jostraca_1.File)({ name: 'target-index.jsonic' }, () => (0, action_1.UpdateIndex)({
106
+ (0, jostraca_1.File)({ name: 'target-index.aontu' }, () => (0, action_1.UpdateIndex)({
100
107
  content: ctx$.meta.content.target_index,
101
- // names: targets,
102
- names: [tname]
108
+ names: tnames,
103
109
  }));
104
110
  });
105
111
  (0, jostraca_1.Folder)({ name: 'src/cmp/' + tname }, () => {
@@ -119,8 +125,11 @@ const TargetRoot = (0, jostraca_1.cmp)(function TargetRoot(props) {
119
125
  });
120
126
  (0, jostraca_1.Folder)({ name: 'src/feature' }, () => {
121
127
  (0, jostraca_1.Copy)({ from: tfolder + '/tm/' + torigname + '/src/feature/README.md' });
122
- (0, jostraca_1.Folder)({ name: 'base' }, () => {
123
- (0, jostraca_1.Copy)({ from: tfolder + '/tm/' + torigname + '/src/feature/base' });
128
+ (0, jostraca_1.each)(Array.from(new Set(['base', ...(features ?? [])])), (f) => {
129
+ const fname = f.val$;
130
+ (0, jostraca_1.Folder)({ name: fname }, () => {
131
+ (0, jostraca_1.Copy)({ from: tfolder + '/tm/' + torigname + '/src/feature/' + fname });
132
+ });
124
133
  });
125
134
  });
126
135
  });
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/action/target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/action/target.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const Changelog: import("jostraca").Component;
2
+ export { Changelog };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Changelog = void 0;
4
+ const jostraca_1 = require("jostraca");
5
+ // Root CHANGELOG.md seed. Generated as an initial "Keep a Changelog" skeleton;
6
+ // the version reflects the lockstep SDK version at generation time. (Publish
7
+ // history is carried by the git release tags <target>/vX.Y.Z.)
8
+ const Changelog = (0, jostraca_1.cmp)(function Changelog(props) {
9
+ const { ctx$ } = props;
10
+ const { model } = ctx$;
11
+ const name = model.Name || model.name;
12
+ (0, jostraca_1.File)({ name: 'CHANGELOG.md' }, () => {
13
+ (0, jostraca_1.Content)(`# Changelog
14
+
15
+ All notable changes to the generated ${name} SDK are documented here.
16
+ This project follows [Keep a Changelog](https://keepachangelog.com) and
17
+ [Semantic Versioning](https://semver.org).
18
+
19
+ ## [Unreleased]
20
+
21
+ ## [0.0.1]
22
+
23
+ - Initial generated release of the ${name} SDK (TypeScript, Python, PHP, Go,
24
+ Ruby, and Lua, plus CLI and MCP surfaces), generated from the upstream
25
+ OpenAPI specification by @voxgig/sdkgen.
26
+ `);
27
+ });
28
+ });
29
+ exports.Changelog = Changelog;
30
+ //# sourceMappingURL=Changelog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Changelog.js","sourceRoot":"","sources":["../../src/cmp/Changelog.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAG7C,+EAA+E;AAC/E,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,SAAS,GAAG,IAAA,cAAG,EAAC,SAAS,SAAS,CAAC,KAAU;IACjD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAEtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;IAErC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE;QAClC,IAAA,kBAAO,EAAC;;uCAE2B,IAAI;;;;;;;;qCAQN,IAAI;;;CAGxC,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAIA,8BAAS"}
@@ -0,0 +1,2 @@
1
+ declare const Deploy: import("jostraca").Component;
2
+ export { Deploy };
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Deploy = void 0;
4
+ const jostraca_1 = require("jostraca");
5
+ const types_1 = require("../types");
6
+ // Generate the SDK root deployment Makefile from the model's per-target
7
+ // `publish` sections (see model/sdkgen.aontu):
8
+ //
9
+ // publish.tag — git release tag `<prefix>/vX.Y.Z`; every port has
10
+ // one, pushed with a token from the aql key vault
11
+ // (--for recipe + alias, default github/github).
12
+ // publish.registry — package registry details (name, url, vault
13
+ // credential recipe or raw env mapping) plus a
14
+ // `state` (pending | active | inactive; the legacy
15
+ // `active: true` bool is honoured as an alias for
16
+ // state === 'active'). While a registry is NOT
17
+ // active (publish pending) a real deploy publishes
18
+ // the git tag only; the package upload starts when
19
+ // state flips to 'active'. Tag-only ports (go
20
+ // family) have no registry.
21
+ //
22
+ // Follows the voxgig/struct root Makefile conventions: per-target deploy
23
+ // targets, deliberately no all-targets real deploy (each upload is
24
+ // irreversible), and an everything-at-once DRY run leaning on
25
+ // `aql vault exec --dry-run` filler-token cooperation in each target's
26
+ // publish recipe.
27
+ const Deploy = (0, jostraca_1.cmp)(function Deploy(props) {
28
+ const { ctx$ } = props;
29
+ const { model } = ctx$;
30
+ const targetMap = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.target`) || {};
31
+ const targets = [];
32
+ (0, jostraca_1.each)(targetMap, (t) => {
33
+ if (false !== t.active)
34
+ targets.push(t);
35
+ });
36
+ if (0 === targets.length) {
37
+ return;
38
+ }
39
+ (0, jostraca_1.File)({ name: 'Makefile' }, () => {
40
+ (0, jostraca_1.Content)(makeDeployMakefile(model, targets));
41
+ });
42
+ ctx$.log.info({
43
+ point: 'generate-deploy',
44
+ note: 'targets: ' + targets.map((t) => t.name + (registryOf(t) ? (':' + registryOf(t).name + (regIsActive(registryOf(t)) ? '' : '(publish pending)')) : ':tag-only')).join(',')
45
+ });
46
+ });
47
+ exports.Deploy = Deploy;
48
+ function registryOf(t) {
49
+ const reg = t.publish?.registry;
50
+ return (reg && '' !== (reg.name || '')) ? reg : undefined;
51
+ }
52
+ // A registry is active (package really uploaded) when its tri-state
53
+ // `state === 'active'`. The legacy boolean `active: true` is honoured as a
54
+ // back-compat alias. Anything else — 'pending' (the default), 'inactive' —
55
+ // means a deploy publishes the git tag only.
56
+ function regIsActive(reg) {
57
+ if (null == reg)
58
+ return false;
59
+ if (true === reg.active)
60
+ return true; // legacy alias
61
+ return 'active' === reg.state;
62
+ }
63
+ function aliasVarName(name) {
64
+ return name.toUpperCase().replace(/[^A-Z0-9]+/g, '_') + '_ALIAS';
65
+ }
66
+ // The aql vault exec argument string for a target: `--for=<recipe>=<alias>`
67
+ // flags where a preset recipe exists, or a raw `'alias=ENV_VAR,...'`
68
+ // mapping when any credential lacks a preset (e.g. luarocks). The github
69
+ // token for the tag push is always included.
70
+ function vaultExecArgs(t) {
71
+ const tagVault = t.publish?.tag?.vault || {};
72
+ const ghRecipe = tagVault.recipe || 'github';
73
+ const ghVar = aliasVarName(ghRecipe);
74
+ const reg = registryOf(t);
75
+ const regVault = reg?.vault || {};
76
+ const regVar = reg ? aliasVarName(reg.name) : '';
77
+ if (reg && '' === (regVault.recipe || '') && '' !== (regVault.env || '')) {
78
+ // Raw env mapping style: every credential as alias=ENV_VAR.
79
+ return `'$(${regVar})=${regVault.env},$(${ghVar})=GITHUB_TOKEN'`;
80
+ }
81
+ const flags = [];
82
+ if (reg && '' !== (regVault.recipe || '')) {
83
+ flags.push(`--for=${regVault.recipe}=$(${regVar})`);
84
+ }
85
+ flags.push(`--for=${ghRecipe}=$(${ghVar})`);
86
+ return flags.join(' ');
87
+ }
88
+ function makeDeployMakefile(model, targets) {
89
+ // Alias variables: one per distinct vault credential, defaulting to the
90
+ // model's alias (or the registry/recipe name).
91
+ const aliasVars = new Map();
92
+ for (const t of targets) {
93
+ const tagVault = t.publish?.tag?.vault || {};
94
+ const ghRecipe = tagVault.recipe || 'github';
95
+ if (!aliasVars.has(aliasVarName(ghRecipe))) {
96
+ aliasVars.set(aliasVarName(ghRecipe), tagVault.alias || ghRecipe);
97
+ }
98
+ const reg = registryOf(t);
99
+ if (reg && !aliasVars.has(aliasVarName(reg.name))) {
100
+ aliasVars.set(aliasVarName(reg.name), reg.vault?.alias || reg.name);
101
+ }
102
+ }
103
+ const summary = targets.map((t) => {
104
+ const reg = registryOf(t);
105
+ const state = reg
106
+ ? `${reg.name} (${regIsActive(reg) ? 'ACTIVE' : 'publish pending: deploy publishes the git tag only'}) ${reg.url || ''}`.trim()
107
+ : 'tag-only';
108
+ return `# ${t.name.padEnd(8)} ${state}`;
109
+ }).join('\n');
110
+ const deployRules = targets.map((t) => {
111
+ const reg = registryOf(t);
112
+ // The github token is the only credential a tag-only deploy needs.
113
+ const tagVault = t.publish?.tag?.vault || {};
114
+ const ghRecipe = tagVault.recipe || 'github';
115
+ const ghArgs = `--for=${ghRecipe}=$(${aliasVarName(ghRecipe)})`;
116
+ const args = vaultExecArgs(t);
117
+ const via = t.publish?.tag?.via || 'port';
118
+ if (!reg && 'root' === via) {
119
+ // Tag-only port with no Makefile of its own (e.g. go-cli): the
120
+ // root tag-push recipe is the whole deploy.
121
+ return `
122
+ deploy-${t.name}:
123
+ \t@echo "deploy-${t.name}: tag-only port — publishing the git tag."
124
+ \taql vault exec ${ghArgs} -- $(MAKE) tag-push-${t.name}
125
+
126
+ deploy-dry-${t.name}:
127
+ \taql vault exec --dry-run ${ghArgs} -- $(MAKE) tag-push-${t.name}
128
+ ${tagPushRecipe(t.name, 'tag-only port')}
129
+ `;
130
+ }
131
+ if (reg && !regIsActive(reg)) {
132
+ // Publish pending: deploying this target publishes its git tag
133
+ // only. The package upload turns on by flipping
134
+ // publish.registry.state to 'active' in the model and regenerating.
135
+ return `
136
+ deploy-${t.name}:
137
+ \t@echo "deploy-${t.name}: ${reg.name} publication is pending — publishing the git tag only."
138
+ \taql vault exec ${ghArgs} -- $(MAKE) tag-push-${t.name}
139
+
140
+ deploy-dry-${t.name}:
141
+ \taql vault exec --dry-run ${ghArgs} -- $(MAKE) tag-push-${t.name}
142
+ ${tagPushRecipe(t.name, reg.name + ' publication pending — tag-only deploy')}
143
+ `;
144
+ }
145
+ return `
146
+ deploy-${t.name}:
147
+ \taql vault exec ${args} -- $(MAKE) -C ${t.name} publish
148
+
149
+ deploy-dry-${t.name}:
150
+ \taql vault exec --dry-run ${args} -- $(MAKE) -C ${t.name} publish
151
+ `;
152
+ }).join('');
153
+ const varLines = Array.from(aliasVars.entries())
154
+ .map(([v, def]) => `${v} ?= ${def}`).join('\n');
155
+ return `# ${model.Name} SDK deployment. GENERATED by @voxgig/sdkgen — regenerated
156
+ # on every \`npm run generate\` in .sdk/; publication details live in the
157
+ # model (.sdk/model/target/<target>.aontu, \`publish\` section).
158
+ #
159
+ # Every port gets a git release tag <target>/vX.Y.Z. Ports with an ACTIVE
160
+ # registry also publish a package there. Credentials are injected at exec
161
+ # time by the aql key vault (https://github.com/aql-lang/aql) — never
162
+ # stored on disk or passed on the command line.
163
+ #
164
+ # Publication state (from the model):
165
+ ${summary}
166
+ #
167
+ # make deploy list per-target deploy commands
168
+ # make deploy-<target> deploy ONE target (no deploy-all: each
169
+ # registry upload is irreversible); while a
170
+ # registry is pending this publishes the
171
+ # port's git tag only
172
+ # make deploy-dry rehearse EVERY target: aql --dry-run
173
+ # injects a filler token that each publish
174
+ # recipe detects, so build + test run in full
175
+ # but nothing is uploaded and no tag is cut
176
+ #
177
+ # Vault aliases (override per invocation, e.g. make deploy-ts NPM_ALIAS=work:npm):
178
+
179
+ SHELL := /bin/bash
180
+
181
+ ${varLines}
182
+
183
+ # Lockstep SDK version, read from the canonical ts manifest.
184
+ VERSION := $(shell node -p "require('./ts/package.json').version" 2>/dev/null || echo 0.0.0)
185
+ AQL_DRY_RUN_FILLER := AQL-DRY-RUN-FILLER-NOT-A-REAL-SECRET
186
+
187
+ TARGETS := ${targets.map((t) => t.name).join(' ')}
188
+
189
+ .PHONY: deploy deploy-dry \\
190
+ $(addprefix deploy-,$(TARGETS)) $(addprefix deploy-dry-,$(TARGETS)) \\
191
+ $(addprefix tag-push-,$(TARGETS))
192
+
193
+ deploy:
194
+ \t@echo "Deployment is per-target — pick one (each upload is irreversible):"
195
+ \t@echo " make deploy-<target> targets: $(TARGETS)"
196
+ \t@echo "Registry state is set in the model (.sdk/model/target/<t>.aontu):"
197
+ ${targets.map((t) => {
198
+ const reg = registryOf(t);
199
+ const state = reg ? `${reg.name} ${regIsActive(reg) ? 'ACTIVE' : 'publish pending (deploy = git tag only)'}` : 'tag-only';
200
+ return `\t@echo " deploy-${t.name.padEnd(8)} ${state}"`;
201
+ }).join('\n')}
202
+ \t@echo "Rehearse everything safely first: make deploy-dry"
203
+
204
+ deploy-dry: $(addprefix deploy-dry-,$(TARGETS))
205
+ \t@echo "deploy-dry: all targets rehearsed OK ($(TARGETS))"
206
+ ${deployRules}`;
207
+ }
208
+ // The root-level tag creation + push recipe for a target: aql --dry-run
209
+ // filler cooperation, idempotent tag creation, token-authenticated https
210
+ // push (works from an ssh-remote clone without ssh keys).
211
+ function tagPushRecipe(name, note) {
212
+ return `
213
+ tag-push-${name}:
214
+ \t@set -e; tag="${name}/v$(VERSION)"; \\
215
+ \ttoken="\$\${GITHUB_TOKEN:-$$GH_TOKEN}"; \\
216
+ \tif [ "$$token" = "$(AQL_DRY_RUN_FILLER)" ]; then \\
217
+ \t echo "[dry-run] aql filler token detected: would create (if missing) and push tag $$tag; nothing pushed."; exit 0; fi; \\
218
+ \tif [ -z "$$token" ]; then echo "tag-push-${name}: no GITHUB_TOKEN in env — run via make deploy-${name} (aql vault exec)"; exit 1; fi; \\
219
+ \tif git rev-parse -q --verify "refs/tags/$$tag" >/dev/null; then \\
220
+ \t echo "tag $$tag already exists — pushing existing tag"; \\
221
+ \telse git tag -a "$$tag" -m "Release $$tag"; fi; \\
222
+ \turl=$$(git remote get-url origin | sed -E 's#^git@github.com:#https://github.com/#'); \\
223
+ \thdr="AUTHORIZATION: basic $$(printf 'x-access-token:%s' "$$token" | base64 | tr -d '\\n')"; \\
224
+ \tgit -c http.extraheader="$$hdr" push "$$url" "$$tag"; \\
225
+ \techo "pushed $$tag (${note})"`;
226
+ }
227
+ //# sourceMappingURL=Deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Deploy.js","sourceRoot":"","sources":["../../src/cmp/Deploy.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,12 @@ const types_1 = require("../types");
6
6
  const FeatureHook = (0, jostraca_1.cmp)(function FeatureHook(props, children) {
7
7
  const { ctx$: { model } } = props;
8
8
  const feature = (0, types_1.getModelPath)(model, `main.${types_1.KIT}.feature`);
9
- const hook = {};
10
- (0, jostraca_1.names)(hook, props.name);
11
- // TODO: much better error reporting for invalid feature hook names
9
+ // A feature need not implement every pipeline stage; only fire the hook
10
+ // for features that declare it as active. Optional chaining guards
11
+ // features whose `hook` map omits this stage entirely.
12
12
  (0, jostraca_1.each)(feature)
13
- // .map(feature => (console.log(props.name, feature), feature))
14
- .filter(feature => feature.active && feature.hook[props.name].active)
15
- .map(feature => (0, jostraca_1.each)(children, { call: true, args: feature }));
13
+ .filter(feature => feature.active && feature.hook?.[props.name]?.active)
14
+ .forEach(feature => (0, jostraca_1.each)(children, { call: true, args: feature }));
16
15
  });
17
16
  exports.FeatureHook = FeatureHook;
18
17
  //# sourceMappingURL=FeatureHook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureHook.js","sourceRoot":"","sources":["../../src/cmp/FeatureHook.ts"],"names":[],"mappings":";;;AACA,uCAAoD;AAEpD,oCAGiB;AAGjB,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU,EAAE,QAAa;IACpE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,WAAG,UAAU,CAAC,CAAA;IAE1D,MAAM,IAAI,GAAQ,EAAE,CAAA;IACpB,IAAA,gBAAK,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAEvB,mEAAmE;IACnE,IAAA,eAAI,EAAC,OAAO,CAAC;QACX,+DAA+D;SAC9D,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;SACpE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAClE,CAAC,CAAC,CAAA;AAIA,kCAAW"}
1
+ {"version":3,"file":"FeatureHook.js","sourceRoot":"","sources":["../../src/cmp/FeatureHook.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,oCAGiB;AAGjB,MAAM,WAAW,GAAG,IAAA,cAAG,EAAC,SAAS,WAAW,CAAC,KAAU,EAAE,QAAa;IACpE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAA;IAEjC,MAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,WAAG,UAAU,CAAC,CAAA;IAE1D,wEAAwE;IACxE,mEAAmE;IACnE,uDAAuD;IACvD,IAAA,eAAI,EAAC,OAAO,CAAC;SACV,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACvE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AACtE,CAAC,CAAC,CAAA;AAIA,kCAAW"}
@@ -0,0 +1,2 @@
1
+ declare const License: import("jostraca").Component;
2
+ export { License };