@voxgig/sdkgen 2.0.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/bin/voxgig-sdkgen +22 -2
  2. package/dist/action/doctor.d.ts +14 -0
  3. package/dist/action/doctor.js +296 -0
  4. package/dist/action/doctor.js.map +1 -0
  5. package/dist/action/feature.js +48 -9
  6. package/dist/action/feature.js.map +1 -1
  7. package/dist/action/target.d.ts +6 -1
  8. package/dist/action/target.js +134 -22
  9. package/dist/action/target.js.map +1 -1
  10. package/dist/cmp/Entity.js +5 -0
  11. package/dist/cmp/Entity.js.map +1 -1
  12. package/dist/cmp/Feature.js +2 -1
  13. package/dist/cmp/Feature.js.map +1 -1
  14. package/dist/cmp/Main.js +5 -1
  15. package/dist/cmp/Main.js.map +1 -1
  16. package/dist/cmp/ReadmeExplanation.js +1 -1
  17. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  18. package/dist/cmp/ReadmeTop.js +16 -6
  19. package/dist/cmp/ReadmeTop.js.map +1 -1
  20. package/dist/cmp/Registered.d.ts +7 -0
  21. package/dist/cmp/Registered.js +70 -0
  22. package/dist/cmp/Registered.js.map +1 -0
  23. package/dist/cmp/Test.js +3 -1
  24. package/dist/cmp/Test.js.map +1 -1
  25. package/dist/helpers/dryrun.d.ts +10 -0
  26. package/dist/helpers/dryrun.js +35 -0
  27. package/dist/helpers/dryrun.js.map +1 -0
  28. package/dist/helpers/featureSource.d.ts +13 -0
  29. package/dist/helpers/featureSource.js +156 -0
  30. package/dist/helpers/featureSource.js.map +1 -0
  31. package/dist/helpers/naming.d.ts +9 -1
  32. package/dist/helpers/naming.js +66 -2
  33. package/dist/helpers/naming.js.map +1 -1
  34. package/dist/helpers/opExample.js +23 -3
  35. package/dist/helpers/opExample.js.map +1 -1
  36. package/dist/helpers/opShape.d.ts +11 -1
  37. package/dist/helpers/opShape.js +51 -0
  38. package/dist/helpers/opShape.js.map +1 -1
  39. package/dist/helpers/packageMeta.d.ts +8 -1
  40. package/dist/helpers/packageMeta.js +141 -10
  41. package/dist/helpers/packageMeta.js.map +1 -1
  42. package/dist/helpers/stdrep.d.ts +3 -0
  43. package/dist/helpers/stdrep.js +47 -0
  44. package/dist/helpers/stdrep.js.map +1 -0
  45. package/dist/helpers/testPolicy.d.ts +2 -0
  46. package/dist/helpers/testPolicy.js +46 -0
  47. package/dist/helpers/testPolicy.js.map +1 -0
  48. package/dist/sdkgen.d.ts +15 -6
  49. package/dist/sdkgen.js +45 -4
  50. package/dist/sdkgen.js.map +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/model/sdkgen.aontu +125 -0
  53. package/package.json +5 -3
  54. package/project/.sdk/model/target/c.aontu +28 -3
  55. package/project/.sdk/model/target/clojure.aontu +24 -3
  56. package/project/.sdk/model/target/cpp.aontu +25 -3
  57. package/project/.sdk/model/target/csharp.aontu +25 -3
  58. package/project/.sdk/model/target/dart.aontu +15 -3
  59. package/project/.sdk/model/target/elixir.aontu +15 -3
  60. package/project/.sdk/model/target/go-cli.aontu +17 -1
  61. package/project/.sdk/model/target/go-mcp.aontu +17 -1
  62. package/project/.sdk/model/target/go.aontu +14 -4
  63. package/project/.sdk/model/target/haskell.aontu +24 -3
  64. package/project/.sdk/model/target/java.aontu +26 -3
  65. package/project/.sdk/model/target/js.aontu +15 -3
  66. package/project/.sdk/model/target/kotlin.aontu +26 -3
  67. package/project/.sdk/model/target/lean.aontu +25 -3
  68. package/project/.sdk/model/target/lua.aontu +15 -3
  69. package/project/.sdk/model/target/ocaml.aontu +24 -3
  70. package/project/.sdk/model/target/perl.aontu +15 -3
  71. package/project/.sdk/model/target/php.aontu +15 -3
  72. package/project/.sdk/model/target/py-data.aontu +16 -3
  73. package/project/.sdk/model/target/py.aontu +15 -3
  74. package/project/.sdk/model/target/rb.aontu +15 -3
  75. package/project/.sdk/model/target/rust.aontu +25 -3
  76. package/project/.sdk/model/target/scala.aontu +25 -3
  77. package/project/.sdk/model/target/swift.aontu +25 -3
  78. package/project/.sdk/model/target/ts.aontu +15 -3
  79. package/project/.sdk/model/target/zig.aontu +26 -3
  80. package/project/.sdk/src/cmp/c/Config_c.ts +10 -11
  81. package/project/.sdk/src/cmp/c/Entity_c.ts +5 -1
  82. package/project/.sdk/src/cmp/c/fragment/Entity.fragment.c +23 -5
  83. package/project/.sdk/src/cmp/c/fragment/EntityCreateOp.fragment.c +9 -2
  84. package/project/.sdk/src/cmp/c/fragment/EntityListOp.fragment.c +19 -2
  85. package/project/.sdk/src/cmp/c/fragment/EntityLoadOp.fragment.c +9 -2
  86. package/project/.sdk/src/cmp/c/fragment/EntityRemoveOp.fragment.c +12 -2
  87. package/project/.sdk/src/cmp/c/fragment/EntityUpdateOp.fragment.c +9 -2
  88. package/project/.sdk/src/cmp/c/fragment/Main.fragment.c +1 -0
  89. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +6 -3
  90. package/project/.sdk/src/cmp/clojure/fragment/Entity.fragment.clj +18 -1
  91. package/project/.sdk/src/cmp/clojure/fragment/EntityCreateOp.fragment.clj +2 -2
  92. package/project/.sdk/src/cmp/clojure/fragment/EntityLoadOp.fragment.clj +2 -2
  93. package/project/.sdk/src/cmp/clojure/fragment/EntityRemoveOp.fragment.clj +12 -8
  94. package/project/.sdk/src/cmp/clojure/fragment/EntityUpdateOp.fragment.clj +2 -2
  95. package/project/.sdk/src/cmp/cpp/Entity_cpp.ts +5 -1
  96. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +12 -9
  97. package/project/.sdk/src/cmp/cpp/fragment/EntityCreateOp.fragment.cpp +8 -2
  98. package/project/.sdk/src/cmp/cpp/fragment/EntityListOp.fragment.cpp +18 -2
  99. package/project/.sdk/src/cmp/cpp/fragment/EntityLoadOp.fragment.cpp +8 -2
  100. package/project/.sdk/src/cmp/cpp/fragment/EntityRemoveOp.fragment.cpp +11 -2
  101. package/project/.sdk/src/cmp/cpp/fragment/EntityUpdateOp.fragment.cpp +8 -2
  102. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +2 -1
  103. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +3 -3
  104. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +6 -6
  105. package/project/.sdk/src/cmp/csharp/fragment/EntityBase.fragment.cs +38 -1
  106. package/project/.sdk/src/cmp/csharp/fragment/Main.fragment.cs +42 -33
  107. package/project/.sdk/src/cmp/dart/Package_dart.ts +2 -1
  108. package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +13 -2
  109. package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +2 -1
  110. package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +3 -3
  111. package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +1 -1
  112. package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +17 -6
  113. package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +13 -2
  114. package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +13 -2
  115. package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +3 -3
  116. package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +8 -8
  117. package/project/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +18 -1
  118. package/project/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +9 -1
  119. package/project/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +9 -1
  120. package/project/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +15 -1
  121. package/project/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +9 -1
  122. package/project/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +8 -0
  123. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +3 -1
  124. package/project/.sdk/src/cmp/elixir/ReadmeInstall_elixir.ts +2 -2
  125. package/project/.sdk/src/cmp/elixir/TestEntity_elixir.ts +11 -2
  126. package/project/.sdk/src/cmp/elixir/fragment/EntityCreateOp.fragment.ex +2 -1
  127. package/project/.sdk/src/cmp/elixir/fragment/EntityListOp.fragment.ex +1 -0
  128. package/project/.sdk/src/cmp/elixir/fragment/EntityLoadOp.fragment.ex +2 -1
  129. package/project/.sdk/src/cmp/elixir/fragment/EntityRemoveOp.fragment.ex +4 -1
  130. package/project/.sdk/src/cmp/elixir/fragment/EntityUpdateOp.fragment.ex +2 -1
  131. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +38 -8
  132. package/project/.sdk/src/cmp/go/Entity_go.ts +2 -2
  133. package/project/.sdk/src/cmp/go/Main_go.ts +4 -5
  134. package/project/.sdk/src/cmp/go/Package_go.ts +8 -5
  135. package/project/.sdk/src/cmp/go/ReadmeExplanation_go.ts +2 -2
  136. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +2 -2
  137. package/project/.sdk/src/cmp/go/ReadmeInstall_go.ts +4 -2
  138. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +2 -2
  139. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +2 -2
  140. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +2 -2
  141. package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +2 -2
  142. package/project/.sdk/src/cmp/go/TestDirect_go.ts +21 -15
  143. package/project/.sdk/src/cmp/go/TestEntity_go.ts +9 -9
  144. package/project/.sdk/src/cmp/go/Test_go.ts +2 -2
  145. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +42 -1
  146. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +4 -4
  147. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +4 -4
  148. package/project/.sdk/src/cmp/haskell/Package_haskell.ts +2 -1
  149. package/project/.sdk/src/cmp/haskell/ReadmeEntity_haskell.ts +10 -5
  150. package/project/.sdk/src/cmp/haskell/ReadmeModel_haskell.ts +10 -8
  151. package/project/.sdk/src/cmp/haskell/ReadmeQuick_haskell.ts +14 -10
  152. package/project/.sdk/src/cmp/haskell/ReadmeRef_haskell.ts +21 -18
  153. package/project/.sdk/src/cmp/haskell/ReadmeTopQuick_haskell.ts +4 -4
  154. package/project/.sdk/src/cmp/haskell/Test_haskell.ts +23 -11
  155. package/project/.sdk/src/cmp/java/Package_java.ts +2 -1
  156. package/project/.sdk/src/cmp/java/ReadmeHowto_java.ts +2 -1
  157. package/project/.sdk/src/cmp/java/ReadmeInstall_java.ts +2 -2
  158. package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +1 -1
  159. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +3 -3
  160. package/project/.sdk/src/cmp/java/TestDirect_java.ts +3 -3
  161. package/project/.sdk/src/cmp/java/TestEntity_java.ts +6 -6
  162. package/project/.sdk/src/cmp/java/fragment/EntityBase.fragment.java +34 -1
  163. package/project/.sdk/src/cmp/java/fragment/SdkError.fragment.java +12 -0
  164. package/project/.sdk/src/cmp/js/Main_js.ts +4 -1
  165. package/project/.sdk/src/cmp/js/Package_js.ts +7 -1
  166. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +13 -2
  167. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +2 -1
  168. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +13 -2
  169. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +13 -2
  170. package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +2 -1
  171. package/project/.sdk/src/cmp/js/TestDirect_js.ts +3 -3
  172. package/project/.sdk/src/cmp/js/TestEntity_js.ts +8 -8
  173. package/project/.sdk/src/cmp/js/fragment/EntityBase.fragment.js +22 -1
  174. package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +9 -1
  175. package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +9 -1
  176. package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +15 -1
  177. package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +9 -1
  178. package/project/.sdk/src/cmp/js/fragment/SdkError.fragment.js +13 -0
  179. package/project/.sdk/src/cmp/kotlin/Package_kotlin.ts +2 -1
  180. package/project/.sdk/src/cmp/kotlin/ReadmeHowto_kotlin.ts +2 -1
  181. package/project/.sdk/src/cmp/kotlin/ReadmeInstall_kotlin.ts +2 -2
  182. package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +1 -1
  183. package/project/.sdk/src/cmp/kotlin/ReadmeQuick_kotlin.ts +3 -3
  184. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +3 -3
  185. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +6 -6
  186. package/project/.sdk/src/cmp/kotlin/fragment/EntityBase.fragment.kt +32 -1
  187. package/project/.sdk/src/cmp/lean/Package_lean.ts +3 -1
  188. package/project/.sdk/src/cmp/lua/MainEntity_lua.ts +9 -4
  189. package/project/.sdk/src/cmp/lua/Package_lua.ts +4 -3
  190. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +11 -3
  191. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +1 -1
  192. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +3 -3
  193. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +9 -9
  194. package/project/.sdk/src/cmp/lua/fragment/Entity.fragment.lua +37 -1
  195. package/project/.sdk/src/cmp/lua/fragment/SdkError.fragment.lua +12 -0
  196. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +30 -3
  197. package/project/.sdk/src/cmp/ocaml/Entity_ocaml.ts +11 -5
  198. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +3 -1
  199. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +10 -5
  200. package/project/.sdk/src/cmp/ocaml/ReadmeHowto_ocaml.ts +6 -2
  201. package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +10 -8
  202. package/project/.sdk/src/cmp/ocaml/ReadmeQuick_ocaml.ts +14 -13
  203. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +20 -18
  204. package/project/.sdk/src/cmp/ocaml/ReadmeTopQuick_ocaml.ts +4 -4
  205. package/project/.sdk/src/cmp/ocaml/ReadmeTopTest_ocaml.ts +8 -2
  206. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +8 -5
  207. package/project/.sdk/src/cmp/perl/ReadmeHowto_perl.ts +2 -1
  208. package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +1 -1
  209. package/project/.sdk/src/cmp/perl/ReadmeQuick_perl.ts +3 -3
  210. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +1 -1
  211. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +3 -3
  212. package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +6 -6
  213. package/project/.sdk/src/cmp/perl/fragment/Entity.fragment.pm +36 -1
  214. package/project/.sdk/src/cmp/php/MainEntity_php.ts +21 -16
  215. package/project/.sdk/src/cmp/php/Package_php.ts +2 -2
  216. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +6 -6
  217. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +4 -3
  218. package/project/.sdk/src/cmp/php/ReadmeIntro_php.ts +2 -2
  219. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +1 -1
  220. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +12 -12
  221. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +6 -6
  222. package/project/.sdk/src/cmp/php/ReadmeTopQuick_php.ts +4 -4
  223. package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +2 -2
  224. package/project/.sdk/src/cmp/php/TestDirect_php.ts +3 -3
  225. package/project/.sdk/src/cmp/php/TestEntity_php.ts +17 -15
  226. package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +20 -1
  227. package/project/.sdk/src/cmp/php/fragment/SdkError.fragment.php +11 -0
  228. package/project/.sdk/src/cmp/py/Package_py.ts +4 -3
  229. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +13 -2
  230. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +2 -1
  231. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +1 -1
  232. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +17 -6
  233. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +14 -3
  234. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +13 -2
  235. package/project/.sdk/src/cmp/py/TestDirect_py.ts +3 -3
  236. package/project/.sdk/src/cmp/py/TestEntity_py.ts +9 -9
  237. package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +29 -1
  238. package/project/.sdk/src/cmp/py/fragment/SdkError.fragment.py +11 -0
  239. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +2 -1
  240. package/project/.sdk/src/cmp/rb/Package_rb.ts +4 -3
  241. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +1 -1
  242. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +2 -1
  243. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +5 -5
  244. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +1 -1
  245. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +3 -3
  246. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +9 -9
  247. package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +31 -1
  248. package/project/.sdk/src/cmp/rb/fragment/SdkError.fragment.rb +10 -1
  249. package/project/.sdk/src/cmp/rust/Entity_rust.ts +5 -1
  250. package/project/.sdk/src/cmp/rust/Main_rust.ts +21 -0
  251. package/project/.sdk/src/cmp/rust/Package_rust.ts +2 -1
  252. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +3 -3
  253. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +12 -12
  254. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +18 -0
  255. package/project/.sdk/src/cmp/rust/fragment/EntityCreateOp.fragment.rs +8 -2
  256. package/project/.sdk/src/cmp/rust/fragment/EntityListOp.fragment.rs +20 -3
  257. package/project/.sdk/src/cmp/rust/fragment/EntityLoadOp.fragment.rs +8 -2
  258. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +10 -2
  259. package/project/.sdk/src/cmp/rust/fragment/EntityUpdateOp.fragment.rs +8 -2
  260. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +10 -0
  261. package/project/.sdk/src/cmp/scala/ReadmeHowto_scala.ts +2 -1
  262. package/project/.sdk/src/cmp/scala/ReadmeInstall_scala.ts +3 -3
  263. package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +1 -1
  264. package/project/.sdk/src/cmp/scala/ReadmeQuick_scala.ts +3 -3
  265. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +3 -3
  266. package/project/.sdk/src/cmp/scala/fragment/EntityBase.fragment.scala +27 -1
  267. package/project/.sdk/src/cmp/swift/ReadmeHowto_swift.ts +2 -1
  268. package/project/.sdk/src/cmp/swift/ReadmeInstall_swift.ts +3 -3
  269. package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +1 -1
  270. package/project/.sdk/src/cmp/swift/ReadmeQuick_swift.ts +3 -3
  271. package/project/.sdk/src/cmp/swift/fragment/EntityBase.fragment.swift +34 -1
  272. package/project/.sdk/src/cmp/ts/EntityOperation_ts.ts +9 -1
  273. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +18 -1
  274. package/project/.sdk/src/cmp/ts/Gitignore_ts.ts +5 -2
  275. package/project/.sdk/src/cmp/ts/Main_ts.ts +4 -1
  276. package/project/.sdk/src/cmp/ts/Package_ts.ts +10 -1
  277. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +13 -2
  278. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +2 -1
  279. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +21 -6
  280. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +52 -2
  281. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +14 -3
  282. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +34 -2
  283. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +64 -43
  284. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +8 -8
  285. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +2 -2
  286. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +2 -2
  287. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +25 -1
  288. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +10 -2
  289. package/project/.sdk/src/cmp/ts/fragment/EntityListOp.fragment.ts +1 -1
  290. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +10 -2
  291. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +27 -3
  292. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +10 -2
  293. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +15 -0
  294. package/project/.sdk/src/cmp/zig/Entity_zig.ts +5 -1
  295. package/project/.sdk/src/cmp/zig/Package_zig.ts +3 -1
  296. package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +39 -0
  297. package/project/.sdk/src/cmp/zig/fragment/EntityCreateOp.fragment.zig +2 -2
  298. package/project/.sdk/src/cmp/zig/fragment/EntityListOp.fragment.zig +21 -2
  299. package/project/.sdk/src/cmp/zig/fragment/EntityLoadOp.fragment.zig +2 -2
  300. package/project/.sdk/src/cmp/zig/fragment/EntityRemoveOp.fragment.zig +5 -2
  301. package/project/.sdk/src/cmp/zig/fragment/EntityUpdateOp.fragment.zig +2 -2
  302. package/project/.sdk/tm/c/VERSION +1 -1
  303. package/project/.sdk/tm/c/core/helpers.c +1 -0
  304. package/project/.sdk/tm/c/core/sdk.h +22 -6
  305. package/project/.sdk/tm/c/tests/feature_harness.h +1 -0
  306. package/project/.sdk/tm/c/tests/primary_utility_test.c +4 -1
  307. package/project/.sdk/tm/c/utility/make_url.c +1 -0
  308. package/project/.sdk/tm/c/utility/param.c +1 -0
  309. package/project/.sdk/tm/clojure/VERSION +1 -1
  310. package/project/.sdk/tm/cpp/VERSION +1 -1
  311. package/project/.sdk/tm/cpp/core/types.hpp +33 -8
  312. package/project/.sdk/tm/cpp/test/pipeline_test.cpp +5 -0
  313. package/project/.sdk/tm/cpp/test/runner_support.hpp +4 -4
  314. package/project/.sdk/tm/csharp/VERSION +1 -1
  315. package/project/.sdk/tm/csharp/core/Types.cs +6 -0
  316. package/project/.sdk/tm/csharp/test/FeatureHarness.cs +396 -0
  317. package/project/.sdk/tm/csharp/test/FeatureTest.cs +7 -385
  318. package/project/.sdk/tm/csharp/test/Runner.cs +4 -4
  319. package/project/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +4 -0
  320. package/project/.sdk/tm/dart/test/utility.dart +4 -4
  321. package/project/.sdk/tm/elixir/VERSION +1 -1
  322. package/project/.sdk/tm/elixir/lib/projectname/entity_base.ex +26 -0
  323. package/project/.sdk/tm/go/VERSION +1 -1
  324. package/project/.sdk/tm/go/core/types.go +6 -0
  325. package/project/.sdk/tm/go/test/feature_harness_test.go +361 -0
  326. package/project/.sdk/tm/go/test/feature_test.go +7 -350
  327. package/project/.sdk/tm/go/test/pipeline_test.go +6 -0
  328. package/project/.sdk/tm/go/test/runner_test.go +16 -4
  329. package/project/.sdk/tm/haskell/VERSION +1 -1
  330. package/project/.sdk/tm/haskell/src/SdkFeatures.hs +28 -5
  331. package/project/.sdk/tm/haskell/src/SdkTypes.hs +14 -5
  332. package/project/.sdk/tm/java/VERSION +1 -1
  333. package/project/.sdk/tm/java/test/RunnerSupport.java +4 -4
  334. package/project/.sdk/tm/java/utility/MakeError.java +4 -0
  335. package/project/.sdk/tm/js/src/utility/MakeErrorUtility.js +4 -0
  336. package/project/.sdk/tm/js/test/utility.js +3 -3
  337. package/project/.sdk/tm/kotlin/VERSION +1 -1
  338. package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +3 -3
  339. package/project/.sdk/tm/lean/VERSION +1 -1
  340. package/project/.sdk/tm/lean/test/TFeature.lean +27 -14
  341. package/project/.sdk/tm/lua/test/runner.lua +4 -4
  342. package/project/.sdk/tm/lua/utility/make_error.lua +4 -0
  343. package/project/.sdk/tm/ocaml/VERSION +1 -1
  344. package/project/.sdk/tm/ocaml/sdk_types.ml +14 -5
  345. package/project/.sdk/tm/ocaml/test/t_pipeline.ml +5 -2
  346. package/project/.sdk/tm/perl/t/runner.pm +4 -4
  347. package/project/.sdk/tm/php/VERSION +1 -1
  348. package/project/.sdk/tm/php/test/Runner.php +4 -4
  349. package/project/.sdk/tm/php/utility/MakeError.php +5 -0
  350. package/project/.sdk/tm/py/pkg/utility/make_error.py +4 -0
  351. package/project/.sdk/tm/py/test/runner.py +19 -4
  352. package/project/.sdk/tm/rb/test/runner.rb +4 -4
  353. package/project/.sdk/tm/rb/utility/make_error.rb +4 -0
  354. package/project/.sdk/tm/rust/VERSION +1 -1
  355. package/project/.sdk/tm/rust/core/types.rs +22 -6
  356. package/project/.sdk/tm/rust/tests/common/mod.rs +6 -6
  357. package/project/.sdk/tm/rust/tests/pipeline_test.rs +6 -0
  358. package/project/.sdk/tm/rust/utility/make_error.rs +4 -0
  359. package/project/.sdk/tm/scala/VERSION +1 -1
  360. package/project/.sdk/tm/swift/VERSION +1 -1
  361. package/project/.sdk/tm/ts/src/tsconfig.json +1 -0
  362. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +4 -0
  363. package/project/.sdk/tm/ts/test/tsconfig.json +1 -0
  364. package/project/.sdk/tm/ts/test/utility.ts +3 -3
  365. package/project/.sdk/tm/zig/VERSION +1 -1
  366. package/src/action/doctor.ts +410 -0
  367. package/src/action/feature.ts +54 -16
  368. package/src/action/target.ts +174 -25
  369. package/src/cmp/Entity.ts +7 -0
  370. package/src/cmp/Feature.ts +3 -1
  371. package/src/cmp/Main.ts +7 -1
  372. package/src/cmp/ReadmeExplanation.ts +2 -2
  373. package/src/cmp/ReadmeTop.ts +22 -9
  374. package/src/cmp/Registered.ts +100 -0
  375. package/src/cmp/Test.ts +4 -1
  376. package/src/helpers/dryrun.ts +57 -0
  377. package/src/helpers/featureSource.ts +208 -0
  378. package/src/helpers/naming.ts +73 -2
  379. package/src/helpers/opExample.ts +19 -2
  380. package/src/helpers/opShape.ts +65 -0
  381. package/src/helpers/packageMeta.ts +163 -10
  382. package/src/helpers/stdrep.ts +56 -0
  383. package/src/helpers/testPolicy.ts +52 -0
  384. package/src/sdkgen.ts +70 -4
  385. package/project/.sdk/tm/rust/feature/mod.rs +0 -24
