@voxgig/sdkgen 2.0.2 → 3.1.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 (403) hide show
  1. package/bin/voxgig-sdkgen +22 -2
  2. package/dist/action/doctor.d.ts +14 -0
  3. package/dist/action/doctor.js +351 -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/ExternalTarget.d.ts +2 -0
  13. package/dist/cmp/ExternalTarget.js +104 -0
  14. package/dist/cmp/ExternalTarget.js.map +1 -0
  15. package/dist/cmp/Feature.js +2 -1
  16. package/dist/cmp/Feature.js.map +1 -1
  17. package/dist/cmp/Main.js +5 -1
  18. package/dist/cmp/Main.js.map +1 -1
  19. package/dist/cmp/ReadmeExplanation.js +1 -1
  20. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  21. package/dist/cmp/ReadmeTop.js +16 -6
  22. package/dist/cmp/ReadmeTop.js.map +1 -1
  23. package/dist/cmp/Registered.d.ts +7 -0
  24. package/dist/cmp/Registered.js +70 -0
  25. package/dist/cmp/Registered.js.map +1 -0
  26. package/dist/cmp/Test.js +3 -1
  27. package/dist/cmp/Test.js.map +1 -1
  28. package/dist/helpers/dryrun.d.ts +10 -0
  29. package/dist/helpers/dryrun.js +35 -0
  30. package/dist/helpers/dryrun.js.map +1 -0
  31. package/dist/helpers/featureSource.d.ts +13 -0
  32. package/dist/helpers/featureSource.js +156 -0
  33. package/dist/helpers/featureSource.js.map +1 -0
  34. package/dist/helpers/naming.d.ts +9 -1
  35. package/dist/helpers/naming.js +66 -2
  36. package/dist/helpers/naming.js.map +1 -1
  37. package/dist/helpers/opExample.js +23 -3
  38. package/dist/helpers/opExample.js.map +1 -1
  39. package/dist/helpers/opShape.d.ts +11 -1
  40. package/dist/helpers/opShape.js +51 -0
  41. package/dist/helpers/opShape.js.map +1 -1
  42. package/dist/helpers/packageMeta.d.ts +16 -1
  43. package/dist/helpers/packageMeta.js +181 -10
  44. package/dist/helpers/packageMeta.js.map +1 -1
  45. package/dist/helpers/stdrep.d.ts +3 -0
  46. package/dist/helpers/stdrep.js +47 -0
  47. package/dist/helpers/stdrep.js.map +1 -0
  48. package/dist/helpers/testPolicy.d.ts +2 -0
  49. package/dist/helpers/testPolicy.js +46 -0
  50. package/dist/helpers/testPolicy.js.map +1 -0
  51. package/dist/sdkgen.d.ts +15 -6
  52. package/dist/sdkgen.js +273 -5
  53. package/dist/sdkgen.js.map +1 -1
  54. package/dist/tsconfig.tsbuildinfo +1 -1
  55. package/dist/types.d.ts +12 -0
  56. package/dist/utility.js +10 -1
  57. package/dist/utility.js.map +1 -1
  58. package/model/sdkgen.aontu +245 -0
  59. package/package.json +5 -3
  60. package/project/.sdk/model/target/c.aontu +28 -3
  61. package/project/.sdk/model/target/clojure.aontu +24 -3
  62. package/project/.sdk/model/target/cpp.aontu +25 -3
  63. package/project/.sdk/model/target/csharp.aontu +25 -3
  64. package/project/.sdk/model/target/dart.aontu +15 -3
  65. package/project/.sdk/model/target/elixir.aontu +15 -3
  66. package/project/.sdk/model/target/go-cli.aontu +16 -1
  67. package/project/.sdk/model/target/go-mcp.aontu +16 -1
  68. package/project/.sdk/model/target/go.aontu +14 -4
  69. package/project/.sdk/model/target/haskell.aontu +24 -3
  70. package/project/.sdk/model/target/java.aontu +25 -3
  71. package/project/.sdk/model/target/js.aontu +15 -3
  72. package/project/.sdk/model/target/kotlin.aontu +25 -3
  73. package/project/.sdk/model/target/lean.aontu +24 -3
  74. package/project/.sdk/model/target/lua.aontu +15 -3
  75. package/project/.sdk/model/target/ocaml.aontu +24 -3
  76. package/project/.sdk/model/target/perl.aontu +15 -3
  77. package/project/.sdk/model/target/php.aontu +15 -3
  78. package/project/.sdk/model/target/py-data.aontu +15 -3
  79. package/project/.sdk/model/target/py.aontu +15 -3
  80. package/project/.sdk/model/target/rb.aontu +15 -3
  81. package/project/.sdk/model/target/rust.aontu +25 -3
  82. package/project/.sdk/model/target/scala.aontu +24 -3
  83. package/project/.sdk/model/target/seneca-provider.aontu +118 -0
  84. package/project/.sdk/model/target/swift.aontu +25 -3
  85. package/project/.sdk/model/target/ts.aontu +15 -3
  86. package/project/.sdk/model/target/zig.aontu +25 -3
  87. package/project/.sdk/src/cmp/c/Config_c.ts +10 -11
  88. package/project/.sdk/src/cmp/c/Entity_c.ts +5 -1
  89. package/project/.sdk/src/cmp/c/fragment/Entity.fragment.c +23 -5
  90. package/project/.sdk/src/cmp/c/fragment/EntityCreateOp.fragment.c +9 -2
  91. package/project/.sdk/src/cmp/c/fragment/EntityListOp.fragment.c +19 -2
  92. package/project/.sdk/src/cmp/c/fragment/EntityLoadOp.fragment.c +9 -2
  93. package/project/.sdk/src/cmp/c/fragment/EntityRemoveOp.fragment.c +12 -2
  94. package/project/.sdk/src/cmp/c/fragment/EntityUpdateOp.fragment.c +9 -2
  95. package/project/.sdk/src/cmp/c/fragment/Main.fragment.c +1 -0
  96. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +6 -3
  97. package/project/.sdk/src/cmp/clojure/fragment/Entity.fragment.clj +18 -1
  98. package/project/.sdk/src/cmp/clojure/fragment/EntityCreateOp.fragment.clj +2 -2
  99. package/project/.sdk/src/cmp/clojure/fragment/EntityLoadOp.fragment.clj +2 -2
  100. package/project/.sdk/src/cmp/clojure/fragment/EntityRemoveOp.fragment.clj +12 -8
  101. package/project/.sdk/src/cmp/clojure/fragment/EntityUpdateOp.fragment.clj +2 -2
  102. package/project/.sdk/src/cmp/cpp/Entity_cpp.ts +5 -1
  103. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +12 -9
  104. package/project/.sdk/src/cmp/cpp/fragment/EntityCreateOp.fragment.cpp +8 -2
  105. package/project/.sdk/src/cmp/cpp/fragment/EntityListOp.fragment.cpp +18 -2
  106. package/project/.sdk/src/cmp/cpp/fragment/EntityLoadOp.fragment.cpp +8 -2
  107. package/project/.sdk/src/cmp/cpp/fragment/EntityRemoveOp.fragment.cpp +11 -2
  108. package/project/.sdk/src/cmp/cpp/fragment/EntityUpdateOp.fragment.cpp +8 -2
  109. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +2 -1
  110. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +3 -3
  111. package/project/.sdk/src/cmp/csharp/TestEntity_csharp.ts +6 -6
  112. package/project/.sdk/src/cmp/csharp/fragment/EntityBase.fragment.cs +38 -1
  113. package/project/.sdk/src/cmp/csharp/fragment/Main.fragment.cs +42 -33
  114. package/project/.sdk/src/cmp/dart/Package_dart.ts +2 -1
  115. package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +13 -2
  116. package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +2 -1
  117. package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +3 -3
  118. package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +1 -1
  119. package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +17 -6
  120. package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +13 -2
  121. package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +13 -2
  122. package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +3 -3
  123. package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +8 -8
  124. package/project/.sdk/src/cmp/dart/fragment/EntityBase.fragment.dart +18 -1
  125. package/project/.sdk/src/cmp/dart/fragment/EntityCreateOp.fragment.dart +9 -1
  126. package/project/.sdk/src/cmp/dart/fragment/EntityLoadOp.fragment.dart +9 -1
  127. package/project/.sdk/src/cmp/dart/fragment/EntityRemoveOp.fragment.dart +15 -1
  128. package/project/.sdk/src/cmp/dart/fragment/EntityUpdateOp.fragment.dart +9 -1
  129. package/project/.sdk/src/cmp/dart/fragment/SdkError.fragment.dart +8 -0
  130. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +3 -1
  131. package/project/.sdk/src/cmp/elixir/ReadmeInstall_elixir.ts +2 -2
  132. package/project/.sdk/src/cmp/elixir/TestEntity_elixir.ts +11 -2
  133. package/project/.sdk/src/cmp/elixir/fragment/EntityCreateOp.fragment.ex +2 -1
  134. package/project/.sdk/src/cmp/elixir/fragment/EntityListOp.fragment.ex +1 -0
  135. package/project/.sdk/src/cmp/elixir/fragment/EntityLoadOp.fragment.ex +2 -1
  136. package/project/.sdk/src/cmp/elixir/fragment/EntityRemoveOp.fragment.ex +4 -1
  137. package/project/.sdk/src/cmp/elixir/fragment/EntityUpdateOp.fragment.ex +2 -1
  138. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +38 -8
  139. package/project/.sdk/src/cmp/go/Entity_go.ts +2 -2
  140. package/project/.sdk/src/cmp/go/Main_go.ts +4 -5
  141. package/project/.sdk/src/cmp/go/Package_go.ts +8 -5
  142. package/project/.sdk/src/cmp/go/ReadmeExplanation_go.ts +2 -2
  143. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +2 -2
  144. package/project/.sdk/src/cmp/go/ReadmeInstall_go.ts +4 -2
  145. package/project/.sdk/src/cmp/go/ReadmeModel_go.ts +2 -2
  146. package/project/.sdk/src/cmp/go/ReadmeQuick_go.ts +2 -2
  147. package/project/.sdk/src/cmp/go/ReadmeTopQuick_go.ts +2 -2
  148. package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +2 -2
  149. package/project/.sdk/src/cmp/go/TestDirect_go.ts +21 -15
  150. package/project/.sdk/src/cmp/go/TestEntity_go.ts +9 -9
  151. package/project/.sdk/src/cmp/go/Test_go.ts +2 -2
  152. package/project/.sdk/src/cmp/go/fragment/Entity.fragment.go +42 -1
  153. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +4 -4
  154. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +4 -4
  155. package/project/.sdk/src/cmp/haskell/Package_haskell.ts +2 -1
  156. package/project/.sdk/src/cmp/haskell/ReadmeEntity_haskell.ts +10 -5
  157. package/project/.sdk/src/cmp/haskell/ReadmeModel_haskell.ts +10 -8
  158. package/project/.sdk/src/cmp/haskell/ReadmeQuick_haskell.ts +14 -10
  159. package/project/.sdk/src/cmp/haskell/ReadmeRef_haskell.ts +21 -18
  160. package/project/.sdk/src/cmp/haskell/ReadmeTopQuick_haskell.ts +4 -4
  161. package/project/.sdk/src/cmp/haskell/Test_haskell.ts +23 -11
  162. package/project/.sdk/src/cmp/java/Package_java.ts +2 -1
  163. package/project/.sdk/src/cmp/java/ReadmeHowto_java.ts +2 -1
  164. package/project/.sdk/src/cmp/java/ReadmeInstall_java.ts +2 -2
  165. package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +1 -1
  166. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +3 -3
  167. package/project/.sdk/src/cmp/java/TestDirect_java.ts +3 -3
  168. package/project/.sdk/src/cmp/java/TestEntity_java.ts +6 -6
  169. package/project/.sdk/src/cmp/java/fragment/EntityBase.fragment.java +34 -1
  170. package/project/.sdk/src/cmp/java/fragment/SdkError.fragment.java +12 -0
  171. package/project/.sdk/src/cmp/js/Main_js.ts +4 -1
  172. package/project/.sdk/src/cmp/js/Package_js.ts +7 -1
  173. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +13 -2
  174. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +2 -1
  175. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +13 -2
  176. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +13 -2
  177. package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +2 -1
  178. package/project/.sdk/src/cmp/js/TestDirect_js.ts +3 -3
  179. package/project/.sdk/src/cmp/js/TestEntity_js.ts +8 -8
  180. package/project/.sdk/src/cmp/js/fragment/EntityBase.fragment.js +22 -1
  181. package/project/.sdk/src/cmp/js/fragment/EntityCreateOp.fragment.js +9 -1
  182. package/project/.sdk/src/cmp/js/fragment/EntityLoadOp.fragment.js +9 -1
  183. package/project/.sdk/src/cmp/js/fragment/EntityRemoveOp.fragment.js +15 -1
  184. package/project/.sdk/src/cmp/js/fragment/EntityUpdateOp.fragment.js +9 -1
  185. package/project/.sdk/src/cmp/js/fragment/SdkError.fragment.js +13 -0
  186. package/project/.sdk/src/cmp/kotlin/Package_kotlin.ts +2 -1
  187. package/project/.sdk/src/cmp/kotlin/ReadmeHowto_kotlin.ts +2 -1
  188. package/project/.sdk/src/cmp/kotlin/ReadmeInstall_kotlin.ts +2 -2
  189. package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +1 -1
  190. package/project/.sdk/src/cmp/kotlin/ReadmeQuick_kotlin.ts +3 -3
  191. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +3 -3
  192. package/project/.sdk/src/cmp/kotlin/TestEntity_kotlin.ts +6 -6
  193. package/project/.sdk/src/cmp/kotlin/fragment/EntityBase.fragment.kt +32 -1
  194. package/project/.sdk/src/cmp/lean/Package_lean.ts +3 -1
  195. package/project/.sdk/src/cmp/lua/MainEntity_lua.ts +9 -4
  196. package/project/.sdk/src/cmp/lua/Package_lua.ts +4 -3
  197. package/project/.sdk/src/cmp/lua/ReadmeModel_lua.ts +11 -3
  198. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +1 -1
  199. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +3 -3
  200. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +9 -9
  201. package/project/.sdk/src/cmp/lua/fragment/Entity.fragment.lua +37 -1
  202. package/project/.sdk/src/cmp/lua/fragment/SdkError.fragment.lua +12 -0
  203. package/project/.sdk/src/cmp/ocaml/EntityOperation_ocaml.ts +30 -3
  204. package/project/.sdk/src/cmp/ocaml/Entity_ocaml.ts +11 -5
  205. package/project/.sdk/src/cmp/ocaml/Package_ocaml.ts +3 -1
  206. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +10 -5
  207. package/project/.sdk/src/cmp/ocaml/ReadmeHowto_ocaml.ts +6 -2
  208. package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +10 -8
  209. package/project/.sdk/src/cmp/ocaml/ReadmeQuick_ocaml.ts +14 -13
  210. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +20 -18
  211. package/project/.sdk/src/cmp/ocaml/ReadmeTopQuick_ocaml.ts +4 -4
  212. package/project/.sdk/src/cmp/ocaml/ReadmeTopTest_ocaml.ts +8 -2
  213. package/project/.sdk/src/cmp/ocaml/TestEntity_ocaml.ts +8 -5
  214. package/project/.sdk/src/cmp/perl/ReadmeHowto_perl.ts +2 -1
  215. package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +1 -1
  216. package/project/.sdk/src/cmp/perl/ReadmeQuick_perl.ts +3 -3
  217. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +1 -1
  218. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +3 -3
  219. package/project/.sdk/src/cmp/perl/TestEntity_perl.ts +6 -6
  220. package/project/.sdk/src/cmp/perl/fragment/Entity.fragment.pm +36 -1
  221. package/project/.sdk/src/cmp/php/MainEntity_php.ts +21 -16
  222. package/project/.sdk/src/cmp/php/Package_php.ts +2 -2
  223. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +6 -6
  224. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +4 -3
  225. package/project/.sdk/src/cmp/php/ReadmeIntro_php.ts +2 -2
  226. package/project/.sdk/src/cmp/php/ReadmeModel_php.ts +1 -1
  227. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +12 -12
  228. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +6 -6
  229. package/project/.sdk/src/cmp/php/ReadmeTopQuick_php.ts +4 -4
  230. package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +2 -2
  231. package/project/.sdk/src/cmp/php/TestDirect_php.ts +3 -3
  232. package/project/.sdk/src/cmp/php/TestEntity_php.ts +17 -15
  233. package/project/.sdk/src/cmp/php/fragment/Entity.fragment.php +20 -1
  234. package/project/.sdk/src/cmp/php/fragment/SdkError.fragment.php +11 -0
  235. package/project/.sdk/src/cmp/py/Package_py.ts +4 -3
  236. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +13 -2
  237. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +2 -1
  238. package/project/.sdk/src/cmp/py/ReadmeModel_py.ts +1 -1
  239. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +17 -6
  240. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +14 -3
  241. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +13 -2
  242. package/project/.sdk/src/cmp/py/TestDirect_py.ts +3 -3
  243. package/project/.sdk/src/cmp/py/TestEntity_py.ts +9 -9
  244. package/project/.sdk/src/cmp/py/fragment/Entity.fragment.py +29 -1
  245. package/project/.sdk/src/cmp/py/fragment/SdkError.fragment.py +11 -0
  246. package/project/.sdk/src/cmp/py-data/Main_py-data.ts +2 -1
  247. package/project/.sdk/src/cmp/rb/Package_rb.ts +4 -3
  248. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +1 -1
  249. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +2 -1
  250. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +5 -5
  251. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +1 -1
  252. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +3 -3
  253. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +9 -9
  254. package/project/.sdk/src/cmp/rb/fragment/Entity.fragment.rb +31 -1
  255. package/project/.sdk/src/cmp/rb/fragment/SdkError.fragment.rb +10 -1
  256. package/project/.sdk/src/cmp/rust/Entity_rust.ts +5 -1
  257. package/project/.sdk/src/cmp/rust/Main_rust.ts +21 -0
  258. package/project/.sdk/src/cmp/rust/Package_rust.ts +2 -1
  259. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +3 -3
  260. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +12 -12
  261. package/project/.sdk/src/cmp/rust/fragment/Entity.fragment.rs +18 -0
  262. package/project/.sdk/src/cmp/rust/fragment/EntityCreateOp.fragment.rs +8 -2
  263. package/project/.sdk/src/cmp/rust/fragment/EntityListOp.fragment.rs +20 -3
  264. package/project/.sdk/src/cmp/rust/fragment/EntityLoadOp.fragment.rs +8 -2
  265. package/project/.sdk/src/cmp/rust/fragment/EntityRemoveOp.fragment.rs +10 -2
  266. package/project/.sdk/src/cmp/rust/fragment/EntityUpdateOp.fragment.rs +8 -2
  267. package/project/.sdk/src/cmp/rust/fragment/SdkError.fragment.rs +10 -0
  268. package/project/.sdk/src/cmp/scala/ReadmeHowto_scala.ts +2 -1
  269. package/project/.sdk/src/cmp/scala/ReadmeInstall_scala.ts +3 -3
  270. package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +1 -1
  271. package/project/.sdk/src/cmp/scala/ReadmeQuick_scala.ts +3 -3
  272. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +3 -3
  273. package/project/.sdk/src/cmp/scala/fragment/EntityBase.fragment.scala +27 -1
  274. package/project/.sdk/src/cmp/seneca-provider/Extras_seneca-provider.ts +3915 -0
  275. package/project/.sdk/src/cmp/seneca-provider/Main_seneca-provider.ts +960 -0
  276. package/project/.sdk/src/cmp/swift/ReadmeHowto_swift.ts +2 -1
  277. package/project/.sdk/src/cmp/swift/ReadmeInstall_swift.ts +3 -3
  278. package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +1 -1
  279. package/project/.sdk/src/cmp/swift/ReadmeQuick_swift.ts +3 -3
  280. package/project/.sdk/src/cmp/swift/fragment/EntityBase.fragment.swift +34 -1
  281. package/project/.sdk/src/cmp/ts/EntityOperation_ts.ts +9 -1
  282. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +18 -1
  283. package/project/.sdk/src/cmp/ts/Gitignore_ts.ts +5 -2
  284. package/project/.sdk/src/cmp/ts/Main_ts.ts +4 -1
  285. package/project/.sdk/src/cmp/ts/Package_ts.ts +10 -1
  286. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +13 -2
  287. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +2 -1
  288. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +21 -6
  289. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +52 -2
  290. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +14 -3
  291. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +34 -2
  292. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +64 -43
  293. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +8 -8
  294. package/project/.sdk/src/cmp/ts/fragment/Direct.test.fragment.ts +2 -2
  295. package/project/.sdk/src/cmp/ts/fragment/Entity.test.fragment.ts +2 -2
  296. package/project/.sdk/src/cmp/ts/fragment/EntityBase.fragment.ts +25 -1
  297. package/project/.sdk/src/cmp/ts/fragment/EntityCreateOp.fragment.ts +10 -2
  298. package/project/.sdk/src/cmp/ts/fragment/EntityListOp.fragment.ts +1 -1
  299. package/project/.sdk/src/cmp/ts/fragment/EntityLoadOp.fragment.ts +10 -2
  300. package/project/.sdk/src/cmp/ts/fragment/EntityRemoveOp.fragment.ts +27 -3
  301. package/project/.sdk/src/cmp/ts/fragment/EntityUpdateOp.fragment.ts +10 -2
  302. package/project/.sdk/src/cmp/ts/fragment/SdkError.fragment.ts +15 -0
  303. package/project/.sdk/src/cmp/zig/Entity_zig.ts +5 -1
  304. package/project/.sdk/src/cmp/zig/Package_zig.ts +3 -1
  305. package/project/.sdk/src/cmp/zig/fragment/Entity.fragment.zig +39 -0
  306. package/project/.sdk/src/cmp/zig/fragment/EntityCreateOp.fragment.zig +2 -2
  307. package/project/.sdk/src/cmp/zig/fragment/EntityListOp.fragment.zig +21 -2
  308. package/project/.sdk/src/cmp/zig/fragment/EntityLoadOp.fragment.zig +2 -2
  309. package/project/.sdk/src/cmp/zig/fragment/EntityRemoveOp.fragment.zig +5 -2
  310. package/project/.sdk/src/cmp/zig/fragment/EntityUpdateOp.fragment.zig +2 -2
  311. package/project/.sdk/tm/c/VERSION +1 -1
  312. package/project/.sdk/tm/c/core/helpers.c +1 -0
  313. package/project/.sdk/tm/c/core/sdk.h +22 -6
  314. package/project/.sdk/tm/c/tests/feature_harness.h +1 -0
  315. package/project/.sdk/tm/c/tests/primary_utility_test.c +4 -1
  316. package/project/.sdk/tm/c/utility/make_url.c +1 -0
  317. package/project/.sdk/tm/c/utility/param.c +1 -0
  318. package/project/.sdk/tm/clojure/VERSION +1 -1
  319. package/project/.sdk/tm/cpp/VERSION +1 -1
  320. package/project/.sdk/tm/cpp/core/types.hpp +33 -8
  321. package/project/.sdk/tm/cpp/test/pipeline_test.cpp +5 -0
  322. package/project/.sdk/tm/cpp/test/runner_support.hpp +4 -4
  323. package/project/.sdk/tm/csharp/VERSION +1 -1
  324. package/project/.sdk/tm/csharp/core/Types.cs +6 -0
  325. package/project/.sdk/tm/csharp/test/FeatureHarness.cs +396 -0
  326. package/project/.sdk/tm/csharp/test/FeatureTest.cs +7 -385
  327. package/project/.sdk/tm/csharp/test/Runner.cs +4 -4
  328. package/project/.sdk/tm/dart/lib/utility/MakeErrorUtility.dart +4 -0
  329. package/project/.sdk/tm/dart/test/utility.dart +4 -4
  330. package/project/.sdk/tm/elixir/VERSION +1 -1
  331. package/project/.sdk/tm/elixir/lib/projectname/entity_base.ex +26 -0
  332. package/project/.sdk/tm/go/VERSION +1 -1
  333. package/project/.sdk/tm/go/core/types.go +6 -0
  334. package/project/.sdk/tm/go/test/feature_harness_test.go +361 -0
  335. package/project/.sdk/tm/go/test/feature_test.go +7 -350
  336. package/project/.sdk/tm/go/test/pipeline_test.go +6 -0
  337. package/project/.sdk/tm/go/test/runner_test.go +16 -4
  338. package/project/.sdk/tm/haskell/VERSION +1 -1
  339. package/project/.sdk/tm/haskell/src/SdkFeatures.hs +28 -5
  340. package/project/.sdk/tm/haskell/src/SdkTypes.hs +14 -5
  341. package/project/.sdk/tm/java/VERSION +1 -1
  342. package/project/.sdk/tm/java/test/RunnerSupport.java +4 -4
  343. package/project/.sdk/tm/java/utility/MakeError.java +4 -0
  344. package/project/.sdk/tm/js/src/utility/MakeErrorUtility.js +4 -0
  345. package/project/.sdk/tm/js/test/utility.js +3 -3
  346. package/project/.sdk/tm/kotlin/VERSION +1 -1
  347. package/project/.sdk/tm/kotlin/test/RunnerSupport.kt +3 -3
  348. package/project/.sdk/tm/lean/VERSION +1 -1
  349. package/project/.sdk/tm/lean/test/TFeature.lean +27 -14
  350. package/project/.sdk/tm/lua/test/runner.lua +4 -4
  351. package/project/.sdk/tm/lua/utility/make_error.lua +4 -0
  352. package/project/.sdk/tm/ocaml/VERSION +1 -1
  353. package/project/.sdk/tm/ocaml/sdk_types.ml +14 -5
  354. package/project/.sdk/tm/ocaml/test/t_pipeline.ml +5 -2
  355. package/project/.sdk/tm/perl/t/runner.pm +4 -4
  356. package/project/.sdk/tm/php/VERSION +1 -1
  357. package/project/.sdk/tm/php/test/Runner.php +4 -4
  358. package/project/.sdk/tm/php/utility/MakeError.php +5 -0
  359. package/project/.sdk/tm/py/pkg/utility/make_error.py +4 -0
  360. package/project/.sdk/tm/py/test/runner.py +19 -4
  361. package/project/.sdk/tm/rb/test/runner.rb +4 -4
  362. package/project/.sdk/tm/rb/utility/make_error.rb +4 -0
  363. package/project/.sdk/tm/rust/VERSION +1 -1
  364. package/project/.sdk/tm/rust/core/types.rs +22 -6
  365. package/project/.sdk/tm/rust/tests/common/mod.rs +6 -6
  366. package/project/.sdk/tm/rust/tests/pipeline_test.rs +6 -0
  367. package/project/.sdk/tm/rust/utility/make_error.rs +4 -0
  368. package/project/.sdk/tm/scala/VERSION +1 -1
  369. package/project/.sdk/tm/seneca-provider/CODE_OF_CONDUCT.md +132 -0
  370. package/project/.sdk/tm/seneca-provider/LICENSE +21 -0
  371. package/project/.sdk/tm/seneca-provider/Makefile +15 -0
  372. package/project/.sdk/tm/seneca-provider/src/tsconfig.json +18 -0
  373. package/project/.sdk/tm/seneca-provider/test/tsconfig.json +16 -0
  374. package/project/.sdk/tm/seneca-provider/tsfmt.json +3 -0
  375. package/project/.sdk/tm/swift/VERSION +1 -1
  376. package/project/.sdk/tm/ts/src/tsconfig.json +1 -0
  377. package/project/.sdk/tm/ts/src/utility/MakeErrorUtility.ts +4 -0
  378. package/project/.sdk/tm/ts/test/tsconfig.json +1 -0
  379. package/project/.sdk/tm/ts/test/utility.ts +3 -3
  380. package/project/.sdk/tm/zig/VERSION +1 -1
  381. package/src/action/doctor.ts +475 -0
  382. package/src/action/feature.ts +54 -16
  383. package/src/action/target.ts +174 -25
  384. package/src/cmp/Entity.ts +7 -0
  385. package/src/cmp/ExternalTarget.ts +125 -0
  386. package/src/cmp/Feature.ts +3 -1
  387. package/src/cmp/Main.ts +7 -1
  388. package/src/cmp/ReadmeExplanation.ts +2 -2
  389. package/src/cmp/ReadmeTop.ts +22 -9
  390. package/src/cmp/Registered.ts +100 -0
  391. package/src/cmp/Test.ts +4 -1
  392. package/src/helpers/dryrun.ts +57 -0
  393. package/src/helpers/featureSource.ts +208 -0
  394. package/src/helpers/naming.ts +73 -2
  395. package/src/helpers/opExample.ts +19 -2
  396. package/src/helpers/opShape.ts +65 -0
  397. package/src/helpers/packageMeta.ts +211 -10
  398. package/src/helpers/stdrep.ts +56 -0
  399. package/src/helpers/testPolicy.ts +52 -0
  400. package/src/sdkgen.ts +350 -5
  401. package/src/types.ts +24 -1
  402. package/src/utility.ts +10 -1
  403. package/project/.sdk/tm/rust/feature/mod.rs +0 -24
