@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
@@ -69,6 +69,63 @@ const RESERVED: Record<string, Set<string>> = {
69
69
  }
70
70
 
71
71
 
72
+ // Ruby CORE CONSTANTS — a different hazard from the keyword sets above.
73
+ //
74
+ // The keyword sets guard local-variable BINDINGS. This set guards generated
75
+ // top-level CONSTANTS. Ruby constants share one namespace with the core
76
+ // classes, and reassigning one is not an error — it silently replaces it:
77
+ //
78
+ // File = Struct.new(:name) # ::File is now a Struct
79
+ // File.join('a', 'b') # NoMethodError — every later caller breaks
80
+ //
81
+ // The typed model emits `<Name> = Struct.new(...)` per entity, so an API with
82
+ // a `/files` collection (entity `File`) used to clobber Ruby's File class and
83
+ // take the whole SDK down with it — the generated test runner calls
84
+ // `File.join` to locate `.env.local`, so `rb` failed at require time.
85
+ //
86
+ // Only names Ruby itself defines at top level are listed: reassigning any of
87
+ // them breaks working code somewhere. Names that merely LOOK builtin but are
88
+ // not core constants (e.g. `Response`, `Record`) are safe and stay untouched,
89
+ // which keeps the rename off every SDK that does not actually collide.
90
+ const RB_CORE_CONSTANTS = new Set<string>([
91
+ // classes an entity name plausibly lands on
92
+ 'Array', 'Binding', 'Class', 'Comparable', 'Complex', 'Data', 'Dir',
93
+ 'Encoding', 'Enumerator', 'Exception', 'Fiber', 'File', 'Float', 'Hash',
94
+ 'IO', 'Integer', 'Method', 'Module', 'Mutex', 'Numeric', 'Object', 'Proc',
95
+ 'Queue', 'Random', 'Range', 'Rational', 'Regexp', 'Set', 'Signal', 'String',
96
+ 'Struct', 'Symbol', 'Thread', 'Time', 'UnboundMethod',
97
+ // modules / singletons
98
+ 'Enumerable', 'GC', 'Kernel', 'Marshal', 'Math', 'ObjectSpace', 'Process',
99
+ 'Warning',
100
+ // the rest of the exception hierarchy an API might name an entity after
101
+ 'ArgumentError', 'IndexError', 'IOError', 'KeyError', 'NameError',
102
+ 'NotImplementedError', 'RangeError', 'RuntimeError', 'StandardError',
103
+ 'StopIteration', 'SystemExit', 'TypeError', 'ZeroDivisionError',
104
+ // literal singletons
105
+ 'FalseClass', 'NilClass', 'TrueClass',
106
+ ])
107
+
108
+
109
+ // Is `Name` a constant Ruby already defines at top level?
110
+ function isRbCoreConstant(Name: string): boolean {
111
+ return RB_CORE_CONSTANTS.has(Name)
112
+ }
113
+
114
+
115
+ // A top-level-safe Ruby constant name for a generated type: the name
116
+ // unchanged, unless Ruby core already owns it, in which case `Type` is
117
+ // appended (`File` -> `FileType`). Applied ONLY to the bare entity data type
118
+ // — the per-op type names always carry a suffix (`FileCreateData`,
119
+ // `FileLoadMatch`), which no core constant matches.
120
+ //
121
+ // The entity ACCESSOR keeps its original name (`client.File(...)`): methods
122
+ // and constants live in separate namespaces in Ruby, so the accessor never
123
+ // collided and the public surface is unchanged.
124
+ function rbSafeTypeName(Name: string): string {
125
+ return isRbCoreConstant(Name) ? Name + 'Type' : Name
126
+ }
127
+
128
+
72
129
  // Is `name` a reserved word (an illegal identifier) in the target language?
