@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,79 @@
1
+
2
+ import { cmp, Content } from '@voxgig/sdkgen'
3
+
4
+
5
+ // Emit per-entity model-driven checks INTO the shared gentest run body (the
6
+ // clojure test runner drives a single sdk.gentest/run). Covers: entity
7
+ // accessor existence, a create+list smoke run through the in-memory test-mode
8
+ // mock transport (exercising the full operation pipeline, hooks and run-op),
9
+ // and the streaming entity fn. API-agnostic behaviour (pipeline error
10
+ // branches, all features, netsim, primary utility, struct corpus) lives in the
11
+ // static template test namespaces.
12
+ const TestEntity = cmp(function TestEntity(props: any) {
13
+ const e = props.entity
14
+
15
+ const ops = Object.keys(e.op || {})
16
+ const hasCreate = ops.includes('create')
17
+ const hasList = ops.includes('list')
18
+
19
+ // Accessor existence.
20
+ Content(` (t/run-check rec "gen-exists-${e.name}"
21
+ (fn [] (let [sdk (api/test-sdk nil nil)]
22
+ (t/is-true (some? (api/${e.name} sdk nil)) "${e.name} accessor present"))))
23
+ `)
24
+
25
+ // create+list smoke run through the mock transport.
26
+ if (hasCreate || hasList) {
27
+ Content(` (t/run-check rec "gen-smoke-${e.name}"
28
+ (fn [] (let [sdk (api/test-sdk nil nil)
29
+ ent (api/${e.name} sdk nil)]
30
+ `)
31
+ if (hasCreate) {
32
+ Content(` (let [res (e-${e.name}/create ent (vs/jm "name" "smoke") nil)]
33
+ (t/is-true (vs/ismap res) "create returns a record map")
34
+ (t/is-true (some? (vs/getprop res "id")) "created record has an id"))
35
+ `)
36
+ }
37
+ if (hasList) {
38
+ Content(` (let [items (e-${e.name}/list ent (vs/jm) nil)]
39
+ (t/is-true (sequential? items) "list returns a sequential collection"))
40
+ `)
41
+ }
42
+ Content(` )))
43
+ `)
44
+ }
45
+
46
+ // stream(action, args, callopts): runs the op through the full pipeline and
47
+ // returns a lazy seq of items. Seeds three records via the test mock and
48
+ // streams them; needs only a list op.
49
+ if (hasList) {
50
+ Content(` (t/run-check rec "gen-stream-${e.name}"
51
+ (fn [] (let [seed (vs/jm "${e.name}" (vs/jm "S1" (vs/jm "id" "S1" "name" "a")
52
+ "S2" (vs/jm "id" "S2" "name" "b")
53
+ "S3" (vs/jm "id" "S3" "name" "c")))]
54
+ ;; Fallback (no streaming feature): materialised items.
55
+ (let [sdk (api/test-sdk (vs/jm "entity" seed) nil)
56
+ items (vec (e-${e.name}/stream (api/${e.name} sdk nil) "list" (vs/jm) nil))]
57
+ (t/is-eq (count items) 3 "stream fallback yields materialised items")
58
+ (t/is-true (vs/ismap (first items)) "stream yields bare record maps"))
59
+ ;; signal cancels iteration between yields.
60
+ (let [sdk (api/test-sdk (vs/jm "entity" seed) nil)
61
+ n (atom 0) sig (fn [] (>= (swap! n inc) 2))
62
+ items (vec (e-${e.name}/stream (api/${e.name} sdk nil) "list" (vs/jm) (vs/jm "signal" sig)))]
63
+ (t/is-eq (count items) 1 "stream signal stops after first yield"))
64
+ ;; Streaming feature active: yields from the streaming iterator.
65
+ (when (vs/getpath (config/make-config) "feature.streaming")
66
+ (let [ssdk (api/test-sdk (vs/jm "entity" seed) (vs/jm "feature" (vs/jm "streaming" (vs/jm "active" true))))]
67
+ (t/is-eq (count (vec (e-${e.name}/stream (api/${e.name} ssdk nil) "list" (vs/jm) nil))) 3
68
+ "stream (streaming active) yields all items"))
69
+ (let [csdk (api/test-sdk (vs/jm "entity" seed) (vs/jm "feature" (vs/jm "streaming" (vs/jm "active" true "chunkSize" 2))))
70
+ batches (vec (e-${e.name}/stream (api/${e.name} csdk nil) "list" (vs/jm) nil))]
71
+ (t/is-eq (count batches) 2 "stream chunkSize groups items into 2 batches"))))))
72
+ `)
73
+ }
74
+ })
75
+
76
+
77
+ export {
78
+ TestEntity
79
+ }
@@ -10,20 +10,24 @@ import type {
10
10
 
11
11
  import { cmp, each, File, Content, Folder } from '@voxgig/sdkgen'
12
12
 
13
+ import { TestEntity } from './TestEntity_clojure'
14
+ import { TestDirect } from './TestDirect_clojure'
15
+ import { ReadmeExamplesTest } from './ReadmeExamplesTest_clojure'
16
+
13
17
 
14
18
  // Generates sdk/gentest.clj (ns sdk.gentest): the API-specific tests, driven by
15
- // the model. Exposes (run rec) which the template test-runner invokes. Covers
16
- // entity accessor existence plus a create+list smoke run through the in-memory
17
- // test-mode mock transport (exercising the full operation pipeline, hooks and
18
- // run-op for the actual API entities). API-agnostic behaviour (pipeline error
19
- // branches, all features, netsim, primary utility, struct corpus) lives in the
20
- // static template test namespaces.
19
+ // the model. Exposes (run rec) which the template test-runner invokes. This is
20
+ // the orchestrator: it emits the namespace form and the single (run rec) entry
21
+ // point, then delegates the per-entity checks to TestEntity (accessor +
22
+ // create/list smoke + stream) and TestDirect (prepare + direct escape hatch),
23
+ // and finally the documentation clojure-examples syntax gate (ReadmeExamples).
24
+ // API-agnostic behaviour (pipeline error branches, all features, netsim,
25
+ // primary utility, struct corpus) lives in the static template test namespaces.
21
26
  const Test = cmp(function Test(props: any) {
22
27
  const { model } = props.ctx$
23
28
  const { target } = props
24
29
 
25
30
  const entity: ModelEntity = getModelPath(model, `main.${KIT}.entity`)
26
- const entities = Object.values(entity) as any[]
27
31
 
28
32
  Folder({ name: 'test' }, () => {
29
33
  Folder({ name: 'sdk' }, () => {
@@ -39,73 +43,25 @@ const Test = cmp(function Test(props: any) {
39
43
  (:require [sdk.api :as api]
40
44
  [sdk.config :as config]
41
45
  [sdk.testutil :as t]
46
+ [clojure.string]
42
47
  [voxgig.struct :as vs]${requires}))
43
48
 
44
49
  (defn run [rec]
45
50
  `)
46
51
 
52
+ // Per-entity accessor / create+list smoke / stream checks
53
+ // (sorted-key order via each() keeps output byte-stable).
47
54
  each(entity, (e: any) => {
48
- Content(` (t/run-check rec "gen-exists-${e.name}"
49
- (fn [] (let [sdk (api/test-sdk nil nil)]
50
- (t/is-true (some? (api/${e.name} sdk nil)) "${e.name} accessor present"))))
51
- `)
55
+ TestEntity({ target, entity: e })
52
56
  })
53
57
 
54
- for (const e of entities) {
55
- const ops = Object.keys(e.op || {})
56
- const hasCreate = ops.includes('create')
57
- const hasList = ops.includes('list')
58
- if (!hasCreate && !hasList) {
59
- continue
60
- }
61
- Content(` (t/run-check rec "gen-smoke-${e.name}"
62
- (fn [] (let [sdk (api/test-sdk nil nil)
63
- ent (api/${e.name} sdk nil)]
64
- `)
65
- if (hasCreate) {
66
- Content(` (let [res (e-${e.name}/create ent (vs/jm "name" "smoke") nil)]
67
- (t/is-true (vs/ismap res) "create returns a record map")
68
- (t/is-true (some? (vs/getprop res "id")) "created record has an id"))
69
- `)
70
- }
71
- if (hasList) {
72
- Content(` (let [items (e-${e.name}/list ent (vs/jm) nil)]
73
- (t/is-true (sequential? items) "list returns a sequential collection"))
74
- `)
75
- }
76
- Content(` )))
77
- `)
58
+ // Per-entity direct()/prepare() escape-hatch checks.
59
+ each(entity, (e: any) => {
60
+ TestDirect({ target, entity: e })
61
+ })
78
62
 
79
- // PR review #4: entity stream(action, args, callopts). Runs the op
80
- // through the full pipeline and returns a lazy seq of items. Seeds
81
- // three records via the test mock (SDK.test entity seed) and streams
82
- // them; needs only a list op.
83
- if (hasList) {
84
- Content(` (t/run-check rec "gen-stream-${e.name}"
85
- (fn [] (let [seed (vs/jm "${e.name}" (vs/jm "S1" (vs/jm "id" "S1" "name" "a")
86
- "S2" (vs/jm "id" "S2" "name" "b")
87
- "S3" (vs/jm "id" "S3" "name" "c")))]
88
- ;; Fallback (no streaming feature): materialised items.
89
- (let [sdk (api/test-sdk (vs/jm "entity" seed) nil)
90
- items (vec (e-${e.name}/stream (api/${e.name} sdk nil) "list" (vs/jm) nil))]
91
- (t/is-eq (count items) 3 "stream fallback yields materialised items")
92
- (t/is-true (vs/ismap (first items)) "stream yields bare record maps"))
93
- ;; signal cancels iteration between yields.
94
- (let [sdk (api/test-sdk (vs/jm "entity" seed) nil)
95
- n (atom 0) sig (fn [] (>= (swap! n inc) 2))
96
- items (vec (e-${e.name}/stream (api/${e.name} sdk nil) "list" (vs/jm) (vs/jm "signal" sig)))]
97
- (t/is-eq (count items) 1 "stream signal stops after first yield"))
98
- ;; Streaming feature active: yields from the streaming iterator.
99
- (when (vs/getpath (config/make-config) "feature.streaming")
100
- (let [ssdk (api/test-sdk (vs/jm "entity" seed) (vs/jm "feature" (vs/jm "streaming" (vs/jm "active" true))))]
101
- (t/is-eq (count (vec (e-${e.name}/stream (api/${e.name} ssdk nil) "list" (vs/jm) nil))) 3
102
- "stream (streaming active) yields all items"))
103
- (let [csdk (api/test-sdk (vs/jm "entity" seed) (vs/jm "feature" (vs/jm "streaming" (vs/jm "active" true "chunkSize" 2))))
104
- batches (vec (e-${e.name}/stream (api/${e.name} csdk nil) "list" (vs/jm) nil))]
105
- (t/is-eq (count batches) 2 "stream chunkSize groups items into 2 batches"))))))
106
- `)
107
- }
108
- }
63
+ // Documentation clojure-examples syntax gate.
64
+ ReadmeExamplesTest({ target })
109
65
 
110
66
  Content(` nil)
111
67
  `)
@@ -0,0 +1,174 @@
1
+
2
+
3
+ // Typed-model generator (C++ target). Port of EntityTypes_ts.ts / _py.ts.
4
+ //
5
+ // The C++ SDK runtime is fully DYNAMIC: every op takes and returns the
6
+ // JSON-like sdk::Value, so — unlike a statically typed target — there are no
7
+ // generated structs the runtime consumes. This module emits a DOCUMENTATION
8
+ // header, <sdk>_types.hpp, describing the shape of each entity and its per-op
9
+ // request/match payloads as plain C++ structs in a dedicated `sdk::types`
10
+ // namespace. They are convenience/reference types a consumer MAY use to model
11
+ // payloads; the SDK itself neither includes nor requires this header, so it is
12
+ // safe (it cannot affect the runtime or the test build).
13
+ //
14
+ // Field/param sentinels ($STRING, $INTEGER, ...) map to concrete C++ types via
15
+ // the SHARED canonToType 'cpp' column (the single source of truth per language
16
+ // — do not keep a local table here). Array surfaces as std::vector<Value>,
17
+ // object as std::map<std::string, Value>, and any/null/unknown as the dynamic
18
+ // sdk::Value. Optional (req:false) members are marked with a trailing
19
+ // `// optional` comment — a struct member is always present in C++, so
20
+ // key-optionality is documented rather than encoded.
21
+ //
22
+ // Keep the SAME type-name scheme as every other language: <Name>,
23
+ // <Name>LoadMatch, <Name>ListMatch, <Name>CreateData, <Name>UpdateData,
24
+ // <Name>RemoveMatch (via the shared opTypeName helper).
25
+
26
+ import {
27
+ cmp, each, names,
28
+ File, Content,
29
+ canonToType, opTypeName, opRequestShape, warnEntityTypeCollisions,
30
+ deriveEntityNames,
31
+ } from '@voxgig/sdkgen'
32
+
33
+ import {
34
+ KIT,
35
+ getModelPath,
36
+ } from '@voxgig/apidef'
37
+
38
+
39
+ const LANG = 'cpp'
40
+
41
+
42
+ // A valid C++ identifier for a struct member; non-identifier field names have
43
+ // no safe struct-member rendering, so they are skipped (still reachable via the
44
+ // runtime Value map).
45
+ function cppIdent(name: string): boolean {
46
+ return /^[A-Za-z_][A-Za-z0-9_]*$/.test(name)
47
+ }
48
+
49
+
50
+ // Emit a struct named `typeName` from a list of {name, type, optional} items.
51
+ // An item whose name is not a legal identifier is skipped (WITH a warning —
52
+ // the key stays reachable via the runtime Value map, but its absence from the
53
+ // typed model should be visible, not silent).
54
+ function emitStruct(typeName: string, items: any[], log?: any): void {
55
+ const usable = items.filter((it: any) => it && null != it.name && cppIdent(it.name))
56
+
57
+ items.forEach((it: any) => {
58
+ if (it && null != it.name && !cppIdent(it.name) && log && log.warn) {
59
+ log.warn({
60
+ point: 'entity-types-skip-field', typeName, field: it.name,
61
+ note: `cpp: field "${it.name}" of ${typeName} has no legal C++ ` +
62
+ `identifier form; omitted from the typed model (still reachable ` +
63
+ `via the runtime Value map)`,
64
+ })
65
+ }
66
+ })
67
+
68
+ if (0 === usable.length) {
69
+ Content(`struct ${typeName} {};
70
+
71
+ `)
72
+ return
73
+ }
74
+
75
+ Content(`struct ${typeName} {
76
+ `)
77
+ usable.forEach((it: any) => {
78
+ const opt = it.optional ? ' // optional' : ''
79
+ Content(` ${canonToType(it.type, LANG)} ${it.name};${opt}
80
+ `)
81
+ })
82
+ Content(`};
83
+
84
+ `)
85
+ }
86
+
87
+
88
+ const EntityTypes = cmp(function EntityTypes(props: any) {
89
+ const { model, log } = props.ctx$
90
+ const target = props.target || {}
91
+ const ext = target.ext || 'hpp'
92
+
93
+ // only_active:false — getModelPath DROPS active:false entries by default,
94
+ // but the consumer scaffold (create-sdkgen Root.ts) iterates the RAW entity
95
+ // collection, so inactive entities still get generated entity code that
96
+ // references these typed names. The typed model must cover them too.
97
+ const entity = getModelPath(model, `main.${KIT}.entity`, { only_active: false, required: false })
98
+ // Emit for EVERY entity that gets generated entity code: the consumer
99
+ // scaffold (create-sdkgen Root.ts) iterates entities WITHOUT an active
100
+ // filter, so inactive entities still get class files referencing these
101
+ // typed names. Filter on `name` (always present), NOT `active` — parity
102
+ // with the go emitter's fix.
103
+ const entityList = deriveEntityNames(entity)
104
+ // Derive the PascalCase Name up-front — it is set LAZILY by names().
105
+
106
+ // Surface duplicate generated type names (two entities with the same
107
+ // PascalCase Name) — they would redeclare a type in statically-typed
108
+ // targets. Detection only; renaming is a model-level decision.
109
+ warnEntityTypeCollisions(entity, log, LANG)
110
+
111
+ const guard = 'SDK_' + model.const.Name.toUpperCase().replace(/[^A-Z0-9]/g, '_') + '_TYPES_HPP'
112
+
113
+ File({ name: model.const.Name.toLowerCase() + '_types.' + ext }, () => {
114
+
115
+ Content(`// Typed reference models for the ${model.const.Name} SDK (C++).
116
+ //
117
+ // GENERATED from the API model: main.${KIT}.entity.<e>.fields[] and per-op
118
+ // params. The C++ SDK runtime is Value-based, so these structs are
119
+ // DOCUMENTATION / convenience types only — the SDK neither includes nor
120
+ // requires this header. Array fields surface as std::vector<Value>, object
121
+ // fields as std::map<std::string, Value>, and any/null fields as sdk::Value.
122
+ // Optional (req:false) members are flagged with a trailing "// optional"
123
+ // comment. Do not edit by hand.
124
+
125
+ #ifndef ${guard}
126
+ #define ${guard}
127
+
128
+ #include <cstdint>
129
+ #include <map>
130
+ #include <string>
131
+ #include <vector>
132
+
133
+ #include "core/types.hpp"
134
+
135
+ namespace sdk {
136
+ namespace types {
137
+
138
+ `)
139
+
140
+ entityList.forEach((ent: any) => {
141
+ const Name = ent.Name
142
+ const fields = (ent.fields ? each(ent.fields) : [])
143
+ .filter((f: any) => f.active !== false)
144
+
145
+ // Entity data model: one member per field, `req:false` -> optional.
146
+ emitStruct(Name, fields.map((f: any) => ({
147
+ name: f.name, type: f.type, optional: false === f.req,
148
+ })), log)
149
+
150
+ // Per active op: a request/match type. Members and their optionality
151
+ // come from the shared partiality policy (opRequestShape).
152
+ const ops = ent.op || {}
153
+ ;['load', 'list', 'create', 'update', 'remove'].forEach((opname: string) => {
154
+ if (null == ops[opname]) {
155
+ return
156
+ }
157
+ const typeName = opTypeName(Name, opname)
158
+ const { items } = opRequestShape(ent, opname)
159
+ emitStruct(typeName, items, log)
160
+ })
161
+ })
162
+
163
+ Content(`} // namespace types
164
+ } // namespace sdk
165
+
166
+ #endif // ${guard}
167
+ `)
168
+ })
169
+ })
170
+
171
+
172
+ export {
173
+ EntityTypes,
174
+ }
@@ -4,7 +4,7 @@ import * as Path from 'node:path'
4
4
  import {
5
5
  cmp, camelify,
6
6
  File, Content, 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 { model, stdrep } = props.ctx$
21
21
  const { target, entity } = props
22
22
 
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 = {
@@ -33,7 +33,7 @@ const Entity = cmp(function Entity(props: any) {
33
33
 
34
34
  File({ name: cppVarName(entity.name) + '.' + target.ext }, () => {
35
35
 
36
- const opnames = Object.keys(entity.op)
36
+ const opnames = Object.keys(entity.op || {})
37
37
 
38
38
  // For each CRUD op: splice the real method if the spec defines it, else
39
39
  // a stub that satisfies the SdkEntity interface but throws at runtime.
@@ -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,
@@ -16,7 +16,7 @@ const MainEntity = cmp(async function MainEntity(props: any) {
16
16
  const { entity } = props
17
17
  const { model } = props.ctx$
18
18
 
19
- const entityColl = getModelPath(model, `main.${KIT}.entity`)
19
+ const entityColl = entityCollection(model)
20
20
  const cls = entityClassName(entity, entityColl)
21
21
  const accessor = cppVarName(entity.name)
22
22
 
@@ -23,6 +23,7 @@ import { Config } from './Config_cpp'
23
23
  import { Gitignore } from './Gitignore_cpp'
24
24
  import { MainEntity } from './MainEntity_cpp'
25
25
  import { EntityBase } from './EntityBase_cpp'
26
+ import { EntityTypes } from './EntityTypes_cpp'
26
27
 
27
28
 
28
29
  const Main = cmp(async function Main(props: any) {
@@ -49,6 +50,10 @@ const Main = cmp(async function Main(props: any) {
49
50
  // entity/entities.hpp — the entity umbrella (declares every entity header).
50
51
  EntityBase({ target })
51
52
 
53
+ // <sdk>_types.hpp — documentation/reference structs (not used by the
54
+ // Value-based runtime; safe convenience types for consumers).
55
+ EntityTypes({ target })
56
+
52
57
  Folder({ name: 'core' }, () => {
53
58
 
54
59
  Config({ target })
@@ -0,0 +1,170 @@
1
+
2
+ import { cmp, each, Content, canonToType, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
+
4
+ import {
5
+ KIT,
6
+ getModelPath,
7
+ } from '@voxgig/apidef'
8
+
9
+ import { cppVarName } from './utility_cpp'
10
+
11
+
12
+ // Type names come from the shared canonToType 'cpp' column (single source of truth).
13
+
14
+ // A type-correct C++ literal for a field's canonical type.
15
+ function cppLit(type: any, placeholder: string = 'example'): string {
16
+ const k = canonKey(type)
17
+ if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
18
+ if ('BOOLEAN' === k) return 'Value(true)'
19
+ if ('ARRAY' === k) return 'vlist()'
20
+ if ('OBJECT' === k) return 'vmap()'
21
+ return `Value("${placeholder}")`
22
+ }
23
+
24
+
25
+ // Operation method spellings for the C++ target: lowercase methods that take a
26
+ // request Value plus the ctrl Value, returning sdk::Value.
27
+ const OP_DESC: Record<string, { method: string, desc: string }> = {
28
+ load: { method: 'load(match, ctrl)', desc: 'Load a single entity by match criteria.' },
29
+ list: { method: 'list(match, ctrl)', desc: 'List entities, optionally matching the given criteria.' },
30
+ create: { method: 'create(data, ctrl)', desc: 'Create a new entity with the given data.' },
31
+ update: { method: 'update(data, ctrl)', desc: 'Update an existing entity.' },
32
+ remove: { method: 'remove(match, ctrl)', desc: 'Remove the matching entity.' },
33
+ }
34
+
35
+
36
+ const ReadmeEntity = cmp(function ReadmeEntity(props: any) {
37
+ const { target } = props
38
+ const { model } = props.ctx$
39
+
40
+ const entity = getModelPath(model, `main.${KIT}.entity`)
41
+
42
+ const publishedEntities = each(entity)
43
+ .filter((entity: any) => entity.active !== false)
44
+
45
+ if (0 === publishedEntities.length) {
46
+ return
47
+ }
48
+
49
+ Content(`
50
+
51
+ ## Entities
52
+
53
+ `)
54
+
55
+ publishedEntities.map((entity: any) => {
56
+ const opnames = Object.keys(entity.op || {})
57
+ const fields = entity.fields || []
58
+ // Model-driven id key: null when this entity has no id-like field.
59
+ const idF = entityIdField(entity)
60
+ // The client accessor is the entity's snake_case name (client->planet()).
61
+ const acc = cppVarName(entity.name)
62
+ const eVar = acc
63
+
64
+ Content(`
65
+ ### ${entity.Name}
66
+
67
+ `)
68
+
69
+ if (entity.short) {
70
+ Content(`${entity.short}
71
+
72
+ `)
73
+ }
74
+
75
+ Content(`Create an instance: \`auto ${eVar} = client->${acc}();\`
76
+
77
+ `)
78
+
79
+ if (opnames.length > 0) {
80
+ Content(`#### Operations
81
+
82
+ | Method | Description |
83
+ | --- | --- |
84
+ `)
85
+ opnames.map((opname: string) => {
86
+ const info = OP_DESC[opname]
87
+ if (info) {
88
+ Content(`| \`${info.method}\` | ${info.desc} |
89
+ `)
90
+ }
91
+ })
92
+
93
+ Content(`
94
+ `)
95
+ }
96
+
97
+ if (fields.length > 0) {
98
+ Content(`#### Fields
99
+
100
+ | Field | Type | Description |
101
+ | --- | --- | --- |
102
+ `)
103
+
104
+ each(fields, (field: any) => {
105
+ const desc = field.short || ''
106
+ Content(`| \`${field.name}\` | \`${canonToType(field.type, target.name)}\` | ${desc} |
107
+ `)
108
+ })
109
+
110
+ Content(`
111
+ `)
112
+ }
113
+
114
+ if (opnames.includes('load')) {
115
+ // The id key plus every REQUIRED match key (parent path params like
116
+ // page_id) — the same shape the runtime resolves path params from.
117
+ const loadItems = opRequestShape(entity, 'load').items
118
+ .filter((it: any) => !it.optional || it.name === idF)
119
+ .sort((a: any, b: any) =>
120
+ (a.name === idF ? 0 : 1) - (b.name === idF ? 0 : 1))
121
+ const loadArg = 0 < loadItems.length
122
+ ? `vmap({${loadItems.map((it: any) =>
123
+ `{"${it.name}", ${cppLit(it.type,
124
+ it.name === idF ? entity.name + '_id' : it.name)}}`).join(', ')}})`
125
+ : 'Value::undef()'
126
+ Content(`#### Example: Load
127
+
128
+ \`\`\`cpp
129
+ Value ${eVar} = client->${acc}()->load(${loadArg}, Value::undef());
130
+ \`\`\`
131
+
132
+ `)
133
+ }
134
+
135
+ if (opnames.includes('list')) {
136
+ Content(`#### Example: List
137
+
138
+ \`\`\`cpp
139
+ Value ${eVar}s = client->${acc}()->list(Value::undef(), Value::undef());
140
+ \`\`\`
141
+
142
+ `)
143
+ }
144
+
145
+ if (opnames.includes('create')) {
146
+ // Members come from the SAME shape the runtime validates
147
+ // (opRequestShape): every required member must appear.
148
+ const createItems = opRequestShape(entity, 'create').items
149
+ .filter((it: any) => !it.optional)
150
+ Content(`#### Example: Create
151
+
152
+ \`\`\`cpp
153
+ Value ${eVar} = client->${acc}()->create(vmap({
154
+ `)
155
+ createItems.map((it: any) => {
156
+ Content(` {"${it.name}", ${cppLit(it.type, 'example_' + it.name)}}, // ${canonToType(it.type, target.name)}
157
+ `)
158
+ })
159
+ Content(`}), Value::undef());
160
+ \`\`\`
161
+
162
+ `)
163
+ }
164
+ })
165
+ })
166
+
167
+
168
+ export {
169
+ ReadmeEntity
170
+ }