@voxgig/sdkgen 1.3.14 → 1.3.18

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 (549) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/action/action.js.map +1 -1
  3. package/dist/action/feature.js.map +1 -1
  4. package/dist/action/target.js.map +1 -1
  5. package/dist/cmp/AgentGuide.js.map +1 -1
  6. package/dist/cmp/AgentGuideContent.js.map +1 -1
  7. package/dist/cmp/AgentGuideFeature.js.map +1 -1
  8. package/dist/cmp/AgentGuideTop.js.map +1 -1
  9. package/dist/cmp/Changelog.js.map +1 -1
  10. package/dist/cmp/Deploy.js.map +1 -1
  11. package/dist/cmp/Entity.js +5 -1
  12. package/dist/cmp/Entity.js.map +1 -1
  13. package/dist/cmp/Feature.js +2 -1
  14. package/dist/cmp/Feature.js.map +1 -1
  15. package/dist/cmp/FeatureHook.js.map +1 -1
  16. package/dist/cmp/License.js.map +1 -1
  17. package/dist/cmp/Main.js.map +1 -1
  18. package/dist/cmp/Readme.js.map +1 -1
  19. package/dist/cmp/ReadmeEntity.js.map +1 -1
  20. package/dist/cmp/ReadmeErrors.js +1 -1
  21. package/dist/cmp/ReadmeErrors.js.map +1 -1
  22. package/dist/cmp/ReadmeExplanation.js +2 -2
  23. package/dist/cmp/ReadmeExplanation.js.map +1 -1
  24. package/dist/cmp/ReadmeHowto.js.map +1 -1
  25. package/dist/cmp/ReadmeInstall.js.map +1 -1
  26. package/dist/cmp/ReadmeIntro.js.map +1 -1
  27. package/dist/cmp/ReadmeModel.js.map +1 -1
  28. package/dist/cmp/ReadmeOptions.js.map +1 -1
  29. package/dist/cmp/ReadmeQuick.js.map +1 -1
  30. package/dist/cmp/ReadmeRef.js.map +1 -1
  31. package/dist/cmp/ReadmeTop.js +1 -1
  32. package/dist/cmp/ReadmeTop.js.map +1 -1
  33. package/dist/cmp/Security.js.map +1 -1
  34. package/dist/cmp/Test.js.map +1 -1
  35. package/dist/helpers/buildIdNames.js.map +1 -1
  36. package/dist/helpers/canonType.d.ts +3 -2
  37. package/dist/helpers/canonType.js +112 -24
  38. package/dist/helpers/canonType.js.map +1 -1
  39. package/dist/helpers/collectDeps.d.ts +1 -1
  40. package/dist/helpers/collectDeps.js +36 -13
  41. package/dist/helpers/collectDeps.js.map +1 -1
  42. package/dist/helpers/getMatchEntries.js.map +1 -1
  43. package/dist/helpers/naming.d.ts +7 -1
  44. package/dist/helpers/naming.js +90 -0
  45. package/dist/helpers/naming.js.map +1 -1
  46. package/dist/helpers/opExample.d.ts +1 -1
  47. package/dist/helpers/opExample.js +37 -20
  48. package/dist/helpers/opExample.js.map +1 -1
  49. package/dist/helpers/opShape.d.ts +5 -1
  50. package/dist/helpers/opShape.js +174 -7
  51. package/dist/helpers/opShape.js.map +1 -1
  52. package/dist/helpers/packageMeta.js.map +1 -1
  53. package/dist/sdkgen.d.ts +3 -3
  54. package/dist/sdkgen.js +12 -2
  55. package/dist/sdkgen.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/dist/types.js.map +1 -1
  58. package/dist/utility.js.map +1 -1
  59. package/package.json +20 -14
  60. package/project/.sdk/model/target/cpp.aontu +4 -4
  61. package/project/.sdk/model/target/go-cli.aontu +17 -17
  62. package/project/.sdk/model/target/go-mcp.aontu +11 -11
  63. package/project/.sdk/model/target/go.aontu +1 -1
  64. package/project/.sdk/model/target/haskell.aontu +6 -3
  65. package/project/.sdk/model/target/java.aontu +4 -4
  66. package/project/.sdk/model/target/kotlin.aontu +4 -4
  67. package/project/.sdk/model/target/lean.aontu +51 -0
  68. package/project/.sdk/model/target/scala.aontu +4 -4
  69. package/project/.sdk/model/target/zig.aontu +12 -2
  70. package/project/.sdk/src/cmp/c/Config_c.ts +16 -4
  71. package/project/.sdk/src/cmp/c/EntityTypes_c.ts +167 -0
  72. package/project/.sdk/src/cmp/c/Entity_c.ts +3 -3
  73. package/project/.sdk/src/cmp/c/Main_c.ts +4 -0
  74. package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +192 -0
  75. package/project/.sdk/src/cmp/c/ReadmeExamplesTest_c.ts +169 -0
  76. package/project/.sdk/src/cmp/c/ReadmeExplanation_c.ts +55 -0
  77. package/project/.sdk/src/cmp/c/ReadmeHowto_c.ts +168 -0
  78. package/project/.sdk/src/cmp/c/ReadmeInstall_c.ts +52 -0
  79. package/project/.sdk/src/cmp/c/ReadmeIntro_c.ts +67 -0
  80. package/project/.sdk/src/cmp/c/ReadmeModel_c.ts +151 -0
  81. package/project/.sdk/src/cmp/c/ReadmeOptions_c.ts +65 -0
  82. package/project/.sdk/src/cmp/c/ReadmeQuick_c.ts +225 -0
  83. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +398 -0
  84. package/project/.sdk/src/cmp/c/ReadmeTopHowto_c.ts +24 -0
  85. package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +104 -0
  86. package/project/.sdk/src/cmp/c/ReadmeTopTest_c.ts +86 -0
  87. package/project/.sdk/src/cmp/c/TestDirect_c.ts +3 -3
  88. package/project/.sdk/src/cmp/c/TestEntity_c.ts +10 -0
  89. package/project/.sdk/src/cmp/c/Test_c.ts +4 -0
  90. package/project/.sdk/src/cmp/c/utility_c.ts +8 -2
  91. package/project/.sdk/src/cmp/clojure/Entity_clojure.ts +1 -1
  92. package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +182 -0
  93. package/project/.sdk/src/cmp/clojure/ReadmeExamplesTest_clojure.ts +65 -0
  94. package/project/.sdk/src/cmp/clojure/ReadmeExplanation_clojure.ts +44 -0
  95. package/project/.sdk/src/cmp/clojure/ReadmeHowto_clojure.ts +144 -0
  96. package/project/.sdk/src/cmp/clojure/ReadmeInstall_clojure.ts +51 -0
  97. package/project/.sdk/src/cmp/clojure/ReadmeIntro_clojure.ts +66 -0
  98. package/project/.sdk/src/cmp/clojure/ReadmeModel_clojure.ts +156 -0
  99. package/project/.sdk/src/cmp/clojure/ReadmeOptions_clojure.ts +61 -0
  100. package/project/.sdk/src/cmp/clojure/ReadmeQuick_clojure.ts +210 -0
  101. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +409 -0
  102. package/project/.sdk/src/cmp/clojure/ReadmeTopHowto_clojure.ts +24 -0
  103. package/project/.sdk/src/cmp/clojure/ReadmeTopQuick_clojure.ts +98 -0
  104. package/project/.sdk/src/cmp/clojure/ReadmeTopTest_clojure.ts +78 -0
  105. package/project/.sdk/src/cmp/clojure/TestDirect_clojure.ts +58 -0
  106. package/project/.sdk/src/cmp/clojure/TestEntity_clojure.ts +79 -0
  107. package/project/.sdk/src/cmp/clojure/Test_clojure.ts +21 -65
  108. package/project/.sdk/src/cmp/cpp/EntityTypes_cpp.ts +174 -0
  109. package/project/.sdk/src/cmp/cpp/Entity_cpp.ts +3 -3
  110. package/project/.sdk/src/cmp/cpp/MainEntity_cpp.ts +2 -2
  111. package/project/.sdk/src/cmp/cpp/Main_cpp.ts +5 -0
  112. package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +170 -0
  113. package/project/.sdk/src/cmp/cpp/ReadmeExamplesTest_cpp.ts +136 -0
  114. package/project/.sdk/src/cmp/cpp/ReadmeExplanation_cpp.ts +45 -0
  115. package/project/.sdk/src/cmp/cpp/ReadmeHowto_cpp.ts +139 -0
  116. package/project/.sdk/src/cmp/cpp/ReadmeInstall_cpp.ts +42 -0
  117. package/project/.sdk/src/cmp/cpp/ReadmeIntro_cpp.ts +69 -0
  118. package/project/.sdk/src/cmp/cpp/ReadmeModel_cpp.ts +155 -0
  119. package/project/.sdk/src/cmp/cpp/ReadmeOptions_cpp.ts +62 -0
  120. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +234 -0
  121. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +387 -0
  122. package/project/.sdk/src/cmp/cpp/ReadmeTopHowto_cpp.ts +24 -0
  123. package/project/.sdk/src/cmp/cpp/ReadmeTopQuick_cpp.ts +95 -0
  124. package/project/.sdk/src/cmp/cpp/ReadmeTopTest_cpp.ts +70 -0
  125. package/project/.sdk/src/cmp/cpp/TestDirect_cpp.ts +3 -3
  126. package/project/.sdk/src/cmp/cpp/TestEntity_cpp.ts +5 -1
  127. package/project/.sdk/src/cmp/cpp/Test_cpp.ts +4 -0
  128. package/project/.sdk/src/cmp/csharp/EntityTypes_csharp.ts +195 -0
  129. package/project/.sdk/src/cmp/csharp/Entity_csharp.ts +3 -3
  130. package/project/.sdk/src/cmp/csharp/MainEntity_csharp.ts +2 -2
  131. package/project/.sdk/src/cmp/csharp/Main_csharp.ts +6 -0
  132. package/project/.sdk/src/cmp/csharp/Package_csharp.ts +1 -1
  133. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +174 -0
  134. package/project/.sdk/src/cmp/csharp/ReadmeExamplesTest_csharp.ts +210 -0
  135. package/project/.sdk/src/cmp/csharp/ReadmeExplanation_csharp.ts +42 -0
  136. package/project/.sdk/src/cmp/csharp/ReadmeHowto_csharp.ts +168 -0
  137. package/project/.sdk/src/cmp/csharp/ReadmeInstall_csharp.ts +41 -0
  138. package/project/.sdk/src/cmp/csharp/ReadmeIntro_csharp.ts +65 -0
  139. package/project/.sdk/src/cmp/csharp/ReadmeModel_csharp.ts +148 -0
  140. package/project/.sdk/src/cmp/csharp/ReadmeOptions_csharp.ts +60 -0
  141. package/project/.sdk/src/cmp/csharp/ReadmeQuick_csharp.ts +219 -0
  142. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +390 -0
  143. package/project/.sdk/src/cmp/csharp/ReadmeTopHowto_csharp.ts +25 -0
  144. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +92 -0
  145. package/project/.sdk/src/cmp/csharp/ReadmeTopTest_csharp.ts +77 -0
  146. package/project/.sdk/src/cmp/csharp/TestDirect_csharp.ts +3 -3
  147. package/project/.sdk/src/cmp/csharp/Test_csharp.ts +4 -0
  148. package/project/.sdk/src/cmp/dart/EntityTypes_dart.ts +43 -30
  149. package/project/.sdk/src/cmp/dart/Entity_dart.ts +11 -3
  150. package/project/.sdk/src/cmp/dart/MainEntity_dart.ts +2 -2
  151. package/project/.sdk/src/cmp/dart/Main_dart.ts +3 -3
  152. package/project/.sdk/src/cmp/dart/Package_dart.ts +1 -1
  153. package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +166 -0
  154. package/project/.sdk/src/cmp/dart/ReadmeExamplesTest_dart.ts +238 -0
  155. package/project/.sdk/src/cmp/dart/ReadmeExplanation_dart.ts +53 -0
  156. package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +151 -0
  157. package/project/.sdk/src/cmp/dart/ReadmeInstall_dart.ts +59 -0
  158. package/project/.sdk/src/cmp/dart/ReadmeIntro_dart.ts +65 -0
  159. package/project/.sdk/src/cmp/dart/ReadmeModel_dart.ts +151 -0
  160. package/project/.sdk/src/cmp/dart/ReadmeOptions_dart.ts +63 -0
  161. package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +214 -0
  162. package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +381 -0
  163. package/project/.sdk/src/cmp/dart/ReadmeTopHowto_dart.ts +24 -0
  164. package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +95 -0
  165. package/project/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +78 -0
  166. package/project/.sdk/src/cmp/dart/TestDirect_dart.ts +4 -4
  167. package/project/.sdk/src/cmp/dart/TestEntity_dart.ts +52 -0
  168. package/project/.sdk/src/cmp/dart/Test_dart.ts +6 -0
  169. package/project/.sdk/src/cmp/dart/fragment/Entity.fragment.dart +1 -3
  170. package/project/.sdk/src/cmp/dart/fragment/Entity.test.fragment.dart +1 -40
  171. package/project/.sdk/src/cmp/dart/fragment/Main.fragment.dart +3 -3
  172. package/project/.sdk/src/cmp/elixir/EntityTypes_elixir.ts +164 -0
  173. package/project/.sdk/src/cmp/elixir/Entity_elixir.ts +1 -1
  174. package/project/.sdk/src/cmp/elixir/Main_elixir.ts +4 -0
  175. package/project/.sdk/src/cmp/elixir/Package_elixir.ts +3 -1
  176. package/project/.sdk/src/cmp/elixir/ReadmeEntity_elixir.ts +163 -0
  177. package/project/.sdk/src/cmp/elixir/ReadmeExamplesTest_elixir.ts +144 -0
  178. package/project/.sdk/src/cmp/elixir/ReadmeExplanation_elixir.ts +55 -0
  179. package/project/.sdk/src/cmp/elixir/ReadmeHowto_elixir.ts +149 -0
  180. package/project/.sdk/src/cmp/elixir/ReadmeInstall_elixir.ts +67 -0
  181. package/project/.sdk/src/cmp/elixir/ReadmeIntro_elixir.ts +66 -0
  182. package/project/.sdk/src/cmp/elixir/ReadmeModel_elixir.ts +150 -0
  183. package/project/.sdk/src/cmp/elixir/ReadmeOptions_elixir.ts +62 -0
  184. package/project/.sdk/src/cmp/elixir/ReadmeQuick_elixir.ts +198 -0
  185. package/project/.sdk/src/cmp/elixir/ReadmeRef_elixir.ts +333 -0
  186. package/project/.sdk/src/cmp/elixir/ReadmeTopHowto_elixir.ts +26 -0
  187. package/project/.sdk/src/cmp/elixir/ReadmeTopQuick_elixir.ts +79 -0
  188. package/project/.sdk/src/cmp/elixir/ReadmeTopTest_elixir.ts +68 -0
  189. package/project/.sdk/src/cmp/elixir/Test_elixir.ts +4 -0
  190. package/project/.sdk/src/cmp/elixir/fragment/EntityCreateOp.fragment.ex +4 -0
  191. package/project/.sdk/src/cmp/elixir/fragment/EntityListOp.fragment.ex +4 -0
  192. package/project/.sdk/src/cmp/elixir/fragment/EntityLoadOp.fragment.ex +4 -0
  193. package/project/.sdk/src/cmp/elixir/fragment/EntityRemoveOp.fragment.ex +4 -0
  194. package/project/.sdk/src/cmp/elixir/fragment/EntityUpdateOp.fragment.ex +4 -0
  195. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +32 -0
  196. package/project/.sdk/src/cmp/go/Config_go.ts +4 -1
  197. package/project/.sdk/src/cmp/go/EntityTypes_go.ts +121 -20
  198. package/project/.sdk/src/cmp/go/Entity_go.ts +3 -3
  199. package/project/.sdk/src/cmp/go/Main_go.ts +7 -6
  200. package/project/.sdk/src/cmp/go/Package_go.ts +1 -1
  201. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +6 -1
  202. package/project/.sdk/src/cmp/go/TestDirect_go.ts +3 -3
  203. package/project/.sdk/src/cmp/go/TestEntity_go.ts +11 -4
  204. package/project/.sdk/src/cmp/go/utility_go.ts +28 -2
  205. package/project/.sdk/src/cmp/go-cli/Main_go-cli.ts +249 -44
  206. package/project/.sdk/src/cmp/go-cli/fragment/main.fragment.go +27 -5
  207. package/project/.sdk/src/cmp/go-mcp/Main_go-mcp.ts +200 -31
  208. package/project/.sdk/src/cmp/haskell/ReadmeEntity_haskell.ts +181 -0
  209. package/project/.sdk/src/cmp/haskell/ReadmeExamplesTest_haskell.ts +135 -0
  210. package/project/.sdk/src/cmp/haskell/ReadmeExplanation_haskell.ts +48 -0
  211. package/project/.sdk/src/cmp/haskell/ReadmeHowto_haskell.ts +168 -0
  212. package/project/.sdk/src/cmp/haskell/ReadmeInstall_haskell.ts +51 -0
  213. package/project/.sdk/src/cmp/haskell/ReadmeIntro_haskell.ts +67 -0
  214. package/project/.sdk/src/cmp/haskell/ReadmeModel_haskell.ts +160 -0
  215. package/project/.sdk/src/cmp/haskell/ReadmeOptions_haskell.ts +74 -0
  216. package/project/.sdk/src/cmp/haskell/ReadmeQuick_haskell.ts +237 -0
  217. package/project/.sdk/src/cmp/haskell/ReadmeRef_haskell.ts +405 -0
  218. package/project/.sdk/src/cmp/haskell/ReadmeTopHowto_haskell.ts +31 -0
  219. package/project/.sdk/src/cmp/haskell/ReadmeTopQuick_haskell.ts +104 -0
  220. package/project/.sdk/src/cmp/haskell/ReadmeTopTest_haskell.ts +80 -0
  221. package/project/.sdk/src/cmp/haskell/Test_haskell.ts +27 -2
  222. package/project/.sdk/src/cmp/java/EntityTypes_java.ts +206 -0
  223. package/project/.sdk/src/cmp/java/Entity_java.ts +3 -3
  224. package/project/.sdk/src/cmp/java/MainEntity_java.ts +2 -2
  225. package/project/.sdk/src/cmp/java/Main_java.ts +6 -0
  226. package/project/.sdk/src/cmp/java/Package_java.ts +1 -1
  227. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +175 -0
  228. package/project/.sdk/src/cmp/java/ReadmeExamplesTest_java.ts +208 -0
  229. package/project/.sdk/src/cmp/java/ReadmeExplanation_java.ts +46 -0
  230. package/project/.sdk/src/cmp/java/ReadmeHowto_java.ts +156 -0
  231. package/project/.sdk/src/cmp/java/ReadmeInstall_java.ts +52 -0
  232. package/project/.sdk/src/cmp/java/ReadmeIntro_java.ts +66 -0
  233. package/project/.sdk/src/cmp/java/ReadmeModel_java.ts +150 -0
  234. package/project/.sdk/src/cmp/java/ReadmeOptions_java.ts +61 -0
  235. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +230 -0
  236. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +388 -0
  237. package/project/.sdk/src/cmp/java/ReadmeTopHowto_java.ts +23 -0
  238. package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +103 -0
  239. package/project/.sdk/src/cmp/java/ReadmeTopTest_java.ts +77 -0
  240. package/project/.sdk/src/cmp/java/TestDirect_java.ts +3 -3
  241. package/project/.sdk/src/cmp/java/Test_java.ts +4 -0
  242. package/project/.sdk/src/cmp/js/EntityTypes_js.ts +25 -9
  243. package/project/.sdk/src/cmp/js/Entity_js.ts +3 -3
  244. package/project/.sdk/src/cmp/js/MainEntity_js.ts +6 -4
  245. package/project/.sdk/src/cmp/js/Main_js.ts +2 -2
  246. package/project/.sdk/src/cmp/js/ReadmeEntity_js.ts +4 -4
  247. package/project/.sdk/src/cmp/js/ReadmeHowto_js.ts +13 -4
  248. package/project/.sdk/src/cmp/js/ReadmeQuick_js.ts +4 -4
  249. package/project/.sdk/src/cmp/js/ReadmeRef_js.ts +5 -5
  250. package/project/.sdk/src/cmp/js/ReadmeTopQuick_js.ts +4 -4
  251. package/project/.sdk/src/cmp/js/ReadmeTopTest_js.ts +4 -4
  252. package/project/.sdk/src/cmp/js/TestDirect_js.ts +10 -9
  253. package/project/.sdk/src/cmp/js/TestEntity_js.ts +7 -2
  254. package/project/.sdk/src/cmp/js/fragment/Entity.test.fragment.js +0 -31
  255. package/project/.sdk/src/cmp/kotlin/EntityTypes_kotlin.ts +200 -0
  256. package/project/.sdk/src/cmp/kotlin/Entity_kotlin.ts +3 -3
  257. package/project/.sdk/src/cmp/kotlin/MainEntity_kotlin.ts +2 -2
  258. package/project/.sdk/src/cmp/kotlin/Main_kotlin.ts +6 -0
  259. package/project/.sdk/src/cmp/kotlin/Package_kotlin.ts +1 -1
  260. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +175 -0
  261. package/project/.sdk/src/cmp/kotlin/ReadmeExamplesTest_kotlin.ts +198 -0
  262. package/project/.sdk/src/cmp/kotlin/ReadmeExplanation_kotlin.ts +47 -0
  263. package/project/.sdk/src/cmp/kotlin/ReadmeHowto_kotlin.ts +154 -0
  264. package/project/.sdk/src/cmp/kotlin/ReadmeInstall_kotlin.ts +50 -0
  265. package/project/.sdk/src/cmp/kotlin/ReadmeIntro_kotlin.ts +66 -0
  266. package/project/.sdk/src/cmp/kotlin/ReadmeModel_kotlin.ts +150 -0
  267. package/project/.sdk/src/cmp/kotlin/ReadmeOptions_kotlin.ts +61 -0
  268. package/project/.sdk/src/cmp/kotlin/ReadmeQuick_kotlin.ts +230 -0
  269. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +387 -0
  270. package/project/.sdk/src/cmp/kotlin/ReadmeTopHowto_kotlin.ts +23 -0
  271. package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +104 -0
  272. package/project/.sdk/src/cmp/kotlin/ReadmeTopTest_kotlin.ts +77 -0
  273. package/project/.sdk/src/cmp/kotlin/TestDirect_kotlin.ts +3 -3
  274. package/project/.sdk/src/cmp/kotlin/Test_kotlin.ts +4 -0
  275. package/project/.sdk/src/cmp/lean/Config_lean.ts +88 -0
  276. package/project/.sdk/src/cmp/lean/Entity_lean.ts +9 -0
  277. package/project/.sdk/src/cmp/lean/Gitignore_lean.ts +18 -0
  278. package/project/.sdk/src/cmp/lean/Main_lean.ts +120 -0
  279. package/project/.sdk/src/cmp/lean/Package_lean.ts +68 -0
  280. package/project/.sdk/src/cmp/lean/ReadmeEntity_lean.ts +29 -0
  281. package/project/.sdk/src/cmp/lean/ReadmeExplanation_lean.ts +19 -0
  282. package/project/.sdk/src/cmp/lean/ReadmeHowto_lean.ts +25 -0
  283. package/project/.sdk/src/cmp/lean/ReadmeInstall_lean.ts +38 -0
  284. package/project/.sdk/src/cmp/lean/ReadmeIntro_lean.ts +25 -0
  285. package/project/.sdk/src/cmp/lean/ReadmeModel_lean.ts +24 -0
  286. package/project/.sdk/src/cmp/lean/ReadmeOptions_lean.ts +22 -0
  287. package/project/.sdk/src/cmp/lean/ReadmeQuick_lean.ts +50 -0
  288. package/project/.sdk/src/cmp/lean/ReadmeRef_lean.ts +16 -0
  289. package/project/.sdk/src/cmp/lean/ReadmeTopHowto_lean.ts +16 -0
  290. package/project/.sdk/src/cmp/lean/ReadmeTopQuick_lean.ts +23 -0
  291. package/project/.sdk/src/cmp/lean/ReadmeTopTest_lean.ts +18 -0
  292. package/project/.sdk/src/cmp/lean/Test_lean.ts +207 -0
  293. package/project/.sdk/src/cmp/lean/utility_lean.ts +78 -0
  294. package/project/.sdk/src/cmp/lua/Config_lua.ts +1 -1
  295. package/project/.sdk/src/cmp/lua/EntityTypes_lua.ts +19 -6
  296. package/project/.sdk/src/cmp/lua/Entity_lua.ts +3 -3
  297. package/project/.sdk/src/cmp/lua/Main_lua.ts +14 -2
  298. package/project/.sdk/src/cmp/lua/Package_lua.ts +1 -1
  299. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +2 -2
  300. package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +6 -1
  301. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +3 -3
  302. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -2
  303. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +2 -2
  304. package/project/.sdk/src/cmp/lua/TestDirect_lua.ts +3 -3
  305. package/project/.sdk/src/cmp/lua/TestEntity_lua.ts +8 -3
  306. package/project/.sdk/src/cmp/lua/Test_lua.ts +1 -1
  307. package/project/.sdk/src/cmp/lua/fragment/Main.fragment.lua +2 -0
  308. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +180 -0
  309. package/project/.sdk/src/cmp/ocaml/ReadmeExamplesTest_ocaml.ts +126 -0
  310. package/project/.sdk/src/cmp/ocaml/ReadmeExplanation_ocaml.ts +46 -0
  311. package/project/.sdk/src/cmp/ocaml/ReadmeHowto_ocaml.ts +147 -0
  312. package/project/.sdk/src/cmp/ocaml/ReadmeInstall_ocaml.ts +44 -0
  313. package/project/.sdk/src/cmp/ocaml/ReadmeIntro_ocaml.ts +68 -0
  314. package/project/.sdk/src/cmp/ocaml/ReadmeModel_ocaml.ts +155 -0
  315. package/project/.sdk/src/cmp/ocaml/ReadmeOptions_ocaml.ts +59 -0
  316. package/project/.sdk/src/cmp/ocaml/ReadmeQuick_ocaml.ts +205 -0
  317. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +402 -0
  318. package/project/.sdk/src/cmp/ocaml/ReadmeTopHowto_ocaml.ts +25 -0
  319. package/project/.sdk/src/cmp/ocaml/ReadmeTopQuick_ocaml.ts +86 -0
  320. package/project/.sdk/src/cmp/ocaml/ReadmeTopTest_ocaml.ts +79 -0
  321. package/project/.sdk/src/cmp/ocaml/Test_ocaml.ts +4 -0
  322. package/project/.sdk/src/cmp/perl/Entity_perl.ts +3 -3
  323. package/project/.sdk/src/cmp/perl/MainEntity_perl.ts +2 -2
  324. package/project/.sdk/src/cmp/perl/Package_perl.ts +1 -1
  325. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +181 -0
  326. package/project/.sdk/src/cmp/perl/ReadmeExamplesTest_perl.ts +354 -0
  327. package/project/.sdk/src/cmp/perl/ReadmeExplanation_perl.ts +43 -0
  328. package/project/.sdk/src/cmp/perl/ReadmeHowto_perl.ts +149 -0
  329. package/project/.sdk/src/cmp/perl/ReadmeInstall_perl.ts +47 -0
  330. package/project/.sdk/src/cmp/perl/ReadmeIntro_perl.ts +66 -0
  331. package/project/.sdk/src/cmp/perl/ReadmeModel_perl.ts +150 -0
  332. package/project/.sdk/src/cmp/perl/ReadmeOptions_perl.ts +59 -0
  333. package/project/.sdk/src/cmp/perl/ReadmeQuick_perl.ts +216 -0
  334. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +399 -0
  335. package/project/.sdk/src/cmp/perl/ReadmeTopHowto_perl.ts +24 -0
  336. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +91 -0
  337. package/project/.sdk/src/cmp/perl/ReadmeTopTest_perl.ts +83 -0
  338. package/project/.sdk/src/cmp/perl/TestDirect_perl.ts +3 -3
  339. package/project/.sdk/src/cmp/perl/Test_perl.ts +4 -0
  340. package/project/.sdk/src/cmp/php/EntityTypes_php.ts +23 -7
  341. package/project/.sdk/src/cmp/php/Entity_php.ts +3 -3
  342. package/project/.sdk/src/cmp/php/MainEntity_php.ts +2 -2
  343. package/project/.sdk/src/cmp/php/Package_php.ts +1 -1
  344. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +6 -1
  345. package/project/.sdk/src/cmp/php/TestDirect_php.ts +3 -3
  346. package/project/.sdk/src/cmp/php/TestEntity_php.ts +8 -3
  347. package/project/.sdk/src/cmp/py/EntityTypes_py.ts +32 -8
  348. package/project/.sdk/src/cmp/py/Entity_py.ts +4 -12
  349. package/project/.sdk/src/cmp/py/MainEntity_py.ts +2 -2
  350. package/project/.sdk/src/cmp/py/Main_py.ts +2 -2
  351. package/project/.sdk/src/cmp/py/Package_py.ts +1 -1
  352. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +2 -2
  353. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +8 -3
  354. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +3 -3
  355. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -2
  356. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +2 -2
  357. package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +2 -2
  358. package/project/.sdk/src/cmp/py/TestDirect_py.ts +3 -3
  359. package/project/.sdk/src/cmp/py/TestEntity_py.ts +8 -3
  360. package/project/.sdk/src/cmp/rb/EntityTypes_rb.ts +32 -8
  361. package/project/.sdk/src/cmp/rb/Entity_rb.ts +3 -3
  362. package/project/.sdk/src/cmp/rb/MainEntity_rb.ts +2 -2
  363. package/project/.sdk/src/cmp/rb/Package_rb.ts +2 -2
  364. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +2 -2
  365. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +8 -3
  366. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +3 -3
  367. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -2
  368. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +2 -2
  369. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +2 -2
  370. package/project/.sdk/src/cmp/rb/TestDirect_rb.ts +3 -3
  371. package/project/.sdk/src/cmp/rb/TestEntity_rb.ts +8 -3
  372. package/project/.sdk/src/cmp/rust/EntityBase_rust.ts +6 -2
  373. package/project/.sdk/src/cmp/rust/EntityTypes_rust.ts +151 -0
  374. package/project/.sdk/src/cmp/rust/Entity_rust.ts +4 -4
  375. package/project/.sdk/src/cmp/rust/MainEntity_rust.ts +2 -2
  376. package/project/.sdk/src/cmp/rust/Main_rust.ts +5 -0
  377. package/project/.sdk/src/cmp/rust/Package_rust.ts +1 -1
  378. package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +163 -0
  379. package/project/.sdk/src/cmp/rust/ReadmeExamplesTest_rust.ts +144 -0
  380. package/project/.sdk/src/cmp/rust/ReadmeExplanation_rust.ts +44 -0
  381. package/project/.sdk/src/cmp/rust/ReadmeHowto_rust.ts +142 -0
  382. package/project/.sdk/src/cmp/rust/ReadmeInstall_rust.ts +49 -0
  383. package/project/.sdk/src/cmp/rust/ReadmeIntro_rust.ts +66 -0
  384. package/project/.sdk/src/cmp/rust/ReadmeModel_rust.ts +153 -0
  385. package/project/.sdk/src/cmp/rust/ReadmeOptions_rust.ts +60 -0
  386. package/project/.sdk/src/cmp/rust/ReadmeQuick_rust.ts +212 -0
  387. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +384 -0
  388. package/project/.sdk/src/cmp/rust/ReadmeTopHowto_rust.ts +24 -0
  389. package/project/.sdk/src/cmp/rust/ReadmeTopQuick_rust.ts +95 -0
  390. package/project/.sdk/src/cmp/rust/ReadmeTopTest_rust.ts +81 -0
  391. package/project/.sdk/src/cmp/rust/TestDirect_rust.ts +3 -3
  392. package/project/.sdk/src/cmp/rust/TestEntity_rust.ts +10 -0
  393. package/project/.sdk/src/cmp/rust/Test_rust.ts +4 -0
  394. package/project/.sdk/src/cmp/scala/EntityTypes_scala.ts +201 -0
  395. package/project/.sdk/src/cmp/scala/Entity_scala.ts +3 -3
  396. package/project/.sdk/src/cmp/scala/MainEntity_scala.ts +2 -2
  397. package/project/.sdk/src/cmp/scala/Main_scala.ts +6 -0
  398. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +175 -0
  399. package/project/.sdk/src/cmp/scala/ReadmeExamplesTest_scala.ts +182 -0
  400. package/project/.sdk/src/cmp/scala/ReadmeExplanation_scala.ts +49 -0
  401. package/project/.sdk/src/cmp/scala/ReadmeHowto_scala.ts +155 -0
  402. package/project/.sdk/src/cmp/scala/ReadmeInstall_scala.ts +58 -0
  403. package/project/.sdk/src/cmp/scala/ReadmeIntro_scala.ts +66 -0
  404. package/project/.sdk/src/cmp/scala/ReadmeModel_scala.ts +150 -0
  405. package/project/.sdk/src/cmp/scala/ReadmeOptions_scala.ts +61 -0
  406. package/project/.sdk/src/cmp/scala/ReadmeQuick_scala.ts +230 -0
  407. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +388 -0
  408. package/project/.sdk/src/cmp/scala/ReadmeTopHowto_scala.ts +23 -0
  409. package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +104 -0
  410. package/project/.sdk/src/cmp/scala/ReadmeTopTest_scala.ts +77 -0
  411. package/project/.sdk/src/cmp/scala/TestDirect_scala.ts +3 -3
  412. package/project/.sdk/src/cmp/scala/TestEntity_scala.ts +38 -10
  413. package/project/.sdk/src/cmp/scala/Test_scala.ts +9 -1
  414. package/project/.sdk/src/cmp/swift/EntityTypes_swift.ts +151 -0
  415. package/project/.sdk/src/cmp/swift/Entity_swift.ts +3 -3
  416. package/project/.sdk/src/cmp/swift/MainEntity_swift.ts +2 -2
  417. package/project/.sdk/src/cmp/swift/Main_swift.ts +5 -0
  418. package/project/.sdk/src/cmp/swift/Package_swift.ts +1 -1
  419. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +176 -0
  420. package/project/.sdk/src/cmp/swift/ReadmeExamplesTest_swift.ts +187 -0
  421. package/project/.sdk/src/cmp/swift/ReadmeExplanation_swift.ts +49 -0
  422. package/project/.sdk/src/cmp/swift/ReadmeHowto_swift.ts +159 -0
  423. package/project/.sdk/src/cmp/swift/ReadmeInstall_swift.ts +58 -0
  424. package/project/.sdk/src/cmp/swift/ReadmeIntro_swift.ts +64 -0
  425. package/project/.sdk/src/cmp/swift/ReadmeModel_swift.ts +149 -0
  426. package/project/.sdk/src/cmp/swift/ReadmeOptions_swift.ts +62 -0
  427. package/project/.sdk/src/cmp/swift/ReadmeQuick_swift.ts +232 -0
  428. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +387 -0
  429. package/project/.sdk/src/cmp/swift/ReadmeTopHowto_swift.ts +24 -0
  430. package/project/.sdk/src/cmp/swift/ReadmeTopQuick_swift.ts +105 -0
  431. package/project/.sdk/src/cmp/swift/ReadmeTopTest_swift.ts +77 -0
  432. package/project/.sdk/src/cmp/swift/TestDirect_swift.ts +1 -1
  433. package/project/.sdk/src/cmp/swift/Test_swift.ts +4 -0
  434. package/project/.sdk/src/cmp/ts/EntityTypes_ts.ts +19 -6
  435. package/project/.sdk/src/cmp/ts/Entity_ts.ts +3 -3
  436. package/project/.sdk/src/cmp/ts/MainEntity_ts.ts +6 -4
  437. package/project/.sdk/src/cmp/ts/Main_ts.ts +2 -2
  438. package/project/.sdk/src/cmp/ts/ReadmeEntity_ts.ts +4 -4
  439. package/project/.sdk/src/cmp/ts/ReadmeHowto_ts.ts +14 -4
  440. package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +29 -11
  441. package/project/.sdk/src/cmp/ts/ReadmeRef_ts.ts +5 -5
  442. package/project/.sdk/src/cmp/ts/ReadmeTopQuick_ts.ts +4 -4
  443. package/project/.sdk/src/cmp/ts/ReadmeTopTest_ts.ts +4 -4
  444. package/project/.sdk/src/cmp/ts/TestDirect_ts.ts +17 -15
  445. package/project/.sdk/src/cmp/ts/TestEntity_ts.ts +18 -2
  446. package/project/.sdk/src/cmp/zig/Config_zig.ts +22 -4
  447. package/project/.sdk/src/cmp/zig/Entity_zig.ts +4 -4
  448. package/project/.sdk/src/cmp/zig/MainEntity_zig.ts +2 -2
  449. package/project/.sdk/src/cmp/zig/Main_zig.ts +10 -4
  450. package/project/.sdk/src/cmp/zig/Package_zig.ts +61 -0
  451. package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +188 -0
  452. package/project/.sdk/src/cmp/zig/ReadmeExamplesTest_zig.ts +58 -0
  453. package/project/.sdk/src/cmp/zig/ReadmeExplanation_zig.ts +45 -0
  454. package/project/.sdk/src/cmp/zig/ReadmeHowto_zig.ts +143 -0
  455. package/project/.sdk/src/cmp/zig/ReadmeInstall_zig.ts +54 -0
  456. package/project/.sdk/src/cmp/zig/ReadmeIntro_zig.ts +66 -0
  457. package/project/.sdk/src/cmp/zig/ReadmeModel_zig.ts +152 -0
  458. package/project/.sdk/src/cmp/zig/ReadmeOptions_zig.ts +60 -0
  459. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +211 -0
  460. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +400 -0
  461. package/project/.sdk/src/cmp/zig/ReadmeTopHowto_zig.ts +24 -0
  462. package/project/.sdk/src/cmp/zig/ReadmeTopQuick_zig.ts +96 -0
  463. package/project/.sdk/src/cmp/zig/ReadmeTopTest_zig.ts +82 -0
  464. package/project/.sdk/src/cmp/zig/TestDirect_zig.ts +66 -0
  465. package/project/.sdk/src/cmp/zig/TestEntity_zig.ts +79 -0
  466. package/project/.sdk/src/cmp/zig/Test_zig.ts +17 -61
  467. package/project/.sdk/tm/clojure/src/voxgig/struct.clj +1 -1
  468. package/project/.sdk/tm/cpp/test/feature_test.cpp +19 -0
  469. package/project/.sdk/tm/cpp/test/primary_utility_test.cpp +8 -16
  470. package/project/.sdk/tm/csharp/test/PrimaryUtilityTest.cs +10 -28
  471. package/project/.sdk/tm/dart/lib/utility/MakeRequestUtility.dart +4 -1
  472. package/project/.sdk/tm/dart/lib/utility/voxgig_struct.dart +7 -1
  473. package/project/.sdk/tm/dart/test/primary_test.dart +7 -0
  474. package/project/.sdk/tm/elixir/lib/utility/struct/voxgig_struct.ex +1 -1
  475. package/project/.sdk/tm/elixir/test/primary_utility_test.exs +7 -1
  476. package/project/.sdk/tm/go/feature/test_feature.go +33 -1
  477. package/project/.sdk/tm/go/test/primary_utility_test.go +41 -42
  478. package/project/.sdk/tm/go/test/runner_test.go +30 -1
  479. package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +3 -1
  480. package/project/.sdk/tm/haskell/test/Harness.hs +8 -3
  481. package/project/.sdk/tm/java/test/PrimaryUtilityTest.java +7 -24
  482. package/project/.sdk/tm/js/Makefile +1 -1
  483. package/project/.sdk/tm/js/jsconfig.json +12 -0
  484. package/project/.sdk/tm/js/src/feature/test/TestFeature.js +18 -1
  485. package/project/.sdk/tm/js/test/utility/PrimaryUtility.test.js +8 -0
  486. package/project/.sdk/tm/kotlin/test/PrimaryUtilityTest.kt +7 -20
  487. package/project/.sdk/tm/lean/LICENSE +21 -0
  488. package/project/.sdk/tm/lean/VERSION +1 -0
  489. package/project/.sdk/tm/lean/src/SdkFeature.lean +171 -0
  490. package/project/.sdk/tm/lean/src/SdkFeatures.lean +602 -0
  491. package/project/.sdk/tm/lean/src/SdkJson.lean +134 -0
  492. package/project/.sdk/tm/lean/src/SdkRuntime.lean +356 -0
  493. package/project/.sdk/tm/lean/src/SdkUtility.lean +617 -0
  494. package/project/.sdk/tm/lean/src/VoxgigStruct.lean +2880 -0
  495. package/project/.sdk/tm/lean/src/Vregex.lean +412 -0
  496. package/project/.sdk/tm/lean/src/feature/README.md +5 -0
  497. package/project/.sdk/tm/lean/src/feature/audit/.gitkeep +0 -0
  498. package/project/.sdk/tm/lean/src/feature/base/.gitkeep +0 -0
  499. package/project/.sdk/tm/lean/src/feature/cache/.gitkeep +0 -0
  500. package/project/.sdk/tm/lean/src/feature/clienttrack/.gitkeep +0 -0
  501. package/project/.sdk/tm/lean/src/feature/debug/.gitkeep +0 -0
  502. package/project/.sdk/tm/lean/src/feature/idempotency/.gitkeep +0 -0
  503. package/project/.sdk/tm/lean/src/feature/log/.gitkeep +0 -0
  504. package/project/.sdk/tm/lean/src/feature/metrics/.gitkeep +0 -0
  505. package/project/.sdk/tm/lean/src/feature/netsim/.gitkeep +0 -0
  506. package/project/.sdk/tm/lean/src/feature/paging/.gitkeep +0 -0
  507. package/project/.sdk/tm/lean/src/feature/proxy/.gitkeep +0 -0
  508. package/project/.sdk/tm/lean/src/feature/ratelimit/.gitkeep +0 -0
  509. package/project/.sdk/tm/lean/src/feature/rbac/.gitkeep +0 -0
  510. package/project/.sdk/tm/lean/src/feature/retry/.gitkeep +0 -0
  511. package/project/.sdk/tm/lean/src/feature/streaming/.gitkeep +0 -0
  512. package/project/.sdk/tm/lean/src/feature/telemetry/.gitkeep +0 -0
  513. package/project/.sdk/tm/lean/src/feature/test/.gitkeep +0 -0
  514. package/project/.sdk/tm/lean/src/feature/timeout/.gitkeep +0 -0
  515. package/project/.sdk/tm/lean/test/StructCorpus.lean +697 -0
  516. package/project/.sdk/tm/lean/test/TFeature.lean +268 -0
  517. package/project/.sdk/tm/lean/test/TPrimaryUtility.lean +349 -0
  518. package/project/.sdk/tm/lua/test/primary_utility_test.lua +10 -8
  519. package/project/.sdk/tm/ocaml/Makefile +5 -1
  520. package/project/.sdk/tm/perl/t/primary_utility.t +8 -17
  521. package/project/.sdk/tm/php/test/PrimaryUtilityTest.php +9 -7
  522. package/project/.sdk/tm/php/utility/struct/Struct.php +1 -1
  523. package/project/.sdk/tm/py/feature/test_feature.py +28 -1
  524. package/project/.sdk/tm/py/test/test_primary_utility.py +13 -18
  525. package/project/.sdk/tm/py/utility/voxgig_struct/voxgig_struct.py +1 -1
  526. package/project/.sdk/tm/rb/feature/test_feature.rb +24 -1
  527. package/project/.sdk/tm/rb/test/primary_utility_test.rb +7 -8
  528. package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +1 -1
  529. package/project/.sdk/tm/rust/tests/common/mod.rs +37 -1
  530. package/project/.sdk/tm/rust/tests/primary_utility_test.rs +12 -26
  531. package/project/.sdk/tm/scala/sdktest/SdkTestMain.scala +8 -59
  532. package/project/.sdk/tm/swift/Tests/ProjectNameSDKTests/PrimaryUtilityTest.swift +7 -8
  533. package/project/.sdk/tm/ts/Makefile +1 -1
  534. package/project/.sdk/tm/ts/src/feature/test/TestFeature.ts +18 -1
  535. package/project/.sdk/tm/ts/test/utility/PrimaryUtility.test.ts +65 -21
  536. package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +1 -1
  537. package/src/cmp/Entity.ts +5 -1
  538. package/src/cmp/Feature.ts +2 -1
  539. package/src/cmp/ReadmeErrors.ts +2 -2
  540. package/src/cmp/ReadmeExplanation.ts +3 -3
  541. package/src/cmp/ReadmeTop.ts +2 -2
  542. package/src/helpers/canonType.ts +121 -25
  543. package/src/helpers/collectDeps.ts +39 -12
  544. package/src/helpers/naming.ts +106 -0
  545. package/src/helpers/opExample.ts +43 -20
  546. package/src/helpers/opShape.ts +197 -11
  547. package/src/sdkgen.ts +13 -3
  548. package/src/tsconfig.json +2 -0
  549. package/project/.sdk/tm/zig/build.zig.zon +0 -11