@@ -0,0 +1,7 @@
1
+ type RegisterOptions = {
2
+ export?: string;
3
+ optional?: boolean;
4
+ };
5
+ declare function registerComponent(name: string, options?: RegisterOptions): import("jostraca").Component;
6
+ export type { RegisterOptions, };
7
+ export { registerComponent, };
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ // `registerComponent` — add a per-target component of your own.
3
+ //
4
+ // WHY THIS EXISTS
5
+ //
6
+ // Every built-in resolves its per-language half by convention:
7
+ // `Main` loads `cmp/<target>/Main_<target>`, `Test` loads
8
+ // `cmp/<target>/Test_<target>`, and `ReadmeTop` loads
9
+ // `cmp/<target>/ReadmeTopQuick_<target>` with `{ ignore: true }` so a target
10
+ // that has not implemented it is simply skipped.
11
+ //
12
+ // A PROJECT had no way into that mechanism. voxgig-solardemo-sdk wanted a
13
+ // per-target `AGENTS.md` and had to hand-wire the dispatch in its own
14
+ // `Root.ts`:
15
+ //
16
+ // if ('ts' === target.name) { AgentsTs({ target }) }
17
+ // else if ('go' === target.name) { AgentsGo({ target }) }
18
+ //
19
+ // which duplicates the internal dispatch, does not scale past a couple of
20
+ // targets, and — because the branches live inline in Root.ts — is exactly
21
+ // what stops a project's root wiring from being resynced with the scaffold.
22
+ //
23
+ // With this, the same thing is one line and target-agnostic:
24
+ //
25
+ // const Agents = registerComponent('Agents')
26
+ // ...
27
+ // Agents({ target })
28
+ //
29
+ // resolving `cmp/<target>/Agents_<target>` and doing nothing for a target
30
+ // that has no such file. `doctor` reports those files as ADDITIVE — the
31
+ // project's own work — rather than as drift.
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.registerComponent = registerComponent;
34
+ const jostraca_1 = require("jostraca");
35
+ const utility_1 = require("../utility");
36
+ const stdrep_1 = require("../helpers/stdrep");
37
+ function registerComponent(name, options = {}) {
38
+ const member = options.export || name;
39
+ const optional = false !== options.optional;
40
+ return (0, jostraca_1.cmp)(function Registered(props) {
41
+ const { target, ctx$ } = props;
42
+ const { model, log } = ctx$;
43
+ const stdrep = (0, stdrep_1.ensureStdrep)(ctx$);
44
+ const mod = (0, utility_1.requirePath)(ctx$, `./cmp/${target.name}/${name}_${target.name}`, { ignore: optional });
45
+ if (null == mod) {
46
+ log.debug({
47
+ point: 'generate-registered-absent', component: name, target: target.name,
48
+ note: name + ': not implemented for ' + target.name
49
+ });
50
+ return;
51
+ }
52
+ const fn = mod[member];
53
+ if ('function' !== typeof fn) {
54
+ log.warn({
55
+ point: 'generate-registered-noexport', component: name,
56
+ target: target.name, member,
57
+ note: name + '_' + target.name + ' does not export ' + member
58
+ });
59
+ return;
60
+ }
61
+ // Same call shape as the built-ins, plus whatever the caller passed —
62
+ // so a registered component is written exactly like Main_<lang>.
63
+ fn({ ...props, model, target, stdrep });
64
+ log.info({
65
+ point: 'generate-registered', component: name, target: target.name,
66
+ note: name + ': target:' + target.name
67
+ });
68
+ });
69
+ }
70
+ //# sourceMappingURL=Registered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Registered.js","sourceRoot":"","sources":["../../src/cmp/Registered.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,EAAE;AACF,kBAAkB;AAClB,EAAE;AACF,+DAA+D;AAC/D,0DAA0D;AAC1D,sDAAsD;AACtD,6EAA6E;AAC7E,iDAAiD;AACjD,EAAE;AACF,0EAA0E;AAC1E,sEAAsE;AACtE,aAAa;AACb,EAAE;AACF,uDAAuD;AACvD,4DAA4D;AAC5D,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,4EAA4E;AAC5E,EAAE;AACF,6DAA6D;AAC7D,EAAE;AACF,+CAA+C;AAC/C,QAAQ;AACR,uBAAuB;AACvB,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,6CAA6C;;QAqE3C,iBAAiB;AAnEnB,uCAA8B;AAE9B,wCAAwC;AAExC,8CAAgD;AAchD,SAAS,iBAAiB,CAAC,IAAY,EAAE,OAAO,GAAoB,EAAE;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAA;IACrC,MAAM,QAAQ,GAAG,KAAK,KAAK,OAAO,CAAC,QAAQ,CAAA;IAE3C,OAAO,IAAA,cAAG,EAAC,SAAS,UAAU,CAAC,KAAU;QACvC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAE3B,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAA;QAEjC,MAAM,GAAG,GAAQ,IAAA,qBAAW,EAC1B,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE5E,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC;gBACR,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI;gBACzE,IAAI,EAAE,IAAI,GAAG,wBAAwB,GAAG,MAAM,CAAC,IAAI;aACpD,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;QAEtB,IAAI,UAAU,KAAK,OAAO,EAAE,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,8BAA8B,EAAE,SAAS,EAAE,IAAI;gBACtD,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM;gBAC3B,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,GAAG,mBAAmB,GAAG,MAAM;aAC9D,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,sEAAsE;QACtE,iEAAiE;QACjE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QAEvC,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI;YAClE,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,IAAI;SACvC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/dist/cmp/Test.js CHANGED
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Test = void 0;
4
4
  const jostraca_1 = require("jostraca");