@@ -25,13 +25,38 @@ main: kit: feature: &: target: c: deps: &: {
25
25
 
26
26
 
27
27
  # Publication: C has no central registry — publishing IS the git tag.
28
+ #
29
+ # `target add <t>` OVERWRITES this file, so a project must never set its
30
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
31
+ # name exactly that way. Set them in the project's own model
32
+ # (`model/sdk.aontu`), where they survive a resync.
33
+ #
34
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
35
+ # value does not yield to another concrete value, it CONFLICTS, and two
36
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
37
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
38
+ # `registry.package`, so a project's concrete value wins over the default and
39
+ # repeating them here would only take that away.
40
+ #
41
+ # What remains below is per-target registry IDENTITY, which is not a project
42
+ # choice and stays concrete.
28
43
  main: kit: target: c: publish: {
29
- tag: { active: true }
30
44
  registry: {
31
- state: 'pending'
32
- active: false
33
45
  name: 'none'
34
46
  url: ''
35
47
  vault: { alias: 'none', env: 'NONE' }
36
48
  }
37
49
  }
50
+
51
+
52
+ # Feature source may be trimmed to the model's selection. Two templates need
53
+ # the COMPLETE set, so both are dropped alongside the features they exercise
54
+ # whenever the set is trimmed:
55
+ # tests/feature_test.c — calls every feature_*_new()
56
+ # tests/sdk_pipeline_test.c — drives the retry feature by NAME through the
57
+ # options map, so it fails at RUNTIME rather
58
+ # than at link time when retry is absent
59
+ main: kit: target: c: feature: {
60
+ trim: true
61
+ fullset: ['tests/feature_test.c', 'tests/sdk_pipeline_test.c']
62
+ }
@@ -24,13 +24,34 @@ main: kit: feature: &: target: clojure: deps: &: {
24
24
 
25
25
 
26
26
  # Publication: Clojars registry (declared, publish pending — git-tag only).
27
+ #
28
+ # `target add <t>` OVERWRITES this file, so a project must never set its
29
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
30
+ # name exactly that way. Set them in the project's own model
31
+ # (`model/sdk.aontu`), where they survive a resync.
32
+ #
33
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
34
+ # value does not yield to another concrete value, it CONFLICTS, and two
35
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
36
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
37
+ # `registry.package`, so a project's concrete value wins over the default and
38
+ # repeating them here would only take that away.
39
+ #
40
+ # What remains below is per-target registry IDENTITY, which is not a project
41
+ # choice and stays concrete.
27
42
  main: kit: target: clojure: publish: {
28
- tag: { active: true }
29
43
  registry: {
30
- state: 'pending'
31
- active: false
32
44
  name: 'clojars'
33
45
  url: 'https://clojars.org'
34
46
  vault: { alias: 'clojars' }
35
47
  }
36
48
  }
49
+
50
+
51
+ # Feature source is NOT trimmed to the model's selection here: every
52
+ # feature lives inside a single generated module (src/sdk/features.clj),
53
+ # not in per-feature source files, so there is nothing per-feature to
54
+ # leave out. Trimming waits on that module becoming model-driven.
55
+ main: kit: target: clojure: feature: {
56
+ trim: false
57
+ }
@@ -24,12 +24,34 @@ main: kit: feature: &: target: cpp: deps: &: {
24
24
 
25
25
 
26
26
  # Publication: header-only; publishing is the git tag cpp/vX.Y.Z (no registry).
27
+ #
28
+ # `target add <t>` OVERWRITES this file, so a project must never set its
29
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
30
+ # name exactly that way. Set them in the project's own model
31
+ # (`model/sdk.aontu`), where they survive a resync.
32
+ #
33
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
34
+ # value does not yield to another concrete value, it CONFLICTS, and two
35
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
36
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
37
+ # `registry.package`, so a project's concrete value wins over the default and
38
+ # repeating them here would only take that away.
39
+ #
40
+ # What remains below is per-target registry IDENTITY, which is not a project
41
+ # choice and stays concrete.
27
42
  main: kit: target: cpp: publish: {
28
- tag: { active: true }
29
43
  registry: {
30
- state: 'pending'
31
- active: false
32
44
  name: 'none'
33
45
  url: ''
34
46
  }
35
47
  }
48
+
49
+
50
+ # Feature source may be trimmed to the model's selection. The one template
51
+ # needing the COMPLETE set is the cross-feature test suite, which includes
52
+ # every feature/<name>.hpp — so it is dropped alongside the features it
53
+ # exercises whenever the set is trimmed.
54
+ main: kit: target: cpp: feature: {
55
+ trim: true
56
+ fullset: ['test/feature_test.cpp']
57
+ }
@@ -23,13 +23,35 @@ main: kit: feature: &: target: csharp: deps: &: {
23
23
 
24
24
 
25
25
  # Publication: NuGet registry (declared, publish pending — git-tag only).
26
+ #
27
+ # `target add <t>` OVERWRITES this file, so a project must never set its
28
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
29
+ # name exactly that way. Set them in the project's own model
30
+ # (`model/sdk.aontu`), where they survive a resync.
31
+ #
32
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
33
+ # value does not yield to another concrete value, it CONFLICTS, and two
34
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
35
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
36
+ # `registry.package`, so a project's concrete value wins over the default and
37
+ # repeating them here would only take that away.
38
+ #
39
+ # What remains below is per-target registry IDENTITY, which is not a project
40
+ # choice and stays concrete.
26
41
  main: kit: target: csharp: publish: {
27
- tag: { active: true }
28
42
  registry: {
29
- state: 'pending'
30
- active: false
31
43
  name: 'nuget'
32
44
  url: 'https://www.nuget.org'
33
45
  vault: { alias: 'nuget', env: 'NUGET_API_KEY' }
34
46
  }
35
47
  }
48
+
49
+
50
+ # Feature source may be trimmed to the model's selection. The one template
51
+ # needing the COMPLETE set is the cross-feature test suite, which
52
+ # constructs every *Feature class — so it is dropped alongside the
53
+ # features it exercises whenever the set is trimmed.
54
+ main: kit: target: csharp: feature: {
55
+ trim: true
56
+ fullset: ['test/FeatureTest.cs']
57
+ }
@@ -22,11 +22,23 @@ main: kit: feature: &: target: dart: deps: &: {
22
22
 
23
23
 
24
24
  # Publication: pub.dev registry (declared, publish pending — git-tag only).
25
+ #
26
+ # `target add <t>` OVERWRITES this file, so a project must never set its
27
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
28
+ # name exactly that way. Set them in the project's own model
29
+ # (`model/sdk.aontu`), where they survive a resync.
30
+ #
31
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
32
+ # value does not yield to another concrete value, it CONFLICTS, and two
33
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
34
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
35
+ # `registry.package`, so a project's concrete value wins over the default and
36
+ # repeating them here would only take that away.
37
+ #
38
+ # What remains below is per-target registry IDENTITY, which is not a project
39
+ # choice and stays concrete.
25
40
  main: kit: target: dart: publish: {
26
- tag: { active: true }
27
41
  registry: {
28
- state: 'pending'
29
- active: false
30
42
  name: 'pub.dev'
31
43
  url: 'https://pub.dev'
32
44
  vault: { alias: 'pubdev', env: 'PUB_CREDENTIALS' }
@@ -21,11 +21,23 @@ main: kit: feature: &: target: elixir: deps: &: {
21
21
 
22
22
 
23
23
  # Publication: hex registry (declared, publish pending — git-tag only).
24
+ #
25
+ # `target add <t>` OVERWRITES this file, so a project must never set its
26
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
27
+ # name exactly that way. Set them in the project's own model
28
+ # (`model/sdk.aontu`), where they survive a resync.
29
+ #
30
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
31
+ # value does not yield to another concrete value, it CONFLICTS, and two
32
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
33
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
34
+ # `registry.package`, so a project's concrete value wins over the default and
35
+ # repeating them here would only take that away.
36
+ #
37
+ # What remains below is per-target registry IDENTITY, which is not a project
38
+ # choice and stays concrete.
24
39
  main: kit: target: elixir: publish: {
25
- tag: { active: true }
26
40
  registry: {
27
- state: 'pending'
28
- active: false
29
41
  name: 'hex'
30
42
  url: 'https://hex.pm'
31
43
  vault: { recipe: 'hex', alias: 'hex' }
@@ -43,6 +43,22 @@ main: kit: feature: &: target: 'go-cli': deps: &: {
43
43
 
44
44
  # Publication: tag-only — the Go module proxy resolves versions from the
45
45
  # go-cli/vX.Y.Z GitHub tag; there is no package registry to upload to.
46
+ # Publication.
47
+ #
48
+ # `target add <t>` OVERWRITES this file, so a project must never set its
49
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
50
+ # name exactly that way. Set them in the project's own model
51
+ # (`model/sdk.aontu`), where they survive a resync.
52
+ #
53
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
54
+ # value does not yield to another concrete value, it CONFLICTS, and two
55
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
56
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
57
+ # `registry.package`, so a project's concrete value wins over the default and
58
+ # repeating them here would only take that away.
59
+ #
60
+ # What remains below is per-target registry IDENTITY, which is not a project
61
+ # choice and stays concrete.
46
62
  main: kit: target: 'go-cli': publish: {
47
- tag: { active: true, via: 'root' }
63
+ tag: { via: 'root' }
48
64
  }
@@ -37,6 +37,22 @@ main: kit: feature: &: target: 'go-mcp': deps: &: {
37
37
 
38
38
  # Publication: tag-only — the Go module proxy resolves versions from the
39
39
  # go-mcp/vX.Y.Z GitHub tag; there is no package registry to upload to.
40
+ # Publication.
41
+ #
42
+ # `target add <t>` OVERWRITES this file, so a project must never set its
43
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
44
+ # name exactly that way. Set them in the project's own model
45
+ # (`model/sdk.aontu`), where they survive a resync.
46
+ #
47
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
48
+ # value does not yield to another concrete value, it CONFLICTS, and two
49
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
50
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
51
+ # `registry.package`, so a project's concrete value wins over the default and
52
+ # repeating them here would only take that away.
53
+ #
54
+ # What remains below is per-target registry IDENTITY, which is not a project
55
+ # choice and stays concrete.
40
56
  main: kit: target: 'go-mcp': publish: {
41
- tag: { active: true, via: 'root' }
57
+ tag: { via: 'root' }
42
58
  }
@@ -21,8 +21,18 @@ main: kit: feature: &: target: go: deps: &: {
21
21
  }
22
22
 
23
23
 
24
- # Publication: tag-only — the Go module proxy resolves versions from the
25
- # go/vX.Y.Z GitHub tag; there is no package registry to upload to.
26
- main: kit: target: go: publish: {
27
- tag: { active: true }
24
+ # Publication: a go/vX.Y.Z GitHub tag only — the Go proxy resolves from tags,
25
+ # so there is no package registry to upload to. Nothing is set here: every
26
+ # value is defaulted by the schema, and a project that needs to change one
27
+ # sets it in its own model (`model/sdk.aontu`), which `target add <t>` does
28
+ # not overwrite.
29
+
30
+
31
+ # Feature source may be trimmed to the model's selection. The one template
32
+ # needing the COMPLETE set is the cross-feature test suite, which
33
+ # constructs every feature.New*Feature — so it is dropped alongside the
34
+ # features it exercises whenever the set is trimmed.
35
+ main: kit: target: go: feature: {
36
+ trim: true
37
+ fullset: ['test/feature_test.go']
28
38
  }
@@ -38,13 +38,34 @@ main: kit: feature: &: target: haskell: deps: &: {
38
38
 
39
39
 
40
40
  # Publication: Hackage registry (declared, publish pending — git-tag only).
41
+ #
42
+ # `target add <t>` OVERWRITES this file, so a project must never set its
43
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
44
+ # name exactly that way. Set them in the project's own model
45
+ # (`model/sdk.aontu`), where they survive a resync.
46
+ #
47
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
48
+ # value does not yield to another concrete value, it CONFLICTS, and two
49
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
50
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
51
+ # `registry.package`, so a project's concrete value wins over the default and
52
+ # repeating them here would only take that away.
53
+ #
54
+ # What remains below is per-target registry IDENTITY, which is not a project
55
+ # choice and stays concrete.
41
56
  main: kit: target: haskell: publish: {
42
- tag: { active: true }
43
57
  registry: {
44
- state: 'pending'
45
- active: false
46
58
  name: 'hackage'
47
59
  url: 'https://hackage.haskell.org'
48
60
  vault: { alias: 'hackage', env: 'HACKAGE_TOKEN' }
49
61
  }
50
62
  }
63
+
64
+
65
+ # Feature source is NOT trimmed to the model's selection here: every
66
+ # feature lives inside a single generated module (src/SdkFeatures.hs), not
67
+ # in per-feature source files, so there is nothing per-feature to leave
68
+ # out. Trimming waits on that module becoming model-driven.
69
+ main: kit: target: haskell: feature: {
70
+ trim: false
71
+ }
@@ -25,13 +25,36 @@ main: kit: feature: &: target: java: deps: &: {
25
25
 
26
26
  # Publication: tag-only for now (tag java/vX.Y.Z) — Maven Central
27
27
  # publication via the Sonatype Central Portal is declared but pending.
28
+ # Publication.
29
+ #
30
+ # `target add <t>` OVERWRITES this file, so a project must never set its
31
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
32
+ # name exactly that way. Set them in the project's own model
33
+ # (`model/sdk.aontu`), where they survive a resync.
34
+ #
35
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
36
+ # value does not yield to another concrete value, it CONFLICTS, and two
37
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
38
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
39
+ # `registry.package`, so a project's concrete value wins over the default and
40
+ # repeating them here would only take that away.
41
+ #
42
+ # What remains below is per-target registry IDENTITY, which is not a project
43
+ # choice and stays concrete.
28
44
  main: kit: target: java: publish: {
29
- tag: { active: true }
30
45
  registry: {
31
- state: 'pending'
32
- active: false
33
46
  name: 'maven-central'
34
47
  url: 'https://central.sonatype.com'
35
48
  vault: { recipe: 'maven', alias: 'central' }
36
49
  }
37
50
  }
51
+
52
+
53
+ # Feature source may be trimmed to the model's selection. The one template
54
+ # needing the COMPLETE set is the cross-feature test suite, which
55
+ # constructs every *Feature class — so it is dropped alongside the
56
+ # features it exercises whenever the set is trimmed.
57
+ main: kit: target: java: feature: {
58
+ trim: true
59
+ fullset: ['test/FeatureTest.java']
60
+ }
@@ -24,11 +24,23 @@ main: kit: feature: &: target: js: deps: &: {
24
24
 
25
25
 
26
26
  # Publication: npm registry (declared, publish pending — git-tag only).
27
+ #
28
+ # `target add <t>` OVERWRITES this file, so a project must never set its
29
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
30
+ # name exactly that way. Set them in the project's own model
31
+ # (`model/sdk.aontu`), where they survive a resync.
32
+ #
33
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
34
+ # value does not yield to another concrete value, it CONFLICTS, and two
35
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
36
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
37
+ # `registry.package`, so a project's concrete value wins over the default and
38
+ # repeating them here would only take that away.
39
+ #
40
+ # What remains below is per-target registry IDENTITY, which is not a project
41
+ # choice and stays concrete.
27
42
  main: kit: target: js: publish: {
28
- tag: { active: true }
29
43
  registry: {
30
- state: 'pending'
31
- active: false
32
44
  name: 'npm'
33
45
  url: 'https://registry.npmjs.org'
34
46
  vault: { recipe: 'npm', alias: 'npm' }
@@ -25,13 +25,36 @@ main: kit: feature: &: target: kotlin: deps: &: {
25
25
 
26
26
  # Publication: tag-only for now (tag kotlin/vX.Y.Z) — Maven Central
27
27
  # publication via the Sonatype Central Portal is declared but pending.
28
+ # Publication.
29
+ #
30
+ # `target add <t>` OVERWRITES this file, so a project must never set its
31
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
32
+ # name exactly that way. Set them in the project's own model
33
+ # (`model/sdk.aontu`), where they survive a resync.
34
+ #
35
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
36
+ # value does not yield to another concrete value, it CONFLICTS, and two
37
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
38
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
39
+ # `registry.package`, so a project's concrete value wins over the default and
40
+ # repeating them here would only take that away.
41
+ #
42
+ # What remains below is per-target registry IDENTITY, which is not a project
43
+ # choice and stays concrete.
28
44
  main: kit: target: kotlin: publish: {
29
- tag: { active: true }
30
45
  registry: {
31
- state: 'pending'
32
- active: false
33
46
  name: 'maven-central'
34
47
  url: 'https://central.sonatype.com'
35
48
  vault: { recipe: 'maven', alias: 'central' }
36
49
  }
37
50
  }
51
+
52
+
53
+ # Feature source may be trimmed to the model's selection. The one template
54
+ # needing the COMPLETE set is the cross-feature test suite, which
55
+ # constructs every *Feature class — so it is dropped alongside the
56
+ # features it exercises whenever the set is trimmed.
57
+ main: kit: target: kotlin: feature: {
58
+ trim: true
59
+ fullset: ['test/FeatureTest.kt']
60
+ }
@@ -39,13 +39,35 @@ main: kit: feature: &: target: lean: deps: &: {
39
39
 
40
40
  # Publication: Reservoir (Lean package index) — declared, publish pending
41
41
  # (git-tag only for now).
42
+ # Publication.
43
+ #
44
+ # `target add <t>` OVERWRITES this file, so a project must never set its
45
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
46
+ # name exactly that way. Set them in the project's own model
47
+ # (`model/sdk.aontu`), where they survive a resync.
48
+ #
49
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
50
+ # value does not yield to another concrete value, it CONFLICTS, and two
51
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
52
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
53
+ # `registry.package`, so a project's concrete value wins over the default and
54
+ # repeating them here would only take that away.
55
+ #
56
+ # What remains below is per-target registry IDENTITY, which is not a project
57
+ # choice and stays concrete.
42
58
  main: kit: target: lean: publish: {
43
- tag: { active: true }
44
59
  registry: {
45
- state: 'pending'
46
- active: false
47
60
  name: 'reservoir'
48
61
  url: 'https://reservoir.lean-lang.org'
49
62
  vault: { alias: 'reservoir', env: 'RESERVOIR_TOKEN' }
50
63
  }
51
64
  }
65
+
66
+
67
+ # Feature source is NOT trimmed to the model's selection here: every
68
+ # feature lives inside a single generated module (src/SdkFeatures.lean),
69
+ # not in per-feature source files, so there is nothing per-feature to
70
+ # leave out. Trimming waits on that module becoming model-driven.
71
+ main: kit: target: lean: feature: {
72
+ trim: false
73
+ }
@@ -24,11 +24,23 @@ main: kit: feature: &: target: lua: deps: &: {
24
24
 
25
25
 
26
26
  # Publication: luarocks registry (declared, publish pending — git-tag only).
27
+ #
28
+ # `target add <t>` OVERWRITES this file, so a project must never set its
29
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
30
+ # name exactly that way. Set them in the project's own model
31
+ # (`model/sdk.aontu`), where they survive a resync.
32
+ #
33
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
34
+ # value does not yield to another concrete value, it CONFLICTS, and two
35
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
36
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
37
+ # `registry.package`, so a project's concrete value wins over the default and
38
+ # repeating them here would only take that away.
39
+ #
40
+ # What remains below is per-target registry IDENTITY, which is not a project
41
+ # choice and stays concrete.
27
42
  main: kit: target: lua: publish: {
28
- tag: { active: true }
29
43
  registry: {
30
- state: 'pending'
31
- active: false
32
44
  name: 'luarocks'
33
45
  url: 'https://luarocks.org'
34
46
  vault: { alias: 'luarocks', env: 'LUAROCKS_API_KEY' }
@@ -24,13 +24,34 @@ main: kit: feature: &: target: ocaml: deps: &: {
24
24
 
25
25
 
26
26
  # Publication: opam registry (declared, publish pending — git-tag only).
27
+ #
28
+ # `target add <t>` OVERWRITES this file, so a project must never set its
29
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
30
+ # name exactly that way. Set them in the project's own model
31
+ # (`model/sdk.aontu`), where they survive a resync.
32
+ #
33
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
34
+ # value does not yield to another concrete value, it CONFLICTS, and two
35
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
36
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
37
+ # `registry.package`, so a project's concrete value wins over the default and
38
+ # repeating them here would only take that away.
39
+ #
40
+ # What remains below is per-target registry IDENTITY, which is not a project
41
+ # choice and stays concrete.
27
42
  main: kit: target: ocaml: publish: {
28
- tag: { active: true }
29
43
  registry: {
30
- state: 'pending'
31
- active: false
32
44
  name: 'opam'
33
45
  url: 'https://opam.ocaml.org'
34
46
  vault: { alias: 'opam', env: 'OPAM_PUBLISH_TOKEN' }
35
47
  }
36
48
  }
49
+
50
+
51
+ # Feature source is NOT trimmed to the model's selection here: every
52
+ # feature lives inside a single generated module (sdk_features.ml), not in
53
+ # per-feature source files, so there is nothing per-feature to leave out.
54
+ # Trimming waits on that module becoming model-driven.
55
+ main: kit: target: ocaml: feature: {
56
+ trim: false
57
+ }
@@ -25,11 +25,23 @@ main: kit: feature: &: target: perl: deps: &: {
25
25
 
26
26
 
27
27
  # Publication: CPAN registry (declared, publish pending — git-tag only).
28
+ #
29
+ # `target add <t>` OVERWRITES this file, so a project must never set its
30
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
31
+ # name exactly that way. Set them in the project's own model
32
+ # (`model/sdk.aontu`), where they survive a resync.
33
+ #
34
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
35
+ # value does not yield to another concrete value, it CONFLICTS, and two
36
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
37
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
38
+ # `registry.package`, so a project's concrete value wins over the default and
39
+ # repeating them here would only take that away.
40
+ #
41
+ # What remains below is per-target registry IDENTITY, which is not a project
42
+ # choice and stays concrete.
28
43
  main: kit: target: perl: publish: {
29
- tag: { active: true }
30
44
  registry: {
31
- state: 'pending'
32
- active: false
33
45
  name: 'cpan'
34
46
  url: 'https://www.cpan.org'
35
47
  vault: { recipe: 'cpan', alias: 'cpan' }
@@ -22,11 +22,23 @@ main: kit: feature: &: target: php: deps: &: {
22
22
 
23
23
 
24
24
  # Publication: packagist registry (declared, publish pending — git-tag only).
25
+ #
26
+ # `target add <t>` OVERWRITES this file, so a project must never set its
27
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
28
+ # name exactly that way. Set them in the project's own model
29
+ # (`model/sdk.aontu`), where they survive a resync.
30
+ #
31
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
32
+ # value does not yield to another concrete value, it CONFLICTS, and two
33
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
34
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
35
+ # `registry.package`, so a project's concrete value wins over the default and
36
+ # repeating them here would only take that away.
37
+ #
38
+ # What remains below is per-target registry IDENTITY, which is not a project
39
+ # choice and stays concrete.
25
40
  main: kit: target: php: publish: {
26
- tag: { active: true }
27
41
  registry: {
28
- state: 'pending'
29
- active: false
30
42
  name: 'packagist'
31
43
  url: 'https://packagist.org'
32
44
  vault: { alias: 'packagist', env: 'PACKAGIST_API_TOKEN' }
@@ -52,11 +52,24 @@ main: kit: feature: &: target: 'py-data': deps: &: {
52
52
 
53
53
  # Publication: pypi registry (declared, publish pending — git-tag only),
54
54
  # same posture as the `py` target.
55
+ # Publication.
56
+ #
57
+ # `target add <t>` OVERWRITES this file, so a project must never set its
58
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
59
+ # name exactly that way. Set them in the project's own model
60
+ # (`model/sdk.aontu`), where they survive a resync.
61
+ #
62
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
63
+ # value does not yield to another concrete value, it CONFLICTS, and two
64
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
65
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
66
+ # `registry.package`, so a project's concrete value wins over the default and
67
+ # repeating them here would only take that away.
68
+ #
69
+ # What remains below is per-target registry IDENTITY, which is not a project
70
+ # choice and stays concrete.
55
71
  main: kit: target: 'py-data': publish: {
56
- tag: { active: true }
57
72
  registry: {
58
- state: 'pending'
59
- active: false
60
73
  name: 'pypi'
61
74
  url: 'https://pypi.org'
62
75
  vault: { recipe: 'pypi', alias: 'pypi' }
@@ -24,11 +24,23 @@ main: kit: feature: &: target: py: deps: &: {
24
24
 
25
25
 
26
26
  # Publication: pypi registry (declared, publish pending — git-tag only).
27
+ #
28
+ # `target add <t>` OVERWRITES this file, so a project must never set its
29
+ # publication values here — voxgig-solardemo-sdk lost its pinned npm package
30
+ # name exactly that way. Set them in the project's own model
31
+ # (`model/sdk.aontu`), where they survive a resync.
32
+ #
33
+ # For that to work this file must LEAVE THOSE KEYS UNSET: in aontu a concrete
34
+ # value does not yield to another concrete value, it CONFLICTS, and two
35
+ # defaults conflict too. The schema (@voxgig/sdkgen/model/sdkgen.aontu)
36
+ # already defaults `tag.active`, `registry.state`, `registry.active` and
37
+ # `registry.package`, so a project's concrete value wins over the default and
38
+ # repeating them here would only take that away.
39
+ #
40
+ # What remains below is per-target registry IDENTITY, which is not a project
41
+ # choice and stays concrete.
27
42
  main: kit: target: py: publish: {
28
- tag: { active: true }
29
43
  registry: {
30
- state: 'pending'
31
- active: false
32
44
  name: 'pypi'
33
45
  url: 'https://pypi.org'
34
46
  vault: { recipe: 'pypi', alias: 'pypi' }