73
130
  function isReservedName(name: string, lang: string): boolean {
74
131
  const set = RESERVED[lang]
@@ -83,7 +140,56 @@ function safeVarName(name: string, lang: string): string {
83
140
  }
84
141
 
85
142
 
143
+ // A variable name for a doc EXAMPLE entity. Doc examples bind the SDK instance
144
+ // to `client` (e.g. `const client = ...SDK.test()`), so an entity whose
145
+ // lowercased name is also `client` — an API with a `Client` entity — would
146
+ // shadow it: `const client = client.Client()...` is self-referential (TS2448/
147
+ // TS7022) and breaks the readme_examples type-check. Append `_` to keep the
148
+ // example variable distinct from the SDK instance. Also applies the normal
149
+ // language-reserved-word guard.
150
+ function exampleVarName(name: string, lang: string): string {
151
+ const v = safeVarName(name, lang)
152
+ return 'client' === v ? v + '_' : v
153
+ }
154
+
155
+
156
+ // A valid ECMAScript identifier — the only shape `obj.name` can express.
157
+ const JS_IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/
158
+
159
+
160
+ // A safe JS/TS property-access expression for a SPEC-DERIVED key: dot
161
+ // notation when the key is a valid identifier, bracket notation otherwise.
162
+ // OpenAPI path/query parameter names are not constrained to identifiers —
163
+ // e.g. Evervault's `/payments/3ds-sessions/{3ds_session_id}` yields
164
+ // `3ds_session_id`, and `params.3ds_session_id` is a syntax error (TS1434).
165
+ // The other language targets already quote these keys (`params["..."]`);
166
+ // this keeps ts/js in parity.
167
+ function jsProp(obj: string, name: string): string {
168
+ return JS_IDENT.test(name) ? `${obj}.${name}` : `${obj}[${JSON.stringify(name)}]`
169
+ }
170
+
171
+
172
+ // A safe JS/TS OBJECT-LITERAL key for a spec-derived field name: bare when
173
+ // the name is a valid identifier, single-quoted otherwise. `{ 3ds_session_id:
174
+ // 1 }` is a syntax error (TS1351) — doc examples must quote such keys.
175
+ function jsKey(name: string): string {
176
+ return JS_IDENT.test(name) ? name : `'${name}'`
177
+ }
178
+
179
+
180
+ // As `jsProp`, but optional-chained: `obj?.name` / `obj?.["3ds_session_id"]`.
181
+ function jsOptProp(obj: string, name: string): string {
182
+ return JS_IDENT.test(name) ? `${obj}?.${name}` : `${obj}?.[${JSON.stringify(name)}]`
183
+ }
184
+
185
+
86
186
  export {
87
187
  isReservedName,
88
188
  safeVarName,
189
+ exampleVarName,
190
+ isRbCoreConstant,
191
+ rbSafeTypeName,
192
+ jsProp,
193
+ jsOptProp,
194
+ jsKey,
89
195
  }
@@ -52,15 +52,48 @@ function idLiteral(ent: any, op: string, idF: string | null): string {
52
52
 
53
53
  // Render a match object `{ idF: idLit }` (or empty when the entity has no id
54
54
  // key) in the target language's object syntax.
55
- function matchArg(lang: ExampleLang, idF: string | null, idLit: string): string {
56
- if (null == idF) return 'go' === lang ? 'nil' : ''
55
+ // Spec-derived field names are NOT constrained to be identifiers — e.g.
56
+ // Evervault's `/payments/3ds-sessions/{3ds_session_id}` yields the match key
57
+ // `3ds_session_id`. py/php/rb/go quote every literal key already, but ts/js
58
+ // (`{ key: v }`) and lua (`{ key = v }`) write them bare, and a leading digit
59
+ // or a `-` makes that a syntax error (TS1351 / Lua "'}' expected"). Quote
60
+ // exactly those, leaving ordinary keys in the idiomatic bare form.
61
+ const JS_IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/
62
+ const LUA_IDENT = /^[A-Za-z_][A-Za-z0-9_]*$/
63
+
64
+ // A `key<sep>value` literal pair in the target language's object syntax.
65
+ function litPair(lang: ExampleLang, name: string, value: string): string {
57
66
  switch (lang) {
58
- case 'py': return `{"${idF}": ${idLit}}`
59
- case 'php': return `["${idF}" => ${idLit}]`
60
- case 'rb': return `{ "${idF}" => ${idLit} }`
61
- case 'lua': return `{ ${idF} = ${idLit} }`
62
- case 'go': return `map[string]any{"${idF}": ${idLit}}`
63
- default: return `{ ${idF}: ${idLit} }`
67
+ case 'py': return `"${name}": ${value}`
68
+ case 'php': return `"${name}" => ${value}`
69
+ case 'rb': return `"${name}" => ${value}`
70
+ case 'go': return `"${name}": ${value}`
71
+ case 'lua': return LUA_IDENT.test(name) ?
72
+ `${name} = ${value}` : `["${name}"] = ${value}`
73
+ default: return JS_IDENT.test(name) ?
74
+ `${name}: ${value}` : `'${name}': ${value}`
75
+ }
76
+ }
77
+
78
+
79
+ // The match argument for a load/remove — ALL required match params, not just
80
+ // the primary id. A composite-match entity (e.g. Umbrella's FlatPermission,
81
+ // `/public/database/{id}/permission/{msisdn}`) has two required path params
82
+ // (database_id + id); emitting only `{ id }` fails the typed <Name>LoadMatch.
83
+ // The idF field takes the specific id literal; other required fields take a
84
+ // type-correct example value (mirrors dataArg).
85
+ function matchArg(
86
+ lang: ExampleLang, ent: any, op: string, idF: string | null, idLit: string
87
+ ): string {
88
+ const items = opRequestShape(ent, op).items.filter((it: any) => !it.optional)
89
+ if (0 === items.length) return 'go' === lang ? 'nil' : ''
90
+ const pairs = items.map((it: any) =>
91
+ litPair(lang, it.name, it.name === idF ? idLit : litFor(lang, it.type)))
92
+ switch (lang) {
93
+ case 'py': return `{${pairs.join(', ')}}`
94
+ case 'php': return `[${pairs.join(', ')}]`
95
+ case 'go': return `map[string]any{${pairs.join(', ')}}`
96
+ default: return `{ ${pairs.join(', ')} }`
64
97
  }
65
98
  }
66
99
 
@@ -75,17 +108,7 @@ function dataArg(lang: ExampleLang, ent: any, op: string, idF: string | null): s
75
108
  // ALL required fields must appear (a typed CreateData rejects a partial); cap
76
109
  // only the optional fallback used when the op declares no required field.
77
110
  const chosen = required.length ? required : items.slice(0, 3)
78
- const pairs = chosen.map((it: any) => {
79
- const v = litFor(lang, it.type)
80
- switch (lang) {
81
- case 'py': return `"${it.name}": ${v}`
82
- case 'php': return `"${it.name}" => ${v}`
83
- case 'rb': return `"${it.name}" => ${v}`
84
- case 'lua': return `${it.name} = ${v}`
85
- case 'go': return `"${it.name}": ${v}`
86
- default: return `${it.name}: ${v}`
87
- }
88
- })
111
+ const pairs = chosen.map((it: any) => litPair(lang, it.name, litFor(lang, it.type)))
89
112
  switch (lang) {
90
113
  case 'php': return `[${pairs.join(', ')}]`
91
114
  case 'lua': return `{ ${pairs.join(', ')} }`
@@ -139,7 +162,7 @@ function primaryOpCall(
139
162
  if (isList) {
140
163
  arg = 'go' === lang ? 'nil' : ''
141
164
  } else if (isMatch) {
142
- arg = matchArg(lang, idF, idLit)
165
+ arg = matchArg(lang, ent, op, idF, idLit)
143
166
  } else if (isData) {
144
167
  arg = dataArg(lang, ent, op, idF)
145
168
  } else {
@@ -26,7 +26,60 @@
26
26
  // flag) and render them in the target language's struct/interface/TypedDict
27
27
  // syntax; the policy itself is language-neutral and tested in isolation.
28
28
 
29
- import { each } from 'jostraca'
29
+ import { each, names } from 'jostraca'
30
+ import { KIT, getModelPath } from '@voxgig/apidef'
31
+
32
+
33
+ // THE entity collection for a model — resolved once, with a stable identity.
34
+ //
35
+ // Two problems this solves, both caused by every component calling
36
+ // `getModelPath(model, 'main.<KIT>.entity')` for itself:
37
+ //
38
+ // * CORRECTNESS. getModelPath drops `active: false` entries by default, but
39
+ // the consumer scaffold (create-sdkgen Root.ts) generates entity code for
40
+ // EVERY entity and every EntityTypes_<lang> emits data types with
41
+ // `only_active: false`. Class-name assignment done against the filtered
42
+ // view cannot see the inactive entities whose data types it must avoid.
43
+ // This resolver always returns the unfiltered collection.
44
+ //
45
+ // * PERFORMANCE. getModelPath REBUILDS the container object on every call
46
+ // when filtering, so the WeakMap memos below never hit across callers —
47
+ // the O(n·ops) class-name assignment re-ran per entity per target. At 500
48
+ // entities x 22 targets that was ~15s of pure recomputation; caching the
49
+ // resolved collection on the model makes it ~3ms.
50
+ const _entityCollCache = new WeakMap<object, any>()
51
+
52
+ function entityCollection(model: any): any {
53
+ if (null == model || 'object' !== typeof model) {
54
+ return {}
55
+ }
56
+ const cached = _entityCollCache.get(model)
57
+ if (null != cached) {
58
+ return cached
59
+ }
60
+ const coll = getModelPath(model, `main.${KIT}.entity`,
61
+ { only_active: false, required: false }) || {}
62
+ deriveEntityNames(coll)
63
+ _entityCollCache.set(model, coll)
64
+ return coll
65
+ }
66
+
67
+
68
+ // Derive the PascalCase `Name` on every entity in a collection.
69
+ //
70
+ // `Name` is injected LAZILY by jostraca's names(), historically by whichever
71
+ // component happened to run first (create-sdkgen Root.ts, or an EntityTypes
72
+ // emitter). Anything reading `e.Name` before that ran saw `undefined` — and
73
+ // because the helpers below MEMOISE, one early read poisoned the result for
74
+ // the whole run (`undefinedEntity` class names; a permanently empty collision
75
+ // list). The helpers therefore derive `Name` themselves, up front, so they
76
+ // never depend on component ordering. Idempotent: names() is only called for
77
+ // an entity that lacks `Name`.
78
+ function deriveEntityNames(entityColl: any): any[] {
79
+ const ents = each(entityColl).filter((e: any) => e && null != e.name)
80
+ ents.forEach((e: any) => { if (null == e.Name) names(e, e.name) })
81
+ return ents
82
+ }
30
83
 
31
84
 
32
85
  // The five ops, and whether their request payload is a `Match` (query/id) or
@@ -156,8 +209,21 @@ function opRequestShape(ent: any, opname: string):
156
209
  return { items: [], fromParams: false }
157
210
  }
158
211
 
212
+ // Ops that carry a BODY are the exception to "op-declared params win":
213
+ // their request payload is BOTH. `PUT /v1/todo/item/{id}` declares the path
214
+ // param `id`, which the SDK resolves out of reqdata (see the param
215
+ // utility's reqmatch -> match -> reqdata search), while the fields the
216
+ // caller wants to change come from the entity. Params alone produced
217
+ // `<Name>UpdateData = { id }` — no way to send anything to update.
218
+ //
219
+ // The param stays in the payload because the path needs it; keeping it out
220
+ // of the request BODY is the model's job, via the op's `transform.req`
221
+ // (@voxgig/apidef restricts the body to a closed request schema's declared
222
+ // properties).
223
+ const isbodyop = 'create' === opname || 'update' === opname || 'patch' === opname
224
+
159
225
  const params = opParams(op)
160
- if (0 < params.length) {
226
+ if (0 < params.length && !isbodyop) {
161
227
  const items = params.map((p: any) => ({
162
228
  name: p.name,
163
229
  type: p.type,
@@ -166,15 +232,25 @@ function opRequestShape(ent: any, opname: string):
166
232
  return { items, fromParams: true }
167
233
  }
168
234
 
235
+ const paramItems = isbodyop ? params.map((p: any) => ({
236
+ name: p.name,
237
+ type: p.type,
238
+ optional: false === p.reqd,
239
+ })) : []
240
+ const paramNames = new Set(paramItems.map((p: any) => p.name))
241
+
169
242
  const fields = (ent.fields ? each(ent.fields) : [])
170
243
  .filter((f: any) => f.active !== false)
171
244
  .filter((f: any) => fieldInOp(f, opname))
172
245
 
173
- const items = fields.map((f: any) => ({
174
- name: f.name,
175
- type: f.type,
176
- optional: fieldOptional(f, opname),
177
- }))
246
+ const items = paramItems.concat(
247
+ fields
248
+ .filter((f: any) => !paramNames.has(f.name))
249
+ .map((f: any) => ({
250
+ name: f.name,
251
+ type: f.type,
252
+ optional: fieldOptional(f, opname),
253
+ })))
178
254
 
179
255
  return { items, fromParams: false }
180
256
  }
@@ -250,6 +326,16 @@ function entityPrimaryOp(ent: any): string | null {
250
326
  // … The DATA type keeps its canonical `<Name>` — only the suffixed class
251
327
  // yields. Deterministic (sorted-key iteration) and stable across runs.
252
328
  //
329
+ // Covers EVERY entity, active or not: the consumer scaffold (create-sdkgen
330
+ // Root.ts) iterates the RAW entity collection, and every EntityTypes_<lang>
331
+ // emits with `only_active: false`, so an inactive entity still contributes a
332
+ // generated data type AND still needs a class name. Filtering to actives here
333
+ // left inactive entities on the un-deduped `<Name>Entity` fallback and left
334
+ // their data types out of `taken` — so an ACTIVE entity's class could collide
335
+ // with an INACTIVE entity's emitted data type (e.g. active `project` ->
336
+ // class `ProjectEntity` vs inactive `project-entity` -> type `ProjectEntity`,
337
+ // a redeclaration in Go).
338
+ //
253
339
  // Memoised per entity-collection object so the O(n) assignment runs once.
254
340
  const _classNameCache = new WeakMap<object, Record<string, string>>()
255
341
 
@@ -259,7 +345,7 @@ function entityClassNames(entityColl: any): Record<string, string> {
259
345
  return cached
260
346
  }
261
347
 
262
- const ents = each(entityColl).filter((e: any) => e && e.active !== false)
348
+ const ents = deriveEntityNames(entityColl)
263
349
 
264
350
  // 1. Every top-level DATA-type name the target emits.
265
351
  const taken: Record<string, boolean> = {}
@@ -305,6 +391,63 @@ function entityClassName(ent: any, entityColl: any): string {
305
391
  }
306
392
 
307
393
 
394
+ // Cross-entity TYPE-name collision detection. entityClassNames keeps CLASS
395
+ // names collision-free, but the DATA/op type names are the raw `<Name>` /
396
+ // opTypeName(...) — two entities whose PascalCase Name coincides (e.g.
397
+ // `foo-bar` vs `foo_bar`), or a data-type name equal to another entity's
398
+ // op-type name, emit DUPLICATE top-level type declarations: a redeclaration
399
+ // compile error in go/rust/c/cpp/csharp and the JVM containers, silent
400
+ // merging in ts. The names cannot be auto-renamed here — the generated
401
+ // entity classes and op fragments reference them by token — so the guard
402
+ // surfaces the collision loudly instead. Returns the sorted duplicate names
403
+ // (empty when clean). `Name` is derived here (deriveEntityNames), so the
404
+ // guard cannot be silently disabled by running before an emitter.
405
+ //
406
+ // Memoised per entity-collection object, like entityClassNames.
407
+ const _typeCollisionCache = new WeakMap<object, string[]>()
408
+
409
+ function entityTypeCollisions(entityColl: any): string[] {
410
+ const cached = _typeCollisionCache.get(entityColl)
411
+ if (null != cached) {
412
+ return cached
413
+ }
414
+
415
+ const counts: Record<string, number> = {}
416
+ const bump = (n: string) => { counts[n] = (counts[n] || 0) + 1 }
417
+
418
+ deriveEntityNames(entityColl)
419
+ .forEach((e: any) => {
420
+ bump(e.Name)
421
+ for (const op of ['load', 'list', 'create', 'update', 'remove']) {
422
+ if (e.op && e.op[op]) {
423
+ bump(opTypeName(e.Name, op))
424
+ }
425
+ }
426
+ })
427
+
428
+ const out = Object.keys(counts).filter((n) => 1 < counts[n]).sort()
429
+ _typeCollisionCache.set(entityColl, out)
430
+ return out
431
+ }
432
+
433
+
434
+ // Emitter convenience: warn (once per collection per target run) when the
435
+ // generated typed model would contain duplicate top-level type names.
436
+ function warnEntityTypeCollisions(entityColl: any, log: any, lang: string): string[] {
437
+ const dups = entityTypeCollisions(entityColl)
438
+ if (0 < dups.length && log && log.warn) {
439
+ log.warn({
440
+ point: 'entity-types-name-collision', lang, names: dups,
441
+ note: `${lang}: duplicate generated type name(s) ${dups.join(', ')} — ` +
442
+ `two entities produce the same PascalCase type name; rename one ` +
443
+ `entity (or alias it) in the model or the generated typed model ` +
444
+ `will not compile in statically-typed targets`,
445
+ })
446
+ }
447
+ return dups
448
+ }
449
+
450
+
308
451
  // Pick a representative entity for a single illustrative snippet (e.g. the
309
452
  // README's test-mode example): the first ACTIVE entity that exposes a read
310
453
  // op (list/load) so the snippet is meaningful, else the first with ANY
@@ -315,16 +458,55 @@ function entityClassName(ent: any, entityColl: any): string {
315
458
  // for deterministic output.
316
459
  function pickExampleEntity(entity: any): { entity: any, primaryOp: string | null } {
317
460
  const actives = each(entity).filter((e: any) => e && e.active !== false)
318
- const readable = actives.find((e: any) => {
461
+ const readable = actives.filter((e: any) => {
319
462
  const op = entityPrimaryOp(e)
320
463
  return 'list' === op || 'load' === op
321
464
  })
322
- const withOp = actives.find((e: any) => null != entityPrimaryOp(e))
323
- const chosen = readable || withOp || actives[0] || null
465
+ const withOp = actives.filter((e: any) => null != entityPrimaryOp(e))
466
+ // Prefer a readable entity, then any entity with an op, then anything at all.
467
+ // WITHIN the chosen tier pick an entity of MEDIAN "size" — median name length
468
+ // and median field count — so the generated README/examples showcase a
469
+ // representative entity, not the alphabetically-first one (often a degenerate
470
+ // stub with a terse name and no fields) nor an atypically sprawling one.
471
+ const pool = readable.length ? readable : (withOp.length ? withOp : actives)
472
+ const chosen = pickMedianEntity(pool)
324
473
  return { entity: chosen, primaryOp: null == chosen ? null : entityPrimaryOp(chosen) }
325
474
  }
326
475
 
327
476
 
477
+ // The pool entity closest to the median on both axes (name length, field
478
+ // count). Distance on each axis is normalised by that axis's own median so the
479
+ // two are comparable, then summed. Ties keep the pool's existing key-sorted
480
+ // order (each() is byte-stable), so the pick is deterministic.
481
+ function pickMedianEntity(pool: any[]): any {
482
+ if (0 === pool.length) return null
483
+ if (1 === pool.length) return pool[0]
484
+ const fieldCount = (e: any): number => (e && e.fields ? each(e.fields).length : 0)
485
+ const nameLen = (e: any): number => (e && e.name ? String(e.name).length : 0)
486
+ const medName = medianOf(pool.map(nameLen))
487
+ const medField = medianOf(pool.map(fieldCount))
488
+ let best = pool[0]
489
+ let bestScore = Infinity
490
+ for (const e of pool) {
491
+ const score =
492
+ Math.abs(nameLen(e) - medName) / (medName || 1) +
493
+ Math.abs(fieldCount(e) - medField) / (medField || 1)
494
+ if (score < bestScore) {
495
+ bestScore = score
496
+ best = e
497
+ }
498
+ }
499
+ return best
500
+ }
501
+
502
+
503
+ function medianOf(xs: number[]): number {
504
+ const s = xs.slice().sort((a, b) => a - b)
505
+ const m = Math.floor(s.length / 2)
506
+ return 0 === s.length ? 0 : (s.length % 2 ? s[m] : (s[m - 1] + s[m]) / 2)
507
+ }
508
+
509
+
328
510
  // The id field on the entity's DATA type (its fields[]), or null. DISTINCT from
329
511
  // entityIdField (the load-MATCH key): an API can model a load match that carries
330
512
  // an `id` param while the response entity itself has no `id` field, so `.id`
@@ -347,6 +529,8 @@ function entityDataIdField(ent: any): string | null {
347
529
 
348
530
  export {
349
531
  OP_SUFFIX,
532
+ deriveEntityNames,
533
+ entityCollection,
350
534
  opTypeName,
351
535
  opParams,
352
536
  opRequestShape,
@@ -356,6 +540,8 @@ export {
356
540
  entityPrimaryOp,
357
541
  pickExampleEntity,
358
542
  entityClassName,
543
+ entityTypeCollisions,
544
+ warnEntityTypeCollisions,
359
545
  }
360
546
 
361
547
  export type {
package/src/sdkgen.ts CHANGED
@@ -5,7 +5,7 @@ import Path from 'node:path'
5
5
 
6
6
  import { prettyPino, Pino } from '@voxgig/util'
7
7
 
8
- import { Jsonic } from 'jsonic'
8
+ import { Jsonic } from '@tabnas/jsonic'
9
9
  import * as JostracaModule from 'jostraca'
10
10
  import { Aontu } from 'aontu'
11
11
 
@@ -51,8 +51,8 @@ import { getMatchEntries } from './helpers/getMatchEntries'
51
51
  import { collectDeps } from './helpers/collectDeps'
52
52
  import type { DepEntry } from './helpers/collectDeps'
53
53
  import { canonToType, canonKey } from './helpers/canonType'
54
- import { OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, pickExampleEntity, entityClassName } from './helpers/opShape'
55
- import { isReservedName, safeVarName } from './helpers/naming'
54
+ import { OP_SUFFIX, opTypeName, opParams, opRequestShape, entityIdField, entityDataIdField, entityOps, entityPrimaryOp, pickExampleEntity, entityClassName, entityTypeCollisions, warnEntityTypeCollisions, deriveEntityNames, entityCollection } from './helpers/opShape'
55
+ import { isReservedName, safeVarName, exampleVarName, isRbCoreConstant, rbSafeTypeName, jsProp, jsOptProp, jsKey } from './helpers/naming'
56
56
  import {
57
57
  packageName,
58
58
  installCommand,
@@ -471,8 +471,18 @@ export {
471
471
  entityPrimaryOp,
472
472
  pickExampleEntity,
473
473
  entityClassName,
474
+ entityTypeCollisions,
475
+ warnEntityTypeCollisions,
476
+ deriveEntityNames,
477
+ entityCollection,
474
478
  isReservedName,
475
479
  safeVarName,
480
+ exampleVarName,
481
+ isRbCoreConstant,
482
+ rbSafeTypeName,
483
+ jsProp,
484
+ jsOptProp,
485
+ jsKey,
476
486
 
477
487
  packageName,
478
488
  installCommand,
package/src/tsconfig.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "esModuleInterop": true,
4
+ "composite": true,
4
5
  "module": "nodenext",
5
6
  "noEmitOnError": true,
6
7
  "skipLibCheck": true,
@@ -10,6 +11,7 @@
10
11
  "sourceMap": true,
11
12
  "strict": true,
12
13
  "target": "es2021",
14
+ "types": ["node"],
13
15
  "declaration": true,
14
16
  "declarationDir": "../dist"
15
17
  }
@@ -1,11 +0,0 @@
1
- .{
2
- .name = "voxgig_sdk",
3
- .version = "0.0.1",
4
- .dependencies = .{},
5
- .paths = .{
6
- "src",
7
- "test",
8
- "build.zig",
9
- "build.zig.zon",
10
- },
11
- }