5
5
  const utility_1 = require("../utility");
6
+ const stdrep_1 = require("../helpers/stdrep");
6
7
  const Test = (0, jostraca_1.cmp)(function Test(props) {
7
8
  const { target, ctx$ } = props;
8
- const { model, stdrep, log } = ctx$;
9
+ const { model, log } = ctx$;
10
+ const stdrep = (0, stdrep_1.ensureStdrep)(ctx$);
9
11
  const Test_sdk = (0, utility_1.requirePath)(ctx$, `./cmp/${target.name}/Test_${target.name}`);
10
12
  Test_sdk['Test']({ model, target, stdrep });
11
13
  log.info({
@@ -1 +1 @@
1
- {"version":3,"file":"Test.js","sourceRoot":"","sources":["../../src/cmp/Test.ts"],"names":[],"mappings":";;;AACA,uCAEiB;AAEjB,wCAAwC;AASxC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;IACvC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAEnC,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9E,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAE3C,GAAG,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,eAAe,EAAE,MAAM;QAC9B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,IAAI;KAC9B,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;QAIA,IAAI"}
1
+ {"version":3,"file":"Test.js","sourceRoot":"","sources":["../../src/cmp/Test.ts"],"names":[],"mappings":";;;AACA,uCAEiB;AAEjB,wCAAwC;AAExC,8CAAgD;AAShD,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU;IACvC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC3B,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAA;IAEjC,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9E,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAE3C,GAAG,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,eAAe,EAAE,MAAM;QAC9B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,IAAI;KAC9B,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;QAIA,IAAI"}
@@ -0,0 +1,10 @@
1
+ type FileLists = {
2
+ written?: string[];
3
+ merged?: string[];
4
+ conflicted?: string[];
5
+ unchanged?: string[];
6
+ preserved?: string[];
7
+ };
8
+ declare function showDryrun(log: any, point: string, jres: any, folder?: string): number;
9
+ export type { FileLists, };
10
+ export { showDryrun, };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ // Report what a dry run WOULD have done.
3
+ //
4
+ // `@voxgig/util`'s showChanges only lists merged and conflicted files, which
5
+ // on a fresh `target add` is nothing at all — so `-y target add ts` printed
6
+ // `** DRY RUN **`, listed no files, and (before the control fix) wrote them
7
+ // anyway. A preview that shows nothing is indistinguishable from a preview of
8
+ // nothing, which is exactly the wrong answer for the command whose whole job
9
+ // is to overwrite a project's vendored scaffold.
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.showDryrun = showDryrun;
12
+ // Log every path the run touched, one line each, plus a total. `written`
13
+ // covers both new and overwritten files — in a dry run nothing reached disk,
14
+ // so the list IS the preview.
15
+ function showDryrun(log, point, jres, folder) {
16
+ const files = (jres && jres.files) || {};
17
+ const prefix = null == folder ? '' :
18
+ (folder.endsWith('/') ? folder : folder + '/');
19
+ const rel = (p) => ('' !== prefix && p.startsWith(prefix)) ?
20
+ p.slice(prefix.length) : p;
21
+ let count = 0;
22
+ for (const kind of ['written', 'merged', 'conflicted']) {
23
+ for (const file of (files[kind] || [])) {
24
+ count++;
25
+ log.info({ point, file, kind, note: kind + ': ' + rel(file) });
26
+ }
27
+ }
28
+ log.info({
29
+ point, count,
30
+ note: '** DRY RUN ** ' + count + ' file' + (1 === count ? '' : 's') +
31
+ ' would change; nothing was written'
32
+ });
33
+ return count;
34
+ }
35
+ //# sourceMappingURL=dryrun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dryrun.js","sourceRoot":"","sources":["../../src/helpers/dryrun.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,iDAAiD;;QAgD/C,UAAU;AApCZ,yEAAyE;AACzE,6EAA6E;AAC7E,8BAA8B;AAC9B,SAAS,UAAU,CAAC,GAAQ,EAAE,KAAa,EAAE,IAAS,EAAE,MAAe;IACrE,MAAM,KAAK,GAAc,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAEnD,MAAM,MAAM,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IAEhD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5B,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAU,EAAE,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvC,KAAK,EAAE,CAAA;YACP,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACjE,oCAAoC;KACvC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ type FeatureSource = {
2
+ name: string;
3
+ path: string;
4
+ folder: boolean;
5
+ };
6
+ declare function featureOf(entry: string, folder: boolean): string;
7
+ declare function availableFeatures(fs: any, sdkfolder: string): string[];
8
+ declare function findFeatureSources(fs: any, tmfolder: string, available: string[]): FeatureSource[];
9
+ declare function featureExcludes(sources: FeatureSource[]): RegExp[];
10
+ declare function fullsetExcludes(paths: string[]): RegExp[];
11
+ declare function srcFeatureExcludes(model: any): RegExp[];
12
+ export type { FeatureSource, };
13
+ export { featureOf, availableFeatures, findFeatureSources, featureExcludes, fullsetExcludes, srcFeatureExcludes, };
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ // Locate the per-feature source inside a target's template tree.
3
+ //
4
+ // WHY THIS EXISTS
5
+ //
6
+ // `target add` is supposed to copy source for the features the model
7
+ // declares, and nothing else. It used to do that with a single hardcoded
8
+ // path assumption:
9
+ //
10
+ // Copy({ from: 'tm/<lang>', exclude: [/src\/feature/] })
11
+ // Folder({ name: 'src/feature' }, () => /* copy each model feature */)
12
+ //
13
+ // That assumption holds for exactly two targets. `ts` and `js` keep feature
14
+ // source at `src/feature/<name>/`; everyone else does something else —
15
+ // `tm/go/feature/retry_feature.go`, `tm/rust/feature/retry.rs`,
16
+ // `tm/py/pkg/feature/retry_feature.py`, `tm/dart/lib/feature/retry/...`,
17
+ // `tm/swift/Sources/ProjectNameSDK/feature/RetryFeature.swift`, and so on.
18
+ // None of those match `src/feature`, so the exclude never saw them and every
19
+ // shipped feature was copied into every project regardless of the model: 272
20
+ // stray source files across 17 targets for a project declaring no features
21
+ // at all. (For those targets `src/feature/<name>/` holds only a `.gitkeep`
22
+ // placeholder — the old gate was gating empty directories.)
23
+ //
24
+ // So instead of encoding one layout, DISCOVER it: walk the template tree,
25
+ // treat any directory named `feature` as a feature container, and map each
26
+ // entry inside it back to a feature name. That covers every layout above,
27
+ // and a target added later gets gated without anyone editing this file.
28
+ //
29
+ // The mapping is deliberately conservative. An entry only counts as feature
30
+ // source when its derived name is one the generator can actually supply
31
+ // (`availableFeatures`, read from `model/feature/*.aontu`). Everything else
32
+ // inside a feature directory — `feature_options.go`, `FeatureOptions.cs`,
33
+ // `mod.rs`, `support.rs`, `options.hpp`, `__init__.py`, `README.md`, and the
34
+ // `harness.ts` under `test/feature/` — derives a name no feature has, so it
35
+ // is left alone.
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.featureOf = featureOf;
41
+ exports.availableFeatures = availableFeatures;
42
+ exports.findFeatureSources = findFeatureSources;
43
+ exports.featureExcludes = featureExcludes;
44
+ exports.fullsetExcludes = fullsetExcludes;
45
+ exports.srcFeatureExcludes = srcFeatureExcludes;
46
+ const node_path_1 = __importDefault(require("node:path"));
47
+ const apidef_1 = require("@voxgig/apidef");
48
+ // Directory name that marks a feature container. Kept exact (not a substring
49
+ // match) so `utility/feature_add.go` and `test/feature_test.go` — which are
50
+ // shared machinery, not per-feature source — are never treated as features.
51
+ const FEATURE_DIR = 'feature';
52
+ // Derive the feature name an entry inside a feature directory belongs to.
53
+ // Returns the lowercased name, which the caller then checks against the
54
+ // available set.
55
+ //
56
+ // retry_feature.go -> retry (go, py, rb, lua, perl)
57
+ // RetryFeature.cs -> retry (csharp, java, kotlin, scala, swift, php)
58
+ // retry.rs -> retry (rust, c, cpp, zig, elixir)
59
+ // retry/ -> retry (ts, js, dart)
60
+ // feature_options.go -> feature_options (not a feature; `_feature` is a
61
+ // prefix here, not a suffix)
62
+ // FeatureOptions.cs -> featureoptions (ditto)
63
+ function featureOf(entry, folder) {
64
+ if (folder) {
65
+ return entry.toLowerCase();
66
+ }
67
+ // Only the final extension goes; `feature.test.ts` style names keep the
68
+ // rest so they cannot collide with a bare feature name.
69
+ const stem = entry.replace(/\.[^.]+$/, '');
70
+ return stem
71
+ .replace(/_feature$/i, '')
72
+ .replace(/Feature$/, '')
73
+ .toLowerCase();
74
+ }
75
+ // Feature names this generator can supply, read from the scaffold's
76
+ // `model/feature/*.aontu`. This is the authoritative catalogue: a name not in
77
+ // it is not a feature, so nothing outside it is ever excluded.
78
+ function availableFeatures(fs, sdkfolder) {
79
+ const dir = node_path_1.default.join(sdkfolder, 'model', 'feature');
80
+ if (!fs.existsSync(dir)) {
81
+ return [];
82
+ }
83
+ return fs.readdirSync(dir)
84
+ .filter((n) => n.endsWith('.aontu') && 'feature-index.aontu' !== n)
85
+ .map((n) => n.replace(/\.aontu$/, '').toLowerCase())
86
+ .sort();
87
+ }
88
+ // Walk a target's template tree and return every per-feature source entry.
89
+ // `tmfolder` is the target template root (`<sdk>/tm/<lang>`).
90
+ function findFeatureSources(fs, tmfolder, available) {
91
+ const known = new Set(available);
92
+ const found = [];
93
+ if (!fs.existsSync(tmfolder)) {
94
+ return found;
95
+ }
96
+ // `rel` is relative to tmfolder, '' at the root.
97
+ const walk = (rel) => {
98
+ const abs = '' === rel ? tmfolder : node_path_1.default.join(tmfolder, rel);
99
+ const entries = fs.readdirSync(abs).sort();
100
+ for (const entry of entries) {
101
+ const entryrel = '' === rel ? entry : rel + '/' + entry;
102
+ const folder = fs.statSync(node_path_1.default.join(tmfolder, entryrel)).isDirectory();
103
+ // Inside a feature container every entry is a candidate, and a
104
+ // candidate directory is the whole feature — do not descend into it
105
+ // looking for more.
106
+ if (FEATURE_DIR === node_path_1.default.basename(rel)) {
107
+ const name = featureOf(entry, folder);
108
+ if (known.has(name)) {
109
+ found.push({ name, path: entryrel, folder });
110
+ continue;
111
+ }
112
+ }
113
+ if (folder) {
114
+ walk(entryrel);
115
+ }
116
+ }
117
+ };
118
+ walk('');
119
+ return found;
120
+ }
121
+ // Turn discovered sources into path patterns for a jostraca `Copy` exclude.
122
+ //
123
+ // jostraca tests each candidate against the path built up during its walk,
124
+ // which carries the enclosing node path as a prefix — so anchor on a
125
+ // segment boundary at both ends rather than on the whole string. A folder
126
+ // source matches everything beneath it; a file source matches only itself.
127
+ function featureExcludes(sources) {
128
+ return sources.map((s) => new RegExp('(^|/)' + s.path.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + (s.folder ? '/' : '$')));
129
+ }
130
+ // Path patterns for templates that only compile with the COMPLETE feature
131
+ // set — see `feature.fullset` in each target's model. These are the
132
+ // cross-feature test suites: one file per target that constructs every
133
+ // shipped feature type by name (`feature.NewRetryFeature`,
134
+ // `RUSTCRATE::feature::retry::RetryFeature`, ...). Trimming the feature set
135
+ // without dropping them leaves a project that will not compile.
136
+ function fullsetExcludes(paths) {
137
+ return (paths || []).map((p) => new RegExp('(^|/)' + String(p).replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '$'));
138
+ }
139
+ // Generate-time guard for the `src/feature/<name>/` layout (ts, js).
140
+ //
141
+ // Root renders one Feature component per ACTIVE feature, but Main then
142
+ // copies the whole `tm/<lang>` tree — which puts a deactivated feature's
143
+ // source straight back, silently undoing the filter. `target add` keeps
144
+ // deactivated features out of `tm` in the first place; this covers the case
145
+ // where a feature is switched off AFTER it was added.
146
+ //
147
+ // Only declared-but-inactive features are excluded. `base` and anything else
148
+ // the model never mentions is left alone.
149
+ function srcFeatureExcludes(model) {
150
+ const all = (0, apidef_1.getModelPath)(model, `main.${apidef_1.KIT}.feature`, { required: false, only_active: false }) || {};
151
+ const active = (0, apidef_1.getModelPath)(model, `main.${apidef_1.KIT}.feature`, { required: false }) || {};
152
+ return Object.keys(all)
153
+ .filter((name) => null == active[name])
154
+ .map((name) => new RegExp('(^|/)src/feature/' + name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '/'));
155
+ }
156
+ //# sourceMappingURL=featureSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureSource.js","sourceRoot":"","sources":["../../src/helpers/featureSource.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,16 @@ declare function isSwiftSdkType(Name: string): boolean;
4
4
  declare function swiftSafeTypeName(Name: string): string;
5
5
  declare function isReservedName(name: string, lang: string): boolean;
6
6
  declare function safeVarName(name: string, lang: string): string;
7
+ /** The PHP accessor method for an entity: `$client-><Name>()`. */
8
+ declare function phpEntityAccessor(Name: string): string;
9
+ /**
10
+ * The backing field for an entity accessor's cache slot (`$this->_<name>`,
11
+ * `self._<name>`). Target-neutral: the colliding names are the SDK's own
12
+ * fields, which the targets share.
13
+ */
14
+ declare function entityCacheField(name: string): string;
7
15
  declare function exampleVarName(name: string, lang: string): string;
8
16
  declare function jsProp(obj: string, name: string): string;
9
17
  declare function jsKey(name: string): string;
10
18
  declare function jsOptProp(obj: string, name: string): string;
11
- export { isReservedName, safeVarName, exampleVarName, isRbCoreConstant, rbSafeTypeName, isSwiftSdkType, swiftSafeTypeName, jsProp, jsOptProp, jsKey, };
19
+ export { isReservedName, safeVarName, exampleVarName, phpEntityAccessor, entityCacheField, isRbCoreConstant, rbSafeTypeName, isSwiftSdkType, swiftSafeTypeName, jsProp, jsOptProp, jsKey, };
@@ -21,6 +21,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.isReservedName = isReservedName;
22
22
  exports.safeVarName = safeVarName;
23
23
  exports.exampleVarName = exampleVarName;
24
+ exports.phpEntityAccessor = phpEntityAccessor;
25
+ exports.entityCacheField = entityCacheField;
24
26
  exports.isRbCoreConstant = isRbCoreConstant;
25
27
  exports.rbSafeTypeName = rbSafeTypeName;
26
28
  exports.isSwiftSdkType = isSwiftSdkType;
@@ -197,16 +199,78 @@ function isReservedName(name, lang) {
197
199
  function safeVarName(name, lang) {
198
200
  return isReservedName(name, lang) ? name + '_' : name;
199
201
  }
202
+ // Members the generated PHP SDK class already declares (see the php target's
203
+ // fragment/Main.fragment.php). An entity accessor or backing field reusing one
204
+ // is a FATAL redeclare — PHP will not parse the file, so the SDK yields zero
205
+ // working tests rather than a degraded one.
206
+ //
207
+ // PHP method names are CASE-INSENSITIVE at declaration time, hence the
208
+ // lowercased comparison: an entity `graph_ql` derives the accessor `GraphQl()`,
209
+ // the same declaration as the SDK's own `graphql()`.
210
+ //
211
+ // This lives here, not in the php component, because the ACCESSOR NAME has to
212
+ // agree across the SDK class and every doc/example component that calls it.
213
+ // It did not: MainEntity_php emitted `Test_()` for an entity named `test`
214
+ // while eight readme components emitted `Test()`, so the generated examples
215
+ // called the static test-mode constructor and died with
216
+ // "Call to undefined method <Name>SDK::load()".
217
+ const PHP_SDK_METHODS = new Set([
218
+ 'construct', '__construct', 'direct', 'get_root_ctx', 'get_utility',
219
+ 'graphql', 'op_allowed', 'op_denied', 'options_map', 'prepare',
220
+ 'raw_request', 'test',
221
+ ]);
222
+ // Backing fields the generated SDK object already holds, in EVERY target that
223
+ // caches its entity accessors in `_<name>`. php spells it `$this->_utility`
224
+ // and lua `self._utility`, but it is one hazard: the accessor's cache slot
225
+ // silently aliases the SDK's own field, so `client:Utility()` hands back the
226
+ // internal utility object and every entity method on it is nil.
227
+ const SDK_FIELDS = new Set(['rootctx', 'utility', 'client', 'entctx']);
228
+ /** The PHP accessor method for an entity: `$client-><Name>()`. */
229
+ function phpEntityAccessor(Name) {
230
+ return PHP_SDK_METHODS.has(String(Name).toLowerCase()) ? Name + '_' : Name;
231
+ }
232
+ /**
233
+ * The backing field for an entity accessor's cache slot (`$this->_<name>`,
234
+ * `self._<name>`). Target-neutral: the colliding names are the SDK's own
235
+ * fields, which the targets share.
236
+ */
237
+ function entityCacheField(name) {
238
+ return SDK_FIELDS.has(String(name).toLowerCase()) ? name + '_' : name;
239
+ }
240
+ // Symbols a doc example CALLS, which a same-named example variable would
241
+ // shadow. The variable is syntactically fine; the example then fails at
242
+ // RUNTIME, which is far harder to read than a compile error:
243
+ //
244
+ // const consoles = await client.Console().list()
245
+ // for (const console of consoles) { console.log(console) }
246
+ // -> "console.log is not a function" (nexarda, an API with a Console entity)
247
+ //
248
+ // Only languages where a plain variable can capture the symbol are listed.
249
+ // php is absent on purpose: its variables carry a `$` sigil, so `$echo` can
250
+ // never shadow `echo`.
251
+ const EXAMPLE_GLOBALS = {
252
+ ts: ['console', 'process', 'globalThis'],
253
+ js: ['console', 'process', 'globalThis'],
254
+ py: ['print'],
255
+ rb: ['puts'],
256
+ lua: ['print'],
257
+ go: ['fmt'],
258
+ };
200
259
  // A variable name for a doc EXAMPLE entity. Doc examples bind the SDK instance
201
260
  // to `client` (e.g. `const client = ...SDK.test()`), so an entity whose
202
261
  // lowercased name is also `client` — an API with a `Client` entity — would
203
262
  // shadow it: `const client = client.Client()...` is self-referential (TS2448/
204
263
  // TS7022) and breaks the readme_examples type-check. Append `_` to keep the
205
- // example variable distinct from the SDK instance. Also applies the normal
264
+ // example variable distinct from the SDK instance. The same applies to any
265
+ // symbol the example itself calls (EXAMPLE_GLOBALS). Also applies the normal
206
266
  // language-reserved-word guard.
207
267
  function exampleVarName(name, lang) {
208
268
  const v = safeVarName(name, lang);
209
- return 'client' === v ? v + '_' : v;
269
+ if ('client' === v)
270
+ return v + '_';
271
+ if ((EXAMPLE_GLOBALS[lang] || []).includes(v))
272
+ return v + '_';
273
+ return v;
210
274
  }
211
275
  // A valid ECMAScript identifier — the only shape `obj.name` can express.
212
276
  const JS_IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
@@ -1 +1 @@
1
- {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/helpers/naming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/helpers/naming.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ exports.dataArg = dataArg;
24
24
  exports.litFor = litFor;
25
25
  const canonType_1 = require("./canonType");
26
26
  const opShape_1 = require("./opShape");
27
+ const naming_1 = require("./naming");
27
28
  function cap(s) {
28
29
  return s.charAt(0).toUpperCase() + s.slice(1);
29
30
  }
@@ -36,8 +37,24 @@ function litFor(lang, type) {
36
37
  return 'py' === lang ? 'True' : ('rb' === lang ? 'true' : 'true');
37
38
  if ('ARRAY' === k)
38
39
  return ('lua' === lang) ? '{}' : ('go' === lang ? '[]any{}' : '[]');
39
- if ('OBJECT' === k)
40
- return ('go' === lang) ? 'map[string]any{}' : '{}';
40
+ // PHP has no `{}` literal — `["data" => {}]` is a parse error, which took
41
+ // the whole generated README down for any entity with an object-typed
42
+ // writable field (dymo-api-introduction, html-creator). Arrays serve as both
43
+ // list and map, so `[]` is the empty object too. Ruby and Lua likewise want
44
+ // their own empty-hash/table spelling rather than JS's.
45
+ if ('OBJECT' === k) {
46
+ if ('go' === lang)
47
+ return 'map[string]any{}';
48
+ if ('php' === lang)
49
+ return '[]';
50
+ if ('rb' === lang)
51
+ return '{}';
52
+ if ('lua' === lang)
53
+ return '{}';
54
+ if ('py' === lang)
55
+ return '{}';
56
+ return '{}';
57
+ }
41
58
  return '"example"';
42
59
  }
43
60
  // The example id literal for an op's match key, typed from the op's declared
@@ -133,8 +150,11 @@ function primaryOpCall(lang, eName, eLower, op, idF, ent) {
133
150
  factory = `client.${eName}`;
134
151
  sep = '.';
135
152
  }
153
+ // php mangles an accessor that would collide with an SDK class member
154
+ // (see phpEntityAccessor); the example has to call the name that is
155
+ // actually declared, or it invokes the SDK's own method instead.
136
156
  else if ('php' === lang) {
137
- factory = `$client->${eName}()`;
157
+ factory = `$client->${(0, naming_1.phpEntityAccessor)(eName)}()`;
138
158
  sep = '->';
139
159
  }
140
160
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"opExample.js","sourceRoot":"","sources":["../../src/helpers/opExample.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opExample.js","sourceRoot":"","sources":["../../src/helpers/opExample.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,16 @@ type OpShapeItem = {
7
7
  type: any;
8
8
  optional: boolean;
9
9
  };
10
+ declare function opActions(op: any): {
11
+ action: string;
12
+ path: string;
13
+ }[];
14
+ declare function entityActions(entity: any): {
15
+ op: string;
16
+ action: string;
17
+ path: string;
18
+ }[];
19
+ declare function entityPath(entity: any): string;
10
20
  declare function opParams(op: any): any[];
11
21
  declare function opRequestShape(ent: any, opname: string): {
12
22
  items: OpShapeItem[];
@@ -23,5 +33,5 @@ declare function pickExampleEntity(entity: any): {
23
33
  primaryOp: string | null;
24
34
  };
25
35
  declare function entityDataIdField(ent: any): string | null;
26
- export { OP_SUFFIX, deriveEntityNames, entityCollection, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, pickExampleEntity, entityClassName, entityTypeCollisions, warnEntityTypeCollisions, };
36
+ export { OP_SUFFIX, deriveEntityNames, entityCollection, opTypeName, opParams, opActions, entityActions, entityPath, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, pickExampleEntity, entityClassName, entityTypeCollisions, warnEntityTypeCollisions, };
27
37
  export type { OpShapeItem, };