@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,104 @@
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 { scalaVarName, scalaPackage } from './utility_scala'
11
+
12
+
13
+ // A type-correct Scala literal for a param: numeric/boolean/array/object params
14
+ // render a typed literal; strings render the quoted placeholder. The SDK's
15
+ // loose object model means all values live in java.util.Map[String, Object].
16
+ function scalaLit(type: any, placeholder: string = 'example'): string {
17
+ const k = canonKey(type)
18
+ if ('INTEGER' === k) return '1L'
19
+ if ('NUMBER' === k) return '1.0'
20
+ if ('BOOLEAN' === k) return 'true'
21
+ if ('ARRAY' === k) return 'java.util.List.of()'
22
+ if ('OBJECT' === k) return 'java.util.Map.of()'
23
+ return `"${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
+
32
+ const entity = getModelPath(model, `main.${KIT}.entity`)
33
+
34
+ const exampleEntity = Object.values(entity).find((e: any) => e.active !== false) as any
35
+
36
+ const authActive = isAuthActive(model)
37
+
38
+ Content(`\`\`\`scala
39
+ import ${scalaPackage(model)}.core.${SDK}
40
+
41
+ `)
42
+
43
+ if (authActive) {
44
+ Content(`val options = new java.util.LinkedHashMap[String, Object]()
45
+ options.put("apikey", System.getenv("${envName(model)}_APIKEY"))
46
+ val client = new ${SDK}(options)
47
+
48
+ `)
49
+ }
50
+ else {
51
+ Content(`val client = new ${SDK}()
52
+
53
+ `)
54
+ }
55
+
56
+ if (exampleEntity) {
57
+ // Sanitise the local variable name — an entity whose camelCased name is a
58
+ // Scala keyword gets a trailing underscore (scalaVarName) so the snippet
59
+ // compiles.
60
+ const eVar = scalaVarName(exampleEntity.name)
61
+ const accessor = scalaVarName(exampleEntity.name)
62
+ const eNameLower = nom(exampleEntity, 'Name').toLowerCase()
63
+ const opnames = Object.keys(exampleEntity.op || {})
64
+ // Model-driven id key: null when the entity has no id-like field, in which
65
+ // case the load example takes an empty match.
66
+ const idF = entityIdField(exampleEntity)
67
+
68
+ if (opnames.includes('list')) {
69
+ Content(`// List all ${eNameLower}s (returns Object, an aggregate list; raises on error)
70
+ val ${eVar}List = client.${accessor}(null).list(null, null)
71
+ println(${eVar}List)
72
+ `)
73
+ }
74
+
75
+ if (opnames.includes('load')) {
76
+ // Every REQUIRED load-match key (id first, then parent path params like
77
+ // page_id) — the same shape the runtime resolves path params from, so
78
+ // the example always works.
79
+ const loadItems = opRequestShape(exampleEntity, 'load').items
80
+ .filter((it: any) => !it.optional || it.name === idF)
81
+ .sort((a: any, b: any) =>
82
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
83
+ const loadArg = 0 < loadItems.length
84
+ ? `java.util.Map.of(${loadItems.map((it: any) =>
85
+ `"${it.name}", ${scalaLit(it.type,
86
+ it.name === idF ? 'example_id' : 'example_' + it.name)}`).join(', ')})`
87
+ : 'null'
88
+ Content(`
89
+ // Load a specific ${eNameLower} (returns the record, raises on error)
90
+ val ${eVar} = client.${accessor}(null).load(${loadArg}, null)
91
+ println(${eVar})
92
+ `)
93
+ }
94
+ }
95
+
96
+ Content(`\`\`\`
97
+ `)
98
+
99
+ })
100
+
101
+
102
+ export {
103
+ ReadmeTopQuick
104
+ }
@@ -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 { scalaVarName } from './utility_scala'
10
+
11
+
12
+ // A type-correct Scala literal for a field's canonical type.
13
+ function scalaLit(type: any): string {
14
+ const k = canonKey(type)
15
+ if ('INTEGER' === k) return '1L'
16
+ if ('NUMBER' === k) return '1.0'
17
+ if ('BOOLEAN' === k) return 'true'
18
+ if ('ARRAY' === k) return 'java.util.List.of()'
19
+ if ('OBJECT' === k) return 'java.util.Map.of()'
20
+ return '"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(`\`\`\`scala
36
+ val client = ${SDK}.testSDK(null, null)
37
+ `)
38
+
39
+ if (exampleEntity && primaryOp) {
40
+ const idF = entityIdField(exampleEntity)
41
+ const isMatchOp = 'load' === primaryOp || 'remove' === primaryOp
42
+ let arg = 'null'
43
+ if (isMatchOp) {
44
+ // Every REQUIRED match key (id first) — the same shape that generates
45
+ // the op's request type, so the block stays honest.
46
+ const items = opRequestShape(exampleEntity, primaryOp).items
47
+ .filter((it: any) => !it.optional || it.name === idF)
48
+ .sort((a: any, b: any) =>
49
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
50
+ arg = 0 < items.length
51
+ ? `java.util.Map.of(${items.map((it: any) =>
52
+ `"${it.name}", ${it.name === idF ? '"test01"' : scalaLit(it.type)}`).join(', ')})`
53
+ : 'null'
54
+ } else if ('create' === primaryOp || 'update' === primaryOp) {
55
+ const items = opRequestShape(exampleEntity, primaryOp).items
56
+ .filter((it: any) => it.name !== idF && it.name !== 'id')
57
+ const required = items.filter((it: any) => !it.optional)
58
+ const chosen = required.length ? required : items.slice(0, 3)
59
+ arg = `java.util.Map.of(${chosen.map((it: any) =>
60
+ `"${it.name}", ${scalaLit(it.type)}`).join(', ')})`
61
+ }
62
+ const eVar = scalaVarName(exampleEntity.name) + ('list' === primaryOp ? 'List' : '')
63
+ const accessor = scalaVarName(exampleEntity.name)
64
+ Content(`val ${eVar} = client.${accessor}(null).${primaryOp}(${arg}, null)
65
+ println(${eVar})
66
+ `)
67
+ }
68
+
69
+ Content(`\`\`\`
70
+ `)
71
+
72
+ })
73
+
74
+
75
+ export {
76
+ ReadmeTopTest
77
+ }
@@ -65,7 +65,7 @@ const TestDirect = cmp(function TestDirect(props: any) {
65
65
  const EntityName = nom(entity, 'Name')
66
66
  const ENTLOWER = entity.name
67
67
 
68
- const opnames = Object.keys(entity.op)
68
+ const opnames = Object.keys(entity.op || {})
69
69
  const hasLoad = opnames.includes('load')
70
70
  const hasList = opnames.includes('list')
71
71
 
@@ -73,8 +73,8 @@ const TestDirect = cmp(function TestDirect(props: any) {
73
73
  return
74
74
  }
75
75
 
76
- const loadOp = (entity.op as any).load
77
- const listOp = (entity.op as any).list
76
+ const loadOp = (entity.op as any)?.load
77
+ const listOp = (entity.op as any)?.list
78
78
 
79
79
  // Load point info.
80
80
  const loadPoint = loadOp?.points?.[0]
@@ -17,6 +17,7 @@ import {
17
17
  each,
18
18
  buildIdNames,
19
19
  getMatchEntries,
20
+ entityDataIdField,
20
21
  } from '@voxgig/sdkgen'
21
22
 
22
23
 
@@ -119,6 +120,23 @@ object ${EntityName}EntityTest {
119
120
  Content(` val now = System.currentTimeMillis()
120
121
  `)
121
122
 
123
+ // Preamble bootstrap: a flow with no `create` step (e.g. a read-only
124
+ // load/list entity) has nothing to declare the standard `<ref>_data` var
125
+ // that a later load/update/remove reads its id from. Seed it from the
126
+ // shipped "existing" fixtures here, mirroring the ts generator. Guarded on a
127
+ // DATA id field — an entity that carries no id has no `.get("id")` to read.
128
+ const flowHasCreate = allSteps.some((s: any) => s.op === 'create')
129
+ const needsPreambleData = !flowHasCreate &&
130
+ null != entityDataIdField(entity) &&
131
+ allSteps.some((s: any) => ['load', 'update', 'remove'].includes(s.op))
132
+ if (needsPreambleData) {
133
+ const preambleData = scalaVarName(entity.name + '_ref01_data')
134
+ Content(` val ${preambleData}Raw = Struct.items(Helpers.toMapAny(
135
+ Struct.getpath(entityData, "existing.${ENTLOWER}")))
136
+ val ${preambleData} = Helpers.toMapAny(${preambleData}Raw.get(0).get(1))
137
+ `)
138
+ }
139
+
122
140
  // Model-driven step iteration (sorted-key order for byte-stable output).
123
141
  each(basicflow.step, (step: any, index: any) => {
124
142
  const opgen: OpGen = GENERATE_OP[step.op]
@@ -166,7 +184,7 @@ const generateCreate: OpGen = (ctx, step, index) => {
166
184
  ${datavar} = Helpers.toMapAny(${datavar}Result)
167
185
  rep.check("${ENTLOWER}.create.map", ${datavar} != null, "expected create result to be a map")
168
186
  `)
169
- if (null != entity.id) {
187
+ if (null != entityDataIdField(entity)) {
170
188
  Content(` rep.check("${ENTLOWER}.create.id", ${datavar} != null && ${datavar}.get("id") != null, "expected created entity to have an id")
171
189
  `)
172
190
  }
@@ -199,8 +217,12 @@ const generateList: OpGen = (ctx, step, index) => {
199
217
  `)
200
218
  }
201
219
 
220
+ // Select-by-id assertions require the DATA type to carry an id field
221
+ // (entityDataIdField); an entity keyed only on a load-MATCH id it does not
222
+ // return as data has no `.get("id")` to compare, so skip them.
223
+ const hasDataId = null != entityDataIdField(entity)
202
224
  const allSteps = Object.values(flow.step) as any[]
203
- const listvarUsed = !!step.valid?.some((v: any) => {
225
+ const listvarUsed = hasDataId && !!step.valid?.some((v: any) => {
204
226
  if ('ItemExists' !== v.apply && 'ItemNotExists' !== v.apply) return false
205
227
  const validRef = v.def?.ref
206
228
  return validRef && allSteps.some((s: any) => 'create' === s.op &&
@@ -222,12 +244,12 @@ const generateList: OpGen = (ctx, step, index) => {
222
244
  ((s.input.ref ?? entity.name + '_ref01') === validRef))
223
245
  const refDataVar = scalaVarName(validRef + '_data')
224
246
 
225
- if ('ItemExists' === validator.apply && hasRefData) {
247
+ if ('ItemExists' === validator.apply && hasRefData && hasDataId) {
226
248
  Content(` val ${listvar}Found = Struct.select(
227
249
  SdkTestSupport.entityListToData(${listvar}), SdkTestSupport.om("id" -> ${refDataVar}.get("id")))
228
250
  rep.check("${ENTLOWER}.list.exists", !Struct.isempty(${listvar}Found), "expected to find created entity in list")
229
251
  `)
230
- } else if ('ItemNotExists' === validator.apply && hasRefData) {
252
+ } else if ('ItemNotExists' === validator.apply && hasRefData && hasDataId) {
231
253
  Content(` val ${listvar}NotFound = Struct.select(
232
254
  SdkTestSupport.entityListToData(${listvar}), SdkTestSupport.om("id" -> ${refDataVar}.get("id")))
233
255
  rep.check("${ENTLOWER}.list.notexists", Struct.isempty(${listvar}NotFound), "expected removed entity to not be in list")
@@ -251,7 +273,7 @@ const generateUpdate: OpGen = (ctx, step, index) => {
251
273
  const needsEnt = !priorSteps.some((s: any) =>
252
274
  ['create', 'list', 'load', 'update', 'remove'].includes(s.op))
253
275
 
254
- const hasEntId = null != entity.id
276
+ const hasDataId = null != entityDataIdField(entity)
255
277
 
256
278
  Content(` // UPDATE
257
279
  `)
@@ -261,7 +283,7 @@ const generateUpdate: OpGen = (ctx, step, index) => {
261
283
  }
262
284
  Content(` val ${datavar}Up = new LinkedHashMap[String, Object]()
263
285
  `)
264
- if (hasEntId) {
286
+ if (hasDataId) {
265
287
  Content(` ${datavar}Up.put("id", ${srcdatavar}.get("id"))
266
288
  `)
267
289
  }
@@ -293,7 +315,7 @@ const generateUpdate: OpGen = (ctx, step, index) => {
293
315
  val ${resdatavar} = Helpers.toMapAny(${resdatavar}Result)
294
316
  rep.check("${ENTLOWER}.update.map", ${resdatavar} != null, "expected update result to be a map")
295
317
  `)
296
- if (hasEntId) {
318
+ if (hasDataId) {
297
319
  Content(` rep.eq("${ENTLOWER}.update.id", ${datavar}Up.get("id"), ${resdatavar}.get("id"))
298
320
  `)
299
321
  }
@@ -328,7 +350,7 @@ const generateLoad: OpGen = (ctx, step, index) => {
328
350
  return false
329
351
  })
330
352
 
331
- const hasEntId = null != entity.id
353
+ const hasDataId = null != entityDataIdField(entity)
332
354
 
333
355
  Content(` // LOAD
334
356
  `)
@@ -336,7 +358,7 @@ const generateLoad: OpGen = (ctx, step, index) => {
336
358
  Content(` val ${entvar} = client.${accessor}(null)
337
359
  `)
338
360
  }
339
- if (!hasSrcData && hasEntId) {
361
+ if (!hasSrcData && hasDataId) {
340
362
  Content(` val ${srcdatavar}Raw = Struct.items(Helpers.toMapAny(
341
363
  Struct.getpath(entityData, "existing.${ENTLOWER}")))
342
364
  val ${srcdatavar} = Helpers.toMapAny(${srcdatavar}Raw.get(0).get(1))
@@ -344,7 +366,7 @@ const generateLoad: OpGen = (ctx, step, index) => {
344
366
  }
345
367
  Content(` val ${matchvar} = new LinkedHashMap[String, Object]()
346
368
  `)
347
- if (hasEntId) {
369
+ if (hasDataId) {
348
370
  Content(` ${matchvar}.put("id", ${srcdatavar}.get("id"))
349
371
  val ${datavar}Loaded = ${entvar}.load(${matchvar}, null)
350
372
  val ${datavar}LoadResult = Helpers.toMapAny(${datavar}Loaded)
@@ -366,6 +388,12 @@ const generateRemove: OpGen = (ctx, step, index) => {
366
388
  const matchvar = scalaVarName(step.input.matchvar ?? (ref + '_match' + (step.input.suffix ?? '')))
367
389
  const srcdatavar = scalaVarName(step.input.srcdatavar ?? (ref + '_data'))
368
390
 
391
+ // The remove-by-id match reads ${srcdatavar}.get("id"); skip the whole step
392
+ // when the DATA type has no id field (there is no created id to remove by).
393
+ if (null == entityDataIdField(entity)) {
394
+ return
395
+ }
396
+
369
397
  const priorSteps = Object.values(flow.step).slice(0, Number(index)) as any[]
370
398
  const needsEnt = !priorSteps.some((s: any) =>
371
399
  ['create', 'list', 'load', 'update', 'remove'].includes(s.op))
@@ -14,6 +14,7 @@ import { cmp, each, Folder, File, Content } from '@voxgig/sdkgen'
14
14
 
15
15
  import { TestEntity } from './TestEntity_scala'
16
16
  import { TestDirect } from './TestDirect_scala'
17
+ import { ReadmeExamplesTest } from './ReadmeExamplesTest_scala'
17
18
  import { scalaPackage } from './utility_scala'
18
19
 
19
20
 
@@ -39,7 +40,7 @@ const Test = cmp(function Test(props: any) {
39
40
  getModelPath(model, `main.${KIT}.flow.Basic${EntityName}Flow`)
40
41
  const hasEntity = null != basicflow && true === basicflow.active
41
42
 
42
- const opnames = Object.keys(entity.op)
43
+ const opnames = Object.keys(entity.op || {})
43
44
  const hasDirect = opnames.includes('load') || opnames.includes('list')
44
45
 
45
46
  if (hasEntity) {
@@ -54,6 +55,11 @@ const Test = cmp(function Test(props: any) {
54
55
  }
55
56
  })
56
57
 
58
+ // Documentation scala-examples presence + structure gate over the root
59
+ // README, scala/README.md and scala/REFERENCE.md. Driven through the same
60
+ // shared report by the SdkEntityTestMain aggregator below.
61
+ ReadmeExamplesTest({ target, scalapackage })
62
+
57
63
  // Aggregating main: run every generated per-entity test through one
58
64
  // shared report and exit non-zero on any failure.
59
65
  File({ name: 'SdkEntityTestMain.' + target.ext }, () => {
@@ -79,6 +85,8 @@ object SdkEntityTestMain {
79
85
  }
80
86
  }
81
87
  Content(`
88
+ ReadmeExamplesTest.run(rep)
89
+
82
90
  rep.finish("ENTITY")
83
91
  }
84
92
  }
@@ -0,0 +1,151 @@
1
+
2
+ // Typed-model generator (Swift target). Port of EntityTypes_rust.ts /
3
+ // EntityTypes_go.ts.
4
+ //
5
+ // Reads main.<KIT>.entity.<e>.fields[] and per-op params
6
+ // (op.<name>.points[].args.params[]) and emits one file,
7
+ // Sources/ProjectNameSDK/entity/<Name>Types.swift, with a `struct <Name>` per
8
+ // entity plus a request/match struct per active op. Field/param sentinels
9
+ // ($STRING, $INTEGER, ...) map to Swift types via the SHARED canonToType
10
+ // 'swift' column (the single source of truth per language — do not keep a
11
+ // local table here).
12
+ //
13
+ // DESIGN NOTE: the Swift runtime is fully DYNAMIC — every op takes and returns
14
+ // the vendored `Value` enum (throws on error) and the op fragments emit no
15
+ // typed wrappers. These typed models are therefore DOCUMENTARY: they mirror the
16
+ // entity/op shapes for reference and IDE support, but are not wired into the op
17
+ // signatures. They compile as part of the SwiftPM target (every .swift under
18
+ // Sources/ProjectNameSDK is built) so they stay in sync with the model.
19
+ // * Optional (req:false) member -> `T?`.
20
+ // * Unknown/missing sentinel -> the dynamic `Value` (never fails), matching
21
+ // the runtime's open shape.
22
+
23
+ import {
24
+ cmp, each,
25
+ File, Content, Folder,
26
+ } from '@voxgig/sdkgen'
27
+
28
+ import { canonToType, opTypeName, opRequestShape, warnEntityTypeCollisions , deriveEntityNames } from '@voxgig/sdkgen'
29
+
30
+ import {
31
+ KIT,
32
+ getModelPath,
33
+ } from '@voxgig/apidef'
34
+
35
+ import { swiftVarName } from './utility_swift'
36
+
37
+
38
+ const LANG = 'swift'
39
+
40
+
41
+ // One Swift struct property line. `optional` -> `T?`. Property names are
42
+ // keyword-safe + lowerCamelCase via swiftVarName; duplicates are dropped by the
43
+ // caller so a struct never declares the same property twice.
44
+ function propLine(name: string, sentinel: any, optional: boolean): string {
45
+ const st = canonToType(sentinel, LANG)
46
+ const typ = optional ? `${st}?` : st
47
+ return ` public var ${swiftVarName(name)}: ${typ}\n`
48
+ }
49
+
50
+
51
+ // Emit a `struct <typeName>` from {name, type, optional} items, dropping
52
+ // duplicate Swift identifiers (two model names can collapse to one ident). An
53
+ // empty struct is a valid, zero-property shape.
54
+ function emitStruct(comment: string, typeName: string, items: any[]): void {
55
+ Content(`${comment}
56
+ public struct ${typeName} {
57
+ `)
58
+ const seen = new Set<string>()
59
+ items.forEach((it: any) => {
60
+ if (null == it || null == it.name) return
61
+ const ident = swiftVarName(it.name)
62
+ if (seen.has(ident)) return
63
+ seen.add(ident)
64
+ Content(propLine(it.name, it.type, !!it.optional))
65
+ })
66
+ Content(`}
67
+
68
+ `)
69
+ }
70
+
71
+
72
+ const EntityTypes = cmp(function EntityTypes(props: any) {
73
+ const { target } = props
74
+ const { model, log } = props.ctx$
75
+
76
+ // only_active:false — getModelPath DROPS active:false entries by default,
77
+ // but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
78
+ // collection, so inactive entities still get generated entity code that
79
+ // references these typed names. The typed model must cover them too.
80
+ const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
81
+ // Emit for every entity that gets an entity file (filter on `name`, always
82
+ // present; derive `Name` here so the struct set is deterministic — parity
83
+ // with the rust/go emitter's fix).
84
+ const entityList = deriveEntityNames(entity)
85
+
86
+ // Surface duplicate generated type names (two entities with the same
87
+ // PascalCase Name) — they would redeclare a type in statically-typed
88
+ // targets. Detection only; renaming is a model-level decision.
89
+ warnEntityTypeCollisions(entity, log, LANG)
90
+
91
+ Folder({ name: 'Sources' }, () => {
92
+ Folder({ name: 'ProjectNameSDK' }, () => {
93
+ Folder({ name: 'entity' }, () => {
94
+
95
+ File({ name: model.const.Name + 'Types.' + target.ext }, () => {
96
+
97
+ Content(`// Typed models for the ${model.const.Name} SDK.
98
+ //
99
+ // GENERATED from the API model: main.${KIT}.entity.<e>.fields[] and per-op
100
+ // params (op.<name>.points[].args.params[]). Field/param types are mapped
101
+ // from the canonical type sentinels. Do not edit by hand.
102
+ //
103
+ // These are DOCUMENTARY: the SDK runtime is dynamic (ops take/return the
104
+ // \`Value\` enum), so nothing consumes these structs yet — they mirror the
105
+ // entity/op shapes for reference and IDE support.
106
+
107
+ import Foundation
108
+
109
+ `)
110
+
111
+ entityList.forEach((ent: any) => {
112
+ const Name = ent.Name
113
+ const fields = (ent.fields ? each(ent.fields) : [])
114
+ .filter((f: any) => f.active !== false)
115
+
116
+ // Entity data model: one property per field. req:false -> optional.
117
+ emitStruct(
118
+ `/// ${Name} is the typed data model for the ${ent.name} entity.`,
119
+ Name,
120
+ fields.map((f: any) => ({ name: f.name, type: f.type, optional: false === f.req }))
121
+ )
122
+
123
+ // Per active op: a request/match struct. Members and their
124
+ // optionality come from the shared partiality policy
125
+ // (opRequestShape).
126
+ const ops = ent.op || {}
127
+ ;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
128
+ if (null == ops[opname]) {
129
+ return
130
+ }
131
+
132
+ const typeName = opTypeName(Name, opname)
133
+ const { items } = opRequestShape(ent, opname)
134
+
135
+ emitStruct(
136
+ `/// ${typeName} is the typed request payload for ${Name}.${opname}.`,
137
+ typeName,
138
+ items
139
+ )
140
+ })
141
+ })
142
+ })
143
+ })
144
+ })
145
+ })
146
+ })
147
+
148
+
149
+ export {
150
+ EntityTypes,
151
+ }
@@ -4,7 +4,7 @@ import * as Path from 'node:path'
4
4
  import {
5
5
  cmp, camelify, names,
6
6
  Content, File, Folder, Fragment,
7
- entityClassName,
7
+ entityClassName, entityCollection,
8
8
  } from '@voxgig/sdkgen'
9
9
 
10
10
  import {
@@ -20,7 +20,7 @@ const Entity = cmp(function Entity(props: any) {
20
20
  const { target, entity } = props
21
21
 
22
22
  // Collision-free entity CLASS name (see entityClassName).
23
- const entityColl = getModelPath(model, `main.${KIT}.entity`)
23
+ const entityColl = entityCollection(model)
24
24
  const cls = entityClassName(entity, entityColl)
25
25
 
26
26
  const entrep = {
@@ -38,7 +38,7 @@ const Entity = cmp(function Entity(props: any) {
38
38
 
39
39
  File({ name: cls + '.' + target.ext }, () => {
40
40
 
41
- const opnames = Object.keys(entity.op)
41
+ const opnames = Object.keys(entity.op || {})
42
42
 
43
43
  // For each CRUD op: if the spec defines it, splice in the real
44
44
  // implementation (an override). Otherwise leave the base-class
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, entityClassName } from '@voxgig/sdkgen'
2
+ import { cmp, Content, entityClassName, entityCollection } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -12,7 +12,7 @@ const MainEntity = cmp(async function MainEntity(props: any) {
12
12
  const { model } = props.ctx$
13
13
 
14
14
  // Collision-free entity CLASS name (see entityClassName).
15
- const entityColl = getModelPath(model, `main.${KIT}.entity`)
15
+ const entityColl = entityCollection(model)
16
16
  const cls = entityClassName(entity, entityColl)
17
17
 
18
18
  const Name = model.const.Name
@@ -24,6 +24,7 @@ import { Gitignore } from './Gitignore_swift'
24
24
  import { MainEntity } from './MainEntity_swift'
25
25
  import { SdkError } from './SdkError_swift'
26
26
  import { EntityBase } from './EntityBase_swift'
27
+ import { EntityTypes } from './EntityTypes_swift'
27
28
 
28
29
 
29
30
  const Main = cmp(async function Main(props: any) {
@@ -86,6 +87,10 @@ const Main = cmp(async function Main(props: any) {
86
87
  })
87
88
  })
88
89
  })
90
+
91
+ // entity/<Name>Types.swift — documentary typed models (one struct per entity
92
+ // + per op). Compiles with the SwiftPM target; nothing consumes it yet.
93
+ EntityTypes({ target })
89
94
  })
90
95
 
91
96
 
@@ -28,7 +28,7 @@ const Package = cmp(async function Package(props: any) {
28
28
  const Name = model.const.Name
29
29
 
30
30
  const deps: Record<string, string> = {}
31
- for (const d of collectDeps(model, target.name, target.deps)) {
31
+ for (const d of collectDeps(model, target.name, target.deps, ctx$.log)) {
32
32
  deps[d.name] = d.source === 'target' ? (d.version || '0.0.0') : d.version
33
33
  }
34
34
  // Vendored, dependency-free by design; declared deps (if any) are ignored