@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,136 @@
1
+
2
+ import { cmp, Content, File } from '@voxgig/sdkgen'
3
+
4
+
5
+ // Emits test/readme_examples_test.cpp — a structural gate over every ```cpp
6
+ // fenced block in the docs that ship C++ examples:
7
+ // - the root README.md (top-level, multi-language quick start)
8
+ // - the per-language cpp/README.md
9
+ // - the per-language cpp/REFERENCE.md
10
+ //
11
+ // DESIGN NOTE (mirrors ReadmeExamplesTest_c): the go gate shells out to
12
+ // `go build`/`go run` to COMPILE and RUN every block. A faithful C++ port
13
+ // would extract each snippet, wrap it in a translation unit, and drive the
14
+ // bundled Makefile / c++ against the header-only runtime — a large,
15
+ // environment-sensitive harness that cannot be authored safely here. This gate
16
+ // instead validates that every documented C++ block is PRESENT and
17
+ // STRUCTURALLY well-formed (balanced ()[]{}, non-empty). It is a real,
18
+ // always-passing test that keeps the docs honest about block structure;
19
+ // upgrading it to a true compile gate is left as a follow-up. Missing docs are
20
+ // tolerated (a run may generate a subset of phases).
21
+ //
22
+ // The test binary runs with the C++ project root as its working directory, so
23
+ // the doc paths resolve as "README.md", "REFERENCE.md", and "../README.md".
24
+ const ReadmeExamplesTest = cmp(function ReadmeExamplesTest(props: any) {
25
+ const { model } = props.ctx$
26
+
27
+ File({ name: 'readme_examples_test.cpp' }, () => {
28
+ Content(`// Structural gate over every \`\`\`cpp block in the ${model.const.Name} SDK docs
29
+ // (root README.md, cpp/README.md, cpp/REFERENCE.md). Generated by
30
+ // @voxgig/sdkgen — do not edit by hand.
31
+ //
32
+ // Validates that each documented C++ block is present, non-empty, and has
33
+ // balanced delimiters. Missing docs are tolerated. See ReadmeExamplesTest_cpp
34
+ // for why this is a structural gate rather than a full compile harness.
35
+
36
+ #include "testlib.hpp"
37
+
38
+ #include <fstream>
39
+ #include <sstream>
40
+ #include <string>
41
+ #include <vector>
42
+
43
+ using namespace sdk;
44
+
45
+ // Read an entire file into a string, or "" if absent.
46
+ static std::string read_file(const std::string& path) {
47
+ std::ifstream f(path, std::ios::binary);
48
+ if (!f) return std::string();
49
+ std::ostringstream ss;
50
+ ss << f.rdbuf();
51
+ return ss.str();
52
+ }
53
+
54
+ // Trim leading/trailing whitespace (fence lines are short).
55
+ static std::string trim(const std::string& s) {
56
+ size_t a = s.find_first_not_of(" \\t\\r\\n");
57
+ if (a == std::string::npos) return std::string();
58
+ size_t b = s.find_last_not_of(" \\t\\r\\n");
59
+ return s.substr(a, b - a + 1);
60
+ }
61
+
62
+ // Balanced (), [], {} outside of string literals, with each closer matching
63
+ // the most-recent opener (so "([)]" is rejected, not just counted). Naive
64
+ // quote toggle: the generated snippets never embed an escaped quote inside a
65
+ // string.
66
+ static bool is_balanced(const std::string& block) {
67
+ bool in_str = false;
68
+ std::vector<char> stack;
69
+ for (char c : block) {
70
+ if (c == '"') { in_str = !in_str; continue; }
71
+ if (in_str) continue;
72
+ if (c == '(') stack.push_back(')');
73
+ else if (c == '[') stack.push_back(']');
74
+ else if (c == '{') stack.push_back('}');
75
+ else if (c == ')' || c == ']' || c == '}') {
76
+ if (stack.empty() || stack.back() != c) return false;
77
+ stack.pop_back();
78
+ }
79
+ }
80
+ return stack.empty() && !in_str;
81
+ }
82
+
83
+ // Scan one doc: for every \`\`\`cpp ... \`\`\` block, check non-empty + balanced.
84
+ // Returns the number of blocks seen (0 if the file is absent).
85
+ static int check_doc(const std::string& label, const std::string& path) {
86
+ std::string src = read_file(path);
87
+ if (src.empty()) return 0; // doc not generated in this run — tolerate
88
+
89
+ int blocks = 0;
90
+ bool in_block = false;
91
+ std::string block;
92
+ std::istringstream in(src);
93
+ std::string line;
94
+ while (std::getline(in, line)) {
95
+ std::string t = trim(line);
96
+ if (!in_block) {
97
+ if (t == "\`\`\`cpp") { in_block = true; block.clear(); }
98
+ } else if (t == "\`\`\`") {
99
+ std::string body = trim(block);
100
+ ASSERT_TRUE(!body.empty(), label + ": cpp block " + std::to_string(blocks + 1) + " non-empty");
101
+ ASSERT_TRUE(is_balanced(body), label + ": cpp block " + std::to_string(blocks + 1) + " balanced");
102
+ blocks++;
103
+ in_block = false;
104
+ } else {
105
+ block += line;
106
+ block += '\\n';
107
+ }
108
+ }
109
+ // A fence opened but never closed is a malformed doc — fail rather than
110
+ // silently skipping the unterminated block.
111
+ ASSERT_TRUE(!in_block, label + ": cpp fence closed");
112
+ return blocks;
113
+ }
114
+
115
+ static void readme_examples_gate() {
116
+ int total = 0;
117
+ total += check_doc("root README", "../README.md");
118
+ total += check_doc("cpp/README", "README.md");
119
+ total += check_doc("cpp/REFERENCE", "REFERENCE.md");
120
+ // Missing docs are tolerated (a run may generate a subset of phases), so a
121
+ // zero total is not a failure — the per-block checks above carry the gate.
122
+ std::printf("readme_examples: scanned %d cpp block(s)\\n", total);
123
+ }
124
+
125
+ int main() {
126
+ T_RUN(readme_examples_gate);
127
+ return sdktest::summary("readme_examples_test");
128
+ }
129
+ `)
130
+ })
131
+ })
132
+
133
+
134
+ export {
135
+ ReadmeExamplesTest
136
+ }
@@ -0,0 +1,45 @@
1
+
2
+ import { cmp, Content } from '@voxgig/sdkgen'
3
+
4
+
5
+ const ReadmeExplanation = cmp(function ReadmeExplanation(props: any) {
6
+ const { target, ctx$: { model } } = props
7
+
8
+ Content(`### Data as \`Value\`
9
+
10
+ The C++ SDK uses a single dynamic \`sdk::Value\` type (a JSON-like variant
11
+ over string / number / bool / list / map) throughout rather than generated
12
+ typed structs. This mirrors the dynamic nature of the API and keeps the
13
+ SDK flexible — no code generation is needed when the API schema changes.
14
+
15
+ Build maps with \`sdk::vmap({{"key", sdk::Value("v")}})\` and lists with
16
+ \`sdk::vlist({...})\`; read fields back with \`sdk::getp(value, "key")\`. Use
17
+ \`sdk::to_map()\` to safely coerce a value that should be a map, and
18
+ \`sdk::Struct::jsonify(value)\` to render it as JSON.
19
+
20
+ ### Directory structure
21
+
22
+ \`\`\`
23
+ ${target.name}/
24
+ ├── core/ -- Runtime type graph, config, generated client
25
+ ├── entity/ -- Per-entity client headers
26
+ ├── feature/ -- Built-in features (Base, Test, Log, ...)
27
+ ├── utility/ -- Operation pipeline + vendored struct library
28
+ ├── test/ -- Test suites
29
+ ├── Makefile -- Build & run the tests (C++17)
30
+ └── VERSION -- SDK version
31
+ \`\`\`
32
+
33
+ Include the umbrella header \`core/sdk.hpp\` to pull in the whole SDK: the
34
+ runtime types, the pipeline utilities, the vendored struct, the generated
35
+ config, the per-entity clients and the generated \`${model.const.Name}SDK\`
36
+ client class. Everything lives in the \`sdk\` namespace.
37
+
38
+ `)
39
+
40
+ })
41
+
42
+
43
+ export {
44
+ ReadmeExplanation
45
+ }
@@ -0,0 +1,139 @@
1
+
2
+ import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, pickExampleEntity, 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
+ // A type-correct C++ literal for a field's canonical type.
13
+ function cppLit(type: any): string {
14
+ const k = canonKey(type)
15
+ if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
16
+ if ('BOOLEAN' === k) return 'Value(true)'
17
+ if ('ARRAY' === k) return 'vlist()'
18
+ if ('OBJECT' === k) return 'vmap()'
19
+ return 'Value("example")'
20
+ }
21
+
22
+
23
+ const ReadmeHowto = cmp(function ReadmeHowto(props: any) {
24
+ const { target, ctx$: { model } } = props
25
+
26
+ const entity = getModelPath(model, `main.${KIT}.entity`)
27
+ // Pick an entity with a real op (prefer a read op) — never fabricate a
28
+ // `load` on an op-less entity. primaryOp is null only when NO entity
29
+ // exposes any op (a direct()-only SDK).
30
+ const { entity: exampleEntity, primaryOp } = pickExampleEntity(entity)
31
+ const acc = exampleEntity ? cppVarName(exampleEntity.name) : 'entity'
32
+ const eVar = acc
33
+ // Model-driven id key: null when the entity has no id-like field.
34
+ const idF = exampleEntity ? entityIdField(exampleEntity) : null
35
+ const isMatchOp = 'load' === primaryOp || 'remove' === primaryOp
36
+ let testArg = 'Value::undef()'
37
+ if (exampleEntity && isMatchOp) {
38
+ testArg = idF ? `vmap({{"${idF}", Value("test01")}})` : 'Value::undef()'
39
+ } else if (exampleEntity && ('create' === primaryOp || 'update' === primaryOp)) {
40
+ const items = opRequestShape(exampleEntity, primaryOp).items
41
+ .filter((it: any) => it.name !== idF && it.name !== 'id')
42
+ const required = items.filter((it: any) => !it.optional)
43
+ const chosen = required.length ? required : items.slice(0, 3)
44
+ testArg = `vmap({${chosen.map((it: any) => `{"${it.name}", ${cppLit(it.type)}}`).join(', ')}})`
45
+ }
46
+
47
+ // The op-driven test-mode line, shown only when the SDK has an entity op.
48
+ // A direct()-only SDK (no ops anywhere) shows a direct() call instead.
49
+ const testModeExample = primaryOp
50
+ ? `// Entity ops return the bare record and throw on error.
51
+ Value ${eVar} = client->${acc}()->${primaryOp}(${testArg}, Value::undef());
52
+ // ${eVar} contains the mock response record
53
+ std::cout << Struct::jsonify(${eVar}) << std::endl;`
54
+ : `Value result = client->direct(vmap({
55
+ {"path", Value("/api/resource")},
56
+ {"method", Value("GET")},
57
+ }));
58
+ std::cout << Struct::jsonify(result) << std::endl;`
59
+
60
+ const apikeyEnvLine = isAuthActive(model)
61
+ ? `\n${envName(model)}_APIKEY=<your-key>`
62
+ : ''
63
+
64
+ Content(`### Make a direct HTTP request
65
+
66
+ For endpoints not covered by entity methods:
67
+
68
+ \`\`\`cpp
69
+ Value result = client->direct(vmap({
70
+ {"path", Value("/api/resource/{id}")},
71
+ {"method", Value("GET")},
72
+ {"params", vmap({{"id", Value("example")}})},
73
+ }));
74
+
75
+ if (getp(result, "ok") == Value(true)) {
76
+ std::cout << Helpers::toInt(getp(result, "status")) << std::endl; // 200
77
+ std::cout << Struct::jsonify(getp(result, "data")) << std::endl; // response body
78
+ } else {
79
+ // A non-2xx response carries status + data (the error body); a
80
+ // transport-level failure carries err instead. Only one is present.
81
+ std::cerr << Helpers::toInt(getp(result, "status")) << " "
82
+ << Struct::jsonify(getp(result, "err")) << std::endl;
83
+ }
84
+ \`\`\`
85
+
86
+ \`direct()\` is the escape hatch: it never throws — branch on
87
+ \`getp(result, "ok")\`.
88
+
89
+ ### Prepare a request without sending it
90
+
91
+ \`\`\`cpp
92
+ // prepare() returns the fetch definition and throws on error.
93
+ Value fetchdef = client->prepare(vmap({
94
+ {"path", Value("/api/resource/{id}")},
95
+ {"method", Value("DELETE")},
96
+ {"params", vmap({{"id", Value("example")}})},
97
+ }));
98
+
99
+ std::cout << Struct::stringify(getp(fetchdef, "url")) << std::endl;
100
+ std::cout << Struct::stringify(getp(fetchdef, "method")) << std::endl;
101
+ std::cout << Struct::jsonify(getp(fetchdef, "headers")) << std::endl;
102
+ \`\`\`
103
+
104
+ ### Use test mode
105
+
106
+ Create a mock client for unit testing — no server required. The test
107
+ feature installs an in-memory mock transport:
108
+
109
+ \`\`\`cpp
110
+ auto client = ${model.const.Name}SDK::testSDK();
111
+
112
+ ${testModeExample}
113
+ \`\`\`
114
+
115
+ You can seed the mock store by passing test options — see the generated
116
+ \`test/\` suite for worked examples.
117
+
118
+ ### Run live tests
119
+
120
+ Create a \`.env.local\` file at the project root:
121
+
122
+ \`\`\`
123
+ ${envName(model)}_TEST_LIVE=TRUE${apikeyEnvLine}
124
+ \`\`\`
125
+
126
+ Then build and run the test suite:
127
+
128
+ \`\`\`bash
129
+ cd ${target.name} && make test
130
+ \`\`\`
131
+
132
+ `)
133
+
134
+ })
135
+
136
+
137
+ export {
138
+ ReadmeHowto
139
+ }
@@ -0,0 +1,42 @@
1
+
2
+ import { cmp, Content, repoInfo } from '@voxgig/sdkgen'
3
+
4
+
5
+ const ReadmeInstall = cmp(function ReadmeInstall(props: any) {
6
+ const { target, ctx$ } = props
7
+ const { model } = ctx$
8
+
9
+ // The C++ SDK is header-only: there is no package registry to install from.
10
+ // Consumers vendor the source tree (or add it as a submodule) and put the
11
+ // SDK directory on the compiler include path. The git release tag
12
+ // (`cpp/vX.Y.Z`) is the unit of distribution.
13
+ const { releasesUrl } = repoInfo(model)
14
+
15
+ Content(`The ${target.title} SDK is **header-only** — there is no package to install
16
+ from a registry. Vendor the \`cpp/\` directory into your project (or add the
17
+ repository as a git submodule) and put it on your compiler's include path.
18
+ Releases are cut as the git tag \`${target.name}/vX.Y.Z\` (see
19
+ [Releases](${releasesUrl})).
20
+
21
+ \`\`\`bash
22
+ # Add the SDK as a submodule (or copy the cpp/ directory into your tree).
23
+ git submodule add <repo-url> third_party/${model.const.Name.toLowerCase()}-sdk
24
+ \`\`\`
25
+
26
+ Then include the umbrella header and compile with C++17:
27
+
28
+ \`\`\`cpp
29
+ #include "core/sdk.hpp"
30
+ \`\`\`
31
+
32
+ \`\`\`bash
33
+ g++ -std=c++17 -Ithird_party/${model.const.Name.toLowerCase()}-sdk/cpp your_app.cpp -o your_app
34
+ \`\`\`
35
+
36
+ `)
37
+ })
38
+
39
+
40
+ export {
41
+ ReadmeInstall
42
+ }
@@ -0,0 +1,69 @@
1
+
2
+ import { cmp, Content } from '@voxgig/sdkgen'
3
+
4
+ import {
5
+ KIT,
6
+ getModelPath,
7
+ } from '@voxgig/apidef'
8
+
9
+ import { cppVarName } from './utility_cpp'
10
+
11
+
12
+ const ReadmeIntro = cmp(function ReadmeIntro(props: any) {
13
+ const { target, ctx$: { model } } = props
14
+ const info = (model.main && model.main.kit && model.main.kit.info) || {}
15
+ const tagline = info.tagline || ''
16
+
17
+ Content(`# ${model.Name} ${target.title} SDK
18
+
19
+ ${tagline}
20
+
21
+ The ${target.title} SDK for the ${model.Name} API — a header-only,
22
+ entity-oriented client following idiomatic modern C++ (C++17) conventions.
23
+
24
+ `)
25
+
26
+ // Emphasise the entity-oriented design: the SDK surfaces the API as
27
+ // capitalised, semantic Entities with a small, uniform verb set rather
28
+ // than raw URL paths and query strings. The example entity accessor is
29
+ // derived from the model, never hardcoded.
30
+ const entity = getModelPath(model, `main.${KIT}.entity`)
31
+ const exampleEntity = Object.values(entity || {})
32
+ .find((e: any) => e.active !== false) as any
33
+ const example = exampleEntity
34
+ ? `for example \`client->${cppVarName(exampleEntity.name)}()\` — each`
35
+ : 'each'
36
+
37
+ // Model-driven op list — only the operations the active entities actually
38
+ // expose (a read-only entity has just list+load); never claim
39
+ // create/update/remove exist when no entity has them.
40
+ const CANON_OPS = ['list', 'load', 'create', 'update', 'remove']
41
+ const opSet = new Set<string>()
42
+ Object.values(entity || {}).forEach((e: any) => {
43
+ if (!e || e.active === false) return
44
+ Object.keys(e.op || {}).forEach((o: string) => {
45
+ if (e.op[o] && e.op[o].active !== false) opSet.add(o)
46
+ })
47
+ })
48
+ const opNames = CANON_OPS.filter((o) => opSet.has(o))
49
+ .concat([...opSet].filter((o) => !CANON_OPS.includes(o)))
50
+ const opList = (opNames.length ? opNames : ['list', 'load'])
51
+ .map((o) => '`' + o + '`').join(', ')
52
+
53
+ Content(`The SDK exposes the API as capitalised, semantic **Entities** — ${example}
54
+ carrying a small, uniform set of operations (${opList}) instead of raw URL
55
+ paths and query strings. You work with named resources and verbs, which
56
+ keeps the cognitive load low. Every value flows through a single dynamic
57
+ \`sdk::Value\` type (a JSON-like variant), so there is no schema-driven code to
58
+ regenerate when the API changes.
59
+
60
+ > Other languages, the CLI, and MCP server live alongside this one — see
61
+ > the [top-level README](../README.md).
62
+
63
+ `)
64
+ })
65
+
66
+
67
+ export {
68
+ ReadmeIntro
69
+ }
@@ -0,0 +1,155 @@
1
+
2
+ import { cmp, each, Content, isAuthActive } from '@voxgig/sdkgen'
3
+
4
+ import {
5
+ KIT,
6
+ getModelPath,
7
+ } from '@voxgig/apidef'
8
+
9
+ import { cppVarName } from './utility_cpp'
10
+
11
+
12
+ const ReadmeModel = cmp(function ReadmeModel(props: any) {
13
+ const { target, ctx$: { model } } = props
14
+
15
+ const entity = getModelPath(model, `main.${KIT}.entity`)
16
+ const entityList = each(entity).filter((e: any) => e.active !== false)
17
+
18
+ // Model-driven op rows for the shared entity interface: emit a
19
+ // load/list/create/update/remove row only for operations at least one active
20
+ // entity actually exposes — never document an operation no entity has.
21
+ const opUnion = new Set<string>()
22
+ entityList.forEach((e: any) => Object.keys(e.op || {})
23
+ .forEach((o: string) => { if (e.op[o] && e.op[o].active !== false) opUnion.add(o) }))
24
+ const opRowDefs: Record<string, string> = {
25
+ load: '| `load` | `(reqmatch, ctrl) -> Value` | Load a single entity by match criteria. Throws on error. |',
26
+ list: '| `list` | `(reqmatch, ctrl) -> Value` | List entities matching the criteria (a Value list). Throws on error. |',
27
+ create: '| `create` | `(reqdata, ctrl) -> Value` | Create a new entity. Throws on error. |',
28
+ update: '| `update` | `(reqdata, ctrl) -> Value` | Update an existing entity. Throws on error. |',
29
+ remove: '| `remove` | `(reqmatch, ctrl) -> Value` | Remove an entity. Throws on error. |',
30
+ }
31
+ const opRows = ['load', 'list', 'create', 'update', 'remove']
32
+ .filter((o) => opUnion.has(o)).map((o) => opRowDefs[o]).join('\n')
33
+
34
+ const apikeyOptionRow = isAuthActive(model)
35
+ ? '| `apikey` | `std::string` | API key for authentication. |\n'
36
+ : ''
37
+
38
+ Content(`### ${model.const.Name}SDK
39
+
40
+ \`\`\`cpp
41
+ #include "core/sdk.hpp"
42
+
43
+ using namespace sdk;
44
+
45
+ auto client = std::make_shared<${model.const.Name}SDK>(options);
46
+ \`\`\`
47
+
48
+ Creates a new SDK client. \`options\` is an \`sdk::Value\` map.
49
+
50
+ | Option | Type | Description |
51
+ | --- | --- | --- |
52
+ ${apikeyOptionRow}| \`base\` | \`std::string\` | Base URL of the API server. |
53
+ | \`prefix\` | \`std::string\` | URL path prefix prepended to all requests. |
54
+ | \`suffix\` | \`std::string\` | URL path suffix appended to all requests. |
55
+ | \`feature\` | \`Value\` | Feature activation flags. |
56
+ | \`system\` | \`Value\` | System overrides. |
57
+
58
+ ### testSDK
59
+
60
+ \`\`\`cpp
61
+ auto client = ${model.const.Name}SDK::testSDK(testopts, sdkopts);
62
+ \`\`\`
63
+
64
+ Creates a test-mode client with mock transport. Both arguments may be
65
+ \`Value::undef()\`; a no-arg \`${model.const.Name}SDK::testSDK()\` overload is
66
+ also provided.
67
+
68
+ ### ${model.const.Name}SDK methods
69
+
70
+ | Method | Signature | Description |
71
+ | --- | --- | --- |
72
+ | \`optionsMap\` | \`() -> Value\` | Deep copy of current SDK options. |
73
+ | \`getUtility\` | \`() -> UtilityPtr\` | Copy of the SDK utility object. |
74
+ | \`prepare\` | \`(fetchargs) -> Value\` | Build an HTTP request definition without sending. Throws on error. |
75
+ | \`direct\` | \`(fetchargs) -> Value\` | Build and send an HTTP request. Returns a result Value (branch on \`ok\`). |
76
+ `)
77
+
78
+ each(entityList, (ent: any) => {
79
+ const acc = cppVarName(ent.name)
80
+ const article = /^[aeiou]/i.test(ent.Name) ? 'an' : 'a'
81
+ Content(`| \`${acc}\` | \`(entopts) -> std::shared_ptr<${ent.Name}Entity>\` | Create ${article} ${ent.Name} entity instance. |
82
+ `)
83
+ })
84
+
85
+ Content(`
86
+ ### Entity interface
87
+
88
+ All entities share the same interface.
89
+
90
+ | Method | Signature | Description |
91
+ | --- | --- | --- |
92
+ ${opRows}
93
+ | \`data\` | \`(arg) -> Value\` | Get (no arg) or set (with arg) entity data. |
94
+ | \`match\` | \`(arg) -> Value\` | Get (no arg) or set (with arg) entity match criteria. |
95
+ | \`make\` | \`() -> EntityPtr\` | Create a new instance with the same options. |
96
+ | \`getName\` | \`() -> std::string\` | Return the entity name. |
97
+
98
+ ### Result shape
99
+
100
+ Entity operations return the bare result data (a map \`Value\` for
101
+ single-entity ops, a list \`Value\` for \`list\`) and throw
102
+ \`sdk::SdkErrorPtr\` on error. Wrap calls in \`try\`/\`catch\` to handle
103
+ failures.
104
+
105
+ The \`direct()\` escape hatch never throws — it returns a result \`Value\`
106
+ you branch on via \`getp(result, "ok")\`:
107
+
108
+ | Key | Type | Description |
109
+ | --- | --- | --- |
110
+ | \`ok\` | \`bool\` | \`true\` if the HTTP status is 2xx. |
111
+ | \`status\` | \`int\` | HTTP status code. |
112
+ | \`headers\` | \`Value\` | Response headers. |
113
+ | \`data\` | \`Value\` | Parsed JSON response body. |
114
+
115
+ On error, \`ok\` is \`false\` and \`err\` contains the error value.
116
+
117
+ `)
118
+
119
+ // Entities summary
120
+ Content(`### Entities
121
+
122
+ `)
123
+ each(entityList, (ent: any) => {
124
+ const fields = ent.fields || []
125
+ const opnames = Object.keys(ent.op || {})
126
+ const ops = ent.op || {}
127
+ const points = each(ops).map((op: any) =>
128
+ op.points ? each(op.points) : []
129
+ ).flat()
130
+ const path = points.length > 0 ? (points[0] as any).orig || '' : ''
131
+
132
+ Content(`#### ${ent.Name}
133
+
134
+ | Field | Description |
135
+ | --- | --- |
136
+ `)
137
+ each(fields, (field: any) => {
138
+ Content(`| \`${field.name}\` | ${field.short || ''} |
139
+ `)
140
+ })
141
+
142
+ Content(`
143
+ Operations: ${opnames.map((n: string) => n.charAt(0).toUpperCase() + n.slice(1)).join(', ')}.
144
+
145
+ API path: \`${path}\`
146
+
147
+ `)
148
+ })
149
+
150
+ })
151
+
152
+
153
+ export {
154
+ ReadmeModel
155
+ }
@@ -0,0 +1,62 @@
1
+
2
+ import { cmp, each, Content, envName, isAuthActive } from '@voxgig/sdkgen'
3
+
4
+
5
+ const ReadmeOptions = cmp(function ReadmeOptions(props: any) {
6
+ const { target } = props
7
+ const { model } = props.ctx$
8
+
9
+ const publishedOptions = each(target.options).filter((option: any) =>
10
+ option.publish && ('apikey' !== option.name || isAuthActive(model)))
11
+ if (0 === publishedOptions.length) {
12
+ return
13
+ }
14
+
15
+ Content(`
16
+
17
+ ## Options
18
+
19
+ Pass options as an \`sdk::Value\` map when constructing a client:
20
+
21
+ `)
22
+
23
+ const hasApikey = publishedOptions.some((o: any) => 'apikey' === o.name)
24
+
25
+ Content(`\`\`\`cpp
26
+ ${hasApikey ? `const char* apikey = std::getenv("${envName(model)}_APIKEY");
27
+ ` : ''}auto client = std::make_shared<${model.Name}SDK>(vmap({
28
+ `)
29
+
30
+ publishedOptions.map((option: any) => {
31
+ if ('apikey' === option.name) {
32
+ Content(` {"${option.name}", Value(apikey ? apikey : "")},
33
+ `)
34
+ }
35
+ else {
36
+ Content(` // {"${option.name}", ${option.kind === 'string' ? 'Value("...")' : 'Value(...)'}},
37
+ `)
38
+ }
39
+ })
40
+
41
+ Content(`}));
42
+ \`\`\`
43
+
44
+ `)
45
+
46
+ Content(`| Option | Type | Description |
47
+ | --- | --- | --- |
48
+ `)
49
+
50
+ publishedOptions.map((option: any) => {
51
+ Content(`| \`${option.name}\` | \`${option.kind}\` | ${option.short} |
52
+ `)
53
+ })
54
+
55
+ Content(`
56
+ `)
57
+ })
58
+
59
+
60
+ export {
61
+ ReadmeOptions
62
+ }