@@ -0,0 +1,387 @@
1
+
2
+ import { cmp, each, Content, canonToType, canonKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
+
4
+ import {
5
+ KIT,
6
+ getModelPath,
7
+ } from '@voxgig/apidef'
8
+
9
+ import { swiftVarName } from './utility_swift'
10
+
11
+
12
+ // Type names come from the shared canonToType 'swift' column (single source of truth).
13
+
14
+ // A type-correct Swift `Value` literal for a field's canonical type.
15
+ function swiftLit(type: any, placeholder: string = 'example'): string {
16
+ const k = canonKey(type)
17
+ if ('INTEGER' === k) return '.int(1)'
18
+ if ('NUMBER' === k) return '.double(1.0)'
19
+ if ('BOOLEAN' === k) return '.bool(true)'
20
+ if ('ARRAY' === k) return '.list([])'
21
+ if ('OBJECT' === k) return '.map(VMap())'
22
+ return `.string("${placeholder}")`
23
+ }
24
+
25
+
26
+ const OP_SIGNATURES: Record<string, { sig: string, returns: string, desc: string }> = {
27
+ load: {
28
+ sig: 'load(reqmatch, ctrl) throws -> Value',
29
+ returns: 'the entity data',
30
+ desc: 'Load a single entity matching the given criteria. Returns the entity data and throws on error.',
31
+ },
32
+ list: {
33
+ sig: 'list(reqmatch, ctrl) throws -> Value',
34
+ returns: 'a Value list of entities',
35
+ desc: 'List entities matching the given criteria. The match is optional — call `list(nil, nil)` to list all records. Returns a Value list and throws on error.',
36
+ },
37
+ create: {
38
+ sig: 'create(reqdata, ctrl) throws -> Value',
39
+ returns: 'the created entity data',
40
+ desc: 'Create a new entity with the given data. Returns the created entity data and throws on error.',
41
+ },
42
+ update: {
43
+ sig: 'update(reqdata, ctrl) throws -> Value',
44
+ returns: 'the updated entity data',
45
+ desc: 'Update an existing entity. The data must include the entity `id`. Returns the updated entity data and throws on error.',
46
+ },
47
+ remove: {
48
+ sig: 'remove(reqmatch, ctrl) throws -> Value',
49
+ returns: 'the removed entity data',
50
+ desc: 'Remove the entity matching the given criteria. Throws on error.',
51
+ },
52
+ }
53
+
54
+
55
+ const ReadmeRef = cmp(function ReadmeRef(props: any) {
56
+ const { target } = props
57
+ const { model } = props.ctx$
58
+
59
+ const SDK = model.const.Name + 'SDK'
60
+
61
+ const entity = getModelPath(model, `main.${KIT}.entity`)
62
+ const feature = getModelPath(model, `main.${KIT}.feature`)
63
+
64
+ const publishedEntities = each(entity).filter((e: any) => e.active !== false)
65
+
66
+
67
+ File({ name: 'REFERENCE.md' }, () => {
68
+
69
+ Content(`# ${model.Name} ${target.title} SDK Reference
70
+
71
+ Complete API reference for the ${model.Name} ${target.title} SDK.
72
+
73
+
74
+ ## ${SDK}
75
+
76
+ ### Constructor
77
+
78
+ `)
79
+
80
+ Content(`\`\`\`swift
81
+ let client = ${SDK}(options)
82
+ \`\`\`
83
+
84
+ Create a new SDK client instance. \`options\` is a \`VMap\` of \`Value\`.
85
+
86
+ **Parameters:**
87
+
88
+ | Name | Type | Description |
89
+ | --- | --- | --- |
90
+ | \`options\` | \`VMap\` | SDK configuration options. |
91
+ ${isAuthActive(model) ? '| \`options["apikey"]\` | \`String\` | API key for authentication. |\n' : ''}| \`options["base"]\` | \`String\` | Base URL for API requests. |
92
+ | \`options["prefix"]\` | \`String\` | URL prefix appended after base. |
93
+ | \`options["suffix"]\` | \`String\` | URL suffix appended after path. |
94
+ | \`options["headers"]\` | \`VMap\` | Custom headers for all requests. |
95
+ | \`options["feature"]\` | \`VMap\` | Feature configuration. |
96
+ | \`options["system"]\` | \`VMap\` | System overrides (e.g. custom fetch). |
97
+
98
+ `)
99
+
100
+
101
+ Content(`
102
+ ### Static Methods
103
+
104
+ `)
105
+
106
+ Content(`#### \`${SDK}.testSDK(testopts, sdkopts)\`
107
+
108
+ Create a test client with mock features active. Both arguments may be \`nil\`.
109
+
110
+ \`\`\`swift
111
+ let client = ${SDK}.testSDK(nil, nil)
112
+ \`\`\`
113
+
114
+ `)
115
+
116
+
117
+ Content(`
118
+ ### Instance Methods
119
+
120
+ `)
121
+
122
+
123
+ // Entity factory methods
124
+ publishedEntities.map((ent: any) => {
125
+ Content(`#### \`${ent.Name}(entopts)\`
126
+
127
+ Create a new \`${ent.Name}\` entity instance. Pass \`nil\` for no initial
128
+ options.
129
+
130
+ `)
131
+ })
132
+
133
+
134
+ Content(`#### \`optionsMap() -> VMap\`
135
+
136
+ Return a deep copy of the current SDK options.
137
+
138
+ #### \`getUtility() -> Utility\`
139
+
140
+ Return a copy of the SDK utility object.
141
+
142
+ #### \`direct(fetchargs) -> VMap\`
143
+
144
+ Make a direct HTTP request to any API endpoint. Returns a result \`VMap\`
145
+ with \`ok\`, \`status\`, \`headers\`, and \`data\` (or \`err\` on failure).
146
+ This escape hatch never throws — branch on \`result.entries["ok"]\`.
147
+
148
+ **Parameters:**
149
+
150
+ | Name | Type | Description |
151
+ | --- | --- | --- |
152
+ | \`fetchargs["path"]\` | \`String\` | URL path with optional \`{param}\` placeholders. |
153
+ | \`fetchargs["method"]\` | \`String\` | HTTP method (default: \`"GET"\`). |
154
+ | \`fetchargs["params"]\` | \`VMap\` | Path parameter values. |
155
+ | \`fetchargs["query"]\` | \`VMap\` | Query string parameters. |
156
+ | \`fetchargs["headers"]\` | \`VMap\` | Request headers (merged with defaults). |
157
+ | \`fetchargs["body"]\` | \`Value\` | Request body (maps are JSON-serialized). |
158
+
159
+ **Returns:** \`VMap\`
160
+
161
+ #### \`prepare(fetchargs) throws -> VMap\`
162
+
163
+ Prepare a fetch definition without sending. Returns the \`fetchdef\` and throws on error.
164
+
165
+ `)
166
+
167
+
168
+ // Entity reference sections
169
+ publishedEntities.map((ent: any) => {
170
+ const opnames = Object.keys(ent.op || {})
171
+ const fields = ent.fields || []
172
+ // Model-driven id key: null when this entity has no id-like field.
173
+ const idF = entityIdField(ent)
174
+ // Sanitise the local variable name — swiftVarName guards Swift keywords.
175
+ const eVar = swiftVarName(ent.name)
176
+ const accessor = ent.Name
177
+
178
+ Content(`
179
+ ---
180
+
181
+ ## ${ent.Name}
182
+
183
+ `)
184
+
185
+ if (ent.short) {
186
+ Content(`${ent.short}
187
+
188
+ `)
189
+ }
190
+
191
+ Content(`\`\`\`swift
192
+ let ${eVar} = client.${accessor}()
193
+ \`\`\`
194
+
195
+ `)
196
+
197
+
198
+ // Field schema
199
+ if (fields.length > 0) {
200
+ Content(`### Fields
201
+
202
+ | Field | Type | Required | Description |
203
+ | --- | --- | --- | --- |
204
+ `)
205
+ each(fields, (field: any) => {
206
+ const req = field.req ? 'Yes' : 'No'
207
+ const desc = field.short || ''
208
+ Content(`| \`${field.name}\` | \`${canonToType(field.type, target.name)}\` | ${req} | ${desc} |
209
+ `)
210
+ })
211
+
212
+ Content(`
213
+ `)
214
+
215
+ // Field operations breakdown
216
+ const hasFieldOps = fields.some((f: any) => f.op && Object.keys(f.op).length > 0)
217
+ if (hasFieldOps) {
218
+ const opcols = ['load', 'list', 'create', 'update', 'remove']
219
+ .filter((op: string) => opnames.includes(op) && ent.op[op]?.active !== false)
220
+ Content(`### Field Usage by Operation
221
+
222
+ | Field | ${opcols.join(' | ')} |
223
+ | --- | ${opcols.map(() => '---').join(' | ')} |
224
+ `)
225
+ each(fields, (field: any) => {
226
+ const fops = field.op || {}
227
+ const cols = opcols.map((op: string) => {
228
+ const fop = fops[op]
229
+ if (null == fop) return '-'
230
+ if (fop.active === false) return '-'
231
+ return 'Yes'
232
+ })
233
+ Content(`| \`${field.name}\` | ${cols.join(' | ')} |
234
+ `)
235
+ })
236
+
237
+ Content(`
238
+ `)
239
+ }
240
+ }
241
+
242
+
243
+ // Operation details
244
+ if (opnames.length > 0) {
245
+ Content(`### Operations
246
+
247
+ `)
248
+
249
+ opnames.map((opname: string) => {
250
+ const info = OP_SIGNATURES[opname]
251
+ if (!info) return
252
+
253
+ Content(`#### \`${info.sig}\`
254
+
255
+ ${info.desc}
256
+
257
+ `)
258
+
259
+ if ('load' === opname || 'remove' === opname) {
260
+ const matchItems = opRequestShape(ent, opname).items
261
+ .filter((it: any) => !it.optional || it.name === idF)
262
+ .sort((a: any, b: any) =>
263
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
264
+ const arg = 0 < matchItems.length
265
+ ? `VMap([${matchItems.map((it: any) =>
266
+ `("${it.name}", ${swiftLit(it.type,
267
+ it.name === idF ? ent.name + '_id' : it.name)})`).join(', ')}])`
268
+ : 'nil'
269
+ Content(`\`\`\`swift
270
+ let result = try client.${accessor}().${opname}(${arg}, nil)
271
+ \`\`\`
272
+
273
+ `)
274
+ }
275
+ else if ('list' === opname) {
276
+ Content(`\`\`\`swift
277
+ let results = try client.${accessor}().list(nil, nil)
278
+ print(results)
279
+ \`\`\`
280
+
281
+ `)
282
+ }
283
+ else if ('create' === opname) {
284
+ const createItems = opRequestShape(ent, 'create').items
285
+ .filter((it: any) => !it.optional)
286
+ Content(`\`\`\`swift
287
+ let result = try client.${accessor}().create(VMap([
288
+ `)
289
+ createItems.map((it: any, i: number) => {
290
+ const comma = i < createItems.length - 1 ? ',' : ''
291
+ Content(` ("${it.name}", ${swiftLit(it.type, 'example_' + it.name)})${comma} // ${canonToType(it.type, target.name)}
292
+ `)
293
+ })
294
+ Content(`]), nil)
295
+ \`\`\`
296
+
297
+ `)
298
+ }
299
+ else if ('update' === opname) {
300
+ const updateItems = opRequestShape(ent, 'update').items
301
+ .filter((it: any) => !it.optional || it.name === idF)
302
+ .sort((a: any, b: any) =>
303
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
304
+ const updateLines = updateItems.map((it: any, i: number) => {
305
+ const comma = i < updateItems.length - 1 ? ',' : ''
306
+ return ` ("${it.name}", ${swiftLit(it.type,
307
+ it.name === idF ? ent.name + '_id' : it.name)})${comma}\n`
308
+ }).join('')
309
+ Content(`\`\`\`swift
310
+ let result = try client.${accessor}().update(VMap([
311
+ ${updateLines}]), nil)
312
+ \`\`\`
313
+
314
+ `)
315
+ }
316
+ })
317
+ }
318
+
319
+
320
+ // Common methods
321
+ Content(`### Common Methods
322
+
323
+ #### \`data(newdata?) -> Value\`
324
+
325
+ Get or set the entity data.
326
+
327
+ #### \`matchv(newmatch?) -> Value\`
328
+
329
+ Get or set the entity match criteria.
330
+
331
+ #### \`make() -> Entity\`
332
+
333
+ Create a new \`${ent.Name}\` entity instance with the same options.
334
+
335
+ #### \`getName() -> String\`
336
+
337
+ Return the entity name.
338
+
339
+ `)
340
+ })
341
+
342
+
343
+ // Features section
344
+ const activeFeatures = each(feature).filter((f: any) => f.active)
345
+ if (activeFeatures.length > 0) {
346
+ Content(`
347
+ ---
348
+
349
+ ## Features
350
+
351
+ | Feature | Version | Description |
352
+ | --- | --- | --- |
353
+ `)
354
+
355
+ activeFeatures.map((f: any) => {
356
+ Content(`| \`${f.name}\` | ${f.version || '0.0.1'} | ${f.title || ''} |
357
+ `)
358
+ })
359
+
360
+ Content(`
361
+
362
+ Features are activated via the \`feature\` option:
363
+
364
+ `)
365
+
366
+ Content(`\`\`\`swift
367
+ let feature = VMap()
368
+ `)
369
+ activeFeatures.map((f: any) => {
370
+ Content(`feature.entries["${f.name}"] = .map([("active", .bool(true))])
371
+ `)
372
+ })
373
+ Content(`let options = VMap()
374
+ options.entries["feature"] = .map(feature)
375
+ let client = ${SDK}(options)
376
+ \`\`\`
377
+
378
+ `)
379
+ }
380
+
381
+ })
382
+ })
383
+
384
+
385
+ export {
386
+ ReadmeRef
387
+ }
@@ -0,0 +1,24 @@
1
+
2
+ import { cmp, Content } from '@voxgig/sdkgen'
3
+
4
+
5
+ const ReadmeTopHowto = cmp(function ReadmeTopHowto(props: any) {
6
+ const { target } = props
7
+
8
+ Content(`**Swift:**
9
+ \`\`\`swift
10
+ let result = client.direct(VMap([
11
+ ("path", .string("/api/resource/{id}")),
12
+ ("method", .string("GET")),
13
+ ("params", .map([("id", .string("example"))])),
14
+ ]))
15
+ \`\`\`
16
+
17
+ `)
18
+
19
+ })
20
+
21
+
22
+ export {
23
+ ReadmeTopHowto
24
+ }
@@ -0,0 +1,105 @@
1
+
2
+ import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
+
4
+ import {
5
+ KIT,
6
+ getModelPath,
7
+ nom,
8
+ } from '@voxgig/apidef'
9
+
10
+ import { swiftVarName } from './utility_swift'
11
+
12
+
13
+ // A type-correct Swift `Value` literal for a param: numeric/boolean/array/
14
+ // object params render a typed literal; strings render the quoted placeholder.
15
+ // The SDK's loose object model means every value is a `Value` inside a `VMap`.
16
+ function swiftLit(type: any, placeholder: string = 'example'): string {
17
+ const k = canonKey(type)
18
+ if ('INTEGER' === k) return '.int(1)'
19
+ if ('NUMBER' === k) return '.double(1.0)'
20
+ if ('BOOLEAN' === k) return '.bool(true)'
21
+ if ('ARRAY' === k) return '.list([])'
22
+ if ('OBJECT' === k) return '.map(VMap())'
23
+ return `.string("${placeholder}")`
24
+ }
25
+
26
+
27
+ const ReadmeTopQuick = cmp(function ReadmeTopQuick(props: any) {
28
+ const { target, ctx$: { model } } = props
29
+
30
+ const SDK = model.const.Name + 'SDK'
31
+ const MODULE = model.const.Name + 'Sdk'
32
+
33
+ const entity = getModelPath(model, `main.${KIT}.entity`)
34
+
35
+ const exampleEntity = Object.values(entity).find((e: any) => e.active !== false) as any
36
+
37
+ const authActive = isAuthActive(model)
38
+
39
+ Content(`\`\`\`swift
40
+ import ${MODULE}
41
+
42
+ `)
43
+
44
+ if (authActive) {
45
+ Content(`let options = VMap()
46
+ options.entries["apikey"] = .string(
47
+ ProcessInfo.processInfo.environment["${envName(model)}_APIKEY"] ?? "")
48
+ let client = ${SDK}(options)
49
+
50
+ `)
51
+ }
52
+ else {
53
+ Content(`let client = ${SDK}()
54
+
55
+ `)
56
+ }
57
+
58
+ if (exampleEntity) {
59
+ const eName = nom(exampleEntity, 'Name')
60
+ const eVar = swiftVarName(exampleEntity.name)
61
+ const eNameLower = eName.toLowerCase()
62
+ const opnames = Object.keys(exampleEntity.op || {})
63
+ // Model-driven id key: null when the entity has no id-like field, in which
64
+ // case the load example takes an empty match.
65
+ const idF = entityIdField(exampleEntity)
66
+
67
+ if (opnames.includes('list')) {
68
+ Content(`// List all ${eNameLower}s (returns a Value list, throws on error)
69
+ let ${eVar}List = try client.${eName}().list(nil, nil)
70
+ for ${eVar} in ${eVar}List.asList?.items ?? [] {
71
+ print(${eVar})
72
+ }
73
+ `)
74
+ }
75
+
76
+ if (opnames.includes('load')) {
77
+ // Every REQUIRED load-match key (id first, then parent path params like
78
+ // page_id) — the same shape the runtime resolves path params from, so
79
+ // the example always works.
80
+ const loadItems = opRequestShape(exampleEntity, 'load').items
81
+ .filter((it: any) => !it.optional || it.name === idF)
82
+ .sort((a: any, b: any) =>
83
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
84
+ const loadArg = 0 < loadItems.length
85
+ ? `VMap([${loadItems.map((it: any) =>
86
+ `("${it.name}", ${swiftLit(it.type,
87
+ it.name === idF ? 'example_id' : 'example_' + it.name)})`).join(', ')}])`
88
+ : 'nil'
89
+ Content(`
90
+ // Load a specific ${eNameLower} (returns the record, throws on error)
91
+ let ${eVar} = try client.${eName}().load(${loadArg}, nil)
92
+ print(${eVar})
93
+ `)
94
+ }
95
+ }
96
+
97
+ Content(`\`\`\`
98
+ `)
99
+
100
+ })
101
+
102
+
103
+ export {
104
+ ReadmeTopQuick
105
+ }
@@ -0,0 +1,77 @@
1
+
2
+ import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
+
4
+ import {
5
+ KIT,
6
+ getModelPath,
7
+ } from '@voxgig/apidef'
8
+
9
+ import { swiftVarName } from './utility_swift'
10
+
11
+
12
+ // A type-correct Swift `Value` literal for a field's canonical type.
13
+ function swiftLit(type: any): string {
14
+ const k = canonKey(type)
15
+ if ('INTEGER' === k) return '.int(1)'
16
+ if ('NUMBER' === k) return '.double(1.0)'
17
+ if ('BOOLEAN' === k) return '.bool(true)'
18
+ if ('ARRAY' === k) return '.list([])'
19
+ if ('OBJECT' === k) return '.map(VMap())'
20
+ return '.string("example")'
21
+ }
22
+
23
+
24
+ const ReadmeTopTest = cmp(function ReadmeTopTest(props: any) {
25
+ const { target, ctx$: { model } } = props
26
+
27
+ const SDK = model.const.Name + 'SDK'
28
+
29
+ const entity = getModelPath(model, `main.${KIT}.entity`)
30
+
31
+ // Pick an entity with a real op (prefer a read op) — never fabricate a
32
+ // `load` on an op-less entity.
33
+ const { entity: exampleEntity, primaryOp } = pickExampleEntity(entity)
34
+
35
+ Content(`\`\`\`swift
36
+ let client = ${SDK}.testSDK(nil, nil)
37
+ `)
38
+
39
+ if (exampleEntity && primaryOp) {
40
+ const eName = exampleEntity.Name
41
+ const idF = entityIdField(exampleEntity)
42
+ const isMatchOp = 'load' === primaryOp || 'remove' === primaryOp
43
+ let arg = 'nil'
44
+ if (isMatchOp) {
45
+ // Every REQUIRED match key (id first) — the same shape that generates
46
+ // the op's request type, so the block stays honest.
47
+ const items = opRequestShape(exampleEntity, primaryOp).items
48
+ .filter((it: any) => !it.optional || it.name === idF)
49
+ .sort((a: any, b: any) =>
50
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
51
+ arg = 0 < items.length
52
+ ? `VMap([${items.map((it: any) =>
53
+ `("${it.name}", ${it.name === idF ? '.string("test01")' : swiftLit(it.type)})`).join(', ')}])`
54
+ : 'nil'
55
+ } else if ('create' === primaryOp || 'update' === primaryOp) {
56
+ const items = opRequestShape(exampleEntity, primaryOp).items
57
+ .filter((it: any) => it.name !== idF && it.name !== 'id')
58
+ const required = items.filter((it: any) => !it.optional)
59
+ const chosen = required.length ? required : items.slice(0, 3)
60
+ arg = `VMap([${chosen.map((it: any) =>
61
+ `("${it.name}", ${swiftLit(it.type)})`).join(', ')}])`
62
+ }
63
+ const eVar = swiftVarName(exampleEntity.name) + ('list' === primaryOp ? 'List' : '')
64
+ Content(`let ${eVar} = try client.${eName}().${primaryOp}(${arg}, nil)
65
+ print(${eVar})
66
+ `)
67
+ }
68
+
69
+ Content(`\`\`\`
70
+ `)
71
+
72
+ })
73
+
74
+
75
+ export {
76
+ ReadmeTopTest
77
+ }
@@ -24,7 +24,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
24
24
 
25
25
  const Name = model.const.Name
26
26
 
27
- const opnames = Object.keys(entity.op)
27
+ const opnames = Object.keys(entity.op || {})
28
28
  if (!opnames.includes('load') && !opnames.includes('list')) {
29
29
  return
30
30
  }
@@ -13,6 +13,7 @@ import { cmp, each, Folder } from '@voxgig/sdkgen'
13
13
 
14
14
  import { TestEntity } from './TestEntity_swift'
15
15
  import { TestDirect } from './TestDirect_swift'
16
+ import { ReadmeExamplesTest } from './ReadmeExamplesTest_swift'
16
17
 
17
18
 
18
19
  const Test = cmp(function Test(props: any) {
@@ -29,6 +30,9 @@ const Test = cmp(function Test(props: any) {
29
30
  TestEntity({ target, entity })
30
31
  TestDirect({ target, entity })
31
32
  })
33
+
34
+ // Validate the documented swift examples in the READMEs are well-formed.
35
+ ReadmeExamplesTest({ target })
32
36
  })
33
37
  })
34
38
  })
@@ -21,7 +21,7 @@ import {
21
21
  File, Content,
22
22
  } from '@voxgig/sdkgen'
23
23
 
24
- import { canonToType, opTypeName, opRequestShape } from '@voxgig/sdkgen'
24
+ import { canonToType, opTypeName, opRequestShape, warnEntityTypeCollisions , deriveEntityNames } from '@voxgig/sdkgen'
25
25
 
26
26
  import {
27
27
  KIT,
@@ -39,14 +39,27 @@ function propKey(name: string): string {
39
39
 
40
40
 
41
41
  const EntityTypes = cmp(function EntityTypes(props: any) {
42
- const { model } = props.ctx$
43
-
44
- const entity = getModelPath(model, `main.${KIT}.entity`)
45
- const entityList = each(entity).filter((e: any) => e.active !== false)
42
+ const { model, log } = props.ctx$
43
+
44
+ // only_active:false getModelPath DROPS active:false entries by default,
45
+ // but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
46
+ // collection, so inactive entities still get generated entity code that
47
+ // references these typed names. The typed model must cover them too.
48
+ const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
49
+ // Emit for EVERY entity that gets generated entity code: the consumer
50
+ // scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
51
+ // filter, so inactive entities still get class files referencing these
52
+ // typed names. Filter on `name` (always present), NOT `active` — parity
53
+ // with the go emitter's fix.
54
+ const entityList = deriveEntityNames(entity)
46
55
  // Derive the PascalCase Name up-front — it is set LAZILY by names(), so an
47
56
  // entity not yet named (e.g. a fieldless placeholder) would otherwise read
48
57
  // `Name = undefined` below. Parity with the go emitter's fix.
49
- entityList.forEach((e: any) => { if (null == e.Name) names(e, e.name) })
58
+
59
+ // Surface duplicate generated type names (two entities with the same
60
+ // PascalCase Name) — they would redeclare a type in statically-typed
61
+ // targets. Detection only; renaming is a model-level decision.
62
+ warnEntityTypeCollisions(entity, log, LANG)
50
63
 
51
64
  File({ name: model.const.Name + 'Types.' + LANG }, () => {
52
65
 
@@ -4,7 +4,7 @@ import * as Path from 'node:path'
4
4
  import {
5
5
  cmp, each, camelify, names,
6
6
  File, Content, Folder, Fragment, Line, FeatureHook, Slot,
7
- opTypeName, entityClassName,
7
+ opTypeName, entityClassName, entityCollection,
8
8
  } from '@voxgig/sdkgen'
9
9
 
10
10
  import {
@@ -24,7 +24,7 @@ const Entity = cmp(function Entity(props: any) {
24
24
  // `<Name>Entity`, disambiguated when it would clash with another entity's
25
25
  // data-type name. The DATA type stays `<Name>`. The class file name and the
26
26
  // Main import path both use this, so they always agree.
27
- const entityColl = getModelPath(model, `main.${KIT}.entity`)
27
+ const entityColl = entityCollection(model)
28
28
  const cls = entityClassName(entity, entityColl)
29
29
 
30
30
  const entrep = {
@@ -52,7 +52,7 @@ const Entity = cmp(function Entity(props: any) {
52
52
 
53
53
  File({ name: cls + '.' + target.name }, () => {
54
54
 
55
- const opnames = Object.keys(entity.op)
55
+ const opnames = Object.keys(entity.op || {})
56
56
 
57
57
  const opfrags =
58
58
  (['load', 'list', 'create', 'update', 'remove']